(57)【特許請求の範囲】
【請求項１】
クラウドトポロジのリソースをプライベートエンタープライズネットワークに組み込む方法であって、
クラウドトポロジ内のクラウドデータセンタ内に論理カスタマエッジルータを作成すること、
プライベートエンタープライズネットワーク内にあるＩＰサブネットを仮想スタブに提供することであって、仮想スタブが、プライベートエンタープライズネットワークに割り振られ、仮想スタブの外部のクラウドリソースから隔離されたリソースを備えるクラウドトポロジ内の論理ネットワークを備えること、
ＩＰサブネットから、仮想スタブ内の各リソースにＩＰアドレスを割り振ること、
プライベートエンタープライズネットワークのカスタマエッジルータとクラウドデータセンタ内の論理カスタマエッジルータとに接続することによって仮想スタブとインタフェースをとるように、サービスプロバイダネットワークにおいて、プロバイダエッジルータをプロビジョニングすること、
クラウドデータセンタにある仮想ルーティングおよび転送テーブル中で、ＩＰサブネットに対するルーティングエントリを追加すること、
ルーティングエントリを、プライベートエンタープライズネットワーク内のすべてのカスタマエッジルータに配ること、ならびに
クラウドデータセンタにあるディレクトリサーバ内でデフォルトエントリを追加することであって、デフォルトエントリが、すべてのエンタープライズアドレスを、クラウドデータセンタ内の論理カスタマエッジルータのロケーションＩＰアドレスおよびクラウドＩＰアドレスにマッピングすることを含む、方法。
【請求項２】
プライベートエンタープライズネットワーク内のソースから、プライベートエンタープライズネットワークに割り振られたクラウドトポロジ内の宛先にパケットを送信する方法であって、
プライベートエンタープライズネットワーク内のソースから、クラウドデータセンタ内の論理カスタマエッジルータにパケットを向けることであって、クラウドデータセンタが、クラウドトポロジ内の仮想スタブ内に置かれていること、
クラウドデータセンタによって、クラウドデータセンタにおけるディレクトリサービスに問い合わせて、宛先のクラウドＩＰアドレスおよびロケーションＩＰアドレスを判定すること、
宛先が仮想スタブの内部に置かれているとき、クラウドデータセンタによってパケットをカプセル化することであって、パケットが、対応する宛先のクラウドＩＰヘッダーで最初にカプセル化され、パケットが、対応する宛先のロケーションＩＰヘッダーによってさらにカプセル化されること、
宛先のロケーションＩＰアドレスにあるハイパーバイザによって、パケットのロケーションＩＰヘッダーをカプセル除去すること、ならびに
宛先のクラウドＩＰアドレスにあるサーバによって、パケットのクラウドＩＰヘッダーをカプセル除去することを含む、方法。
【請求項３】
プライベートエンタープライズネットワークに割り振られたクラウドトポロジ内のソースから、プライベートエンタープライズネットワーク内の宛先にパケットを送信する方法であって、
クラウドトポロジ内の仮想スタブ内のハイパーバイザによって、ハイパーバイザによってホストされる仮想マシンからパケットを受信すること、
ハイパーバイザによって、宛先ＩＰアドレスを含むエントリを、ハイパーバイザをホストするサーバにある転送テーブルに問い合わせること、
ハイパーバイザによって、転送テーブルにエントリがないとき、ロケーションＩＰアドレスおよびクラウドＩＰアドレスを、仮想スタブ内のクラウドデータセンタにあるディレクトリサーバに問い合わせること、
パケットをカプセル化することであって、パケットが、クラウドデータセンタ内の論理カスタマルータのクラウドＩＰアドレスに対応するクラウドＩＰヘッダーで最初にカプセル化され、パケットが、クラウドデータセンタ内のカスタマルータに対応するロケーションＩＰヘッダーによってさらにカプセル化されること、
クラウドデータセンタ内のカスタマルータによって、パケットのロケーションＩＰヘッダーをカプセル除去すること、
クラウドデータセンタ内のカスタマルータによって、パケットのクラウドＩＰヘッダーをカプセル除去すること、
クラウドデータセンタ内のカスタマルータによって、プライベートエンタープライズネットワーク内の宛先のＩＰアドレスに対応するＭＰＬＳヘッダーをカプセル化すること、
プライベートエンタープライズネットワーク内の宛先にパケットを配信すること、ならびに
プライベートエンタープライズネットワーク内の宛先にあるカスタマルータによって、ＭＰＬＳヘッダーをカプセル除去することを含む、方法。
【請求項４】
ハイパーバイザによって、エンタープライズ固有キー、エンタープライズＩＤ、および宛先ＩＰアドレスの組合せを含むセキュリティトークンを計算することをさらに含む、請求項３に記載の方法。
【請求項５】
クラウドトポロジ内のリソースをプライベートエンタープライズネットワークに組み込むシステムであって、
プライベートエンタープライズネットワークに割り振られ仮想スタブの外部のクラウドリソースから隔離されたリソースを備えるクラウドトポロジ内の論理ネットワークを備える仮想スタブであって、仮想スタブが、
一連のサーバであって、各サーバが、
プライベートエンタープライズネットワークに割り振られた、サーバ上のリソースを備える仮想マシン、および
仮想マシンをホストするハイパーバイザを含む、一連のサーバと、
少なくとも一連のサーバに動作可能に結合されたデータセンタ相互接続スイッチと、
データセンタ相互接続スイッチに接続されたクラウドデータセンタであって、仮想スタブをプライベートエンタープライズネットワークに接続するクラウドデータセンタと
を含む仮想スタブ、ならびに
仮想スタブをプライベートエンタープライズネットワークに接続するサービスプロバイダネットワークを備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する実施形態は、概してネットワークインフラストラクチャおよびインターネット通信に関する。
【背景技術】
【０００２】
クラウドコンピューティングネットワークは、高度にスケーラブルな動的サービスであり、クラウドコンピューティングプロバイダが、インターネットを介してカスタマにリソースを提供できるようにする。クラウドインフラストラクチャは、要求されたリソースを提供するクラウド内の特定のインフラストラクチャについてカスタマが知らなくてもよいように、抽象化レイヤを提供する。このようなサービスは、カスタマが、プライベートエンタープライズネットワークに既に置かれているインフラストラクチャを日常的に使いながら、負荷が重い場合はクラウド内の臨時リソースを使うことができるので、消費者が、ピーク使用のための臨時ハードウェアに対する設備投資を避けるのを助ける。
【０００３】
たとえば、ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ（ＩａａＳ）などのシステムにより、カスタマは、自分のコンピュータアプリケーションを実行させるためのコンピュータを借りることができる。このようなシステムにより、リソースをスケーラブルに展開できるようになり、カスタマは、自分が選択したソフトウェアを実行するための、仮想マシン、すなわちサーバインスタンスを作成する。カスタマは、こうした仮想マシンを、必要に応じて作成し、使用し、破壊することができ、プロバイダは通常、使われているアクティブなサーバに対して課金する。
【０００４】
ただし、既存サービスは、プライベートエンタープライズネットワークの内部のリソースのような、割り振られたリソースは取り扱わない。これにより、たとえば、アプリケーションが特定のロケーションにデータを送信するとき、または内側ネットワークとクラウドネットワークが異なるアドレス空間またはアドレス方式を使うときに、問題が引き起こされる場合がある。悪意のある攻撃からクラウドリソースを隔離し、クラウドネットワークリソースへの接続により、内側ネットワークインフラストラクチャを危険にさらさないように保証することに関連した問題もある。さらに、カスタマは、両方のロケーションにあるリソースを等価なものとして取り扱う代わりに、別個の内側およびクラウドリソースセットを扱うのがますます複雑になっているという事態に直面する場合がある。
【０００５】
したがって、ＩａａＳを越えて、クラウドネットワーク内のカスタマに割り振られたリソースを、カスタマの既存プライベートエンタープライズネットワークにシームレスに組み込む必要がある。このような拡張により、割り振られたすべてのクラウドリソースが見えるようになり、プライベートエンタープライズネットワーク内に置かれたリソースと同様に作用するようになる。このような実装により、エンタープライズの作業は、専用のプライベートエンタープライズネットワークのリソースおよびクラウドトポロジ内の割り振られたリソースが動的に混合したものに渡ってシームレスに広がる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のことを鑑みて、プライベートエンタープライズネットワークを、クラウドネットワーク内のリソースを含むようにシームレスに拡張することが望ましいであろう。より具体的には、カスタマがクラウドリソースを、プライベートネットワーク上のリソースと同じ方式で取り扱うことができるように、プライベートエンタープライズネットワーク内のリソースと、クラウドネットワーク内の割り振られたリソースとの間の通信を可能にすることが望ましいであろう。本願明細書を読み、理解すると、他の望ましい態様が、当業者には明らかになるであろう。
【課題を解決するための手段】
【０００７】
このように、プライベートエンタープライズネットワークをクラウドネットワークにシームレスに拡張する必要があることを鑑み、様々な例示的実施形態の手短な要約が提示される。ある程度の簡略化および省略が以下の要約で行われる場合があるが、これは、様々な例示的実施形態のいくつかの態様を強調し、紹介することを意図しているのであって、本発明の範囲を限定することは意図していない。当業者に本発明の概念を実現させ利用させるのに適切な、好ましい例示的実施形態の詳細な説明が、以降のセクションにおいて続く。
【０００８】
様々な例示的実施形態は、クラウドネットワークのリソースを、プライベートエンタープライズネットワークに組み込む方法に関する。この方法は、クラウドデータセンタが、クラウドネットワーク内のクラウドデータセンタ内に論理カスタマエッジルータを作成すること、プライベートエンタープライズネットワークのアドレス空間内のＩＰサブネットを受信すること、ＩＰサブネットから、プライベートエンタープライズネットワークに割り振られたリソースを含む、クラウドネットワーク内の論理ネットワーク内の各リソースにＩＰアドレスを割り振ること、クラウドデータセンタの所の論理カスタマエッジルータにある仮想ルーティングおよび転送テーブルで、前記ＩＰサブネットに対するルーティングエントリを追加すること、ルーティングエントリを、プライベートエンタープライズネットワーク内のすべてのカスタマエッジルータに転送すること、ならびにディレクトリサーバ内でデフォルトエントリを追加することを伴い、デフォルトエントリが、すべてのエンタープライズアドレスを、クラウドデータセンタ内の論理カスタマエッジルータのロケーションＩＰアドレスおよびクラウドＩＰアドレスにマッピングする。
【０００９】
様々な例示的実施形態は、プライベートエンタープライズネットワーク内のソースから受信されたパケットを、プライベートエンタープライズネットワークに割り振られたクラウドネットワーク内の宛先に送信する方法にも関する。この方法は、クラウドデータセンタ内の論理カスタマエッジルータが、プライベートエンタープライズネットワーク内のソースからパケットを受信すること、宛先のクラウドＩＰアドレスおよびロケーションＩＰアドレスをディレクトリサーバに問い合わせること、宛先が論理ネットワーク内であると論理カスタマエッジルータが判定すると、受信パケットをカプセル化すること、宛先の対応するロケーションＩＰヘッダーで受信パケットをさらにカプセル化すること、ならびに受信パケットを宛先に転送することを伴い、論理カスタマエッジルータが、受信パケットを、宛先ロケーションＩＰアドレスを通して宛先クラウドＩＰアドレスに転送する。
【００１０】
様々な例示的実施形態は、プライベートエンタープライズネットワークに割り振られた、クラウドネットワーク内のソースから発したパケットを転送する方法にも関する。この方法は、ハイパーバイザが、プライベートエンタープライズネットワークに割り振られたリソースを含む、クラウドネットワーク内の論理ネットワーク内の仮想マシンからパケットを受信すること、仮想マシンをホストするサーバの所の仮想ルーティングおよび転送テーブル内にパケットの宛先アドレスがないときは、宛先アドレスを論理ネットワーク内のディレクトリサーバに問い合わせること、クラウドＩＰヘッダーでパケットをカプセル化すること、ロケーションＩＰヘッダーでパケットをさらにカプセル化すること、ならびにロケーションＩＰアドレスにパケットを転送することを伴い得る。
【００１１】
様々な例示的実施形態は、プライベートエンタープライズネットワークを、プライベートエンタープライズネットワークに割り振られたリソースを備えるクラウドネットワーク内の論理ネットワークに拡張するシステムも含み得る。このシステムは、プライベートエンタープライズネットワークと同じＩＰアドレス空間を共有する、論理ネットワーク内の一連のサーバを伴い得る。各サーバは、プライベートエンタープライズネットワークに割り振られた、サーバ上のリソースを含む仮想マシンと、仮想マシンをホストするハイパーバイザとを含み得る。このシステムはまた、論理ネットワークをプライベートエンタープライズネットワークに接続する、プライベートエンタープライズネットワークと同じＩＰアドレス空間を共有する論理ネットワーク内の論理カスタマエッジルータと、プライベートエンタープライズネットワーク内の少なくとも１つのカスタマエッジルータとを含み得る。
【００１２】
様々な例示的実施形態は、クラウドネットワーク内の論理カスタマエッジルータも含み得る。論理カスタマエッジルータは、プライベートエンタープライズネットワーク内の少なくとも１つのカスタマエッジルータと、プライベートエンタープライズネットワークに割り振られた仮想マシンをホストするサーバとに接続する論理カスタマエッジルータを含み得る。プライベートネットワーク内のカスタマエッジルータならびにクラウドネットワーク内の仮想マシンおよび論理カスタマエッジルータは、プライベートエンタープライズネットワークに割り振られた共通ＩＰアドレス空間を共有することができる。
【００１３】
上記によれば、様々な例示的実施形態は、エンタープライズのプライベートアドレス空間の内部にクラウドリソースを置き、そうすることによって、クラウドリソースを、エンタープライズの既存トポロジにシームレスに統合する。様々な実施形態は、ネットワークの外部のどのリソースからも隔離された、エンタープライズネットワークのセキュリティ境界の内部にクラウドリソースを置くことによって、セキュリティも保証する。カスタマは、そうすることによって、エンタープライズネットワークの内側リソースを構成し管理するのと同じ方式でクラウドリソースを構成することができる。こうした利益に加え、様々な実施形態は、クラウドコンピューティングパラダイムの利点、すなわち、クラウドリソースの高度に動的なスケーラビリティも有し続ける。
【００１４】
次に、いくつかの実施形態による機器および／または方法のいくつかの実施形態が、例示の目的でのみ、添付の図面を参照して記載される。
【図面の簡単な説明】
【００１５】
【図１】プライベートエンタープライズネットワークをクラウドネットワークに拡張する例示的なネットワークを示す概略図である。
【図２】Ｌ３プロトコルを使うパケット転送を示す概略図である。
【図３】拡張型エンタープライズネットワーク内に見られるネットワーク装置のための例示的な仮想ルーティングおよび転送テーブルを示す概略図である。
【図４】クラウドネットワーク内に見られるネットワーク装置に対するロケーションエントリの例示的なディレクトリテーブルを示す概略図である。
【図５】拡張型エンタープライズネットワークを通して送信される例示的なデータグラムの内容を示す概略図である。
【図６】プライベートエンタープライズネットワーク内のロケーションから、クラウドネットワーク内の宛先にパケットを送信する方法の例示的な実施形態を示すフローチャートである。
【図７】クラウドネットワークの内部のロケーションからパケットを送信する方法の例示的な実施形態を示すフローチャートである。
【図８】割り振られたクラウドリソースをプライベートエンタープライズネットワーク内に組み込む方法の例示的な実施形態を示すフローチャートである。
【発明を実施するための形態】
【００１６】
ここで、同じ番号が似た構成要素またはステップを指す図面を参照して、様々な例示的実施形態の広範な態様が開示される。
【００１７】
図１は、プライベートエンタープライズネットワークをクラウドトポロジに拡張する例示的なネットワーク１００の概略図である。様々な例示的実施形態において、ネットワーク１００は、プライベートエンタープライズネットワーク１０１と、サービスプロバイダネットワーク１０２と、クラウドネットワーク１０３と、カスタマエッジ（ＣＥ）装置１１０ａ−ｈと、プロバイダエッジ装置１１１ａ−ｈと、クラウドデータセンタＣＥ１１２と、データセンタ相互接続１１３と、ハイパーバイザ１１５ａ−ｄおよび仮想マシン１１６ａ−ｄをそれぞれが収容するサーバ１１４ａ−ｄとを含む。
【００１８】
プライベートエンタープライズネットワーク１０１、サービスプロバイダネットワーク１０２、およびクラウドネットワーク１０３はそれぞれ、パケット交換ネットワークでよい。このようなパケット交換ネットワークは、パケットベースのプロトコルに従って動作するどのようなネットワークでもよい。したがって、ネットワーク１０１、１０２、１０３はそれぞれ、たとえば、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、マルチプロトコルラベルスイッチング（ＭＰＬＳ）、非同期転送モード（ＡＴＭ）、フレームリレー、イーサネット（登録商標）、プロバイダバックボーントランスポート（ＰＢＴ）、または当業者には明らかな他の任意の適切なパケットベースのプロトコルに従って動作し得る。より具体的には、パケット交換ネットワーク１０１、１０２、１０３は、ＭＰＬＳなどのレイヤ３プロトコルを使って仮想プライベートネットワーク（ＶＰＮ）として通信することができる。
【００１９】
プライベートエンタープライズネットワーク１０１は、カスタマエンティティに専用のハードウェアを組み込むネットワークでよく、エンタープライズ内の装置が同じアドレス空間を占有するように構成され得る。例示的な実施形態では、プライベートエンタープライズネットワーク１０１は、一連のカスタマエッジ（ＣＥ）装置１１０ａ−ｅを含む。
【００２０】
図１に示す実施形態において、プライベートエンタープライズネットワークＡ（ＥｎｔＡ）は、サービスプロバイダネットワーク１０２を通して互いと通信する、異なる２つの場所に置かれたカスタマエッジ装置１１０ａ−ｅを含む。いくつかの実施形態では、プライベートエンタープライズネットワーク１０１は、同じ場所で互いと直接接続する装置を含み得る。
【００２１】
プライベートエンタープライズネットワーク１０１内の装置は、同じアドレス空間を共有することができ、たとえば、１０．１というＩＰプレフィックスを共有する。プライベートエンタープライズネットワーク１０１内のすべての装置は、同じセキュリティ境界の向う側に置くことができ、そうすることによって、ネットワークセキュリティは、セキュリティ境界の内部の装置を、境界の外部の装置から隔離し、セキュリティ境界線の所で、少数の許容された通信を制御することができる。こうすることにより、カスタマエッジ装置１１０ａ−ｆのような装置は、セキュリティ境界を超えることに関する予防措置を施す必要なく、トラフィックを自由に渡すことができるようになる。
【００２２】
サービスプロバイダネットワーク１０２は、プライベートエンタープライズネットワーク１０１に対するホストとして作用し得る。サービスプロバイダネットワーク１０２は、一連のプロバイダエッジ（ＰＥ）装置１１１ａ−ｈを含み得る。サービスプロバイダネットワーク１０２は、プライベートエンタープライズネットワーク１０１を、それ以外のものの中でも特に、クラウドネットワーク１０３などの他のネットワーク、他のプライベートエンタープライズネットワーク、またはインターネットと接続することができる。いくつかの実施形態では、サービスプロバイダネットワーク１０２は、プライベートエンタープライズネットワーク１０１の相異なる部分を接続することができるが、こうした相異なる部分は、同じアドレス空間を共有し得る。
【００２３】
クラウドネットワーク１０３は、１つまたは複数のサーバ１１４ａ−ｄを含むことができ、こうしたサーバ１１４は、クラウドサービスプロバイダによって所有され、インターネット全体においてネットワーク内で接続され得る。インフラストラクチャサービスモデルでは、たとえば、クラウドサービスプロバイダは、クラウドネットワーク１０３内に置かれた特定のリソースを、そのクラウドネットワーク１０３のカスタマに割り振ることができる。このような特定のリソースは、仮想マシン１１６ａ−ｄとしてグループ化され得る。
【００２４】
仮想マシン１１６ａは、プライベートエンタープライズネットワーク１０１内にいるカスタマによって制御される、クラウドネットワーク１０３内のサーバ１１４ａ上のサーバインスタンスでよい。カスタマは、任意の数の仮想マシン１１６ａ−ｄを意のままに作成し、使用し、破壊する能力がある。この能力は、たとえば、帯域幅、記憶容量、および処理必要性などのユーザ定義基準に基づき得る。
【００２５】
カスタマに割り振られた仮想マシン１１６ａ−ｄは、クラウドの内部で互いと論理的に接続することができる。様々な実施形態において、カスタマに割り振られたすべての仮想マシン１１６ａ−ｄは、同じＩＰサブネット、たとえば１０．１．８／２４のＩＰサブネットなどにおいて現れる。仮想マシン１１６ａ−ｄは、物理的には同じサーバ１１４ａ上にも、異なるサーバ１１４ａ−ｄ上にも置かれ得るが、互いとの論理接続を維持することができる。いくつかの実施形態では、仮想マシン１１６ａは、クラウドネットワーク内の異なるサーバ１１４ａなど、異なる物理ロケーションに移動することができる。
【００２６】
仮想スタブ（ｖｓｔｕｂ）１０４は、ある特定のカスタマに割り振られた、クラウドネットワーク１０３内のすべてのリソースを含む論理ネットワークでよい。したがって、仮想スタブ１０４は、カスタマに割り振られた、クラウドネットワーク１０３内のすべてのアクティブ仮想マシン１１６ａ−ｄと、割り振られた仮想マシン１１６ａ−ｄをホストし、制御し得る一連のハイパーバイザ１１５ａ−ｄと、割り振られた仮想マシン１１６ａ−ｄを含む各サーバ１１４ａ−ｄに物理的に接続され得るデータセンタ相互接続１１３と、クラウドネットワーク１０３内の割り振られた仮想マシン１１６ａ−ｄすべてに対するハブとして作用し得るクラウドデータセンタＣＥ１１２とを含み得る。図１に示すように、仮想スタブ１０４は、その論理ネットワークが物理的に連続することを必要とせず、データセンタ相互接続１１３など、異なる物理サーバ１１４ａ−ｄを接続するネットワーク接続構成要素を含み得る。仮想スタブは、プライベートエンタープライズネットワーク１０１に割り振られたサーバ１１４ａ−ｄを、クラウドネットワーク１０３内にはあるがプライベートエンタープライズネットワークには割り振られない一連のサーバ１１９ａ、１１９ｂから分離し得る。一連のサーバ１１９ａ、１１９ｂはしたがって、プライベートエンタープライズネットワーク１０１に接続することも、同じアドレス空間を共有することもできない。
【００２７】
カスタマエッジ（ＣＥ）装置１１０ａは、プライベートエンタープライズネットワーク１０１内のノードでよい。ＣＥ装置１１０ａは、プライベートエンタープライズネットワーク１０１内の他のカスタマエッジルータ、サービスプロバイダネットワーク１０２内のプロバイダエッジ装置１１１ａ−ｈ、またはクラウドネットワーク１０３内のクラウドデータセンタＣＥ１１２など、他のノードにパケットを送信するように構成された、ルータやスイッチなどのネットワークノードでよい。ＣＥ装置１１０ａは、ＯＳＩ参照モデルの複数のレイヤ、たとえばＭＰＬＳ（Ｌ３  ＭＰＬＳ）を使うレイヤ３通信ならびにイーサネットおよび仮想プライベートＬＡＮサービス（ＶＰＬＳ）を使うレイヤ２通信などを使って、プライベートエンタープライズネットワーク１０１の内部および外部どちらの他の装置とも通信可能でよい。いくつかの実施形態では、ＣＥ装置１１０ａは、物理装置の中にある仮想ルータでよい。
【００２８】
各プロバイダエッジ（ＰＥ）装置１１１ａ−ｈは、サービスプロバイダネットワーク１０２内のノードでよく、ルータ、スイッチ、または同様のハードウェア装置でよい。ＰＥ装置１１１ａ−ｈは、ＣＥ装置１１０ａからパケットを受信し、このようなパケットを、サービスプロバイダネットワーク１０２を介して送信するように構成され得る。こうしたパケットは、プライベートエンタープライズネットワーク１０１内の他の宛先に、クラウドネットワーク１０３内の宛先に、または図１には示さない他のネットワーク内の宛先に送信することができる。
【００２９】
クラウドデータセンタＣＥ１１２は、カスタマエッジルータでよく、クラウドサービスプロバイダのカスタマによって操作される機器で実装され得る。「カスタマ」エッジ装置と呼ばれるが、クラウドデータセンタＣＥ１１２は、クラウドサービスプロバイダまたは他の何らかのエンティティによって所有され、かつ／または操作され得ることが明らかであろう。いくつかの実施形態では、クラウドデータセンタＣＥ１１２は、クラウドネットワーク１０３の内部の仮想スタブ１０４用のハブを表す。いくつかの実施形態では、論理カスタマエッジルータ１１２を含む物理ＣＥ装置は、複数のエンタープライズネットワークによって共有され得る。
【００３０】
いくつかの実施形態では、クラウドネットワーク１０３は、ディレクトリサーバも含み得る。ディレクトリサーバは、マッピングエントリのディレクトリを維持することができる。後でさらに詳しく論じるように、こうしたマッピングエントリは、クラウドＩＰアドレス（ｃｌｏｕｄＩＰ）およびロケーションＩＰアドレス（ｌｏｃＩＰ）を使って、エンタープライズネットワーク内の宛先の割り当てられたＩＰアドレスを、クラウドネットワーク１０３内の宛先のアドレスに相関させ得る。ロケーションＩＰアドレス（ｌｏｃＩＰ）は、仮想スタブ１０４内のある特定のスイッチ、たとえばスイッチ１１７ａのロケーションを識別する。仮想マシン１１６ａは、マシン１１６ａがその上にあるＩＰスイッチ１１７ａを指すｌｏｃＩＰアドレスを有する。さらに、クラウドＩＰアドレス（ｃｌｏｕｄＩＰ）は、仮想スタブ１０４内の各仮想マシン１１６ａ−ｄを明確に指す。
【００３１】
仮想マシン１１６ａは、したがって、そのロケーションとは論理的に離れた別個のアドレスを所有し得るので、装置は、ディレクトリサーバを参照して、割り当てられたＩＰアドレスの代わりにマシンのｌｏｃＩＰおよびｃｌｏｕｄＩＰアドレスで仮想マシンを突き止めればよい。一実施形態では、プライベートエンタープライズネットワーク１０１内のソースは、エンタープライズネットワーク内の割り当てられたＩＰアドレスを使って、パケットの形で情報をクラウドネットワーク１０３内の仮想マシン１１６ａに送信することができる。この事例において、クラウドデータセンタＣＥ１１２は、ＩＰヘッダーを使ってアドレス指定されたこのようなパケットを受信することができ、宛先仮想マシン１１６ａに送信される受信パケットを、クラウドネットワーク１０３内の宛先仮想マシン１１６ａに対応するｃｌｏｕｄＩＰアドレスヘッダーおよびｌｏｃＩＰアドレスヘッダー両方でカプセル化することができる。クラウドデータセンタＣＥ１１２は、ディレクトリサーバ上に置かれたディレクトリを通して、エンタープライズＩＤ（ＩＰアドレス）を、仮想マシンのｌｏｃＩＰおよびｃｌｏｕｄＩＰアドレスと相関させることができる。
【００３２】
後でさらに詳しく論じるように、ディレクトリサーバ内のディレクトリは、プライベートエンタープライズネットワーク１０１およびクラウドネットワーク１０３内のアクティブなサーバおよび仮想マシンに対するアドレスエントリを含み得る。一方のネットワークから他方のネットワークに送信されるパケットは、クラウドデータセンタＣＥ１１２を通ってよく、ＣＥ１１２は、ディレクトリを使って、受信パケットのヘッダーを、他のネットワーク内の必要なヘッダーと相関させる。たとえば、クラウドデータセンタＣＥ１１２は、ディレクトリを使って、クラウドネットワーク内でパケットを正しく送信するためのｃｌｏｕｄＩＰおよびｌｏｃＩＰアドレスヘッダーをルックアップする。クラウドデータセンタＣＥ１１２は、ディレクトリを使って、サービスプロバイダネットワーク１０２およびプライベートエンタープライズネットワーク１０１内でパケットを送信するための適切なＩＰヘッダー（Ｌ３ヘッダーなど）でパケットをカプセル化するために、クラウドネットワーク１０３内で生じたｃｌｏｕｄＩＰおよびｌｏｃＩＰアドレスヘッダーをカプセル除去することもできる。
【００３３】
ただ１つの論理ＣＥを示してあるが、代替実施形態は、複数の論理ＣＥを含み得る。このような実施形態において、エンタープライズアドレス空間内の仮想マシン１１６ａ−ｄは、各論理ＣＥが独立ハブとして作用する異なる論理ＣＥに割り振ることができる。このような実施形態は、後で論じるように、ハイパーバイザ１１５ａ−ｄではなく各論理ＣＥによってディレクトリルックアップが行われるようにすることもできる。複数の論理ＣＥ装置は、仮想スタブ１０４内のクラウド宛先に対するｌｏｃＩＰおよびｃｌｏｕｄＩＰヘッダーを必要ないようにすることもできる。というのは、データパケットが、代わりに適切なハブ論理ＣＥにトンネリングされ得るからである。
【００３４】
データセンタ相互接続１１３は、一連のサーバ１１４ａ−ｄに接続するスイッチでも、一連のスイッチでもよい。データセンタ相互接続１１３は、クラウドデータセンタＣＥ１１２を、割り振られた一連のサーバ１１４ａ−ｄに直接接続することができる。あるいは、データセンタ相互接続１１３は、一連の中間スイッチ１１７ａ−ｃを通して一連のサーバ１１４ａ−ｄに接続し得る。このような事例において、各中間スイッチ１１７ａ−ｃは、同時に複数のサーバ１１４ａ−ｄに接続し得る。中間スイッチ１１７ａは、仮想スタブ１０４内に一意のロケーションＩＰ（ｌｏｃＩＰ）アドレスを有し得る。中間スイッチ１１７ａは、その接続サーバ１１４ａの１つの上で仮想マシン１１６ａにアドレス指定されたパケットを受信すると、パケットからｌｏｃＩＰヘッダーをカプセル除去してよく、次いで、パケットを、対応するｃｌｏｕｄＩＰアドレスをもつサーバ１１４ａに転送すればよい。
【００３５】
サーバ１１４ａは、クライアントにコンピューティングサービスを提供する装置でよい。より具体的には、サーバは、クライアントが、たとえば、アプリケーションを実行し、またはファイルをメモリに格納するのに使う、記憶および処理容量などの計算リソースをホストするネットワーク装置でよい。したがって、サーバ１１４ａ−ｄは、たとえば、それぞれが物理サーバブレードを保持することが可能な複数のスロットを含む、シャーシベースのサーバ（すなわち、ブレードサーバ）でよい。各物理サーバ１１４ａ−ｄは、ハイパーバイザ１１５ａ−ｄおよび少なくとも１つの仮想マシン１１６ａ−ｄを含み得る。
【００３６】
１つまたは複数のハイパーバイザ１１５ａ−ｄが、各物理サーバ１１４ａ−ｄ上に置かれ得る。一実施形態では、ハイパーバイザ１１５ａ−ｄは、ハイパーバイザ１１５がその中にある物理サーバ上に物理的に置かれる、割り振られた各仮想マシン１１６ａ−ｄをホストする。各ハイパーバイザ１１５ａ−ｄは、そうすることによって、１つまたは複数の仮想マシン１１６ａ−ｄを同時に制御することができる。
【００３７】
ハイパーバイザ１１５ａ−ｄは、たとえば、ハイパーバイザ１１５がホストする各仮想マシンのｃｌｏｕｄＩＰアドレスと、ハイパーバイザ１１５ａ−ｄをホストする中間スイッチ１１７ａ−ｃのｌｏｃＩＰアドレスとを含み得るエンタープライズ情報を知っている。ハイパーバイザ１１５ａ−ｄはしたがって、それがホストする仮想マシン１１６ａ−ｄのエンタープライズメンバーシップ（すなわち、エンタープライズＩＤ）を認識する。ハイパーバイザ１１５ａ−ｄは、それがホストする仮想マシン１１６ａ−ｄに関するトラフィックを遮断することもできる。仮想マシン１１６ａ−ｄが、仮想スタブ１０４の外部の宛先にパケットを送っているとき、ハイパーバイザ１１５ａ−ｄは、それがホストする仮想マシン１１６ａ−ｄの１つから送信されたパケットを、クラウドデータセンタＣＥ１１２に関連づけられたｃｌｏｕｄＩＰヘッダーおよびｌｏｃＩＰヘッダー両方でカプセル化することができる。ハイパーバイザ１１５ａ−ｄは、ハイパーバイザ１１５ａ−ｄによってホストされる仮想マシン１１６ａ−ｄに送信されるパケットのｃｌｏｕｄＩＰヘッダーをカプセル除去することもできる。
【００３８】
いくつかの実施形態では、ハイパーバイザ１１５ａ−ｄは、それがホストする各仮想マシン１１６ａ−ｄに対するセキュリティパラメータを認識する。こうしたセキュリティパラメータは、たとえば、仮想スタブ１０４がサイズを変えたとき、意図しないどのような情報漏洩も防止するための、組込みカスタマＩＤを含み得る。ハイパーバイザ１１５ａ−ｄは、後で論じるセキュリティトークン（またはペアをなすセキュリティトークン）など、他のセキュリティ特徴を認識することができ、このトークンは、悪意のあるハイパーバイザのようなエンティティによる意図的な攻撃および他のテルネット攻撃を防止する。
【００３９】
図２は、Ｌ３  ＭＰＬＳプロトコルを使うパケット転送の概略図である。図２に示すように、各エンドポイントにある装置は、ＩＰアドレスを使って宛先をアドレス指定することができ、各ＩＰアドレスは、エンタープライズのＩＰアドレス空間の内部である。後でさらに詳しく論じるように、クラウドネットワーク１０３内の仮想スタブ１０４は、プライベートネットワークエンタープライズ１０１のＩＰアドレス空間（図２では１０．１として示す）の内部のＩＰサブネット（図２では１０．１．８として示す）を割り当てられる。したがって、仮想スタブ１０４の内部の各仮想マシン１１６ａ−ｄも、ＩＰサブネット内の対応するアドレスを割り当てられる。
【００４０】
クラウドネットワーク１０３の性質は、仮想マシン１１６ａ−ｄのロケーションを判定するのに、クラウドネットワーク１０３の内部の特定の静的ＩＰアドレスを使用させないようにし得ることが明らかであろう。たとえば、仮想マシン１１６ａは、異なる物理サーバ１１４ｄに動的に移動する場合があり、所与の任意のときにある特定の仮想マシン１１６ａをアドレス指定する際に使うための適切なＩＰアドレスを判定しにくくなる。クラウドネットワーク１０３内では、したがって、仮想マシン１１６ａは、そのエンタープライズＩＤ、ロケーションＩＰアドレス、およびクラウドＩＰアドレスによって識別される。このアドレス指定情報は、ディレクトリサーバ内のディレクトリに格納することができる。
【００４１】
したがって、クラウドネットワーク１０３内の宛先へのパケットの送信は、パケットの二重カプセル化、すなわち内側クラウドＩＰヘッダーおよび外側ロケーションＩＰヘッダーでの各パケットのカプセル化を伴い得る。パケットが、たとえば、クラウドネットワーク１０３内の仮想マシン１１６ａからプライベートエンタープライズネットワーク１０１内の宛先に送信されているとき、パケットをカプセル化するｃｌｏｕｄＩＰおよびｌｏｃＩＰヘッダーは、クラウドデータセンタＣＥ１１２に対するアドレスに対応し、ＣＥ１１２は、別個のクラウドＩＰアドレスを含む仮想スタブ１０４に対するハブとして作用し、たとえば、レイヤ３プロトコルを使ってプライベートエンタープライズネットワーク１０１の内部の正しいＩＰアドレスにパケットを転送する。
【００４２】
図２に示す例では、ＩＰアドレス１０．１．２．２にある、プライベートエンタープライズネットワーク１０１内のソース２０１（ロケーション「Ａ」）が、宛先仮想マシン１１６ａ（ロケーション「Ｂ」）、すなわちクラウドネットワーク１０３内のＩＰアドレス１０．１．８．８にある仮想マシン１１６ａにパケットを送信する。ソース「Ａ」２０１は、内部ゲートウェイプロトコル（ＩＧＰ）ルーティングを用いて、パケット２０３を、プライベートエンタープライズネットワーク１０１内のカスタマエッジルータＣＥＡ１１０ａに向ける。例示的なパケット２０３のヘッダーは、ペイロードに加え、ソースＩＰアドレスヘッダー（１０．１．２．２）および宛先ＩＰアドレスヘッダー（１０．１．８．８）を含む。
【００４３】
ＭＰＬＳラベルスタッキングを使って、パケットを、サービスプロバイダネットワーク１０２内の少なくとも１つのプロバイダエッジ装置１１１ａを通して、クラウドネットワーク１０３内のクラウドデータセンタＣＥ１１２に送信することができる。当業者には明らかなように、パケットは、レイヤ３トンネリングなど、別のプロトコルに従って、プライベートエンタープライズネットワーク１０１およびサービスエンタープライズネットワーク１０３を通して、クラウドデータセンタＣＥ１１２に送信することができる。図２は、単一のプロバイダエッジ装置１１１ａを含むが、他の実施形態は、パケットがクラウドデータセンタＣＥ１１２にトンネリングされるとき、一連の接続されたプロバイダエッジ装置１１１ａ−ｆを含み得る。
【００４４】
クラウドデータセンタＣＥ１１２は、パケット２０３を受信すると、クラウドネットワーク１０３の内部の宛先「Ｂ」に関連づけられたロケーションＩＰアドレス（ｌｏｃＩＰ）およびクラウドＩＰアドレス（ｃｌｏｕｄＩＰ）をディレクトリサーバに問い合わせることができる。クラウドデータセンタＣＥ１１２が、対応するエントリを見つけた場合、クラウドデータセンタＣＥ１１２は、二重カプセル化パケット２０６で示すように、宛先「Ｂ」に関連づけられたｃｌｏｕｄＩＰヘッダーおよびｌｏｃＩＰヘッダー両方で、パケット２０３を二重カプセル化すればよい。このような二重カプセル化は、最初にパケット２０３をｃｌｏｕｄＩＰヘッダーでカプセル化し、次いで、修正パケットを外側ｌｏｃＩＰヘッダーでカプセル化することを伴う。クラウドデータセンタＣＥ１１２は次いで、二重カプセル化パケット２０６を、データセンタ相互接続１１３およびクラウドネットワーク１０３を通して、対応する宛先ｌｏｃＩＰアドレスをもつレイヤ３中間スイッチ１１７ａに送信する。
【００４５】
中間スイッチ１１７は次いで、パケット２０６からｌｏｃＩＰヘッダーをカプセル除去し、修正パケット２０９を、対応する宛先ｃｌｏｕｄＩＰアドレスに送信する。宛先ｃｌｏｕｄＩＰアドレスに対応するサーバ１１４ａで、サーバ１１４ａ上のハイパーバイザ１１５ａは、修正パケット２０９からｃｌｏｕｄＩＰヘッダーをカプセル除去し、パケット２１０を、サーバ１１４ａ上の宛先仮想マシン「Ｂ」１１６ａに送信する。いくつかの実施形態では、ハイパーバイザ１１５ａは、パケットが同じエンタープライズネットワークからのものであることを検証するために、パケット２１０中のセキュリティトークンを検証することもできる。
【００４６】
図３は、クラウドデータセンタＣＥ１１２で収容される論理ＣＥルータの例示的な仮想ルーティングおよび転送（ＶＲＦ）テーブル３００である。プライベートエンタープライズネットワーク１０１内のカスタマエッジ装置１１０ａ−ｅおよびサービスプロバイダネットワーク１０２内のプロバイダエッジ装置１１１ａ−ｈなど、他の装置も、同様のＶＲＦテーブル３００を維持することができる。
【００４７】
ｅｎｔＩＰフィールド３０１は、あるロケーションのエンタープライズＩＤに対応する。例示的な実施形態では、仮想スタブ１０４内のリソースは、割り当てられたＩＰサブネット内のＩＰアドレスを割り当てられ、その結果、同じアドレス空間を共有するクラウドネットワーク１０３およびプライベートエンタープライズネットワーク１０１両方にリソースがある。図示した実施形態では、クラウド内のリソースは、１０．１．８／２４をＩＰサブネットとして使い（／２４は、そのサブネット内の２４ビットを示す）、クラウドの外部の装置は、１０．１／１６を割り振られたＩＰサブネット内のＩＰアドレスを使う、プライベートエンタープライズネットワーク１０１内のカスタマエッジ装置エントリ３１３など、同じＩＰアドレス空間内の他のアドレスを使うことができる。
【００４８】
ｌｏｃＩＰフィールド３０２は、クラウドネットワーク１０３内の装置のロケーションＩＰアドレスに対応する。ｌｏｃＩＰは、エントリの仮想マシン１１６ａをホストする、クラウドネットワーク１０３内の中間スイッチ１１７ａのアドレスに対応する。図３の例示的な実施形態において、仮想マシンエントリ３１１は、対応する仮想マシン１１６ａをホストする中間スイッチ１１７ａに対応する、２０．２．２．８というロケーションＩＰアドレスをもつ。
【００４９】
ｃｌｏｕｄＩＰフィールド３０３は、クラウドネットワーク１０３内の仮想マシン１１６ａのｃｌｏｕｄＩＰアドレスに対応し得る。ｌｏｃＩＰアドレス３０２にある中間スイッチ１１７ａは、スイッチ１１７ａがホストする各仮想マシン１１６ａに対して、別個の、重複しないｃｌｏｕｄＩＰアドレス３０３をもつ。クラウドデータセンタは、クラウドネットワーク１０３内の仮想マシン１１６ａ−ｄの間にｃｌｏｕｄＩＰアドレスを割り振ることができる。例示的な実施形態では、仮想マシンエントリは、２０．２．２．１というｃｌｏｕｄＩＰを有するので、中間スイッチ１１７ａが仮想マシン１１６ａ向けのパケットを受信すると、スイッチは、パケットを、ハイパーバイザ１１５ａを通して特定の仮想マシン２０．２．２．１に転送すればよい。
【００５０】
ｎｅｘｔＨｏｐフィールド３０４は、装置がパケットを送信するべきである、エンタープライズネットワーク内の次のロケーションを指す。例示的な実施形態では、エントリ３１３は、プライベートエンタープライズネットワーク１０１内のロケーションに対応する、ＩＰサブネット１０．１／１６内のｅｎｔＩＰアドレスを有する。したがって、そのロケーションは、適用可能なｌｏｃＩＰアドレスもｃｌｏｕｄＩＰアドレスももたない。というのは、こうしたアドレスは、クラウドネットワーク１０３内のアドレスによってのみ使われ得るからである。クラウドデータセンタＣＥ１１２からの対応するｎｅｘｔＨｏｐエントリはしたがって、接続されたプロバイダエッジ装置１１１ａに対するものであり、装置１１１ａは、１０．１／１６サブネット内の宛先向けのパケットを受信すると、装置１１１ａ自体のＶＲＦテーブルを参照し、エントリの対応するｎｅｘｔＨｏｐアドレスにパケットを転送することになる。このプロセスは、パケットが最終的にプライベートエンタープライズネットワーク１０１内の１０．１／１６サブネット内の宛先ＩＰアドレスに到達するまで、各装置上で順次続けられることになる。
【００５１】
図４は、ディレクトリサーバ内の例示的なディレクトリテーブルである。ディレクトリテーブル４００は、クラウドデータセンタＶＲＦテーブル３００と同様であり、ｅｎｔＩＰフィールド、ｌｏｃＩＰフィールド、およびｃｌｏｕｄＩＰフィールドを維持するが、ｎｅｘｔＨｏｐフィールド３０４は維持しない。というのは、ディレクトリテーブル４００は、転送ディング情報を維持するのではなく、ディレクトリテーブル４００は単に、プライベートエンタープライズネットワーク１０１およびクラウドネットワーク１０３両方におけるロケーションに対するｌｏｃＩＰ３０２およびｃｌｏｕｄＩＰ３０３アドレスの包括的なリスティングを維持するからである。
【００５２】
例示的な実施形態では、「デフォルト」エントリ４１１は、そのｌｏｃＩＰ３０２アドレスとしてＩＰＣＡのみをもち、適用可能なｃｌｏｕｄＩＰ３０３アドレスはもたない。デフォルトエントリ４１１は、明示的ｌｏｃＩＰ３０２アドレスもｃｌｏｕｄＩＰ３０３アドレスももたない、プライベートエンタープライズネットワーク１０１内の装置を指す。ＩＰＣＡエントリは、ディレクトリ４００内で有効なｌｏｃＩＰ３０２およびｃｌｏｕｄＩＰ３０３アドレスをもつエントリ４１２として特にリスティングされていない宛先をもつパケットが、クラウドデータセンタＣＥ１１２に向けられるべきであることを意味し、ＣＥ１１２は次いで、そのＶＲＦテーブル３００を使って、プライベートエンタープライズネットワーク１０１内の正しい宛先にパケットを転送する。
【００５３】
例示的な実施形態において、仮想マシン１１６は、シャットダウンする場合がある。仮想マシンがシャットダウンすると、ディレクトリサーバにあるディレクトリ４００中のＶＭのエントリが消去される可能性がある。例示的な別の実施形態では、ＶＭは、異なるサーバに、たとえば、１１４ａから１１４ｃに移動する場合がある。ＶＭが別のサーバ１１４ｃに移動すると、ＶＭのｌｏｃＩＰアドレスは、ＶＭ１１６ａが現在置かれている新規サーバ１１４ｃを反映するようにディレクトリ４００中でアップデートされる。仮想マシン１１６ａは、新規クラウドデータセンタＣＥ１１２に移動する場合もある。古くなった（ｓｔａｌｅ）エントリ（最新でなくなったＶＲＦテーブルをもつ装置）のケースでは、以前のｌｏｃＩＰアドレスにあるスイッチ１１７ａが、間違ってアドレス指定されたパケットを、新規クラウドデータセンタＣＥにあるディレクトリサーバに転送することになる。ディレクトリサーバは次いで、ユニキャストにより、古くなったスイッチのＶＲＦテーブルを訂正する。
【００５４】
図５は、システムにおいて使われるデータグラムの例示的な図解である。データグラム５００は、パケットを表し得る。図５は、ペイロード５０１に加え、内側ｃｌｏｕｄＩＰヘッダーおよび外側ｌｏｃＩＰヘッダー両方、宛先ｃｌｏｕｄＩＰアドレス５０３を含む二重カプセル化パケットの例示的なデータグラムを示す。
【００５５】
データグラムは、セキュリティトークン５０２も含み得る。セキュリティトークンは、たとえば、エンタープライズ固有キー、エンタープライズＩＤ、および宛先ＩＰアドレスの組合せを含み得る。ハイパーバイザ１１５ａは、セキュリティトークン５０２の検証を試み、間違ったセキュリティトークン５０２をパケットが含む場合、そのパケットをドロップしてよい。一実施形態では、パケットは、ペアをなすセキュリティトークン５０２によってエンコードされ得る。ペアをなすセキュリティトークンは、ただ１人のユーザ用に使われる個人キーである、ペアをなすキーから導出され得る。このことにより、悪意のあるハイパーバイザ１１５ａとのセキュリティアソシエーションを有する仮想マシン１１６ａ−ｄに攻撃を局所化することによって、悪意のあるハイパーバイザ１１５ａからの攻撃を防止するのが助けられ得る。
【００５６】
さらに、データグラム５００は、セキュリティ上の理由により、カスタマＩＤ５０４を含み得る。というのは、カスタマＩＤ５０４は、仮想スタブ１０４内にはない仮想マシン１１６ａ−ｄにパケットを送信するのを防止するからである。この状況は、たとえば、仮想マシン１１６ａ−ｄが移動し、またはシャットダウンされ、装置がその仮想マシン１１６にトラフィックを送信し続ける場合に起こり得る。一実施形態では、ペイロード５０１は、共有グループキーで暗号化され得る。共有グループキーは、所与のカスタマグループのメンバの間で共有することができる。
【００５７】
図６は、二重カプセル化を用いて、プライベートエンタープライズネットワーク１０１内のソースからクラウドネットワーク１０３内の宛先にパケット２０３を送信する方法６００の例示的な実施形態のフローチャートである。ステップ６０１で、プライベートエンタープライズネットワーク１０１内のソース「Ａ」からのパケットを、プライベートエンタープライズネットワーク１０１内の論理ＣＥ装置１１０ａに送信することができ、装置１１０ａは、パケットを、少なくともサービスプロバイダネットワーク１０２内のＰＥ装置１１１ａを通して、クラウドネットワーク１０３内のクラウドデータセンタＣＥ１１２に転送することができる。
【００５８】
ステップ６０２で、クラウドデータセンタＣＥ１１２は、ディレクトリサーバに問い合わせることができる。問合せは、ロケーションがクラウドネットワーク１０３の内部である場合は、宛先「Ｂ」のロケーションＩＰ（ｌｏｃＩＰ）およびクラウドＩＰ（ｃｌｏｕｄＩＰ）に関する、ディレクトリ４００のルックアップを必要とし得る。宛先「Ｂ」がクラウドネットワーク１０３内である場合、ステップ６０３で、クラウドデータセンタＣＥ１１２は、対応する宛先ｃｌｏｕｄＩＰアドレスおよびロケーションＩＰアドレスを取り出すことができる。
【００５９】
ステップ６０４で、クラウドデータセンタＣＥ１１２は、取り出したｃｌｏｕｄＩＰアドレスに対応するヘッダーでパケットをカプセル化すればよい。ステップ６０５で、クラウドデータセンタＣＥ１１２は、修正パケットを、取り出したｌｏｃＩＰアドレスに対応するヘッダーでカプセル化してよい。ステップ６０６で、クラウドデータセンタＣＥ１１２は、二重カプセル化パケット２０６を、クラウドネットワーク１０３を通して、対応するｌｏｃＩＰアドレスに送信すればよい。
【００６０】
ステップ６０７で、ｌｏｃＩＰアドレスにある中間スイッチ１１７ａは、二重カプセル化パケット２０６からｌｏｃＩＰヘッダーをカプセル除去すればよく、修正パケット２０９を、対応するｃｌｏｕｄＩＰアドレスに送信してよい。ステップ６０８で、対応するｃｌｏｕｄＩＰアドレスにあるサーバ１１４ａの所のハイパーバイザ１１５ａは、修正パケット２０９をカプセル除去すればよく、パケット２１０を、宛先「Ｂ」にある対応する仮想マシン１１６ａに送信してよい。代替実施形態では、ハイパーバイザ１１５ａは、仮想マシン１１６ａにパケット２１０を送信する前に、含まれるセキュリティトークン５０２を検証することによって、受信パケット２１０を最初に検査してよい。
【００６１】
図７は、クラウドネットワーク１０３内のソースからパケットを送信する例示的な方法７００を示す。ステップ７０１で、ソース「Ｂ」のサーバ１１４ａ上のハイパーバイザ１１５ａが、ソース「Ｂ」仮想マシン１１６ａからパケット２１０を受信する。ステップ７０２で、ハイパーバイザ１１５ａは、宛先アドレスがハイパーバイザ１１５ａのＶＲＦテーブルにあるかどうか調べる。ステップ７０４は、宛先「Ａ」２０１に対する転送エントリが存在する場合に起こり、ステップ７０３は、宛先アドレス「Ａ」２０１がリスティングされていない場合に起こる。
【００６２】
ステップ７０４で、ハイパーバイザ１１５ａは、パケット２１０を、対応するｃｌｏｕｄＩＰヘッダーでカプセル化する。ステップ７０５で、ハイパーバイザ１１５ａは次いで、修正パケット２０９を、対応するｌｏｃＩＰヘッダーでカプセル化する。ステップ７０６で、ハイパーバイザ１１５ａは、二重カプセル化パケット２０６を、対応するｌｏｃＩＰアドレスに送信する。
【００６３】
ステップ７０７で、宛先「Ａ」がクラウドネットワーク１０３内にある場合、対応するｌｏｃＩＰアドレスにある中間スイッチ１１７ｂは、二重カプセル化パケット２０６からｌｏｃＩＰヘッダーをカプセル除去し、修正パケット２０９を、対応するｃｌｏｕｄＩＰアドレスに送信する。ステップ７０８で、対応するｃｌｏｕｄＩＰアドレスにあるハイパーバイザ１１５ｃは、修正パケット２０９をカプセル除去する。ステップ７０９で、ハイパーバイザ１１５ｃは、パケット２１０を宛先「Ａ」ＶＭ１１６ｃに送信する。いくつかの実施形態では、ハイパーバイザ１１５ｃは、宛先「Ａ」ＶＭにパケット２０３を送信する前に、検証のために修正パケットのセキュリティトークン５０２を最初に調べる。
【００６４】
ステップ７０２で、宛先がプライベートエンタープライズネットワーク１０１内にあると判定されたとき、方法７００はステップ７０３に進む。ステップ７０３で、ハイパーバイザ１１５ａは、宛先「Ａ」ｃｌｏｕｄＩＰアドレスおよびｌｏｃＩＰアドレスをディレクトリサーバに問い合わせる。宛先がプライベートエンタープライズネットワーク１０１内にある場合、対応する宛先ｌｏｃＩＰは、クラウドデータセンタＣＥ１１２に接続された中間スイッチＩＰ１１７ａのＩＰアドレスであり、対応するｃｌｏｕｄＩＰアドレスは、クラウドデータセンタＣＥ１１２のＩＰである。方法７００は７１０に進み、７１０は、上に詳しく記載したステップ７０４に対応する。方法７００は次いで、ステップ７１１、７１２に進み、こうしたステップは、上に詳しく記載したステップ７０５、７０６に対応する。この結果、クラウドデータセンタＣＥ１１２に対応する二重カプセル化パケット２０９のｃｌｏｕｄＩＰアドレスが与えられる。
【００６５】
したがって、ステップ７１２ａで、クラウドデータセンタＣＥ１１２は、ｌｏｃＩＰアドレスが、ＣＥ１１２のＩＰアドレス空間内にあるかどうか判定する。ない場合、方法７００はステップ７０７に進むので、パケットは、クラウドネットワーク１０３内の別のＶＭに配信される。ｌｏｃＩＰが論理ＣＥ１１２のＩＰアドレス空間内にある場合、方法７００はステップ７１３に進み、ここでクラウドデータセンタＣＥ１１２は、二重カプセル化パケット２０６から、パケットのｌｏｃＩＰおよびｃｌｏｕｄＩＰヘッダー両方をカプセル除去する。ステップ７１４で、クラウドデータセンタＣＥ１１２は、そのＶＲＦテーブル３００を使って、プライベートエンタープライズネットワーク１０１内の宛先アドレス「Ａ」の対応するエントリを見つける。
【００６６】
ステップ７１５で、クラウドデータセンタＣＥ１１２は、プライベートエンタープライズネットワーク１０１内の宛先「Ａ」アドレスに対応するＭＰＬＳヘッダーなどの、レイヤ３ヘッダーでパケット２０３をカプセル化する。ステップ７１６で、クラウドデータセンタＣＥ１１２は、ＭＰＬＳパケットを、プライベートエンタープライズネットワーク１０１を通して宛先「Ａ」２０１に送信する。ステップ７１７で、プライベートエンタープライズネットワーク１０１内の宛先「Ａ」アドレスにあるカスタマエッジ装置１１１ａは、ＭＰＬＳパケットのＭＰＬＳヘッダーをカプセル除去し、ステップ７１８で、カスタマエッジ装置１１１ａは、パケット２０３を、対応する宛先アドレス「Ａ」２０１に送信する。
【００６７】
図８は、割り振られたクラウドリソースをプライベートエンタープライズネットワークに組み込む例示的な方法を示す。ステップ８０１で、クラウドデータセンタが、論理カスタマエッジ（ＣＥ）ルータ、すなわちクラウドデータセンタＣＥ１１２を作成する。論理ＣＥルータは、プライベートエンタープライズネットワーク１０１内のカスタマエッジルータと同様に作用する仮想ルータである。１つの論理ＣＥは１つの仮想スタブ１０４をホストし、クラウドデータセンタは、複数の仮想スタブをホストすることが可能なので、クラウドデータセンタは、論理ＣＥを作成する。ステップ８０２で、クラウドデータセンタは、論理ＣＥルータにＩＰサブネットを提供する。論理ＣＥルータ１１２は、仮想スタブ１０４のハブとして作用する。仮想スタブ１０４は、クラウドサービスプロバイダによってプライベートエンタープライズネットワーク１０１に割り振られたリソースを備える、クラウドネットワーク１０３内の論理ネットワークである。仮想スタブ１０４の内部のリソースは、仮想スタブ１０４の外部の他のクラウドリソースからは隔離され得る。
【００６８】
ステップ８０３で、仮想スタブ１０４の内部の各リソースは、提供されたＩＰサブネット内のアドレスを割り振られ、たとえば、割り当てられたＩＰサブネットが１０．１．８／１６であるとき、仮想マシン１１６にはＩＰアドレス１０．１．８．８を割り当てる。ステップ８０４で、サービスプロバイダネットワーク１０２内のプロバイダエッジルータ１１１ｂが、プライベートエンタープライズネットワーク１０１内のカスタマエッジ装置１１０ａおよびクラウドデータセンタＣＥ１１２に接続することによって、仮想スタブ１０４とインタフェースをとるようにプロビジョニングされる。
【００６９】
ステップ８０５で、クラウドデータセンタは、提供されたサブネットに関するルーティングエントリ４１２を、クラウドデータセンタＣＥ１１２内のディレクトリサーバ上のディレクトリ４００に追加することができる。仮想スタブ１０４内のリソースは、提供されたＩＰサブネット内のアドレスなので、サブネットを追加するだけで、こうしたリソースは、他のソースからパケットを受信することができ、サブネット向けのパケットはここで、クラウドデータセンタＣＥ１１２に送信され、次いで、仮想スタブ１０４内の正しいアドレスに転送され得る。
【００７０】
ステップ８０６で、クラウドデータセンタＣＥ１１２は、アップデートされたルーティング情報を、プライベートエンタープライズネットワーク１０１内に置かれたカスタマエッジ装置１１０ａ−ｄに転送する。ステップ８０７で、クラウドデータセンタＣＥ１１２は、プライベートエンタープライズネットワーク１０１内の装置１１０ａ−ｄのアドレスをクラウドデータセンタＣＥ１１２にマッピングするディレクトリ４００にデフォルトエントリを追加するが、ここでプライベートネットワーク内のアドレスは、論理ＣＥ１１２のｌｏｃＩＰおよびｃｌｏｕｄＩＰアドレスに対応するｌｏｃＩＰおよびｃｌｏｕｄＩＰアドレスをもつ。これにより、クラウドネットワーク１０３内から、プライベートエンタープライズネットワーク１０１内の宛先に送信されるパケットが、パケットを最初にクラウドデータセンタＣＥ１１２に送信することが可能になり、ＣＥ１１２は次いで、パケットを、プライベートエンタープライズネットワーク１０１内の適切な宛先に転送する。クラウドデータセンタＣＥ１１２はしたがって、プライベートエンタープライズネットワーク１０１およびクラウドネットワーク１０３内の装置の間の通信用のメインハブとして作用するので、こうした２つのネットワーク内のロケーションの間の通信は、最初にクラウドデータセンタＣＥ１１２に転送され、ＣＥ１１２は次いで、ディレクトリサーバを使って、適切なＩＰヘッダーでパケットをカプセル化し、パケットを、他のネットワークを通してその最終的な宛先まで転送する。
【００７１】
上記記述から、本発明の様々な例示的実施形態は、ハードウェアおよび／またはファームウェアで実装され得ることが明らかであろう。さらに、様々な例示的実施形態は、少なくとも１つのプロセッサによって、本明細書に詳しく記載した動作を実施するように読み取られ実行され得るマシン可読記憶媒体に格納される命令として実装することができる。マシン可読記憶媒体は、ネットワークノード（たとえば、ルータやスイッチ）などのマシンによって可読な形で情報を格納するどの機構も含み得る。したがって、マシン可読記憶媒体は、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、および同様の記憶媒体を含み得る。
【００７２】
様々な例示的実施形態について、そのいくつかの例示的態様を具体的に参照して詳しく記載したが、本発明は、他の実施形態も可能であり、その細部は、様々な自明の点において修正可能であることを理解されたい。当業者には容易に明らかであるように、変形形態および変更形態は、本発明の精神および範囲内のままで実装され得る。したがって、上記開示、記述、および図面は、例示目的のために過ぎず、本発明を限定するものでは全くなく、本発明は、請求項によってのみ定義される。
【図１】
0005485403.tif 000002
【図２】
0005485403.tif 000003
【図３】
0005485403.tif 000004
【図４】
0005485403.tif 000005
【図５】
0005485403.tif 000006
【図６】
0005485403.tif 000007
【図７】
0005485403.tif 000008
【図８】
0005485403.tif 000009