(57)【特許請求の範囲】
【請求項１】
無線通信を行う無線通信部と制御部とを備え、
前記制御部は、
自ノードから最終宛先ノードまでの通信経路が確立していない状態では、ブロードキャストでデータを他ノードへ送信し、
自ノードから前記最終宛先ノードまでの通信経路が確立されており送信先のノードが決定している状態では、前記送信先のノードにユニキャストで前記データを送信し、
前記他ノードあるいは決定された前記送信先のノードからＡＣＫを受信するように前記無線通信部を制御する通信ノードであって、
前記データは、第１の測定データと、前記第１の測定データが測定されてから規定時間経過後に測定された第２の測定データを含み、
前記制御部は、
ブロードキャストによって送信された前記第１の測定データを受信したノードのうちのいずれかから、最終宛先情報に基づいて自ノードから前記最終宛先ノードまでの通信経路が確立した旨の情報を含むＡＣＫを、ブロードキャストで前記第１の測定データを送信してから第１時間が経過するまでの間に受信することによって、前記送信先のノードを決定し、
次回前記第２の測定データを送信する際に前記送信先のノードに対して前記第２の測定データをユニキャストで送信させ、
ユニキャストで前記第２の測定データを送信してから、前記第１時間よりも短い第２時間が経過するまでの間に、前記送信先のノードから前記ＡＣＫを受信できず前記送信先のノードへの前記第２の測定データの送信に失敗した場合、前記第２の測定データを再送信するように前記無線通信部を制御する、
通信ノード。
【請求項２】
記憶部を更に備え、
前記制御部は、前記無線通信部がブロードキャストで前記第１の測定データを送信した場合に前記ＡＣＫを送信してきた全てのノードを候補ノードとして前記記憶部に記憶させ、
前記制御部は、前記無線通信部から前記送信先のノードへの前記第２の測定データの送信に失敗した場合、前記記憶部に記憶された前記候補ノードのうち前記送信先のノード以外の前記候補ノードにユニキャストで前記第２の測定データを送信するように前記無線通信部を制御することを特徴とする請求項１に記載の通信ノード。
【請求項３】
前記制御部は、規定のデータ収集期間において、前記無線通信部が前記送信先のノードにユニキャストで前記第２の測定データを送信してから前記ＡＣＫを受信するまでにかかった時間の最大時間を前記第２時間として設定するように構成されたことを特徴とする請求項１又は２に記載の通信ノード。
【請求項４】
前記制御部は、前記送信先のノードへ前記第２の測定データをユニキャストで再送信した回数が規定回数以上になった場合、前記第２時間よりも長く、かつ、前記第１時間よりも短い第３時間に新たな前記第２時間を設定することを特徴とする請求項１〜３のいずれか１項に記載の通信ノード。
【請求項５】
前記制御部は、前記送信先のノードへ前記第２の測定データをユニキャストで再送信した回数が規定回数以上になった場合、前記第２時間を前記第１時間に変更するように構成されたことを特徴とする請求項１〜３のいずれか１項に記載の通信ノード。
【請求項６】
前記制御部は、前記送信先のノードへ前記第２の測定データをユニキャストで再送信する再送回数が最大再送回数に達すると、ブロードキャストで前記第２の測定データを送信するように前記無線通信部を制御することを特徴とする請求項１〜５のいずれか１項に記載の通信ノード。
【請求項７】
前記制御部は、前記送信先のノードへ前記第２の測定データをユニキャストで再送信する回数が最大再送回数に達すると、前記第２の測定データの再送処理を終了するように前記無線通信部を制御することを特徴とする請求項１〜５のいずれか１項に記載の通信ノード。
【請求項８】
前記制御部は、前記第２の測定データの再送処理を終了するように前記無線通信部を制御した場合、次回の送信時に新たな前記データを送信するように前記無線通信部を制御することを特徴とする請求項７に記載の通信ノード。
【請求項９】
自ノードから最終宛先ノードまでの通信経路が確立していない状態では無線通信部にブロードキャストでデータを送信させるステップと、
自ノードから前記最終宛先ノードまでの通信経路が確立されており送信先のノードが決定している状態では、前記無線通信部に前記送信先のノードへユニキャストで前記データを送信させるステップと、
ブロードキャストによって送信された前記データを受信したノードのうちのいずれかから、最終宛先情報に基づいて自ノードから前記最終宛先ノードまでの通信経路が確立した旨のＡＣＫを、ブロードキャストで前記データを送信してから第１時間が経過するまでの間に受信することによって前記送信先のノードを決定し、次回前記データを送信する際に決定された前記送信先のノードに対してユニキャストで前記データを送信させるステップと、
ユニキャストで前記データを送信してから、前記第１時間よりも短い第２時間が経過するまでの間に、前記ＡＣＫを受信できず前記送信先のノードへの前記データの送信に失敗した場合、前記データを再送信するように前記無線通信部を制御するステップと、
を含むことを特徴とする通信方法。
【請求項１０】
無線通信機能を有する送信元ノードと、
無線通信機能を有する最終宛先ノードと、
前記送信元ノードと前記最終宛先ノードとの間の無線通信を中継する機能を備えた複数台の中継ノードとを備え、
前記送信元ノード及び前記中継ノードは、
自ノードから前記最終宛先ノードまでのデータの通信経路が確立していない状態ではブロードキャストで他ノードへ前記データを送信し、
前記通信経路が確立することによって送信先が決まったノードに対して、ユニキャストで前記データを送信し、
前記他ノードあるいは決定された前記送信先のノードからＡＣＫを受信するように構成された無線通信システムであって、
前記データは、第１の測定データと、前記第１の測定データが測定されてから規定時間経過後に測定された第２の測定データを含み、
前記送信元ノード及び前記中継ノードは、
ブロードキャストによって送信された前記第１の測定データを受信したノードのうちのいずれかから、最終宛先情報に基づいて自ノードから前記最終宛先ノードまでの前記通信経路が確立した旨のＡＣＫを、ブロードキャストで前記第１の測定データを送信してから第１時間が経過するまでの間に受信することによって送信先ノードを決定し、
次回前記第２の測定データを送信する際に前記送信先のノードに対して前記第２の測定データをユニキャストで送信し、
ユニキャストで前記第２の測定データを送信してから、前記第１時間よりも短い第２時間が経過するまでの間に、前記ＡＣＫを受信できず前記送信先のノードへの前記第２の測定データの送信に失敗した場合、前記第２の測定データを再送信する、
ことを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ノード、通信方法及び無線通信システムに関し、より詳細には、マルチホップ通信を行う通信ノード、通信方法及び無線通信システムに関する。
【背景技術】
【０００２】
従来、基地局ノード装置と、複数台の子ノード装置との間で、マルチホップ無線通信を行うネットワークシステムが提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−７４３５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、通信ネットワークでは、あるノードが送信したデータが別のノードによって受信されると、受信側のノードは送信側のノードにＡＣＫを送信する。したがって、送信側のノードは、データを送信してから所定の受信待ち時間が経過するまでの間、無線送受信部をＡＣＫが受信可能な状態に制御しており、この間にＡＣＫを受信できなければデータを再送信している。そのため、あるノードが送信したデータが別のノードに受信されなかった場合、データの送信時点より受信待ち時間が経過してからでないと、データの再送信が行われない。よって、送信元ノードから最終宛先ノードまでの各ノードでデータの再送信が発生すると、最終宛先ノードまでデータが届くのに時間がかかっていた。
【０００５】
本発明は上記課題に鑑みてなされ、最終宛先ノードまでデータが届くのにかかる時間を短縮できる通信ノード、通信方法及び無線通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
通信ノードは、無線通信を行う無線通信部と制御部とを備えている。制御部は、自ノードから最終宛先ノードまでの通信経路が確立していない状態では、ブロードキャストでデータを他ノードへ送信し、自ノードから最終宛先ノードまでの通信経路が確立されており送信先のノードが決定している状態では、前記送信先のノードにユニキャストで前記データを送信するように前記無線通信部を制御する。さらに、制御部は、他ノードあるいは決定された前記送信先のノードからＡＣＫを受信するように前記無線通信部を制御する。なお、データは、第１の測定データと、前記第１の測定データが測定されてから規定時間経過後に測定された第２の測定データを含んでいる。そして制御部は、ブロードキャストによって送信された前記第１の測定データを受信したノードのうちのいずれかから、最終宛先情報に基づいて自ノードから前記最終宛先ノードまでの通信経路が確立した旨の情報を含むＡＣＫを、ブロードキャストで前記第１の測定データを送信してから第１時間が経過するまでの間に受信することによって、前記送信先のノードを決定し、次回前記第２の測定データを送信する際に前記送信先のノードに対して前記第２の測定データをユニキャストで送信させ、ユニキャストで前記第２の測定データを送信してから、前記第１時間よりも短い第２時間が経過するまでの間に、前記送信先のノードから前記ＡＣＫを受信できず前記送信先のノードへの前記第２の測定データの送信に失敗した場合、前記第２の測定データを再送信するように前記無線通信部を制御するように構成されたことを特徴とする。
【００１４】
通信方法は、自ノードから最終宛先ノードまでの通信経路が確立していない状態では無線通信部にブロードキャストでデータを送信させるステップと、自ノードから最終宛先ノードまでの通信経路が確立されており送信先のノードが決定している状態では、前記無線通信部に前記送信先のノードへユニキャストで前記データを送信させるステップと、ブロードキャストによって送信された前記データを受信したノードのうちのいずれかから、最終宛先情報に基づいて自ノードから前記最終宛先ノードまでの通信経路が確立した旨のＡＣＫを、ブロードキャストで前記データを送信してから第１時間が経過するまでの間に受信することによって前記送信先のノードを決定し、次回前記データを送信する際に決定された前記送信先のノードに対してユニキャストで前記データを送信させるステップと、ユニキャストで前記データを送信してから、前記第１時間よりも短い第２時間が経過するまでの間に、前記ＡＣＫを受信できず前記送信先のノードへの前記データの送信に失敗した場合、前記データを再送信するように前記無線通信部を制御するステップと、を含むことを特徴とする。
【００１５】
無線通信システムは、無線通信機能を有する送信元ノードと、無線通信機能を有する最終宛先ノードと、送信元ノードと最終宛先ノードとの間の無線通信を中継する機能を備えた複数台の中継ノードとを備えている。送信元ノード及び中継ノードは、自ノードから最終宛先ノードまでのデータの通信経路が確立していない状態ではブロードキャストで他ノードへ前記データを送信する。また、送信元ノード及び中継ノードは、通信経路が確立することによって送信先が決まったノードに対して、ユニキャストで前記データを送信し、前記他ノードあるいは決定された前記送信先のノードからＡＣＫを受信する。なお、データは、第１の測定データと、第１の測定データが測定されてから規定時間経過後に測定された第２の測定データを含んでいる。送信元ノード及び中継ノードは、ブロードキャストによって送信された前記第１の測定データを受信したノードのうちのいずれかから、最終宛先情報に基づいて自ノードから前記最終宛先ノードまでの前記通信経路が確立した旨のＡＣＫを、ブロードキャストで前記第１の測定データを送信してから第１時間が経過するまでの間に受信することによって送信先ノードを決定し、次回前記第２の測定データを送信する際に前記送信先のノードに対して前記第２の測定データをユニキャストで送信し、ユニキャストで前記第２の測定データを送信してから、前記第１時間よりも短い第２時間が経過するまでの間に、前記ＡＣＫを受信できず前記送信先のノードへの前記第２の測定データの送信に失敗した場合、前記第２の測定データを再送信することを特徴とする。
【発明の効果】
【００１６】
本発明の通信ノード、通信方法及び無線通信システムによれば、ユニキャストでデータを送信した場合は、ブロードキャストでデータを送信した場合に比べて、ＡＣＫを受信可能な状態となる受信待ち時間を短くしている。したがって、ユニキャストでデータを送信している場合に、ＡＣＫを受信できずにデータを再送信する場合、データを再送信するまでにかかる時間が短縮されるので、送信元ノードから最終宛先ノードまでデータが届くのにかかる時間を短縮できる。
【図面の簡単な説明】
【００１７】
【図１】実施形態の無線通信システムによる通信手順の説明図である。
【図２】実施形態の子機のブロック図である。
【図３】実施形態の親機のブロック図である。
【図４】実施形態の中継機のブロック図である。
【図５】実施形態の無線通信システムによる別の通信手順の説明図である。
【図６】実施形態の無線通信システムによるまた別の通信手順の説明図である。
【図７】実施形態の無線通信システムの動作を説明するタイムチャートである。
【図８】実施形態の無線通信システムの別の動作を説明するタイムチャートである。
【図９】実施形態の無線通信システムのまた別の動作を説明するタイムチャートである。
【図１０】実施形態の無線通信システムのさらに別の動作を説明するタイムチャートである。
【発明を実施するための形態】
【００１８】
本発明に係る通信ノード及び無線通信システムの実施形態を図面に基づいて説明する。ただし、以下に説明する構成は本発明の一例にすぎない。本発明は、以下の実施形態に限定されず、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能である。
【００１９】
図１に本実施形態の無線通信システムの概略構成を示す。本実施形態の無線通信システムは、通信ノードとして、データの送信元である子機（送信元ノード）１０と、データの最終的な送信先である親機（最終宛先ノード）２０と、複数台（図１では例えば３台）の中継機（中継ノード）３０とを備える。なお、本実施形態の無線通信システムでは子機１０及び親機２０の台数がそれぞれ１台であるが、子機１０及び親機２０の台数は１台に限定されず、複数台でもよい。また、本実施形態の無線通信システムは中継機３０の台数が３台であるが、中継機３０の台数は子機１０の台数や設置場所などに応じて適宜変更が可能である。
【００２０】
子機１０と親機２０と中継機３０とは、それぞれ、無線免許が不要の無線通信部（例えば特定小電力無線モジュール、ＩＥＥＥ８０２．１５．１の規格に準拠した無線通信部、ＩＥＥＥ８０２．１５．４の規格に準拠した無線通信部など）を備えている。ここで、子機１０と親機２０とが互いの通信圏内にあり、子機１０と親機２０との間の通信環境が良好であれば、子機１０と親機２０との間で無線通信が直接行われる。しかしながら、子機１０と親機２０とが直接通信できないほど離れている場合や、通信可能であっても通信環境が良好でない場合、子機１０と親機２０との間では中継機３０を介して無線通信が行われる。そのため、複数台の中継機３０は、子機１０と親機２０の間の無線通信を中継できるように、隣接する他の中継機３０が通信圏内に存在するように配置されており、子機１０と親機２０と複数台の中継機３０で中継通信網が構築されている。子機１０、親機２０及び複数台の中継機３０は無線通信ネットワークを構成する通信ノードであり、各々の通信ノードには、無線通信ネットワーク内で個々のノードを識別するための個別のノード番号が付与されている。本実施形態の無線通信システムでは、親機２０のノード番号が「０」に設定され、３台ある中継機３０の各々に「１」〜「３」のノード番号がそれぞれ設定され、子機１０には「１１」のノード番号が設定されている。なお、図１、図５、図６の説明図において、子機１０、親機２０、中継機３０のそれぞれを示す四角の箱内の数字は、子機１０、親機２０、中継機３０のそれぞれに割り当てられたノード番号を示している。
【００２１】
次に、子機１０と親機２０と中継機３０の構成を図２〜図４に基づいて説明する。
【００２２】
子機１０は、図２に示すように、ＭＣＵ（Micro Control Unit）１００と、記憶部１０１と、無線通信部１０２と、アンテナ１０３と、有線通信部１０４と、操作部１０５と、表示部１０６と、電源部１０７と、測定部１０８とを備えている。子機１０は、測定部１０８が測定したデータを親機２０に一定の時間間隔で無線送信する。
【００２３】
ＭＣＵ１００は、記憶部１０１に記憶されたプログラムを実行することによって、制御部としての機能を実現する。ＭＣＵ１００が実行するプログラムは、電気通信回線を通じて提供されてもよいし、メモリカードなどの記録媒体に記憶されて提供されてもよい。
【００２４】
無線通信部１０２は例えば特定小電力無線の通信規格に適合した無線モジュールからなり、アンテナ１０３を介して無線信号の送信又は受信を行う。また、無線通信部１０２は、受信信号の受信信号強度を測定する機能も備える。
【００２５】
記憶部１０１はＲＯＭやＲＡＭなどを備える。記憶部１０１は、ＥＥＰＲＯＭ（electrically erasable and programmable read only memory）などの電気的に書き換え可能な不揮発性メモリを備えてもよい。記憶部１０１は、ＭＣＵ１００が実行するプログラムを記憶する。記憶部１０１は、子機１０に割り当てられた識別情報（アドレスやノード番号）や、測定部１０８による測定データや、通信経路の情報などを記憶する。また、記憶部１０１は、ＡＣＫの受信待ち時間や、データを再送する場合の規定回数及び最大再送回数を記憶する。ここにおいて、ＡＣＫの受信待ち時間とは、データ送信後に無線通信部１０２をＡＣＫが受信可能な状態で動作させる時間のことをいう。本実施形態では、記憶部１０１は、ＡＣＫの受信待ち時間として、ブロードキャストでデータを送信した場合の受信待ち時間である第１時間と、ユニキャストでデータを送信した場合の受信待ち時間である第２時間及び第３時間を記憶する。第２時間は、第１時間よりも短い時間であって、無線通信部１０２が送信先のノードにユニキャストでデータを送信してからＡＣＫを受信するまでにかかった時間の最大時間に設定されていればよい。第３時間は、第２時間よりも長く、かつ、第１時間よりも短い時間に設定されていればよい。
【００２６】
有線通信部１０４は、例えば設定器などの機器に通信線を介して接続され、有線通信方式で通信を行う。
【００２７】
操作部１０５は、例えば測定部１０８による測定範囲の下限値及び上限値や、測定間隔や、測定データの送信間隔をユーザが設定するために用いられる。操作部１０５は、ＡＣＫの受信待ち時間や、データを再送する場合の規定回数及び最大再送回数をユーザが設定するためにも用いられる。
【００２８】
表示部１０６は例えば１個又は複数個の発光ダイオードからなり、ＭＣＵ１００によって点灯／消灯が制御される。
【００２９】
電源部１０７は例えば電池を電源として、子機１０の内部回路に対して動作に必要な電力を供給する。
【００３０】
測定部１０８は、例えば温度を測定するためのものであり、周囲温度に応じて電気抵抗が変化するサーミスタを備え、サーミスタの抵抗値を測定することによって周囲温度を測定する。なお、測定部１０８の測定対象は温度に限定されず、周囲の湿度や照度など使用目的や用途に応じた物理量を測定すればよい。
【００３１】
親機２０は、図３に示すように、ＭＣＵ２００と、記憶部２０１と、無線通信部２０２と、アンテナ２０３と、有線通信部２０４と、操作部２０５と、表示部２０６と、電源部２０７とを備えている。
【００３２】
ＭＣＵ２００は、記憶部２０１に記憶されたプログラムを実行することによって、親機２０としての機能を実現する。ＭＣＵ２００が実行するプログラムは、電気通信回線を通じて提供されてもよいし、メモリカードなどの記録媒体に記憶されて提供されてもよい。
【００３３】
無線通信部２０２は例えば特定小電力無線の通信規格に適合した無線モジュールからなり、アンテナ２０３を介して無線信号の送信又は受信を行う。また、無線通信部２０２は、受信信号の受信信号強度を測定する機能も備える。
【００３４】
記憶部２０１はＲＯＭやＲＡＭなどを備える。記憶部２０１は、ＥＥＰＲＯＭなどの電気的に書き換え可能な不揮発性メモリを備えてもよい。記憶部２０１は、ＭＣＵ２００が実行するプログラムを記憶する。記憶部２０１は、親機２０に割り当てられた識別情報や、子機１０から収集した測定データや、通信経路の情報などを記憶する。また、記憶部２０１は、親機２０が送信元となってデータを送信する場合のＡＣＫの受信待ち時間や、データを再送する場合の規定回数及び最大再送回数を記憶する。記憶部２０１には、ＡＣＫの受信待ち時間として、ブロードキャストでデータを送信した場合の受信待ち時間である第１時間と、ユニキャストでデータを送信した場合の受信待ち時間である第２時間及び第３時間が記憶されている。第２時間は、第１時間よりも短い時間であって、無線通信部２０２が送信先のノードにユニキャストでデータを送信してからＡＣＫを受信するまでにかかった時間の最大時間に設定されていればよい。第３時間は、第２時間よりも長く、かつ、第１時間よりも短い時間に設定されていればよい。
【００３５】
有線通信部２０４は、例えばサーバに通信線を介して接続されており、子機１０から収集したデータを有線通信方式でサーバに送信する。
【００３６】
操作部２０５は、例えば親機２０の動作設定をユーザが行うために使用される。操作部２０５は、親機２０が送信元となってデータを送信する場合のＡＣＫの受信待ち時間や、データを再送する場合の規定回数及び最大再送回数を設定するためにも使用される。
【００３７】
表示部２０６は例えば１個又は複数個の発光ダイオードからなり、ＭＣＵ２００によって点灯／消灯が制御される。
【００３８】
電源部２０７は、例えば商用電源から電力の供給を受け、親機２０の内部回路に対して動作に必要な電力を供給する。
【００３９】
中継機３０は、子機１０と親機２０との間の無線通信を中継する機能を備えている。中継機３０は、図４に示すように、ＭＣＵ３００と、記憶部３０１と、無線通信部３０２と、アンテナ３０３と、有線通信部３０４と、操作部３０５と、表示部３０６と、電源部３０７とを備えている。
【００４０】
ＭＣＵ３００は、記憶部３０１に記憶されたプログラムを実行することによって、中継機３０としての機能を実現する。ＭＣＵ３００が実行するプログラムは、電気通信回線を通じて提供されてもよいし、メモリカードなどの記録媒体に記憶されて提供されてもよい。
【００４１】
記憶部３０１はＲＯＭやＲＡＭなどを備える。記憶部３０１は、ＥＥＰＲＯＭなどの電気的に書き換え可能な不揮発性メモリを備えてもよい。記憶部３０１は、ＭＣＵ３００が実行するプログラムを記憶する。記憶部３０１は、自機に割り当てられた識別情報や、無線通信部３０２が受信したデータや、無線通信部３０２が過去に送信したデータや、通信経路の情報などを記憶する。また、記憶部３０１は、ＡＣＫの受信待ち時間や、データを再送する場合の規定回数及び最大再送回数を記憶する。記憶部３０１には、ＡＣＫの受信待ち時間として、ブロードキャストでデータを送信した場合の受信待ち時間である第１時間、ユニキャストでデータを送信した場合の受信待ち時間である第２時間及び第３時間が記憶されている。第２時間は、第１時間よりも短い時間であって、無線通信部３０２が送信先のノードにユニキャストでデータを送信してからＡＣＫを受信するまでにかかった時間の最大時間に設定されていればよい。第３時間は、第２時間よりも長く、かつ、第１時間よりも短い時間に設定されていればよい。
【００４２】
無線通信部３０２は例えば特定小電力無線の通信規格に適合した無線モジュールからなり、アンテナ３０３を介して無線信号の送信又は受信を行う。また、無線通信部３０２は、受信信号の受信信号強度を測定する機能も備える。
【００４３】
有線通信部３０４は、例えば設定器などの機器に通信線を介して接続され、有線通信方式で通信を行う。
【００４４】
操作部３０５は、例えば中継機３０の動作設定をユーザが行うために使用される。操作部３０５は、ＡＣＫの受信待ち時間や、データを再送する場合の規定回数及び最大再送回数をユーザが設定するためにも使用される。
【００４５】
表示部３０６は例えば１個又は複数個の発光ダイオードからなり、ＭＣＵ３００によって点灯／消灯が制御される。
【００４６】
電源部３０７は例えば電池を電源として、中継機３０の内部回路に対して動作に必要な電力を供給する。中継機３０は電池を電源としているので、中継機３０を自由な場所に設置して使用することができる。なお、電源部３０７は商用電源から電力の供給を受けて、中継機３０の内部回路に動作に必要な電力を供給してもよい。
【００４７】
次に、本実施形態の無線通信システムにおいて、子機１０と親機２０との間の通信経路が確立されていない状態で子機１０から親機２０へデータ（例えば測定データ）を送信する処理について、図１、図５及び図６を参照して説明する。なお、子機１０、親機２０、複数台の中継機３０には、それぞれ別個のノード番号が付与されており、以下では複数台の中継機３０を区別して説明するために、ノード番号を使用して説明する。例えば、ノード番号が「２」の中継機３０は２番の中継機３０と表記する。また、図１、図５及び図６における矢印線はノード間の通信を示し、実線の矢印線はデータの送信処理を、点線の矢印線はＡＣＫの送信処理を示している。
【００４８】
子機１０から親機２０までデータを送信する通信経路が確立されていない状態で、子機１０が測定データを１回目に送信する場合の通信手順について図１を参照して説明する。
【００４９】
子機１０のＭＣＵ１００は、所定のサンプリング間隔（例えば数秒から数分の間隔）でスリープモードから起動し、測定部１０８に温度を測定させる。ＭＣＵ１００は、測定部１０８の測定データと、送信データに割り付けた個別のシーケンス番号とを格納し、宛先アドレスをブロードキャストアドレス、送信元アドレス及びデータ元アドレスを自機のアドレス（例えばノード番号）とした送信データを作成する。ＭＣＵ１００は、作成した送信データをブロードキャストで送信するように無線通信部１０２を制御し、子機１０から送信データがブロードキャストで無線送信される（図１の処理Ｔ１）。
【００５０】
図１の例では子機１０の通信圏内にノード番号が１番〜３番の３台の中継機３０が存在し、子機１０から送信されたデータは、これら３台の中継機３０の無線通信部３０２で受信される。各中継機３０のＭＣＵ３００は、受信したデータから、測定データとシーケンス番号と宛先アドレス（ブロードキャストアドレス）と送信元アドレスとデータ元アドレスを取り出す。子機１０からのデータを受信した１番〜３番の中継機３０の各々は、送信元の子機１０にＡＣＫ（acknowledgement：肯定応答）を送信する。ここで、各中継機３０のＭＣＵ３００は、データを受信した場合にＡＣＫを送信するまでのウエイト時間をランダムな時間に設定している。１番〜３番の中継機３０のＭＣＵ３００は、それぞれ、データ受信時からウエイト時間の経過後に無線通信部３０２を制御して、送信元の子機１０宛てにＡＣＫを送信させる（図１の処理Ｔ２）。なお、ウエイト時間はランダムな時間に設定されているので、複数の中継機３０から同時にＡＣＫが送信される可能性が低くなり、データの衝突による通信エラーが起こりにくくなる。
【００５１】
子機１０のＭＣＵ１００は、ブロードキャストでデータを送信した時点から一定の受信待ち時間が経過するまでの間は、無線通信部１０２がＡＣＫを受信可能な状態となるように無線通信部１０２を制御する。なお、子機１０のＭＣＵ１００は、データ送信後にいずれかの中継機３０から送信されたＡＣＫを受信できれば、データの送信に成功したと判断し、データ送信時から受信待ち時間が経過する前であってもスリープモードに移行して、消費電力の低減を図る。
【００５２】
図１の例では、１番の中継機３０のウエイト時間が、他の中継機３０のウエイト時間よりも短い時間となっている。そのため、１番の中継機３０が、他の中継機３０よりも早く、ウエイト時間の経過後に子機１０にＡＣＫを送信する。ここで、子機１０のＭＣＵ１００は、無線通信部１０２が１番の中継機３０からのＡＣＫを受信すると、データＤ１の送信に成功したと判断して、スリープモードに移行する。したがって、２番及び３番の中継機３０が子機１０にＡＣＫを送信した時点では、子機１０はスリープモードに移行しており、子機１０は２番及び３番の中継機３０からのＡＣＫを受信できない。子機１０は、２番及び３番の中継機３０からのＡＣＫを受信できないが、１番の中継機３０からのＡＣＫを受信することでデータＤ１の送信に成功したと判断できるから、特に問題はない。なお、子機１０のＭＣＵ１００は、データを送信した時点から受信待ち時間が経過するまでの間に無線通信部１０２がＡＣＫを受信できなければ、データの送信に失敗したと判断する。この場合、子機１０のＭＣＵ１００は、送信に失敗したデータの再送処理を行ってからスリープモードに移行してもよいし、スリープモードに移行して次回のデータ送信時に今回のデータを一緒に送信してもよい。
【００５３】
各中継機３０は、下位ノードからブロードキャストで送信されたデータを受信した場合、このデータに対するＡＣＫを送信する前に、同一のデータに対して他の中継機３０から送信されたＡＣＫを受信すると、上位ノードへの中継送信は行わないように構成される。図１の例では１番の中継機３０が子機１０にＡＣＫを最初に送信しているため、１番の中継機３０のみがデータの中継送信を行う。２番及び３番の中継機３０は、ＡＣＫを送信する前に１番の中継機３０から送信されたＡＣＫを受信するため、データの中継送信を行わず、ＡＣＫの送信のみ行う。なお、２番及び３番の中継機３０は、子機１０から送信されたデータを受信した後に同一のデータに対して他の中継機３０から子機１０に送信されたＡＣＫを受信した場合、データの中継送信も、子機１０へのＡＣＫの送信も行わないようにしてもよい。すなわち、子機１０から送信されたデータを中継機３０が受信した場合、子機１０に対して１番最初にＡＣＫを送信した中継機３０のみが、子機１０へのＡＣＫの送信と、上位ノードへのデータの中継送信を行うようにしてもよい。
【００５４】
１番の中継機３０のＭＣＵ３００は、処理Ｔ１で子機１０から送信されたデータＤ１を受信すると、子機１０から受信した送信データから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り込む。そして、１番の中継機３０のＭＣＵ３００は、測定データとシーケンス番号とを含め、宛先アドレスをブロードキャストアドレス、送信元アドレスを自機のアドレス、データ元アドレスを１１番の子機１０のアドレスとした送信データを作成する。そして、１番の中継機３０のＭＣＵ３００は、データ受信時から送信待ち時間が経過した時点で、この送信データをブロードキャストで送信するように無線通信部３０２を制御する（図１の処理Ｔ３）。ここで、送信待ち時間は、あらかじめ設定された一定の時間でもよいし、ランダムな時間でもよい。また、送信待ち時間は、データを受信してからＡＣＫを送信するまでのウエイト時間よりも長い時間に設定されるのが好ましく、１番の中継機３０が中継送信するデータと、２番及び３番の中継機３０から送信されるＡＣＫとが衝突する可能性が低下する。
【００５５】
図１の例では、１番の中継機３０の通信圏内に子機１０と親機２０と２番の中継機３０とが存在しているので、１番の中継機３０からブロードキャストで送信されたデータは、親機２０の無線通信部２０２と、２番の中継機３０の無線通信部３０２とに受信される。子機１０は、データ送信後にスリープモードになっているので、１番の中継機３０から送信されたデータは子機１０では受信されない。
【００５６】
親機２０の無線通信部２０２が、１番の中継機３０からの送信データを受信すると、親機２０のＭＣＵ２００は、受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。親機２０のＭＣＵ２００は、１番の中継機３０から送信データを受信すると、ウエイト時間を設けず、送信元である１番の中継機３０に最終宛先情報を付加したＡＣＫを送信する（図１の処理Ｔ４）。最終宛先情報とは、送信元の通信ノードが親機２０と通信可能な通信ノードであることを示す情報であり、本実施形態では最終宛先情報を親機２０までの中継ホップ数としている。したがって、親機２０は、１番の中継機３０に対して親機２０までの中継ホップ数であるデータの「１」を付加したＡＣＫを送信する。なお、処理Ｔ２で１番〜３番の中継機３０がＡＣＫを送信する場合、１番〜３番の中継機３０は上位ノードから最終宛先情報を受信していないので、１番〜３番の中継機３０から送信されるＡＣＫには最終宛先情報が付加されていない。換言すれば、処理Ｔ２で１番〜３番の中継機３０から送信されるＡＣＫには、中継ホップ数がゼロであることを示すデータが付加されていることになる。本実施形態では、子機１０及び中継機３０は、最終宛先情報が付加されたＡＣＫを上位ノード（親機２０又は中継機３０）から受信すれば、最終宛先情報が付加されたＡＣＫを送信してきた上位ノードを送信先のノードに決定する。
【００５７】
また、２番の中継機３０の無線通信部３０２が１番の中継機３０からの送信データを受信すると、２番の中継機３０のＭＣＵ３００は、受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。２番の中継機３０のＭＣＵ３００は、１番の中継機３０から送信データを受信すると、ウエイト時間の経過後に、送信元である１番の中継機３０へＡＣＫを送信する（図１の処理Ｔ５）。
【００５８】
ここで、１番の中継機３０のＭＣＵ３００は、データ送信時からＡＣＫの受信待ち時間である第１時間が経過するまでの間は無線通信部３０２を受信状態で動作させ、第１時間が経過するまでの間に送信されたＡＣＫを全て受信する。ここにおいて、第１時間は、中継機３０の台数分のＡＣＫが連続して送信される場合に全てのＡＣＫを受信可能な時間に設定されており、本実施形態では例えば３０ミリ秒に設定されている。図１の例では、１番の中継機３０は、親機２０から最終宛先情報が付加されたＡＣＫを受信するので、親機２０を送信先ノードとして確定し、次回のデータ送信時は親機２０に対してユニキャストでデータを送信する。また、１番の中継機３０は、２番の中継機３０からもＡＣＫを受信するので、２番の中継機３０を送信先の候補ノードとして記憶部３０１に記憶させる。
【００５９】
次に、子機１０が測定データを２回目に送信する場合の通信手順について図５を参照して説明する。なお、図１を参照して説明した通信手順と共通する通信手順については簡単に説明する。
【００６０】
子機１０のＭＣＵ１００は、次回の送信タイミングがくると、スリープモードから起動する。子機１０のＭＣＵ１００は、測定部１０８が測定した測定データとシーケンス番号とを格納した送信データを、ブロードキャストで送信するように無線通信部１０２を制御する（図５の処理Ｔ１１）。
【００６１】
図５の例では、１番〜３番の中継機３０が子機１０から送信されたデータを受信し、送信元の子機１０宛てにＡＣＫを送信する（図５の処理Ｔ１２）。子機１０のＭＣＵ１００は、データ送信後に無線通信部１０２を受信状態で動作させており、１番〜３番の中継機３０のうち最初にＡＣＫを送信してきた１番の中継機３０からのＡＣＫを受信すると、スリープモードに移行する。ここで、１番の中継機３０からは最終宛先情報が付加されたＡＣＫが送信されるので、子機１０は、１番の中継機３０から送信された最終宛先情報を記憶部１０１に記憶させる。子機１０は、１番の中継機３０を送信先ノードとして確定し、次回のデータ送信時は１番の中継機３０に対してユニキャストでデータを送信する。また、図５の例では１番の中継機３０が最初にＡＣＫを送信するため、１番の中継機３０のみがデータを中継送信する。２番及び３番の中継機３０は、ＡＣＫを送信する前に、１番の中継機３０から送信されたＡＣＫを受信したため、データの中継送信は行わず、ＡＣＫの送信のみ行う。なお、２番及び３番の中継機３０は、子機１０から送信されたデータを受信した後に同一のデータに対して他の中継機３０から子機１０に送信されたＡＣＫを受信した場合、データの中継送信も、子機１０へのＡＣＫの送信も行わないようにしてもよい。
【００６２】
１番の中継機３０のＭＣＵ３００は、処理Ｔ１１で子機１０から送信されたデータより、測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り込む。そして、１番の中継機３０のＭＣＵ３００は、測定データとシーケンス番号とを含め、宛先アドレスを親機２０のアドレス、送信元アドレスを自機のアドレス、データ元アドレスを１１番の子機１０のアドレスとした送信データを作成する。そして、１番の中継機３０のＭＣＵ３００は、データ受信時から送信待ち時間が経過した時点で、この送信データを親機２０へユニキャストで送信するように無線通信部３０２を制御する（図５の処理Ｔ１３）。
【００６３】
１番の中継機３０から親機２０へユニキャストで送信されたデータは、親機２０の無線通信部２０２で受信される。親機２０の無線通信部２０２が１番の中継機３０からの送信データを受信すると、親機２０のＭＣＵ２００はウエイト時間を設けずに送信元である１番の中継機３０に最終宛先情報を付加したＡＣＫを送信する（図５の処理Ｔ１４）。これにより、子機１０から親機２０へのデータの送信処理が終了する。
【００６４】
１番の中継機３０のＭＣＵ３００は、ユニキャストでデータを送信したので、ＡＣＫの受信待ち時間を、ブロードキャストでデータを送信した場合の第１時間よりも短い第２時間とする。１番の中継機３０のＭＣＵ３００は、ユニキャストでデータを送信した時点から第２時間が経過するまでの間は、無線通信部１０２がＡＣＫを受信可能な状態となるように無線通信部１０２を制御する。ユニキャストでデータを送信する場合は送信先のノードが決まっているので、ブロードキャストでデータを送信する場合に比べて、ＡＣＫが送信されるまでの時間は短くなる。したがって、本実施形態では第２時間を第１時間よりも短い所定の時間（例えば２ミリ秒）に設定している。
【００６５】
以上のようにして子機１０から親機２０までの通信経路が確立すると、以降は子機１０→１番の中継機３０→親機２０の通信経路で子機１０から親機２０へとユニキャストでデータが送信される。この場合の通信処理を図６にしたがって説明する。なお、図１及び図５を参照して説明した通信手順と共通する通信手順については簡単に説明する。
【００６６】
子機１０のＭＣＵ１００は、次回の送信タイミングがくると、スリープモードから起動し、測定部１０８に温度を測定させる。子機１０のＭＣＵ１００は、測定部１０８が測定した測定データとシーケンス番号とを格納した送信データを、１番の中継機３０にユニキャストで送信するように無線通信部１０２を制御する（図６の処理Ｔ２１）。子機１０のＭＣＵ１００は、データ送信後に無線通信部１０２がＡＣＫを受信可能な状態に無線通信部１０２を制御する。
【００６７】
１番の中継機３０は、子機１０からユニキャストで送信されたデータを受信すると、送信元の子機１０へＡＣＫを送信する（図６の処理Ｔ２２）。
【００６８】
また、１番の中継機３０は、子機１０から受信したデータより、測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。１番の中継機３０は、測定データとシーケンス番号とを含め、宛先アドレスを親機２０のアドレス、送信元アドレスを自機のアドレス、データ元アドレスを子機１０のアドレスとした送信データを作成する。そして、１番の中継機３０は、データ受信後から送信待ち時間が経過した時点で、この送信データを親機２０へユニキャストで送信させる（図６の処理Ｔ２３）。
【００６９】
親機２０は、１番の中継機３０からユニキャストで送信されたデータを受信すると、ウエイト時間を設けずに、送信元である１番の中継機３０へＡＣＫを送信する（図６の処理Ｔ２４）。これにより、子機１０から親機２０へのデータの送信処理が終了する。
【００７０】
上述のように、本実施形態の中継機３０は、ユニキャストでデータを送信した場合のＡＣＫの受信待ち時間である第２時間を、ブロードキャストでデータを送信した場合のＡＣＫの受信待ち時間である第１時間よりも短い時間に設定している。中継機３０は、ＡＣＫの受信待ち時間をブロードキャストでの通信時とユニキャストでの通信時とで変更しており、この動作を図７に基づいて説明する。
【００７１】
図７では、下位の通信ノードである４番の中継機３０が、上位の通信ノードである１番の中継機３０にデータを送信する場合の動作について説明する。
【００７２】
４番の中継機３０は、送信先のノードが決定していない状態では、ブロードキャストでデータを送信しており、データ送信後のＡＣＫの受信待ち時間を第１時間ＤＴ１に設定している。４番の中継機３０がデータＤ１をブロードキャストで送信すると、４番の中継機３０から送信されたデータＤ１は１番〜３番の中継機３０で受信される。４番の中継機３０のＭＣＵ３００は、ブロードキャストでデータを送信した時刻ｔ１から第１時間ＤＴ１が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。図７の例では、４番の中継機３０は、時刻ｔ１から第１時間ＤＴ１が経過するまでの間に１番、２番、３番の中継機３０からのＡＣＫ（Ａ１１，Ａ２１，Ａ３１）を受信する。これにより、４番の中継機３０は、１番目にＡＣＫを受信した１番の中継機３０を送信先のノードに決定し、２番及び３番の中継機３０を送信先の候補ノードに決定する。なお、１番の中継機３０は、データＤ１を受信した時点から送信待ち時間が経過した時刻ｔ２に、データＤ１１を上位ノードに送信する。
【００７３】
その後、４番の中継機３０が、下位ノードから送信されたデータを受信すると、受信したデータをもとに作成したデータＤ２を１番の中継機３０にユニキャストで送信する。４番の中継機３０のＭＣＵ３００は、データ送信時（時刻ｔ１１）から第２時間ＤＴ２が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。４番の中継機３０のＭＣＵ３００は、時刻ｔ１１から第２時間ＤＴ２が経過するまでの間に１番の中継機３０からのＡＣＫ（Ａ１２）を受信できれば、データ送信に成功したと判断し、データの中継処理を終了する。なお、１番の中継機３０は、データＤ２を受信した時点から送信待ち時間が経過した時刻ｔ１２に、データＤ１２を上位ノードに送信する。
【００７４】
また、４番の中継機３０が、下位ノードから送信されたデータを受信すると、受信したデータをもとに作成したデータＤ３を１番の中継機３０にユニキャストで送信する。４番の中継機３０のＭＣＵ３００は、データ送信時（時刻ｔ１３）から第２時間ＤＴ２が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。４番の中継機３０のＭＣＵ３００は、時刻ｔ１３から第２時間ＤＴ２が経過するまでの間に無線通信部３０２がＡＣＫを受信できなければ、データの送信に失敗したと判断する。そして、４番の中継機３０は、データ送信に失敗したと判断してから再送待ち時間が経過した時点で、１番の中継機３０に対してユニキャストでデータＤ３を再送する。このように、ユニキャストでの通信ではＡＣＫの受信待ち時間を第２時間ＤＴ２に設定しているので、ＡＣＫの受信待ち時間が第１時間ＤＴ１に設定されている場合に比べて、データ送信に失敗した場合にデータが再送されるまでの時間が短縮される。なお、４番の中継機３０は、１番の中継機３０に対してユニキャストでデータＤ３を再送した時点（時刻ｔ１４）から第２時間ＤＴ２が経過するまでの間に、１番の中継機３０からＡＣＫ（Ａ１３）を受信できれば、データの再送処理を終了する。
【００７５】
なお、本実施形態の無線通信システムにおいて、計測対象の物理量（温度、湿度、照度など）を測定するセンサが中継機３０に接続されている場合、親機２０が中継機３０に対してセンサの測定データを要求する要求データを送信する場合もある。また、親機２０が子機１０にセンサの測定データを要求する要求データを送信する場合もある。この場合は親機２０が送信元ノードとなって、測定データを要求する対象の中継機３０又は子機１０が最終宛先ノードとなる。
【００７６】
また、本実施形態では、子機１０が、データ送信後にＡＣＫを受信できればスリープモードに移行しているが、中継機３０と同様に、データ送信時から受信待ち時間が経過するまでの間、無線通信部１０２がＡＣＫを受信可能な状態としてもよい。子機１０は、ユニキャストでデータを送信した場合に無線通信部１０２がＡＣＫを受信可能な状態となる第２時間ＤＴ２を、ブロードキャストでデータを送信した場合に無線通信部１０２がＡＣＫを受信可能な状態となる第１時間より短い時間に設定してもよい。
【００７７】
上述のように、通信ノード（子機１０、親機２０、中継機３０）の制御部（ＭＣＵ１００，２００，３００）は、通信経路が確立していない状態ではブロードキャストでデータを送信するように無線通信部（無線通信部１０２，２０２，３０２）を制御する。そして、制御部は、最終宛先ノードまでの通信経路の少なくとも一部が確立することによって送信先のノードが決定されると、送信先のノードにユニキャストでデータを送信するように無線通信部を制御する。送信先のノードが決定した通信ノードは、送信先のノードに対してユニキャストでデータを送信するから、ブロードキャストでデータを送信する場合に比べて、送信されるＡＣＫの数が減少する。したがって、通信量が低減し、送信データが衝突する可能性が低下する。さらに、通信ノードの制御部は、ユニキャストでデータを送信した場合に無線通信部がＡＣＫを受信可能な状態となる受信待ち時間を、ブロードキャストでデータを送信した場合の受信待ち時間である第１時間ＤＴ１よりも短い第２時間ＤＴ２に設定している。これにより、通信ノードがユニキャストでのデータ送信に失敗した場合、ブロードキャストでのデータ送信に比べてデータを再送するまでの時間が短くなり、最終宛先ノードまでデータが到達するのに要する到達時間を短くできる。特に、最終宛先ノードまでの中継ホップ数が多い場合は、各々の中継ノードでデータが再送されるまでの時間が短くなるから、最終宛先ノードまでデータが到達するのにかかる到達時間を短縮する効果が大きくなる。
【００７８】
また、本実施形態では各通信ノードの制御部は、無線通信部がブロードキャストでデータを送信した場合にＡＣＫを送信してきた全てのノードを候補ノードとして記憶部に記憶させている。各通信ノードの制御部は、無線通信部から送信先のノードへのデータ送信に失敗した場合、記憶部に記憶された候補ノードのうち送信先のノード以外の候補ノードにユニキャストでデータを送信するように無線通信部を制御してもよい。
【００７９】
ここで、１番〜４番の中継機３０を備え、４番の中継機３０が、１番の中継機３０を送信先のノードに決定し、２番及び３番の中継機３０を候補ノードとしている場合の動作を図８に基づいて説明する。
【００８０】
４番の中継機３０が、下位ノードから受信したデータＤ４を時刻ｔ１５に１番の中継機３０に送信した場合に、１番の中継機３０が通信エラーなどでデータＤ４の受信に失敗すると、１番の中継機３０から４番の中継機３０へＡＣＫが送信されなくなる。そのため、４番の中継機３０の無線通信部３０２は、データＤ４の送信時点から第２時間ＤＴ２が経過するまでの間に１番の中継機３０からのＡＣＫを受信できなくなる。４番の中継機３０のＭＣＵ３００は、１番の中継機３０からのＡＣＫを受信できないため、１番の中継機３０との通信に失敗したと判断し、記憶部３０１に記憶された候補ノード（２番及び３番の中継機３０）のうちのいずれかを送信先ノードに決定する。ここで、４番の中継機３０の記憶部３０１には候補ノードである２番及び３番の中継機３０の各々について受信信号強度の測定値が記憶されている。４番の中継機３０のＭＣＵ３００は、記憶部３０１に記憶された受信信号強度をもとに、２番及び３番の中継機３０のうち受信信号強度がより高いノード、例えば２番の中継機３０を送信先ノードに決定する。そして、下位の中継機３０のＭＣＵ３００は、時刻ｔ１６において、送信に失敗したデータＤ４を、２番の中継機３０にユニキャストで送信するように無線通信部３０２を制御する。４番の中継機３０のＭＣＵ３００は、ユニキャストでデータＤ４を送信した後に無線通信部３０２が２番の中継機３０からのＡＣＫ（Ａ２２）を受信すると、データＤ４の送信に成功したと判断して、通信処理を終了する。
【００８１】
その後、４番の中継機３０のＭＣＵ３００が、下位ノードからデータＤ５を受信すると、受信したデータＤ５を２番の中継機３０にユニキャストで送信するように無線通信部３０２を制御する（時刻ｔ１７）。４番の中継機３０のＭＣＵ３００は、ユニキャストでデータＤ５を送信した時点から第２時間ＤＴ２が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。
【００８２】
２番の中継機３０が通信エラーなどでデータＤ５の受信に失敗した場合、４番の中継機３０の無線通信部３０２は、データＤ４の送信時点から第２時間ＤＴ２が経過するまでの間に２番の中継機３０からのＡＣＫを受信できなくなる。４番の中継機３０のＭＣＵ３００は、２番の中継機３０からのＡＣＫを受信できないため、２番の中継機３０との通信に失敗したと判断し、記憶部３０１に記憶された候補ノードである３番の中継機３０を送信先ノードに決定する。そして、４番の中継機３０のＭＣＵ３００は、時刻ｔ１８において、送信に失敗したデータＤ５を、３番の中継機３０にユニキャストで送信するように無線通信部３０２を制御する。データＤ５の送信時（時刻ｔ１８）から第２時間ＤＴ２が経過するまでの間に４番の中継機３０の無線通信部３０２が３番の中継機３０からのＡＣＫ（Ａ３２）を受信すると、４番の中継機３０のＭＣＵ３００はデータＤ５の送信に成功したと判断する。４番の中継機３０のＭＣＵ３００は、データＤ５の送信に成功すると、通信処理を終了する。
【００８３】
このように、各々の通信ノード（子機１０、親機２０又は中継機３０）は、送信先のノードへのデータ送信に失敗した場合、候補ノードにデータをユニキャストで送信しているので、最終宛先ノードまでの通信経路を再構築するのに要する時間を短くできる。しかも、通信ノードの制御部は、候補ノードにデータを再送信する場合もＡＣＫの受信待ち期間を第２時間Ｔ２に短縮しているので、ブロードキャストでデータを再送信する場合に比べ、データ送信に失敗した場合にデータを再送信するまでの時間が短くなる。したがって、送信元ノードから最終宛先ノードまでデータが到達するのに要する到達時間を短くできる。
【００８４】
ところで、第２時間ＤＴ２は、無線通信部（無線通信部１０２，２０２，３０２）が送信先のノードにユニキャストでデータを送信してからＡＣＫを受信するまでにかかった時間の最大時間に設定されるのが好ましい。各通信ノードの制御部は、例えば数時間程度のデータ収集期間において、無線通信部が送信先のノードにユニキャストでデータを送信してからＡＣＫを受信するまでにかかった時間を記憶部（記憶部１０１，２０１，３０１）に記録する。そして、各通信ノードの制御部は、記憶部に記憶された時間のうちの最大時間を第２時間ＤＴ２に設定すればよい。これにより、各通信ノードから送信先のノードへのユニキャストでのデータ送信が正常に行われた場合は、送信先のノードから送信されるＡＣＫを確実に受信できる。なお、送信先のノードによってデータを送信してからＡＣＫを受信できるまでの時間が異なる場合があるので、第２時間ＤＴ２は送信先のノードごとに設定されていてもよい。
【００８５】
また、本実施形態の無線通信システムにおいて、各通信ノードの制御部は、無線通信部が送信先のノードへのデータ送信に失敗した場合、データを送信先のノードへ再送信するように無線通信部を制御してもよい。そして、各通信ノードの制御部は、送信先のノードへデータを再送信する再送回数が規定回数以上になると、ユニキャストでデータを送信した場合の受信待ち時間を第３時間に設定してもよい。ここで、第３時間は、第２時間ＤＴ２よりも長く、かつ、第１時間ＤＴ１よりも短い時間であってもよい。
【００８６】
例えば、４番の中継機３０が、１番の中継機３０を送信先のノードに設定している場合の通信処理を図８に基づいて説明する。
【００８７】
４番の中継機３０のＭＣＵ３００は、下位ノードからデータを受信すると、受信したデータをもとに作成した送信データＤ６を１番の中継機３０にユニキャストで送信するように無線通信部３０２を制御する（時刻ｔ２１）。４番の中継機３０のＭＣＵ３００は、ユニキャストでデータＤ６を送信した時点から第２時間ＤＴ２が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。
【００８８】
ここで、１番の中継機３０が通信エラーなどでデータＤ６の受信に失敗した場合、４番の中継機３０の無線通信部３０２は、データＤ６の送信時点から第２時間ＤＴ２が経過するまでの間に１番の中継機３０からのＡＣＫを受信できなくなる。４番の中継機３０のＭＣＵ３００は、１番の中継機３０からのＡＣＫを受信できないため、１番の中継機３０との通信に失敗したと判断し、１番の中継機３０にデータＤ６をユニキャストで再送信するように無線通信部３０２を制御する（時刻ｔ２２）。４番の中継機３０のＭＣＵ３００は、ユニキャストでデータＤ６を送信した時点（時刻ｔ２２）から第２時間ＤＴ２が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。
【００８９】
１番の中継機３０が通信エラーなどでデータＤ６の受信に再び失敗した場合、４番の中継機３０の無線通信部３０２は、データＤ６の送信時点から第２時間ＤＴ２が経過するまでの間に１番の中継機３０からのＡＣＫを受信できなくなる。４番の中継機３０のＭＣＵ３００は、１番の中継機３０からのＡＣＫを受信できないため、１番の中継機３０との通信に失敗したと判断し、１番の中継機３０にデータＤ６をユニキャストで再送信するように無線通信部３０２を制御する（時刻ｔ２３）。４番の中継機３０のＭＣＵ３００は、送信先のノードへデータを再送信する再送回数をカウントしており、再送回数が規定回数（例えば２回）以上になると、受信待ち時間を第２時間ＤＴ２よりも長く、かつ、第１時間ＤＴ１よりも短い第３時間ＤＴ３１に設定する。受信待ち時間を第３時間ＤＴ３１に延ばしているから、４番の中継機３０と１番の中継機３０との間の通信経路で電波が障害物に当たって反射を繰り返すことでＡＣＫが４番の中継機３０に届くまでの時間が長くなったとしても、ＡＣＫを受信しやすくなる。
【００９０】
また、各通信ノードの制御部は、送信先のノードへデータを再送信する再送回数が規定回数以上になると、再送回数が増えるにつれて、ユニキャストでデータを送信した場合の受信待ち時間である第３時間を段階的に長くしてもよい。
【００９１】
図９の例では、４番の中継機３０のＭＣＵ３００は、データＤ６の再送回数が２回（規定回数）になると、ＡＣＫの受信待ち時間を第３時間ＤＴ３１に設定する。そして、４番の中継機３０のＭＣＵ３００は、データＤ６の再送回数が３回になると、ＡＣＫの受信待ち時間を第３時間ＤＴ３２（ＤＴ３１＜ＤＴ３２＜ＤＴ１）に設定する。このように、データの再送回数が規定回数以上になると、４番の中継機３０のＭＣＵ３００はＡＣＫの受信待ち時間を段階的に長くしている。したがって、４番の中継機３０と１番の中継機３０との間の通信経路で電波が障害物などに当たって反射を繰り返すことによって、ＡＣＫが４番の中継機３０に届くまでの時間が長くなった場合でも、ＡＣＫを受信しやすくなる。
【００９２】
また、各通信ノードの制御部は、送信先のノードへデータを再送信する再送回数が規定回数以上になると、ユニキャストでデータを送信した場合に前記無線通信部がＡＣＫを受信可能な状態となる受信待ち時間を、第１時間ＤＴ１と同じ時間に設定してもよい。
【００９３】
このように、データの再送回数が規定回数以上になると、中継機３０のＭＣＵ３００はＡＣＫの受信待ち時間を、ブロードキャストでデータを送信する場合のＡＣＫの受信待ち時間である第１時間ＤＴ１と同じ時間にしている。これにより、２台の中継機３０の間の通信経路で電波が障害物などに当たって反射を繰り返すことで、送信元の中継機３０にＡＣＫが届くまでの時間が長くなった場合でも、ＡＣＫを受信しやすくなる。なお、受信待ち時間を第１時間ＤＴ１と同じ時間にすることは、全く同一の時間にすることに限定されず、製造誤差などに起因した多少の時間差があってもよい。
【００９４】
また、本実施形態の無線通信システムにおいて、各通信ノードの制御部は、無線通信部が送信先のノードへのデータ送信に失敗した場合、データを送信先のノードへ再送信するように無線通信部を制御してもよい。そして、各通信ノードの制御部は、送信先のノードへデータを再送信する再送回数が最大再送回数に達すると、ブロードキャストでデータを送信するように無線通信部を制御してもよい。
【００９５】
例えば、４番の中継機３０が１番の中継機３０を送信先のノードに設定している場合の通信処理を図１０に基づいて説明する。
【００９６】
４番の中継機３０のＭＣＵ３００は、下位ノードからデータを受信すると、受信したデータをもとに作成した送信データＤ７を１番の中継機３０にユニキャストで送信するように無線通信部３０２を制御する（時刻ｔ３１）。４番の中継機３０のＭＣＵ３００は、ユニキャストでデータＤ７を送信した時点から第２時間ＤＴ２が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。
【００９７】
ここで、１番の中継機３０が通信エラーなどでデータＤ７の受信に失敗した場合、４番の中継機３０の無線通信部３０２は、データＤ７の送信時点から第２時間ＤＴ２が経過するまでの間に１番の中継機３０からのＡＣＫを受信できなくなる。４番の中継機３０のＭＣＵ３００は、１番の中継機３０からのＡＣＫを受信できないため、１番の中継機３０との通信に失敗したと判断し、１番の中継機３０にデータＤ７をユニキャストで再送信するように無線通信部３０２を制御する（時刻ｔ３２）。４番の中継機３０のＭＣＵ３００は、ユニキャストでデータＤ７を送信した時点から第２時間ＤＴ２が経過するまでの間、無線通信部３０２がＡＣＫを受信可能な状態に無線通信部３０２を制御する。
【００９８】
１番の中継機３０が通信エラーなどでデータＤ７の受信に再び失敗した場合、４番の中継機３０の無線通信部３０２は、データＤ７の送信時点から第２時間ＤＴ２が経過するまでの間に１番の中継機３０からのＡＣＫを受信できなくなる。４番の中継機３０のＭＣＵ３００は、１番の中継機３０からのＡＣＫを受信できないため、１番の中継機３０との通信に失敗したと判断し、１番の中継機３０にデータＤ７をユニキャストで再送信するように無線通信部３０２を制御する（時刻ｔ３３）。
【００９９】
ここで、４番の中継機３０のＭＣＵ３００は、送信先のノードへデータを再送信する再送回数をカウントしており、再送回数が最大再送回数（例えば４回）に達すると、ブロードキャストでデータＤ７を送信するように無線通信部３０２を制御する（時刻ｔ３５）。図１０の例では、時刻ｔ３５において子機１０がデータを再送する場合、再送回数が最大再送回数に達しているので、４番の中継機３０のＭＣＵ３００は、ブロードキャストでデータＤ７を送信するように無線通信部３０２を制御する。４番の中継機３０のＭＣＵ３００は、ブロードキャストでデータを送信した時点から第１時間ＤＴ１が経過するまでの間は、無線通信部３０２がＡＣＫを受信可能な状態となるように無線通信部３０２を制御する。
【０１００】
このように、データを再送信する再送回数が最大再送回数に達すると、各通信ノードの制御部は、ブロードキャストでデータを送信するように無線通信部を制御するから、データがいずれかの通信ノードによって受信される確率が高くなる。したがって、最終宛先ノードにデータが到達する確率が高くなり、送信元ノードから最終宛先ノードへデータをより確実に到達させることができる。
【０１０１】
なお、図１０の例では再送回数が最大再送回数に達すると、各通信ノードの制御部は、ブロードキャストでデータを送信するように無線通信部を制御しているが、再送回数が最大再送回数に達すると、各通信ノードの制御部がデータの再送処理を終了してもよい。
【０１０２】
再送回数が最大再送回数に達した場合は、電波環境の悪化や送信先のノードの動作不良などで通信エラーが発生しやすい状態であると予想されるので、再送処理を終了することで、データの再送信がそれ以上繰り返される事態を回避できる。
【０１０３】
また、各通信ノードの制御部は、再送回数が最大再送回数に達したことによってデータの再送処理を終了するように無線通信部を制御した場合、次回の送信時に新たなデータを送信するように無線通信部を制御してもよい。
【０１０４】
例えば、図１０に示すように、データの再送回数が最大送信回数に達した場合、４番の中継機３０のＭ３００は、ブロードキャストでデータＤ７を送信するように無線通信部３０２を制御する。そして、４番の中継機３０のＭＣＵ３００は、ブロードキャストでデータＤ７を送信した時点から第１時間ＤＴ１が経過するまでの間、無線通信部３０２をＡＣＫが受信可能な状態となるように無線通信部３０２を制御する。４番の中継機３０のＭＣＵ３００は、ブロードキャストでデータＤ７を送信した時点から第１時間ＤＴ１が経過すると、データＤ７の送信処理を終了する。そして、４番の中継機３０のＭＣＵ３００は、下位の通信ノードから新たなデータＤ８を受信すると、このデータＤ８を前回送信時の送信先のノードである１番の中継機３０にユニキャストで送信するように無線通信部３０２を制御する（時刻ｔ３６）。
【０１０５】
このように、各通信ノードの制御部は、データの再送回数が最大再送回数に達すると、データの再送処理を終了するように無線通信部を制御しているが、データの再送処理を終了した場合、次回の送信時に新たなデータを送信するように無線通信部を制御してもよい。これにより、各通信ノードの制御部は、送付先のノードにデータを送信する処理を再開することができる。
【０１０６】
また、本実施形態の無線通信システムでは、送信元ノード及び中継ノードは、送信元ノードから最終宛先ノードまでデータを送信する通信経路が確立していない状態ではブロードキャストでデータを送信する。送信元ノード及び中継ノードのうち、通信経路の少なくとも一部が確立することによって送信先が決まったノードは、ユニキャストでデータを送信する。そして、送信元ノード及び中継ノードは、ユニキャストでデータを送信した場合にＡＣＫを受信可能な状態となる受信待ち時間を、ブロードキャストでデータを送信した場合にＡＣＫを受信可能な状態となる第１時間よりも短い第２時間に設定する。なお、本実施形態において、子機１０から親機２０にデータを送信する場合は、子機１０が送信元ノード、親機２０が最終宛先ノード、中継機３０が中継ノードとなる。また、親機２０から子機１０にデータを送信する場合は、親機２０が送信元ノード、子機１０が最終宛先ノード、中継機３０が中継ノードとなる。
【０１０７】
このように、送信先のノードが決定した場合は送信先のノードに対してユニキャストでデータを送信するから、ブロードキャストでデータを送信する場合に比べて、送信されるＡＣＫの数が減少する。したがって、通信量が低減し、送信データが衝突する可能性が低下する。さらに、ユニキャストでデータを送信した場合に無線通信部がＡＣＫを受信可能な状態となる受信待ち時間を、ブロードキャストでデータを送信した場合の受信待ち時間である第１時間ＤＴ１よりも短い第２時間ＤＴ２に設定している。これにより、ユニキャストでのデータ送信に失敗した場合、ブロードキャストでのデータ送信に比べてデータを再送するまでの時間が短くなり、最終宛先ノードまでデータが到達するのに要する到達時間を短くできる。特に、最終宛先ノードまでの中継ホップ数が多い場合は、各々の中継ノードでデータが再送されるまでの時間が短くなるから、最終宛先ノードまでデータが到達するのにかかる到達時間を短縮する効果が大きくなる。なお、本実施形態の無線通信システムは、上記の実施形態で説明した各通信ノードの機能を適宜採用可能である。
【０１０８】
また、本実施形態の通信方法は上記の無線通信システムが採用した通信方法であり、以下のステップ１〜３を含む。ステップ１は、最終宛先ノードまでの通信経路が確立していない状態では無線通信部（無線通信部１０２，２０２，３０２）にブロードキャストでデータを送信させるステップである。ステップ２は、最終宛先ノードまでの通信経路の少なくとも一部が確立することによって送信先のノードが決定されると無線通信部に送信先のノードへユニキャストでデータを送信させるステップである。ステップ３は、ユニキャストでデータを送信した場合に無線通信部がＡＣＫを受信可能な状態となる受信待ち時間を、ブロードキャストでデータを送信した場合に無線通信部がＡＣＫを受信可能な状態となる第１時間よりも短い第２時間に設定するステップである。
【０１０９】
このような通信方法を採用することによって、最終宛先ノードまでデータが到達するのに要する到達時間を短くできる。なお、本実施形態の通信方法は、上記の実施形態で説明した各種の通信方法を適宜採用可能である。
【符号の説明】
【０１１０】
１０  子機（通信ノード、送信元ノード）
２０  親機（通信ノード、最終宛先ノード）
３０  中継機（通信ノード、中継ノード）
１００，２００，３００  ＭＣＵ（制御部）
１０１，２０１，３０１  記憶部
１０２，２０２，３０２  無線通信部
ＤＴ１  第１時間
ＤＴ２  第２時間
ＤＴ３１，ＤＴ３２  第３時間
【図１】
0006508594.tif 000002
【図２】
0006508594.tif 000003
【図３】
0006508594.tif 000004
【図４】
0006508594.tif 000005
【図５】
0006508594.tif 000006
【図６】
0006508594.tif 000007
【図７】
0006508594.tif 000008
【図８】
0006508594.tif 000009
【図９】
0006508594.tif 000010
【図１０】
0006508594.tif 000011