(57)【要約】【課題】  トポロジーの変化に強固な無線ネットワークシステムを提供する。【解決手段】  無線装置１，３，４，７は、アドホックネットワークを構築する。無線装置１は、送信元であり、無線装置７は、送信先である。無線装置１，３，４，７の各々は、無線装置１と無線装置７との間の無線通信に用いられるアクティブ経路に関するアクティブ経路情報と、アクティブ経路をバックアップするバックアップ経路に関するバックアップ経路情報とを保持する。無線装置１，３，４，７の各々は、隣接する無線装置との間でアクティブ経路が切断されると、その切断されたアクティブ経路に代わる代替経路をバックアック経路から抽出して無線通信を行なう。また、無線装置１，３，４，７の各々は、随時、アクティブ経路に代わる好適な経路をバックアック経路から抽出して無線通信を行なう。【選択図】        図１
2006050377.tif 000002
【特許請求の範囲】
【請求項１】
複数の無線装置を備え、送信元と送信先との間で無線通信経路が自律的に確立される無線ネットワークシステムであって、
前記複数の無線装置の各々は、前記送信元と前記送信先との間の無線通信に用いられており、かつ、自己と前記送信先または前記送信元との間の経路である第１の経路を示す第１の経路情報と、前記第１の経路をバックアップする第２の経路を示す第２の経路情報とを保持する、無線ネットワークシステム。
【請求項２】
前記複数の無線装置の各々は、自己に隣接する無線装置との間で前記第１の経路が切断された場合、前記第２の経路情報を前記第１の経路情報と比較し、前記切断された第１の経路に代わる代替経路を前記第２の経路から抽出し、その抽出した経路を用いて無線通信を行なう、請求項１に記載の無線ネットワークシステム。
【請求項３】
前記複数の無線装置の各々は、優先度が最も高い経路を前記第２の経路から抽出し、その抽出した優先度が最も高い経路が所定の条件を満たすとき前記優先度が最も高い経路を前記代替経路として抽出する、請求項２に記載の無線ネットワークシステム。
【請求項４】
前記所定の条件は、前記優先度が最も高い経路が前記切断された第１の経路と同程度以上に新しい経路であり、前記優先度が最も高い経路を介した前記送信先または前記送信元までの経路数が前記切断された第１の経路を介した前記送信先または前記送信元までの経路数に１を加えた経路数以下であり、前記優先度が最も高い経路が安定した経路であり、前記優先度が最も高い経路が有効期間内の経路であることが成立することである、請求項３に記載の無線ネットワークシステム。
【請求項５】
前記複数の無線装置の各々は、前記代替経路を介してルート要求パケットを前記送信先または前記送信元へ送信し、前記ルート要求パケットに対する応答パケットを前記送信先または前記送信元から受信したとき、前記代替経路を用いて前記無線通信を行なう、請求項２から請求項４のいずれか１項に記載の無線ネットワークシステム。
【請求項６】
前記複数の無線装置の各々は、更新された経路情報を示す更新経路情報を前記第１の経路外に存在する隣の無線装置との間で送受信し、前記隣の無線装置から受信した更新経路情報に基づいて前記第１の経路に代わる好適な経路を抽出し、その抽出した好適な経路を用いて無線通信を行なう、請求項１に記載の無線ネットワークシステム。
【請求項７】
前記第１の経路情報は、前記送信先または前記送信元を示す最終送信先情報と、各無線装置が前記第１の経路を介して直接通信すべき無線装置を示す直接送信先情報とを含み、
前記複数の無線装置の各々は、前記受信した更新経路情報が前記最終送信先情報および前記直接送信先情報を含むとき、前記隣の無線装置を経由する経路を抽出し、その抽出した経路が所定の条件を満たすとき、前記抽出した経路を前記好適な経路とする、請求項６に記載の無線ネットワークシステム。
【請求項８】
前記所定の条件は、前記抽出した経路が前記第１の経路よりも新しいことである、請求項７に記載の無線ネットワークシステム。
【請求項９】
前記所定の条件は、前記抽出した経路が前記第１の経路と同じ新しさであり、かつ、前記抽出した経路を介した前記送信先または前記送信元までの経路数が前記第１の経路を介した前記送信先または前記送信元までの経路数よりも少ないことである、請求項７に記載の無線ネットワークシステム。
【請求項１０】
前記複数の無線装置の各々は、前記好適な経路を抽出したとき、前記第１の経路を前記第２の経路として保持する、請求項６から請求項９のいずれか１項に記載の無線ネットワークシステム。
【請求項１１】
前記複数の無線装置の各々は、前記好適な経路を抽出したとき、前記好適な経路に関する経路情報を周りの無線装置へ送信する、請求項６から請求項１０のいずれか１項に記載の無線ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の無線装置を備える無線ネットワークシステムに関し、特に、複数の無線装置によって、自律的、かつ、即時的に構築されるアドホックネットワークシステムに関するものである。
【背景技術】
【０００２】
アドホックネットワークは、複数の無線装置が相互に通信を行なうことによって自律的、かつ、即時的に構築されるネットワークである。アドホックネットワークでは、通信する２つの無線装置が互いの通信エリアに存在しない場合、２つの無線装置の中間に位置する無線装置がルータとして機能し、データパケットを中継するので、広範囲のマルチホップネットワークを形成することができる。
【０００３】
アドホックネットワークでは、中継する無線装置の移動などにより、リンクの切断が頻繁に生じる。そのため、迅速にルートを再構築することが必要となり、そのためのルーティングプロトコルが種々提案されている。
【０００４】
現在までに提案されているアドホックネットワークのルーティングプロトコルは、２つのグループに分けられる。
【０００５】
第１のグループは、オンデマンド型のルーティングプロトコルである。このグループのルーティングプロトコルは、通信要求が発生するたびに（オンデマンド）、宛先までのルートを探索する。代表的なプロトコルとして、Ａｄ  ｈｏｃ  Ｏｎ−ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ（ＡＯＤＶ）プロトコルがある（例えば、非特許文献１参照）。
【０００６】
第２のグループは、テーブル駆動型のルーティングプロトコルである。このグループのルーティングプロトコルは、各宛先へのルートを予めテーブルのエントリとして作成しておく。代表的なプロトコルとして、Ｄｅｓｔｉｎａｔｉｏｎ  Ｓｅｑｕｅｎｃｅｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ（ＤＳＤＶ）プロトコルがある（例えば、非特許文献２参照）。
【非特許文献１】C. Perkins, E. Belding-Royer, S. Das, "Ad hoc On-Demand Distance Vector (AODV) Routing", RFC3561, July.2003S
【非特許文献２】C.E.Perkins and P.Bhagwat, "Destination sequenced distance-vector rooting (DSDV) for mobile computers", Proc.ACM/IEEE SIGCOM94, pp234-244,Aug.1994
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述の非特許文献１に記載されている方式は、無線装置がよく移動する場合には通信経路が頻繁に切断され、トポロジーの変化に対して強固ではない。その結果、通信特性が低下するという問題がある。
【０００８】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、トポロジーの変化に強固な無線ネットワークシステムを提供することである。
【課題を解決するための手段】
【０００９】
この発明によれば、無線ネットワークシステムは、複数の無線装置を備え、送信元と送信先との間で無線通信経路が自律的に確立される無線ネットワークシステムである。そして、複数の無線装置の各々は、第１および第２の経路情報を保持する。第１の経路情報は、送信元と送信先との間の無線通信に用いられており、かつ、自己と送信先または送信元との間の経路である第１の経路を示す経路情報である。また、第２の経路情報は、第１の経路をバックアップする第２の経路を示す経路情報である。
【００１０】
好ましくは、複数の無線装置の各々は、自己に隣接する無線装置との間で第１の経路が切断された場合、第２の経路情報を第１の経路情報と比較し、切断された第１の経路に代わる代替経路を第２の経路から抽出し、その抽出した経路を用いて無線通信を行なう。
【００１１】
好ましくは、複数の無線装置の各々は、優先度が最も高い経路を前記第２の経路から抽出し、その抽出した優先度が最も高い経路が所定の条件を満たすとき優先度が最も高い経路を代替経路として抽出する。
【００１２】
好ましくは、所定の条件は、優先度が最も高い経路が切断された第１の経路と同程度以上に新しい経路であり、優先度が最も高い経路を介した送信先または送信元までの経路数が切断された第１の経路を介した送信先または送信元までの経路数に１を加えた経路数以下であり、優先度が最も高い経路が安定した経路であり、優先度が最も高い経路が有効期間内の経路であることが成立することである。
【００１３】
好ましくは、複数の無線装置の各々は、代替経路を介してルート要求パケットを送信先または送信元へ送信し、ルート要求パケットに対する応答パケットを送信先または送信元から受信したとき、代替経路を用いて無線通信を行なう。
【００１４】
好ましくは、複数の無線装置の各々は、更新された経路情報を示す更新経路情報を第１の経路外に存在する隣の無線装置との間で送受信し、隣の無線装置から受信した更新経路情報に基づいて第１の経路に代わる好適な経路を抽出し、その抽出した好適な経路を用いて無線通信を行なう。
【００１５】
好ましくは、第１の経路情報は、送信先または送信元を示す最終送信先情報と、各無線装置が第１の経路を介して直接通信すべき無線装置を示す直接送信先情報とを含む。そして、複数の無線装置の各々は、受信した更新経路情報が最終送信先情報および直接送信先情報を含むとき、隣の無線装置を経由する経路を抽出し、その抽出した経路が所定の条件を満たすとき、抽出した経路を好適な経路とする。
【００１６】
好ましくは、所定の条件は、抽出した経路が第１の経路よりも新しいことである。
【００１７】
好ましくは、所定の条件は、抽出した経路が第１の経路と同じ新しさであり、かつ、抽出した経路を介した送信先または送信元までの経路数が第１の経路を介した送信先または送信元までの経路数よりも少ないことである。
【００１８】
好ましくは、複数の無線装置の各々は、好適な経路を抽出したとき、第１の経路を第２の経路として保持する。
【００１９】
好ましくは、複数の無線装置の各々は、好適な経路を抽出したとき、好適な経路に関する経路情報を周りの無線装置へ送信する。
【発明の効果】
【００２０】
この発明によれば、無線ネットワークシステムを構成する複数の無線装置の各々は、送信元と送信先との間の無線通信に用いられる第１の経路に関する第１の経路情報と、第１の経路をバックアップする第２の経路に関する第２の経路情報とを保持している。そして、各無線装置の移動等に起因して第１の経路が切断された場合、各無線装置は、第１の経路に代わる代替経路を第２の経路から抽出して無線ネットワークシステムを維持する。また、各無線装置は、随時、第１の経路に代わる好適な経路を第２の経路から抽出し、その抽出した好適な経路を用いて無線通信を行なう。
【００２１】
従って、この発明によれば、トポロジーの変化に強固な無線ネットワークシステムを構築できる。
【発明を実施するための最良の形態】
【００２２】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２３】
図１は、この発明の実施の形態による無線ネットワークシステムの概略図である。無線ネットワークシステム１０は、無線装置１〜９を備える。無線装置１〜９は、無線通信空間に配置され、自律的にアドホックネットワークを構成する。そして、例えば、無線装置１から無線装置７へデータを送信する場合、無線装置３および無線装置４は、無線装置１からのデータを中継して無線装置７へ届ける。
【００２４】
図２は、図１に示す無線装置１〜９の構成を示す概略ブロック図である。無線装置１〜９の各々は、アンテナ１１と、入力部１２と、表示部１３と、電子メールアプリケーション１４と、通信制御部１５とを含む。
【００２５】
アンテナ１１は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部１５へ出力するとともに、通信制御部１５からのデータを無線通信空間を介して他の無線装置へ送信する。
【００２６】
入力部１２は、無線装置１の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先を電子メールアプリケーション１４へ出力する。表示部１３は、電子メールアプリケーション１４からの制御に従ってメッセージを表示する。
【００２７】
電子メールアプリケーション１４は、入力部１２からのメッセージおよび宛先に基づいてデータを生成して通信制御部１５へ出力する。
【００２８】
通信制御部１５は、ＡＲＰＡ（Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  Ｐｒｏｊｅｃｔｓ  Ａｇｅｎｃｙ）インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部１５は、無線インターフェースモジュール１６と、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）モジュール１７と、ＬＬＣ（Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）モジュール１８と、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）モジュール１９と、ルーティングテーブル２０と、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）モジュール２１と、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）モジュール２２と、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｃｏｌ）モジュール２３と、ルーティングデーモン２４とからなる。
【００２９】
無線インターフェースモジュール１６は、物理層に属し、所定の規定に従って送信信号または受信信号の変復調および周波数変換等を行なう。
【００３０】
ＭＡＣモジュール１７は、ネットワーク層の下位層に属し、ＭＡＣプロトコルを実行してデータ（パケット）の再送制御等を行なう。そして、ＭＡＣモジュール１７は、データ（パケット）の再送回数が所定値を超えるとリンクが切断されたことを検知し、リンクが切断されたこと、および再送されなかったデータ（ＩＰパケット）をルーティングデーモン２４に通知する。
【００３１】
ＬＬＣモジュール１８は、ネットワーク層の上位層に属し、ＬＬＣプロトコルを実行して隣接する無線装置との間でリンクの接続および開放を行なう。
【００３２】
ＩＰモジュール１９は、インターネット層に属し、ＩＰパケットを生成する。ＩＰパケットは、ＩＰヘッダと、上位のプロトコルのパケットを格納するためのＩＰデータ部とからなる。従って、ＩＰモジュール１９は、ＴＣＰモジュール２１からデータを受けると、その受けたデータをＩＰデータ部に格納し、ＩＰヘッダを作成してＩＰパケットを生成する。
【００３３】
ルーティングテーブル２０は、インターネット層に属し、後述するように、各送信先アドレスに対応付けて経路情報を格納する。
【００３４】
ＴＣＰモジュール２１は、トランスポート層に属し、ＴＣＰパケットを生成する。ＴＣＰパケットは、ＴＣＰヘッダと、上位のプロトコルのデータを格納するためのＴＣＰデータ部とからなる。
【００３５】
ＵＤＰモジュール２２は、トランスポート層に属し、ルーティングデーモン２４によって作成されたＵｐｄａｔｅパケットをブロードキャストし、他の無線装置からブロードキャストされたＵｐｄａｔｅパケットを受信してルーティングデーモン２４へ出力する。
【００３６】
ＳＭＴＰモジュール２３は、プロセス／アプリケーション層に属し、電子メールアプリケーション１４から受け取ったデータに基づいて、全二重通信チャネルの確保およびメッセージの交換等を行なう。
【００３７】
ルーティングデーモン２４は、プロセス／アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。また、ルーティングデーモン２４は、この発明によるプロトコルに従って他の無線装置と経路情報を定期的に交換し合い、取得した経路情報に基づいて最適な経路を算出してインターネット層にルーティングテーブル２０を動的に作成する。
【００３８】
図３は、ＩＰヘッダの構成図である。ＩＰヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別番号、フラグ、フラグメントオフセット、生存時間、プロトコル、ヘッダチェックサム、送信元ＩＰアドレス、送信先ＩＰアドレス、およびオプションからなる。
【００３９】
図４は、ＴＣＰヘッダの構成図である。ＴＣＰヘッダは、送信元ポート番号、送信先ポート番号、シーケンス番号、確認応答（ＡＣＫ）番号、データオフセット、予約、フラグ、ウィンドサイズ、ヘッダチェックサムおよびアージェントポインタからなる。
【００４０】
送信元ポート番号は、送信元の無線装置で複数のアプリケーションが動作しているときに、このＴＣＰパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号は、送信先の無線装置で複数のアプリケーションが動作しているときに、このＴＣＰパケットを届けるアプリケーションを特定する番号である。
【００４１】
ＴＣＰ通信は、エンド・ツー・エンドのコネクション型通信プロトコルである。ＴＣＰ通信のコネクション接続を要求する無線装置（以下、「ＴＣＰ通信接続要求装置」という。）のＴＣＰモジュール２１は、コネクションの確立時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ  Ｆｌａｇ）を設定したコネクションの接続要求を示す第１パケットをＴＣＰ通信のコネクション接続を受理する端末（以下、「ＴＣＰ通信接続受理装置」という。）のＴＣＰモジュール２１へ送信する。これを受けて、ＴＣＰ通信接続受理装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮおよびＡＣＫ（確認応答）を設定したコネクションの接続要求受理および接続完了を示す第２パケットをＴＣＰ通信接続要求装置のＴＣＰモジュール２１へ送信する。更に、これを受けて、ＴＣＰ通信接続要求装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ（確認応答）に設定したコネクションの接続完了を示す第３パケットをＴＣＰ通信接続受理装置のＴＣＰモジュール２１へ送信する。
【００４２】
コネクションの切断要求は、ＴＣＰ通信要求装置およびＴＣＰ通信受理装置のいずれの側からでも行なうことができる。ＴＣＰ通信のコネクション切断を要求する無線装置（以下、「ＴＣＰ通信切断要求装置」という。）のＴＣＰモジュール２１は、コネクションの切断時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮ（Ｆｉｎｉｓｈ  Ｆｌａｇ）に設定したコネクションの切断要求を示す第１パケットをＴＣＰ通信のコネクション切断を受理する無線装置（以下、「ＴＣＰ通信切断受理装置」という。）へ送信する。これを受けて、ＴＣＰ通信切断受理装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断要求受理を示す第２パケットと、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮに設定したコネクションの切断完了を示す第３パケットをＴＣＰ通信切断要求装置のＴＣＰモジュール２１へ送信する。更に、これを受けて、ＴＣＰ通信切断要求装置のＴＣＰモジュール２１は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断完了を示す第４パケットをＴＣＰ通信切断受理装置のＴＣＰモジュール２１へ送信する。
【００４３】
図５は、図２に示すルーティングテーブル２０の構成を示す図である。ルーティングテーブル２０は、送信先ｄｓｔと、シーケンス番号ＳｅｑＮｏ．と、次の無線装置ｎｘｔｈｐと、メトリックｍｔｒｃと、フラグｆｌｇと、カウント値Ｃｎｔと、有効期間Ｔｅｘｐｉとからなる。
【００４４】
送信先ｄｓｔは、送信元の通信相手を示すものであり、図１に示す例では、無線装置７である。シーケンス番号ＳｅｑＮｏ．は、各経路情報が生成された順番を示すものであり、自然数によって表される。自然数は、大きい程、生成された経路情報が新しいことを表す。
【００４５】
次の無線装置ｎｘｔｈｐは、各無線装置から送信先または送信元に向かう経路において各無線装置から１ホップ内の無線装置を示す。メトリックｍｔｒｃは、各無線装置から送信先または送信元の無線装置までの経路数を示す。フラグｆｌｇは、各経路の状態を示す。即ち、フラグｆｌｇは、各経路が送信元と送信先との無線通信に用いられているアクティブ経路か、または各経路がアクティブ経路をバックアップするバックアップ経路か等を示す。カウント値Ｃｎｔは、各経路が安定か否かを示すものであり、例えば、３以上であれば、その経路は安定である。有効期間Ｔｅｘｐｉは、各経路が有効である期間を示す。
【００４６】
各経路は、送信先ｄｓｔ、シーケンス番号ＳｅｑＮｏ．、次の無線装置ｎｘｔｈｐ、メトリックｍｔｒｃ、フラグｆｌｇ、カウント値Ｃｎｔ、および有効期間Ｔｅｘｐｉによって表され、送信先ｄｓｔ、シーケンス番号ＳｅｑＮｏ．、次の無線装置ｎｘｔｈｐ、メトリックｍｔｒｃ、フラグｆｌｇ、カウント値Ｃｎｔ、および有効期間Ｔｅｘｐｉは、経路情報を構成する。
【００４７】
図１に示す無線ネットワークシステム１０においては、無線装置１が送信元であり、無線装置７が送信先である。無線ネットワークシステム１０が構成される前、無線装置１〜９は、相互にリンクが切断されている。無線装置１は、無線装置７と無線通信を行ないたいとき、無線装置１と無線装置７との間で無線通信経路を確立する動作が行なわれる。
【００４８】
［無線通信経路の確立動作］
図６は、送信元と送信先との間で無線通信経路を確立する動作を説明するためのフローチャートである。一連の動作が開始されると、送信元である無線装置１のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを生成し、ＵＤＰモジュール２２によってブロードキャストする（ステップＳ１）。このルート要求パケットＲＲＥＱは、ＩＰヘッダ部ＨＥＤ＿Ｑと、データ部ＤＡ＿Ｑとからなる。ＩＰヘッダ部ＨＥＤ＿Ｑは、送信元アドレスと、送信先アドレスとからなる。データ部ＤＡ＿Ｑは、タイプと、ホップ数と、ルート要求パケット特定ＩＤと、送信先ＩＰアドレスと、送信先シーケンス番号と、送信元ＩＰアドレスと、送信元シーケンス番号とからなる。
【００４９】
ＩＰヘッダ部ＨＥＤ＿Ｑの送信元アドレスは、ルート要求パケットＲＲＥＱを送信する無線装置のアドレスであり、ルート要求パケットＲＲＥＱを受信する各無線装置が送信先から送信元への逆通信経路において次に送信すべき無線装置であると認識するアドレスである。そして、この送信元アドレスは、ルート要求パケットＲＲＥＱを中継する無線装置によって変えられる。
【００５０】
ＩＰヘッダ部ＨＥＤ＿Ｑの送信先アドレスは、常に、ローカルなブロードキャストアドレス２５５．２５５．２５５．２５５からなる。
【００５１】
データ部ＤＡ＿Ｑのタイプは、ルート要求パケットＲＲＥＱがルートの確立を要求するパケットであることを示す”ｒｒｅｑ”からなり、この”ｒｒｅｑ”は、変更されない。
【００５２】
ホップ数は、ルート要求パケットＲＲＥＱの生成元からルート要求パケットＲＲＥＱを中継する各無線装置までのホップ数を表す。従って、このホップ数は、ルート要求パケットＲＲＥＱを中継する無線装置によって”１”ずつインクリメントされる。
【００５３】
ルート要求パケット特定ＩＤは、順次生成される複数のルート要求パケットＲＲＥＱの各々を特定するシーケンス番号である。そして、このルート要求パケット特定ＩＤは、一度付与されると、変更されない。
【００５４】
送信先ＩＰアドレスは、確立しようとしている通信経路における最終的な送信先である無線装置のＩＰアドレスである。そして、送信先ＩＰアドレスは、不変である。
【００５５】
送信先シーケンス番号は、最終的な送信先へ向かう複数の経路のうち、ルート要求パケットＲＲＥＱの生成元によって受信された最新のシーケンス番号である。
【００５６】
送信元ＩＰアドレスは、ルート要求パケットＲＲＥＱの生成元のＩＰアドレスである。従って、この送信元ＩＰアドレスは、不変である。
【００５７】
送信元シーケンス番号は、ルート要求パケットＲＲＥＱの生成元へ向かう経路において使用されるべき現在のシーケンス番号である。そして、この送信元シーケンス番号は、不変である。
【００５８】
従って、無線装置１のルーティングデーモン２４は、［｛ｓｒｃ１／２５５．２５５．２５５．２５５｝／｛ｒｒｅｑ／１／ｒｒｅｑＩＤ／ｄｓｔ７／２０／ｓｒｃ１／１０｝］からなるルート要求パケットＲＲＥＱを生成してブロードキャストする。
【００５９】
そして、無線装置１の隣の無線装置２，３は、無線装置１からのルート要求パケットＲＲＥＱを受信し、無線装置２，３のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを無線装置１から最初に受信したか否かを判定する。
【００６０】
ルート要求パケットＲＲＥＱを最初に受信したものである場合、無線装置２のルーティングデーモン２４は、ルート要求パケットＲＲＥＱ中の送信元アドレスｓｒｃ１を、無線装置２が送信元であることを示す送信元アドレスｓｒｃ２に代え、無線装置１から無線装置２までの経路数であるホップ数に”１”を加算してルート要求パケットＲＲＥＱ＝［｛ｓｒｃ２／２５５．２５５．２５５．２５５｝／｛ｒｒｅｑ／２／ｒｒｅｑＩＤ／ｄｓｔ７／２０／ｓｒｃ１／１０｝］を生成し、その生成したルート要求パケットＲＲＥＱ＝［｛ｓｒｃ２／２５５．２５５．２５５．２５５｝／｛ｒｒｅｑ／２／ｒｒｅｑＩＤ／ｄｓｔ７／２０／ｓｒｃ１／１０｝］をＵＤＰモジュール２２によってブロードキャストする。また、無線装置２のルーティングデーモン２４は、送信元アドレスｓｒｃ１に基づいて、無線装置７から無線装置１への逆通信経路において無線装置２が次に送信すべき無線装置が無線装置１であると認識する。
【００６１】
無線装置３のルーティングデーモン２４は、ルート要求パケットＲＲＥＱ中の送信元アドレスｓｒｃ１を、無線装置３が送信元であることを示す送信元アドレスｓｒｃ３に代え、無線装置１から無線装置３までの経路数であるホップ数に”１”を加算してルート要求パケットＲＲＥＱ＝［｛ｓｒｃ３／２５５．２５５．２５５．２５５｝／｛ｒｒｅｑ／２／ｒｒｅｑＩＤ／ｄｓｔ７／２０／ｓｒｃ１／１０｝］を生成し、その生成したルート要求パケットＲＲＥＱ＝［｛ｓｒｃ３／２５５．２５５．２５５．２５５｝／｛ｒｒｅｑ／２／ｒｒｅｑＩＤ／ｄｓｔ７／２０／ｓｒｃ１／１０｝］をＵＤＰモジュール２２によってブロードキャストする。また、無線装置３のルーティングデーモン２４は、送信元アドレスｓｒｃ１に基づいて、無線装置７から無線装置１への逆通信経路において無線装置３が次に送信すべき無線装置が無線装置１であると認識する。
【００６２】
このように、無線装置２，３は、ルート要求パケットＲＲＥＱを中継する（ステップＳ２）。
【００６３】
その後、無線装置４〜６は、無線装置２，３と同様にして、ルート要求パケットＲＲＥＱが送信先の無線装置７へ到達するまでルート要求パケットＲＲＥＱを中継する（ステップＳ３）。
【００６４】
送信先である無線装置７のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを受信すると、ルート要求パケットＲＲＥＱに含まれる送信先ＩＰアドレスｄｓｔ７に基づいて自己が送信先であることを検知し、ルート返答パケットＲＲＥＰを生成する。
【００６５】
この場合、ルート返答パケットＲＲＥＰは、ＩＰヘッダ部ＨＥＤ＿Ｐと、データ部ＤＡ＿Ｐとからなる。ＩＰヘッダ部ＨＥＤ＿Ｐは、送信元アドレスと、送信先アドレスとからなる。また、データ部ＤＡ＿Ｐは、タイプと、ホップ数と、送信先ＩＰアドレスと、送信先シーケンス番号と、送信元ＩＰアドレスとからなる。
【００６６】
ＩＰヘッダ部ＨＥＤ＿Ｐの送信元アドレスは、ルート返答パケットＲＲＥＰを送信する無線装置のアドレスである。そして、この送信元アドレスは、ルート返答パケットＲＲＥＰを中継する無線装置によって変えられる。
【００６７】
ＩＰヘッダ部ＨＥＤ＿Ｐの送信先アドレスは、ルート要求パケットＲＲＥＱに含まれている送信元ＩＰアドレスである。そして、この送信元アドレスは、変更されない。
【００６８】
データ部ＤＡ＿Ｐのタイプは、ルート返答パケットＲＲＥＰがルート要求パケットＲＲＥＱに対する返答であることを示す”ｒｒｅｐ”からなり、この”ｒｒｅｐ”は、変更されない。
【００６９】
ホップ数は、ルート要求パケットＲＲＥＱに含まれる送信先ＩＰアドレスの無線装置からルート返答パケットＲＲＥＰを中継する各無線装置までのホップ数を表す。従って、このホップ数は、ルート返答パケットＲＲＥＰを中継する無線装置によって”１”ずつインクリメントされる。
【００７０】
送信先ＩＰアドレスは、確立された通信経路の送信先のＩＰアドレスである。そして、この送信先ＩＰアドレスは、変更されない。
【００７１】
送信先シーケンス番号は、確立された通信経路の送信先が保持するシーケンス番号である。そして、この送信先シーケンス番号は、変更されない。
【００７２】
送信元ＩＰアドレスは、ＩＰヘッダ部ＨＥＤ＿Ｐの送信元アドレスと同じである。
【００７３】
従って、無線装置７のルーティングデーモン２４は、［｛ｓｒｃ７／ｓｒｃ１｝／｛ｒｒｅｐ／１／ｄｓｔ７／２０／ｓｒｃ７｝］からなるルート返答パケットＲＲＥＰを生成し、その生成したルート返答パケットＲＲＥＰ＝［｛ｓｒｃ７／ｓｒｃ１｝／｛ｒｒｅｐ／１／ｄｓｔ７／２０／ｓｒｃ７｝］をルート要求パケットＲＲＥＱを受信した経路に沿って送信する。即ち、無線装置７のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを無線装置４から受信したので、ルート返答パケットＲＲＥＰをＵＤＰモジュール２２によって無線装置４へ送信する。
【００７４】
無線装置４のルーティングデーモン２４は、無線装置７からルート返答パケットＲＲＥＰ＝［｛ｓｒｃ７／ｓｒｃ１｝／｛ｒｒｅｐ／１／ｄｓｔ７／２０／ｓｒｃ７｝］を受信し、その受信したルート返答パケットＲＲＥＰ＝［｛ｓｒｃ７／ｓｒｃ１｝／｛ｒｒｅｐ／１／ｄｓｔ７／２０／ｓｒｃ７｝］の送信元アドレスｓｒｃ７を無線装置４を示す送信元アドレスｓｒｃ４に代え、送信元ＩＰアドレスｓｒｃ７を送信元ＩＰアドレスｓｒｃ４に代えるとともに、無線装置７までの経路数であるホップ数に”１”を加算してルート返答パケットＲＲＥＰ＝［｛ｓｒｃ４／ｓｒｃ１｝／｛ｒｒｅｐ／２／ｄｓｔ７／２０／ｓｒｃ４｝］を生成し、その生成したルート返答パケットＲＲＥＰ＝［｛ｓｒｃ４／ｓｒｃ１｝／｛ｒｒｅｐ／２／ｄｓｔ７／２０／ｓｒｃ４｝］をＵＤＰモジュール２２によって無線装置３へ送信する。
【００７５】
そうすると、無線装置３のルーティングデーモン２４は、ルート返答パケットＲＲＥＰ＝［｛ｓｒｃ４／ｓｒｃ１｝／｛ｒｒｅｐ／２／ｄｓｔ７／２０／ｓｒｃ４｝］を受信し、無線装置４と同様にして、ルート返答パケットＲＲＥＰ＝［｛ｓｒｃ３／ｓｒｃ１｝／｛ｒｒｅｐ／３／ｄｓｔ７／２０／ｓｒｃ３｝］を生成し、その生成したルート返答パケットＲＲＥＰ＝［｛ｓｒｃ３／ｓｒｃ１｝／｛ｒｒｅｐ／３／ｄｓｔ７／２０／ｓｒｃ３｝］をＵＤＰモジュール２２によって無線装置１へ送信する。
【００７６】
即ち、無線装置３，４は、ルート返答パケットＲＲＥＰを受信し、その受信したルート返答パケットＲＲＥＰをルート要求パケットＲＲＥＱを受信した経路に沿って送信元へ送信する（ステップＳ４）。なお、ルート返答パケットＲＲＥＰには、ルート返答パケットＲＲＥＰの送信先を示すアドレスが含まれていないが、ルート要求パケットＲＲＥＱが無線装置１から無線装置７へ送信されることによって無線装置１→無線装置３→無線装置４→無線装置７の経路が確立されているので、各無線装置３，４，７は、ルート要求パケットＲＲＥＱを受信した経路に沿ってルート返答パケットＲＲＥＰを無線装置１（送信元）へ送信できる。
【００７７】
そして、送信元である無線装置１のルーティングデーモン２４は、送信先である無線装置７からのルート返答パケットＲＲＥＰを受信すると、データパケットを生成して送信先の無線装置７へ送信する。これによって、無線装置１−無線装置３−無線装置４−無線装置７からなる経路が活性化され、ルーティングテーブル２０内のフラグｆｌｇが”ＵＰ”に変更される（ステップＳ５）。即ち、無線装置１−無線装置３−無線装置４−無線装置７からなるアドホックネットワークが自律的に構成される。
【００７８】
なお、無線装置１，３，４，７の各々において、ルーティングデーモン２４は、ルート要求パケットＲＲＥＱの送受信およびルート返答パケットＲＲＥＰの送受信によって、自己に隣接する両方の無線装置、自己から送信元の無線装置１までの経路数および自己から送信先の無線装置７までの経路数を検知し、ルーティングテーブル２０を作成する。
【００７９】
例えば、無線装置４は、無線装置３からルート要求パケットＲＲＥＱ＝［｛ｓｒｃ３／２５５．２５５．２５５．２５５｝／｛ｒｒｅｑ／２／ｒｒｅｑＩＤ／ｄｓｔ７／２０／ｓｒｃ１／１０｝］を受信し、無線装置７からルート返答パケットＲＲＥＰ＝［｛ｓｒｃ７／ｓｒｃ１｝／｛ｒｒｅｐ／１／ｄｓｔ７／２０／ｓｒｃ７｝］を受信するので、無線装置４のルーティングデーモン２４は、無線装置３，７が両隣の無線装置であること、無線装置１までの経路数が”２”であること、および無線装置７までの経路数が”１”であることを検知する。
【００８０】
従って、無線装置４のルーティングデーモン２４は、ルーティングテーブル２０の送信先ｄｓｔに”１”を格納し、シーケンス番号ＳｅｑＮｏ．を付与し、送信先である無線装置１の方向における次の無線装置ｎｘｔｈｐに”３”を格納し（ルート要求パケットＲＲＥＱ＝［｛ｓｒｃ３／２５５．２５５．２５５．２５５｝／｛ｒｒｅｑ／２／ｒｒｅｑＩＤ／ｄｓｔ７／２０／ｓｒｃ１／１０｝］に含まれるｓｒｃ３から無線装置３が隣接する無線装置であることを検知できる）、メトリックｍｔｒｃに無線装置１までの経路数”２”を格納し、フラグｆｌｇを”ＵＰ”に変更する。
【００８１】
また、無線装置４のルーティングデーモン２４は、ルーティングテーブル２０の送信先ｄｓｔに”７”を格納し、シーケンス番号ＳｅｑＮｏ．を付与し、送信先である無線装置７の方向における次の無線装置ｎｘｔｈｐに”７”を格納し（ルート返答パケットＲＲＥＰ＝［｛ｓｒｃ７／ｓｒｃ１｝／｛ｒｒｅｐ／１／ｄｓｔ７／２０／ｓｒｃ７｝］に含まれるｓｒｃ７から無線装置７が隣接する無線装置であることを検知できる）、メトリックｍｔｒｃに無線装置７までの経路数”１”を格納し、フラグｆｌｇを”ＵＰ”に変更する。
【００８２】
このようにして、無線装置４は、ルーティングテーブル２０を作成する。
【００８３】
無線装置１，３，７のルーティングデーモン２４も、無線装置４のルーティングデーモン２４と同様にしてルーティングテーブル２０を作成する。この場合、無線装置１は、無線装置７を送信先とする経路のみを含むルーティングテーブル２０を作成し、無線装置７は、無線装置１を送信先とする経路のみを含むルーティングテーブル２０を作成する。
【００８４】
ステップＳ５の後、アクティブ経路上の各無線装置、即ち、無線装置１，３，４，７は、アクティブ経路の情報を１ホップ内の無線装置へブロードキャストする（ステップＳ６）。例えば、無線装置４のルーティングデーモン２４は、無線装置１を送信先とする経路の情報と、無線装置７を送信先とする経路の情報とをブロードキャストする。
【００８５】
そして、アクティブ経路に隣接する無線装置、例えば、無線装置６は、無線装置４，７からアクティブ経路の情報を受信し、その受信した情報に基づいて無線装置１へのバックアップ経路および無線装置７へのバックアップ経路を確立する（ステップＳ７）。
【００８６】
引き続いて、アクティブ経路に隣接する無線装置は、確立した複数のバックアップ経路の中から優先度が最も高いバックアップ経路を抽出して順次ブロードキャストする（ステップＳ８）。
【００８７】
なお、優先度が高いか否かは、アクティブ経路に隣接する無線装置から無線装置１または無線装置７までの経路数（メトリックｍｔｒｃによって表される）、バックアップ経路の新しさ（シーケンス番号ＳｅｑＮｏ．によって表される）、バックアップ経路の安定度合（カウント値Ｃｎｔによって表される）および有効期間Ｔｅｘｐｉ等に基づいて決定される。
【００８８】
即ち、無線装置１または無線装置７までの経路数が少ない方が相対的に優先度は高くなり、シーケンス番号ＳｅｑＮｏ．が大きい方が相対的に優先度は高くなり、カウント値Ｃｎｔが３以上であれば優先度は相対的に高くなり、有効期間Ｔｅｘｐｉが長ければ優先度は相対的に高くなる。従って、優先度が高いか否かは、メトリックｍｔｒｃ、シーケンス番号ＳｅｑＮｏ．、カウント値Ｃｎｔおよび有効期間Ｔｅｘｐｉを総合的に判定して決定される。
【００８９】
ステップＳ８の後、アクティブ経路上の各無線装置は、アクティブ経路に隣接する無線装置からバックアップ経路の情報を受信し、アクティブ経路をバックアップするバックアップ経路を確立する（ステップＳ９）。
【００９０】
これによって、送信元である無線装置１と送信先である無線装置７との間の無線通信経路を確立する動作が終了する。
【００９１】
図７は、送信元と送信先との間で無線通信経路が確立されたときにアクティブ経路上の各無線装置が保持するルーティングテーブルを示す図である。
【００９２】
送信元である無線装置１のルーティングデーモン２４は、送信先である無線装置７に対する経路情報からなるルーティングテーブル２０を作成する（図７の（ａ）参照）。次の無線装置ｎｘｔｈｐが無線装置３である経路がアクティブ経路であるので、フラグｆｌｇ＝”ＵＰ”になっている。そして、無線装置１から無線装置７までの無線通信は、２つの無線装置３，４によって中継されるので、無線装置１から無線装置７までの経路数を表すメトリックｍｔｒｃは、”３”である。
【００９３】
また、カウント値Ｃｎｔは、３以上の”１５”であり、無線装置３を経由する経路が安定であることを示している。有効期間Ｔｅｘｐｉは、このアクティブ経路の情報を受信した時点からの有効期間を表しており、アクティブ経路に対しては、例えば、１０秒に設定される。
【００９４】
無線装置１は、無線装置３を経由するアクティブ経路をバックアップするバックアップ経路を有している。このバックアップ経路は、無線装置２を経由する経路である。無線装置２を経由した場合、無線装置１から無線装置７までの経路数は”３”であるので、メトリックｍｔｒｃは、”３”となっており、フラグｆｌｇは”ＢＵ”となっている。そして、カウント値Ｃｎｔは、３以上の”１２”であり、無線装置２を経由する経路が安定であることを示している。有効期間Ｔｅｘｐｉは、このバックアップ経路の情報を受信した時点からの有効期間を表しており、バックアップ経路に対しては、例えば、４秒に設定される。
【００９５】
各無線装置１，３，４，７のルーティングデーモン２４は、ルーティングテーブル２０の内容を定期的に相互に送受信するので、カウント値Ｃｎｔは、経路情報を受信するごとにカウントアップされ、有効期間Ｔｅｘｐｉは、経路情報を受信するごとに一定期間ずつ更新される（アクティブ経路に対しては１０秒ずつ、バックアップ経路に対して４秒ずつ）。
【００９６】
なお、無線装置１のルーティングデーモン２４は、図６のステップＳ１〜Ｓ５におけるルート要求パケットＲＲＥＱの送信およびルート返答パケットＲＲＥＰの受信に基づいて、上記のアクティブ経路を含むルーティングテーブル２０を作成し、図６のステップＳ６〜Ｓ９において送受信される経路情報に基づいて、上記のバックアップ経路を含むルーティングテーブル２０を作成する（図７の（ａ）参照）。
【００９７】
中継器である無線装置３のルーティングデーモン２４は、無線装置１に対する経路情報と、無線装置７に対する経路情報とからなるルーティングテーブル２０を作成する（図７の（ｂ）参照）。このルーティングテーブル２０の詳細な説明は、無線装置１のルーティングデーモン２４が作成するルーティングテーブル２０と同じであるので省略する。なお、無線装置３は、この時点では、アクティブ経路をバックアップするバックアップ経路を有していない。
【００９８】
また、無線装置３のルーティングデーモン２４は、図６のステップＳ１〜Ｓ５におけるルート要求パケットＲＲＥＱの送信およびルート返答パケットＲＲＥＰの受信に基づいて、上記のアクティブ経路を含むルーティングテーブル２０を作成する。
【００９９】
中継器である無線装置４のルーティングデーモン２４は、無線装置１に対するアクティブ経路と、無線装置１に対するアクティブ経路をバックアップするバックアップ経路と、無線装置７に対するアクティブ経路と、無線装置７に対するアクティブ経路をバックアップするバックアップ経路とからなるルーティングテーブル２０を作成する（図７の（ｃ）参照）。このルーティングテーブル２０の詳細な説明は、無線装置１のルーティングデーモン２４が作成するルーティングテーブル２０と同じであるので省略する。
【０１００】
なお、無線装置４のルーティングデーモン２４は、図６のステップＳ１〜Ｓ５におけるルート要求パケットＲＲＥＱの送信およびルート返答パケットＲＲＥＰの受信に基づいて、無線装置１に対するアクティブ経路および無線装置７に対するアクティブ経路を含むルーティングテーブル２０を作成し、図６のステップＳ６〜Ｓ９において送受信される経路情報に基づいて、２つのアクティブ経路をそれぞれバックアップする２つのバックアップ経路を含むルーティングテーブル２０を作成する。
【０１０１】
更に、送信先である無線装置７のルーティングデーモン２４は、送信元である無線装置１に対する経路情報からなるルーティングテーブル２０を作成する（図７の（ｄ）参照）。この場合、無線装置７のルーティングデーモン２４は、無線装置１に対するアクティブ経路と、そのアクティブ経路をバックアップするバックアップ経路とからなるルーティングテーブル２０を作成する。このルーティングテーブル２０の詳細な説明は、無線装置１のルーティングデーモン２４が作成するルーティングテーブル２０と同じであるので省略する。
【０１０２】
ルーティングテーブル２０が作成された結果、無線装置７は、無線装置６を経由するバックアップ経路を保持する。
【０１０３】
なお、無線装置７のルーティングデーモン２４は、図６のステップＳ１〜Ｓ５におけるルート要求パケットＲＲＥＱの送信およびルート返答パケットＲＲＥＰの受信に基づいて、無線装置１に対するアクティブ経路を含むルーティングテーブル２０を作成し、図６のステップＳ６〜Ｓ９において送受信される経路情報に基づいて、アクティブ経路をバックアップするバックアップ経路を含むルーティングテーブル２０を作成する。
【０１０４】
このように、無線装置１−無線装置３−無線装置４−無線装置７からなるアドホックネットワークにおけるアクティブ経路上の各無線装置は、送信元の無線装置１と送信先の無線装置７との間で無線通信するためのアクティブ経路と、そのアクティブ経路をバックアップするバックアップ経路とをルーティングテーブルとして保持する。
【０１０５】
そして、各無線装置は、保持しているルーティングテーブル２０の内容を定期的に送受信し、ルーティングテーブル２０内の経路情報を更新する。これによって、各無線装置は、最新の経路情報を保持できる。
【０１０６】
［リンク切断時の無線通信経路の確立動作］
上述した動作によって無線装置１−無線装置３−無線装置４−無線装置７からなるアドホックネットワークが構築され、無線装置３，４を経由して無線装置１と無線装置７との間で無線通信を行なっているときに、各無線装置の移動等に起因して、いずれかの経路のリンクが切断されることがある。
【０１０７】
そこで、このようなリンクの切断が発生した場合に、新たな経路を確立する動作について説明する。
【０１０８】
図８および図９は、それぞれ、リンク切断時に新たな無線通信経路を確立する動作を説明するための第１および第２のフローチャートである。また、図１０は、ルーティングテーブル２０の経時的変化を示す図である。なお、以下においては、無線装置４と無線装置７との間のリンクが切断されたものとして説明する。
【０１０９】
一連の動作が開始されると、無線装置４のルーティングデーモン２４は、無線装置７との経路が切断されたことを示す通知をＭＡＣモジュール１７から受けると、リンクが切断された隣の無線装置までの経路、即ち、無線装置４と無線装置７との間の経路を経路ｒｔと設定する（ステップＳ１１）。そして、無線装置４のルーティングデーモン２４は、経路ｒｔを介した送信先をｄｓｔとし、ルーティングテーブル２０中の送信先ｄｓｔに対する最も優先度が高いバックアップ経路をｒｔｂｕとして設定する（ステップＳ１２）。より具体的には、無線装置４のルーティングデーモン２４は、無線装置６を経由するバックアップ経路をｒｔｂｕとして設定する。
【０１１０】
その後、無線装置４のルーティングデーモン２４は、経路ｒｔがアクティブ経路か否かを判定し（ステップＳ１３）、経路ｒｔがアクティブ経路でないとき、経路ｒｔに関する経路情報をルーティングテーブル２０から削除する（ステップＳ１４）。
【０１１１】
経路ｒｔがアクティブ経路でないことは、経路ｒｔがバックアップ経路であることを意味し、バックアップ経路が切断された場合には、その切断されたバックアップ経路を保持しておく意味がないので、ステップＳ１４において経路ｒｔを削除することにしたものである。
【０１１２】
一方、ステップＳ１３において、経路ｒｔがアクティブ経路であると判定されたとき、無線装置４のルーティングデーモン２４は、優先度が最も高いバックアップ経路ｒｔｂｕが存在するか否かを更に判定する（ステップＳ１５）。そして、バックアップ経路ｒｔｂｕが存在しないと判定されたとき、無線装置４のルーティングデーモン２４は、経路ｒｔのシーケンス番号ＳｅｑＮｏ．を増加し、フラグｆｌｇを”ＵＰ”から”ＤＯＷＮ”に変更し、エラーパケットＲＥＲＲを生成する（ステップＳ１６）。
【０１１３】
この場合、無線装置４のルーティングテーブル２０のうち、送信先を無線装置７とする経路は、図１０の（ａ１）から（ｂ）へ変更される。ここで、経路ｒｔのフラグｆｌｇを”ＵＰ”から”ＤＯＷＮ”に変更することにしたのは、経路ｒｔは、現在、リンクが切断されているが、今後、復帰する可能性があるので、経路ｒｔを削除せずに、経路ｒｔをバックアップ経路として確保するためにフラグｆｌｇを”ＤＯＷＮ”にすることにしたものである。
【０１１４】
一方、ステップＳ１５において、バックアップ経路ｒｔｂｕが存在すると判定されると、無線装置４のルーティングデーモン２４は、バックアップ経路ｒｔｂｕのカウント値をＣｎｔとし、隣の無線装置から経路情報を受信した最後の時間をｈｅａｒｄｔｉｍｅと設定する（ステップＳ１７）。
【０１１５】
そして、無線装置４のルーティングデーモン２４は、
ｒｔｂｕ＿ＳｅｑＮｏ．≧ｒｔ＿ＳｅｑＮｏ．・・・（１）
ｒｔｂｕ＿ｍｔｒｃ≦ｒｔ＿ｍｔｒｃ＋１・・・（２）
ｒｔｂｕ＿ｈｅａｒｄｔｉｍｅ＜ｒｔｂｕ＿ｅｘｐｉｒｅ  ｔｉｍｅ・・・（３）
ｒｔｂｕ＿Ｃｎｔ≧３・・・（４）
の全てが成立するか否かを判定する（ステップＳ１８）。
【０１１６】
ここで、ｒｔｂｕ＿ＳｅｑＮｏ．は、バックアップ経路ｒｔｂｕのシーケンス番号ｒｔｂｕ＿ＳｅｑＮｏ．であり、ｒｔ＿ＳｅｑＮｏ．は、経路ｒｔのシーケンス番号ｒｔ＿ＳｅｑＮｏ．であり、ｒｔｂｕ＿ｍｔｒｃは、バックアップ経路ｒｔｂｕのメトリックであり、ｒｔ＿ｍｔｒｃは、経路ｒｔのメトリックｍｔｒｃであり、ｒｔｂｕ＿ｈｅａｒｄｔｉｍｅは、バックアップ経路ｒｔｂｕのハードタイムであり、ｒｔｂｕ＿ｅｘｐｉｒｅは、バックアップ経路ｒｔｂｕの有効期間であり、ｒｔｂｕ＿Ｃｎｔは、バックアップ経路ｒｔｂｕのカウント値である。
【０１１７】
ステップＳ１８において、上記式（１）〜（４）のいずれかが成立しないとき、無線装置４のルーティングデーモン２４は、送信先である無線装置７に対する全てのバックアップ経路を削除し、経路ｒｔのシーケンス番号ＳｅｑＮｏ．を増加し、経路ｒｔのフラグｆｌｇを”ＵＰ”から”ＤＯＷＮ”に変更し、更に、エラーパケットＲＥＲＲを生成する（ステップＳ１９）。
【０１１８】
この場合、無線装置４のルーティングテーブル２０のうち、送信先を無線装置７とする経路は、図１０の（ａ２）から（ｃ）へ変更される。ここで、送信先の無線装置７に対する全てのバックアップ経路を削除することにしたのは、ステップＳ１８において、上記式（１）〜（４）のいずれかが成立しないと判定されることは、バックアップ経路ｒｔｂｕをリンクが切断された経路ｒｔに代えてアクティブ経路として用いることができないと判定されることに相当するので、バックアップ経路を保持しておく意味がないためである。また、フラグｆｌｇを”ＤＯＷＮ”に変更する理由は、ステップＳ１６における理由と同じである。
【０１１９】
一方、ステップＳ１８において、上記式（１）〜（４）の全てが成立すると判定されたとき、無線装置４のルーティングデーモン２４は、バックアップ経路ｒｔｂｕのフラグｆｌｇを”ＢＵ”から”ＮＥＥＤＣＨＥＣＫ”に変更する（ステップＳ２０）。この場合、無線装置４のルーティングテーブル２０のうち、送信先を無線装置７とする経路は、図１０の（ａ３）から（ｄ）に変更される。
【０１２０】
その後、無線装置４のルーティングデーモン２４は、経路ｒｔを削除し（ステップＳ２１）、他の経路ｒｔが存在するか否か、即ち、リンクが切断された経路が他に存在するか否かを判定する（ステップＳ２２）。そして、無線装置４のルーティングデーモン２４は、他の経路ｒｔが存在するとき、上述したステップＳ１１〜ステップＳ２２を繰り返し実行する。
【０１２１】
ステップＳ２２において、他の経路ｒｔが存在しないと判定されたとき、またはステップＳ１４，Ｓ１６，Ｓ１９のいずれかの後、無線装置４のルーティングデーモン２４は、送信先の無線装置７へ送信できないパケットｐが存在し、フラグｆｌｇを”ＮＥＥＤＣＨＥＣＫ”に設定した経路が存在するか否かを判定する（ステップＳ２３）。
【０１２２】
そして、パケットｐが存在しないとき、またはフラグｆｌｇを”ＮＥＥＤＣＨＥＣＫ”に設定した経路が存在しないとき、無線装置４のルーティングデーモン２４は、エラーパケットＲＥＲＲをブロードキャストする（ステップＳ２４）。この場合、リンクが切断した経路ｒｔに代わってパケットを無線装置７へ送信可能な経路が全く存在しないので、無線装置４のルーティングデーモン２４は、無線装置４から無線装置７へパケットを送信できないことを周囲の無線装置へ通知することにしたものである。
【０１２３】
一方、ステップＳ２３において、パケットｐが存在し、フラグｆｌｇを”ＮＥＥＤＣＨＥＣＫ”に設定した経路が存在すると判定されたとき、無線装置４のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを生成し、ＵＤＰモジュール２２によってルート要求パケットＲＲＥＱを無線装置６へユニキャストする。そして、無線装置６のルーティングデーモン２４は、無線装置４からのルート要求パケットＲＲＥＱを受信し、その受信したルート要求パケットＲＲＥＱを送信先の無線装置７へ送信する（ステップＳ２５）。
【０１２４】
無線装置７のルーティングデーモン２４は、ルート要求パケットＲＲＥＱを受信すると、ルート返答パケットＲＲＥＰを生成して無線装置６へ送信し、無線装置６のルーティングデーモン２４は、ルート返答パケットＲＲＥＰを受信し、その受信したルート返答パケットＲＲＥＰを無線装置４へ送信する。そして、無線装置４のルーティングデーモン２４は、無線装置７からのルート返答パケットＲＲＥＰを受信する（ステップＳ２６）。これによって、無線装置４のルーティングデーモン２４は、バックアップ経路ｒｔｂｕが正常であると判定し、バックアップ経路ｒｔｂｕのフラグｆｌｇを”ＮＥＥＤＣＨＥＣＫ”から”ＵＰ”に変更する（ステップＳ２７）。この場合、ルーティングテーブル２０のうち、送信先を無線装置７とする経路は、図１０の（ｄ）から（ｅ）へ変更される。
【０１２５】
そして、ステップＳ２４またはステップＳ２７の後、一連の動作は終了する。
【０１２６】
上述したように、無線装置４と無線装置７との間の経路が切断された場合、無線装置４のルーティングデーモン２４は、優先度が最も高いバックアップ経路ｒｔｂｕのうち、所定の条件（式（１）〜（４）の全て）を満たす経路をアクティブ経路ｒｔに代わる代替経路として抽出する。これによって、無線装置１，３，４，７からなるアドホックネットワークは、無線装置４と無線装置７との間の経路が切断された場合にも、新たな経路を確立して無線装置１と無線装置７との間の無線通信を継続して行なうことができる。
【０１２７】
なお、ステップＳ１８において、上記式（１）〜（４）の全てが成立するか否かを判定することは、バックアップ経路ｒｔｂｕに関する経路情報を経路ｒｔに関する経路情報と比較することに相当する。
【０１２８】
また、図８および図９においては、無線装置４と無線装置７との間の経路が切断された場合の無線装置４の動作について説明したが、他の経路が切断された場合、無線装置１，３，７の各々は、図８および図９に示すフローチャートに従って、切断された経路に代わる代替経路をバックアップ経路の中から抽出して無線装置１と無線装置７との間の無線通信を継続する。
【０１２９】
更に、図８および図９においては、送信元である無線装置１からのパケットを送信先である無線装置７へ送信する経路が切断された場合について説明したが、無線装置７からのパケットを無線装置１へ送信する経路が切断された場合にも、図８および９に示すフローチャートに従って、切断された経路に代わる代替経路をバックアップ経路の中から抽出して無線装置１と無線装置７との間の無線通信を継続する。例えば、無線装置４と無線装置３との間の経路が切断され、無線装置２を経由する経路を代替経路として確立する場合、無線装置４は、図９に示すステップＳ２５，Ｓ２６において、ルート要求パケットＲＲＥＱを無線装置２を介して送信元である無線装置１へユニキャストし、送信元である無線装置１から無線装置２を介してルート返答パケットＲＲＥＰを受信する。無線装置７から無線装置１へのパケットの送信において、他の経路が切断された場合も、同様である。
【０１３０】
［好適な経路の確立動作］
無線装置１−無線装置３−無線装置４−無線装置７からなるアドホックネットワークが構築され、無線装置３，４を経由して無線装置１と無線装置７との間で無線通信を行なっているときに、各無線装置の移動等に起因して、無線装置３または無線装置４を経由するよりも他の無線装置を経由した方がよいことがある。
【０１３１】
そこで、好適な通信経路を確立する動作について説明する。
【０１３２】
図１１および図１２は、それぞれ、好適な無線通信経路を確立する動作を説明するための第１および第２のフローチャートである。また、図１３および図１４は、ルーティングテーブル２０の経時的変化を示す他の図である。なお、以下においては、無線装置４の代わりに他の無線装置を経由する新たな無線通信経路を確立する動作について説明する。また、無線装置９が無線装置４と１ホップ内に存在しているものとして説明する。
【０１３３】
一連の動作が開始されると、無線装置４のルーティングデーモン２４は、隣の無線装置、即ち、無線装置９からアップデートメッセージを受信する（ステップＳ３１）。この場合、無線装置４のルーティングデーモン２４は、図１３の（ａ１）に示すアップデートメッセージを受信する。また、無線装置４のルーティングデーモン２４は、図１３の（ｂ）に示すルーティングテーブルを保持している。
【０１３４】
そして、無線装置４のルーティングデーモン２４は、アップデートメッセージに含まれる送信先ｄｓｔおよびヘッダに含まれている送信元ＩＰアドレスが自己のルーティングテーブル中の送信先ｄｓｔおよび次の無線装置ｎｘｔｈｐとそれぞれ同じであるとき、アップデートメッセージを送信した無線装置を経由する経路を経路ｒｔとする（ステップＳ３２）。
【０１３５】
この場合、アップデートメッセージ（図１３の（ａ１））中の送信先ｄｓｔ（＝７）および送信元ＩＰアドレス（＝無線装置９のＩＰアドレス）は、それぞれ、無線装置４のルーティングテーブル（図１３の（ｂ））中の送信先ｄｓｔ（＝７）および次の無線装置ｎｘｔｈｐ（＝９）と同じであるので、無線装置４のルーティングデーモン２４は、アップデートメッセージ（図１３の（ａ１））を送信した無線装置９を経由する経路を経路ｒｔとする（ステップＳ３２）。
【０１３６】
そして、無線装置４のルーティングデーモン２４は、経路ｒｔが自己のルーティングテーブル（図１３の（ｂ））中に不存在であるか否かを判定し、または経路ｒｔが存在し、かつ、経路ｒｔの次の無線装置ｎｘｔｈｐが自己の隣の無線装置でないか否かを判定する（ステップＳ３３）。
【０１３７】
アップデートメッセージ（図１３の（ａ１））中の送信先ｄｓｔおよび送信元ＩＰアドレス（＝無線装置９のＩＰアドレス）が自己のルーティングテーブル（図１３の（ｂ））中の送信先ｄｓｔおよび次の無線装置ｎｘｔｈｐ（＝９）と同じであるので、無線装置４のルーティングデーモン２４は、カウント値Ｃｎｔを増加する（ステップＳ３４）。
【０１３８】
ステップＳ３４において、無線装置４のルーティングデーモン２４は、ルーティングテーブルを図１３の（ｂ）から（ｃ）へ変更する。この場合、無線装置４は、隣の無線装置９から受信した経路情報が自己のルーティングテーブル（図１３の（ｂ））中に既に存在しているので、その存在している経路のカウント値Ｃｎｔを”１２”から”１３”へ増加することにしたものである。
【０１３９】
ステップＳ３３において、経路ｒｔが自己のルーティングテーブル（図１３の（ｂ））中に不存在である場合、または経路ｒｔが存在し、かつ、経路ｒｔの次の無線装置ｎｘｔｈｐが自己の隣の無線装置でない場合、無線装置４のルーティングデーモン２４は、経路ｒｔのフラグｆｌｇが”ＢＵ”であれば、経路ｒｔをバックアップ経路としてルーティングテーブル（図１３の（ｂ））に追加し、カウント値Ｃｎｔを”１”だけ増加する（ステップＳ３５）。
【０１４０】
アップデートメッセージ（図１３の（ａ１））中のシーケンス番号ＳｅｑＮｏ．が”３０”である場合（図１４の（ａ２））、経路ｒｔが無線装置４のルーティングテーブル（図１４の（ｂ））中に存在せず、経路ｒｔのフラグｆｌｇが”ＢＵ”であるので、無線装置４のルーティングデーモン２４は、経路ｒｔをバックアップ経路としてルーティングテーブル（図１４の（ｂ））に追加し、カウント値Ｃｎｔを”１”だけ増加する。
【０１４１】
この場合、無線装置４のルーティングデーモン２４は、ルーティングテーブル２０を図１４の（ｂ）から（ｄ）へ変更する。
【０１４２】
ステップＳ３４またはステップＳ３５の後、無線装置４のルーティングデーモン２４は、経路ｒｔがバックアップ経路か否かを判定し（ステップＳ３６）、経路ｒｔがバックアップ経路でないとき、一連の動作は、ステップＳ４１へ移行する。
【０１４３】
一方、ステップＳ３６において、経路ｒｔがバックアップ経路であるとき、無線装置４のルーティングデーモン２４は、バックアップ経路ｒｔの有効期間（ｅｘｐｉｒｅ  ｔｉｍｅ）を更新する（ステップＳ３７）。この場合、無線装置４のルーティングデーモン２４は、ルーティングテーブル２０を図１４の（ｄ）から（ｅ）へ変更する。
【０１４４】
その後、無線装置４のルーティングデーモン２４は、既にアクティブになっている経路（図１４の（ｅ）の最上行の経路）を経路ａｃｔｉｖｅ＿ｒｔと設定する（ステップＳ３８）。
【０１４５】
引き続いて、無線装置４のルーティングデーモン２４は、
ｒｔ＿ＳｅｑＮｏ．＞ａｃｔｉｖｅ＿ＳｅｑＮｏ．・・・（５）
ｒｔ＿ＳｅｑＮｏ．＝ａｃｔｉｖｅ＿ＳｅｑＮｏ．・・・（６）
ｒｔ＿ｍｔｒｃ＞ａｃｔｉｖｅ＿ｍｔｒｃ・・・（７）
Ｃｎｔ＞３・・・（８）
のうち、式（５）が成立するか否かを判定し、または式（６）〜式（８）の全てが成立するか否かを判定する（ステップＳ３９）。
【０１４６】
ステップＳ３９において、式（５）が成立しないとき、または式（６）〜式（８）の全てが成立しないとき、一連の動作がステップＳ４１へ移行する。
【０１４７】
一方、ステップＳ３９において、式（５）が成立するとき、または式（６）〜式（８）の全てが成立するとき、無線装置４のルーティングデーモン２４は、経路ｒｔをアクティブ経路ａｃｔｉｖｅ＿ｒｔに変更し、既に存在するアクティブ経路ａｃｔｉｖｅ＿ｒｔをバックアップ経路に変更する（ステップＳ４０）。この場合、無線装置４のルーティングデーモン２４は、ルーティングテーブル２０を図１４の（ｅ）から（ｆ）へ変更する。
【０１４８】
ステップＳ３６の”ＮＯ”、ステップＳ３９の”ＮＯ”およびステップＳ４０のいずれかの後、無線装置４のルーティングデーモン２４は、他の経路ｒｔが存在するか否かを判定する（ステップＳ４１）。他の経路ｒｔが存在するとき、上述したステップＳ３２〜ステップＳ４１が繰り返し実行される。
【０１４９】
一方、ステップＳ４１において、他の経路ｒｔが存在しないとき、無線装置４のルーティングデーモン２４は、アクティブ経路になった経路ｒｔを直ちにブロードキャストによって周りの無線装置へ送信する（ステップＳ４２）。そして、無線装置４は、アクティブ経路になった経路ｒｔを用いて無線装置１と無線装置７との間の無線通信を中継する。
【０１５０】
これによって、一連の動作は終了する。
【０１５１】
このように、無線装置４は、自己の周りの無線装置から受信したアップデートメッセージに含まれる経路情報に基づいて、既にアクティブになっている経路（既に無線装置１と無線装置７との間の無線通信に用いている経路）よりも好適な経路が存在するか否かを判定し（図１１のステップＳ３９参照）、好適な経路が存在する場合、既にアクティブになっている経路をバックアップ経路に変更し、好適な経路をアクティブ経路に変更し（図１１のステップＳ４０参照）、無線装置１と無線装置７との間の無線通信を中継する。
【０１５２】
従って、トポロジーの変化に強固なアドホックネットワークを構築できる。
【０１５３】
上記においては、無線装置１と無線装置７との間で無線通信を中継する無線装置４を例にして、既に確立されている無線通信経路が切断されたときに新たな無線通信経路を確立する場合と、より好適な経路に変更する場合とについて説明したが、無線装置１，３，７も、無線装置４と同様に、既に確立されている無線通信経路が切断されたときに新たな無線通信経路を確立する動作と、より好適な経路に変更する動作とを行なう。
【０１５４】
上述したように、この発明においては、アドホックネットワークを自律的に構成する複数の無線装置の各々は、送信元と送信先との間の無線通信に用いられているアクティブ経路を示すアクティブ経路情報と、アクティブ経路をバックアップするバックアップ経路を示すバックアップ経路情報とを保持することを第１の特徴とする。
【０１５５】
そして、この第１の特徴により、アドホックネットワーク中でリンクの切断が発生しても、その切断された経路に代わる代替経路をバックアップ経路から抽出して新たなアドホックネットワークを自律的、かつ、即時に構築し、送信元と送信先との間の無線通信を継続するという第２の特徴と、アドホックネットワークにおいて、好適な経路を探索して新たなアドホックネットワークを自律的、かつ、即時に構築し、送信元と送信先との間の無線通信を継続するという第３の特徴とが生じる。
【０１５６】
そして、これらの３つの特徴により、トポロジーの変化に強固なアドホックネットワーク（無線ネットワークシステム）を構築できる。
【０１５７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１５８】
この発明は、トポロジーの変化に強固な無線ネットワークシステムに適用される。
【図面の簡単な説明】
【０１５９】
【図１】この発明の実施の形態による無線ネットワークシステムの概略図である。
【図２】図１に示す無線装置の構成を示す概略ブロック図である。
【図３】ＩＰヘッダの構成図である。
【図４】ＴＣＰヘッダの構成図である。
【図５】図２に示すルーティングテーブルの構成を示す図である。
【図６】送信元と送信先との間で無線通信経路を確立する動作を説明するためのフローチャートである。
【図７】送信元と送信先との間で無線通信経路が確立されたときにアクティブ経路上の各無線装置が保持するルーティングテーブルを示す図である。
【図８】リンク切断時に新たな無線通信経路を確立する動作を説明するための第１のフローチャートである。
【図９】リンク切断時に新たな無線通信経路を確立する動作を説明するための第２のフローチャートである。
【図１０】ルーティングテーブルの経時的変化を示す図である。
【図１１】好適な通信経路を確立する動作を説明するための第１のフローチャートである。
【図１２】好適な無線通信経路を確立する動作を説明するための第２のフローチャートである。
【図１３】ルーティングテーブルの経時的変化を示す他の図である。
【図１４】ルーティングテーブルの経時的変化を示す他の図である。
【符号の説明】
【０１６０】
１〜９  無線装置、１０  無線ネットワークシステム、１１  アンテナ、１２  入力部、１３  表示部、１４  電子メールアプリケーション、１５  通信制御部、１６  無線インターフェースモジュール、１７  ＭＡＣモジュール、１８  ＬＬＣモジュール、１９，１９Ａ  ＩＰモジュール、２０  ルーティングテーブル、２１  ＴＣＰモジュール、２２  ＵＤＰモジュール、２３  ＳＭＴＰモジュール、２４  ルーティングデーモン。
【図１】
2006050377.tif 000003
【図２】
2006050377.tif 000004
【図３】
2006050377.tif 000005
【図４】
2006050377.tif 000006
【図５】
2006050377.tif 000007
【図６】
2006050377.tif 000008
【図７】
2006050377.tif 000009
【図８】
2006050377.tif 000010
【図９】
2006050377.tif 000011
【図１０】
2006050377.tif 000012
【図１１】
2006050377.tif 000013
【図１２】
2006050377.tif 000014
【図１３】
2006050377.tif 000015
【図１４】
2006050377.tif 000016