説明

ユーティリティ・サービスに対してネットワーク及びルーティング・プロトコルを提供する方法及びシステム

【課題】
【解決手段】
ユーティリティ・サービスに対してネットワーク及びルーティング・プロトコルを提供する方法及びシステムが開示される。一実施形態において、コンピュータにより実現される方法は、ユーティリティ・ネットワークを発見するステップを含む。ここで、ユーティリティ・デバイス(例えば、定電力メータ)は、ユーティリティ・ネットワークを見つけるためにネットワーク発見メッセージを送出する。隣接するメータが発見され、デバイスは隣接するメータから1つ以上のネットワークに対してアドバタイズされたルートをリスンする。デバイスは、1つ以上のユーティリティ・ネットワークに登録され、各ネットワーク登録のための固有のアドレスを受信する。更にある種のデバイスの各デバイス(例えば、バッテリ式メータ)が自身を見つけ且つ別のデバイス(例えば、定電力メータ)と関連付ける方法が本発明において示される。定電力メータは、関連するバッテリ式メータをユーティリティ・ネットワークに登録する。定電力メータは、アクセスポイント及び各ネットワーク外のパスの上流ノードに自身を登録する。各上流ノードは、上流パケット及び下流パケットの双方に対して転送決定を個別に行なえる。すなわち、利用可能な最適な情報に従って次ホップを選択できる。定電力メータは、一時リンクの問題、停電の問題及びトラフィック特性を感知できる。定電力メータは、その情報を使用して各ネットワーク外及び各ネットワーク内の最適なルートを見つける。各ネットワークデバイスは、自身及び自身と関連するデバイスの双方に対するマルチ出口/マルチ入口ネットワークルーティングオプションを維持する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ネットワーク及びネットワークを使用するコンピュータシステムに関し、特に、ユーティリティ及びホームエリアサービスに対してネットワーク及びルーティング・プロトコルを提供する方法及びシステムに関する。
【発明の概要】
【課題を解決するための手段】
【0002】
例示する実施形態は、無線又は有線WAN(ワイド・エリア・ネットワーク)インフラストラクチャのIPホストであるユーティリティ・ホストシステム(バック・オフィス・サーバ又はBOSとも呼ばれる)と相互接続するRF LANネットワークにおけるIPホストであるホームデバイス(電気メータ、水道メータ、ガスメータ、配電自動化(DA)デバイス及びインプレミス(in-premise)・デバイス等)とユーティリティ・デバイスとの双方向通信を可能にするFHSSモードで動作するRFネットワーク(地上LAN又は無線LAN)ルーティング方式及びプロトコルを示す。例示する実施形態におけるIPバージョンはIPv6である。IPv6パケットは、一般的にIPv4を使用するWANクラウドを介した送信のためにIPv4にカプセル化される。無線LANネットワークにおいてIPv6パケットをルーティングする方法は、LANとWANとの間のゲートウェイとしての立場でカプセル化(例えば、IPv6からIPv4パケットへのカプセル化)を実行できるアクセスポイント(AP)を提供するステップと、IPv6レベルでAPに直接接続されると考えられる複数のIPv6エンド・ポイント又はデバイスを提供するステップとを含む。
【0003】
物理的に、エンド・ポイント又はデバイスは、APに対して無線伝送パスを直接確立するか(APまで1ホップ)又は他のIPv6デバイスに対して無線伝送パスを確立でき(APまで複数ホップ)、本発明のアルゴリズム及び方法は、ネットワークトポロジがAP下で作成される方法及びパケットがデータリンク層(OSIモデルのレイヤ2)を使用してルーティングされる方法を記述する。デバイス又はノードは立ち上がり、利用可能なネットワークを発見し、参加するネットワークを選択し、ルーティング方式で次ホップとして存続可能な上流の候補の順序付けされた集合を選択し、最適なパス及びリンク・コスト(link cost)を有する上流ノードに登録され、最終的には1つ以上の利用可能なネットワークと関連付けられるAPに登録される。ノードにより実行されるネットワーク発見処理は、ユーティリティ・ホストシステムに対する出口(egress)のためのAPに対してパケットを上流に転送するルートが存在することを保証する一方で、上流のノード及びAPへの明示的な登録により、ネットワークの最新の概念がAPに提供され、トラフィックがノードに対して下流に流れることが保証される。これは、ネットワークノードが1つ以上のAP(ゲートウェイ)を介して複数のネットワークの一部になることが可能であるマルチ出口/マルチ入口ルーティング方式である。
【図面の簡単な説明】
【0004】
【図1A】可能な一実施形態の全体的なネットワークアーキテクチャを示す図である。
【図1B】可能な一実施形態の全体的なネットワークアーキテクチャの別の表現を示す図である。
【図1C】可能な一実施形態の無線ユーティリティ・ネットワークを示す概略ブロック図である。
【図2】ルーティングされるパケットのリンク層ヘッダのビット毎の構造の表現を示す図である。
【図3】ノードにより送出されるノードにより識別される特定のネットワークへの最適なパスに関するネットワーク・アドバタイズメント・メッセージの形式を示す図である。
【図4】ノードが隣接ノードからネットワーク・アドバタイズメントを受信した後にそのノードにおいて構成されるルーティング・テーブルの簡略化表現を示す図である。
【図5】ノードに存在する可能性のある異なるルートタイプのルートのリストの一例を示す図である。
【図6】ノードが上流の別のノードに送出する「上流登録」メッセージの形式を示す図である。
【図7】上流ノードが登録ノードに送出する「上流登録確認応答」メッセージの形式の一例を示す図である。
【図8】ノードが登録されるのを要求するAPに送出する「AP登録」メッセージの形式の一例を示す図である。
【図9】「AP登録」メッセージ内に含まれるAREG隣接ノード記述のコンテンツを更に示す図である。
【図10】エンドノードが1つのWANネットワークへの出口を提供する2つ以上のAPに複数の中継器を介して接続されるネットワークを示す図である。
【図11】図10に示すネットワークにおける立ち上げ処理中にネットワークへの出口のためのエンドノードM1041で生成される上流ホップの順序付けリストの表現を示す図である。
【図12】リンク・コストの1つに変更があった場合の図11のネットワークを示す。
【図13】図13に示すネットワークにおけるルート更新の処理中にネットワークへの出口のためのエンドノードMで生成される上流ホップの再順序付けリストの表現を示す図である。
【図14】複数のAP、中継器及びエンド・ポイント・デバイスが1つずつ立ち上がる場合のサンプルネットワークを示す図である。
【図15】可能な一実施形態において、互いに対するRF通信リンクを確立できる全てのノード間のリンク・コストを示す表である。
【図16】図17で使用される記号の説明を示す表である。
【図17】ノードが確立されるように図14のネットワークにおいて起動される時に行なわれるルート判定及び伝播処理の概要を示す図である。
【図18】適応ルーティングに対するマルチ出口/マルチネットワーク構成を示す図である。
【発明を実施するための形態】
【0005】
実現例の種々の新しい詳細及び要素の組合せを含む上記の好適な特徴及び他の好適な特徴については、添付の図面を参照して更に詳細に説明し、請求の範囲において示す。本明細書で説明する特定の方法及びシステムは、例示として示すが限定するものとして示されないことは理解されるだろう。当業者には理解されるように、本明細書で説明する原理及び特徴は、本発明の範囲を逸脱せずに種々の多くの実施形態において採用されてもよい。
【0006】
以下の説明において、説明の目的のために、本明細書で開示される本発明の種々の概念を完全に理解できるように特定の専門用語について示す。しかし、本明細書で開示される本発明の種々の概念を実現するために、それらの特定の詳細は必要ないことが当業者には明らかである。
【0007】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する動作の記号表現及びアルゴリズムに関して提示される。これらのアルゴリムの記述及び表現は、データ処理分野の他の技術者に研究の内容を最も効率的に伝達するために当業者により使用される手段である。本明細書において、アルゴリズムは、所望の結果を導く自己無矛盾な一連の直列ステップ及び並列ステップであるか又はそのようなステップであると一般に考えられる。ステップは、物理量の操作を必要とするステップである。
【0008】
しかし、それらの用語及び同様の用語の全てが適切な物理量と関連付けられ、それらの量に適用された単なる便利なラベルであることが考慮されるべきである。特に指示のない限り、以下の説明から明らかであるように、明細書中、「処理」又は「演算」又は「計算」又は「判定」又は「表示」等の用語を利用する説明は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表されるデータを操作し且つそれらのデータをコンピュータシステムメモリ又はレジスタ、あるいは他のそのような情報記憶装置、送信装置又は表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステム又は同様の電子演算装置の動作及び処理を示すことが理解される。
【0009】
更に本発明は、本明細書の動作を実行する装置に関する。この装置は、要求される目的のために特に構成されてもよく、あるいはコンピュータに格納されるコンピュータプログラムにより選択的に起動されるか又は再構成される汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、フロッピディスク、光ディスク、CD−ROM及び光磁気ディスクを含む任意の種類のディスク、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EPROM、EEPROM、磁気カード又は光カード、あるいは電子命令を格納するのに適し且つ各々がコンピュータシステムバスに結合される任意の種類の媒体等のコンピュータ可読記憶媒体に格納されてもよいが、それらの限定されない。
【0010】
本明細書において提示されるアルゴリズム、処理及び方法は、任意の特定のコンピュータ又は他の装置に本質的に関係せず又はそれらに限定されない。種々の汎用システムは、本明細書の教示に従ってプログラムと共に使用されてもよく、あるいは要求される方法ステップを実行するために更に専門化された装置を構成するのに便利であることを実証するだろう。これらの種々のシステムに対する要求される構造は、以下の説明から明らかとなるだろう。更に本発明は、任意の特定のプログラミング言語を参照して説明されない。本明細書で説明されるような本発明の教示を実現するために種々のプログラミング言語が使用されてもよいことは理解されるだろう。
【0011】
(無線ネットワーク)
図1Aを参照すると、通信ネットワークは、互いに(少なくとも1つ以上と)リンクされ且つ無線LAN160内の1つ以上のアクセスポイント(AP)にリンクされる複数のデバイス140及び130(「ノード」)を含む。特に指示のない限り、APは「ゲートウェイ」と呼ばれてもよい。APは、1つ以上のネットワーク110を介して、一般にはワイド・エリア・ネットワーク(WAN)を介して1つ以上のバック・オフィス・システム(BOS)150にリンクされてもよい。バック・オフィス・システムは、図1Bに示すように中央サーバ150等の中央サーバ等の1つ以上の演算装置に実現されてもよく、1つ以上のネットワークにわたり実現されてもよい。
【0012】
図1Bを参照すると、バッテリ式デバイス(BPD)130及び/又は定電力デバイス(CPD)140等のノードは、リンクをセットアップできる全ての隣接ノードをリスンすることにより利用可能なネットワーク110を発見してもよく、参加すべきネットワークを選択してもよく、且つ次ホップとして存続可能な上流の候補の集合を選択してもよい。尚、本発明の好適な一実施形態において、CPDはBPDに対するプロキシとして動作してもよい。しかし、別の実施形態では、BPDがノードとして無線ネットワークにプロキシなしで直接参加できてもよい。
【0013】
(例1)
図1Aの定電力デバイス140のノードM−1は、その隣接ノードからWANネットワーク110(固有のIPアドレスを有する)タイプの2つのネットワークWAN−1及びWAN−2に関してヒアリングし、それらのWANへの出口を提供するアクセスポイント120タイプのAP−1及びAP−2の双方に登録される。これは、中央サーバ150タイプのBOS−1と通信するために、定電力デバイス140タイプの上流ノードM−5、M−6、M−18、M−2及びM−12を介して行なわれる。これらのノードの各々は、次ホップ、並びに対応するリンク・コスト(ローカルノードと次ホップとの間の隣接コスト)及びパス・コスト(次ホップによるアドバタイズされた出口のコスト)の順序付けリストによりルーティング・テーブルを構成してもよい。各ノードは、上流の隣接ノード及びゲートウェイ120に自身を順次登録する。ゲートウェイ120は、ネットワークトポロジ、並びにその制御下の全てのデバイス及び他のデバイスの機能を常時監視してもよい。ノードは、ローカルの状態及び直接隣接ノードの状態を維持してもよく、自身の登録を周期的に更新してもよい。
【0014】
(無線ユーティリティ・ネットワーク)
以下に例示する実施形態は、ユーティリティ・ネットワークにおいてユーティリティ・メータを監視及び制御するネットワークを使用するシステム及び方法を提供する。
【0015】
図1Cは、本発明の実施形態を実現するために使用されてもよいユーティリティ・ネットワーク170を示す概略ブロック図である。ユーティリティ・ネットワーク170は、1つ以上の電子デバイス171又はノードを含んでもよい。好適な一実施形態において、電子デバイス171は、無線ローカル・エリア・ネットワーク(LAN)172にわたり接続されてもよい。ユーティリティ・ネットワークの例において、LANは、ユーティリティに対する隣接領域又はサービス領域に対応するNAN(Neighborhood Area Network)であってもよい。例示する実施形態において示すように、複数のLANが使用されてもよく、それらのLANは、所定の電子デバイスが1つの無線LANのみに接続又は複数の無線LANに接続される(又はその一部となる)ように重なり合っても重なり合わなくてもよい。ノードは、任意の種類の電子デバイスであってもよい。電子デバイス又はノードの例には、ユーティリティ・メータを含むか又はユーティリティ・メータに接続されてもよいユーティリティ・ノードが含まれる。ユーティリティ・メータは、計量供給量、一般には電気、水、天然ガス等のコモディティを測定できるデバイスである。ユーティリティ・メータに接続するユーティリティ・ノードは、ネットワーク上で通信するためにネットワークインタフェースカード(NIC)を含んでもよく、1つ以上の無線LAN上で通信するために1つ以上のRFトランシーバを含んでもよく、また、1つ以上のユーティリティ・メータ・インタフェース・デバイス(所定のユーティリティ・ノードは、電気、ガス、水等の異なるコモディティを計量供給しても、しなくてもよい複数のメータにインタフェースしてもよい)を含んでもよい。ユーティリティ・ノードは、インプレミス・ネットワーク(無線ネットワークであってもなくてもよい)を介してインプレミス・デバイスに接続するインプレミス・デバイス・インタフェースを更に含んでもよい。インプレミス・デバイス・インタフェースは、インプレミス・デバイスに接続し、ユーティリティ・ノードとインプレミス・デバイスとの間の通信リンクを提供する。更に、ユーティリティ・ノードは、ユーティリティ・ノードに接続される無線通信ネットワークとインプレミス・デバイスとの間の通信リンクを提供してもよい。電子デバイスの他の例には、セットトップボックス(ケーブルテレビ又は衛星テレビ配信において使用されるような)、家電製品(例えば、冷蔵庫、ヒータ、照明、調理器具等)、コンピュータ又は演算装置(例えば、ゲームコンソール、記憶装置、PC、サーバ等)、中継器、ゲートウェイ、アクセスポイント、ルータ又は他のネットワーク化デバイス等のネットワーク化デバイス、電話機又は携帯電話、バッテリ記憶装置、輸送装置、輸送機関(例えば、電気等の計量供給/監視されるコモディティを受け取るためにユーティリティ・グリッドに「プラグ−イン(plug-in)」できても、できなくてもよい電気自動車、ハイブリッド車又は他の乗り物)、エンターテイメントデバイス(例えば、TV、DVDプレーヤ、セットトップボックス、ゲームコンソール等)、あるいは家、会社、道路、駐車場又は他の場所で見られる他のデバイス等の通信デバイスが含まれる。中継器は、電子デバイス171と無線LAN172との間の通信を処理してもよい。例えば、中継器は、電子デバイスと無線ネットワークのインフラストラクチャとの間の通信を提供できる。特に指示のない限り、メータ、電子デバイス、ゲートウェイ等のネットワークの他のデバイスは中継器として動作してもよく、中継器はネットワーク上で他のデバイス又はソフトウェアの機能を実行してもよい。
【0016】
無線LAN172は、任意の種類の無線ネットワークであってもよく、任意の周波数、通信チャネル又は通信プロトコルを使用してもよい。本発明の好適な一実施形態において、1つ以上の無線LAN172はFHSS(周波数ホッピング方式:Frequency-Hopping Spread Spectrum)ネットワークである。
【0017】
一般にLAN172は、1つ以上のアクセスポイント(AP)173に接続される。所定のLANは、単一のAPにのみ接続されてもよく、あるいは2つ以上のアクセスポイントに接続されてもよい。アクセスポイント173は、1つ以上のワイド・エリアネット・ワーク(WAN)174に接続されてもよい。WAN174は、1つ以上のバック・オフィス・システム(BOS)175に接続されてもよい。バック・オフィス・システムは、AMIネットワークにおいて要求されるような計量供給情報の収集への関与、計量供給デバイスの管理、ネットワークに対するセキュリティ又は他の機能を含む種々のビジネス又は管理タスクを処理してもよい。バック・オフィス・システムの例には、課金及び会計システム、プロキシサーバ、停電検出システム(ユーティリティ・ネットワークにおいて使用されるような)、データ記憶システム等が含まれる。
【0018】
LAN又はWAN、あるいはそれらの双方の組合せであってもよい通信ネットワーク内のノードは、1つ以上のプロトコルを使用して通信してもよい。ノードは、電子デバイス、中継器、アクセスポイント、ルータ又はBOSを含んでもよい。あるノードはIPv6を使用して通信できてもよく、あるノードはIPv4で通信できてもよく、また、あるノードはIPv4又はIPv6のいずれかで通信可能であってもよい。いくつかのノードは、IPv6パケットをIPv4パケットにカプセル化できてもよい。更に、いくつかのノードは、IPv6ネットワークを通るIPv4トンネルを確立できてもよい。ノード間の通信及びノードを接続する無線通信ネットワーク内で使用されるルーティングについては、以下に更に完全に説明する。
【0019】
本発明の好適な一実施形態において、使用されるルーティング・プロトコルは、宛先との最適なルートを判定するためのホップ毎のマルチ出口/マルチ入口アルゴリズムであり、これは、パケットをルーティングする次ホップを判定するための計測値として安定した上流及び/又は下流ルーティングのパス・コスト(path cost)及び/又は履歴を使用してもよい。本発明の好適な実施形態において、ホップ数は、パス・コストを評価するためには使用されないが、以下に説明するようにルーティングループを防止するために使用される。そのような一実施形態において、ノードはパケットを送信するための好適なルートとして最小計測値を有するルートを選択してもよい。
【0020】
本発明の好適な一実施形態において、ルーティング・プロトコルは、全て(好ましくは)の隣接ノードに到達し且つ確認応答及びそれらの発見された隣接ノードに対するリンク品質推定値の初期値を得るために、全てのスロット又はチャネルにわたる新しいノードによる初期ネットワーク発見走査処理において使用される。この初期リンク品質推定値は、対話するのに最適な上流の複数の隣接ノードを選択するために使用されてもよい(選択された数字は設定可能であってもよい)。
【0021】
本発明の好適な実施形態において、上流ノードにノードを登録することは、ノードが別のネットワークへの出口に対してそれらの上流ノードを使用しようとすることを意味する。上流ノードに登録することに応答して、上流ノードは自身が維持する下流ルーティング・テーブル・エントリに登録する下流ノードを追加する。上流ノードは、下流ノードによる登録に応答して登録するノードに関する最新のタイミング情報を維持してもよい。互いを介してルーティングするノードは、同期し続け且つFHSS技術を利用してRF LANにおいてパケットを交換するために周期的にタイミング情報を交換するようにセットアップされるのが好ましい。本実施形態において、タイミング更新データは、任意のデータ転送メッセージに含まれるが(piggyback)、事前に設定された間隔の間(例えば、約30分)にデータ交換がなかった場合は明示的なタイミング情報交換がトリガされてもよい。
【0022】
1つ以上のAPにノードが登録されてもよい。この登録処理は、登録するノードをルーティング・テーブルに追加するようにAPに指示し、ノードの状態が最新であることを保証するのが好ましい。APへのノードの登録は、上流ノードへの登録より少ない頻度で周期的に行なわれてもよい。本発明の好適な実施形態において、その頻度は約12時間に1回である。
【0023】
(アドレス指定)
(IPv6アドレス指定)
無線通信ネットワークにおける各ノード130及び140は、固有のIPv6アドレスにより任意の特定のネットワークにおけるエンド・ツー・エンド(end-to-end)・ルーティングのために識別されてもよい。一般にIPv6アドレスは、2つの論理部分、すなわち64ビット・ネットワーク・プレフィックス(prefix)及び64ビットホスト部分から成る。ノードによるAPへの登録が成功すると、APは、ノードが参加しているサブネットと関連付けられるグローバルにルーティング可能なIPv6プレフィックスを含むネットワーク構成を含むTLV(タイプ−長さ−値)の集合をノードに渡してもよい。ノードは、ダイナミックDNS更新要求(RFC2136)をネットワークホストユーティリティシステム(BOS)DNSサーバに送出してもよい。アプリケーションサーバが無線LANにトラフィックを送出したい場合、アプリケーションサーバは、WANを介する適切なAPへのレイヤ3(IP)ルーティングのためにノードのDNS名をIPv6アドレスに解決してもよい。WANがIPv4を使用する場合、IPv6パケットはIPv4クラウドを介するトンネル(tunneling)のために適切なプレフィックスと共にIPv4内にカプセル化されてもよい。BOSにおいて、受信されたIPv6パケットは非カプセル化される。
【0024】
ノードは、同一のAP上又は複数のAP上で複数のネットワークに登録されてもよい。この場合、ノードは、最小コストパスの推定又は計算に基づいて属するネットワークの優先順位を設定してもよい。本発明の好適な実施形態において、ノードは、登録される各ネットワークに対するIPアドレスを有する。DNSサーバは、DNSサーバにおいて規定されたポリシーに従って好適な順序でそれらのIPアドレスをノードのホスト名と関連付けてもよい。WANネットワークのBOSサーバが無線LANにトラフィックを送出したい場合、DNSサーバは、ノードのホスト名を解決しつつ候補IPv6アドレスを順番に調査する。上述のように、トンネルを可能にするためにBOSサーバにおけるIPv6パケットを適切なプレフィックスを含むIPv4パケットにカプセル化することにより、WAN IPv4クラウドを通過してもよい。
【0025】
(リンク層アドレス指定)
各ノード130及び140は、無線インタフェースに割り当てられる固有のリンク層アドレスにより無線LANにおけるルーティングのために識別されてもよい。本実施形態において、各ノードは単一のインタフェースのみを有する。他の実施形態では、複数の別個のリンク層アドレスを有することができる。一般にリンク層アドレスは8バイトの長さであり、デバイスのMACアドレスである。リンク層ブロードキャストアドレスは、16進数でff:ff:ff:ff:ff:ff(全て1)であってもよい。このローカルブロードキャストアドレスにより送信されるパケットは、それらを受信する全てのユーザにより処理されるのが好ましい。
【0026】
(RFリンク層パケット転送)
図2は、以下の表で説明するように情報を保持してもよいリンク層ヘッダのビット構成を示す。
【0027】
図2に示すリンク層ヘッダにより保持されるフラグを表1に示す。

【0028】
図2に示すように、フラグの後にはパケットを生成するノードのソース・アドレスが続く。本発明の好適な実施形態において、フラグのソース・アドレスはブロードキャストアドレスに設定されることはない。
【0029】
図2に示すように、ソース・アドレスの後にはパケットが送出される次ホップのアドレスが続く。本発明の好適な実施形態において、Source Route bitが設定される場合、宛先アドレスにおいて終了するホップアドレスのリスト全体が含まれ、設定されない場合、1つの次ホップのみが指定される。いずれの場合においても、最終的なアドレスは、パケットがルーティングされる宛先である。
【0030】
source route bitが設定される場合、パケットヘッダは、パケットが使用するフルパスを含む。尚、パケットは中間ホップを含まない2つのノード間でソース・ルーティングされる(すなわち、Add Cntは2であり、宛先アドレスはノード又はブロードキャストアドレスである)。これは、デバッギング移動局等の端末の個々のノード120及び140からデータを得るために使用されてもよいメカニズムである。
【0031】
source route bitが設定されない場合、ノード上のL2転送コードはAddress Countフィールドの値に基づいて判断してもよい。例えば、Address Countは、RF LANからWANネットワーク(117)又は中央サーバ(150)に送出されているパケットにおいて1に等しい場合、これは、パケットがシステムにおける任意の出口ノード又はAPに転送可能であることを意味する。Address Countが1より大きい場合、これは、ノードにおける転送テーブルの全ての追加のアドレスが受け入れ可能なL2出口宛先であることを意味する。ネットワークに対する転送テーブルのアドレスは、最も望ましくないアドレスから最も望ましいアドレスに優先度で順序付けされる。
【0032】
Address Countが1より大きい場合、パケットは輻輳又は障害の場合に異なるL2宛先にルーティングされる。異なるL2宛先が選択される場合、先のネットワークは除去されるべきである(Current Offsetを減分するか又は先のフィールドをゼロにすることにより)。先のネットワークを除去することにより、ルーティングループの発生を低減するのを助長しようとする。ここで、パケットは元の発信元より宛先から遠いところで挿入される。
【0033】
パケットがノードのL2転送を調査する場合、TTLは減分されるのが好ましい。L2転送を調査するパケットは、TTLがゼロになった時にドロップされる。ローカルホスト宛てのゼロのTTLを有するメッセージはスタックに渡される。完全なソースルートを使用せずにAP(ゲートウェイ)120にメッセージを送出しているノード130及び140は、少なくともAP120までの最長のパスにおけるホップ数になるようにTTLを設定するのが好ましい。最大のTTLは、管理者により設定されてもよい。本発明の好適な実施形態において、L2ブロードキャストに設定された宛先アドレスにより送出されるパケットは転送されない。
【0034】
ユニキャストパケットの出力は、DLC(データリンク制御)層により確認応答されるのが好ましい。ブロードキャストパケットは、FHSS方式でユニキャストパケットとして実現されてもよく、確認応答されるのが好ましい。確認応答されなかったユニキャストパケットの送出は不可能である。ノード130及び140がパケットを隣接ノードに送出する場合、MAC層は、再試行回数及び最終的な送信の成功を報告してもよい。ネットワーク層は、隣接ノード毎にこの情報のカウンタを保持してもよい。
【0035】
(ルーティングサブシステム)
好適な実施形態において、ルーティングサブシステムは、以下の4つの機能性構成要素に分割されてもよい。
−隣接ノードの走査及び発見
−隣接ノードの維持
−上流隣接ノードへのノードの登録
−APへのノードの登録
【0036】
ルーティングサブシステムの本発明の好適な実施形態は、レイヤ2ルーティングのためのコードエンティティDLF(データリンク転送機能:Data Link Forwarder)及び隣接ノードを取得し且つ隣接ノード間のタイミング情報を維持するためのコードエンティティMLME(媒体アクセス制御サブレイヤ管理エンティティ:Media Access Control Sub-Layer Management Entity)を利用する。DLFは、APIの集合を介してMLMEにインタフェースする。
【0037】
(隣接ノードの走査及び発見)
CPD140等のノードは、例えば、以下の場合にネットワーク発見を開始してもよい。
・存続可能な出口ノードを有さない場合(いずれのAPとも関連付けられない場合)
・管理上、あるいは部分的な障害又は伝播損失のために、上流ノードとの通信が切断された場合
・1つのAPへの周期的登録メッセージが少なくとも3回失敗した場合
・新しいネットワークがアドバタイズされる場合
【0038】
例えば、指定されたマスタ(CPDノード140)へのリンクが切断された場合、BPD130等のノードはネットワーク発見を開始してもよい。
【0039】
例示する実施形態において、ノードは2つの基本的な処理、すなわちブロードキャスト発見及び隣接ノードクエリを使用して隣接するノードを発見する。ノードが立ち上がった時、MLMEは「ブロードキャスト発見処理」を介してそのノードに隣接するノード(又は直接接続されたRFリンク)の全てを見つけてもよい。MLMEはこれを無作為に行ない、ブロードキャスト発見フレームを送出し且つブロードキャスト発見フレームを送出する際に使用するチャネルを選択し始める時期(チャネルセクションは無作為に行なわれてもよい)を判定してもよい。MLMEは、全てのスロットに対して繰り返してもよく、連続するブロードキャスト発見フレームの各々を次のスロットに送信し、最後のスロットで終了する。好適な実施形態において、この処理は、ブロードキャスト発見フレームがFHSSを使用するネットワークのホッピングシーケンスの全てのチャネルに送出されることを保証する。
【0040】
例示する実施形態において、ブロードキャスト発見に対して2つのモード、すなわちアグレッシブ及びパッシブが存在する。デバイスは、電源が投入されると、ミリ秒単位であってもよい、ランダム間隔で発見フレームを送出するアグレッシブ発見モードに入ってもよい。アグレッシブ発見期間が終了した場合、デバイスはパッシブ発見モードに入ってもよい。パッシブ発見モードにおいて、ノードが各ブロードキャスト発見フレームを送出する際には一般に分単位のより長い待ち時間を必要とする場合がある。
【0041】
発見処理が1つの隣接ノード又は隣接ノードの集合を見つけると、MLMEは、直接隣接ノードに関して発見した隣接ノードをクエリしてもよい(それに応答して直接隣接ノードの全てが提供されるのが好ましい)。これは、より迅速にネットワーク環境を発見するために(任意の1つの特定のデバイスに接続することを期待して大量のフレームをブロードキャストすることと異なる)行なわれてもよい。隣接ノードクエリ・メカニズムは、単純なクエリ/応答であるのが好ましい。すなわち、隣接ノードクエリを受信するノードは好ましくはリスト中の全てのノードに基準を適用し、その基準に「一致」する全てのノードは隣接ノード応答に配置されるのが好ましい。基準が与えられない場合、リスト中の全てのノードが隣接ノード応答に配置されてもよい。
【0042】
MLMEは、発見が終了した時期をDLFに通知してもよい。すなわち、全て(好ましくは)のノードが隣接ノードに関してクエリされ、それらの隣接ノードに到達しようとする試みがなされる。
【0043】
DLFは、MLMEにより構築された隣接ノードのリストを使用して、アドバタイズされた出口ルートを見つけようとする。DLFは、MLMEの隣接ノードテーブルのデバイスからの「ネットワーク・アドバタイズメント」(NADV:Network Advertisement)メッセージをリスンすることによりこのタスクを達成してもよい。
【0044】
NADVメッセージは、出口ルートのパス・コスト及びホップ数を含んでもよい出口ルートの集合をアドバタイズしてもよい。パス・コストは、全ての候補パスのうちその出口(AP)と関連付けられる最小コストである。ホップ数は、その出口に到達するのに必要な最大のホップ数である。ホップ数は、ルーティングループを防止するために使用され、パス・コストと共に使用されない。NADVメッセージの形式を図3に示す。宛先MACアドレスは、ネットワーク・アドバタイズメントが最終的に到着する際の送信元となるデバイスのMACアドレスである。殆どの場合、ネットワークが出口ノードにより識別されるため、宛先MACアドレスは出口ポイント(又はAP)である。
【0045】
各ノードは、NADVメッセージの形式で受信されたアドバタイズメントから、利用可能なネットワーク、各ネットワークを識別する出口ノード(AP)及びその出口ノードへの利用可能なパスを一覧表示するルーティング・テーブルを構成できる。利用可能なパスの各々は、次ホップ、パスの種類を記述するフラグ、並びにリンク及びパス・コストにより記述されるのが好ましい。フラグは、ルートの種類、すなわちテーブルの永続的なエントリであるか、ノードによりアドバタイズされるか等を示す。好適な実施形態において、ノードは、ネットワークに対する合計のコスト(リンク及びパス・コスト)が最小である上流ノードに登録することを決定する。他の実施形態は、ネットワークへの長期(long-term)出口を提供する際にリンクの検査された信頼度を含む他の基準を使用してもよい。ルーティング・テーブルに取り込まれてもよい情報の一例を図4に示す。
【0046】
ノードは、ルーティング・テーブル情報から、宛先MACアドレス、各アドレスと関連付けられる種類及びそのパス・コストのリストを含む転送テーブル又は次ホップテーブルを構成してもよい。本発明の好適な実施形態において、種類は、宛先に関連付けられた選択優先度を反映し、source−routed、hop−by−hop、direct adjacency、breadcrumb、又はlocalのうちの1つであってもよい。図5は、一覧表示されてもよいルートの種類の一例を提供する。種類がhop−by−hopである宛先の本発明の好適な実施形態において、ソース・ノードの次ホップと共に一覧表示される。種類がsource−routedである宛先の場合、ホップのアレイは転送テーブルの宛先と共に明示的に提示される。同一の宛先に対する複数のエントリは、種類のフラグ及びパス・コストにより判定されてもよい優先順位で一覧表示されてもよい。本発明の好適な実施形態において、以下の例においてDestination 4に到達しようとする場合、ノードはまずリンクされたリストにパス・コストの昇順に保持されるhop−by−hopのエントリの1つを使用する。他の実施形態において、ルーティング・アルゴリズムは、宛先アドレスへの順方向パスの集合を構造化することにより、ソース・ノードで保持されるルーティング情報を考慮してDestination 4に対するソース・ルート・エントリを作成する。更に他の実施形態において、ノードは、ある時点で通過するトラフィックから受信したパンくず(breadcrumb)ルートを使用する。
【0047】
(隣接ノードの維持)
本発明の好適な実施形態において、上流隣接ノード及び下流隣接ノードは、クロックを同期し且つノードが互いにパケットを交換できることを保証するために使用されるMLMEビーコン又は対象とする周期的キープ・アライブ・メッセージを介して常に維持される。この一定の接続及びフィードバックは、以下を含む複数の目的のためにL2ルーティングレイヤにより使用されてもよい。
・隣接ノードの更新データは、タイミング更新ビーコンで下流デバイスに通信される。
・ノードは、下流又は上流ノードが消滅したかを検出するためにMLMEを使用する。
【0048】
ノードの上流リンク特性は、例えば、以下の場合に変更されてもよい。
・上流ノードが消滅する場合
・新しい好適な上流ノードが検出される場合
・リンク品質が変更する(徐々に平滑化される)場合
【0049】
本発明の好適な実施形態において、これらの規則はパスの全ての上流ノードに繰り返し適用される。調整が行なわれる場合、ノードは各出口ノードに対するコストを再計算する。上流ノードに対するノードのコストがルーティングする場合に介する1つのネットワークに対するコストを大きく変化させる場合、次のMLMEビーコンの集合でその情報を下流ノードに配信する。
【0050】
本発明の好適な実施形態において、ネットワーク情報の変更は、変更の部分的なリストが配信されていることを示す0x2にプロトコルタイプフィールドを設定した状態で「隣接ノードリスト」メッセージにより伝播される。一実施形態において、これは、新しいネットワークの追加又は既存のネットワークのコストの変更を反映できる。上流ノードが消滅し、特定のネットワークが実際上ルーティング可能でなくなると、「隣接ノードリスト」メッセージは、ネットワークが上流ノードネットワークリストから除去されたことを示す0x3にプロトコルタイプを設定した状態で送出される。
【0051】
本発明の好適な実施形態において、APはユニキャストされる周期的ネットワーク登録メッセージによりネットワークトポロジの変更に関して通知される。これらのメッセージは、APのネットワーク内の全てのノードにより送出されてもよく、それらの上流ノード及び/又は各上流ノードに対するリンク・コストの完全なリストを含んでもよい。
【0052】
本発明の好適な実施形態において、MLMEはルーティングの目的でリンク・コストを判定するためにDLFにより使用される2つの平滑化平均、すなわち、平滑化RSSI及び平滑化情報成功率を保持する。「平滑化」という用語は、データに対して行なわれる平均化の種類を示す。本発明の好適な実施形態において、平均化は、平滑化平均=A*平均+B*サンプル;B=(1−A)を使用する。この種の平均化は、格納するのに大容量メモリを必要とせず(最後のN個のサンプルを格納するとは対照的である)、更に制御可能な量の「履歴」を有する。履歴という用語は、新しい値が現在の平滑化平均にどの程度影響を及ぼすかを示す。これは、A値及びB値により制御されてもよい。大きなA値は、平均がより小さなA値より多くの履歴を有することを意味する。他の実施形態は、普及しているネットワーク状況の下で望ましい他の平均化技術を使用できる。
【0053】
RSSIは、受信信号強度標識である。この値は、ノードから受信した全てのフレームに対して測定されてもよい。いくつかの実施形態において、この値は、リンクのビット誤り率の明示的な標識を与えない可能性があるため、リンク品質計算において十分に使用されない。任意のフレームがノードから受信された時、そのフレームのRSSIは平均化の式を使用して平滑化RSSIに平均化されるのが好ましい。
【0054】
本発明の好適な実施形態において、「情報」成功率の基準は、リンク品質の最適な測定値としてルーティング決定をする際に使用される。「情報」成功率は、パケット成功率の形式である。「情報」という用語は、通信を開始したフレーム以外のフレームを示すために使用される。ホッピングシーケンスを対象にするノードに送出された第1のフレームは、干渉のため又は受信機が使用中であるために失敗する可能性がある。対象とするノードがリスンするフレームのみを含み且つ通信開始時のフレームを含まない情報成功率は、受信機の負荷により大きく変動しないリンク品質測定値を提供する。情報成功率は、リンク品質の最適な標識であると考えられる。
【0055】
(上流ノードへのノードの登録)
各ノードは、ネットワークで使用しようとする上流ノードに明示的に登録されてもよい。この登録は、上流ノードが登録するノードに関する最新のタイミング情報を保持し且つ下流ルーティング・テーブル・エントリを保持しようとしていることを意味する。これは、トラフィックが出口に向けて流れるだけでなく、ノードに向けて戻ることができることを保証する。
【0056】
ノードは、「上流レジスタ(Upstream Register)」メッセージを送出することにより上流ノードに登録される。「上流レジスタ」メッセージは、デバイスの種類及び隣接ノード・ヘルス計測値を含む。隣接ノード・ヘルス計測値(nitghborhood health metric)は、上流がノードが過負荷状態になった時に下流ノードを選別するために使用される。小さな隣接ノード・ヘルス計測値(及び従って推定される低いパスダイバーシティ)を有するデバイスは、大きな隣接ノード・ヘルス計測値を有するデバイスより優先して選択される。
【0057】
「上流登録(Upstream Registration)」メッセージの形式は、図6で指定される。メッセージの種類は、それが上流登録であることを示す。neighborhood costは、潜在的な上流ノードの数及び有効な上流ノードの数の組合せに基づく隣接ノード・ヘルス計測値である。
【0058】
潜在的な上流ノードは、「上流登録確認応答(Upstream Registration Acknowledgement)」メッセージを使用して「上流レジスタ」メッセージに対して肯定応答又は否定応答する。デバイスの「隣接ノード・ヘルス」は、この確認応答の値に基づいて更新される。潜在的な上流ノードは、確認応答した上流ノードより小さい重みを与える。
【0059】
「上流登録確認応答」メッセージの形式を図7に与える。typeは、「上流登録確認応答」メッセージであることを示す。「Seq Num」は、「上流登録」メッセージ中の要求者により送出されたシーケンス番号である。応答のstatus codeは、以下のうちの1つであってもよい。
・0x0、ノードが正常に追加された場合
・0x1、ノードの追加が失敗した場合
・0x2、高い負荷のためにノードが拒否された場合
・0x3、ノードが既に維持されている場合
【0060】
(APへのノードの登録)
ノードは、ユニキャスト「APレジスタ(AP Register)」メッセージ(AREG)を送出することにより自身をAPに登録する。AREGメッセージは、登録するノードが上流ノードとして使用するAPのネットワークのノードのアドレス及びそれらの上流ノードの各々と関連付けられるリンク・コストのリストを含む。AREGメッセージは、他の候補ネットワーク(それらのネットワークの出口ノードにより表される)及びそれらのコストのリストを更に含んでもよい。
【0061】
AREGメッセージの形式を図8に示す。Typeは、AREGメッセージであることを示すように設定される。Mビットは、送出するデータが更に存在する場合に設定される。Seq Numberは、登録メッセージのシーケンス番号である。Message Numberは、登録メッセージが複数の部分で送出される場合に使用される。各AREG Neighborは、登録するノードにより使用されるパス中の上流ノードを記述する。
【0062】
AREGメッセージ内のAREG Neighborの記述形式を図9に示す。MACアドレスは、登録するノードがAPに通知する上流ノード又はネットワーク出口ポイントに対応する。Costは、記述される上流ノード又はネットワーク出口ポイントに対する記録されたコストである。Eビットは、Network Egress Nodeビットである。これは、隣接ノード記述が上流隣接ノードではなくネットワーク出口ノードを表す場合に設定される。
【0063】
ノードがAPに正常に登録された場合、APはそのノードをルーティング・テーブルに配置し、ノードにおける最新状態を保持することを確実にする。ノードは周期的登録メッセージをAPに送出する(12時間毎に)。APは、次のAP登録メッセージを確認した時にルーティング・テーブルを更新する。APが3つの連続する登録メッセージを見落とした場合、ノードはAPのルーティング・テーブルから除かれ、再登録する必要がある。
【0064】
正常な1回目の登録に応答して、APは任意のネットワーク構成情報を含むTLVの集合を送出するのが好ましい。このリストは、特にAPのグローバルにルーティング可能なIPv6プレフィックス、APのMACアドレス、DNSサーバアドレス、ネットワーク送信タイマ及びL2/L3ルーティングに関連する任意の他の変数を含むことができる。
【0065】
ノードが多すぎるためにAPが過負荷状態になった場合、APは他の候補ネットワークを有するノードの選別を開始できる。APは、AREGメッセージで報告された種々のネットワークを調査することによりこれを評価でき、最も状態のよい候補をネットワークから除去してもよい。
【0066】
立ち上がるノードの本発明の好適な処理は、図10及び図11を使用して以下のように要約できる。図10は、ネットワーク1(1010)への出口を提供するAP1(1021)及びAP2(1022)を含むネットワークのレイアウトを示す。中継器R1(1031)、R2(1032)及びR3(1033)、並びにアクセスポイントAP1及びAP2は、既に立ち上がっていると仮定される。M1(1041)は第1のエンドノードであり、ネットワークにおけるその立ち上げ処理については以下に説明する。表2a及び表2bは、検出及び確立される全てのリンクのリンク・コストを一覧表示する。

【0067】
M1(1041)が立ち上がる場合、MLME隣接ノード走査は、第1のステップにおいてR2(1032)及びR3(1033)の隣接ノードを発見する。隣接ノードを確立すると、R2(1032)及びR3(1033)は、ネットワーク・アドバタイズメント・メッセージを送出する。詳細には、第2のステップにおいて、R2(1032)は、AP1(1021)を介するネットワーク1(1010)への1つの出口ルートをアドバタイズするネットワーク・アドバタイズメント・メッセージを送出する。メッセージは、AP1(1021)のMACアドレス、ネットワークアドレスクラス又はサブネットマスク(IPv6又はIPv4アドレス)、R1(1031)から見た場合のM1(1041)に対する隣接ノードコスト、出口ノード(2)に到達するのに必要な最大ホップ数及びネットワーク(35)へのパスの最小コストを含む。短い記号を使用して、[R2(1032) sends NADV(30,MAC_ADDRESS(AP1(1021)),2,35)]と示せる。尚、R2(1032)は、パス・コストが35より大きい45であるため、AP(1021)への直接ルートをアドバタイズしない。次に第3のステップにおいて、R3(1033)は、AP2(1022)を介する1つの出口ルートをアドバタイズすることに応答してNADVメッセージを送出する。短い記号では、[R3(1033) sends NADV(15,MAC_ADDRESS(AP2(1022)),1,40)]と書ける。この後、第4のステップにおいて、M1(1041)は、パス・コスト及びリンク・コストを加算することによりネットワークの合計のコストを計算し、使用する次の上流ホップの順序付けリストを作成する。上流ノードR3(1033)は合計のコスト55を有する一方、上流ノードR2(1032)は合計のコスト65を有する。従って、R3(1033)の方が好ましく、R3(1033)は上記表2a及び表2bに示すようなリストにおいてR2(1032)の上に配置される。第5のステップにおいて、M1(1041)は、上流登録メッセージをR3(1033)に送出することによりR3(1033)への登録を試み、この出口に対する他の可能なノードを報告しない。第6のステップは、M1(1041)を受け入れる時に行なわれ、R3(1033)が上流登録確認応答メッセージをM1(1041)に送出する。M1(1041)は、この出口に対して他の潜在的なノードを有さないため受け入れられる。この後に第7のステップが続き、M1(1041)は上流登録メッセージをR2(1032)に送出することによりR2(1032)への登録を試み、この出口に対して他の可能なノードを報告しない。次は第8のステップであり、R2(1032)は上流登録確認応答メッセージをM1(1041)に送出し、M1(1041)を受け入れる。M1(1041)は、この出口に対する他の潜在的なノードを有さないため受け入れられる。第9のステップにおいて、M1(1041)は、AP登録メッセージを送出することによりAP2(1022)に登録しようとする。M1(1041)は、使用しようとしている上流ノードとしてR3(1033)を報告する。第10のステップが後続し、AP(1022)は、AP登録確認応答メッセージを送出することによりM1(1041)を受け入れ、M1(1041)にネットワーク構成(特に、IPv6アドレス、DNSアドレス、AP2(1022)のネットワーク・プレフィックス)を渡す。この時点で、AP2(1022)はM1(1041)にルーティング可能である。次のステップ、すなわち第11のステップでは、M1(1041)がAP登録メッセージを送出することによりAP1(1021)に登録しようとする。M1(1041)は、使用しようとしている上流ノードとしてR2(1032)を報告する。第12のステップにおいて、AP1(1021)は、AP登録確認応答メッセージを送出することによりM1(1041)を受け入れ、M1(1041)にネットワーク構成(特に、IPv6アドレス、DNSアドレス等、AP(1021)のネットワーク・プレフィックス)を渡す。この時点で、AP1(1021)もM1(1041)にルーティング可能である。次の第13のステップにおいて、M1(1041)はダイナミックDNS(RFC2136)更新メッセージをAP2(1022)を介してIPv6アドレスを有するネットワーク1のDNSサーバに送出する。最後のステップは、M1(1041)がダイナミックDNS(RFC2136)更新メッセージをAP1(1021)を介して第2のIPv6アドレスを有するネットワーク1のDNSサーバに送出する時に行なわれる。
【0068】
変更がネットワークにおいて起こった時にルートを更新する方法は、1000のネットワークにおいて変更されるリンク・コストの一例を使用して示される。変更されたネットワークを図12に示すが、相違点は、R1(1031)からAP1(1021)までのパスのコストが20から5に変更されたことを示す太線のみである。
【0069】
第1に、R2(1032)がAP2(1021)の上流としてR1(1031)を使用するため、R1(1031)はMLMEを介してR2(1032)を更新する。R2(1032)は、AP2(1021)に対するコストを再計算する。ここで、コストは15である。R2(1032)は、20である新しいパス・コストに関してMLMEを介してM1(1041)を更新する。M1(1041)は、パス・コスト及びリンク・コストを加算することによりネットワークの合計のコストを再計算し、使用する次の上流ホップの再順序付けリストを作成する。上流ノードR3(1033)が合計のコスト55を有する一方、上流ノードR2(1032)は合計のコスト50を有する。従って、R2(1032)の方が好ましく、R2(1032)はリストにおいてR3(1033)より上に配置される。ルート情報の際順序付けリストを図13に示す。最後に、R1(1031)、R2(1032)及びM1(1041)は、次の周期的AP登録メッセージを介してAP2(1021)及びAP2(1022)に更新情報を送出する。
【0070】
次に、図14に示す小規模なRFネットワークを使用して、アクセスポイント(1520シリーズ)及び中継器(1530シリーズ)がまず現れ且つエンド・ポイント(1540シリーズ)が現れる一般的な例においてルート判定及び伝播の動作方法の好適な実施形態を示す。図15に示すように、リンク・コストは、RF層において互いに対して通信を確立するノード間でマップされる。図16は、好適な実施形態を示すために図17と共に使用される。この実施形態において、アドバタイズされたネットワークへの上流へのパケットの出力又はアドバタイズされたWANネットワークからRFネットワークへの下流へのパケットの出力のためのルート又はパスを確立するために、完全な一連の交換がノード間で行なわれる。
【0071】
尚、図17のステップ4において、R2(1532)は、R1(1531)を介するNet1に対する3ホップルートをアドバタイズせず、R1(1531)に戻る。既に通過したパスに沿って戻るルーティング情報をアドバタイズしないこの技術は、「スプリッドホライズン(Split horizon)」技術と呼ばれ、ルーティングループを防止する。
【0072】
本発明の好適な一実施形態において、ルーティング・メカニズムは、好適な実施形態の無線ネットワークにおいて使用される周波数ホッピング方式(FHSS:Frequency-Hopping Spread Spectrum)のアクセス方式と互換性があり且つそれを利用し、FHSSの一部の固有の動作特徴を利用するように構成される。同期してパケットを交換するために同期している必要がある種々のノードにおけるクロックドリフト(clock drift)に対処するために、定期的なタイミング更新は周波数ホッピング技術において必要である。ルーティング・プロトコルは、リンク状態情報を送出するための「キープ・アライブ(keep-alive)」メッセージとして周波数ホッピングタイミング更新データを使用することにより、パケットのオーバヘッドを最小に維持する。あるいは、タイミング更新データは、転送される任意のデータパケットに含まれることも可能である。特に指示のない限り、キープ・アライブ・メッセージは、情報を更新するために送出されるメッセージであり、定期的に送出されてもよい。ルーティング情報を更新するために使用されてもよい「I’m alive」メッセージは、一般に、最初にノードの電源が投入される時期又は最初にノードがネットワークに導入される時期等を通知するために送出される。
【0073】
そのような一実施形態において、FHSS方式を利用するネットワーク上のルーティング・プロトコルにおいて一般に使用されてきた意味のブロードキャストは存在しない。ノードは、1つずつ直接パケット交換の対象となる。本発明のルーティング・プロトコルは、各送信の間に所定の待ち時間を伴って、全てが1(16進数でff:ff:ff:ff:ff:ff)の8バイトMACアドレスを使用するリンク層ブロードキャストフレームが無作為に選択されたスロットから開始して全てのスロット又はチャネルで送出されるブロードキャストの抽象概念を使用する。
【0074】
開示される本発明の好適な実施形態において、本明細書で説明されるルーティング・プロトコルは、FHSSを使用する無線ネットワークにおいてビーコン機能を使用する。この無線ネットワークにおいて、ビーコンは、全ての隣接ノードが認識できる特定の周知の周波数ホッピングシーケンスにおける周期的なブロードキャストである。複数の隣接ノードにより受信されるブロードキャストビーコンは、ルーティング更新データを各隣接ノードに送出するよりはるかに効率的である。確認応答メッセージがなく、失敗した際の再送信パケットが少ないため、ビーコンは、ルーティング更新データより少ないオーバヘッドのより短い送信である。
【0075】
本発明の好適な一実施形態において、本明細書で説明するルーティング・プロトコルは、全てのノードに対するルートを計算及び配信するために、無線ネットワークの根における1つのゲートウェイに依存する代わりにネットワークのデバイス(ノード)の全体の計算資源を利用するように設計される。エンド・ポイントは、各ルート及び各ホップに対する関連するパス・コストを含む出口ルートアドバタイズメントに基づいて複数のアクセスポイント(ゲートウェイとも呼ばれる)を介してWANネットワークに入るために次ホップとして使用する順序付けされた種々の上流ノードの好適な集合を選択する。上流又はアクセスポイントへの主なルートに障害が起きると、エンド・ポイントのデータベースにおける第2のルート及び/又はアクセスポイントへのフォールバックは、ルートが既に事前に収束されているためルーティング・アルゴリズムが再度収束するのを待たずに即座に行なわれる。
【0076】
本発明の好適な一実施形態において、ルーティング・プロトコルにより、ノードは1つのWANネットワークから別のWANネットワークに移行できる。上流ノードが下流ノードへの周知のルートをアドバタイズする場合、上流ノードは、利用可能な全てのWANネットワークへの出口ルートの集合を送出する。各ノードにおけるルーティング・テーブルは、利用可能な全てのWANネットワークに対する複数のアクセスポイントを介する次ホップを一覧表示し、主ネットワーク又はデフォルトネットワークが利用不可能になった場合に迅速な移行を可能にする。
【0077】
本発明の好適な一実施形態において、各ノードは、使用しようとする全ての上流ノードに自身を登録する。この時点で、上流ノードは、そのノードに対する下流ルーティング・テーブル・エントリを保持できる。エンド・ポイント宛てのトラフィックは、主にホップ毎にルーティングされ、ソース・ノード又は任意の後続するノードからの次ホップのみがパケットのメッセージヘッダに追加される。当然、宛先アドレスは定期的に含まれる。パケットが通過する必要のあるノードの全体の順序付けリストがゲートウェイによりメッセージヘッダに明示的に示されるソース・ルーティングは、このアルゴリズムの範囲内である。本発明において開示されるルーティング・プロトコルは、各ノードが知識ベースに複数の次ホップを有することを可能にし、ホップ毎の転送のためにそれらの次ホップから選択する能力を与える。これを行なうことにより、パケットは送信の失敗及び再送信なしで問題のあるリンクを回避でき、RFリンクが本質的に一時的になる傾向がある無線ネットワークにおいてはるかに有利である。更に、本発明は、障害の起きたリンクがある状態でソース・ルーティング技術が強制される拡張可能なルート発見ループを回避する。
【0078】
本明細書で説明されるルーティング・プロトコルの例は、ノードが通過するトラフィックから収集する別のルートである「パンくず」ルートに対応する。「パンくず」ルートは、割り当てられたメモリがいっぱいであり且つそれらのルートが指定された時間後に新しくなくなった場合、ノードのルーティング・テーブルから廃棄される。アドバタイズされたルートに加えてこれらのルートは、パケットの正常な送信を保証するためにノードが利用可能な冗長リンクのリストを拡張する役割を果たす。
【0079】
本明細書において説明するルーティング・プロトコルの例は、IPv6ネットワークの宛先にパケットをルーティングするためにノードが利用可能な次ホップのソート及び優先順位による順序付けを可能にする。ソート論理は、種々の実現例において異なってもよい。本実施形態において、ソート論理は、ルート情報の起点、並びに宛先に対するパス・コスト及び所望のホップに対するリンク・コストを使用する。例えば、使用頻度の低いパスを使用して通過するトラフィックから収集された「パンくず」ルートから受信された次ホップには、「ホップ毎」のトラフィックにおいて頻繁に使用されるものとしてタグ付けされた次ホップより低い優先順位が与えられる。「パンくず」カテゴリ又は「ホップ毎」カテゴリ内の複数の次ホップは、パス・コストに従って順序付けリストにソートされる。ルート選択に対して他のオプションも利用可能であり、それらのオプションについては本発明の詳細において説明する。
【0080】
本明細書において説明するルーティング・プロトコルの例は、ソート論理の拡張を可能にし、最も最近使用したリンク又は設定可能なウィンドウを介して殆どのトラフィックを通過させるリンクを好み、それによりトラフィックフローのより優れた制御を可能にする。過負荷状態のリンクを回避するために、ノードが使用するのに最適な次ホップを選択する場合、可能な次ホップに対する利用可能な各リンクに対する現在のトラフィック負荷の測定値が更に考慮される。
【0081】
ノードが複数のネットワークに登録可能であり(その結果、ノードが複数のIPアドレスを得る)且つDNSサーバがノードのホスト名を解決するために設定可能なポリシーに従ってそれらのIPアドレスをソートできる状態において、RF LANへのトラフィックの入口を制御する方法が存在する。
【0082】
(ルーティングに対するロードバランシング&ロバストなロールオーバ機構)
図18は、ロードバランシング及びロバストなロールオーバ機構を提供する本応用例において説明されるルーティング・アルゴリズムを活用する特定のネットワーク展開例を示す。
【0083】
本明細書で説明するルーティング・アルゴリズムは、図18に示すような展開に特に適応可能である。複数の出口ポイントによる登録の概念及び設定可能なリンク・コストの概念は、いくつかの層の(ほぼ)瞬時のフェイルオーバを可能にするために活用されてもよい。例えば、AP−1であるアクセスポイントタイプのデバイス(1810)が障害を起こした場合、次の利用可能なAP−2は本質的に即座に選択されてもよい。更にAP−2が障害を起こした場合、パケットはAP−3を介するルートにフェイルオーバする。より中央の場所に全てのAPを集約することにより、全てのAPを介するエンド・ポイント・ノードへのルートのネットワーク・アドバタイズメントを促進し、その結果、APが分散される例のように1つ又は2つのAPではなく全てのAPにそれらのエンド・ポイント・ノードを登録する。中央の場所にある種々のAPまでのそれらのルートは、リンク・コストに関して非常に類似して見え、それらの全てのルートでノードのルーティング・テーブル(好適な実施形態において)を作成して、ロバストなフェイルオーバ機構を提供する。中継器(1830)は、より適切なAP対エンド・ポイント・ノード比のためにそれらのアドバタイズメントの範囲を拡張するのに使用されてもよい。更にAPに対するトラフィック管理ポリシーが利用され、アクセスポイントにおけるリンク又はパス・コストを調整し、ロードバランシングを達成するか又は特定の種類のトラフィックに対する資源予約を可能にしてもよい。
【0084】
本発明について、特定の実施形態を参照して説明した。しかし、上述した好適な実施形態以外の特定の形態で本発明を実施できることは、当業者には容易に明らかとなるだろう。これは、本発明の趣旨の範囲から逸脱せずに行なわれるだろう。
【0085】
従って、好適な実施形態は単なる例示であり、いかなる点においても限定するものとして考えられるべきではない。本発明の範囲は、上記説明ではなく添付の請求の範囲により与えられ、請求の範囲の範囲内の全ての変形例及び等価物は、本発明に含まれることを意図する。

【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
無線通信ネットワークにおける隣接ノードを発見するステップと、
前記無線通信ネットワークの少なくとも1つの出口ノードに関する情報であり、出口ポイントへのルートの1区間におけるノード間の少なくとも1ホップに対するパス・コストを含む出口ノード情報を受信するステップと、
隣接ノードの優先度リスト、すなわち前記出口ノードにパケットを転送する隣接ノードを選択する際に使用する送出ノードの優先度リストを計算するステップと
を含み、
前記優先度リストを計算するステップは、
対応する隣接ノードを使用して前記出口ポイントへのルートの1区間におけるノード間の少なくとも1ホップに対する前記パス・コストに基づいて前記優先度リストを計算する
ことを特徴とする方法。
【請求項2】
隣接ノードを発見するステップは、
前記無線通信ネットワークにおける前記ノードに少なくとも1つの発見フレームをブロードキャストするステップと、
前記無線通信ネットワークにおける前記ノードに少なくとも1つの発見フレームをブロードキャストすることに応答して、前記無線通信ネットワークにおける前記少なくとも1つの出口ノードに関する情報を含むネットワーク出口アドバタイズメント・メッセージを受信するステップと
を含むことを特徴とする請求項1記載の方法。
【請求項3】
前記ネットワーク出口アドバタイズメント・メッセージは、
前記無線通信ネットワークと関連付けられる出口ノードのネットワークアドレス
を含むことを特徴とする請求項2記載の方法。
【請求項4】
前記計算するステップは、
前記対応する隣接ノードを使用して、前記出口ポイントへのルートの1区間におけるノード間の少なくとも1つのホップに対するリンク・コストを含む前記パス・コストを計算する
ことを特徴とする請求項1記載の方法。
【請求項5】
前記計算するステップは、
前記対応する隣接ノードを使用して前記出口ポイントへのルートの1区間におけるノード間の少なくとも1つのホップに対する信号品質を含む前記パス・コストを計算する
ことを特徴とする請求項1記載の方法。
【請求項6】
少なくとも1つの出口ノードに登録するステップ
を更に含むことを特徴とする請求項1記載の方法。
【請求項7】
前記通信ネットワークにおいて前記対応する隣接ノードを使用して前記出口ポイントへのルートの1区間における少なくとも1つの中間ノードに登録するステップ
を更に含むことを特徴とする請求項6記載の方法。
【請求項8】
DNSサーバにより前記登録ノードと関連付けられるネットワークアドレスを報告するステップ
を更に含むことを特徴とする請求項1記載の方法。
【請求項9】
前記無線通信ネットワークにおけるノードから登録メッセージを受信するステップと、
出口ルート情報を受信するためにノードリストに前記ノードを登録するステップと
を更に含むことを特徴とする請求項1記載の方法。
【請求項10】
無線通信ネットワークにおいてルーティングする方法であって、
前記無線通信ネットワークにおける次ホップ・ノードを発見するステップと、
前記無線通信ネットワークに対する少なくとも1つのアクセスポイントを発見するステプと、
前記無線通信ネットワークに対する前記少なくとも1つのアクセスポイントに登録するステップと、
少なくとも1つのアクセスポイントと通信するために次ホップ・ノードとして複数のノードを選択するステップと、
前記発見された次ホップ・ノードのうち少なくとも1つからルーティング情報を受信するステップと、
前記通信ネットワークにおける所定の宛先ノードへの少なくとも1つの別のパスを含むルーティング・テーブルを前記発見された次ホップ・ノードから受信される前記ルーティング情報から構成するステップと
を含むことを特徴とする方法。
【請求項11】
前記所定の宛先ノードは、
第2の通信ネットワークと通信しているアクセスポイントである
ことを特徴とする請求項10記載の方法。
【請求項12】
前記ルーティング・テーブルは、
前記通信ネットワークにおける所定の宛先ノードへの別のパスの好適な順序を指定する優先順位情報
を更に含むことを特徴とする請求項10記載の方法。
【請求項13】
前記無線通信ネットワークにおける少なくとも1つの他のノードに対して、前記通信ネットワークにおける所定の宛先ノードへの別のパスの好適な順序付けを指定する優先順位情報を含むルーティング・テーブル情報を転送するステップ
を更に含むことを特徴とする請求項10記載の方法。
【請求項14】
前記無線通信ネットワークにおける指定された宛先ノード用のパケットを受信するステップと、
前記指定された宛先ノードに前記受信したパケットを送信するのに適する次ホップを選択するステップと、
前記選択された次ホップに前記パケットを転送するステップと
を更に含むことを特徴とする請求項10記載の方法。
【請求項15】
前記無線通信ネットワークにおいて指定された宛先ノード用のパケットを受信するステップと、
別のパスの好適な順序を指定する前記優先順位情報に従って、前記指定された宛先ノードに前記受信したパケットを送信するのに適する次ホップを選択するステップと、
前記選択した次ホップに前記パケットを転送するステップと
を更に含むことを特徴とする請求項12記載の方法。
【請求項16】
次ホップ・ノードの発見は、
前記無線通信ネットワークにおける前記ノードに少なくとも1つの発見フレームをブロードキャストすること
を含むことを特徴とする請求項10記載の方法。
【請求項17】
前記無線通信ネットワークにおける前記ノードに少なくとも1つの発見フレームをブロードキャストすることに応答して、前記無線通信ネットワークの前記少なくとも1つの出口ノードに関する情報を含むネットワーク出口アドバタイズメント・メッセージを受信するステップ
を更に含むことを特徴とする請求項16記載の方法。
【請求項18】
無線ネットワークにおいて通信する方法であって、
前記無線ネットワークの転送ノードにおいて、前記無線ネットワークの宛先ノードに対応する宛先アドレスと、前記宛先ノードへの少なくとも部分的なルートとを含むパケットを受信するステップと、
前記パケットを前記宛先アドレスに送信するための好適なルートが存在するか否かを判定し、前記好適なルートが存在すると判定された場合に前記パケットからの前記受信したルートを前記好適なルートに置換するステップと、
前記パケットに含まれる前記ルートに従って前記無線ネットワークにおける別のノードに前記パケットを転送するステップと
を含むことを特徴とする方法。
【請求項19】
前記受信したパケットに含まれる前記少なくとも部分的なルートは、アクセスポイントから始まる
ことを特徴とする請求項18記載の方法。
【請求項20】
前記少なくとも部分的なルートは、
前記アクセスポイントと前記宛先ノードとの間で前記パケットが通過する前記ノードを指定する完全なルートである
ことを特徴とする請求項19記載の方法。
【請求項21】
前記好適なルートは、
前記転送ノードのルーティング・テーブル中の前記転送ノードから前記宛先ノードへの少なくとも2つのルートから判定される
ことを特徴とする請求項18記載の方法。
【請求項22】
前記少なくとも2つのルートの間の前記判定は、前記少なくとも2つのルートのうち一方のルートと関連付けられる優先順位情報の値に基づいて行なわれる
ことを特徴とする請求項21記載の方法。
【請求項23】
前記無線通信ネットワークの次ホップ・ノードを発見するステップと、
前記発見した次ホップ・ノードのうち少なくとも1つからルーティング情報を受信するステップと、
前記発見した次ホップ・ノードから受信した前記ルーティング情報から前記通信ネットワークの所定の宛先ノードへの少なくとも1つの別のルートを含むルーティング・テーブルを構成するステップと
を更に含むことを特徴とする請求項18記載の方法。
【請求項24】
前記所定の宛先ノードは、アクセスポイントである
ことを特徴とする請求項23記載の方法。
【請求項25】
前記計算するステップは、
前記転送ノードから前記宛先ノードへの前記パス・コストに基づいて別のルートを計算する
ことを特徴とする請求項23記載の方法。
【請求項26】
前記パス・コストは、
別のルートの1区間におけるノード間の少なくとも1ホップに対するリンク・コストを含む
ことを特徴とする請求項25記載の方法。
【請求項27】
前記ルートに関連付けられる前記優先順位情報の値は、
前記関連するルートの前記パス・コストに基づいている
ことを特徴とする請求項25記載の方法。
【請求項28】
前記パス・コストは、
リンク品質、リンク信頼度、前記パス・コストと関連付けられる前記ルートの少なくとも1区間におけるパケット送信の成功率、のうち少なくとも1つに基づいている
ことを特徴とする請求項27記載の方法。
【請求項29】
候補ルートに対して前記優先順位情報の値を判定する際に、パス・コスト成分のうち重み付き基準が使用される
ことを特徴とする請求項27記載の方法。
【請求項30】
前記無線通信ネットワークにおける少なくとも1つの他のノードに前記パケットを転送する際に使用される前記ルートを送信するステップ
を更に含むことを特徴とする請求項18記載の方法。
【請求項31】
前記無線通信ネットワークにおける少なくとも1つの他のノードに前記パケットを転送する際に使用される前記ルートを送信するステップは、前記好適なルートが存在すると判定された場合に実行される
ことを特徴とする請求項30記載の方法。
【請求項32】
前記ルートは、アクセスポイントに送信される
ことを特徴とする請求項31記載の方法。
【請求項33】
前記送信されたルートとともに送信される情報は、
前記送信されたルートに関連付けられる前記優先順位情報の値又は前記送信されたルートのパス・コストの少なくとも一方を含む
ことを特徴とする請求項30記載の方法。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公表番号】特表2010−530175(P2010−530175A)
【公表日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願番号】特願2010−512149(P2010−512149)
【出願日】平成20年5月27日(2008.5.27)
【国際出願番号】PCT/US2008/006687
【国際公開番号】WO2008/156544
【国際公開日】平成20年12月24日(2008.12.24)
【出願人】(509213484)シルバー スプリング ネットワークス インコーポレイテッド (17)
【氏名又は名称原語表記】SILVER SPRING NETWORKS, INC.
【Fターム(参考)】