アドホック無線ネットワークにおいてマルチキャストメッセージをルーティングする方法、システムおよび通信デバイス
【課題】メッセージをルーティングする方法及び通信デバイスを提供する。
【解決手段】ユニキャストメッセージをルーティングする方法は、グループヘッダノードからルーティングパラメータを含む第1の制御パケットを受信すること(1901)、ルーティングパラメータに基づいてルーティングテーブルを更新すること、グループノードから追加のルーティングパラメータを含む第2の制御パケットを受信すること、追加のルーティングパラメータに基づいてルーティングテーブルを更新すること(1919)、及び更新ステップの両方が完了するとルーティングテーブルから転送テーブルを生成することを含む。ユニキャストメッセージは、転送テーブルに基づいてルーティングされる。
【解決手段】ユニキャストメッセージをルーティングする方法は、グループヘッダノードからルーティングパラメータを含む第1の制御パケットを受信すること(1901)、ルーティングパラメータに基づいてルーティングテーブルを更新すること、グループノードから追加のルーティングパラメータを含む第2の制御パケットを受信すること、追加のルーティングパラメータに基づいてルーティングテーブルを更新すること(1919)、及び更新ステップの両方が完了するとルーティングテーブルから転送テーブルを生成することを含む。ユニキャストメッセージは、転送テーブルに基づいてルーティングされる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動環境における通信のためのネットワークに関する。より詳細には、本発明は、通信パケットを処理し、ルーティングテーブル及び転送テーブルを生成し、ユニキャストメッセージ及びマルチキャストメッセージをルーティングする方法に関する。
【背景技術】
【0002】
無線ホームネットワーク若しくは無線オフィスネットワーク、又はローカルカフェ、ファーストフードチェーン若しくはホテルにおける、いわゆる「ホットスポット」ネットワーク、さらには都市全体でWiFi技術を実施することのいずれにしても、無線技術は、今日の生活のあらゆる面において普及してきている。社会においてこのように無線を推し進める目的は、情報を入手しやすくすること、及び社会が全体として、コンピュータネットワーク、特にインターネットを広く受け入れると共に利用することによって享受してきた生産性をさらに高めることである。802.11a/b/gのような無線ネットワーキング技術によって、WiFi機能を搭載したデバイスが、通信線のような制約を受けることなく、標準的な有線ネットワーク内に存在するかのように互いに接続できるようになる。ネットワーク通信エリア内の物理的な場所に関係なく、人々は自由に、ネットワークに接続された状態を維持することができる。
【0003】
これを目指して、いくつかの都市が、その都市のための無線ネットワークを構築しようとしてきた。たとえば、2004年7月29日に、ミシガン州グランドヘブンは、都市の6平方マイルを網羅し、ミシガン湖まで15マイルにわたって広がる都市全域の無線ネットワークを実装して、「全米最初のWiFi都市」であるという特徴を主張した。多数の市当局者は、WiFiを、企業を誘致すると共に維持するために、下水、電力、電話及び交通機関と概ね同様に不可欠であるインフラストラクチャと見ている。そのようなシステムは、市当局者にとって、市職員の間での通信を提供することから、市民全体に行政サービス告知、注意報及び他の有用な情報を提供することまでに及ぶ、多数の利点を有する。
【0004】
このように、より広範囲にわたって無線で接続することを推し進めてきたが、日々の生活の或る領域が立ち遅れている。アメリカの道路及び高速道路は、基礎的な衛星システム及びセルラ電話システムよりも優れた無線技術に関して、ほとんど手付かずのままである。しかしながら、アメリカの道路において無線ネットワーク技術を実施することから、数多くの利点が得られる。最も注目すべきものの中には、交通情報、アンバーアラート、気象注意報等があり、それらの情報は、直ちに影響を及ぼされる可能性がある全ての車両に中継することができる。
【0005】
さらに、自動車を互いにネットワーク接続することによって、近くにある他の車両に影響を及ぼす可能性がある車両についての情報を中継できるようになる。たとえば、1台の自動車が突然ブレーキをかけることがある。この動作を、ブレーキをかけている自動車の後方にある全ての車両に瞬時に報告することができ、それにより、他の車両のドライバが多少の余裕をもって、必要な措置を講じることができるようになる。この態様が、交通事故及び交通渋滞を緩和するために意味があることは明らかである。このタイプの無線ネットワーキングは、限定はしないが、緊急道路障害物警告、交差点の調整、隠れた私道に関する警告、車線変更又は合流の支援を含む、車両安全への応用形態の数多くの態様において現われる可能性がある。
【0006】
車両安全通信(「VSC」)は、車両間通信とインフラストラクチャを介した車両通信
とに大きく分けることができる。車両間通信では、固定されたインフラストラクチャからの支援を受けることなく、車両同士が通信する。車両が互いの同じ無線範囲内にあるときに、又は他の車両を介してマルチホップ中継できるときに、車両同士が通信することが可能である。インフラストラクチャを介した車両通信では、路側無線アクセスポイントのようなインフラストラクチャの支援を受けて、車両同士が通信する。この場合に、車両はインフラストラクチャだけと通信することもできる。
【0007】
重要なVSC性能要件は、衝突回避のような種々のVSCの応用形態を支援するために、待ち時間が短いこと(約100ミリ秒)、及びスループットを維持すること(別の言い方をすると、近くにある車両が警告メッセージを受信するのに成功するパーセンテージ)を含む。
【0008】
単に、移動中の車両に無線アンテナを取り付けて、その後、調整されないまま通信を伝送するだけでは、これらの要件を満たすには不十分であろう。具体的には、無線帯域幅が限られているため、調整されないままのデータを伝送することによって、通信電波が複数のメッセージで溢れることになり、結果として、無線波の妨害が生じるであろう。
【0009】
その場合に、これらの車両は、互いの伝送を妨害することになり、伝送用の無線帯域幅を得るために互いに競合することになる。さらに、所望の伝送方向を考慮することなく、全てのメッセージが全ての方向に伝搬することになる。さらに、各車両が他の車両のネットワーク構成と整合しないであろう。
【0010】
移動度が高く、また固有の関係がないため、車両を事前に車両グループとして構成することは難しい(たとえば、どの車両も、予めその近くにある車両について何も知らない)。安全通信を設定するために必要とされる全ての情報が車両間で概ねリアルタイムに交換されなければならないので、グループ内の車両は概ねリアルタイムに自らを構成して、安全通信を行うことができるようにしなければならない。調整されていない車両の移動度が高いことは、近くにある車両又は車両グループが頻繁に変化することを暗示しており、車両グループ内で(移動度、アドレス、名前、メディアセッションのための)サポートサーバを用いることを困難にしている。これらの重大な違いが、既存の戦略的なアドホックネットワーク接続技術を、安全通信のために車両グループに直に適用できないようにしている。
【0011】
ホットスポットのような、他の所で利用されているWiFi方法を用いることは、通信エリア、データトラフィック量及び待ち時間の問題のために実用的ではない。大都市付近の通常のラッシュアワーの通勤は、3車線の高速道路の1200メートル長当たりの車両が600台にもなるという車両密度を生じる可能性がある。さらに、これらの車両は全て、時速30〜60マイル(時速48〜96km)の速度で個々の通信エリアを通り抜けていく。大部分の無線システムは、そのネットワーク内でそのような大きな変化率を取り扱うだけの能力がない。
【0012】
具体的には、或る車両が通信エリアに入るとき、その車両は、無線アクセスポイント又はルータによって特定されると共に構成命令を発行される必要がある。或る車両が通信エリアを出るとき、無線アクセスポイント又はルータは、その記録を更新して、そのネットワークから車両を削除する必要がある。したがって、特定の通信エリアを車両が通り抜ける速さが、情報更新、たとえば無線アクセスポイント又はルータによってブロードキャストされ、その範囲内の全ての車両によって応答されるべきハンドシェーキングの頻度を決定する。これら全ての車両が同時に情報を伝送すると、システムが取り扱えないほどの付加が容易にかかってしまう。
【0013】
車両間通信ネットワークを確立するために、いくつかの試みがなされてきた。たとえば、FleetNet及びCarTalk2000はいずれも、車両間通信ネットワークを開発している。これらのシステムはいずれも、位置情報を得るため、及びメッセージをルーティングするために、各車両内でGPSシステムを使用する。FleetNetシステムは、メッセージを中継するために、位置に基づくルーティング及び位置認識を用いる。具体的には、実施される通信プロトコルにおいて、それらのシステムのためのバックボーンとして、GPS情報のような位置データが決定的な役割を果たす。
【0014】
CarTalk2000も位置に基づくプロトコルを用いる。CarTalk2000による車両間システムに参加する各車両は、常に現在位置を検出するために、GPSデバイスを搭載していなければならない。しかしながら、これらのシステムの欠点は、車両が高速で移動しているため、位置情報がすぐに古くなるということである。
【0015】
GPS位置ルーティングを実行するために、車両間で絶えず変化するGPS情報を交換すると、過大なプロトコルオーバーヘッド及び無線帯域幅の無駄が生じる。その結果、そのようなGPS位置ルーティング技術は、最小の通信遅延時間又はマルチホップスループットの維持を達成することができない。さらに、Cartalk2000およびFleetNetの両方においてすべての車両にGPSを搭載する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0016】
したがって、過度の帯域幅及び著しいプロトコルオーバーヘッドを必要とすることなく、最小の通信待ち時間、又はマルチホップスループットの維持を達成しながら、過酷なVSC性能要件を達成することができるネットワークのノードとして車両と路側機との両方を有するアドホックネットワークを構成することが必要とされている。
【課題を解決するための手段】
【0017】
無線アドホックネットワークのローカルピアグループ内のノード間で情報のパケットをルーティングする方法を開示する。本方法は、グループヘッダノードから、少なくとも1つのルーティングパラメータを含む第1の制御パケットを受信すること、少なくとも1つのルーティングパラメータに基づいてルーティングテーブルを更新すること、ローカルピアグループ内のグループノードから、少なくとも1つの追加のルーティングパラメータを含む第2の制御パケットを受信すること、及び少なくとも1つの追加のルーティングパラメータに基づいてルーティングテーブルを更新することを含む。本方法は、これらの更新するステップの両方が完了すると、ルーティングテーブルから転送テーブルを生成することをさらに含む。
【0018】
ユニキャストメッセージは、転送テーブルに基づいてルーティングされる。
【0019】
少なくとも1つのルーティングパラメータは、グループリスト、ホップカウント及びグループヘッダへの次ホップを含む。第1の制御パケットに基づいてルーティングテーブルを更新することは、グループリストに基づいて宛先リストを変更すること、第1の制御パケットを直接中継した直接の中継ノードを除く前記宛先リスト内のすべての宛先に対し、宛先への次ホップを前記グループヘッダに初期化すること、及びグループヘッダへの次ホップを前記直接の中継ノードに変更することを含む。
【0020】
ルーティングテーブルを更新することは、第1の制御パケット及び第2の制御パケットが順序通りである場合にのみ発生し、本方法は、第1の制御パケット及び第2の制御パケットが順序通りであるか否かを判定することを含む。
【0021】
第1の制御パケットに基づいてルーティングテーブルを更新することは、第2の制御パケットに対するソースを判定すること、第2の制御パケットの直接の送信者を判定すること、第2の制御パケットの少なくとも1つの追加のルーティングパラメータに基づいて、直接の送信者を介してソースに対する次ホップを変更すること、及び第2の制御パケットの少なくとも1つの追加のルーティングパラメータに基づいて直接の送信者に対する次ホップを変更することを含む。
【0022】
無線アドホックネットワークのローカルピアグループ内のノード間で情報のパケットをルーティングするルーティング方法も開示する。本方法は、ノードによって受信される制御パケットのタイプを判定すること、制御パケットがノードにより順序通りに受信されているか否かを判定すること、及び制御パケットが順序通りである場合に、制御パケットに含まれる情報に基づいてテーブルを更新することを含む。制御パケットは、ハートビート制御パケット又はメンバシップレポートであり得る。ローカルピアグループの各ノードは、グループヘッダ又はグループノードであり得る。ノードがグループノードであり、制御パケットのタイプがハートビート制御パケットである場合、更新するステップは、ハートビート制御パケットに含まれるグループメンバシップリストのすべてのメンバを含むようにテーブルを変更することを含む。
【0023】
本方法はまた、ノードが制御パケットを順序通りに受信しているか否かを判定することも含む。この判定は、制御パケットに含まれるシーケンス番号値のメモリに格納されているシーケンス番号との比較に基づく。受信されたシーケンス番号値がメモリに格納されているシーケンス番号より大きい場合、制御パケットは順序通りに受信されている。
【0024】
アドホックネットワークにおいてノードによって着信パケットを処理する方法も開示する。本方法は、着信パケットを受信すること、着信パケットがそのノード宛てであるか否かを判定すること、着信パケットがそのノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて宛先への次ホップを判定すること、及び宛先への次ホップに着信パケットを中継することを含む。着信パケットがそのノード宛てである場合、ノードは着信パケットを処理し消費する。
【0025】
アドホック無線ネットワークにおいてマルチキャストメッセージをルーティングする方法も開示する。本方法は、転送するためにマルチキャストメッセージを受信するステップと、マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定するステップと、マルチキャストメッセージが以前に転送されているか否かを判定するステップと、マルチキャストメッセージが以前に転送されていると判定され、且つマルチキャストグループ宛先がマルチキャスト転送テーブルにあると判定された場合、マルチキャストメッセージを転送するステップと、マルチキャストメッセージが送信された後、マルチキャストメッセージを送信済みリストに追加するステップとを含む。
【0026】
本方法は、マルチキャストメッセージが送信待ち行列にあるか否かを判定するステップをさらに含み、マルチキャストメッセージは、送信待ち行列にない場合、転送のために送信待ち行列に追加され、送信待ち行列にある場合、破棄される。
【0027】
マルチキャスト転送テーブルを、ローカルピアグループ内の各ノードに対し分類を割り当てること、ローカルピアグループ内のすべてのノードから選択されたノードであるグループヘッダからのホップカウントを各ノードに対して判定すること、
【0028】
マルチキャストメンバシップ情報を収集すること、並びに収集されたマルチキャストメンバシップ情報及びグループヘッダからのホップカウントに基づき、マルチキャストグルー
プに対するメッシュにおける転送ノードを選択することによって生成することができる。各選択された転送ノードは、マルチキャストグループ識別をマルチキャスト転送テーブルに格納する。分類、グループヘッダからのホップカウント及びマルチキャストメンバシップ情報は、グループヘッダからローカルピアグループ内の他のノードにブロードキャストされる。
【0029】
マルチキャストルーティングテーブルを、グループヘッダに中継されたマルチキャストメンバシップ情報を含むメンバシップレポートに基づいて生成することも可能であり、マルチキャストメンバからグループヘッダにメンバシップレポートを中継するすべてのノードは、マルチキャストメンバを含むマルチキャストグループに対する転送ノードとなる。各転送ノードは、マルチキャスト転送テーブルにマルチキャストグループ宛先としてマルチキャストメンバシップ情報を記録する。
【0030】
グループヘッダは、各マルチキャストメンバに対するグループヘッダからのホップカウントに基づいて、マルチキャストグループに対する転送ノードの数を調整する。調整は、グループヘッダと、特定のマルチキャストグループのグループヘッダに最も近いマルチキャストメンバであると判定されたマルチキャストメンバとの間のすべての転送ノードをプルーニングする。グループヘッダは、それ自体もプルーニングする。転送ノードは、プルーニングされると、マルチキャスト転送テーブルのマルチキャストグループ宛先から、プルーニングされたマルチキャストグループに対応するマルチキャストメンバシップ情報を削除する。
【0031】
また、転送ノードは、マルチキャストグループに対応するマルチキャストメンバシップ情報を含むメンバシップレポートを受信せずに、プリセットされたタイマが満了する場合、マルチキャストグループノードの非転送ノードとなる。
【0032】
マルチキャストメッセージをルーティングする方法は、マルチキャスト転送テーブルに列挙されているマルチキャストグループ宛先を有する各ノードに対し送信チャネルを選択すること、及びマルチキャスト転送テーブルに列挙されているマルチキャストグループ宛先を有する各ノードに対し受信チャネルを選択することをさらに含む。送信チャネル及び受信チャネルを、交互になるように選択することができる。たとえば、送信チャネル及び受信チャネルは、単一交互パターンで交互になるように選択される。代替的に、送信チャネル及び受信チャネルは二重交互パターンで交互になるように選択される。
【0033】
本方法は、所定時間、送信されたマルチキャストメッセージをメモリに格納すること、送信されたマルチキャストメッセージが、隣接する転送ノードから所定時間内に受信さられているか否かを検出すること、及び送信されたマルチキャストメッセージが所定時間内に検出されない場合、転送ステップを繰り返すことをさらに含む。送信されたマルチキャストメッセージが所定時間内に検出された場合、マルチキャストメッセージはメモリから破棄される。
【0034】
無線通信デバイスも開示する。本デバイスは、転送するためにマルチキャストメッセージを受信する手段と、マルチキャストメッセージに対するマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定する手段と、マルチキャストメッセージが先に転送されているか否かを判定する手段と、マルチキャストメッセージが先に転送されていないと判定される場合、且つマルチキャストグループ宛先がマルチキャスト転送テーブルにあると判定される場合、マルチキャストメッセージを転送する手段と、マルチキャストメッセージが送信された後にマルチキャストメッセージを送信済みリストに追加する手段とを備える。本デバイスは、マルチキャスト転送テーブル及び送信済みリストを格納する手段をさらに備える。
【0035】
また、着信パケットを受信する手段と、着信パケットがそのノード宛てであるか否かを判定する手段と、着信パケットがそのノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて宛先への次ホップを判定する手段と、着信パケットを宛先への次ホップに中継する手段とを開示する。
【0036】
無線通信デバイスのそれぞれを、移動車両に設置することができる。
【0037】
また、移動車両の無線通信デバイスにおける少なくとも1つのプロセッサによって実行されることが可能な、メッセージをルーティングするように少なくとも1つのプロセッサを制御するためのコンピュータ可読命令のセットを含むコンピュータ可読媒体も開示する。
【0038】
本発明のこれらの特徴、利益及び利点、並びに他の特徴、利益及び利点は、以下の図面を参照することによって明らかになるであろう。なお、図面を通じて、類似の参照符号は類似の構造を指している。
【図面の簡単な説明】
【0039】
【図1】本発明による路側機に近接する複数のLPGの一例を示す。
【図2】本発明の一実施形態によるルータとして機能する路側機を含むアドホックネットワークを示す。
【図3A】本発明の一実施形態による、路側機が分離されているアドホックネットワークの一例を示す。
【図3B】本発明の一実施形態による、複数の路側機が路側機のリモートアクセスポイントと連動しているアドホックネットワークの一例を示す。
【図3C】本発明の一実施形態による、共に複数の路側機が路側機のリモートアクセスポイントと連動しているアドホックネットワークの第2の例を示す。
【図4】本発明の一実施形態によるリンクされた路側機を含むアドホックネットワークの一例を示す。
【図5】本発明の一実施形態によるリンクされた路側機を含むアドホックネットワークの第2の例を示す。
【図6】本発明の一実施形態による3つの路側機グループの一例を示す。
【図7】図6の3つの路側機グループに対するチャネル割当ての一例を示す。
【図8】本発明の一実施形態によるアプリケーションサーバとして機能する路側機を含むアドホックネットワークの一例を示す。
【図9】本発明の一実施形態によるアプリケーションサーバ及びルータとして機能する路側機を含むアドホックネットワークの一例を示す。
【図10】本発明の一実施形態によるアプリケーションサーバ及びルータとして機能する路側機を含むアドホックネットワークの第2の例を示す。
【図11】路側機のブロック図である。
【図12】本発明の一実施形態によるヘッダ解決方法のフローチャートである。
【図13】グループヘッダとして路側機を有する動的ローカルピアグループの一例を示す。
【図14】それぞれがグループヘッダとして路側機を有する、2つの固定ローカルピアグループの一例を示す。
【図15】グループノードとして路側機を有する動的ローカルピアグループの一例を示す。
【図16】それぞれがグループノードとして路側機を有する、2つの固定ローカルピアグループの一例を示す。
【図17】本発明の一実施形態による、ローカルピアグループを形成しユニキャストルーティングテーブル2300を生成するために使用される、ハートビート制御パケットの一例を示す。
【図18】本発明の一実施形態による、ローカルピアグループを形成しユニキャストルーティングテーブル2300を生成するために使用される、メンバシップ報告パケットの一例を示す。
【図19】ユニキャストルーティングテーブル2300の生成及び維持のフローチャートである。
【図20】本発明の一実施形態によるユニキャストパケットをルーティングするプロセスのフローチャートである。
【図21】ユニキャストルーティングテーブル2300を更新するプロセスのフローチャートである。
【図22】ユニキャストパケットのルーティングに対する有限状態機械の図である。
【図23】本発明の一実施形態による内部ユニキャストルーティングテーブル2300の一例を示す。
【図24】マルチキャストグループ2400の一例を示す。
【図25】本発明の一実施形態によるマルチキャストツリーの作成のフローチャートである。
【図26】図25に示す実施形態によって形成されるマルチキャストグループ2400の一例を示す。
【図27】図25に示す実施形態によってマルチキャストツリーを作成するために使用されるハートビート制御パケットの一例を示す。
【図28】図25に示す実施形態によってマルチキャストツリーを作成するために使用されるメンバシップレポートパケットの一例を示す。
【図29】図25に示す実施形態によるマルチキャスト転送テーブルの生成及び維持のフローチャートである。
【図30A】図25に示す実施形態によるグループヘッダに対する機能状態遷移図である。
【図30B】図25に示す実施形態によるグループメンバに対する機能状態遷移図である。
【図31】本発明によるマルチキャスト転送テーブルの一例を示す。
【図32】本発明の第2の実施形態によってマルチキャストツリーを作成するために使用されるメンバシップレポートパケットの一例を示す。
【図33】本発明の第2の実施形態を使用してのマルチキャスト転送テーブルの生成及び維持のフローチャートである。
【図34】本発明の第2の実施形態によるノードのための機能状態遷移図である。
【図35】本発明の第3の実施形態によるマルチキャストツリーを作成するために使用されるプルーンパケットの一例を示す。
【図36】第3の実施形態によるマルチキャスト転送テーブルの生成及び維持のフローチャートである。
【図37A】第3の実施形態によるグループヘッダに対する機能状態遷移図である。
【図37B】第3の実施形態によるグループメンバに対する機能状態遷移図である。
【図38A】本発明の第2の実施形態によって形成されるマルチキャストグループ2400を示す図である。
【図38B】本発明の第3の実施形態によって形成されるマルチキャストグループ2400を示す図である。
【図39】本発明の一実施形態によるマルチキャストモードにおける転送ノードに対する階層機能を示す図である。
【図40】本発明の一実施形態によるマルチキャストパケットをルーティングするプロセスのフローチャートである。
【図41】本発明の別の実施形態によるマルチキャストパケットをルーティングするプロセスの階層ネットワーク層フローチャートである。
【図42】本発明のさらに別の実施形態によるマルチキャストパケットをルーティングするプロセスの階層ネットワーク層フローチャートである。
【図43】本発明の一実施形態によるチャネル割当て方式を示す。
【図44】チャネル交互割当て方式による、送信チャネル及び受信チャネルに対するチャネル割当ての一例を示す。
【図45】二重チャネル交互割当て方式による、送信チャネル及び受信チャネルに対するチャネル割当ての一例を示す。
【図46】二重チャネル交互割当て方式により送信チャネル及び受信チャネルを割り当てるプロセスのフローチャートである。
【図47】本発明の一実施形態による、認証サービスを提供する路側機の一例を示す。
【図48】本発明の一実施形態によるネットワーク構成支援を提供する路側機の一例を示す。
【図49】情報収集デバイスとして使用される路側機の一例を示す。
【図50】本発明の一実施形態による安全警告ルーティングを提供する路側機の一例を示す。
【図51】本発明の一実施形態による位置及び追跡機能を実行する路側機の一例を示す。
【図52】本発明の一実施形態による車両整備サーバおよびデータベースとして機能する路側機の一例を示す。
【図53】本発明の一実施形態による通行料収集デバイスとして機能する路側機の一例を示す。
【発明を実施するための形態】
【0040】
本発明によれば、アドホックネットワークは、2つのタイプのノード、すなわち路側機(Road Side Unit。以下、「RSU」)と移動車両とに分けられる。RSUは固定ノードであり、車両はグループ内を移動することができる。
【0041】
図1は、本発明によるアドホックネットワークの一例を示す。RSU100は、道路の側部に沿って位置している。ネットワークで使用されるRSU100の数は、RSU100の無線アンテナの範囲、所望の通信範囲、移動デバイスの数、土地の地形、環境状態、交通パターン及び人口密度のような、いくつかの要因によって決まる。図1は、2つのRSU100を示している。囲まれているエリアは、各RSU100の無線範囲を表している。各RSU100を使用して、単独で又はグループで走行している移動車両110と通信することができる。
【0042】
移動車両110を、管理可能なグループに編成することができる。これらのグループは、ノード間のデータの伝送の調整に使用される。グループは、隣接するノードの相対位置に基づくか、又は固定位置に基づいて構築される。このグループ分けすなわちローカルピアグループ(「LPG」)は、単一LPG115内で、且つ複数のLPG間で無線信号をルーティングするための基礎である。
【0043】
図1は、3つのLPG115を示している。各LPG115は、少なくとも1つの移動車両110から構成されている。図1は、LPG1 1151が3つの移動車両を含み、LPG2 1152が2つの移動車両を含み、LPG3 1153が3つの移動車両を含むことを示している。RSU100は、LPG115内に存在して特別なLPGノードとして機能することができ、又はLPG115の外で別個のノードとして存在することができる。RSU100は、LPG115内のノードではなく、LPG115と共に使用される場合、LPG間通信用の境界ノードとして機能することができる。通常、1つのRSU
100の無線有効範囲は、1つのLPGのサイズより大きく、すなわち、1つのRSU100の無線範囲内には2つ以上のLPG115があることになる。それを図1に示す。したがって、1つのLPG115からのパケットを、RSU100を使用して別のLPG115にブロードキャストすることができる。この場合、RSU100は、そのメモリに格納されたLPGに関する情報を含むことになる。
【0044】
移動車両110は、車車(V−V)チャネルによって互いに通信する。移動車両は、車路(V−R)チャネルを介して路側機と通信する。さらに、RSU100は、R−Rチャネル又はR−Bチャネル(バックボーン)を介して互いに通信する。R−R通信は専用チャネル又は有線バックボーンを使用するため、その通信は、V−V通信又はV−R通信に干渉しない。V−Vチャネル及びV−Rチャネル間でチャネルを共有することに対し、いくつかの代替方法がある。好ましい実施形態では、V−R通信用に専用チャネルがある。残りのチャネルは、V−V通信及び/又はV−R通信に対して共有される。V−Rチャネルは、他のチャネルと同じRF周波数帯域にあってもよい。代替的に、V−Rチャネルは、異なる通信範囲及びデータレートを可能にするように異なるRF周波数帯域にあってもよい。
【0045】
別の実施形態では、すべてのチャネルがV−V及びV−Rの両方に対して動的に共有される。この手法により、性能の最適化が可能になる。しかしながら、干渉しないチャネルを厳密に調べて選択することで複雑性がもたらされる。
【0046】
別の実施形態によれば、V−Rに対してのみ専用チャネルが割り当てられ、他のチャネルはV−Vのみが共有される。代替的に、V−Rに対し専用チャネルが使用され、V−Vに対し第2の専用チャネルが使用される。残りの他のチャネルは、V−V通信及びV−R通信によって共有される。本発明の説明を続ける目的で、チャネル割当ての好ましい実施形態を使用する。RSU100は、ルータ、アプリケーションサーバ又はそれらの組合せのような多くの機能を有することができる。
【0047】
図2は、少なくとも1つのRSU100がルータとして機能する場合のアドホックネットワークの一例を示す。アドホックネットワークは、RSU100と、バックボーン200、たとえばインターネットと、移動車両110とを含む。RSU100は、3つのネットワーク階層、すなわちネットワーク層210、MAC層215及び物理層220を含む。
【0048】
物理層220は、ハブ、中継器及び無線機のようなデバイスを含む。物理層220の機能には、物理無線リンクのような通信チャネルにより、上位層データを表す信号の伝送がある。
【0049】
MAC(メディアアクセス制御)層215は、ネットワークエンティティ間でデータを転送する手続き、及び物理層220で発生する可能性のある誤りを検出し、場合によっては訂正するための手続きを処理する。たとえば、IEEE802.11では、MAC層215は、共有される無線チャネルへのアクセスを調整し、且つ無線媒体による通信を向上させるプロトコルを利用することにより、802.11局(無線ネットワークカード及びアクセスポイント)間の通信を管理し維持する。802.11MAC層215は、802.11b又は802.11a又は802.11pのような802.11物理(PHY)層を使用して、802.11フレームのキャリア検知、送信及び受信のタスクを実行する。
【0050】
ネットワーク層210は、ネットワークエンティティ間のエンド・ツー・エンド通信のための機能を実行する。たとえば、機能には、ソースノードから宛先ノードへのメッセージのルーティング、同じマルチキャストグループのソースノードから宛先ノードへのメッ
セージのマルチキャスト、又はルーティングまたはマルチキャストの目的でのネットワークエンティティの移動度(位置)管理がある。ネットワーク層210は、データ経路としてユニキャスト/マルチキャストルートを発見して維持し、また、本明細書で説明するユニキャスト及びマルチキャストの手続き及びプロトコルに従って、エンドユーザ間のデータ配信方法を提供する。エンドユーザは、移動車両110であってもRSU100であってもよい。
【0051】
RSU100は、その無線有効範囲内のすべての移動車両110に対しデータをルーティングすることができる。さらに、RSU100は、その相対位置に応じて、RSU100間でデータをルーティングすることができる(たとえばR−R通信)。さらに、RSU100は、バックボーン200から/バックボーン200へデータをルーティングすることができ、たとえば、バックボーンから移動車両110にデータをルーティングすることができる。図2に示すように、移動車両110は、ネットワーク内の複数のRSU100の無線範囲を通過して走行し、それにより頻繁なIPハンドオフがもたらされる。
【0052】
RSU100に対していくつかの配置構成があり得る。一実施形態では、RSU100は、分離された位置に配置される。この実施形態では、RSU100は、互いの範囲外にあるため、他のRSU100と連結されていない。RSU100のルーティング機能は、RSUのその無線範囲でのみ提供される。分離されたRSU100の配置は、限られた利点しかないかもしれない。1つの利点は、RSU100が余裕をもって配置されている場合、チャネル干渉がない、ということである。複数のRSU100における通信に対し、同じV−Rチャネルを使用することができる。さらに、RSU100を配置するコストが最小限である。わずかな数のRSU100を使用して、いくつかの問題のあるエリア、たとえば混雑している交差点、既知の問題の起こり易い地域又は事故が多発する地域にサービスを提供することができる。この実施形態を、初期段階の配置に使用することが好ましい。しかしながら、RSU100は連結されておらず、近傍のRSU100内の移動車両110を支援することができず、又は近傍のRSUに関するいかなる情報も提供することができない。さらに、移動車両110は、隣接するすべてのRSU100に情報が伝播されることを確認するために、各RSU100において情報を複製しなければならない可能性がある。
【0053】
図3Aは、2つの分離されたRSU100を示す。RSU1 1001は、移動車両1
1101、車両2 1102と通信することができるが、車両3 1103〜車両6 1106及びRSU2 1002とは通信することができない。同様に、RSU2 1002は、車両5 1105及び車両6 1106と通信することができるが、車両1 1101〜車両4 1104とは通信することができない。
【0054】
別の実施形態では、複数のリモートアクセスポイントと共に単一RSU100を配置することができる。この構成では、RSU100は、道路にある複数の無線アクセスポイント(AP)を制御する。RSU100は、APを介して移動車両110又はLPG115全体と通信する。車両に対するネットワーク層ピアはRSUであり、移動車両110のMAC層及び物理層に対するピアはAPである。802.11a通信又は802.11p通信の場合、移動車両110はAPを使用する。ネットワーク層通信を処理するために、移動車両110は、主にRSU100と協働する。APはRSU100に対するMAC層215機能及び物理層220機能を処理する。RSU100自体は、ネットワーク層機能210しか処理しない。APを実装することにより、RSU100のサービスエリアが拡大する。
【0055】
複数の無線アクセスポイントを伴うRSU100は、2つ以上のAP間のルーティング機能を達成するためにスイッチ又はブロードキャストバスを含むことができる。
【0056】
図3Bは、複数のRSU100がスイッチベースの複数のアクセスポイントを使用するルーティング機能を有する、アドホックネットワークを示す。図示するように、RSU1
1001は5つのAP(まとめてAP330)を制御する。RSU2 1002もまた、5つのAP(まとめてAP330)を制御する。各RSU100とAP330との間にハブスイッチ320が配置されており、それにより、1つのAP330のみが、移動車両110との間の通信、すなわち移動車両110からのデータの受信、及び移動車両110へのデータの転送に関与する。移動車両110がAPの無線サービスエリア内にある時、MAC層215及び物理層220は、ビーコン及びハンドシェイクを介して移動車両110とその特定のAP330との関係を形成する。さらに、RSU100は、AP330から、各APのサービスエリア内の関連付けられている移動車両に関する情報を取得することができる。たとえば、AP5は、その無線範囲内のすべての車両に対するアクセスポイントである。各APは、2つの階層、すなわち物理層及びMAC層を含む。
【0057】
この構成は、ユニキャストルーティング、マルチキャストルーティング及び移動度検出をサポートする。ユニキャストの場合、各RSU100は、ネットワーク内の各ノードに対して作成され且つメモリに格納されている転送テーブルに基づいて、各移動車両110に向けられるメッセージの次ホップを知る。RSU100は、LPG115内のノードではない場合であっても、そのV−Rチャネル上のハートビート制御メッセージ1700をオーバーヒアリングする(overhear)ことができる。RSU100は、この情報を、RSU100又はAP330からLPG115及び移動車両110にルーティングするために使用することができる。次ホップは、移動車両110に関連付けられているAP330である。言い換えれば、AP330は、移動車両のためのMACプロキシである。スイッチ320は、RSU100からメッセージを受信すると、そのメッセージを、特定の移動車両110に関連付けられている特定のAP330に転送する。すなわち、ハブスイッチ320を使用して、ユニキャストメッセージは、指定されたAP330のみに送信され、決してすべてのAPにはブロードキャストされない。
【0058】
たとえば、移動車両4 1104に対する次ホップはAP5 3305である。したがって、RSU1 1001は、移動車両4 1104に対する次ホップとして、AP5 3305をそのメモリに記録する。言い換えれば、移動車両4 1104がAP5 3305の範囲内にある間、移動車両4 1104に向けられたすべてのメッセージがAP5
3305を通じてルーティングされる。
【0059】
マルチキャスト動作の場合、マルチキャストグループ2400に参加している移動車両110に関連付けられるAP330のみが、マルチキャストグループ2400のマルチキャスト転送ノードとなる。マルチキャストグループ2400については、後により詳細に説明する。スイッチ320は、いずれのAP330が転送ノードであるかを知っており、マルチキャストパケットは、それらの転送ノードにのみ配信される。転送ノードは、マルチキャストグループ2400にある宛先ノードに複数のメッセージを転送するノードである。
【0060】
たとえば、マルチキャストメッセージが車両2 1102及び車両4 1104に向けられている場合、車両2 1102及び車両4 1104はマルチキャストグループ2400に参加している。RSU1 1001に次ホップ情報が記録されているため、RSU1 1001は、このマルチキャストグループ2400に対してAP3 3303及びAP5 3305が転送ノードであることを知っている。RSU1 1001、AP3 3303及びAP5 3305は、マルチキャストメッセージの転送ノードとなる。スイッチ320は、AP3 3303及びAP5 3305にのみマルチキャストメッセージを配信する。この構成はまた、移動度検出もサポートする。ユニキャストの場合の次ホップ
情報及びマルチキャストの場合の転送ノード情報は、連続的に更新される。AP330又は移動車両110は、移動度検出を実行する。一実施形態では、AP330は、周期的ビーコンの使用に基づいて移動度を検出する。ビーコンは、AP識別を含む。移動車両110は、周期的ビーコンに応答する。AP330は、応答を受信すると、それ自体をその移動車両に対する次ホップ又は転送ノードとして維持する。一方、AP330は、応答を受信しない場合、RSU100に対し、移動車両がAPの無線範囲外に移動したことを通知する。RSU100は、その次ホップ情報及び転送ノード情報をその車両に関して更新する。
【0061】
別の実施形態では、移動車両110は、RSU100に格納されている次ホップ情報及び転送ノード情報を積極的に変更する。この実施形態では、移動車両110は、受信したSNR値に基づいて、いずれのAP330が次ホップ又は転送ノードであるべきかを判断する。移動車両は、この判断を、2つの別個の基準に基づいて行うことができる。一実施形態では、移動車両は、受信信号のSNRを所定閾値と比較することができる。SNRが閾値を上回る場合、移動車両110は、チャネルがもはや利用可能でないと宣言し、次ホップ又は転送ノード2410として異なるAP330を選出する。代替的に、移動車両100は、移動車両の無線範囲内のすべてのAP330から受信された信号強度の比較に基づいて、最強のチャネル、すなわち隣接するAP330からの信号を選択することができる。移動車両110は、次ホップ情報及び転送ノード情報を更新するメッセージを新たなAP330に送信する。新たなAP330は、RSU100に対して移動度を通知し、それにより、RSU100に記録されている情報を変更することができる。移動車両110の移動により、AP330間にハンドオフがもたらされる。しかしながら、移動車両は、依然として同じRSU100の無線範囲内にある。言い換えれば、このアーキテクチャでは、ハンドオフはIP層下で実行され、MACアドレス等のMAC情報のみが更新される。
【0062】
たとえば、移動車両4 1104がAP5 3305からAP4 3304まで移動する場合、AP4 3304は、車両4 1104に対する新たなMACプロキシとなり、そのプロキシ状態をRSU1 1001に通知する。その後、RSU1 1001は、AP4 3304に、車両4 1104に向けられたメッセージを転送する。1つのRSU100下でのAP330間のハンドオフは、いかなるIP層動作も必要としないため、IP層ハンドオフは、それほど頻繁には発生せず、移動車両110が1つのRSU100から別のRSU100に移動する時にのみ発生する。
【0063】
図3Cは、複数のRSU100が、ブロードキャストバスベースの複数のアクセスポイントを使用するルーティング機能を有する、アドホックネットワークを示す。図示するように、RSU1 1001は5つのAP(まとめてAP330)を制御する。RSU2 1002もまた、5つのAP(まとめてAP330)を制御する。図3Bに示すようなスイッチ320の代りに、図3Cに示すアーキテクチャでは、ブリッジバス340がRSU100とそのAP330とを接続する。スイッチベースの上記のアーキテクチャ(図3B)とは異なり、RSU100によって移動車両110に向けて送信されるメッセージは、RSU100下のすべてのAP330に配信される。しかしながら、ブリッジバス340を使用することにより、宛先、すなわち移動車両110に関連するAP330のみが、移動車両110にメッセージを転送する。
【0064】
この構成は、ユニキャストルーティング、マルチキャストルーティング及び移動度検出をサポートするが、RSUは、これらの特徴のいずれを制御、維持又は管理するためにも使用されない。実施形態の利点は、RSU1 1001がAPの車両とのいかなる関係に関する情報も維持する必要がない、ということである。転送動作はブリッジバス340を使用して簡略化される。それは、ブリッジバス340が次ホップ情報及び転送ノード情報
を維持するためのオーバーヘッドを最小限にするためである。しかしながら、AP330におけるオーバーヘッドは増大し、AP330は不要なトラフィックに直面する。
【0065】
ユニキャスト動作では、1つの移動車両110に向けられるメッセージが、RSU1 1001制御下のすべてのAPに転送される。RSU100は、移動車両のMACアドレスのみを直接接続として記録し、たとえば次ホップ情報又は転送ノード情報は記録しない。宛先車両に対するMACアドレスを有するAP330のみが、メッセージを転送する。たとえば、メッセージが車両4 1104に向けられている場合、RSU1 1001はメッセージをすべてのAP330に転送するが、AP5 3305のみが移動車両4 1104にメッセージを転送することができる。
【0066】
同様に、図3Bに関して上述したマルチキャスト動作では、マルチキャストグループ2400に参加した車両に関連付けられるAP330のみが、マルチキャストグループ2400の転送ノード2410となる。しかしながら、図3Bにおいて説明した構成とは異なり、転送APのみでなく他のAP(すなわち、これらのAP下にマルチキャストメンバシップを有する車両がない)も、マルチキャストパケットを受信する。RSU100は、転送ノードに関するいかなる情報も記録しない。たとえば、マルチキャストメッセージは、移動車両2 1102及び車両4 1104に向けられており、車両2 1102及び車両4 1104はマルチキャストグループ2400に参加している。RSU1 1001はメッセージをAP1 3301〜AP5 3305にルーティングする。しかしながら、AP3 3303及びAP5 3305のみが、メッセージをそれぞれ車両2 1102及び車両4 1104に転送する。
【0067】
移動度検出の場合、スイッチ320の代りにブリッジバス340を使用することにより、検出がより迅速になるという利点がある。これは、RSU100が検出プロセスに関与せず、且つ通知もされないためである。したがって、AP330とRSU100との間のメッセージが回避される。ハンドオフは、移動車両と関連APとの間で完了する。移動度検出は、上述したものと同様に実行されるが、AP330のMACアドレスキャッシュのみが更新される。
【0068】
上述した実施形態では、RSU100が互いから分離して配置されている場合を説明したが、本発明の別の実施形態では、RSU100を互いの無線範囲内に配置することができる。この実施形態では、RSU100が互いにリンクされることにより、RSUネットワークを形成する。リンクされたRSUネットワークは、密度が高くても低くてもよい。これらのRSU100は、互いの間に通信リンクを有し、他のRSU100との連携を通じてRSU範囲外の機能を提供する。RSU100は、相互接続されている場合、情報のすべてを共有することができる。移動車両110は、通過するRSU100のそれぞれに対して複製情報を送信する必要はない。互いにリンクされたRSU100は、位置情報、IP及びMACチャネル情報を交換することにより、隣接するRSU100への接続を移動車両が事前設定するのを支援することができる。さらに、リンクされたRSU100を使用して、事故情報等のパケットを1つのエリアから別のエリアにルーティングすることができる。しかしながら、リンクされたRSU100には、MACチャネル干渉というトレードオフがある。RSU100がまばらに存在している場合、MACチャネル干渉は最小であり、いかなるRSUにも同じV−Rチャネルを使用することができる。しかしながら、所与のエリア内にRSU100が密集している場合、V−Rチャネルに対しチャネル割当てが必要なMACチャネル干渉がある可能性がある。
【0069】
図4は、まばらで互いにリンクされたRSU100を含むアドホックネットワークの一例を示す。RSU1 1001及びRSU2 1002は、互いに無線または有線でリンク400されている。したがって、2つのRSU1001及び1002は情報を共有する
ことができる。2つのRSU1001及び1002はエリア内にまばらに存在しているため、同じV−Rチャネルを使用することができる。さらに、2つのRSU1001及び1002に対する無線範囲すなわち有効範囲を、干渉を考慮せずに広いエリアをカバーするように選択することができる。この構成は、通常、地方または人口密度の低いエリアで使用される。
【0070】
図5は、密集しており相互接続されているRSU100を含むアドホックネットワークを示す。図5に示すように、楕円形線は、各RSU100の無線範囲を表している。各RSU100の無線範囲は、まばらなRSUの例より小さいように選択され、より少ない移動車両110を同時に処理するように設計されている。しかしながら、この設計により、各RSU100との車両の接続時間が短くなり、チャネル競合がもたらされ、ハンドオフが頻繁になり、アドレス割当ておよび認証の時間がほとんどなくなる。ハンドオフは数秒毎に発生しなければならなくなり、それにより移動車両110は、新たなアドレス、新たな接続を確立し、ハンドオフ毎にセキュリティメカニズムを経ることになる。
【0071】
これらの問題を回避するために、RSUグループが形成される。RSUグループは、2つ以上のRSU100から形成される。図6は、複数のRSUグループ6001〜6003をそれぞれ示している。移動車両110は、RSU100を個々に扱うのではなく、RSUグループ6001〜6003を1つの機能単位として扱う。RSUグループ6001〜6003の動作のうちのいくつかは、チャネル予約及び調整、認証及びハンドオフハンドシェイクである。ダウンリンクの場合、データ損失を最小限にするために、RSUグループ600又はサブグループにより同じダウンリンクストリームを送信することができる。いくつかのRSU100を含む同じセットの構成パラメータが、RSUグループ600を形成する隣接するRSUに対して使用される。これにより、ハンドオフ及び構成変更が続くことを回避できる。移動車両110は、RSUグループ、たとえば6001に入ると、チャネル予約、認証及びハンドシェイクを一度だけ実行する。
【0072】
RSUグループは、V−R及びV−バックボーン通信並びに緊急通信に使用される。また、RSUグループを使用して、ローカルピアグループ(LPG)の形成、その追跡、調整及び最適化を支援することができる。
【0073】
上述したように、移動車両110は、RSU100又はRSUグループ6001〜6003に入ると、RSU100又はRSUグループ6001〜6003にチャネル予約要求を送信する。RSUグループ、すなわち6001内の第1のRSU100は、入ってくる移動車両に対してチャネル及びタイムスロットを割り当てる。この割当ては、V−R通信に使用される。チャネルは、いかなる干渉も回避するように複数のチャネルから選択される。各移動車両110には、RSUグループ600が利用可能な特定のサブチャネルが割り当てられる。
【0074】
チャネルアクセスには、2つの方式、すなわち同期アクセス及び非同期アクセスがあり得る。一実施形態では、同期アクセスが使用される。各移動車両110には、サブチャネル内の固定サイズのタイムスロットが割り当てられる。たとえば、1つの車両はチャネル4、タイムスロット2に割り当てられ、第2の車両はチャネル4、タイムスロット5に割り当てられる。車両は、それ自体の順番が来た時にしか通信せず、それ以外は通信しない(silent)状態にある。タイムスロット内では、帯域幅の一部がアップリンク通信に予約され、残りはダウンリンクに予約される。この方式により、各移動車両110は、電波に対して等しくアクセスする。同期アクセスの使用の利点は、競合解決に時間が浪費されないということである。隣接するRSUグループは重ならないチャネルを使用するため、「隠れ端末」問題もまた存在しない。
【0075】
別の実施形態では、非同期方式が使用される。各移動車両110はサブチャネルに割り当てられる。サブチャネル内の移動車両110は、競合解決、たとえばCSMA方式を使用してチャネルアクセスに関して競合する。この方式はランダムアクセスに基づく。
【0076】
図7は、複数のRSUグループ600に対するチャネル割当てを示す。ネットワークプロバイダ又はRSUグループ管理エンティティが、RSUグループ600へのチャネル割当てを実行することができる。図7に示すように、RSUグループ1 6001にはチャネル1〜3が割り当てられ、RSUグループ2 6002にはチャネル4〜6が割り当てられ、RSUグループ3 6003にはチャネル1〜3が割り当てられている。隣接するRSUグループ600は異なるサブチャネルを使用するため、RSUグループ600内の移動車両110は、別のRSUグループ600の車両に対する隠れ端末になることはできない。RSUグループ1 6001及びRSUグループ3 6003には、それらの相対的な位置により、同じチャネルを割り当てることができる。RSUグループ1 6001及びRSUグループ3 6003によってチャネル干渉はもたらされない。RSUグループ600内では、各移動車両110はサブチャネル(チャネル)と共にタイムスロットに割り当てられている。これにより、常に1つの移動車両110のみに送信されることが確実になる。たとえば、図7において、第1の車両にはチャネル2、タイムスロット4が割り当てられており、第2の車両にはチャネル2、タイムスロット1が割り当てられている。
【0077】
図8は、RSU100がアプリケーション/情報サーバとしてのみ作用するアドホックネットワークを示す。このアドホックネットワークは、RSU100と、バックボーン200、たとえばインターネットと、移動車両110とを含む。RSU100は、4つのネットワーク階層、すなわちネットワーク層210、MAC層215、物理層220及びアプリケーション層800を含む。バックボーン200は少なくとも1つのルータを含む。
【0078】
この構成では、RSU100はいかなるルーティング機能も有しない。RSU100は、パブリックドメインのエンドホストとして機能する。RSU100は、アプリケーションサーバ、情報記憶デバイス、又はたとえば地方公告、リアルタイム交通管理若しくは地図更新等のサービスプロバイダである。各移動車両110には、RSU100によりプライベートIPアドレスが割り当てられ、各移動車両110はRSU100を使用してバックボーン200にアクセスすることができる。RSU100は、プライベートIPのネットワークアクセス変換(Network Access Translation)を提供することにより、バックボーン200へのアクセスを提供する。RSU100は、アプリケーションサーバとしてのみ作用する場合、移動車両110の移動度をサポートしたり検出したりできない。
【0079】
図9は、RSU100がアプリケーション/情報サーバ及びルータの両方として機能するアドホックネットワークを示す。このアドホックネットワークは、RSU100と、バックボーン200、たとえばインターネットと、移動車両110とを含む。RSU100は、4つのネットワーク階層、すなわちネットワーク層210、MAC層215、物理層220及びアプリケーション層800と共に、RSU100と同じ場所に配置されているルータを含む。
【0080】
このアーキテクチャには、NATすなわちプライベートIPアドレスの割当ては不要である。車両にはパブリックIPアドレスを割り当てることができ、それによりインターネットへのアクセスが容易になる。このアーキテクチャに必要なRSU100は、ルータ及びアプリケーションサーバの両方として機能するため、十分な計算能力を有する。RSU100を、リモートAP330とともに使用してもよく、又はリモートAP330なしで使用してもよい。
【0081】
図10は、RSU100がルータ及びアプリケーションサーバの両方として機能しているアドホックネットワークの一例を示す。図10に示すように、RSU1 1001及びRSU2 1002はそれぞれ、バックボーン200のルータ1010及び1020にアクセスすることができる。RSU1 1001及びRSU2 1002は、ルータ1030及びアプリケーションサービス1040から構成されている。さらに、ネットワークは、RSU1 1001に対するリモートAP1 3301〜AP5 3305及びRSU2 1002に対するAP6 3306〜AP10 33010を含む。図10は、図3B及び図3Cに類似しているが、RSU100は、図示されているルーティング機能のみではなく、ルータ機能及びアプリケーション機能を有する。さらに、図10に示す構成は、ハブがスイッチ320(図3Bに示すように)であってもよく、又はブリッジバス340(図3Cに示すように)であってもよいことを示している。スイッチ320又はブリッジバス340のいずれかの選択は、いくつかの設計因子、たとえば、遅延時間性能及び設備稼働率等のシステム工学設計パラメータ及びコスト又はサポートされるべきサービス等のシステム要件によって決まる。
【0082】
別の実施形態では、図4〜図7に示すアーキテクチャを、RSU100にアプリケーションサービス1040を追加することによって、RSU100に対しアプリケーションサーバ及びルータの機能を含むように変更することができる。
【0083】
本発明の一実施形態では、RSU100は、LPG115内のノードであり得る。LPG115の目的は、隣接するノード間の連携の程度(degrees of coordination)を構築することである。これらの隣接するノードは、無線通信能力を有する移動デバイスか又は固定ノードである。移動無線デバイス又はノードは、PDA、ラップトップ、携帯電話、もしくは無線デバイスが取り付けられるか又は内蔵されている移動車両であってもよい。好ましい実施形態では、移動無線デバイスは、関連付けられる通信デバイスが内部に設置されているか又は独立して持ち込まれる移動車両110、及び通信デバイスを携帯している歩行者である。本明細書における無線デバイスは、まとめて任意のノード又は移動車両110と呼ばれる。1つのローカルピアグループを編成している、直近のノード間での通信にはLPG内通信が使用される。近隣のノード間、すなわち隣接する異なるローカルピアグループに属するノード間での通信にはLPG間通信が使用される。
【0084】
いくつかのタイプのLPG115、すなわち固定(stationary)LPG、動的(dynamic)LPG及びハイブリッドLPGがある。固定LPGは、特定の位置又はエリアにより画定され、すなわち、ノードは、たとえばエリアAを画定するエリアにある場合、LPG
Aに所属する。ノードは、異なるエリア、たとえばエリアBにある場合、LPG Bに所属し、他も同様である。固定LPGの詳細なサイズは、さまざまな要素、たとえば無線アンテナの範囲、通信範囲、移動デバイスの数、土地の地形、環境状態、交通パターン及び人口密度に依存する、設計上の選択である。固定LPGの位置及びサイズは固定である。しかしながら、場所が異なると交通パターン及び人口(移動車両110)密度が異なるため、各固定LPGのサイズが異なってもよい。RSU100が所定のLPG115内にある場合、そのRSU100の無線範囲によって、固定LPGのサイズが画定される。
【0085】
RSU100を使用することにより、移動車両110は、RSU100からのハートビート制御パケット1700か又はAP330からのビーコンをヒアリングすることにより、固定LPGの位置を検出することができる。移動車両110は、位置を変更する際に固定LPGを変更する。代替的に、移動車両は、LPG115及びそれらの位置のデータベースを有している。別の実施形態では、所与のエリア内に複数のRSU100がある場合、少なくとも1つのRSU100が隣接する他のRSU100の相対位置又は位置に関する情報を提供することにより、移動車両100が迅速にLPG115の位置を特定することができるようにして、複数のLPG115間のハンドオフを容易にすることができる。
【0086】
固定LPGは、いくつかのLPG115が空であるか、又はLPG115内に多くの移動車両110がない場合であっても、バックボーンアクセス又はLPG間通信を提供するように無線インフラストラクチャとの統合をサポートするという、重要な利点を有している。各固定LPGには、通信を容易にするように一意の識別子が割り当てられている。すべての固定LPGエリアが適切に画定されているため、LPG115の形成及び命名は動的LPGより容易である。さらに、固定LPGを使用する場合、LPG115の併合及び分割に関する規則は問題ではない。
【0087】
第2のタイプのLPG115は動的LPGである。固定LPGとは反対に、動的LPGは、隣接するノードの無線有効範囲に基づいて形成され、それにより、ノードは、他のノードの正確な位置を考慮することなく通信を調整することができる。
【0088】
動的LPGは無線有効範囲に基づいて形成されるため、LPG115内の移動車両110は、常に、シングルホップ又はマルチホップ伝送を介して互いに且つRSU100と通信することができる。LPG115内の1つのノードは、通信を低遅延で効率よく実行することができるように、各LPG115内のノードの数、又は代替的にこのノードから動的LPGの端までの無線ホップの数を適度に少なく維持するために、動的LPGのサイズを制御することができる。このノードを、後に詳細に説明するようにグループヘッダ(GH)と呼ぶ。さらに、固定LPGとは対照的に、動的LPGは、各LPG115内で通信が常に可能であることを確実にする。動的LPGでは、固定LPGとは異なり、LPG115を、RSU100無線範囲外に形成することができる。
【0089】
一実施形態では、1つ又は複数の固定LPGもしくは1つ又は複数の動的LPGから、アドホックピア・ツー・ピアネットワークを作成することができる。別の実施形態では、アドホックピア・ツー・ピアネットワークを、ハイブリッドLPGネットワークとして固定LPG及び動的LPGの両方から作成することができる。ハイブリッドLPGネットワークは、固定LPG及び動的LPGの利点を組み合わせながら、それぞれを別個に採用した場合にもたらされる問題を取り除く。
【0090】
ハイブリッド手法は、道路地形を利用する。特に、インフラストラクチャが利用可能でない場合、動的LPGを使用してネットワークを形成する。いくつかのエリアにおいてインフラストラクチャが利用可能となると、固定LPGを使用して、動的LPG及びインフラストラクチャとのネットワークを形成することができる。たとえば、道路インフラストラクチャ等のインフラストラクチャは、路車間通信又は道路支援通信を可能とする。
【0091】
一実施形態では、RSU100は、LPG115内のノードであってもよく、移動車両110と同様のネットワーク機能を実行することができる。RSU100は、グループヘッダ(GH)1300ノード又はグループノード(GN)1500のいずれかとしてLPG115に参加することができる。GH1300は、ノードのいかなる順序付け又はいかなるインフラストラクチャもなしにLPG115を維持し制御するように指定される、LPG115内の移動デバイス又はノードである。通常、LPG115内にはGH1300は1つしかない。LPG115内の他のすべてのノードは、一般的なノードすなわちグループノード(「GN」)1500である。GN1500は、GH1300を通じてLPG115に参加する。
【0092】
各RSU100は、上述したようなルータ及びアプリケーションサーバに加えて、GH1300又はGN1500として動作することができる。したがって、各RSU100は、ノードがそれぞれGH1300又はGN1500として機能するか又は動作するのを可能にする、要素又は手段及びネットワーキングプロトコルを有している。したがって、R
SU100がGH1300又はGN1500のいずれかとして動作する場合であっても、GH1300及びGN1500の両方に対し構造的要素又は手段のすべてが存在するが、特定の要素のみが動作のモードに基づいて機能する。したがって、RSU100は、GH1300又はGN1500の機能を提供するハードウェア及びソフトウェアの両方を有している。
【0093】
図11は、RSU100の基本要素のブロック図を示す。RSUは、メモリセクション1100、クロック1105、タイマ1110、送受信セクション1120、制御手段1125及び電源1130を含む。メモリセクション1100は、DRAM、SRAM又はフラッシュを含むいかなるタイプのメモリであってもよい。好ましい実施形態では、短期メモリはキャッシュである。メモリセクション1100は、GID1705、グループヘッダID1710、グループリスト、所定最大LPGサイズ、LPGにおけるノードの数及び他のタイプの制御パラメータ等、LPGに関する情報を格納する。
【0094】
RSU100のタイミングの維持にクロック1105が使用される。特に、クロック1105は、内部クロックとして機能し、タイマ1110を設定するための基準として使用される。タイマ1110は、さまざまなメッセージをいつブロードキャストすべきかを判定するために使用され、すなわち、GH1300の場合のハートビート間隔(T)又はGN1500の場合の応答メッセージを判定する。制御手段1125又はマイクロプロセッサは、メッセージの生成、ルーティング及びタイマを含む、RSU100のプロセスのすべてを制御する。さらに、制御手段1125はまた、後に詳細に説明するヘッダ解決にも関与している。送受信セクション1120は制御手段1125と協働して、メモリセクション1100に格納されているデータからメッセージを作成又は生成する役割を果たす。
【0095】
RSU100は、ビーコン又はハートビート制御パケット1700を、RSUの無線範囲内のすべての移動車両110及び他のRSUに定期的に送信する。この期間は固定間隔である。ハートビート間隔(T)の値は、設計又は動作の必要に基づいて選択可能である。
【0096】
LPG115がRSU100の近くまで移動すると、ヘッダ解決プロトコルに基づいてGH1300が選出される。LPG115のGH1300である移動車両は、V−Vチャネル及びV−Rチャネルの両方にハートビート制御パケット1700を送出する。同様にGH1300として機能するRSU100は、そのハートビートをV−Rチャネルにのみ送出する。2つ以上のGH1300、たとえばLPG115からのGH1300及びRSU100がハートビート制御パケット1700を送信すると、ヘッダ解決が発生する。これは、同じLPG115内に複数のGH1300があるのを回避するためであり、それは、同じLPG115に複数のGH1300があると、冗長な(混乱させる可能性さえある)制御信号がLPG115内で送信されるか又はブロードキャストされ、帯域幅及び容量を浪費することになるためである。ヘッダ解決は、少なくとも2つのGHから1つのGH1300を選択するように機能する。
【0097】
図12は、ヘッダ解決方法を示す。ステップ1200において、LPG115のGH1300及びRSU100が共に、互いのハートビート制御パケット1700を受信すると、ヘッダ解決メッセージを生成する。これは、RSU100及び任意のGH1300に対し、ヘッダ解決モードで動作するように通知する。ステップ1210のように、所定選択基準に基づいて新たなGHが選択される。好ましい実施形態では、RSU100が、新たなGHとして選択される。そして、ステップ1220において、RSU100は、新たなハートビート制御パケット1700を無線範囲内の任意のノードに送信し、RSU100がGH1300であることを示す。ハートビート制御パケット1700が、V−Rチャネルを介して再び送信される。ステップ1230において、他のノードが、RSU100を
介してLPG115に参加する。
【0098】
図13は、移動車両110のみを含む動的LPGがRSU100に近接するように移動した時のRSU100を含むLPG115の形成を示す。動的LPGの場合、LPG115を、RSU100サービスエリア1310外で形成することができる。最初は、少なくとも1つの移動車両110からGH1300が選択される。LPG115がRSU無線範囲内に移動すると、RSU100はLPG115に参加する。RSU100は最初に、GH1300として機能し、ハートビート制御パケット1700を送出する。RSU100とGHA1300Aとの間にヘッダ解決が発生する。好ましい実施形態では、RSU100がGHA1300Aを超える優先権を有し、LPG115に対して唯一のGH1300となる。
【0099】
LPG115が、複数のRSU100、たとえばリンクされたRSU100又はRSUグループ600に近接するように移動すると、1つのRSU100のみがGH1300になる。他のRSUはGN1500になる。再びヘッダ解決が発生し、RSU GHの選択は、所定の優先権に基づいてもよく、又はRSU IPアドレスの何らかのハッシュ関数によってもよく、又はGH1300の年功によってもよい(たとえば、GHの古さ(age)が比較され、最も古いGHが勝ちGHとして選択される)。
【0100】
2つ以上のLPG115内に1つのRSU100があってもよい。通常、各LPG115は、その中に、GH1300として機能している1つのRSU100を有することができる。1つのRSU100が、その有効範囲内の複数のLPG115に対するGH1300となることも可能である。同じLPG115内の他のRSUがGN1500になることが可能である。
【0101】
一実施形態では、同じGH1300、すなわちRSU100を有する複数のLPG115が、同じRSU100を有する別個のLPGとして維持されることができる。代替的に、複数のLPGが互いに併合して1つのより大きいLPG115を形成することができる。LPG115のサイズが最大サイズ限度を超えると、LPGは2つの別個のLPGに分かれる。
【0102】
固定LPGの場合、LPG115は、RSU100の無線範囲外に存在しない。したがって、LPGはRSUの位置によって画定される。移動車両は、RSU100を介してGNとしてLPGに参加する。RSU100は、自動的にGHとなる。RSU GHは事前に既知であるか、他のRSU110を通じて発見されるか、又はRSU GHハートビート制御パケット1700を受信することによって発見される。固定LPGの場合、移動車両110自体はLPGを形成せず、したがってRSU無線範囲外にGHがないため、RSU100と移動車両との間にヘッダ解決は不要である。
【0103】
図14は、2つの固定LPG115の形成を示す。図示するように、RSU1 1001及びRSU1 1002はそれぞれ所定の無線範囲を有している。移動車両1及び2(1101及び1102)は、無線範囲内に移動すると、RSU1 1001を介してLPG1 1151に参加する。同様に、移動車両3 1103は、RSU2 1002を介してLPG2 1152に参加する。車両BN1400は、複数のRSU1001及び1002をヒアリングすることができ、2つのLPGの間の境界ノード(Boundary Node)になる。境界ノードは、LPG間中継ポイントとして機能する。この場合、車両BN1400は、いずれのLPG(LPG1 1151及び1152)に参加すべきかを選択することができる。
【0104】
ハイブリッドLPGの場合、RSU100は固定LPG位置の境界を画定する。RSU
100の位置が既知であり、したがって、固定LPGの位置が既知である。移動車両110は、固定LPGエリア外になると、移動車両110であるGH1300を有する動的LPGを形成する。動的LPG内の1つ又は複数のノードがRSU100と接触すると、LPG全体が、GH1300としてRSU100を含む固定LPGに参加し、好ましい実施形態ではGN1500となる。
【0105】
一実施形態では、動的LPGメンバ間のV−Vチャネルを使用して、LPG内通信が発生する。LPG間通信は、V−Rチャネル及びV−Vチャネルを使用して、異なる動的LPGのメンバとRSU100との間で発生する。
【0106】
別の実施形態では、RSU100は、GN1500としてLPG115に参加することができる。この実施形態では、移動車両GH1300とRSU100との間のヘッダ解決により、車両GH1300がLPG115に対する新たなGHとして選択されることとなる。
【0107】
図15は、移動車両110のみを含む動的LPGがRSU100に近接するように移動する場合のRSU100を含むLPG1 1151の形成を示す。最初に、少なくとも1つの移動車両110からGH1300が選択される。図15に示すように、GH1300はGHA1300Aである。LPG115がRSU無線範囲内に移動すると、RSU100はLPG115に参加してLPG1 1001を形成する。GHA1300Aは、最初にGH1300として機能し、ハートビート制御パケット1700を送出する。RSU100とGHA1300Aとの間でヘッダ解決が発生する。この実施形態によれば、GHA1300Aが、RSU100を超える優先権を有し、LPG1 1151に対する唯一のGH1300となる。図15の破線は、新たなLPGを表している。RSU100はRSU GN1500としてLPG1 1151に参加する。
【0108】
LPG1 1151が他のRSU100と接触すると、すべてのRSU100がLPG1 1151のGN1500となる。LPG115の最大サイズに達すると、LPGは2つ以上のLPGに分かれる。固定LPGの場合、LPGはRSU100の無線範囲外に存在しない。したがって、LPG115は、RSU位置によって画定される。移動車両110は、GH1300としてLPG115に参加する。RSU100は、LPG115内でGN1500となる。RSU GHは、事前に既知であるか、他のRSU100を通じて発見されるか、又はRSU GHハートビート制御パケット1700が受信されることによって発見される。固定LPGでは、RSU100と移動車両110との間でヘッダ解決は不要である。
【0109】
図16は、RSU100がGN1500となる2つの固定LPG115の形成を示す。図示するように、RSU1 1001及びRSU2 1002はそれぞれ、所定の無線範囲を有している。GH1300のみが、ハートビート制御パケット1700を定期的に送出して、LPG115の形成を維持する。GN1500は、次のハートビート制御パケット1700を待つようにタイマをセットする。この場合、移動車両GH1300が、ハートビート制御パケット1700を定期的に送出する。各RSU100(GNとして機能する)は、ハートビート制御パケット1700を受信する(すなわち、GHの無線範囲内になる)と、次のハートビート制御パケット1700を待つようにタイマをセットする。ハートビート制御パケット1700がHB期間内に受信されない場合、GN1500のうちの1つが、LPG115に対するGH機能を引き継ぐ。局所的な周辺に2つ以上のGH1300がある場合、GHは、同じLPG115に対するものであるが自身が発したのではないハートビート制御パケット1700をヒアリングする。この場合、1つのGH1300のみが、局所的な周辺にLPG115を維持するために選択されるべきである。競合するGH間でヘッダ解決手続きが使用されて、勝ちのGHが選択される。
【0110】
形成後、GH1300(移動車両)は、V−Vチャネル及びV−Rチャネル上にハートビート制御パケット1700を送出する。すべてのGN1500が、V−Vチャネル及びV−Rチャネル上でハートビート制御パケット1700を転送する。ハートビート制御パケット1700がヒアリングされると、ノードは、移動車両であってもRSU100であっても、参加メッセージを介してLPG115に参加する。
【0111】
別の実施形態では、RSU100は、特別な中継ノード(RYN)としてLPG115に参加することができる。RSU100は、GH1300を介してLPGに参加する。GH1300は、特別なノードとしてメンバシップリストにRSU100を追加する。RYN、すなわち特別な中継ノードは、LPG115内の車両に対して、バックアップ経路として、又は重複するストリーム若しくはマルチパスストリーム用の経路としてのみ使用される。この場合、RYNはLPG115の一部であるが、すべてのメッセージは中継せず、又はすべての形成若しくは編成制御メッセージに積極的には関与しない。したがって、LPGがRSU100エリアを出入りする際、LPG構造を維持することができる。RYNは、中継ノードとして使用されることが可能であること又はその意志があることを示す特別なステータスインジケータを有することができる。この特別なステータスインジケータを使用して、RSU100に対する負荷を制御し主なボトルネックを回避することができる。RSU100に対する負荷が高い場合、ボトルネックが発生する。RSU100に対する負荷が高い時、RSU100は、特別なステータスインジケータが、RSU100が中継ノードとなる意志がないことを示すようにする。したがって、RSU100又はRYNは、ルーティングテーブル2300に残ることができるが、常にアクティブであるとは限らない。一実施形態では、RSU100又はRYNは、その無線有効範囲内のすべてのノードに対し特別なステータスインジケータを事前にブロードキャストすることができる。ノードは、RSU100又はRYNのステータスを含むようにルーティングテーブル2300を更新し、すなわち、ルーティングテーブル2300は、ステータスに対する追加のエントリ、すなわちアクティブか否かを含む。
【0112】
本発明の別の実施形態では、ステータスインジケータは、いずれのタイプのパケットをRSU100又はRYNによってルーティングすることができるかを選択的に判定するパラメータを含むことができる。たとえば、RSU100は、マルチキャストパケットのみを中継することができ、ユニキャストパケットは中継することができなくてもよい。RSU100又はRYNは、その無線有効範囲内のすべてのノードに対し、パケットタイプ情報と共にステータスインジケータを事前にブロードキャストすることができる。すべてのノードが、RSU100又はRYNのパケットタイプ情報を含むようにルーティングテーブル2300を更新し、すなわち、ルーティングテーブル2300は、タイプに対する追加のエントリ、すなわちユニキャスト、マルチキャスト又はブロードキャストを含む。ノードは、RSU100であっても移動車両110であっても、GH1300として機能していてもGN1500として機能していても、メッセージをルーティングするために使用することが可能である。ルーティングには主に2つのタイプ、ユニキャスト及びマルチキャストがある。
【0113】
<ユニキャスト>
ユニキャストルーティングプロトコルは、各ノード内でルーティングテーブル2300を作成することに基づく。ルーティングテーブル2300は、メッセージ又はパケットについての少なくとも宛先及び次ホップを少なくとも含む。LPG115内のすべての移動車両110が、ルーティング機能を実行し、他の車両がシングルホップ又はマルチホップのいずれかで通信するのを支援する。LPG内ルーティングテーブル2300は、LPG形成メッセージを使用して制御パケットをブロードキャストモードで交換することによって構成される。ユニキャストルーティングには追加の制御メッセージは不要である。LP
G115形成に使用される同じ制御パケットが、ルーティングプロトコルのためのルーティングテーブル2300を作成し、維持し、更新するために使用される。ルーティングテーブル2300は、LPG内ルーティングに使用される。LPG識別子がすべての制御パケットに埋め込まれることにより、不要なノードに外部制御パケットが伝播するのが防止される。外部制御パケットはすべて、終了するか又は中継されない。
【0114】
制御パケットメッセージは、GH1300からのハートビート(HB)及びGN1500からのメンバシップレポート(MR)である。ハートビート制御パケット1700は、LPGの領域を画定する。
【0115】
図17は、ハートビート制御パケット1700のフォーマットの一例を示す。ハートビート制御パケット1700は、LPG識別子すなわちGID1705及びグループヘッダID1710の両方を含む一意の識別子を含む。
【0116】
GID1705及びグループヘッダID1710は、各LPG115を識別する。GID1705にはいくつかのフォーマットがあり得る。一実施形態では、GID1705は、LPG115に対してランダムに選択された識別番号であってもよい。代替的に、GID1705は、LPGの形成の順序に基づいて割り当てられた識別番号であってもよい。たとえば、第1のLPGは、LPG1というGID1705を有してもよく、第2のLPGはLPG2であり、以下同様である。しかしながら、GH1300が変化すると、GID1705も同様に変化し、その結果、ノードは、そのLPGが変化したのか、単にLPG115のIDが変化したのかを識別できなくなる。他方で、GHが離れる時に、GID1705を元のIDに固定してもよい。しかしながら、これにより、単一LPGが分割する場合にGID1705が重複する可能性がある。2つ以上のグループが同じGID1705を有することになる。一実施形態では、GID1705は、LPG115を一意に識別するためにLPG ID番号及びGH ID番号の両方に基づいて符号化される。
【0117】
GH1300にはグループヘッダID1710が与えられる。最初に、GID1705は、グループヘッダID1710に結び付けられる。したがって、グループヘッダID1710は、最初は、GID1705の一部として使用されるが、GHが変化すると、GID1705は新たなグループヘッダID1710を含むように変化する。各GHにはグループヘッダID1710が割り当てられる。グループヘッダID1710は、(パブリック又はプライベート)IPアドレスに基づいて割り当てられる。図17に示すように、グループヘッダID1710はIPv6IPアドレスである。別の実施形態では、グループヘッダID1710はIPv4アドレスであってもよい。
【0118】
ハートビート制御パケット1700はまた、シーケンス番号(Seq.No.)1715も含む。Seq.No.1715は、ハートビート制御パケット1700の順序を追跡して、受信されたハートビート制御パケット1700が新しいすなわち新着(fresh)である否かを判定するために使用される。GN1500は、受信したハートビート制御パケット1700のSeq.No1715を記憶している。新たなすなわち新着のハートビート制御パケット1700は、次のSeq.No.1715を有する第1のハートビート制御パケット1700によって示される。シーケンス番号1715はまた、いずれのハードビート制御パケット1700が(次のホップノードに)中継されるべきかを判定するためにも使用され、すなわち、FCRO(first come relay only)(先着のみ中継)戦略を使用することができる。新たな(すなわち新着の)ハートビート制御パケット1700のみが中継されるべきである。ノードは、先のシーケンス番号を記憶しており、ハートビート制御パケット1700の着信シーケンス番号を比較することにより、ハートビート制御パケット1700が新しいすなわち新着であるか否かを判定する。適当なGID1705を有するハートビート制御パケット1700のSeq.No.1715が、現時点で格納
されているシーケンス番号より大きい場合、それは、新たなすなわち新着のハートビート制御パケット1700であり、FCROが使用される場合、中継される。GNに先に格納されていたシーケンス番号は、破棄され、新たなSeq.No.1715に置き換えられる。
【0119】
ハートビート制御パケット1700は、ハートビート期間(HB期間)1720に関する情報をさらに含む。この期間は固定間隔(T)である。間隔(T)の値は、設計又は動作の必要に基づいて選択可能である。HB期間1720は、すべてのGN1500に対し、次のハートビート制御パケット1700がいつブロードキャストされるかを示す。GN1500は、HB期間1720内にハートビート制御パケット1700を受信しない場合、新たなハートビート制御パケット1700を送信し、それにより、ハートビート制御パケット1700は連続的に送信される。元のGH1300が依然としてLPG115にある場合、ヘッダ解決が発生する。制御オーバーヘッドを低減するために、GH13はHB期間1720を調整することができる。調整は、LPGのサイズ、LPG内のノードの位置、負荷、速度及び数に基づくことができる。
【0120】
ハートビート制御パケット1700はまた、ハートビート制御パケット1700のタイプ、たとえば完全なグループリストを有するハートビート、徐々に増加するグループリストを含むハートビート、又はグループリストのないハートビートも含む。一実施形態では、ハートビート制御パケット1700は、すべてのパケットに完全なグループリストを含む。完全なグループリストを使用することは、ルーティングを制御しグループメンバの正しいリストを維持する最も正確な方法であるが、完全なグループを有するハートビート制御パケット1700に対して大量の帯域幅が必要である。ハートビート間隔(T)を、制御オーバーヘッドを低減するように調整することができる。別の実施形態では、すべての第nのハートビート制御パケット1700が完全なグループリストを含む。たとえば、各第3のハートビート制御パケット1700が完全なグループリストを含む。これにより、平均ハートビート制御パケット1700に対する帯域幅が低減する。しかしながら、LPG115内のノードの大部分が急速なペースで移動しているため、受信されるグループリストは古くなっている可能性がある。言い換えれば、新たなグループリストがノードによって受信される時まで、グループのいくつかのメンバは別のLPG115内にある可能性がある。別の実施形態では、徐々に進行するか(progressive)又は徐々に増加する(incremental)グループリストを配信することができる。グループリストにメンバシップの変更がある場合にのみ、グループリストは配信される。徐々に進行するか又は徐々に増加するグループリストにもまた、メンバシップリストが古くなる可能性がある。代替的に、ハートビート制御パケット1700のタイプはハイブリッドグループリスト更新であってもよい。メンバシップに変更がある場合に、ハートビート制御パケット1700に徐々に進行するグループリストを含めることができ、さらにすべての第nのハートビート制御パケット1700に完全なグループリストを含めることができる。ToHb1725は、ハートビート制御パケット1700のタイプを示す。ハートビート制御パケット1700のタイプは、LPG115のトポロジ変化の速度及びハートビート制御パケット1700のブロードキャストの頻度によって影響を受ける。LPG115のトポロジ変化の速度が増大すると、すべてのハートビート制御パケット1700に完全なグループリストを含める必要が増大する。ハートビート制御パケット1700のブロードキャストの頻度が増大すると、すべてのハートビート制御パケット1700に完全なグループリストを含める必要が低減する。
【0121】
ハートビート制御パケット1700は、GHからのホップカウント(HC)1730を含む。最初、HC1730は所定値、たとえば1に設定されている。ハートビート制御パケット1700がノードによって中継される度に、中継ノードはHC1730の値を1だけ増加させ、すなわちHC=HC+1となる。HC値を使用して、LPGサイズを制限し
、ハートビート制御パケット1700内の情報の古さを示すと共に、オーバーヘッドを低減するように制御パケットのルーティングを制御することができる。各LPGに対し、ルーティングの最大ホップカウントたとえば10がある。HC1730が最大ホップカウントまでインクリメントされると、制御パケット、たとえばハートビート制御パケット1700は中継されない。
【0122】
最大ホップカウント、HC1730及びSeq.No.1715を使用することにより、LPG115内の制御パケットのフラッディングの無限の重複が防止される。フラッディングは、グループ内のすべてのノードによってパケットが配信されるパケット配信方法である。ネットワーク密度が高い場合には、フラッディングにより不要な数の重複中継が発生する。ネットワーク内の各すべてのノードがフラッディングパケット中継に参加し、各ノードがこれらのパケットをそのリンクのすべてに中継する。
【0123】
ホップカウントはまた、中継戦略に使用することもできる。一実施形態では、ハートビート制御パケット1700は、最も短いホップカウントを有する場合に中継される。この方法により正しいホップカウントが保証されるが、待ち遅延がある。ノードは、ハートビート制御パケット1700に対する最短ホップカウントを判定しなければならないため、ハートビート制御パケット1700を中継する前に、すべてのアップストリームノードからハートビート制御パケット1700を受信するまで待たなければならない。したがって、最短ホップカウント及び上述した先着のみ中継戦略の両方を使用して、結合された中継戦略を実装することができる。ハートビート制御パケット1700は、ノードがより短いホップのハートビート制御パケット1700を受信するまで、先着のみ中継戦略を使用して中継される。ノードAは、ハートビート制御パケット1700を転送する時、メッセージにID情報を含め、それにより、次ホップノードは、何がハートビート制御パケット1700を中継したかを知る。そして、パケットを転送しているノード(ノードA)は、ノードAからハートビート制御パケット1700を受信した次ホップノードに対するMR中継ノード(GH1300に向かってMR1800を送信する)となる。
【0124】
上述したように、ハートビート制御パケット1700は、グループリスト1735も含むことができる。グループリスト1735は、LPG115内のメンバの数、各メンバに対するIPアドレス、GHからのホップカウント及び分類のような、LPG115のメンバに関する情報を含むことができる。
【0125】
分類は、GHノードからの相対的な方向、たとえばアップリンク、ダウンリンク及びピアを指すコードであってもよい。ピア分類は、ノードがGHからの同じ無線サービスエリア内にあることを示し、すなわち、ピアノードのすべてがGHからの同じホップカウントを有する。アップストリームノードは、ハートビート制御パケット1700によって判定される。ダウンストリームノードは、メンバシップレポート(MR)に基づいて判定される。アップストリーム伝送は、GH1300に向かう通信を表し、ダウンストリーム伝送は、GH1300から離れる通信を表す。この分類は相対的な用語である。各GN1500は、その隣接するGNを3つの異なるクラスに分類することができる。GNは、別のGNのメンバシップレポートがそのGNのHCより1つ少ないホップカウント(HC)を有する場合、アップストリームノードである。HC1700がGN1500自体のHC1700と同じである場合、GN1500はピアである。HC1700がGN自体のHC1700より1大きい場合、GNはダウンストリームノードである。
【0126】
図18は、メンバシップレポート(MR)1800を示す。MR1800は、GH1300によって受信されるようにGN1500がブロードキャストする制御パケットである。MR1800は、メンバシップリスト、ダウンストリームノード識別及びダウンストリームノードに対する次ホップのような収集可能なルーティング情報を含む。MR1800
は、ハートビート制御パケット1700と同じ情報のうちのいくつか、すなわちGID1705及びグループヘッダID1710を含む。MR1800はまた、MR Seq.No1805も含む。MR Seq.No.1805は、ハートビート制御パケット1700のSeq.Noと同様であり、MRの順序を維持するために使用される。MR.Seq.No.1805は1つの特定のノードに対するMR順序である。通常、MR Seq.No.1805は、MR1800をトリガしたハートビート制御パケット1700のSeq.No.1715と同じ値を有する。
【0127】
MR1800には、発信ノード、すなわちMR1800を生成したノードのノードID1810も含まれている。
【0128】
MR1800は、次ホップ中継ID1815も含む。次ホップ中継ID1815は、GH1300に向かうMR1800に対する中継命令である。次ホップ情報は、受信されたハートビート制御パケット1700から直接判定される。ノードは、新たなすなわち新着のハートビート制御パケット1700を受信すると、いかなるパケット処理をも行う前に、IP層及びMAC層から以前の中継ノードの識別を再取得する。以前の中継ノードの識別は、メモリに格納されており、MR1800に対する次ホップ中継ID1815として使用される。ノードは、ハートビート制御パケット1700を転送する時、パケットにそのIDを含める。受信側の次ホップノードは、新たなすなわち新着のハートビート制御パケット1700を受信すると、このIDを、GH1300に到達するための次ホップ中継IDとして格納する。新たなすなわち新着のハートビート制御パケット1700は、HCが最低なより新しいシーケンス番号を有するパケットである。
【0129】
MR1800はまた、「MRのタイプ指標」ToMR1820も含む。MR1800には2つのタイプ、すなわち単一メンバのレポートと統合された複数メンバのレポートとがある。単一メンバMRは、発信ノードからのMR1800のみを含む。統合複数メンバレポートは、2つ以上のノードのMR1800を含む。統合レポートを使用して、制御パケットに必要なオーバーヘッド及び帯域幅を低減することができる。複数のMRを含む1つのMR1800が送信される。
【0130】
さらに、MR1800は、GHからのホップカウント(HCGH)1825を含むことができる。(HCGH)1825は、GH1300からMR1800の発信ノードまでのHC値である。別の実施形態では、MR1800は、累積メンバシップリスト1830と他の追加の情報1835とを含むことができる。累積メンバシップリスト1830は、LPGのメンバのIPアドレス、メンバの数及び対応するホップカウントを含む。
【0131】
MR1800を、逆経路又は逆フラッディング方法を使用してGH1300に配信又は中継することができる。逆経路方法は、ハートビート制御パケット1700を中継するために使用されたものと同じ経路を使用して、MR1800をGH1300に向かって中継する。MR1800が中継される時、中継ノードは、次ホップ中継1815をGHに向かうその次ホップに置き換える。対応するIDを有するノードのみが、MR1800パケットを中継する。この方法により、伝送の対称性が保証される。非対称リンクが存在する場合、逆フラッディング方法が使用され、すなわち、発信ノードとGH1300との間のすべてのノードがMR1800を中継する。
【0132】
各ノードは、ハートビート制御パケット1700及びMR1800の両方を使用して、LPGベースのルーティングのための転送テーブルとして使用可能なルーティングテーブル2300を作成する。好ましい実施形態では、各ハートビート制御パケット1700は、完全なグループリストを有し、LPG115内のすべてのGN1500が、それに対してMR1800で応答する。ハートビート制御パケット1700は、先着のみ中継方法を
使用して中継され、MR1800は、単一MRとして逆経路方法を使用してGH1300に向かって中継される。
【0133】
図19は、ユニキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードは、ステップ1900においてアイドル状態である。ステップ1901においてパケットが到着すると、ステップ1902において、ノードは、パケットがハートビート制御パケット1700であるか又はMR1800であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。制御パケットがハートビート制御パケット1700である場合、ノードは、ステップ1903から始まるパケット処理を開始する。ステップ1903において、ノードは、パケットがネイティブ(native)であるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち同じGID1705を有する場合、ネイティブである。ノードは、GID1705を、メモリに格納されているグループ識別と比較する。GID1705が、メモリに格納されている識別と一致しない場合、ステップ1904において、ノードは、外部HB処理を開始する。通常、外部HB処理の結果、ノードはパケットを無視する。GIDがメモリに格納されている識別と一致する場合、ノードはその後、ハートビート制御パケット1700が順序通りであるか否かを判定する。ノードは、Seq.No.1715をメモリのシーケンス番号と比較する。ステップ1905において、Seq.No.1715がメモリに格納されている値より小さい場合、ノードはパケットを無視する。Seq.No.1715がメモリに格納されている値より大きい場合、ハートビート制御パケット1700は順序通りであり、ステップ1906において、ノードは、現シーケンス番号を最後に格納されたシーケンス番号と比較することによって、ハートビート制御パケット1700が新しいか否かを判定する。ノードが、メッセージが新しくないと判定する場合、ステップ1907において、送信者のルーティングエントリのみが更新される。ハートビート制御パケット1700は中継されない。ノードは、メッセージが新しいと判定した場合、ノードがGH1300であるか又はGN1500であるかに応じて、2つの機能のうちの1つを実行する。ステップ1908において、ノードタイプの判定を実行する。ノードがGH1300である場合、ステップ1909において、ノードは送信者のルーティングエントリを更新する。ハートビート制御パケット1700は中継されず、ノードはアイドル状態になる(1900)。しかしながら、ノードは、GN1500である場合、ステップ1910において、すべてのグループメンバエントリに対してルーティングテーブル2300を更新し、ハートビート制御パケット1700を中継する。ルーティングテーブル2300の更新については後により詳細に説明する。
【0134】
制御パケットがMR1800である場合、ノードはステップ1911から始まるパケット処理を開始する。ステップ1911において、ノードは、パケットがネイティブであるか否かを判定する。ノードは、GID1705をメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別に一致しない場合、ステップ1912において、ノードは外部MR処理を開始する。GIDがメモリに格納されている識別と一致する場合、ノードは、そのMR1800を送信したノードがLPG115のメンバであるか否かを判定する。ノードは、ノードID1810をメモリに格納されているメンバシップリストと比較する。一致がない場合、ステップ1914において、ノードはMR1800を中継のみする。MRは中継され、それにより、完全なハートビートサイクルを待つ必要なしに、新たなグループノードがLPGに参加することができる。MR1800を送信したノードが参加リストに列挙されていない場合、ノードを参加(joining)ノードとみなすことができる。ルーティングテーブル2300には参加ノードのルーティングエントリがない。一実施形態では、ノードは、MR1800をGH1300に向かって転送することができる。ノードは、ルーティングテーブル2300のいかなるエントリも更新しない。別の実施形態では、ノードは、(MRの)発信ノードを宛先リストに追加することができ、すなわち、発信ノードに対してルーティングエントリを予約することができる。ノ
ードは、中継ノード情報を次ホップとして保存することができ、新たなハートビート制御パケット1700がメンバとしての発信ノードによって受信される場合、ルーティングテーブル2300を、メモリにすでに格納されている情報で自動的に更新することができる。新たなルーティングエントリが最終決定されると、発信ノードをダウンストリームノードとして分類することができる。
【0135】
一致がある場合、ステップ1915において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、MR Seq.No1805をメモリのシーケンス番号と比較する。MR Seq.No1805がメモリに格納されている値より小さい場合、ノードはパケットを無視し、アイドル状態になる(1900)。MR Seq.No1805がメモリに格納されている値より大きいか又はそれと等しい場合、MR1800は順序通りであり、ノードは、ステップ1916において、ノードが現シーケンス番号の発信者からすでにMR1800を受信しているか否かを(最後に格納されたシーケンス番号を比較することにより)判定することにより、MR1800が新しいか否かを判定する。ノードが、メッセージが新しくないと判断する場合、ステップ1917において、送信者のルーティングエントリのみが更新される。MR1800は中継されない。ノードは、メッセージが新しいと判定する場合、ノードがGH1300であるかGN1500であるかに応じて、2つの機能のうちの1つを実行する。ステップ1918において、ノードタイプの判定が行われる。ノードがGH1300である場合、ステップ1919において、ノードは、直接の送信者及び発信者のルーティングエントリを更新する。MR1800は中継されず、ノードはアイドル状態になる1900。しかしながら、ノードは、GN1500である場合、ステップ1920において、送信者及び発信者についてルーティングテーブル2300を更新し、MR1800を中継する。ルーティングテーブル2300の更新については、後により詳細に説明する。
【0136】
図20及び図21は、ノードがハートビート制御パケット1700を受信したときのルーティングテーブル2300更新方法を示す。ステップ2000において、ノードが新着のハートビート制御パケット1700を受信すると、ステップ2005においてルーティングテーブル2300が更新される。ノードは、新着のハートビート制御パケット1700を受信すると、パケットがどこから来たか、すなわち直接の中継ノードを判定することができる。中継ノードは、GHに対する次ホップである。ステップ2100において、ノードは、GHに対する次ホップを更新する。次に、ステップ2105において、ノードは宛先リストを追加するか又は更新する。宛先リストは、LPG115のすべてのメンバのリストである。プロセスは、グループの元メンバのルーティング宛先を除去すること、及び新たなメンバに対するルーティングエントリを挿入することを含む。そして、ステップ2110において、ノードは、すべての宛先に対する次ホップをGH1300として設定する。GH1300は、最初はすべての宛先に対する次ホップである。次ホップは、LPG115に関するより多くの情報が利用可能となるにつれて変化する。そして、ステップ2010において、ノードは、情報の新鮮度(freshness)指標を更新する。特に、ノードは、ハートビート制御パケットを追跡するためにタイマをリセットする。ノードはまた、シーケンス番号をメモリに格納し、古くなった情報を破棄する。そして、ステップ2015において、ノードはホップカウントを1インクリメントする。さらに、ノードは、ハートビート制御パケット1700を中継する前に、ステップ2020において、それ自体のIPアドレスを、GHへの次ホップとしてパケットに挿入する。ステップ2025において、ノードは、ステップ2000〜2020で説明したパケット処理後にメッセージを中継する。
【0137】
ステップ2000において、ノードが重複したハートビート制御パケット1700を受信すると、ステップ2030において、ルーティングテーブル2300の直接の送信側のエントリのみが更新される。更新は、図21のステップ2100〜2110で説明した更
新プロセスを含む。さらに、ステップ2035において、新鮮度指標もまた更新される。
【0138】
新着のMR1800を受信する時はいつでも、ノードは、MR1800からの情報を使用してルーティングテーブル2300を変更する。MR1800は、よりよいルーティングルートをもたらす追加のルーティング情報を提供する。各ノードは、すべてのダウンストリームノード、1ホップ離れたアップストリームノード又はピアノードからMRをヒアリングすることができる。ダウンストリームノード及びアップストリームノードの場合、ノードは、1ホップ内のすべてのノードのMR1800をヒアリングすることができる。ルーティングテーブル2300は、MRの中継ノードを対応するルーティングエントリの次ホップに設定することによって更新される。ノードは、MRの発信者のルーティングエントリを検査する。次ホップが中継ノードでない場合、エントリが変更される。さらに、直接の送信者のルーティングエントリが更新され、直接接続、すなわち宛先への次ホップは、宛先である。MR1800に関連付けられるルーティングエントリに対する新鮮度指標が更新され、MR1800を送信する発信ノードのシーケンス番号が更新される。ルーティングテーブル2300は、ハートビート制御パケット1700及びMR1800が共に受信された後にのみ完成する。したがって、ルーティングテーブル2300は、完成した後にメッセージを転送するためにのみ使用される。更新プロセス中、先のルーティングテーブル2300が転送テーブルとして使用される。
【0139】
転送テーブルは、パケット転送に使用されるルーティング情報である。内部ルーティングテーブル2300の構成が完了した後、ノードは、新たなルーティングデータを使用するパケット転送を可能にするように転送テーブルをリセットする。
【0140】
図22は、ユニキャストIPパケット転送に対する有限状態機械を示す。ノードの初期状態はアイドル2200である。ユニキャストパケットが到着すると、ノードは、パケットの最終宛先がそのノードであるか否かを判定する(状態2205)。最終宛先が一致すると、すなわち、パケットの宛先アドレスがノードIPアドレスと一致すると、ノードはパケットを消費する(状態2210)。IPパケットは処理される。パケットがそのノード宛てでない場合、ノードはパケットを転送する(状態2215)。特に、ノードはまず、ルーティングテーブル2300をIPパケットからの情報で更新し、次に、転送テーブルにおいて宛先アドレスを検索し、転送テーブルに列挙されている隣接する次ホップにパケットを転送する。
【0141】
図23は、内部ルーティングテーブル(Internal Routing Table)2300のフォーマットの一例を示す。IRT2300は、メモリに格納されているデータベースである。IRT2300の第1列は、LPGにおけるルーティング可能エントリ又は宛先のすべてを列挙する。第2列は、各宛先に対する次ホップを列挙する。別の実施形態では、IRT2300は、情報の新鮮度及びノード分類、すなわちアップストリーム、ピア、ダウンストリーム、参加を維持するか又は示すために、シーケンス番号又はタイムスタンプを含むことができる。
【0142】
<マルチキャスト>
別の実施形態では、LPGネットワークは、マルチキャストメッセージ機能をサポートすることが可能である。ユニキャストでは、送信ノード(たとえば事故の目撃者)は1つの特定の受信者にメッセージを送信するか又は向けるため、同じ情報を複数の受信者に送信するためには複数のメッセージが必要である。これにより、大量のネットワーク帯域幅が消費されメッセージが遅延する結果となる。たとえば、ユニキャストでは、特定のメッセージに対して6つの異なる受信者がいる場合、送信者とその隣接するノード、すなわち受信者との間のリンクに、6つの異なるメッセージ及び重複したメッセージが送信される。ネットワークは、同じメッセージを送信するために6回使用され、送信者の最後の送信
の受信者は他より長く待つ必要がある。さらに、送信者は、前もって各受信者、すなわち各受信者のIPアドレスを知っていなければならない。
【0143】
マルチキャスト伝送では、送信者はメッセージの重複したコピーを生成せず、すべての受信者に対し1つのメッセージを送信する。マルチキャストにより、ネットワーク帯域幅は大幅に節約される。たとえば、送信者は、6つの1ホップ隣接する受信者に1つのメッセージを送信する必要がある場合、6つの受信者すべてに対し1つのマルチキャストメッセージを生成する。使用される総帯域幅は1/6に低減される。さらに、ノードは、事前に完全に編成されている必要はなく、すなわち各ノードは他のすべてのノードのアドレスを知っている必要はなく、マルチキャストグループ2400識別又はマルチキャストグループ2400のIPアドレスさえ知っていればよい。マルチキャストグループ2400内のすべてのノードが、マルチキャストメッセージを受信する。さらに、後述するマルチキャストツリー又はメッシュが、マルチキャストグループのすべてのマルチキャストメンバがソースノードであって互いに通信するようにサポートすることができる。別個のマルチキャストツリー、すなわち各ソースノードに対し他のノードと通信するための1つのツリーを作成する必要はない。
【0144】
ユニキャストとは異なり、マルチキャストは、マルチキャストセッション毎に複数のソース及び受信者を扱う。たとえば、RSU100は、複数のスクールバスに1つの緊急情報を流そうとする。情報を迅速に配信するために、メッセージを送信する前に、関与するスクールバス間の経路を確立しなければならない。マルチキャストでは、マルチキャストメンバ間のルーティング経路は、マルチキャストツリーに基づく。マルチキャストツリー又はメッシュが、事前対応型マルチキャストルーティング方法を使用して構築され、ノードの大部分が移動することによるアドホックネットワークの動的変化を考慮することができる。本発明によれば、マルチキャストメッセージが遅延し喪失することを回避するように、ツリー又はメッシュは迅速に調整される。
【0145】
本発明によるアドホックネットワークでは、参加者は通常、シングルホップすなわち直接隣接するホップか、又はマルチホップのいずれかにより接続されている。マルチキャストグループ2400は、リーフノードと呼ばれるマルチキャストメンバから作成されている。各リーフ間のいかなるノードも、マルチキャスト転送ノード(FN)2410として選択し、関連付けられるマルチキャストメンバにマルチキャストパケットを転送するために使用することができる。
【0146】
図24は、マルチキャストグループ2400の一例を示す。マルチキャストグループ2400は、3つのマルチキャストメンバLN1 24051、LN2 24052及びLN3 24053を含む。マルチキャストグループ2400はまた、転送ノードFN1 20101及びFN2 20102も含む。この例では、グループヘッダGH1300もまた転送ノード2410でもある。図24に示す残りのノードはグループノード1500である。LPG115のすべてのノードが、リーフノード2405又は転送ノード2410又は両方であることが可能である。マルチキャストツリーは、すでに上述したパケットの同様の制御及び形成に基づいて作成される。マルチキャストツリーは、帯域幅の著しい増大及び制御パケットの追加の情報なしに、制御パケットに含まれている情報を活用する。制御パケットは、ハートビート制御パケット1700及びMR1800を含む。マルチキャストツリーは、任意のソース、すなわちリーフから、受信者すべて、すなわち他のリーフへの経路を提供する。
【0147】
マルチキャストセッションを確立するため、マルチキャストセッションに関心のあるノードは、マルチキャストセッションに対応するマルチキャストアプリケーションプログラムを開始する。アプリケーションプログラムはメモリに格納されている。したがって、ノ
ードは、リーフノードとなり、LPG115へのセッションに参加したいという関心を示す信号(MR1800)を発する。これらの信号により、マルチキャストセッションのためのマルチキャストツリーの生成が開始する。
【0148】
ノードは、開始信号を受信すると、マルチキャストセッションのFN2410となる。FN2410は、マルチキャストセッションに関連するマルチキャストパケットを受け入ると共に転送することができる。
【0149】
図24を参照すると、LN1 24051〜LN3 24053は、マルチキャストセッション(たとえば気象サービスセッション)に関連付けられるマルチキャストアプリケーションプログラムを開始することによって、マルチキャストセッションに参加しリーフノード2405となる。FN2410としてFN1 24101、GH1300、LN2
24052及びFN2 24102が選択されることにより、リーフノードLN1 24051〜LN3 24053のすべてにわたるマルチキャストセッションのためのマルチキャストツリーが形成される。
【0150】
本発明によれば、マルチキャストツリーを2つの方法で作成することができる。図25は、本発明の一実施形態によるマルチキャストツリーを形成する一方法を示す。この実施形態では、GHがマルチキャストツリーの作成を制御する。ステップ2500において、GHは、LPG115内の各ノードに対して分類を割り当てなければならない。分類は、ノードがGH1300からのアップストリームであるか又はダウンストリームであるかに基づく。ノードは、GH1300からのアップストリームである場合、第1の分類が割り当てられ、GH1300からのダウンストリームである場合、ノードに対し第2の分類が割り当てられる。たとえば、一方の分類は青であってもよく、青がGH1300の一方の側に位置するすべてのノードに割り当てられ、他方の分類は赤であってもよく、赤がGH1300の他方の側のすべてのノードに割り当てられる。GH1300は、LPG115内のすべてのノードに対し分類を含むハートビート制御パケット1700をブロードキャストする。ステップ2505において、すべてのノードが、GHからのホップカウントを判定する。GHからのホップカウントは、ハートビート制御パケット1700から直接判定される。ステップ2510において、GH1300は、リーフノード2405に関する情報を収集する。この情報は、メンバシップレポートから直接判定される。ステップ2515において、GH1300は、収集された情報に基づいて、リーフノード2405が関与するマルチキャストセッションの配信範囲(scope)を画定する。特に、GH1300は、すべてのMR1800を処理して、いずれのノードがリーフノード2405(すなわちマルチキャストセッションのメンバ)であるかと、それらの分類と、ホップ距離とを見つける。たとえば、赤及び4ホップ距離、青及び1ホップ距離である。配信範囲により、マルチキャスト転送の範囲が限定される。マルチキャストセッションのためにGH1300によって画定される配信範囲内の中継ノードはFN2410になる。FN2410のセットは、マルチキャストメッシュを表す。
【0151】
図26は、この実施形態によるマルチキャストグループ2400の一例を示す。陰付領域が、マルチキャストグループ2400の配信範囲を表している。この例では、リーフノードLN1 24051はGH1300mの一方の側にあり、リーフノードLN2 24052及びLN3 24053は他方の側にある。LN1 24051の分類は第1の分類、すなわち赤であり、リーフノードLN2 24052及びLN3 24053の分類は第2の分類、すなわち青である。赤側では、最も遠いリーフノードはGH1300から4ホップはなれており、青側では、最も遠いリーフノードは2ホップ離れている。したがって、マルチキャストグループ2400の配信範囲は、赤側に4ホップから青側に2ホップまでである。この配信範囲情報は、ハートビート制御パケット1700を通じて中継ノードに公表される。中継ノードは、配信範囲情報を受信すると、FN2410となるか否
かを判定する。図26に示すように、4ホップ赤から2ホップ青までの範囲内の中継ノードは、マルチキャストセッションのFN2410となる。リーフノードLN2 24052は、リーフノード及びFN2410の両方である。マルチキャストメッセージは、メンバ間の最短経路を使用してルーティングされる。
【0152】
上述したように、マルチキャストツリーは、ハートビート制御パケット1700及びMR1800に基づいて作成される。GH1300は、所定の間隔でハートビート制御パケットをブロードキャストする。ハートビート制御パケット1700は、LPG115内のすべてのノードに配信される。ハートビート制御パケット1700に応答して、各ノードは、MR1800をGH1300に送信する。GH1300に向かってMR1800を中継するノードは、中継ノード(RN)である。マルチキャストの場合、ハートビート制御パケット1700及びMR1800の内容は、マルチキャスト関連情報を含むように更新される。特に、分類情報及びマルチキャスト配信範囲情報がハートビート制御パケット1700に追加され、メンバ分類及びGHへのホップ距離がMR1800に含まれる。図27及び図28は、マルチキャストツリーを作成するために使用されるハートビート制御パケット1700及びMR1800の例である。
【0153】
ノードは、ハートビート制御パケット1700を受信すると、その分類、そのホップ距離と共に、マルチキャスト配信範囲情報を取得する。中継ノードは、ハートビート制御パケット1700の配信範囲情報に基づいて、FN2410になる必要があるか否かを判定する。特に、配信範囲内の中継ノードはFN2410になる。マルチキャストセッションに対するすべてのFN2410が、マルチキャスト転送テーブル(MFT, Multicast Forwarding Table)3100におけるエントリとしてそのマルチキャストセッションに対するマルチキャスト転送エントリに反映される。MFT3100は、マルチキャストツリーに対する構造を反映する。MFT3100は、ハートビートサイクル毎に、すなわちすべてのハートビート制御パケット1700及びMR1800の後に更新される。言い換えれば、マルチキャストツリー及びMFT3100は、参加したり離れたりするノードと共にマルチキャストメンバの移動度を反映するように更新される。
【0154】
図29は、本発明のこの実施形態による、マルチキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードはアイドル状態である(2900)。パケットが到着すると(2901)、ノードは、パケットがハートビート制御パケット1700であるか又はMR1800であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。ノードは、ステップ2902で制御パケットのタイプを判定する。制御パケットがハートビート制御パケット1700である場合、ノードは、ステップ2903から始まるパケット処理を開始する。ステップ2903において、ノードは、パケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち同じGID1705を有する場合、ネイティブである。ノードは、GIDをメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ2904において、ノードは、外部ハートビート制御パケット1700処理を開始する。通常、外部HB処理により、ノードはパケットを無視することになる。GIDがメモリに格納されている識別と一致する場合、ノードは、ハートビート制御パケット1700が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。ステップ2905において、Seq.No.がメモリに格納されている値より小さい場合、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きくかそれと等しい場合、ハートビート制御パケット1700は順序通りであり、ステップ2906において、ノードは、ハートビート制御パケット1700が新しい(すなわち、シーケンス番号が最後に格納されたシーケンス番号より大きい)か否かを判定する。ノードは、メッセージが新しくないと判定する場合、そのメッセージを無視し、アイドル状態になり、すなわちステップ2900に
戻る。ハートビート制御パケット1700が新しい場合、ステップ2907において、ノードは、それ自体が中継ノード(RN)であるか否かを判定する。ノードは、RNでない場合、ステップ2908において、メモリにおけるGHからのホップカウント及び分類のような情報を更新する。他方で、ノードは、RNである場合、ステップ2909において、当該ノードが配信範囲内にあるか否かを判定する。GH1300は、受信したMR1800に基づいて配信範囲を画定する。GH1300は、画定された配信範囲内に位置する場合、FN2410になる。RNは、配信範囲内にある場合、FNとなり、ステップ2910において、MFT3100に、マルチキャストセッションの識別、すなわちクラスDマルチキャストIPアドレスを追加する。さらに、ノード、ここではFN2410は、必要な場合、ホップカウント情報及び分類を更新する。RNは、配信範囲内にない場合、ステップ2908において、メモリにおけるGHからのホップカウント及び分類のような情報を更新する。
【0155】
制御パケットがMR1800である場合、ノードは、ステップ2911から始まるパケット処理を開始する。ステップ2911において、ノードは、パケットがネイティブであるか否かを判定する。ノードは、GID1705を、メモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ2912において、ノードは、外部MR処理を開始する。パケットがネイティブである場合、ステップ2913において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ2913において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい、すなわちMR1800が順序通りである場合、ステップ2914において、ノードは、当該ノードがGH1300であるか否かを判断する。ノードは、GH1300である場合、ステップ2915において、MR1800に含まれる情報及び配信範囲を収集する。特に、MR1800は、分類情報、GHまでのホップカウント情報及びマルチキャストグループ2400のメンバシップ情報を含む。GH1300は、この情報を使用して、ハートビート制御パケット1700を送信する前に、必要な場合、マルチキャストグループ2400の配信範囲を調整することができる。さらに、GH1300は、MFT3100を変更する、すなわちFN2410としてそれ自体を追加する。最後に、GH1300は、必要な場合、移動度を考慮するようにノードの分類を変更する。
【0156】
他方で、ノードは、GHでない場合、ステップ2916において、それ自体がRNであるか否かを判定する。ノードのそれ自体のIDがMR1800の次ホップ中継ID(たとえばIPアドレス)と等しい場合、ノードはMR1800のRNである。すべてのノードが、GH、RN及びFNのようなそのノードステータスを維持する。ノードは、RNでない場合、ステップ2917において、単に分類情報を更新する。ノードは、RNである場合、ステップ2918において、そのノードステータスをRNとして設定し、分類情報を更新する。
【0157】
図30A及び図30Bは、GH1300(図30A)及びRN(図30B)両方に対する機能ノード状態遷移図を示す。GH1300は、FN2410であってもなくてもよく、すなわち非FN3000状態又はFN3010状態のいずれかであり得る。GH1300は、マルチキャストグループ2400の配信範囲外に位置している場合、遷移3005を介してマルチキャストグループ2400の非FN状態3000になる。GH1300は、マルチキャストグループ2400の配信範囲内にある場合、遷移3015を介してFN2410状態3010に遷移する。FN状態3010になると、FN2410はFNタイマをセットする。FNタイマを使用して、ノードがFN2410である時間が制御される。タイマは、所定の期間にセットされる。ノードFNは、FN状態3010である間、FNタイマが満了した時にのみ、遷移3025を通じて非FN状態に移動する。
【0158】
GH以外のノードは、4つの状態のうちの1つであり得る。すなわち、通常のノード(すなわち、非RN及び非FNの両方)3030、RN状態3040、FN状態3050及びFN/RN状態(FN及びRN両方)3060である。図30Bの有効MR(Valid MR)受信は、受信されたMR1800がそのノード宛てであることを意味する。通常のノード(状態3030)は、MR1800を受信すると、遷移3035を介してRN(状態3040)に遷移する。RN(状態3040)となると、RNは、ハートビート制御パケット1700を受信すると、3055を介してFN2410(状態3050)に遷移するか、又は遷移3045を介して通常のノード(状態3030)に戻るように遷移する。RNは、画定された配信範囲内にある場合、遷移3055を介してFN(状態3050)になる。しかしながら、RN3040(状態3040)は、配信範囲内にない場合、通常のノード状態3030に遷移する。FN(状態3050)は、タイマが満了すると、遷移3065を通じてその状態を通常のノードに戻す。FN2410は、RN及びFNの両方であり得る。FN2410(状態3050)は、異なるMR1800を受信すると、遷移3075を介して状態3060に遷移してRN/FN両方(状態3060)になる。ノードは、新たなハートビート制御パケット1700を受信する(遷移3085)までFN/RN両方として状態3060のままである。
【0159】
図31は、本発明によるマルチキャストルーティングに使用されるMFT3100の一例を示す。MFT3100のエントリは、マルチキャストグループアドレス(たとえばクラスD IPアドレス)と発信インタフェースとから成る。マルチキャストグループ2400が或るノードに対しMFT3100に列挙されている場合、そのノードは、そのマルチキャストグループ2400のFN2410となる。各FN2410は、メモリにMFT3100を格納している。したがって、ソース又は隣接するFN2410からマルチキャストパケットを受信すると、それはマルチキャストパケットを転送する。
【0160】
非GHの場合、MFT3100は、ハートビート制御パケット1700のみに基づいて更新され、マルチキャストセッションに対するマルチキャストグループ2400のアドレスは、MFT3100のエントリとして追加され、関連タイマ(すなわち、そのエントリに対するFNタイマ)が開始(又はエントリを更新する場合は再開)する。タイマが満了すると(すなわち更新は起こらない)、エントリはMFT3100から取り除かれる。GH1300は、MR1800を受信するとMFT3100を更新する。
【0161】
MFT3100は、ハートビート制御サイクル毎に更新される。ハートビート制御サイクルは、ハートビート制御パケット1700の1つのセット及びMR1800の1つのセットの両方に対する時間を含む。ノードが可動であるという事実により、各ハートビート制御サイクルに対して中継ノードのセットが変化する可能性がある。この実施形態では、マルチキャストFN2410はRNのサブセットであり、RNが頻繁に変化する可能性があるため、マルチキャストメッシュ及びMFT3100を、ハートビート制御サイクル毎に更新しなければならない。マルチキャストメンバシップの変更は、次のHBC(ハートビートサイクル)においてメッシュ及びMFT3100に反映される。
【0162】
FNタイマは、MFT3100の各エントリに関連付けられる。期間は、ハートビート間隔の倍数であるか、又はハートビート間隔よりわずかに大きい。FN2410が引き続き配信範囲内にある場合、FNタイマは再開する。ノードが有効なMR1800及びハートビート制御パケット1700を受信しない場合、FNタイマは満了し、それは、ノードが所定の期間内の配信範囲内にあることを示す。MFT3100に列挙されるエントリに対するFMタイマが満了すると、エントリはMFTから取り除かれ、すなわち、ノードは、そのエントリによって表されるマルチキャストセッションに対し非FNとなる。
【0163】
リーフノード2405の移動度は、MR1800及びハートビート制御パケット1700伝送を通じて検出される。リーフノード2405の移動を検出し、メッシュすなわちMFT3100を更新するためには、概ね2つのHBC(ハートビートサイクル?)が必要である。
【0164】
第2のマルチキャスト実施形態では、GH1300はマルチキャストグループ2400の配信範囲を画定しない。この実施形態では、マルチキャストメンバとGH1300との間のすべてのRNがFN2410となる。この実施形態では、GH1300が配信範囲を画定しないため、マルチキャストグループ2400の形成がより迅速である。マルチキャストメンバは、自身のMR1800の中にマルチキャストメンバシップ情報を含める。メンバは、MR1800にリーフノード(Leaf Node)ステータスをマルチキャストステータスとして設定する。RNは、MR1800を受信すると、関連付けられるマルチキャストグループ2400に対するFN2410になる。FN2410は、それ自体のMR1800にFNステータスを設定する。このマルチキャスト実施形態によれば、いかなる追加の情報もハートビート制御パケット1700に追加する必要はない。パケットは、図17に示すものと同じであってもよい。MR1800は、図18に示すMR1800に類似しているが、マルチキャストメンバシップに関する情報、たとえば関係するマルチキャストグループ2400及びノードステータス、すなわちFN2410又はリーフノード2405が追加される。
【0165】
図32は、第2の実施形態による変更されたMR1800の一例を示す。この実施形態では、ノードステータスは、MR1800のみに基づいて変化する。
【0166】
図33は、本発明のこの実施形態によるマルチキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードはアイドル状態である(3300)。パケットが到着すると(3301)、ノードは、パケットがハートビート制御パケット1700であるか又はMR1800であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。ステップ3302で、ノードは制御パケットのタイプを判定する。制御パケットがMR1800である場合、ノードはステップ3303から始まるパケット処理を開始する。ステップ3303において、ノードは、パケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち同じGID1705を有する場合に、ネイティブである。ノードは、GID1705をメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ3304において、ノードは外部MR処理を開始する。通常、外部MR処理により、ノードはパケットを無視する。
【0167】
パケットがネイティブである場合、ステップ3305において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ3305において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい場合、MR1800は順序通りであり、ステップ3306において、ノードは、MR1800が元々リーフノード2405から送信されたか否かを判断する。MR1800がリーフノード2405から送信されたものでない場合、ノードは、マルチキャストルーティングの目的でMR1800を無視する。MR1800がリーフノード2405から送信されたものである場合、ステップ3307において、ノードは、それ自体がGH1300であるかRNであるかを判定する。ノードは、いずれの状態でもない場合、マルチキャストルーティングの目的でMR1800を無視する。ノードは、GH1300又はRNいずれかである場合、ステップ3308において、MFT3100を更新し、すなわちFN2410となる。この更新は、MFT3100にマルチキャストグループ2400を追加することを含む。
【0168】
図34は、この実施形態によるノードに対する機能状態遷移図を示す。ノードは、マルチキャストグループ2400に対して非FN状態3400か又はFN状態3410のいずれかであり得る。状態3400のノードは、リーフノードステータスを含むMR1800を受信すると、状態3410に遷移してFN2410となる。FN2410は、マルチキャストセッションに対してFNタイマをセットする。マルチキャストグループ2400に対するFN時間が満了すると、FN2410はその状態を3410から3400に変化させ、遷移3420を介して非FN(すなわち通常のノード)となる。状態3410の間、すなわちFNである間、タイマが満了しない場合、FN2410は遷移3425を介してFNのままである。
【0169】
第3のマルチキャスト実施形態では、GH1300は、上記実施形態によって作成されたマルチキャストグループ2400の配信範囲をプルーニングすることにより、ルーティングの効率を向上させることができる。プルーニング動作により、不要なFNが取り除かれる。GH1300は、リーフノード2405からMR1800を収集した後、有効なプルーン適用範囲を画定し、必要な場合は、プルーンメッセージ3500を送信する。プルーンメッセージ3500は、ハートビート制御パケット1700とは別個である。有効なプルーン適用範囲は、GHから最も近いリーフノードへのホップカウントとして伝達される。プルーンメッセージ3500は、有効なプルーン適用範囲内のFNのみによって処理され中継される。有効なプルーン適用範囲に位置するFNは、それらのMFT3100の関連付けられるマルチキャスト転送エントリを除去し、通常のノードになる。
【0170】
図35は、プルーンメッセージパケット3500の一例を示す。プルーンメッセージパケット3500は、グループ識別、グループヘッダ識別、シーケンス番号、マルチキャストメンバ識別及び有効なプルーン適用範囲を含む。マルチキャストメンバ識別は、マルチキャストグループ2400に対するIPアドレスである。
【0171】
図36は、本発明のこの実施形態によるマルチキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードはアイドル状態である(3600)。3601でパケットが到着すると、ノードは、パケットがハートビート制御パケット1700であるか、MR1800であるか又はプルーンメッセージパケット3500であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。ステップ3602において、ノードは、制御パケットのタイプを判定する。制御パケットがMR1800である場合、ノードは、ステップ3603から始まるパケット処理を開始する。ステップ3603において、ノードはパケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち、同じGIDを有する場合、ネイティブである。ノードは、GIDをメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ3604において、ノードは外部MR処理を開始する。パケットがネイティブである場合、ステップ3605において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ3605において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい場合、MR1800は順序通りであり、ステップ3606において、ノードは、MRが元々リーフノード2405から送信されたか否かを判断する。MR1800がリーフノード2405から送信されていない場合、ノードは、マルチキャストルーティングの目的でMR1800を無視する。MR1800がリーフノード2405から送信されたものである場合、ステップ3607において、ノードは、それ自体がGH1300であるか否かを判定する。ノードは、GHでない場合、ステップ3608において、それ自体がRNであるか否かを判定する。ノードは、GHでもRNでもない場合、マルチキャストルーティングの目的でMR1800
を無視する。ステップ3609において、ノードは、RNである場合、ステップ3609においてMFT3100を更新し、すなわちFN2410となる。この更新には、MFT3100にマルチキャストグループ2400を追加することが含まれる。
【0172】
ノードがGH1300である場合、ステップ3610において、GH1300は、事前設定されたパラメータに基づいてプルーニングが必要であるか否かを判定する。事前設定されたパラメータは、GH1300の一方の側にのみマルチキャストメンバがいるというものであってもよい。GH1300は、GHがマルチキャストグループ2400にある必要はないことを判定する。GH1300は、MFT3100からマルチキャストグループ2400IDを除去する。さらに、GH1300は、GHに最も近いマルチキャストメンバを判定する。この判定は、GHからのホップカウントに基づく。プルーン適用範囲内に位置するいかなるFN2410も、GHから発信されるプルーンメッセージを受信する時にプルーニングされる。プルーンメッセージは、FN(リーフノードがなくプルーン適用範囲内に位置するFN)をプルーニングすることによって中継され、GHに最も近い、リーフノードを有するFNは、プルーンメッセージの中継を中止する。
【0173】
ステップ3602において、ノードが、パケットがプルーンメッセージパケット3500であると判定すると、ステップ3611においてパケット処理が開始する。ステップ3611において、ノードは、パケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち、パケットが同じGIDを有する場合、ネイティブである。ノードは、GIDをメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ノードはパケットを無視し、アイドル状態になる。そして、ステップ3612において、ノードは、プルーンメッセージパケット3500が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ3613において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい場合、プルーンメッセージパケット3500は順序通りであり、ステップ3614において、ノードはそれ自体がFN2410であるか否かを判定する。ノードは、FNでない場合、パケットを無視してアイドル状態になる。ノードは、FN2410である場合、ステップ3615においてそれ自体が有効なプルーン適用範囲内にあるか否かを判定する。最も近いリーフノードよりGH1300に近いいかなるFN2410も、有効なプルーン適用範囲にある。この判定は、GHへのホップカウントに基づく。ノードは、メモリに先に格納されているGHへのホップカウントを、有効なプルーン適用範囲におけるホップカウント情報と比較する。GHへのホップカウントが有効なプルーン適用範囲からのホップカウントを下回る場合、ステップ3616において、FNは非FNになる。ノードは、MFT3100を更新し、MFT3100からマルチキャスト識別を除去する。GHへのホップカウントが有効なプルーン適用範囲からのホップカウントを上回る場合、ノードはFN2410のままである。
【0174】
ノードは、ステップ3602において、パケットがハートビート制御パケット1700であると判定すると、ステップ3617において、単にメモリに格納されているホップカウント情報及び他の情報を更新する。
【0175】
図37A及び図37Bは、この実施形態によるGH1300(図37A)及びRN(図37B)に対する機能状態遷移図を示す。図37Aに示すように、GH1300は、マルチキャストグループ2400に対して非FN状態3700又はFN状態3710のいずれかであり得る。状態3700のノードは、リーフノードステータスを含むMR1800を受信すると、状態3710に遷移し、遷移3705を介してFN2410になる。FN2410はマルチキャストセッションに対してFNタイマをセットする。マルチキャストグループ2400に対するFNタイマが満了するか又はプルーンが確定されると、FN24
10はその状態を3710から3700に変化させ、遷移3720を介して非FN(すなわち通常のノード)となる。状態3710の間、すなわちFNである間、タイマが満了とならないか又はリセットされる場合、FN2410は遷移3715を介してFNのままである。
【0176】
同様に、RNは、マルチキャストグループ2400に対して非FN状態3700又はFN状態3710のいずれかであり得る。状態3700にあるノードは、リーフノードステータスを含むMRを受信すると、状態3710に遷移し、遷移3705を介してFN2410になる。FN2410は、マルチキャストセッションに対してFNタイマをセットする。マルチキャストグループ2400に対するFN時間が満了するか、又はプルーンメッセージパケット3500が受信されると、FN2410はその状態を3710から3700に状態を変化させ、遷移3725を介して非FN(すなわち通常のノード)になる。状態3710の間、すなわちFNである間、タイマが満了しないか又はリセットされる場合、FN2410は遷移3715を介してFNのままである。
【0177】
ノードの大部分が移動するため、期間が異なるとMR1800がリーフノード2405からGH1300まで辿る経路は異なり、それによりMR期間毎にFN2410のセットが異なることになる。したがって、マルチキャストメッシュ又はMFT3100は、FNタイマ及び周期的MRメッセージによって更新される。MFT3100を更新する効率を、FNタイマの時間及び周期的MR1800に間隔を制御することによって達成することができる。これらのパラメータを制御することにより、リーフノード2405及びFN2410の両方の移動度を考慮するようにMFT3100を更新することができる。
【0178】
新たなマルチキャストメンバは、進行中のマルチキャストセッションに参加したい場合、そのマルチキャストセッションに対するリーフノードステータスを有するそのMR1800を、当該マルチキャストメンバが参加したいセッションに対するマルチキャスト識別と共に送信する。
【0179】
図38A及び図38Bは、2つのマルチキャストグループ、すなわちMR1800のみに基づいて形成された1つのグループ(図38A)と、MR1800及びプルーンメッセージパケット3500に基づいて形成された1つのグループとを示す。図38Aに示すように、リーフノードLN1 24051、LN2 24052及びLN3 24053は、MR1800をGH1300に向かって送信することによってマルチキャストグループ2400に参加する。各リーフノードとGH1300との間のすべての中継ノード(RN)が、FN2410、たとえばFN1、FN2、FN3及びFN4(24101〜24104)になる。形成されたマルチキャストグループ2400は、5つのホップ、サイズ5を有する。しかしながら、3つのリーフノードLN1 24051、LN2 24052及びLN3 24053のすべてが互いに近接している、すなわちGH1300の同じ側にあるため、GH1300はマルチキャストグループ2400にある必要はない。したがって、GHはそれ自体を最初にプルーニングすることによってプルーニングを開始し、それによりGH1300は非FNになる(図38B)。収集されたマルチキャスト情報に基づき、GH1300は有効なプルーン適用範囲を決定する。この場合、LN3 24053がGH1300に最も近く、2ホップ離れているため、プルーンは2ホップまで発生し、FN4 24104及びFN3 24103が通常のノードになる。メッシュは、FN1 24101及びFN2 24102のみから構成される。FN1 24101及びFN2 24102のみが、MFT3100にマルチキャストグループ識別を有する。
【0180】
図39は、各階層に対するFNのマルチキャスト転送機能の一例を示す。制御パケット3930が、UDPを通じて、アプリケーション層3910で実行しているマルチキャストプロセッサ3915に配信される。上述した方法のいずれかを使用するマルチキャスト
プロセッサ3915は、IPマルチキャスト転送モジュールの一部である、IP層3905に実装されるマルチキャスト転送テーブル(MFT)3100を更新することができる。マルチキャストデータパケット入力3935は、最初にMAC層3900によって受信され、IP3905に転送されて、そのマルチキャストデータパケット入力3935を中継するべきであるか又は除去するべきであるかがMFT3100に基づいて判定される。この、MFT3100は、マルチキャストプロセッサ3915によって更新される。データパケット入力3935が転送されるべきであると判定されると、FN2410はパケットをマルチキャストデータパケット出力3940として転送する。マルチキャスト制御パケット3930及びマルチキャストデータパケット入力3935は、MAC層3900により除去されない。全マルチキャスト(AllMulticast)モードをMAC層3900で有効にして、MACのすべてのマルチキャストフレームを受け入れ可能、すなわちMAC層3900によって除去せずにIP層3905に転送可能、とする必要がある。インタフェース上で全マルチキャストモードを有効にすることにより、ネットワークへのすべてのマルチキャストパケット(パケットのマルチキャストアドレスに関わらず)がインタフェースによって受信される。全マルチキャストモードが有効でない場合、インタフェースは、マルチキャストアドレスがインタフェースに割り当てられているものと一致するマルチキャストパケットのみを受け入れる。
【0181】
図40は、本発明の一実施形態によるFN2410の転送機能のフローチャートを示す。最初、ステップ4000においてFN2410はアイドル状態である。ステップ4005において、FN2410は、マルチキャストデータパケット入力3935を受信する。次に、ステップ4010において、IP層3905は、マルチキャストグループ2400がMFT3100にあるか否かを判定する。IP層3905は、マルチキャストデータパケット入力3935からのマルチキャストグループ2400のIPアドレスを、MFT3100に格納されているIPアドレスと比較する。比較の結果に基づき、FNは、ステップ4015においてマルチキャストデータパケット入力3935を破棄するか、又はマルチキャストデータパケット入力3935がFN2410によってすでに送信されているか否かを判定する。各FN2410には、メモリに格納された、送信されるすべてのマルチキャストデータパケット入力3935に対する送信済みリストを有する。特に、送信済みリストは、事前設定された期間内に送信されるすべてのマルチキャストデータパケット入力3935に対する識別を含む。パケット識別は、マルチキャストデータパケット入力3935のソースアドレスと、IPパケットヘッダからの識別情報とを含む。この事前設定された期間を、送信済みリストが過度に大きくならないように制御することができる。送信済みリストの機能は、重複するマルチキャストパケット伝送を防止することである。したがって、マルチキャストデータパケット入力3935は、短期間だが、パケットが重複でないことを確実にするには十分長いだけの間、送信済みリストに列挙されるだけでよい。ステップ4020において、IP層3905は、受信したマルチキャストデータパケット入力3935に対する、ソース、すなわちIPヘッダのソースIPアドレス、及びID、すなわちIPヘッダの識別を、送信済みリストのソース及び識別と比較することにより、マルチキャストデータパケット入力3935がすでに送信されているか否かを判定する。一致がある場合、FN2410は、ステップ4015においてマルチキャストデータパケット入力3935を破棄し、ステップ4000においてアイドル状態になる。一致がない場合、マルチキャストデータパケット入力3935は先に送信されておらず、ステップ4025において、FN2410はマルチキャストデータパケット入力3935を送信する。ステップ4025において、FN2410はまた、送信済みリストを、マルチキャストデータパケット入力3935からのソース及びIDを送信済みリストに追加することによって更新する。
【0182】
本発明の別の実施形態では、同じ場所に位置するFNによる重複パケットの不要な伝送を防止するため(それは帯域幅の浪費である)、同じ場所に位置するFNの1つを除くす
べてが、マルチキャストデータパケット入力3935を送信しないように、すなわちパケットを中継しないようにする。同じ場所に位置するFNは、同じ無線範囲、すなわち同じホップ内のFNである。重複マルチキャストパケットは、同じマルチキャストデータパケット入力3935が、2つの異なるFNによって同じソースから同じ受信者に送信される場合に送信される。
【0183】
この実施形態によれば、FN2410は、マルチキャストデータパケット入力3935を受信すると、マルチキャストデータパケット入力3935があるかMACバックオフ待ち行列(MAC back-off Queue)を検査する。マルチキャストデータパケット入力3935は、待ち行列に存在する場合、当該待ち行列から除去され、パケットの送信は発生せず、すなわち、FN2410は、パケット送信のバックオフ期間中にパケットを受信する場合、送信を阻止する。IP層(IP転送モジュール)は、MACに対しこうした阻止を行うように通知しなければならない。
【0184】
図41は、層間動作、すなわちMAC層3900及びIP層3905に対する本発明のこの実施形態によるFN2410の転送プロセスのフローチャートを示す。特に、図41は、FN2410に対する層毎の転送ステップを示している。
【0185】
最初に、FN2410はマルチキャストデータパケット(図41ではMP[s:g]として参照)を受信する。パケットMP[s:g]は、処理されるためにIP層3905に転送される。ステップ4105において、IP層3905は、マルチキャストグループ2400がMFT3100にあるか否かを判定する。IP層3905は、MP[s:g]からのマルチキャストグループ2400のIPアドレスをMFT3100に格納されているIPアドレスと比較する。マルチキャストIPアドレスがMFT3100のマルチキャストIPアドレスと一致しない場合、ステップ4110においてIP層はMP[s:g]を破棄する。マルチキャストIPアドレスがMFT3100のマルチキャストIPアドレスと一致する場合、ステップ4115において、IP層3905は、MP[s:g]が送信されたか否かを判定する。次に、IP層3905は、受信したMP[s:g]のソース及びIDを送信済みリストのソース及びIDと比較することにより、MP[s:g]がすでに送信されているか否かを判定する。一致がある場合、IP層3905は、ステップ4120において、MP[s:g]を破棄し、ステップ4125において、MP[s:g]がMAC層の送信バックオフ待ち行列にすでにあるか否かを判定する。パケットが送信バックオフ待ち行列にない場合、ステップ4145において、ノードはアイドル状態となる。一致がある場合、MP[s:g]は送信バックオフ待ち行列にあり、ステップ4130において、MAC層は送信バックオフ待ち行列からパケットを削除する。送信済みリストに一致がない場合、MP[s:g]は送信済みリストに追加され、ステップ4135において送信のために送信バックオフ待ち行列に追加される。ステップ4140において、MP[s:g]は転送される。
【0186】
別の実施形態では、メッセージを中継する効率を向上させ且つ適時の配信を確実にするために、受動応答が追加される。上述した実施形態では、ノードから、パケットが受信されたという応答はない。したがって、リーフノードがパケットを受信したという確証はない。したがって、パケットが再送信されるべきであるという指示はない。
【0187】
この実施形態によれば、FN2410は、パケットを送信した後、隣接するFNによってパケットが二度目の転送をされるのを待つ。隣接するFN2410がパケットを転送すると、最初のFN2410がパケットを受信する。この受信パケットは、隣接するFNが最初の転送を受信したという受動応答である。事前設定された期間内に応答が受信されない場合、最初のFNはパケットを再送信することができる。
【0188】
図42は、層間動作、すなわちMAC層3900及びIP層3905に対する、本発明のこの実施形態によるFN2410の、受動応答を含む転送プロセスのフローチャートを示す。特に、図42は、FN2410に対する層毎の転送ステップを示す。
【0189】
ステップ4205〜4215は先の実施形態と同じであり、したがって、再び詳細には説明しない。ステップ4215において、パケットMPが既に送信されている場合、ステップ4220において、新たなMPは破棄される。ステップ4215においてパケットMPが送信されていない場合、ステップ4235において、ノードは、パケット識別を送信済みリストに追加し且つ宛先をリストに追加することにより、送信済みリストを更新する。さらに、ノードは、応答タイマをセットし且つ応答ステータスパラメータを実行中にセットする。さらに、ステップ4235において、ノードは、パケット(MP)を待ち行列に入れるためにMAC層3900に送信する。任意に、ノードは、パケットが所定期間内に特定のグループに送信される回数をカウントする送信済みカウンタをインクリメントすることができる。ステップ4240において、パケット(MP)は送信バックオフ待ち行列に追加される。
【0190】
パケットが既に送信されており、且つ新たなMPが破棄された場合、ステップ4225において、ノードは、応答のステータスを判定し、すなわちパケットが応答されたか否かを判定する。送信パケットが所定時間内に受信される場合、パケットは応答される。ステータスが実行中である、すなわち未応答の場合、ステップ4230において、ノードは応答タイマを停止させ、応答ステータスを応答済みに変更する。ステータスが応答済みである場合、ステップ4265においてノードはアイドル状態になる。同時に、ノードは、応答タイマを監視して、応答を受信することなくタイマが満了するか否かを判定する。パケットを受信することなく応答タイマが満了した場合、ステップ4260において、ノードはパケットを再送信する。さらに、ステップ4260において、ノードは、応答タイマをリセットし、応答ステータスを「実行中」として維持する。ステップ4240において、パケットは送信バックオフ待ち行列に追加される。
【0191】
一般に、移動車両110は、単一チャネル伝送又は複数チャネル伝送のいずれかを使用してパケットを転送することができる。複数チャネル伝送の場合、移動車両は、複数の宛先受信機と共に1つの送信機を使用するか又は1つの送受信機を使用することができる。前者の場合、移動車両110は、2つのチャネルのうちのいずれか一方のみで送信し、両方のチャネルを通じて受信することができる。しかしながら、同じチャネルで同時に送受信することはできない。後者の場合、移動車両110は、特定のチャネルを通じての送受信に制限されるが、送信チャネル及び受信チャネルは同じである必要はない。
【0192】
好ましい実施形態では、複数のチャネルを使用して送信が行われる。マルチキャストの場合、FN及びリーフノードは、マルチキャストパケットを送受信するためにチャネル(複数可)を能動的に選択する。マルチチャネルシステムでは、スループットが増大し、遅延が低減する。しかしながら、マルチチャネルシステムでは、FN4210間で事前のチャネル調整が必要である。
【0193】
本発明の一実施形態では、FN4210は、マルチキャスト転送がチャネル交互転送(Channel-alternate Forwarding)であるようにマルチチャネル環境を調整する。FNは、送信チャネル及び受信チャネルを交互のパターンに構成することにより、送信チャネル及び受信チャネルが常に異なるようにする。すなわち、FN2410は、CHAからマルチキャストパケットを受信する場合、CHBを通じてマルチキャストパケットを転送し、またその逆も同様である。
【0194】
図43は、本発明のこの実施形態によるチャネル交互転送割当ての一例を示す。図43
に示すように、2つのチャネルCH1 4310及びCH2 4320がそれぞれある。6つのFN、FN1〜FN6(24101〜24106)がある。FN間の陰付きエリアは、5つの無線有効範囲領域を示している。各FN、すなわちFN1〜FN6(24101〜24106)は、CH1 4310及びCH2 4320を介してパケットを送受信することができる。しかしながら、パケットは、CH1 4310で受信される場合、CH2を通じて転送される。同様に、パケットは、CH2 4320で受信される場合、CH1 4310を通じて転送される。したがって、線形に接続されたFN2410は、2つのチャネルを交互に使用する。
【0195】
移動車両110が単一チャネル受信デバイスを有する場合、送信チャネル及び受信チャネルの交互の配置は、ハートビート制御パケット1700及びMR1800の送受信を通じて達成される。ハートビート制御パケット1700は、チャネル情報、すなわちGH1300に対する送信チャネル及び受信チャネルを有する。ハートビート制御パケット1700は、ブロードキャストされてすべてのFNによって受信される。GH1300に最も近いFN、すなわち、GHへの最小ホップカウントは、まず、ハートビート制御パケット1700の情報に基づいてそれらのチャネルを設定する。これらのFNの送信チャネル及び受信チャネルは、GHのチャネルと交互になるように選択される。最も近いFNがそれらのチャネルを設定すると、次に近いFNがそれに従ってそれらの送信チャネル及び受信チャネルを割り当てる。これは、すべてのFNに対してチャネルのすべてが設定されるまで続く。
【0196】
図44は、この実施形態による送信チャネル及び受信チャネルのチャネル割当ての一例を示す。図44は、図43に示すものと同じFNを使用する。FN4 24104がGH1300である。GH1300は、それ自体に、送信チャネル1 T−CH1及び受信チャネル2(R−CH2)を割り当てる。GH/FN4 24104は、送信チャネル情報及び受信チャネル情報を含むそのハートビート制御パケット1700をブロードキャストする。FN3 24103及びFN5 24105は、それらの送信チャネル及び受信チャネルをGH/FN4 24104と交互になるように割り当てる。FN3 24103及びFN5 24105は、それらの送信チャネル及び受信チャネルとしてそれぞれT−CH2及びR−CH1を割り当てる。そして、FN2 24102及びFN6 24106は、ハートビート制御パケットの情報及びGHからのホップカウントに基づいてそれらの送信チャネル及び受信チャネルを割り当てる。FN2 24102及びFN6 24106は、T−CH1及びR−CH2を割り当てる。最後に、FN1 24101が、その送信チャネル及び受信チャネルを割り当てる。FN1 24101は、T−CH2及びR−CH1を割り当てる。移動車両110が2チャネル受信デバイスを有する場合、上述した割当ては不要である。すべてのFN2410が、CH1又はCH2のいずれかで送信し両チャネルで受信することができる。
【0197】
受信されたマルチキャストパケットのチャネル情報は、MAC層3900のチャネルアクセスモジュールから提供される。着信マルチキャストパケットにはまず、受信チャネルがマークされている。これにより、マルチキャストパケットが、識別され受信チャネルとは異なる送信チャネルで転送されることが可能となる。マルチキャストパケットにCH1がマークされている場合、マルチキャストパケットはCH2を通じて転送される。リーフノード2405は、その送信チャネル及び受信チャネルを、内部チャネルアクセスメカニズムを介してそれらのFN2410と同期させる。
【0198】
単一チャネルの交互転送プロセスにより、パケットが同じチャネルで同時に受信される場合、すなわち、FN3 24103がチャネル1でFN4 24104及びFN2 24102の両方からパケットを受信する場合、隠れ端末問題がもたらされる可能性がある。
【0199】
別の実施形態では、送信チャネル及び受信チャネルは二重チャネル交互方法(double channel alternate manner)で割り当てられる。二重チャネル交互転送チャネル割当てには、隠れ端末状態が回避されるという利点がある。この方法は、送信チャネルを二重交互パターンに配置する。それは、排他的な送信チャネルの領域をもたらし、そうした領域を二重交互パターンに配置する。同じ送信チャネルでの排他的領域が2ホップ毎に現れる。FN2410は、両チャネルを通じてマルチキャストパケットを受信することができる。マルチキャストパケットは、受信されると、所与の送信チャネルを通じて転送される。
【0200】
図45は、FNメッシュに対するこの実施形態による送信チャネル及び受信チャネルのチャネル割当ての一例を示す。図45は、図43に示すものと同じFN、すなわちFN1〜FN6(24101〜24106)を使用する。この例では、チャネルは、T−CH1
4500に対して1つの排他的な送信チャネルエリアがあるように割り当てられる。T−CH2 4520に対して2つの排他的な送信チャネルエリアがある。さらに、2つの混合チャネルエリア4510がある。FN1 24101及びFN2 24102はT−Ch2で送信し、FN3 24103及びFN4 24104はT−CH1で送信し、FN5 24105及びFN6 24106はT−CH2で送信する。各FN、すなわちFN1〜FN6(24101〜24106)は、R−CH1又はR−CH2のいずれかで受信することができる。
【0201】
図46は、本発明の一実施形態による受信チャネル及び送信チャネル両方のチャネル割当てのフローチャートを示す。ステップ4600において、GH1300は、それ自体の送信チャネル、すなわちT−CH1を指定する。この送信チャネルは、残りのFN2410がそれらの送信チャネルを設定するための基準送信チャネルとして使用される。そして、ステップ4605において、GH1300は1つの分類方向(たとえば赤又は青)を選択する。選択された分類方向は、基準分類方向として使用される。そして、ステップ4610において、GH1300は、ハートビート制御パケット1700をすべてのFN2410にブロードキャストする。この実施形態では、基準送信チャネル及び分類方向の情報はハートビート制御パケット1700に含まれる。
【0202】
ステップ4615において、他のすべてのFN2410が、ハートビート制御パケット1700を受信し、基準送信チャネル、分類側及びGHからのホップ距離の情報に基づいて、それらの自体の送信チャネルを事前に割り当てる。FN2410は、基準側内に位置する(すなわち、基準分類方向及びFNの両分類が同じである)場合、式mod(int[(1+h)/2],2)に基づいてそれらの送信チャネルを判定する。ここで、mod(a,b)はaをbで割った正の剰余(reminder)であり、int[]は数字の小数点以下を切り捨て、hはGHからのホップ距離である。FN2410は、基準分類方向ではない側に位置する場合、式mod(int[h/2],2)を使用してそれらの送信チャネルを判定する。式の出力が1(いずれの場合でも)の場合、FN2410は基準送信チャネルとは異なるものとしてそれらの送信チャネルを割り当て、すなわち基準送信チャネルがT−CH1である場合、それらの送信チャネルをT−CH2として設定する。式の出力が0である場合、それらはそれらの送信チャネルを基準送信チャネルとして設定する。
【0203】
FN2410は、メモリに格納されているGHへのホップカウント情報とハートビート制御パケット1700からの受信情報とを使用して、二重交互パターン割当てに従ってそれらの送信チャネルを割り当てる。
【0204】
マルチキャストルーティング及びユニキャストルーティングを別々のプロセスとして説明したが、これらのルーティング方法の両方を共に同じ移動車両110によって実行することができる。したがって、受信パケットは、一方のルーティング方法に関連しなくても
よいが、別のルーティング方法に関連することになる。したがって、制御パケットが無視されるように記述されており、特定のルーティングプロセスに対してノードがアイドル状態となっている場合、パケットを、他方のルーティングプロセスに対して無視しなくてもよく、ノードはアイドル状態にならなくてもよい。たとえば、ユニキャストルーティングの場合、ハートビート制御パケット1700及びMR1800の両方を使用してルーティングテーブル2300が更新されるが、実施形態に応じて、マルチキャストルーティングの場合、2つの制御パケットのうちの一方のみを必要としてもよい。
【0205】
さらに、ユニキャストルーティングプロセス及びマルチキャストルーティングプロセスを、主に移動車両及び移動ノードに関して説明したが、任意ノード、たとえばRSU100によって実行することができる。
【0206】
移動車両の無線通信デバイスは、上述したプロトコル及び方法、たとえばユニキャスト及びマルチキャストを実行する。この無線通信デバイスは、図11に示すようなRSU100の通信デバイスと同様である。無線通信デバイスは、無線有効範囲におけるノード間の無線通信を提供するために、ブロードキャスト手段又は無線送受信機のような送受信手段を備える。さらに、制御手段、たとえばマイクロコントローラ、マイクロプロセッサ等が、送受信手段を通じて他のノードから信号を受信し、送受信手段を通じて他のノードに信号を送信するように構成される。制御手段はまた、上述したプロトコルをプロセッサ実行可能命令として実行することにより動作制御を提供する。記憶手段が、無線通信デバイス内に且つ制御手段と動作的に通信するように配置されている。記憶手段は、メモリモジュール、リムーバブルメディア、複数の記憶デバイスの組合せ等であってもよく、説明した実施形態のプロトコルを実行するために必要なプロセッサ実行可能命令を格納するようなサイズである。さらに、タイミング手段が、別個のコンポーネントとして又は制御手段の機能として提供される。タイミング手段は、説明した実施形態において言及したタイマのそれぞれに必要な時間間隔追跡を提供する。電源のような通電手段が無線通信デバイスのすべてのコンポーネントに電気的に接続されることにより、必要に応じてコンポーネントに動作電力を提供する。
【0207】
説明した実施形態を実行するためのプロセッサ実行可能命令を、EPROM、フラッシュメモリ又は他のこうした不揮発性記憶装置のような形態で記憶手段に組み込んでもよい。さらに、プロセッサ実行可能命令を、光媒体又は磁気媒体のようなコンピュータ可読媒体に格納してもよく、又はネットワーク(たとえばインターネット)によってダウンロード可能としてもよい。プロセッサ実行可能命令を、追加の拡張機能を利用可能となるとシステムに提供するために、必要に応じて、ユーザが定期的に更新することができることが好ましい。
【0208】
<RSUを介するLPG間ルーティングサービス>
本発明の一実施形態では、RSU100は、その無線有効範囲内の複数のLPG115間でパケットを中継することができる。この実施形態では、RSU100は、1つの特定のLPG115の一部ではない。RSU100は、RSU無線有効範囲内の他のLPG115に情報をユニキャスト又はマルチキャストで伝播するために、複数のLPG115によって、境界ノードとして使用される。GH1300、FN2410、GN1500は、すべてのLPG間パケットをユニキャスト又はマルチキャストでRSU100に転送する。そして、RSU100は、パケットを適当なLPG115又はノードに中継する。各LPG115内では、各ノードは、上述したルーティングプロセスを使用して互いに通信する。RSU100は、互いにリンクされて情報を共有することが可能である。リンクされたRSU100は、情報を、多数の局所LPG115に達するように、隣接するRSU100に中継する。バックボーンネットワークへのエッジノードであるRSU100は、LPG115間パケットを多数のLPG115及びこうした情報を収集するバックボーンサ
ーバに中継することができる。
【0209】
この実施形態によれば、RSU100は、単にLPG間中継ノードであって、LPG115のメンバではない。これにより、RSU100を組み込むためのLPG115における編成及び役割割当て時間が低減する。RSUがLPG115に完全には関係していないため、初期LPG構造が維持される。さらに、RSU100有効範囲内のLPG115内の移動車両110に対する境界ノード(BN)の選択プロセスが排除される。しかしながら、RSUエリア外になると、境界ノードは必要となる。LPG115及び個々の車両は、RSUをいくつかの方法で発見する。車両はRSU100の事前知識を有することができ、それにより前もってLPG間中継を識別することができる。この知識は、他のRSU100(リンクされたRSUの場合)により又は恐らくは先行する移動車両110により提供される。さらに、RSU位置および情報を移動車両110において事前構成することができ、又はRSU100を、LPG間中継ノードとして指定しているRSU100からのビーコンを介して動的に発見することができる。
【0210】
RSU100は、GH1300からハートビート制御パケット1700をリスンすることにより、そのエリア内のLPG115を追跡することができる。移動車両110又はノードは、V−Rチャネル及びV−Vチャネルの両方によってハートビート制御パケット1700を送信する。V−Vチャネルは、LPG内関連トラフィックに対して排他的に使用されるが、V−Rチャネルは、LPG間トラフィックに使用される。
【0211】
<他のRSUサービス>
RSU100を、複数のネットワークサービス及び車両サービスに使用することができる。たとえば、RSU100は、ノードに対する認証支援、RSUの位置及びIPアドレスのようなネットワーク情報収集、LPG115及びRSU100接続に対する構成支援、並びに移動ノードローミング支援を提供することができる。さらに、RSU100を、車両安全警告、RSUベース位置決め、車両整備情報、通行料収集、並びにエリア内の商品及びサービスに関する位置情報に使用することができる。上述したサービスのいくつかはバックボーンなしに機能することができるが、他のサービスはバックボーン接続が必要である。
【0212】
一実施形態では、RSU100は、移動車両110に対するネットワーク認証をサポートする。図47は、認証プロセスをサポートするRSU100の一例を示す。遠隔の認証/検証局(certification/validation authority)(CA/VA)4700が、認証され許可されたノード4705のリストを保持し、認証サービスを提供する。通常、ネットワークに入る各ノードは、CA/VA4700により個々に自身を認証する。しかしながら、移動度の高い環境では、移動車両が短い接続期間しかCA/CA4700の範囲内にないため、短期間、すなわち、ノードがCA/VA4700又は別の標準固定ノードの無線有効範囲内にある間に、認証を実行しなければならない。本発明のこの実施形態によれば、RSU100は、GH1300がRSU100と通信している間、すなわちRSU100の無線サービスエリア内にある間に、GH1300に対し認証情報をオフロードすることによってCA/VA4700を支援する。図47において、破線は、RSU100の無線サービスエリアを示している。リストがGH1300にオフロードされた後、GH1300はCA/VA4700のように作用する。GH1300は、ハートビート制御パケット1700及びMR1800を使用して他のノードを認証する。したがって、LPG115がRSU100の無線有効範囲内にない時に、引き続き認証プロセスを行うことができる。この実施形態では、ハートビート制御パケット1700及びMR1800は、認証プロセスのためのパラメータを含むように変更される。しかしながら、認証プロセスに対し他のいかなる変更又はオーバーヘッドも不要である。GH1300は、LPG115のメンバをまとめて認証することができる。図示するように、GH1300は、移動車両11
01〜1109及び移動車両11011を認証するが、移動車両11010は拒否しており、すなわち、移動車両11010は禁止されている。GN1500は、GH1300を使用して認証することができない場合、RSU100を直接使用してCA/VA4700で認証を完了するようにすることができる。この冗長性メカニズムは、リストのオフロード又は認証ハンドシェイクが完了する前にGH1300がLPG115又はRSU100の範囲外に移動する場合を考慮する。
【0213】
別の実施形態では、RSU100を使用して、ネットワーク構成プロセス及びLPG115形成を支援することができる。特に、RSU100は、ネットワーク内の他のRSU100及びその無線有効範囲内のすべてのLPG115を認識しているため、近づいているRSU100に対して移動車両110を事前構成するか又はLPG115形成を支援することができる。ネットワーク構成パラメータは、タイムスロット割当て、チャネル割当て、近づいている、すなわちダウンストリームRSU100のIPアドレス及びESSIDを含むことができる。
【0214】
RSU100はまた、LPG115に対するV−Vチャネルの割当てを支援し、移動車両110が参加するLPG115を見つけるのを支援することも可能である。さらに、RSU100は、LPG115の併合及び分割を支援することができる。
【0215】
図48は、LPG整備、形成を支援し、ネットワーク構成支援を提供する複数のRSU100の一例を示す。
【0216】
RSU2 1002は、RSU1 1001のネットワーク設定に対し移動車両1107〜11011を事前構成することができる。これは、接続遅延時間の低減に役立ち、RSU1 1001の無線サービスエリア内に入るノードに対しより有効な通信時間を与える。陰付きエリアは、RSU100の無線サービスエリアを示している。たとえば、RSU2 1002は、移動車両1107に対して事前構成設定をブロードキャストする。この情報を、LPG115内の他の移動車両110に中継することができ、又はRSU100から直接受信することができる。RSU100事前構成支援を使用して、ノードは、さまざまなRSUエリアを通過して移動する際に、ネットワーク全体との仮想接続を維持することができる。RSU2 1002は、移動車両が走行していた方向を認識する必要があるため、適当なダウンストリームRSU100、すなわち図48におけるRSU1 1001を判定することができる。図48はバックボーン200の無いネットワークを示しているが、ネットワークは、すべてのRSU100構成パラメータのデータベースを含むバックボーンを含んでもよい。
【0217】
さらに、RSU100は、チャネル干渉を回避するようにLPG内通信に対しV−Vチャネルを選択することができる。RSU100は、V−Rチャネルを使用して、LPG115に対し、いずれのチャネルを使用することができるかを通知する。RSU100は、チャネル割当てをメンバに中継するためにGH1300に送信する。たとえば、LPG1
1151に対し、RSU1 1001によりチャネルAを割り当てることができ、それをこの情報を移動車両1102にブロードキャストすることによって行うことができる。同様に、LPG2 1152に対しRSU1 1001によってチャネルBを割り当てることができ、それをこの情報を移動車両1105にブロードキャストすることによって行うことができる。移動車両1101及び1105は、各それぞれのLPG115内の他の車両に対してメッセージを中継する。
【0218】
RSU100は、LPG115の移動度による競合を検出すると、LPG115に対し更新したチャネル割当てを送信することができる。これは、干渉を防止し、形成済みのLPG115と新たに作成されたLPG115との両方を支援する。新たに作成されたLP
G115の場合、RSU100はその新たに作成されたLPG115に対し利用可能なチャネルを割り当てる。
【0219】
さらに、RSU100は、移動車両110がLPG115を見つけるのを支援することができる。RSU100は、LPG識別、チャネル割当て及びV−Rチャネルを使用するメンバの数のような、LPG115に関する情報をブロードキャストすることができる。たとえば、RSU1 1001は、LPG1 1151及びLPG2 1152に対し移動車両1106にこの情報をブロードキャストすることができる。この実施形態では、新たなメンバは、ハートビート制御パケット1700をヒアリングする前にLPG115に参加することができる。RSU100は、分離されている場合、RSU100毎に局所的なLPG115の形成、すなわち無線サービスエリア内の車両及びLPG115しか支援することができない。しかしながら、RSU100がリンクされている場合、1つのRSU100から別のRSU110に移動している新たな移動車両110を、RSU100を介して別のLPGに参加するように事前構成することができる。
【0220】
RSU100は、2つのLPG115の併合を制御することができる。RSU100は、GHの1つに、GH1300に対しハートビート制御パケット1700のブロードキャストを停止することを要求する制御パケットをブロードキャストし、ハートビート制御パケット1700の配信範囲(ホップカウント)を拡張するように他のGHを呼び出して、他のLPG115の移動車両110が範囲拡張されたハートビート制御パケット1700をヒアリングしLPG115に参加することができるようにする。同様に、RSU100は、1つのLPG115の分割を制御することができる。
【0221】
別の実施形態では、RSU100は、一時的なメッセージリポジトリ及び情報収集デバイスとしての役割を果たすことができる。すべての通過する移動車両110が、他の移動車両110が取り込むことができるようにRSU100に情報を預けることができる。RSU100は、その局所エリアの情報を収集し集約する。さらに、RSU100は、他のRSU100にリンクされている場合、局所的に収集された情報を共有することができる。さらに、バックボーン200に接続されている場合、情報をバックボーン200に中継して格納することができる。
【0222】
収集される情報は、交通情報、事故警告、気象情報及び道路状態に及んでもよい。この情報を、要求なしに通過する移動車両110にブロードキャストすることができる。代替的に、移動車両110がこの情報を能動的に要求してもよい。RSU100が分離されている場合、移動車両は、移動車両110が出くわす各RSU100に対し同じ情報をアップロードする必要がある。情報はまた、移動車両110が出くわす他のRSU100に関する情報を含むことにより、RSU100のデータベースを構築し、すなわち通過する移動車両110を介して他のRSUに関して学習することも可能である。
【0223】
図49は、2つのリンクされたRSU(RSU1 1001及びRSU2 1002)による情報収集プロセスの一例を示す。RSU1 1001及びRSU2 1002は、接続400によってリンクされている。この接続400は、有線接続であっても無線接続であってもよい。両RSU1 1001及びRSU2 1002は、V−Rチャネルで収集した情報をブロードキャストする。この実施形態では、RSU100はLPG115のノードではない。個々のノードは、上述したLPGルーティングプロセスを使用して情報を預け且つ受信することができ、又はV−Rチャネルの情報を直接ブロードキャストすることができる。移動車両110は、ビーコンにより預け場所としてRSU100を発見する。代替的に、移動車両は、アップストリームRSUを介して他のRSUを発見することができる。図49に示すように、移動車両1105及び1106は、RSU2 1002からRSU1 1001を発見することができる。RSU1 1001は、移動車両11
01〜1104に対する預け場所であり、RSU2 1002は、移動車両1104〜1106に対する預け場所である。移動車両1104は、両RSU1 1001及びRSU2 1002に対し情報を預けることができる。RSU1 1001及びRSU2 1002がリンクされているため、預けられた情報のすべてを、移動車両1101〜1106のすべてが受信することができる。
【0224】
別の実施形態では、RSU100を使用して、安全情報を複数のLPG115に中継することができる。図50は、2つのRSU、すなわちRSU1 1001及びRSU2 1002に対する安全情報をルーティングするネットワーク構成及び転送プロセスの一例を示す。各RSU100は、ルータ1030及び安全警告アプリケーションサービス5000を含む。安全警告メッセージは、安全警告アプリケーションサービス5000によって処理される。安全警告アプリケーションサービス5000は、メッセージのタイプ及びメッセージの内容に従ってメッセージを処理する。それは、メッセージをルーティングすべきか又はメッセージのルーティングを停止すべきかを判定する。
【0225】
安全メッセージをルーティングする好ましい実施形態では、ネットワークはバックボーン200を含む。バックボーン200は、各RSU100に対するルータを含む。バックボーン200とRSU100との間に、それに応じて情報を仕向けるRSUハブ5010がある。
【0226】
図50は、5つのLPG1151〜1155を示し、それぞれが少なくとも1つの移動車両110を有する。図50は、LPG1 1151における事故を示している。安全警告メッセージは、上述したルーティングプロセスのうちの1つに従って、LPG内ルーティングを介してLPG1 1151内で転送される。メッセージはまた、LPG間ルーティング手続きを介してLPG115間でルーティングされる。さらに、メッセージは、RSU100及び安全警告アプリケーションサービス5000を使用してLPG115間でルーティングされる。たとえば、LPG1 1151内の1つのノードが、安全メッセージをRSU1 1001にブロードキャストする。RSU1001は、安全警告アプリケーションサービス50001を使用してメッセージを処理することにより、メッセージが転送されるべきか否かを判定する。RSU1 1001は、必要な場合に、メッセージをLPG2 1152及びLPG3 1153に転送することができる。さらに、RSU1
1001は、安全メッセージをバックボーン200に送信する。そして、メッセージは、RSUハブ5010を介してRSU2 1002にルーティングされる。RSU2 1002は、安全警告アプリケーションサービス50002を使用して安全メッセージを処理することにより、メッセージが転送されるべきか否かを判定する。RSU2 1002は、メッセージをLPG4 1154及びLPG5 1155に転送することができる。図示するように、両RSU、すなわちRSU1 1001及びRSU2 1002は、安全メッセージが残りのLPG1151〜1155に中継されるべきであると判定している。破線は、安全メッセージの中継を表す。
【0227】
別の実施形態では、RSU100を使用して、GPSシステムを使用することなく移動車両110の位置を追跡することができる。図51は、2つのRSU、すなわちRSU1
1001及びRSU2 1002に対し移動車両110の位置を判定するネットワーク構成の一例を示す。この実施形態のネットワーク構成は、図50に示すような先の実施形態に実質的に類似しているが、各RSU100の安全警告アプリケーションサービス5000の代りに、位置アプリケーションサービス5100が含まれている。
【0228】
位置アプリケーションサービス5100は、その位置5110、すなわちRSU100の位置を周期的にブロードキャストし、各移動車両110はその存在をRSU100の位置アプリケーションサービス5100に報告する。移動車両110は、報告を、MR18
00を介して、V−Rチャネルを介してRSU100に直接送信する。代替的に、各移動車両110は、MR1800をGHに送信することができ、GHはRSU100に対して集合メッセージを送信する。これにより帯域幅が節約される。RSU1 1001の無線有効範囲内のいずれの移動車両110もエリア1にあり、RSU2 1002の無線有効範囲内のいずれの移動車両110もエリア2内にある。
【0229】
位置情報は、位置アプリケーションサービス5100によりすべてのノードに配布される。位置情報は、他のRSU100が使用するためにバックボーン200に格納される。図51は、例示のためにLPG1 1151に向けられている1つのビーコン5110を示すが、ビーコン5110は、すべてのLPG115及び移動車両110にブロードキャストされる。
【0230】
この実施形態によれば、移動車両の相対位置、すなわちエリア1対エリア2を追跡することができる。より正確な位置測定のためには、位置追跡のためにリモートAP330が使用される。AP330は、位置ビーコン5110を送出する。その有効範囲内の移動車両110は、MR1800で応答する。相対位置情報は、RSU100及び位置アプリケーションサービス5100に転送される。相対位置を、より狭いエリア、すなわちエリア1、サブA内で判定することができる。さらに、より正確な位置追跡のために、ビーコン5110及びMR1800の頻度を増大させることができる。ルータ1030からの破線は、他のLPG1152〜1155に転送されている位置情報を表している。
【0231】
この機能は、特に貨物を追跡するために有用である。さらに、それらの機能を使用して、移動ノードを追跡することにより、1対1通信をサポートすることができる。たとえば、ノードがLPG115外に移動する場合、LPG115は、ノードに関するいかなる情報も有していない。通信の中間のノードは切り離される。したがって、この機能により、ノードは、LPG115外に移動する際に接続を維持することができる。RSU100は、外部エージェントとしての役割を果たす。この場合、RSU100は、位置情報をバックボーン200のサーバに送信し、サーバは、この情報を、トラフィックを移動ノードに転送する際に使用するために格納する。
【0232】
別の実施形態では、RSU100を、移動車両整備サービスに使用することができる。図52は、整備サービスに使用される2つのRSU100の一例を示す。この構成では、車両整備サーバ5200がバックボーン200に設置されている。RSU1 1001及びRSU2 1002は共にリンクされており、バックボーン200と通信することができる。移動車両1101はRSU1 1001の無線範囲内にあり、移動車両1102〜1104はRSU2 1002の無線範囲内にある。この実施形態によれば、RSU100は、移動車両110から診断情報を受取り、緊急整備情報を提供することができる。診断情報は、車両整備サーバ5200に送信されて格納される。そして、RSU100は、ガソリンスタンド、病院、タイヤ修理店、給油所等の位置のような情報を提供する。この情報は、上述したプロセス又はRSU100の位置に基づいて判定された移動車両110の相対位置に基づく。たとえば、移動車両1101は、ガソリンがなくなった場合、RSU100に対し最も近いガソリンスタンドの位置に関する情報を要求することができる。RSU1 1001は、最も近いガソリンスタンドを判定し、その情報を移動車両1101にブロードキャストする。同様に、移動車両1102は、タイヤがパンクした場合、RSU2 1002に対し、最も近いガソリンスタンドの位置に関する情報を要求することができる。RSU2 1002は、最も近いタイヤ交換店を判定し、その情報を移動車両1102にブロードキャストする。
【0233】
さらに、移動車両1103にチェックエンジン信号表示が出た場合、移動車両1103は、RSU2 1002に対し、最も近いガソリンスタンドの位置に関する情報を要求す
ることができる。RSU2 1002は、最も近いガソリンスタンドを判定し、その情報を移動車両1103にブロードキャストする。RSU100はまた、移動車両1103からの緊急事象を示すレポートを車両整備サーバ5200に送信し、格納する。
【0234】
RSU100はまた、車両整備サーバ5200の移動車両110に関する想起情報をサービスリマインダと共に追跡することもできる。サービスリマインダは、オイル交換、液体補充、タイヤローテーション及び検査を含むことができる。サービスが必要となるたびに、車両整備サーバ5200からの情報を使用するRSU100は、移動車両110に対し、サービスが必要であること及びサービスのタイプを示すリマインダを積極的に送信することができる。
【0235】
本発明の別の実施形態では、RSU100を使用して、通行料の収集を容易にすることができる。図53は、通行料の収集に対するRSU100構成の一例を示す。通行料収集システムは、バックボーン200、RSU100及びAP330を含む。図示するように、システムは5つのAP3301〜3305を有する。RSU1 1001は、ハブ320を介してAP3301〜3305に接続されている。RSU1 1001は、ルータ及び通行料収集アプリケーションサービス5300を含む。AP330のうちの1つ、たとえばAP1 3301に、通行料スキャンデバイスが設けられている。通行料スキャン領域に入る移動車両は、RSU1 1001から通行料収集アプリケーションサービス5300を介して、AP1 3301を通じて通行料収集プロセスを開始するために中継される初期通行料収集信号5305を受信する。移動車両110は、信号を受信すると、車両識別及びクレジットカード番号5310のような自身の情報で中継することにより通行料支払い送信を引き起こす。別の実施形態では、クレジットカード番号が不要であるように、クレジットカード番号は先に車両に関連付けられている。通行料収集アプリケーションサービス5300は、取引を完了する。これらの実施形態によれば、移動車両110は通行料を支払うために停止するか又は減速する必要がない。
【0236】
たとえば、移動車両1101は、AP1 3301の無線有効範囲に入り、通行料スキャンデバイスが移動車両1101を検出し、その検出をRSU1 1001に中継する。通行料収集アプリケーションサービス5300は、通行料収集パケットを、AP1 3301を通じて移動車両1101に送信する。移動車両1101は、識別情報を含む応答をRSU1 1001に送信し、RSU1 1001は、応答を通行料収集アプリケーションサービス5300に転送する。通行料収集アプリケーションサービス5300は取引を完了し、その取引をバックボーン200に格納する。通行料スキャンデバイスは、AP330のいずれに位置してもよい。
【0237】
本明細書では、本発明を特定の例示的な実施形態に関連して説明した。本発明の範囲から逸脱することなく、当業者には何らかの改変及び変更が明らかとなり得る。例示的な実施形態は、例示するものであることが意図されており、添付の特許請求の範囲によって規定される本発明の範囲を限定するように意図されるものではない。
【技術分野】
【0001】
本発明は、移動環境における通信のためのネットワークに関する。より詳細には、本発明は、通信パケットを処理し、ルーティングテーブル及び転送テーブルを生成し、ユニキャストメッセージ及びマルチキャストメッセージをルーティングする方法に関する。
【背景技術】
【0002】
無線ホームネットワーク若しくは無線オフィスネットワーク、又はローカルカフェ、ファーストフードチェーン若しくはホテルにおける、いわゆる「ホットスポット」ネットワーク、さらには都市全体でWiFi技術を実施することのいずれにしても、無線技術は、今日の生活のあらゆる面において普及してきている。社会においてこのように無線を推し進める目的は、情報を入手しやすくすること、及び社会が全体として、コンピュータネットワーク、特にインターネットを広く受け入れると共に利用することによって享受してきた生産性をさらに高めることである。802.11a/b/gのような無線ネットワーキング技術によって、WiFi機能を搭載したデバイスが、通信線のような制約を受けることなく、標準的な有線ネットワーク内に存在するかのように互いに接続できるようになる。ネットワーク通信エリア内の物理的な場所に関係なく、人々は自由に、ネットワークに接続された状態を維持することができる。
【0003】
これを目指して、いくつかの都市が、その都市のための無線ネットワークを構築しようとしてきた。たとえば、2004年7月29日に、ミシガン州グランドヘブンは、都市の6平方マイルを網羅し、ミシガン湖まで15マイルにわたって広がる都市全域の無線ネットワークを実装して、「全米最初のWiFi都市」であるという特徴を主張した。多数の市当局者は、WiFiを、企業を誘致すると共に維持するために、下水、電力、電話及び交通機関と概ね同様に不可欠であるインフラストラクチャと見ている。そのようなシステムは、市当局者にとって、市職員の間での通信を提供することから、市民全体に行政サービス告知、注意報及び他の有用な情報を提供することまでに及ぶ、多数の利点を有する。
【0004】
このように、より広範囲にわたって無線で接続することを推し進めてきたが、日々の生活の或る領域が立ち遅れている。アメリカの道路及び高速道路は、基礎的な衛星システム及びセルラ電話システムよりも優れた無線技術に関して、ほとんど手付かずのままである。しかしながら、アメリカの道路において無線ネットワーク技術を実施することから、数多くの利点が得られる。最も注目すべきものの中には、交通情報、アンバーアラート、気象注意報等があり、それらの情報は、直ちに影響を及ぼされる可能性がある全ての車両に中継することができる。
【0005】
さらに、自動車を互いにネットワーク接続することによって、近くにある他の車両に影響を及ぼす可能性がある車両についての情報を中継できるようになる。たとえば、1台の自動車が突然ブレーキをかけることがある。この動作を、ブレーキをかけている自動車の後方にある全ての車両に瞬時に報告することができ、それにより、他の車両のドライバが多少の余裕をもって、必要な措置を講じることができるようになる。この態様が、交通事故及び交通渋滞を緩和するために意味があることは明らかである。このタイプの無線ネットワーキングは、限定はしないが、緊急道路障害物警告、交差点の調整、隠れた私道に関する警告、車線変更又は合流の支援を含む、車両安全への応用形態の数多くの態様において現われる可能性がある。
【0006】
車両安全通信(「VSC」)は、車両間通信とインフラストラクチャを介した車両通信
とに大きく分けることができる。車両間通信では、固定されたインフラストラクチャからの支援を受けることなく、車両同士が通信する。車両が互いの同じ無線範囲内にあるときに、又は他の車両を介してマルチホップ中継できるときに、車両同士が通信することが可能である。インフラストラクチャを介した車両通信では、路側無線アクセスポイントのようなインフラストラクチャの支援を受けて、車両同士が通信する。この場合に、車両はインフラストラクチャだけと通信することもできる。
【0007】
重要なVSC性能要件は、衝突回避のような種々のVSCの応用形態を支援するために、待ち時間が短いこと(約100ミリ秒)、及びスループットを維持すること(別の言い方をすると、近くにある車両が警告メッセージを受信するのに成功するパーセンテージ)を含む。
【0008】
単に、移動中の車両に無線アンテナを取り付けて、その後、調整されないまま通信を伝送するだけでは、これらの要件を満たすには不十分であろう。具体的には、無線帯域幅が限られているため、調整されないままのデータを伝送することによって、通信電波が複数のメッセージで溢れることになり、結果として、無線波の妨害が生じるであろう。
【0009】
その場合に、これらの車両は、互いの伝送を妨害することになり、伝送用の無線帯域幅を得るために互いに競合することになる。さらに、所望の伝送方向を考慮することなく、全てのメッセージが全ての方向に伝搬することになる。さらに、各車両が他の車両のネットワーク構成と整合しないであろう。
【0010】
移動度が高く、また固有の関係がないため、車両を事前に車両グループとして構成することは難しい(たとえば、どの車両も、予めその近くにある車両について何も知らない)。安全通信を設定するために必要とされる全ての情報が車両間で概ねリアルタイムに交換されなければならないので、グループ内の車両は概ねリアルタイムに自らを構成して、安全通信を行うことができるようにしなければならない。調整されていない車両の移動度が高いことは、近くにある車両又は車両グループが頻繁に変化することを暗示しており、車両グループ内で(移動度、アドレス、名前、メディアセッションのための)サポートサーバを用いることを困難にしている。これらの重大な違いが、既存の戦略的なアドホックネットワーク接続技術を、安全通信のために車両グループに直に適用できないようにしている。
【0011】
ホットスポットのような、他の所で利用されているWiFi方法を用いることは、通信エリア、データトラフィック量及び待ち時間の問題のために実用的ではない。大都市付近の通常のラッシュアワーの通勤は、3車線の高速道路の1200メートル長当たりの車両が600台にもなるという車両密度を生じる可能性がある。さらに、これらの車両は全て、時速30〜60マイル(時速48〜96km)の速度で個々の通信エリアを通り抜けていく。大部分の無線システムは、そのネットワーク内でそのような大きな変化率を取り扱うだけの能力がない。
【0012】
具体的には、或る車両が通信エリアに入るとき、その車両は、無線アクセスポイント又はルータによって特定されると共に構成命令を発行される必要がある。或る車両が通信エリアを出るとき、無線アクセスポイント又はルータは、その記録を更新して、そのネットワークから車両を削除する必要がある。したがって、特定の通信エリアを車両が通り抜ける速さが、情報更新、たとえば無線アクセスポイント又はルータによってブロードキャストされ、その範囲内の全ての車両によって応答されるべきハンドシェーキングの頻度を決定する。これら全ての車両が同時に情報を伝送すると、システムが取り扱えないほどの付加が容易にかかってしまう。
【0013】
車両間通信ネットワークを確立するために、いくつかの試みがなされてきた。たとえば、FleetNet及びCarTalk2000はいずれも、車両間通信ネットワークを開発している。これらのシステムはいずれも、位置情報を得るため、及びメッセージをルーティングするために、各車両内でGPSシステムを使用する。FleetNetシステムは、メッセージを中継するために、位置に基づくルーティング及び位置認識を用いる。具体的には、実施される通信プロトコルにおいて、それらのシステムのためのバックボーンとして、GPS情報のような位置データが決定的な役割を果たす。
【0014】
CarTalk2000も位置に基づくプロトコルを用いる。CarTalk2000による車両間システムに参加する各車両は、常に現在位置を検出するために、GPSデバイスを搭載していなければならない。しかしながら、これらのシステムの欠点は、車両が高速で移動しているため、位置情報がすぐに古くなるということである。
【0015】
GPS位置ルーティングを実行するために、車両間で絶えず変化するGPS情報を交換すると、過大なプロトコルオーバーヘッド及び無線帯域幅の無駄が生じる。その結果、そのようなGPS位置ルーティング技術は、最小の通信遅延時間又はマルチホップスループットの維持を達成することができない。さらに、Cartalk2000およびFleetNetの両方においてすべての車両にGPSを搭載する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0016】
したがって、過度の帯域幅及び著しいプロトコルオーバーヘッドを必要とすることなく、最小の通信待ち時間、又はマルチホップスループットの維持を達成しながら、過酷なVSC性能要件を達成することができるネットワークのノードとして車両と路側機との両方を有するアドホックネットワークを構成することが必要とされている。
【課題を解決するための手段】
【0017】
無線アドホックネットワークのローカルピアグループ内のノード間で情報のパケットをルーティングする方法を開示する。本方法は、グループヘッダノードから、少なくとも1つのルーティングパラメータを含む第1の制御パケットを受信すること、少なくとも1つのルーティングパラメータに基づいてルーティングテーブルを更新すること、ローカルピアグループ内のグループノードから、少なくとも1つの追加のルーティングパラメータを含む第2の制御パケットを受信すること、及び少なくとも1つの追加のルーティングパラメータに基づいてルーティングテーブルを更新することを含む。本方法は、これらの更新するステップの両方が完了すると、ルーティングテーブルから転送テーブルを生成することをさらに含む。
【0018】
ユニキャストメッセージは、転送テーブルに基づいてルーティングされる。
【0019】
少なくとも1つのルーティングパラメータは、グループリスト、ホップカウント及びグループヘッダへの次ホップを含む。第1の制御パケットに基づいてルーティングテーブルを更新することは、グループリストに基づいて宛先リストを変更すること、第1の制御パケットを直接中継した直接の中継ノードを除く前記宛先リスト内のすべての宛先に対し、宛先への次ホップを前記グループヘッダに初期化すること、及びグループヘッダへの次ホップを前記直接の中継ノードに変更することを含む。
【0020】
ルーティングテーブルを更新することは、第1の制御パケット及び第2の制御パケットが順序通りである場合にのみ発生し、本方法は、第1の制御パケット及び第2の制御パケットが順序通りであるか否かを判定することを含む。
【0021】
第1の制御パケットに基づいてルーティングテーブルを更新することは、第2の制御パケットに対するソースを判定すること、第2の制御パケットの直接の送信者を判定すること、第2の制御パケットの少なくとも1つの追加のルーティングパラメータに基づいて、直接の送信者を介してソースに対する次ホップを変更すること、及び第2の制御パケットの少なくとも1つの追加のルーティングパラメータに基づいて直接の送信者に対する次ホップを変更することを含む。
【0022】
無線アドホックネットワークのローカルピアグループ内のノード間で情報のパケットをルーティングするルーティング方法も開示する。本方法は、ノードによって受信される制御パケットのタイプを判定すること、制御パケットがノードにより順序通りに受信されているか否かを判定すること、及び制御パケットが順序通りである場合に、制御パケットに含まれる情報に基づいてテーブルを更新することを含む。制御パケットは、ハートビート制御パケット又はメンバシップレポートであり得る。ローカルピアグループの各ノードは、グループヘッダ又はグループノードであり得る。ノードがグループノードであり、制御パケットのタイプがハートビート制御パケットである場合、更新するステップは、ハートビート制御パケットに含まれるグループメンバシップリストのすべてのメンバを含むようにテーブルを変更することを含む。
【0023】
本方法はまた、ノードが制御パケットを順序通りに受信しているか否かを判定することも含む。この判定は、制御パケットに含まれるシーケンス番号値のメモリに格納されているシーケンス番号との比較に基づく。受信されたシーケンス番号値がメモリに格納されているシーケンス番号より大きい場合、制御パケットは順序通りに受信されている。
【0024】
アドホックネットワークにおいてノードによって着信パケットを処理する方法も開示する。本方法は、着信パケットを受信すること、着信パケットがそのノード宛てであるか否かを判定すること、着信パケットがそのノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて宛先への次ホップを判定すること、及び宛先への次ホップに着信パケットを中継することを含む。着信パケットがそのノード宛てである場合、ノードは着信パケットを処理し消費する。
【0025】
アドホック無線ネットワークにおいてマルチキャストメッセージをルーティングする方法も開示する。本方法は、転送するためにマルチキャストメッセージを受信するステップと、マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定するステップと、マルチキャストメッセージが以前に転送されているか否かを判定するステップと、マルチキャストメッセージが以前に転送されていると判定され、且つマルチキャストグループ宛先がマルチキャスト転送テーブルにあると判定された場合、マルチキャストメッセージを転送するステップと、マルチキャストメッセージが送信された後、マルチキャストメッセージを送信済みリストに追加するステップとを含む。
【0026】
本方法は、マルチキャストメッセージが送信待ち行列にあるか否かを判定するステップをさらに含み、マルチキャストメッセージは、送信待ち行列にない場合、転送のために送信待ち行列に追加され、送信待ち行列にある場合、破棄される。
【0027】
マルチキャスト転送テーブルを、ローカルピアグループ内の各ノードに対し分類を割り当てること、ローカルピアグループ内のすべてのノードから選択されたノードであるグループヘッダからのホップカウントを各ノードに対して判定すること、
【0028】
マルチキャストメンバシップ情報を収集すること、並びに収集されたマルチキャストメンバシップ情報及びグループヘッダからのホップカウントに基づき、マルチキャストグルー
プに対するメッシュにおける転送ノードを選択することによって生成することができる。各選択された転送ノードは、マルチキャストグループ識別をマルチキャスト転送テーブルに格納する。分類、グループヘッダからのホップカウント及びマルチキャストメンバシップ情報は、グループヘッダからローカルピアグループ内の他のノードにブロードキャストされる。
【0029】
マルチキャストルーティングテーブルを、グループヘッダに中継されたマルチキャストメンバシップ情報を含むメンバシップレポートに基づいて生成することも可能であり、マルチキャストメンバからグループヘッダにメンバシップレポートを中継するすべてのノードは、マルチキャストメンバを含むマルチキャストグループに対する転送ノードとなる。各転送ノードは、マルチキャスト転送テーブルにマルチキャストグループ宛先としてマルチキャストメンバシップ情報を記録する。
【0030】
グループヘッダは、各マルチキャストメンバに対するグループヘッダからのホップカウントに基づいて、マルチキャストグループに対する転送ノードの数を調整する。調整は、グループヘッダと、特定のマルチキャストグループのグループヘッダに最も近いマルチキャストメンバであると判定されたマルチキャストメンバとの間のすべての転送ノードをプルーニングする。グループヘッダは、それ自体もプルーニングする。転送ノードは、プルーニングされると、マルチキャスト転送テーブルのマルチキャストグループ宛先から、プルーニングされたマルチキャストグループに対応するマルチキャストメンバシップ情報を削除する。
【0031】
また、転送ノードは、マルチキャストグループに対応するマルチキャストメンバシップ情報を含むメンバシップレポートを受信せずに、プリセットされたタイマが満了する場合、マルチキャストグループノードの非転送ノードとなる。
【0032】
マルチキャストメッセージをルーティングする方法は、マルチキャスト転送テーブルに列挙されているマルチキャストグループ宛先を有する各ノードに対し送信チャネルを選択すること、及びマルチキャスト転送テーブルに列挙されているマルチキャストグループ宛先を有する各ノードに対し受信チャネルを選択することをさらに含む。送信チャネル及び受信チャネルを、交互になるように選択することができる。たとえば、送信チャネル及び受信チャネルは、単一交互パターンで交互になるように選択される。代替的に、送信チャネル及び受信チャネルは二重交互パターンで交互になるように選択される。
【0033】
本方法は、所定時間、送信されたマルチキャストメッセージをメモリに格納すること、送信されたマルチキャストメッセージが、隣接する転送ノードから所定時間内に受信さられているか否かを検出すること、及び送信されたマルチキャストメッセージが所定時間内に検出されない場合、転送ステップを繰り返すことをさらに含む。送信されたマルチキャストメッセージが所定時間内に検出された場合、マルチキャストメッセージはメモリから破棄される。
【0034】
無線通信デバイスも開示する。本デバイスは、転送するためにマルチキャストメッセージを受信する手段と、マルチキャストメッセージに対するマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定する手段と、マルチキャストメッセージが先に転送されているか否かを判定する手段と、マルチキャストメッセージが先に転送されていないと判定される場合、且つマルチキャストグループ宛先がマルチキャスト転送テーブルにあると判定される場合、マルチキャストメッセージを転送する手段と、マルチキャストメッセージが送信された後にマルチキャストメッセージを送信済みリストに追加する手段とを備える。本デバイスは、マルチキャスト転送テーブル及び送信済みリストを格納する手段をさらに備える。
【0035】
また、着信パケットを受信する手段と、着信パケットがそのノード宛てであるか否かを判定する手段と、着信パケットがそのノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて宛先への次ホップを判定する手段と、着信パケットを宛先への次ホップに中継する手段とを開示する。
【0036】
無線通信デバイスのそれぞれを、移動車両に設置することができる。
【0037】
また、移動車両の無線通信デバイスにおける少なくとも1つのプロセッサによって実行されることが可能な、メッセージをルーティングするように少なくとも1つのプロセッサを制御するためのコンピュータ可読命令のセットを含むコンピュータ可読媒体も開示する。
【0038】
本発明のこれらの特徴、利益及び利点、並びに他の特徴、利益及び利点は、以下の図面を参照することによって明らかになるであろう。なお、図面を通じて、類似の参照符号は類似の構造を指している。
【図面の簡単な説明】
【0039】
【図1】本発明による路側機に近接する複数のLPGの一例を示す。
【図2】本発明の一実施形態によるルータとして機能する路側機を含むアドホックネットワークを示す。
【図3A】本発明の一実施形態による、路側機が分離されているアドホックネットワークの一例を示す。
【図3B】本発明の一実施形態による、複数の路側機が路側機のリモートアクセスポイントと連動しているアドホックネットワークの一例を示す。
【図3C】本発明の一実施形態による、共に複数の路側機が路側機のリモートアクセスポイントと連動しているアドホックネットワークの第2の例を示す。
【図4】本発明の一実施形態によるリンクされた路側機を含むアドホックネットワークの一例を示す。
【図5】本発明の一実施形態によるリンクされた路側機を含むアドホックネットワークの第2の例を示す。
【図6】本発明の一実施形態による3つの路側機グループの一例を示す。
【図7】図6の3つの路側機グループに対するチャネル割当ての一例を示す。
【図8】本発明の一実施形態によるアプリケーションサーバとして機能する路側機を含むアドホックネットワークの一例を示す。
【図9】本発明の一実施形態によるアプリケーションサーバ及びルータとして機能する路側機を含むアドホックネットワークの一例を示す。
【図10】本発明の一実施形態によるアプリケーションサーバ及びルータとして機能する路側機を含むアドホックネットワークの第2の例を示す。
【図11】路側機のブロック図である。
【図12】本発明の一実施形態によるヘッダ解決方法のフローチャートである。
【図13】グループヘッダとして路側機を有する動的ローカルピアグループの一例を示す。
【図14】それぞれがグループヘッダとして路側機を有する、2つの固定ローカルピアグループの一例を示す。
【図15】グループノードとして路側機を有する動的ローカルピアグループの一例を示す。
【図16】それぞれがグループノードとして路側機を有する、2つの固定ローカルピアグループの一例を示す。
【図17】本発明の一実施形態による、ローカルピアグループを形成しユニキャストルーティングテーブル2300を生成するために使用される、ハートビート制御パケットの一例を示す。
【図18】本発明の一実施形態による、ローカルピアグループを形成しユニキャストルーティングテーブル2300を生成するために使用される、メンバシップ報告パケットの一例を示す。
【図19】ユニキャストルーティングテーブル2300の生成及び維持のフローチャートである。
【図20】本発明の一実施形態によるユニキャストパケットをルーティングするプロセスのフローチャートである。
【図21】ユニキャストルーティングテーブル2300を更新するプロセスのフローチャートである。
【図22】ユニキャストパケットのルーティングに対する有限状態機械の図である。
【図23】本発明の一実施形態による内部ユニキャストルーティングテーブル2300の一例を示す。
【図24】マルチキャストグループ2400の一例を示す。
【図25】本発明の一実施形態によるマルチキャストツリーの作成のフローチャートである。
【図26】図25に示す実施形態によって形成されるマルチキャストグループ2400の一例を示す。
【図27】図25に示す実施形態によってマルチキャストツリーを作成するために使用されるハートビート制御パケットの一例を示す。
【図28】図25に示す実施形態によってマルチキャストツリーを作成するために使用されるメンバシップレポートパケットの一例を示す。
【図29】図25に示す実施形態によるマルチキャスト転送テーブルの生成及び維持のフローチャートである。
【図30A】図25に示す実施形態によるグループヘッダに対する機能状態遷移図である。
【図30B】図25に示す実施形態によるグループメンバに対する機能状態遷移図である。
【図31】本発明によるマルチキャスト転送テーブルの一例を示す。
【図32】本発明の第2の実施形態によってマルチキャストツリーを作成するために使用されるメンバシップレポートパケットの一例を示す。
【図33】本発明の第2の実施形態を使用してのマルチキャスト転送テーブルの生成及び維持のフローチャートである。
【図34】本発明の第2の実施形態によるノードのための機能状態遷移図である。
【図35】本発明の第3の実施形態によるマルチキャストツリーを作成するために使用されるプルーンパケットの一例を示す。
【図36】第3の実施形態によるマルチキャスト転送テーブルの生成及び維持のフローチャートである。
【図37A】第3の実施形態によるグループヘッダに対する機能状態遷移図である。
【図37B】第3の実施形態によるグループメンバに対する機能状態遷移図である。
【図38A】本発明の第2の実施形態によって形成されるマルチキャストグループ2400を示す図である。
【図38B】本発明の第3の実施形態によって形成されるマルチキャストグループ2400を示す図である。
【図39】本発明の一実施形態によるマルチキャストモードにおける転送ノードに対する階層機能を示す図である。
【図40】本発明の一実施形態によるマルチキャストパケットをルーティングするプロセスのフローチャートである。
【図41】本発明の別の実施形態によるマルチキャストパケットをルーティングするプロセスの階層ネットワーク層フローチャートである。
【図42】本発明のさらに別の実施形態によるマルチキャストパケットをルーティングするプロセスの階層ネットワーク層フローチャートである。
【図43】本発明の一実施形態によるチャネル割当て方式を示す。
【図44】チャネル交互割当て方式による、送信チャネル及び受信チャネルに対するチャネル割当ての一例を示す。
【図45】二重チャネル交互割当て方式による、送信チャネル及び受信チャネルに対するチャネル割当ての一例を示す。
【図46】二重チャネル交互割当て方式により送信チャネル及び受信チャネルを割り当てるプロセスのフローチャートである。
【図47】本発明の一実施形態による、認証サービスを提供する路側機の一例を示す。
【図48】本発明の一実施形態によるネットワーク構成支援を提供する路側機の一例を示す。
【図49】情報収集デバイスとして使用される路側機の一例を示す。
【図50】本発明の一実施形態による安全警告ルーティングを提供する路側機の一例を示す。
【図51】本発明の一実施形態による位置及び追跡機能を実行する路側機の一例を示す。
【図52】本発明の一実施形態による車両整備サーバおよびデータベースとして機能する路側機の一例を示す。
【図53】本発明の一実施形態による通行料収集デバイスとして機能する路側機の一例を示す。
【発明を実施するための形態】
【0040】
本発明によれば、アドホックネットワークは、2つのタイプのノード、すなわち路側機(Road Side Unit。以下、「RSU」)と移動車両とに分けられる。RSUは固定ノードであり、車両はグループ内を移動することができる。
【0041】
図1は、本発明によるアドホックネットワークの一例を示す。RSU100は、道路の側部に沿って位置している。ネットワークで使用されるRSU100の数は、RSU100の無線アンテナの範囲、所望の通信範囲、移動デバイスの数、土地の地形、環境状態、交通パターン及び人口密度のような、いくつかの要因によって決まる。図1は、2つのRSU100を示している。囲まれているエリアは、各RSU100の無線範囲を表している。各RSU100を使用して、単独で又はグループで走行している移動車両110と通信することができる。
【0042】
移動車両110を、管理可能なグループに編成することができる。これらのグループは、ノード間のデータの伝送の調整に使用される。グループは、隣接するノードの相対位置に基づくか、又は固定位置に基づいて構築される。このグループ分けすなわちローカルピアグループ(「LPG」)は、単一LPG115内で、且つ複数のLPG間で無線信号をルーティングするための基礎である。
【0043】
図1は、3つのLPG115を示している。各LPG115は、少なくとも1つの移動車両110から構成されている。図1は、LPG1 1151が3つの移動車両を含み、LPG2 1152が2つの移動車両を含み、LPG3 1153が3つの移動車両を含むことを示している。RSU100は、LPG115内に存在して特別なLPGノードとして機能することができ、又はLPG115の外で別個のノードとして存在することができる。RSU100は、LPG115内のノードではなく、LPG115と共に使用される場合、LPG間通信用の境界ノードとして機能することができる。通常、1つのRSU
100の無線有効範囲は、1つのLPGのサイズより大きく、すなわち、1つのRSU100の無線範囲内には2つ以上のLPG115があることになる。それを図1に示す。したがって、1つのLPG115からのパケットを、RSU100を使用して別のLPG115にブロードキャストすることができる。この場合、RSU100は、そのメモリに格納されたLPGに関する情報を含むことになる。
【0044】
移動車両110は、車車(V−V)チャネルによって互いに通信する。移動車両は、車路(V−R)チャネルを介して路側機と通信する。さらに、RSU100は、R−Rチャネル又はR−Bチャネル(バックボーン)を介して互いに通信する。R−R通信は専用チャネル又は有線バックボーンを使用するため、その通信は、V−V通信又はV−R通信に干渉しない。V−Vチャネル及びV−Rチャネル間でチャネルを共有することに対し、いくつかの代替方法がある。好ましい実施形態では、V−R通信用に専用チャネルがある。残りのチャネルは、V−V通信及び/又はV−R通信に対して共有される。V−Rチャネルは、他のチャネルと同じRF周波数帯域にあってもよい。代替的に、V−Rチャネルは、異なる通信範囲及びデータレートを可能にするように異なるRF周波数帯域にあってもよい。
【0045】
別の実施形態では、すべてのチャネルがV−V及びV−Rの両方に対して動的に共有される。この手法により、性能の最適化が可能になる。しかしながら、干渉しないチャネルを厳密に調べて選択することで複雑性がもたらされる。
【0046】
別の実施形態によれば、V−Rに対してのみ専用チャネルが割り当てられ、他のチャネルはV−Vのみが共有される。代替的に、V−Rに対し専用チャネルが使用され、V−Vに対し第2の専用チャネルが使用される。残りの他のチャネルは、V−V通信及びV−R通信によって共有される。本発明の説明を続ける目的で、チャネル割当ての好ましい実施形態を使用する。RSU100は、ルータ、アプリケーションサーバ又はそれらの組合せのような多くの機能を有することができる。
【0047】
図2は、少なくとも1つのRSU100がルータとして機能する場合のアドホックネットワークの一例を示す。アドホックネットワークは、RSU100と、バックボーン200、たとえばインターネットと、移動車両110とを含む。RSU100は、3つのネットワーク階層、すなわちネットワーク層210、MAC層215及び物理層220を含む。
【0048】
物理層220は、ハブ、中継器及び無線機のようなデバイスを含む。物理層220の機能には、物理無線リンクのような通信チャネルにより、上位層データを表す信号の伝送がある。
【0049】
MAC(メディアアクセス制御)層215は、ネットワークエンティティ間でデータを転送する手続き、及び物理層220で発生する可能性のある誤りを検出し、場合によっては訂正するための手続きを処理する。たとえば、IEEE802.11では、MAC層215は、共有される無線チャネルへのアクセスを調整し、且つ無線媒体による通信を向上させるプロトコルを利用することにより、802.11局(無線ネットワークカード及びアクセスポイント)間の通信を管理し維持する。802.11MAC層215は、802.11b又は802.11a又は802.11pのような802.11物理(PHY)層を使用して、802.11フレームのキャリア検知、送信及び受信のタスクを実行する。
【0050】
ネットワーク層210は、ネットワークエンティティ間のエンド・ツー・エンド通信のための機能を実行する。たとえば、機能には、ソースノードから宛先ノードへのメッセージのルーティング、同じマルチキャストグループのソースノードから宛先ノードへのメッ
セージのマルチキャスト、又はルーティングまたはマルチキャストの目的でのネットワークエンティティの移動度(位置)管理がある。ネットワーク層210は、データ経路としてユニキャスト/マルチキャストルートを発見して維持し、また、本明細書で説明するユニキャスト及びマルチキャストの手続き及びプロトコルに従って、エンドユーザ間のデータ配信方法を提供する。エンドユーザは、移動車両110であってもRSU100であってもよい。
【0051】
RSU100は、その無線有効範囲内のすべての移動車両110に対しデータをルーティングすることができる。さらに、RSU100は、その相対位置に応じて、RSU100間でデータをルーティングすることができる(たとえばR−R通信)。さらに、RSU100は、バックボーン200から/バックボーン200へデータをルーティングすることができ、たとえば、バックボーンから移動車両110にデータをルーティングすることができる。図2に示すように、移動車両110は、ネットワーク内の複数のRSU100の無線範囲を通過して走行し、それにより頻繁なIPハンドオフがもたらされる。
【0052】
RSU100に対していくつかの配置構成があり得る。一実施形態では、RSU100は、分離された位置に配置される。この実施形態では、RSU100は、互いの範囲外にあるため、他のRSU100と連結されていない。RSU100のルーティング機能は、RSUのその無線範囲でのみ提供される。分離されたRSU100の配置は、限られた利点しかないかもしれない。1つの利点は、RSU100が余裕をもって配置されている場合、チャネル干渉がない、ということである。複数のRSU100における通信に対し、同じV−Rチャネルを使用することができる。さらに、RSU100を配置するコストが最小限である。わずかな数のRSU100を使用して、いくつかの問題のあるエリア、たとえば混雑している交差点、既知の問題の起こり易い地域又は事故が多発する地域にサービスを提供することができる。この実施形態を、初期段階の配置に使用することが好ましい。しかしながら、RSU100は連結されておらず、近傍のRSU100内の移動車両110を支援することができず、又は近傍のRSUに関するいかなる情報も提供することができない。さらに、移動車両110は、隣接するすべてのRSU100に情報が伝播されることを確認するために、各RSU100において情報を複製しなければならない可能性がある。
【0053】
図3Aは、2つの分離されたRSU100を示す。RSU1 1001は、移動車両1
1101、車両2 1102と通信することができるが、車両3 1103〜車両6 1106及びRSU2 1002とは通信することができない。同様に、RSU2 1002は、車両5 1105及び車両6 1106と通信することができるが、車両1 1101〜車両4 1104とは通信することができない。
【0054】
別の実施形態では、複数のリモートアクセスポイントと共に単一RSU100を配置することができる。この構成では、RSU100は、道路にある複数の無線アクセスポイント(AP)を制御する。RSU100は、APを介して移動車両110又はLPG115全体と通信する。車両に対するネットワーク層ピアはRSUであり、移動車両110のMAC層及び物理層に対するピアはAPである。802.11a通信又は802.11p通信の場合、移動車両110はAPを使用する。ネットワーク層通信を処理するために、移動車両110は、主にRSU100と協働する。APはRSU100に対するMAC層215機能及び物理層220機能を処理する。RSU100自体は、ネットワーク層機能210しか処理しない。APを実装することにより、RSU100のサービスエリアが拡大する。
【0055】
複数の無線アクセスポイントを伴うRSU100は、2つ以上のAP間のルーティング機能を達成するためにスイッチ又はブロードキャストバスを含むことができる。
【0056】
図3Bは、複数のRSU100がスイッチベースの複数のアクセスポイントを使用するルーティング機能を有する、アドホックネットワークを示す。図示するように、RSU1
1001は5つのAP(まとめてAP330)を制御する。RSU2 1002もまた、5つのAP(まとめてAP330)を制御する。各RSU100とAP330との間にハブスイッチ320が配置されており、それにより、1つのAP330のみが、移動車両110との間の通信、すなわち移動車両110からのデータの受信、及び移動車両110へのデータの転送に関与する。移動車両110がAPの無線サービスエリア内にある時、MAC層215及び物理層220は、ビーコン及びハンドシェイクを介して移動車両110とその特定のAP330との関係を形成する。さらに、RSU100は、AP330から、各APのサービスエリア内の関連付けられている移動車両に関する情報を取得することができる。たとえば、AP5は、その無線範囲内のすべての車両に対するアクセスポイントである。各APは、2つの階層、すなわち物理層及びMAC層を含む。
【0057】
この構成は、ユニキャストルーティング、マルチキャストルーティング及び移動度検出をサポートする。ユニキャストの場合、各RSU100は、ネットワーク内の各ノードに対して作成され且つメモリに格納されている転送テーブルに基づいて、各移動車両110に向けられるメッセージの次ホップを知る。RSU100は、LPG115内のノードではない場合であっても、そのV−Rチャネル上のハートビート制御メッセージ1700をオーバーヒアリングする(overhear)ことができる。RSU100は、この情報を、RSU100又はAP330からLPG115及び移動車両110にルーティングするために使用することができる。次ホップは、移動車両110に関連付けられているAP330である。言い換えれば、AP330は、移動車両のためのMACプロキシである。スイッチ320は、RSU100からメッセージを受信すると、そのメッセージを、特定の移動車両110に関連付けられている特定のAP330に転送する。すなわち、ハブスイッチ320を使用して、ユニキャストメッセージは、指定されたAP330のみに送信され、決してすべてのAPにはブロードキャストされない。
【0058】
たとえば、移動車両4 1104に対する次ホップはAP5 3305である。したがって、RSU1 1001は、移動車両4 1104に対する次ホップとして、AP5 3305をそのメモリに記録する。言い換えれば、移動車両4 1104がAP5 3305の範囲内にある間、移動車両4 1104に向けられたすべてのメッセージがAP5
3305を通じてルーティングされる。
【0059】
マルチキャスト動作の場合、マルチキャストグループ2400に参加している移動車両110に関連付けられるAP330のみが、マルチキャストグループ2400のマルチキャスト転送ノードとなる。マルチキャストグループ2400については、後により詳細に説明する。スイッチ320は、いずれのAP330が転送ノードであるかを知っており、マルチキャストパケットは、それらの転送ノードにのみ配信される。転送ノードは、マルチキャストグループ2400にある宛先ノードに複数のメッセージを転送するノードである。
【0060】
たとえば、マルチキャストメッセージが車両2 1102及び車両4 1104に向けられている場合、車両2 1102及び車両4 1104はマルチキャストグループ2400に参加している。RSU1 1001に次ホップ情報が記録されているため、RSU1 1001は、このマルチキャストグループ2400に対してAP3 3303及びAP5 3305が転送ノードであることを知っている。RSU1 1001、AP3 3303及びAP5 3305は、マルチキャストメッセージの転送ノードとなる。スイッチ320は、AP3 3303及びAP5 3305にのみマルチキャストメッセージを配信する。この構成はまた、移動度検出もサポートする。ユニキャストの場合の次ホップ
情報及びマルチキャストの場合の転送ノード情報は、連続的に更新される。AP330又は移動車両110は、移動度検出を実行する。一実施形態では、AP330は、周期的ビーコンの使用に基づいて移動度を検出する。ビーコンは、AP識別を含む。移動車両110は、周期的ビーコンに応答する。AP330は、応答を受信すると、それ自体をその移動車両に対する次ホップ又は転送ノードとして維持する。一方、AP330は、応答を受信しない場合、RSU100に対し、移動車両がAPの無線範囲外に移動したことを通知する。RSU100は、その次ホップ情報及び転送ノード情報をその車両に関して更新する。
【0061】
別の実施形態では、移動車両110は、RSU100に格納されている次ホップ情報及び転送ノード情報を積極的に変更する。この実施形態では、移動車両110は、受信したSNR値に基づいて、いずれのAP330が次ホップ又は転送ノードであるべきかを判断する。移動車両は、この判断を、2つの別個の基準に基づいて行うことができる。一実施形態では、移動車両は、受信信号のSNRを所定閾値と比較することができる。SNRが閾値を上回る場合、移動車両110は、チャネルがもはや利用可能でないと宣言し、次ホップ又は転送ノード2410として異なるAP330を選出する。代替的に、移動車両100は、移動車両の無線範囲内のすべてのAP330から受信された信号強度の比較に基づいて、最強のチャネル、すなわち隣接するAP330からの信号を選択することができる。移動車両110は、次ホップ情報及び転送ノード情報を更新するメッセージを新たなAP330に送信する。新たなAP330は、RSU100に対して移動度を通知し、それにより、RSU100に記録されている情報を変更することができる。移動車両110の移動により、AP330間にハンドオフがもたらされる。しかしながら、移動車両は、依然として同じRSU100の無線範囲内にある。言い換えれば、このアーキテクチャでは、ハンドオフはIP層下で実行され、MACアドレス等のMAC情報のみが更新される。
【0062】
たとえば、移動車両4 1104がAP5 3305からAP4 3304まで移動する場合、AP4 3304は、車両4 1104に対する新たなMACプロキシとなり、そのプロキシ状態をRSU1 1001に通知する。その後、RSU1 1001は、AP4 3304に、車両4 1104に向けられたメッセージを転送する。1つのRSU100下でのAP330間のハンドオフは、いかなるIP層動作も必要としないため、IP層ハンドオフは、それほど頻繁には発生せず、移動車両110が1つのRSU100から別のRSU100に移動する時にのみ発生する。
【0063】
図3Cは、複数のRSU100が、ブロードキャストバスベースの複数のアクセスポイントを使用するルーティング機能を有する、アドホックネットワークを示す。図示するように、RSU1 1001は5つのAP(まとめてAP330)を制御する。RSU2 1002もまた、5つのAP(まとめてAP330)を制御する。図3Bに示すようなスイッチ320の代りに、図3Cに示すアーキテクチャでは、ブリッジバス340がRSU100とそのAP330とを接続する。スイッチベースの上記のアーキテクチャ(図3B)とは異なり、RSU100によって移動車両110に向けて送信されるメッセージは、RSU100下のすべてのAP330に配信される。しかしながら、ブリッジバス340を使用することにより、宛先、すなわち移動車両110に関連するAP330のみが、移動車両110にメッセージを転送する。
【0064】
この構成は、ユニキャストルーティング、マルチキャストルーティング及び移動度検出をサポートするが、RSUは、これらの特徴のいずれを制御、維持又は管理するためにも使用されない。実施形態の利点は、RSU1 1001がAPの車両とのいかなる関係に関する情報も維持する必要がない、ということである。転送動作はブリッジバス340を使用して簡略化される。それは、ブリッジバス340が次ホップ情報及び転送ノード情報
を維持するためのオーバーヘッドを最小限にするためである。しかしながら、AP330におけるオーバーヘッドは増大し、AP330は不要なトラフィックに直面する。
【0065】
ユニキャスト動作では、1つの移動車両110に向けられるメッセージが、RSU1 1001制御下のすべてのAPに転送される。RSU100は、移動車両のMACアドレスのみを直接接続として記録し、たとえば次ホップ情報又は転送ノード情報は記録しない。宛先車両に対するMACアドレスを有するAP330のみが、メッセージを転送する。たとえば、メッセージが車両4 1104に向けられている場合、RSU1 1001はメッセージをすべてのAP330に転送するが、AP5 3305のみが移動車両4 1104にメッセージを転送することができる。
【0066】
同様に、図3Bに関して上述したマルチキャスト動作では、マルチキャストグループ2400に参加した車両に関連付けられるAP330のみが、マルチキャストグループ2400の転送ノード2410となる。しかしながら、図3Bにおいて説明した構成とは異なり、転送APのみでなく他のAP(すなわち、これらのAP下にマルチキャストメンバシップを有する車両がない)も、マルチキャストパケットを受信する。RSU100は、転送ノードに関するいかなる情報も記録しない。たとえば、マルチキャストメッセージは、移動車両2 1102及び車両4 1104に向けられており、車両2 1102及び車両4 1104はマルチキャストグループ2400に参加している。RSU1 1001はメッセージをAP1 3301〜AP5 3305にルーティングする。しかしながら、AP3 3303及びAP5 3305のみが、メッセージをそれぞれ車両2 1102及び車両4 1104に転送する。
【0067】
移動度検出の場合、スイッチ320の代りにブリッジバス340を使用することにより、検出がより迅速になるという利点がある。これは、RSU100が検出プロセスに関与せず、且つ通知もされないためである。したがって、AP330とRSU100との間のメッセージが回避される。ハンドオフは、移動車両と関連APとの間で完了する。移動度検出は、上述したものと同様に実行されるが、AP330のMACアドレスキャッシュのみが更新される。
【0068】
上述した実施形態では、RSU100が互いから分離して配置されている場合を説明したが、本発明の別の実施形態では、RSU100を互いの無線範囲内に配置することができる。この実施形態では、RSU100が互いにリンクされることにより、RSUネットワークを形成する。リンクされたRSUネットワークは、密度が高くても低くてもよい。これらのRSU100は、互いの間に通信リンクを有し、他のRSU100との連携を通じてRSU範囲外の機能を提供する。RSU100は、相互接続されている場合、情報のすべてを共有することができる。移動車両110は、通過するRSU100のそれぞれに対して複製情報を送信する必要はない。互いにリンクされたRSU100は、位置情報、IP及びMACチャネル情報を交換することにより、隣接するRSU100への接続を移動車両が事前設定するのを支援することができる。さらに、リンクされたRSU100を使用して、事故情報等のパケットを1つのエリアから別のエリアにルーティングすることができる。しかしながら、リンクされたRSU100には、MACチャネル干渉というトレードオフがある。RSU100がまばらに存在している場合、MACチャネル干渉は最小であり、いかなるRSUにも同じV−Rチャネルを使用することができる。しかしながら、所与のエリア内にRSU100が密集している場合、V−Rチャネルに対しチャネル割当てが必要なMACチャネル干渉がある可能性がある。
【0069】
図4は、まばらで互いにリンクされたRSU100を含むアドホックネットワークの一例を示す。RSU1 1001及びRSU2 1002は、互いに無線または有線でリンク400されている。したがって、2つのRSU1001及び1002は情報を共有する
ことができる。2つのRSU1001及び1002はエリア内にまばらに存在しているため、同じV−Rチャネルを使用することができる。さらに、2つのRSU1001及び1002に対する無線範囲すなわち有効範囲を、干渉を考慮せずに広いエリアをカバーするように選択することができる。この構成は、通常、地方または人口密度の低いエリアで使用される。
【0070】
図5は、密集しており相互接続されているRSU100を含むアドホックネットワークを示す。図5に示すように、楕円形線は、各RSU100の無線範囲を表している。各RSU100の無線範囲は、まばらなRSUの例より小さいように選択され、より少ない移動車両110を同時に処理するように設計されている。しかしながら、この設計により、各RSU100との車両の接続時間が短くなり、チャネル競合がもたらされ、ハンドオフが頻繁になり、アドレス割当ておよび認証の時間がほとんどなくなる。ハンドオフは数秒毎に発生しなければならなくなり、それにより移動車両110は、新たなアドレス、新たな接続を確立し、ハンドオフ毎にセキュリティメカニズムを経ることになる。
【0071】
これらの問題を回避するために、RSUグループが形成される。RSUグループは、2つ以上のRSU100から形成される。図6は、複数のRSUグループ6001〜6003をそれぞれ示している。移動車両110は、RSU100を個々に扱うのではなく、RSUグループ6001〜6003を1つの機能単位として扱う。RSUグループ6001〜6003の動作のうちのいくつかは、チャネル予約及び調整、認証及びハンドオフハンドシェイクである。ダウンリンクの場合、データ損失を最小限にするために、RSUグループ600又はサブグループにより同じダウンリンクストリームを送信することができる。いくつかのRSU100を含む同じセットの構成パラメータが、RSUグループ600を形成する隣接するRSUに対して使用される。これにより、ハンドオフ及び構成変更が続くことを回避できる。移動車両110は、RSUグループ、たとえば6001に入ると、チャネル予約、認証及びハンドシェイクを一度だけ実行する。
【0072】
RSUグループは、V−R及びV−バックボーン通信並びに緊急通信に使用される。また、RSUグループを使用して、ローカルピアグループ(LPG)の形成、その追跡、調整及び最適化を支援することができる。
【0073】
上述したように、移動車両110は、RSU100又はRSUグループ6001〜6003に入ると、RSU100又はRSUグループ6001〜6003にチャネル予約要求を送信する。RSUグループ、すなわち6001内の第1のRSU100は、入ってくる移動車両に対してチャネル及びタイムスロットを割り当てる。この割当ては、V−R通信に使用される。チャネルは、いかなる干渉も回避するように複数のチャネルから選択される。各移動車両110には、RSUグループ600が利用可能な特定のサブチャネルが割り当てられる。
【0074】
チャネルアクセスには、2つの方式、すなわち同期アクセス及び非同期アクセスがあり得る。一実施形態では、同期アクセスが使用される。各移動車両110には、サブチャネル内の固定サイズのタイムスロットが割り当てられる。たとえば、1つの車両はチャネル4、タイムスロット2に割り当てられ、第2の車両はチャネル4、タイムスロット5に割り当てられる。車両は、それ自体の順番が来た時にしか通信せず、それ以外は通信しない(silent)状態にある。タイムスロット内では、帯域幅の一部がアップリンク通信に予約され、残りはダウンリンクに予約される。この方式により、各移動車両110は、電波に対して等しくアクセスする。同期アクセスの使用の利点は、競合解決に時間が浪費されないということである。隣接するRSUグループは重ならないチャネルを使用するため、「隠れ端末」問題もまた存在しない。
【0075】
別の実施形態では、非同期方式が使用される。各移動車両110はサブチャネルに割り当てられる。サブチャネル内の移動車両110は、競合解決、たとえばCSMA方式を使用してチャネルアクセスに関して競合する。この方式はランダムアクセスに基づく。
【0076】
図7は、複数のRSUグループ600に対するチャネル割当てを示す。ネットワークプロバイダ又はRSUグループ管理エンティティが、RSUグループ600へのチャネル割当てを実行することができる。図7に示すように、RSUグループ1 6001にはチャネル1〜3が割り当てられ、RSUグループ2 6002にはチャネル4〜6が割り当てられ、RSUグループ3 6003にはチャネル1〜3が割り当てられている。隣接するRSUグループ600は異なるサブチャネルを使用するため、RSUグループ600内の移動車両110は、別のRSUグループ600の車両に対する隠れ端末になることはできない。RSUグループ1 6001及びRSUグループ3 6003には、それらの相対的な位置により、同じチャネルを割り当てることができる。RSUグループ1 6001及びRSUグループ3 6003によってチャネル干渉はもたらされない。RSUグループ600内では、各移動車両110はサブチャネル(チャネル)と共にタイムスロットに割り当てられている。これにより、常に1つの移動車両110のみに送信されることが確実になる。たとえば、図7において、第1の車両にはチャネル2、タイムスロット4が割り当てられており、第2の車両にはチャネル2、タイムスロット1が割り当てられている。
【0077】
図8は、RSU100がアプリケーション/情報サーバとしてのみ作用するアドホックネットワークを示す。このアドホックネットワークは、RSU100と、バックボーン200、たとえばインターネットと、移動車両110とを含む。RSU100は、4つのネットワーク階層、すなわちネットワーク層210、MAC層215、物理層220及びアプリケーション層800を含む。バックボーン200は少なくとも1つのルータを含む。
【0078】
この構成では、RSU100はいかなるルーティング機能も有しない。RSU100は、パブリックドメインのエンドホストとして機能する。RSU100は、アプリケーションサーバ、情報記憶デバイス、又はたとえば地方公告、リアルタイム交通管理若しくは地図更新等のサービスプロバイダである。各移動車両110には、RSU100によりプライベートIPアドレスが割り当てられ、各移動車両110はRSU100を使用してバックボーン200にアクセスすることができる。RSU100は、プライベートIPのネットワークアクセス変換(Network Access Translation)を提供することにより、バックボーン200へのアクセスを提供する。RSU100は、アプリケーションサーバとしてのみ作用する場合、移動車両110の移動度をサポートしたり検出したりできない。
【0079】
図9は、RSU100がアプリケーション/情報サーバ及びルータの両方として機能するアドホックネットワークを示す。このアドホックネットワークは、RSU100と、バックボーン200、たとえばインターネットと、移動車両110とを含む。RSU100は、4つのネットワーク階層、すなわちネットワーク層210、MAC層215、物理層220及びアプリケーション層800と共に、RSU100と同じ場所に配置されているルータを含む。
【0080】
このアーキテクチャには、NATすなわちプライベートIPアドレスの割当ては不要である。車両にはパブリックIPアドレスを割り当てることができ、それによりインターネットへのアクセスが容易になる。このアーキテクチャに必要なRSU100は、ルータ及びアプリケーションサーバの両方として機能するため、十分な計算能力を有する。RSU100を、リモートAP330とともに使用してもよく、又はリモートAP330なしで使用してもよい。
【0081】
図10は、RSU100がルータ及びアプリケーションサーバの両方として機能しているアドホックネットワークの一例を示す。図10に示すように、RSU1 1001及びRSU2 1002はそれぞれ、バックボーン200のルータ1010及び1020にアクセスすることができる。RSU1 1001及びRSU2 1002は、ルータ1030及びアプリケーションサービス1040から構成されている。さらに、ネットワークは、RSU1 1001に対するリモートAP1 3301〜AP5 3305及びRSU2 1002に対するAP6 3306〜AP10 33010を含む。図10は、図3B及び図3Cに類似しているが、RSU100は、図示されているルーティング機能のみではなく、ルータ機能及びアプリケーション機能を有する。さらに、図10に示す構成は、ハブがスイッチ320(図3Bに示すように)であってもよく、又はブリッジバス340(図3Cに示すように)であってもよいことを示している。スイッチ320又はブリッジバス340のいずれかの選択は、いくつかの設計因子、たとえば、遅延時間性能及び設備稼働率等のシステム工学設計パラメータ及びコスト又はサポートされるべきサービス等のシステム要件によって決まる。
【0082】
別の実施形態では、図4〜図7に示すアーキテクチャを、RSU100にアプリケーションサービス1040を追加することによって、RSU100に対しアプリケーションサーバ及びルータの機能を含むように変更することができる。
【0083】
本発明の一実施形態では、RSU100は、LPG115内のノードであり得る。LPG115の目的は、隣接するノード間の連携の程度(degrees of coordination)を構築することである。これらの隣接するノードは、無線通信能力を有する移動デバイスか又は固定ノードである。移動無線デバイス又はノードは、PDA、ラップトップ、携帯電話、もしくは無線デバイスが取り付けられるか又は内蔵されている移動車両であってもよい。好ましい実施形態では、移動無線デバイスは、関連付けられる通信デバイスが内部に設置されているか又は独立して持ち込まれる移動車両110、及び通信デバイスを携帯している歩行者である。本明細書における無線デバイスは、まとめて任意のノード又は移動車両110と呼ばれる。1つのローカルピアグループを編成している、直近のノード間での通信にはLPG内通信が使用される。近隣のノード間、すなわち隣接する異なるローカルピアグループに属するノード間での通信にはLPG間通信が使用される。
【0084】
いくつかのタイプのLPG115、すなわち固定(stationary)LPG、動的(dynamic)LPG及びハイブリッドLPGがある。固定LPGは、特定の位置又はエリアにより画定され、すなわち、ノードは、たとえばエリアAを画定するエリアにある場合、LPG
Aに所属する。ノードは、異なるエリア、たとえばエリアBにある場合、LPG Bに所属し、他も同様である。固定LPGの詳細なサイズは、さまざまな要素、たとえば無線アンテナの範囲、通信範囲、移動デバイスの数、土地の地形、環境状態、交通パターン及び人口密度に依存する、設計上の選択である。固定LPGの位置及びサイズは固定である。しかしながら、場所が異なると交通パターン及び人口(移動車両110)密度が異なるため、各固定LPGのサイズが異なってもよい。RSU100が所定のLPG115内にある場合、そのRSU100の無線範囲によって、固定LPGのサイズが画定される。
【0085】
RSU100を使用することにより、移動車両110は、RSU100からのハートビート制御パケット1700か又はAP330からのビーコンをヒアリングすることにより、固定LPGの位置を検出することができる。移動車両110は、位置を変更する際に固定LPGを変更する。代替的に、移動車両は、LPG115及びそれらの位置のデータベースを有している。別の実施形態では、所与のエリア内に複数のRSU100がある場合、少なくとも1つのRSU100が隣接する他のRSU100の相対位置又は位置に関する情報を提供することにより、移動車両100が迅速にLPG115の位置を特定することができるようにして、複数のLPG115間のハンドオフを容易にすることができる。
【0086】
固定LPGは、いくつかのLPG115が空であるか、又はLPG115内に多くの移動車両110がない場合であっても、バックボーンアクセス又はLPG間通信を提供するように無線インフラストラクチャとの統合をサポートするという、重要な利点を有している。各固定LPGには、通信を容易にするように一意の識別子が割り当てられている。すべての固定LPGエリアが適切に画定されているため、LPG115の形成及び命名は動的LPGより容易である。さらに、固定LPGを使用する場合、LPG115の併合及び分割に関する規則は問題ではない。
【0087】
第2のタイプのLPG115は動的LPGである。固定LPGとは反対に、動的LPGは、隣接するノードの無線有効範囲に基づいて形成され、それにより、ノードは、他のノードの正確な位置を考慮することなく通信を調整することができる。
【0088】
動的LPGは無線有効範囲に基づいて形成されるため、LPG115内の移動車両110は、常に、シングルホップ又はマルチホップ伝送を介して互いに且つRSU100と通信することができる。LPG115内の1つのノードは、通信を低遅延で効率よく実行することができるように、各LPG115内のノードの数、又は代替的にこのノードから動的LPGの端までの無線ホップの数を適度に少なく維持するために、動的LPGのサイズを制御することができる。このノードを、後に詳細に説明するようにグループヘッダ(GH)と呼ぶ。さらに、固定LPGとは対照的に、動的LPGは、各LPG115内で通信が常に可能であることを確実にする。動的LPGでは、固定LPGとは異なり、LPG115を、RSU100無線範囲外に形成することができる。
【0089】
一実施形態では、1つ又は複数の固定LPGもしくは1つ又は複数の動的LPGから、アドホックピア・ツー・ピアネットワークを作成することができる。別の実施形態では、アドホックピア・ツー・ピアネットワークを、ハイブリッドLPGネットワークとして固定LPG及び動的LPGの両方から作成することができる。ハイブリッドLPGネットワークは、固定LPG及び動的LPGの利点を組み合わせながら、それぞれを別個に採用した場合にもたらされる問題を取り除く。
【0090】
ハイブリッド手法は、道路地形を利用する。特に、インフラストラクチャが利用可能でない場合、動的LPGを使用してネットワークを形成する。いくつかのエリアにおいてインフラストラクチャが利用可能となると、固定LPGを使用して、動的LPG及びインフラストラクチャとのネットワークを形成することができる。たとえば、道路インフラストラクチャ等のインフラストラクチャは、路車間通信又は道路支援通信を可能とする。
【0091】
一実施形態では、RSU100は、LPG115内のノードであってもよく、移動車両110と同様のネットワーク機能を実行することができる。RSU100は、グループヘッダ(GH)1300ノード又はグループノード(GN)1500のいずれかとしてLPG115に参加することができる。GH1300は、ノードのいかなる順序付け又はいかなるインフラストラクチャもなしにLPG115を維持し制御するように指定される、LPG115内の移動デバイス又はノードである。通常、LPG115内にはGH1300は1つしかない。LPG115内の他のすべてのノードは、一般的なノードすなわちグループノード(「GN」)1500である。GN1500は、GH1300を通じてLPG115に参加する。
【0092】
各RSU100は、上述したようなルータ及びアプリケーションサーバに加えて、GH1300又はGN1500として動作することができる。したがって、各RSU100は、ノードがそれぞれGH1300又はGN1500として機能するか又は動作するのを可能にする、要素又は手段及びネットワーキングプロトコルを有している。したがって、R
SU100がGH1300又はGN1500のいずれかとして動作する場合であっても、GH1300及びGN1500の両方に対し構造的要素又は手段のすべてが存在するが、特定の要素のみが動作のモードに基づいて機能する。したがって、RSU100は、GH1300又はGN1500の機能を提供するハードウェア及びソフトウェアの両方を有している。
【0093】
図11は、RSU100の基本要素のブロック図を示す。RSUは、メモリセクション1100、クロック1105、タイマ1110、送受信セクション1120、制御手段1125及び電源1130を含む。メモリセクション1100は、DRAM、SRAM又はフラッシュを含むいかなるタイプのメモリであってもよい。好ましい実施形態では、短期メモリはキャッシュである。メモリセクション1100は、GID1705、グループヘッダID1710、グループリスト、所定最大LPGサイズ、LPGにおけるノードの数及び他のタイプの制御パラメータ等、LPGに関する情報を格納する。
【0094】
RSU100のタイミングの維持にクロック1105が使用される。特に、クロック1105は、内部クロックとして機能し、タイマ1110を設定するための基準として使用される。タイマ1110は、さまざまなメッセージをいつブロードキャストすべきかを判定するために使用され、すなわち、GH1300の場合のハートビート間隔(T)又はGN1500の場合の応答メッセージを判定する。制御手段1125又はマイクロプロセッサは、メッセージの生成、ルーティング及びタイマを含む、RSU100のプロセスのすべてを制御する。さらに、制御手段1125はまた、後に詳細に説明するヘッダ解決にも関与している。送受信セクション1120は制御手段1125と協働して、メモリセクション1100に格納されているデータからメッセージを作成又は生成する役割を果たす。
【0095】
RSU100は、ビーコン又はハートビート制御パケット1700を、RSUの無線範囲内のすべての移動車両110及び他のRSUに定期的に送信する。この期間は固定間隔である。ハートビート間隔(T)の値は、設計又は動作の必要に基づいて選択可能である。
【0096】
LPG115がRSU100の近くまで移動すると、ヘッダ解決プロトコルに基づいてGH1300が選出される。LPG115のGH1300である移動車両は、V−Vチャネル及びV−Rチャネルの両方にハートビート制御パケット1700を送出する。同様にGH1300として機能するRSU100は、そのハートビートをV−Rチャネルにのみ送出する。2つ以上のGH1300、たとえばLPG115からのGH1300及びRSU100がハートビート制御パケット1700を送信すると、ヘッダ解決が発生する。これは、同じLPG115内に複数のGH1300があるのを回避するためであり、それは、同じLPG115に複数のGH1300があると、冗長な(混乱させる可能性さえある)制御信号がLPG115内で送信されるか又はブロードキャストされ、帯域幅及び容量を浪費することになるためである。ヘッダ解決は、少なくとも2つのGHから1つのGH1300を選択するように機能する。
【0097】
図12は、ヘッダ解決方法を示す。ステップ1200において、LPG115のGH1300及びRSU100が共に、互いのハートビート制御パケット1700を受信すると、ヘッダ解決メッセージを生成する。これは、RSU100及び任意のGH1300に対し、ヘッダ解決モードで動作するように通知する。ステップ1210のように、所定選択基準に基づいて新たなGHが選択される。好ましい実施形態では、RSU100が、新たなGHとして選択される。そして、ステップ1220において、RSU100は、新たなハートビート制御パケット1700を無線範囲内の任意のノードに送信し、RSU100がGH1300であることを示す。ハートビート制御パケット1700が、V−Rチャネルを介して再び送信される。ステップ1230において、他のノードが、RSU100を
介してLPG115に参加する。
【0098】
図13は、移動車両110のみを含む動的LPGがRSU100に近接するように移動した時のRSU100を含むLPG115の形成を示す。動的LPGの場合、LPG115を、RSU100サービスエリア1310外で形成することができる。最初は、少なくとも1つの移動車両110からGH1300が選択される。LPG115がRSU無線範囲内に移動すると、RSU100はLPG115に参加する。RSU100は最初に、GH1300として機能し、ハートビート制御パケット1700を送出する。RSU100とGHA1300Aとの間にヘッダ解決が発生する。好ましい実施形態では、RSU100がGHA1300Aを超える優先権を有し、LPG115に対して唯一のGH1300となる。
【0099】
LPG115が、複数のRSU100、たとえばリンクされたRSU100又はRSUグループ600に近接するように移動すると、1つのRSU100のみがGH1300になる。他のRSUはGN1500になる。再びヘッダ解決が発生し、RSU GHの選択は、所定の優先権に基づいてもよく、又はRSU IPアドレスの何らかのハッシュ関数によってもよく、又はGH1300の年功によってもよい(たとえば、GHの古さ(age)が比較され、最も古いGHが勝ちGHとして選択される)。
【0100】
2つ以上のLPG115内に1つのRSU100があってもよい。通常、各LPG115は、その中に、GH1300として機能している1つのRSU100を有することができる。1つのRSU100が、その有効範囲内の複数のLPG115に対するGH1300となることも可能である。同じLPG115内の他のRSUがGN1500になることが可能である。
【0101】
一実施形態では、同じGH1300、すなわちRSU100を有する複数のLPG115が、同じRSU100を有する別個のLPGとして維持されることができる。代替的に、複数のLPGが互いに併合して1つのより大きいLPG115を形成することができる。LPG115のサイズが最大サイズ限度を超えると、LPGは2つの別個のLPGに分かれる。
【0102】
固定LPGの場合、LPG115は、RSU100の無線範囲外に存在しない。したがって、LPGはRSUの位置によって画定される。移動車両は、RSU100を介してGNとしてLPGに参加する。RSU100は、自動的にGHとなる。RSU GHは事前に既知であるか、他のRSU110を通じて発見されるか、又はRSU GHハートビート制御パケット1700を受信することによって発見される。固定LPGの場合、移動車両110自体はLPGを形成せず、したがってRSU無線範囲外にGHがないため、RSU100と移動車両との間にヘッダ解決は不要である。
【0103】
図14は、2つの固定LPG115の形成を示す。図示するように、RSU1 1001及びRSU1 1002はそれぞれ所定の無線範囲を有している。移動車両1及び2(1101及び1102)は、無線範囲内に移動すると、RSU1 1001を介してLPG1 1151に参加する。同様に、移動車両3 1103は、RSU2 1002を介してLPG2 1152に参加する。車両BN1400は、複数のRSU1001及び1002をヒアリングすることができ、2つのLPGの間の境界ノード(Boundary Node)になる。境界ノードは、LPG間中継ポイントとして機能する。この場合、車両BN1400は、いずれのLPG(LPG1 1151及び1152)に参加すべきかを選択することができる。
【0104】
ハイブリッドLPGの場合、RSU100は固定LPG位置の境界を画定する。RSU
100の位置が既知であり、したがって、固定LPGの位置が既知である。移動車両110は、固定LPGエリア外になると、移動車両110であるGH1300を有する動的LPGを形成する。動的LPG内の1つ又は複数のノードがRSU100と接触すると、LPG全体が、GH1300としてRSU100を含む固定LPGに参加し、好ましい実施形態ではGN1500となる。
【0105】
一実施形態では、動的LPGメンバ間のV−Vチャネルを使用して、LPG内通信が発生する。LPG間通信は、V−Rチャネル及びV−Vチャネルを使用して、異なる動的LPGのメンバとRSU100との間で発生する。
【0106】
別の実施形態では、RSU100は、GN1500としてLPG115に参加することができる。この実施形態では、移動車両GH1300とRSU100との間のヘッダ解決により、車両GH1300がLPG115に対する新たなGHとして選択されることとなる。
【0107】
図15は、移動車両110のみを含む動的LPGがRSU100に近接するように移動する場合のRSU100を含むLPG1 1151の形成を示す。最初に、少なくとも1つの移動車両110からGH1300が選択される。図15に示すように、GH1300はGHA1300Aである。LPG115がRSU無線範囲内に移動すると、RSU100はLPG115に参加してLPG1 1001を形成する。GHA1300Aは、最初にGH1300として機能し、ハートビート制御パケット1700を送出する。RSU100とGHA1300Aとの間でヘッダ解決が発生する。この実施形態によれば、GHA1300Aが、RSU100を超える優先権を有し、LPG1 1151に対する唯一のGH1300となる。図15の破線は、新たなLPGを表している。RSU100はRSU GN1500としてLPG1 1151に参加する。
【0108】
LPG1 1151が他のRSU100と接触すると、すべてのRSU100がLPG1 1151のGN1500となる。LPG115の最大サイズに達すると、LPGは2つ以上のLPGに分かれる。固定LPGの場合、LPGはRSU100の無線範囲外に存在しない。したがって、LPG115は、RSU位置によって画定される。移動車両110は、GH1300としてLPG115に参加する。RSU100は、LPG115内でGN1500となる。RSU GHは、事前に既知であるか、他のRSU100を通じて発見されるか、又はRSU GHハートビート制御パケット1700が受信されることによって発見される。固定LPGでは、RSU100と移動車両110との間でヘッダ解決は不要である。
【0109】
図16は、RSU100がGN1500となる2つの固定LPG115の形成を示す。図示するように、RSU1 1001及びRSU2 1002はそれぞれ、所定の無線範囲を有している。GH1300のみが、ハートビート制御パケット1700を定期的に送出して、LPG115の形成を維持する。GN1500は、次のハートビート制御パケット1700を待つようにタイマをセットする。この場合、移動車両GH1300が、ハートビート制御パケット1700を定期的に送出する。各RSU100(GNとして機能する)は、ハートビート制御パケット1700を受信する(すなわち、GHの無線範囲内になる)と、次のハートビート制御パケット1700を待つようにタイマをセットする。ハートビート制御パケット1700がHB期間内に受信されない場合、GN1500のうちの1つが、LPG115に対するGH機能を引き継ぐ。局所的な周辺に2つ以上のGH1300がある場合、GHは、同じLPG115に対するものであるが自身が発したのではないハートビート制御パケット1700をヒアリングする。この場合、1つのGH1300のみが、局所的な周辺にLPG115を維持するために選択されるべきである。競合するGH間でヘッダ解決手続きが使用されて、勝ちのGHが選択される。
【0110】
形成後、GH1300(移動車両)は、V−Vチャネル及びV−Rチャネル上にハートビート制御パケット1700を送出する。すべてのGN1500が、V−Vチャネル及びV−Rチャネル上でハートビート制御パケット1700を転送する。ハートビート制御パケット1700がヒアリングされると、ノードは、移動車両であってもRSU100であっても、参加メッセージを介してLPG115に参加する。
【0111】
別の実施形態では、RSU100は、特別な中継ノード(RYN)としてLPG115に参加することができる。RSU100は、GH1300を介してLPGに参加する。GH1300は、特別なノードとしてメンバシップリストにRSU100を追加する。RYN、すなわち特別な中継ノードは、LPG115内の車両に対して、バックアップ経路として、又は重複するストリーム若しくはマルチパスストリーム用の経路としてのみ使用される。この場合、RYNはLPG115の一部であるが、すべてのメッセージは中継せず、又はすべての形成若しくは編成制御メッセージに積極的には関与しない。したがって、LPGがRSU100エリアを出入りする際、LPG構造を維持することができる。RYNは、中継ノードとして使用されることが可能であること又はその意志があることを示す特別なステータスインジケータを有することができる。この特別なステータスインジケータを使用して、RSU100に対する負荷を制御し主なボトルネックを回避することができる。RSU100に対する負荷が高い場合、ボトルネックが発生する。RSU100に対する負荷が高い時、RSU100は、特別なステータスインジケータが、RSU100が中継ノードとなる意志がないことを示すようにする。したがって、RSU100又はRYNは、ルーティングテーブル2300に残ることができるが、常にアクティブであるとは限らない。一実施形態では、RSU100又はRYNは、その無線有効範囲内のすべてのノードに対し特別なステータスインジケータを事前にブロードキャストすることができる。ノードは、RSU100又はRYNのステータスを含むようにルーティングテーブル2300を更新し、すなわち、ルーティングテーブル2300は、ステータスに対する追加のエントリ、すなわちアクティブか否かを含む。
【0112】
本発明の別の実施形態では、ステータスインジケータは、いずれのタイプのパケットをRSU100又はRYNによってルーティングすることができるかを選択的に判定するパラメータを含むことができる。たとえば、RSU100は、マルチキャストパケットのみを中継することができ、ユニキャストパケットは中継することができなくてもよい。RSU100又はRYNは、その無線有効範囲内のすべてのノードに対し、パケットタイプ情報と共にステータスインジケータを事前にブロードキャストすることができる。すべてのノードが、RSU100又はRYNのパケットタイプ情報を含むようにルーティングテーブル2300を更新し、すなわち、ルーティングテーブル2300は、タイプに対する追加のエントリ、すなわちユニキャスト、マルチキャスト又はブロードキャストを含む。ノードは、RSU100であっても移動車両110であっても、GH1300として機能していてもGN1500として機能していても、メッセージをルーティングするために使用することが可能である。ルーティングには主に2つのタイプ、ユニキャスト及びマルチキャストがある。
【0113】
<ユニキャスト>
ユニキャストルーティングプロトコルは、各ノード内でルーティングテーブル2300を作成することに基づく。ルーティングテーブル2300は、メッセージ又はパケットについての少なくとも宛先及び次ホップを少なくとも含む。LPG115内のすべての移動車両110が、ルーティング機能を実行し、他の車両がシングルホップ又はマルチホップのいずれかで通信するのを支援する。LPG内ルーティングテーブル2300は、LPG形成メッセージを使用して制御パケットをブロードキャストモードで交換することによって構成される。ユニキャストルーティングには追加の制御メッセージは不要である。LP
G115形成に使用される同じ制御パケットが、ルーティングプロトコルのためのルーティングテーブル2300を作成し、維持し、更新するために使用される。ルーティングテーブル2300は、LPG内ルーティングに使用される。LPG識別子がすべての制御パケットに埋め込まれることにより、不要なノードに外部制御パケットが伝播するのが防止される。外部制御パケットはすべて、終了するか又は中継されない。
【0114】
制御パケットメッセージは、GH1300からのハートビート(HB)及びGN1500からのメンバシップレポート(MR)である。ハートビート制御パケット1700は、LPGの領域を画定する。
【0115】
図17は、ハートビート制御パケット1700のフォーマットの一例を示す。ハートビート制御パケット1700は、LPG識別子すなわちGID1705及びグループヘッダID1710の両方を含む一意の識別子を含む。
【0116】
GID1705及びグループヘッダID1710は、各LPG115を識別する。GID1705にはいくつかのフォーマットがあり得る。一実施形態では、GID1705は、LPG115に対してランダムに選択された識別番号であってもよい。代替的に、GID1705は、LPGの形成の順序に基づいて割り当てられた識別番号であってもよい。たとえば、第1のLPGは、LPG1というGID1705を有してもよく、第2のLPGはLPG2であり、以下同様である。しかしながら、GH1300が変化すると、GID1705も同様に変化し、その結果、ノードは、そのLPGが変化したのか、単にLPG115のIDが変化したのかを識別できなくなる。他方で、GHが離れる時に、GID1705を元のIDに固定してもよい。しかしながら、これにより、単一LPGが分割する場合にGID1705が重複する可能性がある。2つ以上のグループが同じGID1705を有することになる。一実施形態では、GID1705は、LPG115を一意に識別するためにLPG ID番号及びGH ID番号の両方に基づいて符号化される。
【0117】
GH1300にはグループヘッダID1710が与えられる。最初に、GID1705は、グループヘッダID1710に結び付けられる。したがって、グループヘッダID1710は、最初は、GID1705の一部として使用されるが、GHが変化すると、GID1705は新たなグループヘッダID1710を含むように変化する。各GHにはグループヘッダID1710が割り当てられる。グループヘッダID1710は、(パブリック又はプライベート)IPアドレスに基づいて割り当てられる。図17に示すように、グループヘッダID1710はIPv6IPアドレスである。別の実施形態では、グループヘッダID1710はIPv4アドレスであってもよい。
【0118】
ハートビート制御パケット1700はまた、シーケンス番号(Seq.No.)1715も含む。Seq.No.1715は、ハートビート制御パケット1700の順序を追跡して、受信されたハートビート制御パケット1700が新しいすなわち新着(fresh)である否かを判定するために使用される。GN1500は、受信したハートビート制御パケット1700のSeq.No1715を記憶している。新たなすなわち新着のハートビート制御パケット1700は、次のSeq.No.1715を有する第1のハートビート制御パケット1700によって示される。シーケンス番号1715はまた、いずれのハードビート制御パケット1700が(次のホップノードに)中継されるべきかを判定するためにも使用され、すなわち、FCRO(first come relay only)(先着のみ中継)戦略を使用することができる。新たな(すなわち新着の)ハートビート制御パケット1700のみが中継されるべきである。ノードは、先のシーケンス番号を記憶しており、ハートビート制御パケット1700の着信シーケンス番号を比較することにより、ハートビート制御パケット1700が新しいすなわち新着であるか否かを判定する。適当なGID1705を有するハートビート制御パケット1700のSeq.No.1715が、現時点で格納
されているシーケンス番号より大きい場合、それは、新たなすなわち新着のハートビート制御パケット1700であり、FCROが使用される場合、中継される。GNに先に格納されていたシーケンス番号は、破棄され、新たなSeq.No.1715に置き換えられる。
【0119】
ハートビート制御パケット1700は、ハートビート期間(HB期間)1720に関する情報をさらに含む。この期間は固定間隔(T)である。間隔(T)の値は、設計又は動作の必要に基づいて選択可能である。HB期間1720は、すべてのGN1500に対し、次のハートビート制御パケット1700がいつブロードキャストされるかを示す。GN1500は、HB期間1720内にハートビート制御パケット1700を受信しない場合、新たなハートビート制御パケット1700を送信し、それにより、ハートビート制御パケット1700は連続的に送信される。元のGH1300が依然としてLPG115にある場合、ヘッダ解決が発生する。制御オーバーヘッドを低減するために、GH13はHB期間1720を調整することができる。調整は、LPGのサイズ、LPG内のノードの位置、負荷、速度及び数に基づくことができる。
【0120】
ハートビート制御パケット1700はまた、ハートビート制御パケット1700のタイプ、たとえば完全なグループリストを有するハートビート、徐々に増加するグループリストを含むハートビート、又はグループリストのないハートビートも含む。一実施形態では、ハートビート制御パケット1700は、すべてのパケットに完全なグループリストを含む。完全なグループリストを使用することは、ルーティングを制御しグループメンバの正しいリストを維持する最も正確な方法であるが、完全なグループを有するハートビート制御パケット1700に対して大量の帯域幅が必要である。ハートビート間隔(T)を、制御オーバーヘッドを低減するように調整することができる。別の実施形態では、すべての第nのハートビート制御パケット1700が完全なグループリストを含む。たとえば、各第3のハートビート制御パケット1700が完全なグループリストを含む。これにより、平均ハートビート制御パケット1700に対する帯域幅が低減する。しかしながら、LPG115内のノードの大部分が急速なペースで移動しているため、受信されるグループリストは古くなっている可能性がある。言い換えれば、新たなグループリストがノードによって受信される時まで、グループのいくつかのメンバは別のLPG115内にある可能性がある。別の実施形態では、徐々に進行するか(progressive)又は徐々に増加する(incremental)グループリストを配信することができる。グループリストにメンバシップの変更がある場合にのみ、グループリストは配信される。徐々に進行するか又は徐々に増加するグループリストにもまた、メンバシップリストが古くなる可能性がある。代替的に、ハートビート制御パケット1700のタイプはハイブリッドグループリスト更新であってもよい。メンバシップに変更がある場合に、ハートビート制御パケット1700に徐々に進行するグループリストを含めることができ、さらにすべての第nのハートビート制御パケット1700に完全なグループリストを含めることができる。ToHb1725は、ハートビート制御パケット1700のタイプを示す。ハートビート制御パケット1700のタイプは、LPG115のトポロジ変化の速度及びハートビート制御パケット1700のブロードキャストの頻度によって影響を受ける。LPG115のトポロジ変化の速度が増大すると、すべてのハートビート制御パケット1700に完全なグループリストを含める必要が増大する。ハートビート制御パケット1700のブロードキャストの頻度が増大すると、すべてのハートビート制御パケット1700に完全なグループリストを含める必要が低減する。
【0121】
ハートビート制御パケット1700は、GHからのホップカウント(HC)1730を含む。最初、HC1730は所定値、たとえば1に設定されている。ハートビート制御パケット1700がノードによって中継される度に、中継ノードはHC1730の値を1だけ増加させ、すなわちHC=HC+1となる。HC値を使用して、LPGサイズを制限し
、ハートビート制御パケット1700内の情報の古さを示すと共に、オーバーヘッドを低減するように制御パケットのルーティングを制御することができる。各LPGに対し、ルーティングの最大ホップカウントたとえば10がある。HC1730が最大ホップカウントまでインクリメントされると、制御パケット、たとえばハートビート制御パケット1700は中継されない。
【0122】
最大ホップカウント、HC1730及びSeq.No.1715を使用することにより、LPG115内の制御パケットのフラッディングの無限の重複が防止される。フラッディングは、グループ内のすべてのノードによってパケットが配信されるパケット配信方法である。ネットワーク密度が高い場合には、フラッディングにより不要な数の重複中継が発生する。ネットワーク内の各すべてのノードがフラッディングパケット中継に参加し、各ノードがこれらのパケットをそのリンクのすべてに中継する。
【0123】
ホップカウントはまた、中継戦略に使用することもできる。一実施形態では、ハートビート制御パケット1700は、最も短いホップカウントを有する場合に中継される。この方法により正しいホップカウントが保証されるが、待ち遅延がある。ノードは、ハートビート制御パケット1700に対する最短ホップカウントを判定しなければならないため、ハートビート制御パケット1700を中継する前に、すべてのアップストリームノードからハートビート制御パケット1700を受信するまで待たなければならない。したがって、最短ホップカウント及び上述した先着のみ中継戦略の両方を使用して、結合された中継戦略を実装することができる。ハートビート制御パケット1700は、ノードがより短いホップのハートビート制御パケット1700を受信するまで、先着のみ中継戦略を使用して中継される。ノードAは、ハートビート制御パケット1700を転送する時、メッセージにID情報を含め、それにより、次ホップノードは、何がハートビート制御パケット1700を中継したかを知る。そして、パケットを転送しているノード(ノードA)は、ノードAからハートビート制御パケット1700を受信した次ホップノードに対するMR中継ノード(GH1300に向かってMR1800を送信する)となる。
【0124】
上述したように、ハートビート制御パケット1700は、グループリスト1735も含むことができる。グループリスト1735は、LPG115内のメンバの数、各メンバに対するIPアドレス、GHからのホップカウント及び分類のような、LPG115のメンバに関する情報を含むことができる。
【0125】
分類は、GHノードからの相対的な方向、たとえばアップリンク、ダウンリンク及びピアを指すコードであってもよい。ピア分類は、ノードがGHからの同じ無線サービスエリア内にあることを示し、すなわち、ピアノードのすべてがGHからの同じホップカウントを有する。アップストリームノードは、ハートビート制御パケット1700によって判定される。ダウンストリームノードは、メンバシップレポート(MR)に基づいて判定される。アップストリーム伝送は、GH1300に向かう通信を表し、ダウンストリーム伝送は、GH1300から離れる通信を表す。この分類は相対的な用語である。各GN1500は、その隣接するGNを3つの異なるクラスに分類することができる。GNは、別のGNのメンバシップレポートがそのGNのHCより1つ少ないホップカウント(HC)を有する場合、アップストリームノードである。HC1700がGN1500自体のHC1700と同じである場合、GN1500はピアである。HC1700がGN自体のHC1700より1大きい場合、GNはダウンストリームノードである。
【0126】
図18は、メンバシップレポート(MR)1800を示す。MR1800は、GH1300によって受信されるようにGN1500がブロードキャストする制御パケットである。MR1800は、メンバシップリスト、ダウンストリームノード識別及びダウンストリームノードに対する次ホップのような収集可能なルーティング情報を含む。MR1800
は、ハートビート制御パケット1700と同じ情報のうちのいくつか、すなわちGID1705及びグループヘッダID1710を含む。MR1800はまた、MR Seq.No1805も含む。MR Seq.No.1805は、ハートビート制御パケット1700のSeq.Noと同様であり、MRの順序を維持するために使用される。MR.Seq.No.1805は1つの特定のノードに対するMR順序である。通常、MR Seq.No.1805は、MR1800をトリガしたハートビート制御パケット1700のSeq.No.1715と同じ値を有する。
【0127】
MR1800には、発信ノード、すなわちMR1800を生成したノードのノードID1810も含まれている。
【0128】
MR1800は、次ホップ中継ID1815も含む。次ホップ中継ID1815は、GH1300に向かうMR1800に対する中継命令である。次ホップ情報は、受信されたハートビート制御パケット1700から直接判定される。ノードは、新たなすなわち新着のハートビート制御パケット1700を受信すると、いかなるパケット処理をも行う前に、IP層及びMAC層から以前の中継ノードの識別を再取得する。以前の中継ノードの識別は、メモリに格納されており、MR1800に対する次ホップ中継ID1815として使用される。ノードは、ハートビート制御パケット1700を転送する時、パケットにそのIDを含める。受信側の次ホップノードは、新たなすなわち新着のハートビート制御パケット1700を受信すると、このIDを、GH1300に到達するための次ホップ中継IDとして格納する。新たなすなわち新着のハートビート制御パケット1700は、HCが最低なより新しいシーケンス番号を有するパケットである。
【0129】
MR1800はまた、「MRのタイプ指標」ToMR1820も含む。MR1800には2つのタイプ、すなわち単一メンバのレポートと統合された複数メンバのレポートとがある。単一メンバMRは、発信ノードからのMR1800のみを含む。統合複数メンバレポートは、2つ以上のノードのMR1800を含む。統合レポートを使用して、制御パケットに必要なオーバーヘッド及び帯域幅を低減することができる。複数のMRを含む1つのMR1800が送信される。
【0130】
さらに、MR1800は、GHからのホップカウント(HCGH)1825を含むことができる。(HCGH)1825は、GH1300からMR1800の発信ノードまでのHC値である。別の実施形態では、MR1800は、累積メンバシップリスト1830と他の追加の情報1835とを含むことができる。累積メンバシップリスト1830は、LPGのメンバのIPアドレス、メンバの数及び対応するホップカウントを含む。
【0131】
MR1800を、逆経路又は逆フラッディング方法を使用してGH1300に配信又は中継することができる。逆経路方法は、ハートビート制御パケット1700を中継するために使用されたものと同じ経路を使用して、MR1800をGH1300に向かって中継する。MR1800が中継される時、中継ノードは、次ホップ中継1815をGHに向かうその次ホップに置き換える。対応するIDを有するノードのみが、MR1800パケットを中継する。この方法により、伝送の対称性が保証される。非対称リンクが存在する場合、逆フラッディング方法が使用され、すなわち、発信ノードとGH1300との間のすべてのノードがMR1800を中継する。
【0132】
各ノードは、ハートビート制御パケット1700及びMR1800の両方を使用して、LPGベースのルーティングのための転送テーブルとして使用可能なルーティングテーブル2300を作成する。好ましい実施形態では、各ハートビート制御パケット1700は、完全なグループリストを有し、LPG115内のすべてのGN1500が、それに対してMR1800で応答する。ハートビート制御パケット1700は、先着のみ中継方法を
使用して中継され、MR1800は、単一MRとして逆経路方法を使用してGH1300に向かって中継される。
【0133】
図19は、ユニキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードは、ステップ1900においてアイドル状態である。ステップ1901においてパケットが到着すると、ステップ1902において、ノードは、パケットがハートビート制御パケット1700であるか又はMR1800であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。制御パケットがハートビート制御パケット1700である場合、ノードは、ステップ1903から始まるパケット処理を開始する。ステップ1903において、ノードは、パケットがネイティブ(native)であるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち同じGID1705を有する場合、ネイティブである。ノードは、GID1705を、メモリに格納されているグループ識別と比較する。GID1705が、メモリに格納されている識別と一致しない場合、ステップ1904において、ノードは、外部HB処理を開始する。通常、外部HB処理の結果、ノードはパケットを無視する。GIDがメモリに格納されている識別と一致する場合、ノードはその後、ハートビート制御パケット1700が順序通りであるか否かを判定する。ノードは、Seq.No.1715をメモリのシーケンス番号と比較する。ステップ1905において、Seq.No.1715がメモリに格納されている値より小さい場合、ノードはパケットを無視する。Seq.No.1715がメモリに格納されている値より大きい場合、ハートビート制御パケット1700は順序通りであり、ステップ1906において、ノードは、現シーケンス番号を最後に格納されたシーケンス番号と比較することによって、ハートビート制御パケット1700が新しいか否かを判定する。ノードが、メッセージが新しくないと判定する場合、ステップ1907において、送信者のルーティングエントリのみが更新される。ハートビート制御パケット1700は中継されない。ノードは、メッセージが新しいと判定した場合、ノードがGH1300であるか又はGN1500であるかに応じて、2つの機能のうちの1つを実行する。ステップ1908において、ノードタイプの判定を実行する。ノードがGH1300である場合、ステップ1909において、ノードは送信者のルーティングエントリを更新する。ハートビート制御パケット1700は中継されず、ノードはアイドル状態になる(1900)。しかしながら、ノードは、GN1500である場合、ステップ1910において、すべてのグループメンバエントリに対してルーティングテーブル2300を更新し、ハートビート制御パケット1700を中継する。ルーティングテーブル2300の更新については後により詳細に説明する。
【0134】
制御パケットがMR1800である場合、ノードはステップ1911から始まるパケット処理を開始する。ステップ1911において、ノードは、パケットがネイティブであるか否かを判定する。ノードは、GID1705をメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別に一致しない場合、ステップ1912において、ノードは外部MR処理を開始する。GIDがメモリに格納されている識別と一致する場合、ノードは、そのMR1800を送信したノードがLPG115のメンバであるか否かを判定する。ノードは、ノードID1810をメモリに格納されているメンバシップリストと比較する。一致がない場合、ステップ1914において、ノードはMR1800を中継のみする。MRは中継され、それにより、完全なハートビートサイクルを待つ必要なしに、新たなグループノードがLPGに参加することができる。MR1800を送信したノードが参加リストに列挙されていない場合、ノードを参加(joining)ノードとみなすことができる。ルーティングテーブル2300には参加ノードのルーティングエントリがない。一実施形態では、ノードは、MR1800をGH1300に向かって転送することができる。ノードは、ルーティングテーブル2300のいかなるエントリも更新しない。別の実施形態では、ノードは、(MRの)発信ノードを宛先リストに追加することができ、すなわち、発信ノードに対してルーティングエントリを予約することができる。ノ
ードは、中継ノード情報を次ホップとして保存することができ、新たなハートビート制御パケット1700がメンバとしての発信ノードによって受信される場合、ルーティングテーブル2300を、メモリにすでに格納されている情報で自動的に更新することができる。新たなルーティングエントリが最終決定されると、発信ノードをダウンストリームノードとして分類することができる。
【0135】
一致がある場合、ステップ1915において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、MR Seq.No1805をメモリのシーケンス番号と比較する。MR Seq.No1805がメモリに格納されている値より小さい場合、ノードはパケットを無視し、アイドル状態になる(1900)。MR Seq.No1805がメモリに格納されている値より大きいか又はそれと等しい場合、MR1800は順序通りであり、ノードは、ステップ1916において、ノードが現シーケンス番号の発信者からすでにMR1800を受信しているか否かを(最後に格納されたシーケンス番号を比較することにより)判定することにより、MR1800が新しいか否かを判定する。ノードが、メッセージが新しくないと判断する場合、ステップ1917において、送信者のルーティングエントリのみが更新される。MR1800は中継されない。ノードは、メッセージが新しいと判定する場合、ノードがGH1300であるかGN1500であるかに応じて、2つの機能のうちの1つを実行する。ステップ1918において、ノードタイプの判定が行われる。ノードがGH1300である場合、ステップ1919において、ノードは、直接の送信者及び発信者のルーティングエントリを更新する。MR1800は中継されず、ノードはアイドル状態になる1900。しかしながら、ノードは、GN1500である場合、ステップ1920において、送信者及び発信者についてルーティングテーブル2300を更新し、MR1800を中継する。ルーティングテーブル2300の更新については、後により詳細に説明する。
【0136】
図20及び図21は、ノードがハートビート制御パケット1700を受信したときのルーティングテーブル2300更新方法を示す。ステップ2000において、ノードが新着のハートビート制御パケット1700を受信すると、ステップ2005においてルーティングテーブル2300が更新される。ノードは、新着のハートビート制御パケット1700を受信すると、パケットがどこから来たか、すなわち直接の中継ノードを判定することができる。中継ノードは、GHに対する次ホップである。ステップ2100において、ノードは、GHに対する次ホップを更新する。次に、ステップ2105において、ノードは宛先リストを追加するか又は更新する。宛先リストは、LPG115のすべてのメンバのリストである。プロセスは、グループの元メンバのルーティング宛先を除去すること、及び新たなメンバに対するルーティングエントリを挿入することを含む。そして、ステップ2110において、ノードは、すべての宛先に対する次ホップをGH1300として設定する。GH1300は、最初はすべての宛先に対する次ホップである。次ホップは、LPG115に関するより多くの情報が利用可能となるにつれて変化する。そして、ステップ2010において、ノードは、情報の新鮮度(freshness)指標を更新する。特に、ノードは、ハートビート制御パケットを追跡するためにタイマをリセットする。ノードはまた、シーケンス番号をメモリに格納し、古くなった情報を破棄する。そして、ステップ2015において、ノードはホップカウントを1インクリメントする。さらに、ノードは、ハートビート制御パケット1700を中継する前に、ステップ2020において、それ自体のIPアドレスを、GHへの次ホップとしてパケットに挿入する。ステップ2025において、ノードは、ステップ2000〜2020で説明したパケット処理後にメッセージを中継する。
【0137】
ステップ2000において、ノードが重複したハートビート制御パケット1700を受信すると、ステップ2030において、ルーティングテーブル2300の直接の送信側のエントリのみが更新される。更新は、図21のステップ2100〜2110で説明した更
新プロセスを含む。さらに、ステップ2035において、新鮮度指標もまた更新される。
【0138】
新着のMR1800を受信する時はいつでも、ノードは、MR1800からの情報を使用してルーティングテーブル2300を変更する。MR1800は、よりよいルーティングルートをもたらす追加のルーティング情報を提供する。各ノードは、すべてのダウンストリームノード、1ホップ離れたアップストリームノード又はピアノードからMRをヒアリングすることができる。ダウンストリームノード及びアップストリームノードの場合、ノードは、1ホップ内のすべてのノードのMR1800をヒアリングすることができる。ルーティングテーブル2300は、MRの中継ノードを対応するルーティングエントリの次ホップに設定することによって更新される。ノードは、MRの発信者のルーティングエントリを検査する。次ホップが中継ノードでない場合、エントリが変更される。さらに、直接の送信者のルーティングエントリが更新され、直接接続、すなわち宛先への次ホップは、宛先である。MR1800に関連付けられるルーティングエントリに対する新鮮度指標が更新され、MR1800を送信する発信ノードのシーケンス番号が更新される。ルーティングテーブル2300は、ハートビート制御パケット1700及びMR1800が共に受信された後にのみ完成する。したがって、ルーティングテーブル2300は、完成した後にメッセージを転送するためにのみ使用される。更新プロセス中、先のルーティングテーブル2300が転送テーブルとして使用される。
【0139】
転送テーブルは、パケット転送に使用されるルーティング情報である。内部ルーティングテーブル2300の構成が完了した後、ノードは、新たなルーティングデータを使用するパケット転送を可能にするように転送テーブルをリセットする。
【0140】
図22は、ユニキャストIPパケット転送に対する有限状態機械を示す。ノードの初期状態はアイドル2200である。ユニキャストパケットが到着すると、ノードは、パケットの最終宛先がそのノードであるか否かを判定する(状態2205)。最終宛先が一致すると、すなわち、パケットの宛先アドレスがノードIPアドレスと一致すると、ノードはパケットを消費する(状態2210)。IPパケットは処理される。パケットがそのノード宛てでない場合、ノードはパケットを転送する(状態2215)。特に、ノードはまず、ルーティングテーブル2300をIPパケットからの情報で更新し、次に、転送テーブルにおいて宛先アドレスを検索し、転送テーブルに列挙されている隣接する次ホップにパケットを転送する。
【0141】
図23は、内部ルーティングテーブル(Internal Routing Table)2300のフォーマットの一例を示す。IRT2300は、メモリに格納されているデータベースである。IRT2300の第1列は、LPGにおけるルーティング可能エントリ又は宛先のすべてを列挙する。第2列は、各宛先に対する次ホップを列挙する。別の実施形態では、IRT2300は、情報の新鮮度及びノード分類、すなわちアップストリーム、ピア、ダウンストリーム、参加を維持するか又は示すために、シーケンス番号又はタイムスタンプを含むことができる。
【0142】
<マルチキャスト>
別の実施形態では、LPGネットワークは、マルチキャストメッセージ機能をサポートすることが可能である。ユニキャストでは、送信ノード(たとえば事故の目撃者)は1つの特定の受信者にメッセージを送信するか又は向けるため、同じ情報を複数の受信者に送信するためには複数のメッセージが必要である。これにより、大量のネットワーク帯域幅が消費されメッセージが遅延する結果となる。たとえば、ユニキャストでは、特定のメッセージに対して6つの異なる受信者がいる場合、送信者とその隣接するノード、すなわち受信者との間のリンクに、6つの異なるメッセージ及び重複したメッセージが送信される。ネットワークは、同じメッセージを送信するために6回使用され、送信者の最後の送信
の受信者は他より長く待つ必要がある。さらに、送信者は、前もって各受信者、すなわち各受信者のIPアドレスを知っていなければならない。
【0143】
マルチキャスト伝送では、送信者はメッセージの重複したコピーを生成せず、すべての受信者に対し1つのメッセージを送信する。マルチキャストにより、ネットワーク帯域幅は大幅に節約される。たとえば、送信者は、6つの1ホップ隣接する受信者に1つのメッセージを送信する必要がある場合、6つの受信者すべてに対し1つのマルチキャストメッセージを生成する。使用される総帯域幅は1/6に低減される。さらに、ノードは、事前に完全に編成されている必要はなく、すなわち各ノードは他のすべてのノードのアドレスを知っている必要はなく、マルチキャストグループ2400識別又はマルチキャストグループ2400のIPアドレスさえ知っていればよい。マルチキャストグループ2400内のすべてのノードが、マルチキャストメッセージを受信する。さらに、後述するマルチキャストツリー又はメッシュが、マルチキャストグループのすべてのマルチキャストメンバがソースノードであって互いに通信するようにサポートすることができる。別個のマルチキャストツリー、すなわち各ソースノードに対し他のノードと通信するための1つのツリーを作成する必要はない。
【0144】
ユニキャストとは異なり、マルチキャストは、マルチキャストセッション毎に複数のソース及び受信者を扱う。たとえば、RSU100は、複数のスクールバスに1つの緊急情報を流そうとする。情報を迅速に配信するために、メッセージを送信する前に、関与するスクールバス間の経路を確立しなければならない。マルチキャストでは、マルチキャストメンバ間のルーティング経路は、マルチキャストツリーに基づく。マルチキャストツリー又はメッシュが、事前対応型マルチキャストルーティング方法を使用して構築され、ノードの大部分が移動することによるアドホックネットワークの動的変化を考慮することができる。本発明によれば、マルチキャストメッセージが遅延し喪失することを回避するように、ツリー又はメッシュは迅速に調整される。
【0145】
本発明によるアドホックネットワークでは、参加者は通常、シングルホップすなわち直接隣接するホップか、又はマルチホップのいずれかにより接続されている。マルチキャストグループ2400は、リーフノードと呼ばれるマルチキャストメンバから作成されている。各リーフ間のいかなるノードも、マルチキャスト転送ノード(FN)2410として選択し、関連付けられるマルチキャストメンバにマルチキャストパケットを転送するために使用することができる。
【0146】
図24は、マルチキャストグループ2400の一例を示す。マルチキャストグループ2400は、3つのマルチキャストメンバLN1 24051、LN2 24052及びLN3 24053を含む。マルチキャストグループ2400はまた、転送ノードFN1 20101及びFN2 20102も含む。この例では、グループヘッダGH1300もまた転送ノード2410でもある。図24に示す残りのノードはグループノード1500である。LPG115のすべてのノードが、リーフノード2405又は転送ノード2410又は両方であることが可能である。マルチキャストツリーは、すでに上述したパケットの同様の制御及び形成に基づいて作成される。マルチキャストツリーは、帯域幅の著しい増大及び制御パケットの追加の情報なしに、制御パケットに含まれている情報を活用する。制御パケットは、ハートビート制御パケット1700及びMR1800を含む。マルチキャストツリーは、任意のソース、すなわちリーフから、受信者すべて、すなわち他のリーフへの経路を提供する。
【0147】
マルチキャストセッションを確立するため、マルチキャストセッションに関心のあるノードは、マルチキャストセッションに対応するマルチキャストアプリケーションプログラムを開始する。アプリケーションプログラムはメモリに格納されている。したがって、ノ
ードは、リーフノードとなり、LPG115へのセッションに参加したいという関心を示す信号(MR1800)を発する。これらの信号により、マルチキャストセッションのためのマルチキャストツリーの生成が開始する。
【0148】
ノードは、開始信号を受信すると、マルチキャストセッションのFN2410となる。FN2410は、マルチキャストセッションに関連するマルチキャストパケットを受け入ると共に転送することができる。
【0149】
図24を参照すると、LN1 24051〜LN3 24053は、マルチキャストセッション(たとえば気象サービスセッション)に関連付けられるマルチキャストアプリケーションプログラムを開始することによって、マルチキャストセッションに参加しリーフノード2405となる。FN2410としてFN1 24101、GH1300、LN2
24052及びFN2 24102が選択されることにより、リーフノードLN1 24051〜LN3 24053のすべてにわたるマルチキャストセッションのためのマルチキャストツリーが形成される。
【0150】
本発明によれば、マルチキャストツリーを2つの方法で作成することができる。図25は、本発明の一実施形態によるマルチキャストツリーを形成する一方法を示す。この実施形態では、GHがマルチキャストツリーの作成を制御する。ステップ2500において、GHは、LPG115内の各ノードに対して分類を割り当てなければならない。分類は、ノードがGH1300からのアップストリームであるか又はダウンストリームであるかに基づく。ノードは、GH1300からのアップストリームである場合、第1の分類が割り当てられ、GH1300からのダウンストリームである場合、ノードに対し第2の分類が割り当てられる。たとえば、一方の分類は青であってもよく、青がGH1300の一方の側に位置するすべてのノードに割り当てられ、他方の分類は赤であってもよく、赤がGH1300の他方の側のすべてのノードに割り当てられる。GH1300は、LPG115内のすべてのノードに対し分類を含むハートビート制御パケット1700をブロードキャストする。ステップ2505において、すべてのノードが、GHからのホップカウントを判定する。GHからのホップカウントは、ハートビート制御パケット1700から直接判定される。ステップ2510において、GH1300は、リーフノード2405に関する情報を収集する。この情報は、メンバシップレポートから直接判定される。ステップ2515において、GH1300は、収集された情報に基づいて、リーフノード2405が関与するマルチキャストセッションの配信範囲(scope)を画定する。特に、GH1300は、すべてのMR1800を処理して、いずれのノードがリーフノード2405(すなわちマルチキャストセッションのメンバ)であるかと、それらの分類と、ホップ距離とを見つける。たとえば、赤及び4ホップ距離、青及び1ホップ距離である。配信範囲により、マルチキャスト転送の範囲が限定される。マルチキャストセッションのためにGH1300によって画定される配信範囲内の中継ノードはFN2410になる。FN2410のセットは、マルチキャストメッシュを表す。
【0151】
図26は、この実施形態によるマルチキャストグループ2400の一例を示す。陰付領域が、マルチキャストグループ2400の配信範囲を表している。この例では、リーフノードLN1 24051はGH1300mの一方の側にあり、リーフノードLN2 24052及びLN3 24053は他方の側にある。LN1 24051の分類は第1の分類、すなわち赤であり、リーフノードLN2 24052及びLN3 24053の分類は第2の分類、すなわち青である。赤側では、最も遠いリーフノードはGH1300から4ホップはなれており、青側では、最も遠いリーフノードは2ホップ離れている。したがって、マルチキャストグループ2400の配信範囲は、赤側に4ホップから青側に2ホップまでである。この配信範囲情報は、ハートビート制御パケット1700を通じて中継ノードに公表される。中継ノードは、配信範囲情報を受信すると、FN2410となるか否
かを判定する。図26に示すように、4ホップ赤から2ホップ青までの範囲内の中継ノードは、マルチキャストセッションのFN2410となる。リーフノードLN2 24052は、リーフノード及びFN2410の両方である。マルチキャストメッセージは、メンバ間の最短経路を使用してルーティングされる。
【0152】
上述したように、マルチキャストツリーは、ハートビート制御パケット1700及びMR1800に基づいて作成される。GH1300は、所定の間隔でハートビート制御パケットをブロードキャストする。ハートビート制御パケット1700は、LPG115内のすべてのノードに配信される。ハートビート制御パケット1700に応答して、各ノードは、MR1800をGH1300に送信する。GH1300に向かってMR1800を中継するノードは、中継ノード(RN)である。マルチキャストの場合、ハートビート制御パケット1700及びMR1800の内容は、マルチキャスト関連情報を含むように更新される。特に、分類情報及びマルチキャスト配信範囲情報がハートビート制御パケット1700に追加され、メンバ分類及びGHへのホップ距離がMR1800に含まれる。図27及び図28は、マルチキャストツリーを作成するために使用されるハートビート制御パケット1700及びMR1800の例である。
【0153】
ノードは、ハートビート制御パケット1700を受信すると、その分類、そのホップ距離と共に、マルチキャスト配信範囲情報を取得する。中継ノードは、ハートビート制御パケット1700の配信範囲情報に基づいて、FN2410になる必要があるか否かを判定する。特に、配信範囲内の中継ノードはFN2410になる。マルチキャストセッションに対するすべてのFN2410が、マルチキャスト転送テーブル(MFT, Multicast Forwarding Table)3100におけるエントリとしてそのマルチキャストセッションに対するマルチキャスト転送エントリに反映される。MFT3100は、マルチキャストツリーに対する構造を反映する。MFT3100は、ハートビートサイクル毎に、すなわちすべてのハートビート制御パケット1700及びMR1800の後に更新される。言い換えれば、マルチキャストツリー及びMFT3100は、参加したり離れたりするノードと共にマルチキャストメンバの移動度を反映するように更新される。
【0154】
図29は、本発明のこの実施形態による、マルチキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードはアイドル状態である(2900)。パケットが到着すると(2901)、ノードは、パケットがハートビート制御パケット1700であるか又はMR1800であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。ノードは、ステップ2902で制御パケットのタイプを判定する。制御パケットがハートビート制御パケット1700である場合、ノードは、ステップ2903から始まるパケット処理を開始する。ステップ2903において、ノードは、パケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち同じGID1705を有する場合、ネイティブである。ノードは、GIDをメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ2904において、ノードは、外部ハートビート制御パケット1700処理を開始する。通常、外部HB処理により、ノードはパケットを無視することになる。GIDがメモリに格納されている識別と一致する場合、ノードは、ハートビート制御パケット1700が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。ステップ2905において、Seq.No.がメモリに格納されている値より小さい場合、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きくかそれと等しい場合、ハートビート制御パケット1700は順序通りであり、ステップ2906において、ノードは、ハートビート制御パケット1700が新しい(すなわち、シーケンス番号が最後に格納されたシーケンス番号より大きい)か否かを判定する。ノードは、メッセージが新しくないと判定する場合、そのメッセージを無視し、アイドル状態になり、すなわちステップ2900に
戻る。ハートビート制御パケット1700が新しい場合、ステップ2907において、ノードは、それ自体が中継ノード(RN)であるか否かを判定する。ノードは、RNでない場合、ステップ2908において、メモリにおけるGHからのホップカウント及び分類のような情報を更新する。他方で、ノードは、RNである場合、ステップ2909において、当該ノードが配信範囲内にあるか否かを判定する。GH1300は、受信したMR1800に基づいて配信範囲を画定する。GH1300は、画定された配信範囲内に位置する場合、FN2410になる。RNは、配信範囲内にある場合、FNとなり、ステップ2910において、MFT3100に、マルチキャストセッションの識別、すなわちクラスDマルチキャストIPアドレスを追加する。さらに、ノード、ここではFN2410は、必要な場合、ホップカウント情報及び分類を更新する。RNは、配信範囲内にない場合、ステップ2908において、メモリにおけるGHからのホップカウント及び分類のような情報を更新する。
【0155】
制御パケットがMR1800である場合、ノードは、ステップ2911から始まるパケット処理を開始する。ステップ2911において、ノードは、パケットがネイティブであるか否かを判定する。ノードは、GID1705を、メモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ2912において、ノードは、外部MR処理を開始する。パケットがネイティブである場合、ステップ2913において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ2913において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい、すなわちMR1800が順序通りである場合、ステップ2914において、ノードは、当該ノードがGH1300であるか否かを判断する。ノードは、GH1300である場合、ステップ2915において、MR1800に含まれる情報及び配信範囲を収集する。特に、MR1800は、分類情報、GHまでのホップカウント情報及びマルチキャストグループ2400のメンバシップ情報を含む。GH1300は、この情報を使用して、ハートビート制御パケット1700を送信する前に、必要な場合、マルチキャストグループ2400の配信範囲を調整することができる。さらに、GH1300は、MFT3100を変更する、すなわちFN2410としてそれ自体を追加する。最後に、GH1300は、必要な場合、移動度を考慮するようにノードの分類を変更する。
【0156】
他方で、ノードは、GHでない場合、ステップ2916において、それ自体がRNであるか否かを判定する。ノードのそれ自体のIDがMR1800の次ホップ中継ID(たとえばIPアドレス)と等しい場合、ノードはMR1800のRNである。すべてのノードが、GH、RN及びFNのようなそのノードステータスを維持する。ノードは、RNでない場合、ステップ2917において、単に分類情報を更新する。ノードは、RNである場合、ステップ2918において、そのノードステータスをRNとして設定し、分類情報を更新する。
【0157】
図30A及び図30Bは、GH1300(図30A)及びRN(図30B)両方に対する機能ノード状態遷移図を示す。GH1300は、FN2410であってもなくてもよく、すなわち非FN3000状態又はFN3010状態のいずれかであり得る。GH1300は、マルチキャストグループ2400の配信範囲外に位置している場合、遷移3005を介してマルチキャストグループ2400の非FN状態3000になる。GH1300は、マルチキャストグループ2400の配信範囲内にある場合、遷移3015を介してFN2410状態3010に遷移する。FN状態3010になると、FN2410はFNタイマをセットする。FNタイマを使用して、ノードがFN2410である時間が制御される。タイマは、所定の期間にセットされる。ノードFNは、FN状態3010である間、FNタイマが満了した時にのみ、遷移3025を通じて非FN状態に移動する。
【0158】
GH以外のノードは、4つの状態のうちの1つであり得る。すなわち、通常のノード(すなわち、非RN及び非FNの両方)3030、RN状態3040、FN状態3050及びFN/RN状態(FN及びRN両方)3060である。図30Bの有効MR(Valid MR)受信は、受信されたMR1800がそのノード宛てであることを意味する。通常のノード(状態3030)は、MR1800を受信すると、遷移3035を介してRN(状態3040)に遷移する。RN(状態3040)となると、RNは、ハートビート制御パケット1700を受信すると、3055を介してFN2410(状態3050)に遷移するか、又は遷移3045を介して通常のノード(状態3030)に戻るように遷移する。RNは、画定された配信範囲内にある場合、遷移3055を介してFN(状態3050)になる。しかしながら、RN3040(状態3040)は、配信範囲内にない場合、通常のノード状態3030に遷移する。FN(状態3050)は、タイマが満了すると、遷移3065を通じてその状態を通常のノードに戻す。FN2410は、RN及びFNの両方であり得る。FN2410(状態3050)は、異なるMR1800を受信すると、遷移3075を介して状態3060に遷移してRN/FN両方(状態3060)になる。ノードは、新たなハートビート制御パケット1700を受信する(遷移3085)までFN/RN両方として状態3060のままである。
【0159】
図31は、本発明によるマルチキャストルーティングに使用されるMFT3100の一例を示す。MFT3100のエントリは、マルチキャストグループアドレス(たとえばクラスD IPアドレス)と発信インタフェースとから成る。マルチキャストグループ2400が或るノードに対しMFT3100に列挙されている場合、そのノードは、そのマルチキャストグループ2400のFN2410となる。各FN2410は、メモリにMFT3100を格納している。したがって、ソース又は隣接するFN2410からマルチキャストパケットを受信すると、それはマルチキャストパケットを転送する。
【0160】
非GHの場合、MFT3100は、ハートビート制御パケット1700のみに基づいて更新され、マルチキャストセッションに対するマルチキャストグループ2400のアドレスは、MFT3100のエントリとして追加され、関連タイマ(すなわち、そのエントリに対するFNタイマ)が開始(又はエントリを更新する場合は再開)する。タイマが満了すると(すなわち更新は起こらない)、エントリはMFT3100から取り除かれる。GH1300は、MR1800を受信するとMFT3100を更新する。
【0161】
MFT3100は、ハートビート制御サイクル毎に更新される。ハートビート制御サイクルは、ハートビート制御パケット1700の1つのセット及びMR1800の1つのセットの両方に対する時間を含む。ノードが可動であるという事実により、各ハートビート制御サイクルに対して中継ノードのセットが変化する可能性がある。この実施形態では、マルチキャストFN2410はRNのサブセットであり、RNが頻繁に変化する可能性があるため、マルチキャストメッシュ及びMFT3100を、ハートビート制御サイクル毎に更新しなければならない。マルチキャストメンバシップの変更は、次のHBC(ハートビートサイクル)においてメッシュ及びMFT3100に反映される。
【0162】
FNタイマは、MFT3100の各エントリに関連付けられる。期間は、ハートビート間隔の倍数であるか、又はハートビート間隔よりわずかに大きい。FN2410が引き続き配信範囲内にある場合、FNタイマは再開する。ノードが有効なMR1800及びハートビート制御パケット1700を受信しない場合、FNタイマは満了し、それは、ノードが所定の期間内の配信範囲内にあることを示す。MFT3100に列挙されるエントリに対するFMタイマが満了すると、エントリはMFTから取り除かれ、すなわち、ノードは、そのエントリによって表されるマルチキャストセッションに対し非FNとなる。
【0163】
リーフノード2405の移動度は、MR1800及びハートビート制御パケット1700伝送を通じて検出される。リーフノード2405の移動を検出し、メッシュすなわちMFT3100を更新するためには、概ね2つのHBC(ハートビートサイクル?)が必要である。
【0164】
第2のマルチキャスト実施形態では、GH1300はマルチキャストグループ2400の配信範囲を画定しない。この実施形態では、マルチキャストメンバとGH1300との間のすべてのRNがFN2410となる。この実施形態では、GH1300が配信範囲を画定しないため、マルチキャストグループ2400の形成がより迅速である。マルチキャストメンバは、自身のMR1800の中にマルチキャストメンバシップ情報を含める。メンバは、MR1800にリーフノード(Leaf Node)ステータスをマルチキャストステータスとして設定する。RNは、MR1800を受信すると、関連付けられるマルチキャストグループ2400に対するFN2410になる。FN2410は、それ自体のMR1800にFNステータスを設定する。このマルチキャスト実施形態によれば、いかなる追加の情報もハートビート制御パケット1700に追加する必要はない。パケットは、図17に示すものと同じであってもよい。MR1800は、図18に示すMR1800に類似しているが、マルチキャストメンバシップに関する情報、たとえば関係するマルチキャストグループ2400及びノードステータス、すなわちFN2410又はリーフノード2405が追加される。
【0165】
図32は、第2の実施形態による変更されたMR1800の一例を示す。この実施形態では、ノードステータスは、MR1800のみに基づいて変化する。
【0166】
図33は、本発明のこの実施形態によるマルチキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードはアイドル状態である(3300)。パケットが到着すると(3301)、ノードは、パケットがハートビート制御パケット1700であるか又はMR1800であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。ステップ3302で、ノードは制御パケットのタイプを判定する。制御パケットがMR1800である場合、ノードはステップ3303から始まるパケット処理を開始する。ステップ3303において、ノードは、パケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち同じGID1705を有する場合に、ネイティブである。ノードは、GID1705をメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ3304において、ノードは外部MR処理を開始する。通常、外部MR処理により、ノードはパケットを無視する。
【0167】
パケットがネイティブである場合、ステップ3305において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ3305において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい場合、MR1800は順序通りであり、ステップ3306において、ノードは、MR1800が元々リーフノード2405から送信されたか否かを判断する。MR1800がリーフノード2405から送信されたものでない場合、ノードは、マルチキャストルーティングの目的でMR1800を無視する。MR1800がリーフノード2405から送信されたものである場合、ステップ3307において、ノードは、それ自体がGH1300であるかRNであるかを判定する。ノードは、いずれの状態でもない場合、マルチキャストルーティングの目的でMR1800を無視する。ノードは、GH1300又はRNいずれかである場合、ステップ3308において、MFT3100を更新し、すなわちFN2410となる。この更新は、MFT3100にマルチキャストグループ2400を追加することを含む。
【0168】
図34は、この実施形態によるノードに対する機能状態遷移図を示す。ノードは、マルチキャストグループ2400に対して非FN状態3400か又はFN状態3410のいずれかであり得る。状態3400のノードは、リーフノードステータスを含むMR1800を受信すると、状態3410に遷移してFN2410となる。FN2410は、マルチキャストセッションに対してFNタイマをセットする。マルチキャストグループ2400に対するFN時間が満了すると、FN2410はその状態を3410から3400に変化させ、遷移3420を介して非FN(すなわち通常のノード)となる。状態3410の間、すなわちFNである間、タイマが満了しない場合、FN2410は遷移3425を介してFNのままである。
【0169】
第3のマルチキャスト実施形態では、GH1300は、上記実施形態によって作成されたマルチキャストグループ2400の配信範囲をプルーニングすることにより、ルーティングの効率を向上させることができる。プルーニング動作により、不要なFNが取り除かれる。GH1300は、リーフノード2405からMR1800を収集した後、有効なプルーン適用範囲を画定し、必要な場合は、プルーンメッセージ3500を送信する。プルーンメッセージ3500は、ハートビート制御パケット1700とは別個である。有効なプルーン適用範囲は、GHから最も近いリーフノードへのホップカウントとして伝達される。プルーンメッセージ3500は、有効なプルーン適用範囲内のFNのみによって処理され中継される。有効なプルーン適用範囲に位置するFNは、それらのMFT3100の関連付けられるマルチキャスト転送エントリを除去し、通常のノードになる。
【0170】
図35は、プルーンメッセージパケット3500の一例を示す。プルーンメッセージパケット3500は、グループ識別、グループヘッダ識別、シーケンス番号、マルチキャストメンバ識別及び有効なプルーン適用範囲を含む。マルチキャストメンバ識別は、マルチキャストグループ2400に対するIPアドレスである。
【0171】
図36は、本発明のこの実施形態によるマルチキャストメッセージのLPGベースのルーティング方法を示す。最初、各ノードはアイドル状態である(3600)。3601でパケットが到着すると、ノードは、パケットがハートビート制御パケット1700であるか、MR1800であるか又はプルーンメッセージパケット3500であるかを判定する。制御パケットのタイプに応じて、ノードは特別なパケット処理を実行する。ステップ3602において、ノードは、制御パケットのタイプを判定する。制御パケットがMR1800である場合、ノードは、ステップ3603から始まるパケット処理を開始する。ステップ3603において、ノードはパケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち、同じGIDを有する場合、ネイティブである。ノードは、GIDをメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ステップ3604において、ノードは外部MR処理を開始する。パケットがネイティブである場合、ステップ3605において、ノードは、MR1800が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ3605において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい場合、MR1800は順序通りであり、ステップ3606において、ノードは、MRが元々リーフノード2405から送信されたか否かを判断する。MR1800がリーフノード2405から送信されていない場合、ノードは、マルチキャストルーティングの目的でMR1800を無視する。MR1800がリーフノード2405から送信されたものである場合、ステップ3607において、ノードは、それ自体がGH1300であるか否かを判定する。ノードは、GHでない場合、ステップ3608において、それ自体がRNであるか否かを判定する。ノードは、GHでもRNでもない場合、マルチキャストルーティングの目的でMR1800
を無視する。ステップ3609において、ノードは、RNである場合、ステップ3609においてMFT3100を更新し、すなわちFN2410となる。この更新には、MFT3100にマルチキャストグループ2400を追加することが含まれる。
【0172】
ノードがGH1300である場合、ステップ3610において、GH1300は、事前設定されたパラメータに基づいてプルーニングが必要であるか否かを判定する。事前設定されたパラメータは、GH1300の一方の側にのみマルチキャストメンバがいるというものであってもよい。GH1300は、GHがマルチキャストグループ2400にある必要はないことを判定する。GH1300は、MFT3100からマルチキャストグループ2400IDを除去する。さらに、GH1300は、GHに最も近いマルチキャストメンバを判定する。この判定は、GHからのホップカウントに基づく。プルーン適用範囲内に位置するいかなるFN2410も、GHから発信されるプルーンメッセージを受信する時にプルーニングされる。プルーンメッセージは、FN(リーフノードがなくプルーン適用範囲内に位置するFN)をプルーニングすることによって中継され、GHに最も近い、リーフノードを有するFNは、プルーンメッセージの中継を中止する。
【0173】
ステップ3602において、ノードが、パケットがプルーンメッセージパケット3500であると判定すると、ステップ3611においてパケット処理が開始する。ステップ3611において、ノードは、パケットがネイティブであるか否かを判定する。パケットは、同じLPG115に対するものである、すなわち、パケットが同じGIDを有する場合、ネイティブである。ノードは、GIDをメモリに格納されているグループ識別と比較する。GIDがメモリに格納されている識別と一致しない場合、ノードはパケットを無視し、アイドル状態になる。そして、ステップ3612において、ノードは、プルーンメッセージパケット3500が順序通りであるか否かを判定する。ノードは、Seq.No.をメモリのシーケンス番号と比較する。Seq.No.がメモリに格納されている値より小さい場合、ステップ3613において、ノードはパケットを無視する。Seq.No.がメモリに格納されている値より大きいか又はそれと等しい場合、プルーンメッセージパケット3500は順序通りであり、ステップ3614において、ノードはそれ自体がFN2410であるか否かを判定する。ノードは、FNでない場合、パケットを無視してアイドル状態になる。ノードは、FN2410である場合、ステップ3615においてそれ自体が有効なプルーン適用範囲内にあるか否かを判定する。最も近いリーフノードよりGH1300に近いいかなるFN2410も、有効なプルーン適用範囲にある。この判定は、GHへのホップカウントに基づく。ノードは、メモリに先に格納されているGHへのホップカウントを、有効なプルーン適用範囲におけるホップカウント情報と比較する。GHへのホップカウントが有効なプルーン適用範囲からのホップカウントを下回る場合、ステップ3616において、FNは非FNになる。ノードは、MFT3100を更新し、MFT3100からマルチキャスト識別を除去する。GHへのホップカウントが有効なプルーン適用範囲からのホップカウントを上回る場合、ノードはFN2410のままである。
【0174】
ノードは、ステップ3602において、パケットがハートビート制御パケット1700であると判定すると、ステップ3617において、単にメモリに格納されているホップカウント情報及び他の情報を更新する。
【0175】
図37A及び図37Bは、この実施形態によるGH1300(図37A)及びRN(図37B)に対する機能状態遷移図を示す。図37Aに示すように、GH1300は、マルチキャストグループ2400に対して非FN状態3700又はFN状態3710のいずれかであり得る。状態3700のノードは、リーフノードステータスを含むMR1800を受信すると、状態3710に遷移し、遷移3705を介してFN2410になる。FN2410はマルチキャストセッションに対してFNタイマをセットする。マルチキャストグループ2400に対するFNタイマが満了するか又はプルーンが確定されると、FN24
10はその状態を3710から3700に変化させ、遷移3720を介して非FN(すなわち通常のノード)となる。状態3710の間、すなわちFNである間、タイマが満了とならないか又はリセットされる場合、FN2410は遷移3715を介してFNのままである。
【0176】
同様に、RNは、マルチキャストグループ2400に対して非FN状態3700又はFN状態3710のいずれかであり得る。状態3700にあるノードは、リーフノードステータスを含むMRを受信すると、状態3710に遷移し、遷移3705を介してFN2410になる。FN2410は、マルチキャストセッションに対してFNタイマをセットする。マルチキャストグループ2400に対するFN時間が満了するか、又はプルーンメッセージパケット3500が受信されると、FN2410はその状態を3710から3700に状態を変化させ、遷移3725を介して非FN(すなわち通常のノード)になる。状態3710の間、すなわちFNである間、タイマが満了しないか又はリセットされる場合、FN2410は遷移3715を介してFNのままである。
【0177】
ノードの大部分が移動するため、期間が異なるとMR1800がリーフノード2405からGH1300まで辿る経路は異なり、それによりMR期間毎にFN2410のセットが異なることになる。したがって、マルチキャストメッシュ又はMFT3100は、FNタイマ及び周期的MRメッセージによって更新される。MFT3100を更新する効率を、FNタイマの時間及び周期的MR1800に間隔を制御することによって達成することができる。これらのパラメータを制御することにより、リーフノード2405及びFN2410の両方の移動度を考慮するようにMFT3100を更新することができる。
【0178】
新たなマルチキャストメンバは、進行中のマルチキャストセッションに参加したい場合、そのマルチキャストセッションに対するリーフノードステータスを有するそのMR1800を、当該マルチキャストメンバが参加したいセッションに対するマルチキャスト識別と共に送信する。
【0179】
図38A及び図38Bは、2つのマルチキャストグループ、すなわちMR1800のみに基づいて形成された1つのグループ(図38A)と、MR1800及びプルーンメッセージパケット3500に基づいて形成された1つのグループとを示す。図38Aに示すように、リーフノードLN1 24051、LN2 24052及びLN3 24053は、MR1800をGH1300に向かって送信することによってマルチキャストグループ2400に参加する。各リーフノードとGH1300との間のすべての中継ノード(RN)が、FN2410、たとえばFN1、FN2、FN3及びFN4(24101〜24104)になる。形成されたマルチキャストグループ2400は、5つのホップ、サイズ5を有する。しかしながら、3つのリーフノードLN1 24051、LN2 24052及びLN3 24053のすべてが互いに近接している、すなわちGH1300の同じ側にあるため、GH1300はマルチキャストグループ2400にある必要はない。したがって、GHはそれ自体を最初にプルーニングすることによってプルーニングを開始し、それによりGH1300は非FNになる(図38B)。収集されたマルチキャスト情報に基づき、GH1300は有効なプルーン適用範囲を決定する。この場合、LN3 24053がGH1300に最も近く、2ホップ離れているため、プルーンは2ホップまで発生し、FN4 24104及びFN3 24103が通常のノードになる。メッシュは、FN1 24101及びFN2 24102のみから構成される。FN1 24101及びFN2 24102のみが、MFT3100にマルチキャストグループ識別を有する。
【0180】
図39は、各階層に対するFNのマルチキャスト転送機能の一例を示す。制御パケット3930が、UDPを通じて、アプリケーション層3910で実行しているマルチキャストプロセッサ3915に配信される。上述した方法のいずれかを使用するマルチキャスト
プロセッサ3915は、IPマルチキャスト転送モジュールの一部である、IP層3905に実装されるマルチキャスト転送テーブル(MFT)3100を更新することができる。マルチキャストデータパケット入力3935は、最初にMAC層3900によって受信され、IP3905に転送されて、そのマルチキャストデータパケット入力3935を中継するべきであるか又は除去するべきであるかがMFT3100に基づいて判定される。この、MFT3100は、マルチキャストプロセッサ3915によって更新される。データパケット入力3935が転送されるべきであると判定されると、FN2410はパケットをマルチキャストデータパケット出力3940として転送する。マルチキャスト制御パケット3930及びマルチキャストデータパケット入力3935は、MAC層3900により除去されない。全マルチキャスト(AllMulticast)モードをMAC層3900で有効にして、MACのすべてのマルチキャストフレームを受け入れ可能、すなわちMAC層3900によって除去せずにIP層3905に転送可能、とする必要がある。インタフェース上で全マルチキャストモードを有効にすることにより、ネットワークへのすべてのマルチキャストパケット(パケットのマルチキャストアドレスに関わらず)がインタフェースによって受信される。全マルチキャストモードが有効でない場合、インタフェースは、マルチキャストアドレスがインタフェースに割り当てられているものと一致するマルチキャストパケットのみを受け入れる。
【0181】
図40は、本発明の一実施形態によるFN2410の転送機能のフローチャートを示す。最初、ステップ4000においてFN2410はアイドル状態である。ステップ4005において、FN2410は、マルチキャストデータパケット入力3935を受信する。次に、ステップ4010において、IP層3905は、マルチキャストグループ2400がMFT3100にあるか否かを判定する。IP層3905は、マルチキャストデータパケット入力3935からのマルチキャストグループ2400のIPアドレスを、MFT3100に格納されているIPアドレスと比較する。比較の結果に基づき、FNは、ステップ4015においてマルチキャストデータパケット入力3935を破棄するか、又はマルチキャストデータパケット入力3935がFN2410によってすでに送信されているか否かを判定する。各FN2410には、メモリに格納された、送信されるすべてのマルチキャストデータパケット入力3935に対する送信済みリストを有する。特に、送信済みリストは、事前設定された期間内に送信されるすべてのマルチキャストデータパケット入力3935に対する識別を含む。パケット識別は、マルチキャストデータパケット入力3935のソースアドレスと、IPパケットヘッダからの識別情報とを含む。この事前設定された期間を、送信済みリストが過度に大きくならないように制御することができる。送信済みリストの機能は、重複するマルチキャストパケット伝送を防止することである。したがって、マルチキャストデータパケット入力3935は、短期間だが、パケットが重複でないことを確実にするには十分長いだけの間、送信済みリストに列挙されるだけでよい。ステップ4020において、IP層3905は、受信したマルチキャストデータパケット入力3935に対する、ソース、すなわちIPヘッダのソースIPアドレス、及びID、すなわちIPヘッダの識別を、送信済みリストのソース及び識別と比較することにより、マルチキャストデータパケット入力3935がすでに送信されているか否かを判定する。一致がある場合、FN2410は、ステップ4015においてマルチキャストデータパケット入力3935を破棄し、ステップ4000においてアイドル状態になる。一致がない場合、マルチキャストデータパケット入力3935は先に送信されておらず、ステップ4025において、FN2410はマルチキャストデータパケット入力3935を送信する。ステップ4025において、FN2410はまた、送信済みリストを、マルチキャストデータパケット入力3935からのソース及びIDを送信済みリストに追加することによって更新する。
【0182】
本発明の別の実施形態では、同じ場所に位置するFNによる重複パケットの不要な伝送を防止するため(それは帯域幅の浪費である)、同じ場所に位置するFNの1つを除くす
べてが、マルチキャストデータパケット入力3935を送信しないように、すなわちパケットを中継しないようにする。同じ場所に位置するFNは、同じ無線範囲、すなわち同じホップ内のFNである。重複マルチキャストパケットは、同じマルチキャストデータパケット入力3935が、2つの異なるFNによって同じソースから同じ受信者に送信される場合に送信される。
【0183】
この実施形態によれば、FN2410は、マルチキャストデータパケット入力3935を受信すると、マルチキャストデータパケット入力3935があるかMACバックオフ待ち行列(MAC back-off Queue)を検査する。マルチキャストデータパケット入力3935は、待ち行列に存在する場合、当該待ち行列から除去され、パケットの送信は発生せず、すなわち、FN2410は、パケット送信のバックオフ期間中にパケットを受信する場合、送信を阻止する。IP層(IP転送モジュール)は、MACに対しこうした阻止を行うように通知しなければならない。
【0184】
図41は、層間動作、すなわちMAC層3900及びIP層3905に対する本発明のこの実施形態によるFN2410の転送プロセスのフローチャートを示す。特に、図41は、FN2410に対する層毎の転送ステップを示している。
【0185】
最初に、FN2410はマルチキャストデータパケット(図41ではMP[s:g]として参照)を受信する。パケットMP[s:g]は、処理されるためにIP層3905に転送される。ステップ4105において、IP層3905は、マルチキャストグループ2400がMFT3100にあるか否かを判定する。IP層3905は、MP[s:g]からのマルチキャストグループ2400のIPアドレスをMFT3100に格納されているIPアドレスと比較する。マルチキャストIPアドレスがMFT3100のマルチキャストIPアドレスと一致しない場合、ステップ4110においてIP層はMP[s:g]を破棄する。マルチキャストIPアドレスがMFT3100のマルチキャストIPアドレスと一致する場合、ステップ4115において、IP層3905は、MP[s:g]が送信されたか否かを判定する。次に、IP層3905は、受信したMP[s:g]のソース及びIDを送信済みリストのソース及びIDと比較することにより、MP[s:g]がすでに送信されているか否かを判定する。一致がある場合、IP層3905は、ステップ4120において、MP[s:g]を破棄し、ステップ4125において、MP[s:g]がMAC層の送信バックオフ待ち行列にすでにあるか否かを判定する。パケットが送信バックオフ待ち行列にない場合、ステップ4145において、ノードはアイドル状態となる。一致がある場合、MP[s:g]は送信バックオフ待ち行列にあり、ステップ4130において、MAC層は送信バックオフ待ち行列からパケットを削除する。送信済みリストに一致がない場合、MP[s:g]は送信済みリストに追加され、ステップ4135において送信のために送信バックオフ待ち行列に追加される。ステップ4140において、MP[s:g]は転送される。
【0186】
別の実施形態では、メッセージを中継する効率を向上させ且つ適時の配信を確実にするために、受動応答が追加される。上述した実施形態では、ノードから、パケットが受信されたという応答はない。したがって、リーフノードがパケットを受信したという確証はない。したがって、パケットが再送信されるべきであるという指示はない。
【0187】
この実施形態によれば、FN2410は、パケットを送信した後、隣接するFNによってパケットが二度目の転送をされるのを待つ。隣接するFN2410がパケットを転送すると、最初のFN2410がパケットを受信する。この受信パケットは、隣接するFNが最初の転送を受信したという受動応答である。事前設定された期間内に応答が受信されない場合、最初のFNはパケットを再送信することができる。
【0188】
図42は、層間動作、すなわちMAC層3900及びIP層3905に対する、本発明のこの実施形態によるFN2410の、受動応答を含む転送プロセスのフローチャートを示す。特に、図42は、FN2410に対する層毎の転送ステップを示す。
【0189】
ステップ4205〜4215は先の実施形態と同じであり、したがって、再び詳細には説明しない。ステップ4215において、パケットMPが既に送信されている場合、ステップ4220において、新たなMPは破棄される。ステップ4215においてパケットMPが送信されていない場合、ステップ4235において、ノードは、パケット識別を送信済みリストに追加し且つ宛先をリストに追加することにより、送信済みリストを更新する。さらに、ノードは、応答タイマをセットし且つ応答ステータスパラメータを実行中にセットする。さらに、ステップ4235において、ノードは、パケット(MP)を待ち行列に入れるためにMAC層3900に送信する。任意に、ノードは、パケットが所定期間内に特定のグループに送信される回数をカウントする送信済みカウンタをインクリメントすることができる。ステップ4240において、パケット(MP)は送信バックオフ待ち行列に追加される。
【0190】
パケットが既に送信されており、且つ新たなMPが破棄された場合、ステップ4225において、ノードは、応答のステータスを判定し、すなわちパケットが応答されたか否かを判定する。送信パケットが所定時間内に受信される場合、パケットは応答される。ステータスが実行中である、すなわち未応答の場合、ステップ4230において、ノードは応答タイマを停止させ、応答ステータスを応答済みに変更する。ステータスが応答済みである場合、ステップ4265においてノードはアイドル状態になる。同時に、ノードは、応答タイマを監視して、応答を受信することなくタイマが満了するか否かを判定する。パケットを受信することなく応答タイマが満了した場合、ステップ4260において、ノードはパケットを再送信する。さらに、ステップ4260において、ノードは、応答タイマをリセットし、応答ステータスを「実行中」として維持する。ステップ4240において、パケットは送信バックオフ待ち行列に追加される。
【0191】
一般に、移動車両110は、単一チャネル伝送又は複数チャネル伝送のいずれかを使用してパケットを転送することができる。複数チャネル伝送の場合、移動車両は、複数の宛先受信機と共に1つの送信機を使用するか又は1つの送受信機を使用することができる。前者の場合、移動車両110は、2つのチャネルのうちのいずれか一方のみで送信し、両方のチャネルを通じて受信することができる。しかしながら、同じチャネルで同時に送受信することはできない。後者の場合、移動車両110は、特定のチャネルを通じての送受信に制限されるが、送信チャネル及び受信チャネルは同じである必要はない。
【0192】
好ましい実施形態では、複数のチャネルを使用して送信が行われる。マルチキャストの場合、FN及びリーフノードは、マルチキャストパケットを送受信するためにチャネル(複数可)を能動的に選択する。マルチチャネルシステムでは、スループットが増大し、遅延が低減する。しかしながら、マルチチャネルシステムでは、FN4210間で事前のチャネル調整が必要である。
【0193】
本発明の一実施形態では、FN4210は、マルチキャスト転送がチャネル交互転送(Channel-alternate Forwarding)であるようにマルチチャネル環境を調整する。FNは、送信チャネル及び受信チャネルを交互のパターンに構成することにより、送信チャネル及び受信チャネルが常に異なるようにする。すなわち、FN2410は、CHAからマルチキャストパケットを受信する場合、CHBを通じてマルチキャストパケットを転送し、またその逆も同様である。
【0194】
図43は、本発明のこの実施形態によるチャネル交互転送割当ての一例を示す。図43
に示すように、2つのチャネルCH1 4310及びCH2 4320がそれぞれある。6つのFN、FN1〜FN6(24101〜24106)がある。FN間の陰付きエリアは、5つの無線有効範囲領域を示している。各FN、すなわちFN1〜FN6(24101〜24106)は、CH1 4310及びCH2 4320を介してパケットを送受信することができる。しかしながら、パケットは、CH1 4310で受信される場合、CH2を通じて転送される。同様に、パケットは、CH2 4320で受信される場合、CH1 4310を通じて転送される。したがって、線形に接続されたFN2410は、2つのチャネルを交互に使用する。
【0195】
移動車両110が単一チャネル受信デバイスを有する場合、送信チャネル及び受信チャネルの交互の配置は、ハートビート制御パケット1700及びMR1800の送受信を通じて達成される。ハートビート制御パケット1700は、チャネル情報、すなわちGH1300に対する送信チャネル及び受信チャネルを有する。ハートビート制御パケット1700は、ブロードキャストされてすべてのFNによって受信される。GH1300に最も近いFN、すなわち、GHへの最小ホップカウントは、まず、ハートビート制御パケット1700の情報に基づいてそれらのチャネルを設定する。これらのFNの送信チャネル及び受信チャネルは、GHのチャネルと交互になるように選択される。最も近いFNがそれらのチャネルを設定すると、次に近いFNがそれに従ってそれらの送信チャネル及び受信チャネルを割り当てる。これは、すべてのFNに対してチャネルのすべてが設定されるまで続く。
【0196】
図44は、この実施形態による送信チャネル及び受信チャネルのチャネル割当ての一例を示す。図44は、図43に示すものと同じFNを使用する。FN4 24104がGH1300である。GH1300は、それ自体に、送信チャネル1 T−CH1及び受信チャネル2(R−CH2)を割り当てる。GH/FN4 24104は、送信チャネル情報及び受信チャネル情報を含むそのハートビート制御パケット1700をブロードキャストする。FN3 24103及びFN5 24105は、それらの送信チャネル及び受信チャネルをGH/FN4 24104と交互になるように割り当てる。FN3 24103及びFN5 24105は、それらの送信チャネル及び受信チャネルとしてそれぞれT−CH2及びR−CH1を割り当てる。そして、FN2 24102及びFN6 24106は、ハートビート制御パケットの情報及びGHからのホップカウントに基づいてそれらの送信チャネル及び受信チャネルを割り当てる。FN2 24102及びFN6 24106は、T−CH1及びR−CH2を割り当てる。最後に、FN1 24101が、その送信チャネル及び受信チャネルを割り当てる。FN1 24101は、T−CH2及びR−CH1を割り当てる。移動車両110が2チャネル受信デバイスを有する場合、上述した割当ては不要である。すべてのFN2410が、CH1又はCH2のいずれかで送信し両チャネルで受信することができる。
【0197】
受信されたマルチキャストパケットのチャネル情報は、MAC層3900のチャネルアクセスモジュールから提供される。着信マルチキャストパケットにはまず、受信チャネルがマークされている。これにより、マルチキャストパケットが、識別され受信チャネルとは異なる送信チャネルで転送されることが可能となる。マルチキャストパケットにCH1がマークされている場合、マルチキャストパケットはCH2を通じて転送される。リーフノード2405は、その送信チャネル及び受信チャネルを、内部チャネルアクセスメカニズムを介してそれらのFN2410と同期させる。
【0198】
単一チャネルの交互転送プロセスにより、パケットが同じチャネルで同時に受信される場合、すなわち、FN3 24103がチャネル1でFN4 24104及びFN2 24102の両方からパケットを受信する場合、隠れ端末問題がもたらされる可能性がある。
【0199】
別の実施形態では、送信チャネル及び受信チャネルは二重チャネル交互方法(double channel alternate manner)で割り当てられる。二重チャネル交互転送チャネル割当てには、隠れ端末状態が回避されるという利点がある。この方法は、送信チャネルを二重交互パターンに配置する。それは、排他的な送信チャネルの領域をもたらし、そうした領域を二重交互パターンに配置する。同じ送信チャネルでの排他的領域が2ホップ毎に現れる。FN2410は、両チャネルを通じてマルチキャストパケットを受信することができる。マルチキャストパケットは、受信されると、所与の送信チャネルを通じて転送される。
【0200】
図45は、FNメッシュに対するこの実施形態による送信チャネル及び受信チャネルのチャネル割当ての一例を示す。図45は、図43に示すものと同じFN、すなわちFN1〜FN6(24101〜24106)を使用する。この例では、チャネルは、T−CH1
4500に対して1つの排他的な送信チャネルエリアがあるように割り当てられる。T−CH2 4520に対して2つの排他的な送信チャネルエリアがある。さらに、2つの混合チャネルエリア4510がある。FN1 24101及びFN2 24102はT−Ch2で送信し、FN3 24103及びFN4 24104はT−CH1で送信し、FN5 24105及びFN6 24106はT−CH2で送信する。各FN、すなわちFN1〜FN6(24101〜24106)は、R−CH1又はR−CH2のいずれかで受信することができる。
【0201】
図46は、本発明の一実施形態による受信チャネル及び送信チャネル両方のチャネル割当てのフローチャートを示す。ステップ4600において、GH1300は、それ自体の送信チャネル、すなわちT−CH1を指定する。この送信チャネルは、残りのFN2410がそれらの送信チャネルを設定するための基準送信チャネルとして使用される。そして、ステップ4605において、GH1300は1つの分類方向(たとえば赤又は青)を選択する。選択された分類方向は、基準分類方向として使用される。そして、ステップ4610において、GH1300は、ハートビート制御パケット1700をすべてのFN2410にブロードキャストする。この実施形態では、基準送信チャネル及び分類方向の情報はハートビート制御パケット1700に含まれる。
【0202】
ステップ4615において、他のすべてのFN2410が、ハートビート制御パケット1700を受信し、基準送信チャネル、分類側及びGHからのホップ距離の情報に基づいて、それらの自体の送信チャネルを事前に割り当てる。FN2410は、基準側内に位置する(すなわち、基準分類方向及びFNの両分類が同じである)場合、式mod(int[(1+h)/2],2)に基づいてそれらの送信チャネルを判定する。ここで、mod(a,b)はaをbで割った正の剰余(reminder)であり、int[]は数字の小数点以下を切り捨て、hはGHからのホップ距離である。FN2410は、基準分類方向ではない側に位置する場合、式mod(int[h/2],2)を使用してそれらの送信チャネルを判定する。式の出力が1(いずれの場合でも)の場合、FN2410は基準送信チャネルとは異なるものとしてそれらの送信チャネルを割り当て、すなわち基準送信チャネルがT−CH1である場合、それらの送信チャネルをT−CH2として設定する。式の出力が0である場合、それらはそれらの送信チャネルを基準送信チャネルとして設定する。
【0203】
FN2410は、メモリに格納されているGHへのホップカウント情報とハートビート制御パケット1700からの受信情報とを使用して、二重交互パターン割当てに従ってそれらの送信チャネルを割り当てる。
【0204】
マルチキャストルーティング及びユニキャストルーティングを別々のプロセスとして説明したが、これらのルーティング方法の両方を共に同じ移動車両110によって実行することができる。したがって、受信パケットは、一方のルーティング方法に関連しなくても
よいが、別のルーティング方法に関連することになる。したがって、制御パケットが無視されるように記述されており、特定のルーティングプロセスに対してノードがアイドル状態となっている場合、パケットを、他方のルーティングプロセスに対して無視しなくてもよく、ノードはアイドル状態にならなくてもよい。たとえば、ユニキャストルーティングの場合、ハートビート制御パケット1700及びMR1800の両方を使用してルーティングテーブル2300が更新されるが、実施形態に応じて、マルチキャストルーティングの場合、2つの制御パケットのうちの一方のみを必要としてもよい。
【0205】
さらに、ユニキャストルーティングプロセス及びマルチキャストルーティングプロセスを、主に移動車両及び移動ノードに関して説明したが、任意ノード、たとえばRSU100によって実行することができる。
【0206】
移動車両の無線通信デバイスは、上述したプロトコル及び方法、たとえばユニキャスト及びマルチキャストを実行する。この無線通信デバイスは、図11に示すようなRSU100の通信デバイスと同様である。無線通信デバイスは、無線有効範囲におけるノード間の無線通信を提供するために、ブロードキャスト手段又は無線送受信機のような送受信手段を備える。さらに、制御手段、たとえばマイクロコントローラ、マイクロプロセッサ等が、送受信手段を通じて他のノードから信号を受信し、送受信手段を通じて他のノードに信号を送信するように構成される。制御手段はまた、上述したプロトコルをプロセッサ実行可能命令として実行することにより動作制御を提供する。記憶手段が、無線通信デバイス内に且つ制御手段と動作的に通信するように配置されている。記憶手段は、メモリモジュール、リムーバブルメディア、複数の記憶デバイスの組合せ等であってもよく、説明した実施形態のプロトコルを実行するために必要なプロセッサ実行可能命令を格納するようなサイズである。さらに、タイミング手段が、別個のコンポーネントとして又は制御手段の機能として提供される。タイミング手段は、説明した実施形態において言及したタイマのそれぞれに必要な時間間隔追跡を提供する。電源のような通電手段が無線通信デバイスのすべてのコンポーネントに電気的に接続されることにより、必要に応じてコンポーネントに動作電力を提供する。
【0207】
説明した実施形態を実行するためのプロセッサ実行可能命令を、EPROM、フラッシュメモリ又は他のこうした不揮発性記憶装置のような形態で記憶手段に組み込んでもよい。さらに、プロセッサ実行可能命令を、光媒体又は磁気媒体のようなコンピュータ可読媒体に格納してもよく、又はネットワーク(たとえばインターネット)によってダウンロード可能としてもよい。プロセッサ実行可能命令を、追加の拡張機能を利用可能となるとシステムに提供するために、必要に応じて、ユーザが定期的に更新することができることが好ましい。
【0208】
<RSUを介するLPG間ルーティングサービス>
本発明の一実施形態では、RSU100は、その無線有効範囲内の複数のLPG115間でパケットを中継することができる。この実施形態では、RSU100は、1つの特定のLPG115の一部ではない。RSU100は、RSU無線有効範囲内の他のLPG115に情報をユニキャスト又はマルチキャストで伝播するために、複数のLPG115によって、境界ノードとして使用される。GH1300、FN2410、GN1500は、すべてのLPG間パケットをユニキャスト又はマルチキャストでRSU100に転送する。そして、RSU100は、パケットを適当なLPG115又はノードに中継する。各LPG115内では、各ノードは、上述したルーティングプロセスを使用して互いに通信する。RSU100は、互いにリンクされて情報を共有することが可能である。リンクされたRSU100は、情報を、多数の局所LPG115に達するように、隣接するRSU100に中継する。バックボーンネットワークへのエッジノードであるRSU100は、LPG115間パケットを多数のLPG115及びこうした情報を収集するバックボーンサ
ーバに中継することができる。
【0209】
この実施形態によれば、RSU100は、単にLPG間中継ノードであって、LPG115のメンバではない。これにより、RSU100を組み込むためのLPG115における編成及び役割割当て時間が低減する。RSUがLPG115に完全には関係していないため、初期LPG構造が維持される。さらに、RSU100有効範囲内のLPG115内の移動車両110に対する境界ノード(BN)の選択プロセスが排除される。しかしながら、RSUエリア外になると、境界ノードは必要となる。LPG115及び個々の車両は、RSUをいくつかの方法で発見する。車両はRSU100の事前知識を有することができ、それにより前もってLPG間中継を識別することができる。この知識は、他のRSU100(リンクされたRSUの場合)により又は恐らくは先行する移動車両110により提供される。さらに、RSU位置および情報を移動車両110において事前構成することができ、又はRSU100を、LPG間中継ノードとして指定しているRSU100からのビーコンを介して動的に発見することができる。
【0210】
RSU100は、GH1300からハートビート制御パケット1700をリスンすることにより、そのエリア内のLPG115を追跡することができる。移動車両110又はノードは、V−Rチャネル及びV−Vチャネルの両方によってハートビート制御パケット1700を送信する。V−Vチャネルは、LPG内関連トラフィックに対して排他的に使用されるが、V−Rチャネルは、LPG間トラフィックに使用される。
【0211】
<他のRSUサービス>
RSU100を、複数のネットワークサービス及び車両サービスに使用することができる。たとえば、RSU100は、ノードに対する認証支援、RSUの位置及びIPアドレスのようなネットワーク情報収集、LPG115及びRSU100接続に対する構成支援、並びに移動ノードローミング支援を提供することができる。さらに、RSU100を、車両安全警告、RSUベース位置決め、車両整備情報、通行料収集、並びにエリア内の商品及びサービスに関する位置情報に使用することができる。上述したサービスのいくつかはバックボーンなしに機能することができるが、他のサービスはバックボーン接続が必要である。
【0212】
一実施形態では、RSU100は、移動車両110に対するネットワーク認証をサポートする。図47は、認証プロセスをサポートするRSU100の一例を示す。遠隔の認証/検証局(certification/validation authority)(CA/VA)4700が、認証され許可されたノード4705のリストを保持し、認証サービスを提供する。通常、ネットワークに入る各ノードは、CA/VA4700により個々に自身を認証する。しかしながら、移動度の高い環境では、移動車両が短い接続期間しかCA/CA4700の範囲内にないため、短期間、すなわち、ノードがCA/VA4700又は別の標準固定ノードの無線有効範囲内にある間に、認証を実行しなければならない。本発明のこの実施形態によれば、RSU100は、GH1300がRSU100と通信している間、すなわちRSU100の無線サービスエリア内にある間に、GH1300に対し認証情報をオフロードすることによってCA/VA4700を支援する。図47において、破線は、RSU100の無線サービスエリアを示している。リストがGH1300にオフロードされた後、GH1300はCA/VA4700のように作用する。GH1300は、ハートビート制御パケット1700及びMR1800を使用して他のノードを認証する。したがって、LPG115がRSU100の無線有効範囲内にない時に、引き続き認証プロセスを行うことができる。この実施形態では、ハートビート制御パケット1700及びMR1800は、認証プロセスのためのパラメータを含むように変更される。しかしながら、認証プロセスに対し他のいかなる変更又はオーバーヘッドも不要である。GH1300は、LPG115のメンバをまとめて認証することができる。図示するように、GH1300は、移動車両11
01〜1109及び移動車両11011を認証するが、移動車両11010は拒否しており、すなわち、移動車両11010は禁止されている。GN1500は、GH1300を使用して認証することができない場合、RSU100を直接使用してCA/VA4700で認証を完了するようにすることができる。この冗長性メカニズムは、リストのオフロード又は認証ハンドシェイクが完了する前にGH1300がLPG115又はRSU100の範囲外に移動する場合を考慮する。
【0213】
別の実施形態では、RSU100を使用して、ネットワーク構成プロセス及びLPG115形成を支援することができる。特に、RSU100は、ネットワーク内の他のRSU100及びその無線有効範囲内のすべてのLPG115を認識しているため、近づいているRSU100に対して移動車両110を事前構成するか又はLPG115形成を支援することができる。ネットワーク構成パラメータは、タイムスロット割当て、チャネル割当て、近づいている、すなわちダウンストリームRSU100のIPアドレス及びESSIDを含むことができる。
【0214】
RSU100はまた、LPG115に対するV−Vチャネルの割当てを支援し、移動車両110が参加するLPG115を見つけるのを支援することも可能である。さらに、RSU100は、LPG115の併合及び分割を支援することができる。
【0215】
図48は、LPG整備、形成を支援し、ネットワーク構成支援を提供する複数のRSU100の一例を示す。
【0216】
RSU2 1002は、RSU1 1001のネットワーク設定に対し移動車両1107〜11011を事前構成することができる。これは、接続遅延時間の低減に役立ち、RSU1 1001の無線サービスエリア内に入るノードに対しより有効な通信時間を与える。陰付きエリアは、RSU100の無線サービスエリアを示している。たとえば、RSU2 1002は、移動車両1107に対して事前構成設定をブロードキャストする。この情報を、LPG115内の他の移動車両110に中継することができ、又はRSU100から直接受信することができる。RSU100事前構成支援を使用して、ノードは、さまざまなRSUエリアを通過して移動する際に、ネットワーク全体との仮想接続を維持することができる。RSU2 1002は、移動車両が走行していた方向を認識する必要があるため、適当なダウンストリームRSU100、すなわち図48におけるRSU1 1001を判定することができる。図48はバックボーン200の無いネットワークを示しているが、ネットワークは、すべてのRSU100構成パラメータのデータベースを含むバックボーンを含んでもよい。
【0217】
さらに、RSU100は、チャネル干渉を回避するようにLPG内通信に対しV−Vチャネルを選択することができる。RSU100は、V−Rチャネルを使用して、LPG115に対し、いずれのチャネルを使用することができるかを通知する。RSU100は、チャネル割当てをメンバに中継するためにGH1300に送信する。たとえば、LPG1
1151に対し、RSU1 1001によりチャネルAを割り当てることができ、それをこの情報を移動車両1102にブロードキャストすることによって行うことができる。同様に、LPG2 1152に対しRSU1 1001によってチャネルBを割り当てることができ、それをこの情報を移動車両1105にブロードキャストすることによって行うことができる。移動車両1101及び1105は、各それぞれのLPG115内の他の車両に対してメッセージを中継する。
【0218】
RSU100は、LPG115の移動度による競合を検出すると、LPG115に対し更新したチャネル割当てを送信することができる。これは、干渉を防止し、形成済みのLPG115と新たに作成されたLPG115との両方を支援する。新たに作成されたLP
G115の場合、RSU100はその新たに作成されたLPG115に対し利用可能なチャネルを割り当てる。
【0219】
さらに、RSU100は、移動車両110がLPG115を見つけるのを支援することができる。RSU100は、LPG識別、チャネル割当て及びV−Rチャネルを使用するメンバの数のような、LPG115に関する情報をブロードキャストすることができる。たとえば、RSU1 1001は、LPG1 1151及びLPG2 1152に対し移動車両1106にこの情報をブロードキャストすることができる。この実施形態では、新たなメンバは、ハートビート制御パケット1700をヒアリングする前にLPG115に参加することができる。RSU100は、分離されている場合、RSU100毎に局所的なLPG115の形成、すなわち無線サービスエリア内の車両及びLPG115しか支援することができない。しかしながら、RSU100がリンクされている場合、1つのRSU100から別のRSU110に移動している新たな移動車両110を、RSU100を介して別のLPGに参加するように事前構成することができる。
【0220】
RSU100は、2つのLPG115の併合を制御することができる。RSU100は、GHの1つに、GH1300に対しハートビート制御パケット1700のブロードキャストを停止することを要求する制御パケットをブロードキャストし、ハートビート制御パケット1700の配信範囲(ホップカウント)を拡張するように他のGHを呼び出して、他のLPG115の移動車両110が範囲拡張されたハートビート制御パケット1700をヒアリングしLPG115に参加することができるようにする。同様に、RSU100は、1つのLPG115の分割を制御することができる。
【0221】
別の実施形態では、RSU100は、一時的なメッセージリポジトリ及び情報収集デバイスとしての役割を果たすことができる。すべての通過する移動車両110が、他の移動車両110が取り込むことができるようにRSU100に情報を預けることができる。RSU100は、その局所エリアの情報を収集し集約する。さらに、RSU100は、他のRSU100にリンクされている場合、局所的に収集された情報を共有することができる。さらに、バックボーン200に接続されている場合、情報をバックボーン200に中継して格納することができる。
【0222】
収集される情報は、交通情報、事故警告、気象情報及び道路状態に及んでもよい。この情報を、要求なしに通過する移動車両110にブロードキャストすることができる。代替的に、移動車両110がこの情報を能動的に要求してもよい。RSU100が分離されている場合、移動車両は、移動車両110が出くわす各RSU100に対し同じ情報をアップロードする必要がある。情報はまた、移動車両110が出くわす他のRSU100に関する情報を含むことにより、RSU100のデータベースを構築し、すなわち通過する移動車両110を介して他のRSUに関して学習することも可能である。
【0223】
図49は、2つのリンクされたRSU(RSU1 1001及びRSU2 1002)による情報収集プロセスの一例を示す。RSU1 1001及びRSU2 1002は、接続400によってリンクされている。この接続400は、有線接続であっても無線接続であってもよい。両RSU1 1001及びRSU2 1002は、V−Rチャネルで収集した情報をブロードキャストする。この実施形態では、RSU100はLPG115のノードではない。個々のノードは、上述したLPGルーティングプロセスを使用して情報を預け且つ受信することができ、又はV−Rチャネルの情報を直接ブロードキャストすることができる。移動車両110は、ビーコンにより預け場所としてRSU100を発見する。代替的に、移動車両は、アップストリームRSUを介して他のRSUを発見することができる。図49に示すように、移動車両1105及び1106は、RSU2 1002からRSU1 1001を発見することができる。RSU1 1001は、移動車両11
01〜1104に対する預け場所であり、RSU2 1002は、移動車両1104〜1106に対する預け場所である。移動車両1104は、両RSU1 1001及びRSU2 1002に対し情報を預けることができる。RSU1 1001及びRSU2 1002がリンクされているため、預けられた情報のすべてを、移動車両1101〜1106のすべてが受信することができる。
【0224】
別の実施形態では、RSU100を使用して、安全情報を複数のLPG115に中継することができる。図50は、2つのRSU、すなわちRSU1 1001及びRSU2 1002に対する安全情報をルーティングするネットワーク構成及び転送プロセスの一例を示す。各RSU100は、ルータ1030及び安全警告アプリケーションサービス5000を含む。安全警告メッセージは、安全警告アプリケーションサービス5000によって処理される。安全警告アプリケーションサービス5000は、メッセージのタイプ及びメッセージの内容に従ってメッセージを処理する。それは、メッセージをルーティングすべきか又はメッセージのルーティングを停止すべきかを判定する。
【0225】
安全メッセージをルーティングする好ましい実施形態では、ネットワークはバックボーン200を含む。バックボーン200は、各RSU100に対するルータを含む。バックボーン200とRSU100との間に、それに応じて情報を仕向けるRSUハブ5010がある。
【0226】
図50は、5つのLPG1151〜1155を示し、それぞれが少なくとも1つの移動車両110を有する。図50は、LPG1 1151における事故を示している。安全警告メッセージは、上述したルーティングプロセスのうちの1つに従って、LPG内ルーティングを介してLPG1 1151内で転送される。メッセージはまた、LPG間ルーティング手続きを介してLPG115間でルーティングされる。さらに、メッセージは、RSU100及び安全警告アプリケーションサービス5000を使用してLPG115間でルーティングされる。たとえば、LPG1 1151内の1つのノードが、安全メッセージをRSU1 1001にブロードキャストする。RSU1001は、安全警告アプリケーションサービス50001を使用してメッセージを処理することにより、メッセージが転送されるべきか否かを判定する。RSU1 1001は、必要な場合に、メッセージをLPG2 1152及びLPG3 1153に転送することができる。さらに、RSU1
1001は、安全メッセージをバックボーン200に送信する。そして、メッセージは、RSUハブ5010を介してRSU2 1002にルーティングされる。RSU2 1002は、安全警告アプリケーションサービス50002を使用して安全メッセージを処理することにより、メッセージが転送されるべきか否かを判定する。RSU2 1002は、メッセージをLPG4 1154及びLPG5 1155に転送することができる。図示するように、両RSU、すなわちRSU1 1001及びRSU2 1002は、安全メッセージが残りのLPG1151〜1155に中継されるべきであると判定している。破線は、安全メッセージの中継を表す。
【0227】
別の実施形態では、RSU100を使用して、GPSシステムを使用することなく移動車両110の位置を追跡することができる。図51は、2つのRSU、すなわちRSU1
1001及びRSU2 1002に対し移動車両110の位置を判定するネットワーク構成の一例を示す。この実施形態のネットワーク構成は、図50に示すような先の実施形態に実質的に類似しているが、各RSU100の安全警告アプリケーションサービス5000の代りに、位置アプリケーションサービス5100が含まれている。
【0228】
位置アプリケーションサービス5100は、その位置5110、すなわちRSU100の位置を周期的にブロードキャストし、各移動車両110はその存在をRSU100の位置アプリケーションサービス5100に報告する。移動車両110は、報告を、MR18
00を介して、V−Rチャネルを介してRSU100に直接送信する。代替的に、各移動車両110は、MR1800をGHに送信することができ、GHはRSU100に対して集合メッセージを送信する。これにより帯域幅が節約される。RSU1 1001の無線有効範囲内のいずれの移動車両110もエリア1にあり、RSU2 1002の無線有効範囲内のいずれの移動車両110もエリア2内にある。
【0229】
位置情報は、位置アプリケーションサービス5100によりすべてのノードに配布される。位置情報は、他のRSU100が使用するためにバックボーン200に格納される。図51は、例示のためにLPG1 1151に向けられている1つのビーコン5110を示すが、ビーコン5110は、すべてのLPG115及び移動車両110にブロードキャストされる。
【0230】
この実施形態によれば、移動車両の相対位置、すなわちエリア1対エリア2を追跡することができる。より正確な位置測定のためには、位置追跡のためにリモートAP330が使用される。AP330は、位置ビーコン5110を送出する。その有効範囲内の移動車両110は、MR1800で応答する。相対位置情報は、RSU100及び位置アプリケーションサービス5100に転送される。相対位置を、より狭いエリア、すなわちエリア1、サブA内で判定することができる。さらに、より正確な位置追跡のために、ビーコン5110及びMR1800の頻度を増大させることができる。ルータ1030からの破線は、他のLPG1152〜1155に転送されている位置情報を表している。
【0231】
この機能は、特に貨物を追跡するために有用である。さらに、それらの機能を使用して、移動ノードを追跡することにより、1対1通信をサポートすることができる。たとえば、ノードがLPG115外に移動する場合、LPG115は、ノードに関するいかなる情報も有していない。通信の中間のノードは切り離される。したがって、この機能により、ノードは、LPG115外に移動する際に接続を維持することができる。RSU100は、外部エージェントとしての役割を果たす。この場合、RSU100は、位置情報をバックボーン200のサーバに送信し、サーバは、この情報を、トラフィックを移動ノードに転送する際に使用するために格納する。
【0232】
別の実施形態では、RSU100を、移動車両整備サービスに使用することができる。図52は、整備サービスに使用される2つのRSU100の一例を示す。この構成では、車両整備サーバ5200がバックボーン200に設置されている。RSU1 1001及びRSU2 1002は共にリンクされており、バックボーン200と通信することができる。移動車両1101はRSU1 1001の無線範囲内にあり、移動車両1102〜1104はRSU2 1002の無線範囲内にある。この実施形態によれば、RSU100は、移動車両110から診断情報を受取り、緊急整備情報を提供することができる。診断情報は、車両整備サーバ5200に送信されて格納される。そして、RSU100は、ガソリンスタンド、病院、タイヤ修理店、給油所等の位置のような情報を提供する。この情報は、上述したプロセス又はRSU100の位置に基づいて判定された移動車両110の相対位置に基づく。たとえば、移動車両1101は、ガソリンがなくなった場合、RSU100に対し最も近いガソリンスタンドの位置に関する情報を要求することができる。RSU1 1001は、最も近いガソリンスタンドを判定し、その情報を移動車両1101にブロードキャストする。同様に、移動車両1102は、タイヤがパンクした場合、RSU2 1002に対し、最も近いガソリンスタンドの位置に関する情報を要求することができる。RSU2 1002は、最も近いタイヤ交換店を判定し、その情報を移動車両1102にブロードキャストする。
【0233】
さらに、移動車両1103にチェックエンジン信号表示が出た場合、移動車両1103は、RSU2 1002に対し、最も近いガソリンスタンドの位置に関する情報を要求す
ることができる。RSU2 1002は、最も近いガソリンスタンドを判定し、その情報を移動車両1103にブロードキャストする。RSU100はまた、移動車両1103からの緊急事象を示すレポートを車両整備サーバ5200に送信し、格納する。
【0234】
RSU100はまた、車両整備サーバ5200の移動車両110に関する想起情報をサービスリマインダと共に追跡することもできる。サービスリマインダは、オイル交換、液体補充、タイヤローテーション及び検査を含むことができる。サービスが必要となるたびに、車両整備サーバ5200からの情報を使用するRSU100は、移動車両110に対し、サービスが必要であること及びサービスのタイプを示すリマインダを積極的に送信することができる。
【0235】
本発明の別の実施形態では、RSU100を使用して、通行料の収集を容易にすることができる。図53は、通行料の収集に対するRSU100構成の一例を示す。通行料収集システムは、バックボーン200、RSU100及びAP330を含む。図示するように、システムは5つのAP3301〜3305を有する。RSU1 1001は、ハブ320を介してAP3301〜3305に接続されている。RSU1 1001は、ルータ及び通行料収集アプリケーションサービス5300を含む。AP330のうちの1つ、たとえばAP1 3301に、通行料スキャンデバイスが設けられている。通行料スキャン領域に入る移動車両は、RSU1 1001から通行料収集アプリケーションサービス5300を介して、AP1 3301を通じて通行料収集プロセスを開始するために中継される初期通行料収集信号5305を受信する。移動車両110は、信号を受信すると、車両識別及びクレジットカード番号5310のような自身の情報で中継することにより通行料支払い送信を引き起こす。別の実施形態では、クレジットカード番号が不要であるように、クレジットカード番号は先に車両に関連付けられている。通行料収集アプリケーションサービス5300は、取引を完了する。これらの実施形態によれば、移動車両110は通行料を支払うために停止するか又は減速する必要がない。
【0236】
たとえば、移動車両1101は、AP1 3301の無線有効範囲に入り、通行料スキャンデバイスが移動車両1101を検出し、その検出をRSU1 1001に中継する。通行料収集アプリケーションサービス5300は、通行料収集パケットを、AP1 3301を通じて移動車両1101に送信する。移動車両1101は、識別情報を含む応答をRSU1 1001に送信し、RSU1 1001は、応答を通行料収集アプリケーションサービス5300に転送する。通行料収集アプリケーションサービス5300は取引を完了し、その取引をバックボーン200に格納する。通行料スキャンデバイスは、AP330のいずれに位置してもよい。
【0237】
本明細書では、本発明を特定の例示的な実施形態に関連して説明した。本発明の範囲から逸脱することなく、当業者には何らかの改変及び変更が明らかとなり得る。例示的な実施形態は、例示するものであることが意図されており、添付の特許請求の範囲によって規定される本発明の範囲を限定するように意図されるものではない。
【特許請求の範囲】
【請求項1】
無線アドホックネットワークのローカルピアグループ内のノード間で情報パケットをルーティングする方法であって、
(a)グループヘッダノードから、少なくとも1つのルーティングパラメータを含む第1の制御パケットを受信するステップと、
(b)前記少なくとも1つのルーティングパラメータに基づいてルーティングテーブルを更新するステップと、
(c)前記ローカルピアグループ内のグループノードから、少なくとも1つの追加のルーティングパラメータを含む第2の制御パケットを受信するステップと、
(d)前記少なくとも1つの追加のルーティングパラメータに基づいて前記ルーティングテーブルを更新するステップと、
(e)前記更新ステップの両方が完了した時に、前記ルーティングテーブルから転送テーブルを生成するステップと、
を含む、情報パケットルーティング方法。
【請求項2】
前記ステップ(b)は、シーケンス番号を使用して、前記第1の制御パケットが順序通りであるか否かを判定するサブステップをさらに含む、請求項1に記載の情報パケットルーティング方法。
【請求項3】
前記ステップ(b)は、前記第1の制御パケットが順序通りであると判定された場合にのみ実行される、請求項2に記載の情報パケットルーティング方法。
【請求項4】
前記少なくとも1つのルーティングパラメータは、グループリスト、ホップカウント及び前記グループヘッダへの次ホップを含む、請求項1に記載の情報パケットルーティング方法。
【請求項5】
前記ステップ(b)は、
(i)前記グループリストに基づいて宛先リストを変更するステップと、
(ii)前記第1の制御パケットに直接関連した直接の中継ノードを除く前記宛先リスト内のすべての宛先に対し、宛先への次ホップを前記グループヘッダに初期化するステップと、
(iii)前記グループヘッダへの前記次ホップを前記直接の中継ノードに変更するステップと、
をさらに含む、請求項4に記載の情報パケットルーティング方法。
【請求項6】
前記ステップ(b)は、シーケンス番号を使用して、前記第1の制御パケットが新しいか否かを判定するサブステップをさらに含み、前記第1の制御パケットが新しくない場合は、前記更新するステップは、前記直接の中継ノードに対応する宛先ノードに対する次ホップのみを更新するサブステップを含む、請求項1に記載の情報パケットルーティング方法。
【請求項7】
前記ステップ(d)は、
(i)前記第2の制御パケットに対するソースを判定するステップと、
(ii)前記第2の制御パケットの直接の送信者を判定するステップと、
(iii)前記第2の制御パケットの前記少なくとも1つの追加のルーティングパラメータに基づいて、前記直接の送信者を介して前記ソースに対する次ホップを変更するステップと、
(iv)前記第2の制御パケットの前記少なくとも1つの追加のルーティングパラメータに基づいて、前記直接の送信者に対する前記次ホップを変更するステップと、
をさらに含む、請求項1に記載の情報パケットルーティング方法。
【請求項8】
前記転送テーブルは、前記情報のパケットをルーティングするために使用される、請求項1に記載の情報のパケットをルーティングする方法。
【請求項9】
前記第1の制御パケットの受信後に、ノードは、前記第1の制御パケットのホップカウント値フィールドをインクリメントし、前記第1の制御パケットの前記グループヘッダへの次ホップフィールドに前記ノードの識別を挿入する、請求項1に記載の情報パケットルーティング方法。
【請求項10】
前記ノードは、前記インクリメント及び挿入を行った後に前記第1の制御パケットを転送する、請求項9に記載の情報パケットルーティング方法。
【請求項11】
前記第2の制御パケットの受信後に、ノードは、前記グループヘッダに向けて該第2の制御パケットを転送する、請求項10に記載の情報パケットルーティング方法。
【請求項12】
前記ステップ(a)〜(e)は、前記ローカルピアグループのすべてのグループノードによって実行される、請求項1に記載の情報パケットルーティング方法。
【請求項13】
無線アドホックネットワークのローカルピアグループ内のノード間で情報パケットをルーティングするルーティング方法であって、
ノードによって受信される制御パケットのタイプを判定すること、
前記制御パケットが前記ノードにより順序通りに受信されているか否かを判定すること、及び
前記制御パケットが順序通りである場合に、該制御パケットに含まれる情報に基づいてルーティングテーブルを更新すること、
を含む、ルーティング方法。
【請求項14】
前記制御パケットのタイプは、ハートビート制御パケット又はメンバシップレポートである、請求項13に記載のルーティング方法。
【請求項15】
前記ノードがグループヘッダであるか又はグループノードであるかを判断することをさらに含む、請求項14に記載のルーティング方法。
【請求項16】
前記ノードが前記グループノードであり且つ前記制御パケットのタイプが前記ハートビート制御パケットである場合、前記更新するステップは、該ハートビート制御パケットに含まれるグループメンバシップリストのすべてのメンバを含むように前記ルーティングテーブルを変更することを含む、請求項15に記載のルーティング方法。
【請求項17】
前記制御パケットが前記ノードにより順序通りに受信されているか否かを判定することは、前記制御パケットに含まれるシーケンス番号値とメモリに格納されているシーケンス番号との比較に基づき、前記受信されたシーケンス番号値がメモリに格納されている前記シーケンス番号より大きい場合、制御パケットは順序通りに受信されている、請求項13に記載のルーティング方法。
【請求項18】
アドホックネットワークにおいてノードによって着信パケットを処理する方法であって、
前記着信パケットを受信するステップと、
前記着信パケットが前記ノード宛てであるか否かを判定するステップと、
前記着信パケットが前記ノード宛てでない場合、ルーティングテーブルのエントリを読
み取ることに基づいて、宛先への次ホップを判定するステップと、
前記宛先への次ホップに前記着信パケットを中継するステップと、
を含む、着信パケット処理方法。
【請求項19】
前記着信パケットが前記ノード宛てである場合、該ノードは該着信パケットを処理し消費する、請求項18に記載の着信パケット処理方法。
【請求項20】
アドホック無線ネットワークにおいてマルチキャストメッセージをルーティングする方法であって、
転送するためにマルチキャストメッセージを受信するステップと、
前記マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定するステップと、
前記マルチキャストメッセージが以前に転送されているか否かを判定するステップと、
前記マルチキャストメッセージが以前に転送されていないと判定され、且つ前記マルチキャストグループ宛先が前記マルチキャスト転送テーブルにあると判定された場合に、前記マルチキャストメッセージを転送するステップと、
前記マルチキャストメッセージが送信された後に、前記マルチキャストメッセージを送信済みリストに追加するステップと、
を含む、マルチキャストメッセージルーティング方法。
【請求項21】
前記マルチキャストメッセージが送信待ち行列にあるか否かを判定するステップをさらに含み、前記マルチキャストメッセージは、前記送信待ち行列にない場合、転送のために送信待ち行列に追加され、前記送信待ち行列にある場合、破棄される、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項22】
前記マルチキャスト転送テーブルに列挙されている前記マルチキャストグループ宛先を有する各ノードに対し、送信チャネルを選択するステップと、
前記マルチキャスト転送テーブルに列挙されている前記マルチキャストグループ宛先を有する各ノードに対し、受信チャネルを選択するステップと、
をさらに含む、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項23】
前記送信チャネル及び前記受信チャネルは、交互になるように選択される、請求項22に記載のマルチキャストメッセージルーティング方法。
【請求項24】
前記送信チャネル及び前記受信チャネルは、単一交互パターンで交互になるように選択される、請求項23に記載のマルチキャストメッセージルーティング方法。
【請求項25】
転送ノードであるように選択される各ノードは、その送信チャネル及び受信チャネルを、グループヘッダからのハートビート制御パケットに含まれる基準送信チャネル及び受信チャネルと、同様に前記ハートビート制御パケットに含まれるグループヘッダからのホップカウントとに基づき、前記単一交互パターンに設定する、請求項23に記載のマルチキャストメッセージルーティング方法。
【請求項26】
前記マルチキャスト転送テーブルは、
ローカルピアグループ内の各ノードに対し分類を割り当てること、
前記ローカルピアグループ内のすべてのノードから選択されたノードであるグループヘッダからのホップカウントを各ノードに対して判定すること、
マルチキャストメンバシップ情報を収集すること、及び
前記収集されたマルチキャストメンバシップ情報及びグループヘッダからのホップカウントに基づき、マルチキャストグループに対するメッシュにおける転送ノードを選択する
こと、
を含む方法に基づいて生成される、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項27】
各選択された転送ノードは、マルチキャストグループ識別を前記マルチキャスト転送テーブルに格納する、請求項26に記載のマルチキャストメッセージルーティング方法。
【請求項28】
前記分類、グループヘッダからのホップカウント及びマルチキャストメンバシップ情報は、前記グループヘッダから前記ローカルピアグループ内の他のノードにブロードキャストされる、請求項26に記載のマルチキャストメッセージルーティング方法。
【請求項29】
前記転送ノードは、マルチキャストグループに対応する前記マルチキャストメンバシップ情報を含むメンバシップレポートを受信せずに、プリセットタイマが満了すると、前記マルチキャストグループに対する非転送ノードとなる、請求項26に記載のマルチキャストメッセージルーティング方法。
【請求項30】
前記マルチキャストルーティングテーブルは、グループヘッダに中継されたマルチキャストメンバシップ情報を含むメンバシップレポートに基づいて生成され、マルチキャストメンバから前記グループヘッダに前記メンバシップレポートを中継するすべてのノードは、前記マルチキャストメンバを含むマルチキャストグループに対する転送ノードとなり、各転送ノードは、前記マルチキャスト転送テーブルに前記マルチキャストグループ宛先を記録する、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項31】
マルチキャストグループに対する転送ノードの数は、各マルチキャストメンバに対する前記グループヘッダからの前記ホップカウントに基づいて、該グループヘッダにより調整される、請求項30に記載のマルチキャストメッセージルーティング方法。
【請求項32】
前記調整は、前記グループヘッダと、特定のマルチキャストグループの該グループヘッダに最も近いマルチキャストメンバであると判定されたマルチキャストメンバとの間のすべての転送ノードをプルーニングし、前記グループヘッダ自体をプルーニングする、請求項31に記載のマルチキャストメッセージルーティング方法。
【請求項33】
転送ノードは、プルーニングされると、前記マルチキャスト転送テーブルから、前記プルーニングされたマルチキャストグループに対応する前記マルチキャストグループ宛先を削除する、請求項32に記載のマルチキャストメッセージルーティング方法。
【請求項34】
所定時間、前記送信されたマルチキャストメッセージをメモリに格納するステップと、
前記送信されたマルチキャストメッセージが、隣接する転送ノードから前記所定時間内に受信されたか否かを検出するステップと、
前記マルチキャストメッセージが前記所定時間内に検出されなかった場合、前記転送ステップを繰り返すステップと、
をさらに含み、前記マルチキャストメッセージが前記所定時間内に検出された場合、前記マルチキャストメッセージはメモリから破棄される、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項35】
前記転送するステップが繰り返される回数をカウントするステップと、
前記カウントされた回数を事前設定された閾値と比較するステップと、
前記カウントされた回数が前記事前設定された閾値を上回る場合、前記マルチキャストメッセージを破棄するステップと、
をさらに含む、請求項34に記載のマルチキャストメッセージルーティング方法。
【請求項36】
前記送信チャネル及び前記受信チャネルは、二重交互パターンで交互になるように選択される、請求項35に記載のマルチキャストメッセージルーティング方法。
【請求項37】
前記二重交互パターンを設定する方法は、
(a)基準送信チャネルを指定するステップと、
(b)基準分類方向を選択するステップと、
(c)前記基準送信チャネル及び前記基準分類方向を含むハートビート制御パケットをブロードキャストするステップと、
(d)前記基準分類方向及び前記基準送信チャネルに基づいて送信チャネルを割り当てるステップと、
を含む、請求項36に記載のマルチキャストメッセージルーティング方法。
【請求項38】
前記ステップ(d)は、
転送ノードに対し分類方向を判定するサブステップと、
前記グループヘッダからのそのホップ距離を判定するサブステップと、
前記分類方向と前記基準分類方向との比較及び前記グループヘッダからの前記ホップ距離に基づいて、前記送信チャネルを割り当てるサブステップと、
を含む、請求項37に記載のマルチキャストメッセージルーティング方法。
【請求項39】
無線通信デバイスであって、
転送するために前記マルチキャストメッセージを受信する手段と、
前記マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを確定する手段と、
前記マルチキャストメッセージが以前に転送されているか否かを判定する手段と、
前記マルチキャストメッセージが以前に転送されていないと判定され、且つ前記マルチキャストグループ宛先が前記マルチキャスト転送テーブルにあると判定された場合に、前記マルチキャストメッセージを転送する手段と、
前記マルチキャストメッセージが送信された後に、前記マルチキャストメッセージを送信済みリストに追加する手段と、
を備える、無線通信デバイス。
【請求項40】
前記マルチキャスト転送テーブル及び前記送信済みリストを格納する手段をさらに備える、請求項39に記載の無線通信デバイス。
【請求項41】
新たなマルチキャストメッセージが以前に送信されているか否かを判定する手段と、
新たなマルチキャストメッセージが先に送信されている場合に前記新たなマルチキャストメッセージを破棄する手段と、
前記新たなマルチキャストメッセージが送信待ち行列にあるか否かを確定する手段と、
新たなマルチキャストメッセージが先に送信されており且つ前記送信待ち行列にある場合、該送信待ち行列からマルチキャストメッセージを除去する手段と、
をさらに備える、請求項39に記載の無線通信デバイス。
【請求項42】
移動車両に設置される、請求項39に記載の無線通信デバイス。
【請求項43】
無線通信デバイスであって、
前記着信パケットを受信する手段と、
前記着信パケットが前記ノード宛てであるか否かを判定する手段と、
前記着信パケットが前記ノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて、宛先への次ホップを確定する手段と、
前記宛先への次ホップに前記着信パケットを中継する手段と、
を備える、無線通信デバイス。
【請求項44】
移動車両に設置される、請求項43に記載の無線通信デバイス。
【請求項45】
移動車両の無線通信デバイスにおける少なくとも1つのプロセッサによって実行されることが可能な、メッセージをルーティングするように前記少なくとも1つのプロセッサを制御するためのコンピュータ可読命令のセットを含むコンピュータ可読媒体であって、前記ルーティングが、
転送するためにマルチキャストメッセージを受信するステップと、
前記マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定するステップと、
前記マルチキャストメッセージが先に転送されているか否かを判定するステップと、
前記マルチキャストメッセージが先に転送されていないと確定され、且つ前記マルチキャストグループ宛先が前記マルチキャスト転送テーブルにあると判定された場合に、前記マルチキャストメッセージを転送するステップと、
前記マルチキャストメッセージが送信された後に、前記マルチキャストメッセージを送信済みリストに追加するステップと、
を含む、コンピュータ可読媒体。
【請求項46】
着信パケットを受信するステップと、
前記着信パケットが前記ノード宛てであるか否かを判定するステップと、
前記着信パケットが前記ノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて、宛先への次ホップを判定するステップと、
前記宛先への次ホップに前記着信パケットを中継するステップと、
を実行するための命令をさらに含む、請求項45に記載の、移動車両の無線通信デバイスにおける少なくとも1つのプロセッサによって実行されることが可能な、メッセージをルーティングするように前記少なくとも1つのプロセッサを制御するためのコンピュータ可読命令のセットを含むコンピュータ可読媒体。
【請求項1】
無線アドホックネットワークのローカルピアグループ内のノード間で情報パケットをルーティングする方法であって、
(a)グループヘッダノードから、少なくとも1つのルーティングパラメータを含む第1の制御パケットを受信するステップと、
(b)前記少なくとも1つのルーティングパラメータに基づいてルーティングテーブルを更新するステップと、
(c)前記ローカルピアグループ内のグループノードから、少なくとも1つの追加のルーティングパラメータを含む第2の制御パケットを受信するステップと、
(d)前記少なくとも1つの追加のルーティングパラメータに基づいて前記ルーティングテーブルを更新するステップと、
(e)前記更新ステップの両方が完了した時に、前記ルーティングテーブルから転送テーブルを生成するステップと、
を含む、情報パケットルーティング方法。
【請求項2】
前記ステップ(b)は、シーケンス番号を使用して、前記第1の制御パケットが順序通りであるか否かを判定するサブステップをさらに含む、請求項1に記載の情報パケットルーティング方法。
【請求項3】
前記ステップ(b)は、前記第1の制御パケットが順序通りであると判定された場合にのみ実行される、請求項2に記載の情報パケットルーティング方法。
【請求項4】
前記少なくとも1つのルーティングパラメータは、グループリスト、ホップカウント及び前記グループヘッダへの次ホップを含む、請求項1に記載の情報パケットルーティング方法。
【請求項5】
前記ステップ(b)は、
(i)前記グループリストに基づいて宛先リストを変更するステップと、
(ii)前記第1の制御パケットに直接関連した直接の中継ノードを除く前記宛先リスト内のすべての宛先に対し、宛先への次ホップを前記グループヘッダに初期化するステップと、
(iii)前記グループヘッダへの前記次ホップを前記直接の中継ノードに変更するステップと、
をさらに含む、請求項4に記載の情報パケットルーティング方法。
【請求項6】
前記ステップ(b)は、シーケンス番号を使用して、前記第1の制御パケットが新しいか否かを判定するサブステップをさらに含み、前記第1の制御パケットが新しくない場合は、前記更新するステップは、前記直接の中継ノードに対応する宛先ノードに対する次ホップのみを更新するサブステップを含む、請求項1に記載の情報パケットルーティング方法。
【請求項7】
前記ステップ(d)は、
(i)前記第2の制御パケットに対するソースを判定するステップと、
(ii)前記第2の制御パケットの直接の送信者を判定するステップと、
(iii)前記第2の制御パケットの前記少なくとも1つの追加のルーティングパラメータに基づいて、前記直接の送信者を介して前記ソースに対する次ホップを変更するステップと、
(iv)前記第2の制御パケットの前記少なくとも1つの追加のルーティングパラメータに基づいて、前記直接の送信者に対する前記次ホップを変更するステップと、
をさらに含む、請求項1に記載の情報パケットルーティング方法。
【請求項8】
前記転送テーブルは、前記情報のパケットをルーティングするために使用される、請求項1に記載の情報のパケットをルーティングする方法。
【請求項9】
前記第1の制御パケットの受信後に、ノードは、前記第1の制御パケットのホップカウント値フィールドをインクリメントし、前記第1の制御パケットの前記グループヘッダへの次ホップフィールドに前記ノードの識別を挿入する、請求項1に記載の情報パケットルーティング方法。
【請求項10】
前記ノードは、前記インクリメント及び挿入を行った後に前記第1の制御パケットを転送する、請求項9に記載の情報パケットルーティング方法。
【請求項11】
前記第2の制御パケットの受信後に、ノードは、前記グループヘッダに向けて該第2の制御パケットを転送する、請求項10に記載の情報パケットルーティング方法。
【請求項12】
前記ステップ(a)〜(e)は、前記ローカルピアグループのすべてのグループノードによって実行される、請求項1に記載の情報パケットルーティング方法。
【請求項13】
無線アドホックネットワークのローカルピアグループ内のノード間で情報パケットをルーティングするルーティング方法であって、
ノードによって受信される制御パケットのタイプを判定すること、
前記制御パケットが前記ノードにより順序通りに受信されているか否かを判定すること、及び
前記制御パケットが順序通りである場合に、該制御パケットに含まれる情報に基づいてルーティングテーブルを更新すること、
を含む、ルーティング方法。
【請求項14】
前記制御パケットのタイプは、ハートビート制御パケット又はメンバシップレポートである、請求項13に記載のルーティング方法。
【請求項15】
前記ノードがグループヘッダであるか又はグループノードであるかを判断することをさらに含む、請求項14に記載のルーティング方法。
【請求項16】
前記ノードが前記グループノードであり且つ前記制御パケットのタイプが前記ハートビート制御パケットである場合、前記更新するステップは、該ハートビート制御パケットに含まれるグループメンバシップリストのすべてのメンバを含むように前記ルーティングテーブルを変更することを含む、請求項15に記載のルーティング方法。
【請求項17】
前記制御パケットが前記ノードにより順序通りに受信されているか否かを判定することは、前記制御パケットに含まれるシーケンス番号値とメモリに格納されているシーケンス番号との比較に基づき、前記受信されたシーケンス番号値がメモリに格納されている前記シーケンス番号より大きい場合、制御パケットは順序通りに受信されている、請求項13に記載のルーティング方法。
【請求項18】
アドホックネットワークにおいてノードによって着信パケットを処理する方法であって、
前記着信パケットを受信するステップと、
前記着信パケットが前記ノード宛てであるか否かを判定するステップと、
前記着信パケットが前記ノード宛てでない場合、ルーティングテーブルのエントリを読
み取ることに基づいて、宛先への次ホップを判定するステップと、
前記宛先への次ホップに前記着信パケットを中継するステップと、
を含む、着信パケット処理方法。
【請求項19】
前記着信パケットが前記ノード宛てである場合、該ノードは該着信パケットを処理し消費する、請求項18に記載の着信パケット処理方法。
【請求項20】
アドホック無線ネットワークにおいてマルチキャストメッセージをルーティングする方法であって、
転送するためにマルチキャストメッセージを受信するステップと、
前記マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定するステップと、
前記マルチキャストメッセージが以前に転送されているか否かを判定するステップと、
前記マルチキャストメッセージが以前に転送されていないと判定され、且つ前記マルチキャストグループ宛先が前記マルチキャスト転送テーブルにあると判定された場合に、前記マルチキャストメッセージを転送するステップと、
前記マルチキャストメッセージが送信された後に、前記マルチキャストメッセージを送信済みリストに追加するステップと、
を含む、マルチキャストメッセージルーティング方法。
【請求項21】
前記マルチキャストメッセージが送信待ち行列にあるか否かを判定するステップをさらに含み、前記マルチキャストメッセージは、前記送信待ち行列にない場合、転送のために送信待ち行列に追加され、前記送信待ち行列にある場合、破棄される、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項22】
前記マルチキャスト転送テーブルに列挙されている前記マルチキャストグループ宛先を有する各ノードに対し、送信チャネルを選択するステップと、
前記マルチキャスト転送テーブルに列挙されている前記マルチキャストグループ宛先を有する各ノードに対し、受信チャネルを選択するステップと、
をさらに含む、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項23】
前記送信チャネル及び前記受信チャネルは、交互になるように選択される、請求項22に記載のマルチキャストメッセージルーティング方法。
【請求項24】
前記送信チャネル及び前記受信チャネルは、単一交互パターンで交互になるように選択される、請求項23に記載のマルチキャストメッセージルーティング方法。
【請求項25】
転送ノードであるように選択される各ノードは、その送信チャネル及び受信チャネルを、グループヘッダからのハートビート制御パケットに含まれる基準送信チャネル及び受信チャネルと、同様に前記ハートビート制御パケットに含まれるグループヘッダからのホップカウントとに基づき、前記単一交互パターンに設定する、請求項23に記載のマルチキャストメッセージルーティング方法。
【請求項26】
前記マルチキャスト転送テーブルは、
ローカルピアグループ内の各ノードに対し分類を割り当てること、
前記ローカルピアグループ内のすべてのノードから選択されたノードであるグループヘッダからのホップカウントを各ノードに対して判定すること、
マルチキャストメンバシップ情報を収集すること、及び
前記収集されたマルチキャストメンバシップ情報及びグループヘッダからのホップカウントに基づき、マルチキャストグループに対するメッシュにおける転送ノードを選択する
こと、
を含む方法に基づいて生成される、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項27】
各選択された転送ノードは、マルチキャストグループ識別を前記マルチキャスト転送テーブルに格納する、請求項26に記載のマルチキャストメッセージルーティング方法。
【請求項28】
前記分類、グループヘッダからのホップカウント及びマルチキャストメンバシップ情報は、前記グループヘッダから前記ローカルピアグループ内の他のノードにブロードキャストされる、請求項26に記載のマルチキャストメッセージルーティング方法。
【請求項29】
前記転送ノードは、マルチキャストグループに対応する前記マルチキャストメンバシップ情報を含むメンバシップレポートを受信せずに、プリセットタイマが満了すると、前記マルチキャストグループに対する非転送ノードとなる、請求項26に記載のマルチキャストメッセージルーティング方法。
【請求項30】
前記マルチキャストルーティングテーブルは、グループヘッダに中継されたマルチキャストメンバシップ情報を含むメンバシップレポートに基づいて生成され、マルチキャストメンバから前記グループヘッダに前記メンバシップレポートを中継するすべてのノードは、前記マルチキャストメンバを含むマルチキャストグループに対する転送ノードとなり、各転送ノードは、前記マルチキャスト転送テーブルに前記マルチキャストグループ宛先を記録する、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項31】
マルチキャストグループに対する転送ノードの数は、各マルチキャストメンバに対する前記グループヘッダからの前記ホップカウントに基づいて、該グループヘッダにより調整される、請求項30に記載のマルチキャストメッセージルーティング方法。
【請求項32】
前記調整は、前記グループヘッダと、特定のマルチキャストグループの該グループヘッダに最も近いマルチキャストメンバであると判定されたマルチキャストメンバとの間のすべての転送ノードをプルーニングし、前記グループヘッダ自体をプルーニングする、請求項31に記載のマルチキャストメッセージルーティング方法。
【請求項33】
転送ノードは、プルーニングされると、前記マルチキャスト転送テーブルから、前記プルーニングされたマルチキャストグループに対応する前記マルチキャストグループ宛先を削除する、請求項32に記載のマルチキャストメッセージルーティング方法。
【請求項34】
所定時間、前記送信されたマルチキャストメッセージをメモリに格納するステップと、
前記送信されたマルチキャストメッセージが、隣接する転送ノードから前記所定時間内に受信されたか否かを検出するステップと、
前記マルチキャストメッセージが前記所定時間内に検出されなかった場合、前記転送ステップを繰り返すステップと、
をさらに含み、前記マルチキャストメッセージが前記所定時間内に検出された場合、前記マルチキャストメッセージはメモリから破棄される、請求項20に記載のマルチキャストメッセージルーティング方法。
【請求項35】
前記転送するステップが繰り返される回数をカウントするステップと、
前記カウントされた回数を事前設定された閾値と比較するステップと、
前記カウントされた回数が前記事前設定された閾値を上回る場合、前記マルチキャストメッセージを破棄するステップと、
をさらに含む、請求項34に記載のマルチキャストメッセージルーティング方法。
【請求項36】
前記送信チャネル及び前記受信チャネルは、二重交互パターンで交互になるように選択される、請求項35に記載のマルチキャストメッセージルーティング方法。
【請求項37】
前記二重交互パターンを設定する方法は、
(a)基準送信チャネルを指定するステップと、
(b)基準分類方向を選択するステップと、
(c)前記基準送信チャネル及び前記基準分類方向を含むハートビート制御パケットをブロードキャストするステップと、
(d)前記基準分類方向及び前記基準送信チャネルに基づいて送信チャネルを割り当てるステップと、
を含む、請求項36に記載のマルチキャストメッセージルーティング方法。
【請求項38】
前記ステップ(d)は、
転送ノードに対し分類方向を判定するサブステップと、
前記グループヘッダからのそのホップ距離を判定するサブステップと、
前記分類方向と前記基準分類方向との比較及び前記グループヘッダからの前記ホップ距離に基づいて、前記送信チャネルを割り当てるサブステップと、
を含む、請求項37に記載のマルチキャストメッセージルーティング方法。
【請求項39】
無線通信デバイスであって、
転送するために前記マルチキャストメッセージを受信する手段と、
前記マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを確定する手段と、
前記マルチキャストメッセージが以前に転送されているか否かを判定する手段と、
前記マルチキャストメッセージが以前に転送されていないと判定され、且つ前記マルチキャストグループ宛先が前記マルチキャスト転送テーブルにあると判定された場合に、前記マルチキャストメッセージを転送する手段と、
前記マルチキャストメッセージが送信された後に、前記マルチキャストメッセージを送信済みリストに追加する手段と、
を備える、無線通信デバイス。
【請求項40】
前記マルチキャスト転送テーブル及び前記送信済みリストを格納する手段をさらに備える、請求項39に記載の無線通信デバイス。
【請求項41】
新たなマルチキャストメッセージが以前に送信されているか否かを判定する手段と、
新たなマルチキャストメッセージが先に送信されている場合に前記新たなマルチキャストメッセージを破棄する手段と、
前記新たなマルチキャストメッセージが送信待ち行列にあるか否かを確定する手段と、
新たなマルチキャストメッセージが先に送信されており且つ前記送信待ち行列にある場合、該送信待ち行列からマルチキャストメッセージを除去する手段と、
をさらに備える、請求項39に記載の無線通信デバイス。
【請求項42】
移動車両に設置される、請求項39に記載の無線通信デバイス。
【請求項43】
無線通信デバイスであって、
前記着信パケットを受信する手段と、
前記着信パケットが前記ノード宛てであるか否かを判定する手段と、
前記着信パケットが前記ノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて、宛先への次ホップを確定する手段と、
前記宛先への次ホップに前記着信パケットを中継する手段と、
を備える、無線通信デバイス。
【請求項44】
移動車両に設置される、請求項43に記載の無線通信デバイス。
【請求項45】
移動車両の無線通信デバイスにおける少なくとも1つのプロセッサによって実行されることが可能な、メッセージをルーティングするように前記少なくとも1つのプロセッサを制御するためのコンピュータ可読命令のセットを含むコンピュータ可読媒体であって、前記ルーティングが、
転送するためにマルチキャストメッセージを受信するステップと、
前記マルチキャストメッセージのマルチキャストグループ宛先がマルチキャスト転送テーブルにあるか否かを判定するステップと、
前記マルチキャストメッセージが先に転送されているか否かを判定するステップと、
前記マルチキャストメッセージが先に転送されていないと確定され、且つ前記マルチキャストグループ宛先が前記マルチキャスト転送テーブルにあると判定された場合に、前記マルチキャストメッセージを転送するステップと、
前記マルチキャストメッセージが送信された後に、前記マルチキャストメッセージを送信済みリストに追加するステップと、
を含む、コンピュータ可読媒体。
【請求項46】
着信パケットを受信するステップと、
前記着信パケットが前記ノード宛てであるか否かを判定するステップと、
前記着信パケットが前記ノード宛てでない場合、ルーティングテーブルのエントリを読み取ることに基づいて、宛先への次ホップを判定するステップと、
前記宛先への次ホップに前記着信パケットを中継するステップと、
を実行するための命令をさらに含む、請求項45に記載の、移動車両の無線通信デバイスにおける少なくとも1つのプロセッサによって実行されることが可能な、メッセージをルーティングするように前記少なくとも1つのプロセッサを制御するためのコンピュータ可読命令のセットを含むコンピュータ可読媒体。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30A】
【図30B】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37A】
【図37B】
【図38A】
【図38B】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30A】
【図30B】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37A】
【図37B】
【図38A】
【図38B】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【公開番号】特開2012−165387(P2012−165387A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2012−33701(P2012−33701)
【出願日】平成24年2月20日(2012.2.20)
【分割の表示】特願2009−534562(P2009−534562)の分割
【原出願日】平成19年1月26日(2007.1.26)
【出願人】(399047921)テルコーディア テクノロジーズ インコーポレイテッド (61)
【出願人】(507302900)トヨタ インフォテクノロジー センター,ユー.エス.エー.,インコーポレイテッド (10)
【Fターム(参考)】
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願日】平成24年2月20日(2012.2.20)
【分割の表示】特願2009−534562(P2009−534562)の分割
【原出願日】平成19年1月26日(2007.1.26)
【出願人】(399047921)テルコーディア テクノロジーズ インコーポレイテッド (61)
【出願人】(507302900)トヨタ インフォテクノロジー センター,ユー.エス.エー.,インコーポレイテッド (10)
【Fターム(参考)】
[ Back to top ]