VANETの一例を図1に示す。ノード10は固定ノードであり、レンジ内にほかのノードが入るとそれらと通信する。ノード12、14、および16は、種々の状況にある移動ノードである。図から理解されるとおり、ノード12は、非常に密集した環境にあり、いくつかのほかのノードと接近している。ノード14はまばらな環境にあり、ノード16は高速移動路上にある。これらのノードのそれぞれは、それぞれの情報を頻繁にブロードキャストしている。短時間にこれらすべての環境を通過することがあるノードを有するアドホック・ネットワークにおいては、いくつかの問題が生じ得る。ノードからの情報の配布、ほかのノードにおける情報の更新、およびどのようなポイントで情報が配布されなくなったとすべきであるかの決定を種々の応用について現行のテクニックを用いて行うことはほぼ不可能であろう。
図2は、ノード12等のノードの実施態様を示している。ノード12は、「プロトコル・スタック」を採用するプロセッサ13を含むことができる。ネットワーク・プロトコルは、一般にスタックとして組織化され、より高いレイヤがより低いレイヤに送信のための情報を渡し、より低いレイヤがより高いレイヤに受信した情報を渡す。用語「レイヤ」は、概して機能の論理的な分離を言う。各レイヤは、ハードウエア、ソフトウエア、またはそれら2つの混合として実装できる。ノード12の1つの実施態様においては、プロセッサ13が、新しいレイヤ、すなわちアプリケーション・レイヤ32およびネットワーク・レイヤ30(1つまたは複数)とインターフェースする情報レイヤ20を含むネットワーク・スタックを採用している。
図2は、さらに情報レイヤ20がサブレイヤに分割されるプロトコル・スタックを示している。ネットワーク・プロトコルは、通常、スタックとして組織化され、より高いレイヤがより低いレイヤに送信のための情報を渡し、より低いレイヤがより高いレイヤに受信した情報を渡す。図2は、情報レイヤ内においてこのパターンに従っており、それが、続くいくつかのセクションの中で詳細に述べるサブレイヤに分割されている。ここに提供されている情報レイヤは、標準ネットワーク・プロトコル・スタックの上に構築され、図2の下端に単一のボックス30として示されるが、実際問題としては複数のサブレイヤからなる。発明者らによって行われた実験では、DSRC(802.11p)と緊密な関係を有する802.11bインターフェースを伴う標準UDP/IPプロトコル・スタックが使用された。このレベルには、このほかのコンテンション‐ベースおよびスケジュール付きプロトコルを含めたほとんどすべてのネットワーク・プロトコルが適している。この例において、アプリケーション・レイヤ32が情報レイヤの上の位置を占める。
情報配布は、データベース同期と非常に緊密に関係する。「伝染アルゴリズム」のテクニックが、この設計の2つの部分において有用であることがわかった。第1に、システムの低レベルにおいて不要なブロードキャストを抑圧するために「ゴシップ」メカニズムが使用される。フラッディング・アルゴリズムは、ブロードキャストおよび再ブロードキャストを使用して大きなエリアにわたり効果的に更新情報を伝える。これは、データが多数回にわたって不必要に反復されることから輻輳を招く可能性がある。ゴシップ・アルゴリズムは、ほかのノードの送信をリスニングし、ほかのノードによる転送が成功したデータを取得するとそれを除外することによってこれを防止する。用語「ゴシップ」は、個人個人が数回にわたって噂を耳にするとそれを広めなくなることが観察された社会科学から発している。
このシステムは「反エントロピ」の形式を使用し、移動中の乗り物間の情報を、それらが同一のデータ・セットを受信していないほかの乗り物と遭遇するときに同期する。ここで使用されている反エントロピのバージョンは効用アウェアであり、したがってもっとも価値のある更新だけを同期する。エントロピは、物理システム内において増加する無秩序である。ここでの用語は、更新の交換によってデータベース・コピー間の無秩序を取り除く分散アルゴリズムを記述するために使用されている。
このシステムは、ジオキャストの上にいくつかの新機軸を追加する。ジオキャストは、フラッディングを指定の地理的エリアを覆う範囲に制限する。このシステムは、ゴシップ・アルゴリズムを組み込んだジオキャストを使用し、したがって転送がジオキャストと同等に迅速であり、しかもゴシップ‐ベースの方法と同等に効果的に冗長な送信を防止する。微小効用アプローチは複数のジオキャストを使用し、それぞれの幾何学的範囲を調整して異なる量のデータを異なる空間的領域に配信し、もっとも関連のある行き先に対するデータ配信の量または頻度を最大化する。さらにジオキャストは、ネットワーク内に輻輳が生じたときに効用アウェアな態様でデータが除外されるか、またはキューに入れられることが可能となるように動的優先度情報を含む。
情報レイヤ内においては、複数のジオキャストの計画およびそれらの動的優先度の設定が、アプリケーションによって供給される効用関数と乗り物の流れパターンについての統計的情報を結合するストラテジ計算によって達成される。これにより、アプリケーションが独自のジオキャスト・パターンを設計し、乗り物の流れを監視し、かつそれらのジオキャストを適合させる必要がなくなることから、それらの記述をはるかに単純にする。さらにまたこれは、競合するアプリケーションの存在を検出し、それらの相対的な優先度を比較し、かつそれら独自の振る舞いを適合させなければならないというアプリケーションの複雑性を排除する。
たとえば、新しい高優先度アプリケーションの追加は、充分に保証された帯域幅を解放するべくほかのすべてのアプリケーションのジオキャスト・パターンの再設計を必要とすることがあった。対照してみると、ストラテジ・サブレイヤ22は、より容易にかつ自動的にその種の変化に適合することが可能であり、ネットワークの現在のトラフィック制約の下にジオキャストを再調整して全体的な効用を最大化する。このシステムは、このストラテジ計算からより高い効用を達成し、しかもジオキャストの単純性および効率から恩典を受けることができる。
図2の上部には情報レイヤ20を使用する単一のアプリケーション32が示されているが、このアーキテクチャの強みの1つは、複数のアプリケーションが共通のインターフェースを使用できることである。アプリケーションは、ストラテジ・サブレイヤ22に、情報配布のニーズの非常に高レベルの指定を、効用関数の形式で提供する。またストラテジ・サブレイヤ22は、それぞれの近隣における統計的な乗り物の流れおよびそれらの領域内の仮定的な乗り物に対するデータの予測される効用を記述する、トラフィック・エンジニアによってあらかじめ提供されるか、またはネットワークから自動的に収集された関連性および距離の測定基準も有する。
情報レイヤは、システム内のデータ・ソースとして動作するノード上、中継ノードとして動作するノード上、およびレシピエントとして動作するノード上に常駐する。システム内のノードは、与えられたデータ型に関して1つまたは複数の役割を担うことができる。:たとえば、データ型のソースとなること、およびその近隣から受信した同一データ型を伝播する中継ノードとして動作することもでき、またはデータ・シンクとなり、アプリケーション内において受信したデータを処理することができる。情報レイヤ20は、その役割に応じてわずかに異なる関数を有する。たとえば、データ・ソースの役割においては、情報レイヤが、情報の伝播に必要な効用関数をアプリケーションから受け取ることになる。
情報レイヤ20は、効用関数を適用して微小効用を作成する。微小効用は、データ標本とともに移動してシステムにその情報がどの程度遠くまで、またいずれの地理的エリアに伝播されるべきであるかといった、その情報がシステム内を通じてどのように送信され、取り扱われるべきであるかについてのガイダンスを提供する。対照してみると中継の役割において情報レイヤは、アプリケーションの局所実行を必要とせず、パケットの内容およびそのノードおよびその近隣についての情況情報を純粋に基礎として伝播の決定を行う。
情報レイヤ20は、効用関数を適用して微小効用を作成する。微小効用は、データ標本とともに移動してシステムにその情報がどの程度遠くまで、またいずれの地理的エリアにといった、その情報がシステム内を通じてどのように送信され、取り扱われるべきであるかについてのガイダンスを提供する。微小効用は動的優先度として、言い換えると、データ標本が作り出された時点において固定されるのではなく、ネットワークを通じてそのデータ標本の移動に従って評価される優先度として作用する。これは、データ・ソース・ノードに利用可能でない、中継ノードの場所における輻輳のレベル等の動的に変化する情報に基づいて決定を行うことを可能にする。たとえば、データ・ソースと異なる2つの場所にある2つの異なるノードが、一方のノードはシステム内においてそのデータ標本およびその微小効用の送信を決定し、他方のノードはそのサンプルの除外を決定するというように、標本の微小効用に異なる評価を行うことができる。
これらのメカニズムを使用し、微小効用生成モジュールとも呼ばれるストラテジ生成サブレイヤ22は、それにもっとも関連があるところに情報を送信することができる。たとえば、高速で移動する乗り物からは、より長い距離に情報を送信することができる。なぜならば、高速で移動する乗り物は、低速で移動する乗り物に比べて、長距離にわたってデータに対して応答し得るためである。情報の配布の準備のために、ストラテジ・サブレイヤ22は、効用、関連性、および距離の測定基準をはじめ、ネットワークの種々の領域内における輻輳のレベルについてのそれによる現在の評価といった情況情報を基礎として計画を展開する。アプリケーションが個別のデータ標本を送信するとき、ストラテジ・サブレイヤ22は、効用、関連性、および距離の測定基準から自動的に案出された計画を基礎としてその標本に微小効用を割り当てる。関連性および距離測定基準は、構成またはスタートアップ時にシステム内にあらかじめ提供されるか、またはシステムによってそれらの測定基準が収集されるようにできる。微小効用は、特に、データが配信されるべき幾何学的領域を指定する。;これらの微小効用およびデータは、転送サブレイヤ24に提供される。
前述したとおり、情報レイヤ20は、そのサブレイヤまたはモジュールを含めてデータ・ソースとして動作するノード、中継ノード、およびレシピエント・ノード上に常駐する。これらのノードのそれぞれは、状況に応じてそれらの役割の任意の1つを担うことができる。たとえば、中継ノードはソース・ノードであり、かつレシピエントであると見られる。中継ノードとして動作しているとき、ノードが、通過中のデータ標本がどのように扱われるべきであるかについての情報を含む関連する微小効用とともにデータ標本を受信することがある。その中継ノードは、その微小効用を評価し、そのデータ標本がネットワークを通じてどのように伝播されるべきであるかを決定する。
微小効用の効果は、ノードの特性に依存する。たとえば、データ・ソースに近いノードは、微小効用を評価し、そのデータが有意の残留効用を有し、かつそのノードが幾何学的配信領域内にあることから、そのデータ標本を転送する必要があると決定できる。意図されたエリア外のノードは、そのノードが存在するエリア内におけるそのデータ標本の有用性がゼロであることからそのデータ標本を転送しないことを選択できる。ノードは、そのノードの特性を基礎として微小効用を評価し、さらにそのデータを伝播させるか否か、またどのようにすれば最良であるかを決定する。微小効用は、優先度として考えることができるが、それを評価するノードにのみ利用可能なデータおよびその評価の時および場所に基づいてその効果が変化することから動的な優先度である。
転送サブレイヤ24の目的は、必要であればネットワーク内の複数のホップにわたってデータを送信し、微小効用内に指定された幾何学的領域全体に届けることである。このサブレイヤは、図4のデータ・フローによって示されるとおり、データの初期送信および近隣ノードから受信したデータの再送信における役割を担う。また転送サブレイヤ24は、局所ネットワーク輻輳に対して迅速に反応し、システム内のデータ標本の動的優先度を基礎として選択的にパケットを除外するか、または伝播することによってトラフィック負荷を低減する。
パケットを転送する決定がなされると、ブロードキャスト・サブレイヤ26がその送信を処理する。このレイヤは、ほかのノードによる同一データの複数のブロードキャストをリスニングし、それによってフラッディング・アルゴリズムにありがちな問題である同一エリア内における同一データの重複送信の数を低減することができる。
ブロードキャスト・サブレイヤ26は、近隣ノードに対するデータ標本およびそれに関連する微小効用のブロードキャストを担当する。キャリア・センス・マルチプル・アクセス・ネットワーク(CSMA)においてこれは、チャンネルの解放を待機すること、およびその後そのデータ標本を送信することを伴う。しかしながら情報がノードからノードへ転送されるとき、すなわちデータ標本の受信がそのデータ標本の再送信となるときには、ネットワーク内への過剰なトラフィックの導入の回避に注意しなければならない。ブロードキャスト・サブレイヤ26は、2つの潜在的な問題を取り扱うことができる。
第1の問題は、1を超える回数にわたってノードが更新を受信する場合に生じ得る。2回目はその更新を伝播するべきでない。これは、最近受信した更新を記録し、重複を転送サブレイヤ24に渡さないテーブルまたはそのほかのセット維持テクニックを用いて回避できる。この重複抑圧は、ネットワーク内における更新の不必要な循環を防止する。
第2の問題は密集した領域内において、各レシピエントが1回またはそれを超えて更新の転送を試み、その後、必要以上に多くの回数にわたってその更新が再送信されることになる場合に生じる。図3に潜在的な問題を示す。円34と36の重なった領域は、ノードAおよびEについてのブロードキャスト領域間の重複領域を示す。この図内のすべてのノードが更新をブロードキャストした場合には、その更新について8つの送信が存在することになる。しかしながらノードAがその更新をブロードキャストし、その後ノードEがその更新を再送信すれば、はるかに少ないネットワーク・トラフィックを伴ってすべてのノードがその更新を受信することになる。残念ながら一般に解決策は、ここで述べたほど簡単ではない。
情報レイヤ内において、ゴシップ‐ベースの抑圧が使用されて高密度のエリア内の更新の再ブロードキャストが薄められる。ゴシップ‐ベースの抑圧は、更新のブロードキャストを間隔[0,τ]においてランダム量で一時的に遅延することによって働く。転送は一時的に遅延されるが、その遅延の間に近隣の送信を受信し、同一更新のブロードキャストの数をカウントできる。g個を超える送信が聞こえた場合には、そのメッセージが高い信頼性を伴って関連するすべてのノードによって受信されたものとして送信が抑圧される。
たとえば図3においてg=3とし、Aが更新をブロードキャストし、その後その更新をCおよびD両方が再ブロードキャストした場合に、ノードB、E、Fは、すでにそのデータのg=3個のコピーを受信していることからそのデータの再送信を行わない。GおよびHは、2個のコピーしか受信していないことからその更新の転送を継続的に試みるが、それらのうちの一方が他方を抑圧することになる。この場合にゴシップ抑圧は、更新を再ブロードキャストする最小限の、すなわち2とする解決策を提供しない。それにもかかわらずゴシップ抑圧は、密集したネットワーク内においてデータの再送信の量を大きく低減する単純なテクニックである。
最後の輻輳サブレイヤは、データ・パケットの内容に対する修正を行わないが、それらが送信される前にパケットのヘッダに輻輳レポートを追加し、受信したパケットからそれらのレポートを収集し、輻輳要約を作成して転送およびストラテジ・サブレイヤに局所ネットワーク輻輳を知らせる。その後、情報レイヤは、データ標本を除外するか、またはそのデータ標本の送信のための代替メディアを選択する決定を行う。
輻輳レポートは、データ・パケット内に含められるのではなく、明示的な管理パケット内に含められるようにしてもよい。輻輳要約は、特定のノードではなくエリアについて、また局所ではなくシステム全体等の広げられた視野のものとすることができる。情報レイヤは、その後、データ標本を除外するか、またはそのデータ標本の送信のための代替メディアを選択する決定を行う。
図4は、システムの動作を図解している。38において、アプリケーションが最初に効用関数を供給し、ストラテジ・サブレイヤが個別の微小効用の生成に必要な計算を行う。これらの計算は、先行して、周期的に、またはデータ生成の時点において実行することができる。40においてアプリケーションが個別のデータ標本を生成するとき、ストラテジ・サブレイヤが微小効用を割り当て、適切であればそのデータ標本の送信を開始する。42においては、ノードが微小効用に従ってデータ標本を転送する。破線矢印は、ノードのアプリケーションがデータを受信する可能性を示す。
38は非常に効率的(数秒内にアプリケーションが効用関数を変更できるものとする。)であるが、40および42は非常に効率的である。もっとも頻繁に実行されるシステム42の動作、すなわちデータの転送は、ほとんどの場合に単純な幾何学的なテストおよび線形関数の評価だけを必要とする。これらの動作は、比較的小型のマイクロコントローラによってさえパケット・レートで実行される程度に充分に単純であると考えられる。
このシステムは、38において供給される効用関数が、頻繁に実行されるプロセス40および42の直接的な部品ではないが、システムの情報伝播に影響を与える単純な微小効用に純化されるように設計される。これらの微小効用は、図4には示されていないこのほかの2つの重要なプロトコルの動作もガイドする。高い効用のデータのいくつかは、より長いレンジ・チャンネルによって送信され、より長い時間期間にわたって持続する効用を伴うデータは、乗り物が移動し、通信の可能性が変化した後の転送のために通過中に一時的にストアされる。全体として微小効用は、ネットワークの使用を最大化するために広範囲にわたって使用される。
効用
効用関数は、データの配信がレシピエントにとってどの程度価値があるかを記述する。配信されるデータの量、および配信の適時性といったものに対して値を割り当てることが可能である。効用関数は、経済学者が「基数的効用」関数と呼ぶものである。:その大きさが重要になる。:効用10を伴うデータは、効用5を伴うデータの2倍の価値がある。レシピエントがデータ配信に支払う額(たとえば10ドル)として効用を考えると直観的に役立つ。しかしながら通常の市場においては、商品の購入に必要な金銭的な額が必ずしもそれらの商品の効用と符合しない。システムは、満足を測定する単位のない量として効用を扱うが、それにもかかわらず金銭的な解釈も以下について適切である。いずれの場合でも効用は、ネットワークの異なる部分において限定された帯域幅のためにアプリケーションが競い合う交換媒体として資する。
システムは、標本抽出されたデータの周期的なストリームを生成するソースが存在すること、およびシステムの基本的な動作がそれらのストリームからの標本の除外であることを仮定する。さらにまた、ダウンサンプリング後のデータのストリームがより少ない情報内容を有すること、および情報の効用がソースからの距離に伴って一般に減少することを仮定する。この減少する効用こそが、ソースからより遠くにデータが伝播するに従ってシステムがそれを除外することを可能にし、データ・トラフィックを低減する。
システム内の情報の配布は、それに適用される効用関数を有する。効用関数は、その情報の伝播を決定する。概して効用関数は、データ・ソースからの送信時にその情報に意図されたアプリケーションを基礎とすることになる。効用関数は、局所状態を反映するべく変更されることがある。アプリケーションによって供給される効用関数は、したがって、一般効用関数と呼ばれることがある。一般効用関数は、局所状態によって変更された後、特定効用関数と呼ばれることがある。この考察は、一般効用関数または特定効用関数のいずれかを指すとき修飾なしの用語、効用関数を使用する。
システムは、情報(Iによって包括的に示される)のための効用関数を提供する各アプリケーションの包括的概念を取り巻いて構成される。:
U(I,→xt,→xs)
ここで、レシピエントは地理的な場所→xtに位置し、データ・ソースが→xsに位置する。本願では、これをU(I,→x)と簡略表記し、それにおいては→x=→xt‐→xsとする。
要約情報の内容Iを使用するのではなく、システムは、より具体的な特殊ケースを用いて働くことになり、それにおいてシステムは、ソースが規則的なデータ標本を生成すること、および情報の内容が、輻輳が生じるとソースにおいて直ちに、または通過中にデータ標本のサブセットを除外することによって縮小されることを仮定する。これは、多くのアプリケーションによく見られる。たとえば、ソースが乗り物の位置および速度を送信している場合に、データ標本を捨てることは予測される乗り物の場所の精度を下げることになる。受信されるデータの平均頻度fおよび受信されるデータ標本の代表的な遅延τを用いて情報の要約表現Iを置換することによってUのパラメータ化を簡素化することが可能である。これら2つのパラメータは、情報と関係がある。:ソースから受信される更新がより頻繁でないか、ソースからの更新がより長く遅延されることは、システムがそのソースの現在の状態について有する情報がより少ないことを意味する。:
U(f,τ,→x)
しかしながら、地理的変位→xではなく、むしろ効用関数は、情報を受信している乗り物が情報ソースに到着するまでの代表的な時間に基づく距離測定基準dを基礎とすることができる。測定基準d(→xt,→xs)は、道路のジオメトリおよびフロー・レートの突出した特徴を捕捉することになる。たとえば、dは受信している乗り物の移動の方向を捕捉する。;その乗り物がすでにソースに向かって移動中であれば、ソースに対する距離が短くなることになる。:
U(f,τ,d)
このシステムの鍵となる動作が、空間にわたってfを調整して効用を最大化しつつ、伝播のコストを最小化することになる。より詳細に述べれば、データ・ソースからの距離とともにfを減少させることがネットワーク・トラフィックを低減することとなる。特定のアプリケーションでは、ソースにおいて利用可能なデータ(たとえば、駐車ガレージ内の利用可能な空の数、または交通信号の色)が、データが高い効用を有する乗り物の領域、距離、時間、または特性に影響を及ぼすことになる。たとえばほぼ満車の駐車場の空に関する頻繁な更新は、近隣の自動車が締め切りを知ることを欲すると見られるためそれらにとって価値が高いが、遠くの自動車が到達する時点までにはそれがほぼ確実に満車となることから、それらにとってはほとんど有用でない。ソースにおいて微小効用があらかじめ計画されることから、ソースの状態に従ってそれらを容易に調整することができる。
上で述べたとおり、一般効用関数は、アプリケーションが作成されるときまたはデータ・ソース・ノード上にインストールされるときにアプリケーション記述者によって決定される。効用に影響を及ぼすと見られるいくつかのファクタには、特定の時間内にその乗り物が情報を受信することになるか否か、測定される量の不確実性が増加するレート、受信された情報に基づいて乗り物が決定を行うことになるか否か、受信される情報の精度、およびデータに基づいて決定が行われるとき「賭け」はいくらになるかといったことが含まれる。
これらのファクタのすべては、効用における役割を担うが、そのいくつかはほかのものよりモデリングが容易である。情報レイヤは、アプリケーションに評価基準を提供してそれによる決定を補助することができる。たとえば、特定の場所に存在することがありがちな自動車の数、特定の関連する方向に移動しているか、または駐車場等の何らかの別の場所を通過するか、または利用可能な交通情報を伴って領域を通過することがありがちな自動車の数を基礎として評価基準を提供することが可能である。この理由のため、システムは、効用を2つの部分に因数分解する。:
U(f,τ,d)r(→xt,→xs)
それにおいてUは、情報を受信している乗り物ごとに期待される効用であり、このシステムで「関連性」と呼ばれることになるr(→xt,→xs)は、ソース→xsからの情報が有用であると認識することになる→xtに近い乗り物に対するデータ標本の重要性の予測である。システムは、アプリケーション記述者がUを、場合によってはr(→xt,→xs)を供給することを期待する。しかしながら情報レイヤもまた標準のr(→xt,→xs)を、乗り物が移動する場所に関するデータの収集に基づいて提供することができる。これはたとえば、現在関心位置にある乗り物の軌跡のサンプリング、およびこのデータを使用した、それらがソースの近くを移動することになる確率の評価に基づく選択的な交通モデルとすることができる。
r(→xt,→xs)が非一様な分布であるとき、情報レイヤは、それがもっとも有用となる場所に情報を指向することによって帯域幅を節約することができる。乗り物ネットワーク等の、位置が迅速に変化する多数の関係者を伴うシステムは、しばしば「プッシュ」システムとして構成され、それにおいてはデータが、最初に明示的な要求を受信することなくディスティネーションに送信される。関連性等の測定基準は、これらの「プッシュ」アーキテクチャが、情報を、関連性関数r(→xt,→xs)を使用し、潜在的なレシピエントとの通信を必要とすることなく、それが必要とされることが統計的にもっともありがちな場所に指向することを可能にする。
図5は、交通信号の近傍における関連性測定基準の例を示している。たとえば図5において、交通信号から伝えられる情報は、グループ44にとって低い関連性を有し、それらのレシピエントに対するデータの潜在的な使用に関連付けされる長い距離を伴う。グループ44内の潜在的レシピエントは、その交通信号を訪れるためにブロックを迂回しなければならず、その信号から離れる方向に向かっている。この情報は、グループ48内のレシピエントにとって高い関連性を有し、それらのレシピエントは、信号に向かっており、その信号によってコントロールされるエリア内を実際に訪れる高い可能性を有する。グループ46内のレシピエントは、おそらくそのデータの関連性が高いと考え、距離が短く、かつ乗り物が高速で移動している。これらのファクタが、関連性測定基準の中で考慮される。
情報の正確性は、ほとんどのアプリケーションにとって共通する特性であり、おそらくは最も容易にモデリングされる。ほとんどの決定は、将来の事象(たとえば、交通渋滞、駐車の可用性等)の状態の予測を必要とするが、情報の予測精度は、時間の経過とともに低下する。これはしばしば、距離および時間に伴う情報の価値における自然の減少を呈示する。たとえば、駐車ガレージから離れている乗り物にとって、そのガレージが満車であると知ることは、そのガレージまで移動する時間内にその情報が陳腐化し得ることから価値が低い。距離および時間に伴う価値の減少は、ネットワーク・トラフィックの低減に決定的であることがわかる。
情報のタイプの潜在的な損失または利益は、はるかにアプリケーション固有である。損失または利益を理解することは、アプリケーションを互いに関して、また単一アプリケーション内においてパケットを互いに関して優先順位付けする上での補助となる。たとえば、安全アプリケーションをサポートする情報は、駐車場情報よりはるかに高い効用を有することがあり、また車線の妨害を記述する乗り物情報は、滑らかな流れを記述する乗り物情報より重要である。損失または利益は、しばしば距離に伴う効用におけるアプリケーション固有の変動を提供する。たとえば、駐車ガレージ情報は、乗り物がそのガレージに到着する近未来時においておそらくはこの情報がまだ適用可能であるが、懸案のガレージが満車となりがちであると見られる場合に、ほかのガレージへの代替経路をまだ採ることができる中程度の距離においてもっとも有用となる。
上で述べたとおりアプリケーション記述者が、そのアプリケーションのための情報の伝播を決定する一般効用関数を供給することになる。これは、個別のレシピエントおよび個別のデータ・ソースが、データの配信についてそれぞれ独自の一意的な効用を有し、それらの効用にわたるリソースの最適化に市場メカニズムが使用される代表的な経済モデルと異なる。それに代わり、本質的に多くのレシピエントの利益を同時に引き渡すプッシュ・アーキテクチャが、アプリケーション記述者が情報の伝播の有望なレシピエントすべての利益を評価する一般効用関数を供給する場合により良好に機能する。1を超える数のアプリケーションが同一のデータを必要とするとき、両方のアプリケーションが一般効用関数を供給することが可能であり、それらを結合してそのデータ型についての一般効用関数を決定することができる。
これは、特に上記の効用に影響を及ぼすファクタを説明する一般効用関数の導出を困難なタスクにする。好都合なことに効用はあまり頻繁に導出されず、それも小数のアプリケーション記述者による。さらにそれらの効用は、精度について過剰設計されるべきでない。2部構成の式における効用の形式の選択は、配信の頻度、遅延、交通の流れの速度等のパラメータに対する効用の依存度を制限し、それらの依存度は、アプリケーションのための効用に影響を及ぼすすべてのファクタを覆わないことになる。効用の完全なモデリングは可能でない。効用に有意に影響を及ぼすおそれのあるパラメータだけが選択され、精度におけるいくらかの損失は許容されることになる。同様にアプリケーション記述者は、それらのアプリケーションのモデリングに、もっとも突出した効用の特徴だけを選択する必要がある。
効用の指定
効用を指定するため、アプリケーション記述者は、データ・ソースにおけるデータ標本について可能な情報配信パターンのセットを識別することができる。このシステムが概してプッシュ・アーキテクチャであることから、アプリケーションは、システム内の場所で生じることがある可能配信パターンを投影し、かつ予測しなければならず、可能配信パターンのセットのそれぞれについて効用を指定しなければならない。さらに、それらの場所にレシピエントが存在することもあれば、存在しないこともある。指定の場所にレシピエントが存在する確率は、その指定の場所に位置する受信ノードがその情報、および指定の場所に位置する受信ノードによって観察される配信パターンの被観察特性に関心を示す確率と同様に、可能配信パターン内において説明されるべきファクタとなる。
一般効用関数は、レシピエントに対する情報の有用性を予測し、レシピエントにおいてではなくソースにおいて使用される。上で述べたとおり、いくつかのファクタは効用に影響を及ぼし、それには更新の頻度、レシピエントに到達するそれらの更新の遅延、レシピエントの移動方向、およびソースからレシピエントまでの距離が含まれる。これらは、より一般的に時間および位置のファクタと呼ぶことができる。
時間ファクタは、頻度、または標本が送信される時間がどの程度離れているか、および遅延、または標本の受信が送信から時間的にどの程度離れているかを含むことになる。位置ファクタは、いずれも物理的な距離に関するソースとレシピエントの間の距離、およびその距離が受信時にどのような影響を及ぼすかを含むことになる。位置ファクタは、ソースとレシピエントの間の移動方向も含む。時間および位置のファクタは、空間にわたって頻度を調整して効用を最大化することに関して考察したように、互いに結合することができる。
その後、一般効用関数を使用してネットワーク内におけるデータ標本の伝播をガイドすることができる。データ標本のガイドは、送信のための代替メディア間の選択、ネットワーク内のどのポイントで標本を除外するべきかの決定、データ標本が送信のために待機している送信キューの再整理、およびその先の送信のためにデータ標本を保持するか否かの決定といったタスクを含むことができる。送信キューの再整理は、データ標本(1つまたは複数)の送信の時間的順序の変更と呼ぶことができる。
一般効用関数の1つの例において、駐車場アプリケーションは、駐車場がそれらの現在の占有についての情報をはじめ、レシピエントによる将来的な占有の予測を可能にする到着および出発のレート等の情報を送信するものと仮定する。この情報は、近隣の乗り物が、それらの駐車の行き先を計画するために使用することができる。
図6は、駐車場情報の効用を図解している。この効用は、情報が将来の占有が妥当に予測的であり、ドライバが代替ガレージに容易にドライブすることができる50等の中程度の距離においてもっとも高い価値を有する。52等のより大きな距離においては、将来の占有についてあまり予測的でなく、特定のガレージの選択が不必要であることからこの情報が効用を失う。より近いレンジにおいては、空きスペースが単一であってもドライバがそれを利用できることから迅速な更新が役立つ。全体的に見てガレージの近傍にドライバがすでに移動したときには利益が少ないが、ドライバが選択しなければならない多くのガレージを伴うエリア内では何らかの価値を有することがある。
図7に、駐車場情報のための例示的な効用関数を示す。この効用関数は、ガレージから中程度の距離において効用関数がもっとも高くなっていることを示している。この効用関数は、低いfの値においてもっとも急峻な勾配を示し、より大きなfの値について減少する値を示す。この減少する値は予測される。ガレージからの非常に頻繁なレポートが将来の占有の予測を有意に改善することはないであろう。
この例においては、駐車場の効用関数が、現在の空スペースK、到着のレートλin、および出発のレートλoutのパラメータを通したガレージの状態に依存する。特に、ガレージが満車になろうとしているとき、図7の形状が原点に向かってシフトすることになり、そのガレージに関する情報が、そのガレージに近く、しかもそのガレージが満車になる前に到着することができる乗り物にとってもっとも有用になることを示す。遠く離れている乗り物は、より高い確実性をもってそのガレージが満車になるであろうということを知り、頻繁な更新を必要としない。これは、効用関数の特徴を図解している。;すなわちそれは、ソースにおけるデータに依存し得る。この特徴から、後述のシステムは、データが送信される距離を、ガレージの状態に基づいて拡大または短縮することができる。
変数に関して図7の効用関数は、次のように導かれる。Tαは、ガレージにおける到着予測時間、配信の頻度fは、基本レートf0とランダム化されたダウンサンプリング係数γの積である。ここで使用される場合に、ランダム化されたダウンサンプリングは、平均してオリジナルの標本のγパーセントが受信され、そのほかは通過中に先行動作的に、または反応動作的に除外されることを意味する。この定義においてf0は標準の頻度であり、fは平均の頻度である。効用は、3つの部分の積として定義される。
第1の部分は、更新を受信する確率であり、(1‐γ)f0Tαが、Tαによってメッセージがまったく受信されない確率であることから、Pr=1−(1‐γ)f0Tαと定義される。
第2の部分は、受信されたメッセージが到着のときまで正しい確率である。この例の目的のため、概略でガウスとなるスケラム分布によってグラウンド・トゥルースがモデリングされる。
第3の部分は、受信されたメッセージの潜在的利益である。これは、代替ガレージのポアソン分布に対応する指数関数分布によってモデリングされる。:
de‐βd
結果として得られる効用関数が図7に示されている。
この効用関数が効用について相当の情報を含むことに注意を要する。もっとも明らかな特徴は、120メートルの距離において秒当たり0.2の更新を配信すること(これが、この関数の「屈曲部」である)によって高度の効用が達成されることである。しかし、この関数は追加の情報を含む。:200メートルにおいて、かなり少ない効用ではあるが、情報の配信についていくらかの効用が存在する。また120メートルにおいては、秒当たり0.2の更新を超えて効用を増加することによって増加される効用がほとんどなく、関数がほぼ平坦になる。この追加の情報は、情報の伝播をガイドするために利用可能であり、たとえば追加の帯域幅が利用可能になったとき、この効用関数が、120メートルに向けてより頻繁に更新を送信するより、より遠くに更新を送信する方が良好であることを示す。
システムは、アプリケーション記述者が独自の効用関数を導くことを必ずしも期待しない。効用テンプレートを提供することは可能である。その考え方は、アプリケーション記述者が、アプリケーションに対してもっとも多くの類似性を有するテンプレートを選び、効用関数を獲得するべくいくつかのパラメータを調整するというものである。不完全な効用関数であっても大きな利益をもたらし得ることから、システムは、比較的少数のその種のテンプレート効用がほとんどの将来的アプリケーションを充分に覆うことになると期待している。
効用は、複数のアプリケーションの間におけるリソースのトレード・オフを許容するが、これには、異なるアプリケーションの相対的重要性の充分な理解が必要である。時間の経過に従って、数の増大するアプリケーションの間においてリソースを分割することが必要となり、アプリケーション全体にわたる効用の正規化が必要になる。このシステムは、種々のアプリケーションが種々のスケールを使用して効用を割り当てることを企図するべく設計されており、その結果、いくつかの集中的なスケールの較正が必要となる。現在のところ集中管理されるスケーリング・ファクタが、それぞれのアプリケーションのための効用のスケールに使用されることになる。これは、単一のパラメータの設定によって新しいアプリケーションの容易な組み込みを可能にする。;アプリケーションは、同一の伝播機構を共有することになり、したがって新しいアプリケーションの伝播機構が篩アプリケーションの伝播機構とどのように相関するかについて技巧を凝らす必要がない。
いくつかの正規化操作がアプリケーション記述者に任される。情報レイヤは、近隣のデータ・ソースの数についてデータn(→xs)を提供することになる。アプリケーションは、近隣のレプリカが多く、したがっておそらくは類似の情報のソースが多く存在するとき、効用を割り引く効用のスケーリングを、n(→xs)に基づいて定義できる。
同様に情報レイヤは、関連性データr(→xt,→xs)を提供することになり、それをアプリケーションが使用して、より密集して詰め込まれたシンクに対して送信される情報の効用を割り引くことができる。
アプリケーション設計者によって供給される効用関数は、受信されるデータの効用に関する遅延の効果を含むことができる。しかしながら、アプリケーション設計者にとっては、最初に有意の遅延が存在しないと仮定して効用関数を開発するともっとも容易となることが少なくない。その後、続くステップとしてその効用関数に時間(遅延)次元を追加する。これはテンプレートとして実装することができ、そこから設計者は、その設計者が効用関数内に遅延の効果を含めたいと望む方法に基づいて選択できる。
遅延をどのように効用関数に追加できるかという1つの例として、時間を伴う効用の線形減少を指定できる。効用の設計者には、1つのパラメータ、:すなわち、時間に伴う効用の損失レートLを提供することだけが求められる。その後、効用関数U(f,τ,d)を、遅延なし(τ=0)を仮定する効用から、公式U(f,τ,d)=Max(0,U(f,0,d)−Lτ)によって導くことができる。別の例として時間に伴う効用の指数関数的減少を、効用の価値の半分が失われる更新にわたる時間量を定量化するパラメータ、すなわち半減期パラメータHを指定することによって効用関数に追加することができる。その後、次の式から効用を導くことができる。:U(f,τ,d)=U(f,0,d)(1/2)^(τ/H)。
効用関数に遅延をどのように追加できるかについての別の例として、時間(遅延)次元を含まない効用関数に変換を適用することができる。たとえば効用が、レシピエントが所有する情報の平均遅延に基づくとすれば、変換は、受信される更新の頻度とレシピエントが所有する情報の平均遅延の間の関係を基礎とすることができる。たとえば、一定頻度fにおいて受信される情報に関する遅延のない形式は、受信される更新の間において所有する情報について、1/(2f)の平均遅延を含意する。これは、配信の頻度と遅延の間のヒューリスティックな関係、τ〜1/(2f)を提供し、これを使用して遅延のない効用から遅延を伴う効用に変換することができる。:U(f,τ,d)=U(1/(1/f+2τ),0,d)。
効用関数に遅延をどのように追加できるかについての別の例として距離変換が記述され、これは、情報を受信し、その情報に作用し、ソースに向かって移動する乗り物に基づいて設計された効用だけに適切であり、情報の価値が、それが受信されるときの、行き先に到達する将来の時点においてそれが有効となる可能性に依存すると仮定される。このヒューリスティックにおいては、有効性のテストの前に遅延が追加の移動距離に変換され、このエリアに到達しつつある乗り物の速度のパラメータVaを必要とする。:U(f,τ,d)=U(f,0,d+Vaτ)。
上記の駐車場の例においては、データ・ソースからの距離、方向、および時間といったものによってパラメータ化されるデータ・ソースからディスティネーションへの情報の配信の頻度の関数の指定を使用して効用を適応できる。それらのいくつかまたはすべては、効用関数内に含めることができる。上で述べたとおり、このシステムは、アプリケーション記述者に効用のテンプレートを提供できる。システムは、アプリケーション記述者がいくつかのパラメータを調整することを可能にする。これらの指定された、調整可能なパラメータは、交通の流れの密度、システム内の乗り物の人口統計学的プロファイル、履歴の知識等をはじめ、そのほかの情況情報に基づいて調整できる。
効用の指定は、データ標本のある種のランダム化されたダウンサンプリングに適応することもできる。効用は、所望の精度および所望の動作ポイントを基礎として精巧にすることができる。それらの、およびそのほかの評価基準は、配信の頻度に基づく効用の指定に変換できる。
さらに、配信される更新の頻度および更新の配信における遅延の測度は、より最近に受信された更新に対して、より先に受信された更新より重い重み付けを行うことができる。効用の指定に影響を及ぼす配信パターンを特徴づけるそのほかの測度には、更新の配信における変動、および受信されたデータからデータ・ソースが評価できる精度を含めることができる。
情況
さらに効用関数は、開発者によって指定される一方、情況に基づく適応が許され、それにおいて情況は、特定効用関数に帰する特定のデータ・ソースの環境である。前述したファクタn(→xs)およびr(→xt,→xs)は、情況の例である。これらの、およびこのほかの種の情況は、データ・ソースの近くを移動する乗り物についての乗り物交通の流れモデルおよび近隣の場所におけるデータ・ソースの数といったものから導くことができる。
図5に関連して考察したとおり、測定基準の関連性は効用に影響し得る。乗り物交通の流れモデルは、所定のデータ・ソースの標本の関連性を導くために使用できる乗り物の密度等を含むことが可能であり、密度がより高いほど関連性がより低くなる。乗り物交通のモデルは、到着時間測定基準を導く乗り物の速度も提供できる。この情況情報を、効用関数のスケーリングによって、または効用関数に対する従属変数入力またはパラメータを修正して一般効用の指定と結合し、結果として特定効用関数をもたらすことができる。
効用関数の修正の1つの実施態様においては、その効用関数の部品となるパラメータを修正できる。この修正が、一般効用関数を供給するアプリケーション記述者によって提供されることがある。アプリケーション記述者は、例を示すと、効用関数の特定のパラメータがデータ・ソースの現在の環境を反映するべく修正できることを示す「フック」またはそのほかの表示を提供することができる。これらのパラメータの例は、ほかのレシピエントから情報の収集によるか、または以前に提供された情報に基づくその環境内におけるデータ・レシピエントの交通の流れを含むことができる。;いずれの場合であっても情報を現在または履歴とすることが可能である。別の例は、エリア内のデータ・ソースの数、および現在のデータ・ソースによって伝播されているデータ標本の数を含む。
微小効用
微小効用は、それぞれの個別のデータ標本に関連付けされる。その目的は、効用関数の小さい側面を非常に効率的にかつ非常にコンパクトに取り込むことである。プロトコル・スタックのストラテジ・サブレイヤがデータ標本に微小効用を割り当てることになる。微小効用は、システムのための最良可能な効用を実現する「計画」の部分を表す。;これは、個別のデータ標本がどの程度遠くまで伝播されるべきであるか、および通過中にそのデータ標本がどのように扱われるべきかを指定する。
微小効用は、通過中のそれぞれの個別のデータ標本に対して動的に変化する優先度を割り当てる。これは、それぞれの個別のデータ標本にそれ独自の効用の値が与えられ、それらの値が通過中の決定を行うために使用されることから微小効用と呼ばれる。輻輳が存在する場合には、低い値のアイテムが除外される。上位の(より信頼性がある、より高速の、等)送信メディアが利用可能な場合には、高い値のアイテムがそのメディアを介しても送信されることになる。将来の送信のためにアイテムがストアされる場合には、高い値のアイテムが好ましいストレージおよび再送信を獲得することになる。
微小効用は、このシステムの主要な簡素化エレメントである。これらはコンパクトに表現できることから各データ標本とともに移動することが可能であり、かつそれらの評価は単純である(線形関数)。任意の中継ノードは、それらがごくわずかなメモリまたは処理能力を備えている場合であっても微小効用を評価できる。また、中間ノードがアプリケーションを意識する必要もない。転送を必要とするすべての必要な情報は、微小効用内にカプセル化される。
しかしながら、この単純性は、いくつかの精度を犠牲にして達成されている。微小効用は、前述した完全な効用関数の近似でしかない。不正確性は、分離された個別のデータ標本に対する微小効用の割り当てから主として生じる。効用関数は、複数のデータ標本の種々の配信レートに対して効用を割り当てるため、個別のデータ標本を受信することの効用が、通常、同一のソースから受信されている別のデータ標本がどの程度新しいかということに依存する。それにもかかわらずシステムは、微小効用を定義し、各データ標本を個別に評価する。これは、通過中の処理を簡素化する。:以前のデータ標本の追跡を維持する必要がなく、またより複雑な効用関数を中間ノードにおいて評価する必要もない。
しかもこの簡素化は、良好な集合的振る舞いを呈する。同一ソースからの各データ標本に異なる微小効用を割り当てることによって、それらの微小効用の集合的振る舞いまたは伝播特性が、完全な効用関数を近似するものとなり得る。これは、領域内の画素(ピクセル)の種々の数に特定の色が与えられるディジタル・イメージングにおけるディザ処理に類似するディザ処理と呼ぶことができる。人間の目を介して見たとき、それらの色は、レンダリング・システムの色パレット内に存在しなかった色に統合される。同様に、同一ソースからのいくつかの標本の微小効用の割り当てまたはディザ処理を行うことによって、集合的な結果が、単一の標本によって達成できるより望ましい、完全な効用関数により近い近似となる。ストラテジ・サブレイヤに関する次のセクションでは、微小効用の混合を割り当てて略最適な群振る舞いを獲得する方法を述べる。
単一の微小効用は、原点、幾何学的ドメイン、および動的優先度を含む。原点は、データのソースの座標である。これは、幾何学的ドメインを定義するために微小効用内において使用される。また、データ標本の場所としておそらくはアプリケーションにとっても有用であり、したがってアプリケーション・レイヤにも引き渡されることになる。ストラテジ・レイヤにおいてアプリケーションからデータ標本が受信されるとき、そのデータ標本の効用が微小効用に変換される。手前で述べたとおり、微小効用の作成に先行してデータ・ソースにおけるデータ標本の効用の修正が可能である。結果としてもたらされる微小効用は、無修正または修正済みの効用のいずれに基づくかによらず、続いてデータ標本とともにエンコードされてエンコード済みデータ標本を構成する。エンコード済みデータ標本は、それに付随する微小効用を伴うデータ標本である。その後このエンコード済みデータ標本が、その微小効用に基づいてネットワークを通って伝播される。
幾何学的ドメインは、データ分配のための目標エリアである。これは、容易にエンコードされ、かつ容易にテストされる平面の幾何学的領域となる。幾何学的形状の正確なライブラリは決定されずに残される。;ここではシステムが原点に中心を置き、2つの半直線θ1およびθ2を伴うセクタを使用する。システムは、セクタの近傍における転送に追加の柔軟性を与える許容量wを含む。定義されたとおり、このセクタは無限遠まで広がり、動的優先度が距離を制限することになり、更新は原点から移動可能であり、それによって無限のセクタをくさび形に閉じることができる。代表的なセクタを図8に示す。θ1=θ2となる特殊ケースにおいては、セクタが原点を囲む矩形の領域を覆うように大きなwを使用することができる。
セクタは、セクタを定義する半直線を使用してコンパクトに表現できる。これらの半直線は、勾配として半直線1=(Δx1,Δy1)および半直線2=(Δx2,Δy2)と定義される。標本がそのセクタ内にあるか否かを決定するセクタのテストの計算は、これらの勾配との交点を使用して効率的に行うことができる。原点の表現は128ビット(2×64)を必要とし、すでにデータ標本と関連付けされている。セクタの表現は、各勾配について2×8ビットおよびマージンに8ビットを伴って40ビットを追加するだけである。また、周知の識別子による一般に使用される幾何学的形状のエンコード等によってさらに圧縮することも可能である。セクタの外側のポイントにおける微小効用はゼロであり、セクタ内においては、動的優先度によって微小効用が決定される。
動的優先度は、2つの変数、:すなわちデータ標本が生成されてから経過した時間、およびデータ標本が生成されてからそれが移動した距離の線形関数である。(時間,空間)が時間‐空間ドメイン内、この例の場合であれば図9に示されている四辺形の中にあるときは、優先度がこのドメイン上の線形関数によって定義される。線形関数は、3つの切片、:すなわち(0,0)におけるU_origin、(Tmax,0)におけるU_time、および(0,Dmax)におけるU_distanceによって決定される。この四辺形の外側において微小効用はゼロであり、かつこの四辺形の内側においては、線形関数がゼロより小さくなることがないように必要であれば切り取られる。動的優先度の例のグラフを図10に示す。
微小効用は、先行動作的および反応動作的役割をともに担う。正常動作の下においては、たとえばデータ標本が急速に、かつ効果的に広められるときには、微小効用が先行動作的な役割を担う。データ標本は、微小効用内に定義された幾何学的ドメイン全体にわたってジオキャストされることになり、原点からのその距離はDmaxによって制限される。しかしながら、多くの場合にこの幾何学的ドメイン、特にDmaxがソースからの標本ごとに変化することになり、したがって一般的なジオキャストとは異なり、受信される標本の密度が距離とともに減少することになる。このようにして微小効用が先行動作的に使用されて、異なる距離において最適なデータの量が配信される。
微小効用の反応動作的な使用も存在する。:たとえば、予期されていない輻輳が生じたとき、動的優先度が評価され、もっとも価値の低いデータ標本の破棄に使用される。完全な効用関数とは異なり、これは、計算が容易であり、かつ完全な効用関数の周辺分布の近似を意味するだけの単純な線形関数である。優先度に類似に働くが、一般的な固定された優先度とは異なり、発生以降の距離および時間に伴って変化する。各データ標本は、輻輳が生じたときに、すべてではなくいくつかの標本が破棄されるように異なる動的優先度を有する。
各データ標本は、それに関連付けされた1つまたは複数の微小効用を有することができる。ノードにおける微小効用の評価の間にすべての微小効用が評価され、最大の値を伴う微小効用が使用されるようにできる。データ標本に関連付けされた各微小効用は、異なる地理的領域、最大距離、時間依存性、またはそのほかの、それらの間において異なる特性を有することができる。
データ標本ごとに複数の微小効用を伴うシステムにおいては、種々の方法でそれらの微小効用を結合することができる。1つの方法は、上で述べたとおり、最大関数の使用である。別の方法は合計関数を使用し、それにおいては、ある場所で評価される微小効用が、その場所に提供される微小効用のうちのゼロ個またはそれより多くの合計となり、各微小効用の指定の特性に依存する。
微小効用は、圧縮または縮約することもできる。たとえば、データ標本内における完全な指定ではなく、名前、番号、またはそのほかの識別子によって参照可能ないくつかの周知の微小効用が存在し得る。ここでは、全体の微小効用に適用可能であるとの理解の下に幾何学的セクタについてこれを考察する。
微小効用は、何らかの事象を表す仮想の場所および時間を提供する仮想ソースの場所および時間を採用することもできる。たとえば、乗り物が道路上の氷を検知した場合に、データ・レポートのソースは、送信時にその氷の場所を過ぎていることもあるその乗り物の場所ではなく、その氷となる。それに代えて、可変情報表示(VMS)をワーク・サイトからいくらかの距離に配置し、そのワーク・サイトの場所および時間を使用してそのワーク・サイトに関する安全メッセージを発することもできる。乗り物ネットワークにおいては、一部の乗り物が通信装置を有していないこともあり、したがって「スマートな」乗り物が「無口の」乗り物のために事象を送信し、無口の乗り物に代わって更新を送信することができる。
同様に、微小効用を時刻の関数とすることができる。たとえば、ITSネットワーク内に「持続性」データ標本をリリースし、それを実質的に複数の領域内に常駐させ、異なる時刻、さらには週、月、年等の異なる時点において異なる配布の効用をそれに与えることができる。
微小効用は、セキュリティ手順を介して認証することができる。この手順は、微小効用が真正であることを確認でき、ネットワーク内における微小効用の使用が発信ノードに許可されているという対応する証明書を含むことができる。1つのその種の例を、アプリケーションにそのアプリケーションの効用関数およびスケーリング・ファクタのための証明書を発行する中央機関に関するものとすることができる。アプリケーションは、その証明書を効用関数とともにストラテジ・サブレイヤに呈示して微小効用の署名関数を提供し、それによって証明書保持者が、それぞれの生成された微小効用に署名できる。受信ノードは、生成されたトラフィックがその証明書によって表される負荷に適合することを時間にわたって検証することができる。ノードは、それらの規定されたトラフィック・ノードを乱すアプリケーションからのトラフィックを禁ずるために評判システムを使用することもできる。
効用から微小効用への変換
ストラテジ・サブレイヤは、より表現的な効用関数をより実用的な微小効用関数に変換する非常に重要な役割を担う。前に説明したとおり、これは、各データ標本が異なる微小効用を受け取るが、微小効用のグループは、完全な効用を近似するというディザ処理アプローチを使用することになる。これを行うため、ストラテジ・サブレイヤは、現在の利用可能なネットワーク・リソースに基づいてアプリケーションによって供給される効用関数を最適化することになる微小効用のセットを事前計算する。ここで注意を要するが、ストラテジの生成はデータ・ソースにおいて生じる必要があるだけで、システムのリアルタイムの制約を伴うことなく周期的に生じることが可能である。
ほとんどの動作状態の下において転送動作が新しい微小効用を生成する必要はなく、データ標本とともに移動している微小効用の評価だけを行う。いくつかのまれな状況では、転送ノードが、ソースにおけるその微小効用の作成の前提が変化したと決定すると、それを改訂することがある。この改訂は、データ標本の効用を修正することによって達成され、それもまた微小効用に対する効果を有する。しかしながら、ソースにおいて生成される微小効用がすでに、不測の輻輳に転送ノードが適切に反応することを可能にするために必要なすべての情報を含んでいることから、ほとんどのアプリケーション・シナリオにおいてこれが生じることは一般に期待されない。
ストラテジ生成の1つの実施態様においては、ストラテジ・サブレイヤが次の事前計算ステップ、:すなわち、セクタの選択、交通の正規化および距離の量子化、および効用の量子化を用いて個別の微小効用を生成するべく準備する。セクタの選択は、局所的な交通の流れモデルまたはアプリケーション記述者によって供給された代替関数のいずれかとなる関連性関数r(→xt,→xs)を基礎とする。セクタ選択アルゴリズムは、普通に高い関連性を伴うセクタの識別を試みる。その種のセクタが識別できないときには、全周に、すなわち360度のセクタを用いて更新が送信されることになる。セクタが識別された場合であっても、より低い関連性のエリアを覆うためにいくつかの全周の更新を送信することがしばしば役立つ。
セクタは、最初に、ソース周りの角度の関数r(θ)として関連性を計算することによって見つけられる。次に、r(θ)内の局所極大ピークを、それらがあらかじめ決定済みのスレッショルドを超えることを前提として選択する。ピークは、隣接するθについてr(θ)が、より小さい第2のスレッショルドをまだ超えていれば、その値を含めることによって完全なセクタに拡張される。いくつかの場合においては、ピークの拡張が合流してより大きいセクタを形成することがある。セクタが識別されると、次のいくつかのセクション内のステップがそれぞれのセクタについて実行される。
システムは、セクタが選択された後、zjとzj+1のそれぞれの間のそのセクタ内において更新を広めるために必要な交通がほぼ等しくなるように半径方向の距離のシーケンスz1、z2、z3、...、znを選択する。セクタの角度θが大きいとき、システムは、原点からの距離とともにzjの間隔が減少することを求め、zjにおける弧の長さの増加を補償する。
受信される更新の頻度fを一様に0、f1、f2、f3、...、fmと量子化することも可能であり、それにおいてfmは、効用がほぼ平坦になる(したがって、fmより頻繁に送信する必要が存在しない)領域内に存在する充分な大きさとなるように選択される。効用関数Uは、セクタ内のzj‐1とzjの間において2部構成の効用の式を積分(必要であれば近似的に)することによって配列Ui,j内に汲み取られる。Ui,jは、zj‐1とzjの間のセクタに対して頻度fiで更新を配信する効用である。
fに関してUの限界^Uを次のように計算することができる。
^Ui,j=Ui,j−Ui−1,j
限界^Uは、距離zj‐1〜zjにおいてより多くのデータ配信を追加することの追加の利益として解釈できる。この限界効用は、最適化問題における中心的役割を担うことになる。直観的には、限界効用がもっとも高いところにデータを配信することが最良であり、配信計画が最適のとき、すべての可能な「改善の」限界効用が概略で等しくなるべきである。
コストC*は、先行するセクションの量子化において各「セル」によって必要とされる帯域幅について決定される。交通が正規化され、かつ頻度が等しい間隔で離されたことから、各セルに同一のコストを使用できる。正常な経済システムにおいては、コストが市場によって決定されることになる。このシステムを簡素化するため、コスト設定メカニズムを採用できる。所定のコストcについて、ストラテジ・サブレイヤは、図11に示されているセル^Ui,jのいくつかを覆うことになる微小効用のパターンを計算する。この考察では、覆われるセルの数をcにおける需要d(c)と呼ぶ。d(c)の計算の考察は、最初にd(c)を仮定してC*を記述するために後に回すことにする。
新しい効用関数が提供されると、ストラテジ・サブレイヤは、規則的に間隔が開けられたスレッショルドcのセットのためのストラテジを計算する。これらの規則的に間隔が開けられたスレッショルドは、所定のコストのために必要とされるセルの数、またはネットワーク・トラフィックである需要曲線d(c)を近似する。これに基づいて、異なる方法から選択してコストC*または限界効用を設定することが可能である。
基本の分割コストを使用し、すべての近隣がまったく等しいデータ・ソースであると仮定する。コストは、n個の近隣の間において等しくトラフィックを分割する。すべての近隣は、まったく等しい需要曲線を有し、まったく等しいコストに達すると仮定される。
この基本分割コストは、近隣が異なる効用関数およびその結果として異なる需要曲線を伴う異なる情報ソースを有するときにある種の限界を有することがある。異なるノードが異なるコストを有するとき、局所近隣の中でコストを調和させることが可能である。各ノードは、独自のコストを独自の需要曲線を基礎として計算する。また、直前に計算したコストにおける需要曲線の勾配に基づいて局所重みも計算する。このコストおよび重みのペアが、局所近隣内において伝達される。
各ノードは、この時点で新しいコストを重み付け平均によって計算することができる。新しいコストは、各重みの和によって除された、各コストを乗じた各重みの和である。この計算は、需要曲線が平衡点の近傍において線形になると仮定することによって、市場が到達することができる「平衡」コストを近似する。しかしながらこれは、市場とは異なり、重み付け平均の計算を介して直ちに到達する平均を有する。ストラテジ内において生成されたより長い距離の微小効用に起因して隣接領域内への情報の「溢出」がある場合には、追加の改良が利用できることがある。局所コストの部分を隣接領域に伝播し、トラフィックの溢出に影響を及ぼすことは可能である。
このコストは、システムの内部変数であり、必ずしもシステムのユーザに負わされない。しかしながら、このコストは、その後に続く手順においてシステムのユーザに対する負担を決定する有用な入力となり得る。
コストC*が決定された後は、ストラテジ生成を、経済的選択として見ることができる。:すなわち、効用がそのコストより大きくなるようにセルのセットを選択する。これらのセルは、たとえば図1に示されているとおり、それらが微小効用のパターンによって覆われることが可能となるように、凸の領域を形成するべく選択されなければならない。限界効用^Ui,jが、図1に示されているとおり、iおよびjの両方において減少しているときには経済的選択が単純になる。:すなわち、限界効用がコストより大きくなる^U内のセルを選択する。この状況が最初に考慮されることになる。
図11は、^Ui,jを例示している。;太線に囲まれた領域は、コストC*=32より上のすべてのセルを囲い込んでいる。囲まれた領域は、このアプリケーションにとって帯域幅の18「単位」を消費する最良の方法が、そのデータ標本の80%をz1まで、60%をz4まで、40%をz6まで、20%をz7まで送信し、z7を超えて送信しないことを示唆しているとして解釈できる。
個別の微小効用の生成のための準備においては、システムが、コスト・スレッショルドを超える水平行の長さを計算する。各iについてg(i)を、^Ui,jがまだコストC*より大きいままとなるような最大のjとして定義する。図11の場合であれば、g(1)=7、g(2)=6、g(3)=4、g(5)=1、g(6)=0となる。微小効用の幾何学的ドメインは、zg(i)から一様に選択されることになる。言い換えると、微小効用iを伴うデータ標本のために計画された移動距離は、D(i)max=zg(i)となる。iによってインデクスされたシーケンス^Ui,1、^Ui,2、^Ui,3、...、^Ui,g(i)は、全体として^Ui,jの左下コーナをタイリングし、コストC*より大きい限界効用を伴うすべてのセルを覆うことになる。図12は、水平の矩形60、62、64、および66として微小効用を示している。
限界効用がiおよびjにおいて減少しない場合には、セルを選択する手順が修正されなければならない。理解されることになろうが、任意のCの値について、最短パスまたは動的プログラミング・アルゴリズムを使用し、g(i)の左側の領域のために、セルのコストを差し引いたセルの効用を最大にする値g(1)、g(2)、g(3)のシーケンスを見つけることが可能である。その種のアルゴリズムは、それぞれの可能ストリップg(i)についてコストおよび効用を決定できることから、zjを慎重に選択してセル当たりのコストを一様にすることを必要としない。効用と帯域幅のコストの間の関係を使用し、微小効用のパターンの比較時に帯域幅のコストを差し引いた効用の和が増加するように微小効用のパターンを決定できる。
iにおいてzg(i)を一様に選択することは、概して、転送サブレイヤがもっとも有用な情報を乗り物に配信するもっとも確かな方法である。しかしながら、コストは、データが生成される時および場所において充分に理解されると考えられる。いずれかの領域または時間期間において不測の輻輳が存在する場合を扱うために、動的優先度関数を生成することも必要である。ここで、動的優先度は、標本が除外された場合に失われることになる限界効用を近似するものとする。この「残存効用」は、残存セル内の限界効用を合計し、:
その後、(zj,^U
Ri,j)に対して直線を当て嵌めることによって計算できる。この直線は、微小効用iの動的優先度部分における切片U_originおよびU_distanceを決定する。遅延に起因して微小効用が失うことになる値の量を決定する追加の切片U_timeは、効用関数Uにおける平均について観察されるとおり、U_originからU_distanceへの同一の勾配を使用することによって見つかり、次のとおりとなる。:
図12は、等間隔に設定されたzj=jを仮定した微小効用のセットを図解している。このように微小効用3について、行3:(0,200)、(1,135)、(2,80)、(3,35)の残りに対して直線が当て嵌められた。
最後にシステムは、p(1)=1とする最初の微小効用がもっとも強い微小効用となることが保証される順列pを選択し、微小効用生成の一様なパターンを設定することによってストラテジ生成プロセスを完成する。上記のストラテジ・アルゴリズムは、もっとも遠くに移動する微小効用がもっとも高い限界効用を伴うセルを覆い、したがってもっとも高い動的優先度を有することになるという性質を有する。また、微小効用の動的優先度部分の当て嵌め時に、^Ui,jのよりランダム化されたタイリングを生成することも可能である。
微小効用を生成するためにシステムは、微小効用ストラテジ順列p内へのインデクスkを維持する。アプリケーションが新しいデータ標本を供給するとき、微小効用が、レンジD(p(k))max、および上記のとおりあらかじめ計算されたU(p(k))_origin、U(p(k))_distance、およびU(p(k))_timeによって与えられる微小効用を用いて生成される。;kは、その後に続く微小効用生成のためのセット・サイズを法として増加される。
アプリケーションのデータ標本が劇的に変化する場合には、アプリケーションが微小効用生成をリセットすることができる。これはk=1をセットすることによって達成され、それによってもっとも強い微小効用が次に送信される微小効用となることが保証される。
輻輳管理
転送サブレイヤは、中心的な意志決定レイヤである。これがデータ更新を受信し、それらの微小効用を評価し、以下の値を使用してその先のそのデータの取り扱いについての決定を行う。
データ・アイテムがその微小効用の幾何学的ドメイン内にあるとき、そのデータ・アイテムは、そのデータに関心のある任意の局所アプリケーションに対して配信される。これは、図2に示されているプロトコル・スタック内を「上に」アプリケーション・レイヤまでデータを渡すことによって達成される。いくつかの実装においては、データを送信するコストをすでに被っていることから、それが幾何学的ドメインの外にある場合であっても常に、受信されたデータをアプリケーションに引き渡すと望ましいことがある。
データ・アイテムの微小効用が「除外スレッショルド」より小さいか、またはそれに等しい場合には、そのデータが除外されるか、または破棄される。これは、局所輻輳が検出されたときに効率的に動作するピア−ツー−ピア・ネットワークを維持する重要な反応動作的ステップであるーデータ・アイテムの微小効用が除外スレッショルドより上であれば、局所近隣にそれがブロードキャストされる。
長レンジ・メディア能力を伴う特定ノード上において、データ・アイテムの微小効用が、より高い「プレミアム・スレッショルド」を超えるとき、局所ブロードキャストに加えて、たとえば固定有線または無線インフラストラクチャを使用して、より長い距離への送信も行われる。
データが時間にわたってその価値を保持する場合には、そのデータが、後の時点における潜在的将来的な転送のために局所的にストアされる(ストア−アンド−フォワード)。
上記の決定のすべては、微小効用によってガイドされる。直接伝播のオプションを図13に図解する。図14は、転送サブレイヤの追加の役割が展開されたプロトコル・スタックを示している。
輻輳が検出されると、より少ないデータが転送されるように、また微小効用の使用が、より価値の低いデータが除外されることを意味するように、除外スレッショルドが増加される。データ標本は個別に評価されるが、データ・ソースの間の微小効用内の変動は、除外が同一のソースからのデータ標本のストリームがインテリジェントにふるい落とされることを意味する。
図15を参照し、不測的に輻輳するノードが存在することを仮定する。ノードはスレッショルドを設定し、そのスレッショルドより低い優先度を伴うすべてのデータ標本を破棄する。高レベルの輻輳では、輻輳したノードが、より多くのトラフィックを取り除くべくより高いスレッショルドを設定しなければならない。図15においてはこれが、データ・ストリームA(左の棒グラフ)についてトラフィックの30%だけ、ストリームB(右の棒グラフ)からのトラフィックはまったく転送されないという結果をもたらす。低い輻輳が存在する場合には、低いスレッショルドがストリームAからのトラフィックの60%、ストリームBについてトラフィックの80%を転送することになる。
ここで注意しなければならないが、上記のアプローチは、高いが、固定された優先度をデータ・ストリームAに割り当てる固定優先度アプローチより効果的である。これは、ストリームBからのデータを破棄することによってノードにすべての輻輳問題を解決させ、結局そのストリームを完全に抑圧する。微小効用は、1つの微小効用から次のものへと変化し、より良好な解決策を見つけることができる。結果は、固定優先度とまったく同程度に簡単であるが、コストまたはオーバーヘッドをほとんど伴わずに完全な効用関数の利点のほとんどを達成する除外の決定となる。
微小効用はいずれのデータが除外されるかを決定するが、どの程度多くのデータが除外されるかの決定は、除外スレッショルドのレベルが行う。除外スレッショルドは、局所輻輳の測度に基づいて設定される。このコントロール・メカニズムは、輻輳監視サブレイヤに関して後述する。
ネットワークが滑らかに機能するためには、しばしば慎重な負荷の管理が要求される。これはキャリア‐センス無線ピア−ツー−ピア・ネットワークにとって、キャリア・センスが決して完全ではなく、かつ高い負荷が予期しない衝突を引き起こし、スループットを低下させることから重要である。スケジュールされたネットワーク内においては、固定数のスロットだけが利用可能であり、後に到着する決定的なパケットのための空間を残さずにそれらを完全に埋めてしまうことが望ましくないため、これが一層重要となり得る。
局所ノードにおいてトラフィックを管理するとき、はるかに高い負荷を有することがある隣接ノードにおけるトラフィックを考慮することが重要になる。802.11プロトコル・スタック内のMACレイヤにおける局所キューの長さが、近隣内の輻輳の良好な測度となることがわかっている。局所負荷が軽い場合であっても、数ホップ内のノードにおけるトラフィックの高いレベルがキャリア・センスによって検出され、局所キューを満たすことになる。それらのノードは、データ標本パケットの一部、明示的な管理パケット、または帯域外(すなわちパケット内ではない)として情報を交換することができる。この情報を、以前に提供されたトラフィック情報の一部としてリポジトリまたはデータベース内に含めることもできる。さらにノード間の交換が認証または暗号化されることもある。
さらにまた、システムが局所キューの長さ(QL)を測定し、局所キューの長さを短く維持するべくコントロールする場合には、システムが重要な除外の決定およびゴシップ抑圧の決定をプロトコル・スタック内のより上で、パケットがMACレイヤにリリースされる前に行うことが可能になり、そこではその最終的な送信がMACキュー内においてそれが待機する間により低いレベルの(情報レイヤのコントロールを超えた)プロトコルによって硬直に決定される。情報レイヤにおいては、データ標本の除外または伝播に加えて、一時的に遅延された後にデータ標本が伝播されるようにできる。
輻輳測定は、転送サブレイヤのコントロールに使用される。これは、除外スレッショルドを変更することによって達成され、多くのメカニズムによってそれを達成することができる。たとえばシステムは、QL^1.5に比例する局所キューの長さの指数関数を使用して除外スレッショルドを設定することができる。これは、システムに、極めて高い効用のパケットが一時的に輻輳レベルを上昇させることを許容させるが、輻輳の増加に従ったスレッショルドの迅速な増加に起因してその増加の量を制限させる。スレッショルドにおける実際の増加は、較正メカニズムに従って設定される。このメカニズムは、現在の時点の転送ノードの場所において評価される、最近受信した微小効用の平均および標準偏差の測度を維持する。この情報を知ることは、較正アプローチの近似の精度内において特定の量のトラフィックが除外できるようにスレッショルドを設定することを可能にする。このほかの較正テクニックとして、微小効用のより詳細な統計、受信された微小効用のヒストグラム、または時間的に微小効用がどのように変化するかについてのより詳細な情報の維持を含めることができる。
局所キューの遅延、およびパケット‐サイズによる重み付けキューの長さ等のこのほかの測度は、キューの長さと密接に関連し、より正確な輻輳の測度となり得る。それらはまた、各パケットがネットワーク・スタックにリリースされるときにその観察が可能であり、かつ各パケットがMACレイヤから送信されるときにそれに関するモニタを設定できる輻輳サブレイヤによって容易に測定される。さらにこのほかの、平均のキューの長さおよび集計されたキューの長さといったキューの長さの測度も使用できる。パケット‐サイズによる重み付けキューの長さの履歴等の履歴測度もまた使用でき、それにおいては最近のパケット‐サイズによる重み付けキューの長さが、より古いキューの長さより局所データ・トラフィック・レベルの決定により大きな効果を有する。これは、上記の任意の輻輳測度に適用可能である。
近隣の輻輳測定は、さらに、送出パケットのヘッダ内におけるキューの長さの局所測定のピギーバックによって2ホップの近隣まで拡張することが可能である。これは、プロトコル・スタック内のこの場所において輻輳監視サブレイヤによって容易に達成される。:これはパケット・ヘッダへの測定の挿入およびそこからの回収を行うが、それ以外はパケットの変更を行わない。近隣ノードのパケット・ヘッダからの測定は、局所ノードについての測定と結合して、局所データ・トラフィック・レベルを決定することができる。
選択されたキューの長さをより矛盾なく維持するべくキューの長さを管理可能な、QL^1.5より精密なコントロール・メカニズムを案出することが可能である。これらの方法は、たとえば、伝統的なフィードバック・コントロール・システム設計および分析テクニックを利用し、現在の測定されたキューの長さと所望のキューの長さの間の差を使用するフィードバック・メカニズムを含むことになろう。
同様に、データ標本を除外する評価基準がスレッショルドとして論じられているが、ほかの評価基準も同じく使用することができる。近隣ノードのトラフィックを含むこともあれば、含まないこともある局所データ・トラフィックは、輻輳の評価基準の定義に使用される。その後この評価基準が微小効用に適用され、除外されることになるデータ標本があれば、それが決定される。たとえば、最近受信されたデータ標本の微小効用を評価基準の決定に使用することができる。これらの最近受信された微小効用を、現在のデータ標本のための微小効用の再スケーリングに、評価基準をその微小効用に適用する前に使用することもできる。
効用にガイドされるメディア‐アジリティ
ネットワークの固定ノード(たとえば、停止灯、道路標識等)について、システムは、より長いレンジのワイマックス(WiMax)等の固定無線能力を設計内に含めている。
その種のより長いレンジの無線送信がより大きなエリアを覆うことから、それらはより多くの空間帯域幅(すなわち、帯域幅面積)を消費する。それらは、より貴重なリソースを消費し、したがってプレミアム・スレッショルドが使用されてもっとも価値のあるデータ・アイテムだけが長いレンジのメディアを通ってルーティングされる。除外スレッショルドと同様に、プレミアム・スレッショルドは、長レンジ・チャンネル内の輻輳の局所測度を基礎として設定される。上で論じた局所データ・トラフィック・レベルの測度のいずれも、データ標本が伝播されることになるメディアの決定に使用することができる。
より長いレンジのメディアは、独自のより低いレベルのプロトコル・スタックを有するが、図14に示されているとおり、転送サブレイヤおよびブロードキャスト・サブレイヤは共有することになる。プレミアム・スレッショルドの上を通過するか、またはスレッショルドが1つの例となるほかの評価基準を満たし、かつ長レンジ・チャンネルを介してルーティングされるデータ・アイテムであってもなお、レシピエントにおいて転送サブレイヤによって処理される。特に、それらが長レンジ・チャンネル内の伝播を継続するためには、各長レンジのホップの後にプレミアム・スレッショルドより上でなければならない。ここで注意を要するが、このプレミアム・スレッショルドより上であることは、正規の乗り物対乗り物無線プロトコルを介したデータの同時送信を抑圧しない。情報伝播は両方の方法を介して生じ、あらゆる冗長性は正規のブロードキャスト・サブレイヤ・メカニズムを介して防止される。
加えて、長レンジおよび標準メディアは、微小効用の異なるレンジと関連付けすることができる。たとえば、特定のスレッショルドより低いデータ標本は除外される。特定レンジ内の微小効用を有するデータ標本は標準メディア内だけで伝播され、異なるレンジ内の微小効用はプレミアム・メディア内だけで伝播され、さらに別の微小効用のレンジは、両方のメディア内で伝播されるというようにできる。レンジおよびチャンネルのバリエーションおよびそれらの間の組み合わせは、特定のシステムのための実装に任される。それに加えて、微小効用の評価が、その評価が実行されているノードの特性に基づくことから、各中継ノードが送信のためのメディアを決定する上記のプロセスを反復することができる。
メディアの選択のための微小効用の使用に加えて、メディアおよび特定のメディアによって接続されるノードの特性は、データ標本の送信を決定することができる。すでに含意されている1つの特性は、それぞれの特定メディアによって接続されたノードによって特徴付けされる。この情報は、特定メディアに接続されたノードの間において交換されるか、または各ノードの情況を維持する中央リポジトリへのノードの登録の結果とすることができる。この交換の実装は、メディアに依存することができる。特定のメディアに接続されるノードのサブセットは、直接的なピアだけ、限定されたノードのサブセット、またはすべてのノードとすることができる。この「ノードの情況」は経時的に変化することがあり、更新は、そのメディアにまだ接続されているもの等の関心ノードに対して伝播することができる。
上記に加えて送信メディアの選択のガイドに使用されるメディアの特性は、メディアを介した接続の遠隔端における微小効用の評価を含むことができる。たとえば、インフラストラクチャ・システム内においては、ポイント−ツー−ポイント・リンクを介してノードを遠隔ノードに接続することができる。この場合に、ポイント−ツー−ポイント・リンクを介して更新を送信することは、受信ノードにおいてそれがゼロの効用を有することになるのであれば理由がない。
メディアの特性は、送信ノード、受信ノード、送信されているデータの性質、およびメディア内のチャンネルの状態に依存することができる。たとえば、長レンジのマイクロ波システムにおいて、ノードAが2つの近隣BおよびCを有することがある。近いノードBに対するリンクは高速データ転送をサポートでき、遠いノードC上のリンクは低速データ転送だけをサポートできる。転送レートもまた、転送の時点においてシステムによって検出された干渉ノイズを基礎として選択されるようにできる。
このほかの特性が、送信のためのメディアの選択におけるファクタを担うこともある。メディアの特性がパケット内に含められている標本の数を決定すること、および暗号化およびセキュリティ要件を決定することもできる。
それとは別に、メディアの選択によって更新、輻輳、およびストア−アンド−フォワードの実装の管理に影響が及ぶことがある。たとえばメディアを介したデータ標本の送信を、保持が使用されている場合を除き、各メディア上において重複する標本が検出され、抑圧されるようにコントロールできる。この抑圧メカニズムをメディア依存とすること、およびホールド−アンド−フォワード・メカニズムを別のタイプのメディア内に使用されているホールド−アンド−フォワード・メカニズムと独立させることもできる。
ストア−アンド−フォワード
ストア−アンド−フォワードは、ネットワークのピア−ツー−ピア接続において自然に生じることになるギャップに取り組む。市街地エリアにおいては、交通信号が乗り物を交通信号の周囲にまとめて束ねるが、中心ブロック領域内にギャップが残ることがある。さらに乗り物が交差点の間を移動するとき、これらの束がしばしば持続することがある。田園エリアにおいては、乗り物の低い密度が送信ギャップを作り出すことになる。
図16は、交通信号が乗り物をまとめて束ねたことによって生じるシナリオを例示している。グループA 70内において生成されたデータは急速にグループA内のすべての乗り物に伝播するが、グループA内のいくつかのデータ・アイテムのフラッディングは、グループA内の乗り物がグループB 72のレンジ内に移動する前に完了する。これは、それらのデータ・アイテムがグループBに決して到達しないという結果をもたらすことになる。その種のシナリオにおいては、乗り物が移動するときに更新を一時的にその中にストアし、その後に遭遇する別の乗り物にそれらを渡すことによって到達範囲が大きく改善される。
ストア−アンド−フォワード・テクニックで困難なところは、ストアした更新がいつ再び転送されるべきかの決定である。乗り物が、それらがストアしている更新を単純に周期的に再ブロードキャストする場合には、かなりの追加のトラフィックが生成され、この過剰トラフィックは、たとえば初期伝播が良好に接続されたネットワークを介して移動し、すべてのレシピエントに問題なく到達しているとき、完全に不必要となる。再ブロードキャストが必要となる場合であっても、特定の時点、たとえばグループAが図16の中央において最初にグループBと遭遇するときに限って必要となると見られる。ストアされた更新が新しいノードによって受信された後は、受信されたデータのための正規のメカニズムを介してそれがアプリケーションに利用可能になる。
更新を周期的に再ブロードキャストするのではなく、それに代えて要約アプローチを使用することができる。要約は、ノードのストア済み更新の内容の高度に圧縮された表現であり、ここではそれらのストア済み更新を「ホールド」と呼んでいる。要約内においては、ホールド内にストアされている各更新が、ハッシュ関数によるといった縮約された形式で表される。発明者らによってすでに実装されている1つの実施態様においては、各更新がわずか8ビットによって表現され、これは、500〜2000ビットまたはそれより多くなる可能性のある完全なデータ標本のサイズに対してかなりの節約である。この実施態様においては、各ノードが、標準の送出更新メッセージ上に要約のピギーバックを周期的に行う。この要約のレシピエントは、それら独自でストアしている更新の要約とそれを比較し、それらの近隣のホールド内にいずれの更新が欠落しているかを決定し、それらの更新だけを再ブロードキャストする。
しばしばこれは「反エントロピ」または「集合調和問題」と呼ばれる。同一データ・ソースからの更新は、タイムスタンプが付けられることになり、ほとんどのアプリケーションにおいては、ノードが、ソースからのもっとも新しいタイムスタンプを伴うもっとも新しい更新の保持を希望するにとどまる。これを陳腐化セマンティクスと呼ぶことができ、以下の考察においては、陳腐化セマンティクスがより取り扱いの困難なケースであることから、それを前提とする。しかしながら、ここに述べられている方法は、非陳腐化セマンティクス、または陳腐化および非陳腐化セマンティクスの混合を伴うデータ型を、各ソースからのすべての更新についても、それらが何らかのスレッショルドを超える効用を継続して有する間にわたって保持し、かつそれらを、要約の生成、および比較およびホールド−アンド−フォワードの目的について別々のエンティティと考えることによってサポートすることが可能である。陳腐化セマンティクスの場合には、受信されたデータが、すでにアプリケーションに提供されている更新より新しい場合にだけそのアプリケーションに提供される。
1つの実施態様においては、ソート済みリスト要約を用いて効率的に集合調和問題を解決することが可能である。その種のアーキテクチャにおいては、微小効用が更新をソートする自然な方法を与える。さらに、もっとも高い微小効用の相違を最初に調和することによって、貴重な送信リソースがもっとも価値のある再ブロードキャストに割り当てられることが保証される。ソート済み更新は、局所ホールドとの要約の効率的な比較を可能にし、更新の優先度設定を簡素化する。
ソート済みリスト要約は、更新を微小効用順にソートし、各更新についてストリームIDおよびタイムスタンプの短いハッシュを計算することによって構成される。このハッシュのリストが要約として送信される。図17は、遠隔センダから受信された要約と比較される局所ストレージ内のデータ・アイテムの要約を示している。
2つの要約の比較は、レーベンシュタイン距離アルゴリズムを用いて計算できる。レーベンシュタイン距離は、2つの文字列を等しくするために必要なもっとも少ない数の「編集」、すなわち文字の挿入または削除である。ここでは、レーベンシュタイン距離の計算が、2つの異なるホールドの間において異なる更新を識別する。
比較の後は、配列比較の結果に応じた動作がとられる。局所ノードが図17の74に示されているとおり、ソート済み相違内の最初の不整合の相違を保持している場合に、その局所ノードは、そのストレージから相違のバッチを送信する。図17は、4つの相違が送信されることを示している。その種のバッチ内に含められることになる相違の数の最小および最大が、このアルゴリズム内において設定できるパラメータになる。遠隔要約が、図18の78に示されているとおり、ソート済み相違内の最初の(もっとも高い微小効用)相違を保持している場合に、局所ノードは、その要約を次の送出パケットに追加することによってそれを送信する。この送信された要約は、遠隔ノードに、それが要約の比較を行った後に、おそらくは相違を局所ノードに返送させることになる。
この非対称の理由は、2つのノードが同一ソースから、発生時が異なる複数の更新を保持しているとき、2つのノードの間においてもっとも新しい更新に調和されることが望まれるためである。もっとも新しい更新は、もっとも高い微小効用を有することになり、したがって最初の相違が右方向に送られることがより有望となる。プロトコルは相違のバッチを送信し、そのためこれはバッチ内の2番目およびその後に続く相違に必ずしも当て嵌まらない。バッチは、効率のために送信される。;しかしながら、バッチ内のその後に続く相違もレシピエントに有益であることはありがちである。
要約の不整合に応答してホールドから送信された更新は、適切なメディア上において、転送される正規の更新とまったく同様にブロードキャストされる。更新のブロードキャストの性質から、それらは、1ホップの近隣内において複数のホールドを同時に調和することができる。MACレイヤにすでにリリースされたパケットのキューイングおよび遅延に起因して、ノードが、新しくない要約を、それがすでにホールドから更新を再ブロードキャストした後に近隣から受信することがある。不必要な再送信を回避するため、ノードは、ホールドから更新を送信した後に一時的にそれを抑制する。これは、新しくない要約に起因する複数の再送信を回避する。
要約の中に含まれる要約された更新は、それらが時折偶発的に「衝突」するほど、すなわちそれらが整合するべきではないときに整合するほど圧縮される。:2つの異なるデータ・アイテムが、圧縮アルゴリズム内において整合することになる。しかしながらこの失敗はまれである必要がある。これらの失敗の結果として少量の不必要なトラフィックが送信されることになるが、ホールド内のデータの正確さまたは新しさに関して影響を持たない。
ホールド内にストアされた更新は、任意のソーティング・アルゴリズムを用いてソートされた状態を維持できる。シェル・ソートは、リストがすでにほとんど正しくソートされているときに非常に効率的であることから、特に効果的であることがわかった。これは、微小効用がソートの間において非常にわずかにしか異ならないため、しばしば当て嵌まる。さらにシステムは、規則的なグリッド上の限られた数の場所においてだけ微小効用の再評価を行い、言い換えるとそれは、乗り物の空間および時間座標を規則的なグリッドに量子化する。これは、ホールドがソーティングを必要とする回数を制限し、近隣ノードが同一のソート済みの順序を有する尤度を増加する。システムは、それらの量子化されたパラメータを使用して動的優先度を評価する。要約を送信するノードが、要約とともに量子化されたパラメータを含み、それにより受信ノードが量子化されたパラメータを使用して受信された要約と局所要約を比較することは可能である。局所ノードが局所ストレージのソートに量子化されたパラメータを使用することも可能である。
レーベンシュタイン距離等の配列比較は、動的プログラミングを使用してもっとも少ない不整合アイテムとの並びを探し出すが、通常これはO(n^2)の時間および空間を要し、それにおいてnは比較されるリストの長さである。この実施態様は、2つのリストの間における最初の小さい数の相違を見つけ出すように伝統的なアルゴリズムを修正している。1つの可能な実装においては、伝統的なレーベンシュタイン距離アルゴリズムが系統的にn×n行列を計算し、それにおいて(i,j)エントリは、一方の文字列内の最初のi文字と他方の文字列内の最初のj文字の間の最良の整列を表す。対角線から大きく外れるエントリ、すなわち|i‐j|>kは、それらの部分文字列が同一の長さを有するようにするために少なくともk個の編集が必要であることから、距離>kを有してなければならない。発明者らの要約比較アルゴリズム等の、2つのリスト間の小さい数の相違を探すアルゴリズムは、対角線から大きく外れるエントリをまったく計算する必要がなく、したがってO(kn)の時間および空間においてより効率的に距離を計算することができる。
ストア−アンド−フォワード動作は、いくつかのレート制限メカニズムを含み、要約が過度に頻繁に送信されないこと、および更新が過度に頻繁に再ブロードキャストされないことを保証する。たとえば、要約が送信される頻度をレート制限する1つの方法は、最後の要約の送信時に記録を行い、一定の短い時間期間が経過するまで新しい要約を送信しないことである。しかしながら、リンボと呼ばれる1つの重要な制限メカニズムが存在する。
リンボは、ストア−アンド−フォワード動作を決定する。更新が最初に生成され、ネットワークを通って最初に伝播されるとき、通常はそれが、すべてのレシピエント・ノードのホールド内に入れられる。システムは、正規のピア−ツー−ピア送信メカニズムを介して受信される可能性のある標本の送信を回避するため、ストア−アンド−フォワード動作が直ちに開始されることを望まず、そのためリンボと呼ばれる遅延時間が、すべての新しく生成された更新に適用される。データ生成からの経過時間がリンボ時間より短いときには、ストア−アンド−フォワード動作の目的のために微小効用がゼロであると仮定され、それらの最近生成された更新がノードのホールドのボトムにソートされ、生成される要約内に現れることはない。図19は、微小効用の時間‐空間ドメイン上のリンボ・ラインを示している。
リンボは、データが生成された時点に関する一定の時間として定義できる。リンボは、ストア−アンド−フォワード動作の過早な開始を防止する。これは、更新の伝播が良好なマルチホップ接続内のすべてのノードに広がることを可能にする。初期伝播の間に、多くの一時的な不一致が存在し得るが、それらはほとんど瞬間的に解決されることになる。これらの更新の過早なストア−アンド−フォワードの要約比較は、より深刻な長期にわたる不一致を修正するというよりは、むしろ多くの一時的な不一致に応答することになる。リンボは、ストア−アンド−フォワード動作を、すでに近隣ノード間において交換される機会を有したより古い更新のために予約する。
リンボは、良好に接続されたノードからの更新が、ストア−アンド−フォワード動作に絶えず関与することも抑える。良好に接続された状況においては、更新がリンボを離れ、ストア−アンド−フォワードへの関与を開始する前に、リンボの中でそれが、陳腐化セマンティクスにより、同一のソースからのさらに短い経過時間を伴う別の更新で置き換えられる。更新は、接続のギャップが生じ、ソースがそれに意図されたレシピエントから分離されるときに限ってリンボを離れることになる。
10 ノード、12 ノード、13 プロセッサ、14 ノード、16 ノード、20 情報レイヤ、22 ストラテジ・サブレイヤ、24 転送サブレイヤ、26 ブロードキャスト・サブレイヤ、30 ネットワーク・レイヤ、32 アプリケーション・レイヤ、34 円、36 円、70 グループA 、72 グループB。