(57)【要約】【課題】複数の通信装置が立て続けに起動された場合であっても、サーバ機能とクライアント機能とを適切に選択できる通信装置および通信方法を提供すること。【解決手段】統括割当部２６０は、通信可能範囲内に、ＤＨＣＰクライアントとして動作する他ノードからの要求に応じてＩＰアドレスを割り当てるＤＨＣＰサーバが存在しない場合、ＤＨＣＰサーバ初期設定部２２０に対してアドレスプールを作成させ、自律割当部２３０に対してＡＰＩＰＡによる自装置のアドレス割り当てを行わせる。統括割当部２６０は、自装置のアドレス割り当てと並行して、ＤＨＣＰサーバ部２１０にＤＨＣＰサーバ動作を行わせる。ただし、自装置のＩＰアドレスが確定する前に他ノードに対するアドレス割り当てを行う場合には、統括割当部２６０は、ＤＨＣＰサーバ部２１０に対し、そのアドレスが仮のものであることを、アドレスの割り当て先に通知させる。【選択図】図２
2008061146.tif 000002
【特許請求の範囲】
【請求項１】
他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在するとき、当該ノードに対して、自装置へのＩＰアドレスの割り当てを要求するクライアント動作部と、
他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在しないとき、自装置に対して自律的にＩＰアドレスを割り当て、当該ＩＰアドレスに基づき、他ノードに対してＩＰアドレスを割り当てるサーバ動作部と、
前記サーバ動作部が自装置に割り当てたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられているか否かを判断する割当判断部と、
前記割当判断部が、前記サーバ動作部が自装置に割り当てたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられていないと判断する前に、前記サーバ動作部が他ノードに対してＩＰアドレスの割り当てを行うとき、その割り当て先に対して当該ＩＰアドレスの割り当てが仮のものであることを通知する仮設定通知部と、
を有する通信装置。
【請求項２】
前記サーバ動作部は、
割り当ての対象となるＩＰアドレスを格納した所定のメッセージを前記他ノードへ送信することにより、前記他ノードに対してＩＰアドレスを割り当て、
前記仮設定通知部は、
前記所定のメッセージに仮設定フラグを立てることにより、当該所定のメッセージによるＩＰアドレスの割り当てが仮のものであることを通知する、
請求項１記載の通信装置。
【請求項３】
自装置に割り当てられたＩＰアドレスを使用してＩＰ通信を行う通信部と、
自装置に対するＩＰアドレスの割り当てが仮のものであることを通知されたとき、前記通信部によるＩＰ通信を制限する通信制限部と、
をさらに有する請求項１記載の通信装置。
【請求項４】
前記割当判断部が、前記サーバ動作部が自装置に割り当てたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられていないと判断したとき、前記サーバ動作部によるＩＰアドレスの割り当て先に対して当該ＩＰアドレスの割り当ての確定を通知する設定確定通知部と、
前記通信部が、ＩＰ通信を制限した状態で自装置に対するＩＰアドレスの割り当ての確定を通知されたとき、前記通信制限部によるＩＰ通信の制限を解除する制限解除部と、
をさらに有する請求項３記載の通信装置。
【請求項５】
他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在するか否かを判断するサーバ有無判断ステップと、
他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在しないと判断したとき、自装置に対して自律的にＩＰアドレスを割り当て、他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在すると判断したとき、当該ノードに対して自装置へのＩＰアドレスの割り当てを要求するアドレス取得ステップと、
自装置に対して自律的にＩＰアドレスを割り当てたとき、当該ＩＰアドレスに基づき他ノードに対してＩＰアドレスを割り当てる処理を開始するとともに、自装置に割り当てられたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられているか否かを判断する処理を開始する処理開始ステップと、
自装置に割り当てられたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられていないと判断する前に、他ノードに対してＩＰアドレスの割り当てを行うとき、その割り当て先に対して当該ＩＰアドレスの割り当てが仮のものであることを通知する仮設定通知ステップと、
を有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線アドホックネットワークなど、通信の中継を行わずに１ホップの通信のみを行うＩＰ（internet protocol）ネットワークで用いられる通信装置および通信方法に係り、特に、ＩＰアドレスをユーザの操作なしに自律的に設定する通信装置および通信方法に関する。
【背景技術】
【０００２】
インターネットなど、ＩＰを用いた多くの通信ネットワークでは、特定の通信装置が他の通信装置にＩＰアドレスを動的に割り当てる通信プロトコルであるＤＨＣＰ（dynamic host configuration protocol、非特許文献１参照）が多く用いられている。このような通信ネットワークでは、通信サービス利用側の通信装置に対して、ＩＰアドレスの設定を含むＩＰ通信を開始するのに必要な各種初期設定（以下、単に「初期設定」という）を行う装置（以下、「ＤＨＣＰサーバ」という）を、通信サービス提供側に配置している。
【０００３】
一方、近年、ネットワーク技術の伸展により、従来では通信サービスにおいて普及していたＩＰ通信機能を、テレビジョン、ビデオデッキ、ゲーム機器など、家庭内やオフィス内の電子機器に搭載させることが注目されている。このような電子機器は、互いに通信装置として機能してＰＡＮ（personal area network）を形成し、他の電子機器との連携動作を容易ならしめるだけでなく、電子機器の拡張性や配置の自由度を高めることができる。
【０００４】
ところが、このようなＰＡＮでは、ＤＨＣＰサーバを配置した通信サービスを利用しないため、ＰＡＮ内で各通信装置の初期設定を行わなければならない。
【０００５】
特に、家庭内でＰＡＮを構築する場合、ユーザがネットワークに関する専門的知識を持たないことが多い。このようなユーザにとって、初期設定を行うことは困難であり、ユーザへの負担が大きい。また、電子機器が、パーソナルコンピュータのようにキーボードやマウスなどの優れたユーザインタフェースを搭載しているとは限らない。したがって、ユーザが専門的知識を持っていたとしても、初期設定を行うのに多大な労力を伴う恐れがある。
【０００６】
また、最近では無線ＬＡＮ（local area network）やＢｌｕｅｔｏｏｔｈ（登録商標）、ＵＷＢ（ultra wideband）に代表される無線ＩＰネットワーク技術の進歩により、ＩＰ通信機能は、ディジタルカメラやプリンタなど、さらに多種多様な電子機器に搭載されるようになってきている。したがって、ＰＡＮを構成する通信装置の数は、将来、さらに増大することが考えられる。そのような多くの通信装置に対して手作業で１つ１つ初期設定を行い、動作確認を行うのは、ユーザに大きな手間となる。
【０００７】
このようなユーザへの負担を軽減するために、ＰＡＮ内にＤＨＣＰサーバを配置することも考えられる。しかしながら、ＤＨＣＰサーバに異常が発生した場合、特にネットワークに関する専門的知識を持たないユーザにとっては、復旧が困難であるという問題がある。
【０００８】
そこで、各通信装置自身で自装置のＩＰアドレスの割り当てを行う技術であり、Ａｕｔｏ ＩＰとも呼ばれるＡＰＩＰＡ（automatic private IP addressing、非特許文献２参照）を、ＤＨＣＰと組み合わせることが、従来より行われている（たとえば、特許文献１および特許文献２参照）。
【０００９】
ここで、ＰＡＮの一例を用いて、ＤＨＣＰとＡＰＩＰＡとの組み合わせにより初期設定を行う従来の通信装置について説明する。
【００１０】
図１４は、従来の通信装置を配置したＰＡＮの構成の一例を示すシステム構成図である。無線ＰＡＮ１０には、相互にＩＰ通信が可能な従来の通信装置としての第１のノード２０−１および第２のノード２０−２が存在している。すなわち、第１のノード２０−１と第２のノード２０−２との間には、無線通信路３０が存在している。また、第１のノード２０−１と第２のノード２０−２は、同一の構成を有している。
【００１１】
図１５は、図１４に示す従来の通信装置としてのノード２０の構成を示すブロック図である。以下、説明の対象となるノード以外のノードを、「他ノード」というものとする。
【００１２】
図１５において、ノード２０は、ＤＨＣＰサーバ部２１、自律割当部２２、ＤＨＣＰアドレス取得部２３、統括割当部２４、および通信部２５を有する。
【００１３】
ＤＨＣＰサーバ部２１は、他ノードからの要求に応じてＩＰアドレスの割り当て（以下、単に「アドレス割り当て」という）を行う。自律割当部２２は、自装置のアドレス割り当てにおいて、ＡＰＩＰＡの動作を実施する。ＤＨＣＰアドレス取得部２３は、自装置のアドレス割り当てにおいて、ＤＨＣＰサーバからＩＰアドレスを含めた初期設定情報を取得するＤＨＣＰクライアントとして、ＩＰアドレスの取得処理を実施する。統括割当部２４は、自装置のアドレス割り当てに、ＡＰＩＰＡとＤＨＣＰのいずれを使用するか、つまり自律割当部２２とＤＨＣＰアドレス取得部２３のいずれを用いるかを選択する。これらＤＨＣＰサーバ部２１、自律割当部２２、ＤＨＣＰアドレス取得部２３、および統括割当部２４は、それぞれプロトコルスタックのソフトウェアの機能である。通信部２５は、ＩＰ通信を行うネットワークインタフェースであり、自装置のＩＰアドレスなどのＩＰ通信に必要なパラメータが設定される。ノード２０は、電源が投入されると、ＩＰ通信を開始するための初期設定を行う。
【００１４】
図１６は、図１４に示すＰＡＮ１０における初期設定の動作の流れを示すフローチャートである。
【００１５】
ＤＨＣＰサーバとして機能するノードは、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージを他ノードから受信した場合、そのノードに対して割り当てるＩＰアドレスを提示するＤＨＣＰＯＦＦＥＲメッセージを送出するようになっている。したがって、ステップＳ４１において、統括割当部２４は、ＤＨＣＰアドレス取得部２３で生成したＤＨＣＰのＤＨＣＰＤＩＳＣＯＶＥＲメッセージをブロードキャスト出力し、周囲のノードを検索する。
【００１６】
ステップＳ４２において、統括割当部２４は、ＤＨＣＰＯＦＦＥＲメッセージの受信の有無によって、周囲（通信可能範囲内）にＤＨＣＰサーバが存在しているか否かを、判断する。周囲にＤＨＣＰサーバが存在している場合には（Ｓ４２：ＹＥＳ）、統括割当部２４は、自装置が他ノードからＩＰアドレスを割り当てられるＤＨＣＰクライアントとして動作することを決定し、ステップＳ４３へ進む。周囲にＤＨＣＰサーバが存在していない場合には（Ｓ４２：ＮＯ）、統括割当部２４は、自装置が他ノードに対してＩＰアドレスを割り当てるＤＨＣＰサーバとして動作することを決定し、ステップＳ４４へ進む。
【００１７】
ステップＳ４３において、ＤＨＣＰアドレス取得部２３は、ＤＨＣＰクライアントとして、ＩＰアドレスを取得する。具体的には、ＤＨＣＰアドレス取得部２３は、ＤＨＣＰサーバから提示されたＩＰアドレスを自装置で使用することを要求するＤＨＣＰＲＥＱＵＥＳＴメッセージを送信する。ＤＨＣＰサーバは、ＤＨＣＰＲＥＱＵＥＳＴメッセージの受信に対応して、その要求に対する承認を示すＤＨＣＰＡＣＫメッセージを返すようになっている。そして、ノード２０は、初期設定を終了し、ＤＨＣＰクライアントとしての動作を継続する。
【００１８】
一方、ステップ４４において、自律割当部２２は、ＡＰＩＰＡにより、自装置のＩＰアドレスを決定する。具体的には、自律割当部２２は、たとえば乱数を使用してＩＰアドレスを生成し、生成したＩＰアドレスが他ノードで使用されているかを問い合わせる状況確認のＡＲＰ Ｐｒｏｂｅメッセージをブロードキャスト出力する。そして、自律割当部２２は、他ノードからの応答が無い場合には、生成したＩＰアドレスを取得する。
【００１９】
次に、ステップＳ４５において、ＤＨＣＰサーバ部２１は、ＤＨＣＰサーバとして起動し、周囲のＤＨＣＰクライアントに割り当てるＩＰアドレスの定義範囲を示すアドレスプールを作成する。そして、ノード２０は、初期設定を終了し、ＤＨＣＰクライアントから送出されるＤＨＣＰＤＩＳＣＯＶＥＲメッセージに応答するなど、ＤＨＣＰサーバとして動作する。
【００２０】
このようにして、従来の通信装置は、周囲の状況に応じて、ＤＨＣＰクライアントとしての動作と、ＤＨＣＰサーバとしての動作を切り替えることができる。したがって、いずれかの通信装置に異常が発生しても、常にＤＨＣＰサーバが配置されることになり、ＰＡＮを機能させることができる。
【特許文献１】特開２００５−２７７９３７号公報
【特許文献２】特開２００５−３４８３３７号公報
【非特許文献１】Ｒ．  Ｄｒｏｍｓ、”Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ”、ＩＥＴＦ  ＲＦＣ２１３１、１９９７
【非特許文献２】Ｓ．  Ｃｈｅｓｈｉｒｅ、Ｂ．  Ａｂｏｂａ  ａｎｄ  Ｅ．  Ｇｕｔｔｍａｎ、”Ｄｙｎａｍｉｃ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｏｆ  ＩＰｖ４  Ｌｉｎｋ−Ｌｏｃａｌ  Ａｄｄｒｅｓｓｅｓ”、ＩＥＴＦ  ＲＦＣ３９２７、２００５
【発明の開示】
【発明が解決しようとする課題】
【００２１】
ところが、上記した従来の通信装置を配置したＰＡＮでは、たとえば複数の通信装置を立て続けに起動させたときに、問題が発生する恐れがある。
【００２２】
図１７は、図１４に示すＰＡＮ１０の各ノード２０が初期設定を行う際の、各ノード２０の動作および信号の様子の一例を示すシーケンス図である。ここでは、第１のノード２０−１が先に電源投入されたものの、第１のノード２０−１の初期設定が完了していない段階で、第２のノード２０−２が電源投入された場合の例を図示している。
【００２３】
ステップＳ５１において、時刻ｔ０に、第１のノード２０−１は電源オン（ＯＮ）状態になり、第２のノード２０−２は電源オフ（ＯＦＦ）状態のままであったとする。
【００２４】
ステップＳ５２において、第１のノード２０−１は、時刻ｔ０の直後に、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージをブロードキャスト出力する。ただし、この時点で、第２のノード２０−２はＯＦＦ状態であるため、第１のノード２０−１に応答は返ってこない。
【００２５】
ステップＳ５３において、第１のノード２０−１は、ステップＳ５２のＤＨＣＰＤＩＳＣＯＶＥＲメッセージに対する応答が返ってこないことから、自律設定状態に入る。
【００２６】
ステップＳ５４において、ステップＳ５３で第１のノード２０−１が自律設定状態に入った直後に、第２のノード２０−２がＯＮ状態になったとする。
【００２７】
ステップＳ５５において、第２のノード２０−２は、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージをブロードキャスト出力する。ただし、この時点で、第１のノード２０−１はまだサーバとして起動していないため、第２のノード２０−２に応答は返ってこない。
【００２８】
ステップＳ５６において、第１のノード２０−１は、自装置に割り当てるＩＰアドレスを選択し、選択したＩＰアドレスを指定した状況確認のＡＲＰ Ｐｒｏｂｅメッセージを、１〜２秒の間隔を置いて３回、ブロードキャスト出力する。第１のノード２０−１は、たとえば「１９２．１６８．１．１」を、自装置に割り当てるＩＰアドレスとして選択する。
【００２９】
各ノード２０は、既に使用されているＩＰアドレスを指定したＡＲＰ Ｐｒｏｂｅメッセージを受信した場合には、その旨を通知するようになっている。ただし、ステップＳ５６の時点では、第２のノード２０−２はまだＩＰアドレスを割り当てられていないことから、ステップＳ５６の状況確認のＡＲＰ Ｐｒｏｂｅメッセージに対する応答は、第１のノード２０−１に返ってこない。
【００３０】
ステップＳ５７において、第２のノード２０−２は、ステップＳ５５のＤＨＣＰＤＩＳＣＯＶＥＲメッセージに対する応答が返ってこないことから、自律設定状態に入る。
【００３１】
ステップＳ５８において、第２のノード２０−２は、自装置に割り当てるＩＰアドレスを選択し、選択したＩＰアドレスを指定した状況確認のＡＲＰ Ｐｒｏｂｅメッセージを、ブロードキャスト出力する。ここで、第２のノード２０−２は、たとえば「１９２．１６８．２．１」を、自装置に割り当てるＩＰアドレスとして選択する。ただし、この時点で、第１のノード２０−１はまだサーバとしての動作を開始していないため、第２のノード２０−２に応答は返ってこない。
【００３２】
ステップＳ５９において、第１のノード２０−１は、ステップＳ５６で送出した状況確認のＡＲＰ Ｐｒｏｂｅメッセージが、いずれも応答が返ってこないままタイムアウトになったとする。このタイムアウトにより、第１のノード２０−１は、要求したＩＰアドレスの自装置での使用に問題が無いものとして、自装置のＩＰアドレスを確定し、ＤＨＣＰサーバ動作状態に遷移する。
【００３３】
ステップＳ６０において、第１のノード２０−１は、選択したＩＰアドレスの使用開始を通知する使用要求のＡＲＰ Ｐｒｏｂｅメッセージをブロードキャスト出力するとともに、アドレスプールを生成する。ただし、この時点で、第２のノード２０−２にはまだサーバとしての動作を開始しておらず、自装置のＩＰアドレスを確定していないため、第１のノード２０−１には応答は返ってこない。
【００３４】
ステップＳ６１において、第２のノード２０−２は、ステップＳ５８で送出したＡＲＰ Ｐｒｏｂｅメッセージが、いずれも応答が返ってこないままタイムアウトになったことにより、第１のノード２０−１と同様にＤＨＣＰサーバ動作状態に遷移する。
【００３５】
そして、ステップＳ６２において、第２のノード２０−２は、使用要求のＡＲＰ Ｐｒｏｂｅメッセージをブロードキャスト出力し、アドレスプールを生成する。
【００３６】
この結果、図１７からも明らかなように、第１のノード２０−１と第２のノード２０−２の両方が、サーバとして動作し、それぞれ独立して自装置のＩＰアドレスとアドレスプールを設定する。このような状態では、これらのＩＰアドレスおよびアドレスプールが重複し、たとえば、同じＩＰアドレスが、異なる複数のノードに割り当てられ、それらのノード間でＩＰ通信が不能となるなどの問題が発生する恐れがある。
【００３７】
このような事態を回避するために、最初に電源投入を行った通信装置が完全にサーバとしての機能を開始してから、他の通信装置の電源投入を行うようにすることも考えられる。ところが、ＡＲＰ Ｐｒｏｂｅメッセージの状況確認には、通常で４秒以上の時間を要するため、２つ目の通信装置に電源を投入するまでに比較的長い時間を置かなければならない。一方で、特に家庭内などのごく狭い範囲にＰＡＮを形成する場合、通常の操作として、複数の通信装置に立て続けに電源が投入されることが行われている。したがって、不自然な操作をユーザに強いることになり、使い勝手の面で問題が生じる。
【００３８】
本発明は、かかる点に鑑みてなされたものであり、複数の通信装置が立て続けに起動された場合であっても、サーバ機能とクライアント機能とを適切に選択できる通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【００３９】
本発明の通信装置は、他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在するとき、当該ノードに対して、自装置へのＩＰアドレスの割り当てを要求するクライアント動作部と、他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在しないとき、自装置に対して自律的にＩＰアドレスを割り当て、当該ＩＰアドレスに基づき、他ノードに対してＩＰアドレスを割り当てるサーバ動作部と、前記サーバ動作部が自装置に割り当てたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられているか否かを判断する割当判断部と、前記割当判断部が、前記サーバ動作部が自装置に割り当てたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられていないと判断する前に、前記サーバ動作部が他ノードに対してＩＰアドレスの割り当てを行うとき、その割り当て先に対して当該ＩＰアドレスの割り当てが仮のものであることを通知する仮設定通知部とを具備する構成を採る。
【００４０】
本発明の通信方法は、他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在するか否かを判断するサーバ有無判断ステップと、他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在しないと判断したとき、自装置に対して自律的にＩＰアドレスを割り当て、他ノードに対してＩＰアドレスを割り当てるノードが通信可能範囲内に存在すると判断したとき、当該ノードに対して自装置へのＩＰアドレスの割り当てを要求するアドレス取得ステップと、自装置に対して自律的にＩＰアドレスを割り当てたとき、当該ＩＰアドレスに基づき他ノードに対してＩＰアドレスを割り当てる処理を開始するとともに、自装置に割り当てられたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられているか否かを判断する処理を開始する処理開始ステップと、自装置に割り当てられたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられていないと判断する前に、他ノードに対してＩＰアドレスの割り当てを行うとき、その割り当て先に対して当該ＩＰアドレスの割り当てが仮のものであることを通知する仮設定通知ステップとを有するようにした。
【発明の効果】
【００４１】
本発明によれば、自装置のＩＰアドレスが確定する前であっても、他ノードに対して、ＩＰアドレスの割り当ての重複や変更の可能性を通知した上で、仮のアドレス割当を行うことができ、複数の通信装置が立て続けに電源投入された場合でも、ＤＨＣＰサーバ機能とＤＨＣＰクライアント機能とを適切に選択できるので、使い勝手を向上させることができる。さらに、自装置のＩＰアドレスが確定する前という早い段階で、他ノードに対してＩＰアドレスを割り当てるため、ＰＡＮの立ち上がりを高速化することができる。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【００４３】
図１は、本発明の一実施の形態に係る通信装置を配置した無線ＰＡＮの構成を示すシステム構成図である。
【００４４】
図１において、無線ＰＡＮ１００は、第１のノード２００−１、第２のノード２００−２を有する。第１のノード２００−１および第２のノード２００−２は、相互に無線ＩＰ通信が可能となっており、これらの間には無線通信路３００が形成されている。また、第１のノード２００−１と第２のノード２００−２の通信に関する部分は、同一の構成を採っている。
【００４５】
第１のノード２００−１と第２のノード２００−２は、たとえば、テレビジョンとハードディスクレコーダであり、テレビジョンで受信する映像データをハードディスクレコーダへ転送することによって、映像データを記録するものである。映像データは無線通信路３００により伝送されるため、ハードディスクレコーダの設置場所をより自由に選択することが可能となっている。
【００４６】
以下、各ノード２００の構成および動作について説明する。説明の対象となるノード以外のノードを、「他ノード」というものとする。
【００４７】
図２は、本実施の形態に係る通信装置としてのノード２００の構成を示すブロック図である。
【００４８】
図２において、ノード２００は、通信部２１０、ＤＨＣＰサーバ部２２０、ＤＨＣＰサーバ初期設定部２３０、自律割当部２４０、ＤＨＣＰアドレス取得部２５０、ＰＡＮ指定判定部２６０、統括割当部２７０、アプリケーション部２８０、およびアプリケーション通信部２９０を有する。
【００４９】
通信部２１０は、無線によるＩＰ通信を行うためのネットワークインタフェースであり、自装置のＩＰアドレスなどのＩＰ通信に必要なパラメータが設定される。
【００５０】
ＤＨＣＰサーバ部２２０は、ＤＨＣＰクライアントとして動作する他ノードからの要求に応じてアドレス割り当てを行う。具体的には、ＤＨＣＰサーバ部２２０は、通信部２１０でＤＨＣＰＲＥＱＵＥＳＴメッセージが受信されると、通信部２１０を介して、そのメッセージの送信元に対しＩＰアドレスを割り当てる。
【００５１】
ＤＨＣＰサーバ初期設定部２３０は、自装置の周囲にＤＨＣＰサーバが存在しない場合に、自装置をＤＨＣＰサーバとして機能させるために、ＤＨＣＰサーバ部２２０に対して初期設定を行う。
【００５２】
自律割当部２４０は、自装置に対するアドレス割り当てにおいて、ＡＰＩＰＡの動作を実施する。具体的には、自律割当部２４０は、自装置に対するアドレス割り当てを行うとともに、統括割当部２７０および通信部２１０を介して、割り当てたＩＰアドレスが他ノードで既に使用されているか否かの確認を行う。
【００５３】
ＤＨＣＰアドレス取得部２５０は、自装置に対するアドレス割り当てにおいて、ＤＨＣＰクライアントとして、ＤＨＣＰサーバとして動作する他ノード２００にＩＰアドレスの割り当てを要求する。具体的には、ＤＨＣＰアドレス取得部２５０は、統括割当部２７０および通信部２１０を介して、ＤＨＣＰＲＥＱＵＥＳＴメッセージを送出するなどして、ＤＨＣＰサーバとして動作する他ノード２００からＩＰアドレスを取得し、取得したＩＰアドレスを自装置に対して割り当てる。
【００５４】
ＰＡＮ指定判定部２６０は、ＤＨＣＰアドレス取得部２５０が取得したＩＰアドレスと、周囲のノードのＩＰアドレスとの比較を行い、両者が重複する可能性があるか否かを判定する。具体的には、ＰＡＮ指定判定部２６０は、通信部２１０で受信されたＩＰパケットの送信元ＩＰアドレスを取得し、ＤＨＣＰアドレス取得部２５０が取得したＩＰアドレスとの比較を行い、一致する場合には、当該ＩＰアドレスに対する処理を行う。
【００５５】
統括割当部２７０は、自装置の各部を統括するとともに、自装置に対するアドレス割り当てに用いる手法を選択する。
【００５６】
アプリケーション部２８０は、ＩＰ通信を使用するアプリケーションソフトウェアであり、たとえば、通信部２１０を介して、映像データを送受信する機能を有している。また、アプリケーション部２８０は、ＩＰ通信を行う場合にはアプリケーション通信部２９０を使用して、通信部２１０を制御する。
【００５７】
アプリケーション通信部２９０は、ＤＨＣＰアドレス取得部２５０の状況をアプリケーション部２８０に通知するともに、アプリケーション通信部２９０からの指示に応じて通信部２１０を制御する。
【００５８】
また、ノード２００は、図示しないが、ＣＰＵ（central processing unit）、制御プログラムを格納したＲＯＭ（read only memory）などの記憶媒体、ＲＡＭ（random access memory）などの作業用メモリ、および通信回路などでも実現できる。ＣＰＵが制御プログラムを実行することで、上記した各部の機能は実現される。
【００５９】
ノード２００は、初期状態ではＤＨＣＰクライアントとして動作し、周囲の状況に応じて、ＤＨＣＰサーバとして動作するモードに切り替わる。統括割当部２７０は、他の各部との連携により、ノード２００の動作状態の制御および切り替えを行う。以下、ノード２００の各部の動作について詳細に説明を行う。
【００６０】
図３は、ノード２００の動作状態の遷移を示すフローチャートである。
【００６１】
ノード２００は、初期状態では、電源が投入されていない電源ＯＦＦ状態１０００にある。この状態で電源が投入されると、ノード２００は、ＤＨＣＰクライアントとして動作するＤＨＣＰクライアント動作状態２０００へ遷移する。
【００６２】
ＤＨＣＰクライアント動作状態２０００において、ノード２００は、まず、ＤＨＣＰを用いて、ＤＨＣＰサーバとして動作する他ノードからのＩＰアドレスの取得を試みる。そして、ＩＰアドレスの取得が成功した場合には、そのままＤＨＣＰクライアント動作状態２０００を継続し、クライアント初期設定処理と、仮設定解除判定処理とを実行する。
【００６３】
クライアント初期設定処理は、サーバから取得したＩＰアドレスを、自装置に設定する処理である。仮設定解除判定処理は、自装置のＩＰアドレスの設定が仮設定であった場合に、ＤＨＣＰサーバから受信するパケットを基に仮設定の解除を判定する処理である。これらクライアント初期設定処理および仮設定解除判定処理については、後にそれぞれ図１１および図１２を参照して詳しく説明する。
【００６４】
一方、ノードからのＩＰアドレスの取得が失敗した場合には、ノード２００は、ＤＨＣＰサーバとして動作するＤＨＣＰサーバ動作状態３０００のへ遷移する。
【００６５】
ＤＨＣＰサーバ動作状態３０００において、ノード２００は、サーバ初期設定処理と、ＩＰアドレス割当処理とを実行する。
【００６６】
サーバ初期設定処理は、自装置のＩＰアドレスやアドレスプールを設定する処理である。ＩＰアドレス割当処理は、ＤＨＣＰクライアントとして動作する他ノードからの要求に応じてＩＰアドレスの割り当てを行う処理である。これらサーバ初期設定処理およびＩＰアドレス割当処理についても、後にそれぞれ図４および図１０を参照して詳しく説明する。
【００６７】
ＤＨＣＰサーバとして動作するノード２００は、サーバ初期設定処理と並行してＩＰアドレス割当処理を実行することにより、サーバ初期設定処理が完了する前に、ＤＨＣＰクライアントとして動作する他ノード２００に対してアドレス割り当てを行うことを可能にする。ただし、アドレス割り当ての対象となるノード２００に対して、そのアドレス割り当てが仮設定であることを通知する。
【００６８】
なお、ＤＨＣＰクライアント動作状態２０００あるいはＤＨＣＰサーバ動作状態３０００にあるときに、ノード２００の電源が落とされたり、ノード２００の通信機能のリセット操作が行われた場合には、電源ＯＦＦ状態１０００へ戻ることになる。したがって、一旦ＤＨＣＰサーバとしての動作を開始したものの、同一無線ＰＡＮ１００内の他ノード２００にＤＨＣＰサーバ機能を移したい場合には、双方の電源を落とし、ＤＨＣＰサーバとして機能させたい側のノード２００に先に電源を投入するようにすればよい。また、このような電源遮断と電源投入のタイミングを、自動で制御するようにしてもよい。
【００６９】
図４は、図３のＤＨＣＰサーバ動作状態３０００において実行されるサーバ初期設定処理の流れを示すフローチャートである。
【００７０】
ステップＳ３１１０において、ＤＨＣＰサーバ初期設定部２３０は、統括割当部２７０からの要求に応じて、アドレスプールを生成するとともに、生成したアドレスプールの最初のＩＰアドレスを、自装置のＩＰアドレスに決定する。
【００７１】
図５は、図１に示す無線ＰＡＮ１００におけるＩＰアドレスの体系の一例およびＩＰアドレスの一例を示す説明図である。
【００７２】
無線ＰＡＮ１００において、各ノード２００は、通信プロトコルとして、ＩＰｖ４（IP version 4）を採用している。そして、各ノード２００は、ＩＰアドレス３１０を、ネットワークアドレス３０１、ＰＡＮ指定部３０２、およびノード指定部３０３の、３つのビット列に分けて扱う。ＰＡＮ指定部３０２とノード指定部３０３を設定しているのは、ノード間でＩＰアドレスが重複して割り当てられた場合に、このことを検出し易くするためである。これについては、後に詳しく説明する。ここでは、ＩＰアドレス３１０の一例を、８ビットごとの１０進表記３１１、２進表記３１２、および下位１６ビットをＰＡＮ指定部３０２とノード指定部３０３で区切った１０進表記３１３で記述している。
【００７３】
ネットワークアドレス３０１は、同一の無線ＰＡＮ１００に属するすべてのノード２００に共通であり、所与の値が割り当てられるビット列である。ネットワークアドレス３０１が同一のノード同士は、通信が可能となっている。ここでは、ネットワークアドレス３０１は、１６ビットであり、たとえば１０進表記３１３で「１９２．１６８」が指定される。ネットマスクはネットワークアドレス３０１のビット数と対応しており、ここでは「２５５．２５５．０．０」となる。
【００７４】
無線ＰＡＮ１００における無線インタフェースの到達距離は、比較的短い。このため、比較的近い距離で、複数の無線ＰＡＮ１００が形成され、ノード２００の移動によって、これら複数の無線ＰＡＮ１００の無線通信エリアが重なり合うことがある。すると、異なる無線ＰＡＮ１００に属するはずのノード２００同士が、接続し無線通信を行ってしまう可能性がある。この場合に、異なった場所で構成された無線ＰＡＮ１００のノード２００同士が通信を開始した時に、ネットワークアドレス３０１が異なると、ルーティング設定などを変更する必要が生じる可能性がある。したがって、本実施の形態では、全ての無線ＰＡＮ１００のノード２００に、共通のネットワークアドレスを使用している。
【００７５】
ＰＡＮ指定部３０２は、ＩＰアドレス３１０において、無線ＰＡＮ１００を指定するためのビット列である。ここでは、ＰＡＮ指定部３０２は、１２ビットであり、たとえば１０進表記３１３で「３２」が指定される。したがって、２の１２乗（＝４，０９６）個の無線ＰＡＮ１００を指定することができる。
【００７６】
ノード指定部３０３は、ＩＰアドレス３１０において、ノード２００を指定するためのビット列である。ここでは、ノード指定部３０３は、４ビットであり、たとえば１０進表記３１３で「１」が指定される。このように、ノード指定部３０３のビット数は少ないため、同一の無線ＰＡＮ１００におけるＩＰアドレス３１０の重複を、容易に検出することができる。
【００７７】
なお、ネットワークアドレス３０１、ＰＡＮ指定部３０２、およびノード指定部３０３のそれぞれの配置およびビット長は、上記内容に限定されるものではない。また、ＩＰｖ６（IP version 6）など、他の通信プロトコルのアドレスを適用してもよい。さらに、「１０．ｘ．ｘ．ｘ」のようなクラスＡのプライベートアドレスを用いることも可能である。この場合は、ＰＡＮ指定部３０２とノード指定部３０３を合わせて２４ビット取ることができる。
【００７８】
図６は、ＤＨＣＰサーバ初期設定部２３０が生成するアドレスプールの構成の一例を示す説明図である。アドレスプール３５０は、ＩＰアドレス３１０、割当状態３５１、およびＭＡＣ（media access control）アドレス３５２をそれぞれ記述する複数のフィールドにより構成される。ここでは、ＩＰアドレス３１０のネットワークアドレスおよびＰＡＮ指定部の値が、図５と同様である場合を図示している。
【００７９】
ネットワークアドレス３０１とＰＡＮ指定部３０２が同じであるＩＰアドレスは、「１９２．１６８．１．０〜１９２．１６８．１．１５」である。したがって、これらのＩＰアドレス３１０のうち、ノード２００に割り当てることができないブロードキャストアドレス「１９２．１６８．１．０」を除いた、「１９２．１６８．１．１〜１９２．１６８．１．１５」が、ＩＰアドレス３１０のフィールドに記述される。
【００８０】
割当状態３５１には、対応するＩＰアドレス３１０の割り当て状態を示す情報が記述される。「空き」は、対応するＩＰアドレス３１０が、いずれのノード２００にも割り当てが行われていないことを示す。「予約中」は、対応するＩＰアドレス３１０が、いずれかのノード２００に予約されているが、割り当ては完了していないことを示す。「使用中」は、いずれかのノード２００に割り当てされており、使用されていることを示す。
【００８１】
ＭＡＣアドレス３５２には、対応するＩＰアドレス３１０が予約あるいは割り当てられているノード２００のＭＡＣアドレスが記述される。
【００８２】
ＤＨＣＰサーバとして機能するノード２００ごとにＰＡＮ指定３０２の値が異なれば、それぞれのアドレスプール３５０の間でＩＰアドレス３１０は重複しない。また、ＰＡＮ指定部３０２の値は、ＤＨＣＰサーバとして機能するノード２００のＩＰアドレス３１０にも使用される。したがって、ＤＨＣＰサーバとして機能するノード２００のＩＰアドレス３１０のＰＡＮ指定部３０２を比較するだけで、それぞれのアドレスプール３５０に記述されるＩＰアドレス３１０が重複しているか否かを判定することができる。
【００８３】
図４のステップＳ３１１０において、ＤＨＣＰサーバ初期設定部２３０は、乱数で図５に示すＰＡＮ指定部３０２の値を選択決定し、所与のネットワークアドレス３０１と組み合わせて、図６に示すアドレスプール３５０を生成し、ＤＨＣＰサーバ部２２０に保持させる。そして、ＤＨＣＰサーバ初期設定部２３０は、生成したアドレスプール３５０の最初のＩＰアドレスを、自装置のＩＰアドレスに決定する。そして、ＤＨＣＰサーバ初期設定部２３０は、決定したＩＰアドレス（以下「仮サーバアドレス」という）を、統括割当部２７０を介して、通信部２１０に設定する。すなわち、仮サーバアドレスを、自装置に対して割り当てる。
【００８４】
次に、ステップＳ３１２０において、自律割当部２４０は、仮サーバアドレスが周囲のノードで使用されていないことを確認するための要求である状況確認のＡＲＰ Ｐｒｏｂｅメッセージを、統括割当部２７０および通信部２１０を介してブロードキャスト出力する。
【００８５】
図７は、状況確認のＡＲＰ Ｐｒｏｂｅメッセージの構成を示す説明図である。
【００８６】
ＡＲＰで使用されるパケットは、メッセージの種類を記述するための「Ｏｐｃｏｄｅ」フィールド４０１を有している。また、ＡＲＰで使用されるパケットは、送信元のハードウェアアドレスを記述するための「ｓｅｎｄｅｒ ｈａｒｄｗａｒｅ ａｄｄｒｅｓｓ」フィールド４０２、送信元のＩＰアドレスを記述するための「ｓｅｎｄｅｒ ＩＰ ａｄｄｒｅｓｓ」フィールド４０３、処理の対象となるハードウェアアドレスを記述するための「ｔａｒｇｅｔ ｈａｒｄｗａｒｅ ａｄｄｒｅｓｓ」フィールド４０４、および処理の対象となるＩＰアドレスを記述するための「ｔａｒｇｅｔ ＩＰ ａｄｄｒｅｓｓ」フィールド４０５とを有している。
【００８７】
状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０の場合、図７に示すように、「Ｏｐｃｏｄｅ」フィールド４０１に、ＡＲＰ要求であることを示す値「１」が記述される。また、「ｓｅｎｄｅｒ ｈａｒｄｗａｒｅ ａｄｄｒｅｓｓ」フィールド４０２に、自装置のＭＡＣアドレスが記述され、「ｓｅｎｄｅｒ ＩＰ ａｄｄｒｅｓｓ」フィールド４０３および「ｔａｒｇｅｔ ｈａｒｄｗａｒｅ ａｄｄｒｅｓｓ」フィールド４０４には、それぞれ値「０」が記述される。そして、「ｔａｒｇｅｔ ＩＰ ａｄｄｒｅｓｓ」フィールド４０５には、ステップＳ３１１０で決定した仮サーバアドレスが記述される。
【００８８】
図４のステップＳ３１３０において、自律割当部２４０は、ステップＳ３１２０で出力した状況確認のＡＲＰ Ｐｒｏｂｅメッセージに対する応答が入力されるのを監視する。
【００８９】
各ノード２００は、自装置に既にＩＰアドレスが割り当てられているとき、そのＩＰアドレスと同一のＩＰアドレスが「ｔａｒｇｅｔ ＩＰ ａｄｄｒｅｓｓ」フィールド４０５に記述された状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０を受信すると、ＩＰアドレスの重複を示すＡＲＰ応答をブロードキャスト出力するようになっている。具体的には、ＡＲＰ Ｐｒｏｂｅメッセージ４１０の「ｓｅｎｄｅｒ ＩＰ ａｄｄｒｅｓｓ」フィールド４０３の記述と一致するＩＰアドレスが割り当てられ、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０の「ｓｅｎｄｅｒ ｈａｒｄｗａｒｅ ａｄｄｒｅｓｓ」フィールド４０２の記述と異なるＭＡＣアドレスを有するノード２００から、ＡＲＰ応答が出力される。
【００９０】
図８は、ＡＲＰ応答の構成を示す説明図であり、図７に対応するものである。
【００９１】
ＡＲＰ応答４２０の場合、「Ｏｐｃｏｄｅ」フィールド４０１に、ＡＲＰ要求に対する応答であることを示す値「２」が記述される。また、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０とは異なり、「ｓｅｎｄｅｒ ＩＰ ａｄｄｒｅｓｓ」フィールド４０３に、ＡＲＰ応答４２０の送信元のＩＰアドレスが記述される。また、「ｓｅｎｄｅｒ ｈａｒｄｗａｒｅ ａｄｄｒｅｓｓ」フィールド４０２には、ＡＲＰ応答４２０の送信元のＭＡＣアドレスが記述される。
【００９２】
図４のステップ３１２０で、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０を出力したノード２００は、他ノード２００から図８に示すＡＲＰ応答４２０を受信すると、ＡＲＰ応答４２０の「ｓｅｎｄｅｒ ＩＰ ａｄｄｒｅｓｓ」フィールド４０３の記述に含まれる他ノードのＩＰアドレス３１０のＰＡＮ指定部３０２の値と、自装置に割り当てられたＩＰアドレス３１０のＰＡＮ指定部３０２の値とを比較する。一致する場合には、直接には通信できないものの、ステップＳ３１１０で決定した仮サーバアドレスと同一のＩＰアドレスを使用するノード２００が周囲に存在していることになる。
【００９３】
したがって、自律割当部２４０は、タイムアウトになる前に状況確認のＡＲＰ応答４２０の入力があった場合には、ステップＳ３１１０へ戻り、自装置のＩＰアドレスの選択をやり直す。タイムアウトになった場合には、ステップＳ３１４０へ進む。タイムアウトの時間としては、たとえば１秒が設定される。
【００９４】
ステップＳ３１４０において、自律割当部２４０は、ＩＰアドレスの状況確認において、３回以上連続してタイムアウトとなったか否かを判断する。３回未満の場合には（Ｓ３１４０：ＮＯ）、ステップＳ３１２０へ戻り、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０を再び出力する。タイムアウトが３回以上となった場合には（Ｓ３１４０：ＹＥＳ）、ステップＳ３１１０で決定した仮サーバアドレスと同一のＩＰアドレスを使用するノードは周囲に存在しないとして、仮サーバアドレスを自装置で使用するＩＰアドレスとして選択し、ステップＳ３１５０へ進む。
【００９５】
ステップＳ３１５０において、自律割当部２４０は、仮サーバアドレスを自装置で利用することを通知する使用要求のＡＲＰ Ｐｒｏｂｅメッセージ（ＡＲＰ Ａｎｎｏｕｎｃｅｍｅｎｔ）を生成し、統括割当部２７０および通信部２１０を介して出力する。
【００９６】
図９は、使用要求のＡＲＰ Ｐｒｏｂｅメッセージの構成を示す説明図であり、図７に対応するものである。
【００９７】
使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０の場合、「Ｏｐｃｏｄｅ」フィールド４０１に、ＡＲＰ要求であることを示す値「１」が記述される。また、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０とは異なり、「ｓｅｎｄｅｒ ＩＰ ａｄｄｒｅｓｓ」フィールド４０３に、使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０の送信元のＩＰアドレスが記述される。また、「ｔａｒｇｅｔ ＩＰ ａｄｄｒｅｓｓ」フィールド４０５には、使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０の送信元で使用することが決定されたＩＰアドレスが記述される。
【００９８】
図４のステップＳ３１６０において、自律割当部２４０は、３回以上連続して図９に示す使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を出力したか否かを判断する。自律割当部２４０は、３回未満の場合には（Ｓ３１６０：ＮＯ）、ステップＳ３１５０へ戻り、使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を再び出力する。使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０の出力回数が３回以上となった場合には（Ｓ３１６０：ＹＥＳ）、ノード２００は、自装置のＩＰアドレスを確定し、一連の処理を終了する。
【００９９】
このようにして、ＤＨＣＰサーバ動作を開始したノード２００は、サーバ初期設定処理を終了し、アドレスプールと自装置のＩＰアドレスの設定が完了する。
【０１００】
ノード２００は、サーバ初期設定処理のうち、ステップＳ３１１０の処理が完了し、アドレスプールを生成した時点で、上記したＩＰアドレス割当処理を開始する。
【０１０１】
図１０は、図３のＤＨＣＰサーバ動作状態３０００において実行されるＩＰアドレス割当処理の流れを示すフローチャートである。ＤＨＣＰサーバとして機能するノード２００を検索するノード２００は、従来技術で説明したように、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージをブロードキャスト出力する。
【０１０２】
ステップＳ３２１０において、通信部２１０は、ＤＨＣＰクライアントとして動作する他ノード２００から、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージが入力されると、ＤＨＣＰサーバ部２２０に対し、そのＤＨＣＰＤＩＳＣＯＶＥＲメッセージを通知する。
【０１０３】
次に、ステップＳ３２２０において、ＤＨＣＰサーバ部２２０は、通知されたＤＨＣＰＤＩＳＣＯＶＥＲメッセージに対して、図４のステップＳ３１１０で生成されたアドレスプール３５０から、割り当ての対象となるＩＰアドレス３１０を選択する。ただし、このとき、ＤＨＣＰサーバ部２２０は、割当状態３５１が「空き」となっているＩＰアドレス３１０を選択する。そして、ＤＨＣＰサーバ部２２０は、選択したＩＰアドレス３１０の割当状態３５１を、「予約中」に書き替えるとともに、通信部２１０から通知されたＤＨＣＰＤＩＳＣＯＶＥＲメッセージに含まれるＭＡＣアドレスを、対応するＭＡＣアドレス３５２のフィールドに記述する。
【０１０４】
次に、ステップＳ３２３０において、統括割当部２７０は、自装置が既に使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を出力しているか、つまり自装置のアドレスプールが確定したか否かを判断する。具体的には、統括割当部２７０は、自律割当部２４０の状態を監視し、自装置が実行する上記ＩＰアドレス割当処理が、既に図４のＳ３１５０の処理に到達しているか否かを判断する。まだ自律割当部２４０が使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を出力していない場合には（Ｓ３２３０：ＮＯ）、ステップＳ３２４０へ進む。
【０１０５】
ステップＳ３２４０において、統括割当部２７０は、ＤＨＣＰサーバ部２２０に対し、ステップＳ３２２０で行ったＩＰアドレス３１０の設定が仮のものであることを示す仮設定フラグを、ＤＨＣＰＯＦＦＥＲメッセージに設定させる。ＤＨＣＰＯＦＦＥＲメッセージは、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージに対する応答として、ステップＳ３２２０で選択したＩＰアドレス３１０を格納して当該ＩＰアドレス３１０を提示するための信号である。
【０１０６】
ＤＨＣＰＯＦＦＥＲメッセージに仮設定フラグを設定するのは、ＩＰアドレス割当処理が、図４のステップＳ３１１０へ戻り、アドレスプールが変更されて別のＩＰアドレスを提示し直す可能性があるためである。すなわち、仮設定フラグは、ＤＨＣＰＯＦＦＥＲメッセージの受け取り側に対して、割り当てを行うＩＰアドレスが仮のものであることを通知するためである。仮設定フラグは、たとえばＤＨＣＰのフラグフィールドや、ＩＰのオプションフィールドを使用すればよい。
【０１０７】
次に、ステップＳ３２５０において、ＤＨＣＰサーバ部２２０は、通信部２１０を介して、ＤＨＣＰＯＦＦＥＲメッセージをブロードキャスト出力する。
【０１０８】
一方、自装置から使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を既に出力している場合には（Ｓ３２３０：ＹＥＳ）、ＩＰアドレス割当処理は図４のステップＳ３１１０へ戻らない。したがって、アドレスプール３５０は確定していることから、ＤＨＣＰサーバ部２２０は、仮設定フラグの設定は行わずに、そのままステップＳ３２５０へ進み、ＤＨＣＰＯＦＦＥＲメッセージを出力する。
【０１０９】
ステップＳ３２６０において、ＤＨＣＰサーバ部２２０は、ステップＳ３２５０で出力したＤＨＣＰＯＦＦＥＲメッセージに対する応答として、ＤＨＣＰＲＥＱＵＥＳＴメッセージが通信部２１０で受信されるのを監視する。ＤＨＣＰＲＥＱＵＥＳＴメッセージは、ＤＨＣＰＯＦＦＥＲメッセージを受け取ったノード２００が、そのＤＨＣＰＯＦＦＥＲメッセージが提示するＩＰアドレスを使用することを要求するための信号である。また、ＤＨＣＰＲＥＱＵＥＳＴメッセージには、要求先として選択されたノード２００のＩＰアドレスである選択サーバＩＰアドレスが含まれている。ここで監視の対象となるのは、自装置のＩＰアドレスが、選択サーバＩＰアドレスとして指定され、かつ使用を要求するＩＰアドレスの割当状態３５１が「予約中」のものである。
【０１１０】
ＤＨＣＰサーバ部２２０は、タイムアウトになる前に該当するＤＨＣＰＲＥＱＵＥＳＴメッセージが自装置に到着した場合には（Ｓ３２６０：ＹＥＳ）、ステップＳ３２７０へ進む。一方、該当するＤＨＣＰＲＥＱＵＥＳＴメッセージが自装置に到着しないままタイムアウトになった場合には（Ｓ３２６０：ＮＯ）、ステップＳ３２８０へ進む。
【０１１１】
ステップＳ３２７０において、ＤＨＣＰサーバ部２２０は、アドレスプール３５０のうち、ＤＨＣＰＲＥＱＵＥＳＴメッセージが使用を要求するＩＰアドレス３１０に対応する割当状態３５１を、「予約中」から「使用中」へと書き替える。
【０１１２】
次に、ステップＳ３２９０において、統括割当部２７０は、再び、自装置が既に使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を出力しているかを判断する。まだ自律割当部２４０が使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を出力していない場合には（Ｓ３２９０：ＮＯ）、ステップＳ３３００へ進む。
【０１１３】
ステップＳ３３００において、統括割当部２７０は、ＤＨＣＰサーバ部２２０に対して、仮設定フラグを、今度はＤＨＣＰＡＣＫメッセージに設定させる。ＤＨＣＰＡＣＫメッセージは、周囲のノード２００に対して、ＩＰアドレス３１０の割り当てが成功したことを通知する信号であり、その割り当ての対象となるＩＰアドレス３１０を格納している。
【０１１４】
次に、ステップＳ３３１０において、ＤＨＣＰサーバ部２２０は、通信部２１０を介して、ＤＨＣＰＡＣＫメッセージをブロードキャスト出力する。
【０１１５】
そして、ステップＳ３３２０において、ＤＨＣＰサーバ部２２０は、自装置のＤＨＣＰサーバ動作を終了するか否かを判断する。ＤＨＣＰサーバ動作を継続する場合には（Ｓ３３２０：ＮＯ）、再びステップＳ３２１０へ戻り、新たなＤＨＣＰＤＩＳＣＯＶＥＲメッセージがクライアントとして動作する他ノード２００から入力されるのを監視する。ユーザ操作により無線通信の停止が指示されるなどして、ＤＨＣＰサーバ動作を終了する場合には（Ｓ３３２０：ＹＥＳ）、一連の処理を終了する。
【０１１６】
一方、ステップＳ３２８０では、ＤＨＣＰＯＦＦＥＲメッセージを出力したものの、対応するＤＨＣＰＲＥＱＵＥＳＴメッセージが到着しないことから、ＤＨＣＰサーバ部２２０は、ノード２００に対して提示したＩＰアドレス３１０の解放を設定する。すなわち、ＤＨＣＰサーバ部２２０は、アドレスプール３５０のうち、ステップＳ３２２０で選択したＩＰアドレス３１０の割当状態３５１を、「予約中」から「空き」に書き替える。そして、ステップＳ３３２０へ進む。
【０１１７】
また、ステップＳ３２７０を終えた段階で、自装置から使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を既に出力している場合は（Ｓ３２９０：ＹＥＳ）、アドレスプール３５０は確定していることから、仮設定フラグの設定は行わずに、そのままステップＳ３３１０へ進み、ＤＨＣＰＡＣＫメッセージを出力する。
【０１１８】
このようにして、ノード２００は、ＤＨＣＰサーバ動作の状態にあるときに、クライアントとして動作する他ノード２００からの要求に応じて、アドレス割り当てを行う。また、そのアドレス割り当てを行う段階でアドレスプールがまだ確定していない場合には、アドレス割り当てが仮のものであることを通知する。したがって、アドレス割り当てを受ける側では、ＤＨＣＰサーバ動作を開始したノード２００が初期設定を完了していないような早い段階で、ＤＨＣＰクライアントとして動作するための初期設定を開始し、ＩＰ通信を開始することができる。なお、統括割当部２７０は、自装置のアドレスプールが確定した時点で、ステップＳ３２３０、Ｓ３２４０、Ｓ３２９０、Ｓ３３００の処理を省略するようにしてもよい。
【０１１９】
図１１は、図３のＤＨＣＰクライアント動作状態２０００において実行されるクライアント初期設定処理の流れを示すフローチャートである。
【０１２０】
ステップＳ２１１０において、統括割当部２７０は、ＤＨＣＰアドレス取得部２５０に対してＤＨＣＰＤＩＳＣＯＶＥＲメッセージを生成させ、通信部２１０を介してブロードキャスト出力し、ＤＨＣＰサーバの検索を行う。
【０１２１】
ステップＳ２１２０において、統括割当部２７０は、ステップＳ２１１０でＤＨＣＰＤＩＳＣＯＶＥＲメッセージに対する応答として、ＤＨＣＰＯＦＦＥＲメッセージが通信部２１０で受信されるのを一定時間監視する。このＤＨＣＰＯＦＦＥＲメッセージは、ＤＨＣＰサーバとして動作する他ノード２００が、図１０に示すＩＰアドレス割当処理を行うとき、図１０のステップＳ３２５０で出力するものである。すなわち、ＤＨＣＰＯＦＦＥＲメッセージが自装置に到着する場合には、通信可能範囲内にＤＨＣＰサーバとして機能する他ノード２００が存在している。
【０１２２】
統括割当部２７０は、ＤＨＣＰＯＦＦＥＲメッセージが自装置に到着した場合には（図１１、Ｓ２１２０：ＹＥＳ）、ＤＨＣＰアドレス取得部２５０に対してＤＨＣＰＯＦＦＥＲメッセージを渡し、ステップＳ２１３０へ進む。そして、統括割当部２７０は、自装置のＤＨＣＰクライアント動作状態を継続させる。このとき、通信可能範囲内にＤＨＣＰサーバとして機能する他ノード２００が複数存在している場合には、複数のＤＨＣＰＯＦＦＥＲメッセージが到着する。
【０１２３】
一方、該当するＤＨＣＰＯＦＦＥＲメッセージが到着しないままタイムアウトになった場合には（Ｓ２１２０：ＮＯ）、ステップＳ３１００へ進む。そして、統括割当部２７０は、通信可能範囲内にＤＨＣＰサーバとして機能する他ノード２００が存在していないものとして、自装置を図３のＤＨＣＰサーバ動作状態３０００に遷移させる。そして、ノード２００は、図４および図１０で説明したサーバ初期設定処理およびＩＰアドレス割当処理を実行する。
【０１２４】
ステップＳ２１３０において、ＤＨＣＰアドレス取得部２５０は、入力されたそれぞれのＤＨＣＰＯＦＦＥＲメッセージから、提示されるＩＰアドレス３１０を取得するとともに、各ＤＨＣＰＯＦＦＥＲメッセージに仮設定フラグが設定されているか否かを判別する。この仮設定フラグは、ＤＨＣＰサーバとして動作する他ノード２００が、図１０のステップＳ３２４０で設定するものである。すなわち、仮設定フラグが設定されているか否かによって、そのＤＨＣＰＯＦＦＥＲメッセージで提示されるＩＰアドレスが、後で変更される可能性があるか否かを判断することができる。
【０１２５】
仮設定フラグが設定されているＤＨＣＰＯＦＦＥＲメッセージについては、（Ｓ２１３０：ＹＥＳ）、ステップＳ２１４０へ進む。仮設定フラグが設定されていないＤＨＣＰＯＦＦＥＲメッセージについては、（Ｓ２１３０：ＮＯ）、ステップＳ２１４０を経ることなく、ステップＳ２１４０の次のステップＳ２１５０へ進む。
【０１２６】
ステップＳ２１４０において、ＤＨＣＰアドレス取得部２５０は、該当するＩＰアドレスに対して、内部的に仮設定フラグを立てる。
【０１２７】
ステップＳ２１５０において、ＤＨＣＰアドレス取得部２５０は、ＤＨＣＰＯＦＦＥＲメッセージによって提示されたＩＰアドレスの中から、自装置で使用することを要求するＩＰアドレスを選択する。このとき、ＤＨＣＰアドレス取得部２５０は、仮設定フラグが立っていないＩＰアドレスが存在する場合には、仮設定フラグが立っていないＩＰアドレスの中から選択を行う。また、ＤＨＣＰアドレス取得部２５０は、提示されたＩＰアドレスが複数である場合には、例えば最初に提示されたＤＨＣＰＯＦＦＥＲメッセージの相手先から提示されたＩＰアドレスを、優先的に選択する。
【０１２８】
次に、ステップＳ２１６０において、ＤＨＣＰアドレス取得部２５０は、ＤＨＣＰＲＥＱＵＥＳＴメッセージを生成し、統括割当部２７０および通信部２１０を介してブロードキャスト出力する。このとき、ＤＨＣＰアドレス取得部２５０は、ＤＨＣＰＲＥＱＵＥＳＴメッセージに、ステップＳ２１５０で選択したＩＰアドレスを、要求ＩＰアドレスとして指定するとともに、当該ＩＰアドレスを提示したノード２００のＩＰアドレスを、選択サーバＩＰアドレスとして指定する。
【０１２９】
次に、ステップＳ２１７０において、ＤＨＣＰアドレス取得部２５０は、ステップＳ２１６０で送出したＤＨＣＰＲＥＱＵＥＳＴメッセージに対する応答として、ＤＨＣＰＡＣＫメッセージを受信する。このＤＨＣＰＡＣＫメッセージは、ＤＨＣＰサーバとして動作する他のノード２００が、図１０のステップＳ３３１０で出力するものである。
【０１３０】
次に、ステップＳ２１８０において、ＤＨＣＰアドレス取得部２５０は、入力されたＤＨＣＰＡＣＫメッセージに仮設定フラグが設定されているか否かを判別する。この仮設定フラグは、ＤＨＣＰサーバとして動作する他ノード２００が、図１０のステップＳ３３００で設定するものである。すなわち、仮設定フラグが設定されている場合には、そのＤＨＣＰＡＣＫメッセージによって割り当てられるＩＰアドレスは、後で変更される可能性があるということが分かる。仮設定フラグが設定されている場合には、（Ｓ２１８０：ＹＥＳ）、ステップＳ２１９０へ進む。仮設定フラグが設定されていない場合には、（Ｓ２１８０：ＮＯ）、ステップＳ２１９０を経ることなく、ステップＳ２１９０の次のステップＳ２２００へ進む。
【０１３１】
ステップＳ２１９０において、ＤＨＣＰアドレス取得部２５０は、ステップＳ２１４０と同様に、該当するＩＰアドレスに対して、内部的に仮設定フラグを立てる。ただし、既に該当するＩＰアドレスに仮設定フラグが立っている場合には、そのままとする。
【０１３２】
ステップＳ２２００において、ＤＨＣＰアドレス取得部２５０は、ステップＳ２１５０で選択し、ステップＳ２１７０で自装置に割り当てられたＩＰアドレスを、統括割当部２７０を介して通信部２１０に設定する。通信部２１０は、ＩＰアドレスの設定に対応して、ネットマスク、デフォルトのゲートウェイのアドレス、ＤＮＳ（domain name system）サーバのアドレスなど、ＤＨＣＰで取得できる各種情報を取得し、自装置に設定する。そして、一連の処理を終了する。
【０１３３】
このようにして、ノード２００は、ＤＨＣＰクライアントとして、ＩＰ通信が可能な状態となる。なお、ステップＳ２１３０とステップＳ２１８０の２段階で仮設定の有無をチェックするため、複数のサーバから提示される複数のＩＰアドレスの中に仮設定ではないＩＰアドレスが存在している場合に、迅速にこれを選択することができる。
【０１３４】
ただし、自装置に割り当てられたＩＰアドレスが仮設定の場合、そのＩＰアドレスは変更される可能性があるだけでなく、他のノード２００と重複して設定されている可能性がある。
【０１３５】
そこで、アプリケーション通信部２９０は、ＤＨＣＰアドレス取得部２５０に仮設定フラグが立っているか否かを監視し、仮設定フラグが立っている状態にあるときには、これをアプリケーション部２８０に通知する。アプリケーション部２８０は、この通知を受けると、重要な情報の送信を差し控えるなどして、自己が行う通信を制限したり、アプリケーション通信部２９０に、通信部２１０に対して受信を制限させるなどの制御を行わせる。
【０１３６】
一方で、ＤＨＣＰサーバがアドレスプールを確定した場合には、自装置に割り当てられたＩＰアドレスも確定される。このとき、上記した通信の制限は、速やかに解除されるべきである。そこで、ＤＨＣＰクライアントとして動作するノード２００は、図１１のステップＳ２１２０でＤＨＣＰＯＦＦＥＲメッセージによりＩＰアドレスの提示を受けた時点で、仮設定指定を適宜解除して通常のＩＰ通信を開始するための仮設定解除判定処理を開始する。
【０１３７】
図１２は、図３のＤＨＣＰクライアント動作状態２０００において実行される仮設定解除判定処理の流れを示すフローチャートである。
【０１３８】
ステップＳ２３１０において、通信部２１０は、他ノード２００から自装置宛てに送信されるＩＰパケットを入力する。
【０１３９】
ステップＳ２３２０において、統括割当部２７０は、受信したＩＰパケットの送信元がＤＨＣＰサーバであるか否かを判断する。具体的には、統括割当部２７０は、ＩＰパケットの宛先ＩＰアドレス３１０からノード指定部３０３に記述された値を抽出し、抽出した値が「１」であるか否かを判別する。ＩＰパケットの送信元がＤＨＣＰサーバである場合には（Ｓ２３２０：ＹＥＳ）、ステップＳ２３３０へ進む。
【０１４０】
ステップＳ２３３０において、統括割当部２７０は、自装置に割り当てられたＩＰアドレス３１０に対して仮設定フラグが設定されているか否かを判別する。仮設定フラグが設定されている場合には（Ｓ２３３０：ＹＥＳ）、ステップＳ２３４０へ進む。仮設定フラグが設定されていない場合には（Ｓ２３３０：ＮＯ）、仮設定の解除の判定を行う必要が無いため、そのまま処理を終了する。
【０１４１】
ステップＳ２３４０において、統括割当部２７０は、受信したＩＰパケットに、仮設定フラグが設定されているか否かを判別する。本実施の形態では、上記したように、ＤＨＣＰＯＦＦＥＲメッセージおよびＤＨＣＰＡＣＫメッセージに設定することが可能となっている。仮設定フラグが設定されていない場合には（Ｓ２３４０：ＮＯ）、ステップＳ２３５０へ進む。
【０１４２】
ステップＳ２３５０において、ＰＡＮ指定判定部２６０は、受信したＩＰパケットの送信元ＩＰアドレス３１０のＰＡＮ指定部３０２に記述された値を抽出する。そして、ＰＡＮ指定判定部２６０は、受信したＩＰパケットから抽出した値と、ＤＨＣＰアドレス取得部２５０が図１１のステップＳ２２００でＤＨＣＰによって取得したＩＰアドレス３１０のＰＡＮ指定部３０２に記述された値とを比較する。これらの値が一致する場合には（Ｓ２３５０：ＹＥＳ）、ステップＳ２３６０へ進む。
【０１４３】
ステップＳ２３６０において、ＰＡＮ指定判定部２６０は、ＤＨＣＰサーバとして動作し、自装置に対してＩＰアドレスを提示した他ノード２００が、アドレスプールを確定してＩＰ通信を開始したものとして、ＤＨＣＰアドレス取得部２５０に対して、対応する仮設定フラグを削除させる。そして、一連の処理を終了する。
【０１４４】
また、受信したＩＰパケットの送信元がＤＨＣＰサーバではない場合や（Ｓ２３２０：ＮＯ）、受信したＩＰパケットに仮設定フラグが設定されている場合（Ｓ２３４０：ＹＥＳ）、および受信したＩＰパケットの送信元アドレスと自装置で取得したＩＰアドレス３１０とでＰＡＮ指定部３０２の値が異なる場合は（Ｓ２３５０：ＮＯ）、ステップＳ２３１０へ戻る。
【０１４５】
このようにして、ノード２００は、ＤＨＣＰクライアントとして動作するとき、ＤＨＣＰサーバとして動作する他ノード２００から割り当てられたＩＰアドレスが仮設定であったとしても、その他ノード２００から自装置宛てのＩＰパケットを受信したときに、この仮設定を速やかに解除することができる。
【０１４６】
たとえば、あるノード２００から、仮設定フラグが立てられたＤＨＣＰＯＦＦＥＲメッセージを受信した後、仮設定フラグが立てられていないＤＨＣＰＡＣＫメッセージを受信した場合、ＤＨＣＰＡＣＫメッセージを受信した時点で仮設定指定が解除されることになる。
【０１４７】
なお、たとえば、ＤＨＣＰＡＣＫメッセージの後、ＤＨＣＰサーバとして機能するノード２００から、特にパケットが送られてこない場合もある。そこで、このような場合には、能動的にＩＰアドレスの仮設定の解除の可否を問い合わせ、適宜ＩＰアドレスの取得を再試行する異常系処理を行うことが望ましい。この異常系処理としては、たとえば、仮設定が解除されないまま所定の時間が経過してタイムアウトとなった場合に、自装置のＩＰアドレスを問い合わせるＡＲＰ要求を出力するようにし、ＡＲＰ応答が受信されないままタイムアウトになった場合には、ＩＰアドレスの仮設定が継続しているものとして、再びクライアント初期設定処理を実行しなおすようにすればよい。
【０１４８】
また、このような事態を避けるために、統括割当部２７０は、自装置がＤＨＣＰサーバとして動作する際には、自装置のアドレスプールが確定した時点で、アドレス割り当てを行った他ノード２００に対して、仮設定フラグの設定されていないパケットを送るようにしてもよい。
【０１４９】
さらに、本実施の形態においては、ＰＡＮ指定判定部２６０を仮設定の削除の判定時に用いるが、移動して無線ＰＡＮ１００エリア内に進入した他の装置と自装置のＩＰアドレスが重複する可能性を判定する場合にも使用することは可能である。
【０１５０】
以下、図１に示す無線ＰＡＮ１００における各ノード２００の起動タイミングの具体例を用いて、各ノード２００の動作および信号の様子について説明する。
【０１５１】
図１３は、図１に示す無線ＰＡＮ１００の各ノード２００が初期設定を行う際の、各ノード２００の動作および信号の様子の一例を示すシーケンス図である。ここでは、第１のノード２００−１が先に電源投入され、その直後の第１のノード２００−１の初期設定が完了していない段階で、第２のノード２００−２が電源投入された場合の例を図示している。
【０１５２】
ステップＳ５１００において、時刻ｔ０に、第１のノード２００−１は電源オン（ＯＮ）状態となり、第２のノード２００−２は電源オフ（ＯＦＦ）状態のままであったとする。
【０１５３】
ステップＳ５２００において、第１のノード２００−１は、時刻ｔ０の直後に、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージをブロードキャスト出力する（図１１のステップＳ２１１０）。ただし、この時点で、第２のノード２００−２はＯＦＦ状態であるため、第１のノード２００−１に応答は返ってこない（図１１のステップＳ２１２０：ＮＯ）。
【０１５４】
ステップＳ５３００において、第１のノード２００−１は、ＤＨＣＰサーバ動作状態に入る（図１１のステップＳ３１００）。
【０１５５】
ステップＳ５４００において、ステップＳ５３００で第１のノード２００−１がＤＨＣＰサーバ動作状態に入った直後に、第２のノード２００−２がＯＮ状態になったとする。
【０１５６】
ステップＳ５５００において、第２のノード２００−２は、ＤＨＣＰＤＩＳＣＯＶＥＲメッセージをブロードキャスト出力する（図１１のステップＳ２１１０）。
【０１５７】
ステップＳ５６００において、第１のノード２００−１は、既にサーバ初期設定処理およびＩＰアドレス割当処理を開始していることから、第２のノード２００−２からのＤＨＣＰＤＩＳＣＯＶＥＲメッセージの入力に対応して、割り当ての対象となるＩＰアドレスを選択する（図１０のステップＳ３２２０）。そして、第１のノード２００−１は、ＤＨＣＰＯＦＦＥＲメッセージを送出する（図１０のステップＳ３２５０）。
【０１５８】
ここでは、第１のノード２００−１は、図６に示すアドレスプール３５０を生成し、自装置の仮サーバアドレスとして「１９２．１６８．１．１」を、第２のノード２００−２のＩＰアドレスとして「１９２．１６８．１．２」を、それぞれ選択したものとする。
【０１５９】
また、この時点で、第１のノード２００−１のサーバ初期設定処理が、図４のステップＳ３１２０に到達していなかったとする（図１０のステップＳ３２３０：ＮＯ）。この場合、上記したように、第１のノード２００−１は、送出するＤＨＣＰＯＦＦＥＲメッセージに、仮設定フラグを設定する（図１０のステップＳ３２４０）。したがって、第２のノード２００−２には、仮設定フラグが立てられたＩＰアドレス「１９２．１６８．１．２」が提供される（図１１のステップＳ２１４０）。
【０１６０】
ステップＳ５７００において、第１のノード２００−１は、サーバ初期設定処理を継続し、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０を出力する（図４のステップＳ３１２０）。ただし、この時点で第２のノード２００−２は、提供されたＩＰアドレスを使用することを決定していないため、第１のノード２００−１に応答は返ってこない。なお、第２のノード２００−２が提供されたＩＰアドレスを使用することを既に決定していたとしても、第１のノード２００−１とは異なるＩＰアドレスであるため、やはり応答は返ってこない。
【０１６１】
ステップＳ５８００において、第２のノード２００−２は、クライアント初期設定処理を継続し、ＤＨＣＰＲＥＱＵＥＳＴメッセージを出力する（図１１のステップＳ２１６０）。
【０１６２】
ステップＳ５９００において、第１のノード２００−１は、ステップＳ５８００のＤＨＣＰＲＥＱＵＥＳＴメッセージに対する応答として、ＤＨＣＰＡＣＫメッセージを出力する（図１０のステップＳ３３１０）。これにより、第２のノード２００−２は、ＩＰアドレス「１９２．１６８．１．２」が割り当てられ、ＩＰ通信が可能な状態となる。
【０１６３】
この時点で、第１のノード２００−１が、図４に示すサーバ初期設定処理において、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０をまだ１回しか出力していなかったとする（図１０のステップＳ３２３０：ＮＯ）。この場合、上記したように、第１のノード２００−１は、送出するＤＨＣＰＡＣＫメッセージに仮設定フラグを設定する（図１０のステップＳ３３００）。したがって、第２のノード２００−２のＩＰアドレスには、仮設定フラグが立てられたままとなる（図１１のステップＳ２１９０）。
【０１６４】
ステップＳ６０００において、第１のノード２００−１は、サーバ初期設定処理を継続し、状況確認のＡＲＰ Ｐｒｏｂｅメッセージ４１０をさらに２回出力する（図４のステップＳ３１２０）。ただし、第２のノード２００−２には第１のノード２００−１とは異なるＩＰアドレスが割り当てられているため、第１のノード２００−１に応答は返ってこない（図４のステップＳ３１４０：ＹＥＳ）。
【０１６５】
ステップＳ６１００において、第１のノード２００−１は、使用要求のＡＲＰ Ｐｒｏｂｅメッセージ４３０を出力し（図４のステップＳ３１４０）、やがてサーバ初期設定処理を終了する。また、第２のノード２００−２は、ＩＰアドレスに仮設定フラグが立っているものの、やがてクライアント初期設定処理を終了する。
【０１６６】
この結果、第１のノード２００−１のサーバ初期設定処理および第２のノード２００−２のクライアント初期設定処理が終了した後の時刻ｔ１には、第１のノード２００−１は、ＤＨＣＰサーバとして動作し、第２のノード２００−２は、ＤＨＣＰクライアントとして動作する。
【０１６７】
従来技術では、正常に通信を行うためには、いずれかのノードがＤＨＣＰサーバ動作状態になってから他のノードをＯＮ状態にしなければならないが、本実施の形態のノード２００では、第１のノード２００−１がＤＨＣＰサーバ動作状態になる前に、第２のノード２００−２をＯＮ状態としている。すなわち、本実施の形態では、複数のノード２００に立て続けに電源を投入しても、各ノード２００がサーバ機能とクライアント機能とを適切に選択でき、正常に通信を行うことが可能であることが分かる。また、ＤＨＣＰサーバとして動作するノード２００がアドレスプールを確定する前に、ＤＨＣＰクライアントとして動作するノード２００は、ＩＰアドレスを取得し、ＩＰ通信を開始することができる。すなわち、２つ目以降に電源が投入されたノード２００は、電源投入後、速やかにＩＰ通信を開始することができる。
【０１６８】
以上説明したように、本実施の形態によれば、ノードは、ＩＰアドレスの割り当てを行うＤＨＣＰサーバとして動作する他ノードが通信範囲内に存在しないとき、ＤＨＣＰサーバ動作状態に遷移する。そして、ノードは、ＤＨＣＰサーバとして動作するための初期設定処理と並行して、ＤＨＣＰクライアントとして動作する他ノードからの要求に応じてアドレス割り当てを行う処理を実行する。これにより、最初に電源投入が行われたノード２００は、完全にサーバとしての機能を開始していなくても、ＤＨＣＰクライアントとして動作する他ノードに対して、ＩＰアドレスを割り当てることができる。すなわち、複数のノードに立て続けに電源の投入を行っても、各ノードでサーバ機能とクライアント機能とを適切に選択することができ、無線ＰＡＮ全体の立ち上がりを高速化することができる。
【０１６９】
ただし、ＤＨＣＰサーバ動作状態に遷移したノードは、自装置に割り当てたＩＰアドレスと同一のアドレスが他ノードに既に割り当てられていないと判断する前、つまり自装置のアドレスプールを確定する前に、アドレス割り当てを行う場合には、その割り当て先に対して、アドレス割り当てが仮のものであることを通知する。すなわち、ＤＨＣＰサーバ動作状態に遷移したノードは、自己が割り当てたＩＰアドレスが変更される可能性があることを、その割り当て先に通知する。これにより、アドレス割り当てを受ける側では、割り当てられたＩＰアドレスが他のノード２００と重複していたり、変更される可能性があるということを知ることができ、重要度の高い情報の送信を禁止するというように、通信に適切な制限を加えることができる。
【０１７０】
また、ＩＰアドレスを、ネットワークアドレスと、ＰＡＮ指定部と、ノード指定部とに分け、ノード２００ごとに、ネットワークアドレスとＰＡＮ指定部とを共通にしてアドレスプールを生成する。これにより、ＤＨＣＰサーバごとに異なるＰＡＮ指定部を設定することで、簡単にＤＨＣＰサーバ間でアドレスプールのＩＰアドレスの重複が発生しないようにすることができる。
【０１７１】
さらに、ＤＨＣＰサーバ及び周囲のデバイスでは、原則としてネットワークアドレスとＰＡＮ指定部が共通であることを利用して、ＰＡＮ指定部を比較することにより、ＩＰアドレスのチェックを行う。これにより、より簡単にＤＨＣＰサーバ間におけるＩＰアドレスやアドレスプールの重複の有無を判定することができ、ＩＰアドレスのチェックの処理を高速化することができる。
【０１７２】
なお、相互に無線通信を行うことができない環境下で立ち上がった複数のノードに、同一のＩＰアドレスが割り当てられ、ノードの移動によって、後で相互に無線通信を行うことができるようになる場合も考えられる。この場合には、ＤＨＣＰサーバは、図１２のステップＳ２３５０と同様に、自装置のＩＰアドレスのＰＡＮ指定部と、受信データの送信元のＩＰアドレスのＰＡＮ指定部とを比較することにより、自装置と同じアドレスプールを持つＤＨＣＰサーバの有無を調査することができる。具体的には、自己のアドレスプールに登録されていないＭＡＣアドレスを有するノードからデータを受信したときに、その送信元のＩＰアドレスのＰＡＮ指定部が、自装置のＩＰアドレスのＰＡＮ指定部と一致する場合には、自装置と同じアドレスプールを持つＤＨＣＰサーバが存在すると判断できる。この場合には、再び図４に示すサーバ初期設定処理を実行するようにすればよい。
【０１７３】
また、以上説明した実施の形態では、本発明をテレビジョンおよびハードディスクレコーダに適用した例を説明したが、固定電話機、携帯電話機、ビデオデッキ、スピーカ、ゲーム機器など、他の各種電子機器に対して適用できることは勿論である。特に、たとえば、現金決済など、個人情報が含まれた重要な通信を行う可能性がある電子機器では、仮設定の間は重要な情報の送信は抑止することができる。また、仮設定の間は、重要な情報の送信を抑止する一方で、ウエブ（web）アクセスやストリーミングなど、ＩＰアドレスの変更による途切れや情報の流出がある程度許容されるような通信については通常通り行う、というように、通信の可否を適切に使い分けることができる。すなわち、ＰＡＮの立ち上がりの高速化と、安全性の確保とを、両立させることができる。
【産業上の利用可能性】
【０１７４】
本発明に係る通信装置および通信方法は、周囲の状況に応じてサーバ機能とクライアント機能を切り替えることができるとともに、より使い勝手の向上させることができ、固定電話機、携帯電話機、テレビジョン、ビデオデッキ、ハードディスクレコーダ、スピーカ、ゲーム機器など、他の各種電子機器などに有用である。
【図面の簡単な説明】
【０１７５】
【図１】本発明の一実施の形態に係る通信装置を配置した無線ＰＡＮの構成を示すシステム構成図
【図２】本実施の形態に係る通信装置の構成を示すブロック図
【図３】本実施の形態に係る通信装置の動作状態の遷移を示すフローチャート
【図４】本実施の形態に係る通信装置におけるサーバ初期設定処理の流れを示すフローチャート
【図５】本実施の形態に係る通信装置を配置した無線ＰＡＮにおけるＩＰアドレスの体系の一例およびＩＰアドレスの一例を示す説明図
【図６】本実施の形態に係る通信装置が生成するアドレスプールの構成の一例を示す説明図
【図７】本実施の形態に係る状況確認のＡＲＰ Ｐｒｏｂｅメッセージの構成を示す説明図
【図８】本実施の形態に係る状況確認のＡＲＰ応答の構成を示す説明図
【図９】本実施の形態に係る使用要求のＡＲＰ Ｐｒｏｂｅメッセージの構成を示す説明図
【図１０】本実施の形態に係る通信装置におけるＩＰアドレス割当処理の流れを示すフローチャート
【図１１】本実施の形態に係る通信装置におけるクライアント初期設定処理の流れを示すフローチャート
【図１２】本実施の形態に係る通信装置における仮設定解除判定処理の流れを示すフローチャート
【図１３】本実施の形態に係る通信装置が初期設定を行う際の、各通信装置の動作および信号の様子の一例を示すシーケンス図
【図１４】従来の通信装置を用いたＰＡＮの構成の一例を示すシステム構成図
【図１５】従来の通信装置の構成を示すブロック図
【図１６】従来の通信装置を用いたＰＡＮにおける初期設定の動作の流れを示すフローチャート
【図１７】従来の通信装置が初期設定を行う際の、各通信装置の動作および信号の様子の一例を示すシーケンス図
【符号の説明】
【０１７６】
１００  無線ＰＡＮ
２００  ノード
２１０  通信部
２２０  ＤＨＣＰサーバ部
２３０  ＤＨＣＰサーバ初期設定部
２４０  自律割当部
２５０  ＤＨＣＰアドレス取得部
２６０  ＰＡＮ指定判定部
２７０  統括割当部
２８０  アプリケーション部
２９０  アプリケーション通信部
３００  無線通信路
【図１】
2008061146.tif 000003
【図２】
2008061146.tif 000004
【図３】
2008061146.tif 000005
【図４】
2008061146.tif 000006
【図５】
2008061146.tif 000007
【図６】
2008061146.tif 000008
【図７】
2008061146.tif 000009
【図８】
2008061146.tif 000010
【図９】
2008061146.tif 000011
【図１０】
2008061146.tif 000012
【図１１】
2008061146.tif 000013
【図１２】
2008061146.tif 000014
【図１３】
2008061146.tif 000015
【図１４】
2008061146.tif 000016
【図１５】
2008061146.tif 000017
【図１６】
2008061146.tif 000018
【図１７】
2008061146.tif 000019