(57)【特許請求の範囲】
【請求項１】
無線通信により互いに接続される複数の通信端末を備え、
前記複数の通信端末間では、信号を送受信する互いの接続先が規定されており、
前記複数の通信端末は、親機と、該親機を最上位として接続されてツリー型のネットワークを構成し、電池駆動される複数の子機とを含み、
前記親機は、前記子機の電池残量に基づいて新たな接続先を決定して、接続先を更新する更新処理を行うように構成され、
前記更新処理においては、新たな接続先となる候補の子機の中から電池残量が多い子機が新たな接続先に決定され、新たな接続先が電池残量で決まらない場合には前記候補の子機のうち下位に包含する子機の総数が少ない子機が新たな接続先に決定されることを特徴とする無線通信システム。
【請求項２】
無線通信により互いに接続される複数の通信端末を備え、
前記複数の通信端末間では、信号を送受信する互いの接続先が規定されており、
前記複数の通信端末の少なくとも一部は、電池駆動されており、
前記複数の通信端末は、接続先を更新する更新処理を行うように構成され、
前記更新処理においては、電池駆動される前記通信端末の電池残量に基づいて新たな接続先が決定され、
前記複数の通信端末は、親機と、該親機を最上位として接続されてツリー型のネットワークを構成する複数の中継機と、該中継機に接続されて所定の物理量を検出するセンサとを含み、
前記中継機及び前記センサは、電池駆動されており、
一の前記中継機に複数の前記センサが接続される場合には、複数の該センサは、該中継機と順番に信号の送受信を行い、該信号の送受信が完了するとスリープ状態となるように構成され、
前記更新処理では、前記センサの接続先を更新することによって、電池残量が所定の基準よりも少ない前記センサが接続される前記中継機に接続される前記センサの総数が更新前よりも低減されることを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示された技術は、無線通信システムに関する。
【背景技術】
【０００２】
従来より、複数の通信端末を備えた無線通信システムが知られている。特許文献１に記載の無線通信システムは、無線通信により互いに接続される複数の通信端末を備えている。これらの通信端末間では互いの接続先が規定されている。例えば、複数の通信端末は、ルーティングテーブルに基づいて信号を送信する。ルーティングテーブルは、通信端末の互いの接続先に基づいて作成され、最終的な送信先とそこへ到達するまでの中継先とが規定されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２５２１６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、各通信端末間の通信環境は、一定ではなく、変化し得る。そこで、通信環境の変化に応じて、通信端末の接続先を更新することも考えられる。しかし、通信環境の良し悪しには偏りが存在する場合もあるので、通信環境のみに基づいて通信端末の接続先を更新すると、複数の通信端末の間で接続先として利用される頻度に偏りが生じ、通信端末の電池寿命にも偏りが生じてしまう。
【０００５】
ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的とするところは、無線通信システム全体での電池寿命の偏りを低減することにある。
【課題を解決するための手段】
【０００６】
ここに開示された無線通信システムは、無線通信により互いに接続される複数の通信端末を備え、前記複数の通信端末間では、信号を送受信する互いの接続先が規定されており、前記複数の通信端末の少なくとも一部は、電池駆動されており、前記複数の通信端末は、接続先を更新する更新処理を行うように構成され、前記更新処理においては、電池駆動される前記通信端末の電池残量に基づいて新たな接続先が決定されるものとする。
【発明の効果】
【０００７】
ここに開示された無線通信システムによれば、無線通信システム全体での電池寿命の偏りを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、無線通信システムの概略図である。
【図２】図２は、データステーションのブロック図である。
【図３】図３は、中継機のブロック図である。
【図４】図４は、センサのブロック図である。
【図５】図５は、ツリーテーブルを示す図である。
【図６】図６は、ルーティングテーブルを示す図である。
【図７】図７は、センサテーブルを示す図である。
【図８】図８は、通信スケジュールを示す図である。
【図９】図９は、スキャン処理を示すフローチャートである。
【図１０】図１０は、更新処理を示すフローチャートである。
【図１１】図１１は、接続先の決定のサブルーチンのフローチャートである。
【図１２】図１２は、更新後のツリーテーブルを示す図である。
【図１３】図１３は、更新後のセンサテーブルを示す図である。
【図１４】図１４は、更新後のルーティングテーブルを示す図である。
【発明を実施するための形態】
【０００９】
以下、例示的な実施形態を図面に基づいて詳細に説明する。
【００１０】
図１は、無線通信システム１００の概略図である。無線通信システム１００は、データステーション１０と、複数の中継機２０と、複数のセンサ３０とを有している。データステーション１０、中継機２０、センサ３０は、通信端末であり、互いに無線通信を行い、自律的にネットワークを構築する。無線通信システム１００においては、マルチホップ無線ネットワークが形成される。データステーション１０は、親機として機能し、中継機２０及びセンサ３０は、子機として機能する。基本的には、データステーション１０は、中継機２０と通信を行い、センサ３０は、中継機２０と通信を行う。センサ３０の個数は、中継機２０に比べて多い。データステーション１０及び中継機２０は、データステーション１０を頂点（最上位）とするツリー型のネットワークトポロジを有している。本明細書では、ネットワークにおいてデータステーション１０側を上流側又は上位とし、ツリーの末端側を下流側又は下位とする。また、データステーション１０、中継機２０、センサ３０を区別しない場合には、単に通信端末と称する場合がある。また、各中継機２０を区別する場合には、符号「２０」の後にアルファベットを付して区別する。同様に、各センサ３０を区別する場合には、符号「３０」の後にアルファベットを付して区別する。
【００１１】
無線通信システム１００においては、センサ３０が対象物の所定の物理量を検出し、その検出値、即ち、検出データが中継機２０を介してデータステーション１０に収集される。本開示における例では、無線通信システム１００は、蒸気システムを有する工場内に設置されている。蒸気システムは、複数のスチームトラップＴ（図１では１つだけ図示）を有している。対象物は、スチームトラップＴである。センサ３０は、スチームトラップＴの振動数及び温度を検出する。
【００１２】
〈データステーションの構成〉
図２は、データステーション１０のブロック図である。データステーション１０は、無線通信システム１００の通信経路の確立やセンサ３０の検出値の収集及び管理を行う。また、データステーション１０は、図示を省略するが、外部ネットワーク等を介して上位のサーバ９０に接続される。データステーション１０は、必要に応じて、センサ３０の検出値をサーバ９０に転送する。
【００１３】
データステーション１０は、ＣＰＵ１１と、メモリ１２と、記憶部１３と、無線通信回路１４と、計時回路１５と、上位インターフェース部１６と、電源回路１７とを有している。
【００１４】
記憶部１３には、各種プログラム及び各種情報が記憶されている。ＣＰＵ１１は、記憶部１３から各種プログラムを読み込み、実行することにより、様々な処理を行う。例えば、記憶部１３には、ネットワークの通信経路を形成するためのプログラム、センサ３０の検出値を収集するためのプログラム、ネットワークのツリー構造を規定するツリーテーブル、各センサ３０がどの中継機２０に接続されているかを規定したセンサテーブル、最終送信先へのルートを規定するルーティングテーブル、ツリーテーブルからルーティングテーブルを作成するためのプログラム、中継機２０と通信を行うスケジュールを規定したスケジュール情報、及び、収集した検出値等が記憶されている。
【００１５】
無線通信回路１４は、中継機２０等の他の通信端末と無線通信を行う。無線通信回路１４は、ＣＰＵ１１の制御によって動作し、各種信号を符号化・変調等の処理により無線信号に変換し、アンテナを介して送信する。また、無線通信回路１４は、アンテナを介して受信した信号を復調・複合化等の処理により適切な信号に変換する。さらに、無線通信回路１４は、受信した信号に基づいて受信信号強度（ＲＳＳＩ：Received Signal Strength Indicator）を計測する。
【００１６】
計時回路１５は、所定のクロックを発生し、データステーション１０の基準となる時刻を計時する。上位インターフェース部１６は、サーバ９０との間のインターフェース処理を行う。電源回路１７は、外部電源（図示省略）が接続されており、データステーション１０の各要素に電力を供給する。
【００１７】
〈中継機の構成〉
図３は、中継機２０のブロック図である。中継機２０は、データステーション１０の指令に応じて、センサ３０の検出値をデータステーション１０へ送信する。
【００１８】
中継機２０は、ＣＰＵ２１と、メモリ２２と、記憶部２３と、無線通信回路２４と、計時回路２５と、電源回路２６と、電池２７とを有している。
【００１９】
記憶部２３には、各種プログラム及び各種情報が記憶されている。ＣＰＵ２１は、記憶部２３から各種プログラムを読み込み、実行することにより、様々な処理を行う。例えば、記憶部２３には、ネットワークの通信経路を形成するためのプログラム、センサ３０の検出値を中継するためのプログラム、ツリーテーブル、ルーティングテーブル、ツリーテーブルからルーティングテーブルを作成するためのプログラム、繋がっているセンサ３０を特定するセンサ接続情報及び、センサ３０から取得した検出値等が記憶されている。
【００２０】
また、記憶部２３には、電池２７の残量を推定するためのプログラムも記憶されている。ＣＰＵ２１は、該プログラムを実行することによって、各種処理に応じた消費電力を積算し、電池２７の残量を推定する。
【００２１】
無線通信回路２４は、他の通信端末と無線通信を行う。無線通信回路２４は、ＣＰＵ２１の制御によって動作し、各種信号を符号化・変調等の処理により無線信号に変換し、アンテナを介して送信する。また、無線通信回路２４は、アンテナを介して受信した信号を復調・複合化等の処理により適切な信号に変換する。さらに、無線通信回路２４は、受信した信号に基づいて受信信号強度を計測する。
【００２２】
計時回路２５は、所定のクロックを発生し、中継機２０の基準となる時刻を計時する。電源回路２６には、電池２７が接続されている。電源回路２６は、中継機２０の各要素に電力を供給する。
【００２３】
中継機２０は、他の通信端末との信号の送受信等の様々な処理を実行できるアクティブ状態と、信号の送受信等の処理が実行できないが、アクティブ状態に比べて消費電力が抑制されたスリープ状態とを切り替え可能に構成されている。中継機２０がアクティブ状態からスリープ状態となる際には、ＣＰＵ２１は、アクティブ状態になるべき時刻を計時回路２５に設定し、非アクティブ状態となる。スリープ状態においては、計時回路２５は、計時を継続する。設定された時刻になると、計時回路２５は、ＣＰＵ２１に時刻の到来を通知し、この通知を受けたＣＰＵ２１は、非アクティブ状態からアクティブ状態となる。こうして、中継機２０は、スリープ状態からアクティブ状態となる。
【００２４】
〈センサの構成〉
図４は、センサ３０のブロック図である。センサ３０は、スチームトラップＴの振動数及び温度を検出し、その検出値を対応する中継機２０に送信する。センサ３０は、対象物の所定の物理量を検出するセンサ部４０と、センサ部４０の検出値を他の通信端末に送信する処理部５０とを有している。
【００２５】
センサ部４０は、振動センサ及び温度センサを含んでおり、スチームトラップＴの振動数及び温度を検出する。センサ部４０は、スチームトラップＴのケーシング（例えば、蒸気及びドレンが流入する流入部）に接触するように設置され、接触した部分の振動数及び温度を検出する。センサ部４０は、検出した振動数及び温度に対応する電気信号を処理部５０に出力する。
【００２６】
処理部５０は、ＣＰＵ５１と、メモリ５２と、記憶部５３と、無線通信回路５４と、計時回路５５と、センサインターフェース部５６と、電源回路５７と、電池５８とを有している。
【００２７】
記憶部５３には、各種プログラム及び各種情報が記憶されている。ＣＰＵ５１は、記憶部５３から各種プログラムを読み込み、実行することにより、様々な処理を行う。例えば、記憶部５３には、ネットワークの通信経路を形成するためのプログラム、センサ部４０から振動数及び温度を取得し、検出値として中継機２０に送信するためのプログラム、繋がっている中継機２０を特定する中継機接続情報、及び、検出値等が記憶されている。
【００２８】
また、記憶部５３には、電池５８の残量を推定するためのプログラムも記憶されている。ＣＰＵ５１は、該プログラムを実行することによって、各種処理に応じた消費電力を積算し、電池５８の残量を推定する。
【００２９】
無線通信回路５４は、他の通信端末と無線通信を行う。無線通信回路５４は、ＣＰＵ５１の制御によって動作し、各種信号を符号化・変調等の処理により無線信号に変換し、アンテナを介して送信する。また、無線通信回路５４は、アンテナを介して受信した信号を復調・複合化等の処理により適切な信号に変換する。さらに、無線通信回路５４は、受信した信号に基づいて受信信号強度を計測する。
【００３０】
計時回路５５は、所定のクロックを発生し、センサ３０の基準となる時刻を計時する。センサインターフェース部５６は、センサ部４０との間のインターフェース処理を行う。電源回路５７には、電池５８が接続されている。電源回路５７は、センサ３０の各要素に電力を供給する。
【００３１】
センサ３０は、中継機２０と同様に、他の通信端末との信号の送受信等の様々な処理を実行できるアクティブ状態と、信号の送受信等の処理が実行できないが、アクティブ状態に比べて消費電力が抑制されたスリープ状態とを切り替え可能に構成されている。
【００３２】
〈通信端末の接続関係〉
無線通信システム１００では、各通信端末の接続先が定められており、その接続関係に基づいて信号の伝搬が行われる。無線通信システム１００は、データステーション１０、中継機２０及びセンサ３０の接続関係として、ツリーテーブル、ルーティングテーブル、センサテーブル、センサ接続情報及び中継機接続情報を保持している。
【００３３】
ツリーテーブルは、無線通信システム１００のツリー構造を規定するテーブルであり、各中継機２０の上位の通信端末を規定している。ツリーテーブルは、無線通信システム１００で１つ作成され、データステーション１０及び全ての中継機２０は、共通のツリーテーブルを保持している。図５は、図１の無線通信システム１００に対応するツリーテーブルである。ツリーテーブルの上欄には、対象となる中継機２０が記載され、下欄には、各中継機２０が接続される上位側の通信端末（データステーション１０又は中継機２０）が規定されている。
【００３４】
ルーティングテーブルは、或る通信端末から全ての到達可能な最終送信先の通信端末と或る通信端末から該最終送信先までの通信経路における次の（１ホップ先の）通信端末との対応関係、即ち、最終送信先までの通信経路における或る通信端末から１ホップだけ下位の通信端末を規定している。ルーティングテーブルは、ツリーテーブルに基づいて作成される。データステーション１０及び各中継機２０がそれぞれに固有のルーティングテーブルを保持している。図６は、図１の無線通信システム１００における中継機２０ａのルーティングテーブルである。ルーティングテーブルの上欄には、対象となる最終送信先が記載され、下欄には、中継機２０ａを起点とする場合の１ホップ先の中継機２０が規定されている。中継機２０ａからは、中継機２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０ｆ，２０ｇ，２０ｈ，２０ｉに到達可能であるので、それらの中継機２０までの通信経路上の中継機２０ａから１ホップだけ下位の中継機２０がそれぞれ規定されている。中継機２０ｊ，２０ｋは、中継機２０ａからは到達できないので、中継機２０ａのルーティングテーブルにおいては、最終送信先を中継機２０ｊ，２０ｋとした場合の１ホップ先の中継機２０は規定されていない。
【００３５】
センサテーブルは、センサ３０と中継機２０との接続関係（即ち、各センサ３０がどの中継機２０に接続されているか）を規定している。センサテーブルは、無線通信システム１００で１つ作成され、データステーション１０が保持している。図７は、図１の無線通信システム１００に対応するセンサテーブルである。センサテーブルの上欄には、対象となるセンサ３０が記載され、下欄には、各センサ３０が接続される中継機２０が規定されている。
【００３６】
センサ接続情報は、中継機２０がそれぞれ保持する情報であって、各中継機２０に接続されたセンサ３０を特定する情報（例えば、センサ３０の通信アドレス）である。
【００３７】
中継機接続情報は、センサ３０のそれぞれが保持する情報であって、各センサ３０が接続される中継機２０を特定する情報(例えば、中継機２０の通信アドレス)である。
【００３８】
無線通信システム１００では、これらの接続関係を用いて信号の伝搬が行われる。
【００３９】
まず、信号がデータステーション１０からダウンリンク方向に送信される場合について説明する。例えば、データステーション１０がセンサ３０ｇへ信号を送信する場合、データステーション１０は、センサテーブルに基づいて、センサ３０ｇが繋がっている中継機２０ｈを割り出す。そして、データステーション１０は、自身のルーティングテーブルに基づいて、最終送信先が中継機２０ｈである場合の１ホップ先の中継機２０が中継機２０ａであることを割り出す。データステーション１０は、最終送信先に中継機２０ｈを設定し、１ホップ先の送信先に中継機２０ａを設定した信号を送信する。以下、この信号を受信した各中継機２０は、自身のルーティングテーブルに基づいて、１ホップ先の中継機２０を変更し、該信号を中継機２０ｈまで伝搬する。具体的には、中継機２０ａは、中継機２０ｄを１ホップ先の送信先に設定して、該信号を転送する。該信号を受信した中継機２０ｄは、中継機２０ｇを１ホップ先の送信先に設定して、該信号を転送する。該信号を受信した中継機２０ｇは、中継機２０ｈを１ホップ先の送信先に設定して、該信号を転送する。最終送信先である中継機２０ｈは、該信号を受信すると、自身のセンサ接続情報に基づいて、最終送信先及び１ホップ先の送信先の両方をセンサ３０ｇに設定し、該信号を送信する。こうして、該信号は、最終的にセンサ３０ｇによって受信される。
【００４０】
次に、信号がデータステーション１０へアップリンク方向に送信される場合について説明する。例えば、センサ３０ｇがデータステーション１０へ信号を送信する場合、センサ３０ｇは、自身の中継機接続情報に基づいて、最終送信先及び１ホップ先の送信先の両方を中継機２０ｈに設定した信号を送信する。該信号は、中継機２０ｈによって受信される。中継機２０ｈは、ツリーテーブルに基づいて、１ホップだけ上位の中継機２０が中継機２０ｇであることを割り出す。中継機２０ｈは、最終送信先にデータステーション１０を設定し、１ホップ先の送信先に中継機２０ｇを設定した信号を送信する。以下、この信号を受信した各中継機２０は、ツリーテーブルに基づいて、１ホップ先の中継機２０を変更し、該信号をデータステーション１０まで伝搬する。具体的には、中継機２０ｇは、１ホップ先の送信先に中継機２０ｄを設定して、該信号を転送する。中継機２０ｄは、１ホップ先の送信先に中継機２０ａを設定して、該信号を転送する。中継機２０ａは、１ホップ先の送信先にデータステーション１０を設定して、該信号を転送する。こうして、該信号は、最終的にデータステーション１０によって受信される。
【００４１】
このようにデータステーション１０、中継機２０及びセンサ３０は、通信端末の接続関係（ツリーテーブル、ルーティングテーブル、ツリーテーブル、センサ接続情報及び中継機接続情報）に基づいて信号を送信する。
【００４２】
〈通信スケジュール〉
このように構成された無線通信システム１００は、通常の運転動作として、センサ３０の検出値をデータステーション１０に収集する収集処理を行う。データステーション１０は、図８に示す通信スケジュールに従って各中継機２０と通信を行い、各中継機２０に対応する、即ち、繋がっているセンサ３０の検出値を収集する。
【００４３】
図８の通信スケジュールは、収集処理の１サイクルを示しており、図８の通信スケジュールが繰り返し実行される。通信スケジュールは、複数のタイムスロットに分割されている。各中継機２０には、特定のタイムスロットが割り当てられている。各中継機２０は、対応するタイムスロットにおいてデータステーション１０と通信を行い、該中継機２０に繋がったセンサ３０からの検出値をデータステーション１０に送信する（以下、この処理を「返信処理」ともいう）。基本的には、各中継機２０は、割り当てられた特定のタイムスロット（以下、「特定スロット」とも称する）においてアクティブ状態となり、特定スロット以外のときはスリープ状態となる。ただし、他の中継機２０とデータステーション１０との通信経路上に存在する中継機２０は、下位の中継機２０がデータステーション１０と通信する場合に中継処理を行う必要があるため、下位の中継機２０に割り当てられたタイムスロット（以下、「中継スロット」とも称する）においてもアクティブ状態となって中継処理を実行する。また、センサ３０は、繋がっている中継機２０の特定スロットにおいて該中継機２０へ検出値を送信するので、該中継機２０の特定スロットにおいてアクティブ状態となっている。センサ３０は、中継機２０へ検出値を送信する必要がないときには、基本的にはスリープ状態となっている。
【００４４】
図８の通信スケジュールでは、タイムスロットがマトリックス状に規定されている。基本的には、ツリー構造の通信経路の階層に従ってタイムスロットが割り当てられている。詳しくは、列ごとにツリー構造の階層が割り当てられる。例えば、列Ｌ０には、データステーション１０が割り当てられ、列Ｌ１には、第１階層（即ち、ホップ数が１）が割り当てられ、列Ｌ２には、第２階層（即ち、ホップ数が２）が割り当てられる。第３階層以降についても同様である。
【００４５】
通常、各中継機２０には、何れか１つのタイムスロットが割り当てられる。第１階層の中継機２０ａ，２０ｊには、列Ｌ１のタイムスロットが割り当てられる。第２階層の中継機２０ｂ，２０ｃ，２０ｄ，２０ｋには、列Ｌ２のタイムスロットが割り当てられる。第３階層の中継機２０ｅ，２０ｆ，２０ｇには、列Ｌ３のタイムスロットが割り当てられる。第４階層の中継機２０ｈ，２０ｉには、列Ｌ４のタイムスロットが割り当てられる。一方、データステーション１０は、中継機２０に比べて処理内容が多いので、１つのタイムスロットではなく、複数のタイムスロット（図８では、列Ｌ０の全てのタイムスロット）がデータステーション１０に割り当てられる。尚、列に含まれるタイムスロットの数と各階層に含まれる中継機２０の数は異なる（通常、列に含まれるタイムスロットの数の方が多い）ので、列に含まれるタイムスロットには、中継機が割り当てられていないものも存在する。
【００４６】
また、前述の如く、或る中継機２０の特定スロットにおいては、該中継機２０に繋がるセンサ３０もアクティブ状態となるので、実質的に、各センサ３０にも特定のタイムスロットが割り当てられていることになる。ただし、中継機２０には複数のセンサ３０が繋がり得るので、そのような場合には、該中継機２０の特定スロットには、複数のセンサ３０が割り当てられていることになる。例えば、図８の例では、列Ｌ３、行Ｎ１のタイムスロットには中継機２０ｅが割り当てられている。中継機２０ｅには２つのセンサ３０が繋がっているので（図１参照）、列Ｌ３、行Ｎ１のタイムスロットには実質的に該２つのセンサ３０が割り当てられていることになる。
【００４７】
通信スケジュールでは、タイムスロットの処理は、列方向に進んでいく。例えば、或る列（例えば、列Ｌ１）において、行番号に関して昇順（即ち、行Ｎ１からＮｍの順）にタイムスロットの処理が進んでいき、当該行の最後の行番号（行Ｎｍ）のタイムスロットの処理が終了すると、次の列（例えば、列Ｌ２）の最初の行番号（行Ｎ１）のタイムスロットから同様の順序で処理が進められていく。
【００４８】
〈接続関係の確定及びタイムスロットの割り当て〉
データステーション１０は、ネットワークの通信経路を確立する際に、通信端末の接続関係を確定すると共に、タイムスロットの割り当てを行って通信スケジュールを完成させる。
【００４９】
例えば、データステーション１０は、どの通信端末同士が繋がるか、即ち、データステーション１０、中継機２０及びセンサ３０の接続関係を確定させ、ツリーテーブル及びセンサテーブルを作成する。さらに、データステーション１０は、ツリーテーブルに基づいてルーティングテーブルを作成する。こうして、接続関係が確定されると、データステーション１０は、各中継機２０にタイムスロットを割り当て、通信スケジュールを完成させる。データステーション１０は、ツリーテーブル、センサテーブル、ルーティングテーブル及び通信スケジュール（即ち、中継機２０へのタイムスロットの割り当て）を記憶部１３に保存する。
【００５０】
データステーション１０は、タイムスロットの割り当てが完了すると、各中継機２０にツリーテーブル及び特定スロットのスロット番号を通知する。このとき、下位の中継機２０の中継処理を行う必要がある中継機２０には、それ自身の特定スロットのスロット番号に加えて、下位の中継機２０の特定スロット、即ち、中継スロットのスロット番号も通知される。また、データステーション１０は、センサテーブルに基づいて、各中継機２０にセンサ接続情報を、各センサ３０に中継機接続情報を通知する。
【００５１】
各中継機２０は、ツリーテーブルに基づいてルーティングテーブルを作成する。また、中継機２０は、繋がっているセンサ３０に該中継機２０の特定スロットのスロット番号を通知する。中継機２０は、特定スロット及び中継スロットのスロット番号、ツリーテーブル、ルーティングテーブル及びセンサ接続情報を記憶部２３に保存する。
【００５２】
センサ３０は、繋がっている中継機２０の特定スロットのスロット番号及び中継機接続情報を記憶部５３に保存する。
【００５３】
〈システムの動作〉
−収集処理−
収集処理においては、データステーション１０は、通信スケジュールに従って処理を進める。具体的には、データステーション１０は、それ自身に割り当てられたタイムスロットにおいて、データステーション１０に必要な処理を行う。続いて、データステーション１０は、タイムスロットの順番で、タイムスロットに割り当てられた中継機２０と順次、通信を行う。このとき、データステーション１０から各中継機２０に送られる信号には、少なくとも、センサ３０の検出値の返信を要求するリクエスト信号が含まれている。
【００５４】
一方、中継機２０は、通信スケジュールに従って、特定スロットのタイミングでアクティブ状態となって、データステーション１０からのリクエスト信号を待機する。また、中継機２０は、特定スロットに応じて、該中継機２０に繋がっているセンサ３０から検出値を取得する。中継機２０は、リクエスト信号を受信すると、センサ３０からの検出値をリクエスト信号に対する応答としてデータステーション１０へ返信する。また、中継機２０は、中継スロットでもアクティブ状態となって、データステーション１０と下位の中継機２０との間の中継処理を行う。
【００５５】
センサ３０は、接続される中継機２０の特定スロットに応じてアクティブ状態となって検出値を該中継機２０に送信する。一の中継機２０に複数のセンサ３０が接続されている場合には、一の中継機２０の特定スロットの少なくとも開始時点において、該複数のセンサ３０の全てがアクティブ状態となっている。複数のセンサ３０は、順番に、中継機２０からリクエスト信号を受け取り、検出値を中継機２０へ送信する。複数のセンサ３０は、中継機２０への検出値の送信が完了した順にスリープ状態となる。
【００５６】
このように、収集処理の基本的な処理においては、データステーション１０は、通信スケジュールに従って各特定スロットにおいて該特定スロットに対応するセンサ３０の検出値を収集することによって、全てのセンサ３０の検出値を収集する。
【００５７】
−接続先の更新−
前述の如く、無線通信システム１００では、通信端末の接続関係が定められており、この接続関係に基づいて信号の伝搬が行われる。ところで、中継機２０及びセンサ３０の間では、動作頻度のバラツキやアクティブ状態となっている時間のバラツキ等があるので、中継機２０及びセンサ３０の電池寿命にも偏りが生じてしまう。そこで、データステーション１０は、中継機２０及びセンサ３０の接続先を電池寿命が平滑化されるように更新する。以下、中継機２０及びセンサ３０の接続先の更新処理について詳細に説明する。
【００５８】
まず、中継機２０及びセンサ３０は、その周囲の通信状態をスキャンするスキャン処理を実行する。図９にスキャン処理のフローチャートを示す。
【００５９】
具体的には、データステーション１０は、ステップＳａ１において、所定のスキャン条件が成立したか否かを判定する。例えば、スキャン条件は、所定のスキャン周期が到来することである。スキャン周期は、例えば、６時間である。
【００６０】
尚、スキャン条件は、それ以外の条件であってもよい。スキャン条件は、パケットエラーレート（ＰＥＲ：Packet Error Rate）が所定の判定レートを上回った場合、又は、受信信号強度が所定の判定強度を下回った場合であってもよい。つまり、前述の収集処理時にはパケットエラーレート及び受信信号強度が計測されている。収集処理においては、データステーション１０は、タイムスロットに従って、対応する中継機２０から検出値を収集するが、対応する中継機２０から検出値が返ってこない場合もある。データステーション１０は、（検出値の返信が無かった回数）／（検出値の返信を要求した回数）をＰＥＲとして、収集処理中に中継機２０ごとのＰＥＲを測定している。また、各中継機２０は、収集処理時に自身の特定スロットにおいて検出値の返信処理を行う際に、上位の通信端末（中継機２０）及び下位の通信端末（センサ３０）と信号を送受信する際にその受信信号強度を計測し、その測定結果をセンサ３０の検出値と併せてデータステーション１０に返信している。こうして、データステーション１０は、収集処理中に、センサ３０の検出値だけでなく、各中継機２０の、上位及び下位の通信端末との間の受信信号強度も収集している。データステーション１０は、こうして収集されたＰＥＲが判定レートを上回った場合又は、受信信号強度が判定強度を下回った場合に、スキャン条件が成立したと判定してもよい。
【００６１】
スキャン条件が成立していない場合には、データステーション１０は、ステップＳａ１を繰り返して、スキャン条件の成立を待機する。スキャン条件が成立している場合には、データステーション１０は、ステップＳａ２へ進む。
【００６２】
ステップＳａ２では、データステーション１０は、全ての中継機２０及びセンサ３０にスキャン信号を送信する。データステーション１０は、収集処理と並行してスキャン信号を送信する。具体的には、データステーション１０は、各タイムスロットにおいて対応する中継機２０に検出値のリクエスト信号と共にスキャン信号も送信する。
【００６３】
尚、スキャン条件がＰＥＲ又は受信信号強度に関するものである場合には、ＰＥＲ又は受信信号強度が悪化した中継機２０又はセンサ３０だけにスキャン信号を送信してもよい。
【００６４】
スキャン信号を受信した中継機２０及びセンサ３０は、スキャン動作を実行する。詳しくは、中継機２０は、特定スロットだけでなく、それ以外のタイムスロットにおいてもアクティブ状態となり、他の通信端末からの信号を待機する。通常、中継機２０が特定スロットにおいて行う処理に同期信号の送信がある。中継機２０は、特定スロットにおいて同期信号をブロードキャストし、該同期信号を受信した他の中継機２０又はセンサ３０と同期を行う。スキャン動作を行う中継機２０は、自身の特定スロット以外のタイムスロットにおいて、他の通信端末（データステーション１０及び中継機２０）からの同期信号を待機する。中継機２０は、同期信号を受信できた場合には、その受信信号強度を計測する。中継機２０は、この処理を通信スケジュールの１サイクルの間行うことによって、特定スロット以外の全てのタイムスロットにおける同期信号の受信の可否（即ち、通信の可否）と受信信号強度とを取得する。中継機２０は、タイムスロットのスロット番号と、同期信号の受信の可否と、同期信号の受信信号強度とを関連づけたデータをスキャンデータとして記憶部２３に保存する。
【００６５】
さらに詳しくは、各中継機２０が同期信号を送信するタイミングは、各特定スロット内で決まっている。つまり、中継機２０は、特定スロットにおける所定のタイミング（例えば、特定スロットの終盤）で同期信号を送信する。そこで、スキャン動作を行う中継機２０は、自身の特定スロット以外のタイムスロットにおいて、同期信号が送信されるタイミングを含む一部の期間だけアクティブ状態となって同期信号を待機し、該一部の期間以外はスリープ状態となる。これにより、スキャン動作における消費電力を低減することができる。
【００６６】
センサ３０も、中継機２０と同様のスキャン動作を行う。センサ３０は、繋がっている中継機２０の特定スロット以外のタイムスロットにおいて、同期信号が送信されるタイミングを含む一部の期間だけアクティブ状態となり、同期信号を待機する。センサ３０は、同期信号を受信できた場合には、その受信信号強度を計測する。タイムスロットにおける該一部の期間以外は、センサ３０は、スリープ状態となる。センサ３０は、この処理を通信スケジュールの１サイクルの間行う。センサ３０は、繋がっている中継機２０の特定スロットにおいても同期信号の受信の可否を判定し且つ同期信号の受信信号強度を計測する。こうして、センサ３０は、全てのタイムスロットにおける同期信号の受信の可否と受信信号強度とを取得する。センサ３０は、タイムスロットのスロット番号と、同期信号の受信の可否と、同期信号の受信信号強度とを関連づけたデータをスキャンデータとして記憶部５３に保存する。
【００６７】
続いて、データステーション１０は、ステップＳａ３において、中継機２０及びセンサ３０にスキャンデータの返信信号を送信する。データステーション１０は、ステップＳａ２でスキャン信号を送信してから通信スケジュールの１サイクルが経過した後に、全ての中継機２０及びセンサ３０へ返信信号をタイムスロットに従って順次送信する。尚、データステーション１０は、ステップＳａ２において特定の中継機２０又はセンサ３０だけにスキャン信号を送信していた場合には、スキャン信号を送信した中継機２０又はセンサ３０だけに返信信号を送信する。
【００６８】
返信信号を受信した中継機２０及びセンサ３０は、例えば、スキャンデータのうち受信信号強度が高い上位５個のタイムスロットに関するスキャンデータをデータステーション１０へ返信する。尚、中継機２０及びセンサ３０は、全てのスキャンデータをデータステーション１０へ返信してもよい。データステーション１０は、スキャンデータを受信すると、スキャンデータを記憶部１３に保存する。
【００６９】
スキャンデータを受け取ったデータステーション１０は、スキャンデータを記憶部１３に保存する（ステップＳａ４）。
【００７０】
データステーション１０は、以上の処理を繰り返すことによって、中継機２０及びセンサ３０のスキャンデータを蓄積していく。
【００７１】
続いて、データステーション１０は、中継機２０又はセンサ３０の接続先を更新する更新処理を実行する。図１０に更新処理のフローチャートを示す。
【００７２】
具体的には、データステーション１０は、ステップＳｂ１において、所定の更新条件が成立したか否かを判定する。例えば、更新条件は、所定の更新周期が到来することである。更新周期は、例えば、１日であり、スキャン周期以上の長さである。
【００７３】
尚、更新条件は、それ以外の条件であってもよい。更新条件は、何れかの中継機２０及びセンサ３０の電池残量が所定の判定残量を下回ることであってもよい。つまり、前述の収集処理時には、中継機２０及びセンサ３０において、電池残量が推定されている。収集処理時に、各中継機２０は、センサ３０から電池残量を受け取り、中継機２０自身の電池残量及びセンサ３０の電池残量を、センサ３０の検出値と併せてデータステーション１０に返信している。こうして、データステーション１０は、収集処理中に、センサ３０の検出値だけでなく、各中継機２０及びセンサ３０の電池残量も収集している。データステーション１０は、複数の中継機２０及びセンサ３０の少なくとも１つの電池残量が判定残量を下回った場合に、更新条件が成立したと判定する。あるいは、更新条件は、全ての中継機２０の間での電池残量のバラツキ（例えば、最大値と最小値の差、分散若しくは標準偏差）、又は、全てのセンサ３０の間での電池残量のバラツキ（例えば、最大値と最小値との差、分散若しくは標準偏差）が所定の判定閾値を上回ることであってもよい。データステーション１０は、収集処理中に収集した各中継機２０及びセンサ３０の電池残量に基づいて、中継機２０の間での電池残量のバラツキ又はセンサ３０の間での電池残量のバラツキを求め、求めたバラツキが判定閾値を上回った場合に、更新条件が成立したと判定する。
【００７４】
更新条件が成立していない場合には、データステーション１０は、ステップＳｂ１を繰り返して、更新条件の成立を待機する。更新条件が成立している場合には、データステーション１０は、ステップＳｂ２へ進む。
【００７５】
ステップＳｂ２では、データステーション１０は、中継機２０及びセンサ３０の電池残量を考慮して、中継機２０及びセンサ３０の新たな接続先を決定する。ここで、「新たな接続先」とは、上位側の新たな接続先を意味し、即ち、互いに接続される或る２つの通信端末において上位側となる通信端末を意味する。
【００７６】
図１１は、接続先の決定のサブルーチンのフローチャートである。データステーション１０は、まず、センサ３０の接続先を決定し、続いて、中継機２０の接続先を決定する。
【００７７】
データステーション１０は、ステップＳｃ１においては、所定の基準よりも電池残量が少ないセンサ３０を抽出する。具体的には、データステーション１０は、全てのセンサ３０の中から電池残量が少ない下位から所定割合（例えば、１０％）のセンサ３０を接続先を更新する対象のセンサ３０として抽出する。データステーション１０は、記憶部１３に保存されたセンサ３０の最新の電池残量に基づいて、更新対象のセンサ３０を抽出する。
【００７８】
尚、ここでは、「電池残量が少ない下位から所定割合」が所定の基準として設定されている。ただし、所定の基準は、任意に設定することができ、固定値であっても、変動値であってもよい。例えば、変動値の所定の基準としては、全センサ３０の電池残量の平均値に所定割合（例えば、７０％）を乗じた値であってもよい。つまり、平均値の７０％未満の電池残量のセンサ３０が抽出される。
【００７９】
そして、ステップＳｃ２において、データステーション１０は、抽出されたセンサ３０のそれぞれについて新たな接続先となる候補の中継機２０を抽出する。例えば、データステーション１０は、各センサ３０との通信状態に基づいて、候補の中継機２０を抽出する。データステーション１０は、スキャンデータに基づいて通信状態を判定し得る。スキャンデータは、前述の如く、スロット番号と、同期信号の受信の可否と、同期信号の受信信号強度とを関連づけた、中継機２０ごと、及び、センサ３０ごとのデータであるので、スキャンデータからは、或るセンサ３０の周囲に存在する、通信可能な中継機２０がどれで、その受信信号強度がどのくらいかがわかる。
【００８０】
詳しくは、データステーション１０は、記憶部１３に保存しているスキャンデータのうち過去１週間分のスキャンデータに基づいて、各センサ３０について候補の中継機２０を抽出する。尚、参照するスキャンデータは、過去１週間分に限られず、任意に設定することができる。データステーション１０は、各センサ３０に関し、その周囲の各中継機２０との間のスキャン時のＰＥＲ、及び、その周囲の各中継機２０との間の受信信号強度の平均値をスキャンデータから求める。スキャン時のＰＥＲとは、各センサ３０とその周囲の各中継機２０との間での、スキャン処理時のＰＥＲであって、（同期信号を受信できなかった回数）／（スキャンの回数）である。受信信号強度の平均値は、各センサ３０とその周囲の各中継機２０との間で同期信号を受信できた場合の受信信号強度の平均値である。
【００８１】
データステーション１０は、求めたスキャン時のＰＥＲ及び受信信号強度の平均値に基づいて候補の中継機２０を抽出する。具体的には、データステーション１０は、スキャン時のＰＥＲが所定の判定レート以上であり且つスキャン時の受信信号強度の平均値が所定の判定強度以上の中継機２０を候補の中継機２０として抽出する。ここでの「判定レート」及び「判定強度」は、高品質の通信を実現できるレベルではなく、通信端末間での通信を維持できる程度のレベルであってもよい。こうして抽出される候補の中継機２０の個数は、対象の通信端末によっては、１つかもしれないし、複数個かもしれない。尚、データステーション１０は、スキャン時のＰＥＲ及び受信信号強度に基づく通信状態が上位の所定個数（例えば、３個）の中継機２０を候補の中継機２０として抽出してもよい。
【００８２】
ステップＳｃ３において、データステーション１０は、各センサ３０について候補の中継機２０の中から新たな接続先となる中継機２０を決定する。データステーション１０は、センサ３０の電池残量に基づいて、より詳しくは、センサ３０の今後の電池残量が節約されるように、新たな接続先となる中継機２０を決定する。具体的には、データステーション１０は、候補の中継機２０の中から、直接的に（１ホップで）接続されたセンサ３０の総数（以下、「センサ接続数」という）が最も少ない中継機２０を新たな接続先に決定する。このとき、更新対象のセンサ３０は、どの中継機２０にも接続されていないものとして、センサ接続数がカウントされる。
【００８３】
これにより、電池残量が少ないセンサ３０は、センサ接続数がより少ない中継機２０に接続されることになる。前述の如く、センサ３０は、接続される中継機２０の特定スロットにおいてアクティブ状態となり、該中継機２０への検出値の送信が完了するとスリープ状態となるので、中継機２０のセンサ接続数が多くなればなるほど、センサ３０のアクティブ状態での待機時間が長くなり、ひいては、センサ３０の消費電力が多くなる。センサ３０が、センサ接続数のより少ない中継機２０に接続されることによって、即ち、中継機２０のセンサ接続数を低減することによって、センサ３０の消費電力を低減することができる。その結果、当該センサ３０の電池残量の減少量が小さくなるので、センサ３０全体での電池残量が平滑化される。
【００８４】
新たな接続先がセンサ接続数で決まらない場合、即ち、センサ接続数が最も少ない中継機２０が複数ある場合には、中継機２０の電池残量に基づいて新たな接続先が決定される。これにより、中継機２０の電池残量が平滑化される。つまり、センサ接続数が増えるほど、中継機２０の消費電力は増加する。電池残量が多い中継機２０は、センサ接続数が増えることにより消費電力が増加するのに対し、センサ３０の元の接続先であった中継機２０は、センサ接続数が減るので消費電力が減少する。その結果、複数の中継機２０の間で電池残量が平滑化される。
【００８５】
新たな接続先がセンサ接続数及び電池残量でも決まらない場合には、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数に基づいて新たな接続先が決定される。これらスキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数は、通信状態を示す指標であり、ＰＥＲが小さいほど、受信信号強度の平均値が大きいほど、ホップ数が小さいほど通信が安定している。つまり、センサ３０の電池残量及び中継機２０の電池残量に基づいても候補の中継機２０の優劣を付けることができない場合には、通信状態に基づいて新たな接続先が決定される。
【００８６】
このように、センサ３０の新たな接続先は、センサ接続数、電池残量、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定される。
【００８７】
センサ３０の新たな接続先が決定されると、続いて、データステーション１０は、中継機２０の新たな接続先を決定する。中継機２０については、全ての中継機２０の新たな接続先を決定する。ステップＳｃ４において、中継機２０のそれぞれについて新たな接続先となる候補の中継機２０を抽出する。候補の中継機２０の抽出は、センサ３０についての候補の中継機２０の抽出と同様である。つまり、データステーション１０は、スキャンデータから求められたスキャン時のＰＥＲ及び受信信号強度の平均値に基づいて候補の中継機２０を抽出する。
【００８８】
そして、ステップＳｃ５において、データステーション１０は、各中継機２０について候補の中継機２０の中から新たな接続先となる中継機２０を決定する。具体的には、データステーション１０は、候補の中継機２０の中から、電池残量が最も多い中継機２０を新たな接続先に決定する。中継機２０は、下位に直接的又は間接的に接続される中継機２０が増加すると、中継処理が増加するため、消費電力が大きくなる。候補の中継機２０の中から電池残量が最も多い中継機２０を新たな接続先とすることによって、電池残量が多い中継機２０の消費電力が増加する一方、中継機２０の元の接続先であった中継機２０の消費電力が低下する。その結果、複数の中継機２０の間で電池残量が平滑化される。
【００８９】
新たな接続先が電池残量で決まらない場合には、下位に包含する通信端末（中継機２０及びセンサ３０）の総数（以下、「端末接続数」という）に基づいて新たな接続先が決定される。ここで、下位に包含する通信端末とは、一の中継機２０の下位側に直接的（１ホップで）又は間接的（複数ホップで）に接続された中継機２０及びセンサ３０を意味する。これにより、複数の中継機２０の間で電池残量が平滑化される。つまり、端末接続数が増加すると、前述の如く、中継処理やセンサ３０との信号の送受信が増加するので、中継機２０の消費電力が大きくなる。候補の中継機２０の中から端末接続数が最も少ない中継機２０を新たな接続先とすることによって、複数の中継機２０の間で消費電力が平滑化され、ひいては、電池残量が平滑化される。
【００９０】
新たな接続先が電池残量及び端末接続数でも決まらない場合には、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数に基づいて新たな接続先が決定される。これらスキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数は、通信状態を示す指標であり、ＰＥＲが小さいほど、受信信号強度の平均値が大きいほど、ホップ数が小さいほど通信が安定する。つまり、中継機２０の電池残量に基づいても候補の中継機２０の優劣を付けることができない場合には、通信状態に基づいて新たな接続先が決定される。
【００９１】
このように、中継機２０の新たな接続先は、電池残量、端末接続数、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定される。
【００９２】
データステーション１０は、中継機２０の新たな接続先の決定を、下位の中継機２０から順に、即ち、ホップ数が多い中継機２０から順に全ての中継機２０に対して行う。前述の如く、新たな接続先を決定する際に考慮する事項の１つに下位の端末接続数が含まれているので、下位の中継機２０から順に新たな接続先を決定していくことによって、下位の端末接続数を正確に評価することができる。
【００９３】
データステーション１０は、中継機２０及びセンサ３０の新たな接続先の決定が完了すると、図９の更新処理のフローチャートのステップＳｂ３に戻る。データステーション１０は、ステップＳｂ３において、新たな接続先を中継機２０及びセンサ３０に通知する。具体的には、データステーション１０は、新たな接続先に基づいてツリーテーブル及びセンサテーブルを更新し、更新したツリーテーブルを全ての中継機２０に通知する。
【００９４】
センサ３０の接続先が更新された場合には、データステーション１０は、新たなセンサ３０が接続された中継機２０に、センサ接続情報、即ち、接続されたセンサ３０を特定する情報を通知すると共に、接続先が変更されたセンサ３０に中継機接続情報、即ち、繋がる中継機２０を特定する情報及び該中継機２０のスロット番号を通知する。さらに、データステーション１０は、ツリーテーブルに基づいてルーティングテーブルを更新する。
【００９５】
更新されたツリーテーブルを受信した中継機２０は、ツリーテーブルを記憶部２３に保存すると共に、ツリーテーブルに基づいてルーティングテーブルを更新する。  また、新たなセンサ接続情報を受信した中継機２０は、センサ接続情報を更新する。該中継機２０は、以降の処理（例えば、収集処理）では新たに接続されたセンサ３０に対して処理を実行する。
【００９６】
新たな中継機接続情報及び新たなスロット番号を受信したセンサ３０は、中継機接続情報及びスロット番号を更新する。該センサ３０は、新たな中継機２０の特定スロットに応じてアクティブ状態となり、検出値を該中継機２０に送信する。
【００９７】
こうして、通信端末の接続先の更新が完了する。
【００９８】
以下、図１を用いて中継機２０及びセンサ３０の接続先の更新の具体例を説明する。
【００９９】
まず、データステーション１０は、センサ３０の接続先を更新する。データステーション１０は、全てのセンサ３０の中から電池残量が下位から所定割合のセンサ３０を抽出する。例えば、抽出されたセンサ３０の１つがセンサ３０ｉであるとする。センサ３０ｉは、スキャン処理において、その周囲の中継機２０ｇ，２０ｈ，２０ｉからの同期信号を受信できたとすると、センサ３０ｉについては、中継機２０ｇ，２０ｈ，２０ｉのそれぞれとの間でのスキャンデータが取得される。
【０１００】
データステーション１０は、センサ３０ｉと中継機２０ｇとの間のスキャン時のＰＥＲ、センサ３０ｉと中継機２０ｈとの間のスキャン時のＰＥＲ、及び、センサ３０ｉと中継機２０ｉとの間のスキャン時のＰＥＲを求める。センサ３０ｉがスキャン処理のたびに同期信号を受信できるか、スキャン処理の際に同期信号を受信できない場合があるかは、センサ３０ｉと中継機２０ｇ，２０ｈ，２０ｉのそれぞれとの間の通信環境に依存する。そのため、各中継機２０との間のスキャン時のＰＥＲは、それぞれ異なり得る。
【０１０１】
さらに、データステーション１０は、センサ３０ｉと中継機２０ｇとの間の受信信号強度の平均値、センサ３０ｉと中継機２０ｈとの間の受信信号強度の平均値、及び、センサ３０ｉと中継機２０ｉとの間の受信信号強度の平均値を求める。各中継機２０との間の受信信号強度は、センサ３０ｉと中継機２０ｇ，２０ｈ，２０ｉのそれぞれとの間の通信環境に依存する。
【０１０２】
データステーション１０は、中継機２０ｇ，２０ｈ，２０ｉの中からセンサ３０ｉについての候補の中継機２０を抽出する。ここでは、中継機２０ｈ，２０ｉのスキャン時のＰＥＲが所定の判定レート以上であり且つ、中継機２０ｈ，２０ｉのスキャン時の受信信号強度の平均値が所定の判定強度以上であるものとする。そうすると、中継機２０ｈ，２０ｉが候補の中継機２０として抽出される。
【０１０３】
続いて、データステーション１０は、候補の中継機２０の中からセンサ接続数が最も少ない中継機２０を新たな接続先に決定する。この例では、中継機２０ｈのセンサ接続数が２であり、中継機２０ｉのセンサ接続数が１であるので、中継機２０ｉが新たな接続先として決定される（図１に破線で示す）。
【０１０４】
尚、中継機２０ｈのセンサ接続数と中継機２０ｉのセンサ接続数が同じ場合には、中継機２０ｈ，２０ｉの電池残量、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数がこの優先順で考慮され、新たな接続先が決定される。
【０１０５】
データステーション１０は、このような新たな接続先の決定を抽出された全てのセンサ３０のそれぞれについて実行する。
【０１０６】
続いて、データステーション１０は、中継機２０の接続先を更新する。ここでは、中継機２０ｉを例に説明する。中継機２０ｉは、スキャン処理において、その周囲の中継機２０ｄ，２０ｇ，２０ｈ，２０ｋからの同期信号を受信できたとすると、中継機２０ｉについては、中継機２０ｄ，２０ｇ，２０ｈ，２０ｋのそれぞれとの間でのスキャンデータが取得される。
【０１０７】
データステーション１０は、中継機２０ｉと中継機２０ｄとの間のスキャン時のＰＥＲ、中継機２０ｉと中継機２０ｇとの間のスキャン時のＰＥＲ、中継機２０ｉと中継機２０ｈとの間のスキャン時のＰＥＲ、及び、中継機２０ｉと中継機２０ｋとの間のスキャン時のＰＥＲを求める。中継機２０ｉがスキャン処理のたびに同期信号を受信できるか、スキャン処理の際に同期信号を受信できない場合があるかは、中継機２０ｉと中継機２０ｄ，２０ｇ，２０ｈ，２０ｋのそれぞれとの間の通信環境に依存する。そのため、各中継機２０との間のスキャン時のＰＥＲは、それぞれ異なり得る。
【０１０８】
さらに、データステーション１０は、中継機２０ｉと中継機２０ｄとの間の受信信号強度の平均値、中継機２０ｉと中継機２０ｇとの間の受信信号強度の平均値、中継機２０ｉと中継機２０ｈとの間の受信信号強度の平均値、及び、中継機２０ｉと中継機２０ｋとの間の受信信号強度の平均値を求める。各中継機２０との間の受信信号強度は、中継機２０ｉと中継機２０ｄ，２０ｇ，２０ｈ，２０ｋのそれぞれとの間の通信環境に依存する。
【０１０９】
データステーション１０は、中継機２０ｄ，２０ｇ，２０ｈ，２０ｋの中から中継機２０ｉについての候補の中継機２０を抽出する。ここでは、中継機２０ｇ，２０ｈ，２０ｋのスキャン時のＰＥＲが所定の判定レート以上であり且つ、中継機２０ｇ，２０ｈ，２０ｋのスキャン時の受信信号強度の平均値が所定の判定強度以上であるものとする。そうすると、中継機２０ｇ，２０ｈ，２０ｋが候補の中継機２０として抽出される。
【０１１０】
続いて、データステーション１０は、候補の中継機２０の中から電池残量が最も多い中継機２０を新たな接続先に決定する。この例では、中継機２０ｋの電池残量が最も多いとすると、中継機２０ｋが新たな接続先として決定される（図１に破線で示す）。
【０１１１】
尚、電池残量では中継機２０ｇ，２０ｈ，２０ｋの優劣が決まらない場合には、端末接続数、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数がこの優先順で考慮され、新たな接続先が決定される。例えば、中継機２０ｈ，２０ｋの電池残量が同じで且つ中継機２０ｇの電池残量よりも多い場合には、中継機２０ｈ，２０ｋのうち端末接続数が多い方が新たな接続先となる。中継機２０ｈの端末接続数は２であり（先のセンサ３０の接続先の更新により、中継機２０ｈの端末接続数は３から２に変更されている）、中継機２０ｋの端末接続数は２であるので、両者の端末接続数は同じである。この場合、中継機２０ｈ，２０ｋのうち、スキャン時のＰＥＲが小さい方、スキャン時の受信信号強度の平均値が大きい方、及び、ホップ数が少ない方が順に評価され、新たな接続先が決定される。
【０１１２】
データステーション１０は、このような新たな接続先の決定を全ての中継機２０のそれぞれについて実行する。
【０１１３】
データステーション１０は、中継機２０及びセンサ３０の新たな接続先の決定が完了すると、新たな接続先を中継機２０及びセンサ３０に通知する。
【０１１４】
まず、データステーション１０は、ツリーテーブル、ルーティングテーブル及びセンサテーブルを更新する。図１２に更新後のツリーテーブルを、図１３に更新後のセンサテーブルを示す。図１２，１３では、更新された情報に下線が付されている。図１２では、中継機２０ｉの接続先が中継機２０ｋに更新されている。図１３では、センサ３０ｉの接続先が中継機２０ｉに更新されている。
【０１１５】
データステーション１０は、更新したツリーテーブルを全ての中継機２０に通知すると共に、接続されるセンサ３０が変更になった中継機２０ｈ，２０ｉに新たなセンサ接続情報を通知する。つまり、中継機２０ｈには、センサ３０ｇ，３０ｈの通信アドレスが通知され、中継機２０ｉには、センサ３０ｉ，３０ｊの通信アドレスが通知される。さらに、データステーション１０は、接続先が変更されたセンサ３０ｉに中継機接続情報（中継機２０ｋの通信アドレス）及び中継機２０ｋのスロット番号を通知する。
【０１１６】
更新されたツリーテーブルを受信した中継機２０は、ツリーテーブルを記憶部２３に保存すると共に、ツリーテーブルに基づいてルーティングテーブルを更新する。図１４に、中継機２０ａの更新後のルーティングテーブルを示す。図１４では、更新された情報に下線が付されている。更新後は中継機２０ａから中継機２０ｉへは信号が到達しないので、最終送信先が中継機２０ｉの場合の１ホップ先の送信先が空白となっている。一方、図示は省略するが、中継機２０ｊのルーティングテーブルにおいては、最終送信先が中継機２０ｉの場合の１ホップ先の送信先に中継機２０ｋが新たに規定されている。
【０１１７】
このように、データステーション１０は、電池残量の少ないセンサ３０の消費電力が低減されるように、且つ、中継機２０の電池残量が平滑化されるように中継機２０及びセンサ３０の接続先を更新する。これにより、無線通信システム１００全体の電池寿命の偏りを低減することができる。
【０１１８】
以上のように、無線通信システム１００は、無線通信により互いに接続されるデータステーション１０、中継機２０及びセンサ３０（複数の通信端末）を備え、データステーション１０、中継機２０及びセンサ３０の間では、信号を送受信する互いの接続先が規定されており、中継機２０及びセンサ３０（複数の通信端末の少なくとも一部）は、電池駆動されており、データステーション１０、中継機２０及びセンサ３０は、接続先を更新する更新処理を行うように構成され、更新処理においては、中継機２０及びセンサ３０の電池残量に基づいて新たな接続先が決定される。
【０１１９】
この構成によれば、中継機２０及びセンサ３０の接続先を更新する際に中継機２０又はセンサ３０の電池残量が考慮されるので、中継機２０の間での電池残量の偏り、及び、センサ３０の間での電池残量の偏りが低減するように中継機２０及びセンサ３０の接続先を更新することができる。その結果、無線通信システム１００全体での電池寿命の偏りを低減することができる。
【０１２０】
また、複数の通信端末は、データステーション１０（親機）と、データステーション１０を最上位として接続されてツリー型のネットワークを構成する複数の中継機２０（子機）とを含み、複数の中継機２０は、電池駆動されており、更新処理では、新たな接続先となる候補の中継機２０の中から、候補の中継機２０の電池残量が平滑化されるように新たな接続先が決定される。
【０１２１】
この構成によれば、中継機２０の間での電池残量が平滑化されるように、新たな接続先が決定される。その結果、中継機２０の間での電池寿命を平滑化することができる。
【０１２２】
さらに、更新処理では、候補の中継機２０のうち電池残量が多い中継機２０が新たな接続先に決定される。
【０１２３】
この構成によれば、候補の中継機２０のうち電池残量が多い中継機２０に接続される中継機２０が増加する。そのため、電池残量が多い中継機２０の消費電力が増加するので、中継機２０の間での電池残量のバラツキが低減されていく。その結果、中継機２０の間での電池寿命を平滑化することができる。
【０１２４】
また、更新処理では、候補の中継機２０のうち、端末接続数（下位に包含する子機の総数）が少ない中継機２０が新たな接続先に決定される。
【０１２５】
この構成によれば、中継機２０の間で端末接続数が平滑化される。端末接続数が多いと、中継機２０の処理が増えるので消費電力も増加する。つまり、中継機２０の間で端末接続数が平滑化されると、消費電力も平滑化され、ひいては、電池寿命を平滑化することができる。
【０１２６】
また、複数の通信端末は、データステーション１０と、データステーション１０を最上位として接続されてツリー型のネットワークを構成する複数の中継機２０と、中継機２０に接続されて所定の物理量を検出するセンサ３０とを含み、中継機２０及びセンサ３０は、電池駆動されており、一の中継機２０に複数のセンサ３０が接続される場合には、複数のセンサ３０は、中継機２０と順番に信号の送受信を行い、信号の送受信が完了するとスリープ状態となるように構成され、更新処理では、センサ３０の接続先を更新することによって、電池残量が所定の基準よりも少ないセンサ３０が接続される中継機２０のセンサ接続数（接続されるセンサ３０の総数）が更新前よりも低減される。
【０１２７】
この構成によれば、電池残量が少ないセンサ３０は、中継機２０との信号の送受信を早期に完了させ、スリープ状態となることができる。つまり、一の中継機２０に複数のセンサ３０が接続されている場合には、該中継機２０との信号の送受信はセンサ３０ごとに順番に行われるので、センサ接続数が多い場合には中継機２０との信号の送受信を行うまでの待機時間も長くなってしまう。それに対し、センサ接続数が少ない場合には、中継機２０との信号の送受信を行うまでの待機時間が短く、信号の送受信を早期に完了させ、スリープ状態になることができる。ひいては、電池残量が少ないセンサ３０の消費電力を低減することができる。その結果、センサ３０の間での電池寿命を平滑化することができる。
【０１２８】
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１２９】
前記実施形態について、以下のような構成としてもよい。
【０１３０】
例えば、無線通信システム１００は、蒸気システム以外に適用してもよい。また、センサ３０は、スチームトラップＴの振動数及び温度を検出しているが、これ以外の物理量（例えば、電力等）を検出してもよい。
【０１３１】
また、無線通信システム１００は、センサ３０を含んでいなくてもよい。つまり、中継機２０は、センサ３０の検出値以外のデータをデータステーション１０へ送信するものであってもよい。さらに、無線通信システム１００は、データステーション１０を含んでいなくてもよい。すなわち、無線通信システム１００は、少なくとも複数の中継機２０を含んでいればよい。
【０１３２】
データステーション１０は、通信スケジュールに従って中継機２０と通信を行い、中継機２０にセンサ３０の検出値を返信するように要求しているが、これに限られるものではない。例えば、データステーション１０は、センサ３０のそれぞれを最終送信先として通信を行い、センサ３０に指令を直接送信する構成であってもよい。
【０１３３】
データステーション１０と中継機２０とは、通信スケジュールに従って通信を行わなくてもよい。
【０１３４】
また、通信スケジュールは、タイムスロットがマトリックス状に規定されていなくてもよい。中継機２０へのタイムスロットの割り当ては、ネットワークの階層ごとでなくてもよい。また、１つの中継機２０に１つの特定スロットが割り当てられているが、１つの中継機２０に２以上の特定スロットが割り当てられていてもよい。
【０１３５】
前記実施形態では、中継機２０及びセンサ３０の他の通信端末との通信状態、並びに、中継機２０及びセンサ３０の電池残量をデータステーション１０が収集し、データステーション１０がそれらに基づいて中継機２０及びセンサ３０の接続先を更新する。しかしながら、中継機２０及びセンサ３０のそれぞれが、他の通信端末との通信状態及び他の通信端末の電池残量も収集し、それらに基づいて接続先を更新してもよい。
【０１３６】
また、中継機２０及びセンサ３０は、データステーション１０からの指令ではなく、自発的にスキャン処理を実行してもよい。特に、定期的にスキャン処理を実行する場合には、中継機２０及びセンサ３０自身がスキャン処理を実行する周期を計時し、スキャン処理を実行し、スキャンデータをデータステーション１０へ送信してもよい。あるいは、上位又は下位の通信端末との受信信号強度に基づいてスキャン処理を実行するか否かが判定される場合にも、中継機２０及びセンサ３０自身がスキャン処理を実行するか否かを判定し、自発的にスキャン処理を実行してもよい。
【０１３７】
また、中継機２０及びセンサ３０は、通信状態として、通信の可否及び受信信号強度以外のものを取得してもよい。その場合、データステーション１０は、通信の可否及び受信信号強度以外の通信状態を表す指標に基づいて、候補の中継機２０を抽出したり、新たな接続先を決定したりしてもよい。
【０１３８】
また、中継機２０及びセンサ３０は、他の通信端末（データステーション１０、中継機２０及びセンサ３０）が送信する同期信号に基づいて、通信の可否及び受信信号強度を取得しているが、同期信号以外の信号に基づいて通信の可否受信信号強度を取得してもよい。
【０１３９】
スキャン処理は、更新処理と独立してではなく、更新処理の一環として行われてもよい。つまり、更新条件が成立した場合に、データステーション１０は、スキャン処理を１回又は複数回行ってもよい。そして、データステーション１０は、そのスキャンデータから新たな接続先の候補を抽出するようにしてもよい。ただし、スキャン処理を更新処理とは別に実行しておくことによって、或る程度の期間にわたる複数回のスキャンデータに基づいて通信端末間の通信状態を判定することができる。
【０１４０】
また、接続先を更新するセンサ３０は、全てのセンサ３０の中から電池残量が少ない下位から所定割合のセンサ３０に限られない。例えば、更新条件がセンサ３０の間での電池残量のバラツキが判定閾値を上回ることである場合には、電池残量が少なく且つバラツキが大きいセンサ３０の接続先のみを更新してもよい。
【０１４１】
同様に、全ての中継機２０の接続先を更新しなくてもよい。例えば、更新条件が中継機２０の間での電池残量のバラツキが判定閾値を上回ることである場合には、電池残量が少なく且つバラツキが大きい中継機２０の接続先のみを更新してもよい。
【０１４２】
さらに、中継機２０及びセンサ３０の両方の接続先を更新しなくてもよい。例えば、センサ３０の接続先のみを更新してもよい。あるいは、中継機２０の接続先のみを更新してもよい。
【０１４３】
中継機２０及びセンサ３０の新たな接続先となる候補の中継機２０は、スキャン時にＰＥＲ及び受信信号強度の平均値の両方に基づいて抽出されているが、これに限られるものではない。例えば、候補の中継機２０は、スキャン時のＰＥＲだけに基づいて抽出されてもよい。
【０１４４】
中継機２０の新たな接続先は、電池残量、端末接続数、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定されるが、これに限られるものではない。中継機２０の新たな接続先は、少なくとも中継機２０の現在又は将来の電池残量を考慮する限り、任意の指標に基づいて決定され得る。その際には、最優先で考慮される指標が電池残量でなくてもよい。例えば、中継機２０の新たな接続先は、電池残量、端末接続数、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数のそれぞれに重み付けをして、それらを総合的に考慮して決定されてもよい。
【０１４５】
センサ３０の新たな接続先は、センサ接続数、電池残量、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定されるが、これに限られるものではない。センサ３０の新たな接続先は、少なくともセンサ３０の現在又は将来の電池残量を考慮する限り、任意の指標に基づいて決定され得る。その際には、最優先で考慮される指標が電池残量でなくてもよい。例えば、センサ３０の新たな接続先は、センサ接続数、電池残量、スキャン時のＰＥＲ、スキャン時の受信信号強度の平均値、及び、ホップ数のそれぞれに重み付けをして、それらを総合的に考慮して決定されてもよい。
【０１４６】
また、データステーション１０は、更新対象のセンサ３０の新たな接続先を１つずつ順番に確定させるが、これに限られるものではない。データステーション１０は、更新対象の全てのセンサ３０の候補の中継機２０を抽出した後、更新対象の各センサ３０の接続先が変更された後の影響も考慮しながら、更新対象の全てのセンサ３０の接続先を総合的に判断してもよい。
【０１４７】
また、データステーション１０は、電池残量が少ないセンサ３０が接続される中継機２０の中での該センサ３０の処理順序を変更してもよい。つまり、センサ３０は、中継機２０との信号の送受信が完了した順にスリープ状態となるので、電池残量が少ないセンサ３０の処理順序を早くしてもよい。これにより、電池残量が少ないセンサ３０は、より早くスリープ状態となり、消費電力をさらに抑制することができる。この処理順序の変更は、センサ３０の接続先を更新と併せて行ってもよいし、センサ３０の接続先を更新することなく処理順序の変更だけを行ってもよい。
【０１４８】
また、データステーション１０は、電池残量が少ないセンサ３０を抽出した後、電池残量が少ないセンサ３０の接続先を更新しているが、これに限られるものではない。データステーション１０は、電池残量が少ないセンサ３０以外のセンサ３０の接続先を更新してもよい。つまり、電池残量が少ないセンサ３０が接続された中継機２０に接続された、該電池残量が少ないセンサ３０以外のセンサ３０の接続先を別の中継機２０に変更することによって、電池残量が少ないセンサ３０が接続された中継機２０のセンサ接続数を低減することができ、ひいては、電池残量が少ないセンサ３０の消費電力を低減することができる。要するに、電池残量が少ないセンサ３０が接続された中継機２０のセンサ接続数を低減することができれば、電池残量が少ないセンサ３０の接続先を変更しても、それ以外のセンサ３０の接続先を変更してもよい。
【０１４９】
中継機２０及びセンサ３０の接続先を、ツリーテーブル、ルーティングテーブル、センサテーブル、センサ接続情報及び中継機接続情報として規定されている。しかし、接続先は、これらとは異なる形で規定されていてもよい。例えば、無線通信システム１００は、ダウンリンク方向のルートを規定したルーティングテーブルを保持しているが、アップリンク方向のルートを規定したルーティングテーブルを中継機２０及びセンサ３０の接続先として保持していてもよい。また、前述のツリーテーブル、ルーティングテーブル、センサテーブルの形式も一例に過ぎず、異なる形式であってもよい。
【０１５０】
前述のフローチャートは、一例に過ぎず、前述のステップを省略したり、別のステップを追加したりしてもよい。
【産業上の利用可能性】
【０１５１】
以上説明したように、ここに開示された技術は、無線通信システムについて有用である。
【符号の説明】
【０１５２】
１００      無線通信システム
１０        データステーション（通信端末、親機）
２０        中継機（通信端末、子機）
３０        センサ（通信端末、子機）
【図１】
0006616705.tif 000002
【図２】
0006616705.tif 000003
【図３】
0006616705.tif 000004
【図４】
0006616705.tif 000005
【図５】
0006616705.tif 000006
【図６】
0006616705.tif 000007
【図７】
0006616705.tif 000008
【図８】
0006616705.tif 000009
【図９】
0006616705.tif 000010
【図１０】
0006616705.tif 000011
【図１１】
0006616705.tif 000012
【図１２】
0006616705.tif 000013
【図１３】
0006616705.tif 000014
【図１４】
0006616705.tif 000015