(57)【要約】【課題】使用リソースを抑制しつつ、ネットワークの運用状態に応じて、他の通信装置に適切に通信アドレスの割り当てを行う。【解決手段】通信装置に、ネットワークを介して他の通信装置から通信アドレスの割り当て要求を受信する受信手段と、前記他の通信装置を識別するための第１の識別子と対応付けて第１の通信アドレスを管理する第１の管理手段と、前記第１の識別子よりデータサイズが小さい第２の識別子と対応付けて第２の通信アドレスを管理する第２の管理手段と、前記ネットワークの運用状態を検出する検出手段と、前記検出手段が検出した前記運用状態に基づいて、前記他の通信装置に前記第１の通信アドレスを割り当てるか、前記第２の通信アドレスを割り当てるかを判定する判定手段と、前記判定手段による判定結果に応じて前記第１の通信アドレスか前記第２の通信アドレスのいずれかを前記他の通信装置に割り当てる割り当て手段と、を備える。【選択図】図３
2020017934.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して他の通信装置から通信アドレスの割り当て要求を受信する受信手段と、
前記他の通信装置を識別するための第１の識別子と対応付けて第１の通信アドレスを管理する第１の管理手段と、
前記第１の識別子よりデータサイズが小さい第２の識別子と対応付けて第２の通信アドレスを管理する第２の管理手段と、
前記ネットワークの運用状態を検出する検出手段と、
前記検出手段が検出した前記運用状態に基づいて、前記他の通信装置に前記第１の通信アドレスを割り当てるか、前記第２の通信アドレスを割り当てるかを判定する判定手段と、
前記判定手段による判定結果に応じて前記第１の通信アドレスか前記第２の通信アドレスのいずれかを前記他の通信装置に割り当てる割り当て手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記検出手段は、
前記運用状態として、前記第１の管理手段に割り当て可能な通信アドレスがあるか否かを検出し、
前記判定手段は、
前記第１の管理手段に割り当て可能な通信アドレスがある場合には、前記第１の通信アドレスを割り当てると判定し、前記第１の管理手段に割り当て可能な通信アドレスがない場合には、前記第２の通信アドレスを割り当てると判定する、
ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記判定手段は、前記第１の管理手段に割り当て可能な通信アドレスがない場合に、前記第２の管理手段に割り当て可能な通信アドレスがない場合は前記第２の通信アドレスの割り当てを行わないと判定する、
ことを特徴とする請求項２記載の通信装置。
【請求項４】
前記判定手段は、
前記第１の管理手段に割り当て可能な通信アドレスがある場合に、前記第１の通信アドレスを割り当てると判断し、前記第１の管理手段に割り当て可能な通信アドレスがない場合に、単位時間あたりに受信したアドレス割り当て要求の数に応じて、前記第２の通信アドレスを割り当てるか否かを判定する、
ことを特徴とする請求項１から請求項３のいずれか１項に記載の通信装置。
【請求項５】
第１のネットワークを介して通信を行う第１の通信インタフェースと、前記第１のネットワークと異なる第２のネットワークを介して通信を行う第２の通信インタフェースと、をさらに備え、
前記検出手段は、前記通信アドレスの割り当て要求を前記いずれの通信インタフェースを介して受信したかを検出し、
前記判定手段は、前記通信アドレスの割り当て要求を前記第１の通信インタフェースを介して受信した場合は前記第１の通信アドレスを割り当てると判定し、前記通信アドレスの割り当て要求を前記第２の通信インタフェースを介して受信した場合は前記第２の通信アドレスを割り当てると判定する、
ことを特徴とする請求項１から請求項４のいずれか１項に記載の通信装置。
【請求項６】
前記第１の通信アドレスが一時的でない通信アドレスであり、
前記第２の通信アドレスが一時的な通信アドレスである、
ことを特徴とする請求項５に記載の通信装置。
【請求項７】
前記第１の通信アドレスおよび前記第２の通信アドレスが一時的でない通信アドレスである、
ことを特徴とする請求項５に記載の通信装置。
【請求項８】
前記各通信インタフェース毎に、前記第１の通信アドレスと前記第２の通信アドレスのいずれの通信アドレスを割り当てるかを管理する第３の管理手段を、さらに備え、
前記判定手段は、前記第３の管理手段の管理に従って、前記通信アドレスの割り当ての判定を行う、
ことを特徴とする請求項５に記載の通信装置。
【請求項９】
前記第２の管理手段は、前記第１の識別子または前記第2の識別子に応じて一時的な第３の通信アドレスを生成する、
ことを特徴とする請求項１記載の通信装置。
【請求項１０】
ネットワークを介して他の通信装置から通信アドレスの割り当て要求を受信するステップと、
前記他の通信装置を識別するための識別子と対応付けて第１の通信アドレスを管理するステップと、
前記第１の通信アドレスの管理より少ない情報で第２の通信アドレスを管理するステップと、
前記ネットワークの運用状態を検出するステップと、
前記検出した運用状態に基づいて、前記他の通信装置に前記第１の通信アドレスを割り当てるか、前記第２の通信アドレスを割り当てるかを判定するステップと、
前記判定結果に応じて前記第１の通信アドレスか前記第２の通信アドレスのいずれかを前記他の通信装置に割り当てるステップと、
を有することを特徴とする通信方法。
【請求項１１】
コンピュータを、請求項１から請求項９の何れか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して他の通信装置と通信を行う通信装置、通信方法およびプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラとスマートフォン等の装置間で、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）等のプロトコルでＰ２Ｐ（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）通信をするケースが増えてきている。Ｐ２Ｐ通信を用いて装置間で通信を行う場合、通信を行う装置の中の１台がＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のサーバ（ＤＨＣＰサーバ）となる。ＤＨＣＰサーバは、クライアントとなる装置（ＤＨＣＰクライアント）に対して、割り当て可能なアドレスプールからＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを割り当てる（リースする）。ＤＨＣＰサーバは、ＤＨＣＰクライアントに割り当てたＩＰアドレスと、当該ＤＨＣＰクライアントを識別する識別子との対応を、ＤＨＣＰの割り当てテーブルに記憶しておく。また、別のＤＨＣＰクライアントが接続してＩＰアドレスを要求した際には、ＤＨＣＰサーバは、ＩＰアドレスが重複しないように、まだ割り当てていないＩＰアドレスを当該別のＤＨＣＰクライアントに割り当てる。
【０００３】
また、ＤＨＣＰサーバは、ＩＰアドレスを割り当てる際に、一定の有効期間を設定してＩＰアドレスの割り当てを行うことで、定期的にＩＰアドレスを回収し、再割り当てをしている。ＤＨＣＰクライアントは、割り当てられたＩＰアドレスの有効期間内に、割り当てられたＩＰアドレスの有効期間の延長をＤＨＣＰサーバに対して要求するか割り当てられたＩＰアドレスを破棄して再びＤＨＣＰサーバに対してアドレスの割り当てを要求する。これにより、ＤＨＣＰクライアントは、通信に使用するＩＰアドレスを得ることができる。また、ＤＨＣＰクライアントは、有効期間が満了する前に割り当てられたＩＰアドレスの使用を終了してＩＰアドレスをＤＨＣＰサーバに返却（リリース）することも可能である。しかし、シャットダウンや移動によるネットワークからの離脱時に、ＤＨＣＰクライアントが、ＩＰアドレスをリリースしない場合がある。この場合は、多くのＩＰアドレスが割り当てられたままになることで、ＤＨＣＰサーバがリース可能なＩＰアドレスが枯渇してしまうことがある。
【０００４】
このようなＩＰアドレスの不足が発生する状況に対して、ＩＰアドレスの割り当て数、割り当て可能なＩＰアドレス数の現在値等の条件に基づいて所定の有効期間を設定し、効率よくＩＰアドレスの回収、再割り当てを行う技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３４５１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＤＨＣＰサーバがＤＨＣＰクライアントに対して割り当てるＩＰアドレスの有効期間を動的に変更するだけでは、同時に割り当て可能なＩＰアドレスの数は変わらない。このため、多くのＤＨＣＰクライアントからＩＰアドレスの割り当て要求を受信した場合には、ＩＰアドレスの枯渇を回避できないことが考えられる。
また、ＤＨＣＰサーバによってＩＰアドレスの割り当てを行うネットワークの運用状態によっては、不特定多数の装置に対して同時に通信を可能とするようにＩＰアドレスの割り当てを行いたい場合がある。この場合は、ＤＨＣＰサーバが同時に割り当て可能なＩＰアドレスを十分な数に増やすことで、ＩＰアドレスの枯渇を回避して同時に通信を可能にすることができる。このためには、割り当て済みのＩＰアドレス、割り当てたクライアントに関する情報（識別子）を保持するための記憶領域も増やす必要がある。しかし、コストやチップ面積等の制限からメモリサイズを大きくすることができず、割り当て済みのＩＰアドレス、割り当てたクライアントに関する情報（識別子）を保持するための領域を十分に割り当てられない場合がある。
【０００７】
本発明は上述の課題に鑑みて成されたものであり、使用リソースを抑制しつつ、ネットワークの運用状態に応じて、他の通信装置に適切に通信アドレスの割り当てを行うことを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明に係る通信装置のある態様によれば、ネットワークを介して他の通信装置から通信アドレスの割り当て要求を受信する受信手段と、前記他の通信装置を識別するための第１の識別子と対応付けて第１の通信アドレスを管理する第１の管理手段と、前記第１の識別子よりデータサイズが小さい第２の識別子と対応付けて第２の通信アドレスを管理する第２の管理手段と、前記ネットワークの運用状態を検出する検出手段と、前記検出手段が検出した前記運用状態に基づいて、前記他の通信装置に前記第１の通信アドレスを割り当てるか、前記第２の通信アドレスを割り当てるかを判定する判定手段と、前記判定手段による判定結果に応じて前記第１の通信アドレスか前記第２の通信アドレスのいずれかを前記他の通信装置に割り当てる割り当て手段と、を備える通信装置が提供される。
【発明の効果】
【０００９】
本発明によれば、使用リソースを抑制しつつ、ネットワークの運用状態に応じて、他の通信装置に適切に通信アドレスの割り当てを行うことができる。
【図面の簡単な説明】
【００１０】
【図１】実施携帯１の通信システムの構成例を示す図
【図２】通信装置のハードウェア構成例を示すブロック図
【図３】通信装置におけるＩＰアドレスの割り当て処理の例を示すフローチャート
【図４】ＤＨＣＰ要求パケットのフィールドの一例を示す図
【図５】ＤＨＣＰ応答パケットのフィールドの一例を示す図
【図６】ＤＨＣＰ応答パケットのフィールドの一例を示す図
【図７】アドレス管理テーブルの一例を示す図
【図８】実施形態２におけるＩＰアドレスの割り当て処理の例を示すフローチャート
【図９】実施形態３の通信システムの構成例を示す
【図１０】実施形態３におけるＩＰアドレスの割り当て処理の例を示すフローチャート
【図１１】実施形態４におけるＩＰアドレスの割り当て処理の例を示すフローチャート
【図１２】実施形態５における通信インタフェース管理テーブルの例を示す図
【図１３】実施形態５におけるＩＰアドレスの割り当て処理の例を示すフローチャート
【図１４】実施形態６におけるＩＰアドレスの割り当て処理の例を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する各実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に必ずしも限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成および処理については、同じ符号を付して説明する。
【００１２】
実施形態１
（通信システムの構成）
図１は、実施形態１に係る通信システムの構成例を示している。
この通信システムは、通信装置１と通信装置２とを備えている。通信装置１と通信装置２とは、ネットワーク３を介してＴＣＰ／ＩＰ（Ｔｒａｎｓｆｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルにより通信を行う。なお、本実施形態では、ネットワーク３は、例えばＥｔｈｅｒｎｅｔ（登録商標）規格に準拠したＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）により構成される。ただし、ネットワーク３は、これに限らず、例えばＩＥＥＥ８０２．１１シリーズの規格に準拠した無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等を含んでいてもよい。また、本実施形態では通信装置１と通信装置２の２台の装置の間での通信に注目して説明を行うが、３台以上の装置がネットワーク３を介して通信を行うようにしてもよい。
【００１３】
また、本実施形態では、通信装置１と通信装置２の間で、ＤＨＣＰｖ６（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）に基づいて通信アドレスの割り当てを行う場合を例に説明する。なお、このＤＨＣＰｖ６は、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）プロトコルにおいてＤＨＣＰサービスを提供するものである。また、通信装置１は、ＤＨＣＰｖ６サーバ機能を有し、通信装置２はＤＨＣＰｖ６クライアント機能を有する。なお、通信装置１と通信装置２との間の通信は、他のプロトコルに基づいて行ってもよい。
【００１４】
図２は、通信装置１のハードウェアの構成例を示している。
この通信装置１は、各種情報等を記憶する記憶部１１と、通信装置１全体を制御する制御部１２と、所定の処理を実行する機能部１３と、ユーザからの各種操作を入力する入力部１４と、画像等の各種出力を行う出力部１５と、通信を行う通信部１６とを備えている。
【００１５】
記憶部１１は、ＲＯＭやＲＡＭ等のメモリにより構成され、後述する各種動作を行うためのプログラムや、ＴＣＰ／ＩＰ通信のための通信パラメータ等の各種情報を記憶する。なお、記憶部１１として、ＲＯＭ、ＲＡＭ等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤ等の記憶媒体を用いてもよい。また、記憶部１１が、複数のメモリ等を備えていてもよい。
【００１６】
制御部１２は、ＣＰＵやＭＰＵ等のプロセッサにより構成され、記憶部１１に記憶されたプログラムを実行することにより通信装置１全体を制御する。なお、制御部１２は、記憶部１１に記憶されたプログラムとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）との協働により通信装置１全体を制御するようにしてもよい。また、制御部１２が、マルチコア等の複数のプロセッサを備え、複数のプロセッサにより通信装置１全体を制御するようにしてもよい。
【００１７】
機能部１３は、通信装置１が所定の処理を実行するためのハードウェアである。通信装置１が、例えばカメラである場合、機能部１３は、撮像処理を行う撮像部である。また、通信装置１が、例えばプリンタである場合、機能部１３は、印刷を行う印刷部である。また、通信装置１が、例えばプロジェクタである場合、機能部１３は、投影処理を行う投影部である。機能部１３が処理するデータは、記憶部１１に記憶されているデータであってもよいし、通信部１６を介して他の通信装置から取得したデータ等であってもよい。
【００１８】
入力部１４は、ユーザからの各種操作を入力する。出力部１５は、ユーザに対して各種出力を行う。ここで、出力部１５による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力等の少なくとも１つを含む。なお、タッチパネルを備えたディスプレイ装置等のように入力部１４と出力部１５の両方を１つのモジュールで実現するようにしてもよい。
【００１９】
通信部１６は、ネットワーク３を介した通信を行うための通信インタフェースを備えている。この通信部１６は、例えばＴＣＰ／ＩＰ通信の制御を行い、通信インタフェースを介して、他の通信装置２との間で、例えば画像データや文書データ、映像データ等のコンテンツを送受信する。なお、ＴＣＰに代えて、もしくは、加えてＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）による通信を制御してもよい。また、通信インタフェースは物理的に複数有する構成を用いてもよい。また、通信部１６は、有線ネットワークに接続するための通信インタフェースだけでなく無線ネットワークに接続するためのアンテナを有する通信インタフェースを備えても良いものとする。また、この通信部１６は、ネットワークの運用状態を検出する。ネットワークの運用状態には、例えば通信アドレスの割り当て状況、アドレス割り当て要求の頻度等が含まれるが、この例に限定されるものではなく、運用状態を示す他のパラメータを用いてもよい。
【００２０】
（ＩＰアドレスの割り当て処理）
図３は、本実施形態において、通信装置１と通信装置２が通信を行う際に、通信装置１が、通信装置２にＩＰアドレスを割り当てる処理の例を示している。この図３に示す処理は、例えば記憶部１１に記憶されたプログラムを制御部１２が読み出し、それを実行することで実現される。なお、図３に示す処理の少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）上に自動的に専用回路を生成すればよい。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【００２１】
ＩＰアドレスの割り当ては、他の通信装置を識別するための識別子と対応付けて第１の通信アドレスを管理する第１のアドレス管理テーブルと、第１のアドレス管理テーブルより少ない情報で第２の通信アドレスを管理する第２のアドレス管理テーブルを用いて行う。
通信装置１は、まず、通信装置２からＤＨＣＰｖ６によるアドレス取得要求のためのＤＨＣＰｖ６アドレス割り当て要求のパケットを受信する（Ｓ１）。
ＤＨＣＰｖ６アドレス割り当て要求のパケットを受信した通信装置１は、第１のアドレス管理テーブルに空き領域があるか否かを判断する（Ｓ２）。なお、本実施形態において、第１の通信アドレスはＤＨＣＰｖ６における非一時アドレス（Ｎｏｎ−Ｔｅｍｐｏｒａｒｙ  Ａｄｄｒｅｓｓ）である。
【００２２】
第１のアドレス管理テーブルに空き領域があると判断した場合は、割り当て可能である第１の通信アドレスが存在するため、通信装置１は、第１の通信アドレスの割り当てを行い、通信装置２に対してＤＨＣＰｖ６応答パケットを送信して通知する（Ｓ３）。そして、第１の通信アドレスと通信装置２を識別するための第１の識別子を対応付けて第１のアドレス管理テーブルに登録する（Ｓ４）。なお、本実施形態において、第１の識別子は通信装置２のＤＵＩＤ（ＤＨＣＰ  Ｕｎｉｑｕｅ  ＩＤｅｎｔｉｆｉｅｒ）とＩＡＩＤ（Ｉｄｅｎｔｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  ＩＤｅｎｔｉｆｉｅｒ）とする。
【００２３】
Ｓ２において、第１のアドレス管理テーブルに空き領域がないと判断した場合は、通信装置１は、第２のアドレス管理テーブルに空き領域があるか否かを判断する（Ｓ５）。本実施形態において、第２の通信アドレスはＤＨＣＰｖ６における一時アドレス（Ｔｅｍｐｏｒａｒｙ  Ａｄｄｒｅｓｓ）である。なお、第１の通信アドレスと第２の通信アドレスは、上述の例に限らず、適宜選択可能であり、例えば両方を一時的でないアドレスとして管理を行うようにしてもよい。
【００２４】
第２のアドレス管理テーブルに空き領域があると判断した場合は、割り当て可能である第２の通信アドレスが存在するため、通信装置１は、第２の通信アドレスの割り当てを行い、通信装置２に対してＤＨＣＰｖ６応答パケットを送信して通知する（Ｓ６）。そして、第２の通信アドレスを第２のアドレス管理テーブルに登録する（Ｓ７）。なお、通信装置２を識別するための第２の識別子と第２の通信アドレスを対応付けて第２のアドレス管理テーブルに登録してもよい。この場合、第２の識別子は第１の識別子より少ない領域で保持可能な識別子であってもよい。本実施形態において、第２の識別子は、通信装置２のＩＡＩＤである。
Ｓ５において、第２のアドレス管理テーブルに空き領域がないと判断した場合は、通信装置１は、通信装置２に対して通信アドレスの割り当てを行わない。
【００２５】
図４は、図３のＳ１において、通信装置１が通信装置２から受信するＤＨＣＰｖ６アドレス要求パケット（アドレス割り当て要求のパケット）のフォーマットの例を示している。パケット種別フィールドには、アドレス要求であることを示す情報が挿入される。ｔｒａｎｓａｃｔｉｏｎ  ｉｄフィールドには、ＤＨＣＰパケットを識別する識別子が挿入される。オプションフィールド内にはアドレス要求に関する各種オプションが挿入される。オプションフィールド内のＣｌｉｅｎｔＩＤフィールドには通信装置２のＤＵＩＤが挿入される。ＳｅｒｖｅｒＩＤフィールドには通信装置１のＤＵＩＤが挿入される。ＩＡ＿ＮＡフィールドには要求する非一時アドレスに関する情報（識別子ＩＡＩＤ）、希望する有効期間（Ｔ１、Ｔ２）が挿入される。ＩＡ＿ＴＡフィールドには要求する一時アドレスに関する情報（識別子ＩＡＩＤ）が挿入される。
【００２６】
図５は、図３のＳ３（第１の通信アドレスを割り当てる場合）において、通信装置１が通信装置２に対して送信するＤＨＣＰｖ６応答パケットのフォーマットの例を示している。パケット種別フィールドには、ＤＨＣＰパケットがアドレス要求への応答となるアドレス応答であることを示す情報が挿入される。ＩＡ＿ＮＡフィールドのＩＡ  Ａｄｄｒｅｓｓオプションフィールドには割り当てる第１の通信アドレスについての情報が挿入される。ＩＡ＿ＴＡフィールドのＳｔａｔｕｓＣｏｄｅオプションフィールドにはアドレスの割り当てを行わないことを示すＮｏＡｄｄｒｓＡｖａｉｌが挿入される。他のフィールドについては、図４と同様である。
【００２７】
図６は、図３のＳ８（第２の通信アドレスを割り当てる場合）において、通信装置１が通信装置２に対して送信するＤＨＣＰｖ６応答パケットのフォーマットを示している。ＩＡ＿ＴＡフィールドのＳｔａｔｕｓＣｏｄｅオプションフィールドにはアドレスの割り当てを行わないことを示すＮｏＡｄｄｒｓＡｖａｉｌが挿入される。ＩＡ＿ＴＡフィールドのＩＡ  Ａｄｄｒｅｓｓオプションフィールドには割り当てる第２の通信アドレスについての情報が挿入される。他のフィールドについては、図４と同様である。ＤＵＩＤとは装置を特定する識別子であり、通信装置１、通信装置２それぞれで生成される一意な識別子である。ＤＵＩＤはアドレス要求パケット、応答パケットの他、ＤＨＣＰｖ６で規定される要請パケット、広告パケット等を使って対向装置に通知される。
【００２８】
図７（Ａ）と図７（Ｂ）は、それぞれＤＨＣＰｖ６非一時アドレス割り当てテーブル（第１のアドレス管理テーブル）、ＤＨＣＰｖ６一時アドレス割り当てテーブル（第２のアドレス管理テーブル）の例を示している。
ＤＨＣＰｖ６非一時アドレス割り当てテーブルは、個々の通信装置に割り当てたＩＰｖ６アドレスと、当該ＩＰｖ６アドレスを割り当てたＤＨＣＰｖ６クライアントを識別するＤＵＩＤおよびＩＡＩＤを対応付けて管理するテーブルである。図７（Ａ）では、２００１：：１１というＩＰｖ６アドレスが、クライアントのＤＵＩＤがＡＡＡＡ、ＩＡＩＤが１１である通信装置（すなわち通信装置２）に割り当てられていることを示している。また、２００１：：１２というＩＰアドレスについては、現在どの通信装置にも割り当てられていないことを示している。
【００２９】
ＤＨＣＰｖ６一時アドレス割り当てテーブルは、個々の通信装置に割り当てたＩＰｖ６アドレスと、当該ＩＰｖ６アドレスを割り当てたＤＨＣＰｖ６クライアントのＩＡＩＤを対応付けて管理するテーブルである。図７（Ｂ）ではＩＡＩＤが２２の通信装置に２００１：：１０１というＩＰｖ６アドレスが割り当てられていることを示している。なお、ＩＡＩＤではなく、他の識別子とＩＰｖ６アドレスを対応付けてもよく、この場合は、ＩＰｖ６アドレスとＩＡＩＤを対応付けて保持してなくてもよい。
【００３０】
ＤＨＣＰｖ６非一時アドレス割り当てテーブルでＩＰｖ６アドレスとクライアントのＤＵＩＤを関連付けて管理することで、ＩＰｖ６アドレスの更新要求を送信してきたクライアントがすでに当該ＩＰｖ６アドレスを割り当てた装置であるかを識別することができる。また、ＤＨＣＰｖ６一時アドレスはＩＰアドレスの更新要求がされても再割り当てを行わないため、ＤＨＣＰｖ６一時アドレス割り当てテーブルではクライアントを特定するＤＵＩＤを管理しない。これにより、少ない管理領域でのＩＰアドレスの管理が可能となる。
【００３１】
以上、説明したように、本実施形態によれば、ネットワークの運用状態（第１のアドレス管理テーブルに空き領域があるか否か）に応じて、通信装置に適切に通信アドレス（ＩＰアドレス）の割り当て行うことができる。また、第２のアドレス管理テーブルは、第１のアドレス管理テーブルより少ない情報で第２の通信アドレスの管理を行っている。このため、本実施形態では、通信装置の記憶領域の容量等の使用リソースを抑制しつつ、より多くの通信装置に通信アドレス（ＩＰアドレス）の割り当てを行うことが可能となり、利用者の利便性を向上させることができる。
【００３２】
実施形態２
以下、実施形態２について説明する。
実施形態１では、第１のアドレス管理テーブルに空き領域があるか否かに応じて、第１の通信アドレスを割り当てるか第２の通信アドレスを割り当てるかを決定していた。実施形態２では、第１のアドレス管理テーブルに空き領域がない場合に、アドレスの割り当て要求を受信する頻度（単位時間あたりに通信装置１が受信したアドレス割り当て要求の数）に応じて、第２の通信アドレスを割り当てるか割り当てないかを判定する。なお、実施形態２における通信システムおよび各通信装置１，２の構成は、図１、図２を用いて説明した実施形態１の構成と同様であるため、説明を省略する。
【００３３】
（ＩＰアドレスの割り当て処理）
図８は、実施形態２において、通信装置１と通信装置２が通信を行う際に、通信装置１が、通信装置２にＩＰアドレスを割り当てる処理の例を示している。この図８に示す処理は、例えば記憶部１１に記憶されたプログラムを制御部１２が読み出し、それを実行することで実現される。なお、この図８では、図３の処理と同一の処理については、同一の符号で示している。
【００３４】
Ｓ１からＳ４の処理は、実施形態１におけるＳ１からＳ４の処理と同様のため説明を省略する。
本実施形態では、Ｓ２において第１のアドレス管理テーブルの空き容量がないと判定された場合に、Ｓ５の処理を実行する前に、Ｓ１５において、単位時間あたりに通信装置１が受信したアドレス割り当て要求の数が所定の閾値より大きいか否かを判定する。ここで、所定の閾値には、通信装置１の管理者が任意の値を設定しておいてもよいし、第１のアドレス管理テーブルに登録可能なアドレスの数に基づいた値を設定しておいてよい。
Ｓ１５において、単位時間あたりに受信したアドレスの割り当て要求の数が閾値以上である場合はＳ５に進み、閾値未満である場合はＳ８に進む。なお、Ｓ５からＳ８の処理は、実施形態１におけるＳ５からＳ８の処理と同様のため説明を省略する。
【００３５】
以上、説明したように、本実施形態では、第１のアドレス管理テーブルに空き領域がない場合に、単位時間あたりに通信装置１が受信したアドレス割り当て要求の数が所定の閾値より多いか否かに応じて、第２の通信アドレスを割り当てるか否かを選択（判断）する。すなわち、本実施形態では、第１のアドレス管理テーブルに空き領域がない場合に、ネットワークの運用状態として、さらにアドレスの割り当て要求を受信する頻度に応じて、第２の通信アドレスを割り当てるか否かを選択（判断）する。これにより、ネットワークの運用状態に応じて、他の通信装置に適切に通信アドレス（ＩＰアドレス）の割り当てを行うことができる。単位時間あたりに通信装置１が受信したアドレス割り当て要求の数が所定の閾値より多い場合には、一時的な通信アドレス（第２の通信アドレス）が枯渇する可能性もある。このため、このような場合にはクライアントに通信アドレスを割り当てないことにより、通信アドレスの枯渇を防止することができる。すなわち、本実施形態では、通信装置の記憶領域の容量等の使用リソースを抑制しつつ、より多くの通信装置に対して通信アドレス（ＩＰアドレス）の割り当てを行うことが可能となる。
【００３６】
実施形態３
以下、実施形態３について説明する。
実施形態１では、第１のアドレス管理テーブルに空き領域が存在するかに応じて、第１の通信アドレスを割り当てるか第２のアドレスを割り当てるかを決定していた。本実施形態では、通信に使用する通信インタフェースに応じて第１のアドレスを割り当てるか第２のアドレスを割り当てるかを判定する。これにより、ネットワークの運用状態に合わせてより多くの通信装置に対してＩＰアドレスの割り当てを行う。
【００３７】
（通信システムの構成）
図９は、本実施形態に係る通信システムの構成例を示している。この通信システムは、通信装置１と通信装置２と通信装置４とを備えている。通信装置１と通信装置２とは、ネットワーク３を介して、例えばＴＣＰ／ＩＰプロトコルにより通信を行う。また、通信装置１と通信装置４とは、ネットワーク５を介して、例えばＴＣＰ／ＩＰプロトコルにより通信を行う。本実施形態では、通信装置１の通信部１６は、ネットワーク３を介した通信を行うための第１の通信インタフェースと、ネットワーク５を介した通信を行うための第２の通信インタフェースとを備えている。なお、本実施形態では、ネットワーク３は、例えばＥｔｈｅｒｎｅｔ（登録商標）規格に準拠した有線ＬＡＮにより構成される。また、本実施形態では、ネットワーク５は、例えばＩＥＥＥ８０２．１１シリーズ規格に準拠した無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等によって構成ざれる。ただし、ネットワーク３およびネットワーク５は、これに限らず、例えばＩＥＥＥ８０２．１１シリーズ規格に準拠した無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等を含んでいてもよい。また、ネットワーク３とネットワーク５は異なる規格の通信を行うネットワークで構成してもよい。あるいは、ネットワーク３とネットワーク５は、ネットワークドメインの異なる同じ規格のネットワークであってもよく、周波数帯の異なる無線ネットワークであってもよい。
【００３８】
また、本実施形態では通信装置１と通信装置２と通信装置４の３台の装置の間での通信に注目して説明を行うが、４台以上の装置がネットワーク３、ネットワーク５を介して通信を行うようにしてもよい。また、本実施形態では、通信装置１は、ＤＨＣＰｖ６サーバ機能を有し、通信装置２と通信装置４は、ＤＨＣＰｖ６クライアント機能を有し、ＤＨＣＰｖ６に基づいて通信アドレスの割り当てを行う場合を例に説明する。なお、通信装置１と通信装置２と通信装置４との間の通信は、他のプロトコルに基づいて行ってもよい。また、ネットワーク３とネットワーク５における通信プロトコルは異なるプロトコルであってもよい。なお、本実施形態における通信装置１の構成は、図２を用いて上述した実施形態１の構成と同様であるため、説明を省略する。また、通信装置４は、通信装置２と同様に構成されている。
【００３９】
（ＩＰアドレスの割り当て処理）
図１０は、本実施形態において、通信装置１と、通信装置２または通信装置４が通信を行う際に、通信装置１が、通信装置２と通信装置４にＩＰアドレスを割り当てる処理の例を示している。この図１０に示す処理は、例えば記憶部１１に記憶されたプログラムを制御部１２が読み出し、それを実行することで実現される。なお、この図１０では、図３の処理と同一の処理については、同一の符号で示している。
【００４０】
通信装置１は、まず、図３のＳ１と同様に、通信装置２または通信装置４からＤＨＣＰｖ６パケット（ＤＨＣＰｖ６によるアドレス割り当て要求のパケット）を受信する（Ｓ１）。その後、通信装置１は、通信装置２または通信装置４から受信したアドレス割り当て要求のパケットが、通信装置１の第１の通信インタフェースで受信したか否かを判断する（Ｓ２２）。第１の通信インタフェースから受信したと判断した場合は、通信装置１は、第１のアドレス管理テーブルに空き領域があるか否かを判断する（Ｓ２）。第１のアドレス管理テーブルに空きがあると判断した場合は、通信装置１は、通信装置２または通信装置４に対して、第１の通信アドレスの割り当てを行う（Ｓ３）。そして、通信装置１は、割り当てた第１の通信アドレスと通信装置２または通信装置４を識別するための第１の識別子を対応付けて第１のアドレス管理テーブルへの登録を行う（Ｓ４）。
【００４１】
一方、第１のアドレス管理テーブルに空きがないと判断した場合は通信装置２に対して通信アドレスを割り当てない（Ｓ２６）。
Ｓ２２における判断の結果、第１の通信インタフェースからの受信でなかったと判断した場合は、通信装置１は、第２のアドレス管理テーブルに空きがあるか否かを判断する（Ｓ５）。以後のＳ６からＳ８の処理は、実施形態１におけるＳ６からＳ８の処理と同様のため説明を省略する。
【００４２】
以上、説明したように、本実施形態によれば、ネットワークの運用状態（いずれの通信インタフェースを介してアドレス割り当て要求を受信したか）に応じて、適切に通信アドレス（ＩＰアドレス）の割り当てを行うことができる。さらに、本実施携帯では、通信装置の記憶領域の容量等の使用リソースを抑制しつつも、より多くの通信装置に対してＩＰアドレスの割り当てを行うことが可能となる。
無線ネットワークは、有線ネットワークに比較して移動等によるＩＰアドレスの変更の頻度が高いため、上述の処理を行うことにより、使用リソースを抑制しつつ、ネットワークの運用形態に応じて、適切に通信アドレスの割り当てを行うことができる。
【００４３】
実施形態４
以下、実施形態４について説明する。
実施形態３では、通信に使用する通信インタフェースに応じて第１の通信アドレスを割り当てるか第２の通信アドレスを割り当てるかを決定していた。実施形態４では、通信に使用する通信インタフェースによらずに、第１の通信アドレスを割り当てるが、内部での管理方法を変えることにより、より多くの通信装置に対してＩＰアドレスの割り当てを行う。具体的には、第１の通信インタフェースを使用する場合には、上述の第１のアドレス管理テーブルを用いてＩＰアドレスの管理を行い、第２の通信インタフェースを使用する場合には上述の第２のアドレス管理テーブルを用いてＩＰアドレスの管理を行う。本実施形態での通信システムの構成は、実施形態３で説明した通信システムと構成と同一であるため、説明は省略する。
【００４４】
（ＩＰアドレスの割り当て処理）
図１１は、実施形態４において、通信装置１と通信装置２と通信装置４が通信を行う際に、通信装置１が、通信装置２または通信装置４にＩＰアドレスを割り当てる処理の例を示している。この図１１に示す処理は、例えば記憶部１１に記憶されたプログラムを制御部１２が読み出し、それを実行することで実現される。なお、この図１１では、図１０の処理と同一の処理については、同一の符号で示している。
【００４５】
Ｓ１からＳ４，Ｓ２２，Ｓ２６における処理は実施形態３における処理と同様のため説明を省略する。
Ｓ２２における判断の結果、第１の通信インタフェースからの受信でなかったと判断した場合は、通信装置１は、第１のアドレス管理テーブルに空き領域があるか否かを判断する（Ｓ４７）。第１のアドレス管理テーブルに空き領域があると判断した場合は、通信装置１は、通信装置２に対して、第１のアドレスの割り当てを行い（Ｓ４８）、第１のアドレスと通信装置２のＩＡＩＤを対応付けて第２のアドレス管理テーブルに登録する（Ｓ４９）。Ｓ４７における判断の結果、第１のアドレス管理テーブルに空き領域がないと判断した場合は、通信装置１は、通信装置２に対してアドレス割り当てを行わない（Ｓ９１０）。このような処理により、第2の通信インタフェースを使用して通信を行う場合には、第１のアドレス管理テーブルよりデータサイズの小さい第２のアドレス管理テーブルを用いて、第１の通信アドレスの割り当てを管理することができる。
【００４６】
以上に説明したように、本実施形態によれば、ネットワークの運用状態（いずれの通信インタフェースを介してアドレス割り当て要求を受信したか）に応じて、ＩＰアドレスの管理を行っている。これにより、通信装置の記憶領域の容量等の使用リソースを抑制しつつも、より多くの通信装置に対してＩＰアドレスの割り当てを行うことができる。
【００４７】
実施形態５
以下、実施形態５について説明する。
実施形態３では、通信に使用する通信インタフェースに応じて、第１の通信アドレスを割り当てるか第２の通信アドレスを割り当てるかを決定していた。本実施形態では、ユーザが指定した通信インタフェース毎に割り当てるアドレスの種別を変えることで、ユーザが意図したネットワーク運用を可能とする。本実施形態での通信システムの構成は、実施形態３で説明した通信システムの構成と同一であるため、説明は省略する。
【００４８】
（ＩＰアドレスの割り当て処理）
図１２は、実施形態５で使用する通信装置１の通信インタフェース管理テーブルの例を示している。通信装置１のユーザは、入力部１４を介して、通信インタフェースと、当該通信インタフェースを介して受信するアドレス割り当て要求に対して割り当てるアドレスの種別を入力する。本実施形態では、第１の通信インタフェースに対しては第１の通信アドレスを割り当て、第２の通信インタフェースに対しては第２の通信アドレスを割り当てる場合を例に説明する。
【００４９】
図１３は、実施形態５において、通信装置１と通信装置２と通信装置４が通信を行う際に、通信装置１が、通信装置２または通信装置４にＩＰアドレスを割り当てる処理の例を示している。この図１３に示す処理は、記憶部１１に記憶されたプログラムを制御部１２が読み出し、それを実行することで実現される。なお、この図１３では、図１０の処理と同一の処理については、同一の符号で示している。
【００５０】
通信装置１は、まず、図１０のＳ１と同様に、通信装置２または通信装置４からＤＨＣＰｖ６パケット（ＤＨＣＰｖ６によるアドレス割り当て要求のパケット）を受信する（Ｓ１）。その後、通信装置１は、通信装置２または通信装置４から受信したアドレス割り当て要求のパケットが、通信装置１の第１の通信インタフェースで受信したか否かを判断する（Ｓ２２）。
Ｓ２２における判断の結果、第１の通信インタフェースから受信したと判断した場合、通信装置１は、通信インタフェース管理テーブルを調べて割り当てるアドレスの種別を決定する（Ｓ６３）。本実施形態では、上述の図１２のように、第１の通信インタフェースには第１の通信アドレスを割り当てる設定となっているので、割り当てるアドレスを第１の通信アドレスとする。
【００５１】
通信装置１は、さらに、第１のアドレス管理テーブルに空きがあるかを判断する（Ｓ２）。第１のアドレス管理テーブルに空き領域があると判断した場合は、通信装置１は、通信装置２または通信装置４に対して、第１の通信アドレスの割り当てを行う（Ｓ３）。そして、通信装置１は、第１の通信アドレスと通信装置２または通信装置４を識別するための第１の識別子を対応付けて第１のアドレス管理テーブルに登録する（Ｓ４）。一方、Ｓ２における判断の結果、第１のアドレス管理テーブルに空きがないと判断した場合は、通信装置１は、通信装置２または通信装置４に対して通信アドレスを割り当てない（Ｓ２６）。
【００５２】
Ｓ２２における判断の結果、第１の通信インタフェースからの受信ではなかったと判断した場合、通信装置１は、通信インタフェース管理テーブルを調べて割り当てるアドレス種別を特定する（Ｓ６８）。本実施形態では第２の通信インタフェースには第２の通信アドレスを割り当てる設定となっているので、第２のアドレス管理テーブルに空きがあるかを判断する（Ｓ５）。以降のＳ６からＳ８の処理は、実施形態１におけるＳ６からＳ８の処理と同様のため説明を省略する。
【００５３】
以上、説明したように、本実施形態によれば、ネットワークの運用状態（いずれの通信インタフェースを介してアドレス割り当て要求を受信したか）に応じて、通信インタフェース管理テーブルに登録された通信アドレスの割り当てを行う。これにより、ユーザの意図に従った通信アドレス（ＩＰアドレス）の割り当てを行うことができる。さらに、本実施形態では、通信装置の記憶領域の容量等の使用リソースを抑制しつつも、より多くの通信装置に対してＩＰアドレスの割り当てを行うことができる。
【００５４】
実施形態６
以下、実施形態６について説明する。
実施形態１では、第１のアドレス管理テーブルに空き領域があるか否かに応じて、第１の通信アドレスを割り当てるか第２の通信アドレスを割り当てるかを決定していた。本実施形態では、第１のアドレス管理テーブルに空き領域がない時に、クライアントから受信した識別子に従って一時アドレスを生成して割り当てる。なお、本実施形態での通信システムの構成は、実施形態１で説明した通信システムの構成と同一であるため、説明は省略する。
【００５５】
（ＩＰアドレスの割り当て処理）
図１４は、実施形態６において、通信装置１と通信装置２が通信を行う際に、通信装置１が、通信装置２にＩＰアドレスを割り当てる処理の例を示している。この図１４に示す処理は、例えば記憶部１１に記憶されたプログラムを制御部１２が読み出し、それを実行することで実現される処理を示している。なお、この図１４では、図３の処理と同一の処理については、同一の符号で示している。
【００５６】
Ｓ１からＳ４の処理は、実施形態１におけるＳ１からＳ４の処理と同様のため説明を省略する。
Ｓ２において第１のアドレス管理テーブルに空き領域がないと判断した場合（Ｓ２のＮｏ）は、通信装置１は、クライアントから受信した識別子から一時的な通信アドレス（一時アドレス）を生成する（Ｓ８５）。さらに、通信装置１は、ＤＨＣＰの応答パケットにより、一時アドレスを通信装置２に通知する（Ｓ８６）。本実施形態では、通信装置１は、例えばクライアントから受信した識別子としてＤＵＩＤを用い、これを使ってＩＰアドレス（一時アドレス）を生成する。
【００５７】
なお、通信装置１は、Ｓ８５で生成した一時アドレスは管理しない。また、通信装置１は、一時アドレスに対する延長要求を受信した場合は、拒否してもよい。もしくは、通信装置１は、ネットワーク上に延長要求を受けた一時アドレスを使用している装置がないかを確認し、一時アドレスを使用する装置がない場合は一時アドレスを延長し、使用する装置がある場合は一時アドレスの延長要求を拒否するようにしてもよい。
【００５８】
以上に説明したように、本実施形態によれば、ネットワークの運用状態（第１のアドレス管理テーブルに空き領域があるか否か）に応じて、空き領域がない場合には、クライアントに一時アドレスを割り当てる。また、割り当てた一時アドレスを管理しないことで、より少ない通信装置の記憶領域の容量でより多くの通信装置に対してＩＰアドレスの割り当てを行うことが可能となる。
【００５９】
（その他の実施形態）
なお、実施形態１から実施形態６では、ＤＨＣＰｖ６のアドレス要求に基づいてアドレス割り当てを行う場合ついて説明したが、これに限らず、ＩＰｖ４アドレスの割り当てを行うＤＨＣＰ等、同様の目的を達成する他のプロトコルにも各実施形態を適用可能である。
【００６０】
また、実施形態１から実施形態６を適宜組み合わせることも可能である。例えば、各実施形態において説明した、アドレス割り当ての要求の頻度、受信したインタフェース、それら以外の通信装置１に設定した所定の条件を独立して組み合わせることも可能である。なお、ネットワークの運用状態には、上述のアドレス割り当て状況、アドレス割り当て要求の頻度等が含まれ、例えばアドレス割り当て要求の頻度に応じて、第１のアドレスを割り当てるか第２のアドレスを割り当てるか選択するようにしてもよい。
【００６１】
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
１，２，４…通信装置、３，５…ネットワーク、１１…記憶部、１２…制御部、１３…機能部、１４…入力部、１５…出力部、１６…通信部
【図１】
2020017934.tif 000003
【図２】
2020017934.tif 000004
【図３】
2020017934.tif 000005
【図４】
2020017934.tif 000006
【図５】
2020017934.tif 000007
【図６】
2020017934.tif 000008
【図７】
2020017934.tif 000009
【図８】
2020017934.tif 000010
【図９】
2020017934.tif 000011
【図１０】
2020017934.tif 000012
【図１１】
2020017934.tif 000013
【図１２】
2020017934.tif 000014
【図１３】
2020017934.tif 000015
【図１４】
2020017934.tif 000016