(57)【要約】【課題】冗長経路を確保しつつ、メッシュネットワークの消費電力を低減する。【解決手段】メッシュネットワークシステムは、ルート装置と、中継装置である複数のノードとを備え、中継装置は、冗長探索通知を受信した場合に、受信した冗長探索通知と、最短経路情報と、冗長経路情報とに基づいて、算出コスト情報を算出し、冗長経路情報と、算出コスト情報とに基づいて、冗長探索通知として受信した末端ノード情報及び送信元情報と、算出コスト情報とを含む冗長経路情報を冗長経路記憶部に記憶させるか否かを判定し、冗長経路情報を冗長経路記憶部に記憶させる場合に、算出コスト情報を含む冗長探索通知を隣接ノードに転送し、ルート装置は、冗長探索通知を受信し、受信した冗長探索通知に含まれる経路コスト情報及び末端ノード情報に基づいて、末端ノードごとの冗長経路を確定する。【選択図】図１５
2015170914.tif 000002
【特許請求の範囲】
【請求項１】
メッシュネットワークの基点となる少なくとも１つのルート装置と、中継装置である複数のノードとを備え、
前記中継装置は、
前記メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記ルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、
前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部と
を備え、
前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出する処理と、
前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定する処理と、
受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送する処理と
を実行し、
前記ルート装置は、
前記冗長探索通知を受信し、受信した前記冗長探索通知に含まれる前記経路コスト情報及び前記末端ノード情報に基づいて、前記末端ノードごとの前記冗長経路を確定する
ことを特徴とするメッシュネットワークシステム。
【請求項２】
前記冗長経路情報には、自装置が前記冗長経路に確定されたか否かを示す冗長確定情報が含まれ、
前記ルート装置は、
確定した当該冗長経路に対応する前記送信元情報が示すノードに、前記冗長経路であることを通知する冗長確定通知であって、前記末端ノード情報を含む冗長確定通知を送信し、
前記中継装置は、
前記冗長確定通知を受信した場合に、前記冗長経路記憶部が記憶する前記冗長経路情報のうち、受信した前記冗長確定通知に含まれる前記末端ノード情報に対応する当該冗長経路情報の前記冗長確定情報を、自装置が前記冗長経路に確定されたことを示す情報に変更するとともに、当該冗長経路情報の前記送信元情報に対応する前記隣接ノードに前記冗長確定通知を転送する処理と、
前記確定済経路記憶部が記憶する前記確定済経路情報と、前記冗長経路記憶部が記憶する前記冗長経路情報とに基づいて、自装置が、前記確定済経路及び前記冗長経路のいずれかに確定されているか否かを判定し、前記確定済経路及び前記冗長経路のいずれにも確定されていない場合に、自装置の消費電力を低下させる低消費電力モードに、自装置を変更する処理と
を実行することを特徴とする請求項１に記載のメッシュネットワークシステム。
【請求項３】
メッシュネットワークの基点となる少なくとも１つのルート装置と、中継装置である複数のノードとを備えるメッシュネットワークシステムの中継装置であって、
前記メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記ルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、
前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部と
を備え、
前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出する処理と、
前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定する処理と、
受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送する処理と
を実行することを特徴とする中継装置。
【請求項４】
メッシュネットワークの基点となる少なくとも１つのルート装置と、中継装置である複数のノードとを有するメッシュネットワークの制御方法であって、
前記中継装置は、
前記メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記ルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、
前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部と
を備え、
前記中継装置が、前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出するステップと、
前記中継装置が、前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定するステップと、
前記中継装置が、受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送するステップと、
前記ルート装置が、前記冗長探索通知を受信し、受信した前記冗長探索通知に含まれる前記経路コスト情報及び前記末端ノード情報に基づいて、前記末端ノードごとの前記冗長経路を確定するステップと
を含むことを特徴とするメッシュネットワークの制御方法。
【請求項５】
メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記メッシュネットワークの基点となるルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、
前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部と
を備える中継装置としてのコンピュータに、
前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出するステップと、
前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定するステップと、
受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッシュネットワークシステム、中継装置、メッシュネットワークの制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、無線通信機能を有する機器（以下、ノードという）を自由に配置し、これらのノード同士が相互に接続することで通信環境を提供するメッシュネットワークが知られている（例えば、特許文献１を参照）。なお、このメッシュネットワークは、自律的にネットワークが形成されることに着目した場合にはアドホックネットワーク、ネットワークでセンサ情報を扱うことを想定する場合にはセンサネットワーク、など、様々な呼称で呼ばれることがある。
このようなメッシュネットワークでは、自由に配置されたノードに基づきノード間で通信経路を自律的に構築する技術（例えば、ＩＥＥＥ（Institute of Electrical and  Electronics Engineers）８０２．１１ｓにおけるＨＷＭＰ（Hybrid Wireless Mesh Protocol）など）が知られており、ノードやセンサを任意の場所に設置するだけで、冗長経路を確保したメッシュネットワークによる通信環境を構築することが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１４８０８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したメッシュネットワークを構築するメッシュネットワークシステムでは、メッシュネットワーク中の通信環境の構築に貢献していない不要なノードを特定することが困難であり、本来は不要なノードを稼働させることにより、電力を無駄に消費することがあった。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、冗長経路を確保しつつ、メッシュネットワークの消費電力を低減することができるメッシュネットワークシステム、中継装置、メッシュネットワークの制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明の一態様は、メッシュネットワークの基点となる少なくとも１つのルート装置と、中継装置である複数のノードとを備え、前記中継装置は、前記メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記ルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部とを備え、前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出する処理と、前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定する処理と、受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送する処理とを実行し、前記ルート装置は、前記冗長探索通知を受信し、受信した前記冗長探索通知に含まれる前記経路コスト情報及び前記末端ノード情報に基づいて、前記末端ノードごとの前記冗長経路を確定することを特徴とするメッシュネットワークシステムである。
【０００７】
また、本発明の一態様は、上記のメッシュネットワークシステムにおいて、前記冗長経路情報には、自装置が前記冗長経路に確定されたか否かを示す冗長確定情報が含まれ、前記ルート装置は、確定した当該冗長経路に対応する前記送信元情報が示すノードに、前記冗長経路であることを通知する冗長確定通知であって、前記末端ノード情報を含む冗長確定通知を送信し、前記中継装置は、前記冗長確定通知を受信した場合に、前記冗長経路記憶部が記憶する前記冗長経路情報のうち、受信した前記冗長確定通知に含まれる前記末端ノード情報に対応する当該冗長経路情報の前記冗長確定情報を、自装置が前記冗長経路に確定されたことを示す情報に変更するとともに、当該冗長経路情報の前記送信元情報に対応する前記隣接ノードに前記冗長確定通知を転送する処理と、前記確定済経路記憶部が記憶する前記確定済経路情報と、前記冗長経路記憶部が記憶する前記冗長経路情報とに基づいて、自装置が、前記確定済経路及び前記冗長経路のいずれかに確定されているか否かを判定し、前記確定済経路及び前記冗長経路のいずれにも確定されていない場合に、自装置の消費電力を低下させる低消費電力モードに、自装置を変更する処理とを実行することを特徴とする。
【０００８】
また、本発明の一態様は、メッシュネットワークの基点となる少なくとも１つのルート装置と、中継装置である複数のノードとを備えるメッシュネットワークシステムの中継装置であって、前記メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記ルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部とを備え、前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出する処理と、前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定する処理と、受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送する処理とを実行することを特徴とする中継装置である。
【０００９】
また、本発明の一態様は、メッシュネットワークの基点となる少なくとも１つのルート装置と、中継装置である複数のノードとを有するメッシュネットワークの制御方法であって、前記中継装置は、前記メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記ルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部とを備え、前記中継装置が、前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出するステップと、前記中継装置が、前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定するステップと、前記中継装置が、受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送するステップと、前記ルート装置が、前記冗長探索通知を受信し、受信した前記冗長探索通知に含まれる前記経路コスト情報及び前記末端ノード情報に基づいて、前記末端ノードごとの前記冗長経路を確定するステップとを含むことを特徴とするメッシュネットワークの制御方法である。
【００１０】
また、本発明の一態様は、メッシュネットワークにおけるデータの送信元及び送信先のいずれかのノードである末端ノードから前記メッシュネットワークの基点となるルート装置への確定済経路の中に自装置を経由する確定済経路がある場合に記憶される確定済経路情報であって、当該確定済経路の末端ノードを識別する末端ノード情報を含む確定済経路情報を記憶する確定済経路記憶部と、前記確定済経路とは異なる冗長経路を前記末端ノードから各ノードに対して探索させる冗長探索通知を発信した前記末端ノード情報と、前記冗長探索通知を送信した直近のノードを識別する送信元情報と、前記末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する冗長経路記憶部とを備える中継装置としてのコンピュータに、前記冗長探索通知を発信した前記末端ノード情報と、前記送信元情報と、当該冗長探索通知が経由した当該末端ノードから当該送信元情報に対応するノードまでの経路の通信に関する電力コストを示す経路コスト情報とを含む前記冗長探索通知を受信した場合に、受信した当該冗長探索通知と、前記確定済経路記憶部が記憶する前記確定済経路情報とに基づいて、受信した当該冗長探索通知における前記末端ノードから自装置までの算出コスト情報を算出するステップと、前記冗長経路記憶部が既に記憶している前記冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、前記冗長探索通知として受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させるか否かを判定するステップと、受信した前記末端ノード情報及び前記送信元情報と、算出した当該算出コスト情報とを含む前記冗長経路情報を前記冗長経路記憶部に記憶させる場合に、算出した当該算出コスト情報を前記経路コスト情報として含む前記冗長探索通知を、自装置から直接通信可能な隣接ノードに転送するステップとを実行させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、冗長経路を確保しつつ、メッシュネットワークの消費電力を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態によるメッシュネットワークシステムの構成例を示す図である。
【図２】本実施形態におけるルート装置の一例を示す機能ブロック図である。
【図３】本実施形態における中継装置の一例を示す機能ブロック図である。
【図４】本実施形態における最短経路履歴記憶部のデータ例を示す図である。
【図５】本実施形態におけるノード情報記憶部のデータ例を示す図である。
【図６】本実施形態における探索状態記憶部のデータ例を示す図である。
【図７】本実施形態における冗長経路履歴記憶部のデータ例を示す図である。
【図８】本実施形態における隣接ノード記憶部のデータ例を示す図である。
【図９】本実施形態における最短経路履歴記憶部のデータ例を示す図である。
【図１０】本実施形態によるメッシュネットワークシステムの動作の一例を示すフローチャートである。
【図１１】本実施形態における最短経路の探索処理の一例を示すフローチャートである。
【図１２】本実施形態における最短経路の探索処理の一例を説明する図である。
【図１３】本実施形態における最短経路の探索結果の一例を説明する図である。
【図１４】本実施形態における冗長経路の探索処理の一例を示すフローチャートである。
【図１５】本実施形態における冗長経路の探索処理の一例を説明する図である。
【図１６】本実施形態における冗長経路の探索結果の一例を説明する図である。
【図１７】中継装置における冗長経路の探索処理の一例を示すフローチャートである。
【図１８】ルート装置における冗長経路の探索処理の一例を示すフローチャートである。
【図１９】中継装置における冗長経路の確定処理の一例を示すフローチャートである。
【図２０】本実施形態における不要な中継装置の低消費電力モードへの変更処理の一例を示すフローチャートである。
【図２１】本実施形態における不要な中継装置の低消費電力モードへの変更処理の一例を説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態によるメッシュネットワークシステムについて、図面を参照して説明する。
図１は、本実施形態によるメッシュネットワークシステム１の構成例を示す図である。
図１に示すように、メッシュネットワークシステム１は、少なくとも１つのルート装置１０と、中継装置２０である複数のノード（中継装置２０−１〜２０−７）とを備えている。
なお、中継装置２０−１〜２０−７は、それぞれ同一の機能部を備えた装置とし、以下に説明するノードの属性（例：スタートノード、中継ノード）に応じて動作を変更することとしてもよい。また、中継装置２０−１〜２０−７は、メッシュネットワークシステム１が備える任意の中継装置を示す場合、又は特に区別しない場合には、中継装置２０として説明する。
【００１４】
図１に示す例では、中継装置２０−１、中継装置２０−２、中継装置２０−４、及び中継装置２０−６が、中継ノードであり、中継装置２０−３が、スタートノード（中継ノードを兼ねる）である。また、中継装置２０−５は、不要ノードであり、中継装置２０−７は、スタートノード（スリープノードを兼ねる）である。また、ルート装置１０は、ルートノードである。
【００１５】
なお、本実施形態において、ルートノードとは、外部のネットワークに接続可能なルータとして動作するノードのことであり、例えば、メッシュネットワークシステム１において、予め手動又は自動で設定されているものとする。
また、スタートノードとは、例えば、センサなどの接続デバイスが接続され、センサの測定データなどのデータの送信において起点（発信元）になるノードのことである。
また、ゴールノードとは、他のノードや外部のネットワークからのデータを受け取る終端（送信先）となるノードのことである。
ここで、メッシュネットワークにおけるデータの発信元（起点）及び送信先（終端）のいずれかのノードを末端ノードとして、以下説明する。すなわち、末端ノードには、スタートノードと、ゴールノードとが含まれる。
【００１６】
また、中継ノードとは、他のノードが送信する通信データを中継し、ルートノード又はゴールノードに送り届けるノードのことである。
また、不要ノードは、他のノードの通信に影響を与えないノード（つまり、スタートノードやゴールノードがルートノードに情報を転送する際の転送経路上には存在しないノード）のことであって、節電対象となるノードである。
また、スリープノードとは、スタートノードのうち、中継ノードに選択されなかったノードのことであって、節電対象となるノードである。スリープノードは、通常は、低消費電力モードの１つであるスリープモードとなり、自ノードが通信データを送信するタイミングで通信可能な状態に遷移する。
【００１７】
本実施形態におけるメッシュネットワークシステム１は、少なくとも１つのルート装置１０と、複数の中継装置２０を備え、自律的にネットワークを構築する。そして、中継装置２０は、上述したスタートノード、ゴールノード、中継ノード、不要ノード、スリープノードなどの自ノードのネットワークにおける役割（属性）を自律的に判定し、不要ノード又はスリープノードである場合に、消費電力を低減する。
【００１８】
次に、図２〜図９を参照して、ルート装置１０及び中継装置２０の構成について説明する。
図２は、本実施形態におけるルート装置１０の一例を示す機能ブロック図である。また、図３は、本実施形態における中継装置２０の一例を示す機能ブロック図である。
【００１９】
＜ルート装置１０の構成＞
ルート装置１０は、メッシュネットワークの基点となる装置であり、図２に示すように、ルート通信部１１、ルート記憶部１２、及びルート制御部１３を備えている。
【００２０】
ルート通信部１１は、外部のネットワークとデータ通信するとともに、中継装置２０とメッシュネットワークによるデータ通信を行う。ルート通信部１１は、例えば、第１通信部１１１と、第２通信部１１２とを備えている。
【００２１】
第１通信部１１１は、例えば、３Ｇ移動通信システム（第３世代移動通信システム）などによる無線通信や有線接続によるＬＡＮ（Local Area Network）などにより、外部のネットワーク（例えば、ＷＡＮ（Wide Area Network）など）に接続して、データ通信を行う。第１通信部１１１は、例えば、メッシュネットワークシステム１におけるスタートノードのセンサなどから収集したデータを、外部のネットワークを介して、センタサーバなどに送信する。
第２通信部１１２は、例えば、無線ＬＡＮなどの無線通信により、中継装置２０とデータ通信を行う。
【００２２】
ルート記憶部１２は、ルート装置１０の各種処理を行う際に、利用する各種情報を記憶する。ルート記憶部１２は、例えば、最短経路履歴記憶部１２１、冗長経路履歴記憶部１２２、隣接ノード記憶部１２３、ノード情報記憶部１２４、及び探索状態記憶部１２５を備えている。
【００２３】
最短経路履歴記憶部１２１は、最短経路を探索した際に記憶された最短経路情報であって、スタートノード又はゴールノードを識別する末端ノード情報と、直近の送信元（ＦＲＯＭ）のノード情報（送信元情報）と、最短経路に確定されているか否かを示す経路確定フラグ（最短確定情報）とを関連付けて記憶している。ここで、末端ノード情報及び送信元（ＦＲＯＭ）ノード情報は、例えば、中継装置２０のＭＡＣアドレス（Media Access Control address）である。また、最短経路とは、例えば、末端ノード（スタートノード又はゴールノード）からルートノード（ルート装置１０）までの最短経路のことであり、ホップ数、通信コストなどに基づいて決定される。また、ここでのホップ数とは、経由するノードの数（例えば、中継装置２０の数）を示す。
ここで、図４を参照して、最短経路履歴記憶部１２１が記憶する情報の具体例について説明する。
【００２４】
図４は、本実施形態における最短経路履歴記憶部１２１のデータ例を示す図である。
図４に示すように、最短経路履歴記憶部１２１は、「スタート・ゴールのノード名」と、「送信元（ＦＲＯＭ）」と、「経路確定フラグ」とを関連付けて記憶している。ここで、「スタート・ゴールのノード名」は、上述した末端ノード情報を示し、「送信元（ＦＲＯＭ）」は、上述した送信元情報を示している。
図４に示す例では、例えば、「スタート・ゴールのノード名」が“００：１１：２２：３３：４４：１１”であるノード（図１の中継装置２０−３に対応）からの最短経路は、「送信元（ＦＲＯＭ）」が“００：１１：２２：３３：４４：２２”（図１の中継装置２０−１に対応）であることを示している。すなわち、中継装置２０−３からの最短経路は、ルート装置１０において、中継装置２０−１からの経路として確定されていることを示している。また、「スタート・ゴールのノード名」が“００：１１：２２：３３：４４：ＤＤ”であるノード（図１の中継装置２０−７に対応）からの最短経路は、「送信元（ＦＲＯＭ）」が“００：１１：２２：３３：４４：ＢＢ”（図１の中継装置２０−２に対応）であることを示している。すなわち、中継装置２０−７からの最短経路は、ルート装置１０において、中継装置２０−２からの経路として確定されていることを示している。
【００２５】
図２に戻り、冗長経路履歴記憶部１２２は、後述する冗長経路を探索する際に収集した冗長経路情報の履歴を記憶する。冗長経路履歴記憶部１２２は、例えば、冗長経路を探索する際の末端ノード情報及び送信元情報と、末端ノードから自装置までの電力コストを算出した算出コスト情報と、冗長経路に確定されているか否かを示す経路確定フラグ（冗長確定情報）とを関連付けて記憶している。ここで、冗長経路とは、末端ノードからルート装置１０への経路であって、確定済の経路（たとえば、最短経路のみ確定している場合、最短経路が確定済の経路となる）とは異なる経路のことである。なお、冗長経路は、最短経路（又は既に確定している冗長経路）と重複しない経路であり、複数本（例えば、ｎ本）が探索されてもよい。また、ここでの算出コスト情報は、ホップ数を示している。以下、確定済の経路が最短経路のみの場合について説明するが、最短経路以外にも冗長経路が既に確定している場合、最短経路と重複を避けるための処理を、確定済の冗長経路にも適用すればよい。
なお、冗長経路履歴記憶部１２２が記憶する情報の具体例については、後述する。
【００２６】
隣接ノード記憶部１２３は、自装置から直接通信可能な隣接ノードを識別する隣接ノード情報を記憶する。なお、隣接ノード情報は、例えば、隣接ノードのＭＡＣアドレスである。また、隣接ノード記憶部１２３が記憶する情報の詳細については、後述する。
【００２７】
ノード情報記憶部１２４は、メッシュネットワークに接続されている各ノードが上述した属性（役割）のうちのいずれになるか示す情報を記憶する。すなわち、ノード情報記憶部１２４は、各ノードが、スタートノードと、ゴールノードと、中継ノードと、不要ノードと、スリープノードとのうちのいずれのノードであるかを記憶する。ノード情報記憶部１２４は、例えば、ノードを識別するノード情報（ＭＡＣアドレス）と、ノードの属性を示す属性情報とを関連付けて記憶する。
ここで、図５を参照して、ノード情報記憶部１２４が記憶する情報の具体例について説明する。
【００２８】
図５は、本実施形態におけるノード情報記憶部１２４のデータ例を示す図である。
図５に示すように、ノード情報記憶部１２４は、「ノード名」と、「属性」とを関連付けて記憶している。ここで、「ノード名」は、ノードを識別するノード情報であり、ＭＡＣアドレスを示している。また、「属性」は、属性情報を示している。
図５に示す例では、例えば、「ノード名」が“００：１１：２２：３３：４４：１１”のノード（図１の中継装置２０−３に対応）は、「属性」が“スタートノード”であることを示している。また、「ノード名」が“００：１１：２２：３３：４４：２２”のノード（図１の中継装置２０−１に対応）は、「属性」が“中継ノード”であることを示している。
【００２９】
再び、図２に戻り、探索状態記憶部１２５は、最短経路及び冗長経路の探索の状態（ステート）を示す情報を記憶する。探索状態記憶部１２５は、例えば、経路の本数を示す本数情報と、探索の残り時間を示す情報と、経路の探索中であるか否かを示す探索中フラグとを関連付けて記憶する。なお、最短経路は、経路の本数における“１本目”に対応し、冗長経路は、経路の本数における“２本目”〜“ｎ本目”に対応する。
ここで、図６を参照して、探索状態記憶部１２５が記憶する情報の具体例について説明する。
【００３０】
図６は、本実施形態における探索状態記憶部１２５のデータ例を示す図である。
図６に示すように、探索状態記憶部１２５は、「経路本数」と、「探索残り時間」と、「探索中フラグ」とを関連付けて記憶している。ここで、「経路本数」は、経路の本数を示す本数情報であり、「探索残り時間」は、探索の残り時間を示す情報である。
図６に示す例では、例えば、「経路本数」が“２本目”の探索が、探索中（「探索中フラグ」が“Ｙｅｓ”）であり、「探索残り時間」が“３００秒”であることを示している。なお、「探索残り時間」は、後述する経路確定タイマー部１５４のタイマー時間を示している。
【００３１】
再び図２に戻り、ルート制御部１３は、例えば、ＣＰＵ（Central Processing Unit）などを含むプロセッサであり、ルート装置１０を統括的に制御する制御部である。ルート制御部１３は、センタ通信処理部１３１、最短経路生成部１３２、ノード属性登録部１３３、経路探索処理部１４、及び経路確定処理部１５を備えている。
【００３２】
センタ通信処理部１３１は、外部のネットワークを介して、センタサーバなどの外部装置とのデータ通信を制御する。センタ通信処理部１３１は、例えば、スタートノードなどから収集したデータをルート通信部１１の第２通信部１１２を介して取得し、取得したデータを、ルート通信部１１の第１通信部１１１を介してセンタサーバなどの外部装置に送信する。また、センタ通信処理部１３１は、例えば、ルート通信部１１の第１通信部１１１を介してセンタサーバなどの外部装置から取得したデータを、ゴールノードなどの終端に、ルート通信部１１の第２通信部１１２を介して送信する。
【００３３】
最短経路生成部１３２は、上述した最短経路を生成する。最短経路生成部１３２は、例えば、ＩＥＥＥ８０２．１１ｓにおけるＨＷＭＰを用いて、最短経路を生成する。最短経路生成部１３２は、例えば、最短経路を各ノードに対して探索させる最短探索要求を、隣接ノード（第１の隣接ノード）に送信する。ここで、隣接ノードは、自装置に隣接するノードであって、第２通信部１１２による無線通信で自装置から直接通信可能なノードである。
また、最短経路生成部１３２は、送信した最短探索要求に対する末端ノード（スタートノード又はゴールノード）からの最短探索応答を隣接ノードから受信し、受信した最短探索応答に基づく最短経路情報を最短経路履歴記憶部１２１に記憶させる。なお、最短経路生成部１３２は、最短経路に対応する最短経路情報の経路確定フラグを“Ｙｅｓ”にして、最短経路履歴記憶部１２１に記憶させる。
【００３４】
ノード属性登録部１３３は、最短経路の探索が完了した後、各ノードの属性情報の通知を依頼する属性送信要求を、ブロードキャストにより各ノードに送信する。
また、ノード属性登録部１３３は、最短経路の探索が完了した後に各ノードが送信する各ノードの属性情報を、第２通信部１１２を介して受信し、受信した属性情報と、ノード情報とを関連付けてノード情報記憶部１２４に記憶させる。
また、ノード属性登録部１３３は、最短経路及び冗長経路を探索した後、探索終了通知への応答として、不要ノード及びスリープノードに遷移したノードの属性情報を、第２通信部１１２を介して受信し、受信した属性情報により、ノード情報記憶部１２４に記憶されている属性情報を変更（更新）する。
【００３５】
また、経路探索処理部１４は、冗長経路の探索を依頼（要求）する冗長探索要求を、隣接ノードに送信する。また、経路探索処理部１４は、冗長探索要求に対する末端ノード（スタートノード又はゴールノード）からの冗長探索通知を隣接ノードから受信し、受信した冗長探索通知に基づく冗長経路情報を冗長経路履歴記憶部１２２に記憶させる。なお、冗長探索通知は、冗長経路を末端ノードから各ノードに対して探索させる通知である。また、冗長探索通知は、例えば、末端ノードを識別する末端ノード情報（ＭＡＣアドレス）と、冗長探索通知を送信した直近のノードを識別する送信元情報と、冗長経路の通信に関する電力コストを示す経路コスト情報とを含む。
また、経路探索処理部１４は、経路探索パケット生成部１４１と、経路探索更新部１４２と、経路本数管理部１４３とを備えている。
【００３６】
経路探索パケット生成部１４１は、何本目の経路探索であるかを指定する情報を含む冗長探索要求のパケットを生成し、生成したパケットを第２通信部１１２に送信させる。
なお、本実施形態において、パケットには、発信元アドレス（ＳＡ：Source Address）と、到達先アドレス（ＤＡ：Destination Address）と、送信元アドレス（ＴＡ：Transmitter Address）と、受信先アドレス（ＲＡ：Recipient Address）とを含むものとして説明する。ここで、発信元アドレスは、パケットの起点となるノードのＭＡＣアドレスであり、到達先アドレスは、パケットの終点となるノード（目的地）のＭＡＣアドレスである。また、送信元アドレスは、パケットを送信した直近のノードのＭＡＣアドレスであり、受信先アドレスは、パケットを次に受信する宛先のノードのＭＡＣアドレスである。
【００３７】
経路探索更新部１４２は、受信した冗長探索通知に基づく冗長経路情報を冗長経路履歴記憶部１２２に記憶させる。なお、経路探索更新部１４２は、等しい末端ノード情報を含む冗長経路情報がある場合には、経路コスト情報の電力コストが低い方を冗長経路履歴記憶部１２２に記憶させる更新処理を行う。
【００３８】
経路本数管理部１４３は、経路探索を行う本数を管理する。なお、本実施形態では、経路本数管理部１４３は、経路探索の１本目を最短経路とし、２本目以降を冗長経路として管理する。また、本実施形態では、２本目までの経路探索を行う場合の一例について説明する。
【００３９】
経路確定処理部１５は、受信した冗長探索通知に含まれる経路コスト情報及び末端ノード情報に基づいて、末端ノードごとの冗長経路を確定し、確定した冗長経路に対応する冗長経路履歴記憶部１２２の経路確定フラグを“Ｙｅｓ”に変更する。そして、経路確定処理部１５は、確定した当該冗長経路に対応する送信元情報が示すノードに、冗長経路であることを通知する冗長確定通知を送信する。なお、この冗長確定通知には、到達先アドレス（ＤＡ）として末端ノード情報が含まれている。
また、経路確定処理部１５は、所定の経路探索本数の冗長経路が確定した場合に、冗長経路の探索を終了する通知である探索終了通知をブロードキャストで隣接ノードに送信する。
また、経路確定処理部１５は、経路確定更新部１５１と、経路確定パケット生成部１５２と、経路確定判定部１５３と、経路確定タイマー部１５４とを備えている。
【００４０】
経路確定タイマー部１５４は、経路探索を行う期間を制限するための時間を計時する。経路確定タイマー部１５４は、経路探索が開始されると、予め定められた探索期間を示す時間からカウントダウンして計時を行い、経路確定タイマー部１５４の示す値が“０”になった場合に、経路探索の期間が終了したことを経路確定判定部１５３に通知する。
【００４１】
経路確定判定部１５３は、経路確定タイマー部１５４からの経路探索の期間が終了したことを示す通知に基づいて、経路探索を終了し、冗長経路を確定する判定処理を実行する。経路確定判定部１５３は、冗長経路の探索を終了した場合に、冗長経路履歴記憶部１２２が記憶する冗長経路情報に対して冗長経路であることを確定する。なお、冗長経路履歴記憶部１２２が同じ経路本数、且つ、同じ末端ノード情報の冗長経路情報が複数ある場合には、経路コスト情報が最も小さい冗長経路情報に対して冗長経路であることを確定する。
【００４２】
経路確定更新部１５１は、経路確定判定部１５３の判定結果に応じて、冗長経路履歴記憶部１２２の経路確定フラグを更新する。すなわち、経路確定更新部１５１は、経路確定判定部１５３が確定した冗長経路履歴記憶部１２２の冗長経路情報に対応する経路確定フラグを“Ｙｅｓ”に変更する。
経路確定パケット生成部１５２は、上述した冗長確定通知のパケット、及び探索終了通知のパケットを生成し、生成したパケットを第２通信部１１２に送信させる。
【００４３】
＜中継装置２０の構成＞
中継装置２０は、メッシュネットワークにおいて、スタートノードと、ゴールノードと、中継ノードと、不要ノードと、スリープノードとのうちのいずれかになる装置である。中継装置２０は、図３に示すように、中継通信部２１、中継記憶部２２、及び中継制御部２３を備えている。
【００４４】
中継通信部２１は、他の中継装置２０、又はルート装置１０とメッシュネットワークによるデータ通信を行う。中継通信部２１は、例えば、ルート通信部１１と同様に、第２通信部２１１を備えている。
第２通信部２１１は、例えば、無線ＬＡＮなどの無線通信により、他の中継装置２０、又はルート装置１０とデータ通信を行う。
【００４５】
中継記憶部２２は、中継装置２０の各種処理を行う際に、利用する各種情報を記憶する。中継記憶部２２は、例えば、最短経路履歴記憶部２２１、冗長経路履歴記憶部２２２、隣接ノード記憶部２２３、最短経路ノード記憶部２２４、属性判定ルール記憶部２２５、及び接続デバイス情報記憶部２２６を備えている。
【００４６】
最短経路履歴記憶部２２１は、ルート装置１０の最短経路履歴記憶部１２１と同様に、最短経路情報を記憶する。なお、最短経路履歴記憶部２２１が記憶する情報の具体例は、図４に示す最短経路履歴記憶部１２１の場合と同様である。
【００４７】
冗長経路履歴記憶部２２２は、ルート装置１０の冗長経路履歴記憶部１２２と同様に、冗長探索通知として受信した末端ノード情報及び送信元情報と、末端ノードから自装置までの電力コストを算出した算出コスト情報と、経路確定フラグとを関連付けた冗長経路情報を記憶する。ここで、図７を参照して、冗長経路履歴記憶部２２２が記憶する情報の具体例について説明する。なお、算出コスト情報は、冗長探索通知が経由した経路において、冗長探索通知の末端ノード情報に対応する末端ノードから自装置（自ノード）までの通信に関する電力コストを示すコスト情報である。
【００４８】
図７は、本実施形態における冗長経路履歴記憶部２２２のデータ例を示す図である。
図７に示しように、冗長経路履歴記憶部２２２は、「スタート・ゴールのノード名」と、「送信元（ＦＲＯＭ）」と、「コスト」と、「経路確定フラグ」とを関連付けて記憶している。ここで、「スタート・ゴールのノード名」は、上述した末端ノード情報を示し、「送信元（ＦＲＯＭ）」は、上述した送信元情報を示している。また、「コスト」は、上述した算出コスト情報を示している。なお、ここでのコスト情報は、例えば、ホップ数である。
【００４９】
図７に示す例では、中継装置２０−２における冗長経路履歴記憶部２２２である場合の一例であり、例えば、「スタート・ゴールのノード名」が“００：１１：２２：３３：４４：１１”であるノード（図１の中継装置２０−３に対応）からの冗長経路は、「送信元（ＦＲＯＭ）」が“００：１１：２２：３３：４４：ＡＡ”（図１の中継装置２０−４に対応）であることを示している。また、スタートノードである中継装置２０−３（００：１１：２２：３３：４４：１１）から中継ノードの中継装置２０−４（００：１１：２２：３３：４４：ＡＡ）の間のホップ数が“１”、中継ノードの中継装置２０−３から中継ノードの中継装置２０−２（００：１１：２２：３３：４４：ＢＢ）の間のホップ数が“１”である。また、スタートノードである中継装置２０−７（００：１１：２２：３３：４４：ＤＤ）からルートノードへの確定済み経路（最短経路）に中継ノードの中継装置２０−２（００：１１：２２：３３：４４：ＢＢ）が含まれることとする。このとき中継装置２０−２におけるスタートノードである中継装置２０−３（００：１１：２２：３３：４４：１１）の冗長経路のコストは“１”となる。これは中継ノードの中継装置２０−４（００：１１：２２：３３：４４：ＡＡ）から中継ノードの中継装置２０−２（００：１１：２２：３３：４４：ＢＢ）の経路がスタートノードである中継装置２０−７（００：１１：２２：３３：４４：ＤＤ）の確定済み経路であるので、コストとして加算する必要が無いためである。
【００５０】
また、この冗長経路情報の経路は、「経路確定フラグ」が“Ｙｅｓ”であり、冗長経路に確定されていることを示している。すなわち、中継装置２０−３からの冗長経路は、中継装置２０−２において、中継装置２０−４からの経路として確定されていることを示している。また、冗長経路履歴記憶部２２２は、図７に示すように、冗長経路の探索における経路の本数に対応する冗長経路情報のテーブルを複数有してもよい。
なお、冗長経路情報のテーブルを複数有している場合には、冗長経路が確定している経路の本数に対応する冗長経路情報のテーブルは、上述した最短経路履歴記憶部２２１と同様に、確定済経路記憶部の一例である。また、冗長経路が確定している経路の本数に対応する冗長経路情報は、確定済経路情報の一例である。
なお、他の中継装置２０及び上述したルート装置１０における冗長経路履歴記憶部１２２の具体例も同様である。
【００５１】
図３に戻り、隣接ノード記憶部２２３は、ルート装置１０の隣接ノード記憶部１２３と同様に、自装置から直接通信可能な隣接ノード（第２の隣接ノード）を識別する隣接ノード情報を記憶する。ここで、図８を参照して、隣接ノード記憶部２２３が記憶する情報の具体例について説明する。
【００５２】
図８は、本実施形態における隣接ノード記憶部２２３のデータ例を示す図である。
図８に示しように、隣接ノード記憶部２２３は、「隣接ノード名」を記憶している。ここで、「隣接ノード名」は、上述した隣接ノード情報を示し、例えば、隣接ノードのＭＡＣアドレスである。
図８に示す例では、中継装置２０−２における隣接ノード記憶部２２３である場合の一例である。この例では、“００：１１：２２：３３：４４：５５”であるノード（図１のルート装置１０に対応）、“００：１１：２２：３３：４４：ＡＡ”であるノード（図１の中継装置２０−４に対応）、及び“００：１１：２２：３３：４４：ＣＣ”であるノード（図１の中継装置２０−５に対応）が「隣接ノード名」として記憶されている。
なお、他の中継装置２０及び上述したルート装置１０における隣接ノード記憶部１２３の具体例も同様である。
【００５３】
再び、図３に戻り、最短経路ノード記憶部２２４は、自装置において、ルート装置１０に向って最短経路となるノード情報を記憶する。ここで、図９を参照して、最短経路ノード記憶部２２４が記憶する情報の具体例について説明する。
図９は、本実施形態における最短経路ノード記憶部２２４のデータ例を示す図である。
図９に示しように、最短経路ノード記憶部２２４は、「ルート宛の最短経路ノード名」を記憶している。ここで、「ルート宛の最短経路ノード名」は、上述したルート装置１０に向って最短経路となるノード情報であり、例えば、ＭＡＣアドレスを示している。
図９に示す例では、中継装置２０−２における最短経路ノード記憶部２２４である場合の一例である。この例では、“００：１１：２２：３３：４４：５５”であるノード（図１のルート装置１０に対応）が、「ルート宛の最短経路ノード名」として記憶されている。
なお、他の中継装置２０における最短経路ノード記憶部２２４の具体例も同様である。
【００５４】
再び、図３に戻り、属性判定ルール記憶部２２５は、自装置の属性を判定するための判定ルールを記憶する。この判定ルールは、例えば、「接続デバイスとしてセンサを備えている場合には、自装置を“スタートノード”と判定する」、「接続デバイスを備えていない場合には、自装置を“中継ノード”と判定する」などのルールを示す情報である。
接続デバイス情報記憶部２２６は、センサなどの自装置に接続されている接続デバイスを示す情報を記憶する。
【００５５】
中継制御部２３は、例えば、ＣＰＵなどを含むプロセッサであり、中継装置２０を統括的に制御する制御部である。中継制御部２３は、最短経路生成部２３１、自ノード属性判定部２３２、属性通知パケット生成部２３３、電源制御部２３４、経路探索処理部２４、及び経路確定処理部２５を備えている。
【００５６】
最短経路生成部２３１は、ルート装置１０の最短経路生成部１３２とともに、例えば、ＩＥＥＥ８０２．１１ｓにおけるＨＷＭＰを用いて、最短経路を生成する。最短経路生成部２３１は、例えば、ルート装置１０からの最短探索要求を受信し、受信した最短探索要求の送信元情報を「隣接ノード名」として隣接ノード記憶部２２３に記憶させる。そして、最短経路生成部２３１は、ルート装置１０からのホップ数、通信コストなどに基づいて、「ルート宛の最短経路ノード名」を判定し、判定した「ルート宛の最短経路ノード名」を最短経路ノード記憶部２２４に記憶させる。また、最短経路生成部２３１は、受信した最短探索要求を隣接ノードに転送する。
また、最短経路生成部２３１は、自装置が末端ノード（スタートノード又はゴールノード）である場合に、最短探索応答をルート装置１０に向けて送信する。また、最短経路生成部２３１は、隣接ノードから最短探索応答を受信した場合に、受信した最短探索応答に基づく最短経路情報を最短経路履歴記憶部２２１に記憶させる。なお、最短経路生成部２３１は、最短経路に対応する最短経路情報の経路確定フラグを“Ｙｅｓ”にして、最短経路履歴記憶部２２１に記憶させる。そして、最短経路生成部２３１は、受信した最短探索応答を最短経路ノード記憶部２２４が記憶する「ルート宛の最短経路ノード名」の示す隣接ノードに転送する。
【００５７】
自ノード属性判定部２３２は、属性判定ルール記憶部２２５が記憶する判定ルールと、接続デバイス情報記憶部２２６が記憶する接続デバイスを示す情報とに基づいて、自装置のノード属性を判定する。例えば、自ノード属性判定部２３２は、スタートノードと、ゴールノードと、中継ノードとのうちのいずれの属性であるかを判定する。
【００５８】
属性通知パケット生成部２３３は、最短経路の作成が完了した後に、例えば、ルート装置１０から送信された属性送信要求に応じて、自ノード属性判定部２３２が判定した判定結果である属性情報を含むパケットを生成し、生成したパケットを第２通信部１１２に送信させる。このパケットは、順次、中継ノードを中継してルート装置１０に到達する。
【００５９】
経路探索処理部２４は、ルート装置１０が送信した最短探索要求を隣接ノードから受信した場合、且つ、自装置が末端ノード（スタートノード又はゴールノード）である場合に、最短探索応答を隣接ノードに送信する。また、経路探索処理部２４は、最短探索要求を隣接ノードから受信した場合、且つ自装置が末端ノードでない場合に、最短探索要求を隣接ノードに転送する。
また、経路探索処理部２４は、末端ノード（スタートノード又はゴールノード）からの最短探索応答を隣接ノードから受信し、受信した最短探索応答に基づく最短経路情報を最短経路履歴記憶部２２１に記憶させる。そして、経路探索処理部２４は、最短探索応答を隣接ノードに転送する。
【００６０】
また、経路探索処理部２４は、ルート装置１０が送信した冗長探索要求を隣接ノードから受信した場合、且つ、自装置が末端ノード（スタートノード又はゴールノード）である場合に、冗長探索通知を隣接ノードに送信する。なお、この場合、経路探索処理部２４は、冗長探索通知の経路コスト情報は、初期値（例えば、“０”）として、隣接ノードに送信する。また、経路探索処理部２４は、冗長探索要求を隣接ノードから受信した場合、且つ自装置が末端ノードでない場合に、隣接ノードに、冗長探索要求を転送する。
また、経路探索処理部２４は、末端ノード（スタートノード又はゴールノード）からの冗長探索通知を隣接ノードから受信し、受信した冗長探索通知に基づく冗長経路情報を冗長経路履歴記憶部２２２に記憶させる。そして、経路探索処理部２４は、冗長探索通知を隣接ノードに転送する。
また、経路探索処理部２４は、経路探索パケット生成部２４１と、経路探索更新部２４２とを備えている。
【００６１】
経路探索パケット生成部２４１は、上述した最短探索要求のパケット、最短探索応答のパケット、冗長探索要求のパケット、及び冗長探索通知のパケットを生成し、生成したパケットを第２通信部１１２に送信させる。なお、これらのパケットを隣接ノードに転送する場合には、経路探索パケット生成部２４１は、隣接ノード記憶部２２３が記憶する隣接ノード情報のうち、当該パケットを受信した送信元アドレス（ＴＡ）の隣接ノードを除く隣接ノードを受信先アドレス（ＲＡ）としたパケットを生成する。
【００６２】
経路探索更新部２４２は、受信した最短探索応答に基づく最短経路情報を最短経路履歴記憶部２２１に記憶させる。また、経路探索更新部２４２は、受信した冗長探索通知に基づく冗長経路情報を冗長経路履歴記憶部２２２に記憶させる。
経路探索更新部２４２は、例えば、受信した冗長探索通知と、最短経路履歴記憶部２２１が記憶する最短経路情報と、冗長経路履歴記憶部２２２が記憶する冗長経路情報とに基づいて、末端ノードから自装置までの算出コスト情報を算出する。具体的には、経路探索更新部２４２は、現在の経路本数以前の経路履歴（最短経路情報及び冗長経路情報）に、経路確定フラグが“Ｙｅｓ”のものがない場合に、冗長探索通知に含まれる経路コスト情報にホップ数“１”を加算して算出コスト情報を算出する。また、経路探索更新部２４２は、現在の経路本数以前の経路履歴（最短経路情報及び冗長経路情報）に、経路確定フラグが“Ｙｅｓ”のものがある場合、且つ、末端ノード情報が、冗長探索通知に含まれる発信元アドレス（ＳＡ）と一致する場合には、経路探索の処理を終了する。また、経路確定フラグが“Ｙｅｓ”のものがある場合、且つ、末端ノード情報が、冗長探索通知に含まれる発信元アドレス（ＳＡ）と一致しない場合には、冗長探索通知に含まれる経路コスト情報にホップ数“１”を加算せずにそのままの経路コスト情報を算出コスト情報として算出する。このように、経路探索更新部２４２は、冗長探索通知を受信した場合に、受信した冗長探索通知と、現在の経路本数以前の経路履歴である確定済経路情報（最短経路情報及び冗長経路情報）とに基づいて、受信した冗長探索通知における末端ノードから自装置までの算出コスト情報を算出する。
【００６３】
また、経路探索更新部２４２は、例えば、冗長経路履歴記憶部２２２が既に記憶している冗長経路情報と、算出した当該算出コスト情報とに基づいて、受信した冗長探索通知に基づく冗長経路情報を冗長経路履歴記憶部２２２に記憶させるか否かを判定する。経路探索更新部２４２は、現在探索中の経路の本数に対応する冗長経路情報に、冗長探索通知に含まれる発信元アドレス（ＳＡ）と一致するものが既にある場合に、算出コストが小さいものに更新する。つまり、経路探索更新部２４２は、既に冗長経路履歴記憶部２２２に記憶されている冗長経路情報の算出コストが最小である場合には、冗長経路情報を更新（記憶）させない。また、経路探索更新部２４２は、現在探索中の経路の本数に対応する冗長経路情報に、冗長探索通知に含まれる発信元アドレス（ＳＡ）と一致するものがない場合に、冗長探索通知として受信した末端ノード情報及び送信元情報と、算出した当該算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に追加記憶させる。
経路探索更新部２４２は、冗長経路情報を冗長経路履歴記憶部２２２に記憶させる場合に、算出した当該算出コスト情報を経路コスト情報として含む冗長探索通知を、経路探索パケット生成部２４１に生成させて、隣接ノードに転送する。
【００６４】
経路確定処理部２５は、ルート装置１０が送信した冗長確定通知を受信した場合に、冗長経路履歴記憶部２２２が記憶する冗長経路情報のうち、受信した冗長確定通知に含まれる末端ノード情報に対応する当該冗長経路情報の経路確定フラグを“Ｙｅｓ”に変更する。そして、経路確定処理部２５は、当該冗長経路情報の送信元情報に対応する隣接ノードに冗長確定通知を転送する。
また、経路確定処理部２５は、経路確定更新部２５１と、経路確定パケット生成部２５２とを備えている。
【００６５】
経路確定更新部２５１は、受信した冗長確定通知に基づいて、冗長経路履歴記憶部２２２の経路確定フラグを更新する。すなわち、経路確定更新部２５１は、受信した冗長確定通知の到達先アドレス（ＤＡ）と一致する末端ノード情報を有する冗長経路情報の経路確定フラグを“Ｙｅｓ”に変更する。
【００６６】
経路確定パケット生成部２５２は、上述した冗長確定通知のパケットを生成し、生成したパケットを第２通信部１１２に送信させる。
また、経路確定パケット生成部２５２は、経路確定フラグを“Ｙｅｓ”に変更した冗長経路情報の送信元情報を、受信先アドレス（ＲＡ）として、冗長確定通知のパケットを生成し、生成したパケットを冗長確定通知として隣接ノードに転送する。
【００６７】
電源制御部２３４は、ルート装置１０からの探索終了通知を受信した場合に、最短経路履歴記憶部２２１が記憶する最短経路情報と、冗長経路履歴記憶部２２２が記憶する冗長経路情報とに基づいて、自装置が、最短経路及び冗長経路のいずれかに確定されているか否かを判定する。すなわち、電源制御部２３４は、最短経路履歴記憶部２２１が記憶する最短経路情報及び冗長経路履歴記憶部２２２が記憶する冗長経路情報のいずれかに、経路確定フラグが“Ｙｅｓ”である履歴情報があるか否かを判定する。電源制御部２３４は、最短経路及び冗長経路のいずれにも確定されていない場合に、自装置の消費電力を低下させる低消費電力モードに、自装置を変更する。すなわち、電源制御部２３４は、最短経路履歴記憶部２２１及び冗長経路履歴記憶部２２２のいずれにも経路確定フラグが“Ｙｅｓ”である履歴情報がない場合に、低消費電力モードに自律的に変更する。なお、自装置が末端ノード（スタートノード又はゴールノード）である場合には、電源制御部２３４は、自装置をスリープノードと判定し、低消費電力モードの１つであるスリープモードに自装置を変更する。また、自装置が末端ノード（スタートノード又はゴールノード）でない場合には、電源制御部２３４は、自装置を不要ノードと判定し、自装置への電源供給を停止する。
【００６８】
なお、電源制御部２３４は、自装置を低消費電力モードに自律的に変更する場合に、自装置の属性が変更になったことをルート装置１０に通知してもよい。この場合、ルート装置１０のノード属性登録部１３３は、不要ノード及びスリープノードに遷移したノードの属性情報を受信し、受信した属性情報により、ノード情報記憶部１２４に記憶されている属性情報を変更（更新）する。
【００６９】
次に、本実施形態によるメッシュネットワークシステム１の動作について、図面を参照して説明する。
図１０は、本実施形態によるメッシュネットワークシステム１の動作の一例を示すフローチャートである。
ここでは、メッシュネットワークシステム１における消費電力を低下させる動作の概要について説明する。
【００７０】
この図において、メッシュネットワークシステム１は、最短経路を生成する（ステップＳ１０１）。すなわち、ルート装置１０の最短経路生成部１３２と、中継装置２０の最短経路生成部２３１とが、ＩＥＥＥ８０２．１１ｓにおけるＨＷＭＰを利用して、最短経路を探索する。なお、ステップＳ１０１の処理の詳細については、図１１及び図１２を参照して後述する。
【００７１】
次に、メッシュネットワークシステム１は、冗長経路を探索する（ステップＳ１０２）。すなわち、ルート装置１０が、冗長探索要求をブロードキャストで各中継装置２０に送信し、この冗長探索要求に対する冗長探索通知を末端ノード（スタートノード又はゴールノード）の中継装置２０がルート装置１０に向けて送信する。各中継装置２０は、冗長探索通知を隣接ノードに転送し、ルート装置１０は、冗長探索通知として受信した経路履歴である冗長経路情報に基づいて、冗長経路を確定させる。なお、ステップＳ１０２の処理の詳細については、図１４〜図１８を参照して後述する。
【００７２】
次に、メッシュネットワークシステム１は、不要ノード及びスリープノードを低消費電力モードに変更する（ステップＳ１０３）。すなわち、各中継装置２０は、自装置が不要ノード又はスリープノードであるか否かを、最短経路履歴記憶部２２１及び冗長経路履歴記憶部２２２の経路確定フラグに基づいて判定する。各中継装置２０は、自装置が不要ノードであると判定した場合に、自装置への電源供給を停止する電源停止モード（低消費電力モードの一例）に変更する。また、各中継装置２０は、自装置がスリープノードであると判定した場合に、自装置を低消費電力モードの１つであるスリープモードに変更する。なお、ステップＳ１０３の処理（低消費電力モードへの変更処理）の詳細については、図２０及び図２１を参照して後述する。
【００７３】
＜最短経路の探索処理＞
次に、図１１及び図１２を参照して、上述のステップＳ１０１の処理である最短経路の作成処理について詳細に説明する。
図１１は、本実施形態における最短経路の探索処理の一例を示すフローチャートである。また、図１２は、本実施形態における最短経路の探索処理の一例を説明する図である。
【００７４】
まず、ルート装置１０及び中継装置２０は、最短経路を探索する（ステップＳ２０１）。すなわち、ルート装置１０の最短経路生成部１３２が、最短探索要求をブロードキャストで中継装置２０に送信する。また、中継装置２０の最短経路生成部２３１は、例えば、ルート装置１０からの最短探索要求を受信し、最短探索要求の送信元情報を「隣接ノード名」として隣接ノード記憶部２２３に記憶させるとともに、「ルート宛の最短経路ノード名」を最短経路ノード記憶部２２４に記憶させる。また、最短経路生成部２３１は、受信した最短探索要求を隣接ノードに転送する。
図１２のステップＳ２０１に示す例では、最短探索要求が、ルート装置１０から中継装置２０−１を中継して、スタートノードである中継装置２０−３に到達する場合を示している。これにより、ルート装置１０から中継装置２０−３への最短経路が確定する。
【００７５】
次に、ルート装置１０及び中継装置２０は、最短経路履歴を記録する（ステップＳ２０２）。すなわち、自装置が末端ノード（スタートノード又はゴールノード）である中継装置２０の最短経路生成部２３１は、受信した最短探索要求に対して、最短探索応答をルート装置１０に向けて送信する。最短経路生成部２３１は、隣接ノードから最短探索応答を受信した場合に、受信した最短探索応答に基づく最短経路情報を最短経路履歴記憶部２２１に記憶させる。そして、最短経路生成部２３１は、受信した最短探索応答を、最短経路ノード記憶部２２４が記憶する「ルート宛の最短経路ノード名」の示す隣接ノードに転送する。また、ルート装置１０の最短経路生成部１３２は、末端ノード（スタートノード又はゴールノード）からの最短探索応答を受信し、受信した最短探索応答に基づく最短経路情報を最短経路履歴記憶部１２１に記憶させる。
図１２のステップＳ２０２に示す例では、最短探索応答が、スタートノードである中継装置２０−３から中継装置２０−１を中継して、ルート装置１０に到達する場合を示している。これにより、各ノードに最短経路履歴が記録される。
【００７６】
次に、ルート装置１０及び中継装置２０は、各中継装置２０のノード属性を登録する（ステップＳ２０３）。すなわち、ルート装置１０のノード属性登録部１３３は、最短経路の探索が完了した後、各ノードの属性情報の通知を依頼する属性送信要求を、ブロードキャストにより各ノードに送信する。これに対応して、各中継装置２０の属性通知パケット生成部２３３は、自ノード属性判定部２３２が判定した判定結果である属性情報を含むパケットを生成し、生成したパケットを第２通信部１１２に送信させる。このパケットは、順次、中継ノードを中継してルート装置１０に到達する。そして、ノード属性登録部１３３は、各ノードの属性情報を、第２通信部１１２を介して受信し、受信した属性情報と、ノード情報とを関連付けてノード情報記憶部１２４に記憶させる。なお、ステップＳ２０２の最短経路の記録する処理とステップＳ２０３のノード属性を登録する処理とは、一つのメッセージの中で同時に実施することも可能である。
【００７７】
なお、図１２に示す例では、スタートノードである中継装置２０−３についての最短経路の探索処理を説明しているが、もう１つのスタートノードである中継装置２０−７についても同様の処理が行われる。その結果、図１３に示すように、経路Ｒ１１と経路Ｒ１２とが最短経路として確定される。
【００７８】
＜冗長経路の探索処理＞
次に、図１４及び図１５を参照して、上述のステップＳ１０２の処理である冗長経路の探索処理について詳細に説明する。
図１４は、本実施形態における冗長経路の探索処理の一例を示すフローチャートである。また、図１５は、本実施形態における冗長経路の探索処理の一例を説明する図である。
【００７９】
まず、ルート装置１０は、探索する経路本数を指定した冗長探索要求を送信する（ステップＳ３０１）。すなわち、ルート装置１０の経路探索処理部１４が、図１５のステップＳ３０１に示すように、探索する経路本数を指定した冗長探索要求をブロードキャストで各中継装置２０に送信する。そして、各中継装置２０は、冗長探索要求を受信した場合、冗長探索要求を受信した隣接ノード以外の隣接ノードに、冗長探索要求を転送する。
なお、各冗長経路の探索にかかる時間は、ルート装置１０が、経路確定タイマー部１５４のタイマー時間により管理するものとする。
【００８０】
次に、末端ノードが、冗長探索通知を送信して、冗長経路を探索する（ステップＳ３０２）。すなわち、図１５のステップＳ３０２に示すように、冗長探索要求に対して、自装置が末端ノードである中継装置２０が、ルート装置１０宛の冗長探索通知を、隣接ノードに送信する。各中継装置２０の経路探索処理部２４は、受信した冗長探索通知を転送するとともに、経路履歴である冗長経路情報を冗長経路履歴記憶部２２２に記憶させる。ここでは、冗長経路の探索処理では、経路探索処理部２４は、最短経路又は冗長経路に既に確定していない経路を探索する。なお、ステップＳ３０２における中継装置２０の処理の詳細については、図１７を参照して後述する。
また、ルート装置１０の経路探索処理部１４は、冗長探索通知として受信した経路履歴である冗長経路情報を冗長経路履歴記憶部１２２に記憶させる。なお、ステップＳ３０２におけるルート装置１０の処理の詳細については、図１８を参照して後述する。
【００８１】
次に、ルート装置１０及び中継装置２０は、冗長経路を登録する（ステップＳ３０３）。例えば、ルート装置１０の経路確定処理部１５は、探索状態記憶部１２５の探索の残り時間を示す情報が“０秒”になった場合に、受信した冗長探索通知に含まれる経路コスト情報及び末端ノード情報に基づいて、末端ノードごとの冗長経路を確定する。具体的に、経路確定処理部１５は、冗長経路履歴記憶部１２２が記憶している末端ノード情報が等しい冗長経路情報のうちで、経路コスト情報の値が最小の冗長経路情報を冗長経路として選定（確定）する。経路確定処理部１５は、確定した冗長経路に対応する冗長経路履歴記憶部１２２の経路確定フラグを“Ｙｅｓ”に変更する。また、経路確定処理部１５は、図１５のステップＳ３０３に示すように、確定した当該冗長経路に対応する送信元情報が示すノードに、冗長経路であることを通知する冗長確定通知を送信する。
【００８２】
また、各中継装置２０は、冗長確定通知を受信した場合に、冗長経路履歴記憶部２２２が記憶する冗長経路情報のうち、受信した冗長確定通知に含まれる末端ノード情報に対応する当該冗長経路情報の経路確定フラグを“Ｙｅｓ”に変更する。そして、経路確定処理部２５は、当該冗長経路情報の送信元情報に対応する隣接ノードに冗長確定通知を転送する。この冗長確定通知が末端ノードに到達することにより、冗長経路の登録が完了したことになる。なお、ステップＳ３０２における中継装置２０の処理の詳細については、図１９を参照して後述する。
【００８３】
なお、図１５に示す例では、スタートノードである中継装置２０−３についての冗長経路の探索処理を説明しているが、もう１つのスタートノードである中継装置２０−７についても同様の処理が行われる。その結果、図１６に示すように、経路Ｒ２１と経路Ｒ２２とが冗長経路として確定される。
また、上述した例では、１本の冗長経路の探索を行う場合について説明しているが、ｎ本の冗長経路を探索する場合には、ルート装置１０及び各中継装置２０は、図１４に示す探索処理をｎ回繰り返して実行する。
【００８４】
＜中継装置２０における冗長経路の探索処理＞
次に、図１７を参照して、中継装置２０における冗長経路の探索処理について詳細に説明する。
図１７は、中継装置２０における冗長経路の探索処理の一例を示すフローチャートである。
この図において、まず、中継装置２０が、冗長探索通知を受信する（ステップＳ４０１）。すなわち、中継装置２０が、末端ノードからの冗長探索通知を受信した場合に、経路探索処理部２４は、冗長探索通知を取得する。
【００８５】
次に、経路探索処理部２４は、現在の経路本数以前の経路履歴に、経路確定フラグが“Ｙｅｓ”のものがあるか否かを判定する（ステップＳ４０２）。すなわち、経路探索処理部２４は、最短経路履歴記憶部２２１の最短経路情報に経路確定フラグが“Ｙｅｓ”のものがあるか否か、及び、冗長経路履歴記憶部２２２における現在の経路本数以前の冗長経路情報に経路確定フラグが“Ｙｅｓ”のものがあるか否かを判定する。経路探索処理部２４は、現在の経路本数以前の経路履歴に、経路確定フラグが“Ｙｅｓ”のものがある場合（ステップＳ４０２：ＹＥＳ）に、処理をステップＳ４０３に進める。また、経路探索処理部２４は、現在の経路本数以前の経路履歴に、経路確定フラグが“Ｙｅｓ”のものがない場合（ステップＳ４０２：ＮＯ）に、処理をステップＳ４０５に進める。
【００８６】
ステップＳ４０３において、経路探索処理部２４は、経路確定フラグが“Ｙｅｓ”の経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と一致するものがあるか否かを判定する。経路探索処理部２４は、経路確定フラグが“Ｙｅｓ”の経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と一致するものがある場合（ステップＳ４０３：ＹＥＳ）に、自装置が同じ末端ノードからの最短経路又は冗長経路に既に確定されていると判定し、処理を終了する。また、経路探索処理部２４は、経路確定フラグが“Ｙｅｓ”の経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と一致するものがない場合（ステップＳ４０３：ＮＯ）に、自装置が他の末端ノードからの最短経路又は冗長経路に既に確定されていると判定し、処理をステップＳ４０４に進める。
【００８７】
ステップＳ４０４において、経路探索処理部２４は、（算出コスト情報＝受信コスト情報）として算出コスト情報を算出する。なお、ここでの受信コスト情報は、受信した冗長探索通知に含まれる経路コスト情報のことである。このように、経路探索処理部２４は、自装置が他の末端ノードからの最短経路又は冗長経路に既に確定されている場合に、電力コストの加算を行わない。
【００８８】
また、ステップＳ４０５において、経路探索処理部２４は、（算出コスト情報＝受信コスト情報＋１）として算出コスト情報を算出する。このように、経路探索処理部２４は、自装置がいずれの末端ノードからの最短経路又は冗長経路にも確定されていない場合には、電力コストの加算（“１”ホップ数の加算）を行う。
【００８９】
次に、ステップＳ４０６において、経路探索処理部２４は、現在の経路本数の経路履歴に、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報があるか否かを判定する。すなわち、経路探索処理部２４は、冗長経路履歴記憶部２２２における現在の経路本数の冗長経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報があるか否かを判定する。経路探索処理部２４は、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報がある場合（ステップＳ４０６：ＹＥＳ）に、処理をステップＳ４０７に進める。また、経路探索処理部２４は、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報がない場合（ステップＳ４０６：ＮＯ）に、処理をステップＳ４０９に進める。
【００９０】
ステップＳ４０７において、経路探索処理部２４は、当該冗長経路情報の経路コスト情報の値が、算出コスト情報の値より大きいか否かを判定する。経路探索処理部２４は、該冗長経路情報の経路コスト情報の値が、算出コスト情報の値より大きい場合（ステップＳ４０７：ＹＥＳ）に、処理をステップＳ４０８に進める。また、経路探索処理部２４は、該冗長経路情報の経路コスト情報の値が、算出コスト情報の値以下である場合（ステップＳ４０７：ＮＯ）に、処理を終了する。
【００９１】
ステップＳ４０８において、経路探索処理部２４は、冗長探索通知の発信元アドレス（ＳＡ）及び送信元（ＦＲＯＭ）アドレス（ＴＡ）と、算出コスト情報とを含む冗長経路情報に変更する。このように、経路探索処理部２４は、既に記録されている冗長経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と一致するものがある場合には、記録されている経路コスト情報と算出コスト情報を比較し、値が小さい方の冗長経路情報を冗長経路履歴記憶部２２２に残す。なお、経路探索処理部２４は、経路確定フラグを“Ｎｏ”とした冗長経路情報を冗長経路履歴記憶部２２２に記憶させる。
【００９２】
また、一方のステップＳ４０９において、経路探索処理部２４は、冗長探索通知の発信元アドレス（ＳＡ）及び送信元（ＦＲＯＭ）アドレス（ＴＡ）と、算出コスト情報とを含む冗長経路情報を経路履歴に追加する。すなわち、経路探索処理部２４は、冗長探索通知の発信元アドレス（ＳＡ）及び送信元（ＦＲＯＭ）アドレス（ＴＡ）と、算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に記憶させる。なお、経路探索処理部２４は、経路確定フラグを“Ｎｏ”とした冗長経路情報を冗長経路履歴記憶部２２２に記憶させる。
【００９３】
次に、ステップＳ４１０において、経路探索処理部２４は、転送可能な隣接ノードが存在するか否かを判定する。すなわち、経路探索処理部２４は、自装置が次に冗長探索通知を転送可能な隣接ノードがあるか否かを判定する。なお、転送可能な隣接ノードは、隣接ノード記憶部２２３が記憶する隣接ノード情報に対応するノードのうち、受信した冗長探索通知に含まれる送信元（ＦＲＯＭ）アドレス（ＴＡ）のノードを除いたノードである。経路探索処理部２４は、転送可能な隣接ノードが存在する場合（ステップＳ４１０：ＹＥＳ）に、処理をステップＳ４１１に進めて、冗長探索通知の転送を行う。また、経路探索処理部２４は、転送可能な隣接ノードが存在しない場合（ステップＳ４１０：ＮＯ）に、冗長探索通知の転送を行わずに処理を終了する。
【００９４】
ステップＳ４１１において、経路探索処理部２４は、経路コスト情報及び送信元（ＦＲＯＭ）アドレス（ＴＡ）を変更した冗長探索通知を隣接ノードに転送する。すなわち、経路探索処理部２４は、送信元（ＦＲＯＭ）アドレス（ＴＡ）を自装置のＭＡＣアドレスに変更するとともに、算出コスト情報を経路コスト情報とした冗長探索通知を隣接ノードに転送して、処理を終了する。
【００９５】
＜ルート装置１０における冗長経路の探索処理＞
次に、図１８を参照して、ルート装置１０における冗長経路の探索処理について詳細に説明する。
図１８は、ルート装置１０における冗長経路の探索処理の一例を示すフローチャートである。
この図において、まず、ルート装置１０が、冗長探索通知を受信する（ステップＳ５０１）。すなわち、ルート装置１０が、末端ノードからの冗長探索通知を受信した場合に、経路探索処理部１４は、冗長探索通知を取得する。
【００９６】
次に、経路探索処理部１４は、現在の経路本数以前の経路履歴に、経路確定フラグが“Ｙｅｓ”のものがあるか否かを判定する（ステップＳ５０２）。すなわち、経路探索処理部１４は、最短経路履歴記憶部１２１の最短経路情報に経路確定フラグが“Ｙｅｓ”のものがあるか否か、及び、冗長経路履歴記憶部１２２における現在の経路本数以前の冗長経路情報に経路確定フラグが“Ｙｅｓ”のものがあるか否かを判定する。経路探索処理部１４は、現在の経路本数以前の経路履歴に、経路確定フラグが“Ｙｅｓ”のものがある場合（ステップＳ５０２：ＹＥＳ）に、処理をステップＳ５０３に進める。また、経路探索処理部１４は、現在の経路本数以前の経路履歴に、経路確定フラグが“Ｙｅｓ”のものがない場合（ステップＳ５０２：ＮＯ）に、処理をステップＳ５０４に進める。
【００９７】
ステップＳ５０３において、経路探索処理部１４は、経路確定フラグが“Ｙｅｓ”の経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と送信元（ＦＲＯＭ）アドレス（ＴＡ）との組が一致するものがあるか否かを判定する。経路探索処理部１４は、経路確定フラグが“Ｙｅｓ”の経路情報に、冗長探索通知の冗長探索通知の発信元アドレス（ＳＡ）と送信元（ＦＲＯＭ）アドレス（ＴＡ）との組とが一致するものがある場合（ステップＳ５０３：ＹＥＳ）に、同じ末端ノードからの最短経路又は冗長経路に既に確定されていると判定し、処理を終了する。また、経路探索処理部１４は、経路確定フラグが“Ｙｅｓ”の経路情報に、この組が一致するものがない場合（ステップＳ５０３：ＮＯ）に、処理をステップＳ５０４に進める。
【００９８】
次に、ステップＳ５０４において、経路探索処理部１４は、現在の経路本数の経路履歴に、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報があるか否かを判定する。すなわち、経路探索処理部１４は、冗長経路履歴記憶部１２２における現在の経路本数の冗長経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報があるか否かを判定する。経路探索処理部１４は、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報がある場合（ステップＳ５０４：ＹＥＳ）に、処理をステップＳ５０５に進める。また、経路探索処理部１４は、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報がない場合（ステップＳ５０４：ＮＯ）に、処理をステップＳ５０７に進める。
【００９９】
ステップＳ５０５において、経路探索処理部１４は、当該冗長経路情報の経路コスト情報の値が、（受信コスト情報＋１）の値より大きいか否かを判定する。経路探索処理部１４は、該冗長経路情報の経路コスト情報の値が、算出コスト情報の値より大きい場合（ステップＳ５０５：ＹＥＳ）に、処理をステップＳ５０６に進める。また、経路探索処理部１４は、該冗長経路情報の経路コスト情報の値が、（受信コスト情報＋１）の値以下である場合（ステップＳ５０５：ＮＯ）に、処理を終了する。
【０１００】
ステップＳ５０６において、経路探索処理部１４は、冗長探索通知の発信元アドレス（ＳＡ）及び送信元（ＦＲＯＭ）アドレス（ＴＡ）と、算出コスト情報とを含む冗長経路情報に変更する。このように、経路探索処理部１４は、既に記録されている冗長経路情報に、冗長探索通知の発信元アドレス（ＳＡ）と一致するものがある場合には、記録されている経路コスト情報と（受信コスト情報＋１）とを比較し、値が小さい方の冗長経路情報を冗長経路履歴記憶部１２２に残し、処理を終了する。
【０１０１】
また、一方のステップＳ５０７において、経路探索処理部１４は、冗長探索通知の発信元アドレス（ＳＡ）及び送信元（ＦＲＯＭ）アドレス（ＴＡ）と、（受信コスト情報＋１）とを含む冗長経路情報を経路履歴に追加する。すなわち、経路探索処理部１４は、冗長探索通知の発信元アドレス（ＳＡ）及び送信元（ＦＲＯＭ）アドレス（ＴＡ）と、（受信コスト情報＋１）とを含む冗長経路情報を冗長経路履歴記憶部１２２に記憶させて、処理を終了する。
【０１０２】
＜中継装置２０における冗長経路の確定処理＞
次に、図１９を参照して、中継装置２０における冗長経路の探索処理について詳細に説明する。
図１９は、中継装置２０における冗長経路の確定処理の一例を示すフローチャートである。
この図において、まず、中継装置２０が、冗長確定通知を受信する（ステップＳ６０１）。すなわち、中継装置２０が、ルート装置１０からの冗長確定通知を受信した場合に、経路確定処理部２５は、冗長確定通知を取得する。
【０１０３】
次に、経路確定処理部２５は、冗長確定通知に含まれる発信元アドレス（ＳＡ）を有する冗長経路情報を検索する（ステップＳ６０２）。すなわち、経路確定処理部２５は、冗長経路履歴記憶部２２２における現在の経路本数の冗長経路情報のうちから、冗長探索通知の発信元アドレス（ＳＡ）と一致する冗長経路情報を検索する。
次に、経路確定処理部２５は、検索した冗長経路情報の経路確定フラグを“Ｙｅｓ”に変更する（ステップＳ６０３）。
【０１０４】
次に、経路確定処理部２５は、検索した冗長経路情報の送信元（ＦＲＯＭ）のノードに、冗長確定通知を転送する（ステップＳ６０４）。すなわち、経路確定処理部２５は、検索した冗長経路情報の送信元（ＦＲＯＭ）のＭＡＣアドレスを、受信先アドレス（ＲＡ）として、冗長確定通知を転送して、処理を終了する。
【０１０５】
＜低消費電力モードへの変更処理＞
次に、図２０及び図２１を参照して、上述のステップＳ１０３の処理である低消費電力モードへの変更処理について詳細に説明する。
図２０は、本実施形態における不要な中継装置２０の低消費電力モードへの変更処理の一例を示すフローチャートである。また、図２１は、本実施形態における不要な中継装置２０の低消費電力モードへの変更処理の一例を説明する図である。
【０１０６】
まず、ルート装置１０は、探索終了通知を送信する（ステップＳ７０１）。すなわち、ルート装置１０の経路確定処理部１５が、図２１のステップＳ７０１に示すように、探索の終了を指示する探索終了通知をブロードキャストなどで各中継装置２０に送信する。そして、各中継装置２０は、探索終了通知を受信した場合、探索終了通知を受信した隣接ノード以外の隣接ノードに、探索終了通知を転送する。なお、以下、ブロードキャストを例として説明するが、ブロードキャストに限定されることなく、例えば、ルートノードが属性を把握している各ノードに対して、ユニキャストで通知を送ることとしてもよい。
【０１０７】
次に、各中継装置２０は、経路探索を中止する（ステップＳ７０２）。すなわち、経路探索処理部２４は、図２１のステップＳ７０２に示すように、受信した探索終了通知に応じて、冗長経路の探索処理を終了する。
また、電源制御部２３４は、最短経路履歴記憶部２２１が記憶する最短経路情報と、冗長経路履歴記憶部２２２が記憶する冗長経路情報とに基づいて、自装置が、最短経路及び冗長経路のいずれかに確定されているか否かを判定する。すなわち、電源制御部２３４は、最短経路履歴記憶部２２１が記憶する最短経路情報及び冗長経路履歴記憶部２２２が記憶する冗長経路情報のいずれかに、経路確定フラグが“Ｙｅｓ”である履歴情報があるか否かを判定する。
【０１０８】
電源制御部２３４は、最短経路履歴記憶部２２１及び冗長経路履歴記憶部２２２のいずれにも経路確定フラグが“Ｙｅｓ”である履歴情報（経路情報）がない場合、且つ、自装置の属性がスタートノード又はゴールノードである場合に、自装置の属性情報をスリープノードに変更する。また、電源制御部２３４は、最短経路履歴記憶部２２１及び冗長経路履歴記憶部２２２のいずれにも経路確定フラグが“Ｙｅｓ”である履歴情報（経路情報）がない場合、且つ、自装置の属性がスタートノード又はゴールノードでない場合に、自装置の属性情報を不要ノードに変更する。
なお、図２１に示す例では、中継ノードである中継装置２０−５は、自装置の属性情報を不要ノードに変更する。
【０１０９】
次に、ルート装置１０は、各中継装置２０にノード属性（属性情報）の通知を要求する（ステップＳ７０３）。ルート装置１０のノード属性登録部１３３は、各ノードの属性情報の通知を依頼する属性送信要求を、ブロードキャストなどにより各中継装置２０に送信する。
なお、図２１のステップＳ７０３に示す例では、不要ノードに変更された中継装置２０−５に属性送信要求が通知されている例を示している。
【０１１０】
次に、各中継装置２０は、ノード属性をルート装置１０に通知する（ステップＳ７０４）。すなわち、中継装置２０の属性通知パケット生成部２３３が、自装置の属性情報をルート装置１０に送信する。
なお、図２１のステップＳ７０４に示す例では、不要ノードに変更された中継装置２０−５が、属性情報をルート装置１０に送信している例を示している。
【０１１１】
次に、ルート装置１０は、ノード属性の変更を記録する（ステップＳ７０５）。すなわち、ルート装置１０のノード属性登録部１３３は、各中継装置２０から通知された属性情報を受信し、受信した属性情報のうち、変更のあった属性情報をノード情報記憶部１２４に記憶させる。
【０１１２】
次に、不要ノード又はスリープノードの中継装置２０が、自装置を低消費電力モードに変更する（ステップＳ７０６）。すなわち、自装置の属性情報を不要ノードに変更した中継装置２０は、自装置への電源供給を停止する電源停止モード（電源ＯＦＦ（オフ））に自装置を変更する。また、自装置の属性情報をスリープノードに変更した中継装置２０は、スリープモードに自装置を変更する。なお、スタートノードがスリープ対象となった場合には、中継装置２０は、ディープスリープとなり、自ノードのＤＴＩＭ（Delivery Traffic Indication Message）を発行するタイミングでディープスリープから復帰するものとする。また、ゴールノードがスリープ対象となった場合には、中継装置２０は、ライトスリープとなり、他ノードのＴＩＭ（Traffic Indication Message）を受信するとライトスリープから復帰するものとする。
なお、図２１のステップＳ７０６に示す例では、不要ノードに変更された中継装置２０−５が、自装置を電源停止モード（電源ＯＦＦ（オフ））に変更している例を示している。
また、図２１に示すように、中継装置２０−７についても、上述と同様に低消費電力モードへの変更処理が行われて、スリープノードに変更される。
【０１１３】
以上説明したように、本実施形態によるメッシュネットワークシステム１は、メッシュネットワークの基点となり、無線通信により通信可能な少なくとも１つのルート装置１０と、無線通信により通信可能な中継装置２０である複数のノードとを備えている。ルート装置１０は、末端ノードから自装置への最短経路とは異なる冗長経路をノードに対して探索させる冗長探索要求を、隣接ノード（第１の隣接ノード）に送信する処理を実行する。また、ルート装置１０は、冗長探索要求に対する末端ノードからの冗長探索通知であって、末端ノードを識別する末端ノード情報と、冗長探索通知を送信した直近のノードを識別する送信元情報と、冗長経路の通信に関する電力コストを示す経路コスト情報とを含む冗長探索通知を隣接ノードから受信する処理を実行する。また、ルート装置１０は、受信した冗長探索通知に含まれる経路コスト情報及び末端ノード情報に基づいて、末端ノードごとの冗長経路を確定する処理を実行する。
【０１１４】
また、中継装置２０は、最短経路履歴記憶部２２１（確定済経路記憶部の一例）と冗長経路履歴記憶部２２２（冗長経路記憶部の一例）とを備える。ここで、最短経路履歴記憶部２２１は、末端ノードからルート装置１０への最短経路（確定済経路の一例）の中に自装置を経由する確定済経路がある場合に記憶される最短経路情報（確定済経路情報の一例）であって、当該最短経路の末端ノードを識別する末端ノード情報を含む最短経路情報を記憶する。最短経路履歴記憶部２２１は、例えば、末端ノード情報と、末端ノードからルート装置１０への最短経路に自装置が確定されているか否かを示す経路確定フラグ（最短確定情報）とを関連付けた最短経路情報を記憶する。また、冗長経路履歴記憶部２２２は、冗長経路を末端ノードから各ノードに対して探索させる冗長探索通知を発信した末端ノード情報と、冗長探索通知を送信した直近のノードを識別する送信元情報と、末端ノードから自装置までの電力コストを算出した算出コスト情報とを関連付けた冗長経路情報を記憶する。そして、中継装置２０は、ルート装置１０が送信した冗長探索要求を受信した場合に、自装置から直接通信可能な隣接ノード（第２の隣接ノード）に、冗長探索要求を転送する処理を実行する。また、中継装置２０は、末端ノードからの冗長探索通知を受信し、受信した冗長探索通知と、最短経路履歴記憶部２２１が記憶する最短経路情報と、冗長経路履歴記憶部２２２が記憶する冗長経路情報とに基づいて、末端ノードから自装置までの算出コスト情報を算出する処理を実行する。中継装置２０は、冗長経路履歴記憶部２２２が既に記憶している冗長経路情報と、算出コスト情報とに基づいて、冗長探索通知として受信した末端ノード情報及び送信元情報と、算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に記憶させるか否かを判定する処理を実行する。そして、中継装置２０は、受信した末端ノード情報及び送信元情報と、算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に記憶させる場合に、経路コスト情報として算出コスト情報を含む冗長探索通知を、隣接ノードに転送する処理を実行する。
【０１１５】
すなわち、本実施形態による中継装置２０は、冗長探索通知を発信した末端ノード情報と、送信元情報と、経路コスト情報とを含む冗長探索通知を受信した場合に、受信した冗長探索通知と、確定済経路記憶部（例えば、最短経路履歴記憶部２２１及び冗長経路履歴記憶部２２２の確定済の経路の本数に対応する冗長経路情報のテーブル）が記憶する確定済経路情報（例えば、最短経路情報及び確定済の経路の本数に対応する冗長経路情報のテーブルが記憶する確定済の冗長経路情報）とに基づいて、受信した当該冗長探索通知における末端ノードから自装置までの算出コスト情報を算出する。また、中継装置２０は、冗長経路履歴記憶部２２２が既に記憶している冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、冗長探索通知として受信した末端ノード情報及び送信元情報と、算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に記憶させるか否かを判定する。そして、中継装置２０は、受信した末端ノード情報及び送信元情報と、算出した当該算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に記憶させる場合に、算出した当該算出コスト情報を経路コスト情報として含む冗長探索通知を、自装置から直接通信可能な隣接ノードに転送する。
【０１１６】
これにより、ルート装置１０が、冗長経路を確定させることができるとともに、中継装置２０は、自装置が最短経路及び冗長経路のいずれでもない不要なノード（データ通信に貢献していない不要なノード）であることを判定することが可能になる。そのため、本実施形態によるメッシュネットワークシステム１は、例えば、不要なノードである中継装置２０の電源供給を停止するなどを行うことが可能になる。よって、本実施形態によるメッシュネットワークシステム１は、冗長経路を確保しつつ、メッシュネットワークの消費電力を低減することができる。
【０１１７】
また、本実施形態では、上述した冗長経路情報には、自装置が冗長経路に確定されたか否かを示す経路確定フラグ（冗長確定情報）が含まれている。ルート装置１０は、確定した当該冗長経路に対応する送信元情報が示すノードに、冗長経路であることを通知する冗長確定通知であって、末端ノード情報を含む冗長確定通知を送信する。そして、中継装置２０は、冗長確定通知を受信した場合に、冗長経路履歴記憶部２２２が記憶する冗長経路情報のうち、受信した冗長確定通知に含まれる末端ノード情報に対応する当該冗長経路情報の経路確定フラグを、自装置が冗長経路に確定されたことを示す情報（例えば、“Ｙｅｓ”）に変更するとともに、当該冗長経路情報の送信元情報に対応する隣接ノードに冗長確定通知を転送する。そして、中継装置２０は、最短経路履歴記憶部２２１が記憶する最短経路情報と、冗長経路履歴記憶部２２２が記憶する冗長経路情報とに基づいて、自装置が、最短経路及び冗長経路のいずれかに確定されているか否かを判定し、最短経路及び冗長経路のいずれにも確定されていない場合に、自装置の消費電力を低下させる低消費電力モードに、自装置を変更する。
これにより、中継装置２０は、自装置がデータ通信に貢献していない不要なノード（不要ノード又はスリープノード）である場合に、自律的に低消費電力モードに変更することができる。
【０１１８】
また、本実施形態では、ルート装置１０は、中継装置２０の属性情報と、中継装置２０のノード情報とを関連付けて記憶するノード情報記憶部１２４と、ノード情報記憶部１２４に、中継装置２０から受信した属性情報と、当該中継装置２０のノード情報とを関連付けて記憶させるノード属性登録部１３３を備えている。
これにより、ルート装置１０は、各中継装置２０の属性情報を把握することができるので、データ通信に貢献していない不要なノードを適切に管理することができる。
【０１１９】
また、本実施形態では、中継装置２０は、自装置がいずれの末端ノードからの最短経路又は冗長経路にも確定されていない場合には、電力コストの加算（“１”ホップ数の加算）を行って、算出コスト情報として算出する。また、ルート装置１０は、冗長経路履歴記憶部１２２が記憶している末端ノード情報が等しい冗長経路情報のうちで、経路コスト情報の値が最小の冗長経路情報を冗長経路として確定する。
これにより、経路コスト情報の値が小さい経路（短い経路）を優先して冗長経路として利用するので、本実施形態によるメッシュネットワークシステム１は、メッシュネットワークの消費電力をより低減することができる。
【０１２０】
また、本実施形態では、中継装置２０は、自装置が他の末端ノードからの最短経路又は冗長経路に既に確定されている場合に、電力コストの加算を行わずに、受信した経路コスト情報をそのまま算出コスト情報として算出する。
これにより、末端ノードからの最短経路又は冗長経路に既に確定されている中継装置２０を優先して冗長経路として利用するので、本実施形態によるメッシュネットワークシステム１は、ネットワークの構築において、データ通信に貢献していない不要なノードの数を増やすことができる。
【０１２１】
また、本実施形態では、ルート装置１０及び中継装置２０は、既に記録されている冗長経路情報に、冗長探索通知の発信元アドレス（末端ノード情報）と一致するものがある場合には、記録されている経路コスト情報と算出コスト情報を比較し、値が小さい方の冗長経路情報を冗長経路履歴記憶部（１２２，２２２）に記憶させる。
これにより、経路コスト情報の値が小さい経路（短い経路）を優先して冗長経路として利用するので、本実施形態によるメッシュネットワークシステム１は、メッシュネットワークの消費電力をより低減することができる。
【０１２２】
また、本実施形態では、中継装置２０は、冗長経路の探索処理において、経路確定フラグが“Ｙｅｓ”の経路情報に、冗長探索通知の発信元アドレス（末端ノード情報）と一致するものがあるか否かを判定し、一致するものがある場合に探索処理を終了する。すなわち、中継装置２０は、自装置が同じ末端ノードからの最短経路又は冗長経路に既に確定されている場合に、探索処理を終了する。
これにより、本実施形態によるメッシュネットワークシステム１は、既に最短経路又は冗長経路に確定している中継装置２０を新たな冗長経路として選定することを防ぐことができる。よって、本実施形態によるメッシュネットワークシステム１は、適切に冗長経路を確保できるように、メッシュネットワークを構築することができる。
【０１２３】
また、本実施形態によるメッシュネットワークの制御方法は、以下のように、算出ステップと、判定ステップと、転送ステップと、確定ステップとを含んでいる。算出ステップにおいて、中継装置２０が、冗長探索通知を発信した末端ノード情報と、送信元情報と、冗長経路の通信に関する電力コストを示す経路コスト情報とを含む冗長探索通知を受信した場合に、受信した冗長探索通知と、確定済経路情報（例えば、最短経路情報及び確定済みの冗長経路情報）とに基づいて、末端ノードから自装置までの算出コスト情報を算出する。また、判定ステップにおいて、中継装置２０が、冗長経路履歴記憶部２２２が既に記憶している冗長経路情報と、受信した当該冗長探索通知に基づき算出した当該算出コスト情報とに基づいて、冗長探索通知として受信した末端ノード情報及び送信元情報と、算出した当該算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に記憶させるか否かを判定する。転送ステップにおいて、中継装置２０が、受信した末端ノード情報及び送信元情報と、算出した当該算出コスト情報とを含む冗長経路情報を冗長経路履歴記憶部２２２に記憶させる場合に、算出した当該算出コスト情報を経路コスト情報として含む冗長探索通知を、自装置から直接通信可能な隣接ノードに転送する。そして、確定ステップにおいて、ルート装置１０が、冗長探索通知を受信し、受信した冗長探索通知に含まれる経路コスト情報及び末端ノード情報に基づいて、末端ノードごとの冗長経路を確定する。
これにより、本実施形態によるメッシュネットワークの制御方法は、冗長経路を確保しつつ、メッシュネットワークの消費電力を低減することができる。
【０１２４】
なお、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、第２通信部（１１２，２１１）が、無線ＬＡＮによるデータ通信を行う例を説明したが、これに限定されるものではない。例えば、第２通信部（１１２，２１１）は、他の無線通信を利用してデータ通信を行ってもよいし、有線接続によりデータ通信を行ってもよい。
【０１２５】
また、上記の実施形態において、中継装置２０が、自装置を自律的に低消費電力モードに変更する一例について説明したが、これに限定されるものではない。例えば、メッシュネットワークシステム１は、中継装置２０に外部から電源を供給し、ルート装置１０から制御可能な電源装置を備え、ルート装置１０が、データ通信に貢献していない不要なノードへの電源供給を外部から停止させてもよい。
【０１２６】
また、上記の実施形態において、メッシュネットワークシステム１が、最短経路を生成する一例について説明したが、最短経路が手動やシミュレーションなどで、予め生成されていて、最短経路履歴記憶部（１２１，２２１）に予め最短経路情報が記憶されていてもよい。また、最短経路の生成方法は、ＩＥＥＥ８０２．１１ｓのＨＷＭＰに限定されるものではなく、他の方式を利用して生成してもよい。
【０１２７】
また、上記の実施形態において、最短経路を探索した際に、最短経路履歴を記録する処理（図１１のステップＳ２０２）の後に、ノード属性を登録する処理（図１１のステップＳ２０３）を実行する場合について説明したが、これら２つの処理は、逆の順番で処理されてもよい。また、中継装置２０は、属性送信要求に応じて、ノードの属性情報を送信する場合について説明したが、最短経路の探索後に、属性送信要求を用いずに中継装置２０から自発的にノードの属性情報を送信してもよい。また、メッシュネットワークシステム１は、最短経路履歴を記録する処理を、冗長経路の探索処理の場合と同様の方式で行ってもよい。
【０１２８】
また、上記の実施形態において、ルート装置１０と中継装置２０とが、異なる構成である場合について説明したが、ルート装置１０が中継装置２０の機能を備える、又は中継装置２０がルート装置１０の機能を備えて２つの装置を兼用してもよい。例えば、自装置が通信の基点であるルートノードとなっている場合にはルート装置１０として動作し、それ以外の場合には中継装置２０として動作することとしてもよい。
【０１２９】
なお、上述したメッシュネットワークシステム１が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したメッシュネットワークシステム１が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したメッシュネットワークシステム１が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。
【０１３０】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にメッシュネットワークシステム１が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１３１】
また、上述した機能の一部又は全部を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【０１３２】
１  メッシュネットワークシステム
１０  ルート装置
１１  ルート通信部
１２  ルート記憶部
１３  ルート制御部
１４、２４  経路探索処理部
１５、２５  経路確定処理部
１１１  第１通信部
１１２、２１１  第２通信部
１２１、２２１  最短経路履歴記憶部
１２２、２２２  冗長経路履歴記憶部
１２３、２２３  隣接ノード記憶部
１２４  ノード情報記憶部
１２５  探索状態記憶部
１３１  センタ通信処理部
１３２、２３１  最短経路生成部
１３３  ノード属性登録部
１４１、２４１  経路探索パケット生成部
１４２、２４２  経路探索更新部
１４３  経路本数管理部
１５１、２５１  経路確定更新部
１５２、２５２  経路確定パケット生成部
１５３  経路確定判定部
１５４  経路確定タイマー部
２０，２０−１〜２０−７  中継装置
２１  中継通信部
２２  中継記憶部
２３  中継制御部
２２４  最短経路ノード記憶部
２２５  属性判定ルール記憶部
２２６  接続デバイス情報記憶部
２３２  自ノード属性判定部
２３３  属性通知パケット生成部
２３４  電源制御部
【図１】
2015170914.tif 000003
【図２】
2015170914.tif 000004
【図３】
2015170914.tif 000005
【図４】
2015170914.tif 000006
【図５】
2015170914.tif 000007
【図６】
2015170914.tif 000008
【図７】
2015170914.tif 000009
【図８】
2015170914.tif 000010
【図９】
2015170914.tif 000011
【図１０】
2015170914.tif 000012
【図１１】
2015170914.tif 000013
【図１２】
2015170914.tif 000014
【図１３】
2015170914.tif 000015
【図１４】
2015170914.tif 000016
【図１５】
2015170914.tif 000017
【図１６】
2015170914.tif 000018
【図１７】
2015170914.tif 000019
【図１８】
2015170914.tif 000020
【図１９】
2015170914.tif 000021
【図２０】
2015170914.tif 000022
【図２１】
2015170914.tif 000023