(57)【要約】【課題】  マルチホップ無線通信を行う無線通信システムにおいて、経路制御により発生するトラフィック量を低減する。【解決手段】  本発明は、第１のノードと複数の第２のノードとマルチホップ無線通信ネットワークに属する第３のノードとを備える無線通信システムに関する。そして、第１のノードは、初期化したパスコスト値の情報を制御情報に挿入して第３のノードに送信することを特徴とする。第２のノードは、第１及び第３のノードと制御情報を送受信し、第１のノードから受信した制御情報に基づいて求めたパスコスト値の情報を挿入した制御情報を送信することを特徴とする。第３のノードは、隣接ノードと制御情報を送受信した状況に応じて隣接ノードとのリンクコストを算出し、受信した制御情報に挿入されたパスコスト値及び算出したリンクコストに基づいて、第１のノードと通信するために接続する第２のノード及び親ノードを選択することを特徴とする。【選択図】      図１
2011205556.tif 000002
【特許請求の範囲】
【請求項１】
第１のノードと、上記第１のノードと接続している複数の第２のノードと、マルチホップ無線通信ネットワークに属し、いずれかの上記第２のノードを介して上記第１のノードと接続する複数の第３のノードとを備える無線通信システムにおいて、
上記第１のノードは、
上記第２のノードと制御情報を送受信する第１の制御情報送受信手段と、
上記第１の制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に初期化したパスコスト値の情報を挿入する第１の制御情報作成手段とを有し、
それぞれの上記第２のノードは、
上記第１のノード、及び、上記第３のノードと制御情報を送受信する第２の制御情報送受信手段と、
上記第２の制御情報送受信手段が、上記第３のノードに送信する制御情報を作成するものであって、作成する制御情報に、上記第１のノードから受信した制御情報に基づいて求めたパスコスト値の情報を挿入する第２の制御情報作成手段とを有し、
それぞれの上記第３のノードは、
直接無線通信可能な隣接ノードと制御情報を送受信する第３の制御情報送受信手段と、
上記第３の制御情報送受信手段による各隣接ノードとの制御情報の送受信の状況に応じて、それぞれの隣接ノードとの間のリンクのリンクコスト値を算出するリンクコスト算出手段と、
それぞれの隣接ノードから受信した制御情報のパスコスト値、及び、上記リンクコスト算出手段の算出結果に基づいて、当該第３のノードが上記第１のノードと通信するために接続する上記第２のノードと、上記第２のノードへデータ送信する際に最初の転送先となる親ノードを選択することにより、上記第１のノードと通信するための経路選択を行う経路選択手段と、
上記第３の制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、親ノードから受信した制御情報のパスコスト値に、親ノードとの間のリンクコスト値を加算したパスコスト値の情報、及び、当該第３のノードが接続する上記第２のノードの情報を挿入する第３の制御情報作成手段とを有する
ことを特徴とする無線通信システム。
【請求項２】
上記リンクコスト算出手段は、それぞれの隣接ノードとの間のリンクコスト値の算出に、少なくとも制御情報が受信できなかった期間を利用することを特徴とする請求項１に記載の無線通信システム。
【請求項３】
上記第１のノードは、
それぞれの上記第２のノードの障害を検知する障害検知手段と、
上記障害検知手段によりいずれかの上記第２のノードの障害を検知した場合には、上記第３のノードに向けた障害通知情報を、障害を検知していない上記第２のノードを経由して送信する障害通知情報送信手段とをさらに備え、
上記経路選択手段は、当該第３のノードが障害通知情報を受信し、その障害通知情報に係る上記第２のノードが、当該第３のノードが接続しているノードである場合には、その障害通知に係る上記第２のノードを除く上記第２のノードを接続先とする新たな経路選択を行う
ことを特徴とする請求項１又は２に記載の無線通信システム。
【請求項４】
それぞれの上記第３のノードは、上記経路選択手段が、新たな経路選択を行った場合に、その経路に係る経路情報を作成して、当該第３のノードが接続する上記第２のノード又は上記第１のノードに向けて送出する経路情報送信手段をさらに備えることを特徴とする請求項１〜３のいずれかに記載の無線通信システム。
【請求項５】
それぞれの上記第３のノードは、隣接ノードから受信した制御情報に基づいて、当該第３のノードが、他の上記第３のノードから、親ノードとして選択されているか否かを判定する親ノード判定手段をさらに有し、
上記経路情報送信手段は、上記経路選択手段が、新たな経路選択を行ったときに、上記親ノード判定手段により、当該第３のノードが、他の上記第３のノードから親ノードとして選択されていないと判定した場合は、作成した経路情報を即時に送出し、そうでない場合は、作成した経路情報を所定時間保持する
ことを特徴とする請求項４に記載の無線通信システム。
【請求項６】
マルチホップ無線通信ネットワークに属する複数の第３のノードと、複数の第２のノードのうちいずれかを介して通信するノードにおいて、
上記第２のノードと制御情報を送受信する制御情報送受信手段と、
上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に初期化したパスコスト値の情報を挿入する制御情報作成手段と
を有することを特徴とするノード。
【請求項７】
第１のノードと接続し、マルチホップ無線通信ネットワークに属する複数の第３のノードの一部又は全部が当該ノードを介して上記第１のノードに接続するノードにおいて、
上記第１のノード、及び、上記第３のノードと制御情報を送受信する制御情報送受信手段と、
上記制御情報送受信手段が、上記第３のノードに送信する制御情報を作成するものであって、作成する制御情報に、上記第１のノードから受信した制御情報に基づいて求めたパスコスト値の情報を挿入する制御情報作成手段と
を有することを特徴とするノード。
【請求項８】
複数の第２のノードのうちいずれかを介して第１のノードに接続する、複数のノードにより構成されたマルチホップ無線通信ネットワークを構成するノードにおいて、
直接無線通信可能な隣接ノードと制御情報を送受信する制御情報送受信手段と、
上記制御情報送受信手段による各隣接ノードとの制御情報の送受信の状況に応じて、それぞれの隣接ノードとの間のリンクのリンクコスト値を算出するリンクコスト算出手段と、
それぞれの隣接ノードから受信した制御情報のパスコスト値、及び、上記リンクコスト算出手段の算出結果に基づいて、当該ノードが上記第１のノードと通信するために接続する上記第２のノードと、上記第２のノードへデータ送信する際に最初の転送先となる親ノードを選択することにより、上記第１のノードと通信するための経路選択を行う経路選択手段と、
上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、親ノードから受信した制御情報のパスコスト値に、親ノードとの間のリンクコスト値を加算したパスコスト値の情報、及び、当該ノードが接続する上記第２のノードの情報を挿入する制御情報作成手段と
を有することを特徴とするノード。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線通信システム及びノードに関し、例えば、マルチホップ無線通信を行う無線通信システムに適用し得る。
【背景技術】
【０００２】
ノード間でマルチホップ通信を行う無線通信システムでは、パケット中継機能を有する複数の無線ノードでネットワークを構成し、隣接した無線ノード間で互いにパケットを中継することにより、直接電波の届かない無線ノードまでパケットを転送することができる。パケットを所望の無線ノードに中継するためには、宛先アドレスから次に転送する無線ノードを決定するためのルーティングプロコトルが必要となる。
【０００３】
例えばＺｉｇＢｅｅ（登録商標）アライアンスでは、複数のノードからデータを効率的に収集することが可能となるＭａｎｙ  ｔｏ  Ｏｎｅ方式のルーティングプロトコルの標準化が行われている（非特許文献１参照）。Ｍａｎｙ  ｔｏ  Ｏｎｅ方式はシンクノードと複数のノード間の１対ｎの通信について考慮された方式としているため、環境情報のセンシンクや、テレメータリングなどのアプリケーションヘの適用が期待されている。
【０００４】
図１７は、上述のＭａｎｙ  ｔｏ  Ｏｎｅルーティンク方式の動作を示した説明図である。
【０００５】
図１７では、シンクノードＳが、ノードＮ−ｂ〜Ｎ−ｊで発生したセンサデータをシンクノードＳに収集する様子を示している。
【０００６】
まず各ノードＮは、リンクステ一夕スコマンドと呼ばれるパケットを、ブロードキャストで周辺ノードに送信する。このコマンドは例えば１５秒毎など、定期的に周辺ノード間で交換され、このパケットの到着率やＬｑＩ（Ｌｉｎｋ  ｑｕａｌｉｔｙ  ｌｎｄｉｃａｔｏｒ）を測定することにより、各ノード間のリンクの品質を示すリンクコストが算出される。
【０００７】
次に、図１７（ａ）に示すように、シンクノードＳは、ＲＲＥＱ（Ｒｏｕｔｅ  Ｒｅｑｕｅｓｔ）コマンドと呼ばれる経路を探索するためのパケットを送信する。通常、ＡＯＤＶ（Ａｄｈｏｃ  Ｏｎ-Ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ）などではこのＲＲＥＱコマンドは、送信したい相手から送信元までの経路を探索するために用いられるが、Ｍａｎｙ  ｔｏ  Ｏｎｅ方式では送信先アドレスをブロードキャストアドレスとすることでノードＮからシンクノードＳまでの経路の探索を行うために用いられる。
【０００８】
シンクノードＳからのＲＲＥＱを受信した各ノードＮは、他のノードＮヘＲＲＥＱを伝搬させるための中継処理を行う。この時、ＲＲＥＱにはパスコストと呼ばれるメトリックが記載されており、この値が小さい程、シンクノードまでの到達コストが低いことを意味している。ＲＲＥＱの中継時には、リンクステ一夕スコマンドで測定されたリンクコストを受信したＲＲＥＱのパスコストに加算して送信する。このようにＲＲＥＱの中継を繰り返すことで、各ノードＮはシンクノードＳにパケットを転送するための次転送ノードの情報を知ることができ、例えば、パスコストの一番低いノードを次転送ノードとして選択することで、シンクノードＳまでの最適経路の作成が可能となる。以上の動作により、各ノードＮからシンクノードＳまでの上り経路が確立される。
【０００９】
次に、図１７（ｂ）に示すように、各ノードＮはシンクノードＳからの下り経路を作成するために、ＲＲＥＣ（Ｒｏｕｔｅ  Ｒｅｃｏｒｄ）コマンドをシンクノード宛に送信する。ＲＲＥＣコマンドを受信したノードは自身のアドレスと中継回数をＲＲＥＣコマンドに追記して、次転送ノードヘと中継する。この中継を繰り返すことで、シンクノードＳでＲＲＥＣコマンドを受信した時には、送信元ノードから経由してきたノードのアドレスリストと中継回数を取得することができる。図１７（ｂ）ではノードＮｈからＮｄ→Ｎｃ→Ｎｂ→ＮＳとパケットが中継されていることが分かる。
【００１０】
次に、図１７（ｃ）に示すように、全ノードがシンクノード宛のＲＲＥＣコマンドを送信することで、シンクノードでは全ノードヘの経路情報のリストを得ることができる。シンクノードから各ノードヘの下り通信を行う場合は、このアドレスリストの順番を逆にしたものをパケットのヘッダ部に記載し転送する。アドレスリストが記載されたパケットを受信したノードは、アドレスリストの記載に従ってパケットを中継する。以上の動作によりシンクノードから各ノードヘの下り経路が確立される。
【００１１】
また、ネットワーク規模が大きくなると、一つのシンクノードでは全てのノードのトラフィックを収容することが困難となる。そのため、ネットワーク内に複数のシンクノードを設置し、シンクノード１台あたりの接続ノード数を削減することが考えられる。このような複数のシンクノードを配置した例として、非特許文献２の記載技術がある。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】ＺｉｇＢｅｅ  Ｓｔａｎｄａｒｄｓ  Ｏｒｇａｎｉｚａｔｉｏｎ編、「ＺｉｇＢｅｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ１７（ＺｉｇＢｅｅ  Ｄｏｃｕｍｅｎｔ  Ｏ５３４７４ｒ１７）」、[Online]，INTERNET，[２０１０年３月１１日検索]、＜http://www.zbsigj.org/download/085224r00ZB_MG-ZigBee-Specification-053474r17_Japanese_081209.pdf＞
【非特許文献２】Ｅ.Ｉ.Ｏｙｍａｎ、Ｃ．Ｅｒｓｏｙ著、「Ｍｕｌｔｉｐｌｅ  ｓｉｎｋ  ｎｅｔｗｏｒｋ  ｄｅｓｉｇｎ  ｐｒｏｂｌｅｍ  ｉｎ  ｌａｒｇｅ  ｓｃａｌｅ  ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  ｎｅｔｗｏｒｋｓ」，Ｐｒｏｃ．Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（２００４）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従来技術のＭａｎｙ  ｔｏ  Ｏｎｅ方式を用いて複数のシンクノードを構成する場合、複数のシンクノードからそれぞれＲＲＥＱを送信することで、無線ノードでは複数のシンクノードヘの上り経路を獲得することができる。無線ノードは、複数のシンクノードヘの上り経路候補の中から最もパスコストが低い経路を選択することで、シンクノードヘの負荷を分散し、シンクノードあたりに接続する無線ノード数を平滑化できる。この時、ＲＲＥＱをネットワーク全体に中継するために、ＲＲＥＱの最大中継回数であるＴＴＬ（Ｔｉｍｅ  ｔｏ  Ｌｉｖｅ）の値を例えば２５５のような大きな値を設定する必要がある。そのためネットワークの規模が大きくなるにつれて、ＲＲＥＱを中継するためのトラフィックが増大し、通常のデータ通信のスループットが低下するという課題がある。
【００１４】
また、シンクノードを複数設置する利点として、シンクノードの障害時に他のシンクノードに接続先を変更できるという点が挙げられる。この場合、障害が発生したシンクノードにマルチホップで接続している無線ノードでは、自身が接続しているシンクノードに障害が発生しているか否かを知る必要がある。従来技術におけるＭａｎｙ  ｔｏ  Ｏｎｅ方式では、無線ノードでパスコストの低いＲＲＥＱを受信すると新たなＲＲＥＱを受信しない限りその経路を選択し続ける。そのため自身が接続しているシンクノードに障害が発生したかどうかを検出することができないという課題があった。
【００１５】
さらに、シンクノードの障害により無線ノードが接続するシンクノードを切り替えた場合、切替先のシンクノードではどの無線ノードが接続先を変更したかを知る必要がある。接続先を変更したことを通知する手段として、シンクノードを変更したすべての無線ノードがＲＲＥＣを送信することが考えられる。この時、すべての無線ノードがＲＲＥＣを一斉に送信すると、切替え先のシンクノードヘのトラフィックが収集し、パケットの衝突などにより正確に変更情報を収集できない恐れがある。
【００１６】
上述のような課題を鑑み、マルチホップ無線通信を行う無線通信システムにおいて、経路制御により発生するトラフィック量を低減することができる無線通信システム及びノードが望まれている。
【課題を解決するための手段】
【００１７】
第１の本発明は、第１のノードと、上記第１のノードと接続している複数の第２のノードと、マルチホップ無線通信ネットワークに属し、いずれかの上記第２のノードを介して上記第１のノードと接続する複数の第３のノードとを備える無線通信システムにおいて、（１）上記第１のノードは、（１−１）上記第２のノードと制御情報を送受信する第１の制御情報送受信手段と、（１−２）上記第１の制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に初期化したパスコスト値の情報を挿入する第１の制御情報作成手段とを有し、（２）それぞれの上記第２のノードは、（２−１）上記第１のノード、及び、上記第３のノードと制御情報を送受信する第２の制御情報送受信手段と、（２−２）上記第２の制御情報送受信手段が、上記第３のノードに送信する制御情報を作成するものであって、作成する制御情報に、上記第１のノードから受信した制御情報に基づいて求めたパスコスト値の情報を挿入する第２の制御情報作成手段とを有し、（３）それぞれの上記第３のノードは、（３−１）直接無線通信可能な隣接ノードと制御情報を送受信する第３の制御情報送受信手段と、（３−２）上記第３の制御情報送受信手段による各隣接ノードとの制御情報の送受信の状況に応じて、それぞれの隣接ノードとの間のリンクのリンクコスト値を算出するリンクコスト算出手段と、（３−３）それぞれの隣接ノードから受信した制御情報のパスコスト値、及び、上記リンクコスト算出手段の算出結果に基づいて、当該第３のノードが上記第１のノードと通信するために接続する上記第２のノードと、上記第２のノードへデータ送信する際に最初の転送先となる親ノードを選択することにより、上記第１のノードと通信するための経路選択を行う経路選択手段と、（３−４）上記第３の制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、親ノードから受信した制御情報のパスコスト値に、親ノードとの間のリンクコスト値を加算したパスコスト値の情報、及び、当該第３のノードが接続する上記第２のノードの情報を挿入する第３の制御情報作成手段とを有することを特徴とする。
【００１８】
第２の本発明は、マルチホップ無線通信ネットワークに属する複数の第３のノードと、複数の第２のノードのうちいずれかを介して通信するノードにおいて、（１）上記第２のノードと制御情報を送受信する制御情報送受信手段と、（２）上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に初期化したパスコスト値の情報を挿入する制御情報作成手段とを有することを特徴とする。
【００１９】
第３の本発明は、第１のノードと接続し、マルチホップ無線通信ネットワークに属する複数の第３のノードの一部又は全部が当該ノードを介して上記第１のノードに接続するノードにおいて、（１）上記第１のノード、及び、上記第３のノードと制御情報を送受信する制御情報送受信手段と、（２）上記制御情報送受信手段が、上記第３のノードに送信する制御情報を作成するものであって、作成する制御情報に、上記第１のノードから受信した制御情報に基づいて求めたパスコスト値の情報を挿入する制御情報作成手段とを有することを特徴とする。
【００２０】
第４の本発明は、複数の第２のノードのうちいずれかを介して第１のノードに接続する、複数のノードにより構成されたマルチホップ無線通信ネットワークを構成するノードにおいて、（１）直接無線通信可能な隣接ノードと制御情報を送受信する制御情報送受信手段と、（２）上記制御情報送受信手段による各隣接ノードとの制御情報の送受信の状況に応じて、それぞれの隣接ノードとの間のリンクのリンクコスト値を算出するリンクコスト算出手段と、（３）それぞれの隣接ノードから受信した制御情報のパスコスト値、及び、上記リンクコスト算出手段の算出結果に基づいて、当該ノードが上記第１のノードと通信するために接続する上記第２のノードと、上記第２のノードへデータ送信する際に最初の転送先となる親ノードを選択することにより、上記第１のノードと通信するための経路選択を行う経路選択手段と、（４）上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、親ノードから受信した制御情報のパスコスト値に、親ノードとの間のリンクコスト値を加算したパスコスト値の情報、及び、当該ノードが接続する上記第２のノードの情報を挿入する制御情報作成手段とを有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、マルチホップ無線通信を行う無線通信システムにおいて、経路制御により発生するトラフィック量を低減することができる。
【図面の簡単な説明】
【００２２】
【図１】第１の実施形態に係る無線ノードの機能的構成について示したブロック図である。
【図２】第１の実施形態に係る無線通信システムの全体構成について示したブロック図である。
【図３】第１の実施形態に係るシンクノードの機能的構成について示したブロック図である。
【図４】第１の実施形態に係るゲートウェイの機能的構成について示したブロック図である。
【図５】第１の実施形態に係る無線通信システムの動作について示した説明図（１）である。
【図６】第１の実施形態に係る無線通信システムの動作について示した説明図（２）である。
【図７】第１の実施形態に係る無線通信システムの動作について示した説明図（３）である。
【図８】第１の実施形態に係る無線通信システムの動作について示した説明図（４）である。
【図９】第２の実施形態に係る無線通信システムの全体構成について示したブロック図である。
【図１０】第２の実施形態に係るゲートウェイの機能的構成について示したブロック図である。
【図１１】第２の実施形態に係る無線通信システムの動作について示した説明図（１）である。
【図１２】第２の実施形態に係る各無線ノードの動作について示したフローチャートである。
【図１３】第２の実施形態に係る無線通信システムの動作について示した説明図（２）である。
【図１４】第２の実施形態に係る無線通信システムの動作について示した説明図（３）である。
【図１５】第３の実施形態に係る無線ノードの機能的構成について示したブロック図である。
【図１６】第３の実施形態に係る無線ノードの動作について示したフローチャートである。
【図１７】従来の無線通信システムの動作について示した説明図である。
【発明を実施するための形態】
【００２３】
（Ａ）第１の実施形態
以下、本発明による無線通信システム及びノードの第１の実施形態を、図面を参照しながら詳述する。なお、以下の説明では、本発明の第１〜第３のノードを、それぞれ、ゲートウェイ、シンクノード、無線ノードに適用した例について説明している。
【００２４】
（Ａ−１）第１の実施形態の構成
図２は、第１の実施形態の無線通信システム１の全体構成について示したブロック図である。
【００２５】
無線通信システム１には、ゲートウェイ３０、２つのシンクノード２０（２０−Ｓ１、２０−Ｓ２）、１３の無線ノード１０（１０−ａ〜１０−ｍ）が配置されている。
【００２６】
ゲートウェイ３０は、有線ネットワークによりシンクノード２０と接続しているノードである。
【００２７】
シンクノード２０は、ゲートウェイ３０と有線ネットワークにより接続されており、無線ノード１０がゲートウェイ３０へ接続するための中継ノードとして機能するものである。
【００２８】
この実施形態では、無線ノード１０−ａ〜１０−ｍは、マルチホップ通信を行うセンサネットワークを構成しており、各無線ノード１０は、図示しないセンサを用いて作成したセンサデータを、いずれかのシンクノード２０及びゲートウェイ３０を介して、図示しない情報収集装置に送信する。なお、ゲートウェイ３０自体が、上述の情報収集装置として機能するノードであっても良い。
【００２９】
また、無線ノード１０は、直接シンクノード２０と通信できない場合には、他の無線ノード１０を介してマルチホップ通信により、いずれかのシンクノード２０と接続する。
【００３０】
図２及び以降の無線通信システム１の説明図においては、破線や矢印等で結ばれたノード間は直接無線通信可能であることを示している。例えば、図２では、シンクノード２０−Ｓ１と無線ノード１０−ｂとの間は破線で結ばれているので、直接通信可能であることを示している。また、無線ノード１０−ａと無線ノード１０−ｂの間も破線で結ばれているので、直接通信可能であることを示している。
【００３１】
なお、以下の説明において、各ノード間のリンクの通信品質に係る評価値を「リンクコスト」と呼び、いずれかの無線ノード１０又はシンクノード２０から、ゲートウェイ３０までのパスの通信品質に係る評価値を「パスコスト」と呼ぶものとする。パスコストは、当該ノードからゲートウェイ３０に到達するまでの各ノード間のリンクコストの合計値となる。また、以下では、リンクコスト及びパスコストは、値が小さいほど、その通信品質は高いものであるものとして説明する。
【００３２】
次に、無線ノード１０の内部構成について説明する。
【００３３】
図１は、それぞれの無線ノード１０の機能的構成について示したブロック図である。
【００３４】
無線ノード１０は、アンテナ１０１、増幅器１０２、無線送受信部１０３、パケット受信部１０４、中継処理部１０５、隣接ノードテーブル１０６、センサデータ生成部１０７、制御情報生成部１０８、及びパケット送信部１０９を有している。
【００３５】
無線ノード１０は、例えば、無線通信を行うインタフェースと、通信処理やデータ処理を行うプロセッサとを有するノード（無線通信装置）に、図１に示す機能的構成を実現するための無線通信プログラムをインストールすることにより構築しても良い。
【００３６】
アンテナ１０１は、無線信号の送受信を行うものである。
【００３７】
増幅器１０２は、アンテナ１０１が受信した電波の信号強度を高めるものである。
【００３８】
無線送受信部１０３は、電気信号と無線信号の相互変換や、変復調や周波数変換処理などを行うことで無線信号の送受信を行うものである。
【００３９】
パケット受信部１０４は、受信したパケットを解析し、データパケットや制御パケット（例えば、後述するＨｅｌｌｏパケット等を含む）などの識別を行い、制御パケットの場合は内部データの解析を行うものである。また、パケット受信部１０４は、必要に応じて隣接ノードテーブル１０６の更新を行う。
【００４０】
中継処理部１０５は、受信パケットがデータパケットの場合は隣接ノードテーブル１０６に基づき他のノードヘパケットを中継するか否かを判断する。
【００４１】
隣接ノードテーブル１０６には、当該無線ノード１０が直接通信可能なノード（以下、「隣接ノード」という）から受信した制御パケットの内容に基づいて、当該無線ノード１０の通信における経路制御を行うために必要な情報が記録されている。隣接ノードテーブル１０６には、例えば、いずれかのシンクノード２０ヘパケットを送信するために、隣接ノードヘのリンクコストや、隣接ノードからシンクノード２０までのパスコストなどの情報が記憶されている。
【００４２】
センサデータ生成部１０７は、図示しないセンサの外部入出力インタフェースからセンサデータを読み取り、パケット送信部１０９を介して、図示しない収集装置へ向けて送信する。図示しないセンサ及びセンサデータ生成部１０７については、既存のセンサネットワークのノードに用いられるものと同様のものを適用することができる。
【００４３】
制御情報生成部１０８は隣接ノードとの接続状況を測定するＨｅｌｌｏパケットなどに挿入する制御情報を生成する。
【００４４】
パケット送信部１０９は、自身で生成したセンサデータや制御情報や、他無線ノードから受信したパケットを無線ネットワークに送信する。
【００４５】
次に、シンクノード２０の内部構成について説明する。
【００４６】
図３は、それぞれのシンクノード２０の機能的構成について示したブロック図である。
【００４７】
それぞれのシンクノード２０は、アンテナ２０１、増幅器２０２、無線送受信部２０３、パケット受信部２０４、中継処理部２０５、隣接ノードテーブル２０６、センサデータ生成部２０７、制御情報生成部２０８、パケット送信部２０９、及び有線送受信部２１０を有している。
【００４８】
シンクノード２０は、例えば、無線通信及び有線通信を行うインタフェースと、通信処理やデータ処理を行うプロセッサとを有するノード（通信装置）に、図３に示す機能的構成を実現するための無線通信プログラムをインストールすることにより構築しても良い。
【００４９】
図３に示すシンクノード２０の構成のうち、アンテナ２０１、増幅器２０２、無線送受信部２０３、パケット受信部２０４、中継処理部２０５、隣接ノードテーブル２０６、センサデータ生成部２０７、制御情報生成部２０８、パケット送信部２０９については、それぞれ無線ノード１０の、アンテナ１０１、増幅器１０２、無線送受信部１０３、パケット受信部１０４、中継処理部１０５、隣接ノードテーブル１０６、センサデータ生成部１０７、制御情報生成部１０８、パケット送信部１０９とほぼ同様のものであるため詳しい説明を省略する。以下、シンクノード２０について、無線ノード１０との差異を中心に説明する。
【００５０】
シンクノード２０と無線は、ゲートウェイ３０と有線ネットワークにより接続するための有線送受信部２１０を備えている。
【００５１】
また、シンクノード２０は、無線ノード１０との間の通信では、マルチホップ通信を行うが、ゲートウェイ３０との間の通信は、静的又は動的な所定のルーティング処理により経路制御するように、されているものとする。
【００５２】
この実施形態では、図３に示すように、シンクノード２０は、センサデータ生成部２０７を備えているが、センサノードとしても機能させる必要が無い場合には省略するようにしても良い。
【００５３】
次に、ゲートウェイ３０の内部構成について説明する。
【００５４】
図４は、ゲートウェイ３０の機能的構成について示したブロック図である。
【００５５】
ゲートウェイ３０は、有線送受信部３０１、パケット受信部３０２、下り経路テーブル３０３、及びパケット送信部３０４を有している。
【００５６】
ゲートウェイ３０は、例えば、有線通信を行うインタフェースと、通信処理やデータ処理を行うプロセッサとを有するノード（通信装置）に、図４に示す機能的構成を実現するための通信プログラムをインストールすることにより構築しても良い。
【００５７】
有線送受信部３０１は、有線ネットワークに接続するためのネットワークインタフェースである。
【００５８】
パケット受信部３０２は、受信したパケットを解析し、データパケットや制御パケットなどの識別を行い、制御パケットの場合は内部データの解析を行い、必要に応じて下り経路テーブル３０３の更新を行うものである。
【００５９】
下り経路テーブル３０３は、各無線ノード１０までの下りの経路情報を保持するものである。
【００６０】
パケット送信部３０４は、他のノードへの制御パケットやデータパケットの送信を行うものである。
【００６１】
（Ａ−２）第１の実施形態の動作
まず、無線通信システム１において、各無線ノード１０が、ゲートウェイ３０と通信するための経路を決定する動作について、図５〜図７を用いて説明する。
【００６２】
まず各無線ノード１０はＨｅｌｌｏパケット（制御パケット）に自身の管理情報を記載して、隣接ノード間で交換する。
【００６３】
この時、無線ノード１０が送信するＨｅｌｌｏパケットに含まれる管理情報としては、少なくとも、現在当該無線ノード１０が接続しているシンクノード２０の情報、そのシンクノード２０にパケット送信する際の最初の中継ノード（以下、「親ノード」と呼ぶものとする）の情報、ゲートウェイ３０までのパスコストの情報が含まれる。なお、当該無線ノード１０が接続するシンクノード２０と直接無線通信可能な場合には、上述の親ノードは、当該無線ノード１０が接続するシンクノード２０となる。
【００６４】
また、Ｈｅｌｌｏパケットに含まれる管理情報には、Ｈｅｌｌｏパケットの送信周期、シーケンス番号等の情報を含むようにしても良い。そして、それぞれの無線ノード１０は、隣接ノードから受信したＨｅｌｌｏパケットの管理情報の内容を、隣接ノードテーブル１０６に記録する。
【００６５】
また、シンクノード２０も同様に、隣接ノードである無線ノード１０に向けて、Ｈｅｌｌｏパケットを送信するが、そのＨｅｌｌｏパケットの管理情報としては、少なくとも、ゲートウェイ３０までのパスコストの情報が含まれているものとする。なお、シンクノード２０が、ゲートウェイ３０との間のパスコストを保持する手段については後述する。
【００６６】
次に、各無線ノード１０では、受信したＨｅｌｌｏパケットを用いて隣接ノードとのリンクコストを算出する。このリンクコストは、例えば、Ｈｅｌｌｏパケットの受信率（エラー率等）や、受信電界強度などから算出するようにしても良い。
【００６７】
図５では、無線ノード１０−ｇが隣接ノード（無線ノード１０−ｅ、１０−ｆ、１０−ｈ、１０−ｉ、１０−ｊ、１０−ｌ、１０−ｍ）とＨｅｌｌｏパケットの交換を行い、隣接ノードとのリンクコストを算出した結果を、各ノード間のリンクを示す矢印と共に示している。
【００６８】
図６では、同様に、各無線ノード１０間でＨｅｌｌｏパケットが交換され、それぞれの無線リンクのリンクコストが算出された結果を示している。なお、この時点では各無線ノード１０間のリンクコストが算出されたのみで、シンクノード２０への経路は確立していないものとする。
【００６９】
次に、ゲートウェイ３０では、無線ノード１０と同様にＨｅｌｌｏパケットを送信する。このＨｅｌｌｏパケットはシンクノード２０とゲートウェイ３０とを接続する有線ネットワーク上で交換される。
【００７０】
この時、ゲートウェイ３０からは複数のシンクノード２０−Ｓ１、２０−Ｓ２に対して同じシーケンス番号のＨｅｌｌｏパケットが送信される。つまりＨｅｌｌｏパケットが有線ネットワーク上で複製されていることを意味している。また、この時のＨｅｌｌｏパケットに含まれる管理情報において記載されたパスコストは初期値として「１」に設定したものとする。シンクノード２０−Ｓ１、２０−Ｓ２では、ゲートウェイ３０からのＨｅｌｌｏパケットを有線送受信部２１０で受信した後、無線送受信部２０３にて無線信号へと変換し、当該シンクノード２０の隣接ノードとなっている無線ノード１０ヘと送信する。
【００７１】
上記では、ゲートウェイ３０から送信されるＨｅｌｌｏパケットに設定されるパスコストは「１」であるものとして説明したが、これは、ゲートウェイ３０と各シンクノード２０との間のリンクコストは「１」であることを表している。ゲートウェイ３０と各シンクノード２０との間のリンクコストは、固定値としても良いし、シンクノード２０側で、ゲートウェイ３０との間の通信状況（例えば、Ｈｅｌｌｏパケットの受信状況）や、ホップ数（他の通信装置を経由する場合）に応じて、シンクノード２０側で設定するようにしても良い。また、ここでは、上述の通り、ゲートウェイ３０側で、シンクノード２０のパスコストを設定してＨｅｌｌｏパケットを送信しているが、シンクノード２０は、無線ノード１０と同様に、ゲートウェイ３０から受信したＨｅｌｌｏパケットのパスコスト値（例えば、「０」）に、ゲートウェイ３０との間のリンクコストを加算したＨｅｌｌｏパケットを作成して、無線ノード１０に送信するようにしても良い。
【００７２】
そして、シンクノード２０の隣接ノード（無線ノード１０）では、シンクノード２０から受信したＨｅｌｌｏパケットのパスコストの値に基づいて自身のパスコストを決定する。例えば、シンクノード２０−Ｓ１の隣接ノード（無線ノード１０−ｂ、１０−ｃ、１０−ｄ）では、受信したパスコスト値とリンクコストの値が加算され、それぞれのパスコストの値が（３、２、２）となる。この時、無線ノード１０−ｄでは、無線ノード１０−ｃのＨｅｌｌｏパケットを受信することで、無線ノード１０−ｃのパスコスト＝２であることを知ることができる。この場合、無線ノード１０−ｃ経由でのパスコストを算出すると、無線ノード１０−ｃと無線ノード１０−ｄとのリンクコスト＝１を加算するため、パスコスト＝３となる。無線ノード１０−ｄでは、シンクノード２０−Ｓ１を経由した場合は、パスコスト＝２となるため、無線ノード１０−ｄでは上り経路の親ノードをシンクノード２０−Ｓ１とし、自身のパスコスト＝２としてＨｅｌｌｏパケットに記載する。
【００７３】
図７では、同様にシンクノード２０−Ｓ２からもＨｅｌｌｏパケットによりパスコストが伝搬され、各無線ノード１０では自身のパスコストと親ノードが決定された様子について示している。図７に記載された、それぞれの無線ノード１０に付された値は、それぞれの無線ノード１０において決定された経路のパスコストであり、矢印の向きは自身の親ノードの方向を示している。図から各無線ノード１０はパスコストが小さくなるようなシンクノード２０を選択することで、シンクノード２０の接続を分散していることが分かる。
【００７４】
そして、経路選択が終了（接続するシンクノード２０及び親ノードが決定）した無線ノード１０は、それぞれ、自身への下り経路を知らせるためのパケット（例えば、ＲＲＥＣパケット等）を、ゲートウェイ３０に送信し、ゲートウェイ３０にでは、受信したＲＲＥＣパケットの内容に基づいて、下り経路テーブル３０３の内容を更新する。なお、無線ノード１０は、経路が切替わった（接続するシンクノード２０及び又は親ノードが変わった）場合にも同様のパケット送信を行う。また、シンクノード２０もゲートウェイ３０における下り経路テーブル３０３と同様のテーブルを備え、そのテーブルの情報をゲートウェイ３０へ伝達している場合には、各無線ノード１０は、上述のＲＲＥＣパケットを、接続するシンクノード２０に送信するようにしても良い。
【００７５】
次に、いずれかの無線通信システム１において、いずれかのシンクノード２０に障害が発生し、通信できなくなった場合の動作について図８を用いて説明する。
【００７６】
図８では、例として、図７の状態からシンクノード２０−Ｓ２に障害が発生し、シンクノード２０−Ｓ２の隣接無線ノード１０では、シンクノード２０−Ｓ２からのＨｅｌｌｏパケットが受信できなくなった場合の動作につい手説明する。
【００７７】
ここでは、例として、各無線ノード１０は、一定時間にわたりＨｅｌｌｏパケットが受信できない場合、リンクコストを大きくすることでそのリンクを使用しないように制御するものとする。
【００７８】
そのためシンクノード２０−Ｓ２と、無線ノード１０−ｉ、１０−ｊ、１０−ｋのそれぞれのリンクコストは、図７の状態（２、１、１）から次第に大きくなる。この無線ノード１０−ｉ、１０−ｊ、１０−ｋのリンクコストの増大により、無線ノード１０−ｉ、１０−ｊ、１０−ｋのＨｅｌｌｏパケットに記載されたパスコストも増加する。これにより無線ノード１０−ｇでは、無線ノード１０−ｊを親ノードとするパスコストに比べて、無線ノード１０−ｅを親ノードとするパスコスト＝５の方が小さくなる。これにより以後、無線ノード１０−ｇは無線ノード１０−ｅを親ノードとして選択する。同様にこれまでシンクノード２０−Ｓ２経由で上り経路を設定していた無線ノード１０−ｆ、１０−ｉ、１０−ｊ、１０−ｋ、１０−ｍもそれぞれパスコストの低い無線ノード１０を親ノードとして再選択する。
【００７９】
図８では、各無線ノード１０において、経路の再選択が行われた後の状態について示している。図８ではすべての無線ノード１０がシンクノード２０−Ｓ１を経由してゲートウェイと接続している様子が分かる。
【００８０】
以上の動作により、シンクノードに障害が発生した場合においても、各無線ノード１０で自律的に経路を切替えることが可能となる。
【００８１】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果を奏することができる。
【００８２】
無線通信システム１では、隣接ノード間でパスコストの情報を含むＨｅｌｌｏパケットを交換することにより、各無線ノード１０では、ゲートウェイ３０に接続する経路を選択している。これにより、無線通信システム１では、従来技術のようにブロードキャストによりＲＲＥＱを送信するなどのフラッディング制御パケットを用いることなく、各無線ノード１０の経路制御を行うと共に、各シンクノード２０の負荷分散をすることができる。
【００８３】
また、各無線ノード１０では、隣接ノードからＨｅｌｌｏパケットの送信がされない期間に応じてリンクコストの調節をすることにより、シンクノード２０や親ノードの障害発生時においても、特別な制御パケット（例えば、従来のようにブロードキャスト送信する制御パケット）を用いることなく、各無線ノード１０で自律的に経路の切替えを行うことができる。
【００８４】
（Ｂ）第２の実施形態
以下、本発明による無線通信システム及びノードの第２の実施形態を、図面を参照しながら詳述する。なお、以下の説明では、本発明の第１〜第３のノードを、それぞれ、ゲートウェイ、シンクノード、無線ノードに適用した例について説明している。
【００８５】
（Ｂ−１）第２の実施形態の構成
図９は、第２の実施形態の無線通信システム１Ａの全体構成について示したブロック図である。
【００８６】
無線通信システム１Ａでは、ゲートウェイ３０Ａに、５つのシンクノード２０−Ｓ１〜２０−Ｓ５が接続されており、それぞれのシンクノード２０の周辺には、複数の無線ノード１０Ａが配置されている。
【００８７】
次に、ゲートウェイ３０Ａの内部構成について説明する。
【００８８】
図１０は、ゲートウェイ３０Ａの機能的構成について示したブロック図である。
【００８９】
ゲートウェイ３０Ａは、有線送受信部３０１、パケット受信部３０２、下り経路テーブル３０３、パケット送信部３０４、障害検知部３０５、障害通知部３０６を有している。
【００９０】
有線送受信部３０１、パケット受信部３０２、下り経路テーブル３０３、パケット送信部３０４については、第１の実施形態とほぼ同様のものであるので詳しい説明を省略する。
【００９１】
障害検知部３０５は、各シンクノード２０の障害を検知するものである。障害検知部３０５による障害検知処理については、後述する動作説明において詳述する。
【００９２】
障害通知部３０６は、シンクノードに障害が発生したことを無線ノード１０Ａに通知するための制御パケット（以下、「障害通知パケット」という）を生成して、パケット送信部３０４を介して送信する。
【００９３】
（Ｂ−２）第２の実施形態の動作
無線通信システム１Ａの動作例を説明するにあたって、まず、無線通信システム１Ａの状態が、図９に示す状態であるものとする。
【００９４】
そして、図９の状態で、ゲートウェイ３０Ａは、障害検知部３０５を用いて、定期的に各シンクノード２０が正常に動作しているかどうかを判定する。この判定の方法としては、例えば、シンクノード２０がゲートウェイ３０Ａに対して定期的に生存信号を送信する方法や、ゲートウェイ３０Ａがシンクノード２０に定期的にポーリンクをかける方法を用いても良い。また、シンクノード２０とゲートウェイ３０Ａとの間でも同様にＨｅｌｌｏパケットの授受が行われている場合には、シンクノード２０からＨｅｌｌｏパケットが所定以上の期間送信されない場合に障害を検知するようにしても良い。
【００９５】
そして、図９の状態で、ゲートウェイ３０Ａにおいてシンクノード２０−Ｓ３の正常動作が確認できなくなったものとする。この時、ゲートウェイ３０Ａは、シンクノード２０−Ｓ３が障害により停止している事を各無線ノード１０Ａに通知するために、障害通知部３０６を用いて、他のシンクノード２０（２０−Ｓ１、２０−Ｓ２、２０−Ｓ４、２０−Ｓ５）に対して障害通知パケットをブロードキャストで送信する。この障害通知パケットには障害が発生しているシンクノード２０−３の情報（例えば、アドレス情報やドメイン名塔）が含まれている。
【００９６】
この障害通知パケットはシンクノード２０（２０−Ｓ１、２０−Ｓ２、２０−Ｓ４、２０−Ｓ５）から各無線ノード１０Ａのフラッディングにより中継され、シンクノード２０−Ｓ３に接続していた無線ノード１０Ａにも中継される。
【００９７】
図１１では、障害通知パケットが障害が発生したシンクノード２０−Ｓ３を除く他のシンクノード２０（２０−Ｓ１、２０−Ｓ２、２０−Ｓ４、２０−Ｓ５）から、各無線ノード１０Ａに中継送信される様子について示している。図１１では、各ノード間の矢印の向きがフラッディングにより中継された障害通知パケットの流れる方向を示している。
【００９８】
次に、障害通知パケットを受信した各無線ノード１０Ａの動作について説明する。
【００９９】
図１２は、各無線ノード１０Ａの動作について示したフローチャートである。
【０１００】
無線ノード１０Ａは、障害通知パケットを受信すると（Ｓ１０１）、受信した障害通知パケットに記載されているシンクノード２０の情報を参照し、自身が接続しているシンクノード２０か否かを判定する（Ｓ１０２）。
【０１０１】
上述のステップＳ１０２の判定において、当該無線ノード１０Ａが、障害が発生したシンクノード２０と接続している場合には、後述するステップＳ１０３から動作し、そうでない場合には、その障害通知パケットの処理を終了する。
【０１０２】
上述のステップＳ１０２の判定において、当該無線ノード１０Ａが、障害が発生したシンクノード２０を経由している場合、親ノードの設定情報をリセットする（Ｓ１０３）。これにより、当該無線ノード１０Ａにおいて、登録しているシンクノード２０が障害状態であるにもかかわらず、データを中継してしまうことを回避することができる。
【０１０３】
次に、当該無線ノード１０Ａでは、自身の隣接ノードテーブル１０６を参照し、隣接ノードの中に障害が発生したシンクノード２０とは異なるシンクノード２０に接続している無線ノード１０Ａがあるかどうかを判定する。（Ｓ１０４）
上述のステップＳ１０４の判定において、障害が発生したシンクノード２０とは異なるシンクノード２０の情報を検出した場合、無線ノード１０Ａは、後述するステップＳ１０５の処理から動作し、そうでない場合には無線ノード１０Ａは、後述するステップＳ１０７の処理から動作する。
【０１０４】
上述のステップＳ１０４の判定において、障害が発生したシンクノード２０とは異なるシンクノード２０の情報を検出した場合、その中から最もパスコストが低い無線ノード１０Ａ（又はシンクノード２０）を新たな親ノードとして選択し（Ｓ１０５）、新たに経由するシンクノード２０の情報も記載してＨｅｌｌｏパケットを送信し（Ｓ１０６）、ステップＳ１０７の状態（他無線ノード１０ＡからのＨｅｌｌｏパケット受信待機状態）となる。
【０１０５】
一方、上述のステップＳ１０４の判定において、障害が発生したシンクノード２０とは異なるシンクノード２０の情報を検出しなかった場合は、ステップＳ１０７の状態（他無線ノード１０ＡからのＨｅｌｌｏパケット受信待機状態）となる。
【０１０６】
上述のステップＳ１０７の状態（Ｈｅｌｌｏパケット受信待機状態）となった無線ノード１０Ａでは、上述のステップＳ１０６の処理を行った無線ノード１０ＡからのＨｅｌｌｏパケットを受信し、新たなシンクノード２０のパスコスト情報を獲得し、最もパスコストが低い無線ノード１０Ａ（又はシンクノード２０）を新たな親ノードとして選択する（Ｓ１０８）。
【０１０７】
そして上述のステップＳ１０８の処理により、新たな親ノード及び接続するシンクノード２０を選択した無線ノード１０Ａはその情報を記載したＨｅｌｌｏパケットを送信し（Ｓ１０９）、上述のステップＳ１０７の処理（Ｈｅｌｌｏパケット受信待機状態）に戻る。
【０１０８】
次に、各無線ノード１０Ａが、図１２のフローチャートに示す処理を行った場合の、無線通信システム１Ａ全体の動作について図１３を用いて説明する。
【０１０９】
図１３では、領域Ａ１の範囲内の無線ノード１０Ａが、接続するシンクノード２０としてシンクノード２０−Ｓ３を登録しており、上述のステップＳ１０２において、「当該無線ノード１０Ａが、障害が発生したシンクノード２０と接続している」と判定される。
【０１１０】
そして、領域Ａ１内で、領域Ａ２を除く領域の無線ノード１０Ａでは、障害が発生したシンクノード２０−Ｓ３以外のシンクノード２０と接続している無線ノード１０Ａ（すなわち、領域Ａ１の外側の無線ノード１０Ａ）と、直接無線通信することが可能である。したがって、領域Ａ１内で、領域Ａ２を除く領域の無線ノード１０Ａでは、上述のステップＳ１０４において、「障害が発生したシンクノード２０とは異なるシンクノード２０の情報を検出した」と判定されることになり、ステップＳ１０５で新たに検出したシンクノード２０のいずれかを接続先として選択し、ステップＳ１０６によりその情報を記載したＨｅｌｌｏパケットを隣接ノードに送信する。
【０１１１】
一方、領域Ａ２内の無線ノード１０Ａでは、領域Ａ１の外側の無線ノード１０Ａと直接通信することができないので、上述のステップＳ１０４において、「障害が発生したシンクノード２０とは異なるシンクノード２０の情報を検出できない」と判定されることになり、他無線ノード１０ＡからのＨｅｌｌｏパケット受信待機状態（ステップＳ１０７の状態）となる。しかし、領域Ａ２内の無線ノード１０Ａでは、上述の領域Ａ１内で、領域Ａ２を除く領域の無線ノード１０Ａからの、上述のステップＳ１０６により送信されたＨｅｌｌｏパケットを受信し、上述のステップＳ１０８の処理により新たなシンクノード２０のパスコスト情報を獲得し、新たな経路を選択することができる。
【０１１２】
図１３では、領域Ａ１内では２段回のＨｅｌｌｏパケットの送信で、全ての無線ノード１０Ａが新たな経路を選択することができる。そして、仮に、領域Ａ１がさらに広く、より多数の無線ノード１０Ａが配置されている場合でも、上述のステップＳ１０８で新たに経路選択した無線ノード１０Ａが、上述のステップＳ１０９の処理によりさらに隣接ノードにＨｅｌｌｏパケットを送信することにより、領域Ａ１内の無線ノード１０Ａでは、新たな経路選択をすることができる。
【０１１３】
そして、最終的には、領域Ａ１内の全ての無線ノード１０Ａが、新たな経路を選択し、他無線ノード１０ＡからのＨｅｌｌｏパケット受信待機状態（ステップＳ１０７の状態）に収束する。
【０１１４】
図１４は、図１３の状態から、全ての無線ノード１０Ａで上述の図１２に示すフローチャートの処理が行われ、領域Ａ１内の全ての無線ノード１０Ａが、新たな経路を選択し、上述のステップＳ１０７の状態に収束した状態について示している。
【０１１５】
そして、図１４の状態で、シンクノード２０−Ｓ３が復旧後には、シンクノード２０−Ｓ３から、よりパスコストの低いＨｅｌｌｏパケットが伝搬されるため、周辺の無線ノード１０Ａ（領域Ａ１内の無線ノード１０Ａ）は自律的に経路の変更を行い、再びシンクノード２０−Ｓ３へと接続され、図９の状態に戻ることになる。
【０１１６】
なお、各無線ノード１０Ａにおいて、上述のステップＳ１０７の待機状態を終了するタイミングについては限定されないものであり、例えば、上限の時間を設けて終了するようにしても良いし、新たな経路を選択したら、次の受信待機は行わないようにしても良い。また、各無線ノード１０Ａにおいて、ステップＳ１０７の待機状態の終了処理を特に行わないようにしても良い。
【０１１７】
（Ｂ−３）第２の実施形態の効果
第２の実施形態では、第１の実施形態の効果に加えて、以下のような効果を奏することができる。
【０１１８】
無線通信システム１Ａでは、ゲートウェイ３０Ａが、シンクノード２０の障害を検知し、障害通知パケットを、各無線ノード１０Ａに通知することにより、無線ノード１０Ａで自身が接続しているシンクノード２０に障害が発生したことを即座に検出することが可能となり、無線ノード１０Ａが自律的に接続する親ノードを切替えることで、経路をより迅速に切替えることが可能となる。
【０１１９】
（Ｃ）第３の実施形態
以下、本発明による無線通信システム及びノードの第３の実施形態を、図面を参照しながら詳述する。なお、以下の説明では、本発明の第１〜第３のノードを、それぞれ、ゲートウェイ、シンクノード、無線ノードに適用した例について説明している。
【０１２０】
（Ｃ−１）第３の実施形態の構成
第３の実施形態の無線通信システム１Ｂは、第２の実施形態の無線通信システム１Ａの無線ノード１０Ａが無線ノード１０Ｂに置き換わっただけである。
【０１２１】
以下、第２の実施形態の無線通信システム１Ｂについて、第２の実施形態との差異を説明する。
【０１２２】
図１５は、第３の実施形態の無線ノード１０Ｂの機能的構成について示したブロック図である。
【０１２３】
第３の実施形態の無線ノード１０Ｂは、第２の実施形態の無線ノード１０Ａに、制御情報保持部１１１を追加したものである。
【０１２４】
制御情報保持部１１１は、制御情報生成部１０８とパケット送信部１０９の間に配置されており、新たな経路を選択した際に制御情報生成部１０８で生成された、ゲートウェイ３０Ａ（又は、切替え後のシンクノード２０）へ下り経路を通知するパケット（例えば、ＲＲＥＣパケット）を所定の時間だけバッファで保持し、所定の時間経過後に、パケット送信部１０９に与える。保持する所定の時間の長さは限定されないものであるが、例えば、一定時間としても良い。
【０１２５】
なお、ここでは、第３の実施形態の無線通信システム１Ｂは、第２の実施形態の無線通信システム１Ａの無線ノード１０Ａを無線ノード１０Ｂに置き換えたものとして説明するが、第１の実施形態の無線通信システム１の無線ノード１０を無線ノード１０Ｂに置き換えることにより構成するようにしても良い。
【０１２６】
（Ｃ−２）第３の実施形態の動作
次に、以上のような構成を有する第３の実施形態の無線通信システム１Ｂの動作を説明する。
【０１２７】
図１６は、無線ノード１０ＢによるＨｅｌｌｏパケットを生成して送信する動作について示した説明図である。
【０１２８】
まず、図１２にある第２の実施例の無線ノード１０Ｂの動作フロー等により、ある無線ノード１０Ｂが、新たな経路を選択して経路を切替え、切替え後の管理情報を挿入したＨｅｌｌｏパケットを送信したものとする。（Ｓ２０１）
次に、無線ノード１０Ｂは自身が新たな経路を選択したことをゲートウェイ３０Ａ（又は、シンクノード２０）に通知するために、制御情報生成部１０８を用いてＲＲＥＣパケットを生成し、制御情報保持部１１１が保持する（Ｓ２０２）
この時、当該無線ノード１０Ｂでは、隣接ノードから送信されるＨｅｌｌｏパケットの情報を参照することで、自身が親ノードとして選択されたどうかを判定する（Ｓ２０３）。
【０１２９】
そして、上述のステップＳ２０３において、当該無線ノード１０Ｂが、どの隣接ノードからも親ノードとして選択されなかったと判定された場合には、制御情報保持部１１１は即座に、保持しているＲＲＥＣパケットを、パケット送信部１０９に与えて送信する（Ｓ２０４）。
【０１３０】
一方、上述のステップＳ２０３において、当該無線ノード１０Ｂが、いずれかの隣接ノードから、親ノードとして選択されたと判定された場合、いずれ子ノードとなった隣接ノードからＲＲＥＣが送信されることが想定されるため、制御情報保持部１１１では、保持したＲＲＥＣパケットを即時に送信せず、所定時間だけ保持したまま待機する（Ｓ２０５）。この待機時間は、例えば、一定の時間としても良いが、切り替え前のシンクノードまでのホップ数に応じてその時間を決定してもよい。例えば、切替え前のシンクノードからのホップ数が多い無線ノード１０Ｂほどこの規定時間を長くする。これにより、切り替え後のシンクノード２０からのホップ数が多い無線ノード１０Ｂほど早いタイミングでＲＲＥＣパケットを送信することとなる。
【０１３１】
そして、当該無線ノード１０Ｂは、上述のステップＳ２０５の待機が終了した後、自身が子ノードからのＲＲＥＣを中継したかどうかを判定する（Ｓ２０６）。
【０１３２】
上述のステップＳ２０６において、当該無線ノード１０Ｂが、子ノードからのＲＲＥＣパケットを中継したと判定した場合には、既に自身の接続状態がゲートウェイ３０Ａ（又は、切替え後のシンクノード２０）へ通知されているため、自身からのＲＲＥＣパケットの送信を中止し、制御情報保持部１１１が保持していたＲＲＥＣパケットを廃棄する（Ｓ２０７）。
【０１３３】
一方、上述のステップＳ２０６において、当該無線ノード１０Ｂが、子ノードからのＲＲＥＣを中継していないと判定した場合には、自身の接続状態をゲートウェイ３０Ａ（又は、切替え後のシンクノード２０）に通知するために、制御情報保持部１１１が保持していたＲＲＥＣパケットを、パケット送信部１０９に与えて送信する（Ｓ２０４）。
【０１３４】
以上の動作により、接続するシンクノード２０を切替えた無線ノード１０Ｂのうち、自身が親ノードとして選択されていない無線ノード１０Ｂ（言い換えると、シンクノード２０から見て論理的に末端となる無線ノード１０Ｂ）からのみＲＲＥＣパケットを送信することになり、接続するシンクノード２０を切替えた全ての無線ノード１０ＢからＲＲＥＣパケットを送信するのと比べて、ＲＲＥＣパケットの送信数が低減する。
【０１３５】
（Ｃ−３）第３の実施形態の効果
第３の実施形態によれば、第１、第２の実施形態の効果に加えて、以下のような効果を奏することができる。
【０１３６】
各無線ノード１０Ｂで、自身が親ノードでないと判定した場合には即座にＲＲＥＣパケット送信を行い、そうでない場合には、所定時間作成したＲＲＥＣパケットを保持することにより、各無線ノード１０Ｂからシンクノード２０へ、接続状態を通知するためのＲＲＥＣパケットの送信数を低減することで、システム全体のトラフィックの総量及び、シンクノード２０でのトラフィック集中を回避することができる。
【０１３７】
（Ｄ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１３８】
（Ｄ−１）上記の各実施形態では、シンクノードとゲートウェイとの間は有線通信ネットワークにより接続されていると説明したが、無線通信により接続するようにしても良い。
【０１３９】
（Ｄ−２）上記の各実施形態において、無線ノードは、センサデータを作製して送信するセンサノードであるものとして説明したが、無線ノードはセンサノードに限定されず、ゲートウェイを経由してサーバ装置に接続するクライアント端末等、その他の無線通信装置であっても良い。
【符号の説明】
【０１４０】
１…無線通信システム、１０、１０−ａ〜１０−ｍ…無線ノード、１０１…アンテナ、１０２…増幅器、１０３…無線送受信部、１０４…パケット受信部、１０５…中継処理部、１０６…隣接ノードテーブル、１０７…センサデータ生成部、１０８…制御情報生成部、１０９…パケット送信部、２０、２０−Ｓ１、２０−Ｓ２…シンクノード、２０１…アンテナ、２０２…増幅器、２０３…無線送受信部、２０４…パケット受信部、２０５…中継処理部、２０６…隣接ノードテーブル、２０７…センサデータ生成部、２０８…制御情報生成部、２０９…パケット送信部、２１０…有線送受信部、３０…ゲートウェイ、３０１…有線送受信部、３０２…パケット受信部、３０３…下り経路テーブル、３０４…パケット送信部。
【図１】
2011205556.tif 000003
【図２】
2011205556.tif 000004
【図３】
2011205556.tif 000005
【図４】
2011205556.tif 000006
【図５】
2011205556.tif 000007
【図６】
2011205556.tif 000008
【図７】
2011205556.tif 000009
【図８】
2011205556.tif 000010
【図９】
2011205556.tif 000011
【図１０】
2011205556.tif 000012
【図１１】
2011205556.tif 000013
【図１２】
2011205556.tif 000014
【図１３】
2011205556.tif 000015
【図１４】
2011205556.tif 000016
【図１５】
2011205556.tif 000017
【図１６】
2011205556.tif 000018
【図１７】
2011205556.tif 000019