(57)【要約】【課題】ネットワーク中の通信経路の状態をより正確に監視できるようにする。【解決手段】ノード装置は、選択部、送信部、判定部、生成部を備える。選択部は、データの送信元ノード装置からデータの宛先ノード装置に至る経路の状況の調査に使用される調査フレームの送信先を、宛先ノード装置あてのフレームの転送先のノード装置から選択する。送信部は、第１の調査フレームを、第１の調査フレームの送信先に選択された第１のノード装置に送信する。判定部は、第１の調査フレームの送信に成功したかを判定する。生成部は、第１の調査フレームの送信に失敗すると、第１のノード装置との間の通信に失敗したことを記録した第２の調査フレームを生成する。送信部は、第２の調査フレームの送信先に選択された第２のノード装置に、第２の調査フレームを送信する。【選択図】図１
2014183348.tif 000002
【特許請求の範囲】
【請求項１】
データの送信元ノード装置から前記データの宛先ノード装置に至る経路の状況の調査に使用される調査フレームの送信先を、前記宛先ノード装置あてのフレームの転送先のノード装置から選択する選択部と、
第１の調査フレームを、前記第１の調査フレームの送信先に選択された第１のノード装置に送信する送信部と、
前記第１の調査フレームの送信に成功したかを判定する判定部と、
前記第１の調査フレームの送信に失敗すると、前記第１のノード装置との間の通信に失敗したことを記録した第２の調査フレームを生成する生成部
を備え、
前記送信部は、前記第２の調査フレームの送信先に選択された第２のノード装置に、前記第２の調査フレームを送信する
ことを特徴とするノード装置。
【請求項２】
前記生成部は、
前記第１の調査フレームに、前記第１のノード装置への送信の成功を表す情報と前記第１のノード装置との間のリンクの通信品質の評価値である第１の評価値を含め、
前記第２の調査フレームに、前記第１の評価値、前記第１のノード装置への送信の失敗を表す情報、前記第２のノード装置との間のリンクの通信品質の評価値である第２の評価値、および、前記第２のノード装置への送信の成功を表す情報を含める
ことを特徴とする請求項１に記載のノード装置。
【請求項３】
隣接するノード装置からフレームを受信する受信部
をさらに備え、
前記判定部は、前記受信部で受信された調査フレームである受信フレームから、前記受信フレームでの調査対象となっている経路の終点のノード装置である終点ノードを特定し、
前記選択部は、前記終点ノード宛のフレームの転送先から、前記生成部で生成される第３の調査フレームの送信先を選択し、
前記生成部は、前記第３の調査フレームの送信先である第３のノード装置の情報が前記受信フレームに含まれていても、前記受信フレームに含まれている経路情報と、前記第３のノード装置までのリンクの情報を付した第３の調査フレームを生成し、
前記送信部は、前記第３の調査フレームを前記第３のノード装置に送信する
ことを特徴とする請求項１または２に記載のノード装置。
【請求項４】
隣接するノード装置からフレームを受信する受信部
をさらに備え、
前記判定部は、前記受信部で受信された調査フレームである受信フレームから、前記受信フレームでの調査対象となっている経路の終点のノード装置である終点ノードを特定し、
前記選択部は、前記終点ノード宛のフレームの転送先から、前記生成部で生成される第３の調査フレームの送信先である第３のノード装置を選択し、
前記判定部は、前記受信フレームに含まれている経路情報に前記第３のノード装置との間のリンクの情報を追加したフレームを送信できるかを、前記受信フレームに含まれている経路情報の大きさを用いて判定し、
前記第３のノード装置との間のリンクの情報を追加したフレームを送信できない場合、前記生成部は、前記第３の調査フレームを、前記受信フレームに含まれている経路情報と、経路情報の改変の禁止を表す禁止情報を含み、かつ、前記第３のノード装置までのリンクの情報を含まないフレームとし、
前記送信部は、前記第３のノード装置に、前記第３の調査フレームを送信する
ことを特徴とする請求項１または２に記載のノード装置。
【請求項５】
前記受信部で受信したフレームを転送するための処理を行う転送処理部
をさらに備え、
前記第３の調査フレームを前記第３のノード装置に送信できなかったと前記判定部が判定した場合、前記選択部は前記第３の調査フレーム中の経路情報の送信先となる第４のノード装置を、前記終点ノード宛のフレームの転送先から選択し、
前記転送処理部は、前記第３の調査フレームを、前記第４のノード装置に転送するための処理を行い、
前記送信部は、前記第３の調査フレームを前記第４のノード装置に送信する
ことを特徴とする請求項４に記載のノード装置。
【請求項６】
隣接するノード装置からフレームを受信する受信部
をさらに備え、
前記生成部は、
前記受信部で受信された調査フレームである受信フレームを送信してきた隣接ノード装置である第３のノード装置を特定し、
前記第３のノード装置との間の通信の成功を表す情報と、前記第３のノード装置との間のリンクの通信品質の評価値を含む第３の調査フレームを生成し、
前記選択部は、前記第３の調査フレームの送信先となる第４のノード装置を、前記宛先ノード装置あてのフレームの転送先のノード装置から選択し、
前記送信部は、前記第３の調査フレームを前記第４のノード装置に送信する
ことを特徴とする請求項１に記載の通信装置。
【請求項７】
複数のノード装置を含むネットワーク中の第１のノード装置は、
通信品質を調査する対象の経路の終点のノード装置である終点ノード宛てのフレームの転送先のノード装置から、前記経路の調査に使用する第１の調査フレームの送信先を選択し、
前記第１の調査フレームの送信先として選択した第２のノード装置への第１の調査フレームの送信に失敗すると、前記第１のノード装置と前記第２のノード装置との間の通信が失敗したことを記録した第２の調査フレームを生成し、
前記第２の調査フレームの送信先とする第３のノード装置を、前記終点ノード宛てのフレームの転送先となるノード装置から選択し、
前記第３のノード装置に前記第２の調査フレームを送信することにより、前記第３のノード装置を介して、前記第１のノード装置と前記第２のノード装置との間の通信が失敗したことを、前記終点ノードに通知する
ことを特徴とする通信方法。
【請求項８】
複数のノード装置を含むネットワーク中の第１のノード装置に、
通信品質を調査する対象の経路の終点のノード装置である終点ノード宛てのフレームの転送先のノード装置から、前記経路の調査に使用する第１の調査フレームの送信先を選択し、
前記第１の調査フレームの送信先として選択した第２のノード装置への第１の調査フレームの送信に失敗すると、前記第１のノード装置と前記第２のノード装置との間の通信が失敗したことを記録した第２の調査フレームを生成し、
前記第２の調査フレームの送信先とする第３のノード装置を、前記終点ノード宛てのフレームの転送先となるノード装置から選択し、
前記第３のノード装置に前記第２の調査フレームを送信することにより、前記第３のノード装置を介して、前記第１のノード装置と前記第２のノード装置との間の通信が失敗したことを、前記終点ノードに通知する
処理を行わせることを特徴とする通信プログラム。
【請求項９】
複数のノード装置を含むネットワークを有するシステムであって、
前記ネットワーク中の第１のノード装置が、
通信品質を調査する対象の経路の終点のノード装置である終点ノード宛てのフレームの転送先のノード装置から、前記経路の調査に使用する第１の調査フレームの送信先を選択し、
前記第１の調査フレームの送信先として選択した第２のノード装置への第１の調査フレームの送信に失敗すると、前記第１のノード装置と前記第２のノード装置との間の通信が失敗したことを記録した第２の調査フレームを生成し、
前記第２の調査フレームの送信先とする第３のノード装置を、前記終点ノード宛てのフレームの転送先となるノード装置から選択し、
前記第３のノード装置に前記第２の調査フレームを送信することにより、前記第３のノード装置を介して、前記第１のノード装置と前記第２のノード装置との間の通信が失敗したことを、前記終点ノードに通知する
処理を行うことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノード装置を含むネットワークで行われる通信に関する。
【背景技術】
【０００２】
アドホックネットワークは、ネットワークを形成するノード装置が追加もしくは削除された場合でも、動的にネットワークが形成されるため、利便性が高い。アドホックネットワークに参加するノード装置は他のノード装置との間でＨｅｌｌｏフレームを送受信することにより、動的にネットワークを形成することができる。ここで、Ｈｅｌｌｏフレームには、Ｈｅｌｌｏフレームの送信元のノード装置の情報と、送信元のノード装置からフレームの転送が可能な宛先ごとに、宛先のノード装置の識別子と送信元のノード装置から宛先のノード装置までの経路の品質情報が含まれている。ノード装置は、Ｈｅｌｌｏフレームで送受信した情報を用いて、アドホックネットワーク中の他のノード装置への経路を取得する。
【０００３】
関連する技術として、データの送信元となる無線通信制御装置が、送信先へ通じる複数の経路に経路調査フレームを送信する経路制御方法が知られている。送信元では、送信先で先に受信された経路、リトライ回数の少ない経路、または、回線負荷の少ない経路を、データの送信に使用する経路に決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１―１３６１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
無線通信によるアドホックネットワークでは、ノード装置の設置位置やノード装置の周辺の電波状況などに応じて、ノード装置間の通信状況が変動することがある。このため、経路が確立されていたとしても、ノード装置の環境の変化によって、安定的に通信ができない場合がある。背景技術で述べた無線通信制御装置では、評価を行った時刻について経路単位で通信品質を取得できるが、各経路について、安定的に通信が可能であるかなどを判断するためのデータを取得することができない。
【０００６】
本発明は、１つの側面では、ネットワーク中の通信経路の状態をより正確に監視できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
ノード装置は、選択部、送信部、判定部、生成部を備える。選択部は、データの送信元ノード装置から前記データの宛先ノード装置に至る経路の状況の調査に使用される調査フレームの送信先を、前記宛先ノード装置あてのフレームの転送先のノード装置から選択する。送信部は、第１の調査フレームを、前記第１の調査フレームの送信先に選択された第１のノード装置に送信する。判定部は、前記第１の調査フレームの送信に成功したかを判定する。生成部は、前記第１の調査フレームの送信に失敗すると、前記第１のノード装置との間の通信に失敗したことを記録した第２の調査フレームを生成する。前記送信部は、前記第２の調査フレームの送信先に選択された第２のノード装置に、前記第２の調査フレームを送信する。
【発明の効果】
【０００８】
ネットワーク中の通信経路の状態を簡便に監視できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態にかかる通信方法の例を示す図である。
【図２】ノード装置の構成の例を示す図である。
【図３】ノード装置のハードウェア構成の例を示す図である。
【図４】アドホックネットワークの生成方法を説明する図である。
【図５】リンクテーブルの例を示す図である。
【図６】ルーティングテーブルの例を示す図である。
【図７】アドホックネットワークの生成方法を説明する図である。
【図８】アドホックネットワークの例を示す図である。
【図９】経路調査フレームのフォーマットの例を示す図である。
【図１０】経路の調査方法の例を説明する図である。
【図１１】ノード装置の動作の例を説明するフローチャートである。
【図１２】解析前にネットワークについて取得できる情報の例を示す図である。
【図１３】サーバに入力された経路情報の例を示す図である。
【図１４】ネットワークトポロジーの例を示す図である。
【図１５】ネットワークの変更例を示す図である。
【図１６】経路の調査例を説明する図である。
【図１７】第３の実施形態で行われる送信処理の例を示す図である。
【図１８】経路情報を誤って修正するケースの例を説明する図である。
【図１９】経路調査フレームのフォーマットの例を示す図である。
【図２０】第４の実施形態で行われる経路調査方法の例を示すシーケンス図である。
【図２１】第４の実施形態でのノード装置の動作の例を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、実施形態に係る通信方法の例を示す。図１は、ノードＡ〜Ｅとゲートウェイ装置（ＧＷ）の６つのノード装置が参加しているアドホックネットワークの例を示す。ノード装置は、隣接するノード装置との間でフレームを送受信する。ここで、あるノード装置に「隣接する」ノード装置は、あるノード装置から送信されたフレームを受信することができる範囲内に位置するノード装置のことを指すものとする。また、あるノード装置から送信されたフレームを受信できる範囲に位置するノード装置のことを、そのノード装置の「隣接ノード装置」と記載することがある。例えば、図１では、ノードＡの隣接ノードは、ノードＢとノードＥである。
【００１１】
アドホックネットワークが形成されると、アドホックネットワーク中の２つのノード装置の間の経路を、経路調査フレームを用いて調査することができる。図１を参照しながら、ノードＡからＧＷに向かう経路の状況の調査方法の例を説明する。
【００１２】
（１）ノードＡは、経路調査フレーム５ａをノードＢに送信する。ノードＡは、ノードＢとの通信に成功すると仮定して経路調査フレーム５ａを生成する。このため、経路調査フレーム５ａには、ノードＡからノードＢへの通信が成功したことを示す情報が含まれている。このとき、ノードＡとノードＢの間のリンクの状況が悪化していることにより、ノードＢに調査フレームが届かないものとする。
【００１３】
（２）ノードＡは、一定時間以内に、ノードＢから経路調査フレーム５ａに対する受信確認応答（Ａｃｋ）を受信しない場合、ノードＢへのフレームの送信に失敗したと判定する。すると、ノードＡは、ノードＡからノードＢへの送信が失敗したことと、ノードＡからノードＥへの通信が成功したことを示す情報を記録した経路調査フレーム５ｂを、ノードＥに送信する。図１の例では、通信に失敗した場合のリンクに関する情報を、太線で示すものとする。さらに、リンクの情報は、リンク内で経路調査フレーム５の宛先となるノード装置の識別子を含む四角で表す。例えば、経路調査フレーム５ｂの中のＥと書かれた四角は、ノードＡからノードＥへの送信の成功を表す情報と、ノードＡとノードＥの間のリンクに関する情報を表す。
【００１４】
（３）ノードＥは、ノードＡから経路調査フレーム５ｂを受信すると、経路調査フレーム５ｂについてのＡｃｋを、ノードＡに送信する。さらに、ノードＥは、経路調査フレーム５ｃをノードＣに送信する。経路調査フレーム５ｃには、ノードＡとノードＥを結ぶリンクを用いた通信が可能であること、ノードＥとノードＣの間で送信に成功していること、および、ノードＡとノードＢの間で送信に失敗していることが記録されている。
【００１５】
（４）ノードＣは、ノードＥから経路調査フレーム５ｃを受信すると、ノードＥと同様の処理を行う。従って、図１に示すように、ノードＣは、経路調査フレーム５ｄをノードＤに送信する。経路調査フレーム５ｄには、ノードＡを起点としてノードＥ、ノードＣ、ノードＤを経由する経路が使用可能であることと、ノードＡとノードＢの間で送信に失敗していることが記録されている。また、ノードＣは、経路調査フレーム５ｃについてのＡｃｋを、ノードＥに送信する。
【００１６】
（５）ノードＤは、ノードＣから経路調査フレーム５ｄを受信すると、ノードＥと同様の処理を行う。従って、図１に示すように、ノードＤは、経路調査フレーム５ｅをＧＷに送信する。経路調査フレーム５ｅには、ノードＡを起点としてノードＥ、ノードＣ、ノードＤを経由してＧＷに至る経路が使用可能であることと、ノードＡとノードＢの間で送信に失敗していることが記録されている。また、ノードＤは、経路調査フレーム５ｄについてのＡｃｋを、ノードＣに送信する。
【００１７】
（６）ＧＷは、経路調査フレーム５ｅを受信すると、経路調査フレーム５ｅに含まれている情報を、サーバに送信する。また、ＧＷは、経路調査フレーム５ｅについてのＡｃｋを、ノードＤに送信する。
【００１８】
（７）サーバでの処理を行っているオペレータは、ＧＷから受信した情報を用いて、ノードＡからＧＷに至るまでの経路に含まれている各リンクの状態に関する情報を取得する。サーバでは、ＧＷから通知された情報を用いてネットワークトポロジーについての解析が行われる。
【００１９】
このように、実施形態にかかる方法によると、通信の失敗が発生したリンクを特定する情報が、経路調査フレーム５の送信先のノード装置を介して、ＧＷに通知される。ＧＷは、経路調査フレーム５を用いて、通信に失敗したリンクを識別する情報を含む経路情報をサーバに送信する。このため、オペレータは、通信に失敗したリンクを含めて、ネットワークトポロジーを求めることができる。また、オペレータは、解析結果として得られたトポロジー情報を用いて、新たなノード装置等の設置や設置場所を検討できる。例えば、図１のネットワークにおいて、ノードＡとノードＢの間の通信状況を改善するために、オペレータは、ノードＡとノードＢの間に新たなノードＸを設置することを検討できる。また、実施形態による経路の調査方法を用いると、リンクの状況の悪化を早い時点で特定できるので、アドホックネットワークの保守を行いやすいという利点もある。
【００２０】
＜装置構成＞
図２は、ノード装置１０の構成の例を示す。ノード装置１０は、フレーム受信部１１、フレーム送信部１２、フレーム情報解析部１３、Ｈｅｌｌｏフレーム処理部１４、Ｈｅｌｌｏフレーム生成部１５、転送処理部１６、アプリケーション処理部１７を備える。ノード装置１０は、さらに、記憶部２０と経路調査処理部３０を備える。記憶部２０は、リンクテーブル２１とルーティングテーブル２２を保持する。経路調査処理部３０は、調査フレーム生成部３１、選択部３２、判定部３３を有する。
【００２１】
フレーム受信部１１は、ノード装置１０に送信されてきたフレームを受信する。フレーム受信部１１は、受信したフレームをフレーム情報解析部１３に出力する。一方、フレーム送信部１２は、Ｈｅｌｌｏフレーム生成部１５、転送処理部１６、調査フレーム生成部３１などから入力されたフレームを、フレームのローカル宛先に送信する。ここで、「ローカル宛先」（Local Destination、ＬＤ）は、フレームを最終的な宛先に送信するために行われる１ホップの転送の際に、宛先として指定されるノード装置のことを指す。さらに、フレームの最終的な宛先を「グローバル宛先」（Global Destination、ＧＤ）と記載することがある。関連して、フレームを生成したノード装置１０を「グローバル送信元」（Global Source、ＧＳ）と記載することがある。また、フレームが１ホップ転送される場合の転送元のノード装置１０のことを、「ローカル送信元」（Local Source、ＬＳ）と記載することもある。
【００２２】
フレーム情報解析部１３は、入力されたフレームに含まれているアドホックヘッダ中のタイプフィールドを確認する。タイプフィールドの値は、フレームの種類によって異なり、例えば、Ｈｅｌｌｏフレームとデータフレームでは、異なる値となっている。フレーム情報解析部１３は、予め、ノード装置１０が受信する可能性があるフレームの種類の各々に対応するタイプフィールドの値を記憶することができ、また、適宜、記憶部２０から取得することもできる。フレーム情報解析部１３は、ＨｅｌｌｏフレームをＨｅｌｌｏフレーム処理部１４に出力する。フレーム情報解析部１３は、データフレームについては、さらに、経路調査フレーム５であるかを判定する。フレーム情報解析部１３は、経路調査フレーム５を判定部３３に出力する。
【００２３】
Ｈｅｌｌｏフレーム処理部１４は、Ｈｅｌｌｏフレームから取得した情報を、リンクテーブル２１やルーティングテーブル２２に記録する。Ｈｅｌｌｏフレーム処理部１４は、Ｈｅｌｌｏフレームの受信強度などを用いて、リンク間の通信品質や、経路の品質を計算する。Ｈｅｌｌｏフレーム処理部１４は、隣接するノード装置についての情報や、リンク間の通信品質を、リンクテーブル２１に記録する。一方、Ｈｅｌｌｏフレーム処理部１４は、ネットワーク中の経路に関する情報や経路の品質を表わす情報を、ルーティングテーブル２２に記録する。さらに、Ｈｅｌｌｏフレーム処理部１４は、ルーティングテーブル２２に、フレームのグローバル宛先のノード装置に対応付けて、フレームの転送先（ロ―カル宛先）のノード装置を記録する。リンクテーブル２１とルーティングテーブル２２の例や使用方法等については、後述する。Ｈｅｌｌｏフレーム生成部１５は、予め決定された所定の周期でＨｅｌｌｏフレームを生成し、フレーム送信部１２に出力する。
【００２４】
転送処理部１６は、アプリケーション処理部１７などから入力されたフレームのグローバル宛先に応じて、ローカル宛先を決定して、アドホックヘッダを生成する。フレームのフォーマットについては後述する。転送処理部１６は、ローカル宛先を決定する際に、ルーティングテーブル２２を参照する。転送処理部１６は、アドホックヘッダを付加したフレームを、フレーム送信部１２に出力する。アプリケーション処理部１７は、フレーム情報解析部１３から入力されたフレームを処理する。
【００２５】
調査フレーム生成部３１は、経路調査フレーム５のグローバル宛先を選択部３２に通知する。選択部３２は、ルーティングテーブル２２を参照することにより、通知されたグローバル宛先に対応付けられているローカル宛先の候補から、経路調査フレーム５でローカル宛先に指定するノード装置を決定する。調査フレーム生成部３１は、選択部３２から通知されたノード装置をローカル宛先とした経路調査フレーム５を生成する。調査フレーム生成部３１は、経路調査フレーム５をフレーム送信部１２に出力する。
【００２６】
判定部３３は、フレーム情報解析部１３から、経路調査フレーム５や経路調査フレーム５のＡｃｋを取得する。判定部３３は、フレーム情報解析部１３から経路調査フレーム５が入力されると、経路調査フレーム５のグローバル宛先に指定されたノード装置が自ノードであるかを判定する。グローバル宛先に指定されたノード装置１０ではない場合、判定部３３は、経路調査フレーム５を受信したことと、経路調査フレーム５のグローバル宛先を調査フレーム生成部３１に通知する。
【００２７】
判定部３３は、経路調査フレーム５のＡｃｋを用いて、経路調査フレーム５の送信に成功したかを判定する。例えば、判定部３３は、経路調査フレーム５の送信時刻から一定の時間以内に、経路調査フレーム５についてのＡｃｋを受信すると、送信に成功したと判定する。一方、経路調査フレーム５の送信時刻から一定の時間以内に、経路調査フレーム５についてのＡｃｋを受信しない場合、判定部３３は、経路調査フレーム５の送信に失敗したと判定する。判定部３３は、経路調査フレーム５の送信に失敗したことを、経路調査フレーム５のグローバル宛先とともに、選択部３２に通知する。
【００２８】
すると、選択部３２は、ルーティングテーブル２２を参照し、経路調査フレーム５を送信できなかったノード装置以外のノード装置を、経路調査フレーム５のローカル宛先として選択する。選択部３２は、経路調査フレーム５の送信に失敗したことと、経路調査フレーム５のローカル宛先として新たに決定したノードを特定する情報を、調査フレーム生成部３１に通知する。調査フレーム生成部３１は、選択部３２から通知されたノード装置をローカル宛先として、新たな経路調査フレーム５を生成する。このとき、調査フレーム生成部３１は、送信に失敗したローカル宛先を特定する情報を、新たな経路調査フレーム５に含める。
【００２９】
図３は、ノード装置１０のハードウェア構成の例を示す図である。ノード装置１０は、プロセッサ１００、バス１０１（１０１ａ〜１０１ｃ）、タイマＩＣ１０４、Dynamic Random access Memory（ＤＲＡＭ）１０６、フラッシュメモリ１０７、無線モジュール１０８を備える。ノード装置１０は、オプションとして、ＰＨＹチップ１０２を含むことができる。バス１０１ａ〜１０１ｃは、プロセッサ１００、ＰＨＹチップ１０２、タイマＩＣ１０４、ＤＲＡＭ１０６、フラッシュメモリ１０７、および、無線モジュール１０８を、データの入出力が可能になるように接続する。
【００３０】
プロセッサ１００は、MicroProcessing Unit（ＭＰＵ）などの任意の処理回路である。プロセッサ１００は、フラッシュメモリ１０７に格納されたファームウェアなどのプログラムを読み込んで処理を行う。このとき、プロセッサ１００は、ＤＲＡＭ１０６をワーキングメモリとして使用できる。ノード装置１０において、プロセッサ１００は、フレーム情報解析部１３、Ｈｅｌｌｏフレーム処理部１４、Ｈｅｌｌｏフレーム生成部１５、転送処理部１６、アプリケーション処理部１７、経路調査処理部３０として動作する。ノード装置１０において、ＤＲＡＭ１０６は、記憶部２０として動作し、リンクテーブル２１とルーティングテーブル２２を保持する。ノード装置１０において、無線モジュール１０８は、フレーム受信部１１およびフレーム送信部１２として動作する。ＰＨＹチップ１０２は、有線通信に用いられる。アドホックネットワークと他のネットワーク中の装置の間の通信を中継するゲートウェイとして動作するノード装置１０では、ＰＨＹチップ１０２を介して回線による通信が行うことができる。
【００３１】
タイマＩＣ１０４は、Ｈｅｌｌｏフレームを送信する間隔の計測、隣接するノード装置１０からＨｅｌｌｏフレームを受信する間隔の計測、経路調査フレーム５の送信からＡｃｋを受信するまでの時間間隔の計測などに用いられる。つまり、タイマＩＣ１０４は、Ｈｅｌｌｏフレーム処理部１４、アプリケーション処理部１７、判定部３３などの一部として動作する。さらに、ノード装置１０が所定の間隔でＧＷへの経路の状況をＧＷに報告するように設定されているシステムでは、タイマＩＣ１０４は、調査フレーム生成部３１の一部として動作し、経路調査フレーム５を生成する時間間隔を測定する。
【００３２】
なお、ファームウェアなどのプログラムは、コンピュータ読み取り可能な記憶媒体に格納されて提供され、ノード装置１０にインストールされてもよい。また、プログラムは、ネットワークからＰＨＹチップ１０２や無線モジュール１０８を介してダウンロードされることによりノード装置１０にインストールされてもよい。さらに、実施形態に応じて、ＤＲＡＭ１０６やフラッシュメモリ１０７以外の他の種類の記憶装置が利用されることがある。また、ノード装置１０は、コンピュータによって実現されても良い。
【００３３】
＜第１の実施形態＞
以下、第１の実施形態を、アドホックネットワークの生成と経路情報の収集に分けて説明する。さらに、得られた経路情報の使用方法の例についても説明する。以下の説明では、ＧＷは、ネットワーク４１に接続されており、ネットワーク４１を介してサーバ４２と通信できるものとする。以下、動作を行っているノード装置１０を明確にするために、符号の最後に動作を行っているノード装置１０に割り当てられているアルファベットを記載することがある。例えば、ノードＡの中の調査フレーム生成部３１を調査フレーム生成部３１ａ、ＧＷ中のＨｅｌｌｏフレーム生成部１５をＨｅｌｌｏフレーム生成部１５ｇｗなどと表記することがある。
【００３４】
〔アドホックネットワークの生成〕
図４は、アドホックネットワークの生成方法を説明する図である。アドホックネットワークに含まれているノード装置１０は、定期的に、隣接するノード装置１０とＨｅｌｌｏフレームを送受信することにより、アドホックネットワークを形成する。Ｈｅｌｌｏフレームの送信時刻になると、ＧＷのアプリケーション処理部１７ｇｗは、Ｈｅｌｌｏフレーム生成部１５ｇｗにＨｅｌｌｏフレームの生成を要求する。図４に示す時点では、ＧＷは、いずれのノード装置１０ともＨｅｌｌｏフレームを送受信しておらず、ＧＷはいずれのノード装置１０も認識していないものとする。Ｈｅｌｌｏフレーム生成部１５ｇｗは、ＧＷの情報を含むＨｅｌｌｏフレームを、フレーム送信部１２ｇｗを介して隣接するノード装置１０に送信する。このため、図４に示すようにＧＷに隣接するノードＦ、ノードＧ、ノードＨにＨｅｌｌｏフレームが送信される。
【００３５】
次に、Ｈｅｌｌｏフレームを受信したときのノード装置１０の動作を、ノードＦを例として説明する。ノードＦのフレーム受信部１１ｆは、受信したＨｅｌｌｏフレームを、フレーム情報解析部１３ｆに出力する。フレーム情報解析部１３ｆは、タイプフィールドの値を用いて、ＨｅｌｌｏフレームをＨｅｌｌｏフレーム処理部１４ｆに出力する。Ｈｅｌｌｏフレーム処理部１４ｆは、Ｈｅｌｌｏフレームの送信元に関する情報や、Ｈｅｌｌｏフレームの受信強度などの情報を、リンクテーブル２１ｆとルーティングテーブル２２ｆに記録する。
【００３６】
図５は、リンクテーブル２１の例を示す。図５の例では、リンクテーブル２１には、Ｈｅｌｌｏフレームの送信元に対応付けて、Ｈｅｌｌｏフレームの受信間隔、受信強度、Ｈｅｌｌｏフレームの送信元との間のリンクについての通信品質評価値、フレームの再送回数が記録されている。受信間隔と受信強度については、それぞれ、平均値と分散値が含まれている。ノードＦは、ＧＷからのＨｅｌｌｏフレームを受信すると、図５（ａ）に示すリンクテーブル２１ｆを生成する。このとき、Ｈｅｌｌｏフレーム処理部１４ｆは、ＧＷとノードＦの間のリンクについての通信品質評価を求める。Ｈｅｌｌｏフレーム処理部１４ｆは、Ｈｅｌｌｏフレームの受信間隔が正しい値に近いほど通信品質評価を良くし、Ｈｅｌｌｏフレームの受信強度が大きいほど通信品質評価を良い値とする。さらに、Ｈｅｌｌｏフレーム処理部１４ｆは、Ｈｅｌｌｏフレームの受信間隔の分散値と受信強度の分散値のいずれについても、小さいほど通信品質評価を良い値にする。また、再送回数が小さいほど、Ｈｅｌｌｏフレーム処理部１４ｆは、通信品質評価を良い値とする。再送回数は、データフレームを、隣接するノード装置１０に再送した回数を示す情報であり、アプリケーション処理部１７などにより記録される。
【００３７】
図６は、ルーティングテーブル２２の例を示す。ルーティングテーブル２２は、１つのグローバル宛先に対して、１つ以上の任意の数のローカル宛先を記録することができる。例えば、図６（ａ）に示すように、ルーティングテーブル２２は、１つのグローバル宛先に対して、３つ以下のローカル宛先を記憶することができる。１つのグローバル宛先に対して、複数のローカル宛先が対応付けられている場合、優先順位を「ＬＤ」の後に続く数字で表すものとする。例えば、「ＬＤ１」は、ローカル宛先のうちで転送先として優先的に選択されるノード装置１０を指す。さらに、ルーティングテーブル２２は、例えば、経路のホップ数や経路中に含まれる各リンクの受信電波強度などを用いて計算された経路の品質を表す情報を、グローバル宛先とローカル宛先の組合せごとに保持する。品質情報の計算方法は、実装に応じて選択される。例えば、ノードＦは、ＧＷからのＨｅｌｌｏフレームを受信すると、図６（ａ）に示すルーティングテーブル２２ｆを生成する。なお、ノードＧとノードＨも、ＧＷからのＨｅｌｌｏフレームを受信すると、ノードＦと同様に処理する。
【００３８】
次に、図７に示すように、ノードＦがＨｅｌｌｏフレームを送信したとする。ノードＦで行われるＨｅｌｌｏフレームの生成は、ＧＷと同様である。ノードＦは、ＧＷからＨｅｌｌｏフレームを受信した後にＨｅｌｌｏフレームを送信するので、Ｈｅｌｌｏフレーム生成部１５ｆは、リンクテーブル２１ｆやルーティングテーブル２２ｆの情報をＨｅｌｌｏフレームに含める。従って、ノードＦから送信されるＨｅｌｌｏフレームには、ノードＦがＧＷにフレームを転送できることが記録されている。すると、ノードＦからＨｅｌｌｏフレームを受信した各ノード装置１０は、ノードＦを隣接ノードとしてリンクテーブル２１に記録するとともに、ノードＦを介してＧＷにフレームを送信できることをルーティングテーブル２２に記録する。すなわち、グローバル宛先がＧＷの情報のローカル宛先として、ノードＦをルーティングテーブル２２に記録する。ノードＨがノードＦからのＨｅｌｌｏフレームを受信したときに生成するルーティングテーブル２２ｈを図６（ｂ）に示す。
【００３９】
このように、各ノード装置１０がＨｅｌｌｏフレームの送受信を行うことにより、アドホックネットワーク中の各ノード装置１０が他のノード装置１０にフレームを送信するための経路を取得する。この結果、例えば、図８に示すようなアドホックネットワークが形成される。
【００４０】
〔経路情報の収集〕
図９は、経路調査フレーム５のフォーマットの例を示す。なお、経路調査フレーム５は、データフレームと同様のフォーマットであるものとする。経路調査フレーム５は、図９（ａ）に示すように、アドホックヘッダ、セキュリティヘッダ、データヘッダ、データペイロード、署名を含み、適宜、パディングを含む。経路情報は、データペイロードに含まれている。
【００４１】
アドホックヘッダには、ローカル宛先アドレス、ローカル送信元アドレス、タイプ、フレームサイズなどの情報が含まれている。なお、Ｈｅｌｌｏフレームもアドホックヘッダを備えており、データフレームとＨｅｌｌｏフレームはタイプの値で識別される。例えば、データフレームではタイプ＝１、Ｈｅｌｌｏフレームでは、タイプ＝０に設定される。データヘッダには、グローバル宛先アドレス、グローバル送信元アドレス、フレーム識別子（frame identifier、ＦＩＤ）、ＨＴＬ（Hop to live）、データタイプ、伝送情報、ホップ数が含まれている。フレーム識別子は、アドホックフレーム毎に割り振られた識別番号である。ＨＴＬは、データフレームの有効期限を表す値である。転送処理部１６は、他のノード装置１０にフレームを転送する際に、ＨＴＬの値を１つデクリメントする。データタイプには、経路フラグ、暗号化フラグ、データ種別情報、リザーブ領域が含まれる。経路フラグは、経路情報の付与を指示するフラグである。経路フラグ＝１を受信したノード装置１０では、調査フレーム生成部３１が経路情報を含む経路調査フレーム５を生成する。一方、経路フラグ＝０を受信したノード装置１０では、調査フレーム生成部３１は経路調査フレーム５を生成しない。暗号化フラグは、フレームを受信するノード装置１０に、ペイロード暗号化の有無を通知するために設定する。暗号化フラグ＝０の場合は、ペイロードが暗号化されておらず、暗号化フラグ＝１の場合はペイロードが暗号化されているものとする。データ種別は、データフレームと経路調査フレーム５を識別するときに使用される。以下の説明では、データ種別＝０はアプリケーションのデータを含むフレーム、データ種別＝１は経路調査フレーム５、データ種別＝２はＩＰ（Internet Protocol）データを示すものとする。
【００４２】
図９（ｂ）に経路情報に含まれる情報要素の例を示す。個々の経路情報には、１つのリンクの通信状況が記録されている。経路情報中でMedia Access Control（ＭＡＣ）アドレスが記録されているノード装置１０は、そのリンクで行われた経路調査フレーム５の送受信の際に、ローカル宛先となった方のノード装置１０である。経路情報には、さらに、時刻情報、Received Signal Strength Indication（ＲＳＳＩ、受信強度情報）、通信品質評価、送信結果が含まれている。時刻情報は、経路情報が記録されているリンクでＭＡＣアドレスが記録されているノード装置１０に向けて経路調査フレーム５が送信された時刻である。受信強度情報、および、通信品質評価は、経路調査フレーム５のローカル宛先に対応付けられた値を、選択部３２がリンクテーブル２１から取得する。
【００４３】
図１０は、経路の調査方法の例を説明する図である。図１０は、図１に示すアドホックネットワークの一部を拡大して示している。以下、ノードＡはＧＷ宛のフレームのローカル宛先の中でノードＢの条件が最も良いと評価している（ＬＤ１＝ノードＢ）が、電波状況が変動したことにより、ノードＡとノードＢの間のリンクの状況が悪くなった場合を例として説明する。以下の手順の番号は、図１０中の番号に対応付けている。また、以下の説明では、アドホックネットワーク中の各ノード装置１０は、所定の時間ごとにＧＷまでの経路の状況を、ＧＷに通知するものとする。
【００４４】
（１１）ノードＡの調査フレーム生成部３１ａは、ノードＡからＧＷまでの経路の状況を調査するために、経路調査フレーム５を生成することを決定する。そこで、調査フレーム生成部３１ａは、選択部３２ａに、経路調査フレーム５の送信先とするノード装置１０の情報を要求する。
【００４５】
（１２）選択部３２ａは、ルーティングテーブル２２ａ（図６（ｃ））を参照する。ルーティングテーブル２２ａでは、ＧＷがグローバル宛先の場合、ＬＤ１＝ノードＢ、ＬＤ２＝ノードＥである。そこで、選択部３２ａは、ノードＢを経路調査フレーム５の送信先として選択する。選択部３２ａ（図５（ｂ））は、ノードＢとノードＡの間のリンクに関する以下の情報をリンクテーブル２１ａから取得して、調査フレーム生成部３１ａに出力する。
ＭＡＣアドレス：ノードＢのＭＡＣアドレス
受信強度      ：Ｅｂ
通信品質評価  ：悪
【００４６】
（１３）調査フレーム生成部３１ａは、選択部３２ａから通知された情報を含めた経路調査フレーム５ａを生成する。この時点では、調査フレーム生成部３１ａは、ノードＢに経路調査フレーム５ａを送信できるものと仮定している。さらに、調査フレーム生成部３１ａは、経路調査フレーム５ａの送信時刻を求めて、フレームに含める。ここで、調査フレーム生成部３１ａは、予め、経路調査フレーム５の生成が終わった時刻から、生成された経路調査フレーム５がノード装置１０から送信されるまでにかかる時間の予測値を保持することができるものとする。調査フレーム生成部３１ａは、経路調査フレーム５ａの生成時刻に予測値を加えた時刻を、経路調査フレーム５ａの送信時刻とする。このため、例えば、以下のような情報が経路調査フレーム５ａに含まれる。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＢ
ローカル送信元  ：ノードＡ
フレームタイプ  ：１  （データフレーム）
経路フラグ      ：１  （経路情報）
データ種別      ：１  （経路調査フレーム）
経路情報＃０
ＭＡＣアドレス：ノードＢのＭＡＣアドレス
時刻情報      ：Ｔ１
受信強度      ：Ｅｂ
通信品質評価  ：悪
送信結果      ：成功
【００４７】
調査フレーム生成部３１ａは、経路調査フレーム５ａをフレーム送信部１２に出力する。フレーム送信部１２は、経路調査フレーム５ａの送信処理を行う。調査フレーム生成部３１ａは、時刻Ｔ１を判定部３３ａに通知する。判定部３３ａは、時刻Ｔ１から、経過時間を計測する。
【００４８】
（１４）ノードＡとノードＢの間のリンクの通信状況が悪化していることにより、経路調査フレーム５ａはノードＢに送信されなかったものとする。
【００４９】
（１５）判定部３３ａは、予め、経路調査フレーム５の送信からＡｃｋを待つ時間Ｔｗを記憶している。判定部３３ａは、時刻Ｔ１からＴｗの時間が経過してもノードＢから経路調査フレーム５ａのＡｃｋを取得できない場合、ノードＢへの経路調査フレーム５ａの送信に失敗したと判定する。そこで、判定部３３ａは、ＬＤとしてノードＢを設定した経路調査フレーム５ａの送信に失敗したことと、経路調査フレーム５ａのグローバル宛先がＧＷであることを、選択部３２ａに通知する。
【００５０】
（１６）選択部３２ａは、ノードＢ以外のノードで、ＧＷ宛のフレームの転送先となるノード装置１０を、ルーティングテーブル２２ａを用いて検索する。選択部３２ａは、ルーティングテーブル２２ａ（図６（ｃ））より、次に送信する経路調査フレーム５のローカル宛先として、ノードＥを選択する。選択部３２ａは、ノードＥとノードＡの間のリンクに関する以下の情報をリンクテーブル２１ａ（図５（ｂ））から取得する。さらに、選択部３２ａは、以下の情報を、調査フレーム生成部３１ａに出力する。
状況            ：ＬＤ＝ノードＢの経路調査フレーム５ａの送信失敗
新たなＬＤのＭＡＣアドレス：ノードＥのＭＡＣアドレス
受信強度                  ：Ｅｅ
通信品質評価              ：良
【００５１】
（１７）調査フレーム生成部３１ａは、ＬＤ＝ノードＢの経路調査フレーム５ａの送信に失敗したことを選択部３２ａから通知されると、ＬＤ＝ノードＢの経路情報の送信結果を失敗に変更する。さらに、調査フレーム生成部３１ａは、選択部３２ａから通知された情報を用いて、以下の情報を含む経路調査フレーム５ｂを生成する。なお、経路情報＃１の時刻情報の計算方法は、手順（１３）と同様である。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＥ
ローカル送信元  ：ノードＡ
フレームタイプ  ：１
経路フラグ      ：１
データ種別      ：１
経路情報＃０
ＭＡＣアドレス：ノードＢのＭＡＣアドレス
時刻情報      ：Ｔ１
受信強度      ：Ｅｂ
通信品質評価  ：悪
送信結果      ：失敗
経路情報＃１
ＭＡＣアドレス：ノードＥのＭＡＣアドレス
時刻情報      ：Ｔ２
受信強度      ：Ｅｅ
通信品質評価  ：良
送信結果      ：成功
【００５２】
なお、経路調査フレーム５ｂを生成する時点では、調査フレーム生成部３１ａは、ノードＥに経路調査フレーム５ｂを送信できるものと仮定している。
【００５３】
調査フレーム生成部３１ａは、経路調査フレーム５ｂを、フレーム送信部１２を介して、ノードＥに送信する。調査フレーム生成部３１ａは、時刻Ｔ２を判定部３３ａに通知し、判定部３３ａは、時刻Ｔ２からの経過時間を計測する。
【００５４】
（１８）経路調査フレーム５ｂは、ノードＥに到達したとする。ノードＥのフレーム受信部１１ｅは、経路調査フレーム５ｂを受信すると、フレーム情報解析部１３ｅに出力する。フレーム情報解析部１３ｅは、経路調査フレーム５ｂのタイプフィールドとデータ種別の値を用いて、受信したフレームの種類を判定する。ここでは、タイプ＝１かつデータ種別＝１なので、フレーム情報解析部１３ｅは、経路調査フレーム５を受信したと判定する。フレーム情報解析部１３ｅは、入力された経路調査フレーム５ｂを、判定部３３ｅに出力する。
【００５５】
判定部３３ｅは、経路フラグ＝１に設定された経路調査フレーム５を受信すると、他のノード装置１０を起点とした経路が調査されていると判定する。そこで、判定部３３ｅは、経路調査フレーム５ｂのグローバル宛先を調査フレーム生成部３１ｅに通知する。ここでは、判定部３３ｅは、経路調査フレーム５ｂのグローバル宛先がＧＷであることを、調査フレーム生成部３１ｅに通知する。さらに、判定部３３ｅは、経路調査フレーム５ｂのローカル送信元に、経路調査フレーム５ｂを受信したことを通知するＡｃｋを生成する。すなわち、判定部３３ｅは、ノードＡを宛先として、経路調査フレーム５ｂのＡｃｋを生成し、生成したフレームを、フレーム送信部１２ｅを介してノードＡに送信する。なお、Ａｃｋとして送信されるフレーム中では、経路フラグ＝０に設定されているものとする。
【００５６】
（１９）ノードＡのフレーム受信部１１ａは、ノードＥから受信したＡｃｋをフレーム情報解析部１３ａに出力する。フレーム情報解析部１３ａは、手順（１８）で述べたのと同様の処理により、Ａｃｋを判定部３３ａに出力する。判定部３３ａは、経路フラグ＝０に設定された経路調査フレーム５を受信すると、ノードＡから送信した経路調査フレーム５のＡｃｋを受信したと判定する。判定部３３ａは、予め決められた時間Ｔｗが経過するより前にＡｃｋが入力されると、Ａｃｋのグローバル送信元への経路調査フレーム５の送信が成功したと判定する。そこで、判定部３３ａは、ノードＡから新たに経路調査フレーム５を送信しなくてよいと判定し、処理を終了する。
【００５７】
（２０）ノードＥの調査フレーム生成部３１ｅは、判定部３３ｅから、グローバル宛先をＧＷとする経路調査フレーム５を受信したことが通知されると、経路調査フレーム５を生成するために、選択部３２ｅにローカル宛先の選択を要求する。選択部３２ｅは、手順（１２）で述べた処理と同様の処理により、ルーティングテーブル２２ｅからローカル宛先を選択する。図１０の例では、ローカル宛先としてノードＣが選択されている。また、ローカル宛先に選択したノード装置１０までのリンクの状況をリンクテーブル２１ｅから取得し、調査フレーム生成部３１ｅに出力する。調査フレーム生成部３１ｅは、手順（１３）で述べた方法と同様の処理により、ノードＣへの送信が成功したと仮定して、経路調査フレーム５ｃを生成する。経路調査フレーム５ｃは、フレーム送信部１２ｅからノードＣに送信される。
【００５８】
（２１）経路調査フレーム５ｃは、ノードＣに受信されたとする。このときのノードＣの処理は、手順（１８）と手順（２０）で述べた処理と同様である。一方、ノードＥは、ノードＣから経路調査フレーム５ｃのＡｃｋを受信すると、手順（１９）で説明したのと同様の処理を行う。
【００５９】
（２２）以上に述べたような処理を各ノード装置１０が行う。このため、ノードＡからＧＷまでの経路に含まれるリンクと、ノードＡからＧＷまでの間でフレームの転送先として選択されたリンクについての状況を表す情報を含むノード経路調査フレーム５がＧＷに送信される。ＧＷは、ノードＡからＧＷまでの経路の調査結果を含む経路調査フレーム５を受信すると、得られた情報をサーバ４２に送信する。サーバ４２は、ネットワーク４１を介してＧＷから経路の調査結果を受信する。
【００６０】
以上の処理が行われることにより、サーバ４２を使用するオペレータは、ＧＷから受信した情報を用いて、アドホックネットワーク中の経路について、経路に含まれている各リンクの状態を特定できる。例えば、図１０の例では、オペレータは、ノードＡとノードＢの間で通信に失敗したことから、ノードＡとノードＢの間のリンクの通信環境が劣悪であることを認識できる。また、通信に成功しているリンクについても、各リンクについての通信品質評価の値を用いて、通信環境の変動をモニタすることができる。
【００６１】
図１１は、ノード装置１０の動作の例を説明するフローチャートである。図１１のフローチャートでは、ｎは処理を行ったＬＤの数を計数するために使用する変数であり、Ｎは経路調査フレーム５のグローバル宛先に対応付けられているローカル宛先の総数である。さらに、ＬＤｎは、経路調査フレーム５のグローバル宛先に対応付けられたｎ番目のローカル宛先を示すものとする。
【００６２】
選択部３２は、調査フレーム生成部３１から経路調査フレーム５のグローバル宛先を通知されると、変数ｎを１に設定する（ステップＳ１）。選択部３２は、ｎ番目のローカル宛先（ＬＤｎ）が、経路調査フレーム５の送信に失敗したノードとして経路調査フレーム５に記録されているかを判定する（ステップＳ２）。ＬＤｎが経路調査フレーム５の送信に失敗したノードとして経路調査フレーム５に記録されていない場合、選択部３２は、ＬＤｎに関する情報をリンクテーブル２１から抽出して、調査フレーム生成部３１に出力する（ステップＳ２でＮｏ）。調査フレーム生成部３１は、選択部３２から入力された情報を用いて、経路調査フレーム５を生成する（ステップＳ３）。調査フレーム生成部３１は、フレーム送信部１２を介して、生成した経路調査フレーム５をＬＤｎに送信する（ステップＳ４）。判定部３３は、経路調査フレーム５が送信されてから、経路調査フレーム５に対するＡｃｋを受信したかを判定する（ステップＳ５）。経路調査フレーム５のＡｃｋを受信すると、判定部３３は、ＬＤｎへの経路調査フレーム５の送信に成功したと判定し、処理を終了する（ステップＳ５でＹｅｓ、ステップＳ６）。
【００６３】
一方、経路調査フレーム５のＡｃｋを受信していない場合、判定部３３は、送信時刻からの経過時間が閾値Ｔｗ以内かを判定する（ステップＳ５でＮｏ、ステップＳ７）。判定部３３は、送信時刻からの経過時間が閾値Ｔｗ以内である場合、ステップＳ５以降の処理を繰り返す（ステップＳ７でＹｅｓ）。従って、判定部３３は、経路調査フレーム５の送信時刻から閾値Ｔｗを越える時間が経過するまで経路調査フレーム５のＡｃｋを待ち合わせる。経路調査フレーム５のＡｃｋを受信しておらず、かつ、送信時刻からの経過時間が閾値Ｔｗを超えている場合、判定部３３は、ＬＤｎへの経路調査フレーム５の送信に失敗したと判定する（ステップＳ５でＮｏ、ステップＳ７でＮｏ、ステップＳ８）。すると、調査フレーム生成部３１は、ステップＳ４で送信した経路調査フレーム５の経路情報のうち、ＬＤｎへの経路情報について、送信結果を「失敗」に設定する（ステップＳ９）。選択部３２は、変数ｎを、経路調査フレーム５のグローバル宛先に対応付けられたローカル宛先の総数Ｎと比較する（ステップＳ１０）。ローカル宛先の総数Ｎが変数ｎより大きい場合、全てのローカル宛先についての処理が終了していないので、選択部３２はｎを１つインクリメントしてステップＳ２に戻る（ステップＳ１０でＹｅｓ、ステップＳ１１）。ローカル宛先の総数Ｎが変数ｎと同じ値になると、全てのローカル宛先についての処理が終了しているので、選択部３２は処理を終了する（ステップＳ１０でＮｏ）。ステップＳ２において、ｎ番目のローカル宛先（ＬＤｎ）が、経路調査フレーム５の送信に失敗したノードとして経路調査フレーム５に記録されている場合、ステップＳ３〜Ｓ９の処理は行われず、ステップＳ１０以降の処理が行われる。
【００６４】
〔経路情報の解析の例〕
次に、サーバ４２において、経路調査フレーム５を用いて得られた経路情報からネットワークトポロジーを特定する方法について説明する。なお、以下の解析は、サーバ４２やサーバ４２に接続されているコンピュータなどに搭載されたプロセッサが、ソフトウェアを実行することによって行われるが、システムを使用するオペレータにより解析が行われてもよい。
【００６５】
解析前の段階で図１２に示すノードがネットワークに含まれていることが分っているものとする。従って、サーバ４２は、ネットワーク４１を介して、アドホックネットワーク中に含まれるＧＷと通信できる。また、ＧＷが参加しているアドホックネットワークには、２台の中継ノード（Ｒ１、Ｒ２）と４台のメータ（Ｍ１〜Ｍ４）が含まれている。以下の説明では、メータＭ１〜Ｍ４は、電気、ガス、水道などの検針メータであるとする。メータＭ１〜Ｍ４は、予め決められた周期で検針データを取得し、得られたデータをＧＷに送信する。ＧＷは、各メータから受信した検針データを、ネットワーク４１を介してサーバ４２に送信する。さらに、メータＭ１〜Ｍ４は、経路調査フレーム５を用いて、定期的に、ＧＷまでの経路の情報を収集し、ＧＷに送信しているものとする。ＧＷは、得られた経路情報をサーバ４２に送信する。
【００６６】
図１２の例において、メータＭ１、Ｍ２、および、Ｍ３で得られた検針データは、定期的にサーバ４２に送信されてくるが、メータＭ４での検針データは、定期的にサーバ４２に送られてきていないとする。この場合、メータＭ４からＧＷに至る経路の状況が良くないため、メータＭ４で得られた検針データがアドホックネットワーク中で消失している可能性がある。そこで、メータＭ４からＧＷまでの経路について得られている経路の情報の解析が行われる。
【００６７】
図１３は、サーバに入力された経路情報の例を示す図である。図１３では、分かりやすくするために、メータＭ４をグローバル送信元、ＧＷをグローバル宛先とした経路調査フレーム５を用いて得られた経路情報のうち、ＬＤとして指定したノード、リンクの通信品質評価、送信結果を抽出して示している。図１３（ａ）の解析結果が得られている場合、経路情報は、メータＭ４からメータＭ１、中継ノードＲ１を経て、ＧＷに送信されている。図１３（ａ）の経路情報より、メータＭ４とメータＭ１、メータＭ１と中継ノードＲ１、中継ノードＲ１とＧＷの間に、リンクが形成されていることと、これらのリンクのいずれでも通信が成功していることが分かる。また、中継ノードＲ１とＧＷの間のリンクの通信品質は良好であるが、メータＭ４とメータＭ１の間のリンクと、メータＭ１と中継ノードＲ１の間のリンクの通信品質は中程度であることも、経路情報から取得される。
【００６８】
一方、図１３（ｂ）の経路情報では、ホップ１においてメータＭ４からメータＭ１への送信が失敗している。このため、メータＭ４はホップ２でメータＭ２に経路調査フレーム５を送信している。さらに、メータＭ２はホップ３でメータＭ１に経路調査フレーム５を送信している。そこで、図１３（ｂ）の経路情報を用いると、図１３（ａ）の経路情報から得られた情報に加えて、メータＭ４とメータＭ２の間のリンクと、メータＭ２とメータＭ１の間のリンクの情報が得られる。メータＭ４とメータＭ２の間のリンクと、メータＭ２とメータＭ１の間のリンクのいずれでも通信が成功している。また、メータＭ２とメータＭ１の間のリンクの通信品質は良好であるが、メータＭ４とメータＭ２の間のリンクの通信品質は中程度であることも、図１３（ｂ）の経路情報から得られる。さらに、メータＭ４とメータＭ１の間での通信が失敗することがあることも図１３（ｂ）の経路情報から認識できる。
【００６９】
図１３（ｃ）の経路情報では、ホップ１においてメータＭ４からメータＭ１への送信が失敗し、ホップ２でのメータＭ４からメータＭ２への送信も失敗している。そこで、ホップ３では、メータＭ４はメータＭ３に経路調査フレーム５を送信している。さらに、メータＭ３はホップ４でメータＭ２に経路調査フレーム５を送信している。図１３（ｃ）のホップ４以降は、図１３（ｂ）のホップ２以降と同様である。そこで、図１３（ｃ）の経路情報を用いると、メータＭ４とメータＭ３の間のリンクと、メータＭ３とメータＭ２の間のリンクの情報が得られる。メータＭ４とメータＭ３の間のリンクと、メータＭ３とメータＭ２の間のリンクのいずれでも通信が成功している。また、メータＭ４とメータＭ３の間のリンクの通信品質は悪いが、メータＭ３とメータＭ２の間のリンクの通信品質は中程度であることも、図１３（ｃ）の経路情報から得られる。さらに、メータＭ４とメータＭ２の間での通信が失敗することがあることも図１３（ｃ）の経路情報から認識できる。
【００７０】
図１４は、ネットワークトポロジーの例を示す図である。図１３（ａ）〜図１３（ｃ）に示す経路情報を解析することにより、図１２で示すノード装置によって形成されているアドホックネットワークは、図１４に示すとおりであると解析できる。さらに、メータＭ４からＧＷに向かうデータの送信の失敗は、メータＭ４とメータＭ１のリンク、メータＭ４とメータＭ２のリンク、メータＭ４とメータＭ３のリンクのいずれかで発生した通信に失敗に起因する可能性が高いという結果が得られる。ネットワークトポロジーの解析を行うプロセッサは、得られた結果を、適宜、オペレータが視認できるように表示装置に出力することができるものとする。また、ネットワークトポロジーの解析を行うプロセッサは、ネットワークの変更案を、解析結果と共に表示装置に出力しても良い。
【００７１】
図１５は、ネットワークの変更例を示す図である。図１５の例では、通信品質が中程度であるが通信の失敗が発生する可能性があるリンクを、通信品質を改善するための処理対象としている。そこで、メータＭ４とメータＭ１の間に中継ノードＲ３を設置し、メータＭ４とメータＭ２の間に中継ノードＲ４を設置している。なお、図１５は、ネットワークの変更例の一例であり、他のノード間の通信品質を変更することにより、メータＭ４からＧＷへのフレームの送信に成功する確率を向上させても良い。
【００７２】
このように、実施形態にかかる方法によると、通信の失敗が発生したリンクを特定する情報が、調査フレームの送信先のノード装置を介して、ＧＷに通知される。ＧＷが調査フレームを用いて、通信に失敗したリンクを識別する情報を含む経路情報をサーバに送信するので、サーバは、通信に失敗したリンクを含めて、ネットワークトポロジーを求めることができる。また、解析結果として得られたトポロジー情報をオペレータに提示することにより、新たなノード装置等の設置場所の候補をオペレータ等に通知できる。
【００７３】
＜第２の実施形態＞
第１の実施形態ではリンクの状況の悪化を特定する方法を説明したが、経路中にループやバックトラックが発生しているかをモニタすることもできる。第２の実施形態では、通信経路が効率的な経路であるかをモニタする場合について説明する。第２の実施形態では、ループやバックトラックを検出するために、ＦＩＤを用いるものとする。
【００７４】
図１６は、経路の調査例を説明する図である。以下、図１６に示すアドホックネットワークで、ノードＡからＧＷにいたる経路の経路情報を調査する場合を例として説明する。図１６では、ノードＡが保持するルーティングテーブル２２ａにおいて、グローバル宛先がＧＷの場合のローカル宛先は、ＬＤ１＝ノードＢ、ＬＤ２＝ノードＥであるものとする。ノードＣが保持するルーティングテーブル２２ｃにおいて、グローバル宛先がＧＷの場合のローカル宛先は、ＬＤ１＝ノードＤ、ＬＤ２＝ノードＥである。また、ノードＥが保持するルーティングテーブル２２ｅにおいて、グローバル宛先がＧＷの場合のローカル宛先は、ＬＤ１＝ノードＣ、ＬＤ２＝ノードＧであるものとする。ノードＡからノードＥに経路調査フレーム５ｂが受信されるまでの処理は、図１０を参照しながら説明した手順（１１）〜（１９）と同様である。以下、経路調査フレーム５ｃの送信以降に行われる処理の例について説明する。
【００７５】
（３１）ノードＥの判定部３３ｅは、受信した経路調査フレーム５ｂに含まれているＦＩＤの値、経路調査フレーム５ｂのグローバル宛先、グローバル送信元を特定する。ここで、経路調査フレーム５ｂを解析した結果、判定部３３ｅは、グローバル宛先＝ＧＷ、グローバル送信元＝ノードＡ、ＦＩＤ＝１の情報を取得したとする。判定部３３ｅは、経路調査フレーム５ｂのグローバル宛先、グローバル送信元とＦＩＤの値を、調査フレーム生成部３１ｅに通知する。調査フレーム生成部３１ｅは、判定部３３ｅからの通知に応じて、経路調査フレーム５を生成するために、選択部３２ｅにローカル宛先の選択を要求する。選択部３２ｅは、手順（１２）で述べた処理と同様の処理により、ルーティングテーブル２２ｅからローカル宛先を選択する。図１６の例では、ローカル宛先としてノードＣが選択されている。また、選択部３２ｅは、ローカル宛先に選択したノード装置１０までのリンクの状況をリンクテーブル２１ｅから取得し、調査フレーム生成部３１ｅに出力する。調査フレーム生成部３１ｅは、手順（１３）で述べた方法と同様の処理により、ノードＣへの送信が成功したと仮定して、経路調査フレーム５ｃを生成する。このとき、調査フレーム生成部３１ｅは、経路調査フレーム５ｃのグローバル宛先、グローバル送信元、ＦＩＤの値は、経路調査フレーム５ｂと同じ値とする。
【００７６】
調査フレーム生成部３１ｅは、経路調査フレーム５ｃを、判定部３３ｅとフレーム送信部１２ｅに出力する。判定部３３ｅは、経路調査フレーム５ｃに含まれているＦＩＤに対応付けて、グローバル宛先、グローバル送信元、ローカル宛先の組合せを記憶する。すなわち、ここでは、判定部３３ｅは、グローバル宛先＝ＧＷ、グローバル送信元＝ノードＡ、ローカル宛先＝ノードＣ、ＦＩＤ＝１の組合せを記憶する。フレーム送信部１２ｅは、経路調査フレーム５ｃをノードＣに送信する。
【００７７】
（３２）経路調査フレーム５ｃは、ノードＣに受信されたとする。このときのノードＣの処理は、手順（１８）と手順（３１）で述べた処理と同様である。このため、ノードＥは、ノードＣから経路調査フレーム５ｃのＡｃｋを受信すると、手順（１９）で説明したのと同様の処理を行う。ルーティングテーブル２２ｃでは、グローバル宛先がＧＷの場合ＬＤ１＝ノードＤであるので、選択部３２ｃは、ノードＤとノードＣの間のリンクについての情報を、調査フレーム生成部３１ｃに出力する。そこで、調査フレーム生成部３１ｃは、以下のリンクの情報を含む経路調査フレーム５ｄを生成し、判定部３３ｃとフレーム送信部１２ｃに出力する。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＤ
ローカル送信元  ：ノードＣ
ＦＩＤ          ：１
ホップ１：ノードＡとノードＢの間のリンク情報、送信失敗
ホップ２：ノードＡとノードＥの間のリンク情報、送信成功
ホップ３：ノードＥとノードＣの間のリンク情報、送信成功
ホップ４：ノードＣとノードＤの間のリンク情報、送信成功
そこで、判定部３３ｃは、グローバル宛先＝ＧＷ、グローバル送信元＝ノードＡ、ローカル宛先＝ノードＤ、ＦＩＤ＝１の組合せを記憶する。フレーム送信部１２ｃは、経路調査フレーム５ｄをノードＤに送信する。
【００７８】
（３３）経路調査フレーム５ｄは、ノードＤに受信されたとする。このときのノードＤの処理は、手順（１８）と手順（３１）で述べた処理と同様である。ノードＣは、ノードＤから経路調査フレーム５ｄのＡｃｋを受信すると、経路調査フレーム５の送信処理を終了する。ここで、ルーティングテーブル２２ｄでは、グローバル宛先がＧＷの場合ＬＤ１＝ノードＦであるとする。すると、調査フレーム生成部３１ｄは、以下のリンクの情報を含む経路調査フレーム５ｅを生成し、判定部３３ｄとフレーム送信部１２ｄに出力する。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＦ
ローカル送信元  ：ノードＤ
ＦＩＤ          ：１
ホップ１：ノードＡとノードＢの間のリンク情報、送信失敗
ホップ２：ノードＡとノードＥの間のリンク情報、送信成功
ホップ３：ノードＥとノードＣの間のリンク情報、送信成功
ホップ４：ノードＣとノードＤの間のリンク情報、送信成功
ホップ５：ノードＤとノードＦの間のリンク情報、送信成功
フレーム送信部１２ｄは、経路調査フレーム５ｅをノードＦに送信する。
【００７９】
（３４）ノードＦは、経路調査フレーム５ｅを受信すると、手順（３３）でのノードＤと同様の処理を行う。ここで、ルーティングテーブル２２ｆにおいて、グローバル宛先がＧＷの場合ＬＤ１＝ノードＣであるとすると、調査フレーム生成部３１ｆは、以下のリンクの情報を含む経路調査フレーム５ｆを生成する。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＣ
ローカル送信元  ：ノードＦ
ＦＩＤ          ：１
ホップ１：ノードＡとノードＢの間のリンク情報、送信失敗
ホップ２：ノードＡとノードＥの間のリンク情報、送信成功
ホップ３：ノードＥとノードＣの間のリンク情報、送信成功
ホップ４：ノードＣとノードＤの間のリンク情報、送信成功
ホップ５：ノードＤとノードＦの間のリンク情報、送信成功
ホップ６：ノードＦとノードＣの間のリンク情報、送信成功
【００８０】
（３５）ノードＣが経路調査フレーム５ｆを受信すると、判定部３３ｃは、グローバル宛先＝ＧＷ、グローバル送信元＝ノードＡ、ＦＩＤ＝１の情報を取得したとする。判定部３３ｃは、グローバル宛先、グローバル送信元、ＦＩＤの値の組合せが同じフレームについての情報を保持しているので、ノードＣが送信した経路調査フレーム５ｄの情報を含む経路調査フレーム５がグローバル宛先に到達する前に、ノードＣに再度到達したと判定する。このため、グローバル宛先、グローバル送信元、ＦＩＤの値の組合せに対応付けられていないローカル宛先に送信される経路調査フレーム５の生成を、調査フレーム生成部３１ｃに要求する。図１６の例では、調査フレーム生成部３１ｃは、選択部３２ｃに、ノードＤ以外のノードを新たな経路調査フレーム５ｇのローカル宛先に選択することを要求する。選択部３２ｃは、ルーティングテーブル２２ｃではグローバル宛先ＧＷのＬＤ１＝ノードＤ、ＬＤ２＝ノードＥであるので、ノードＥを経路調査フレーム５ｇの宛先として調査フレーム生成部３１ｃに通知する。そこで、調査フレーム生成部３１ｃは、以下の情報を含む経路調査フレーム５ｇを生成する。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＥ
ローカル送信元  ：ノードＣ
ＦＩＤ          ：１
ホップ１：ノードＡとノードＢの間のリンク情報、送信失敗
ホップ２：ノードＡとノードＥの間のリンク情報、送信成功
ホップ３：ノードＥとノードＣの間のリンク情報、送信成功
ホップ４：ノードＣとノードＤの間のリンク情報、送信成功
ホップ５：ノードＤとノードＦの間のリンク情報、送信成功
ホップ６：ノードＦとノードＣの間のリンク情報、送信成功
ホップ７：ノードＣとノードＥの間のリンク情報、送信成功
フレーム送信部１２ｃは、経路調査フレーム５ｇをノードＥに送信する。
【００８１】
（３６）ノードＥが経路調査フレーム５ｇを受信すると、判定部３３ｅは手順（３５）で説明した処理と同様の処理を行うことにより、ノードＥが送信した経路調査フレーム５ｃの情報を含む経路調査フレーム５がグローバル宛先に到達する前に、ノードＥに再度到達したと判定する。そこで、調査フレーム生成部３１ｅは、経路調査フレーム５ｃのローカル宛先に設定されていないノードをローカル宛先とした、以下のような情報を含む経路調査フレーム５ｈを生成する。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＧ
ローカル送信元  ：ノードＥ
ＦＩＤ          ：１
ホップ１：ノードＡとノードＢの間のリンク情報、送信失敗
ホップ２：ノードＡとノードＥの間のリンク情報、送信成功
ホップ３：ノードＥとノードＣの間のリンク情報、送信成功
ホップ４：ノードＣとノードＤの間のリンク情報、送信成功
ホップ５：ノードＤとノードＦの間のリンク情報、送信成功
ホップ６：ノードＦとノードＣの間のリンク情報、送信成功
ホップ７：ノードＣとノードＥの間のリンク情報、送信成功
ホップ８：ノードＥとノードＧの間のリンク情報、送信成功
フレーム送信部１２ｅは、経路調査フレーム５ｈをノードＧに送信する。
【００８２】
（３７）ノードＧは経路調査フレーム５ｈを受信したとする。ノードＧで行われる処理は手順（３３）のノードＤの処理と同様である。このため、以下の情報を含む経路調査フレーム５ｉが生成される。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ＧＷ
ローカル送信元  ：ノードＧ
ＦＩＤ          ：１
ホップ１：ノードＡとノードＢの間のリンク情報、送信失敗
ホップ２：ノードＡとノードＥの間のリンク情報、送信成功
ホップ３：ノードＥとノードＣの間のリンク情報、送信成功
ホップ４：ノードＣとノードＤの間のリンク情報、送信成功
ホップ５：ノードＤとノードＦの間のリンク情報、送信成功
ホップ６：ノードＦとノードＣの間のリンク情報、送信成功
ホップ７：ノードＣとノードＥの間のリンク情報、送信成功
ホップ８：ノードＥとノードＧの間のリンク情報、送信成功
ホップ９：ノードＧとＧＷのリンク情報、送信成功
経路調査フレーム５ｉはフレーム送信部１２ｇからＧＷに送信される。
【００８３】
（３８）ＧＷは、ノードＡからＧＷまでの経路の調査結果を含む経路調査フレーム５ｉを受信すると、得られた情報をサーバ４２に送信する。サーバ４２は、ネットワーク４１を介してＧＷから経路の調査結果を受信する。
【００８４】
サーバ４２などで行われる経路情報の解析方法は、第１の実施形態と同様である。第２の実施形態で得られる情報を解析すると、図１６に示すルートを介して経路調査フレーム５がノードＡからＧＷに送信されたことが特定される。このため、アドホックネットワーク中では、
ノードＡとノードＢの間での通信の失敗
ノードＣ、ノードＤ、ノードＦの間でのループの発生
ノードＥとノードＣの間でバックトラックの発生
の３つの問題が特定できる。
【００８５】
このように、第２の実施形態では、経路調査フレーム５についてのＦＩＤの値とローカル宛先の組み合わせを用いて、ノード装置１０が自律的にループやバックトラックを検出することができる。さらに、経路調査フレーム５には、リンクの通信品質評価や、経路の調査を行う際に送信が試みられた全てのリンクについての情報が含まれている。このため、経路調査フレーム５に含まれている情報を取得したサーバ４２において、ループやバックトラックを検出することができる。また、第１の実施形態と同様に、送信に失敗したリンクも特定される。
【００８６】
＜第３の実施形態＞
図１７は、第３の実施形態で行われる送信処理の例を示す。第３の実施形態では、経路調査フレーム５の受信に成功したノード装置１０が各リンクの通信品質と送信結果を記載する場合の処理方法を説明する。なお、経路調査フレーム５の送信に失敗したときは、送信元のノード装置１０が送信に失敗したリンクの情報を書き込むものとする。以下、第３の実施形態で行われる処理の例を説明する。経路調査フレーム５のグローバル送信元のノード装置１０で経路調査フレーム５の生成が開始されるときの処理は、図１０を参照しながら説明した手順（１１）と同様である。
【００８７】
（４１）選択部３２ａは、ルーティングテーブル２２ａを参照して、経路調査フレーム５ｍを送信するノード装置１０を決定する。ここでは、ノードＢが経路調査フレーム５ｍの送信先として選択されたものとする。選択部３２ａは、調査フレーム生成部３１にノードＢのＭＡＣアドレスを出力する。
【００８８】
（４２）調査フレーム生成部３１ａは、以下の情報を含む経路調査フレーム５ｍを生成する。フレーム送信部１２は、経路調査フレーム５ｍをノードＢに送信する。経路情報＃１の時刻情報の計算方法は、手順（１３）と同様である。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＢ
ローカル送信元  ：ノードＡ
フレームタイプ  ：１
経路フラグ      ：１
データ種別      ：１
経路情報＃０
ＭＡＣアドレス：ノードＢのＭＡＣアドレス
送信時刻      ：Ｔ１
調査フレーム生成部３１ａは、時刻Ｔ１を判定部３３ａに通知し、判定部３３ａは、時刻Ｔ１からの経過時間を計測する。
【００８９】
（４３）ノードＡとノードＢの間のリンクの通信状況が悪化していることにより、経路調査フレーム５ｍはノードＢに到達できなかったものとする。判定部３３ａは、手順（１５）と同様の処理により、選択部３２ａにノードＢ以外のローカル宛先の選択を要求する。
【００９０】
（４４）選択部３２ａで行われるローカル宛先の選択は、手順（１６）と同様である。また、選択部３２ａは、送信に失敗したノード装置１０との間のリンクの情報をリンクテーブル２１ａから取得して調査フレーム生成部３１ａに通知する。次に送信する経路調査フレーム５ｎのローカル宛先として、ノードＥを選択した場合、選択部３２ａは、以下の情報を、調査フレーム生成部３１ａに出力する。
状況            ：ＬＤ＝ノードＢの経路調査フレーム５の送信失敗
送信に失敗したリンクの通信品質  ：悪
送信に失敗したリンクでの受信強度：Ｅｂ
新たなＬＤのＭＡＣアドレス      ：ノードＥのＭＡＣアドレス
【００９１】
（４５）調査フレーム生成部３１ａは、選択部３２ａから通知された情報を用いて、以下の情報を含む経路調査フレーム５ｎを生成する。
グローバル宛先  ：ＧＷ
グローバル送信元：ノードＡ
ローカル宛先    ：ノードＥ
ローカル送信元  ：ノードＡ
フレームタイプ  ：１
経路フラグ      ：１
データ種別      ：１
経路情報＃０
ＭＡＣアドレス：ノードＢのＭＡＣアドレス
送信時刻      ：Ｔ１
受信強度      ：Ｅｂ
通信品質評価  ：悪
送信結果      ：失敗
経路情報＃１
ＭＡＣアドレス：ノードＥのＭＡＣアドレス
時刻情報      ：Ｔ２
調査フレーム生成部３１ａは、経路調査フレーム５ｎを、フレーム送信部１２を介して、ノードＥに送信する。調査フレーム生成部３１ａは、時刻Ｔ２を判定部３３ａに通知し、判定部３３ａは、時刻Ｔ２からの経過時間を計測する。
【００９２】
（４６）経路調査フレーム５ｂは、ノードＥに到達したとする。ノードＥにおいて、経路調査フレーム５ｎは、手順（１８）と同様に処理される。また、ノードＥからのＡｃｋを受信したときのノードＡの動作は、手順（１９）と同様である。
【００９３】
（４７）ノードＥの調査フレーム生成部３１ｅは、経路調査フレーム５ｐを生成するために、選択部３２ｅにローカル宛先の選択を要求する。このときノードＥは、経路調査フレーム５ｎのローカル送信元であるノードＡとの間のリンクの情報も選択部３２ｅに要求する。選択部３２ｅは、手順（４４）と同様の処理を行うことにより、経路調査フレーム５ｐのローカル宛先と、ノードＡとノードＥの間のリンクの情報を調査フレーム生成部３１ｅに通知する。調査フレーム生成部３１ｅは、選択部３２ｅから通知された情報を用いて経路調査フレーム５ｐを生成し、ノードＣに送信する。
【００９４】
（４８）ノードＣは、経路調査フレーム５ｐを受信すると、手順（４６）、（４７）と同様の処理を行う。その結果、ノードＥとノードＣの間のリンクの情報を含む経路調査フレーム５ｑがノードＤに送信される。
【００９５】
（４９）ノードＤは、経路調査フレーム５ｑを受信すると、手順（４６）、（４７）と同様の処理を行う。その結果、ノードＣとノードＤの間のリンクの情報を含む経路調査フレーム５ｒがＧＷに送信される。ＧＷは、経路調査フレーム５ｒに含まれている情報に、ノードＤとＧＷの間のリンクの情報を加えて、サーバ４２に通知する。
【００９６】
サーバ４２などで行われる経路情報の解析方法は、第１の実施形態と同様である。第３の実施形態でも、第１および第２の実施形態で説明したのと同様に、リンクの状況のモニタ、経路中のループやバックトラックの検出などが可能になる。
【００９７】
＜第４の実施形態＞
ネットワークのトラフィックの増大を抑制するためや、サーバ側での処理負担の軽減のためなどの理由により、１つの調査フレームに含めることができる経路情報数を一定以下に抑えることが考えられる。しかし、第１および第２の実施形態に示すように、経路調査フレーム５の送信に成功することを仮定して、送信成功の情報を含む経路調査フレーム５を送信する場合、調査フレーム生成部３１が調査フレーム中の情報を誤って修正するおそれがある。
【００９８】
図１８は、経路情報を誤って修正するケースの例を説明する図である。ここで、各ノード装置１０の調査フレーム生成部３１は、経路調査フレーム５の送信に失敗したときに、送信した経路調査フレーム５の末尾に付されている経路情報を機械的に、送信失敗に変更するように設定されているものとする。ノードＸは、ノードＸを起点としたＧＷまでの経路の状況をＧＷに報告しようとしているとする。さらに、経路調査フレーム５に含めることができるデータ量に制限があるとする。ノードＸは、第１の実施形態で説明した方法と同様に、ノードＡに経路調査フレーム５ｓを送信する。ここで、経路調査フレーム５ｓには、ノードＸとノードＡの間のリンクに関する情報と、ノードＸからノードＡへの通信に成功した旨の情報が含まれている。ノードＡは、ノードＸから経路調査フレーム５ｓを受信すると、ノードＸにＡｃｋを送信する。さらに、ノードＡの調査フレーム生成部３１ａは、ＧＷに対応付けられたＬＤ１のノードに宛てた経路調査フレーム５を生成する。調査フレーム生成部３１ａは、選択部３２ａから取得したデータの大きさを含めたときの経路情報が、経路調査フレーム５に含められるデータの上限を超えているかを判定する。選択部３２ａから取得したデータの大きさを含めたときの経路情報が、上限を超えている場合、調査フレーム生成部３１ａは、ノードＢ宛ての経路調査フレーム５ｔにおいて、ノードＡとノードＢの間のリンクに関する情報を含めない。ノードＡは、経路調査フレーム５ｔをノードＢに送信してからＡｃｋを待つが、ノードＡは、経路調査フレーム５ｔの送信から待機時間Ｔｗが経過するまでにＡｃｋを受信できなかったとする。すると、ノードＡの調査フレーム生成部３１ａは、ノードＣ宛ての経路調査フレーム５ｕを生成する。このときに、調査フレーム生成部３１ａは、経路調査フレーム５ｔに含まれる経路情報の末尾の経路情報について、送信結果を送信失敗に変更する。このため、ノードＡは、図１８に示すように、ノードＸとノードＡの間のリンクにおいて、送信が失敗したという情報を含む経路調査フレーム５ｕをノードＣに送信してしまう。
【００９９】
そこで、第４の実施形態では、１つの経路調査フレームに含める経路情報数を一定以下に抑えるために、経路調査フレーム５に禁止情報を加える。禁止情報は、経路調査フレームに含まれている経路情報の改変の禁止を表す情報である。
【０１００】
図１９は、経路調査フレーム５０のフォーマットの例を示す。図１９に示す経路調査フレーム５０は、経路調査フレーム５と同様に、アドホックヘッダ、セキュリティヘッダ、データヘッダ、データペイロード、署名、パディングを含む。データヘッダには、グローバル宛先アドレス、グローバル送信元アドレス、ＦＩＤ、ＨＴＬ、データタイプ、伝送情報、ホップ数が含まれる。経路調査フレーム５０のデータタイプには、最終経路付与フラグが含まれる。最終経路付与フラグ＝１は、経路調査フレーム５０のサイズを所定の大きさ以下にするために省略された経路情報が無いことを示す。一方、最終経路付与フラグ＝０は、経路調査フレーム５０のサイズを所定の大きさ以下にするために省略された経路情報があることを示す。省略された経路情報がある場合、経路情報を誤って変更することを防ぐため、調査フレーム生成部３１は、経路情報を改変しない。すなわち、最終経路付与フラグ＝０は、禁止情報である。データタイプは、さらに、経路フラグ、暗号化フラグ、データ種別情報、リザーブ領域を含む。また、経路調査フレーム５０のアドホックヘッダ、セキュリティヘッダ、データペイロード、署名、パディングは、経路調査フレーム５と同様である。
【０１０１】
図２０は、第４の実施形態で行われる経路調査方法の例を示すシーケンス図である。図２０は、経路調査フレーム５０を用いたときに図１８のアドホックネットワークで行われる通信の例を示している。以下の説明では、送信可能な経路情報の上限サイズは、経路調査フレーム５０を生成するノード装置１０に設定されたMaximum Transmission Unit（ＭＴＵ）であるとする。また、ノードＣに設定されているＭＴＵは、ノードＡに設定されているＭＴＵよりも大きいものとする。
【０１０２】
（５１）ノードＸは、ＧＷをグローバル宛先とした経路調査フレーム５０ａを、ノードＡに送信する。このとき、ノードＸの調査フレーム生成部３１ｘは、ノードＸとノードＡの間のリンクの情報と、ノードＸからノードＡへの送信に成功した旨の情報を、経路調査フレーム５０ａに含める。また、調査フレーム生成部３１ｘは、経路調査フレーム５０ａの最終経路付与フラグを１に設定する。
【０１０３】
（５２）経路調査フレーム５０ａがノードＡで受信されたとする。ノードＡは、第１の実施形態で説明したのと同様の処理により、ノードＸに経路調査フレーム５０ａのＡｃｋを送信する。
【０１０４】
（５３）ノードＡにおいて、グローバル宛先がＧＷの場合のＬＤ１がノードＢであると、ノードＡは、ＧＷをグローバル宛先、ノードＢをローカル宛先とした経路調査フレーム５０ｂを生成する。調査フレーム生成部３１ａは、経路調査フレーム５０ａに含まれている経路情報に、ノードＡとノードＢの間のリンクの情報を加えたときのフレームの大きさの計算値を、送信可能な経路情報の上限サイズと比較する。ここでは、計算値が送信可能な経路情報の上限サイズを越えたとする。すると、調査フレーム生成部３１ａは、経路調査フレーム５０ｂには、ノードＡとノードＢの間のリンクの情報を含めずに、経路調査フレーム５０ｂの最終経路付与フラグを０に設定する。
【０１０５】
（５４）手順（５３）で生成された経路調査フレーム５０ｂは、フレーム送信部１２ａを介して、ノードＢに送信される。判定部３３ａは、経路調査フレーム５０ｂの送信時刻からの経過時間の計測を開始する。なお、経路調査フレーム５０ｂには、図２０に示すように、ノードＸからノードＡへの送信に成功した旨の情報と、最終経路付与フラグ＝０の情報が格納されている。
【０１０６】
（５５）ノードＡとノードＢの間のリンクの状況が悪化したことにより、ノードＢに経路調査フレーム５０ｂが送信できなかったとする。この場合、判定部３３ａは、経路調査フレーム５０ｂを送信してから待機時間Ｔｗの間に、経路調査フレーム５０ｂのＡｃｋを取得することができない。経路調査フレーム５０ｂの送信に失敗したと判定されてから、調査フレーム生成部３１ａが選択部３２ａから新たな経路調査フレーム５０ｃのローカル宛先についての情報を取得するまでの処理は、第１の実施形態と同様である。ここで、経路調査フレーム５０ｃのローカル宛先として、ノードＣが調査フレーム生成部３１ａに通知されたとする。
【０１０７】
調査フレーム生成部３１ａは、経路調査フレーム５０ｂの最終経路付与フラグの値を用いて、経路情報を追加できるかを判定する。経路調査フレーム５０ｂでは、最終経路付与フラグ＝０であるので、調査フレーム生成部３１ａは、経路情報を変更できないと判定する。この場合、調査フレーム生成部３１ａは、経路調査フレーム５０ｂを、選択部３２ａから通知されたローカル宛先と共に転送処理部１６に出力する。転送処理部１６は、通知されたローカル宛先を用いてアドホックヘッダを書き換えて、経路調査フレーム５０ｃとする。経路調査フレーム５０ｃは、ノードＣに送信される。
【０１０８】
（５６）経路調査フレーム５０ｃを受信したノードＣは、ノードＡに経路調査フレーム５０ｃのＡｃｋを送信する。判定部３３ｃは、経路調査フレーム５０ｃのグローバル宛先がＧＷに設定されているので、新たな経路調査フレーム５０ｄを生成することを決定する。経路調査フレーム５０ｄのローカル宛先としてノードＤが選択されたとする。ここで、ノードＣに設定されているＭＴＵがノードＡに設定されているＭＴＵよりも大きいため、経路調査フレーム５０ｃに含まれている経路情報に新たな経路情報を加えてもノードＣに設定されたＭＴＵを超えないものとする。しかし、判定部３３ｃは、経路調査フレーム５０ｃの最終経路付与フラグ＝０であるので、経路情報の改変が禁止されていると判定する。経路情報の改変が禁止されていると判定されると、調査フレーム生成部３１ｃは、経路調査フレーム５０ｃとローカル宛先＝ノードＤの情報を、転送処理部１６に出力する。転送処理部１６ｃは、経路調査フレーム５０ｃのローカル宛先をノードＤに書き換えて経路調査フレーム５０ｄとし、フレーム送信部１２ｃを介して、ノードＤに送信する。
【０１０９】
このような手順により、経路情報を含むフレームがＧＷに到達するまで、経路調査フレーム５０の送受信が繰り返される。また、最終経路付与フラグ＝０に設定された後は、経路情報が改変されないので、ＧＷに誤った情報が通知されることを防ぐことができる。ＧＷに通知された情報の処理方法は、第１の実施形態と同様である。
【０１１０】
図２１は、第４の実施形態でのノード装置の動作の例を説明するフローチャートである。ステップＳ２１とステップＳ２２の処理は、図１１を参照しながら説明したステップＳ１、Ｓ２と同様である。調査フレーム生成部３１は、最終経路付与フラグが０に設定されているかを判定する（ステップＳ２３）。ここで、処理対象は、自ノードが受信した経路調査フレーム５０に含まれている最終経路付与フラグである。なお、経路調査フレーム５０のグローバル送信元となるノード装置１０では、経路調査フレーム５０を受信しないので、最終経路付与フラグ＝１とみなして処理するものとする。最終経路付与フラグ＝１の場合、調査フレーム生成部３１は、新たな経路情報を追加することができるかを判定する（ステップＳ２３でＮｏ、ステップＳ２４）。新たに経路情報を追加できる場合、調査フレーム生成部３１は、経路調査フレーム５０を生成する（ステップＳ２４でＹｅｓ、ステップＳ２５）。新たに経路情報を追加できない場合、調査フレーム生成部３１は、最終経路付与フラグ＝０に設定する（ステップＳ２４でＮｏ、ステップＳ２６）。その後、経路調査フレーム５０は、ＬＤｎに送信される（ステップＳ２７）。ステップＳ２８〜Ｓ３１の処理は、図１１のステップＳ５〜Ｓ８と同様である。
【０１１１】
ＬＤｎへの送信に失敗した場合、調査フレーム生成部３１は、送信しようとした経路調査フレーム５０の最終経路付与フラグが１に設定されていたかを判定する（ステップＳ３２）。最終経路付与フラグが１に設定されていない場合、経路情報の変更が禁止されているので、調査フレーム生成部３１は、経路調査フレーム５０の経路情報を変更しない（ステップＳ３２でＮｏ）。一方、最終経路付与フラグが１に設定されている場合、経路情報の変更が禁止されていないので、調査フレーム生成部３１は、ＬＤｎへの送信の失敗を、経路情報に追加した経路調査フレーム５０を生成する（ステップＳ３２でＹｅｓ、ステップＳ３３）。ステップＳ３４とＳ３５の処理は、図１１のステップＳ１０、Ｓ１１と同様である。なお、ステップＳ２２で、ＬＤｎはフレーム受信に失敗したことが経路情報に記録されていると判定された場合、ステップＳ３４以降の処理が行われる。
【０１１２】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１１３】
以上で説明したフレームのフォーマットやテーブルに含まれている情報要素等は一例であり、実装に応じて変更されうる。
【０１１４】
上記の説明では、アドホックネットワーク中の各ノード装置１０が自律的にＧＷまでの経路の状況の調査を行う場合を例として説明したが、ノード装置１０は、要求に応じて経路の調査を行っても良い。この場合、オペレータは、サーバ４２を用いて、アドホックネットワークからのデータの取得状況をモニタしている。ここで、ノードＡからのデータの取得に時間がかかるなどの問題をオペレータが認識すると、オペレータは、サーバ４２を介してＧＷに、ノードＡを起点としたＧＷまでの経路の状況の調査を要求する。ＧＷは、サーバ４２からの要求に応じて、ノードＡに、ノードＡを起点としたＧＷまでの経路の状況の調査を要求する。ノードＡの調査フレーム生成部３１は、ＧＷからの要求に応じて、グローバル宛先アドレスをＧＷに設定した経路調査フレーム５を生成し、経路の調査を行う。
【０１１５】
さらに、経路調査フレーム５、５０のグローバル宛先は、ＧＷ以外のノード装置１０であっても良い。この場合、グローバル宛先に設定されているノード装置１０は、受信した経路調査フレーム５、５０に含まれている経路情報を、ＧＷに転送する。
【０１１６】
第４の実施形態において、送信可能な経路情報の上限サイズがＭＴＵによって決定される場合について説明したが、送信可能な経路情報の上限サイズは、実装に応じて他の値に変更できる。さらに、１つの経路調査フレーム５０に含めることができる経路情報の数が制限されていても良い。経路調査フレーム５０に含められる経路情報の上限が設定されている場合、調査フレーム生成部３１は、経路調査フレーム５０に含めるリンクの情報の数を、上限値以下とする。
【０１１７】
上記の例では、図１２〜図１５を用いて、ノード装置１０が中継ノードやメータである場合を例として説明したが、アドホックネットワークは、検針のためのネットワークに限られないものとする。上記の実施形態は、例えば、センサネットワークなどにも適用されうる。
【符号の説明】
【０１１８】
５、５０  経路調査フレーム
１０  ノード装置
１１  フレーム受信部
１２  フレーム送信部
１３  フレーム情報解析部
１４  Ｈｅｌｌｏフレーム処理部
１５  Ｈｅｌｌｏフレーム生成部
１６  転送処理部
１７  アプリケーション処理部
２０  記憶部
２１  リンクテーブル
２２  ルーティングテーブル
３０  経路調査処理部
３１  調査フレーム生成部
３２  選択部
３３  判定部
４１  ネットワーク
４２  サーバ
１００  プロセッサ
１０１  バス
１０２  ＰＨＹチップ
１０４  タイマＩＣ
１０６  ＤＲＡＭ
１０７  フラッシュメモリ
１０８  無線モジュール
【図１】
2014183348.tif 000003
【図２】
2014183348.tif 000004
【図３】
2014183348.tif 000005
【図９】
2014183348.tif 000006
【図１０】
2014183348.tif 000007
【図１１】
2014183348.tif 000008
【図１３】
2014183348.tif 000009
【図１６】
2014183348.tif 000010
【図１７】
2014183348.tif 000011
【図１８】
2014183348.tif 000012
【図１９】
2014183348.tif 000013
【図２０】
2014183348.tif 000014
【図２１】
2014183348.tif 000015
【図４】
2014183348.tif 000016
【図５】
2014183348.tif 000017
【図６】
2014183348.tif 000018
【図７】
2014183348.tif 000019
【図８】
2014183348.tif 000020
【図１２】
2014183348.tif 000021
【図１４】
2014183348.tif 000022
【図１５】
2014183348.tif 000023