JP5859519B2 - データパケットの配信管理方法 - Google Patents

データパケットの配信管理方法 Download PDF

Info

Publication number
JP5859519B2
JP5859519B2 JP2013511177A JP2013511177A JP5859519B2 JP 5859519 B2 JP5859519 B2 JP 5859519B2 JP 2013511177 A JP2013511177 A JP 2013511177A JP 2013511177 A JP2013511177 A JP 2013511177A JP 5859519 B2 JP5859519 B2 JP 5859519B2
Authority
JP
Japan
Prior art keywords
switch
network adapter
network
destination
net
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013511177A
Other languages
English (en)
Other versions
JP2013527532A (ja
JP2013527532A5 (ja
Inventor
アルハティーブ ハッサン
アルハティーブ ハッサン
キム チャンフン
キム チャンフン
アウスレッド ジェフ
アウスレッド ジェフ
バンサル ディーパック
バンサル ディーパック
グリーンバーグ アルバート
グリーンバーグ アルバート
モルツ デーブ
モルツ デーブ
パテル パーヴィーン
パテル パーヴィーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013527532A publication Critical patent/JP2013527532A/ja
Publication of JP2013527532A5 publication Critical patent/JP2013527532A5/ja
Application granted granted Critical
Publication of JP5859519B2 publication Critical patent/JP5859519B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、仮想ネットワークに関する。
大規模ネットワークシステムは、サービスアプリケーションを実行し、ビジネスおよび操作機能のためのデータを維持するための、様々な設定において用いられた通常のプラットフォームである。例として、データセンタ(例えば、物理的クラウドコンピューティングインフラストラクチャ)は、同時に複数の顧客のための様々なサービス(例えば、ウェブアプリケーション、電子メールサービス、検索エンジンサービスなど)を提供することができる。これらの大規模ネットワークシステムは典型的には、データセンタの全体に渡って分散された多数のリソースを含み、各リソースは、物理マシン、または、物理ホスト上で実行する仮想マシンのようである。データセンタが複数のテナント(例えば、顧客プログラム)をホストするとき、これらのリソースは、データセンタから異なるテナントへ、それらの使用要件を満たすために割り振られる。
データセンタの顧客は、データセンタ内のリソース上で実行されているソフトウェアと対話するために、エンタープライズプライベートネットワーク(例えば、データセンタから地理的に遠隔である顧客によって管理されたサーバ)内で実行するサービスアプリケーションを必要とすることが多い。あるテナントに割り振られたリソースを、他のテナントに割り振られたリソースから安全に分離するため、ホスティングサービスプロバイダは、専用物理ネットワークをデータセンタから切り出し、専用物理ネットワークがそのテナント専用に、かつ、多くの場合、そのテナントのエンタープライズプライベートネットワークの拡張として、セットアップされるようにすることができる。しかし、データセンタは、特定の顧客に割り振られるリソースの数を(例えば、処理負荷に基づいて)動的に増加または減少させるように構築されるので、専用物理ネットワークを切り出し、その中のリソースを個人の顧客に静的に割り当てることは、経済的に実用的ではない。
さらに、専用物理ネットワークをデータセンタから切り出し、その中のリソースをエンタープライズプライベートネットワークに位置するリソースと組み合わせるとき、異なる顧客によって使用されたインターネットプロトコル(IP)アドレス空間内で重複の可能性がある。また、多数のリソースを要求するかなりの計算負荷が、専用物理ネットワークに課されるとき、データセンタのために予約されたIPアドレスの枯渇の可能性がある。したがって、新たに出現する技術を用いて、顧客の需要を満たすために動的にサイズが変更され、かつ、ソフトウェアベースの仮想マシン(VM)スイッチを介して相互接続される、分離されたリソースのグループ(例えば、仮想ネットワーク(Vネット))を生成することは、IPアドレス名前空間制限を回避し、データセンタ内で顧客に割り振られたリソースのスケーラビリティを高め、また、顧客のネットワーク通信を分離して顧客間の望ましくない通信を防ぐ役目を果たすであろう。
この概要は、詳細な説明でさらに後述される概念を、簡略化された形式で導入するために提供される。この概要は、特許請求の範囲に記載された主題の重要な特徴または本質的な特徴を識別するように意図されず、また、特許請求の範囲に記載された主題の範囲の決定を助けるものとして使用されるようにも意図されない。
本発明の実施形態は、クラウドコンピューティングプラットフォーム内で実行する顧客のサービスアプリケーションの整合性を保護する問題に対処する、到達可能性−分離機構(reachability-isolation mechanism)を提供し、クラウドコンピューティングプラットフォームは、複数の(例えば、1つのクラウドにつき何万もの)テナントがクラウドサービスデータセンタ内のコンピューティングリソースを共有できるように構成される。一般に、到達可能性−分離機構は、サービスアプリケーションに割り振られたネットワークアダプタをデータセンタ内の他のリソースから仮想的にパーティション分割しながら、割り振られたネットワークアダプタ間でセキュリティ保護された通信をサポートする。複数の実施形態では、仮想マシンまたは物理マシンは、そのマシン上で実行する1つまたは複数のネットワークアダプタを有する。セキュリティ保護された通信を達成するため、複数の実施形態では、到達可能性−分離機構は、そのネットワーク内のデータパケットのフローを管理するように機能し、かつ同時に、承認されていない通信を防ぐ、仮想ネットワーク(Vネット)を用いる。
例示的実施形態では、Vネットは、メンバとして、ファブリックコントローラによってVネットに結合かつバインドされるネットワークアダプタのグループを含む、クラウドコンピューティングプラットフォームのデータセンタ内で確立される。Vネットを構成するネットワークアダプタは、物理および仮想ネットワークアダプタの任意の組み合わせを含んでもよい。典型的には、ファブリックコントローラは、データセンタ内のマシン(例えば、仮想マシンおよび物理マシン)のライフサイクルを監視かつ制御するように実装された管理コンポーネントである。Vネットを確立すると、ファブリックコントローラは、Vネットのメンバシップをディレクトリサーバへ通信し、ディレクトリサーバは、メンバネットワークアダプタの識別子を、VネットとVネットによってサポートされたサービスアプリケーションとに共に関連付けられた転送テーブルに書き込む。
ファブリックコントローラはまた、データセンタのノード内でVMスイッチをインスタンス化することを担うこともでき、ノードには、サーバ、物理マシンまたはネットワークスイッチが含まれてもよい。例として、ファブリックコントローラは、Vネットのメンバをホストする1つまたは複数のデータセンタの各サーバ上の単一のVMスイッチをインスタンス化してもよい。ファブリックコントローラは、一意のロケータをVMスイッチの各々にさらに割り当て、転送テーブル内の記録のために、ディレクトリサーバにVMスイッチの存在をアラートしてもよい。
複数の実施形態では、VMスイッチは、ブリッジとしての機能を果たして、データセンタ内のノード上に存在する、Vネットのこれらのメンバネットワークアダプタを、データセンタの全体に渡って、他のデータセンタ内に、または、顧客自身の構内に位置するエンタープライズプライベートネットワーク(複数可)内に分散されたノード上に存在する他のメンバネットワークアダプタと相互接続する。VMスイッチは、他の機構の中でも、コードまたはハードウェアによって実現されてもよい。VMスイッチは、サーバ、物理マシン、ネットワークインターフェイスカード、ネットワークスイッチ、ネットワークルータ、ネットワーク要素上で実現されてもよく、または、VMスイッチの機能性は、これらの任意の組み合わせの中で分割されてもよい。VMスイッチは、ディレクトリサーバと対話することによってこれらの接続を作成し、ディレクトリサーバは、Vネットのメンバネットワークアダプタによって生成されたデータパケットをどこへ、どのように送信するべきかを、VMスイッチに指示する。動作中、VMスイッチは、データパケットの修正および/またはカプセル化、ならびに送信を行い、データパケットのヘッダが変更されて、データパケットを受信するVMスイッチのアドレスを含めるようにする。この修正および/またはカプセル化の処理は、送信側VMスイッチ(例えば、ソース側VMスイッチ)と受信側VMスイッチ(例えば、宛先側VMスイッチ)の間のセキュアトンネルを形成することができる。セキュアトンネルは、ネットワークを介して、ならびに、潜在的には、複数のデータセンタに渡って、かつ、複数のエンタープライズプライベートネットワークに渡って接続するとき、ファイアウォールおよび他の保護手段を介して、データパケットの安全かつ直接の通過を保証する。
宛先側VMスイッチで受信されると、データパケットが復元かつ/またはカプセル化解除され、元のヘッダが明らかにされる。データパケットは次いで、同じノード内で、ヘッダによって示されるようなVネットのメンバネットワークアダプタに配布される。実施形態は、ターゲット識別子、MACアドレス、IPアドレス、または、ヘッダ内で搬送された情報をネットワークアダプタのリストにマップするテーブルなどの手段を通じて、どのネットワークアダプタがパケットを受信するべきであるかを決定してもよい。一実施形態では、メンバネットワークアダプタのターゲット識別子は、データパケットをノード内でローカルに渡すときに利用されるが、宛先側VMスイッチのロケータは、データパケットを、ネットワークを介して渡すときに利用される。ネットワーク内で接続されたネットワークアダプタに割り当てられうるIPアドレスの数およびタイプに対する、ネットワーク全体の制限が外されると有利である。このように、到達可能性−分離機構は、そのネットワークのために予約された、限定された数のIPアドレスによって制限されることなく、ネットワーク内のネットワークアダプタのスケーラビリティを促進する。
本発明の実施形態については、添付の図面を参照して詳細に後述する。
本発明の実施形態の実装において使用するために適した、例示的コンピューティング環境のブロック図である。 本発明の実施形態の実装において使用するために適した、データセンタ内で仮想ネットワーク(Vネット)を割り振りかつ監督するように構成される、例示的クラウドコンピューティングプラットフォームを例示するブロック図である。 本発明の一実施形態による、カプセル化されていない(unencapsulated)か、またはカプセル化解除される、データフレームの例示的構造の概略描写である。 本発明の一実施形態による、ソース側仮想マシン(VM)スイッチによってカプセル化されるデータフレームの例示的構造の概略描写である。 本発明の一実施形態による、ディレクトリサーバ上でホストされているVネットに関連付けられた例示的転送テーブルの概略描写である。 本発明の一実施形態による、ゲートウェイ機能性が供給されるVMスイッチをリンクするように確立された、セキュリティで保護されたトンネルを有する例示的分散コンピューティング環境のブロック図である。 本発明の一実施形態による、データセンタ内で他のVネットから分離される、Vネットのメンバ間のデータパケットの配布を管理するための方法を示すフロー図である。 本発明の一実施形態による、データセンタ内のVネットの拡張を監督するための方法を示すフロー図である。
本発明の実施形態の主題は、法定要件を満たすために、本明細書で特定性を有して説明される。しかし、その説明自体は、本特許の範囲を限定するように意図されない。むしろ、発明者は、特許請求の範囲に記載された主題がまた、他の方法でも実施されて、他の現在または将来の技術と共に、異なるステップ、または、本書に記載されたものに類似したステップの組み合わせを含むようにしてもよいことを、企図している。また、「ステップ」および/または「ブロック」という用語は、用いられる方法の異なる要素を言外に意味するように本明細書で使用されうるが、これらの用語は、個々のステップの順序が明示的に記載されない限り、かつ、明示的に記載されるときを除いて、本明細書で開示された様々なステップ間の任意の特定の順序を含意するものとして解釈されるべきではない。
本発明の実施形態は、仮想ネットワーク(Vネット)と、Vネットのメンバネットワークアダプタ間の保護かつ分離された相互接続をサポートする仮想マシン(VM)スイッチとを自動的に確立かつ管理するための方法、コンピュータシステム、およびコンピュータ可読メディアに関する。一態様では、本発明の実施形態は、そのメディア上で実施されるコンピュータ実行可能命令を有する1つまたは複数のコンピュータ可読メディアに関し、コンピュータ実行可能命令は、実行されるとき、データセンタ内のVネットに属さない他のリソースから分離される、Vネットのメンバ間のデータパケットの配布を管理するための方法を行う。複数の実施形態では、この方法は、部分的にデータセンタ内で実行する、第1のサービスアプリケーションに割り振られた複数のメンバ(例えば、仮想マシンおよび/または物理マシン上で実行するネットワークアダプタ)を備える、第1のVネットを提供するステップを含む。典型的には、複数のメンバは、発信元ネットワークアダプタおよび宛先ネットワークアダプタを含む。この方法は、発信元ネットワークアダプタが1つまたは複数のデータパケットを宛先ネットワークアダプタへ送信することを試行することを検出するステップをさらに含む。複数の実施形態では、図3および図4を参照してより十分に後述するように、これらのデータパケットは、宛先ネットワークアダプタをポイントするターゲット識別子(例えば、インターネットプロトコル(IP)アドレス、および/または、メディアアクセス制御(MAC)アドレス)を含むヘッダを有して構築される。
データパケットの送信を検出すると、ソース側VMスイッチは解決処理を行い、解決処理は、第1のVネットに関連付けられる転送テーブルにアクセスするステップと、ターゲット識別子に対応する、転送テーブル内でリストされた、宛先側VMスイッチのロケータを発見するステップとを含む。例示的実施形態では、転送テーブルは、第1のサービスアプリケーションに割り振られた複数のメンバと、データセンタ内のそれぞれのノード上にそれぞれ位置するVMスイッチとの間のマッピングを表し、マッピングは、複数のメンバ間のデータパケットトラフィックを管理する通信ポリシーに従って設計される。データパケットは次いでカプセル化されて、宛先側VMスイッチロケータを拡張された新しいヘッダ内に含めるようにする。一般に、宛先側VMスイッチは、データパケットを、データセンタの第1のノード内の宛先ネットワークアダプタに配布することを担う。
もう1つの態様では、本発明の実施形態は、サービスアプリケーションに割り振られるネットワークアダプタ間の通信をサポートかつ分離するためのコンピュータシステムに関する。初めに、コンピュータシステムは、発信元ネットワークアダプタ、宛先ネットワークアダプタ、ディレクトリサーバ、宛先側VMスイッチ、および、ソース側VMスイッチを含む。発信元ネットワークアダプタは、複数の実施形態では、ターゲット識別子を含むヘッダを有して構築された1つまたは複数のデータパケットを生成する。典型的には、ターゲット識別子は、宛先ネットワークアダプタをポイントし、宛先ネットワークアダプタおよび発信元ネットワークアダプタは、部分的に少なくとも1つのデータセンタ内で実行する1つまたは複数のサービスアプリケーションに割り振られた、Vネットのメンバである。さらに、宛先ネットワークアダプタは、データセンタの第1のノード上に存在するが、発信元ネットワークアダプタは、同じデータセンタまたは別のデータセンタの第2のノード上に存在する。
コンピュータシステムはまた、Vネットに関連付けられた転送テーブルを維持するディレクトリサーバをも含む。ある場合には、転送テーブルは、それぞれのVMスイッチのロケータにマップされた、Vネットのメンバの識別子が設定される(識別子によりポピュレートされる)。コンピュータシステムは、宛先側VMスイッチの動作をサポートすることができ、宛先側VMスイッチは、データセンタの第1のノード上に存在し、データパケットを宛先ネットワークアダプタに配布することを担う。加えて、コンピュータシステムは、ソース側VMスイッチの動作をサポートすることができ、ソース側VMスイッチは、データセンタの第2のノード上で発信元ネットワークアダプタと共に存在し、データパケットのヘッダを読み取り、ターゲット識別子をディレクトリサーバへ伝達する。ターゲット識別子を受信すると、ディレクトリサーバは、ターゲット識別子を転送テーブルに対して比較して、宛先側VMスイッチがターゲット識別子にマップされるかどうかを判定する。そうである場合、ソース側VMスイッチは、宛先側VMスイッチのロケータを含むフレームを、データパケットのヘッダに追加する。フレームをヘッダに追加することに伴い、ソース側VMスイッチは、パケットを宛先側VMスイッチへ転送する。受信すると、宛先側VMスイッチは、フレームを除去することによって、データパケットのヘッダを復元し、ターゲット識別子をディレクトリサーバに確認する。
さらにもう1つの態様では、本発明の実施形態は、データセンタ内でファブリックコントローラによって管理されたVネットの拡張を監督するためのコンピュータ化された方法に関する。一実施形態では、この方法は、ルーティング情報(例えば、インターネット層(レイヤ3)ロケータ)をネットワークコンポーネントに割り当てることを含む。一般に、ネットワークコンポーネントは、データセンタのノード上に存在するソフトウェアベースのコンポーネント(例えば、VMスイッチ)、または、物理ネットワークコンポーネント(例えば、トップオブラックスイッチ(top-of-rack switches)、ネットワークインターフェイスカード、物理的スイッチなど)を表す。この方法は、以下のステップをさらに含んでもよく、すなわち、サービスアプリケーションのリソース使用の増大を検出するステップ、ノード上のネットワークアダプタをインスタンス化するステップ、および、ネットワークアダプタを、Vネットにバインドされたメンバネットワークアダプタのグループに結合することによって、ネットワークアダプタをサービスアプリケーションに割り振るステップである。例示的実施形態では、ネットワークアダプタにはIPアドレスが提供される。
ネットワークアダプタをサービスアプリケーションに割り振ると、結合されたネットワークアダプタのIPアドレスは、ディレクトリサーバへ通信される。ディレクトリサーバは、ネットワークコンポーネントおよび結合されたネットワークアダプタが共通して同じノード上に存在するとき、結合されたネットワークアダプタのIPアドレスに関連して、ネットワークコンポーネントの割り当てられたルーティング情報を保存するように構成される。もう1つの実施形態では、結合されたネットワークアダプタには、データセンタとの関連において、結合されたネットワークアダプタを一意に識別する、メディアアクセス制御(MAC)アドレスが提供される。IPアドレスと同様に、結合されたネットワークアダプタに割り当てられたMACアドレスは、ディレクトリサーバへ通信されてもよく、ディレクトリサーバは、ネットワークコンポーネントのルーティング情報に関連して、MACアドレスを保存する。このように、MACアドレスは、重複するIPアドレス範囲をデータセンタ内の様々なVネットに対して利用するとき、結合されたネットワークアダプタを発見することを可能にする。
本発明の実施形態の概観を簡単に説明したが、本発明の実施形態を実装するために適した例示的動作環境を、以下に説明する。
図面全体を参照し、初めに特に図1を参照すると、本発明の実施形態を実装するための例示的動作環境が図示され、全体として、コンピューティングデバイス100として示される。コンピューティングデバイス100は、しかし、適切なコンピューティング環境の一例であり、本発明の実施形態の使用または機能性の範囲についてのいかなる限定を示唆するようにも意図されない。コンピューティング環境100はまた、例示されたコンポーネントのいずれか1つまたは組み合わせに関するいかなる依存性または要件を有するものとしても解釈されるべきではない。
本発明の実施形態は一般に、コンピュータ、または、パーソナルデータアシスタントもしくは他のハンドヘルドデバイスなど、他のマシンによって実行される、プログラムコンポーネントなど、コンピュータ実行可能命令を含む、コンピュータコードまたはマシン使用可能命令との関連で説明されうる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムコンポーネントは、特定のタスクを行うか、または、特定の抽象データ型を実装するコードを指す。本発明の実施形態は、ハンドヘルドデバイス、消費者向け電子機器、汎用コンピュータ、専門コンピューティングデバイスなどを含む、様々なシステム構成で実施されてもよい。本発明の実施形態はまた、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが行われる、分散コンピューティング環境で実施されてもよい。
引き続き図1を参照すると、コンピューティングデバイス100は、以下のデバイスを直接的または間接的に結合するバス110を含み、これらのデバイスは、メモリ112、1つまたは複数のプロセッサ114、1つまたは複数の提示コンポーネント116、入力/出力(I/O)ポート118、I/Oコンポーネント120、および、例示的電源122である。バス110は、1つまたは複数のバスになりうるもの(アドレスバス、データバス、またはそれらの組み合わせなど)を表す。図1の様々なブロックは、明確にするために線で示されるが、実際には、様々なコンポーネントを図で表すことはそれほど明確ではなく、比喩的に、これらの線は、より正確には、どちらとも言えないので不明瞭となる。例えば、表示デバイスなど、提示コンポーネントを、I/Oコンポーネントであると考えることができる。また、プロセッサはメモリを有する。本発明者は、そのようなことが当技術分野の本質であると理解し、図1の図が、本発明の1つまたは複数の実施形態に関連して使用されうる例示的コンピューティングデバイスを例示するものでしかないことを繰り返し述べる。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのようなカテゴリ間の区別は行われず、その理由は、すべてが図1および「コンピュータ」または「コンピューティングデバイス」への参照の範囲内で企図されるからである。
コンピューティングデバイス100は典型的には、様々なコンピュータ可読メディアを含む。例として、限定ではなく、コンピュータ可読メディアには、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電子的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CDROM、デジタル多用途ディスク(DVD)もしくは他の光もしくはホログラフィックメディア、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報をエンコードするために使用でき、かつ、コンピューティングデバイス100によってアクセス可能な任意の他のメディアが含まれてもよい。
メモリ112には、揮発性および/または不揮発性メモリの形式のコンピュータ記憶メディアが含まれる。メモリは、リムーバブル、非リムーバブル、またはそれらの組み合わせであってもよい。例示的ハードウェアデバイスには、ソリッドステートメモリ、ハードドライブ、光ディスクドライブなどが含まれる。コンピューティングデバイス100は、メモリ112またはI/Oコンポーネント120など、様々なエンティティからデータを読み取る、1つまたは複数のプロセッサを含む。提示コンポーネント(複数可)116は、ユーザまたは他のデバイスにデータ表示を提示する。例示的提示コンポーネントには、表示デバイス、スピーカ、印刷コンポーネント、振動コンポーネントなどが含まれる。I/Oポート118は、コンピューティングデバイス100を、I/Oコンポーネント120を含む他のデバイスに論理的に結合できるようにし、I/Oコンポーネント120のうちいくつかは組み込まれてもよい。例示的コンポーネントには、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、プリンタ、ワイヤレスデバイスなどが含まれる。
図1および図2を参照すると、第1のノード211、第2のノード212および/または第3のノード213が、図1の例示的コンピューティングデバイス100によって実装されうる。さらに、発信元ネットワークアダプタ250、宛先ネットワークアダプタ240、ネットワークアダプタ261、262、263、264および265、宛先側VMスイッチ221、VMスイッチ222、ならびに、ソース側VMスイッチ223は、図1のメモリ112の部分にアクセスし、図1のプロセッサ114の部分において実行することができる。
次に図2を見ると、本発明の一実施形態による、サービスアプリケーションを構成するコンポーネントの分離された相互接続をサポートする、データセンタ201内で確立されたVネットを割り振りかつ監督するように構成される、例示的クラウドコンピューティングプラットフォーム200を示す、ブロック図が例示される。図2に示されたクラウドコンピューティングプラットフォーム200は、1つの適切なコンピューティングシステム環境の一例でしかなく、本発明の実施形態の使用または機能性の範囲についてのいかなる限定を示唆するようにも意図されないことは理解されよう。例として、クラウドコンピューティングプラットフォーム200は、パブリッククラウド、プライベートクラウド、または専用クラウドであってもよい。クラウドコンピューティングプラットフォーム200はまた、その中で例示されたコンポーネントのいずれか単一のコンポーネントまたは組み合わせに関連するいかなる依存性または要件を有するものとしても解釈されるべきではない。さらに、図2の様々なブロックは、明確にするために線で示されるが、実際には、様々なコンポーネントを図で表すことはそれほど明確ではなく、比喩的に、これらの線は、より正確には、どちらとも言えないので不明瞭となる。加えて、任意の数の物理マシン、仮想マシン、データセンタ、エンドポイント、またはそれらの組み合わせが、本発明の実施形態の範囲内で所望の機能性を達成するために用いられてもよい。
クラウドコンピューティングプラットフォーム200は、サービスアプリケーションおよび他のソフトウェアをホストするためのノード(例えば、ノード211、212および213)を備える、1つまたは複数のデータセンタ(例えば、データセンタ201)を含んでもよい。本発明の実施形態によって、ノード211、212および213は、任意の形式のコンピューティングデバイスを表し、例えば、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、消費者向け電子デバイス、サーバ(複数可)、図1のコンピューティングデバイス100、その他などである。ある場合には、ノード211、212および213は、データセンタ201の他のテナントをサポートするために切り出された他の仮想マシンを同時にホストしながら、ネットワークアダプタ240、250および261〜265をホストし、それらの動作をサポートする。本明細書で使用されるとき、「テナント」という用語は一般に、クラウドコンピューティングプラットフォーム200の顧客によって所有されたサービスアプリケーションを指す。
一態様では、ネットワークアダプタ240、250および261〜265は、クラウドコンピューティングプラットフォーム200との関連において動作し、したがって、ネットワークアダプタ240、250および261〜265の間で動的に行われた接続を通じて内部で通信し、物理的ネットワークトポロジを通じてリモートネットワークのリソース(例えば、エンタープライズプライベートネットワーク695のリソース696)へと外部で通信する。内部接続は、ネットワーク205を介して、データセンタ201の物理的リソースに渡って分散されたネットワークアダプタ240、250および261〜265を相互接続することを含んでもよい。ネットワーク205は、これらのリソースを相互接続して、発信元ネットワークアダプタ250が宛先ネットワークアダプタ240の場所および他のネットワークアダプタを、それらの間の通信を確立するために認識できるようにする。もう1つの実施形態では、ネットワーク205はリソースを相互接続して、宛先VMスイッチ221へアドレス指定され、かつ、ネットワーク205へ送信されたデータのパケットが、ネットワーク205によって宛先VMスイッチ221へ配信されるようにする。加えて、ネットワーク205は、サービスアプリケーション(複数可)のネットワークアダプタを接続するチャネル(例えば、セキュアトンネル206)を介して、この通信を確立してもよい。例として、チャネルには、限定なしに、1つまたは複数のローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)が含まれてもよい。そのようなネットワーキング環境は、オフィス、エンタープライズ全体のコンピュータネットワーク、イントラネットおよびインターネットで通常である。したがって、ネットワークについては、本明細書でさらに説明しない。
クラウドコンピューティングプラットフォーム200は、第1のサービスアプリケーションのネットワークアダプタ240、262、263および250(太線のブロックによって表される)、ならびに、第2のサービスアプリケーションのネットワークアダプタ261、264および265(細線のブロックによって表される)をホストし、それらの動作をサポートするように構成された、データセンタ201を含む。「サービスアプリケーション」という句は、本明細書で使用されるとき、データセンタ201、クラウドコンピューティングプラットフォーム200内の別のデータセンタ(例えば、図6の第2のデータセンタ670)、顧客の社内に位置するエンタープライズプライベートネットワーク内のリソース(例えば、図6のエンタープライズプライベートネットワーク695のリソース696)、および/または、サードパーティネットワーク内のリソース(例えば、図6のサードパーティデータセンタ685)における、保存場所上で実行し、または、保存場所にアクセスする、任意のソフトウェアまたはソフトウェアの部分を広く指す。一実施形態では、ネットワークアダプタ240、250および261〜265のうち1つまたは複数は、ソフトウェア、コンポーネントプログラム、または、サービスアプリケーション(複数可)に参加する役割のインスタンスの部分を表してもよい。もう1つの実施形態では、ネットワークアダプタ240、250および261〜265のうち1つまたは複数は、サービスアプリケーションにとってアクセス可能である記憶データを表してもよい。図2に示されたネットワークアダプタ240、250および261〜265は、サービスアプリケーションをサポートするための適切な部分の一例でしかなく、本発明の実施形態の使用または機能性の範囲についてのいかなる限定を示唆するようにも意図されないことは理解されよう。
単一のデータセンタ201内の3つのノード211、212および213に渡って分散された2つのサービスアプリケーションを説明したが、様々なデータセンタまたは他の適切なデバイス内の任意の数のノード上に存在する任意の数のサービスアプリケーションが使用されてもよいこと、ならびに、本発明の実施形態は、本明細書に記載されたそれらのノード、サービスアプリケーション、および、データセンタ(複数可)に限定されないことを理解されたい。さらに、任意の数のネットワークアダプタがノード内でインスタンス化され、かつ/または、サービスアプリケーション(複数可)に割り振られてもよく、図2に例示されたネットワークアダプタ240、250および261〜265は、説明のためにのみ示される。
一般に、ネットワークアダプタ240、250および261〜265は、サービスアプリケーション(複数可)に課された需要(例えば、処理負荷の量)に部分的に基づいて、それらのネットワークアダプタをVネット(複数可)のメンバとして結合することによって、サービスアプリケーション(複数可)に割り振られる。本明細書で使用されるとき、「ネットワークアダプタ」という句は、限定となるように意図されず、任意のソフトウェア、アプリケーション、オペレーティングシステム、仮想マシンのコンポーネント、または、サービスアプリケーション(複数可)の機能性の基礎となるように処理ユニットによって実行されるプログラムを指すことがある。さらに、ネットワークアダプタ240、250および261〜265は、少なくとも、第1のサービスアプリケーションおよび第2のサービスアプリケーションを適切にサポートするために、データセンタ201内の処理能力、保存場所および他の資産を含んでもよい。
例示的実施形態では、いくつかのネットワークアダプタ240、250および261〜265が、グループまたはVネット内で共に結合されて、部分的にデータセンタ201内で実行するサービスアプリケーションによって行われる動作の、基になるサポートが提供される。例として、宛先ネットワークアダプタ240、発信元ネットワークアダプタ250、ネットワークアダプタ2 262、および、ネットワークアダプタ3 263は、第1のサービスアプリケーションの動作をサポートする第1のVネットのメンバとして共に結合されてもよい。同様に、ネットワークアダプタ1 261、ネットワークアダプタ4 264、および、ネットワークアダプタ5 265は、第2のサービスアプリケーションの動作をサポートする第2のVネットのメンバとして共に結合されてもよい。本明細書で使用されるとき、「仮想ネットワーク」または「Vネット」という句は、限定となるように意図されず、サービスアプリケーションがデータセンタ201内で、またはその外部で実行できるようにする、リソース(例えば、仮想マシンおよび/または物理マシン上で実行するネットワークアダプタ)の任意のグループを含んでもよい。
場合によっては、Vネットは、ネットワーク205内の他のリソースから分離され、かつ、それに関連付けられた通信ポリシーに基づいて、Vネットローカルブロードキャストドメイン内のデータパケットのフローを制御するように機能する、ネットワークアダプタなど、レイヤ2リソースのグループを表す。他の場合では、Vネットは、仮想ローカルエリアネットワーク(VLAN)、仮想VLAN、真のVLAN、またはそれらの任意の組み合わせを表してもよい。より十分に後述するように、通信ポリシーは、ディレクトリサーバ220の助けを介して実施される。したがって、Vネットは、クラウドコンピューティングプラットフォーム200内のリソースを同時に利用する他のテナントおよび/または顧客のサービスアプリケーションから、それらのメンバを分離しながら、それらのメンバ間の到達可能性を可能にする。
すなわち、Vネットのメンバマシンは、ネットワーク205内のそれらの物理的場所にかかわらず、ネットワークデバイス構成なしに、または、名前空間に基づいた制限をスケーラビリティに課すことなしに、他のメンバマシンによって直接到達可能である。ある場合には、エンドホスト(例えば、ノード211、212および213)内で使用可能な、技術的プリミティブ(例えば、VMスイッチ221、222および223)を、従来の、または新しいネットワーク内にインストールして、Vネットのメンバを直接相互接続することができる。この役割では、VMスイッチは、発信元ネットワークアダプタ250で生成されたデータパケットをカプセル化して、宛先側VMスイッチ221のロケータを追加のヘッダ内に含めるように構成されてもよい。このように、カプセル化は、データパケットを、宛先ネットワークアダプタ240が存在する第1のノード211へ、標準セキュリティ手段を通じてさらにセキュリティで保護されうるトンネル206を介して、直接ルーティングできるようにする。
例示的実施形態では、Vネットは、物理的ルータなど、基になるネットワーキングプロトコルおよびネットワーキングデバイスに無関係である、ソフトウェアベースのコンポーネント(例えば、共通または異なるネットワークアダプタ上に存在するネットワークアダプタ)からなる。したがって、Vネットを、あらゆる既存または新しいネットワーク上で用いることもできる。さらに、Vネットは、メンバマシンのそのポピュレーションに関して無限の、事実上、制限のないサイズにまで成長することができ、その理由は、より十分に後述するように、メンバマシンの間で送信された通信がVMスイッチに再アドレス指定されるからである。このように、以前の名前空間制限が上げられ、あるテナントによって設定されたIPアドレス空間は、他のテナントに割り振られたマシン間の通信を妨げないようになる。さらに、サービスアプリケーションによって規定された任意の名前付け規則が使用されてもよく、その理由は、ネットワーク205を介してデータパケットをルーティングするために使用される、VMスイッチ221、222および223のロケータが、ファブリックコントローラ202によって制御されるからである。したがって、異なるVネット内のネットワークアダプタの、IPアドレスなど、割り当てられた識別子は、データセンタ201内で重複してもよい。
例として、宛先ネットワークアダプタ240にはIPアドレス10.0.0.1が割り当てられるが、ネットワークアダプタ5 265にもまた、IPアドレス10.0.0.1が割り当てられる。従来、これらのネットワークアダプタ240および265は共に同じデータセンタ201内に存在するので、この重複は、データパケットが相互のIPアドレス10.0.0.1にアドレス指定されるとき、どこにルーティングされるかについて、混乱を引き起こすことになる。しかし、宛先ネットワークアダプタ240(太線のブロック)は、第1のサービスアプリケーションに関連付けられたVネットに結合されるので、かつ、ネットワークアダプタ5 265(細線のブロック)は、第2のサービスアプリケーションに関連付けられたVネットに結合されるので、ディレクトリサーバ220は、VMスイッチ221、222および223のうち1つまたは複数と共に、データパケットを適切なネットワークアダプタへナビゲートすることができる。
リソースは、様々な方法でVネットに割り当てられてもよい。ある場合には、データセンタ201のアーキテクチャは、管理システム(例えば、ファブリックコントローラ202)、または、クラウドコンピューティングプラットフォーム200の管理者が、分離グループ(例えば、計算/ストレージマシンの保護されたプール)を構築できるようにする。例として、ファブリックコントローラ202は、データセンタ201内で実行する新しいサービスアプリケーションの出現を検出すると、メンバリソースおよび/またはマシンのグループをアセンブルすることによって、Vネットを確立してもよい。加えて、ファブリックコントローラ202は、サービスアプリケーションのリソース使用の増大または減少を検出すると、Vネットのメンバシップを継続的に更新してもよい。増大が検出されるとき、ファブリックコントローラ202は、ノード211、212または213のうち1つにおけるネットワークアダプタをインスタンス化してもよい。
または、ファブリックコントローラ202は、現在既存のネットワークアダプタ240、250、261、262、263、264または265のうち1つを再割り振りしてもよい。例として、ファブリックコントローラ202は、既存のデータセンタにアクセスし、かつ、その中の任意の既存のネットワーキングデバイスを再プログラミングして、ネットワークアダプタをホストしてもよく、このように、Vネット内のネットワークアダプタのグループ化は、ネットワークトポロジ不可知論的(network-topology agnostic)である。この場合、現在既存のネットワークアダプタ240、250および261〜265には、ファブリックコントローラ202またはテナントによって割り当てられたIPアドレスが提供されてもよい。テナントによって割り当てられるとき、IPアドレス(例えば、テナントによって設定された、レイヤ3のIPアドレス)は、共有された、基になる物理ネットワークに関係するトポロジ的重要性を有していない、フラットな、顧客固有の名前であってもよい。
ネットワークアダプタ(複数可)がサービスアプリケーションに割り振られた後、ネットワークアダプタ(複数可)は、サービスアプリケーションに関連付けられたVネットにバインドされた、メンバネットワークアダプタのグループに結合される。この新しいメンバシップは、ファブリックコントローラ202が、結合されたネットワークアダプタのIPおよび/またはMACアドレスをディレクトリサーバ220に通信すると、記録される。より十分に後述するように、ディレクトリサーバ220は、Vネットおよび/またはサービスアプリケーションに関連して、新たに結合されたネットワークアダプタのIPおよび/またはMACアドレスを保存するように構成される。このように、サービスアプリケーションの通信ポリシーは、ディレクトリサーバ220によって、新たに結合されたネットワークアダプタ上で実施される。複数の実施形態では、ディレクトリサーバ220は、新たに結合されたネットワークアダプタがVネット内でデータパケットの送信を試行すると、または、別のネットワークアダプタが、新たに結合されたネットワークアダプタへの通信の送信を試行すると、通信ポリシーを実施してもよい。
上述のように、本発明の実施形態は、クラウドコンピューティングプラットフォーム200内で実行する顧客のサービスアプリケーションの整合性を保護する問題に対処する、到達可能性−分離機構を導入する。この保護の問題には、サービスアプリケーション(複数可)に割り振られたリソース(例えば、物理マシンおよび/または仮想マシン上で実行するネットワークアダプタ)をデータセンタ201内の他のリソースから仮想的にパーティション分割しながら、割り振られたリソース間で分離された通信を実装することによって対処される。分離された通信を達成するため、複数の実施形態では、到達可能性−分離機構は、協力して動作する2つの異なる技術、すなわち、VMスイッチ221、222および223、ならびに、ディレクトリサーバ220によってサポートされる。
VMスイッチ221、222および223は、複数の実施形態では、図6を参照してより十分に論じるように、データセンタ201内、または、データセンタ201を超えて、マシン間で分離された接続性を提供するように設けられる。本明細書で使用されるとき、「仮想マシンスイッチ」または「VMスイッチ」という句は、限定となるように意図されず、データセンタ、エンタープライズプライベートネットワーク、サードパーティネットワークなどの中に存在し、かつ、Vネットのメンバ間でネットワークを介してデータパケットを安全にルーティングすることを担う、任意のソフトウェアベースのコンポーネントを包含してもよい。例として、VMスイッチは、ネットワーク管理のためのいくつかのアプリケーションプログラミングインターフェイス(API)を公開する、任意のネットワークエッジデバイス(複数可)(例えば、トップラックスイッチ(top rack switches)、ノード内の物理ネットワークインターフェイスカード、VM内の仮想インターフェイスカード、または、仮想化されていないホスト内のネットワーキングスタック)であってもよい。他の例では、VMスイッチによって実行された動作(例えば、ディレクトリサーバ220との通信、カプセル化、カプセル化解除、パケットの修正、および、Vネットに結合されたネットワークアダプタの到達可能性分離に寄与する他のアクション)の全部または一部は、Vネットルーティングモジュールによって行われてもよい。したがって、「VMスイッチ」という句の使用は、V−新しいルーティングモジュール(複数可)、ネットワークエッジデバイス(複数可)、物理的スイッチ(複数可)、ルーティングデバイス(複数可)などのうち、1つまたは複数を広く指すように意図される。
複数の実施形態では、ルーティングの処理は、少なくとも、データパケットの送信の試行を検出すること、解決処理を行って、データパケットの宛先に対応する、転送テーブル(例えば、図5の転送テーブル510および520)内にリストされたVMスイッチを発見すること、データパケットをカプセル化して、拡張ヘッダ内にVMスイッチロケータを含めること、および、カプセル化されたデータパケットを、ネットワーク205を介して送信することを含む。したがって、カプセル化されたデータパケットは、分離された方法でネットワーク205をトラバースし、表面上は、データパケットの所期の宛先(例えば、宛先ネットワークアダプタ240)をホストする同じノード(例えば、第1のノード211)上に存在する受信側VMスイッチ(例えば、宛先側VMスイッチ221)へデータパケットを直接搬送する、トンネル206を形成する。さらに、トンネルは、標準暗号セキュリティ手段を通じて、独立してセキュリティで保護されてもよい。複数の実施形態では、受信側VMスイッチは、ヘッダをそれらの元のフォーマットに復元すること(すなわち、VMスイッチロケータを保持するフレームを、拡張ヘッダから除去すること)によって、データパケットをカプセル化解除すること、および、データパケットを適切な宛先ネットワークアダプタに配布することを担う。
例示的実施形態では、VMスイッチ221、222および223の各々は、個々のノード上にそれぞれインストールされ、データパケットをそれらの個々のノード内で受信かつカプセル化することを担う。さらに、VMスイッチ221、222および223は、データパケットをカプセル化解除し、それらの個々のノード上に存在するネットワークアダプタに配布することを担う。図2に例示するように、宛先側VMスイッチ221は第1のノード211上にインストールされ、VMスイッチ222は第3のノード213上にインストールされ、ソース側VMスイッチ223は第2のノード212上にインストールされる。ある場合には、ソース側VMスイッチ223は、発信元ネットワークアダプタ250、ネットワークアダプタ5 265、および、第2のノード212上に位置する任意の他のネットワークアダプタから送信された、データパケットを受信かつカプセル化することを担う。別の場合には、宛先側VMスイッチ221は、宛先ネットワークアダプタ240、ネットワークアダプタ1 261、ネットワークアダプタ2 262、および、第1のノード211上に位置する任意の他のネットワークアダプタへ向けられた、データパケットをカプセル化解除かつ配布することを担う。
VMスイッチは、IPトラフィックのレート、データセンタ201のテナントによって消費された計算負荷、および、ノードがオンラインにされているか、オフラインにされているかなど、1つまたは複数の要因に応じて、データセンタ201内のノード上で動的にインスタンス化され、または、そこから切り離されてもよい。一実施形態では、ファブリックコントローラ202は、VMスイッチをインスタンス化または切り離すことを担う。加えて、ファブリックコントローラ202はまた、ロケータを新しい、または現在動作中のVMスイッチに割り当てることを担うこともできる。これらのロケータには、重複するVMスイッチロケータを防ぐために、一意の、レイヤ2のメディアアクセス制御(MAC)アドレス、イーサネット(登録商標)アドレス、および/または、データセンタ全体の名前付けスキームに準拠する、インターネット層(レイヤ3)のIPアドレスが含まれてもよい。他の実施形態では、ネットワーク管理者など、クラウドコンピューティングプラットフォーム200内の別の機関が、ロケータまたは他の識別子をVMスイッチに割り当ててもよい。ロケータをVMスイッチ(複数可)に割り当てると、ファブリックコントローラ202または管理者は、ロケータをディレクトリサーバ220に通信することを担うことができ、ディレクトリサーバ220は、VMスイッチロケータと共に転送テーブルを保存または更新するように構成される。
ネットワーク内でデータパケットを向かわせる従来の物理的機構(例えば、ルータおよびハードウェアベースのスイッチ)は、新しい仮想マシンがデータセンタに追加されると、ネットワークデバイスの各々を個々に再プログラミングする結果として生じる、エラーが発生しやすい再構成の問題を欠点として有する。さらに、これらの物理的機構は本質的に、データセンタ内で確立されうる同時のローカルネットワークの数を制限し、また、データセンタを通じて形成されうるブリッジの数を制限し、結果として、スケーラビリティが不十分になる。さらに、これらの物理的機構は、レイヤ2ドメインを超えて拡張することはできず、それにより、データセンタを超えたシームレスな接続性を提供することができない。これらの問題のすべては、データセンタ201内でソフトウェアベースのVMスイッチ221、222および223を用いることによって解決され、その理由は、VMスイッチ221、222および223が動的にインスタンス化かつ切り離されて、ネットワークデバイスの再構成または新しいハードウェアの追加をすることなく、データセンタ201内で実行するテナントの需要が満たされうるからである。
複数の実施形態では、ディレクトリサーバ220は、どのネットワークアダプタがどのテナントに、よって、どのVネットに属するかの記録を提供する、転送テーブルを維持するように構成される。上述のように、ファブリックコントローラ202が用いられて、Vネットのメンバ間の現在のIPアドレス関連付け、ならびに、VネットメンバおよびVMスイッチのノード場所間の関連付け(例えば、各ネットワークアダプタがデータセンタ201内でファブリックコントローラ202によってどこに物理的に位置付けられるか、および、特定のVネット内のネットワークアダプタ間で実施されるべきであるネットワークトラフィックの通信ポリシー)により、ディレクトリサーバ220へ更新が送信されてもよい。この記録に基づいて、ディレクトリサーバ220は、どのネットワークアダプタが他のネットワークアダプタと通信できるようにされるかを制限する、通信ポリシーを実施することができる。ディレクトリサーバ220は、ネットワークデバイス構成、収束の遅延、または伝搬待ち時間なしに、Vネット(複数可)の新しいメンバを、インスタンス化に伴い使用可能として公開できるようにすると有利である。すなわち、従来の物理デバイスはルーティング制御プラン内でリストされ、ルーティング制御プランは、データパケットをどのようにルーティングするかを物理デバイスが理解するために、サービスアプリケーションに更新があると、あらゆる中間スイッチングハブに変換され、構成され、プログラムされる。ディレクトリサーバ220は、動的に更新される転送テーブルを、VMスイッチによってアクセス可能である特定の場所で提供することによって、これらの問題を改善する。
例示的実施形態では、転送テーブルは、ネットワーク到達可能性を達成するために、相互接続されたネットワークアダプタ間の1つまたは複数の論理的関連付けを維持し、ネットワークアダプタに関連付けられたアクセス制御を実施する。ある場合には、論理的関連付けは、Vネットのメンバ間の関連付けに関係する。例として、図5を参照すると、転送テーブル510は、第1のサービスアプリケーションのメンバネットワークアダプタ間の論理的関連付けを含むが、転送テーブル520は、第2のサービスアプリケーションのメンバネットワークアダプタ間の論理的関連付けを含む。特に、転送テーブル510は、宛先ネットワークアダプタ240(IPアドレス10.0.0.1およびMACアドレスMAC−O)、ネットワークアダプタ2 262(IPアドレス10.0.0.4およびMACアドレスMAC−P)、ネットワークアダプタ3 263(IPアドレス10.0.0.6およびMACアドレスMAC−Q)、ならびに、発信元ネットワークアダプタ250(IPアドレス10.0.0.7およびMACアドレスMAC−R)の識別子をリストする。さらに、転送テーブル510は、宛先ネットワークアダプタ240(IPアドレス20.1.1.2を有する宛先側VMスイッチ221)、ネットワークアダプタ2 262(IPアドレス20.1.1.2を有する宛先側VMスイッチ221)、ネットワークアダプタ3 263(IPアドレス20.1.3.2を有するVMスイッチ222)、および、発信元ネットワークアダプタ250(IPアドレス20.1.5.2を有するソース側VMスイッチ223)と同じノード上に位置するVMスイッチのロケータ(例えば、IPアドレス)をリストする。
実質的に類似の方法で、転送テーブル520は、ネットワークアダプタ5 265(IPアドレス10.0.0.1およびMACアドレスMAC−C)、ネットワークアダプタ1 261(IPアドレス10.0.0.7およびMACアドレスMAC−A)、ならびに、ネットワークアダプタ4 264(IPアドレス10.0.0.9およびMACアドレスMAC−B)の識別子をリストする。さらに、転送テーブル520は、ネットワークアダプタ5 265(IPアドレス20.1.5.2を有するソース側VMスイッチ223)、ネットワークアダプタ1 261(IPアドレス20.1.1.2を有する宛先側VMスイッチ221)、および、ネットワークアダプタ4 264(IPアドレス20.1.3.2を有するVMスイッチ222)と同じノード上に位置するVMスイッチのロケータ(例えば、IPアドレス)をリストする。したがって、ディレクトリサーバ220にクエリを行うことによって、VMスイッチは、(例えば、通信ポリシーを実施するために)データパケットのストリームのターゲットがそのデータパケットストリームのソースと同じVネット内にあるかどうか、および、(例えば、データパケットストリームを再アドレス指定またはカプセル化して、VMスイッチに直接到達するために)何のVMスイッチがデータパケットストリームのターゲットと同じノード上に位置するかを、決定することができる。
上述のように、ディレクトリサーバ220は、転送テーブル510および520を用いて、通信ポリシーを実施し、通信ポリシーは典型的には、サービスレベルアグリーメントを経てテナントによって適所に設定される。ある場合には、通信ポリシーは、サービスアプリケーションおよび/またはVネットに対して特に設計され、どのシステム処理がVネットのメンバへのアクセスを許可されるかを管理する、許可のリストを含んでもよい。もう1つの実施形態では、通信ポリシーは、何の動作をこれらのメンバ上で行うことができるかを表してもよい。別の場合には、通信ポリシーは、Vネットメンバ上の動作を求める要求を受信すると、適用可能なエントリを求めて転送テーブル(複数可)をスキャンするセキュリティモデルとしての機能を果たし、要求された動作が認可されるかどうかを、適用可能なエントリ内の情報に基づいて判定する。さらにもう1つの場合には、通信ポリシーは、ポート番号またはネットワークアダプタに適用されたルールを表してもよく、これらのルールは、そのポート番号またはネットワークアダプタがある動作を行う(例えば、着信および発信ネットワークトラフィックを共に可能にする)ことを許可されるかどうかを確かめるために、ノードまたはデータセンタ内で使用可能である。
例示的動作では、ネットワークアダプタ240、250、262および263は、第1のサービスアプリケーションに割り振られる(例えば、第1のサービスアプリケーションによって課された現在の処理負荷を満たすために)。上述のように、ファブリックコントローラ202は、ネットワークアダプタ240、250、262および263をデータセンタ225内で動的に割り振ることを担うことができる。例として、ファブリックコントローラ202は、サービスモデル(例えば、サービスアプリケーションを所有する顧客によって設計される)に依拠して、どのように、いつ、ネットワークアダプタ240、250、262および263を割り振るべきであるかについてのガイダンスを提供してもよい。
第1のサービスアプリケーションの動作の一部として、発信元ネットワークアダプタ250は、データパケット260を、第1のサービスアプリケーションに関連付けられたVネットのメンバである別のネットワークアダプタ(例えば、宛先ネットワークアダプタ240)に送信することを試行してもよい。この場合、発信元ネットワークアダプタ250には、宛先ネットワークアダプタ240のターゲット識別子またはターゲットIPアドレス242(10.0.0.1)が提供される。ターゲットIPアドレス242を使用して、発信元ネットワークアダプタ250は、宛先ネットワークアダプタ240のターゲットMACアドレス241(MAC−O)を取得するための要求を送信することができる。ターゲットMACアドレス241を獲得すると、発信元ネットワークアダプタ250は、ターゲット260のヘッダに、ターゲットMACアドレス241およびターゲットIPアドレス242を設定して(ターゲットMACアドレス241およびターゲットIPアドレス242により、データパケット260のヘッダをポピュレートして)、ターゲット識別子を形成することができる。さらに、ソースMACアドレス251(MAC−R)および/またはソースIPアドレス252(10.0.0.7)など、ソース識別子が発信元ネットワークアダプタ250に割り当てられ、かつ、発信元ネットワークアダプタ250によって知られてもよく、ヘッダに設定されてもよい(ヘッダにポピュレートされてもよい)。
図3を参照すると、本発明の一実施形態による、発信元ネットワークアダプタ250から送信されたような、カプセル化されていない状態である、データパケット260の例示的構造の概略描写が示される。例示したように、データパケット260は、ボディ330およびヘッダ300により構築される。ボディ330は、ペイロード(例えば、データ)を搬送するように構成されるが、ヘッダ300は、フレーム310および320により、ペイロードの宛先を示すように構成される。複数の実施形態では、フレーム310は、ソースMACアドレスおよび宛先MACアドレスを含むが、フレーム320は、ソースIPアドレスおよび宛先IPアドレスを含む。
図2に戻ると、データパケット260を送信すると、ソース側VMスイッチ223は、ソース側VMスイッチ223および発信元ネットワークアダプタ250が共に存在するノード(例えば、第2のノード212)から出るより前に、データパケット260を検出かつインターセプトする。データパケット260を保持した後、ソース側VMスイッチ223は、解決処理を行って、宛先ネットワークアダプタ240と同じノード(例えば、第1のノード211)上に存在するVMスイッチ(例えば、宛先側VMスイッチ221)のロケータを決定することができる。一実施形態では、解決処理は、第2のノード212上でホストされる、第1のサービスアプリケーションに関連付けられた転送テーブル510のインデックスまたは一部分を評価することを含む。ある場合には、このインデックスは、ソース側VMスイッチ223がディレクトリサーバ220から予め取得している宛先ネットワークアダプタに対応する他のVMスイッチのロケータを書き込んでキャッシュすることによって、ソース側VMスイッチ223によって生成されてもよい。または、別の場合には、1つまたは複数のVMスイッチおよびそれらの対応する宛先ネットワークアダプタのロケータを通信すると、インデックスがファブリックコントローラ202によって生成されてもよい。
ソース側VMスイッチ223のローカルのインデックスへのアクセスに伴い、ソース側VMスイッチ223は、インデックスを検査して、データパケット260のヘッダ内で設定された情報(データパケット260のヘッダ内でポピュレートされた情報)に対応するVMスイッチ(例えば、宛先側VMスイッチ)のロケータを決定することができる。この決定は、ターゲット識別子(例えば、IPアドレス242および/またはターゲットMACアドレス241)を、インデックス内のエントリに対して比較して、適切なVMスイッチロケータを発見することによって、行われてもよい。適切なVMスイッチロケータが決定されるとき、ロケータは、データパケット260のヘッダに添付されるフレームに挿入されて、拡張ヘッダが作成される。
図4を参照すると、本発明の一実施形態による、ソース側VMスイッチ223によってカプセル化されるデータパケット280の例示的構造の概略描写が示される。このカプセル化されたデータパケット280は、ボディ420および拡張ヘッダ400により構築される。データパケット260と同様に、カプセル化されたデータパケット280は、ペイロードをボディ420内で保存することができる。拡張ヘッダ400は、フレーム310、320および410により、ペイロードの宛先のローカルであるVMスイッチを示すように構成される。複数の実施形態では、図3のデータパケット260のヘッダ300と同様に、フレーム310は、ソースMACアドレスおよび宛先MACアドレスを含むが、フレーム320は、ソースIPアドレスおよび宛先IPアドレスを含む。フレーム410は、ソース側VMスイッチ223、および、インデックスから決定された宛先側VMスイッチ221のロケータ(例えば、IPアドレス)が設定される(によってポピュレートされる)。したがって、カプセル化されたデータパケット280は、セキュアトンネル206を介して、直接、宛先ネットワークアダプタ240が存在する適切なノード(例えば、第1のノード211)まで、ネットワーク205をトラバースするようにアドレス指定される。
第2のノード212上でホストされたインデックスが不完全であるか、または、ソース側VMスイッチ223での受信時にデータパケット260のブロードキャストを管理するために適切なルーティング−レポート情報が欠けている場合、ソース側VMスイッチ223は、ディレクトリサーバ220と通信して、宛先ネットワークアダプタ240のローカルのVMスイッチ(例えば、宛先側VMスイッチ221)のロケータを取得することができる。例として、ディレクトリサーバ220と通信して、宛先側VMスイッチロケータを導出することは、ターゲット識別子(例えば、IPアドレス242、ターゲットMACアドレス241、または両方)を含む要求メッセージ275を、ディレクトリサーバ220へ送信することによって、ディレクトリサーバ220内で維持される転送テーブル(例えば、第1のサービスアプリケーションに関連付けられる、図5の転送テーブル510)にアクセスすることを含んでもよい。このターゲット識別子およびアドレス(複数可)は、データパケット260のヘッダから抽出され、要求メッセージ275のボディにコンテンツとして組み込まれてもよい。
ディレクトリサーバ220は、要求メッセージ275のこれらのコンテンツを転送テーブル510に適用して、適切な識別子および/またはロケータを決定することができる。上述のように、転送テーブル510は、第1のサービスアプリケーションに割り振られた複数のVネットメンバと、データセンタ201内のそれぞれのノード上にそれぞれ位置するVMスイッチとの間のマッピングを表す。場合によっては、マッピングは、複数のメンバ間のデータパケットトラフィックを管理する通信ポリシーに従って設計される。例として、図5の転送テーブル510を参照すると、要求メッセージ275内でパッケージ化されたコンテンツには、発信元ネットワークアダプタ250のネットワーク層(レイヤ3)のソースIPアドレス252(10.0.0.7)、および/または、データリンク層(レイヤ2)のソースMACアドレス251(MAC−R)が含まれうる。さらに、要求メッセージ275のコンテンツには、宛先ネットワークアダプタ240のターゲット識別子−ネットワーク層のターゲットIPアドレス242(10.0.0.1)、および/または、データリンク層のターゲットMACアドレス241(MAC−O)−が含まれうる。
ターゲット識別子(例えば、ターゲットIPアドレス242および/またはターゲットMACアドレス241)を利用して、ディレクトリサーバ220は、少なくとも以下の手順を行うように構成され、すなわち、データパケット260のソースまたはターゲットをメンバとして含むVネットに関連付けられた、適切な転送テーブル510を発見すること、ターゲット識別子(ターゲットIPアドレス242および/またはターゲットMACアドレス241)により、転送テーブル510をスキャンして、マッチするエントリまたはリスティングを発見すること、ならびに、マッチするエントリまたはリスティング内のVMスイッチのロケータ231を読み取ることである。例示したように、マッチするリスティングは、ロケータ231(IPアドレス20.1.1.2)によって表されたVMスイッチロケータを含む。このマッチするロケータ231は、返信メッセージ270、または、当技術分野で知られている任意の他の形式の通信を介して、ソース側VMスイッチ223へ返されてもよい。
もう1つの実施形態では、ディレクトリサービスは、マッチするエントリを求める要求の受信を待機しなくてもよい。その代わりに、ディレクトリサービスは、1つまたは複数のエントリをそのテーブルからVMスイッチまたは他のコンポーネントへ、それらのエントリが要求される前にプッシュしてもよい。ディレクトリサービスは、プッシュされたエントリを求める要求を行う可能性が最も高いと決定されたそれらのVMスイッチまたは他のコンポーネントへ、エントリをプッシュすることを選択してもよい。例えば、ディレクトリサービスは、Vネットのためのエントリを、VネットのメンバをホストするVMスイッチにプッシュしてもよい。他の実施形態では、ファブリックコントローラなど、もう1つのコンポーネントがエントリをプッシュしてもよい。もう1つの実施形態では、エントリ自体が、潜在的には、エントリ内で参照されたもう1つのVMが作成される前に、通信ポリシーに基づいて生成されてもよい。
ディレクトリサーバ220が、マッチするロケータ231のIPアドレス、または、データパケット260の通信に関与する他のIPアドレスが、ソースIPアドレス252またはターゲットIPアドレス242と衝突する(すなわち、データセンタ201のアドレス空間内で重複する)と決定する場合、ディレクトリサーバ220またはソース側VMスイッチ223によってアクションを取り、この問題を解決することができる。これらのアクションには、一時的な識別子または他のIPアドレスを、発信元ネットワークアダプタ250および宛先ネットワークアダプタ240に割り当てること、一時的な識別子を暗号解読する鍵を、保存場所(例えば、ディレクトリサーバ220内のテーブル)に書き込むこと、ならびに、データパケット260のヘッダに配置された現在の識別子またはIPアドレス(複数可)を、一時的な識別子でそれぞれ置き換えることが含まれてもよい。このように、データパケット260が第1のノード211内のどこに一旦配信されるべきであるかについて、いかなる混乱も排除される。
図2に戻ると、返信メッセージ270を介してソース側VMスイッチ223でロケータ231を取得すると、ソース側VMスイッチ223は、他のデータパケット、またはカプセル化されたデータパケット280内で、データパケット260をカプセル化することができる。これらのカプセル化されたデータパケット280は典型的には、ヘッダ内の図3のVMスイッチロケータ231によりアドレス指定される。上述のように、VMスイッチロケータ231は、宛先側VMスイッチ221をポイントする。
複数の実施形態では、カプセル化は、データパケットヘッダを再フォーマットかつ修正して、VMスイッチロケータ231を含む別のフレーム(例えば、図4の参照番号410を参照)を含める行為を指すことがある。または、カプセル化は、元のヘッダを、外側フレーム(図4の参照番号410)からなる拡張ヘッダで置き換えることを含むことがある。複数の実施形態では、外側フレームは、ソース側VMスイッチ223および宛先側VMスイッチ221の識別子(複数可)(例えば、IPアドレスおよび/またはMACアドレス)を参照してもよい。または、カプセル化は、別のプロトコルヘッダ(例えば、IPまたはイーサネット(登録商標))をデータパケット(複数可)の先頭に追加する行為を示すことがあり、このプロトコルヘッダは、宛先側VMスイッチ221および/または宛先ネットワークアダプタ240をポイントする。または、カプセル化は一般に、宛先側VMスイッチでデータパケット内の宛先識別子を再書き込みすることを指すことがあるが、カプセル化解除は、ソース側VMスイッチでデータパケットを受信すると、再書き込みされた宛先識別子を復元することを含むことがある。カプセル化を構成する様々な異なる処理、および、カプセル化解除の優待処理を説明したが、データパケットを再アドレス指定または修正することを提供する他のタイプの適切な処理が「カプセル化」に含まれうること、および、本発明の実施形態は、本明細書に記載されたそれらの特定のタイプのカプセル化に限定されないことを理解されたい。
さらに、トンネル206(例えば、データセンタ内のトンネル)は、カプセル化されたデータパケット280を、ネットワーク205を介して保護するように渡すために確立され、セキュリティで保護されてもよい。トンネル206のタイプおよび属性は、部分的には、クラウドコンピューティングプラットフォーム200の顧客と管理者の間のサービス要求契約またはサービスレベルアグリーメント(SLA)に基づいてもよい。したがって、顧客が、秘密度の高いミッションクリティカルなデータを作成または伝達中であるとき、セキュアトンネル206は、強化された保護手段を含んで、カプセル化されたデータパケット280の安全な送信を保証してもよい。
カプセル化されたデータパケット280が形成された後、カプセル化されたデータデータパケット280を、第2のノード212でキャッシュし、かつ/または、第1のノード211上に存在する宛先側VMスイッチ221へ、セキュアトンネル206を介してネットワーク205上で送信することができる。ある場合には、ソース側VMスイッチ223は、ハブに沿って中間スイッチを介した、カプセル化されたデータパケット280のルートの追跡およびスケジューリングを担うことができる。別の場合には、ソース側VMスイッチ223は、失われた/遅延されたパケットおよびネットワークの輻輳を補償する信頼性機構を用いる。
ソース側VMスイッチ223は、カプセル化されたパケット280をカプセル化解除すること、ならびに、元のデータパケット260および他の通信を、データセンタ201の第1のノード211内の宛先ネットワークアダプタ240に配布することを担う。複数の実施形態では、宛先側VMスイッチ221はまた、ディレクトリサーバ220と通信して、その中に保存された通信ポリシーを実施することもできる。例示的実施形態では、宛先側VMスイッチ221は、カプセル化されたデータパケット280の拡張ヘッダを読み取り、それが適切なVMスイッチで受信されたかどうかを認識し、ターゲットおよびソース識別子を読み取り、ターゲット識別子および/またはソース識別子のうち1つまたは複数をディレクトリサーバ220へ送信して、その配信が通信ポリシーによって承認されたこと、および、転送テーブルに一致することを決定、確認するようになる。例として、確認は、確認メッセージ290をディレクトリサーバ220へ送信すること、および、適切な認証された配信が発生したかどうかを通信する返信メッセージ295を、ディレクトリサーバ220から受信することを含んでもよい。場合によっては、確認メッセージ290は、上述の要求メッセージ275内で搬送された情報を反映する情報を含んでもよい。
カプセル化解除中に、宛先側VMスイッチ221は、カプセル化されたデータパケット280内の拡張ヘッダの外側フレーム(図4の参照番号410)を廃棄し、ヘッダを元のフォーマットへ復元する。カプセル化解除すると、宛先側VMスイッチ221は、復元されたヘッダのコンテンツを使用して、ローカルの転送テーブルを検査し、データパケット260を、ヘッダ内のターゲット識別子(アドレス(複数可)241および242)に関連付けられた適切なネットワークアダプタ(例えば、宛先ネットワークアダプタ240)に配布することができる。したがって、データパケット260は、さらに、データパケットストリームのフローを減速させることがある余分な安全性チェックなしに、発信元ネットワークアダプタ250から宛先ネットワークアダプタ240へ、分離された方法で安全に伝達される。
次に図6を参照すると、本発明の一実施形態による、例示的分散コンピューティング環境600を例示するブロック図が示され、セキュリティで保護されたトンネル605が、ゲートウェイ機能性が供給されるVMスイッチ623および651を論理的にリンクするように確立される。初めに、分散コンピューティング環境600は、エンタープライズプライベートネットワーク695と、サードパーティデータセンタ685と、第1のデータセンタ610および第2のデータセンタ670を含む、図2を参照して論じたようなクラウドコンピューティングプラットフォームとを含む。
複数の実施形態では、エンタープライズプライベートネットワーク695、サードパーティデータセンタ685、第1のデータセンタ610、および、第2のデータセンタ670は、物理ネットワークを介して通信的に接続されてもよい。本明細書で使用されるとき、「物理ネットワーク」という句は、限定となるように意図されず、地理的に遠隔の場所にあるネットワークアダプタ間の通信を容易にする、有形の機構および機器(例えば、ファイバー線、回路ボックス、スイッチ、アンテナ、IPルータなど)、ならびに、無形の通信および搬送波を包含してもよい。例として、物理ネットワークには、インターネット内で利用されるか、または、異なるネットワーク間の通信を促進するために使用可能な、任意のワイヤードまたはワイヤレス技術が含まれてもよい。
一般に、エンタープライズプライベートネットワーク695は、図2のクラウドコンピューティングプラットフォーム200の顧客によって管理されるリソース696を含む。多くの場合、これらのリソース696は、顧客によって所有されたサービスアプリケーションのコンポーネントをホストし、それらの動作をサポートする。仮想プライベートネットワーク(VPN)ゲートウェイ697は、クラウドコンピューティングプラットフォーム200内に存在するサービスアプリケーションの一部分との通信を容易にする、エンタープライズプライベートネットワーク695でホストされたVMスイッチを表し、サービスアプリケーション部分は、第1のデータセンタ610または第2のデータセンタ670内に収容されてもよい。複数の実施形態では、VMスイッチ621、622、623、651、652および653は、データセンタ610および670内でインスタンス化されて、ネットワークアダプタ630および675上で実行するサービスアプリケーションの、遠隔で分散されたコンポーネントの動作がサポートされてもよい。動作中、VMスイッチIV651およびVPNゲートウェイ697は、互いに協力して作動して、サービスアプリケーションが物理ネットワークを介して適切かつ安全に実行することを保証する。ある場合には、協力して作動することは、VMスイッチIV651とVPNゲートウェイ697の間で、セキュアトンネル699を通じて、データパケットを送信することを含む。
複数の実施形態では、サードパーティデータセンタ685は、サードパーティによって管理され、かつ、サービスアプリケーションの動作または図2のクラウドコンピューティングプラットフォーム200の動作をサポートする、外部ネットワークアダプタ680など、リソースを含む。多くの場合、これらのリソースは、顧客によって所有されたサービスアプリケーションのコンポーネントをホストかつサポートする。外部ネットワークアダプタ680は、クラウドコンピューティングプラットフォーム200内に存在するサービスアプリケーションの一部分との通信を容易にする、サードパーティデータセンタ685でホストされたVMスイッチとして機能することができる。例として、外部ネットワークアダプタ680は、VMスイッチIII623と協力して作動して、その間でセキュアトンネル689を通じて、データパケットを送信することができる。
典型的には、VMスイッチ621〜623および651〜653、VPNゲートウェイ697、ならびに、外部ネットワークアダプタ680は、ある形式のコンピューティングユニット(例えば、中央処理装置、マイクロプロセッサなど)を含むか、またはそれにリンクされて、その上で実行するサービスアプリケーションコンポーネント(複数可)の動作をサポートする。本明細書で利用されるとき、「コンピューティングユニット」という句は一般に、処理能力および記憶用メモリを有する専用コンピューティングデバイスを指し、1つもしくは複数のオペレーティングシステムまたは他の基になるソフトウェアをサポートするものである。ある場合には、コンピューティングユニットは、VMスイッチ621〜623および651〜653、VPNゲートウェイ697、ならびに、外部ネットワークアダプタ680に一体化され、または動作可能に結合されて、各デバイスが様々な処理および動作を行うことができるようにする、有形のハードウェア要素またはマシンにより構成される。別の場合には、コンピューティングユニットは、VMスイッチ621〜623および651〜653、VPNゲートウェイ697、ならびに、外部ネットワークアダプタ680の各々によって収容されたコンピュータ可読メディアに結合された、プロセッサ(図示せず)を包含してもよい。一般に、コンピュータ可読メディアは、プロセッサによって実行可能である複数のコンピュータソフトウェアコンポーネント(例えば、ネットワークアダプタ630および675)を、少なくとも一時的に保存する。本明細書で利用されるとき、「プロセッサ」という用語は、限定となるように意図されず、計算能力において作用するコンピューティングユニットの任意の要素を包含してもよい。そのような能力において、プロセッサは、命令を処理する有形のものとして構成されてもよい。例示的実施形態では、処理することは、命令をフェッチすること、デコード/解釈すること、実行すること、および書き戻すことを含んでもよい。
したがって、相互接続され、かつ、セキュアトンネル605、689および699を介して、社内のエンタープライズプライベートネットワーク695にアタッチされる、複数のリモートデータセンタ(例えば、参照番号610、670および685)が存在してもよい。これらのセキュアトンネル605、689および699は、暗号化のセキュリティ機構(例えば、トンネリングプロトコルIP−sec、IP over HTTPS、Teredo、SSLなど)または認可技術を使用して、保護されたデータパケット通過を提供してもよい。例として、ゲートウェイ機能性は、VMスイッチIII 623、VMスイッチIV 651、外部ネットワークアダプタ680、および、VPNゲートウェイ697のうち、1つまたは複数内で供給される。ゲートウェイ機能性は、トンネリングプロトコルの組み合わせを使用することによって、外部接続性を開始し、仲介し、セキュリティで保護する。したがって、このゲートウェイ機能性は、地理的に分散されたホスト内に存在するときでさえ、Vネットの場所および境界独立性を提供する。さらに、ゲートウェイ機能性は、物理ネットワークを介して到達するために、レイヤ3プロトコルを利用して、データパケットを確立かつアドレス指定することができる。これは、異なるブロードキャストドメインを介した直接通信を許可しない、レイヤ2プロトコルで通信する従来のネットワークアダプタでは、可能ではない。
動作中、VMスイッチIII623、VMスイッチIV651、外部ネットワークアダプタ680、および、VPNゲートウェイ697には、レイヤ3ロケータがそれぞれ割り当てられ、VMスイッチ623および651、ならびに、外部ネットワークアダプタ680およびVPNゲートウェイ697は、ソフトウェアベースのコンポーネントを表す。ゲートウェイ機能性が用いられて、カプセル化されたデータパケットが、サードパーティデータセンタ685におけるネットワークアダプタ、または、リソース696のうち1つに存在するネットワークアダプタなど、宛先ネットワークアダプタへルーティングされる。例示的実施形態では、ゲートウェイ機能性を用いることは、カプセル化されたデータパケットにトランスポート保護を適用し、それにより、データセンタ610および670、サードパーティデータセンタ685、ならびに、エンタープライズプライベートネットワーク695の間をそれぞれトラバースする、セキュアトンネル(例えば、参照番号605、689および699)をもたらすことを含む。したがって、上述のセキュリティ手段は、単一のデータセンタを超えて動作するように、かつ、データセンタ610および670、サードパーティデータセンタ685、ならびに、エンタープライズプライベートネットワーク695の間に直接的なレイヤ2到達可能性または可視性がないときでさえ、ネットワークアダプタ間のセキュリティで保護されたシームレスな接続性を提供するように拡張される。
ある場合には、ゲートウェイ機能性を提供するために、データセンタ610および670の様々なテナントによって使用された別々のVMスイッチがインスタンス化される。別の場合には、ゲートウェイ機能性は、データセンタ610および670内のVMスイッチ623および651のうち1つまたは複数にそれぞれ埋め込まれる。この場合、VMスイッチ623および651には、データパケットがローカルデータセンタ内の内部で送信されているか、外部で送信されているかを、転送テーブルに基づいて判定するための機構が提供される。データパケットが外部に送信するようにアドレス指定されると判定されるとき、埋め込まれたゲートウェイ機能性が呼び出されて、あるトランスポート保護が実施され、すなわち、送信をセキュリティで保護または暗号化すること、および/または、データパケットのヘッダがリサイクルされたターゲット識別子(すなわち、ターゲットMACアドレスおよび/またはIPアドレス)を含むとき、データパケットのヘッダを変換することなどである。他の実施形態では、ゲートウェイ機能性は、負荷分散、キャッシング、および、ローカルブロードキャストドメイン間のデータパケットの配布を強化する他のサービスをサポートしてもよい。
次に図7を見ると、本発明の一実施形態による、データセンタ内で他のマシンから分離される、Vネットのメンバ間のデータパケットの配布を管理するための方法700を示す、フロー図が例示される。初めに、方法700は、ブロック702で示すように、部分的にデータセンタ内で実行するサービスアプリケーションに割り振られた複数のメンバ(例えば、仮想マシンおよび/または物理マシン上で実行するネットワークアダプタ)を備える、第1のVネットを提供するステップを含む。典型的には、複数のメンバは、発信元ネットワークアダプタおよび宛先ネットワークアダプタを含む。方法700は、ブロック704で示すように、発信元ネットワークアダプタが1つまたは複数のデータパケットを宛先ネットワークアダプタへ送信することを試行することを検出するステップをさらに含んでもよい。複数の実施形態では、図3および図4を参照してより十分に上述したように、データパケットは、宛先ネットワークアダプタをポイントするターゲット識別子を含むヘッダを有して構築される。
データパケットの送信を検出すると、ソース側VMスイッチ(例えば、図2のソース側VMスイッチ223)は、ブロック706で示すように、解決処理を行う。複数の実施形態では、解決処理は、任意の順序で実行される以下のステップを含んでもよく、すなわち、第1のVネットに関連付けられる転送テーブルにアクセスするステップ(ブロック708を参照)、および、ターゲット識別子に対応する、転送テーブル内でリストされた、宛先側VMスイッチのロケータを発見するステップ(ブロック710を参照)である。例示的実施形態では、転送テーブル(例えば、図5の転送テーブル510および520)は、第1のサービスアプリケーションに割り振られた複数のメンバと、データセンタ内のそれぞれのノード上にそれぞれ位置するVMスイッチとの間のマッピングを表し、マッピングは、複数のメンバ間のデータパケットトラフィックを管理する通信ポリシーに従って設計される。一般に、宛先側VMスイッチ(例えば、図2の宛先側VMスイッチ221)は、データパケットをデータセンタのノード内の宛先ネットワークアダプタに配布することを担う。データパケットは次いでカプセル化されて、宛先側VMスイッチロケータを拡張ヘッダ内に含めるようにされ(ブロック712を参照)、ソース側VMスイッチから宛先側VMスイッチへ送信され(ブロック714を参照)、宛先側VMスイッチは、データパケットをカプセル化解除し、ノード内の内部で宛先ネットワークアダプタに配布する。
次に図8を参照すると、本発明の一実施形態による、データセンタ内のVネットの拡張を監督するための方法800を示すフロー図が例示される。例示的実施形態では、方法800は、ブロック802で示すように、インターネット層ロケータをVMスイッチに割り当てることを含む。一般に、VMスイッチは、データセンタのノード上に存在するソフトウェアベースのコンポーネントを表す。方法800は、以下のステップをさらに含んでもよく、すなわち、サービスアプリケーションのリソース使用の増大を検出するステップ(ブロック804を参照)、ノード上のネットワークアダプタをインスタンス化するステップ(ブロック806を参照)、および、ネットワークアダプタを、Vネットにバインドされたメンバネットワークアダプタのグループに結合することによって、ネットワークアダプタをサービスアプリケーションに割り振るステップ(ブロック808を参照)である。例示的実施形態では、ネットワークアダプタにはIPアドレスが提供される。ネットワークアダプタをサービスアプリケーションに割り振ると、ブロック810で示すように、結合されたネットワークアダプタのIPアドレスがディレクトリサーバへ通信される。典型的には、ディレクトリサーバ(例えば、図2のディレクトリサーバ220)は、VMスイッチおよび結合されたネットワークアダプタが共通して同じノード上に存在するとき、IPアドレスに関連して、割り当てられたロケータを保存するように構成される。
本発明の実施形態を特定の実施形態に関して説明したが、これらの実施形態は、あらゆる点において制限的ではなく、例示的であるように意図される。代替的実施形態は、本発明の範囲から逸脱することなく、本発明の実施形態が関係する当分野の技術者には明らかになるであろう。
前述から、本発明は、このシステムおよび方法にとって自明かつ固有である他の利点と共に、上記のすべての目標および目的を達成するようによく適合されたものであることは分かるであろう。ある特徴およびサブコンビネーションは、他の特徴およびサブコンビネーションに関係なく有益であり、用いられうることは理解されよう。これは、特許請求の範囲の範囲によって企図され、その範囲内である。

Claims (13)

  1. ネットワークにおける1つ以上のリソースから分離される仮想ネットワーク(Vネット)の複数のメンバ間におけるデータパケットの配信を管理するために配信システムが実行する方法であって、
    少なくとも1つのデータセンタにおいて動作する複数のメンバを有する第1のVネットを形成するステップであって、前記複数のメンバはソース側のネットワークアダプタと宛先側のネットワークアダプタとを含む、ステップと、
    前記ソース側のネットワークアダプタが、前記宛先側のネットワークアダプタのターゲット識別子を含むヘッダとともに形成される1つ以上のデータパケットを、前記宛先側のネットワークアダプタへ送信しようとしていることを検出するステップと、
    (a)前記第1のVネットに関連する転送テーブルにアクセスし、(b)前記転送テーブルに載っている宛先側の仮想マシン(VM)スイッチのロケータアドレスであって前記ターゲット識別子に対応するロケータアドレスを発見する解決処理を実行するステップであって、前記転送テーブルは、少なくとも1つの要求メッセージを利用することにより、前記ソース側のVMスイッチにとってアクセス可能なディレクトリサーバ内で維持され、前記解決処理は、前記少なくとも1つの要求メッセージで示された前記ディレクトリサーバへ前記ターゲット識別子を送信することを含む、ステップと、
    前記宛先側のVMスイッチのロケータアドレスを前記ヘッダに更に含めることにより、前記1つ以上のデータパケットをカプセル化するステップと、
    前記ヘッダに含まれている前記ターゲット識別子及び前記ロケータアドレスを利用して、ソース側のVMスイッチから前記宛先側のVMスイッチへ、カプセル化された1つ以上のデータパケットを送信するステップと
    を有する方法。
  2. 前記転送テーブルは、前記第1のVネットの前記複数のメンバと、前記少なくとも1つのデータセンタ内のそれぞれのノードにあるVMスイッチとの間のマッピングを表し、前記マッピングは、前記複数のメンバ間のデータパケットのトラフィックを管理する通信ポリシーに従って決定されている、請求項1に記載の方法。
  3. 前記複数のメンバのうちの何れかは、仮想マシン又は物理マシン上で動作するネットワークアダプタを有する、請求項1に記載の方法。
  4. 前記宛先側のVMスイッチ及び前記宛先側のネットワークアダプタは、前記少なくとも1つのデータセンタの第1のノード内にあり、前記ソース側のVMスイッチ及び前記ソース側のネットワークアダプタは、前記少なくとも1つのデータセンタの第2のノード内にある、請求項1に記載の方法。
  5. 前記ターゲット識別子は、前記宛先側のネットワークアダプタのインターネットプロトコル(IP)アドレス及びメディアアクセス制御(MAC)アドレスを含む請求項4に記載の方法。
  6. 前記転送テーブルの一部分は、前記ソース側のVMスイッチで保存され、前記解決処理は、前記転送テーブルを前記ソース側のVMスイッチでローカルに検査することをさらに含む、請求項4に記載の方法。
  7. 前記第1のVネットを形成する複数のメンバは、第1のサービスアプリケーションに割り振られている、請求項1に記載の方法。
  8. 前記方法は、前記少なくとも1つのデータセンタにおいて動作する複数のメンバを有する第2のVネットを形成するステップを有し、前記第1のVネットの複数のメンバのうち第1ノードに位置する何れかのメンバは、前記第2のVネットの複数のメンバのうち前記第1ノードとは異なる第2ノードに位置する何れかのメンバに割り当てられるIPアドレスに一致するIPアドレスの割り当てを受ける、請求項1に記載の方法。
  9. 前記第2のVネットを形成する複数のメンバは、第2のサービスアプリケーションに割り振られている、請求項8に記載の方法。
  10. 前記宛先側のネットワークアダプタは、前記少なくとも1つのデータセンタに対して遠隔したエンタープライズプライベートネットワーク内に位置するノード上に存在し、前記ソース側のVMスイッチは、前記エンタープライズプライベートネットワークに対するルーティングのためのゲートウェイ機能を備えている、請求項1に記載の方法。
  11. 前記ゲートウェイ機能を用いて、前記カプセル化された1つ以上のデータパケットを、前記宛先側のネットワークアダプタへルーティングするステップであって、前記カプセル化された1つ以上のデータパケットにトランスポート保護処理を適用し、前記少なくとも1つのデータセンタ及び前記エンタープライズプライベートネットワークを通るセキュアトンネルをもたらす、請求項10に記載の方法。
  12. 請求項1〜11の何れか1項に記載の方法を配信システムに実行させるコンピュータプログラム。
  13. 請求項12に記載のコンピュータプログラムを記憶した記憶媒体。
JP2013511177A 2010-05-14 2011-04-27 データパケットの配信管理方法 Active JP5859519B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/780,673 US8407366B2 (en) 2010-05-14 2010-05-14 Interconnecting members of a virtual network
US12/780,673 2010-05-14
PCT/US2011/034191 WO2011142972A2 (en) 2010-05-14 2011-04-27 Interconnecting members of a virtual network

Publications (3)

Publication Number Publication Date
JP2013527532A JP2013527532A (ja) 2013-06-27
JP2013527532A5 JP2013527532A5 (ja) 2014-06-05
JP5859519B2 true JP5859519B2 (ja) 2016-02-10

Family

ID=44912728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013511177A Active JP5859519B2 (ja) 2010-05-14 2011-04-27 データパケットの配信管理方法

Country Status (6)

Country Link
US (1) US8407366B2 (ja)
EP (1) EP2569902B1 (ja)
JP (1) JP5859519B2 (ja)
CN (1) CN102893559B (ja)
HK (1) HK1179069A1 (ja)
WO (1) WO2011142972A2 (ja)

Families Citing this family (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924524B2 (en) * 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US8230071B1 (en) * 2010-06-28 2012-07-24 Ncircle Network Security, Inc. Network services platform
US8315156B2 (en) * 2010-06-30 2012-11-20 Oracle America, Inc. Method and system for distributing network traffic among multiple direct hardware access datapaths
US9680750B2 (en) * 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8837493B2 (en) 2010-07-06 2014-09-16 Nicira, Inc. Distributed network control apparatus and method
US8554917B2 (en) * 2010-08-20 2013-10-08 International Business Machines Corporation Performance isolation for storage clouds
JP5893628B2 (ja) 2010-09-17 2016-03-23 オラクル・インターナショナル・コーポレイション ミドルウェアマシン環境における部分的なサブネット初期化の実行
KR101806951B1 (ko) * 2011-03-17 2017-12-13 삼성전자주식회사 이동 통신 시스템에서 콘텐츠 수신 방법 및 장치
JP5618886B2 (ja) * 2011-03-31 2014-11-05 株式会社日立製作所 ネットワークシステムおよび計算機振り分け装置、計算機振り分け方法
US8868636B2 (en) * 2011-04-04 2014-10-21 Lansing Arthur Parker Apparatus for secured distributed computing
CN103444135B (zh) * 2011-06-02 2016-10-12 慧与发展有限责任合伙企业 网络虚拟化方法和虚拟化网络
US9935848B2 (en) 2011-06-03 2018-04-03 Oracle International Corporation System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network
US8886783B2 (en) 2011-06-03 2014-11-11 Oracle International Corporation System and method for providing secure subnet management agent (SMA) based fencing in an infiniband (IB) network
AU2012296329B2 (en) 2011-08-17 2015-08-27 Nicira, Inc. Logical L3 routing
AU2012296330B2 (en) 2011-08-17 2016-03-17 Nicira, Inc. Hierarchical controller clusters for interconnecting different logical domains
US8856518B2 (en) * 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US9769116B2 (en) * 2011-09-16 2017-09-19 Wilmerding Communications Llc Encapsulating traffic while preserving packet characteristics
US20130091261A1 (en) * 2011-10-05 2013-04-11 International Business Machines Corporation Defining And Managing Virtual Networks In Multi-Tenant Virtualized Data Centers
US20130138764A1 (en) * 2011-11-30 2013-05-30 Soumendu S. Satapathy Method and system for virtual machine data migration
US9135460B2 (en) * 2011-12-22 2015-09-15 Microsoft Technology Licensing, Llc Techniques to store secret information for global data centers
US9565132B2 (en) 2011-12-27 2017-02-07 Intel Corporation Multi-protocol I/O interconnect including a switching fabric
US9425987B2 (en) 2012-02-10 2016-08-23 Nec Corporation Computer system and visualization method of virtual network
WO2013118687A1 (ja) * 2012-02-10 2013-08-15 日本電気株式会社 コンピュータシステム、及び仮想ネットワークの可視化方法
JP5682932B2 (ja) * 2012-02-29 2015-03-11 日本電信電話株式会社 制御サーバ、制御方法及び制御プログラム
JP5466723B2 (ja) * 2012-03-07 2014-04-09 株式会社Nttドコモ ホスト提供システム及び通信制御方法
CN103379010B (zh) * 2012-04-20 2018-09-21 中兴通讯股份有限公司 一种虚拟网络实现方法及***
US9075648B2 (en) 2012-04-27 2015-07-07 Empire Technology Development Llc Virtual machine switching based on measured network delay
US20130290531A1 (en) * 2012-04-27 2013-10-31 Microsoft Corporation Providing client and service compatibility through cloud-hosted adapters
US20130305344A1 (en) * 2012-05-14 2013-11-14 Alcatel-Lucent India Limited Enterprise network services over distributed clouds
JP5871063B2 (ja) * 2012-05-15 2016-03-01 日本電気株式会社 マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法
US8676984B2 (en) 2012-05-23 2014-03-18 International Business Machines Corporation Live directory of cloud tenants to enable inter-tenant interaction via cloud
US8909780B1 (en) * 2012-05-24 2014-12-09 Amazon Technologies, Inc. Connection following during network reconfiguration
US10225094B2 (en) * 2012-05-29 2019-03-05 Futurewei Technologies, Inc. SDN facilitated multicast in data center
US9665719B2 (en) 2012-06-04 2017-05-30 Oracle International Corporation System and method for supporting host-based firmware upgrade of input/output (I/O) devices in a middleware machine environment
US9584605B2 (en) 2012-06-04 2017-02-28 Oracle International Corporation System and method for preventing denial of service (DOS) attack on subnet administrator (SA) access in an engineered system for middleware and application execution
US9304801B2 (en) * 2012-06-12 2016-04-05 TELEFONAKTIEBOLAGET L M ERRICSSON (publ) Elastic enforcement layer for cloud security using SDN
US9819658B2 (en) * 2012-07-12 2017-11-14 Unisys Corporation Virtual gateways for isolating virtual machines
WO2014021838A1 (en) * 2012-07-31 2014-02-06 Hewlett-Packard Development Company, L.P. Virtual machine data packet encapsulation and decapsulation
CN103581277A (zh) * 2012-08-09 2014-02-12 中兴通讯股份有限公司 数据中心虚拟化网络地址的分发方法、***及目录服务器
US9210079B2 (en) * 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
US9331940B2 (en) 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
JP5782641B2 (ja) * 2012-08-31 2015-09-24 株式会社日立製作所 計算機システム及びパケット転送方法
US9396069B2 (en) * 2012-09-06 2016-07-19 Empire Technology Development Llc Cost reduction for servicing a client through excess network performance
US9166865B2 (en) 2012-11-07 2015-10-20 International Business Machines Corporation Mobility operation resource allocation
US9348627B1 (en) * 2012-12-20 2016-05-24 Emc Corporation Distributed dynamic federation between multi-connected virtual platform clusters
US9703584B2 (en) * 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
US9300726B2 (en) 2013-01-15 2016-03-29 International Business Machines Corporation Implementing a private network isolated from a user network for virtual machine deployment and migration and for monitoring and managing the cloud environment
EP2939462B1 (en) * 2013-02-17 2017-06-28 Parallel Wireless Inc. Methods of incorporating an ad hoc cellular network into a fixed cellular network
WO2014128948A1 (ja) * 2013-02-25 2014-08-28 株式会社日立製作所 仮想サーバおよび非仮想サーバ混在環境におけるテナントネットワーク構成の管理方法
US9143582B2 (en) 2013-03-08 2015-09-22 International Business Machines Corporation Interoperability for distributed overlay virtual environments
US9432287B2 (en) 2013-03-12 2016-08-30 International Business Machines Corporation Virtual gateways and implicit routing in distributed overlay virtual environments
US9448830B2 (en) * 2013-03-14 2016-09-20 Google Inc. Service bridges
US9374241B2 (en) 2013-03-14 2016-06-21 International Business Machines Corporation Tagging virtual overlay packets in a virtual networking system
US9112801B2 (en) 2013-03-15 2015-08-18 International Business Machines Corporation Quantized congestion notification in a virtual networking system
KR101937736B1 (ko) * 2013-04-11 2019-04-11 한국전자통신연구원 차세대 네트워크를 위한 객체 식별자 기반의 이종 식별자 노드간 상호연동 식별 장치 및 방법
US9634935B2 (en) 2013-04-24 2017-04-25 Secured Connectivity, Llc Method, name server, and system for directing network traffic utilizing profile records
WO2014172769A1 (en) * 2013-04-24 2014-10-30 Selectivevpn Inc. Method, server, and system for directing network traffic
CN103281248B (zh) * 2013-06-09 2016-03-30 北京星网锐捷网络技术有限公司 网络拓扑的发现方法、装置和***
US9135042B2 (en) 2013-06-13 2015-09-15 International Business Machines Corporation Provisioning a secure customer domain in a virtualized multi-tenant environment
US9392079B2 (en) * 2013-07-19 2016-07-12 International Business Machines Corporation Directory service discovery and/or learning
US9231863B2 (en) 2013-07-23 2016-01-05 Dell Products L.P. Systems and methods for a data center architecture facilitating layer 2 over layer 3 communication
US20150033222A1 (en) * 2013-07-25 2015-01-29 Cavium, Inc. Network Interface Card with Virtual Switch and Traffic Flow Policy Enforcement
US9787546B2 (en) 2013-08-07 2017-10-10 Harris Corporation Network management system generating virtual network map and related methods
US9887960B2 (en) 2013-08-14 2018-02-06 Nicira, Inc. Providing services for logical networks
US9952885B2 (en) 2013-08-14 2018-04-24 Nicira, Inc. Generation of configuration files for a DHCP module executing within a virtualized container
CN103441935B (zh) * 2013-08-16 2016-05-25 北京星网锐捷网络技术有限公司 自动识别服务器与接入交换机的邻接关系的方法及装置
US20150067393A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus to remotely take a snapshot of a complete virtual machine from a software defined cloud with backup and restore capacity
US9503371B2 (en) 2013-09-04 2016-11-22 Nicira, Inc. High availability L3 gateways for logical networks
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active L3 gateways for logical networks
US9374335B2 (en) * 2013-09-11 2016-06-21 Sprint Communications Company L.P. System and method for distributing messages to particular mobile devices
US9575782B2 (en) 2013-10-13 2017-02-21 Nicira, Inc. ARP for logical router
US10063458B2 (en) 2013-10-13 2018-08-28 Nicira, Inc. Asymmetric connection with external networks
US9083653B2 (en) * 2013-10-21 2015-07-14 Hewlett-Packard Development Company, L.P. Automated cloud set up
US10908937B2 (en) * 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances
US10447610B1 (en) 2013-11-11 2019-10-15 Amazon Technologies, Inc. Techniques for network redirection
US9288135B2 (en) * 2013-12-13 2016-03-15 International Business Machines Corporation Managing data flows in software-defined network using network interface card
US9294524B2 (en) 2013-12-16 2016-03-22 Nicira, Inc. Mapping virtual machines from a private network to a multi-tenant public datacenter
CN103747076B (zh) * 2013-12-31 2017-07-07 曙光云计算技术有限公司 云平台的访问方法和装置
US20160342439A1 (en) * 2014-02-07 2016-11-24 Telefonaktiebolaget Lm Ericsson (Publ) Virtualized Application Cluster
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9225597B2 (en) 2014-03-14 2015-12-29 Nicira, Inc. Managed gateways peering with external router to attract ingress packets
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9413644B2 (en) 2014-03-27 2016-08-09 Nicira, Inc. Ingress ECMP in virtual distributed routing environment
US9344364B2 (en) * 2014-03-31 2016-05-17 Metaswitch Networks Ltd. Data center networks
US9813258B2 (en) 2014-03-31 2017-11-07 Tigera, Inc. Data center networks
US9559950B2 (en) * 2014-03-31 2017-01-31 Tigera, Inc. Data center networks
US10084669B2 (en) 2014-04-09 2018-09-25 Centurylink Intellectual Property Llc System and method for cloud computing adaptive cloud services
US20150332351A1 (en) * 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
US9723009B2 (en) 2014-09-09 2017-08-01 Oracle International Corporation System and method for providing for secure network communication in a multi-tenant environment
US9787499B2 (en) * 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US20160094668A1 (en) * 2014-09-29 2016-03-31 Alcatel-Lucent Usa Inc. Method and apparatus for distributed customized data plane processing in a data center
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US9768980B2 (en) 2014-09-30 2017-09-19 Nicira, Inc. Virtual distributed bridging
US10020960B2 (en) 2014-09-30 2018-07-10 Nicira, Inc. Virtual distributed bridging
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
KR102053765B1 (ko) * 2014-11-27 2020-01-22 한국전자통신연구원 테넌트 기반의 동적 프로세서 할당 장치 및 그 방법
US9882968B1 (en) * 2014-12-09 2018-01-30 Amazon Technologies, Inc. Virtual network interface multiplexing
US9906432B2 (en) 2014-12-09 2018-02-27 International Business Machines Corporation Partner discovery in control clusters using shared VLAN
CN104601467B (zh) * 2014-12-31 2018-03-13 华为技术有限公司 一种发送报文的方法和装置
US10079779B2 (en) 2015-01-30 2018-09-18 Nicira, Inc. Implementing logical router uplinks
US10509663B1 (en) 2015-02-04 2019-12-17 Amazon Technologies, Inc. Automatic domain join for virtual machine instances
US11216300B2 (en) 2015-03-04 2022-01-04 Nec Corporation Datacenter, communication apparatus, communication method, and communication control method in a communication system
US10849018B2 (en) 2015-03-04 2020-11-24 Nec Corporation Datacenter, communication apparatus, communication method, and communication control method in a communication system
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US20160353367A1 (en) 2015-06-01 2016-12-01 Huawei Technologies Co., Ltd. System and Method for Virtualized Functions in Control and Data Planes
WO2016192636A1 (en) 2015-06-01 2016-12-08 Huawei Technologies Co., Ltd. System and method for virtualized functions in control and data planes
US10313887B2 (en) 2015-06-01 2019-06-04 Huawei Technologies Co., Ltd. System and method for provision and distribution of spectrum resources
US10700936B2 (en) * 2015-06-02 2020-06-30 Huawei Technologies Co., Ltd. System and methods for virtual infrastructure management between operator networks
US10212589B2 (en) 2015-06-02 2019-02-19 Huawei Technologies Co., Ltd. Method and apparatus to use infra-structure or network connectivity services provided by 3rd parties
US10361952B2 (en) 2015-06-30 2019-07-23 Nicira, Inc. Intermediate logical interfaces in a virtual distributed router environment
US9888127B2 (en) 2015-07-30 2018-02-06 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for adjusting the use of virtual resources providing communication services based on load
US9866521B2 (en) 2015-07-30 2018-01-09 At&T Intellectual Property L.L.P. Methods, systems, and computer readable storage devices for determining whether to forward requests from a physical telephone number mapping service server to a virtual telephone number mapping service server
US9851999B2 (en) 2015-07-30 2017-12-26 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for handling virtualization of a physical telephone number mapping service
US10277736B2 (en) 2015-07-30 2019-04-30 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for determining whether to handle a request for communication services by a physical telephone number mapping service or a virtual telephone number mapping service
US10230629B2 (en) 2015-08-11 2019-03-12 Nicira, Inc. Static route configuration for logical router
US10057157B2 (en) 2015-08-31 2018-08-21 Nicira, Inc. Automatically advertising NAT routes between logical routers
US10862818B2 (en) 2015-09-23 2020-12-08 Huawei Technologies Co., Ltd. Systems and methods for distributing network resources to network service providers
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US10645162B2 (en) 2015-11-18 2020-05-05 Red Hat, Inc. Filesystem I/O scheduler
WO2017117583A1 (en) * 2015-12-30 2017-07-06 Icloudpatent.Com Limited Direct network connections using cloud instance for multipoint meeting service
US10397071B2 (en) * 2016-01-05 2019-08-27 Airmagnet, Inc. Automated deployment of cloud-hosted, distributed network monitoring agents
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10484515B2 (en) 2016-04-29 2019-11-19 Nicira, Inc. Implementing logical metadata proxy servers in logical networks
US10841273B2 (en) 2016-04-29 2020-11-17 Nicira, Inc. Implementing logical DHCP servers in logical networks
US10091161B2 (en) 2016-04-30 2018-10-02 Nicira, Inc. Assignment of router ID for logical routers
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10454758B2 (en) * 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10341236B2 (en) 2016-09-30 2019-07-02 Nicira, Inc. Anycast edge service gateways
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10742746B2 (en) 2016-12-21 2020-08-11 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10212071B2 (en) 2016-12-21 2019-02-19 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
US10009443B1 (en) * 2017-06-06 2018-06-26 IP Company 8, LLC Provisioning remote application servers on a service provider infrastructure as a service platform
US10498693B1 (en) 2017-06-23 2019-12-03 Amazon Technologies, Inc. Resizing virtual private networks in provider network environments
US10637800B2 (en) 2017-06-30 2020-04-28 Nicira, Inc Replacement of logical network addresses with physical network addresses
US10681000B2 (en) 2017-06-30 2020-06-09 Nicira, Inc. Assignment of unique physical network addresses for logical network addresses
JP2019029946A (ja) * 2017-08-03 2019-02-21 富士通株式会社 通信制御装置、通信制御システム、及び通信制御方法
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10476841B2 (en) * 2018-03-23 2019-11-12 Microsoft Technology Licensing, Llc Stateless tunnels
CN110347473B (zh) * 2018-04-02 2021-11-19 ***通信有限公司研究院 一种跨数据中心分布的虚拟化网元虚拟机分配方法及装置
US10721133B2 (en) * 2018-08-08 2020-07-21 Cisco Technology, Inc. Underlay network formation
US10931560B2 (en) 2018-11-23 2021-02-23 Vmware, Inc. Using route type to determine routing protocol behavior
US11243813B2 (en) 2018-11-28 2022-02-08 International Business Machines Corporation Process as a network service hub
US10797998B2 (en) 2018-12-05 2020-10-06 Vmware, Inc. Route server for distributed routers using hierarchical routing protocol
US10938788B2 (en) 2018-12-12 2021-03-02 Vmware, Inc. Static routes for policy-based VPN
US11394693B2 (en) * 2019-03-04 2022-07-19 Cyxtera Cybersecurity, Inc. Establishing network tunnel in response to access request
US11632235B2 (en) * 2019-04-09 2023-04-18 Samsung Electronics Co., Ltd. Method and apparatus for handling security procedure in mc communication system
JP7137078B2 (ja) * 2019-04-17 2022-09-14 日本電信電話株式会社 適合化装置
CN112449751B (zh) * 2019-06-28 2022-08-26 华为云计算技术有限公司 一种数据传输方法、交换机及站点
US11095480B2 (en) 2019-08-30 2021-08-17 Vmware, Inc. Traffic optimization using distributed edge services
CN113452471A (zh) * 2020-03-26 2021-09-28 伊姆西Ip控股有限责任公司 用于数据处理的方法、电子设备以及计算机程序产品
US11689455B2 (en) 2020-05-28 2023-06-27 Oracle International Corporation Loop prevention in virtual layer 2 networks
WO2022015881A1 (en) 2020-07-14 2022-01-20 Oracle International Corporation Virtual layer-2 network
US11606294B2 (en) 2020-07-16 2023-03-14 Vmware, Inc. Host computer configured to facilitate distributed SNAT service
US11616755B2 (en) 2020-07-16 2023-03-28 Vmware, Inc. Facilitating distributed SNAT service
US11611613B2 (en) 2020-07-24 2023-03-21 Vmware, Inc. Policy-based forwarding to a load balancer of a load balancing cluster
US11451413B2 (en) 2020-07-28 2022-09-20 Vmware, Inc. Method for advertising availability of distributed gateway service and machines at host computer
US11902050B2 (en) 2020-07-28 2024-02-13 VMware LLC Method for providing distributed gateway service at host computer
US11652743B2 (en) 2020-12-30 2023-05-16 Oracle International Corporation Internet group management protocol (IGMP) of a layer-2 network in a virtualized cloud environment
US11671355B2 (en) 2021-02-05 2023-06-06 Oracle International Corporation Packet flow control in a header of a packet
US11777897B2 (en) 2021-02-13 2023-10-03 Oracle International Corporation Cloud infrastructure resources for connecting a service provider private network to a customer private network
EP4096171A1 (en) * 2021-05-28 2022-11-30 Juniper Networks, Inc. Policy enforcement for bare metal servers by top of rack switches
US11563827B1 (en) * 2021-07-12 2023-01-24 Verizon Patent And Licensing Inc. Method and system for network performance optimization service
CN114006883B (zh) * 2021-10-15 2023-06-27 南京三眼精灵信息技术有限公司 一种跨网数据穿透交互的方法、装置、设备及存储介质
US11843536B1 (en) * 2023-01-18 2023-12-12 Bank Of America Corporation Systems, methods, and apparatuses for determining data routing in an electronic environment

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697872B1 (en) * 1999-10-15 2004-02-24 Cisco Technology Distributed packet processing using encapsulation and decapsulation chains
US7133365B2 (en) 2001-11-02 2006-11-07 Internap Network Services Corporation System and method to provide routing control of information over networks
US7366784B2 (en) 2001-11-27 2008-04-29 Hitachi, Ltd. System and method for providing and using a VLAN-aware storage device
US20030212898A1 (en) 2002-05-09 2003-11-13 Doug Steele System and method for remotely monitoring and deploying virtual support services across multiple virtual lans (VLANS) within a data center
JP2008301517A (ja) * 2003-02-19 2008-12-11 Intec Netcore Inc ルータ装置及びパケット転送制御方法
US7526577B2 (en) 2003-09-19 2009-04-28 Microsoft Corporation Multiple offload of network state objects with support for failover events
US7478173B1 (en) 2003-12-18 2009-01-13 Wmware, Inc. Method and system for sharing a network connection in a virtual computer system
GB2418326B (en) * 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US9397856B2 (en) * 2005-12-02 2016-07-19 Ca, Inc. Virtual tunnel network router
JP4827790B2 (ja) * 2007-04-18 2011-11-30 株式会社日立製作所 通信負荷取得装置および通信負荷取得方法
JP5262145B2 (ja) * 2008-02-04 2013-08-14 日本電気株式会社 クラスタシステムおよび情報処理方法
WO2009111799A2 (en) 2008-03-07 2009-09-11 3Tera, Inc. Globally distributed utility computing cloud
GB2458154B (en) * 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
GB2459433B (en) * 2008-03-07 2012-06-06 Hewlett Packard Development Co Distributed network connection policy management
US20110035494A1 (en) 2008-04-15 2011-02-10 Blade Network Technologies Network virtualization for a virtualized server data center environment
US10127059B2 (en) 2008-05-02 2018-11-13 Skytap Multitenant hosted virtual machine infrastructure
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US8996683B2 (en) 2008-06-09 2015-03-31 Microsoft Technology Licensing, Llc Data center without structural bottlenecks
JP2010062738A (ja) * 2008-09-02 2010-03-18 Fujitsu Ltd ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
US8621485B2 (en) * 2008-10-07 2013-12-31 International Business Machines Corporation Data isolation in shared resource environments
US9264403B2 (en) * 2008-10-09 2016-02-16 Telefonaktiebolaget L M Ericsson (Publ) Virtualization platform
WO2010099407A1 (en) * 2009-02-27 2010-09-02 Broadcom Corporation Method and system for virtual machine networking
JP5403061B2 (ja) * 2009-09-24 2014-01-29 日本電気株式会社 仮想サーバ間通信識別システム、及び仮想サーバ間通信識別方法
US8532108B2 (en) * 2009-09-30 2013-09-10 Alcatel Lucent Layer 2 seamless site extension of enterprises in cloud computing
US8619779B2 (en) * 2009-09-30 2013-12-31 Alcatel Lucent Scalable architecture for enterprise extension in a cloud topology
JP2011141635A (ja) * 2010-01-06 2011-07-21 Hitachi Ltd ホスト間通信を使用した仮想サーバのデータの通信方法
JP5392137B2 (ja) * 2010-02-17 2014-01-22 富士通株式会社 通信処理のためのプログラム、コンピュータ及び方法
JP5644150B2 (ja) * 2010-03-23 2014-12-24 日本電気株式会社 サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム

Also Published As

Publication number Publication date
US8407366B2 (en) 2013-03-26
EP2569902B1 (en) 2019-06-26
US20110283017A1 (en) 2011-11-17
CN102893559B (zh) 2015-07-29
CN102893559A (zh) 2013-01-23
JP2013527532A (ja) 2013-06-27
WO2011142972A3 (en) 2012-01-26
EP2569902A4 (en) 2017-10-25
WO2011142972A2 (en) 2011-11-17
HK1179069A1 (en) 2013-09-19
EP2569902A2 (en) 2013-03-20

Similar Documents

Publication Publication Date Title
JP5859519B2 (ja) データパケットの配信管理方法
US11902367B2 (en) Coordinating inter-region operations in provider network environments
US9876717B2 (en) Distributed virtual network gateways
US11658936B2 (en) Resizing virtual private networks in provider network environments
US11089021B2 (en) Private network layering in provider network environments
US20190356587A1 (en) Linking Resource Instances to Virtual Network in Provider Network Environments
US9654340B2 (en) Providing private access to network-accessible services
US11269673B2 (en) Client-defined rules in provider network environments
US11770364B2 (en) Private network peering in virtual network environments
US10862796B1 (en) Flow policies for virtual networks in provider network environments
US20220141080A1 (en) Availability-enhancing gateways for network traffic in virtualized computing environments

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130712

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150324

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151216

R150 Certificate of patent or registration of utility model

Ref document number: 5859519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250