(57)【特許請求の範囲】
【請求項１】
通信手段と移動手段とを備えた複数のノードから構成されるネットワークシステムであって、
各ノードは、前記移動手段を用いて移動しながら前記通信手段による通信が可能な近隣の他のノードを探索して、該探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、
クラスタを構成する各ノードは、結合したノード同士の結合状態を維持したまま、前記移動手段を用いて移動しながら前記通信手段による通信が可能な更に別の近隣の他のノードを探索して、該探索した他のノードと前記所定の条件を満たす間隔を保って結合することを特徴とするネットワークシステム。
【請求項２】
各ノードは、センサを備えていることを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
各ノードは、自ノードと結合する他のノードの数に応じた濃度値を保持し、前記通信手段による通信が可能な他のノードを同時に複数探索した場合、より大きな濃度値を保持する他のノードと結合することを特徴とする請求項１または２に記載のネットワークシステム。
【請求項４】
各ノードは、自ノードに結合する他のノードの数が２以上の場合、結合している２以上の他のノードのうち、濃度値の和が最小の２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行うことを特徴とする請求項３に記載のネットワークシステム。
【請求項５】
各ノードは、前記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行った後においても、前記２つの他のノードのうちの少なくとも１つの他のノードの濃度値が、結合する他のノードの数が１つであることを示す濃度値である場合、自ノードの移動方向を１８０度反転し、前記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行うことを特徴とする請求項４に記載のネットワークシステム。
【請求項６】
各ノードは、前記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向に移動できなかった場合、自ノードの移動方向を１８０度反転し、前記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行うことを特徴とする請求項４または５に記載のネットワークシステム。
【請求項７】
各ノードは、他のノードと全く結合していない場合、および、１つの他のノードとのみ結合している場合には、前記移動手段により２次元ランダムウォークを行うことを特徴とする請求項１乃至６の何れか１項に記載のネットワークシステム。
【請求項８】
前記所定の条件を満たす間隔は、各ノードの通信可能距離に依存して定まる間隔であることを特徴とする請求項１乃至７の何れか１項に記載のネットワークシステム。
【請求項９】
前記所定の条件を満たす間隔は、各ノードが備えるセンサのセンシング領域のサイズに依存して定まる間隔であることを特徴とする請求項１乃至７の何れか１項に記載のネットワークシステム。
【請求項１０】
通信手段と移動手段とを備えた複数のノードから構成されるネットワークシステムを構築する方法であって、
各ノードが、前記移動手段を用いて移動しながら前記通信手段による通信が可能な近隣の他のノードを探索して、該探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、
クラスタを構成する各ノードが、結合したノード同士の結合状態を維持したまま、前記移動手段を用いて移動しながら前記通信手段による通信が可能な更に別の近隣の他のノードを探索して、該探索した他のノードと前記所定の条件を満たす間隔を保って結合する、
ことを特徴とするネットワークシステム構築方法。
【請求項１１】
各ノードは、センサを備えていることを特徴とする請求項１０に記載のネットワークシステム構築方法。
【請求項１２】
各ノードは、自ノードと結合する他のノードの数に応じた濃度値を保持し、前記通信手段による通信が可能な他のノードを同時に複数探索した場合、より大きな濃度値を保持する他のノードと結合する、
ことを特徴とする請求項１０または１１に記載のネットワークシステム構築方法。
【請求項１３】
各ノードは、自ノードに結合する他のノードの数が２以上の場合、結合している２以上の他のノードのうち、濃度値の和が最小の２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行う、
ことを特徴とする請求項１２に記載のネットワークシステム構築方法。
【請求項１４】
各ノードは、前記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行った後においても、前記２つの他のノードのうちの少なくとも１つの他のノードの濃度値が、結合する他のノードの数が１つであることを示す濃度値である場合、自ノードの移動方向を１８０度反転し、前記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、
ことを特徴とする請求項１３に記載のネットワークシステム構築方法。
【請求項１５】
各ノードは、前記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向に移動できなかった場合、自ノードの移動方向を１８０度反転し、前記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、
ことを特徴とする請求項１３または１４に記載のネットワークシステム構築方法。
【請求項１６】
通信手段と移動手段と制御手段とを備えたノード装置であって、前記制御手段による制御により、前記移動手段を用いて移動しながら前記通信手段による通信が可能な近隣の他のノードを探索して、該探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、さらに、結合したノード同士の結合状態を維持したまま、前記移動手段を用いて移動しながら前記通信手段による通信が可能な更に別の近隣の他のノードを探索して、該探索した他のノードと前記所定の条件を満たす間隔を保って結合することを特徴とするノード装置。
【請求項１７】
センサを備えていることを特徴とする請求項１６に記載のノード装置。
【請求項１８】
自ノードと結合する他のノードの数に応じた濃度値を保持し、前記通信手段による通信が可能な他のノードを同時に複数探索した場合、より大きな濃度値を保持する他のノードと結合することを特徴とする請求項１６または１７に記載のノード装置。
【請求項１９】
自ノードに結合する他のノードの数が２以上の場合、結合している２以上の他のノードのうち、濃度値の和が最小の２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行うことを特徴とする請求項１８に記載のノード装置。
【請求項２０】
前記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行った後においても、前記２つの他のノードのうちの少なくとも１つの他のノードの濃度値が、結合する他のノードの数が１つであることを示す濃度値である場合、自ノードの移動方向を１８０度反転し、前記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行うことを特徴とする請求項１９に記載のノード装置。
【請求項２１】
前記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向に移動できなかった場合、自ノードの移動方向を１８０度反転し、前記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行うことを特徴とする請求項１９または２０に記載のノード装置。
【請求項２２】
通信手段と移動手段とを備えたノード装置を構成するコンピュータを、前記移動手段を用いて移動しながら前記通信手段による通信が可能な近隣の他のノードを探索して、該探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、さらに、結合したノード同士の結合状態を維持したまま、前記移動手段を用いて移動しながら前記通信手段による通信が可能な更に別の近隣の他のノードを探索して、該探索した他のノードと前記所定の条件を満たす間隔を保って結合する制御を行う制御手段、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能と移動機能とを備えた複数のノードの自律分散的な動作によりネットワークトポロジーを構築するネットワークシステムに関する。
【背景技術】
【０００２】
今後需要の高まりが十分に期待されるネットワークシステムとして、無線通信によるａｄ−ｈｏｃなネットワークの構築を行う無線ネットワークシステムおよびセンサネットワークシステムがある。【０００３】
無線通信によるａｄ−ｈｏｃなネットワークの構築においては、基本的に各無線ノードが自律分散的にネットワークトポロジーを構成し、その中で情報のやり取りを行う。【０００４】
センサネットワークは、センサを備えた複数のセンサノードで構成され、温度などの実世界の情報を広域にわたって同時に収集するために使用される。センサネットワークは、従来はセンサ自身のコストが高いこともあり、センサノードからの情報収集とセンサノードへの情報配布の機能を備えたシンクノードという特別なノードが、自身のカバーする範囲内に存在するセンサノードから直接に情報を収集し、またそれらへ制御情報を配布するといった形態が主であった。しかし、最近ではセンサノードの低コスト化と多機能化の可能性が見えてきたことから、センサノード自身に通信機能を持たせ、隣接する他のセンサノードを経由しながらシンクノードと情報の交換を行うという形態が注目されている。このようなセンサネットワークは、上述した無線ネットワークにおける無線ノードにセンサ機能を持たせたネットワークとして捉えることができる。【０００５】
センサと無線通信機能とを備えた多数のセンサノードから構成されるセンサネットワークにおいては、各センサノードが、隣接する他のセンサノードと通信することにより情報の収集や配布を行う。従って、センサネットワークのトポロジーは、各センサノードを中心とし無線通信機能の性能で決定される通信可能距離を半径とする円で定まる通信可能領域内に少なくとも他の１つのセンサノードが存在するように、決定されなければならない。ただし、センサノードのセンサでセンシング可能な領域が通信可能領域よりも小さく、対象エリアを高密度にセンシングする場合には、隣接するセンサノード間の距離を通信可能距離よりも更に短い距離にする必要がある。【０００６】
以上のような条件を満足するネットワークトポロジーを構成する方法は、各センサノードが移動しないことを前提とした静的なトポロジー構成方法と、各センサノードが自律的に移動可能であることを前提とした動的なトポロジー構成方法とに大別される。【０００７】
静的なトポロジー構成方法の典型的な例は、センサノードを高密度にばら蒔く方法や、人手で設置する方法である。しかし、多数のセンサノードを一様な密度でばら蒔くことは難しいため、密度の濃淡が生じ易く、密度の薄いところではセンシング領域の欠けが生じたり、通信不能なセンサノードが発生し、反対に高密度の箇所はセンサノードの無駄が発生する。また、人手で設置する方法は、多くの人手が必要になる上に、山や森など、人が簡単に踏みいることができない場所をセンシング対象とする場合にはその適用は困難である。【０００８】
これに対して、動的なトポロジー構成方法は、人手によらずに各ノードの自律分散的な動作によりネットワークトポロジーを構成することができる等、静的なトポロジー構成方法にはない多くの利点を有している。本発明は、このような動的なトポロジー構成方法に関する。【０００９】
動的なトポロジー構成方法の一例が特許文献１に記載されている。特許文献１に記載されたセンサネットワークでは、各センサノードは、移動機能を用いて移動しながら近隣ノードを探索するＥｘｐａｎｄ状態およびＢｒｉｄｇｅ状態と、移動を停止したＳｔａｙ状態を持ち、Ｅｘｐａｎｄ状態では、１つのＳｔａｙ状態にある近隣ノードと接続可能となった場合にＳｔａｙ状態に遷移し、Ｂｒｉｄｇｅ状態では、お互いに近隣ノードの関係ではなく且つ同一の近隣ノードを保有しない独立した関係にある２以上のノード（その状態は問わない）と接続可能となった場合に、これら２以上のノードと共にＳｔａｙ状態に遷移するようになっており、各ノードがＥｘｐａｎｄ状態とＢｒｉｄｇｅ状態の間で動的に切り替わりながらＳｔａｙ状態へ遷移していくことで、ネットワークトポロジーを形成していく。【００１０】
また、２つのノードが近接し過ぎた状態でＳｔａｙ状態に遷移してしまうことにより、全てのセンサノードでカバーする範囲（カバレッジ）が小さくなってしまうことを防止するため、および、２つのノードが互いの電波到達距離ぎりぎりのところでＳｔａｙ状態に遷移してしまうことによる通信断の発生を防止するために、電波強度が所定値を超える近隣ノード、および、電波強度が所定値を下回る近隣ノードとは、接続関係を避けるようにしている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−１６５６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１に記載されるセンサネットワークによれば、各センサノードがＧＰＳなどの高度な位置測位機能を持っていなくても、自律分散的にネットワークトポロジーを構築することができる。しかしながら、全てのノードを囲む閉曲線の内部にどのノードによってもカバーされない空隙が形成され易いという課題がある。その理由は、Ｅｘｐａｎｄ状態のノードは、１つのＳｔａｙ状態にある近隣ノードと接続可能となった場合にＳｔａｙ状態に遷移して移動を停止し、Ｂｒｉｄｇｅ状態のノードは、お互いに近隣ノードの関係ではなく且つ同一の近隣ノードを保有しない独立した関係にある２以上のノードと接続可能となった場合に、これら２以上のノードと一緒にＳｔａｙ状態に遷移するようになっており、２以上のノードが一旦接続すると、それら複数のノードの位置が固定されてしまうためである。【００１３】
本発明の目的は、通信機能と移動機能とを備えた複数のノードの自律分散的な動作によりネットワークトポロジーを構築するネットワークシステムにおいて、全てのノードを囲む閉曲線の内部にどのノードによってもカバーされない空隙が極力生じないようにネットワークトポロジーを構築することにある。
【課題を解決するための手段】
【００１４】
本発明のネットワークシステムは、
通信手段と移動手段とを備えた複数のノードから構成されるネットワークシステムであって、
各ノードは、上記移動手段を用いて移動しながら上記通信手段による通信が可能な近隣の他のノードを探索して、この探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、
クラスタを構成する各ノードは、結合したノード同士の結合状態を維持したまま、上記移動手段を用いて移動しながら上記通信手段による通信が可能な更に別の近隣の他のノードを探索して、この探索した他のノードと上記所定の条件を満たす間隔を保って結合する、
という構成を採る。【００１５】
本発明のネットワークシステム構築方法は、
通信手段と移動手段とを備えた複数のノードから構成されるネットワークシステムを構築する方法であって、
各ノードが、上記移動手段を用いて移動しながら上記通信手段による通信が可能な近隣の他のノードを探索して、この探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、
クラスタを構成する各ノードが、結合したノード同士の結合状態を維持したまま、上記移動手段を用いて移動しながら上記通信手段による通信が可能な更に別の近隣の他のノードを探索して、この探索した他のノードと上記所定の条件を満たす間隔を保って結合する、
という構成を採る。【００１６】
本発明のノード装置は、
通信手段と移動手段と制御手段とを備えたノード装置であって、
上記制御手段による制御により、上記移動手段を用いて移動しながら上記通信手段による通信が可能な近隣の他のノードを探索して、この探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、
さらに、結合したノード同士の結合状態を維持したまま、上記移動手段を用いて移動しながら上記通信手段による通信が可能な更に別の近隣の他のノードを探索して、この探索した他のノードと上記所定の条件を満たす間隔を保って結合する、
という構成を採る。【００１７】
本発明のプログラムは、
通信手段と移動手段とを備えたノード装置を構成するコンピュータを、
上記移動手段を用いて移動しながら上記通信手段による通信が可能な近隣の他のノードを探索して、この探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、さらに、結合したノード同士の結合状態を維持したまま、上記移動手段を用いて移動しながら上記通信手段による通信が可能な更に別の近隣の他のノードを探索して、この探索した他のノードと上記所定の条件を満たす間隔を保って結合する制御を行う制御手段、
として機能させるプログラムである。
【発明の効果】
【００１８】
本発明によれば、全てのノードを囲む閉曲線の内部にどのノードによってもカバーされない空隙が極力生じることがないようなネットワークトポロジーを複数のノードの自律分散的な動作により構築することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態に係るセンサノードの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態に係るセンサノードの制御部の処理例を示すフローチャートである。
【図３】本発明の第１の実施の形態において、２つの他ノードに結合しているセンサノードの移動を説明するための図である。
【図４】本発明の第１の実施の形態において、２つの他ノードに結合しているセンサノードの移動速度と移動の方向とを記述する式の一例を示す図である。
【図５】本発明の第１の実施の形態において、２次元ランダムウォークの移動速度と移動の方向とを記述する式の一例を示す図である。
【図６】本発明の第１の実施の形態において、多数のセンサノードがセンシングしたいエリアに適当にばら蒔かれた初期の状態の模式図である。
【図７】本発明の第１の実施の形態において、２次元ランダムウォークしていた２つのセンサノードが、互いに接近して結合したときの状態を示す模式図である。
【図８】本発明の第１の実施の形態において、２つのセンサノードから構成されるクラスタと、１つのセンサノードとがそれぞれ２次元ランダムウォークしながら接近して結合したときの状態を示す模式図である。
【図９】本発明の第１の実施の形態において、３つのセンサノードから構成されるクラスタの移動の様子を示す模式図である。
【図１０】本発明の第１の実施の形態において、３つのセンサノードが互いに結合して正３角形のクラスタが形成される様子を示す模式図である。
【図１１】本発明の第１の実施の形態において、空隙のあるクラスタが空隙のないクラスタに変化する様子を示す模式図である。
【図１２】本発明の第１の実施の形態において、全てのセンサノードが結合して形成された最大規模のクラスタの一部を示す模式図である。
【図１３】本発明の第１の実施の形態において、３つのセンサノードが一列に結合しているクラスタを、３つのセンサノードが互いに結合して正３角形を構成するクラスタに速やかに遷移させるための移動方法を示す模式図である。
【図１４】本発明の第２の実施の形態に係るネットワークシステムのブロック図である。
【発明を実施するための形態】
【００２０】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２１】
図１を参照すると、本発明に係るネットワークシステムを構成するセンサノード１０は、センサ機能部１１と、無線通信機能部１２と、移動機能部１３と、記憶部１４と、制御部１５とを備えている。
【００２２】
センサ機能部１１は、温度センサや圧力センサなど、実世界の環境情報を採取するためのセンサで構成される。
【００２３】
無線通信機能部１２は、ＩＥＥＥ８０２．１１やＢｌｕｅｔｏｏｔｈ（登録商標）、その他の任意の通信プロトコルに従って他のセンサノードとの間で無線通信を行う機能を有する。本実施の形態の場合、無線通信機能部１２は、通信相手が自ノードから見てどの方向から無線通信してきたかを検知する方向検知機能を備えている。自ノードから見た他ノードの方向は、例えば、指向性の強いアンテナを回転させ、目的とする他ノードからの電波を最も高レベルで受信した際のアンテナ回転角で測定することができる。勿論、指向性の方向を電子的に切り替える等、その他任意の方法で他ノードの存在方向を測定することも可能である。
【００２４】
移動機能部１３は、車輪、ベルトコンベア、可動脚などの機構により構成され、自ノード１０を制御部１５から指令された移動方向、移動速度で移動させる機能を有する。
【００２５】
記憶部１４は、半導体メモリや磁気ディスクなどで構成され、後述する濃度値や結合リストなどを記憶したり、センサノード１０の動作を制御するプログラムを記憶する。
【００２６】
制御部１５は、ＣＰＵなどで構成され、記憶部１４に記憶されたプログラムを読み込み、そのプログラムを実行することにより、センサ機能部１１によるセンシング動作、無線通信機能部１２による無線通信動作、移動機能部１３による移動動作を含むノード全体の制御を司る。
【００２７】
図２は制御部１５による制御動作の一例を示すフローチャートである。以下、図２を参照して、本実施の形態に係るセンサノード１０の動作を説明する。
【００２８】
センサノード１０の制御部１５は、電源オン等によって起動されると、初期設定処理を行う（ステップＳ１０１）。この初期設定処理では、記憶部１４に記憶されている自ノードの濃度値が初期値の１に設定される。濃度値は、自ノードと結合する他のノードの数に応じて増減される変数である。本実施の形態では、他の何れのノードにも結合していないときは値１、その後、１つの他のノードと結合する毎に１ずつ増加していく。他方、他のノードの故障などによって結合が解かれると、濃度値は逆に減少する。また、初期設定処理では、記憶部１４に記憶されている結合リストがＮＵＬＬに設定される。結合リストは、自ノードと結合している他のノードの識別子のリストである。
【００２９】
次に制御部１５は、自ノード１０の濃度値が、１、２および３以上の何れであるかを判定し（ステップＳ１０２、Ｓ１０３）、判定した濃度値に応じた制御を行う。
【００３０】
（１）濃度値が１の場合
濃度値が１の場合（ステップＳ１０２でＹＥＳ）、つまり自ノード１０が他の何れのノードとも結合していない場合、制御部１５は、他ノードを発見するまで、２次元ランダムウォークにより他ノードを探索する制御を行う（ステップＳ１０５、Ｓ１０６）。
【００３１】
具体的には、制御部１５は、ランダムな移動方向および移動速度を例えば乱数により決定し、決定した移動方向および移動速度を移動機能部１３に対して指令することにより、自ノード１０を２次元ランダムウォークさせる。また、無線通信機能部１２を通じて、自ノード１０の現在の濃度値と自ノードの識別子とを含む探索メッセージを同報通信により周囲に一定周期で送信する一方、他ノードからの探索メッセージの受信を監視する。
【００３２】
ここで、各センサノード１０の無線通信機能部１２による通信可能距離は一定値Ｌｒに固定されている。従って、各センサノード１０は、自ノードを中心とした半径Ｌｒの円内に存在する他ノードとのみ通信可能である。他ノードの探索とは、この円内に自ノードと未結合な他ノードが存在するかどうかを、お互いに探索メッセージを送受信し合って調査する動作である。
【００３３】
制御部１５は、自ノードの結合リストに識別子が記載されていない他ノードから探索メッセージを受信した場合（ステップＳ１０６でＹＥＳ）、つまり自ノードを中心とした半径Ｌｒの円内に自ノードと未結合な他ノードを発見した場合、発見した他ノードの数が単数か複数かを判別し（ステップＳ１１２）、単数の場合には、発見した他ノードに対して自ノードの識別子を含む探索応答メッセージを送信して自ノード１０と他ノードとを結合状態にすると同時に、自ノードの濃度値を＋１する（ステップＳ１１４）。自ノードと他ノードとを結合状態にするとは、記憶部１４に記憶されている結合リストに他ノードのノード識別子を追加し、結合リストに記載されている他ノードと自ノードとの間隔が所定の条件を満たすように維持することである。このようにノード間の間隔が所定の条件を満たすように維持された２以上のノードは、１つのクラスタを構成する。ここで、所定の条件としては、例えば以下のａまたはｂの条件が考えられる。
【００３４】
（ａ）２つのノードのセンシング可能な領域がほぼ接するか、或いは事前に設定された幅以下で一部重なること。
（ｂ）２つのノードの中心どうしの距離が、通信可能距離Ｌｒ以下のＬ1以下、Ｌ1よりΔだけ短い距離Ｌ2以上の範囲内にあること。ここで、Ｌ1は、ノード間の信号対雑音比の劣化が予め定められた一定値以下に抑えることができる距離であることが望ましい。また、Δは通信可能領域が重なる幅のサイズに相当し、事前に設定される。この幅Δは、全てのノードでカバーされる範囲を最大化するために、できるだけ狭いことが望ましい。
【００３５】
２つのノードの中心間の距離は、無線通信に無線電波を使用する場合、受信電波強度と距離との関係から導出することができる。また、センサノード１０のセンシング領域が一定であれば、２つのノードのセンシング領域がほぼ接するか、或いは事前に設定された幅以下で一部重なるかは、受信電波強度と距離との関係から導出したノード間距離とセンシング領域のサイズとから求めることができる。
【００３６】
また発見した他ノードの数が複数の場合には、制御部１５は、より大きなクラスタ側と結合すべく、濃度値のより大きな他ノードを選択し（ステップＳ１１３）、この選択した他ノードに対して自ノードの識別子を含む探索応答メッセージを送信して自ノード１０と当該他ノードとを結合状態とし、自ノードの濃度値を＋１して２とする（ステップＳ１１４）。
【００３７】
（２）濃度値が２の場合
濃度値が２の場合（ステップＳ１０３でＹＥＳ）、つまり自ノード１０が１つの他のノードとのみ結合している場合、制御部１５は、自ノードに未結合な別の他ノードを発見するまで、既に結合している他ノードとの結合状態を維持しながら、他ノードを２次元ランダムウォークにより探索する制御を行う（ステップＳ１０７、Ｓ１０８）。
【００３８】
具体的には、制御部１５は、既に結合している他ノードとの間隔が前記所定の条件を満たす範囲内において、ランダムな移動方向および移動速度を決定して移動機能部１３に対して指令することにより、自ノード１０を他ノードと結合したまま２次元ランダムウォークさせる。また、濃度値１の場合と同様に探索メッセージを周期的に送信し、また他ノードからの探索メッセージの受信を監視する。そして、制御部１５は、結合リストに記載されていない他ノードからの探索メッセージを受信すると（ステップＳ１０８でＹＥＳ）、濃度値１の場合と同様の処理により、発見した他ノードの１つと自ノード１０とを結合状態とする（ステップＳ１１２〜Ｓ１１４）。
【００３９】
（３）濃度値が３以上の場合
濃度値が３以上の場合（ステップＳ１０３でＮＯ）、制御部１５はさらに、濃度値が３か、それとも４以上かを判定する（ステップＳ１０４）。
【００４０】
濃度値が３、つまり自ノード１０が２つの他ノードと結合している場合、制御部１５は、自ノードに未結合な別の他ノードを発見するまで、現在結合している２つの他ノードとの結合状態を維持しつつ、現在結合している２つの他ノードと自ノードとで形成される円弧の曲率が最小（つまり円弧の半径が最大。但し１直線に並ばないように曲率＝０は除く）になるような移動方向に移動しながら他ノードを探索する制御を行う（ステップＳ１１０、Ｓ１１１）。
【００４１】
また濃度値が４以上、つまり自ノード１０が３以上の他のノードと結合している場合、制御部１５は、結合している他ノードのうち、濃度値の和が最小の２つの他ノードの組（最小の組が複数存在する場合はそのうちの任意の組）を選択し（ステップＳ１０９）、ステップＳ１１０に進んで前述と同様の制御を行う。すなわち、制御部１５は、自ノードに未結合な別の他ノードを発見するまで、前記選択した２つの他ノードとの結合状態を維持しつつ、前記選択した２つの他ノードと自ノードとで形成される円弧の曲率が最小（つまり円弧の半径が最大）になるように移動しながら他ノードを探索する制御を行う（ステップＳ１１０、Ｓ１１１）。
【００４２】
そして、制御部１５は、結合リストに記載されていない他ノードからの探索メッセージを受信すると（ステップＳ１１１でＹＥＳ）、濃度値１の場合と同様の処理により、発見した他ノードの１つと自ノード１０とを結合状態とする（ステップＳ１１２〜Ｓ１１４）。
【００４３】
次に、ステップＳ１０５、Ｓ１０７およびＳ１１０における移動制御の具体例について説明する。
【００４４】
図３は自センサノードに他ノードが２以上結合しているセンサノードの移動を説明するための図であり、図４は自センサノードに他ノードが２以上結合しているセンサノードの移動速度と移動の方向とを記述する式の一例を示している。図４に示す式１は、曲座標形式による記述であるが、２次元直交座標系での記述も可能である。なお、これらの曲座標や２次元直交座標は、各センサノードが移動方向を計算する上で仮に設定した座標である。
【００４５】
式１において、ｋ（θ、ｔ、φ、ｄ）は角度θにいるセンサノードｉが、時刻ｔで結合しているセンサノードｊ、ｋと作る円弧の曲率である。ここで、φはセンサノードｉの位相で０≦φ≦２πの範囲で可変であり、この値をクラスタ内の結合している他のセンサノードと異なるように、例えば乱数により設定することで、３以上のセンサノードから構成されるクラスタが任意の方向に移動可能となる。
【００４６】
式１の右辺第１項は、ノードｉが、結合しているノードｊおよびノードｋと形成する円弧の曲率の半径方向に移動するための項である。自ノードｉと他ノードｊ、ｋとで形成される円弧の曲率を求めるためには、自ノードｉから見て、他ノードｊ、ｋがどの方向のどれだけの距離に存在するかが分かっている必要がある。他ノードとの距離は、その他ノードと自ノードとが結合状態を維持しているため既知である。自ノードから見た他ノードの方向は、無線通信機能部１２の有する方向探知機能を用いて測定する。
【００４７】
式１の右辺第２項は、時間の経過に伴い曲率を最小にするように移動する項である。
【００４８】
式１の右辺第３項および第４項は、結合の強さを表す項で、濃度ｄの大きいノード同士ほど結合し易いことを意味している。Ｇは正数の比例係数であり、その値は第５項および第６項による斥力とバランスすることで、ノード間の結合距離を一定範囲内に収めるように設定する。
【００４９】
式１の第５項および第６項のＦ（ｒ、θ、ｔ、φ、ｄ）は、ノード中心からの距離ｒ、角度θにいるセンサノードｉが時刻ｔで結合している位相φ、濃度ｄの他のセンサノードと所定の条件を満たす距離となるための抑制項である。例えば、所定の条件を、センシング領域が一定の距離で重なることとすると、第５項および第６項は、結合した任意の２以上のセンサノード同士の距離をセンシング領域ぎりぎりまで押しのける斥力に相当する。
【００５０】
次に２次元ランダムウォークの定式化例を図５の式２に示す。なお、式１におけるような（）内の変数は省略する。右辺第１項は、ノードの２次元ランダムウォークの項、右辺第２項および第３項は通信領域が重なっているノードからの引力（濃度ｄが大きいものほど結合し易い）の項、第３項以降は、センシング領域ぎりぎりまでノード間距離を引き離す斥力である。ここで、比例係数ａは正数である。何れの他のノードにも結合していない単独ノードでは、第３項以降は省略される。
【００５１】
次に、多数のノードが２次元ランダムウォークして、最終的に１つのクラスタが形成されるまでの特徴的な動作について、具体例を示して説明する。
【００５２】
図６は、多数のセンサノード１０がセンシングしたいエリアに適当にばら蒔かれた初期の状態の模式図であり、各センサノード１０が２次元ランダムウォークしながら通信可能な他のセンサノード１０を探索している状態である。図中、中心の黒丸がセンサノード１０を示し、黒丸を中心とする円は通信可能領域を示す。個々のセンサノード１０が、他の何れのセンサノードとも結合していない初期状態では、各センサノードの濃度値は１である。
【００５３】
図７は、２次元ランダムウォークしていた２つのセンサノードＡ、Ｂが、互いに接近して結合したときの状態を模式的に示す。図中、各センサノードにおける外側の円は通信可能領域を示し、内側の塗りつぶされた円はセンシング領域を示し、中心の小さな白丸はセンサノードの位置を示す。図７に示すように、結合により、それぞれの濃度値は１から２へと変化する。また、互いに結合したセンサノードＡおよびセンサノードＢは、１つのクラスタを構成し、クラスタ全体として２次元ランダムウォークするようになる。
【００５４】
図８は、センサノードＡおよびセンサノードＢから構成されるクラスタと、センサノードＣとがそれぞれ２次元ランダムウォークしながら接近し、センサノードＣがセンサノードＢと結合したときの状態を模式的に示す。結合により、センサノードＣの濃度値は１から２に変化し、センサノードＢは２から３に変化している。
【００５５】
図９は、図８のようにして形成された３つのセンサノードＡ、Ｂ、Ｃから構成されるクラスタの移動の様子を示す模式図である。真ん中のセンサノードＢは、自ノードＢと他ノードＡ、Ｃとで形成される図の破線で示す円弧の曲率を最小とする方向に移動する。他方、センサノードＢとのみ結合しているセンサノードＡ、およびセンサノードＢとのみ結合しているセンサノードＣは、その結合を維持する範囲内で２次元ランダムウォークする。この結果、クラスタ全体としては、互いのノードの位置関係を変化させながら（つまりクラスタの形状を変化させながら）、２次元ランダムウォークすることになる。この２次元ランダムウォークにより、各センサノードは、未結合の他のセンサノードを発見すると、それと結合する。
【００５６】
ここで、センサノードＡとセンサノードＣは互いに未結合であるため、互いのノードの位置関係を変化させながら２次元ランダムウォークする過程で、センサノードＡとセンサノードＣの通信可能領域が重なると、センサノードＡとセンサノードＣとが結合し、図１０に示すように、３つのセンサノードＡ、Ｂ、Ｃが互いに結合して正３角形のクラスタが形成される。
【００５７】
多数のセンサノード１０がセンシング対象エリアに適当にばら蒔かれた図６の初期の状態において、前述したようにして各所でセンサノード間の結合が行われて２つ或いは３つのセンサノードから構成される規模の小さなクラスタが幾つも形成され、これらの小規模のクラスタがなおも形を変えながら移動を続けることにより、残りの単独のセンサノードとの結合、小規模なクラスタ同士間の結合が繰り返され、より規模の大きなクラスタが形成され、最終的に１つのクラスタが形成されるようになる。
【００５８】
このとき、１以上の他のセンサノードと結合しているセンサノードは、結合したノード同士の結合状態を維持したまま、移動機能を用いて移動しながら別の近隣の他のノードを探索して、探索した他のノードと結合するので、クラスタ中にどのセンサノードにもカバーされない空隙が一時的に生じたとしても、その空隙を埋める方向に進んだセンサノード同士の結合によって空隙のないクラスタへと変化する。特に本実施の形態では、２以上の他のセンサノードと結合しているセンサノードは、濃度値の和が最小の２つの他ノードの組を選択し、この選択した２つの他ノードと自ノードとで形成される円弧の曲率を最小化する方向に移動するため、クラスタ中にどのセンサノードにもカバーされない空隙が一時的に生じたとしても、その空隙の周囲のセンサノードがその空隙方向に移動し、速やかに空隙のないクラスタが形成される。図１１にその様子を模式的に示す。
【００５９】
図１１のクラスタの内部に存在する空隙に接しているセンサノードは、Ａ、Ｂ、Ｄ、Ｅ、Ｇ、Ｈ、Ｉの７個である。一般に、空隙に接しているセンサノードは、周囲が他のセンサノードで埋めつくされているセンサノードよりも濃度値は小さくなる。このため、空隙に接しているセンサノードＡ、Ｂ、Ｄ、Ｅ、Ｇ、Ｈ、Ｉは、同じく空隙に接しているセンサノードを含む２つのノードの組を選択し、この選択した２つの他ノードと自ノードとで形成される円弧の曲率を最小化する図中の矢印が示す方向に移動する確率が高くなる。その移動方向は、空隙の中心に向くため、互いに空隙の中心方向に移動するセンサノード間の距離が徐々に接近し、最終的にそれらのセンサノードが結合して、図１１の右側に示すような空隙の無いクラスタへと変化する。
【００６０】
図１２の左側の図は全てのセンサノードが結合して形成された最大規模のクラスタの一部を示す模式図である。全てのセンサノードの濃度値は４以上になるため、個々のセンサノードは、結合している他ノードのうち、濃度値の和が最小の２つの他ノードの組を選択し、この選択した２つの他ノードと自ノードとで形成される円弧の曲率を最小化する方向に移動する。濃度値の和が最小の組が複数存在するクラスタ内部の各センサノードでは、ランダムに組を選択する結果、クラスタ内部の各センサノードの移動方向はランダムになる。他方、クラスタ外周部のセンサノードは、隣接する外周部のセンサノードの組が最も濃度値の和が小さくなるため、隣接する外周部のセンサノードと形成される円弧の曲率が最小となるように移動する。この結果、クラスタの形状は徐々に円に近づき、且つ、円の形状を維持するようになる。このようにして、全センサノードでカバーされる領域（カバリッジ）が最大の円形のクラスタが最終的に生成されることになる。
【００６１】
次に、クラスタを構成する何れかのセンサノードが故障等によりその機能を停止した場合に、機能を停止したセンサノードによって生じた空隙が、近隣の正常なセンサノードによって埋められる動作について説明する。
【００６２】
クラスタを構成する各センサノードの制御部１５は、前述したように、無線通信機能部１２により、自ノードの識別子を含む探索メッセージを一定周期で同報通信すると同時に、他ノードからの探索メッセージの受信を監視している。制御部１５は、受信した探索メッセージに含まれるノード識別子が自ノードの結合リストに記載されていない場合には前述したように当該他ノードとの結合処理を行うが、既に結合リストに記載されていた場合には、記載されていたノード識別子に対応するタイマを初期値にリセットする。このタイマは時間の経過と共にカウントアップし、予め設定された値になるとタイムアップする。従って、自ノードに結合している他ノードが正常に機能していれば、当該他ノードからの周期的な探索メッセージの受信によってタイマがタイムアップすることはないが、故障や障害により他ノードが機能を停止すると、他ノードからの探索メッセージの受信が途絶えるため、タイマがタイムアップする。制御部１５は、タイムアップした他ノードは故障あるいは障害により機能を停止したものと判断して、当該他ノードの識別子を結合リストから削除すると共に、自ノードの濃度値を１だけ減少する。
【００６３】
この結果、機能を停止したセンサノードによって生じた空隙に接している正常なセンサノードの濃度値は、周囲が正常なセンサノードで埋めつくされている正常なセンサノードの濃度値よりも小さくなる。例えば、図１２の左側に示すクラスタにおいて、太線で示す２個のセンサノードが機能を停止した場合、図１２の右側に示すような空隙がクラスタ内にできる。この状況は図１１の左側の図を参照して説明した状況とそっくり同じである。従って、図１１を参照して説明した動作と同様の動作により、機能を停止したセンサノードによって生じた空隙が、近隣の正常なセンサノードによって埋められることになる。
【００６４】
以上のように、本実施の形態によれば、全てのノードを囲む閉曲線の内部にどのノードによってもカバーされない空隙が極力生じることがないようなネットワークトポロジーを複数のノードの自律分散的な動作により構築することができる。その理由は、クラスタの一員として動作する各ノードは、結合したノード同士の結合状態を維持したまま、移動機能を用いて移動しながら通信機能による通信が可能な更に別の近隣の他のノードを探索して、探索した他のノードと結合するので、空隙が生じる確率が小さくなるためである。特に、２以上の他のセンサノードと結合しているセンサノードが、濃度値の和が最小の２つの他ノードの組を選択し、この選択した２つの他ノードと自ノードとで形成される円弧の曲率を最小化する方向に移動する構成によれば、クラスタ内にどのセンサノードにもカバーされない空隙が一時的に生じたとしても、その空隙の周囲のセンサノードがその空隙方向に移動し、最終的に空隙のないクラスタをより短時間で形成することが可能である。
【００６５】
また、本実施の形態によれば、クラスタを構成する何れかのセンサノードが故障等によりその機能を停止した場合に、機能を停止したセンサノードによって生じた空隙を、近隣の正常なセンサノードの自律分散的な動作によって埋めることが可能である。その理由は、機能を停止したセンサノードと結合していた正常なセンサノードは、機能を停止したセンサノードとの結合関係を解消するため、機能を停止したセンサノードと所定の間隔を保つ必要が無くなり、機能を停止したセンサノード方向への移動が可能となって、空隙に接する他の正常なセンサノードと接近して結合する動作を誘発するためである。特に、２以上の他のセンサノードと結合しているセンサノードが、濃度値の和が最小の２つの他ノードの組を選択し、この選択した２つの他ノードと自ノードとで形成される円弧の曲率を最小化する方向に移動する構成によれば、故障等により機能を停止したセンサノードによって生じた空隙の周囲のセンサノードがその空隙方向に移動するため、生じた空隙をより短時間で解消することが可能となる。
【００６６】
また、２以上の他のセンサノードと結合しているセンサノードが、濃度値の和が最小の２つの他ノードの組を選択し、この選択した２つの他ノードと自ノードとで形成される円弧の曲率を最小化する方向に移動する構成によれば、全センサノードでカバーされる領域（カバレッジ）が最大の円形の１つのクラスタを生成することができる。
【００６７】
なお、本実施の形態に対して、以下のような各種の付加変更が可能である。
【００６８】
本実施の形態は、センサネットワークに本発明を適用したが、無線ネットワークに対して適用することも可能である。
【００６９】
本実施の形態においては、各センサノードは、自ノードに結合する他のノードの数が２以上の場合、結合している２以上の他のノードのうち、濃度値の和が最小の２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行うようにした。しかし、このような移動制御を基本としながら、特定の状況下では異なる移動制御を行うようにしても良い。
【００７０】
例えば、３つのセンサノードが一列に結合している図９に示した状態から、３つのセンサノードが互いに結合した図１０に示した状態へ速やかに遷移させるために、図１３に示すように、２以上の他センサノードＡ、Ｃと結合しているセンサノードＢは、センサノードＡ、Ｃの中に濃度値が３以上になっていないノードが存在する場合に、センサノードＡとセンサノードＣとがより近づき易くなるように、自ノードＢの移動方向を１８０度反転し、曲率が最大（つまり、円弧の半径が最小）になるように移動するようにしても良い。
【００７１】
また、自ノードに結合する他のノードの数が２以上の各センサノードは、所属するクラスタの他のノードが障害となって、濃度値の和が最小の２つの他のノードと自ノードとで形成される円弧の曲率を最小とする方向に移動することができなかった場合、向きを１８０度反転し、曲率が最大（つまり、円弧の半径が最小）になるように移動するようにしても良い。このような動作によれば、例えばノードが線上のまま連なって円周のクラスタが出来てしまうことを確実に防止することができる。なお、曲率が最大（つまり、円弧の半径が最小）になるように移動することができなかった場合は、再び、向きを１８０度反転し、円弧の曲率を最小とする方向に移動する。従って、どちらの方向にも動けない場合には向きを１８０度反転する動作が反復されることになる。
【００７２】
本実施の形態は、センサノードのみでネットワークを構成したが、センサノード以外のノードを付加するようにしても良い。例えば、センサノードからの情報を収集、集約する機能を有する単数または複数個（ただし、センサノードの数に比べて十分に少ない）のシンクノードと呼ぶノードを付加しても良い。シンクノードは、センサノードの濃度値の最大値よりも大きな固定の濃度値を持っており、一定周期で自ノードの識別子と濃度値を含む探索メッセージを送信する。シンクノードは、固定でも移動可能でも良い。移動可能な場合、さらにＧＰＳなどの位置測位機能を持たせ、全てのセンサノードからの最大距離が全方位に対して均一になるような可能な限りカバレッジしたいエリアの中心または中心付近に移動しても良い。
【００７３】
また本実施の形態のセンサノードあるいは無線ノードは、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述したセンサノードあるいは無線ノードとして機能させる。
【００７４】
次に、本発明の第２の実施の形態を、図１４を参照して説明する。図１４は、本実施の形態におけるネットワークシステムの構成を示すブロック図である。なお、本実施の形態では、上述したネットワークシステムの概略を説明する。
【００７５】
図１４に示すように、本実施の形態におけるネットワークシステムは、通信手段１１０と移動手段１２０とを備えた複数のノード１００から構成され、各ノード１００は、移動手段１２０を用いて移動しながら通信手段１１０による通信が可能な近隣の他のノード１００を探索して、この探索した他のノード１００と所定の条件を満たす間隔を保って結合することにより、２以上のノード１００から構成されるクラスタを生成する、という構成を採る。また、クラスタを構成する各ノード１００は、結合したノード１００同士の結合状態を維持したまま、移動手段１２０を用いて移動しながら通信手段１１０による通信が可能な更に別の近隣の他のノード１００を探索して、この探索した他のノード１００と上記所定の条件を満たす間隔を保って結合する、という構成を採る。
【００７６】
そして、各ノード１００は、センサを備える、という構成を採る。
【００７７】
また、上記ネットワークシステムでは、各ノード１００は、自ノード１００と結合する他のノード１００の数に応じた濃度値を保持し、上記通信手段による通信が可能な他のノード１００を同時に複数探索した場合、より大きな濃度値を保持する他のノード１００と結合する、という構成を採る。
【００７８】
また、上記ネットワークシステムでは、各ノード１００は、自ノード１００に結合する他のノード１００の数が２以上の場合、結合している２以上の他のノード１００のうち、濃度値の和が最小の２つの他のノード１００と自ノード１００とで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行う、という構成を採る。
【００７９】
また、上記ネットワークシステムでは、各ノード１００は、上記２つの他のノード１００と自ノード１００とで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行った後においても、上記２つの他のノード１００のうちの少なくとも１つの他のノード１００の濃度値が、結合する他のノード１００の数が１つであることを示す濃度値である場合、自ノード１００の移動方向を１８０度反転し、上記２つの他のノード１００と自ノード１００とで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、という構成を採る。
【００８０】
また、上記ネットワークシステムでは、各ノード１００は、上記２つの他のノード１００と自ノード１００とで形成される円弧の曲率が最小となる方向に移動できなかった場合、自ノード１００の移動方向を１８０度反転し、上記２つの他のノード１００と自ノード１００とで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、という構成を採る。
【００８１】
また、上記ネットワークシステムでは、各ノード１００は、他のノード１００と全く結合していない場合、および、１つの他のノード１００とのみ結合している場合には、上記移動手段１２０により２次元ランダムウォークを行う、という構成を採る。
【００８２】
また、上記ネットワークシステムでは、上記所定の条件を満たす間隔は、各ノード１００の通信可能距離に依存して定まる間隔である、という構成を採る。
【００８３】
また、上記ネットワークシステムでは、上記所定の条件を満たす間隔は、各ノード１００が備えるセンサのセンシング領域のサイズに依存して定まる間隔である、という構成を採る。
【００８４】
また、上述したネットワークシステムが作動することにより実行される、本発明の他の形態であるネットワークシステム構築方法は、通信手段と移動手段とを備えた複数のノードから構成されるネットワークシステムを構築する方法であって、
各ノードが、前記移動手段を用いて移動しながら前記通信手段による通信が可能な近隣の他のノードを探索して、該探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、
クラスタを構成する各ノードが、結合したノード同士の結合状態を維持したまま、前記移動手段を用いて移動しながら前記通信手段による通信が可能な更に別の近隣の他のノードを探索して、該探索した他のノードと前記所定の条件を満たす間隔を保って結合する、
という構成を採る。
【００８５】
また、上記ネットワークシステム構築方法では、各ノードは、センサを備えている、という構成を採る。
【００８６】
また、上記ネットワークシステム構築方法では、各ノードは、自ノードと結合する他のノードの数に応じた濃度値を保持し、前記通信手段による通信が可能な他のノードを同時に複数探索した場合、より大きな濃度値を保持する他のノードと結合する、という構成を採る。
【００８７】
また、上記ネットワークシステム構築方法では、各ノードは、自ノードに結合する他のノードの数が２以上の場合、結合している２以上の他のノードのうち、濃度値の和が最小の２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行う、という構成を採る。
【００８８】
また、上記ネットワークシステム構築方法では、各ノードは、上記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行った後においても、上記２つの他のノードのうちの少なくとも１つの他のノードの濃度値が、結合する他のノードの数が１つであることを示す濃度値である場合、自ノードの移動方向を１８０度反転し、上記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、という構成を採る。
【００８９】
また、上記ネットワークシステム構築方法では、各ノードは、上記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向に移動できなかった場合、自ノードの移動方向を１８０度反転し、上記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、という構成を採る。
【００９０】
また、本発明の他の形態であるノード装置は、通信手段と移動手段と制御手段とを備えたノード装置であって、上記制御手段による制御により、上記移動手段を用いて移動しながら上記通信手段による通信が可能な近隣の他のノードを探索して、この探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、さらに、結合したノード同士の結合状態を維持したまま、上記移動手段を用いて移動しながら上記通信手段による通信が可能な更に別の近隣の他のノードを探索して、この探索した他のノードと上記所定の条件を満たす間隔を保って結合する、という構成を採る。
【００９１】
また、上記ノード装置では、センサを備える、という構成を採る。
【００９２】
また、上記ノード装置では、自ノードと結合する他のノードの数に応じた濃度値を保持し、上記通信手段による通信が可能な他のノードを同時に複数探索した場合、より大きな濃度値を保持する他のノードと結合する、という構成を採る。
【００９３】
また、上記ノード装置では、自ノードに結合する他のノードの数が２以上の場合、結合している２以上の他のノードのうち、濃度値の和が最小の２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行う、という構成を採る。
【００９４】
また、上記ノード装置では、上記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向を移動方向とする移動制御を行った後においても、上記２つの他のノードのうちの少なくとも１つの他のノードの濃度値が、結合する他のノードの数が１つであることを示す濃度値である場合、自ノードの移動方向を１８０度反転し、上記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、という構成を採る。
【００９５】
また、上記ノード装置では、上記２つの他のノードと自ノードとで形成される円弧の曲率が最小となる方向に移動できなかった場合、自ノードの移動方向を１８０度反転し、上記２つの他のノードと自ノードとで形成される円弧の曲率が最大となる方向を移動方向とする移動制御を行う、という構成を採る。
【００９６】
また、上述したノード装置は、コンピュータに、プログラムが組み込まれることで実現できる。具体的には、本発明の他の形態であるプログラムは、通信手段と移動手段とを備えたノード装置を構成するコンピュータを、上記移動手段を用いて移動しながら上記通信手段による通信が可能な近隣の他のノードを探索して、この探索した他のノードと所定の条件を満たす間隔を保って結合することにより、２以上のノードから構成されるクラスタを生成し、さらに、結合したノード同士の結合状態を維持したまま、上記移動手段を用いて移動しながら上記通信手段による通信が可能な更に別の近隣の他のノードを探索して、この探索した他のノードと上記所定の条件を満たす間隔を保って結合する制御を行う制御手段、として機能させる。
【００９７】
上述した構成を有する、ネットワークシステム構築方法、ノード装置、又は、プログラム、の発明であっても、上記ネットワークシステムと同様の作用を有するため、上述した本発明の目的を達成することができる。
【００９８】
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【００９９】
なお、本発明は、日本国にて２００８年１１月１４日に特許出願された特願２００８−２９１７３６の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【符号の説明】
【０１００】
１０…センサノード
１１…センサ機能部
１２…無線通信機能部
１３…移動機能部
１４…記憶部
１５…制御部
【図１】
0005392265.tif 000002
【図２】
0005392265.tif 000003
【図３】
0005392265.tif 000004
【図４】
0005392265.tif 000005
【図５】
0005392265.tif 000006
【図６】
0005392265.tif 000007
【図７】
0005392265.tif 000008
【図８】
0005392265.tif 000009
【図９】
0005392265.tif 000010
【図１０】
0005392265.tif 000011
【図１１】
0005392265.tif 000012
【図１２】
0005392265.tif 000013
【図１３】
0005392265.tif 000014
【図１４】
0005392265.tif 000015