(57)【特許請求の範囲】
【請求項１】
マルチホップ無線通信を行うノードにおいて、
直接無線通信可能な近傍ノードと、制御情報を有する制御パケットを送受信する制御情報送受信手段と、
上記制御情報送受信手段による制御情報の送受信の状況に応じて、それぞれの近傍ノードとの間のリンクのリンクコスト値を算出するリンクコスト算出手段と、
対象ノードにパケット送信する際に上記対象ノードに到達するまでのパスコスト値を算出するパスコスト算出手段と、
上記対象ノードに到達するまでの経路上で、当該ノードの子ノードのそれぞれについて、下流ノード数を監視する下流ノード監視手段と、
上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、上記リンクコスト算出手段が算出したリンクコスト値及び、当該ノードによる下流ノードの収容能力に関する付加情報を含むリンクコスト情報を挿入するリンクコスト情報作成手段と、
上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、上記パスコスト算出手段が算出したパスコスト値に基づいたパスコスト情報を挿入するパスコスト情報作成手段と、
宛先のノードにデータを送信する際に、当該宛先のノードへ到達するまでのパスコストに応じて決定した経路の近傍ノードに、当該データを送信するデータ送信手段とを有し、
上記リンクコスト情報作成手段は、それぞれの子ノードの下流ノード数及び受信したリンクコスト情報の付加情報に応じて、上記リンクコスト情報作成手段が作成するリンクコスト情報に含まれる、それぞれの子ノードとのリンクコスト値を調節することにより、それぞれの子ノードの下流ノード数を調節し、
上記下流ノード監視手段は、当該ノードが近傍ノードから受信したパケットの内容を参照することにより、それぞれの子ノードの下流ノード数を把握する
ことを特徴とするノード。
【請求項２】
上記パスコスト情報作成手段は、それぞれの子ノード向けに異なるパスコスト情報を作成し、それぞれの子ノードの下流ノード数に応じて、それぞれの子ノード向けのパスコスト情報のうち当該ノードを対象とするパスコスト値を調節することにより、それぞれの子ノードの下流ノード数を調節することを特徴とする請求項１に記載のノード。
【請求項３】
マルチホップ無線通信を行う複数のノードを有する無線通信システムにおいて、当該無線通信システムを構成するノードの一部又は全部に、請求項１又は２に記載のノードを適用したことを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ノード及び無線通信システムに関し例えば、ノード間でマルチホップ無線通信を行う無線通信システムに適用し得る。
【背景技術】
【０００２】
ノード間でマルチホップ無線通信を行う無線通信システムにおけるルーティング処理としては従来、ＺｉｇＢｅｅ（登録商標）アライアンスにより標準化された非特許文献１の記載技術がある。
【０００３】
非特許文献１に記載されたルーティング方法では経路の始点ノードがＲＲＥＱ（ルートリクエスト）をフラッディングしネットワーク全体に送信し、経路の終点のノードがＲＲＥＰ（ルートリプライ）を始点ノードにユニキャスト送信することで、始点と終点間のノードの経路が形成される（非特許文献１の「３．６．３．５節」参照）。この時、ＲＲＥＱとＲＲＥＰの各フレームにはパスコストのフィールドがあり（非特許文献１の「３．４．１節、３．４．２節」参照）、始点と終点間の各リンクのリンクコスト（リンクの品質を示す値）を全て足し合わせた値がこのフィールドに記載されており、複数の経路の中で最も品質の良いもの（すなわち、パスコストの小さいもの）を選択できるようになっている。
【０００４】
この方式は任意の２ノード間の経路を作成可能であるが、シンクノードと複数のノード間の１対ｎの通信を考慮したＭａｎｙ  ｔｏ  Ｏｎｅ方式も非特許文献１に記載されており、Ｍａｎｙ  ｔｏ  Ｏｎｅ方式に置いてもシンクノードへの上り経路の作成はほとんど同様の手順である。このようにリンクコストを足し合わせた値の小さいものを最も良い経路として選択する方法が無線マルチホップネットワークのルーティングでは広く用いられている。
【０００５】
非特許文献１ではリンクコストの算出にＲＲＥＱコマンドを受信した際のＬＱＩ（Ｌｉｎｋ  Ｑｕａｌｉｔｙ  ｌｎｄｉｃａｔｏｒ）値などから算出するとしている。これ以外のより正確なリンクコストの算出方法として、ノードが定期的に制御パケット（Ｈｅｌｌｏパケット）を送信し、その制御パケットの受信率を実際に測定することでリンクコストを求める方法がある。この方法の場合には、直接通信可能な他のノード（以下、「近傍ノード」という）からのＨｅｌｌｏパケットの受信率を測定した結果を自身の送信するＨｅｌｌｏパケットに記載して近傍ノードに通知することで、送信したＨｅｌｌｏパケットが相手にどの程度送信できていたかも知ることができ、各リンクに対して双方向のリンク品質を知ることが可能になる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＺｉｇＢｅｅ  Ｓｔａｎｄａｒｄｓ  Ｏｒｇａｎｉｚａｔｉｏｎ編、「ＺｉｇＢｅｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ１７（ＺｉｇＢｅｅ  Ｄｏｃｕｍｅｎｔ  Ｏ５３４７４ｒ１７）」、[Online]，INTERNET，[２０１０年３月２０日検索]、＜http://www.zbsigj.org/download/085224r00ZB_MG-ZigBee-Specification-053474r17_Japanese_081209.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図７は、従来の無線マルチホップ通信を行う無線通信システムの構成例について示したブロック図である。
【０００８】
図７に示す無線通信システムには、８つのノードＮ−０〜Ｎ−７が配置されている。図７において、実線又は点線で結ばれたノード間は、直接通信可能なノードであり、ノード間を結ぶ実線又は点線に付された数字は、そのノード間のリンクコストを示している。例えば、ノードＮ−１とノードＮ−０との間のリンクコストは１であり、ノードＮ−３とノードＮ−１との間のリンクコストは１である。また、図７において、各ノードＮに付された数字は各ノードＮがノードＮ−０に到達するまでに要するパスコストを示している。例えば、ノードＮ−１におけるパスコスト値は１となっている。
【０００９】
非特許文献１の記載技術のようなルーティング方式では、始点のノードと終点のノードとをつなぐ経路を単体で見た時には、良い経路（パスコストの小さい経路）を選択可能であるが、例えば、図７の様な無線通信システムで、ノードＮ−１〜Ｎ−７のそれぞれが、ノードＮ−０にデータを送信するようなトラフィックを考えた場合に、ノードＮ−３からノードＮ−０への経路を形成する時には、経路としてはパスコストの小さいノードＮ−１を経由する経路の方が良くても、ノードＮ−１はノードＮ−４、Ｎ−５、Ｎ−６のデータを中継する必要があるのに対して、ノードＮ−２が中継するのはノードＮ−７の１台分であり、トラフィックの集中を回避するという観点から、ノードＮ−２を経由する経路を選択した方が良い場合がある。図７のような小規模な場合には大きな問題にはならないことが多いが、数百台規模のノードでネットワークを構築してデータ収集を行う場合にはこうしたトラフィックの集中が問題となる。また、ノードＮ−１の処理能力を上回るノードがノードＮ−１の下流に接続してしまう場合を回避することも重要となる。
【００１０】
そのため、特定のノードへの中継トラフィックの集中を抑制することができるノード及び無線通信システムが望まれている。
【課題を解決するための手段】
【００１１】
第１の本発明は、マルチホップ無線通信を行うノードにおいて、（１）直接無線通信可能な近傍ノードと、制御情報を有する制御パケットを送受信する制御情報送受信手段と、（２）上記制御情報送受信手段による制御情報の送受信の状況に応じて、それぞれの近傍ノードとの間のリンクのリンクコスト値を算出するリンクコスト算出手段と、（３）対象ノードにパケット送信する際に上記対象ノードに到達するまでのパスコスト値を算出するパスコスト算出手段と、（４）上記対象ノードに到達するまでの経路上で、当該ノードの子ノードのそれぞれについて、下流ノード数を監視する下流ノード監視手段と、（５）上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、上記リンクコスト算出手段が算出したリンクコスト値及び、当該ノードによる下流ノードの収容能力に関する付加情報を含むリンクコスト情報を挿入するリンクコスト情報作成手段と、（６）上記制御情報送受信手段が送信する制御情報を作成するものであって、作成する制御情報に、上記パスコスト算出手段が算出したパスコスト値に基づいたパスコスト情報を挿入するパスコスト情報作成手段と、（７）宛先のノードにデータを送信する際に、当該宛先のノードへ到達するまでのパスコストに応じて決定した経路の近傍ノードに、当該データを送信するデータ送信手段とを有し、（８）上記リンクコスト情報作成手段は、それぞれの子ノードの下流ノード数及び受信したリンクコスト情報の付加情報に応じて、上記リンクコスト情報作成手段が作成するリンクコスト情報に含まれる、それぞれの子ノードとのリンクコスト値を調節することにより、それぞれの子ノードの下流ノード数を調節し、（９）上記下流ノード監視手段は、当該ノードが近傍ノードから受信したパケットの内容を参照することにより、それぞれの子ノードの下流ノード数を把握することを特徴とする。
【００１２】
第２の本発明は、マルチホップ無線通信を行う複数のノードを有する無線通信システムにおいて、当該無線通信システムを構成するノードの一部又は全部に第１の本発明のノードを適用したことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、マルチホップ無線通信を行う無線通信システムにおいて、特定のノードへの中継トラフィックの集中を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係るノードの機能的構成について示したブロック図である。
【図２】第１の実施形態に係る無線通信システムの全体構成について示したブロック図である。
【図３】第１の実施形態に係る無線通信システムにおいてリンクコストが調整された状態について示した説明図である。
【図４】第２の実施形態に係る無線通信システムの全体構成について示したブロック図である。
【図５】第２の実施形態に係るノードの機能的構成について示したブロック図である。
【図６】第２の実施形態に係る無線通信システムにおいてパスコストが調整された状態について示した説明図である。
【図７】従来の無線通信システムの全体構成について示したブロック図である。
【発明を実施するための形態】
【００１５】
（Ａ）第１の実施形態
以下、本発明によるノード及び無線通信システムの第１の実施形態を、図面を参照しながら詳述する。
【００１６】
（Ａ−１）第１の実施形態の構成
図２は、第１の実施形態の無線通信システム１の全体構成について示したブロック図である。
【００１７】
図２に示すように、無線通信システム１には、８つのノード１０−０〜１０−７が配置されている。
【００１８】
図２では、例えば、ノード１０−１〜１０−７のそれぞれが、マルチホップ通信により、ノード１０−０にデータを送信する場合について図示している。
【００１９】
また、図２では、実線又は点線で結ばれたノード１０同士は、直接無線通信可能であることを示している。
【００２０】
次に、それぞれのノード１０の内部構成について説明する。
【００２１】
図１は、それぞれのノード１０の機能的構成について示したブロック図である。
【００２２】
ノード１０は、リンクコスト決定手段１１、リンクコストテーブル１２、下流ノード管理手段１３、ロードバランス決定手段１４、リンクコスト通知手段１５、パスコストテーブル１６、及びパスコスト通知手段１７を有している。
【００２３】
ノード１０は、例えば、無線通信を行うインタフェースと、通信処理やデータ処理を行うプロセッサとを有するノード（通信装置）に、図１に示す機能的構成を実現するための無線通信プログラムをインストールすることにより構築しても良い。
【００２４】
リンクコスト決定手段１１は、直接通信可能なノード１０（近傍ノード）からの制御パケット（例えば、Ｈｅｌｌｏパケット等）の受信状況（例えば、受信成功率や、その制御パケットを受信した際の電波受信強度等）に応じて、それぞれの近傍ノードからのパケット受信に対するリンクコスト値を計算し、対象のリンクに対する受信側のリンクコスト値としてリンクコストテーブル１２に保存する。また、近傍ノードのリンクコスト通知手段１５が送信するリンクコスト情報（詳細については後述する）を有するパケットを受信すると、そのリンクコスト情報に、自身からその近傍ノードに対する送信側のリンクコスト値が記載されていないかを確認し、記載されている場合は、対象のリンクの送信側のリンクコスト値としてリンクコストテーブル１２に保存する。
【００２５】
そして、リンクコスト決定手段１１は、ある近傍ノードについて、送信側リンクコスト値と受信側リンクコスト値の両方がわかっている場合は、その結果を総合的に判断したリンクコスト値を計算して、リンクコストテーブル１２に保存する。この計算方法は、限定されないものであるが、平均をとる方法や、悪いほうの値を採用する方法などを採用しても良い。リンクコスト決定手段１１でリンクコスト値を算出する方法は限定されないものであるが、例えば、Ｈｅｌｌｏパケットなどの制御パケットを定期的に送信する仕組みを用いる方法や、それ以外のデータパケットのＬＱＩなどを用いて簡易的に計算する方法がある。また、リンクコスト決定手段１１においてリンクコスト値の算出には、送信側リンクコスト値又は受信側リンクコスト値の一方のみを用いるようにしても良い。
【００２６】
リンクコストテーブル１２には、リンクコスト決定手段１１が決定したリンクコスト値等の情報を、対象となる近傍ノードごとに記憶する。リンクコストテーブル１２は、それぞれの近傍ノードのリンクについて、受信側リンクコスト値、送信側リンクコスト値、それらを合わせて決定したリンクコスト値がある。
【００２７】
なお、図２において、各ノード間を結ぶ点線又は実線に付された数字は、各ノード１０間において決定されたリンクコストを示している。また、図２では、点線又は実線により結ばれた２つのノード１０のそれぞれで算出されるリンクコストは同じであったものとして図示している。
【００２８】
パスコストテーブル１６は、近傍ノードから受信したパスコスト情報の内容を、その送信元の近傍ノードごとに記憶する。例えば、パスコストテーブル１６は、近傍ノードのアドレス等の識別情報と、受信したパスコスト情報を対応付けた組として保存するようにしても良い。
【００２９】
また、パスコストテーブル１６で記憶するパスコスト情報には、対象となるノード１０の情報（例えば、アドレス情報等の識別情報）及び、その対象となるノード１０までのパスコスト値の情報が含まれる。例えば、図２でノード１０−０とその他のノード１０の１対ｎの経路の場合には、事前にパスコストはノード１０−０に対するものであると決めておけば、パスコスト情報において「対象となるノードの情報」の記述を省略することができる。
【００３０】
また、パスコストテーブル１６や、リンクコストテーブル１２などは近傍ノードのアドレスに対する属性値の一つであるために、同じテーブルとしてまとめて管理するようにしても良い。パスコストテーブル１６では、こうした近傍ノードの情報は、既存の無線通信装置と同様に、ネイバーテーブルとしてまとめて管理するようにしても良い。
【００３１】
そして、ノード１０では、パスコストテーブル１６及びリンクコストテーブル１２の内容を利用して、パケット送信対象となるノード１０へパケット送信する際の経路選択を行う。例えば、ノード１０は、パスコストテーブル１６及びリンクコストテーブル１２の内容を参照して、パケット送信の対象となるノード１０までのパスコスト値が最も小さくなる経路を選択し、選択した経路上で、最初の転送先となるノード１０を親ノードとして選択する。
【００３２】
無線通信システム１では、各ノード１０で、ノード１０−０をパケット送信の対象とする経路選択を行って親ノードを決定していくことにより、結果として、図１に示すようなツリー型のネットワークが論理的に形成されることになる。
【００３３】
下流ノード管理手段１３は、当該ノード１０よりも下流に存在するノードを管理する。ここで下流ノードとは、当該ノード１０がパケットを中継する対象のノード１０のことを示し、例えば、図２の例において、ノード１０−０へのパケット送信時に、ノード１０−１が、ノード１０−４、１０−５、１０−６から送出されたパケットを中継する場合には、ノード１０−１の下流ノードは、ノード１０−１、ノード１０−４、１０−５、１０−６となる。そして、ノード１０−１の下流ノード管理手段１３において、当該ノード１０−１の下流ノードを把握する方法としては、ノード１０−４、１０−５、１０−６が、ノード１０−０にパケットを送る際にはノード１０−１は必ずパケットを中継するので、そのパケットの送信元ノードを下流ノードとして記録する。また、当該ノード１０−１に対して、データ送信等を行うパケットを送信してきたノード１０も下流ノードになる。
【００３４】
すなわち、図２の場合に、各ノード１０がノード１０−０にパケットを送信する場合はノード１０−０から見て全てのノードが下流ノードとなる。さらに、各下流ノードに対して、対象の下流ノードがどの近傍ノードの下流にいるかも記録しておく、例えばノード１０−０からみるとノード１０−６はどの程度下流（何ホップ下流）にいるかを知ることは困難であるが、当該ノード１０−０への送信が、ノード１０−１を経由したことは、パケットのヘッダ情報の内容等からノード１０−０で判断可能である。
【００３５】
下流ノード管理手段１３で、どのノード１０を経由して自身に送信されたかを記録しておくことにより、例えば、ノード１０−０では、ノード１０−６が下流に存在し、それは近傍ノード１０−１の下流であることがわかる。こうした管理はパケットのヘッダに宛先、送信元のアドレスが記載されていれば任意のパケットで行うことが可能である。しかし、ソースルーティングなどのルーティング方式を使用している場合には、中継時に経由する全てのノードをテーブルとして保持しているため、そのテーブルと合わせて１つのテーブルとして管理するようにしても良い。
【００３６】
上述のように、下流ノード管理手段１３では、対象となるノード１０ごとに、その対象となるノード１０への経路上で、当該ノード１０の直接無線通信可能な子ノードのそれぞれについて下流ノードの数を把握する。
【００３７】
なお、下流ノード管理手段１３では、所定時間パケットが発生しなかった下流ノードについては、その下流ノードに関する記録を消去するようにしても良い。また、下流ノード管理手段１３において、当該ノード１０を下流ノードに含めるようにしても良いし、含めないようにしてもよいが、この実施形態においては後者を採用するものとする。
【００３８】
さらに、当該ノード１０から見て、ある子ノードの下流に位置していた下流ノードが、別の子ノードの下流に接続を変更した場合には、当該ノード１０の下流ノード管理手段１３では、その下流ノードに関する従前の記録を消去し、最新に受信したパケットの情報に基づいて、別の子ノードの配下に属するものとして記録しなおすようにしても良い。
【００３９】
ロードバランス決定手段１４は、下流ノード管理手段１３の結果をもとに自身の近傍ノード（直接通信可能な子ノード）における下流ノード数を最適になるように調整を行うことを決定する。そして、その決定された内容は、リンクコスト通知手段１５の動作に反映される。
【００４０】
ロードバランス決定手段１４の調整の動作としては、各ノード１０の処理能力が同じと仮定した場合では、各近傍ノードを経由する下流ノードの数が同じになるように調整することが決定される。
【００４１】
例えば、図２では、ノード１０−３を除くと、ノード１０−０へのパケット送信時にノード１０−０の下流ノードはノード１０−１、１０−２、１０−４、１０−５、１０−６、１０−７であり、近傍ノードはノード１０−１、１０−２となる。
【００４２】
そして、ノード１０−１を経由する下流ノードは、ノード１０−１、１０−４、１０−５、１０−６であり、ノード１０−２を経由する下流ノードはノード１０−２、１０−７であるものとする。
【００４３】
この場合、ノード１０−０では、ノード１０−１の下流ノード数は「４」であり、ノード１０−２の下流ノード数は「２」と把握される。この場合、ノード１０−１の下流ノード数が多いため、これを減らすために、ノード１０−１とのリンクコストを多くなるように調整する必要があることをリンクコスト通知手段１５に通知する。
【００４４】
また、ノード１０−１の収容可能能力を上回っている場合（例えば、下流ノード数が所定の閾値を超える場合）にはノード１０−１を経由する下流ノードをこれ以上増やすことができないことを示す情報を、さらに通知するようにしても良い。
【００４５】
なお、ロードバランス決定手段１４は、ノード１０ごとの処理能力が異なる場合には、下流ノード数がその処理能力の応じた数になるように調整するようにしても良い。
【００４６】
リンクコスト通知手段１５は、リンクコストテーブル１２に記録されている情報を、リンクコスト情報として、制御パケット（例えば、Ｈｅｌｌｏパケット等）に挿入して近傍ノードに通知する。このときにロードバランス決定手段１４からの調整の通知があれば、それに応じて通知する。
【００４７】
例えば、ノード１０−０の近傍にノード１０−１、ノード１０−２が存在して、それぞれのリンクコストは「１」と「２」だった場合に、調整の必要が無ければ、ノード１０−１とのリンクコスト値は「１」であり、ノード１０−２とのリンクコスト値は「２」であるという情報を含むリンクコスト情報のパケットを、ノード１０−０は近傍ノードに送信する。この時に、ノード１０−０により、ノード１０−１を経由するノード数が多いためにノード１０−２を経由するノードを増やす場合には、各近傍ノードを経由する下流ノードの数に応じて、下流ノードを減らしたいノード１０とのリンクコスト値を大きくするように調整したリンクコスト情報を送信する。この時に、リンクコスト通知手段１５が通知するリンクコスト情報には、リンクコスト値の情報以外にも、収容の能力を上回っていることを示すような識別子を追記して送信するようにしても良い。これにより、経路として選択することを制限することや、パスコスト値の上限値を決めて、その値を付与し、パスコスト値の上限よりもパスコスト値が大きくなっているノードは経路に選択しないなどの動作を、各ノード１０にさせることで、下流ノード数が増えすぎることを防ぐようにしても良い。
【００４８】
このような単純な数値以外の情報もリンクコスト情報に含めることにより、リンクコスト値が足し合わさり伝播していく動作と同様に伝播させることができる。こうした方法をとると、末端のノード１０がどちらの経路を選択するかを決定する時に、より適切な選択ができる。
【００４９】
パスコスト通知手段１７は、当該ノード１０から、パケットの送信先の対象となるノード１０までのパスコスト値の情報を含むパスコスト情報を、制御パケット（例えば、Ｈｅｌｌｏパケット等）に挿入して、近傍ノードに通知する。パスコスト値の計算は、パスコストテーブル１６の内容から、当該ノード１０が親ノードとして選択したノード１０から通知されたパスコスト値に、その親ノードとのリンクコスト値を足し合わせた値となる。
【００５０】
よって、図２の例では、ノード１０−３がノード１０−０に対するパスコスト値を計算する場合には、ノード１０−１のパスコスト値「１」とノード１０−１とのリンクコスト値「１」を足し合わせて、パスコスト値「２」となるノード１０−１を経由するパスと、ノード１０−２のパスコスト値「２」とノード１０−２とのリンクコスト値「１」を足し合わせてパスコスト値「３」となるノード１０−２を経由するパスの２つがある。このような場合には、パスコスト値の小さいノード１０−１を経由するパスをノード１０−０のへのパスとして採用し、ノード１０−０への自身のパスコスト値は「２」となる。この時に、リンクコスト情報にノードの収容能力をオーバーしていることが示されている場合には経路としての選択から除外するようにしても良い。
【００５１】
以上のように、パスコスト通知手段１７は、パスコスト値を決定し、決定したパスコスト値の情報を含むパスコスト情報のパケットを、近傍ノードに送信する。ここで、この送信するパスコスト情報は個別に送信しても良いが、リンクコスト通知手段１５の送信するパケットと１つに合わせて送信することで、送信するパケット数を減らすようにしても良い。
【００５２】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態の無線通信システム１の動作を説明する。
【００５３】
まず、無線通信システム１の各ノード１０は、図２に示す状態であるものとする。
【００５４】
図２では、各ノードはＨｅｌｌｏパケットを送信し、互いのリンクコスト値は測定完了しており、ノード１０−０への経路選択もノード１０−３以外の全てのノード１０で終了している状態であるものとする。
【００５５】
また、ノード１０−０の下流ノード管理手段１３ではノード１０−１、１０−４、１０−５、１０−６がノード１０−１の下流に存在し、ノード１０−２、１０−７がノード１０−２の下流に存在することを受信した上りデータパケットから把握しているものとする。
【００５６】
ノード１０−３は、まずＨｅｌｌｏパケットを、近傍ノードであるノード１０−１、１０−２とやりとりし、リンクコスト決定手段１１、リンクコストテーブル１２、リンクコスト通知手段１５の動作で各リンクのリンクコスト値を算出する。
【００５７】
そして、ノード１０−３とノード１０−１の間のリンクコスト値は「１」であり、ノード１０−３とノード１０−２の間のリンクコスト値は「１」であったものとする。
【００５８】
次に、ノード１０−３では、パスコストテーブル１６、パスコスト通知手段１７の動作でノード１０−１、ノード１０−２のノード１０−０へのパスコスト値がそれぞれ、「１」、「２」と把握されたものとする。
【００５９】
その結果、ノード１０−３では、ノード１０−０への経路はノード１０−１経由ではパスコスト値「２」で送信でき。ノード１０−２経由ではパスコスト値「３」で送信できるために、ノード１０−１経由でノード１０−０に送信する経路を選択したものとする。
【００６０】
その後、にノード１０−３がデータをノード１０−０に送信すると、ノード１０−０の下流ノード管理手段１３にノード１０−３が追加される。
【００６１】
そして、ノード１０−１を経由する下流ノードはノード１０−１、１０−３、１０−４、１０−５、１０−６となり、ノード１０−２を経由する下流ノードはノード１０−２、１０−７となる。こうなるとロードバランス決定手段１４が下流ノード数の数が均等になるように調整しようと、リンクコスト通知手段１５の結果のノード１０−１のリンクコストの値を加算する。
【００６２】
図３は、ノード１０−０のリンクコスト通知手段１５によりリンクコストの調整が行われた後の無線通信システム１の状態を示した説明図である。
【００６３】
例として、ノード１０−０のリンクコスト通知手段１５では、ノード１０−１のリンクコスト値に、「５」を追加したとすると、図３のようにノード１０−１のパスコスト値が「６」となり、ノード１０−３では、ノード１０−１を経由するパスコスト値が「７」となる。そのため、ノード１０−３はノード１０−２を経由する経路に切り替える。
【００６４】
図３においては、例として、ノード１０−０のリンクコスト通知手段１５では、ノード１０−１のリンクコスト値に、「５」を追加する例について示したが、この追加する値は限定されないものである。ノード１０−０のリンクコスト通知手段１５では、図３のように予め設定された固定値をリンクコスト値に追加する値として設定するようにしても良いし、ノード１０−０の子ノード（ノード１０−１、１０−２）の下流ノード数の差分に応じた値を加算としても良い。また、ノード１０−０のリンクコスト通知手段１５では、ノード１０−１の下流ノード数と、ノード１０−２の下流ノード数が均等となるまで（若しくは差分が所定数以下となるまで）、ノード１０−１に対するリンクコスト値を順次加算していくようにしても良い。そして、ノード１０−０のロードバランス決定手段１４では、一度ノード１０−１のリンクコスト値を調節した後、今度は、ノード１０−１よりもノード１０−２の方が下流ノード数が多くなってしまった場合には、今度は逆にノード１０−２の下流ノード数を減らすようにリンクコスト値を調節する決定を行うようにしても良い。
【００６５】
以上の様に動作することで、無線通信システム１では、ノード１０−１の下流ノード数と、ノード１０−２の下流ノード数が均等化される方向に収束していく。
【００６６】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果を奏することができる。
【００６７】
無線通信システム１では、各ノード１０が、リンクコスト値を調整することで、特定のノード１０に中継トラフィックが集中することを抑制することができ、より最適な無線マルチホップネットワークを構成することができる。
【００６８】
（Ｂ）第２の実施形態
以下、本発明によるノード及び無線通信システムの第２の実施形態を、図面を参照しながら詳述する。
【００６９】
（Ｂ−１）第２の実施形態の構成
図４は、第２の実施形態の無線通信システム１Ａの全体構成について示したブロック図である。
【００７０】
第２の実施形態の無線通信システム１Ａは、第１の実施形態の無線通信システム１のノード１０が、ノード１０Ａに置き換わっただけである。以下、第２の実施形態の無線通信システム１Ａについて、第１の実施形態との差異を説明する。
【００７１】
図５は、第２の実施形態の無線ノード１０Ａの機能的構成について示したブロック図である。
【００７２】
第２の実施形態では、第１の実施形態のノード１０のリンクコスト通知手段１５、パスコスト通知手段１７が、それぞれ、リンクコスト通知手段１５Ａ、パスコスト通知手段１７Ａに置き換わっている。無線通信システム１Ａでは、パスコスト通知手段１７Ａが、ロードバランス決定手段１４の処理結果を反映したパスコスト情報を近傍ノードに通知する点で第１の実施形態と異なっているが、それ以外の構成について第１の実施形態と同様であるため、詳しい説明は省略する。なお、リンクコスト通知手段１５Ａでは、第１の実施形態と異なり、ロードバランス決定手段１４の処理結果が反映されず、リンクコストの調節は行われない。
【００７３】
パスコスト通知手段１７Ａは、当該ノード１０Ａから、パケット送信先の対象のノード１０Ａまでのパスコスト情報を、近傍ノードに通知する。パスコスト通知手段１７Ａが通知するパスコスト情報のパスコスト値は、パスコストテーブル１６の内容から、当該ノード１０が親ノードとして選択したノード１０から通知されたパスコスト情報のパスコスト値に、その親ノードとのリンクコスト値を足し合わせ、さらに、ロードバランス決定手段１４からの通知に基づいた値を足し合わせた値とする。
【００７４】
そして、パスコスト通知手段１７Ａは、決定したパスコスト値の情報を含むパスコスト情報のパケットを、近傍ノードに送信する。そのため、当該ノード１０Ａのパスコスト値は、送信する近傍ノードごとに異なった値を通知する必要がある。
【００７５】
第１の実施形態では、ノード１０−０は自身を対象とするパスコストが「０」であることをブロードキャストで送信できたが、第２の実施形態では、子ノードごとに通知するパスコスト情報の内容が異なるので、ユニキャストで個別に通知するようにしても良い。
【００７６】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態の無線通信システム１Ａの動作を説明する。
【００７７】
まず、無線通信システム１Ａの各ノード１０Ａは、図４に示す状態であるものとする。
【００７８】
図４では、各ノード１０ＡはＨｅｌｌｏパケットを送信し、互いのリンクコスト値は測定完了しており、ノード１０Ａ−０への経路選択もノード１０Ａ−３以外の全てのノード１０Ａで終了している状態であるものとする。
【００７９】
そして、ここでのノード１０Ａ−３の動作は、ノード１０Ａ−０への経路を、まずノード１０Ａ−１経由のものに決定するまでは、上述の第１の実施形態の動作説明と同様である。
【００８０】
そして、その後、ノード１０Ａ−３が、データをノード１０Ａ−０に送信するとノード１０Ａ−０の下流ノード管理手段１３にノード１０Ａ−３が追加される。
【００８１】
ノード１０Ａ−１を経由する下流ノードはノード１０Ａ−１、１０Ａ−３、１０Ａ−４、１０Ａ−５、１０Ａ−６であり、ノード１０Ａ−２を経由する下流ノードはノード１０Ａ−２、１０Ａ−７となる。こうなると、ノード１０Ａ−０のロードバランス決定手段１４が下流ノード数の数が均等になるように調整しようと、パスコスト通知手段１７Ａの決定したパスコスト値に所定の値を追加する。
【００８２】
図６は、ノード１０Ａ−０のパスコスト通知手段１７Ａによりパスコストの調整が行われた後の無線通信システム１Ａの状態を示した説明図である。
【００８３】
図６では、例として、ノード１０Ａ−０において、ノード１０Ａ−１を経由する下流ノードを減らそうと「５」を追加する場合には、ノード１０Ａ−１にはパスコスト値「５」を通知し、ノード１０Ａ−２には以前と変わらずパスコスト値「０」を通知する。すると、図６に示すようにノード１０Ａ−１のパスコスト値が「６」となり、ノード１０Ａ−３のノード１０Ａ−１を経由するパスコスト値が「７」となる。そのため、ノード１０Ａ−３はノード１０Ａ−２を経由する経路に切り替えることになる。
【００８４】
図６においては、例として、ノード１０Ａ−０のパスコスト通知手段１７Ａでは、ノード１０Ａ−１に通知するパスコスト値に「５」を追加する例について示したが、この追加する値は限定されないものである。ノード１０Ａ−０のパスコスト通知手段１７Ａでは、図６のように予め設定された固定値をパスコスト値に追加する値として設定するようにしても良いし、ノード１０Ａ−０の子ノード（ノード１０Ａ−１、１０Ａ−２）の下流ノード数の差分に応じた値を加算としても良い。また、ノード１０Ａ−０のパスコスト通知手段１７Ａでは、ノード１０Ａ−１の下流ノード数と、ノード１０Ａ−２の下流ノード数が均等となるまで（若しくは差分が所定数以下となるまで）、ノード１０Ａ−１に通知するパスコスト値を順次加算していくようにしても良い。そして、ノード１０Ａ−０のロードバランス決定手段１４では、一度ノード１０Ａ−１のパスコスト値を調節した後、今度は、ノード１０Ａ−１よりもノード１０Ａ−２の方が下流ノード数が多くなってしまった場合には、今度は逆にノード１０Ａ−２の下流ノード数を減らすように通知するパスコスト値を調節する決定を行うようにしても良い。
【００８５】
以上の様に動作することで、無線通信システム１Ａでは、ノード１０Ａ−１の下流ノード数と、ノード１０Ａ−２の下流ノード数が均等化される方向に収束していく。
【００８６】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、以下のような効果を奏することができる。
【００８７】
無線通信システム１では、各ノード１０Ａが、子ノードごとに通知するパスコスト値を調節することで、特定のノード１０Ａに中継トラフィックが集中することを抑制することができ、より最適な無線マルチホップネットワークを構成することができる。
【００８８】
（Ｃ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００８９】
（Ｃ−１）上記の各実施形態において、無線通信システムを構成するノードは全て本発明のノードであるものとして説明したが、一部だけ本発明ノードを適用し、その他のノードは本発明のノードとは異なる構成のノードを適用するようにしても良い。
【００９０】
例えば、中継トラフィックの集中が予想されるノードの親ノードとなるノードにだけ本発明のノードを適用するようにしても良い。例えば、図１の例では、ノード１０−０にだけ本発明のノードを適用し、その他のノード１０−１〜１０−７については、既存のノードを適用するようにしても良い。
【００９１】
（Ｃ−２）上記の各実施形態においては、無線通信システムを構成する各ノードのデータパケットの送信先については限定されないものとして説明したが、特定のノードをシンクノードとして、他のノードがシンクノードにデータ送信する構成としても良い。例えば、第１の実施形態において、ノード１０−０がシンクノードとして動作し、ノード１０−１〜１０−７がノード１０−０にセンサデータを送信するセンサノードとして構成するようにしても良い。
【符号の説明】
【００９２】
１…無線通信システム、１０、１０−０〜１０−７…ノード、１１…リンクコスト決定手段、１２…リンクコストテーブル、１３…下流ノード管理手段、１４…ロードバランス決定手段、１５…リンクコスト通知手段、１６…パスコストテーブル、１７…パスコスト通知手段。
【図１】
0005533168.tif 000002
【図２】
0005533168.tif 000003
【図３】
0005533168.tif 000004
【図４】
0005533168.tif 000005
【図５】
0005533168.tif 000006
【図６】
0005533168.tif 000007
【図７】
0005533168.tif 000008