(57)【要約】  複数のノードを含む無線マルチホップネットワークの状態を監視する方法は、ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納するパケットを送信し、前記パケットに格納されている監視データよりも悪い監視データが検出される第１のノードにおいて、前記パケットに格納されている監視データを第１のノードで検出された監視データに書き換えると共に、前記パケットに格納されている識別情報を第１のノードを識別する識別情報に書き換え、前記パケットに格納されている識別情報に基づいて、前記パケットの伝播経路上で最も状態または性能の悪いノードを特定する。
2013042210.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを含む無線マルチホップネットワークの状態を監視する無線マルチホップネットワーク監視方法であって、
ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納するパケットを送信し、
前記パケットに格納されている監視データよりも悪い監視データが検出される第１のノードにおいて、前記パケットに格納されている監視データを前記第１のノードで検出された監視データに書き換えると共に、前記パケットに格納されている識別情報を前記第１のノードを識別する識別情報に書き換え、
前記パケットに格納されている識別情報に基づいて、前記パケットの伝播経路上で最も状態または性能の悪いノードを特定する
ことを特徴とする無線マルチホップネットワーク監視方法。
【請求項２】
前記無線マルチホップネットワークに接続されている監視装置に対して前記無線マルチホップネットワーク内で最も上流に位置するノード装置は、前記監視装置宛てに前記パケットを送信し、
前記監視装置は、前記無線マルチホップネットワークを介して受信する前記パケットに格納されている識別情報に基づいて、前記パケットの伝搬経路上で最も状態または性能の悪いノードを特定する
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項３】
前記監視データおよび前記識別情報は、各ノード装置から定期的に送信される、ノードの存在を隣接ノードに通知するためのパケットに格納される
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項４】
前記監視データは、ノード装置における受信電力である
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項５】
前記監視データは、ノード装置における受信電力の時間に対する変化である
ことを特徴とする請求項４に記載の無線マルチホップネットワーク監視方法。
【請求項６】
前記監視データは、ノード装置におけるパケット誤り率である
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項７】
前記監視データは、ノード装置における送信キュー長である
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項８】
前記監視データは、ノード装置の無線帯域使用率である
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項９】
複数のノード装置を含む無線マルチホップネットワークシステムであって、
各ノード装置は、
自ノードの状態または性能を表す監視データを取得する監視データ取得部と、
ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納する監視パケットを受信したときに、前記監視パケットから抽出される第１の監視データおよび前記取得部により取得される第２の監視データを比較する監視データ比較部と、
前記監視データ比較部により前記第１の監視データよりも前記第２の監視データの方が悪いと判定されたときに、前記監視パケットの監視データを前記第２の監視データに書き換えると共に、前記監視パケットの識別情報を自ノードを識別する識別情報に書き換える監視パケット処理部と、
前記監視パケット処理部により処理された監視パケットを送信する送信部と、を有し
前記監視パケットは、１または複数のノード装置を経由して、前記監視パケットの伝播経路上で最も状態または性能の悪いノードを特定する監視装置へ転送される、
ことを特徴とする無線マルチホップネットワークシステム。
【請求項１０】
無線マルチホップネットワークシステムで用いられるノード装置であって、
自ノードの状態または性能を表す監視データを取得する監視データ取得部と、
ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納する監視パケットを受信したときに、前記監視パケットから抽出される第１の監視データおよび前記取得部により取得される第２の監視データを比較する監視データ比較部と、
前記監視データ比較部により前記第１の監視データよりも前記第２の監視データの方が悪いと判定されたときに、前記監視パケットの監視データを前記第２の監視データに書き換えると共に、前記監視パケットの識別情報を自ノードを識別する識別情報に書き換える監視パケット処理部と、
前記監視パケット処理部により処理された監視パケットを送信する送信部と、を有するノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線マルチホップネットワークの状態を監視する方法、および無線マルチホップネットワークシステムに係わる。
【背景技術】
【０００２】
複数のノードを含むネットワークの１つの形態として、各ノード装置が自律的に通信を行うことができる無線マルチホップネットワークが実用化されている。このネットワークにおいては、各ノード装置は、自律的にパケットの経路を選択することができる。すなわち、各ノード装置は、ルータまたはスイッチとして動作する機能を備えている。ここで、各ノード装置は、隣接するノード装置とメッセージ等を送信および受信することにより、周辺のネットワーク構成を認識することができる。したがって、この方式を採用すると、ネットワーク全体を管理する管理装置を設けることなく、ネットワークを構築したい環境にノード装置を配置するだけで、所望のネットワークを構築することができる。また、この方式を採用すると、ノードの追加または削除が容易であり、ネットワーク構成を柔軟に変更することができる。【０００３】
無線マルチホップネットワークに係わる技術として、各無線センサノードがバケツリレー方式でデータパケットを転送させて無線サーバノードへ到達させる方法が提案されている（例えば、特許文献１）。また、他の関連技術として、容易かつ低消費電力で監視および制御を行うことができるマルチホップ無線ネットワークが提案されている（例えば、特許文献２）。さらに他の関連技術として、フラッディング通信の効率化および通信の安定化を図ることが可能な装置および方法が提案されている（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２２３４９７号公報
【特許文献２】特開２００６−２２２６５０号公報
【特許文献３】特開２００９−２２５１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
無線マルチホップネットワークにおいては、あるノードの状態または性能が劣化すると、ネットワーク内の広い領域に渡ってパフォーマンスが低下するおそれがある。例えば、あるノードにおいて輻輳が発生すると、そのノードを通過する経路上でデータ伝送の効率が低下し、場合によってはパケット廃棄が起こることがある。したがって、ユーザまたはネットワーク管理者は、状態の悪いノードを早期に検出することが好ましい。【０００６】
無線マルチホップネットワーク上の各ノードの状態を監視する方法は、例えば、各ノード装置がそれぞれ自ノードの状態（輻輳、受信電力など）を検出し、その検出結果をサーバコンピュータへ送信する手順により実現される。この場合、サーバコンピュータは、すべてのノードから状態情報を収集し、統計処理などを行って状態の悪いノードを発見することができる。ところが、この方法では、ノード数が多い場合、サーバコンピュータの処理量が多く、また、各ノードから受信するデータを格納するために大きなメモリ領域が必要である。さらに、この方法では、各ノードからサーバコンピュータへ状態を通知するためのトラヒックが大きくなってしまう。【０００７】
上述の問題を改善する方法として、例えば、各ノード装置に状態を判定するための閾値を設定し、この閾値よりも状態が悪化したノード装置のみがアラームメッセージを出力する手順が考えられる。ところが、この方法では、閾値の設定が難しい。すなわち、閾値が高すぎると、状態の悪いノードであっても検出されないことがある。反対に、閾値が低すぎると、多数のノードからアラームメッセーが出力され、実際に重大な劣化が生じているノードを特定できないことがある。したがって、状態が劣化しているノードを精度よく検出するためには、サーバコンピュータが無線マルチホップネットワークの状態情報を収集する方式が好ましい。【０００８】
本発明の課題は、無線マルチホップネットワークの状態を監視する方法において、状態または性能が劣化しているノードを特定するために必要な監視データのトラヒック量および監視装置の処理量を削減することである。
【課題を解決するための手段】
【０００９】
本発明の１つの態様の無線マルチホップネットワーク監視方法は、複数のノードを含む無線マルチホップネットワークの状態を監視するために、ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納するパケットを送信し、前記パケットに格納されている監視データよりも悪い監視データが検出される第１のノードにおいて、前記パケットに格納されている監視データを前記第１のノードで検出された監視データに書き換えると共に、前記パケットに格納されている識別情報を前記第１のノードを識別する識別情報に書き換え、前記パケットに格納されている識別情報に基づいて、前記パケットの伝播経路上で最も状態または性能の悪いノードを特定する。
【発明の効果】
【００１０】
上述の態様によれば、無線マルチホップネットワークの状態を監視する方法において、状態または性能が劣化しているノードを特定するために必要な監視データのトラヒック量および監視装置の処理量が削減される。
【図面の簡単な説明】
【００１１】
【図１】無線マルチホップネットワークのノードおよびリンクについて説明する図である。
【図２】ノード装置の構成を示す図である。
【図３】リンクの評価値について説明する図である。
【図４】リンクテーブルの一例を示す図である。
【図５】ルーティングテーブルの一例を示す図である。
【図６】実施形態に係る無線マルチホップネットワークの構成を示す図である。
【図７】監視パケットの一例を示す図である。
【図８】実施形態の監視方法の概要を説明する図である。
【図９】実施形態の監視方法を示すフローチャートである。
【図１０】ノード装置の機能を説明するブロック図である。
【図１１】監視データ比較部および監視パケット処理部の動作を示すフローチャートである。
【図１２】監視データが受信電力である場合の監視データ取得部の動作を示すフローチャートである。
【図１３】Ｈｅｌｌｏパケットの一例を示す図である。
【図１４】Ｈｅｌｌｏパケットを利用して監視データを伝送する方法を説明する図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態の監視方法は、無線マルチホップネットワークの状態を監視する。そこで、まず、実施形態の方法により監視される無線マルチホップネットワークについて簡単に説明する。
【００１３】
図１は、無線マルチホップネットワークのノードおよびリンクについて説明する図である。無線マルチホップネットワークは、図１に示すように、複数の無線通信装置を含む。なお、以下の説明では、各無線通信装置のことを「ノード装置」または単に「ノード」と呼ぶことがある。図１に示す例では、無線マルチホップネットワークは、ノードｎ１〜ｎ１４を有している。
【００１４】
図１において、ノード間を接続する破線は、無線リンクを表す。例えばノードｎ６は、ノードｎ３、ｎ５、ｎ１０、ｎ１１との間に無線リンクを有している。すなわち、ノードｎ６から送信される電波（すなわち、無線信号）は、ノードｎ３、ｎ５、ｎ１０、ｎ１１に到達し、また、ノードｎ３、ｎ５、ｎ１０、ｎ１１からそれぞれ送信される電波は、ノードｎ６に到達する。なお、以下の説明では、無線リンクにより相互に接続される１組のノードは、互いに「隣接」しているものとする。すなわち、ノードｎ３、ｎ５、ｎ１０、ｎ１１は、ノードｎ６に隣接している。換言すれば、ノードｎ３、ｎ５、ｎ１０、ｎ１１は、ノードｎ６の「隣接ノード」である。
【００１５】
各ノード装置は、ノード間の転送経路を確立するために、定期的または必要に応じて、ＨｅｌｌｏパケットやＲＲＥＱ（Route Request）パケットなどの制御パケットをブロードキャストする。
【００１６】
ＨｅｌｌｏパケットやＲＲＥＱパケットなどの制御パケットは、ノードが存在することを他のノードに通知するためにも使用される。例えば、ノード装置ｎ６がＨｅｌｌｏパケットをブロードキャストすると、ノード装置ｎ３、ｎ５、ｎ１０、ｎ１１は、そのＨｅｌｌｏパケットを受信する。そうすると、ノード装置ｎ３、ｎ５、ｎ１０、ｎ１１は、それぞれ、隣接ノードとしてノードｎ６が存在することを認識する。
【００１７】
Ｈｅｌｌｏパケットは、上述したように、各ノードから送信される。したがって、たとえば、ノード装置ｎ３がＨｅｌｌｏパケットを送信すると、ノード装置ｎ１、ｎ２、ｎ６がそれぞれそのＨｅｌｌｏパケットを受信する。このとき、各ノード装置ｎ１、ｎ２、ｎ６は、それぞれ、隣接ノードとしてノードｎ３が存在することを認識する。このようにして、各ノード装置は、自ノードに隣接するノードを認識する。
【００１８】
図２は、ノード装置（すなわち、無線通信装置）の構成を示す図である。ノード装置１は、通信部２、記憶部３、制御部４を有する。通信部２は、アンテナ、送信機、受信機を含み、無線インタフェースを提供する。記憶部３は、例えば半導体メモリであり、制御部４により使用される。また、記憶部３は、不揮発性メモリを含む。制御部４は、プロセッサを含み、ノード装置１の動作を制御する。なお、通信部２、記憶部３、制御部４は、例えばバスにより、互いに接続されている。また、特に図示しないが、ノード装置１は、入力デバイスを接続するための入力インタフェースおよび／または出力デバイスを接続するための出力インタフェースを有するようにしてもよい。
【００１９】
ノード装置１は、リンクテーブル５、ルーティングテーブル６、最上流フラグ格納部７をさらに有する。ここで、リンクテーブル５およびルーティングテーブル６は、記憶部３に形成される。最上流フラグ格納部７は、記憶部３を利用して実現される。さらに、記憶部３には、ノード装置１の機能を記述した制御プログラム８が格納されている。
【００２０】
リンクテーブル５は、リンク情報を格納する。リンク情報は、自ノードと隣接ノードとの間のリンクの品質を表す。なお、リンクテーブル５は、ノード装置が隣接ノードから受信するＨｅｌｌｏパケットの内容に応じて更新される。
【００２１】
ルーティングテーブル６は、経路情報を格納する。経路情報は、宛先ノードにパケットを送信するための転送先隣接ノードを表す。換言すると、経路情報は、パケットの宛先ノードとパケットを中継する隣接ノードとの対応関係を表す。なお、ルーティングテーブル６は、ノード装置が隣接ノードから受信するＨｅｌｌｏパケットの内容に応じて更新される。
【００２２】
最上流フラグ格納部７は、最上流フラグを格納する。最上流フラグは、指定された宛先ノードに対して、ノード装置が無線マルチホップネットワーク内で最も上流に位置するか否かを表す。
【００２３】
図３は、無線マルチホップネットワークのリンクの評価値の一例について説明する図である。なお、図３においては、無線マルチホップネットワークが備える多数のノードの中の一部のノード（Ｇ、Ｘ、Ｙ、Ｚ、Ａ）のみが描かれている。
【００２４】
ノードＧ、Ｘは、それぞれノードＺに隣接している。ノードＸ、Ｙ、Ｚは、それぞれノードＧに隣接している。ノードＧ、Ｚ、Ａは、それぞれノードＸに隣接している。ノードＧ、Ａは、それぞれノードＹに隣接している。ノードＸ、Ｙは、それぞれノードＡに隣接している。なお、「隣接」は、ノード間で相互に所定のレベルよりも強い電波が到達することを表す。
【００２５】
リンク重みは、ノード間の無線リンクの品質または通信コストを表す指標である。この実施形態では、品質の良いリンクのリンク重みは小さく、品質の悪いリンクのリンク重みは大きい。また、ノード間のリンク重みは、１組のリンク評価値に基づいて算出される。例えば、ノードＧからノードＺへ向かうリンクの評価値は「９」であり、ノードＺからノードＧへ向かうリンクの評価値は「１１」である。そして、ノード間のリンク重みは、１組のリンク評価値の平均で表わされる。よって、ノードＧ、Ｚ間のリンク重みは「１０」である。同様に、ノードＸ、Ｚ間のリンク重みは「１００」である。すなわち、このケースは、ノードＸ、Ｚ間のリンクよりも、ノードＧ、Ｚ間のリンクの方が、品質が良いことを表している。
【００２６】
各リンクの品質（すなわち、評価値およびリンク重み）は、例えば、下記の方法で検出される。ここでは、各ノード装置は、それぞれ予め決められた周期でＨｅｌｌｏパケットを繰り返し送信するものとする。この場合、リンクの品質が良好であれば、ノード装置が隣接ノードからＨｅｌｌｏパケットを受信する時間間隔は、ほぼ一定となるはずである。一方、リンクの品質が悪いときは、ノード装置が隣接ノードからＨｅｌｌｏパケットを受信する時間間隔のばらつきが大きくなる。したがって、各ノード装置は、Ｈｅｌｌｏパケットの受信間隔に基づいてリンクの品質を検出することができる。たとえば、図３に示すノードＧは、ノードＺからＨｅｌｌｏパケットを受信する時間間隔をモニタすることにより、ノードＺからノードＧへ向かうリンクの品質を検出できる。
【００２７】
なお、各ノード装置は、他の方法でリンクの品質を検出してもよい。例えば、ノード装置は、隣接ノードから送信されるＨｅｌｌｏパケットの受信レベル（例えば、受信電波強度）に基づいてリンクの品質を検出してもよい。
【００２８】
図４は、リンクテーブル５の一例を示す。なお、図４は、図３に示すノードＧが有するリンクテーブル５を示している。
【００２９】
リンクテーブル５は、隣接ノードとの間のリンクについてのリンク情報を管理する。リンク情報は、「隣接ノード」「往路リンク評価値」「復路リンク評価値」「リンク重み」を含む。「隣接ノード」は、リンクの接続先のノードを識別する。「往路リンク評価値」は、隣接ノードにとっての往路リンクの品質を表す。「復路リンク評価値」は、隣接ノードにとっての復路リンクの品質を表す。「リンク重み」は、「往路リンク評価値」および「復路リンク評価値」の平均を表す。
【００３０】
例えば、図４に示す第１レコードに登録されているリンク情報は、以下の内容を表している。
隣接ノード：Ｚ
往路リンク評価値（ノードＺからノードＧへ向かうリンクの品質）：１１
復路リンク評価値（ノードＧからノードＺへ向かうリンクの品質）：９
リンク重み（ノードＧとノードＺとの間のリンクの品質）：１０
【００３１】
図５は、ルーティングテーブル６の一例を示す。なお、図５は、図３に示すノードＡが有するルーティングテーブル６を示している。
【００３２】
ルーティングテーブル６は、宛先ノード毎に経路情報を管理する。この実施例では、ルーティングテーブル６には、「グローバル宛先（ＧＤ：Global Destination）」「ローカル宛先（ＬＤ：Local Destination）」「経路重み」「リンク重み」および「経路評価値」が登録される。「グローバル宛先」は、パケットの宛先ノードを識別する。よって、「グローバル宛先」を「最終宛先装置」と呼ぶことがある。「ローカル宛先」は、宛先ノードへパケットを送信するための経路上に位置する隣接ノードを表す。
【００３３】
「経路重み」は、「ローカル宛先」から「グローバル宛先」までの経路の通信コストを表す。この実施例では、「経路重み」は、「ローカル宛先」から「グローバル宛先」までの経路上の各リンクのリンク重みの総和を表す。「リンク重み」は、「ローカル宛先」との間のリンク重みを表す。「経路評価値」は、グローバル宛先への経路に係わる総通信コストに相当し、例えば「経路重み」および「リンク重み」の和により算出される。
【００３４】
図５に示すルーティングテーブル６の第１および第２レコードには、グローバル宛先ノードＺについての経路情報が登録されている。第１レコードは、ノードＡからノードＹを経由してノードＺへ至る経路の経路情報を表す。すなわち、第１レコードの「リンク重み」は、ノードＡ、Ｙ間の「リンク重み」を表す。第１レコードの「経路重み」は、ノードＹ、Ｇ間のリンク重み、およびノードＧ、Ｚ間のリンク重みの和を表す。そして、第１レコードの「経路評価値」は、ノードＡからノードＹおよびノードＧを経由してノードＺへ至る経路の品質（通信コスト）を表す。一方、第２レコードは、ノードＡからノードＸを経由してノードＺへ至る経路の経路情報を表す。すなわち、第２レコードの「リンク重み」は、ノードＡ、Ｘ間の「リンク重み」を表す。第２レコードの「経路重み」は、ノードＸ、Ｇ間のリンク重み、およびノードＧ、Ｚ間のリンク重みの和を表す。そして、第２レコードの「経路評価値」は、ノードＡからノードＸおよびノードＧを経由してノードＺへ至る経路の品質を表す。
【００３５】
このように、図３および図５に示す例では、ノード装置Ａは、ノードＺへパケットを送信するための経路として、ローカル宛先ノードＹを経由する経路（以下、経路Ｙ／Ｚ）およびローカル宛先ノードＸを経由する経路（以下、経路Ｘ／Ｚ）を有する。そして、ノード装置ＡがノードＺへパケットを送信または転送する際には、ノード装置Ａは、グローバル宛先がノードＺである経路の中で、評価値が最小の経路を選択する。ここで、図５に示す例では、経路Ｙ／Ｚの評価値が２１であり、経路Ｘ／Ｚの評価値が２４である。したがって、この場合、ノード装置Ａは、ノードＺへパケットを送信する際には、経路Ｙ／Ｚを選択する。すなわち、ノード装置Ａは、ノードＺへパケットを送信するための最適なローカル宛先として、ノードＹを選択する。
【００３６】
同様に、各ノード装置は、受信パケットの「グローバル宛先」に基づいてルーティングテーブル６を参照し、最適なローカル宛先ノードを選択する。これにより、実施形態の無線マルチホップネットワークにおいて、パケットは、最適な経路を介してグローバル宛先まで転送される。
【００３７】
なお、無線環境は、様々な要因により変化し得る。例えば、ノード間に障害物が出現すると、そのノード間のリンクの品質は劣化する。このような状況は、例えば、ビルの建設などに起因して発生する。そして、リンクの品質が変化すると、その周辺のノードにおいて、リンクテーブルおよびルーティングテーブルの内容が更新されるので、送信元ノードから宛先ノードへパケットを転送するための最適な経路が変わることがある。すなわち、無線マルチホップネットワークにおいては、送信元ノードから宛先ノードへパケットを転送するための最適な経路は一定ではなく、様々な要因に起因して変化することがある。
【００３８】
実施形態に係る無線マルチホップネットワークは、各ノード装置が上述のルーティングテーブル６を参照して、自律的にパケットを転送する。
【００３９】
図６は、実施形態に係る無線マルチホップネットワークの構成を示す図である。図６に示す例では、無線マルチホップネットワークは、ノード装置Ａ〜Ｒ、ＧＷを有する。
【００４０】
ノード装置Ａ〜Ｒには、それぞれ、所定のデータを収集するデータ収集デバイスが接続されている。データ収集デバイスは、例えば、温度などを測定するセンサである。なお、ユーザは、所望のデータを収集するためのデータ収集デバイスをノード装置に接続することができる。また、ノード装置Ａ〜Ｒは、それぞれ、データ収集デバイスにより収集されたデータを格納するデータパケットを生成し、そのデータパケットをサーバ１０へ送信する。このとき、各ノード装置Ａ〜Ｒは、例えば、定期的にデータパケットを生成して送信する。
【００４１】
各ノードＡ〜Ｒからサーバ１０へ送信されるデータパケットの宛先アドレスには、ノードＧＷが設定される。そうすると、このデータパケットは、各ノード装置により自律的に転送される。ここで、各ノード装置のルーティングテーブル６には、上述したように、宛先ノードごとに最適な経路を表すルーティング情報が格納されている。よって、各データパケットは、それぞれ最適な経路を介してノードＧＷへ転送される。
【００４２】
なお、図６に示すノード間を接続する実線は、ノードＧＷへの最適な経路を提供するリンクを表している。例えば、宛先アドレスとしてノードＧＷが設定されたパケットがノードＪから送信されると、そのパケットは、ノードＩ、Ｈ、Ｂを経由してノードＧＷへ転送される。
【００４３】
ノード装置ＧＷは、ノード装置Ａ〜Ｒの中の少なくとも１つと接続される。図６に示す例では、ノード装置ＧＷには、ノード装置Ａ、Ｂ、Ｃが接続されている。また、ノード装置ＧＷは、サーバ１０に接続されている。ノード装置ＧＷとサーバ１０は、直接接続されてもよいし、インターネットやキャリアネットワーク等を介して接続されてもよい。そして、ノード装置ＧＷは、ノードＡ〜Ｒから受信するデータパケットをサーバ１０へ送信する。すなわち、ノード装置ＧＷは、ノード装置Ａ〜Ｒとサーバ１０との間のゲートウェイ装置として動作することができる。
【００４４】
サーバ１０は、１または複数のコンピュータを含む。サーバ１０が複数のコンピュータを含むときは、それら複数のコンピュータは、例えば、ＬＡＮ等により互いに接続されている。そして、サーバ１０は、集計サーバ１１および監視サーバ１２を有する。
【００４５】
集計サーバ１１は、各ノードＡ〜Ｒから送信されるデータパケットをノードＧＷを介して受信する。そして、集計サーバ１１は、各データパケットに格納されているデータを取得して集計する。すなわち、集計サーバ１１は、ノードＡ〜Ｒに配置されているデータ収集デバイスにより収集されたデータを集計することができる。
【００４６】
監視サーバ１２は、無線マルチホップネットワークの状態を監視する。この例では、監視サーバ１２は、無線マルチホップネットワークのノードＡ〜Ｒの中で、状態または性能が劣化しているノードを特定する。
【００４７】
監視サーバ１２は、この実施例では、無線マルチホップネットワークから受信する監視パケットに基づいて、状態または性能が劣化しているノードを特定する。ここで、監視パケットは、この実施例では、監視サーバ１２（すなわち、ノードＧＷ）に対して最も上流に位置するノード装置によって生成される。
【００４８】
ノードＧＷに対して最も上流に位置する最上流ノード装置は、ノードＧＷ宛てのパケットを「中継」することはない。したがって、あるノード装置が、一定期間、ノードＧＷ宛てのパケットを中継しなかったときは、そのノード装置は、ノードＧＷに対して最も上流に位置すると判定される。或いは、隣接ノードにおいてノードＧＷに対応するローカル宛先として指定されていないノード装置は、ノードＧＷ宛てのパケットを中継することはないので、このノード装置も、ノードＧＷに対して最も上流に位置していると判定される。なお、各ノード装置がノードＧＷに対して最も上流に位置しているか否かを判定する方法は、特に限定されるものではなく、任意の方法を採用することができる。
【００４９】
各ノード装置は、図２に示すように、最上流フラグ格納部７を有している。最上流フラグ格納部７には、最上流フラグが格納される。最上流フラグは、指定された宛先ノードに対して、ノード装置が最上流に位置するか否かを表す。この実施例では、ノードＧＷに対する最上流フラグが格納される。したがって、各ノード装置は、最上流フラグを参照することにより、自分が監視サーバ１２またはノードＧＷに対して最上流に位置しているか否かを認識できる。
【００５０】
図６に示す例では、ノードＤ、Ｅ、Ｊ、Ｑ、Ｒ、Ｏ、Ｌ、Ｐ、Ｇが監視サーバ１２（すなわち、ノードＧＷ）に対して最も上流に位置する。すなわち、ノード装置Ｄ、Ｅ、Ｊ、Ｑ、Ｒ、Ｏ、Ｌ、Ｐ、Ｇは、それぞれ、定期的に監視パケットを生成して送信する。
【００５１】
なお、図６に示す例では、集計サーバ１１および監視サーバ１２が同じサーバ内に設けられているが、集計サーバ１１および監視サーバ１２は、異なるサーバ内に設けられてもよい。この場合、集計サーバ１１および監視サーバ１２は、異なるノードに接続されるようにしてもよい。
【００５２】
図７は、監視パケットの一例を示す図である。監視パケットは、グローバル宛先、グローバル送信元、ローカル宛先、ローカル送信元、監視データフラグ、最悪ノードＩＤ、最悪ノードデータを含む。なお、監視パケットは、他の情報を含んでもよい。また、特に限定されるものではないが、監視パケットには、所定のヘッダ情報が付与される。
【００５３】
グローバル宛先（ＧＤ：Global Destination）は、監視パケットの最終的な宛先ノードのアドレスを表す。この例では、グローバル宛先は、ノードＧＷである。なお、グローバル宛先は、パケットが無線マルチホップネットワーク内を転送される途中で書き換えられることはない。
【００５４】
グローバル送信元（ＧＳ：Global Source）は、監視パケットを生成したノード装置のアドレスを表す。この例では、グローバル送信元も、パケットが無線マルチホップネットワーク内を転送される途中で書き換えられることはない。
【００５５】
ローカル宛先（ＬＤ：Local Destination）は、パケットの転送先ノードのアドレスを表す。すなわち、ローカル宛先は、グローバル宛先への最適な経路上にある隣接ノードのアドレスを表す。なお、グローバル宛先に対応するローカル宛先は、図５に示すように、ルーティングテーブル６に登録されている。ここで、ノード装置は、受信パケットのローカル宛先により指定されているときは、そのパケットのグローバル宛先を利用してルーティングテーブル６を参照して対応するローカル宛先を取得する。そして、ノード装置は、ルーティングテーブル６から取得したローカル宛先をパケットへ設定して、そのパケットを送信する。すなわち、ローカル宛先は、パケットが無線マルチホップネットワーク内を転送される途中で、経路上のノード装置により書き換えられる。
【００５６】
ローカル送信元（ＬＳ：Local Source）は、パケットの転送元ノードのアドレスを表す。よって、ローカル送信元も、パケットが無線マルチホップネットワーク内を転送される途中で、経路上のノード装置により書き換えられる。
【００５７】
監視データフラグは、パケットが監視データを格納しているか否かを表す。すなわち、監視データフラグは、パケットが監視パケットか否かを表す。監視データフラグには、例えば、１ビットが割り当てられる。この場合、パケットが監視パケットであれば、「監視データフラグ＝１」が設定され、パケットが監視パケットでなければ、「監視データフラグ＝０」が設定される。
【００５８】
最悪ノードＩＤは、監視パケットがノードＧＷへ転送される経路上で、最も状態または性能が悪いノードを識別する。また、最悪ノードデータは、最悪ノードＩＤにより識別されるノードで検出された監視データを表す。すなわち、最悪ノードデータは、監視パケットがノードＧＷへ転送される経路上で、最も悪い状態または性能を表す。
【００５９】
図８は、実施形態の監視方法の概要を説明する図である。ここで、無線マルチホップネットワークの各ノード装置は、自ノードの状態または性能を検出して監視データを取得する機能を備えている。図８に示す例では、各ノード装置は、監視データとして、パケット誤り率（ＰＥＲ：Packet Error Rate）を検出する。
【００６０】
上記無線マルチホップネットワークにおいて、ノードＧＷに対して最上流に位置するノード装置は、それぞれ、定期的に、図７に示す監視パケットを送信する。ここでは、ノードＪが最上流ノードであるものとする。すなわち、図８は、ノード装置Ｊが監視パケットを生成して監視サーバ１２へ送信する実施例を示している。
【００６１】
まず、ノード装置Ｊは、図７に示す監視パケットを生成する。この監視パケットには、以下のようにアドレスが設定される。
グローバル宛先ＧＤ：ノードＧＷ
グローバル送信元ＧＳ：ノードＪ
ローカル宛先ＬＤ：ノードＩ
ローカル送信元ＬＳ：ノードＪ
なお、ローカル宛先は、ノードＪのルーティンングテーブルを参照することで得られる。
【００６２】
監視データフラグには「１」が書き込まれる。また、最悪ノードＩＤには「ノードＪ」が書き込まれる。さらに、最悪ノードデータには、ノード装置Ｊにおいて検出されたパケット誤り率（すなわち、ＰＥＲ＝０．１）が書き込まれる。
【００６３】
そして、ノード装置Ｊは、この監視パケットを送信する。そうすると、この監視パケットは、ノード装置Ｉにより受信される。なお、この監視パケットは、他のノード装置にも到達することがある。ただし、他のノード装置は、監視パケットのローカル宛先がノードＩを指示しているので、その監視パケットを廃棄する。
【００６４】
ノード装置Ｉは、受信した監視パケットから最悪ノードデータを抽出する。すなわち、ノード装置Ｉにおいて、監視パケットから「ＰＥＲ＝０．１」が抽出される。このとき、この最悪ノードデータは、監視パケットの送信元ノード（すなわち、ノードＪ）から現ノード（すなわち、ノードＩ）に至る経路上の各ノード装置（ノード装置Ｉを含まない）のパケット誤り率の最悪値を表している。
【００６５】
続いて、ノード装置Ｉは、監視パケットから抽出したパケット誤り率と、ノード装置Ｉのパケット誤り率とを比較する。この例では、ノード装置Ｉのパケット誤り率は０．２であり、監視パケットから抽出したパケット誤り率よりも悪い。すなわち、ノード装置Ｉのパケット誤り率は、ノード装置Ｊ、Ｉの中で最悪である。この場合、ノード装置Ｉは、監視パケットの最悪ノードデータを、ノード装置Ｉのパケット誤り率に書き換える。また、ノード装置Ｉは、監視パケットの最悪ノードＩＤを、ノード装置Ｉのアドレスに書き換える。この結果、「最悪ノードＩＤ＝Ｉ」および「最悪ＰＥＲ＝０．２」を含む監視パケットが生成される。
【００６６】
ノード装置Ｉは、この監視パケットをノードＧＷへ向けて転送する。このとき、ローカル宛先ＬＤには「ノードＨ」が設定され、ローカル送信元ＬＳには「ノードＩ」が設定される。
【００６７】
ノード装置Ｈは、上述の監視パケットをノードＩから受信する。そして、ノード装置Ｈは、ノード装置Ｉと同様に、受信した監視パケットから最悪ノードデータを抽出する。すなわち、ノード装置Ｈにおいて、監視パケットから「ＰＥＲ＝０．２」が抽出される。このとき、この最悪ノードデータは、監視パケットの送信元ノード（すなわち、ノードＪ）から現ノード（すなわち、ノードＨ）に至る経路上の各ノード装置（ノード装置Ｈを含まない）のパケット誤り率の最悪値を表している。
【００６８】
監視パケットを受信したノード装置Ｈの動作は、ノード装置Ｉと実質的に同じである。すなわち、ノード装置Ｈは、監視パケットから抽出したパケット誤り率と、ノード装置Ｈのパケット誤り率とを比較する。この例では、ノード装置Ｈのパケット誤り率は０．３であり、監視パケットから抽出したパケット誤り率よりも悪い。すなわち、ノード装置Ｈのパケット誤り率は、ノード装置Ｊ、Ｉ、Ｈの中で最悪である。この場合、ノード装置Ｈは、監視パケットの最悪ノードデータを、ノード装置Ｈのパケット誤り率に書き換える。また、ノード装置Ｈは、監視パケットの最悪ノードＩＤを、ノード装置Ｈのアドレスに書き換える。この結果、「最悪ノードＩＤ＝Ｈ」および「最悪ＰＥＲ＝０．３」を含む監視パケットが生成される。
【００６９】
ノード装置Ｈは、ノード装置Ｉと同様に、この監視パケットをノードＧＷへ向けて転送する。このとき、ローカル宛先ＬＤには「ノードＢ」が設定され、ローカル送信元ＬＳには「ノードＨ」が設定される。
【００７０】
ノード装置Ｂは、上述の監視パケットをノードＨから受信する。そして、ノード装置Ｂは、ノード装置Ｈと同様に、受信した監視パケットから最悪ノードデータを抽出する。すなわち、ノード装置Ｂにおいて、監視パケットから「ＰＥＲ＝０．３」が抽出される。このとき、この最悪ノードデータは、監視パケットの送信元ノード（すなわち、ノードＪ）から現ノード（すなわち、ノードＢ）に至る経路上の各ノード装置（ノード装置Ｂを含まない）のパケット誤り率の最悪値を表している。
【００７１】
監視パケットを受信したノード装置Ｂの動作は、ノード装置Ｈと類似している。すなわち、ノード装置Ｂは、監視パケットから抽出したパケット誤り率と、ノード装置Ｂのパケット誤り率とを比較する。ところが、ノード装置Ｂのパケット誤り率は０．２であり、監視パケットから抽出したパケット誤り率よりも良い。すなわち、ノード装置Ｂのパケット誤り率は、ノード装置Ｊ、Ｉ、Ｈ、Ｂの中で最悪ではない。この場合、ノード装置Ｂは、監視パケットの最悪ノードデータを書き換えない。また、ノード装置Ｂは、監視パケットの最悪ノードＩＤも書き換えない。この結果、「最悪ノードＩＤ＝Ｈ」および「最悪ＰＥＲ＝０．３」を含む監視パケットが、ノードＢからノードＧＷへ転送される。
【００７２】
このように、ノード装置Ｊにおいて生成された監視パケットは、ノードＩ、Ｈ、Ｂにより転送されて、ノードＧＷに到達する。このとき、この経路上の各ノード装置は、受信した監視パケットに書き込まれているパケット誤り率よりも自ノードのパケット誤り率の方が悪ければ、その監視パケットに自ノードのパケット誤り率および自ノードのＩＤを書き込む。したがって、監視サーバ１２は、この監視パケットを受信することにより、ノード装置Ｊ、Ｉ、Ｈ、Ｂのパケット誤り率の最悪値、およびその最悪値が検出されたノードを識別するノードＩＤを取得することができる。
【００７３】
なお、各ノード装置がそれぞれ監視パケットを生成して監視サーバへ送信する方法においては、監視サーバが処理すべきデータの量が多くなり、また、ネットワークの監視に係わるトラヒックも多くなる。図８に示す例では、各ノード装置Ｊ、Ｉ、Ｈ、Ｂからそれぞれ監視パケットが送信されるので、監視サーバは、４個の監視パケットを処理する必要がある。
【００７４】
これに対して、実施形態の方法によれば、ノード装置Ｊから監視サーバ１２へ１つの監視パケットを送信することにより、監視サーバ１２は、その経路上の最悪ノードを特定することができる。このとき、最悪ノードをサーチする機能の一部は、無線マルチホップネットワーク上のノード装置により実現される。したがって、実施形態の方法によれば、上述の方法（各ノード装置がそれぞれ監視パケットを監視サーバへ送信する方法）と比較すると、監視サーバ１２が処理すべきデータの量が少なくなり、また、ネットワークの監視に係わるトラヒックも少なくなる。
【００７５】
なお、図８は、ある１つのノード（ノードＪ）から監視パケットが送信されたときの動作を示しているが、監視パケットは、上述したように、各最上流ノードからそれぞれ送信される。例えば、図６に示す無線マルチホップネットワークにおいては、８個の最上流ノード（Ｄ、Ｅ、Ｊ、Ｑ、Ｒ、Ｏ、Ｌ、Ｐ、Ｇ）からそれぞれノードＧＷに向けて監視パケットが送信される。このとき、各監視パケットは、対応する伝搬経路上の最悪ノードおよびその最悪ノードで検出される監視データを監視サーバ１２に通知する。したがって、監視サーバ１２は、各監視パケットが転送されてくる伝搬経路上の最悪ノードおよびその最悪ノードで検出される監視データを認識することができる。例えば、監視サーバ１２は、ノードＰから送信される監視パケットに基づいて、ノードＰ、Ｍ、Ｈ、Ｂの中の最悪ノードおよびその最悪ノードで検出される監視データを認識することができる。
【００７６】
監視サーバ１２は、各経路上の最悪ノードの監視データを集計することにより、無線マルチホップネットワーク内の最も状態または性能の悪いノードを特定することができる。このとき、監視サーバ１２は、無線マルチホップネットワーク内で最も状態または性能の悪い２以上のノードを特定してもよい。
【００７７】
上述のようにして監視サーバ１２によって状態または状態の悪いノードが特定されたときは、ユーザまたはネットワーク管理者は、以下のようにして無線マルチホップネットワークの状態を改善することができる。例えば、ユーザまたはネットワーク管理者は、状態または性能の悪いノードの近傍に新たにノードを配置することができる。この場合、状態または性能の悪いノードにより転送されていたトラフィックの一部が、その新たなノードに割り当てられる。よって、トラフィックのボトルネックが解消される。
【００７８】
図９は、実施形態の監視方法を示すフローチャートである。このフローチャートの処理は、無線マルチホップネットワーク内の１以上のノード装置および監視サーバ１２により実行される。
【００７９】
ステップＳ１において、ノード装置は、監視パケットを送信する。監視パケットは、例えば、監視サーバ１２に対して最も上流に位置するノード装置から送信される。ただし、無線マルチホップネットワーク内の他のノード装置が監視パケットを送信してもよい。
【００８０】
ステップＳ２において、監視パケットの送信元から監視サーバ１２へ至る伝搬経路上のノード装置は、必要に応じて、監視パケットに格納されている最悪ノードＩＤおよび最悪ノードデータを書き換える。すなわち、監視パケットを受信したノード装置の状態または性能が、監視パケットに格納されている最悪ノードデータにより表される状態または性能よりも悪かったときは、その監視パケットの最悪ノードＩＤおよび最悪ノードデータが書き換えられる。したがって、監視パケットに格納されている最悪ノードＩＤおよび最悪ノードデータは、その監視パケットの送信元ノードから現ノードまでの伝搬経路上の最悪ノードおよびその最悪ノードで検出される状態または性能を表す。
【００８１】
そして、ステップＳ３において、監視サーバ１２は、受信した監視パケットに基づいて最悪ノードを特定する。これにより、監視サーバ１２は、監視パケットの送信元ノードからゲートウェイノードＧＷまでの伝搬経路上の最悪ノードを特定することができる。
【００８２】
図１０は、ノード装置の機能を説明するブロック図である。なお、図１０においては、監視パケットを転送する処理に直接的に係わらない機能は、省略されている。
【００８３】
ノード装置１は、図１０に示すように、受信部２１、アドホックルーティング制御部２２、送信部２３、監視データ抽出部２４、監視データ取得部２５、監視データ比較部２６、監視パケット処理部２７を有する。なお、受信部２１、アドホックルーティング制御部２２、送信部２３、監視データ抽出部２４、監視データ取得部２５、監視データ比較部２６、監視パケット処理部２７は、例えば、図２に示す制御部（プロセッサ）４が制御プログラム８を実行することにより実現される。ただし、受信部２１、アドホックルーティング制御部２２、送信部２３、監視データ抽出部２４、監視データ取得部２５、監視データ比較部２６、監視パケット処理部２７の一部は、ハードウェアで実現してもよい。
【００８４】
受信部２１は、隣接ノードから送信されるパケットを受信する。なお、隣接ノードから送信される無線信号は、図２に示す通信部２により復調される。通信部２は、その復調信号からデータ列を再生する。そして、受信部２１は、通信部２により再生されるデータ列からパケットを組み立てる。
【００８５】
また、受信部２１は、受信パケットのローカル宛先をチェックする。そして、受信パケットのローカル宛先がノード装置１を指示していれば、受信部２１は、そのパケットをアドホックルーティング制御部２２へ送る。一方、受信パケットのローカル宛先が他のノード装置を指示していれば、受信部２１は、そのパケットを廃棄する。
【００８６】
アドホックルーティング制御部２２は、受信パケットの監視データフラグをチェックする。受信パケットの監視データフラグが「ゼロ（非監視パケット）」であれば、アドホックルーティング制御部２２は、通常の転送制御を実行する。すなわち、アドホックルーティング制御部２２は、受信パケットのグローバル宛先を用いてルーティングテーブル６を参照し、対応するローカル宛先を取得する。そして、アドホックルーティング制御部２２は、受信パケットのローカル宛先をルーティングテーブル６から取得したローカル宛先に書き換えた後、そのパケットを送信部２３に渡す。
【００８７】
送信部２３は、アドホックルーティング制御部２２から出力されるパケットを一時的に格納する送信キューバッファを有する。そして、送信部２３は、無線マルチホップネットワークの送信権を獲得すると、送信キューバッファの先頭に格納されているパケットを取り出して送信する。なお、送信部２３から出力されるパケットは、通信部２により無線信号に変換され、隣接ノードへ送信される。
【００８８】
受信パケットの監視データフラグが「１（監視パケット）」であれば、アドホックルーティング制御部２２は、受信パケットが監視パケットであると判定する。この場合、アドホックルーティング制御部２２は、受信パケットをいったん保持する。
【００８９】
監視データ抽出部２４は、受信パケットに格納されている監視データを抽出する。この監視データは、図７に示す例では、最悪ノードデータに相当する。なお、監視データは、この実施例では、受信電力、パケット誤り率、送信キュー長、または無線帯域使用率（ビジー時間）を表す。
【００９０】
監視データ取得部２５は、ノード装置１において検出される監視データを取得する。なお、監視データは、後述する受信電力検出部３１、ＰＥＲ検出部３２、送信キュー長検出部３３、またはビジー時間検出部３４により検出される。そして、監視データ取得部２５は、受信電力検出部３１、ＰＥＲ検出部３２、送信キュー長検出部３３、またはビジー時間検出部３４により検出された監視データを取得する。
【００９１】
監視データ比較部２６は、監視データ抽出部２４により監視パケットから抽出された監視データと、監視データ取得部２５により取得されたノード装置１の監視データとを比較する。監視パケット処理部２７は、監視データ比較部２６による比較結果に基づいて、監視パケットを処理する。
【００９２】
図１１は、監視データ比較部２６および監視パケット処理部２７の動作を示すフローチャートである。このフローチャートの処理は、ノード装置１が監視パケットを受信したときに実行される。
【００９３】
ステップＳ１１において、監視データ比較部２６は、変数Ｄ１に、監視データ抽出部２４により監視パケットから抽出された監視データを与える。ステップＳ１２において、監視データ比較部２６は、変数Ｄ２に、監視データ取得部２５により取得されたノード装置１の監視データを与える。ステップＳ１３において、監視データ比較部２６は、変数Ｄ１と変数Ｄ２とを比較する。ここで、監視データが受信電力であるときは、監視データの値が小さいほどノードの状態が悪いことを表す。また、監視データがパケット誤り率、送信キュー長、ビジー時間であるときは、監視データの値が大きいほどノードの状態が悪いことを表す。
【００９４】
監視パケットから抽出された監視データよりもノード装置１において検出された監視データの方が悪いときは（ステップＳ１３：Ｙｅｓ）、監視パケット処理部２７は、ステップＳ１４において、アドホックルーティング制御部２２に保持されている監視パケットの「最悪ノードＩＤ」を更新する。このとき、最悪ノードＩＤには、ノード装置１のアドレスが書き込まれる。また、監視パケット処理部２７は、ステップＳ１５において、上記監視パケットの「最悪ノードデータ」を更新する。このとき、最悪ノードデータには、変数Ｄ２（すなわち、ノード装置１において検出された監視データ）が書き込まれる。
【００９５】
一方、監視パケットから抽出された監視データよりもノード装置１において検出された監視データの方が良い、または両者が同じであるときは（ステップＳ１３：Ｎｏ）、監視パケット処理部２７は、ステップＳ１６において、アドホックルーティング制御部２２に保持されている監視パケットの「最悪ノードデータ」に、変数Ｄ１（すなわち、監視パケットから抽出された監視データ）を書き込む。ただし、変数Ｄ１を書き込むことにより得られる最悪ノードデータは、変数Ｄ１を書き込む前の最悪ノードデータと同じである。したがって、ステップＳ１６は、省略してもよい。
【００９６】
監視パケット処理部２７は、図１１のフローチャートに示すように、監視データ比較部２６による比較結果に基づいて、アドホックルーティング制御部２２に保持されている監視パケットを処理する。そうすると、アドホックルーティング制御部２２は、その監視パケットのルーティング処理を行う。監視パケットのルーティング処理は、通常のデータパケットと同様であり、ルーティングテーブル６に従う。その後、送信部２３が、その監視パケットを送信する。
【００９７】
このように、実施形態の監視方法によれば、監視パケットの伝搬経路ごとに、それぞれ最悪ノードが特定するための情報がその監視パケットに格納されている。すなわち、実施形態の監視方法においては、状態または性能の悪いノードを特定する処理の一部は、実質的に、ノード装置によって行われる。このため、全ノード装置がそれぞれ監視データを監視サーバ１２へ送信する方式と比較して、実施形態の監視方法は、以下の利点を有する。
（１）監視サーバ１２の処理量が少ない。
（２）無線マルチホップネットワークから監視サーバ１２へ状態を通知するためのトラヒックが少ない。
（３）監視サーバ１２において無線マルチホップネットワークから受信する監視データを保持するためのメモリ容量が小さい。
【００９８】
＜監視データ＞
実施形態の監視方法は、どのようなノードを発見したいのかに応じて監視データを選択してもよい。例えば、電波環境の悪いノードを特定する場合には、監視データとして受信電力またはパケット誤り率を使用することができる。また、輻輳が発生しているノードを特定する場合には、監視データとして送信キュー長または無線帯域使用率（すなわち、ビジー時間）を使用することができる。
【００９９】
受信電力検出部３１は、リンク毎に受信電力を検出する。このとき、受信電力検出部３１は、リンクテーブル５に登録されている各リンクについて受信電力を検出するようにしてもよい。そして、監視データ取得部２５は、受信電力検出部３１にアクセスすることにより、ノード装置１の各リンクの受信電力を取得することができる。
【０１００】
図１２は、監視データが受信電力である場合の監視データ取得部２５の動作を示すフローチャートである。ここでは、受信電力検出部３１が、定期的にまたは継続的に、リンク毎に受信電力を検出するものとする。
【０１０１】
ステップＳ２１において、監視データ取得部２５は、受信リンクの数をカウントする。ここでは、受信電力検出部３１により、Ｎ本のリンクについて受信電力が検出されているものとする。ステップＳ２２において、監視データ取得部２５は、受信電力検出部３１から各リンクについて受信電力データを取得する。受信電力データは、例えば、定期的に検出される受信電力の時系列データである。
【０１０２】
ステップＳ２３において、監視データ取得部２５は、変数ｉをゼロに初期化する。変数ｉは、受信電力が検出されている各リンクを識別する。以下、監視データ取得部２５は、各リンクについてステップＳ２４〜Ｓ２７の処理を実行する。
【０１０３】
ステップＳ２４において、監視データ取得部２５は、リンクｉについて、受信電力の平均値Ｐi(n)を計算する。平均は、特に限定されるものではないが、例えば、単純平均、移動平均、加重平均などである。また、平均は、例えば、所定のパケット数（例えば、１０〜２０パケット）に対応する期間に渡ってサンプリングされた受信電力値を利用して計算される。
【０１０４】
ステップＳ２５において、監視データ取得部２５は、前回の平均値Ｐi(n-1)と今回の平均値Ｐi(n)との差分Δi(n)を計算する。すなわち、下記の計算が実行される。
Δi(n)＝Ｐi(n-1)−Ｐi(n)
ここで、各平均値Ｐi(n-1)、Ｐi(n)、．．．は、所定の間隔で計算される。例えば、ビルの建設などによって電波環境が徐々に変化していくような状況を検知するためには、平均値Ｐi(n-1)、Ｐi(n)、．．．は、長い時間間隔（たとえば、毎日１回ずつ）で算出すればよい。これに対して、比較的短い期間内の電波環境の変化を検知するためには、より短い時間間隔で平均値を算出する必要がある。
【０１０５】
ステップＳ２６において、監視データ取得部２５は、上述の差分Δiについて累積加算または積分を行うことにより、受信電力評価値Ｓi(n)を得る。すなわち、下記の計算が実行される。
【０１０６】
【数１】
2013042210.tif 000003
ステップＳ２７〜Ｓ２８において、監視データ取得部２５は、変数ｉを１だけインクリメントする。そして、変数ｉがリンク数Ｎよりも小さければ、監視データ取得部２５の処理はステップＳ２４に戻る。一方、変数ｉがリンク数Ｎに達していれば、監視データ取得部２５の処理はステップＳ２８に進む。
【０１０７】
上記ステップＳ２４〜Ｓ２８により、各リンクについて受信電力評価値Ｓi(n)が計算される。そうすると、監視データ取得部２５は、ステップＳ２９において、各リンクについて計算された受信電力評価値Ｓi(n)から最小値を選択する。そして、監視データ取得部２５は、選択した最小値を監視データとして出力する。
【０１０８】
受信電力評価値Ｓは、ある時刻における受信電力ではなく、受信電力の時間変化を表している。例えば、電波環境が一定である地域においては、差分Δがゼロなので、受信電力評価値Ｓもゼロである。これに対して、例えば、ビルの建設によって電波環境が徐々に劣化している地域では、差分Δが負の値であり、受信電力評価値Ｓも負の値になる。したがって、監視データとして受信電力評価値Ｓを使用すれば、監視サーバ１２は、無線マルチホップネットワークのトポロジを認識していなくても、電波環境が劣化するノードを早期に発見することができる。
【０１０９】
ＰＥＲ検出部３２は、送信部２３から受信するデータ送信通知および受信部２１から受信するＡＣＫ受信通知に基づいて、パケット誤り率を計算する。ここで、送信部２３は、パケットを送信する毎にデータ送信通知を発行する。また、受信部２１は、送信部２３から送信されるパケットに対応するＡＣＫパケットを受信する毎にＡＣＫ受信通知を発行する。そして、ＰＥＲ検出部３２は、データ送信通知およびＡＣＫ受信通知の個数の比率に基づいて、パケット誤り率を計算する。
【０１１０】
監視サーバ１２が監視データとしてパケット誤り率を使用するときは、監視データ取得部２５は、ＰＥＲ検出部３２にアクセスすることにより、ノード装置１のパケット誤り率を取得する。なお、監視データ取得部２５は、受信電力と同様に、パケット誤り率の時間変化を表す評価値を算出してもよい。すなわち、監視サーバ１２は、パケット誤り率の時間変化に基づいて、劣化ノードを特定してもよい。
【０１１１】
送信キュー長検出部３３は、送信部２３の送信キューの長さを検出する。ここで、送信キュー長検出部３３は、例えば、送信キューバッファの使用率に基づいて送信キュー長を検出してもよい。また、送信キュー長検出部３３は、送信キューバッファに格納されているパケットの個数に基づいて送信キュー長を検出してもよい。
【０１１２】
監視サーバ１２が監視データとして送信キュー長を使用するときは、監視データ取得部２５は、送信キュー長検出部３３にアクセスすることにより、ノード装置１の送信キュー長を取得する。このとき、監視データ取得部２５は、例えば、送信キュー長の平均値を監視データとして取得する。
【０１１３】
ビジー時間検出部３４は、ノード装置１の送信部２３が送信権を獲得するまでの待ち時間を測定する。ここで、無線マルチホップネットワークは、パケットの衝突を回避するための機能を有している。すなわち、各ノード装置は、隣接ノードからパケットが送信されている期間は、送信権を獲得することができない。隣接ノードからパケットが送信されているか否かは、受信電力をモニタすることにより判定可能である。すなわち、受信電力が所定の閾値レベルよりも高ければ、隣接ノードからパケットが送信されていると判定される。よって、ビジー時間検出部３４は、例えば、送信キューバッファにパケットが格納されており、且つ、受信電力が所定の閾値レベルよりも高い期間をモニタすることにより、ビジー時間を検出できる。
【０１１４】
監視サーバ１２が監視データとして無線帯域使用率（すなわち、ビジー時間）を使用するときは、監視データ取得部２５は、ビジー時間検出部３４にアクセスすることにより、ノード装置１のビジー時間を取得することができる。そして、監視データ取得部２５は、例えば、ビジー時間の平均値を監視データとして取得する。
【０１１５】
監視データとして送信キュー長を使用すれば、監視サーバ１２は、輻輳が発生しているノードを特定することができる。また、監視データとして無線帯域使用率を使用すれば、監視サーバ１２は、輻輳が発生している領域を特定することができる。
【０１１６】
＜他の実施形態＞
上述の実施形態では、監視サーバ１２に対して最上流に位置するノード装置が監視パケットを送信するが、本発明はこの方式に限定されるものではない。すなわち、無線マルチホップネットワーク内の他のノード装置が監視パケットを送信してもよい。例えば、あるノード装置において、先の監視パケットを中継してから所定の時間が経過したときは、そのノード装置が監視パケットを生成して送信してもよい。
【０１１７】
上述の実施形態では、監視パケットは、１つの最悪ノードＩＤおよび対応する最悪ノードデータを格納するが、本発明はこの方式に限定されるものではない。すなわち、監視パケットは、複数のノードＩＤ、および複数のノードＩＤにそれぞれ対応する監視データを格納してもよい。たとえば、監視データは、最も悪いノードおよび２番目に悪いノードを識別する情報、およびそれら２つのノードでそれぞれ検出される監視データを格納してもよい。この場合、監視サーバ１２は、１つの監視パケットの経路上で状態または性能の悪い複数のノードを特定することができる。したがって、例えば、無線マルチホップネットワークが膨大な数のノードを有する場合には、この方式を採用することにより、監視の効率が向上する。
【０１１８】
実施形態の監視方法は、１つの監視パケットで複数の項目について並列に監視を行ってもよい。例えば、実施形態の監視方法は、受信電力、パケット誤り率、送信キュー長、無線帯域使用率（すなわち、ビジー時間）の中の２以上の項目について並列に監視を行ってもよい。この場合、監視パケットは、複数の項目についてそれぞれ最悪ノードＩＤおよび最悪ノードデータを格納するフォーマットを有する。
【０１１９】
上述の実施形態では、監視データを伝送するための監視パケットを利用して、無線マルチホップネットワークの状態が監視されるが、本発明はこの方式に限定されるものではない。すなわち、監視サーバ１２は、他の用途で使用されるパケットを利用して、無線マルチホップネットワークの状態を監視してもよい。例えば、ノード装置は、データ収集デバイスにより収集されたセンサデータを格納するデータパケットに、監視データを格納してもよい。この場合、このデータパケットを転送するノード装置は、必要に応じて監視データを更新する。
【０１２０】
また、監視サーバ１２は、Ｈｅｌｌｏパケットを利用して無線マルチホップネットワークの状態を監視してもよい。Ｈｅｌｌｏパケットは、ノードの存在を隣接ノードに通知するために使用され、各ノード装置から定期的に送信される。
【０１２１】
図１３は、Ｈｅｌｌｏパケットの一例を示す図である。Ｈｅｌｌｏパケットは、隣接ノードにブロードキャストされる。よって、ローカル宛先には、ブロードキャストアドレスが設定される。また、Ｈｅｌｌｏパケットを利用して監視データを伝送する場合は、Ｈｅｌｌｏパケットは、図７に示す監視パケットと同様に、監視データフラグ、最悪ノードＩＤ、最悪ノードデータを含む。なお、Ｈｅｌｌｏパケットは、ノード装置がリンクテーブル５およびルーティングテーブル６を作成するための情報をさらに含んでもよい。
【０１２２】
図１４は、Ｈｅｌｌｏパケットを利用して監視データを伝送する方法を説明する図である。ここでは、各ノード装置において、監視データとしてパケット誤り率が検出されているものとする。そして、各ノード装置は、それぞれ定期的に、監視データを含むＨｅｌｌｏパケットをブロードキャストする。
【０１２３】
図１４（ａ）においては、ノード装置Ｉ、ＧＷがそれぞれＨｅｌｌｏパケットを送信している。ノード装置Ｉから送信されるＨｅｌｌｏパケットｉには「最悪ノードＩＤ＝Ｉ」および「最悪ノードデータ＝０．２」が格納されている。ここで、Ｈｅｌｌｏパケットｉは、ノードＪ、Ｈに到達する。なお、ノード装置ＧＷから送信されるＨｅｌｌｏパケットについては、説明を省略する。
【０１２４】
ノード装置Ｊは、受信したＨｅｌｌｏパケットｉに格納されている最悪ノードデータとノードＪのパケット誤り率とを比較する。この例では、ノードＪのパケット誤り率よりも最悪ノードデータの方が悪い。よって、この場合、ノード装置Ｊは、Ｈｅｌｌｏパケットｉにより通知される「最悪ノードＩＤ＝Ｉ」および「最悪ノードデータ＝０．２」を保持する。
【０１２５】
同様に、ノード装置Ｈは、受信したＨｅｌｌｏパケットｉに格納されている最悪ノードデータとノードＨのパケット誤り率とを比較する。この例では、ノードＨのパケット誤り率よりも最悪ノードデータの方が良好である。よって、この場合、ノード装置Ｈは、Ｈｅｌｌｏパケットｉにより通知される「最悪ノードＩＤ＝Ｉ」および「最悪ノードデータ＝０．２」を保持しない。
【０１２６】
図１４（ｂ）においては、ノード装置ＨがＨｅｌｌｏパケットを送信している。ノード装置Ｈから送信されるＨｅｌｌｏパケットｈには「最悪ノードＩＤ＝Ｈ」および「最悪ノードデータ＝０．３」が格納されている。ここで、Ｈｅｌｌｏパケットｈは、ノードＩ、Ｂに到達する。
【０１２７】
受信ノード装置Ｉ、Ｂの動作は、図１４（ａ）示すノード装置Ｊの動作と実質的に同じである。よって、例えば、ノード装置Ｂは、Ｈｅｌｌｏパケットｈに格納されている最悪ノードデータとノードＢのパケット誤り率とを比較する。この例では、ノードＢのパケット誤り率よりも最悪ノードデータの方が悪い。よって、この場合、ノード装置Ｂは、Ｈｅｌｌｏパケットｈにより通知される「最悪ノードＩＤ＝Ｈ」および「最悪ノードデータ＝０．３」を保持する。
【０１２８】
図１４（ｃ）においては、ノード装置Ｂ、ＪがそれぞれＨｅｌｌｏパケットを送信している。以下、ノード装置Ｂから送信されるＨｅｌｌｏパケットｂについて説明する。
【０１２９】
ノード装置Ｂは、ノードＨから受信したＨｅｌｌｏパケットｈにより、ノードＢよりもパケット誤り率の悪いノードが存在していることを認識している。すなわち、ノード装置Ｂは、「最悪ノードＩＤ＝Ｈ」および「最悪ノードデータ＝０．３」を認識している。よって、この場合、ノード装置Ｂは、「最悪ノードＩＤ＝Ｈ」および「最悪ノードデータ＝０．３」を含むＨｅｌｌｏパケットｂを生成して送信する。
【０１３０】
Ｈｅｌｌｏパケットｂは、ノードＧＷ、Ｈに到達する。この結果、ノード装置ＧＷは、「最悪ノードＩＤ＝Ｈ」および「最悪ノードデータ＝０．３」を取得する。したがって、監視サーバ１２は、ノードＪ、Ｉ、Ｈ、Ｂの中の最悪ノードを特定できる。
【０１３１】
ただし、Ｈｅｌｌｏパケットが無線マルチホップネットワーク全体に伝搬されるまでには、一定の時間を要する。特に、多数のノードを有する無線マルチホップネットワークにおいては、最も悪い監視データがノードＧＷに到達するまでに長い時間を要することがある。したがって、Ｈｅｌｌｏパケットを利用して監視データを伝送する方式においては、監視サーバ１２は、例えば、無線マルチホップネットワークのノード数に応じて決まる所定の時間の経過後に、最悪ノードを特定してもよい。
【図１】
2013042210.tif 000004
【図２】
2013042210.tif 000005
【図３】
2013042210.tif 000006
【図４】
2013042210.tif 000007
【図５】
2013042210.tif 000008
【図６】
2013042210.tif 000009
【図７】
2013042210.tif 000010
【図８】
2013042210.tif 000011
【図９】
2013042210.tif 000012
【図１０】
2013042210.tif 000013
【図１１】
2013042210.tif 000014
【図１２】
2013042210.tif 000015
【図１３】
2013042210.tif 000016
【図１４】
2013042210.tif 000017
【手続補正書】
【提出日】平成26年2月21日(2014.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のノードを含む無線マルチホップネットワークの状態を監視する無線マルチホップネットワーク監視方法であって、
ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納するパケットを送信し、
前記パケットに格納されている監視データよりも悪い監視データが検出される第１のノードにおいて、前記パケットに格納されている監視データを前記第１のノードで検出された監視データに書き換えると共に、前記パケットに格納されている識別情報を前記第１のノードを識別する識別情報に書き換え、
前記パケットに格納されている識別情報に基づいて、前記パケットの伝播経路上で最も状態または性能の悪いノードを特定する
ことを特徴とする無線マルチホップネットワーク監視方法。
【請求項２】
前記無線マルチホップネットワークに接続されている監視装置に対して前記無線マルチホップネットワーク内で最も上流に位置するノード装置は、前記監視装置宛てに前記パケットを送信し、
前記監視装置は、前記無線マルチホップネットワークを介して受信する前記パケットに格納されている識別情報に基づいて、前記パケットの伝搬経路上で最も状態または性能の悪いノードを特定する
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項３】
前記監視データおよび前記識別情報は、各ノード装置から定期的に送信される、ノードの存在を隣接ノードに通知するためのパケットに格納される
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項４】
前記監視データは、ノード装置における受信電力である
ことを特徴とする請求項１に記載の無線マルチホップネットワーク監視方法。
【請求項５】
前記監視データは、ノード装置における受信電力の時間に対する変化である
ことを特徴とする請求項４に記載の無線マルチホップネットワーク監視方法。
【請求項６】
複数のノード装置を含む無線マルチホップネットワークシステムであって、
各ノード装置は、
自ノードの状態または性能を表す監視データを取得する監視データ取得部と、
ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納する監視パケットを受信したときに、前記監視パケットから抽出される第１の監視データおよび前記取得部により取得される第２の監視データを比較する監視データ比較部と、
前記監視データ比較部により前記第１の監視データよりも前記第２の監視データの方が悪いと判定されたときに、前記監視パケットの監視データを前記第２の監視データに書き換えると共に、前記監視パケットの識別情報を自ノードを識別する識別情報に書き換える監視パケット処理部と、
前記監視パケット処理部により処理された監視パケットを送信する送信部と、を有し
前記監視パケットは、１または複数のノード装置を経由して、前記監視パケットの伝播経路上で最も状態または性能の悪いノードを特定する監視装置へ転送される、
ことを特徴とする無線マルチホップネットワークシステム。
【請求項７】
無線マルチホップネットワークシステムで用いられるノード装置であって、
自ノードの状態または性能を表す監視データを取得する監視データ取得部と、
ノードの状態または性能を表す監視データおよびノードを識別する識別情報を格納する監視パケットを受信したときに、前記監視パケットから抽出される第１の監視データおよび前記取得部により取得される第２の監視データを比較する監視データ比較部と、
前記監視データ比較部により前記第１の監視データよりも前記第２の監視データの方が悪いと判定されたときに、前記監視パケットの監視データを前記第２の監視データに書き換えると共に、前記監視パケットの識別情報を自ノードを識別する識別情報に書き換える監視パケット処理部と、
前記監視パケット処理部により処理された監視パケットを送信する送信部と、を有するノード装置。
【国際調査報告】
2013042210.tif 000018
2013042210.tif 000019