(57)【要約】      （修正有）【課題】大規模なモバイルアドホックネットワークがモバイル無線ネットワークにおける無線ノードの特定のニーズに適応するのを容易とするシステムを提供する。【解決手段】中間ノード１１４は、マイクロユーティリティ及び関連性を示す１つ以上のパケットを受信する。マイクロユーティリティは、アプリケーションに固有のユーティリティ機能に基づいており、関連性は、１つ以上のパケットの優先度を示す。中間モバイルノード１１４は、１つ以上のパケットの関連性を組み合わせる。中間モバイルノードは、１つ以上のパケットについてのマイクロユーティリティ及び関連性を統合し、マイクロユーティリティ及び関連性の統合に基づいて１つ以上のパケットの値を判定する。中間モバイルノードはまた、各パケットの判定値に基づいて１つ以上のパケットに対する動作を判定する。【選択図】図１Ｂ
2016076923.tif 000002
【特許請求の範囲】
【請求項１】
モバイル無線ネットワークにおいてルーティングするためのコンピュータ実装方法において、
中間ノードにより、アプリケーションに固有のユーティリティ機能に基づいているマイクロユーティリティ及び１つ以上のパケットの優先度を示す関連性を示す前記１つ以上のパケットを受信することと、
前記１つ以上のパケットの前記関連性を組み合わせることと、
前記１つ以上のパケットについての前記マイクロユーティリティ及び前記関連性を統合することと、
前記マイクロユーティリティ及び前記関連性の前記統合に基づいて前記１つ以上のパケットの値を判定することと、
各パケットの判定値に基づいて前記１つ以上のパケットに対する動作を判定することとを備え、
それにより、大規模なモバイルアドホックネットワークが無線ノードの特定のアプリケーションのニーズに適応するのを容易とする、方法。
【請求項２】
モバイル無線ネットワークにおけるルーティングを容易とするコンピュータシステムにおいて、
プロセッサと、
前記プロセッサによって実行されたとき、方法を前記プロセッサに実行させる命令を記憶する記憶装置とを備え、前記方法が、
中間ノードにより、アプリケーションに固有のユーティリティ機能に基づいているマイクロユーティリティ及び１つ以上のパケットの優先度を示す関連性を示す前記１つ以上のパケットを受信することと、
前記１つ以上のパケットの前記関連性を組み合わせることと、
前記１つ以上のパケットについての前記マイクロユーティリティ及び前記関連性を統合することと、
前記マイクロユーティリティ及び前記関連性の前記統合に基づいて前記１つ以上のパケットの値を判定することと、
各パケットの判定値に基づいて前記１つ以上のパケットに対する動作を判定することとを備え、
それにより、大規模なモバイルアドホックネットワークが無線ノードの特定のアプリケーションのニーズに適応するのを容易とする、コンピュータシステム。
【請求項３】
前記方法が、さらに、
コンテンツ制作ノードにより、前記１つ以上のパケットについての前記マイクロユーティリティを算出することを備え、前記マイクロユーティリティが、前記コンテンツ制作ノードにおいて動作するアプリケーションに固有のユーティリティ機能に基づいている、請求項２に記載のコンピュータシステム。
【請求項４】
前記方法が、さらに、
コンテンツ要求ノードにより、前記１つ以上のパケットについての前記関連性を算出し、前記関連性が、さらに、前記コンテンツ要求ノードに対する前記１つ以上のパケットの重要度を示す、請求項２に記載のコンピュータシステム。
【請求項５】
前記１つ以上のパケットの前記関連性を組み合わせることが、さらに、
前記中間ノードの１つ以上の子ノードを判定することに応答して、前記１つ以上の子ノードによって示される前記関連性を合計することを備え、前記１つ以上の子ノードが、それぞれ、前記１つ以上のパケットに対応する関連性を示す、請求項２に記載のコンピュータシステム。
【請求項６】
前記方法が、さらに、
上流側のコンテンツ制作ノードに対して前記１つ以上のパケットを送信することを備え、前記１つ以上のパケットが、前記１つ以上の子ノードによって示される前記合計された関連性を含む、請求項５に記載のコンピュータシステム。
【請求項７】
前記１つ以上のパケットについての前記マイクロユーティリティ及び前記関連性を統合することが、さらに、
前記中間ノードの１つ以上の子ノードを判定することに応答して、前記１つ以上の子ノードによって示される前記関連性によって前記マイクロユーティリティを乗算し、前記１つ以上の子ノードが、それぞれ、前記１つ以上のパケットに対応する関連性を示す、請求項２に記載のコンピュータシステム。
【請求項８】
前記１つ以上のパケットの値を判定することが、さらに、
前記１つ以上のパケットの優先度の指標を変更することであって前記変更が前記優先度の値を減少させることと、
１つ以上の下流側のノードに対して前記１つ以上のパケットを送信することとを備え、前記１つ以上のパケットが各パケットの前記優先度の変更された指標を含む、請求項２に記載のコンピュータシステム。
【請求項９】
コンピューティング装置によって実行されたとき、モバイル無線ネットワークにおいてルーティングするための方法を前記コンピューティング装置に実行させる命令を記憶する持続性コンピュータ読み取り可能な記憶媒体において、前記方法が、
中間ノードにより、アプリケーションに固有のユーティリティ機能に基づいているマイクロユーティリティ及び１つ以上のパケットの優先度を示す関連性を示す前記１つ以上のパケットを受信することと、
前記１つ以上のパケットの前記関連性を組み合わせることと、
前記１つ以上のパケットについての前記マイクロユーティリティ及び前記関連性を統合することと、
前記マイクロユーティリティ及び前記関連性の前記統合に基づいて前記１つ以上のパケットの値を判定することと、
各パケットの判定値に基づいて前記１つ以上のパケットに対する動作を判定することとを備え、
それにより、大規模なモバイルアドホックネットワークが無線ノードの特定のアプリケーションのニーズに適応するのを容易とする、持続性コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、モバイルアドホックネットワーク（ＭＡＮＥＴ）に関する。より具体的には、本開示は、大規模なＭＡＮＥＴがアプリケーションのニーズに適応するのを容易とするためにモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）内のユーティリティベースのクロスレイヤリング機構の使用に関する。
【背景技術】
【０００２】
典型的なアドホック通信システムは、大抵の場合、非集中化及び自己組織化の方式で通信することができる独立したモバイルユーザを必要とする。例えば、モバイルアドホックネットワーク（ＭＡＮＥＴ）は、２つの無線ノード間の経路を決定するためにピア・ツー・ピア通信プロトコルを使用する。ＭＡＮＥＴにおけるいくつかの重要な特徴は、移動性及びノード組織についての基地局又はアクセスポイントについての要件を有していないという事実のためにルート変更に適応する能力を含む。
【０００３】
理論的には、ＭＡＮＥＴは、災害救援や戦場活動、緊急捜索や救難任務並びに他の多くのモバイル及び分散アプリケーションをサポートするための理想的な通信インフラストラクチャを提供する。しかしながら、これらのアプリケーションは、今日のネットワークにおいては効果的にサポートされることができない。これは、主に、ノードやアプリケーションの数が増加して発生した過剰なシグナリングに起因してネットワークがスケーリングしないためである。より具体的には、ＭＡＮＥＴプロトコルは、ホップバイホップで多くのノードにわたって計算（ルーティング情報など）を分散させる。ループ及び過度のフラッディングを回避するようなプロトコルの正確で効率的な動作を保証するために、複雑な分散アルゴリズムが必要とされている。
【０００４】
リソースの集中化は、今日のネットワークの増大するニーズに対処するための手法として提案されている。１つの例は、ＯｐｅｎＦｌｏｗプロトコルに基づくものなどのソフトウェア定義ネットワーク（ＳＤＮ）である。ＳＤＮにおいて、「コントロールプレーン」及び「データプレーン」は分離され、制御されたネットワーク要素についての状態をインスタンス化するために少なくとも２つの制御ルータが使用される。ＳＤＮにより、ネットワークのトポロジは、ネットワーク全体のビューに応じて送信元から送信先へのルートを計算するコントローラノードにおいて仮想化され、ネットワークの各スイッチにおいて「フロー状態」をインスタンス化することができる。あいにく、現在のＳＤＮ実装は、ネットワークのフロー状態に基づいて経路を計算し、それゆえに、ＭＡＮＥＴに適用することができない。さらにまた、ＳＤＮアプローチは、静的な有線ネットワークに着目しており、コントローラは、全てのスイッチから離れている１つの論理リンクであり、それゆえに、コンテンツやサービスの動的な配置に対処していない。
【０００５】
他のアプローチは、コンテンツオブジェクトに名称が付与されたパブリッシュサブスクライブスキームに基づいている情報中心ネットワーク（ＩＣＮ）であり、全てのルーティングノードがキャッシングサイトとしても機能し、特定のコンテンツにおけるインタレストを述べる要求は、ルート要求と同様に散在しており、要求コンテンツのコピーを有する最も近いサイトが要求に応答する。しかしながら、ＩＣＮアプローチは、ネットワークが最も近いサイトからのコンテンツやサービスを動的に提供することによってアプリケーションのニーズに適応するのを可能とするが、ＩＣＮスキームは、大規模な動的ネットワークに適用されたときには制限される。ＩＣＮルーティングは、オブジェクト名に基づいて行われることから、過剰なシグナリングオーバーヘッドが生じる。また、ノードの複雑さ（例えば、ルーティングノードは、コンテンツをキャッシュし、要求されたコンテンツがローカルに記憶されているかどうかを判定するためにコンテンツ要求を評価する必要がある）は、さらなるシグナリングオーバーヘッドを生じさせることができる。
【発明の概要】
【課題を解決するための手段】
【０００６】
１つの実施形態は、大規模なモバイルアドホックネットワークがモバイル無線ネットワークにおける無線ノードの特定のニーズに適応するのを容易とするシステムを提供する。動作中、中間ノードは、マイクロユーティリティ及び関連性を示す１つ以上のパケットを受信し、マイクロユーティリティは、アプリケーションに固有のユーティリティ機能に基づいており、関連性は、１つ以上のパケットの優先度を示す。中間ノードは、１つ以上のパケットの関連性を組み合わせる。中間ノードは、１つ以上のパケットについてのマイクロユーティリティ及び関連性を統合し、マイクロユーティリティ及び関連性の統合に基づいて１つ以上のパケットの値を判定する。中間ノードはまた、各パケットの判定値に基づいて１つ以上のパケットに対する動作を判定する。
【０００７】
いくつかの実施形態において、システムは、コンテンツ制作ノードにより、１つ以上のパケットについてのマイクロユーティリティを算出し、マイクロユーティリティは、コンテンツ制作ノードにおいて動作するアプリケーションに固有のユーティリティ機能に基づいている。
【０００８】
いくつかの実施形態において、システムは、コンテンツ要求ノードにより、１つ以上のパケットについての関連性を算出し、関連性は、さらに、コンテンツ要求ノードに対する１つ以上のパケットの重要度を示す。
【０００９】
いくつかの実施形態において、中間ノードの１つ以上の子ノードを判定することに応答して、システムは、１つ以上の子ノードによって示される関連性を合計し、１つ以上の子ノードは、それぞれ、１つ以上のパケットに対応する関連性を示す。
【００１０】
いくつかの実施形態において、システムは、上流側のコンテンツ制作ノードに対して１つ以上のパケットを送信し、１つ以上のパケットは、１つ以上の子ノードによって示される合計された関連性を含む。
【００１１】
いくつかの実施形態において、中間ノードの１つ以上の子ノードを判定することに応答して、システムは、１つ以上の子ノードによって示される関連性によってマイクロユーティリティを乗算し、１つ以上の子ノードは、それぞれ、１つ以上のパケットに対応する関連性を示す。
【００１２】
いくつかの実施形態において、中間ノードは、各パケットの判定値に基づいて１つ以上のパケットに対する動作を判定し、動作は、各パケットを転送する；各パケットを破棄する；及び各パケットの送信を遅延させる、のうちのいずれかである。
【００１３】
いくつかの実施形態において、システムは、１つ以上のパケットの優先度の指標を変更し、変更は優先度の値を減少させる。システムはまた、１つ以上の下流側のノードに対して１つ以上のパケットを送信し、１つ以上のパケットは、各パケットの優先度の変更された指標を含む。
【図面の簡単な説明】
【００１４】
【図１Ａ】図１Ａは、本発明の実施形態にかかる、システムがネットワーク全体にわたって受信機の関連性を統合する例示的なモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）を図示している。
【図１Ｂ】図１Ｂは、本発明の実施形態にかかる、ネットワークを介して移動するのにともないシステムがデータパケットに対して動的に変化する優先度を割り当てるためにマイクロユーティリティを使用する例示的なモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）を図示している。
【図２Ａ】図２Ａは、本発明の実施形態にかかる、ＭＡＳＮＥＴにおいて中間ノードによって実行される例示的なルーティング処理を図示するフローチャートである。
【図２Ｂ】図２Ｂは、本発明の実施形態にかかる、ＭＡＳＮＥＴにおいてシステムによって実行される例示的なルーティング処理を図示するフローチャートである。
【図３Ａ】図３Ａは、動的なサービスの品質（ＱｏＳ）マーカがないパケットのルーティングを含む例示的なモバイルアドホックネットワーク（ＭＡＮＥＴ）を図示している。
【図３Ｂ】図３Ｂは、本発明の実施形態にかかる、動的なＱｏＳマーカを有するパケットのルーティングを含むユーティリティベースのクロスレイヤリング（ＵＢＣＬ）機構を使用する例示的なモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）を図示している。
【図４】図４は、本発明の実施形態にかかる、動的なサービスの品質（ＱｏＳ）マーカを含むパケットのルーティングを含むユーティリティベースのクロスレイヤリング（ＵＢＣＬ）機構を使用するシステムによって実行される例示的なルーティング処理を図示するフローチャートである。
【図５】図５は、本発明の実施形態にかかる、大規模なモバイルアドホックネットワークが無線ノードの特定のアプリケーションのニーズに適応するのを容易とする例示的なコンピュータ及び通信システムを図示している。
【発明を実施するための形態】
【００１５】
図面において、同様の参照符号は、同一の図要素を指している。
【００１６】
以下の説明は、当業者が実施形態を製造して使用するのを可能とするために提示され、特定の用途及びその要件の文脈において提供される。開示された実施形態に対する様々な変更は、当業者にとって容易に明らかであり、本願明細書において定義される一般的な原理は、本開示の精神及び範囲から逸脱することなく他の実施形態及び用途に適用されることができる。それゆえに、本発明は、示された実施形態に限定されるものではなく、本願明細書に開示された原理及び特徴と一致する最も広い範囲を与えられるべきである。
【００１７】
本発明の実施形態は、大規模なモバイルアドホックネットワークがアプリケーションのニーズに適応するのを容易とするためにモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）内のユーティリティベースのクロスレイヤリング（ＵＢＣＬ）機構を使用するシステムを提供する。モバイル無線ネットワーク内のアプリケーション固有ネットワーキングは、現在のルーティング方式によって生じるオーバーヘッドよりも小さいネットワークにおけるオーバーヘッドを生じること；アプリケーションが固定サイトではなく最も適した位置からコンテンツやサービスにアクセスするのを可能とすること；及びリソース使用率及び公平性を最大化しながら複数の同時アプリケーションの要件を満たすためにリソースを動的にプロビジョンすることによって達成される。より具体的には、ＭＡＳＮＥＴは、１）（米国特許出願第１４／１６１，４１０号及び第１４／１６１，４０６号に記載されているように）動的無線ネットワークにおけるルーティング及びチャネルアクセスのために生じたシグナリングの大部分を排除し、ネットワークデバイス及びソフトウェアの複雑さを低減し、ネットワークの全体的な管理を簡略化するインテリジェントなバックボーンインフラストラクチャに基づくソフトウェア定義ＭＡＮＥＴ（ＳＤＭ）、２）（米国特許出願第１５／８２３，１８８号に記載されているように）ネットワークサイズ及びダイナミクスが増加するのにともないネットワークのオーバーヘッド及び複雑さの急増をもたらすことなく、ネットワークの状態及びアプリケーションの要件に基づいてアプリケーションがネットワークにおいて最も便利な位置からサービスやコンテンツを発見して使用するのを可能とする情報の発見、交換及び記憶（ＩＤＥＳ）システム、及び３）ネットワークがどのようにネットワークがアプリケーションをサーブするかを最適化するためにゼロ構成で利用可能なリソースを操作するのを可能とするユーティリティベースのクロスレイヤリング（ＵＢＣＬ）機構を含むことができる。それゆえに、ＭＡＳＮＥＴは、サービスの需要を満たすために複雑さを最小化し且つネットワーク能力を最大化するインテリジェントなバックボーンインフラストラクチャに基づいてＳＤＭ、ＩＤＥＳ及びＵＢＣＬを統合する。
【００１８】
コンテンツ発行ノード（例えば、制作者ノード）及びコンテンツ加入ノード（例えば、受信ノード）を含むＭＡＳＮＥＴにおいて、ＵＢＣＬは、各個別のデータサンプル又はコンテンツオブジェクトがその値を用いて受信ノードにランク付けされることができるように、制作者（又は制作者において動作するアプリケーション）がユーティリティモデルにおいてそのデータを表現するのを可能とすることによって動作する。例えば、ユーティリティモデルＵは、以下の形態の関数に基づくことができる。
【数１】
2016076923.tif 000003
ここで、ｆは、周波数（例えば、特定期間の更新数）又は帯域幅などの測定値であり、ｄは、どのくらい遠くまでアプリケーションが対応するデータパケットを送信する意思があるかを測定するネットワーク用語における距離である。
【００１９】
ＵＢＣＬにおいて、受信ノードは、アプリケーションのデータストリームにおけるそのインタレストをネットワークに対して表現するために別個のアプリケーション固有の関連性関数を使用することができる。受信又は転送ノードは、ネットワーク全体にわたって受信機の関連を統合し、どのように且つどこに個々のパケット又はコンテンツオブジェクトを転送するのかを判定する。例えば、関連性仕様Ｒは、以下の形態の関数に基づくことができる。
【数２】
2016076923.tif 000004
ここで、
【数３】
2016076923.tif 000005
は、パケットが要求されたデータの伝播と逆経路においてネットワークを介して移動するのにともない、どのようにパケットのサービスの品質（ＱｏＳ）値が変化するのかを規定する動的な優先度を表す関連性ベクトルである。
【００２０】
具体的には、ＵＢＣＬは、パケットのアンサンブルがアプリケーション固有のユーティリティ曲線を実現するように、各パケットに「マイクロユーティリティ」を割り当てるために、コンテンツ制作者においてアプリケーション固有のユーティリティ機能を使用する（例えば、式（１））。マイクロユーティリティは、遷移中において個々のコンテンツオブジェクトに対して動的に変化する優先度を割り当てる。同時に、コンテンツ加入者は、データについてそれらに対する関連性を指定する（例えば、式（２））。アプリケーションユーティリティ及び関連性仕様機能は、異なる経路に沿ってマイクロユーティリティ状のトラフィックの重要性についてネットワークにともに通知し、さらに、輻輳や遅延に直面したときにネットワークがインテリジェントにデータを破棄したり又はリソースを追加したりするのを可能とする。コンテンツ加入者はまた、輻輳に応答してそれらの関連性を調整することができる。
【００２１】
比較により、プッシュベースのアーキテクチャにおいて、コンテンツ制作者は、時間及び空間における一次式によって各パケットをラベル付けすることによってマイクロユーティリティ及び関連性の双方を割り当てる。そして、中間又は転送ノードは、ユーティリティが発行されたデータの種類及び受信ノードに対するそのデータの関連性に基づいているように、パケットの有用性を判定するために式を評価する。そのような情報伝達のためのシステムは、米国特許出願第１１／４２８，４２９号に記載されている。
【００２２】
それゆえに、本発明の実施形態において、ＭＡＳＮＥＴにおける各中間ノード又は転送ノードは、受信したデータパケットの関連性仕様を知る必要がある。この知識は、バックボーンインフラストラクチャによって提供される。各コンテンツオブジェクト又はデータパケットには独自のユーティリティ値が割り当てられることから、コンテンツ制作者によってデータパケットに割り当てられたマイクロユーティリティはマイクロユーティリティと称される。送信中の決定は、これらの個々のユーティリティ値に基づいて行われる。例えば、ネットワークにおいて輻輳が発生している場合、低い優先度のデータパケットは破棄される。優れた（例えば、より速い、より信頼性が高いなど）利用可能なチャネルがある場合、高い優先度の項目は、そのチャネルに沿って送信される。データパケットが後の時間における送信のために記憶される場合、高い優先度のデータパケットは、好ましくは記憶及び再送信を受信する。
【００２３】
バックボーンコントローラはまた、ソフトウェア定義モバイルアドホックネットワークノードを介して追加のネットワークリソースを割り当てる場所又は論理ネットワークトポロジを再構成する方法を選択するためにマイクロユーティリティを使用する。マイクロユーティリティは、さらに、軍事的役割及び目的に基づいて情報発信に対してジオキャスト法を適応させることができる。
【００２４】
コンテンツ制作者又は発行者ノードにおける各アプリケーションは、その重要度を記載するユーティリティ機能又はアプリケーションがアプリケーションによって要求されるサービスの品質を配信するためにネットワークに「支払う」意思がある価格と関連している。この価格は、時間、場所、送信先ノードの役割及び他のパラメータに基づいて変化することができる。例えば、軍事設定において、アプリケーションは、小隊の司令官に到達するために高い価格を割り当てるとともに、他の小隊の誰かに到達するために低い価格を割り当てることができる。この場合、ネットワークは、ローカルＭＡＮＥＴにおけるアプリケーションの優先度を与えることができる。他の例において、アプリケーションは、会社の本社又は司令部に到達するために高い価格を割り当てるとともに、ローカルの小隊に到達するために低い価格を割り当てることができる。この場合、ネットワークは、バックボーンにおける優先度を与えることができる。
【００２５】
同様に、コンテンツ制作者又は発行者ノードは、利用可能なコンテンツを宣伝することができる一方で、コンテンツ要求者又は加入者ノードは、配信されたコンテンツを有するためにネットワークに支払うことを提供することができる。コンテンツ制作者におけるアプリケーションは、そのユーティリティ機能を規定し、その予算を割り当てる。ユーティリティ機能は、バックボーンにおける又は軍事設定においては高度な無線における知識に基づくことができる一方で、アプリケーションの予算は、必要なサービスの種類に基づいて様々なネットワーク要素によって割り当てられることができる。
【００２６】
図１Ａは、本発明の実施形態にかかる、システムがネットワーク全体にわたって受信機の関連性を統合する例示的なモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）１００を図示している。ＭＡＳＮＥＴ１００は、バックボーンクラウド１０２（以下、「バックボーン１０２」と称する）と、モバイルネットワークノード１０６〜１３６とを含むことができる。具体的には、バックボーン１０２は、有線又は無線ネットワークを介して互いに通信するコントローラノード１０４などの１つ以上のコントローラノードを含むことができる。モバイルノード１０６〜１３６のうちの少なくともいくつかは、直接的に又はマルチホップ経路を介して、無線ネットワークを介してバックボーン１０２と通信することができる。例えば、モバイルノード１０８は、１ホップリンクを介してバックボーン１０２に接続されるのに対して、モバイルノード１０６は、ノード１０８を通る２ホップリンクを介してバックボーン１０２に接続される。さらにまた、モバイルノード１０６〜１３６のそれぞれは、コンテンツ発行者ノード、コンテンツ加入者ノード、転送ノード又は中間ノードとすることができる。
【００２７】
動作中、コントローラノード１０４は、モバイルノード１０６〜１３６から状態情報を収集する。状態情報は、ＭＡＳＮＥＴ１５０上の利用可能なリソース、ストレージ及びサービスに関連する情報を含むことができる。コントローラノード１０４はまた、様々なコンテンツ加入者ノードから関連性仕様に関連する情報も収集する。動作中、コンテンツ加入者ノードは、データストリームにおけるそれらのインタレストに対応する関連性仕様を指定する（例えば、式（２））。例えば、モバイルノード１２０は、特定のデータストリームについてＲ＝１の関連性仕様を指定する。モバイルノード１１８は、その子ノード（モバイルノード１２０）の関連性仕様を統合し、Ｒ＝１の関連性仕様を指定する。モバイルノード１２２は、データストリームについてＲ＝７の関連性仕様を指定する。モバイルノード１１４は、その子ノード（モバイルノード１１８及びモバイルノード１２２）の関連性仕様を統合し、順次Ｒ＝８の関連性仕様を指定する。モバイルノード１３４は、Ｒ＝２０の関連性仕様を指定する。モバイルノード１３２は、その子ノード（モバイルノード１３４）の関連性仕様を統合し、Ｒ＝２０の関連性仕様を指定する。モバイルノード１３０は、その子ノード（モバイルノード１１４及びモバイルノード１３２）の関連性仕様を統合し、Ｒ＝２８の関連性仕様を指定する。
【００２８】
特定のデータストリームについて統合されたＲ＝２８の受信機の関連性仕様は、モバイルノード１３０からバックボーン１０２に対して送信される。バックボーン１０２は、統合された受信機の関連性仕様を維持し（例えば、式（２））、コンテンツ発行者ノードによって提供されたユーティリティ固有機能とともに（例えば、式（１））、逆経路に沿ってデータストリームを返送する。送信決定は、データストリーム又はデータパケットのマイクロユーティリティに基づいて行われ、マイクロユーティリティは、それがネットワークを介して移動するのにともない、個々のコンテンツオブジェクト又はデータパケットに対して動的に変化する優先度を割り当てる。
【００２９】
図１Ｂは、ネットワークを介して移動するのにともないシステムがデータパケットに対して動的に変化する優先度を割り当てるためにマイクロユーティリティを使用する例示的なモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）１５０を図示している。コンテンツの特定の項目における要求又はインタレストに応答して、パケット１５２は、コンテンツ制作ノードによって発行されて送信されることができる。パケット１５２は、ＭＡＳＮＥＴ１５０における任意の無線ノード（図示しない）によって生成されて送信されることができる。パケット１５２を発行するコンテンツ制作者ノードは、パケット１５２に対してマイクロユーティリティを割り当てる。上述したように、マイクロユーティリティは、コンテンツ制作者ノードにおいて動作するアプリケーションによって適用されるアプリケーション固有のユーティリティベースの機能に基づいている（例えば、式（１））。マイクロユーティリティは、バックボーン１０２から様々な中間ノードに対して逆経路を移動するのにともないパケット１５２に対して動的に変化する優先度を提供する。
【００３０】
図１Ｂにおいて、パケット１５２は、バックボーン１０２によって受信され、バックボーン１０２からモバイルノード１３０に対して送信される。パケット１５２を受信する各中間ノードは、送信決定を判定するためにマイクロユーティリティ及び関連性仕様を統合する。例えば、パケット１５２を受信すると、中間モバイルノード１３０は、マイクロユーティリティ及び関連性仕様を統合し、（Ｒ＝２０の関連性仕様を有するパケット１５２を含むデータストリームを以前に指定した）モバイルノード１３２に対する送信パケット１５２においては高優先度１６０を、（Ｒ＝８の低い関連性仕様を有するパケット１５２を含むデータストリームを以前に指定した）モバイルノード１１４に対する送信パケット１５２においては中間優先度１６２を配置しなければならない旨を判定する。同様に、パケット１５２を受信すると、中間モバイルノード１３２は、マイクロユーティリティ及び関連性仕様を統合し、（Ｒ＝２０の関連性仕様を有するパケット１５２を含むデータストリームを以前に指定した）モバイルノード１３４に対する送信パケット１５２においては高優先度１６４を配置しなければならない旨を判定する。
【００３１】
さらに、パケット１５２を受信すると、中間モバイルノード１１４は、マイクロユーティリティ及び関連性仕様を統合し、（Ｒ＝７の関連性仕様を有するパケット１５２を含むデータストリームを以前に指定した）モバイルノード１２２に対する送信パケット１５２においては高優先度１６６を、（Ｒ＝１の関連性仕様を有するパケット１５２を含むデータストリームを以前に指定した）モバイルノード１１８に対する送信パケット１５２においては低優先度１６８を配置しなければならない旨を判定する。この時点で、ネットワークの状態（例えば、輻輳）に基づいて、中間モバイルノード１１４又は中間モバイルノード１１８は、モバイルノード１１８及びモバイルノード１２０のそれぞれからのＲ＝１の低い関連性仕様に基づいてパケット１５２を破棄することを決定することができる（例えば、モバイルノード１１８からモバイルノード１２０へのパケット１５２の送信においてはＸで示されている）。
【００３２】
図２Ａは、本発明の実施形態にかかる、ＭＡＳＮＥＴにおいて中間ノードによって実行される例示的なルーティング処理を図示するフローチャート２００である。動作中、システムは、無線ネットワークにおける中間ノードにより、マイクロユーティリティ及び関連性仕様を示す１つ以上のパケットを受信する（動作２０２）。中間ノードは、中間ノードの１つ以上の子ノードによって示される関連性を合計することによって１つ以上のパケットの関連性仕様を組み合わせる（動作２０４）。いくつかの実施形態において、中間ノードは、上流側の次ホップノード又は上流側のコンテンツ制作ノードに対して合計された関連性仕様を転送する。そして、システムは、中間ノードの１つ以上の子ノードにおいて示された関連性によってマイクロユーティリティを乗算することにより、１つ以上のパケットにおいて示されたマイクロユーティリティ及び関連性仕様を統合する（動作２０６）。そして、中間ノードは、マイクロユーティリティ及び関連性仕様の統合に基づいてパケットの値を判定する（動作２０８）。システムは、パケットの判定値に基づいてパケットに対する動作を判定する（動作２１０）。判定された動作に基づいて（判定２１２）、中間ノードは、例えば、ネットワークに輻輳がない場合又は下流側の次ホップノードによってパケットが高優先度パケットとして指定された場合、次ホップノードに対してパケットを転送することができる（動作２１４）。中間ノードはまた、例えば、ネットワークに輻輳がある場合又は低値の関連性仕様が子ノード又は下流側の次ホップノードについて指示された場合、パケットを破棄することができる（動作２１６）。中間ノードは、さらに、例えば、ネットワークに輻輳があるが関連性仕様がパケットについて高優先度を示す場合、パケットの送信を遅延させることができる（動作２１８）。
【００３３】
図２Ｂは、本発明の実施形態にかかる、ＭＡＳＮＥＴにおいてシステムによって実行される例示的なルーティング処理を図示するフローチャート２５０である。動作中、コンテンツ制作ノードは、データパケットについてのマイクロユーティリティを算出する（動作２５２）。このマイクロユーティリティは、式（１）に基づくことができ、様々な中間又は転送ノードを通過してコンテンツ制作者からコンテンツ要求者へと下流に伝播される。コンテンツ要求ノードは、データパケットについての関連性仕様を算出する（動作２５４）。この関連性仕様は、式（２）に基づくことができ、マイクロユーティリティと逆経路で同じ中間又は転送ノードを通過してコンテンツ要求者からコンテンツ制作者へと上流に伝播される。コントローラノードは、データパケットについて計算されたマイクロユーティリティ及び関連性仕様を含むネットワークの状態情報を収集する（動作２５６）。いくつかの実施形態において、コントローラノードによって収集された関連性仕様は、特定のネットワーク経路に沿った全ての子ノードの関連性仕様によって示された合計を含む。システムは、中間ノードにより、データパケットについての計算されたマイクロユーティリティ及び計算された関連性仕様を受信する（動作２５８）。中間ノードは、受信したマイクロユーティリティ及び関連性仕様についてのデータ統合計算を行う（動作２６０）。いくつかの実施形態において、統合は、中間ノードの１つ以上の子ノードによって示された関連性仕様によってマイクロユーティリティを乗算することによって計算される。
【００３４】
そして、中間ノードは、データパケットの優先度の指標を変更し、変更は、優先度の値を減少させる（動作２６２）。図１Ｂに関連して説明したように、コンテンツ制作者ノードからコンテンツ加入者ノードに対して下流に送信されたデータパケットの優先度は、それがＭＡＳＮＥＴを介してホップバイホップで移動するのにともない減少し続ける。最後に、中間ノードは、１つ以上の下流側ノードに対して優先度の変更された指標を含むデータパケットを送信する（動作２６４）。
【００３５】
図３Ａは、動的なサービスの品質（ＱｏＳ）マーカがないパケットのルーティングを含む例示的なモバイルアドホックネットワーク（ＭＡＮＥＴ）３００を図示している。ネットワーク３００は、基地局ネットワーク３０２と、モバイルネットワークノードのセット３０６〜３３６とを含むことができる。具体的には、基地局ネットワーク３０２は、有線又は無線ネットワークを介して互いに通信する基地局ノード３０４などの１つ以上の基地局ノードを含むことができる。モバイルノード３０６〜３３６のうちの少なくともいくつかは、直接的に又はマルチホップ経路を介して、無線ネットワークを介して基地局ネットワーク３０２と通信することができる。ネットワーク３００は、ＩＰサブネット及びＭＡＮＥＴチャネルにおいて使用されるようなアーキテクチャを有し、トポロジは比較的静的である。例えば、ＩＰサービス品質（ＱｏＳ）マーカを用いて、モバイルノードにおいて動作するアプリケーションは、データパケットについての単純な不変の優先度のみを規定することができる。換言すれば、ネットワーク３００を介して送信されるデータパケットは、静的な優先度を有する。例えば、パケットの送信先に基づいてデータパケットについての動的な優先度を必要とするネットワーク３００におけるアプリケーションは、異なる優先度を有する複数のデータストリームを作成する必要がある。あるいは、システムは、アプリケーション固有のルールを実装し、影響を受ける各ネットワーク要素の設定ファイルにこれらのルールを配置することができる。これらの回避策がなければ、トラフィックは、ネットワーク３００において誤って又は不正確に分類されることができる。
【００３６】
動作中、モバイルノード３０６がモバイルノード３１２に対して（高優先度３４６によって示される）優先度の高いパケット３４２を送信したい場合には、パケット３４２は、モバイルノード３０６からモバイルノード３０８、モバイルノード３１０へと移動し、最終的にモバイルノード３１２に到達する。さらにまた、１つのマルチキャストストリームのみがあることから、パケット３４２がモバイルノード３０８に到達した場合、システムはまた、（高優先度３４６によって示される）モバイルノード３３６に対して基地局ネットワーク３０２を介してパケット３４２を送信する。パケット３４２は、モバイルノード３１２及び３３６の双方に移動及び到達する際に同じ優先度を保持する。同時に、モバイルノード３０８がモバイルノード３３６に対して（中間優先度３４８によって示される）優先度が中間のパケット３４４を送信したい場合には、パケット３４４は、モバイルノード３０８から基地局ネットワーク３０２及びモバイルノード３３６に対して移動する。
【００３７】
しかしながら、パケット３４２がモバイルノード３１２に対してのみ高優先度用であり且つモバイルノード３３６については低優先度用としてのみである場合、モバイルノード３０８からモバイルノード３３６への高優先度３４６を有するパケット３４２のストリームは、（モバイルノード３０８からモバイルノード３３６への）同じ経路において中間優先度３４８を有するパケット３４４のストリームと競合する。換言すれば、高優先度のパケット３４２は、中間優先度のパケット３４４に優先する。１つのマルチキャストストリームのみがあることから、パケット３４４のストリームは、基地局ネットワーク３０２上のリンクにおいて誤って分類されることができる。さらにまた、中間優先度のパケット３４４のストリームの一部は、不適切に破棄されることがある。
【００３８】
図３Ｂは、本発明の実施形態にかかる、動的なＱｏＳマーカを有するパケットのルーティングを含むユーティリティベースのクロスレイヤリング（ＵＢＣＬ）機構を使用する例示的なモバイルアプリケーション固有ネットワーク（ＭＡＳＮＥＴ）３５０を図示している。ＭＡＳＮＥＴ３５０は、バックボーンクラウド３５２（以下、「バックボーン３５２」と称する）と、モバイルネットワークノードのセット３０６〜３３６とを含むことができる。具体的には、バックボーン３５２は、有線又は無線ネットワークを介して相互に通信するコントローラノード３５４などの１つ以上のコントローラノードを含むことができる。モバイルノード３０６〜３３６の少なくともいくつかは、直接的に又はマルチホップ経路を介して、無線ネットワークを介してバックボーンクラウド３５２と通信することができる。動作中、コントローラノード３５４は、モバイルノード３１２に対して高優先度のパケット３４２を送信するために、モバイルノード３０６のアプリケーション固有のニーズを含むＭＡＳＮＥＴ３５０におけるモバイルノード３０６〜３３６に関連する状態情報を収集する。収集された状態情報に基づいて、コントローラノード３５４は、ｉ）ネットワーク要素を割り当てるためにユーティリティベース機構（例えば、ＵＢＣＬ）を適用し、ｉｉ）適用されたユーティリティ機構（例えば、ＵＢＣＬ）を実現するためにネットワーク３５０を再構成するという２つの動作を行う。例えば、コントローラノード３５４は、ＵＢＣＬを適用し、受信モバイルノードに基づいてパケットがネットワーク３５０を移動するのにともないパケットの優先度が変化するように、動的なマイクロユーティリティを有するパケットを割り当てることができる。
【００３９】
図３Ｂにおいて、モバイルノード３０６がモバイルノード３１２に対して高優先度のパケット３４２を送信した場合、アプリケーション固有のユーティリティ機能は、（高優先度３６６によって示される）モバイルノード３１２についてパケット３４２の優先度が高いことをネットワーク３５０に通知するために、パケット３４２をラベル付けするが、（低優先度３６８によって示される）モバイルノード３３６については低優先度のみである。このように、パケット３４２の優先度が動的に且つ正確にモバイルノード３０８からモバイルノード３３６へのリンクにおいて再ラベル付けされることから、パケット３４２の低優先度３６８のストリームは、モバイルノード３０８とモバイルノード３３６との間においてパケット３４４の中間優先度３４８のストリームと競合しない。それゆえに、中間優先度のパケット３４４は、不適切に破棄されずに、正しく分類されてモバイルノード３３６に到達する。さらにまた、ユーティリティベース機構を適用することに応答して、コントローラノード３５４は、モバイルノード３０６とモバイルノード３１２との間に直接ＳＤＭリンクがあるように、ネットワークを再構成することができ、モバイルノード３０６からモバイルノード３１２へのトラフィックのより効率的な流れを可能とする。
【００４０】
図４は、本発明の実施形態にかかる、動的なサービスの品質（ＱｏＳ）マーカを含むパケットのルーティングを含むユーティリティベースのクロスレイヤリング（ＵＢＣＬ）機構を使用するシステムによって実行される例示的なルーティング処理を図示するフローチャート４００である。動作中、システムは、コントローラノードに対してモバイル無線ネットワークにおける１つ以上の無線ノードに関連する状態情報を１つ以上の無線ノードによって送信する（動作４０２）。第１の無線ノードにおいて動作するアプリケーションは、パケットについての優先度のレベルを示すＱｏＳマーカを含むパケットを第２の無線ノードにおいて動作するアプリケーションに対して送信する（動作４０４）。システムは、パケットがネットワークを通って移動するのにともない変化する動的なマイクロユーティリティを有するパケットを割り当てることによってユーティリティベースのクロスレイヤリング（ＵＢＣＬ）機構を適用する（動作４０６）。システムは、コントローラノードにより、収集された状態情報及びユーティリティベースの技術に基づいて１つ以上のネットワーク要素を割り当てる（動作４０８）。システムは、さらに、それがネットワークを移動するときにパケットの動的なマイクロユーティリティを変更する（動作４１０）。ネットワーク要素の割り当てに応答して、コントローラノードは、ネットワークの論理トポロジを再構成し（動作４１２）、モバイル無線ネットワークの論理トポロジを再構成するためにソフトウェア定義モバイルアドホックネットワークノードを使用する（動作４１４）。
【００４１】
図５は、本発明の実施形態にかかる、大規模なモバイルアドホックネットワークが無線ノードの特定のアプリケーションのニーズに適応するのを容易とする例示的なコンピュータ及び通信システム５０２を図示している。コンピュータ及び通信システム５０２は、プロセッサ５０４と、メモリ５０６と、記憶装置５０８とを含む。メモリ５０６は、管理メモリとして機能し且つ１つ以上のメモリプールを記憶するために使用可能な揮発性メモリ（例えば、ＲＡＭ）を含むことができる。さらにまた、コンピュータ及び通信システム５０２は、ディスプレイ装置５１０、キーボード５１２及びポインティングデバイス５１４に結合されることができる。記憶装置５０８は、オペレーティングシステム５１６、コンテンツ処理システム５１８及びデータ５３２を記憶することができる。
【００４２】
コンテンツ処理システム５１８は、コンピュータ及び通信システム５０２によって実行されたとき、コンピュータ及び通信システム５０２に本開示に記載された方法及び／又はプロセスを実行させることができる命令を含むことができる。具体的には、コンテンツ処理システム５１８は、中間ノードにより、アプリケーションに固有のユーティリティ機能に基づいているマイクロユーティリティ及び１つ以上のパケットの優先度を示す関連性を示す１つ以上のパケットを受信するための命令を含むことができる（通信機構５２０）。コンテンツ処理システム５１８はまた、１つ以上のパケットの関連性仕様を組み合わせるための命令を含むことができる（関連性機構５２２）。コンテンツ処理システム５１８は、１つ以上のパケットのマイクロユーティリティ及び関連性を統合するための命令を含むことができる（ユーティリティ及び関連性統合機構５２４）。コンテンツ処理システム５１８はまた、マイクロユーティリティ及び関連性の統合に基づいて１つ以上のパケットの値を判定するための命令を含むことができる（値判定機構５２６）。
【００４３】
コンテンツ処理システム５１８は、さらに、コンテンツ制作ノードにより、１つ以上のパケットについてのマイクロユーティリティを算出することであって、マイクロユーティリティがコンテンツ制作ノードにおいて動作するアプリケーションに固有のユーティリティ機能に基づいていることのための命令を含むことができる（マイクロユーティリティ機構５２８）。コンテンツ処理システム５１８は、コンテンツ要求ノードにより、１つ以上のパケットについての関連性を算出することであって、関連性が、さらに、コンテンツ要求ノードに対する１つ以上のパケットの重要度を示すことのための命令を含むことができる（関連性機構５２２）。
【００４４】
コンテンツ処理システム５１８は、さらに、中間ノードの１つ以上の子ノードを判定することに応答して、１つ以上の子ノードによって示される関連性を合計することであって、１つ以上の子ノードが、それぞれ、１つ以上のパケットに対応する関連性を示すことのための命令を含むことができる（関連性機構５２２）。コンテンツ処理システム５１８は、上流側のコンテンツ制作ノードに対して１つ以上のパケットを送信することであって、１つ以上のパケットが、１つ以上の子ノードによって示される合計された関連性を含むことのための命令を含むことができる（通信機構５２０）。コンテンツ処理システム５１８は、中間ノードの１つ以上の子ノードを判定することに応答して、１つ以上の子ノードによって示される関連性によってマイクロユーティリティを乗算することであって、１つ以上の子ノードが、それぞれ、１つ以上のパケットに対応する関連性を示すことのための命令を含むことができる（ユーティリティ及び関連性統合機構５２４）。
【００４５】
コンテンツ処理システム５１８は、さらに、各パケットの判定値に基づいて１つ以上のパケットに対する動作を判定することであって動作が各パケットを転送すること；各パケットを破棄すること；及び各パケットの送信を遅延させることのうちのいずれかであることのための命令を含むことができる（送信中決定機構５３０）。コンテンツ処理システム５１８は、１つ以上のパケットの優先度の指標を変更することであって変更が優先度の値を減少させることのための命令を含むことができる（値判定機構５２６）。コンテンツ処理システム５１８は、１つ以上の下流側のノードに対して１つ以上のパケットを送信することであって１つ以上のパケットが各パケットの優先度の変更された指標を含むことのための命令を含むことができる（通信機構５２０）。
【００４６】
データ５３２は、本開示に記載された方法及び／又はプロセスによって入力として必要とされるか又は出力として生成される任意のデータを含むことができる。具体的には、データ５３２は、パケット；マイクロユーティリティ及び関連性を示すパケットであって、マイクロユーティリティがアプリケーションに固有のユーティリティ機能に基づいており且つ関連性がパケットの優先度を示すパケット；コンテンツ制作ノードにおいて動作するアプリケーションに固有のユーティリティ機能に基づいているマイクロユーティリティの計算；コンテンツ要求ノードに対する１つ以上のパケットの重要度を示す関連性の計算；コントローラノード、コンテンツ要求ノード、コンテンツ制作ノード、中間ノード及び転送ノードに関連する情報；１つ以上のパケットについての組み合わせられた関連性の指標；中間ノードの全ての子ノードに関連する関連性の合計を表す値を含む組み合わせられた関連性の指標；１つ以上のパケットについてのマイクロユーティリティ及び関連性の統合された値の指標；１つ以上の子ノードによって示された関連性によるマイクロユーティリティの乗算値を表す値を含むマイクロユーティリティ及び関連性の統合された値の指標；統合に基づく各パケットの判定値；各パケットの転送、破棄又は送信遅延を含む中間ノードによって行われる送信中決定についての動作の指標；及び各パケットの変更された優先度の指標であって変更が優先度の値を減少させる指標を少なくとも記憶することができる。
【００４７】
この詳細な説明に記載されたデータ構造及びコードは、典型的には、コンピュータシステムによって使用するためのコード及び／又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスク若しくはディジタルビデオディスク）などの磁気及び光記憶装置、又は、現在知られている若しくは今後開発されるコンピュータ読み取り可能な媒体を記憶することができる他の媒体を含む。
【００４８】
詳細な説明のセクションに記載された方法及びプロセスは、上述したようなコンピュータ読み取り可能な記憶媒体に記憶されることができるコード及び／又はデータとして具体化することができる。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコード及び／又はデータを読み取って実行する場合、コンピュータシステムは、データ構造及びコードとして具現化されてコンピュータ読み取り可能な記憶媒体に記憶された方法及びプロセスを実行する。
【００４９】
さらにまた、上述した方法及びプロセスは、ハードウェアモジュール又は装置に含めることができる。例えば、ハードウェアモジュール又は装置は、これらに限定されるものではないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定のソフトウェアモジュール又は１つのコードを特定の時間に実行する専用又は共有プロセッサ、及び、現在知られている若しくは今後開発される他のプログラマブル論理デバイスを含むことができる。ハードウェアモジュール又は装置が起動されると、ハードウェアモジュール又は装置は、ハードウェアモジュール又は装置の内部に含まれる方法及びプロセスを実行する。
【図１Ａ】
2016076923.tif 000006
【図１Ｂ】
2016076923.tif 000007
【図２Ａ】
2016076923.tif 000008
【図２Ｂ】
2016076923.tif 000009
【図３Ａ】
2016076923.tif 000010
【図３Ｂ】
2016076923.tif 000011
【図４】
2016076923.tif 000012
【図５】
2016076923.tif 000013