(57)【要約】【課題】時間的な変動の影響を受けないトポロジを算出できること。【解決手段】無線メッシュネットワーク１００は、送信元のノード１０１ａが他のノード１０１ｂ，…のリンクを介して経路情報を含むメッセージを親ノード１０１Ａにマルチホップで転送する。サーバ１３０は、無線メッシュネットワーク１００のトポロジを算出する際、親ノード１０１Ａが受信する複数のメッセージを一定の評価期間の間、取得し、経路情報に基づき、無線メッシュネットワーク１００をリンク毎に分解する。そして、複数のメッセージの経路情報に含まれるリンク毎のメッセージの受信状態、例えば、メッセージ数や電波強度に基づき、親ノード１０１Ａを起点として送信元のノード１０１ａまでの経路を探索し、トポロジを算出する。【選択図】図１
2020167487.tif 000002
【特許請求の範囲】
【請求項１】
送信元のノードが他のノードのリンクを介して経路情報を含むメッセージを親ノードにマルチホップで転送する無線メッシュネットワークのトポロジを算出する運用管理方法において、
前記親ノードが受信する複数の前記メッセージを一定の評価期間の間、取得する第１処理と、
前記経路情報に基づき、前記無線メッシュネットワークを前記リンク毎に分解する第２処理と、
複数の前記メッセージの経路情報に含まれる前記リンク毎の前記メッセージの受信状態に基づき、前記親ノードを起点として送信元のノードまでの経路を探索し、トポロジを算出する第３処理と、
をコンピュータが実行することを特徴とする無線メッシュネットワークの運用管理方法。
【請求項２】
前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、前記リンク毎のメッセージ数を用い、前記トポロジを算出する、
ことを特徴とする請求項１に記載の無線メッシュネットワークの運用管理方法。
【請求項３】
前記第３処理は、
前記ノードを既知ノードと未知ノードに分け、
複数の前記メッセージの経路情報に含まれる前記リンク毎のメッセージ数に基づき、
前記親ノードを既知ノードとして、未知ノードからなる前記リンクのうちメッセージ数が最大となるリンクのノードを既知ノードの子ノードとし、
既知ノードとした前記子ノードに対し、未知ノードからなる前記リンクのうちメッセージ数が最大となるリンクのノードを前記子ノードの子ノードとする処理を、前記未知ノードがなくなるまで繰り返す、
ことを特徴とする請求項２に記載の無線メッシュネットワークの運用管理方法。
【請求項４】
前記第３処理で算出した前記トポロジに対応し、前記親ノードに接続される複数の前記子ノードの情報を前記各ノード間のメッセージ数として一覧化した構造ノード行列を作成する第４処理を含む、
ことを特徴とする請求項３に記載の無線メッシュネットワークの運用管理方法。
【請求項５】
前記第４処理は、前記構造ノード行列に基づき、前記親ノードに対する複数の前記ノードの接続状態のツリー構造を生成する、
ことを特徴とする請求項４に記載の無線メッシュネットワークの運用管理方法。
【請求項６】
前記第４処理は、前記構造ノード行列に含まれなかったノードを一覧化した剰余ノード行列を作成する、
ことを特徴とする請求項４または５に記載の無線メッシュネットワークの運用管理方法。
【請求項７】
前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、送信元の前記ノード毎に当該ノードが送信するメッセージ数を正規化し、前記正規化した値を用い、前記トポロジを算出する、
ことを特徴とする請求項１，４〜６のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【請求項８】
前記第１処理の後、同一のリンクを複数回通過するループルート、および同一ノードを複数回通過するポーズルートを検出し、前記トポロジから除外する、
ことを特徴とする請求項１〜７のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【請求項９】
検出した前記ループルートと、前記ポーズルートの情報をそれぞれ保存し、通知する、
ことを特徴とする請求項８に記載の無線メッシュネットワークの運用管理方法。
【請求項１０】
前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、前記リンク毎の電波強度を取得し、前記メッセージ数に前記電波強度に基づく補正係数を掛けた値を用い、前記トポロジを算出する、
ことを特徴とする請求項１，４〜９のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【請求項１１】
前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、送信元の前記ノードから前記親ノードまでのホップ数を取得し、前記メッセージ数に前記ホップ数に基づく補正係数を掛けた値を用い、前記トポロジを算出する、
ことを特徴とする請求項１，４〜９のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【請求項１２】
送信元のノードが他のノードのリンクを介して経路情報を含むメッセージを親ノードにマルチホップで転送する無線メッシュネットワークのトポロジを算出する運用管理装置において、
前記親ノードが受信する複数の前記メッセージを一定の評価期間の間、取得し、
前記経路情報に基づき、前記無線メッシュネットワークを前記リンク毎に分解し、
複数の前記メッセージの経路情報に含まれる前記リンク毎の前記メッセージの受信状態に基づき、前記親ノードを起点として送信元のノードまでの経路を探索し、トポロジを算出する制御部、
を備えたことを特徴とする無線メッシュネットワークの運用管理装置。
【請求項１３】
前記制御部は、
前記算出した前記トポロジに対応し、前記親ノードに接続される複数の前記ノードの情報を前記各ノード間のメッセージ数として一覧化した構造ノード行列を作成する、
ことを特徴とする請求項１２に記載の無線メッシュネットワークの運用管理装置。
【請求項１４】
前記制御部は、
前記構造ノード行列に基づき、前記親ノードに対する複数の前記ノードの接続状態のツリー構造を生成する、
ことを特徴とする請求項１３に記載の無線メッシュネットワークの運用管理装置。
【請求項１５】
前記制御部は、
前記構造ノード行列に含まれなかったノードを一覧化した剰余ノード行列を作成する、
ことを特徴とする請求項１３または１４に記載の無線メッシュネットワークの運用管理装置。
【請求項１６】
前記制御部は、
前記親ノードから前記メッセージを受信するサーバに備えたことを特徴とする請求項１２〜１５のいずれか一つに記載の無線メッシュネットワークの運用管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチホップ通信を行う無線メッシュネットワークの運用管理方法および無線メッシュネットワークの運用管理装置に関する。
【背景技術】
【０００２】
近年、ネットワーク接続されたセンサが検出した大量のデータを機械学習で処理し、状況に応じたサービスを提供するＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）ソリューションが適用されている。
【０００３】
例えば、ＩｏＴ技術によりトンネルや工事現場などの所定エリアに配置されたセンサの情報を無線通信により取得する際、この所定エリアではＬＴＥなどの広域無線で直接センサ情報を送信することができない場合がある。この場合、例えば、マルチホップ通信の技術を用いることで、ノードに配置されたセンサ等の無線機を多段に中継しながら、最終的にクラウド上のサーバまでセンサが検出した情報を送信することができる。
【０００４】
マルチホップ通信では、無線メッシュネットワーク上で電波状況の良好なノードを選択経由して通信が行われるため障害が起こりにくい。その反面、個々のノードにおける送信失敗など内部の障害が外部に現れにくいため、無線メッシュネットワーク内の運用稼働状態の運用監視が不可欠である。例えば、実際のメッセージが設置時に想定した経路を通って通信しているか、想定しない経路の通信がないか等、ノード間の接続関係（トポロジ）を把握する必要がある。
【０００５】
従来技術として、ＧＰＳ等の位置測定機能を持つノードの情報を利用して、位置測定機能を持たないノードの位置を推定し、アドホックのトポロジを描画する技術が開示されている（例えば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３５６６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
マルチホップ無線ネットワークでは電波状況の良好なリンクを選択して通信が行われるため、メッセージの通過する経路は時間により異なる。このため、マルチホップ無線ネットワークのトポロジは時間的に変動し、代表的なトポロジを得ることが難しいという課題があった。例えば、特許文献１では、ある瞬間におけるトポロジが得られるだけであり、時間経過毎にトポロジの情報が異なってしまい、ネットワーク網の全体構造を容易に把握できない。
【０００８】
一つの側面では、本発明は、時間的な変動の影響を受けないトポロジを算出できることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、送信元のノードが他のノードのリンクを介して経路情報を含むメッセージを親ノードにマルチホップで転送する無線メッシュネットワークのトポロジを算出する運用管理方法において、前記親ノードが受信する複数の前記メッセージを一定の評価期間の間、取得する第１処理と、前記経路情報に基づき、前記無線メッシュネットワークを前記リンク毎に分解する第２処理と、複数の前記メッセージの経路情報に含まれる前記リンク毎の前記メッセージの受信状態に基づき、前記親ノードを起点として送信元のノードまでの経路を探索し、トポロジを算出する第３処理と、をコンピュータが実行することを要件とする。
【発明の効果】
【００１０】
本発明の一態様によれば、時間的な変動の影響を受けないトポロジを算出できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１にかかる無線メッシュネットワークの説明図である。
【図２】図２は、無線メッシュネットワークのトポロジの変化を説明する図である。
【図３】図３は、実施の形態１にかかる運用管理装置のハードウェア構成例を示す図である。
【図４】図４は、実施の形態１にかかるノードのハードウェア構成例を示す図である。
【図５】図５は、実施の形態１にかかる運用管理装置の機能を示すブロック図である。
【図６】図６は、実施の形態１にかかる運用管理装置によるトポロジ算出を説明する図である。
【図７】図７は、実施の形態１にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。
【図８Ａ】図８Ａは、実施の形態１にかかるトポロジ算出の具体例を説明する図である。（その１）
【図８Ｂ】図８Ｂは、実施の形態１にかかるトポロジ算出の具体例を説明する図である。（その２）
【図９Ａ】図９Ａは、実施の形態１にかかるトポロジ算出の具体例を説明する図である。（その３）
【図９Ｂ】図９Ｂは、実施の形態１にかかるトポロジ算出の具体例を説明する図である。（その４）
【図１０】図１０は、実施の形態２にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。
【図１１Ａ】図１１Ａは、実施の形態２にかかるトポロジ算出の具体例を説明する図である。（その１）
【図１１Ｂ】図１１Ｂは、実施の形態２にかかるトポロジ算出の具体例を説明する図である。（その２）
【図１２】図１２は、実施の形態３にかかる運用管理装置による異常ルートの検出状態を説明する図である。
【図１３】図１３は、実施の形態３にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。
【図１４】図１４は、実施の形態３にかかる運用管理装置による異常ルートの検出の処理例を示すフローチャートである。（その１）
【図１５】図１５は、実施の形態３にかかる運用管理装置による異常ルートの検出の処理例を示すフローチャートである。（その２）
【図１６】図１６は、実施の形態４にかかるノード間の距離を電波強度を用いトポロジを算出する具体例を説明する図である。
【図１７】図１７は、実施の形態４にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。
【図１８】図１８は、実施の形態５にかかるノード間の距離をホップ数を用いトポロジを算出する具体例を説明する図である。
【図１９】図１９は、実施の形態５にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に図面を参照して、開示の無線メッシュネットワークの運用管理方法および無線メッシュネットワークの運用管理装置の実施の形態を詳細に説明する。
【００１３】
（実施の形態１）
図１は、実施の形態１にかかる無線メッシュネットワークの説明図である。無線メッシュネットワーク１００は、アドホックによる無線通信を行う複数のアドホックノード（ノード）１０１（１０１ａ，１０１ｂ，…）と、運用管理装置１３０とを含む。
【００１４】
ノード１０１は、所定エリアに複数配置することで、他のノード１０１との間で相互に通信を行う。これにより、所定エリアがＬＴＥなどの広域無線通信ができない場所であっても、複数のノード１０１は、それぞれ他のノード１０１と無線通信が可能なメッシュ状の無線メッシュネットワーク１００による通信が可能である。無線通信を行う一対のノード１０１，１０１間の経路をノードという。
【００１５】
図１の例では、作業員が腕に装着した無線機（無線センサ）１１０が備えるセンサが所定の変位を検知し、無線センサ１１０は、検知した変位量をメッセージ（センサ情報）として近接するノード１０１ｄにＢｌｕｅｔｏｏｔｈ（登録商標）等の無線通信で送信する。ノード１０１は、他のノード１０１を介したマルチホップ通信により、親ノード１０１Ａまでメッセージを転送する。
【００１６】
親ノード１０１Ａは、無線メッシュネットワーク１００の端部に位置する固定のノード１０１であり、親ノード１０１Ａを介して無線メッシュネットワーク１００の外部のネットワークにメッセージを送信する。なお、親ノード１０１Ａ以外のノード１０１を子ノードともいう。
【００１７】
無線センサ１１０は、例えば、作業員に装着され、周囲の温湿度や、作業員の心拍等の変位量を検知し、定期的もしくはイベント発生時に変位量のメッセージをノード１０１に送信する。ここで、ノード１０１は、他のノードから受信したメッセージを転送する毎に、メッセージが示す変位量の情報に加えて、どのノード１０１を経由したかを示す経路情報、例えば、メッセージ数、送信元ノード、宛先（親ノード１０１Ａ）、ホップ数、等の情報をメッセージに付加する。
【００１８】
ノード１０１は、前段のノード１０１から受信したホップ数（ノード間の転送数）を自ノード分、インクリメント（＋１）して後段のノード１０１に送信する処理を行う。なお、以下に説明する他の実施の形態では、ノード１０１は、経路情報に電波強度等の情報を付加する場合がある。また、以下の説明で用いる経路と、ルートは同じ意味である。
【００１９】
無線メッシュネットワーク１００において、あるノード１０１ａが送信するメッセージの通信経路（ノード１０１ａ〜ノード１０１ｘ間）の通信が障害物等で通信できない場合が生じたとする。この場合、ノード１０１ａは、迂回した通信経路（ノード１０１ｂ〜１０１ｃ〜親ノード１０１Ａ）でメッセージを送信する。
【００２０】
親ノード１０１Ａは、ゲートウェイ１２０を介して外部のネットワークのクラウドＣにメッセージを送信する。クラウドＣ（例えば、運用管理装置１３０としてのサーバ）は、メッセージに含まれる変位量に対する情報処理を行う。
【００２１】
実施の形態では、運用管理装置１３０は、メッセージに含まれる経路情報に基づいて、所定エリアの無線メッシュネットワーク１００の運用状態を管理する運用管理機能を有する。この運用管理機能は、親ノード１０１Ａが行ってもよい。
【００２２】
運用管理装置１３０は、無線メッシュネットワーク１００の運用管理機能として、ネットワークが正常に機能しているか否かに関する情報を生成し、ユーザに提示する。例えば、一定周期の評価期間におけるノード１０１間の接続関係（トポロジ）を求めて表示する。すなわち、複数の瞬間（時期）のトポロジを集約した代表的なトポロジを求める。
【００２３】
図２は、無線メッシュネットワークのトポロジの変化を説明する図である。無線メッシュネットワーク１００のトポロジについて、従来技術のように、ある時期（瞬間）のトポロジを求める場合、例えば、図２（ａ）の時刻「１０：００」のときの各ノードＡ〜Ｅ（１０１）の接続関係（リンク）を求め線分で示す。子ノードＢ〜Ｅは、いずれも親ノードＡに接続されている。
【００２４】
しかし、時間経過により、図２（ｂ）に示すように時刻「１０：１０」のときには、各ノードＡ〜Ｅ（１０１）のトポロジが変動して示されることになる。ここでは、子ノードＣ，Ｅが親ノードＡではなく他の子ノードＢを介して親ノードＡに接続されている。このように、時間経過毎に表示されるトポロジが変動することで、実際のトポロジと乖離が生じ、ユーザがネットワークに生じている状態を把握しにくい。
【００２５】
これに対し、実施の形態１では、運用管理装置１３０は、一定周期の評価期間におけるノード１０１間のトポロジを求める。そして、求めたトポロジを無線メッシュネットワーク１００の各ノード１０１間でメッセージが通っているノード１０１や、望ましくないノード１０１を通っている状態等として表示する。これにより、無線メッシュネットワーク１００の実際のトポロジとの乖離が小さく、変動しないトポロジをユーザに提示でき、ユーザはネットワークの実際のトポロジを容易に把握できるようになる。
【００２６】
図３は、実施の形態１にかかる運用管理装置のハードウェア構成例を示す図である。運用管理装置１３０は、例えば、図３に示すハードウェアからなる汎用のサーバで構成することができる。
【００２７】
運用管理装置１３０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、メモリ３０２、ネットワークインタフェース（Ｉ／Ｆ）３０３、記録媒体Ｉ／Ｆ３０４、記録媒体３０５、を含む。３００は各部を接続するバスである。
【００２８】
ＣＰＵ３０１は、運用管理装置１３０の全体の制御を司る制御部として機能する演算処理装置である。メモリ３０２は、不揮発性メモリおよび揮発性メモリを含む。不揮発性メモリは、例えば、ＣＰＵ３０１のプログラムを格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。揮発性メモリは、例えば、ＣＰＵ３０１のワークエリアとして使用されるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。
【００２９】
ネットワークＩ／Ｆ３０３は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１０に対する通信インタフェースである。運用管理装置１３０は、ネットワークＩ／Ｆ３０３を介してネットワーク３１０上のゲートウェイ１２０に通信接続する。運用管理装置１３０は、ゲートウェイ１２０を介して、無線メッシュネットワーク１００の親ノード１０１Ａに通信接続される。
【００３０】
記録媒体Ｉ／Ｆ３０４は、ＣＰＵ３０１が処理した情報を記録媒体３０５との間で読み書きするためのインタフェースである。記録媒体３０５は、メモリ３０２を補助する記録装置であり、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュドライブ等を用いることができる。
【００３１】
メモリ３０２または記録媒体３０５に記録された運用管理プログラムをＣＰＵ３０１が実行することにより、運用管理装置１３０の各機能を実現する。また、メモリ３０２や記録媒体３０５は、運用管理装置１３０が扱う情報を記録保持する。
【００３２】
図４は、実施の形態１にかかるノードのハードウェア構成例を示す図である。親ノード１０１Ａを含むノード１０１は、例えば、図４に示すハードウェアで構成することができる。
【００３３】
ノード１０１は、ＣＰＵ４０１、メモリ４０２、通信Ｉ／Ｆ４０３を含む。４００は各部を接続するバスである。
【００３４】
ＣＰＵ４０１は、ノード１０１の全体の制御を司る制御部として機能する演算処理装置である。メモリ４０２は、不揮発性メモリおよび揮発性メモリを含む。通信Ｉ／Ｆ４０３は、Ｂｌｕｅｔｏｏｔｈ、ＲＦＩＤなどの通信を行うためのインタフェースである。ノード１０１は、通信Ｉ／Ｆ４０３を介して無線メッシュネットワーク１００上の他のノード１０１に通信接続する。また、親ノード１０１Ａは、ノード１０１に加えてゲートウェイ１２０と通信接続するネットワークＩ／Ｆ（不図示）を有する。
【００３５】
メモリ４０２に記録された制御プログラムをＣＰＵ４０１が実行することにより、ノード１０１の各機能を実現する。また、メモリ４０２は、ノード１０１が扱う情報を記録保持する。ノード１０１は、作業員が保持する無線センサ１１０のセンサ情報を受信し、他のノード１０１に転送する。これに限らず、無線センサ１１０を用いずにノード１０１がセンサ４０４を有し、ノード１０１がセンサ情報を他のノード１０１に送信する構成とすることもできる。
【００３６】
図５は、実施の形態１にかかる運用管理装置の機能を示すブロック図である。無線メッシュネットワーク１００の各ノード１０１が送信するメッセージは、親ノードＡ（１０１Ａ）を介して運用管理装置１３０が収集する。
【００３７】
運用管理装置１３０は、経路情報受信部５０１、リンクトラヒック分解部５０２、トポロジ計算部５０３、トポロジ生成部５０４、を含む。経路情報受信部５０１は、評価期間における無線メッシュネットワーク１００の各ノード１０１が送信するメッセージを受信する。リンクトラヒック分解部５０２は、各ノード１０１から受信した複数のメッセージに含まれる経路情報に基づき、各リンク毎に通過したメッセージの数（トラヒックの頻度）を求める。そして、全てのノード１０１を通過したメッセージの数を経路別に集計した経路ヒストグラムを求める。
【００３８】
トポロジ計算部５０３は、リンクトラヒック分解部５０２が作成した経路ヒストグラムの情報に基づき、評価期間における無線メッシュネットワーク１００のトポロジを計算する。トポロジ生成部５０４は、トポロジ計算部５０３が計算したトポロジを例えば、ノード間接続の木構造（ツリー）として表示出力するデータを生成する。生成したトポロジ（ツリー）は、運用管理装置１３０に接続された端末のディスプレイに表示出力することができる。
【００３９】
（トポロジ算出例）
図６は、実施の形態１にかかる運用管理装置によるトポロジ算出を説明する図である。図５に示した運用管理装置１３０の各機能が実施する無線メッシュネットワーク１００のトポロジ算出例について説明する。以下の説明では、無線メッシュネットワーク１００上のメッセージの経路の終端に位置する親ノード１０１Ａを「Ａ」、親ノード以外のノード１０１を「Ｂ，Ｃ，Ｄ，…」と表記している。
【００４０】
運用管理装置１３０は、トポロジ算出の際、一般的な深さ優先探索と、幅優先探索を組み合わせた木探索と枝刈りを実行し、下記処理１．〜処理４．を順に実行処理する。深さ優先探索は、ツリーの深さ方向（親ノード方向）へ向かう探索であり、幅優先探索は、幅方向（自ノードと同じ階層）への探索である。
【００４１】
処理１．評価期間における無線メッシュネットワークのノードを通過したメッセージ数をリンク毎に集計し、隣接ノード行列を生成する。
処理２．親ノードを既知ノード、その他ノードを未知ノードに設定する。
処理３．既知ノードへの送信数が最大の未知ノードを抽出し、既知ノードの子として登録して既知ノードとし、構造ノード行列に登録する。この手順を未知ノードがなくなるまで続ける。
処理４．構造ノード行列に登録されなかったリンクを剰余ノード行列として出力する。
【００４２】
図６（ａ）は、運用管理装置１３０が算出する経路ヒストグラム６００の図表であり、無線メッシュネットワーク１００の全てのノード１０１を通過したメッセージの頻度を経路別に集計したものである。上記処理１．のうち「ノードを通過したメッセージ数をリンク毎に集計」する処理に相当する。ここで、ノードＡは親ノード（１０１Ａ）であるとする。
【００４３】
例えば、経路「Ｄ，Ｅ，Ｂ，Ａ」は、メッセージがノードＤ→ノードＥ→ノードＢ→親ノードＡの順の経路で転送されたメッセージ数が「１」であることを示す。経路の欄の左端のノード１０１は、メッセージの送信元であり右端のノードは全てのメッセージを受信する終端の親ノードＡ（１０１Ａ）である。すなわち、無線メッシュネットワーク１００内において全ての経路の終端は親ノードＡ（１０１Ａ）である。
【００４４】
図６（ｂ）は、運用管理装置１３０が算出する隣接ノード行列６１０をツリー構造で表す図である。隣接ノード行列６１０は、各ノードを縦横軸上で「行列」で表記した図表に相当し（後述する図８Ａ（ｂ）参照）、縦軸および横軸は、隣接するノード間で送受信したメッセージ数を一覧化したものである。
【００４５】
上記処理１．のうち「隣接ノード行列を生成」する処理に相当する。例えば、図６（ａ）の経路「Ｄ，Ｅ，Ｂ，Ａ」については、ノードＤがノードＥに送信する頻度（メッセージ数）「１」をノードＤ，Ｅ間のリンクｄｅ部分に示している。なお、ノードＥ，Ｂ間のリンクｅｂ部分には、ノードＥがノードＢに送信するメッセージを含めたメッセージ数「６」を示している。
【００４６】
また、図６（ａ）の経路「Ｄ，Ａ」については、ノードＤ（１０１）がノードＡに送信するメッセージ数「７」をノードＤ，Ａ間のリンクｄａに示している。このように、運用管理装置１３０は、無線メッシュネットワーク１００の全てのノード１０１の全てのノード１０１を通過したメッセージの頻度を経路別に一覧化する。
【００４７】
図６（ｃ）は、運用管理装置１３０が算出する構造ノード行列６２０をツリー構造で表した図である。運用管理装置１３０は、図６（ｂ）に示した隣接ノード行列６１０に基づいて、上記処理２．〜４．の処理を実行することで、構造ノード行列６２０と、剰余ノード行列６３０を算出する。
【００４８】
構造ノード行列６２０は、算出したトポロジに対応し、各ノードを縦横軸上で「行列」で表記した図表に相当し（後述する図９Ｂ（ｂ）参照）、縦軸および横軸には、ノード間で送受信したメッセージ数を示す。剰余ノード行列６３０は、算出したトポロジに含まれなかったルートの各ノードを縦横軸上で「行列」で表記した図表に相当し（後述する図９Ｂ（ｃ）参照）、縦軸および横軸には、ノード間で送受信したメッセージ数を示す。
【００４９】
そして、図６（ｃ）に示す構造ノード行列６２０として、リンク（例えば、リンクｄａ）を表示する。また、運用管理装置１３０は、構造ノード行列６２０に登録されなかったリンク（例えば、リンクｃｅ）を剰余ノード行列６３０として抽出する。
【００５０】
図７は、実施の形態１にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。図７の処理は、運用管理装置１３０のＣＰＵ３０１が実行し、以下、処理順に説明する。例えば、運用管理装置１３０は、所定周期（例えば数時間）毎に、あるいは一日の午前と午後にそれぞれ図７の処理を実行開始する。
【００５１】
はじめに、運用管理装置１３０（経路情報受信部５０１）は、受信したメッセージに含まれる経路情報を取得する（ステップＳ７０１）。この際、運用管理装置１３０は、設定した評価期間の間、無線メッシュネットワーク１００のトポロジ算出のために十分な所定数の経路情報を収集する（ステップＳ７０２：Ｎｏのループ）。運用管理装置１３０は、無線メッシュネットワーク１００のトポロジ算出のために十分な数の経路情報（例えば、図６（ａ）の経路ヒストグラムに相当する情報）を収集できれば（ステップＳ７０２：Ｙｅｓ）、ステップＳ７０３の処理に移行する。
【００５２】
次に、運用管理装置１３０（リンクトラヒック分解部５０２）は、経路情報をリンク毎に分解し（ステップＳ７０３）、メッセージ数をリンク毎に計算し、隣接ノード行列６１０を生成する（ステップＳ７０４）。
【００５３】
次に、運用管理装置１３０（トポロジ計算部５０３）は、構造ノード行列６２０の作成の処理として、はじめに、親ノードＡ（１０１Ａ）を既知ノードとし、その他のノード１０１を未知ノードに設定する（ステップＳ７０５）。そして、運用管理装置１３０は、未知ノードと既知ノード間のメッセージ数が最大となるペアを抽出する（ステップＳ７０６）。
【００５４】
ここで、メッセージ数が同値となるペアが複数となった場合は、親ノードＡ（１０１Ａ）までのホップ数が最も少ないものを選択する。さらには、メッセージ数が同値となるペアが複数で、かつ、親ノードＡ（１０１Ａ）までのホップ数が同じ場合には、ノードの昇順（Ａ，Ｂ，Ｃ，…）にしたがってペアを選択する。例えば、ノードＡ，Ｃと、ノードＡ，Ｄの場合ノードＡ，Ｃ、すなわちノードＣを選択する。
【００５５】
次に、運用管理装置１３０（トポロジ計算部５０３）は、ステップＳ７０６で抽出したペアについて、該当する既知ノードの子として未知ノードを登録する（ステップＳ７０７）。そして、運用管理装置１３０（トポロジ生成部５０４）は、ステップＳ７０６で登録した未知ノードを含む構造ノード行列６２０を生成する（ステップＳ７０８）。
【００５６】
次に、運用管理装置１３０（トポロジ生成部５０４）は、未知ノード集合が空であるか判断する（ステップＳ７０９）。ここでは、構造ノード行列６２０に登録する未知ノードがなくなったかを判断する。未知ノード集合が空でなければ（ステップＳ７０９：Ｎｏ）、運用管理装置１３０は、ステップＳ７０６の処理に戻る。一方、未知ノード集合が空になれば（ステップＳ７０９：Ｙｅｓ）、運用管理装置１３０は、構造ノード行列６２０に登録されなかったリンクを剰余ノード行列６３０として抽出し（ステップＳ７１０）、以上の処理を終了する。
【００５７】
運用管理装置１３０は、構造ノード行列６２０を生成するステップＳ７０８、および剰余ノード行列６３０を抽出するステップＳ７１０のそれぞれの処理で、ツリーとして表示出力するデータを生成する。生成したトポロジ（ツリー）は、運用管理装置１３０に接続された端末のディスプレイに表示出力される。
【００５８】
図８Ａ，図８Ｂ，図９Ａ，図９Ｂは、実施の形態１にかかるトポロジ算出の具体例を説明する図である。以下の説明では、評価期間におけるノード１０１の接続状態が図６（ｂ）に示す状態であったとする。
【００５９】
例えば、無線メッシュネットワーク１００として、工事現場に無線センサ１１０および移動自在なノード１０１を配置し、運用管理装置１３０は作業員が装着した無線センサ１１０で作業員の情報を取得するシステムを想定する。工事現場には、１個の親ノードＡ（１０１Ａ）と、５個の子ノードＢ〜Ｅ（１０１）を配置し、子ノードＢ〜Ｅはそれぞれ無線センサ１１０が送信したセンサの検出値をメッセージとして親ノードＡに送信する。
【００６０】
親ノード１０１Ａではメッセージと、各ノードが付与した経路情報を運用管理装置１３０に送信する。運用管理装置１３０は、メッセージを受信するとリンク毎に分解し、隣接ノード行列の該当するリンクのエントリをインクリメントしていく。ここで一定数（例えば４６個）メッセージが受信されると、トポロジ計算部５０３がトポロジ計算を開始する。
【００６１】
この場合、運用管理装置１３０は、はじめに、図８Ａ（ａ）に示す経路ヒストグラム６００（図６（ａ）と同じ）を図８Ａ（ｂ）に示す隣接ノード行列６１０に展開する。運用管理装置１３０は、隣接ノード行列６１０を参照して、親ノードＡを起点にしたツリーの深さと、幅に対する探索を組み合わせて、子ノードの接続関係を探索する。
【００６２】
はじめに、親ノードＡの子として登録する候補のノードＢ，Ｃ，Ｄ，Ｅをそれぞれ評価する。ここで、運用管理装置１３０は、経路ヒストグラム６００の経路毎の頻度（メッセージ数）に基づき、親ノードＡにメッセージを転送するノードＢ，Ｃ，Ｄをそれぞれ評価する。
【００６３】
ここで、例えば、ノードＢからＡに向かうメッセージ数を［Ａ，Ｂ］「値」と表記する。［Ａ，Ｂ］はリンクｂａに相当する。この場合、［Ａ，Ｂ］は「２３」、［Ａ，Ｃ］は「７」、［Ａ，Ｄ］は「７」である。運用管理装置１３０は、運用管理装置１３０は、頻度（メッセージ数）が最も大きい「２３」のノードＢを親ノードＡの子ノードとして登録する。
【００６４】
そして、図８Ｂ（ａ）に示すように、構造ノード行列６２０で［Ａ，Ｂ］のリンクｂａを新たに登録する（実線）。また、他の［Ａ，Ｃ］、［Ａ，Ｄ］に対応するリンクｃａ、ｄａを登録候補リンク（点線）として設定する。
【００６５】
次に、運用管理装置１３０は、既に登録された［Ａ，Ｂ］の子として登録する候補のノードＣ，Ｄ，Ｅをそれぞれ評価する。この場合、［Ａ，Ｃ］は「７」、［Ａ，Ｄ］は「７」、［Ｂ，Ｄ］は「６」、［Ｂ，Ｅ］は「１２」である。運用管理装置１３０は、頻度（メッセージ数）が最も大きい「１２」のノードＥをノードＢの子ノードとして登録し、未知ノードから取り除く。
【００６６】
そして、図８Ｂ（ｂ）に示すように、構造ノード行列６２０で［Ｂ，Ｅ］のリンクｅｂを新たに登録する（実線）。また、他の［Ａ，Ｃ］、［Ａ，Ｄ］、［Ｂ，Ｄ］に対応するリンクｃａ、ｄａ、ｄｂを登録候補リンク（点線）として設定する。
【００６７】
次に、運用管理装置１３０は、既に登録された［Ａ，Ｂ，Ｅ］の子として登録する候補のノードＣ，Ｄをそれぞれ評価する。この場合、［Ａ，Ｃ］は「７」、［Ａ，Ｄ］は「７」、［Ｂ，Ｄ］は「６」、［Ｅ，Ｃ］は「６」、［Ｅ，Ｄ］は「１」である。運用管理装置１３０は、頻度（メッセージ数）が最も大きい「７」のノードＣをノードＡの子ノードとして登録し、既知ノードにＣを加え、未知ノードから取り除く。ここでは、［Ａ，Ｃ］および［Ａ，Ｄ］がいずれも「７」であるが、ノードのアルファベット昇順（Ａ，Ｂ，Ｃ，…）にしたがい、ノードＣの［Ａ，Ｃ］を選択している。
【００６８】
そして、図９Ａ（ａ）に示すように、構造ノード行列６２０で［Ａ，Ｃ］のリンクｃａを新たに登録する（実線）。また、他の［Ａ，Ｄ］、［Ｂ，Ｄ］、［Ｅ，Ｃ］、［Ｅ，Ｄ］に対応するリンクｄａ、ｄｂ、ｃｅ、ｄｅを登録候補リンク（点線）として設定する。
【００６９】
次に、運用管理装置１３０は、既に登録された［Ａ，Ｂ，Ｅ，Ｃ］の子として登録する候補のノードＤをそれぞれ評価する。この場合、［Ａ，Ｄ］は「７」、［Ｃ，Ｄ］は「１」、［Ｂ，Ｄ］は「６」、［Ｅ，Ｄ］は「１」である。運用管理装置１３０は、頻度（メッセージ数）が最も大きい「７」のノードＤをノードＡの子ノードとして登録する。これにより、既知ノードはＡ，Ｂ，Ｃ，Ｄ，Ｅ、未知ノードは「なし（空集合）」となる。
【００７０】
そして、図９Ａ（ｂ）に示すように、構造ノード行列６２０で［Ａ，Ｄ］のリンクｄａを新たに登録する（実線）。以上の処理で評価していない未知の子ノードがなくなったため、［Ｂ，Ｄ］、［Ｅ，Ｃ］、［Ｅ，Ｄ］、［Ｃ、Ｄ］に対応するリンクｄｂ、ｃｅ、ｄｅ、ｄｃについては、剰余ノード行列６３０として抽出する。
【００７１】
そして、運用管理装置１３０は、図９Ａ（ｂ）に示した構造ノード行列６２０のツリー構造を無線メッシュネットワーク１００のトポロジとして、表示画面を生成し、運用管理装置１３０に接続された端末のディスプレイに表示出力することができる。この際、表示画面に剰余ノード行列６３０のリンクは任意の選択により表示することとしてもよい。この際、表示画面上において、構造ノード行列６２０が示す各リンクを強調表示、例えば太線で示しメッセージ数と共に表示してもよい。
【００７２】
また、剰余ノード行列６３０が示す各リンクは、ツリーの枝として採用されなかったリンクであるが、少なくとも頻度（メッセージ数）は１以上であり、通信を行ったリンクである。このため、剰余ノード行列６３０が示す各リンクを細線や点線で示しメッセージ数と共に表示してもよい。
【００７３】
図９Ｂには、運用管理装置１３０が作成した（ａ）隣接ノード行列６１０と、（ｂ）構造ノード行列６２０と、（ｃ）剰余ノード行列６３０を示す。ところで、これらの行列は、縦軸および横軸の各ノード間で送受信したメッセージ数を一覧化したものである。
【００７４】
上記処理により、隣接ノード行列６１０から構造ノード行列６２０が作成され、構造ノード行列６２０として採用されなかったリンクが剰余ノード行列６３０として抽出される。運用管理装置１３０は、図９Ｂの隣接ノード行列６１０、構造ノード行列６２０、剰余ノード行列６３０、さらには、図８Ａ（ａ）に示した経路ヒストグラム６００の図表の表示画面を生成し、端末のディスプレイに表示出力してもよい。
【００７５】
上述した説明では、便宜上、ノード間接続毎にツリー構造を表示処理する例とした。これに限らず、未知ノード集合が空集合となることでトポロジ計算処理を終了し、得られたトポロジにしたがって無線メッシュネットワーク１００全体のトポロジを表示処理してもよい。このツリー構造の表示では、隣接ノード行列に記録されたメッセージ数が「０」より大きく、かつトポロジに組み入れられていないノード１０１同士を結合表示する。
【００７６】
以上説明した実施の形態１によれば、所定の評価期間における無線メッシュネットワーク１００のノード１０１を通過したメッセージ数に基づいて、メッセージを送受信した子ノードを順に探索して、通信を行ったリンクを評価していく。この際、メッセージ毎の経路の頻度（メッセージ数）の経路ヒストグラムからリンク毎のメッセージ数を表す隣接ノード行列を算出し、この隣接ノード行列から構造ノード行列を求めている。
【００７７】
構造ノード行列は、親ノードを起点としたツリーの深さ方向と幅方向のそれぞれで探索を行って求め、メッセージ数が大きいリンクを優先して枝（既知ノード）として採用し、未知のノードがなくなるまで探索する。そして、既知ノードとして採用されなかったリンクは剰余ノードとして抽出する。これにより、評価期間においてメッセージを送受信した実際のノードの接続状態（トポロジ）を得ることができるようになり、短時間で変動しないトポロジを提示できるようになる。
【００７８】
（実施の形態２）
実施の形態２では、無線メッシュネットワーク１００のトポロジの算出において、リンクに重みを付け、ノード間の結びつきに基づき評価を行う。例えば上述した実施の形態１で説明したノード１０１は、無線機（無線センサ）１１０のセンサが検知したセンサ情報を受信して他のノード１０１に転送する。ここで、センサはその種類によってメッセージの送信頻度が異なることがある。この場合、実施の形態１で説明したメッセージの頻度（メッセージ数）に基づく評価では、メッセージ数が多いリンクが優先して主な木構造として採用される傾向となる。しかし、センサの重要性は送信頻度とは必ずしも比例しないため、求める木構造とは異なる構造が得られる可能性がある。
【００７９】
実施の形態２では、そのような状況を回避するため、評価するリンクの重みを、出力ノードから出力する全メッセージ数で除する値で評価することにより、リンクをメッセージの絶対数ではなく、ノード間の結びつきの強さで評価する。
【００８０】
図１０は、実施の形態２にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。図１０の処理は、実施の形態１同様の構成の運用管理装置１３０（ＣＰＵ３０１）により実行することができる。
【００８１】
以下の説明では、評価期間におけるノード１０１の接続状態が実施の形態１同様の状態であったとする。また、図１１Ａ，図１１Ｂは、実施の形態２にかかるトポロジ算出の具体例を説明する図である。
【００８２】
はじめに、運用管理装置１３０（経路情報受信部５０１）は、受信したメッセージに含まれる経路情報を取得する（ステップＳ１００１）。この際、運用管理装置１３０は、設定した評価期間の間、無線メッシュネットワーク１００のトポロジ算出のために十分な所定数の経路情報を収集する（ステップＳ１００２：Ｎｏのループ）。運用管理装置１３０は、無線メッシュネットワーク１００のトポロジ算出のための経路情報（図１１Ａ（ａ）の経路ヒストグラム６００相当）を収集する。そして、十分な数の経路情報を取得できれば（ステップＳ１００２：Ｙｅｓ）、ステップＳ１００３の処理に移行する。
【００８３】
次に、運用管理装置１３０（リンクトラヒック分解部５０２）は、経路情報をリンク毎に分解する（ステップＳ１００３）。そして、運用管理装置１３０は、リンク毎のメッセージ数を対応するノード毎に分解して隣接ノード行列６１０（図１１Ａ（ｂ）、図１１Ｂ（ａ））を生成する。
【００８４】
さらに、運用管理装置１３０は、隣接ノード行列６１０を、ノードから送信される全メッセージ数で正規化した隣接ノード行列６１０（図１１Ａ（ｃ）、図１１Ｂ（ｂ））を生成する（ステップＳ１００４）。例えば、正規化は、一つのノードから出力するメッセージをこの一つのノードから出力する全メッセージ数で割って求める。
【００８５】
図１１Ａ（ｃ）、図１１Ｂ（ｂ）に示す正規化した隣接ノード行列１１１０の値は、例えば、ノードＢが送信するメッセージは、ノードＡへのメッセージ数「２３」だけであるため、「１」となる。また、ノードＣが送信するメッセージは、ノードＡへのメッセージ数「７」と、ノードＥへのメッセージ数「７」とを含むため、［Ｃ，Ａ］（リンクｃａ）が「０．５」、［Ｃ，Ｅ］（リンクｃｅ）が「０．５」といずれも同値となる。
【００８６】
以下の処理は、実施の形態（図７参照）と同様である。運用管理装置１３０（トポロジ計算部５０３）は、構造ノード行列６２０の作成の処理として、はじめに、親ノードＡ（１０１Ａ）を既知ノードとし、その他のノード１０１を未知ノードに設定する（ステップＳ１００５）。
【００８７】
そして、運用管理装置１３０は、未知ノードと既知ノード間のメッセージ数が最大となるペアを抽出する（ステップＳ１００６）。ここで、同値となるペアが複数となった場合は、親ノードＡ（１０１Ａ）までのホップ数が最も少ないものを選択する。
【００８８】
次に、運用管理装置１３０（トポロジ計算部５０３）は、ステップＳ１００６で抽出したペアについて、該当する既知ノードの子として未知ノードを登録する（ステップＳ１００７）。そして、運用管理装置１３０（トポロジ生成部５０４）は、ステップＳ１００６で登録した未知ノードを含む構造ノード行列６２０を生成する（ステップＳ１００８）。
【００８９】
次に、運用管理装置１３０（トポロジ生成部５０４）は、未知ノード集合が空であるか判断する（ステップＳ１００９）。ここでは、構造ノード行列６２０に登録する未知ノードがなくなったかを判断する。未知ノード集合が空でなければ（ステップＳ１００９：Ｎｏ）、運用管理装置１３０は、ステップＳ１００６の処理に戻る。一方、未知ノード集合が空になれば（ステップＳ１００９：Ｙｅｓ）、運用管理装置１３０は、構造ノード行列６２０に登録されなかったリンクを剰余ノード行列６３０として抽出し（ステップＳ１０１０）、以上の処理を終了する。
【００９０】
運用管理装置１３０は、構造ノード行列６２０を生成するステップＳ１００８、および剰余ノード行列６３０を抽出するステップＳ１０１０のそれぞれの処理で、ツリーとして表示出力するデータを生成する。生成したトポロジ（ツリー）は、運用管理装置１３０に接続された端末のディスプレイに表示出力される。
【００９１】
以上説明した実施の形態２によれば、実施の形態１同様に、評価期間においてメッセージを送受信した実際のノードの接続状態（トポロジ）を得ることができるようになり、短時間で変動しないトポロジを提示できるようになる。加えて、実施の形態２では、評価するリンクの重みを、ノードから出力するメッセージを全メッセージ数で割り正規化した値で評価する。これにより、リンクをメッセージの絶対数ではなく、ノード間の結びつきの強さで評価することができる。例えば、ノード毎の特性、例えば、ノードに送信する無線センサのセンサ種別によるメッセージ送信数の違いを補正してアドホックの無線メッシュネットワークの代表的なトポロジを算出できるようになる。
【００９２】
（実施の形態３）
実施の形態３は、上述した実施の形態１，２による無線メッシュネットワーク１００のトポロジの算出に加えて、無線メッシュネットワーク１００内での異常ルートを検出し、排除するものである。
【００９３】
図１２は、実施の形態３にかかる運用管理装置による異常ルートの検出状態を説明する図である。複数のノード間でメッセージを転送するマルチホップ無線では、無線環境が良好なリンクを選択して送信するが、状況によっては、図１２（ａ）に示すように、送信先のノードからさらに別のノードを経由して送信元ノードに戻ってしまうことがある（ループ）。図１２（ａ）の例では、例えば、ノードＤが送信しノードＢが受信したメッセージは正常であればノードＢがノードＡに転送する。ループでは、ノードＢが受信したメッセージが点線で示すように、ノードＣ→ノードＥ→ノードＥで１周する状態が生じている。
【００９４】
また、図１２（ｂ）に示すように、一旦送信したリンクを逆にたどって送信元に戻ってしまうことがある（ポーズ）。図１２（ｂ）の例では、ノードＢがノードＥに送信したメッセージは正常であればノードＥからノードＡに転送する。ポーズでは、ノードＢがノードＥに送信したメッセージが点線で示すように、ノードＢに戻る状態が生じている。
【００９５】
これらポーズおよびループはいずれも異常ルートであり、本来必要のないリンクやノードを通過しているため、トポロジの算出にノイズとして影響を与える可能性がある。
【００９６】
実施の形態３では、運用管理装置１３０は、受信した経路情報に基づき、ループやポーズの異常ルートの発生を検出し、異常ルート発生の検出時にはリンク毎のメッセージ数の集計対象としない処理を追加する。
【００９７】
図１３は、実施の形態３にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。図１３には、実施の形態１（図７参照）同様のトポロジ算出の処理を示し、同じ処理内容には図７同様の符号を付し説明を省略する。運用管理装置１３０は、ステップＳ７０２の実行後、異常ルートの検出（除去）を行う（ステップＳ１３００）。
【００９８】
異常ルートとしてのループは、あるノードが送信したメッセージが別のノードを経由して戻る状態を検出する。ポーズは、あるノードが送信したメッセージのリンクから同じメッセージを逆に受信した状態を検出する。運用管理装置１３０は、親ノード１０１Ａを介して受信した経路情報として、メッセージ毎の送信元ノード、送信先ノード、ホップ数を取得しており、ループやポーズ等の異常ルートの発生を検出できる。ステップＳ１３００の実行後、運用管理装置１３０は、ステップＳ７０３（図７参照）以下の処理を実行する。
【００９９】
図１４，図１５は、実施の形態３にかかる運用管理装置による異常ルートの検出の処理例を示すフローチャートである。図１４，図１５のいずれも図１３のステップＳ１３００の詳細な処理例を示す。運用管理装置１３０は、無線メッシュネットワーク１００から取得した経路情報に基づき、全てのノードに対して異常ルート（ループおよびポーズ）の発生を検出する。
【０１００】
図１４の処理例では、異常ルートを削除する。はじめに、運用管理装置１３０（トポロジ計算部５０３）は、異常ルート発生検出のための探索用の一つの開始ノードを設定する（ステップＳ１４０１）。次に、経路情報（経路ヒストグラム６００相当）に基づき、開始ノードに接続された次ノードを取得する（ステップＳ１４０２）。
【０１０１】
そして、運用管理装置１３０は、この次ノードがメッセージの宛先（親ノード１０１Ａ）であるか判断する（ステップＳ１４０３）。次ノードがメッセージの宛先であれば（ステップＳ１４０３：Ｙｅｓ）、運用管理装置１３０は、スタック情報を出力し（ステップＳ１４０８）、以上の処理を終了する（図１３のステップＳ７０３に戻る）。
【０１０２】
スタック情報は、例えば、経路ヒストグラム６００（図６参照）に示した経路に相当する。そして、一つのリンクに相当するメッセージ送信元のノード「Ｄ」と受信したノード「Ｅ」を、宛先（親ノード１０１Ａ）に到達するまで「Ｄ，Ｅ，Ｂ，Ａ」として積み重ねた（スタック）ものを示す。
【０１０３】
ステップＳ１４０３において、次ノードがメッセージの宛先でなければ（ステップＳ１４０３：Ｎｏ）、運用管理装置１３０は、次ノードの出現は２回目であるか判断する（ステップＳ１４０４）。次ノードの出現が２回目であれば（ステップＳ１４０４：Ｙｅｓ）、運用管理装置１３０は、ループあるいはポーズの発生と判断し、ループ・ポーズ出現フラグの値を「１」に設定する（ステップＳ１４０５）。この後、運用管理装置１３０は、ノードの初回出現以降のルートをスタックから除去し（ステップＳ１４０６）、ステップＳ１４０２の処理に戻る。
【０１０４】
ステップＳ１４０６では、例えば、スタックが「Ｄ，Ｂ，Ｃ，Ｅ，Ｂ，Ａ」となった場合、ノードＢが２回出現しているため、異常ルートに相当する「Ｃ，Ｅ，Ｂ」を除去し、スタックを「Ｄ，Ｂ，Ａ」に修正する。
【０１０５】
一方、次ノードの出現が２回目でなければ（ステップＳ１４０４：Ｎｏ）、運用管理装置１３０は、次ノードのスタックへの追加（通常のスタック処理）を行い（ステップＳ１４０７）、ステップＳ１４０２の処理に戻る。
【０１０６】
上記のように、ループあるいはポーズの異常ルートを検出した場合、運用管理装置１３０は、これらループあるいはポーズの経路（図１２（ａ），（ｂ）に示す点線）の情報をツリー構造から削除する。この後、運用管理装置１３０は、ステップＳ７０３の処理に移行する。
【０１０７】
図１４に示した処理では、運用管理装置１３０は、異常ルートをスタックから削除することとした。図１５の処理例では、検出したループやポーズの異常ルートを削除するとともに、異常ルートの情報をそれぞれ集計して保持する。
【０１０８】
図１５の処理では、はじめに、運用管理装置１３０（トポロジ計算部５０３）は、異常ルート発生検出のための探索用の一つの開始ノードを設定する（ステップＳ１５０１）。次に、経路情報（経路ヒストグラム６００相当）に基づき、開始ノードに接続された次ノードを取得する（ステップＳ１５０２）。
【０１０９】
そして、運用管理装置１３０は、この次ノードがメッセージの宛先（親ノード１０１Ａ）であるか判断する（ステップＳ１５０３）。次ノードがメッセージの宛先であれば（ステップＳ１５０３：Ｙｅｓ）、スタック情報を経路として出力し（ステップＳ１５１０）、以上の処理を終了する（図１３のステップＳ７０３に戻る）。
【０１１０】
ステップＳ１５０３において、次ノードがメッセージの宛先でなければ（ステップＳ１５０３：Ｎｏ）、運用管理装置１３０は、次ノードの出現は２回目であるか判断する（ステップＳ１５０４）。次ノードの出現が２回目であれば（ステップＳ１５０４：Ｙｅｓ）、ステップＳ１５０５の処理に移行し、次ノードの出現が２回目でなければ（ステップＳ１５０４：Ｎｏ）、ステップＳ１５０９の処理に移行する。
【０１１１】
ステップＳ１５０５では、運用管理装置１３０は、初回と２回目の間にあるノード数は１であるか判断する（ステップＳ１５０５）。初回と２回目の間にあるノード数が１であれば（ステップＳ１５０５：Ｙｅｓ）、運用管理装置１３０は、ポーズの発生と判断し、ノードの初回出現以降のルートをポーズルートテーブルに追加する（ステップＳ１５０６）。初回と２回目の間にあるノード数が１でなければ（ステップＳ１５０５：Ｎｏ）、運用管理装置１３０は、ループの発生と判断し、ノードの初回出現以降のルートをループルートテーブルに追加する（ステップＳ１５０７）。
【０１１２】
図１２（ａ）の例では、二回出現しているノードＢの間にあるノードはノードＣ，Ｅの２つなので、上記処理にしたがいループルートと判定され、この情報はループルートテーブルに保持される。その際、ノードＢ→Ｃ→Ｅ→Ｂと、最後に最初のノードＢを付加してループであることがユーザに対しより明確に把握可能な表示を行ってからループルートテーブルに保存してもよい。また、同一のループルートが複数検出された場合は、そのルート毎に出現数を保持するようにしてもよい。
【０１１３】
同様に、図１２（ｂ）に示したように、ノードＤ→Ｂ→Ｅ→Ｂ→Ａ間にポーズルートが検出された場合は、二回出現しているノードＢの間にあるノードはノードＥの一つであるため、ポーズルートとして判定され、情報はポーズルートテーブルに保持される。
【０１１４】
ステップＳ１５０６，ステップＳ１５０７の処理後、運用管理装置１３０は、ノードの初回出現以降のルートをスタックから除去し（ステップＳ１５０８）、ステップＳ１５０２の処理に戻る。
【０１１５】
ステップＳ１５０９の処理では、運用管理装置１３０は、次ノードのスタックへの追加（通常のスタック処理）を行い（ステップＳ１５０９）、ステップＳ１５０２の処理に戻る。
【０１１６】
上記のように、ループあるいはポーズの異常ルートを検出した場合、運用管理装置１３０は、これらループおよびポーズの経路（図１２（ａ），（ｂ）に示す点線）の情報をツリー構造から削除する。また、ポーズルートテーブルおよびループルートテーブルは、運用管理装置１３０のメモリ３０２や記録媒体３０５を用いて保持でき、これらポーズおよびループの発生をそれぞれ区別して保持できる。そして運用管理装置１３０は、保持した異常ルートの情報であるポーズおよびルートの一覧として端末のディスプレイに表示出力することができる。
【０１１７】
上記説明では、異常ルートの検出処理（ステップＳ１３００）を実施の形態１（図７の処理）に適用した例を示したが、同様に実施の形態２（図１０の処理）に適用することもできる。
【０１１８】
以上説明した実施の形態３によれば、実施の形態１，２同様に、評価期間においてメッセージを送受信した実際のノードの接続状態（トポロジ）を得ることができるようになり、短時間で変動しないトポロジを提示できるようになる。加えて、実施の形態３によれば、本来必要のないリンクの通過を検出し削除することで、ノイズとなる経路を削除したトポロジを算出できるようになる。また、ポーズおよびルートの発生したルートの情報をそれぞれ保持し、異常ルートとして表示出力することもできる。
【０１１９】
（実施の形態４）
実施の形態４では、無線メッシュネットワーク１００内のノード１０１の物理的な距離を考慮したトポロジを算出する。一般に無線メッシュネットワーク１００内の無線通信ではメッセージを送受信するノード１０１間の距離に比例して電波強度が弱くなるという性質を有する。無線センサ１１０を持った作業員が現場内を移動し、移動位置のノード１０１と通信するような状況では、作業員の代表的な物理的位置をツリー構造に反映させることが望ましい。
【０１２０】
ノード間の距離は電波強度として表れる。実施の形態４では、ノード１０１は、受信したメッセージの電波強度（ＲＳＳＩ：Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｉｏｎ）を経路情報に含ませる。電波強度は、通常−９０ｄＢｍから−３０ｄＢｍの負の値をとることが多い。実施の形態４では、この電波強度の値をリンクのメッセージ数の補正係数として用いる。そして、運用管理装置１３０は、経路情報に含まれるリンクの電波強度を取得し、リンク毎のメッセージ数を集計する際に、リンクの平均電波強度を加えてトポロジを算出する。
【０１２１】
図１６は、実施の形態４にかかるノード間の距離を電波強度を用いトポロジを算出する具体例を説明する図である。図１６（ａ）に示す所定のトポロジが得られたとする。このトポロジは、例えば、実施の形態１（図６（ｃ））の構造ノード行列６２０（ツリー）であるとする。この図１６（ａ）に示したトポロジでは、ノード１０１の物理的な距離を考慮していない。
【０１２２】
図１６（ｂ）は、図１６（ａ）に示した各ノード１０１間の電波強度を示す。例えば、リンクｃａ間（ノードＡ受信）の電波強度が「−７０ｄＢｍ」、リンクｃｅ（ノードＥ受信）の電波強度が「−３０ｄＢｍ」（リンクｃａ間より電波強度が強い）であったとする。この場合、運用管理装置１３０は、電波強度を無線メッシュネットワーク１００全体で正規化した電波強度指数に変換する。例えば、電波強度指数は、下記式（１）のように、リンクの電波強度から最小電波強度を減じて１０を加えた値を１０で除することにより得られる。
【０１２３】
電波強度＝（リンク電波強度−最小電波強度＋１０）／１０    …（１）
（最小電波強度は全リンク内の最小の電波強度）
【０１２４】
図１６（ｂ）では、正規化により、リンクｃａ間の電波強度指数が「１」、リンクｃｅの電波強度指数は「５」と算出される。電波強度指数はメッセージ数に対する補正係数（重み）に相当する。
【０１２５】
そして、運用管理装置１３０は、図１６（ａ）に示すように、メッセージ数と電波強度指数の積を求める。例えば、リンクｃａ間は、メッセージ数「７」に電波強度指数「１」を乗算した値「７」が得られる。リンクｃｅは、メッセージ数「６」に電波強度指数「５」を乗算した値「３０」が得られる。
【０１２６】
図１６（ｃ）は、電波強度を考慮しない場合のトポロジ算出状態である。電波強度を考慮せず、図１６（ａ）のメッセージ数だけでトポロジ算出した場合、実施の形態１（図８Ｂ（ｂ））の構造ノード行列６２０となる。
【０１２７】
図１６（ｄ）は、実施の形態４による電波強度を考慮した場合のトポロジ算出状態である。上述したように、メッセージと電波強度指数の積で得たトポロジでは、実際のノード間の電波強度（距離に相当）を考慮することで、ノードＣは、ノードＥに接続される形に変更されている。
【０１２８】
図１７は、実施の形態４にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。図１７には、実施の形態１（図７参照）同様のトポロジ算出の処理を示し、同じ処理内容には図７同様の符号を付し説明を省略する。
【０１２９】
運用管理装置１３０は、ステップＳ７０４の実行後、上記式（１）に基づき、受信した経路情報に含まれる該当するリンクのノード１０１が受信した平均電波強度を求める（ステップＳ１７０１）。そして、運用管理装置１３０は、リンク毎の平均電波強度から電波強度の最小電波強度を減じた値を隣接ノード行列６１０の各要素に乗算する（ステップＳ１７０２）。ステップＳ１７０２の実行後、運用管理装置１３０は、ステップＳ７０５（図７参照）以下の処理を実行する。
【０１３０】
以上説明した実施の形態４によれば、実施の形態１，２同様に、評価期間においてメッセージを送受信した実際のノードの接続状態（トポロジ）を得ることができるようになり、短時間で変動しないトポロジを提示できるようになる。加えて、実施の形態４によれば、経路情報とともにリンク毎の電波強度に基づき、物理的な距離相当を考慮したトポロジを算出することができる。この際、ノードが送信するメッセージ数は同一であっても電波強度の低いリンクは小さく評価されることになり、トポロジに物理的な距離を反映することができ、より実際の運用状態に沿ったトポロジを算出できるようになる。なお、実施の形態４の処理に加えて、実施の形態３で説明した異常ルートの検出処理を加えることもできる。
【０１３１】
（実施の形態５）
実施の形態５では、無線メッシュネットワーク１００の電波強度の情報を用いずにホップ数に基づきトポロジを算出する。上述した実施の形態４では、電波強度の測定結果を用いることによって、現場のノード１０１の物理的な位置を考慮したツリー構造を得ているが、電波強度が取得できない場合もある。
【０１３２】
マルチホップ無線では、ノード１０１間の通信状況に応じて転送経路が変動し、あるノード１０１がツリー構造上で移動した場合、親ノード１０１Ａに近いノード１０１に接続される場合もあれば、逆に遠いノード１０１に接続される場合も生じる。ツリー構造の深さは状況によって変化する。
【０１３３】
実施の形態５では、ネットワーク管理者の設計や現場の状況から深いツリー構造をとることが既知の場合、未知ノードをいずれかの既知ノードの子として登録するとき、既知ノードの親までのホップ数が深いノード１０１を優先して評価する。
【０１３４】
実施の形態５では、補正係数として実施の形態４で用いた電波強度指数に代えて各ノード１０１から親ノード１０１Ａまでのホップ数を用いる。ツリー構造の探索では、通常、ツリーは下（枝）から上（親ノード）に向かう深さ優先探索を優先して行う。実施の形態５では、子ノードとして登録する対象のノード１０１について、親ノード１０１Ａまでのホップ数を、深さ優先探索の重み（補正係数）として用いる。
【０１３５】
図１８は、実施の形態５にかかるノード間の距離をホップ数を用いトポロジを算出する具体例を説明する図である。図１８（ａ）に示すように、ノードＣからノードＡ，Ｅに向かうリンクｃａ，ｃｅを評価するとき、登録される側のノードＡ，Ｅのそれぞれの親ノード１０１Ａまでのホップ数はそれぞれ「０」（自身が親ノードのため），「２」（ノードＥ→Ｂ→Ａ）である。運用管理装置１３０は、これらの値に「１」を加えた値「１」，「３」を補正係数とする。そして、それぞれのメッセージ数「７」，「６」に補正係数「１」，「３」を乗じ、それぞれの値「７」（７×１），「１８」（６×３）を得る。
【０１３６】
図１８（ｂ）は、親までのホップ数を考慮せず、メッセージ数のみに基づいて算出した場合のツリー構造である。ホップ数を考慮せず、メッセージ数だけでトポロジ算出した場合、図示の構造ノード行列６２０となる。これに対し、実施の形態５の上記処理によれば、図１８（ｃ）に示すように、構造が深くなることを既知の条件として与えた場合、ノード間のホップ数を考慮することで、ノードＣは、ノードＥに接続される形に変更されている。例えば、トンネルのようなあらかじめツリー構造が深くなることが既知の現場において、実際のノード配置に近いツリー構造を得ることができるようになる。
【０１３７】
図１９は、実施の形態５にかかる運用管理装置によるトポロジ算出の処理例を示すフローチャートである。図１９には、実施の形態１（図７参照）同様のトポロジ算出の処理を示し、同じ処理内容には図７同様の符号を付し説明を省略する。
【０１３８】
運用管理装置１３０は、ステップＳ７０５の実行後、未知ノードと既知ノード間の重みを抽出し、既知ノードと親ノードまでのホップ数に「１」を加えた値をメッセージ数に乗じた算出を行う（ステップＳ１９０１）。ステップＳ１９０１の実行後、運用管理装置１３０は、ステップＳ７０６（図７参照）以下の処理を実行する。
【０１３９】
実施の形態５によれば、実施の形態１，２同様に、評価期間においてメッセージを送受信した実際のノードの接続状態（トポロジ）を得ることができるようになり、短時間で変動しないトポロジを提示できるようになる。加えて、実施の形態５によれば、ノードから電波強度を取得できない場合でもホップ数に基づき実際のノードの配置に沿ったツリー構造のトポロジを算出できるようになる。なお、実施の形態５の処理に加えて、実施の形態３で説明した異常ルートの検出処理を加えることもできる。
【０１４０】
以上説明した実施の形態によれば、送信元のノードが他のノードのリンクを介して経路情報を含むメッセージを親ノードにマルチホップで転送する無線メッシュネットワークのトポロジを算出する。この際、親ノードが受信する複数のメッセージを一定の評価期間の間、取得する。そして、取得した経路情報に基づき、無線メッシュネットワークをリンク毎に分解した後、複数のメッセージの経路情報に含まれるリンク毎のメッセージの受信状態に基づき、親ノードを起点として送信元のノードまでの経路を探索し、トポロジを算出する。これにより、時間的な変動の影響を受けないトポロジを算出できるようになる。
【０１４１】
例えば、マルチホップの無線メッシュネットワークでは電波状況の良好なリンクを選択して通信が行われるため、メッセージの通過する経路は時間により異なり、トポロジが時間的に変動し、代表的なトポロジを得ることが難しい。しかし、実施の形態によれば、一定の評価期間の間における無線メッシュネットワークの代表的な全体構造を容易に把握できるようになる。
【０１４２】
そして、無線メッシュネットワークを構成する複数のノードの結合関係を提示でき、ユーザがネットワークの全体構造を容易に把握できるようになる。これにより、ネットワーク設計時や、ノードの配置時に想定した経路に対して、実際に運用した際の経路の違いを容易に把握できるようになる。また、ノードの物理的な配置にできるだけ近づけたトポロジを提示できるようになり、ユーザ側でのノードの位置把握などの運用管理にかかる工数を削減できるようになる。
【０１４３】
また、リンク毎の前記メッセージの受信状態として、リンク毎のメッセージ数を用い、トポロジを算出することができる。これにより、メッセージ数が多いリンクを優先してトポロジを算出できるようになる。
【０１４４】
また、トポロジ算出は、より具体的には、ノードを既知ノードと未知ノードに分ける。そして、複数のメッセージの経路情報に含まれるリンク毎のメッセージ数に基づき、親ノードを既知ノードとして、未知ノードからなるリンクのうちメッセージ数が最大となるリンクのノードを既知ノードの子ノードとする。この後、既知ノードとした子ノードに対し、未知ノードからなるリンクのうちメッセージ数が最大となるリンクのノードを子ノードの子ノードとする処理を、未知ノードがなくなるまで繰り返して行う。これにより、複数のノードを有する無線メッシュネットワーク全体のトポロジを効率的に算出できるようになる。
【０１４５】
また、算出したトポロジに対応し、親ノードに接続される複数の子ノードの情報を各ノード間のメッセージ数として一覧化した構造ノード行列を作成してもよい。これにより、構造ノード行列に基づき、各ノード間のメッセージの送信状態を容易に把握できるようになる。
【０１４６】
また、構造ノード行列に基づき、親ノードに対する複数の前記ノードの接続状態のツリー構造を生成してもよい。これにより、ツリー構造に基づき、各ノード間の接続状態を容易に把握できるようになる。
【０１４７】
また、前記構造ノード行列に含まれなかったノードを一覧化した剰余ノード行列を作成してもよい。剰余ノード行列は、算出したトポロジのツリー構造の枝として採用されなかったリンクに相当するが、メッセージ送信を行っているリンクであり、剰余ノード行列として提示されたノードおよびリンクの存在を確認できるようになる。
【０１４８】
また、リンク毎のメッセージの受信状態として、送信元のノード毎に当該ノードが送信するメッセージ数を正規化し、正規化した値を用い、トポロジを算出してもよい。これにより、単にメッセージ数が多いリンクのみがトポロジとして算出されることがなく、ノード間の結びつきの強さを考慮して算出できる。例えば、ノード毎の特性、例えば、ノードに送信する無線センサのセンサ種別によるメッセージ送信数が違っても、重要なメッセージである場合に対応した補正を行って無線メッシュネットワークの代表的なトポロジを算出できるようになる。
【０１４９】
また、同一のリンクを複数回通過するループルート、および同一ノードを複数回通過するポーズルートを検出し、前記トポロジから除外する処理を行ってもよい。これら異常ルートを検出することで、本来必要のないリンクやノードを除外することで、ノイズとなる経路を削除したトポロジを算出できるようになる。
【０１５０】
また、検出したループルートと、ポーズルートの情報をそれぞれ保存し、通知してもよい。これにより、ユーザにループルートと、ポーズルートの発生を提示でき、ユーザ側での確認および対策を促すことができる。
【０１５１】
また、リンク毎のメッセージの受信状態として、リンク毎の電波強度を取得し、メッセージ数に電波強度に基づく補正係数を掛けた値を用い、トポロジを算出することとしてもよい。これにより、経路情報とともにリンク毎の電波強度に基づき、物理的な距離相当を考慮したトポロジを算出することができる。そして、ノードが送信するメッセージ数は同一であっても電波強度の低いリンクは小さく評価されることになり、トポロジに物理的な距離を反映することができ、より実際の運用状態に沿ったトポロジを算出できるようになる。例えば、無線センサを持った作業員が現場内を移動し、移動位置のノードと通信するような状況において、作業員の代表的な物理的位置をトポロジに反映できるようになる。
【０１５２】
また、リンク毎のメッセージの受信状態として、送信元のノードから親ノードまでのホップ数を取得し、メッセージ数にホップ数に基づく補正係数を掛けた値を用い、トポロジを算出することとしてもよい。これにより、ノードから電波強度を取得できない場合でもホップ数に基づき実際のノードの配置に沿ったツリー構造のトポロジを算出できるようになる。
【０１５３】
なお、本発明の実施の形態で説明した無線メッシュネットワークのトポロジ算出にかかる方法は、あらかじめ用意されたプログラムをサーバ等のプロセッサに実行させることにより実現することができる。本方法は、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本方法は、インターネット等のネットワークを介して配布してもよい。
【０１５４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５５】
（付記１）送信元のノードが他のノードのリンクを介して経路情報を含むメッセージを親ノードにマルチホップで転送する無線メッシュネットワークのトポロジを算出する運用管理方法において、
前記親ノードが受信する複数の前記メッセージを一定の評価期間の間、取得する第１処理と、
前記経路情報に基づき、前記無線メッシュネットワークを前記リンク毎に分解する第２処理と、
複数の前記メッセージの経路情報に含まれる前記リンク毎の前記メッセージの受信状態に基づき、前記親ノードを起点として送信元のノードまでの経路を探索し、トポロジを算出する第３処理と、
をコンピュータが実行することを特徴とする無線メッシュネットワークの運用管理方法。
【０１５６】
（付記２）前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、前記リンク毎のメッセージ数を用い、前記トポロジを算出する、
ことを特徴とする付記１に記載の無線メッシュネットワークの運用管理方法。
【０１５７】
（付記３）前記第３処理は、
前記ノードを既知ノードと未知ノードに分け、
複数の前記メッセージの経路情報に含まれる前記リンク毎のメッセージ数に基づき、
前記親ノードを既知ノードとして、未知ノードからなる前記リンクのうちメッセージ数が最大となるリンクのノードを既知ノードの子ノードとし、
既知ノードとした前記子ノードに対し、未知ノードからなる前記リンクのうちメッセージ数が最大となるリンクのノードを前記子ノードの子ノードとする処理を、前記未知ノードがなくなるまで繰り返す、
ことを特徴とする付記２に記載の無線メッシュネットワークの運用管理方法。
【０１５８】
（付記４）前記第３処理で算出した前記トポロジに対応し、前記親ノードに接続される複数の前記子ノードの情報を前記各ノード間のメッセージ数として一覧化した構造ノード行列を作成する第４処理を含む、
ことを特徴とする付記３に記載の無線メッシュネットワークの運用管理方法。
【０１５９】
（付記５）前記第４処理は、前記構造ノード行列に基づき、前記親ノードに対する複数の前記ノードの接続状態のツリー構造を生成する、
ことを特徴とする付記４に記載の無線メッシュネットワークの運用管理方法。
【０１６０】
（付記６）前記第４処理は、前記構造ノード行列に含まれなかったノードを一覧化した剰余ノード行列を作成する、
ことを特徴とする付記４または５に記載の無線メッシュネットワークの運用管理方法。
【０１６１】
（付記７）前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、送信元の前記ノード毎に当該ノードが送信するメッセージ数を正規化し、前記正規化した値を用い、前記トポロジを算出する、
ことを特徴とする付記１，４〜６のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【０１６２】
（付記８）前記第１処理の後、同一のリンクを複数回通過するループルート、および同一ノードを複数回通過するポーズルートを検出し、前記トポロジから除外する、
ことを特徴とする付記１〜７のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【０１６３】
（付記９）検出した前記ループルートと、前記ポーズルートの情報をそれぞれ保存し、通知する、
ことを特徴とする付記８に記載の無線メッシュネットワークの運用管理方法。
【０１６４】
（付記１０）前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、前記リンク毎の電波強度を取得し、前記メッセージ数に前記電波強度に基づく補正係数を掛けた値を用い、前記トポロジを算出する、
ことを特徴とする付記１，４〜９のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【０１６５】
（付記１１）前記第３処理は、
前記リンク毎の前記メッセージの受信状態として、送信元の前記ノードから前記親ノードまでのホップ数を取得し、前記メッセージ数に前記ホップ数に基づく補正係数を掛けた値を用い、前記トポロジを算出する、
ことを特徴とする付記１，４〜９のいずれか一つに記載の無線メッシュネットワークの運用管理方法。
【０１６６】
（付記１２）送信元のノードが他のノードのリンクを介して経路情報を含むメッセージを親ノードにマルチホップで転送する無線メッシュネットワークのトポロジを算出する運用管理装置において、
前記親ノードが受信する複数の前記メッセージを一定の評価期間の間、取得し、
前記経路情報に基づき、前記無線メッシュネットワークを前記リンク毎に分解し、
複数の前記メッセージの経路情報に含まれる前記リンク毎の前記メッセージの受信状態に基づき、前記親ノードを起点として送信元のノードまでの経路を探索し、トポロジを算出する制御部、
を備えたことを特徴とする無線メッシュネットワークの運用管理装置。
【０１６７】
（付記１３）前記制御部は、
前記算出した前記トポロジに対応し、前記親ノードに接続される複数の前記ノードの情報を前記各ノード間のメッセージ数として一覧化した構造ノード行列を作成する、
ことを特徴とする付記１２に記載の無線メッシュネットワークの運用管理装置。
【０１６８】
（付記１４）前記制御部は、
前記構造ノード行列に基づき、前記親ノードに対する複数の前記ノードの接続状態のツリー構造を生成する、
ことを特徴とする付記１３に記載の無線メッシュネットワークの運用管理装置。
【０１６９】
（付記１５）前記制御部は、
前記構造ノード行列に含まれなかったノードを一覧化した剰余ノード行列を作成する、
ことを特徴とする付記１３または１４に記載の無線メッシュネットワークの運用管理装置。
【０１７０】
（付記１６）前記制御部は、
前記親ノードから前記メッセージを受信するサーバに備えたことを特徴とする付記１２〜１５のいずれか一つに記載の無線メッシュネットワークの運用管理装置。
【０１７１】
（付記１７）前記制御部は、
前記親ノードに備えたことを特徴とする付記１２〜１５のいずれか一つに記載の無線メッシュネットワークの運用管理装置。
【０１７２】
（付記１８）前記制御部は、
算出した前記トポロジを含む情報を外部の表示装置に表示出力することを特徴とする付記１２〜１７のいずれか一つに記載の無線メッシュネットワークの運用管理装置。
【符号の説明】
【０１７３】
１００  無線メッシュネットワーク
１０１Ａ  親ノード
１０１  ノード（子ノード）
１１０  無線センサ
１２０  ゲートウェイ
１３０  運用管理装置
３０１，４０１  ＣＰＵ
３０２，４０２  メモリ
３０３  ネットワークＩ／Ｆ
３０５  記録媒体
３１０  ネットワーク
４０３  通信Ｉ／Ｆ
４０４  センサ
５０１  経路情報受信部
５０２  リンクトラヒック分解部
５０３  トポロジ計算部
５０４  トポロジ生成部
６００  経路ヒストグラム
６１０，１１１０  隣接ノード行列
６２０  構造ノード行列
６３０  剰余ノード行列
【図１】
2020167487.tif 000003
【図２】
2020167487.tif 000004
【図３】
2020167487.tif 000005
【図４】
2020167487.tif 000006
【図５】
2020167487.tif 000007
【図６】
2020167487.tif 000008
【図７】
2020167487.tif 000009
【図８Ａ】
2020167487.tif 000010
【図８Ｂ】
2020167487.tif 000011
【図９Ａ】
2020167487.tif 000012
【図９Ｂ】
2020167487.tif 000013
【図１０】
2020167487.tif 000014
【図１１Ａ】
2020167487.tif 000015
【図１１Ｂ】
2020167487.tif 000016
【図１２】
2020167487.tif 000017
【図１３】
2020167487.tif 000018
【図１４】
2020167487.tif 000019
【図１５】
2020167487.tif 000020
【図１６】
2020167487.tif 000021
【図１７】
2020167487.tif 000022
【図１８】
2020167487.tif 000023
【図１９】
2020167487.tif 000024