(57)【要約】  ネットワーク装置（８０）は、ルーティングテーブル（８１）に、パケットの宛先情報が存在しない場合に、パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストする。ネットワーク装置（８０）は、経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、経路応答パケットの送信元ノードを転送先に設定してパケットを送信する。また、ネットワーク装置（８０）は、経路応答パケットを受信しない場合には、パケットの宛先情報を設定したパケットをフラッディングにより送信する。
2014073040.tif 000002
【特許請求の範囲】
【請求項１】
アドホックネットワークに含まれる他のノードの宛先情報が設定された自ネットワーク装置のルーティングテーブルに、パケットの宛先情報が存在しない場合に、前記パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストする経路要求パケット送信部と、
前記経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、前記経路応答パケットの送信元ノードを転送先に設定して前記パケットを送信し、
前記経路応答パケットを受信しない場合には、前記パケットの宛先情報を設定したパケットをフラッディングにより送信する送信制御部と
を有することを特徴とするネットワーク装置。
【請求項２】
前記アドホックネットワークに含まれる他のノードから経路要求パケットを受信し、該経路要求パケットに設定された宛先情報が、自ネットワーク装置のルーティングテーブルに存在する場合には、経路要求パケットの送信元のノードに経路応答パケットを送信し、
経路要求パケットに設定されたパケットの宛先情報が、自ネットワーク装置のルーティングテーブルに存在しない場合には、経路応答パケットの送信を行わない応答部を更に有することを特徴とするネットワーク装置。
【請求項３】
前記送信制御部は、複数の隣接ノードから経路応答パケットを受信した場合には、受信信号強度が最大となる経路応答パケットの送信元ノードを転送先に設定して前記パケットを送信することを特徴とする請求項１または２に記載のネットワーク装置。
【請求項４】
コンピュータに、
アドホックネットワークに含まれる他のノードの宛先情報が設定された自ネットワーク装置のルーティングテーブルに、パケットの宛先情報が存在しない場合に、前記パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストし、
前記経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、前記経路応答パケットの送信元ノードを転送先に設定して前記パケットを送信し、
前記経路応答パケットを受信しない場合には、前記パケットの宛先情報を設定したパケットをフラッディングにより送信する
各処理を実行させることを特徴とする送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク装置等に関する。
【背景技術】
【０００２】
アドホックネットワークにおいて、ノードが持つルーティングテーブルの情報を、Ｈｅｌｌｏｗパケットを使って伝搬させ、経路情報を構築する技術がある。この技術は、プロアクティブ型の経路構築方法に基づくものである。以下の説明では適宜、ルーティングテーブルをＲＴと表記する。【０００３】
例えば、プロアクティブ型の経路構築方法は、ハードウェアリソースが十分でない場合に、何らかの方法によってＲＴの情報量を削減する。例えば、ＧＷ（Gate  Way）向けの上り方面は、プロアクティブ型の経路構築方法を利用し、下り方向は、上り方向で構築した経路を逆順に辿るパケットを送信して、経路構築を行う。【０００４】
一方、ＲＴの情報を伝搬させない経路構築方法として、通信前に経路を作成するリアクティブ型の経路構築方法がある。リアクティブ型の経路構築方法は、通信前に経路要求（ＲＲＥＱ）をフラッディングして宛先に通知し、ＲＲＥＱを受信した宛先ノードは、経路応答（ＲＲＥＰ）をＲＲＥＱの送信元ノードに返信する。【０００５】
例えば、ＲＲＥＱを受信したノードは、ＲＲＥＱの送信元ノードの情報と、ＲＲＥＱの転送元ノードとを関連付けしてＲＴに登録できる。この為、ＲＲＥＱを受信したノードは、ＲＲＥＱの送信元にＲＲＥＰを転送することが可能となる。リアクティブ型の経路構築方法は、通信開始時にフラッディングを実施する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００９／１３０９１８号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、フラッディングによるデータパケット送信により、アドホックネットワークの通信帯域が圧迫されるという問題がある。【０００８】
リアクティブ型の経路構築方法は、通信開始時にフラッディングを実施するため、通信帯域を圧迫してしまう。【０００９】
また、プロアクティブ型の経路構築方法は、パケットの宛先情報がＲＴに存在しない場合に、かかる宛先情報を設定したブロードキャストパケットを作成してフラッディングを行うことになり、通信帯域を圧迫してしまう。【００１０】
図２７、図２８、図２９は、従来技術の問題を説明するための図である。図２７に示すように、このアドホックネットワークは、サーバ６０、ＧＷ７０、ノード１０Ａ〜１０Ｚを有する。ノード１０Ａ〜１０Ｚをまとめて適宜、ノード１０と表記する。サーバ６０およびＧＷ７０は、ネットワーク５０を介して相互に接続される。ノード１０は、隣接ノードと無線通信によって相互に接続される。ＧＷ７０は、隣接ノードと無線通信によって相互に接続される。例えば、ＧＷ７０は、ノード１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅと相互に接続される。例えば、ＧＷ７０のＲＴの宛先には、ノード１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇ，１０Ｈ，１０Ｌ，１０Ｏが登録されているものとする。【００１１】
ＧＷ７０は、サーバ６０からパケットを受信し、パケットの宛先がＲＴに登録されている場合には、ＲＴに基づいてパケットを転送する。例えば、パケットの宛先がノード１０Ｏである場合には、図２８に示すように、ＧＷ１０はパケットをノード１０Ｂに転送する。例えば、ノード１０Ｂに転送されたパケットは、ノード１０Ｇを介して、ノード１０Ｏに転送される。【００１２】
これに対して、ＧＷ７０は、サーバ６０からパケットを受信し、パケットの宛先がＲＴに登録されていない場合には、フラッディングにてデータ送信を行う。例えば、パケットの宛先がノード１０Ｍの場合には、図２９に示すように、フラッディングによりデータ送信が行われる。すなわち、ＧＷ７０は、宛先をノード１０Ｍに設定して、ブロードキャストのパケットを生成し、ブロードキャストを行う。ブロードキャストのパケットを受信した各ノード１０は、かかるパケットを再度ブロードキャストする。各ノード１０がそれぞれブロードキャストすることで、パケットがノード１０Ｍに到達する。【００１３】
上記のように、プロアクティブ型の経路構築方法では、パケットの宛先情報がＲＴに存在しない場合に、図２９に示したフラッディングが発生すると、通信帯域を圧迫してしまう。【００１４】
１つの側面では、フラッディングによるデータパケットの送信割合を削減できるネットワーク装置および送信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
第１の案では、ネットワーク装置は、経路要求パケット送信部および送信制御部を有する。経路要求パケット送信部は、他のノードの宛先情報が設定された自ネットワーク装置のルーティングテーブルに、パケットの宛先情報が存在しない場合に、パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストする。送信制御部は、経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、経路応答パケットの送信元ノードを転送先に設定してパケットを送信する。送信制御部は、経路応答パケットを受信しない場合には、パケットの宛先情報を設定したパケットをフラッディングにより送信する。
【発明の効果】
【００１６】
本発明の１実施態様によれば、フラッディングの送信割合を削減できるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、本実施例１に係るネットワーク装置の構成を示す機能ブロック図である。
【図２】図２は、本実施例２に係るアドホックネットワークの構成を示す図である。
【図３】図３は、本実施例２に係る隣接ＲＲＥＱパケットのデータ構造の一例を示す図である。
【図４】図４は、本実施例２に係る隣接ＲＲＥＰパケットのデータ構造の一例を示す図である。
【図５】図５は、本実施例２に係るデータパケットのデータ構造の一例を示す図である。
【図６】図６は、本実施例２に係るハローパケットのデータ構造の一例を示す図である。
【図７】図７は、データパケットの処理シーケンスの一例を示す図（１）である。
【図８】図８は、データパケットの処理シーケンスの一例を示す図（２）である。
【図９】図９は、ＧＷ向けの上り方向の経路構築の処理シーケンスの一例を示す図である。
【図１０】図１０は、ＧＷ向けの上り方向の経路構築で生成されるＲＴの一例を示す図である。
【図１１】図１１は、下り方向の経路構築の処理シーケンスの一例を示す図である。
【図１２】図１２は、下り方向の経路構築で生成されるＲＴの一例を示す図である。
【図１３】図１３は、下り方向の経路構築を行う場合のデータパケットの送信経路の一例を示す図である。
【図１４】図１４は、本実施例２に係るＧＷの構成を示す機能ブロック図である。
【図１５】図１５は、分岐処理部の処理手順を示すフローチャートである。
【図１６】図１６は、リンクテーブルのデータ構造の一例を示す図である。
【図１７】図１７は、ルーティングテーブルのデータ構造の一例を示す図である。
【図１８】図１８は、ＦＩＤ管理テーブルのデータ構造の一例を示す図である。
【図１９】図１９は、データパケット処理部の処理手順を示すフローチャート（１）である。
【図２０】図２０は、データパケット処理部の処理手順を示すフローチャート（２）である。
【図２１】図２１は、タイマ処理の処理手順の一例を示す図である。
【図２２】図２２は、隣接パケット処理部の処理手順を示すフローチャートである。
【図２３】図２３は、隣接ＲＲＥＰによる経路決定処理を示すフローチャート（１）である。
【図２４】図２４は、隣接ＲＲＥＰによる経路決定処理を示すフローチャート（２）である。
【図２５】図２５は、その他の実施例を説明するための図である。
【図２６】図２６は、送信プログラムを実行するコンピュータの一例を示す図である。
【図２７】図２７は、従来技術の問題を説明するための図である。
【図２８】図２８は、従来技術の問題を説明するための図である。
【図２９】図２９は、従来技術の問題を説明するための図である。
【発明を実施するための形態】
【００１８】
以下に、本発明にかかるネットワーク装置および送信プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１９】
本実施例にかかるシステムの構成について説明する。図１は、本実施例１に係るネットワーク装置の構成を示す機能ブロック図である。図１に示すように、このネットワーク装置８０は、ルーティングテーブル８１、経路要求パケット送信部８２、送信制御部８３を有する。【００２０】
ルーティングテーブル８１は、アドホックネットワークに含まれる他のノードの宛先情報が設定された情報である。【００２１】
経路要求パケット送信部８２は、ルーティングテーブル８１に、パケットの宛先情報が存在しない場合に、パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストする処理部である。【００２２】
送信制御部８３は、経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、経路応答パケットの送信元ノードを転送先に設定してパケットを送信する。送信制御部８３は、経路応答パケットを受信しない場合には、パケットの宛先情報を設定したパケットをフラッディングにより送信する。【００２３】
本実施例１に係るネットワーク装置８０の効果について説明する。ネットワーク装置８０は、ルーティングテーブル８１に、パケットの宛先情報が存在しない場合に、パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストする。ネットワーク装置８０は、経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、経路応答パケットの送信元ノードを転送先に設定してパケットを送信する。また、ネットワーク装置８０は、経路応答パケットを受信しない場合には、パケットの宛先情報を設定したパケットをフラッディングにより送信する。このため、ルーティングテーブル８１にパケットの宛先情報が存在しない場合のフラッディングの割合を削減することができ、アドホックネットワークの通信帯域を圧迫することを防止できる。
【実施例２】
【００２４】
本実施例２に係るアドホックネットワークについて説明する。図２は、本実施例２に係るアドホックネットワークの構成を示す図である。図２に示すように、このアドホックネットワークは、サーバ６０、ＧＷ１００、ノード２００Ａ〜２００Ｚを有する。ノード２００Ａ〜ノード２００Ｚをまとめて適宜、ノード２００と表記する。【００２５】
サーバ６０およびＧＷ１００は、ネットワーク５０を介して相互に接続される。ＧＷ１００は、隣接ノードと無線通信によって相互に接続される。例えば、ＧＷ１００は、ノード２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ，３００Ｅと相互に接続される。例えば、ＧＷ１００のルーティングテーブルの宛先には、ノード１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇ，１０Ｈ，１０Ｌ，１０Ｏが登録されているものとする。以下の説明において、ルーティングテーブルを適宜、ＲＴと表記する。【００２６】
ＧＷ１００、ノード２００Ａ〜２００Ｚは、ネットワーク装置の一例である。【００２７】
ＧＷ１００は、サーバ６０からパケットを受信し、パケットの宛先情報が自身のＲＴに存在しない場合には、パケットの宛先情報を設定した隣接ＲＲＥＱパケットを隣接ノードにブロードキャストする。【００２８】
ＧＷ１００は、隣接ＲＲＥＱパケットに対応する隣接ＲＲＥＰパケットを受信した場合には、隣接ＲＲＥＰパケットの送信元ノードを転送先に設定してデータパケットを送信する。これに対して、ＧＷ１００は、隣接ＲＲＥＰパケットを受信しない場合には、データパケットをフラッディングにより送信する。【００２９】
ノード２００は、ＧＷ１００または他のノードから隣接ＲＲＥＱパケットを受信し、隣接ＲＲＥＱパケットに設定された宛先情報が、自身のＲＴに存在する場合には、隣接ＲＲＥＰパケットを、隣接ＲＲＥＱパケットの送信元に送信する。これに対して、ノード２００は、隣接ＲＲＥＱパケットに設定された宛先情報が、自身のＲＴに存在しない場合には、隣接ＲＲＥＰパケットを送信しない。【００３０】
本実施例２のＧＷ１００、ノード２００は、隣接ＲＲＥＱパケット、隣接ＲＲＥＰパケット、データパケット、ハロー（Ｈｅｌｌｏ）パケット等を送受信する。以下において、隣接ＲＲＥＱパケット、隣接ＲＲＥＰパケット、データパケット、ハローパケットのデータ構造の一例について順に説明する。【００３１】
隣接ＲＲＥＱパケットのデータ構造の一例について説明する。図３は、本実施例２に係る隣接ＲＲＥＱパケットのデータ構造の一例を示す図である。図３に示すように、隣接ＲＲＥＱは、ヘッダ部と、ペイロード部とを有する。ヘッダ部は、ＧＤ、ＧＳ、ＬＤ、ＬＳ、ＴＹＰＥ、Ｌｅｎｇｈｔを有する。ペイロード部は、ＧＤ、ＦＩＤを有する。【００３２】
隣接ＲＲＥＱパケットのヘッダ部について説明する。ＧＤは、宛先アドレスを示し、ブロードキャストアドレスが設定される。例えば、ブロードキャストアドレスは全て「１」となる。ＧＳは、隣接ＲＲＥＱパケットの送信元アドレスを示し、例えば、ＧＷ１００のアドレスが設定される。ＬＤは、隣接ＲＲＥＱパケットの転送先アドレスを示し、ブロードキャストアドレスが設定される。ＬＳは、隣接ＲＲＥＱパケットの転送元アドレスが設定される。ＴＹＰＥは、パケットの種別を示す。隣接ＲＲＥＱパケットのＴＹＰＥは、「隣接ＲＲＥＱ」となる。Ｌｅｎｇｈｔは、ペイロード部のＧＤおよびＦＩＤを加算した長さを示す。【００３３】
隣接ＲＲＥＱパケットのペイロード部について説明する。ペイロード部のＧＤには、自真のＲＴに存在しない宛先アドレスが設定される。ＦＩＤは、隣接ＲＲＥＱパケットを一意に識別する情報が設定される。【００３４】
隣接ＲＲＥＰパケットのデータ構造の一例について説明する。図４は、本実施例２に係る隣接ＲＲＥＰパケットのデータ構造の一例を示す図である。図４に示すように、隣接ＲＲＥＰは、ヘッダ部と、ペイロード部とを有する。ヘッダ部は、ＧＤ、ＧＳ、ＬＤ、ＬＳ、ＴＹＰＥ、Ｌｅｎｇｈｔを有する。ペイロード部は、ＧＤ、ＦＩＤを有する。【００３５】
隣接ＲＲＥＰパケットのヘッダ部について説明する。ＧＤは、宛先アドレスを示し、隣接ＲＲＥＱパケットの送信元アドレスが設定される。ＧＳは、隣接ＲＲＥＰパケットの送信元アドレスが設定される。ＬＤは、隣接ＲＲＥＰパケットの送信元アドレスが設定される。ＬＳは、隣接ＲＲＥＰパケットの送信元アドレスが設定される。ＴＹＰＥは、パケットの種別を示す。隣接ＲＲＥＰパケットのＴＹＰＥは、「隣接ＲＲＥＰ」となる。【００３６】
隣接ＲＲＥＰパケットのペイロード部について説明する。ペイロード部のＧＤには、隣接ＲＲＥＱパケットのペイロード部のＧＤのアドレスが設定される。ＦＩＤには、隣接ＲＲＥＱパケットのＦＩＤの情報が設定される。【００３７】
データパケットのデータ構造の一例について説明する。図５は、本実施例２に係るデータパケットのデータ構造の一例を示す図である。図５に示すように、データパケットは、ＧＤ、ＧＳ、ＬＤ、ＬＳ、ＴＹＰＥ、ＦＩＤ、ＴＴＬ、ＤＡＴＡを有する。ＧＤは、宛先アドレスを示す。ＧＳは、送信元アドレスを示す。ＬＤは、転送先アドレスを示す。ＬＳは、転送元アドレスを示す。ＴＹＰＥは、パケットの種別を示す。データパケットのＴＹＰＥは、「Ｄａｔａ」となる。ＦＩＤは、データパケットを一意に識別する情報が設定される。ＴＴＬ（Time  To  Live）は、パケットの有効期間を示す値が格納される。ＤＡＴＡは、例えば、ユーザデータが格納される。【００３８】
ハローパケットのデータ構造の一例について説明する。図６は、本実施例２に係るハローパケットのデータ構造の一例を示す図である。図６に示すように、ハローパケットは、ＧＤ、ＧＳ、ＬＤ、ＬＳ、ＴＹＰＥ、ＧＷフラグ、Ｈｏｐを有する。ＧＤには、ＧＷ１００のアドレスが設定される。ＧＳは、送信元アドレスを示す。ＬＤは、ハローパケットの転送先アドレスを示す。ＬＳは、ハローパケットの転送元アドレスを示す。ＴＹＰＥは、パケットの種別を示す。ハローパケットのＴＹＰＥは、「Ｈｅｌｌｏ」となる。ＧＷフラグは、ハローパケットの送信元が、ＧＷ１００であるか否かを示す情報である。ハローパケットの送信元がＧＷ１００の場合には、ＧＷフラグは「オン（ｏｎ）」となる。ハローパケットの送信元がＧＷ１００以外の場合には、ＧＷフラグは「オフ（ｏｆｆ）」となる。Ｈｏｐは、ＧＷ１００までのＨｏｐ数を示す。【００３９】
次に、図２に示したアドホックネットワークの処理シーケンスの一例について説明する。図７および図８は、パケットの処理シーケンスの一例を示す図である。例えば、図７では、ＧＷ１００のＲＴにノード２００Ｍのエントリ登録が無く、ノード２００ＡのＲＴにノード２００Ｍのエントリ登録があるものとする。また、ノード２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ，２００ＥをＧＷ１００の隣接ノードとする。【００４０】
図７に示すように、サーバ６０はノード２００Ｍ宛のデータをＧＷ１００に送信する（ステップＳ１０）。ＧＷ１００は、ノード２００ＭがＲＴに存在しない場合に、隣接ＲＲＥＱパケットを生成する（ステップＳ１１）。ステップＳ１１において、ＧＷ１００は、隣接ＲＲＥＱパケットのペイロード部のＧＤにノード２００Ｍのアドレスを設定する。【００４１】
ＧＷ１００は、隣接ＲＲＥＱパケットを１ホップ（Ｈｏｐ）ブロードキャストする（ステップＳ１２）。ステップＳ１２の１ホップのブロードキャストにより、隣接ＲＲＥＱパケットが、ＧＷ１００に隣接するノード２００Ａ、２００Ｂ，２００Ｃ，２００Ｄ，２００Ｅ，２００Ｌに送信される。【００４２】
ノード２００Ｂ，２００Ｃ，２００Ｄ，２００Ｅ，２００Ｌは、ノード２００ＭがＲＴに存在しないため、何もしない（ステップＳ１３）。ノード２００Ａは、ノード２００ＭがＲＴに存在するため、隣接ＲＲＥＰパケットを生成する（ステップＳ１４）。ノードＡは、隣接ＲＲＥＰパケットをＧＷ１００に送信する（ステップＳ１５）。【００４３】
ＧＷ１００は、ユニキャストのデータパケットを生成し、データパケットのＧＤにノード２００Ｍのアドレスを設定し、ＬＤにノード２００Ａのアドレスを設定する（ステップＳ１６）。ＧＷ１００は、データパケットをノード２００Ａにユニキャストする（ステップＳ１７）。【００４４】
ノード２００Ａは、ＧＷ１００から受信したデータパケットをノード２００Ｌに転送する（ステップＳ１８）。ステップＳ１８において、ノード２００Ａは、データパケットのＧＤにノード２００Ｍのアドレスを設定し、ＬＤにノード２００Ｌのアドレスを設定する。【００４５】
ノード２００Ｌは、ノード２００Ａから転送されたデータパケットをノード２００Ｍに転送する（ステップＳ１９）。ステップＳ１９において、ノード２００Ｌは、データパケットのＧＤに「ノード２００Ｍ」を設定し、ＬＤに「ノード２００Ｍ」を設定する。そして、ノード２００Ｍは、データパケットを、ノード２００Ａ、２００Ｌを介して受信する（ステップＳ２０）。【００４６】
図７に示したように、ＧＷ１００は、パケットの宛先が自身のＲＴに存在しない場合に、該宛先を問い合わせる隣接ＲＲＥＱパケットをブロードキャストする。ＧＷ１００は、宛先をＲＴに有するノード２００から隣接ＲＲＥＰパケットを受信した場合に、隣接ＲＲＥＰパケットの送信元をデータパケットの転送先とする。このため、フラッディングを行わず、データパケットを宛先に送信することができる。【００４７】
次に、図８について説明する。例えば、図８では、ＧＷ１００のＲＴにノード２００Ｍのエントリ登録が無く、ノード２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ，２００ＥのＲＴにノード２００Ｍのエントリ登録が無いものとする。また、ノード２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ，２００ＥをＧＷ１００の隣接ノードとする。【００４８】
図８に示すように、サーバ６０はノード２００Ｍ宛のデータをＧＷ１００に送信する（ステップＳ３１）。ＧＷ１００は、ノード２００ＭがＲＴに存在しない場合に、隣接ＲＲＥＱを生成する（ステップＳ３２）。ステップＳ３２において、ＧＷ１００は、隣接ＲＲＥＱパケットのペイロード部のＧＤに「ノード２００Ｍ」を設定する。【００４９】
ＧＷ１００は、隣接ＲＲＥＱパケットを１ホップ（Ｈｏｐ）ブロードキャストする（ステップＳ３３）。ステップＳ３３の１ホップのブロードキャストにより、隣接ＲＲＥＱパケットが、ＧＷ１００に隣接するノード２００Ａ、２００Ｂ，２００Ｃ，２００Ｄ，２００Ｅ，２００Ｌに送信される。【００５０】
ノード２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ，２００Ｅ，２００Ｌは、ノード２００ＭがＲＴに存在しないため、何もしない（ステップＳ３４）。【００５１】
ＧＷ１００は、タイムアウト後に、ブロードキャストのデータパケットを生成し、ブロードキャストする（ステップＳ３５）。ステップＳ３５において、ＧＷは、データパケットのＧＤに「ノード２００Ｍ」を設定し、ＬＤにブロードキャストアドレスを設定することで、ブロードキャストのデータパケットを生成する。【００５２】
各ノード２００Ａ〜２００Ｅ，ノードＬがそれぞれ１回だけブロードキャストする（ステップＳ３６）。そして、ノード２００Ｍは、自分宛のデータパケットを取り込む（ステップＳ３７）。【００５３】
図８に示したように、ＧＷ１００は、パケットの宛先が自身のＲＴに存在しない場合に、該宛先を問い合わせる隣接ＲＲＥＱパケットをブロードキャストする。そして、ＧＷ１００は、タイムアウト前に、隣接ＲＲＥＰを受信しない場合には、フラッディングによってデータパケットを送信する。【００５４】
次に、ＧＷ１００向けの上り方向の経路構築の処理シーケンスの一例について説明する。図９は、ＧＷ向けの上り方向の経路構築の処理シーケンスの一例を示す図である。図９では一例として、ＧＷ１００，ノード２００Ａ，２００Ｂを用いて説明する。図１０は、ＧＷ向けの上り方向の経路構築で生成されるＲＴの一例を示す図である。図１０において、ＲＴ２０１Ａは、ノード２００ＡのＲＴである。ＲＴ２０１Ｂは、ノード２００ＢのＲＴである。【００５５】
図９に示すように、ＧＷ１００は、ハローパケットを生成する（ステップＳ４１）。ステップＳ４１において、ＧＷ１００は、ＬＳにＧＷ１００のアドレスを設定し、ＬＤにブロードキャストアドレスを設定する。ブロードキャストアドレスを適宜、ＢＣと表記する。また、ＧＷ１００は、ＴＹＰＥを「Ｈｅｌｌｏ」に設定し、ＧＷフラグを「オン」に設定する。ＧＷ１００は、ＧＤにＧＷ１００のアドレスを設定する。また、ＧＷ１００は、Ｈｏｐを「０」に設定する。【００５６】
ＧＷ１００は、ハローパケットを送信する（ステップＳ４２）。ノード２００Ａは、ハローパケットを受信し、ＲＴにエントリを追加する（ステップＳ４３）。ステップＳ４３において、ノード２００Ａは、ＲＴ２０１ＡのＧＤにＧＷ１００のアドレス、ＬＤにＧＷ１００のアドレス、Ｈｏｐに「１」を追加する。ノード２００Ａは、ハローパケットのＨｏｐの値に１を加算した値「１」を、ＲＴ２０１ＡのＨｏｐに追加する。【００５７】
ノード２００Ａは、ハローパケットを生成する（ステップＳ４４）。ステップＳ４４において、ノード２００Ａは、ＬＳにノード２００Ａのアドレスを設定し、ＬＤにＢＣを設定する。ノード２００Ａは、ＴＹＰＥを「Ｈｅｌｌｏ」に設定し、ＧＷフラグを「オン」に設定する。ノード２００Ａは、ＧＤにＧＷ１００のアドレスを設定する。また、ＧＷ１００は、ＲＴ２０１ＡのＨｏｐの値「１」を、ハローパケットのＨｏｐに設定する。【００５８】
ノード２００Ａは、ハローパケットを送信する（ステップＳ４５）。ノード２００Ｂは、ハローパケットを受信し、ＲＴにエントリを追加する（ステップＳ４６）。ステップＳ４６において、ノード２００Ｂは、ＲＴ２０１ＢのＧＤにＧＷ１００のアドレス、ＬＤにノード２００Ａのアドレス、Ｈｏｐに「２」を追加する。ノード２００Ａは、ハローパケットのＨｏｐの値に１を加算した値「２」を、ＲＴ２０１ＢのＨｏｐに追加する。【００５９】
ノード２００が、図９に示した処理を繰り返し実行することで、ＧＷ１００向けの上り方向の経路情報が構築される。【００６０】
次に、下り方向の経路構築の処理シーケンスの一例について説明する。図１１は、下り方向の経路構築の処理シーケンスの一例を示す図である。図１１では一例として、ノード２００Ｏ，２００Ｎ，２００Ｑ，２００Ｙを用いて説明する。図１２は、下り方向の経路構築で生成されるＲＴの一例を示す図である。図１２において、ＲＴ２０１Ｙは、ノード２００ＹのＲＴである。ＲＴ２０１Ｑは、ノード２００ＱのＲＴである。ＲＴ２０１Ｎは、ノード２００ＮのＲＴである。ノード２００のＲＴには、ＧＷ１００の宛先が登録されているものとする。【００６１】
ノード１００Ｏ，２００Ｎ，２００Ｑ，２００Ｙは、ＧＷ１００向けの上り方向の経路構築により、ＧＷ１００の宛先情報をＲＴに有しているものとする。下記に説明するように、ノード２００は、ＧＷ１００宛にデータパケットを送信することで、下り方向の経路構築を行う。【００６２】
図１１に示すように、ノード２００Ｙは、データパケットを生成する（ステップＳ５１）。ステップＳ５１において、ノード２００Ｙは、データパケットのＬＳにノード２００Ｙのアドレスを設定し、ＬＤにノード２００Ｑのアドレスを設定する。ノード２００Ｙは、ＴＹＰＥを「Ｄａｔａ」に設定する。ノード２００Ｙは、ＧＤにＧＷ１００のアドレスを設定し、ＧＳにノード２００Ｙのアドレスを設定する。ノード２００Ｙは、ＴＴＬに初期値１０を設定する。【００６３】
ノード２００Ｙは、データパケットを送信する（ステップＳ５２）。ノード２００Ｑは、データパケットを受信し、ＲＴ２０１Ｑにエントリを追加する（ステップＳ５３）。ステップＳ５３において、ノード２００Ｑは、ＲＴ２０１ＱのＧＤにノード２００Ｙのアドレス、ＬＤにノード２００Ｙのアドレス、Ｈｏｐに「１」を追加する。ノード２００Ｑは、ＴＴＬの初期値「１０」からデータパケットの「ＴＴＬ−１」の値「９」を、減算することで、Ｈｏｐ「１」を算出する。【００６４】
ノード２００Ｑは、データパケットを生成する（ステップＳ５４）。ステップＳ５４において、ノード２００Ｑは、ＬＳにノード２００Ｑのアドレスを設定し、ＬＤにノード２００Ｎのアドレスを設定する。ノード２００Ｑは、ＴＹＰＥを「Ｄａｔａ」に設定する。ノード２００Ｑは、ＧＤにＧＷ１００のアドレスを設定し、ＧＳにノード２００Ｙのアドレスを設定する。ノード２００Ｑは、ＴＴＬに、ノード２００Ｙから受信したデータパケットのＴＴＬから１減算した値「９」を設定する。【００６５】
ノード２００Ｑは、データパケットを送信する（ステップＳ５５）。ノード２００Ｎは、データパケットを受信し、ＲＴ２０１Ｑにエントリを追加する（ステップＳ５６）。ステップＳ５６において、ノード２００Ｎは、ＲＴ２０１Ｑにノード２００Ｙのアドレス、ＬＤにノード２００Ｑのアドレス、Ｈｏｐに「２」を追加する。ノード２００Ｎは、ＴＴＬの初期値「１０」からデータパケットの「ＴＴＬ−１」の値「８」を減算することで、Ｈｏｐ「２」を算出する。【００６６】
ノード２００Ｎは、データパケットを生成する（ステップＳ５７）。ステップＳ５７において、ノード２００Ｎは、ＬＳにノード２００Ｎのアドレスを設定し、ＬＤにノード２００Ｏのアドレスを設定する。ノード２００Ｎは、ＴＹＰＥを「ＤＡＴＡ」に設定する。ノード２００Ｎは、ＧＤにＧＷ１００のアドレスを設定し、ＧＳにノード２００Ｙのアドレスを設定する。ＴＴＬに、ノード２００Ｑから受信したデータパケットのＴＴＬから１減算した値「８」を設定する。【００６７】
ノード２００Ｎは、データパケットを送信する（ステップＳ５８）。ノードＯは、データパケットを受信し、ＲＴ２０１Ｏにエントリを追加する（ステップＳ５９）。ステップＳ５９の詳細な説明は省略する。【００６８】
上記のように、各ノード２００が、ＧＷ１００宛のデータパケットを送信することで、各ノード２００のＲＴに各宛先が登録される。図１３は、下り方向の経路構築を行う場合のデータパケットの送信経路の一例を示す図である。図１３に示すように、送信経路３０ａ，３０ｂ，３０ｃ，３０ｄ，３０ｅ，３０ｆによってデータパケットがＧＷ１００に到達したとする。そうすると、例えば、ノード２００ＡのＲＴには、ＧＷ１００，ノード２００Ｌ，２００Ｍのエントリが登録される。ノード２００ＢのＲＴには、ＧＷ１００，ノード２００Ｇ，２００Ｎ，２００Ｏ，２００Ｐ，２００Ｑ，２００Ｒ，２００Ｙのエントリが登録される。ノード２００ＣのＲＴには、ＧＷ１００のエントリが登録される。ノード２００ＤのＲＴには、ＧＷ１００，ノード２００Ｆ，ノード２００Ｈ，ノード２００Ｉ，２００Ｔ，２００Ｗ，２００Ｚ，２００Ｕ，２００Ｖのエントリが登録される。ノードＥのＲＴには、ＧＷ１００，ノード２００Ｊ，２００Ｋ，２００Ｓ，２００Ｘのエントリが登録される。【００６９】
次に、本実施例２に係るＧＷ１００およびノード２００の構成について説明する。ＧＷ２００およびノード２００の構成は同様であるため、ここでは、ＧＷ１００の構成について説明する。図１４は、本実施例２に係るＧＷの構成を示す機能ブロック図である。【００７０】
図１４に示すように、このＧＷ１００は、受信部１０１、分岐処理部１０２、リンクテーブル１０３、ルーティングテーブル１０４、自ノード情報テーブル１０５、ＦＩＤ管理テーブル１０６、ハローパケット処理部１０７を有する。また、ＧＷ１００は、ハローパケット生成部１０８、宛先処理部１０９、上位層処理部１１０、ＦＩＤ生成部１１１、データパケット処理部１１２、隣接パケット処理部１１３、送信部１１４を有する。【００７１】
受信部１０１は、他のノード２００から送信されたパケットを受信する処理部である。【００７２】
分岐処理部１０２は、パケットの種別を基にして、パケットをハローパケット処理部１０７、データパケット処理部１１２、隣接パケット処理部１１３に出力する。分岐処理部１０２は、パケットのＴＹＰＥが「Ｈｅｌｌｏ」の場合には、パケットをハローパケット処理部１０７に出力する。分岐処理部１０２は、パケットのＴＹＰＥが「ＤＡＴＡ」または「ＤＡＴＡ  ＡＣＫ」の場合には、パケットをデータパケット処理部１１２に出力する。分岐処理部１０２は、パケットのＴＹＰＥが「隣接ＲＲＥＱ」または「隣接ＲＲＥＰ」の場合には、パケットを隣接パケット処理部１１３に出力する。【００７３】
分岐処理部１０２の処理手順について説明する。図１５は、分岐処理部の処理手順を示すフローチャートである。図１５に示すように、分岐処理部１０２は、受信したパケットのＴＹＰＥが「Ｈｅｌｌｏ」であるか否かを判定する（ステップＳ１０１）。分岐処理部１０２は、パケットのＴＹＰＥが「Ｈｅｌｌｏ」の場合には（ステップＳ１０１，Ｙｅｓ）、ハローパケット処理部１０７にパケットを出力する（ステップＳ１０２）。【００７４】
一方、分岐処理部１０２は、パケットのＴＹＰＥが「Ｈｅｌｌｏ」ではない場合には（ステップＳ１０１，Ｎｏ）、パケットのＴＹＰＥが「ＤＡＴＡ」または「ＤＡＴＡ  ＡＣＫ」であるか否かを判定する（ステップＳ１０３）。分岐処理部１０２は、パケットのＴＹＰＥが「ＤＡＴＡ」または「ＤＡＴＡ  ＡＣＫ」である場合には（ステップＳ１０３，Ｙｅｓ）、データパケット処理部１１２にパケットを出力する（ステップＳ１０４）。【００７５】
一方、分岐処理部１０２は、パケットのＴＹＰＥが「ＤＡＴＡ」または「ＤＡＴＡ  ＡＣＫ」ではない場合には（ステップＳ１０３，Ｎｏ）、パケットのＴＹＰＥが「隣接ＲＲＥＱ」または「隣接ＲＲＥＰ」であるか否かを判定する（ステップＳ１０５）。分岐処理部１０２は、パケットのＴＹＰＥが「隣接ＲＲＥＱ」または「隣接ＲＲＥＰ」である場合には（ステップＳ１０５，Ｙｅｓ）、隣接パケット処理部１１３にパケットを出力する（ステップＳ１０６）。【００７６】
一方、分岐処理部１０２は、パケットのＴＹＰＥが「隣接ＲＲＥＱ」または「隣接ＲＲＥＰ」ではない場合には（ステップＳ１０５，Ｎｏ）、パケットを破棄する（ステップＳ１０７）。【００７７】
リンクテーブル１０３は、ＧＷ１００の隣接ノードの情報を保持するテーブルである。図１６は、リンクテーブルのデータ構造の一例を示す図である。例えば、図１６に示すように、リンクテーブル１０３は、隣接ノードのＬＤと、受信信号強度（ＲＳＳＩ：Received  Signal  Strength  Indication）とを対応付けて記憶する。【００７８】
ルーティングテーブル１０４は、パケットの宛先に送信するための転送先を保持するテーブルである。図１７は、ルーティングテーブルのデータ構造の一例を示す図である。例えば、図１７に示すように、ルーティングテーブル１０４は、ＧＤ、ＬＤ、Ｈｏｐを対応付ける。ＧＤは、パケットの宛先アドレスが登録される。ＬＤは、パケットの宛先に送信するための転送先のアドレスが登録される。Ｈｏｐは、パケットの宛先に至るまでのＨｏｐ数を示す。図１７に示す例では、パケットの宛先がノード２００Ｌの場合には、パケットの転送先がノード２００Ａとなる。【００７９】
自ノード情報テーブル１０５は、自ノードに関する各種の情報を保持する。【００８０】
ＦＩＤ管理テーブル１０６は、データパケットの再送、ループ検出、バックトラックを行うための情報を保持する。図１８は、ＦＩＤ管理テーブルのデータ構造の一例を示す図である。図１８に示すように、このＦＩＤ管理テーブル１０６は、ＧＳ、ＦＩＤ、データパケット、状態、受信信号強度（ＲＳＳＩ）を対応付けて記憶する。ＧＳは、パケットの送信元アドレスを示す。ＦＩＤは、パケットを一意に識別する情報である。データパケットは、データパケットのデータである。状態は、パケットの状態を示すものである。例えば、隣接ＲＲＥＰパケットの待ち状態である場合には、状態は「隣接ＲＲＥＰパケット待ち」となる。受信信号強度は、隣接ＲＲＥＰパケットを受信した場合の受信信号強度を示す。【００８１】
ハローパケット処理部１０７は、ハローパケットの情報を基にして、リンクテーブル１０３およびルーティングテーブル１０４を更新する処理部である。【００８２】
ハローパケット処理部１０７が、リンクテーブル１０３を更新する処理について説明する。ハローパケット処理部１０７は、ハローパケットのＬＳを、リンクテーブル１０３のＬＤに設定し、受信信号強度と対応付ける。ハローパケット処理部１０７は、ハローパケットの受信信号強度を計測し、リンクテーブル１０３に設定する。【００８３】
ハローパケット処理部１０７が、ルーティングテーブル１０４を更新する処理について説明する。ハローパケット処理部１０７は、図９に示したＧＷ向けの上り方向の経路構築と同様の手法により、ルーティングテーブ１０４を更新する。【００８４】
ハローパケット生成部１０８は、周期的に自ノード情報１０５とルーティングテーブル１０４からハローパケットを生成し、生成したハローパケットを、送信部１１４に出力する。ハローパケット生成部１０８が、ハローパケットを生成する処理は、図９に示したＧＷ向けの上り方向の経路構築および図１１に示した下り方向の経路構築と同様である。【００８５】
宛先処理部１０９は、パケットの宛先と、リンクテーブル１０３、ルーティングテーブル１０４とを比較して、転送先を決定する処理部である。例えば、宛先処理部１０９は、複数の転送先が、ルーティングテーブル１０４に存在する場合には、リンクテーブル１０３の受信信号強度の大きい方のノードを優先的に転送先として選択しても良い。【００８６】
上位層処理部１１０は、データパケットを使った通信の最終処理を行う処理部である。【００８７】
ＦＩＤ生成部１１１は、データパケットを一意に識別するＦＩＤを生成する処理部である。ＦＩＤと送信元アドレスとの組みにより、パケットが一意に特定される。【００８８】
データパケット処理部１１２は、データパケットを受信した場合に各種の処理を実行する処理部である。データパケット処理部１１２は、自ノード宛のデータパケットを受信した場合、または、最初のブロードキャストデータを受信した場合には、上位層処理部１１０に通知する。データパケット処理部１１２は、同一のデータパケットを重複して受信した場合には、データパケットを破棄する。【００８９】
データパケット処理部１１２は、データパケットの宛先が自ノード以外の場合に、ＦＩＤ管理テーブル１０６を参照し、再送・ループ検出・バックトラックの検出を行う。また、データパケット処理部１１２は、データパケットを転送する場合には、宛先処理部１０９から転送先を取得して送信部１１４に通知する。【００９０】
ここで、データパケット処理部１１２の処理について具体的に説明する。図１９および図２０は、データパケット処理部の処理手順を示すフローチャートである。図１９および図２０では、データパケットをＤＰと表記する。図１９に示すように、データパケット処理部１１２は、メッセージを受信したか否かを判定する（ステップＳ２０１）。【００９１】
データパケット処理部１１２は、メッセージを受信していない場合には（ステップＳ２０１，Ｎｏ）、所定時間待機し（ステップＳ２０２）、タイマ処理を実行し（ステップＳ２０３）、ステップＳ２１に移行する。【００９２】
データパケット処理部１１２は、メッセージを受信した場合には（ステップＳ２０１，Ｙｅｓ）、分岐処理部１０２からの依頼であるか否かを判定する（ステップＳ２０４）。【００９３】
データパケット処理部１１２は、分岐処理部１０２からの依頼ではない場合には（ステップＳ２０４，Ｎｏ）、上位層処理部１１０からの依頼であるか否かを判定する（ステップＳ２０５）。データパケット処理部１１２は、上位層処理部１１０からの依頼ではない場合には（ステップＳ２０５，Ｎｏ）、隣接パケット処理部１１３からの依頼であるか否かを判定する（ステップＳ２０６）。【００９４】
データパケット処理部１１２は、隣接パケット処理部１１３からの依頼ではない場合には（ステップＳ２０６，Ｎｏ）、ＤＰを破棄し（ステップＳ２０８）、ステップＳ２０１に移行する。一方、データパケット処理部１１２は、隣接パケット処理部１１３からの依頼の場合には（ステップＳ２０６，Ｙｅｓ）、受け取ったＤＰを送信部１１４に出力し（ステップＳ２０７）、ステップＳ２０１に移行する。ステップＳ２０７において、データパケット処理部１１２が、隣接パケット処理部１１３から取得するＤＰのＬＤには、他のノード２００から得られる隣接ＲＲＥＰパケットのＬＳが、設定されている。【００９５】
ステップＳ２０５の説明に戻る。データパケット処理部１１２は、上位層処理部１１０からの依頼である場合には（ステップＳ２０５，Ｙｅｓ）、ＤＰのパラメータを設定する（ステップＳ２０９）。ステップＳ２０９において、データパケット処理部１１２は、ＤＰのＧＳに自ノードのアドレスを設定し、ＧＤに上位層処理部１１０に指定された宛先アドレスを設定する。データパケット処理部１１２は、ＤＰのＬＳに自ノードのアドレスを設定し、ＨｏｐにＨｏｐ数の初期値を設定する。データパケット処理部１１２は、ＤＰのＦＩＤに、ＦＩＤ生成部１１１で生成されたＦＩＤの情報を設定する。【００９６】
データパケット処理部１１２は、宛先処理部１０９を利用して、宛先に対するエントリがＲＴ１０４にあるかを検索する（ステップＳ２１０）。【００９７】
データパケット処理部１１２は、エントリがない場合には（ステップＳ２１１，Ｎｏ）、ＦＩＤ管理テーブル１０６にエントリを登録する（ステップＳ２１２）。データパケット処理部１１２は、隣接ＲＲＥＱパケットの作成を、隣接パケット処理部１１３に依頼し（ステップＳ２１３）、ステップＳ２０１に移行する。【００９８】
一方、データパケット処理部１１２は、エントリがある場合には（ステップＳ２１１，Ｙｅｓ）、ＤＰのＬＤに転送先を設定し（ステップＳ２１４）、ＦＩＤ管理テーブル１０６にエントリを登録する（ステップＳ２１５）。データパケット処理部１１２は、ＤＰを送信部１１４に出力し（ステップＳ２１６）、ステップＳ２０１に移行する。【００９９】
ステップＳ２０４の説明に戻る。データパケット処理部１１２は、分岐処理部１０２からの依頼である場合には（ステップＳ２０４，Ｙｅｓ）、受信したＤＰのＬＤが自ノードのアドレスであるか否かを判定する（ステップＳ２１７）。データパケット処理部１１２は、ＤＰのＬＤが自ノードのアドレスではない場合には（ステップＳ２１７，Ｎｏ）、ＤＰを破棄し（ステップＳ２１８）、ステップＳ２０１に移行する。【０１００】
一方、データパケット処理部１１２は、ＤＰのＬＤが自ノードのアドレスである場合には（ステップＳ２１７，Ｙｅｓ）、ＲＴエントリ登録処理を実行する（ステップＳ２１９）。ステップＳ２１９において、データパケット処理部１１２は、図１１に示した下り方向の経路構築と同様の手法により、ＲＴにエントリを登録する。【０１０１】
データパケット処理部１１２は、ＤＰに含まれるＧＳとＦＩＤとの組みに対応するエントリを、ＦＩＤ管理テーブル１０６から検索する（ステップＳ２２０）。データパケット処理部１１２は、エントリがない場合には（ステップＳ２２１，Ｎｏ）、ＦＩＤ管理テーブル１０６にエントリを作成する（ステップＳ２２２）。データパケット処理部１１２は、ＡＣＫを作成し、送信部１１４に出力する（ステップＳ２２３）。【０１０２】
データパケット処理部１１２は、受信したＤＰのＧＤが自ノードのアドレスであるか否かを判定する（ステップＳ２２４）。データパケット処理部１１２は、受信したＤＰのＧＤが自ノードのアドレスである場合には（ステップＳ２２４，Ｙｅｓ）、上位層処理部１１０にＤＰを出力し（ステップＳ２２５）、ステップＳ２０１に移行する。【０１０３】
一方、データパケット処理部１１２は、受信したＤＰのＧＤが自ノードのアドレスでは無い場合には（ステップＳ２２４，Ｎｏ）、ステップＳ２２９に移行する。【０１０４】
ステップＳ２２１の説明に戻る。データパケット処理部１１２は、エントリがある場合には（ステップＳ２２１，Ｙｅｓ）、前回の転送先のプライオリティを下げる（ステップＳ２２６）。データパケット処理部１１２は、ＡＣＫを作成し、送信部１１４に出力する（ステップＳ２２７）。【０１０５】
データパケット処理部１１２は、受信したＤＰのＧＤが自ノードのアドレスであるか否かを判定する（ステップＳ２２８）。データパケット処理部１１２は、受信したＤＰのＧＤが自ノードのアドレスである場合には（ステップＳ２２８，Ｙｅｓ）、ステップＳ２１８に移行する。【０１０６】
一方、データパケット処理部１１２は、受信したＤＰのＧＤが自ノードのアドレスではない場合には（ステップＳ２２８，Ｎｏ）、宛先処理部１０９を利用し、ＤＰのＧＤをキーにＲＴ１０４を検索する（ステップＳ２２９）。データパケット処理部１１２は、図２０のステップＳ２３０に移行する。【０１０７】
図２０において、データパケット処理部１１２は、ＲＴ１０４にエントリがない場合には（ステップＳ２３１，Ｎｏ）、隣接ＲＲＥＱパケットの作成を隣接パケット処理部１１３に依頼し、図１９のステップＳ２０１に移行する。【０１０８】
一方、データパケット処理部１１２は、ＲＴ１０４にエントリがある場合には（ステップＳ２３０，Ｙｅｓ）、転送先ＬＤを決定する（ステップＳ２３２）。データパケット処理部１１２は、ＤＰのＬＤに転送先を設定し、ＤＰのＬＳに自ノードアドレスを設定し、ＤＰのＨｏｐ数を更新する（ステップＳ２３３）。データパケット処理部１１２は、ＤＰを送信部１１４に出力し（ステップＳ２３４）、図１９のステップＳ２０１に移行する。【０１０９】
次に、図１９のステップＳ２０３に示したタイマ処理の処理手順について説明する。図２１は、タイマ処理の処理手順の一例を示す図である。図２１に示すように、データパケット処理部１１２は、未処理の隣接ＲＲＥＰパケット待ちのエントリを、ＦＩＤ管理テーブル１０６から取得する（ステップＳ２５１）。【０１１０】
データパケット処理部１１２は、エントリが無い場合には（ステップＳ２５２，Ｎｏ）、タイマ処理を終了する。一方、データパケット処理部１１２は、エントリがある場合には（ステップＳ２５２，Ｙｅｓ）、タイムアウトしたか否かを判定する（ステップＳ２５３）。【０１１１】
データパケット処理部１１２は、タイムアウトしていない場合には（ステップＳ２５３，Ｎｏ）、ステップＳ２５５に移行する。【０１１２】
一方、データパケット処理部１１２は、タイムアウトした場合には（ステップＳ２５３，Ｙｅｓ）、経路決定処理を実行する（ステップＳ２５４）。ステップＳ２５４において、データパケット処理部１１２は、ＤＰの宛先にブロードキャストアドレスを設定し、宛先を返却する。また、データパケット処理部１１２は、ＤＰの宛先にＦＩＤ管理テーブル１０６のエントリのＬＳを設定し、宛先を返却する。【０１１３】
データパケット処理部１１２は、ＦＩＤ管理テーブル１０６のエントリを処理済みにし（ステップＳ２５５）、ステップＳ２５１に移行する。【０１１４】
図１４の説明に戻る。隣接パケット処理部１１３は、他のノード２００から受信する隣接ＲＲＥＱパケット、隣接ＲＲＥＰパケットを処理する処理部である。隣接パケット処理部１１３は、パケットの宛先がＲＴ１０４に存在しない場合に、パケットの宛先を設定した隣接ＲＲＥＱパケットを隣接ノードにブロードキャストする。隣接パケット処理部１１３は、隣接ＲＲＥＱパケットに対応する隣接ＲＲＥＰパケットを受信した場合には、隣接ＲＲＥＰパケットの送信元ノードを転送先に設定してデータパケットを送信する。これに対して、隣接パケット処理部１１３は、隣接ＲＲＥＰパケットを受信しない場合には、データパケットをフラッディングにより送信する。【０１１５】
また、隣接パケット処理部１１３は、他のノード２００から隣接ＲＲＥＱパケットを受信し、隣接ＲＲＥＱパケットに設定された宛先が、ＲＴ１０４に存在する場合には、隣接ＲＲＥＰパケットを、隣接ＲＲＥＱパケットの送信元のノードに送信する。これに対して、ノード２００は、隣接ＲＲＥＱパケットに設定された宛先情が、ＲＴ１０４に存在しない場合には、隣接ＲＲＥＰパケットを送信しない。【０１１６】
隣接パケット処理部１１３の処理について具体的に説明する。図２２は、隣接パケット処理部の処理手順を示すフローチャートである。図２２に示すように、隣接パケット処理部１１３は、メッセージを受信したか否かを判定する（ステップＳ３０１）。隣接パケット処理部１１３は、メッセージを受信していない場合には（ステップＳ３０１，Ｎｏ）、所定時間待機し（ステップＳ３０２）、タイマ処理を実行し（ステップＳ３０３）、ステップＳ３０１に移行する。【０１１７】
一方、隣接パケット処理部１１３は、メッセージを受信した場合には（ステップＳ３０１，Ｙｅｓ）、分岐処理部１０２からの依頼であるか否かを判定する（ステップＳ３０４）。隣接パケット処理部１１３は、データパケット処理部１１２からの依頼である場合には（ステップＳ３０４，Ｎｏ）、隣接ＲＲＥＱパケットに設定するＧＤとＦＩＤとの情報を、ＦＩＤ管理テーブル１０６から取得する（ステップＳ３０５）。ステップＳ３０４において、データパケット処理部１１２からの依頼があった場合には、データパケットのＧＤが、ＲＴ１０４に存在しないことを意味する。【０１１８】
隣接パケット処理部１１３は、隣接ＲＲＥＱパケットを作成し、ペイロード部にＧＤ、ＦＩＤを設定する（ステップＳ３０６）。隣接パケット処理部１１３は、隣接ＲＲＥＱパケットを送信部１１４に出力し（ステップＳ３０７）、ステップＳ３０１に移行する。【０１１９】
ステップＳ３０４の説明に戻る。隣接パケット処理部１１３は、分岐処理部１０２からの依頼である場合には（ステップＳ３０４，Ｙｅｓ）、パケットの種別が「隣接ＲＲＥＱ」であるか否かを判定する（ステップＳ３０８）。【０１２０】
隣接パケット処理部１１３は、パケットの種別が「隣接ＲＲＥＰ」である場合には（ステップＳ３０８，Ｎｏ）、隣接ＲＲＥＰパケットのペイロード部のＧＤとＦＩＤとの組みが、ＦＩＤ管理テーブル１０６に登録されているか否かを判定する（ステップＳ３０９）。隣接パケット処理部１１３は、ＦＩＤ管理テーブル１０６に登録済みでない場合には（ステップＳ３１０，Ｎｏ）、ステップＳ３０１に移行する。【０１２１】
一方、隣接パケット処理部１１３は、ＦＩＤ管理テーブル１０６に登録済みである場合には（ステップＳ３１０，Ｙｅｓ）、隣接ＲＲＥＰによる経路決定処理を行う（ステップＳ３１１）。隣接パケット処理部１１３は、宛先が決定したか否かを判定する（ステップＳ３１２）。隣接パケット処理部１１３は、宛先が決定していない場合には（ステップＳ３１２，Ｎｏ）、ステップＳ３０１に移行する。【０１２２】
一方、隣接パケット処理部１１３は、宛先が決定した場合には（ステップＳ３１２，Ｙｅｓ）、ＤＰをデータパケット処理部１１２に出力し（ステップＳ３１３）、ステップＳ３０１に移行する。【０１２３】
ステップＳ３０８の説明に戻る。隣接パケット処理部１１３は、種別が「隣接ＲＲＥＱ」である場合には（ステップＳ３０８，Ｙｅｓ）、ステップＳ３１４に移行する。隣接パケット処理部１１３は、隣接ＲＲＥＱパケットのペイロード部のＧＤとＦＩＤとの組みが、ＦＩＤ管理テーブル１０６に登録されているか否かを判定する（ステップＳ３１５）。【０１２４】
隣接パケット処理部１１３は、ＦＩＤ管理テーブル１０６に登録済みの場合には（ステップＳ３１５，Ｙｅｓ）、ステップＳ３０１に移行する。【０１２５】
一方、隣接パケット処理部１１３は、ＦＩＤ管理テーブル１０６に登録済みでない場合には（ステップＳ３１５，Ｎｏ）、隣接ＲＲＥＱパケットのペイロード部のＧＤとＦＩＤとの組みをＦＩＤ管理テーブル１０６に登録する（ステップＳ３１６）。【０１２６】
隣接パケット処理部１１３は、隣接ＲＲＰＱのペイロード部のＧＤがＲＴ１０４に登録されているか否かを判定する（ステップＳ３１７）。隣接パケット処理部１１３は、ＲＴ１０４に登録されていない場合には（ステップＳ３１８，Ｎｏ）、ステップＳ３０１に移行する。【０１２７】
一方、隣接パケット処理部１１３は、ＲＴ１０４に登録されている場合には（ステップＳ３１８，Ｙｅｓ）、隣接ＲＲＥＱパケットを基に隣接ＲＲＥＰパケットを生成し、送信部１１４に出力する（ステップＳ３１９）。ステップＳ３１９を具体的に説明する。隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＧＤに隣接ＲＲＥＱパケットの送信元アドレスを設定する。隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＧＳに、自ノードのアドレスを設定する。隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＬＤに、隣接ＲＲＥＱパケットの送信元アドレスを設定する。隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＬＳに、自ノードのアドレスを設定する。隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＴＹＰＥに「隣接ＲＲＥＰ」を設定し、Ｌｅｎｇｔｈに、ペイロードの大きさを設定する。隣接パケット処理部１１３は、隣接ＲＲＥＱパケットのペイロードの情報を、隣接ＲＲＥＰパケットのペイロードに設定する。【０１２８】
次に、図２２のステップＳ３１３で示した隣接ＲＲＥＰによる経路決定処理の一例について説明する。図２３および図２４は、隣接ＲＲＥＰによる経路決定処理を示すフローチャートである。隣接パケット処理部１１３は、図２３および図２４の処理を順に実行する。【０１２９】
図２３に示すように、隣接パケット処理部１１３は、宛先（ＬＤ）をクリアし（ステップＳ３５１）、隣接ＲＲＥＰパケットのＲＳＳＩは閾値以上か否かを判定する（ステップＳ３５２）。隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＲＳＳＩは閾値未満の場合には（ステップＳ３５２，Ｎｏ）、宛先が決定しない状態で、処理を終了する。【０１３０】
一方、隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＲＳＳＩは閾値以上の場合には（ステップＳ３５２，Ｙｅｓ）、宛先（ＬＤ）に、隣接ＲＲＥＰパケットのＬＳを設定して（ステップＳ３５３）、処理を終了する。【０１３１】
図２４に示すように、隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＲＳＳＩは、閾値以上であるか否かを判定する（ステップＳ３６１）。隣接パケット処理部１１３は、閾値未満の場合には（ステップＳ３６１，Ｎｏ）、処理を終了する。【０１３２】
隣接パケット処理部１１３は、閾値以上の場合には（ステップＳ３６１，Ｙｅｓ）、ＦＩＤ管理テーブル１０６のエントリの受信信号強度よりも、隣接ＲＲＥＰパケットの受信信号強度の品質が良いかを判定する（ステップＳ３６２）。【０１３３】
隣接パケット処理部１１３は、隣接ＲＲＥＰパケットの受信信号強度が悪い場合には（ステップＳ３６３，Ｎｏ）、処理を終了する。一方、隣接パケット処理部１１３は、隣接ＲＲＥＰパケットの受信信号強度が良い場合には（ステップＳ３６３，Ｙｅｓ）、ＦＩＤ管理テーブル１０６のＧＳとＲＳＳＩを更新する（ステップＳ３６４）。【０１３４】
図１４の説明に戻る。送信部１１４は、データパケット処理部１１２、隣接パケット処理部１１３、ハローパケット生成部１０８から取得する各種のパケットを送信する処理部である。【０１３５】
次に、ＧＷ１００が、ノード２００Ｍにデータパケットを送信する場合の処理シーケンスについて説明する。但し、ＧＷ１００のＲＴ１０４には、ノード２００Ｍの宛先が登録されていないものとする。また、ＦＩＤ管理テーブル１０６に対応するエントリが登録されていないものとする。この場合には、ＧＷ１００の各処理部は、下記に示すように、（１−１）〜（１−８）を順に実行する。【０１３６】
（１−１）データパケット処理部１１２は、宛先処理部１０９から転送先がない旨の通知を受け、ＦＩＤ管理テーブル１０６にエントリを作成する。（１−２）データパケット処理部１１２は、ＦＩＤ生成部１１１から、ＦＩＤを取得する。【０１３７】
（１−３）データパケット処理部１１３は、ＦＩＤ管理テーブル１０６にエントリのＧＳ、ＦＩＤに、ＧＷ１００のアドレス、ＦＩＤ生成部１１１から取得したＦＩＤをそれぞれ登録する。（１−４）データパケット処理部１１３は、ＦＩＤ管理テーブル１０６にエントリのパケットデータに、ノード２００Ｍに送信するパケットを登録する。【０１３８】
（１−５）隣接パケット処理部１１３は、隣接ＲＲＥＱパケットを生成し、ペイロードのＧＤにノード２００Ｍのアドレスを設定し、ＦＩＤに、ＦＩＤ生成部１１１から取得したＦＩＤを設定する。（１−６）データパケット処理部１１２は、ＦＩＤ管理テーブル１０６にエントリの状態を「隣接ＲＲＥＰ待ち」に設定する。【０１３９】
（１−７）データパケット処理部１１２は、図示しない隣接ＲＲＥＰ待ちタイマをセットする。（１−８）隣接パケット処理部１１３は、隣接ＲＲＥＱパケットを送信部１１４に出力し、かかる隣接ＲＲＥＱパケットが隣接ノードにブロードキャストされる。【０１４０】
続いて、上記（１−８）の処理を実行した後に、ノード２００Ａから隣接ＲＲＥＰパケットを受信した場合のＧＷ１００の処理シーケンスについて説明する。この場合には、ＧＷ１００の各処理部は、下記のように（２−１）〜（２−６）の処理を順に実行する。【０１４１】
（２−１）隣接パケット処理部１１３は、隣接ＲＲＥＰパケットのＧＳとＦＩＤとをキーにして、対応するＦＩＤ管理テーブル１０６のエントリを取得する。（２−２）隣接パケット処理部１１３は、エントリに登録されたデータパケットを取得し、データパケットのＬＤに、隣接ＲＲＥＰパケットの送信元であるノード２００Ａのアドレスを設定する。また、隣接パケット処理部１１３は、データパケットのＧＳおよびＬＳに自ノードのアドレスを設定する。また、データパケットのＧＤに宛先ノードであるノード２００Ｍのアドレスを設定する。そして、隣接パケット処理部１１３は、データパケットを、データパケット処理部１１２に出力する。【０１４２】
（２−３）データパケット処理部１１２は、図示しない隣接ＲＲＥＰ待ちタイマをリセットする。（２−４）データパケット処理部１１２は、ＦＩＤ管理テーブル１０６のエントリの状態を「ＡＣＫ待ち」に設定する。【０１４３】
（２−５）データパケット処理部１１２は、図示しないＡＣＫ待ちタイマをセットする。（２−６）データパケット処理部１１２は、データパケットを送信部１１４に出力する。【０１４４】
この結果、ＧＷ１００からユニキャストのデータパケットがノード２００Ａに送信される。データパケットを受信したノード２００Ａは、自身のＲＴのエントリに従い、データパケットをノード２００Ｌに転送する。ノード２００Ｌは、自身のＲＴのエントリに従い、データパケットをノード２００Ｍに転送する。これにより、ノード２００Ｍは、ＧＷ１００からのデータパケットを受信する。【０１４５】
次に、本実施例２に係るアドホックネットワークの効果について説明する。例えば、ＧＷ１００は、パケットの宛先が自身のＲＴに存在しない場合に、該宛先を問い合わせる隣接ＲＲＥＱパケットをブロードキャストする。ＧＷ１００は、宛先をＲＴに有するノード２００から隣接ＲＲＥＰパケットを受信した場合に、隣接ＲＲＥＰパケットの送信元をデータパケットの転送先とする。このため、フラッディングを行わず、データパケットを宛先に送信することができる。【０１４６】
また、ノード２００は、他のノードまたはＧＷ１００から隣接ＲＲＥＱパケットを受信し、隣接ＲＲＥＱパケットに設定された宛先が、自ノードのＲＴに存在する場合には、隣接ＲＲＥＱパケットの送信元のノードに隣接ＲＲＥＰパケットを送信する。このため、自装置のＲＴに該当する宛先のエントリがある場合に、ＧＷ１００によるブロードキャストを防止することができる。【０１４７】
次に、その他の実施例について説明する。図２５は、その他の実施例を説明するための図である。図７で説明した処理シーケンスでは、ＧＷ１００が、ノード２００Ａから隣接ＲＲＥＰパケットを受信した場合について説明した。図２５では、ノード２００Ａおよびノード２００Ｂから隣接ＲＲＥＰパケットを受信した場合について説明する。この場合には、例えば、ＧＷ１００は、各隣接ＲＲＥＰパケットのうち、受信信号強度の大きい方を採用し、採用した隣接ＲＲＥＰパケットの送信元ノードに、データパケットをユニキャストする。【０１４８】
なお、ＧＷ１００のＲＴにノード２００Ｍのエントリ登録が無く、ノード２００Ａ，２００ＢのＲＴにノード２００Ｍのエントリ登録があるものとする。また、ノード２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ，２００ＥをＧＷ１００の隣接ノードとする。【０１４９】
図２５に示すように、サーバ６０はノード２００Ｍ宛のデータをＧＷ１００に送信する（ステップＳ７０）。ＧＷ１００は、ノード２００ＭがＲＴに存在しない場合に、隣接ＲＲＥＱパケットを生成する（ステップＳ７１）。ステップＳ７１において、ＧＷ１００は、隣接ＲＲＥＱパケットのペイロード部のＧＤにノード２００Ｍのアドレスを設定する。【０１５０】
ＧＷ１００は、隣接ＲＲＥＱパケットを１ホップ（Ｈｏｐ）ブロードキャストする（ステップＳ７２）。ステップＳ１２の１ホップのブロードキャストにより、隣接ＲＲＥＱパケットが、ＧＷ１００に隣接するノード２００Ａ、２００Ｂ，２００Ｃ，２００Ｄ，２００Ｅ，２００Ｌに送信される。【０１５１】
ノード２００Ｃ，２００Ｄ，２００Ｅ，２００Ｌは、ノード２００ＭがＲＴに存在しないため、何もしない（ステップＳ７３）。ノード２００Ｂは、ノード２００ＭがＲＴに存在するため、隣接ＲＲＥＰパケットを生成する（ステップＳ７４）。ノード２００Ｂは、隣接ＲＲＥＰパケットをＧＷ１００に送信する（ステップＳ７５）。ステップＳ７５において、ノード２００Ｂは、隣接ＲＲＥＰパケットを送信した後に、タイマを起動させる。【０１５２】
ノード２００Ａは、ノード２００ＭがＲＴに存在するため、隣接ＲＲＥＰパケットを生成する（ステップＳ７６）。ノード２００Ａは、隣接ＲＲＥＰパケットをＧＷ１００に送信する（ステップＳ７７）。ステップＳ７７において、ノード２００Ａは、隣接ＲＲＥＰパケットを送信した後に、タイマを起動させる。【０１５３】
ＧＷ１００は、ユニキャストのデータパケットを生成し、データパケットのＧＤにノード２００Ｍのアドレスを設定し、ＬＤにノード２００Ａのアドレスを設定する（ステップＳ７８）。ステップＳ７８において、ＧＷ１００は、ノード２００Ａから受信した隣接ＲＲＥＰパケットの受信信号強度と、ノード２００Ｂから受信した隣接ＲＲＥＰパケットの受信信号強度とを比較する。例えば、ＧＷ１００は、ノード２００Ａから受信した隣接ＲＲＥＰパケットの受信信号強度の方が大きい場合に、ＬＤにノード２００Ａのアドレスを設定する。【０１５４】
ＧＷ１００は、データパケットをノード２００Ａにユニキャストする（ステップＳ７９）。ノード２００Ａは、ＧＷ１００から受信したデータパケットをノード２００Ｌに転送する（ステップＳ８０）。ステップＳ８０において、ノード２００Ａは、データパケットのＧＤにノード２００Ｍのアドレスを設定し、ＬＤにノード２００Ｌのアドレスを設定する。また、ノード２００Ａは、起動したタイマを停止する。【０１５５】
ノード２００Ｌは、ノード２００Ａから転送されたデータパケットをノード２００Ｍに転送する（ステップＳ８１）。ステップＳ８１において、ノード２００Ｌは、データパケットのＧＤにノード２００Ｍのアドレスを設定し、ＬＤにノード２００Ｍのアドレスを設定する。そして、ノード２００Ｍは、データパケットを、ノード２００Ａ，２００Ｌを介して受信する（ステップＳ８２）。【０１５６】
なお、ノード２００Ｂは、タイマ満了し、タイムアウトする。この場合に、ノード２００Ｂは、ノード２００Ｍのエントリを、ノード２００ＢのＲＴから削除する（ステップＳ８３）。なお、ノード２００Ｂは、ノード２００Ｍのエントリを削除する代わりに、ＲＴのエントリの入れ替えが発生した場合に、優先して削除可能なエントリとして設定しても良い。【０１５７】
このように、ＧＷ１００は、複数の隣接ノードから隣接ＲＲＥＰパケットを受信した場合には、受信信号強度が最大となる隣接ＲＲＥＰパケットの送信元ノードを転送先に設定してパケットを送信する。このため、ＧＷ１００は、通信品質のより良い経路を利用して、パケットを宛先に送信することができる。【０１５８】
次に、上記の実施例に示したＧＷ１００またはノード２００と同様の機能を実現する送信プログラムを実行するコンピュータの一例を説明する。図２６は、送信プログラムを実行するコンピュータの一例を示す図である。【０１５９】
図２６に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３を有する。また、コンピュータ３００は、記憶媒体からプログラム等を読取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置３０５とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７を有する。そして、各装置３０１〜３０７は、バス３０８に接続される。【０１６０】
ハードディスク装置３０７は、例えば、経路要求パケット送信プログラム３０７ａ、送信制御プログラム３０７ｂ、応答プログラム３０７ｃを有する。ＣＰＵ３０１は、各プログラム３０７ａ〜３０７ｃを読み出してＲＡＭ３０６に展開する。【０１６１】
経路要求パケット送信プログラム３０７ａは、経路要求パケット送信プロセス３０６ａとして機能する。送信制御プログラム３０７ｂは、送信制御プロセス３０６ｂとして機能する。応答プログラム３０７ｃは、応答プロセス３０６ｃとして機能する。【０１６２】
例えば、経路要求パケット送信プロセス３０６ａは、経路要求パケット送信部８２、隣接パケット処理部１１３等に対応する。送信制御プロセス３０６ｂは、送信制御部８２、隣接パケット処理部１１３等に対応する。応答プロセス３０６ｃは、隣接パケット処理部１１３等に対応する。【０１６３】
なお、各プログラム３０７ａ〜３０７ｃについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００がこれらから各プログラム３０７ａ〜３０７ｂを読み出して実行するようにしてもよい。【０１６４】
ところで、本実施例２で説明した隣接パケット処理部１１３は、経路要求パケット送信部、送信制御部、応答部の一例である。隣接パケット処理部１１３を、経路要求パケット送信部、送信制御部、応答部によって構成しても良い。
【符号の説明】
【０１６５】
８０  ネットワーク装置
８１  ルーティングテーブル
８２  経路要求パケット送信部
８３  送信制御部
【図１】
2014073040.tif 000003
【図２】
2014073040.tif 000004
【図３】
2014073040.tif 000005
【図４】
2014073040.tif 000006
【図５】
2014073040.tif 000007
【図６】
2014073040.tif 000008
【図７】
2014073040.tif 000009
【図８】
2014073040.tif 000010
【図９】
2014073040.tif 000011
【図１０】
2014073040.tif 000012
【図１１】
2014073040.tif 000013
【図１２】
2014073040.tif 000014
【図１３】
2014073040.tif 000015
【図１４】
2014073040.tif 000016
【図１５】
2014073040.tif 000017
【図１６】
2014073040.tif 000018
【図１７】
2014073040.tif 000019
【図１８】
2014073040.tif 000020
【図１９】
2014073040.tif 000021
【図２０】
2014073040.tif 000022
【図２１】
2014073040.tif 000023
【図２２】
2014073040.tif 000024
【図２３】
2014073040.tif 000025
【図２４】
2014073040.tif 000026
【図２５】
2014073040.tif 000027
【図２６】
2014073040.tif 000028
【図２７】
2014073040.tif 000029
【図２８】
2014073040.tif 000030
【図２９】
2014073040.tif 000031
【手続補正書】
【提出日】平成27年12月10日(2015.12.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アドホックネットワークに含まれる宛先情報が設定された自ネットワーク装置のルーティングテーブルに、パケットの宛先情報が存在しない場合に、前記パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストする経路要求パケット送信部と、
前記経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、前記経路応答パケットの送信元ノードを転送先に設定して前記パケットを送信し、
前記経路応答パケットを受信しない場合には、前記パケットの宛先情報を設定したパケットをフラッディングにより送信する送信制御部と
を有することを特徴とするネットワーク装置。
【請求項２】
前記アドホックネットワークに含まれる他のノードから経路要求パケットを受信し、該経路要求パケットに設定された宛先情報が、自ネットワーク装置のルーティングテーブルに存在する場合には、経路要求パケットの送信元のノードに経路応答パケットを送信し、
経路要求パケットに設定されたパケットの宛先情報が、自ネットワーク装置のルーティングテーブルに存在しない場合には、経路応答パケットの送信を行わない応答部を更に有することを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
前記送信制御部は、複数の隣接ノードから経路応答パケットを受信した場合には、受信信号強度が最大となる経路応答パケットの送信元ノードを転送先に設定して前記パケットを送信することを特徴とする請求項１または２に記載のネットワーク装置。
【請求項４】
コンピュータに、
アドホックネットワークに含まれる宛先情報が設定された自ネットワーク装置のルーティングテーブルに、パケットの宛先情報が存在しない場合に、前記パケットの宛先情報を設定した経路要求パケットを隣接ノードにブロードキャストし、
前記経路要求パケットに対応する経路応答パケットを他のノードから受信した場合に、前記経路応答パケットの送信元ノードを転送先に設定して前記パケットを送信し、
前記経路応答パケットを受信しない場合には、前記パケットの宛先情報を設定したパケットをフラッディングにより送信する
各処理を実行させることを特徴とする送信プログラム。
【国際調査報告】
2014073040.tif 000032
2014073040.tif 000033