JP2011010206A - 通信装置及びその制御方法、並びにプログラム - Google Patents

通信装置及びその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2011010206A
JP2011010206A JP2009153931A JP2009153931A JP2011010206A JP 2011010206 A JP2011010206 A JP 2011010206A JP 2009153931 A JP2009153931 A JP 2009153931A JP 2009153931 A JP2009153931 A JP 2009153931A JP 2011010206 A JP2011010206 A JP 2011010206A
Authority
JP
Japan
Prior art keywords
transmission
data
source address
communication
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009153931A
Other languages
English (en)
Other versions
JP2011010206A5 (ja
JP5279633B2 (ja
Inventor
Takehiro Wada
雄弘 和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009153931A priority Critical patent/JP5279633B2/ja
Priority to US12/826,045 priority patent/US20100332681A1/en
Priority to CN201010215096.5A priority patent/CN101938527B/zh
Publication of JP2011010206A publication Critical patent/JP2011010206A/ja
Publication of JP2011010206A5 publication Critical patent/JP2011010206A5/ja
Application granted granted Critical
Publication of JP5279633B2 publication Critical patent/JP5279633B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】本発明は、複数の送信元アドレスが割り当てられている場合でも適切な送信元アドレスを選択することができ、通信処理中の送信元アドレスの変更に伴う通信エラーを削減することができる通信装置を提供する。
【解決手段】クライアントPC100は、送信される送信データの種別を識別するためのデータ識別、送信されるデータの宛先アドレス、および送信されるデータの送信元アドレスを含む送信情報404を管理する送信情報管理部402と、送信情報404を参照し、送信されるデータの種別及び宛先アドレスに基づいて、複数の送信元アドレスの中から一つの送信元アドレスを決定する送信元アドレス決定部405と、決定された送信元アドレスを用いて送信データを送信する送信部407を備える。
【選択図】図6

Description

本発明は、ネットワーク通信に用いられる複数の送信元アドレスが割り当てられた通信装置及びその制御方法、並びにプログラムに関する。
従来、PC(パーソナルコンピュータ)やプリンタ、MFP(マルチファンクションペリフェラル)などの様々な機器が、イントラネット、インターネット、LAN等のネットワークに接続可能な通信装置として用いられている。ネットワークに接続する通信装置で広く用いられているプロトコルは、一般的に、インターネットプロトコル(IP)である。この方式では、各機器に固有のIPアドレスを割り当ててIPアドレスベースで各機器が識別しあう。
従来のIP規約(IPv4:IPバージョン4)では、ネットワーク上の他の通信装置から識別するためのアドレスは、1つのネットワークインターフェース(I/F)について1つのアドレスが付与される場合が一般的であった。一方、近年普及しつつあるIPv6(IPバージョン6)では、通信装置がルータに接続されると、ルータと通信装置間で通信を行い、通信装置が自動的にIPアドレスを取得する。それらのアドレスとは別に、ルータが存在しない場合も通信を行えるように、ネットワークI/F毎にIPv6アドレスが割り当てられる。さらに、DHCPサーバが存在する場合は、通信装置はDHCPサーバが発行したIPアドレスを取得する。
このように、複数のIPv6アドレスを通信装置の1つのネットワークI/Fに割り当てることが一般的である。このため、IPv6アドレスをサポートする通信装置は、1つのネットワークI/Fに対して、IPv4アドレスや複数のIPv6アドレスが割り当てられる。これらの複数のIPアドレスが割り当てられた通信装置において、適切に通信を行うためのIPアドレス選択方法が提案されている(例えば、非特許文献1参照)。
ところで、複数の通信装置で構成されたネットワークシステムには、クライアントの送信元アドレスに応じて、サーバがサービスを提供するものがある。例えば、クライアントの送信元アドレスによって提供する情報を変えるWebサーバや、クライアントのアドレスベースの認証を行う通信サーバなどである。このようなクライアントのアドレスベースのシステムは、通信プロトコルやアプリケーションの種類に関わらず、広く通信システム一般に使われている(例えば、特許文献1参照)。
特開2001−282728号公報
Internet Engineering Task Force RFC3484 "Default Address Selection for Internet Protocol version 6 (IPv6)"<URL: http://www.ietf.org/rfc/rfc3484.txt>
クライアントの送信元アドレスに応じてサーバがサービスを提供する従来のシステムでは、一連の通信処理中にクライアントが複数の送信元アドレスを利用して通信することがある。この場合、クライアントの送信元アドレスによって提供する情報を変える通信サーバやクライアントのアドレスによって認証を行う通信サーバでは、一連のトランザクションの処理中に送信元アドレスが変わった場合は通信エラーが発生することがある。
RFC3484のソースアドレスセレクションによる送信元アドレスの選択を行った場合でも、ネットワーク環境が動的に変更される。このため、同一の宛先アドレスに対して、常に同じ送信元アドレスが選択されるわけではない。
本発明は、複数の送信元アドレスが割り当てられている場合でも適切な送信元アドレスを選択することができ、通信処理中の送信元アドレスの変更に伴う通信エラーを削減できる通信装置及びその制御方法、並びにプログラムを提供することを目的とする。
上記目的を達成するために、本発明は、ネットワーク通信に用いられる複数の送信元アドレスが割り当てられた通信装置であって、データを送信する送信手段と、前記送信手段により送信されるデータの種別を識別するためのデータ識別、前記送信されるデータの宛先アドレス、および前記送信されるデータの送信元アドレスを含む送信情報を管理する管理手段と、前記送信手段がデータを送信する際に、前記管理手段により管理されている送信情報を参照し、当該送信されるデータの種別及び宛先アドレスに基づいて、前記通信装置に割り当てられた複数の送信元アドレスの中から一つの送信元アドレスを決定する決定手段と、前記決定手段により決定された送信元アドレスを用いて前記データを送信するよう前記送信手段を制御する制御手段とを備えることを特徴とする。
本発明によれば、複数の送信元アドレスが割り当てられている場合でも、通信処理中に適切な送信元アドレスを選択することができ、アドレス選択に起因する通信エラーの発生を低下させることができる。
本発明の第1の実施形態に係る通信装置が設置されたネットワーク環境の一例を示すネットワーク構成図である。 図1におけるクライアントPCの構成例を示すブロック図である。 クライアントPC及びサーバPCの機能構成の概略を示すブロック図である。 図3における送信情報記憶部に記憶された送信情報管理テーブルの一例を示す図である。 図3における送信データ識別情報記憶部に記憶された送信データ識別情報の一例を示す図である。 クライアントPCのクライアント通信制御部における通信処理の流れを示すフローチャートである。 本発明の第2の実施形態におけるクライアントPCのクライアント通信制御部における通信処理の流れを示すフローチャートである。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係る通信装置が設置されたネットワーク環境の一例を示すネットワーク構成図である。
図1において、本発明の実施形態に係る通信装置の一例であるクライアントPC100は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワーク106を介してサーバPC105に接続されている。
クライアントPC100は、ネットワーク106を介して、サーバPC105や不図示の通信装置等と通信を行うためにIPアドレスを保持する。サーバPC105は、クライアントPC100からのリクエストに応答するサービスを提供する。サーバPC105が提供するサービスとしては、例えば、WebやDNS、メール、SNMPエージェント、WS−Eventingなどの機能がある。なお、サーバPC105が提供するサービスについて、IPアドレスを利用する通信であれば、プロトコルの種類を限定するものではない。
クライアントPC100が複数のIPアドレスを保持している場合、通信時に、サーバPC105のアドレス(ディスティネーションアドレス)に応じた、クライアントPC100のアドレスの中から適切なアドレスを選択する必要がある。
図示例では、クライアントPC100、サーバPC105、及びネットワーク106で構成されているが、これ以外のネットワークデバイス、情報処理装置、通信装置が接続されていてもよい。また、クライアントPC100とサーバPC105との間の通信方式については、LAN,WAN以外のネットワークやIEEE802.11などの無線LAN、IEEE1394などであってもよいことは云うまでもない。
図2は、図1のクライアントPC100の構成例を示すブロック図である。
CPU1は、システムバス4に接続された各部を統括的に制御する中央処理装置である。RAM2は、CPU1の主メモリ、ワークエリア等として機能するメモリである。ROM3は、フォント用ROM(不図示)、プログラム用ROM(不図示)、及びデータ用ROM(不図示)などで構成されたメモリである。外部メモリ11はハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等から構成されている。外部メモリ11は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶する。
フォント用ROM或いは外部メモリ11は、後述する文書処理等の際に使用されるフォントデータ等を記憶する。プログラム用ROM或いは外部メモリ11は、CPU1の制御プログラムであるオペレーティングシステム(以下、「OS」と呼ぶ)等を記憶する。データ用ROM或いは外部メモリ11は、後述する文書処理等を行う際に使用する各種データを記憶する。外部メモリ11に記憶されているプログラムは、実行時にRAM2に展開されて実行される。
CPU1は、ROM3のプログラム用ROM又は外部メモリ11に記憶されたアプリケーション(文書処理プログラム等)に基づいて、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理等の各種処理を実行する。また、CPU1は、例えばRAM2上に設定された表示RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRTコントローラ(CRTC)6を介してCRT10に表示する。
キーボードコントローラ(KBC)5は、各種キーを備えるキーボード(KB)9やポインティングデバイス(不図示)からの入力情報を制御する。CRTC6は、CRT10への表示を制御する。CRT10は、図形、イメージ文字、表等を表示する表示装置であり、CRTで構成されているが、液晶やプラズマ等で構成されていてもよい。ディスクコントローラ(DKC)7は、外部メモリ11とのアクセスを制御する。ネットワークコントローラ(NWC)8は、双方向性インタフェース21を介してネットワーク106に接続されている。
CPU1は、CRT10上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは、後述するクライアントアプリケーション101やサーバアプリケーション108を使用する際、その設定などの操作に関するウインドウを開き、設定を行うことができる。
なお、図1のサーバPC105も図示例と同様の構成を有するものとし、その説明は省略する。
図3は、クライアントPC100及びサーバPC105の機能構成の概略を示すブロック図である。
クライアントPC100では、クライアントアプリケーション101からのリクエストにより、クライアント通信制御部102及び通信ライブラリ103を介してサーバPC105と通信を行う。なお、図示例では、クライアントアプリケーション101のみが動作しているが、複数のクライアントアプリケーションが動作していてもよい。
クライアントアプリケーション101はクライアント通信制御部102との間で通信を行う。クライアント通信制御部102は、OSの通信ライブラリ103を介してサーバPC105と通信を行う。通信ライブラリ103はソケット通信を行うが、RPC(Remote Procedure Call)やLPC(Local Procedure Call)、Webサービス等による通信も行うことができる。
サーバPC105では、サーバアプリケーション108が動作している。サーバアプリケーション108は、サーバ通信制御部107との間で通信を行う。サーバ通信制御部107は、通信ライブラリ104からネットワーク106を介して、クライアントPC100と通信を行う。
クライアント通信制御部102は、通信制御部401、送信情報管理部402、送信情報記憶部403、送信情報管理テーブル404、送信元アドレス決定部405、送信データ識別情報記憶部406、及び送信部407で構成される。
通信制御部401は、クライアント通信制御部102を構成する各部を利用して送信情報の取得と送信元アドレスの判定を行い、その判定結果に応じて、通信に利用する送信元アドレスを決定する。そして、クライアントPC100とサーバPC105との通信制御が行われる。
送信情報管理部402は、送信データ及び通信で利用するアドレスの取得及び管理を行う。送信情報管理部402が取得する情報には、例えば、クライアント通信制御部102を利用するクライアントアプリケーションを識別するためのアプリケーション識別がある。また、送信データの種別を識別するための送信データ識別がある。また、送信データの宛先アドレスとしてIPアドレスとポート番号がある。さらに、送信データの送信元アドレスとしてIPアドレスとポート番号がある。
送信情報記憶部403は、送信情報管理部402が取得した送信データ情報及び各アドレス情報を送信情報管理テーブル404として記憶する。送信情報管理テーブル404の一例を図4に示す。なお、送信情報記憶部403は、実際には外部メモリ11等に設定された記憶領域であり、該記憶領域に送信情報管理テーブル404が記憶されるものとする。
送信元アドレス決定部405は、ネットワーク通信に用いられる送信元アドレスを決定する。送信元アドレスの決定は、送信情報記憶部403の送信情報管理テーブル404内に該当する送信情報が無い場合は、RFC3484のソースアドレスセレクションに従って行われる。一方、送信情報記憶部403の送信情報管理テーブル404内に該当する送信情報が有る場合、送信元アドレス決定部405は、過去に行ったデータ送信で用いた送信元アドレスを今回の通信で用いる送信元アドレスとして決定する。
送信データ識別情報記憶部406は、同一の送信元アドレスを用いて送信する必要がある送信データを判定するための送信データ識別情報408を記憶する。送信データ識別情報記憶部406が記憶する送信データ識別情報の一例を図5に示す。
送信部407は、クライアントアプリケーション101の指示により、宛先アドレスに送信データを送信する。このとき、送信元アドレス決定部405の決定した送信元アドレスを利用してデータ送信を行う。送信部407は、送信データの送信に非コネクション型プロトコルを利用してもよい。また、非コネクションプロトコルはUDPプロトコルであってもよい。
図4は、図3における送信情報記憶部403に記憶された送信情報管理テーブル404の一例を示す図である。
図4において、送信情報管理テーブル404は、送信情報管理部402により管理される管理テーブルである。送信情報管理テーブル404は、管理番号501、アプリケーション識別502、送信データ識別503、宛先アドレス504、送信元アドレス505で構成される。
管理番号501は、送信データ情報及び各アドレス情報が送信情報記憶部403に記憶される際に送信情報管理部402により付与される管理番号である。アプリケーション識別502は、クライアント通信制御部102を利用するクライアントアプリケーションを識別するための識別情報である。送信データ識別503は、送信データを識別するための識別情報である。宛先アドレス504は、送信データの宛先アドレスであり、IPアドレスとポート番号で構成される。送信元アドレス505は、送信データの送信元アドレスであり、IPアドレスとポート番号で構成される。
図示例では、アプリケーション識別502の「アプリケーション1」と、送信データ識別503の「WS-Eventing[Subscribe]」が対応する。さらに、「アプリケーション1」と「WS-Eventing[Subscribe]」の組合せには、宛先アドレス504のIPアドレス[2001:a:b::10]とポート番号[80]、及びIPアドレス[fd00:1:2::100]とポート番号[80]が対応している。
一方、アプリケーション識別502の「アプリケーション1」と、送信データ識別503の「SNMP[GetRequest]」が対応する。さらに、「アプリケーション1」と「SNMP[GetRequest]」の組合せには、宛先アドレス504のIPアドレス[192.168.1.10]とポート番号[161]が対応している。
ここで、アプリケーション1は、例えば、クライアントアプリケーション101に割り当てられた識別情報である。その他のクライアントアプリケーションについては、例えば、アプリケーション2,3,・・・等が割り当てられるものとする。なお、この識別情報の形式については、これに限定されるものではない。
従って、「アプリケーション1」が同一の送信元アドレスから送信する必要がある送信データで「WS-Eventing[Subscribe]」に該当するものを所定の宛先アドレスに送信する場合の送信元アドレスは次のように設定される。すなわち、所定の宛先アドレスがIPアドレス[2001:a:b::10]、ポート番号[80]である場合、送信元アドレスとしてIPアドレス[2001:a:b::200]とポート番号[1025]が設定され、該送信元アドレスを使って通信が行われる。
しかし、「アプリケーション1」が同一の送信元アドレスから送信する必要がある送信データで「WS-Eventing[Subscribe]」に該当するものを送信情報管理テーブル404内の宛先アドレス504に存在しない宛先アドレスに対して送信する場合は以下となる。例えば、宛先アドレスとしてIPアドレス[2001::1000]及びポート番号[80]が宛先アドレス504に存在しなかった場合、RFC3484のソースアドレスセレクションに従って送信元アドレスが決定され、通信(通常の送信)が行われる。そして、送信元アドレスを含む送信情報が送信情報記憶部403の送信情報管理テーブル404に格納される。
また、「アプリケーション1」が同一の送信元アドレスから送信する必要が無い送信データ(送信データ識別503に登録されていないデータ)を送信する場合も同様である。すなわち、RFC3484のソースアドレスセレクションに従って送信元アドレスが決定され、通信(通常の送信)が行われる。この場合は、同一の送信元アドレスから送信する必要が無いため、送信元アドレスを含む送信情報を送信情報記憶部403の送信情報管理テーブル404に格納されない。
図5は、図3における送信データ識別情報記憶部406に記憶された送信データ識別情報408の一例を示す図である。
図5において、送信データ識別情報408は、送信データ識別情報記憶部406に記憶され、同一の送信元アドレスから送信する必要がある送信データ識別と送信データ識別に対応する属性情報をグループ化した管理テーブルである。送信データ識別情報408は、図4における送信データ識別503と、送信データ識別に対応する送信データ属性1_601、送信データ属性2_602、送信データ属性3_603、送信データ属性4_604で構成される。なお、図示例では、4つの送信データ属性1〜4が設定されているが、これに限定されるものではない。
送信データ識別503が「WS-Eventing[Subscribe]」のグループでは、送信データの属性値として、以下のものが対応付けて登録されている。すなわち、送信データ属性1_601に「Subscribe」、送信データ属性2_602に「Renew」、送信データ属性3_603に「GetStatus」、送信データ属性4_604に「Unsubscribe」である。
送信データ中にWS-Eventingのメッセージの「Subscribe」又は「Renew」または「GetStatus」または「Unsubscribe」が含まれている場合は、「同一の送信元アドレスから送信する必要がある送信データ」として送信処理することを意味する。これらの「同一の送信元アドレスから送信する必要がある送信データ」は、他のプロトコル(SNMP、SMTP、HTTPなど)の命令が登録されていてもよい。
また、OSI(Open Systems Interconnection)参照モデルの特定層に限定するものではなく、通信装置が解釈可能な送信データであれば複数階層に渡って登録してもよい。
同一の送信元アドレスから送信する必要がある送信データの登録方法としては、例えば、クライアントアプリケーション101がクライアント通信制御部102経由で送信データ識別情報記憶部406に登録する方法がある。また、サーバPC105のサーバアプリケーション108やサーバ通信制御部107からクライアント通信制御部102経由で登録する方法もあるが、登録方法を限定するものではない。
図6は、クライアントPC100のクライアント通信制御部102における通信処理の流れを示すフローチャートである。本処理は、クライアントアプリケーション101(アプリケーション1)からのデータ送信指示に応じて実行されるサーバPC105へのデータ送信処理の一例である。
ステップS701では、送信元アドレス決定部405は、同一の送信元アドレスから送信する必要がある送信データを決定するために、送信データ識別情報記憶部406から送信データ識別情報408を取得する。例えば、図5では、同一の送信元アドレスから送信する必要がある送信データとして、送信データ識別503の「WS-Eventing[Subscribe]」の属性値が取得できる。WS-Eventing[Subscribe]」の属性値は、送信データ属性1_601「Subscribe」、送信データ属性2_602「Renew」、送信データ属性3_603「GetStatus」、送信データ属性4_604「Unsubscribe」である。また、別の送信データ識別503の「SNMP[GetRequest]」の属性値として、送信データ属性1_601「GetRequest」、送信データ属性2_602「GetNextRequest」、送信データ属性3_603「SetRequest」が取得できる。
次に、ステップS702では、送信情報管理部402は、ステップS701で取得した送信データ識別情報を参照し、クライアントアプリケーション101が送信指示した送信データに、該当する送信データ属性が含まれているか否かを判定する。ステップS702は、属性判定手段の一例である。
ステップS702において、取得した送信データ属性が送信データに含まれていないと判定した場合、送信元アドレス決定部405は、ステップS703の処理を行う。すなわち、送信元アドレス決定部405は、クライアントアプリケーション101が指示した宛先アドレスから、RFC3484のソースアドレスセレクションに従ってデフォルトの送信元アドレスを設定する(ステップS703)。
次に、ステップS704では、送信部407は、ステップS703で設定された送信元アドレスから送信データをサーバPC105に送信して、通信を終了する。
一方、ステップS702で、取得した送信データ属性が送信データに含まれると判定した場合、ステップS705へ移行する。ステップS705では、送信情報管理部402は、送信データ識別情報408から、送信データに含まれる送信データ属性1_601に該当する送信データ識別503を取得する。例えば、送信データがWS-EventingのSubscribeメッセージの場合、図5の送信データ属性1_601の「Subscribe」が該当するため、送信データ識別503のWS-Eventing[Subscribe]を取得する。
次に、ステップS706では、送信元アドレス決定部405は、送信情報記憶部403に記憶された送信情報管理テーブル404を参照し、クライアントアプリケーション101が指示した宛先アドレスに基づいて、ステップS705で取得した送信データ識別503に該当する送信元アドレスを取得する。
次に、ステップS707では、送信元アドレス決定部405は、送信情報管理テーブル404から該当する送信元アドレスを取得できたか否かを判定する。この結果、該当する送信元アドレスが送信情報管理テーブル404に存在せず、送信元アドレスを取得できなかった場合、送信元アドレス決定部405は、ステップS708の処理を行う。すなわち、新規宛先への通信として、クライアントアプリケーション101が指示した宛先アドレスから、RFC3484のソースアドレスセレクションに従ってデフォルトの送信元アドレスを設定する(ステップS708)。
ステップS709では、送信部407は、ステップS708で設定された送信元アドレスから送信データをサーバPC105に送信する。続いて、ステップS710では、送信情報管理部402は、ステップS709で送信部407が送信した送信情報を取得する。
ステップS711では、送信情報管理部402は、ステップS710で取得した送信情報を送信情報記憶部403の送信情報管理テーブル404に格納して、通信を終了する。ステップS711で送信情報管理テーブル404に格納される送信情報には、ステップS705で取得した送信データ識別、クライアントアプリケーション101が指示した宛先アドレス、ステップS708で設定された送信元アドレスが含まれる。
例えば、送信データ識別「WS-Eventing[Subscribe]」のデータを宛先アドレスのIPアドレス[2001::1000]及びポート番号[80]に送信する場合、送信情報管理テーブル404には以下の新規レコードが登録される。すなわち、送信情報管理テーブル404には、新規レコードとして、「アプリケーション1」、「WS-Eventing[Subscribe]」、宛先アドレスのIPアドレス[2001::1000]とポート番号[80]、ステップS709で送信時に利用した送信元アドレスが登録される。ここで、送信データ識別「WS-Eventing[Subscribe]」のデータは、例えば、WS-Eventingの「Subscribe」「Renew」「GetStatus」「Unsubscribe」が含まれるデータである。
ステップS707において送信元アドレス決定部405が送信情報管理テーブル404から該当する送信元アドレスを取得した場合は、送信元アドレス決定部405は、ステップS706で取得されたアドレスを送信元アドレスに設定する(ステップS712)。送信データ識別「WS-Eventing[Subscribe]」のデータを宛先アドレスのIPアドレス[2001:a:b::10]及びポート番号[80]に送信する場合、同一の送信元アドレスのIPアドレス[2001:a:b::200]及びポート番号[1025]を使って通信を行う。ここで、送信データ識別「WS-Eventing[Subscribe]」のデータは、例えばWS-Eventingの「Subscribe」「Renew」「GetStatus」「Unsubscribe」が含まれるデータである。
ステップS713では、送信部407は、ステップS712で設定された送信元アドレスから送信データをサーバPC105に送信し、通信を終了する。
ステップS711において、送信情報管理部402が、送信情報管理テーブル404に、取得した送信データ識別と宛先アドレスに対応する送信元アドレスが存在しなかった場合は、ステップS708で設定された送信元アドレスのみを格納するようにしてもよい。
上記第1の実施形態によれば、サーバPCがクライアントPCの送信元アドレスに応じてサービスを提供する通信システムにおいて、クライアントPCが複数の送信元アドレスを保持している場合でも、適切な送信元アドレスを選択することが可能となる。また、通信処理中の送信元アドレスの変更に伴う通信エラーを削減することができ、ネットワークリソースやPCリソースの効率的な利用を行うことが可能となる。
本実施形態では、送信元アドレスの決定方法の例として、送信情報記憶部403の送信情報管理テーブル404内に該当する送信情報が無い場合は、RFC3484のソースアドレスセレクションに従って決定した。しかし、送信元アドレスの決定方法をこれに限定するものではない。
[第2の実施形態]
本発明の第2の実施の形態に係る通信装置は、その構成(図1〜図3)が上記第1の実施の形態に係る通信装置と同じであり、第1の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。以下に、上記第1の実施の形態と異なる点のみを説明する。
上記第1の実施形態では、クライアントアプリケーションが送信データ識別情報記憶部に登録されている送信データ属性を、IPアドレスとポート番号が異なる宛先アドレスに送信部が初回送信したときに、送信情報管理テーブルに送信元アドレスが登録される。
しかしながら、最初に送信したときの送信元アドレスは、通信装置のアドレス変更などにより無効になる場合などが考えられる。送信元アドレスが登録される状態で通信障害が発生した場合は、他の送信元アドレスでの通信が可能な場合も、その送信元アドレスを使い続けると通信ができなくなる。
そこで、本第2の実施形態では、そのような通信エラー時でも、通信可能な送信元アドレスが存在する場合は、通信を可能とする通信装置について説明する。
図7は、本発明の第2の実施形態におけるクライアントPC100のクライアント通信制御部102における通信処理の流れを示すフローチャートである。なお、図示のステップS701〜S713は、図6におけるステップS701〜S713と同じであるため、同じステップ番号を付して、それらの説明を省略する。
図7において、ステップS713では、送信部407は、ステップS712で設定された送信元アドレスから送信データをサーバPC105に送信する。このとき、送信部407は、OSの通信ライブラリ103から送信結果を取得する。
次に、ステップS801では、送信部407は、ステップS713で取得した送信結果から通信エラー有無の判定を行う。ステップS801は、通信エラー判定手段の一例である。ステップS801の判定の結果、通信エラーが無いと判定した場合は、送信部407は、通信を終了する。
一方、ステップS801で通信エラーが有ると判定した場合は、送信部407は、送信情報管理テーブル404から該当するレコード(送信データ識別503、宛先アドレス504、送信元アドレス505)を削除する(ステップS802)。そして、ステップS708へ移行する。
上記処理により、クライアントアプリケーション101が、同一の送信データ識別、同一の宛先アドレスに対して、データ再送要求又は新規に送信データを送信する場合、通信可能な送信元アドレスが1つ以上あれば、通信障害発生時でも通信を継続できる。
また、通信制御部401は、通信障害やクライアントPC100のアドレス変更等に伴い、同一の送信データ識別及び宛先アドレスに対する送信元アドレスが変更された場合は、以下にようにしてもよい。すなわち、通信制御部401が、通信セッション途中で送信元アドレスが変更されたことを、クライアントアプリケーション101に通知することで、ユーザ又は通信システムに知らせることも可能である。
上記実施形態では、ステップS801における通信エラー有無の判定に応じて、送信情報管理テーブル404から該当する通信セッションを削除する構成について説明した。しかしながら、通信エラー有無の判定だけではなく、クライアント通信制御部102がクライアントアプリケーション101から通信の開始や終了要求を受け、削除要求時に送信情報管理テーブル404から該当する通信セッションの削除を行ってもよい。また、送信部407によるデータ送信時から所定時間経過後に該当する通信セッションの削除を行ってもよい。さらに、送信部407から送信回数が設定回数を超えた場合に該当通信セッションの削除を行ってもよい。これらの該当する通信セッションの削除は、送信情報管理テーブル404から該当するレコード(送信データ識別503、宛先アドレス504、送信元アドレス505)を削除することを意味する。
上記第2の実施形態によれば、上記第1の実施形態における効果と同一の効果を奏することができる。さらに、設定した送信元アドレスへのデータ送信に対する通信エラーの有無に応じて、送信情報管理テーブル404から該当するレコードを削除する。これにより、通信エラーの発生によるネットワークリソースを削減すると共に、信頼性の高い、効率的な通信装置を提供することができる。
上記第1及び第2の実施形態で説明した送信元アドレス選択方法として、クライアントのRFC3484で規定するPolicy Tableを設定する方法やルーティングテーブルを設定する方法などがあるが、特定の方法に限定するものではない。
また、上記第1及び第2の実施形態では、OSI参照モデルの第3層、ネットワーク層、IPアドレスの送信元アドレスの選択例を示した。同様に、OSI参照モデルの第4層以上のレイヤに送信元アドレス情報を含む場合も送信元アドレス選択時においても適用可能である。
また、上記第1及び第2の実施形態では、本発明を単一の装置に適用した形態について説明したが、複数の機器から構成されるシステムに適用してもよい。また、上述した本発明の機能が実現されるのであれば、クライアントPC100及びサーバPC105でのプログラムの動作を、プリンタやMFP(マルチファンクションペリフェラル)上のCPU、RAM,ROMで実行してもよいことは言うまでもない。
本発明の実施の形態は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア(プログラム)をパーソナルコンピュータ(CPU,プロセッサ)にて実行することでも実現できる。
100 クライアントPC
105 サーバPC
106 ネットワーク
101 クライアントアプリケーション
102 クライアント通信制御部
401 通信制御部
402 送信情報管理部
403 送信情報記憶部
405 送信元アドレス決定部
406 送信データ識別情報記憶部

Claims (8)

  1. ネットワーク通信に用いられる複数の送信元アドレスが割り当てられた通信装置であって、
    データを送信する送信手段と、
    前記送信手段により送信されるデータの種別を識別するためのデータ識別、前記送信されるデータの宛先アドレス、および前記送信されるデータの送信元アドレスを含む送信情報を管理する管理手段と、
    前記送信手段がデータを送信する際に、前記管理手段により管理されている送信情報を参照し、当該送信されるデータの種別及び宛先アドレスに基づいて、前記通信装置に割り当てられた複数の送信元アドレスの中から一つの送信元アドレスを決定する決定手段と、
    前記決定手段により決定された送信元アドレスを用いて前記データを送信するよう前記送信手段を制御する制御手段とを備えることを特徴とする通信装置。
  2. 前記管理手段は、前記送信手段がデータを送信した後、当該送信されたデータから、データ識別、宛先アドレス、および送信元アドレスを含む送信情報を取得し、当該取得した送信情報を管理することを特徴とする請求項1記載の通信装置。
  3. 同一の送信元アドレスを用いて送信する必要があるデータを判定するためのデータ識別と当該データ識別に対応する属性情報とを対応付けて記憶する記憶手段と、
    前記記憶手段に記憶された情報を参照し、前記送信手段により送信されるデータに前記属性情報が含まれているか否かを判定する属性判定手段とをさらに備え、
    前記決定手段は、前記属性判定手段により前記送信されるデータに前記属性情報が含まれていないと判定された場合は、予め設定された送信元アドレスを設定することを特徴とする請求項1または2記載の通信装置。
  4. 前記決定手段は、前記属性判定手段により前記送信されるデータに前記属性情報が含まれていると判定された場合は、当該属性情報に該当するデータ識別と前記送信されるデータの宛先アドレスとに基づいて、前記管理手段により管理されている送信情報から該当する送信元アドレスを決定することを特徴とする請求項3記載の通信装置。
  5. 前記送信手段により送信されたデータに対して通信エラーが発生したか否かを判定する通信エラー判定手段をさらに備え、
    前記管理手段は、前記通信エラー判定手段により通信エラーが発生したと判定された場合、当該管理手段が管理している送信情報から該当する送信情報を削除することを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
  6. 前記管理手段は、データの送信から所定時間経過後または送信回数が設定回数を超えた場合または削除要求時に、前記管理手段が管理している送信情報から該当する送信情報を削除することを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
  7. ネットワーク通信に用いられる複数の送信元アドレスが割り当てられた通信装置の制御方法であって、
    データを送信する送信工程と、
    前記送信工程で送信されるデータの種別を識別するためのデータ識別、前記送信されるデータの宛先アドレス、および前記送信されるデータの送信元アドレスを含む送信情報を管理する管理工程と、
    前記送信工程でデータを送信する際に、前記管理工程で管理された送信情報を参照し、当該送信されるデータの種別及び宛先アドレスに基づいて、前記通信装置に割り当てられた複数の送信元アドレスの中から一つの送信元アドレスを決定する決定工程と、
    前記決定工程で決定された送信元アドレスを用いて前記データを送信するよう前記送信工程を制御する制御工程とを備えることを特徴とする制御方法。
  8. 請求項7に記載の制御方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
JP2009153931A 2009-06-29 2009-06-29 通信装置及びその制御方法、並びにプログラム Expired - Fee Related JP5279633B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009153931A JP5279633B2 (ja) 2009-06-29 2009-06-29 通信装置及びその制御方法、並びにプログラム
US12/826,045 US20100332681A1 (en) 2009-06-29 2010-06-29 Communication apparatus capable of selecting a proper source address from a plurality of source addresses assigned thereto, method of controlling the same, and storage medium
CN201010215096.5A CN101938527B (zh) 2009-06-29 2010-06-29 通信装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009153931A JP5279633B2 (ja) 2009-06-29 2009-06-29 通信装置及びその制御方法、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2011010206A true JP2011010206A (ja) 2011-01-13
JP2011010206A5 JP2011010206A5 (ja) 2012-08-09
JP5279633B2 JP5279633B2 (ja) 2013-09-04

Family

ID=43381971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009153931A Expired - Fee Related JP5279633B2 (ja) 2009-06-29 2009-06-29 通信装置及びその制御方法、並びにプログラム

Country Status (3)

Country Link
US (1) US20100332681A1 (ja)
JP (1) JP5279633B2 (ja)
CN (1) CN101938527B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267665A2 (en) 2016-07-04 2018-01-10 Canon Kabushiki Kaisha Communication apparatus, control method, program and computer-readable storage medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11038834B2 (en) * 2018-01-31 2021-06-15 Hewlett Packard Enterprise Development Lp Selecting an external link of a plurality of external links
CN109756708B (zh) * 2018-12-28 2021-05-14 深圳英飞拓智能技术有限公司 音视频数据的续传方法及装置
JP7215381B2 (ja) * 2019-09-20 2023-01-31 トヨタ自動車株式会社 制御装置及び通信方法
CN114785828B (zh) * 2022-04-22 2023-05-02 珠海格力电器股份有限公司 数据通信方法、专用设备、电器装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005045472A (ja) * 2003-07-28 2005-02-17 Hitachi Ltd 端末及びアドレス生成方法
JP2008035572A (ja) * 2007-10-26 2008-02-14 Ntt Docomo Inc ルータ装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085267B2 (en) * 2001-04-27 2006-08-01 International Business Machines Corporation Methods, systems and computer program products for translating internet protocol (IP) addresses located in a payload of a packet
US6909713B2 (en) * 2001-09-05 2005-06-21 Intel Corporation Hash-based data frame distribution for web switches
JP3715954B2 (ja) * 2002-07-12 2005-11-16 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム、ネットワークシステム
JP2006086800A (ja) * 2004-09-16 2006-03-30 Fujitsu Ltd ソースアドレスを選択する通信装置
JP4812108B2 (ja) * 2006-12-18 2011-11-09 キヤノン株式会社 通信装置及びその制御方法
US8045589B2 (en) * 2007-04-26 2011-10-25 Kyocera Corporation Radio communication system with data structure change
JP2009111437A (ja) * 2007-10-26 2009-05-21 Hitachi Ltd ネットワークシステム
JP4780093B2 (ja) * 2007-11-27 2011-09-28 コニカミノルタビジネステクノロジーズ株式会社 データ通信システム、アドレス管理装置、データ通信装置、アドレス管理方法およびアドレス管理プログラム
US8447846B2 (en) * 2010-08-06 2013-05-21 International Business Machines Corporation Using unique local unicast addresses in a global domain name server by providing a centralized registry

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005045472A (ja) * 2003-07-28 2005-02-17 Hitachi Ltd 端末及びアドレス生成方法
JP2008035572A (ja) * 2007-10-26 2008-02-14 Ntt Docomo Inc ルータ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267665A2 (en) 2016-07-04 2018-01-10 Canon Kabushiki Kaisha Communication apparatus, control method, program and computer-readable storage medium

Also Published As

Publication number Publication date
US20100332681A1 (en) 2010-12-30
CN101938527A (zh) 2011-01-05
JP5279633B2 (ja) 2013-09-04
CN101938527B (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
JP5743589B2 (ja) Webサービスシステム、サーバ管理装置およびWebサービス提供方法
JP6059037B2 (ja) 通信システム、クライアント装置、サーバ装置、通信方法、及びプログラム
JP4974657B2 (ja) 管理装置及び方法
JP2008181427A (ja) シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム
JP2012037944A (ja) 画像形成装置、代行運転システム、画像形成装置の制御方法、プログラム
US20090193133A1 (en) Network device management apparatus, control method therefor, network system, and storage medium
JP5425320B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP5279633B2 (ja) 通信装置及びその制御方法、並びにプログラム
JP2008187425A (ja) 中継装置、プログラム及び中継方法
JP2012146197A (ja) 印刷支援装置及び印刷システム並びに印刷支援プログラム
WO2017067464A1 (zh) 获取资源的方法及装置
JP4775437B2 (ja) ソフトウェアをインストールするためのコンピュータプログラム
JP6039446B2 (ja) Webサーバ装置、制御方法、そのプログラム。
JP2007257525A (ja) デバイス管理装置
JP2017105057A (ja) 画像形成装置、省エネ状態管理方法、プログラム、及び画像形成システム
JP5473248B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP5638063B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP5305896B2 (ja) 通信装置、通信装置の制御方法、及びプログラム
JP2007174201A (ja) 情報処理装置及び通信方法及びプログラム
JP5169461B2 (ja) セキュリティパラメータ配布装置及びセキュリティパラメータ配布方法
Cisco Configuring the TN3270 Server
US20150081867A1 (en) Obtaining a mac address from an external source
JP5611422B2 (ja) 通信装置、通信装置の制御方法、プログラム、及びシステム
JP2015114878A (ja) 通信装置、通信制御方法、プログラム及び記憶媒体
US20100312867A1 (en) Device management apparatus, control method, and storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120627

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130321

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130521

R151 Written notification of patent or utility model registration

Ref document number: 5279633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees