(57)【要約】  監視サーバ（１００）は、ネットワーク（ＳＮＥＴ）に含まれる接続ノード（ｃｎｄ）の各々について、通信ノードが有するセンサの測定領域（ｓａ）を示す測定領域情報（１０３）を取得する。監視サーバ（１００）は、配置領域（ａｒｅａ）を分割した複数の分割領域（ａ）を示す分割領域情報（１０２）を取得する。監視サーバ（１００）は、取得した分割領域情報（１０２）が示す複数の分割領域（ａ）の各々について、接続ノード（ｃｎｄ）のうち、取得した測定領域情報（１０３）が示す測定領域（ｓａ）に分割領域（ａ）の少なくとも一部が含まれる接続ノード（ｃｎｄ）の数に応じた値を導出する。監視サーバ（１００）は、複数の分割領域（ａ）の各々について導出した密度に応じて、ネットワーク（ＳＮＥＴ）に含まれる通信ノードを変更する制御を行う。
2015083224.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行することを特徴とする通信網制御方法。
【請求項２】
前記変更する制御を行う処理では、前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードから、前記複数の分割領域のうち導出した前記値に基づき選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードを前記通信網に追加することを特徴とする請求項１に記載の通信網制御方法。
【請求項３】
前記変更する制御を行う処理は、選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードへ前記通信網に加わることを指示する信号を送信することを特徴とする請求項２に記載の通信網制御方法。
【請求項４】
選択した前記分割領域は、前記複数の分割領域のうち、導出した前記値が最も小さい分割領域であることを特徴とする請求項２または３に記載の通信網制御方法。
【請求項５】
前記コンピュータが、
前記一部の通信ノードの各々について、前記通信ノードの通信可能領域を示す通信可能領域情報を取得し、
前記一部の通信ノードのうち、選択した前記分割領域の少なくとも一部を、取得した前記通信可能領域情報が示す通信可能領域に含む通信ノードを特定し、
前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードのうち、特定した前記通信ノードが直接アクセス可能な通信ノードを探索する、
処理を実行し、
前記変更する制御を行う処理では、探索した前記通信ノードを前記通信網に追加することを特徴とする請求項２〜４のいずれか一つに記載の通信網制御方法。
【請求項６】
前記変更する制御を行う処理では、前記一部の通信ノードのうち、前記複数の分割領域のうち導出した前記値に基づいて選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードから選択した通信ノードを前記通信網から除外することを特徴とする請求項１〜５のいずれか一つに記載の通信網制御方法。
【請求項７】
選択した前記分割領域は、前記複数の分割領域のうち、導出した前記値が最も大きい分割領域であることを特徴とする請求項５に記載の通信網制御方法。
【請求項８】
前記変更する制御を行う処理は、選択した前記通信ノードへ前記通信網から除外することを指示する信号を送信することを特徴とする請求項６または７に記載の通信網制御方法。
【請求項９】
前記コンピュータが、
前記一部の通信ノードのうち、前記複数の分割領域のうち導出した前記値に基づいて選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードの各々に対応して、前記複数の分割領域の各々について、前記通信網から前記通信ノードを除外した場合における前記通信網に含まれる通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出する処理を実行し、
選択した前記通信ノードは、選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードの各々に対応して導出した前記値に基づいて、選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードから選択した通信ノードであることを特徴とする請求項６〜８のいずれか一つに記載の通信網制御方法。
【請求項１０】
前記変更する制御を行う処理では、選択した前記通信ノードを前記通信網から除外した後に、前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードから、前記複数の分割領域のうち導出した前記値に基づき選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードを前記通信網に追加することを特徴とする請求項６〜９のいずれか一つに記載の通信網制御方法。
【請求項１１】
前記コンピュータが、
前記複数の分割領域のうち、導出した前記値が所定条件を満たさない分割領域がない場合、前記変更する制御を行う処理を実行せず、前記複数の分割領域のうち、導出した前記値が前記所定条件を満たさない分割領域がある場合、前記変更する制御を行う処理を実行することを特徴とする請求項１〜１０のいずれか一つに記載の通信網制御方法。
【請求項１２】
前記コンピュータが、
前記複数の通信ノードのうち位置が特定済みの通信ノードへ前記特定済みの通信ノードから所定強度の信号の送信を指示する信号を送信し、
前記一部の通信ノードのうち、前記特定済みの通信ノードのうち所定数以上の通信ノードから送信された前記所定強度の信号を受信した通信ノードから送信された、前記所定強度の信号の受信強度と前記所定強度の信号の送信元を示す識別情報との前記所定数の組み合わせを有する信号を受信し、
前記所定数の組み合わせに基づいて受信した前記通信ノードの位置を特定する処理を実行し、
前記測定領域情報を取得する処理では、特定した前記位置によって受信した前記通信ノードが有するセンサの測定領域を特定することにより、受信した前記通信ノードについて特定した前記測定領域を示す測定領域情報を取得することを特徴とする請求項１〜１１のいずれか一つに記載の通信網制御方法。
【請求項１３】
コンピュータに、
配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行させることを特徴とする通信網制御プログラム。
【請求項１４】
通信装置と、
配置領域に配置される複数の通信ノードと、
を有するシステムであって、
前記通信装置が、
前記複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行することを特徴とするシステム。
【請求項１５】
配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理をコンピュータに実行させることを特徴とする通信網制御プログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網制御方法、通信網制御プログラム、システム、および記録媒体に関する。
【背景技術】
【０００２】
従来、無線により接続可能な複数の通信ノードによってネットワークを構築する技術が公知である。例えば、送信先ノードから送信元ノードへ所定の通信経路によってパケットを送るときに、所定の通信経路上にある中間ノードのうち、送信先ノードからのホップカウントが最小となるノードと最大になるノードとのそれぞれの通信経路を設定する技術が公知である（例えば、以下特許文献１参照。）。また、例えば、無線により接続可能な複数のノードがあって、近傍のノードを検出し、クラスターを形成し、近傍のクラスター同士を接続してネットワークを構築する技術が公知である（例えば、以下特許文献２参照。）。また、例えば、クラスターにグループ化された複数のノードと該複数のノードと接続する複数の無線リンクとを有し、送り元ノードから目標ノードまでのルートを決定する技術が公知である（例えば、以下特許文献３参照。）。【０００３】
また、例えば、複数のセンサが無線通信によるネットワークにおいて、位置が予め判っている第１の基準センサと第２の基準センサの２個の基準センサを用い当該２個の基準センサとの距離情報に基づき、対象となる第３のセンサのセンサ位置を標定する技術が公知である（例えば、以下特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９４５２７号公報
【特許文献２】特開２００７−３６３６１号公報
【特許文献３】特表２００５−５２４３３７号公報
【特許文献４】特開２００９−２５０６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、配置した通信ノード群の一部をネットワークに含まれない冗長ノードとする場合に、冗長ノードの分布が均一でないと、ネットワークの信頼性を向上させることができないという問題点がある。【０００６】
１つの側面では、ネットワークの信頼性の向上を図ることができる通信網制御方法、通信網制御プログラム、システム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、本発明は、配置領域に設置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う通信網制御方法、通信網制御プログラム、システム、および記録媒体が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、信頼性の向上を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明にかかる監視サーバによる動作例を示す説明図である。
【図２】図２は、冗長ノードｒｎｄの偏り例を示す説明図である。
【図３】図３は、本発明にかかるシステムの利用例を示す説明図である。
【図４】図４は、センサノード１０１のハードウェア構成例を示すブロック図である。
【図５】図５は、監視サーバ１００のハードウェア構成例を示すブロック図である。
【図６】図６は、信号の基本データ構成例を示す説明図である。
【図７】図７は、各信号のデータ構成例を示す説明図（その１）である。
【図８】図８は、各信号のデータ構成例を示す説明図（その２）である。
【図９】図９は、監視サーバ１００の機能的構成例を示すブロック図である。
【図１０】図１０は、監視サーバ１００の記憶部９０４の記憶内容例を示す説明図である。
【図１１】図１１は、センサノード１０１の機能的構成例を示すブロック図である。
【図１２】図１２は、センサノード１０１の記憶部の記憶内容例を示す説明図である。
【図１３】図１３は、暫定ネットワークＳＮＥＴ構築についての動作シーケンス例を示す説明図である。
【図１４】図１４は、重複が少ないノード例を示す説明図である。
【図１５】図１５は、位置測定についての動作シーケンス例を示す説明図である。
【図１６】図１６は、分布密度解析例を示す説明図である。
【図１７】図１７は、接続・切り離しについての動作シーケンス例を示す説明図である。
【図１８】図１８は、監視サーバ１００による通信網制御処理手順例を示すフローチャートである。
【図１９】図１９は、監視サーバ１００による暫定ネットワーク構築処理手順例を示すフローチャート（その１）である。
【図２０】図２０は、監視サーバ１００による暫定ネットワーク構築処理手順例を示すフローチャート（その２）である。
【図２１】図２１は、監視サーバ１００による位置測定処理手順例を示すフローチャートである。
【図２２】図２２は、監視サーバ１００による分布密度解析処理手順例を示すフローチャートである。
【図２３】図２３は、監視サーバ１００による密度差解消処理手順例を示すフローチャートである。
【図２４】図２４は、監視サーバ１００による間引き処理手順例を示すフローチャートである。
【図２５】図２５は、監視サーバ１００によるノード追加処理手順例を示すフローチャートである。
【図２６】図２６は、センサノード１０１が行う処理手順例を示すフローチャート（その１）である。
【図２７】図２７は、センサノード１０１が行う処理手順例を示すフローチャート（その２）である。
【図２８】図２８は、センサノード１０１が行う処理手順例を示すフローチャート（その３）である。
【図２９】図２９は、センサノード１０１が行う処理手順例を示すフローチャート（その４）である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる通信網制御方法、通信網制御プログラム、システム、および記録媒体の実施の形態を詳細に説明する。
【００１１】
図１は、本発明にかかる監視サーバによる動作例を示す説明図である。監視サーバ１００は、配置領域ａｒｅａに配置される複数のセンサノード１０１のうち、ネットワークＳＮＥＴの構築を制御するコンピュータであり、複数のセンサノード１０１と通信可能な通信装置である。センサノード１０１は、センサと小型の無線通信回路を有する通信ノードである。センサノード１０１が互いに通信を行うことにより通信網を形成する。通信網は、ネットワークＳＮＥＴと称する。
【００１２】
配置領域ａｒｅａに配置される複数のセンサノード１０１のうち、一部のセンサノード１０１は、ネットワークＳＮＥＴに含まれるが、残余のセンサノード１０１は、ネットワークＳＮＥＴに含まれない。ここで、ネットワークＳＮＥＴに含まれるセンサノード１０１を接続ノードｃｎｄとも称する。また、複数のセンサノード１０１のうち、接続ノードｃｎｄ以外のセンサノード１０１は、冗長ノードｒｎｄとも称する。後述する詳細な実施例では、監視サーバ１００によってネットワークＳＮＥＴが構築されるが、ここではネットワークＳＮＥＴは構築済みである。図１では、接続ノードｃｎｄ間は線によって接続されているが、上述したように実際には接続ノードｃｎｄ間は無線通信によって接続される。
【００１３】
システムの運用中に、接続ノードｃｎｄは、センサの測定動作、測定動作によって得られたデータの送信動作、他の接続ノードｃｎｄからのデータの転送動作などを行うが、冗長ノードｒｎｄは、測定動作、データの転送動作などを行わない。そのため、冗長ノードｒｎｄは、経年劣化の度合いが接続ノードｃｎｄと比較して低い。例えば長期間稼働して経年劣化などによって故障した接続ノードｃｎｄがあるときに、当該故障した接続ノードｃｎｄの周辺にある冗長ノードｒｎｄがあらたにネットワークＳＮＥＴに追加されれば、長期的に配置領域ａｒｅａ内の測定動作を行うことができる。そのため、システムの信頼性を向上させることができる。
【００１４】
しかしながら、故障した接続ノードｃｎｄの周辺に冗長ノードｒｎｄがない場合、配置領域ａｒｅａのうち故障した接続ノードｃｎｄが配置された周辺の領域が測定されなくなる。そのため、一部のセンサノード１０１を冗長ノードｒｎｄとする場合、複数のセンサノード１０１が配置領域ａｒｅａ内に均一に配置されてあっても、冗長ノードｒｎｄが均一に配置されていなければ、信頼性が低下することになる。
【００１５】
そこで、本実施の形態では、配置領域ａｒｅａの分割領域ａごとに、該分割領域ａを測定領域ｓａに少なくとも一部が含まれるネットワークＳＮＥＴの接続ノードｃｎｄの数を解析し、解析結果によってネットワークＳＮＥＴの接続ノードｃｎｄを変更する。これにより、冗長ノードｒｎｄの分布を均一化させることができ、信頼性の向上を図ることができる。
【００１６】
まず、監視サーバ１００は、ネットワークＳＮＥＴに含まれる接続ノードｃｎｄの各々について、前記通信ノードが有するセンサの測定領域ｓａを示す測定領域情報１０３を取得する。例えば、センサノード１０１−１の測定領域ｓａは、測定領域ｓａ−１である。測定領域ｓａについては、センサノード１０１の位置とセンサノード１０１が有するセンサの測定可能距離とによって表される。例えば、センサノード１０１の位置は、緯度や経度などであってもよいし、配置領域ａｒｅａ内の相対的な位置であってもよい。配置領域ａｒｅａ内の相対的な位置とは、例えば、配置領域ａｒｅａを模擬するシミュレーション空間上に定義された軸に基づく座標である。より具体的には、図１に示すように配置領域ａｒｅａが四角形であれば、左下角を原点とした場合の座標であってもよい。測定領域情報１０３の取得方法としては、例えば、監視サーバ１００は、暫定ネットワークＳＮＥＴを構築する際にセンサノード１０１へ位置の測定を指示する信号を送信することにより、当該信号に対する応答信号として各センサノード１０１の位置を取得する。ここで、ネットワークＳＮＥＴでは、送信先と送信元との距離が信号を直接通信可能な距離以内でない場合、マルチホップ通信を利用したリレー転送によって信号を送信先から送信元まで到達させる。
【００１７】
つぎに、監視サーバ１００は、配置領域ａｒｅａを分割した複数の分割領域ａを示す分割領域情報１０２を取得する。ここでは、監視サーバ１００は、配置領域ａｒｅａを物理的に分割するのではない。監視サーバ１００は、配置領域ａｒｅａを模擬するシミュレーション空間上において配置領域ａｒｅａを複数の分割領域ａに分割し、分割領域ａを示す分割領域情報１０２を生成することにより、分割領域情報１０２を取得する。分割領域情報１０２は、センサノード１０１の位置と同様に緯度や経度などによって表されてもよいし、シミュレーション空間上に定義された軸に基づく座標であってもよい。具体的には、監視サーバ１００は、所定サイズによって配置領域ａｒｅａを分割する。所定サイズは、予め開発者によって定められる。所定サイズが小さいほど、後述する密度がより詳細に特定可能となる。ここでは、配置領域ａｒｅａは、ａ１〜ａ２５までの２５の分割領域ａに分割される。図１では、ａ１〜ａ２５の符号の一部を省略して記載する。
【００１８】
つぎに、監視サーバ１００は、分割領域情報１０２が示す複数の分割領域ａの各々について、接続ノードｃｎｄのうち、取得した測定領域情報１０３が示す測定領域ｓａに分割領域ａの少なくとも一部が含まれる接続ノードｃｎｄの数に応じた値を導出する。ここで、導出される値を密度とも称する。これにより、配置領域ａｒｅａの分布密度が特定可能となる。ここでは、例えば分割領域ａに対応する密度が大きい値であるほど、密度が高いとし、分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄの数が多いとする。これに対して、例えば分割領域ａに対応する密度が小さい値であるほど、密度が低いとし、分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄの数が少ないとする。図１の例では、分割領域ａ２２の密度が最も低く、分割領域ａ１９の密度が最も高い。図１の例では、測定領域ｓａに分割領域ａの少なくとも一部が含まれる接続ノードｃｎｄの数そのものを密度としているが、監視サーバ１００は、測定領域ｓａと分割領域ａとの重複度合いに基づいて密度を増加させる増加量を変えてもよい。
【００１９】
つぎに、監視サーバ１００は、複数の分割領域ａの各々について導出した密度に応じて、ネットワークＳＮＥＴに含まれる通信ノードを変更する制御を行う。例えば、密度が低い分割領域ａについては、冗長ノードｒｎｄの数が多い可能性が高い。換言すると、密度が低い分割領域ａについては、接続ノードｃｎｄの数が少ない可能性が高い。そのため、現状の分割領域ａの測定が行われない可能性が高い。そこで、監視サーバ１００は、複数の冗長ノードｒｎｄから、複数の分割領域ａのうち導出した密度に基づき選択した分割領域ａの少なくとも一部を冗長ノードｒｎｄが有するセンサの測定領域ｓａに含む冗長ノードｒｎｄをネットワークＳＮＥＴに追加する。例えば、選択された分割領域ａは、最も密度が低い分割領域ａであってもよい。または、例えば、監視サーバ１００は、複数の分割領域ａのうち導出した密度が所定条件を満たさない分割領域ａを選択する。所定条件とは、密度が閾値より大きいことや平均の密度との差が特定値より小さいことなどが挙げられる。例えば、そのため、選択された分割領域ａは、密度が閾値以下の分割領域ａであってもよいし、平均の密度より特定値以上小さい分割領域ａなどであってもよい。閾値や特定値とは、開発者によって定められた値である。
【００２０】
ここで、ネットワークＳＮＥＴへ加わることをネットワークＳＮＥＴへ接続するとも称する。より具体的には、監視サーバ１００は、ネットワークＳＮＥＴへの接続を指示する信号を選択した分割領域ａの少なくとも一部をセンサの測定領域ｓａに含む冗長ノードｒｎｄへ送信する。これにより、送信先の冗長ノードｒｎｄが信号を受信することにより、冗長ノードｒｎｄをネットワークＳＮＥＴに追加することができる。また、いずれの冗長ノードｒｎｄを追加するかなどの詳細については後述する。図１の例では、分割領域ａ２２が最も密度が低い分割領域である。そのため、センサノード１０１−３がネットワークＳＮＥＴに追加される。
【００２１】
また、例えば、密度が高い分割領域ａについては、冗長ノードｒｎｄの数が少ない可能性が高い。そのため、分割領域ａの一部を測定領域ｓａに含む接続ノードｃｎｄの故障時に追加可能な冗長ノードｒｎｄがない。そこで、具体的に、監視サーバ１００は、複数の分割領域ａのうち、導出した密度に基づいて選択した分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄからいずれかの接続ノードｃｎｄをネットワークＳＮＥＴから除外する。例えば、選択された分割領域ａは、複数の分割領域ａのうち、導出された密度が最も大きい分割領域ａであってもよいし、密度が閾値より大きい分割領域ａであってもよいし、平均の密度より特定値以上大きい分割領域ａなどであってもよい。閾値や特定値とは、開発者によって定められた値である。
【００２２】
ここで、ネットワークＳＮＥＴから外すことをネットワークＳＮＥＴから切り離すとも称する。より具体的には、監視サーバ１００は、ネットワークＳＮＥＴからの切り離しを指示する信号をいずれかの接続ノードｃｎｄへ送信する。いずれかの接続ノードｃｎｄが、当該信号を受信することにより、ネットワークＳＮＥＴから外れて冗長ノードｒｎｄとなる。また、いずれの接続ノードｃｎｄを切り離すかなどの詳細については後述する。図１の例では、分割領域ａ１９が最も密度が高い分割領域である。そのため、センサノード１０１−２がネットワークＳＮＥＴから除外される。
【００２３】
また、例えば、接続ノードｃｎｄの数を規定数として定めておき、接続ノードｃｎｄ数が規定数を超えないようにネットワークＳＮＥＴへの接続処理やネットワークＳＮＥＴからの切り離し処理を行う。これにより、冗長ノードｒｎｄの過多または過少を抑止でき、配置領域ａｒｅａ内に冗長ノードｒｎｄが均等に設けられるようになる。
【００２４】
図２は、冗長ノードｒｎｄの偏り例を示す説明図である。図２（ａ）には、接続ノードｃｎｄが配置領域ａｒｅａ内に均等に分布している例である。これに対して、図２（ｂ）には、接続ノードｃｎｄが配置領域ａｒｅａに均等に分布していない例である。図２（ｂ）に示すように、配置領域ａｒｅａのうち冗長ノードｒｎｄが固まって配置される領域については、センサによって測定できない。また、ネットワークＳＮＥＴを構築する接続ノードｃｎｄの数が決まっていると、冗長ノードｒｎｄが少なく、かつ接続ノードｃｎｄが固まって配置される領域については、接続ノードｃｎｄが故障した際に替わりとなる冗長ノードｒｎｄがない場合がある。そのため、図２（ａ）のように、接続ノードｃｎｄおよび冗長ノードｒｎｄが均等に配置されるとよい。そこで、図１で説明した監視サーバ１００による通信網制御処理によれば、冗長ノードｃｎｄを均等に分布させることができる。
【００２５】
図３は、本発明にかかるシステムの利用例を示す説明図である。システム３００は、センサノード１０１が互いに通信を行うことによりネットワークＳＮＥＴを形成し、センサのデータを収集できるセンサネットワークシステムである。システム３００は、複数のセンサノード１０１と、監視サーバ１００と、を有する。例えば、図３のシステム３００では、複数のセンサノード１０１を斜面などの配置領域ａｒｅａに設け、センサノード１０１に含まれるセンサなどによって斜面の崩落を監視する。また、斜面に限らず、例えば、複数のセンサノード１０１は圃場や建造物などのコンクリート、土、水、空気などの物質で満たされた配置領域ａｒｅａに設けられてもよい。また、センサノード１０１に含まれるセンサは、例えば、温度や水分量、振動などを測定してもよい。また、管理サーバは、例えば、ゲートウェイ３０１と、アグリゲータａｇと、を介して複数のセンサノード１０１と無線通信する。アグリゲータａｇについては、例えば、複数のセンサノード１０１に含まれるセンサノード１０１であってもよい。図３の例では、アグリゲータａｇは、センサノード１０１−１である。ゲートウェイ３０１は、監視サーバ１００からの信号をアグリゲータａｇへ送信し、アグリゲータａｇからの信号を監視サーバ１００へ送信する。
【００２６】
また、本実施の形態では、複数のセンサノード１０１のうち極少数のセンサノード１０１は、ＧＰＳのように自センサによって位置を測定可能であってもよいし、システム３００の開発者によって位置情報が登録されてもよい。監視サーバ１００は、これらの一部のセンサノード１０１の位置を示す位置情報によって接続ノードｃｎｄの位置を測定してもよい。詳細な測定例については、後述する。ここで、監視サーバ１００は、位置を特定しているセンサノード１０１を基準点ノードとも称する。
【００２７】
（センサノード１０１のハードウェア構成例）
図４は、センサノード１０１のハードウェア構成例を示すブロック図である。センサノード１０１は、センサ４０１と、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）４０２と、タイマ４０３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０５と、不揮発メモリ４０６と、を有する。また、センサノード１０１は、近距離無線回路４０８と、アンテナ４０９と、電源管理ユニット４１０と、バッテリ４１１と、ハーベスタ４１２と、などを有する。また、センサノード１０１は、センサ４０１と、ＭＣＵ４０２と、タイマ４０３と、ＲＯＭ４０４と、ＲＡＭ４０５と、不揮発メモリ４０６と、を接続する内部バス４０７を有する。また、図４中、点線は電源線を示し、実線は信号線を示す。
【００２８】
センサ４０１は、設置箇所における所定の変位量を検出する。センサ４０１は、例えば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。上述したように、センサ４０１によって測定可能な領域は測定領域ｓａである。センサノード１０１の位置から所定距離以内の領域が測定領域ｓａである。所定距離についてはセンサ４０１の種類や性能によって異なる。
【００２９】
アンテナ４０９は、他のセンサノード１０１やゲートウェイ３０１と無線通信する電波を送受信する。例えば、近距離無線回路４０８は、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）である。近距離無線回路４０８は、アンテナ４０９を介して受信した無線電波を受信信号として出力する受信回路４２２と、送信信号を無線電波としてアンテナ４０９を介して送信する送信回路４２１と、を有する。送信回路４２１の送信電力はＭＣＵ４０２によって変更可能としてもよい。また、本実施の形態では、例えば、送信回路４２１の送信電力は、予め定められた距離までに信号が到達可能となるように設定される。
【００３０】
ＭＣＵ４０２は、例えばＲＯＭ４０４に記憶されたプログラムをＲＡＭ４０５にロードして実行することにより、センサノード１０１の全体の制御やデータ処理を行う制御部である。例えば、ＭＣＵ４０２は、センサ４０１が検出したデータを処理する。タイマ４０３は、例えば、ＭＣＵ４０２などによって設定された時間をカウントする。本実施の形態では、例えば、タイマ４０３は、自発的にセンサ４０１によってセンシングするためのセンシング間隔をカウントする。また、例えば、タイマ４０３は、後述する実施例２において、近距離無線回路４０８を停止する所定期間をカウントする。
【００３１】
ＲＯＭ４０４は、ＭＣＵ４０２が実行するプログラムなどを格納する記憶部である。ＲＡＭ４０５は、ＭＣＵ４０２における処理の一時データを格納する記憶部である。不揮発メモリ４０６は、書き込み可能なメモリであって、電力供給が途絶えたときなどにおいても書き込まれた所定のデータを保持する記憶部である。例えば、書き込み可能な不揮発メモリ４０６としては、フラッシュメモリが挙げられる。ＲＯＭ４０４、ＲＡＭ４０５、不揮発メモリ４０６などの記憶部には、例えば、後述する周辺ノードリスト、停止ノードリスト、受信した各信号などの各情報が記憶される。
【００３２】
ハーベスタ４１２は、センサノード１０１の設置箇所における外部環境、例えば、光、振動、温度、無線電波などのエネルギー変化に基づき発電を行う。図４の例では、ハーベスタ４１２が１つだけ設けられているが、これに限らず、同一種類のハーベスタ４１２が複数設けられていてもよいし、異なる種類のハーベスタ４１２が複数設けられていてもよい。ハーベスタ４１２は、センサ４０１によって検出された変位量に応じて発電を行ってもよいし、近距離無線回路４０８によって受信された受信電波の変位量に応じて発電を行ってもよい。バッテリ４１１は、ハーベスタ４１２により発電された電力を蓄える。すなわち、センサノード１０１は、一次電池や外部電源などが設けられず、動作に要する電力を自装置の内部で生成する。電源管理ユニット４１０は、バッテリ４１１によって蓄えられた電力を、センサノード１０１の各部に駆動電源として供給する制御を行う。
【００３３】
（監視サーバ１００のハードウェア構成例）
図５は、監視サーバ１００のハードウェア構成例を示すブロック図である。監視サーバ１００は、センサノード１０１と異なり、外部電源に基づき動作する。監視サーバ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１と、タイマ５０２と、ＲＯＭ５０３と、ＲＡＭ５０４と、ディスクドライブ５０５と、ディスク５０６と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）回路５０７と、を有する。監視サーバ１００は、ＣＰＵ５０１と、タイマ５０２と、ＲＯＭ５０３と、ＲＡＭ５０４と、ディスクドライブ５０５と、Ｉ／Ｏ回路５０７と、を接続する内部バス５１１を有する。
【００３４】
ここで、ＣＰＵ５０１は、監視サーバ１００の全体の制御を司る制御部である。ＲＯＭ５０３は、ブートプログラムなどのプログラムを記憶する記憶部である。ＲＡＭ５０４は、ＣＰＵ５０１のワークエリアとして使用される記憶部である。ディスクドライブ５０５は、ＣＰＵ５０１の制御にしたがってディスク５０６に対するデータのリード／ライトを制御する。ディスク５０６は、ディスクドライブ５０５の制御で書き込まれたデータを記憶する記憶部である。ディスク５０６としては、磁気ディスク、光ディスクなどが挙げられる。
【００３５】
また、Ｉ／Ｏ回路５０７には、無線通信回路５０８およびアンテナ５０９が接続される。これにより、監視サーバ１００は、無線通信回路５０８およびアンテナ５０９を介してゲートウェイ３０１と無線通信することにより、センサノード１０１と無線通信することができる。また、Ｉ／Ｏ回路５０７にはネットワークＩ／Ｆ５１０が接続される。これにより、監視サーバ１００は、ネットワークＩ／Ｆ５１０を介して、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のプロトコル処理などにより、インターネットなどのネットワークＮＥＴを介して利用者端末３０２などの外部装置と通信を行うことができる。また、ネットワークＩ／Ｆ５１０による通信には、有線通信や無線通信を適用することができる。
【００３６】
また、図示していないが、キーボード、マウス、タッチパネルなどの入力装置を監視サーバ１００に設けてもよい。これにより、開発者が入力装置を介して監視サーバ１００を直接操作することが可能となる。また、例えば、ディスプレイ、プリンタ、ブザーなどの出力装置を監視サーバ１００に設けてもよい。また、ゲートウェイ３０１についても同様の構成であってよい。
【００３７】
図６は、信号の基本データ構成例を示す説明図である。信号の基本構成は、ヘッダと、コマンドと、リレー方向と、付加情報と、データと、を有する。ヘッダは、通信プロトコルに基づいて付与されるものである。近距離無線で通信であるセンサノード１０１間の通信と、遠距離無線または有線である監視サーバ１００とアグリゲータａｇとの間の通信と、では通信プロトコルが異なる。そのため、本実施の形態では、複数のセンサノード１０１と監視サーバ１００とを中継するアグリゲートによって各信号ヘッダの付け替えが行われる。
【００３８】
コマンドは、各信号の種別を示す情報である。リレー方向は、どのような送信先であるかを示す情報である。リレー方向としては、Ｐ２Ｐと、ノードと、アグリゲータａｇと、ブロードキャストと、の４種類がある。付加情報は、リレー方向がいずれの種類であるかに応じて異なる。
【００３９】
リレー方向がＰ２Ｐである場合、信号が親ノードと子ノードとの間を送受信されることを示し、付加情報は、送信元を示す識別情報と送信先を示す識別情報とを有する。周辺の接続ノードｃｎｄとの間には、親子関係がある。アグリゲータａｇからの信号の転送時に、送信元となるのが親ノードであり、送信先となるのが子ノードである。アグリゲータａｇへの信号の転送時に、送信元となるのが子ノードであり、送信先となるのが親ノードである。いずれのセンサノード１０１が親ノードであるか、いずれのセンサノード１０１が子ノードであるかなどについては、不揮発メモリ４０６などに記憶される。リレー方向がノードである場合、信号がアグリゲータａｇから指定されたセンサノード１０１にリレー転送によって送信されることを示し、付加情報は、リレー情報を有する。リレー方向がアグリゲータａｇである場合、信号があるセンサノード１０１からアグリゲータａｇへ送信されることを示す。この場合、リレー転送時に各センサノード１０１が親ノードを送信先として信号を転送することによって、信号がアグリゲータａｇまで到達可能であるため、付加情報は、送信元を示す識別情報のみを有する。リレー方向がブロードキャストである場合、信号が周辺のセンサノード１０１全体に送信されるため、付加情報は、送信元を示す識別情報のみを有する。
【００４０】
また、リレー情報は、ホップ回数と、１段目のセンサノード１０１のアドレス、２段目のセンサノード１０１のアドレスなどの信号が経由したセンサノード１０１のアドレスと、を有する。
【００４１】
図７および図８は、各信号のデータ構成例を示す説明図である。センサノード１０１または監視サーバ１００が送信または受信する信号には、探索指示信号ｓ１と、探索信号ｓ２と、探索応答信号ｓ３と、探索結果信号ｓ４と、集約探索結果信号ｓ５と、ネットワーク構築指示信号ｓ６と、測定信号出力指示信号ｓ７と、がある。さらに、センサノード１０１または監視サーバ１００が送信または受信する信号には、測定信号ｓ８と、測定結果信号ｓ９と、接続指示信号ｓ１０と、接続要求信号ｓ１１と、切り離し指示信号ｓ１２と、離脱要求信号ｓ１３と、がある。
【００４２】
まず、探索指示信号ｓ１は、監視サーバ１００がセンサノード１０１に対して、自センサノード１０１が所定強度で送信した信号に対して応答可能なセンサノード１０１の探索を指示する信号である。探索指示信号ｓ１は、ヘッダと、コマンドとして探索指示を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、を有する。
【００４３】
探索信号ｓ２は、監視サーバ１００によって指示されたセンサノード１０１が応答可能なセンサノード１０１を探索する信号である。探索信号ｓ２は、ヘッダと、コマンドとして探索を示す情報と、リレー方向としてブロードキャストを示す情報と、付加情報として送信元を示す識別情報と、を有する。
【００４４】
探索応答信号ｓ３は、探索信号ｓ２に対する応答を示す信号である。探索応答信号ｓ３は、ヘッダと、コマンドとして探索応答を示す情報と、リレー方向としてＰ２Ｐを示す情報と、付加情報として送信先を示す識別情報および送信元を示す識別情報と、データとして位置情報と、を有する。ここでの送信先は探索信号ｓ２の送信元である。ここでＧＰＳのように自センサによって位置を測定可能なセンサノード１０１は探索応答信号ｓ３に位置を示す位置情報を探索応答信号ｓ３に含める。ここで、自センサによって位置を測定可能なセンサノード１０１を基準点ノードとも称する。
【００４５】
探索結果信号ｓ４は、受信した探索応答信号ｓ３に基づく探索結果を有する信号である。例えば、探索結果は、探索されたセンサノード１０１を示す識別情報のリストである。探索結果信号ｓ４は、ヘッダと、コマンドとして探索結果を示す情報と、リレー方向としてＰ２Ｐを示す情報と、付加情報として親ノードの送信先を示す識別情報および送信元を示す識別情報と、を有する。さらに、探索結果信号ｓ４は、データとして発見ノード数とノードを示す識別情報と位置情報などと、を有する。
【００４６】
集約探索結果信号ｓ５は、親ノードが受信した各探索結果信号ｓ４に基づいて集約した結果を有する信号である。例えば、集約探索結果信号ｓ５では、探索結果信号ｓ４に含まれる探索結果を子ノードごとに並べられる。これにより、集約探索結果信号ｓ５によってどの子ノードがどのノードを探索できたのかを判別可能となる。また、これにより、ネットワークＳＮＥＴ構築において、いずれのセンサノード１０１を子ノードとして接続したのかが判別可能となる。集約探索結果信号ｓ５は、ヘッダと、コマンドとして集約探索結果を示す情報と、リレー方向としてアグリゲータａｇを示す情報と、付加情報として送信元を示す識別情報と、を有する。さらに、集約探索結果信号ｓ５は、データとして子ノード数と、子ノードごとに子ノードを示す識別情報と発見ノード数と子ノードが探索したノードアドレスとなどと、を有する。
【００４７】
ネットワーク構築指示信号ｓ６は、監視サーバ１００がセンサノード１０１に対して、ネットワークＳＮＥＴの構築を指示する信号である。ネットワーク構築指示信号ｓ６は、ヘッダと、コマンドとしてネットワークＳＮＥＴ構築指示を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、基準点ノード数と、基準点ノードを示す識別情報などと、を有する。
【００４８】
測定信号出力指示信号ｓ７は、監視サーバ１００がセンサノード１０１に対して位置を測定するための測定信号ｓ８の出力を指示する信号である。測定信号出力指示信号ｓ７は、ヘッダと、コマンドとして測定信号出力指示信号ｓ７を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、を有する。
【００４９】
測定信号ｓ８は、位置を測定するための信号であり、所定強度によって送信される信号である。測定信号ｓ８は、ヘッダと、コマンドとして測定信号ｓ８を示す情報と、リレー方向としてブロードキャストを示す情報と、付加情報として送信元を示す識別情報と、を有する。
【００５０】
測定結果信号ｓ９は、測定信号ｓ８による位置の測定結果を有する信号である。測定結果信号ｓ９は、ヘッダと、コマンドとして測定結果を示す情報と、リレー方向としてアグリゲータａｇを示す情報と、付加情報として送信元を示す識別情報と、を有する。さらに、測定結果信号ｓ９は、データとして、受信された測定信号ｓ８の送信元である基準点ノードを示す識別情報と受信強度との組み合わせを３つと、を有する。
【００５１】
接続指示信号ｓ１０は、対象のセンサノード１０１を子ノードとして接続することを指示する信号である。接続指示信号ｓ１０は、ヘッダと、コマンドとして接続指示を示す情報と、リレー方向としてノードを示す情報と、付加情報として接続対象のセンサノード１０１のリレー情報と、接続対象ノードを示す識別情報と、を有する。
【００５２】
接続要求信号ｓ１１は、接続指示信号ｓ１０によって指示された対象のセンサノード１０１に自センサノード１０１を親ノードとして接続することを要求する信号である。接続要求信号ｓ１１は、ヘッダと、コマンドとして接続要求を示す情報と、リレー方向としてノードを示す情報と、付加情報として送信元と送信先とを示す識別情報と、を有する。
【００５３】
切り離し指示信号ｓ１２は、監視サーバ１００がセンサノード１０１に対してネットワークＳＮＥＴからの切り離しを指示する信号である。切り離し指示信号ｓ１２は、ヘッダと、コマンドとして切り離し指示を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、を有する。
【００５４】
離脱要求信号ｓ１３は、センサノード１０１が親ノードに対して、親子関係の離脱を要求する信号である。離脱要求信号ｓ１３は、ヘッダと、コマンドとして離脱要求を示す情報と、リレー方向としてＰ２Ｐと、付加情報として送信先を示す識別情報および送信元を示す識別情報と、を有する。送信先を示す識別情報としては、親ノードを示す識別情報が設定される。
【００５５】
（監視サーバ１００の機能的構成例）
図９は、監視サーバ１００の機能的構成例を示すブロック図である。監視サーバ１００は、制御部９０１と、受信部９０２と、送信部９０３と、記憶部９０４と、を有する。受信部９０２および送信部９０３は、無線通信回路によって実現される。記憶部９０４は、例えば、ＲＡＭ５０４やディスク５０６などの記憶装置によって実現される。制御部９０１は、例えば、記憶部９０４に記憶されたプログラムをＣＰＵ５０１が読み出し、プログラムにコーディングされた処理を実行することによって実現される。制御部９０１による各種処理結果は、記憶部９０４に記憶されることとする。
【００５６】
図１０は、監視サーバ１００の記憶部９０４の記憶内容例を示す説明図である。記憶部９０４は、例えば、ノード管理情報１００１と、基準点ノード情報１０００と、閾値ｔｈと、規定数ｎｎと、を有する。閾値ｔｈは、密度が低いか否かを判定するための値であり、システム３００の開発者によって定められた値である。規定数ｎｎは、ネットワークＳＮＥＴに含まれる最大のセンサノードの数であり、システム３００の開発者によって定められた値である。例えば、規定数ｎｎは、センサノード１０１の全体数の１／２などとする。最大子ノード数ｍｎは、各センサノード１０１が子ノードとして接続可能なセンサノードの数であり、システム３００の開発者によって定められた値である。例えば、最大子ノード数ｍｎは、各センサノード１０１が信号を転送可能な消費電力量を基準に定めてもよい。転送可能な消費電力量は、例えば、バッテリ４１１に蓄電可能な電力量や各信号の受信および送信に要する消費電力量などによって定まる。
【００５７】
ノード管理情報１００１は、センサノード１０１ごとの親ノードと子ノードと周辺ノードとを示す情報である。例えば、ノード管理情報１００１は、ノードＩＤと、ノード種別と、位置情報と、親ノードＩＤと、子ノード数と、子ノードＩＤと、周辺ノード数と、周辺ノードＩＤと、のフィールドを有する。各フィールドに情報が設定されることにより、レコード（１００１−ｉ）として記憶される。ノードＩＤのフィールドには、センサノード１０１を一意に特定可能な識別情報が設定される。ノード種別のフィールドには、センサノード１０１がいずれの種別であるかが設置される。ここでは、ノード種別としては、アグリゲータａｇ、基準点ノード、通常ノード、冗長ノードｒｎｄがある。通常ノードとは事前に位置が不明であるノードであって、位置測定が行われていないまたは位置測定によって位置が判明しなかったノードである。冗長ノードｒｎｄは、切り離し指示によって切り離されたノードである。ネットワークＳＮＥＴに一度も加入していないノードについても冗長ノードｒｎｄではあるが、監視サーバ１００は、そのセンサノード１０１を示す識別情報などを判別できないため、ノード管理情報１００１に設定できない。そのため、ノード種別として冗長ノードｒｎｄが設定されているセンサノード１０１は、ネットワークＳＮＥＴに一端加入後、切り離し指示によってネットワークＳＮＥＴから切り離されたノードである。
【００５８】
位置情報のフィールドには、センサノード１０１の位置を示す位置情報が設定される。親ノードＩＤのフィールドには、接続された親ノードを一意に識別可能な識別情報が設定される。子ノード数のフィールドには、接続された子ノードの数が設置される。子ノードＩＤのフィールドには、子ノードを一意に識別可能な識別情報が設定される。周辺ノード数のフィールドには、探索された周辺ノードの数が設定される。周辺ノードＩＤのフィールドには、探索された周辺のセンサノード１０１を一意に識別可能な識別情報が設定される。
【００５９】
基準点ノード情報１０００は、基準点ノードごとに位置情報を記憶する情報である。基準点ノード情報１０００は、基準点ノードＩＤと、位置情報と、のフィールドを有する。各フィールドに情報が設定されることにより、レコード（１０００−ｊ）として記憶される。基準点ノードＩＤのフィールドには、基準点ノードを示す識別情報が設定される。位置情報のフィールドには、基準点ノードの位置を示す情報が設定される。位置を示す情報は、例えば、緯度と経度であってもよいし、監視サーバ１００の位置が明確である場合、監視サーバ１００と基準点ノードとの間の距離であってもよいし、特に限定しない。
【００６０】
図９の説明に戻って、受信部９０２は、アグリゲータａｇからの各種信号を受信する機能を有する。送信部９０３は、アグリゲータａｇへ各種信号を送信する機能を有する。また、制御部９０１は、暫定ネットワーク構築処理と、位置測定処理と、ノード分布密度解析処理と、密度差解消処理と、を行う。また、制御部９０１は、送信部９０３によって送信される信号を生成する機能や受信部９０２によって受信された信号を解析する機能を有する。
【００６１】
（センサノード１０１の機能的構成例）
図１１は、センサノード１０１の機能的構成例を示すブロック図である。センサノード１０１は、制御部１１０１と、受信部１１０２と、送信部１１０３と、記憶部１１０４と、を有する。受信部１１０２は、受信回路４２２によって実現される。送信部１１０３は、送信回路４２１によって実現される。記憶部１１０４は、例えば、ＲＡＭ４０５や不揮発メモリ４０６などの記憶装置によって実現される。制御部１１０１は、例えば、記憶部１１０４に記憶されたプログラムをＭＣＵ４０２が読み出し、プログラムにコーディングされた処理を実行することによって実現される。制御部１１０１による各種処理結果は、記憶部１１０４に記憶されることとする。
【００６２】
図１２は、センサノード１０１の記憶部の記憶内容例を示す説明図である。記憶部１１０４は、例えば、自センサノードＩＤと、接続情報１２００と、位置測定情報１２０１と、を有する。
【００６３】
自センサノードＩＤは、センサノード１０１を一意に特定可能な識別情報である。センサノードの運用開始時に各センサノードにナンバリングしてもよいし、出荷時のセンサノードのシリアルコードなどを自センサノードＩＤとして流用してもよい。接続情報１２００は、ネットワークＳＮＥＴに含まれる場合に、親ノードと、子ノードと、を識別可能な情報である。例えば、接続情報１２００は、親ノードＩＤと、子ノード数と、子ノードＩＤと、のフィールドを有する。親ノードＩＤのフィールドには、親ノードを一意に識別可能な識別情報が設定される。センサノード１０１がアグリゲータａｇである場合、親ノードがないため、親ノードＩＤのフィールドには何も設定されない。子ノード数のフィールドには、子ノードの数が設定される。子ノードＩＤのフィールドには、子ノードを一意に識別可能な識別情報が設定される。各フィールドに情報が設定されることにより、レコード（１２００−ｋ）として記憶される。
【００６４】
位置測定情報１２０１は、送信元ＩＤと、受信強度と、のフィールドを有する。送信元ＩＤのフィールドには、後述する測定信号ｓ８の送信元を一意に識別可能な識別情報が設定される。受信強度のフィールドには、後述する測定信号ｓ８の受信強度が設定される。ここで、受信強度とは、受信した信号の強度を示す。受信強度は、例えば、ＲＳＳＩ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ）であり、受信電力［ｄＢｍ］である。ここでは、配置領域ａｒｅａが平面であるとして、監視サーバ１００が３点測量を利用して各センサノード１０１の位置を判別するとして、送信元ＩＤと受信強度との３つのペアが位置測定情報１２０１に設定されればよい。
【００６５】
図１１の説明に戻って、受信部１１０２は、他のセンサノード１０１または監視サーバ１００からの信号を受信する機能を有する。また、受信部１１０２は、受信した信号の受信強度を計測可能とする。送信部１１０３は、他のセンサノード１０１または監視サーバ１００へ信号を送信する機能を有する。また、送信部１１０３は、所定強度によって信号を送信する。特に上述した測定信号ｓ８や探索信号ｓ２を送信するための強度についてはすべてのセンサノード１０１において同一としておくことにより、監視サーバ１００による各センサノード１０１の位置の特定や探索を容易化できる。制御部１１０１は、探索処理、位置測定処理、ネットワークＳＮＥＴへの接続処理、ネットワークＳＮＥＴからの切り離し処理などを行う。また、制御部１１０１は、送信部１１０３によって送信される信号を生成する機能や受信部１１０２によって受信された信号を解析する機能を有する。本実施の形態では、監視サーバ１００からの信号を直接送受信するのは、アグリゲータａｇのみとする。
【００６６】
＜暫定ネットワーク構築処理＞
まず、図１３に基づいて、監視サーバ１００による暫定ネットワーク構築処理について説明する。
【００６７】
図１３は、暫定ネットワークＳＮＥＴ構築についての動作シーケンス例を示す説明図である。ここでは、ゲートウェイ３０１を省略して記載する。まず、監視サーバ１００は、探索指示信号ｓ１をアグリゲータａｇであるセンサノード１０１−１へ送信する（ステップＳ１３０１）。つぎに、センサノード１０１−１は、探索指示信号ｓ１を受信すると、ブロードキャストにより探索信号ｓ２を送信する（ステップＳ１３０２）。そして、センサノード１０１−２は、センサノード１０１−１からの探索信号ｓ２を受信すると、センサノード１０１−１へ探索応答信号ｓ３を送信する（ステップＳ１３０３）。つぎに、センサノード１０１−１は、センサノード１０１−２から探索応答信号ｓ３を受信すると、他のセンサノード１０１の子ノードでなければ、探索応答信号ｓ３によって作成された探索結果信号ｓ４を監視サーバ１００へ送信する（ステップＳ１３０４）。図１１の例では、理解の容易化のために、センサノード１０１−１から送信された探索信号ｓ２を受信したセンサノード１０１は、センサノード１０１−２の１つだけとしているが、複数のセンサノード１０１から受信してもよい。例えば、センサノード１０１−１は、探索信号ｓ２を送信した後に所定時間以内に受信した探索応答信号ｓ３によって探索結果信号ｓ４を作成してもよい。所定時間については、例えば、システム３００の開発者によって定められた値である。
【００６８】
監視サーバ１００は、探索結果信号ｓ４を受信すると、アグリゲータａｇであるセンサノード１０１−１へネットワーク構築指示信号ｓ６を送信する（ステップＳ１３０５）。つぎに、センサノード１０１−１は、ネットワークＳＮＥＴ構築指示を受信すると、探索された周辺ノード数が最大子ノード数ｍｎよりも少ない場合、探索された周辺ノードのすべてに対して接続指示信号ｓ１０を送信する。また、センサノード１０１−１は、探索された周辺ノード数が最大子ノード数ｍｎ以上である場合、周辺ノードから基準点ノードを選択する。そして、センサノード１０１−１は、選択した基準点ノード数が最大子ノード数ｍｎよりも少ない場合、選択したすべての基準点ノードに対して接続指示信号ｓ１０を送信する。センサノード１０１−１は、選択した基準点ノード数が最大子ノード数ｍｎ以上である場合、選択した基準点ノードから最大子ノード数ｍｎをランダムに選択し、選択した最大子ノード数ｍｎの基準点ノードに対して接続指示信号ｓ１０を送信する。ここでは、センサノード１０１−１は、センサノード１０１−２に対して接続指示信号ｓ１０を送信する（ステップＳ１３０６）。そして、センサノード１０１−１は、接続指示信号ｓ１０の宛先であるセンサノード１０１−２を子ノードとして登録する（ステップＳ１３０７）。センサノード１０１−２は、センサノード１０１−１からの接続指示信号ｓ１０を受信すると、センサノード１０１−１を親ノードとして登録する（ステップＳ１３０８）。
【００６９】
つぎに、センサノード１０１−１は、子ノードに対して探索指示信号ｓ１を送信する（ステップＳ１３０９）。センサノード１０１−１の子ノードであるセンサノード１０１−２は、探索指示信号ｓ１を受信すると、探索信号ｓ２を送信する（ステップＳ１３１０）。図示していないが、センサノード１０１−２は、周辺のセンサノード１０１から探索応答信号ｓ３を受信すると、探索結果信号ｓ４をセンサノード１０１−１へ送信する（ステップＳ１３１１）。ここで、例えば、センサノード１０１−１は、センサノード１０１−２の周辺のセンサノード１０１であるため、探索信号ｓ２を受信可能であるが、すでに暫定のネットワークＳＮＥＴに加入している。そのため、センサノード１０１−１１は、探索応答信号ｓ３をセンサノード１０１−２に対して送信しない。センサノード１０１−１は、各子ノードから探索応答信号ｓ３を受信し、探索応答信号ｓ３によって作成された集約探索結果信号ｓ５を監視サーバ１００へ送信する（ステップＳ１３１２）。
【００７０】
監視サーバ１００は、集約探索結果信号ｓ５を受信すると、集約探索結果信号ｓ５に基づいて総ノード数を更新する。そして、監視サーバ１００は、総ノード数が規定数となった場合、暫定のネットワークＳＮＥＴ構築を終了し、総ノード数が規定数未満である場合、探索結果を記録し、親ノード候補を選択する。ここでは、重複がより少ないセンサノード１０１を親ノード候補として選択する。
【００７１】
図１４は、重複が少ないノード例を示す説明図である。例えば、センサノード１０１−ｏは、親ノード候補であるセンサノード１０１−ｎとセンサノード１０１−ｍとの各々からの探索信号ｓ２を受信し、探索信号ｓ２の各々に対する探索応答信号ｓ３を送信する。そのため、監視サーバ１００は、センサノード１０１−ｏは２つのセンサノード１０１に重複していると判断する。例えば、センサノード１０１−ｐは、親ノード候補であるセンサノード１０１−ｍからの探索信号ｓ２だけを受信し、探索信号ｓ２に対する探索応答信号ｓ３を送信する。そのため、監視サーバ１００は、センサノード１０１−ｐは重複していないと判断する。
【００７２】
図１３の説明に戻って、監視サーバ１００は、選択した親ノード候補を宛先としてネットワーク構築指示信号ｓ６を送信する。ここでは、監視サーバ１００は、センサノード１０１−２を宛先としてネットワーク構築指示信号ｓ６を送信する（ステップＳ１３１３）。そして、センサノード１０１−１は、監視サーバ１００から受信したネットワーク構築指示信号ｓ６をセンサノード１０１−２へ転送する（ステップＳ１３１４）。このようにして、マルチホップ通信よるリレー転送が行われ、ネットワーク構築指示信号ｓ６が転送される。
【００７３】
また、監視サーバ１００は、上述したステップＳ１３０６〜ステップＳ１３１４のような処理を繰り返す。そして、監視サーバ１００は、総ノード数が所定ノード数以上となった場合、暫定のネットワークＳＮＥＴ構築を終了する。つぎに、図１５を用いて位置測定処理について説明する。
【００７４】
図１５は、位置測定についての動作シーケンス例を示す説明図である。ここでは、基準点ノードとして、センサノード１０１−Ｎがあり、センサノード１０１−Ｎの周辺にセンサノード１０１−Ｍがあるとして説明する。ここでは、ゲートウェイ３０１を省略して記載する。
【００７５】
まず、監視サーバ１００は、基準点ノードを送信先にした測定信号出力指示信号ｓ７を送信する（ステップＳ１５０１）。基準点ノードについては、基準点ノード情報１０００によって判別可能である。そして、アグリゲータａｇであるセンサノード１０１−１は、測定信号出力指示信号ｓ７を受信すると、測定信号出力指示信号ｓ７を転送する（ステップＳ１５０２）。ここで、具体的に、センサノード１０１は、測定信号出力指示信号ｓ７を受信すると、送信先を示す識別情報によって自センサノード１０１に対する信号であるか否かを判断する。センサノード１０１は、自センサノード１０１に対する信号でないと判断した場合、測定信号出力指示信号ｓ７を転送する。このようなリレー転送によって測定信号出力指示信号ｓ７はセンサノード１０１−Ｎまで到達する。
【００７６】
センサノード１０１−Ｎは、測定信号出力指示信号ｓ７を受信すると、自センサノード１０１に対する信号であると判断し、測定信号ｓ８を所定強度によって送信する（ステップＳ１５０３）。所定強度については予め定められてあるとする。センサノード１０１−Ｎから所定強度によって到達可能な距離までにあるセンサノード１０１は測定信号ｓ８を受信する。例えば、図１５の例では、センサノード１０１−Ｍがセンサノード１０１−Ｎからの測定信号ｓ８を受信する。
【００７７】
そして、センサノード１０１−Ｍは、受信した測定信号ｓ８に含まれる送信元を示す識別情報と、測定信号ｓ８の受信強度と、を記憶部１１０４−Ｍの位置測定情報１２０１に記録する（ステップＳ１５０４）。ここでは、各センサノード１０１の位置を測定するため、センサノード１０１が設けられる領域が平面ならば、３つの基準点ノードからの受信強度が解ればよい。また、測定信号ｓ８を受信したセンサノード１０１は、受信強度によってセンサノード１０１と測定信号ｓ８の送信元との距離を算出してもよい。例えば、センサノード１０１−Ｍは、異なる３つの基準点ノードから測定信号ｓ８を受信すると、３つの測定信号ｓ８の送信先ごとに受信強度を記憶する。そして、センサノード１０１−Ｍは、自センサノード１０１を示す識別情報と、３つの測定信号ｓ８の送信先ごとに送信先を示す識別情報に対応付けた測定信号ｓ８の受信強度と、を有する測定結果信号ｓ９を送信する（ステップＳ１５０５）。図１５の例では、センサノード１０１−Ｍからアグリゲータａｇであるセンサノード１０１−１へ直接測定結果信号ｓ９が送信されているように記載しているが、リレー転送によって測定結果信号ｓ９をセンサノード１０１−１へ到達させてもよい。センサノード１０１−１は、測定結果信号ｓ９を受信すると、測定結果信号ｓ９を監視サーバ１００へ転送する（ステップＳ１５０６）。
【００７８】
つぎに、監視サーバ１００は、センサノード１０１−１からの測定結果信号ｓ９を受信すると、３つの送信元を示す識別情報に対応する３つの位置情報を基準点ノード情報１０００に基づいて取得する。そして、監視サーバ１００は、測定結果信号ｓ９に含まれる送信元を示す識別情報ごとに、送信元を示す識別情報に対応付けられた受信強度に基づいて、送信元とセンサノード１０１−Ｍとの距離を特定する。受信強度は、例えば、アンテナ４０９から得ることができる。センサノード１０１が送信する測定信号ｓ８の送信強度が一定であると、受信強度の損失が大きいセンサノード１０１ほど、測定信号ｓ８の送信元との距離が遠く、受信強度の損失が小さいセンサノード１０１ほど、測定信号ｓ８の送信元との距離が近い。ここで、測定信号ｓ８の送信強度は所定強度とする。所定強度については、送信回路４２１によって設定可能な強度であって、各センサノード１０１において共通の送信強度である。例えば、受信強度に基づいてセンサノード１０１間の距離を算出可能な関数がディスク５０６などの記憶装置に記憶されてある。そして、監視サーバ１００は、当該関数に受信強度を代入することによって、測定信号ｓ８の送信元と測定結果信号ｓ９の送信元との距離を算出する。より具体的には、監視サーバ１００は、受信強度と、測定信号ｓ８の送信強度［ｄＢｍ］と、送信回路４２１の送信アンテナ絶対利得［ｄＢｉ］と、受信回路４２２の受信アンテナ絶対利得［ｄＢｉ］と、に基づいて、受信強度の損失を算出する。監視サーバ１００は、受信強度を与えると受信強度の損失が得られる第１関数に、受信強度を与えることにより、受信強度の損失を算出する。第１関数は、測定信号ｓ８の送信強度と、送信アンテナ絶対利得と、受信アンテナ絶対利得と、の合計値から、与えられた受信強度を引き算することにより、受信強度の損失を得る。送信アンテナ絶対利得と、受信アンテナ絶対利得とは、アンテナ４０９に基づく値であり、固定値であり、予め記憶部９０４に記憶されてある。そして、監視サーバ１００は、損失を与えるとセンサノード１０１間の距離を算出可能な第２関数に、算出した受信強度の損失を与えることにより、測定信号ｓ８の送信元と測定信号ｓ８を受信したセンサノード１０１との間の距離を算出する。第２関数は、以下式（１）である。式（１）内のＬは損失であり、ｄは距離［ｍ］であり、λは波長［ｍ］である。波長λは、固定値であり、予め記憶部９０４に記憶されてある。
【００７９】
【数１】
2015083224.tif 000003
【００８０】
そのため、監視サーバ１００は、３点測量などの方法を利用して、特定された距離と測定信号ｓ８の送信元の位置情報が示す位置とに基づいて、センサノード１０１−Ｍの位置を推定する。そして、監視サーバ１００は、推定したセンサノード１０１−Ｍの位置を示す位置情報を記憶部９０４に格納する。つぎに、監視サーバ１００は、センサノード１０１−Ｍなどのあらたに位置が判明したセンサノード１０１を基準点ノードとする（ステップＳ１５０７）。そして、監視サーバ１００は、基準点ノードを送信先にした測定信号出力指示信号ｓ７を送信する（ステップＳ１５０８）。ここで、監視サーバ１００は、あらたに位置が判明した基準点ノードに対して位置情報を送信しなくてよい。
【００８１】
センサノード１０１−１は、測定信号ｓ８出力信号を受信すると、測定信号出力指示信号ｓ７を転送する（ステップＳ１５０９）。図１５の例では、センサノード１０１−１から送信先であるセンサノード１０１−Ｍへ直接測定信号出力指示信号ｓ７が送信されているように記載しているが、リレー転送によって測定信号出力指示信号ｓ７をセンサノード１０１−Ｍへ到達させてもよい。そして、センサノード１０１−Ｍは、測定信号ｓ８出力信号を受信すると、所定強度によって測定信号ｓ８をブロードキャストする（ステップＳ１５１０）。このようにして、監視サーバ１００は、各センサノード１０１の位置情報を収集する。
【００８２】
また、位置が不明なノードが残っている場合、上述したようにあらたに判別したセンサノード１０１を基準点ノードとして位置の測定信号ｓ８を送信させるようにすることにより、位置測定可能な領域範囲が広がる。また、最終的に全てのセンサノード１０１の位置が判明すれば、位置測定は終了となる。また、監視サーバ１００は、最後に測定信号出力指示信号ｓ７を送信してから、一定時間以上が経過しても測定結果信号ｓ９を受信できない場合、位置測定は終了となる。例えば、一定時間以上が経過しても測定結果信号ｓ９を受信できない場合であっても、最終的に稼働されるセンサノード１０１の密度が均等になればよいため、位置が未定となるセンサノード１０１があってもよい。
【００８３】
＜分布密度解析処理＞
つぎに、監視サーバ１００は、位置測定処理が終了した後、分布密度解析処理を行う。監視サーバ１００は、位置測定が完了した場合、配置領域ａｒｅａを模した領域を所定サイズのマス目に分割した分割領域ａを示す領域情報を生成する。所定サイズについては、システム３００の開発者によって設定されてよく、センサノード１０１から送信される信号の送信強度によって到達可能な距離に基づいて決定される。
【００８４】
図１６は、分布密度解析例を示す説明図である。図１６には、配置領域ａｒｅａがメッシュ状に分割された分割領域ａを示す。図１６に示す通信可能領域ｃａや分割領域ａは、監視サーバ１００のシミュレーション空間上にある領域である。つぎに、監視サーバ１００は、領域情報が示す分割領域ａの各々について、複数のセンサノード１０１の各々についてセンサノード１０１の測定領域ｓａが分割領域ａの少なくとも一部を含むか否かを判定する。測定領域ｓａはセンサ４０１によって測定可能なエリアである。測定領域ｓａは、センサノード１０１の位置と、所定距離ｄ１と、によって決定される。上述したように、各センサノード１０１が有するセンサ４０１は測定可能なエリアが予め決まっている。また、上述したように、所定距離ｄ１は、センサ４０１の種類や性能などに応じて予め定められた値である。例えば、監視サーバ１００は、分割領域ａの各々について、センサノード１０１の測定領域ｓａに少なくとも一部が含まれると判定された場合、分割領域ａについての密度を増やす。また増加する量は測定領域ｓａ内で一定でも構わないし、センサノード１０１との距離に応じて例えばセンサノード１０１に近いほど増加量を増やすようにしても構わない。これは搭載するセンサ４０１の特性に応じて変更可能としてもよい。このようにして、配置領域ａｒｅａ内の分布密度が特定される。また、図１６に示すように、測定領域ｓａと、通信可能領域ｃａとは、異なる。例えば、通信可能領域ｃａは、センサノード１０１の位置と所定距離ｄ２とによって定まる。所定距離ｄ２は、送信回路４２１による信号の送信強度や受信回路４２２の性能などによって定まる。
【００８５】
＜密度差解消処理＞
つぎに、監視サーバ１００は、分布密度解析処理が終了した後、密度差解消処理を行う。例えば、監視サーバ１００は、分割領域ａのうち、密度が閾値ｔｈ以下である分割領域ａがある場合、暫定ネットワークＳＮＥＴの構築時に規定数ｎｎのセンサノード１０１を暫定ネットワークＳＮＥＴに接続させているため、間引き処理を行う。そして、監視サーバ１００は、間引き処理後に、暫定ネットワークＳＮＥＴに冗長ノードｒｎｄを接続するノード追加処理を行う。
【００８６】
間引き処理では、監視サーバ１００は、分割領域ａのうち密度が最も高い分割領域ａを測定領域ｓａに含むセンサノード１０１を切り離す。まず、監視サーバ１００は、密度が最も高い分割領域ａを対象の分割領域ａとして選択する。つぎに、監視サーバ１００は、選択した分割領域ａの少なくとも一部を測定領域ｓａに含むセンサノード１０１の各々に対応して、複数の分割領域ａの各々について、ネットワークＳＮＥＴからセンサノード１０１を除外した場合における密度を導出する。より具体的には、監視サーバ１００は、ネットワークＳＮＥＴからセンサノード１０１を除外した場合における接続ノードｃｎｄのうち、測定領域ｓａに分割領域ａの少なくとも一部が含まれる接続ノードｃｎｄの数に応じた密度を導出する。監視サーバ１００は、導出した密度に基づいて、選択した分割領域ａの少なくとも一部を測定領域ｓａに含むセンサノード１０１から切り離しの対象候補を決定する。例えば、監視サーバ１００は、あるセンサノード１０１を除外する前の場合において導出した密度が閾値ｔｈより大きかったが、除外した場合において導出した密度が閾値ｔｈより小さくなる分割領域ａがある場合、切り離し対象候補として選択しない。
【００８７】
また、監視サーバ１００は、対象の分割領域ａを測定領域ｓａに含むセンサノード１０１の各々について、標準化効果値を算出する。標準化効果値とは、センサノード１０１を切り離すことにより、対象の分割領域ａの密度がどの程度平均密度に近づくかを示す値である。監視サーバ１００は、算出した標準化効果値が最も大きいセンサノード１０１を切り離しの対象候補として決定する。
【００８８】
平均密度は、「センサ４０１が測定可能な測定領域ｓａの面積×規定数ｎｎ」を配置領域ａｒｅａの面積によって割った値である。規定数ｎｎは上述した暫定ネットワークＳＮＥＴに含めることが可能なセンサノード１０１の数である。標準化効果値は、分布密度の解析結果に基づいて対象候補のセンサノード１０１を切り離したと過程して分布密度を再計算したときに、平均密度に近づく分割領域ａの変化量の総量から密度が平均密度から遠ざかる分割領域ａの変化量の総量を引いたものになる。平均密度に近づくとは平均密度との差が小さくなることを示し、平均密度から遠ざかるとは平均密度との差が大きくなることを示す。センサノード１０１を暫定ネットワークＳＮＥＴから切り離すと、対象の分割領域ａの周辺の分割領域ａの密度は下がるため、標準化効果値は以下式（２）のようになる。
【００８９】
【数２】
2015083224.tif 000004
【００９０】
ここで、σ1iはｉ番目の分割領域ａの切り離し前の密度であり、σ2iはｉ番目の分割領域ａの切り離し後の密度である。σaは上述した平均密度である。式（２）に示すように、標準化効果値は、切り離しによりどの程度平均密度に近づいたかを表すため、切り離し前の密度と平均密度との差分の絶対値から切り離し後の密度と平均密度との差分の絶対値を引いた値の合計値である。ただし、対象候補のセンサノード１０１を切り離しと仮定した結果、密度が閾値ｔｈよりも小さくなる分割領域ａがある場合、監視サーバ１００は、対象候補のセンサノード１０１を切り離し不可のセンサノード１０１とする。
【００９１】
また、監視サーバ１００は、選択した対象の分割領域ａを測定領域ｓａとするセンサノード１０１のうち切り離し可能なセンサノード１０１がない場合、複数の分割領域ａのうち選択済み以外の分割領域ａを対象の分割領域ａとしてあらたに選択する。また、監視サーバ１００は、平均密度よりも密度が高い分割領域ａの中で切り離し可能なセンサノード１０１がなければ、配置領域ａｒｅａを平準化できないことを開発者に通知する。通知方法としては、例えば、ネットワークＳＮＥＴを介して利用者端末３０２へ出力してもよいし、特に限定しない。
【００９２】
監視サーバ１００は、密度が閾値ｔｈよりも小さくなる分割領域ａがない対象候補のセンサノード１０１のうち、標準化効果値が最も大きい対象候補のセンサノード１０１を切り離し対象のセンサノード１０１として選択する。そして、監視サーバ１００は、選択した切り離し対象を送信先とした切り離し指示信号ｓ１２を送信する。
【００９３】
図１７は、接続・切り離しについての動作シーケンス例を示す説明図である。切り離し指示の詳細例については、ステップＳ１７１１〜ステップＳ１７１６に示す。図１７には、センサノード１０１−Ｘの子ノードであるセンサノード１０１−ＹをネットワークＳＮＥＴから切り離す例を示す。ここでは、ゲートウェイ３０１を省略して記載する。
【００９４】
例えば、監視サーバ１００は、センサノード１０１−Ｙを切り離し対象とし、センサノード１０１−Ｙを送信先にした切り離し指示信号ｓ１２をアグリゲータａｇであるセンサノード１０１−１に送信する（ステップＳ１７１１）。センサノード１０１−１は、切り離し指示信号ｓ１２を受信すると、切り離し指示信号ｓ１２を転送する（ステップＳ１７１２）。図１７の例では、センサノード１０１−１からセンサノード１０１−Ｘにはリレー転送によって切り離し指示信号ｓ１２が到達する。センサノード１０１−Ｘは、切り離し指示信号ｓ１２を受信すると、切り離し指示信号ｓ１２を転送する（ステップＳ１７１３）。センサノード１０１−Ｙは、切り離し指示信号ｓ１２を受信すると、離脱要求信号ｓ１３を親ノードであるセンサノード１０１−Ｘへ送信する（ステップＳ１７１４）。
【００９５】
センサノード１０１−Ｙは、センサノード１０１−Ｘを親ノードから削除して冗長動作モードへ遷移する（ステップＳ１７１５）。冗長動作モードへ遷移すると、測定動作や転送動作などを行わなくなる。センサノード１０１−Ｘは、離脱要求信号ｓ１３を受信すると、センサノード１０１−Ｙを子ノードから削除する（ステップＳ１７１６）。これにより、センサノード１０１−Ｙを暫定ネットワークＳＮＥＴから切り離すことができる。
【００９６】
つぎに、間引き処理が完了したら、監視サーバ１００は、低密度である分割領域ａにセンサノード１０１をネットワークＳＮＥＴに追加するノード追加処理を行う。追加されるセンサノード１０１があるか否かは不明であるため、監視サーバ１００は、平準化効果値を利用できない。そこで、監視サーバ１００は、複数の分割領域ａの中から密度が最小の分割領域ａを追加の対象候補の分割領域ａとして選択する。そして、監視サーバ１００は、対象候補の分割領域ａの少なくとも一部を測定領域ｓａに含むセンサノード１０１を送信先とした探索指示信号ｓ１を送信する。または、監視サーバ１００は、対象候補の分割領域ａの少なくとも一部を通信可能領域ｃａに含むセンサノード１０１を送信先とした探索指示信号ｓ１を送信する。
【００９７】
センサノード１０１は、自センサノード１０１が送信先である探索指示信号ｓ１を受信すると、探索処理を行う。探索処理については、図１３に示したシーケンスと同じであるため、詳細な説明を省略する。つぎに、監視サーバ１００は、集約探索結果信号ｓ５を受信すると、探索指示信号ｓ１の送信先の周辺に接続実績のない冗長ノードｒｎｄがあるか否かを判断する。監視サーバ１００は、接続実績のない冗長ノードｒｎｄがあると判断された場合、子ノード接続が可能であるか否かを判断する。監視サーバ１００は、探索指示信号ｓ１の送信先が有する子ノードの数が最大子ノード数ｍｎである場合、子ノード接続が可能でないと判断する。監視サーバ１００は、探索指示信号ｓ１の送信先が有する子ノードの数が最大子ノード数ｍｎより少ない場合、子ノード接続が可能であると判断する。監視サーバ１００は、選択した接続ノードｃｎｄを送信先にした接続実績のない冗長ノードｒｎｄのうちの１つに接続指示信号ｓ１０を送信する。
【００９８】
図１７において、接続指示の詳細例については、ステップＳ１７０１〜ステップＳ１７０５に示す。図１７には、センサノード１０１−Ｘの子ノードとしてセンサノード１０１−Ｙを接続する例を示す。
【００９９】
監視サーバ１００は、センサノード１０１−Ｘを送信先にし、センサノード１０１−Ｙを接続させることを指示する接続指示信号ｓ１０を送信する（ステップＳ１７０１）。アグリゲータａｇであるセンサノード１０１−１は、接続指示信号ｓ１０を受信すると、接続指示信号ｓ１０を転送する（ステップＳ１７０２）。図１７の例では、センサノード１０１−１からセンサノード１０１−Ｘにはリレー転送によって接続指示信号ｓ１０が到達する。つぎに、センサノード１０１−Ｘは、接続指示信号ｓ１０を受信すると、センサノード１０１−Ｙを送信先にした接続要求信号ｓ１１を送信する（ステップＳ１７０３）。そして、センサノード１０１−Ｘは、センサノード１０１−Ｙを子ノードとして記録する（ステップＳ１７０４）。また、センサノード１０１−Ｙは、接続要求信号ｓ１１を受信すると、センサノード１０１−Ｘを親ノードとして記録する（ステップＳ１７０５）。これにより、ネットワークＳＮＥＴにセンサノード１０１を追加することができる。
【０１００】
また、上述したように、探索指示信号ｓ１の送信先が有する子ノードの数が最大子ノード数ｍｎである場合、監視サーバ１００は、子ノード接続が可能でないと判断する。このように判断された場合、監視サーバ１００は、探索指示信号ｓ１の送信先にすでに接続済みの子ノードを切り離し、接続実績のない冗長ノードｒｎｄのうちの１つを接続してもよい。ただし、監視サーバ１００は、すでに接続済みの子ノードを切り離した場合に、密度が閾値ｔｈ以下となる分割領域ａがある場合には、切り離しを行わないこととする。また、切り離しが行えないため、あらたにセンサノード１０１をネットワークＳＮＥＴに追加できない場合、監視サーバ１００は、均一化できない旨を示す情報を開発者に通知してもよい。例えば、監視サーバ１００は、均一化できない旨を示す情報を利用者端末３０２に送信する。均一化できない旨を示す情報には、いずれの分割領域ａの密度が閾値ｔｈ以下となっているかなどを示す情報が含まれていてもよい。または、均一化できない旨を示す情報には、すべての分割領域ａに対応する密度を含めてもよい。
【０１０１】
（監視サーバ１００による通信網制御処理手順例）
図１８は、監視サーバ１００による通信網制御処理手順例を示すフローチャートである。監視サーバ１００は、暫定ネットワーク構築処理を行う（ステップＳ１８０１）。つぎに、監視サーバ１００は、位置測定処理を行う（ステップＳ１８０２）。そして、監視サーバ１００は、分布密度解析処理を行う（ステップＳ１８０３）。監視サーバ１００は、密度が閾値ｔｈ以下の分割領域ａがあるか否かを判断する（ステップＳ１８０４）。
【０１０２】
密度が閾値ｔｈ以下の分割領域ａがある場合（ステップＳ１８０４：Ｙｅｓ）、監視サーバ１００は、密度差解消処理を行い（ステップＳ１８０５）、ステップＳ１８０２へ戻る。密度が閾値ｔｈ以下の分割領域ａがない場合（ステップＳ１８０４：Ｎｏ）、監視サーバ１００は、一連の処理を終了する。これにより、構築されたネットワークＳＮＥＴの運用が開始可能となる。
【０１０３】
図１９および図２０は、監視サーバ１００による暫定ネットワーク構築処理手順例を示すフローチャートである。監視サーバ１００は、アグリゲータａｇへ探索指示信号ｓ１を送信する（ステップＳ１９０１）。監視サーバ１００は、受信待ち状態となる（ステップＳ１９０２）。そして、監視サーバ１００は、探索結果信号ｓ４を受信したか否かを判断する（ステップＳ１９０３）。まだ受信していないと判断された場合（ステップＳ１９０３：Ｎｏ）、監視サーバ１００は、ステップＳ１９０３へ戻る。受信したと判断された場合（ステップＳ１９０３：Ｙｅｓ）、監視サーバ１００は、探索結果を格納する（ステップＳ１９０４）。ここでは、監視サーバ１００は、受信した探索結果に基づいてノード管理情報１００１へアグリゲータａｇについてのレコードを設定する。監視サーバ１００は、アグリゲータａｇへネットワーク構築指示信号ｓ６を送信する（ステップＳ１９０５）。そして、監視サーバ１００は、受信待ち状態となる（ステップＳ１９０６）。
【０１０４】
つぎに、監視サーバ１００は、ネットワークＳＮＥＴ構築指示に対する集約探索結果信号ｓ５を受信したか否かを判断する（ステップＳ２００１）。集約探索結果信号ｓ５を受信していないと判断された場合（ステップＳ２００１：Ｎｏ）、監視サーバ１００は、ステップＳ２００１へ戻る。集約探索結果信号ｓ５を受信したと判断された場合（ステップＳ２００１：Ｙｅｓ）、監視サーバ１００は、総ノード数を更新する（ステップＳ２００２）。
【０１０５】
監視サーバ１００は、規定数ｎｎを超えたか否かを判断する（ステップＳ２００３）。規定数ｎｎを超えたと判断された場合（ステップＳ２００３：Ｙｅｓ）、監視サーバ１００は、暫定ネットワーク構築処理についての一連の処理を終了する。規定数ｎｎを超えていないと判断された場合（ステップＳ２００３：Ｎｏ）、監視サーバ１００は、探索結果を格納する（ステップＳ２００４）。
【０１０６】
そして、監視サーバ１００は、親ノード候補を選択する（ステップＳ２００５）。監視サーバ１００は、親ノード候補があるか否かを判断する（ステップＳ２００６）。親ノード候補がないと判断された場合（ステップＳ２００６：Ｎｏ）、監視サーバ１００は、暫定ネットワーク構築処理についての一連の処理を終了する。
【０１０７】
つぎに、親ノード候補があると判断された場合（ステップＳ２００６：Ｙｅｓ）、監視サーバ１００は、親ノード候補を送信先としたネットワーク構築指示信号ｓ６を送信する（ステップＳ２００７）。そして、監視サーバ１００は、受信待ち状態となり（ステップＳ２００８）、ステップＳ２００１へ戻る。このように、ステップＳ２００１からステップＳ２００７の処理が繰り返されることにより、規定数ｎｎのセンサノード１０１を含む暫定ネットワークＳＮＥＴが構築される。
【０１０８】
図２１は、監視サーバ１００による位置測定処理手順例を示すフローチャートである。監視サーバ１００は、探索結果から暫定ネットワークＳＮＥＴに接続されている基準点ノードを特定する（ステップＳ２１０１）。監視サーバ１００は、全基準点ノードを送信先にした測定信号出力指示信号ｓ７を送信する（ステップＳ２１０２）。監視サーバ１００は、タイムアウト時間をタイマ５０２に設定して受信待ち状態になる（ステップＳ２１０３）。監視サーバ１００は、信号を受信したか否かを判断する（ステップＳ２１０４）。
【０１０９】
信号を受信していないと判断された場合（ステップＳ２１０４：Ｎｏ）、監視サーバ１００は、タイムアウトしたか否かを判断する（ステップＳ２１０５）。タイムアウトしたと判断された場合（ステップＳ２１０５：Ｙｅｓ）、監視サーバ１００は、位置測定処理に関する一連の処理を終了する。タイムアウトしていないと判断された場合（ステップＳ２１０５：Ｎｏ）、監視サーバ１００は、ステップＳ２１０４へ戻る。
【０１１０】
信号を受信したと判断された場合（ステップＳ２１０４：Ｙｅｓ）、監視サーバ１００は、受信した測定情報信号から送信元の位置を推定して記録する（ステップＳ２１０６）。ここでは、監視サーバ１００は、３点測量を利用して、測定情報信号に含まれる測定信号ｓ８の送信元と受信強度との３つの組み合わせに基づいて、測定情報信号の送信元の位置を推定する。
【０１１１】
つぎに、監視サーバ１００は、位置が不明なセンサノード１０１があるか否かを判断する（ステップＳ２１０７）。ここでは、監視サーバ１００は、ノード管理情報１００１にレコードが設定されてあるセンサノード１０１について位置が不明か否かを判断する。位置が不明なセンサノード１０１がないと判断された場合（ステップＳ２１０７：Ｎｏ）、監視サーバ１００は、位置測定処理に関する一連の処理を終了する。
【０１１２】
位置が不明なセンサノード１０１があると判断された場合（ステップＳ２１０７：Ｙｅｓ）、監視サーバ１００は、測定情報信号の送信元を送信先にした測定信号出力指示信号ｓ７を送信し（ステップＳ２１０８）、ステップＳ２１０３へ戻る。
【０１１３】
図２２は、監視サーバ１００による分布密度解析処理手順例を示すフローチャートである。監視サーバ１００は、配置領域ａｒｅａを複数の分割領域ａに分割した分割領域情報１０２を生成する（ステップＳ２２０１）。つぎに、監視サーバ１００は、暫定ネットワークＳＮＥＴに含まれる接続ノードｃｎｄの位置を示す位置情報を取得する（ステップＳ２２０２）。
【０１１４】
監視サーバ１００は、位置が判明済みの接続ノードｃｎｄのうち、未選択の接続ノードｃｎｄがあるか否かを判断する（ステップＳ２２０３）。未選択の接続ノードｃｎｄがないと判断された場合（ステップＳ２２０３：Ｎｏ）、監視サーバ１００は、一連の処理を終了する。未選択の接続ノードｃｎｄがあると判断された場合（ステップＳ２２０３：Ｙｅｓ）、監視サーバ１００は、未選択の接続ノードｃｎｄから１つの接続ノードｃｎｄを選択する（ステップＳ２２０４）。監視サーバ１００は、選択した接続ノードｃｎｄの位置と、所定距離と、に基づいて、選択した接続ノードｃｎｄが有するセンサの測定領域ｓａを特定する（ステップＳ２２０５）。ここで、監視サーバ１００は、特定した測定領域ｓａを示す測定領域情報１０３を記憶部９０４に格納する。
【０１１５】
監視サーバ１００は、複数の分割領域ａのうち、少なくとも一部が特定した測定領域ｓａに含まれる分割領域ａを特定する（ステップＳ２２０６）。そして、監視サーバ１００は、特定した分割領域ａと選択した接続ノードｃｎｄとに基づき特定した分割領域ａに対応する密度を増加させ（ステップＳ２２０７）、ステップＳ２２０３へ戻る。
【０１１６】
図２３は、監視サーバ１００による密度差解消処理手順例を示すフローチャートである。まず、監視サーバ１００は、間引き処理を行う（ステップＳ２３０１）。そして、監視サーバ１００は、ノード追加処理を行い（ステップＳ２３０２）、密度差解消処理に関する一連の処理を終了する。このように、監視サーバ１００は、間引いた後に、接続ノードｃｎｄを追加することにより、暫定ネットワークＳＮＥＴに接続されるセンサノード１０１の数は変更しないようにできる。
【０１１７】
図２４は、監視サーバ１００による間引き処理手順例を示すフローチャートである。監視サーバ１００は、未選択の分割領域ａのうち、密度が最大の分割領域ａを選択する（ステップＳ２４０１）。監視サーバ１００は、選択可能な分割領域ａがあるか否かを判断する（ステップＳ２４０２）。選択可能な分割領域ａがあると判断された場合（ステップＳ２４０２：Ｙｅｓ）、監視サーバ１００は、選択した分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄについて標準化効果値を算出する（ステップＳ２４０３）。監視サーバ１００は、切り離し可能な接続ノードｃｎｄがあるか否かを判断する（ステップＳ２４０４）。切り離し可能な接続ノードｃｎｄがないと判断された場合（ステップＳ２４０４：Ｎｏ）、監視サーバ１００は、ステップＳ２４０２へ戻る。切り離し可能な接続ノードｃｎｄがあると判断された場合（ステップＳ２４０４：Ｙｅｓ）、監視サーバ１００は、標準化効果値が最大の接続ノードｃｎｄを送信先にした切り離し指示信号ｓ１２を送信し（ステップＳ２４０５）、間引き処理に関する一連の処理を終了する。選択可能な分割領域ａがないと判断された場合（ステップＳ２４０２：Ｎｏ）、監視サーバ１００は、均一化できない旨を通知し（ステップＳ２４０６）、エラーが発生したとして、すべての処理を終了する。
【０１１８】
図２５は、監視サーバ１００によるノード追加処理手順例を示すフローチャートである。監視サーバ１００は、未選択の分割領域ａのうち、密度が最小の分割領域ａを選択する（ステップＳ２５０１）。監視サーバ１００は、選択した分割領域ａの少なくとも一部を通信可能領域ｃａに含む接続ノードｃｎｄを特定して選択する（ステップＳ２５０２）。監視サーバ１００は、選択可能な接続ノードｃｎｄがあるか否かを判断する（ステップＳ２５０３）。選択可能な接続ノードｃｎｄがあると判断された場合（ステップＳ２５０３：Ｙｅｓ）、監視サーバ１００は、選択した接続ノードｃｎｄを送信先にした探索指示信号ｓ１を送信する（ステップＳ２５０４）。
【０１１９】
つぎに、監視サーバ１００は、周辺に接続実績のない冗長ノードｒｎｄがあるか否かを判断する（ステップＳ２５０５）。周辺に接続実績のない冗長ノードｒｎｄがないと判断された場合（ステップＳ２５０５：Ｎｏ）、監視サーバ１００は、ステップＳ２５０３へ戻る。一方、周辺に接続実績のない冗長ノードｒｎｄがあると判断された場合（ステップＳ２５０５：Ｙｅｓ）、監視サーバ１００は、子ノード接続が可能であるか否かを判断する（ステップＳ２５０６）。子ノード接続が可能であると判断された場合（ステップＳ２５０６：Ｙｅｓ）、監視サーバ１００は、選択した接続ノードｃｎｄを送信先にした接続実績のない冗長ノードｒｎｄのうちの１つに接続指示信号ｓ１０を送信し（ステップＳ２５０７）、ノード追加処理に関する一連の処理を終了する。子ノード接続が可能でないと判断された場合（ステップＳ２５０６：Ｎｏ）、監視サーバ１００は、ステップＳ２５０３へ戻る。
【０１２０】
選択可能な接続ノードｃｎｄがないと判断された場合（ステップＳ２５０３：Ｎｏ）、監視サーバ１００は、接続実績のない冗長ノードｒｎｄが見つかっていたか否かを判断する（ステップＳ２５０８）。接続実績があるか否かに関する情報は記憶部９０４に記憶しておいてもよい。監視サーバ１００は、センサノード１０１をいずれかの子ノードとして設定した後にネットワークＳＮＥＴから切り離す際、当該センサノード１０１を示す識別情報と子ノードとして設定されたことがあることを示す情報とを関連付けて記憶部９０４に記憶しておく。
【０１２１】
接続実績のない冗長ノードｒｎｄが見つかっていたと判断された場合（ステップＳ２５０８：Ｙｅｓ）、監視サーバ１００は、接続実績のない冗長ノードｒｎｄを見つけた接続ノードｃｎｄの子ノードの各々について、切り離した対象とした場合の標準化効果値を算出する（ステップＳ２５０９）。つぎに、監視サーバ１００は、切り離し可能な接続ノードｃｎｄがあるか否かを判断する（ステップＳ２５１０）。ここでは、監視サーバ１００は、切り離し対象を切り離したと仮定した場合に密度が閾値ｔｈ以下となる分割領域ａがない切り離し対象候補から切り離し対象を決定する。そのため、密度が閾値ｔｈ以下となる分割領域ａがない切り離し対象がない場合、切り離し可能な接続ノードｃｎｄがないと判断される。
【０１２２】
切り離し可能な接続ノードｃｎｄがあると判断された場合（ステップＳ２５１０：Ｙｅｓ）、監視サーバ１００は、標準化効果値が最大の接続ノードｃｎｄを送信先にした切り離し指示信号ｓ１２を送信し（ステップＳ２５１１）、ステップＳ２５０７へ移行する。接続実績のない冗長ノードｒｎｄが見つかっていなかったと判断された場合（ステップＳ２５０８：Ｎｏ）、監視サーバ１００は、均一化できない旨を開発者に通知し（ステップＳ２５１２）、エラーとして一連の処理を終了する。通知方法は、例えば、利用者端末３０２への均一化できない旨を示す情報を送信するなどが挙げられる。また、切り離し可能な接続ノードｃｎｄがないと判断された場合（ステップＳ２５１０：Ｎｏ）、監視サーバ１００は、ステップＳ２５１２へ移行する。
【０１２３】
（センサノード１０１が行う処理手順例）
図２６〜図２９は、センサノード１０１が行う処理手順例を示すフローチャートである。センサノード１０１は、起動すると（ステップＳ２６０１）、信号受信待ち状態となる（ステップＳ２６０２）。つぎに、センサノード１０１は、信号を受信したか否かを判断する（ステップＳ２６０３）。受信していないと判断された場合（ステップＳ２６０３：Ｎｏ）、センサノード１０１は、ステップＳ２６０３へ戻る。
【０１２４】
つぎに、ステップＳ２６０３において、探索指示信号ｓ１を受信したと判断された場合（ステップＳ２６０３：探索指示）、センサノード１０１は、周辺ノードを探索する（ステップＳ２６０４）。そして、センサノード１０１は、親ノードまたはゲートウェイ３０１を送信先にした探索結果信号ｓ４を送信し（ステップＳ２６０５）、ステップＳ２６０２へ戻る。ゲートウェイ３０１を送信先に設定可能なセンサノード１０１は、アグリゲータａｇだけである。
【０１２５】
つぎに、ステップＳ２６０３において、集約探索結果信号ｓ５を受信したと判断された場合（ステップＳ２６０３：集約探索結果）、センサノード１０１は、受信した集約探索結果をゲートウェイ３０１に送信する（ステップＳ２７０１）。そして、センサノード１０１は、指示受信待ち状態となり（ステップＳ２７０２）、ステップＳ２６０３へ戻る。
【０１２６】
つぎに、ステップＳ２６０３において、測定信号出力指示信号ｓ７を受信したと判断された場合（ステップＳ２６０３：測定信号出力指示）、センサノード１０１は、測定信号ｓ８を送信する（ステップＳ２７１１）。そして、センサノード１０１は、指示受信待ち状態となり（ステップＳ２７１２）、ステップＳ２６０３へ戻る。測定信号ｓ８を受信したと判断された場合（ステップＳ２６０３：測定）、センサノード１０１は、測定情報送信済みか否かを判断する（ステップＳ２７２１）。すでに位置測定が完了していれば、測定情報送信済みと判断される。
【０１２７】
測定情報送信済みであると判断された場合（ステップＳ２７２１：Ｙｅｓ）、センサノード１０１は、ステップＳ２７２５へ移行する。測定情報送信済みでないと判断された場合（ステップＳ２７２１：Ｎｏ）、センサノード１０１は、送信元ＩＤと受信強度を記録する（ステップＳ２７２２）。そして、センサノード１０１は、異なる送信元である測定信号ｓ８を所定数受信したか否かを判断する（ステップＳ２７２３）。所定数とは、例えば、予め定められた値であり、上述したように配置領域ａｒｅａが平面であれば、所定数は３でよい。
【０１２８】
所定数受信していないと判断された場合（ステップＳ２７２３：Ｎｏ）、センサノード１０１は、ステップＳ２７２５へ移行する。所定数受信したと判断された場合（ステップＳ２７２３：Ｙｅｓ）、センサノード１０１は、アグリゲータａｇへ記録した測定情報を含む測定情報信号を送信する（ステップＳ２７２４）。つぎに、センサノード１０１は、指示受信待ち状態となり（ステップＳ２７２５）、ステップＳ２６０３へ戻る。
【０１２９】
つぎに、ネットワーク構築指示信号ｓ６を受信したと判断された場合（ステップＳ２６０３：ネットワーク構築指示）、センサノード１０１は、周辺ノード数＞最大子ノード数ｍｎであるか否かを判断する（ステップＳ２８０１）。周辺ノード数＞最大子ノード数ｍｎであると判断された場合（ステップＳ２８０１：Ｙｅｓ）、センサノード１０１は、周辺ノードから基準点ノードを選別する（ステップＳ２８０２）。
【０１３０】
つぎに、センサノード１０１は、基準点ノード数＞最大子ノード数ｍｎであるか否かを判断する（ステップＳ２８０３）。基準点ノード数＞最大子ノード数ｍｎであると判断された場合（ステップＳ２８０３：Ｙｅｓ）、センサノード１０１は、基準点ノードの中から最大子ノード数ｍｎ内でランダムにセンサノード１０１を選択して接続する（ステップＳ２８０４）。つぎに、センサノード１０１は、全子ノードへ探索指示信号ｓ１を送信する（ステップＳ２８０８）。そして、センサノード１０１は、送信した探索指示信号ｓ１に対する探索結果受信待ち状態となる（ステップＳ２８０９）。
【０１３１】
そして、センサノード１０１は、探索結果信号ｓ４を受信すると、集約探索結果、子ノード情報をアグリゲータａｇまたはゲートウェイ３０１に送信する（ステップＳ２８１０）。センサノード１０１は、指示受信待ち状態となり（ステップＳ２８１１）、ステップＳ２６０３へ戻る。
【０１３２】
ステップＳ２８０３において、基準点ノード数＞最大子ノード数ｍｎでないと判断された場合（ステップＳ２８０３：Ｎｏ）、センサノード１０１は、全基準点ノードを接続する（ステップＳ２８０５）。そして、センサノード１０１は、最大子ノード数ｍｎ内でランダムにセンサノード１０１を選択して接続し（ステップＳ２８０６）、ステップＳ２８０８へ移行する。
【０１３３】
ステップＳ２８０１において、周辺ノード数＞最大子ノード数ｍｎでないと判断された場合（ステップＳ２８０１：Ｎｏ）、センサノード１０１は、周辺の全センサノード１０１を接続し（ステップＳ２８０７）、ステップＳ２８０８へ移行する。
【０１３４】
つぎに、ステップＳ２６０３において、接続指示信号ｓ１０を受信したと判断された場合（ステップＳ２６０３：接続指示）、センサノード１０１は、接続指示信号ｓ１０によって指示されたセンサノード１０１を子ノードとして出力する（ステップＳ２９０１）。そして、センサノード１０１は、受信待ち状態となり（ステップＳ２９０２）、ステップＳ２６０３へ戻る。
【０１３５】
つぎに、ステップＳ２６０３において、切り離し指示信号ｓ１２を受信したと判断された場合（ステップＳ２６０３：切り離し指示）、センサノード１０１は、親ノードへ離脱要求信号ｓ１３を送信する（ステップＳ２９１１）。センサノード１０１は、冗長動作モードへ遷移する（ステップＳ２９１２）。そして、センサノード１０１は、受信待ち状態となり（ステップＳ２９１３）、ステップＳ２６０３へ戻る。
【０１３６】
以上説明したように、監視サーバ１００は、配置領域の分割領域ごとに、該分割領域を測定領域に少なくとも一部が含まれるネットワークＳＮＥＴの接続ノードの数を解析し、解析結果によってネットワークの接続ノードを変更する。これにより、冗長ノードの分布を均一化させることができ、信頼性の向上を図ることができる。
【０１３７】
また、監視サーバ１００は、接続ノードの数に応じた密度に基づいて選択した分割領域の少なくとも一部をセンサの測定領域に含む冗長ノードをネットワークに追加する制御を行う。具体的には、監視サーバ１００は、選択した分割領域の少なくとも一部をセンサノードが有するセンサの測定領域に含む通信ノードへネットワークに加わることを指示する信号を送信する。これにより、接続ノードの分布を均一化させることができ、配置領域を均等に測定可能となる。
【０１３８】
また、選択した分割領域は、接続ノードの数に応じた値が最も小さい分割領域である。これにより、センサノードによって測定される可能性が低い領域が測定可能とする。
【０１３９】
また、監視サーバ１００は、複数の構築ノードのうち、選択した分割領域の少なくとも一部を通信可能領域に含む構築ノードを特定し、特定した構築ノードの周辺のノードをネットワークに追加するように制御する。
【０１４０】
また、監視サーバ１００は、複数の構築ノードのうち、選択した分割領域の少なくとも一部を測定領域に含む構築ノードから選択した構築ノードをネットワークから除外する。ここで選択した分割領域は、複数の分割領域のうち、導出した値が最も大きい分割領域である。具体的には、監視サーバ１００は、選択した構築ノードへネットワークから除外することを指示する信号を送信する。これにより、配置領域に均等に冗長ノードを設けることができる。
【０１４１】
また、監視サーバ１００は、選択した分割領域の少なくとも一部を測定領域に含む構築ノードから切り離し対象を決定する際に、該構築ノードの各々について切り離したと仮定した場合における分割領域の各々についての密度を導出する。そして、監視サーバ１００は、導出した密度に基づいて切り離し対象を決定する。
【０１４２】
また、監視サーバ１００は、ネットワークから構築ノードを除外した後に、ネットワークに冗長ノードを追加する制御を行う。これにより、除外された数と追加する数とが一致するため、ネットワーク内の構築ノードの数を一定にすることができる。したがって、冗長ノードの数が少なすぎたり、多すぎたりすることを防ぐことができ、長期の信頼性の向上を図ることができる。
【０１４３】
また、監視サーバ１００は、複数の分割領域のうち、導出した密度が所定条件を満たさない分割領域がない場合、変更する制御を行う処理を実行しない。監視サーバ１００は、複数の分割領域のうち、導出した密度が所定条件を満たさない分割領域がある場合、変更する制御を行う処理を実行する。これにより、配置領域に均等に冗長ノードが設けられていない場合にだけ、ネットワークを変更することができる。
【０１４４】
また、監視サーバ１００は、構築ノードのうちすでに位置が判明済みの構築ノードに対して周辺に測定信号の出力を指示する信号を送信する。そして、監視サーバ１００は、判明済みの構築ノードからの測定信号を所定数受信した構築ノードから測定信号の受信強度と測定信号の送信元を示す識別情報との所定数の組み合わせを受信する。監視サーバ１００は、所定数の組み合わせと、判明済みの構築ノードの位置と、に基づいて、受信した構築ノードの位置を特定する。これにより、すべてのセンサノードについて事前に位置が判明していなくとも、ネットワークに含まれるセンサノードの位置が特定可能であり、センサノードの測定領域が特定可能である。したがって、すべてのセンサノードにＧＰＳユニットを搭載しなくてよいため、低廉化を図ることができる。
【０１４５】
また、すべてのセンサノードをネットワークに含めないため、監視サーバ１００が管理するためのネットワークに含まれるセンサノードに関する情報量を低減させることができる。
【０１４６】
なお、本実施の形態で説明した通信網制御方法は、予め用意された通信網制御プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通信網制御プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、通信網制御プログラムは、インターネット等のネットワークＮＥＴを介して配布してもよい。
【符号の説明】
【０１４７】
１００  監視サーバ
１０１  センサノード
１０２  分割領域情報
１０３  測定領域情報
３００  システム
４０１  センサ
４０２  ＭＣＵ
４０４  ＲＯＭ
４０５  ＲＡＭ
４０６  不揮発メモリ
４１１  バッテリ
４２１  送信回路
４２２  受信回路
５０１  ＣＰＵ
５０３  ＲＯＭ
５０４  ＲＡＭ
５０６  ディスク
５０８  無線通信回路
９０１  制御部
９０２  受信部
９０３  送信部
９０４  記憶部
１１０１  制御部
１１０２  受信部
１１０３  送信部
１１０４  記憶部
ａｒｅａ  配置領域
ａ  分割領域
ｃｎｄ  接続ノード
ｒｎｄ  冗長ノード
ＳＮＥＴ  ネットワーク
ｓａ  測定領域
ｃａ  通信可能領域
【図１】
2015083224.tif 000005
【図２】
2015083224.tif 000006
【図３】
2015083224.tif 000007
【図４】
2015083224.tif 000008
【図５】
2015083224.tif 000009
【図６】
2015083224.tif 000010
【図７】
2015083224.tif 000011
【図８】
2015083224.tif 000012
【図９】
2015083224.tif 000013
【図１０】
2015083224.tif 000014
【図１１】
2015083224.tif 000015
【図１２】
2015083224.tif 000016
【図１３】
2015083224.tif 000017
【図１４】
2015083224.tif 000018
【図１５】
2015083224.tif 000019
【図１６】
2015083224.tif 000020
【図１７】
2015083224.tif 000021
【図１８】
2015083224.tif 000022
【図１９】
2015083224.tif 000023
【図２０】
2015083224.tif 000024
【図２１】
2015083224.tif 000025
【図２２】
2015083224.tif 000026
【図２３】
2015083224.tif 000027
【図２４】
2015083224.tif 000028
【図２５】
2015083224.tif 000029
【図２６】
2015083224.tif 000030
【図２７】
2015083224.tif 000031
【図２８】
2015083224.tif 000032
【図２９】
2015083224.tif 000033
【手続補正書】
【提出日】平成28年5月25日(2016.5.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが、
配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行することを特徴とする通信網制御方法。
【請求項２】
前記変更する制御を行う処理では、前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードから、前記複数の分割領域のうち導出した前記値に基づき選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードを前記通信網に追加することを特徴とする請求項１に記載の通信網制御方法。
【請求項３】
選択した前記分割領域は、前記複数の分割領域のうち、導出した前記値が最も小さい分割領域であることを特徴とする請求項２に記載の通信網制御方法。
【請求項４】
前記コンピュータが、
前記一部の通信ノードの各々について、前記通信ノードの通信可能領域を示す通信可能領域情報を取得し、
前記一部の通信ノードのうち、選択した前記分割領域の少なくとも一部を、取得した前記通信可能領域情報が示す通信可能領域に含む通信ノードを特定し、
前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードのうち、特定した前記通信ノードが直接アクセス可能な通信ノードを探索する、
処理を実行し、
前記変更する制御を行う処理では、探索した前記通信ノードを前記通信網に追加することを特徴とする請求項２または３に記載の通信網制御方法。
【請求項５】
前記変更する制御を行う処理では、前記一部の通信ノードのうち、前記複数の分割領域のうち導出した前記値に基づいて選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードから選択した通信ノードを前記通信網から除外することを特徴とする請求項１〜４のいずれか一つに記載の通信網制御方法。
【請求項６】
選択した前記分割領域は、前記複数の分割領域のうち、導出した前記値が最も大きい分割領域であることを特徴とする請求項４に記載の通信網制御方法。
【請求項７】
前記コンピュータが、
前記一部の通信ノードのうち、前記複数の分割領域のうち導出した前記値に基づいて選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードの各々に対応して、前記複数の分割領域の各々について、前記通信網から前記通信ノードを除外した場合における前記通信網に含まれる通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出する処理を実行し、
選択した前記通信ノードは、選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードの各々に対応して導出した前記値に基づいて、選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードから選択した通信ノードであることを特徴とする請求項５または６に記載の通信網制御方法。
【請求項８】
前記変更する制御を行う処理では、選択した前記通信ノードを前記通信網から除外した後に、前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードから、前記複数の分割領域のうち導出した前記値に基づき選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードを前記通信網に追加することを特徴とする請求項５〜７のいずれか一つに記載の通信網制御方法。
【請求項９】
前記コンピュータが、
前記複数の分割領域のうち、導出した前記値が所定条件を満たさない分割領域がない場合、前記変更する制御を行う処理を実行せず、前記複数の分割領域のうち、導出した前記値が前記所定条件を満たさない分割領域がある場合、前記変更する制御を行う処理を実行することを特徴とする請求項１〜８のいずれか一つに記載の通信網制御方法。
【請求項１０】
前記コンピュータが、
前記複数の通信ノードのうち位置が特定済みの通信ノードへ前記特定済みの通信ノードから所定強度の信号の送信を指示する信号を送信し、
前記一部の通信ノードのうち、前記特定済みの通信ノードのうち所定数以上の通信ノードから送信された前記所定強度の信号を受信した通信ノードから送信された、前記所定強度の信号の受信強度と前記所定強度の信号の送信元を示す識別情報との前記所定数の組み合わせを有する信号を受信し、
前記所定数の組み合わせに基づいて受信した前記通信ノードの位置を特定する処理を実行し、
前記測定領域情報を取得する処理では、特定した前記位置によって受信した前記通信ノードが有するセンサの測定領域を特定することにより、受信した前記通信ノードについて特定した前記測定領域を示す測定領域情報を取得することを特徴とする請求項１〜９のいずれか一つに記載の通信網制御方法。
【請求項１１】
コンピュータに、
配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行させることを特徴とする通信網制御プログラム。
【請求項１２】
通信装置と、
配置領域に配置される複数の通信ノードと、
を有するシステムであって、
前記通信装置が、
前記複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行することを特徴とするシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網制御方法、通信網制御プログラム、およびシステムに関する。
【背景技術】
【０００２】
従来、無線により接続可能な複数の通信ノードによってネットワークを構築する技術が公知である。例えば、送信先ノードから送信元ノードへ所定の通信経路によってパケットを送るときに、所定の通信経路上にある中間ノードのうち、送信先ノードからのホップカウントが最小となるノードと最大になるノードとのそれぞれの通信経路を設定する技術が公知である（例えば、以下特許文献１参照。）。また、例えば、無線により接続可能な複数のノードがあって、近傍のノードを検出し、クラスターを形成し、近傍のクラスター同士を接続してネットワークを構築する技術が公知である（例えば、以下特許文献２参照。）。また、例えば、クラスターにグループ化された複数のノードと該複数のノードと接続する複数の無線リンクとを有し、送り元ノードから目標ノードまでのルートを決定する技術が公知である（例えば、以下特許文献３参照。）。
【０００３】
また、例えば、複数のセンサが無線通信によるネットワークにおいて、位置が予め判っている第１の基準センサと第２の基準センサの２個の基準センサを用い当該２個の基準センサとの距離情報に基づき、対象となる第３のセンサのセンサ位置を標定する技術が公知である（例えば、以下特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９４５２７号公報
【特許文献２】特開２００７−３６３６１号公報
【特許文献３】特表２００５−５２４３３７号公報
【特許文献４】特開２００９−２５０６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、配置した通信ノード群の一部をネットワークに含まれない冗長ノードとする場合に、冗長ノードの分布が均一でないと、ネットワークの信頼性を向上させることができないという問題点がある。
【０００６】
１つの側面では、ネットワークの信頼性の向上を図ることができる通信網制御方法、通信網制御プログラム、およびシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、本発明は、配置領域に設置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う通信網制御方法、通信網制御プログラム、およびシステムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、信頼性の向上を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明にかかる監視サーバによる動作例を示す説明図である。
【図２】図２は、冗長ノードｒｎｄの偏り例を示す説明図である。
【図３】図３は、本発明にかかるシステムの利用例を示す説明図である。
【図４】図４は、センサノード１０１のハードウェア構成例を示すブロック図である。
【図５】図５は、監視サーバ１００のハードウェア構成例を示すブロック図である。
【図６】図６は、信号の基本データ構成例を示す説明図である。
【図７】図７は、各信号のデータ構成例を示す説明図（その１）である。
【図８】図８は、各信号のデータ構成例を示す説明図（その２）である。
【図９】図９は、監視サーバ１００の機能的構成例を示すブロック図である。
【図１０】図１０は、監視サーバ１００の記憶部９０４の記憶内容例を示す説明図である。
【図１１】図１１は、センサノード１０１の機能的構成例を示すブロック図である。
【図１２】図１２は、センサノード１０１の記憶部の記憶内容例を示す説明図である。
【図１３】図１３は、暫定ネットワークＳＮＥＴ構築についての動作シーケンス例を示す説明図である。
【図１４】図１４は、重複が少ないノード例を示す説明図である。
【図１５】図１５は、位置測定についての動作シーケンス例を示す説明図である。
【図１６】図１６は、分布密度解析例を示す説明図である。
【図１７】図１７は、接続・切り離しについての動作シーケンス例を示す説明図である。
【図１８】図１８は、監視サーバ１００による通信網制御処理手順例を示すフローチャートである。
【図１９】図１９は、監視サーバ１００による暫定ネットワーク構築処理手順例を示すフローチャート（その１）である。
【図２０】図２０は、監視サーバ１００による暫定ネットワーク構築処理手順例を示すフローチャート（その２）である。
【図２１】図２１は、監視サーバ１００による位置測定処理手順例を示すフローチャートである。
【図２２】図２２は、監視サーバ１００による分布密度解析処理手順例を示すフローチャートである。
【図２３】図２３は、監視サーバ１００による密度差解消処理手順例を示すフローチャートである。
【図２４】図２４は、監視サーバ１００による間引き処理手順例を示すフローチャートである。
【図２５】図２５は、監視サーバ１００によるノード追加処理手順例を示すフローチャートである。
【図２６】図２６は、センサノード１０１が行う処理手順例を示すフローチャート（その１）である。
【図２７】図２７は、センサノード１０１が行う処理手順例を示すフローチャート（その２）である。
【図２８】図２８は、センサノード１０１が行う処理手順例を示すフローチャート（その３）である。
【図２９】図２９は、センサノード１０１が行う処理手順例を示すフローチャート（その４）である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる通信網制御方法、通信網制御プログラム、およびシステムの実施の形態を詳細に説明する。
【００１１】
図１は、本発明にかかる監視サーバによる動作例を示す説明図である。監視サーバ１００は、配置領域ａｒｅａに配置される複数のセンサノード１０１のうち、ネットワークＳＮＥＴの構築を制御するコンピュータであり、複数のセンサノード１０１と通信可能な通信装置である。センサノード１０１は、センサと小型の無線通信回路を有する通信ノードである。センサノード１０１が互いに通信を行うことにより通信網を形成する。通信網は、ネットワークＳＮＥＴと称する。
【００１２】
配置領域ａｒｅａに配置される複数のセンサノード１０１のうち、一部のセンサノード１０１は、ネットワークＳＮＥＴに含まれるが、残余のセンサノード１０１は、ネットワークＳＮＥＴに含まれない。ここで、ネットワークＳＮＥＴに含まれるセンサノード１０１を接続ノードｃｎｄとも称する。また、複数のセンサノード１０１のうち、接続ノードｃｎｄ以外のセンサノード１０１は、冗長ノードｒｎｄとも称する。後述する詳細な実施例では、監視サーバ１００によってネットワークＳＮＥＴが構築されるが、ここではネットワークＳＮＥＴは構築済みである。図１では、接続ノードｃｎｄ間は線によって接続されているが、上述したように実際には接続ノードｃｎｄ間は無線通信によって接続される。
【００１３】
システムの運用中に、接続ノードｃｎｄは、センサの測定動作、測定動作によって得られたデータの送信動作、他の接続ノードｃｎｄからのデータの転送動作などを行うが、冗長ノードｒｎｄは、測定動作、データの転送動作などを行わない。そのため、冗長ノードｒｎｄは、経年劣化の度合いが接続ノードｃｎｄと比較して低い。例えば長期間稼働して経年劣化などによって故障した接続ノードｃｎｄがあるときに、当該故障した接続ノードｃｎｄの周辺にある冗長ノードｒｎｄがあらたにネットワークＳＮＥＴに追加されれば、長期的に配置領域ａｒｅａ内の測定動作を行うことができる。そのため、システムの信頼性を向上させることができる。
【００１４】
しかしながら、故障した接続ノードｃｎｄの周辺に冗長ノードｒｎｄがない場合、配置領域ａｒｅａのうち故障した接続ノードｃｎｄが配置された周辺の領域が測定されなくなる。そのため、一部のセンサノード１０１を冗長ノードｒｎｄとする場合、複数のセンサノード１０１が配置領域ａｒｅａ内に均一に配置されてあっても、冗長ノードｒｎｄが均一に配置されていなければ、信頼性が低下することになる。
【００１５】
そこで、本実施の形態では、配置領域ａｒｅａの分割領域ａごとに、該分割領域ａを測定領域ｓａに少なくとも一部が含まれるネットワークＳＮＥＴの接続ノードｃｎｄの数を解析し、解析結果によってネットワークＳＮＥＴの接続ノードｃｎｄを変更する。これにより、冗長ノードｒｎｄの分布を均一化させることができ、信頼性の向上を図ることができる。
【００１６】
まず、監視サーバ１００は、ネットワークＳＮＥＴに含まれる接続ノードｃｎｄの各々について、前記通信ノードが有するセンサの測定領域ｓａを示す測定領域情報１０３を取得する。例えば、センサノード１０１−１の測定領域ｓａは、測定領域ｓａ−１である。測定領域ｓａについては、センサノード１０１の位置とセンサノード１０１が有するセンサの測定可能距離とによって表される。例えば、センサノード１０１の位置は、緯度や経度などであってもよいし、配置領域ａｒｅａ内の相対的な位置であってもよい。配置領域ａｒｅａ内の相対的な位置とは、例えば、配置領域ａｒｅａを模擬するシミュレーション空間上に定義された軸に基づく座標である。より具体的には、図１に示すように配置領域ａｒｅａが四角形であれば、左下角を原点とした場合の座標であってもよい。測定領域情報１０３の取得方法としては、例えば、監視サーバ１００は、暫定ネットワークＳＮＥＴを構築する際にセンサノード１０１へ位置の測定を指示する信号を送信することにより、当該信号に対する応答信号として各センサノード１０１の位置を取得する。ここで、ネットワークＳＮＥＴでは、送信先と送信元との距離が信号を直接通信可能な距離以内でない場合、マルチホップ通信を利用したリレー転送によって信号を送信先から送信元まで到達させる。
【００１７】
つぎに、監視サーバ１００は、配置領域ａｒｅａを分割した複数の分割領域ａを示す分割領域情報１０２を取得する。ここでは、監視サーバ１００は、配置領域ａｒｅａを物理的に分割するのではない。監視サーバ１００は、配置領域ａｒｅａを模擬するシミュレーション空間上において配置領域ａｒｅａを複数の分割領域ａに分割し、分割領域ａを示す分割領域情報１０２を生成することにより、分割領域情報１０２を取得する。分割領域情報１０２は、センサノード１０１の位置と同様に緯度や経度などによって表されてもよいし、シミュレーション空間上に定義された軸に基づく座標であってもよい。具体的には、監視サーバ１００は、所定サイズによって配置領域ａｒｅａを分割する。所定サイズは、予め開発者によって定められる。所定サイズが小さいほど、後述する密度がより詳細に特定可能となる。ここでは、配置領域ａｒｅａは、ａ１〜ａ２５までの２５の分割領域ａに分割される。図１では、ａ１〜ａ２５の符号の一部を省略して記載する。
【００１８】
つぎに、監視サーバ１００は、分割領域情報１０２が示す複数の分割領域ａの各々について、接続ノードｃｎｄのうち、取得した測定領域情報１０３が示す測定領域ｓａに分割領域ａの少なくとも一部が含まれる接続ノードｃｎｄの数に応じた値を導出する。ここで、導出される値を密度とも称する。これにより、配置領域ａｒｅａの分布密度が特定可能となる。ここでは、例えば分割領域ａに対応する密度が大きい値であるほど、密度が高いとし、分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄの数が多いとする。これに対して、例えば分割領域ａに対応する密度が小さい値であるほど、密度が低いとし、分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄの数が少ないとする。図１の例では、分割領域ａ２２の密度が最も低く、分割領域ａ１９の密度が最も高い。図１の例では、測定領域ｓａに分割領域ａの少なくとも一部が含まれる接続ノードｃｎｄの数そのものを密度としているが、監視サーバ１００は、測定領域ｓａと分割領域ａとの重複度合いに基づいて密度を増加させる増加量を変えてもよい。
【００１９】
つぎに、監視サーバ１００は、複数の分割領域ａの各々について導出した密度に応じて、ネットワークＳＮＥＴに含まれる通信ノードを変更する制御を行う。例えば、密度が低い分割領域ａについては、冗長ノードｒｎｄの数が多い可能性が高い。換言すると、密度が低い分割領域ａについては、接続ノードｃｎｄの数が少ない可能性が高い。そのため、現状の分割領域ａの測定が行われない可能性が高い。そこで、監視サーバ１００は、複数の冗長ノードｒｎｄから、複数の分割領域ａのうち導出した密度に基づき選択した分割領域ａの少なくとも一部を冗長ノードｒｎｄが有するセンサの測定領域ｓａに含む冗長ノードｒｎｄをネットワークＳＮＥＴに追加する。例えば、選択された分割領域ａは、最も密度が低い分割領域ａであってもよい。または、例えば、監視サーバ１００は、複数の分割領域ａのうち導出した密度が所定条件を満たさない分割領域ａを選択する。所定条件とは、密度が閾値より大きいことや平均の密度との差が特定値より小さいことなどが挙げられる。例えば、そのため、選択された分割領域ａは、密度が閾値以下の分割領域ａであってもよいし、平均の密度より特定値以上小さい分割領域ａなどであってもよい。閾値や特定値とは、開発者によって定められた値である。
【００２０】
ここで、ネットワークＳＮＥＴへ加わることをネットワークＳＮＥＴへ接続するとも称する。より具体的には、監視サーバ１００は、ネットワークＳＮＥＴへの接続を指示する信号を選択した分割領域ａの少なくとも一部をセンサの測定領域ｓａに含む冗長ノードｒｎｄへ送信する。これにより、送信先の冗長ノードｒｎｄが信号を受信することにより、冗長ノードｒｎｄをネットワークＳＮＥＴに追加することができる。また、いずれの冗長ノードｒｎｄを追加するかなどの詳細については後述する。図１の例では、分割領域ａ２２が最も密度が低い分割領域である。そのため、センサノード１０１−３がネットワークＳＮＥＴに追加される。
【００２１】
また、例えば、密度が高い分割領域ａについては、冗長ノードｒｎｄの数が少ない可能性が高い。そのため、分割領域ａの一部を測定領域ｓａに含む接続ノードｃｎｄの故障時に追加可能な冗長ノードｒｎｄがない。そこで、具体的に、監視サーバ１００は、複数の分割領域ａのうち、導出した密度に基づいて選択した分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄからいずれかの接続ノードｃｎｄをネットワークＳＮＥＴから除外する。例えば、選択された分割領域ａは、複数の分割領域ａのうち、導出された密度が最も大きい分割領域ａであってもよいし、密度が閾値より大きい分割領域ａであってもよいし、平均の密度より特定値以上大きい分割領域ａなどであってもよい。閾値や特定値とは、開発者によって定められた値である。
【００２２】
ここで、ネットワークＳＮＥＴから外すことをネットワークＳＮＥＴから切り離すとも称する。より具体的には、監視サーバ１００は、ネットワークＳＮＥＴからの切り離しを指示する信号をいずれかの接続ノードｃｎｄへ送信する。いずれかの接続ノードｃｎｄが、当該信号を受信することにより、ネットワークＳＮＥＴから外れて冗長ノードｒｎｄとなる。また、いずれの接続ノードｃｎｄを切り離すかなどの詳細については後述する。図１の例では、分割領域ａ１９が最も密度が高い分割領域である。そのため、センサノード１０１−２がネットワークＳＮＥＴから除外される。
【００２３】
また、例えば、接続ノードｃｎｄの数を規定数として定めておき、接続ノードｃｎｄ数が規定数を超えないようにネットワークＳＮＥＴへの接続処理やネットワークＳＮＥＴからの切り離し処理を行う。これにより、冗長ノードｒｎｄの過多または過少を抑止でき、配置領域ａｒｅａ内に冗長ノードｒｎｄが均等に設けられるようになる。
【００２４】
図２は、冗長ノードｒｎｄの偏り例を示す説明図である。図２（ａ）には、接続ノードｃｎｄが配置領域ａｒｅａ内に均等に分布している例である。これに対して、図２（ｂ）には、接続ノードｃｎｄが配置領域ａｒｅａに均等に分布していない例である。図２（ｂ）に示すように、配置領域ａｒｅａのうち冗長ノードｒｎｄが固まって配置される領域については、センサによって測定できない。また、ネットワークＳＮＥＴを構築する接続ノードｃｎｄの数が決まっていると、冗長ノードｒｎｄが少なく、かつ接続ノードｃｎｄが固まって配置される領域については、接続ノードｃｎｄが故障した際に替わりとなる冗長ノードｒｎｄがない場合がある。そのため、図２（ａ）のように、接続ノードｃｎｄおよび冗長ノードｒｎｄが均等に配置されるとよい。そこで、図１で説明した監視サーバ１００による通信網制御処理によれば、冗長ノードｒｎｄを均等に分布させることができる。
【００２５】
図３は、本発明にかかるシステムの利用例を示す説明図である。システム３００は、センサノード１０１が互いに通信を行うことによりネットワークＳＮＥＴを形成し、センサのデータを収集できるセンサネットワークシステムである。システム３００は、複数のセンサノード１０１と、監視サーバ１００と、を有する。例えば、図３のシステム３００では、複数のセンサノード１０１を斜面などの配置領域ａｒｅａに設け、センサノード１０１に含まれるセンサなどによって斜面の崩落を監視する。また、斜面に限らず、例えば、複数のセンサノード１０１は圃場や建造物などのコンクリート、土、水、空気などの物質で満たされた配置領域ａｒｅａに設けられてもよい。また、センサノード１０１に含まれるセンサは、例えば、温度や水分量、振動などを測定してもよい。また、管理サーバは、例えば、ゲートウェイ３０１と、アグリゲータａｇと、を介して複数のセンサノード１０１と無線通信する。アグリゲータａｇについては、例えば、複数のセンサノード１０１に含まれるセンサノード１０１であってもよい。図３の例では、アグリゲータａｇは、センサノード１０１−１である。ゲートウェイ３０１は、監視サーバ１００からの信号をアグリゲータａｇへ送信し、アグリゲータａｇからの信号を監視サーバ１００へ送信する。
【００２６】
また、本実施の形態では、複数のセンサノード１０１のうち極少数のセンサノード１０１は、ＧＰＳのように自センサによって位置を測定可能であってもよいし、システム３００の開発者によって位置情報が登録されてもよい。監視サーバ１００は、これらの一部のセンサノード１０１の位置を示す位置情報によって接続ノードｃｎｄの位置を測定してもよい。詳細な測定例については、後述する。ここで、監視サーバ１００は、位置を特定しているセンサノード１０１を基準点ノードとも称する。
【００２７】
（センサノード１０１のハードウェア構成例）
図４は、センサノード１０１のハードウェア構成例を示すブロック図である。センサノード１０１は、センサ４０１と、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）４０２と、タイマ４０３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０５と、不揮発メモリ４０６と、を有する。また、センサノード１０１は、近距離無線回路４０８と、アンテナ４０９と、電源管理ユニット４１０と、バッテリ４１１と、ハーベスタ４１２と、などを有する。また、センサノード１０１は、センサ４０１と、ＭＣＵ４０２と、タイマ４０３と、ＲＯＭ４０４と、ＲＡＭ４０５と、不揮発メモリ４０６と、を接続する内部バス４０７を有する。また、図４中、点線は電源線を示し、実線は信号線を示す。
【００２８】
センサ４０１は、設置箇所における所定の変位量を検出する。センサ４０１は、例えば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。上述したように、センサ４０１によって測定可能な領域は測定領域ｓａである。センサノード１０１の位置から所定距離以内の領域が測定領域ｓａである。所定距離についてはセンサ４０１の種類や性能によって異なる。
【００２９】
アンテナ４０９は、他のセンサノード１０１やゲートウェイ３０１と無線通信する電波を送受信する。例えば、近距離無線回路４０８は、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）である。近距離無線回路４０８は、アンテナ４０９を介して受信した無線電波を受信信号として出力する受信回路４２２と、送信信号を無線電波としてアンテナ４０９を介して送信する送信回路４２１と、を有する。送信回路４２１の送信電力はＭＣＵ４０２によって変更可能としてもよい。また、本実施の形態では、例えば、送信回路４２１の送信電力は、予め定められた距離までに信号が到達可能となるように設定される。
【００３０】
ＭＣＵ４０２は、例えばＲＯＭ４０４に記憶されたプログラムをＲＡＭ４０５にロードして実行することにより、センサノード１０１の全体の制御やデータ処理を行う制御部である。例えば、ＭＣＵ４０２は、センサ４０１が検出したデータを処理する。タイマ４０３は、例えば、ＭＣＵ４０２などによって設定された時間をカウントする。本実施の形態では、例えば、タイマ４０３は、自発的にセンサ４０１によってセンシングするためのセンシング間隔をカウントする。また、例えば、タイマ４０３は、後述する実施例２において、近距離無線回路４０８を停止する所定期間をカウントする。
【００３１】
ＲＯＭ４０４は、ＭＣＵ４０２が実行するプログラムなどを格納する記憶部である。ＲＡＭ４０５は、ＭＣＵ４０２における処理の一時データを格納する記憶部である。不揮発メモリ４０６は、書き込み可能なメモリであって、電力供給が途絶えたときなどにおいても書き込まれた所定のデータを保持する記憶部である。例えば、書き込み可能な不揮発メモリ４０６としては、フラッシュメモリが挙げられる。ＲＯＭ４０４、ＲＡＭ４０５、不揮発メモリ４０６などの記憶部には、例えば、後述する周辺ノードリスト、停止ノードリスト、受信した各信号などの各情報が記憶される。
【００３２】
ハーベスタ４１２は、センサノード１０１の設置箇所における外部環境、例えば、光、振動、温度、無線電波などのエネルギー変化に基づき発電を行う。図４の例では、ハーベスタ４１２が１つだけ設けられているが、これに限らず、同一種類のハーベスタ４１２が複数設けられていてもよいし、異なる種類のハーベスタ４１２が複数設けられていてもよい。ハーベスタ４１２は、センサ４０１によって検出された変位量に応じて発電を行ってもよいし、近距離無線回路４０８によって受信された受信電波の変位量に応じて発電を行ってもよい。バッテリ４１１は、ハーベスタ４１２により発電された電力を蓄える。すなわち、センサノード１０１は、一次電池や外部電源などが設けられず、動作に要する電力を自装置の内部で生成する。電源管理ユニット４１０は、バッテリ４１１によって蓄えられた電力を、センサノード１０１の各部に駆動電源として供給する制御を行う。
【００３３】
（監視サーバ１００のハードウェア構成例）
図５は、監視サーバ１００のハードウェア構成例を示すブロック図である。監視サーバ１００は、センサノード１０１と異なり、外部電源に基づき動作する。監視サーバ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１と、タイマ５０２と、ＲＯＭ５０３と、ＲＡＭ５０４と、ディスクドライブ５０５と、ディスク５０６と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）回路５０７と、を有する。監視サーバ１００は、ＣＰＵ５０１と、タイマ５０２と、ＲＯＭ５０３と、ＲＡＭ５０４と、ディスクドライブ５０５と、Ｉ／Ｏ回路５０７と、を接続する内部バス５１１を有する。
【００３４】
ここで、ＣＰＵ５０１は、監視サーバ１００の全体の制御を司る制御部である。ＲＯＭ５０３は、ブートプログラムなどのプログラムを記憶する記憶部である。ＲＡＭ５０４は、ＣＰＵ５０１のワークエリアとして使用される記憶部である。ディスクドライブ５０５は、ＣＰＵ５０１の制御にしたがってディスク５０６に対するデータのリード／ライトを制御する。ディスク５０６は、ディスクドライブ５０５の制御で書き込まれたデータを記憶する記憶部である。ディスク５０６としては、磁気ディスク、光ディスクなどが挙げられる。
【００３５】
また、Ｉ／Ｏ回路５０７には、無線通信回路５０８およびアンテナ５０９が接続される。これにより、監視サーバ１００は、無線通信回路５０８およびアンテナ５０９を介してゲートウェイ３０１と無線通信することにより、センサノード１０１と無線通信することができる。また、Ｉ／Ｏ回路５０７にはネットワークＩ／Ｆ５１０が接続される。これにより、監視サーバ１００は、ネットワークＩ／Ｆ５１０を介して、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のプロトコル処理などにより、インターネットなどのネットワークＮＥＴを介して利用者端末３０２などの外部装置と通信を行うことができる。また、ネットワークＩ／Ｆ５１０による通信には、有線通信や無線通信を適用することができる。
【００３６】
また、図示していないが、キーボード、マウス、タッチパネルなどの入力装置を監視サーバ１００に設けてもよい。これにより、開発者が入力装置を介して監視サーバ１００を直接操作することが可能となる。また、例えば、ディスプレイ、プリンタ、ブザーなどの出力装置を監視サーバ１００に設けてもよい。また、ゲートウェイ３０１についても同様の構成であってよい。
【００３７】
図６は、信号の基本データ構成例を示す説明図である。信号の基本構成は、ヘッダと、コマンドと、リレー方向と、付加情報と、データと、を有する。ヘッダは、通信プロトコルに基づいて付与されるものである。近距離無線で通信であるセンサノード１０１間の通信と、遠距離無線または有線である監視サーバ１００とアグリゲータａｇとの間の通信と、では通信プロトコルが異なる。そのため、本実施の形態では、複数のセンサノード１０１と監視サーバ１００とを中継するアグリゲートによって各信号ヘッダの付け替えが行われる。
【００３８】
コマンドは、各信号の種別を示す情報である。リレー方向は、どのような送信先であるかを示す情報である。リレー方向としては、Ｐ２Ｐと、ノードと、アグリゲータａｇと、ブロードキャストと、の４種類がある。付加情報は、リレー方向がいずれの種類であるかに応じて異なる。
【００３９】
リレー方向がＰ２Ｐである場合、信号が親ノードと子ノードとの間を送受信されることを示し、付加情報は、送信元を示す識別情報と送信先を示す識別情報とを有する。周辺の接続ノードｃｎｄとの間には、親子関係がある。アグリゲータａｇからの信号の転送時に、送信元となるのが親ノードであり、送信先となるのが子ノードである。アグリゲータａｇへの信号の転送時に、送信元となるのが子ノードであり、送信先となるのが親ノードである。いずれのセンサノード１０１が親ノードであるか、いずれのセンサノード１０１が子ノードであるかなどについては、不揮発メモリ４０６などに記憶される。リレー方向がノードである場合、信号がアグリゲータａｇから指定されたセンサノード１０１にリレー転送によって送信されることを示し、付加情報は、リレー情報を有する。リレー方向がアグリゲータａｇである場合、信号があるセンサノード１０１からアグリゲータａｇへ送信されることを示す。この場合、リレー転送時に各センサノード１０１が親ノードを送信先として信号を転送することによって、信号がアグリゲータａｇまで到達可能であるため、付加情報は、送信元を示す識別情報のみを有する。リレー方向がブロードキャストである場合、信号が周辺のセンサノード１０１全体に送信されるため、付加情報は、送信元を示す識別情報のみを有する。
【００４０】
また、リレー情報は、ホップ回数と、１段目のセンサノード１０１のアドレス、２段目のセンサノード１０１のアドレスなどの信号が経由したセンサノード１０１のアドレスと、を有する。
【００４１】
図７および図８は、各信号のデータ構成例を示す説明図である。センサノード１０１または監視サーバ１００が送信または受信する信号には、探索指示信号ｓ１と、探索信号ｓ２と、探索応答信号ｓ３と、探索結果信号ｓ４と、集約探索結果信号ｓ５と、ネットワーク構築指示信号ｓ６と、測定信号出力指示信号ｓ７と、がある。さらに、センサノード１０１または監視サーバ１００が送信または受信する信号には、測定信号ｓ８と、測定結果信号ｓ９と、接続指示信号ｓ１０と、接続要求信号ｓ１１と、切り離し指示信号ｓ１２と、離脱要求信号ｓ１３と、がある。
【００４２】
まず、探索指示信号ｓ１は、監視サーバ１００がセンサノード１０１に対して、自センサノード１０１が所定強度で送信した信号に対して応答可能なセンサノード１０１の探索を指示する信号である。探索指示信号ｓ１は、ヘッダと、コマンドとして探索指示を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、を有する。
【００４３】
探索信号ｓ２は、監視サーバ１００によって指示されたセンサノード１０１が応答可能なセンサノード１０１を探索する信号である。探索信号ｓ２は、ヘッダと、コマンドとして探索を示す情報と、リレー方向としてブロードキャストを示す情報と、付加情報として送信元を示す識別情報と、を有する。
【００４４】
探索応答信号ｓ３は、探索信号ｓ２に対する応答を示す信号である。探索応答信号ｓ３は、ヘッダと、コマンドとして探索応答を示す情報と、リレー方向としてＰ２Ｐを示す情報と、付加情報として送信先を示す識別情報および送信元を示す識別情報と、データとして位置情報と、を有する。ここでの送信先は探索信号ｓ２の送信元である。ここでＧＰＳのように自センサによって位置を測定可能なセンサノード１０１は探索応答信号ｓ３に位置を示す位置情報を探索応答信号ｓ３に含める。ここで、自センサによって位置を測定可能なセンサノード１０１を基準点ノードとも称する。
【００４５】
探索結果信号ｓ４は、受信した探索応答信号ｓ３に基づく探索結果を有する信号である。例えば、探索結果は、探索されたセンサノード１０１を示す識別情報のリストである。探索結果信号ｓ４は、ヘッダと、コマンドとして探索結果を示す情報と、リレー方向としてＰ２Ｐを示す情報と、付加情報として親ノードの送信先を示す識別情報および送信元を示す識別情報と、を有する。さらに、探索結果信号ｓ４は、データとして発見ノード数とノードを示す識別情報と位置情報などと、を有する。
【００４６】
集約探索結果信号ｓ５は、親ノードが受信した各探索結果信号ｓ４に基づいて集約した結果を有する信号である。例えば、集約探索結果信号ｓ５では、探索結果信号ｓ４に含まれる探索結果を子ノードごとに並べられる。これにより、集約探索結果信号ｓ５によってどの子ノードがどのノードを探索できたのかを判別可能となる。また、これにより、ネットワークＳＮＥＴ構築において、いずれのセンサノード１０１を子ノードとして接続したのかが判別可能となる。集約探索結果信号ｓ５は、ヘッダと、コマンドとして集約探索結果を示す情報と、リレー方向としてアグリゲータａｇを示す情報と、付加情報として送信元を示す識別情報と、を有する。さらに、集約探索結果信号ｓ５は、データとして子ノード数と、子ノードごとに子ノードを示す識別情報と発見ノード数と子ノードが探索したノードアドレスとなどと、を有する。
【００４７】
ネットワーク構築指示信号ｓ６は、監視サーバ１００がセンサノード１０１に対して、ネットワークＳＮＥＴの構築を指示する信号である。ネットワーク構築指示信号ｓ６は、ヘッダと、コマンドとしてネットワークＳＮＥＴ構築指示を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、基準点ノード数と、基準点ノードを示す識別情報などと、を有する。
【００４８】
測定信号出力指示信号ｓ７は、監視サーバ１００がセンサノード１０１に対して位置を測定するための測定信号ｓ８の出力を指示する信号である。測定信号出力指示信号ｓ７は、ヘッダと、コマンドとして測定信号出力指示信号ｓ７を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、を有する。
【００４９】
測定信号ｓ８は、位置を測定するための信号であり、所定強度によって送信される信号である。測定信号ｓ８は、ヘッダと、コマンドとして測定信号ｓ８を示す情報と、リレー方向としてブロードキャストを示す情報と、付加情報として送信元を示す識別情報と、を有する。
【００５０】
測定結果信号ｓ９は、測定信号ｓ８による位置の測定結果を有する信号である。測定結果信号ｓ９は、ヘッダと、コマンドとして測定結果を示す情報と、リレー方向としてアグリゲータａｇを示す情報と、付加情報として送信元を示す識別情報と、を有する。さらに、測定結果信号ｓ９は、データとして、受信された測定信号ｓ８の送信元である基準点ノードを示す識別情報と受信強度との組み合わせを３つと、を有する。
【００５１】
接続指示信号ｓ１０は、対象のセンサノード１０１を子ノードとして接続することを指示する信号である。接続指示信号ｓ１０は、ヘッダと、コマンドとして接続指示を示す情報と、リレー方向としてノードを示す情報と、付加情報として接続対象のセンサノード１０１のリレー情報と、接続対象ノードを示す識別情報と、を有する。
【００５２】
接続要求信号ｓ１１は、接続指示信号ｓ１０によって指示された対象のセンサノード１０１に自センサノード１０１を親ノードとして接続することを要求する信号である。接続要求信号ｓ１１は、ヘッダと、コマンドとして接続要求を示す情報と、リレー方向としてノードを示す情報と、付加情報として送信元と送信先とを示す識別情報と、を有する。
【００５３】
切り離し指示信号ｓ１２は、監視サーバ１００がセンサノード１０１に対してネットワークＳＮＥＴからの切り離しを指示する信号である。切り離し指示信号ｓ１２は、ヘッダと、コマンドとして切り離し指示を示す情報と、リレー方向としてノードを示す情報と、付加情報としてリレー情報と、を有する。
【００５４】
離脱要求信号ｓ１３は、センサノード１０１が親ノードに対して、親子関係の離脱を要求する信号である。離脱要求信号ｓ１３は、ヘッダと、コマンドとして離脱要求を示す情報と、リレー方向としてＰ２Ｐと、付加情報として送信先を示す識別情報および送信元を示す識別情報と、を有する。送信先を示す識別情報としては、親ノードを示す識別情報が設定される。
【００５５】
（監視サーバ１００の機能的構成例）
図９は、監視サーバ１００の機能的構成例を示すブロック図である。監視サーバ１００は、制御部９０１と、受信部９０２と、送信部９０３と、記憶部９０４と、を有する。受信部９０２および送信部９０３は、無線通信回路によって実現される。記憶部９０４は、例えば、ＲＡＭ５０４やディスク５０６などの記憶装置によって実現される。制御部９０１は、例えば、記憶部９０４に記憶されたプログラムをＣＰＵ５０１が読み出し、プログラムにコーディングされた処理を実行することによって実現される。制御部９０１による各種処理結果は、記憶部９０４に記憶されることとする。
【００５６】
図１０は、監視サーバ１００の記憶部９０４の記憶内容例を示す説明図である。記憶部９０４は、例えば、ノード管理情報１００１と、基準点ノード情報１０００と、閾値ｔｈと、規定数ｎｎと、を有する。閾値ｔｈは、密度が低いか否かを判定するための値であり、システム３００の開発者によって定められた値である。規定数ｎｎは、ネットワークＳＮＥＴに含まれる最大のセンサノードの数であり、システム３００の開発者によって定められた値である。例えば、規定数ｎｎは、センサノード１０１の全体数の１／２などとする。最大子ノード数ｍｎは、各センサノード１０１が子ノードとして接続可能なセンサノードの数であり、システム３００の開発者によって定められた値である。例えば、最大子ノード数ｍｎは、各センサノード１０１が信号を転送可能な消費電力量を基準に定めてもよい。転送可能な消費電力量は、例えば、バッテリ４１１に蓄電可能な電力量や各信号の受信および送信に要する消費電力量などによって定まる。
【００５７】
ノード管理情報１００１は、センサノード１０１ごとの親ノードと子ノードと周辺ノードとを示す情報である。例えば、ノード管理情報１００１は、ノードＩＤと、ノード種別と、位置情報と、親ノードＩＤと、子ノード数と、子ノードＩＤと、周辺ノード数と、周辺ノードＩＤと、のフィールドを有する。各フィールドに情報が設定されることにより、レコード（１００１−ｉ）として記憶される。ノードＩＤのフィールドには、センサノード１０１を一意に特定可能な識別情報が設定される。ノード種別のフィールドには、センサノード１０１がいずれの種別であるかが設置される。ここでは、ノード種別としては、アグリゲータａｇ、基準点ノード、通常ノード、冗長ノードｒｎｄがある。通常ノードとは事前に位置が不明であるノードであって、位置測定が行われていないまたは位置測定によって位置が判明しなかったノードである。冗長ノードｒｎｄは、切り離し指示によって切り離されたノードである。ネットワークＳＮＥＴに一度も加入していないノードについても冗長ノードｒｎｄではあるが、監視サーバ１００は、そのセンサノード１０１を示す識別情報などを判別できないため、ノード管理情報１００１に設定できない。そのため、ノード種別として冗長ノードｒｎｄが設定されているセンサノード１０１は、ネットワークＳＮＥＴに一旦加入後、切り離し指示によってネットワークＳＮＥＴから切り離されたノードである。
【００５８】
位置情報のフィールドには、センサノード１０１の位置を示す位置情報が設定される。親ノードＩＤのフィールドには、接続された親ノードを一意に識別可能な識別情報が設定される。子ノード数のフィールドには、接続された子ノードの数が設置される。子ノードＩＤのフィールドには、子ノードを一意に識別可能な識別情報が設定される。周辺ノード数のフィールドには、探索された周辺ノードの数が設定される。周辺ノードＩＤのフィールドには、探索された周辺のセンサノード１０１を一意に識別可能な識別情報が設定される。
【００５９】
基準点ノード情報１０００は、基準点ノードごとに位置情報を記憶する情報である。基準点ノード情報１０００は、基準点ノードＩＤと、位置情報と、のフィールドを有する。各フィールドに情報が設定されることにより、レコード（１０００−ｊ）として記憶される。基準点ノードＩＤのフィールドには、基準点ノードを示す識別情報が設定される。位置情報のフィールドには、基準点ノードの位置を示す情報が設定される。位置を示す情報は、例えば、緯度と経度であってもよいし、監視サーバ１００の位置が明確である場合、監視サーバ１００と基準点ノードとの間の距離であってもよいし、特に限定しない。
【００６０】
図９の説明に戻って、受信部９０２は、アグリゲータａｇからの各種信号を受信する機能を有する。送信部９０３は、アグリゲータａｇへ各種信号を送信する機能を有する。また、制御部９０１は、暫定ネットワーク構築処理と、位置測定処理と、ノード分布密度解析処理と、密度差解消処理と、を行う。また、制御部９０１は、送信部９０３によって送信される信号を生成する機能や受信部９０２によって受信された信号を解析する機能を有する。
【００６１】
（センサノード１０１の機能的構成例）
図１１は、センサノード１０１の機能的構成例を示すブロック図である。センサノード１０１は、制御部１１０１と、受信部１１０２と、送信部１１０３と、記憶部１１０４と、を有する。受信部１１０２は、受信回路４２２によって実現される。送信部１１０３は、送信回路４２１によって実現される。記憶部１１０４は、例えば、ＲＡＭ４０５や不揮発メモリ４０６などの記憶装置によって実現される。制御部１１０１は、例えば、記憶部１１０４に記憶されたプログラムをＭＣＵ４０２が読み出し、プログラムにコーディングされた処理を実行することによって実現される。制御部１１０１による各種処理結果は、記憶部１１０４に記憶されることとする。
【００６２】
図１２は、センサノード１０１の記憶部の記憶内容例を示す説明図である。記憶部１１０４は、例えば、自センサノードＩＤと、接続情報１２００と、位置測定情報１２０１と、を有する。
【００６３】
自センサノードＩＤは、センサノード１０１を一意に特定可能な識別情報である。センサノードの運用開始時に各センサノードにナンバリングしてもよいし、出荷時のセンサノードのシリアルコードなどを自センサノードＩＤとして流用してもよい。接続情報１２００は、ネットワークＳＮＥＴに含まれる場合に、親ノードと、子ノードと、を識別可能な情報である。例えば、接続情報１２００は、親ノードＩＤと、子ノード数と、子ノードＩＤと、のフィールドを有する。親ノードＩＤのフィールドには、親ノードを一意に識別可能な識別情報が設定される。センサノード１０１がアグリゲータａｇである場合、親ノードがないため、親ノードＩＤのフィールドには何も設定されない。子ノード数のフィールドには、子ノードの数が設定される。子ノードＩＤのフィールドには、子ノードを一意に識別可能な識別情報が設定される。各フィールドに情報が設定されることにより、レコード（１２００−ｋ）として記憶される。
【００６４】
位置測定情報１２０１は、送信元ＩＤと、受信強度と、のフィールドを有する。送信元ＩＤのフィールドには、後述する測定信号ｓ８の送信元を一意に識別可能な識別情報が設定される。受信強度のフィールドには、後述する測定信号ｓ８の受信強度が設定される。ここで、受信強度とは、受信した信号の強度を示す。受信強度は、例えば、ＲＳＳＩ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ）であり、受信電力［ｄＢｍ］である。ここでは、配置領域ａｒｅａが平面であるとして、監視サーバ１００が３点測量を利用して各センサノード１０１の位置を判別するとして、送信元ＩＤと受信強度との３つのペアが位置測定情報１２０１に設定されればよい。
【００６５】
図１１の説明に戻って、受信部１１０２は、他のセンサノード１０１または監視サーバ１００からの信号を受信する機能を有する。また、受信部１１０２は、受信した信号の受信強度を計測可能とする。送信部１１０３は、他のセンサノード１０１または監視サーバ１００へ信号を送信する機能を有する。また、送信部１１０３は、所定強度によって信号を送信する。特に上述した測定信号ｓ８や探索信号ｓ２を送信するための強度についてはすべてのセンサノード１０１において同一としておくことにより、監視サーバ１００による各センサノード１０１の位置の特定や探索を容易化できる。制御部１１０１は、探索処理、位置測定処理、ネットワークＳＮＥＴへの接続処理、ネットワークＳＮＥＴからの切り離し処理などを行う。また、制御部１１０１は、送信部１１０３によって送信される信号を生成する機能や受信部１１０２によって受信された信号を解析する機能を有する。本実施の形態では、監視サーバ１００からの信号を直接送受信するのは、アグリゲータａｇのみとする。
【００６６】
＜暫定ネットワーク構築処理＞
まず、図１３に基づいて、監視サーバ１００による暫定ネットワーク構築処理について説明する。
【００６７】
図１３は、暫定ネットワークＳＮＥＴ構築についての動作シーケンス例を示す説明図である。ここでは、ゲートウェイ３０１を省略して記載する。まず、監視サーバ１００は、探索指示信号ｓ１をアグリゲータａｇであるセンサノード１０１−１へ送信する（ステップＳ１３０１）。つぎに、センサノード１０１−１は、探索指示信号ｓ１を受信すると、ブロードキャストにより探索信号ｓ２を送信する（ステップＳ１３０２）。そして、センサノード１０１−２は、センサノード１０１−１からの探索信号ｓ２を受信すると、センサノード１０１−１へ探索応答信号ｓ３を送信する（ステップＳ１３０３）。つぎに、センサノード１０１−１は、センサノード１０１−２から探索応答信号ｓ３を受信すると、他のセンサノード１０１の子ノードでなければ、探索応答信号ｓ３によって作成された探索結果信号ｓ４を監視サーバ１００へ送信する（ステップＳ１３０４）。図１１の例では、理解の容易化のために、センサノード１０１−１から送信された探索信号ｓ２を受信したセンサノード１０１は、センサノード１０１−２の１つだけとしているが、複数のセンサノード１０１から受信してもよい。例えば、センサノード１０１−１は、探索信号ｓ２を送信した後に所定時間以内に受信した探索応答信号ｓ３によって探索結果信号ｓ４を作成してもよい。所定時間については、例えば、システム３００の開発者によって定められた値である。
【００６８】
監視サーバ１００は、探索結果信号ｓ４を受信すると、アグリゲータａｇであるセンサノード１０１−１へネットワーク構築指示信号ｓ６を送信する（ステップＳ１３０５）。つぎに、センサノード１０１−１は、ネットワークＳＮＥＴ構築指示を受信すると、探索された周辺ノード数が最大子ノード数ｍｎよりも少ない場合、探索された周辺ノードのすべてに対して接続指示信号ｓ１０を送信する。また、センサノード１０１−１は、探索された周辺ノード数が最大子ノード数ｍｎ以上である場合、周辺ノードから基準点ノードを選択する。そして、センサノード１０１−１は、選択した基準点ノード数が最大子ノード数ｍｎよりも少ない場合、選択したすべての基準点ノードに対して接続指示信号ｓ１０を送信する。センサノード１０１−１は、選択した基準点ノード数が最大子ノード数ｍｎ以上である場合、選択した基準点ノードから最大子ノード数ｍｎをランダムに選択し、選択した最大子ノード数ｍｎの基準点ノードに対して接続指示信号ｓ１０を送信する。ここでは、センサノード１０１−１は、センサノード１０１−２に対して接続指示信号ｓ１０を送信する（ステップＳ１３０６）。そして、センサノード１０１−１は、接続指示信号ｓ１０の宛先であるセンサノード１０１−２を子ノードとして登録する（ステップＳ１３０７）。センサノード１０１−２は、センサノード１０１−１からの接続指示信号ｓ１０を受信すると、センサノード１０１−１を親ノードとして登録する（ステップＳ１３０８）。
【００６９】
つぎに、センサノード１０１−１は、子ノードに対して探索指示信号ｓ１を送信する（ステップＳ１３０９）。センサノード１０１−１の子ノードであるセンサノード１０１−２は、探索指示信号ｓ１を受信すると、探索信号ｓ２を送信する（ステップＳ１３１０）。図示していないが、センサノード１０１−２は、周辺のセンサノード１０１から探索応答信号ｓ３を受信すると、探索結果信号ｓ４をセンサノード１０１−１へ送信する（ステップＳ１３１１）。ここで、例えば、センサノード１０１−１は、センサノード１０１−２の周辺のセンサノード１０１であるため、探索信号ｓ２を受信可能であるが、すでに暫定のネットワークＳＮＥＴに加入している。そのため、センサノード１０１−１は、探索応答信号ｓ３をセンサノード１０１−２に対して送信しない。センサノード１０１−１は、各子ノードから探索応答信号ｓ３を受信し、探索応答信号ｓ３によって作成された集約探索結果信号ｓ５を監視サーバ１００へ送信する（ステップＳ１３１２）。
【００７０】
監視サーバ１００は、集約探索結果信号ｓ５を受信すると、集約探索結果信号ｓ５に基づいて総ノード数を更新する。そして、監視サーバ１００は、総ノード数が規定数となった場合、暫定のネットワークＳＮＥＴ構築を終了し、総ノード数が規定数未満である場合、探索結果を記録し、親ノード候補を選択する。ここでは、重複がより少ないセンサノード１０１を親ノード候補として選択する。
【００７１】
図１４は、重複が少ないノード例を示す説明図である。例えば、センサノード１０１−ｏは、親ノード候補であるセンサノード１０１−ｎとセンサノード１０１−ｍとの各々からの探索信号ｓ２を受信し、探索信号ｓ２の各々に対する探索応答信号ｓ３を送信する。そのため、監視サーバ１００は、センサノード１０１−ｏは２つのセンサノード１０１に重複していると判断する。例えば、センサノード１０１−ｐは、親ノード候補であるセンサノード１０１−ｍからの探索信号ｓ２だけを受信し、探索信号ｓ２に対する探索応答信号ｓ３を送信する。そのため、監視サーバ１００は、センサノード１０１−ｐは重複していないと判断する。
【００７２】
図１３の説明に戻って、監視サーバ１００は、選択した親ノード候補を宛先としてネットワーク構築指示信号ｓ６を送信する。ここでは、監視サーバ１００は、センサノード１０１−２を宛先としてネットワーク構築指示信号ｓ６を送信する（ステップＳ１３１３）。そして、センサノード１０１−１は、監視サーバ１００から受信したネットワーク構築指示信号ｓ６をセンサノード１０１−２へ転送する（ステップＳ１３１４）。このようにして、マルチホップ通信よるリレー転送が行われ、ネットワーク構築指示信号ｓ６が転送される。
【００７３】
また、監視サーバ１００は、上述したステップＳ１３０６〜ステップＳ１３１４のような処理を繰り返す。そして、監視サーバ１００は、総ノード数が所定ノード数以上となった場合、暫定のネットワークＳＮＥＴ構築を終了する。つぎに、図１５を用いて位置測定処理について説明する。
【００７４】
図１５は、位置測定についての動作シーケンス例を示す説明図である。ここでは、基準点ノードとして、センサノード１０１−Ｎがあり、センサノード１０１−Ｎの周辺にセンサノード１０１−Ｍがあるとして説明する。ここでは、ゲートウェイ３０１を省略して記載する。
【００７５】
まず、監視サーバ１００は、基準点ノードを送信先にした測定信号出力指示信号ｓ７を送信する（ステップＳ１５０１）。基準点ノードについては、基準点ノード情報１０００によって判別可能である。そして、アグリゲータａｇであるセンサノード１０１−１は、測定信号出力指示信号ｓ７を受信すると、測定信号出力指示信号ｓ７を転送する（ステップＳ１５０２）。ここで、具体的に、センサノード１０１は、測定信号出力指示信号ｓ７を受信すると、送信先を示す識別情報によって自センサノード１０１に対する信号であるか否かを判断する。センサノード１０１は、自センサノード１０１に対する信号でないと判断した場合、測定信号出力指示信号ｓ７を転送する。このようなリレー転送によって測定信号出力指示信号ｓ７はセンサノード１０１−Ｎまで到達する。
【００７６】
センサノード１０１−Ｎは、測定信号出力指示信号ｓ７を受信すると、自センサノード１０１に対する信号であると判断し、測定信号ｓ８を所定強度によって送信する（ステップＳ１５０３）。所定強度については予め定められてあるとする。センサノード１０１−Ｎから所定強度によって到達可能な距離までにあるセンサノード１０１は測定信号ｓ８を受信する。例えば、図１５の例では、センサノード１０１−Ｍがセンサノード１０１−Ｎからの測定信号ｓ８を受信する。
【００７７】
そして、センサノード１０１−Ｍは、受信した測定信号ｓ８に含まれる送信元を示す識別情報と、測定信号ｓ８の受信強度と、を記憶部１１０４−Ｍの位置測定情報１２０１に記録する（ステップＳ１５０４）。ここでは、各センサノード１０１の位置を測定するため、センサノード１０１が設けられる領域が平面ならば、３つの基準点ノードからの受信強度が解ればよい。また、測定信号ｓ８を受信したセンサノード１０１は、受信強度によってセンサノード１０１と測定信号ｓ８の送信元との距離を算出してもよい。例えば、センサノード１０１−Ｍは、異なる３つの基準点ノードから測定信号ｓ８を受信すると、３つの測定信号ｓ８の送信先ごとに受信強度を記憶する。そして、センサノード１０１−Ｍは、自センサノード１０１を示す識別情報と、３つの測定信号ｓ８の送信先ごとに送信先を示す識別情報に対応付けた測定信号ｓ８の受信強度と、を有する測定結果信号ｓ９を送信する（ステップＳ１５０５）。図１５の例では、センサノード１０１−Ｍからアグリゲータａｇであるセンサノード１０１−１へ直接測定結果信号ｓ９が送信されているように記載しているが、リレー転送によって測定結果信号ｓ９をセンサノード１０１−１へ到達させてもよい。センサノード１０１−１は、測定結果信号ｓ９を受信すると、測定結果信号ｓ９を監視サーバ１００へ転送する（ステップＳ１５０６）。
【００７８】
つぎに、監視サーバ１００は、センサノード１０１−１からの測定結果信号ｓ９を受信すると、３つの送信元を示す識別情報に対応する３つの位置情報を基準点ノード情報１０００に基づいて取得する。そして、監視サーバ１００は、測定結果信号ｓ９に含まれる送信元を示す識別情報ごとに、送信元を示す識別情報に対応付けられた受信強度に基づいて、送信元とセンサノード１０１−Ｍとの距離を特定する。受信強度は、例えば、アンテナ４０９から得ることができる。センサノード１０１が送信する測定信号ｓ８の送信強度が一定であると、受信強度の損失が大きいセンサノード１０１ほど、測定信号ｓ８の送信元との距離が遠く、受信強度の損失が小さいセンサノード１０１ほど、測定信号ｓ８の送信元との距離が近い。ここで、測定信号ｓ８の送信強度は所定強度とする。所定強度については、送信回路４２１によって設定可能な強度であって、各センサノード１０１において共通の送信強度である。例えば、受信強度に基づいてセンサノード１０１間の距離を算出可能な関数がディスク５０６などの記憶装置に記憶されてある。そして、監視サーバ１００は、当該関数に受信強度を代入することによって、測定信号ｓ８の送信元と測定結果信号ｓ９の送信元との距離を算出する。より具体的には、監視サーバ１００は、受信強度と、測定信号ｓ８の送信強度［ｄＢｍ］と、送信回路４２１の送信アンテナ絶対利得［ｄＢｉ］と、受信回路４２２の受信アンテナ絶対利得［ｄＢｉ］と、に基づいて、受信強度の損失を算出する。監視サーバ１００は、受信強度を与えると受信強度の損失が得られる第１関数に、受信強度を与えることにより、受信強度の損失を算出する。第１関数は、測定信号ｓ８の送信強度と、送信アンテナ絶対利得と、受信アンテナ絶対利得と、の合計値から、与えられた受信強度を引き算することにより、受信強度の損失を得る。送信アンテナ絶対利得と、受信アンテナ絶対利得とは、アンテナ４０９に基づく値であり、固定値であり、予め記憶部９０４に記憶されてある。そして、監視サーバ１００は、損失を与えるとセンサノード１０１間の距離を算出可能な第２関数に、算出した受信強度の損失を与えることにより、測定信号ｓ８の送信元と測定信号ｓ８を受信したセンサノード１０１との間の距離を算出する。第２関数は、以下式（１）である。式（１）内のＬは損失であり、ｄは距離［ｍ］であり、λは波長［ｍ］である。波長λは、固定値であり、予め記憶部９０４に記憶されてある。
【００７９】
【数１】
2015083224.tif 000034
【００８０】
そのため、監視サーバ１００は、３点測量などの方法を利用して、特定された距離と測定信号ｓ８の送信元の位置情報が示す位置とに基づいて、センサノード１０１−Ｍの位置を推定する。そして、監視サーバ１００は、推定したセンサノード１０１−Ｍの位置を示す位置情報を記憶部９０４に格納する。つぎに、監視サーバ１００は、センサノード１０１−Ｍなどのあらたに位置が判明したセンサノード１０１を基準点ノードとする（ステップＳ１５０７）。そして、監視サーバ１００は、基準点ノードを送信先にした測定信号出力指示信号ｓ７を送信する（ステップＳ１５０８）。ここで、監視サーバ１００は、あらたに位置が判明した基準点ノードに対して位置情報を送信しなくてよい。
【００８１】
センサノード１０１−１は、測定信号ｓ８出力信号を受信すると、測定信号出力指示信号ｓ７を転送する（ステップＳ１５０９）。図１５の例では、センサノード１０１−１から送信先であるセンサノード１０１−Ｍへ直接測定信号出力指示信号ｓ７が送信されているように記載しているが、リレー転送によって測定信号出力指示信号ｓ７をセンサノード１０１−Ｍへ到達させてもよい。そして、センサノード１０１−Ｍは、測定信号ｓ８出力信号を受信すると、所定強度によって測定信号ｓ８をブロードキャストする（ステップＳ１５１０）。このようにして、監視サーバ１００は、各センサノード１０１の位置情報を収集する。
【００８２】
また、位置が不明なノードが残っている場合、上述したようにあらたに判別したセンサノード１０１を基準点ノードとして位置の測定信号ｓ８を送信させるようにすることにより、位置測定可能な領域範囲が広がる。また、最終的に全てのセンサノード１０１の位置が判明すれば、位置測定は終了となる。また、監視サーバ１００は、最後に測定信号出力指示信号ｓ７を送信してから、一定時間以上が経過しても測定結果信号ｓ９を受信できない場合、位置測定は終了となる。例えば、一定時間以上が経過しても測定結果信号ｓ９を受信できない場合であっても、最終的に稼働されるセンサノード１０１の密度が均等になればよいため、位置が未定となるセンサノード１０１があってもよい。
【００８３】
＜分布密度解析処理＞
つぎに、監視サーバ１００は、位置測定処理が終了した後、分布密度解析処理を行う。監視サーバ１００は、位置測定が完了した場合、配置領域ａｒｅａを模した領域を所定サイズのマス目に分割した分割領域ａを示す領域情報を生成する。所定サイズについては、システム３００の開発者によって設定されてよく、センサノード１０１から送信される信号の送信強度によって到達可能な距離に基づいて決定される。
【００８４】
図１６は、分布密度解析例を示す説明図である。図１６には、配置領域ａｒｅａがメッシュ状に分割された分割領域ａを示す。図１６に示す通信可能領域ｃａや分割領域ａは、監視サーバ１００のシミュレーション空間上にある領域である。つぎに、監視サーバ１００は、領域情報が示す分割領域ａの各々について、複数のセンサノード１０１の各々についてセンサノード１０１の測定領域ｓａが分割領域ａの少なくとも一部を含むか否かを判定する。測定領域ｓａはセンサ４０１によって測定可能なエリアである。測定領域ｓａは、センサノード１０１の位置と、所定距離ｄ１と、によって決定される。上述したように、各センサノード１０１が有するセンサ４０１は測定可能なエリアが予め決まっている。また、上述したように、所定距離ｄ１は、センサ４０１の種類や性能などに応じて予め定められた値である。例えば、監視サーバ１００は、分割領域ａの各々について、センサノード１０１の測定領域ｓａに少なくとも一部が含まれると判定された場合、分割領域ａについての密度を増やす。また増加する量は測定領域ｓａ内で一定でも構わないし、センサノード１０１との距離に応じて例えばセンサノード１０１に近いほど増加量を増やすようにしても構わない。これは搭載するセンサ４０１の特性に応じて変更可能としてもよい。このようにして、配置領域ａｒｅａ内の分布密度が特定される。また、図１６に示すように、測定領域ｓａと、通信可能領域ｃａとは、異なる。例えば、通信可能領域ｃａは、センサノード１０１の位置と所定距離ｄ２とによって定まる。所定距離ｄ２は、送信回路４２１による信号の送信強度や受信回路４２２の性能などによって定まる。
【００８５】
＜密度差解消処理＞
つぎに、監視サーバ１００は、分布密度解析処理が終了した後、密度差解消処理を行う。例えば、監視サーバ１００は、分割領域ａのうち、密度が閾値ｔｈ以下である分割領域ａがある場合、暫定ネットワークＳＮＥＴの構築時に規定数ｎｎのセンサノード１０１を暫定ネットワークＳＮＥＴに接続させているため、間引き処理を行う。そして、監視サーバ１００は、間引き処理後に、暫定ネットワークＳＮＥＴに冗長ノードｒｎｄを接続するノード追加処理を行う。
【００８６】
間引き処理では、監視サーバ１００は、分割領域ａのうち密度が最も高い分割領域ａを測定領域ｓａに含むセンサノード１０１を切り離す。まず、監視サーバ１００は、密度が最も高い分割領域ａを対象の分割領域ａとして選択する。つぎに、監視サーバ１００は、選択した分割領域ａの少なくとも一部を測定領域ｓａに含むセンサノード１０１の各々に対応して、複数の分割領域ａの各々について、ネットワークＳＮＥＴからセンサノード１０１を除外した場合における密度を導出する。より具体的には、監視サーバ１００は、ネットワークＳＮＥＴからセンサノード１０１を除外した場合における接続ノードｃｎｄのうち、測定領域ｓａに分割領域ａの少なくとも一部が含まれる接続ノードｃｎｄの数に応じた密度を導出する。監視サーバ１００は、導出した密度に基づいて、選択した分割領域ａの少なくとも一部を測定領域ｓａに含むセンサノード１０１から切り離しの対象候補を決定する。例えば、監視サーバ１００は、あるセンサノード１０１を除外する前の場合において導出した密度が閾値ｔｈより大きかったが、除外した場合において導出した密度が閾値ｔｈより小さくなる分割領域ａがある場合、切り離し対象候補として選択しない。
【００８７】
また、監視サーバ１００は、対象の分割領域ａを測定領域ｓａに含むセンサノード１０１の各々について、標準化効果値を算出する。標準化効果値とは、センサノード１０１を切り離すことにより、対象の分割領域ａの密度がどの程度平均密度に近づくかを示す値である。監視サーバ１００は、算出した標準化効果値が最も大きいセンサノード１０１を切り離しの対象候補として決定する。
【００８８】
平均密度は、「センサ４０１が測定可能な測定領域ｓａの面積×規定数ｎｎ」を配置領域ａｒｅａの面積によって割った値である。規定数ｎｎは上述した暫定ネットワークＳＮＥＴに含めることが可能なセンサノード１０１の数である。標準化効果値は、分布密度の解析結果に基づいて対象候補のセンサノード１０１を切り離したと仮定して分布密度を再計算したときに、平均密度に近づく分割領域ａの変化量の総量から密度が平均密度から遠ざかる分割領域ａの変化量の総量を引いたものになる。平均密度に近づくとは平均密度との差が小さくなることを示し、平均密度から遠ざかるとは平均密度との差が大きくなることを示す。センサノード１０１を暫定ネットワークＳＮＥＴから切り離すと、対象の分割領域ａの周辺の分割領域ａの密度は下がるため、標準化効果値は以下式（２）のようになる。
【００８９】
【数２】
2015083224.tif 000035
【００９０】
ここで、σ1iはｉ番目の分割領域ａの切り離し前の密度であり、σ2iはｉ番目の分割領域ａの切り離し後の密度である。σaは上述した平均密度である。式（２）に示すように、標準化効果値は、切り離しによりどの程度平均密度に近づいたかを表すため、切り離し前の密度と平均密度との差分の絶対値から切り離し後の密度と平均密度との差分の絶対値を引いた値の合計値である。ただし、対象候補のセンサノード１０１を切り離しと仮定した結果、密度が閾値ｔｈよりも小さくなる分割領域ａがある場合、監視サーバ１００は、対象候補のセンサノード１０１を切り離し不可のセンサノード１０１とする。
【００９１】
また、監視サーバ１００は、選択した対象の分割領域ａを測定領域ｓａとするセンサノード１０１のうち切り離し可能なセンサノード１０１がない場合、複数の分割領域ａのうち選択済み以外の分割領域ａを対象の分割領域ａとしてあらたに選択する。また、監視サーバ１００は、平均密度よりも密度が高い分割領域ａの中で切り離し可能なセンサノード１０１がなければ、配置領域ａｒｅａを平準化できないことを開発者に通知する。通知方法としては、例えば、ネットワークＳＮＥＴを介して利用者端末３０２へ出力してもよいし、特に限定しない。
【００９２】
監視サーバ１００は、密度が閾値ｔｈよりも小さくなる分割領域ａがない対象候補のセンサノード１０１のうち、標準化効果値が最も大きい対象候補のセンサノード１０１を切り離し対象のセンサノード１０１として選択する。そして、監視サーバ１００は、選択した切り離し対象を送信先とした切り離し指示信号ｓ１２を送信する。
【００９３】
図１７は、接続・切り離しについての動作シーケンス例を示す説明図である。切り離し指示の詳細例については、ステップＳ１７１１〜ステップＳ１７１６に示す。図１７には、センサノード１０１−Ｘの子ノードであるセンサノード１０１−ＹをネットワークＳＮＥＴから切り離す例を示す。ここでは、ゲートウェイ３０１を省略して記載する。
【００９４】
例えば、監視サーバ１００は、センサノード１０１−Ｙを切り離し対象とし、センサノード１０１−Ｙを送信先にした切り離し指示信号ｓ１２をアグリゲータａｇであるセンサノード１０１−１に送信する（ステップＳ１７１１）。センサノード１０１−１は、切り離し指示信号ｓ１２を受信すると、切り離し指示信号ｓ１２を転送する（ステップＳ１７１２）。図１７の例では、センサノード１０１−１からセンサノード１０１−Ｘにはリレー転送によって切り離し指示信号ｓ１２が到達する。センサノード１０１−Ｘは、切り離し指示信号ｓ１２を受信すると、切り離し指示信号ｓ１２を転送する（ステップＳ１７１３）。センサノード１０１−Ｙは、切り離し指示信号ｓ１２を受信すると、離脱要求信号ｓ１３を親ノードであるセンサノード１０１−Ｘへ送信する（ステップＳ１７１４）。
【００９５】
センサノード１０１−Ｙは、センサノード１０１−Ｘを親ノードから削除して冗長動作モードへ遷移する（ステップＳ１７１５）。冗長動作モードへ遷移すると、測定動作や転送動作などを行わなくなる。センサノード１０１−Ｘは、離脱要求信号ｓ１３を受信すると、センサノード１０１−Ｙを子ノードから削除する（ステップＳ１７１６）。これにより、センサノード１０１−Ｙを暫定ネットワークＳＮＥＴから切り離すことができる。
【００９６】
つぎに、間引き処理が完了したら、監視サーバ１００は、低密度である分割領域ａにセンサノード１０１をネットワークＳＮＥＴに追加するノード追加処理を行う。追加されるセンサノード１０１があるか否かは不明であるため、監視サーバ１００は、平準化効果値を利用できない。そこで、監視サーバ１００は、複数の分割領域ａの中から密度が最小の分割領域ａを追加の対象候補の分割領域ａとして選択する。そして、監視サーバ１００は、対象候補の分割領域ａの少なくとも一部を測定領域ｓａに含むセンサノード１０１を送信先とした探索指示信号ｓ１を送信する。または、監視サーバ１００は、対象候補の分割領域ａの少なくとも一部を通信可能領域ｃａに含むセンサノード１０１を送信先とした探索指示信号ｓ１を送信する。
【００９７】
センサノード１０１は、自センサノード１０１が送信先である探索指示信号ｓ１を受信すると、探索処理を行う。探索処理については、図１３に示したシーケンスと同じであるため、詳細な説明を省略する。つぎに、監視サーバ１００は、集約探索結果信号ｓ５を受信すると、探索指示信号ｓ１の送信先の周辺に接続実績のない冗長ノードｒｎｄがあるか否かを判断する。監視サーバ１００は、接続実績のない冗長ノードｒｎｄがあると判断された場合、子ノード接続が可能であるか否かを判断する。監視サーバ１００は、探索指示信号ｓ１の送信先が有する子ノードの数が最大子ノード数ｍｎである場合、子ノード接続が可能でないと判断する。監視サーバ１００は、探索指示信号ｓ１の送信先が有する子ノードの数が最大子ノード数ｍｎより少ない場合、子ノード接続が可能であると判断する。監視サーバ１００は、選択した接続ノードｃｎｄを送信先にした接続実績のない冗長ノードｒｎｄのうちの１つに接続指示信号ｓ１０を送信する。
【００９８】
図１７において、接続指示の詳細例については、ステップＳ１７０１〜ステップＳ１７０５に示す。図１７には、センサノード１０１−Ｘの子ノードとしてセンサノード１０１−Ｙを接続する例を示す。
【００９９】
監視サーバ１００は、センサノード１０１−Ｘを送信先にし、センサノード１０１−Ｙを接続させることを指示する接続指示信号ｓ１０を送信する（ステップＳ１７０１）。アグリゲータａｇであるセンサノード１０１−１は、接続指示信号ｓ１０を受信すると、接続指示信号ｓ１０を転送する（ステップＳ１７０２）。図１７の例では、センサノード１０１−１からセンサノード１０１−Ｘにはリレー転送によって接続指示信号ｓ１０が到達する。つぎに、センサノード１０１−Ｘは、接続指示信号ｓ１０を受信すると、センサノード１０１−Ｙを送信先にした接続要求信号ｓ１１を送信する（ステップＳ１７０３）。そして、センサノード１０１−Ｘは、センサノード１０１−Ｙを子ノードとして記録する（ステップＳ１７０４）。また、センサノード１０１−Ｙは、接続要求信号ｓ１１を受信すると、センサノード１０１−Ｘを親ノードとして記録する（ステップＳ１７０５）。これにより、ネットワークＳＮＥＴにセンサノード１０１を追加することができる。
【０１００】
また、上述したように、探索指示信号ｓ１の送信先が有する子ノードの数が最大子ノード数ｍｎである場合、監視サーバ１００は、子ノード接続が可能でないと判断する。このように判断された場合、監視サーバ１００は、探索指示信号ｓ１の送信先にすでに接続済みの子ノードを切り離し、接続実績のない冗長ノードｒｎｄのうちの１つを接続してもよい。ただし、監視サーバ１００は、すでに接続済みの子ノードを切り離した場合に、密度が閾値ｔｈ以下となる分割領域ａがある場合には、切り離しを行わないこととする。また、切り離しが行えないため、あらたにセンサノード１０１をネットワークＳＮＥＴに追加できない場合、監視サーバ１００は、均一化できない旨を示す情報を開発者に通知してもよい。例えば、監視サーバ１００は、均一化できない旨を示す情報を利用者端末３０２に送信する。均一化できない旨を示す情報には、いずれの分割領域ａの密度が閾値ｔｈ以下となっているかなどを示す情報が含まれていてもよい。または、均一化できない旨を示す情報には、すべての分割領域ａに対応する密度を含めてもよい。
【０１０１】
（監視サーバ１００による通信網制御処理手順例）
図１８は、監視サーバ１００による通信網制御処理手順例を示すフローチャートである。監視サーバ１００は、暫定ネットワーク構築処理を行う（ステップＳ１８０１）。つぎに、監視サーバ１００は、位置測定処理を行う（ステップＳ１８０２）。そして、監視サーバ１００は、分布密度解析処理を行う（ステップＳ１８０３）。監視サーバ１００は、密度が閾値ｔｈ以下の分割領域ａがあるか否かを判断する（ステップＳ１８０４）。
【０１０２】
密度が閾値ｔｈ以下の分割領域ａがある場合（ステップＳ１８０４：Ｙｅｓ）、監視サーバ１００は、密度差解消処理を行い（ステップＳ１８０５）、ステップＳ１８０２へ戻る。密度が閾値ｔｈ以下の分割領域ａがない場合（ステップＳ１８０４：Ｎｏ）、監視サーバ１００は、一連の処理を終了する。これにより、構築されたネットワークＳＮＥＴの運用が開始可能となる。
【０１０３】
図１９および図２０は、監視サーバ１００による暫定ネットワーク構築処理手順例を示すフローチャートである。監視サーバ１００は、アグリゲータａｇへ探索指示信号ｓ１を送信する（ステップＳ１９０１）。監視サーバ１００は、受信待ち状態となる（ステップＳ１９０２）。そして、監視サーバ１００は、探索結果信号ｓ４を受信したか否かを判断する（ステップＳ１９０３）。まだ受信していないと判断された場合（ステップＳ１９０３：Ｎｏ）、監視サーバ１００は、ステップＳ１９０３へ戻る。受信したと判断された場合（ステップＳ１９０３：Ｙｅｓ）、監視サーバ１００は、探索結果を格納する（ステップＳ１９０４）。ここでは、監視サーバ１００は、受信した探索結果に基づいてノード管理情報１００１へアグリゲータａｇについてのレコードを設定する。監視サーバ１００は、アグリゲータａｇへネットワーク構築指示信号ｓ６を送信する（ステップＳ１９０５）。そして、監視サーバ１００は、受信待ち状態となる（ステップＳ１９０６）。
【０１０４】
つぎに、監視サーバ１００は、ネットワークＳＮＥＴ構築指示に対する集約探索結果信号ｓ５を受信したか否かを判断する（ステップＳ２００１）。集約探索結果信号ｓ５を受信していないと判断された場合（ステップＳ２００１：Ｎｏ）、監視サーバ１００は、ステップＳ２００１へ戻る。集約探索結果信号ｓ５を受信したと判断された場合（ステップＳ２００１：Ｙｅｓ）、監視サーバ１００は、総ノード数を更新する（ステップＳ２００２）。
【０１０５】
監視サーバ１００は、規定数ｎｎを超えたか否かを判断する（ステップＳ２００３）。規定数ｎｎを超えたと判断された場合（ステップＳ２００３：Ｙｅｓ）、監視サーバ１００は、暫定ネットワーク構築処理についての一連の処理を終了する。規定数ｎｎを超えていないと判断された場合（ステップＳ２００３：Ｎｏ）、監視サーバ１００は、探索結果を格納する（ステップＳ２００４）。
【０１０６】
そして、監視サーバ１００は、親ノード候補を選択する（ステップＳ２００５）。監視サーバ１００は、親ノード候補があるか否かを判断する（ステップＳ２００６）。親ノード候補がないと判断された場合（ステップＳ２００６：Ｎｏ）、監視サーバ１００は、暫定ネットワーク構築処理についての一連の処理を終了する。
【０１０７】
つぎに、親ノード候補があると判断された場合（ステップＳ２００６：Ｙｅｓ）、監視サーバ１００は、親ノード候補を送信先としたネットワーク構築指示信号ｓ６を送信する（ステップＳ２００７）。そして、監視サーバ１００は、受信待ち状態となり（ステップＳ２００８）、ステップＳ２００１へ戻る。このように、ステップＳ２００１からステップＳ２００７の処理が繰り返されることにより、規定数ｎｎのセンサノード１０１を含む暫定ネットワークＳＮＥＴが構築される。
【０１０８】
図２１は、監視サーバ１００による位置測定処理手順例を示すフローチャートである。監視サーバ１００は、探索結果から暫定ネットワークＳＮＥＴに接続されている基準点ノードを特定する（ステップＳ２１０１）。監視サーバ１００は、全基準点ノードを送信先にした測定信号出力指示信号ｓ７を送信する（ステップＳ２１０２）。監視サーバ１００は、タイムアウト時間をタイマ５０２に設定して受信待ち状態になる（ステップＳ２１０３）。監視サーバ１００は、信号を受信したか否かを判断する（ステップＳ２１０４）。
【０１０９】
信号を受信していないと判断された場合（ステップＳ２１０４：Ｎｏ）、監視サーバ１００は、タイムアウトしたか否かを判断する（ステップＳ２１０５）。タイムアウトしたと判断された場合（ステップＳ２１０５：Ｙｅｓ）、監視サーバ１００は、位置測定処理に関する一連の処理を終了する。タイムアウトしていないと判断された場合（ステップＳ２１０５：Ｎｏ）、監視サーバ１００は、ステップＳ２１０４へ戻る。
【０１１０】
信号を受信したと判断された場合（ステップＳ２１０４：Ｙｅｓ）、監視サーバ１００は、受信した測定情報信号から送信元の位置を推定して記録する（ステップＳ２１０６）。ここでは、監視サーバ１００は、３点測量を利用して、測定情報信号に含まれる測定信号ｓ８の送信元と受信強度との３つの組み合わせに基づいて、測定情報信号の送信元の位置を推定する。
【０１１１】
つぎに、監視サーバ１００は、位置が不明なセンサノード１０１があるか否かを判断する（ステップＳ２１０７）。ここでは、監視サーバ１００は、ノード管理情報１００１にレコードが設定されてあるセンサノード１０１について位置が不明か否かを判断する。位置が不明なセンサノード１０１がないと判断された場合（ステップＳ２１０７：Ｎｏ）、監視サーバ１００は、位置測定処理に関する一連の処理を終了する。
【０１１２】
位置が不明なセンサノード１０１があると判断された場合（ステップＳ２１０７：Ｙｅｓ）、監視サーバ１００は、測定情報信号の送信元を送信先にした測定信号出力指示信号ｓ７を送信し（ステップＳ２１０８）、ステップＳ２１０３へ戻る。
【０１１３】
図２２は、監視サーバ１００による分布密度解析処理手順例を示すフローチャートである。監視サーバ１００は、配置領域ａｒｅａを複数の分割領域ａに分割した分割領域情報１０２を生成する（ステップＳ２２０１）。つぎに、監視サーバ１００は、暫定ネットワークＳＮＥＴに含まれる接続ノードｃｎｄの位置を示す位置情報を取得する（ステップＳ２２０２）。
【０１１４】
監視サーバ１００は、位置が判明済みの接続ノードｃｎｄのうち、未選択の接続ノードｃｎｄがあるか否かを判断する（ステップＳ２２０３）。未選択の接続ノードｃｎｄがないと判断された場合（ステップＳ２２０３：Ｎｏ）、監視サーバ１００は、一連の処理を終了する。未選択の接続ノードｃｎｄがあると判断された場合（ステップＳ２２０３：Ｙｅｓ）、監視サーバ１００は、未選択の接続ノードｃｎｄから１つの接続ノードｃｎｄを選択する（ステップＳ２２０４）。監視サーバ１００は、選択した接続ノードｃｎｄの位置と、所定距離と、に基づいて、選択した接続ノードｃｎｄが有するセンサの測定領域ｓａを特定する（ステップＳ２２０５）。ここで、監視サーバ１００は、特定した測定領域ｓａを示す測定領域情報１０３を記憶部９０４に格納する。
【０１１５】
監視サーバ１００は、複数の分割領域ａのうち、少なくとも一部が特定した測定領域ｓａに含まれる分割領域ａを特定する（ステップＳ２２０６）。そして、監視サーバ１００は、特定した分割領域ａと選択した接続ノードｃｎｄとに基づき特定した分割領域ａに対応する密度を増加させ（ステップＳ２２０７）、ステップＳ２２０３へ戻る。
【０１１６】
図２３は、監視サーバ１００による密度差解消処理手順例を示すフローチャートである。まず、監視サーバ１００は、間引き処理を行う（ステップＳ２３０１）。そして、監視サーバ１００は、ノード追加処理を行い（ステップＳ２３０２）、密度差解消処理に関する一連の処理を終了する。このように、監視サーバ１００は、間引いた後に、接続ノードｃｎｄを追加することにより、暫定ネットワークＳＮＥＴに接続されるセンサノード１０１の数は変更しないようにできる。
【０１１７】
図２４は、監視サーバ１００による間引き処理手順例を示すフローチャートである。監視サーバ１００は、未選択の分割領域ａのうち、密度が最大の分割領域ａを選択する（ステップＳ２４０１）。監視サーバ１００は、選択可能な分割領域ａがあるか否かを判断する（ステップＳ２４０２）。選択可能な分割領域ａがあると判断された場合（ステップＳ２４０２：Ｙｅｓ）、監視サーバ１００は、選択した分割領域ａの少なくとも一部を測定領域ｓａに含む接続ノードｃｎｄについて標準化効果値を算出する（ステップＳ２４０３）。監視サーバ１００は、切り離し可能な接続ノードｃｎｄがあるか否かを判断する（ステップＳ２４０４）。切り離し可能な接続ノードｃｎｄがないと判断された場合（ステップＳ２４０４：Ｎｏ）、監視サーバ１００は、ステップＳ２４０２へ戻る。切り離し可能な接続ノードｃｎｄがあると判断された場合（ステップＳ２４０４：Ｙｅｓ）、監視サーバ１００は、標準化効果値が最大の接続ノードｃｎｄを送信先にした切り離し指示信号ｓ１２を送信し（ステップＳ２４０５）、間引き処理に関する一連の処理を終了する。選択可能な分割領域ａがないと判断された場合（ステップＳ２４０２：Ｎｏ）、監視サーバ１００は、均一化できない旨を通知し（ステップＳ２４０６）、エラーが発生したとして、すべての処理を終了する。
【０１１８】
図２５は、監視サーバ１００によるノード追加処理手順例を示すフローチャートである。監視サーバ１００は、未選択の分割領域ａのうち、密度が最小の分割領域ａを選択する（ステップＳ２５０１）。監視サーバ１００は、選択した分割領域ａの少なくとも一部を通信可能領域ｃａに含む接続ノードｃｎｄを特定して選択する（ステップＳ２５０２）。監視サーバ１００は、選択可能な接続ノードｃｎｄがあるか否かを判断する（ステップＳ２５０３）。選択可能な接続ノードｃｎｄがあると判断された場合（ステップＳ２５０３：Ｙｅｓ）、監視サーバ１００は、選択した接続ノードｃｎｄを送信先にした探索指示信号ｓ１を送信する（ステップＳ２５０４）。
【０１１９】
つぎに、監視サーバ１００は、周辺に接続実績のない冗長ノードｒｎｄがあるか否かを判断する（ステップＳ２５０５）。周辺に接続実績のない冗長ノードｒｎｄがないと判断された場合（ステップＳ２５０５：Ｎｏ）、監視サーバ１００は、ステップＳ２５０３へ戻る。一方、周辺に接続実績のない冗長ノードｒｎｄがあると判断された場合（ステップＳ２５０５：Ｙｅｓ）、監視サーバ１００は、子ノード接続が可能であるか否かを判断する（ステップＳ２５０６）。子ノード接続が可能であると判断された場合（ステップＳ２５０６：Ｙｅｓ）、監視サーバ１００は、選択した接続ノードｃｎｄを送信先にした接続実績のない冗長ノードｒｎｄのうちの１つに接続指示信号ｓ１０を送信し（ステップＳ２５０７）、ノード追加処理に関する一連の処理を終了する。子ノード接続が可能でないと判断された場合（ステップＳ２５０６：Ｎｏ）、監視サーバ１００は、ステップＳ２５０３へ戻る。
【０１２０】
選択可能な接続ノードｃｎｄがないと判断された場合（ステップＳ２５０３：Ｎｏ）、監視サーバ１００は、接続実績のない冗長ノードｒｎｄが見つかっていたか否かを判断する（ステップＳ２５０８）。接続実績があるか否かに関する情報は記憶部９０４に記憶しておいてもよい。監視サーバ１００は、センサノード１０１をいずれかの子ノードとして設定した後にネットワークＳＮＥＴから切り離す際、当該センサノード１０１を示す識別情報と子ノードとして設定されたことがあることを示す情報とを関連付けて記憶部９０４に記憶しておく。
【０１２１】
接続実績のない冗長ノードｒｎｄが見つかっていたと判断された場合（ステップＳ２５０８：Ｙｅｓ）、監視サーバ１００は、接続実績のない冗長ノードｒｎｄを見つけた接続ノードｃｎｄの子ノードの各々について、切り離した対象とした場合の標準化効果値を算出する（ステップＳ２５０９）。つぎに、監視サーバ１００は、切り離し可能な接続ノードｃｎｄがあるか否かを判断する（ステップＳ２５１０）。ここでは、監視サーバ１００は、切り離し対象を切り離したと仮定した場合に密度が閾値ｔｈ以下となる分割領域ａがない切り離し対象候補から切り離し対象を決定する。そのため、密度が閾値ｔｈ以下となる分割領域ａがない切り離し対象がない場合、切り離し可能な接続ノードｃｎｄがないと判断される。
【０１２２】
切り離し可能な接続ノードｃｎｄがあると判断された場合（ステップＳ２５１０：Ｙｅｓ）、監視サーバ１００は、標準化効果値が最大の接続ノードｃｎｄを送信先にした切り離し指示信号ｓ１２を送信し（ステップＳ２５１１）、ステップＳ２５０７へ移行する。接続実績のない冗長ノードｒｎｄが見つかっていなかったと判断された場合（ステップＳ２５０８：Ｎｏ）、監視サーバ１００は、均一化できない旨を開発者に通知し（ステップＳ２５１２）、エラーとして一連の処理を終了する。通知方法は、例えば、利用者端末３０２への均一化できない旨を示す情報を送信するなどが挙げられる。また、切り離し可能な接続ノードｃｎｄがないと判断された場合（ステップＳ２５１０：Ｎｏ）、監視サーバ１００は、ステップＳ２５１２へ移行する。
【０１２３】
（センサノード１０１が行う処理手順例）
図２６〜図２９は、センサノード１０１が行う処理手順例を示すフローチャートである。センサノード１０１は、起動すると（ステップＳ２６０１）、信号受信待ち状態となる（ステップＳ２６０２）。つぎに、センサノード１０１は、信号を受信したか否かを判断する（ステップＳ２６０３）。受信していないと判断された場合（ステップＳ２６０３：Ｎｏ）、センサノード１０１は、ステップＳ２６０３へ戻る。
【０１２４】
つぎに、ステップＳ２６０３において、探索指示信号ｓ１を受信したと判断された場合（ステップＳ２６０３：探索指示）、センサノード１０１は、周辺ノードを探索する（ステップＳ２６０４）。そして、センサノード１０１は、親ノードまたはゲートウェイ３０１を送信先にした探索結果信号ｓ４を送信し（ステップＳ２６０５）、ステップＳ２６０２へ戻る。ゲートウェイ３０１を送信先に設定可能なセンサノード１０１は、アグリゲータａｇだけである。
【０１２５】
つぎに、ステップＳ２６０３において、集約探索結果信号ｓ５を受信したと判断された場合（ステップＳ２６０３：集約探索結果）、センサノード１０１は、受信した集約探索結果をゲートウェイ３０１に送信する（ステップＳ２７０１）。そして、センサノード１０１は、指示受信待ち状態となり（ステップＳ２７０２）、ステップＳ２６０３へ戻る。
【０１２６】
つぎに、ステップＳ２６０３において、測定信号出力指示信号ｓ７を受信したと判断された場合（ステップＳ２６０３：測定信号出力指示）、センサノード１０１は、測定信号ｓ８を送信する（ステップＳ２７１１）。そして、センサノード１０１は、指示受信待ち状態となり（ステップＳ２７１２）、ステップＳ２６０３へ戻る。測定信号ｓ８を受信したと判断された場合（ステップＳ２６０３：測定）、センサノード１０１は、測定情報送信済みか否かを判断する（ステップＳ２７２１）。すでに位置測定が完了していれば、測定情報送信済みと判断される。
【０１２７】
測定情報送信済みであると判断された場合（ステップＳ２７２１：Ｙｅｓ）、センサノード１０１は、ステップＳ２７２５へ移行する。測定情報送信済みでないと判断された場合（ステップＳ２７２１：Ｎｏ）、センサノード１０１は、送信元ＩＤと受信強度を記録する（ステップＳ２７２２）。そして、センサノード１０１は、異なる送信元である測定信号ｓ８を所定数受信したか否かを判断する（ステップＳ２７２３）。所定数とは、例えば、予め定められた値であり、上述したように配置領域ａｒｅａが平面であれば、所定数は３でよい。
【０１２８】
所定数受信していないと判断された場合（ステップＳ２７２３：Ｎｏ）、センサノード１０１は、ステップＳ２７２５へ移行する。所定数受信したと判断された場合（ステップＳ２７２３：Ｙｅｓ）、センサノード１０１は、アグリゲータａｇへ記録した測定情報を含む測定情報信号を送信する（ステップＳ２７２４）。つぎに、センサノード１０１は、指示受信待ち状態となり（ステップＳ２７２５）、ステップＳ２６０３へ戻る。
【０１２９】
つぎに、ネットワーク構築指示信号ｓ６を受信したと判断された場合（ステップＳ２６０３：ネットワーク構築指示）、センサノード１０１は、周辺ノード数＞最大子ノード数ｍｎであるか否かを判断する（ステップＳ２８０１）。周辺ノード数＞最大子ノード数ｍｎであると判断された場合（ステップＳ２８０１：Ｙｅｓ）、センサノード１０１は、周辺ノードから基準点ノードを選別する（ステップＳ２８０２）。
【０１３０】
つぎに、センサノード１０１は、基準点ノード数＞最大子ノード数ｍｎであるか否かを判断する（ステップＳ２８０３）。基準点ノード数＞最大子ノード数ｍｎであると判断された場合（ステップＳ２８０３：Ｙｅｓ）、センサノード１０１は、基準点ノードの中から最大子ノード数ｍｎ内でランダムにセンサノード１０１を選択して接続する（ステップＳ２８０４）。つぎに、センサノード１０１は、全子ノードへ探索指示信号ｓ１を送信する（ステップＳ２８０８）。そして、センサノード１０１は、送信した探索指示信号ｓ１に対する探索結果受信待ち状態となる（ステップＳ２８０９）。
【０１３１】
そして、センサノード１０１は、探索結果信号ｓ４を受信すると、集約探索結果、子ノード情報をアグリゲータａｇまたはゲートウェイ３０１に送信する（ステップＳ２８１０）。センサノード１０１は、指示受信待ち状態となり（ステップＳ２８１１）、ステップＳ２６０３へ戻る。
【０１３２】
ステップＳ２８０３において、基準点ノード数＞最大子ノード数ｍｎでないと判断された場合（ステップＳ２８０３：Ｎｏ）、センサノード１０１は、全基準点ノードを接続する（ステップＳ２８０５）。そして、センサノード１０１は、最大子ノード数ｍｎ内でランダムにセンサノード１０１を選択して接続し（ステップＳ２８０６）、ステップＳ２８０８へ移行する。
【０１３３】
ステップＳ２８０１において、周辺ノード数＞最大子ノード数ｍｎでないと判断された場合（ステップＳ２８０１：Ｎｏ）、センサノード１０１は、周辺の全センサノード１０１を接続し（ステップＳ２８０７）、ステップＳ２８０８へ移行する。
【０１３４】
つぎに、ステップＳ２６０３において、接続指示信号ｓ１０を受信したと判断された場合（ステップＳ２６０３：接続指示）、センサノード１０１は、接続指示信号ｓ１０によって指示されたセンサノード１０１を子ノードとして出力する（ステップＳ２９０１）。そして、センサノード１０１は、受信待ち状態となり（ステップＳ２９０２）、ステップＳ２６０３へ戻る。
【０１３５】
つぎに、ステップＳ２６０３において、切り離し指示信号ｓ１２を受信したと判断された場合（ステップＳ２６０３：切り離し指示）、センサノード１０１は、親ノードへ離脱要求信号ｓ１３を送信する（ステップＳ２９１１）。センサノード１０１は、冗長動作モードへ遷移する（ステップＳ２９１２）。そして、センサノード１０１は、受信待ち状態となり（ステップＳ２９１３）、ステップＳ２６０３へ戻る。
【０１３６】
以上説明したように、監視サーバ１００は、配置領域の分割領域ごとに、該分割領域を測定領域に少なくとも一部が含まれるネットワークＳＮＥＴの接続ノードの数を解析し、解析結果によってネットワークの接続ノードを変更する。これにより、冗長ノードの分布を均一化させることができ、信頼性の向上を図ることができる。
【０１３７】
また、監視サーバ１００は、接続ノードの数に応じた密度に基づいて選択した分割領域の少なくとも一部をセンサの測定領域に含む冗長ノードをネットワークに追加する制御を行う。具体的には、監視サーバ１００は、選択した分割領域の少なくとも一部をセンサノードが有するセンサの測定領域に含む通信ノードへネットワークに加わることを指示する信号を送信する。これにより、接続ノードの分布を均一化させることができ、配置領域を均等に測定可能となる。
【０１３８】
また、選択した分割領域は、接続ノードの数に応じた値が最も小さい分割領域である。これにより、センサノードによって測定される可能性が低い領域が測定可能とする。
【０１３９】
また、監視サーバ１００は、複数の構築ノードのうち、選択した分割領域の少なくとも一部を通信可能領域に含む構築ノードを特定し、特定した構築ノードの周辺のノードをネットワークに追加するように制御する。
【０１４０】
また、監視サーバ１００は、複数の構築ノードのうち、選択した分割領域の少なくとも一部を測定領域に含む構築ノードから選択した構築ノードをネットワークから除外する。ここで選択した分割領域は、複数の分割領域のうち、導出した値が最も大きい分割領域である。具体的には、監視サーバ１００は、選択した構築ノードへネットワークから除外することを指示する信号を送信する。これにより、配置領域に均等に冗長ノードを設けることができる。
【０１４１】
また、監視サーバ１００は、選択した分割領域の少なくとも一部を測定領域に含む構築ノードから切り離し対象を決定する際に、該構築ノードの各々について切り離したと仮定した場合における分割領域の各々についての密度を導出する。そして、監視サーバ１００は、導出した密度に基づいて切り離し対象を決定する。
【０１４２】
また、監視サーバ１００は、ネットワークから構築ノードを除外した後に、ネットワークに冗長ノードを追加する制御を行う。これにより、除外された数と追加する数とが一致するため、ネットワーク内の構築ノードの数を一定にすることができる。したがって、冗長ノードの数が少なすぎたり、多すぎたりすることを防ぐことができ、長期の信頼性の向上を図ることができる。
【０１４３】
また、監視サーバ１００は、複数の分割領域のうち、導出した密度が所定条件を満たさない分割領域がない場合、変更する制御を行う処理を実行しない。監視サーバ１００は、複数の分割領域のうち、導出した密度が所定条件を満たさない分割領域がある場合、変更する制御を行う処理を実行する。これにより、配置領域に均等に冗長ノードが設けられていない場合にだけ、ネットワークを変更することができる。
【０１４４】
また、監視サーバ１００は、構築ノードのうちすでに位置が判明済みの構築ノードに対して周辺に測定信号の出力を指示する信号を送信する。そして、監視サーバ１００は、判明済みの構築ノードからの測定信号を所定数受信した構築ノードから測定信号の受信強度と測定信号の送信元を示す識別情報との所定数の組み合わせを受信する。監視サーバ１００は、所定数の組み合わせと、判明済みの構築ノードの位置と、に基づいて、受信した構築ノードの位置を特定する。これにより、すべてのセンサノードについて事前に位置が判明していなくとも、ネットワークに含まれるセンサノードの位置が特定可能であり、センサノードの測定領域が特定可能である。したがって、すべてのセンサノードにＧＰＳユニットを搭載しなくてよいため、低廉化を図ることができる。
【０１４５】
また、すべてのセンサノードをネットワークに含めないため、監視サーバ１００が管理するためのネットワークに含まれるセンサノードに関する情報量を低減させることができる。
【０１４６】
なお、本実施の形態で説明した通信網制御方法は、予め用意された通信網制御プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通信網制御プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、通信網制御プログラムは、インターネット等のネットワークＮＥＴを介して配布してもよい。
【０１４７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４８】
（付記１）コンピュータが、
配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行することを特徴とする通信網制御方法。
【０１４９】
（付記２）前記変更する制御を行う処理では、前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードから、前記複数の分割領域のうち導出した前記値に基づき選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードを前記通信網に追加することを特徴とする付記１に記載の通信網制御方法。
【０１５０】
（付記３）前記変更する制御を行う処理は、選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードへ前記通信網に加わることを指示する信号を送信することを特徴とする付記２に記載の通信網制御方法。
【０１５１】
（付記４）選択した前記分割領域は、前記複数の分割領域のうち、導出した前記値が最も小さい分割領域であることを特徴とする付記２または３に記載の通信網制御方法。
【０１５２】
（付記５）前記コンピュータが、
前記一部の通信ノードの各々について、前記通信ノードの通信可能領域を示す通信可能領域情報を取得し、
前記一部の通信ノードのうち、選択した前記分割領域の少なくとも一部を、取得した前記通信可能領域情報が示す通信可能領域に含む通信ノードを特定し、
前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードのうち、特定した前記通信ノードが直接アクセス可能な通信ノードを探索する、
処理を実行し、
前記変更する制御を行う処理では、探索した前記通信ノードを前記通信網に追加することを特徴とする付記２〜４のいずれか一つに記載の通信網制御方法。
【０１５３】
（付記６）前記変更する制御を行う処理では、前記一部の通信ノードのうち、前記複数の分割領域のうち導出した前記値に基づいて選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードから選択した通信ノードを前記通信網から除外することを特徴とする付記１〜５のいずれか一つに記載の通信網制御方法。
【０１５４】
（付記７）選択した前記分割領域は、前記複数の分割領域のうち、導出した前記値が最も大きい分割領域であることを特徴とする付記５に記載の通信網制御方法。
【０１５５】
（付記８）前記変更する制御を行う処理は、選択した前記通信ノードへ前記通信網から除外することを指示する信号を送信することを特徴とする付記６または７に記載の通信網制御方法。
【０１５６】
（付記９）前記コンピュータが、
前記一部の通信ノードのうち、前記複数の分割領域のうち導出した前記値に基づいて選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードの各々に対応して、前記複数の分割領域の各々について、前記通信網から前記通信ノードを除外した場合における前記通信網に含まれる通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出する処理を実行し、
選択した前記通信ノードは、選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードの各々に対応して導出した前記値に基づいて、選択した前記分割領域の少なくとも一部を前記測定領域に含む前記通信ノードから選択した通信ノードであることを特徴とする付記６〜８のいずれか一つに記載の通信網制御方法。
【０１５７】
（付記１０）前記変更する制御を行う処理では、選択した前記通信ノードを前記通信網から除外した後に、前記複数の通信ノードのうち前記一部の通信ノード以外の通信ノードから、前記複数の分割領域のうち導出した前記値に基づき選択した分割領域の少なくとも一部を前記通信ノードが有するセンサの測定領域に含む通信ノードを前記通信網に追加することを特徴とする付記６〜９のいずれか一つに記載の通信網制御方法。
【０１５８】
（付記１１）前記コンピュータが、
前記複数の分割領域のうち、導出した前記値が所定条件を満たさない分割領域がない場合、前記変更する制御を行う処理を実行せず、前記複数の分割領域のうち、導出した前記値が前記所定条件を満たさない分割領域がある場合、前記変更する制御を行う処理を実行することを特徴とする付記１〜１０のいずれか一つに記載の通信網制御方法。
【０１５９】
（付記１２）前記コンピュータが、
前記複数の通信ノードのうち位置が特定済みの通信ノードへ前記特定済みの通信ノードから所定強度の信号の送信を指示する信号を送信し、
前記一部の通信ノードのうち、前記特定済みの通信ノードのうち所定数以上の通信ノードから送信された前記所定強度の信号を受信した通信ノードから送信された、前記所定強度の信号の受信強度と前記所定強度の信号の送信元を示す識別情報との前記所定数の組み合わせを有する信号を受信し、
前記所定数の組み合わせに基づいて受信した前記通信ノードの位置を特定する処理を実行し、
前記測定領域情報を取得する処理では、特定した前記位置によって受信した前記通信ノードが有するセンサの測定領域を特定することにより、受信した前記通信ノードについて特定した前記測定領域を示す測定領域情報を取得することを特徴とする付記１〜１１のいずれか一つに記載の通信網制御方法。
【０１６０】
（付記１３）コンピュータに、
配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行させることを特徴とする通信網制御プログラム。
【０１６１】
（付記１４）通信装置と、
配置領域に配置される複数の通信ノードと、
を有するシステムであって、
前記通信装置が、
前記複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理を実行することを特徴とするシステム。
【０１６２】
（付記１５）配置領域に配置される複数の通信ノードのうち、通信網に含まれる一部の通信ノードの各々について、前記通信ノードが有するセンサの測定領域を示す測定領域情報を取得し、
前記配置領域を分割した複数の分割領域を示す分割領域情報を取得し、
取得した前記分割領域情報が示す複数の分割領域の各々について、前記一部の通信ノードのうち、取得した前記測定領域情報が示す測定領域に前記分割領域の少なくとも一部が含まれる通信ノードの数に応じた値を導出し、
前記複数の分割領域の各々について導出した前記値に応じて、前記通信網に含まれる通信ノードを変更する制御を行う、
処理をコンピュータに実行させることを特徴とする通信網制御プログラムを記録したことを特徴とする記録媒体。
【符号の説明】
【０１６３】
１００  監視サーバ
１０１  センサノード
１０２  分割領域情報
１０３  測定領域情報
３００  システム
４０１  センサ
４０２  ＭＣＵ
４０４  ＲＯＭ
４０５  ＲＡＭ
４０６  不揮発メモリ
４１１  バッテリ
４２１  送信回路
４２２  受信回路
５０１  ＣＰＵ
５０３  ＲＯＭ
５０４  ＲＡＭ
５０６  ディスク
５０８  無線通信回路
９０１  制御部
９０２  受信部
９０３  送信部
９０４  記憶部
１１０１  制御部
１１０２  受信部
１１０３  送信部
１１０４  記憶部
ａｒｅａ  配置領域
ａ  分割領域
ｃｎｄ  接続ノード
ｒｎｄ  冗長ノード
ＳＮＥＴ  ネットワーク
ｓａ  測定領域
ｃａ  通信可能領域
【国際調査報告】
2015083224.tif 000036
2015083224.tif 000037