IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シスコ テクノロジー,インコーポレイテッドの特許一覧

特許7443549ハイパーバイザと仮想マシン間の動的セルラー接続
<>
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図1A
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図1B
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図2A
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図2B
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図3
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図4
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図5
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図6A
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図6B
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図7
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図8
  • 特許-ハイパーバイザと仮想マシン間の動的セルラー接続 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-26
(45)【発行日】2024-03-05
(54)【発明の名称】ハイパーバイザと仮想マシン間の動的セルラー接続
(51)【国際特許分類】
   H04L 61/2503 20220101AFI20240227BHJP
【FI】
H04L61/2503
【請求項の数】 23
(21)【出願番号】P 2022552137
(86)(22)【出願日】2021-03-17
(65)【公表番号】
(43)【公表日】2023-05-12
(86)【国際出願番号】 US2021022698
(87)【国際公開番号】W WO2021206881
(87)【国際公開日】2021-10-14
【審査請求日】2022-10-24
(31)【優先権主張番号】16/841,637
(32)【優先日】2020-04-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508041127
【氏名又は名称】シスコ テクノロジー,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100140431
【弁理士】
【氏名又は名称】大石 幸雄
(72)【発明者】
【氏名】ジンダル,ロヒット
(72)【発明者】
【氏名】ジャスティ,サビタ
(72)【発明者】
【氏名】カタ,マドゥスーダナ ラオ
(72)【発明者】
【氏名】メノン,クリシュナ モハン
(72)【発明者】
【氏名】ドゥスーザ,キース ニール マーク
(72)【発明者】
【氏名】カルナタプー,ヴィラジシャ
(72)【発明者】
【氏名】ラクシュマナン,イェガパン
【審査官】小林 義晴
(56)【参考文献】
【文献】韓国公開特許第10-2015-0081654(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 61/2503
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実施される方法であって、
モデムで呼び出しを開始してセルラーIPアドレスを要求することと、
前記セルラーIPアドレスとのデータパケットネットワーク接続を確立することと、
前記セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てることと、
前記仮想L2ブリッジインターフェースの前記MACアドレスに仮想マシンのMACアドレスをマッピングすることと、
前記セルラーIPアドレスの変更を検出することと、
前記データパケットネットワーク接続を維持しながら、前記仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新することと、
を含む方法。
【請求項2】
ハイパーバイザによって実行される、請求項1に記載方法。
【請求項3】
前記仮想L2ブリッジインターフェースの前記MACアドレスは、アドレス解決プロトコル要求に応答して提供される、請求項1または2に記載方法。
【請求項4】
セルラードライバによってデータパケットのMACアドレスを前記仮想L2ブリッジインターフェースの前記MACアドレスに置換することをさらに含む、請求項1から3のいずれかに記載方法。
【請求項5】
アドレス解決プロトコル要求に基づいて、前記セルラードライバで前記仮想L2ブリッジインターフェースの前記MACアドレスを受信することをさらに含む、請求項4に記載方法。
【請求項6】
前記仮想L2ブリッジインターフェースの前記MACアドレスに対応するデータパケットにL2ヘッダを追加することをさらに含む、請求項1から5のいずれかに記載方法。
【請求項7】
前記仮想マシンを前記仮想L2ブリッジインターフェースに接続するためにOpen vSwitchによってフローテーブルを実装することをさらに含む、請求項1から6のいずれかに記載方法。
【請求項8】
システムであって、
1つ以上のプロセッサと、
命令を格納した少なくとも1つのコンピュータ可読記憶媒体と、を備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記システムに、
モデムで呼び出しを開始してセルラーIPアドレスを要求させ、前記セルラーIPアドレスとのデータパケットネットワーク接続を確立させ、前記セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てさせ、
前記仮想L2ブリッジインターフェースの前記MACアドレスに仮想マシンのMACアドレスをマッピングさせ、
前記セルラーIPアドレスの変更を検出させ、
前記データパケットネットワーク接続を維持しながら、前記仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新させる、
システム。
【請求項9】
前記命令はハイパーバイザによって実行される、請求項8に記載のシステム。
【請求項10】
前記仮想L2ブリッジインターフェースの前記MACアドレスは、アドレス解決プロトコル要求に応答して提供される、請求項8または9に記載のシステム。
【請求項11】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記システムにさらに、セルラードライバによってデータパケットのMACアドレスを前記仮想L2ブリッジインターフェースの前記MACアドレスに置換させる、請求項8から10のいずれかに記載のシステム。
【請求項12】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記システムにさらに、アドレス解決プロトコル要求に基づいて、前記セルラードライバで前記仮想L2ブリッジインターフェースの前記MACアドレスを受信させる、請求項11に記載のシステム。
【請求項13】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記システムにさらに、前記仮想L2ブリッジインターフェースの前記MACアドレスに対応するデータパケットにL2ヘッダを追加させる、請求項8から12のいずれかに記載のシステム。
【請求項14】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記システムにさらに、前記仮想マシンを前記仮想L2ブリッジインターフェースに接続するためにOpen vSwitchによってフローテーブルを実装させる、請求項8から13のいずれかに記載のシステム。
【請求項15】
非一時的コンピュータ可読記憶媒体であって、
前記非一時コンピュータ可読記憶媒体に格納された命令を備え、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
モデムで呼び出しを開始してセルラーIPアドレスを要求させ、
前記セルラーIPアドレスとのデータパケットネットワーク接続を確立させ、
前記セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てさせ、
前記仮想L2ブリッジインターフェースの前記MACアドレスに仮想マシンのMACアドレスをマッピングさせ、
前記セルラーIPアドレスの変更を検出させ、
前記データパケットネットワーク接続を維持しながら、前記仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新させる、
非一時的コンピュータ可読記憶媒体。
【請求項16】
前記命令はハイパーバイザによって実行される、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記仮想L2ブリッジインターフェースの前記MACアドレスは、アドレス解決プロトコル要求に応答して提供される、請求項15または16に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサにさらに、セルラードライバによってデータパケットのMACアドレスを前記仮想L2ブリッジインターフェースの前記MACアドレスに置換させる、請求項15から17のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサにさらに、前記仮想L2ブリッジインターフェースの前記MACアドレスに対応するデータパケットにL2ヘッダを追加させる、請求項15から18のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサにさらに、前記仮想マシンを前記仮想L2ブリッジインターフェースに接続するためにOpen vSwitchによってフローテーブルを実装させる、請求項15から19のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【請求項21】
装置であって、
モデムで呼び出しを開始してセルラーIPアドレスを要求する手段と、前記セルラーIPアドレスとのデータパケットネットワーク接続を確立する手段と、
前記セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てる手段と、
前記仮想L2ブリッジインターフェースの前記MACアドレスに仮想マシンのMACアドレスをマッピングする手段と、
前記セルラーIPアドレスの変更を検出する手段と、
前記データパケットネットワーク接続を維持しながら、前記仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新する手段と、
を備える装置。
【請求項22】
請求項2から7のいずれかに記載の方法を実施するための手段をさらに備える、請求項21に記載の装置。
【請求項23】
コンピュータによって実行されると、請求項1から7のいずれかに記載の方法のステップを前記コンピュータに実行させる命令を備える、コンピュータプログラムまたはコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年4月6日に出願された米国非仮特許出願第16/841,637号の利益および優先権を主張し、その完全な開示は参照によりその全体が明示的に本明細書に組み込まれる。
【0002】
本技術は、一般に、コンピュータネットワーキングの分野に関し、より具体的には、ネットワーク機能仮想化インフラストラクチャソフトウェア(NFVIS)に拡張できるセルラーワイドエリアネットワーク(WAN)インターフェースへのアクセスを可能にするシステムおよび方法に関する。
【背景技術】
【0003】
エンタープライズネットワークの状況は、絶えず進化している。モバイルデバイスおよびモノのインターネット(IoT)デバイスのトラフィック、サービスとしてのソフトウェア(SaaS)のアプリケーション、ならびにクラウドの採用に対する需要が高まっている。加えて、セキュリティのニーズが高まっており、特定のアプリケーションは、適切な操作のために優先順位付けおよび最適化を必要とすることがある。この複雑さが増すにつれて、高可用性と拡張性を提供しながら、コストと運用コストを削減することが求められている。
【0004】
従来のWANアーキテクチャは、この進化する状況の下で大きな課題に直面している。従来のWANアーキテクチャは通常、複数のマルチプロトコルラベルスイッチング(MPLS)トランスポート、またはアクティブ/バックアップ方式で使用されるインターネットまたはロングタームエボリューション(LTE)リンクと組み合わせたMPLSからなり、ほとんどの場合、インターネットまたはSaaSのトラフィックが、インターネットアクセスのために、中央データセンターまたは地域ハブにバックホールされる。これらのアーキテクチャの問題には、不十分な帯域幅、高帯域幅のコスト、アプリケーションのダウンタイム、SaaS のパフォーマンスの低下、複雑な操作、クラウド接続の複雑なワークフロー、長い展開時間とポリシーの変更、アプリケーションの可視性の制限、ネットワークの保護の難しさなどがある。
【0005】
近年、イーサネットは展開において好まれるWANインターフェースになっている。4G LTEや5Gなどのセルラーネットワークは安定しており、高いデータスループット機能と展開の容易さを備えているため、企業の間でWAN接続の好ましい選択肢となっている。これは、主要な、場合によっては唯一のWAN接続オプションがセルラー4G LTEまたは5GであるIoTユース ケースで見られる。異なる仮想マシンで実行されているアプリケーションも、同時にネットワークと通信する。ただし、唯一のWANインターフェースとしてセルラーによるNFVISを展開すると、セルラーネットワークの動作に起因する問題が生じる。例えば、セルラーモデムは、3GPP標準で定義されたプロトコルを使用して、無線でサービスプロバイダのセルラーネットワークと通信する。これらのモデムにはイーサネットL2がない。そのため、モデムをL2ブリッジのようなシステムに統合することは困難である。
【図面の簡単な説明】
【0006】
本開示、ならびにその特徴および利点をより完全に理解するために、添付の図面と併せて以下の説明を参照する。
図1A】例示的なクラウドコンピューティングアーキテクチャを示す。
図1B】例示的なフォグコンピューティングアーキテクチャを示す。
図2A】データセンターなどの例示的なネットワーク環境の図を示す。
図2B】ネットワーク環境の別の例を示す。
図3】例示的な仮想マシン(VM)展開の例の概略図を示す。
図4】例示的な無線通信ネットワークを示す。
図5】例示的な電気通信ネットワークの概略ブロック図を示す。
図6A】一実施形態によるネットワーク機能仮想化インフラストラクチャソフトウェアのトポロジの例を示す。
図6B】一実施形態によるネットワーク機能仮想化インフラストラクチャソフトウェアのトポロジの例を示す。
図7】一実施形態によるネットワーク機能仮想化インフラストラクチャソフトウェアプロセスのフローチャートの例を示す。
図8】例示的なネットワークデバイスを示す。
図9】例示的なコンピューティングシステムを示す。
【発明を実施するための形態】
【0007】
本開示の様々な実施形態について、以下で詳細に考察する。特定の実装形態について考察するが、これは例証のみを目的として行われることを理解されたい。関連技術分野の当業者は、本開示の趣旨および範囲から離れることなく、他のコンポーネントおよび構成を使用することができることを認識するであろう。したがって、以下の説明および図面は例示的なものであり、限定的なものとして解釈されるべきではない。本開示を完全に理解してもらうために、多数の特定の詳細が説明される。しかしながら、特定の例において、説明を曖昧にすることを避けるために、周知のまたは従来技術の詳細は説明されていない。
【0008】
本明細書で使用される場合、「一実施形態」または「実施形態」は、同じ実施形態または任意の実施形態を指すことができる。また、「一実施形態」または「実施形態」への言及は、実施形態に関連して記載された特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「一実施形態において」という語句の出現は、必ずしもすべてが同じ実施形態を指すわけではなく、他の実施形態を相互に排除する別個のまたは代替の実施形態でもない。一実施形態を参照して本明細書で説明した特徴は、任意の実施形態を参照して説明した特徴と組み合わせることができる。
【0009】
本明細書で使用される用語は、一般に、本技術において、本開示文脈内で、および各用語が使用される特定の文脈において、それらの通常の意味を有する。代替の言語および同義語は、本明細書で論じられる用語のいずれか1つ以上に使用されてもよく、用語が本明細書で詳述または論じられるかどうかに特別な意味を置くべきではない。場合によっては、特定の用語に対する同義語が提供される。1つ以上の同義語の詳述は、他の同義語の使用を排除するものではない。本明細書で議論される任意の用語の例を含む、本明細書の任意の場所での例の使用は、例示であり、開示または任意の例示的な用語の範囲および意味を限定することを意図するものではない。同様に、本開示は、本開示に記載された特定の実施形態または実施例に限定されない。
【0010】
本開示の範囲を限定することを意図することなく、機器、装置、方法、およびそれらに関連する機能の例を以下に提供する。タイトルまたはサブタイトルは、読者の便宜のために例で使用される場合があり、決して開示の範囲を制限するものではない。別段の定義がない限り、本明細書で使用される技術的および科学的用語は、本開示が属する技術分野の当業者によって一般的に理解される意味を有する。矛盾する場合は、本明細書および含まれる定義が優先される。
【0011】
本開示の追加の特徴および利点は、以下の説明に記載され、一部は説明から認識されるか、または本明細書に開示された原理の実践によって学ぶことができる。本開示の特徴および利点は、本明細書で特に指摘されている機器および組み合わせによって実現および取得することができる。本開示のこれらおよび他の特徴は、以下の明細書および添付の特許請求の範囲からより完全に明らかになるか、または本明細書に記載の原理の実践によって学ぶことができる。
概要
【0012】
本発明の態様は、独立請求項で提示され、好ましい特徴は、従属請求項で提示される。一態様の特徴は、単独で、または他の態様と組み合わせて、任意の態様に適用され得る。
【0013】
方法は、モデムで呼び出しを開始してセルラーIPアドレスを要求することを含むことができる。この方法は、セルラーIPアドレスとのデータパケットネットワーク接続を確立することを含むことができる。この方法はまた、セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てることを含むことができる。さらに、この方法は、仮想L2ブリッジインターフェースのMACアドレスに仮想マシンのMACアドレスをマッピングすることを含むことができる。この方法はまた、セルラーIPアドレスの変化を検出することを含むことができる。さらに、この方法は、データパケットネットワーク接続を維持しながら、仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新することを含むことができる。
【0014】
このコンピュータ実装方法は、ハイパーバイザによって実行できる。仮想L2ブリッジインターフェースのMACアドレスは、アドレス解決プロトコル要求に応答して提供できる。このコンピュータ実装方法は、セルラードライバによってデータパケットのMACアドレスを仮想L2ブリッジインターフェースのMACアドレスに置換することをさらに含むことができる。このコンピュータ実装方法はまた、アドレス解決プロトコル要求に基づいて、セルラードライバで仮想L2ブリッジインターフェースのMACアドレスを受信することを含むことができる。このコンピュータ実装方法は、仮想L2ブリッジインターフェースのMACアドレスに対応するデータパケットにL2ヘッダを追加することをさらに含むことができる。このコンピュータ実装方法は、仮想マシンを仮想L2ブリッジインターフェースに接続するためにOpen vSwitchによってフローテーブルを実装することをさらに含むことができる。
【0015】
システムは、1つ以上のプロセッサと、命令を格納した少なくとも1つのコンピュータ可読記憶媒体と、を備え、命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、モデムで呼び出しを開始してセルラーIPアドレスを要求させる。この命令はまた、1つ以上のプロセッサに、セルラーIPアドレスとのデータパケットネットワーク接続を確立させることができる。さらに、この命令は、1つ以上のプロセッサに、セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てさせることができる。この命令はまた、1つ以上のプロセッサに、仮想L2ブリッジインターフェースのMACアドレスに仮想マシンのMACアドレスをマッピングさせることができる。さらに、この命令は、1つ以上のプロセッサに、セルラーIPアドレスの変更を検出させることができる。この命令はまた、1つ以上のプロセッサに、データパケットネットワーク接続を維持しながら、仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新させることができる。
【0016】
命令を格納した非一時的なコンピュータ可読記憶媒体であって、命令は、プロセッサによって実行されると、プロセッサに、モデムで呼び出しを開始してセルラーIPアドレスを要求させる。この命令はまた、プロセッサに、セルラーIPアドレスとのデータパケットネットワーク接続を確立させことができる。さらに、この命令は、プロセッサに、セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てさせることができる。この命令はまた、プロセッサに、仮想L2ブリッジインターフェースのMACアドレスに仮想マシンのMACアドレスをマッピングさせことができる。さらに、この命令は、プロセッサに、セルラーIPアドレスの変更を検出させることができる。この命令はまた、プロセッサに、データパケットネットワーク接続を維持しながら、仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新させることができる。
例示的な実施形態の説明
【0017】
本開示技術は、L2ブリッジが存在しないセルラー環境においてL2ブリッジインターフェースを確立するための当技術分野における必要性に対処する。特に、本開示技術は、仮想L2ブリッジを有するセルラー環境においてL2ブリッジインターフェースを確立するための当技術分野における必要性に対処する。本技術は、仮想化ネットワーク環境のスイッチファブリックを介して脅威対応を実行するためのシステム、方法、およびコンピュータ可読媒体を含んでいる。特に、本技術は、モデムで呼び出しを開始してセルラーIPアドレスを要求することと、セルラーIPアドレスとのデータパケットネットワーク接続を確立することと、セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てることと、仮想L2ブリッジインターフェースのMACアドレスに仮想マシンのMACアドレスをマッピングすることと、セルラーIPアドレスの変更を検出することと、データパケットネットワーク接続を維持しながら、仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新することと、を含む、システム、方法、およびコンピュータ可読媒体を含むことができる。
【0018】
図1A、1B、2A、2B、3、4、および5に示すように、ネットワークデータアクセスおよびサービスのためのネットワーク環境およびアーキテクチャの説明を、本明細書において最初に開示する。次に、図6および7に示すように、セルラー環境で仮想L2ブリッジインターフェースを確立するためのシステム、方法、およびコンピュータ可読媒体を説明する。最後に、図8および9に示すように、例示的なデバイスについて簡単に説明する。これらのバリエーションは、本明細書において、様々な実施形態の説明によって説明されるものとする。本開示について図1Aを参照する。
【0019】
図1Aは、例示的なクラウドコンピューティングアーキテクチャ100の図を示す。このアーキテクチャは、クラウド102を含むことができる。クラウド102は、1つ以上のプライベートクラウド、パブリッククラウド、および/またはハイブリッドクラウドを含むことができる。さらに、クラウド102は、クラウド要素104■114を含むことができる。クラウド要素104■114は、例えば、サーバ104、VM106、1つ以上のソフトウェアプラットフォーム108、アプリケーションまたはサービス110、ソフトウェアコンテナ112、およびインフラストラクチャノード114を含むことができる。インフラストラクチャノード114は、コンピューティングノード、ストレージノード、ネットワークノード、管理システムなど、様々なタイプのノードを含むことができる。
【0020】
クラウド102は、クラウド要素104■114を介して、サービスとしてのソフトウェア(SaaS)(例えば、コラボレーションサービス、電子メールサービス、エンタープライズリソースプランニングサービス、コンテンツサービス、通信サービスなど)、サービスとしてのインフラストラクチャ(IaaS)(例えば、セキュリティサービス、ネットワーキングサービス、システム管理サービスなど)、サービスとしてのプラットフォーム(PaaS)(例えば、Webサービス、ストリーミングサービス、アプリケーション開発サービスなど)、およびサービスとしてのデスクトップ(DaaS)、サービスとしての情報技術管理(ITaaS)、サービスとしてのマネージドソフトウェア(MSaaS)、サービスとしてのモバイルバックエンド(MBaaS)などの他の種類のサービスなどの様々なクラウドコンピューティングサービスを提供することができる。
【0021】
クライアントエンドポイント116は、クラウド102と接続して、クラウド102から1つ以上の特定のサービスを取得することができる。クライアントエンドポイント116は、1つ以上のパブリックネットワーク(例えば、インターネット)、プライベートネットワーク、および/またはハイブリッドネットワーク(例えば、仮想プライベートネットワーク)を介して要素104~114と通信することができる。クライアントエンドポイント116は、ラップトップコンピュータ、タブレットコンピュータ、サーバ、デスクトップコンピュータ、スマートフォン、ネットワークデバイス(例えば、アクセスポイント、ルータ、スイッチなど)、スマートテレビ、スマートカー、センサー、GPSデバイス、ゲームシステム、スマートウェアラブルオブジェクト(例えば、スマートウォッチなど)、消費者向けオブジェクト(例えば、インターネット冷蔵庫、スマート照明システムなど)、都市または交通システム(例えば、交通管制、料金収受システムなど)、モノのインターネット(IoT)デバイス、カメラ、ネットワークプリンタ、交通システム(例えば、飛行機、電車、オートバイ、ボートなど)、または任意のスマートオブジェクトまたは接続されたオブジェクト(例えば、スマートホーム、スマートビルディング、スマートリテール、スマートグラスなど)など、ネットワーク機能を備えた任意のデバイスを含むことができる。
【0022】
図1Bは、例示的なフォグコンピューティングアーキテクチャ150の図を示す。フォグコンピューティングアーキテクチャ150は、クラウド102および任意の他のクラウドシステムまたは環境を含むクラウド層154と、フォグノード162を含むフォグ層156とを含むことができる。クライアントエンドポイント116は、クラウド層154および/またはフォグ層156と通信することができる。アーキテクチャ150は、クラウド層154、フォグ層156、およびクライアントエンドポイント116の間に1つ以上の通信リンク152を含むことができる。通信は、クラウド層154まで、および/またはクライアントエンドポイント116まで流れることができる。
【0023】
フォグ層156または「フォグ」は、従来のクラウドネットワークの計算、ストレージ、およびネットワーク機能を提供するが、エンドポイントにより近いものである。したがって、フォグは、クラウド102を拡張して、クライアントエンドポイント116に近づけることができる。フォグノード162は、フォグネットワークの物理的な実装であり得る。さらに、フォグノード162は、ローカルサービスまたは地域サービスおよび/またはクライアントエンドポイント116への接続を提供することができる。その結果、トラフィックおよび/またはデータをクラウド102からフォグ層156にオフロードすることができる(例えば、フォグノード162を介して)。したがって、フォグ層156は、クライアントエンドポイント116へのより高速なサービスおよび/または接続性を、より短い待ち時間で提供することができ、またデータをローカルネットワークまたは地域ネットワーク内に保持することによるセキュリティ上の利点などの他の利点も提供することができる。
【0024】
フォグノード162は、サーバ、スイッチ、ルータ、コントローラ、カメラ、アクセスポイント、ゲートウェイなど、ネットワーク化された任意のコンピューティングデバイスを含むことができる。さらに、フォグノード162は、工場のフロア、電柱、線路沿い、車両、石油掘削装置、空港、航空機、ショッピングセンター、病院、公園、駐車場、図書館などなど、ネットワーク接続を備えればどこにでも配備することができる
【0025】
いくつかの構成では、1つ以上のフォグノード162をフォグインスタンス158、160内に展開できる。フォグインスタンス158、160は、ローカルまたは地域のクラウドまたはネットワークとすることができる。例えば、フォグインスタンス158、160は、地域のクラウドまたはデータセンター、ローカルエリアネットワーク、フォグノード162のネットワークなどとすることができる。いくつかの構成では、例えば、1つ以上のフォグノード162をネットワーク内に配置するか、スタンドアロンまたは個別のノードとして配置することができる。さらに、フォグノード162のうちの1つ以上は、例えば、スター、リング、メッシュ、または階層配置を含む様々なトポロジで、リンク164を介して互いに相互接続することができる。
【0026】
場合によっては、1つ以上のフォグノード162をモバイルフォグノードにすることができる。モバイルフォグノードは、クラウド層154および/またはエンドポイント116との接続を維持しながら、様々な地理的位置、論理的位置またはネットワーク、および/またはフォグインスタンスに移動できる。例えば、特定のフォグノードは、ある地理的位置および/または論理的位置から別の地理的位置および/または論理的位置に移動できる航空機または列車などの乗り物に配置することができる。この例では、特定のフォグノードは、開始位置にある間、クラウド154との特定の物理および/または論理接続ポイントに接続し、目的地にある間、クラウド154との別の物理および/または論理接続ポイントに切り替えることができる。したがって、特定のフォグノードは、特定のクラウドおよび/またはフォグインスタンス内を移動でき、したがって、異なる時間に異なる場所からエンドポイントにサービスを提供できる。
【0027】
図2Aは、データセンターなどの例示的なネットワーク環境200の図を示す。場合によっては、ネットワーク環境200は、クラウド102をサポートおよび/またはホストできるデータセンターを含むことができる。ネットワーク環境200は、ネットワーク環境200の物理層またはインフラストラクチャ(例えば、アンダーレイ)を表すことができるファブリック220を含むことができる。ファブリック220は、ファブリック220内のトラフィックをルーティングまたはスイッチングするために相互接続することができる、スパイン202(例えば、スパインルータまたはスイッチ)およびリーフ204(例えば、リーフルータまたはスイッチ)を含むことができる。スパイン202は、ファブリック220内のリーフ204を相互接続することができ、リーフ204は、ファブリック220を、アプリケーションサービス、サーバ、仮想マシン、コンテナ、エンドポイントなどを含むことができるネットワーク環境200のオーバーレイまたは論理部分に接続することができる。したがって、ファブリック220内のネットワーク接続は、スパイン202からリーフ204に、およびその逆に流れることができる。リーフ204とスパイン202との間の相互接続は、ルーティングの失敗を回避するために冗長にすることができる(例えば、複数の相互接続)。いくつかの実施形態では、リーフ204およびスパイン202は、任意の所与のリーフがスパイン202の各々に接続され、任意の所与のスパインがリーフ204の各々に接続されるように、完全に接続することができる。リーフ204は、例えば、トップオブラック(「ToR」)スイッチ、集約スイッチ、ゲートウェイ、入力および/または出力スイッチ、プロバイダエッジデバイス、ならびに/あるいは任意の他のタイプのルーティングまたはスイッチングデバイスであり得る。
【0028】
リーフ204は、テナントまたは顧客のパケットのルーティングおよび/またはブリッジング、ならびにネットワークポリシーまたはルールの適用を担当することができる。ネットワークポリシーおよびルールは、1つ以上のコントローラ216によって駆動され、および/またはリーフ204などの1つ以上のデバイスによって実装もしくは執行される。リーフ204は、他の要素をファブリック220に接続することができる。例えば、リーフ204は、サーバ206、ハイパーバイザ208、VM210、アプリケーション212、ネットワークデバイス214などをファブリック220に接続することができる。このような要素は、オーバーレイネットワークなど、1つ以上の論理または仮想の層またはネットワーク内に存在することができる。場合によっては、リーフ204は、ネットワーク環境200およびファブリック220全体での通信を可能にするために、そのような要素(例えば、サーバ206)との間でパケットをカプセル化およびカプセル化解除することができる。リーフ204は、他のデバイス、サービス、テナント、またはワークロードに、ファブリック220へのアクセスを提供することもできる。場合によっては、リーフ204に接続されたサーバ206は、同様に、リーフ204との間でパケットをカプセル化およびカプセル化解除することができる。例えば、サーバ206は、サーバ206によってホストされるかまたはそれに接続されるオーバーレイまたは論理層と、ファブリック220によって表され、かつリーフ204を介してアクセスされるアンダーレイ層との間でパケットをトンネリングするための、1つ以上の仮想スイッチまたはルータまたはトンネルエンドポイントを含むことができる。
【0029】
アプリケーション212は、ソフトウェアアプリケーション、サービス、コンテナ、アプライアンス、機能、サービスチェーンなどを含むことができる。例えば、アプリケーション212は、ファイアウォール、データベース、CDNサーバ、IDS/IPS、ディープパケットインスペクションサービス、メッセージルータ、仮想スイッチなどを含むことができる。アプリケーション212からのアプリケーションは、複数のエンドポイント(サーバ206、VM210など)によって配信、チェーン、またはホストされるか、あるいは単一のエンドポイントから完全に動作または実行される。
【0030】
VM210は、ハイパーバイザ208によってホストされる仮想マシン、またはサーバ206上で実行される仮想マシンマネージャにすることができる。VM210は、それぞれのサーバ上のゲストオペレーティングシステム上で実行されるワークロードを含むことができる。ハイパーバイザ208は、VM210を作成、管理、および/または実行するソフトウェア、ファームウェア、および/またはハードウェアの層を提供することができる。ハイパーバイザ208は、VM210がサーバ206上のハードウェアリソースを共有することを可能にし、サーバ206上のハードウェアリソースが複数の別個のハードウェアプラットフォームとして現れることを可能にすることができる。さらに、サーバ206上のハイパーバイザ208は、1つ以上のVM210をホストすることができる。
【0031】
場合によっては、VM210を他のサーバ206に移行することができる。サーバ206は、同様に、ネットワーク環境200内の他の物理的な場所に移行することができる。例えば、特定のリーフに接続されているサーバを変更して、異なるリーフまたは追加のリーフに接続することができる。このような構成または展開の変更には、移行対象のリソースならびに他のネットワークコンポーネントに適用される設定、構成、およびポリシーの修正が含まれる場合がある。
【0032】
場合によっては、1つ以上のサーバ206、ハイパーバイザ208、および/またはVM210は、テナントもしくは顧客スペースを表すか、またはそこに常駐することができる。テナントスペースは、1つ以上のクライアントまたはサブスクライバに関連付けられているワークロード、サービス、アプリケーション、デバイス、ネットワーク、および/またはリソースを含むことができる。したがって、ネットワーク環境200内のトラフィックは、特定のテナントポリシー、スペース、合意、構成などに基づいてルーティングできる。さらに、アドレス指定は、1つ以上のテナント間で異なる場合がある。いくつかの構成では、テナントスペースを論理セグメントおよび/またはネットワークに分割し、他のテナントに関連付けられた論理セグメントおよび/またはネットワークから分離することができる。テナント間のアドレス指定、ポリシー、セキュリティ、および構成情報は、コントローラ216、サーバ206、リーフ204などによって管理できる。
【0033】
ネットワーク環境200の構成は、論理レベル、ハードウェアレベル(例えば、物理)、および/またはその両方で実装できる。例えば、構成は、ソフトウェア定義ネットワーキング(SDN)フレームワーク(例えば、アプリケーションセントリックインフラストラクチャ(ACI)またはVMWARE NSX)を介して、エンドポイントタイプおよび/またはアプリケーショングループもしくはプロファイルなどのエンドポイントまたはリソース属性に基づいて、論理および/またはハードウェアレベルで実装できる。説明のために、1人または複数の管理者は、コントローラ216を介して論理レベル(例えば、アプリケーションまたはソフトウェアレベル)で構成を定義することができ、コントローラ216は、ネットワーク環境200を介してそのような構成を実装または伝播することができる。いくつかの例では、コントローラ216は、ACIフレームワーク内のアプリケーションポリシーインフラストラクチャコントローラ(APIC)であり得る。他の例では、コントローラ216は、NSXマネージャなどの他のSDNソリューションに関連付けられるための1つ以上の管理コンポーネントであり得る。
【0034】
このような構成は、ネットワーク環境200内のトラフィックをルーティングおよび/または分類するためのルール、ポリシー、優先順位、プロトコル、属性、オブジェクトなどを定義することができる。例えば、このような構成では、エンドポイントグループ、セキュリティグループ(SG)、VMタイプ、ブリッジドメイン(BD)、仮想ルーティングおよび転送インスタンス(VRF)、テナント、優先順位、ファイアウォールルールなどに基づいてトラフィックを分類および処理するための属性およびオブジェクトを定義することができる。他の例示的なネットワークオブジェクトおよび構成については、以下で詳しく説明する。トラフィックのポリシーおよびルールは、トラフィックに関連付けられたプロトコル、トラフィックに関連付けられたEPG、トラフィックに関連付けられたSG、トラフィックに関連付けられたネットワークアドレス情報など、トラフィックのタグ、属性、または他の特性に基づいて執行できる。このようなポリシーおよびルールは、リーフ204、サーバ206、ハイパーバイザ208、コントローラ216など、ネットワーク環境200内の1つ以上の要素によって執行できる。前述のように、ネットワーク環境200は、CISCO ACIまたはVMWARE NSXなどの1つ以上の特定のSDNソリューションに従って構成できる。これらの例示的なSDNソリューションについて以下で簡単に説明する。
【0035】
ACIは、スケーラブルな分散型執行を通じて、アプリケーション中心またはポリシーベースのソリューションを提供することができる。ACIは、ネットワーク、サーバ、サービス、セキュリティ、要件などの宣言型構成モデルの下での物理環境および仮想環境の統合をサポートする。例えば、ACIフレームワークは、セキュリティ、QoS、サービスなどの共通の構成要件を共有するエンドポイントまたはアプリケーションのコレクションを含むことができるEPGを実装する。エンドポイントは、ネットワーク環境200に接続されているVM、コンテナ、ホスト、物理サーバなどの仮想/論理または物理デバイスであり得る。エンドポイントは、VM名、ゲストOS名、セキュリティタグ、アプリケーションプロファイルなど、1つ以上の属性を持つことができる。アプリケーション構成は、エンドポイントではなく、EPG間で、契約の形式で直接適用できる。リーフ204は、着信トラフィックを異なるEPGに分類することができる。分類は、例えば、VLAN ID、VXLANネットワーク識別子(VNID)、NVGRE仮想サブネット識別子(VSID)、MACアドレス、IPアドレスなどのネットワークセグメント識別子に基づくことができる。
【0036】
場合によっては、ACIインフラストラクチャでの分類は、サーバなどのホスト上で実行できるACI仮想エッジ(AVE)、例えばサーバ上で実行されているvSwitchによって実装できる。例えば、AVEは、指定された属性に基づいてトラフィックを分類し、ネットワークセグメント識別子(例えば、VLAN ID)などの様々な識別子で様々な属性EPGのパケットにタグを付けることができる。最後に、リーフ204は、パケットをそれらの識別子に基づいてそれらの属性EPGと結び付け、ポリシーを執行することができ、これは、1つ以上のコントローラ216によって実装および/または管理できる。リーフ204は、ホストからのトラフィックがどのEPGに属するかを分類し、それに応じてポリシーを執行することができる。
【0037】
別の例示的なSDNソリューションは、VMWARE NSXに基づく。VMWARE NSXを使用すると、ホストは、トラフィックを分類および処理できる分散ファイアウォール(DFW)を実行することができる。3つのタイプのVM、すなわち、アプリケーション、データベース、およびウェブVMが、単一の層2ネットワークセグメントに配置されている場合を考察されたい。トラフィック保護は、VMタイプに基づいてネットワークセグメント内で提供できる。例えば、HTTPトラフィックは、ウェブVM間では許可され、ウェブVMとアプリケーションまたはデータベースVM間では許可されない場合がある。トラフィックを分類してポリシーを実装するために、VMWARE NSXは、特定のVM(例えば、ウェブVM、アプリケーションVM、データベースVM)をグループ化するために使用できるセキュリティグループを実装することができる。DFWルールは、特定のセキュリティグループのポリシーを実装するように構成できる。説明のために、前の例のコンテキストでは、DFWルールは、ウェブ、アプリケーション、およびデータベースのセキュリティグループ間のHTTPトラフィックをブロックするように構成できる。
【0038】
ここで図2Aに戻ると、ネットワーク環境200は、リーフ204、サーバ206、ハイパーバイザ208、VM210、アプリケーション212、およびコントローラ216を介して、VMWARE ESXiホスト、WINDOWS HYPER-Vホスト、ベアメタル物理ホストなどの様々なホストを展開することができる。ネットワーク環境200は、様々なハイパーバイザ208、サーバ206(例えば、物理および/または仮想サーバ)、SDNオーケストレーションプラットフォームなどと相互運用することができる。ネットワーク環境200は、宣言型モデルを実装して、アプリケーション設計および全体的なネットワークポリシーとのそれの統合を可能にすることができる。
【0039】
コントローラ216は、ファブリック情報、アプリケーション構成、リソース構成、SDNインフラストラクチャのアプリケーションレベル構成モデリング、管理システムまたはサーバとの統合などへの一元化されたアクセスを提供することができる。コントローラ216は、ノースバウンドAPIを介してアプリケーションプレーンとインターフェースし、かつサウスバウンドAPIを介してデータプレーンとインターフェースする制御プレーンを形成することができる。
【0040】
前述のように、コントローラ216は、ネットワーク環境200内の構成のためのアプリケーションレベルのモデルを定義および管理することができる。場合によっては、アプリケーションまたはデバイスの構成を、ネットワーク内の他のコンポーネントによって管理および/または定義することもできる。例えば、VMまたはコンテナなどのハイパーバイザまたは仮想アプライアンスは、サーバまたは管理ツールを実行して、仮想アプライアンスの構成および設定を含む、ネットワーク環境200内のソフトウェアおよびサービスを管理することができる。
【0041】
上に示したように、ネットワーク環境200は、1つ以上の異なるタイプのSDNソリューション、ホストなどを含むことができる。明確化および説明の目的で、本開示の様々な例は、ACIフレームワークを参照して説明され、コントローラ216は、コントローラ、APIC、またはAPICコントローラと互換的な意味で参照される。ただし、本明細書での技術および概念は、ACIソリューションに限定されず、他のSDNソリューション、ならびにSDNソリューションを展開しない可能性のある他のタイプのネットワークを含む他のアーキテクチャおよびシナリオで実装されてもよいことに留意されたい。
【0042】
さらに、本明細書で参照されるように、「ホスト」という用語は、サーバ206(例えば、物理または論理)、ハイパーバイザ208、VM210、コンテナ(例えば、アプリケーション212)などを指すことができ、任意のタイプのサーバまたはアプリケーションソリューションを実行するかまたは含むことができる。「ホスト」の非限定的な例には、分散仮想スイッチ(DVS)、AVEノード、ベクトルパケット処理(VPP)スイッチなどの仮想スイッチまたはルータ、VCENTERおよびNSX MANAGER、ベアメタル物理ホスト、HYPER-Vホスト、VM、DOCKERコンテナなどが含まれ得る。
【0043】
図2Bは、ネットワーク環境200の別の例を示す。この例では、ネットワーク環境200は、ファブリック220内のリーフ204に接続されたエンドポイント222を含む。エンドポイント222は、サーバ、クライアント、VM、ハイパーバイザ、ソフトウェアコンテナ、アプリケーション、リソース、ネットワークデバイス、ワークロードなどの物理および/または論理もしくは仮想エンティティにすることができる。例えば、エンドポイント222は、物理デバイス(例えば、サーバ、クライアント、スイッチなど)、アプリケーション(例えば、ウェブアプリケーション、データベースアプリケーションなど)、論理または仮想リソース(例えば、仮想スイッチ、仮想サービスアプライアンス、仮想化ネットワーク機能(VNF)、VM、サービスチェーンなど)、ソフトウェアリソース(アプリケーション、アプライアンス、VNF、サービスチェーンなど)を実行するコンテナ、ストレージ、ワークロードまたはワークロードエンジンなどを表すオブジェクトにすることができる。エンドポイント122は、アドレス(例えば、アイデンティティ)、場所(例えば、ホスト、ネットワークセグメント、仮想ルーティングおよび転送インスタンス(VRF)インスタンス、ドメインなど)、1つ以上の属性(例えば、名前、タイプ、バージョン、パッチレベル、OS名、OSタイプなど)、タグ(例えば、セキュリティタグ)、プロファイルなどを有することができる。
【0044】
エンドポイント222は、それぞれの論理グループ218に関連付けることができる。論理グループ218は、エンドポイントタイプ(例えば、VMタイプ、ワークロードタイプ、アプリケーションタイプなど)、1つ以上の要件(例えば、ポリシー要件、セキュリティ要件、QoS要件、顧客要件、リソース要件など)、リソース名(例えば、VM名、アプリケーション名など)、プロファイル、プラットフォームまたはオペレーティングシステム(OS)の特性(例えば、ゲストおよび/またはホストOSを含むOSタイプまたは名前など)、関連付けられたネットワークまたはテナント、1つ以上のポリシー、タグなどの1つ以上の属性に従って一緒にグループ化されたエンドポイント(物理および/または論理もしくは仮想)を含む論理エンティティとすることができる。例えば、論理グループは、一緒にグループ化されたエンドポイントのコレクションを表すオブジェクトとすることができる。説明のために、論理グループ1はクライアントエンドポイントを含むことができ、論理グループ2はウェブサーバエンドポイントを含むことができ、論理グループ3はアプリケーションサーバエンドポイントを含むことができ、論理グループNはデータベースサーバエンドポイントを含むことができる。いくつかの例では、論理グループ218は、ACI環境内のEPGおよび/または別のSDN環境内の他の論理グループ(例えば、SG)である。
【0045】
エンドポイント222へのおよび/またはエンドポイント222からのトラフィックは、論理グループ218に基づいて、分類、処理、管理などすることができる。例えば、論理グループ218を使用して、エンドポイント222との間でトラフィックを分類すること、エンドポイント222との間でトラフィックにポリシーを適用すること、エンドポイント222間の関係を定義すること、エンドポイント222の役割(例えば、エンドポイントがサービスを消費するのか提供するのか)を定義すること、エンドポイント222との間でトラフィックにルールを適用すること、エンドポイント222との間でトラフィックにフィルタまたはアクセス制御リスト(ACL)を適用すること、エンドポイント222との間でトラフィックの通信パスを定義すること、エンドポイント222に関連付けられた要件を執行すること、エンドポイント222などに関連付けられたセキュリティおよび他の構成を実装することなどを行うことができる。
【0046】
ACI環境では、論理グループ218は、ACIにおいて契約を定義するために使用されるEPGとすることができる。契約は、EPG間で行われる通信の内容および方法を指定するルールを含むことができる。例えば、契約は、サービスを提供するもの、サービスを消費するもの、およびその消費関係に関連するポリシーオブジェクトを定義することができる。契約は、通信パスと、EPまたはEPG間の通信または関係のすべての関連要素とを定義するポリシーを含むことができる。例えば、ウェブEPGは、クライアントEPGが消費するサービスを提供することができ、その消費は、フィルタ(ACL)と、ファイアウォール検査サービスおよびサーバ負荷分散などの1つ以上のサービスを含むサービスグラフとの対象になる。
【0047】
図3は、例示的な仮想マシン(VM)展開310の概略図を示す。この例では、ホスト302は、1つ以上のVM316を含むことができる。VM316は、ホスト302上のハードウェアリソース312に基づいて、VNF のようなワークロードを実行するように構成することができる。VM316は、ハイパーバイザ318によって提供される仮想オペレーティングプラットフォーム上のゲストオペレーティングシステム314で実行できる。各VMは、ホスト302上の他のVMに関連付けられた他のゲストオペレーティングシステムと同じまたは異なることができるそれぞれのゲストオペレーティングシステムを実行することができる。さらに、各VMは、インターネットプロトコル(IP)アドレスなどの1つ以上のネットワークアドレスを持つことができる。VM316は、1つ以上のネットワークアドレスを使用して、ハイパーバイザ318および/または任意のリモートデバイスまたはネットワークと通信することができる。
【0048】
ハイパーバイザ318は、VM316を作成して実行するソフトウェア、ファームウェア、および/またはハードウェアの層であり得る。例えば、ハイパーバイザ318は、VM316をホストおよび管理するための仮想マシンマネージャ(VMM)であり得る。VM316上で動作するゲストオペレーティングシステムは、ハイパーバイザ318によって作成された仮想化されたハードウェアリソースを共有できる。仮想化されたハードウェアリソースは、個別のハードウェアコンポーネントのように見せることができる。さらに、仮想化されたハードウェアリソースは、物理ハードウェアコンポーネント(例えば、メモリ、ストレージ、プロセッサ、ネットワークインターフェースなど)として機能することができ、ホスト302上のハードウェアリソース312によって駆動することができる。ハイパーバイザ318は、他のデバイス、コンポーネント、またはネットワークと通信するために、インターネットプロトコル(IP)アドレスなどの1つ以上のネットワークアドレスを有することができる。例えば、ハイパーバイザ318は、VM316および/または任意のリモートデバイスまたはネットワークと通信するために使用できる専用IPアドレスを有することができる。
【0049】
ハードウェアリソース312は、ホスト302、ハイパーバイザ318、およびVM316によって提供される動作および機能を駆動する基礎となる物理ハードウェアを提供することができる。ハードウェアリソース312は、例えば、1つ以上のメモリリソース、1つ以上のストレージリソース、1つ以上の通信インターフェース、1つ以上のプロセッサ、1つ以上の回路基板、1つ以上の拡張カード、1つ以上の電源、1つ以上のアンテナ、1つ以上の周辺コンポーネントなどを含むことができる。
【0050】
ホスト302は、1つ以上のホストオペレーティングシステム(図示せず)も含むことができる。ホストオペレーティングシステムの数は、構成によって異なる。例えば、いくつかの構成は、ホスト302が複数のホストオペレーティングシステムのうちの1つにブートすることを可能にするデュアルブート構成を含むことができる。他の構成では、ホスト302は、単一のホストオペレーティングシステムを実行することができる。ホストオペレーティングシステムは、ハードウェアリソース312で実行できる。場合によっては、ハイパーバイザ318は、ホスト302上のホストオペレーティングシステム上で実行または利用することができる。
【0051】
ホスト302は、他のデバイス、コンポーネント、またはネットワークと通信するために、インターネットプロトコル(IP)アドレスなどの1つ以上のネットワークアドレスも有することができる。例えば、ホスト302は、VM316、ハイパーバイザ318、スイッチ、および/または任意のリモートデバイスまたはネットワークと通信するために使用できる、ハードウェアリソース312から通信インターフェースに割り当てられたIPアドレスを有することができる。
【0052】
いくつかの例では、ホスト302は、分散機能ルータを実行することができる。例えば、ホスト302上のVM316は、分散機能ルータの1つ以上の機能をホストし、実行することができる。場合によっては、ホスト302は、VM316を介して複数の分散機能ルータをホストすることもできる。例えば、VM1は第1の分散機能ルータをホストして実行でき、VM2は第2の分散機能ルータをホストして実行できる。第1および第2の分散機能ルータは、異なる機能のルータにすることも、負荷分散、フェイルオーバー、自動スケーリングなどのために構成できる同じ機能のルータのインスタンスにすることもできる。
【0053】
前述のように、ネットワーキングの分野で仮想化されたネットワーク環境の使用が増えると、特に攻撃者がより巧妙になるにつれて、セキュリティ上の懸念がさらに高まる。具体的には、仮想化されたネットワーク環境は、不正なVM、サービス拒否(DoS)攻撃、マルウェア攻撃、およびその他の該当する種類の悪意のあるデータトラフィックなど、様々なネットワークの脅威の影響を受けやすくなっている。仮想化されたネットワーク環境でVMおよびVMをサポートするハイパーバイザでこのような脅威を検出して分離するために、様々なツールが開発されている。しかし、そのようなツールには多くの欠点がある。具体的には、ハイパーバイザ層またはVM層で脅威対応が実行されるときには、ネットワークの脅威は、仮想化されたネットワーク環境のスイッチファブリックを既に通過している。その結果、多数のVMがネットワークの脅威にさらされる可能性があり、コンピューティングの観点から、脅威を分離して対応することがより困難になり、コストがかかる。さらに、例えば、脅威を分離して対応するために大量の計算リソースが使用された結果として、仮想化されたネットワーク環境での遅延の増加を引き起こす可能性がある。
【0054】
本技術は、これらの問題/不一致を解決するためのシステム、方法、およびコンピュータ可読媒体を含む。具体的には、本技術は、仮想化ネットワーク環境のスイッチファブリックを介して脅威対応を実行するためのシステム、方法、およびコンピュータ可読媒体を含んでいる。特に、本技術は、仮想化ネットワーク環境のスイッチファブリックでネットワーク脅威を識別し、脅威がスイッチファブリックを越えてネットワーク環境にさらに伝播する前に、1つ以上の対応策を実行するためのシステム、方法、およびコンピュータ可読媒体を含む。
【0055】
図4は、技術のいくつかの態様を実装できる例示的な無線通信ネットワーク400を示す。無線通信ネットワーク400は、エンタープライズ無線ネットワークを形成することができる。本明細書で説明するシステムおよび技法は、無線通信ネットワーク400および別のネットワークにわたるリンクの選択および集約を制御する際に利用することができる。
【0056】
無線通信ネットワーク400は、複数の受信機またはクライアントデバイス(例えば、STA1、STA2、およびSTA3)との無線通信のために構成されたアクセスポイント(AP)を含む。本技術の範囲から逸脱することなく、追加の(またはより少ない)STAおよび/またはAPをネットワーク400に実装できることが理解される。図4に示すSTAとAPは、WiFiネットワークを形成するように構成できる。本明細書で使用されるWiFiネットワークは、米国電気電子技術者協会(IEEE)802.11ファミリーの規格に従って形成され維持されるネットワークである。具体的には、APとSTAは、IEEE802.11ファミリーの規格に従って互いに無線通信し、WiFiネットワークを形成することができる。
【0057】
APは、分配システム(DS)への、または基本サービスセット(BSS)(図示せず)の内外にトラフィックを運ぶことができる別のタイプの有線/無線ネットワークへの、アクセスまたはインターフェースを有することができる。したがって、STAへのトラフィックは、BSSの外部から発生し、APを介して到着してSTAに配信される。逆に、STAからBSS外の宛先へのトラフィックをAPに送信して、それぞれの宛先に配信することができる。BSS内のSTA間のトラフィックは、APを介して送信できる。送信元STAがAPにトラフィックを送信し得、APが宛先STAにトラフィックを配信し得る。BSS内のSTA間のトラフィックは、ピアツーピア トラフィックである場合がある。
【0058】
APは、IEEE 802.11インフラストラクチャ動作モードを使用して、BSSの動作チャネルとして指定された、例えば20MHz幅の固定チャネルで送信できる。このチャネルは、APとの接続を確立するためにSTAによって使用されることもある。IEEE 802.11システムでのチャネルアクセスは、衝突回避方式搬送波検知多重アクセス(CSMA/CA)である場合がある。この動作モードでは、APを含むSTAがプライマリ チャネルを検知できる。チャネルがビジーであることが検出されると、STAはバックオフしてもよい。チャネルが空いていることが検出されると、STAはチャネルを取得してデータを送信してもよい。あるいは、APは、STA間の競合および衝突回避を制御するために、直交周波数分割多元接続(OFDMA)スケジューリングなどの直接スケジューリングの適用可能な形式を実装することができる。
【0059】
ネットワーク400は、本技術から逸脱することなく、異なるチャネルサイズ(帯域幅)を使用して様々な無線規格を実装できることが理解される。例として、IEEE 802.11η、高スループット(HT)STAが使用され、例えば、40MHz通信チャネルを実装してもよい。これは、例えば、プライマリ20MHzチャネルを隣接する20MHzチャネルと組み合わせて、40MHz幅の連続チャネルを形成することによって実現できる。IEEE 802.11a/cでは、20MHz、40MHz、80MHz、および/または160MHz幅のチャネルなど、超高スループット(VHT)STAもサポートできる。40MHzおよび80MHzチャネルは、例えば、隣接する20MHzチャネルを組み合わせることによって形成できる。160MHzチャネルは、例えば、8つの連続する20MHzチャネルを組み合わせることによって、または2つの非連続の80MHzチャネルを組み合わせることによって形成され得る(例えば、80+80構成と称される)。
【0060】
図5は、3Gネットワーク510、4Gネットワーク520、および5Gネットワーク530を含む例示的な電気通信ネットワーク500の概略ブロック図を示す。電気通信ネットワーク500は、エアインターフェース540などの無線ネットワークインターフェースまたは通信リンク、無線インフラストラクチャまたは無線タワーを表すアクセスネットワーク550、およびそれぞれのコアネットワークエンティティ、ネットワークモジュール、またはネットワーク機能(NF)を表すコアネットワーク560を含む。無線ネットワークインターフェースまたはエアインターフェース540は、3Gネットワーク510用のUuリンク、4Gネットワーク520用のLTE-Uuリンク、および5Gネットワーク530用の5G-NRリンクを含む。さらに、他のネットワークインターフェース(例えば、Nx、Sx、Lu-x、Gxなど)は、一般に、特定のノード(例えば、UEおよび/またはコアネットワークエンティティ)を他のノード(例えば、他のUEおよび/またはコアネットワークエンティティ)と、例えば、距離、信号強度、ネットワークトポロジ、現在の稼働状態、場所などに基づいて相互接続する。当業者には理解されるように、ネットワークインターフェースは、必要に応じて既知の有線プロトコルなどの事前定義されたネットワークプロトコルを使用してノード間でデータパケット(例えば、トラフィックおよび/またはメッセージ)を交換するための媒体である。このコンテキストでは、プロトコルは、ノードが相互に対話する方法を定義する一連のルールで構成される。
【0061】
当業者は、任意の数のノード、デバイス、通信リンクなどを使用することができること、および本明細書に示される図が単純化のためであることを理解するであろう。特に、それぞれの相互接続されたネットワークエンティティを含む電気通信ネットワーク500の表現は、限定ではなく議論の目的で本明細書に示され、説明されている。説明されているネットワークは、任意の数のネットワークエンティティ、通信リンクなどを含む(または含まない)ことができ、ネットワーク間の操作性と互換性をサポートできることが理解される。
【0062】
アクセスネットワーク550は、エンドユーザノード(UE)間ならびに様々なネットワークエンティティ(例えば、コアネットワークエンティティ)間でデータパケットを送受信するためのインフラストラクチャまたは無線タワー、例えば無線アクセスネットワーク(RAN)を表す。アクセスネットワーク550は、3Gネットワーク510用のNodeB(NB)、4Gネットワーク520用のeNodeB(eNB)、および5Gネットワーク530用のgNodeB(gNB)を含む。各ネットワークのインフラストラクチャは異なる機能をサポートすることができ、1つのネットワーク内に示されるインフラストラクチャは、他の通信ネットワークの機能をサポートする適切なハードウェア/ソフトウェアを含むことができることが理解される。
【0063】
(電気通信ネットワーク500内の)コアネットワーク560を形成するそれぞれのネットワークエンティティは、それぞれのRANインフラストラクチャ(NB、eNB、gNB)を、音声ネットワーク505(例えば、公衆交換電話網(PSTN)ネットワーク)および/またはデータネットワーク508などのサードパーティネットワークに動作可能に接続し、エンドツーエンドの接続を作成する。3Gより前(例えば、2G、2.5Gなど)は、サードパーティネットワークは主に音声ネットワーク/PSTN505(例えば回線交換ネットワーク)を含んでいた。3G以降、サードパーティネットワークは、データネットワーク508(例えば、パケット交換ネットワーク)によって表される公衆ネットワーク(例えば、インターネット)を含むように移行した。コアネットワーク560およびそのそれぞれのネットワークエンティティは、それぞれのUEの接続、帯域幅、およびモビリティを管理するために集合的に動作する。
【0064】
特に、コアネットワーク560は、サービス管理、セッション管理、およびモビリティ管理を含む3つの機能面に沿って進化した。2Gおよび3Gネットワークのサービス管理には、無線リンク(例えば、Uuリンク)を介して統合サービスデジタルネットワーク(ISDN)を作成する操作が含まれる。3Gおよび4Gネットワークのセッション管理には、通常、ネットワークリソース(例えば、データ接続)の確立、維持、および解放の操作が含まれる。特に、3Gネットワーク510では、セッション管理にはスタンドアロンの汎用パケット無線サービス(GPRS)ネットワークが含まれるが、4Gネットワーク520では、モバイルブロードバンド用に最適化された完全に統合されたデータのみのネットワークが導入された(ここでは、基本的な電話操作が1つのプロファイルとしてサポートされる)。モビリティ管理には、一般に、システム登録、位置追跡、およびハンドオーバーなど、モバイルネットワークでのUEの移動をサポートする操作が含まれる(例えば、多くの場合、最適化されて重い信号負荷が軽減される)。例えば、4Gネットワーク520のコンテキストでは、サービングゲートウェイ(SGW)とパケットデータゲートウェイ(PGW)はセッション管理操作をサポートし、モビリティ管理操作(モバイルUEのデータセッションを維持する)はモビリティ管理エンティティ(MME)内に集中される。
【0065】
5Gネットワーク530は、新しいサービスベースアーキテクチャ(SBA)532を導入し、これは一般に、4Gネットワークエンティティの機能をより小さなサービスベースの機能/ネットワークエンティティに再分配する。さらに、パケットルーティングおよび転送機能(4Gネットワーク520内のSGWおよびPGWによって実行される)は、ユーザプレーン機能(UPF)と呼ばれる新しいネットワーク機能/エンティティを通じて提供されるサービスとして実現される。このように、5Gネットワーク530は、リソースの動的かつスケーラブルな展開をサポートして多様なユーザの要求を満たすサービスのモジュール式セットを提供する。
【0066】
前述のように、現在のモバイルデバイスは通常、異なる無線ネットワークへの少なくとも2つの無線インターフェースをサポートしている。例えば、現在のモバイルデバイスは通常、LTEネットワークなどのセルラーネットワークへの無線インターフェースと、WiFiネットワークなどのエンタープライズ無線ネットワークへの無線インターフェースを備えている。モバイルデバイスは、対応するネットワークインターフェースを使用して、セルラーネットワークとエンタープライズ無線ネットワークのいずれかまたは両方を介してネットワークサービスにアクセスできる。ただし、複数のネットワークを介してネットワークサービスにアクセスする機能を提供すると、ネットワーク全体のリンクの選択と集約に関して問題が生じる可能性がある。
【0067】
具体的には、以前に説明したように、セルラーネットワークとエンタープライズ無線ネットワークは通常、別々のエンティティによって維持されるため、ネットワーク全体のリンクの選択と集約に関する問題が発生する可能性がある。特に、異なる無線ネットワークのオペレータは、ネットワーク全体でリンクの選択と集約を実行するための競合する技法を実装できる。例えば、携帯電話事業者は、リンクの選択と集約を制御するために3GPPのHetNetアプローチを展開しようとした。HetNetアプローチでは、エンタープライズ無線ネットワークリンクの選択と集約は、ANDSFを介して携帯電話事業者によって制御される。ただし、このポリシーは、エンタープライズ無線ネットワーク/WiFiオペレータのポリシーと一致しない。エンタープライズ無線ネットワーク/WiFiオペレータは、セキュリティが強化されているため、エンタープライズネットワークを介して無線ネットワークサービスアクセスを提供することを好む傾向がある。具体的には、HetNetアプローチでは、WiFiネットワークとセルラーネットワークの両方を同等に実行可能であると見なす。例えば、最終的にネットワークを選択するために無線レベルのKPIを使用する。これは、最適なネットワークとしてWiFiを好む可能性があるWiFiオペレータのポリシーとは対照的である。エンタープライズネットワーク側では、モバイルデバイスがセルラーネットワークアクセス用のセルラーモデムの可用性をアドバタイズする方法として、MBOが提案されている。ただし、MBOはセルラーネットワークとWiFiネットワークの両方でのリンク選択プロセスには対応していない。例えば、ネットワーク間の優先順位は想定されていない。
【0068】
さらに、前述のように、複数の無線ネットワークに個別のインターフェースを提供すると、モバイルデバイスでの電力需要と、ネットワーク全体のモバイルデバイスによるリソース使用量、例えば通信時間使用量、の両方が増加する可能性がある。具体的には、HetNet、MBO、およびその他のほとんどのアービトレーションおよび負荷分散技術では、両方のインターフェースが動作状態にある必要があるため、大量の電力と通信時間が消費される。特に、HetNetでは、WiFiネットワークとセルラーネットワーク制御機能の両方、および対応するネットワークインターフェースをアクティブにして、アクティブなインターフェースを切り替えるか、両方のインターフェースを使用してネットワークサービスにアクセスするために、アクセス品質を推定する必要がある。しかし、これにより、モバイルデバイスでの電力消費と、モバイルデバイスによる通信時間などのリソースの使用量が増加する。
【0069】
本技術は、これらの問題/不一致を解決するためのシステム、方法、およびコンピュータ可読媒体を含む。具体的には、本技術は、モバイルデバイスの位置に基づいて複数の無線ネットワークにわたるリンク選択および集約を制御するためのシステム、方法、およびコンピュータ可読媒体を含む。さらに、本技術は、モバイルデバイスの位置に基づいて複数の無線ネットワークにわたるリンク選択および集約を制御するために、モバイルデバイス上のネットワークインターフェースを選択的にトグルするためのシステム、方法、およびコンピュータ可読媒体を含む。
【0070】
図6Aは、一実施形態によるネットワーク機能仮想化インフラストラクチャソフトウェア/ハイパーバイザ(NFVIS)600のトポロジの例を示す。NFVISシステム600は、ルータ602、仮想ネットワーク機能(VNF)604、ファイアウォール606、セルラーアプリケーション(「CWANアプリ」)608、モデム610、セルラードライバ612、および仮想L2ブリッジ614を含むことができる。
【0071】
NFVIS600上で動作するCWANアプリ608は、モデム610を使用して呼び出しを開始することにより、IPアドレスを要求できる。モデム610は、LTE/5Gネットワークとのパケットデータネットワーク(PDN)接続を確立し、サブネットマスクおよびゲートウェイとともに、ネットワークによって割り当てられたIPアドレスでCWANアプリ608に応答することができる。次いで、IPアドレスは、ハイパーバイザ600(例えば、NFVIS)に存在するブリッジインターフェース614に割り当てることができる。NFVIS600は、セルラーリンクのIPアドレスが変更されたときに自動検出し、L2ブリッジ614をセルラーモデム610から取得した別のIPアドレスで更新して、ネットワーク接続用のルートを追加することができる。セルラーリンクには、IPアドレスを動的に変更するフラッピング接続が含まれる場合がある。L2ブリッジ614を異なるIPアドレスで更新することにより、NFVIS600およびL2ブリッジ614は、セルラーネットワークとの接続を維持し続けることができる。
【0072】
セルラーインターフェースを介したアップリンクパケットの処理:
【0073】
IPスタックでアップリンクパケットを処理する操作の例には、ネットワークインターフェースを介したデータの転送が含まれる。IPスタックはLinuxネットワークスタックにすることができ、ネットワークインターフェースに接続されているゲートウェイのメディアアクセス制御(MAC)アドレスに対するアドレス解決プロトコル(ARP)要求を送信できる。ARP要求がMACアドレスで解決されると、ネットワークインターフェースを介してデータを転送できる。
【0074】
ただし、セルラーインターフェースにはL2がない。これは、エア通信リンクを介したポイントツー ポイントであるためである。そのため、セルラーインターフェースをイーサネットL2ネットワークと統合するには、ARP要求に対処する必要がある。一実施形態では、ゲートウェイに対するARP要求は、セルラードライバ612によって傍受され、ダミー/代替MACアドレス(例えば、gateway_mac)で応答され得る。
【0075】
さらに、セルラードライバ612は、仮想L2ブリッジ614のMACアドレス(例えば、MACアドレスFとして示されるブリッジmac)をARP要求から知ることができる。次いで、gateway_macに対応するデータパケットのヘッダは、セルラードライバ612によって廃棄することができる。次いで、セルラードライバ612は、bridge_macを有するセルラーネットワークにデータパケットを転送することができる。
【0076】
セルラーインターフェースを介したダウンリンクパケットの処理:
【0077】
データパケットがセルラーインターフェースから受信されると、セルラードライバは、送信元MACアドレスとしてブリッジmacや gateway_macなどの宛先MACアドレスを持つL2ヘッダをデータパケットに追加できる。
【0078】
一例では、IPアドレスは、セルラーインターフェースを介してサービスプロバイダによって割り当てられ、ハイパーバイザ600と、ハイパーバイザ600上で動作する仮想マシン(VM)602、604、606との間で共有され得る。一実施形態は、以下を含むことができる。
【0079】
a)NFVIS600は、仮想L2ブリッジ614を作成し、セルラーインターフェースを有する仮想L2ブリッジ614にセルラーインターフェースIPアドレスを割り当てることができる。
【0080】
b)NFVIS600は、セルラーリンクIPアドレスが変化するかどうかを自動検出でき、取得したIPアドレスで仮想L2ブリッジ614を更新し、それに応じてネットワーク接続のためのルートを追加できる。
【0081】
c)仮想L2ブリッジ614は、セルラーL2ブリッジ614に接続されたVM602、604、606を取り扱うことができるNAT/フローテーブルを実装することができるOpen vSwitch(OVS)ブリッジとすることができる。例えば、OVSブリッジは、図6Aおよび6Bに示すように、OVSブリッジにNAT機能を実装できるOpen FlowおよびConnection Trackerモジュールを利用することができる。図6Bに示すように、OVSブリッジフローはコマンドを利用してNATフローテーブルを生成することができる。コマンドの例には、ovs-ofctl add-flow cellular-br “in_port=1, ip, action=ct(commit, nat(src=IP-Global))”が含まれる。図6Bは、一実施形態によるネットワーク機能仮想化インフラストラクチャソフトウェアのトポロジの例をさらに示す。図6Bのパス(1)~(8)は、IP-1を有するルータ-VM602、604、606とモデム610との間のデータパケットのフローの例を示す。セルラーIPのNATをNFVIS600で利用して、OVS Open FlowまたはConnection Trackerを提供できる。
【0082】
VM602、604、606のMACアドレス(例えば、MACアドレスA、MACアドレスB、MACアドレスC)は、図6Aに示すように、セルラーL2ブリッジ614のMACアドレスFにマッピングすることができる。ダウンリンクでは、仮想L2ブリッジ614のIPテーブル/フローテーブルに基づいて、データパケットを適切な送信元MACアドレスに変更できる。このプロセスにより、単一のセルラーインターフェースIPアドレスをVM602、604、606およびハイパーバイザ600で共有できるようになる。
【0083】
図7は、本開示技術のいくつかの態様による、NFVISワークフローのフローチャートである。図7に示す方法は、この方法を実行するには様々な方法があるので、図7は一例として提供されている。さらに、例示的な方法は、特定の順序のステップで示されているが、当業者は、図7およびそこに示されるモジュールは、任意の順序で実行することができ、図示よりも少ないまたは多いモジュールを含むことができることを理解するであろう。図7に示す各モジュールは、方法における1つ以上のステップ、プロセス、方法、またはルーチンを表す。
【0084】
ステップ702で、NFVIS上で動作するCWANアプリケーションは、モデムで呼び出しを開始することによってIPアドレスを要求することができる。
【0085】
ステップ704で、モデムは、LTE/5Gネットワークとのデータパケットネットワーク接続を確立し、サブネットマスクおよびゲートウェイとともに、ネットワークによって割り当てられたIPアドレスでCWANアプリケーションに応答することができる。
【0086】
ステップ706で、ハイパーバイザ(例えば、NFVIS)に存在する仮想ブリッジインターフェースにIPアドレスを割り当てることができる。
【0087】
ステップ708で、Open vSwitchブリッジは、セルラーL2ブリッジに接続された仮想マシンを処理できるNAT/フローテーブルを実装できる。仮想マシンのMACアドレス(例えば、MACアドレスA、MACアドレスB、MACアドレスC)は、セルラーL2ブリッジのMACアドレスFにマッピングできる。データパケットは、仮想L2ブリッジのIPテーブル/フローテーブルに基づいて、適切な送信元MACアドレスに変更できる。
【0088】
ステップ710で、NFVISは、セルラーリンクIPアドレスが変化したときを自動検出し、仮想L2ブリッジをセルラーモデムから取得した別のIPアドレスで更新し、それによってネットワーク接続のためのルートを追加することができる。
【0089】
ステップ712で、セルラーリンクは、IPアドレスを動的に変更するフラッピング接続を有することができる。仮想L2ブリッジを異なるIPアドレスで更新することにより、NFVISとL2ブリッジはセルラーネットワークとの接続を維持できる。
【0090】
図8は、ネットワークデバイス800(例えば、スイッチ、ルータ、ネットワークアプライアンスなど)の例を示している。ネットワークデバイス800は、マスター中央処理ユニット(CPU)802、インターフェース804、およびバス806(例えば、PCIバス)を含み得る。適切なソフトウェアまたはファームウェアの制御下で動作するときに、CPU802は、パケット管理、エラー検出、および/またはルーティング機能を実行する役割を担うことができる。CPU802は、好ましくは、オペレーティングシステムおよび任意の適切なアプリケーションソフトウェアを含むソフトウェアの制御下でこれらすべての機能を達成する。CPU802は、MotorolaのマイクロプロセッサファミリーまたはMIPSマイクロプロセッサファミリーからのプロセッサなどの1つ以上のプロセッサ808を含み得る。代替的な実施形態では、プロセッサ808は、ネットワークデバイス800の操作を制御するために特別に設計されたハードウェアであり得る。一実施形態では、メモリ810(不揮発性RAMおよび/またはROMなど)もまた、CPU802の一部を形成し得る。ただし、メモリをシステムに結合することができる多くの異なる方式がある。
【0091】
インターフェース804は、インターフェースカード(ラインカードと称されることもある)として提供され得る。インターフェース804は、ネットワークを通じたデータパケットの送受信を制御することができ、ネットワークデバイス800で使用される他の周辺機器をサポートする場合がある。提供され得るインターフェースの中には、イーサネットインターフェース、フレームリレーインターフェース、ケーブルインターフェース、DSLインターフェース、トークンリングインターフェースなどがある。加えて、高速トークンリングインターフェース、無線インターフェース、イーサネットインターフェース、ギガビットイーサネットインターフェース、非同期転送モード(ATM)インターフェース、高速シリアルインターフェース(HSSI)、パケットオーバーSONET(POS)インターフェース、ファイバー分散データインターフェース(FDDI)など、様々な非常に高速なインターフェースが提供され得る。インターフェース804は、適切な媒体との通信に適したポートを含み得る。場合によっては、インターフェース804は、独立したプロセッサと、一部の例では、揮発性RAMも含み得る。独立したプロセッサは、パケット交換、媒体制御、管理などの通信集約型タスクを制御し得る。通信集約型タスクに別個のプロセッサを提供することにより、インターフェース804は、CPU802がルーティング計算、ネットワーク診断、セキュリティ機能などを効率的に実行できるようにすることができる。
【0092】
図8に示されるシステムは、一実施形態のネットワークデバイスの一例であるが、本技術を実装できる唯一のネットワークデバイスアーキテクチャではない。例えば、通信ならびにルーティング計算および他のネットワーク機能を処理することができる単一のプロセッサを有するアーキテクチャを使用することもできる。さらに、他のタイプのインターフェースおよび媒体もまた、ネットワークデバイス800とともに使用され得る。
【0093】
ネットワークデバイスの構成に関係なく、本明細書で説明するローミング、ルート最適化、およびルーティング機能のための汎用ネットワーク操作およびメカニズムのためのプログラム命令を格納するように構成された1つ以上のメモリまたはメモリモジュール(メモリ810を含む)を使用し得る。プログラム命令は、例えば、オペレーティングシステムおよび/または1つ以上のアプリケーションの操作を制御し得る。1つのメモリまたは複数のメモリはまた、モビリティバインディング、登録、および関連付けテーブルなどのテーブルを記憶するように構成され得る。
【0094】
図9は、システムのコンポーネントが、バス905を使用して互いに電気的に通信している、バスコンピューティングシステム900の例を示す。コンピューティングシステム900は、処理部(CPUまたはプロセッサ)910、およびプロセッサ910に、読み出し専用メモリ(ROM)920およびランダムアクセスメモリ(RAM)925などのシステムメモリ915を含む様々なシステムコンポーネントを結合し得るシステムバス905を含むことができる。コンピューティングシステム900は、プロセッサ910に直接接続されているか、近接しているか、またはそれの一部分として統合されている、高速メモリのキャッシュ912を含むことができる。コンピューティングシステム900は、プロセッサ910による速いアクセスのために、メモリ915、ROM920、RAM925、および/またはストレージデバイス930からキャッシュ912にデータをコピーすることができる。このようにして、キャッシュ912は、データを待機している間のプロセッサの遅延を回避するという性能向上を提供することができる。これらおよび他のモジュールは、プロセッサ910を制御して、様々な動作を実行することができる。他のシステムメモリ915も同様に利用可能であり得る。メモリ915は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ910は、任意の汎用プロセッサと、プロセッサ910を制御するように構成されたストレージデバイス930に格納されたモジュール1 932、モジュール2 934、およびモジュール3 936などのハードウェアモジュールまたはソフトウェアモジュール、ならびに、ソフトウェア命令が実際のプロセッサ設計に組み込まれている専用プロセッサを含むことができる。プロセッサ910は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称または非対称であり得る。
【0095】
コンピューティングシステム900とのユーザインタラクションを可能にするために、入力デバイス945は、音声用マイク、ジェスチャまたはグラフィック入力用のタッチスクリーン、キーボード、マウス、モーション入力、音声などの任意の数の入力メカニズムを表すことができる。出力デバイス935はまた、当業者に既知の一部の出力メカニズムのうちの1つ以上であり得る。場合によっては、マルチモーダルシステムは、ユーザがコンピューティングデバイス900と通信するために複数のタイプの入力を提供することを可能にし得る。通信インターフェース940は、ユーザ入力およびシステム出力を統御および管理することができる。特定のハードウェア構成での動作に制限はない場合があるため、ここでの基本機能は、開発された改良されたハードウェアまたはファームウェア構成に簡単に置き換えることができる。
【0096】
ストレージデバイス930は、不揮発性メモリとすることができ、ハードディスク、または磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ、読み取り専用メモリ、およびそれらのハイブリッドなどの、コンピュータによってアクセス可能であるデータを格納することができる他のタイプのコンピュータ可読媒体とすることができる。
【0097】
上述のように、ストレージデバイス930は、プロセッサ910を制御するためのソフトウェアモジュール932、934、936を含むことができる。他のハードウェアまたはソフトウェアモジュールが企図される。ストレージデバイス930は、システムバス905に接続することができる。いくつかの実施形態では、特定の機能を実行するハードウェアモジュールは、その機能を実行するための、プロセッサ910、バス905、出力デバイス935などの必要なハードウェアコンポーネントに関連してコンピュータ可読媒体に記憶されたソフトウェアコンポーネントを含むことができる。説明を明確にするために、場合によっては、本技術は、ソフトウェアで具体化される方法におけるデバイス、デバイスコンポーネント、ステップもしくはルーチン、またはハードウェアとソフトウェアの組み合わせを備える機能ブロックを含む個々の機能ブロックを含むものとして提示され得る。
【0098】
要約すると、モデムで呼び出しを開始してセルラーIPアドレスを要求することと、セルラーIPアドレスとのデータパケットネットワーク接続を確立することと、セルラーIPアドレスを、MACアドレスを含む仮想L2ブリッジインターフェースに割り当てることと、仮想L2ブリッジインターフェースのMACアドレスに仮想マシンのMACアドレスをマッピングすることと、セルラーIPアドレスの変更を検出することと、データパケットネットワーク接続を維持しながら、仮想L2ブリッジインターフェースを別のセルラーIPアドレスで更新すること、のためのシステム、方法、およびコンピュータ可読媒体について説明する。
【0099】
説明を明確にするために、場合によっては、本技術は、ソフトウェアで具体化される方法におけるデバイス、デバイスコンポーネント、ステップもしくはルーチン、またはハードウェアとソフトウェアの組み合わせを備える機能ブロックを含む個々の機能ブロックを含むものとして提示され得る。
【0100】
いくつかの実施形態では、コンピュータ可読ストレージデバイス、媒体、およびメモリは、ビットストリームなどを含むケーブルまたは無線信号を含むことができる。しかしながら、言及される場合、非一時的コンピュータ可読記憶媒体は、エネルギ、搬送波信号、電磁波、および信号自体などの媒体を明示的に除外する。
【0101】
上述した例にかかる方法は、コンピュータ可読媒体に格納されているか、または別様にそれから利用可能であるコンピュータ実行可能命令を使用して実装されることができる。そのような命令は、例えば、汎用コンピュータ、専用コンピュータ、もしくは専用処理デバイスに特定の機能または機能のグループを実行させるかまたは別様に構成する命令およびデータを含むことができる。使用されるコンピュータリソースの部分は、ネットワーク経由でアクセス可能とすることができる。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語、ファームウェア、またはソースコードなどの中間フォーマット命令とすることができる。命令、使用される情報、および/または説明された例による方法中に作成された情報を格納するために使用され得るコンピュータ可読媒体の例には、磁気ディスクまたは光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワークストレージデバイスなどが含まれる。
【0102】
これらの開示による方法を実装するデバイスは、ハードウェア、ファームウェア、および/またはソフトウェアを含むことができ、様々なフォームファクタのいずれかを取ることができる。このようなフォームファクタの典型的な例には、ラップトップ、スマートフォン、スモールフォームファクタのパーソナルコンピュータ、携帯情報端末、ラックマウントデバイス、スタンドアロンデバイスなどが挙げられる。本明細書に記載される機能はまた、周辺機器またはアドインカードで具体化することができる。そのような機能はまた、さらなる例として、単一のデバイスで実行される異なるチップまたは異なるプロセスの間の回路基板上に実装されることもできる。
【0103】
命令、そのような命令を伝達するための媒体、それらを実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースをサポートするための他の構造は、これらの開示に記載された機能を提供するための手段である。
【0104】
添付の特許請求の範囲の範疇の態様を説明するために、様々な例および他の情報が使用されたが、当業者であれば、多種多様な実装形態を導出するために、これらの例を使用することができるように、そのような例における特定の特徴または構成に基づいて、特許請求の範囲のいかなる制限も示唆されるべきではない。さらに、一部の主題は、構造的特徴および/または方法ステップの例に対して固有の言語で記載されている場合があるが、添付の特許請求の範囲で定義される主題は、必ずしもこれらの記載された特徴または行為に限定されないことを理解されたい。例えば、そのような機能は、本明細書で識別されているコンポーネント以外のコンポーネントで、異なって分散され、または実行することができる。むしろ、記載された特徴およびステップは、添付の特許請求の範囲内のシステムおよび方法のコンポーネントの例として開示される。
【0105】
「少なくとも1つ」のセットと記載される特許請求項の文言は、セットの1つのメンバーまたはセットの複数のメンバーが特許請求項を満たしていることを示す。例えば、「AおよびBのうちの少なくとも1つ」と記載される特許請求項の文言は、A、B、またはAおよびBを意味する。
図1A
図1B
図2A
図2B
図3
図4
図5
図6A
図6B
図7
図8
図9