(57)【要約】【課題】選択されるアドレスの用途に応じて、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを優先して選択する仕組みを提供することを目的とする。【解決手段】複数のアドレスを有し、当該複数のアドレスの中から選択されたいずれかのアドレスを用いてサーバと通信するクライアントにおいて、次の判定を行う。複数のアドレスの中からサーバとの通信に使用するアドレスを選択する際に、選択されるアドレスの用途を判定する（ステップＳ４０４）。アドレスの用途が特定の用途である場合は、次のように制御する。複数のアドレスのそれぞれに関する属性情報に基づいて、複数のアドレスのうち、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを優先して選択するよう制御する（ステップＳ４０５）。【選択図】図４
2010157798.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレスを有し、当該複数のアドレスの中から選択されたいずれかのアドレスを用いて外部装置と通信する通信装置であって、
前記複数のアドレスのそれぞれに関する属性情報を取得する取得手段と、
前記取得手段が取得した属性情報に基づいて、前記複数のアドレスのうち、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを識別する識別手段と、
前記複数のアドレスの中から、前記外部装置との通信に使用するアドレスを選択する選択手段と、
前記選択手段が前記外部装置との通信に使用するアドレスを選択する際に、当該選択されるアドレスの用途を判定する判定手段と、
前記判定手段による判定の結果、前記選択されるアドレスの用途が特定の用途である場合に、前記複数のアドレスのうち、前記識別手段が識別したアドレスを優先して選択するよう前記選択手段を制御する制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記複数のアドレスの優先順位を決定する決定手段を更に備え、
前記制御手段は、前記選択されるアドレスの用途が前記特定の用途である場合に、前記識別手段が識別したアドレスの中から、前記決定手段が決定した優先順位に従ってアドレスを選択するよう前記選択手段を制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記取得手段が取得した属性情報を保持する保持手段を更に備え、
前記識別手段は、前記保持手段により保持されている属性情報に基づいて、前記アドレスの識別を行うことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記特定の用途とは、前記選択手段により選択されたアドレスを前記通信装置のアドレスとして前記外部装置に登録することであることを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記外部装置で発生したイベントを通知することを該外部装置に対して要求する要求手段を更に備え、
前記特定の用途とは、前記選択手段により選択されたアドレスを前記イベントの通知先として前記外部装置に登録することであることを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項６】
前記選択手段により選択されるアドレスの用途には、当該選択されるアドレスを前記通信装置から前記外部装置に送信するデータのソースアドレスとして使用することが含まれることを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記判定手段は、前記選択手段により選択されるアドレスの用途を、ユーザからの指示に従って判定することを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記識別手段は、前記複数のアドレスのうち、所定の形式に従ったアドレスでないアドレスを、有効期間を延長することができない匿名アドレスであると識別することを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
複数のアドレスを有し、当該複数のアドレスの中から選択されたいずれかのアドレスを用いて外部装置と通信する通信装置の制御方法であって、
前記複数のアドレスのそれぞれに関する属性情報を取得する取得工程と、
前記取得工程で取得した属性情報に基づいて、前記複数のアドレスのうち、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを識別する識別工程と、
前記複数のアドレスの中から、前記外部装置との通信に使用するアドレスを選択する選択工程と、
前記選択工程で前記外部装置との通信に使用するアドレスを選択する際に、当該選択されるアドレスの用途を判定する判定工程と、
前記判定工程における判定の結果、前記選択されるアドレスの用途が特定の用途である場合に、前記複数のアドレスのうち、前記識別工程で識別したアドレスを優先して選択するよう前記選択工程を制御する制御工程と、
を備えることを特徴とする通信装置の制御方法。
【請求項１０】
請求項９に記載の通信装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項９に記載の通信装置の制御方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアドレスを有し、当該複数のアドレスの中から選択されたいずれかのアドレスを用いて外部装置と通信する通信装置、その通信装置の制御方法、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
従来、イントラネットやインターネット等のネットワークを介して通信を行う機能を備える機器としては、パーソナルコンピュータ、プリンタ、複合機（Multi Function Peripheral）等の各種の機器が存在する。現在、ネットワークを介した通信が可能な機器で広く用いられているプロトコルは、インターネットプロトコルである。インターネットプロトコルを用いる方式では、各機器に固有のアドレス（ＩＰアドレス）を割り当ててＩＰアドレスベースで各機器が識別し合う方式をとっている。
【０００３】
従来のＩＰ規約であるＩＰｖ４（ＩＰバージョン４）では、ネットワーク接続により通信を行う端末が通信相手を識別するためのアドレスは、１つのネットワークインタフェースに対して１つのアドレスが付与されていた。
【０００４】
他方、近年普及しつつあるＩＰｖ６（ＩＰバージョン６）では、１つのネットワークインタフェースに対して複数のアドレスが付与される場合がある。１つのネットワークインタフェースに付与される複数のアドレスには、具体的に以下に示すような種別のアドレスが含まれる。
・端末がルータに接続された場合に、端末がルータとの間で通信を行い自動的に取得されるＩＰアドレス（ステートレスアドレス）（非特許文献１参照）。
・端末のプライバシを保護するためのＩＰアドレス（プライバシーアドレス）（非特許文献２、非特許文献３参照）。
・ネットワークインタフェース毎に固有に割り当てられるＩＰアドレス（リンクローカルアドレス）。
・ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバにより発行されたＩＰアドレス（非特許文献４参照）。
【０００５】
このように、ＩＰｖ６アドレスをサポートする機器（通信装置）は、１つのネットワークインタフェースに対して、ＩＰｖ４アドレスや複数の種別のＩＰｖ６アドレスが割り当てられる場合がある。
【０００６】
また更に、上記のような複数のＩＰアドレスを有する機器（通信装置）において、通信を行うためのＩＰアドレスを選択する方法が知られている（非特許文献５参照）。
【非特許文献１】Internet Engineering Task Force RFC2462 “IPv6 Stateless Address Auto-configuration”  <URL: http://www.ietf.org/rfc/rfc2462.txt>
【非特許文献２】Internet Engineering Task Force RFC3041 “Privacy Extensions for Stateless Address Auto-configuration in IPv6”  <URL: http://www.ietf.org/rfc/rfc3041.txt>
【非特許文献３】Internet Engineering Task Force RFC4941 “Privacy Extensions for Stateless Address Auto-configuration in IPv6”  <URL: http://www.ietf.org/rfc/rfc4941.txt>
【非特許文献４】Internet Engineering Task Force RFC3315 “Dynamic Host Configuration Protocol for IPv6”  <URL: http://www.ietf.org/rfc/rfc3315.txt>
【非特許文献５】Internet Engineering Task Force RFC3484 “Default Address Selection for Internet Protocol version 6”   <URL: http://www.ietf.org/rfc/rfc3484.txt>
【発明の開示】
【発明が解決しようとする課題】
【０００７】
１つの機器が複数のＩＰアドレスを有する場合に、外部装置との通信に用いるアドレスを選択する方法として、上述した非特許文献５（RFC3484）に示されているように、例えばプレフィックス長に基づいてアドレスを選択する方法がある。
【０００８】
しかしながら、アドレスの種別によっては、（１）有効期間が設定されているが有効期間を延長することが可能なもの、（２）有効期間が設定されており且つ有効期間を延長することができないもの、（３）有効期間が設定されていないもの、が存在する。
【０００９】
そして、複数のアドレスの中から、RFC3484に従ってアドレスを選択した場合、（２）のように有効期間が設定されており且つ有効期間を延長することができない種別のアドレスが選択されてしまい、問題が生じることがある。
【００１０】
即ち、選択したアドレスを通信装置から外部装置に対して送信するデータのソースアドレスとして使用する場合は、一時的な使用のため、同じアドレスを継続して使用する必要はない。そのため、使用するアドレスが（１）乃至（３）のいずれであっても特に問題は生じない。
【００１１】
しかしながら、例えば、選択したアドレスを外部装置に登録しておいて、後から外部装置がそのアドレスを使用するような場合には、（２）のように有効期間が設定されており且つ有効期間を延長することができない種別のアドレスは適さない。なぜなら、外部装置が実際にアドレスを使用するタイミングになったときには既に有効期間が過ぎていて、他のアドレスに変更されてしまっていた場合、正常に通信することができなくなってしまうからである。
【００１２】
この問題は、特にサーバにおけるイベントの発生をクライアントに対して通知するように予め登録しておくWS-EventingのSubscribeにおいて、イベントの通知先として登録するアドレスを選択する場合に考慮する必要がある。即ち、イベントの通知先として（２）のように有効期間が設定されており且つ有効期間を延長することができない種別のアドレスが登録されてしまうと、有効期間が過ぎた後はイベント通知を依頼した端末はイベント通知を受け取ることができない。また、イベントを通知する側のサーバにとっても、宛先となるアドレスが既に存在していないにも関わらず、その存在していない宛先に対してイベントを通知するという無駄な処理を行わなければならなくなってしまう。
【００１３】
本発明は、上記の問題点に鑑みなされたものであり、選択されるアドレスの用途に応じて、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを優先して選択する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的と達成するために本発明の通信装置は、複数のアドレスを有し、当該複数のアドレスの中から選択されたいずれかのアドレスを用いて外部装置と通信する通信装置であって、前記複数のアドレスのそれぞれに関する属性情報を取得する取得手段と、前記取得手段が取得した属性情報に基づいて、前記複数のアドレスのうち、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを識別する識別手段と、前記複数のアドレスの中から、前記外部装置との通信に使用するアドレスを選択する選択手段と、前記選択手段が前記外部装置との通信に使用するアドレスを選択する際に、当該選択されるアドレスの用途を判定する判定手段と、前記判定手段による判定の結果、前記選択されるアドレスの用途が特定の用途である場合に、前記複数のアドレスのうち、前記識別手段が識別したアドレスを優先して選択するよう前記選択手段を制御する制御手段と、を備えることを特徴とする。
【００１５】
また、本発明の通信装置の制御方法は、複数のアドレスを有し、当該複数のアドレスの中から選択されたいずれかのアドレスを用いて外部装置と通信する通信装置の制御方法であって、前記複数のアドレスのそれぞれに関する属性情報を取得する取得工程と、前記取得工程で取得した属性情報に基づいて、前記複数のアドレスのうち、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを識別する識別工程と、前記複数のアドレスの中から、前記外部装置との通信に使用するアドレスを選択する選択工程と、前記選択工程で前記外部装置との通信に使用するアドレスを選択する際に、当該選択されるアドレスの用途を判定する判定工程と、前記判定工程における判定の結果、前記選択されるアドレスの用途が特定の用途である場合に、前記複数のアドレスのうち、前記識別手段が識別したアドレスを優先して選択するよう前記選択工程を制御する制御工程と、を備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、選択されるアドレスの用途に応じて、有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレスを優先して選択することが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１８】
第１乃至第３の実施形態では、複数のＩＰアドレスを有する機器が外部装置との通信に使用する自身のＩＰアドレスを選択する処理に関して説明する。具体的には、複数のＩＰアドレスを有する機器は、通常はRFC3484に従って決定した優先順位に基づいてアドレスを選択する。しかしながら、特に選択されるアドレスの用途が特定の用途である場合は、より固定的に使用することができるアドレス（有効期間が設定されていない種別のアドレスまたは有効期間を延長することが可能な種別のアドレス）を選択する。
【００１９】
〔第１の実施の形態〕
まず、本実施の形態に係るクライアントＰＣとサーバＰＣの構成を、図１乃至図３を参照しながら詳細に説明する。
【００２０】
図２は、本実施の形態に係るクライアントＰＣとサーバＰＣをネットワークにより接続した構成例を示す概念図である。
【００２１】
図２において、クライアントＰＣ１００とサーバＰＣ１０５は、ＬＡＮ或いはＷＡＮ等のネットワーク１０６を介して通信可能に構成されている。クライアントＰＣ１００は、ネットワーク１０６においてサーバＰＣ１０５を含む各種の機器と通信を行うためにＩＰアドレスを保持している。クライアントＰＣ１００は、複数のＩＰアドレスを保持することが可能である。サーバＰＣ１０５は、クライアントＰＣ１００からネットワーク１０６を介して送信されるリクエストに応答するサービスを提供している。
【００２２】
サーバＰＣ１０５が提供するサービスとしては、例えばWWW（World Wide Web）、DNS（Domain Name System）、電子メールなどがある。また、SNMP（Simple Network Management Protocol）エージェント、WS-Eventingの機能を提供するものでもよい。尚、サーバＰＣ１０５が提供するサービスについて、ＩＰアドレスを利用する通信であれば、プロトコルを限定するものではない。
【００２３】
クライアントＰＣ１００が上記のように複数のＩＰアドレスを保持している場合は、サーバＰＣ１０５と通信する時に、複数のＩＰアドレスの中からサーバＰＣ１０５のアドレス（ディスティネーションアドレス）に応じたアドレスを選択する。ここで選択されたアドレスは、クライアントＰＣ１００からサーバＰＣ１０５に送信されるデータのソースアドレスとして使用される。
【００２４】
また、クライアントＰＣ１００がサーバＰＣ１０５に対してアドレスを登録する場合においても、適切なアドレスを選択する必要がある。例えば、SNMPのTrapやWS-EventingのSubscribeを行う場合に、複数のＩＰアドレスの中からアドレスを選択し、クライアントＰＣ１００のアドレス（イベントの通知先）としてサーバＰＣ１０５に登録する。サーバＰＣ１０５は自装置で発生したイベントを登録されたアドレスに対して通知する。
【００２５】
図３は、クライアントＰＣ１００のハードウエアの構成例を示すブロック図である。
【００２６】
図３において、クライアントＰＣ１００は、ＣＰＵ１、ＲＡＭ２、ＲＯＭ３、システムバス４、キーボード制御部５、表示制御部６、記憶制御部７、ネットワーク制御部８を備えている。更に、クライアントＰＣ１００は、キーボード９、表示部１０、外部メモリ１１、双方向性インタフェース１２を備えている。尚、サーバＰＣ１０５の構成もクライアントＰＣ１００の構成と同様であるため、図示及び説明を省略する。
【００２７】
ＣＰＵ１は、システムバス４に接続された各デバイスを統括的に制御する中央処理装置である。ＣＰＵ１は、ＲＯＭ３のプログラム用ＲＯＭ或いは外部メモリ（ＨＤ）１１に記憶されたアプリケーション（文書処理プログラム等）に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理等の各種処理を実行する。また、ＣＰＵ１は、本発明のプログラムに基づき後述の各フローチャートに示す処理を実行する。また、ＣＰＵ１は、例えばＲＡＭ２に設定された表示ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、表示制御部６を介して表示部１０に表示する。
【００２８】
更に、ＣＰＵ１は、表示部１０に表示されるマウスカーソル（不図示）等で指示されたコマンドに基づいて、クライアントＰＣ内部に登録された各種ウインドウを開き、各種データ処理を実行する。ユーザはクライアントアプリケーション１０１（図１参照）やサーバアプリケーション（不図示）を使用する際、その設定等の操作に関するウインドウを開き、設定を行うことができるようになっている。
【００２９】
ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリアとして機能する。ＲＯＭ３は、フォント用ＲＯＭ、プログラム用ＲＯＭ、データ用ＲＯＭ（以上不図示）を備える。フォント用ＲＯＭ或いは外部メモリ１１は、文書処理等の際に使用するフォントデータ等を記憶する。プログラム用ＲＯＭ或いは外部メモリ１１は、ＣＰＵ１の制御プログラムであるＯＳ、本発明のプログラム等を記憶する。データ用ＲＯＭ或いは外部メモリ１１は、文書処理等を行う際に使用する各種データを記憶する。また、外部メモリ１１に記憶されているプログラムは、実行時にＲＡＭ２に展開されて実行される。
【００３０】
キーボード制御部５は、キーボード９やポインティングデバイス（不図示）からの入力情報を制御する。表示制御部６は、表示部１０への表示を制御する。記憶制御部７は、外部メモリ１１に対するデータの書き込み／読み出しを制御する。ネットワーク制御部８は、双方向性インタフェース１２及びネットワーク１０６を介した通信を制御する。キーボード９は、各種入力に用いる。表示部１０は、図形、イメージ文字、表等を表示する。外部メモリ１１は、ハードディスク（ＨＤ）、フロッピー(登録商標)ディスク（ＦＤ）等から構成され、ブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザファイル、編集ファイル等を記憶する。
【００３１】
図１は、本実施の形態に係る通信装置としてのクライアントＰＣ１００のソフトウエアの構成例を示すブロック図である。
【００３２】
図１において、クライアントＰＣ１００は、クライアントアプリケーション１０１、通信ライブラリ１０２を備えている。通信ライブラリ１０２は、通信制御部３０１、アドレス情報取得部３０２、アドレス有効期間更新判定部３０３、アドレス管理部３０４、アドレス情報記憶部３０５を備えている。更に、通信ライブラリ１０２は、アドレス優先順位判定部３０６、アドレス判定部３０７、アドレス用途選択部３０８、ＩＰｖ６匿名アドレス判定部３０９を備えている。
【００３３】
クライアントＰＣ１００は、クライアントアプリケーション１０１からのリクエストにより、スタブオブジェクト（不図示）及び通信ライブラリ１０２を介して、ネットワーク１０６に接続されているサーバＰＣ１０５との間で通信を行う。
【００３４】
通信ライブラリ１０２において、通信制御部３０１は、アドレス情報取得部３０２により取得したアドレスの属性情報を判定し、判定結果に応じて、実際に通信に使用するアドレスを選択する。更に、通信制御部３０１は、選択したアドレスを使用して、クライアントアプリケーション１０１とサーバＰＣ１０５との間の通信を行う。
【００３５】
アドレス情報取得部３０２は、通信に使用可能なソースアドレスやサーバＰＣ１０５に登録するアドレス（イベントの通知先アドレス）の情報をＯＳから取得する。取得するアドレスの情報としては、アドレスリストと各アドレスの属性値がある。アドレスの属性値には、アドレスバージョン、推奨有効期間、最終有効期間、プレフィックス（Prefix）、アドレス形式、等がある。アドレスリスト取得の詳細は図４で後述する。
【００３６】
アドレス有効期間更新判定部３０３は、アドレス情報取得部３０２により取得した各アドレスの属性値に基づき、各アドレスの有効期間が更新可能（延長して同一アドレスを利用することが可能）であるか否かを判定する。
【００３７】
アドレス管理部３０４は、アドレス情報取得部３０２により取得したアドレス情報、アドレス有効期間更新判定部３０３により判定したアドレス情報を管理する。アドレス情報記憶部３０５は、アドレス管理部３０４が管理するアドレス情報を記憶する。
【００３８】
アドレス優先順位判定部３０６は、アドレス情報記憶部３０５に記憶されているアドレス情報と、クライアントＰＣ１００が通信対象とする通信先アドレス（ディスティネーションアドレス）に基づき、RFC3484の規定に従ってアドレスの優先順位を判定する。
【００３９】
アドレス判定部３０７は、アドレス優先順位判定部３０６の判定結果に基づき、実際の通信に使用するアドレスを判定する。この際、アドレス判定部３０７は、アドレス優先順位の高いアドレスから、通信先アドレス（ディスティネーションアドレス）に対してＩＰリーチャブルで実際の通信を行うことができるか否かの判定も行う。
【００４０】
アドレス用途選択部３０８は、クライアントアプリケーション１０１の通信目的に応じてアドレスの用途を判定する。アドレスの用途の判定としては、クライアントアプリケーション１０１の通信目的や通信先アドレス（ディスティネーションアドレス）から自動的に用途を判定する方法がある。本実施の形態では、クライアントアプリケーション１０１がアドレスの通信用途を判定して通信ライブラリ１０２に通知する例を説明する。尚、通信用途選択画面（図７参照）からのアドレスの通信用途の選択については第２の実施の形態で後述する。アドレス用途選択部３０８により判定したアドレスの用途は、アドレス管理部３０４を介してアドレス情報記憶部３０５に記憶される。
【００４１】
ＩＰｖ６匿名アドレス判定部３０９は、各アドレスがRFC3041またはRFC4941で規定されるプライバシーアドレス（Privacy address）であるか否かを判定する。更に、ＩＰｖ６匿名アドレス判定部３０９は、各アドレスについて、不図示のルータまたはアドレス発行サーバが設定した推奨有効期間、最終有効期間、ＯＳに設定されたアドレスの有効期間、有効期間の更新の可否を判定する。
【００４２】
次に、上記構成を有する本実施の形態のクライアントＰＣ１００の動作を図４乃至図６を参照しながら詳細に説明する。
【００４３】
図４は、クライアントＰＣ１００のアドレス選択処理を示すフローチャートである。本処理はクライアントＰＣ１００のＣＰＵ１が通信ライブラリ１０２により実行する。
【００４４】
図４において、クライアントＰＣ１００の通信ライブラリ１０２のアドレス情報取得部３０２は、ＯＳからローカルアドレス（ソースアドレス）の一覧（アドレスリスト）を取得する（ステップＳ４０１）。アドレス情報取得部３０２は、取得したアドレスリストをアドレス管理部３０４を介してアドレス情報記憶部３０５に記憶する。ＯＳからアドレスリストを取得する方法としては、ＩＰｖ４アドレス、ＩＰｖ６アドレスともに、ＯＳのソケット関数のgetaddrinfoでAI_PASSIVEフラグを指定することで取得する方法がある。
【００４５】
次に、アドレス情報取得部３０２は、アドレス属性（有効期間の延長の可否、等）を取得する（ステップＳ４０２）。即ち、アドレス情報取得部３０２は、上記のステップＳ４０１で取得したアドレスリストについて、各アドレスの有効期間の延長の可否（可能か不可能か）、バージョン、推奨有効期間、最終有効期間、プレフィックス、アドレス形式、等をＯＳから取得する。取得したアドレス属性は、通信制御部３０１がアドレス管理部３０４を介してアドレス情報記憶部３０５に記憶する。
【００４６】
次に、アドレス優先順位判定部３０６は、RFC3484に基づく、通信に使用するローカルアドレスの優先順位を決定する（ステップＳ４０３）。この場合、アドレス優先順位判定部３０６は、アドレス情報記憶部３０５に記憶されているアドレス情報と、クライアントアプリケーション１０１から指示された通信先アドレス（ディスティネーションアドレス）を基に、アドレスの優先順位を決定する。
【００４７】
次に、アドレス判定部３０７は、クライアントアプリケーション１０１からの指示に基づき、通信に使用するローカルアドレスがサーバＰＣ１０５に登録するアドレスであるか否かを判定する（ステップＳ４０４）。この場合、アドレス判定部３０７は、上記ＯＳＩ参照モデルの第３層（ネットワーク層）のＩＰアドレス等で利用されるアドレスか、他の層で利用される（データに含まれる）ＩＰアドレスかを判定する。
【００４８】
例えば、第７層（アプリケーション層）や６層（プレゼンテーション層）や第５層（セッション層）等に含まれる通信アドレス情報については、サーバＰＣ１０５に登録されるアドレスであると判定する。具体的には、WS-EventingによりサーバＰＣ１０５に対してイベント通知を要求する場合にNotifyToとして指定するイベントの通知先アドレスとして使用する場合、サーバＰＣ１０５に登録されるアドレスと判定する。WS-Eventingの詳細な仕様は以下のURLで提供されている。
【００４９】
<URL: http://www.w3.org/Submission/WS-Eventing/>
上記のステップＳ４０４でサーバＰＣ１０５に登録するアドレスであると判定した場合、アドレス判定部３０７は次の処理を行う。有効期間の延長が可能なアドレスまたは固定のアドレス（有効期間が設定されていないアドレス）を識別する。そして、識別されたアドレスの中から、ステップＳ４０３で決定された優先順位が最も高いアドレスを選択し、選択したアドレスを実際の通信で使用するアドレスとする（ステップＳ４０５）。この後、ステップＳ４０７に進む。
【００５０】
このように、有効期間の延長が可能なアドレスまたは固定のアドレスを優先的にサーバＰＣ１０５に登録するアドレスとして利用することで、サーバＰＣ１０５へのアドレス変更に伴うアドレス再登録処理が不要となるか或いは減らすことが可能となる。
【００５１】
即ち、アドレス判定部３０７は、クライアントアプリケーション１０１からの指示、通信先アドレス（ディスティネーションアドレス）、ステップＳ４０３でのアドレス優先順位判定部３０６の判定結果を基に、実際の通信に使用するアドレスを判定する。この際、アドレス判定部３０７は、優先順位の高いアドレスから、通信先アドレス（ディスティネーションアドレス）に対してＩＰリーチャブルで実際の通信を行うことができるかの判定も行う。
【００５２】
他方、上記のステップＳ４０４でサーバＰＣ１０５に登録するアドレスではないと判定した場合、アドレス判定部３０７は次の処理を行う。上記のステップＳ４０３でアドレス優先順位判定部３０６が作成した、RFC3484に基づくアドレス優先順位のリストから、実際に通信に使用するアドレスを選択する（ステップＳ４０６）。この後、ステップＳ４０７に進む。
【００５３】
上記のステップＳ４０５またはステップＳ４０６におけるアドレス選択が終了した後、通信制御部３０１は、ステップＳ４０５またはステップＳ４０６で選択されたアドレスを使用し、サーバＰＣ１０５に対して通信を行う（ステップＳ４０７）。これにより、本処理を終了する。
【００５４】
図５は、クライアントＰＣ１００の通信ライブラリ１０２のアドレス情報記憶部３０５のアドレス情報の例を示す図である。
【００５５】
図５において、図４のステップＳ４０３におけるアドレス情報記憶部３０５のアドレス情報の例を示している。アドレス情報は、優先順位５０１、アドレス種別５０２、ソースアドレス（ローカルアドレス）５０３、有効期間延長の可否情報（延長不可、延長可、Ｎ／Ａ（固定アドレス））５０４から構成されている。図５の例では、優先順位「１」、「２」、「３」が、それぞれ、有効期間の延長不可、延長可、Ｎ／Ａ（固定アドレス、つまり有効期間が設定されていない）となっている。
【００５６】
図５に示す例では、ディスティネーションアドレス fd00::1000:4000:3000:2000:1000に対して、各ソースアドレス（ローカルアドレス）５０３のアドレス種別５０２と優先順位５０１を示している。アドレス属性の一例として有効期間延長の可否情報５０４が含まれる。RFC3484に基づく優先順位では以下の順番で優先度が高い。
・fd00::1000:2000:30ff:fe00:4000
・fd00::1000:5000:6000:7000:8000
・fe80::1000:1234:5678:9abc:def0
図６は、クライアントＰＣ１００の通信ライブラリ１０２のアドレス情報記憶部３０５のアドレス情報の例を示す図である。アドレス情報は、優先順位６０１、アドレス種別６０２、ソースアドレス（ローカルアドレス）６０３、有効期間延長の可否情報（延長可、Ｎ／Ａ（固定アドレス））６０４から構成されている。図６の例では、優先順位「１」、「２」が、それぞれ、有効期間の延長可、Ｎ／Ａとなっている。
【００５７】
即ち、ディスティネーションアドレス fd00::1000:4000:3000:2000:1000に対して、各ソースアドレス（ローカルアドレス）６０３のアドレス種別６０２と優先順位６０１を示している。アドレス属性の一例として有効期間延長の可否情報６０４が含まれる。図５で示した優先順位の最も高いfd00::1000:2000:30ff:fe00:4000は、延長不可アドレスのため削除される。fd00::1000:5000:6000:7000:8000が最も優先順位の高いアドレスと判定され、サーバＰＣ１０５に登録するアドレスとして利用される。
【００５８】
このように、サーバＰＣ１０５に登録するアドレスとして有効期間の延長が可能なアドレスを優先して選択することで、サーバＰＣ１０５へのアドレス変更に伴うアドレス再登録処理が不要となるか或いは減らすことが可能となる。
【００５９】
尚、本実施の形態では、サーバＰＣ１０５に登録するアドレスを選択する場合を例に挙げたが、これに限定されるものではない。上記と同様にＯＳＩ参照モデルの第３層（ネットワーク層）のＩＰアドレスのソースアドレスを選択する場合にも適用可能である。
【００６０】
〔第２の実施の形態〕
本発明の第２の実施の形態は、上記第１の実施の形態に対して、以下に示す点において相違する。本実施の形態のその他の要素は、上記第１の実施の形態（図１、図２、図３）の対応するものと同一なので説明を省略する。
【００６１】
上記第１の実施の形態では、クライアントＰＣ１００のクライアントアプリケーション１０１の通信目的に応じて通信ライブラリ１０２でアドレスの通信用途を選択する例について説明した。
【００６２】
本実施の形態では、通信用途選択画面（図７）を介したユーザからの指示に基づいて通信ライブラリ１０２でアドレスの通信用途を選択する例について説明する。通信用途選択画面からユーザが選択した項目に対応する選択情報を、ユーザインタフェース部（不図示）によりアドレス用途選択部３０８に送信する。アドレス用途選択部３０８は、選択情報に基づきアドレスの通信用途を判定する。これにより、ユーザが所望した通信用途に適合した通信アドレスを選択することを可能とする。
【００６３】
図７は、本実施の形態に係るクライアントＰＣ１００の表示部１０に表示される通信用途選択画面の例を示す図である。
【００６４】
図７において、通信用途選択画面（ダイアログ）には例えば以下の項目が表示されている。サーバへアドレスを登録する（固定アドレス、または、延長可能アドレスを優先）。秘匿重視（延長可能不可能なアドレスも利用する）。インターネット通信（延長可能不可能なアドレスも利用する）。イントラネット通信（固定アドレス、または、延長可能アドレスを優先）。
【００６５】
図８は、本実施の形態に係るクライアントＰＣ１００のアドレス選択処理を示すフローチャートである。本処理はクライアントＰＣ１００のＣＰＵ１が通信ライブラリ１０２により実行する。
【００６６】
図８において、ステップＳ４０１〜ステップＳ４０３、ステップＳ４０５〜ステップＳ４０７は、図４のステップＳ４０１〜ステップＳ４０３、ステップＳ４０５〜ステップＳ４０７と同じであるため、同じステップ番号を付し説明を省略する。以下では相違点のみ説明する。
【００６７】
ステップＳ８０１では、クライアントＰＣ１００の通信ライブラリ１０２のアドレス用途選択部３０８は、ユーザの通信目的に応じてアドレスの用途を取得する。ユーザの通信目的の選択方法として、図７の通信用途選択画面からのユーザによるアドレスの通信用途の選択を受け付けたユーザインタフェース部が選択情報をアドレス用途選択部３０８に送信する場合を例に取る。
【００６８】
アドレス用途選択部３０８は、選択情報に基づきアドレスの通信用途を判定する。アドレス用途選択部３０８の判定結果は、アドレス管理部３０４を介してアドレス情報記憶部３０５に記憶すると共に、アドレス優先順位判定部３０６におけるアドレス優先順位の判定に利用する。
【００６９】
ステップＳ８０２では、アドレス判定部３０７は、図７の通信用途選択画面でユーザが選択した通信用途に基づき、通信に使用するアドレスが固定アドレスまたは延長可能アドレスを優先する通信用途であるか否かを判定する。
【００７０】
通信に使用するアドレスが固定アドレスまたは延長可能アドレスを優先する通信用途であると判定した場合、ステップＳ４０５の処理を行う。他方、通信に使用するアドレスが固定アドレスまたは延長可能アドレスを優先する通信用途でないと判定した場合、ステップＳ４０６の処理を行う。
【００７１】
以上詳細に説明したように、本実施の形態によれば、通信に使用するアドレスを選択する際に、ユーザが指定した通信用途に適合したアドレスの選択が可能となる。
【００７２】
〔第３の実施の形態〕
本発明の第３の実施の形態は、上記第１の実施の形態に対して、以下に示す点において相違する。本実施の形態のその他の要素は、上記第１の実施の形態（図１、図２、図３）の対応するものと同一なので説明を省略する。
【００７３】
上記第２の実施の形態では、クライアントＰＣ１００の通信ライブラリ１０２がアドレスの有効期間の更新の可否を判定する例について説明した。しかし、一般的なＯＳや特定のＯＳのバージョンによっては、アドレスの有効期間の更新の可否を判定するための属性を直接取得できない場合がある。
【００７４】
本実施の形態では、アドレスの有効期間の更新の可否を判定するための属性が直接取得できない場合における、有効期間の更新の可否を判定する例について説明する。特にRFC3041またはRFC4941で規定される匿名アドレスについては、アドレスの特性から有効期間の更新ができない。ルータまたはアドレス発行サーバが設定した推奨有効期間、最終有効期間、ＯＳの属性値から有効期間の更新の可否を判定できない場合がある。本実施の形態では以下の処理により有効期間の更新の可否を判定する。
【００７５】
図９は、本実施の形態に係るクライアントＰＣ１００のアドレス選択処理を示すフローチャートである。本処理はクライアントＰＣ１００のＣＰＵ１が通信ライブラリ１０２により実行する。
【００７６】
図９において、ステップＳ４０１、ステップＳ４０３〜ステップＳ４０７は、図４のステップＳ４０１、ステップＳ４０３〜ステップＳ４０７と同じであるため、同じステップ番号を付し説明を省略する。以下では相違点のみ説明する。
【００７７】
ステップＳ９０１では、ＩＰｖ６匿名アドレス判定部３０９は、図４のステップＳ４０１で取得した各アドレスがRFC3041またはRFC4941で規定されるPrivacy addressであるか、アドレス形式の判定を行う。ＩＰｖ６匿名アドレス判定部３０９は、ＯＳの属性値としてアドレスが一時アドレスを示す属性値を含み且つIEEEで定めるEUI-64形式（所定の形式）によるアドレスではない場合に、匿名アドレスと判定する。
【００７８】
尚、上記のIEEEで定めるEUI-64形式のアドレスについては以下のURLの仕様を参照：http://standards.ieee.org/regauth/oui/tutorials/EUI64.html
ステップＳ４０１で取得したアドレスリストに匿名アドレスが含まれないと判定した場合は、ステップＳ４０４に進む。他方、ステップＳ４０１で取得したアドレスリストに匿名アドレスが含まれると判定した場合は、ステップＳ９０２に進む。
【００７９】
ステップＳ９０２では、ＩＰｖ６匿名アドレス判定部３０９は、ＩＰｖ６匿名アドレスを有効期間の延長が不可能なアドレスとして設定する。
【００８０】
以上の処理により、特にRFC3041またはRFC4941で規定される匿名アドレスについて次のような判定を行うことができる。即ち、ルータまたはアドレス発行サーバが設定した推奨有効期間、最終有効期間、ＯＳの属性値から有効期間の更新の可否を判定できない場合も、有効期間の更新ができないアドレスと正しく判定することができる。
【００８１】
以上詳細に説明したように、本実施の形態によれば、通信に使用するアドレスを選択する際に、特にRFC3041またはRFC4941で規定される匿名アドレスの場合も、有効期間の延長の可否を判定したアドレスの選択が可能となる。
【００８２】
〔他の実施の形態〕
上記実施の形態では、クライアントＰＣ及びサーバＰＣをネットワークに接続した構成を例に挙げたが、これに限定されるものではない。ＰＣ以外に、ネットワークデバイス、情報処理装置、通信装置等の他の機器をネットワークに接続する構成としてもよい。
【００８３】
上記実施の形態では、クライアントＰＣ及びサーバＰＣ間の接続方式をＬＡＮ或いはＷＡＮ等のネットワークとした構成を例に挙げたが、これに限定されるものではない。ＬＡＮ或いはＷＡＮ以外のネットワーク、IEEE８０２．１１等の無線ＬＡＮ、IEEE１３９４等のシリアルインタフェース等、各種の接続方式を適用可能である。
【００８４】
上記実施の形態では、本発明をＰＣに適用した場合を例に挙げたが、これに限定されるものではない。本発明はプリンタや複合機（ＭＦＰ）等にも適用可能である。
【００８５】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００８６】
この場合、記憶媒体から読み出されたコンピュータ読み取り可能なプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８７】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００８８】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８９】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１の実施の形態に係る通信装置としてのクライアントＰＣのソフトウエアの構成例を示すブロック図である。
【図２】クライアントＰＣとサーバＰＣをネットワークにより接続した構成例を示す概念図である。
【図３】クライアントＰＣのハードウエアの構成例を示すブロック図である。
【図４】クライアントＰＣのアドレス選択処理を示すフローチャートである。
【図５】クライアントＰＣの通信ライブラリのアドレス情報記憶部のアドレス情報の例を示す図である。
【図６】クライアントＰＣの通信ライブラリのアドレス情報記憶部のアドレス情報の例を示す図である。
【図７】本発明の第２の実施の形態に係るクライアントＰＣの表示部に表示される通信用途選択画面の例を示す図である。
【図８】クライアントＰＣのアドレス選択処理を示すフローチャートである。
【図９】本発明の第３の実施の形態に係るクライアントＰＣのアドレス選択処理を示すフローチャートである。
【符号の説明】
【００９１】
１００  クライアントＰＣ
１０５  サーバＰＣ
１０６  サーバＰＣ
３０１  通信制御部
３０２  アドレス情報取得部
３０３  アドレス有効期間更新判定部
３０４  アドレス管理部
３０５  アドレス情報記憶部
３０６  アドレス優先順位判定部
３０７  アドレス判定部
３０８  アドレス用途選択部
３０９  ＩＰｖ６匿名アドレス判定部
【図１】
2010157798.tif 000003
【図２】
2010157798.tif 000004
【図３】
2010157798.tif 000005
【図４】
2010157798.tif 000006
【図５】
2010157798.tif 000007
【図６】
2010157798.tif 000008
【図７】
2010157798.tif 000009
【図８】
2010157798.tif 000010
【図９】
2010157798.tif 000011