(57)【特許請求の範囲】
【請求項１】
プログラミング命令を有するコンピュータ可読ストレージ媒体上に有形に具体化されたコンピュータ実行可能コードを有するコンピュータ・インフラストラクチャにおいて実施される方法であって、前記プログラミング命令は、
ＤＨＣＰリレー・エージェントが動的ホスト構成プロトコル（ＤＨＣＰ）パケットをＤＨＣＰクライアントから受信し、
前記ＤＨＣＰリレー・エージェントが、前記ＤＨＣＰパケット内に、ＤＨＣＰサーバがオーバーレイ・ネットワークに基づくマルチテナント・クラウド・データ・センターにおいてテナントに特有の関連したアドレス空間上にインターネット・プロトコル（ＩＰ）アドレスを割り当てるためのインジケータであるテナント特有のオプション情報を挿入し、
前記ＤＨＣＰリレー・エージェントが前記テナント特有のオプション情報を有する前記ＤＨＣＰパケットを前記ＤＨＣＰサーバに伝送する、
ように構成される、方法。
【請求項２】
前記テナント特有のオプション情報は、テナント分離に用いられるオーバーレイ・プロトコル・タイプを示すために用いられるトランスポート・エージェント・フィールド、及び前記テナントを一意に識別するために用いられるテナント識別フィールドのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記オーバーレイ・プロトコル・タイプは、仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）、拡張可能仮想ローカル・エリア・ネットワーク（ＶＸＬＡＮ）、分散型オーバーレイ仮想イーサネット（ＤＯＶＥ）、ジェネリック・ルーティング・カプセル化を用いるネットワーク仮想化（ＮＶＧＲＥ）、ステートレス・トランスポート・トンネリング（ＳＴＴ）、及びジェネリック・ネットワーク仮想化カプセル化（ＧＥＮＥＶＥ）のうちの１つを含む、請求項２に記載の方法。
【請求項４】
前記テナント特有のオプション情報は、仮想ネットワークを示すために用いられる仮想ネットワーク識別フィールドをさらに含む、請求項２に記載の方法。
【請求項５】
前記テナント特有のオプション情報は、前記ＤＨＣＰパケットのＤＨＣＰヘッダ内に挿入される、請求項１に記載の方法。
【請求項６】
ＤＨＣＰサーバであるコンピューティング・デバイスにより可読であり、かつ前記コンピューティング・デバイスに、
動的ホスト構成プロトコル（ＤＨＣＰ）パケットをＤＨＣＰクライアントから受信することと、
前記ＤＨＣＰパケットが、前記ＤＨＣＰサーバがオーバーレイ・ネットワークに基づくマルチテナント・クラウド・データ・センターにおいてテナントに特有の関連したアドレス空間上にインターネット・プロトコル（ＩＰ）アドレスを割り当てるためのインジケータであるテナント特有のオプション情報を含むと判断することと、
前記テナント特有のオプション情報に基づいてアドレス空間を選択することと、
を含む方法を実施させるプログラム命令を含む、コンピュータ・プログラム。
【請求項７】
前記テナント特有のオプション情報に基づいて前記アドレス空間を選択することは、
前記テナント特有のオプション情報を有する前記ＤＨＣＰパケットが、リンク選択サブオプション及びサブネット選択オプションの少なくとも１つを有すると判断することと、
前記ＤＨＣＰパケットが、前記リンク選択サブオプション及び前記サブネット選択オプションの少なくとも１つを有すると判断されたとき、要求されるサブネットにおいてアドレスが利用可能であると判断することと、
前記要求されるサブネットにおいて前記アドレスが利用可能であるとき、前記要求されるサブネット内に前記アドレスを割り当てることと、
をさらに含む、請求項６に記載のコンピュータ・プログラム。
【請求項８】
前記テナント特有のオプション情報に基づいて前記アドレス空間を選択することは、前記ＤＨＣＰパケットがリンク選択サブオプション及びサブネット選択オプションの少なくとも１つを有さないとの判断に応答して、仮想ネットワーク識別子に対してアドレス空間を割り当てることをさらに含む、請求項７に記載のコンピュータ・プログラム。
【請求項９】
前記テナント特有のオプション情報に基づいて前記アドレス空間を選択することは、前記要求されるサブネットにおいて前記アドレスが利用可能でないとの判断に応答して、仮想ネットワーク識別子に対してアドレス空間を割り当てることをさらに含む、請求項７に記載のコンピュータ・プログラム。
【請求項１０】
前記方法は、前記受信したＤＨＣＰパケットが前記テナント特有のオプション情報を欠いているとの判断に応答して、グローバル・アドレス空間を割り当てることをさらに含む、請求項６に記載のコンピュータ・プログラム。
【請求項１１】
システムであって、
ＣＰＵ、コンピュータ可読メモリ及びコンピュータ可読ストレージ媒体と、
ＤＨＣＰリレー・エージェントが動的ホスト構成プロトコル（ＤＨＣＰ）パケット内にマルチテナンシ情報を挿入するためのプログラム命令と、
前記ＤＨＣＰリレー・エージェントが前記マルチテナンシ情報を有する前記ＤＨＣＰパケットをＤＨＣＰサーバに伝送するためのプログラム命令と、
を含み、
前記マルチテナンシ情報は、前記ＤＨＣＰサーバがオーバーレイ・ネットワークに基づくマルチテナント・クラウド・データ・センターにおいてテナントに特有の関連したアドレス空間上にインターネット・プロトコル（ＩＰ）アドレスを割り当てるためのインジケータであるテナント特有のオプション情報を含むものであり、
前記プログラム命令は、前記ＣＰＵによって前記コンピュータ可読メモリを介して実行されるように前記コンピュータ可読ストレージ媒体上に格納される、システム。
【請求項１２】
前記マルチテナンシ情報は、テナント分離に用いられるオーバーレイ・プロトコル・タイプを示すために用いられるトランスポート・エージェント・フィールド、前記テナントを一意に識別するために用いられるテナント識別フィールド、及び仮想ネットワークを示すために用いられる仮想ネットワーク識別フィールドのうちの少なくとも１つを含む、請求項１１に記載のシステム。
【請求項１３】
前記ＤＨＣＰリレー・エージェントが、前記マルチテナンシ情報の第１のフィールドを、テナント分離に用いられるオーバーレイ・プロトコル・タイプを示すように構成するためのプログラム命令と、
前記ＤＨＣＰリレー・エージェントが、前記マルチテナンシ情報の第２のフィールドを、テナントを一意に識別するように構成するためのプログラム命令と、
前記ＤＨＣＰリレー・エージェントが、前記マルチテナンシ情報の第３のフィールドを、仮想ネットワークを示すように構成するためのプログラム命令と、
をさらに含む、請求項１２に記載のシステム。
【請求項１４】
前記第２のフィールドは、アドレス・レンジを前記テナントのアドレス空間に局所的にスコープするために、ＤＨＣＰサーバにより用いられる、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の技術的特性は、一般に、クラウド・ネットワーキングのための動的ホスト構成プロトコル（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、ＤＨＣＰ）機構に関し、より詳細には、マルチテナント・クラウド・ネットワーキングのためのＤＨＣＰ機構に関する。
【背景技術】
【０００２】
マルチンテナント・サポートは、クラウド・データセンタ・ネットワークに対する基本的需要であり、異なるテナント間のサービス分離（service isolation）を必要とする。サービス分離の１つのタイプは、異なるテナントに対してオーバーラップするアドレスを提供するアドレス分離である。インターネット技術タスクフォースのネットワーク仮想化オーバーレイ（Internet Engineering Task Force Network Virtualization Overlays、ＩＥＴＦ  ＮＶＯ３）標準等の現行標準においては、仮想ネットワーク識別子（ＶＮＩＤ）が、オーバーレイ型仮想ネットワークにおける異なるテナントの仮想ネットワークの分離をサポートするために提供される。構成パラメータをホストに提供する動的ホスト構成プロトコル（ＤＨＣＰ）を通して、アドレス指定及びホスト構成を提供することができる。
【０００３】
ＤＨＣＰは、ホスト特有の構成パラメータをＤＨＣＰサーバからホストへ配信するためのプロトコルと、ホストへのネットワーク・アドレスの割り当てのための機構とを含む、２つのコンポーネントを有する。ＤＨＣＰにおいて、プロトコルは、単一のアドレス空間における構成しかサポートしない。従って、各ＤＨＣＰサーバは、単一のアドレス空間の構成パラメータを有するようにしか構成することができない（すなわち、プロトコルは、オーバーラップしたアドレス空間をサポートすることができない）。従って、ＤＨＣＰサーバのクライアントは、この単一のアドレス空間からしかアドレスを取得することができない。
【０００４】
クラウド・データセンタ・ネットワーク内の異なるテナントに、オーバーラップするアドレスを提供するために、各テナントに対して別個のＤＨＣＰサーバを設定する必要がある。これは通常、別個のＬＩＮＵＸ名前空間（namespace）内に一意のＤＨＣＰサーバを設定すること（すなわち、オペレーティング・システム・レベルの仮想化）、又は異なるホストにおいて複数のＤＨＣＰサーバを動作させることによって実施される。これらの実装では、１つのテナントに対して１つのＤＨＣＰサーバが存在し、異なるテナントに与えられるアドレスがオーバーラップすることがある。
【０００５】
しかしながら、通常、データ・ネットワークに接続するために用いられる物理ネットワーク・インターフェース・カードは１つしかないので、複数のＬＩＮＵＸ名前空間の構成は複雑で、多くのリソース／計算を要する。さらに、複数のＬＩＮＵＸ名前空間では、複数の仮想ネットワーク・インターフェースを生成し、Ｅｔｈｅｒｎｅｔブリッジに接続してこれらの名前空間にサービス提供すること、及び、複数のＤＨＣＰサーバ・インスタンスを実行し、そこで、それらの各々が単一のテナントのみに、又はさらに単一のネットワーク・セグメントのみにサービス提供することが必要とされる。また、テナント数が増えて何千にもなると、拡張性（scalability）がなくなる。さらに、多くの従来のオペレーティング・システム（例えば、ＷＩＮＤＯＷＳ  ＳＥＲＶＥＲ及び２．６．３２．ｘｘより前の従来のＬＩＮＵＸカーネル）は、ＬＩＮＵＸ名前空間をサポートしない。
【０００６】
さらに、仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）、拡張可能仮想ローカル・エリア・ネットワーク（virtual extensible local area network、ＶＸＬＡＮ）、分散型オーバーレイ仮想イーサネット（distributed overlay virtual Ethernet、ＤＯＶＥ）、ジェネリック・ルーティング仮想化を用いるネットワーク仮想化（network virtualization using generic routing encapsulation、ＮＶＧＲＥ）、ステートレス・トランスポート・トンネリング（stateless transport tunneling、ＳＴＴ）、ジェネリック・ネットワーク仮想化カプセル化（generic network virtualization encapsulation、ＧＥＮＥＶＥ）等のような、マルチテナント・サポートのためのオーバーレイ型カプセル化プロトコル（overlay encapsulation protocol）を用いる場合でも、オーバーレイ・ネットワーク間に相互運用性がない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、こうしたシステムは、マルチテナント・サポートに必要とされる柔軟性を提供しない。
【課題を解決するための手段】
【０００８】
本発明の第１の態様において、動的ホスト構成プログラム（ＤＨＣＰ）パケットを受信することを含む方法が提供される。当該方法は、ＤＨＣＰパケット内にテナント特有のオプション（tenant-specific option）情報を挿入することをさらに含む。当該方法は、テナント特有のオプション情報を有するＤＨＣＰパケットを伝送することをさらに含む。
【０００９】
本発明の別の態様において、プログラム・コードがストレージ媒体内に具体化されたコンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品がある。当該プログラム・コードは、一時的信号自体ではなく、プログラム命令は、コンピューティング・デバイスにより可読であり、コンピューティング・デバイスに、動的ホスト構成プロトコル（ＤＨＣＰ）パケットを受信することを含む方法を実施させる。当該方法は、ＤＨＣＰパケットがテナント特有のオプション情報を含むと判断することをさらに含む。当該方法は、テナント特有のオプション情報に基づいてアドレス空間を選択することをさらに含む。
【００１０】
本発明の更に別の態様において、プログラム・コードがストレージ媒体に具体化されたコンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品がある。プログラム・コードは、一時的信号自体ではなく、プログラム命令は、コンピューティング・デバイスにより可読であり、コンピューティング・デバイスに、テナント特有のオプション情報を含む動的ホスト構成プロトコル（ＤＨＣＰ）パケットを受信することを含む方法を実施させる。当該方法は、テナント特有のオプション情報に基づいてテナント・アドレス空間を特定することをさらに含む。当該方法は、仮想アクセスポイント（ＶＡＰ）から仮想ネットワーク識別を取得することをさらに含む。当該方法は、取得した仮想ネットワーク識別子に対応するサブネット構成を取得することをさらに含む。方法は、取得したサブネット構成に対応するインターネット・プロトコル（ＩＰ）アドレスを割り当てることをさらに含む。
【００１１】
本発明の別の態様において、ＣＰＵ、コンピュータ可読メモリ及びコンピュータ可読ストレージ媒体を含むシステムが提供される。加えて、当該システムは、１つ又は複数のプログラム命令を含む。当該システムは、動的ホスト構成プロトコル（ＤＨＣＰ）パケット内にマルチテナンシ情報を挿入するためのプログラム命令を含む。当該システムは、マルチテナンシ情報を有するＤＨＣＰパケットを伝送するためのプログラム命令をさらに含む。当該プログラム命令は、当該ＣＰＵによってコンピュータ可読メモリを介して実行されるようにコンピュータ可読ストレージ媒体上に格納される。
【００１２】
本発明の別の態様において、テナント特有のＤＨＣＰオプション・フレーム・フォーマットの第１のフィールドを、テナント分離に用いられるオーバーレイ・プロトコル・タイプを示すように構成することを含む、テナント特有のＤＨＣＰオプション・フレーム・フォーマットを構成するための方法が提供される。当該方法は、テナント特有のＤＨＣＰオプション・フレーム・フォーマットの第２のフィールドを、テナントを一意に識別するように構成することをさらに含む。当該方法は、テナント特有のＤＨＣＰオプション・フレーム・フォーマットの第３のフィールドを、仮想ネットワークを示すように構成することをさらに含む。
【００１３】
本発明の実施形態は、現行システムよりも効率的な方法で異なるテナントについてのアドレス分離の問題に対処する、マルチテナント・クラウド・ネットワーキングのための新規なＤＨＣＰ機構のような技術的特徴を実装するシステム及び方法を提供する。例えば、ＤＨＣＰ機構の実施形態において、アドレス空間のスコーピング（scoping）のためのテナント特有の情報がＤＨＣＰパケット内に含められる。ＤＨＣＰ機構の実施形態についての上述の技術的解決法の利点は、後方互換性があり（backwards-compatible）、ＤＨＣＰ処理の現在実施されるシステムに悪影響を与えないことである。さらに、テナント特有の情報がＤＨＣＰパケット内に与えられない場合には、ＤＨＣＰ処理は、現行システムのような方法で行うことができる。さらに、グローバル・スコープを有するＤＨＣＰパケットのアドレス・レンジと比べると、ＤＨＣＰ機構の実施形態の技術的特徴においては、ＤＨＣＰテナント特有の情報を用いる際、ＤＨＣＰパケットのアドレス・レンジは、テナントのアドレス空間に局所的にスコープされる。
【００１４】
また、本発明の実施形態のＤＨＣＰ機構を用いると、単一のＤＨＣＰサーバは、そのアドレス・レンジが互いにオーバーラップすることがあっても、複数のテナントに対するＤＨＣＰサービスを提供することができる。従って、現行システムとは対照的に、オペレーティング・システム（ＯＳ）のレベル分離（例えば、ＬＩＮＵＸ名前空間）に対する必要性がない。さらに、ＤＨＣＰ機構の実施形態により、マルチテナント・クラウド・データセンタにおけるＤＨＣＰサービス・プロビジョニングが簡単化される。ＤＨＣＰ機構の実施形態の技術的特徴はまた、データセンタ・ネットワークが異なる供給業者により提供される異種の仮想環境を含むときにも、相互運用性の問題に対処する。
【００１５】
本発明は、本発明の例示的な実施形態の限定されない例として示される複数の図面を参照して、以下の詳細な説明において説明される。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による、クラウド・コンピューティング・ノードを示す。
【図２】本発明の実施形態による、クラウド・コンピューティング環境を示す。
【図３】本発明の実施形態による、抽象化モデル層を示す。
【図４】本発明の別の実施形態による、クラウド・コンピューティング・ノードを示す。
【図５】本発明の態様による、テナント特有のＤＨＣＰオプションについてのフレーム・フォーマットである。
【図６】本発明の態様による、ＤＨＣＰパケット処理についての例示的なフロー（スイム図）を示す。
【図７】本発明の態様による、アドレス割り当て処理についての例示的なフローを示す。
【図８】本発明の態様による、ＤＨＣＰサブネット選択サポートについての例示的なフローを示す。
【発明を実施するための形態】
【００１７】
本発明の技術的特性は、一般に、クラウド・ネットワーキングのための動的ホスト構成プロトコル（ＤＨＣＰ）機構に関し、より詳細には、マルチテナント・クラウド・ネットワーキングのためのＤＨＣＰ機構に関する。より具体的には、本発明の実施形態は、現行システムよりも効率的な方法で異なるテナントについてのアドレス分離の問題に対処する、マルチテナント・クラウド・ネットワーキングのための新規なＤＨＣＰ機構のような技術的特徴を実装するシステム及び方法を提供する。例えば、ＤＨＣＰ機構の実施形態において、アドレス空間のスコーピングのためのテナント特有の情報がＤＨＣＰパケット内に含められる。
【００１８】
ＤＨＣＰ機構の実施形態に関する上述の技術的解決法の利点は、後方互換性があり、ＤＨＣＰ処理の現在実施されているシステムに悪影響を与えないことである。さらに、テナント特有の情報がＤＨＣＰパケット内に与えられない場合、ＤＨＣＰ処理は、現行システムのような方法で行うことができる。さらにグローバル・スコープを有するＤＨＣＰパケットのアドレス・レンジと比べると、ＤＨＣＰ機構の実施形態の技術的特徴において、ＤＨＣＰテナント特有の情報を用いる際、ＤＨＣＰパケットのアドレス・レンジは、テナントのアドレス空間に局所的にスコープされる。
【００１９】
また、本発明の実施形態のＤＨＣＰ機構を用いると、単一のＤＨＣＰサーバは、そのアドレス・レンジが互いにオーバーラップする場合でも、複数のテナントに対するＤＨＣＰサービスを提供することができる。従って、現行システムとは対照的に、オペレーティング・システム（ＯＳ）のレベル分離（例えば、ＬＩＮＵＸ名前空間）に対する必要性がない。さらに、ＤＨＣＰ機構の実施形態により、マルチテナント・クラウド・データセンタにおけるＤＨＣＰサービス・プロビジョニングが簡単化される。ＤＨＣＰ機構の実施形態の技術的特徴はまた、データセンタ・ネットワークが異なる供給業者により提供される異種の仮想環境を含むときにも、相互運用性の問題に対処する。
【００２０】
ＤＨＣＰ機構の更に別の実施形態において、アドレス指定サービスを提供する単一のＤＨＣＰサーバが、オーバーレイ・ネットワークに基づきクラウド・データセンタ内の複数のテナントに対して使用される。ＤＨＣＰ機構の実施形態は、ＤＨＣＰシステムにおける以下の技術的問題の解決を助ける。すなわち、
（ｉ）ＤＨＣＰリレー・エージェントの存在下での異なるテナントに対するアドレス空間分離、
（ｉｉ）ネットワーク仮想化オーソリティ（NetworkVirtualization Authority、ＮＶＡ）を用いるテナント仮想ネットワークについてのアドレス・サブネット選択、及び
（ｉｉｉ）従来の物理インフラストラクチャ・ネットワーク、及び異なるカプセル化プロトコル（ＶＬＡＮ、ＶＸＬＡＮ、ＮＶＧＲＥ、ＳＴＴ、又はＧＥＮＥＶＥ）を有するオーバーレイ・ネットワークを含む異種の仮想環境に対する一般的なＤＨＣＰサービス・プロビジョニング。
【００２１】
さらに、ＤＨＣＰ機構の実施形態は、ＤＨＣＰ  ＤＩＳＣＯＶＥＲ、ＯＦＦＥＲ、ＲＥＱＵＥＳＴ、ＡＣＫＮＯＷＬＥＤＧＭＥＮＴ、ｒｅｌｅａｓｅ等のような、クライアントとサーバとの間の現行ｄｈｃｐの相互作用を妨げない。実際に、ｄｈｃｐ相互作用もまた、本発明のＤＨＣＰ機構の実施形態において機能する。
【００２２】
ＤＨＣＰ機構の実施形態の付加的な技術的特徴において、テナント特有のオプションは、ＤＨＣＰサーバがそのテナントに特有の関連したアドレス空間上にインターネット・プロトコル（ＩＰ）アドレスを割り当てるためのインジケータとして用いられる。従って、単一のＤＨＣＰサーバが複数のテナントにサービス提供することができ、各テナントは、割り当てのために、それぞれのＩＰアドレス・プールを有することができる。さらに、テナントの各プールは完全に独立しており、かつ異なるテナントの別のプールとオーバーラップすることがある（すなわち、同じＩＰアドレス・プールである）。テナント特有のオプションは、ＤＨＣＰリレー・エージェントによってＤＨＣＰヘッドに付加される。
【００２３】
本発明の技術的解決法において、テナント特有のオプションは、次のフィールドを含む。すなわち、
（ｉ）オプション：既知のＤＨＣＰシステムに用いられる一意の値を有する必要がある、
（ｉｉ）長さ：残りのフィールドの総バイト数、
（ｉｉｉ）トランスポート・エージェント：テナント分離に用いられるオーバーレイ・プロトコル・タイプ（例えば、ＶＬＡＮ、ＶＸＬＡＮ、ＤＯＶＥ、ＮＶＧＲＥ、ＳＴＴ等）を示すためのエンコード値、
（ｉｖ）テナントＩＤ：テナントを識別するために用いられるユニバーサル一意識別子（universallyunique identifier、ＵＵＩＤ）、及び
（ｖ）仮想ネットワークＩＤ（ＶＮＩＤ）：仮想ネットワークを示し、Ｌ２セグメント又はブロードキャスト・ドメインの要約である。テナントは多数の仮想ネットワークを有し得る。
【００２４】
更に別の実施形態において、テナント特有のオプションは、ＤＨＣＰリレー・エージェント情報オプション（オプション８２、ＲＦＣ３０４６）のサブオプションとして実装される。実施形態において、実装は、提案されるテナント特有のオプションを含むように、サブオプションをオプション８２標準に付加する。テナント特有のオプションは、ネットワーク仮想化エッジ（ＮＶＥ）上で動作するＤＨＣＰリレー・エージェントによりＤＨＣＰヘッダに付加される。ＮＶＥはオーバーレイ・ネットワークのエッジ上にあるので、テナント特有のオプション内のトランスポート・エージェントのエンコード値を得るのは容易である。例えば、ＶＮＩＤは、ＤＨＣＰクライアントが接続する仮想アクセスポイント（ＶＡＰ）から得ることができる。
【００２５】
ＤＨＣＰ機構の実施形態においてマルチテナント・サポートを可能にするために、ＤＨＣＰサーバは、２つのタイプのアドレス空間、すなわちグローバル・アドレス空間及びテナント・アドレス空間をサポートする。グローバル・アドレス空間は、ＤＨＣＰパケット内にテナント特有のオプションが存在しない既知のＤＨＣＰ機構と両立し得る。現行ＤＨＣＰ機構のグローバル・アドレス空間においては、ＩＰアドレス・レンジはオーバーラップすることはないが、一方、本発明のＤＨＣＰ機構の実施形態を用いる技術的解決法においては、各テナントは、テナント・アドレス空間内に特有のアドレス・プールを有し、ＤＨＣＰ機構におけるアドレス・レンジは、異なるテナントのアドレス・プールにわたってオーバーラップすることがある。
【００２６】
ＤＨＣＰ機構の実施形態において、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがテナント特有のオプションを含まない場合、ＤＨＣＰサーバは、既知のＤＨＣＰ処理を行う。そうでない場合、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがテナント特有のオプションを含む場合には、テナント特有のオプションを用いて、テナント・アドレス空間及びＩＰレンジを特定する。ＤＨＣＰサーバは、テナント特有のオプション内のテナントＩＤに対応するアドレス空間を特定する。ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがサブネット選択オプション（オプション１１８）又はリンク選択サブオプション（オプション８２のサブオプション５）を有する場合、ＤＨＣＰサーバは、そのサブネットからアドレスを割り当てる。そうではなく、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがサブネット選択オプション（オプション１１８）又はリンク選択サブオプションを有さない場合、ＩＰレンジはＶＮＩＤに結び付けられ、ＤＨＣＰサーバは、テナント特有のオプション内のＶＮＩＤに従ってＩＰレンジを見つける。さらに、本発明のＤＨＣＰ機構の実施形態は、ＤＨＣＰサーバを含むことができ、このＤＨＣＰは、構成内のテナント特有のオプションに関する合致基準又はアクセス制御リスト（ＡＣＬ）規則を用いてテナント・アドレス空間を特定する。
【００２７】
本発明のＤＨＣＰ機構の実施形態において、クラウド・サービス・プロバイダ（ＣＳＰ）は、異なるベンダーからの種々のオーバーレイ・ネットワーク解決法を用いて、マルチテナント・クラウド・データセンタを実現することができる。従って、ＤＨＣＰ機構の実施形態は、ネットワーク・サイズが拡大した場合に利用することができる。一例において、ＣＳＰは２つのオーバーレイ・ネットワークを有し、これらのオーバーレイ・ネットワークは、共通の物理ネットワークの上に構築され得る。テナントは、両方のオーバーレイ・ネットワーク内に仮想マシンを有することができる。従って、新規なＤＨＣＰ機構の実施形態において、テナントが異種のオーバーレイ・ネットワークにわたる仮想マシンを有する場合、物理ネットワーク内にＤＨＣＰサーバをプロビジョニングする便利な方法がある。テナント特有のオプションのトランスポート・エージェント・フィールドは、ＤＨＣＰサーバをプロビジョニングするために用いられる。
【００２８】
ＶＮＩＤのスコープは単一のオーバーレイ・ネットワークに制限されるので、こうした異種のネットワークにおいて、ＤＨＣＰ機構の実施形態におけるＤＨＣＰサーバは、分類フィールドとして、テナント特有のオプション内のトランスポート・エージェントをＶＮＩＤと共に使用して、ＩＰアドレスが割り当てられるＩＰレンジを得ることができる。従って、クラウド・データセンタ内に単一のＤＨＣＰサーバを有する異種の仮想オーバーレイ・ネットワークのためのＩＰアドレス管理サービスを実現するために、トランスポート・エージェントを分類基準のディメンションとして付加し、テナント・アドレス空間内のＩＰアドレス・レンジを特定することができる。
【００２９】
本開示は、クラウド・コンピューティング・デバイスに関する詳細な説明を含むが、本明細書に列挙される技術の実装は、クラウド・コンピューティング環境に限定されないことが予め理解される。寧ろ、本発明の実施形態は、現在既知の又は後に開発される他のいずれかのタイプのコンピューティング環境と共に実装可能なものである。
【００３０】
クラウド・コンピューティングは、最小限の管理労力又はサービスのプロバイダとの対話で迅速にプロビジョニング及びリリースすることができる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするサービス配信のモデルである。このクラウドモデルは、少なくとも５つの特徴、少なくとも３つのサービスモデル、及び少なくとも４つの配備モデルを含むことができる。
【００３１】
特徴は、以下の通りである。
オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワークストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシッククライアントプラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
リソースのプール化：プロバイダのコンピューティング・リソースは、マルチテナントモデルを用いて、異なる物理及び仮想リソースを、要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービス提供するためにプールされる。コンシューマは一般に、提供されるリソースの正確な位置についての制御又は知識を持たないが、より高レベルの抽象化では位置（例えば、国、州、又はデータセンタ）を特定できる場合があるという点で、位置とは独立しているといえる。
迅速な弾力性：機能は、迅速かつ弾力的に、幾つかの場合は自動的に、プロビジョニングして素早くスケールアウトし、迅速にリリースして素早くスケールインさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
サービスの測定：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【００３２】
サービスモデルは以下の通りである。
サービスとしてのソフトウェア（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、ＳａａＳ）：クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブブラウザ（例えば、ウェブベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ特有のアプリケーション構成設定を考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
サービスとしてのプラットフォーム（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、ＰａａＳ）：プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上に配備するために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーションホスティング環境構成に対して制御を有する。
サービスとしてのインフラストラクチャ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、ＩａａＳ）：コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアを配備及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント（例えば、ホストのファイアウォール）選択の限定された制御を有する。
【００３３】
配備モデルは以下の通りである。
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、構内（on-premise）又は構外（off-premise）に存在することができる。
コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、構内又は構外に存在することができる。
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術（例えば、クラウド間の負荷分散のためのクラウドバースティング）によって結び付けられる２つ又はそれより多いクラウド（プライベート、コミュニティ、又はパブリック）の混成物である。
【００３４】
クラウド・コンピューティング環境は、無国籍性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【００３５】
ここで図１を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示される。クラウド・コンピューティング・ノード１０は、好適なクラウド・コンピューティング・ノードの単なる一例であり、本明細書で説明される本発明の実施形態の使用又は機能の範囲に対するいずれかの制限を示唆することを意図するものではない。上記に関係なく、クラウド・コンピューティング・ノード１０は、本明細書で上述された機能のいずれも実装及び／又は実施することができる。
【００３６】
クラウド・コンピューティング・ノード１０には、他の多数の汎用又は専用コンピューティング・システム環境又は構成で動作可能な、コンピュータ・システム／サーバ１２が存在する。コンピュータ・システム／サーバ１２と共に用いるのに好適な既知のコンピューティング・システム、環境、及び／又は構成の例としては、これらに限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち式又はラップトップ型デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップボックス、プログラム可能民生電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び、上述のシステム又はデバイス等のいずれかを含む分散型クラウド・コンピューティング環境が含まれる。
【００３７】
コンピュータ・システム／サーバ１２は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム／サーバ１２は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施できる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
【００３８】
図１に示されるように、クラウド・コンピューティング・ノード１０のコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム／サーバ１２のコンポーネントは、これらに限定されるものではないが、１つ又は複数のプロセッサ又は処理ユニット１６、システム・メモリ２８、及びシステム・メモリ２８を含む種々のシステムコンポーネントをプロセッサ１６に結合するバス１８を含むことができる。
【００３９】
バス１８は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックスポート、及び種々のバスアーキテクチャのいずれかを用いるプロセッサ又はローカルバスを含む、幾つかのタイプのバス構造のうちのいずれかの１つ又は複数を表す。限定ではなく例としては、このようなアーキテクチャは、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、及びＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスを含む。
【００４０】
コンピュータ・システム／サーバ１２は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ１２がアクセス可能ないずれかの利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不能媒体の両方とを含む。
【００４１】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０及び／又はキャッシュメモリ３２など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１２は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体（図示されておらず、典型的には「ハードドライブ」と呼ばれる）との間の読み出し及び書き込みのためのストレージ・システム３４を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば、「フロッピー・ディスク」）との間の読み出し及び書き込みのための磁気ディスクドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光媒体などの取り外し可能な不揮発性光ディスクとの間の読み出し及び書き込みのための光ディスクドライブとを設けることができる。このような例においては、それぞれを、１つ又は複数のデータ媒体インターフェースによってバス１８に接続することができる。以下でさらに示され説明されるように、メモリ２８は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含むことができる。
【００４２】
限定ではなく例として、メモリ２８内に、プログラム・モジュール４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ４０、並びにオペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを格納することができる。オペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装形態を含むことができる。
【００４３】
プログラム・モジュール４２は、一般に、本明細書で説明される本発明の実施形態の機能及び／又は方法を実行する。例えば、ＤＨＣＰクライアント８０の機能の一部又は全ては、プログラム・モジュール４２の１つ又は複数として実装することができる。付加的に、ＤＨＣＰクライアント８０は、別個の専用プロセッサ又は単一の若しくは幾つかのプロセッサとして実装し、本明細書で説明される機能を与えることができる。実施形態において、ＤＨＣＰクライアント８０は、本明細書で説明されるプロセスの１つ又は複数を実行する。
【００４４】
コンピュータ・システム／サーバ１２は、キーボード、ポインティング・デバイス、ディスプレイ２４等のような１つ又は複数の外部デバイス１４；ユーザがコンピュータ・システム／サーバ１２と対話することを可能にする１つ又は複数のデバイス；及び／又はコンピュータ・システム／サーバ１２が１つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス（例えば、ネットワークカード、モデムなど）と通信することもできる。このような通信は、Ｉ／Ｏインターフェース２２を経由して行うことができる。さらにまた、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、汎用広域ネットワーク（ＷＡＮ）、及び／又はパブリックネットワーク（例えば、インターネット）などの１つ又は複数のネットワークと通信することもできる。示されるように、ネットワーク・アダプタ２０は、バス１８を介して、他のハードウェア及び／又はソフトウェア・コンポーネントをコンピュータ・システム／サーバ１２と共に使用できることを理解されたい。例としては、これらに限定されるものではないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部のディスクドライブアレイ、ＲＡＩＤ（ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｅｘｐｅｎｓｉｖｅ  ｄｉｓｋｓ又はｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｉｓｋｓ）システム、テープドライブ、及びデータ・アーカイブ・ストレージ・システムなどが含まれる。
【００４５】
ここで図２を参照すると、例示的なクラウド・コンピューティング環境５０が示される。示されるように、クラウド・コンピューティング環境５０は、例えば携帯情報端末（ＰＤＡ）又は携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、及び／又は自動車コンピュータ・システム５４Ｎなどといった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、１つ又は複数のクラウド・コンピューティング・ノード１０を含む。ノード１０は、互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はこれらの組み合わせなど、１つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる（図示せず）。これにより、クラウド・コンピューティング環境５０は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のない、サービスとしてのインフラストラクチャ、プラットフォーム、及び／又はソフトウェアを提供することが可能になる。図２に示されるコンピューティング・デバイス５４Ａ−Ｎのタイプは単に例示であることを意図し、コンピューティング・ノード１０及びクラウド・コンピューティング環境５０は、いずれのタイプのネットワーク及び／又はネットワーク・アドレス指定可能な接続上でも（例えば、ウェブブラウザを用いて）、いずれのタイプのコンピュータ化された装置とも通信できることを理解されたい。
【００４６】
ここで図３を参照すると、クラウド・コンピューティング環境５０（図２）によって提供される機能抽象化層のセットが示される。図３に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【００４７】
ハードウェア及びソフトウェア層６０は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム６１と、ＲＩＳＣ（Reduced Instruction Set Computer、縮小命令セット・コンピュータ）アーキテクチャベースのサーバ６２と、サーバ６３と、ブレード・サーバ６４と、ストレージ・デバイス６５と、ネットワーク及びネットワーキング・コンポーネント６６とを含む。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ６７及びデータベース・ソフトウェア６８を含む。
【００４８】
仮想化層７０は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ７１と、仮想ストレージ７２と、プライベート・ネットワークを含む仮想ネットワーク７３と、仮想アプリケーション及びオペレーティング・システム７４と、仮想クライアント７５とを提供することができる。
【００４９】
一例においては、管理層８０は、以下で説明される機能を提供することができる。リソース・プロビジョニング８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定８２は、リソースがクラウド・コンピューティング環境内で利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル８３は、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８４は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービスレベルアグリーメント（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ、ＳＬＡ）の計画及び履行８５は、ＳＬＡに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【００５０】
ワークロード層９０は、クラウド・コンピューティング環境を利用できる機能の例を提供する。この層から提供できるワークロード及び機能の例には、マッピング及びナビゲーション９１、ソフトウェア開発及びライフサイクル管理９２、仮想教室教育配信９３、データ分析処理９４、トランザクション処理９５、本明細書で説明されるＤＨＣＰプロセス９６が含まれる。本発明の態様によると、ＤＨＣＰプロセス９６のワークロード／機能は、本明細書に説明されるプロセスの１つ又は複数を実施する働きをする。
【００５１】
図４は、本発明の別の実施形態によるクラウド・コンピューティング・ノードを示す。具体的には、図４は、図１と同じクラウド・コンピューティング・ノード１０を含む別のクラウド・コンピューティング・ノードである。図４において、本明細書でより詳細に説明するように、コンピュータ・システム／サーバ１２はまた、ＤＨＣＰクライアント１７０、ＤＨＣＰサーバ１６０及びＤＨＣＰリレー・エージェント１８０を含み、又はこれらと通信する。
【００５２】
本発明の態様によると、ＤＨＣＰクライアント１７０、ＤＨＣＰサーバ１６０及びＤＨＣＰリレー・エージェント１８０は、１つ又は複数のプログラム・コードとして、別個の又は組み合わせられたモジュールとしてメモリに格納されたプログラム・モジュール４２に実装することができる。付加的に、ＤＨＣＰクライアント１７０、ＤＨＣＰサーバ１６０及びＤＨＣＰリレー・エージェント１８０は、別個の専用プロセッサ、又は単一の若しくは幾つかのプロセッサとして実装して、これらのツールの機能を提供することができる。コンピュータ・プログラム・コードを実行する間、処理ユニット１６は、メモリ、ストレージ・システム、及び／又はＩ／Ｏインターフェース２２との間で読み取り及び／又は書き込みを行うことができる。プログラム・コードは、本発明のプロセスを実行する。
【００５３】
一例として、ＤＨＣＰクライアント１７０は、クラウド・コンピューティング環境５０を介して、ＤＨＣＰ要求パケットをＤＨＣＰサーバ１６０に送るように構成することができる。例えば、図２を参照して説明されるように、クラウド・コンピューティング環境５０は、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークとすることができる。ＤＨＣＰサーバ１６０がＤＨＣＰ要求パケットを受信することに応答して、ＤＨＣＰサーバ１６０は、ＤＨＣＰクライアント１７０に対するＩＰアドレスを割り当てる。ＤＨＣＰ機構の実施形態において、ＤＨＣＰサーバ１６０は、テナント情報を伝達するために、テナント特有のＤＨＣＰオプションを用いて、ＤＨＣＰプロトコル上のマルチテナンシに対する直接サポートを提供する。従って、オペレーティング・システムの仮想化を必要とする（例えば、各テナントは、別個のＬＩＮＵＸ名前空間で動作するＤＨＣＰサーバを有する）現行システムとは異なり、ＤＨＣＰサーバ１６０は、オーバーラップしたＩＰアドレス空間をサポートすることができる。実際に、ＤＨＣＰサーバ１６０は、マルチテナント分離のために異なるカプセル化プロトコル間の相互運用性に対処することを含むマルチテナンシ及び高い拡張性（多くの計算を必要としない）に関して、既知のＯＳ仮想化に優る多数の利点及び技術的解決法を提供し、ソフトウェア定義のネットワーキング（software defined networking、ＳＤＮ）アドレス割り当て要件をシームレスにサポートする。さらに、図４において、ＤＨＣＰリレー・エージェント１８０は、クラウド・コンピューティング環境５０を介してＤＨＣＰクライアント１７０とＤＨＣＰサーバ１６０との間でメッセージをリレーするための仲介として用いることができる。当業者であれば、別の実施形態において、ＤＨＣＰクライアント１７０及びＤＨＣＰサーバ１６０は、ＤＨＣＰリレー・エージェント１８０を用いずに互いに直接通信できることを理解するであろう。
【００５４】
本発明は、システム、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【００５５】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体であるとは解釈されない。
【００５６】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジサーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワークアダプタカード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【００５７】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【００５８】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００５９】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納することにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施する命令を含む製品を製造するようにすることもできる。
【００６０】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実行するためのプロセスを提供するようにすることもできる。
【００６１】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【００６２】
図５は、本発明の態様によるテナント特有のＤＨＣＰオプションについてのフレーム・フォーマットである。より具体的には、図５は、テナント情報を伝達するためのテナント特有のＤＨＣＰオプション・フレーム・フォーマット１００を示す。テナント特有のＤＨＣＰオプション・フレーム・フォーマット１００は、これらに限定されるものではないが、オプション１１０、長さ１２０、トランスポート・エージェント１３０、テナントＩＤ１４０及び仮想ネットワークＩＤ１５０を含む、種々のフィールドを含む。オプション１１０は、ＤＨＣＰオプションにおける一意の値である。長さ１２０は、残りのフィールドの総バイト数である。トランスポート・エージェント１３０は、テナント分離のために用いられる、オーバーレイ・プロトコル・タイプを示すために用いられる、例えばＶＬＡＮ、ＶＸＬＡＮ、ＤＯＶＥ、ＮＶＧＲＥ、ＳＴＴ等のエンコード値である。テナントＩＤ１４０は、テナントを特定するために用いられるユニバーサル一意識別子（ＵＵＩＤ）である。最後に、仮想ネットワークＩＤ１５０は、仮想ネットワークを示し、Ｌ２セグメント又はブロードキャスト・ドメインの要約である。
【００６３】
テナントは、複数の仮想ネットワークに接続することができる。テナント特有のＤＨＣＰオプション・フレーム・フォーマット１００は、ＤＨＣＰサーバが関連したアドレス空間上のＩＰアドレスをそのテナントに割り当てるためのインジケータである。従って、単一のＤＨＣＰサーバが、複数のテナントにサービス提供することができ、各テナントは、割り当てのために、それぞれのＩＰアドレス・プールを有することができる。異なるテナントのプールは完全に独立しており、かつオーバーラップすることがある。テナント特有のＤＨＣＰオプション・フレーム・フォーマット１００は、ＤＨＣＰリレー・エージェントによりＤＨＣＰヘッドに付加することができる。実施形態において、テナント特有のオプションは、ＤＨＣＰリレー・エージェント情報オプション（オプション８２、ＲＦＣ３０４６）内のサブオプションである。従って、実装は、テナント特有のオプション・フレーム・フォーマット１００を含むように、サブオプションをオプション８２に付加する。
【００６４】
フロー図
図６〜図８は、本発明の態様を実施するための例示的なフロー（又はスイムレーン図）を示す。例えば、図６〜図８のステップは、図１及び図４の環境において実施することができる。上述のように、フローチャートは、本発明の種々の実施形態に従って本明細書で既に説明したような、システム、方法及びコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能及び動作を示す。図中のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法及びコンピュータ・プログラム製品の考え得る実装のアーキテクチャ、機能及び動作を示す。これに関して、フローチャート及びブロック図中の各ブロックは、モジュール、セグメント、又はコードの部分を表すことができ、これは、指定された論理機能を実施するための１つ又は複数の実行可能命令を含む。また、幾つかの代替的な実施において、ブロック内に示された機能は、図中に示された順序とは異なる順序で行い得ることにも留意されたい。例えば、連続して示される２つのブロックを、実際には、実質的に同時に実行することができ、又は場合により、関与する機能に応じて、ブロックを逆の順番で実行することもできる。また、ブロック図及び／又はフローチャート図中の各プロック、並びにブロック図及び／又はフローチャート図中のブロックの組み合わせは、指定された機能又は動作を実行する専用のハードウェア・ベースのシステム、又は専用のハードウェアとコンピュータ命令の組み合わせによって実施できることにも留意されたい。
【００６５】
図６は、本発明の態様によるＤＨＣＰパケット処理のための例示的なフロー（スイム図）を示す。より具体的には、図６は、ＤＨＣＰリレー・エージェントによりＤＨＣＰヘッダに付加されたテナント特有のオプションを示す。ネットワーク仮想化エッジ（ＮＶＥ）は、オーバーレイ・ネットワークのエッジであるので、テナント特有のオプション内のトランスポート・エージェントのエンコード値を得ることは容易である。仮想ネットワーク識別子（ＶＮＩＤ）は、ＤＨＣＰクライアントが接続する仮想アクセスポイント（ＶＡＰ）から得ることができる。ＶＡＰは、テナント・システムを仮想ネットワークに接続するためのＮＶＥ上の論理接続ポイントである。ＶＡＰは、ＶＬＡＮ  ＩＤ又は仮想マシン（ＶＭ）に接続された内部ｖスイッチ・インターフェースＩＤなどの論理インターフェース識別子を通じて識別される物理ポート又は仮想ポートとすることができる。テナント特有のオプションのテナントＩＤは、ローカル・キャッシュ、又はＶＮＩＤとテナントＩＤとの間のマッピングから成るＮＶＡの遠隔データベースを調べることにより、ＶＮＩＤを介して得ることができる。
【００６６】
現行ＤＨＣＰのリレーにおいては、これがサービス提供する各Ｌ２セグメントについて、ゲートウェイＩＰインターフェースが必要であり、そこで、当該Ｌ２セグメント上のＤＨＣＰクライアント・パケットの受信が行われる。従って、現行ＤＨＣＰシステムでは、ＤＨＣＰクライアントからＤＨＣＰメッセージを受信すると、ＤＨＣＰパケットのＧＩＡＤＤＲフィールド内に、このフィールドがゼロの場合には、ＩＰインターフェースのＩＰアドレスが入れられ、ＤＨＣＰパケットメッセージがＤＨＣＰサーバに送られる。言い換えれば、ＧＩＡＤＤＲは、第１のＤＨＣＰリレー・エージェントにより付加される。ＤＨＣＰサーバは、ＧＩＡＤＤＲを用いて、ＩＰアドレス及び他のネットワーク・パラメータをＤＨＣＰクライアントに割り当てる。ＤＨＣＰサーバは、対応するＤＨＣＰ応答メッセージを、ＧＩＡＤＤＲにより識別されるＤＨＣＰリレー・エージェントに送る。ＤＨＣＰリレー・エージェントは、ＤＨＣＰ応答メッセージを、直接接続されたＤＨＣＰクライアントに送るように、すなわち、ＧＩＡＤＤＲにより識別されるＤＨＣＰリレー・エージェントのＩＰインターフェースと同じＬ２セグメント内のクライアントに送るように設計される。
【００６７】
対照的に、図６に示されるように、ＤＨＣＰクライアントは、オーバーレイ・ネットワーク内で動作しており、異なるテナントのオーバーレイ・ネットワークは分離される。ＤＨＣＰサーバは、異なるテナントのオーバーレイ・ネットワーク内の全てのＤＨＣＰクライアントにサービス提供するように設計される。ＤＨＣＰサーバ及びＤＨＣＰリレー・エージェントは、アンダーレイ・ネットワークを通じて通信する。ＤＨＣＰリレー・エージェントにより付加されたＧＩＡＤＤＲは、リレー・エージェントのアンダーレイＩＰアドレスとなる。ＤＨＣＰサーバは、ＩＰアドレス及び他のネットワーク・パラメータをＤＨＣＰクライアントに割り当てるためには、ＧＩＡＤＤＲを使用しない。ＤＨＣＰサーバは、テナント特有のオプション及び他のオプションを用いて、ＩＰアドレス及び他のネットワーク・パラメータをＤＨＣＰクライアントに割り当てる。ＤＨＣＰサーバは、対応するＤＨＣＰ応答メッセージを、ＧＩＡＤＤＲにより識別されるＤＨＣＰリレー・エージェントに送る。これに応じて、リレー・エージェントは、テナント特有のオプション内のＶＮＩＤを用いて、ＤＨＣＰ応答メッセージをＤＨＣＰクライアントに配信する。
【００６８】
より具体的には、図６は、本発明の態様によるＤＨＣＰパケット処理についての例示的なフロー又はスイムレーン図を示す。図６は、以下の動作主体、すなわち、ＤＨＣＰクライアント２１０（図４に関して説明されるＤＨＣＰクライアント１７０の一例）、ＤＨＣＰリレー・エージェント２２０（図４に関して説明されるＤＨＣＰリレー・エージェント１８０の一例）、及びＤＨＣＰサーバ２３０（図４に関して説明されるＤＨＣＰサーバ１６０の一例）を含む。
【００６９】
図６において、ＤＨＣＰパケット処理では、ステップ２３１において、ＤＨＣＰクライアント２１０は、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージをＤＨＣＰリレー・エージェント２２０に送る。次に、ステップ２３２において、ＤＨＣＰリレー・エージェント２２０は、テナント特有のオプション・メッセージを有するＤＨＣＰ＿ＤＩＳＣＯＶＥＲをＤＨＣＰサーバ２３０に送る。ステップ２３３において、ＤＨＣＰサーバ２３０は、次に、テナント特有のオプション・メッセージを有するＤＨＣＰ＿ＯＦＦＥＲをＤＨＣＰリレー・エージェント２２０に送る。ステップ２３４において、ＤＨＣＰリレー・エージェント２２０は、ＤＨＣＰ＿ＯＦＦＥＲメッセージをＤＨＣＰクライアント２１０に送る。次に、ステップ２３５において、ＤＨＣＰクライアント２１０は、ＤＨＣＰ＿ＲＥＱＵＥＳＴメッセージをＤＨＣＰリレー・エージェント２２０に送る。ステップ２３６において、ＤＨＣＰリレー・エージェント２２０は、テナント特有のオプション・メッセージを有するＤＨＣＰ＿ＲＥＱＵＥＳＴをＤＨＣＰサーバ２３０に送る。ステップ２３７において、ＤＨＣＰサーバ２３０は、テナント特有のオプション・メッセージを有するＤＨＣＰ＿ＡＣＫをＤＨＣＰリレー・エージェント２２０に送る。最後に、ステップ２３８において、ＤＨＣＰリレー・エージェント２２０は、ＤＨＣＰ＿ＡＣＫメッセージをＤＨＣＰクライアント２１０に送る。
【００７０】
図７は、本発明の態様によるアドレス割り当て処理についての例示的なフローを示す。図７において、示される実施形態の新規なＤＨＣＰ機構におけるマルチテナント・サポートを可能にするために、ＤＨＣＰサーバは、２つのタイプのアドレス空間、すなわちグローバル・アドレス空間及びテナント・アドレス空間をサポートする。グローバル・アドレス空間は、テナント特有のオプションがＤＨＣＰパケット内に存在しない現行のＤＨＣＰ方法と両立し得る。現行のＤＨＣＰ方法のグローバル・アドレス空間において、ＩＰアドレス・レンジはオーバーラップすることはなく、一方、対照的に、本発明の示される実施形態のＤＨＣＰ機構の技術的解決法においては、各テナントは、テナント・アドレス空間内に特有のアドレス・プールを有する。示される実施形態のＤＨＣＰ機構におけるアドレス・レンジは、異なるテナントのアドレス・プールにわたってオーバーラップすることがある。
【００７１】
例えば、図７に示されるＤＨＣＰ機構において、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがテナント特有のオプションを含まない場合、ＤＨＣＰサーバは、既知のＤＨＣＰ処理を実施する。そうでない場合、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがテナント特有のオプションを含む場合、テナント特有のオプションを用いて、テナント・アドレス空間及びＩＰレンジを特定する。ＤＨＣＰサーバは、テナント特有のオプション内のテナントＩＤに対応するアドレス空間を特定する。また、図７において、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがサブネット選択オプション（オプション１１８）又はリンク選択サブオプション（オプション８２のサブオプション５）を有する場合、ＤＨＣＰサーバは、そのサブネットからアドレスを割り当てる。そうでない場合、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージがサブネット選択オプション又はリンク選択サブオプションを有さない場合、ＩＰレンジがＶＮＩＤに結び付けられ、ＤＨＣＰサーバは、テナント特有のオプション内のＶＮＩＤに従ったＩＰレンジを見つける。さらに、示される実施形態の新規なＤＨＣＰ機構は、ＤＨＣＰサーバを含むことができ、このＤＨＣＰサーバは、構成内のテナント特有のオプションに関する合致基準又はアクセス制御リスト（ＡＣＬ）規則を用いてテナントのアドレス空間を特定する。
【００７２】
より具体的には、図７において、アドレス割り当て処理では、ステップ３０５において、ＤＨＣＰサーバは、ＤＨＣＰ要求パケットを受信する。ステップ３１０において、ＤＨＣＰサーバのプロセス及びシステムは、ＤＨＣＰ要求（例えば、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲ）が特有のオプションを有するかどうかを判断する。ＤＨＣＰ要求が特有のオプションを有していない場合、ステップ３１５において、ＤＨＣＰサーバは、グローバル・アドレス空間を用いる。次に、ステップ３２０において、テナント特有のオプションがないので、ＤＨＣＰサーバ及びＤＨＣＰクライアントにより、既知のＤＨＣＰプロトコル処理が行われる。
【００７３】
代替的に、ステップ３１０において、ＤＨＣＰ要求（例えば、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲ）がテナント特有のオプションを有している場合（すなわち、ＹＥＳ（はい））、ステップ３２５において、テナント特有のオプション・フィールドに従って、ＤＨＣＰサーバにより、アドレス空間が選択される。さらに、ステップ３３０において、ＤＨＣＰ要求内にリンク選択（オプション１１８）又はサブネット選択オプション（オプション８２のサブオプション５）のいずれかが存在するかどうかについての判断が、ＤＨＣＰサーバにより行われる。ステップ３４５において、リンクが存在しない場合（すなわち、ＮＯ（いいえ））、ステップ３４５において、ＤＨＣＰサーバにより、ＶＮＩＤに対してアドレスが割り当てられる。代替的に、ステップ３３０において、ＤＨＣＰ要求内にリンク選択（オプション１１８）又はサブネット選択オプション（オプション８２のサブオプション５）のいずれかが存在する場合（すなわち、ＹＥＳ）、ステップ３３５において、ＤＨＣＰサーバにより、要求中のサブネット内に利用可能なアドレスがあるかどうかをチェックする。ステップ３３５において、要求中のサブネット内に利用可能なアドレスがある場合（すなわち、ＹＥＳ）、ステップ３４０において、ＤＨＣＰサーバにより、アドレスがサブネット内に割り当てられる。代替的に、要求中のサブネット内に利用可能なアドレスがない場合（すなわち、ＮＯ）、ステップ３４５において、ＤＨＣＰサーバにより、ＶＮＩＤに対してアドレスが割り当てられる。
【００７４】
図８は、本発明の態様によるＤＨＣＰサブネット選択サポートについての例示的なフローを示す。図８において、本発明の態様によるＤＨＣＰサブネット選択サポートでは、ステップ４４１において、ＤＨＣＰクライアント４１０が、ＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージをＤＨＣＰリレー・エージェント４２０に送る。ＤＨＣＰリレー・エージェント４２０がＤＨＣＰ＿ＤＩＳＣＯＶＥＲメッセージを受信すると、ＤＨＣＰリレー・エージェント４２０は、テナント特有のオプション内のテナントＩＤに従って、テナント・アドレス空間を特定し、ＩＰアドレスを意図したサブネット内に割り当てる。図８に示されるように、ＤＨＣＰリレー・エージェント４２０は、関連したＶＡＰから、そのＶＮＩＤを得る。次に、図８のステップ４４２において、ＤＨＣＰリレー・エージェント４２０は、ＶＮＩＤｘメッセージのクエリ・サブネットをネットワーク仮想化オーソリティ（ＮＶＡ）４４０に送って、そのＶＮＩＤのサブネット構成に尋ねる。ステップ４４３において、ＶＮＩＤｘのサブネットについての応答は、ＮＶＡ４４０により、ＤＨＣＰリレー・エージェントに送られる。最後に、ステップ４４４において、テナント特有のオプションと、サブセット選択オプション１１８又はサブオプション５を伴うオプション８２とを有するＤＨＣＰ＿ＤＩＳＣＯＶＥＲが、ＤＨＣＰサーバ４３０に送られる。
【００７５】
図８において、ＤＨＣＰサブネット選択オプション（オプション１１８、ＲＦＣ３０１１）及びリレー・エージェント情報オプション中のリンク選択（オプション８２、サブオプション５、ＲＦＣ３５２７）を用いて、ＤＨＣＰクライアントがＩＰアドレスを取得すると予想される所望のサブネット上のＤＨＣＰサーバに通信する。従って、示される実施形態の新規なＤＨＣＰ機構を、ＮＶＡを介してこれらの状況に容易に拡張することができる。
【００７６】
図８に示されるように、ＮＶＡは、各ＶＮＩＤについてのサブネット構成を保持することができる。ＤＨＣＰクライアント４１０から各ＤＨＣＰ＿ＤＩＳＣＯＶＥＲパケットを受信することに応答して、ＤＨＣＰリレー・エージェント４２０は、関連したＶＡＰからそのＶＮＩＤを得る。その後、ＤＨＣＰリレー・エージェント４２０は、クエリをＮＶＡ４４０に送って、そのＶＮＩＤのサブネット構成に尋ねる。サブネット構成は、ＮＶＡ４４０により応答され、次にＤＨＣＰオプション１１８又はオプション８２−サブオプション５に入れられる。次に、サブネット情報が、テナント特有のオプションと共にＤＨＣＰサーバ４３０に通信される。ＤＨＣＰサーバ４３０がＤＨＣＰ＿ＤＩＳＣＯＶＥＲパケットを受信すると、ＤＨＣＰサーバ４３０は、テナント特有のオプションのテナントＩＤに従ってテナント・アドレス空間を特定し、ＤＨＣＰオプション１１８又はオプション８２−サブオプション５内に担持されたＩＰアドレスを意図したサブネット内に割り当てる。
【００７７】
実施形態において、本明細書で説明されるプロセスを実施するために、ソリューション・インテグレータなどのサービス・プロバイダが提供可能である。この場合、サービス・プロバイダは、１又は複数の顧客に対して本発明のプロセス・ステップを実施するコンピュータ・インフラストラクチャを生成、保持、配備、サポート等することができる。これらの顧客は、例えば、技術を使用するいずれの企業であってもよい。代わりに、サービス・プロバイダは、加入及び／又は業務契約の下で顧客から支払いを受けることができ、及び／又はサービス・プロバイダは、コンテンツを１又は複数のサードパーティに広告する販売から支払いを受けることができる。
【００７８】
ここで当業者により理解されるように、本発明の実施形態において、ＤＨＣＰ機構は、現行システムに優る種々の利点を提供する。これらの利点は、これらに限定されるものではないが、ＤＨＣＰプロトコル上のマルチテナンシに対する直接サポートを提供すること、及びマルチテナンシをサポートするためのＬＩＮＵＸ名前空間のＯＳレベルの仮想化の必要性を除去することを含む。本発明の実施形態において、この技術的解決法は、テナント情報を伝達するためにテナント特有のＤＨＣＰオプションを公式化し、ＤＨＣＰパケット内にテナント特有のオプションが検出されると、テナント・アドレス空間上のＩＰアドレス割り当てを優先順位付けするように、ＤＨＣＰサーバ上のアドレス割り当てスキームを改善することによって実現される。
【００７９】
また、ＤＨＣＰクライアント及びＤＨＣＰリレー・エージェントの両方とも、テナント特有のオプションを付加することができる。さらに、実施形態において、マルチテナントの分離のための異なるカプセル化プロトコル（例えば、ＶＬＡＮ、ＶＸＬＡＮ、ＤＯＶＥ、ＮＶＧＲＥ、ＳＴＴ等）間の相互運用性の問題が軽減する。
【００８０】
さらに、ＤＨＣＰ機構の実施形態は、テナント数が増えたときに高拡張性を提供する。例えば、現行システムでは、ＬＩＮＵＸ名前空間の各インスタンスが付加的なリソースを必要とするため、マルチテナンシをサポートするためのＯＳ仮想化の計算負荷が増大するが、本発明のＤＨＣＰ機構の実施形態では、ＯＳレベルの仮想化と比べると計算負荷が低減する。さらに、ＤＨＣＰ機構の実施形態において、各ＤＨＣＰクライアントはそのテナント及び接続される仮想ネットワークに属する正しいアドレスを取得するので、ＳＤＮアドレス割り当て要件は、シームレスにサポートされる。
【００８１】
技術的問題に対するさらに別の利点において、本明細書で説明されるシステム及びプロセスは、ネットワークでの、ＤＨＣＰプロトコルにおけるマルチテナンシ・サポートのためのコンピュータ実施方法を提供する。この場合、図１及び図４に示されるコンピュータ・システム又は図２に示されるクラウド環境のようなコンピュータ・インフラストラクチャを提供し、本発明のプロセスを実施するための１又は複数のシステムを取得（例えば、生成、購入、使用、変更等）し、コンピュータ・インフラストラクチャに配備することができる。この点で、システムの配備は、
（ｉ）コンピュータ可読媒体から、図１に示されるコンピュータ・システムのようなコンピューティング・デバイス上にプログラム・コードをインストールすること、
（ｉｉ）１つ又は複数のコンピューティング・デバイスをコンピュータ・インフラストラクチャ、より具体的には、クラウド環境に付加すること、及び
（ｉｉｉ）コンピュータ・インフラストラクチャが本発明のプロセスを実施するのを可能にするように、コンピュータ・インフラストラクチャの１つ又は複数の既存のシステムを組み込む及び／又は変更すること、
のうちの１つ又は複数を含むことができる。
【００８２】
本発明の種々の実施形態の説明は、例示のために提示されているが、網羅的であること又は開示された実施形態に限定することを意図するものではない。説明された実施形態の範囲及び趣旨から逸脱することなく、当業者には、多くの変更及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際の用途、又は市場に見られる技術に優る技術的改善を最も良く説明するため、又は、当業者が、本明細書に開示される実施形態を理解するのを可能にするために選択された。
【符号の説明】
【００８３】
１０：コンピューティング・ノード
１２：コンピュータ・システム／サーバ
１６：処理ユニット
２８：システム・メモリ
４２：プログラム・モジュール
５０：クラウド・コンピューティング環境
６０：ハードウェア及びソフトウェア層
７０：仮想化層
８０：管理層
９０：ワークロード層
１００：テナント特有のＤＨＣＰオプション・フレーム・フォーマット
１１０：オプション
１２０：長さ
１３０：トランスポート・エージェント
１４０：テナントＩＤ
１５０：仮想ネットワークＩＤ
１６０、２３０、４３０：ＤＨＣＰサーバ
１７０、２１０、４１０：ＤＨＣＰクライアント
１８０、２２０、４２０：ＤＨＣＰリレー・エージェント
４４０：ネットワーク仮想化オーソリティ（ＮＶＡ）
【図１】
0006670025.tif 000002
【図２】
0006670025.tif 000003
【図３】
0006670025.tif 000004
【図４】
0006670025.tif 000005
【図５】
0006670025.tif 000006
【図６】
0006670025.tif 000007
【図７】
0006670025.tif 000008
【図８】
0006670025.tif 000009