"複数の階層を有するセンサネットワークを無線通信により構成する複数のセンサノードと、各センサノードでセンシングした当該センサノードの周囲状況を示すセンサデータを前記センサネットワークを介して収集する基地局とを含み、前記センサネットワークは、前記階層ごとに1つ以上のクラスタを有し、任意のセンサノードからなる1つ以上の子ノードと1つのクラスタヘッドとから前記クラスタが構成され、当該クラスタ内の前記子ノードと前記クラスタヘッドとが無線通信を行うとともに、前記クラスタヘッドが1つ上位の階層における任意の上位クラスタの子ノードとして動作し、最上位階層に構成する1つのクラスタのクラスヘッダが前記基地局からなる、階層クラスタ構造を有するセンサデータ収集システムにおいて、前記各センサノードで検出した当該ノードと他のノードとの間で無線通信可能な最小送信電波強度値を、前記センサネットワークを介してそれぞれ収集する最小送信電波強度収集装置と、これら最小送信電波強度値に基づいて、任意の階層における、各クラスタに属する子ノードとクラスタヘッドとの組合せを示す任意のクラスタ構成について、異なるクラスタに属するセンサノード間における無線通信干渉度合いを示す評価値を算出する評価値算出装置と、階層ごとに複数選択したクラスタ構成について前記評価値算出装置で前記評価値を算出し、得られた評価値に基づき階層ごとにクラスタ構成を決定することにより、前記センサネットワークのトポロジを決定するクラスタリング処理装置と、前記トポロジに基づいて個々のセンサノードに関する通信相手情報と当該通信相手ノードに関する最小送信電波強度値とを、前記センサネットワークを介して前記各センサノードへ通知するネットワーク設定装置とを備えることを特徴とするセンサネットワーク構築装置。請求項1に記載のセンサネットワーク構築装置において、前記クラスタリング処理装置は、任意の階層についてクラスタ構成を決定する際、当該階層に含まれるノードからランダムにサンプルノードを選択し、このサンプルノードから各クラスタのクラスタヘッドをそれぞれ任意に選択し、前記クラスタ以外のサンプルノードを当該サンプルノードから最も小さい電波強度で通信可能なクラスタヘッドのクラスタにそれぞれ割り当てて当該階層の基準となるクラスタ構成を生成して、前記評価値算出装置により前記基準クラスタ構成に関する基準評価値を算出し、前記基準クラスタ構成のうちクラスタヘッド以外のサンプルノードからランダムに選択して当該クラスタのクラスタヘッドと入れ替えた候補クラスタ構成を順次生成して、前記評価値算出装置により前記候補クラスタ構成に関する候補評価値を算出し、前記候補評価値のうち最も小さい最小候補評価値と前記基準評価値とを比較し、いずれか小さい方のクラスタ構成を当該階層のクラスタ構成として決定することを特徴とするセンサネットワーク構築装置。複数の階層を有するセンサネットワークを無線通信により構成する複数のセンサノードと、各センサノードでセンシングした当該センサノードの周囲状況を示すセンサデータを前記センサネットワークを介して収集する基地局とを含み、前記センサネットワークは、前記階層ごとに1つ以上のクラスタを有し、任意のセンサノードからなる1つ以上の子ノードと1つのクラスタヘッドとから前記クラスタが構成され、当該クラスタ内の前記子ノードと前記クラスタヘッドとが無線通信を行うとともに、前記クラスタヘッドが1つ上位の階層における任意の上位クラスタの子ノードとして動作し、最上位階層に構成する1つのクラスタのクラスヘッダが前記基地局からなる、階層クラスタ構造を有するセンサデータ収集システムにおいて、最小送信電波強度収集装置が、前記各センサノードで検出した当該ノードと他のノードとの間で無線通信可能な最小送信電波強度値を、前記センサネットワークを介してそれぞれ収集する最小送信電波強度収集ステップと、評価値算出装置が、これら最小送信電波強度値に基づいて、任意の階層における、各クラスタに属する子ノードとクラスタヘッドとの組合せを示す任意のクラスタ構成について、異なるクラスタに属するセンサノード間における無線通信干渉度合いを示す評価値を算出する評価値算出ステップと、クラスタリング処理装置が、階層ごとに複数選択したクラスタ構成について前記評価値算出装置で前記評価値を算出し、得られた評価値に基づき階層ごとにクラスタ構成を決定することにより、前記センサネットワークのトポロジを決定するクラスタリング処理ステップと、ネットワーク設定装置が、前記トポロジに基づいて個々のセンサノードに関する通信相手情報と当該通信相手ノードに関する最小送信電波強度値とを、前記センサネットワークを介して前記各センサノードへ通知するネットワーク設定ステップとを備えることを特徴とするセンサネットワーク構築方法。請求項3に記載のセンサネットワーク構築方法において、前記クラスタリング処理装置が、任意の階層についてクラスタ構成を決定する際、当該階層に含まれるノードからランダムにサンプルノードを選択し、このサンプルノードから各クラスタのクラスタヘッドをそれぞれ任意に選択し、前記クラスタ以外のサンプルノードを当該サンプルノードから最も小さい電波強度で通信可能なクラスタヘッドのクラスタにそれぞれ割り当てて当該階層の基準となるクラスタ構成を生成して、前記評価値算出装置により前記基準クラスタ構成に関する基準評価値を算出し、前記基準クラスタ構成のうちクラスタヘッド以外のサンプルノードからランダムに選択して当該クラスタのクラスタヘッドと入れ替えた候補クラスタ構成を順次生成して、前記評価値算出装置により前記候補クラスタ構成に関する候補評価値を算出し、前記候補評価値のうち最も小さい最小候補評価値と前記基準評価値とを比較し、いずれか小さい方のクラスタ構成を当該階層のクラスタ構成として決定することを特徴とするセンサネットワーク構築方法。コンピュータを、請求項1または請求項2に記載のセンサネットワーク構築装置を構成する各部として機能させるためのプログラム。屋内型センサネットワークにおいて、センサノードが多数存在するときに、これらセンサノードでセンシングしたセンサデータを、少ない遅延で並行して効率よく基地局に収集することが重要となる。ここで、遅延とは、状況が変化してセンサデータが発生してから基地局にデータが到達するまでの所要時間を指す。また、送信するデータ量を抑えて多数のノードからデータを収集できるよう、センサノードは周囲の状況が変化したときにのみセンサデータを送信するものとする。無線通信によって多数のセンサノードからデータを収集することを考えると、まず単純な方法として、ポーリングによる手法と時分割多重による方法が挙げられる。ポーリングでは、基地局が各ノードに対してデータを要求するパケットを送信し、パケットを受信したノードがセンサデータを基地局に返信することで、データを収集できる。センサノードでの実装は単純で実現は容易であり、確実にデータを収集できる。しかし、ノード1台ずつに順にデータを要求するため、データが発生してからデータが基地局に収集されるまでの遅延が大きくなる。さらにイベント駆動型センサを利用するため、センサデータが発生していないノードにもデータを要求しなければならず、効率が悪い。例えば、時分割多重方式では、各ノードにタイムスロットを割り当て、ノードが割り当てられた時間に基地局へデータを送信することで、無線通信の衝突を避けながらデータを収集できる。しかし、均一にタイムスロットをノードに割り当てると、送信するセンサデータの量はセンサの種類と周囲の状況によって変化するため、データが発生していないときにもタイムスロットが割り当てられる可能性が高く、無駄な時間が多い。センサデータの量に応じて動的にタイムスロットを割り当てるような手法も考えられるが、センサデータの発生量を予測することは不可能である上に、実装も困難である。さらに、時分割多重は時刻の同期が必要なため計算機リソースの限られるセンサノードでは実装しにくいという問題もある。本発明はこのような課題を解決するためのものであり、複数のセンサでセンシングしたセンサデータを少ない遅延で並行して効率よく収集できるセンサデータ収集システム、方法、プログラム、および記録媒体を提供することを目的としている。このような目的を達成するために、本発明にかかるセンサネットワーク構築装置は、複数の階層を有するセンサネットワークを無線通信により構成する複数のセンサノードと、各センサノードでセンシングした当該センサノードの周囲状況を示すセンサデータをセンサネットワークを介して収集する基地局とを含み、センサネットワークは、階層ごとに1つ以上のクラスタを有し、任意のセンサノードからなる1つ以上の子ノードと1つのクラスタヘッドとからクラスタが構成され、当該クラスタ内の子ノードとクラスタヘッドとが無線通信を行うとともに、クラスタヘッドが1つ上位の階層における任意の上位クラスタの子ノードとして動作し、最上位階層に構成する1つのクラスタのクラスヘッダが基地局からなる、階層クラスタ構造を有するセンサデータ収集システムにおいて、各センサノードで検出した当該ノードと他のノードとの間で無線通信可能な最小送信電波強度値を、センサネットワークを介してそれぞれ収集する最小送信電波強度収集装置と、これら最小送信電波強度値に基づいて、任意の階層における、各クラスタに属する子ノードとクラスタヘッドとの組合せを示す任意のクラスタ構成について、異なるクラスタに属するセンサノード間における無線通信干渉度合いを示す評価値を算出する評価値算出装置と、階層ごとに複数選択したクラスタ構成について評価値算出装置で評価値を算出し、得られた評価値に基づき階層ごとにクラスタ構成を決定することにより、センサネットワークのトポロジを決定するクラスタリング処理装置と、トポロジに基づいて個々のセンサノードに関する通信相手情報と当該通信相手ノードに関する最小送信電波強度値とを、センサネットワークを介して各センサノードへ通知するネットワーク設定装置とを備えている。この際、クラスタリング処理装置で、任意の階層についてクラスタ構成を決定する際、当該階層に含まれるノードからランダムにサンプルノードを選択し、このサンプルノードから各クラスタのクラスタヘッドをそれぞれ任意に選択し、クラスタ以外のサンプルノードを当該サンプルノードから最も小さい電波強度で通信可能なクラスタヘッドのクラスタにそれぞれ割り当てて当該階層の基準となるクラスタ構成を生成して、評価値算出装置により基準クラスタ構成に関する基準評価値を算出し、基準クラスタ構成のうちクラスタヘッド以外のサンプルノードからランダムに選択して当該クラスタのクラスタヘッドと入れ替えた候補クラスタ構成を順次生成して、評価値算出装置により候補クラスタ構成に関する候補評価値を算出し、候補評価値のうち最も小さい最小候補評価値と基準評価値とを比較し、いずれか小さい方のクラスタ構成を当該階層のクラスタ構成として決定するようにしてもよい。また、本発明にかかるセンサネットワーク構築方法は、複数の階層を有するセンサネットワークを無線通信により構成する複数のセンサノードと、各センサノードでセンシングした当該センサノードの周囲状況を示すセンサデータをセンサネットワークを介して収集する基地局とを含み、センサネットワークは、階層ごとに1つ以上のクラスタを有し、任意のセンサノードからなる1つ以上の子ノードと1つのクラスタヘッドとからクラスタが構成され、当該クラスタ内の子ノードとクラスタヘッドとが無線通信を行うとともに、クラスタヘッドが1つ上位の階層における任意の上位クラスタの子ノードとして動作し、最上位階層に構成する1つのクラスタのクラスヘッダが基地局からなる、階層クラスタ構造を有するセンサデータ収集システムにおいて、最小送信電波強度収集装置が、各センサノードで検出した当該ノードと他のノードとの間で無線通信可能な最小送信電波強度値を、センサネットワークを介してそれぞれ収集する最小送信電波強度収集ステップと、評価値算出装置が、これら最小送信電波強度値に基づいて、任意の階層における、各クラスタに属する子ノードとクラスタヘッドとの組合せを示す任意のクラスタ構成について、異なるクラスタに属するセンサノード間における無線通信干渉度合いを示す評価値を算出する評価値算出ステップと、クラスタリング処理装置が、階層ごとに複数選択したクラスタ構成について評価値算出装置で評価値を算出し、得られた評価値に基づき階層ごとにクラスタ構成を決定することにより、センサネットワークのトポロジを決定するクラスタリング処理ステップと、ネットワーク設定装置が、トポロジに基づいて個々のセンサノードに関する通信相手情報と当該通信相手ノードに関する最小送信電波強度値とを、センサネットワークを介して各センサノードへ通知するネットワーク設定ステップとを備えている。この際、クラスタリング処理装置で、任意の階層についてクラスタ構成を決定する際、当該階層に含まれるノードからランダムにサンプルノードを選択し、このサンプルノードから各クラスタのクラスタヘッドをそれぞれ任意に選択し、クラスタ以外のサンプルノードを当該サンプルノードから最も小さい電波強度で通信可能なクラスタヘッドのクラスタにそれぞれ割り当てて当該階層の基準となるクラスタ構成を生成して、評価値算出装置により基準クラスタ構成に関する基準評価値を算出し、基準クラスタ構成のうちクラスタヘッド以外のサンプルノードからランダムに選択して当該クラスタのクラスタヘッドと入れ替えた候補クラスタ構成を順次生成して、評価値算出装置により候補クラスタ構成に関する候補評価値を算出し、候補評価値のうち最も小さい最小候補評価値と基準評価値とを比較し、いずれか小さい方のクラスタ構成を当該階層のクラスタ構成として決定するようにしてもよい。また、本発明にかかるプログラムは、コンピュータを、前述したいずれか1つセンサネットワーク構築装置を構成する各部として機能させるためのプログラムである。本発明によれば、センサノードを階層的にクラスタリングすることで、多数のノードから、少ない遅延で並行して効率よくセンサデータを収集できる。多数の箇所でセンシングを行いたい場合であっても、本発明を用いると理想的には1台の基地局を設置するのみで容易にセンサネットワークが構築できるようになるため、一般家庭などへセンサネットワークを普及させる上で効果的である。多数のセンサノードを用いてセンシングを行うときに、本発明を用いれば、遅延を一定以下に抑えながら、すべてのノードから効率よくデータを収集できる。次に、本発明の実施の形態について図面を参照して説明する。[センサデータ収集システム]まず、図1を参照して、本発明の一実施の形態にかかるセンサデータ収集システムについて説明する。図1は、本発明の一実施の形態にかかるセンサデータ収集システムの構成を示すブロック図である。図2は、センサノードの構成例を示すブロック図である。図3は、基地局の構成例を示すブロック図である。図4は、ネットワーク構築装置の構成例を示すブロック図である。このセンサデータ収集システム1は、無線通信網からなるセンサネットワーク50で相互に接続された、複数のセンサノード10、基地局20、ネットワーク構築装置30を含み、各センサノード10のセンサでセンシングしたセンサデータを、センサネットワーク50を介して基地局20へ並行して収集する機能を有している。このうち、ネットワーク構築装置30については、センサネットワーク50の構築時にのみ必要となる構成であり、その後のセンサデータ収集時には不要となる。また、このネットワーク構築装置30の機能を基地局20で実現してもよい。センサノード10には、図2に示すように、周囲の状況をセンシングしセンサデータとして出力するセンサ11と、センサ11から出力されるセンサデータに変化があったことをイベントとして検出するセンサイベント検出装置12と、無線通信用送信キューとして送信すべきセンサデータを記憶するセンサデータ記憶装置14と、センサイベント検出装置12でイベントを検出した際のセンサデータを処理してセンサデータ記憶装置14へ保存するセンサデータ処理装置13と、他のセンサノード10や基地局20と無線通信を行うことによりセンサデータなどの各種データを送受信するとともに、送信電波の強度を多段階に調整でき、他センサノードとの間で最小送信電波強度を検出する無線通信装置15とが設けられている。センサノード10を構成するセンサ11、センサイベント検出装置12、センサデータ処理装置13、センサデータ記憶装置14、および無線通信装置15については、それぞれ別個の装置から実現した場合を例として説明するが、これらのうち複数の装置を1つの装置で実現してもよい。また、これら装置での内部処理については、専用の信号処理回路で実現してもよく、コンピュータでCPUなどの演算処理装置とプログラムとを協働させてなる個々の機能処理装置で実現してもよい。基地局20には、図3に示すように、センサノード10と無線通信を行うことによりセンサデータなどの各種データを送受信する無線通信装置21と、無線通信装置21で受信したセンサデータを集約して上位装置図示せずへ出力する受信データ処理装置22とが設けられている。基地局20を構成する無線通信装置21および受信データ処理装置22については、それぞれ別個の装置から実現した場合を例として説明するが、これらのうち複数の装置を1つの装置で実現してもよい。また、これら装置での内部処理については、専用の信号処理回路で実現してもよく、コンピュータでCPUなどの演算処理装置とプログラムとを協働させてなる個々の機能処理装置で実現してもよい。ネットワーク構築装置30には、図4に示すように、センサノード10と無線通信を行うことによりセンサデータなどの各種データを送受信する無線通信装置31と、各センサノード10で検出した当該ノードと他のノードとの間で無線通信可能な最小送信電波強度値を、センサネットワーク50を介してそれぞれ収集する最小送信電波強度収集装置32と、これら最小送信電波強度値に基づいて、任意の階層における、各クラスタに属する子ノードとクラスタヘッドとの組合せを示す任意のクラスタ構成について、異なるクラスタに属するセンサノード間における無線通信干渉度合いを示す評価値を算出する評価値算出装置33と、階層ごとに複数選択したクラスタ構成について評価値算出装置33で評価値を算出し、得られた評価値に基づき階層ごとにクラスタ構成を決定することにより、センサネットワークのトポロジを決定するクラスタリング処理装置34と、このトポロジに基づいて個々のセンサノード10に関する通信相手情報と当該通信相手ノードに関する最小送信電波強度値とを、センサネットワーク50を介して各センサノード10へ通知するネットワーク設定装置35とが設けられている。ネットワーク構築装置30を構成する無線通信装置31、最小送信電波強度収集装置32、評価値算出装置33、クラスタリング処理装置34、およびネットワーク設定装置35については、それぞれ別個の装置から実現した場合を例として説明するが、これらのうち複数の装置を1つの装置で実現してもよい。また、これら装置での内部処理については、専用の信号処理回路で実現してもよく、コンピュータでCPUなどの演算処理装置とプログラムとを協働させてなる個々の機能処理装置で実現してもよい。これにより、センサノード10では、周囲の状況の変化によるセンサデータの変化がイベントとしてセンサデータ処理装置13により検出されると、その変化を示すセンサデータが無線通信装置15を介して基地局20へ送信される。基地局20では、このようにして各センサノード10でセンシングしたセンサデータを無線通信装置21で受信し、受信データ処理装置22で集約して出力する。[センサネットワーク]次に、図5を参照して、本実施の形態にかかるセンサデータ収集システムのセンサネットワークについて説明する。図5は、センサネットワークの階層クラスタ構造例を示す説明図である。センサネットワーク50は、複数の階層を有するとともに、階層ごとに1つ以上のクラスタが設けられている階層クラスタ構造をなしている。図5の例では、最下位階層LL、中間階層LM、最上位階層LHの3つの階層から構成されており、これら階層ごとに1つ以上のセンサノード10からなるクラスタが1つ以上設けられている。なお、実際のセンサネットワーク50において、階層数は3に限定されるものではなく、少なくとも最下位階層LL、最上位階層LHの2つの階を含み、センサノード10の数やクラスタの数に応じて、中間階層LMを増加させればよい。最下位階層LLでは、各センサノード10は位置的に近くに存在する他のセンサノード10とともにクラスタをそれぞれ生成し、クラスタごとにその中の1台のセンサノード10にデータを集約する。各クラスタにおいてデータが集約されるセンサノード10を当該クラスタのクラスタヘッドと定義する。また、各クラスタに属するセンサノード10のうちクラスタヘッド以外のセンサノード10を子ノードという。各クラスタ内の無線通信については、当該クラスタの子ノードからクラスタヘッドにセンサデータが送信できれば十分であるため、無線送信の電波強度を制限して微弱な電波で無線通信を行うことができる。これにより、クラスタ間での電波の干渉を低減でき、各クラスタにおいて並行してデータ収集を行うことが可能となる。中間層LMおよび最上位階層LHのクラスタの子ノードは、1段下の階層における各クラスタのクラスタヘッドから構成されており、階層ごとにこのようなクラスタ構成が繰り返し形成されている。これにより、階層が上がるごとにそれぞれのクラスタでデータが順次集約される。最上位階層LHのクラスタは、基地局20をクラスタヘッドとする1つのクラスタから構成されており、このクラスタの子ノードは、中間層LMの各クラスタのクラスタヘッドから構成されている。このため、最終的には最上位階層LHの基地局20に対してすべてのセンサノード10からセンサデータが集約される。また、この階層クラスタ構造では、各階層で異なる通信チャネルを使用する。図5の例では、最下位階層LL、中間階層LM、最上位階層LHごとに、通信チャネルChL,ChM,ChHを用いる。これにより、階層間での無線通信の干渉がなくなり、各階層で独立してデータを収集できる。本実施の形態では、このような階層クラスタ構造を用いることで、各センサノード10でセンシングしたセンサデータを少ない遅延で並行して効率よく収集している。これにより、ポーリングを用いる手法とは異なり、効率よくデータが収集できる。また、時分割多重を用いる方法と異なり、実装もシンプルで容易に導入可能である。なお、本実施の形態では、通信帯域が溢れるほどのデータは発生しないものとする。また、センサノード間の距離は、位置取得センサを用いるのではなく、電波の強度を利用して計測するものとする。具体的には、あるセンサノードから送信電波強度を変化させて複数のパケットを送信し、受信側では、受け取ったパケットのうち最小の電波強度を距離とする。[データ収集方法]次に、図6および図7を参照して、本実施の形態にかかるセンサデータ収集システムのデータ集約方法について説明する。図6は、本実施の形態にかかるセンサデータ収集システムのデータ集約処理を示すフローチャートである。図7は、階層クラスタ構造の一例を示すトポロジである。最下位階層LLのクラスタでは、各子ノードの持つセンサデータをクラスタヘッドに集約する。この際、クラスタヘッドは、まず、無線通信装置15において通信チャネルとして最下位階層LLのチャネルChLを選択し、クラスタ内の子ノードへデータ要求メッセージを送信する。子ノードは、無線通信装置15において通信チャネルとしてチャネルChLを選択しており、クラスタヘッドからデータ要求メッセージを受信した子ノードは、その時点で自身の送信キューに格納されているセンサデータをクラスタヘッドへ送信する。送信キューが空であれば、何も送信しない。クラスタヘッドは、無線通信装置15により各子ノードからデータを受信して収集した後、通信チャネルを1段上の中間階層LMのチャネルChLに切り替え、この中間階層LMのクラスタヘッドからデータ要求メッセージが送られるのを待つ。データ要求を受信すると、クラスタヘッドは、最下位階層LLの子ノードから収集したセンサデータを、前述した最下位階層LLの子ノードと同様にして中間階層LMのクラスタヘッドへ送信する。このようにして、すべての階層のクラスタでこの処理が繰り返し実行され、最上位階層LHにある基地局20にデータが集約される。また、各階層のクラスタヘッドも他の子ノードと同じくセンシングを行っているため、子ノードから収集したセンサデータを上位階層へ送信する際、自身がセンシングしたセンサデータも付加して送信する。次に、図6を参照して、任意の階層に属するセンサノードのデータ集約処理について説明する。図6において、最下位階層LLから上にm番目の階層におけるi番目の子ノードをNciとし、そのクラスタヘッドをNpとし、当該階層で用いる通信チャネルをChmとし、1段上のm1番目の階層で用いる通信チャネルをChm1とし、子ノードNciへの送信電波強度をEciとし、クラスタヘッドNpへの送信電波強度をEpとする。センサノード10は、ループ1として、ループ2を含むステップ101~107を繰り替えし実行している。ループ1では、まず、センサデータ処理装置13により、センサイベント検出装置12でイベントを検出した際のセンサデータを処理して送信キューであるセンサデータ記憶装置14へ追加保存しステップ101、無線通信装置15により、通信チャネルをChmに設定しステップ102、子ノード選択用変数iを0に初期化するステップ103。次に、センサノード10は、変数iが子ノード数nに達するまで、ステップ111~115からなるループ2を繰り返し実行する。ループ2では、まず、無線通信装置15により、送信電波強度をEciに設定しステップ111、子ノードNciに対してデータ要求メッセージを送信した後ステップ112、子ノードNciからのデータ受信待ちとなるステップ113。ここで、所定の待ち時間が経過するまでに子ノードNciからデータを受信した場合ステップ113:YES、無線通信装置15により、その受信データを送信キューへ追加保存しステップ114、変数iを1だけ加算するステップ115。また、ステップ113において、データ要求メッセージの送信から待ち時間が経過するまでに子ノードNciからデータを受信できなかった場合ステップ113:NO、ステップ115へ移行する。このようにして、すべての子ノードについてループ2を繰り返し実行することにより、各子ノードからセンサデータを収集して送信キューに保存した後、センサノード10は、無線通信装置15により、通信チャネルをChm1に設定するとともにステップ104、送信電波強度をEpに設定しステップ105、クラスタヘッドNpからのデータ要求メッセージの受信待ちとなるステップ106。ここで、所定の待ち時間が経過するまでにクラスタヘッドNpからのデータ要求メッセージを受信した場合ステップ106:YES、無線通信装置15により、送信キューに保存されている各子ノードから収集したセンサデータ、さらには自身でセンシングしたセンサデータをクラスタヘッドNpへ送信しステップ107、ループ1の先頭であるステップ101へ戻る。また、ステップ106において、待ち時間が経過するまでにクラスタヘッドNpからのデータ要求メッセージを受信できなかった場合ステップ106:NO、ループ1の先頭であるステップ101へ戻る。したがって、このデータ集約処理では、各センサノードにおいて、自身のセンシング結果と他のノードから受信したセンシング結果がセンサデータ記憶装置14の中の送信キューで管理され、送信要求があったときには送信キューに保存されているセンサデータがすべて送信される。また、ループ2のデータ収集処理とステップ102の通信チャネル変更処理については、子ノードが存在するときにだけ実行される処理であり、当該センサノードが子ノードを持たない場合、これら処理は実行されない。次に、図7を参照して、センサデータの集約手順の具体例について説明する。図7のトポロジ例では、階層L1に、センサノードA,B,EからなるクラスタC11と、センサノードC,D,FからなるクラスタC12が設けられており、このうちノードE,Fがそれぞれのクラスタヘッドである。また階層L2に、センサノードE,F,GからなるクラスタC21が設けられており、ノードGがクラスタヘッドである。また階層L3には、センサノードG,H,IからなるクラスタC31が設けられており、このうちノードIがクラスタヘッドである。また、階層L1,L2,L3では、通信チャネルとして、それぞれ異なるチャネルCh1,Ch2,Ch3を用いる。このようなトポロジでは、次のようなステップa~cでセンサデータを集約する。aノードAとノードBはノードEへチャネルCh1でセンサデータを集約し、ノードCとノードDはノードFへチャネルCh1でセンサデータを集約する。bノードEとノードFは、それぞれの子ノードからチャネルCh1でデータを集約し終えると通信チャネルをチャネルCh2に切り替え、ノードGへセンサデータを集約する。cノードGとノードHは、それぞれの子ノードからチャネルCh2でデータを集約し終えると通信チャネルをチャネルCh3に切り替え、ノードIにデータを集約する。図7のトポロジでは2分木を例としているが、クラスタ内のノード数は通信の効率を考慮して最適な値を決めるものとする。このようなデータ収集方法は以下のような特徴を持つ。アルゴリズムの共通化:すべてのノードが単一のアルゴリズムで動作し、チャネルや自身の親ノードと子ノードのIDなど数個のパラメータを設定するだけで、センサネットワークを構築できる。このため、ユーザはセンサの種類を意識することなくセンサノードを設置できる。また、今後ノードの移動などを考慮したデータ収集方法についても、数個のパラメータを変更するだけでトポロジを変更できる。遅延の抑制:遅延を一定以下に抑制するには、遅延をT秒以下にする場合、階層数がhであるとき、各階層でT/h秒以内にデータを上位階層に転送すればよい。ネットワーク全体で遅延を一定以下に抑制しようとするとデータ収集方法が複雑になりがちであるが、このデータ収集方法によれば、各クラスタにおいて一定時間以内にデータを送信することさえ保証されれば、全体でも遅延が一定以下になることが保証される。チャネル数の削減:一般的な無線通信では、通信帯域は有限であり、チャネル数も有限である。このデータ収集方法によれば、全ノード数をNとするとき、平衡にクラスタリングできたとすると、必要なチャネル数はOlogNとなり、大規模なセンサネットワークに好適なデータ収集方法であるといえる。以上の説明では、実装が最も簡単なチャネルを変更することで、上位階層と下位階層の通信が干渉しないようにしているが、実装が可能であれば、TDMAのタイムスロットを変えたり、CDMAのコードを変更することで通信が重ならないようにしてもよい。[ネットワーク構築方法]次に、図8および図9を参照して、本実施の形態にかかるセンサデータ収集システムのネットワーク構築方法について説明する。図8は、本実施の形態にかかるセンサデータ収集システムのクラスタリング処理を示すフローチャートである。図9は、クラスタリング処理の一例を示す説明図である。本実施の形態にかかるセンサデータ収集システム1のネットワーク構築装置30では、センサネットワーク50のトポロジを決定するために、図8に示すようなクラスタリング処理を行う。センサノード10に対するクラスタリングは、電波強度から得られた距離に基づいて行う。電波強度を用いると、遮蔽物があるために本来の距離よりも強い電力が必要な場合があり、電波強度から3次元の位置を推測して、その上で一般的な手法を用いてクラスタリングすることはできない。このため、各ノード間の相対的な距離の情報のみを用いてクラスタリングを行う。屋内型センサネットワークにおいて通信の効率化を図るには、複数のクラスタ間の無線の干渉を抑える必要がある。省電力のためにセンサノードをクラスタリングする手法がいくつか提案されているが、これらの研究は省電力化が目的であるため、センサノードからクラスタヘッドまでの距離の和が最短になるようなクラスタリングを行っている。これに対して、本実施の形態では、クラスタ内の通信電波が他のクラスタの通信に干渉しないことが求められるため、クラスタ間の重複を最小にするようにクラスタリングを行う。クラスタ間の重複は次の式1に示す評価関数Fを用いて評価する。ここで、Nはクラスタリングを行っている階層の全ノード数、kはクラスタの個数、Niはクラスタiのノード数、Piはクラスタiのクラスタヘッド、Cijはクラスタiに属するクラスタヘッド以外のj番目のノード、xlは全ノード中のl番目のノードである。式1において、評価関数Fは、任意のノードxaから別のノードxbへの通信が第3のノードxcで受信可能かを判別する関数であり、次の式2のように定義する。ここで、dxa、xbは、ノードxaからノードxbへの距離、つまりノードxaがノードxbへパケットを送信できる最小の電波強度を意味する。ただし、ノードxa、xb、xcの3つが同一のクラスタに属するときは、クラスタヘッドが通信衝突しないように制御しているため、次の式3が成り立つものとする。この評価関数Fは、各クラスタにおいて、クラスタヘッドから当該クラスタ内の子ノードのへの通信を受信可能なクラスタ外のノードの個数と、クラスタ内の子ノードからクラスタヘッドへの通信を受信可能なクラスタ外のノードの個数の合計を意味し、この値が最小になるクラスタリングが最適なものとなる。以下で、上記の評価関数Fを用いてノードをクラスタリングする手法を説明する。クラスタリングは、ノードの数が多いときに、単純にすべてノード間の距離を比較して計算を行うと、計算時間が膨大になるため、CLARA法を用いる非特許文献4など参照。この手法では、全ノードからいくつかのサンプルをランダムに選択し、サンプルのみを用いてクラスタリングした後、サンプル以外のノードを最も近いクラスタに割り当てる。本実施の形態にかかるクラスタリング処理は、このCLARA法を元にしている。ネットワーク構築装置30は、まず、最小送信電波強度収集装置32により、各センサノード10に対する最小送信電波強度要求メッセージを、ブロードキャスト方式などを用いて、無線通信装置31からセンサネットワーク50を介して送信し、これに応じて返送された最小送信電波強度を受信して、センサノード10間ごとに保存する。各センサノード10の無線通信装置15は、この最小送信電波強度要求メッセージに応じて、他センサノードとの間で検査用データを送受信することにより、最小送信電波強度を検出する。例えば、無線通信装置15により、送信電波強度を変化させつつ、当該送信電波強度情報を含む検査用データをロードキャスト方式などを用いて送信し、一方、他ノードから検査用データを受信して同一送信元ノードごとに分類し、受信できた検査用データのうち当該送信電波強度情報で指定されている送信電波強度が最小の送信電波強度を、当該送信元ノードから自ノードへ送信する際の最小送信電波強度として検出すればよい。このようにして、ネットワーク構築装置30は、各センサノード10間の最小送信電波強度値を収集した後、クラスタリング処理装置34により、階層ごとに、図8のクラスタリング処理を繰り返し実行する。なお、中間階層および最上位階層についてクラスタリング処理を行う場合、当該階層より1段下の階層でクラスタヘッドとして選択されたセンサノードを当該階層のノードとして選択するものとする。図8において、Fold,Fnew,Fcは評価関数Fの計算結果であり、Nrandomはクラスタヘッド以外のサンプルノードからランダムに選択したセンサノードである。まず、N個のノードからランダムにm個のサンプルノードを選択しステップ201、m個のサンプルノードからk個のクラスタヘッドをランダムに選択するステップ202。これらmやkの値については、全ノード数や階層数に基づき予め決定しておけばよい。この後、ループ1として、ループ2を含むステップ211~217を繰り返し実行する。ループ1では、まず、クラスタヘッド以外のサンプルノードを、当該サンプルノードからクラスタヘッドまでの最小送信電波強度が最も小さいクラスタヘッドのクラスタにそれぞれ割り当てることにより当該階層の基準となる基準クラスタ構成を生成しステップ211、この基準クラスタ構成について前述した式1の評価関数Fを算出して基準評価値Foldとするステップ212。次に、クラスタヘッド以外のサンプルノードから、入れ替え対象となるノードとしてNrandomをランダムに1つ選択しステップ213、クラスタ選択用変数iを1に初期化するとともに、比較評価値Fnewを∞無限大または最大値に設定するステップ214。続いて、変数iがクラスタ数kに達するまで、ステップ221~224からなるループ2を繰り返し実行する。ループ2では、まず、クラスタヘッドNHiをNrandomと入れ替えて候補クラスタ構成を生成し、この候補クラスタ構成について前述した式1の評価関数Fを算出して候補評価値Fcを算出しステップ211、比較評価値Fnewと比較するステップ222。ここで、Fnew>Fcの場合ステップ222:YES、Fcを新たなFnewとして設定しステップ223、変数iを1だけ加算するステップ115。また、Fnew≦Fcの場合ステップ222:NO、ステップ224へ移行する。このようにして、すべてのクラスタについてループ2を繰り返し実行することにより、これらクラスタをNrandomと入れ替えて生成した候補クラスタ構成から、最も小さい候補評価値Fcを持つ候補クラスタ構成を見つけて、その候補評価値Fcを示す評価値Fnewと基準評価値Foldとを比較するステップ215。ここで、Fnew<Foldの場合ステップ215:YES、Fnewが最小となったNHiとNrandomとを入れ替えて、最小候補評価値を持つ候補クラスタ構成を当該階層のクラスタ構成として決定しステップ216、ループ1の先頭であるステップ211へ戻る。また、Fnew≧Foldの場合ステップ215:NO、上記入れ替えを行わずに、基準クラスタ構成を当該階層のクラスタ構成として決定し、ループ1を脱出して一連のクラスタリング処理を終了する。ネットワーク構築装置30は、クラスタリング処理装置34により、このようなクラスタリング処理を階層ごとに繰り返し実行することにより、センサネットワーク50のトポロジを決定する。この後、ネットワーク構築装置30は、クラスタリング処理装置34で決定したトポロジに基づいて、ネットワーク設定装置35により、各センサノード10に関する通信相手ノードと当該通信相手ノードに関する最小送信電波強度とを決定する。この際、子ノードのセンサデータを送信すべき通信相手ノードは、同一クラスタに属するクラスタヘッドとなり、クラスタヘッドのセンサデータを収集すべき通信相手ノードは、その逆となる。また、各センサノードの最小送信電波強度は、当該通信相手ノードとの間の最小送信電波強度を最小送信電波強度収集装置32から取得すればよい。このようにして、ネットワーク設定装置35は、各センサノード10に関する通信相手ノードと当該通信相手ノードに関する最小送信電波強度とを決定し、無線通信装置31からセンサネットワークを介して各センサノードへ通知する。これにより、センサデータ収集に適したセンサネットワーク50が構築されることになる。次に、図9を参照してクラスタリング処理例について説明する。ここでは、13個のノードを3つのクラスタに分割する場合を例として説明する。以下のステップa~gは、図9a~図9gに相当する。aノードの中からランダムにサンプルを選択する。ここでは、6個のサンプルを選択した。bサンプルの中からランダムにクラスタヘッドを選択する。この例では3つのクラスタに分割するため、3つのクラスタヘッドP1、P2、P3を選択する。cクラスタヘッド以外のサンプルノードをクラスタリングし、評価関数Fを計算し、Foldとする。各ノードは最小距離のクラスタヘッドのクラスタに所属するため、この例ではP1のクラスタには2個のノードが、P2のクラスタには0個のノードが、P3のクラスタには1個のノードがそれぞれ所属する。また、P1からC12への通信は、クラスタ外のP2,P3の2個のノードでも受信でき、P3からC31の通信はクラスタ外のP1、C11、C12,P2でも受信できる。このように通信の重なり、すなわち無線通信干渉度合いを数えることで評価関数Fを算出する。dクラスタヘッド以外のサンプルノードの中から1つをNrandomとして選択する。この例では、C31が選ばれたとする。eNrandomとクラスタヘッドを入れ替えた場合のFcを計算し、最小となるものをFnewとする。この例では、クラスタヘッドが3つあるため、P1と入れ替えるパターン1、P2と入れ替えるパターン2、P3と入れ替えるパターン3の3つのパターンについて計算を行うことになる。3つのパターンの中では、狭い範囲に同一クラスタのノードが集中するパターン2やパターン3がパターン1や現在のクラスタヘッドの配置よりもFの値が小さく、無線通信干渉の少ない良好なクラスタリングとなる。ここでは、パターン3の場合にFnewが最小になったものとする。fFnewを最小にしたクラスタヘッドとNrandomを入れ替える。FnewがFoldよりも大きく、つまりクラスタヘッドを変更しない方が評価が高いならば、入れ替えを行わずにクラスタヘッドを確定させてクラスタリング処理を終了する。一方、入れ替えを行ったときは、ステップc以降の処理を繰り返す。この例では、P3とNrandomとを入れ替え、再度処理を繰り返す。g確定されたクラスタヘッドを用いて、すべてのノードを最短距離のクラスタヘッドのクラスタに所属させることでクラスタリングを行う。以上のクラスタリング処理において、クラスタリングの結果はサンプルの選択やクラスタヘッドの初期選択に左右されるため、評価関数Fが予め定めた値以下ではなくクラスタリングの精度が不十分に場合は、何度か繰り返してクラスタリングを行い、その中から最適なものを選択する。最下位の階層のクラスタリングが終了すると、各クラスタの中から最適なクラスタヘッドを選択し直し、クラスタヘッドのみを用いて1つ上位の階層のクラスタリングを行う。これを繰り返し、すべての階層のクラスタを決定する。したがって、最上位階層LHに予め設定しておいた、基地局20がクラスタヘッドとなる1つのクラスタに対して、すべてのノードが所属することになる。すべての階層におけるクラスタリング処理が終了すると、データを収集するためのトポロジと、各ノード間の通信での最適な電波強度が決まるため、基地局20が、ノードのクラスタヘッド、子ノードの一覧、それぞれの通信における送信電波強度をすべてのノードに対して通知する。これによって、データ収集が開始できるようになる。図10は、本実施の形態にかかるセンサデータ収集システムの評価結果を示す説明図である。図11は、評価に用いたトポロジを示す説明図である。ここでは、本実施の形態にかかるセンサデータ収集方法と、従来のポーリング手法とについて、4つのセンサノードからセンサデータを基地局20へ収集する際に発生する遅延時間を測定した。本実施の形態にかかるセンサデータ収集方法では、図11のトポロジのセンサネットワーク50を用いた。また、無線通信にはIEEE802.15.4準拠の無線通信モジュールを用いた。評価の結果、センサノード数が少ないにもかかわらず、従来のポーリング手法に比べて、本実施の形態にかかるセンサデータ収集方法の方が、データ収集に要する所要時間、すなわち遅延が少なくなる傾向にあることが分かる。"