(57)【特許請求の範囲】
【請求項１】
データセンタ環境で物理ネットワークに仮想ネットワークをオーバーレイするための方法であって、
オーバーレイ・エージェントおよびオーバーレイ・ヘルパーを含むように、オーバーレイ仮想ネットワークにオーバーレイ・システムを配置するステップと、
前記オーバーレイ・エージェントをアクセス・スイッチで実施するステップと、
前記オーバーレイ・ヘルパーを前記アクセス・スイッチと通信するエンドステーションで実施するステップと、
インバンド・プロトコルに従って、前記オーバーレイ・エージェントと前記オーバーレイ・ヘルパーとの間でオーバーレイ・パラメータを送信するステップと
を備え、
前記オーバーレイ・エージェントによって、オーバーレイ・カプセル化フィールドを含むデータ・パケットを受信するステップと、
前記オーバーレイ・エージェントから前記オーバーレイ・ヘルパーに前記データ・パケットを出力するステップと、
前記オーバーレイ・ヘルパーによって、前記オーバーレイ・カプセル化フィールド内の仮想ネットワーク識別子および宛先アドレス・データのうちの少なくとも１つから宛先エンドステーションを判別するステップと、
前記アクセス・スイッチにおいて前記宛先エンドステーションを前記オーバーレイ・エージェントにマップするためのデータを取得するためにポリシー・サーバと通信するステップと
をさらに備える、
方法。
【請求項２】
前記エンドステーションからデータ・パケットを出力するステップと、
前記エンドステーションから前記オーバーレイ・ヘルパーによって受信されたデータ・パケットにオーバーレイ・カプセル化フィールドを付加するよう、前記オーバーレイ・ヘルパーに命令するステップと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記オーバーレイ・カプセル化フィールドが、前記インバンド・プロトコルに従って、前記オーバーレイ・ヘルパーから前記オーバーレイ・エージェントに送信される、請求項２に記載の方法。
【請求項４】
前記オーバーレイ・カプセル化フィールドが、パケット分類基準および仮想ネットワーク・トポロジ・データに関連するオーバーレイ・パラメータを含む、請求項２に記載の方法。
【請求項５】
前記宛先エンドステーションが、物理エンドステーションおよび仮想エンドステーションのうちの少なくとも１つである、請求項１に記載の方法。
【請求項６】
前記エンドステーションが、ハイパーバイザを含み、前記オーバーレイ・ヘルパーが、前記エンドステーションのハイパーバイザ・ネットワーク・インターフェース（ＮＩＣ）ドライバまたはファームウェアで実施される、請求項１に記載の方法。
【請求項７】
前記オーバーレイ・ヘルパーが、前記エンドステーションのシングルルートＩ／Ｏ仮想化（ＳＲ  ＩＯＶ）ＮＩＣで実施される、請求項１に記載の方法。
【請求項８】
前記オーバーレイ・ヘルパーが、前記エンドステーションのオペレーティング・システムＮＩＣドライバまたはファームウェアで実施される、請求項１に記載の方法。
【請求項９】
オーバーレイ仮想ネットワークで通信するための方法であって、
第１のアクセス・スイッチで実施されるオーバーレイ・エージェントと、前記第１のアクセス・スイッチと通信する第１のエンドステーションで実施されるオーバーレイ・ヘルパーとを含むように、第１のオーバーレイ・システムを配置するステップと、
第２のアクセス・スイッチで実施されるオーバーレイ・エージェントと、前記第２のアクセス・スイッチと通信する第２のエンドステーションで実施されるオーバーレイ・ヘルパーとを含むように、第２のオーバーレイ・システムを配置するステップと、
前記第１のオーバーレイ・システムの前記オーバーレイ・エージェントから前記第１のオーバーレイ・システムの前記オーバーレイ・ヘルパーにオーバーレイ・パラメータを送信するステップであって、前記オーバーレイ・パラメータが、前記第１のエンドステーションから前記第２のエンドステーションにデータ・パケットを送信するためのデータを含む、前記送信するステップと
を備え、
前記第１のエンドステーションから前記第２のアクセス・スイッチに前記データ・パケットを送信するステップと、
前記第２のアクセス・スイッチで実施される前記オーバーレイ・エージェントから前記第２のエンドステーションで実施される前記オーバーレイ・ヘルパーに前記データ・パケットを送信するステップと、
前記第２のエンドステーションの前記オーバーレイ・ヘルパーによって、前記オーバーレイ・パラメータから宛先エンドステーションを判別するステップと、
前記第１のアクセス・スイッチにおいて前記宛先エンドステーションを前記第１のアクセス・スイッチで実施される前記オーバーレイ・エージェントにマップするためのデータを取得するためにポリシー・サーバと通信するステップと
をさらに備える、
方法。
【請求項１０】
前記データ・パケットにオーバーレイ・カプセル化フィールドを付加するよう、前記第１のエンドステーションの前記オーバーレイ・ヘルパーに命令するステップをさらに備える、請求項９に記載の方法。
【請求項１１】
前記オーバーレイ・カプセル化フィールドが、インバンド・プロトコルに従って、前記第１のエンドステーションの前記オーバーレイ・ヘルパーから前記第１のエンドステーションの前記オーバーレイ・エージェントに送信される、請求項１０に記載の方法。
【請求項１２】
前記オーバーレイ・カプセル化フィールドが、パケット分類基準および仮想ネットワーク・トポロジ・データに関連するオーバーレイ・パラメータを含む、請求項１０に記載の方法。
【請求項１３】
前記第２のエンドステーションの前記オーバーレイ・ヘルパーによって、前記オーバーレイ・カプセル化フィールドを受信するステップと、
前記オーバーレイ・ヘルパーによって、前記オーバーレイ・カプセル化フィールド内の仮想ネットワーク識別子および宛先アドレス・データのうちの少なくとも１つから宛先エンドステーションを判別するステップと
をさらに備える、請求項９に記載の方法。
【請求項１４】
前記第１および第２のエンドステーションのうちの少なくとも１つが、ハイパーバイザを含み、前記オーバーレイ・ヘルパーが、前記第１および第２のエンドステーションのうちの前記少なくとも１つのハイパーバイザ・ネットワーク・インターフェース（ＮＩＣ）ドライバまたはファームウェアで実施される、請求項９に記載の方法。
【請求項１５】
前記第１のエンドステーションの前記オーバーレイ・ヘルパーおよび前記第２のエンドステーションの前記オーバーレイ・ヘルパーのうちの少なくとも１つが、シングルルートＩ／Ｏ仮想化（ＳＲ  ＩＯＶ）ＮＩＣで実施される、請求項９に記載の方法。
【請求項１６】
前記第１のエンドステーションの前記オーバーレイ・ヘルパーおよび前記第２のエンドステーションの前記オーバーレイ・ヘルパーのうちの少なくとも１つが、オペレーティング・システムＮＩＣドライバおよびファームウェアのうちの少なくとも１つで実施される、請求項９に記載の方法。
【請求項１７】
ネットワーク仮想化環境のためのオーバーレイ・システムであって、
ネットワークのエッジにあるアクセス・スイッチにおけるオーバーレイ・エージェントであって、宛先エンドステーションに関連するオーバーレイ・パラメータを含むオーバーレイ・カプセル化フィールドを生成するように構成される前記オーバーレイ・エージェントと、
前記アクセス・スイッチと通信するホストコンピュータにおけるオーバーレイ・ヘルパーであって、第１のパケットを受信し、前記オーバーレイ・カプセル化フィールドを前記第１のパケットに付加し、前記オーバーレイ・カプセル化フィールドを含む前記第１のパケットを前記宛先エンドステーションに送信するように構成される前記オーバーレイ・ヘルパーとを備え、
前記オーバーレイ・エージェントが、
前記オーバーレイ・パラメータを構成するために管理ステーションによって呼び出される管理インターフェースと、
前記アクセス・スイッチにおいて前記宛先エンドステーションを前記オーバーレイ・エージェントにマップするためのデータを取得するためにポリシー・サーバと通信するポリシー・エージェントと
を備え、
前記オーバーレイ・ヘルパーが、前記オーバーレイ・エージェントから第２のパケットを受信したときに、前記第２のパケットを正しい宛先エンドステーションにさらに送信する、
オーバーレイ・システム。
【請求項１８】
前記オーバーレイ・ヘルパーが、
前記ホストコンピュータから受信されたパケットにオーバーレイ・カプセル化フィールドを付加し、前記オーバーレイ・カプセル化フィールドを含む前記パケットを前記宛先エンドステーションに送信するＩＰハンドラと、
前記パケットを仮想ネットワークにマップする分類器と
を備える、請求項１７に記載のオーバーレイ・システム。
【請求項１９】
前記オーバーレイ・ヘルパーが、ハイパーバイザ・ネットワーク・インターフェース（ＮＩＣ）ドライバ、シングルルートＩ／Ｏ仮想化（ＳＲ  ＩＯＶ）ＮＩＣ、オペレーティング・システムＮＩＣドライバ、およびＮＩＣファームウェアのうちの少なくとも１つで実施される、請求項１７に記載のオーバーレイ・システム。
【請求項２０】
ネットワーク・エッジ・スイッチと、
ローカル・エリア・ネットワーク接続を介してアクセス・スイッチと通信するホストコンピュータと、
前記アクセス・スイッチにおけるオーバーレイ・エージェントおよび前記ホストコンピュータにおけるオーバーレイ・ヘルパーを備えるオーバーレイ・システムであって、前記オーバーレイ・エージェントが、宛先エンドステーションに関連するオーバーレイ・パラメータを含むオーバーレイ・カプセル化フィールドを生成するように構成され、前記オーバーレイ・ヘルパーが、第１のパケットを受信し、前記オーバーレイ・カプセル化フィールドを前記第１のパケットに付加し、前記オーバーレイ・カプセル化フィールドを含む前記第１のパケットを前記宛先エンドステーションに送信し、前記オーバーレイ・エージェントから第２のパケットを受信したときに、前記第２のパケットを正しい宛先エンドステーションにさらに送信するように構成される、前記オーバーレイ・システムと
を備え、
前記オーバーレイ・エージェントが、
前記オーバーレイ・パラメータを構成するために管理ステーションによって呼び出される管理インターフェースと、
前記アクセス・スイッチにおいて前記宛先エンドステーションを前記オーバーレイ・エージェントにマップするためのデータを取得するためにポリシー・サーバと通信するポリシー・エージェントと
を備える、
データセンタ。
【請求項２１】
データセンタ環境で物理ネットワークに仮想ネットワークをオーバーレイするためのコンピュータ・プログラムであって、
コンピュータによって実行されると、前記コンピュータに請求項１ないし８のいずれかに記載のステップを行わせる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にネットワーク仮想化に関し、より詳細には、物理ネットワークに仮想ネットワークをオーバーレイするためのシステムおよび方法に関する。
【背景技術】
【０００２】
データセンタまたは関連する環境におけるサーバ仮想化は、クラウド・コンピューティングの主要な実現技術である。一般に、サーバ仮想化は、物理リソースおよびその使用を基礎となる物理マシンから切り離すソフトウェア抽象化を表すものである。大半の物理リソースを仮想化エンティティとして抽象化し、供給することができる。したがって、単一の物理マシンは、それぞれがゲスト・オペレーティング・システム（ＯＳ）と呼ばれる独自のオペレーティング・システムを有する複数の仮想マシンをホストすることができ、それによって、複数のユーザが物理マシンを共有することを可能にする。
【０００３】
データセンタ環境内で物理ネットワークに仮想ネットワークをオーバーレイしたいという要望は、いくつかの利点をもたらす。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つのよく知られている利点は、仮想ネットワークがパブリック、プライベート、またはマルチテナント型クラウド環境におけるデータセンタ・クライアントに対するネットワーク・プロビジョニングを簡易化することができるということである。
【課題を解決するための手段】
【０００５】
一態様では、本発明は、データセンタ環境で物理ネットワークに仮想ネットワークをオーバーレイするための方法を特徴とする。方法は、オーバーレイ・エージェントおよびオーバーレイ・ヘルパーを含むように、オーバーレイ仮想ネットワークにオーバーレイ・システムを配置するステップを備える。オーバーレイ・エージェントは、アクセス・スイッチで実施される。オーバーレイ・ヘルパーは、アクセス・スイッチと通信するエンドステーションで実施される。オーバーレイ・パラメータは、インバンド・プロトコルに従って、オーバーレイ・エージェントとオーバーレイ・ヘルパーとの間で送信される。
【０００６】
別の態様では、本発明は、オーバーレイ仮想ネットワークで通信するための方法を特徴とする。第１のオーバーレイ・システムは、第１のアクセス・スイッチで実施されるオーバーレイ・エージェントと、第１のアクセス・スイッチと通信する第１のエンドステーションで実施されるオーバーレイ・ヘルパーとを含むように配置される。第２のオーバーレイ・システムは、第２のアクセス・スイッチで実施されるオーバーレイ・エージェントと、第２のアクセス・スイッチと通信する第２のエンドステーションで実施されるオーバーレイ・ヘルパーとを含むように配置される。オーバーレイ・パラメータは、第１のオーバーレイ・システムのオーバーレイ・エージェントから第１のオーバーレイ・システムのオーバーレイ・ヘルパーに送信される。オーバーレイ・パラメータは、第１のエンドステーションから第２のエンドステーションにデータ・パケットを送信するためのデータを含む。
【０００７】
別の態様では、本発明は、ネットワーク仮想化環境のためのオーバーレイ・システムを特徴とする。オーバーレイ・システムは、ネットワークのエッジにあるアクセス・スイッチにおけるオーバーレイ・エージェントを含む。オーバーレイ・エージェントは、宛先エンドステーションに関連するオーバーレイ・パラメータを含むオーバーレイ・カプセル化フィールドを生成するように構成される。また、オーバーレイ・システムは、アクセス・スイッチと通信するホストコンピュータにおけるオーバーレイ・ヘルパーを含む。オーバーレイ・ヘルパーは、オーバーレイ・カプセル化フィールドを第１のパケットに付加し、オーバーレイ・カプセル化フィールドを含む第１のパケットを宛先エンドステーションに送信するように構成される。
【０００８】
別の態様では、本発明は、データセンタ環境を特徴とする。データセンタ環境は、ネットワーク・エッジ・スイッチと、ホストコンピュータと、オーバーレイ・システムとを備える。ホストコンピュータは、ローカル・エリア・ネットワーク接続を介してアクセス・スイッチと通信する。オーバーレイ・システムは、アクセス・スイッチにおけるオーバーレイ・エージェントおよびホストコンピュータにおけるオーバーレイ・ヘルパーを備える。オーバーレイ・エージェントは、宛先エンドステーションに関連するオーバーレイ・パラメータを含むオーバーレイ・カプセル化フィールドを生成するように構成される。オーバーレイ・ヘルパーは、オーバーレイ・カプセル化フィールドをパケットに付加し、オーバーレイ・カプセル化フィールドを含むパケットを宛先エンドステーションに送信するように構成される。
【０００９】
別の態様では、本発明は、データセンタ環境で物理ネットワークに仮想ネットワークをオーバーレイするためのコンピュータ・プログラム製品を特徴とする。コンピュータ・プログラム製品は、それによって具体化されるコンピュータ可読プログラム・コードを有するコンピュータ可読記憶媒体を備える。コンピュータ可読プログラム・コードは、オーバーレイ・エージェントおよびオーバーレイ・ヘルパーを含むように、オーバーレイ仮想ネットワークにオーバーレイ・システムを配置するように構成されるコンピュータ可読プログラム・コードを備える。コンピュータ可読プログラム・コードは、オーバーレイ・エージェントをアクセス・スイッチで実施するように構成されるコンピュータ可読プログラム・コードをさらに備える。コンピュータ可読プログラム・コードは、オーバーレイ・ヘルパーをアクセス・スイッチと通信するエンドステーションで実施するように構成されるコンピュータ可読プログラム・コードを備える。コンピュータ可読プログラム・コードは、インバンド・プロトコルに従って、オーバーレイ・エージェントとオーバーレイ・ヘルパーとの間でオーバーレイ・パラメータを送信するように構成されるコンピュータ可読プログラム・コードを備える。
【００１０】
次に、添付の図面を参照しながら、例のみとして、本発明の（１つまたは複数の）実施形態について説明する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態を用いることができるデータセンタ環境のブロック図である。
【図２】一実施形態による、２つのエンドステーションが同じオーバーレイ仮想ネットワークにある環境のブロック図である。
【図３】一実施形態による、オーバーレイ・システムのハイレベル・アーキテクチャを示すブロック図である。
【図４】一実施形態による、図２のエンドステーションとオーバーレイ・システムとの間で通信するためのプロセスフローを示す概略ブロック図である。
【図５】一実施形態による、仮想ネットワーク・オーバーレイ動作を行うためのプロセスの流れ図である。
【図６】一実施形態による、仮想ネットワーク・オーバーレイを用いて構成された、ホストコンピュータおよびアクセス・スイッチを含む環境のブロック図である。
【図７】別の実施形態による、仮想ネットワーク・オーバーレイを用いて構成された、ホストコンピュータおよびアクセス・スイッチを含む環境のブロック図である。
【図８】別の実施形態による、仮想ネットワーク・オーバーレイを用いて構成された、ホストコンピュータおよびアクセス・スイッチを含む環境のブロック図である。
【図９】一実施形態による、送信元オーバーレイ・システムを初期化するためのプロセスフローを示す概略ブロック図である。
【図１０】一実施形態による、宛先オーバーレイ・システムを初期化するためのプロセスフローを示す概略ブロック図である。
【図１１】一実施形態による、送信元オーバーレイ・システムと通信するためのプロセスフローを示す概略ブロック図である。
【図１２】一実施形態による、宛先オーバーレイ・システムと通信するためのプロセスフローを示す概略ブロック図である。
【発明を実施するための形態】
【００１２】
以下の説明では、具体的な詳細が記載されているが、その詳細の少なくともいくつかがなくてもシステムおよび方法を実施することができることが当業者によって諒解されるはずである。場合によっては、知られている特徴またはプロセスは、本発明を不明瞭にしないために、詳細には説明されない。
【００１３】
オーバーレイ・ネットワークは通常、物理ネットワークのエッジに設置された複数のオーバーレイ・エージェントを含む。それぞれのオーバーレイ・エージェントは、例えば、所与のエンドステーションから仮想ネットワークにパケットをマップすること、また、仮想ネットワークから所与のエンドステーションにパケットをマップすることによって、対応するエンドステーションによって送信されたパケットを分類するように構成される。また、オーバーレイ・エージェントは、宛先エンドステーションに向けて送られるパケットにオーバーレイ・ヘッダを付加することができ、宛先エンドステーションは、ネットワーク管理ステーションまたはポリシー・サーバによって提供される仮想ネットワーク・オーバーレイ・パラメータでポピュレートされる。パラメータは、送信されたパケットの仮想ネットワークを特定し、送信元エンドステーションと通信するオーバーレイ・エージェントから、物理ネットワークを介して、好ましくは送信元エンドステーションと同じ仮想ネットワークに設置された宛先エンドステーションと通信する別のオーバーレイ・エージェントにパケットを送信することを可能にするための情報を含むことができる。受信側オーバーレイ・エージェントは、オーバーレイ・ヘッダから、例えば、オーバーレイ・ヘッダに提供された仮想ネットワーク識別子から、正しい宛先エンドステーションを判別することができる。
【００１４】
従来のオーバーレイ構成に関連付けられた制限は、例えば、従来のイーサネット（Ｒ）・スイッチは、送信元オーバーレイ・エージェントによってパケットに付加されたオーバーレイ・ヘッダを認識することができず、したがって、パケットの正しい宛先を判別するのに必要な仮想ネットワーク識別子などのオーバーレイ・ヘッダのコンテンツを処理することができないので、イーサネット（Ｒ）・スイッチなどのレガシー・ネットワーク・デバイスはオーバーレイ動作に関与することができないということである。
【００１５】
１つの従来の手法は、イーサネット（Ｒ）または関連する切替サービスを仮想マシンに追加する、仮想スイッチ、すなわちｖｓｗｉｔｃｈを含むサーバ仮想化環境を提供することである。仮想スイッチはホストサーバ・ソフトウェアで実施され、十分な量のメモリおよびＣＰＵにアクセスするので、仮想スイッチをオーバーレイ・エージェントとして動作するように修正することができる。仮想化を意識したネットワーク・スイッチとともに使用することができる仮想化ソフトウェア製品の例としては、Ｃｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，  Ｉｎｃ．によって製作されたＸｅｎＳｏｕｒｃｅ（商標）、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．によって製作されたＨｙｐｅｒ−Ｖ（商標）、ＶＭｗａｒｅ（Ｒ）、またはカーネルベース仮想マシン（ＫＶＭ）などのオープンソース・ソフトウェアを挙げることができる。
【００１６】
従来のサーバ仮想化環境では、非仮想化エンドステーションはオーバーレイ・ネットワークの一部とすることができない。また、仮想化ベースのソリューションは、物理ホストサーバで仮想マシンを実施するためのベンダ固有の仮想化ソフトウェアに依存し、したがって、独自開発の仮想スイッチ拡張機能の利用可能性およびそれぞれの仮想スイッチ・プラットフォームでのその受容性に依存する。そのような環境を実施し、維持するためには、環境およびサポート用の相当なリソースが必要である。
【００１７】
概略すると、本発明の概念の態様は、ネットワーク・アクセス・スイッチとホストサーバの両方で実施されるオーバーレイ・システムを含み、仮想化ネットワーク・エンティティおよび非仮想化ネットワーク・エンティティが同様に、同じオーバーレイ仮想ネットワークの一部となることができる。オーバーレイ・システムは、オーバーレイ・エージェントおよび対応するオーバーレイ・ヘルパーを含む。オーバーレイ・エージェントは、１つまたは複数の仮想エンドステーションまたは物理エンドステーションあるいはその両方が接続される、アクセス・スイッチまたは他のネットワーク・エッジ・デバイス上で動作する。オーバーレイ・ヘルパーは、ホストコンピュータ上で、例えば、従来の非仮想化サーバ内のネットワーク・インターフェース・コントローラ（ＮＩＣ）デバイス・ドライバ、ファームウェア、またはハードウェアのイーサネット（Ｒ）・レイヤで、または仮想化サーバのハイパーバイザにおけるデバイス・ドライバで動作する。オーバーレイ・エージェントおよびオーバーレイ・ヘルパーは、インバンド・プロトコル、例えば、ホップ・バイ・ホップ・レイヤ２プロトコルを介して仮想化パラメータなどを交換することによって、互いに通信する。
【００１８】
このようにして、アクセス・スイッチおよびエンドステーションＮＩＣにおいて、例えば、ファームウェアに代わるものとしてソフトウェアでオーバーレイ・ネットワーク特性を定義することができる、エンドステーションのオペレーティング・システムの下で、プログラム・コード、またはソフトウェアの形でオーバーレイ・システムを実施することによって、非常にスケーラブルな仮想ネットワーク環境を提供することができる。したがって、オーバーレイ構成は物理ネットワークのエッジで完全に常駐するまたは仮想化サーバで完全に常駐する必要がない。したがって、エンドステーションがアクセス・スイッチにおけるオーバーレイ・エージェントと通信するオーバーレイ・ヘルパーを用いて構成される限り、仮想化エンドステーションと非仮想化エンドステーションの両方を仮想ネットワーク・ドメインの一部とすることができる。このようにしてオーバーレイ・システムを実施することは、アクセス・スイッチおよびネットワーク・アダプタのリソースをプールすることによって、スケーリングを改善することができる。そうでなければ、アクセス・スイッチのみがオーバーレイ構成に含まれる場合、アクセス・スイッチは複数のポートに対するオーバーレイ関連の通信を処理する必要があり、その結果としてハードウェアの複雑性およびリソースが増大する。サーバ常駐ネットワーク・アダプタはその近くにあるエンドステーションのサブセットを処理するので、アダプタに関する要件はあまり厳しくなく、したがって、アクセス・スイッチは一定のデータ・プレーン・オーバーレイ機能の処理をサーバ常駐アダプタにオフロードすることができる。
【００１９】
図１は、本発明の概念の実施形態を用いることができるデータセンタ環境１００のブロック図である。一般に、データセンタ環境１００は、組織の計算、記憶、およびネットワーキングの中心として働く１つまたは複数の場所を含むことができる。データセンタ環境１００の機器は一緒に局所的に単一の拠点で常駐することができ、または２つ以上の別個の拠点に分散させることができる。
【００２０】
データセンタ環境１００は、アクセス・スイッチ１６を介してネットワーク１４と通信する１つまたは複数のホストコンピュータ１２を含むことができる。図示されていないが、データセンタ環境１００は、アクセス・スイッチ１６とネットワーク１４との間、または他のよく知られているデータセンタ機器の間、あるいはこれら両方の間に置かれた１つまたは複数のアグリゲータ／ゲートウェイ・スイッチを含むことができる。アクセス・スイッチ１６または関連するデータセンタ機器あるいはその両方を、ネットワーク１４の一部とみなすことができる。ネットワーク１４は、例えば、イントラネット、エクストラネット、インターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、もしくはメトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはこれらの任意の組合せとすることができる。ホストコンピュータ１２は、別のネットワーク３０、例えば、イーサネット（Ｒ）ＬＡＮを介して、または直接接続を介してアクセス・スイッチ１６と通信することができる。あるいは、ホストコンピュータ１２がネットワーク１４と直接通信するように、ネットワーク３０をネットワーク１４の一部とすることができる。
【００２１】
ホストコンピュータ１２は、サーバまたはブレードなどの物理コンピューティング・デバイスの一実施形態とすることができる。ホストコンピュータ１２は、単独で常駐することができ、または他のホストコンピュータとともにシャーシに、例えば、ラック・サーバにまたはブレード・サーバにインストールすることができる。アクセス・スイッチ１６は、単独で常駐することができ、またはホストコンピュータ１２と同じ機器シャーシ内にインストールすることができる。
【００２２】
ホストコンピュータ１２は、ＣＰＵなどの１つまたは複数の処理デバイス２０を含むことができ、メモリ・デバイス２２と、少なくとも１つの物理ネットワーク・インターフェース（ＮＩＣ）を有する物理ネットワーク入力／出力（Ｉ／Ｏ）アダプタ２４とをさらに含むことができる。ホストコンピュータ１２の物理構成要素、例えば、ＣＰＵ２０、メモリ・デバイス２２、およびＩ／Ｏアダプタ２４は、当業者に知られている１つまたは複数のバス、コネクタ、アダプタなどを介して、互いに通信することができる。ホストコンピュータ１２は仮想化システム１８を実行することができ、仮想化システム１８は任意選択でハイパーバイザまたは仮想マシン・マネージャ（ＶＭＭ）を含むことができる。他の実施形態では、ホストコンピュータ１２は非仮想化サーバまたはサーバ・ブレードとすることができる。
【００２３】
メモリ２２は、揮発性メモリ、例えば、ＲＡＭなど、または不揮発性メモリ、例えば、ＲＯＭ、フラッシュメモリなど、あるいはその両方を含むことができる。メモリは、データを記憶するための当業者に知られている方法および技術に従って実施される取外し可能記憶媒体または取外し不能記憶媒体あるいはその両方を含むことができる。メモリに記憶されるものとしては、プロセッサ２０によって実行されるオペレーティング・システム３４のプログラム・コードまたは仮想化システム１８に対応するプログラム・コードあるいはその両方などのプログラム・コードを挙げることができる。
【００２４】
ＮＩＣ２４は、任意の形態のＩ／Ｏ仮想化にハードウェア、ソフトウェア、またはこれらの組合せにおけるサポートを提供する。例としては、ＳＲ−ＩＯＶ  ＮＩＣおよび非ＳＲ−ＩＯＶ  ＮＩＣ、マルチキューＮＩＣ、ネットワーク・インターフェース・コントローラ、Ｉ／Ｏアダプタ、ならびにコンバージド・ネットワーク・アダプタが挙げられるが、これらに限定されない。以下で詳細に説明するようにＮＩＣ２４がネットワーク３０とデータを送受信することができるように、サーバ・オペレーティング・システム３４、ＮＩＣドライバなどによってＮＩＣ２４を管理することができる。アクセス・スイッチ１６とのネットワークＩ／Ｏを処理することに加えて、ＮＩＣ２４は、仮想マシン（図示せず）間で、例えば、仮想マシンの仮想ＮＩＣ（ｖＮＩＣ）とパケットを交換する通信経路を提供する。
【００２５】
アクセス・スイッチ１６は、ＮＩＣ２４と通信する、より具体的には、ＮＩＣ２４の物理ポート（図示せず）と通信する複数の物理アップリンク／ダウンリンク・ポート２６を含む。一般に、アクセス・スイッチ１６は、例えば、アップリンク／ダウンリンク・ポート２６間で、および同じホストコンピュータ１２上で実行している仮想マシン間でコンピュータを切り替えるための、イーサネット（Ｒ）・スイッチとして実施されるネットワーク要素である。ホストコンピュータ１２とアクセス・スイッチ１６との間の物理リンクの例示的な実施態様は、１０Ｇｂイーサネット（Ｒ）・リンクである。アクセス・スイッチ１６の例示的な実施態様は、イーサネット（Ｒ）・スイッチ、例えば、カリフォルニア州サンタクララのＢｌａｄｅ  Ｎｅｔｗｏｒｋ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，  Ｉｎｃ．によって製造された２４ポート１０Ｇｂイーサネット（Ｒ）・スイッチ・モジュールである。他の実施形態では、切替はオーバーレイ・システムの要素を用いて構成されたネットワーク・アダプタで行うことができる。ここで、切替は、ネットワーク・アダプタと通信する仮想マシン間、またはアクセス・スイッチと通信する仮想マシン間、あるいはネットワーク・アダプタと通信する仮想マシンと、アクセス・スイッチと通信する仮想マシンとの間で行うことができる。
【００２６】
アクセス・スイッチ１６は、ハイパーバイザ内ＶＭ間切替などを行うための管理モジュール２８を用いて構成することができる。リモート管理ステーション３２は、管理モジュール２８を介して、アクセス・スイッチ１６またはホストコンピュータ１２あるいはその両方を制御および管理することができる。アクセス・スイッチ１６は、ネットワーク・トポロジ情報を提供する、パケットを分類するなどのために、管理モジュール２８を介して外部ポリシー・サーバまたは管理ステーション３２あるいはその両方と通信するオーバーレイ・エージェント３６を含むことができる。オーバーレイ・エージェント３６は、仮想ネットワーク・オーバーレイ動作を行う、例えば、２つ以上のエンドステーションがオーバーレイ仮想ネットワークで通信するのを可能にするように構成される。
【００２７】
図２は、一実施形態による、２つのエンドステーション２０２、２０６が同じオーバーレイ仮想ネットワークにある環境２００のブロック図である。エンドステーション２０２、２０６は、ルータ２１２を介してデータ・パケットを互いに交換することができる。１つまたは複数のアクセス・スイッチ（図示せず）を、エンドステーション２０２、２０６とルータ２１０との間に位置付けることができる。一実施形態では、エンドステーション２０２、２０６は異なる物理サブネットに対して構成され、共通仮想ネットワークのメンバーとすることができる。したがって、ルータ２１２は、エンドステーション２０２がメンバーである第１のサブネットにサービス提供するための第１のサブネット・インターフェースＲ１と、エンドステーション２０６がメンバーである第２のサブネットにサービス提供するための第２のサブネット・インターフェースＲ２とを含む。他の実施形態では、エンドステーション２０２、２０６は同じ物理ネットワーク、例えば、物理レイヤ２ネットワークの一部として、または同じサブネット、例えば、同じレイヤ３（例えば、ＩＰ）サブネット上で構成される。環境２００で行われる動作について説明する目的で、図２のオーバーレイ・システム２０４を送信元オーバーレイ・システムと呼ぶことができ、図２のオーバーレイ・システム２０８を宛先オーバーレイ・システムと呼ぶことができる。図２に示すような一実施形態では、環境２００はＩＰネットワークを含む。他の実施形態では、環境２００はレイヤ２ネットワークを含む。
【００２８】
エンドステーション２０２はオーバーレイ・システムＡ  ２０４と通信し、エンドステーション２０６はオーバーレイ・システムＢ  ２０８と通信する。オーバーレイ・システムＡ  ２０４またはオーバーレイ・システムＢ  ２０６あるいはその両方は、複数のエンドステーションにサービス提供することができる。オーバーレイ・システム２０４、２０６は、例えば、以下で説明されるオーバーレイ動作を行うときに、互いに通信することができる。エンドステーション２０２またはエンドステーション２０６あるいはその両方は、仮想化エンドステーションとすることができる。あるいは、エンドステーション２０２またはエンドステーション２０６あるいはその両方は、非仮想化エンドステーションとすることができる。したがって、環境２００は仮想化エンドステーションと非仮想化エンドステーションの組合せを含むことができる。
【００２９】
図３は、一実施形態による、オーバーレイ・システム３００のハイレベル・アーキテクチャを示すブロック図である。図３に関して説明されるオーバーレイ・システム・アーキテクチャは、図２を参照して説明されるオーバーレイ・システムＡ  ２０４またはオーバーレイ・システムＢ  ２０８あるいはその両方に適用することができる。したがって、オーバーレイ・システムＡ  ２０４およびオーバーレイ・システムＢ  ２０８はそれぞれ、オーバーレイ・システム３００の要素のいくつかまたはすべてを含む。図３について説明する際、図１または図２あるいはその両方の他の要素を参照する場合がある。ＩＰネットワーク、レイヤ２ネットワーク、または当業者に知られている他のネットワーク用にオーバーレイ・システム３００を構成することができる。
【００３０】
オーバーレイ・システム３００は、オーバーレイ・エージェント３０２およびオーバーレイ・ヘルパー３０４を含む。オーバーレイ・エージェント３０２を、図１のアクセス・スイッチ１６または図２のルータ２１０もしくはエッジ・スイッチ（図示せず）に設置することができる。オーバーレイ・ヘルパー３０４を、図１のホストコンピュータ１２か、図２のエンドステーション２０２またはエンドステーション２０６あるいはその両方、例えば、イーサネット（Ｒ）・デバイス・ドライバに設置することができる。
【００３１】
オーバーレイ・エージェント３０２は、管理インターフェース３０６、ポリシー・エージェント３０８、アドレス・ハンドラ３１０、および分類器３１２Ａを含む。管理インターフェース３０６は、オーバーレイ・パラメータを構成し、オーバーレイ・システム３００が実施されるオーバーレイ仮想ネットワークに様々な制御機能および管理機能を提供するために、管理ステーション３２へのインターフェースを提供する。例えば、管理インターフェース３０６を介した管理ステーション３２は、仮想ネットワークおよびそのメンバーを定義することができる。また、管理ステーション３２は、トポロジ・マップを構築する、配置基準を決定するなどの、オーバーレイ仮想ネットワークの管理に関連するタスクを行うために、ネットワーク・スイッチ、仮想化マネージャ、サーバマネージャなどの、データセンタ内のデバイスおよび他の専用管理ステーションとやり取りすることができる。一実施形態では、管理インターフェース３０６は、物理ネットワークまたは仮想ネットワークあるいはその両方の全体像（ｇｌｏｂａｌ  ｖｉｅｗ）を管理ステーション３２に提供するために構成される。管理インターフェース３０６は、ローカルパラメータ、例えば、パケット分類基準をオーバーレイ・システム３００の他の構成要素に伝えることができる。例えば、管理ステーション３２は、仮想ネットワークに関連付けられた識別子を構成することができる。次いで、オーバーレイ・エージェント３０２は、物理または仮想ポート番号、ＭＡＣアドレスなどに基づいて、所定のトラフィック分類について分類器３１２Ａを構成することができる。
【００３２】
ポリシー・エージェント３０８は、ポリシー・エンジンとも呼ばれるポリシー・サーバ２１２と通信して、所与の仮想ネットワーク内の宛先エンドステーションに対応する宛先オーバーレイ・エージェントのＩＰアドレスまたは関連するデータを含むポリシー・キャッシュを構築することができる。ポリシー・キャッシュは、ローカル・エンドステーションが通信したいと望む宛先エンドステーションのマッピングを含む。ポリシー・サーバ２１２は、図２のエンドステーション２０２、２０６、オーバーレイ・システム２０４、２０８、またはエッジ・スイッチ（図示せず）あるいはそれらすべてなどの、データセンタ環境の様々な構成要素とやり取りすることによって、オーバーレイ・ネットワーク内の１つまたは複数のエンドステーションの場所を判別し、そのＩＰアドレスを取得することができる。別の実施形態では、管理ステーション３２は、管理インターフェース３０６を介してポリシー・サーバ２１２と通信して、通信経路を確立するためのマッピング関連の情報をエンドステーション２０２、２０６に提供する。
【００３３】
アドレス・ハンドラ３１０は、アドレス解決プロトコル（ＡＲＰ）要求またはレイヤ２関連の通信をエンドステーション２０２、２０６から受信し、処理する。ＡＲＰはＩＰアドレスをＭＡＣアドレスまたは他のレイヤ２アドレスに関連付けるために使用される、よく知られているプロトコルであるので、簡潔にするために、ＡＲＰの詳細は本明細書では開示されない。アドレス・ハンドラ３１０は、送信元エンドステーションの仮想ネットワークにあるターゲット・エンドステーションと通信するための宛先オーバーレイ・エージェントのＩＰアドレスについて、ポリシー・エージェント３０８に照会し、例えば、ＡＲＰに従って、宛先オーバーレイ・エージェントのＩＰアドレスのネクスト・ホップＭＡＣアドレスを決定することができる。ネクスト・ホップの決定は、例えば、物理ネットワークで、通常のＡＲＰ機構を介して行うことができる。レイヤ２ネットワークおよび対応するレイヤ２仮想ネットワーク・サービスが提供される実施形態では、アドレス・ハンドラ３１０はオーバーレイ・システム３００の一部ではない。ここでは、宛先ＩＰアドレスの代わりに宛先ＭＡＣアドレスに基づいて、パケットを分類することができる。したがって、仮想ネットワーク識別子は代替的に、ＩＰアドレスの代わりにＭＡＣアドレスを適格とすることができる。
【００３４】
オーバーレイ・システム３００のオーバーレイ・ヘルパー３０４は、ＩＰハンドラ３１４および分類器３１２Ｂを含み、分類器３１２Ｂはオーバーレイ・エージェント３０２の分類器３１２Ａの一部である。オーバーレイ・エージェント３０２における分類器３１２Ａは、受信されたデータトラフィック、特に、オーバーレイ・システムによってサービス提供されるローカル・エンドステーションのうちの１つに向けたトラフィックを処理する。一方、オーバーレイ・ヘルパー３０４における分類器３１２Ｂは、送信用のパケットを処理する。例えば、分類器３１２Ｂは、エンドステーション、例えば、エンドステーション２０２からＩＰパケットまたはレイヤ２データなどを受信し、パケットを仮想ネットワークにマップする。管理インターフェース３０６を介して、このマッピングを構成することができる。本明細書で使用される場合、オーバーレイ・エージェント３０２の分類器３１２Ａおよびオーバーレイ・ヘルパー３０４の分類器３１２Ｂを全体として分類器３１２と呼ぶことができる。要するに、分類器３１２は、例えば、管理ステーション３２によって構成された、事前構成された仮想ポートまたはＭＡＣベースの分類に基づいて、ローカル・エンドステーションから来るすべてのパケットを仮想ネットワークにマップする。したがって、エンドステーションによって送信されたすべてのパケットは、分類器３１２を介して送信され、分類器３１２は、受信されたパケットを仮想ネットワークにマップする。
【００３５】
ＩＰハンドラ３１４は、エンドステーションから分類器３１２を介してＩＰパケットを受信し、それぞれの受信されたＩＰパケットにオーバーレイ・カプセル化を付加する。オーバーレイ・カプセル化は、外側オーバーレイＭＡＣヘッダ、外側オーバーレイＩＰヘッダ、およびオーバーレイ固有ヘッダを含むことができる。外側オーバーレイＭＡＣヘッダは、オーバーレイ・システムＡ  ２０４に対応する送信元ＭＡＣアドレスおよびターゲット・オーバーレイＩＰアドレスのネクスト・ホップＩＰアドレスに対応する宛先ＭＡＣアドレスを含むことができる。外側オーバーレイＩＰヘッダは、送信元オーバーレイ・システム２０４のＩＰアドレスおよびオーバーレイ・システムＢ  ２０８のＩＰアドレスを含むことができる。オーバーレイ固有ヘッダは、仮想ネットワークを識別する一意の識別子を含むことができる。
【００３６】
宛先オーバーレイ・システム２０８のＩＰハンドラ３１４は、送信元オーバーレイ・システム２０４から送られたカプセル化されたＩＰパケットを受信することができ、宛先エンドステーション２０６の内側ＩＰ宛先、すなわち、ＩＰアドレスおよび仮想ネットワーク識別子に基づいて、パケットの宛先である宛先エンドステーション２０６の場所を特定することができる。宛先オーバーレイ・システム２０８のＩＰハンドラ３１４は、ポリシー・エージェント３０８と通信して、宛先エンドステーション２０６のマッピング情報を取り出すことができる。ローカル宛先はパケットのコンテンツから引き出すことができ、ターゲット・ポートはその設定から識別することができる。ここで、ルックアップは必要でない場合がある。とは言うものの、一方では、ターゲットが場所を変更した場合、ルックアップが必要となる場合がある。ＩＰハンドラ３１４はローカル・ポリシー・エージェント３０８に照会することができ、ローカル・キャッシュにマッピングが見つからない場合、今度は、ローカル・ポリシー・エージェント３０８がグローバル・ポリシー・サーバ２１２に照会する。エンドステーションが識別されると、ＩＰハンドラ３１４は、パケット・フレームを宛先エンドステーション２０６に転送する前に、オーバーレイ・ヘッダを剥ぎ取る。
【００３７】
図４は、一実施形態による、図２のエンドステーション２０２、２０６とオーバーレイ・システム２０４、２０８との間で通信するためのプロセスフロー４００を示す概略ブロック図である。プロセスフロー４００について説明する際、図１〜図３も参照する。メモリ・デバイスに記憶され、エンドステーション２０２、エンドステーション２０６、ルータ２１０、ポリシー・サーバ２１２、またはエンドステーション２０２、２０６とルータ２１０との間の１つもしくは複数の介在スイッチ（図示せず）あるいはそれらすべてのうちの少なくとも１つのプロセッサによって実行される命令によって、プロセスフロー４００を統制することができる。図４では、エンドステーション２０２を送信元エンドステーションと呼ぶことができ、エンドステーション２０６を宛先エンドステーションと呼ぶことができる。また、図４では、オーバーレイ・システムＡ  ２０４を送信元オーバーレイ・システムと呼ぶことができ、オーバーレイ・システムＢ  ２０８を宛先オーバーレイ・システムと呼ぶことができる。本明細書ではオーバーレイ・システム２０４、２０８が参照されているが、図３に記載されたオーバーレイ・システム３００が同様に適用される。
【００３８】
宛先要求メッセージは、エンドステーション２０２からオーバーレイ・システムＡ  ２０４に出力され（４０２）、例えば、ブロードキャスト・メッセージとして出力される。ブロードキャスト・メッセージを、よく知られているやり方で出力する、例えば、アドレス解決のためのＡＲＰに従って出すことができる。あるいは、レイヤ２フォーマットで宛先要求メッセージを出力することができる。ここで、宛先エンドポイントへのユニキャスト・メッセージがオーバーレイ・システム３００によって受信されたときに、ポリシー・キャッシュを更新することができる。
【００３９】
送信元オーバーレイ・システム２０４は宛先要求メッセージを受信することができ、それによって、送信元オーバーレイ・システム２０４のオーバーレイ・エージェント３０２のアドレス・ハンドラ３１０は、あらかじめ定義された仮想ネットワーク内の宛先エンドステーション２０６に関連する宛先オーバーレイ・システム２０８のＩＰアドレスについて、ポリシー・エージェント３０８に照会することができる。送信元オーバーレイ・システム２０４のポリシー・エージェント３０８は最初にそのポリシー・キャッシュ（図示せず）にアクセスすることができ、ポリシー・キャッシュは、送信元エンドステーション２０２が通信したいと望む宛先エンドステーション２０６の宛先オーバーレイ・システム２０８に関連するマッピング情報を記憶することができる。ポリシー・キャッシュにそのようなマッピング情報が見つからない場合、アドレス・ハンドラ３１０はメッセージ、例えば、ユニキャスト・メッセージをポリシー・サーバ２１２に出力して、マッピング情報を取得する（４０４）ことができる。特に、オーバーレイ・システム３００は、宛先エンドポイント２０６が送信元エンドポイント２０２と同じ仮想ネットワーク内で接続されるターゲット・オーバーレイ・システムの場所をポリシー・サーバ２１２に要求する。ポリシー・サーバ２１２は、データセンタの要素および送信元オーバーレイ・システム２０４とやり取りすることによって、宛先エンドステーション２０６の物理的な場所を判別することができる。
【００４０】
ポリシー・サーバ２１２が宛先エンドステーション２０６の場所を判別し、要求されたマッピング情報を提供することができると仮定すると、ポリシー・サーバ２１２は、要求されたマッピング情報、具体的には、宛先エンドステーション２０６のＩＰアドレスのマッピングを宛先オーバーレイ・システム２０８に出力する（４０６）ことができる。例えば、アドレス・ハンドラ３１０はポリシー・キャッシュに照会することができ、そこで見つからない場合、ポリシー・エージェント３０８はポリシー・サーバ２１２にコンタクトして、マッピング情報を取り出し、マッピング情報をアドレス・ハンドラ３１０に返す。次いで、アドレス・ハンドラ３１０は、ローカル・エンドステーション、すなわち、送信元エンドポイント２０２から送出されたＡＲＰ要求を満たすことができる。加えて、ポリシー・エージェント３０８は、ポリシー・サーバ２１２と通信して、宛先エンドステーション２０６の場所を判別し、マッピング情報を用いてポリシー・キャッシュを更新することができる。
【００４１】
送信元オーバーレイ・システム２０４のアドレス・ハンドラ３１０は、宛先エンドステーション２０６のＩＰアドレスおよびエンドステーション２０２への最初のＡＲＰ要求に応答して生成された対応するネクスト・ホップＭＡＣアドレスを出力する（４０８）ことができる。アドレス解決の後、送信元エンドステーション２０２は、レイヤ２（例えば、イーサネット（Ｒ））ヘッダ４１１、ＩＰヘッダ４１２、およびペイロード（ＰＬ）４１３を含むパケットを出力する（４１０）ことができる。レイヤ２ヘッダ４１１は、ポリシー・サーバ２１２またはポリシー・エージェント３０８あるいはその両方から受信されたネクスト・ホップＭＡＣアドレス（Ｒ１  ＭＡＣアドレス）および宛先ＩＰアドレス（ＥＳ２  ＩＰアドレス）を含むことができる。
【００４２】
オーバーレイ・システムＡ  ２０４、特に、ＩＰハンドラ３１４は、エンドステーション２０２からパケットを受信する。ＩＰハンドラ３１４は、オーバーレイ・カプセル化４１８をパケットに付加し、カプセル化されたパケットを出力する（４１４）。オーバーレイ・カプセル化４１８は、外側オーバーレイＭＡＣヘッダ４１５、外側オーバーレイＩＰヘッダ４１６、およびオーバーレイ・ヘッダ４１７を含む。任意選択のレイヤ４ヘッダ（図示せず）、例えば、ＵＤＰヘッダを、ＩＰヘッダ４１６とオーバーレイ・ヘッダ４１７との間に位置付けることができる。外側オーバーレイＭＡＣヘッダ４１３は、送信元オーバーレイ・システム２０４に対応する送信元ＭＡＣアドレス（ｏｍａｃ１）および宛先ＭＡＣアドレス、例えば、ネクスト・ホップＭＡＣアドレス（ｒｍａｃ１）を含む。一実施形態では、ターゲットが送信元と同じサブネットにある場合、宛先ＭＡＣアドレスは宛先オーバーレイ・システム２０８の宛先ＭＡＣアドレスである。別の実施形態では、図２に示すように、宛先ＭＡＣアドレスは、エンドステーション２０２、２０６それぞれのサブネット間でパケットをルーティングするゲートウェイ・インターフェース（Ｒ１）の宛先ＭＡＣアドレスである。
【００４３】
外側オーバーレイＩＰヘッダ４１６は、送信元オーバーレイ・システム２０４のＩＰアドレスおよび宛先オーバーレイ・システム２０８のＩＰアドレスを含むことができる。オーバーレイ・ヘッダ４１７は、仮想ネットワークを識別する一意の識別子を含むことができる。送信元エンドステーション２０２から受信されたパケットにオーバーレイ・カプセル化４１８が付加されると、元のパケット４１１、４１２、４１３のコンテンツが組み合わされて、新しいペイロードＰＬ１  ４１９を形成し、新しいペイロードＰＬ１  ４１９はオーバーレイ・カプセル化４１８とともに、ルータ２１０に、または代替的にはエッジ・スイッチもしくは関連するネットワーク・スイッチに出力される（４１４）。
【００４４】
ルータ２１０、具体的には、ネクスト・ホップＭＡＣアドレスから識別されたルータ２１０の第１のサブネット・インターフェースＲ１は、ペイロードＰＬ１  ４１９を有するパケットを受信し、ペイロードＰＬ１  ４１９ならびにオーバーレイ・ヘッダ４１７および外側オーバーレイＩＰヘッダ４１６のコンテンツを宛先エンドステーション２０６または宛先オーバーレイ・システム２０８あるいはその両方がメンバーである第２のサブネットにサービス提供する第２のインターフェースＲ２から出力（４２０）する。送信元ＭＡＣアドレス、すなわち、第２のルータ・インターフェースＲ２のＭＡＣアドレスと、宛先オーバーレイ・システム２０８のＩＰアドレスに対応する宛先オーバーレイ・エージェント２０８のＭＡＣアドレスとを含むＭＡＣアドレスヘッダ４２１が外側オーバーレイＩＰヘッダ４１６において付加される。
【００４５】
オーバーレイ・システムＢ  ２０８は、ルータ２１０から受信されたパケットからオーバーレイ・ヘッダ４１７を取り除き、元のペイロード４１３を宛先エンドステーション２０６に出力することができる。宛先オーバーレイ・システム２０８のＩＰハンドラ３１４は、宛先ＩＰアドレス・フィールド４１２で提供される内側ＩＰ宛先（ｅｓｉｐ２）およびオーバーレイ・ヘッダ４１７内の仮想ネットワーク情報、例えば、一意の仮想ネットワーク識別子に基づいて、パケットを受信するための意図された宛先エンドステーションを判別することができる。オーバーレイ・システムＢ  ２０８は、この情報を使用して、宛先エンドステーション２０６を判別し、元のペイロード４１３を含むデータ・パケットを宛先エンドステーション２０６に出力する（４２２）ことができる。
【００４６】
図５は、一実施形態による、オーバーレイ動作を行うための方法５００の流れ図である。方法５００について説明する際、図１〜図４の要素も参照する。
【００４７】
ブロック５０２で、オーバーレイ・システム３００のオーバーレイ・エージェント３０２をアクセス・スイッチ１６または関連するネットワーク・エッジ・デバイスで実施することができる。上述したように、オーバーレイ・エージェント３０２は、管理インターフェース３０６、ポリシー・エージェント３０８、アドレス・ハンドラ３１０、および分類器３１２Ａを含むことができる。
【００４８】
ブロック５０４で、オーバーレイ・ヘルパー３０４は、ホストコンピュータ１２で実施される。上述したように、オーバーレイ・ヘルパー３０４は、ＩＰハンドラ３１４および分類器３１２を含むことができる。一実施形態では、オーバーレイ・ヘルパー３０４は、ハイパーバイザＮＩＣドライバで実施される。別の環境では、オーバーレイ・ヘルパー３０４は、ＳＲ  ＩＯＶ  ＮＩＣで実施される。別の環境では、オーバーレイ・ヘルパー３０４は、レガシーＮＩＣ、ＯＳ  ＮＩＣドライバ、またはＮＩＣファームウェアもしくはハードウェアあるいはそれらすべてで実施される。
【００４９】
ブロック５０６で、インバンド・プロトコルを介してオーバーレイ・エージェント３０２からオーバーレイ・ヘルパー３０４にオーバーレイ・パラメータを送信することができる。２つのエンドステーション間でトラフィック・フローを開始する前に、物理または仮想ポート番号、ＭＡＣアドレスなどに基づいた分類基準を交換することができる。トラフィック・フローの開始時に、ポリシー・キャッシュ・エントリなどを交換することができる。受信されたパケットにオーバーレイ・ヘッダを付加することによってカプセル化を行うことができ、受信されたパケットは、ＩＰアドレス情報もしくはＭＡＣアドレス情報またはその両方、仮想ネットワーク情報、またはオーバーレイ仮想ネットワーク内でパケットの宛先エンドステーションを判別するための関連する情報あるいはそれらすべてを含む。したがって、アクセス・スイッチとエンドステーションの両方でオーバーレイ・システム３００を実施することによって、仮想化デバイスに加えてレガシー・デバイスを含むように仮想ネットワークを拡大することができ、それによって、ハイパーバイザ・プラットフォームなどへのいかなる依存も低減する。そうする際に、オーバーレイ仮想ネットワーク機能をオペレーティング・システムまたはハイパーバイザから切り離すことができる。さらに、オーバーレイ・ヘルパーによって行われるオーバーレイ・ヘッダの付加、削除、または修正をホストコンピュータ・オペレーティング・システム下のハードウェア、ファームウェア、またはソフトウェア・レイヤで行うことができる。したがって、オペレーティング・システムを修正する必要なしに、オーバーレイ機能を行うことができる。
【００５０】
図６は、一実施形態による、仮想ネットワーク・オーバーレイ・システム３００を用いて構成された、ホストコンピュータ６１２およびアクセス・スイッチ６１６を含む環境６００のブロック図である。
【００５１】
ホストコンピュータ６１２は、ホストコンピュータ１２のハードウェアを仮想マシン６０２−１から６０２−Ｎ（全体として、６０２）に抽象化するためのハイパーバイザ６０６を含む。仮想マシン６０２は、外部ネットワークＩ／Ｏ動作を行うための物理ネットワーク・インターフェース・コントローラ（ＮＩＣ）６１４を共有する。ハイパーバイザ６０６は、仮想マシン６０２間の相互接続を提供するソフトウェアベースの仮想スイッチ６０８、すなわちｖｓｗｉｔｃｈを含むことができる。仮想スイッチ６０８は、仮想マシン６０２と、物理ＮＩＣ６１４との間でパケットを転送するために、物理ＮＩＣ６１４と、仮想マシン６０２の複数の仮想ＮＩＣ６０４、すなわちｖＮＩＣとの間をインターフェースする。それぞれの仮想マシン６０２は、１つまたは複数の関連付けられたｖＮＩＣ６０４を有することができる。また、それぞれの仮想マシン６０２は、ＶＭネットワーク・スタック６２０と、対応するｖＮＩＣ６０４を駆動するＶＭ  ｖＮＩＣドライバ６２２とを含むことができる。一般に、それぞれのｖＮＩＣ６０４は、物理ネットワーク・インターフェースのように動作する。例えば、それぞれのｖＮＩＣ６０４を一意のＭＡＣ（媒体アクセス制御）アドレスに割り当てることができる。
【００５２】
ｖＮＩＣ６０４は、ハイパーバイザＮＩＣドライバ６１０および仮想スイッチ６０８を介して物理ＮＩＣ６１４に論理的に接続される。一実施形態では、オーバーレイ・システム３００のオーバーレイ・ヘルパー３０４は、ハイパーバイザＮＩＣドライバ６１０で、または代替的にはＮＩＣファームウェアもしくはハードウェアで実施される。オーバーレイ・システム３００のオーバーレイ・エージェント３０２をアクセス・スイッチ６１６で実施することができる。別の実施形態では、オーバーレイ・ヘルパー３０４は、ＶＭネットワーク・スタック６２０で実施される。別の実施形態では、オーバーレイ・ヘルパー３０４は、ＶＭ  ｖＮＩＣドライバ６２２で実施される。別の実施形態では、オーバーレイ・ヘルパー３０４は、ＶＭネットワーク・スタック６２０、ｖＮＩＣドライバ６２２、およびハイパーバイザＮＩＣドライバ６１０の組合せで実施される。オーバーレイ・エージェント３０２およびオーバーレイ・ヘルパー３０４は、オーバーレイ・エージェント３０２とオーバーレイ・ヘルパー３０４との間で、オーバーレイ・パラメータ、例えば、分類基準および、仮想ネットワーク・マッピング情報などのポリシー・キャッシュ・データを送信するために、インバンド・プロトコルを介して、互いに通信する。
【００５３】
図７は、別の実施形態による、仮想ネットワーク・オーバーレイ・システム３００を用いて構成された、ホストコンピュータ７１２およびアクセス・スイッチ７１６を含む環境７００のブロック図である。環境７００は、環境７００がＳＲ−ＩＯＶ  ＮＩＣ７１４を含むことを除けば、図６に記載された環境６００に類似している。ここで、仮想機能（ＶＦ）エンジン７３０を介して、ｖＮＩＣ７０４を物理ＮＩＣ７１４に論理的に接続することができ、仮想機能（ＶＦ）エンジン７３０は、ＮＩＣ７１４の仮想化インスタンスを含むことができる。ハイパーバイザＮＩＣドライバ７１０は、図６の構成に類似した物理機能（ＰＦ）エンジンを駆動することができ、その結果、ハイパーバイザ７０６は、物理カードへのインターフェースであるＰＦ７３２にアクセスすることができる。ＶＦエンジン７３０は、ｖｓｗｉｔｃｈ７０８を迂回することによって仮想マシン７０２間でトラフィックを切り替えることによって、トラフィック切替性能を改善することを可能にする。したがって、ＶＭ７０２Ａ、７０２Ｄは、制御操作またはデータ操作のためにハイパーバイザ７０６に依存する必要なしに、仮想機能によって物理ＮＩＣ７１４に直接アクセスすることができる。
【００５４】
一実施形態では、オーバーレイ・システム３００のオーバーレイ・ヘルパー３０４は、ＰＦ７３２を駆動するＮＩＣドライバ７１０で、またはＮＩＣファームウェアもしくはハードウェアで実施される。オーバーレイ・システム３００のオーバーレイ・エージェント３０２をアクセス・スイッチ６１６で実施することができる。別の実施形態では、オーバーレイ・ヘルパー３０４は、ＶＭネットワーク・スタック７２０で実施される。別の実施形態では、オーバーレイ・ヘルパー３０４は、ＶＭ  ｖＮＩＣドライバ７２２で実施される。別の実施形態では、オーバーレイ・ヘルパー３０４は、ＶＭネットワーク・スタック７２０、ｖＮＩＣドライバ７２２、およびＮＩＣドライバ７１０の組合せで実施される。
【００５５】
図８は、別の実施形態による、仮想ネットワーク・オーバーレイ・システム３００を用いて構成された、ホストコンピュータ８１２およびアクセス・スイッチ８１６を含む環境８００のブロック図である。ホストコンピュータ８１２は、従来のオペレーティング・システムを含むことができ、ハイパーバイザまたはＶＭＭを必要としない。
【００５６】
ホストコンピュータ８１２は、例えば、物理ホストコンピュータ１２上で仮想化エンティティまたは非仮想化エンティティのそれぞれに専用のキューを含む、ネットワーク仮想化用に構成されたＮＩＣ８０４を含むことができる。ここで、一意のＭＡＣアドレスをそれぞれのキューに割り当てて、エンティティを互いに区別することができる。オーバーレイ・システム３００のオーバーレイ・ヘルパー３０４を、ＮＩＣ８０４を駆動するＯＳ  ＮＩＣドライバ８０６で、またはＮＩＣ８０４のファームウェアもしくはハードウェアで実施することができる。オーバーレイ・システム３００のオーバーレイ・エージェント３０２を、アクセス・スイッチ８１６で実施することができる。オーバーレイ・エージェント３０２およびオーバーレイ・ヘルパー３０４は、オーバーレイ・パラメータなどを交換するように構成することができるインバンド・プロトコルを介して、互いに通信する。したがって、仮想化エンドステーションまたは非仮想化エンドステーションあるいはその両方は、スケーラブルなオーバーレイ仮想ネットワークの一部とすることができる。
【００５７】
図９は、一実施形態による、送信元オーバーレイ・システムを初期化するためのプロセスフロー９００を示す概略ブロック図である。図１０は、一実施形態による、宛先オーバーレイ・システムを初期化するためのプロセスフロー９２０を示す概略ブロック図である。プロセスフロー９００および９２０について説明する際、図１〜図８も参照する。図９および図１０では、送信元エンドステーション（ＥＳ１）および宛先エンドステーションにそれぞれ対応する２つのオーバーレイ・システムは、同じオーバーレイ仮想ネットワーク内の２つのエンドステーション間で通信を行うことを可能にするために初期化される。２つのオーバーレイ・システムのそれぞれは、図３のオーバーレイ・システム３００、または図２のオーバーレイ・システム２０４、２０８のそれぞれあるいはその両方を指すことができる。
【００５８】
図９では、プロセスフロー９００は、送信元エンドステーション２０２で実施される送信元オーバーレイ・ヘルパー３０４（一般に、９０２）、送信元アクセス・スイッチで実施される送信元オーバーレイ・エージェント３０２（一般に、９０４）、送信元アクセス・スイッチと通信する管理ステーション（一般に、９０６）、およびポリシー・サーバ２１２用に構成されたトポロジ・マッパ（一般に、９０８）の間で行われる。
【００５９】
管理ステーション９０６は、オーバーレイ有効化（ｅｎａｂｌｅ  ｏｖｅｒｌａｙ）要求を送信元アクセス・スイッチ９０４に出力する（９１０）ことができる。管理ステーション９０６は、送信元オーバーレイ・エージェント９０４の管理インターフェース３０６と通信して、送信元オーバーレイ・システム３００が、パケットを分類すること、受信されたパケットにオーバーレイ・ヘッダを付加すること、インバンド・プロトコルを介して送信元オーバーレイ・ヘルパー９０２と通信すること、または本明細書に記載したものなどのオーバーレイ・システム３００の他の機能を行うこと、あるいはそれらすべてを行うことを可能にすることができる。管理ステーション９０６は、送信元エンドステーション２０２が属するオーバーレイ仮想ネットワークに関連するパケットを処理するために送信元アクセス・スイッチの所定のポートを有効にする要求を構成することができる。ポートは、ユーザ定義の仮想ネットワーク内にあるように指定することができる。したがって、そのポートから出力されたパケットは、指定された仮想ネットワークに属するように自動的に分類される。送信元オーバーレイ・システム３００は、本明細書に記載したような要求されるカプセル化を行って、物理ネットワークを介して宛先オーバーレイ・システムにパケットを送信することができる。
【００６０】
仮想オーバーレイ動作のためにアクティブ化されたことに応答して、オーバーレイ・エージェント９０４は、アドレス情報、例えば、送信元オーバーレイ・エージェント９０４のＭＡＣアドレスまたはＩＰアドレスあるいはその両方を送信元オーバーレイ・ヘルパー９０２に出力する（９１２）ことができる。
【００６１】
管理ステーション９０６は、管理インターフェース３０６を介して、エンドステーションの物理的な場所に関する要求をトポロジ・マッパ９０８に送って、トポロジ・マップを構築する、または、送信元エンドステーション２０２が関連する、すなわち、送信元エンドステーション９０２がオーバーレイ仮想ネットワーク（ＯＶＮＸ）のメンバーとなることができる、ＯＶＮＸに関連する配置基準を決定する（９１４）ことができる。
【００６２】
管理ステーション９０６は、トポロジ・マッパ９０８から受信されたトポロジ・マッピング情報を送信元オーバーレイ・エージェント９０４に、具体的には、ポリシー・エージェント３０８に出力する（９１６）ことができる。仮想ネットワーク動作において、他のオーバーレイ・エージェントがこの情報を使用することができ、それによって、例えば、エンドステーション９０２が別のエンドステーションからパケットを受信する、すなわち、エンドステーション９０２が宛先エンドステーションであるときに、通信が行われる。トポロジ・マッピング情報は、送信元エンドステーションＭＡＣアドレス、アクセス・スイッチ・ポート情報、仮想ネットワーク識別子などを含むことができる。
【００６３】
送信元エンドステーション２０２の場所を確かめるために、トポロジ・マッピング・データのいくつかまたはすべての要素、例えば、送信元エンドステーションＭＡＣアドレスおよび仮想ネットワーク識別子をオーバーレイ・ヘルパー９０２に出力する（９１８）ことができる。
【００６４】
図１０では、プロセスフロー９２０は、宛先エンドステーション２０６で実施されるオーバーレイ・ヘルパー３０４（一般に、９２２）、宛先アクセス・スイッチで実施されるオーバーレイ・エージェント３０２（一般に、９２４）、宛先アクセス・スイッチと通信する管理ステーション（一般に、９２６）、およびポリシー・サーバ２１２用に構成されたトポロジ・マッパ（一般に、９２８）の間で行われる。宛先アクセス・スイッチ９２４は、図９の送信元アクセス・スイッチ９０４と同じスイッチまたはそれに類似したスイッチとすることができる。管理ステーション９２６は、図９の管理ステーション９０６と同じまたはそれに類似したものとすることができる。トポロジ・マッパ９２８は、図９のトポロジ・マッパ９０８と同じものとすることができる。
【００６５】
管理ステーション９２６は、オーバーレイ有効化要求を宛先アクセス・スイッチ９２４に出力する（９３０）ことができる。管理ステーション９２６は、宛先オーバーレイ・エージェント９２４の管理インターフェース３０６と通信して、オーバーレイ・システム３００が、パケットを分類すること、受信されたパケットにオーバーレイ・ヘッダを付加すること、インバンド・プロトコルを介して宛先オーバーレイ・ヘルパー９２２と通信すること、または本明細書に記載したものなどのオーバーレイ・システム３００の他の機能を行うこと、あるいはそれらすべてを行うことを可能にすることができる。管理ステーション９２６は、宛先エンドステーション２２２が属するオーバーレイ仮想ネットワークに関連するパケットを処理するために宛先アクセス・スイッチの所定のポートＱを有効にする要求を構成することができる。
【００６６】
仮想オーバーレイ動作のためにアクティブ化されたことに応答して、オーバーレイ・エージェント９２４は、アドレス情報、例えば、宛先オーバーレイ・エージェント９２４のＭＡＣアドレスまたはＩＰアドレスあるいはその両方を宛先オーバーレイ・ヘルパー９２２に出力する（９３２）ことができる。
【００６７】
管理ステーション９２６は、管理インターフェース３０６を介して、エンドステーションの場所情報に関する要求をトポロジ・マッパ９２８に送って、トポロジ・マップを構築し、宛先エンドステーション２０６が関連する、すなわち、宛先エンドステーション９２２がオーバーレイ仮想ネットワーク（ＯＶＮＸ）のメンバーとなることができる、ＯＶＮＸに関連する配置基準を決定する（９３４）ことなどができる。管理ステーション９２６は、送信経路を確立するために、トポロジ・マッピング情報をオーバーレイ・エージェント９２４によって照会されたポリシー・サーバ９２８に出力する（９３６）ことができる。仮想ネットワーク動作において、例えば、エンドステーションが宛先エンドステーションであるときに、他のオーバーレイ・エージェントがこの情報を使用することができる。トポロジ・マッピング情報は、宛先エンドステーションＭＡＣアドレス、アクセス・スイッチ・ポート情報、仮想ネットワーク識別子などを含むことができる。
【００６８】
宛先エンドステーション２０６の場所を確かめるために、トポロジ・マッピング・データのいくつかまたはすべての要素、例えば、宛先エンドステーションＭＡＣアドレスおよび仮想ネットワーク識別子をオーバーレイ・ヘルパー９２２に出力する（９３８）ことができる。
【００６９】
図１１は、一実施形態による、送信元オーバーレイ・システムと通信するためのプロセスフロー１０００を示す概略ブロック図である。プロセスフロー１０００について説明する際、図１〜図９の要素も参照する。特に、プロセスフロー１０００は、図２の第１のエンドステーション２０２、ルータ２１０、およびポリシー・サーバ２１２、ならびに図９の送信元エンドステーション２０２で実施される送信元オーバーレイ・ヘルパー３０４（一般に、９０２）および送信元アクセス・スイッチで実施される送信元オーバーレイ・エージェント３０２（一般に、９０４）の間で行われるものとして説明される。しかし、プロセスフロー１０００は、図６〜図８でまたは本明細書に記載される他の図で参照されるエンドステーションとアクセス・スイッチとの間で、同様に適用することができる。
【００７０】
宛先要求メッセージは、エンドステーション２０２から送信元オーバーレイ・エージェント９０４に出力され（１００２）、例えば、ブロードキャスト・メッセージとして出力される。ブロードキャスト・メッセージを、よく知られているやり方で出力する、例えば、アドレス解決のためのＡＲＰに従って出すことができる。
【００７１】
送信元オーバーレイ・エージェント９０４のアドレス・ハンドラ３１０は、分類器３１２を介して要求を受信し、例えば、送信元エンドステーション２０２の仮想ネットワーク（ＯＶＮＸ）内の宛先エンドステーション２０６のＩＰアドレスについてポリシー・エージェント３０８に照会することができる。送信元オーバーレイ・エージェント９０４のポリシー・エージェント３０８は最初にそのポリシー・キャッシュ（図示せず）アクセスすることができ、ポリシー・キャッシュは、送信元エンドステーション２０２が通信したいと望む宛先エンドステーション２０６に関連するマッピング情報を記憶することができる。アドレス・ハンドラ３１０はポリシー・エージェント３０８と通信することができ、ポリシー・エージェント３０８はローカル・キャッシュをチェックすることができる。マッピング情報が見つからない場合、ポリシー・サーバ２１２はマッピング情報を提供することができる。ユニキャスト・メッセージをポリシー・サーバ２１２に出力して、マッピング情報を取得する（１００４）ことができる。
【００７２】
ポリシー・サーバ２１２は、図４に関して上述したものに類似した手法に従って、宛先エンドステーション２０６の物理的な場所を判別することができる。簡潔さに関連する理由により、そのような手法については繰り返さない。ポリシー・サーバ２１２は、要求されたマッピング情報、具体的には、宛先エンドステーション２０６のＩＰアドレスのマッピングを宛先オーバーレイ・システムに出力する（１００６）ことができる。加えて、ポリシー・エージェント３０８は、ポリシー・サーバ２１２と通信して、宛先エンドステーション２０６の場所を判別し、マッピング情報を用いてポリシー・キャッシュを更新することができる。送信元オーバーレイ・エージェント９０４は、分類基準およびポリシー・キャッシュ・データなどのオーバーレイ・パラメータを送信元オーバーレイ・ヘルパー９０２に送る（１００８）ことができる。例えば、送信元オーバーレイ・エージェント９０４は、ネクスト・ホップＭＡＣおよびＩＰアドレス・データならびに、例えば、本明細書に記載された関連するオーバーレイ・カプセル化情報を送ることができる。送信元オーバーレイ・エージェント９０４は、インバンド・プロトコルを介して送信元オーバーレイ・ヘルパー９０２と通信することができる。送信元オーバーレイ・エージェント９０４は、宛先エンドステーション２０６のＩＰアドレスおよび対応するネクスト・ホップＭＡＣアドレスをエンドステーション２０２に出力する（１０１０）ことができる。
【００７３】
エンドステーション２０２は、パケットを出力する（１０１２）ことができる。パケットは、ネットワーク・パケット、例えば、フレームまたはＩＰパケットを含むことができる。パケットは、送信元オーバーレイ・ヘルパー９０２から受信された宛先ＭＡＣアドレス１０１３および宛先ＩＰアドレス１０１４を含むことができる。また、パケットは、ペイロード（ＰＬ）１０１５または当業者に知られているコンテンツを有する他のフィールドあるいはその両方を含むことができる。
【００７４】
送信元オーバーレイ・ヘルパー９０２のＩＰハンドラ３１４は、エンドステーション２０２からパケットを受信する。ＩＰハンドラ３１４は、オーバーレイ・カプセル化１０２０をパケットに付加し、カプセル化されたパケットを送信元アクセス・スイッチに出力する（９０４）。オーバーレイ・カプセル化１０２０は、外側オーバーレイＭＡＣヘッダ１０１７、外側オーバーレイＩＰヘッダ１０１８、およびオーバーレイ・ヘッダ１０１９を含む。外側オーバーレイＭＡＣヘッダ１０１７は、送信元アクセス・スイッチ・ポートに対応する送信元ＭＡＣアドレス（ｏｍａｃ１）およびネクスト・ホップＭＡＣアドレス（ｒｍａｃ１）を含む。一実施形態では、ターゲットが送信元と同じサブネットにある場合、宛先ＭＡＣアドレスは宛先オーバーレイ・システム２０８の宛先ＭＡＣアドレスである。別の実施形態では、図２に示すように、宛先ＭＡＣアドレスは、エンドステーション２０２、２０６それぞれのサブネット間でパケットをルーティングするルータまたはゲートウェイ・インターフェース（Ｒ１）の宛先ＭＡＣアドレスである。外側オーバーレイＩＰヘッダ１０１８は、送信元オーバーレイ・エージェント９０４のＩＰアドレスおよび宛先オーバーレイ・エージェントのＩＰアドレスを含むことができる。オーバーレイ・ヘッダ１０１９は、仮想ネットワークを識別する一意の識別子を含むことができる。送信元エンドステーション２０２から受信されたパケットにオーバーレイ・カプセル化１０２０が付加されると、元のパケット１０１３、１０１４、１０１５のコンテンツが組み合わされて、新しいペイロードＰＬ１  １０２１を形成し、新しいペイロードＰＬ１  １０２１はオーバーレイ・カプセル化１０２０とともに、オーバーレイ・ヘルパー９０２から送信元オーバーレイ・エージェント９０４を有する送信元アクセス・スイッチに出力され（１０１６）、今度は、送信元アクセス・スイッチがパケット１０２０、１０２１をルータ２１０に、またはネットワーク・スイッチもしくは関連するネットワーク・デバイスに出力する（１０２２）。
【００７５】
図１２は、一実施形態による、宛先オーバーレイ・システムと通信するためのプロセスフロー１１００を示す概略ブロック図である。プロセスフロー１１００について説明する際、図１〜図１１の要素も参照する。特に、プロセスフロー１１００は、図２の第２のエンドステーション２０６、ルータ２１０、およびポリシー・サーバ、ならびに図１０の宛先エンドステーション２０６で実施される宛先オーバーレイ・ヘルパー３０４（一般に、９２２）および宛先アクセス・スイッチで実施される宛先オーバーレイ・エージェント３０２（一般に、９２４）の間で行われるものとして説明される。しかし、プロセスフロー１１００は、図６〜図８でまたは本明細書に記載される他の図で参照されるエンドステーションとアクセス・スイッチとの間で、同様に適用することができる。
【００７６】
プロセスフロー１１００は、ルータ２１０が、プロセスフロー１０００で提供されたパケット・ペイロードＰＬ１  １０２１、オーバーレイ・ヘッダ１０１９、および外側オーバーレイＩＰヘッダ１０１８を、オーバーレイ・エージェント９２４を有する宛先アクセス・スイッチに出力する（１１０２）ことで始まり、今度は、宛先アクセス・スイッチがこのパケットデータを宛先オーバーレイ・ヘッダ９２２に出力する（１１０４）。送信元ＭＡＣアドレス、すなわち、パケット・ペイロードＰＬ１  １０２１を出力する（１１０２）ルータ・インターフェースまたはアクセス・スイッチ・ポートのＭＡＣアドレスを含むことができるＭＡＣアドレスヘッダ１１０３が付加される。また、ＭＡＣアドレスヘッダ１１０３は、宛先オーバーレイ・エージェント９２４のＭＡＣアドレスを含む。
【００７７】
宛先オーバーレイ・ヘルパー３０４は、受信されたフレームからオーバーレイ・ヘッダ１０１９を取り除くことができ、パケット・ペイロードＰＬ１  １０２１内の内側ＩＰ宛先、すなわち、ＥＳ２  ＩＰアドレス１０１４またはヘッダ１０１９内の仮想ネットワーク識別子あるいはその両方から宛先エンドステーション２０６を判別する。図１０に記載された初期化プロセス中にオーバーレイ・ヘルパー３０２に提供することができる宛先エンドステーションＭＡＣアドレスを含むＭＡＣヘッダ１１０７が付加される。したがって、元のペイロードＰＬ  １０１５を意図された先エンドステーション２０６に向けて送ることができる。
【００７８】
当業者によって諒解されるように、本発明の態様は、システム、方法またはコンピュータ・プログラム製品として具体化され得る。したがって、本発明の態様は、すべてが本明細書において一般に「回路」、「モジュール」または「システム」と呼ばれ得る、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）またはソフトウェア態様およびハードウェア態様を組み合わせる実施形態の形を取り得る。さらに、本発明の態様は、具体化されるコンピュータ可読プログラム・コードを有する１つまたは複数のコンピュータ可読媒体で具体化されるコンピュータ・プログラム製品の形を取り得る。
【００７９】
１つまたは複数のコンピュータ可読媒体の任意の組合せが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁、赤外線、または半導体システム、装置、またはデバイス、あるいは上記の任意の適切な組合せであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）としては、１つまたは複数のワイヤを有する電気接続、携帯型コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、携帯型コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または上記の任意の適切な組合せが挙げられよう。この文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置もしくはデバイスによって、または命令実行システム、装置もしくはデバイスに関連して使用するためのプログラムを含む、または記憶することができる任意の有形媒体であってもよい。
【００８０】
コンピュータ可読信号媒体は、例えば、ベースバンドにおいてまたは搬送波の一部として、その中で具体化されるコンピュータ可読プログラム・コードを有する伝搬データ信号を含み得る。そのような伝搬信号は、電磁、光学、またはこれらの任意の適切な組合せを含むがこれらに限定されない、様々な形のいずれかを取り得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、かつ命令実行システム、装置もしくはデバイスによってまたは命令実行システム、装置もしくはデバイスに関連して使用するためのプログラムを通信、伝搬、または伝送することができる、任意のコンピュータ可読媒体であってもよい。コンピュータ可読媒体で具体化されるプログラム・コードは、無線、有線、光ファイバケーブル、ＲＦなど、または上記の任意の適切な組合せを含むがこれらに限定されない、任意の適切な媒体を使用して送信され得る。
【００８１】
本発明の態様に関する操作を実行するためのコンピュータ・プログラム・コードを、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語または類似のプログラミング言語などの従来の手続きプログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書くことができる。プログラム・コードは、ユーザのコンピュータで全体的に、ユーザのコンピュータで部分的に、スタンドアロン・ソフトウェア・パッケージとして、ユーザのコンピュータで部分的にかつリモートのコンピュータで部分的に、またはリモートのコンピュータもしくはサーバで全体的に実行することができる。後者のシナリオでは、リモートのコンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介して、ユーザのコンピュータに接続され得るか、外部のコンピュータへの接続が（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）行われ得る。
【００８２】
本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム製品のフローチャートの説明図またはブロック図あるいはその両方を参照しながら、本発明の態様が本明細書で説明される。フローチャートの説明図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャートの説明図またはブロック図あるいはその両方におけるブロックの組合せを、コンピュータ・プログラム命令によって実施することができることを理解されたい。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定された機能／行為を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または機械を作製するための他のプログラマブル・データ処理装置のプロセッサに提供され得る。
【００８３】
また、これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定された機能／行為を実施する命令を含む製造品を作製するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の方法で機能するよう命令することができるコンピュータ可読媒体に記憶され得る。また、コンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル装置で実行する命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定された機能／行為を実施するためのプロセスを提供するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに読み込まれて、コンピュータによって実施されるプロセスを作製するためにコンピュータ、他のプログラマブル装置または他のデバイスで一連の操作ステップを実行させ得る。
【００８４】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の考えられる実施態様のアーキテクチャ、機能および動作を示す。この点において、フローチャートまたはブロック図におけるそれぞれのブロックは、（１つまたは複数の）指定された論理機能を実施するための１つまたは複数の実行可能な命令を備えるモジュール、セグメントまたはコードの部分を表し得る。いくつかの代替実施態様では、ブロックに記載された機能は、図に記載された順序ではない順序で行われ得ることにも留意されたい。例えば、連続して示されている２つのブロックは、実際には、実質的に同時に実行されることがあり、またはこれらのブロックは、時として、関与する機能に応じて、逆の順序で実行されることがある。ブロック図またはフローチャートの説明図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャートの説明図あるいはその両方におけるブロックの組合せを、指定された機能または行為を実行する専用ハードウェアベース・システム、または専用ハードウェアおよびコンピュータ命令の組合せによって実施することができることにも留意されたい。
【００８５】
特定の実施形態を参照しながら本発明を示し、説明してきたが、本発明の範囲から逸脱することなく、実施形態において形態および詳細の様々な変更を行うことができることが当業者によって理解されるべきである。
【図１】
0005946532.tif 000002
【図２】
0005946532.tif 000003
【図３】
0005946532.tif 000004
【図４】
0005946532.tif 000005
【図５】
0005946532.tif 000006
【図６】
0005946532.tif 000007
【図７】
0005946532.tif 000008
【図８】
0005946532.tif 000009
【図９】
0005946532.tif 000010
【図１０】
0005946532.tif 000011
【図１１】
0005946532.tif 000012
【図１２】
0005946532.tif 000013