(57)【要約】【課題】各ノードの管理情報の一部が受信できなくても、より正確なネットワークトポロジ情報を推定することが可能なネットワークトポロジ推定装置を提供する。【解決手段】ネットワークトポロジ推定装置は、ネットワークを構築するノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、そのノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを有する。推定部（２５）は、現在のネットワークトポロジ情報から、予め定められた規則に不適合な接続関係を有するノードである推定対象ノードを選択し、当該推定対象ノードの実際の接続関係を、過去のネットワークトポロジ情報に基づいて推定する。【選択図】図３
2014096705.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構築するノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、前記ノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを有し、
前記現在のネットワークトポロジ情報から、予め定められた規則に不適合な接続関係を有するノードである推定対象ノードを選択し、当該推定対象ノードの実際の接続関係を、前記過去のネットワークトポロジ情報に基づいて推定する推定部と、を有するネットワークトポロジ推定装置。
【請求項２】
前記現在のネットワークトポロジ情報および前記過去のネットワークトポロジ情報のそれぞれは、前記ノード間の親子関係を示し、
前記推定部は、前記規則に不適合な親ノードを有するノードを前記推定対象ノードとして選択する、請求項１に記載のネットワークトポロジ推定装置。
【請求項３】
前記推定部は、前記推定対象ノードの実際の親ノードが、前記過去のネットワークトポロジ情報における前記推定対象ノードの親ノードである元親ノードと推定する、請求項２に記載のネットワークトポロジ推定装置。
【請求項４】
前記現在のネットワークトポロジ情報および前記過去のネットワークトポロジ情報のそれぞれは、前記ノード間の親子関係を、各ノードに対する、当該ノードのネットワークアドレスである自ネットワークアドレスと、当該ノードの親ノードのネットワークアドレスである親ネットワークアドレスとの関係で示し、
前記推定部は、前記現在のネットワークトポロジ情報における前記元親ノードの自ネットワークアドレスを、前記現在のネットワークトポロジ情報における前記推定対象ノードの親ネットワークアドレスに変更した推定ネットワークトポロジ情報を作成する、請求項３に記載のネットワークトポロジ推定装置。
【請求項５】
前記現在のネットワークトポロジ情報および前記過去のネットワークトポロジ情報のそれぞれは、前記ノード間の親子関係を、各ノードに対する、当該ノードのネットワークアドレスである自ネットワークアドレスと、当該ノードの親ノードのネットワークアドレスである親ネットワークアドレスとの関係で示し、
前記推定部は、前記現在のネットワークトポロジ情報における前記推定対象ノードの親ネットワークアドレスを、前記現在のネットワークトポロジ情報における前記推定対象ノードの元親ノードの自ネットワークアドレスに変更した推定ネットワークトポロジ情報を作成する、請求項３に記載のネットワークトポロジ推定装置。
【請求項６】
前記推定部は、前記現在のネットワークトポロジ情報において、自ネットワークアドレスとして存在しないネットワークアドレスを親ネットワークアドレスとして有するノードを、前記推定対象ノードとして選択する、請求項４または５に記載のネットワークトポロジ推定装置。
【請求項７】
前記ノードから、前記接続関係を特定するための管理情報を受信する受信部と、
前記管理情報に基づいて、前記現在のネットワークトポロジ情報および前記過去のネットワークトポロジ情報を作成する作成部と、をさらに有する請求項１ないし６のいずれか１項に記載のネットワークトポロジ推定装置。
【請求項８】
前記現在のネットワークトポロジ情報および前記過去のネットワークトポロジ情報のそれぞれは、前記ノード間の接続関係を、各ノードに対する、当該ノードのネットワークアドレスである自ネットワークアドレスと、当該ノードの親ノードのネットワークアドレスである親ネットワークアドレスとの関係で示し、
前記作成部は、前記現在のネットワークトポロジ情報における、前記自ネットワークアドレスが競合する複数の競合ノードのうち、前記受信部が各競合ノードから受信した管理情報の中で最新の管理情報に対応する競合ノード以外の競合ノードの自ネットワークアドレスを無効な値に修正する、請求項７項に記載のネットワークトポロジ推定装置。
【請求項９】
ネットワークを構築するノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、前記ノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを有し、
前記現在のネットワークトポロジ情報から、予め定められた規則に不適合な接続関係を有するノードである推定対象ノードを選択し、当該推定対象ノードの実際の接続関係を、前記過去のネットワークトポロジ情報に基づいて推定する、ネットワークトポロジ推定方法。
【請求項１０】
ネットワークを構築するノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、前記ノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを有するコンピュータに、
前記現在のネットワークトポロジ情報から、予め定められた規則に不適合な接続関係を有するノードである推定対象ノードを選択し、当該推定対象ノードの実際の接続関係を、前記過去のネットワークトポロジ情報に基づいて推定する手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークトポロジを推定する技術に関する。
【背景技術】
【０００２】
スマートグリッドやＭ２Ｍ（Machine to Mchine）ネットワークの分野では、通常、オフィス、工場、家庭および自動車などのローカルエリアごとに、センサデバイスや環境情報測定機器のような時間とともに変化する特定の情報（例えば、環境情報、電力情報、温度情報、振動情報および音情報など）を取得する検出デバイスや、機械を作動させるアクチュエーターデバイスが設置されている。
【０００３】
検出デバイスやアクチュエーターデバイスは、各ローカルエリアに設置された情報処理装置である内部サーバだけでなく、通信網（インターネット網、３Ｇ網、ＬＴＥ網、Ｗｉｍａｘ網、ＰＨＳ網およびＰＬＣ通信網など）を介して接続された情報処理装置である外部サーバとも通信を行うことがある。この場合、検出デバイスで取得された情報は、内部サーバで処理されるだけでなく、外部サーバでも処理され、アクチュエーターデバイスは、内部サーバから制御されるだけでなく、外部サーバからも制御される。
【０００４】
例えば、各家庭においてセンサデバイスである電力メータにて取得された消費電力情報は、各家庭に設置された内部サーバで処理されるだけでなく、電力供給を行う会社(発電会社、送電会社または配電会社)などに設置された外部サーバでも処理されることがある。
【０００５】
外部サーバによる処理や制御は、近年、特にスマートグリッドの分野において、電力スマートメーター、ガススマートメーター、水道スマートメーターのスマートメーターなどによる自動検針や関連機器の遠隔制御あるいは自動制御、その他の付加価値サービスへの適用などの観点から注目されている。なお、この場合、各スマートメーターがセンサデバイスやアクチュエーターデバイスとなる。
【０００６】
また、上記のようなスマートグリッドやＭ２Ｍネットワークの分野や、他のホームネットワーク、オフィスネットワークおよび屋外通信ネットワークなどの分野では、情報の送受信を行う複数のノードが自律的に無線マルチホップネットワークと呼ばれるネットワークを構築する無線マルチホップ通信が注目されている。無線マルチホップ通信では、キャリアなどが提供する通信インフラストラクチャーが必要なくなるため、通信エリアの拡大、通信の効率化、通信の可用性、耐久性、信頼性および速度の向上などを図ることが可能になる。
【０００７】
例えば、スマートグリッドの分野では、スマートメーターをノードとして用いることで、各種情報の収集や関連機器の制御などを行うセンサネットワークを無線マルチホップネットワークで構築することが検討されている。また、スマートフォンなどのＷｉｆｉデバイスをノードとして用いることで、無線マルチホップネットワークとして、情報を送信元のノードから送信先のノードまで全て無線マルチホップ通信で伝送させるアドホックネットワークを構築することが検討されている。
【０００８】
以下、無線マルチホップネットワークを構築するノードとして使用可能なデバイス（センサデバイス、アクチュエーターデバイスおよびＷｉｆｉデバイスなど）を無線デバイスと総称する。なお、無線デバイスが行う通信の通信方式としては、ＺｉｇＢｅｅ、Ｚ−Ｗａｖｅ，ＩＥＥＥ８０２．１１などが代表的なものとして挙げられるが、本通信方式は、これらの例に限定されるものではない。
【０００９】
無線マルチホップネットワークのノードとなる無線デバイスに故障や不具合などが生じると、無線マルチホップネットワークを利用したサービスの提供に障害が発生することがあるため、サービスを継続的に提供するためには、各無線デバイスの状態を管理することが必要となる。
【００１０】
無線デバイスの管理は、各無線デバイスを設置または使用するエンドユーザにて行われてもよいが、エンドユーザは、通常、一般的なコンシュマーであるため、無線デバイスを管理する専門的な知識を持ち合わせていないことが多い。このため、無線デバイスを管理するための専門的な知識を有する専門業者が、無線デバイスの状態を遠隔管理することが望ましい。
【００１１】
無線デバイスの遠隔管理のために、特殊な技術が使用されると、コストの増加や汎用性の低下などの問題が生じる。このため、無線デバイスの遠隔管理には、遠隔管理を実現する標準的な技術である標準遠隔管理技術が利用されることが望ましい。標準遠隔管理技術としては、ブロードバンドルータ、ＳＴＢ(Set Top Box)および３Ｇ通信機器などを管理することを目的として開発されたＴＲ−０６９（非特許文献１参照）やＯＭＡ−ＤＭなどが知られている。
【００１２】
上記の標準遠隔管理技術では、遠隔管理を行う管理装置が管理の対象となる端末と個別に通信して、各端末の状態を示す管理情報の取得や各端末に対する指示の送信などを行い、各端末の状態管理を行っている。この技術を用いた無線デバイスの管理方法としては、管理装置であるゲートウェイが各無線デバイスに対して管理情報の通知を要求する要求メッセージを送信し、無線デバイスがその要求メッセージに従って管理情報を応答メッセージとしてゲートウェイに返信する方法が一般的である。管理情報としては、例えば、無線デバイスのＭＡＣアドレス、ネットワークアドレスおよびルーティング情報(親デバイスのネットワークアドレスなど)があり、ゲートウェイは、これらの管理情報を用いて、各無線デバイスの接続関係であるネットワークトポロジを示すネットワークトポロジ情報を管理することができる。
【００１３】
また、無線デバイスはバッテリで駆動するものが多いため、無線マルチホップネットワークや無線デバイスの長寿命化のためには、無電デバイスの省電力化が求められている。しかしながら、無線デバイスの遠隔管理が行われる場合、各無線デバイスは遠隔管理のための通信を行うため、消費電力量が増加してしまうという問題がある。
【００１４】
これに対しては、無線デバイスによる管理情報の送信頻度を抑制することで解決できる。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】The Broadband Forum, "CPE WAN Management Protocol BBF TR-069",[online], November 2010, [平成２４年１０月２３日検索]、インターネット＜ＵＲＬ：http://www.broadband-forum.org/technical/download/TR-069_Amendment-3.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、上記のように管理情報の送信頻度が抑制されたり、無線状況によりパケットロスが多発したりすると、特に各無線デバイスの接続関係であるネットワークトポロジが頻繁に変更される状況では、実際のネットワークトポロジを示すネットワークトポロジ情報を管理することが困難になることがある。
【００１７】
具体的には、管理情報の送信が抑制されたり、管理情報に対するパケットロスが発生したりすると、ゲートウェイは、各無線デバイスの管理情報のうち一部のみしか取得することができず、その結果、ネットワークトポロジ情報に矛盾が生じる可能性がある。
【００１８】
例えば、正しいネットワークトポロジがツリートポロジ（ツリー型のトポロジ）である場合、一部の管理情報が欠損すると、ゲートウェイが管理するネットワークトポロジ情報が示すネットワークトポロジがツリートポロジでなくなってしまい、正しいネットワークトポロジを管理することができなくなることがある。
【００１９】
図１１および図１２は、上記の問題を具体的に説明するための図である。
【００２０】
図１１では、無線マルチホップネットワークを構築する無線デバイスである複数のノードのそれぞれに対して、ノードを特定するノード識別子として用いられるＭＡＣアドレス（Ａ，Ｂ，Ｃ，…）と、マルチホップ通信に必要なネットワークアドレス（０００１，０００２，０００３，…）とが割り当てられている。また、無線マルチホップネットワークは、ネットワークツリートポロジとなるように設定されているとする。以下、ＭＡＣアドレスＡ，Ｂ，Ｃ，…を有するノードをそれぞれ、ノードＡ、ノードＢ、ノードＣ、…と称する。
【００２１】
ネットワークトポロジ情報は、ゲートウェイ（ＧＷ）にて管理される。また、ツリートポロジでは、ネットワークトポロジ情報は、各ノードの接続関係を、各ノードのネットワークアドレス（図中の自ＮＷＫおよび自ＮＷＫアドレス）と、各ノードの親ノードのネットワークアドレス（図中の親ＮＷＫおよび親ＮＷＫアドレス）との関係で示す。
【００２２】
上記のような状況において、ノードＣ、ＦおよびＧが無線マルチホップネットワークへの再接続を行い、その結果、ノードＣ、ＦおよびＧのネットワークアドレスが変化したとする。具体的には、ノードＣのネットワークアドレスが０００３から１００３に変化し、ノードＦのネットワークアドレスが０００６から１００６に変化し、ノードＧのネットワークアドレスが０００７から１００７に変化したとする。また、ノードＦおよびＧの親ノードは、再接続の前後に関わらず、ノードＣであるとする。
【００２３】
ノードＣ、ＦおよびＧの再接続の後、ゲートウェイは、ノードＦおよびＧからは管理情報を受信したが、ノードＦおよびＧ以外のノードからは、管理情報の送信が抑制されたために(または、管理情報がパケットロスしたために)、管理情報を受信できなかったとする。この場合、ゲートウェイは、ネットワークトポロジ情報を更新する際に、ノードＦおよびＧに関する接続関係は、受信した管理情報に基づいて更新するが、ノードＣに関する接続関係は、最新の管理情報を受信していないので、過去の管理情報に基づいて更新することになる。
【００２４】
このため、ノードＦおよびＧの親ノードであるノードＣのネットワークアドレスは、実際には１００３であるのに関わらず、ネットワークトポロジ情報では０００３となってしまう。この場合、ネットワークトポロジ情報上では、ノードＦおよびＧの親ノードが不明となり、ゲートウェイは適切なネットワークトポロジを把握することができなくなる。
【００２５】
また、１２では、ノードＣ、Ｄ、ＥおよびＦが無線マルチホップネットワークへの再接続を行った結果、ノードＣ、Ｄ、ＦおよびＧのネットワークアドレスが変化し、その後、ゲートウェイは、ノードＤからのみ管理情報を受信したとする。
【００２６】
なお、ノードＣのネットワークアドレスが０００３から０００７に変化し、ノードＤのネットワークアドレスが０００４から０００３に変化し、ノードＥのネットワークアドレスが０００５から０００８に変化し、ノードＦのネットワークアドレスが０００６から１００９に変化したとする。また、ノードＣおよびＤの親ノードは、ノードＢであり、ノードＥの親ノードがノードＣであり、ノードＦの親ノードがノードＤであるとしている。
【００２７】
この場合、更新後のネットワークトポロジ情報が示すネットワークトポロジは、図１２の最下段に示した管理上のネットワークトポロジとなる。この例では、親ノードが不明なノードＦが生じることに加えて、複数のノード（具体的には、ノードＣおよびＤ）を親ノードとして有するノードＥが生じる。ツリートポロジでは、ノードが複数のノードを親ノードとして有するとはない。したがって、ノードＥおよびＦが適切なネットワークトポロジから外れてしまい、ゲートウェイは適切なネットワークトポロジを把握することができなくなる。
【００２８】
本発明は、上記の問題を鑑みてなされたものであり、より正確なネットワークトポロジ情報を推定することが可能なネットワークトポロジ推定装置、ネットワークトポロジ推定方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２９】
本発明によるネットワークトポロジ推定装置は、ネットワークを構築するノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、前記ノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを有し、前記現在のネットワークトポロジ情報から、予め定められた規則に不適合な接続関係を有するノードである推定対象ノードを選択し、当該推定対象ノードの実際の接続関係を、前記過去のネットワークトポロジ情報に基づいて推定する推定部と、を有する。
【００３０】
本発明によるネットワークトポロジ推定方法は、ネットワークを構築するノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、前記ノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを有し、前記現在のネットワークトポロジ情報から、予め定められた規則に不適合な接続関係を有するノードである推定対象ノードを選択し、当該推定対象ノードの実際の接続関係を、前記過去のネットワークトポロジ情報に基づいて推定する。
【００３１】
本発明によるプログラムは、ネットワークを構築するノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、前記ノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを有するコンピュータに、前記現在のネットワークトポロジ情報から、予め定められた規則に不適合な接続関係を有するノードである推定対象ノードを選択し、当該推定対象ノードの実際の接続関係を、前記過去のネットワークトポロジ情報に基づいて推定する手順を実行させる。
【発明の効果】
【００３２】
本発明によれば、より正確なネットワークトポロジ情報を推定することが可能になる。
【図面の簡単な説明】
【００３３】
【図１Ａ】本発明の第一の実施形態の通信システムの一例を示す図である。
【図１Ｂ】本発明の第一の実施形態の通信システムの他の例を示す図である。
【図２】本発明の第一の実施形態におけるネットワークトポロジの推定変更処理の一例を説明するための図である。
【図３】本発明の第一の実施形態におけるゲートウェイの構成例を示すブロック図である。
【図４】本発明の第一の実施形態におけるゲートウェイの動作例を説明するためフローチャートである。
【図５】本発明の第二の実施形態におけるネットワークトポロジの推定変更処理の一例を説明するための図である。
【図６】本発明の第二の実施形態におけるゲートウェイの構成例を示すブロック図である。
【図７】本発明の第二の実施形態におけるゲートウェイの動作例を説明するためフローチャートである。
【図８】本発明の第三の実施形態におけるネットワークトポロジの推定変更処理の一例を説明するための図である。
【図９】本発明の第三の実施形態におけるゲートウェイの構成例を示すブロック図である。
【図１０】本発明の第三の実施形態におけるゲートウェイの動作例を説明するためフローチャートである。
【図１１】関連技術の問題の一例を説明するための図である。
【図１２】関連技術の問題の他の例を説明するための図である。
【発明を実施するための形態】
【００３４】
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明では、同じ機能を有するものには同じ符号を付け、その説明を省略する場合がある。
【００３５】
以下の各実施形態では、センサネットワークやアドホックネットワークのような無線マルチホップネットワークを構築する各ノードの接続関係が変化した後で、一部のノードからのみ管理情報が通知されたために、予め定められたネットワークトポロジ管理ルールに不適合なネットワークトポロジ情報が作成された場合に、ネットワークトポロジ管理ルールに適合した実際のネットワークトポロジを推定するための構成および動作について主に説明する。なお、ノードとしては、センサデバイス、アクチュエーターデバイスおよびＷｉｆｉデバイスのような一般的な無線デバイスを使用することができる。
【００３６】
（第一の実施形態）
第一の実施形態の特徴は、親ノードが不明なノードにおける、その親ノードのネットワークアドレスを、過去のネットワークトポロジ情報に基づいて推定することで、ネットワークトポロジ管理ルールに適合した実際のネットワークトポロジを推定することである。
【００３７】
図１Ａは、本実施形態の通信システムを示す図である。図１Ａに示すように通信システムは、無線マルチホップネットワークを構築する複数のノード１と、各ノード１の遠隔管理を行うゲートウェイ（ＧＷ）２とを有する。
【００３８】
各ノード１は、無線マルチホップネットワークを構築することが可能な無線デバイスである。
【００３９】
各ノード１の接続関係であるネットワークトポロジは、ゲートウェイ２に予め定められたネットワークトポロジ管理ルールに従って決定される。ネットワークトポロジ管理ルールは、ネットワークトポロジの種別などを規定する規則であり、本実施形態では、ネットワークトポロジをツリートポロジ（ツリー型のトポロジ）にするものである。なお、ツリートポロジでは、親ノードを持たない根ノード以外のノードは、親ノードを一つだけ持つ。
【００４０】
各ノード１には、自ノードを特定するノード識別子として用いられるＭＡＣアドレス（Ａ，Ｂ，Ｃ，…）と、マルチホップ通信に必要なネットワークアドレス（０００１，０００２，０００３，…）とが割り当てられている。以下、ＭＡＣアドレスＡ〜Ｇを有するノード１を、それぞれノードＡ〜Ｇと称することもある。
【００４１】
ゲートウェイ２は、ネットワークトポロジを示すネットワークトポロジ情報を作成および格納し、そのネットワークトポロジ情報において、ネットワークトポロジ管理ルールに不適合な接続関係を有するノード１の実際の接続関係を推定するネットワークトポロジ推定装置としての機能を有する。
【００４２】
具体的には、ゲートウェイ２は、ネットワークトポロジ情報として、ノード間の現在の接続関係を示す現在のネットワークトポロジ情報と、ノード間の過去の接続関係を示す過去のネットワークトポロジ情報とを格納する。
【００４３】
そして、ゲートウェイ２は、各ノードＡ〜Ｇに対して、所定のタイミングで管理情報の通知を要求する要求メッセージを送信し、その後、各ノードＡ〜Ｇから、要求メッセージに対する応答メッセージとして管理情報を受信する。なお、各ノードＡ〜Ｇは状況に応じて管理情報の通知を抑制することがある。また、各ノードＡ〜Ｇが管理情報を送信しても、管理情報がパケットロスにより損失してしまい、ゲートウェイ２が管理情報を受信できないことがある。
【００４４】
その後、ゲートウェイ２は、受信した管理情報に基づいて、現在のネットワークトポロジ情報および過去のネットワークトポロジ情報を更新する。このとき、更新した現在のネットワークトポロジ情報において、ネットワークトポロジ管理ルールに不適合な接続関係を有するノードである推定対象ノードが存在する場合、ゲートウェイ２は、推定対象ノードの実際の接続関係を、過去のネットワークトポロジ情報に基づいて推定し、その推定結果に基づいて、現在のネットワークトポロジ情報を修正した推定後のネットワークトポロジ情報を作成する。
【００４５】
上記の管理情報は、各ノードＡ〜Ｇを遠隔管理するための情報であり、少なくとも、各ノードＡ〜Ｇ自身のＭＡＣアドレスと、各ノードＡ〜Ｇ自身のネットワークアドレスである自ネットワークアドレスと、各ノードＡ〜Ｇの親ノードのネットワークアドレスである親ネットワークアドレスとを含む。なお、これらの情報は、ノードと他のノードとの接続関係を特定するために使用される。また、管理情報は、これらの情報以外にも、製造ベンダ情報(ベンダ名およびベンダコード)、デバイスモデル名、製造番号、利用している電源の種別情報、余剰電力情報(バッテリ残量情報)、リンク品質情報、保持するソフトウェアモジュールなどを含んでいてもよい。
【００４６】
なお、図１Ａに示したネットワークトポロジは単なる一例であって、これに限るものではない。例えば、通信システムは、図１Ｂに示すものでもよい。また、図１Ａおよび図１Ｂにおいて、ノードＡ〜Ｇは、それぞれ自ネットワークアドレスとして「０００１」〜「０００７」が割り当てられている。
【００４７】
図２は、本実施形態のゲートウェイ２によるネットワークトポロジを推定し、さらに推定後のネットワークトポロジ情報を作成する推定変更処理の一例を説明するための図である。
【００４８】
図２では、実際のネットワークトポロジ３Ａと、現在のネットワークトポロジ情報１１と、過去のネットワークトポロジ情報１２とが示されている。
【００４９】
実際のネットワークトポロジ３Ａは、図１Ａに示した状況において、ノードＣ、ＦおよびＧが無線マルチホップネットワークへの再接続を行い、その結果、ノードＣ、ＦおよびＧのネットワークアドレスが変化したものである。
【００５０】
現在のネットワークトポロジ情報１１は、ノードＣ、ＦおよびＧのネットワークアドレスが変化した後で、ノードＦおよびＧのみが管理情報をゲートウェイ２に通知した場合に作成されたものである。また、過去のネットワークトポロジ情報１２は、図１Ａに示したネットワークトポロジ（つまり、ノードＣ、ＦおよびＧのネットワークアドレスが変化する前のネットワークトポロジ）を示すものである。
【００５１】
ゲートウェイ２は、以下の処理を行うことで、推定後のネットワークトポロジ情報１３を作成する。
【００５２】
１：先ず、ゲートウェイ２は、ネットワークトポロジ管理ルールに不適合な接続関係を有するノードである推定対象ノードとして、現在のネットワークトポロジ情報１１において、自ネットワークアドレスとして存在しないネットワークアドレスを親ネットワークアドレスとして有するノードＦおよびＧを選択する。つまり、推定対象ノードＦおよびＧの親ネットワークアドレス「１００３」を自ネットワークアドレスとして有するノードは、存在しない。
【００５３】
２：続いて、ゲートウェイ２は、過去のネットワークトポロジ情報１２において、推定対象ノードＦおよびＧの親ノードとなるノードＣを元親モードとして選択する。
【００５４】
３：さらに、ゲートウェイ２は、推定対象ノードＦおよびＧの実際の親ノードが現在でも元親モードであると推定し、推定対象ノードＦおよびＧの実際の親ネットワークアドレスを、現在のネットワークトポロジ情報１１における元親ノードＣの自ネットワークアドレスと推定する。そして、ゲートウェイ２は、現在のネットワークトポロジ情報１１における推定対象ノードＦおよびＧの親ネットワークアドレスを、現在のネットワークトポロジ情報１１における元親ノードＣの自ネットワークアドレスに変更した情報を、推定後のネットワークトポロジ情報１３として作成する。
【００５５】
推定後のネットワークトポロジ情報１３が示すネットワークトポロジは、図２に示す推定後のネットワークトポロジ３Ｂとなる。推定後のネットワークトポロジ３Ｂでは、全てのノードが無線マルチホップネットワークに参加しており、ネットワークトポロジ管理ルールに適合したツリートポロジとなる。
【００５６】
だたし、あくまでも推定であるため、現在の実際のネットワークトポロジ３Ａと推定後のネットワークトポロジ３Ｂには、相違する部分が存在することがある。図２の例では、ノードＣのネットワークアドレスは、推定後のネットワークトポロジ３Ｂでは０００３であるが、実際のネットワークトポロジ３Ａでは１００３となっている。
【００５７】
次にゲートウェイ２の構成について説明する。
【００５８】
以下本実施形態では、後述する第２および第３の実施形態におけるゲートウェイ２と区別するために、ゲートウェイ２をゲートウェイ２Ａと称する。
【００５９】
図３は、ゲートウェイ２Ａの構成を示すブロック図である。図３において、ゲートウェイ２Ａは、管理情報応答メッセージ受信部２１と、管理情報ＤＢ（database）２２と、トポロジ情報ＤＢ２３と、ネットワークトポロジ情報作成部２４と、推定ネットワークトポロジ作成部２５とを有する。なお、図３における実線の矢印は、各構成要素間の制御、参照または情報の流れを示す。
【００６０】
管理情報応答メッセージ受信部２１は、各ノード１から管理情報を受信する受信部である。具体的には、管理情報応答メッセージ受信部２１は、ゲートウェイ２Ａから各ノード１への管理情報を通知する旨の要求メッセージに対する応答メッセージとして、各ノード１が通知した管理情報を受信する。
【００６１】
管理情報ＤＢ２２は、管理情報応答メッセージ受信部２１が受信した管理情報を格納する。なお、管理情報ＤＢ２２は、ゲートウェイ２Ａによる各ノード１の遠隔管理が開始された以降に各ノードから受信した管理情報を継続して蓄積する。
【００６２】
トポロジ情報ＤＢ２３は、ネットワークトポロジ情報を格納する格納部である。具体的には、トポロジ情報ＤＢ２３は、ネットワークトポロジ情報として、現在のネットワークトポロジ情報２３１と、過去のネットワークトポロジ情報２３２と、推定後のネットワークトポロジ情報２３３とを格納する。
【００６３】
なお、後述するように各ネットワークトポロジ情報２１３〜２３３は、各ノード１の遠隔管理中の所定の作成タイミングごとに作成され、トポロジ情報ＤＢ２３は、最新の現在のネットワークトポロジ情報２３１および最新の推定後のネットワークトポロジ情報２３３を格納し、さらに、予め定められた回数分の過去のネットワークトポロジ情報２３２を格納する。
【００６４】
ネットワークトポロジ情報作成部２４は、作成タイミングで、管理情報ＤＢ２２に格納された管理情報（具体的には、管理情報に含まれるＭＡＣアドレス、自ネットワークアドレスおよび親ネットワークアドレス）に基づいて、現在のネットワークトポロジ情報と、前回の作成タイミング時におけるネットワークトポロジを示す過去のネットワークトポロジ情報とを作成する。
【００６５】
例えば、ネットワークトポロジ情報作成部２４は、各ノードの現時点での最新の管理情報に基づいて、現在のネットワークトポロジ情報を作成し、各ノードの前回の作成タイミング時での最新の管理情報に基づいて、過去のネットワークトポロジ情報を作成する。なお、ネットワークトポロジ情報作成部２４は、前回の作成タイミング時に作成した現在のネットワークトポロジ情報のコピーを、過去のネットワークトポロジ情報として作成してもよい。この場合でも、前回の作成タイミング時に作成した現在のネットワークトポロジ情報は管理情報に基づいて作成されているので、過去のネットワークトポロジ情報も管理情報に基づいて作成されることとなる。
【００６６】
そして、ネットワークトポロジ情報作成部２４は、トポロジ情報ＤＢ内の現在のネットワークトポロジ情報２３１を、作成した現在のネットワークトポロジ情報に更新するとともに、作成した過去のネットワークトポロジ情報を過去のネットワークトポロジ情報２３２として追加する。このとき、予め定められた回数分の過去のネットワークトポロジ情報２３２が既に格納されている場合、ネットワークトポロジ情報作成部２４は、最も古いネットワークトポロジ情報２３２を削除する。
【００６７】
なお、作成タイミングは、任意であるが、例えば、ゲートウェイ２Ａによる要求メッセージの送信から応答メッセージの受信までが周期的に繰り返される場合には、各周期の終了直前、つまり、各ノードからの応答メッセージを十分に受信できたとみなせる時点（現在のネットワークトポロジ情報を作成するための十分な管理情報を収集できたとみなせる時点）であることが望ましい。
【００６８】
推定ネットワークトポロジ作成部２５は、現在のネットワークトポロジ情報２３１において、ネットワークトポロジ管理ルールに不適合な接続関係を有するノードである推定対象ノードの実際の接続関係を、過去のネットワークトポロジ情報２３２に基づいて推定する推定部である。
【００６９】
具体的には、ネットワークトポロジ情報作成部２４が現在のネットワークトポロジ情報２３１および過去のネットワークトポロジ情報２３２を格納した場合、推定ネットワークトポロジ作成部２５は、現在のネットワークトポロジ情報２３１および過去のネットワークトポロジ情報２３２に基づいて、現在の実際のネットワークトポロジを推定し、その推定したネットワークトポロジを示すネットワークトポロジ情報を推定後のネットワークトポロジ情報２３３として作成して、トポロジ情報ＤＢに格納する。
【００７０】
推定ネットワークトポロジ作成部２５は、推定対象ノード選択部２５１と、親ノード探索部２５２と、ネットワークトポロジ情報推定／変更部２５３とを含む。
【００７１】
推定対象ノード選択部２５１は、現在のネットワークトポロジ情報２３１から、ネットワークトポロジ管理ルールに不適合な接続関係を有するノードを、推定対象ノードとして選択する。具体的には、推定対象ノード選択部２５１は、親ネットワークアドレスが自ネットワークアドレスの中に存在しないノード（図２のノードＦおよびＧ）の全てを、推定対象ノードとして選択する。つまり、推定対象ノードの親ノードは、自ノードとしては、現在のネットワークトポロジ情報２３１に存在しないことになる。
【００７２】
推定対象ノード選択部２５１は、選択した推定対象ノードのＭＡＣアドレスを推定対象ＭＡＣアドレスとして現在のネットワークトポロジ情報２３１から抽出し、その抽出した推定対象ＭＡＣアドレスをまとめて、推定対象ＭＡＣアドレス群として親ノード探索部２５２へ通知する。なお、推定対象ＭＡＣアドレス群は、一つまたは複数の推定対象ＭＡＣアドレスから構成される。
【００７３】
また、推定対象ノードが存在しない場合、推定対象ノード選択部２５１は、推定対象ノードが存在しない旨の不在情報を、ネットワークトポロジ情報推定／変更部２５３に通知する。
【００７４】
親ノード探索部２５２は、過去のネットワークトポロジ情報２３２から、推定対象ノード選択部２５１から通知された推定対象ＭＡＣアドレスを有する推定対象ノードの親ネットワードアドレスを自ネットワークアドレスとして有するノードを、推定対象ノードの元親ノードとして検索する検索処理を実行する。ここでは、親ノード探索部２５２は、最も新しい過去のネットワークトポロジ情報２３２から元親ノードを検索する。
【００７５】
検索処理によって元親ノードが見つかった場合、親ノード探索部２５２は、過去のネットワークトポロジ情報２３２から、元親ノードのＭＡＣアドレスを元親ＭＡＣアドレスとして抽出し、推定対象ＭＡＣアドレスおよび元親ＭＡＣアドレスの組をネットワークトポロジ情報推定／変更部２５３に通知する。このとき、親ノード探索部２５２は、推定対象ＭＡＣアドレスと元親ＭＡＣアドレスとの組を、推定対象ＭＡＣアドレスごと通知してもよいし、まとめて通知してもよい。
【００７６】
一方、検索処理によって元親ノードが見つからなかった場合、親ノード探索部２５２は、さらに１つ前の過去のネットワークトポロジ情報２３２から元親ノードを検索する。このように親ノード探索部２５２は、過去のネットワークトポロジ情報２３２を新しい順番に用いて、元親ノードが見つかるまで検索処理を繰り返す。このとき、全ての過去のネットワークトポロジ情報２３２を用いても、元親ノードを検索できなかった場合、親ノード探索部２５２は、ネットワークトポロジ情報作成部２４に所望の時点における過去のネットワークトポロジ情報２３２の作成を依頼し、作成された過去のネットワークトポロジ情報２３２を用いて検索処理を行う。
【００７７】
ネットワークトポロジ情報推定／変更部２５３は、親ノード探索部２５２から通知された推定対象ＭＡＣアドレスと元親ＭＡＣアドレスとの組に基づいて、推定対象ＭＡＣアドレスを有する推定対象ノードの実際の親ノードを推定する。そして、ネットワークトポロジ情報推定／変更部２５３は、その推定結果に基づいて、現在のネットワークトポロジ情報２３１を変更したネットワークトポロジ情報を、推定後のネットワークトポロジ情報２３３として作成する。
【００７８】
具体的には、ネットワークトポロジ情報推定／変更部２５３は、推定対象ノードの実際の親ノードが、現在でも、元親ＭＡＣアドレスを有する元親ノードであると推定し、現在のネットワークトポロジ情報２３１における推定対象ノードの親ネットワークアドレスを、現在のネットワークトポロジ情報２３１における元親ＭＡＣアドレスを有する元親ノードの自ネットワークアドレスに変更することで、推定後のネットワークトポロジ情報２３３を作成する。このとき、ネットワークトポロジ情報推定／変更部２５３は、例えば、推定対象ノードのそれぞれについて、実際の親ノードを推定し、全ての実際の親ノードを推定した後に、推定後のネットワークトポロジ情報２３３を作成する。
【００７９】
推定後のネットワークトポロジ情報２３３を作成すると、ネットワークトポロジ情報推定／変更部２５３は、作成した推定後のネットワークトポロジ情報２３３をトポロジ情報ＤＢ２３に格納する。
【００８０】
また、ネットワークトポロジ情報推定／変更部２５３は、推定対象ノード選択部２５１から不在情報が通知された場合、現在のネットワークトポロジ情報２３１をそのままコピーしたものを推定後のネットワークトポロジ情報２３３として作成して、トポロジ情報ＤＢ２３に格納する。
【００８１】
次にゲートウェイ２Ａの動作について説明する。
【００８２】
図４は、ゲートウェイ２Ａの動作例を説明するためのフローチャートである。
【００８３】
先ず、ゲートウェイ２Ａの管理情報応答メッセージ受信部２１は、管理情報を受信するたびに、その管理情報を管理情報ＤＢ２２に格納する（ステップＳ１００）。
【００８４】
その後、所定の作成タイミングで、ネットワークトポロジ情報作成部２４は、管理情報ＤＢ２２から管理情報を取得し、その管理情報に基づいて現在のネットワークトポロジ情報および過去のネットワークトポロジ情報を作成して、現在のネットワークトポロジ情報２３１および過去のネットワークトポロジ情報２３２としてトポロジ情報ＤＢ２３に格納する（ステップＳ１０１）。なお、ネットワークトポロジ情報作成部２４は、前回の作成タイミング時に作成した現在のネットワークトポロジ情報、つまり、トポロジ情報ＤＢ２３に格納されている現在のネットワークトポロジ情報２３２のコピーを、過去のネットワークトポロジ情報として作成してもよい。
【００８５】
続いて、ネットワークトポロジ情報作成部２４は、現在のネットワークトポロジ情報２３１および過去のネットワークトポロジ情報２３２を更新した旨を推定対象ノード選択部２５１に出力する。推定対象ノード選択部２５１は、その旨を受け付けると、トポロジ情報ＤＢ２３から現在のネットワークトポロジ情報２３１を取得し、現在のネットワークトポロジ情報２３１から、ネットワークトポロジ管理ルールに不適合な親ノードを有する推定対象ノードを検索する（ステップＳ１０２）。
【００８６】
そして、推定対象ノード選択部２５１は、推定対象ノードが見つかったか否かを判断する（ステップＳ１０３）。
【００８７】
推定対象ＭＡＣアドレスが見つからなかった場合、推定対象ノード選択部２５１は、不在情報をネットワークトポロジ情報推定／変更部２５３に通知する。ネットワークトポロジ情報推定／変更部２５３は、不在情報を受け付けると、トポロジ情報ＤＢ２３内の現在のネットワークトポロジ情報２３１のコピーを、推定後のネットワークトポロジ情報２３３として作成してトポロジ情報ＤＢ２３に格納して（ステップＳ１０４）、処理を終了する。
【００８８】
一方、推定対象ＭＡＣアドレスが見つかった場合、推定対象ノード選択部２５１は、現在のネットワークトポロジ情報２３１から、その見つかった推定対象ノードのＭＡＣアドレスを推定対象ＭＡＣアドレスとして抽出し、その推定対象ＭＡＣアドレスをまとめて、推定対象ＭＡＣアドレス群として親ノード探索部２５２に通知する。親ノード探索部２５２は、推定対象ＭＡＣアドレス群を受け付ける（ステップＳ１０５）。
【００８９】
親ノード探索部２５２は、推定対象ＭＡＣアドレス群に含まれる推定対象ＭＡＣアドレスのいずれかを選択し、その選択した推定対象ＭＡＣアドレスを有する推定対象ノードの元親ノードを、トポロジ情報ＤＢ２３内の最も新しい過去のネットワークトポロジ情報２３２から検索する検索処理を実行する（ステップＳ１０６）。
【００９０】
そして、親ノード探索部２５２は、検索処理によって元親ノードが見つかったか否かを判断する（ステップＳ１０７）。
【００９１】
元親ノードが見つからなかった場合、親ノード探索部２５２は、過去のネットワークトポロジ情報２３２を新しい方から順に用いて、元親ノードが見つかるまで、元親ノードを検索する検索処理を実行する（ステップＳ１０８）。なお、トポロジ情報ＤＢ２３内に格納されている全ての過去のネットワークトポロジ情報２３２を用いても、元親ノードを見つけることができなかった場合、親ノード探索部２５２は、ネットワークトポロジ情報作成部２４に所望の時点における過去のネットワークトポロジ情報２３２の作成を依頼し、作成された過去のネットワークトポロジ情報２３２を用いて、元親ノードを検索する。
【００９２】
ステップＳ１０７またはＳ１０８の処理で元親ノードが見つかった場合、親ノード探索部２５２は、元親ノードを見つけた過去のネットワークトポロジ情報２３２から元親ノードのＭＡＣアドレスを元親ＭＡＣアドレスとして抽出し、その元親ＭＡＣアドレスと、ステップＳ１０６で選択した推定対象ＭＡＣアドレスとの組を生成する。そして、親ノード探索部２５２は、推定対象ＭＡＣアドレス群に含まれる全ての推定対象ＭＡＣアドレスに対応する全ての元親ノードを見つけたか否かを判断する（ステップＳ１０９）。
【００９３】
全ての元親ノードを見つけていない場合、親ノード探索部２５２は、ステップＳ１０５の処理に戻る。なお、ステップＳ１０５では、親ノード探索部２５２は、まだ選択していない推定対象ＭＡＣアドレスを選択するものとする。
【００９４】
一方、全ての元親ノードを見つけた場合、親ノード探索部２５２は、ステップＳ１０７〜Ｓ１０９のいずれかで作成した、元親ＭＡＣアドレスおよび推定対象ＭＡＣアドレスの組の全てをネットワークトポロジ情報推定／変更部２５３に通知する。ネットワークトポロジ情報推定／変更部２５３は、それらの組を受信すると、トポロジ情報ＤＢ２３から現在のネットワークトポロジ情報２３１を取得する。ネットワークトポロジ情報推定／変更部２５３は、各組について、その組に含まれる推定対象ＭＡＣアドレスを有する推定対象ノードの実際の親ノードが、元親ＭＡＣアドレスを有する元親ノードであると推定し、現在のネットワークトポロジ情報２３１における推定対象ノードの親ネットワークアドレスを、現在のネットワークトポロジ情報２３１における元親ノードの自ネットワークアドレスに変更することで、推定後のネットワークトポロジ情報２３３を作成する。そして、ネットワークトポロジ情報推定／変更部２５３は、推定後のネットワークトポロジ情報２３３を、トポロジ情報ＤＢ２３に格納して（ステップＳ１１０）、処理を終了する。
【００９５】
以上説明したように本実施形態によれば、現在のネットワークトポロジ情報２３１において、ネットワークトポロジ管理ルールに不適合な接続関係を有する推定対象ノードの実際の接続関係が過去のネットワークトポロジ情報２３２に基づいて推定される。このため、各ノードの管理情報の一部が受信できなくても、より正確なネットワークトポロジ情報を推定することが可能になる。
【００９６】
また本実施形態では、推定対象ノードの実際の親ノードが過去の親ノードである元親ノードに基づいて推定されるので、より正確なネットワークトポロジ情報を推定することが可能になる。
【００９７】
（第二の実施形態）
第二の実施形態の特徴は、現在のネットワークトポロジ情報における推定対象ノードの親ノードの自ネットワークアドレスを、過去のネットワークトポロジ情報および現在のネットワークトポロジ情報の最新情報に基づいて推定することである。
【００９８】
図５は、本実施形態のゲートウェイ２による推定変更処理の一例を説明するための図である。図５において、実際のネットワークトポロジ３Ａ、現在のネットワークトポロジ情報１１および過去のネットワークトポロジ情報１２は、図２の例と同じである。
【００９９】
１：先ず、ゲートウェイ２は、第一の実施形態と同様に、推定対象ノードとして、現在のネットワークトポロジ情報１１において、自ネットワークアドレスとして存在しないネットワークアドレスを親ネットワークアドレスとして有するノードＦおよびＧを選択する。
【０１００】
２：続いて、ゲートウェイ２は、ここでも第一の実施形態と同様に、過去のネットワークトポロジ情報１２において、推定対象ノードＦおよびＧの親ノードとなるノードＣを元親モードとして選択する。
【０１０１】
３：さらに、ゲートウェイ２は、推定対象ノードＦおよびＧの実際の親ノードが現在でも元親ノードＣであると推定し、その推定結果と、推定対象ノードＦおよびＧから受信した最新の管理情報（現在のネットワークトポロジ情報１１）に基づいて、現在のネットワークトポロジ情報１１における元親ノードＣの自ネットワークアドレスを、現在のネットワークトポロジ情報１１における推定対象ノードＦおよびＧの親ネットワークアドレスに変更した推定後のネットワークトポロジ情報１４を作成する。
【０１０２】
推定後のネットワークトポロジ情報１４が示すネットワークトポロジは、推定後のネットワークトポロジ３Ｃとなる。推定後のネットワークトポロジ３Ｃでは、第１の実施形態における推定後のネットワークトポロジ３Ｂと同様に、全てのノードが無線マルチホップネットワークに参加しており、推定後のネットワークトポロジ３Ｃはゲートウェイ２のネットワークトポロジ管理ルールに適合したツリートポロジとなる。さらに、推定後のネットワークトポロジ３Ｃは、推定後のネットワークトポロジ３Ｂと異なり、実際のネットワークトポロジ３Ａと同じになる。
【０１０３】
次に本実施形態のゲートウェイ２の構成について説明する。以下では、第一の実施形態のゲートウェイ２Ａと区別するために、ゲートウェイ２Ｂと称する。
【０１０４】
図６は、ゲートウェイ２Ｂの構成を示すブロック図である。図６において、ゲートウェイ２Ｂは、管理情報応答メッセージ受信部２１と、管理情報ＤＢ２２と、トポロジ情報ＤＢ２３と、ネットワークトポロジ情報作成部２４と、推定ネットワークトポロジ作成部２５Ｂとを有する。なお、図６における実線の矢印は、各構成要素間の制御、参照または情報の流れを示す。
【０１０５】
図６で示した管理情報応答メッセージ受信部２１、管理情報ＤＢ２２およびトポロジ情報ＤＢ２３の機能は、第一の実施形態のものと同じである。また、ネットワークトポロジ情報作成部２４の機能は、機能連携先(通信先)が推定ネットワークトポロジ作成部２５から推定ネットワークトポロジ作成部２５Ｂに変更されている点以外は、第一の実施形態のものと同じである。
【０１０６】
推定ネットワークトポロジ作成部２５Ｂは、現在のネットワークトポロジ情報２３１において、ネットワークトポロジ管理ルールに不適合な接続関係を有するノードである推定対象ノードの実際の接続関係を、現在のネットワークトポロジ情報２３１および過去のネットワークトポロジ情報２３２に基づいて推定する推定部である。
【０１０７】
推定ネットワークトポロジ作成部２５Ｂは、推定対象ノード選択部２５１と、親ノード探索部２５２と、最新情報適用型ネットワークトポロジ情報推定／変更部２５４とを含む。
【０１０８】
推定対象ノード選択部２５１および親ノード探索部２５２の機能は、機能連携先がネットワークトポロジ情報推定／変更部２５３から最新情報適用型ネットワークトポロジ情報推定／変更部２５４に変更されている点以外は、第一の実施形態のものと同じである。
【０１０９】
最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、親ノード探索部２５２から通知された推定対象ＭＡＣアドレスと元親ＭＡＣアドレスとの組に基づいて、推定対象ＭＡＣアドレスを有する推定対象ノードの実際の親ノードを推定する。そして、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、その推定結果に基づいて、現在のネットワークトポロジ情報２３１を変更したネットワークトポロジ情報を、推定後のネットワークトポロジ情報２３３として作成する。
【０１１０】
具体的には、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、推定対象ノードの実際の親ノードが、現在でも、元親ＭＡＣアドレスを有する元親ノードであると推定し、現在のネットワークトポロジ情報２３１における元親ノードの自ネットワークアドレスを、現在のネットワークトポロジ情報２３１における推定対象ノードの親ネットワークアドレスに変更することで、推定後のネットワークトポロジ情報２３３を作成する。
【０１１１】
このとき、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、例えば、推定対象ノードのそれぞれについて、実際の親ノードを推定し、全ての実際の親ノードを推定した後に、推定後のネットワークトポロジ情報２３３を作成する。
【０１１２】
推定後のネットワークトポロジ情報２３３を作成すると、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、作成した推定後のネットワークトポロジ情報２３３をトポロジ情報ＤＢ２３に格納する。
【０１１３】
また、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、推定対象ノード選択部２５１から不在情報が通知された場合、現在のネットワークトポロジ情報２３１をそのままコピーしたものを推定後のネットワークトポロジ情報２３３として作成して、トポロジ情報ＤＢ２３に格納する。
【０１１４】
以上説明したように、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、第一の実施形態のネットワークトポロジ情報推定／変更部２５３と同様に、推定対象ノードの過去の親ノードを現在の推定対象ノードの親ノードであると推定し、その推定したとおりの親子関係となるように現在のネットワークトポロジ情報２３１を変更することになる。
【０１１５】
しかしながら、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、ネットワークトポロジ情報推定／変更部２５３とは、現在のネットワークトポロジ情報２３１の最新情報に基づいて、元親ノードの自ネットワークアドレスを変更する点が異なる。
【０１１６】
次にゲートウェイ２Ｂの動作について説明する。
【０１１７】
図７は、ゲートウェイ２Ｂの動作例を説明するためのフローチャートである。
【０１１８】
図７におけるステップＳ２００〜Ｓ２０９の処理は、図４におけるステップＳ１００〜Ｓ１０９の処理において、ネットワークトポロジ情報推定／変更部２５３を最新情報適用型ネットワークトポロジ情報推定／変更部２５４と読み換えたものと同じであるため、ここでは、その説明は省略する。
【０１１９】
ステップＳ２０９において全ての元親ノードを見つけた場合、親ノード探索部２５２は、ステップＳ２０７からＳ２０９のいずれかで作成した、元親ＭＡＣアドレスおよび推定対象ＭＡＣアドレスの組の全てを最新情報適用型ネットワークトポロジ情報推定／変更部２５４に通知する。最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、それらの組を受信すると、トポロジ情報ＤＢ２３から現在のネットワークトポロジ情報２３１を取得する。最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、各組について、その組に含まれる推定対象ＭＡＣアドレスを有する推定対象ノードの実際の親ノードが、元親ＭＡＣアドレスを有する元親ノードであると推定し、現在のネットワークトポロジ情報２３１における元親ノードの自ネットワークアドレスを、現在のネットワークトポロジ情報２３１における推定対象ノードの親ネットワークアドレスに変更することで、推定後のネットワークトポロジ情報２３３を作成する。そして、最新情報適用型ネットワークトポロジ情報推定／変更部２５４は、推定後のネットワークトポロジ情報２３３を、トポロジ情報ＤＢ２３に格納して（ステップＳ２１０）、処理を終了する。
【０１２０】
以上説明したように本実施形態によれば、現在のネットワークトポロジ情報２３１における元親ノードの自ネットワークアドレスを、現在のネットワークトポロジ情報２３１における推定対象ノードの親ネットワークアドレスに変更した推定後のネットワークトポロジ情報２３３が作成される。
【０１２１】
このため、現時点における最新の管理情報に基づいて、推定後のネットワークトポロジ情報２３３が作成されることとなるため、第一実施形態と比べて、さらに、より正確な推定後のネットワークトポロジ情報２３３を作成することが可能になる。なお、場合によっては、実際と同じネットワークトポロジを示す推定後のネットワークトポロジ情報２３３を作成することが可能になる。
【０１２２】
（第三の実施形態）
第三の実施形態の特徴は、現在のネットワークトポロジ情報における、自ネットワークアドレスが競合（重複）する複数のノードである複数の競合ノードの自ネットワークアドレスを修正し、その修正した現在のネットワークトポロジ情報から推定後のネットワークトポロジ情報を作成することである。
【０１２３】
図８は、本実施形態のゲートウェイ２による競合ノードの自ネットワークアドレスを修正する競合修正処理と、推定後のネットワークトポロジ情報を作成する推定変更処理の一例を説明するための図である。
【０１２４】
図８では、実際のネットワークトポロジ３Ｄと、現在のネットワークトポロジ情報１５と、過去のネットワークトポロジ情報１７とが示されている。
【０１２５】
実際のネットワークトポロジ３Ｄは、図１Ｂに示した状況において、ノードＣ、Ｄ、ＥおよびＦが無線マルチホップネットワークへの再接続を行い、その結果、ノードＣ、Ｄ、ＥおよびＦのネットワークアドレスが変化したものである。
【０１２６】
現在のネットワークトポロジ情報１５は、ノードＣ、Ｄ、ＥおよびＦのネットワークアドレスが変化した後で、ノードＤの管理情報のみがゲートウェイ２に通知された場合に作成されたものである。また、過去のネットワークトポロジ情報１７は、図１Ｂに示したネットワークトポロジ（つまり、ノードＣ、Ｄ、ＥおよびＦのネットワークアドレスが変化する前のネットワークトポロジ）を示すものである。
【０１２７】
ゲートウェイ２は、以下の処理を行うことで、推定後のネットワークトポロジ情報１３を作成する。
【０１２８】
１：先ず、ゲートウェイ２は、現在のネットワークトポロジ情報１５において、ネットワークトポロジ管理ルールに不適合な接続関係の一種である、自ネットワークアドレスが他のノードの自ネットワークアドレスと競合する競合ノードＣおよびＤを選択する。
【０１２９】
２：続いて、ゲートウェイ２は、競合ノードＣおよびＤの中で、最新の管理情報の応答があった競合ノードＤの自ネットワークアドレスが正しいと判断して、その競合ノードＤ以外のノードＣの自ネットワークアドレスを無効な値（図８の例では、「‐」）に修正することで、現在のネットワークトポロジ情報１５を競合修正後のネットワークトポロジ情報１６に変更する。なお、最新の管理情報の応答があった競合ノードＤは、具体的には、管理情報応答メッセージ受信部２１が各競合ノードＣおよびＤから受信した管理情報の中の最新の管理情報に対応する競合ノードのことである。要求メッセージの送信から応答メッセージの受信までが周期的に繰り返される場合には、管理情報応答メッセージ受信部２１が各競合ノードＣおよびＤから受信した管理情報の中の、現時点での最近の周期中に受信された管理情報となる。
【０１３０】
３：そして、ゲートウェイ２は、推定対象ノードとして、競合修正後のネットワークトポロジ情報１６において、自ネットワークアドレスとして存在しないネットワークアドレスを親ネットワークアドレスとして有するノードＦを選択する。つまり、推定対象ノードＦの親ネットワークアドレス「０００４」を自ネットワークアドレスとして有するノードは、存在しない。
【０１３１】
４：その後、ゲートウェイ２は、第一の実施形態と同様に、過去のネットワークトポロジ情報１７において、推定対象ノードＦの親ノードである元親ノードＤを選択する。
【０１３２】
５：さらに、ゲートウェイ２は、第一の実施形態と同様に、推定対象ノードＦの実際の親ノードが現在でも元親ノードＤであると推定し、推定対象ノードＦの実際の親ネットワークアドレスを、競合修正後のネットワークトポロジ情報１６におけるノードＤの自ネットワークアドレスと推定する。そして、ゲートウェイ２は、競合修正後のネットワークトポロジ情報１６における推定対象ノードＦの親ネットワークアドレスを、競合修正後のネットワークトポロジ情報１６におけるノードＤの自ネットワークアドレスに変更した情報を、推定後のネットワークトポロジ情報１８として作成する。
【０１３３】
推定後のネットワークトポロジ情報１８が示すネットワークトポロジは、推定後のネットワークトポロジ３Ｅとなる。推定後のネットワークトポロジ３Ｅでは、第一の実施形態および第二の実施形態と同様に、全てのノードが無線マルチホップネットワークに参加しており、推定後のネットワークトポロジ３Ｅはゲートウェイ２のネットワークトポロジ管理ルールに適合したツリートポロジとなる。さらに、重複する自ネットワークアドレスが最新の管理情報に基づいて修正されることで、各ノードが親ノードを一つだけ有することとなるため、推定後のネットワークトポロジ情報において、複数の親ノードを有するノードが発生することを防止することが可能になる。
【０１３４】
なお、ゲートウェイ２は、推定対象ノードの親ネットワークアドレスが最新情報である場合、第二の実施形態と同様に、競合修正後のネットワークトポロジ情報１６における推定対象ノードの元親ノードの自ネットワークアドレスを、最新情報である推定対象ノードの親ネットワークアドレスと推定してもよい。この場合、ゲートウェイ２は、競合修正後のネットワークトポロジ情報１６における推定対象ノードの元親ノードの自ネットワークアドレスを、推定対象ノードの親ネットワークアドレスに変更する。ただし、図８の例においては、推定対象ノードＦの親ネットワークアドレス情報は最新情報でないため、第二の実施形態と同様の処理はされない。
【０１３５】
次に本実施形態のゲートウェイ２の構成について説明する。以下では、第一の実施形態および第二の実施形態におけるゲートウェイ２および２Ｂと区別するために、ゲートウィ２Ｃと称する。
【０１３６】
図９は、ゲートウェイ２Ｃの構成を示すブロック図である。図６において、ゲートウェイ２Ｃは、図３に示したゲートウェイ２Ａ、２Ｂと比べて、ネットワークトポロジ情報作成部２４が競合ネットワークアドレス修正部２４１を備えている点が異なる。なお、図９では、ゲートウェイ２Ｃは推定ネットワークトポロジ作成部２５を備えているが、推定ネットワークトポロジ作成部２５Ｂを備えていても良い。また、図９における実線の矢印は、各構成要素間の制御、参照または情報の流れを示す。
【０１３７】
競合ネットワークアドレス修正部２４１は、ネットワークトポロジ情報作成部２４が現在のネットワークトポロジ情報を作成すると、その現在のネットワークトポロジ情報において、自ネットワークアドレスの競合（重複）があるか否かを確認する。
【０１３８】
自ネットワークアドレスの競合がある場合、競合ネットワークアドレス修正部２４１は、作成した現在のネットワークトポロジ情報から、自ネットワークアドレスが競合する複数の競合ノードを選択する。そして、競合ネットワークアドレス修正部２４１は、作成した現在のネットワークトポロジ情報における、最新の管理情報の応答があった競合ノード以外の競合ノードの自ネットワークアドレスを無効な値（不明な値）に修正することで、競合修正後のネットワークトポロジ情報を作成する。
【０１３９】
競合ネットワークアドレス修正部２４１は、作成した競合修正後のネットワークトポロジ情報を、現在のネットワークトポロジ情報としてトポロジ情報ＤＢ２３に格納する。
【０１４０】
なお、競合する自ネットワークアドレスを有する競合ノード群が複数ある場合、競合ネットワークアドレス修正部２４１は、各競合ノード群について、競合修正処理を行う。例えば、自ネットワークアドレス「０００１」を有する３つの第一のノードと、自ネットワークアドレス「０００２」を有する別の２つの第二のノードが存在する場合、競合ネットワークアドレス修正部２４１は、第一のノードと第二のノードのそれぞれについて、最新の管理情報の応答があった競合ノード以外の競合ノードの自ネットワークアドレスを無効な値に修正する。
【０１４１】
一方、自ネットワークアドレスの競合がない場合、競合ネットワークアドレス修正部２４１は、作成した現在のネットワークアドレス情報をそのまま修正後のネットワークアドレス情報とし、その修正後のネットワークアドレス情報を現在のネットワークトポロジ情報２３１としてトポロジ情報ＤＢ２３に格納する。
【０１４２】
次にゲートウェイ２Ｃの動作について説明する。
【０１４３】
図１０は、ゲートウェイ２Ｃの動作例を説明するためのフローチャートである。
【０１４４】
先ず、ゲートウェイ２Ａの管理情報応答メッセージ受信部２１は、管理情報を受信するたびに、その管理情報を管理情報ＤＢ２２に格納する（ステップＳ３００）。
【０１４５】
その後、所定の作成タイミングで、ネットワークトポロジ情報作成部２４は、管理情報ＤＢ２２から管理情報を取得し、その管理情報に基づいて過去のネットワークトポロジ情報２３２を作成してトポロジ情報ＤＢに格納する。（ステップＳ３０１）、さらに、ネットワークトポロジ情報作成部２４は、その管理情報に基づいて現在のネットワークトポロジ情報２３２を作成する（ステップＳ３０２）。
【０１４６】
なお、ステップＳ３００からＳ３０２までの処理は、図４におけるステップＳ１００からＳ１０１までの処理、および、図７におけるステップＳ２００からＳ２０１までの処理に対応する。
【０１４７】
その後、競合ネットワークアドレス修正部２４１は、作成した一時的な現在のネットワークトポロジ情報のネットワークアドレス情報において、自ネットワークアドレスの競合があるか否かを確認する（ステップＳ３０３）。
【０１４８】
自ネットワークアドレスの競合がある場合、競合ネットワークアドレス修正部２４１は、作成した一時的な現在のネットワークトポロジ情報から、自ネットワークアドレスが競合する複数の競合ノードを選択する。そして、競合ネットワークアドレス修正部２４１は、作成した一時的な現在のネットワークトポロジ情報における、最新の管理情報の応答があった競合ノード以外の競合ノードの自ネットワークアドレスを無効な値に修正することで、競合修正後のネットワークトポロジ情報を作成する。競合ネットワークアドレス修正部２４１は、作成した競合修正後のネットワークトポロジ情報を、現在のネットワークトポロジ情報としてトポロジ情報ＤＢ２３に格納する（ステップＳ３０４）。
【０１４９】
一方、自ネットワークアドレスの競合がない場合、競合ネットワークアドレス修正部２４１は、一時的な現在のネットワークトポロジを修正後のネットワークトポロジ情報とし、その修正後のネットワークトポロジ情報を現在のネットワークトポロジ情報２３１としてトポロジ情報ＤＢ２３に格納する（ステップＳ３０５）。
【０１５０】
ステップＳ３０４またはＳ３０５の処理が終了した場合、図４におけるステップＳ１０１〜Ｓ１１０、あるいは図７におけるステップＳ２０２〜Ｓ２１０の処理が実行される。
【０１５１】
以上説明したように本実施形態によれば、複数の親ノードを有するノードの自ネットワークアドレスが修正されるので、複数の親ノードを有するノードのないネットワークトポロジ管理ルールに適合したネットワークトポロジ情報を作成することが可能となる。
【０１５２】
以上説明した各実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【０１５３】
例えば、ゲートウェイ２の機能は、その機能を実現するためのプログラムを、コンピュータにて読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ実行させることで、実現されてもよい。
【０１５４】
また、ゲートウェイ２がネットワークトポロジ推定装置の機能を備えていたが、ネットワークトポロジ推定装置は、ゲートウェイ２の外部にあってもよい。例えば、ネットワークトポロジ推定装置の機能は、各ノード１とゲートウェイ２を介して接続される、遠隔管理を行う遠隔管理サーバに備わっていてもよい。
【符号の説明】
【０１５５】
１      ノード
２、２Ａ〜２Ｃ    ゲートウェイ
２１    管理情報応答メッセージ受信部
２２    管理情報ＤＢ（database）
２３    トポロジ情報
２４    ネットワークトポロジ情報作成部
２５    推定ネットワークトポロジ作成部
２３１  現在のネットワークトポロジ情報
２３２  過去のネットワークトポロジ情報
２３３  推定後のネットワークトポロジ情報
２４１  競合ネットワークアドレス修正部
２５１  推定対象ノード選択部
２５２  親ノード探索部
２５３  ネットワークトポロジ情報推定／変更部
２５４  最新情報適用型ネットワークトポロジ情報推定／変更部
【図１Ａ】
2014096705.tif 000003
【図１Ｂ】
2014096705.tif 000004
【図２】
2014096705.tif 000005
【図３】
2014096705.tif 000006
【図４】
2014096705.tif 000007
【図５】
2014096705.tif 000008
【図６】
2014096705.tif 000009
【図７】
2014096705.tif 000010
【図８】
2014096705.tif 000011
【図９】
2014096705.tif 000012
【図１０】
2014096705.tif 000013
【図１１】
2014096705.tif 000014
【図１２】
2014096705.tif 000015