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