(57)【特許請求の範囲】
【請求項１】
アドホックネットワークに含まれる通信ノード群に含まれるいずれかの通信ノードであって、
前記通信ノード群のそれぞれに割り当てられたアドレス群を記録する記録手段と、
他の通信ノードから前記アドホックネットワークに対する接続要求を受け付けた場合に、前記他の通信ノードに割り当てられたアドレスの情報を取得し、取得した前記アドレスが前記記録手段に記録されたアドレス群のいずれかと一致するか否かを判定する判定手段と、
前記判定手段によってアドレスが一致すると判定された場合に、前記アドレス群のいずれとも一致しないアドレスを生成する生成手段と、
生成したアドレスを、前記他の通信ノード及び前記通信ノード群に含まれる少なくとも１つの通信ノードに送信する送信手段と
を備えたことを特徴とする通信ノード。
【請求項２】
前記生成手段は、前記判定手段によってアドレスが一致すると判定された場合に、当該一致するアドレスが設定された各通信ノードに対して割り当てる一致しないアドレスを生成することを特徴とする請求項１に記載の通信ノード。
【請求項３】
前記記録手段は、通信ノードに接続された端末を識別する識別情報を更に含み、前記判定手段は、前記他の通信ノードに接続された端末の識別情報を更に取得して、識別情報が一致するか否かを判定し、前記生成手段は、前記判定手段によって識別情報が一致すると判定された場合に、他の端末と重複しない識別情報を生成し、前記他の通信ノードに当該識別情報を通知することを特徴とする請求項１又は２に記載の通信ノード。
【請求項４】
通信ノードの配下に接続された端末に実アドレスと当該端末間で一致しない仮想アドレスとを割り当て、前記端末から他の通信ノードに接続された端末に対する通信要求を取得した場合に、前記仮想アドレスを実アドレスに変換し、通信を実行させる通信処理手段を更に備えたことを特徴とする請求項１に記載の通信ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドホックネットワークに接続される通信ノードに関するものである。
【０００２】
近年、インフラストラクチャ（infrastructure）を使用することなく、複数の通信ノード間でデータ通信を実行することができるアドホックネットワーク（Ad-hoc  Network）が利用されつつある。
【０００３】
しかし、このアドホックネットワーク環境では、インフラストラクチャを使用することなくネットワークを構成するため、有線ネットワークのＤＨＣＰ（Dynamic  Host  Configuration  Protocol）のようなＩＰアドレス自動割当プロトコルを利用することができなかった。
【０００４】
したがって、アドホックネットワークに接続する通信ノードは、アドホックネットワークに接続された他の通信ノードにおけるＩＰアドレスと重複しないように、自装置のＩＰアドレスを設定する必要があった。
【０００５】
そこで、特許文献１および特許文献２では、各通信ノードが使用するＩＰアドレスの情報を、アドホックネットワークを構成している他の通信ノードに定期的に送信し、ＩＰアドレスの情報を受信した各通信ノードは、ＩＰアドレスが自装置のＩＰアドレスと重複しているか否かを判定し、ＩＰアドレスが重複している場合には、再度ＩＰアドレスを設定し直して、設定し直したＩＰアドレスを各通信ノードに送信することによって、各送信ノードのＩＰアドレスが重複することを防止している。
【０００６】
【特許文献１】
特開２００４−２７４７５０号公報
【特許文献２】
特開２００５−１２７６１号公報
【発明の開示】
しかしながら、上述した従来技術では、アドホックネットワークに接続された各通信ノードにＩＰアドレスを効率よく割り当てることができず、各通信ノード間でデータ通信を開始するまでに時間を要してしまうという問題があった。
【０００７】
なぜなら、ＩＰアドレスの重複が検出されて再度ＩＰアドレスが割り当てられる過程において、ＩＰアドレスが他の通信ノードと再び重複することがあるからである。また、複数の通信ノードがアドホックネットワークに接続されている場合には、各通信ノードのＩＰアドレスが重複する可能性が極めて高くなり、他の通信ノードと重複しないＩＰアドレスが割り当てられるまで、割り当て、検出、再割り当てが何度も繰り返されてしまう。
【０００８】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、アドホックネットワークに接続された各通信ノードに、重複しないＩＰアドレスを効率よく割り当てることができる装置を提供することと、アドレス重複を解消した結果、通信ノードのアドレスが変更されても、通信ノード配下の端末間のデータ通信を継続させることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明は、アドホックネットワークに含まれる通信ノード群に含まれるいずれかの通信ノードであって、前記通信ノード群のそれぞれに割り当てられたアドレス群を記録する記録手段と、他の通信ノードから前記アドホックネットワークに対する接続要求を受け付けた場合に、前記他の通信ノードに割り当てられたアドレスの情報を取得し、取得した前記アドレスが前記記録手段に記録されたアドレス群のいずれかと一致するか否かを判定する判定手段と、前記判定手段によってアドレスが一致すると判定された場合に、前記アドレス群のいずれとも一致しないアドレスを生成する生成手段と、生成したアドレスを、前記他の通信ノード及び前記通信ノード群に含まれる少なくとも１つの通信ノードに送信する送信手段とを備えたことを特徴とする。
【００１０】
本発明によれば、アドホックネットワークを構成している通信ノードに割り当てられたアドレスの情報であるアドレス管理情報を記録し、通信ノードからアドホックネットワークに対する接続要求を受け付けた場合に、接続要求を行った通信ノードに割り当てられたアドレスの情報を取得し、当該アドレスがアドホックネットワークを構成している通信ノードに割り当てられたアドレスのいずれかと重複するか否かを前記アドレス管理情報を基に判定し、アドレスが重複すると判定された場合に、他の通信ノードと重複しないアドレスを生成し、接続要求を行った通信ノードに対して当該アドレスを送信してアドレスを割り当てるので、従来技術のように新たなＩＰアドレスが他のＩＰアドレスと再度重複してしまうといった問題を解消することができ、通信ノードにＩＰアドレスを効率よく割り当てることができる。
【００１１】
また、また、通信ノードが、アドホックネットワークを構成している全ての通信ノード配下の端末に対し、各端末に割り当てられている実際のIPアドレスとは別の、仮想IPアドレスを割り当て、実際のIPアドレスと仮想IPアドレスを適宜変換し通信させることにより、アドレス重複を解消した結果、通信ノードのアドレスが変更されても、通信ノード配下の端末間のデータ通信は継続させることができる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかる通信ノードの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【００１３】
まず、本発明の特徴について説明する。本発明では、アドホックネットワーク（無線ＬＡＮアクセスポイントのような機器を必要としない、無線で接続できる端末＜パソコン、ＰＤＡ、携帯電話など＞のみで構成されたネットワーク）に参加する各通信ノードが、アドホックネットワークを構成している通信ノードに設定されたＩＰアドレスの情報を保持し、同一のＩＰアドレス（アドホックネットワークを構成している通信ノードのいずれかのＩＰアドレスと重複するＩＰアドレス）を持つ通信ノードからの接続要求を受け付けると、接続要求を受け付けた通信ノードは、他の通信ノードと重複しない新たなＩＰアドレスを生成して、接続要求を行った通信ノードに新たなＩＰアドレスを通知してＩＰアドレスを変更するように指示すると共に、アドホックネットワークを構成している他の通信ノードに新たなＩＰアドレスを通知する。
【００１４】
このように、本発明は、各通信ノードがアドホックネットワークを構成している全通信ノードに設定されたＩＰアドレスの情報（以下、アドレス管理情報と表記する）を保持し、アドレス管理情報を基にして、他の通信ノードと重複しないＩＰアドレスを生成し、接続要求を行った通信ノードに対してＩＰアドレスを割り振るので、従来技術のように新たなＩＰアドレスが他のＩＰアドレスと再度重複してしまうといった問題を解消することができ、通信ノードにＩＰアドレスを効率よく割り当てることができる。
【００１５】
図１は、本実施例１にかかるアドホックネットワークの一例を示す図である。同図に示すように、本実施例１にかかるアドホックネットワーク５０は、通信ノード１００〜３００によって構成されている。なお、ここでは、説明の便宜上、通信ノード１００〜３００のみを示すが、アドホックネットワーク５０は、任意の個数の通信ノードによって構成されている。
【００１６】
通信ノード１００〜３００は、アドホックネットワーク５０を構成している各通信ノードとデータ通信を行う装置である。なお、通信ノード１００〜３００に関する説明は同様であるため、以下では、通信ノード１００のみの説明を行い、通信ノード２００，３００に関する説明は省略する。
【００１７】
図２は、本実施例１にかかる通信ノードの構成を示す機能ブロック図である。同図に示すように、この通信ノード１００は、ネットワークインターフェース部１１０、制御部１２０、記憶部１３０、インターフェース部１４０〜１７０を有する。
【００１８】
ネットワークインターフェース部１１０は、所定の通信プロトコルを利用して、他の通信ノード（例えば、図１に示す通信ノード２００，３００）と通信を行う処理部である。また、インターフェース部１４０は、通信ノード１００に接続された端末１０〜３０と所定の通信プロトコルを利用して通信を行う処理部であり、インターフェース部１５０〜１７０は、端末を接続するための処理部である。なお、ここでは、説明の便宜上、インターフェース部１５０〜１７０、端末１０〜３０のみを示すが、この通信ノード１００は、任意の数のインターフェース部を有し、任意の数の端末に接続される。
【００１９】
制御部１２０は、アドホックネットワーク５０を構成している通信ノードのＩＰアドレスが重複しないように各通信ノードにＩＰアドレスを割り当てる処理部である。この制御部１２０は、通信処理部１２０ａ、アドレス割当部１２０ｂ、を有する。
【００２０】
通信処理部１２０ａは、インターフェース部１５０〜１７０に接続された端末１０〜３０と、アドホックネットワーク５０に接続された他の通信ノードに接続された端末とのデータ通信を実行するための処理部である。
【００２１】
アドレス割当部１２０ｂは、他の通信ノード（アドホックネットワーク５０に接続されていなかった通信ノード）からアドホックネットワーク５０に対する接続要求を受け付けた場合に、接続要求を行った通信ノードに割り当てられたＩＰアドレスの情報を取得し、このＩＰアドレスがアドホックネットワーク５０を構成している通信ノードに割り当てられたＩＰアドレスのいずれかと重複するか否かを記憶部１３０に記憶されたネットワーク管理情報１３０ａを基にして判定し、ＩＰアドレスが重複すると判定した場合に、他の通信ノードと重複しない新たなＩＰアドレスを生成し、接続要求を行った通信ノードとアドホックネットワーク５０を構成している通信ノードに対して新たなＩＰアドレスを送信して新たなアドホックネットワークを構成するためのＩＰアドレスを割り当てる処理部である。
【００２２】
ここで、記憶部１３０は、ネットワーク管理情報１３０ａを記憶する記憶部である。ネットワーク管理情報１３０ａは、アドホックネットワーク５０を構成している通信ノードに設定されたＩＰアドレスの情報および通信ノードのＭＡＣ（Media  Access  Control）アドレスの情報を有する。図３は、ネットワーク管理情報１３０ａの一例を示す図である。
【００２３】
図３に示すように、ネットワーク管理情報１３０ａは、ＭＡＣアドレスおよびＩＰアドレスを有する（図３に示す例では、アドホックネットワーク５０は、通信ノード１００，２００によって構成されているものとする）。ＭＡＣアドレスは、ネットワークに接続する全ての機器が持つ固有の情報であるため、このＭＡＣアドレスによって、各通信ノードを識別することができる。
【００２４】
すなわち、図３から、ＭＡＣアドレス「Ａ」を有する通信ノード（例えば、通信ノード１００）には、ＩＰアドレス「ａ」が設定されており、ＭＡＣアドレス「Ｂ」を有する通信ノードには、ＩＰアドレス「ｂ」が設定されていることがわかる。
【００２５】
アドレス割当部１２０ｂの説明に戻ると、アドレス割当部１２０ｂは、定期的に広報パケットを生成し、送信する。この広報パケットは、この広報パケットを一意に識別するためのＩＤ（以下、パケットＩＤと表記する）と、ネットワーク管理情報１３０ａが含まれる。
【００２６】
アドレス割当部１２０ｂは、通信ノード１００のＭＡＣアドレスと広報パケットを生成する時点での日時の情報とを任意の関数（どのような関数でもよい）に代入し、上記パケットＩＤを生成する。図４は、広報パケットの一例を示す図である。アドレス割当部１２０ｂは、生成したパケットＩＤを一時的に保持し、新たにパケットＩＤを生成するたびに、保持しているパケットＩＤを順次更新する。以下、アドレス割当部１２０ｂが保持するパケットＩＤを保持パケットＩＤと表記する。
【００２７】
また、アドレス割当部１２０ｂは、アドホックネットワーク５０に接近してきた他の通信ノードから広報パケットを受信した場合に、受信した広報パケットに含まれるパケットＩＤと、保持パケットＩＤとを比較し、保持パケットＩＤのほうが大きい場合（保持パケットＩＤ＞他の通信ノードから取得したパケットＩＤ）に、他の通信ノードから受信した広報パケットに含まれるネットワーク管理情報によって、記憶部１３０に記録されたネットワーク管理情報１３０ａを更新する。
【００２８】
続いて、アドレス割当部１２０ｂのアドレス割当にかかる処理について説明する。なお、ここでの処理は、通信ノード１００，２００がアドホックネットワーク５０を構成しており、通信ノード３００が新たにアドホックネットワーク５０に接続し、通信ノード１００が当該通信ノード３００にＩＰアドレスを割り振るものとする。
【００２９】
図５は、通信ノード１００のアドレス割当にかかる処理を示すシーケンス図である。同図に示すように、通信ノード３００はパケットＩＤおよび通信ノード３００のＭＡＣアドレスおよびＩＰアドレスを広報している（ステップＳ１０１）。図６は、通信ノード３００が、ステップＳ１０１において、通信ノード１００に送信するパケット（以下、接続パケット）の一例を示す図である。
【００３０】
通信ノード１００は、通信ノード３００から接続パケットを取得し、取得した接続パケットに含まれるパケットＩＤと保持パケットＩＤとを比較し、保持パケットＩＤの方が大きい場合に、ネットワーク管理情報１３０ａと接続パケットとを基にして、ＩＰアドレスが重複するか否かを判定する。
【００３１】
図３に示したネットワーク管理情報１３０ａと図６に示した接続パケットの例では、ＭＡＣアドレス「Ａ」のＩＰアドレス「ａ」とＭＡＣアドレス「Ｃ」のＩＰアドレス「ａ」とが重複しているため、アドレス割当部１２０ｂは、重複した各ＩＰアドレスを他のＩＰアドレス（重複しないＩＰアドレス）に置き換える（ステップＳ１０２）。例えば、ＭＡＣアドレス「Ａ」のＩＰアドレスを「ａ」から「ｃ」に置き換え、ＭＡＣアドレス「Ｃ」のＩＰアドレスを「ａ」から「ｄ」に置き換える。
【００３２】
続いて、アドレス割当部１２０ｂは、置き換えたＩＰアドレスに対応するように、ネットワーク管理情報１３０ａを更新すると共に、通信ノード３００にかかるＭＡＣアドレスおよびＩＰアドレスの情報をネットワーク管理情報１３０ａに追加する。図７は、情報が更新・追加された後のネットワーク管理情報１３０ａの一例を示す図である。
【００３３】
同図に示すように、このネットワーク管理情報１３０ａは、図３に示したものと比較して、ＭＡＣアドレス「Ａ」のＩＰアドレスが「ａ」から「ｃ」に置き換えられており、通信ノード３００にかかるＭＡＣアドレスおよびＩＰアドレスの情報が追加されている。
【００３４】
そして、アドレス割当部１２０ｂは、アドホックネットワーク５０を構成している他の通信ノード（図５の例では、通信ノード２００）に置き換えたＩＰアドレスの情報と、新たに加わる通信ノード（図５の例では、通信ノード３００）の情報（ＭＡＣアドレス、ＩＰアドレス）を送信し、通信ノード２００は、図７に示すネットワーク管理情報と同様のネットワーク管理情報を保持する（ステップＳ１０３）。
【００３５】
また、アドレス割当部１２０ｂは、通信ノード３００に、置き換えたＩＰアドレスと、アドホックネットワーク５０を構成していた通信ノードのＭＡＣアドレスおよびＩＰアドレスを通知する。通信ノード３００は、アドホックネットワーク５０に接続する前は、図８に示すようなネットワーク管理情報を記憶しているが、上記情報を取得することによって、図７に示すネットワーク管理情報と同様のネットワーク管理情報を保持する（ステップＳ１０４）。図８は、通信ノード３００がアドホックネットワークに接続される前に記録していたネットワーク管理情報の一例を示す図である。
【００３６】
なお、アドレス割当部１２０ｂは、通信ノード３００から取得した接続パケットに含まれているＩＰアドレスが、アドホックネットワーク５０を構成している通信ノードのＩＰアドレスと重複しない場合には、アドホックネットワーク５０を構成している通信ノードに、新たに加わる通信ノード（図５の例では、通信ノード３００）の情報（ＭＡＣアドレス、ＩＰアドレス）を送信すると共に、アドレス割当部１２０ｂは、通信ノード３００に、アドホックネットワーク５０を構成している通信ノードのＭＡＣアドレスおよびＩＰアドレスを通知する。
【００３７】
上述してきたように、本実施例１にかかる通信ノード１００は、アドレス割当部１２０ｂが、他の通信ノード（アドホックネットワーク５０に接続されていなかった通信ノード）からアドホックネットワーク５０に対する接続要求を受け付けた場合に、接続要求を行った通信ノードに割り当てられたＩＰアドレスの情報を取得し、このＩＰアドレスがアドホックネットワーク５０を構成している通信ノードに割り当てられたＩＰアドレスのいずれかと重複するか否かを記憶部１３０に記憶されたネットワーク管理情報１３０ａを基にして判定し、ＩＰアドレスが重複すると判定した場合に、他のノードと重複しない新たなＩＰアドレスを生成し、接続要求を行った通信ノードに対して重複しないＩＰアドレスを送信してアドホックネットワークに接続するためのＩＰアドレスを割り当てるので、従来技術のように新たなＩＰアドレスが他のＩＰアドレスと再度重複してしまうといった問題を解消することができ、通信ノードにＩＰアドレスを効率よく割り当てることができる。
【００３８】
また、本実施例１では、アドホックネットワーク５０を構成している通信ノードのＩＰアドレスが重複した場合に、ＩＰアドレスが重複した各通信ノードのＩＰアドレスを変換する（例えば、通信ノード１００のＩＰアドレスと通信ノード３００のＩＰアドレスが重複した場合に、通信ノード１００および通信ノード３００双方のＩＰアドレスを、元のＩＰアドレスとは異なったＩＰアドレスに変換する）ので、パケットが予期せぬ通信ノードに送信されてしまうといった問題を防止することができる。これは、IPアドレスが重複した通信ノードのうち、片方の通信ノードのIPアドレスだけを変更すると、アドレス重複の解消以前に、アドレスが変更されてしまった通信ノードに向けて送信されたデータが、アドレス重複解消の結果、アドレスが変更されなかった通信ノードに誤って配信されてしまうためである。
【実施例２】
【００３９】
つぎに、本実施例２にかかる通信ノードの特徴について説明する。上記した実施例１の通信ノード１００は、アドホックネットワーク５０を構成している通信ノードに設定されるＩＰアドレスが重複しないように各通信ノードにＩＰアドレスを割り当てたが、本実施例２にかかる通信ノードは、ＩＰアドレスのほかに、通信ノードに接続された端末のＵＲＬ（Uniform  Resource  Locator）が他の通信ノードに接続された端末のＵＲＬと重複しないように、各通信ノードの端末にＵＲＬを割り当てる。以下、通信ノードに接続されている端末のＵＲＬを端末ＵＲＬと表記する。
【００４０】
すなわち、本実施例２にかかる通信ノードは、アドホックネットワークを構成している通信ノードのＩＰアドレスの情報と端末ＵＲＬの情報とをアドレス管理情報として保持し、通信ノードは、他の通信ノードからの接続要求を取得した場合には、アドレス管理情報を基にして、他の通信ノードと重複しないＩＰアドレスおよび端末ＵＲＬを生成し、接続要求を行った通信ノードにＩＰアドレスおよび端末ＵＲＬを送信して、ＩＰアドレスおよび端末ＵＲＬを割り当てる。
【００４１】
このように、本実施例２にかかる通信ノードが、接続要求を行った通信ノードに対してＩＰアドレスおよび端末ＵＲＬを送信して、他の通信ノードと重複しないＩＰアドレスおよび端末ＵＲＬを割り当てるので、ＩＰアドレスおよび端末ＵＲＬとを迅速に通信ノードに割り当てることができ、効率よく接続要求元の通信ノードをアドホックネットワークに接続させることができる。
【００４２】
図９は、本実施例２にかかるアドホックネットワークの一例を示す図である。同図に示すように、本実施例２にかかるアドホックネットワーク６０は、通信ノード４００〜６００によって構成される。なお、ここでは、説明の便宜上、通信ノード４００〜６００のみを示すが、アドホックネットワーク６０は、任意の個数の通信ノードによって構成されている。
【００４３】
通信ノード４００〜６００は、アドホックネットワーク６０を構成している各通信ノードとデータ通信を行う装置である。なお、通信ノード４００〜６００に関する説明は同様であるため、以下では、通信ノード４００のみの説明を行い、通信ノード５００，６００に関する説明は省略する。
【００４４】
図１０は、本実施例２にかかる通信ノードの構成を示す機能ブロック図である。同図に示すように、この通信ノード４００は、制御部４１０および記憶部４２０を有する。その他の構成および要素は、図２に示した通信ノード１００と同様であるため、同様の構成要素には同一の符号を付して説明を省略する。
【００４５】
制御部４１０は、アドホックネットワーク６０を構成している通信ノードのＩＰアドレスおよび端末ＵＲＬが重複しないように、各通信ノードにＩＰアドレスおよび端末ＵＲＬを割り当てる処理部である。この制御部４１０は、通信処理部４１０ａおよびアドレス割当部４１０ａを有する。
【００４６】
通信処理部４１０ａは、インターフェース部１５０〜１７０に接続された端末１０〜３０と、アドホックネットワーク６０を構成している他の通信ノードに接続された端末とのデータ通信を実行するための処理部である。
【００４７】
アドレス割当部４１０ｂは、他の通信ノード（アドホックネットワーク６０に接続されていなかった通信ノード）からアドホックネットワーク６０に対する接続要求を受付けた場合に、接続要求を行った通信ノードに割り当てられたＩＰアドレスおよび端末ＵＲＬを取得し、このＩＰアドレスおよび端末ＵＲＬがアドホックネットワーク６０を構成している通信ノードに割り当てられたＩＰアドレスおよび端末ＵＲＬのいずれかと重複するか否かを記憶部４２０に記憶されたネットワーク管理情報４２０ａを基にして判定し、ＩＰアドレスまたは端末ＵＲＬが重複すると判定した場合に、他の通信ノードと重複しないＩＰアドレスまたは端末ＵＲＬを生成し、接続要求を行った通信ノードとアドホックネットワーク６０を構成している通信ノードに対して新たなＩＰアドレスまたは端末ＵＲＬを送信して、ＩＰアドレスおよび端末ＵＲＬを割り当てる処理部である。
【００４８】
記憶部４２０は、ネットワーク管理情報４２０ａを記憶する記憶部である。ネットワーク管理情報４２０ａは、アドホックネットワーク６０を構成している通信ノードに設定されたＩＰアドレスの情報、通信ノードのＭＡＣアドレスの情報、端末ＵＲＬ、端末ＵＲＬにかかる情報を有する。図１１は、本実施例２にかかるネットワーク管理情報４２０ａの一例を示す図である。
【００４９】
図１１に示すように、ネットワーク管理情報４２０ａは、ＭＡＣアドレス、ＩＰアドレス、ＵＲＬ（端末ＵＲＬ）、プロフィールを有する（図１１に示す例では、アドホックネットワーク６０には、通信ノード４００が接続されているものとする）。ここで、プロフィールには、端末ＵＲＬを補足説明する情報（例えば、端末使用者の氏名や、アプリケーション名など）が登録される。
【００５０】
アドレス割当部４１０ｂは、定期的に広報パケットを生成し、送信する。この広報パケットは、この広報パケットを一意に識別するためのパケットＩＤと、ネットワーク管理情報４２０ａが含まれる。
【００５１】
アドレス割当部４１０ｂは、通信ノード４００のＭＡＣアドレスと広報パケットを生成する時点での日時の情報とを任意の関数（どのような関数でもよい）に代入し、上記パケットＩＤを生成する。そして、アドレス割当部４１０ｂは、生成したパケットＩＤを一時的に保持し、新たにパケットＩＤを生成するたびに、保持しているパケットＩＤ（保持パケットＩＤ）を順次更新する。
【００５２】
また、アドレス割当部４１０ｂは、アドホックネットワーク６０を構成している他の通信ノードから広報パケットを受信した場合に、受信した広報パケットに含まれるパケットＩＤと、保持パケットＩＤとを比較し、保持パケットＩＤのほうが大きい場合（保持パケットＩＤ＞他の通信ノードから取得したパケットＩＤ）に、他の通信ノードから受信した広報パケットに含まれるネットワーク管理情報によって、記憶部７２０に記録されたネットワーク管理情報７２０ａを更新する。
【００５３】
続いて、アドレス割当部４１０ｂのアドレス割当にかかる処理について説明する。なお、ここでの処理は、通信ノード４００がアドホックネットワーク６０を構成しており、通信ノード６００が新たにアドホックネットワーク６０に接続し、通信ノード４００が通信ノード６００にＩＰアドレスおよび端末ＵＲＬを割り振るものとする。
【００５４】
図１２は、本実施例２にかかる通信ノード４００のアドレス割当にかかる処理を示すシーケンス図である。同図に示すように、通信ノード４００は、通信ノード４００に接続された端末から、端末ＵＲＬおよびプロフールの情報を取得し、ネットワーク管理情報４２０ａに登録する（ステップＳ２０１）。
【００５５】
通信ノード６００は、アドホックネットワーク６０に参入するために、接続パケットを通信ノード４００に送信する（ステップＳ２０２）。ここで、通信ノード６００が送信する接続パケットには、パケットＩＤ、ＭＡＣアドレス、ＩＰアドレス、端末ＵＲＬおよびプロフィールの情報が含まれている。図１３は、通信ノード６００が、ステップＳ２０２において、通信ノード４００に送信する接続パケットの一例を示す図である。
【００５６】
通信ノード４００は、通信ノード６００から接続パケットを取得し、取得した接続パケットに含まれるパケットＩＤと保持パケットＩＤとを比較し、保持パケットＩＤの方が大きい場合に、ネットワーク管理情報４２０ａと接続パケットとを基にして、ＩＰアドレスおよび端末ＵＲＬが重複するか否かを判定する。
【００５７】
図１１に示したネットワーク管理情報４２０ａと図１３に示した接続パケットの例では、ＭＡＣアドレス「Ａ」の端末ＵＲＬ「ｕｒｌＡ１」とＭＡＣアドレス「Ｂ」の端末ＵＲＬ「ｕｒｌＡ１」とが重複しているため、アドレス割当部４１０ｂは、重複した各ＵＲＬを他のＵＲＬに置き換える（ステップＳ２０３）。例えば、ＭＡＣアドレス「Ａ」の端末ＵＲＬ「ｕｒｌＡ１」を「ｕｒｌＡ３」に置き換え、ＭＡＣアドレス「Ｂ」の端末ＵＲＬ「ｕｒｌＡ１」を「ｕｒｌＢ１」に置き換える。
【００５８】
アドレス割当部４１０ｂは、置き換えた端末ＵＲＬに対応するように、ネットワーク管理情報４２０ａを更新すると共に、通信ノード６００にかかるＭＡＣアドレス、ＩＰアドレス、端末ＵＲＬ、プロフィールの情報をネットワーク管理情報４２０ａに追加する。図１４は、情報が更新・追加された後のネットワーク管理情報４２０ａの一例を示す図である。
【００５９】
図１４に示すように、このネットワーク管理情報４２０ａは、図１１に示したものと比較して、ＭＡＣアドレス「Ａ」の端末ＵＲＬ「ｕｒｌＡ１」が「ｕｒｌＡ３」に置き換えられており、通信ノード６００にかかるＭＡＣアドレス、ＩＰアドレス、端末ＵＲＬ、プロフィールの情報が追加されている。
【００６０】
アドレス割当部４１０ｂは、通信ノード６００に、置き換えた端末ＵＲＬと、アドホックネットワーク６０を構成している通信ノードの情報（ＭＡＣアドレス、ＩＰアドレス、端末ＵＲＬ、プロフィールの情報）を通知する。通信ノード６００は、アドホックネットワーク６０に接続する前は、図１５に示すようなネットワーク管理情報を記憶しているが、上記情報を取得することによって、図１４に示すネットワーク管理情報と同様のネットワーク管理情報を保持する（ステップＳ２０４）。図１５は、通信ノード６００がアドホックネットワーク６０に接続される前に記憶していたネットワーク管理情報の一例を示す図である。
【００６１】
なお、アドレス割当部４１０ｂは、通信ノード６００から取得した接続パケットに含まれているＩＰアドレスが、アドホックネットワーク６０を構成している通信ノードのＩＰアドレスと重複した場合には、図２に示したアドレス割当部１２０ｂと同様の手法を用いてＩＰアドレスを置き換え、通信ノード６００に置き換えたＩＰアドレスを送信し、他の通信ノードと重複しないＩＰアドレスを割り当てる。
【００６２】
上述してきたように、本実施例２にかかる通信ノード４００は、アドレス割当部４１０ｂが、他の通信ノードからアドホックネットワーク６０に対する接続要求を受付けた場合に、接続要求を行った通信ノードに割り当てられたＩＰアドレスおよび端末ＵＲＬを取得し、このＩＰアドレスおよび端末ＵＲＬがアドホックネットワーク６０に接続されている通信ノードに割り当てられたＩＰアドレスおよび端末ＵＲＬのいずれかと重複するか否かを記憶部４２０に記憶されたネットワーク管理情報４２０ａを基にして判定し、ＩＰアドレスまたは端末ＵＲＬが重複すると判定した場合に、他の通信ノードと重複しないＩＰアドレスまたは端末ＵＲＬを生成し、接続要求を行った通信ノードに対して新たなＩＰアドレスまたは端末ＵＲＬを送信して、ＩＰアドレスおよび端末ＵＲＬを割り当てるので、各通信ノードに接続された端末に重複しないＵＲＬを迅速に割り当てることができる。
【実施例３】
【００６３】
つぎに、本実施例３にかかる通信ノードの特徴について説明する。本実施例３にかかる通信ノードは、アドホックネットワークを構成している通信ノード配下の端末に、実アドレスとは別の、端末間で重複しない仮想アドレスを割り当てる。そして、通信ノード配下の端末から他の通信ノード配下の端末にパケットを送信する場合に、仮想アドレスと実アドレスを変換して、データ通信を行う。
【００６４】
このように、通信ノード間でデータ通信を行う場合に、仮想アドレスおよび実アドレスを利用することによって、通信ノードのアドレスが変更されても、端末の仮想アドレスと実アドレスの組み合わせは変化しないことから、アドレス変更後も継続してデータ通信を行うことができる。
【００６５】
図１６は、本実施例３にかかるアドホックネットワークの一例を示す図である。同図に示すように、本実施例３にかかるアドホックネットワーク７０は、通信ノード７００〜９００によって構成される。なお、ここでは、ここでは、説明の便宜上、通信ノード７００〜９００のみを示すが、アドホックネットワーク７０は、任意の個数の通信ノードによって構成されている。
【００６６】
通信ノード７００〜９００は、アドホックネットワーク７０を構成している各通信ノードとデータ通信を行う装置である。なお、通信ノード７００〜９００に関する説明は同様であるため、以下では、通信ノード７００のみの説明を行い、通信ノード８００、９００に関する説明は省略する。
【００６７】
図１７は、本実施例３にかかる通信ノードの構成を示す機能ブロック図である。同図に示すように、この通信ノード７００は、制御部７１０および記憶部７２０を有する。その他の構成および要素は、図２に示した通信ノード１００と同様であるため、同様の構成要素には同一の符号を付して説明を省略する。
【００６８】
制御部７１０は、アドホックネットワーク７０を構成している通信ノードのＩＰアドレスおよび端末ＵＲＬが重複しないように、各通信ノードにＩＰアドレスおよび端末ＵＲＬを割り当てる処理部である。また、制御部７１０は、各インターフェース１５０〜１７０に接続された端末１０〜３０に実アドレスおよび仮想アドレスを割り当てると共に、ゲートウェイアドレス（通信ノード７００の端末側ＩＰアドレス）を送信する。この制御部７１０は、アドレス割当部７１０ａおよび通信処理部７１０ｂを有する。
【００６９】
アドレス割当部７１０ａは、他の通信ノード（アドホックネットワーク７０に接続されていなかった通信ノード）からアドホックネットワーク７０に対する接続要求を受付けた場合に、接続要求を行った通信ノードに割り当てられたＩＰアドレスおよび端末ＵＲＬを取得し、このＩＰアドレスおよび端末ＵＲＬがアドホックネットワーク７０に接続されている通信ノードに割り当てられたＩＰアドレスおよび端末ＵＲＬのいずれかと重複するか否かを記憶部７２０に記憶されたネットワーク管理情報７２０ａを基にして判定し、ＩＰアドレスまたは端末ＵＲＬが重複すると判定した場合に、他の通信ノードと重複しないＩＰアドレスまたは端末ＵＲＬを生成し、接続要求を行った通信ノードに対して新たなＩＰアドレスまたは端末ＵＲＬを送信して、ＩＰアドレスおよび端末ＵＲＬを割り当てる処理部である。
【００７０】
また、アドレス割当部７１０ａは、各インターフェース１５０〜１７０に接続された端末１０〜３０に実アドレスおよび仮想アドレスを割り当てると共に、ゲートウェイアドレス（通信ノード７００の端末側ＩＰアドレス）を送信する。
【００７１】
記憶部７２０は、ネットワーク管理情報７２０ａを記憶する記憶部である。ネットワーク管理情報７２０ａは、アドホックネットワーク７０に接続された通信ノードに設定されたＩＰアドレスの情報、通信ノードのＭＡＣアドレスの情報、端末ＵＲＬ、実アドレス、仮想アドレスの情報を有する。図１８は、本実施例３にかかるネットワーク管理情報７２０ａの一例を示す図である。
【００７２】
図１８に示すように、ネットワーク管理情報７２０ａは、ＭＡＣアドレス、ＩＰアドレス、ＵＲＬ（端末ＵＲＬ）、実アドレス、仮想アドレスを有する（図１８に示す例では、アドホックネットワーク７０には、通信ノード７００および８００が接続されているものとする）。ここで、実アドレスは端末に設定されたＩＰアドレスであり、仮想アドレスは、各端末を区別するため仮想的に割り振られたアドレスである。
【００７３】
図１９は、アドホックネットワーク７０を構成している通信ノードが共有するネットワーク管理情報の一例を示す図である。また、図２０は、通信ノード８００が記憶するネットワーク管理情報の一例を示す図である。図１８〜図２０に示す様に、各通信ノードは、ＭＡＣアドレス、ＩＰアドレス、ＵＲＬ（端末ＵＲＬ）、実アドレスを共有するが、仮想アドレスに関しては、各通信ノードが独自に決定した仮想アドレスが各端末に割り振られる。
【００７４】
アドレス割当部７１０ａの説明にもどると、アドレス割当部７１０ａは、定期的に広報パケットを生成し、送信する。この広報パケットは、広報パケットを一意に識別するためのパケットＩＤと、ネットワーク管理情報７２０ａ（仮想アドレスの情報は除く）が含まれる。
【００７５】
アドレス割当部７１０ａは、通信ノード７００のＭＡＣアドレスと広報パケットを生成する時点での日時の情報とを任意の関数（どのような関数でもよい）に代入し、上記パケットＩＤを生成する。そして、アドレス割当部７１０ａは、生成したパケットＩＤを一時的に保持し、新たにパケットＩＤを生成するたびに、保持しているパケットＩＤ（保持パケットＩＤ）を順次更新する。
【００７６】
また、アドレス割当部７１０ａは、アドホックネットワーク７０を構成している他の通信ノードから広報パケットを受信した場合に、受信した広報パケットに含まれるパケットＩＤと、保持パケットＩＤとを比較し、保持パケットＩＤのほうが大きい場合（保持パケットＩＤ＞他の通信ノードから取得したパケットＩＤ）に、他の通信ノードから受信した広報パケットに含まれるネットワーク管理情報によって、記憶部７２０に記録されたネットワーク管理情報７２０ａを更新する。
【００７７】
通信処理部７１０ｂは、ネットワーク管理情報７２０ａを用いて、実アドレスと仮想アドレスとを変換し、インターフェース部１５０〜１７０に接続された端末１０〜３０と、アドホックネットワーク７０に接続された他の通信ノードに接続された端末とのデータ通信を実行する処理部である。
【００７８】
続いて、通信ノード７００にかかる処理について説明する。なお、ここでの処理は、通信ノード７００がアドホックネットワーク７０を構成しており、通信ノード８００が新たにアドホックネットワーク７０に接続し、通信ノード７００が通信ノード８００にＩＰアドレスおよび端末ＵＲＬを割り振るものとする。また、通信ノード８００にＩＰアドレスおよび端末ＵＲＬを割り振った後に、通信ノード７００と８００とが行う通信処理についてもあわせて説明する。
【００７９】
図２１は、本実施例３にかかる通信ノード７００の処理を示すシーケンス図である。同図に示すように、通信ノード７００は、アドレス割当部７１０ａが通信ノード７００に接続された端末にゲートウェイアドレス（通信ノード７００の端末側ＩＰアドレス）および実アドレスを送信すると共に、割り当てた実アドレスの情報をネットワーク管理情報７２０ａに登録する（ステップＳ３０１）。
【００８０】
通信ノード７００は、通信ノード８００から接続パケットを受信し、アドホックネットワーク７０に接続されている通信ノードのＩＰアドレスおよび端末ＵＲＬの重複を解消する（ステップＳ３０２）。ステップＳ３０２の処理は、図１２において説明した処理と同様であるため説明を省略する。
【００８１】
アドレス割当部７１０ａは、端末ＵＲＬが通信ノード８００に接続されている端末と重複していた場合には、重複しない端末ＵＲＬを作成し、作成した端末ＵＲＬを対応する端末に送信すると共に、各端末１０〜３０に仮想アドレスを割り当てる（ステップＳ３０３）。以上の工程を経て、通信ノード７００は、図１８に示したネットワーク管理情報７２０ａを保持することとなる。
【００８２】
続いて、通信処理部７１０ａが、端末１０〜３０のいずれかの端末（例えば端末１０）からあて先となる端末ＵＲＬの情報を取得した場合に、取得した端末ＵＲＬに対応する仮想アドレスを端末１０に送信する（ステップＳ３０４）。例えば、通信処理部７１０ａが、端末１０から端末ＵＲＬ「ｕｒｌＢ１」を取得した場合には、図１８のネットワーク管理情報７２０ａに基づいて仮想アドレス「ｖａｃ」を端末１０に送信する。
【００８３】
通信処理部７１０ａが、端末１０から仮想アドレス宛のパケットを受信した場合には、ネットワーク管理情報７２０ａを基にして、仮想アドレスを実アドレスに変換する。そして、通信処理部７１０ａは、端末１０の実アドレスとあて先の通信ノード配下の端末の実アドレスを、通信ノード７００のＩＰアドレス、あて先の通信ノード８００のＩＰアドレスでカプセル化し、カプセル化したパケット（以下、通信パケット）を通信ノード８００に送信する。
【００８４】
図２２は、通信パケットのデータ構造の一例を示す図である。同図に示すように、この通信パケットは、送信元ＩＰアドレス、送信元実アドレス、あて先ＩＰアドレス、あて先実ＩＰアドレスを有する。送信元ＩＰアドレスには、送信元の通信ノードのＩＰアドレスか登録され、送信元実ＩＰアドレスには、送信元の端末の実アドレスが登録される。また、あて先ＩＰアドレスには、あて先の通信ノードのＩＰアドレスが登録され、あて先実ＩＰアドレスには、あて先の端末の実アドレスが登録される。
【００８５】
通信ノード８００が通信パケットを受信すると、通信パケットをデカプセル化し、通信パケットに記録された情報および図２０に示したネットワーク管理情報（通信ノード８００は、図２０に示すネットワーク管理情報を保持しているものとする）を基にして、送信元の端末における実アドレスを仮想アドレスに変換する。
【００８６】
そして、通信ノード８００の通信処理部は、送信元の仮想アドレスおよび送信元のノードから送信されたデータなどを、あて先実アドレスを基にして、該当する端末に送信する。
【００８７】
続いて、あて先の端末から送信元の端末に所定のデータを転送する場合には、あて先となった端末が、送信元となった端末の仮想アドレスを送信先として通信ノード８００の通信処理部に渡し、通信処理部は、図２０に示したネットワーク管理情報に基づいて、仮想アドレスを実アドレスに変換し、カプセル化して通信パケットを作成し、作成した通信パケットを通信ノード７００に転送する。図２３は、通信ノード８００が通信ノード７００に転送する通信パケットの一例を示す図である。
【００８８】
通信ノード７００の通信処理部７１０ｂは、図２３に示す通信パケットを受信した場合には、ネットワーク管理情報７２０ａを基にして、送信元の仮想アドレスおよび送信元のノードから送信されたデータなどを該当する端末（ここでは端末１０）に送信する。
【００８９】
上述してきたように、本実施例３にかかる通信ノード７００は、アドレス割当部７１０ａが、通信ノード７００に接続された端末に実アドレスおよび仮想アドレスを割り当て、通信処理部７１０ｂが、異なる端末間でデータ通信を実行させる場合に、仮想アドレスを実アドレスに変換して、データ通信を実行させるので、アドホックネットワーク７０に接続された通信ノードのＩＰアドレスが変更された場合であっても、端末間でのデータ通信を継続させることができる。これは、通信ノードのＩＰアドレスが変化しても、この通信ノードに接続された端末の実アドレスおよび仮想アドレスの組み合わせは変化しないからである。
【００９０】
ところで、上記の実施例１〜３で説明した通信ノードの処理は、アドレス割当処理に係るプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図２４を用いて、上記の実施例と同様の機能を有するアドレス割当プログラムを実行するコンピュータの一例を説明する。図２４は、アドレス割当プログラムを実行するコンピュータを示す図である。
【００９１】
同図に示すように、コンピュータ（通信ノード）８０は、インターフェース装置８１、ネットワークインターフェース装置８２、ＲＡＭ８３、ＨＤＤ８４、ＲＯＭ８５およびＣＰＵ８６をバス８７で接続して構成される。ここで、インターフェース装置８１は、端末と接続するためのインターフェースであり、ネットワークインターフェース８２は、アドホックネットワークに接続するためのインターフェースである。
【００９２】
そして、ＲＯＭ８５には、上記の実施例の通信ノードと同様の機能を発揮するアドレス割当プログラム、つまり、図２４に示すように、アドレス割当プログラム８５ａおよび通信処理プログラム８５ｂが予め記憶されている。
【００９３】
そして、ＣＰＵ８６が、これらのプログラム８５ａ、８５ｂをＲＯＭ８５から読み出して実行することで、図２４に示すように、各プログラム８５ａ、８５ｂは、アドレス割当プロセス８６ａ、通信処理プロセス８６ｂとして機能するようになる。各プロセス８６ａ、８６ｂは、図２に示したアドレス割当部１２０ｂ、通信処理部１２０ａにそれぞれ対応する（図１０に示したアドレス割当部４１０ｂ、通信処理部４１０ａまたは図１７に示したアドレス割当部７１０ａ、通信処理部７１０ｂ）。
【００９４】
また、ＨＤＤ８４には、図２４に示すように、ネットワーク管理情報８４ａが記録される。このネットワーク管理情報８４ａは、図２に示したネットワーク管理情報１３０ａに対応する。ＣＰＵ８６は、ＨＤＤ８４に記憶されたネットワーク管理情報をＲＡＭ８３に読み出す。そして、ＣＰＵ８６は、アドホックネットワークに接続される他の通信ノードに対して広報パケットを定期的に送信する。そして、他の通信ノードから接続パケットを取得した場合に、当該接続パケット送信元の通信ノードに重複しないＩＰアドレスおよび端末ＵＲＬを割り当てる。
【産業上の利用可能性】
【００９５】
以上のように、本発明にかかる通信ノードは、各通信ノードが自立的にネットワークを構成、通信、解消する、アドホックネットワークにおいて、ＩＰアドレスの重複の解消、ＵＲＬによる通信および通信ノード間の通信の継続を実現する通信制御装置に対して有用である。
【図面の簡単な説明】
【００９６】
【図１】図１は、本実施例１にかかるアドホックネットワークの一例を示す図である。
【図２】図２は、本実施例１にかかる通信ノードの構成を示す機能ブロック図である。
【図３】図３は、ネットワーク管理情報の一例を示す図である。
【図４】図４は、広報パケットの一例を示す図である。
【図５】図５は、アドレス割当部のアドレス割当にかかる処理を示すシーケンス図である。
【図６】図６は、接続パケットの一例を示す図である。
【図７】図７は、情報が更新・追加された後のネットワーク管理情報の一例を示す図である。
【図８】図８は、通信ノードがアドホックネットワークに接続される前に記録していたネットワーク管理情報の一例を示す図である。
【図９】図９は、本実施例２にかかるアドホックネットワークの一例を示す図である。
【図１０】図１０は、本実施例２にかかる通信ノードの構成を示す機能ブロック図である。
【図１１】図１１は、本実施例２にかかるネットワーク管理情報の一例を示す図である。
【図１２】図１２は、本実施例２にかかる通信ノードのアドレス割当にかかる処理を示すシーケンス図である。
【図１３】図１３は、通信ノード６００が、ステップＳ２０２において、通信ノード４００に送信する接続パケットの一例を示す図である。
【図１４】図１４は、情報が更新・追加された後のネットワーク管理情報の一例を示す図である。
【図１５】図１５は、通信ノードがアドホックネットワークに接続される前に記憶していたネットワーク管理情報の一例を示す図である。
【図１６】図１６は、本実施例３にかかるアドホックネットワークの一例を示す図である。
【図１７】図１７は、本実施例３にかかる通信ノードの構成を示す機能ブロック図である。
【図１８】図１８は、本実施例３にかかる通信ノードが記憶するネットワーク管理情報を示す図である。
【図１９】図１９は、アドホックネットワークに接続される通信ノードが共有するネットワーク管理情報を示す図である。
【図２０】図２０は、通信ノード８００が記憶するネットワーク管理情報を示す図である。
【図２１】図２１は、本実施例３にかかる通信ノードの処理を示すシーケンス図である。
【図２２】図２２は、通信パケットのデータ構造の一例を示す図である。
【図２３】図２３は、通信ノード８００が通信ノード７００に転送する通信パケットの一例を示す図である。
【図２４】図２４は、アドレス割当プログラムを実行するコンピュータを示す図である。
【符号の説明】
【００９７】
１０，２０，３０  端末
５０，６０，７０  アドホックネットワーク
８０  コンピュータ
８１  インターフェース装置
８２  ネットワークインターフェース部
８３  ＲＡＭ
８３ａ，８４ａ  ネットワーク管理情報
８４  ＨＤＤ
８５  ＲＯＭ
８５ａ  アドレス割当プログラム
８５ｂ  通信処理プログラム
８６  ＣＰＵ
８６ａ  アドレス割当プロセス
８６ｂ  通信処理プロセス
８７  バス
１００，２００，３００，４００，５００，６００，７００，８００，９００  通信ノード
１１０  ネットワークインターフェース部
１２０，４１０，７１０  制御部
１２０ａ，４１０ａ，７１０ｂ  通信処理部
１２０ｂ，４１０ｂ，７１０ａ  アドレス割当部
１３０，４２０，７２０  記憶部
１３０ａ，４２０ａ，７２０ａ  ネットワーク管理情報
【図１】
0004705650.tif 000002
【図２】
0004705650.tif 000003
【図３】
0004705650.tif 000004
【図４】
0004705650.tif 000005
【図５】
0004705650.tif 000006
【図６】
0004705650.tif 000007
【図７】
0004705650.tif 000008
【図８】
0004705650.tif 000009
【図９】
0004705650.tif 000010
【図１０】
0004705650.tif 000011
【図１１】
0004705650.tif 000012
【図１２】
0004705650.tif 000013
【図１３】
0004705650.tif 000014
【図１４】
0004705650.tif 000015
【図１５】
0004705650.tif 000016
【図１６】
0004705650.tif 000017
【図１７】
0004705650.tif 000018
【図１８】
0004705650.tif 000019
【図１９】
0004705650.tif 000020
【図２０】
0004705650.tif 000021
【図２１】
0004705650.tif 000022
【図２２】
0004705650.tif 000023
【図２３】
0004705650.tif 000024
【図２４】
0004705650.tif 000025