(57)【要約】  データセンタ（ＤＣ）のネットワーキングリソースを複数の仮想ノードとして論理的に表すことによって、データセンタにおいて分散仮想ルーティングおよびスイッチング（ｄＶＲＳ）ソリューションを提供するためのシステム、方法、アーキテクチャ、および／または装置であって、各仮想ノードが、物理ネットワークノードおよび複数の仮想スイッチに基づいたＩＰインフラストラクチャを含み、各仮想スイッチが、ＶＬＡＮを介して他の仮想スイッチで１つまたは複数のＶＲＳインスタンスに結合されたＶＲＳインスタンスを含んで、それによって仮想サービスを提供し、物理ネットワークノードが、制御プレーン処理を行い、その仮想スイッチのローカルサービスと関連付けられた固有のルーティング情報を各仮想スイッチに提供する。したがって、データプレーンの視点から、仮想スイッチは、パケットの転送にコントローラを含めることなく、リモートＶＲＳインスタンスに向かうトンネルに直接トラフィックをルーティングおよび／またはスイッチングする。
2015530818.tif 000002
【特許請求の範囲】
【請求項１】
データセンタ（ＤＣ）において仮想化されたサービスを提供するための方法であって、
それぞれがコントローラ、ＩＰインフラストラクチャ、および複数の仮想スイッチ（ＶＳＷ）を備えた複数の仮想ノード（ＶＮ）を確立するステップを含み、
各ＶＳＷが、仮想ルーティングおよびスイッチング（ＶＲＳ）インスタンスをサポートするように、したがって転送情報を格納するためにプログラムされ、仮想化されたサービスが、ＩＰトンネルおよびＬ２またはＬ３サービスカプセル化を使用して相互に接続されたＶＲＳインスタンスの集まりにより提供され、
各コントローラが、１つまたは複数のＤＣゲートウェイ、他のリモートコントローラから、およびローカルＶＳＷから、仮想化されたサービスルート情報を受信し、要求された転送情報ベース（ＦＩＢ）を処理し、各ＶＳＷへ対応するＦＩＢ部分をダウンロードするように適合される、方法。
【請求項２】
仮想化されたサービス情報が、ＶＲＳに参加している各ＶＳＷに配布されて、複数のＶＳＷにわたって広がる異なるサブネット間のトラフィックの最短パスのルーティングを可能にする、請求項１に記載の方法。
【請求項３】
コントローラが、ＭＰ−ＢＧＰを使用して他のＶＳＷコントローラ、ＤＣ  ＧＷ、または外部ＰＥデバイスと通信し、
コントローラが、オープンフロー（Ｏｐｅｎｆｌｏｗ）拡張機能を使用して、ローカルＶＭイベント情報を受信する、請求項１に記載の方法。
【請求項４】
コントローラが、ＰＥサービスマネージャ手続きを使用して、ＭＰ−ＢＧＰとオープンフロー（Ｏｐｅｎｆｌｏｗ）の両方からのエントリを統合してテナントごとのＦＩＢテーブルを構築する、請求項３に記載の方法。
【請求項５】
前記コントローラが、トップオブラック（ＴｏＲ）またはエンドオブラック（ＥｏＲ）スイッチのＣＰＩＭおよびＶＭのうちの１つにおいて動作する、請求項１に記載の方法。
【請求項６】
前記コントローラが、サービスカプセル化を中間変換せずに、またはリモートデバイスの要件に従って選択されたサービスカプセル化を中間変換して、ＤＣゲートウェイルータと通信するように適合される、請求項３に記載の方法。
【請求項７】
前記コントローラが、サービスの自動インスタンス化およびサービスごとの監視を可能にするインタフェースを提供するように適合される、請求項１に記載の方法。
【請求項８】
データセンタ（ＤＣ）で仮想化されたサービスを提供するための装置であって、
それぞれがコントローラ、ＩＰインフラストラクチャ、および複数の仮想スイッチ（ＶＳＷ）を備えた複数の仮想ノード（ＶＮ）を確立するように構成されたプロセッサを含み、
各ＶＳＷが、仮想ルーティングおよびスイッチング（ＶＲＳ）インスタンスをサポートするように、したがって転送情報を格納するためにプログラムされ、仮想化されたサービスが、ＩＰトンネルおよびＬ２またはＬ３サービスカプセル化を使用して相互に接続されたＶＲＳインスタンスの集まりにより提供され、
各コントローラが、１つまたは複数のＤＣゲートウェイ、他のリモートコントローラから、およびローカルＶＳＷから、仮想化されたサービスルート情報を受信し、要求された転送情報ベース（ＦＩＢ）を処理し、各ＶＳＷへ対応するＦＩＢ部分をダウンロードするように適合される、装置。
【請求項９】
コンピュータによって実行されるとき、データセンタ（ＤＣ）で仮想化されたサービスを提供するための方法を行うようにコンピュータの動作を適合させる命令を記憶する、有形の非一時的コンピュータ可読記憶媒体であって、方法が、
それぞれがコントローラ、ＩＰインフラストラクチャ、および複数の仮想スイッチ（ＶＳＷ）を備えた複数の仮想ノード（ＶＮ）を確立するステップを含み、
各ＶＳＷが、仮想ルーティングおよびスイッチング（ＶＲＳ）インスタンスをサポートするように、したがって転送情報を格納するためにプログラムされ、仮想化されたサービスが、ＩＰトンネルおよびＬ２またはＬ３サービスカプセル化を使用して相互に接続されたＶＲＳインスタンスの集まりにより提供され、
各コントローラが、１つまたは複数のＤＣゲートウェイ、他のリモートコントローラから、およびローカルＶＳＷから、仮想化されたサービスルート情報を受信し、要求された転送情報ベース（ＦＩＢ）を処理し、各ＶＳＷへ対応するＦＩＢ部分をダウンロードするように適合される、コンピュータ可読記憶媒体。
【請求項１０】
コンピュータ命令が、ネットワーク要素でプロセッサによって実行されるとき、データセンタ（ＤＣ）で仮想化されたサービスを提供するための方法を提供するようにネットワーク要素の動作を適合させ、方法が、
それぞれがコントローラ、ＩＰインフラストラクチャ、および複数の仮想スイッチ（ＶＳＷ）を備えた複数の仮想ノード（ＶＮ）を確立するステップを含み、
各ＶＳＷが、仮想ルーティングおよびスイッチング（ＶＲＳ）インスタンスをサポートするように、したがって転送情報を格納するためにプログラムされ、仮想化されたサービスが、ＩＰトンネルおよびＬ２またはＬ３サービスカプセル化を使用して相互に接続されたＶＲＳインスタンスの集まりにより提供され、
各コントローラが、１つまたは複数のＤＣゲートウェイ、他のリモートコントローラから、およびローカルＶＳＷから、仮想化されたサービスルート情報を受信し、要求された転送情報ベース（ＦＩＢ）を処理し、各ＶＳＷへ対応するＦＩＢ部分をダウンロードするように適合される、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
出願人は、その全体が参照により本明細書に組み込まれている、２０１２年８月２８日に出願された、ＳＹＳＴＥＭ，ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＤＡＴＡ  ＣＥＮＴＥＲ  ＡＵＴＯＭＡＴＩＯＮという名称の先行仮特許出願第６１／６９３，９９６号の利益を主張する。
【０００２】
本発明は、通信ネットワークおよびそれによって接続される安全なデータセンタの分野に関する。
【背景技術】
【０００３】
データセンタ（ＤＣ）アーキテクチャは、一般的には、スケーラブルなレイヤ２またはレイヤ３インフラストラクチャにより相互に接続された多数の計算リソースおよびストレージリソースからなる。ハードウェアデバイス上で動作するこのネットワーキングインフラストラクチャに加えて、ＤＣネットワークは、汎用コンピュータ、およびロードバランサ、ＡＤＣ、ファイアウォール、ＩＰＳ／ＩＤＳシステムなどの特定のネットワークサービスを供給する専用ハードウェア機器上で動作するソフトウェアネットワーキングコンポーネント（ｖｓｗｉｔｃｈｅ）を含む。ＤＣインフラストラクチャは、企業によって、またはサービスプロバイダ（クラウドサービスプロバイダすなわちＣＳＰと呼ばれる）によって所有され、いくつかのテナントによって共有されることが可能である。計算およびストレージインフラストラクチャは、様々なテナントが同じリソースを共有できるようにするために仮想化される。各テナントは動的に、グローバルプールからのリソースを、その個々のサービスに追加する／その個々のサービスから削除することができる。
【０００４】
ＤＣネットワークは、様々なテナント（例えば、様々な会社）間の厳密なパフォーマンス分離を維持しながら、各テナントにリソースを動的に割り当てることができなければならない。その上テナントは、サブテナント（例えば、様々な企業部門）にさらに分割され、それらの間でも厳密に分離される可能性がある。例えば、企業が、様々な部門間で分割されたＣＳＰ  ＤＣのリソースを必要とする。
【０００５】
データセンタ（ＤＣ）ネットワークインフラストラクチャは、外部の世界と、様々な計算リソースおよびストレージリソース、例えば、ＩＰホスト（例えば、サーバブレードまたはベアメタルサーバ上のＶＭ）、関連するストレージおよびサービス機器（ＦＷ、ＬＢ、ＮＡＴ）などとの間の接続サービスを提供するように設計される。基本的な接続性の視点から、これは通常、ＩＰルータ（Ｌ３）を介して相互に接続されたＶＬＡＮ（Ｌ２）のセットを使用して実装される。クラウドプロバイダが、ますます多くなる顧客に対処するためにその範囲を拡大することによってその収益を増大させようとするとき、基本的なＶＬＡＮおよび共有ＩＰルーティングコンテキストから、よりスケーラブルなアーキテクチャに移行する必要がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
従来の技術における様々な欠点は、データセンタ（ＤＣ）のネットワーキングリソースを複数の仮想ノードとして論理的に表すことによって、データセンタにおいて分散仮想ルーティングおよびスイッチング（ｄＶＲＳ）ソリューションを提供するためのシステム、方法、アーキテクチャ、および／または装置によって対処され、各仮想ノードが、物理ネットワークノードおよび複数の仮想スイッチに基づいたＩＰインフラストラクチャを含み、各仮想スイッチが、ＶＬＡＮを介して他の仮想スイッチで１つまたは複数のＶＲＳインスタンスに結合されたＶＲＳインスタンスを含んで、それによって仮想サービスを提供し、物理ネットワークノードが、制御プレーン処理を行い、その仮想スイッチのローカルサービスと関連付けられた固有のルーティング情報を各仮想スイッチに提供する。したがって、データプレーンの視点から、仮想スイッチは、パケットの転送にコントローラを含めることなく、リモートＶＲＳインスタンスに向かうトンネルに直接トラフィックをルーティングおよび／またはスイッチングする。
【０００７】
例えば、データセンタ（ＤＣ）において仮想化されたサービスを提供するための１つの実施形態による方法は、各仮想ノード（ＶＮ）がコントローラ、ＩＰインフラストラクチャ、および複数の仮想スイッチ（ＶＳＷ）を含んだ複数のＶＮを確立するステップを含み、各ＶＳＷが、仮想ルーティングおよびスイッチング（ＶＲＳ）インスタンスをサポートするように、したがって転送情報を格納するためにプログラムされ、仮想化されたサービスが、ＩＰトンネルおよびＬ２またはＬ３サービスカプセル化を使用して相互接続されたＶＲＳインスタンスの集まりにより提供され、各コントローラが、１つまたは複数のＤＣゲートウェイ、他のリモートコントローラから、およびローカルＶＳＷから仮想化されたサービスルート情報を受け取って、要求される転送情報ベース（ＦＩＢ）を処理し、各ＶＳＷへ対応するＦＩＢ部分をダウンロードするようになされる。
【０００８】
本明細書の教示は、添付の図面と併せて次の詳細な説明を考察することによって容易に理解されることが可能であろう。
【図面の簡単な説明】
【０００９】
【図１】様々な実施形態から恩恵を受けるシステムのハイレベルブロック図である。
【図２】仮想ルーティングおよびスイッチング（ＶＲＳ）ならびに仮想ノードの一実施形態のハイレベルブロック図である。
【図３】一実施形態によるＤＣ  ＧＷ  ＰＥ上のＩＰ  ＶＰＮサービスに接続されたｄＶＲＳへのテナントＬ２およびＬ３サービストポロジの例示的マッピングを示す図である。
【図４】一実施形態によるＶＲＳインスタンスのためのｄＶＲＳ転送およびトンネリングの詳細を示す図である。
【図５】図４のｄＶＲＳ転送およびトンネリングのハイレベルネットワークビューを示す図である。
【図６】一実施形態によるｄＶＲＳソリューションを可能にするための方法の流れ図である。
【図７】本明細書に記載した諸機能を実行する際に使用するのに適したコンピューティングデバイスのハイレベルブロック図である。
【発明を実施するための形態】
【００１０】
理解を容易化するために、図に共通している同一の要素を示すため、可能であれば同一の参照符号が使用されている。
【００１１】
本発明は、Ｌ２／Ｌ３マルチテナントおよび汎用トンネリングを備えた分散仮想ルーティングおよびスイッチング（ｄＶＲＳ）を提供するシステム、方法、アーキテクチャ、および／または装置に関連させて説明される。しかしながら、本発明は、様々な実施形態に関して本明細書に記載するよりも広義の適用可能性を有することが当業者には理解されよう。
【００１２】
さらに、特定の機器構成、プロトコル、機構などに関連させて、様々な実施形態が説明されるが、さらに多くの様々な機器構成、プロトコル、機構なども、様々な実施形態内で使用するために適用できるものとして、発明者により考えられる。例えば、様々な実施形態は、ＶＭ上もしくはＴｏＲ制御プレーンモジュール内で動作している集中コントローラと、１つもしくは複数の物理サーバまたはサーバ要素とを含んだデータセンタ（ＤＣ）機器ラックに関連させて説明されることになる。
【００１３】
一般的に言えば、物理サーバまたはサーバ要素のそれぞれが、ホストマシンを含み、このホストマシン上で、計算リソース／ストレージリソースを使用する仮想サービスが、サーバ上で動作している、またはサーバと関連付けられた、ハイパーバイザまたは仮想マシンモニタ（ＶＭＭ）によってインスタンス化される。ハイパーバイザは、サーバ上で１つまたは複数の仮想化されたサービスをインスタンス化する、終了させる、および他の方法で制御するように適合されたソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せを含む。様々な実施形態では、単一ラックと関連付けられたサーバは、例示的には４０個の仮想スイッチ（ＶＳＷ）のインスタンス化をサポートするように集合的に動作可能である。より多くのまたはより少ないサーバ、インスタンス化されたスイッチなどが、ＤＣ内の特定の機器ラックまたはクラスタ内に設けられてもよいことは理解されよう。したがって、時には仕様図は、特定の機能に対して４０個の通信経路が使用されていることを示す。容易に理解されるであろうが、４０個よりも多いまたは少ない通信経路が使用されることも可能であり、より多いまたはより少ないＶＳＷが使用されることも可能であり、その他同様である。
【００１４】
本明細書で説明する仮想化されたサービスは、概して、テナントに提供されることが可能である任意のタイプの仮想化された計算リソースおよび／またはストレージリソースを述べた。さらに、仮想化されたサービスは、仮想化された計算リソース／ストレージリソース、データセンタネットワークインフラストラクチャなどを使用する非仮想機器または他の装置へのアクセスも含む。
【００１５】
図１は、様々な実施形態から恩恵を受けるシステムのハイレベルブロック図を示す。具体的には図１は、１つまたは複数のネットワーク１０２を介して住宅サイトおよび／または企業サイトでアプリケーション要求を有する数多くの顧客１０５に計算リソースおよびストレージリソースを提供するように動作可能な複数のデータセンタ（ＤＣ）１０１−１から１０１−Ｘ（集合的にデータセンタ１０１）を含んだシステム１００を示す。
【００１６】
住宅サイトおよび／または企業サイトでアプリケーション要求を有する顧客１０５は、任意の標準的な有線または無線アクセスネットワークを介してネットワーク１０２と対話して、ローカルクライアントデバイス（例えば、コンピュータ、モバイルデバイス、セットトップボックス（ＳＴＢ）、ストレージエリアネットワーク構成要素、顧客エッジ（ＣＥ）ルータ、アクセスポイントなど）がデータセンタ１０１の１つまたは複数で仮想化された計算リソースおよびストレージリソースにアクセスできるようにする。
【００１７】
ネットワーク１０２は、仮想プライベートネットワーク（ＶＰＮ）、ロングタームエボリューション（ＬＴＥ）、ボーダネットワークゲートウェイ（ＢＮＧ）、インターネットネットワークなど、複数の利用可能なアクセスネットワークおよび／またはコアネットワークトポロジおよびプロトコルのいずれかを、単独で、または任意の組合せで、含むことができる。
【００１８】
様々な実施形態は、概して、ＩＰ  ＶＰＮまたはＶＰＬＳ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  ＬＡＮ  Ｓｅｒｖｉｃｅｓ：仮想プライベートＬＡＮサービス）を実装したマルチプロトコルラベルスイッチング（ＭＰＬＳ）ネットワークに関連させて説明され、様々なレイヤ３またはレイヤ２サービスが、プロトコルデータユニット（ＰＤＵ）をカプセル化し、これらを安全なトンネルを通じてプロバイダエッジ（ＰＥ）ノード１０８間で伝送することによって、ＭＰＬＳバックボーンを通じてエミュレートされる。ＰＥノード１０８のそれぞれが、複数のデータセンタ１０１をサポートすることができる。すなわち、ネットワーク１０２とＤＣ１０１−Ｘとの間の通信として図１に示される２つのＰＥノード１０８−１および１０８−２もまた、複数の他のデータセンタ１０１をサポートするように使用されることが可能である。
【００１９】
データセンタ１０１（例示的にはＤＣ１０１−Ｘ）は、複数のコアスイッチ１１０と、複数のサービス機器１２０と、第１のリソースクラスタ１３０と、第２のリソースクラスタ１４０と、第３のリソースクラスタ１５０とを含むものとして示される。
【００２０】
例示的に、２つのＰＥノード１０８−１および１０８−２のそれぞれは、例示的に、２つのコアスイッチ１１０−１および１１０−２のそれぞれに接続される。より多いまたはより少ないＰＥノード１０８および／またはコアスイッチ１１０が使用されることもあり、一般的には冗長またはバックアップ能力が望まれる。ＰＥルータ１０８は、ＤＣ１０１をネットワーク１０２と相互に接続し、それによって他のＤＣ１０１およびエンドユーザ１０５と接続する。ＤＣ１０１は、一般的にセルにまとめられ、各セルが、何千ものサーバおよび仮想マシンをサポートすることができる。
【００２１】
コアスイッチ１１０−１および１１０−２のそれぞれが、それぞれの（オプションの）サービス機器１２０−１および１２０−２と関連付けられる。サービス機器１２０は、ファイアウォールを提供する、ロードバランシングタスクを行うなど、上位層ネットワーキング機能を提供するために使用される。
【００２２】
リソースクラスタ１３０−１５０は、マルチサーバブレードシャーシによって、または個々のサーバによって実装されたサーバのラックとして構成された計算リソースおよび／またはストレージリソースとして示されている。各ラックが、（アーキテクチャによって決まる）いくつかのサーバを保持し、各サーバが、いくつかのプロセッサをサポートすることができる。ネットワーク接続のセットが、サーバをトップオブラック（Ｔｏｐ−ｏｆ−Ｒａｃｋ：ＴｏＲ）、またはエンドオブラック（Ｅｎｄ−ｏｆ−Ｒａｃｋ：ＥｏＲ）スイッチと接続する。本明細書では３つのリソースクラスタ１３０−１５０のみが示されているが、何百、何千ものリソースクラスタが使用されることも可能である。さらに、図示したリソースクラスタの構成は、説明のためのものであり、当業者には、より多くの多様なリソースクラスタ構成が知られている。また、ＤＣ１０１での関連で、特定の（すなわち、クラスタ化されていない）リソースが使用されて、計算リソースおよび／またはストレージリソースを提供することも可能である。
【００２３】
例示のリソースクラスタ１３０は、（１つまたは複数の）大容量記憶装置またはストレージエリアネットワーク（ＳＡＮ）１３３ならびに例示的には仮想マシン（ＶＭ）をサポートするように適合された複数のサーバブレード１３５と通信しているＴｏＲスイッチ１３１を含んでいるとして示される。例示のリソースクラスタ１４０は、複数の別々のサーバ１４５と通信しているＥｏＲスイッチ１４１を含んでいるとして示される。例示のリソースクラスタ１５０は、例示的にはＶＭベースの機器をサポートするように適合された複数の仮想スイッチ１５５と通信しているＴｏＲスイッチ１５１を含んでいるとして示される。
【００２４】
様々な実施形態では、ＴｏＲスイッチ／ＥｏＲスイッチは、ＰＥルータ１０８と直接接続される。様々な実施形態では、コアスイッチまたは集約スイッチ１２０は、ＴｏＲスイッチ／ＥｏＲスイッチをＰＥルータ１０８に接続するために使用される。様々な実施形態では、コアスイッチまたは集約スイッチ１２０は、ＴｏＲスイッチ／ＥｏＲスイッチを相互に接続するために使用される。様々な実施形態では、ＴｏＲスイッチ／ＥｏＲスイッチの一部または全部の間で直接通信が行われることが可能である。
【００２５】
したがって、４１個のネットワーク要素を有するラック（ＴｏＲスイッチと４０個の仮想スイッチ）が、単一ネットワーク要素、すなわちＴｏＲスイッチとして表されている。以下にさらに詳細に述べるように、ＴｏＲスイッチ内で動作している仮想スイッチ制御モジュール（ＶｉｒｔｕａｌＳｗｉｔｃｈ  Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅ  ：ＶＣＭ）が、ＤＣ内部および外部の他のルータおよびネットワーク要素から、接続性、ルーティング、到達可能性、および他の制御プレーン情報を収集する。ＶＣＭは、通常のサーバに配置されたＶＭ上でも動作することができる。ＶＣＭは、仮想スイッチと関連付けられた仮想マシン（ＶＭ）に関連する特定のルーティング情報を用いて、仮想スイッチのそれぞれをプログラムする。このプログラミングは、仮想スイッチ内のＬ２および／またはＬ３転送テーブルまたは他のデータ構造を更新することによって行われることが可能である。このように、仮想スイッチで受信されたトラフィックは、ＩＰトンネルを使用して発信元ハイパーバイザと宛先ハイパーバイザとの間のトンネルを通じて仮想スイッチから適切な次のホップへ伝搬される。ＴｏＲスイッチは、サービスアドレス指定を意識することなく、単にトンネル転送を行う。
【００２６】
一般的に言えば、内部ＤＣネットワークのための「エンドユーザ／顧客エッジ均等物」は、ＶＭまたはサーバブレードホスト、サービス機器、およびストレージエリアを含む。同様に、データセンタゲートウェイ装置（例えば、ＰＥサーバ１０８）は、外部の世界、すなわちインターネット、ＶＰＮ（ＩＰ  ＶＰＮ／ＶＰＬＳ／ＶＰＷＳ）、他のＤＣ位置、企業プライベートネットワークもしくは（住宅）加入者配備（ＢＮＧ、無線（ＬＴＥ他）、ケーブル）などへの接続性を提供する。
【００２７】
分散仮想ルーティングおよびスイッチング（ｄＶＲＳ）
様々な実施形態が、データセンタ管理およびサービス配信能力を向上させるように適合された分散仮想ルーティングおよびスイッチング（ｄＶＲＳ）ソリューションを実行するように動作する。簡単に言えば、ｄＶＲＳソリューションは、次の利点または特徴の１つまたは複数を提供する：（１）単純化されたサービス配信、すなわち、Ｌ２、Ｌ３、および／またはＬ４マルチテナントに単一ソリューション、（２）例えばＩＰトンネリングを通じたＶＸＬＡＮまたはＮＶＧＲＥサービスカプセル化によるＤＣ内トラフィックのための、および例えばＶＰＮサービスカプセル化によるＤＣ内トラフィックのための、最適化されたソリューション、（３）インターネット／ＩＰと相互運用可能なＶＰＮゲートウェイ、例えば、ＡＬＵ（例えば、Ａｌｃａｔｅｌ−Ｌｕｃｅｎｔの７７５０サービスルータ）、Ｃｉｓｃｏ、Ｊｕｎｉｐｅｒなどから提供されるＤＣ  ＧＷ、（４）標準的なＩＰ（ＧＲＥ）またはＭＰＬＳトンネリング、標準的なＢＧＰおよびＩＧＰ制御プレーンを使用することができる、（５）１０万を超える（１００Ｋ＋）テナントをサポートするスケーラブルなマルチテナント、（６）ＤＣ内（東西）トラフィックが、ＤＣ  ＧＷルータ／ＰＥの通過を回避することができる、（７）最適化されたトラフィックステアリングを行うのに必要とされる５タプルのフロー情報をすべてのＶｓｗｉｔｃｈに提供することによって、トラフィックトロンボーン現象（ｔｒａｆｆｉｃ  ｔｒｏｍｂｏｎｉｎｇ）および三角ルーティング（ｔｒｉａｎｇｕｌａｒ  ｒｏｕｔｉｎｇ）を回避する、（８）ＶＭモビリティのための信頼できるソリューションを提供する：、ＤＣ内およびＤＣ間移動のＶＭイベントを追跡するサービス接続性のスケーラブルな自動移動。
【００２８】
一般的に言えば、様々な実施形態によるｄＶＲＳソリューションは、複数の参加中の仮想ノードのそれぞれにおいて動作している仮想ルーティングおよびスイッチング（ＶＲＳ）インスタンスの集まりを含む。ＶＲＳインスタンスは、Ｌ２および／またはＬ３転送を行うことができる。ＶＲＳインスタンスは、ＤＣ内トラフィックを処理する、または、ＶＰＮルーティングおよび転送（ＶＲＦ）テーブルを使用するＤＣ  ＧＷなどのＤＣ  ＧＷに直接外部トラフィックを送信するために使用される。
【００２９】
各仮想ノードは、（制御および管理プレーン機能を実行する）コントローラ、および計算リソース（ＶＭ）を計算リソース間で、および外部のドメインと、相互に接続する転送機能を実行する様々なｖＳｗｉｔｃｈを使用して形成されることが可能であり、これらの実施形態および他の実施形態は、他の転送要素（Ｖｓｗｉｔｃｈの代わりにＴｏＲ  ＧＷ）および付属装置（例えば、ＶＭの代わりにサービス機器、ベアメタルサーバ）を使用するように変更されることが可能である。
【００３０】
仮想ノード
図２は、仮想ルーティングおよびスイッチング（ＶＲＳ）要素の一実施形態のハイレベルブロック図を示す。具体的には、図２は、様々なコアノード、ルータなど（例えばコアスイッチ、ＴｏＲ／ＥｏＲスイッチなど）によってサポートされるデータセンタＩＰバックボーン（例えば、ＩＧＰ、ＭＰ−ＢＧＰ）を介して１つまたは複数のデータセンタゲートウェイ装置（ＤＣ  ＧＷ）１０８と通信している複数の仮想ノード２０１を示す。
【００３１】
図１に関して上述したように１つまたは複数のリソースクラスタと関連付けられた物理リソースを使用して、仮想ノードが形成される。
【００３２】
仮想ノード（ＶＮ）２０１は、ディスクリートサーバ、サーバブレードなどの１つまたは複数のサーバ要素上でインスタンス化される複数の仮想スイッチ（ＶＳＷ）２２０−１から２２０−ｎと通信しているＴｏＲ（またはＥｏＲ）２１０など、ＤＣデバイス上に実装されるＩＰインフラストラクチャを含む。
【００３３】
ＴｏＲは、例示的には、高密度の１０Ｇ／４０Ｇ／１００Ｇイーサネット（登録商標）集約ソリューションを提供する物理デバイスを含む。ＴｏＲは、制御プレーンインタラクションモジュール（Ｃｏｎｔｒｏｌ  Ｐｌａｎｅ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｍｏｄｕｌｅ：ＣＰＩＭ）２１２と、仮想スイッチ制御モジュール（ＶＣＭ）２１４とを含む。同じモジュールは、サーバのＶＭで動作する集中コントローラで動作することも可能である。ＴｏＲベースのモジュールの説明はすべて、ＶＭの場合にも当てはまる。
【００３４】
ＣＰＩＭ２１２は、例示的には、マルチプロトコルＢＧＰ（ＭＰ−ＢＧＰ）を使用して、ＤＣ内および／またはＤＣ外部で、ＴｏＲと他のスイッチ、ルータ、ネットワーク要素などとの間の制御プレーンインタラクションを提供して、それにより、ＶＳＷ２２０によってサポートされる仮想化されたサービスと関連付けられる、ルーティング情報、到達可能性情報、接続情報、および他の制御プレーン情報を集める。
【００３５】
仮想スイッチ（ＶＳＷ）２２０は、例えば仮想化されたネットワーキングが配備されるとき、１つまたは複数の物理ホストサーバ（図示せず）で実行されるハイパーバイザ機能により実装される。各ＶＳＷ２２０は、ＶＳＷ２２０と同じハイパーバイザ内で、またはハイパーバイザによって提供されるアプリケーションプログラミングインタフェース（ＡＰＩ）を介して実行されることが可能であるｖ−ｓｗｉｔｃｈエージェント（ＶＡｇ）と関連付けられる。
【００３６】
ＶＣＭ２１４は、ＴｏＲ２１０にアタッチされた仮想スイッチ（ＶＳＷ）２２０のすべてを制御する。ＶＣＭ２１４は、ネットワーク管理者が対応するＶＳＷ２２０の挙動を監視し、変更できるようにするインタフェースを提供することができる。ＶＣＭ２１４はまた、ＶＳＷ２２０およびＴｏＲ２１０が仮想ノードとして動作できるようにする、必要なプロトコル能力すべてを含む。
【００３７】
例えば、ＶＳＷ２２０は、ＶＲＳトンネルカプセル化を行い、Ｖｓｗｉｔｃｈに関連するすべてのＶＲＳインスタンスの転送を処理する。転送は、ＶＣＭ２１４とＶＳＷ２２０のＶＡｇ２２０との間の通信パスを介してダウンロードされるＦＩＢエントリに基づく。
【００３８】
図２に示すように、ＣＰＩＭ２１２は、ＢＧＰを使用して、他のＣＰＩＭモジュールと、またはＤＣ  ＧＷ  ＰＥと、ルート、到達可能性、および他の制御プレーン情報を交換し、ＶＣＭ２１４からのローカル情報について知る。次いでＣＰＩＭ２１２モジュールは、ルーティング情報ベース、およびテナントごとのＦＩＢを生成する。次いでＶＣＭ２１４は、オープンフロー（ＯｐｅｎＦｌｏｗ）を使用して、仮想サービスのためにＶＳＷ２２０に転送テーブル（転送情報ベース）エントリをダウンロードする。
【００３９】
ｄＶＲＳデータプレーンＶＲＳ２２１が、各参加中のＶＳＷ２２０（すなわち２２０−１、２２０−３、……２２０−ｎ）において動作しており、ＴｏＲ２１０は、アウターＩＰトンネルヘッダを使用したＩＰ転送のみを行っている。
【００４０】
Ｖｓｗｉｔｃｈアップリンクから、またはローカルＶＭからフレームが届くと、すべてのＶＲＳインスタンスが、ＩＰおよび／またはＭＡＣルックアップを行う。ルックアップの結果、次のホップがコアトンネルを指す場合、様々な実施形態は、複数のトンネルカプセル化をサポートして、ＤＣ内最適化およびＤＣゲートウェイ相互運用性に対応する。
【００４１】
図３は、一実施形態によるテナントへのリソース割当てをサポートする例示的仮想化を示す。動作において、各テナントは、仮想化されたＬ２（ＥＬＡＮ）および／またはＬ３／ＩＰ（ＶＲＦ）サービスの１つまたは組合せを必要とする。
【００４２】
図３を参照すると、「テナント１」が２つのアプリケーション、すなわちビジネスロジックアプリケーションＢおよびウェブアプリケーションＷに、ＤＣリソースを必要とする。アプリケーション（ＢおよびＷ）のそれぞれが、例示的にはＬ２セグメントまたはＶＬＡＮを使用して相互に接続されたＶＭグループに割り当てられる。具体的には、ビジネスロジックアプリケーションＢは、第１のＶＬＡＮ（ＶＬＡＮ１１）に割り当てられ、ウェブアプリケーションＷは、第２のＶＬＡＮ（ＶＬＡＮ１２）に割り当てられる。
【００４３】
図３に示すように、１０．１．０．０というＩＰアドレスが、テナント１と関連付けられ、１０．１．０．１というＩＰアドレスが、テナント１ルータＧＷ２１１と関連付けられ、１０．１．０．１００というＩＰアドレスが、テナント１ウェブサーバと関連付けられる。
【００４４】
さらに図３に示すように、また上述のように、ＶＬＡＮ（ＶＬＡＮ１１、ＶＬＡＮ１２）のそれぞれ、およびルータ２１１が、仮想ノード２０１の参加中のＶＳＷ２２０を実行するそれぞれのｄＶＲＳ（ＶＲＳ）データプレーン２２１を使用してエミュレートされる。ＶＬＡＮのコアまたはアクセス側からフレームが届くとき、すべてのＶＲＳインスタンスが、ＩＰおよび／またはＭＡＣルックアップを行い、それに応じてルーティング機能を行う。ＶＲＳインスタンスは、ハイパーバイザ間に直接トンネルを作成することになり、ルックアップ（ＩＰまたはＭＡＣ）に基づいて、対応するトンネルにパケットをカプセル化し、これを宛先ハイパーバイザに直接転送することになる。
【００４５】
これを実現するために、ＶＲＳインスタンスは、ルーティング情報を必要とする。これは、異なるＶＲＳインスタンス間でルーティングプロトコルを使用することによって取り出される。ＶＲＳインスタンスが公衆インターネットと通信するために、ＶＲＳインスタンスは、特定のルートに対して、トラフィックをＶＲＦ（１０８−１）に転送しなければならないことを知り、対応するＶＲＦの宛先でトンネルにパケットをカプセル化し、ＩＰコアネットワークを通じてこのＶＲＦへパケットを転送する。
【００４６】
サービス接続の論理表現は、いくつかのＶｓｗｉｔｃｈに配布されることが可能であるＬ２および／またはＬ３のテナントごとのインスタンスによって提供されることに留意されたい。
【００４７】
図４は、一実施形態によるＶＲＳ転送およびトンネリング機構を図示する。具体的には、図４は、例示的に、図３に関して上述したテナント１要件に適用されるｄＶＲＳ転送およびトンネリング機構を示す。「Ｗ」と示すＶＭがウェブアプリケーションを実行し、「Ｂ」と示すＶＭがビジネスロジックアプリケーションを実行することに留意されたい。
【００４８】
図４を参照すると、ＶＳＩ（仮想スイッチインタフェース）が、所与の仮想マシンがアタッチされるＶＲＳのインタフェースを表す。ＶＲＳは、ローカルの仮想マシン、または仮想マシン自体の間および外部の世界との間の他のＶｓｗｉｔｃｈに配置された仮想マシンを相互に接続する。ＤＣ内の宛先については、ＶＲＳは、例示的には、Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  ＬＡＮ（仮想拡張可能ＬＡＮ：ＶＸＬＡＮ）サービスカプセル化およびＩＰトンネリング４５０を使用して転送を行い、ＤＣ  ＧＷを通して外部ＤＣの宛先に転送するためには、例示的には、汎用ルーティングカプセル化（ＧＲＥ）４６０を通じたＭＰＬＳを使用する。具体的には、様々なトンネリングエンドポイント４１０（Ｔ）が、ＶＳＷ２２０およびＤＣ  ＧＷ１０８に見つけられることがわかる。さらに、ＴＯＲ２１０で動作しているＩＰルーティングコンテキスト４２０（Ｒ）、およびコアノード１１０は、異なるサービス終端ポイント間でパケットをトランスポートするのに必要とされるトンネル転送を提供する。
【００４９】
使用事例
（１）サブネット間の東西トラフィックの最適な処理、（２）トラフィックトロンボーン問題に対処すること、（３）Ｌ２／Ｌ３サービスのための既存のＶＰＮソリューションとの相互運用性、（４）Ｌ２／Ｌ３における汎用ＶＭモビリティなど、上述のｄＶＲＳソリューションによって対処されるいくつかの使用事例がある。
【００５０】
図６は、一実施形態による方法の流れ図を示す。具体的には、図６は、データセンタ（ＤＣ）で仮想化されたサービスを提供するための方法６００の流れ図を示す。
【００５１】
前述のように、ＤＣテナントに提供される各仮想サービスは、異なるＶｓｗｉｔｃｈにある複数のインスタンスを使用して形成されるＶＲＳにより実装される。
【００５２】
ステップ６１０において、複数の仮想ノード（ＶＮ）が確立され、各ＶＮが、ＩＰインフラストラクチャによって相互に接続された１つまたは複数のサーバラックまたはリソースクラスタにある複数の仮想スイッチ（ＶＳＷ）と関連付けられたコントローラを含む。ボックス６１５を参照すると、各ＶＮにおいてコントローラは、ＴｏＲ／Ｅｏｒで、または集中ＶＭで動作し、ＶＳＷは、サーバで動作しているハイパーバイザにおいてインスタンス化される。ＤＣネットワーク構成要素（ＴｏＲ、ＥｏＲ、コアデバイス）で動作しているＩＰインフラストラクチャは、仮想ノードファブリックとして使用される。
【００５３】
ステップ６２０において、コントローラがＶＭイベントを知るとすぐに、ＶＳＷの１つまたは複数で、仮想ルーティングおよびスイッチング（ＶＲＳ）インスタンスが、自動的に確立される、または削除される。ＶＭイベントは、ＶＭインスタンス化、消去、移行などを含むことができる。厳密には本来は仮想ではないが、本明細書で述べるＶＭイベント機構は、機器アタッチメント、デタッチメントなど、ならびに他の計算／ストレージサービス配信にも対処する。
【００５４】
ステップ６３０において、各コントローラが、そのローカルにアタッチされたＶＭに関する情報、およびリモートコントローラまたはＤＣ  ＧＷとの交換からの情報を使用して、ルーティング情報ベースおよび関連ＦＩＢエントリを作成する。ボックス６３５を参照すると、ＭＰ−ＢＧＰ制御プレーンが使用されて、サービスマネージャにリモートＶＮの到達可能性情報をフィードする。例えば、ＶＭイベントトラッキング＆プロファイル発見が、コントローラとＰＥデバイスとの間のＭＰ−ＢＧＰ交換を使用して行われ、テナントごとのＦＩＢが、サービスマネージャによって管理される。
【００５５】
ステップ６４０において、Ｖｓｗｉｔｃｈの仮想エージェントは、アクティブＶＲＳフローが適切に処理されることを保証するように転送プレーンをプログラムする。ボックス６４５を参照すると、Ｖｓｗｉｔｃｈがアクティブフローを適切にルーティングするために必要な転送テーブルデータで適切にプログラムされるように、コントローラから仮想エージェントにＦＩＢ（および他の情報）をダウンロードするために、オープンフロー（ＯｐｅｎＦｌｏｗ）が使用されることが可能である。
【００５６】
図７は、本明細書に記載する機能を実行する際に使用するのに好適な、通信またはデータセンタネットワーク要素中のプロセッサのようなコンピューティングデバイスの高レベルブロック図を示す。具体的には、本明細書に記載するコンピューティングデバイス７００は、様々なデータセンタ（ＤＣ）要素、ネットワーク要素、ノード、ルータ、管理エンティティなどに関して上述した様々な機能を、ならびに様々な図に関して述べた方法／機構を実行するようによく構成されている。
【００５７】
図７に示すように、コンピューティングデバイス７００は、プロセッサ要素７０３（例えば、中央処理装置（ＣＰＵ）および／または（１つまたは複数の）他の好適なプロセッサ）と、メモリ７０４（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）など）と、連携モジュール／プロセス７０５と、様々な入力／出力装置７０６（例えば、ユーザ入力装置（例えばキーボード、キーパッド、マウスなど）、ユーザ出力装置（例えばディスプレイ、スピーカなど）、入力ポート、出力ポート、受信機、送信機、および記憶装置（例えば、永続的ソリッドステートドライブ、ハードディスクドライブ、コンパクトディスクドライブなど））とを含む。
【００５８】
本明細書に示して説明した機能は、ソフトウェアで、および／またはソフトウェアとハードウェアの組合せで、例えば汎用コンピュータ、１つもしくは複数の特定用途向け集積回路（ＡＳＩＣ）、および／またはその他のハードウェア均等物を使用して、実装されることが可能であることは理解されよう。１つの実施形態では、連携プロセス７０５は、メモリ７０４にロードされ、プロセッサ７０３によって実行されて本明細書に説明する機能を実行することができる。したがって、連携プロセス７０５（関連するデータ構造を含む）は、例えばＲＡＭメモリ、磁気または光学式ドライブまたはディスケットなど、コンピュータ可読記憶媒体に記憶されることが可能である。
【００５９】
図７に示されるコンピューティングデバイス７００は、本明細書に記載する機能要素または本明細書に記載する機能要素の一部を実行するために好適な、一般的なアーキテクチャおよび機能性を提供することは理解されよう。
【００６０】
ソフトウェアの方法として本明細書に記載した諸ステップのいくつかは、例えばプロセッサと協力して様々な方法のステップを実行する回路として、ハードウェアの中に実装されることが可能であると考えられる。本明細書に記載する機能／要素の一部は、コンピュータ命令が、コンピューティングデバイスによって処理されるとき、本明細書に記載する方法および／または技法が呼び出される、または他の方法で提供されるようにコンピューティングデバイスの動作を構成する、コンピュータプログラム製品として実装されることが可能である。発明の方法を呼び出すための命令は、固定された、もしくは取り外し可能な媒体もしくはメモリなど、有形の非一時的コンピュータ可読媒体に格納される、ブロードキャストの、もしくは他の信号を載せる媒体の有形もしくは無形のデータストリームによって送信される、および／または命令により動作するコンピュータデバイス内のメモリ内に記憶されることが可能である。
【００６１】
本発明の教示を組み込む様々な実施形態を本明細書で詳細に示して説明したが、これらの教示を依然として組み込んだ他の多くの変更形態を、当業者は容易に考案することができる。したがって、前述の内容は、本発明の様々な実施形態を対象としているが、本発明の基本的な範囲から逸脱することなく、本発明の他のさらなる実施形態が考案されることが可能である。したがって、本発明の適切な範囲は、特許請求の範囲により定められなければならない。
【図１】
2015530818.tif 000003
【図２】
2015530818.tif 000004
【図３】
2015530818.tif 000005
【図４】
2015530818.tif 000006
【図５】
2015530818.tif 000007
【図６】
2015530818.tif 000008
【図７】
2015530818.tif 000009
【国際調査報告】
2015530818.tif 000010
2015530818.tif 000011