以下に、本発明にかかるノードの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本実施の形態の無線メッシュネットワークの構成例を示す図である。無線メッシュネットワーク1000は、複数のノード101−a〜101−kと、ゲートウェイ201と、から構成されており、各ノード間およびゲートウェイ201とノードとの間は、無線リンク301−a〜301−kによって接続されている。ここでは、ノード101−a〜101−kは、自律的にネットワークを構成する。なお、以降の説明において、各ノードを区別しないときは単にノード101と呼ぶことがあり、各無線リンクを区別しないときは単に無線リンク301と呼ぶことがある。
つづいて、各装置の構成について説明する。図2は、ノードの構成例を示す図である。ノード101は、アンテナ部102と、無線通信部103と、リンク品質判定部104と、メッセージ処理部105と、ルーティング処理部106と、経路統計情報記録部107と、経路テーブル記録部108と、を備える。
アンテナ部102は、無線リンク301を介して他のノード101またはゲートウェイ201と接続し、信号・メッセージを送受信する。無線通信部103は、アンテナ部102で受信した他ノード101またはゲートウェイ201からの信号・メッセージを復調し、また、自身から送信する信号・メッセージを変調する。リンク品質判定部104は、アンテナ部102、無線通信部103で受信した他ノード101またはゲートウェイ201からの信号・メッセージについて、自ノードと接続する無線リンク301の品質を判定する。リンク品質判定部104では、隣接ノード101またはゲートウェイ201との間の無線リンク301の品質を、予め設定した1つ以上の閾値に基づいて、複数ある品質レベルのいずれかにレベル分けする。メッセージ処理部105は、受信したメッセージに基づいて実行すべき処理を判断する。また、メッセージ処理部105は、他ノード101から受信したメッセージに含まれる、当該他ノード101からゲートウェイ201までの経路リンク品質(経路統計情報)を取得する。ルーティング処理部106は、メッセージを送信・転送する時の宛先、経路を判断する。経路統計情報記録部107は、リンク品質判定部104で判定された無線リンク301の品質、および、メッセージ処理部105が取得した他ノード101におけるゲートウェイ201までの経路リンク品質(経路統計情報)が統合された経路統計情報を記録する。経路テーブル記録部108は、メッセージを宛先(ゲートウェイ201)まで送信するための次ホップと宛先までのホップ数を記録する。
ここで、各記録部の構成について説明する。図3は、本実施の形態のノード101−a〜101−kがそれぞれの経路統計情報記録部107に保持する経路統計情報を示す図である。経路統計情報には、各ノード101からゲートウェイ201までの経路上に存在する無線リンク301の品質レベルの統計数が記載される。例えば、ノード101−gでは、ゲートウェイ201までの経路上に、品質レベルAの無線リンク301が1つ、品質レベルBの無線リンク301が1つ、品質レベルCの無線リンク301が1つ、あることを示している。テンポラリ領域(tmp)は、他のノード101から受信した経路統計情報を一時的に保持しておく領域である。なお、図3では、品質レベルが4つ(A,B,C,D)の場合について説明したが、一例であり、これに限定するものではない。
また、図4は、本実施の形態のノード101−a〜101−kがそれぞれ経路テーブル記録部108に保持する経路テーブルを示す図である。経路テーブルには、各ノード101からゲートウェイ201までのホップ数、およびゲートウェイ201に向けてメッセージを送信する場合の次ホップノード101が記載されている。
つぎに、ゲートウェイ201の構成について説明する。図5は、ゲートウェイ201の構成例を示す図である。ゲートウェイ201は、アンテナ部202と、無線通信部203と、メッセージ処理部204と、下りルーティング処理部205と、データベース206と、下り経路テーブル記録部207と、を備える。
アンテナ部202は、無線リンク301を介してノード101と接続し、信号・メッセージを送受信する。無線通信部203は、アンテナ部202で受信したノード101からの信号・メッセージを復調し、また、自身から送信する信号・メッセージを変調する。メッセージ処理部204は、受信したメッセージに基づいて実行すべき処理を判断する。下りルーティング処理部205は、送信するメッセージの宛先ノード101および経由ノード101を決定する。データベース206は、各ノード101から収集したデータを保持する。下り経路テーブル記録部207は、送信するメッセージの宛先ノード101までの経路を保持する。
つづいて、無線メッシュネットワーク1000において、新たにノード101−nが参入する場合のノード101およびゲートウェイ201の動作について説明する。図6は、無線メッシュネットワーク1000にノード101−nが参入するときの(参入)ノード101−nの動作を示す図である。まず、ノード101−nは、無線メッシュネットワーク1000に参入する際、メッセージ処理部105で参入要求メッセージを作成し、無線通信部103、アンテナ部102経由で、隣接ノード101に対して参入要求メッセージをブロードキャスト送信する。なお、ノード101−nの構成は、他のノード101−a〜101−kの構成と同様である。
図7は、無線メッシュネットワーク1000に(参入)ノード101−nが参入するときの(既参入)ノード101−i,101−j,101−kの動作を示す図である。ノード101−i,101−j,101−kでは、アンテナ部102、無線通信部103経由で参入要求メッセージを受信すると、メッセージ処理部105が、参入要求メッセージに対する応答である参入応答メッセージを作成することを判断すると、経路統計情報記録部107から自身の経路統計情報を取得し、また、経路テーブル記録部108からホップ数の情報を取得し、経路統計情報およびゲートウェイ201から自身までのホップ数の情報を含む参入応答メッセージを作成し、無線通信部103、アンテナ部102経由で、ノード101−nに対して参入応答メッセージをユニキャスト送信する。
ノード101−nでは、アンテナ部102、無線通信部103経由でノード101−i,101−j,101−kからの参入応答メッセージを受信すると、メッセージ処理部105等において、図8に示すフローチャートに従って参入応答メッセージを処理する。図8は、無線メッシュネットワーク1000に参入するノード101−nにおける経路統計情報記録部107および経路テーブル記録部108の登録処理を示すフローチャートである。
ノード101−nでは、リンク品質判定部104が、参入応答メッセージを受信した際のリンク品質を判定し、ランク分けする(ステップS101)。具体的に、図7に示す例では、ノード101−iとの間の無線リンク301の品質レベルはC、ノード101−jとの間の無線リンク301の品質レベルはB、ノード101−kとの間の無線リンク301の品質レベルはAとなる。
メッセージ処理部105は、参入応答メッセージに記載されている当該参入応答メッセージ送信元の隣接ノード101の経路統計情報を取得し、取得した経路統計情報とリンク品質判定部104でランク分けされた品質レベルの情報を統合する(ステップS102)。統合して生成された経路統計情報を、当該参入応答メッセージ送信元の隣接ノード101についての経路統計情報とする。
メッセージ処理部105は、経路テーブル記録部108を参照する(ステップS103)。何も経路が登録されていない場合(ステップS103:Yes)、メッセージ処理部105は、参入応答メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該参入応答メッセージ送信元の隣接ノード101をparentとして、経路テーブル記録部108に登録する。また、メッセージ処理部105は、当該参入応答メッセージ送信元の隣接ノード101について生成した経路統計情報を、経路統計情報記録部107に登録する(ステップS104)。
一方、経路テーブル記録部108に既に経路が登録されている場合(ステップS103:No)、メッセージ処理部105は、経路統計情報記録部107に記録されている現在の経路統計情報を取得し(ステップS105)、参入応答メッセージ送信元の隣接ノード101について生成した経路統計情報と現在の(既存)経路統計情報の各品質レベルの数を比較する(ステップS106〜S113)。
まず、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルDの数が既存経路統計情報の品質レベルDの数より少ないかどうかを確認する(ステップS106)。参入応答メッセージから生成した経路統計情報の方が品質レベルDの数が少ない場合(ステップS106:Yes)、メッセージ処理部105は、参入応答メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該参入応答メッセージ送信元の隣接ノード101をparentとして、経路テーブル記録部108に登録し、参入応答メッセージから生成した経路統計情報を、経路統計情報記録部107に登録する(ステップS104)。
参入応答メッセージから生成した経路統計情報の品質レベルDの数が既存経路統計情報の品質レベルDの数以上の場合(ステップS106:No)、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルDの数と既存経路統計情報の品質レベルDの数が同数かどうかを確認する(ステップS107)。
参入応答メッセージから生成した経路統計情報の品質レベルDの数と既存経路統計情報の品質レベルDの数が同数の場合(ステップS107:Yes)、つぎに、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルCの数が既存経路統計情報の品質レベルCの数より少ないかどうかを確認する(ステップS108)。参入応答メッセージから生成した経路統計情報の方が品質レベルCの数が少ない場合(ステップS108:Yes)、メッセージ処理部105は、参入応答メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該参入応答メッセージ送信元の隣接ノード101をparentとして、経路テーブル記録部108に登録し、参入応答メッセージから生成した経路統計情報を、経路統計情報記録部107に登録する(ステップS104)。
なお、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルDの数と既存経路統計情報の品質レベルDの数が同数でない場合、すなわち、参入応答メッセージから生成した経路統計情報の方が品質レベルDの数が多い場合(ステップS107:No)、処理を終了する。
参入応答メッセージから生成した経路統計情報の品質レベルCの数が既存経路統計情報の品質レベルCの数以上の場合(ステップS108:No)、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルCの数と既存経路統計情報の品質レベルCの数が同数かどうかを確認する(ステップS109)。
参入応答メッセージから生成した経路統計情報の品質レベルCの数と既存経路統計情報の品質レベルCの数が同数の場合(ステップS109:Yes)、つぎに、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計が既存経路統計情報の品質レベルAの数と品質レベルBの数の合計より少ないかどうかを確認する(ステップS110)。参入応答メッセージから生成した経路統計情報の方が品質レベルAの数と品質レベルBの数の合計が少ない場合(ステップS110:Yes)、メッセージ処理部105は、参入応答メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該参入応答メッセージ送信元の隣接ノード101をparentとして、経路テーブル記録部108に登録し、参入応答メッセージから生成した経路統計情報を、経路統計情報記録部107に登録する(ステップS104)。
なお、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルCの数と既存経路統計情報の品質レベルCの数が同数でない場合、すなわち、参入応答メッセージから生成した経路統計情報の方が品質レベルCの数が多い場合(ステップS109:No)、処理を終了する。
参入応答メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計が既存経路統計情報の品質レベルAの数と品質レベルBの数の合計以上の場合(ステップS110:No)、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計と既存経路統計情報の品質レベルAの数と品質レベルBの数の合計が同数かどうかを確認する(ステップS111)。
参入応答メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計と既存経路統計情報の品質レベルAの数と品質レベルBの数の合計が同数の場合(ステップS111:Yes)、つぎに、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルAの数が既存経路統計情報の品質レベルAの数より多いかどうかを確認する(ステップS112)。参入応答メッセージから生成した経路統計情報の方が品質レベルAの数が多い場合(ステップS112:Yes)、メッセージ処理部105は、参入応答メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該参入応答メッセージ送信元の隣接ノード101をparentとして、経路テーブル記録部108に登録し、参入応答メッセージから生成した経路統計情報を、経路統計情報記録部107に登録する(ステップS104)。
なお、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計と既存経路統計情報の品質レベルAの数と品質レベルBの数の合計が同数でない場合、すなわち、参入応答メッセージから生成した経路統計情報の方が品質レベルAの数と品質レベルBの数の合計が多い場合(ステップS111:No)、処理を終了する。
参入応答メッセージから生成した経路統計情報の品質レベルAの数が既存経路統計情報の品質レベルAの数以下の場合(ステップS112:No)、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルAの数と既存経路統計情報の品質レベルAの数が同数かどうかを確認し、また、経路テーブル記録部108に登録されている受信電力レベルRSSI(Received Signal Strength Indication)と参入応答メッセージ受信時の受信電力レベルRSSIを比較する(ステップS113)。
参入応答メッセージから生成した経路統計情報の品質レベルAの数と既存経路統計情報の品質レベルAの数が同数であって、経路テーブル記録部108に登録されている受信電力レベルRSSIと参入応答メッセージ受信時の受信電力レベルRSSIを比較した結果、参入応答メッセージ受信時の電力レベルRSSIの方が大きい場合(ステップS113:Yes)、メッセージ処理部105は、参入応答メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該参入応答メッセージ送信元の隣接ノード101をparentとして、経路テーブル記録部108に登録し、参入応答メッセージから生成した経路統計情報を、経路統計情報記録部107に登録する(ステップS104)。
なお、メッセージ処理部105は、参入応答メッセージから生成した経路統計情報の品質レベルAの数と既存経路統計情報の品質レベルAの数が同数でない場合、すなわち、参入応答メッセージから生成した経路統計情報の方が品質レベルAの数が少ない場合、または/および、参入応答メッセージ受信時の電力レベルRSSIが経路テーブル記録部108に登録されている受信電力レベルRSSI以下の場合(ステップS113:No)、処理を終了する。
ノード101−nは、上記処理(ステップS101〜S113)を、参入応答メッセージを受信した数だけ繰り返し実行し、自身が参入要求メッセージを送信してから一定時間経過後、参入応答メッセージの受付を締め切り、その時に経路テーブル記録部108に記載されているparentを無線メッシュネットワーク1000の上り次ホップノード101とする。そして、ノード101−nは、ゲートウェイ201宛の登録要求メッセージを、経路テーブル記録部108に記載されている上り次ホップノード101に対してユニキャスト送信する。
図7に示す無線メッシュネットワーク1000のノード101−nにおいて、ノード101−iから受信した参入応答メッセージの品質レベルはC、参入応答メッセージ中の統計経路情報は品質レベルA:2、品質レベルB:1であり、ノード101−jから受信した参入応答メッセージの品質レベルはB、参入応答メッセージ中の統計経路情報は品質レベルA:2、品質レベルB:1であり、ノード101−kから受信した参入応答メッセージの品質レベルはA、参入応答メッセージ中の統計経路情報は品質レベルA:2、品質レベルC:1である。ノード101−nは、ノード101−i,101−j,101−kから受信した参入応答メッセージについて図8に示す上記処理(ステップS101〜S113)を繰り返し実行すると、次ホップノード101としてノード101−jを選択することになる。
図9は、次ホップノードとして(既参入)ノード101−jを選択した(参入)ノード101−nが記憶する経路統計情報記録部107および経路テーブル記録部108の内容を示す図である。ノード101−nにおいて、経路統計情報記録部107には、ノード101−jからの参入応答メッセージから取得した統計経路情報に対して自身とノード101−j間の品質レベルBの情報を追加した品質レベルA:2、品質レベルB:2という統計経路情報が記録されており、また、経路テーブル記録部108には、ノード101−jからの参入応答メッセージから取得したホップ数に1を加算してホップ数を4とし、ノード101−jをparentとした経路テーブルが記録されている。このように、ノード101−nは、ノード101−jを上りの次ホップノード101として選択することで、品質ランクA,Bの無線リンク301のみで経路構築が可能となる。
図10は、無線メッシュネットワーク1000に(参入)ノード101−nが参入するときノード101−nからゲートウェイ201宛の登録要求メッセージを送信する動作を示す図である。ノード101−nでは、ルーティング処理部106が、経路テーブル記録部108に記録されているparentのノード101−jの情報を取得し、メッセージ処理部105が、ゲートウェイ201宛の参入登録メッセージを生成し、無線通信部103、アンテナ部102経由でノード101−jに対してユニキャスト送信する。
ノード101−jでは、メッセージ処理部105が、ノード101−nから受信した登録要求メッセージがゲートウェイ201宛であることを確認すると、登録要求メッセージに記載されているソースルートに自身のノードIDを追記し、ルーティング処理部106が取得した自身の経路テーブル記録部108に記録されているparentのノード101−eに対して、無線通信部103、アンテナ部102経由で登録要求メッセージを転送する。
ノード101−eでは、メッセージ処理部105が、ノード101−jから受信した登録要求メッセージがゲートウェイ201宛であることを確認すると、登録要求メッセージに記載されているソースルートに自身のノードIDを追記し、ルーティング処理部106が取得した自身の経路テーブル記録部108に記録されているparentのノード101−bに対して、無線通信部103、アンテナ部102経由で登録要求メッセージを転送する。
ノード101−bでは、メッセージ処理部105が、ノード101−eから受信した登録要求メッセージがゲートウェイ201宛であることを確認すると、登録要求メッセージに記載されているソースルートに自身のノードIDを追記し、ルーティング処理部106が取得した自身の経路テーブル記録部108に記録されているparentのゲートウェイ201に対して、無線通信部103、アンテナ部102経由で登録要求メッセージを転送する。
ゲートウェイ201では、ノード101−nからの登録要求メッセージを受信すると、メッセージ処理部204が、自身の下り経路テーブル記録部207にノード101−nを登録し、さらに、当該登録要求メッセージに記載されているソースルートに基づいて下り経路テーブルを更新する。
図11は、無線メッシュネットワーク1000にノード101−nが参入するときにゲートウェイ201がノード101−n宛に登録応答メッセージを送信する動作を示す図である。ゲートウェイ201がノード101−n宛の登録応答メッセージを送信し、無線メッシュネットワーク1000への参入を許可する様子を示すものである。ゲートウェイ201では、下りルーティング処理部205が、自身の下り経路テーブル記録部207の内容に基づいてノード101−nまでのホップするノード101を指定したソースルートを作成し、メッセージ処理部204が、ソースルートを記載した登録応答メッセージを作成し、ノード101−bに対して、無線通信部203、アンテナ部202経由で当該登録応答メッセージをユニキャスト送信する。
登録応答メッセージを受信したノード101−bは、登録応答メッセージに記載されているソースルートを参照し、ノード101−eに登録応答メッセージを転送する。
登録応答メッセージを受信したノード101−eは、登録応答メッセージに記載されているソースルートを参照し、ノード101−jに登録応答メッセージを転送する。
登録応答メッセージを受信したノード101−jは、登録応答メッセージに記載されているソースルートを参照し、ノード101−nに登録応答メッセージを転送する。
ノード101−nは、登録応答メッセージを受信すると、ゲートウェイ201に自身を登録できたとして参入処理を終了する。
以上説明したように、本実施の形態によれば、無線メッシュネットワークを構成するノードは、ゲートウェイまでの無線リンクの品質レベルをランク分けして経路統計情報として記録し、無線メッシュネットワークへ新規に参入するノードは、参入する際、隣接する各ノードから経路統計情報を取得する。これにより、参入するノードは、隣接ノードとの間の無線リンクの品質だけでなく、送信元から宛先までの無線リンクの状態を経路統計情報として取得することで、無線メッシュネットワーク内での経路全体の無線リンクの品質を考慮した経路を選択できることから、経路全体において所望する通信品質を満たす経路を選択することができる。
なお、本実施の形態では、参入するノード101が、図8のフローチャートの処理に基づいて経路を選択したが、これに限定するものではなく、単に、複数ある品質レベルのうち品質レベルの低い方の無線リンクが少ないものを選択してもよいし、複数ある品質レベルのうち品質レベルの高い方の無線リンクが多いものを選択してもよい。
また、本実施の形態では、経路のランク決定に受信時のRSSIを用いたが、BER(Bit Error Rate)、PER(Packet Error Rate)、メッセージの再送回数等、その他の指標を用いてもよい。また、これらの指標を2つ以上組み合わせて用いてもよい。
実施の形態2.
実施の形態1では、ノード101が無線メッシュネットワーク1000に参入する際に、参入ノード101が、隣接ノード101からゲートウェイ201までの経路統計情報を取得することで、経路全体のリンク品質を考慮して経路選択を実施した。本実施の形態では、ゲートウェイ201から既参入ノード101を探索する際においても、経路全体のリンク品質を考慮した経路探索を行う。実施の形態1と異なる部分について説明する。
図12は、本実施の形態の無線メッシュネットワークの構成例を示す図である。無線メッシュネットワーク1001は、複数のノード101−a〜101−fと、ゲートウェイ201と、から構成されており、各ノード101間およびゲートウェイ201とノード101との間は、無線リンク301−a〜301−fによって接続されている。ここでは、ノード101−a〜101−fは、自律的にネットワークを構成する。なお、ノード101−a〜101−fおよびゲートウェイ201の構成は実施の形態1と同様である。
図13は、本実施の形態のノード101−a〜101−fがそれぞれの経路統計情報記録部107に保持する経路統計情報を示す図である。フォーマットは実施の形態1と同様である。
つづいて、無線メッシュネットワーク1001において、ゲートウェイ201が経路探索を行う場合のノード101およびゲートウェイ201の動作について説明する。無線メッシュネットワーク1001では、周辺環境の変化によって無線リンク301がリンクエラーになる場合がある。ゲートウェイ201は、従来と同様、各ノード101からのリンクエラー報告、または定期的に収集しているデータが未到達になったことから、ノード101のリンクエラーを検出することができる。ここでは、ゲートウェイ201が、ノード101−eへの無線リンク301−eのリンクエラーを検出した場合について説明する。
ゲートウェイ201では、ノード101−eのリンクエラーを検出すると、メッセージ処理部204が、下り経路テーブル記録部207の当該ノード接続情報をリンクエラーに更新し、下り経路探索メッセージを作成して、無線通信部203、アンテナ部202経由で、下り経路探索メッセージをブロードキャスト送信する。
ノード101−a,101−b,101−dでは、アンテナ部102、無線通信部103経由でゲートウェイ201からの下り経路探索メッセージを受信すると、メッセージ処理部105等において、図14に示すフローチャートに従って下り経路探索メッセージを処理する。図14は、無線メッシュネットワーク1001のノード101−a〜101−fにおける経路統計情報記録部107および経路テーブル記録部108の登録処理を示すフローチャートである。
下り経路探索メッセージを受信したノード101では、リンク品質判定部104が、下り経路探索メッセージを受信した際のリンク品質を判定し、ランク分けする(ステップS201)。具体的に、図12に示す例では、ノード101−aにおいて無線リンク301−aの品質レベルはA、ノード101−bにおいて無線リンク301−bの品質レベルはA、ノード101−dにおいて無線リンク301−dの品質レベルはCとなる。
メッセージ処理部105は、下り経路探索メッセージが他のノード101から転送されてきた場合には、下り経路探索メッセージに記載されている当該下り経路探索メッセージ転送元の隣接ノード101の経路統計情報を取得し、取得した経路統計情報とリンク品質判定部104でランク分けされた品質レベルの情報を統合する(ステップS202)。統合して生成された経路統計情報を、当該下り経路探索メッセージ転送元の隣接ノード101についての経路統計情報とする。なお、ゲートウェイ201から直接下り経路探索メッセージを受信したノード101−a,101−b,101−dについては、受信した下り経路探索メッセージに経路統計情報は含まれていないので、リンク品質判定部104でランク分けされた品質レベルの情報を経路統計情報とする。
メッセージ処理部105は、経路統計情報記録部107のテンポラリ領域を参照する(ステップS203)。何も情報が登録されていない場合(ステップS203:Yes)、メッセージ処理部105は、下り経路探索メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101をparentとして、経路テーブル記録部108に登録する。また、メッセージ処理部105は、当該下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101について生成した経路統計情報を、経路統計情報記録部107のテンポラリ領域に登録する(ステップS204)。
一方、経路統計情報記録部107のテンポラリ領域に既に情報が登録されている場合(ステップS203:No)、メッセージ処理部105は、経路統計情報記録部107のテンポラリ領域に記録されている経路統計情報を取得し(ステップS205)、下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101について生成した経路統計情報と現在の(既存)経路統計情報のテンポラリ領域に記録されている各品質レベルの数を比較する(ステップS206〜S213)。
まず、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルDの数が既存経路統計情報のテンポラリ領域の品質レベルDの数より少ないかどうかを確認する(ステップS206)。下り経路探索メッセージから生成した経路統計情報の方が品質レベルDの数が少ない場合(ステップS206:Yes)、メッセージ処理部105は、下り経路探索メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101をparentとして、経路テーブル記録部108に登録し、当該下り経路探索メッセージから生成した経路統計情報を、経路統計情報記録部107のテンポラリ領域に登録する(ステップS204)。
下り経路探索メッセージから生成した経路統計情報の品質レベルDの数が既存経路統計情報のテンポラリ領域の品質レベルDの数以上の場合(ステップS206:No)、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルDの数と既存経路統計情報のテンポラリ領域の品質レベルDの数が同数かどうかを確認する(ステップS207)。
下り経路探索メッセージから生成した経路統計情報の品質レベルDの数と既存経路統計情報のテンポラリ領域の品質レベルDの数が同数の場合(ステップS207:Yes)、つぎに、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルCの数が既存経路統計情報のテンポラリ領域の品質レベルCの数より少ないかどうかを確認する(ステップS208)。下り経路探索メッセージから生成した経路統計情報の方が品質レベルCの数が少ない場合(ステップS208:Yes)、メッセージ処理部105は、下り経路探索メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101をparentとして、経路テーブル記録部108に登録し、当該下り経路探索メッセージから生成した経路統計情報を、経路統計情報記録部107のテンポラリ領域に登録する(ステップS204)。
なお、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルDの数と既存経路統計情報のテンポラリ領域の品質レベルDの数が同数でない場合、すなわち、下り経路探索メッセージから生成した経路統計情報の方が品質レベルDの数が多い場合(ステップS207:No)、処理を終了する。
下り経路探索メッセージから生成した経路統計情報の品質レベルCの数が既存経路統計情報のテンポラリ領域の品質レベルCの数以上の場合(ステップS208:No)、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルCの数と既存経路統計情報のテンポラリ領域の品質レベルCの数が同数かどうかを確認する(ステップS209)。
下り経路探索メッセージから生成した経路統計情報の品質レベルCの数と既存経路統計情報のテンポラリ領域の品質レベルCの数が同数の場合(ステップS209:Yes)、つぎに、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計が既存経路統計情報のテンポラリ領域の品質レベルAの数と品質レベルBの数の合計より少ないかどうかを確認する(ステップS210)。下り経路探索メッセージから生成した経路統計情報の方が品質レベルAの数と品質レベルBの数の合計が少ない場合(ステップS210:Yes)、メッセージ処理部105は、下り経路探索メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101をparentとして、経路テーブル記録部108に登録し、当該下り経路探索メッセージから生成した経路統計情報を、経路統計情報記録部107のテンポラリ領域に登録する(ステップS204)。
なお、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルCの数と既存経路統計情報のテンポラリ領域の品質レベルCの数が同数でない場合、すなわち、下り経路探索メッセージから生成した経路統計情報の方が品質レベルCの数が多い場合(ステップS209:No)、処理を終了する。
下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計が既存経路統計情報のテンポラリ領域の品質レベルAの数と品質レベルBの数の合計以上の場合(ステップS210:No)、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計と既存経路統計情報のテンポラリ領域の品質レベルAの数と品質レベルBの数の合計が同数かどうかを確認する(ステップS211)。
下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計と既存経路統計情報のテンポラリ領域の品質レベルAの数と品質レベルBの数の合計が同数の場合(ステップS211:Yes)、つぎに、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルAの数が既存経路統計情報のテンポラリ領域の品質レベルAの数より多いかどうかを確認する(ステップS212)。下り経路探索メッセージから生成した経路統計情報の方が品質レベルAの数が多い場合(ステップS212:Yes)、メッセージ処理部105は、下り経路探索メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101をparentとして、経路テーブル記録部108に登録し、当該下り経路探索メッセージから生成した経路統計情報を、経路統計情報記録部107のテンポラリ領域に登録する(ステップS204)。
なお、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と品質レベルBの数の合計と既存経路統計情報のテンポラリ領域の品質レベルAの数と品質レベルBの数の合計が同数でない場合、すなわち、下り経路探索メッセージから生成した経路統計情報の方が品質レベルAの数と品質レベルBの数の合計が多い場合(ステップS211:No)、処理を終了する。
下り経路探索メッセージから生成した経路統計情報の品質レベルAの数が既存経路統計情報のテンポラリ領域の品質レベルAの数以下の場合(ステップS212:No)、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と既存経路統計情報のテンポラリ領域の品質レベルAの数が同数かどうかを確認し、また、経路テーブル記録部108に登録されている受信電力レベルRSSIと下り経路探索メッセージ受信時の受信電力レベルRSSIを比較する(ステップS213)。
下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と既存経路統計情報のテンポラリ領域の品質レベルAの数が同数であって、経路テーブル記録部108に登録されている受信電力レベルRSSIと下り経路探索メッセージ受信時の受信電力レベルRSSIを比較した結果、下り経路探索メッセージ受信時の電力レベルRSSIの方が大きい場合(ステップS213:Yes)、メッセージ処理部105は、下り経路探索メッセージに含まれるゲートウェイ201までのホップ数に1を加算して自身からゲートウェイ201までのホップ数とし、当該下り経路探索メッセージ送信元の隣接ゲートウェイ201または隣接ノード101をparentとして、経路テーブル記録部108に登録し、当該下り経路探索メッセージから生成した経路統計情報を、経路統計情報記録部107のテンポラリ領域に登録する(ステップS204)。
なお、メッセージ処理部105は、下り経路探索メッセージから生成した経路統計情報の品質レベルAの数と既存経路統計情報のテンポラリ領域の品質レベルAの数が同数でない場合、すなわち、下り経路探索メッセージから生成した経路統計情報の方が品質レベルAの数が少ない場合、または/および、下り経路探索メッセージ受信時の電力レベルRSSIが経路テーブル記録部108に登録されている受信電力レベルRSSI以下の場合(ステップS213:No)、処理を終了する。
各ノード101は、上記処理(ステップS201〜S213)を、下り経路探索メッセージを受信した数だけ繰り返し実行し、最初の下り経路探索メッセージを受信してから一定時間経過後、下り経路探索メッセージの受付を締め切り、テンポラリ領域の情報を、その時、経路統計情報記録部107のテンポラリ領域に登録されている情報で確定する。そして、各ノード101では、メッセージ処理部105が、経路統計情報記録部107のテンポラリ領域に登録されている経路統計情報に対応する受信した下り経路探索メッセージに、当該下り経路探索メッセージから作成した経路統計情報を追記し、また、ソースルートに自身のノードIDを追記してブロードキャスト転送する。
図15は、無線メッシュネットワーク1001においてゲートウェイ201から下り経路探索メッセージが転送されていく様子を示す図である。ノード101−a,101−b,101−dでは、最初の下り経路探索メッセージを受信してから一定時間が経過すると、下り経路探索メッセージの受付を締め切り、下り経路探索メッセージに同メッセージから作成した経路統計情報を追記し、また、ソースルートに自身のノードIDを追記してブロードキャスト転送する。
ノード101−c〜101−fも上記処理(ステップS201〜S213)と同様の動作を行う。これにより、無線メッシュネットワーク1001では、ゲートウェイ201からの下り経路探索メッセージをフラッディングし、リンクエラーが発生しているノード101−eまでの下り経路探索メッセージを到達させることが可能となる。
ノード101−eは、自身をターゲットとする下り経路探索メッセージを受信すると、上記のノード101と同様、図14に示すフローチャートの処理を行う。
図16は、本実施の形態のノード101−a〜101−fがそれぞれの経路統計情報記録部107に保持する経路統計情報を示す図である。下り経路探索メッセージのフラッディングを実施した後の各ノード101がそれぞれの経路統計情報記録部107に保持する経路統計情報を示すものである。図13の経路統計情報と比較して、それぞれのテンポラリ領域(tmp)に、受信した下り経路探索メッセージに基づく無線リンクの品質情報が追加されていることが分かる。
さらに、ノード101−eでは、メッセージ処理部105が、最初に下り経路探索メッセージを受信してから一定時間が経過すると、経路統計情報記録部107のテンポラリ領域の情報をゲートウェイ201への経路情報として登録し、下り経路探索メッセージに記載されているソースルート(ノード101−b/101−d/ノード101−e)を記載した下り経路探索応答メッセージを作成し、ゲートウェイ201を宛先とする下り経路探索応答メッセージを、無線通信部103、アンテナ部102経由でノード101−dに対してユニキャスト送信する。図17は、無線メッシュネットワーク1001においてノード101−eから下り経路探索応答メッセージが転送されていく様子を示す図である。ここでは、ノード101−eとノード101−fとの間が無線リンク301−eによって接続され、ノード101−dとノード101−bとの間が無線リンク301−d´によって接続されている。
ノード101−dでは、メッセージ処理部105が、自身がソースルートに記載されている下り経路探索応答メッセージを受信すると、下り経路探索メッセージ受信時に作成した経路統計情報記録部107のテンポラリ領域の情報を経路情報として登録し、ルーティング処理部106が次ホップとして判断したソースルートに記載されている次ホップノード101−bに対して、無線通信部103、アンテナ部102経由で下り経路探索応答メッセージを転送する。
ノード101−bでは、メッセージ処理部105が、自身がソースルートに記載されている下り経路探索応答メッセージを受信すると、下り経路探索メッセージ受信時に作成した経路統計情報記録部107のテンポラリ領域の情報を経路情報として登録し、ルーティング処理部106が次ホップとして判断した宛先のゲートウェイ201に対して、無線通信部103、アンテナ部102経由で下り経路探索応答メッセージを転送する。
下り経路探索応答メッセージを受信したゲートウェイ201では、メッセージ処理部204が、下り経路探索応答メッセージに記載されているソースルートを参照し、ノード101−eまでの経路情報を取得し、下り経路テーブル記録部207を更新する。
なお、下り経路探索応答メッセージを受信していないノード101−a,101−c,101−fでは、下り経路探索メッセージを転送してから一定時間経過後、経路統計情報記録部107からテンポラリ領域の情報を削除する。図18は、本実施の形態のノード101−a〜101−fがそれぞれの経路統計情報記録部107に保持する経路統計情報を示す図である。図16と比較して、ノード101−b,101−d,101−eは、テンポラリ情報に基づいて経路統計情報を更新し、ノード101−a,101−c,101−fは、テンポラリ領域の情報を削除した様子を示すものである。図17に示すように、下り経路探索応答メッセージの送信元ノード101−eおよび転送するノード101−b,101−dについては、テンポラリ情報に基づいて経路統計情報を更新する。
以上説明したように、本実施の形態によれば、無線メッシュネットワークを構成するゲートウェイは、既に無線メッシュネットワークを構成しているノードについてリンクエラーを検出した場合、下り経路探索メッセージをブロードキャスト送信し、下り経路探索メッセージを受信したノードが、経路統計情報を含めて転送していくこととした。これにより、下り経路探索メッセージの宛先となるノードでは、実施の形態1と同様、無線メッシュネットワーク内での経路全体の無線リンクの品質を考慮した経路を選択できることから、経路全体において所望する通信品質を満たす経路を選択することができる。
なお、本実施の形態では、参入するノードが、図14のフローチャートの処理に基づいて経路を選択したが、これに限定するものではなく、単に、複数ある品質レベルのうち品質レベルの低い方の無線リンクが少ないものを選択してもよいし、複数ある品質レベルのうち品質レベルの高い方の無線リンクが多いものを選択してもよい。
実施の形態3.
実施の形態1,2では、ノード101またはゲートウェイ201から経路を構築・探索する際に経路全体のリンク品質を考慮する方法について説明した。本実施の形態では、ゲートウェイ201からのメッセージに経路統計情報を付加することで、ノード101の保持する経路テーブルを更新する。実施の形態1,2と異なる部分について説明する。
図19は、本実施の形態の無線メッシュネットワークの構成例を示す図である。無線メッシュネットワーク1002は、複数のノード101−a〜101−fと、ゲートウェイ201と、から構成されており、各ノード101間およびゲートウェイ201とノード101との間は、無線リンク301−a〜301−fによって接続されている。ここでは、ノード101−a〜101−fは、自律的にネットワークを構成する。なお、ノード101−a〜101−fおよびゲートウェイ201の構成は実施の形態1,2と同様である。
図19において、ノード101−bは、ゲートウェイ201をparentとしていたが、リンクエラーが発生したので、実施の形態2の手法に基づいて、経路テーブル記録部108に記録されているparentの情報をゲートウェイ201からノード101−aに変更し、経路統計情報記録部107に記録されている経路統計情報も更新する。図20は、リンクエラー発生後にノード101−bがparentを変更した後の無線メッシュネットワークの状態を示すものである。ノード101−bのparentがゲートウェイ201からノード101−aに変更されていることが分かる。ノード101−bとノード101−aとの間は、無線リンク301−b´によって接続されている。
ここで、ノード101−bのparentがゲートウェイ201からノード101−aに変更されたため、ノード101−bよりツリーの下流に存在するノード101−d,101−e,101−fでは、経路テーブル記録部108に記録されているゲートウェイ201までのホップ数および経路統計情報記録部107に記録されている経路統計情報の内容が実際の経路と異なり、不整合が生じることになる。
このような場合に対して、ゲートウェイ201は、ノード101−bの経路が変更になったことを検出すると、ノード101−d,101−e,101−fに対するメッセージに経路統計情報の領域を付加して送信する。
経路統計情報の領域を付加したメッセージを受信した中間ノード101−dは、当該メッセージ受信時のリンク品質を判定し、当該メッセージに記載されている経路統計情報と統合して、経路統計情報記録部107を上書きする。
また、経路統計情報の領域を付加したメッセージを受信した中間ノード101−dは、当該メッセージに記載されているソースルートを辿ることによって、ゲートウェイ201から自身までのホップ数を取得し、自身の経路テーブル記録部108を更新する。
中間ノード101−dは、自身の経路統計情報でメッセージの経路統計情報領域を上書きし、ソースルートに記載されている次ホップノードに対してメッセージを転送する。
上記メッセージの転送をメッセージの宛先ノード101−e,101−fまで繰り返すことで、上流ノード101−bの経路変更によって発生する下流ノード101−d,101−e,101−fの経路テーブルおよび経路統計情報の不整合を是正することができる。
このように、本実施の形態では、ゲートウェイ201からの送信するメッセージに常に経路統計情報を記載することで、無線メッシュネットワーク1002の経路状態を常に最新の状態に保つことが可能になる。
なお、ゲートウェイ201では、無線メッシュネットワーク1002の接続変更を検出した場合のみ、任意のメッセージに経路統計情報を記載して送信するようにしてもよい。これにより、常に経路統計情報を記載する場合と比較して、通常時のメッセージ送信オーバヘッドを削減することができる。
また、実施の形態1〜3では、経路統計情報を、ゲートウェイ201までのリンク品質をランク別して累計した値としていたが、これに限定するものではなく、例えば、ソースルートと組み合わせることでリンク毎の品質、すなわち、各ノードのホップ位置と無線リンクの品質レベルを対応付けた情報を通知してもよい。