(57)【特許請求の範囲】
【請求項１】
自律的に確立され、かつ、オンデマンド型のルーティングプロトコルに従って送信元と送信先との間で無線通信が行なわれる無線ネットワークを構成する無線装置であって、
前記送信先に対する経路情報を含む経路メッセージを送受信する送受信手段と、
第１の経路を示す第１の経路情報を保持する経路情報保持手段と、
他の無線装置から受信する前記経路メッセージに含まれる経路情報に基づいて、前記第１の経路よりも好適な第２の経路を検出する経路検出手段と、
前記経路検出手段によって前記第２の経路が検出されると、前記経路情報保持手段に保持された前記第１の経路情報を前記第２の経路を示す第２の経路情報に更新する経路情報更新手段とを備え、
前記経路情報保持手段は、当該無線装置が前記送信元と前記送信先との間で無線通信を行なっていない場合、無線通信を行なっている無線装置から送信される前記経路メッセージに含まれる第３の経路情報を更に保持する、無線装置。
【請求項２】
前記第１の経路情報は、前記送信元と前記送信先との間の無線通信に用いられている経路を示し、
前記送受信手段は、当該無線装置が前記送信元と前記送信先との間で無線通信を行なっている場合、前記第１の経路情報を含む前記経路メッセージを送信する、請求項１に記載の無線装置。
【請求項３】
自律的に確立され、かつ、オンデマンド型のルーティングプロトコルに従って送信元と送信先との間で無線通信が行なわれる無線ネットワークを構成する無線装置であって、
前記送信先に対する経路情報を含む経路メッセージを送受信する送受信手段と、
第１の経路を示す第１の経路情報を保持する経路情報保持手段と、
他の無線装置から受信する前記経路メッセージに含まれる経路情報に基づいて、前記第１の経路よりも好適な第２の経路を検出する経路検出手段と、
前記経路検出手段によって前記第２の経路が検出されると、前記経路情報保持手段に保持された前記第１の経路情報を前記第２の経路を示す第２の経路情報に更新する経路情報更新手段とを備え、
前記第１の経路情報は、当該無線装置から前記送信先までの経路を示し、
前記送受信手段は、当該無線装置が前記送信元と前記送信先との間で無線通信を行なっていない場合に、前記送信元と前記送信先との間の無線通信を行なう経路として前記第１の経路が前記送信元と前記送信先との間の無線通信に用いられている経路よりも好適であると判断されたとき、前記第１の経路情報を含む前記経路メッセージを送信する、無線装置。
【請求項４】
前記経路検出手段は、
前記受信された経路メッセージに含まれる経路情報によって示される経路の送信先が前記第１の経路の送信先と同じであり、かつ、前記受信された経路メッセージに含まれる経路情報によって示される経路が前記送信元と前記送信先との間の無線通信に用いられている経路であるとき、前記受信された経路メッセージに含まれる経路情報を前記第１の経路情報と比較する比較手段と、
前記比較手段による比較結果が所定の場合に、前記受信された経路メッセージに含まれる経路情報によって示される経路を前記第２の経路として検出する検出手段とを含む、請求項１から請求項３のいずれか１項に記載の無線装置。
【請求項５】
前記検出手段は、前記比較結果が第１から第３の場合のいずれかであるとき、前記受信された経路メッセージに含まれる経路情報によって示される経路を前記第２の経路として検出し、
前記第１の場合は、前記経路メッセージを送信した無線装置が前記第１の経路において当該無線装置に隣接する無線装置である場合であり、
前記第２の場合は、前記受信された経路メッセージに含まれる経路情報が前記第１の経路情報よりも新しい場合であり、
前記第３の場合は、前記受信された経路メッセージに含まれる経路情報が前記第１の経路情報と同じ新しさであり、かつ、前記受信された経路メッセージに含まれる経路情報によって示される経路が前記第１の経路よりも安定である場合である、請求項４に記載の無線装置。
【請求項６】
前記受信された経路メッセージに含まれる経路情報と送信先が同じである経路情報を前記経路情報保持手段が保持しないとき、または前記受信された経路メッセージに含まれる経路情報が前記送信元と前記送信先との間の無線通信に用いられている経路を示す経路情報でないとき、前記経路メッセージに含まれる経路情報を代替経路を示す経路情報として前記経路情報保持手段に格納する経路情報格納手段を更に備える、請求項１から請求項５のいずれか１項に記載の無線装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の無線装置を備える無線ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線装置およびそれを備えた無線ネットワークシステムに関し、特に、自律的、かつ、即時的に構築されるアドホックネットワークシステムを構成する無線装置およびそれを備えた無線ネットワークシステムに関するものである。
【背景技術】
【０００２】
アドホックネットワークは、複数の無線装置が相互に通信を行なうことによって自律的、かつ、即時的に構築されるネットワークである。アドホックネットワークでは、通信する２つの無線装置が互いの通信エリアに存在しない場合、２つの無線装置の中間に位置する無線装置がルータとして機能し、データパケットを中継するので、広範囲のマルチホップネットワークを形成することができる。
【０００３】
このようなアドホックネットワークは、被災地での無線通信網やＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ）車車間通信でのストリーミングなど、様々な方面に応用されようとしている（非特許文献１）。
【０００４】
マルチホップ通信をサポートする動的なルーティングプロトコルとしては、テーブル駆動型プロトコルとオンデマンド型プロトコルとがある。テーブル駆動型プロトコルは、定期的に経路に関する制御情報の交換を行ない、予め経路表を構築しておくものであり、ＧＳＲ（Ｇｌｏｂａｌ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）、ＦＳＲ（Ｆｉｓｈ−ｅｙｅ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）、ＯＬＳＲ（Ｏｐｔｉｍｉｚｅｄ  Ｌｉｎｋ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）およびＤＳＤＶ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｓｅｑｕｅｎｃｅｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ）等が知られている。
【０００５】
また、オンデマンド型プロトコルは、データ送信の要求が発生した時点で、初めて宛先までの経路を構築するものであり、ＤＳＲ（Ｄｙｎａｍｉｃ  Ｓｏｕｒｃｅ  Ｒｏｕｔｉｎｇ）およびＡＯＤＶ（Ａｄ  Ｈｏｃ  Ｏｎ−Ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ｒｏｕｔｉｎｇ）等が知られている。
【０００６】
そして、従来のアドホックネットワークにおいては、送信元から送信先へデータ通信を行なう場合、送信元から送信先までのホップ数ができる限り少なくなるように経路が決定される（非特許文献２）。
【非特許文献１】渡辺正浩“無線アドホックネットワーク”，自動車技術会春季大会ヒューマトロニクスフォーラム，ｐｐ１８−２３，横浜，５月２００３年．
【非特許文献２】Guangyu Pei, at al, “Fisheye state routing: a routing scheme for ad hoc wireless networks”, ICC2000. Commun., Volume 1, pp70-74, L.A., June 2000.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来のオンデマンド型プロトコルを用いたマルチホップ通信においては、送信元と送信先との間で無線通信が行なわれているときに、トポロジー変動によってローカルに最適なルートが出現しても、それを探索することはしなかった。また、送信元から送信先までの間の通信経路が切断されると、送信元の無線装置は、送信元と送信先との間の通信経路を確立する動作をやり直すため、再送信するまでに時間を要するなど、無線ネットワークとしての性能が低いという問題がある。
【０００８】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、無線ネットワークの性能を向上させる通信プロトコルを用いて無線通信を行なう無線装置を提供することである。
【０００９】
また、この発明の別の目的は、無線ネットワークの性能を向上させる通信プロトコルを用いて無線通信を行なう無線装置を備える無線ネットワークシステムを提供することである。
【課題を解決するための手段】
【００１０】
この発明によれば、無線装置は、自律的に確立され、かつ、オンデマンド型のルーティングプロトコルに従って送信元と送信先との間で無線通信が行なわれる無線ネットワークを構成する無線装置であって、送受信手段と、経路情報保持手段と、経路検出手段と、経路情報更新手段とを備える。送受信手段は、送信先に対する経路情報を含む経路メッセージを送受信する。経路情報保持手段は、第１の経路を示す第１の経路情報を保持する。経路検出手段は、他の無線装置から受信する経路メッセージに含まれる経路情報に基づいて、第１の経路よりも好適な第２の経路を検出する。経路情報更新手段は、経路検出手段によって第２の経路が検出されると、経路情報保持手段に保持された第１の経路情報を第２の経路を示す第２の経路情報に更新する。
【００１１】
好ましくは、第１の経路情報は、送信元と送信先との間の無線通信に用いられている経路を示す。送受信手段は、当該無線装置が送信元と送信先との間で無線通信を行なっている場合、第１の経路情報を含む経路メッセージを送信する。
【００１２】
好ましくは、経路情報保持手段は、当該無線装置が送信元と送信先との間で無線通信を行なっていない場合、無線通信を行なっている無線装置から送信される経路メッセージに含まれる第３の経路情報を更に保持する。
【００１３】
好ましくは、第１の経路情報は、当該無線装置から送信先までの経路を示す。送受信手段は、当該無線装置が送信元と送信先との間で無線通信を行なっていない場合に、送信元と送信先との間の無線通信を行なう経路として第１の経路が送信元と送信先との間の無線通信に用いられている経路よりも好適であると判断されたとき、第１の経路情報を含む経路メッセージを送信する。
【００１４】
好ましくは、経路検出手段は、比較手段と、検出手段とを含む。比較手段は、受信された経路メッセージに含まれる経路情報によって示される経路の送信先が第１の経路の送信先と同じであり、かつ、受信された経路メッセージに含まれる経路情報によって示される経路が送信元と送信先との間の無線通信に用いられている経路であるとき、受信された経路メッセージに含まれる経路情報を第１の経路情報と比較する。検出手段は、比較手段による比較結果が所定の場合に、受信された経路メッセージに含まれる経路情報によって示される経路を第２の経路として検出する。
【００１５】
好ましくは、検出手段は、比較結果が第１から第３の場合のいずれかであるとき、受信された経路メッセージに含まれる経路情報によって示される経路を第２の経路として検出する。第１の場合は、経路メッセージを送信した無線装置が第１の経路において当該無線装置に隣接する無線装置である場合である。第２の場合は、受信された経路メッセージに含まれる経路情報が第１の経路情報よりも新しい場合である。第３の場合は、受信された経路メッセージに含まれる経路情報が第１の経路情報と同じ新しさであり、かつ、受信された経路メッセージに含まれる経路情報によって示される経路が第１の経路よりも安定である場合である。
【００１６】
好ましくは、無線装置は、経路情報格納手段を更に備える。経路情報格納手段は、受信された経路メッセージに含まれる経路情報と送信先が同じである経路情報を経路情報保持手段が保持しないとき、または受信された経路メッセージに含まれる経路情報が送信元と送信先との間の無線通信に用いられている経路を示す経路情報でないとき、経路メッセージに含まれる経路情報を代替経路を示す経路情報として経路情報保持手段に格納する。
【００１７】
また、この発明によれば、無線ネットワークシステムは、請求項１から請求項７のいずれか１項に記載の無線装置を備える無線ネットワークシステムである。
【発明の効果】
【００１８】
この発明による無線装置は、送信元と送信先との間で無線通信が行なわれているとき、その無線通信に用いられている経路よりも好適な経路を検出すると、その無線通信に用いられている経路を好適な経路に更新する。つまり、各無線装置は、送信元と送信先との間の無線通信に用いられている通信経路が切断されなくても、無線通信に用いられている経路よりも好適な経路を検出し、無線通信に用いられている経路を、その検出した好適な経路に更新する。
【００１９】
従って、この発明によれば、各無線装置は、トポロジー変動があっても常に最適な経路を用いて通信することができ、無線ネットワークの性能を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２１】
図１は、この発明の実施の形態による無線ネットワークシステムの概略図である。無線ネットワークシステム１０は、無線装置Ｍ１〜Ｍ１２を備える。無線装置Ｍ１〜Ｍ１２は、無線通信空間に配置され、自律的にネットワークを構成している。そして、無線装置Ｍ１から無線装置Ｍ９へデータを送信する場合、無線装置Ｍ３〜Ｍ８，Ｍ１０，Ｍ１２は、無線装置Ｍ１からのデータを中継して無線装置Ｍ９へ届ける。
【００２２】
この場合、無線装置Ｍ１は、各種の経路を介して無線装置Ｍ９との間で無線通信を行なうことができる。即ち、無線装置Ｍ１は、無線装置Ｍ４，Ｍ６，Ｍ８を介して無線装置Ｍ９との間で無線通信を行なうことができ、無線装置Ｍ３，Ｍ４，Ｍ６，Ｍ７を介して無線装置Ｍ９との間で無線通信を行なうこともできる。
【００２３】
無線装置Ｍ４，Ｍ６，Ｍ８を介して無線通信を行なう場合、ホップ数が“４”と相対的に少なく、無線装置Ｍ３，Ｍ４，Ｍ６，Ｍ７を介して無線通信を行なう場合、ホップ数が“５”と相対的に多い。
【００２４】
従って、無線装置Ｍ４，Ｍ６，Ｍ８を介して無線通信を行なう経路を選択すると、ホップ数が“４”と相対的に少なくなるので、一般的には、無線装置Ｍ１から無線装置Ｍ９への無線通信のスループットが高くなる。
【００２５】
しかし、無線装置Ｍ１と無線装置Ｍ４との間の受信信号強度が弱いとき、無線装置Ｍ１と無線装置Ｍ４との間の通信経路が切断される可能性が大きくなり、無線装置Ｍ１と無線装置Ｍ４との間の通信経路が切断されると、無線装置Ｍ１は、無線装置Ｍ９と無線通信を行なうための通信経路を確立し直すので、再送信するまでに時間を要する。
【００２６】
そこで、以下においては、各無線装置Ｍ１〜Ｍ１２において送信元と送信先との間で常に好適な経路を用いて無線通信を行なう方法について説明する。
【００２７】
なお、送信元と送信先との間で経路を確立するプロトコルとしてＡＯＤＶプロトコルを用いる。このＡＯＤＶプロトコルは、オンデマンド型のルーティングプロトコルであり、ルートリクエストとルートリプライを使ってルートを探索し、ルートを確立するプロトコルである。
【００２８】
図２は、図１に示す無線装置Ｍ１の構成を示す概略ブロック図である。無線装置Ｍ１は、アンテナ１１と、入力部１２と、表示部１３と、電子メールアプリケーション１４と、通信制御部１５とを含む。
【００２９】
アンテナ１１は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部１５へ出力するとともに、通信制御部１５からのデータを無線通信空間を介して他の無線装置へ送信する。
【００３０】
入力部１２は、無線装置Ｍ１の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先を電子メールアプリケーション１４へ出力する。表示部１３は、電子メールアプリケーション１４からの制御に従ってメッセージを表示する。
【００３１】
電子メールアプリケーション１４は、入力部１２からのメッセージおよび宛先に基づいてデータを生成して通信制御部１５へ出力する。
【００３２】
通信制御部１５は、ＡＲＰＡ（Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  Ｐｒｏｊｅｃｔｓ  Ａｇｅｎｃｙ）インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部１５は、無線インターフェースモジュール１６と、ＭＡＣモジュール１７と、ＬＬＣ（Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）モジュール１８と、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）モジュール１９と、ルーティングテーブル２０と、ＴＣＰモジュール２１と、ＵＤＰモジュール２２と、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）モジュール２３と、ルーティングデーモン２４とからなる。
【００３３】
無線インターフェースモジュール１６は、物理層に属し、所定の規定に従って送信信号または受信信号の変復調を行なうとともに、アンテナ１１を介して信号を送受信する。そして、無線インターフェースモジュール１６は、アンテナ１１が他の無線装置から受信したＨｅｌｌｏパケットの受信信号強度を検出し、その検出した受信信号強度をルーティングデーモン２４へ出力する。
【００３４】
ＭＡＣモジュール１７は、ＭＡＣ層に属し、ＭＡＣプロトコルを実行して、以下に述べる各種の機能を実行する。
【００３５】
即ち、ＭＡＣモジュール１７は、ルーティングデーモン２４から受けたＨｅｌｌｏパケットを無線インターフェースモジュール１６を介してブロードキャストする。
【００３６】
また、ＭＡＣモジュール１７は、データ（パケット）の再送制御等を行なう。
【００３７】
ＬＬＣモジュール１８は、データリンク層に属し、ＬＬＣプロトコルを実行して隣接する無線装置との間でリンクの接続および解放を行なう。
【００３８】
ＩＰモジュール１９は、インターネット層に属し、ＩＰパケットを生成する。ＩＰパケットは、ＩＰヘッダと、上位のプロトコルのパケットを格納するためのＩＰデータ部とからなる。そして、ＩＰモジュール１９は、ＴＣＰモジュール２１からデータを受けると、その受けたデータをＩＰデータ部に格納してＩＰパケットを生成する。
【００３９】
そうすると、ＩＰモジュール１９は、オンデマンド型のルーティングプロトコルであるＡＯＤＶプロトコルに従ってルーティングテーブル２０を検索し、生成したＩＰパケットを送信するための経路を決定する。そして、ＩＰモジュール１９は、ＩＰパケットをＬＬＣモジュール１８へ送信し、決定した経路に沿ってＩＰパケットを送信先へ送信する。
【００４０】
ルーティングテーブル２０は、インターネット層に属し、後述するように、各送信先アドレスに対応付けて経路情報を格納する。
【００４１】
ＴＣＰモジュール２１は、トランスポート層に属し、ＴＣＰパケットを生成する。ＴＣＰパケットは、ＴＣＰヘッダと、上位のプロトコルのデータを格納するためのＴＣＰデータ部とからなる。そして、ＴＣＰモジュール２１は、生成したＴＣＰパケットをＩＰモジュール１９へ送信する。
【００４２】
ＵＤＰモジュール２２は、トランスポート層に属し、ルーティングデーモン２４によって作成されたＵｐｄａｔｅパケットをブロードキャストし、他の無線装置からブロードキャストされたＵｐｄａｔｅパケットを受信してルーティングデーモン２４へ出力する。
【００４３】
ＳＭＴＰモジュール２３は、プロセス／アプリケーション層に属し、電子メールアプリケーション１４から受け取ったデータに基づいて、全二重通信チャネルの確保およびメッセージの交換等を行なう。
【００４４】
ルーティングデーモン２４は、プロセス／アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。
【００４５】
また、ルーティングデーモン２４は、Ｈｅｌｌｏパケットを他の無線装置から受信して取得した経路情報および無線インターフェースモジュール１６から受けた受信信号強度に基づいて、後述する方法によって最適な経路を算出してインターネット層にルーティングテーブル２０を動的に作成する。
【００４６】
更に、ルーティングデーモン２４は、無線ネットワークシステム１０における経路情報を他の無線装置へ送信するとき、隣接する無線装置に関する情報等の各種のメッセージを含むＨｅｌｌｏパケットを作成し、その作成したＨｅｌｌｏパケットをＭＡＣモジュール１７へ出力する。
【００４７】
更に、ルーティングデーモン２４は、後述するように、他の無線装置から受信したＨｅｌｌｏパケットに含まれる経路情報に基づいて、ルーティングテーブル２０に格納された経路を好適な経路に更新するとともに、ルーティングテーブル２０中に代替経路を確立する。
【００４８】
なお、図１に示す無線装置Ｍ２〜Ｍ１２の各々も、図２に示す無線装置Ｍ１の構成と同じ構成からなる。
【００４９】
図３は、ＩＰヘッダの構成図である。ＩＰヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別番号、フラグ、フラグメントオフセット、生存時間、プロトコル、ヘッダチェックサム、送信元ＩＰアドレス、送信先ＩＰアドレス、およびオプションからなる。
【００５０】
図４は、ＴＣＰヘッダの構成図である。ＴＣＰヘッダは、送信元ポート番号、送信先ポート番号、シーケンス番号、確認応答（ＡＣＫ）番号、データオフセット、予約、フラグ、ウィンドサイズ、ヘッダチェックサムおよびアージェントポインタからなる。
【００５１】
送信元ポート番号は、送信元の無線装置で複数のアプリケーションが動作しているときに、ＴＣＰパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号は、送信先の無線装置で複数のアプリケーションが動作しているときに、ＴＣＰパケットを届けるアプリケーションを特定する番号である。
【００５２】
ＴＣＰ通信は、エンド・ツー・エンドのコネクション型通信プロトコルである。ＴＣＰ通信のコネクション接続を要求する無線装置（以下、「ＴＣＰ通信接続要求装置」という。）のＴＣＰモジュール２１は、コネクションの確立時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ  Ｆｌａｇ）を設定したコネクションの接続要求を示す第１パケットをＴＣＰ通信のコネクション接続を受理する端末（以下、「ＴＣＰ通信接続受理装置」という。）のＴＣＰモジュール２１へ送信する。これを受けて、ＴＣＰ通信接続受理装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮおよびＡＣＫ（確認応答）を設定したコネクションの接続要求受理および接続完了を示す第２パケットをＴＣＰ通信接続要求装置のＴＣＰモジュール２１へ送信する。更に、これを受けて、ＴＣＰ通信接続要求装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ（確認応答）に設定したコネクションの接続完了を示す第３パケットをＴＣＰ通信接続受理装置のＴＣＰモジュール２１へ送信する。
【００５３】
コネクションの切断要求は、ＴＣＰ通信要求装置およびＴＣＰ通信受理装置のいずれの側からでも行なうことができる。ＴＣＰ通信のコネクション切断を要求する無線装置（以下、「ＴＣＰ通信切断要求装置」という。）のＴＣＰモジュール２１は、コネクションの切断時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮ（Ｆｉｎｉｓｈ  Ｆｌａｇ）に設定したコネクションの切断要求を示す第１パケットをＴＣＰ通信のコネクション切断を受理する無線装置（以下、「ＴＣＰ通信切断受理装置」という。）へ送信する。これを受けて、ＴＣＰ通信切断受理装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断要求受理を示す第２パケットと、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮに設定したコネクションの切断完了を示す第３パケットをＴＣＰ通信切断要求装置のＴＣＰモジュール２１へ送信する。更に、これを受けて、ＴＣＰ通信切断要求装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断完了を示す第４パケットをＴＣＰ通信切断受理装置のＴＣＰモジュール２１へ送信する。
【００５４】
図５は、Ｈｅｌｌｏメッセージの構成図である。ＨｅｌｌｏメッセージＨＬＭは、ヘッダＨＥＤと、経路情報ＲＴＩＦとからなる。ヘッダＨＥＤは、送信先（ｄｅｓｔ）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）とからなる。
【００５５】
また、経路情報ＲＴＩＦは、送信先（ｄｅｓｔ）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）と、隣接する無線装置（ｎｅｘｔ）と、ホップ数（ｈｏｐｓ）と、メトリック（ｍｅｔｒｉｃ）と、フラグ（ｆｌａｇ）と、ルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ）とからなる。
【００５６】
ヘッダＨＥＤの送信先（ｄｅｓｔ＝）は、ＨｅｌｌｏメッセージＨＬＭを受信した無線装置がパケットを送信すべき無線装置を表し、ヘッダＨＥＤの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）は、ＨｅｌｌｏメッセージＨＬＭを受信した無線装置がＨｅｌｌｏメッセージＨＬＭを送信した無線装置へ行なう無線通信のシーケンス番号を表す。
【００５７】
経路情報ＲＴＩＦの送信先（ｄｅｓｔ）は、送信先の無線装置のＩＰアドレスを表す。経路情報ＲＴＩＦの送信先シーケンス番号は、送信先に対する経路情報が生成された順番を表す。従って、送信先シーケンス番号が大きい経路は、相対的に新しい経路であることを表す。
【００５８】
経路情報ＲＴＩＦの隣接する無線装置（ｎｅｘｔ）は、次にホップする無線装置のＩＰアドレスを表す。経路情報ＲＴＩＦのホップ数（ｈｏｐｓ）は、当該無線装置から送信先の無線装置までの間において、隣接する２つの無線装置間で行なわれる無線通信の回数を表す。
【００５９】
経路情報ＲＴＩＦのメトリック（ｍｅｔｒｉｃ）は、無線通信の安定度合を表し、受信信号強度に応じて決定される数値が格納される。そして、メトリックは、受信信号強度が相対的に弱いとき、相対的に大きい数値が格納され、受信信号強度が相対的に強いとき、相対的に小さい数値が格納される。受信信号強度をメトリックへ変換する方法については、後述する。
【００６０】
経路情報ＲＴＩＦのフラグ（ｆｌａｇ）は、ルーティングテーブル２０に格納された各経路情報によって表される各経路が送信元と送信先との間の無線通信に用いられている経路であるか代替経路であるかを表す。従って、フラグには、送信元と送信先との間の無線通信に用いられている経路であることを示す“ＦＲ”、または代替経路であることを示す“ＡＲ”が格納される。
【００６１】
経路情報ＲＴＩＦのルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ＝１）は、ＨｅｌｌｏメッセージＨＬＭに含まれる経路情報の数を表す。
【００６２】
図６は、図２に示すルーティングテーブル２０の構成図である。ルーティングテーブル２０は、送信先アドレス（ｄｅｓｔ）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑと、隣接する無線装置のアドレス（ＮｅｘｔＨｏｐアドレス）と、ホップ数（ｈｏｐｓ）と、メトリック（ｍｅｔｒｉｃ）と、フラグ（ｆｌａｇ）と、トリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）とからなる。送信先アドレス（ｄｅｓｔ）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）、隣接する無線装置のアドレス（ＮｅｘｔＨｏｐアドレス）、ホップ数（ｈｏｐｓ）、メトリック（ｍｅｔｒｉｃ）、フラグ（ｆｌａｇ）およびトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）は、相互に対応付けられている。
【００６３】
そして、ルーティングテーブル２０の送信先アドレス（ｄｅｓｔ）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）、隣接する無線装置のアドレス（ＮｅｘｔＨｏｐアドレス）、ホップ数（ｈｏｐｓ）、メトリック（ｍｅｔｒｉｃ）およびフラグ（ｆｌａｇ）は、それぞれ、ＨｅｌｌｏメッセージＨＬＭの送信先（ｄｅｓｔ）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）、隣接する無線装置（ｎｅｘｔ）、ホップ数（ｈｏｐｓ）、メトリック（ｍｅｔｒｉｃ）およびフラグ（ｆｌａｇ）と同じである。
【００６４】
ルーティングテーブル２０のトリガータイムは、Ｈｅｌｌｏパケットを受信してから好適な代替経路を検出するまでの時間が格納される。
【００６５】
他の無線装置から受信した受信信号の受信信号強度をメトリックに変換する方法について説明する。表１は、信号強度とメトリック値との関係を示す。
【００６６】
【表１】
0004696314.tif 000002
【００６７】
信号強度が−６０ｄＢよりも強いとき、メトリック値は、“１”となり、信号強度が−６０ｄＢ〜−６５ｄＢまでの範囲であるとき、メトリック値は、“２”となり、信号強度が−６５ｄＢ〜−７０ｄＢまでの範囲であるとき、メトリック値は、“４”となり、信号強度が−７０ｄＢ〜−７５ｄＢまでの範囲であるとき、メトリック値は、“８”となり、信号強度が−７５ｄＢよりも弱いとき、メトリック値は、“１６”となる。
【００６８】
このように、受信信号強度ＲＳＳＩが相対的に強いとき、メトリック値は、相対的に小さくなり、受信信号強度ＲＳＳＩが相対的に弱いとき、メトリック値は、相対的に大きくなる。
【００６９】
したがって、メトリック値が相対的に小さいことは、無線通信が相対的に安定であることに相当し、メトリック値が相対的に大きいことは、無線通信が相対的に不安定であることに相当する。
【００７０】
ルーティングデーモン２４は、無線インターフェースモジュール１６から受信信号強度を受けると、その受けた受信信号強度に対応するメトリック値を表１を参照して検出し、その検出したメトリック値を経路情報を送信した無線装置を介する経路のメトリックに加算してルーティングテーブル２０を作成する。
【００７１】
ＡＯＤＶプロトコルに従ったルーティングテーブル２０の作成について説明する。無線装置Ｍ１〜Ｍ１２は、Ｈｅｌｌｏパケットを受信する毎にルーティングテーブル２０を作成する。
【００７２】
Ｈｅｌｌｏパケットは、各無線装置Ｍ１〜Ｍ１２の無線通信を行なっている無線装置が有する情報の配信を目的とする。このＨｅｌｌｏパケットを受信することによって、各無線装置Ｍ１〜Ｍ１２は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
【００７３】
そして、各無線装置Ｍ１〜Ｍ１２は、他の無線装置からＨｅｌｌｏパケットを受信したとき、Ｈｅｌｌｏパケットの受信信号強度を検出し、その検出した受信信号強度を表１に従ってメトリック値に変換する。
【００７４】
各無線装置Ｍ１〜Ｍ１２は、受信信号強度をメトリック値に変換すると、Ｈｅｌｌｏパケットに含まれる無線装置のＩＰアドレスをルーティングテーブル２０の送信先（ｄｅｓｔ）および隣接する無線装置（ＮｅｘｔＨｏｐアドレス）に格納し、Ｈｅｌｌｏパケットに含まれるホップ数（ｈｏｐｓ）に“１”を加算して加算結果をルーティングテーブル２０のホップ数（ｈｏｐｓ）に格納し、変換したメトリック値をＨｅｌｌｏパケットに含まれるメトリック（ｍｅｔｒｉｃ）に加算して加算結果をルーティングテーブル２０のメトリック（ｍｅｔｒｉｃ）に格納してルーティングテーブル２０を作成する。
【００７５】
無線装置Ｍ１〜Ｍ１２の各々は、順次、上述した動作を繰り返すことにより、自己に隣接する隣接無線装置、その隣接無線装置に更に隣接する無線装置、・・・と、自己から１ホップ内、２ホップ内、３ホップ内、・・・の無線装置の存在を徐々に認識する。
【００７６】
そして、各無線装置Ｍ１〜Ｍ１２は、自己の周囲に存在する各無線装置を送信先とする各最短路をメトリックに基づいて演算してルーティングテーブル２０を最終的に作成する。
【００７７】
図７は、図１に示す無線ネットワークシステム１０における無線通信の一態様を示す概念図である。また、図８は、ルーティングテーブル２０の例を示す図である。
【００７８】
なお、図７において、２つの無線装置間に表示された数値は、受信信号強度ＲＳＳＩを表１に従って変換したメトリック値を表す。また、点線は、無線通信が行なわれていないことを表し、実線は、無線通信が行なわれていることを表す。
【００７９】
まず、無線装置Ｍ１と無線装置Ｍ９との間で通信経路を確立する動作について説明する。送信元である無線装置Ｍ１は、送信先である無線装置Ｍ９との間で通信経路を確立する場合、ルート要求パケットＲＲＥＱを生成してブロードキャストする。
【００８０】
このルート要求パケットＲＲＥＱは、送信元Ｓｅｎｄｅｒと、タイプＴｙｐｅと、送信先アドレスＤＳＴと、送信先シーケンス番号ＤＳＴＳｅｑと、送信元ＩＰアドレスＳｒｃと、送信元シーケンス番号ＳｒｃＳｅｑと、ルート要求パケット識別子ＲＲＥＱｉｄと、ホップ数Ｈｏｐｓと、メトリック（Ｍｅｔｒｉｃ）とからなる。
【００８１】
送信元Ｓｅｎｄｅｒは、ルート要求パケットＲＲＥＱを送信する無線装置のアドレスであり、ルート要求パケットＲＲＥＱを受信する各無線装置が送信先から送信元への逆通信経路において次に送信すべき無線装置であると認識するアドレスである。そして、この送信元Ｓｅｎｄｅｒは、ルート要求パケットＲＲＥＱを中継する無線装置によって変えられる。
【００８２】
タイプは、ルート要求パケットＲＲＥＱがルートの確立を要求するパケットであることを示す“ＲＲＥＱ”からなり、この“ＲＲＥＱ”は、変更されない。
【００８３】
送信先アドレスＤＳＴは、確立しようとしている通信経路における最終的な送信先である無線装置のＩＰアドレスである。そして、送信先ＩＰアドレスは、不変である。
【００８４】
送信先シーケンス番号ＤＳＴＳｅｑは、最終的な送信先へ向かう複数の経路のうち、ルート要求パケットＲＲＥＱの生成元によって受信された最新のシーケンス番号である。
【００８５】
送信元ＩＰアドレスＳｒｃは、ルート要求パケットＲＲＥＱの生成元のＩＰアドレスである。従って、この送信元ＩＰアドレスは、不変である。
【００８６】
送信元シーケンス番号ＳｒｃＳｅｑは、ルート要求パケットＲＲＥＱの生成元へ向かう経路において使用されるべき現在のシーケンス番号である。そして、この送信元シーケンス番号は、不変である。
【００８７】
ルート要求パケット識別子ＲＲＥＱｉｄは、順次生成される複数のルート要求パケットＲＲＥＱの各々を特定するシーケンス番号である。そして、このルート要求パケット識別子ＲＲＥＱｉｄは、一度付与されると、変更されない。
【００８８】
ホップ数Ｈｏｐｓは、ルート要求パケットＲＲＥＱの生成元からルート要求パケットＲＲＥＱを中継する各無線装置までのホップ数を表す。従って、このホップ数は、ルート要求パケットＲＲＥＱを中継する無線装置によって“１”ずつインクリメントされる。
【００８９】
メトリック（Ｍｅｔｒｉｃ）は、送信元から各無線装置（ルート要求パケットＲＲＥＱを中継する中継器およびルート要求パケットＲＲＥＱの送信先の無線装置）までのメトリック値の総和からなる。
【００９０】
従って、無線装置Ｍ１のルーティングデーモン２４は、［Ｓｅｎｄｅｒ１／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／０／０］からなるルート要求パケットＲＲＥＱを生成してブロードキャストする。
【００９１】
そして、無線装置Ｍ１の隣の無線装置Ｍ３，Ｍ４，Ｍ５は、無線装置Ｍ１からのルート要求パケットＲＲＥＱを受信し、無線装置Ｍ３，Ｍ４，Ｍ５のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを無線装置Ｍ１から最初に受信したか否かを判定する。
【００９２】
ルート要求パケットＲＲＥＱを最初に受信したものである場合、無線装置Ｍ４のルーティングデーモン２４は、ルート要求パケットＲＲＥＱ中の送信元Ｓｅｎｄｅｒ１を、無線装置Ｍ４が送信元であることを示す送信元Ｓｅｎｄｅｒ４に代え、無線装置Ｍ１から無線装置Ｍ４までの経路数であるホップ数に“１”を加算するとともに、メトリックに“３”を加算してルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ４／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／１／３］を生成し、その生成したルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ４／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／１／３］をＵＤＰモジュール２２によってブロードキャストする。
【００９３】
また、無線装置Ｍ４のルーティングデーモン２４は、送信元Ｓｅｎｄｅｒ１に基づいて、無線装置Ｍ９から無線装置Ｍ１への逆通信経路において無線装置Ｍ４が次に送信すべき無線装置が無線装置Ｍ１であると認識する。
【００９４】
無線装置Ｍ３のルーティングデーモン２４は、ルート要求パケットＲＲＥＱ中の送信元Ｓｅｎｄｅｒ１を、無線装置Ｍ３が送信元であることを示す送信元Ｓｅｎｄｅｒ３に代え、無線装置Ｍ１から無線装置Ｍ３までの経路数であるホップ数に“１”を加算するとともに、メトリックに“２”を加算してルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ３／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／１／２］を生成し、その生成したルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ３／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／１／２］をＵＤＰモジュール２２によってブロードキャストする。
【００９５】
また、無線装置Ｍ３のルーティングデーモン２４は、送信元Ｓｅｎｄｅｒ１に基づいて、無線装置Ｍ９から無線装置Ｍ１への逆通信経路において無線装置Ｍ３が次に送信すべき無線装置が無線装置Ｍ１であると認識する。
【００９６】
無線装置Ｍ５も、無線装置Ｍ３，Ｍ４と同様にしてルート要求パケットＲＲＥＱを中継する。
【００９７】
このように、無線装置Ｍ３，Ｍ４，Ｍ５は、ルート要求パケットＲＲＥＱを中継する。
【００９８】
その後、無線装置Ｍ６は、ルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ４／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／１／３］を無線装置Ｍ４から受信し、その受信したルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ４／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／１／３］をルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ６／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／２／６］に変えてブロードキャストする。
【００９９】
また、無線装置Ｍ８は、ルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ６／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／２／６］を無線装置Ｍ６から受信し、その受信したルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ６／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／２／６］をルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ８／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／３／９］に変えてブロードキャストする。
【０１００】
そして、送信先である無線装置Ｍ９は、ルート要求パケットＲＲＥＱ＝［Ｓｅｎｄｅｒ８／ＲＲＥＱ／Ｍ９／２８／Ｓｒｃ１／２４／３／３／９］を無線装置Ｍ８から受信する。
【０１０１】
そうすると、無線装置Ｍ９のルーティングデーモン２４は、ルート要求パケットＲＲＥＱに含まれる送信先アドレス＝Ｍ９に基づいて自己が送信先であることを検知し、ルート返答パケットＲＲＥＰを生成する。
【０１０２】
この場合、ルート返答パケットＲＲＥＰは、送信元Ｓｅｎｄｅｒと、タイプＴｙｐｅと、送信先アドレスＤＳＴと、送信先シーケンス番号ＤＳＴＳｅｑと、ホップ数Ｈｏｐｓと、メトリックＭｅｔｒｉｃとからなる。
【０１０３】
送信元Ｓｅｎｄｅｒは、ルート返答パケットＲＲＥＰを送信する無線装置のアドレスである。そして、この送信元Ｓｅｎｄｅｒは、ルート要求パケットＲＲＥＰを中継する無線装置によって変えられる。
【０１０４】
タイプは、ルート返答パケットＲＲＥＰがルート要求パケットＲＲＥＱに対する返答であることを示す“ＲＲＥＰ”からなり、この“ＲＲＥＰ”は、変更されない。
【０１０５】
送信先アドレスＤＳＴおよび送信先シーケンス番号ＤＳＴＳｅｑは、それぞれ、ルート要求パケットＲＲＥＱに格納された送信先アドレスＤＳＴおよび送信先シーケンス番号ＤＳＴＳｅｑである。
【０１０６】
ホップ数Ｈｏｐｓは、ルート返答パケットＲＲＥＰの生成元からルート返答パケットＲＲＥＰを中継する各無線装置までのホップ数を表す。従って、このホップ数は、ルート返答パケットＲＲＥＰを中継する無線装置によって“１”ずつインクリメントされる。
【０１０７】
メトリック（Ｍｅｔｒｉｃ）は、ルート返答パケットＲＲＥＰの送信元から各無線装置（ルート返答パケットＲＲＥＰを中継する中継器およびルート返答パケットＲＲＥＰの送信先の無線装置（＝無線装置Ｍ１））までのメトリック値の総和からなる。
【０１０８】
従って、無線装置Ｍ９のルーティングデーモン２４は、［Ｓｅｎｄｅｒ９／ＲＲＥＰ／Ｍ９／２８／０／０］からなるルート返答パケットＲＲＥＰを生成し、その生成したルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ９／ＲＲＥＰ／Ｍ９／２８／０／０］をルート要求パケットＲＲＥＱを受信した経路に沿って送信する。即ち、無線装置Ｍ９のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを無線装置Ｍ８から受信したので、ルート返答パケットＲＲＥＰをＵＤＰモジュール２２によって無線装置Ｍ８へ送信する。
【０１０９】
無線装置Ｍ８のルーティングデーモン２４は、無線装置Ｍ９からルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ９／ＲＲＥＰ／Ｍ９／２８／０／０］を受信し、その受信したルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ９／ＲＲＥＰ／Ｍ９／２８／０／０］の送信元Ｓｅｎｄｅｒ９を無線装置Ｍ８を示す送信元Ｓｅｎｄｅｒ８に代え、無線装置Ｍ８までの経路数であるホップ数に“１”を加算するとともに、メトリックに“３”を加算してルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ８／ＲＲＥＰ／Ｍ９／２８／１／３］を生成し、その生成したルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ８／ＲＲＥＰ／Ｍ９／２８／１／３］をＵＤＰモジュール２２によって無線装置Ｍ６へ送信する。
【０１１０】
そうすると、無線装置Ｍ６のルーティングデーモン２４は、ルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ８／ＲＲＥＰ／Ｍ９／２８／１／３］を受信し、無線装置Ｍ８と同様にして、ルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ６／ＲＲＥＰ／Ｍ９／２８／２／６］を生成し、その生成したルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ６／ＲＲＥＰ／Ｍ９／２８／２／６］をＵＤＰモジュール２２によって無線装置Ｍ４へ送信する。
【０１１１】
そして、無線装置Ｍ４のルーティングデーモン２４は、ルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ６／ＲＲＥＰ／Ｍ９／２８／２／６］を受信し、その受信したルート返答パケットＲＲＥＰ＝［Ｓｅｎｄｅｒ６／ＲＲＥＰ／Ｍ９／２８／２／６］をルート返答パケットＲＲＥＰ＝［Ｓｒｃ１／Ｓｅｎｄｅｒ４／ＲＲＥＰ／Ｍ９／２８／３／９］に変えて無線装置Ｍ１へ送信する。
【０１１２】
なお、ルート要求パケットＲＲＥＱが無線装置Ｍ１から無線装置Ｍ９へ送信されることによって無線装置Ｍ１→無線装置Ｍ４→無線装置Ｍ６→無線装置Ｍ８→無線装置Ｍ９の経路が確立されているので、各無線装置Ｍ４，Ｍ６，Ｍ８は、ルート要求パケットＲＲＥＱを受信した経路に沿ってルート返答パケットＲＲＥＰを無線装置Ｍ１（送信元）へ送信できる。
【０１１３】
そして、送信元である無線装置Ｍ１のルーティングデーモン２４は、送信先である無線装置Ｍ９からのルート返答パケットＲＲＥＰを受信すると、データパケットを生成して送信先の無線装置Ｍ９へ送信する。これによって、無線装置Ｍ１→無線装置Ｍ４→無線装置Ｍ６→無線装置Ｍ８→無線装置Ｍ９からなる通信経路が活性化され、ルーティングテーブル２０内のフラグｆｌｇが“ＦＲ”に変更される。即ち、無線装置Ｍ１→無線装置Ｍ４→無線装置Ｍ６→無線装置Ｍ８→無線装置Ｍ９からなるアドホックネットワークが自律的に構成される。
【０１１４】
そして、無線装置Ｍ１，Ｍ４，Ｍ６，Ｍ８は、ルート要求パケットＲＲＥＱおよびルート返答パケットＲＲＥＰの送受信を通して図８の（ａ）〜（ｄ）に示すルーティングテーブル２０Ａ，２０Ｂ，２０Ｃ，２０Ｄをそれぞれ作成する。
【０１１５】
無線装置Ｍ１と無線装置Ｍ９との間で通信経路が確立された後、無線通信に用いられている経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）上の各無線装置（無線装置Ｍ１，Ｍ４，Ｍ６，Ｍ８，Ｍ９のいずれか）は、定期的にＨｅｌｌｏパケットを生成してブロードキャストする。
【０１１６】
また、無線通信に用いられている経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）上の無線装置（無線装置Ｍ１，Ｍ４，Ｍ６，Ｍ８，Ｍ９のいずれか）からＨｅｌｌｏパケットを受信した無線装置（無線装置Ｍ５等）は、受信したＨｅｌｌｏパケットに含まれる経路情報に基づいて、自己のルーティングテーブル２０を更新し、好適なルートを見出したときは、その更新したルーティングテーブル２０に格納された経路情報を含むＨｅｌｌｏパケットを生成してブロードキャストする。
【０１１７】
図９は、ルーティングテーブルおよびＨｅｌｌｏメッセージの例を示す図である。図９の（ａ）は、図７に示す無線装置Ｍ６がブロードキャストするＨｅｌｌｏメッセージＨＬＭ１を表し、図９の（ｂ），（ｄ）は、図７に示す無線装置Ｍ５が保持するルーティングテーブル２０Ｅ，２０Ｆを表し、図９の（ｃ）は、図７に示す無線装置Ｍ１がブロードキャストするＨｅｌｌｏメッセージＨＬＭ２を表し、図９の（ｅ）は、図７に示す無線装置Ｍ５がブロードキャストするＨｅｌｌｏメッセージＨＬＭ３を表し、図９の（ｆ）は、図７に示す無線装置Ｍ１が保持するルーティングテーブル２０Ｇを表す。
【０１１８】
例えば、無線通信に用いられている経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）上の無線装置Ｍ６は、ＨｅｌｌｏメッセージＨＬＭ１を作成し、その作成したＨｅｌｌｏメッセージＨＬＭ１をＨｅｌｌｏパケットに格納してブロードキャストする。
【０１１９】
ＨｅｌｌｏメッセージＨＬＭ１は、送信先（ｄｅｓｔ＝Ｍ９）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）と、隣接する無線装置（ｎｅｘｔ＝Ｍ８）と、ホップ数（ｈｏｐｓ＝２）と、メトリック（ｍｅｔｒｉｃ＝６）と、フラグ（ｆｌａｇ＝ＦＲ）と、ルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ＝１）と、送信先（ｄｅｓｔ＝Ｍ６）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２４）とからなる。
【０１２０】
ＨｅｌｌｏメッセージＨＬＭ１のうち、経路情報ＲＴＩＦを構成する送信先（ｄｅｓｔ＝Ｍ９）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）、隣接する無線装置（ｎｅｘｔ＝Ｍ８）、ホップ数（ｈｏｐｓ＝２）、メトリック（ｍｅｔｒｉｃ＝６）およびフラグ（ｆｌａｇ＝ＦＲ）は、無線装置Ｍ６が保持しているルーティングテーブル２０Ｃ（図８の（ｃ）参照）の送信先（ｄｅｓｔ＝Ｍ９）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）、隣接する無線装置（ｎｅｘｔ＝Ｍ８）、ホップ数（ｈｏｐｓ＝２）、メトリック（ｍｅｔｒｉｃ＝６）およびフラグ（ｆｌａｇ＝ＦＲ）と同じである。
【０１２１】
また、ルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ＝１）は、ＨｅｌｌｏメッセージＨＬＭ１に含まれる経路情報の数が“１”であることを表す。
【０１２２】
更に、送信先（ｄｅｓｔ＝Ｍ６）は、ＨｅｌｌｏメッセージＨＬＭ１を受信した無線装置がパケットを送信すべき送信先が無線装置Ｍ６であることを表し、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２４）は、ＨｅｌｌｏメッセージＨＬＭ１を受信した無線装置がＨｅｌｌｏメッセージＨＬＭ１を送信した無線装置へ行なう無線通信のシーケンス番号が“２４”であることを表す。
【０１２３】
このように、無線通信に用いられている経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）上の無線装置Ｍ６は、無線通信に用いている経路の経路情報からなるＨｅｌｌｏメッセージＨＬＭ１を生成してブロードキャストする。
【０１２４】
無線通信を行なっている経路上の無線装置Ｍ１，Ｍ６に隣接する無線装置Ｍ５は、無線装置Ｍ６からブロードキャストされたＨｅｌｌｏメッセージＨＬＭ１を受信する。そして、無線装置Ｍ５は、無線装置Ｍ６から受信したＨｅｌｌｏメッセージＨＬＭ１に格納された経路情報が自己のルーティングテーブル（図示せず）に格納されていないとき、ＨｅｌｌｏメッセージＨＬＭ１に格納された経路情報によってルーティングテーブル２０Ｅを作成する（図９の（ｂ）参照）。
【０１２５】
この場合、無線装置Ｍ５は、ＨｅｌｌｏメッセージＨＬＭ１に格納されたホップ数（ｈｏｐｓ＝２）に“１”を加算した“３”をルーティングテーブル２０Ｅのホップ数（ｈｏｐｓ）に格納し、代替経路であることを示す“ＡＲ”をフラグｆｌａｇに格納し、ＨｅｌｌｏメッセージＨＬＭ１を受信したことを示すためにトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）に“０”を格納する。
【０１２６】
また、無線通信を行なっている経路上の無線装置Ｍ１は、ＨｅｌｌｏメッセージＨＬＭ２を作成し、その作成したＨｅｌｌｏメッセージＨＬＭ２をＨｅｌｌｏパケットに格納してブロードキャストする。
【０１２７】
ＨｅｌｌｏメッセージＨＬＭ２は、送信先（ｄｅｓｔ＝Ｍ９）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）と、隣接する無線装置（ｎｅｘｔ＝Ｍ４）と、ホップ数（ｈｏｐｓ＝４）と、メトリック（ｍｅｔｒｉｃ＝１２）と、フラグ（ｆｌａｇ＝ＦＲ）と、ルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ＝１）と、送信先（ｄｅｓｔ＝Ｍ１）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２４）とからなる。
【０１２８】
ＨｅｌｌｏメッセージＨＬＭ２のうち、経路情報ＲＴＩＦを構成する送信先（ｄｅｓｔ＝Ｍ９）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）、隣接する無線装置（ｎｅｘｔ＝Ｍ４）、ホップ数（ｈｏｐｓ＝４）、メトリック（ｍｅｔｒｉｃ＝１２）およびフラグ（ｆｌａｇ＝ＦＲ）は、無線装置Ｍ１が保持しているルーティングテーブル２０Ａ（図８の（ａ）参照）の送信先（ｄｅｓｔ＝Ｍ９）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）、隣接する無線装置（ｎｅｘｔ＝Ｍ４）、ホップ数（ｈｏｐｓ＝４）、メトリック（ｍｅｔｒｉｃ＝１２）およびフラグ（ｆｌａｇ＝ＦＲ）と同じである。
【０１２９】
また、ルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ）は、“１”であり、更に、ＨｅｌｌｏメッセージＨＬＭ２を受信した無線装置がパケットを送信すべき送信先（ｄｅｓｔ）は、無線装置Ｍ１であり、ＨｅｌｌｏメッセージＨＬＭ１を受信した無線装置がＨｅｌｌｏメッセージＨＬＭ１を送信した無線装置へ行なう無線通信のシーケンス番号（ｄｅｓｔ＿ｓｅｑ）は、“２４”である。
【０１３０】
無線装置Ｍ５は、無線装置Ｍ６からＨｅｌｌｏメッセージＨＬＭ１を受信した後、無線装置Ｍ１からＨｅｌｌｏメッセージＨＬＭ２を受信する。そして、無線装置Ｍ５は、受信したＨｅｌｌｏメッセージＨＬＭ２に格納された経路情報の送信先（ｄｅｓｔ＝Ｍ９）がルーティングテーブル２０Ｅに保持されている経路情報の送信先（ｄｅｓｔ＝Ｍ９）と同じであり、かつ、ＨｅｌｌｏメッセージＨＬＭ２のメトリック（ｍｅｔｒｉｃ＝１２）がルーティングテーブル２０Ｅに格納されたメトリック（ｍｅｔｒｉｃ＝８）に無線装置Ｍ１，Ｍ５間のメトリック（ｌｉｎｋ＿ｍｅｔｒｉｃ＝２）を加算した結果（＝１０）よりも大きいので、ルーティングテーブル２０Ｅに格納された経路情報のトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を現在時刻（＝２０．５秒）に設定する。
【０１３１】
これによって、ルーティングテーブル２０Ｅは、ルーティングテーブル２０Ｆに更新される（図９の（ｄ）参照）。
【０１３２】
ＨｅｌｌｏメッセージＨＬＭ２のメトリック（ｍｅｔｒｉｃ＝１２）がルーティングテーブル２０Ｅに格納されたメトリック（ｍｅｔｒｉｃ＝８）に無線装置Ｍ１，Ｍ５間のメトリック（ｌｉｎｋ＿ｍｅｔｒｉｃ＝２）を加算した結果（＝１０）よりも大きい場合に、ルーティングテーブル２０Ｅに格納された経路情報のトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を現在時刻（＝２０．５秒）に設定するのは、無線装置Ｍ１が送信先の無線装置Ｍ９と無線通信を行なう場合、無線装置Ｍ４を介して無線装置Ｍ９と無線通信を行なうよりも無線装置Ｍ５を介して無線装置Ｍ９と無線通信を行なう方がメトリック（ｍｅｔｒｉｃ）が小さく、無線通信のスループットを向上できるので、無線装置Ｍ１が無線装置Ｍ５を介して無線装置Ｍ９と無線通信を行なう経路を代替経路ＡＲとして確定するためである。
【０１３３】
無線装置Ｍ５は、代替経路ＡＲを確定すると、その確立した代替経路ＡＲを示す経路情報を含むＨｅｌｌｏメッセージＨＬＭ３を作成し、その作成したＨｅｌｌｏメッセージＨＬＭ３をＨｅｌｌｏパケットに格納してブロードキャストする。
【０１３４】
ＨｅｌｌｏメッセージＨＬＭ３は、送信先（ｄｅｓｔ＝Ｍ９）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）と、隣接する無線装置（ｎｅｘｔ＝Ｍ６）と、ホップ数（ｈｏｐｓ＝３）と、メトリック（ｍｅｔｒｉｃ＝８）と、フラグ（ｆｌａｇ＝ＡＲ）と、ルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ＝１）と、送信先（ｄｅｓｔ＝Ｍ５）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝１６）とからなる。
【０１３５】
ＨｅｌｌｏメッセージＨＬＭ３のうち、経路情報ＲＴＩＦを構成する送信先（ｄｅｓｔ＝Ｍ９）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）、隣接する無線装置（ｎｅｘｔ＝Ｍ６）、ホップ数（ｈｏｐｓ＝３）、メトリック（ｍｅｔｒｉｃ＝８）およびフラグ（ｆｌａｇ＝ＡＲ）は、無線装置Ｍ５が保持しているルーティングテーブル２０Ｆ（図９の（ｄ）参照）の送信先（ｄｅｓｔ＝Ｍ９）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８）、隣接する無線装置（ｎｅｘｔ＝Ｍ６）、ホップ数（ｈｏｐｓ＝３）、メトリック（ｍｅｔｒｉｃ＝８）およびフラグ（ｆｌａｇ＝ＡＲ）と同じである（図９の（ｅ）参照）。
【０１３６】
無線装置Ｍ１は、ＨｅｌｌｏメッセージＨＬＭ３を無線装置Ｍ５から受信する。そして、無線装置Ｍ１は、ＨｅｌｌｏメッセージＨＬＭ３に格納された経路情報の送信先（ｄｅｓｔ＝Ｍ９）がルーティングテーブル２０Ａ（図８の（ａ）参照）に保持している経路情報の送信先（ｄｅｓｔ＝Ｍ９）と同じであり、かつ、ＨｅｌｌｏメッセージＨＬＭ３に格納された経路情報のメトリック（ｍｅｔｒｉｃ＝８）に無線装置Ｍ１，Ｍ５間のメトリック（ｌｉｎｋ＿ｍｅｔｒｉｃ＝２）を加算した結果（＝１０）がルーティングテーブル２０Ａに格納されているメトリック（ｍｅｔｒｉｃ＝１２）よりも小さいので、ルーティングテーブル２０Ａに格納された経路情報をＨｅｌｌｏメッセージＨＬＭ３に格納されている経路情報によって更新する。即ち、無線装置Ｍ１は、ルーティングテーブル２０Ａをルーティングテーブル２０Ｇ（図９の（ｆ）参照）に更新する。
【０１３７】
このように、無線通信を行なっている経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）上の無線装置Ｍ１，Ｍ６および経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）に隣接する無線装置Ｍ５がＨｅｌｌｏメッセージをブロードキャストすることによって、無線装置Ｍ５は、代替経路ＡＲを確立でき、無線装置Ｍ１は、無線装置Ｍ９との間で行なう無線通信の経路を経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）よりも好適な経路（＝無線装置Ｍ１−無線装置Ｍ５−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）に更新することができる。
【０１３８】
そして、無線装置Ｍ１は、経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）が切断されなくても、この経路の更新を行なうことができる。
【０１３９】
即ち、無線装置Ｍ１は、経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）を用いて無線装置Ｍ９との間で無線通信を行ないながら、無線装置Ｍ５から受信したＨｅｌｌｏメッセージＨＬＭ３に基づいて、経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）よりも好適な経路（＝無線装置Ｍ１−無線装置Ｍ５−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）を検出するとともに、経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）を好適な経路（＝無線装置Ｍ１−無線装置Ｍ５−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）に更新し、その更新した好適な経路（＝無線装置Ｍ１−無線装置Ｍ５−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）を用いて無線装置Ｍ９との間で無線通信を行なう。
【０１４０】
図１０は、ルーティングテーブルおよびＨｅｌｌｏメッセージの他の例を示す図である。無線装置Ｍ５は、新たな無線通信を無線装置Ｍ１０との間で開始する場合、ルーティングテーブル２０Ｈ（図１０の（ａ）参照）を保持している。
【０１４１】
ルーティングテーブル２０Ｈは、送信先（ｄｅｓｔ）が無線装置Ｍ９であり、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）が“２８”であり、隣接する無線装置（ｎｅｘｔ）が無線装置Ｍ６であり、ホップ数（ｈｏｐｓ）が“３”であり、フラグ（ｆｌａｇ）が“ＡＲ”であり、トリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）が２０．５秒である経路と、送信先（ｄｅｓｔ）が無線装置Ｍ１０であり、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）が“３２”であり、隣接する無線装置（ｎｅｘｔ）が無線装置Ｍ１２であり、ホップ数（ｈｏｐｓ）が“２”であり、フラグ（ｆｌａｇ）が“ＦＲ”であり、トリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）が０秒である経路とからなる。
【０１４２】
そして、無線装置Ｍ５は、新たな無線通信を行なっているとき、ＨｅｌｌｏメッセージＨＬＭ４を作成し、その作成したＨｅｌｌｏメッセージＨＬＭ４をＨｅｌｌｏパケットに格納してブロードキャストする。
【０１４３】
ＨｅｌｌｏメッセージＨＬＭ４は、送信先（ｄｅｓｔ＝Ｍ９，Ｍ１０）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８，３２）と、隣接する無線装置（ｎｅｘｔ＝Ｍ６，Ｍ１２）と、ホップ数（ｈｏｐｓ＝３，２）と、メトリック（ｍｅｔｒｉｃ＝８，５）と、フラグ（ｆｌａｇ＝ＡＲ，ＦＲ）と、ルートアップデートエントリ（ｒｏｕｔｅ＿ｕｐｄａｔｅ＿ｅｎｔｒｉｅｓ＝２）と、送信先（ｄｅｓｔ＝Ｍ５）と、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝１６）とからなる。
【０１４４】
ＨｅｌｌｏメッセージＨＬＭ４のうち、経路情報ＲＴＩＦを構成する送信先（ｄｅｓｔ＝Ｍ９，Ｍ１０）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８，３２）、隣接する無線装置（ｎｅｘｔ＝Ｍ６，Ｍ１２）、ホップ数（ｈｏｐｓ＝３，２）、メトリック（ｍｅｔｒｉｃ＝８，５）およびフラグ（ｆｌａｇ＝ＡＲ，ＦＲ）は、無線装置Ｍ５が保持しているルーティングテーブル２０Ｈ（図１０の（ａ）参照）の送信先（ｄｅｓｔ＝Ｍ９，Ｍ１０）、送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ＝２８，３２）、隣接する無線装置（ｎｅｘｔ＝Ｍ６，Ｍ１２）、ホップ数（ｈｏｐｓ＝３，２）、メトリック（ｍｅｔｒｉｃ＝８，５）およびフラグ（ｆｌａｇ＝ＡＲ，ＦＲ）と同じである（図１０の（ｂ）参照）。
【０１４５】
このように、新たな無線通信を開始した無線装置Ｍ５は、自己が保持している経路情報をＨｅｌｌｏメッセージＨＬＭ４としてブロードキャストする。
【０１４６】
図１１は、Ｈｅｌｌｏメッセージを送信する動作を説明するためのフローチャートである。一連の動作が開始されると、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、ルートアップデートエントリＲＵＥＴＲを“０”に設定し（ステップＳ１）、ルーティングテーブル２０から経路ｒｔの経路情報を抽出する（ステップＳ２）。
【０１４７】
そして、ルーティングデーモン２４は、経路情報からフラグ（ｆｌａｇ）を抽出し（ステップＳ３）、その抽出したフラグ（ｆｌａｇ）が無線通信に用いている経路ＦＲを示すか否かを判定する（ステップＳ４）。
【０１４８】
ステップＳ４において、フラグ（ｆｌａｇ）が無線通信に用いている経路ＦＲを示すと判定されたとき、一連の動作は、ステップＳ７へ移行する。
【０１４９】
一方、ステップＳ４において、フラグ（ｆｌａｇ）が無線通信に用いている経路ＦＲを示さないと判定されたとき、即ち、ルーティングテーブル２０に代替経路の経路情報が格納されていると判定されたとき、ルーティングデーモン２４は、経路ｒｔのトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を読出し、現在時刻ＮＯＷからトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を減算して保持時間ＨＬＤＴ＝ＮＯＷ−ｔｒｉｇｇｅｒ＿ｔｉｍｅを演算する（ステップＳ５）。
【０１５０】
トリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）は、上述したように、Ｈｅｌｌｏメッセージを受信してから代替経路を検知するまでの時間であるので（図９の（ｂ），（ｄ）参照）、現在時刻ＮＯＷからトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を減算することは、検知された代替経路を各無線装置Ｍ１〜Ｍ１２が保持している保持時間ＨＬＤＴを演算することに相当する。
【０１５１】
そして、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、保持時間ＨＬＤＴを演算すると、その演算した保持時間ＨＬＤＴがしきい値ＴＲＩＧ＿ＴＨよりも短いか否かを判定する（ステップＳ６）。ステップＳ６において、保持時間ＨＬＤＴがしきい値ＴＲＩＧ＿ＴＨ以上であると判定されたとき、一連の動作は、ステップＳ９へ移行する。
【０１５２】
一方、ステップＳ６において、保持時間ＨＬＤＴがしきい値ＴＲＩＧ＿ＴＨよりも短いと判定されたとき、またはステップＳ４において、フラグ（ｆｌａｇ）が無線通信に用いている経路ＦＲを示すと判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、経路ｒｔの経路情報をＨｅｌｌｏメッセージに追加し、ルートアップデータエントリＲＵＥＴＲを“１”だけインクリメントする（ステップＳ７）。
【０１５３】
そして、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、ルーティングテーブル２０中に他の経路ｒｔが存在するか否かを判定し（ステップＳ８）、他の経路ｒｔが存在するとき、ルーティングテーブル２０から次の経路ｒｔの経路情報を抽出する（ステップＳ９）。なお、ステップＳ９は、ステップＳ６において、保持時間ＨＬＤＴがしきい値ＴＲＩＧ＿ＴＨ以上であると判定されたときにも実行される。
【０１５４】
その後、ステップＳ８において、他の経路ｒｔが存在しないと判定されるまで、上述したステップＳ３〜ステップＳ９が繰り返し実行される。
【０１５５】
そして、ステップＳ８において、他の経路ｒｔが存在しないと判定されると、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、ルートアップデータエントリＲＵＥＴＲが零よりも大きいか否かを判定し（ステップＳ１０）、ルートアップデータエントリＲＵＥＴＲが零であるとき、一連の動作は終了する。
【０１５６】
一方、ステップＳ１０において、ルートアップデータエントリＲＵＥＴＲが零よりも大きいと判定されると、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、ＨｅｌｌｏメッセージをＨｅｌｌｏパケットに格納してＭＡＣモジュール１７へ送信し、ＭＡＣモジュール１７は、ルーティングデーモン２４からのＨｅｌｌｏパケットを無線インターフェースモジュール１６およびアンテナ１１を介して送信する（ステップＳ１１）。
【０１５７】
そして、一連の動作は、終了する。
【０１５８】
このように、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、ルーティングテーブル２０に格納された経路のうち、無線通信に用いている経路ＦＲをそのままＨｅｌｌｏメッセージに格納し、保持時間ＨＬＤＴがしきい値ＴＲＩＧ＿ＴＨよりも短い代替経路ＡＲだけをＨｅｌｌｏメッセージに格納する（ステップＳ４〜ステップＳ７参照）。
【０１５９】
即ち、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、ルーティングテーブル２０に格納された全ての経路情報をＨｅｌｌｏメッセージに含めてブロードキャストするのではなく、保持時間ＨＬＤＴがしきい値ＴＲＩＧ＿ＴＨよりも短い代替経路ＡＲと、無線通信に用いている経路ＦＲとをＨｅｌｌｏメッセージに含めてブロードキャストする。
【０１６０】
従って、Ｈｅｌｌｏメッセージを送受信するときの通信量を削減でき、無線ネットワークシステム１０におけるスループットを向上できる。
【０１６１】
図１２は、Ｈｅｌｌｏメッセージを受信したときの動作を説明するためのフローチャートである。一連の動作が開始されると、各無線装置Ｍ１〜Ｍ１２の無線インターフェースモジュール１６は、アンテナ１１を介して他の無線装置からＨｅｌｌｏメッセージを受信し、Ｈｅｌｌｏメッセージを受信したときの受信信号強度ＲＳＳＩを検出する。
【０１６２】
そして、無線インターフェースモジュール１６は、その検出した受信信号強度ＲＳＳＩをルーティングデーモン２４へ送信し、ＨｅｌｌｏメッセージをＵＤＰモジュール２２へ送信する。
【０１６３】
ＵＤＰモジュール２２は、無線インターフェースモジュール１６からＨｅｌｌｏメッセージを受信し、その受信したＨｅｌｌｏメッセージをルーティングデーモン２４へ送信する。
【０１６４】
そうすると、ルーティングデーモン２４は、無線インターフェースモジュール１６から受信信号強度ＲＳＳＩを受信し、ＵＤＰモジュール２２からＨｅｌｌｏメッセージを受信する（ステップＳ２１）。
【０１６５】
そして、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、受信したＨｅｌｌｏメッセージからルートアップデートエントリＲＵＥＴＲを読出し（ステップＳ２２）、その読出したルートアップデートエントリＲＵＥＴＲが零よりも大きいか否かを判定する（ステップＳ２３）。
【０１６６】
そして、ステップＳ２３において、ルートアップデートエントリＲＵＥＴＲが零であると判定されたとき、一連の動作は、終了する。
【０１６７】
一方、ステップＳ２３において、ルートアップデートエントリＲＵＥＴＲが零よりも大きいと判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、Ｈｅｌｌｏメッセージから経路ｒｕの経路情報を読出す（ステップＳ２４）。
【０１６８】
そして、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、無線インターフェースモジュール１６から受信した受信信号強度ＲＳＳＩを表１に従ってメトリック値に変換してリンクメトリック（ｌｉｎｋ＿ｍｅｔｒｉｃ）を取得する。
【０１６９】
また、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、Ｈｅｌｌｏメッセージを送信した無線装置（送信元ｓｒｃ）を次に送信すべき無線装置ｎｎｅｘｔに設定する。
【０１７０】
更に、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、読出した経路情報からメトリック（ｍｅｔｒｉｃ）を抽出するとともに、その抽出したメトリック（ｍｅｔｒｉｃ）にリンクメトリック（ｌｉｎｋ＿ｍｅｔｒｉｃ）を加算し、その加算結果（＝ｌｉｎｋ＿ｍｅｔｒｉｃ＋ｍｅｔｒｉｃ）をメトリック（ｎｍｅｔｒｉｃ）として設定する（ステップＳ２５）。
【０１７１】
その後、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、経路ｒｕと送信先が同じである経路ｒｔをルーティングテーブル２０から探索し（ステップＳ２６）、経路ｒｔを検出したか否かを判定する（ステップＳ２７）。
【０１７２】
ステップＳ２７において、経路ｒｔを検出しなかったと判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、経路ｒｕのフラグが“ＦＲ”であるか否かを更に判定する（ステップＳ２８）。そして、ステップＳ２８において、経路ｒｕのフラグが“ＦＲ”でないと判定されたとき、一連の動作は、ステップＳ３４へ移行する。
【０１７３】
一方、ステップＳ２８において、経路ｒｕのフラグが“ＦＲ”であると判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、経路ｒｕの経路情報をルーティングテーブル２０に格納してルーティングテーブル２０中に代替経路ＡＲを確立し、その確立した代替経路ＡＲのトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を“０”に設定する（ステップＳ２９）。そして、ステップＳ２９の後、一連の動作は、ステップＳ３４へ移行する。
【０１７４】
一方、ステップＳ２７において、経路ｒｔを検出したと判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、次の条件（Ａ）〜（Ｃ）のいずれかが成立するかを更に判定する（ステップＳ３０）。
【０１７５】
（Ａ）経路ｒｔにおいて隣接する無線装置（ｎｅｘｔ（ｒｔ））が無線装置ｎｎｅｘｔ（＝Ｈｅｌｌｏメッセージの送信元ｓｒｃ）に等しい
（Ｂ）経路ｒｕの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）が経路ｒｔの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）よりも大きい
（Ｃ）経路ｒｕの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）が経路ｒｔの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ）と同じであり、かつ、メトリック（ｎｍｅｔｒｉｃ）が経路ｒｔのメトリック（ｍｅｔｒｉｃ）よりも小さい
条件（Ａ）は、各無線装置Ｍ１〜Ｍ１２のルーティングテーブル２０に格納されている経路ｒｔにおいて隣接する無線装置（ｎｅｘｔ（ｒｔ））がＨｅｌｌｏメッセージの送信元ｓｒｃであるか否かを判定するための条件である。即ち、条件（Ａ）は、現在、行なわれている無線通信の経路ｒｔにおいて送信先側において自己に隣接する無線装置からＨｅｌｌｏメッセージを受信したか否かを判定するための条件である。
【０１７６】
また、条件（Ｂ）は、Ｈｅｌｌｏメッセージに格納された経路ｒｕの経路情報がルーティングテーブル２０に格納された経路ｒｔの経路情報よりも新しいか否かを判定するための条件である。
【０１７７】
更に、条件（Ｃ）は、Ｈｅｌｌｏメッセージに格納された経路ｒｕの経路情報がルーティングテーブル２０に格納された経路ｒｔの経路情報と同じ新しさであり、かつ、経路ｒｕが経路ｒｔよりも安定しているか否かを判定するための条件である。
【０１７８】
ステップＳ３０において、上述した３つの条件（Ａ），（Ｂ），（Ｃ）のいずれかが成立すると判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、経路ｒｕの経路情報によってルーティングテーブル２０中の経路ｒｔの経路情報を更新する（ステップＳ３１）。
【０１７９】
上述した３つの条件（Ａ），（Ｂ），（Ｃ）のうち、いずれかが成立するときは、Ｈｅｌｌｏメッセージに格納された経路がルーティングテーブル２０に格納された経路よりも好適であるので、経路ｒｕの経路情報によってルーティングテーブル２０中の経路ｒｔの経路情報を更新することにしたものである。従って、条件（Ａ），（Ｂ），（Ｃ）のうちのいずれかが成立すると判定することは、経路ｒｔよりも好適な経路ｒｕを検出することに相当する。
【０１８０】
なお、ステップＳ３１において、経路ｒｕによって更新される経路ｒｔは、送信元と送信先との間の無線通信に用いられている経路、または送信元と送信先との間で無線通信を行なっている無線装置（＝無線装置Ｍ１，Ｍ４，Ｍ６，Ｍ８，Ｍ９）に隣接する無線装置（＝無線装置Ｍ３，Ｍ５，Ｍ７，Ｍ１０）のルーティングテーブル２０に保持された経路である。
【０１８１】
即ち、ステップＳ３１が現在の通信経路（無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）上の無線装置Ｍ１，Ｍ４，Ｍ６，Ｍ８，Ｍ９のルーティングデーモン２４によって実行される場合、経路ｒｔは、送信元と送信先との間の無線通信に用いられている経路であり、ステップＳ３１が現在の通信経路（無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）外の無線装置（無線装置Ｍ５等）によって実行される場合、経路ｒｔは、送信元と送信先との間で無線通信を行なっている無線装置に隣接する無線装置のルーティングテーブル２０に保持された経路である。
【０１８２】
そして、ステップＳ３１の後、一連の動作は、ステップＳ３４へ移行する。
【０１８３】
一方、ステップＳ３０において、上述した３つの条件（Ａ），（Ｂ），（Ｃ）のいずれも成立しないと判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、次の条件（Ｄ），（Ｅ）のいずれかが成立するか否かを更に判定する（ステップＳ３２）。
【０１８４】
（Ｄ）経路ｒｔの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ（ｒｔ））が経路ｒｕの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ（ｒｕ））よりも大きい
（Ｅ）経路ｒｔの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ（ｒｔ））が経路ｒｕの送信先シーケンス番号（ｄｅｓｔ＿ｓｅｑ（ｒｕ））と同じであり、かつ、経路ｒｕのメトリック（ｍｅｔｒｉｃ（ｒｕ））が経路ｒｔのメトリック（ｍｅｔｒｉｃ（ｒｔ））にリンクメトリック（ｌｉｎｋ＿ｍｅｔｒｉｃ）を加算した加算結果よりも大きい
なお、メトリック（ｍｅｔｒｉｃ（ｒｔ））は、ステップＳ２５におけるＨｅｌｌｏメッセージ中のｍｅｔｒｉｃである。
【０１８５】
条件（Ｄ）は、ルーティングテーブル２０に格納された経路ｒｔの経路情報がＨｅｌｌｏメッセージに格納された経路ｒｕの経路情報よりも新しいか否かを判定するための条件である。
【０１８６】
また、条件（Ｅ）は、ルーティングテーブル２０に格納された経路ｒｔの経路情報がＨｅｌｌｏメッセージに格納された経路ｒｕの経路情報と同じ新しさであり、かつ、経路ｒｔが経路ｒｕよりも安定しているか否かを判定するための条件である。
【０１８７】
ステップＳ３２において、上述した条件（Ｄ），（Ｅ）のいずれかが成立すると判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、ルーティングテーブル２０に格納された経路ｒｔのトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を現在時刻ＮＯＷに設定する（ステップＳ３３）。これにより、ステップＳ２９において、ルーティングテーブル２０中に格納された代替経路ＡＲが、送信先との無線通信に用いられている経路ＦＲの代替経路として有効になる。つまり、ステップＳ２９において、ルーティングテーブル２０中に格納された代替経路ＡＲが代替経路として好適になる。
【０１８８】
上述した２つの条件（Ｄ），（Ｅ）のうち、いずれかが成立するときは、ルーティングテーブル２０に格納された経路情報がＨｅｌｌｏメッセージに格納された経路情報よりも好適であるので、代替経路ＡＲを送信先との無線通信に用いられている経路ＦＲの代替経路として設定することにしたものである。
【０１８９】
そして、ステップＳ３３の後、一連の動作は、ステップＳ３４へ移行する。
【０１９０】
ステップＳ３２において、２つの条件（Ｄ），（Ｅ）のいずれも成立しないと判定されたとき、またはステップＳ２８の“ＮＯ”の後、またはステップＳ２９，Ｓ３１，Ｓ３３のいずれかの後、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、Ｈｅｌｌｏメッセージ中に他の経路ｒｕが存在するか否かを判定する（ステップＳ３４）。そして、Ｈｅｌｌｏメッセージ中に他の経路ｒｕが存在すると判定されたとき、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、Ｈｅｌｌｏメッセージから次の経路ｒｕの経路情報を読出す（ステップＳ３５）。
【０１９１】
その後、一連の動作は、ステップＳ２５へ移行し、ステップＳ３４において、他の経路ｒｕがＨｅｌｌｏメッセージ中に存在しないと判定されるまで、上述したステップＳ２５〜ステップＳ３５が繰り返し実行される。
【０１９２】
そして、ステップＳ３４において、Ｈｅｌｌｏメッセージ中に他の経路ｒｕが存在しないと判定されると、一連の動作は終了する。
【０１９３】
上述したように、各無線装置Ｍ１〜Ｍ１２のルーティングデーモン２４は、他の無線装置からＨｅｌｌｏメッセージを受信すると、Ｈｅｌｌｏメッセージに格納された経路ｒｕの経路情報をルーティングテーブル２０に格納された経路ｒｔの経路情報と比較し、経路ｒｕの経路情報がルーティングテーブル２０に格納されていなければ、経路ｒｕの経路情報によってルーティングテーブル２０中に新しい経路ＡＲを確立し（ステップＳ２９参照）、経路ｒｕが経路ｒｔよりも好適であれば、経路ｒｕの経路情報によって経路ｒｔの経路情報を更新し（ステップＳ３１参照）、更に、経路ｒｔが経路ｒｕよりも好適であれば、経路ｒｔを、現在、無線通信に用いている経路ＦＲに代わる代替経路ＡＲとして有効にする（ステップＳ３３参照）。
【０１９４】
そして、ステップＳ３１が実行されるのは、ステップＳ２７において、経路ｒｔが検出され、更に、ステップＳ３０において、経路ｒｕの方が経路ｒｔよりも好適であると判定された場合であるので、ステップＳ３１が実行されることにより、各無線装置Ｍ１〜Ｍ１２のルーティングテーブル２０に格納された経路ｒｔは、好適な経路ｒｕによって更新される。
【０１９５】
また、ステップＳ２９が実行されるのは、ステップＳ２７において、経路ｒｕと送信先が同じである経路ｒｔが検出されず、かつ、ステップＳ２８において、経路ｒｕのフラグが“ＦＲ”である場合であるので、図１２に示すフローチャートが送信元と送信先との間で無線通信を行なっていない無線装置によって実行される場合、その無線装置は、Ｈｅｌｌｏメッセージを受信する毎に、自己が保持するルーティングテーブル２０中の経路情報を経路ｒｕの経路情報によって更新する。つまり、その無線装置は、送信元と送信先との間の無線通信に用いられている経路ｒｕの経路情報を自己のルーティングテーブル２０に格納する。無線通信を行なっていない無線装置は、通常、送信元と送信先との間の無線通信に用いられている経路ｒｕと送信先が同じである経路ｒｔをルーティングテーブル２０中に保持しないからである。
【０１９６】
そして、ステップＳ２９において、Ｈｅｌｌｏメッセージ中の経路ｒｕの経路情報が、一旦、無線通信を行なっていない無線装置のルーティングテーブル２０に格納された後に、無線通信を行なっていない無線装置が無線通信を行なっている無線装置から新たなＨｅｌｌｏメッセージを受信し、ステップＳ３２において、Ｈｅｌｌｏメッセージ中の経路ｒｕが自己のルーティングテーブル２０に格納された経路ｒｔ（＝前回、ステップＳ２９において、自己のルーティングテーブル２０に格納された経路ｒｕ）と送信先が同じであり、かつ、経路ｒｕのメトリックが経路ｒｔのメトリックよりも大きいと判定されたとき、無線通信を行なっていない無線装置は、ステップＳ３３において、経路ｒｔを経路ｒｕ（送信元と送信先との間の無線通信に用いられている経路）の代替経路として有効にする。
【０１９７】
その後、無線通信を行なっていない無線装置は、図１１に示すフローチャートのステップＳ４の“ＮＯ”→ステップＳ５→ステップＳ６の“ＹＥＳ”→ステップＳ７→ステップＳ８の“ＹＥＳ”→ステップＳ１０の“ＹＥＳ”→ステップＳ１１の経路を経て、経路ｒｕの代替経路として有効にした経路ｒｔをＨｅｌｌｏメッセージに含めて送信する。
【０１９８】
従って、無線通信を行なっていない無線装置は、送信元と送信先との間で無線通信を行なっている無線装置からＨｅｌｌｏメッセージを受信する毎に、Ｈｅｌｌｏメッセージ中の経路ｒｕと送信先が同じである経路ｒｔを保持するか否かを判定し（図１２のステップＳ２７参照）、経路ｒｕと送信先が同じである経路ｒｔを保持し、かつ、経路ｒｕが送信元と送信先との間の無線通信に用いられている経路であるとき（図１２のステップＳ２７の“ＮＯ”→ステップＳ２８の“ＹＥＳ”参照）、経路ｒｕの経路情報を自己のルーティングテーブル２０に格納する（ステップＳ２９参照）。
【０１９９】
そして、無線通信を行なっていない無線装置は、一旦、自己のルーティングテーブル２０中に保持した経路ｒｔがＨｅｌｌｏメッセージに含まれる経路ｒｕよりも好適である場合（図１２のステップＳ３２の“ＹＥＳ”参照）、経路ｒｔを経路ｒｕの代替経路として有効し（図１２のステップＳ３３参照）、経路ｒｔの経路情報をＨｅｌｌｏメッセージに含めて送信する（図１１のステップＳ４の“ＮＯ”→ステップＳ５→ステップＳ６の“ＹＥＳ”→ステップＳ７→ステップＳ８の“ＹＥＳ”→ステップＳ１０の“ＹＥＳ”→ステップＳ１１参照）。
【０２００】
このように、無線通信を行なっていない無線装置は、自らＨｅｌｌｏメッセージを送信せずに、自己が保持する経路ｒｔが無線通信に用いられている経路ｒｕよりも好適であると判定された場合に始めて経路ｒｔの経路情報を含むＨｅｌｌｏメッセージを送信する。
【０２０１】
そうすると、無線通信を行なっている無線装置は、無線通信に用いられている経路ｒｕよりも好適な経路ｒｔを無線通信を行なっていない無線装置から受信でき、経路ｒｕを経路ｒｔに切換えて無線通信を行なうことができる。
【０２０２】
その結果、無線通信を行なっている無線装置は、無線通信に用いられている経路ｒｕを切断することなく、経路ｒｕを好適な経路ｒｔに切換えることができ、無線ネットワークシステム１０の性能を向上できる。
【０２０３】
更に、ステップＳ３３が実行されるのは、ステップＳ２７において、経路ｒｔが検出され、更に、ステップＳ３２において、経路ｒｔの方が経路ｒｕよりも好適であると判定された場合であるので、ステップＳ３３が実行されることにより、各無線装置Ｍ１〜Ｍ１２のルーティングテーブル２０に格納された経路ｒｔは、現在、無線通信に用いられている経路ｒｕよりも好適であることが確認される。
【０２０４】
従って、ステップＳ３１，Ｓ３３が実行されることにより、各無線装置Ｍ１〜Ｍ１２のルーティングテーブル２０は、好適な経路を格納する。
【０２０５】
１個の経路ｒｕの経路情報のみがＨｅｌｌｏメッセージに格納されてブロードキャストされ、かつ、ステップＳ２９が実行されて、Ｈｅｌｌｏメッセージを受信したときの動作（即ち、図１２に示すフローチャート）が終了した場合、Ｈｅｌｌｏメッセージに格納された経路ｒｕの経路情報によって確立された経路ＡＲは、“０”であるトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を有することになるが、ステップＳ２９において確立された経路ＡＲがＨｅｌｌｏメッセージに格納されてブロードキャストされるか否かは、トリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）＝０を用いて演算された保持時間ＨＬＤＴがしきい値ＴＲＩＧ＿ＴＨよりも小さいか否かによって決定される。
【０２０６】
従って、ステップＳ２９において、経路ＡＲが確立されてからＨｅｌｌｏメッセージを送信するまでの時間がしきい値ＴＲＩＧ＿ＴＨ以上であれば、経路ＡＲは、Ｈｅｌｌｏメッセージに格納されてブロードキャストされず、ステップＳ２９において、経路ＡＲが確立されてからＨｅｌｌｏメッセージを送信するまでの時間がしきい値ＴＲＩＧ＿ＴＨよりも短ければ、経路ＡＲは、Ｈｅｌｌｏメッセージに格納されてブロードキャストされる。
【０２０７】
また、ステップＳ２９において確立された経路ＡＲは、新たなＨｅｌｌｏメッセージが受信された時に、ステップＳ３３において、トリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）に現在時刻ＮＯＷが格納されれば、現在、無線通信に用いられている経路ＦＲに代わる好適な経路となる。
【０２０８】
このように、トリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）を経路情報として導入することによって、他の無線装置から送信されるＨｅｌｌｏメッセージに格納された経路ｒｕの経路情報によって、ルーティングテーブル２０中の経路ｒｔを無線通信に用いられている経路に代わる代替経路として設定できるとともに、ルーティングテーブル２０に格納された経路ｒｔをＨｅｌｌｏメッセージに格納してブロードキャストするか否かを判定できる。
【０２０９】
上述したように、経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）を用いて送信元（＝無線装置Ｍ１）と送信先（＝無線装置Ｍ９）との間で無線通信が行なわれているときに、経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）上の無線装置Ｍ１，Ｍ６は、Ｈｅｌｌｏメッセージを送受信し、送信元である無線装置Ｍ１は、現在、無線通信に用いられている経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）よりも好適な経路（＝無線装置Ｍ１−無線装置Ｍ５−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）を検出するとともに、経路（＝無線装置Ｍ１−無線装置Ｍ４−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）を好適な経路（＝無線装置Ｍ１−無線装置Ｍ５−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）に更新する。
【０２１０】
そして、無線装置Ｍ１は、更新した好適な経路（＝無線装置Ｍ１−無線装置Ｍ５−無線装置Ｍ６−無線装置Ｍ８−無線装置Ｍ９）に沿って無線装置Ｍ９との間で無線通信を行なう。
【０２１１】
従って、この発明によれば、無線通信を行なっている無線装置は、送信元と送信先との間の無線通信に用いられている経路が切断されなくても、Ｈｅｌｌｏメッセージに基づいて、現在、無線通信に用いられている経路よりも好適な経路を検出し、その検出した好適な経路によって、現在、無線通信に用いられている経路を更新するので、送信元と送信先との間の無線通信に用いられている経路が頻繁に切断されることがなくなり、従来のように、送信元と送信先との間の無線通信に用いられている経路が切断された場合に送信先との通信経路を確立し直すこともない。その結果、無線ネットワークシステム１０の性能を向上できる。
【０２１２】
なお、上記においては、受信信号強度ＲＳＳＩを検出し、その検出した受信信号強度ＲＳＳＩをメトリック値に変換してルーティングテーブル２０のメトリック（ｍｅｒｔｉｃ）に格納すると説明したが、この発明においては、これに限らず、フレームエラー率ＦＥＲ（Ｆｒａｍｅ  Ｅｒｒｏｒ  Ｒａｔｉｏ）を演算し、その演算したフレームエラー率ＦＥＲをメトリック値に変換してルーティングテーブル２０のメトリック（ｍｅｒｔｉｃ）に格納するようにしてもよい。
【０２１３】
この場合、フレームエラー率ＦＥＲは、ＭＡＣモジュール１７によって演算され、ＭＡＣモジュール１７は、次の方法によってフレームエラー率ＦＥＲを演算する。
【０２１４】
図１３は、フレームエラー率ＦＥＲを演算する方法を説明するための概念図である。無線装置Ａは、タイミングｔ１で通信要求パケットＲＴＳを無線装置Ｂへ送信するとともに、通信要求パケットＲＴＳの送信と同時に一定時間ＣＴＳ＿ｔｉｍｅｒを設定し、かつ、通信回数ＴｒａｎｓｍｉｔＣｎｔを“１”だけインクリメントする。
【０２１５】
そして、無線装置Ｂは、無線装置Ａからの通信要求パケットＲＴＳをタイミングｔ２で受信するとともに、通信要求パケットＲＴＳに対する通信許可パケットＣＴＳをタイミングｔ３で無線装置Ａへ送信する。そうすると、無線装置Ａは、無線装置Ｂからの通信許可パケットＣＴＳをタイミングｔ４で受信する。
【０２１６】
無線装置Ａは、通信許可パケットＣＴＳを無線装置Ｂから一定時間ＣＴＳ＿ｔｉｍｅｒ内に受信したとき、通信誤り数ＦａｉｌＣｎｔをカウントせず、無線装置Ｂからの通信許可パケットＣＴＳを一定時間ＣＴＳ＿ｔｉｍｅｒ内に受信しなかったとき、通信誤り数ＦａｉｌＣｎｔを“１”だけインクリメントする。
【０２１７】
無線装置Ａは、通信許可パケットＣＴＳを無線装置Ｂから一定時間ＣＴＳ＿ｔｉｍｅｒ内に受信したとき、タイミングｔ５でデータＤＡＴＡを無線装置Ｂへ送信するとともに、データＤＡＴＡの送信と同時に一定時間ＡＣＫ＿ｔｉｍｅｒを設定し、かつ、通信回数ＴｒａｎｓｍｉｔＣｎｔを“１”だけインクリメントする。そして、無線装置Ｂは、無線装置ＡからのデータＤＡＴＡをタイミングｔ６で受信するとともに、データＤＡＴＡに対する確認応答パケットＡＣＫをタイミングｔ７で無線装置Ａへ送信する。そうすると、無線装置Ａは、無線装置Ｂからの確認応答パケットＡＣＫをタイミングｔ８で受信する。
【０２１８】
無線装置Ａは、確認応答パケットＡＣＫを無線装置Ｂから一定時間ＡＣＫ＿ｔｉｍｅｒ内に受信したとき、通信誤り数ＦａｉｌＣｎｔをカウントせず、無線装置Ｂからの確認応答パケットＡＣＫを一定時間ＡＣＫ＿ｔｉｍｅｒ内に受信しなかったとき、通信誤り数ＦａｉｌＣｎｔを“１”だけインクリメントする。
【０２１９】
無線装置Ａは、通信許可パケットＣＴＳを無線装置Ｂから一定時間ＣＴＳ＿ｔｉｍｅｒ内に受信しないとき、再度、通信要求パケットＲＴＳの送信から開始し、通信回数ＴｒａｎｓｍｉｔＣｎｔおよび通信誤り数ＦａｉｌＣｎｔをカウントする。
【０２２０】
無線装置Ａは、通信要求パケットＲＴＳに対するＣＴＳパケットの受信、およびデータＤＡＴＡに対する確認応答パケットＡＣＫの受信を所定回数だけ繰り返し行ない、通信回数ＴｒａｎｓｍｉｔＣｎｔが所定回数に達すると、次式によりフレームエラー率ＦＥＲを演算する。
【０２２１】
ＦＥＲ＝ＦａｉｌＣｎｔ／ＴｒａｎｓｍｉｔＣｎｔ・・・（１）
無線装置Ｍ１〜Ｍ１２の各々において、ＭＡＣモジュール１７は、上述した動作によって通信回数ＴｒａｎｓｍｉｔＣｎｔおよび通信誤り数ＦａｉｌＣｎｔをカウントし、そのカウントした通信回数ＴｒａｎｓｍｉｔＣｎｔおよび通信誤り数ＦａｉｌＣｎｔを用いて式（１）によってフレームエラー率ＦＥＲを演算する。
【０２２２】
そして、ＭＡＣモジュール１７は、フレームエラー率ＦＥＲを演算すると、その演算したフレームエラー率ＦＥＲをルーティングデーモン２４へ送信する。ルーティングデーモン２４は、ＭＡＣモジュール１７から受信したフレームエラー率ＦＥＲを表２に従ってメトリック値に変換し、ルーティングテーブル２０のメトリック（ｍｅｔｒｉｃ）に格納する。
【０２２３】
【表２】
0004696314.tif 000003
【０２２４】
フレームエラー率ＦＥＲが０．１よりも低いとき、メトリック値は、“１”となり、フレームエラー率ＦＥＲが０．１≦ＦＥＲ＜０．２の範囲であるとき、メトリック値は、“２”となり、フレームエラー率ＦＥＲが０．２≦ＦＥＲ＜０．３の範囲であるとき、メトリック値は、“３”となり、フレームエラー率ＦＥＲが０．３≦ＦＥＲ＜０．４の範囲であるとき、メトリック値は、“４”となり、フレームエラー率ＦＥＲが０．４≦ＦＥＲ＜０．５の範囲であるとき、メトリック値は、“５”となり、フレームエラー率ＦＥＲが０．５以上であるとき、メトリック値は、“６”となる。
【０２２５】
このように、フレームエラー率ＦＥＲが相対的に低いとき、メトリック値は、相対的に小さくなり、フレームエラー率ＦＥＲが相対的に高いとき、メトリック値は、相対的に大きくなる。
【０２２６】
したがって、フレームエラー率ＦＥＲに基づいてメトリック値を決定した場合においても、メトリック値が相対的に小さいことは、無線通信が相対的に安定であることに相当し、メトリック値が相対的に大きいことは、無線通信が相対的に不安定であることに相当する。
【０２２７】
この発明においては、フレームエラー率ＦＥＲに基づいてメトリック値を決定する場合、表２に代えて表３に従って、フレームエラー率ＦＥＲに基づいてメトリック値を決定してもよい。
【０２２８】
【表３】
0004696314.tif 000004
【０２２９】
この場合、メトリック値は、フレームエラー率ＦＥＲが直線的に高くなるに従って、メトリック値は、２の累乗によって大きくなる。即ち、フレームエラー率ＦＥＲが直線的に高くなるに従って、メトリック値は、指数関数的に大きくなる。
【０２３０】
このように、フレームエラー率ＦＥＲが直線的に高くなるに従って経路安定指標としてのメトリック値を指数関数的に大きくすることによって（即ち、フレームエラー率ＦＥＲが直線的に低くなるに従って経路安定指標としてのメトリック値を指数関数的に小さくすることによって）、安定度合がより大きい経路を容易に選択できる。
【０２３１】
即ち、フレームエラー率ＦＥＲが直線的に高くなるに従ってメトリック値を直線的に大きくした場合、フレームエラー率ＦＥＲの違いによるメトリック値の差は小さくなる。そして、ルーティングテーブル２０においては、無線装置Ｍ１から無線装置Ｍ９までの全体の経路におけるメトリックが格納されるので、フレームエラー率ＦＥＲが変動しても値が大きく変化しないメトリック値を用いた場合には、送信元から送信先までの複数の経路に付与された複数のメトリックに大きな差が生じないことになる。
【０２３２】
これに対し、フレームエラー率ＦＥＲが直線的に高くなるに従ってメトリック値を指数関数的に大きくした場合、フレームエラー率ＦＥＲの変化に対してメトリック値が大きく変化するので、メトリックも大きく変化することになり、送信元から送信先までの複数の経路に付与された複数のメトリックに大きな差が生じることになる。
【０２３３】
したがって、この発明においては、フレームエラー率ＦＥＲが直線的に高くなるに従ってメトリック値が指数関数的に大きくなるようにしたものである。
【０２３４】
また、この発明においては、フレームエラー率ＦＥＲに代えてパケットエラー率ＰＥＲ（Ｐａｃｋｅｔ  Ｅｒｒｏｒ  Ｒａｔｉｏ）、信号対ノイズ比ＳＮＲ（Ｓｉｇｎａｌ  ｔｏ  Ｎｏｉｓｅ  Ｒａｔｉｏ）、信号電力、ビット誤り率、搬送波信号対雑音比、および信号に対する干渉雑音を含む雑音の比のいずれかを用いてもよい。
【０２３５】
パケットエラー率ＰＥＲは、送受信されるパケットの総数に対するＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラーが生じたパケットの個数の比によって表される。従って、パケットエラー率ＰＥＲは、ＭＡＣモジュール１７によって演算され、ＭＡＣモジュール１７によってルーティングデーモン２４へ送信される。
【０２３６】
また、信号対ノイズ比ＳＮＲは、信号強度に対するノイズ強度の比によって表される。従って、信号対ノイズ比ＳＮＲは、無線インターフェースモジュール１６によって演算され、無線インターフェースモジュール１６によってルーティングデーモン２４へ送信される。
【０２３７】
更に、信号電力は、受信した信号の電力を表す。従って、信号電力は、無線インターフェースモジュール１６によって検出され、無線インターフェースモジュール１６によってルーティングデーモン２４へ送信される。
【０２３８】
更に、ビット誤り率は、復調したビットの誤り率を表す。従って、ビット誤り率は、無線インターフェースモジュール１６によって検出され、無線インターフェースモジュール１６によってルーティングデーモン２４へ送信される。
【０２３９】
更に、搬送波信号対雑音比は、搬送波信号に対する雑音の比を表す。従って、搬送波信号対雑音比は、無線インターフェースモジュール１６によって検出され、無線インターフェースモジュール１６によってルーティングデーモン２４へ送信される。
【０２４０】
更に、信号に対する干渉雑音を含む雑音の比は、［干渉雑音を含む雑音］／信号強度を表す。従って、信号に対する干渉雑音を含む雑音の比は、無線インターフェースモジュール１６によって検出され、無線インターフェースモジュール１６によってルーティングデーモン２４へ送信される。
【０２４１】
そして、パケットエラー率ＰＥＲ、信号対ノイズ比ＳＮＲ、信号電力、ビット誤り率、搬送波信号対雑音比、および信号に対する干渉雑音を含む雑音の比の各々は、表２または表３に従ってメトリック値に変換される。
【０２４２】
この発明においては、ルーティングテーブル２０に格納された経路ｒｔよりも好適な経路ｒｕを検出するルーティングデーモン２４は、「経路検出手段」を構成する。この場合、経路ｒｔは、送信元と送信先との間の無線通信に用いられている経路、または送信元と送信先との間の無線通信を行なっている無線装置に隣接する無線装置のルーティングテーブル２０に保持された経路である。
【０２４３】
また、Ｈｅｌｌｏメッセージを他の無線装置と送受信する無線インターフェースモジュール１６、ＵＤＰモジュール２２およびルーティングデーモン２４は、「送受信手段」を構成する。
【０２４４】
更に、Ｈｅｌｌｏメッセージは、「経路メッセージ」を構成する。
【０２４５】
更に、ルーティングテーブル２０は、「経路情報保持手段」を構成する。
【０２４６】
更に、ルーティングテーブル２０に保持された経路ｒｔをＨｅｌｌｏメッセージに含まれる経路ｒｕによって更新するルーティングデーモン２４は、「経路情報更新手段」を構成する。
【０２４７】
更に、Ｈｅｌｌｏメッセージに含まれる経路ｒｕをルーティングテーブル２０に保持された経路ｒｔと比較するルーティングデーモン２４は、「比較手段」を構成する。
【０２４８】
更に、上述した条件（Ａ），（Ｂ），（Ｃ）のいずれかが成立すると判定するルーティングデーモン２４は、「検出手段」を構成する。
【０２４９】
更に、Ｈｅｌｌｏメッセージを送信するルーティングデーモン２４、ＭＡＣモジュール１７および無線インターフェースモジュール１６は、「送信手段」を構成する。
【０２５０】
更に、ルーティングテーブル２０に経路情報を格納するルーティングデーモン２４は、「経路情報格納手段」を構成する。
【０２５１】
更に、現在時刻ＮＯＷおよびトリガータイム（ｔｒｉｇｇｅｒ＿ｔｉｍｅ）に基づいて保持時間ＨＬＤＴを演算するルーティングデーモン２４は、「演算手段」を構成する。
【０２５２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２５３】
この発明は、無線ネットワークの性能を向上させる通信プロトコルを用いて無線通信を行なう無線装置に適用される。また、この発明は、無線ネットワークの性能を向上させる通信プロトコルを用いて無線通信を行なう無線装置を備える無線ネットワークシステムに適用される。
【図面の簡単な説明】
【０２５４】
【図１】この発明の実施の形態による無線ネットワークシステムの概略図である。
【図２】図１に示す無線装置の構成を示す概略ブロック図である。
【図３】ＩＰヘッダの構成図である。
【図４】ＴＣＰヘッダの構成図である。
【図５】Ｈｅｌｌｏメッセージの構成図である。
【図６】図２に示すルーティングテーブルの構成図である。
【図７】図１に示す無線ネットワークシステムにおける無線通信の一態様を示す概念図である。
【図８】ルーティングテーブルの例を示す図である。
【図９】ルーティングテーブルおよびＨｅｌｌｏメッセージの例を示す図である。
【図１０】ルーティングテーブルおよびＨｅｌｌｏメッセージの他の例を示す図である。
【図１１】Ｈｅｌｌｏメッセージを送信する動作を説明するためのフローチャートである。
【図１２】Ｈｅｌｌｏメッセージを受信したときの動作を説明するためのフローチャートである。
【図１３】フレームエラー率を演算する方法を説明するための概念図である。
【符号の説明】
【０２５５】
Ｍ１〜Ｍ１２  無線装置、１０  無線ネットワークシステム、１１  アンテナ、１２  入力部、１３  表示部、１４  電子メールアプリケーション、１５  通信制御部、１６  無線インターフェースモジュール、１７  ＭＡＣモジュール、１８  ＬＬＣモジュール、１９  ＩＰモジュール、２０，２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ，２０Ｅ，２０Ｅ，２０Ｆ，２０Ｇ，２０Ｈ  ルーティングテーブル、２１  ＴＣＰモジュール、２２  ＵＤＰモジュール、２３  ＳＭＴＰモジュール、２４  ルーティングデーモン、ＨＬＭ１〜ＨＬＭ４  Ｈｅｌｌｏメッセージ。
【図１】
0004696314.tif 000005
【図２】
0004696314.tif 000006
【図３】
0004696314.tif 000007
【図４】
0004696314.tif 000008
【図５】
0004696314.tif 000009
【図６】
0004696314.tif 000010
【図７】
0004696314.tif 000011
【図８】
0004696314.tif 000012
【図９】
0004696314.tif 000013
【図１０】
0004696314.tif 000014
【図１１】
0004696314.tif 000015
【図１２】
0004696314.tif 000016
【図１３】
0004696314.tif 000017