(57)【要約】【課題】分散型の負荷バランスのルーティング方法及び装置を提供する。【解決手段】ゲートウェイは、ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、該ブロードキャストメッセージを送信するブロードキャスティング手段を含む。ノードは、複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトするグラフト手段を含む。該方法及び装置によれば、各ノードが自分のルーティングを設計することで、負荷バランスの向上を図ることができ、他のノードに比べてあるノードのトラヒック負荷が大きいこと（負荷不均衡）を回避できる。【選択図】図９
2014072896.tif 000002
【特許請求の範囲】
【請求項１】
ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、該ブロードキャストメッセージを送信するブロードキャスティング手段を含む、ゲートウェイ。
【請求項２】
ゲートウェイにより送信されたブロードキャストメッセージが受信された場合、自身の状態を標識済みの状態に変更し、前記ノードの自身の状態を含むブロードキャストメッセージを送信し、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて初期の生長空間を計算する初期化手段と、
複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトするグラフト手段と、を含む、ノード。
【請求項３】
前記グラフト手段は、
前記ノードの自身の状態及び生長空間を含むブロードキャストメッセージを送信する送信モジュールと、
未標識の隣接ノードから戻された応答メッセージを受信する受信モジュールと、
前記受信モジュールが複数の未標識の隣接ノードから戻された応答メッセージを受信した場合、各未標識のノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの未標識の隣接ノードを選択する選択モジュールと、
前記選択モジュールにより選択された未標識の隣接ノードが確認メッセージに基づいて自身の状態を標識済みの状態に変更するように、前記選択モジュールにより選択された未標識の隣接ノードへ前記確認メッセージを送信する確認モジュールと、を含む、請求項２に記載のノード。
【請求項４】
前記選択モジュールは、
前記複数の未標識の隣接ノードの負荷、生長空間及び／又はリンク品質を比較する比較サブモジュールと、
前記比較サブモジュールの比較結果に基づいて、負荷が最も大きい未標識の隣接ノードを選択し、負荷が最も大きい未標識の隣接ノードが複数ある場合、生長空間が最も大きい未標識の隣接ノードを選択し、生長空間が最も大きい未標識の隣接ノードが複数ある場合、リンク品質が最もよい未標識の隣接ノードを選択する選択サブモジュールと、を含む、請求項３に記載のノード。
【請求項５】
前記グラフト手段は、
前記受信モジュールが隣接ノードから送信された状態変更メッセージを受信した場合、未標識の隣接ノードの数を更新する更新モジュールと、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信するブロードキャスティングモジュールと、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、前記ノードの生長空間を再計算する計算モジュールと、をさらに含む、請求項３に記載のノード。
【請求項６】
前記グラフト手段は、
前記ノードが現在のラウンドで所定の数の未標識の隣接ノードをグラフトしているか否か、及び前記ノードの未標識の隣接ノードの数が０であるか否かを判断する判断モジュールをさらに含み、
前記送信モジュールは、前記判断モジュールの判断結果として所定の数の未標識の隣接ノードがグラフトされておらず、且つ前記ノードの未標識の隣接ノードの数が０ではない場合、現在のラウンドの次の周期において前記ブロードキャストメッセージを再送し、
前記所定の数は、１以上の整数である、請求項３に記載のノード。
【請求項７】
ノードの自身の状態を含むブロードキャストメッセージを送信し、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて初期の生長空間を計算する初期化手段と、
複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトするグラフト手段と、を含む、ノード。
【請求項８】
前記グラフト手段は、
標識済みの隣接ノードから送信されたブロードキャストメッセージを受信する受信モジュールであって、該ブロードキャストメッセージが前記標識済みの隣接ノードの自身の負荷及び生長空間を含む、受信モジュールと、
前記受信モジュールが複数の標識済みの隣接ノードから送信されたブロードキャストメッセージを受信した場合、各標識済みのノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの標識済みの隣接ノードを選択する選択モジュールと、
前記選択モジュールにより選択された標識済みの隣接ノードに応答メッセージを送信する送信モジュールと、
前記選択モジュールにより選択された標識済みの隣接ノードから送信された確認メッセージが受信された場合、自身の状態を標識済みの状態に変更し、前記送信モジュールにより全ての隣接ノードに状態変更メッセージを送信する処理モジュールと、を含む、請求項７に記載のノード。
【請求項９】
前記選択モジュールは、
前記複数の標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質を比較する比較サブモジュールと、
前記比較サブモジュールの比較結果に基づいて、負荷が最も小さい標識済みの隣接ノードを選択し、負荷が最も小さい標識済みの隣接ノードが複数ある場合、生長空間が最も小さい標識済みの隣接ノードを選択し、生長空間が最も小さい標識済みの隣接ノードが複数ある場合、リンク品質が最もよい標識済みの隣接ノードを選択する選択サブモジュールと、を含む、請求項８に記載のノード。
【請求項１０】
前記グラフト手段は、
前記受信モジュールが隣接ノードから送信された状態変更メッセージを受信した場合、未標識の隣接ノードの数を更新する更新モジュールと、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信するブロードキャスティングモジュールと、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、前記ノードの生長空間を再計算する計算モジュールと、をさらに含む、請求項８に記載のノード。
【請求項１１】
ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ前記未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの未標識の状態を含む前記ブロードキャストメッセージを送信するブロードキャスティング手段を含む、ノード。
【請求項１２】
ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、ゲートウェイにより該ブロードキャストメッセージを送信する、分散型の負荷バランスのルーティング方法。
【請求項１３】
ゲートウェイにより送信されたブロードキャストメッセージが受信された場合、自身の状態を標識済みの状態に変更し、
自身の状態を含むブロードキャストメッセージを送信し、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算し、
前記未標識の隣接ノードの数をブロードキャスティングし、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算し、
複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトする、分散型の負荷バランスのルーティング方法。
【請求項１４】
１つの未標識の隣接ノードを選択してグラフトするステップにおいて、
前記ノードの自身の状態及び生長空間を含むブロードキャストメッセージを送信し、
複数の未標識の隣接ノードから戻された応答メッセージが受信された場合、各未標識のノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの未標識の隣接ノードを選択し、
前記選択された未標識の隣接ノードが確認メッセージに基づいて自身の状態を標識済みの状態に変更するように、前記選択された未標識の隣接ノードへ前記確認メッセージを送信する、請求項１３に記載の分散型の負荷バランスのルーティング方法。
【請求項１５】
１つの未標識の隣接ノードを選択するステップにおいて、
前記複数の未標識の隣接ノードの負荷、生長空間及び／又はリンク品質を比較し、
比較結果に基づいて、負荷が最も大きい未標識の隣接ノードを選択し、負荷が最も大きい未標識の隣接ノードが複数ある場合、生長空間が最も大きい未標識の隣接ノードを選択し、生長空間が最も大きい未標識の隣接ノードが複数ある場合、リンク品質が最もよい未標識の隣接ノードを選択する、請求項１４に記載の分散型の負荷バランスのルーティング方法。
【請求項１６】
隣接ノードから送信された状態変更メッセージが受信された場合、未標識の隣接ノードの数を更新し、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信し、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、生長空間を再計算する、請求項１４に記載の分散型の負荷バランスのルーティング方法。
【請求項１７】
ノードが現在のラウンドで所定の数の未標識の隣接ノードをグラフトしているか否か、及び前記ノードの未標識の隣接ノードの数が０であるか否かを判断し、
判断結果として所定の数の未標識の隣接ノードがグラフトされておらず、且つ前記ノードの未標識の隣接ノードの数が０ではない場合、現在のラウンドの次の周期において前記ブロードキャストメッセージを再送する、請求項１４に記載の分散型の負荷バランスのルーティング方法。
【請求項１８】
ノードの自身の状態を含むブロードキャストメッセージを送信し、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算し、
前記未標識の隣接ノードの数をブロードキャスティングし、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算し、
複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、
該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトする、分散型の負荷バランスのルーティング方法。
【請求項１９】
１つの標識済みの隣接ノードを選択して、該１つの標識済みの隣接ノードに該ノードをグラフトするステップにおいて、
複数の標識済みの隣接ノードから送信された、該標識済みの隣接ノードの自身の負荷及び生長空間を含むブロードキャストメッセージが受信された場合、各標識済みのノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの標識済みの隣接ノードを選択し、
前記選択された標識済みの隣接ノードに応答メッセージを送信し、
前記選択された標識済みの隣接ノードから送信された確認メッセージが受信された場合、自身の状態を標識済みの状態に変更し、全ての隣接ノードに状態変更メッセージを送信する、請求項１８に記載の分散型の負荷バランスのルーティング方法。
【請求項２０】
１つの標識済みの隣接ノードを選択するステップにおいて、
前記複数の標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質を比較し、
比較結果に基づいて、負荷が最も小さい標識済みの隣接ノードを選択し、負荷が最も小さい標識済みの隣接ノードが複数ある場合、生長空間が最も小さい標識済みの隣接ノードを選択し、生長空間が最も小さい標識済みの隣接ノードが複数ある場合、リンク品質が最もよい標識済みの隣接ノードを選択する、請求項１９に記載の分散型の負荷バランスのルーティング方法。
【請求項２１】
隣接ノードから送信された状態変更メッセージが受信された場合、未標識の隣接ノードの数を更新し、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信し、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、生長空間を再計算する、請求項１９に記載の分散型の負荷バランスのルーティング方法。
【請求項２２】
ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ前記未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの自身の未標識の状態を含む前記ブロードキャストメッセージを送信する、分散型の負荷バランスのルーティング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術に関し、特に分散型の負荷バランスのルーティング方法及び装置に関する。
【背景技術】
【０００２】
ａｄ−ｈｏｃ（アドホック）ネットワーク及び無線センサネットワークでは、不均衡の負荷分布がエネルギー消費の不均衡をもたらしている。図１に示すように、マルチホップネットワーク（ｍｕｌｔｉｈｏｐ  ｎｅｔｗｏｒｋ）においては、各ノードに各種の情報、例えば全てのノードのアドレス等を記憶する必要があるため、記憶容量の負担を増加させる。また、ノードがゲートウェイに近いほど、そのトラヒック負荷の負担が重くなり、記憶容量の負担も重くなる。よって、ａｄ−ｈｏｃネットワーク及び無線センサネットワーク等のマルチホップネットワークには、負荷バランスの技術が非常に重要である。
【０００３】
図２ａに示すように、ゲートウェイ（ＧＷ）２１は２つの枝路を有し、そのうち１つの枝路は１つの１ホップノード（ｏｎｅ  ｈｏｐ  ｎｏｄｅ）２１１以外に他の６つのノードを含み、もう１つの枝路は１つの１ホップノード２１２以外に他の４つのノードを含むため、負荷の不均衡が生じてしまう。負荷バランスの技術により、図２ｂに示される効果、即ち１ホップノード２１１及び１ホップノード２１２それぞれには他の５つのノードが接続されることを実現できる。
【０００４】
負荷均衡技術として、ノード中心型負荷均衡アルゴリズム（参考文献「A Node-Centric Load Balancing Algorithm for Wireless Sensor Networks」、Hui Dai, Richard Han）というアルゴリズムが提供されている。このアルゴリズムは、基地局の根ノードから外へ負荷均衡木を繰り返し生長させる。しかし、ノード中心型負荷均衡アルゴリズムは集中型のものである、即ち負荷均衡路がゲートウェイにより構成される必要があるため、非常に多い通信オーバヘッドを招いてしまい、ａｄ−ｈｏｃネットワーク及び無線センサネットワーク等のマルチホップネットワークが有限のエネルギーを有する特徴に背反している。
【０００５】
なお、上述した技術背景の説明は、本発明の技術案を明確、完全に理解させるための説明であり、当業者を理解させるために記述されているものである。これらの技術案は、単なる本発明の背景技術部分として説明されたものであり、当業者により公知されたものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施例は、負荷バランスを実現できる分散型の負荷バランスのルーティング方法及び装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の実施例の第１の態様によれば、ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、該ブロードキャストメッセージを送信するブロードキャスティング手段を含む、ゲートウェイを提供する。
【０００８】
本発明の実施例の第２の態様によれば、ゲートウェイにより送信されたブロードキャストメッセージが受信された場合、自身の状態を標識済みの状態に変更し、前記ノードの自身の状態を含むブロードキャストメッセージを送信し、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて初期の生長空間を計算する初期化手段と、複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトするグラフト手段と、を含む、ノードを提供する。
【０００９】
本発明の実施例の第３の態様によれば、ノードの自身の状態を含むブロードキャストメッセージを送信し、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて初期の生長空間を計算する初期化手段と、複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトするグラフト手段と、を含む、ノードを提供する。
【００１０】
本発明の実施例の第４の態様によれば、ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ前記未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの未標識の状態を含む前記ブロードキャストメッセージを送信するブロードキャスティング手段を含む、ノードを提供する。
【００１１】
本発明の実施例の第５の態様によれば、ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、ゲートウェイにより該ブロードキャストメッセージを送信する、分散型の負荷バランスのルーティング方法を提供する。
【００１２】
本発明の実施例の第６の態様によれば、ゲートウェイにより送信されたブロードキャストメッセージが受信された場合、自身の状態を標識済みの状態に変更し、自身の状態を含むブロードキャストメッセージを送信し、受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算し、複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトする、分散型の負荷バランスのルーティング方法を提供する。
【００１３】
本発明の実施例の第７の態様によれば、ノードの自身の状態を含むブロードキャストメッセージを送信し、受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算し、複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトする、分散型の負荷バランスのルーティング方法を提供する。
【００１４】
本発明の実施例の第８の態様によれば、ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ前記未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの自身の未標識の状態を含む前記ブロードキャストメッセージを送信する、分散型の負荷バランスのルーティング方法を提供する。
【発明の効果】
【００１５】
本発明の実施例によれば、各ノードが自分のルーティングを設計することで、負荷バランスの向上を図ることができ、他のノードに比べてあるノードのトラヒック負荷が大きいこと（負荷不均衡）を回避できる。
【００１６】
本発明の特定の実施形態は、後述の説明及び図面に示すように、詳細に開示され、本発明の原理を採用されることが可能な方式を示している。なお、本発明の実施形態は、範囲上には限定されるものではない。本発明の実施形態は、添付されている特許請求の範囲の主旨及び内容の範囲内、各種の改変、修正、及び同等的なものが含まれる。
【００１７】
ある一つの実施形態に説明及び又は示されている特徴は、同一又は類似の方式で一つ又は多くの他の実施形態に使用されてもよく、他の実施形態における特徴と組み合わせてもよく、他の実施形態における特徴を代替してもよい。
【００１８】
なお、用語「包括／含む」は、本文に使用される際に、特徴、要素、ステップ又は構成要件の存在を意味し、一つ又は複数の他の特徴、要素、ステップ又は構成要件の存在又は追加を排除するものではない。
【図面の簡単な説明】
【００１９】
本発明は、図面を参照しながら下記説明するものにより、よりよく理解できる。図面における素子は、比例に応じて描くものではなく、本発明の原理を示すものである。本発明のある部分を示すため、図面における対応部分が拡大又は縮小されてもよい。本発明のある図面又はある実施形態に記載された構成要件及び特徴は、一つ又は多くの他の図面又は実施形態に示された構成要件及び特徴と組み合わせてもよい。また、図面において、類似の符号は、いくつの図面における対応の部材を示してもよく、複数の実施形態に用いられる対応の部材を示してもよい。
【図１】マルチホップネットワークのツリー状トポロジーを示す図。
【図２】図２ａ及び図２ｂは、負荷バランス技術により負荷バランスを行うネットワークを示す図。
【図３】本発明の実施例に係るゲートウェイの構成を示す図。
【図４】本発明の実施例に係る標識済みのノードの構成を示す図。
【図５】初期化処理のフローチャート。
【図６】本発明の実施例に係る未標識のノードの構成を示す図。
【図７】本発明の実施例に係る新たに追加されたノードの構成を示す図。
【図８】ゲートウェイに用いられる本発明の実施例に係る分散型の負荷バランスのルーティング方法を示すフローチャート。
【図９】標識済みのノードに用いられる本発明の実施例に係る分散型の負荷バランスのルーティング方法を示すフローチャート。
【図１０】未標識のノードに用いられる本発明の実施例に係る分散型の負荷バランスのルーティング方法を示すフローチャート。
【図１１】新たに追加されたノードに用いられる本発明の実施例に係る分散型の負荷バランスのルーティング方法を示すフローチャート。
【図１２】図１２ａ及び図１２ｂは、本発明の実施例に係る方法及び装置のシミュレーション結果を示す図。
【発明を実施するための形態】
【００２０】
本発明の実施例は、図面及び下記の説明により理解できるものである。これらの実施形態は、単なる例示的なものであり、本発明を制限するものではない。当業者に本発明の原理及び実施形態をより簡単に理解させるため、本発明の実施例では、図１に示されるマルチホップのネットワークを例として説明しているが、本発明の実施例は図１に示されるマルチホップネットワークに限定されず、例えば、本発明の実施例により提供される方法及び装置はＡｄ−ｈｏｃネットワーク及びセンサネットワーク等にも適用されてもよい。
【００２１】
以下、本発明の実施例に係る方法及び装置をより分かるため、図１に示されるネットワークのポロジー模式図を参照しながら、本発明の実施例の適用環境及び関係用語を簡単に説明する。
【００２２】
図１に示すように、このマルチホップネットワークでは、１つの根ノード（ｒｏｏｔ  ｎｏｄｅ）（ゲートウェイ）と複数の葉ノード（ｌｅａｆ  ｎｏｄｅ）を含み、ゲートウェイに直接接続されている葉ノードを１ホップノード（ｏｎｅ  ｈｏｐ  ｎｏｄｅ）と称する。ここで、ゲートウェイへの経路が形成されていないノードは、未標識のノードと称され、その状態を未標識の状態と称するとともに、ゲートウェイへの経路が形成されたノードは、標識済みのノードと称され、その状態を標識済みの状態と称する。本実施例では、標識済みのノードがツリー状トポロジーの１つの枝路にあり、未標識のノードが１つの標識済みのノードにグラフト（ｇｒａｆｔｉｎｇ）される、即ちゲートウェイへの経路が形成されると、その状態は未標識の状態から標識済みの状態に変更される。
【００２３】
以下の説明では、「負荷」とは、行列におけるデータの長さ、データの予定送信時間の長さ等であり、「生長空間」とは、未標識の隣接ノードの未標識隣接ノードの数の和からパブリックリンク（ｐｕｂｌｉｃ  ｌｉｎｋ）の数を減らしたものであり、「パブリックリンク」とは、生長空間の未標識のノードとその未標識の隣接ノードとの間のリンクを計算したものである。ノードとある隣接ノードとのリンク品質は、該隣接ノードを受信するための信号強度、該隣接ノードと通信可能な平均送信遅延、平均送信回数などと定義されてもよい。
【００２４】
以下、図面を参照しながら、本発明の好適な実施態様を説明する。
【００２５】
＜実施例１＞
図３は、本発明の実施例に係るゲートウェイの構成を示す図である。図３に示すように、該ゲートウェイは、ブロードキャスティング部３１、受信部（図示せず）及び計算部（図示せず）を含む。
【００２６】
ブロードキャスティング部３１は、  ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、該ブロードキャストメッセージを送信する。
【００２７】
ここで、全ての１ホップノードがゲートウェイの隣接ノードであるため、ゲートウェイから送信されたブロードキャストメッセージを受信したノードは全て１ホップノードである。これらの１ホップノードは、ゲートウェイとは直接接続しているから、ゲートウェイへの経路が既に形成されている。よって、これらの１ホップノードは、該ブロードキャストメッセージを受信した場合、自身の状態を標識済みの状態に変更する。
【００２８】
ここで、１ホップノードが自身の状態の変更した場合、該マルチホップネットワークの全てのノードは、自身の状態をブロードキャスティングするとともに、受信された他のノードによりブロードキャスティングされたそれぞれの状態に基づいて、自身の未標識の隣接ノードの数を計算してブロードキャスティングし、その後、すべてのノードは、該マルチホップネットワークにおける全ての未標識のノードのゲートウェイへの経路を形成する、即ち１つの標識済みのノードにグラフトさせるように、自身の初期の生長空間を計算する。その内容は以下の実施例において詳細に説明する。
【００２９】
本発明の実施例に係るゲートウェイによれば、１ホップノードの状態が決定され、本発明の実施例の負荷バランスの基礎が定められる。
【００３０】
＜実施例２＞
本発明の実施例は、マルチホップネットワークにおけるノード（葉ノード）をさらに提供する。本実施例では、ルーティングプロセスにおける標識済みのノードの角度から、該標識済みのノードの構成及び機能を説明しているが、本実施例は、ここに例示されるものに限定されず、例えば、該ノードが元々有する構成及び機能も本発明の範囲に属する。
【００３１】
図４は、該ノードの構成を示す図。図４に示すように、該ノードは、グラフト部４１を含む。
【００３２】
グラフト部４１は、複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトする。
【００３３】
本実施例では、ルーティングプロセス全体を複数のラウンド（ｒｏｕｎｄ）に分割し、各ラウンドを複数の周期（ｐｅｒｉｏｄ）にさらに分割してもよく、各周期において、該ノードは、そのグラフト部４１により１つの未標識のノードを選択し、１つの標識済みのノードの未標識のノードにグラフトし、その状態を標識済みの状態に変更し、ブロードキャストメッセージをさらに送信することで、その隣接ノードそれぞれに未標識の隣接ノードの数を変更させて、生長空間及び／又は未標識の隣接ノードの数を再計算させる。
【００３４】
ここで、１つのラウンドの１つの周期において、標識済みのノードに所定数の未標識のノードがグラフトされていない場合、該ラウンドの次の周期に入り、該ノードがそのグラフト部４１により上記プロセスを実行し続けているが、その詳細はここに省略とされる。ここで、該所定数は１以上の整数であり、各ノードには同じ値の所定数を用いてもよいし、異なる値の所定数を用いてもよい。
【００３５】
なお、標識済みのノードは、１つのラウンドにおいて同じ数の未標識の隣接ノードをフラフトしてもよく、具体的なグラフトするノードの数は必要に応じて設定されてもよく、本実施例は特に限定されない。
【００３６】
一つの実施例では、該グラフト部４１は、送信モジュール４１１、受信モジュール４１２、選択モジュール４１３、及び確認モジュール４１４を含む。
【００３７】
送信モジュール４１１は、該ノードの自身の状態及び生長空間を含むブロードキャストメッセージを送信する。
【００３８】
ここで、該標識済みのノードは送信モジュール４１１により１つのメッセージをブロードキャスティングし、該メッセージは該標識済みのノードの自身の状態及び生長空間を含む。該標識済みのノードの全ての隣接ノード（標識済みの隣接ノード及び未標識の隣接ノードを含む）は該メッセージを受信することができる。ここで、未標識の隣接ノードは、該メッセージに基づいて、該標識済みのノードを、グラフト対象の１つ候補としてもよい。未標識のノードの処理について、後述の実施例で説明する。
【００３９】
なお、該ブロードキャストメッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表１】
2014072896.tif 000003
【００４０】
受信モジュール４１２は、未標識の隣接ノードから戻された応答メッセージを受信する。
【００４１】
ここで、該メッセージを受信した未標識の隣接ノードは、自分が受信した全ての標識済みのノードにより送信された該ブロードキャストメッセージにより、各標識済みのノードの負荷、生長空間及びリンク品質に基づいて１つの標識済みのノードを選択し（この部分の内容は未標識のノードの実施例で詳細に説明する）、選択された標識済みのノードに応答メッセージを送信する。よって、本実施例に係る標識済みのノードは、受信モジュール４１２により応答メッセージを受信することができる。
【００４２】
選択モジュール４１３は、該受信モジュール４１２が複数の未標識の隣接ノードから戻された応答メッセージを受信した場合、各未標識のノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの未標識の隣接ノードを選択する。
【００４３】
ここで、本実施例に係る標識済みのノードは、受信モジュール４１２により、複数の未標識の隣接ノードから戻された応答メッセージを受信することもできる。本実施例では、選択モジュール４１３により、複数の未標識の隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの未標識のノードを選択する。
【００４４】
１つの実施例では、該選択モジュール４１３は、比較サブモジュール４１３１、及び選択サブモジュール４１３２を含む。
【００４５】
比較サブモジュール４１３１は、該複数の未標識の隣接ノードの負荷、生長空間及び／又はリンク品質を比較する。
【００４６】
選択サブモジュール４１３２は、該比較サブモジュール４１３１の比較結果に基づいて、負荷が最も大きい未標識の隣接ノードを選択し、負荷が最も大きい未標識の隣接ノードが複数ある場合、生長空間が最も大きい未標識の隣接ノードを選択し、生長空間が最も大きい未標識の隣接ノードが複数ある場合、リンク品質が最もよい未標識の隣接ノードを選択する。
【００４７】
ここで、該複数の未標識の隣接ノードの負荷、生長空間及びリンク品質は、該複数の未標識の隣接ノードにより上記応答メッセージを介して伝送されるものであり、その詳細はここに省略とされる。比較サブモジュール４１３１は、各未標識の隣接ノードの負荷、生長空間、及び／又はリンク品質を比較することで、どの未標識の隣接ノードを選択してグラフトするかを判断する。負荷バランスを図るため、該標識済みのノードは「最も重い」（負荷が最も大きい、負荷が同じである場合は生長空間が最も大きい、又は負荷及び生長空間がいずれも同じである場合はリンク品質が最もよい）未標識の隣接ノードを選択してグラフトする。
【００４８】
確認モジュール４１４は、該選択モジュール４１３により選択された未標識の隣接ノードが確認メッセージに基づいて自身の状態を標識済みの状態に変更するように、該選択モジュール４１３により選択された未標識の隣接ノードへ該確認メッセージを送信する。
【００４９】
ここで、標識済みのノードは、選択モジュール４１３により１つの未標識のノードを選択した場合、確認モジュール４１４により該未標識のノードへ確認メッセージを送信する。よって、該未標識のノードは該標識済みのノードにグラフトすることができ、ゲートウェイへのルーティングが形成される。該未標識のノードがゲートウェイへのルーティングを形成するため、その状態が未標識の状態から標識済みの状態に変更される。
【００５０】
なお、該確認メッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表２】
2014072896.tif 000004
【００５１】
１つの実施例では、該未標識のノード（既に標識済みのノードに変更した）は、その隣接ノードそれぞれが未標識の隣接ノードの数変更する、即ち該未標識のノード（既に標識済みのノードに変更した）の隣接ノード（標識済みの隣接ノード及び未標識の隣接ノードを含む）それぞれが未標識の隣接ノードの数を１減らすように、状態変更メッセージをブロードキャスティングする。未標識の隣接ノードの数が変化するため、これらの隣接のノード（標識済みの隣接ノード及び未標識の隣接ノードを含む）は併せてそれぞれの生長空間を再計算する必要もあり、よって、１ラウンドのルーティングプロセスが完成した。
【００５２】
本実施例では、該グラフト部４１は、更新モジュール４１５、ブロードキャスティングモジュール４１６、計算モジュール４１７をさらに含む。
【００５３】
更新モジュール４１５は、該受信モジュール４１２が隣接ノード（一般は未標識の隣接ノードである）から送信された状態変更メッセージを受信した場合、未標識の隣接ノードの数を更新する。
【００５４】
ブロードキャスティングモジュール４１６は、該未標識の隣接ノードの数を含むブロードキャストメッセージを送信して、該ブロードキャストメッセージを受信した隣接ノードにそれぞれの生長空間を再計算させる。
【００５５】
計算モジュール４１７は、未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、その生長空間を再計算する。
【００５６】
なお、該ブロードキャスティングモジュール４１６により送信されたブロードキャストメッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表３】
2014072896.tif 000005
【００５７】
なお、上述したように、該更新モジュール４１５、ブロードキャスティングモジュール４１６及び計算モジュール４１７の処理により、該ラウンドのルーティングプロセスが完成された。
【００５８】
もう１つの実施例では、該標識済みの未標識の隣接ノードの数が０となった、即ち該標識済みのノードが未標識の隣接ノードを有しない場合、該標識済みのノードが処理を終了させる、即ち該標識済みのノードのルーティング操作が終了し、該標識済みのノードがルーティングプロセスの終了を待つ、或いは何も処理をしない。もう１の実施例では、該標識済みのノードが本ラウンドにおいて所定数の未標識の隣接ノードをグラフトした場合、本ラウンドのルーティングプロセスが終了し、該標識済みのノードが次のラウンドに入ることを待つ。逆の場合、該標識済みのノードは、本ラウンドの次の周期において上記送信モジュール４１１によりブロードキャストメッセージを送信し続けて、上記処理をし続ける。
【００５９】
この実施例では、該グラフト部４１は、判断モジュール４１８をさらに含む。
【００６０】
判断モジュール４１８は、該ノードが現在のラウンドで所定の数の未標識の隣接ノードをグラフトしているか否か、及び該ノードの未標識の隣接ノードの数が０であるか否かを判断する。
【００６１】
送信モジュール４１１は、判断モジュール４１８の判断結果として所定の数の未標識の隣接ノードがグラフトされておらず、且つ該ノードの未標識の隣接ノードの数が０ではない場合、現在のラウンドの次の周期において該ブロードキャストメッセージを再送する。
【００６２】
ここで、上述したように、判断モジュール４１８の判断結果として、該ノードの未標識の隣接ノードの数が０となった場合、該標識済みのノードのルーティング操作が終了し、ルーティングプロセスの終了を待つ、或いは何も処理をしない。判断モジュール４１８の判断結果として、該ノードが現在のラウンドにおいて所定数の未標識の隣接ノードをグラフトした場合、該標識済みのノードが次のラウンドに入ることを待つ。
【００６３】
なお、該所定の数は、１以上の整数である。各ノードは、同じ値であってもよいし、異なる値でもよい。
【００６４】
本実施例では、初期の生長空間を取得するために、本実施例に係るノードは、初期化部４２をさらに含む。
【００６５】
初期化部４２は、ゲートウェイにより送信された状態指示メッセージが受信された場合、自身の状態を標識済みの状態に変更し、該ノードの自身の状態を含むブロードキャストメッセージを送信し（即ち自身の状態をブロードキャスティングし）、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、該未標識の隣接ノードの数を含むブロードキャストメッセージを送信し、受信された全ての隣接ノードから戻された、未標識の隣接ノードの数を含むメッセージに基づいて初期の生長空間を計算する。
【００６６】
なお、該ノードの自身の状態を含むブロードキャストメッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表４】
2014072896.tif 000006
【００６７】
なお、未標識の隣接ノードの数を含むブロードキャストメッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表５】
2014072896.tif 000007
【００６８】
ここで、初期化部４２の処理は図５に示されるフローにより実現される。図５に示すように、該フローは以下のステップを含む。
【００６９】
ステップ５０１：ゲートウェイからブローキャストメッセージを受信するか否か。ＹＥＳの場合、ステップ５０２に進み、ＮＯの場合、ステップ５０３に進む。
【００７０】
ステップ５０２：未標識の状態を標識済みの状態に変更する。
【００７１】
ここで、該ブロードキャストメッセージが受信された場合、本ノードが１ホップノード（ｏｎｅ  ｈｏｐ  ｎｏｄｅ）であり、本のノードからゲートウェイまでのルーティングが既に形成されたことを意味するため、その状態を標識済みの状態に変更してもよい。
【００７２】
ステップ５０３：自身の状態を含むメッセージをブロードキャスティングする。
【００７３】
ここで、標識済みのノードについて、標識済みの状態を含むメッセージをブロードキャスティングし、未標識のノードについて、ゲートのブロードキャストメッセージが受信されていないから、未標識の状態を含むメッセージをブロードキャスティングする。
【００７４】
ステップ５０４：未標識の隣接ノードの数を計算してブロードキャスティングする。
【００７５】
ステップ５０５：生長空間を計算する。
【００７６】
本発明の実施例に係る標識済みのノードは、ルーティングプロセスの各ラウンドにおいて、未標識の隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、未標識のノードを選択してグラフトすることで、負荷バランスの向上を図ることができ、ゲートウェイのトラヒック負荷が大きいことを回避できる。
【００７７】
＜実施例３＞
本発明の実施例は、マルチホップネットワークにおけるノード（葉ノード）をさらに提供する。本実施例では、ルーティングプロセスにおける未標識のノードの角度から、該未標識のノードの構成及び機能を説明しているが、本実施例は、ここに例示されるものに限定されず、例えば、該ノードが元々有する構成及び機能も本発明の範囲に属する。
【００７８】
図６は、該ノードの構成を示す図である。図６に示すように、該ノードは、グラフト部６１を含む。
【００７９】
グラフト部６１は、複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトする。
【００８０】
ここで、該未標識のノードが複数の標識済みの隣接ノードから送信されたブロードキャストメッセージ、例えば実施例２の標識済みのノードの送信モジュール４１１により送信されたブロードキャストメッセージを受信することが可能となるため、該未標識のノードは、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、該標識済みの隣接ノードに応答メッセージを送信する。該応答メッセージを受信した標識済みの隣接ノードが複数の未標識のノードから送信された応答メッセージを受信することが可能となるため、実施例２に説明したように、該標識済みのノードも１つ選択して確認メッセージを送信する。よって、標識済みの隣接ノードから送信された確認メッセージを受信した未標識のノードは該標識済みの隣接ノードにグラフトできることを確認して、該未標識のノードの１つの標識済みの隣接ノードへのグラフトが実現される。
【００８１】
本実施例では、上記処理を実現するため、グラフト部６１は、受信モジュール６１１、選択モジュール６１２、送信モジュール６１３、及び処理モジュール６１４を含む。
【００８２】
受信モジュール６１１は、標識済みの隣接ノードから送信されたブロードキャストメッセージを受信する。該ブロードキャストメッセージは、該標識済みの隣接ノードの自身の負荷及び生長空間を含む。
【００８３】
なお、ブロードキャストメッセージは、実施例２の送信モジュールにより送信されたものであり、ここでその詳細を省略とされる。
【００８４】
選択モジュール６１２は、受信モジュール６１１が複数の標識済みの隣接ノードから送信されたブロードキャストメッセージを受信した場合、各複数の標識済みのノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの標識済みの隣接ノードを選択する。
【００８５】
ここで、ブロードキャストメッセージを送信する標識済みのノードが２以上あるため、本実施例の未標識のノードが受信モジュール６１１を介して複数の標識済みの隣接ノードから送信されたブロードキャストメッセージを受信した可能性があるから、該未標識のノードの選択モジュール６１２はそのうち１つを選択してもよい。
【００８６】
１つの実施例では、選択モジュール６１２は、比較サブモジュール６１２１、及び選択サブモジュール６１２２を含む。
【００８７】
比較サブモジュール６１２１は、該複数の標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質を比較する。
【００８８】
選択サブモジュール６１２２は、比較サブモジュール６１２１の比較結果に基づいて、負荷が最も小さい標識済みの隣接ノードを選択し、負荷が最も小さい標識済みの隣接ノードが複数ある場合、生長空間が最も小さい標識済みの隣接ノードを選択し、生長空間が最も小さい標識済みの隣接ノードが複数ある場合、リンク品質が最もよい標識済みの隣接ノードを選択する。
【００８９】
ここで、該複数の標識済みの隣接ノードの負荷、生長空間及びリンク品質は、該複数の標識済みの隣接ノードにより上記ブロードキャストを介して伝送されるものであり、その詳細はここに省略とされる。比較サブモジュール６１２１は、各標識済みの隣接ノードの負荷、生長空間、及び／又はリンク品質を比較することで、どの標識済みの隣接ノードを選択してグラフトするかを判断する。負荷バランスを図るため、該未標識のノードは「最も軽い」（負荷が最も小さい、負荷が同じである場合は生長空間が最も小さい、又は負荷及び生長空間がいずれも同じである場合はリンク品質が最もよい）標識済みの隣接ノードを選択してグラフトする。
【００９０】
送信モジュール６１３、選択モジュール６１２により選択された標識済みの隣接ノードに応答メッセージを送信する。
【００９１】
なお、該応答メッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表６】
2014072896.tif 000008
【００９２】
処理モジュール６１４、選択モジュール６１２により選択された標識済みの隣接ノードから送信された確認メッセージが受信された場合、自身の状態を標識済みの状態に変更し、送信モジュール６１３により全ての隣接ノードに状態変更メッセージを送信する。
【００９３】
なお、該状態変更メッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表７】
2014072896.tif 000009
【００９４】
ここで、標識済みのノードに応答メッセージを送信する未標識のノードが２以上あるため、実施例２に説明したように、標識済みのノードは１つ選択して、選択された未標識のノードに確認メッセージを送信する。従って、標識済みの隣接ノードから送信された確認メッセージを受信した場合、未標識のノードが選出されたことを意味し、該未標識のノードが処理モジュール６１４により自身の状態を変更し、送信モジュール６１３により状態変更メッセージをブロードキャスティングしてもよい。よって、該未標識のノードが１つの標識済みのノードにグラフトされ、その状態も未標識の状態から標識済みの状態に変更される。その状態が変化するため、１つの状態変更メッセージをブロードキャスティングして、その隣接ノードが併せて各自の未標識の隣接ノードの数を変更する、即ちその隣接ノードが各自の未標識の隣接ノードの数を１減らす。未標識の隣接ノードの数が変化するため、その隣接ノードは各自の生長空間を再計算する。
【００９５】
１つの実施例では、本実施例に係る未標識のノードが他の隣接ノードから送信された状態変更メッセージを受信した可能性もあるため、本実施例では、グラフト部６１は、更新モジュール６１５、ブローキャスティングモジュール６１６、及び計算モジュール６１７をさらに含む。
【００９６】
更新モジュール６１５は、受信モジュール６１１が隣接ノードから送信された状態変更メッセージを受信した場合、未標識の隣接ノードの数を更新する。
【００９７】
ブロードキャスティングモジュール６１６は、該未標識の隣接ノードの数を含むブロードキャストメッセージを送信して、該ブロードキャストメッセージを受信した隣接ノードにその生長空間を再計算させる。
【００９８】
計算モジュール６１７は、未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、その生長空間を再計算する。
【００９９】
なお、ブロードキャスティングモジュール６１６により送信されたブロードキャストメッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表８】
2014072896.tif 000010
【０１００】
ここで、上述したように、更新モジュール６１５、ブロードキャスティングモジュール６１６、及び計算モジュール６１７の処理により、該ラウンドのルーティングプロセスが完成される。
【０１０１】
本実施例では、初期の生長空間を取得するため、本実施例に係るノードは、初期化部６２をさらに含む。
【０１０２】
初期化部６２は、ノードの自身の状態を含むメッセージをブロードキャスティングし、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、該未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて初期の生長空間を計算する。
【０１０３】
ここで、初期化部６２の処理も図５に示されるフローにより実現されてもよい。なお、ステップ５０１により、ゲートウェイから送信されたブロードキャストメッセージが受信されていないと判断した場合、ステップ５０３に直接進み、後の処理を行うが、ここにその詳細を省略とされる。
【０１０４】
本発明の実施例に係る未標識のノードは、ルーティングプロセスの各ラウンドにおいて、標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、標識済みのノードを選択してグラフトすることで、負荷バランスの向上を図ることができ、ゲートウェイのトラヒック負荷が大きいことを回避できる。
【０１０５】
＜実施例４＞
本発明の実施例は、マルチホップネットワークにおけるノード（葉ノード）をさらに提供する。ルーティングプロセス中又はルーティング終了後において、新たなノードが該マルチホップネットワークに加入する可能性があるため、この際、該ノードが本実施例４に説明するように標識済みのノードにグラフトし、該マルチホップネットワークに加入してもよい。なお、本実施例では、ルーティングプロセスにおける該ノードの構成及び機能を説明しているが、本実施例は、ここに例示されるものに限定されず、例えば、該ノードが元々有する構成及び機能も本発明の範囲に属する。
【０１０６】
図７は、該ノードの構成を示す図である。図７に示すように、該ノードは、ブロードキャスティング部７１を含む。
【０１０７】
ブロードキャスティング部７１は、ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ該未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの未標識の状態を含む該ブロードキャストメッセージを送信する。
【０１０８】
なお、ブロードキャスティング部７１により送信されたブロードキャストメッセージは以下の表に示される書式で表示されてもよいが、本実施例はこれに限定されない。
【表９】
2014072896.tif 000011
【０１０９】
ここで、新たなノードが該マルチホップネットワークに加入する場合、ブロードキャスティング部７１により自身の状態をブロードキャスティングする。なお、該新たなノードが該マルチホップネットワークにまだ加入していないため、その状態は未標識の状態である。該ブロードキャストメッセージを受信した隣接ノード（標識済みの隣接ノード又は未標識の隣接ノード）は、実施例２又は実施例３により後続の分散型のルーティング処理を行う。受信されたブロードキャストメッセージに含まれる状態が未標識であるため、新たなノードの加入又はトポロジーの変化を意味し、未標識の隣接ノードの数を強制に増加する。例えば、標識済みの隣接ノードは、判断モジュール４１６によりその未標識の隣接ノードの数が０ではないと確認した場合、次のラウンドに進み、実施例２及び実施例３に説明したように、送信モジュール４１１によりブロードキャストメッセージを送信し続けて、新たに加入したノードのグラフトを実現する。
【０１１０】
なお、該ブロードキャストメッセージを受信した標識済みのノードは、実施例２に係るノードにより実現され、その詳細の内容はここに省略とされる。
【０１１１】
なお、該ブロードキャストメッセージを受信した未標識のノードは、実施例３に係るノードにより実現され、その詳細の内容はここに省略とされる。
【０１１２】
本発明の実施例に係る新たに追加されたノードは、自身の状態をブロードキャスティングすることでマルチホップネットワークに加入して、標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて１つの標識済みのノードを選択してグラフトすることで、負荷バランスの向上を図ることができ、ゲートウェイのトラヒック負荷が大きいことを回避できる。
【０１１３】
本発明の実施例は分散型の負荷バランスのルーティング方法をさらに提供し、下記の実施例５に説明するように、該方法の問題解決の原理は、実施例１に係るゲートウェイと類似するため、その具体的な実施は実施例１に係るゲートウェイの実施を参照することができ、重複部分の説明を省略とされる。
【０１１４】
＜実施例５＞
本発明の実施例は、分散型の負荷バランスのルーティング方法をさらに提供する。図８は、該方法を示すフローチャートである。該方法は下記ステップを含む。
【０１１５】
ステップ８０１：ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、ゲートウェイにより該ブロードキャストメッセージを送信する。
【０１１６】
ここで、１ホップノードが自身の状態の変更した場合、該マルチホップネットワークの全てのノードは、自身の状態をブロードキャスティングするとともに、受信された他のノードによりブロードキャスティングされたそれぞれの状態に基づいて、自身の未標識の隣接ノードの数を計算してブロードキャスティングし、その後、すべてのノードは、該マルチホップネットワークにおける全ての未標識のノードのゲートウェイへの経路を形成する、即ち１つの標識済みのノードにグラフトさせるように、自身の初期の生長空間を計算する。その内容は以下の実施例において詳細に説明する。
【０１１７】
本発明の実施例に係るゲートウェイに提供される図８に示す方法よれば、１ホップノードの状態が決定され、本発明の実施例の負荷バランスの基礎が定められる。
【０１１８】
本発明の実施例は分散型の負荷バランスのルーティング方法をさらに提供し、下記の実施例６に説明するように、該方法の問題解決の原理は、実施例２に係る標識済みのノードと類似するため、その具体的な実施は実施例２に係る標識済みのノードの実施を参照することができ、重複部分の説明を省略とされる。
【０１１９】
＜実施例６＞
本発明の実施例は、分散型の負荷バランスのルーティング方法をさらに提供する。図９は、該方法を示すフローチャートであり、図９に示すように、該方法は以下のステップを含む。
【０１２０】
ステップ９０６：標識済みのノードは、複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトする。
【０１２１】
なお、ステップ９０６は、以下のステップをさらに含んでもよい。
【０１２２】
Ｓ１：標識済みのノードは、自身の状態及び生長空間を含むブロードキャストメッセージを送信する。
【０１２３】
Ｓ２：標識済みのノードは、複数の未標識の隣接ノードから戻された応答メッセージが受信された場合、各未標識のノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの未標識の隣接ノードを選択する。
【０１２４】
Ｓ３：標識済みのノードは、選択された未標識の隣接ノードが確認メッセージに基づいて自身の状態を標識済みの状態に変更するように、選択された未標識の隣接ノードへ該確認メッセージを送信する。
【０１２５】
なお、ステップＳ２は以下のステップを含む。
【０１２６】
Ｓ２１：標識済みのノードは、該複数の未標識の隣接ノードの負荷、生長空間及び／又はリンク品質を比較する。
【０１２７】
Ｓ２２：標識済みのノードは、比較結果に基づいて、負荷が最も大きい未標識の隣接ノードを選択し、負荷が最も大きい未標識の隣接ノードが複数ある場合、生長空間が最も大きい未標識の隣接ノードを選択し、生長空間が最も大きい未標識の隣接ノードが複数ある場合、リンク品質が最もよい未標識の隣接ノードを選択する。
【０１２８】
なお、ステップ９０６は、以下のステップをさらに含む。
【０１２９】
Ｓ４：標識済みのノードは、隣接ノードから送信された状態変更メッセージが受信された場合、未標識の隣接ノードの数を更新する。
【０１３０】
Ｓ５：標識済みのノードは、該未標識の隣接ノードの数を含むブロードキャストメッセージを送信する。
【０１３１】
Ｓ６：標識済みのノードは、未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、生長空間を再計算する。
【０１３２】
なお、ステップ９０６は、以下のステップをさらに含む。
【０１３３】
Ｓ７：標識済みのノードは、現在のラウンドで所定の数の未標識の隣接ノードをグラフトしているか否か、及び未標識の隣接ノードの数が０であるか否かを判断する。
【０１３４】
Ｓ８：標識済みのノードは、判断結果として所定の数の未標識の隣接ノードがグラフトされておらず、且つ該ノードの未標識の隣接ノードの数が０ではない場合、現在のラウンドの次の周期において該ブロードキャストメッセージを再送する。
【０１３５】
なお、該方法は、以下のステップをさらに含む。
【０１３６】
ステップ９０１：標識済みのノードは、ゲートウェイにより送信されたブロードキャストメッセージが受信された場合、自身の状態を標識済みの状態に変更する。
【０１３７】
ステップ９０２：標識済みのノードは、自身の状態を含むブロードキャストメッセージを送信する。
【０１３８】
ステップ９０３：標識済みのノードは、受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算する。
【０１３９】
ステップ９０４：標識済みのノードは、該未標識の隣接ノードの数をブロードキャスティングする。
【０１４０】
ステップ９０５：標識済みのノードは、受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算する。
【０１４１】
本発明の実施例に係る方法は、標識済みのノードがルーティングプロセスの各ラウンドにおいて、未標識の隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、未標識のノードを選択してグラフトすることで、負荷バランスの向上を図ることができ、ゲートウェイのトラヒック負荷が大きいことを回避できる。
【０１４２】
本発明の実施例は分散型の負荷バランスのルーティング方法をさらに提供し、下記の実施例７に説明するように、該方法の問題解決の原理は、実施例３に係る未標識のノードと類似するため、その具体的な実施は実施例３に係る未標識のノードの実施を参照することができ、重複部分の説明を省略とされる。
【０１４３】
＜実施例７＞
本発明の実施例は分散型の負荷バランスのルーティング方法をさらに提供する。図１０は該方法を示すフローチャートであり、図１０に示すように、該方法は以下のステップを含む。
【０１４４】
ステップ１０５：未標識のノードは、複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択する。
【０１４５】
ステップ１０６：未標識のノードは、該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトする。
【０１４６】
なお、該ステップは以下のステップを具体的に含む。
【０１４７】
Ｓ１：未標識のノードは、複数の標識済みの隣接ノードから送信された、該標識済みの隣接ノードの自身の負荷及び生長空間を含むブロードキャストメッセージが受信された場合、各標識済みのノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの標識済みの隣接ノードを選択する。
【０１４８】
Ｓ２：未標識のノードは、選択された標識済みの隣接ノードに応答メッセージを送信する。
【０１４９】
Ｓ３：未標識のノードは、選択された標識済みの隣接ノードから送信された確認メッセージが受信された場合、自身の状態を標識済みの状態に変更し、全ての隣接ノードに状態変更メッセージを送信する。
【０１５０】
なお、ステップＳ１は、以下のステップを含む。
【０１５１】
Ｓ１１：未標識のノードは、該複数の標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質を比較する。
【０１５２】
Ｓ１２：未標識のノードは、比較結果に基づいて、負荷が最も小さい標識済みの隣接ノードを選択し、負荷が最も小さい標識済みの隣接ノードが複数ある場合、生長空間が最も小さい標識済みの隣接ノードを選択し、生長空間が最も小さい標識済みの隣接ノードが複数ある場合、リンク品質が最もよい標識済みの隣接ノードを選択する。
【０１５３】
なお、ステップＳ１は、以下のステップをさらに含む。
【０１５４】
Ｓ１３：未標識のノードは、隣接ノードから送信された状態変更メッセージが受信された場合、未標識の隣接ノードの数を更新する。
【０１５５】
Ｓ１４：未標識のノードは、該未標識の隣接ノードの数を含むブロードキャストメッセージを送信する。
【０１５６】
Ｓ１５：未標識のノードは、未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、生長空間を再計算する。
【０１５７】
なお、該方法は以下のステップをさらに含む。
【０１５８】
Ｓ１０１：未標識のノードは、その自身の状態を含むブロードキャストメッセージを送信する。
【０１５９】
Ｓ１０２：未標識のノードは、受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算する。
【０１６０】
Ｓ１０３：未標識のノードは、該未標識の隣接ノードの数をブロードキャスティングする。
【０１６１】
Ｓ１０４：未標識のノードは、受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算する。
【０１６２】
本実施例では、各ステップの番号は各ステップが実行される前後順序を表すものではなく、例えばあるステップは同時に実行されてもよく、ルーティングの実際の状況に応じて具体的に設定されてもよい。
【０１６３】
本発明の実施例に係る方法によれば、未標識のノードはルーティングプロセスの各ラウンドにおいて、標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、標識済みのノードを選択してグラフトすることで、負荷バランスの向上を図ることができ、ゲートウェイのトラヒック負荷が大きいことを回避できる。
【０１６４】
本発明の実施例は分散型の負荷バランスのルーティング方法をさらに提供し、下記の実施例８に説明するように、該方法の問題解決の原理は、実施例４に係る未標識のノードと類似するため、その具体的な実施は実施例４に係る未標識のノードの実施を参照することができ、重複部分の説明を省略とされる。
【０１６５】
＜実施例８＞
本発明の実施例は分散型の負荷バランスのルーティング方法をさらに提供する。図１１は該方法を示すフローチャートであり、図１１に示すように、該方法は以下のステップを含む。
【０１６６】
ステップＳ１１１：新たに追加されたノードは、ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ該未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの自身の未標識の状態を含む該ブロードキャストメッセージを送信する。
【０１６７】
本発明の実施例に係る方法によれば、新たに追加されたノードは自身の状態をブロードキャスティングすることでマルチホップネットワークに加入して、標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて１つの標識済みのノードを選択してグラフトすることで、負荷バランスの向上を図ることができ、ゲートウェイのトラヒック負荷が大きいことを回避できる。
【０１６８】
図１２ａ及び図１２ｂは、本発明の実施例に係る分散型の負荷バランス手法及び従来のノード中心の負荷バランス手法の通信オーバヘッドのシミュレーション結果を示す図である。該実施例は、該マルチホップネットワークが１個のゲートウェイ及び１０００個のノードを含むものを例とし、バランス因子θは、以下の数式に示されている。
【数１】
2014072896.tif 000012
【０１６９】
図から見てわかるように、本発明の実施例に係る分散型の負荷バランス手法は、従来のノード中心の負荷バランス手法に比べると、通信オーバヘッドを大幅に低減すると共に、従来手法と類似の負荷バランス効果を取得した。従来の方法に比べて、その負荷は約８０％降下した。
【０１７０】
以上のように、本発明の好適な実施形態が説明されている。これらの実施形態の多くの特徴及び利点は詳細な明細書に明確に記載されているため、添付された特許請求の範囲はこれらの実施形態の真実の主旨及び範囲内の全てのこれらの特徴及び利点をカバーするものである。また、当業者にとって、多くの修正及び変更を容易に想到できるため、本発明の実施形態は、例示又は記載された具体的な構成及び動作に限定されたものではなく、その範囲内の全ての適切な修正及び均等物をカバーできる。
【０１７１】
なお、本発明の各部分は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにより実現されてもよい。上述した実施形態では、複数のステップ又は方法は、メモリに記憶され、適切な指令によってシステムが実行するソフトウェア又はファームウェアを実行することで実現されてもよい。例えば、ハードウェアで実現される場合、他の実施形態と同じように、データ信号に対して論理機能を有する論理ゲート回路の離散論理回路、論理ゲート回路を適切に組み合わせる専用の集積回路、プログラミング可能ゲートアレイ（ＰＧＡ）、現場プログラミング可能ゲートアレイ（ＦＰＧＡ）などの公知の下記の技術のうちいずれか又はそれらの組み合わせで実現してもよい。
【０１７２】
フローチャート又は他の方式に記載された如何なるプロセス、方法の記述又はブロックは、特定の論理機能又はプロセスにおけるステップの実行可能なコードを実現可能なモジュール、セグメント又は部分を表示することと理解してもよい。また、本発明の好適な実施形態の範囲は、他の実施方法を含んでもよく、例えば、示される順序に基づかなく、係る機能に応じて、基本的に同時の方式又は逆の順序に基づいて機能を実行してもよい。
【０１７３】
フローチャートに示される、或いは他の方式で記述される論理及び／又はステップ、例えば、論理機能を実現するための実行可能な指令の順序リストは、指令実行システム、装置又はデバイス（例えばコンピュータに基づくシステム、プロセッサを含むシステム、又は他の指令実行システム、装置又はデバイスから指令を取得し、指令を実行可能なシステム）に用いられる、或いはこれらの指令実行システム、装置又はデバイスと結合して使用されるため、如何なるコンピュータの読取可能な媒体に実施されてもよい。本明細書では、「コンピュータが読取可能な媒体」は、指令実行システム、装置若しくはデバイス、又はこれらの指令実行システム、装置、若しくはデバイスの組み合わせを使用させるために、プログラムを含む、記憶、通信、伝播又は伝送する如何なる装置であってもよい。コンピュータが読取可能な媒体は、例えば電気、磁気、光、電磁、赤外線又は半導体のシステム、装置、デバイス、又は伝播媒体であってもよく、これらに限られない。コンピュータが読取可能な媒体は、より具体的な例（非完全のリスト）として、一つ又は複数の配線を有する電気接続部（電子装置）、携帯式のコンピュータディスク（磁気装置）、ランダムアクセスメモリ（ＲＡＭ）（電子装置）、読み出し専用メモリ（ＲＯＭ）（電子装置）、消去可能プログラミング可能ＲＯＭ（ＥＰＲＯＭ又はフラッシュメモリ）（電子装置）、光ファイバー（光装置）、及び携帯式光ディスクＲＯＭ（ＣＤＲＯＭ）（光学装置）を含む。また、コンピュータが読取可能な媒体は、プログラムがプリントされている紙又は他の適切の媒体であってもよく、例えば紙又は他の媒体を光学走査して、編集、解釈、或いは必要に応じて他の適切な方法により処理して、電子方式でプログラムを取得して、コンピュータ記憶手段に記憶する。
【０１７４】
上述した文言の説明及び図面は、本発明の各種の異なる特徴を示している。なお、当業者は、適切なコンピュータコードを用意して、上記記載され、図面に示された各ステップ及びプロセスを実現できる。また、上述した各種の端末、コンピュータ、サーバ、ネットワーク等は、如何なるタイプであってもよく、開示の内容に基づいてコンピュータコードを用意して装置を用いて本発明を実現できる。
【０１７５】
本発明の特定の実施形態はここに開示されている。本発明は他の環境において他の適用があることは、当業者として容易に認識できる。実際には、多く実施形態又は実現が存在する。本発明の範囲は、上述した具体的な実施形態に限定されるものではない。また、「…に用いられる装置」の引用は、要素及び特許請求の範囲の追加機能を記述するものであり、「…に用いられる装置」が使用されていない引用の要素は、その請求項は「装置」という用語を含んでも、ミーンズプラスファンクションの素子と理解されたくない。
【０１７６】
本発明は、特定の好適な実施形態又は複数の実施形態が説明されているが、当業者は明細書及び図面を読み、理解した上、均等的な修正例及び変形例を想到できる。特に、上述した要素（部材、構成要件、装置、構成など）により実行される各種の機能は、例外の指定を除いて、これらの要素の用語（「装置」を含む引用）に対応する該要素の具体的な機能の任意要素（即ち機能均等）に用いられる。また、例示されている幾つの実施形態のただ一つ又は複数について、本発明の具体的な特徴が記述されているが、必要、任意提供されるもの、或いは適用に有利的な面に応じて、これらの特徴と他の実施形態の一つ又は複数の他の特徴と組み合わせてもよい。
【０１７７】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１７８】
（付記１）
ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、該ブロードキャストメッセージを送信するブロードキャスティング手段を含む、ゲートウェイ。
【０１７９】
（付記２）
複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトするグラフト手段、を含む、ノード。
【０１８０】
（付記３）
前記グラフト手段は、
前記ノードの自身の状態及び生長空間を含むブロードキャストメッセージを送信する送信モジュールと、
未標識の隣接ノードから戻された応答メッセージを受信する受信モジュールと、
前記受信モジュールが複数の未標識の隣接ノードから戻された応答メッセージを受信した場合、各未標識のノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの未標識の隣接ノードを選択する選択モジュールと、
前記選択モジュールにより選択された未標識の隣接ノードが確認メッセージに基づいて自身の状態を標識済みの状態に変更するように、前記選択モジュールにより選択された未標識の隣接ノードへ前記確認メッセージを送信する確認モジュールと、を含む、付記２に記載のノード。
【０１８１】
（付記４）
前記選択モジュールは、
前記複数の未標識の隣接ノードの負荷、生長空間及び／又はリンク品質を比較する比較サブモジュールと、
前記比較サブモジュールの比較結果に基づいて、負荷が最も大きい未標識の隣接ノードを選択し、負荷が最も大きい未標識の隣接ノードが複数ある場合、生長空間が最も大きい未標識の隣接ノードを選択し、生長空間が最も大きい未標識の隣接ノードが複数ある場合、リンク品質が最もよい未標識の隣接ノードを選択する選択サブモジュールと、を含む、付記３に記載のノード。
【０１８２】
（付記５）
前記グラフト手段は、
前記受信モジュールが隣接ノードから送信された状態変更メッセージを受信した場合、未標識の隣接ノードの数を更新する更新モジュールと、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信するブロードキャスティングモジュールと、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、前記ノードの生長空間を再計算する計算モジュールと、をさらに含む、付記３に記載のノード。
【０１８３】
（付記６）
前記グラフト手段は、
前記ノードが現在のラウンドで所定の数の未標識の隣接ノードをグラフトしているか否か、及び前記ノードの未標識の隣接ノードの数が０であるか否かを判断する判断モジュールをさらに含み、
前記送信モジュールは、前記判断モジュールの判断結果として所定の数の未標識の隣接ノードがグラフトされておらず、且つ前記ノードの未標識の隣接ノードの数が０ではない場合、現在のラウンドの次の周期において前記ブロードキャストメッセージを再送し、
前記所定の数は、１以上の整数である、付記３に記載のノード。
【０１８４】
（付記７）
ゲートウェイにより送信されたブロードキャストメッセージが受信された場合、自身の状態を標識済みの状態に変更し、前記ノードの自身の状態を含むブロードキャストメッセージを送信し、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて初期の生長空間を計算する初期化手段、をさらに含む、付記２に記載のノード。
【０１８５】
（付記８）
複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトするグラフト手段、を含む、ノード。
【０１８６】
（付記９）
前記グラフト手段は、
標識済みの隣接ノードから送信されたブロードキャストメッセージを受信する受信モジュールであって、該ブロードキャストメッセージが前記標識済みの隣接ノードの自身の負荷及び生長空間を含む、受信モジュールと、
前記受信モジュールが複数の標識済みの隣接ノードから送信されたブロードキャストメッセージを受信した場合、各標識済みのノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの標識済みの隣接ノードを選択する選択モジュールと、
前記選択モジュールにより選択された標識済みの隣接ノードに応答メッセージを送信する送信モジュールと、
前記選択モジュールにより選択された標識済みの隣接ノードから送信された確認メッセージが受信された場合、自身の状態を標識済みの状態に変更し、前記送信モジュールにより全ての隣接ノードに状態変更メッセージを送信する処理モジュールと、を含む、付記８に記載のノード。
【０１８７】
（付記１０）
前記選択モジュールは、
前記複数の標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質を比較する比較サブモジュールと、
前記比較サブモジュールの比較結果に基づいて、負荷が最も小さい標識済みの隣接ノードを選択し、負荷が最も小さい標識済みの隣接ノードが複数ある場合、生長空間が最も小さい標識済みの隣接ノードを選択し、生長空間が最も小さい標識済みの隣接ノードが複数ある場合、リンク品質が最もよい標識済みの隣接ノードを選択する選択サブモジュールと、を含む、付記９に記載のノード。
【０１８８】
（付記１１）
前記グラフト手段は、
前記受信モジュールが隣接ノードから送信された状態変更メッセージを受信した場合、未標識の隣接ノードの数を更新する更新モジュールと、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信するブロードキャスティングモジュールと、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、前記ノードの生長空間を再計算する計算モジュールと、をさらに含む、付記９に記載のノード。
【０１８９】
（付記１２）
ノードの自身の状態を含むブロードキャストメッセージを送信し、且つ受信された未標識の隣接ノードから戻されたメッセージに基づいて未標識の隣接ノードの数を計算し、前記未標識の隣接ノードの数をブロードキャスティングし、受信された未標識の隣接ノードから戻されたメッセージに基づいて初期の生長空間を計算する初期化手段、をさらに含む、付記８に記載のノード。
【０１９０】
（付記１３）
ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ前記未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの未標識の状態を含む前記ブロードキャストメッセージを送信するブロードキャスティング手段を含む、ノード。
【０１９１】
（付記１４）
ブロードキャストメッセージを受信したノードが自身の状態を標識済みの状態に変更するように、ゲートウェイにより該ブロードキャストメッセージを送信する、分散型の負荷バランスのルーティング方法。
【０１９２】
（付記１５）
複数の未標識の隣接ノードから送信された応答メッセージが受信された場合、各未標識の隣接ノードの負荷、生長空間及びリンク品質に基づいて、１つの未標識の隣接ノードを選択してグラフトする、分散型の負荷バランスのルーティング方法。
【０１９３】
（付記１６）
１つの未標識の隣接ノードを選択してグラフトするステップにおいて、
前記ノードの自身の状態及び生長空間を含むブロードキャストメッセージを送信し、
複数の未標識の隣接ノードから戻された応答メッセージが受信された場合、各未標識のノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの未標識の隣接ノードを選択し、
前記選択された未標識の隣接ノードが確認メッセージに基づいて自身の状態を標識済みの状態に変更するように、前記選択された未標識の隣接ノードへ前記確認メッセージを送信する、付記１５に記載の分散型の負荷バランスのルーティング方法。
【０１９４】
（付記１７）
１つの未標識の隣接ノードを選択するステップにおいて、
前記複数の未標識の隣接ノードの負荷、生長空間及び／又はリンク品質を比較し、
比較結果に基づいて、負荷が最も大きい未標識の隣接ノードを選択し、負荷が最も大きい未標識の隣接ノードが複数ある場合、生長空間が最も大きい未標識の隣接ノードを選択し、生長空間が最も大きい未標識の隣接ノードが複数ある場合、リンク品質が最もよい未標識の隣接ノードを選択する、付記１６に記載の分散型の負荷バランスのルーティング方法。
【０１９５】
（付記１８）
隣接ノードから送信された状態変更メッセージが受信された場合、未標識の隣接ノードの数を更新し、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信し、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、生長空間を再計算する、付記１６に記載の分散型の負荷バランスのルーティング方法。
【０１９６】
（付記１９）
ノードが現在のラウンドで所定の数の未標識の隣接ノードをグラフトしているか否か、及び前記ノードの未標識の隣接ノードの数が０であるか否かを判断し、
判断結果として所定の数の未標識の隣接ノードがグラフトされておらず、且つ前記ノードの未標識の隣接ノードの数が０ではない場合、現在のラウンドの次の周期において前記ブロードキャストメッセージを再送する方法であり、
前記所定の数は、１以上の整数である、付記１６に記載の分散型の負荷バランスのルーティング方法。
【０１９７】
（付記２０）
ゲートウェイにより送信されたブロードキャストメッセージが受信された場合、自身の状態を標識済みの状態に変更し、
自身の状態を含むブロードキャストメッセージを送信し、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算し、
前記未標識の隣接ノードの数をブロードキャスティングし、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算する、付記１５に記載の分散型の負荷バランスのルーティング方法。
【０１９８】
（付記２１）
複数の標識済みの隣接ノードから送信されたブロードキャストメッセージが受信された場合、各標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質に基づいて、１つの標識済みの隣接ノードを選択し、
該１つの標識済みの隣接ノードから戻された確認メッセージが受信された場合、確認メッセージを戻した標識済みの隣接ノードに該ノードをグラフトする、分散型の負荷バランスのルーティング方法。
【０１９９】
（付記２２）
１つの標識済みの隣接ノードを選択して、該１つの標識済みの隣接ノードに該ノードをグラフトするステップにおいて、
複数の標識済みの隣接ノードから送信された、該標識済みの隣接ノードの自身の負荷及び生長空間を含むブロードキャストメッセージが受信された場合、各標識済みのノードの負荷、生長空間及び／又はリンク品質に基づいて、そのうち１つの標識済みの隣接ノードを選択し、
前記選択された標識済みの隣接ノードに応答メッセージを送信し、
前記選択された標識済みの隣接ノードから送信された確認メッセージが受信された場合、自身の状態を標識済みの状態に変更し、全ての隣接ノードに状態変更メッセージを送信する、付記２１に記載の分散型の負荷バランスのルーティング方法。
【０２００】
（付記２３）
１つの標識済みの隣接ノードを選択するステップにおいて、
前記複数の標識済みの隣接ノードの負荷、生長空間及び／又はリンク品質を比較し、
比較結果に基づいて、負荷が最も小さい標識済みの隣接ノードを選択し、負荷が最も小さい標識済みの隣接ノードが複数ある場合、生長空間が最も小さい標識済みの隣接ノードを選択し、生長空間が最も小さい標識済みの隣接ノードが複数ある場合、リンク品質が最もよい標識済みの隣接ノードを選択する、付記２２に記載の分散型の負荷バランスのルーティング方法。
【０２０１】
（付記２４）
隣接ノードから送信された状態変更メッセージが受信された場合、未標識の隣接ノードの数を更新し、
前記未標識の隣接ノードの数を含むブロードキャストメッセージを送信し、
未標識の隣接ノードの数を含むブロードキャストメッセージが受信された場合、生長空間を再計算する、付記２２に記載の分散型の負荷バランスのルーティング方法。
【０２０２】
（付記２５）
ノードの自身の状態を含むブロードキャストメッセージを送信し、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、未標識の隣接ノードの数を計算し、
前記未標識の隣接ノードの数をブロードキャスティングし、
受信された未標識の隣接ノードから戻されたメッセージに基づいて、初期の生長空間を計算する、付記２１に記載の分散型の負荷バランスのルーティング方法。
【０２０３】
（付記２６）
ブロードキャストメッセージを受信した隣接ノードそれぞれが未標識の隣接ノードの数を変更し、且つ前記未標識の隣接ノードの数に基づいて分散型のルーティング処理を行うように、ノードの自身の未標識の状態を含む前記ブロードキャストメッセージを送信する、分散型の負荷バランスのルーティング方法。
【図１】
2014072896.tif 000013
【図２】
2014072896.tif 000014
【図３】
2014072896.tif 000015
【図４】
2014072896.tif 000016
【図５】
2014072896.tif 000017
【図６】
2014072896.tif 000018
【図７】
2014072896.tif 000019
【図８】
2014072896.tif 000020
【図９】
2014072896.tif 000021
【図１０】
2014072896.tif 000022
【図１１】
2014072896.tif 000023
【図１２】
2014072896.tif 000024