(57)【要約】【課題】  管理端末への通信トラフィックの集中を回避させ、管理端末の負荷を軽減できるセンサノード及びこれを用いたデータの収集システムを提供する。【解決手段】  本発明は、通信ネットワークに接続され、任意の情報を検知するセンサノード５，６を提供する。センサノード５，６は、受信手段５１と、送信先読出手段５４と、送信手段５６とを含む。受信手段５１は、前記通信ネットワークに接続され、任意の情報を検知する他のセンサノード及び自ノードを含むノード群内での各ノードの順番と、各ノードの通信アドレスと、を対応づけて記憶する順番テーブルを受信する。送信先読取手段５４は、受信手段５１が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す。送信手段５６は、受信手段５１が受信した順番テーブルと、自ノードで検知した検知データと、を前記自ノードの通信アドレス宛に送信する。【選択図】      図１
2007060155.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続され、任意の情報を検知するセンサノードであって、
前記通信ネットワークに接続され、任意の情報を検知する他のセンサノード及び自ノードを含むノード群内での各ノードの順番と、各ノードの通信アドレスと、を対応づけて記憶する順番テーブルを受信する受信手段と、
前記受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す送信先読出手段と、
前記受信手段が受信した順番テーブルと、自ノードで検知した検知データと、を前記次ノードの通信アドレス宛に送信する送信手段と、
を含むことを特徴とする、センサノード。
【請求項２】
前記通信ネットワーク上の各ノードは、集約可能に割り当てられた通信アドレスを有しており、
前記各ノードの順番は、前記通信ネットワーク上のノードの通信アドレスに基づいて、前記通信ネットワーク上のセンサノード間の経路の長さに応じて決定されていることを特徴とする、請求項１に記載のセンサノード。
【請求項３】
前記受信手段は、前記検知データに基づいて演算目標値を演算する演算式と、現在の演算目標値と、を更に受信し、
前記送信手段は、前記現在の演算目標値、前記演算式及び自ノードで検知した検知データに基づいて演算される新たな演算目標値と、前記演算式と、を次のセンサノードに更に送信し、
前記現在の演算目標値、前記演算式及び前記自ノードで検知した検知データに基づいて、前記新たな演算目標値を演算する演算手段を更に含むことを特徴とする、請求項２に記載のセンサノード。
【請求項４】
前記受信手段は、前記順番テーブルにおいて自ノードの１つ前のセンサノードから、自ノードより上流側の他のセンサノードが検知した検知データを更に受信し、
前記送信手段は、前記受信手段が受信した他のセンサノードの検知データを前記次ノードに更に送信することを特徴とする、請求項２に記載のセンサノード。
【請求項５】
前記順番テーブルにおける最後の順番に対応づけられた通信アドレスと、自ノードの通信アドレスと、を比較するアドレス比較手段を更に含み、
前記アドレス比較手段が、前記最後の通信アドレスと自ノードの通信アドレスとが一致すると判断した場合、前記送信手段は、前記通信ネットワーク上の所定のノード宛に、自ノードの検知データと、前記受信手段が受信した他のセンサノードの検知データとを、送信することを特徴とする、請求項４に記載のセンサノード。
【請求項６】
前記ノード群は、前記通信ネットワーク上の所定のノードを更に含み、
前記順番テーブルにおける最後の順番には、前記所定のノードの通信アドレスが対応づけられていることを特徴とする、請求項４に記載のセンサノード。
【請求項７】
前記受信手段は、前記検知データに基づいて演算目標値を演算する演算式と、現在の演算目標値と、前記受信した他のセンサノードの検知データが既に演算に用いられたか否かを示す演算済み情報と、を更に受信し、
自ノードで検知した検知データ、前記演算式及び前記演算済み情報が演算済みを示していない検知データに基づいて、新たな演算目標値を演算する演算手段と、
前記演算手段が前記新たな演算目標値の演算に用いた前記演算済み情報を更新する演算済み情報更新手段と、を更に含み、
前記送信手段は、前記次のノードの通信アドレス宛に、前記新たな演算目標値と、前記演算式と、前記演算済み情報更新手段が更新した演算済み情報と、を更に送信することを特徴とする、請求項４に記載のセンサノード。
【請求項８】
前記受信した演算済み情報に基づいて、既に演算に用いられた検知データを消去する消去手段を更に含むことを特徴とする、請求項７に記載のセンサノード。
【請求項９】
前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段と、
前記通信アドレス読出手段が読み出した通信アドレスに基づいてセンサノード間の経路の長さを判断し、センサノード間の経路の長さに応じてセンサノード間の順番を決定し、前記決定した順番に基づいて前記順番テーブルを生成する順番テーブル生成手段と、
を更に含むことを特徴とする、請求項２に記載のセンサノード。
【請求項１０】
任意の情報を検知する複数のセンサノードと通信ネットワークを介して接続されており、前記複数のセンサノードが検知した検知データを受信し、前記検知データに基づいて演算目標値を演算する管理端末であって、
前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段と、
前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段と、
前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す送信先読出手段と、
前記順番テーブル生成手段が生成した順番テーブルを、前記最初のセンサノードの通信アドレス宛に送信する送信手段と、
前記順番が最後のセンサノードから、前記複数のセンサノードがそれぞれ検知した検知データを受信する受信手段と、
を含むことを特徴とする、管理端末。
【請求項１１】
前記通信ネットワークを介して接続されている複数のセンサノードの通信アドレスを記憶している記憶手段を更に含むことを特徴とする、請求項１０に記載の管理端末。
【請求項１２】
前記順番テーブル生成手段は、前記通信アドレス読出手段が読み出した通信アドレスに基づいて、センサノード間の経路の長さを判断し、前記センサノード間の経路の長さに応じてセンサノード間の順番を決定し、前記決定した順番に基づいて順番テーブルを生成することを特徴とする、請求項１０または請求項１１に記載の管理端末。
【請求項１３】
前記通信アドレス読出手段が読み出した前記センサノードの通信アドレスの数と所定の上限値とを比較する数比較手段を更に含み、
前記センサノードの通信アドレスの数が前記所定の上限値以上であると前記数比較手段が判断した場合は、前記テーブル生成手段は前記所定の上限値に基づいて前記順番テーブルを分割することを特徴とする、請求項１０に記載の管理端末。
【請求項１４】
前記通信アドレス読出手段は、センサノードの通信アドレスに加え、前記記憶手段から前記センサノードが検知する情報の種類を更に読み出し、
前記順番テーブル生成手段は、前記通信アドレス読出手段が読み出した前記情報の種類毎に前記順番テーブルを生成することを特徴とする、請求項１０に記載の管理端末。
【請求項１５】
任意の情報を検知する複数のセンサノードと通信ネットワークを介して接続された管理端末であって、
前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段と、
前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段と、
前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す送信先読出手段と、
前記順番テーブル生成手段が生成した順番テーブルと、前記複数のセンサノードが検知データに基づいて演算目標値を演算する演算式とを、前記順番が最初のセンサノードの通信アドレス宛に送信する送信手段と、
前記順番が最後のセンサノードから、前記演算式及び前記複数のセンサノードが検知した検知データに基づいて演算された演算目標値を受信する受信手段と、
含むことを特徴とする、管理端末。
【請求項１６】
任意の情報を検知する複数のセンサノードと、前記複数のセンサノードが検知した検知データを受信する管理端末と、が通信ネットワークを介して接続されたデータの収集システムであって、
前記管理端末は、
前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられた前記複数のセンサノードの通信アドレスを読み出す通信アドレス読出手段と、
前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段と、
前記順番テーブルを参照し、最初の順番に対応づけられた通信アドレスを読み出す第１送信先読出手段と、
前記順番テーブル生成手段が生成した順番テーブルを、前記第１送信先読出手段が読み出した通信アドレス宛に送信する第１送信手段と、
前記複数のセンサノードのうち、最後の順番に対応づけられたセンサノードから、前記複数のセンサノードが検知した検知データを受信する第１受信手段と、を含み、
前記センサノードは、
前記管理端末が生成した前記順番テーブルを受信する第２受信手段と、
前記第２受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す第２送信先読出手段と、
前記第２受信手段が受信した順番テーブルと、自ノードが検知した検知データと、を前記次ノードの通信アドレス宛に送信する第２送信手段と、を含み、
前記複数のセンサノードのうち、最後の順番に対応づけられたセンサノードの第２送信手段は、自ノードが検知した検知データを、前記管理端末宛に送信することを特徴とする、データの収集システム。
【請求項１７】
任意の情報を検知する複数のセンサノードと、前記複数のセンサノードと通信ネットワークを介して接続された管理端末と、を備えるデータの収集システムであって、
前記管理端末は、
前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段と、
前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段と、
前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す第１送信先読出手段と、
前記順番テーブル生成手段が生成した順番テーブルと、前記複数のセンサノードが検知データに基づいて演算目標値を演算する演算式とを、前記順番が最初のセンサノードの通信アドレス宛に送信する第１送信手段と、
前記複数のセンサノードのうち、最後の順番に対応づけられたセンサノードから、前記演算式及び前記複数のセンサノードが検知した検知データに基づいて演算された演算目標値を受信する第１受信手段と、を含み、
前記センサノードは、
前記管理端末が生成した前記順番テーブルと、前記演算式と、前記演算式に基づいて演算された現在の演算目標値と、を受信する第２受信手段と、
前記第２受信手段が受信した現在の演算目標値、前記演算式及び前記自ノードで検知した検知データに基づいて、前記新たな演算目標値を演算する演算手段と、
前記第２受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す第２送信先読出手段と、
前記第２受信手段が受信した順番テーブルと、前記演算手段が演算した新たな演算目標値と、前記演算式とを、前記送信先読出手段が読み出した通信アドレス宛に送信する第２送信手段と、を含み、
前記複数のセンサノードのうち、最後の順番に対応づけられたセンサノードの第２送信手段は、前記順番テーブルと、前記演算手段が演算した新たな演算目標値と、前記演算式とを、前記管理端末宛に送信することを特徴とする、データの収集システム。
【請求項１８】
通信ネットワークに接続され、任意の情報を検知するセンサノードに搭載されるコンピュータが実行するデータ送信プログラムであって、
前記通信ネットワークに接続され、任意の情報を検知する他のセンサノード及び自ノードを含むノード群内での各ノードの順番と、各ノードの通信アドレスと、を対応づけて記憶する順番テーブルを受信する受信手段、
前記受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す送信先読出手段、及び
前記受信手段が受信した順番テーブルと、自ノードで検知した検知データと、を前記次ノードの通信アドレス宛に送信する送信手段、
として前記コンピュータを機能させるためのデータ送信プログラム。
【請求項１９】
任意の情報を検知する複数のセンサノードと通信ネットワークを介して接続されており、前記複数のセンサノードが検知した検知データを受信し、前記検知データに基づいて演算目標値を演算する管理端末に搭載されるコンピュータが実行するデータ収集プログラムであって、
前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段、
前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段、
前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す送信先読出手段、
前記順番テーブル生成手段が生成した順番テーブルを、前記最初のセンサノードの通信アドレス宛に送信する送信手段、及び
前記順番が最後のセンサノードから、前記複数のセンサノードがそれぞれ検知した検知データを受信する受信手段、
として前記コンピュータを機能させるためのデータ収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサノード及び管理端末と、これらを用いたデータの収集システムに関する。
【背景技術】
【０００２】
近年、複数のセンサノードを用いたセンサネットワークシステムが急速に拡大している。センサノードとは、一つの基板上に通信機能やセンサ機能等を搭載した小型のデバイスである。このセンサノードには、NOx濃度や温度、湿度等の周囲の環境を検知する計測用のセンサノードや、人が通過したか否かを認識する認識用のセンサノードがある。そしてセンサノードには、ネットワークを介して管理端末が接続されている。管理端末はセンサノードが検知したデータを収集し解析する。センサノード及び管理端末間の通信には、例えばZigBeeやBluetooth、IP網等が用いられる。このようなセンサネットワークシステムにより、我々は所望のサービスを受けることができる。具体的には、センサネットワークシステムは、天候や気温などの気象情報観測、災害発生時の状況調査、在庫管理等に用いられている。
【０００３】
センサネットワークシステムには、クローズドなシステムとオープンなシステムとがある。クローズドなシステムは、例えばホームオートメーションやホームセキュリティ等の狭域な領域内の情報を必要とする場合に用いられる。従って、クローズドなシステムにおけるセンサノードの個数は通常数十個程度であって、これらはあらかじめ狭域な領域内に設けられている。クローズドなシステムにおける管理端末は、センサノード全ての通信アドレスやプロパティ情報等を有している。プロパティ情報は、センサノードの位置情報や任意の情報の測定精度等を含む。
【０００４】
オープンなシステムは、例えば地震予知や気象観測等の広域な領域内の情報を必要とする場合に用いられる。従って、オープンなシステムにおけるセンサノードの個数は、クローズドなシステムにおけるセンサノードの個数に比して多く、各センサノードは広域な領域内に配置される。オープンなシステムにおける管理端末は、所望の情報を検知可能なセンサノードを、検知データの収集毎に検索し、検索したセンサノードから検知データを収集する。そして、管理端末は、収集した検知データに基づいて演算を行い、その演算結果に基づいて任意の機器を制御したり、演算結果をユーザに提供する。
【０００５】
特許文献１は、広域型のシステムにおけるデータ通信の方法を示している。特許文献１は、例えばビデオ監視システム等に用いられる。コンソールやカメラ等の複数の端末と、これらを制御するシステム制御モジュールとがネットワークを介して接続されている。システム制御モジュールは、各端末に対して所定の時間間隔毎にデータの問い合わせを送信し、応答及びデータを受け取る。システム制御モジュールと複数の端末間の通信は１対１で行われる。
【特許文献１】特表平１９９９−５０５９８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法は、以下の問題点がある。各端末は、個々にシステム制御モジュールと通信を行う。そのため、端末の数が多くなればなるほど、各端末からシステム制御モジュールへの通信トラフィックは増加し、システム制御モジュールへの通信は更に集中する。通信トラフィックがシステム制御モジュールに集中すると、システム制御モジュールの負荷が重くなる。従って、特許文献１の方法は、センサノードが膨大な数である場合には適さない。また、各端末からの通信がシステム制御モジュールに集中している期間では、システム制御モジュールは各端末との通信処理に追われる。そのため、システム制御モジュールは通信処理以外の処理を、通信処理と並列して実行することが困難となる。
【０００７】
また、センサネットワークは、一時的な検知データの収集に用いられることは少ない。反対に、センサネットワークは、周期的かつ継続的に検知データの収集を行い、収集した検知データにより計算結果を時系列的に解析評価または蓄積することに用いられる場合が多い。検知データの収集を繰り返す周期が短い程、計算結果は検知対象である情報の急峻な変化を表すことができる。そのため、検知データの収集は、定期的かつ可能な限り短い周期で繰り返して実行することが好ましい。
【０００８】
管理端末が各センサノードから検知データを収集する際の通信トラフィックは、所望の情報を検知可能なセンサノードの数と、センサノードが検知したデータを管理端末が収集する期間の間隔に基づいて増加する。更に、センサノードが検知データを管理端末へ送信する場合の、センサノードと管理端末間の通信トラフィックは、通信経路上のルータの通信負荷へも影響を及ぼす。
【０００９】
このような通信トラフィックを低下させる方法として、管理端末はセンサノードを予めグルーピングしてグループ毎に優先度を付与し、優先度に従って検知データを収集する期間をずらす方法が考えられる。しかし、優先度の低いグループに属するセンサノードは検知対象である情報の急峻な変化をとらえることが困難となるため、管理端末の計算精度は低下する。また、あらかじめセンサノードをグルーピングしておくと、管理端末がデータを収集する毎にセンサノードを動的に検索する場合に対応できない。
【００１０】
そこで、本発明は、管理端末への通信トラフィックの集中を回避させ、ネットワークの負荷を軽減できる技術を提供することを目的とする。
【００１１】
また、本発明は、クローズドなセンサネットワーク及びオープンなセンサネットワークにおいて適用可能なデータの収集技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、発明１は、通信ネットワークに接続され、任意の情報を検知するセンサノードであって、受信手段と、送信先読出手段と、送信手段とを含むセンサノードを提供する。受信手段は、前記通信ネットワークに接続され、任意の情報を検知する他のセンサノード及び自ノードを含むノード群内での各ノードの順番と、各ノードの通信アドレスと、を対応づけて記憶する順番テーブルを受信する。送信先読出手段は、前記受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す。送信手段は、前記受信手段が受信した順番テーブルと、自ノードで検知した検知データと、を前記次ノードの通信アドレス宛に送信する。
【００１３】
このセンサノードは、例えば湿度や温度等の情報を検知する。以下より、温度を検知するセンサノードＡ及びセンサノードＢが通信ネットワークを介して管理端末に接続されており、順番テーブル内における各ノードの順番がセンサノードＡ，Ｂである場合を考える。先ず、センサノードＡは、順番テーブルを受信すると、温度を検知する。そして、センサノードＡは順番テーブルから温度のデータａの送信先をセンサノードＢと決定すると、センサノードＢの通信アドレスを読出し、温度のデータａ及び順番テーブルをセンサノードＢ宛に送信する。即ち、センサノードＡは、検知した温度のデータａを管理端末へは送信せず、センサノードＢへ送信する。そのため、管理端末には通信ネットワーク上の各センサノードからの通信が集中しない。従って、センサノードと管理端末間のトラフィックの軽減ができる。
【００１４】
発明２は、前記発明１において、以下の特徴を更に有するセンサノードを提供する。前記通信ネットワーク上の各ノードは、集約可能に割り当てられた通信アドレスを有する。前記各ノードの順番は、前記通信ネットワーク上のノードの通信アドレスに基づいて、前記通信ネットワーク上のセンサノード間の経路の長さに応じて決定されている。
【００１５】
経路の長さとは、１つのセンサノードと他のセンサノードとを結ぶ経路の各々の長さであって、経路中に存在する中継点の差を示す。例えば、センサノードＡがルータａ及びルータｂを解してセンサノードＢと通信を行う場合と、センサノードＡがルータｃ、ｄ、ｆを介してセンサノードＣと通信を行う場合を考える。センサノードＡとセンサノードＢ間の通信は、センサノードＡとセンサノードＣ間の通信に比して中継点であるルータが少ない。即ち、センサノードＡとセンサノードＢ間の経路の長さは、センサノードＡとセンサノードＣ間の経路の長さに比して短い。従って、経路の長さは、物理的な距離を表すのではなく、センサノード間を結ぶ経路内の中継点の数を示すと言える。
【００１６】
順番テーブル内における各ノードの順番は、センサノード間の経路の近い順に決定される。これにより、各センサノードは、順番テーブル及び検知した検知データの受け渡しを効率的に実行することができる。そして、センサノード間の通信トラフィックを軽減できる。
【００１７】
発明３は、前記発明２において、以下の特徴を更に有するセンサノードを提供する。前記受信手段は、前記検知データに基づいて演算目標値を演算する演算式と、現在の演算目標値と、を更に受信する。前記送信手段は、前記現在の演算目標値、前記演算式及び自ノードで検知した検知データに基づいて演算される新たな演算目標値と、前記演算式と、を次のセンサノードに更に送信する。そして、センサノードは、前記現在の演算目標値、前記演算式及び前記自ノードで検知した検知データに基づいて、前記新たな演算目標値を演算する演算手段を更に含む。
【００１８】
このセンサノードは、演算式を用いて、検知データから例えば平均値等の演算を行う。そして、センサノードは演算結果を演算目標値として次のセンサノードに送信する。管理端末は、各センサノードが検知した検知データ全てにより演算された演算目標値を受信する。これにより、管理端末は受信したセンサノードの各検知データから平均値等の演算目標値を演算しなくて済む。従って、管理端末の演算処理による負荷を軽減することができる。
【００１９】
発明４は、前記発明２において、以下の特徴を更に有するセンサノードを提供する。前記受信手段は、前記順番テーブルにおいて自ノードの１つ前のセンサノードから、自ノードより上流側の他のセンサノードが検知した検知データを更に受信する。前記送信手段は、前記受信手段が受信した他のセンサノードの検知データを前記次ノードに更に送信する。
【００２０】
このセンサノードは、他のセンサノードから受信した検知データを、自ノードが検知した検知データと共に更に次のセンサノードへ送信する。これにより、通信ネットワーク上の各センサノードが管理端末に検知データを個々に送信する場合に比して、センサノードから管理端末への通信が集中しない。従って、センサノードと管理端末間のトラフィックの軽減ができる。
【００２１】
発明５は、前記発明４において、以下の特徴を更に有するセンサノードを提供する。前記順番テーブルにおける最後の順番に対応づけられた通信アドレスと、自ノードの通信アドレスと、を比較するアドレス比較手段を更に含む。前記アドレス比較手段が、前記最後の通信アドレスと自ノードの通信アドレスとが一致すると判断した場合、前記送信手段は、前記通信ネットワーク上の所定のノード宛に、自ノードの検知データと、前記受信手段が受信した他のセンサノードの検知データとを、送信する。
【００２２】
順番が最後であるセンサノードは、通信ネットワーク上の全センサノードの検知データを、管理端末へ一括して送信する。これにより、通信ネットワーク上の各センサノードが管理端末に個々に検知データを送信する場合に比して、管理端末への通信が集中しない。従って、センサノードと管理端末間のトラフィックの軽減ができる。
【００２３】
発明６は、前記発明４において、前記ノード群は、前記通信ネットワーク上の所定のノードを更に含み、前記順番テーブルにおける最後の順番には、前記所定のノードの通信アドレスが対応づけられているセンサノードを提供する。
【００２４】
この構成によると、順番テーブルの順番のうち最後には所定のノードが対応づけられている。従って、順番テーブル内の順番のうち、最後から２番目のセンサノードは、受信した他のセンサノードの検知データ及び自ノードの検知データを所定のノードに送信する。これにより、所定のノードは各センサノードが検知した検知データを、一括して受信する。従って、所定のノードへの通信が集中せず、センサノードと管理端末間の通信トラフィックの軽減ができる。
【００２５】
発明７は、前記発明４において、以下の特徴を更に有するセンサノードを提供する。前記受信手段は、前記検知データに基づいて演算目標値を演算する演算式と、現在の演算目標値と、前記受信した他のセンサノードの検知データが既に演算に用いられたか否かを示す演算済み情報と、を更に受信する。そして、センサノードは、自ノードで検知した検知データ、前記演算式及び前記演算済み情報が演算済みを示していない検知データに基づいて、新たな演算目標値を演算する演算手段を更に含む。更に、センサノードは、前記演算手段が前記新たな演算目標値の演算に用いた前記演算済み情報を更新する演算済み情報更新手段と、を更に含む。前記送信手段は、前記次のノードの通信アドレス宛に、前記新たな演算目標値と、前記演算式と、前記演算済み情報更新手段が更新した演算済み情報と、を更に送信する。
【００２６】
このセンサノードは、受信した他のセンサノードの検知データのうちまだ演算に用いられていない検知データを、一括して演算に用いる。また、このセンサノードは、演算後、演算に用いた検知データに対応する演算済み情報を更新し、次のセンサノードへ送信する。従って、ネットワークに接続されているセンサノード全てが演算可能なリソースを有していない場合であっても、演算可能なリソースを有しているセンサノードが演算を行うため、管理端末の負荷を軽減することができる。
【００２７】
発明８は、前記発明７において、前記受信した演算済み情報に基づいて、既に演算に用いられた検知データを消去する消去手段を更に含むセンサノードを提供する。
【００２８】
このセンサノードは、受信した他のセンサノードの検知データのうち、既に演算に用いられた検知データを消去する。そのため、このセンサノードが次のセンサノードへ送信するデータ量は、自ノードの上流側のセンサノード全てからの検知データ全部を送信する場合よりも小さい。従って、センサノード間のトラフィックを軽減することができる。
【００２９】
発明９は、前記発明２において、通信アドレス読出手段と、順番テーブル生成手段とを更に含むセンサノードを提供する。通信アドレス読出手段は、前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す。順番テーブル生成手段は、前記通信アドレス読出手段が読み出した通信アドレスに基づいてセンサノード間の経路の長さを判断し、センサノード間の経路の長さに応じてセンサノード間の順番を決定し、前記決定した順番に基づいて前記順番テーブルを生成する。
【００３０】
このセンサノードは、通信ネットワーク上の他のセンサノードの通信アドレスを用いて順番テーブルを生成し、他のセンサノードへ送信する。これにより、例えば通信ネットワーク上の管理端末は、順番テーブルを生成せずに済む。従って、管理端末の負荷を軽減することができる。また、センサノード間の通信トラフィックも軽減できる。
【００３１】
また、前記課題を解決するために、発明１０は、任意の情報を検知する複数のセンサノードと通信ネットワークを介して接続されており、前記複数のセンサノードが検知した検知データを受信し、前記検知データに基づいて演算目標値を演算する管理端末であって、通信アドレス読出手段と、順番テーブル生成手段と、送信先読出手段と、送信手段と、受信手段とを含む管理端末を提供する。通信アドレス読出手段は、前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す。順番テーブル生成手段は、前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する。送信先読出手段は、前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す。送信手段は、前記順番テーブル生成手段が生成した順番テーブルを、前記最初のセンサノードの通信アドレス宛に送信する。受信手段は、前記順番が最後のセンサノードから、前記複数のセンサノードがそれぞれ検知した検知データを受信する。
【００３２】
この管理端末は、任意の情報を検知したセンサノードが、検知データを次にどのセンサノードへ送信すれば良いかを決定する際に用いられる順番テーブルを生成する。具体的に、管理端末がネットワークを介してセンサノードＡ，Ｂと接続している場合を考える。ここで、各センサノードＡ，Ｂが検知した検知データを、それぞれ検知データａ，ｂとする。管理端末は、順番テーブル内におけるセンサノード間の順番をセンサノードＡ、センサノードＢの順に決定する。管理端末は、順番テーブルをセンサノードＡに送信する。そして、管理端末は、検知データａ，ｂをセンサノードＢから受信する。この場合、管理端末とセンサノードＡ，Ｂ間の通信回数は２回で済む。即ち、各センサノードは個々に管理端末と通信を行わないため、管理端末に通信が集中しない。従って、センサノードと管理端末との間のトラフィックを軽減できる。
【００３３】
発明１１は、前記発明１０において、前記通信ネットワークを介して接続されている複数のセンサノードの通信アドレスを記憶している記憶手段を更に含むことを特徴とする管理端末を提供する。
【００３４】
この管理端末は、通信ネットワーク上の複数のセンサノードの通信アドレスを記憶している。そのため、複数のセンサノードの通信アドレスを記憶している記憶手段を、管理端末の外部に設けずに済む。
【００３５】
発明１２は、前記発明１０または１１において、以下の特徴を更に有する管理端末を提供する。前記順番テーブル生成手段は、前記通信アドレス読出手段が読み出した通信アドレスに基づいて、センサノード間の経路の長さを判断し、前記センサノード間の経路の長さに応じてセンサノード間の順番を決定し、前記決定した順番に基づいて順番テーブルを生成する。
【００３６】
順番テーブルに含まれる各ノードの順番は、センサノード間の経路の近い順に決定される。これにより、各センサノードは、順番テーブル及び検知データの受け渡しを効率的に実行することができる。従って、ネットワークの負荷を抑制することができ、センサノードと管理端末間の通信トラフィックを軽減できる。また、センサノード間の通信トラフィックも軽減できる。
【００３７】
発明１３は、前記発明１０において、数比較手段を更に含む管理端末を提供する。数比較手段は、前記通信アドレス読出手段が読み出した前記センサノードの通信アドレスの数と所定の上限値とを比較する。そして、前記センサノードの通信アドレスの数が前記所定の上限値以上であると前記数比較手段が判断した場合は、前記テーブル生成手段は前記所定の上限値に基づいて前記順番テーブルを分割する。
【００３８】
この管理端末は、通信ネットワーク上のセンサノードの設置台数が多い場合、順番テーブルを所定の上限値に基づいて分割する。そして管理端末は、分割された各順番テーブルを、各順番テーブル内の順番が最初のセンサノード宛にそれぞれ送信する。これにより、各順番テーブルは、通信ネットワーク上のセンサノード間において並列に受け渡しがなされる。従って、管理端末は、複数のセンサノードが検知した検知データを並列に収集することができる。
【００３９】
発明１４は、前記発明１０において、以下の特徴を更に有する管理端末を提供する。前記通信アドレス読出手段は、センサノードの通信アドレスに加え、前記記憶手段から前記センサノードが検知する情報の種類を更に読み出す。前記順番テーブル生成手段は、前記通信アドレス読出手段が読み出した前記情報の種類毎に前記順番テーブルを生成する。
【００４０】
例えば、通信ネットワーク上に温度を検知するセンサノードと湿度を検知するセンサノードとがある場合を考える。記憶手段は、検知する情報“温度”及び温度センサノードの通信アドレスと、検知する情報“湿度”及び湿度センサノードの通信アドレスとを、それぞれ対応づけて記憶している。この場合、管理端末は、検知する情報が“温度”である温度センサノードの通信アドレスから順番テーブルＴａを生成して送信し、温度の検知データを受信する。また、管理端末は、検知する情報“湿度”である湿度センサノードの通信アドレスから順番テーブルＴｂを生成して送信する。即ち、管理端末は、センサノードが検知する検知データの種類毎に順番テーブルＴａ，Ｔｂを生成し送信する。従って、管理端末は、センサノードが検知する情報の種類毎に検知データを収集することができる。
【００４１】
また、前記課題を解決するために、発明１５は、任意の情報を検知する複数のセンサノードと通信ネットワークを介して接続された管理端末であって、通信アドレス読出手段と、順番テーブル生成手段と、送信先読出手段と、送信手段と、前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段と、受信手段と、を含む管理端末を提供する。順番テーブル生成手段は、前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する。送信先読出手段は、前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す。送信手段は、前記順番テーブル生成手段が生成した順番テーブルと、前記複数のセンサノードが検知データに基づいて演算目標値を演算する演算式とを、前記順番が最初のセンサノードの通信アドレス宛に送信する。受信手段は、前記順番が最後のセンサノードから、前記演算式及び前記複数のセンサノードが検知した検知データに基づいて演算された演算目標値を受信する。
【００４２】
この管理端末は、複数のセンサノードが検知した検知データから演算した演算目標値を受信する。そのため、管理端末は演算せずに済む。従って、管理端末の演算処理による負荷を軽減することができる。
【００４３】
また、前記課題を解決するために、発明１６は、任意の情報を検知する複数のセンサノードと、前記複数のセンサノードが検知した検知データを受信する管理端末と、が通信ネットワークを介して接続されたデータの収集システムを提供する。具体的には、管理端末は、以下の手段を含む。
○前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられた前記複数のセンサノードの通信アドレスを読み出す通信アドレス読出手段
○前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段
○前記順番テーブルを参照し、最初の順番に対応づけられた通信アドレスを読み出す第１送信先読出手段
○前記順番テーブル生成手段が生成した順番テーブルを、前記第１送信先読出手段が読み出した通信アドレス宛に送信する第１送信手段
○前記複数のセンサノードのうち、最後の順番に対応づけられたセンサノードから、前記複数のセンサノードが検知した検知データを受信する第１受信手段
センサノードは以下の手段を含む。
○前記管理端末が生成した前記順番テーブルを受信する第２受信手段
○前記第２受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す第２送信先読出手段
○前記第２受信手段が受信した順番テーブルと、自ノードが検知した検知データと、を前記次ノードの通信アドレス宛に送信する第２送信手段
そして、前記複数のセンサノードのうち、最後の順番に対応づけられたセンサノードの第２送信手段は、自ノードが検知した検知データを、前記管理端末宛に送信する。
【００４４】
このデータの収集システムでは、管理端末は、センサノードが検知したデータ及び順番テーブルを次にどのセンサノードへ送信すれば良いかを決定する際に用いられる順番テーブルを生成する。センサノードは、順番テーブルから自ノードの次のノードの通信アドレスを読み出し、読み出したアドレス宛に順番テーブル及び検知データを送信する。順番が最後のセンサノードは、順番テーブル及び検知データを管理端末に送信する。これにより各センサノードは個々に管理端末と通信を行わないため、各センサノードから管理端末への通信が集中しない。従って、センサノードと管理端末との間のトラフィックの軽減ができる。
【００４５】
また、前記課題を解決するために、発明１７は、任意の情報を検知する複数のセンサノードと、前記複数のセンサノードと通信ネットワークを介して接続された管理端末と、を備えるデータの収集システムを提供する。具体的には、管理端末は、以下の手段を含む。
○前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段
○前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段
○前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す第１送信先読出手段
○前記順番テーブル生成手段が生成した順番テーブルと、前記複数のセンサノードが検知データに基づいて演算目標値を演算する演算式とを、前記順番が最初のセンサノードの通信アドレス宛に送信する第１送信手段
○前記複数のセンサノードのうち、最後の順番に対応づけられたセンサノードから、前記演算式及び前記複数のセンサノードが検知した検知データに基づいて演算された演算目標値を受信する第１受信手段
センサノードは、以下の手段を含む。
○前記管理端末が生成した前記順番テーブルと、前記演算式と、前記演算式に基づいて演算された現在の演算目標値と、を受信する第２受信手段
○前記第２受信手段が受信した現在の演算目標値、前記演算式及び前記自ノードで検知した検知データに基づいて、前記新たな演算目標値を演算する演算手段
○前記第２受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す第２送信先読出手段
○前記第２受信手段が受信した順番テーブルと、前記演算手段が演算した新たな演算目標値と、前記演算式とを、前記送信先読出手段が読み出した通信アドレス宛に送信する第２送信手段
そして、複数のセンサノードのうち、最後の順番に対応づけられたセンサノードの第２送信手段は、前記順番テーブルと、前記演算手段が演算した新たな演算目標値と、前記演算式とを、前記管理端末宛に送信する。
【００４６】
このデータの収集システムでは、管理端末は、センサノードが検知したデータ及び順番テーブルを次にどのセンサノードへ送信すれば良いかを決定する際に用いられる順番テーブルを生成する。そして、センサノードは、演算式を用いて、検知データから例えば平均値等の演算を行う。センサノードは演算結果を演算目標値として次のセンサノードに送信する。管理端末は、各センサノードが検知した検知データ全てにより演算された演算目標値を受信する。これにより、管理端末は受信したセンサノードの各検知データから平均値等の演算目標値を演算しなくて済む。従って、管理端末の演算処理による負荷を軽減することができる。
【００４７】
また、前記課題を解決するために、発明１８は、通信ネットワークに接続され、任意の情報を検知するセンサノードに搭載されるコンピュータが実行するデータ送信プログラムを提供する。具体的には、データ送信プログラムは、以下の手段によりコンピュータを機能させる。
○前記通信ネットワークに接続され、任意の情報を検知する他のセンサノード及び自ノードを含むノード群内での各ノードの順番と、各ノードの通信アドレスと、を対応づけて記憶する順番テーブルを受信する受信手段
○前記受信手段が受信した順番テーブルを参照し、自ノードの次のセンサノードの通信アドレスを読み出す送信先読出手段
○前記受信手段が受信した順番テーブルと、自ノードで検知した検知データと、を前記次ノードの通信アドレス宛に送信する送信手段
上述したデータ送信プログラムは、前記発明１と同様の効果を奏する。
【００４８】
また、前記課題を解決するために、発明１９は、任意の情報を検知する複数のセンサノードと通信ネットワークを介して接続されており、前記複数のセンサノードが検知した検知データを受信し、前記検知データに基づいて演算目標値を演算する管理端末に搭載されるコンピュータが実行するデータ収集プログラムを提供する。具体的には、データ収集プログラムは、以下の手段によりコンピュータを機能させる。
○前記通信ネットワーク上の記憶手段から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを読み出す通信アドレス読出手段
○前記通信アドレス読出手段が読み出した通信アドレスと、前記複数のセンサノード間の順番と、を対応づけて記憶する順番テーブルを生成する順番テーブル生成手段
○前記順番テーブルを参照し、前記順番が最初のセンサノードの通信アドレスを読み出す送信先読出手段
○前記順番テーブル生成手段が生成した順番テーブルを、前記最初のセンサノードの通信アドレス宛に送信する送信手段
○前記順番が最後のセンサノードから、前記複数のセンサノードがそれぞれ検知した検知データを受信する受信手段
上述した構成を有するデータ収集プログラムは、前記発明１０と同様の効果を奏する。
【発明の効果】
【００４９】
本発明によると、管理端末への通信トラフィックの集中を回避することができる。また本発明によると、管理端末の負荷を軽減することができる。
【発明を実施するための最良の形態】
【００５０】
＜第１実施形態＞
（１）システムの構成
図１は、本発明の第１実施形態に係るデータの収集システムの構成図である。本実施形態では、データの収集システムとして、温度及び湿度を検知する温度センサノード及び湿度センサノードを含む気象観測システムを例にとる。
【００５１】
図１のデータの収集システム１は、管理端末２、ルータ３ａ〜ｅ、温度センサノード５ａ〜ｆ、湿度センサノード６ａ〜ｆ及びデータベースサーバ７（以下より、“データベース”を“ＤＢ”と称する）を備える。管理端末２、ルータ３ａ〜ｅ、温度センサノード５ａ〜ｆ、湿度センサノード６ａ〜ｆ及びＤＢサーバ７は、通信ネットワークを介して接続されており、通信ネットワーク上の各ノードは、集約可能に割り当てられた通信アドレスを有している。図１内の“2001:0200:0004:0020::0080”等は、各ノードに割り当てられた通信アドレスを示す。通信アドレスについては後述する。
【００５２】
管理端末２、温度センサノード５ａ〜ｆ及び湿度センサノード６ａ〜ｆは、ルータ３ａ〜ｄを介して接続されている。具体的には、温度センサノード５ａ，ｄ及び湿度センサノード６ａ，ｄを含むノード群４ａは、ルータ３ａ，ｂを介して管理端末２に接続されている。温度センサノード５ｂ，ｅ及び湿度センサノード６ｂ，ｅを含むノード群４ｂは、ルータ３ａ，ｂ，ｃ，ｄを介して管理端末２に接続されている。温度センサノード５ｃ，ｆ及び湿度センサノード６ｃ，ｆを含むノード群４ｃは、ノード群４ｂと同様に、ルータ３ａ，ｂ，ｃ，ｄを介して管理端末２に接続されている。
【００５３】
また、ルータ３ｅには、ＤＢサーバ７が接続されている。即ち、管理端末２及びＤＢサーバ７は、ルータ３ａ，ｂ，ｃ，ｅを介して接続されている。
【００５４】
図２は、ＤＢサーバ７が有する通信アドレスＤＢの概念図である。図２の通信アドレスＤＢは、各センサノードの通信アドレスと各センサノードの種類と各センサノードの名称とを、１レコードとして記憶している。尚、図２では、各センサノードの通信アドレスと各センサノードの種類と各センサノードの名称とを対応づけて記憶しているが、これに限定されない。通信アドレスＤＢは、通信アドレスのみを記憶していてもよい。
【００５５】
管理端末２は、通信ネットワーク上のセンサノード５ａ〜ｆ，６ａ〜ｆが形成するノード群４ａ，ｂ，ｃ内の各ノードの順番と、各ノードの通信アドレスとを対応づけて記憶する順番テーブルを生成する。管理端末２は、生成した順番テーブルを、順番テーブル内の最初の順番のセンサノードに送信する。そして、管理端末２は、各センサノード５ａ〜ｆ，６ａ〜ｆが検知した温度及び湿度のデータ全てを、順番テーブル内の最後の順番のセンサノードから受信する。
【００５６】
順番テーブル内の最初の順番のセンサノードは、順番テーブルを管理端末２から受信すると、自ノードが位置している場所での温度または湿度を検知する。そして、このセンサノードは、検知したデータと順番テーブルとを、順番テーブル内の自ノードの次の順番のノードに送信する。温度や湿度の検知データと順番テーブルとを受信したセンサノードは、受信した検知データ及び順番テーブルと自ノードが検知した検知データとを、順番テーブル内の自ノードの次の順番のノードに更に送信する。順番テーブル内の最後の順番のセンサノードは、受信した全ての検知データを管理端末２へ送信する。
【００５７】
（２）通信アドレス
本実施形態に係る通信ネットワークは、例えばＩＰネットワークであって、通信アドレスはIPネットワークの階層毎に集約可能なＩＰアドレスであるとする。本実施形態に係るデータの収集システム１は、ＩＰネットワークのＩＰプロトコルとして、IPv6を用いることができる。図３は、IPv6のアドレス構造を示した図である。以下に、IPv6のアドレス構造について説明する。
【００５８】
図３の（ａ）は、ＲＦＣ２３７４で規定されたアドレス構造を示す。図３（ａ）のアドレス構造は、３ビットのFP(Format Prefix)、１３ビットのTLA(Top Level Aggregation)、１３ビットのs-TLA（Sub Top Level Aggregation）、６ビットのRes(Reserved for future use)、１３ビットのNLA（Next-Level Aggregation）、１６ビットのSLA(Site-Level Aggregation)及び６４ビットのEUI-64 Interface IDからなる構成を有する。例えばアジア太平洋地域の場合、FP、TLA、s-TLA及びResは、地域インターネットレジストリであるAPNIC（Asia Pacific Network Information Centre）により割り当てられる。TLAはトップレベルのプロバイダやIX(Internet Exchange)を識別するフィールドである。ｓ-TLAはサブレベルのプロバイダを識別するフィールドである。Resは、将来割り当てるための予約フィールドである。NLAは任意のプロバイダがユーザに割り当てる。SLAはユーザが各サブネットに割り当てる。尚、SLAから上位のビットはネットワーク部のアドレスである。EUI-64 Interface IDは、端末固有のアドレスであって、ＭＡＣアドレスから生成される。
【００５９】
また、図３の（ｂ）は、ＲＦＣ３５８７で規定されたアドレス構造である。図３（ｂ）のアドレス構造は、３ビットのFP、４５ビットのGRP(Global Routing Prefix）、１６ビットのSLA及び６４ビットのEUI-64 Interface IDからなる構成を有する。GRPは、図３（ａ）におけるアドレスの構成のうち、TLA、s-TLA、Res及びNLAのフィールドを同層に集約したフィールドである。
【００６０】
本発明に係るデータの収集システム１内の各端末は、上述したようなIPv6のアドレス構造に基づいて、管理端末２、ルータ３、センサノード５，６にはＩＰアドレスが割り当てられる。即ち、各ノードは、データの収集システム１の階層構造を示すＩＰアドレスが割り当てられる。本実施形態に係る管理端末２は、このＩＰアドレス構造に基づいて各センサノードが検知したデータを送信する順番を決定する。順番の決定方法については後述する。
【００６１】
尚、上述では、データの収集システム１内の各ノードは、IPv6のアドレス構造を有するＩＰアドレスが割り当てられるとしたが、これに限定されない。データの収集システム１内の各ノードは、ＩＰネットワークの階層構造を示し、かつ階層毎に集約可能なアドレス構造を有する通信アドレスが割り当てられていればよい。
【００６２】
（３）管理端末の機能構成
次に、本実施形態に係る管理端末２の機能構成について説明する。図４は、本実施形態に係る管理端末２の機能構成図である。本実施形態に係る管理端末２は、指示生成部２１、通信アドレス読出部２２、テーブル生成部２３、送信先読出部２４、送信部２５、受信部２６、演算部２７、記憶部２８及び通信インターフェース３９を含む。
【００６３】
（３−１）指示生成部
指示生成部２１は、温度センサノード５や湿度センサノード６に任意の情報を検知させるための検知指示を生成する。例えば、温度センサノード５ａ〜ｆが検知した温度のデータを管理端末２が取得する場合は、指示生成部２１は温度の検知指示を生成する。尚、例えば管理端末２がユーザにより直接操作されている場合は、指示生成部２１が検知指示を生成するタイミングは、管理端末２に設けられたボタン等がユーザにより押下されたタイミングであってもよい。この場合、管理端末２は、ボタン等がユーザにより押下されたことを検出する検出部を更に備える。
【００６４】
（３−２）通信アドレス読出部
通信アドレス読出部２２は、通信ネットワークに接続されているＤＢサーバ７から、集約可能なアドレスが割り当てられたセンサノードの通信アドレスを、通信インターフェース２９を介して読み出す。例えば、温度センサノード５ａ〜ｆが検知した温度のデータを管理端末２が取得する場合は、通信アドレス読出部２２は、ＤＢサーバ７が有している通信アドレスＤＢから、情報の種類が“温度”であるセンサノードの通信アドレスを読み出す。そして、通信アドレス読出部２２は、読み出したセンサノードの通信アドレスをテーブル生成部２３へ渡す。
【００６５】
（３−３）テーブル生成部
テーブル生成部２３は（順番テーブル生成手段に相当する）、通信アドレス読出部２２が読み出した通信アドレスと、複数のセンサノード間の順番とを対応づけて記憶する順番テーブルを生成する。“複数のセンサノード間の順番”とは、センサノードが順番テーブルを送信する順である。
【００６６】
図５は、本実施形態に係るテーブル生成部２３が生成する順番テーブルの概念図である。図５の順番テーブルは、順番と、センサノードの通信アドレスと、センサノードの検知データを記録するフィールドと、センサノードの種類とを、１レコードとして記憶している。センサノードの通信アドレスは、センサノードが順番テーブルを送信する順にソートされている。センサノードの種類は、センサノードが検知する情報の種類であって、例えば温度や湿度等が該当する。尚、図５の順番テーブルは、温度のセンサノードに対応する順番テーブルを示している。従って、図５の順番テーブルの種類には“温度”が記憶されている。センサノードの検知データを記憶するフィールドは、テーブル生成部２３が順番テーブルを生成した時点では未検知を示す“ＮＵＬＬ”値が与えられているが、各センサノードが温度を検知した後は、各センサノードが検知した温度のデータが記憶される。尚、図５の順番テーブルでは、センサノードの通信アドレスのみが記憶されているが、センサノードの通信アドレスの最後には、管理端末２のアドレスが記憶されていてもよい。また、図５の順番テーブルには、センサノードが検知する情報の種類及び検知データを記録するフィールドを記憶しているが、これに限定されない。本実施形態に係る順番テーブルは、順番と通信アドレスとを対応づけて記憶しているか、ないしはセンサノードが順番テーブルを送信する順にソートされた通信アドレスのみを記憶していてもよい。
【００６７】
また、本実施形態に係るテーブル生成部２３は、センサノードが順番テーブルを送信する順番、即ち“複数のセンサノード間の順番”を更に生成する。具体的には、テーブル生成部２３は、通信アドレス読出部２２が読み出した通信アドレスに基づいて、センサオード間の経路の長さを判断する。そして、テーブル生成部２３は、センサノード間の経路の長さに応じてセンサノード間の順番を決定する。テーブル生成部２３が生成するセンサノード間の順番については「（５）センサノード間の順番」で詳述する。
【００６８】
（３−４）送信先読出部
送信先読出部２４は、テーブル生成部２３が生成した順番テーブルを参照し、最初の順番のセンサノードの通信アドレスを読み出す。例えば、テーブル生成部２３が図５に示す順番テーブルを生成した場合、送信先読出部２４は、順番テーブル内の順番“１”に該当するセンサノードの通信アドレス“2001:0200:0004:0010::0001”を読み出す。そして、送信先読出部２４は、読み出したセンサノードの通信アドレスを送信部２５に通知する。
【００６９】
（３−５）送信部
送信部２５は、指示生成部２１が生成した検知指示とテーブル生成部２３が生成した順番テーブルとを、送信先読出部２４から通知されたセンサノードの通信アドレス宛に、通信インターフェース２９を介して送信する。
【００７０】
（３−６）受信部
受信部２６は、テーブル生成部２４が生成した順番テーブルにおいて最後の順番のセンサノードから、各センサノードが検知した検知データを、通信インターフェース２９を介して受信する。本実施形態に係る順番テーブルは、図５に示すように、各センサノードの検知データが記録されるフィールドを有している。従って、本実施形態に係る受信部２７は、各センサノードが検知した検知データを記憶している順番テーブルを、最後の順番のセンサノードから、通信インターフェース２９を介して受信する。具体的には、受信部２７は、各センサノードが検知した検知データを記憶している順番テーブルを、図５に係る順番テーブル内の順番“６”に該当するセンサノードから受信する。
【００７１】
（３−７）演算部
演算部２７は、受信部２６が受信した順番テーブルに記憶されている各センサノードの検知データに基づいて、演算目標値を演算する。演算部２７は、各センサノードが検知した温度のデータから、例えば平均値を算出する演算式を記憶している。具体的には、各温度センサノードが温度を検知した場合、管理端末２の受信部２６は、各温度センサノードが検知した温度の検知データを含む順番テーブルを受信する。演算部２７は、演算式と受信した順番テーブル内の温度の検知データとに基づいて、平均値等の演算目標値を演算する。尚、演算後の結果は、例えば管理端末２内に表示部が設けられている場合は表示されてもよい。また、管理端末２が通信ネットワークを介して更に他の端末に接続されている場合は、管理端末２は、演算後の結果を、他の端末に通知してもよい。また、演算後の結果は、管理端末２内に記憶されてもよい。
【００７２】
（３−８）記憶部
記憶部２８は、管理端末２の各機能が動作するための各種プログラムを記憶している。各種プログラムには、例えば管理端末２の通信処理用プログラムや、指示生成部２１が検知指示を生成するためのプログラム、テーブル生成部２３が順番テーブルを生成するためのプログラム、演算部２７が演算を実行するためのプログラム等が含まれる。
【００７３】
（４）センサノードの機能構成
次に、本実施形態に係る各センサノード５，６の機能構成について説明する。図１の検知ノードの収集システム１では、温度センサノード５及び湿度センサノード６を用いているが、これらはセンサが検知する情報の種類が異なるだけであって、各センサノードの機能構成は同様である。従って、以下より、温度センサノード５の機能構成を例に取り説明する。図６は、本実施形態に係る温度センサノード５の機能構成図である。本実施形態に係る温度センサノード５は、受信部５１、検知部５２、センサ５３、比較部５４（アドレス比較部に相当）、送信先読出部５５、送信部５６及び通信インターフェース５７を含む。
【００７４】
（４−１）受信部
受信部５１は、管理端末２が生成した順番テーブルを、通信インターフェース５７を介して受信する。図５に係る順番テーブルにおいて、順番が“１”であるセンサノードの受信部５１は、順番テーブル及び検知指示を管理端末２から受信する。また、順番テーブルにおいて、順番が“１”以外のセンサノード、即ち順番が“２〜６”のセンサノードの受信部５１は、自ノードの1つ前のセンサノードから、自ノードより上流側の他のセンサノードが検知した検知データが記憶された順番テーブルを、他のセンサノードから受信する。尚、自ノードより上流側の他のセンサノードとは、順番が自ノードより前のセンサノード全部を言う。
【００７５】
（４−２）検知部
検知部５２は、受信部５１が順番テーブルを受信すると、センサ５３へ温度の検知指示を通知する。また、検知部５２は、センサ５３が検知した温度の検知データを受信すると、順番テーブル内の自ノードの“センサノードの検知データ”フィールドに、センサの５３が検知した検知データを記憶する。言い換えると、検知部５２は順番テーブルを更新する。そして、検知部５２は、更新した順番テーブルを比較部５５へ渡す。
【００７６】
（４−３）センサ
センサ５３は、検知部５２から温度の検知指示を受信すると、位置している場所での温度を検知する。センサ５３は、検知した温度の検知データを、検知部５２へ渡す。
【００７７】
（４−４）比較部
比較部５４は、受信部５１が受信した順番テーブル内における最後の順番に対応づけられた通信アドレスと、自ノードの通信アドレスとを比較する。比較した結果、最後の順番に対応する通信アドレスが自ノードの通信アドレスと一致した場合は、比較部５４は、自ノードの順番が最後であると判断する。また、比較した結果、“順番”が最後であるセンサノードの通信アドレスと自ノードの通信アドレスとが一致しない場合は、比較部５４は、自ノードの順番は最後でないと判断する。比較部５４は、判断結果を送信先読出部５５へ通知する。
【００７８】
（４−５）送信先読出部
送信先読出部５５は、比較部５４の判断結果に基づいて、検知部５２が更新した順番テーブルの送信先を決定し、送信先のセンサノードの通信アドレスを読み出す。
【００７９】
具体的には、比較部５４が自ノードの順番は最後でないと判断した場合は、送信先読出部５５は、順番テーブル内の“順番”が自ノードの次であるセンサノードを送信先と決定し、次のセンサノードの通信アドレスを読み出す。また、比較部５４が自ノードの順番は最後であると判断した場合は、送信先読出部５５は、管理端末２を送信先と決定する。尚、管理端末２を送信先と決定した場合に備え、順番テーブルは、管理端末２の通信アドレスを記憶しておくとよい。送信先読出部５５は、読み出した送信先の通信アドレスを送信部５６へ渡す。
【００８０】
また、送信先読出部５５は、自ノードの順番をインクリメントさせ、インクリメントさせた数を送信部５６へ渡してもよい。この場合、受信部５１は、順番テーブルを受信した際、自ノードの順番を取り出して送信先読出部５５へ渡す。
【００８１】
（４−６）送信部
送信部５６は、送信先読出部５５が読み出した通信アドレス宛に、検知部５２が更新した順番テーブルを、通信インターフェース５７を介して送信する。
【００８２】
また、送信部５６は、送信先読出部５５から次ノードの順番を渡された場合は、その順番のセンサノード宛に検知部５２が更新した順番テーブルを送信してもよい。この場合は、センサノードは、あらかじめその順番に対応するセンサノードの通信アドレスを記憶しているとする。
【００８３】
（５）センサノード間の順番
本実施形態に係る管理端末２は、センサノード間の順番、即ちセンサノードが順番テーブルを送信する順番を決定する。以下より、管理端末２のテーブル生成部２３がセンサノード間の順番を生成する方法について説明する。尚、以下では、通信アドレスがＩＰアドレスである場合を例に取る。
【００８４】
まず、管理端末２が例えばユーザからの温度の検知指示を検出すると、管理端末２は、ルータ３ａ，ｂ，ｃ，ｅを経てＤＢサーバ７へアクセスする。管理端末２の通信アドレス読出部２２は、ＤＢサーバ７の通信アドレスＤＢから、種類が“温度”であるセンサノードのＩＰアドレスを読み出す。図７は、通信アドレス読出部２２が読み出したＩＰアドレスのリストである。図７に示すように、通信アドレス読出部２２は、“温度”センサノード５ａ〜５ｆのＩＰアドレスを収集する。
【００８５】
次いで、管理端末２のテーブル生成部２３は、通信アドレス読出部２２が読み出したＩＰアドレスを、集約可能なＩＰアドレス構造を有する各ＩＰアドレスに基づいてソートする。図８は、テーブル生成部２３がソートしたＩＰアドレスのリストである。テーブル生成部２３は、各ノードに割り当てられた通信アドレスがIPv6のアドレス構造、即ち階層毎に集約可能なアドレス構造であることを利用して、読み出したＩＰアドレスをソートする。即ち、テーブル生成部２３は、通信アドレス読出部２２が読み出したＩＰアドレスに基づいてセンサノード間の経路の長さを判断し、センサノード間の経路の長さに応じてＩＰアドレスをソートする。
【００８６】
具体的には、はじめに、管理端末２は、自端末のＩＰアドレスと温度センサノード５ａ〜５ｆの各ＩＰアドレスとを比較して自端末と温度センサノード５ａ〜５ｆ間の経路の長さを判断し、自端末から最短距離にある温度センサノード５ａを、最初の順番のセンサノードと決定する。次に、管理端末２は、温度センサノード５ａのＩＰアドレスと温度センサノード５ｂ〜５ｆの各ＩＰアドレスとを比較して、温度センサノード５と各温度センサノード５ｂ〜５ｆ間の経路の長さを判断し、温度センサノード５ａから最短距離にある温度センサノード５ｄを、２番目のセンサノードと決定する。次いで、管理端末２は、温度センサノード５ｄのＩＰアドレスと温度センサノード５ｂ，５ｃ，５ｅ，５ｆの各ＩＰアドレスとを比較して、温度センサノード５と各温度センサノード５ｂ，５ｃ，５ｅ，５ｆ間の経路の長さを判断し、温度センサノード５ｄから最短距離にある温度センサノード５ｂを、３番目のセンサノードと決定する。管理端末２は、このように決定した順番に基づいてＩＰアドレスをソートする。このように、管理端末２は、ＩＰアドレスのソート順を決定する際、基準となる温度センサノードを次々と変えながらＩＰアドレスのソート順を決定する。以下より、ＩＰアドレスのソートの方法についてより具体的に説明する。
【００８７】
図１に示すように、管理端末２がノード群４ａ内の温度センサノード５ａ，５ｄと通信を行う場合は、管理端末２は、ルータ３ａ，ｂを介して温度センサノード５ａ，５ｄと通信を行う。また、管理端末２がノード群４ｂ，ｃ内の温度センサノード５ｂ，５ｅ，５ｃ，５ｆと通信を行う場合は、管理端末２は、ルータ３ａ，ｂ，ｃ，ｄを介して温度センサノード５ｂ，５ｅ，５ｃ，５ｆと通信を行う。上記２つの場合を比較すると、管理端末２と温度センサノード５ａ，５ｄ間は、管理端末２と温度センサノード５ｂ，５ｅ，５ｃ，５ｆ間に比して経路が短い。このような経路の長さの判断を、IPv6のアドレス構造を有する各ノードのＩＰアドレスに基づいて行う。
【００８８】
例えば、管理端末２のテーブル生成部２３は、自端末のＩＰアドレスと各温度センサノード５ａ〜５ｆのＩＰアドレスとを上位ビットから順に比較し、自端末のＩＰアドレスと各温度センサノード５ａ〜５ｆのＩＰアドレスとが一致する部分をそれぞれ抽出する。ここで、“一致”とは、上位ビットから一致するものに限る。テーブル生成部２３は、抽出した各部分のうち最長のものを選択し、これに対応するＩＰアドレスを有する温度センサノードを、自ノードからの経路が最短な温度センサノードと決定する。例えば、自端末のＩＰアドレス“2001:0200:0004:0020::0080”と温度センサノード５ａのＩＰアドレス“2001:0200:0004:0010::0001”とを上位ビットから順に比較した場合、共通するアドレス部分は“2001:0200:0004”である。一方、自端末のＩＰアドレスと温度センサノード５ｆのＩＰアドレス“2001:0200:0003:2090::0002”とを上位ビットから順に比較した場合、共通するアドレス部分は“2001:0200”である。温度センサノード５ｂ〜５ｅについても、温度センサノード５ｆと同様に比較する。この場合、管理端末２のＩＰアドレスと温度センサノード５ａまたは５ｄのＩＰアドレスとの共通部分“2001:0200:0004”は、管理端末２のＩＰアドレスと他の温度センサノード５ｄ，５ｃ，５ｅ，５ｆのＩＰアドレスとの共通部分“2001:0200”よりも長い。これより、テーブル生成部２３は、順番の一番目を温度センサノード５ａまたは５ｄと決定する。尚、本実施形態の図８では、順番の一番目を温度センサノード５ａとしている。
【００８９】
次に、テーブル生成部２３は、上述した方法と同様にして、各温度センサノードのＩＰアドレス同士を比較し、いずれか１つのＩＰアドレスと他のＩＰアドレスとの共通部分が長い順にＩＰアドレスをソートする。
【００９０】
例えば、温度センサノード５ａのＩＰアドレス“2001:0200:0004:0010::0001”と温度センサノード５ｂ，５ｃ，５ｅ，５ｆの各ＩＰアドレスとを上位ビットから比較した場合、共通するアドレス部分は “2001:0200”である。温度センサノード５ａのＩＰアドレスと、温度センサノード５ｄのＩＰアドレス“2001:0200:0004:0010::0002”とを上位ビットから比較した場合、共通するアドレス部分は“2001:0200:0004:0010”である。
【００９１】
温度センサノード５ａのＩＰアドレスと温度センサノード５ｄのＩＰアドレスとの共通部分“2001:0200:0004:0010”は、温度センサノード５ａのＩＰアドレスと他の温度センサノード５ｂ、５ｃ，５ｅ，５ｆのＩＰアドレスとの共通部分“2001:0200”よりも長い。これは、温度センサノード５ａと温度センサノード５ｄ間の経路は、温度センサノード５ａと他の温度センサノード５ｂ，５ｃ，５ｅ，５ｆ間の経路よりも近いことを意味する。従って、テーブル生成部２３は、温度センサノード５ａの次のセンサノードを温度センサノード５ｄと決定する。
【００９２】
同様に、テーブル生成部２３は、温度センサノード５ｄ，５ｂ，５ｃ，５ｅ，５ｆの各ＩＰアドレスに基づいて、共通部分が長い順にＩＰアドレスをソートしてセンサノード間の順番を決定する。このようにしてテーブル生成部２３が生成した順番は、各センサノード間の経路が短くなるように決定された情報となり、図８に示すアドレスリストが完成する。
【００９３】
テーブル生成部２３は、上述の方法により決定した図８に示すセンサノード間の順番に、各センサノードが検知したデータを記録するフィールドと、各センサノードが検知する情報の“種類”とを追加し、図５に示す順番テーブルを生成する。
【００９４】
（６）一連の動作フロー
次に、本発明の第１実施形態に係るセンサノードを用いたデータの収集システム１の一連の動作について説明する。図９は、本実施形態に係るデータの収集システム１の動作フローチャートである。以下より、管理端末２は“温度”センサノードが検知した温度の検知データから平均を演算する場合について記す。
【００９５】
先ず、管理端末２の指示生成部２１が温度の検知指示を生成すると、通信アドレス読出部２２はＤＢサーバ７内の通信アドレスＤＢから種類が“温度”であるセンサノードの通信アドレスを読み出す。テーブル生成部２３は、通信アドレス読出部２２が読み出した温度センサノード５ａ〜５ｆの通信アドレスに基づいてセンサノード間の経路の長さを判断し、センサノード間の経路の長さに応じてセンサノード間の順番を決定する。そして、テーブル生成部２３は、決定した順番に基づいて順番テーブルを生成する（＃１）。送信先読出部２４は、順番テーブルを参照し、順番が最初である温度センサノード５ａの通信アドレスを読み出す。送信部２５は、検知指示及び順番テーブルを、温度センサノード５ａの通信アドレス宛に送信する（＃２）。
【００９６】
温度センサノード５ａの受信部５１は、順番テーブル及び検知指示を管理端末２から受信すると（＃３）、検知部５２は、センサ５３が検知した温度の検知データを取得する（＃４）。検知部５２は、検知データを、順番テーブル内の自ノードの通信アドレスに対応する検知データのフィールドに記録する。送信先読出部５４は、順番テーブルを参照し、順番が自ノードの次である温度センサノード５ｄの通信アドレスを読み出す。送信部５６は、温度センサノード５ｄの通信アドレス宛に、自ノードの検知データを含む順番テーブルを送信する（＃５）。
【００９７】
以後、温度センサノード５ｄ〜５ｅは、温度センサノード５ａと同じ動作を繰り返す（＃６〜１７）。
【００９８】
温度センサノード５ｆは、各温度センサノード５ａ〜５ｅが検知した温度の検知データを含む順番テーブルを、温度センサノード５ｃから受信すると（＃１８）、検知部５２はセンサ５３が検知した温度の検知データを取得する（＃１９）。検知部５２は、検知データを、順番テーブル内の自ノードの通信アドレスに対応する検知データのフィールドに記録する。比較部５５は、順番が最後のセンサノードの通信アドレスと自ノードの通信アドレスとを比較し、一致すると判断する。送信先読出部５４は、順番テーブルの送信先を管理端末２と決定し、管理端末２の通信アドレスを読み出す。送信部５６は、管理端末２の通信アドレス宛に、自ノードの検知データを含む順番テーブルを送信する（＃２０）。尚、管理端末２のアドレスは、順番テーブルに記録されていてもよいし、各温度センサノード５ａ〜５ｆがあらかじめ記憶していてもよい。
【００９９】
管理端末２の受信部２６は、温度センサノード５ｆから温度センサノード５ａ〜５ｆが検知した温度の検知データを含む順番テーブルを受信する（＃２１）。演算部２７は、受信部２６が受信した順番テーブル内の各温度センサノード５ａ〜５ｆの検知データと、演算式とに基づいて、温度の平均値を演算する（＃２２）。
【０１００】
（７）効果
本実施形態に係る管理端末２は、センサノード間の順番を含む順番テーブルを生成し、順番が最初であるセンサノードに順番テーブルを送信する。センサノード５，６は、順番テーブルを受信すると、温度等の情報を検知する。そして、センサノード５，６は、受信した順番テーブルを参照し、自ノードの次のセンサノード宛に自ノードの検知データ及び順番テーブルを送信する。言い換えると、センサノード５，６は管理端末２を介さずに、順番テーブル及び検知データを次のセンサノードへ送信する。順番が最後であるセンサノードは、各センサノードの検知データを、管理端末２へ送信する。これにより、管理端末２とセンサノード５，６との通信は２回で済む。そのため、管理端末２には通信ネットワーク上の各センサノード５，６からの通信が集中しない。従って、センサノード５，６と管理端末２間のトラフィックの軽減ができる。
【０１０１】
また、本実施形態に係る管理端末２は、順番テーブル内における各ノードの順番を、センサノード間の経路の近い順に決定する。これにより、各センサノード５，６は、順番テーブル及び検知データの受け渡しを効率的に行うことができる。従って、センサノード間の通信トラフィックを軽減できる。
【０１０２】
尚、本実施形態では、通信ネットワーク上にＤＢサーバ７が接続されており、ＤＢサーバ７は通信アドレスＤＢを有しているとしたが、これに限定されない。管理端末２の記憶部２８が通信ネットワーク上の複数のセンサノードの通信アドレスを記憶していてもよい。この場合、管理端末２の通信アドレス読出部２２は、記憶部２８内から所望の情報を検知可能なセンサノードの通信アドレスを読み出す。従って、複数のセンサノードの通信アドレスを記憶しているＤＢサーバ７を、管理端末２の外部に設けずに済む。
【０１０３】
＜第２実施形態＞
（１）システムの構成
本発明の第２実施形態に係るデータの収集システム１０１は、第１実施形態に係るデータの収集システム１と同様の構成を有する。即ち、データの収集システム１０１は、管理端末１０２、ルータ１０３ａ〜ｅ、温度センサノード１０５ａ〜ｆ、湿度センサノード１０６ａ〜ｆ及びＤＢサーバ１０７を備える。管理端末１０２、ルータ１０３ａ〜ｅ、温度センサノード１０５ａ〜ｆ、湿度センサノード１０６ａ〜ｆ及びＤＢサーバ１０７は、通信ネットワークを介して接続されており、各端末は通信ネットワークの階層構造を示す通信アドレスを割り当てられている。本実施形態のデータの収集システム１０１では、第１実施形態と同様、通信ネットワークはＩＰネットワークであるとし、ＩＰネットワークのＩＰプロトコルとしてIPv6を用いるとする。即ち、ＩＰネットワーク上の各ノードは、集約可能に割り当てられたＩＰアドレスを有する。ＩＰアドレスは、IPv6のアドレス構造を有する。尚、本実施形態に係るデータの収集システム１０１のＩＰネットワークの階層構造及び各ノードの接続形態は、第１実施形態に係るデータの収集システム１と同様であるため、説明を省略する。
【０１０４】
ＤＢサーバ１０７は、第１実施形態に係るＤＢサーバ７と同様に、図２に示す通信ネットワークＤＢを有する。
【０１０５】
管理端末１０２は、順番テーブルに加えて、更に各センサノードが検知データに基づいて演算目標値を演算するための逐次実行テーブルを生成する。管理端末１０２は、順番テーブル内の順番が最初のセンサノードに、順番テーブル及び逐次実行テーブルを送信する。そして、管理端末１０２は、各センサノードが逐次実行テーブルに基づいて演算した結果を、順番が最後のセンサノードから受信する。
【０１０６】
センサノード１０５，１０６は、順番テーブルに加えて、更に逐次実行テーブルを受信する。センサノード１０５，１０６は、逐次実行テーブル及び検知データに基づいて演算を行い、演算した結果を他のセンサノードに送信する。
【０１０７】
（２）管理端末の機能構成
本実施形態に係る管理端末１０２の機能構成は、第１実施形態に係る管理端末２の機能構成において演算部２７を除いた構成を有する。即ち、管理端末１０２は、指示生成部１２１、通信アドレス読出部１２２、テーブル生成部１２３、送信先読出部１２４、送信部１２５、受信部１２６、記憶部１２８及び通信インターフェース１２９を含む。以下より、管理端末１０２が有する機能のうち、特徴のある機能について説明する。
【０１０８】
テーブル生成部１２３は、第１実施形態のテーブル生成部２３が生成する順番テーブルに加え、更に演算済み情報を含む順番テーブルを生成する。図１０は、本実施形態に係る管理端末１０２のテーブル生成部１２３が生成した順番テーブルの概念図である。図１０の順番テーブルは、順番、センサノードのアドレス、センサノードの検知データを記録するフィールド、センサノードの種類及び演算済み情報を、１レコードとして記憶している。演算済み情報は、センサノードの各検知データが既に演算に使用されたか否かを示す情報であって、例えばフラグであることができる。図１０の演算済み情報は、該検知データがまだ演算に使用されていない状態を“0”、既に演算に使用された状態を“1”と示す。センサノードのアドレスは、第１実施形態と同様に、センサノードが順番テーブルを送信する順にソートされている。“順番”は、第１実施形態と同様に、テーブル生成部１２３により決定される。即ち、テーブル生成部１２３は、通信アドレス読出部１２２が読み出した集約可能な各センサノード１０５，１０６の通信アドレスに基づいてセンサノード間の経路の長さを判断し、センサノード間の長さに応じてセンサノード間の“順番”を決定している。また、センサノードの検知データを記憶するフィールドは、第１実施形態と同様に、テーブル生成部１２４が順番テーブルを生成した時点では未検知を示す“ＮＵＬＬ”値が与えられているが、各センサノードが温度を検知した後は、検知した温度のデータが記憶される。ここで、検知データは、例えば−５０度〜＋５０度の気温を小数点第２位まで計測する場合は、計測値を１４ビットで表すことができる。従って、検知データの上位２ビットは“ＮＵＬＬ”値用のビットとして割り当てることで、“ＮＵＬＬ”値を表現することができる。
【０１０９】
尚、図１０の順番テーブルでは、センサノード１０５，１０６の通信アドレスのみが記憶されているが、これに限定されない。センサノードの通信アドレスの最後には、管理端末１０２のアドレスが記憶されていてもよい。これにより、この順番テーブルは最後に管理端末１０２に送信される。また、図１０の順番テーブルでは、順番テーブルはセンサノードの検知データ、種類を含んでいるが、これに限定されない。順番テーブルは、順番とセンサノードの通信アドレスと演算済み情報を対応づけて記憶している状態や、順番に基づいてソートされたセンサノードの通信アドレスと演算済み情報とを記憶している状態であってもよい。
【０１１０】
また、本実施形態に係るテーブル生成部１２３は、逐次実行テーブルを更に生成する。図１１は、テーブル生成部１２３が生成した逐次実行テーブルの概念図である。図１１の逐次実行テーブルは、実行順番と演算式と演算目標値とを、１レコードとして記憶している。実行順番は、各演算式を実行するための順番である。演算式は、各センサノードが検知したデータに基づいて演算目標値を算出するための漸化式である。演算式には、例えば温度の平均を算出する式等があげられる。図１１の演算式中の“Ｎ”は、実行順番“01”に該当する演算式を実行した場合の左辺の値である。Ｘは、実行順番“02”に該当する演算式を実行した場合の左辺の値である。Ｍｃ（ｃは整数）は検知データであって、順番テーブル内の検知データを記録するフィールド内に記載された各値を示す。演算目標値は、演算式及び検知データに基づいて算出された結果、即ち演算式の実行結果である。演算目標値は、テーブル生成部１２３が順番テーブルを生成した時点では、例えば初期値である“０”が与えられている。各センサノードが検知データ及び演算式に基づいて演算を行った後は、演算目標値には演算結果が記録される。
【０１１１】
送信部１２５は、送信先読出部１２２が読み出したセンサノードの通信アドレス宛に、テーブル生成部１２３が生成した順番テーブル及び逐次実行テーブルを送信する。
【０１１２】
受信部１２６は、各センサノード１０５，１０６が検知した検知データを含む順番テーブルに加え、各センサノード１０５，１０６が逐次実行テーブルに基づいて演算した演算目標値が記録された逐次実行テーブルを、順番が最後のセンサノードから受信する。
【０１１３】
尚、上述したテーブル生成部１２３、送信部１２５及び受信部１２６以外のその他の機能については、第１実施形態に係る管理端末２の該当機能と同様であるため、説明を省略する。
【０１１４】
（３）センサノードの機能構成
次に、本実施形態に係る各センサノード１０５，１０６の機能構成について説明する。本実施形態に係る検知ノードの収集システム１０１では、温度センサノード１０５及び湿度センサノード１０６を用いているが、これらはセンサの種類が異なるだけであって、それぞれの機能構成は同様である。そのため、以下より、温度センサノード１０５の機能構成について説明する。図１２は、本実施形態に係る温度センサノード１０５の機能構成図である。本実施形態に係る温度センサノード１０５は、第１実施形態に係る温度センサノード５の機能に加え、演算部１５８、更新部１５９（演算済み情報更新部に相当する）及び消去部１６０を更に含む。即ち、温度センサノード１０５は、受信部１５１、検知部１５２，センサ１５３、比較部１５４，送信先読出部１５５、送信部１５６、通信インターフェース１５７、演算部１５８、更新部１５９及び消去部１６０を含む。尚、検知部１５２、センサ１５３、比較部１５４及び送信先読出部１５５については、第１実施形態の検知部５２、センサ５３、比較部５４及び送信先読出部５５と同様の機能であるため、説明を省略する。
【０１１５】
（３−１）受信部
受信部１５１は、管理端末１０２が生成した順番テーブル及び逐次実行テーブルを、通信インターフェース１５７を介して受信する。即ち、受信部１５１は、検知データが既に演算に用いられたか否かを示す演算済み情報を含む順番テーブルと、検知データに基づいて演算目標値を演算するための演算式を含む逐次実行テーブルとを受信する。
【０１１６】
順番テーブル内の順番が最初であるセンサノードの受信部１５１は、検知指示、順番テーブル及び逐次実行テーブルを管理端末１０２から受信する。また、順番テーブル内の順番が最初でないセンサノードの受信部１５１は、順番テーブルにおいて自ノードの１つ前のセンサノードから、自ノードより上流側の他のセンサノードが検知した温度の検知データが記憶されている順番テーブルと、他のセンサノードが検知データ及び演算式に基づいて演算した演算目標値を含む逐次実行テーブルとを、他のセンサノードから受信する。
【０１１７】
（３−２）演算部
演算部１５８は、自ノードで検知した検知データ、受信部１５１が受信した順番テーブル内の演算済み情報が演算済みを示していない検知データ、受信部１５１が受信した逐次実行テーブル内の演算式、及び逐次実行テーブル内の現在の演算目標値に基づいて、新たな演算目標値を演算する。即ち、順番テーブル内の演算済み情報が演算済みを示していない場合は、演算部１５８は、自ノードの検知データに加えて、演算済みでない他のセンサノードの検知データを更に用いて演算を行う。言い換えると、演算部１５８は、まだ演算に用いられていない検知データが順番テーブル内にあれば、その検知データと自ノードの検知データとを用いて、まとめて演算を行う。尚、順番テーブル内の検知データに対応する演算済み情報全てが演算済みを示す場合は、演算部１５８は、自ノードの検知データのみを演算に用いる。
【０１１８】
そして、演算部１５８は、演算後の新たな演算目標値を更新部１５９へ渡す。
【０１１９】
（３−３）更新部
更新部１５９は、演算部１５９が新たな演算目標値の演算に用いた検知データに対応する順番テーブル内の演算済み情報を、“演算済み”に更新する。また、更新部１５９は、演算部１５８が逐次実行テーブル内の演算式に基づいて演算した結果、即ち新たな演算目標値を、該当する演算目標値のフィールドに記録する。言い換えると、更新部１５６は順番テーブル及び逐次実行テーブルを更新する。更新部１５９は、更新した順番テーブル及び逐次実行テーブルを送信部１５７へ渡す。
【０１２０】
（３−４）消去部
消去部１６０は、順番テーブル内の演算済み情報が“演算済み”を示している情報に対応する検知データを消去する。即ち、消去部１６０は、順番テーブル内の演算済み情報に基づいて、既に演算に用いられた検知データを消去する。演算済み情報が“演算済み”を示す検知データを消去すると、消去部１６０は検知データ消去後の順番テーブルを送信部１５６へ渡す。これにより、このセンサノードが次のセンサノードへ送信する際のデータ量は、他のセンサノードの検知データ全部を送信する場合よりも小さい。従って、センサノード間の通信トラフィックを軽減することができる。
【０１２１】
（３−５）送信部
送信部１５６は、送信先読出部１５５が読み出した次ノードの通信アドレス宛に、更新部１５９が更新した順番テーブル及び逐次実行テーブルを、通信インターフェース１５７を介して送信する。即ち、送信部１５６は、自ノードで検知した検知データに基づいて演算した演算目標値と演算式とを含む逐次実行テーブル、及び演算済み情報を含む順番テーブルを、次のノードへ送信する。
【０１２２】
（４）センサノードの演算過程
次に、本実施形態に係るセンサノード１０５，１０６の演算フローについて説明する。尚、システムにおけるセンサノードの演算フローは、センサノードが演算可能なリソースを有するか否かにより異なる。“演算可能なリソースを有するか否か”とは、例えばセンサノードが演算部１５８を有するか否かに相当する。以下より、２つの例について説明する。尚、説明を簡単にするため、検知する情報が“温度”である温度センサノード５ａ〜５ｆを用いた場合について説明する。また、通信アドレスがＩＰアドレスである場合を例にとる。尚、以下より、管理端末１０２の直前のセンサノードを含むノード群１０４ｃ、即ちデータリンクを“最終リンク”と称し、最終リンクに含まれるセンサノードの状態がそれぞれ異なる場合について、説明する。
【０１２３】
（４−１）最終リンク上のセンサノードのうち、順番が最後のセンサノードが演算可能なリソースを有する場合
先ず、最終リンク上のセンサノードのうち、順番が最後のセンサノードが計算可能なリソースを有している場合について説明する。具体的には、図１３の場合では、温度センサノード１０５ｆが“最終リンク”に該当し、温度センサノード１０５ｆは演算可能なリソースを有する。
【０１２４】
図１３は、順番テーブルを送信する順、即ち順番テーブル内の“順番”にしたがって各温度センサノード１０５ａ〜１０５ｆを並べた図であって、上述の場合を説明する図である。図１３中の二重の円は、演算可能なリソースを有する温度センサノードを表す。図１３の場合、演算可能なリソースを有する温度センサノードは１０５ｄ、１０５ｅ、１０５ｆであって、温度センサノード１０５ａ，１０５ｂ，１０５ｃは演算可能なリソースを有していない。また、円の内部に記載されている“１０４ａ”“１０４ｂ”“１０４ｃ”は、各温度センサノード１０５ａ〜１０５ｆが属するノード群、即ちリンクを示す。
【０１２５】
同一リンク上のセンサノードのうち、順番が最後のセンサノード１０５ｄ，１０５ｅ，１０５ｆは、各リンク上の全てのセンサノードが検知した温度のデータと自ノードが検知した温度のデータとを用いて、演算を行う。即ち、温度センサノード１０５ｄでは、同一リンク上の温度センサノード１０５ａが検知した温度のデータ及び自ノードが検知した温度のデータを用いて演算を行う。温度センサノード１０５ｅは、同一リンク上の温度センサノード１０５ｂが検知した温度のデータ及び自ノードが検知した温度のデータを用いて演算を行う。温度センサノード１０５ｆは、同一リンク上の温度センサノード１０５ｃが検知した温度のデータ及び自ノードが検知した温度のデータを用いて演算を行う。
【０１２６】
具体的に、温度センサノード１０５ｄが温度センサノード１０５ａから順番テーブル及び逐次実行テーブルを受信した場合を考える。尚、温度センサノード１０５ｄが検知した温度のデータを“24.0”とする。図１４ａは、温度センサノード１０５ｄが温度センサノード１０５ａから受信した順番テーブル及び逐次実行テーブルである。
【０１２７】
先ず、温度センサノード１０５ｄの受信部１５１が図１４ａに係る順番テーブル及び逐次実行テーブルを受信すると、送信先読出部１５５は、図１４ａにおける順番テーブルを参照し、自ノードの次の温度センサノード１０５ｂが有するＩＰアドレス“2001:0020:0003:2080:0001”を読み出す。そして、送信先読出部１５５は読み出したＩＰアドレスを送信部１５６へ渡す。
【０１２８】
次いで、温度センサノード１０５ｄの演算部１５８は、図１４ａにおける逐次実行テーブル内の実行順番“01”の演算目標値“0”を、実行順番“01”の演算式“N=N+1”の右辺のNに代入し、左辺のNの値を計算する。この時、演算部１５８は“N=1”と算出する。更新部１５９は、演算部１５８が算出したNの値“1”を、実行順番“01”における演算目標値に上書きする。次いで、演算部１５８は、更新部１５９により更新された実行順番“01”における演算目標値“1”を、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のNに代入し、実行順番“02”の演算目標値“0”を、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のXに代入する。演算部１５８は、順番テーブル内の順番“1”における検知データ“23.0”を、逐次実行テーブル内の実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のMcに代入する。そして、演算部１５８は、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の左辺のXの値を計算する。この時、演算部１５８は“X=23.0”と算出する。更新部１５９は、演算部１５９が算出したXの値“23.0”を、実行順番“02”における演算目標値に上書きする。また、更新部１５９は、順番テーブルの順番“1”における演算済み情報を、演算済みを示す“1”に更新する。図１４ｂは、上述の動作により得られた順番テーブル及び逐次実行テーブルである。
【０１２９】
次いで、温度センサノード１０５ｄの演算部１５８は、図１４ｂの逐次実行テーブル内の実行順番“01”の演算目標値“1”を、実行順番“01”の演算式“N=N+1”の右辺のNに代入し、左辺のNの値を計算する。この時、演算部１５８は“N=2”と算出する。更新部１５９は、演算部１５８が算出したNの値“2”を、実行順番“01”における演算目標値に上書きする。そして、演算部１５８は、更新部１５９により更新された実行順番“01”における演算目標値“2”を、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のNに代入し、実行順番“02”の演算目標値“23.0”を、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のXの値に代入する。演算部１５８は、自ノードが検出した温度“24.0”を、図１４ｂの逐次実行テーブル内の実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のMcの値に代入する。そして、演算部１５８は、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の左辺のXの値を算出する。この時、演算部１５８は“Ｘ＝23.5”と算出する。更新部１５９は、演算部１５８が算出したXの値“23.5”を、実行順番“02”における演算目標値に上書きする。また、更新部１５９は、順番テーブルの順番“2”における演算済み情報を、演算済みを示す“1”に更新する。そして、消去部１６０は、順番テーブル内の演算済み情報が“1”であるセンサノードの検知データ等を消去する。図１４ｃは、上述の動作により得られた順番テーブル及び逐次実行テーブルである。
【０１３０】
送信部１５６は送信先読出部１５５が読み出した温度センサノード５ｂのＩＰアドレス宛に、図１４ｃの順番テーブル及び逐次実行テーブルを送信する。
【０１３１】
ＩＰアドレス“2001:0020:0003:2090::0002”が割り当てられている温度センサノード１０５ｆは、順番が最後であるため、検知データ等全てが消去された順番テーブルと、全ての温度センサノードの検知データに基づいて算出された演算目標値を含む逐次実行テーブルとを、管理端末１０２に送信する。
【０１３２】
尚、上述した例では、消去部１６０は、図１４ｃの順番テーブル内のセンサノードの検知データ、種類及び計算済み情報を消去しているが、これに限定されない。消去部１６０は、例えば順番及びセンサノードアドレスを更に消去してもよい。また、消去部１６０は、センサノードの検知データのみを消去してもよい。
【０１３３】
（４−２）最終リンク上のセンサノードのうち、順番が最後のセンサノードが演算可能なリソースを必ずしも有していない場合
次に、最終リンク上のセンサノードのうち、順番が最後のセンサノードが演算可能なリソースを常には有していない場合について説明する。図１５は、順番テーブルを送信する順、即ち順番テーブル内の“順番”にしたがって各温度センサノード１０５ａ〜１０５ｆを並べた図であって、上述の場合を説明する図である。図１５中の二重の円は、図１３と同様に、演算可能なリソースを有する温度センサノードを表す。図１５の場合、演算可能なリソースを有する温度センサノードは１０５ｄ、１０５ｅであって、温度センサノード１０５ａ，１０５ｂ，１０５ｃ，１０５ｆは演算可能なリソースを有していない。即ち、最終リンク上のセンサノードのうち、順番が最後である温度センサノード１０５ｆは、演算可能なリソースを有していない。また、円の内部に記載されている“１０４ａ”“１０４ｂ”“１０４ｃ”は、図１３の同様に、各温度センサノード１０５ａ〜１０５ｆが属するノード群、即ちリンクを示す。
【０１３４】
温度センサノード１０５ｄは、同一リンク上の温度センサノード１０５ａが検知した温度のデータ及び自ノードが検知した温度のデータを用いて演算を行う。温度センサノード１０５ｅは、同一リンク上の温度センサノード１０５ｂが検知した温度のデータ及び自ノードが検知した温度のデータを用いて演算を行う。温度センサノード１０５ｃ，１０５ｆは、演算可能なリソースを有していないため、温度を検知して順番テーブル内に記録のみ行う。温度センサノード１０５ｆは、温度センサノード１０５ｃ及び１０５ｆが検知したデータが記録された順番テーブルと、温度センサノード１０５ｅまでの演算可能なノードが演算した結果の記録された逐次実行テーブルとを、管理端末１０２に送信する。
【０１３５】
管理端末１０２は、温度センサノード１０５ｆから順番テーブル及び逐次実行テーブルを受信すると、順番テーブル内の演算済み情報が“演算済み”を示していない温度センサノード１０５ｃ，１０５ｆの検知したデータと、逐次実行テーブル内の演算結果とに基づいて、演算を行う。即ち、管理端末１０２は、受信した順番テーブル内に演算済みでない検知データがある場合は、管理端末１０２は、演算済みでない検知データを用いて演算を行う。そのため、この場合の管理端末１０２には、第１実施形態に係る演算を行うリソース、即ち演算部が必要とする。
【０１３６】
まとめると、最終リンク上のセンサノードのうち、順番が最後のセンサノードが演算可能なリソースを必ずしも有していない場合は、管理端末１０２が残された検知データに基づいて演算処理を行う。これにより、演算リソースを有するセンサノードと演算リソースを有さないセンサノードとが混在し、それらがランダムに配置されていても、管理端末１０２がまだ演算済みでないデータを用いて演算を行うことで、所望の演算目標値を得ることができる。
【０１３７】
（５）効果
このセンサノード１０５，１０６は、逐次実行テーブル内の演算式と、現在の演算目標値と、温度または湿度の検知データとを用いて、例えば平均値等の計算を行う。センサノード１０５，１０６は、演算結果を新たに演算目標値として逐次実行テーブルを更新し、更新した逐次実行テーブルを次のセンサノードに送信する。管理端末１０２は、センサノード１０５，１０６により演算された演算目標値を受信する。これにより、管理端末１０２は受信したセンサノード１０５，１０６の各検知データから平均値等の演算目標値を演算しなくて済む。従って、管理端末１０２の負荷を軽減することができる。
【０１３８】
また、上述したように、センサノード１０５，１０６は、受信した他のセンサノードの検知データのうちまだ演算に用いられていない検知データを、一括して演算に用いても良い。これにより、ネットワークに接続されているセンサノード全てが演算可能なリソースを有していない場合であっても、演算可能なリソースを有しているセンサノードが演算を行うため、管理端末の負荷を軽減することができる。
【０１３９】
また、上述した例では、各センサノードの消去部１６０は、順番テーブル内の既に計算に用いられた検知データ等を消去するとしたが、これに限定されない。センサノード１０５，１０６は順番テーブル内の検知データ等を消去せずに送信してもよい。更に、センサノード１０５，１０６は、消去部１６０を有していなくともよい。即ち、順番が最後であるセンサノードは、センサノード１０５，１０６が検知した検知データを含む順番テーブルと、演算式に基づいて演算された演算目標値を含む逐次実行テーブルとを、管理端末１０２に送信してもよい。
【０１４０】
また、上述した例では、各センサノード１０５，１０６は演算目標値を記録するフィールド及び演算式を含む逐次実行テーブルを受信するとしたが、これに限定されない。各センサノード１０５，１０６は、演算式と演算目標値とを、“逐次実行テーブル”に含まれた形で受信するのではなく、演算式及び演算目標値を個々に受信してもよい。
【０１４１】
また、上述した例では、システム内に計算リソースを有するセンサノードと計算リソースを有さないセンサノードとが混在する場合について述べたが、全てのセンサノードが計算リソースを有していてもよい。この場合、各センサノードは、温度や湿度を検知すると逐次実行テーブル内の演算式に基づいて演算を随時行うことができる。
【０１４２】
また、上述した順番テーブルは“種類”を含む。そのため、仮にこの順番テーブルが温度や湿度等の多種のセンサノードに送信された場合であっても、各センサノードは“種類”を識別することができる。従って、演算リソースを有するセンサノードの演算部１５８は、順番テーブル及び逐次実行テーブル内に記録されているデータの種類に応じて演算を実行することができる。即ち、通信ネットワーク上に、複数のセンサデバイスを搭載しているセンサノードがあっても、そのセンサノードが搭載しているセンサデバイスの特定ができる。
【０１４３】
＜その他の実施形態＞
（１）第１例  本発明に係る第１及び第２実施形態では、順番テーブルは管理端末が生成していたが、センサノードが生成してもよい。この場合、センサノードは図１６に示す機能構成を有するとよい。図１６は、センサノードが順番テーブルを生成する場合のセンサノードの機能構成図である。図１６のセンサノード２０５は、第１実施形態のセンサノード５の機能に加えて、通信アドレス読出部２５８及びテーブル生成部２５９を更に含む。即ち、図１６のセンサノード２０５は、受信部２５１、検知部２５２、センサ２５３、比較部２５４、送信先読出部２５５、送信部２５６、通信インターフェース２５７、通信アドレス読出部２５８及びテーブル生成部２５９を含む。尚、通信ネットワークはＩＰネットワークであって、通信アドレスはＩＰアドレスである場合を例にとる。
【０１４４】
通信アドレス読出部２５８は、ＩＰネットワーク上のＤＢサーバ７から、集約可能なアドレスが割り当てられたセンサノードのＩＰアドレスを読み出す。尚、管理端末が通信ネットワーク上のセンサノードのＩＰアドレスを記憶している場合は、通信アドレス読出部２５８は、管理端末から各センサノードのＩＰアドレスを読み出しても良い。
【０１４５】
テーブル生成部２５９は（順番テーブル生成部に相当）、通信アドレス読出部２５８が読み出したＩＰアドレスに基づいてセンサノード間の経路の長さを判断し、センサノード間の経路の長さに応じてセンサノード間の順番を決定する。そしてテーブル生成部２５９は、決定した順番に基づいて順番テーブルを生成する。尚、テーブル生成部２５９の具体的な順番テーブルの生成方法については、第１実施形態に係る管理端末２のテーブル生成部２３と同様であるため、詳細な説明を省略する。
【０１４６】
このように、センサノードが順番テーブルを生成する場合は、管理端末は順番テーブルを生成せずに済む。従って、管理端末の負荷を軽減することができる。
【０１４７】
（２）第２例
第１及び第２実施形態のデータの収集システムにおいて、センサノードの数が多い場合は、管理端末はセンサノードの所定の数に基づいて順番テーブルを分割して送信することができる。図１７は、管理端末がセンサノードの通信アドレスの数に応じて順番テーブルを分割する場合の、管理端末の機能構成図である。図１７の管理端末３０２は、第１実施形態の管理端末２の機能に加えて、数比較部３３０を更に含む。即ち、図１７の管理端末３０２は、指示生成部３２１、通信アドレス読出部３２２、テーブル生成部３２３、送信先読出部３２４、送信部３２５、受信部３２６、演算部３２７、記憶部３２８、通信インターフェース３２９及び数比較部３３０を含む。
【０１４８】
数比較部３３０は、通信アドレス読出部３２２が読み出した通信ネットワーク上の各センサノードの通信アドレスの数と、所定の上限値とを比較する。所定の上限値とは、例えば結果取得に許される待ち時間等の、管理端末側の要求条件により決定する値である。具体的に、数比較部３３０は、所定の上限値を“５０”と設定しているとする。通信アドレス読出部３２２が読み出した各センサノードの通信アドレスの数が“３０”である場合は、数比較部３３０は、読み出した各センサノードの通信アドレスの数“３０”が所定の上限値“５０”を越えていないと判断する。また、通信アドレス読出部３２２が読み出した各センサノードの通信アドレスが“８０”である場合は、数比較部３３０は、読み出した各センサノードの通信アドレスの数“８０”が所定の上限値“５０”を越えていると判断する。数比較部３３０は判断結果と分割数とをテーブル生成部３２３へ渡す。ここで、分割数とは、各センサノードの通信アドレスの数が所定の上限値を越えている場合に、テーブルを分割するための数である。
【０１４９】
テーブル生成部３２３は、数比較部３３０が判断した結果と、分割数とに基づいて順番テーブルを分割する。例えば、数比較部３３０が、読み出した各センサノードの通信アドレスの数“８０”が所定の上限値“５０”を越えていると判断した場合は、テーブル生成部３２３は、分割数に基づいて、順番テーブルを分割する。例えば、分割数を２とした場合、テーブル生成部３２３は、通信アドレスの数“８０”を２分割し、通信アドレスの数がそれぞれ“４０”となるように順番テーブルを分割するこの場合、順番テーブルは２つ生成される。
【０１５０】
送信部３２５は、生成された各順番テーブルを、各順番テーブル内における最初の順番に対応づけられた各センサノードの通信アドレス宛にそれぞれ送信する。これにより、各順番テーブルは、通信ネットワーク上のセンサノード間において並列に受け渡しがなされる。そのため、管理端末３０２は、検知データを並列に収集することができる。従って、管理端末３０２は短時間で検知データを収集することができる。
【０１５１】
そして、管理端末の受信部は、収集した検知データを統合して演算を行い、所望の演算目標値を算出する。
【０１５２】
（３）第３例
第１及び第２実施形態において、データの収集システム内に温度や湿度等の複数種類のセンサノードが含まれている場合は、以下の方法を用いることができる。管理端末の通信アドレス読出部は、通信ネットワーク上のＤＢサーバ７からセンサノードが検知する情報の種類毎にセンサノードの通信アドレスを読み出す。テーブル生成部は、通信アドレス読出部が読み出した情報の種類毎に順番テーブルを生成する。即ち、テーブル生成部は、センサノードが検知する情報の種類毎にセンサノードの通信アドレスをグループ化し、種類毎にグループ化した通信アドレスが集約可能であることを利用して、センサノード間の順番を決定する。そして、テーブル生成部は、検知する情報の種類毎にグループ化し決定したセンサノード間の順番に対し順番テーブルを生成する。これにより、管理端末は、センサノードが検知する情報の種類毎に検知データを収集することができる。この方法は、例えば管理端末が情報の種類毎に演算を行う際に好適である。
【０１５３】
（４）第４例
上述した第３例では、管理端末は、温度や湿度等のセンサノードが検知する種類毎に情報を収集したが、これに限定されない。管理端末は、位置情報やセンサの計測精度等のプロパティ毎に情報を収集してもよい。以下より、具体的に説明する。
【０１５４】
通信ネットワーク上のＤＢサーバは、センサノードの通信アドレスと、センサノードの位置情報や、センサノードが有しているセンサの測定精度等のセンサノードのプロパティ情報を、１レコードとして記憶しているとする。センサノードの位置情報とは、例えばセンサノードがどのような場所に位置しているかを示す。ＤＢサーバは、測定精度を例えばパーセント表示で記憶していてもよいし、その測定精度をランク付けして記憶していてもよい。
【０１５５】
例えば、Ａ地区に位置しているセンサノードから検知データを取得する場合は、管理端末は、通信ネットワーク上のＤＢサーバから位置情報“Ａ地区”をキーワードとして通信アドレスを検索する。管理端末は、ヒットした通信アドレスをＤＢサーバから読み出してテーブルを生成する。これにより、管理端末はＡ地区に位置しているセンサノードから所望の検知データを取得することができる。
【０１５６】
また、測定精度が良好なセンサノードからのみ検知データを取得したい場合は、管理端末は、通信ネットワーク上のＤＢサーバから測定精度 “８０％〜１００％”をキーワードとして通信アドレスを検索する。管理端末は、ヒットした通信アドレスをＤＢサーバから読み出してテーブルを生成する。これにより、管理端末は、測定精度が“８０％〜１００％”であるセンサノードから所望の検知データを取得することができる。
【０１５７】
このように、本発明は、クローズドなシステムだけではなく、オープンなシステムにも適用できる。
【０１５８】
（５）第５例
第１及び第２実施形態において、データの収集システム内のセンサノードが次のセンサノードと通信を行う際は、先ず次のセンサノードが通信可能か否かをセンサノードが問い合わせるとよい。センサノードが通信可能か否かを調査する方法には、例えばICMPv6やEcho、Request/Reply等がある。このような方法を用いてセンサノードが通信可能か否かを調査した結果、次のセンサノードが通信不可能な状態にあると判明した場合は、次の方法を用いることができる。
【０１５９】
例えば、順番テーブル内のセンサノード間の順番がａ，ｄ，ｂ，ｅ，ｃ，ｆであるとする。センサノードｂが順番テーブル及び逐次実行テーブルをセンサノードｅに送信する際、センサノード５ｅが故障等により通信不可能な状態である場合には、センサノードｂは、センサノードｅの演算済み情報を強制的にセットし、その次のセンサノードｃに順番テーブル及び逐次実行テーブルを送信してもよい。または、センサノードｂは、センサノードｅの検知データを記録するフィールドにエラーを示す情報“ＥＲＲ”を記録し、その次のセンサノードｃに順番テーブル及び逐次実行テーブルを送信してもよい。エラーを示す情報は、第２実施形態の「（２）管理端末」の“ＮＵＬＬ”値と同様に、例えば検知データを表すビットのうち上位２ビットを“ＥＲＲ”値用のビットとして割り当てることで、“ＥＲＲ”値を表現してもよい。これにより、管理端末はセンサノードｅが通信不可能であると知ることができる。
【０１６０】
尚、次に送信するセンサノードが通信不可能か否かは、例えばセンサノードが次のセンサノードに応答要求を送信し、応答を受信したか否かにより判断されてもよい。また、センサノードｅが通信不可能な状態である場合には、センサノードｂは管理端末に順番テーブル及び逐次実行テーブルを送信してもよい。センサノードｂが各種テーブルをセンサノードｃに送信するか、または管理端末に送信するかは、逐次実行テーブルの演算式の内容に依存する。
【０１６１】
センサノードｂが各種テーブルをセンサノードｃに送信する場合は、センサノードｂは通信不可能な状態であるセンサノードｅの次のセンサノードｃに各種テーブルを送信するため、各種テーブルは途中で滞ることなく送信される。従って、管理端末は、各種テーブルを早く受信することができる。
【０１６２】
また、センサノードｂが各種テーブルを管理端末に送信する場合は、管理端末はセンサノードＥが通信不可能である状態を把握することができる。これにより、管理端末は、通信不可能であるセンサノードｅを除く他のセンサノードの通信アドレスを用いて、再度順番テーブルを作成し送信する。従って、管理端末は、センサノードから所望の情報を良好に受信し管理することができる。また、管理端末は、各センサノードの稼働状況を知り、管理することができる。
【０１６３】
（６）第６例
第２実施形態の「（４）センサノードの演算過程」では、２つの例について述べたが、次のような例も考えられる。
【０１６４】
以下より、同一リンク上のセンサノードのうち、順番が途中のセンサノードが演算可能なリソースを有している場合について説明する。図１８は、順番テーブルを送信する順、即ち順番テーブル内の“順番”にしたがって各温度センサノード４０５ａ〜ｆを並べた図であって、上述の場合を説明する図である。図１８中の二重の円は、図１３と同様に、演算可能なリソースを有する温度センサノードを表す。図１８の場合、演算可能なリソースを有する温度センサノードは４０５ｄ、４０５ｂ、４０５ｃ，４０５ｆであって、温度センサノード４０５ａ，４０５ｅは演算可能なリソースを有していない。また、円の内部に記載されている“４０４ａ”“４０４ｂ”“４０４ｃ”は、図１３の同様に、各温度センサノード４０５ａ〜４０５ｆが属するノード群を示す。
【０１６５】
温度センサノード４０５ｄは、同階層の温度センサノード４０５ａが検知した温度のデータ及び自ノードが検知した温度のデータを用いて演算を行う。温度センサノード４０５ｂは、先ず自ノードが検知した温度のデータについて演算し、温度センサノード４０５ｅに順番テーブル及び逐次実行テーブルを送信する。温度センサノード４０５ｅは、温度を検知すると、検知した温度のデータを順番テーブル内に記録するが、演算可能なリソースを有していないため、同階層の温度センサノード４０５ｂに順番テーブル及び逐次実行テーブルを送信する。温度センサノード４０５ｂは、温度センサノード４０５ｅから順番テーブル及び逐次実行テーブルを受信した後、温度センサノード４０５ｅが検知した温度のデータに基づいて演算を行い、更新した順番テーブル及び逐次実行テーブルを温度センサノード４０５ｃに送信する。温度センサノード４０５ｃ，４０５ｆはそれぞれ演算可能なリソースを有しているため、自ノードで検知した温度のデータに基づいて各自演算を行う。
【０１６６】
具体的に、温度センサノード４０５ｂと温度センサノード４０５ｅ間における順番テーブル及び逐次実行テーブルの送受信について考える。先ず、温度センサノード４０５ｂは、温度センサノード４０５ｄから順番テーブル及び逐次実行テーブルを受信すると、温度を検知し、検知した温度のデータに基づいて演算を行う。温度センサノード４０５ｂは演算後、順番テーブル及び逐次実行テーブルを更新し、順番テーブル内のセンサノードの検知データ、種類及び演算済み情報を消去して温度センサノード４０５ｅに送信する。
【０１６７】
温度センサノード４０５ｅは、温度センサノード４０５ｂから順番テーブル及び逐次実行テーブルを受信する。図１９ａは、温度センサノード４０５ｅが温度センサノード４０５ｂから受信した順番テーブル及び逐次実行テーブルである。温度センサノード４０５ｅの検知部は、センサが検知した温度のデータ“23.5”を、順番テーブル内の自ノードのＩＰアドレス“2001:0200:0003:2080:0002”に対応する検知データのフィールドに記録する。温度センサノード４０５ｅは演算部を有していないため、演算を実行することができない。従って、温度センサノード４０５ｅの送信先読出部は、順番テーブル内から同階層の温度センサノード４０５ｂのＩＰアドレスを読み出し、送信部は、順番テーブル及び逐次実行テーブルを温度センサノード４０５ｂ宛に送信する。送信先読出部が同階層の温度センサノード４０５ｂを送信先として決定した理由は、自ノードと同階層の温度センサノード４０５ｂ間における経路の長さが、自ノードと他の階層の温度センサノード間における経路の長さよりも短いためである。即ち、温度センサノード４０５ｅと温度センサノード４０５ｂとは同階層に位置しているため、温度センサノード４０５ｅと温度センサノード４０５ｂとの距離は、温度センサノード５ｅと他の階層に位置している他のセンサノードとの距離よりも短い。図１９ｂは、温度センサノード４０５ｅが温度センサノード４０５ｂへ送信する順番テーブル及び逐次実行テーブルである。
【０１６８】
温度センサノード４０５ｂの受信部は、温度センサノード４０５ｅから順番テーブル及び逐次実行テーブルを受信する。すると、温度センサノード４０５ｂの演算部は、図１９ｂにおける逐次実行テーブル内の実行順番“01”の演算目標値“3”を、実行順番“01”の演算式“N=N+1”の右辺のNに代入し、左辺のNの値を計算する。この時、演算部は“N=4”と算出する。更新部は、演算部が算出したNの値“4”を、実行順番“01”における演算目標値に上書きする。次いで、演算部は、更新部により更新された実行順番“01”における演算目標値“4”を、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のNに代入し、実行順番“02”の演算目標値“24.0”を、実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のXに代入する。演算部は、順番テーブル内の順番“04”における検知データ“23.5”を、逐次実行テーブル内の実行順番“02”の演算式“X=((N−1)＊X+Mc)/N”の右辺のMcの値に代入する。そして、演算部は、実行順番“02”の計算式“X=((N−1)＊X+Mc)/N”の左辺のXの値を算出する。この時、演算部は“X=23.875”と算出する。更新部は、演算部が算出したXの値“23.875”を、逐次実行テーブル内の実行順番“02”の演算目標値に上書きする。また、更新部は、順番テーブル内の順番“4”における演算済み情報を、演算済みを示す“1”に更新する。図１９cは、上述の動作により得られた順番テーブル及び逐次実行テーブルである。
【０１６９】
そして、温度センサノード４０５ｂの消去部は、順番テーブル内の演算済み情報が“1”であるセンサノードの検知データ等を消去する。送信先読出部は、順番テーブルを参照し、順番が自ノードの次の次である温度センサノード４０５ｃのＩＰアドレス“2001:0200:0003:2090::0001”を読み出す。送信部は送信先読出部が読み出した温度センサノード４０５ｃのＩＰアドレス宛に、順番テーブル及び逐次実行テーブルを送信する。図１９ｄは、温度センサノード４０５ｂの送信部が温度センサノード４０５ｃ宛に送信した順番テーブル及び逐次実行テーブルを示す。
【０１７０】
ＩＰアドレス“2001:0020:0003:2090::0002”が割り当てられている温度センサノード４０５ｆは、順番が最後であるため、検知データ等全てが消去された順番テーブルと、全ての温度センサノードの検知データに基づいて算出された演算目標値を含む逐次実行テーブルとを、管理端末に送信する。
【０１７１】
以上、本発明における全実施形態について述べたが、本発明はまた、全実施形態において述べた方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータが読み取り可能な記録媒体を、本発明の範囲内に含む。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕｅ−ｒａｙ  Ｄｉｓｃ）、半導体メモリを挙げることができる。前記コンピュータプログラムは、前記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【産業上の利用可能性】
【０１７２】
本発明に係るセンサノードは、NOx濃度や温度、湿度等の周囲の環境を検知する計測用センサノードや、人が通過したか否かを認識する認識用のセンサノードに適用することができる。また、本発明に係る検知データの収集方法は、気温及び湿度等の自然現象の観測、災害発生時の状況調査、在庫管理等の広域型であるオープンなシステムや、ホームオートメーションやホームセキュリティ等の狭域型のクローズドなシステムにおいて適用することができる。
【図面の簡単な説明】
【０１７３】
【図１】第１実施形態に係るデータの収集システムの概略図。
【図２】第１実施形態に係るＤＢサーバ７が有する通信アドレスＤＢの概念図。
【図３】IPv6のアドレス構造を示した図。
【図４】第１実施形態に係る管理端末の機能構成図。
【図５】第１実施形態に係る順番テーブルの概念図。
【図６】第１実施形態に係るセンサノードの機能構成図。
【図７】第１実施形態に係る管理端末２が読み出したアドレスリスト。
【図８】第１実施形態に係る管理端末２によりソートされたアドレスリスト。
【図９】第１実施形態に係るデータの収集システムの動作フロー図。
【図１０】第２実施形態に係る順番テーブルの概念図。
【図１１】第２実施形態に係る逐次実行テーブルの概念図。
【図１２】第２実施形態に係るセンサノードの機能構成図。
【図１３】第２実施形態に係る複数のセンサノードの演算フローを説明する図。
【図１４ａ】第２実施形態に係る複数のセンサノードの演算フローにおける各種テーブル。
【図１４ｂ】第２実施形態に係る複数のセンサノードの演算フローにおける各種テーブル。
【図１４ｃ】第２実施形態に係る複数のセンサノードの演算フローにおける各種テーブル。
【図１５】第２実施形態に係る複数のセンサノードの演算フローを説明する図。
【図１６】その他の実施形態の第１例に係るセンサノードの機能構成図。
【図１７】その他の実施形態の第２例に係る管理端末の機能構成図。
【図１８】その他の実施形態の第６例に係る複数のセンサノードの演算フローの説明図。
【図１９ａ】その他の実施形態の第６例に係る複数のセンサノードの演算フローにおける各種テーブル。
【図１９ｂ】その他の実施形態の第６例に係る複数のセンサノードの演算フローにおける各種テーブル。
【図１９ｃ】その他の実施形態の第６例に係る複数のセンサノードの演算フローにおける各種テーブル。
【図１９ｄ】その他の実施形態の第６例に係る複数のセンサノードの演算フローにおける各種テーブル。
【符号の説明】
【０１７４】
１  データの収集システム
２  管理端末
３  ルータ
４  ノード群
５  温度センサノード
６  湿度センサノード
７  ＤＢサーバ
２１  指示生成部
２２  通信アドレス読出部
２３  テーブル生成部
２４，５４  送信先読出部
２５，５６  送信部
２６，５１  受信部
２７，１５８  演算部
２８  記憶部
２９，５７  通信インターフェース
５２  検知部
５３  センサ
５５  比較部
１５９  更新部
１６０  消去部
３３０  数比較部
【図１】
2007060155.tif 000003
【図２】
2007060155.tif 000004
【図３】
2007060155.tif 000005
【図４】
2007060155.tif 000006
【図５】
2007060155.tif 000007
【図６】
2007060155.tif 000008
【図７】
2007060155.tif 000009
【図８】
2007060155.tif 000010
【図９】
2007060155.tif 000011
【図１０】
2007060155.tif 000012
【図１１】
2007060155.tif 000013
【図１２】
2007060155.tif 000014
【図１３】
2007060155.tif 000015
【図１４ａ】
2007060155.tif 000016
【図１４ｂ】
2007060155.tif 000017
【図１４ｃ】
2007060155.tif 000018
【図１５】
2007060155.tif 000019
【図１６】
2007060155.tif 000020
【図１７】
2007060155.tif 000021
【図１８】
2007060155.tif 000022
【図１９ａ】
2007060155.tif 000023
【図１９ｂ】
2007060155.tif 000024
【図１９ｃ】
2007060155.tif 000025
【図１９ｄ】
2007060155.tif 000026