無線通信システムおよびデバイス
【課題】子ノードに接続されている下位のノードが連鎖的に切断されないようにする。親子間の通信を途切れないようにする。
【解決手段】ルータ20−3から親子関係を結んでいる上位のルータ20−1へ定期的に接続確認要求を送る。ルータ20−1は、ルータ20−3からの接続確認要求を受信する毎に、接続確認応答をルータ20−3に返送する。ルータ20−1と20−3との間の伝送路に電波障害などが発生すると、ルータ20−1からのルータ20−3への接続確認応答が途絶える。ルータ20−3は、ルータ20−1からの接続確認応答が途絶えた場合、自己の電源を遮断せずに、通信圏内の他のルータ20−4を経由して中継要求をコーディネータ10へ送り、コーディネータ10によって探索された迂回経路を通して、ルータ20−1との親子間の通信を継続する。
【解決手段】ルータ20−3から親子関係を結んでいる上位のルータ20−1へ定期的に接続確認要求を送る。ルータ20−1は、ルータ20−3からの接続確認要求を受信する毎に、接続確認応答をルータ20−3に返送する。ルータ20−1と20−3との間の伝送路に電波障害などが発生すると、ルータ20−1からのルータ20−3への接続確認応答が途絶える。ルータ20−3は、ルータ20−1からの接続確認応答が途絶えた場合、自己の電源を遮断せずに、通信圏内の他のルータ20−4を経由して中継要求をコーディネータ10へ送り、コーディネータ10によって探索された迂回経路を通して、ルータ20−1との親子間の通信を継続する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ツリー構造の無線通信システムおよびこの無線通信システムに用いられるデバイスに関するものである。
【背景技術】
【0002】
近年、無線通信を利用して、環境計測・監視・制御などを行うシステムが増加している。この環境計測・監視・制御などを行う無線通信システムでは、対象エリアが比較的広い、又は、対象エリア内に無線通信の障害物が多々存在する場合が多い。このような場合、対象エリアをカバーするためには、受信器と送信器の設置位置や電波状況等の環境により直接通信できなくても、他のデバイスを中継して通信を行うことができる無線通信ネットワークを利用することが有利である。
【0003】
この種の無線通信ネットワークとして、ジグビー(Zigbee(登録商標))プロトコルを利用した無線通信ネットワークが考えられている(例えば、特許文献1、特許文献2参照)。以下、このジグビープロトコルを利用した無線通信ネットワークをジグビーネットワークと呼ぶ。
【0004】
ジグビーネットワークは、ツリー構造の無線通信ネットワークであり、次のような3種類のデバイスによって構成される。
〔デバイスA(ノードA)〕
コーディネータと呼ばれ、ネットワークの基層(最上位)に唯一存在し、下位デバイスと接続通信でき、ネットワーク内の全てのデバイスに対して命令するとともに、各デバイス固有の情報および各デバイスから送られてくる情報の収集を統括する。また、ネットワーク全体の総合親局の役割を果たすとともに、自己と親子の接続関係(以下、単に親子関係と呼ぶ)を結ぶデバイスにアドレスを付番する。
【0005】
〔デバイスB(ノードB)〕
ルータと呼ばれ、コーディネータよりも下層に存在し、上位デバイスおよび下位デバイスと接続通信でき、コーディネータからの命令を受けるとともに、下位デバイス(ルータ、又はエンドデバイス)を接続することができ、それらデバイスに対しては局地的な親局の役割を果たす。また、自己と親子関係を結ぶデバイスにアドレスを付番する。
【0006】
〔デバイスC(ノードC)〕
エンドデバイスと呼ばれ、ネットワークの末端(最下位)に存在し、上位デバイスと接続通信でき、他のデバイスの親局にはならない。例えば、空調制御システムでは、温度センサや湿度センサなどのセンサがエンドデバイスとされる。
【0007】
なお、ジグビーネットワークの各デバイスには、接続可能な下位デバイスの最大個数Cmと、ツリー構造の階層の最深度Lmがネットワークパラメータとして定められる。
【0008】
図11にジグビーネットワークの単純な例を示す。同図において、1は最上位(第0層)に位置するコーディネータ、2−1,2−2はコーディネータ1の下層(第1層)に位置するルータ、2−3〜2−6はルータ2−1〜2−2の下層(第2層)に位置するルータ、3−1〜3−8はルータ2−3〜2−6の下層(第3層(最下位))に位置するエンドデバイスである。
【0009】
なお、この例において、コーディネータ1の識別番号は#0、ルータ2−1〜2−6の識別番号は#1〜#6、エンドデバイス3−1〜3−8の識別番号は#7〜#14として設定されているものとする。これらの識別番号#0〜#14は、デバイス毎に固有に定められたものであり、変わることはない。また、このジグビーネットワークにおいて、コーディネータ1には、ネットワーク全体に対して付番可能なアドレスとしてアドレスブロックAD0〜AD14が定められ、このアドレスブロックのうち「AD0」が自己のアドレスとして割り当てられるものとする。
【0010】
コーディネータ1に対して、ルータ2−1を接続する場合、ルータ2−1をコーディネータ1に近づけて電源をオンとする。すると、ルータ2−1からコーディネータ1へアソシエイト(参加申請)と呼ばれる接続要求(以下、アソシエイト接続要求と呼ぶ)が送られる。コーディネータ1は、ルータ2−1からのアソシエイト接続要求を受けて、ルータ2−1に対してアドレスAD1を割り当てるとともに、ルータ2−1の識別番号#1とルータ2−1に割り当てたアドレスAD1とを対応づけて親子関係有り(「○」)として接続情報テーブルT0に書き込む。また、ルータ2−1へ、下位のデバイスへ付番可能なアドレスとして、アドレスAD1を含むアドレスブロック「AD1〜AD7」を送る。
【0011】
次に、ルータ2−2をコーディネータ1に近づけて電源をオンとすると、ルータ2−2からコーディネータ1へアソシエイト接続要求が送られる。コーディネータ1は、ルータ2−2からのアソシエイト接続要求を受けて、ルータ2−2に対してアドレスAD8を割り当てるとともに、ルータ2−2の識別番号#2とルータ2−2に割り当てたアドレスAD8とを対応づけて親子関係有りとして接続情報テーブルT0に書き込む。また、ルータ2−2へ、下位のデバイスへ付番可能なアドレスとして、アドレスAD8を含むアドレスブロック「AD8〜AD14」を送る。
【0012】
ルータ2−3をルータ2−1に近づけて電源をオンとすると、ルータ2−3からルータ2−1へアソシエイト接続要求が送られる。ルータ2−1は、ルータ2−3からのアソシエイト接続要求を受けて、ルータ2−3に対してアドレスAD2を割り当てるとともに、ルータ2−3の識別番号#3とルータ2−3に割り当てたアドレスAD2とを対応づけて親子関係有りとして接続情報テーブルT1に書き込む。また、ルータ2−3へ、下位のデバイスへ付番可能なアドレスとして、アドレスAD2を含むアドレスブロック「AD2〜AD4」を送る。
【0013】
エンドデバイス3−1をルータ2−3に近づけて電源をオンとすると、エンドデバイス3−1からルータ2−3へアソシエイト接続要求が送られる。ルータ2−3は、エンドデバイス3−1からのアソシエイト接続要求を受けて、エンドデバイス3−1に対してアドレスAD3を割り当てるとともに、エンドデバイス3−1の識別番号#7とエンドデバイス3−1に割り当てたアドレスAD3とを対応づけて親子関係有りとして接続情報テーブルT1に書き込む。以下、同様にして、各デバイスにアドレスが割り当てられる。
【0014】
このジグビーネットワークでは、例えばエンドデバイス3−1とルータ2−3との間の伝送路に電波障害などが発生した場合、エンドデバイス3−1からの情報(例えば、温度計測値、湿度計測値など)がルータ2−3で受信できなくなる。この場合、エンドデバイス3−1は、切断(電源オフ)、再接続(電源オン)を行う。エンドデバイス3−1の電源がオフとされると、エンドデバイス3−1に割り当てられたアドレスAD3が消失する。また、例えばルータ2−4がエンドデバイス3−1の通信圏内にあり、ルータ2−4が下位のデバイスとの親子関係を未だ結んでいないものとした場合、エンドデバイス3−1の再接続により、エンドデバイス3−1とルータ2−4との間で親子関係が結ばれ、ルータ2−4からエンドデバイス3−1に新たなアドレスが割り当てられ、ルータ2−4を経由して、エンドデバイス3−1からの情報が継続してコーディネータ1へ送られるものとなる。
【0015】
なお、図11には単純な例を示したが、実際には最上位のコーディネータ1と最下位のエンドデバイス3との間にはルータ2がさらに何層も位置し、ルータ2の数やエンドデバイス3の数も増大し、大規模なネットワークとされる。
【0016】
【特許文献1】特開2006−5928号公報
【特許文献2】特開2006−42370号公報
【発明の開示】
【発明が解決しようとする課題】
【0017】
しかしながら、上述したジグビーネットワークでは、親ノードと子ノードとの間の伝送路に電波障害などが発生した場合、他のノードを経由して子ノードからの情報が継続してコーディネータへ送られるが、すなわち迂回経路を通して子ノードからの情報が継続してコーディネータへ送られるが、子ノードにその子ノード自身を親ノードとして別の下位のノードが接続されているような場合、この子ノードに接続されている下位のノードが連鎖的に切断されてしまうという問題が発生する。また、子ノードとコーディネータとの間の通信は継続されるが、子ノードのアドレスが変わってしまうので、元の親ノードはその子ノードが親子関係にある子ノードであることを認識することができず、子ノードと元の親ノードとの間の親子間の通信が途切れてしまう。
【0018】
例えば、図12(a)に示すように、ルータ2−1とルータ2−3および2−4との間に親子関係が結ばれており、ルータ2−3とエンドデバイス3−1,3−2との間に親子関係が結ばれているものとする。また、ルータ2−4は、下位のデバイスとの親子関係を未だ結んでおらず、ルータ2−3の通信圏内にあるものとする。このような状態で、ルータ2−1とルータ2−3との間の伝送路に電波障害などが発生すると(図12(b))、ルータ2−3は、切断(電源オフ)、再接続(電源オン)を行う。この時、ルータ2−3の切断によって、ルータ2−3のアドレスAD2や接続情報テーブルT1の内容が消失し、ルータ2−3とエンドデバイス3−1および3−2との間が通信不能となり、エンドデバイス3−1および3−2が連鎖的に切断されてしまう(図15(c))。
【0019】
また、切断後の再接続により、ルータ2−3に新しいアドレスが割り当てられるので、ルータ2−1(元の親ノード)は、ルータ2−3を自分の子ノードであるとは認識することができず、ルータ2−3からのルータ2−4を介する情報を上位のデバイスに転送するのみで、ルータ2−1とルータ2−3との間の親子間の通信が途切れてしまう。この親子間の通信の途切れにより、例えばルータ2−1がルータ2−3からのデータに基づいて他の機器を制御しているような場合、その制御動作が行えなくなってしまう。
【0020】
本発明は、このような課題を解決するためになされたもので、その目的とするところは、親ノードと子ノードとの間の伝送路に電波障害などが生じた場合の迂回経路の形成に際し、子ノードに接続されている下位のノードが連鎖的に切断されてしまうことがなく、親ノードと子ノードとの間の親子間の通信が途切れることのない無線通信システムを提供することにある。
【課題を解決するための手段】
【0021】
このような目的を達成するために、第1発明(請求項1に係る発明)は、最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスと、この第1のデバイスと第2のデバイスとの間に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第3のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたものである。
【0022】
この第1発明によれば、例えば、第1のデバイスをコーディネータ、第2のデバイスをエンドデバイス、第3のデバイスをルータとするツリー構造の無線通信システムとし、例えばルータ間で親子の接続関係を結んでおり、親ノードとなるルータを上位のルータ、子ノードとなるルータを下位のルータとした場合、上位のルータと下位のルータとの間の伝送路に電波障害などが生じるなどして、上位のルータとの直接接続が不能となると、下位のルータは、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のルータとの間の通信を継続する。
【0023】
この場合、下位のルータは、下位のデバイスとの親子の接続関係を解消しないので、下位のルータに接続されているルータやエンドデバイスが連鎖的に切断されてしまうことはない。また、下位のルータは上位のデバイスとの親子の接続関係を解消せず、上位のルータには下位のルータとの親子の接続関係を示す接続情報が残されるので、迂回経路を通して上位のルータとの間の通信を継続させた場合、下位のルータと上位のルータとの間の親子間の通信が途切れてしまうことはない。なお、この場合の上位のデバイスは、コーディネータである場合も考えられる。
【0024】
第2発明(請求項2に係る発明)は、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、第1のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたものである。
この第2発明によれば、例えば、上位のルータと下位のルータとの間の伝送路に電波障害などが生じるなどして、上位のルータとの直接接続が不能となると、下位のルータから他のデバイスを経由してコーディネータに中継要求が送られる。コーディネータは、この下位のルータからの中継要求に応じ、下位のルータと上位のルータとの間の他のデバイスを経由した迂回経路を探索する。例えば、下位のルータと上位のルータとの間の最短経路を迂回経路として探索し、その迂回経路に位置するデバイスに中継要求を発信した下位のルータからの通信を中継するように命ずる。
なお、この第2発明において、コーディネータに中継要求を送る場合の「他のデバイス」と迂回経路を通して通信を継続する場合の「他のデバイス」とは、同じであるとは限らない。
【0025】
第3発明(請求項3に係る発明)は、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたものである。
この第3発明によれば、例えば、上位のルータと下位のルータとの間の伝送路に電波障害などが生じるなどして、上位のルータとの直接接続が不能となると、上位のルータと親子の接続関係を結んでいる上々位のデバイスに下位のルータから他のデバイスを経由して中継要求が送られる。上々位のデバイスは、この下位のルータからの中継要求に応じ、下位のルータと上位のルータとの間の他のデバイスを経由した迂回経路を探索する。例えば、下位のルータと上位のルータとの間の最短経路を迂回経路として探索し、その迂回経路に位置するデバイスに中継要求を発信した下位のルータからの通信を中継するように命ずる。この場合、迂回経路の探索は、中継要求を発信したノードの親ノード(上位のデバイス)を自己の子ノードとして持つ親ノード(上々位のデバイス)で行われるので、最上位のコーディネータで迂回経路の探索を行うよりも速やかに行われる。
なお、この第3発明において、上々位のデバイスに中継要求を送る場合の「他のデバイス」と迂回経路を通して通信を継続する場合の「他のデバイス」とは、同じであるとは限らない。
【0026】
第4発明(請求項4に係る発明)は、第1〜第3発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスに定期的に接続確認要求を送信する手段と、接続確認要求の受信に成功したことを知らせる上位のデバイスからの接続確認応答を受信する手段とを設け、上位のデバイスからの接続確認応答が途絶えた場合に上位のデバイスとの直接接続が不能となったと判断するようにしたものである。
この第4発明によれば、例えば、下位のルータから上位のルータに定期的に接続確認要求が送信され、この接続確認要求が上位のルータで受信される毎に、上位のルータから下位のルータへ接続確認応答が返送される。下位のルータは、上位のルータからの接続確認応答が途絶えた場合に、上位のルータとの直接接続が不能となったと判断する。
【0027】
第5発明(請求項5に係る発明)は、第1〜第4発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が復旧した場合、迂回経路を通しての上位のデバイスとの通信の継続を解除し、上位のデバイスとの直接接続による通信を再開させる手段を設けたものである。
この第5発明によれば、例えば、下位のルータと上位のルータとの間の直接接続が復旧すると、迂回経路を通しての上位のルータとの通信の継続が解除され、上位のルータとの直接接続による通信が再開される。この場合、下位のルータは上位のルータとの親子の接続関係を解消しておらず、上位のルータには下位のルータとの親子関係を示す接続情報が残されているので、新たに親子関係を結ぶことなく、すぐに上位のルータと下位のルータとの間の直接接続による親子間の通信を再開させることができる。
【0028】
なお、本発明は、無線通信システムとしてではなく、デバイス単体としても構成することができる。この場合、デバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設ける(第6発明((請求項6に係る発明)))。このデバイスは、ルータとして用いてもよいし、エンドデバイスとして用いてもよい(第9発明((請求項9に係る発明)))。
【0029】
また、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、この中継要求に応じた第1のデバイスが探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けるようにしてもよい(第7発明((請求項7に係る発明)))。
また、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けるようにしてもよい(第8発明((請求項8に係る発明)))。
【発明の効果】
【0030】
第1発明によれば、第1のデバイスと第2のデバイスとの間に位置する第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたので、第3のデバイス(子ノード)と上位のデバイス(親ノード)との間の伝送路に電波障害などが生じた場合の迂回経路の形成に際し、子ノードに接続されている下位のノードが連鎖的に切断されてしまうことがないようにすることができる。また、下位のルータは上位のデバイスとの親子の接続関係を解消せず、上位のルータには下位のルータとの親子の接続関係を示す接続情報が残されるので、迂回経路を通して上位のルータとの間の通信を継続させた場合、子ノードと親ノードとの間の親子間の通信が途切れることがないようすることができる。
【0031】
第2発明によれば、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、第1のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたので、第1のデバイス(最上位のノード)に第3のデバイス(子ノード)と上位のデバイス(親ノード)との間の迂回経路を探索させ、この最上位のノードが探索した迂回経路を通して子ノードと親ノードと間の親子間の通信を継続させることができるようになる。
【0032】
第3発明によれば、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたので、中継要求を発信した子ノード(第3のデバイス)の親ノード(上位のデバイス)を自己の子ノードとして持つ親ノード(上々位のデバイス)で迂回経路の探索が行われ、第1のデバイス(最上位のデバイス)で迂回経路の探索を行わせるよりも、迂回経路の探索を速やかに行わせることができるようになる。
【0033】
第4発明によれば、第1〜第3発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスに定期的に接続確認要求を送信する手段と、接続確認要求の受信に成功したことを知らせる上位のデバイスからの接続確認応答を受信する手段とを設け、上位のデバイスからの接続確認応答が途絶えた場合に上位のデバイスとの直接接続が不能となったと判断するようにしたので、簡易な方法で、上位のデバイス(親ノード)との間の直接接続が不能となった状態を確認することができる。
【0034】
第5発明によれば、第1〜第4発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が復旧した場合、迂回経路を通しての上位のデバイスとの通信の継続を解除し、上位のデバイスとの直接接続による通信を再開させる手段を設けたので、新たに親子関係を結ぶことなく、すぐに第3のデバイスと上位のデバイスとの間の直接接続による親子間の通信を再開させることができるようになる。
【0035】
第6発明によれば、デバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたので、このデバイスをルータとして用いることにより、第1発明と同様の効果を奏する。
第7発明によれば、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、この中継要求に応じた第1のデバイスが探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けるようにしたので、このデバイスをルータとして用いることにより、第2発明と同様の効果を奏する。
第8発明によれば、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたので、このデバイスをルータとして用いることにより、第3発明と同様の効果を奏する。
【0036】
第9発明によれば、最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第2のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたので、第2のデバイス(子ノード)と上位のデバイス(親ノード)との間の伝送路に電波障害などが生じた場合の迂回経路の形成に際し、子ノードと親ノードとの間の親子間の通信が途切れることがないようすることができる
【発明を実施するための最良の形態】
【0037】
以下、本発明を図面に基づいて詳細に説明する。
図1はこの発明に係る無線通信システムの一例を示す概略図である。この無線通信システムは、ジグビーネットワークを利用した単純な例であり、最上位(第0層)に位置するコーディネータ10と、最下位(第3層)に位置するエンドデバイス30と、コーディネータ10とエンドデバイス30との間(第1層、第2層)に位置するルータ20とによって構成される。
【0038】
なお、この例において、コーディネータ10の識別番号は#0、ルータ20−1〜20−6の識別番号は#1〜#6、エンドデバイス30−1〜30−8の識別番号は#7〜#14として設定されているものとする。また、この無線通信システムにおいて、コーディネータ10には、ネットワーク全体に対して付番可能なアドレスとしてアドレスブロックAD0〜AD14が定められ、このアドレスブロックのうち「AD0」が自己のアドレスとして割り当てられるものとする。
【0039】
この無線通信システムにおいても、図11に示したジグビーネットワークと同様に、コーディネータ10に対して、ルータ20−1を接続する場合、ルータ20−1をコーディネータ10に近づけて電源をオンとする。すると、ルータ20−1からコーディネータ10へアソシエイト接続要求が送られ、コーディネータ10との間で親子関係が結ばれる。これにより、ルータ20−1へアドレスAD1が割り当てられ、コーディネータ10の接続情報テーブルT0にルータ20−1に割り当てたアドレスAD1と識別番号#1との対応関係が書き込まれる。
【0040】
同様にして、コーディネータ10とルータ20−2との間、ルータ20−1とルータ20−3および20−4との間、ルータ20−2とルータ20−5および20−6との間、ルータ20−3とエンドデバイス30−1および30−2との間、ルータ20−4とエンドデバイス30−3および30−4との間、ルータ20−5とエンドデバイス30−5および30−6との間、ルータ20−6とエンドデバイス30−7および30−8との間で親子関係が結ばれる。
【0041】
これにより、ルータ20−2へアドレスAD8が割り当てられ、コーディネータ10の接続情報テーブルT0にルータ20−2に割り当てたアドレスAD8と識別番号#2との対応関係が書き込まれる。また、ルータ20−3,20−4にアドレスAD2,AD5が割り当てられ、ルータ20−1の接続情報テーブルT1にルータ20−3,20−4に割り当てたアドレスAD2,AD5と識別番号#3,#4との対応関係が書き込まれる。また、ルータ20−5,20−6にアドレスAD9,AD12が割り当てられ、ルータ20−2の接続情報テーブルT1にルータ20−5,20−6に割り当てたアドレスAD9,AD12と識別番号#5,#6との対応関係が書き込まれる。
【0042】
また、エンドデバイス30−1,30−2にアドレスAD3,AD4が割り当てられ、ルータ20−3の接続情報テーブルT1にエンドデバイス30−1,30−2に割り当てたアドレスAD3,AD4と識別番号#7,#8との対応関係が書き込まれる。また、エンドデバイス30−3,30−4にアドレスAD6,AD7が割り当てられ、ルータ20−4の接続情報テーブルT1にエンドデバイス30−3,30−4に割り当てたアドレスAD6,AD7と識別番号#9,#10との対応関係が書き込まれる。
【0043】
また、エンドデバイス30−5,30−6にアドレスAD10,AD11が割り当てられ、ルータ20−5の接続情報テーブルT1にエンドデバイス30−5,30−6に割り当てたアドレスAD10,AD11と識別番号#11,#12との対応関係が書き込まれる。また、エンドデバイス30−7,30−8にアドレスAD13,AD14が割り当てられ、ルータ20−6の接続情報テーブルT1にエンドデバイス30−7,30−8に割り当てたアドレスAD13,AD14と識別番号#13,#14との対応関係が書き込まれる。
【0044】
この無線通信システムにおいて、ルータ20およびエンドデバイス30は、定期的に上位のデバイスに接続確認要求を送信する接続確認要求送信機能を備えている。また、コーディネータ10およびルータ20は、下位のデバイスから定期的に送られてくる接続確認要求を受信する毎に、その接続確認要求の受信に成功したことを知らせる接続確認応答を返送する接続確認応答返送機能を有している。
【0045】
また、ルータ20は、接続確認要求の受信に成功したことを知らせる上位のデバイスからの接続確認応答が途絶えた場合、自己の電源を遮断することなく、通信圏内の他のルータ20へ中継要求を送り、この中継要求によって探索される迂回経路を通して通信を継続する迂回経路通信継続機能、上位のデバイスからのそれまで途絶えていた接続確認応答の入力が再開された場合、迂回経路を通しての上位デバイスとの通信の継続を解除し、上位のデバイスとの直接接続による通信を再開する接続再開機能を有している。
【0046】
また、エンドデバイス30は、上位のデバイスからの接続確認応答が途絶えた場合、切断(電源オフ)、再接続(電源オン)を行う切断再接続機能を有している。また、コーディネータ10は、ルータ20から送られてくる中継要求を受信し、その中継要求を発信したルータ20とそのルータ20の親ノード(上位のデバイス)との間の最短経路を迂回経路として探索し、その迂回経路に位置するルータ20に対して中継要求を発信したルータ20からの通信を中継するように命ずる迂回経路探索中継機能を有している。
【0047】
図2にコーディネータ10の概略的なブロック図を示す。コーディネータ10は、処理部10Aと、RAM10Bと、EEPROM10Cと、RF回路(無線送受信回路)10Dとを備えている。処理部10Aは、上述した接続確認応答返送機能、迂回経路探索中継機能の他、基本的な機能として、ネットワーク宣言機能、親ノード機能、通信機能(ノード間通信機能、通信中継機能)などを備えている。これらの機能は、処理部10Aが実行するプログラムに従う処理動作として得られる。なお、EEPROM10Cにはコーディネータ10の識別番号が格納され、RAM10Bにはネットワーク全体に対して付番可能なアドレスブロック、コーディネータ10に対して割り当てられるアドレス、接続情報テーブルT0などが格納される。
【0048】
図3にルータ20の概略的なブロック図を示す。ルータ20は、処理部20Aと、RAM20Bと、EEPROM20Cと、RF回路20Dとを備えている。処理部20Aは、上述した接続確認要求送信機能、接続確認応答返送機能、迂回経路通信継続機能、接続再開機能の他、基本的な機能として、親ノード機能、通信機能(ノード間通信機能、通信中継機能)などを備えている。これらの機能は、処理部20Aが実行するプログラムに従う処理動作として得られる。なお、EEPROM20Cにはルータ20の識別番号が格納され、RAM20Bにはルータ20に対して割り当てられるアドレス、上位のデバイスから送られてくる下位のデバイスに対して付番可能なアドレスブロック、接続情報テーブルT1などが格納される。
【0049】
図4にエンドデバイス30の概略的なブロック図を示す。エンドデバイス30は、処理部30Aと、RAM30Bと、EEPROM30Cと、RF回路30Dとを備えている。処理部30Aは、上述した接続確認要求送信機能、切断再接続機能の他、基本的な機能として、子ノード機能、通信機能(ノード間通信機能)などを備えている。これらの機能は、処理部30Aが実行するプログラムに従う処理動作として得られる。なお、EEPROM30Cには、エンドデバイス30の識別番号などが格納される。RAM30Bには、エンドデバイス30に対して割り当てられるアドレスなどが格納される。
【0050】
〔ルータ間の接続確認〕
ルータ20は、親子関係を結んでいる上位のルータ20に対し、接続確認要求を定期的に送信する。例えば、図1に示したルータ20−1とルータ20−3との間で説明すると、下位のルータ20−3から上位のルータ20−1へ接続確認要求が定期的に送られる(図5(a)参照)。ルータ20−1は、ルータ20−3からの接続確認要求を受信する毎に、接続確認要求の受信に成功したことを知らせる接続確認応答をルータ20−3に返送する。
【0051】
なお、図5(a)において、ルータ20−1は、ルータ20−3および20−4と親子関係を結んでおり、その接続情報テーブルT1にはルータ20−3および20−4との親子関係を示す接続情報が書き込まれているものとする。また、ルータ20−3は、エンドデバイス30−1および30−2と親子関係を結んでおり、その接続情報テーブルT1にはエンドデバイス30−1および30−2との親子関係を示す接続情報が書き込まれているものとする。また、ルータ20−4は、下位のデバイスとの親子関係を未だ結んでおらず、ルータ20−3の通信圏内にあるものとする。
【0052】
〔ルータ間の伝送路に電波障害などが発生した場合〕
図5(a)において、ルータ20−1と20−3との間の伝送路に電波障害などが発生すると、ルータ20−3からのルータ20−1への接続確認要求が途絶える(図5(b))。この場合、ルータ20−1は、ルータ20−3からの接続確認要求を受信することができず、その接続確認要求に対する接続確認応答を返送しない。
【0053】
一方、ルータ20−3は、ルータ20−1への接続確認要求を送信した後、ルータ20−1からの接続確認応答を待ち、ルータ20−1からの接続確認応答が途絶えたことを検出して、自己の電源を遮断することなく、通信圏内のルータ20−4を経由してコーディネータ10へ中継要求を送り、この中継要求によって探索される迂回経路を通してルータ20−1との間の通信を継続する(図5(c))。
【0054】
図6にこの場合のルータ20−3における処理動作を示す。ルータ20−3は、リトライ数を0としたうえ(ステップ101)、ルータ20−1へ接続確認要求を送信する(ステップ102)。そして、この接続確認要求に対してルータ20−1から返送されてくる接続確認応答を待ち(ステップ103)、接続確認応答を受信すると(ステップ104のYES)、一定時間の経過を待って(ステップ107)、ルータ20−1へ次の接続確認要求を送信する(ステップ102)。以下同様の処理動作を繰り返す。
【0055】
このような処理動作中、ルータ20−1からの接続確認応答が受信されなくなると(ステップ104のNO)、リトライ回数に1をプラスし(ステップ105)、一定時間の経過を待って(ステップ107)、ルータ20−1へ次の接続確認要求を送信する(ステップ102)。そして、リトライ回数が所定回数Nx以上となると(ステップ106のYES)、ルータ20−1からの接続確認応答が途絶えたと判断して、自己の電源を遮断することなく、通信圏内のルータ20−4へ中継要求を送り、この中継要求によって探索される迂回経路を通してルータ20−1との間の通信を継続する(ステップ108)。
【0056】
ステップ108での通信の継続は次のようにして行う。ルータ20−3は、ルータ20−1からの接続確認応答が途絶えたと判断すると、通信圏内のルータ20−4へ自己のアドレスを付して中継要求を送る。この中継要求は、ルータ20−4からルータ20−1を通して、コーディネータ10へ送られる。コーディネータ10は、ルータ20−3からの中継要求を受信し、その中継要求を発信したルータ20−3とこのルータ20−3とルータ20−1(ルータ20−3の親ノード)との間の最短経路を迂回経路として探索し、その迂回経路に位置するルータ20に対してルータ20−3からの通信を中継するように命ずる。
【0057】
これにより、迂回経路として例えば「ルータ20−3、ルータ20−4、ルータ20−1」という経路が形成され、この迂回経路を通してルータ20−3からの情報がルータ20−1へ継続して送られるものとなる。この場合、ルータ20−3は、自己の電源を遮断しないので、自己に割り当てられているアドレスや下位のデバイスとの親子関係を示す接続情報の記憶を保持し続ける。すなわち、この場合、ルータ20−3は、下位のデバイスとの親子の接続関係を解消することなく、迂回経路を通して通信を継続するので、ルータ20−3に接続されている下位のデバイス(エンドデバイス30−1、30−2)が連鎖的に切断されてしまうということはない。また、ルータ20−3は下位のデバイスとの親子の接続関係を解消せず、ルータ20−1にはルータ20−3との親子関係を示す接続情報が残されるので、迂回経路を通してルータ20−3とルータ20−1との間の通信を継続させた場合、ルータ20−3とルータ20−1との間の親子間の通信が途切れてしまうことはない。
【0058】
〔ルータ間の伝送路に発生していた電波障害などが解消され場合〕
図7(a)において、ルータ20−1と20−3との間の伝送路に発生していた電波障害などが解消されると、ルータ20−3からの接続確認要求がルータ20−1で受信されるようになる(図7(b))。この場合、ルータ20−1は、ルータ20−3からの接続確認要求の受信に成功したことを知らせる接続確認応答を返送する。
【0059】
ルータ20−3は、ルータ20−1からのそれまで途絶えていた接続確認応答の入力が再開されると、迂回経路を通してのルータ20−3との通信の継続を解除し、ルータ20−1との直接接続による通信を再開する。この場合、ルータ20−3は自己に割り当てられているアドレスや下位のデバイスとの親子関係を示す接続情報の記憶を保持しており、ルータ20−1にはルータ20−3との親子関係を示す接続情報が残されているので、新たに親子関係を結ぶことなく、すぐにルータ20−3とルータ20−1との間の直接接続による親子間の通信を再開することができる。
【0060】
〔コーディネータとルータとの間の伝送路に電波障害などが発生した場合〕
上述においては、ルータ20−1と20−3との間の伝送路に電波障害などが発生した場合について説明したが、コーディネータ10とルータ20−1との間の伝送路に電波障害などが発生した場合も同様にして、ルータ20−1の電源を遮断することなく、ルータ20−1とコーディネータ10との間の親子間の通信が迂回経路を通して継続して行われる。この場合の動作について図8を用いて説明する。
【0061】
図8(a)において、コーディネータ10とルータ20−1との間の伝送路に電波障害などが発生すると、ルータ20−1からのコーディネータ10への接続確認要求が途絶える(図8(b))。この場合、コーディネータ10は、ルータ20−1からの接続確認要求を受信することができず、その接続確認要求に対する接続確認応答を返送しない。
【0062】
一方、ルータ20−1は、コーディネータ10への接続確認要求を送信した後、コーディネータ10からの接続確認応答を待ち、コーディネータ10からの接続確認応答が途絶えたことを検出して、自己の電源を遮断することなく、通信圏内のルータ20−2を経由してコーディネータ10へ中継要求を送り、この中継要求によって探索される迂回経路を通してコーディネータ10との間の親子間の通信を継続する(図8(c))。
【0063】
なお、図7に示した例では、ルータ20−3からコーディネータ10へ中継要求を送り、コーディネータ10においてルータ20−1と20−3との間の迂回経路を探索するようにしたが、必ずしもコーディネータ10で迂回経路を探索するようにしなくてもよい。
【0064】
例えば、図9(a)に示すように、コーディネータ10とエンドデバイス30との間にルータ20がさらに幾層も存在するような場合、ルータ20−1の親ノードとして位置しているルータ20−7(以下、このルータを上々位のルータと呼ぶ)にルータ20−3から中継要求を送るようにし(図9(b))、この上々位のルータ20−7において迂回経路の探索を行わせるようにしてもよい。
【0065】
この場合、上々位のルータ20−7は、探索した迂回経路に位置するルータ20に中継要求を発信したルータ20−3からの通信を中継するように命ずる。これにより、迂回経路として例えば「ルータ20−3、ルータ20−4、ルータ20−1」という経路が形成され、この迂回経路を通してルータ20−3とルータ20−1との間の親子間の通信が継続されるものとなる。
【0066】
〔エンドデバイスとルータとの間の接続確認〕
エンドデバイス30は、親子関係を結んでいる上位のルータ20に対し、接続確認要求を定期的に送信する。例えば、図1に示したエンドデバイス30−1とルータ20−3との間で説明すると、エンドデバイス30−1からルータ20−3へ接続確認要求が定期的に送られる(図10(a)参照)。ルータ20−3は、エンドデバイス30−1からの接続確認要求を受信する毎に、接続確認要求の受信に成功したことを知らせる接続確認応答をエンドデバイス30−1に返送する。
【0067】
なお、図5(a)において、ルータ20−3は、エンドデバイス30−1および30−2と親子関係を結んでおらず、その接続情報テーブルT1にはエンドデバイス30−1および30−2との親子関係を示す接続情報が書き込まれているものとする。また、エンドデバイス30−1の通信圏内にルータ20−4が存在するものとする。また、ルータ20−4は、下位のデバイスとの親子関係を未だ結んでいないものとする。
【0068】
〔ルータとエンドデバイスとの間の伝送路に電波障害などが発生した場合〕
図10(a)において、ルータ20−3とエンドデバイス30−1との間の伝送路に電波障害などが発生すると、エンドデバイス30−1からのルータ20−3への接続確認要求が途絶える(図10(b))。この場合、ルータ20−3は、エンドデバイス30−1からの接続確認要求を受信することができず、その接続確認要求に対する接続確認応答を返送しない。
【0069】
一方、エンドデバイス30−1は、ルータ20−3への接続確認要求を送信した後、ルータ20−3からの接続確認応答を待ち、ルータ20−3からの接続確認応答が途絶えたことを検出して、切断(電源オフ)、再接続(電源オン)を行い、通信圏内にあるルータ20−4と親子関係を結び、ルータ20−4を経由して通信を継続する(図10(c))。この場合、エンドデバイス30−1とルータ20−3との親子関係は解消され、エンドデバイス30−1とルータ20−3との間では親子間の通信が行われなくなる。
【0070】
なお、上述した実施の形態において、ルータ20やエンドデバイス30からの接続確認要求の送信は、上位のデバイスへ定期的に送る通常の送信メッセージに接続確認用の特別メッセージを追加(同一パケットでタイミングを同期して送る)してもよく、通常の送信メッセージとは別に接続確認専用の特別メッセージを定期的に送るようにしてもよい。
【図面の簡単な説明】
【0071】
【図1】本発明に係る無線通信システムの一例を示す概略図である。
【図2】この無線通信システムに用いるコーディネータの概略的なブロック図である。
【図3】この無線通信システムに用いるルータの概略的なブロック図である。
【図4】この無線通信システムに用いるエンドデバイスの概略的なブロック図である。
【図5】ルータ間の伝送路に電波障害などが発生した場合の動作を説明する図である。
【図6】接続確認要求送信時のルータにおける処理動作を示すフローチャートである。
【図7】ルータ間の伝送路に発生していた電波障害などが解消した場合の動作を説明する図である
【図8】コーディネータとルータとの間の伝送路に電波障害などが発生した場合の動作を説明する図である。
【図9】上々位のルータで迂回経路の探索を行わせるようにした例を示す図である。
【図10】ルータとエンドデバイスとの間の伝送路に電波障害などが発生した場合の動作を説明する図である。
【図11】従来のジグビーネットワークの単純な例を示す図である。
【図12】このジグビーネットワークにおいてルータ間の伝送路に電波障害などが発生した場合に生じる虞れのある問題を説明する図である。
【符号の説明】
【0072】
10…コーディネータ、10A…処理部、10B…ROM、10C…EEPROM、10D…RF回路、20(20−1〜20−8)…ルータ、20A…処理部、20B…ROM、20C…EEPROM、20D…RF回路、30(30−1〜30−8)…エンドデバイス、30A…処理部、30B…ROM、30C…EEPROM、30D…RF回路、T0,T1…接続情報テーブル。
【技術分野】
【0001】
この発明は、ツリー構造の無線通信システムおよびこの無線通信システムに用いられるデバイスに関するものである。
【背景技術】
【0002】
近年、無線通信を利用して、環境計測・監視・制御などを行うシステムが増加している。この環境計測・監視・制御などを行う無線通信システムでは、対象エリアが比較的広い、又は、対象エリア内に無線通信の障害物が多々存在する場合が多い。このような場合、対象エリアをカバーするためには、受信器と送信器の設置位置や電波状況等の環境により直接通信できなくても、他のデバイスを中継して通信を行うことができる無線通信ネットワークを利用することが有利である。
【0003】
この種の無線通信ネットワークとして、ジグビー(Zigbee(登録商標))プロトコルを利用した無線通信ネットワークが考えられている(例えば、特許文献1、特許文献2参照)。以下、このジグビープロトコルを利用した無線通信ネットワークをジグビーネットワークと呼ぶ。
【0004】
ジグビーネットワークは、ツリー構造の無線通信ネットワークであり、次のような3種類のデバイスによって構成される。
〔デバイスA(ノードA)〕
コーディネータと呼ばれ、ネットワークの基層(最上位)に唯一存在し、下位デバイスと接続通信でき、ネットワーク内の全てのデバイスに対して命令するとともに、各デバイス固有の情報および各デバイスから送られてくる情報の収集を統括する。また、ネットワーク全体の総合親局の役割を果たすとともに、自己と親子の接続関係(以下、単に親子関係と呼ぶ)を結ぶデバイスにアドレスを付番する。
【0005】
〔デバイスB(ノードB)〕
ルータと呼ばれ、コーディネータよりも下層に存在し、上位デバイスおよび下位デバイスと接続通信でき、コーディネータからの命令を受けるとともに、下位デバイス(ルータ、又はエンドデバイス)を接続することができ、それらデバイスに対しては局地的な親局の役割を果たす。また、自己と親子関係を結ぶデバイスにアドレスを付番する。
【0006】
〔デバイスC(ノードC)〕
エンドデバイスと呼ばれ、ネットワークの末端(最下位)に存在し、上位デバイスと接続通信でき、他のデバイスの親局にはならない。例えば、空調制御システムでは、温度センサや湿度センサなどのセンサがエンドデバイスとされる。
【0007】
なお、ジグビーネットワークの各デバイスには、接続可能な下位デバイスの最大個数Cmと、ツリー構造の階層の最深度Lmがネットワークパラメータとして定められる。
【0008】
図11にジグビーネットワークの単純な例を示す。同図において、1は最上位(第0層)に位置するコーディネータ、2−1,2−2はコーディネータ1の下層(第1層)に位置するルータ、2−3〜2−6はルータ2−1〜2−2の下層(第2層)に位置するルータ、3−1〜3−8はルータ2−3〜2−6の下層(第3層(最下位))に位置するエンドデバイスである。
【0009】
なお、この例において、コーディネータ1の識別番号は#0、ルータ2−1〜2−6の識別番号は#1〜#6、エンドデバイス3−1〜3−8の識別番号は#7〜#14として設定されているものとする。これらの識別番号#0〜#14は、デバイス毎に固有に定められたものであり、変わることはない。また、このジグビーネットワークにおいて、コーディネータ1には、ネットワーク全体に対して付番可能なアドレスとしてアドレスブロックAD0〜AD14が定められ、このアドレスブロックのうち「AD0」が自己のアドレスとして割り当てられるものとする。
【0010】
コーディネータ1に対して、ルータ2−1を接続する場合、ルータ2−1をコーディネータ1に近づけて電源をオンとする。すると、ルータ2−1からコーディネータ1へアソシエイト(参加申請)と呼ばれる接続要求(以下、アソシエイト接続要求と呼ぶ)が送られる。コーディネータ1は、ルータ2−1からのアソシエイト接続要求を受けて、ルータ2−1に対してアドレスAD1を割り当てるとともに、ルータ2−1の識別番号#1とルータ2−1に割り当てたアドレスAD1とを対応づけて親子関係有り(「○」)として接続情報テーブルT0に書き込む。また、ルータ2−1へ、下位のデバイスへ付番可能なアドレスとして、アドレスAD1を含むアドレスブロック「AD1〜AD7」を送る。
【0011】
次に、ルータ2−2をコーディネータ1に近づけて電源をオンとすると、ルータ2−2からコーディネータ1へアソシエイト接続要求が送られる。コーディネータ1は、ルータ2−2からのアソシエイト接続要求を受けて、ルータ2−2に対してアドレスAD8を割り当てるとともに、ルータ2−2の識別番号#2とルータ2−2に割り当てたアドレスAD8とを対応づけて親子関係有りとして接続情報テーブルT0に書き込む。また、ルータ2−2へ、下位のデバイスへ付番可能なアドレスとして、アドレスAD8を含むアドレスブロック「AD8〜AD14」を送る。
【0012】
ルータ2−3をルータ2−1に近づけて電源をオンとすると、ルータ2−3からルータ2−1へアソシエイト接続要求が送られる。ルータ2−1は、ルータ2−3からのアソシエイト接続要求を受けて、ルータ2−3に対してアドレスAD2を割り当てるとともに、ルータ2−3の識別番号#3とルータ2−3に割り当てたアドレスAD2とを対応づけて親子関係有りとして接続情報テーブルT1に書き込む。また、ルータ2−3へ、下位のデバイスへ付番可能なアドレスとして、アドレスAD2を含むアドレスブロック「AD2〜AD4」を送る。
【0013】
エンドデバイス3−1をルータ2−3に近づけて電源をオンとすると、エンドデバイス3−1からルータ2−3へアソシエイト接続要求が送られる。ルータ2−3は、エンドデバイス3−1からのアソシエイト接続要求を受けて、エンドデバイス3−1に対してアドレスAD3を割り当てるとともに、エンドデバイス3−1の識別番号#7とエンドデバイス3−1に割り当てたアドレスAD3とを対応づけて親子関係有りとして接続情報テーブルT1に書き込む。以下、同様にして、各デバイスにアドレスが割り当てられる。
【0014】
このジグビーネットワークでは、例えばエンドデバイス3−1とルータ2−3との間の伝送路に電波障害などが発生した場合、エンドデバイス3−1からの情報(例えば、温度計測値、湿度計測値など)がルータ2−3で受信できなくなる。この場合、エンドデバイス3−1は、切断(電源オフ)、再接続(電源オン)を行う。エンドデバイス3−1の電源がオフとされると、エンドデバイス3−1に割り当てられたアドレスAD3が消失する。また、例えばルータ2−4がエンドデバイス3−1の通信圏内にあり、ルータ2−4が下位のデバイスとの親子関係を未だ結んでいないものとした場合、エンドデバイス3−1の再接続により、エンドデバイス3−1とルータ2−4との間で親子関係が結ばれ、ルータ2−4からエンドデバイス3−1に新たなアドレスが割り当てられ、ルータ2−4を経由して、エンドデバイス3−1からの情報が継続してコーディネータ1へ送られるものとなる。
【0015】
なお、図11には単純な例を示したが、実際には最上位のコーディネータ1と最下位のエンドデバイス3との間にはルータ2がさらに何層も位置し、ルータ2の数やエンドデバイス3の数も増大し、大規模なネットワークとされる。
【0016】
【特許文献1】特開2006−5928号公報
【特許文献2】特開2006−42370号公報
【発明の開示】
【発明が解決しようとする課題】
【0017】
しかしながら、上述したジグビーネットワークでは、親ノードと子ノードとの間の伝送路に電波障害などが発生した場合、他のノードを経由して子ノードからの情報が継続してコーディネータへ送られるが、すなわち迂回経路を通して子ノードからの情報が継続してコーディネータへ送られるが、子ノードにその子ノード自身を親ノードとして別の下位のノードが接続されているような場合、この子ノードに接続されている下位のノードが連鎖的に切断されてしまうという問題が発生する。また、子ノードとコーディネータとの間の通信は継続されるが、子ノードのアドレスが変わってしまうので、元の親ノードはその子ノードが親子関係にある子ノードであることを認識することができず、子ノードと元の親ノードとの間の親子間の通信が途切れてしまう。
【0018】
例えば、図12(a)に示すように、ルータ2−1とルータ2−3および2−4との間に親子関係が結ばれており、ルータ2−3とエンドデバイス3−1,3−2との間に親子関係が結ばれているものとする。また、ルータ2−4は、下位のデバイスとの親子関係を未だ結んでおらず、ルータ2−3の通信圏内にあるものとする。このような状態で、ルータ2−1とルータ2−3との間の伝送路に電波障害などが発生すると(図12(b))、ルータ2−3は、切断(電源オフ)、再接続(電源オン)を行う。この時、ルータ2−3の切断によって、ルータ2−3のアドレスAD2や接続情報テーブルT1の内容が消失し、ルータ2−3とエンドデバイス3−1および3−2との間が通信不能となり、エンドデバイス3−1および3−2が連鎖的に切断されてしまう(図15(c))。
【0019】
また、切断後の再接続により、ルータ2−3に新しいアドレスが割り当てられるので、ルータ2−1(元の親ノード)は、ルータ2−3を自分の子ノードであるとは認識することができず、ルータ2−3からのルータ2−4を介する情報を上位のデバイスに転送するのみで、ルータ2−1とルータ2−3との間の親子間の通信が途切れてしまう。この親子間の通信の途切れにより、例えばルータ2−1がルータ2−3からのデータに基づいて他の機器を制御しているような場合、その制御動作が行えなくなってしまう。
【0020】
本発明は、このような課題を解決するためになされたもので、その目的とするところは、親ノードと子ノードとの間の伝送路に電波障害などが生じた場合の迂回経路の形成に際し、子ノードに接続されている下位のノードが連鎖的に切断されてしまうことがなく、親ノードと子ノードとの間の親子間の通信が途切れることのない無線通信システムを提供することにある。
【課題を解決するための手段】
【0021】
このような目的を達成するために、第1発明(請求項1に係る発明)は、最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスと、この第1のデバイスと第2のデバイスとの間に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第3のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたものである。
【0022】
この第1発明によれば、例えば、第1のデバイスをコーディネータ、第2のデバイスをエンドデバイス、第3のデバイスをルータとするツリー構造の無線通信システムとし、例えばルータ間で親子の接続関係を結んでおり、親ノードとなるルータを上位のルータ、子ノードとなるルータを下位のルータとした場合、上位のルータと下位のルータとの間の伝送路に電波障害などが生じるなどして、上位のルータとの直接接続が不能となると、下位のルータは、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のルータとの間の通信を継続する。
【0023】
この場合、下位のルータは、下位のデバイスとの親子の接続関係を解消しないので、下位のルータに接続されているルータやエンドデバイスが連鎖的に切断されてしまうことはない。また、下位のルータは上位のデバイスとの親子の接続関係を解消せず、上位のルータには下位のルータとの親子の接続関係を示す接続情報が残されるので、迂回経路を通して上位のルータとの間の通信を継続させた場合、下位のルータと上位のルータとの間の親子間の通信が途切れてしまうことはない。なお、この場合の上位のデバイスは、コーディネータである場合も考えられる。
【0024】
第2発明(請求項2に係る発明)は、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、第1のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたものである。
この第2発明によれば、例えば、上位のルータと下位のルータとの間の伝送路に電波障害などが生じるなどして、上位のルータとの直接接続が不能となると、下位のルータから他のデバイスを経由してコーディネータに中継要求が送られる。コーディネータは、この下位のルータからの中継要求に応じ、下位のルータと上位のルータとの間の他のデバイスを経由した迂回経路を探索する。例えば、下位のルータと上位のルータとの間の最短経路を迂回経路として探索し、その迂回経路に位置するデバイスに中継要求を発信した下位のルータからの通信を中継するように命ずる。
なお、この第2発明において、コーディネータに中継要求を送る場合の「他のデバイス」と迂回経路を通して通信を継続する場合の「他のデバイス」とは、同じであるとは限らない。
【0025】
第3発明(請求項3に係る発明)は、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたものである。
この第3発明によれば、例えば、上位のルータと下位のルータとの間の伝送路に電波障害などが生じるなどして、上位のルータとの直接接続が不能となると、上位のルータと親子の接続関係を結んでいる上々位のデバイスに下位のルータから他のデバイスを経由して中継要求が送られる。上々位のデバイスは、この下位のルータからの中継要求に応じ、下位のルータと上位のルータとの間の他のデバイスを経由した迂回経路を探索する。例えば、下位のルータと上位のルータとの間の最短経路を迂回経路として探索し、その迂回経路に位置するデバイスに中継要求を発信した下位のルータからの通信を中継するように命ずる。この場合、迂回経路の探索は、中継要求を発信したノードの親ノード(上位のデバイス)を自己の子ノードとして持つ親ノード(上々位のデバイス)で行われるので、最上位のコーディネータで迂回経路の探索を行うよりも速やかに行われる。
なお、この第3発明において、上々位のデバイスに中継要求を送る場合の「他のデバイス」と迂回経路を通して通信を継続する場合の「他のデバイス」とは、同じであるとは限らない。
【0026】
第4発明(請求項4に係る発明)は、第1〜第3発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスに定期的に接続確認要求を送信する手段と、接続確認要求の受信に成功したことを知らせる上位のデバイスからの接続確認応答を受信する手段とを設け、上位のデバイスからの接続確認応答が途絶えた場合に上位のデバイスとの直接接続が不能となったと判断するようにしたものである。
この第4発明によれば、例えば、下位のルータから上位のルータに定期的に接続確認要求が送信され、この接続確認要求が上位のルータで受信される毎に、上位のルータから下位のルータへ接続確認応答が返送される。下位のルータは、上位のルータからの接続確認応答が途絶えた場合に、上位のルータとの直接接続が不能となったと判断する。
【0027】
第5発明(請求項5に係る発明)は、第1〜第4発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が復旧した場合、迂回経路を通しての上位のデバイスとの通信の継続を解除し、上位のデバイスとの直接接続による通信を再開させる手段を設けたものである。
この第5発明によれば、例えば、下位のルータと上位のルータとの間の直接接続が復旧すると、迂回経路を通しての上位のルータとの通信の継続が解除され、上位のルータとの直接接続による通信が再開される。この場合、下位のルータは上位のルータとの親子の接続関係を解消しておらず、上位のルータには下位のルータとの親子関係を示す接続情報が残されているので、新たに親子関係を結ぶことなく、すぐに上位のルータと下位のルータとの間の直接接続による親子間の通信を再開させることができる。
【0028】
なお、本発明は、無線通信システムとしてではなく、デバイス単体としても構成することができる。この場合、デバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設ける(第6発明((請求項6に係る発明)))。このデバイスは、ルータとして用いてもよいし、エンドデバイスとして用いてもよい(第9発明((請求項9に係る発明)))。
【0029】
また、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、この中継要求に応じた第1のデバイスが探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けるようにしてもよい(第7発明((請求項7に係る発明)))。
また、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けるようにしてもよい(第8発明((請求項8に係る発明)))。
【発明の効果】
【0030】
第1発明によれば、第1のデバイスと第2のデバイスとの間に位置する第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたので、第3のデバイス(子ノード)と上位のデバイス(親ノード)との間の伝送路に電波障害などが生じた場合の迂回経路の形成に際し、子ノードに接続されている下位のノードが連鎖的に切断されてしまうことがないようにすることができる。また、下位のルータは上位のデバイスとの親子の接続関係を解消せず、上位のルータには下位のルータとの親子の接続関係を示す接続情報が残されるので、迂回経路を通して上位のルータとの間の通信を継続させた場合、子ノードと親ノードとの間の親子間の通信が途切れることがないようすることができる。
【0031】
第2発明によれば、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、第1のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたので、第1のデバイス(最上位のノード)に第3のデバイス(子ノード)と上位のデバイス(親ノード)との間の迂回経路を探索させ、この最上位のノードが探索した迂回経路を通して子ノードと親ノードと間の親子間の通信を継続させることができるようになる。
【0032】
第3発明によれば、第1発明において、第3のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたので、中継要求を発信した子ノード(第3のデバイス)の親ノード(上位のデバイス)を自己の子ノードとして持つ親ノード(上々位のデバイス)で迂回経路の探索が行われ、第1のデバイス(最上位のデバイス)で迂回経路の探索を行わせるよりも、迂回経路の探索を速やかに行わせることができるようになる。
【0033】
第4発明によれば、第1〜第3発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスに定期的に接続確認要求を送信する手段と、接続確認要求の受信に成功したことを知らせる上位のデバイスからの接続確認応答を受信する手段とを設け、上位のデバイスからの接続確認応答が途絶えた場合に上位のデバイスとの直接接続が不能となったと判断するようにしたので、簡易な方法で、上位のデバイス(親ノード)との間の直接接続が不能となった状態を確認することができる。
【0034】
第5発明によれば、第1〜第4発明において、第3のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が復旧した場合、迂回経路を通しての上位のデバイスとの通信の継続を解除し、上位のデバイスとの直接接続による通信を再開させる手段を設けたので、新たに親子関係を結ぶことなく、すぐに第3のデバイスと上位のデバイスとの間の直接接続による親子間の通信を再開させることができるようになる。
【0035】
第6発明によれば、デバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたので、このデバイスをルータとして用いることにより、第1発明と同様の効果を奏する。
第7発明によれば、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して第1のデバイスに中継要求を送る手段と、この中継要求に応じた第1のデバイスが探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けるようにしたので、このデバイスをルータとして用いることにより、第2発明と同様の効果を奏する。
第8発明によれば、第6発明のデバイスに、通信継続手段として、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、上々位のデバイスが中継要求に応じて探索した他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する手段とを設けたので、このデバイスをルータとして用いることにより、第3発明と同様の効果を奏する。
【0036】
第9発明によれば、最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、第2のデバイスに、自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して上位のデバイスとの間の通信を継続する通信継続手段を設けたので、第2のデバイス(子ノード)と上位のデバイス(親ノード)との間の伝送路に電波障害などが生じた場合の迂回経路の形成に際し、子ノードと親ノードとの間の親子間の通信が途切れることがないようすることができる
【発明を実施するための最良の形態】
【0037】
以下、本発明を図面に基づいて詳細に説明する。
図1はこの発明に係る無線通信システムの一例を示す概略図である。この無線通信システムは、ジグビーネットワークを利用した単純な例であり、最上位(第0層)に位置するコーディネータ10と、最下位(第3層)に位置するエンドデバイス30と、コーディネータ10とエンドデバイス30との間(第1層、第2層)に位置するルータ20とによって構成される。
【0038】
なお、この例において、コーディネータ10の識別番号は#0、ルータ20−1〜20−6の識別番号は#1〜#6、エンドデバイス30−1〜30−8の識別番号は#7〜#14として設定されているものとする。また、この無線通信システムにおいて、コーディネータ10には、ネットワーク全体に対して付番可能なアドレスとしてアドレスブロックAD0〜AD14が定められ、このアドレスブロックのうち「AD0」が自己のアドレスとして割り当てられるものとする。
【0039】
この無線通信システムにおいても、図11に示したジグビーネットワークと同様に、コーディネータ10に対して、ルータ20−1を接続する場合、ルータ20−1をコーディネータ10に近づけて電源をオンとする。すると、ルータ20−1からコーディネータ10へアソシエイト接続要求が送られ、コーディネータ10との間で親子関係が結ばれる。これにより、ルータ20−1へアドレスAD1が割り当てられ、コーディネータ10の接続情報テーブルT0にルータ20−1に割り当てたアドレスAD1と識別番号#1との対応関係が書き込まれる。
【0040】
同様にして、コーディネータ10とルータ20−2との間、ルータ20−1とルータ20−3および20−4との間、ルータ20−2とルータ20−5および20−6との間、ルータ20−3とエンドデバイス30−1および30−2との間、ルータ20−4とエンドデバイス30−3および30−4との間、ルータ20−5とエンドデバイス30−5および30−6との間、ルータ20−6とエンドデバイス30−7および30−8との間で親子関係が結ばれる。
【0041】
これにより、ルータ20−2へアドレスAD8が割り当てられ、コーディネータ10の接続情報テーブルT0にルータ20−2に割り当てたアドレスAD8と識別番号#2との対応関係が書き込まれる。また、ルータ20−3,20−4にアドレスAD2,AD5が割り当てられ、ルータ20−1の接続情報テーブルT1にルータ20−3,20−4に割り当てたアドレスAD2,AD5と識別番号#3,#4との対応関係が書き込まれる。また、ルータ20−5,20−6にアドレスAD9,AD12が割り当てられ、ルータ20−2の接続情報テーブルT1にルータ20−5,20−6に割り当てたアドレスAD9,AD12と識別番号#5,#6との対応関係が書き込まれる。
【0042】
また、エンドデバイス30−1,30−2にアドレスAD3,AD4が割り当てられ、ルータ20−3の接続情報テーブルT1にエンドデバイス30−1,30−2に割り当てたアドレスAD3,AD4と識別番号#7,#8との対応関係が書き込まれる。また、エンドデバイス30−3,30−4にアドレスAD6,AD7が割り当てられ、ルータ20−4の接続情報テーブルT1にエンドデバイス30−3,30−4に割り当てたアドレスAD6,AD7と識別番号#9,#10との対応関係が書き込まれる。
【0043】
また、エンドデバイス30−5,30−6にアドレスAD10,AD11が割り当てられ、ルータ20−5の接続情報テーブルT1にエンドデバイス30−5,30−6に割り当てたアドレスAD10,AD11と識別番号#11,#12との対応関係が書き込まれる。また、エンドデバイス30−7,30−8にアドレスAD13,AD14が割り当てられ、ルータ20−6の接続情報テーブルT1にエンドデバイス30−7,30−8に割り当てたアドレスAD13,AD14と識別番号#13,#14との対応関係が書き込まれる。
【0044】
この無線通信システムにおいて、ルータ20およびエンドデバイス30は、定期的に上位のデバイスに接続確認要求を送信する接続確認要求送信機能を備えている。また、コーディネータ10およびルータ20は、下位のデバイスから定期的に送られてくる接続確認要求を受信する毎に、その接続確認要求の受信に成功したことを知らせる接続確認応答を返送する接続確認応答返送機能を有している。
【0045】
また、ルータ20は、接続確認要求の受信に成功したことを知らせる上位のデバイスからの接続確認応答が途絶えた場合、自己の電源を遮断することなく、通信圏内の他のルータ20へ中継要求を送り、この中継要求によって探索される迂回経路を通して通信を継続する迂回経路通信継続機能、上位のデバイスからのそれまで途絶えていた接続確認応答の入力が再開された場合、迂回経路を通しての上位デバイスとの通信の継続を解除し、上位のデバイスとの直接接続による通信を再開する接続再開機能を有している。
【0046】
また、エンドデバイス30は、上位のデバイスからの接続確認応答が途絶えた場合、切断(電源オフ)、再接続(電源オン)を行う切断再接続機能を有している。また、コーディネータ10は、ルータ20から送られてくる中継要求を受信し、その中継要求を発信したルータ20とそのルータ20の親ノード(上位のデバイス)との間の最短経路を迂回経路として探索し、その迂回経路に位置するルータ20に対して中継要求を発信したルータ20からの通信を中継するように命ずる迂回経路探索中継機能を有している。
【0047】
図2にコーディネータ10の概略的なブロック図を示す。コーディネータ10は、処理部10Aと、RAM10Bと、EEPROM10Cと、RF回路(無線送受信回路)10Dとを備えている。処理部10Aは、上述した接続確認応答返送機能、迂回経路探索中継機能の他、基本的な機能として、ネットワーク宣言機能、親ノード機能、通信機能(ノード間通信機能、通信中継機能)などを備えている。これらの機能は、処理部10Aが実行するプログラムに従う処理動作として得られる。なお、EEPROM10Cにはコーディネータ10の識別番号が格納され、RAM10Bにはネットワーク全体に対して付番可能なアドレスブロック、コーディネータ10に対して割り当てられるアドレス、接続情報テーブルT0などが格納される。
【0048】
図3にルータ20の概略的なブロック図を示す。ルータ20は、処理部20Aと、RAM20Bと、EEPROM20Cと、RF回路20Dとを備えている。処理部20Aは、上述した接続確認要求送信機能、接続確認応答返送機能、迂回経路通信継続機能、接続再開機能の他、基本的な機能として、親ノード機能、通信機能(ノード間通信機能、通信中継機能)などを備えている。これらの機能は、処理部20Aが実行するプログラムに従う処理動作として得られる。なお、EEPROM20Cにはルータ20の識別番号が格納され、RAM20Bにはルータ20に対して割り当てられるアドレス、上位のデバイスから送られてくる下位のデバイスに対して付番可能なアドレスブロック、接続情報テーブルT1などが格納される。
【0049】
図4にエンドデバイス30の概略的なブロック図を示す。エンドデバイス30は、処理部30Aと、RAM30Bと、EEPROM30Cと、RF回路30Dとを備えている。処理部30Aは、上述した接続確認要求送信機能、切断再接続機能の他、基本的な機能として、子ノード機能、通信機能(ノード間通信機能)などを備えている。これらの機能は、処理部30Aが実行するプログラムに従う処理動作として得られる。なお、EEPROM30Cには、エンドデバイス30の識別番号などが格納される。RAM30Bには、エンドデバイス30に対して割り当てられるアドレスなどが格納される。
【0050】
〔ルータ間の接続確認〕
ルータ20は、親子関係を結んでいる上位のルータ20に対し、接続確認要求を定期的に送信する。例えば、図1に示したルータ20−1とルータ20−3との間で説明すると、下位のルータ20−3から上位のルータ20−1へ接続確認要求が定期的に送られる(図5(a)参照)。ルータ20−1は、ルータ20−3からの接続確認要求を受信する毎に、接続確認要求の受信に成功したことを知らせる接続確認応答をルータ20−3に返送する。
【0051】
なお、図5(a)において、ルータ20−1は、ルータ20−3および20−4と親子関係を結んでおり、その接続情報テーブルT1にはルータ20−3および20−4との親子関係を示す接続情報が書き込まれているものとする。また、ルータ20−3は、エンドデバイス30−1および30−2と親子関係を結んでおり、その接続情報テーブルT1にはエンドデバイス30−1および30−2との親子関係を示す接続情報が書き込まれているものとする。また、ルータ20−4は、下位のデバイスとの親子関係を未だ結んでおらず、ルータ20−3の通信圏内にあるものとする。
【0052】
〔ルータ間の伝送路に電波障害などが発生した場合〕
図5(a)において、ルータ20−1と20−3との間の伝送路に電波障害などが発生すると、ルータ20−3からのルータ20−1への接続確認要求が途絶える(図5(b))。この場合、ルータ20−1は、ルータ20−3からの接続確認要求を受信することができず、その接続確認要求に対する接続確認応答を返送しない。
【0053】
一方、ルータ20−3は、ルータ20−1への接続確認要求を送信した後、ルータ20−1からの接続確認応答を待ち、ルータ20−1からの接続確認応答が途絶えたことを検出して、自己の電源を遮断することなく、通信圏内のルータ20−4を経由してコーディネータ10へ中継要求を送り、この中継要求によって探索される迂回経路を通してルータ20−1との間の通信を継続する(図5(c))。
【0054】
図6にこの場合のルータ20−3における処理動作を示す。ルータ20−3は、リトライ数を0としたうえ(ステップ101)、ルータ20−1へ接続確認要求を送信する(ステップ102)。そして、この接続確認要求に対してルータ20−1から返送されてくる接続確認応答を待ち(ステップ103)、接続確認応答を受信すると(ステップ104のYES)、一定時間の経過を待って(ステップ107)、ルータ20−1へ次の接続確認要求を送信する(ステップ102)。以下同様の処理動作を繰り返す。
【0055】
このような処理動作中、ルータ20−1からの接続確認応答が受信されなくなると(ステップ104のNO)、リトライ回数に1をプラスし(ステップ105)、一定時間の経過を待って(ステップ107)、ルータ20−1へ次の接続確認要求を送信する(ステップ102)。そして、リトライ回数が所定回数Nx以上となると(ステップ106のYES)、ルータ20−1からの接続確認応答が途絶えたと判断して、自己の電源を遮断することなく、通信圏内のルータ20−4へ中継要求を送り、この中継要求によって探索される迂回経路を通してルータ20−1との間の通信を継続する(ステップ108)。
【0056】
ステップ108での通信の継続は次のようにして行う。ルータ20−3は、ルータ20−1からの接続確認応答が途絶えたと判断すると、通信圏内のルータ20−4へ自己のアドレスを付して中継要求を送る。この中継要求は、ルータ20−4からルータ20−1を通して、コーディネータ10へ送られる。コーディネータ10は、ルータ20−3からの中継要求を受信し、その中継要求を発信したルータ20−3とこのルータ20−3とルータ20−1(ルータ20−3の親ノード)との間の最短経路を迂回経路として探索し、その迂回経路に位置するルータ20に対してルータ20−3からの通信を中継するように命ずる。
【0057】
これにより、迂回経路として例えば「ルータ20−3、ルータ20−4、ルータ20−1」という経路が形成され、この迂回経路を通してルータ20−3からの情報がルータ20−1へ継続して送られるものとなる。この場合、ルータ20−3は、自己の電源を遮断しないので、自己に割り当てられているアドレスや下位のデバイスとの親子関係を示す接続情報の記憶を保持し続ける。すなわち、この場合、ルータ20−3は、下位のデバイスとの親子の接続関係を解消することなく、迂回経路を通して通信を継続するので、ルータ20−3に接続されている下位のデバイス(エンドデバイス30−1、30−2)が連鎖的に切断されてしまうということはない。また、ルータ20−3は下位のデバイスとの親子の接続関係を解消せず、ルータ20−1にはルータ20−3との親子関係を示す接続情報が残されるので、迂回経路を通してルータ20−3とルータ20−1との間の通信を継続させた場合、ルータ20−3とルータ20−1との間の親子間の通信が途切れてしまうことはない。
【0058】
〔ルータ間の伝送路に発生していた電波障害などが解消され場合〕
図7(a)において、ルータ20−1と20−3との間の伝送路に発生していた電波障害などが解消されると、ルータ20−3からの接続確認要求がルータ20−1で受信されるようになる(図7(b))。この場合、ルータ20−1は、ルータ20−3からの接続確認要求の受信に成功したことを知らせる接続確認応答を返送する。
【0059】
ルータ20−3は、ルータ20−1からのそれまで途絶えていた接続確認応答の入力が再開されると、迂回経路を通してのルータ20−3との通信の継続を解除し、ルータ20−1との直接接続による通信を再開する。この場合、ルータ20−3は自己に割り当てられているアドレスや下位のデバイスとの親子関係を示す接続情報の記憶を保持しており、ルータ20−1にはルータ20−3との親子関係を示す接続情報が残されているので、新たに親子関係を結ぶことなく、すぐにルータ20−3とルータ20−1との間の直接接続による親子間の通信を再開することができる。
【0060】
〔コーディネータとルータとの間の伝送路に電波障害などが発生した場合〕
上述においては、ルータ20−1と20−3との間の伝送路に電波障害などが発生した場合について説明したが、コーディネータ10とルータ20−1との間の伝送路に電波障害などが発生した場合も同様にして、ルータ20−1の電源を遮断することなく、ルータ20−1とコーディネータ10との間の親子間の通信が迂回経路を通して継続して行われる。この場合の動作について図8を用いて説明する。
【0061】
図8(a)において、コーディネータ10とルータ20−1との間の伝送路に電波障害などが発生すると、ルータ20−1からのコーディネータ10への接続確認要求が途絶える(図8(b))。この場合、コーディネータ10は、ルータ20−1からの接続確認要求を受信することができず、その接続確認要求に対する接続確認応答を返送しない。
【0062】
一方、ルータ20−1は、コーディネータ10への接続確認要求を送信した後、コーディネータ10からの接続確認応答を待ち、コーディネータ10からの接続確認応答が途絶えたことを検出して、自己の電源を遮断することなく、通信圏内のルータ20−2を経由してコーディネータ10へ中継要求を送り、この中継要求によって探索される迂回経路を通してコーディネータ10との間の親子間の通信を継続する(図8(c))。
【0063】
なお、図7に示した例では、ルータ20−3からコーディネータ10へ中継要求を送り、コーディネータ10においてルータ20−1と20−3との間の迂回経路を探索するようにしたが、必ずしもコーディネータ10で迂回経路を探索するようにしなくてもよい。
【0064】
例えば、図9(a)に示すように、コーディネータ10とエンドデバイス30との間にルータ20がさらに幾層も存在するような場合、ルータ20−1の親ノードとして位置しているルータ20−7(以下、このルータを上々位のルータと呼ぶ)にルータ20−3から中継要求を送るようにし(図9(b))、この上々位のルータ20−7において迂回経路の探索を行わせるようにしてもよい。
【0065】
この場合、上々位のルータ20−7は、探索した迂回経路に位置するルータ20に中継要求を発信したルータ20−3からの通信を中継するように命ずる。これにより、迂回経路として例えば「ルータ20−3、ルータ20−4、ルータ20−1」という経路が形成され、この迂回経路を通してルータ20−3とルータ20−1との間の親子間の通信が継続されるものとなる。
【0066】
〔エンドデバイスとルータとの間の接続確認〕
エンドデバイス30は、親子関係を結んでいる上位のルータ20に対し、接続確認要求を定期的に送信する。例えば、図1に示したエンドデバイス30−1とルータ20−3との間で説明すると、エンドデバイス30−1からルータ20−3へ接続確認要求が定期的に送られる(図10(a)参照)。ルータ20−3は、エンドデバイス30−1からの接続確認要求を受信する毎に、接続確認要求の受信に成功したことを知らせる接続確認応答をエンドデバイス30−1に返送する。
【0067】
なお、図5(a)において、ルータ20−3は、エンドデバイス30−1および30−2と親子関係を結んでおらず、その接続情報テーブルT1にはエンドデバイス30−1および30−2との親子関係を示す接続情報が書き込まれているものとする。また、エンドデバイス30−1の通信圏内にルータ20−4が存在するものとする。また、ルータ20−4は、下位のデバイスとの親子関係を未だ結んでいないものとする。
【0068】
〔ルータとエンドデバイスとの間の伝送路に電波障害などが発生した場合〕
図10(a)において、ルータ20−3とエンドデバイス30−1との間の伝送路に電波障害などが発生すると、エンドデバイス30−1からのルータ20−3への接続確認要求が途絶える(図10(b))。この場合、ルータ20−3は、エンドデバイス30−1からの接続確認要求を受信することができず、その接続確認要求に対する接続確認応答を返送しない。
【0069】
一方、エンドデバイス30−1は、ルータ20−3への接続確認要求を送信した後、ルータ20−3からの接続確認応答を待ち、ルータ20−3からの接続確認応答が途絶えたことを検出して、切断(電源オフ)、再接続(電源オン)を行い、通信圏内にあるルータ20−4と親子関係を結び、ルータ20−4を経由して通信を継続する(図10(c))。この場合、エンドデバイス30−1とルータ20−3との親子関係は解消され、エンドデバイス30−1とルータ20−3との間では親子間の通信が行われなくなる。
【0070】
なお、上述した実施の形態において、ルータ20やエンドデバイス30からの接続確認要求の送信は、上位のデバイスへ定期的に送る通常の送信メッセージに接続確認用の特別メッセージを追加(同一パケットでタイミングを同期して送る)してもよく、通常の送信メッセージとは別に接続確認専用の特別メッセージを定期的に送るようにしてもよい。
【図面の簡単な説明】
【0071】
【図1】本発明に係る無線通信システムの一例を示す概略図である。
【図2】この無線通信システムに用いるコーディネータの概略的なブロック図である。
【図3】この無線通信システムに用いるルータの概略的なブロック図である。
【図4】この無線通信システムに用いるエンドデバイスの概略的なブロック図である。
【図5】ルータ間の伝送路に電波障害などが発生した場合の動作を説明する図である。
【図6】接続確認要求送信時のルータにおける処理動作を示すフローチャートである。
【図7】ルータ間の伝送路に発生していた電波障害などが解消した場合の動作を説明する図である
【図8】コーディネータとルータとの間の伝送路に電波障害などが発生した場合の動作を説明する図である。
【図9】上々位のルータで迂回経路の探索を行わせるようにした例を示す図である。
【図10】ルータとエンドデバイスとの間の伝送路に電波障害などが発生した場合の動作を説明する図である。
【図11】従来のジグビーネットワークの単純な例を示す図である。
【図12】このジグビーネットワークにおいてルータ間の伝送路に電波障害などが発生した場合に生じる虞れのある問題を説明する図である。
【符号の説明】
【0072】
10…コーディネータ、10A…処理部、10B…ROM、10C…EEPROM、10D…RF回路、20(20−1〜20−8)…ルータ、20A…処理部、20B…ROM、20C…EEPROM、20D…RF回路、30(30−1〜30−8)…エンドデバイス、30A…処理部、30B…ROM、30C…EEPROM、30D…RF回路、T0,T1…接続情報テーブル。
【特許請求の範囲】
【請求項1】
最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスと、この第1のデバイスと第2のデバイスとの間に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第3のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第3のデバイスは、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する通信継続手段
を備えることを特徴とする無線通信システム。
【請求項2】
請求項1に記載された無線通信システムにおいて、
前記通信継続手段は、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して前記第1のデバイスに中継要求を送る手段と、
前記第1のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とする無線通信システム。
【請求項3】
請求項1に記載された無線通信システムにおいて、
前記第3のデバイスと親子の接続関係を結んだ上位のデバイスを備え、
前記第3のデバイスの通信継続手段は、
前記上位のデバイスとの直接接続が不能となった場合、前記上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、
前記上々位のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とする無線通信システム。
【請求項4】
請求項1〜3の何れか1項に記載された無線通信システムにおいて、
前記第3のデバイスは、
自己と親子の接続関係を結んだ上位のデバイスに定期的に接続確認要求を送信する手段と、
前記接続確認要求の受信に成功したことを知らせる前記上位のデバイスからの接続確認応答を受信する手段とを備え、
前記通信継続手段は、
前記上位のデバイスからの前記接続確認応答が途絶えた場合に前記上位のデバイスとの直接接続が不能となったと判断する
ことを特徴とする無線通信システム。
【請求項5】
請求項1〜4の何れか1項に記載された無線通信システムにおいて、
前記第3のデバイスは、さらに、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が復旧した場合、前記通信継続手段による前記迂回経路を通しての前記上位のデバイスとの通信の継続を解除し、前記上位のデバイスとの直接接続による通信を再開する手段
を備えることを特徴とする無線通信システム。
【請求項6】
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する通信継続手段を備えることを特徴とするデバイス。
【請求項7】
請求項6に記載されたデバイスにおいて、
前記通信継続手段は、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して前記第1のデバイスに中継要求を送る手段と、
前記第1のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とするデバイス。
【請求項8】
請求項6に記載されたデバイスにおいて、
前記通信継続手段は、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、前記上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、
前記上々位のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とするデバイス。
【請求項9】
最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第2のデバイスは、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する通信継続手段
を備えることを特徴とする無線通信システム。
【請求項1】
最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスと、この第1のデバイスと第2のデバイスとの間に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第3のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第3のデバイスは、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位および下位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する通信継続手段
を備えることを特徴とする無線通信システム。
【請求項2】
請求項1に記載された無線通信システムにおいて、
前記通信継続手段は、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して前記第1のデバイスに中継要求を送る手段と、
前記第1のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とする無線通信システム。
【請求項3】
請求項1に記載された無線通信システムにおいて、
前記第3のデバイスと親子の接続関係を結んだ上位のデバイスを備え、
前記第3のデバイスの通信継続手段は、
前記上位のデバイスとの直接接続が不能となった場合、前記上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、
前記上々位のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とする無線通信システム。
【請求項4】
請求項1〜3の何れか1項に記載された無線通信システムにおいて、
前記第3のデバイスは、
自己と親子の接続関係を結んだ上位のデバイスに定期的に接続確認要求を送信する手段と、
前記接続確認要求の受信に成功したことを知らせる前記上位のデバイスからの接続確認応答を受信する手段とを備え、
前記通信継続手段は、
前記上位のデバイスからの前記接続確認応答が途絶えた場合に前記上位のデバイスとの直接接続が不能となったと判断する
ことを特徴とする無線通信システム。
【請求項5】
請求項1〜4の何れか1項に記載された無線通信システムにおいて、
前記第3のデバイスは、さらに、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が復旧した場合、前記通信継続手段による前記迂回経路を通しての前記上位のデバイスとの通信の継続を解除し、前記上位のデバイスとの直接接続による通信を再開する手段
を備えることを特徴とする無線通信システム。
【請求項6】
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する通信継続手段を備えることを特徴とするデバイス。
【請求項7】
請求項6に記載されたデバイスにおいて、
前記通信継続手段は、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、他のデバイスを経由して前記第1のデバイスに中継要求を送る手段と、
前記第1のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とするデバイス。
【請求項8】
請求項6に記載されたデバイスにおいて、
前記通信継続手段は、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、前記上位のデバイスと親子の接続関係を結んでいる上々位のデバイスに他のデバイスを経由して中継要求を送る手段と、
前記上々位のデバイスが前記中継要求に応じて探索した他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する手段と
を備えることを特徴とするデバイス。
【請求項9】
最上位に位置する第1のデバイスと、最下位に位置し自己のメモリに自己に割り当てられたアドレスを記憶する第2のデバイスとを少なくとも備えたツリー構造の無線通信システムにおいて、
前記第2のデバイスは、
自己と親子の接続関係を結んだ上位のデバイスとの直接接続が不能となった場合、上位のデバイスとの親子の接続関係を解消することなく、他のデバイスを経由した迂回経路を通して前記上位のデバイスとの間の通信を継続する通信継続手段
を備えることを特徴とする無線通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−148032(P2008−148032A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2006−333258(P2006−333258)
【出願日】平成18年12月11日(2006.12.11)
【出願人】(000006666)株式会社山武 (1,808)
【Fターム(参考)】
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願日】平成18年12月11日(2006.12.11)
【出願人】(000006666)株式会社山武 (1,808)
【Fターム(参考)】
[ Back to top ]