(57)【要約】【課題】ツリー構造の組み替え時に上位のデバイスと再接続することができないデバイスが発生しないようにする。【解決手段】ルータ２０に自己が位置すべき階層を所属階層として記憶させる。ルータ２０は、自己が現在位置している階層をチェックし、現在位置している階層が所属階層よりも下位の階層であった場合、所属階層よりも１階層以上上のデバイスを新たな親デバイスの候補として接続要求を送る。なお、現在位置している階層が元の階層よりも下位の階層であった場合、元の階層よりも１階層以上上のデバイスを新たな親デバイスの候補として接続要求を送るようにしたり、現在位置している階層よりも２階層以上上のデバイスを新たな親デバイスの候補として接続要求を送るようにしてもよい。【選択図】  図７
2008148030.tif 000002
【特許請求の範囲】
【請求項１】
最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第３のデバイスと親子の接続関係を結んだ上位のデバイスを親デバイスとして備え、
前記第３のデバイスは、
前記ツリー構造中の予め定められる自己が位置すべき階層を所属階層として記憶する階層記憶手段と、
前記ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が前記所属階層よりも下位の階層であった場合、前記所属階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段と
を備えることを特徴とする無線通信システム。
【請求項２】
最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第３のデバイスと親子の接続関係を結んだ上位のデバイスを親デバイスとして備え、
前記第３のデバイスは、
前記ツリー構造中の現在の親デバイスとの接続前に位置していた階層を元の階層として記憶する階層記憶手段と、
前記ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が前記元の階層よりも下位の階層であった場合、前記元の階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段と
を備えることを特徴とする無線通信システム。
【請求項３】
最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第３のデバイスと親子の接続関係を結んだ上位のデバイスを親デバイスとして備え、
前記第３のデバイスは、
前記ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層よりも少なくとも２階層上のデバイスが存在する場合、そのデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段
を備えることを特徴とする無線通信システム。
【請求項４】
最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第３のデバイスと親子の接続関係を結んだ上位のデバイスを親デバイスとして備え、
自己を起点とするツリー構造内の最下位に位置するデバイスのそのツリー構造における階層を自己起点ツリー構造内最下位デバイスの階層として記憶する階層記憶手段と、
前記第１のデバイスを起点とするツリー構造を基本ツリー構造とし、この基本ツリー構造中の自己が位置している現在の階層と前記自己起点ツリー構造内最下位デバイスの階層とから基本ツリー構造における前記自己起点ツリー構造内最下位デバイスの階層を判断し、この自己起点ツリー構造内最下位デバイスの階層が前記基本ツリー構造の最大階層を超えていた場合、その自己起点ツリー構造内最下位デバイスの階層が前記基本ツリー構造の最大階層を超えることがないデバイスを探索し、その探索したデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段と
を備えることを特徴とする無線通信システム。
【請求項５】
ツリー構造中の上位のデバイスとの間でこの上位のデバイスを親デバイスとして親子の接続関係を結ぶデバイスにおいて、
前記ツリー構造中の予め定められる自己が位置すべき階層を所属階層として記憶する階層記憶手段と、
前記ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が前記所属階層よりも下位の階層であった場合、前記所属階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段と
を備えることを特徴とするデバイス。
【請求項６】
ツリー構造中の上位のデバイスとの間でこの上位のデバイスを親デバイスとして親子の接続関係を結ぶデバイスにおいて、
前記ツリー構造中の現在の親デバイスとの接続前に位置していた階層を元の階層として記憶する階層記憶手段と、
前記ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が前記元の階層よりも下位の階層であった場合、前記元の階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段と
を備えることを特徴とするデバイス。
【請求項７】
ツリー構造中の上位のデバイスとの間でこの上位のデバイスを親デバイスとして親子の接続関係を結ぶデバイスにおいて、
前記ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層よりも少なくとも２階層上のデバイスが存在する場合、そのデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段
を備えることを特徴とするデバイス。
【請求項８】
ツリー構造中の上位のデバイスとの間でこの上位のデバイスを親デバイスとして親子の接続関係を結ぶデバイスにおいて、
自己を起点とするツリー構造内の最下位に位置するデバイスのそのツリー構造における階層を自己起点ツリー構造内最下位デバイスの階層として記憶する階層記憶手段と、
前記第１のデバイスを起点とするツリー構造を基本ツリー構造とし、この基本ツリー構造中の自己が位置している現在の階層と前記自己起点ツリー構造内最下位デバイスの階層とから基本ツリー構造における前記自己起点ツリー構造内最下位デバイスの階層を判断し、この自己起点ツリー構造内最下位デバイスの階層が前記基本ツリー構造の最大階層を超えていた場合、その自己起点ツリー構造内最下位デバイスの階層が前記基本ツリー構造の最大階層を超えることがないデバイスを探索し、その探索したデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段と
を備えることを特徴とするデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ツリー構造の無線通信システムおよびこの無線通信システムに用いられるデバイスに関するものである。
【背景技術】
【０００２】
近年、無線通信を利用して、環境計測・監視・制御などを行うシステムが増加している。この環境計測・監視・制御などを行う無線通信システムでは、対象エリアが比較的広い、又は、対象エリア内に無線通信の障害物が多々存在する場合が多い。このような場合、対象エリアをカバーするためには、受信器と送信器の設置位置や電波状況等の環境により直接通信できなくても、他のデバイスを中継して通信を行うことができる無線通信ネットワークを利用することが有利である。
【０００３】
この種の無線通信ネットワークとして、ジグビー（Ｚｉｇｂｅｅ（登録商標））プロトコルを利用した無線通信ネットワークが考えられている（例えば、特許文献１、特許文献２参照）。以下、このジグビープロトコルを利用した無線通信ネットワークをジグビーネットワークと呼ぶ。
【０００４】
ジグビーネットワークは、ツリー構造の無線通信ネットワークであり、次のような３種類のデバイスによって構成される。
〔デバイスＡ（ノードＡ）〕
コーディネータと呼ばれ、ネットワークの基層（最上位）に唯一存在し、下位デバイスと接続通信でき、ネットワーク内の全てのデバイスに対して命令するとともに、各デバイス固有の情報および各デバイスから送られてくる情報の収集を統括する。また、ネットワーク全体の総合親局の役割を果たすとともに、自己と親子の接続関係（以下、単に親子関係と呼ぶ）を結ぶデバイスにアドレスを付番する。
【０００５】
〔デバイスＢ（ノードＢ）〕
ルータと呼ばれ、コーディネータよりも下層に存在し、上位デバイスおよび下位デバイスと接続通信でき、コーディネータからの命令を受けるとともに、下位デバイス（ルータ、又はエンドデバイス）を接続することができ、それらデバイスに対しては局地的な親局の役割を果たす。また、自己と親子関係を結ぶデバイスにアドレスを付番する。
【０００６】
〔デバイスＣ（ノードＣ）〕
エンドデバイスと呼ばれ、ネットワークの末端（最下位）に存在し、上位デバイスと接続通信でき、他のデバイスの親局にはならない。例えば、空調制御システムでは、温度センサや湿度センサなどのセンサがエンドデバイスとされる。
【０００７】
なお、ジグビーネットワークの各デバイスには、接続可能な下位デバイスの最大個数Ｃｍと、ツリー構造の階層の最深度（ツリー構造の最大階層）Ｌｍがネットワークパラメータとして定められる。
【０００８】
図１４にジグビーネットワークの単純な例を示す。同図において、１は最上位（第０層）に位置するコーディネータ、２−１，２−２はコーディネータ１の下層（第１層）に位置するルータ、２−３〜２−６はルータ２−１〜２−２の下層（第２層）に位置するルータ、３−１〜３−８はルータ２−３〜２−６の下層（第３層（最下位））に位置するエンドデバイスである。
【０００９】
この例において、コーディネータ１およびルータ２に接続可能な下位デバイスの最大個数ＣｍはともにＣｍ＝２とされ、ツリー構造の最大階層ＬｍはＬｍ＝３とされており、コーディネータ１の識別番号は＃０、ルータ２−１〜２−６の識別番号は＃１〜＃６、エンドデバイス３−１〜３−８の識別番号は＃７〜＃１４として設定されているものとする。これらの識別番号＃０〜＃１４は、デバイス毎に固有に定められたものであり、変わることはない。また、このジグビーネットワークにおいて、コーディネータ１には、ネットワーク全体に対して付番可能なアドレスとしてアドレスブロックＡＤ０〜ＡＤ１４が定められ、このアドレスブロックのうち「ＡＤ０」が自己のアドレスとして割り当てられるものとする。
【００１０】
コーディネータ１に対して、ルータ２−１を接続する場合、ルータ２−１をコーディネータ１に近づけて電源をオンとする。すると、ルータ２−１からコーディネータ１へアソシエイト（参加申請）と呼ばれる接続要求（以下、アソシエイト接続要求と呼ぶ）が送られる。コーディネータ１は、ルータ２−１からのアソシエイト接続要求を受けて、ルータ２−１に対してアドレスＡＤ１を割り当てるとともに、ルータ２−１の識別番号＃１とルータ２−１に割り当てたアドレスＡＤ１とを対応づけて親子関係有り（「○」）として接続情報テーブルＴ０に書き込む。また、ルータ２−１へ、下位のデバイスへ付番可能なアドレスとして、アドレスＡＤ１を含むアドレスブロック「ＡＤ１〜ＡＤ７」を送る。
【００１１】
次に、ルータ２−２をコーディネータ１に近づけて電源をオンとすると、ルータ２−２からコーディネータ１へアソシエイト接続要求が送られる。コーディネータ１は、ルータ２−２からのアソシエイト接続要求を受けて、ルータ２−２に対してアドレスＡＤ８を割り当てるとともに、ルータ２−２の識別番号＃２とルータ２−２に割り当てたアドレスＡＤ８とを対応づけて親子関係有りとして接続情報テーブルＴ０に書き込む。また、ルータ２−２へ、下位のデバイスへ付番可能なアドレスとして、アドレスＡＤ８を含むアドレスブロック「ＡＤ８〜ＡＤ１４」を送る。
【００１２】
ルータ２−３をルータ２−１に近づけて電源をオンとすると、ルータ２−３からルータ２−１へアソシエイト接続要求が送られる。ルータ２−１は、ルータ２−３からのアソシエイト接続要求を受けて、ルータ２−３に対してアドレスＡＤ２を割り当てるとともに、ルータ２−３の識別番号＃３とルータ２−３に割り当てたアドレスＡＤ２とを対応づけて親子関係有りとして接続情報テーブルＴ１に書き込む。また、ルータ２−３へ、下位のデバイスへ付番可能なアドレスとして、アドレスＡＤ２を含むアドレスブロック「ＡＤ２〜ＡＤ４」を送る。
【００１３】
エンドデバイス３−１をルータ２−３に近づけて電源をオンとすると、エンドデバイス３−１からルータ２−３へアソシエイト接続要求が送られる。ルータ２−３は、エンドデバイス３−１からのアソシエイト接続要求を受けて、エンドデバイス３−１に対してアドレスＡＤ３を割り当てるとともに、エンドデバイス３−１の識別番号＃７とエンドデバイス３−１に割り当てたアドレスＡＤ３とを対応づけて親子関係有りとして接続情報テーブルＴ１に書き込む。以下、同様にして、各デバイスにアドレスが割り当てられる。
【００１４】
なお、上述において、例えばエンドデバイス３−１をルータ２−３に近づけて電源をオンとする動作は、エンドデバイス３−１（子デバイス）の電波到達圏内（直接接続圏内）にルータ２−３（親候補のデバイス）を位置させて電源をオンとする動作を意味するものであり、エンドデバイス３−１はその電波到達圏内の一番近い位置にある親候補のデバイスとしてルータ２−３と親子関係を結ぶ。他の子デバイスも同様にしてその電波到達圏内の一番近い位置にある親候補のデバイスと親子関係を結ぶ。
【００１５】
このジグビーネットワークでは、例えば、ルータ２−１（親デバイス）とルータ２−３（子デバイス）との間の伝送路に電波障害などが発生した場合、ルータ２−３からの情報がルータ２−１で受信できなくなる。例えば、図１５（ａ）に示すように、ルータ２−２がルータ２−３の電波到達圏内の一番近い位置にあり、ルータ２−２が下位のデバイスとの親子関係を未だ結んでいないものとする。ここで、ルータ２−１とルータ２−３との間の伝送路に電波障害などが発生すると、ルータ２−３は、切断（電源オフ）、再接続（電源オン）を行う。ルータ２−３の電源がオフ（切断）とされると、ルータ２−３に割り当てられたアドレスＡＤ２および接続情報テーブルＴ１の内容が消失する。続いて、ルータ２−３の電源がオン（再接続）とされると、ルータ２−３とルータ２−２との間で親子関係が結ばれる。
【００１６】
これにより、図１５（ｂ）に示すように、ルータ２−２の接続情報テーブルＴ１にルータ２−３との親子関係を示す接続情報が書き込まれ、ルータ２−３にルータ２−２から新たなアドレスＡＤ９が割り当てられ、ルータ２−２がルータ２−３の新たな親デバイスとなる。また、エンドデバイス３−１および３−２も、ルータ２−３との通信が不可能となるため、切断、再接続を行い、ルータ２−３との間で再度親子関係を結ぶ。これにより、ルータ２−３の接続情報テーブルＴ１にエンドデバイス３−１および３−２との親子関係を示す接続情報が書き込まれ、ルータ２−３からエンドデバイス３−１および３−２に新たなアドレスＡＤ１０およびＡＤ１１が割り当てられる。このようにして、親デバイスと子デバイスとの間の伝送路に電波障害などが発生した場合、自動的にツリー構造の組み替えが行われる。
【００１７】
なお、図１４には単純な例を示したが、実際には最上位のコーディネータ１と最下位のエンドデバイス３との間にはルータ２がさらに何層も位置し、ルータ２の数やエンドデバイス３の数も増大し、大規模なネットワークとされる。
【００１８】
【特許文献１】特開２００６−５９２８号公報
【特許文献２】特開２００６−４２３７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上述したように、ジグビーネットワークにおいて、親デバイスは、自デバイスに接続した子デバイスに対してある範囲のアドレスを割り当て、子デバイスは、さらに自デバイスに接続した子デバイスに対して、割り当てられたアドレス範囲の中からあるアドレス範囲を割り当てる。この場合、アドレス範囲が有限であるため、ツリー構造の階層の深さは、アドレス総数とデバイスに接続することのできる下位のデバイス数をパラメータとした関数によって求まる有限の値までしかとることができない。そのため、現在ツリー階層ｎ−１（ｎ：ツリー構造の最大階層（ツリー構造の階層の最深度））に位置するデバイスが親デバイスから切断し、再接続する際に、元の親デバイス以上上の階層のデバイスに接続できずにツリー階層ｎ−１に位置する他のデバイスに接続したような場合、そのデバイスの階層が最大階層ｎとなり、元々そのデバイスに接続されていた下位のデバイスが、そのデバイスに対して再接続することができなくなってしまうという問題が発生する。
【００２０】
例えば、図１６（ａ）に示すように、ルータ２−１とルータ２−３および２−４との間に親子関係が結ばれており、ルータ２−３とエンドデバイス３−１および３−２との間に親子関係が結ばれているものとする。また、ルータ２−４は、下位のデバイスとの親子関係を未だ結んでおらず、ルータ２−３の電波到達圏内の一番近い位置にあるものとする。このような状態で、ルータ２−１とルータ２−３との間の伝送路に電波障害などが発生すると、ルータ２−３は、切断（電源オフ）、再接続（電源オン）を行う（図１６（ｂ））。
【００２１】
ルータ２−３の電源がオフ（切断）とされると、ルータ２−３に割り当てられたアドレスＡＤ２および接続情報テーブルＴ１の内容が消失する。続いて、ルータ２−３の電源がオン（再接続）とされると、ルータ２−３とルータ２−４との間で親子関係が結ばれる。これにより、ルータ２−４の接続情報テーブルＴ１にルータ２−３との親子関係を示す接続情報が書き込まれ、ルータ２−３にルータ２−２から新たなアドレスＡＤ６が割り当てられる。したがって、この場合、ルータ２−４がルータ２−３の新たな親デバイスとなる。ここで、ルータ２−３の階層は、ルータ２−４と親子関係を結んだことにより、それまでの第２層から第３層（最大階層）に下がる。このため、ルータ２−４からルータ２−３に下位デバイスへの付番可能なアドレスが割り当てられず、エンドデバイス３−１および３−２をルータ２−３に再接続することができなくなってしまう。
【００２２】
本発明は、このような課題を解決するためになされたもので、その目的とするところは、ツリー構造の組み替え時に、上位のデバイスと再接続することができないデバイスが発生することがない無線通信システムおよびデバイスを提供することにある。
【課題を解決するための手段】
【００２３】
こような課題を解決するために第１発明（請求項１に係る発明）は、最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第３のデバイスに、ツリー構造中の予め定められる自己が位置すべき階層を所属階層として記憶する階層記憶手段と、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が所属階層よりも下位の階層であった場合、所属階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段とを設けたものである。
【００２４】
第１発明において、例えば、第１のデバイスをコーディネータ、第２のデバイスをエンドデバイス、第３のデバイスをルータとするツリー構造の無線通信システムとし、コーディネータとエンドデバイスとの間にルータが２層設けられているものとする。すなわち、コーディネータ（第０層）の下位デバイスとして第１のルータ（第１層）が接続され、第１のルータの下位デバイスとして第２のルータ（第２層）が接続され、第２のルータの下位デバイスとしてエンドデバイス（第３層）が接続されているものとする。この場合、第２のルータは、ツリー構造中の自己が位置すべき階層（所属階層）として第２層を記憶している。
【００２５】
ここで、第１のルータと第２のルータとの間の伝送路に電波障害などが発生し、第２のルータが第２層に位置する他のルータ（第３のルータ）と親子関係を結んだとする。すると、第３のルータが第２のルータの親デバイスとなり、第２のルータの階層が第３層、エンドデバイスの階層が第４層となる。この無線通信システムにおいて、ツリー構造の最大階層（ツリー構造の階層の最深度）を「３」とすると、エンドデバイスはその階層が第４層となるため、第３層に位置する第２のルータとの再接続を行うことができない。
【００２６】
第２のルータは、第３のルータと親子関係を結ぶと、ツリー構造中の自己が位置している現在の階層をチェックする。この場合、第２のルータは、自己が位置している現在の階層を第３層であると認識する。そして、この自己が位置している現在の階層（第３層）と記憶している所属階層（第２層）とを比較する。この場合、自己が位置している現在の階層が所属階層よりも下位の階層であるので、第２のルータは、所属階層よりも少なくとも１階層上のデバイス（第１層或いは第０層のデバイス）を新たな親デバイスの候補として接続要求を送る。これにより、例えば第１層に位置する第４のルータと第２のルータとの間に親子関係が結ばれ、第２のルータの階層が第２層、エンドデバイスの階層が第３層となり、エンドデバイスを第２のルータと再接続させることができるようになる。
【００２７】
第２発明（請求項２に係る発明）は、最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第３のデバイスに、ツリー構造中の現在の親デバイスとの接続前に位置していた階層を元の階層として記憶する階層記憶手段と、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が元の階層よりも下位の階層であった場合、元の階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段とを設けたものである。
【００２８】
第２発明において、例えば、第１のデバイスをコーディネータ、第２のデバイスをエンドデバイス、第３のデバイスをルータとするツリー構造の無線通信システムとし、コーディネータ（第０層）の下位デバイスとして第１のルータ（第１層）が接続され、第１のルータの下位デバイスとして第２のルータ（第２層）が接続され、第２のルータの下位デバイスとしてエンドデバイス（第３層）が接続されているものとする。
【００２９】
ここで、第１のルータと第２のルータとの間の伝送路に電波障害などが発生し、第２のルータが第２層に位置する他のルータ（第３のルータ）と親子関係を結んだとする。すると、第３のルータが第２のルータの親デバイスとなり、第２のルータの階層が第３層、エンドデバイスの階層が第４層となる。この場合、第２のルータは、ツリー構造中の現在の親デバイス（第３のルータ）との接続前に位置していた階層、すなわち第１のルータと接続していた時の階層（第２層）を元の階層として記憶する。この無線通信システムにおいて、ツリー構造の最大階層（ツリー構造の階層の最深度）を「３」とすると、エンドデバイスはその階層が第４層となるため、第３層に位置する第２のルータとの再接続を行うことができない。
【００３０】
第２のルータは、第３のルータと親子関係を結ぶと、ツリー構造中の自己が位置している現在の階層をチェックする。この場合、第２のルータは、自己が位置している現在の階層を第３層であると認識する。そして、この自己が位置している現在の階層（第３層）と記憶している元の階層（第２層）とを比較する。この場合、自己が位置している現在の階層が元の階層よりも下位の階層であるので、第２のルータは、元の階層よりも少なくとも１階層上のデバイス（第１層或いは第０層のデバイス）を新たな親デバイスの候補として接続要求を送る。これにより、例えば第１層に位置する第４のルータと第２のルータとの間に親子関係が結ばれ、第２のルータの階層が第２層、エンドデバイスの階層が第３層となり、エンドデバイスを第２のルータと再接続させることができるようになる。
【００３１】
第３発明（請求項３に係る発明）は、最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第３のデバイスに、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層よりも少なくとも２階層上のデバイスが存在する場合、そのデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段を設けたものである。
【００３２】
第３発明において、例えば、第１のデバイスをコーディネータ、第２のデバイスをエンドデバイス、第３のデバイスをルータとするツリー構造の無線通信システムとし、コーディネータ（第０層）の下位デバイスとして第１のルータ（第１層）が接続され、第１のルータの下位デバイスとして第２のルータ（第２層）が接続され、第２のルータの下位デバイスとしてエンドデバイス（第３層）が接続されているものとする。
【００３３】
ここで、第１のルータと第２のルータとの間の伝送路に電波障害などが発生し、第２のルータが第２層に位置する他のルータ（第３のルータ）と親子関係を結んだとする。すると、第３のルータが第２のルータの親デバイスとなり、第２のルータの階層が第３層、エンドデバイスの階層が第４層となる。この無線通信システムにおいて、ツリー構造の最大階層（ツリー構造の階層の最深度）を「３」とすると、エンドデバイスはその階層が第４層となるため、第３層に位置する第２のルータとの再接続を行うことができない。
【００３４】
第２のルータは、第３のルータと親子関係を結ぶと、ツリー構造中の自己が位置している現在の階層をチェックする。この場合、第２のルータは、自己が位置している現在の階層を第３層であると認識する。そして、この自己が位置している現在の階層（第３層）よりも少なくとも２階層上のデバイス（第１層或いは第０層のデバイス）の存在の有無を確認し、２階層以上上のデバイスが存在すれば、そのデバイスを新たな親デバイスの候補として接続要求を送る。これにより、例えば第１層に位置する第４のルータと第２のルータとの間に親子関係が結ばれ、第２のルータの階層が第２層、エンドデバイスの階層が第３層となり、エンドデバイスを第２のルータと再接続させることができるようになる。
【００３５】
第４発明（請求項３に係る発明）は、最上位に位置する第１のデバイスと、最下位に位置する第２のデバイスと、この第１のデバイスと第２のデバイスとの間に位置する第３のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第３のデバイスに、自己を起点とするツリー構造内の最下位に位置するデバイスのそのツリー構造における階層を自己起点ツリー構造内最下位デバイスの階層として記憶する階層記憶手段と、第１のデバイスを起点とするツリー構造を基本ツリー構造とし、この基本ツリー構造中の自己が位置している現在の階層と自己起点ツリー構造内最下位デバイスの階層とから基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層を判断し、この自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えていた場合、その自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えることがないデバイスを探索し、その探索したデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段とを設けたものである。
【００３６】
第４発明において、例えば、第１のデバイスをコーディネータ、第２のデバイスをエンドデバイス、第３のデバイスをルータとするツリー構造の無線通信システムとし、コーディネータ（第０層）の下位デバイスとして第１のルータ（第１層）が接続され、第１のルータの下位デバイスとして第２のルータ（第２層）が接続され、第２のルータの下位デバイスとしてエンドデバイス（第３層）が接続されているものとする。この場合、第２のルータは、自己を起点とするツリー構造内の最下位に位置するデバイスのそのツリー構造内の階層（第１階層）を自己起点ツリー構造内最下位デバイスの階層として記憶する。
【００３７】
ここで、第１のルータと第２のルータとの間の伝送路に電波障害などが発生し、第２のルータが第２層に位置する他のルータ（第３のルータ）と親子関係を結んだとする。すると、第３のルータが第２のルータの親デバイスとなり、第２のルータの階層が第３層、エンドデバイスの階層が第４層となる。この無線通信システムにおいて、ツリー構造の最大階層（ツリー構造の階層の最深度）を「３」とすると、エンドデバイスはその階層が第４層となるため、第３層に位置する第２のルータとの再接続を行うことができない。
【００３８】
第２のルータは、第３のルータと親子関係を結ぶと、コーディネータを起点とする基本ツリー構造中の自己が位置している現在の階層（第３層）と自己起点ツリー構造内最下位デバイスの階層（第１階層）とからその基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層を判断する。この場合、第２のルータは、基本ツリー構造中の自己が位置している現在の階層が第３層であり、自己起点ツリー構造内最下位デバイスの階層が第１階層なので、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層を第４層であると判断する。そして、この最下位デバイスの階層（第４層）と基本ツリー構造の最大階層（第３層）とを比較する。
【００３９】
この場合、自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えているので、第２のルータは、自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えることがないデバイス（第１層或いは第０層のデバイス）を探索し、その探索したデバイスを新たな親デバイスの候補として接続要求を送る。これにより、例えば第１層に位置する第４のルータと第２のルータとの間に親子関係が結ばれ、第２のルータの階層が第２層、エンドデバイス（最下位デバイス）の階層が第３層となり、エンドデバイスを第２のルータと再接続させることができるようになる。
【００４０】
なお、本発明は、無線通信システムとしてではなく、デバイス単体としても構成することができる。この場合、デバイスに、ツリー構造中の予め定められる自己が位置すべき階層を所属階層として記憶する階層記憶手段と、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が所属階層よりも下位の階層であった場合、所属階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段とを設ける（第５発明（請求項５に係る発明））。また、デバイスに、ツリー構造中の現在の親デバイスとの接続前に位置していた階層を元の階層として記憶する階層記憶手段と、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が元の階層よりも下位の階層であった場合、元の階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段とを設ける（第６発明（請求項６に係る発明））。
【００４１】
また、デバイスに、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層よりも少なくとも２階層上のデバイスが存在する場合、そのデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段を設ける（第７発明（請求項７に係る発明））。また、デバイスに、自己を起点とするツリー構造内の最下位に位置するデバイスのそのツリー構造における階層を自己起点ツリー構造内最下位デバイスの階層として記憶する階層記憶手段と、第１のデバイスを起点とするツリー構造を基本ツリー構造とし、この基本ツリー構造中の自己が位置している現在の階層と自己起点ツリー構造内最下位デバイスの階層とから基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層を判断し、この自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えていた場合、その自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えることがないデバイスを探索し、その探索したデバイスを新たな親デバイスの候補として接続要求を送る接続要求手段と設ける（第８発明（請求項８に係る発明））。
【発明の効果】
【００４２】
本発明（第１、第５発明）によれば、第３のデバイス（例えば、ルータ）に、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が所属階層よりも下位の階層であった場合、所属階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送るようにすることにより、例えば、第１層に位置する第１のルータと第２層に位置する第２のルータとの間の伝送路に電波障害が発生したような場合のツリー構造の組み替え時に、第２のルータを自己の所属階層（第２層）よりも１階層以上上のデバイス（第１層或いは第０層のデバイス）に接続されるようにして、ツリー構造の最大階層（ツリー構造の階層の最深度）を超えるデバイスをなくし、再接続することができないデバイスの発生を防ぐことが可能となる。
【００４３】
また、本発明（第２、第６発明）によれば、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層が元の階層よりも下位の階層であった場合、元の階層よりも少なくとも１階層上のデバイスを新たな親デバイスの候補として接続要求を送るようにすることにより、例えば、第１層に位置する第１のルータと第２層に位置する第２のルータとの間の伝送路に電波障害が発生したような場合のツリー構造の組み替え時に、第２のルータを元の階層（第２層）よりも１階層以上上のデバイス（第１層或いは第０層のデバイス）に接続されるようにして、ツリー構造の最大階層（ツリー構造の階層の最深度）を超えるデバイスをなくし、再接続することができないデバイスの発生を防ぐことが可能となる。
【００４４】
また、本発明（第３、第７発明）によれば、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層よりも少なくとも２階層上のデバイスが存在する場合、そのデバイスを新たな親デバイスの候補として接続要求を送るようにすることにより、例えば、第１層に位置する第１のルータと第２層に位置する第２のルータとの間の伝送路に電波障害が発生したような場合のツリー構造の組み替え時に、第２のルータが第２層に位置する他のルータに再接続されたとしても、現在の階層（第３層）よりも２階層以上上ののデバイス（第１層或いは第０層のデバイス）に接続されるようにして、ツリー構造の最大階層（ツリー構造の階層の最深度）を超えるデバイスをなくし、再接続することができないデバイスの発生を防ぐことが可能となる。
【００４５】
また、本発明（第４、第８発明）によれば、第１のデバイスを起点とする基本ツリー構造中の自己が位置している現在の階層と自己を起点とするツリー構造内の最下位のデバイス（自己起点ツリー構造内最下位デバイス）のそのツリー構造における階層とから基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層を判断し、この自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えていた場合、その自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えることがないデバイスを探索し、その探索したデバイスを新たな親デバイスの候補として接続要求を送るようにすることにより、例えば、第１層に位置する第１のルータと第２層に位置する第２のルータとの間の伝送路に電波障害が発生したような場合のツリー構造の組み替え時に、第２のルータを起点とするツリー構造内の最下位のデバイスの階層が基本ツリー構造の最大階層（ツリー構造の階層の最深度）を超えることがないようにして、再接続することができないデバイスの発生を防ぐことが可能となる。
【発明を実施するための最良の形態】
【００４６】
以下、本発明を図面に基づいて詳細に説明する。
図１はこの発明に係る無線通信システムの一例を示す概略図である。この無線通信システムは、ジグビーネットワークを利用した単純な例であり、最上位（第０層）に位置するコーディネータ１０と、最下位（第３層）に位置するエンドデバイス３０と、コーディネータ１０とエンドデバイス３０との間（第１層、第２層）に位置するルータ２０とによって構成される。
【００４７】
この例においても、コーディネータ１０およびルータ２０に接続可能な下位デバイスの最大個数ＣｍはともにＣｍ＝２とされ、ツリー構造の最大階層（ツリー構造の階層の最深度）ＬｍはＬｍ＝３とされているものとする。また、コーディネータ１０の識別番号は＃０、ルータ２０−１〜２０−６の識別番号は＃１〜＃６、エンドデバイス３０−１〜３０−８の識別番号は＃７〜＃１４として設定されており、コーディネータ１０には、ネットワーク全体に対して付番可能なアドレスとしてアドレスブロックＡＤ０〜ＡＤ１４が定められ、このアドレスブロックのうち「ＡＤ０」が自己のアドレスとして割り当てられるものとする。
【００４８】
この無線通信システムにおいても、図１４に示したジグビーネットワークと同様に、コーディネータ１０に対して、ルータ２０−１を接続する場合、ルータ２０−１をコーディネータ１０に近づけて電源をオンとする。すると、ルータ２０−１からコーディネータ１０へアソシエイト接続要求が送られ、コーディネータ１０との間で親子関係が結ばれる。これにより、ルータ２０−１へアドレスＡＤ１が割り当てられ、コーディネータ１０の接続情報テーブルＴ０にルータ２０−１に割り当てたアドレスＡＤ１と識別番号＃１との対応関係が書き込まれる。
【００４９】
同様にして、コーディネータ１０とルータ２０−２との間、ルータ２０−１とルータ２０−３および２０−４との間、ルータ２０−２とルータ２０−５および２０−６との間、ルータ２０−３とエンドデバイス３０−１および３０−２との間、ルータ２０−４とエンドデバイス３０−３および３０−４との間、ルータ２０−５とエンドデバイス３０−５および３０−６との間、ルータ２０−６とエンドデバイス３０−７および３０−８との間で親子関係が結ばれる。
【００５０】
これにより、ルータ２０−２へアドレスＡＤ８が割り当てられ、コーディネータ１０の接続情報テーブルＴ０にルータ２０−２に割り当てたアドレスＡＤ８と識別番号＃２との対応関係が書き込まれる。また、ルータ２０−３，２０−４にアドレスＡＤ２，ＡＤ５が割り当てられ、ルータ２０−１の接続情報テーブルＴ１にルータ２０−３，２０−４に割り当てたアドレスＡＤ２，ＡＤ５と識別番号＃３，＃４との対応関係が書き込まれる。また、ルータ２０−５，２０−６にアドレスＡＤ９，ＡＤ１２が割り当てられ、ルータ２０−２の接続情報テーブルＴ１にルータ２０−５，２０−６に割り当てたアドレスＡＤ９，ＡＤ１２と識別番号＃５，＃６との対応関係が書き込まれる。
【００５１】
また、エンドデバイス３０−１，３０−２にアドレスＡＤ３，ＡＤ４が割り当てられ、ルータ２０−３の接続情報テーブルＴ１にエンドデバイス３０−１，３０−２に割り当てたアドレスＡＤ３，ＡＤ４と識別番号＃７，＃８との対応関係が書き込まれる。また、エンドデバイス３０−３，３０−４にアドレスＡＤ６，ＡＤ７が割り当てられ、ルータ２０−４の接続情報テーブルＴ１にエンドデバイス３０−３，３０−４に割り当てたアドレスＡＤ６，ＡＤ７と識別番号＃９，＃１０との対応関係が書き込まれる。
【００５２】
また、エンドデバイス３０−５，３０−６にアドレスＡＤ１０，ＡＤ１１が割り当てられ、ルータ２０−５の接続情報テーブルＴ１にエンドデバイス３０−５，３０−６に割り当てたアドレスＡＤ１０，ＡＤ１１と識別番号＃１１，＃１２との対応関係が書き込まれる。また、エンドデバイス３０−７，３０−８にアドレスＡＤ１３，ＡＤ１４が割り当てられ、ルータ２０−６の接続情報テーブルＴ１にエンドデバイス３０−７，３０−８に割り当てたアドレスＡＤ１３，ＡＤ１４と識別番号＃１３，＃１４との対応関係が書き込まれる。
【００５３】
この無線通信システムにおいて、ルータ２０およびエンドデバイス３０は、上位のデバイスに定期的に接続確認要求を送信する接続確認要求送信機能を備えている。また、コーディネータ１０およびルータ２０は、下位のデバイスから定期的に送られてくる接続確認要求を受信する毎に、その接続確認要求の受信に成功したことを知らせる接続確認応答を返送する接続確認応答返送機能を有している。
【００５４】
また、ルータ２０およびエンドデバイス３０は、接続確認要求の受信に成功したことを知らせる上位のデバイスからの接続確認応答が途絶えた場合、切断（電源オフ）、再接続（電源オン）を行う切断再接続機能を有している。また、ルータ２０は、本実施の形態特有の機能として、ツリー構造維持機能を備えている。このツリー構造維持機能については後述する。
【００５５】
図２にコーディネータ１０の概略的なブロック図を示す。コーディネータ１０は、処理部１０Ａと、ＲＡＭ１０Ｂと、ＥＥＰＲＯＭ１０Ｃと、ＲＦ回路（無線送受信回路）１０Ｄとを備えている。処理部１０Ａは、上述した接続確認応答返送機能の他、基本的な機能として、ネットワーク宣言機能、親ノード機能、通信機能（ノード間通信機能、通信中継機能）などを備えている。これらの機能は、処理部１０Ａが実行するプログラムに従う処理動作として得られる。なお、ＥＥＰＲＯＭ１０Ｃにはコーディネータ１０の識別番号が格納され、ＲＡＭ１０Ｂにはネットワーク全体に対して付番可能なアドレスブロック、コーディネータ１０に対して割り当てられるアドレス、接続情報テーブルＴ０などが格納される。
【００５６】
図３にルータ２０の概略的なブロック図を示す。ルータ２０は、処理部２０Ａと、ＲＡＭ２０Ｂと、ＥＥＰＲＯＭ２０Ｃと、ＲＦ回路２０Ｄとを備えている。処理部２０Ａは、上述した接続確認要求送信機能、接続確認応答返送機能、切断再接続機能、ツリー構造維持機能の他、基本的な機能として、親ノード機能、通信機能（ノード間通信機能、通信中継機能）などを備えている。これらの機能は、処理部２０Ａが実行するプログラムに従う処理動作として得られる。なお、ＥＥＰＲＯＭ２０Ｃにはルータ２０の識別番号が格納され、ＲＡＭ２０Ｂにはルータ２０に対して割り当てられるアドレス、上位のデバイスから送られてくる下位のデバイスに対して付番可能なアドレスブロック、接続情報テーブルＴ１などが格納される。
【００５７】
図４にエンドデバイス３０の概略的なブロック図を示す。エンドデバイス３０は、処理部３０Ａと、ＲＡＭ３０Ｂと、ＥＥＰＲＯＭ３０Ｃと、ＲＦ回路３０Ｄとを備えている。処理部３０Ａは、上述した接続確認要求送信機能、切断再接続機能の他、基本的な機能として、子ノード機能、通信機能（ノード間通信機能）などを備えている。これらの機能は、処理部３０Ａが実行するプログラムに従う処理動作として得られる。なお、ＥＥＰＲＯＭ３０Ｃには、エンドデバイス３０の識別番号などが格納される。ＲＡＭ３０Ｂには、エンドデバイス３０に対して割り当てられるアドレスなどが格納される。
【００５８】
〔ルータ間の接続確認〕
ルータ２０は、親子関係を結んでいる上位のルータ２０に対し、接続確認要求を定期的に送信する。例えば、図１に示したルータ２０−１とルータ２０−３との間で説明すると、下位のルータ２０−３から上位のルータ２０−１へ接続確認要求が定期的に送られる（図５（ａ）参照）。ルータ２０−１は、ルータ２０−３からの接続確認要求を受信する毎に、接続確認要求の受信に成功したことを知らせる接続確認応答をルータ２０−３に返送する。
【００５９】
なお、図５（ａ）において、コーディネータ１０はルータ２０−１および２０−２と親子関係を結んでおり、ルータ２０−１はルータ２０−３および２０−４と親子関係を結んでおり、ルータ２０−３はエンドデバイス３０−１および３０−２と親子関係を結んでいるが、ルータ２０−２および２０−４は下位のデバイスとの親子関係を未だ結んでおらず、何れもルータ２０−３の電波到達圏内にあるものとする。但し、ルータ２０−２よりもルータ２０−４の方がルータ２０−３に近く、電波条件が良いものとする。
【００６０】
〔ルータ間の伝送路に電波障害などが発生した場合〕
図５（ａ）において、ルータ２０−１と２０−３との間の伝送路に電波障害などが発生すると、ルータ２０−３からのルータ２０−１への接続確認要求が途絶える（図５（ｂ））。この場合、ルータ２０−１は、ルータ２０−３からの接続確認要求を受信することができず、その接続確認要求に対する接続確認応答を返送しない。
【００６１】
一方、ルータ２０−３は、ルータ２０−１への接続確認要求を送信した後、ルータ２０−１からの接続確認応答を待ち、ルータ２０−１からの接続確認応答が途絶えたことを検出して、切断（電源オフ）、再接続（電源オン）を行う。
【００６２】
図６にこの場合のルータ２０−３における処理動作を示す。ルータ２０−３は、リトライ数を０としたうえ（ステップＳ１）、ルータ２０−１へ接続確認要求を送信する（ステップＳ２）。そして、この接続確認要求に対してルータ２０−１から返送されてくる接続確認応答を待ち（ステップＳ３）、接続確認応答を受信すると（ステップＳ４のＹＥＳ）、一定時間の経過を待って（ステップＳ７）、ルータ２０−１へ次の接続確認要求を送信する（ステップＳ２）。以下同様の処理動作を繰り返す。
【００６３】
このような処理動作中、ルータ２０−１からの接続確認応答が受信されなくなると（ステップＳ４のＮＯ）、リトライ回数に１をプラスし（ステップＳ５）、一定時間の経過を待って（ステップＳ７）、ルータ２０−１へ次の接続確認要求を送信する（ステップＳ２）。そして、リトライ回数が所定回数Ｎｘ以上となると（ステップＳ６のＹＥＳ）、ルータ２０−１からの接続確認応答が途絶えたと判断して、切断（電源オフ）、再接続（電源オン）を行う（ステップＳ８）。
【００６４】
ルータ２０−３の電源がオフ（切断）とされると、ルータ２０−３に割り当てられたアドレスＡＤ２および接続情報テーブルＴ１の内容が消失する。ルータ２０−３の電源がオン（再接続）とされると、ルータ２０−３とルータ２０−４との間で親子関係が結ばれる（図７参照）。これにより、ルータ２０−４の接続情報テーブルＴ１にルータ２０−３との親子関係を示す接続情報が書き込まれ、ルータ２０−３にルータ２０−４から新たなアドレスＡＤ６が割り当てられ、ルータ２０−４がルータ２０−３の新たな親デバイスとなる。
【００６５】
ここで、ルータ２０−３の階層は、ルータ２０−４と親子関係を結んだことにより、それまでの第２層から第３層（最大階層）に下がる。このため、ルータ２０−４からルータ２０−３に下位デバイスへ付番可能なアドレスが割り当てられず、エンドデバイス３０−１および３０−２をルータ２０−３に再接続することができないという事態が発生し、エンドデバイス３０−１および３０−２を最下位のデバイスとするツリー構造を維持することができなくなる。
【００６６】
〔ツリー構造の維持機能：実施の形態１〕
先ず、ルータ２０が有するツリー構造の維持機能の第１例（実施の形態１）として、所属階層を用いる例（実施の形態１）を説明する。この実施の形態１では、ルータ２０に、ツリー構造中の予め定められる自己が位置すべき階層を所属階層として記憶させておく。この所属階層は、エンジニアリングの段階で人が決定する。 例えば、図５（ａ）に示したツリー構造中のルータ２０−３について言えば、ルータ２０−３に自己の所属階層を第２層として記憶させておく。
【００６７】
この実施の形態１において、ルータ２０−３は、ルータ２０−４と再接続されると（図８に示すステップ１０１のＹＥＳ（図７））、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層と自己が位置すべき所属階層とを比較する（ステップ１０２）。この場合、現在の階層は第３層、自己が位置すべき所属階層は第２層であるので、現在の階層が所属階層よりも下位の階層（深い階層）であると判断し（ステップ１０２のＮＯ）、電波到達圏内に存在するデバイスに対して、そのデバイスが位置している現在の階層を問い合わせる（ステップ１０３）。
【００６８】
なお、ジグビーネットワークにおいて、デバイスに割り当てられるアドレスはそのデバイスが位置している現在の階層の情報を含んでいる。したがって、ルータ２０−３は、自己に割り当てられたアドレスＡＤ６より、自己の現在の階層が第３層であることを認識する。他のデバイスも同様にして自己の現在の階層を認識する。また、電波到達圏内に存在するデバイスに対する現在の階層の問い合わせは、各デバイスのアドレスが分かっている場合にはユニキャストによって個別に問い合わせるものとしてもよいし、分からない場合にはマルチキャストによって問い合わせるようにしてもよい。また、メッセージの中継数を１に限定しておくことで、問い合わせを受信するデバイスは問い合わせを送信するデバイスから直接通信できる圏内に限られることになり、問い合わせを送信するデバイスの直接接続が保証される。
【００６９】
そして、ルータ２０−３は、電波到達圏内に存在するデバイスから取得した現在の階層より、自己の所属階層よりも１階層以上上のデバイス（ルータ或いはコーディネータ）が存在するか否かを確認する（ステップ１０４）。自己の所属階層よりも１階層以上上のデバイスの存在が確認されない場合には（ステップ１０４のＮＯ）、一定時間待機した後（ステップ１０５）、ステップ１０２へ戻って同様動作を繰り返す。
【００７０】
自己の所属階層よりも１階層以上上のデバイスの存在が確認された場合（ステップ１０４のＹＥＳ）、ルータ２０−３は、そのデバイスの中で最も電波条件のよいデバイスに直接接続要求を送る（ステップ１０６）。この場合、ルータ２０−３は、自己の所属階層（第２層）よりも１階層以上上のデバイスで、かつ最も電波条件のよいデバイスとして、第１層に位置するルータ２０−２の存在を確認し、このルータ２０−２に直接接続要求を送る（図９（ａ）参照）。ルータ２０−２は、ルータ２０−３からの直接接続要求を受けて、接続を許可するデバイス（接続許可デバイス）としてルータ２０−３の識別番号＃３を登録する。また、ルータ２０−３の識別番号＃３と対応づけて、ルータ２０−３に割り当てるべきアドレス（この例では、アドレスＡＤ９）を決定する。これにより、ルータ３０−３を接続許可デバイスとする接続情報がルータ２０−２内に作成される。これをダイレクトジョイン（Direct-Join）と呼ぶ。
【００７１】
次に、ルータ２０−３は、自己の電源をオフとする（ステップ１０７）。この電源のオフにより、ルータ２０−３に割り当てられているアドレスＡＤ６が消去され、ルータ２０−４の接続情報テーブルＴ１からルータ２０−３との親子関係を示す情報が削除され（図９（ｂ）参照）、ルータ２０−３とルータ２０−４との親子関係が解消される。
【００７２】
そして、ルータ２０−３は、オーファンと呼ばれる再接続要求（以下、オーファン接続要求と呼ぶ）を電波到達圏内に位置する親候補のデバイスへ送る（ステップ１０８：図１０（ａ）参照）。ルータ２０−２は、このルータ２０−３からのオーファン接続要求を受けて、ルータ２０−３を接続許可デバイスとする接続情報が作成されているか否かをチェックする。この場合、ルータ２０−３を接続許可デバイスとする接続情報が作成されているので、ルータ２０−２は、その接続情報からルータ２０−３の識別番号＃３に対応するアドレスＡＤ９を読み出し、ルータ２０−３に割り当てる。また、ルータ２０−２は、下位のデバイスへ付番可能なアドレスとして、アドレスブロックＡＤ９を含むアドレスブロック「ＡＤ９〜ＡＤ１１」をルータ２０−３へ送る。
【００７３】
このようにして、ルータ２０−２とルータ２０−３との間で新たな親子関係が結ばれ、ルータ２０−２がルータ２０−３の新たな親デバイスとなる。これにより、図１０（ｂ）に示されるように、ルータ２０−３の階層が第２層となる。また、エンドデバイス３−１および３−２からの再接続の要求に応えて、エンドデバイス３−１および３−２にルータ２０−３からアドレスＡＤ１０およびＡＤ１１が割り当てられ、ルータ２−３とエンドデバイス３−１および３−２との間に親子関係が結ばれ、エンドデバイス３−１および３−２の階層が第３層となる。
【００７４】
ルータ２０−３は、ルータ２０−２とのオーファンによる接続に成功すると（ステップ１０９のＹＥＳ）、一定時間の経過を待って（ステップ１０５）、ステップ１０２へ戻る。この場合、ルータ２０−３は、現在の階層が所属階層以上上の階層となったことを確認して（ステップ１０２のＹＥＳ）、一連の動作を終了する。
【００７５】
なお、ルータ２０−２とのオーファンによる接続に成功しなかった場合には（ステップ１０９のＮＯ）、電波到達圏内の他のデバイスにアソシエイト接続要求を送り（ステップ１１０）、そのデバイスとの接続を図る。この場合、ルータ２０−４にアソシエイト接続要求が送られ、ルータ２０−４との接続が図られる。そして、アソシエイト接続の成功を確認した後（ステップ１１１のＹＥＳ）、一定時間の経過を待って（ステップ１０５）、ステップ１０２へ戻る。以下、現在の階層が所属階層以上上の階層となるまで、同様動作を繰り返す。
【００７６】
〔ツリー構造の維持機能：実施の形態２〕
次に、ルータ２０が有するツリー構造の維持機能の第２例（実施の形態２）として、再接続前の元の階層を用いる例（実施の形態２）を説明する。この実施の形態２では、ルータ２０に、再接続時、現在の親デバイスとの接続前に位置していたツリー構造中の階層を元の階層として記憶させる。例えば、図７に示したツリー構造中のルータ２０−３について言えば、現在の親デバイスであるルータ２０−４との接続前に位置していた階層、すなわちルータ２０−１と接続していた時の階層（第２層）を元の階層として記憶させる。
【００７７】
この実施の形態２において、ルータ２０−３は、ルータ２０−４と再接続されると（図１１に示すステップ２０１のＹＥＳ（図７））、ツリー構造中の自己が位置している現在の階層をチェックし、自己が位置している現在の階層と再接続前に位置していた元の階層とを比較する（ステップ２０２）。この場合、現在の階層は第３層、元の階層は第２層であるので、現在の階層が元の階層よりも下位の階層（深い階層）であると判断し（ステップ２０２のＮＯ）、電波到達圏内に存在するデバイスに対して、そのデバイスが位置している現在の階層を問い合わせる（ステップ２０３）。
【００７８】
そして、ルータ２０−３は、電波到達圏内に存在するデバイスから取得した現在の階層より、元の階層よりも１階層以上上のデバイス（ルータ或いはコーディネータ）が存在するか否かを確認する（ステップ２０４）。元の階層よりも１階層以上上のデバイスの存在が確認されない場合には（ステップ２０４のＮＯ）、一定時間待機した後（ステップ２０５）、ステップ２０２へ戻り、同様動作を繰り返す。
【００７９】
元の階層よりも１階層以上上のデバイスの存在が確認された場合（ステップ２０４のＹＥＳ）、ルータ２０−３は、そのデバイスの中で最も電波条件のよいデバイスに直接接続要求を送る（ステップ２０６）。この場合、ルータ２０−３は、元の階層（第２層）よりも１階層以上上のデバイスで、かつ最も電波条件のよいデバイスとして、第１層に位置するルータ２０−２の存在を確認し、このルータ２０−２に直接接続要求を送る（図９（ａ）参照）。ルータ２０−２は、ルータ２０−３からの直接接続要求を受けて、接続許可デバイスとしてルータ２０−３の識別番号＃３を登録する。また、ルータ２０−３の識別番号＃３と対応づけて、ルータ２０−３に割り当てるべきアドレス（この例では、アドレスＡＤ９）を決定する。これにより、ルータ２０−３を接続許可デバイスとする接続情報がルータ２０−２内に作成される。
【００８０】
次に、ルータ２０−３は、自己の電源をオフとする（ステップ２０７）。この電源のオフにより、ルータ２０−３に割り当てられているアドレスＡＤ６が消去され、ルータ２０−４の接続情報テーブルＴ１からルータ２０−３との親子関係を示す情報が削除され（図９（ｂ）参照）、ルータ２０−３とルータ２０−４との親子関係が解消される。
【００８１】
そして、ルータ２０−３はオーファン接続要求を電波到達圏内に位置する親候補のデバイスへ送る（ステップ２０８：図１０（ａ）参照）。ルータ２０−２は、このルータ２０−３からのオーファン接続要求を受けて、ルータ２０−３を接続許可デバイスとする接続情報が作成されているか否かをチェックする。この場合、ルータ２０−３を接続許可デバイスとする接続情報が作成されているので、ルータ２０−２は、その接続情報からルータ２０−３の識別番号＃３に対応するアドレスＡＤ９を読み出し、ルータ２０−３に割り当てる。また、ルータ２０−２は、下位のデバイスへ付番可能なアドレスとして、アドレスブロックＡＤ９を含むアドレスブロック「ＡＤ９〜ＡＤ１１」をルータ２０−３へ送る。
【００８２】
このようにして、ルータ２０−２とルータ２０−３との間で新たな親子関係が結ばれ、ルータ２０−２がルータ２０−３の新たな親デバイスとなる。これにより、図１０（ｂ）に示されるように、ルータ２０−３の階層が第２層となる。また、エンドデバイス３−１および３−２からの再接続の要求に応えて、エンドデバイス３−１および３−２にルータ２０−３からアドレスＡＤ１０およびＡＤ１１が割り当てられ、ルータ２−３とエンドデバイス３−１および３−２との間に親子関係が結ばれ、エンドデバイス３−１および３−２の階層が第３層となる。
【００８３】
ルータ２０−３は、ルータ２０−２とのオーファンによる接続に成功すると（ステップ２０９のＹＥＳ）、一定時間の経過を待って（ステップ２０５）、ステップ２０２へ戻る。この場合、ルータ２０−３は、現在の階層が元の階層以上上の階層となったことを確認して（ステップ２０２のＹＥＳ）、一連の動作を終了する。
【００８４】
なお、ルータ２０−２とのオーファンによる接続に成功しなかった場合には（ステップ２０９のＮＯ）、電波到達圏内の他のデバイスにアソシエイト接続要求を送り（ステップ２１０）、そのデバイスとの接続を図る。この場合、ルータ２０−４にアソシエイト接続要求が送られ、ルータ２０−４との接続が図られる。そして、アソシエイト接続の成功を確認した後（ステップ２１１のＹＥＳ）、一定時間の経過を待って（ステップ２０５）、ステップ２０２へ戻る。以下、現在の階層が元の階層以上上の階層となるまで、同様動作を繰り返す。
【００８５】
〔ツリー構造の維持機能：実施の形態３〕
次に、ルータ２０が有するツリー構造の維持機能の第３例（実施の形態３）として、現在位置している階層よりも２階層以上上のデバイスの存在を確認する例を説明する。
【００８６】
この実施の形態３において、ルータ２０−３は、ルータ２０−４と再接続されると（図１２に示すステップ３０１のＹＥＳ（図７））、電波到達圏内に存在するデバイスに対して、そのデバイスが位置している現在の階層を問い合わせる（ステップ３０２）。
【００８７】
そして、電波到達圏内に存在するデバイスから取得した現在の階層より、自己が位置している現在の階層よりも２階層以上上のデバイス（ルータ或いはコーディネータ）が存在するか否かを確認する（ステップ３０３）。自己が位置している現在の階層よりも２階層以上上のデバイスの存在が確認されない場合には（ステップ３０３のＮＯ）、一定時間待機した後（ステップ３０４）、ステップ３０２へ戻って同様動作を繰り返す。
【００８８】
自己が位置している現在の階層よりも２階層以上上のデバイスの存在が確認された場合（ステップ３０３のＹＥＳ）、ルータ２０−３は、そのデバイスの中で最も電波条件のよいデバイスに直接接続要求を送る（ステップ３０５）。この場合、ルータ２０−３は、自己が位置している現在の階層（第３層）よりも２階層以上上のデバイスで、かつ最も電波条件のよいデバイスとして、第１層に位置するルータ２０−２の存在を確認し、このルータ２０−２に直接接続要求を送る（図９（ａ）参照）。ルータ２０−２は、ルータ２０−３からの直接接続要求を受けて、接続許可デバイスとしてルータ２０−３の識別番号＃３を登録する。また、ルータ２０−３の識別番号＃３と対応づけて、ルータ２０−３に割り当てるべきアドレス（この例では、アドレスＡＤ９）を決定する。これにより、ルータ２０−３を接続許可デバイスとする接続情報がルータ２０−２内に作成される。
【００８９】
次に、ルータ２０−３は、自己の電源をオフとする（ステップ３０６）。この電源のオフにより、ルータ２０−３に割り当てられているアドレスＡＤ６が消去され、ルータ２０−４の接続情報テーブルＴ１からルータ２０−３との親子関係を示す情報が削除され（図９（ｂ）参照）、ルータ２０−３とルータ２０−４との親子関係が解消される。
【００９０】
そして、ルータ２０−３はオーファン接続要求を電波到達圏内に位置する親候補のデバイスへ送る（ステップ３０７：図１０（ａ）参照）。ルータ２０−２は、このルータ２０−３からのオーファン接続要求を受けて、ルータ２０−３を接続許可デバイスとする接続情報が作成されているか否かをチェックする。この場合、ルータ２０−３を接続許可デバイスとする接続情報が作成されているので、ルータ２０−２は、その接続情報からルータ２０−３の識別番号＃３に対応するアドレスＡＤ９を読み出し、ルータ２０−３に割り当てる。また、ルータ２０−２は、下位のデバイスへ付番可能なアドレスとして、アドレスブロックＡＤ９を含むアドレスブロック「ＡＤ９〜ＡＤ１１」をルータ２０−３へ送る。
【００９１】
このようにして、ルータ２０−２とルータ２０−３との間で新たな親子関係が結ばれ、ルータ２０−２がルータ２０−３の新たな親デバイスとなる。これにより、図１０（ｂ）に示されるように、ルータ２０−３の階層が第２層となる。また、エンドデバイス３−１および３−２からの再接続の要求に応えて、エンドデバイス３−１および３−２にルータ２０−３からアドレスＡＤ１０およびＡＤ１１が割り当てられ、ルータ２−３とエンドデバイス３−１および３−２との間に親子関係が結ばれ、エンドデバイス３−１および３−２の階層が第３層となる。
【００９２】
ルータ２０−３は、ルータ２０−２とのオーファンによる接続に成功すると（ステップ３０８のＹＥＳ）、一定時間の経過を待って（ステップ３０４）、ステップ３０２へ戻る。また、ルータ２０−２とのオーファンによる接続に成功しなかった場合（ステップ３０８のＮＯ）、電波到達圏内の他のデバイスにアソシエイト接続要求を送り（ステップ３０９）、そのデバイスとの接続を図る。この場合、ルータ２０−４にアソシエイト接続要求が送られ、ルータ２０−４との接続が図られる。そして、アソシエイト接続の成功を確認して（ステップ３１０のＹＥＳ）、ステップ３０２へ戻る。以下、同様動作を繰り返す。
【００９３】
これにより、ルータ２０−３は、ツリー構造中の自己が位置している現在の階層を定期的にチェックし、現在位置している階層よりも２階層以上上のデバイスが存在する場合、そのデバイスを新たな親デバイスの候補として接続要求を送るという動作を繰り返す。したがって、ルータ２０−３は、可能な限り上位の層に位置し、ツリー構造の階層が無駄に深くなることがない。
【００９４】
〔ツリー構造の維持機能：実施の形態４〕
次に、ルータ２０が有するツリー構造の維持機能の第４例（実施の形態４）として、自己を起点とするツリー構造内の最下位に位置するデバイスの階層を用いる例を説明する。
【００９５】
この実施の形態４では、ルータ２０に、自己を起点とするツリー構造内の最下位に位置するデバイス（以下、自己起点ツリー構造内最下位デバイスと呼ぶ）のそのツリー構造における階層を記憶させておく。また、ルータ２０に、コーディネータ１０を起点とするツリー構造を基本ツリー構造とし、この基本ツリー構造の最大階層（ツリー構造の階層の最深度）を記憶させておく。
【００９６】
例えば、図５（ａ）に示したツリー構造中のルータ２０−３について言えば、ルータ２０−３を起点とするツリー構造内の最下位に位置するエンドデバイス３０−１および３０−２を自己起点ツリー構造内最下位デバイスとし、この自己起点ツリー構造内最下位デバイスのそのツリー構造における階層（第１階層）を自己起点ツリー構造内最下位デバイスの階層として記憶させておく。また、基本ツリー構造の最大階層Ｌｍ（この例では、Ｌｍ＝３）をルータ２０−３に記憶させておく。
【００９７】
この実施の形態４において、ルータ２０−３は、ルータ２０−４と再接続されると（図１３に示すステップ４０１のＹＥＳ（図７））、コーディネータ１０を起点とする基本ツリー構造中の自己が位置している現在の階層（第３層）と自己起点ツリー構造内最下位デバイスの階層（第１階層）とから、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層を判断する（ステップ４０２）。この場合、ルータ２０−３は、基本ツリー構造中の自己が位置している現在の階層が第３層であり、自己起点ツリー構造内最下位デバイスの階層が第１階層なので、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層を第４層であると判断する。
【００９８】
そして、ルータ２０−３は、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層と基本ツリー構造の最大階層とを比較する（ステップ４０３）。この場合、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層は第４層、基本ツリー構造の最大階層は「３」であるので、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層よりも下位の階層（深い階層）であると判断し（ステップ４０３のＮＯ）、電波到達圏内に存在するデバイスに対して、そのデバイスが位置している現在の階層を問い合わせる（ステップ４０４）。
【００９９】
そして、ルータ２０−３は、電波到達圏内に存在するデバイスから取得した現在の階層より、そのデバイスにルータ２０−３を接続した場合に自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層を超えることがないデバイス（ルータ或いはコーディネータ）を探索する（ステップ４０５）。自己起点ツリー構造内最下位デバイスの階層が最大階層を超えることがないデバイスがなかった場合には（ステップ４０５のＮＯ）、一定時間待機した後（ステップ４０６）、ステップ４０２へ戻って同様動作を繰り返す。
【０１００】
自己起点ツリー構造内最下位デバイスの階層が最大階層を超えることがないデバイスがあった場合（ステップ４０５のＹＥＳ）、ルータ２０−３は、そのデバイスの中で最も電波条件のよいデバイスに直接接続要求を送る（ステップ４０７）。この場合、ルータ２０−３は、自己起点ツリー構造内最下位デバイスの階層が最大階層を超えることがないデバイスで、かつ最も電波条件のよいデバイスとして、第１階層に位置するルータ２０−２の存在を確認し、このルータ２０−２に直接接続要求を送る（図９（ａ）参照）。ルータ２０−２は、ルータ２０−３からの直接接続要求を受けて、接続許可デバイスとしてルータ２０−３の識別番号＃３を登録する。また、ルータ２０−３の識別番号＃３と対応づけて、ルータ２０−３に割り当てるべきアドレス（この例では、アドレスＡＤ９）を決定する。これにより、ルータ２０−３を接続許可デバイスとする接続情報がルータ２０−２内に作成される。
【０１０１】
次に、ルータ２０−３は、自己の電源をオフとする（ステップ４０８）。この電源のオフにより、ルータ２０−３に割り当てられているアドレスＡＤ６が消去され、ルータ２０−４の接続情報テーブルＴ１からルータ２０−３との親子関係を示す情報が削除され（図９（ｂ）参照）、ルータ２０−３とルータ２０−４との親子関係が解消される。
【０１０２】
そして、ルータ２０−３はオーファン接続要求を電波到達圏内に位置する親候補のデバイスへ送る（ステップ４０９：図１０（ａ）参照）。ルータ２０−２は、このルータ２０−３からのオーファン接続要求を受けて、ルータ２０−３を接続許可デバイスとする接続情報が作成されているか否かをチェックする。この場合、ルータ２０−３を接続許可デバイスとする接続情報が作成されているので、ルータ２０−２は、その接続情報からルータ２０−３の識別番号＃３に対応するアドレスＡＤ９を読み出し、ルータ２０−３に割り当てる。また、ルータ２０−２は、下位のデバイスへ付番可能なアドレスとして、アドレスブロックＡＤ９を含むアドレスブロック「ＡＤ９〜ＡＤ１１」をルータ２０−３へ送る。
【０１０３】
このようにして、ルータ２０−２とルータ２０−３との間で新たな親子関係が結ばれ、ルータ２０−２がルータ２０−３の新たな親デバイスとなる。これにより、図１０（ｂ）に示されるように、ルータ２０−３の階層が第２層となる。また、エンドデバイス３−１および３−２からの再接続の要求に応えて、エンドデバイス３−１および３−２にルータ２０−３からアドレスＡＤ１０およびＡＤ１１が割り当てられ、ルータ２−３とエンドデバイス３−１および３−２との間に親子関係が結ばれ、エンドデバイス３−１および３−２の階層が第３層となる。
【０１０４】
ルータ２０−３は、ルータ２０−２とのオーファンによる接続に成功すると（ステップ４１０のＹＥＳ）、一定時間の経過を待って（ステップ４０６）、ステップ４０２へ戻る。この場合、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層以上上の階層となったことを確認して（ステップ４０３のＹＥＳ）、一連の動作を終了する。
【０１０５】
なお、ルータ２０−２とのオーファンによる接続に成功しなかった場合（ステップ４１０のＮＯ）、電波到達圏内の他のデバイスにアソシエイト接続要求を送り（ステップ４１１）、そのデバイスとの接続を図る。この場合、ルータ２０−４にアソシエイト接続要求が送られ、ルータ２０−４との接続が図られる。そして、アソシエイト接続の成功を確認して（ステップ４１２のＹＥＳ）、ステップ４０２へ戻る。以下、基本ツリー構造における自己起点ツリー構造内最下位デバイスの階層が基本ツリー構造の最大階層以上上の階層となるまで、同様動作を繰り返す。
【０１０６】
この実施の形態４では、実施の形態１，２，３よりも新しい親デバイスになり得る候補が広がるので、新しい親デバイスが見つかる可能性が高くなる。
【図面の簡単な説明】
【０１０７】
【図１】本発明に係る無線通信システムの一例を示す概略図である。
【図２】この無線通信システムに用いるコーディネータの概略的なブロック図である。
【図３】この無線通信システムに用いるルータの概略的なブロック図である。
【図４】この無線通信システムに用いるエンドデバイスの概略的なブロック図である。
【図５】ルータ間の伝送路に電波障害などが発生した場合の動作を説明する図である
【図６】接続確認要求送信時のルータにおける処理動作を示すフローチャートである。
【図７】ルータ間の伝送路に電波障害などが発生した場合に生じる虞れのあるエンドデバイスをルータに再接続することができない状況を説明する図である。
【図８】ツリー構造の維持機能の第１例（実施の形態１）を説明するためのフローチャートである。
【図９】ルータ間の伝送路に電波障害などが発生した場合のツリー構造の維持動作を説明する図である。
【図１０】ルータ間の伝送路に電波障害などが発生した場合のツリー構造の維持動作を説明する図である。
【図１１】ツリー構造の維持機能の第２例（実施の形態２）を説明するためのフローチャートである。
【図１２】ツリー構造の維持機能の第３例（実施の形態３）を説明するためのフローチャートである。
【図１３】ツリー構造の維持機能の第４例（実施の形態４）を説明するためのフローチャートである。
【図１４】従来のジグビーネットワークの単純な例を示す図である。
【図１５】従来のジグビーネットワークにおいてルータ間の伝送路に電波障害などが発生した場合の動作を説明する図である。
【図１６】従来のジグビーネットワークにおいてルータ間の伝送路に電波障害などが発生した場合に生じる虞れのあるエンドデバイスをルータに再接続することができない状況を説明する図である。
【符号の説明】
【０１０８】
１０…コーディネータ、１０Ａ…処理部、１０Ｂ…ＲＯＭ、１０Ｃ…ＥＥＰＲＯＭ、１０Ｄ…ＲＦ回路、２０（２０−１〜２０−６）…ルータ、２０Ａ…処理部、２０Ｂ…ＲＯＭ、２０Ｃ…ＥＥＰＲＯＭ、２０Ｄ…ＲＦ回路、３０（３０−１〜３０−８）…エンドデバイス、３０Ａ…処理部、３０Ｂ…ＲＯＭ、３０Ｃ…ＥＥＰＲＯＭ、３０Ｄ…ＲＦ回路、Ｔ０，Ｔ１…接続情報テーブル。
【図１】
2008148030.tif 000003
【図２】
2008148030.tif 000004
【図３】
2008148030.tif 000005
【図４】
2008148030.tif 000006
【図５】
2008148030.tif 000007
【図６】
2008148030.tif 000008
【図７】
2008148030.tif 000009
【図８】
2008148030.tif 000010
【図９】
2008148030.tif 000011
【図１０】
2008148030.tif 000012
【図１１】
2008148030.tif 000013
【図１２】
2008148030.tif 000014
【図１３】
2008148030.tif 000015
【図１４】
2008148030.tif 000016
【図１５】
2008148030.tif 000017
【図１６】
2008148030.tif 000018