(57)【特許請求の範囲】
【請求項１】
複数のセンサノードを備えるとともに、当該複数のセンサノードのそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノードのそれぞれに対して親ノードを決定するように構成されたセンサネットワークシステムであって、
前記複数のセンサノードのそれぞれは、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信する集成前パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された前記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された前記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット転送手段と、
を備え、
前記センサネットワークシステムは、
前記複数のセンサノードのそれぞれに対して、当該センサノードが有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値を越えない範囲で当該最大収容数に自然数を乗じた値に近づけるように、前記ネットワークトポロジを形成するネットワークトポロジ形成手段を備える、センサネットワークシステム。
【請求項２】
請求項１に記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、
前記複数のセンサノードのそれぞれを処理対象ノードとして特定し、当該複数のセンサノードの中から、当該特定された処理対象ノードと通信可能なセンサノードである親ノード候補を抽出し、当該抽出された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数に基づいてメトリック値を算出し、当該抽出された親ノード候補の中から、当該算出されたメトリック値に基づいて、当該処理対象ノードに対する親ノードを決定するように構成されたセンサネットワークシステム。
【請求項３】
請求項２に記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、前記抽出された親ノード候補の中から、前記算出されたメトリック値が最小である親ノード候補を、前記処理対象ノードに対する親ノードとして決定するように構成され、
前記メトリック値は、前記親ノード候補が有する子ノードの数に１を加えた値である仮子ノード数が、ある自然数から１を減じた値に前記最大収容数を乗じた値に１を加えた値から、当該自然数に当該最大収容数を乗じた値まで、の範囲において増加するにつれて減少するように構成されたセンサネットワークシステム。
【請求項４】
請求項２に記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、前記抽出された親ノード候補の中から、前記算出されたメトリック値が最小である親ノード候補を、前記処理対象ノードに対する親ノードとして決定するように構成され、
前記メトリック値は、前記親ノード候補が有する子ノードの数に１を加えた値である仮子ノード数が、ある自然数から１を減じた値に前記最大収容数を乗じた値に１を加えた値である下限値から、当該自然数に当該最大収容数を乗じた値である上限値まで、の範囲において、当該下限値よりも当該上限値に近い値であるときに最小値を有するように構成されたセンサネットワークシステム。
【請求項５】
請求項３又は請求項４に記載のセンサネットワークシステムであって、
前記メトリック値は、１から前記最大収容数までの第１の範囲における最小値よりも、当該最大収容数に１を加えた値から、当該最大収容数に２を乗じた値までの第２の範囲における最小値が大きくなるように構成されたセンサネットワークシステム。
【請求項６】
請求項２乃至請求項５のいずれかに記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、前記複数のセンサノードのそれぞれが備える親ノード決定手段により構成され、
前記親ノード決定手段は、自ノードと通信可能なセンサノードである親ノード候補を前記複数のセンサノードの中から抽出し、当該抽出された親ノード候補のそれぞれから、当該親ノード候補が有する子ノードの数を表す子ノード数情報を受信し、当該抽出された親ノード候補のそれぞれに対して、当該受信された子ノード数情報が表す子ノードの数に基づいて前記メトリック値を算出し、当該抽出された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定するように構成されたセンサネットワークシステム。
【請求項７】
請求項２乃至請求項６のいずれかに記載のセンサネットワークシステムであって、
前記メトリック値は、前記親ノード候補から受信された無線信号の強度、及び、当該親ノード候補から、前記木構造におけるルートノードまでのホップ数、の少なくとも一方と、当該親ノード候補が有する子ノードの数と、に応じて変化する値であるセンサネットワークシステム。
【請求項８】
請求項２乃至請求項７のいずれかに記載のセンサネットワークシステムであって、
前記メトリック値は、前記親ノード候補と通信可能なセンサノードの数に対する、当該親ノード候補と通信可能なセンサノードのうちの子ノードを有するセンサノードの数の割合を表すヘッドノード密度に応じて変化する値であるセンサネットワークシステム。
【請求項９】
請求項１乃至請求項８のいずれかに記載のセンサネットワークシステムであって、
前記集成前パケット生成手段は、サイズが異なる複数のセンサデータのそれぞれに対して、当該センサデータを収容する集成前パケットを生成するように構成され、
前記センサネットワークシステムは、
前記複数のセンサデータのそれぞれのサイズに対して、複数のネットワークトポロジを形成するように構成され、
前記センサデータのサイズを特定するためのサイズ特定情報と、当該サイズに対して前記形成されたネットワークトポロジを表すトポロジ情報と、を対応付けて記憶するように構成され、
前記記憶されているトポロジ情報が表すネットワークトポロジを用いることにより、当該トポロジ情報と対応付けて記憶されているサイズ特定情報により特定されるサイズのセンサデータを収容するパケットを伝送するように構成されたセンサネットワークシステム。
【請求項１０】
複数のセンサノードを備えるとともに、当該複数のセンサノードのそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノードのそれぞれに対して親ノードを決定するように構成されたセンサネットワークシステムに適用されるセンサネットワーク制御方法であって、
前記複数のセンサノードのそれぞれが、物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信し、
前記複数のセンサノードのそれぞれが、自ノードが有する子ノードのそれぞれにより送信された前記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信し、
前記複数のセンサノードのそれぞれが、自ノードが有する子ノードのそれぞれにより送信された前記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信し、
前記複数のセンサノードのそれぞれに対して、当該センサノードが有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値を越えない範囲で当該最大収容数に自然数を乗じた値に近づけるように、前記ネットワークトポロジを形成する、センサネットワーク制御方法。
【請求項１１】
請求項１０に記載のセンサネットワーク制御方法であって、
前記複数のセンサノードのそれぞれを処理対象ノードとして特定し、当該複数のセンサノードの中から、当該特定された処理対象ノードと通信可能なセンサノードである親ノード候補を抽出し、当該抽出された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数に基づいてメトリック値を算出し、当該抽出された親ノード候補の中から、当該算出されたメトリック値に基づいて、当該処理対象ノードに対する親ノードを決定するように構成されたセンサネットワーク制御方法。
【請求項１２】
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードであって、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信する集成前パケット生成手段と、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信する集成後パケット生成手段と、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信する集成後パケット転送手段と、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値を越えない範囲で当該最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する親ノード決定手段と、
を備えるセンサノード。
【請求項１３】
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードに適用されるセンサノード制御方法であって、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信し、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値を越えない範囲で当該最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する、センサノード制御方法。
【請求項１４】
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードに、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信し、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値を越えない範囲で当該最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する、処理を実行させるためのセンサノード制御プログラム。
【請求項１５】
複数のセンサノードを備えるとともに、当該複数のセンサノードのそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノードのそれぞれに対して親ノードを決定するように構成されたセンサネットワークシステムであって、
前記複数のセンサノードのそれぞれは、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信する集成前パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された前記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された前記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット転送手段と、
を備え、
前記センサネットワークシステムは、
前記複数のセンサノードのそれぞれに対して前記ネットワークトポロジを形成するネットワークトポロジ形成手段を備え、
前記ネットワークトポロジ形成手段は、
前記複数のセンサノードのそれぞれを処理対象ノードとして特定し、当該複数のセンサノードの中から、当該特定された処理対象ノードと通信可能なセンサノードである親ノード候補を抽出し、当該抽出された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数に基づいてメトリック値を算出し、当該抽出された親ノード候補の中から、当該算出されたメトリック値に基づいて、当該処理対象ノードに対する親ノードを決定するように構成され、
前記ネットワークトポロジ形成手段は、前記抽出された親ノード候補の中から、前記算出されたメトリック値が最小である親ノード候補を、前記処理対象ノードに対する親ノードとして決定するように構成され、
前記メトリック値は、前記親ノード候補が有する子ノードの数に１を加えた値である仮子ノード数が、ある自然数から１を減じた値に前記最大収容数を乗じた値に１を加えた値から、当該自然数に当該最大収容数を乗じた値まで、の範囲において増加するにつれて減少するように構成されたセンサネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のセンサノードを備えるセンサネットワークシステムに関する。
【背景技術】
【０００２】
複数のセンサノードを備えるセンサネットワークシステムが知られている。各センサノードは、物理量（例えば、温度、湿度、又は、消費電力量等）を検出する。各センサノードは、検出された物理量を表すセンサデータを収容するパケットを他のセンサノードを介して、特定のノード（シンクノード）へ送信する。即ち、複数のセンサノードは、無線マルチホップネットワークを構成している。
【０００３】
この種のセンサネットワークシステムは、複数のセンサノードのそれぞれをノードとして用いる木（ツリー）構造を有するネットワークトポロジを形成（構築）することが多い。木構造におけるルートノードは、上記シンクノードである。
【０００４】
また、このようなネットワークトポロジは、無線マルチホップネットワークに適したルーティングプロトコルを用いることにより構築されることが多い。無線マルチホップネットワークに適したルーティングプロトコルとして、プロアクティブ型のルーティングプロトコルと、リアクティブ型のルーティングプロトコルと、が知られている。
【０００５】
プロアクティブ型のルーティングプロトコルの代表例は、ＯＬＳＲ（Ｏｐｔｉｍｉｚｅｄ  Ｌｉｎｋ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）プロトコルである。ＯＬＳＲプロトコルは、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）により規定されたプロトコルである（非特許文献１を参照）。
【０００６】
リアクティブ型のルーティングプロトコルの代表例は、ＡＯＤＶ（Ａｄ  ｈｏｃ  Ｏｎ−Ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ）プロトコル、又は、ＤＳＲ（Ｄｙｎａｍｉｃ  Ｓｏｕｒｃｅ  Ｒｏｕｔｉｎｇ）プロトコルである。ＡＯＤＶプロトコル、及び、ＤＳＲプロトコルは、ＩＥＴＦにより規定されたプロトコルである（非特許文献２、及び、非特許文献３をそれぞれ参照）。
【０００７】
これらのルーティングプロトコルは、他のセンサノードから受信された無線信号の強度、及び／又は、センサノードからシンクノードまでのホップ数に基づいて、シンクノードまでの通信に要するコスト（パスコスト）を表すメトリック値を算出する。更に、これらのルーティングプロトコルは、算出されたメトリック値に基づいて、各センサノードに対する親ノードを決定することにより、ネットワークトポロジを構築する。
【０００８】
また、この種のセンサネットワークシステムの一つとして、特許文献１に記載のセンサネットワークシステムは、各センサノードが有する子ノードの数を、平均値に近づけるように構成されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１６６１５０号公報
【非特許文献】
【００１０】
【非特許文献１】IETF MANET RFC3626:Optimized Link State Routing Protocol (OLSR)
【非特許文献２】IETF MANET RFC3561:Ad hoc On-Demand Distance Vector (AODV) Routing
【非特許文献３】IETF MANET RFC4728:The Dynamic Source Routing Protocol (DSR)
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、センサノードは、子ノードのそれぞれから、センサデータを収容するパケット（集成前パケット）を受信した場合、受信したパケットのそれぞれに収容されているセンサデータを収容するパケット（集成後パケット）を生成し、生成したパケットを親ノードへ送信するように構成されることが好適である。これにより、センサノードから親ノードへ送信されるパケットの数を減少させることができる。
【００１２】
一方、１つのパケットが収容可能なデータのサイズは、予め定められている。従って、センサノードが有する子ノードの数が、１つのパケットが収容可能なセンサデータの最大数である最大収容数と等しい場合、センサノードは、１つの集成後パケットを親ノードへ送信する。また、例えば、センサノードが有する子ノードの数が、最大収容数よりも１だけ大きい場合、センサノードは、２つの集成後パケットを親ノードへ送信する。
【００１３】
ところで、上記センサネットワークシステムは、最大収容数と関係なく、ネットワークトポロジを構築している。従って、センサノードが親ノードへ送信するパケットの数が無駄に過大となる虞があった。即ち、上記センサネットワークシステムにおいては、通信負荷が過大となる虞があった。
【００１４】
このため、本発明の目的は、上述した課題である「通信負荷が過大となる場合が生じること」を解決することが可能なセンサネットワークシステムを提供することにある。
【課題を解決するための手段】
【００１５】
かかる目的を達成するため本発明の一形態であるセンサネットワークシステムは、
複数のセンサノードを備えるとともに、当該複数のセンサノードのそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノードのそれぞれに対して親ノードを決定するように構成されたシステムである。
【００１６】
更に、上記複数のセンサノードのそれぞれは、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信する集成前パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された上記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された上記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット転送手段と、
を備える。
【００１７】
加えて、上記センサネットワークシステムは、
上記複数のセンサノードのそれぞれに対して、当該センサノードが有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるように、上記ネットワークトポロジを形成するネットワークトポロジ形成手段を備える。
【００１８】
なお、本明細書において、自然数は、１以上の整数である。
【００１９】
また、本発明の他の形態であるセンサネットワーク制御方法は、
複数のセンサノードを備えるとともに、当該複数のセンサノードのそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノードのそれぞれに対して親ノードを決定するように構成されたセンサネットワークシステムに適用される方法である。
【００２０】
更に、このセンサネットワーク制御方法は、
上記複数のセンサノードのそれぞれが、物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信し、
上記複数のセンサノードのそれぞれが、自ノードが有する子ノードのそれぞれにより送信された上記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信し、
上記複数のセンサノードのそれぞれが、自ノードが有する子ノードのそれぞれにより送信された上記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信し、
上記複数のセンサノードのそれぞれに対して、当該センサノードが有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるように、上記ネットワークトポロジを形成する方法である。
【００２１】
また、本発明の他の形態であるセンサノードは、
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードである。
【００２２】
更に、このセンサノードは、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信する集成前パケット生成手段と、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信する集成後パケット生成手段と、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信する集成後パケット転送手段と、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する親ノード決定手段と、
を備える。
【００２３】
また、本発明の他の形態であるセンサノード制御方法は、
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードに適用される方法である。
【００２４】
更に、このセンサノード制御方法は、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信し、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する方法である。
【００２５】
また、本発明の他の形態であるセンサノード制御プログラムは、
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードに、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信し、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する、処理を実行させるためのプログラムである。
【発明の効果】
【００２６】
本発明は、以上のように構成されることにより、通信負荷を低減することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１実施形態に係るセンサネットワークシステムの概略構成を表す図である。
【図２】本発明の第１実施形態に係るセンサネットワークシステムにおいて形成されるネットワークトポロジの一例を示した図である。
【図３】本発明の第１実施形態に係るセンサノードの構成を表すブロック図である。
【図４】本発明の第１実施形態に係る、第２の部分メトリック値の仮子ノード数に対する変化を示したグラフである。
【図５】本発明の第１実施形態に係るシンクノードの構成を表すブロック図である。
【図６】本発明の第１実施形態に係るセンサネットワークシステムの作動のうちの、センサノードが親ノードを決定する際の作動を示したシーケンス図である。
【図７】シミュレーションに係るセンサネットワークシステムにおいて配置されたノードの位置を示した図である。
【図８】第２のセンサネットワークシステムを模擬した計算により形成されたネットワークトポロジを示した図である。
【図９】第１のセンサネットワークシステムを模擬した計算により形成されたネットワークトポロジを示した図である。
【図１０】本発明の第１実施形態の第１変形例に係る、第２の部分メトリック値の仮子ノード数に対する変化を示したグラフである。
【図１１】本発明の第１実施形態の第２変形例に係る、第２の部分メトリック値の仮子ノード数に対する変化を示したグラフである。
【図１２】本発明の第１実施形態の第３変形例に係る、第２の部分メトリック値の仮子ノード数に対する変化を示したグラフである。
【図１３】本発明の第４実施形態に係るセンサネットワークシステムの構成を表すブロック図である。
【発明を実施するための形態】
【００２８】
以下、本発明に係る、センサネットワークシステム、センサネットワーク制御方法、センサノード、センサノード制御方法、及び、センサノード制御プログラム、の各実施形態について図１〜図１３を参照しながら説明する。
【００２９】
＜第１実施形態＞
（構成）
図１に示したように、第１実施形態に係るセンサネットワークシステム１は、１つのシンクノード１０１と、複数のセンサノード２０１，２０２，…と、を備える。
【００３０】
複数のセンサノード２０１，２０２，…は、互いに異なる位置に配置される。複数のセンサノード２０１，２０２，…のそれぞれは、他のセンサノード２０１，２０２，…との間で、無線による通信を行うように構成されている。
【００３１】
複数のセンサノード２０１，２０２，…のそれぞれは、物理量を検出し、当該検出された物理量を表すセンサデータを取得する。複数のセンサノード２０１，２０２，…のそれぞれは、取得されたセンサデータを収容するパケットを、他のセンサノード２０１，２０２，…を介して、シンクノード１０１へ送信する。即ち、複数のセンサノード２０１，２０２，…は、無線マルチホップネットワークを構成している。
【００３２】
シンクノード１０１は、複数のセンサノード２０１，２０２，…のそれぞれにより送信されたパケットを受信することにより、センサデータを収集する。
【００３３】
更に、センサネットワークシステム１は、シンクノード１０１、及び、複数のセンサノード２０１，２０２，…のそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、複数のセンサノード２０１，２０２，…のそれぞれに対して親ノードを決定する。シンクノード１０１は、ルートノードを構成する。
【００３４】
加えて、複数のセンサノード２０１，２０２，…のそれぞれは、自ノードに対する親ノードとして決定されたセンサノード２０１，２０２，…へ、センサデータを収容するパケットを送信する。
【００３５】
図２は、センサネットワークシステム１により形成されるネットワークトポロジの一例を示した図である。図２において、２つのノードを結ぶ直線は、当該２つのノードが親子関係を有することを表す。即ち、直線により結ばれた２つのノードのうちのルートノード側に位置するノードは、他方のノードを子ノードとして有している。換言すると、直線により結ばれた２つのノードのうちのルートノード側に位置するノードは、他方のノードに対する親ノードである。
【００３６】
図３に示したように、センサノード２０１は、無線通信部３１０と、ルーティング機能部３２０と、センサ部３３０と、アプリケーション機能部３４０と、を備える。
【００３７】
無線通信部３１０は、無線信号を送受信するためのアンテナ３１１を備える。無線通信部３１０は、他のノード（シンクノード１０１、及び、センサノード２０２，…）との間でアンテナ３１１を介して無線通信を行う。
【００３８】
本例では、無線通信部３１０は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１により定められた方式に従って無線通信を行う。なお、無線通信部３１０は、他の方式（例えば、ＩＥＥＥ８０２．１５．１により定められた方式、ＩＥＥＥ８０２．１５．４により定められた方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又は、ＺｉｇＢｅｅ（登録商標）等）に従って無線通信を行うように構成されていてもよい。
【００３９】
ルーティング機能部３２０は、周辺ノード情報取得部３２１と、メトリック値算出部３２２と、ルーティングテーブル記憶部３２３と、親ノード決定部３２４と、自ノード情報送信部３２５と、を備える。
【００４０】
周辺ノード情報取得部３２１は、周辺ノードのそれぞれに対する周辺ノード情報を取得する。周辺ノードは、他のノード（シンクノード１０１、及び、センサノード２０２，…）のうちの、自ノード（センサノード２０１）と無線通信可能なノード（親ノード候補）である。
【００４１】
周辺ノード情報は、第１の部分情報と、第２の部分情報と、を含む。第１の部分情報は、周辺ノードにより送信された情報である。第１の部分情報は、周辺ノードを識別するためのノード識別情報と、当該周辺ノードからシンクノード１０１までのホップ数を表すホップ数情報と、当該周辺ノードが有する子ノードの数（子ノード数）を表す子ノード数情報と、を含む。
【００４２】
第２の部分情報は、周辺ノードから受信した無線信号の強度（受信強度）を表す情報である。周辺ノード情報取得部３２１は、第１の部分情報を受信する際に受信した無線信号の強度を取得し、取得された強度を表す情報を第２の部分情報として取得する。
【００４３】
周辺ノード情報取得部３２１が周辺ノード情報を取得することは、自ノード（センサノード２０１）を処理対象ノードとして特定し、且つ、複数のセンサノード２０１，２０２，…の中から、当該特定された処理対象ノードと通信可能なセンサノードである親ノード候補（周辺ノード）を抽出（特定）することに対応している。
【００４４】
メトリック値算出部３２２は、周辺ノード情報取得部３２１により取得された周辺ノード情報のそれぞれに対して、当該周辺ノード情報に基づいてメトリック値を算出する。メトリック値は、シンクノード１０１までの通信に要するコスト（パスコスト）を表す値である。本例では、メトリック値は、パスコストが小さくなるほど小さくなる値を有する。
【００４５】
本例では、メトリック値算出部３２２は、メトリック値Ｍを算出する対象となる周辺ノード情報に含まれる、受信強度ｅ（即ち、親ノード候補から受信された無線信号の強度）、及び、ホップ数ｈ（即ち、親ノード候補からルートノードまでのホップ数）と、当該周辺ノード情報に含まれる子ノード数に１を加えた仮子ノード数ｎと、に基づいて、数式１に従ってメトリック値Ｍを算出する。
【数１】
0005900947.tif 000002
【００４６】
ここで、第１の部分メトリック値Ｍｅｈ（ｅ，ｈ）は、受信強度ｅと、ホップ数ｈと、に応じて変化する値を有する関数である。また、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎに応じて変化する値を有する関数である。また、αは、予め設定された係数である。
【００４７】
このように、本例では、メトリック値Ｍは、親ノード候補から受信された無線信号の強度ｅ、及び、当該親ノード候補から、木構造におけるルートノードまでのホップ数ｈ、の両方と、当該親ノード候補が有する子ノードの数と、に応じて変化する値である、と言うことができる。
【００４８】
また、本例では、メトリック値算出部３２２は、周辺ノード情報に含まれる、受信強度、及び、ホップ数に基づく第１の部分メトリック値と、周辺ノード情報に含まれる子ノード数に基づく第２の部分メトリック値と、の線形和をメトリック値として算出している、と言うことができる。
【００４９】
なお、メトリック値算出部３２２は、第２の部分メトリック値をメトリック値として算出するように構成されていてもよい。また、メトリック値算出部３２２は、第１の部分メトリック値を、受信強度ｅと、ホップ数ｈと、のいずれか一方のみに基づいて算出するように構成されていてもよい。また、メトリック値算出部３２２は、第１の部分メトリック値を、受信強度ｅ、及び、ホップ数ｈ、以外のパラメータ（例えば、遅延時間、及び、パケット誤り率等）にも基づいて算出するように構成されていてもよい。
【００５０】
ところで、第１の部分メトリック値Ｍｅｈ（ｅ，ｈ）は、公知のルーティングプロトコルにおいて用いられる関数と同一の関数である。従って、詳細な説明を省略する。
【００５１】
また、数式１によれば、係数αの大きさを変更することにより、子ノード数の大きさがメトリック値Ｍに反映される程度を調整することができる。係数αを０に近づけるほど、子ノード数の大きさがメトリック値Ｍに反映される程度は小さくなる。
【００５２】
本例では、第２の部分メトリック値Ｍｎ（ｎ）は、数式２により表される。
【数２】
0005900947.tif 000003
【００５３】
ここで、Ｎは、１つのパケットが収容可能なセンサデータの最大数である最大収容数である。ＭＯＤ（Ｘ，Ｙ）は、整数Ｘを整数Ｙにより除する除算の剰余を値として有する関数である。数式２によれば、第２の部分メトリック値Ｍｎ（ｎ）は、０から１の間の値を有することが分かる。
また、最大収容数Ｎは、数式３により算出される。
【数３】
0005900947.tif 000004
【００５４】
ここで、Ｐｍａｘは、１つのパケットの最大のサイズ（データ量）である最大パケット長である。Ｐｈｅａｄｅｒは、１つのパケットに含まれるヘッダのサイズであるヘッダ長である。Ｐｄａｔａは、１つのセンサデータのサイズ（センサデータサイズ）である。
【００５５】
本例では、メトリック値算出部３２２は、最大パケット長Ｐｍａｘ、ヘッダ長Ｐｈｅａｄｅｒ、及び、センサデータサイズＰｄａｔａのそれぞれを予め記憶している。なお、メトリック値算出部３２２は、取得されたセンサデータに基づいてセンサデータサイズＰｄａｔａを取得するように構成されていてもよい。この場合において、複数の異なるセンサデータサイズが取得されたとき、メトリック値算出部３２２は、取得されたセンサデータサイズの最大値を、センサデータサイズＰｄａｔａとして取得するように構成されることが好適である。
【００５６】
また、ＱＵＯＴＩＥＮＴ（Ｘ，Ｙ）は、整数Ｘを整数Ｙにより除する除算の商を値として有する関数である。最大パケット長は、無線通信の方式に従って予め定められている。また、ヘッダ長は、無線通信の方式、及び、センサネットワークシステム１が用いるパケットの形式（フォーマット）に従って予め定められている。
【００５７】
例えば、最大パケット長が１２７Ｂｙｔｅであり、ヘッダ長が２０Ｂｙｔｅであり、センサデータのサイズが１０Ｂｙｔｅである場合、最大収容数Ｎは、１０である。
【００５８】
図４は、第２の部分メトリック値Ｍｎ（ｎ）の、仮子ノード数ｎに対する変化を示したグラフである。ここでは、最大収容数Ｎが１０である場合を想定している。
【００５９】
図４に示したように、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、ある自然数から１を減じた値に最大収容数Ｎを乗じた値に１を加えた値から、当該自然数に当該最大収容数Ｎを乗じた値まで、の範囲において増加するにつれて減少する。なお、本明細書において、自然数は、１以上の整数である。
【００６０】
例えば、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、１から１０までの範囲において増加するにつれて減少する。同様に、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、１１から２０までの範囲において増加するにつれて減少する。
【００６１】
このように、最大収容数Ｎが１０である場合を想定しているため、仮子ノード数ｎが、最大収容数Ｎに自然数を乗じた値である、１０、２０、又は、３０である場合に、第２の部分メトリック値Ｍｎ（ｎ）は最小となる。
【００６２】
即ち、本例では、仮子ノード数ｎが、ある自然数から１を減じた値に最大収容数Ｎを乗じた値に１を加えた値から、当該自然数に当該最大収容数Ｎを乗じた値まで、の範囲において増加するにつれてメトリック値Ｍが減少するようにセンサネットワークシステム１が構成されている、と言うことができる。
【００６３】
このように、メトリック値Ｍは、親ノード候補が有する子ノードの数を、最大収容数に自然数を乗じた値に近づけるための値である、と言うことができる。
【００６４】
ルーティングテーブル記憶部３２３は、記憶装置により構成される。ルーティングテーブル記憶部３２３は、周辺ノード情報取得部３２１により取得された周辺ノード情報と、当該周辺ノード情報に基づいてメトリック値算出部３２２により算出されたメトリック値と、親子関係情報と、を対応付けたルーティングテーブルを記憶する。
【００６５】
親子関係情報は、当該親子関係情報と対応付けて記憶されているノード識別情報（周辺ノード情報に含まれる）により識別されるノードが、自ノードに対する親ノードであるか否かを表す情報、及び、当該ノードが、自ノードに対する子ノードであるか否かを表す情報を含む。
【００６６】
親ノード決定部３２４は、ルーティングテーブル記憶部３２３に記憶されているノード識別情報の中から、メトリック値が最小であるノード識別情報により識別されるノードを、自ノードに対する親ノードとして決定する。このように、周辺ノード情報取得部３２１、メトリック値算出部３２２、ルーティングテーブル記憶部３２３、及び、親ノード決定部３２４は、親ノード決定手段を構成している。
【００６７】
ルーティングテーブル記憶部３２３は、親ノード決定部３２４により親ノードが決定された場合、当該親ノードを識別するためのノード識別情報と対応付けて記憶されている親子関係情報を、ノードが親ノードである旨を表す情報に更新する。
【００６８】
自ノード情報送信部３２５は、親ノード決定部３２４により親ノードが決定された場合、当該親ノードへ、自ノードを識別するためのノード識別情報を含む親ノード決定通知を送信する。
【００６９】
自ノード情報送信部３２５は、他のノードから親ノード決定通知を受信する。自ノード情報送信部３２５は、親ノード決定通知を受信した場合、当該親ノード決定通知に含まれるノード識別情報と対応付けてルーティングテーブル記憶部３２３に記憶されている親子関係情報を、ノードが子ノードである旨を表す情報に更新する。
【００７０】
自ノード情報送信部３２５は、周辺ノードのそれぞれに対して自ノード情報（第１の部分情報）を送信する。自ノード情報は、自ノードを識別するためのノード識別情報と、自ノードからシンクノード１０１までのホップ数と、自ノードが有する子ノードの数（子ノード数）と、を含む。
【００７１】
自ノード情報送信部３２５は、親ノード決定部３２４により決定された親ノードを識別するためのノード識別情報を含む周辺ノード情報に含まれるホップ数に１を加えた値を自ノード（ここでは、センサノード２０１）からシンクノード１０１までの（自ノードに対する）ホップ数として取得する。
【００７２】
自ノード情報送信部３２５は、ルーティングテーブル記憶部３２３に記憶されているノード識別情報のうちの、ノードが子ノードである旨を表す親子関係情報と対応付けて記憶されているノード識別情報の数を、自ノードが有する子ノードの数として取得する。なお、自ノード情報送信部３２５は、子ノードとの間でセッションを確立する場合、確立されているセッションの数に基づいて子ノード数を取得するように構成されていてもよい。
【００７３】
センサ部３３０は、物理量（本例では、温度）を検出する。なお、センサ部３３０は、物理量として、湿度、消費電力量（単位時間あたりに消費された電力の量）、ガスの使用量、水道の使用量、又は、音声等を検出するように構成されていてもよい。
【００７４】
アプリケーション機能部３４０は、センサデータ取得部３４１と、パケット送信部３４２と、を備える。
【００７５】
センサデータ取得部３４１は、予め設定された取得周期が経過する毎に、センサ部３３０により検出された物理量を表すセンサデータを取得する。本例では、センサデータは、検出された物理量そのものを表すデータである。なお、センサデータ取得部３４１は、予め設定された期間においてセンサ部３３０により検出された物理量に基づく値（例えば、平均値、及び、分散等）を表すセンサデータを取得するように構成されていてもよい。
【００７６】
パケット送信部３４２は、センサデータ取得部３４１によりセンサデータが取得された場合、当該センサデータを収容するパケットである集成前パケットを生成する。パケット送信部３４２は、生成された集成前パケットを自ノードに対する親ノードへ送信する。このように、センサ部３３０、及び、パケット送信部３４２は、集成前パケット生成手段を構成している。
【００７７】
パケット送信部３４２は、自ノードが有する子ノードのそれぞれにより送信された集成前パケットを受信する。パケット送信部３４２は、集成前パケットを受信した場合、受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成する。パケット送信部３４２は、生成された集成後パケットを自ノードに対する親ノードへ送信する。このように、パケット送信部３４２は、集成後パケット生成手段を構成している。
【００７８】
パケット送信部３４２は、自ノードが有する子ノードのそれぞれにより送信された集成後パケットを受信する。パケット送信部３４２は、集成後パケットを受信した場合、受信された集成後パケットを自ノードに対する親ノードへ送信する。このように、パケット送信部３４２は、集成後パケット転送手段を構成している。
【００７９】
なお、他のセンサノード２０２，２０３，…のそれぞれも、センサノード２０１と同様の構成を有している。
【００８０】
このような構成により、センサネットワークシステム１は、複数のセンサノード２０１，２０２，…、及び、シンクノード１０１からなる複数のノードのそれぞれに対して、当該ノードが有する子ノードの数を、最大収容数に自然数を乗じた値に近づけるように、ネットワークトポロジを形成するネットワークトポロジ形成手段を備えている、と言うことができる。
【００８１】
なお、複数のセンサノード２０１，２０２，…のそれぞれが親ノード決定手段を備えることは、センサネットワークシステム１がネットワークトポロジ形成手段を備えることに対応している。また、複数のセンサノード２０１，２０２，…のそれぞれがルーティングテーブル記憶部３２３を備えることは、センサネットワークシステム１が、ネットワークトポロジを表すトポロジ情報を記憶するトポロジ情報記憶手段を備えることに対応している。
【００８２】
図５に示したように、シンクノード１０１は、無線通信部４１０と、ルーティング機能部４２０と、データベース部４３０と、アプリケーション機能部４４０と、を備える。
【００８３】
無線通信部４１０は、無線通信部３１０と同様に構成される。
ルーティング機能部４２０は、ルーティング機能部３２０と同様に構成される。
【００８４】
データベース部４３０は、記憶装置により構成される。データベース部４３０は、センサデータと、ノード識別情報と、を対応付けて記憶（蓄積）する。
アプリケーション機能部４４０は、パケット受信部４４１と、データベース管理部４４２と、を備える。
【００８５】
パケット受信部４４１は、子ノードのそれぞれにより送信されたパケット（集成前パケット、及び、集成後パケット）を受信する。パケット受信部４４１は、受信されたパケットに含まれるセンサデータと、当該パケットを送信してきたノードを識別するためのノード識別情報と、を取得する。
【００８６】
データベース管理部４４２は、パケット受信部４４１により取得された、センサデータ及びノード識別情報をデータベース部４３０に記憶させる（書き込む）。
【００８７】
なお、シンクノード１０１は、取得されたセンサデータを自ノードが備える記憶装置に記憶するように構成されていたが、当該センサデータを他の装置（例えば、サーバ等）へ送信するように構成されていてもよい。
【００８８】
また、シンクノード１０１は、センサ部３３０と同様の機能と、アプリケーション機能部３４０と同様の機能と、を有し、自ノードにおいてもセンサデータを取得するように構成されていてもよい。
【００８９】
（作動）
次に、図６を参照しながら、上述したセンサネットワークシステム１の作動のうちの、センサノード２０１が親ノードを決定する際の作動について説明する。
【００９０】
センサノード２０１は、予め設定された更新周期が経過する毎に、周辺探索メッセージを、ブロードキャスト方式に従って送信する（ステップＳ１０１）。ブロードキャスト方式は、メッセージに含まれる宛先アドレスとして、ブロードキャストアドレスを設定することにより、すべてのノードを宛先として設定する方式である。
【００９１】
従って、周辺探索メッセージは、センサノード２０１と通信可能なノード（本例では、シンクノード１０１、及び、センサノード２０２等）のそれぞれへ送信される。ここで、周辺探索メッセージは、センサノード２０１の自ノード情報を含む。自ノード情報は、自ノードを識別するためのノード識別情報と、自ノードからシンクノード１０１までのホップ数と、自ノードが有する子ノードの数（子ノード数）と、を含む。
【００９２】
一方、シンクノード１０１は、センサノード２０１により送信された周辺探索メッセージを受信すると、当該周辺探索メッセージに応答するための周辺探索応答メッセージを、ユニキャスト方式に従って、当該周辺探索メッセージを送信してきたノード（センサノード２０１）へ送信する（ステップＳ１０２）。
【００９３】
ユニキャスト方式は、メッセージに含まれる宛先アドレスとして、特定のノードのアドレスを設定することにより、当該ノードを宛先として設定する方式である。ここで、周辺探索応答メッセージは、シンクノード１０１の自ノード情報を含む。
【００９４】
同様に、センサノード２０２は、センサノード２０１により送信された周辺探索メッセージを受信すると、当該周辺探索メッセージに応答するための周辺探索応答メッセージを、ユニキャスト方式に従って、当該周辺探索メッセージを送信してきたノード（センサノード２０１）へ送信する（ステップＳ１０３）。ここで、周辺探索応答メッセージは、センサノード２０２の自ノード情報を含む。
【００９５】
これにより、センサノード２０１は、周辺ノード（親ノード候補）としての、シンクノード１０１、及び、センサノード２０２等のそれぞれから周辺探索応答メッセージを受信する。更に、センサノード２０１は、周辺ノード（シンクノード１０１、及び、センサノード２０２等）のそれぞれに対して、周辺ノード情報を取得する。
【００９６】
このように、センサノード２０１は、周辺探索メッセージを送信するとともに、周辺探索応答メッセージを受信することにより、自ノードと通信可能な周辺ノードのそれぞれに対する周辺ノード情報を取得することができる。
【００９７】
次いで、センサノード２０１は、周辺ノードのそれぞれに対して、取得された周辺ノード情報に基づいてメトリック値を算出する（ステップＳ１０４）。センサノード２０１は、周辺ノード情報、及び、メトリック値を記憶装置に記憶させる。そして、センサノード２０１は、算出されたメトリック値が最小である周辺ノード（ここでは、シンクノード１０１）を親ノードとして決定する（ステップＳ１０５）。
【００９８】
そして、センサノード２０１は、決定された親ノード（シンクノード１０１）へ、自ノードを識別するためのノード識別情報を含む親ノード決定通知を送信する（ステップＳ１０６）。
【００９９】
一方、シンクノード１０１は、センサノード２０１により送信された親ノード決定通知を受信すると、親ノード決定通知に含まれるノード識別情報（ここでは、センサノード２０１を識別するためのノード識別情報）と対応付けて記憶されている親子関係情報を、ノードが子ノードである旨を表す情報に更新する（ステップＳ１０７）。
【０１００】
更に、センサノード２０１は、親ノード（シンクノード１０１）を識別するためのノード識別情報と対応付けて記憶されている親子関係情報を、ノードが親ノードである旨を表す情報に更新する（ステップＳ１０８）。
【０１０１】
センサネットワークシステム１は、このような処理を、複数のセンサノード２０１，２０２，…のそれぞれに対して、繰り返し実行する。これにより、複数のセンサノード２０１，２０２，…、及び、シンクノード１０１からなる複数のノードのそれぞれに対して、当該ノードが有する子ノードの数を、最大収容数に自然数を乗じた値に近づけるように、ネットワークトポロジが形成される。
【０１０２】
ここで、図２に示したように、ネットワークトポロジが形成された場合を想定する。この場合、複数のセンサノード２０１，２０２，…のそれぞれは、上記取得周期が経過する毎に、検出された物理量を表すセンサデータを取得する。そして、複数のセンサノード２０１，２０２，…のそれぞれは、取得されたセンサデータを収容する集成前パケットを生成する。次いで、複数のセンサノード２０１，２０２，…のそれぞれは、生成された集成前パケットを親ノードへ送信する。
【０１０３】
より具体的に述べると、センサノード２０１、及び、センサノード２０３のそれぞれは、シンクノード１０１へ集成前パケットを送信する。
【０１０４】
センサノード２０２、及び、センサノード２０４のそれぞれは、センサノード２０１へ集成前パケットを送信する。センサノード２０１は、センサノード２０２、及び、センサノード２０４のそれぞれから集成前パケットを受信する。そして、センサノード２０１は、受信された集成前パケットのそれぞれに収容されるセンサデータを収容する集成後パケットを生成する。次いで、センサノード２０１は、生成された集成後パケットをシンクノード１０１へ送信する。
【０１０５】
また、センサノード２１０、及び、センサノード２１１のそれぞれは、センサノード２０２へ集成前パケットを送信する。センサノード２０２は、センサノード２１０、及び、センサノード２１１のそれぞれから集成前パケットを受信する。そして、センサノード２０２は、受信された集成前パケットのそれぞれに収容されるセンサデータを収容する集成後パケットを生成する。次いで、センサノード２０２は、生成された集成後パケットをセンサノード２０１へ送信する。そして、センサノード２０１は、センサノード２０２により送信された集成後パケットを受信し、受信された集成後パケットをシンクノード１０１へ転送（送信）する。
【０１０６】
同様に、センサノード２０７、及び、センサノード２１２のそれぞれは、センサノード２０４へ集成前パケットを送信する。センサノード２０４は、センサノード２０７、及び、センサノード２１２のそれぞれから集成前パケットを受信する。そして、センサノード２０４は、受信された集成前パケットのそれぞれに収容されるセンサデータを収容する集成後パケットを生成する。次いで、センサノード２０４は、生成された集成後パケットをセンサノード２０１へ送信する。そして、センサノード２０１は、センサノード２０４により送信された集成後パケットを受信し、受信された集成後パケットをシンクノード１０１へ転送（送信）する。
【０１０７】
センサノード２０５，２０６，２０８，２０９，２１３，２１４のそれぞれにより送信された集成前パケットも同様に処理される。
【０１０８】
なお、例えば、センサノード２０１が１０個の子ノードを有し、且つ、最大収容数が１０である場合を想定する。この場合、センサノード２０１は、１０個の集成前パケットを受信する。そして、センサノード２０１は、受信された１０個の集成前パケットに収容される１０個のセンサデータを収容する集成後パケットを生成する。
【０１０９】
また、センサノード２０１が１９個の子ノードを有し、且つ、最大収容数が１０である場合を想定する。この場合、センサノード２０１は、１９個の集成前パケットを受信する。そして、センサノード２０１は、受信された１９個の集成前パケットのうちの、１０個の集成前パケットに収容される１０個のセンサデータを収容する第１の集成後パケットと、受信された１９個の集成前パケットのうちの、残余の（９個の）集成前パケットに収容される９個のセンサデータを収容する第２の集成後パケットと、を生成する。
【０１１０】
ここで、第１実施形態に係るセンサネットワークシステム１（第１のセンサネットワークシステム）を模擬した計算（シミュレーション）により形成されたネットワークトポロジと、子ノード数に基づくことなくメトリック値を算出するセンサネットワークシステム（第２のセンサネットワークシステム）を模擬した計算により形成されたネットワークトポロジと、を比較して説明する。
【０１１１】
先ず、シミュレーションにおいて想定しているセンサネットワークシステムについて説明する。このセンサネットワークシステムは、図７に示したようにノードが配置されている。ここで、中央に配置された四角形のマークは、シンクノードを表す。また、円形のマークは、センサノードを表す。各ノードが配置された領域は、１辺の長さが４００ｍである正方形の領域である。また、１００個のセンサノードが配置されている。更に、２つのノードの間の距離が８０ｍ以下である場合に、当該２つのノードが通信可能であることが想定されている。
【０１１２】
図８は、第２のセンサネットワークシステムを模擬した計算により形成されたネットワークトポロジを示している。この例では、第２のセンサネットワークシステムは、数式１における係数αを０に設定している。図８において、２つのノードを結ぶ直線は、当該２つのノードのうちのシンクノード側のノードが、当該２つのノードの残余のノードに対する親ノードであることを表す。
【０１１３】
この例では、１つの子ノードのみを有するノードが比較的多い。従って、センサノードが親ノードへ送信するパケットの数が無駄に過大となる可能性が比較的高い。
【０１１４】
図９は、第１のセンサネットワークシステムを模擬した計算により形成されたネットワークトポロジを示している。この例では、第１のセンサネットワークシステムは、数式１における係数αを０よりも大きい値に設定している。図９においても、２つのノードを結ぶ直線は、当該２つのノードのうちのシンクノード側のノードが、当該２つのノードの残余のノードに対する親ノードであることを表す。
【０１１５】
この例では、１つの子ノードのみを有するノードは、比較的少ない。即ち、各ノードが有する子ノードの数が、最大収容数に自然数を乗じた値に近づけられている。従って、集成後パケットに収容されるセンサデータの数を最大収容数に近づけることができる。これにより、通信負荷を低減することができる。
【０１１６】
以上、説明したように、本発明の第１実施形態に係るセンサネットワークシステム１は、複数のセンサノード２０１，２０２，…のそれぞれに対して、当該センサノードが有する子ノードの数を、最大収容数に自然数を乗じた値に近づけるように、ネットワークトポロジを形成する。
【０１１７】
これによれば、集成後パケットに収容されるセンサデータの数を最大収容数に近づけることができる。これにより、センサネットワークシステム１において、センサノード２０１，２０２，…が親ノードへ送信する集成後パケットの数を低減することができる。従って、通信負荷を低減することができる。
【０１１８】
更に、本発明の第１実施形態に係るセンサネットワークシステム１は、親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数に基づいてメトリック値を算出し、算出されたメトリック値に基づいて、処理対象ノードに対する親ノードを決定する。
【０１１９】
これによれば、親ノード候補としてのセンサノード２０１，２０２，…が有する子ノードの数をメトリック値に反映することができる。従って、処理対象ノードに対する親ノードを、当該親ノードが有する子ノードの数が、最大収容数に自然数を乗じた値に近づくように、決定することができる。この結果、通信負荷を低減することができる。
【０１２０】
更に、本発明の第１実施形態に係るセンサネットワークシステム１は、複数のセンサノード２０１，２０２，…のそれぞれが、メトリック値を算出するとともに、自ノードに対する親ノードを決定する。
【０１２１】
これによれば、各センサノード２０１，２０２，…が、自ノードに対する親ノードを決定することにより、ネットワークトポロジが形成される。即ち、各センサノード２０１，２０２，…が自律的にネットワークトポロジを形成することができる。換言すると、センサネットワークシステム１は、センサノード２０１，２０２，…以外の装置を設けることなく、ネットワークトポロジを形成することができる。
【０１２２】
なお、第１実施形態の第１変形例に係るセンサネットワークシステム１は、数式２に代えて、数式４を用いるように構成される。
【数４】
0005900947.tif 000005
【０１２３】
図１０は、数式４に示した第２の部分メトリック値Ｍｎ（ｎ）の、仮子ノード数ｎに対する変化を示したグラフである。ここでは、最大収容数Ｎが１０である場合を想定している。
【０１２４】
図１０に示したように、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、ある自然数から１を減じた値に最大収容数Ｎを乗じた値に１を加えた値から、当該自然数に当該最大収容数Ｎを乗じた値まで、の範囲において増加するにつれて減少する。
【０１２５】
更に、第２の部分メトリック値Ｍｎ（ｎ）は、１から最大収容数までの第１の範囲における最小値（即ち、仮子ノード数ｎが１０である場合における第２の部分メトリック値Ｍｎ）よりも、当該最大収容数に１を加えた値から、当該最大収容数に２を乗じた値までの第２の範囲における最小値（即ち、仮子ノード数ｎが２０である場合における第２の部分メトリック値Ｍｎ）が大きくなる。
【０１２６】
加えて、第２の部分メトリック値Ｍｎ（ｎ）は、上記第２の範囲における最小値（即ち、仮子ノード数ｎが２０である場合における第２の部分メトリック値Ｍｎ）よりも、当該最大収容数に２を乗じた値に１を加えた値から、当該最大収容数に３を乗じた値までの第３の範囲における最小値（即ち、仮子ノード数ｎが３０である場合における第２の部分メトリック値Ｍｎ）が大きくなる。
【０１２７】
このように、メトリック値は、ある自然数から１を減じた値を、最大収容数に乗じた値に１を加えた値から、当該自然数を当該最大収容数に乗じた値までの範囲における最小値が、当該自然数が大きくなるほど大きくなる。
【０１２８】
これによれば、各センサノード２０１，２０２，…が有する子ノードの数を、最大収容数に近づけることができる。即ち、各センサノード２０１，２０２，…が有する子ノードの数が過大となることを回避することができる。
【０１２９】
これにより、子ノードのそれぞれから集成前パケットを受信した場合に、１つの集成後パケットのみを親ノードへ送信するセンサノードの数を増加させることができる。この結果、通信負荷をより一層低減することができる。
【０１３０】
また、第１実施形態の第２変形例に係るセンサネットワークシステム１は、数式２に代えて、数式５を用いるように構成される。
【数５】
0005900947.tif 000006
【０１３１】
図１１は、数式５に示した第２の部分メトリック値Ｍｎ（ｎ）の、仮子ノード数ｎに対する変化を示したグラフである。ここでは、最大収容数Ｎが１０である場合を想定している。
【０１３２】
図１１に示したように、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、ある自然数から１を減じた値に最大収容数Ｎを乗じた値に１を加えた値である下限値から、当該自然数に当該最大収容数Ｎを乗じた値である上限値まで、の範囲において、当該下限値よりも当該上限値に近い値であるときに最小値を有する。
【０１３３】
例えば、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、下限値としての１から上限値としての１０までの範囲において、当該下限値よりも当該上限値に近い値である８であるときに最小値を有する。同様に、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、下限値としての１１から上限値としての２０までの範囲において、当該下限値よりも当該上限値に近い値である１８であるときに最小値を有する。
【０１３４】
このような構成によっても、各ノードが有する子ノードの数を、最大収容数に自然数を乗じた値に近づけることができる。
【０１３５】
また、第１実施形態の第３変形例に係るセンサネットワークシステム１は、数式２に代えて、数式６を用いるように構成される。
【数６】
0005900947.tif 000007
【０１３６】
図１２に示したように、第２の部分メトリック値Ｍｎ（ｎ）は、仮子ノード数ｎが、ある自然数から１を減じた値に最大収容数Ｎを乗じた値に１を加えた値である下限値から、当該自然数に当該最大収容数Ｎを乗じた値である上限値まで、の範囲において、当該下限値よりも当該上限値に近い値であるときに最小値を有する。
【０１３７】
更に、第２の部分メトリック値Ｍｎ（ｎ）は、１から最大収容数までの第１の範囲における最小値（即ち、仮子ノード数ｎが８である場合における第２の部分メトリック値Ｍｎ）よりも、当該最大収容数に１を加えた値から、当該最大収容数に２を乗じた値までの第２の範囲における最小値（即ち、仮子ノード数ｎが１８である場合における第２の部分メトリック値Ｍｎ）が大きくなる。
【０１３８】
加えて、第２の部分メトリック値Ｍｎ（ｎ）は、上記第２の範囲における最小値（即ち、仮子ノード数ｎが１８である場合における第２の部分メトリック値Ｍｎ）よりも、当該最大収容数に２を乗じた値に１を加えた値から、当該最大収容数に３を乗じた値までの第３の範囲における最小値（即ち、仮子ノード数ｎが２８である場合における第２の部分メトリック値Ｍｎ）が大きくなる。
【０１３９】
このように、メトリック値は、ある自然数から１を減じた値を、最大収容数に乗じた値に１を加えた値から、当該自然数を当該最大収容数に乗じた値までの範囲における最小値が、当該自然数が大きくなるほど大きくなる。
【０１４０】
これによれば、各センサノード２０１，２０２，…が有する子ノードの数を、最大収容数に近づけることができる。即ち、各センサノード２０１，２０２，…が有する子ノードの数が過大となることを回避することができる。
【０１４１】
これにより、子ノードのそれぞれから集成前パケットを受信した場合に、１つの集成後パケットのみを親ノードへ送信するセンサノードの数を増加させることができる。この結果、通信負荷をより一層低減することができる。
【０１４２】
また、第１実施形態に係るセンサネットワークシステム１は、複数のセンサノード２０１，２０２，…のそれぞれが自ノードに対する親ノードを決定するように構成されていた。ところで、第１実施形態の他の変形例に係るセンサネットワークシステム１は、センサノード２０１，２０２，…以外の管理装置（例えば、シンクノード１０１、又は、他の装置）が、複数のセンサノード２０１，２０２，…のそれぞれに対する親ノードを決定するように構成されていてもよい。
【０１４３】
＜第２実施形態＞
次に、本発明の第２実施形態に係るセンサネットワークシステムについて説明する。第２実施形態に係るセンサネットワークシステムは、上記第１実施形態に係るセンサネットワークシステムに対して、メトリック値を、ヘッドノード密度にも基づいて算出する点において相違している。ここで、ヘッドノード密度は、親ノード候補と通信可能なセンサノードの数に対する、当該親ノード候補と通信可能なセンサノードのうちの子ノードを有するセンサノードの数の割合を表す。以下、かかる相違点を中心として説明する。
【０１４４】
本例では、自ノード情報は、更に、周辺ノード数と、周辺ヘッドノード数と、を含む。ここで、周辺ノード数は、自ノードと通信可能なノードの数である。また、周辺ヘッドノード数は、自ノードと通信可能なノードのうちの、子ノードを少なくとも１つ有するノードの数である。
【０１４５】
従って、複数のセンサノード２０１，２０２，…のそれぞれは、自ノードと通信可能な周辺ノード（親ノード候補）のそれぞれに対して、周辺ノード数と、周辺ヘッドノード数と、を含む周辺ノード情報を取得する。
【０１４６】
更に、メトリック値算出部３２２は、数式１に代えて、数式７を用いることによりメトリック値Ｍを算出する。
【数７】
0005900947.tif 000008
【０１４７】
ここで、βは、予め設定された係数である。また、第３の部分メトリック値Ｍｃ（ｍ，ｃ）は、周辺ノード数ｍと、周辺ヘッドノード数ｃと、に応じて変化する値を有する関数である。
【０１４８】
本例では、第３の部分メトリック値Ｍｃ（ｍ，ｃ）は、数式８により表される。
【数８】
0005900947.tif 000009
【０１４９】
即ち、第３の部分メトリック値Ｍｃ（ｍ，ｃ）は、メトリック値Ｍを算出する対象となる親ノード候補と通信可能なセンサノードの数（周辺ノード数）ｍに対する、当該親ノード候補と通信可能なセンサノードのうちの子ノードを有するセンサノードの数（周辺ヘッダノード数）ｃの割合を表すヘッドノード密度である、と言うことができる。
【０１５０】
数式７によれば、係数βの大きさを変更することにより、ヘッドノード密度の大きさがメトリック値Ｍに反映される程度を調整することができる。係数βを０に近づけるほど、ヘッドノード密度の大きさがメトリック値Ｍに反映される程度は小さくなる。
【０１５１】
ところで、子ノードを有するセンサノード（ヘッドノード）は、子ノードを有しないセンサノード（非ヘッドノード）よりも通信量が多い。従って、子ノードを有するセンサノードが、過度に集中して分布すると、無線信号が干渉することにより、通信品質が劣化する虞がある。
【０１５２】
これに対し、第２実施形態に係るセンサネットワークシステム１によれば、子ノードを有するセンサノード２０１，２０２，…が、過度に集中して分布することを回避することができる。この結果、通信品質が劣化することを回避することができる。
【０１５３】
＜第３実施形態＞
次に、本発明の第３実施形態に係るセンサネットワークシステムについて説明する。第３実施形態に係るセンサネットワークシステムは、上記第１実施形態に係るセンサネットワークシステムに対して、複数の異なるセンサデータのサイズに応じて、複数の異なるネットワークトポロジを使い分ける点において相違している。以下、かかる相違点を中心として説明する。
【０１５４】
センサデータ取得部３４１は、サイズが異なる複数のセンサデータを取得する。本例では、上記複数のセンサデータは、それぞれ、複数の異なる期間において検出された物理量（例えば、３０分間において検出された温度、１日間において検出された温度、及び、３０日間に検出された温度等）を表す。なお、センサ部３３０が複数の異なる物理量（例えば、温度、湿度、及び、消費電力量等）を検出するように構成されている場合、上記複数のセンサデータは、複数の異なる物理量をそれぞれ表していてもよい。
【０１５５】
パケット送信部３４２は、サイズが異なる複数のセンサデータのそれぞれに対して、当該センサデータを収容する集成前パケットを生成する。
【０１５６】
センサネットワークシステム１は、上記複数のセンサデータのそれぞれのサイズに対してネットワークトポロジを形成する。
【０１５７】
具体的には、複数のノード（センサノード２０１，２０２，…）のそれぞれは、センサデータのサイズを特定するためのサイズ特定情報を含む周辺探索メッセージを送信する。更に、複数のノードのそれぞれは、受信した周辺探索メッセージに含まれるサイズ特定情報を含む、当該周辺探索メッセージに応答するための周辺探索応答メッセージを送信する。
【０１５８】
加えて、複数のノードのそれぞれは、受信した周辺探索応答メッセージに含まれるサイズ特定情報により特定されるセンサデータのサイズと、受信した周辺探索応答メッセージに基づいて取得される周辺ノード情報と、に基づいてメトリック値を算出する。
【０１５９】
また、複数のノードのそれぞれは、サイズ特定情報と、ルーティングテーブルと、を対応付けて記憶する。そして、複数のノードのそれぞれは、受信した周辺探索応答メッセージに含まれるサイズ特定情報と対応付けて記憶されているルーティングテーブルを、当該周辺探索応答メッセージに基づいて取得される周辺ノード情報、及び、当該周辺ノード情報に基づいて算出されたメトリック値により更新する。
【０１６０】
更に、複数のノードのそれぞれは、パケットを送信する際、当該パケットに収容されているセンサデータのサイズを取得する。そして、複数のノードのそれぞれは、取得されたサイズを特定するためのサイズ特定情報と対応付けて記憶されているトポロジ情報に基づいて親ノードを特定し、特定された親ノードへ、上記パケットを送信する。
【０１６１】
なお、センサネットワークシステム１は、センサデータを収容するパケットの送信を開始する前に、当該パケットに収容される予定のセンサデータのサイズを特定するためのサイズ特定情報を各ノードに通知するように構成されていてもよい。この場合、各ノードは、通知されたサイズ特定情報と対応付けて記憶されているトポロジ情報に基づいて親ノードを特定することが好適である。
【０１６２】
このようにして、センサネットワークシステム１は、記憶されているトポロジ情報が表すネットワークトポロジを用いることにより、当該トポロジ情報と対応付けて記憶されているサイズ特定情報により特定されるサイズのセンサデータを収容するパケットを伝送する。
【０１６３】
以上、説明したように、本発明の第３実施形態に係るセンサネットワークシステム１によれば、センサデータ毎に、当該センサデータに適したネットワークトポロジを用いて、当該センサデータを収容するパケットを伝送することができる。この結果、通信負荷を低減することができる。更に、センサデータのサイズが変化する毎に、ネットワークトポロジを形成し直す場合と比較して、ネットワークトポロジを形成するための処理負荷を軽減することができる。
【０１６４】
なお、本発明の第３実施形態の変形例に係るセンサネットワークシステム１は、サイズ特定情報に代えて、最大収容数を特定するための情報を用いるように構成されていてもよい。この場合、複数のセンサノード２０１，２０２，…のそれぞれが、複数の異なる最大パケット長を有するパケットを、センサデータを収容するパケットとして送信するように構成されていても、上述した作用及び効果を奏することができる。同様に、複数のセンサノード２０１，２０２，…のそれぞれが、複数の異なるヘッダ長を有するパケットを、センサデータを収容するパケットとして送信するように構成されていても、上述した作用及び効果を奏することができる。
【０１６５】
＜第４実施形態＞
次に、本発明の第４実施形態に係るセンサネットワークシステムについて図１３を参照しながら説明する。
第４実施形態に係るセンサネットワークシステム１０００は、
複数のセンサノード１１００，…を備えるとともに、当該複数のセンサノード１１００，…のそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノード１１００，…のそれぞれに対して親ノードを決定するように構成されたシステムである。
【０１６６】
更に、複数のセンサノード１１００，…のそれぞれは、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信する集成前パケット生成部（集成前パケット生成手段）１１０１と、
自ノードが有する子ノードのそれぞれにより送信された上記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット生成部（集成後パケット生成手段）１１０２と、
自ノードが有する子ノードのそれぞれにより送信された上記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット転送部（集成後パケット転送手段）１１０３と、
を備える。
【０１６７】
加えて、上記センサネットワークシステム１０００は、
上記複数のセンサノード１１００，…のそれぞれに対して、当該センサノード１１００が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるように、上記ネットワークトポロジを形成するネットワークトポロジ形成部（ネットワークトポロジ形成手段）１２００を備える。
【０１６８】
これによれば、集成後パケットに収容されるセンサデータの数を最大収容数に近づけることができる。これにより、センサネットワークシステム１０００において、センサノード１１００が親ノードへ送信する集成後パケットの数を低減することができる。従って、通信負荷を低減することができる。
【０１６９】
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【０１７０】
例えば、センサデータは、検出された物理量を表す情報に加えて、物理量を検出したノードを識別するためのノード識別情報、当該ノードの（即ち、物理量が検出された）位置を表す位置情報、及び、物理量が検出された日時を表す日時情報等、の少なくとも１つを含んでいてもよい。
【０１７１】
なお、上記各実施形態においてセンサネットワークシステム１の各機能は、回路等のハードウェアにより実現されていた。ところで、センサノード２０１，２０２，…、及び、シンクノード１０１のそれぞれは、処理装置と、プログラム（ソフトウェア）を記憶する記憶装置と、を備えるとともに、処理装置がそのプログラムを実行することにより、各機能を実現するように構成されていてもよい。この場合、プログラムは、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【０１７２】
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
【０１７３】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
【０１７４】
（付記１）
複数のセンサノードを備えるとともに、当該複数のセンサノードのそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノードのそれぞれに対して親ノードを決定するように構成されたセンサネットワークシステムであって、
前記複数のセンサノードのそれぞれは、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信する集成前パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された前記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット生成手段と、
自ノードが有する子ノードのそれぞれにより送信された前記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信する集成後パケット転送手段と、
を備え、
前記センサネットワークシステムは、
前記複数のセンサノードのそれぞれに対して、当該センサノードが有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるように、前記ネットワークトポロジを形成するネットワークトポロジ形成手段を備える、センサネットワークシステム。
【０１７５】
これによれば、集成後パケットに収容されるセンサデータの数を最大収容数に近づけることができる。これにより、センサネットワークシステムにおいて、センサノードが親ノードへ送信する集成後パケットの数を低減することができる。従って、通信負荷を低減することができる。
【０１７６】
（付記２）
付記１に記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、
前記複数のセンサノードのそれぞれを処理対象ノードとして特定し、当該複数のセンサノードの中から、当該特定された処理対象ノードと通信可能なセンサノードである親ノード候補を抽出し、当該抽出された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数に基づいてメトリック値を算出し、当該抽出された親ノード候補の中から、当該算出されたメトリック値に基づいて、当該処理対象ノードに対する親ノードを決定するように構成されたセンサネットワークシステム。
【０１７７】
これによれば、親ノード候補としてのセンサノードが有する子ノードの数をメトリック値に反映することができる。従って、処理対象ノードに対する親ノードを、当該親ノードが有する子ノードの数が、最大収容数に自然数を乗じた値に近づくように、決定することができる。この結果、通信負荷を低減することができる。
【０１７８】
（付記３）
付記２に記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、前記抽出された親ノード候補の中から、前記算出されたメトリック値が最小である親ノード候補を、前記処理対象ノードに対する親ノードとして決定するように構成され、
前記メトリック値は、前記親ノード候補が有する子ノードの数に１を加えた値である仮子ノード数が、ある自然数から１を減じた値に前記最大収容数を乗じた値に１を加えた値から、当該自然数に当該最大収容数を乗じた値まで、の範囲において増加するにつれて減少するように構成されたセンサネットワークシステム。
【０１７９】
（付記４）
付記２に記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、前記抽出された親ノード候補の中から、前記算出されたメトリック値が最小である親ノード候補を、前記処理対象ノードに対する親ノードとして決定するように構成され、
前記メトリック値は、前記親ノード候補が有する子ノードの数に１を加えた値である仮子ノード数が、ある自然数から１を減じた値に前記最大収容数を乗じた値に１を加えた値である下限値から、当該自然数に当該最大収容数を乗じた値である上限値まで、の範囲において、当該下限値よりも当該上限値に近い値であるときに最小値を有するように構成されたセンサネットワークシステム。
【０１８０】
（付記５）
付記３又は付記４に記載のセンサネットワークシステムであって、
前記メトリック値は、１から前記最大収容数までの第１の範囲における最小値よりも、当該最大収容数に１を加えた値から、当該最大収容数に２を乗じた値までの第２の範囲における最小値が大きくなるように構成されたセンサネットワークシステム。
【０１８１】
これによれば、各センサノードが有する子ノードの数を、最大収容数に近づけることができる。これにより、子ノードのそれぞれから集成前パケットを受信した場合に、１つの集成後パケットのみを親ノードへ送信するセンサノードの数を増加させることができる。この結果、通信負荷をより一層低減することができる。
【０１８２】
（付記６）
付記２乃至付記５のいずれかに記載のセンサネットワークシステムであって、
前記ネットワークトポロジ形成手段は、前記複数のセンサノードのそれぞれが備える親ノード決定手段により構成され、
前記親ノード決定手段は、自ノードと通信可能なセンサノードである親ノード候補を前記複数のセンサノードの中から抽出し、当該抽出された親ノード候補のそれぞれから、当該親ノード候補が有する子ノードの数を表す子ノード数情報を受信し、当該抽出された親ノード候補のそれぞれに対して、当該受信された子ノード数情報が表す子ノードの数に基づいて前記メトリック値を算出し、当該抽出された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定するように構成されたセンサネットワークシステム。
【０１８３】
これによれば、各センサノードが、自ノードに対する親ノードを決定することにより、ネットワークトポロジが形成される。即ち、各センサノードが自律的にネットワークトポロジを形成することができる。換言すると、センサネットワークシステムは、センサノード以外の装置を設けることなく、ネットワークトポロジを形成することができる。
【０１８４】
（付記７）
付記２乃至付記６のいずれかに記載のセンサネットワークシステムであって、
前記メトリック値は、前記親ノード候補から受信された無線信号の強度、及び、当該親ノード候補から、前記木構造におけるルートノードまでのホップ数、の少なくとも一方と、当該親ノード候補が有する子ノードの数と、に応じて変化する値であるセンサネットワークシステム。
【０１８５】
（付記８）
付記２乃至付記７のいずれかに記載のセンサネットワークシステムであって、
前記メトリック値は、前記親ノード候補と通信可能なセンサノードの数に対する、当該親ノード候補と通信可能なセンサノードのうちの子ノードを有するセンサノードの数の割合を表すヘッドノード密度に応じて変化する値であるセンサネットワークシステム。
【０１８６】
ところで、子ノードを有するセンサノード（ヘッドノード）は、子ノードを有しないセンサノード（非ヘッドノード）よりも通信量が多い。従って、子ノードを有するセンサノードが、過度に集中して分布すると、無線信号が干渉することにより、通信品質が劣化する虞がある。これに対し、上記構成によれば、子ノードを有するセンサノードが、過度に集中して分布することを回避することができる。この結果、通信品質が劣化することを回避することができる。
【０１８７】
（付記９）
付記１乃至付記８のいずれかに記載のセンサネットワークシステムであって、
前記集成前パケット生成手段は、サイズが異なる複数のセンサデータのそれぞれに対して、当該センサデータを収容する集成前パケットを生成するように構成され、
前記センサネットワークシステムは、
前記複数のセンサデータのそれぞれのサイズに対して、複数のネットワークトポロジを形成するように構成され、
前記センサデータのサイズを特定するためのサイズ特定情報と、当該サイズに対して前記形成されたネットワークトポロジを表すトポロジ情報と、を対応付けて記憶するように構成され、
前記記憶されているトポロジ情報が表すネットワークトポロジを用いることにより、当該トポロジ情報と対応付けて記憶されているサイズ特定情報により特定されるサイズのセンサデータを収容するパケットを伝送するように構成されたセンサネットワークシステム。
【０１８８】
これによれば、センサデータ毎に、当該センサデータのサイズに適したネットワークトポロジを用いて、当該センサデータを収容するパケットを伝送することができる。この結果、通信負荷を低減することができる。更に、センサデータのサイズが変化する毎に、ネットワークトポロジを形成し直す場合と比較して、ネットワークトポロジを形成するための処理負荷を軽減することができる。
【０１８９】
（付記１０）
複数のセンサノードを備えるとともに、当該複数のセンサノードのそれぞれをノードとして用いる木構造を有するネットワークトポロジを形成するように、当該複数のセンサノードのそれぞれに対して親ノードを決定するように構成されたセンサネットワークシステムに適用されるセンサネットワーク制御方法であって、
前記複数のセンサノードのそれぞれが、物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを自ノードに対する親ノードへ送信し、
前記複数のセンサノードのそれぞれが、自ノードが有する子ノードのそれぞれにより送信された前記集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを自ノードに対する親ノードへ送信し、
前記複数のセンサノードのそれぞれが、自ノードが有する子ノードのそれぞれにより送信された前記集成後パケットを受信し、当該受信された集成後パケットを自ノードに対する親ノードへ送信し、
前記複数のセンサノードのそれぞれに対して、当該センサノードが有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるように、前記ネットワークトポロジを形成する、センサネットワーク制御方法。
【０１９０】
（付記１１）
付記１０に記載のセンサネットワーク制御方法であって、
前記複数のセンサノードのそれぞれを処理対象ノードとして特定し、当該複数のセンサノードの中から、当該特定された処理対象ノードと通信可能なセンサノードである親ノード候補を抽出し、当該抽出された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数に基づいてメトリック値を算出し、当該抽出された親ノード候補の中から、当該算出されたメトリック値に基づいて、当該処理対象ノードに対する親ノードを決定するように構成されたセンサネットワーク制御方法。
【０１９１】
（付記１２）
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードであって、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信する集成前パケット生成手段と、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信する集成後パケット生成手段と、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信する集成後パケット転送手段と、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する親ノード決定手段と、
を備えるセンサノード。
【０１９２】
（付記１３）
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードに適用されるセンサノード制御方法であって、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信し、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する、センサノード制御方法。
【０１９３】
（付記１４）
木構造を有するネットワークトポロジにおけるノードを構成するセンサノードに、
物理量を検出し、当該検出された物理量を表すセンサデータを収容するパケットである集成前パケットを生成し、当該生成された集成前パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成前パケットを受信し、当該受信された集成前パケットのそれぞれが収容するセンサデータを収容するパケットである集成後パケットを生成し、当該生成された集成後パケットを親ノードへ送信し、
子ノードのそれぞれにより送信された集成後パケットを受信し、当該受信された集成後パケットを親ノードへ送信し、
自ノードと通信可能な他のセンサノードである親ノード候補を特定し、当該特定された親ノード候補のそれぞれに対して、当該親ノード候補が有する子ノードの数を、１つのパケットが収容可能なセンサデータの最大数である最大収容数に自然数を乗じた値に近づけるためのメトリック値を算出し、当該特定された親ノード候補の中から、当該算出されたメトリック値に基づいて、自ノードに対する親ノードを決定する、処理を実行させるためのセンサノード制御プログラム。
【産業上の利用可能性】
【０１９４】
本発明は、複数のセンサノードを備えるセンサネットワークシステム等に適用可能である。
【符号の説明】
【０１９５】
１      センサネットワークシステム
１０１  シンクノード
２０１，２０２，…  センサノード
３１０  無線通信部
３１１  アンテナ
３２０  ルーティング機能部
３２１  周辺ノード情報取得部
３２２  メトリック値算出部
３２３  ルーティングテーブル記憶部
３２４  親ノード決定部
３２５  自ノード情報送信部
３３０  センサ部
３４０  アプリケーション機能部
３４１  センサデータ取得部
３４２  パケット送信部
４１０  無線通信部
４２０  ルーティング機能部
４３０  データベース部
４４０  アプリケーション機能部
４４１  パケット受信部
４４２  データベース管理部
１０００  センサネットワークシステム
１１００，…  センサノード
１１０１  集成前パケット生成部
１１０２  集成後パケット生成部
１１０３  集成後パケット転送部
１２００  ネットワークトポロジ形成部
【図１】
0005900947.tif 000010
【図２】
0005900947.tif 000011
【図３】
0005900947.tif 000012
【図４】
0005900947.tif 000013
【図５】
0005900947.tif 000014
【図６】
0005900947.tif 000015
【図７】
0005900947.tif 000016
【図８】
0005900947.tif 000017
【図９】
0005900947.tif 000018
【図１０】
0005900947.tif 000019
【図１１】
0005900947.tif 000020
【図１２】
0005900947.tif 000021
【図１３】
0005900947.tif 000022