(57)【特許請求の範囲】
【請求項１】
仮想化マルチテナント環境においてセキュアな顧客ドメインを提供するための方法であって、
プロセッサによって、前記顧客ドメイン内に顧客のための仮想マシン（ＶＭ）を構成することと、
前記プロセッサによって、前記ＶＭ内に第１の仮想ネットワーク・インターフェース（ＶＮＩＣ）を構成することであって、前記第１のＶＮＩＣは、前記ＶＭ上の第１のアプリケーションが、前記顧客ドメイン内の第２のＶＭ内の第２のアプリケーションにアクセスすることを可能にする、構成することと、
前記プロセッサによって、第１のネットワーク・アドレスを前記第１のＶＮＩＣに割り当てることであって、前記第１のネットワーク・アドレスは、前記顧客ドメインのために選択された第１のアドレス範囲内にある、割り当てることと、
前記プロセッサによって、前記ＶＭ内に第２のＶＮＩＣを構成することであって、前記第２のＶＮＩＣは、前記顧客ドメインの外部の第３のアプリケーションが、前記顧客ドメイン内の前記ＶＭにアクセスすることを可能にし、かつ、前記第３のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成される、構成することと、
前記プロセッサによって、前記ＶＭ内に第３のＶＮＩＣを構成することであって、前記第３のＶＮＩＣは、前記第１のアプリケーションから前記顧客ドメインの外部で実行されている第４のアプリケーションへのアクセスを可能にし、かつ、前記第４のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成され、それにより、前記顧客ドメインに関連するデータ通信が、第２の顧客ドメインに関連するデータ通信からの干渉からセキュア保護される、構成することと、
を含む方法。
【請求項２】
前記第１のアドレス範囲は、前記第２の顧客ドメインのために選択される第２のアドレス範囲と重複する、請求項１に記載の方法。
【請求項３】
前記第１のアドレスはＩＰｖ４アドレスを含み、前記第２のアプリケーションへの前記アクセスは、前記顧客ドメイン内でインスタンス化された第１の仮想ルータを介して容易にされる、請求項１に記載の方法。
【請求項４】
前記ＶＭは前記顧客ドメイン内の層を占め、前記層は少なくとも３つの仮想ローカル・エリア・ネットワークを含み、
前記プロセッサによって、第２のネットワーク・アドレスを前記第２のＶＮＩＣに割り当てることであって、前記第２のネットワーク・アドレスはＩＰｖ６アドレスを含み、前記第３のアプリケーションからの前記アクセスは前記顧客ドメイン内でインスタンス化された第２の仮想ルータを介して容易にされる、割り当てることをさらに含む、請求項１に記載の方法。
【請求項５】
前記第３のアプリケーションからの前記アクセスは、前記顧客ドメインのために作成されたドメイン・ネーム・サービス（ＤＮＳ）の第１のインスタンスを介してさらに容易にされ、前記ＤＮＳの前記第１のインスタンスは、前記顧客ドメインの管理に関して権限付与された経路指定を含む、請求項４に記載の方法。
【請求項６】
前記プロセッサによって、第３のネットワーク・アドレスを前記第３のＶＮＩＣに割り当てることであって、前記第３のネットワーク・アドレスはＩＰｖ６アドレスを含み、前記第４のアプリケーションへの前記アクセスは、前記顧客ドメイン内でインスタンス化された第３の仮想ルータを介して容易にされる、割り当てることをさらに含む、請求項１に記載の方法。
【請求項７】
前記プロセッサによって、第３のネットワーク・アドレスを前記第３のＶＮＩＣに割り当てることであって、前記第３のネットワーク・アドレスは前記顧客ドメインのために選択された前記第１のアドレス範囲内にあり、前記第１のアドレス範囲は、第２の顧客ドメインのために選択された第２のアドレス範囲と重複し、前記第４のアプリケーションへの前記アクセスは、前記顧客ドメイン内でインスタンス化された第３の仮想ルータを介して容易にされる、割り当てることをさらに含む、請求項１に記載の方法。
【請求項８】
前記第４のアプリケーションへの前記アクセスは、前記顧客ドメインのために作成されたドメイン・ネーム・サービスの第２のインスタンスを介してさらに容易にされ、前記ＤＮＳの前記第２のインスタンスは、前記顧客ドメインが使用可能な共有アプリケーションのセットへの経路指定を含む、請求項７に記載の方法。
【請求項９】
前記第１のＶＮＩＣ、前記第２のＶＮＩＣ、及び前記第３のＶＮＩＣの各々は、仮想Ｉ／Ｏサーバ内の仮想化Ｉ／Ｏアダプタにマッピングし、前記仮想化Ｉ／Ｏアダプタは、物理Ｉ／Ｏアダプタにさらにマッピングする、請求項１に記載の方法。
【請求項１０】
ストレージ・デバイス上に格納され、プロセッサによって実行されるとき、請求項１の方法を実施するコンピュータ可読プログラム命令を含む、コンピュータ・プログラム。
【請求項１１】
プロセッサと、コンピュータ可読メモリと、コンピュータ可読有形ストレージ・デバイスと、前記メモリを介して前記プロセッサにより実行するために前記ストレージ・デバイス上に格納され、かつ、前記プロセッサによって実行されるとき、請求項１の方法を実施するプログラム命令とを含む、コンピュータ・システム。
【請求項１２】
仮想化マルチテナント環境においてセキュアな顧客ドメインを提供するためのコンピュータ・プログラムであって、
前記顧客ドメイン内に顧客のための仮想マシン（ＶＭ）を構成するためのプログラム命令と、
前記ＶＭ内に第１の仮想ネットワーク・インターフェース（ＶＮＩＣ）を構成するためのプログラム命令であって、前記第１のＶＮＩＣは、前記ＶＭ上の第１のアプリケーションが、前記顧客ドメイン内の第２のＶＭ内の第２のアプリケーションにアクセスすることを可能にする、プログラム命令と、
第１のネットワーク・アドレスを前記第１のＶＮＩＣに割り当てるためのプログラム命令であって、前記第１のネットワーク・アドレスは、前記顧客ドメインのために選択された第１のアドレス範囲内にある、プログラム命令と、
前記ＶＭ内に第２のＶＮＩＣを構成するためのプログラム命令であって、前記第２のＶＮＩＣは、前記顧客ドメインの外部の第３のアプリケーションが、前記顧客ドメイン内の前記ＶＭにアクセスすることを可能にし、かつ、前記第３のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成される、プログラム命令と、
前記ＶＭ内に第３のＶＮＩＣを構成するためのプログラム命令であって、前記第３のＶＮＩＣは、前記第１のアプリケーションから前記顧客ドメインの外部で実行されている第４のアプリケーションへのアクセスを可能にし、かつ、前記第４のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成され、それにより、前記顧客ドメインに関連するデータ通信が、第２の顧客ドメインに関連するデータ通信からの干渉からセキュア保護される、プログラム命令と、
を含む、コンピュータ・プログラム。
【請求項１３】
前記第１のアドレス範囲が、前記第２の顧客ドメインのために選択される第２のアドレス範囲と重複する、請求項１２に記載のコンピュータ・プログラム。
【請求項１４】
前記第１のアドレスはＩＰｖ４アドレスを含み、前記第２のアプリケーションへの前記アクセスは、前記顧客ドメイン内でインスタンス化された第１の仮想ルータを介して容易にされる、請求項１２に記載のコンピュータ・プログラム。
【請求項１５】
前記ＶＭは前記顧客ドメイン内の層を占め、前記層は少なくとも３つの仮想ローカル・エリア・ネットワークを含み、
第２のネットワーク・アドレスを前記第２のＶＮＩＣに割り当てるためのプログラム命令であって、前記第２のネットワーク・アドレスはＩＰｖ６アドレスを含み、前記第３のアプリケーションからの前記アクセスは、前記顧客ドメイン内でインスタンス化された第２の仮想ルータを介して容易にされる、プログラム命令をさらに含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１６】
前記第３のアプリケーションからの前記アクセスは、前記顧客ドメインのために作成されたドメイン・ネーム・サービスの第１のインスタンスを介してさらに容易にされ、前記ＤＮＳの前記第１のインスタンスは、前記顧客ドメインの管理に関して権限付与された経路指定を含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
第３ネットワーク・アドレスを前記第３のＶＮＩＣに割り当てるためのプログラム命令であって、前記第３のネットワーク・アドレスはＩＰｖ６アドレスを含み、前記第４のアプリケーションへの前記アクセスは、前記顧客ドメイン内でインスタンス化された第３の仮想ルータを介して容易にされる、プログラム命令をさらに含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１８】
第３のネットワーク・アドレスを前記第３のＶＮＩＣに割り当てるためのプログラム命令であって、前記第３のネットワーク・アドレスは前記顧客ドメインのために選択された前記第１のアドレス範囲内にあり、前記第１のアドレス範囲は、第２の顧客ドメインのために選択された第２のアドレス範囲と重複し、前記第４のアプリケーションへの前記アクセスは、前記顧客ドメイン内でインスタンス化された第３の仮想ルータを介して容易にされる、プログラム命令をさらに含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１９】
仮想化マルチテナント環境においてセキュアな顧客ドメインを提供するためのコンピュータ・システムであって、
プロセッサ、コンピュータ可読メモリ、およびコンピュータ可読有形ストレージ・デバイスと、
前記メモリを介して前記プロセッサにより実行するために前記ストレージ・デバイス上に格納された、前記顧客ドメイン内に顧客のための仮想マシン（ＶＭ）を構成するためのプログラム命令と、
前記メモリを介して前記プロセッサにより実行するために前記ストレージ・デバイス上に格納された、前記ＶＭ内に第１の仮想ネットワーク・インターフェース（ＶＮＩＣ）を構成するためのプログラム命令であって、前記第１のＶＮＩＣは、前記ＶＭ上の第１のアプリケーションが、前記顧客ドメイン内の第２のＶＭ内の第２のアプリケーションにアクセスすることを可能にする、プログラム命令と、
前記メモリを介して前記プロセッサにより実行するように前記ストレージ・デバイス上に格納された、第１のネットワーク・アドレスを前記第１のＶＮＩＣに割り当てるためのプログラム命令であって、前記第１のネットワーク・アドレスは、前記顧客ドメインのために選択された第１のアドレス範囲内にある、プログラム命令と、
前記メモリを介して前記プロセッサにより実行するように前記ストレージ・デバイス上に格納された、前記ＶＭ内に第２のＶＮＩＣを構成するためのプログラム命令であって、前記第２のＶＮＩＣは、前記顧客ドメインの外部の第３のアプリケーションが、前記顧客ドメイン内の前記ＶＭにアクセスすることを可能にし、かつ、前記第３のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成される、プログラム命令と、
前記１メモリを介して前記プロセッサにより実行するために前記ストレージ・デバイス上に格納された、前記ＶＭ内に第３のＶＮＩＣを構成するためのプログラム命令であって、前記第３のＶＮＩＣは、前記第１のアプリケーションから前記顧客ドメインの外部で実行されている第４のアプリケーションへのアクセスを可能にし、かつ、前記第４のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成され、それにより、前記顧客ドメインに関連するデータ通信が、第２の顧客ドメインに関連するデータ通信からの干渉からセキュア保護される、プログラム命令と、
を含む、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、マルチテナント・データ処理環境を管理するための方法、システムおよびコンピュータ・プログラム製品に関する。より具体的には、本発明は、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための方法、システムおよびコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
特定のデータ処理システムは、複数の作業負荷を同時に処理するように構成される。例えば、単一のホスト・データ処理システム上に構成された、別個の仮想マシン（ＶＭ）のような別個の仮想データ処理システムは、多くの場合、異なる顧客またはアプリケーションについての別個の作業負荷を処理する。
【０００３】
データ・センタのような大規模データ処理環境では、常に数千のＶＭがホスト上で動作することができ、数千とまではいかなくとも数百のそうしたホストが同時にデータ・センタ内で動作することができる。前述のデータ・センタのような仮想化データ処理環境は、多くの場合「クラウド」と呼ばれ、必要に応じて、コンピューティング・リソースおよびコンピューティング・サービスを複数の顧客に提供する。
【０００４】
ＶＭは、顧客の作業負荷の処理、サービスレベル要件への対処および多くの他の理由のために、必要に応じて計算ノード上にインストールまたは作成される。さらに、異なる目的のために異なる構成のＶＭが必要とされることがある。例えば、ユーザに汎用コンピューティング・プラットフォームを提供するためだけにＶＭが作成されるとき、アプリケーションを有さず、基本オペレーティング・システムのみを有するようにＶＭを作成することができる。別の例において、新しいＶＭがアプリケーション・サービスを提供する必要があるとき、ＶＭを、オペレーティング・システムおよびそこに構成されるアプリケーション・サーバを有するようにＶＭを作成することができる。
【０００５】
同様に、多くの異なる構成のＶＭを、テンプレート・イメージ（テンプレート）として事前構成することができる。特定の所定の事前構成を有するＶＭを計算ノード上に作成しなければならないときに、適切なテンプレートを、データベースまたはファイル・システムのようなテンプレート・ストレージから選択し、計算ノード上にインストールして所望の構成を有するＶＭを作成する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態の目的の１つは、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための方法、システムおよびコンピュータ・プログラム製品を提供することである。
【課題を解決するための手段】
【０００７】
例示的な実施形態は、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための方法、システムおよびコンピュータ・プログラム製品を提供する。一実施形態は、プロセッサを用いて、顧客ドメイン内に顧客のための仮想マシン（ＶＭ）を構成する。この実施形態は、プロセッサを用いて、ＶＭ内に第１の仮想ネットワーク・インターフェース（ＶＮＩＣ）を構成する。ここで、第１のＶＮＩＣは、ＶＭ上のアプリケーションがその顧客ドメイン内の第２のＶＭ内の第２のアプリケーションにアクセスすることを可能にする。この実施形態は、プロセッサを用いて、第１のネットワーク・アドレスを第１のＶＮＩＣに割り当る。ここで、第１のネットワーク・アドレスは、顧客ドメインのために選択された第１のアドレス範囲内にある。この実施形態は、プロセッサを用いて、ＶＭ内に第２のＶＮＩＣを構成する。ここで、第２のＶＮＩＣは、顧客ドメインの外部の第３のアプリケーションが、顧客ドメイン内のＶＭにアクセスすることを可能にし、かつ、第３のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成される。この実施形態は、プロセッサを用いて、ＶＭ内に第３のＶＮＩＣを構成する。ここで、第３のＶＮＩＣは、第１のアプリケーションから顧客ドメインの外部で実行される第４のアプリケーションへのアクセスを可能にし、かつ、第４のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成され、それにより、顧客ドメインに関連するデータ通信が、第２の顧客ドメインに関連するデータ通信からの干渉からセキュア保護される。
【０００８】
別の実施形態は、コンピュータ可読有形ストレージ・デバイスを含む。この実施形態は、ストレージ・デバイス上に格納された、顧客ドメイン内に顧客のための仮想マシン（ＶＭ）を構成するためのプログラム命令をさらに含む。実施形態は、ストレージ・デバイス上に格納された、ＶＭ内に第１の仮想ネットマーク・インターフェース（ＶＮＩＣ）を構成するためのプログラム命令をさらに含む。ここで、第１のＶＮＩＣは、ＶＭ上のアプリケーションが、顧客ドメイン内の第２のＶＭ内の第２のアプリケーションにアクセスすることを可能にする。実施形態は、ストレージ・デバイス上に格納された、第１のネットワーク・アドレスを第１のＶＮＩＣに割り当てるためのプログラム命令をさらに含む。ここで、第１のネットワーク・アドレスは、顧客ドメインのために選択された第１のアドレス範囲内にある。実施形態は、ストレージ・デバイス上に格納された、ＶＭ内に第２のＶＮＩＣを構成するためのプログラム命令をさらに含む。ここで、第２のＶＮＩＣは、顧客ドメインの外部の第３のアプリケーションが、顧客ドメイン内のＶＭにアクセスすることを可能にし、かつ、第３のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成される。実施形態は、ストレージ・デバイス上に格納された、ＶＭ内に第３のＶＮＩＣを構成するためのプログラム命令をさらに含む。ここで、第３のＶＮＩＣは、第１のアプリケーションから顧客ドメインの外部で実行される第４のアプリケーションへのアクセスを可能にし、かつ、第４のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成され、それにより、顧客ドメインに関連するデータ通信が、第２の顧客ドメインに関連するデータ通信からの干渉からセキュア保護される。
【０００９】
別の実施形態は、プロセッサ、コンピュータ可読メモリおよびコンピュータ可読有形ストレージ・デバイスを含む。この実施形態は、メモリを介してプロセッサによる実行のためにストレージ・デバイス上に格納された、顧客ドメイン内に顧客のための仮想マシン（ＶＭ）を構成するためのプログラム命令をさらに含む。この実施形態は、メモリを介してプロセッサによる実行のためにストレージ・デバイス上に格納された、ＶＭ内に第１の仮想ネットワーク・インターフェース（ＶＮＩＣ）を構成するためのプログラム命令をさらに含む。ここで、第１のＶＮＩＣは、ＶＭ上のアプリケーションが、顧客ドメイン内の第２のＶＭ内の第２のアプリケーションにアクセスすることを可能にする。この実施形態は、メモリを介してプロセッサによる実行のためにストレージ・デバイス上に格納された、第１のネットワーク・アドレスを第１のＶＭに割り当てるためのプログラム命令をさらに含む。ここで、第１のネットワーク・アドレスは顧客ドメインのために選択された第１のアドレス範囲内にある。この実施形態は、メモリを介してプロセッサによる実行のためにストレージ・デバイス上に格納された、ＶＭ内に第２のＶＮＩＣを構成するためのプログラム命令をさらに含む。ここで、第２のＶＮＩＣは、顧客ドメインの外部の第３のアプリケーションが、顧客ドメイン内のＶＭにアクセスすることを可能にし、かつ、第３のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成される。この実施形態は、メモリを介してプロセッサによる実行のためにストレージ・デバイス上に格納された、ＶＭ内に第３のＶＮＩＣを構成するためのプログラム命令をさらに含む。ここで、第３のＶＮＩＣは、第１のアプリケーションから顧客ドメインの外部で実行されている第４のアプリケーションへのアクセスを可能にし、かつ、第４のアプリケーションのサーバにより使用されるアドレス指定仕様を使用するように構成され、それにより、顧客ドメインに関連するデータ通信が、第２の顧客ドメインに関連するデータ通信からの干渉からセキュア保護される。
【００１０】
本発明の特徴と考えられる新規な構成が、添付の特許請求の範囲に記載される。しかし、本発明自体、並びに、本発明の好ましい使用形態、さらなる目的および利点は、図面を併せて読んだときに、例示的な実施形態の以下の詳細な説明を参照することによって、最も良く理解されるであろう。
【図面の簡単な説明】
【００１１】
【図１】例示的な実施形態を実装することができるデータ処理システムのブロック図を示す。
【図２】例示的な実施形態を実装することができる例示的な論理パーティション化プラットフォームのブロック図である。
【図３】例示的な実施形態による、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための構成のブロック図を示す。
【図４】例示的な実施形態による、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための例示的なプロセスのフローチャートを示す。
【図５】例示的な実施形態による、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための別の例示的なプロセスのフローチャートを示す。
【図６】例示的な実施形態による、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための別の例示的なプロセスのフローチャートを示す。
【発明を実施するための形態】
【００１２】
マルチテナント・データ処理環境（マルチテナント環境）は、複数の顧客のデータ処理システムがホストされるデータ処理環境である。仮想化マルチテナント・データ処理環境（仮想化環境、仮想化マルチテナント環境、ＶＭＥ、クラウド）は、仮想マシンが複数の顧客のコンピューティング・タスクを実行するように構成されたマルチテナント環境である。
【００１３】
例示的な実施形態は、一般的に、ＶＭＥ内の顧客が異なる目的のために異なるＶＭを有するように構成されることを認識している。例えば、顧客は、ウェブ・サービスを提供するように構成されたＶＭ、バックエンド・アプリケーション・サポートを提供するための別のＶＭ、およびデータベースをホストするための別のＶＭを有することができる。特化された目的、多目的または汎用コンピューティングのために、任意の数のＶＭを同様に構成することができる。
【００１４】
例示的な実施形態は、一般的に、顧客がＶＭＥ内のそれらのアプリケーションの構成を制御していることを認識している。例えば、顧客がホストされているＶＭＥの幾つかの基本要件以外に、顧客は、任意のインターネット・プロトコル（ＩＰ）アドレス範囲を選択して、ＶＭ上で実行されている顧客の種々のアプリケーション間の通信を容易にすることができる。ＶＭＥの基本要件の幾つかの例は、管理目的のために顧客のＶＭに到達可能でなければならないこと、および、顧客のアドレス指定がＶＭＥ内で利用可能な共有サービスで用いられるアドレス指定と競合してはならないこと、である。
【００１５】
さらに、例示的な実施形態は、ＶＭのセットおよびアプリケーション（顧客ドメイン）が他の顧客のドメインからセキュリティ上保護されていると顧客が期待していることを認識している。換言すれば、ある顧客のドメインとの間の通信が、意図しない限り、別の顧客のドメインとの間の通信を妨げてはならない。
【００１６】
例示的な実施形態は、ＶＭＥにおいて顧客ドメインをセキュリティ保護することが困難な問題であることを認識している。困難である例示的な理由の１つは、ある顧客によって選択されたアドレス範囲がＶＭＥ内の他の顧客によって選択されたアドレス範囲と不注意で重なってしまう場合があることである。
【００１７】
例示的な実施形態は、厳格なアドレス範囲分離ポリシーの実施が、実際的ではなく困難かつ高価であることを認識している。例えば、そのようなポリシーを実施するために、顧客アプリケーションのコード修正が必要である場合があり、それが顧客にとって容認できないことがある。別の例として、現在利用可能なＶＭＥインフラストラクチャにおいてそうしたポリシーを実施することは、新しい顧客を実装するようにまたは顧客ドメインを変更するように既存の顧客ドメインを構成または再構成することを必要とする。
【００１８】
さらに、例示的な実施形態は、現在利用可能なＶＭＥインフラストラクチャにおいては、管理アプリケーションおよび共有ツールを供するサーバから顧客ドメインを分離するために、ハードウェア・デバイスを使用しなければならないことを認識している。従って、ＶＭＥ内の顧客ドメインの変更時に、ハードウェア要素を付加し、除去し、または変更しなければならない。そうしたハードウェアの変更は、費用がかかり、さらに、顧客ドメインのアドレス範囲が重複するという問題を対処するための厳格なアドレス範囲分離ポリシー型解決法を必要とする。
【００１９】
本発明を説明するのに用いられる例示的な実施形態は、一般に、マルチテナント環境に関連する上述の問題および他の問題に対処し、解決する。例示的な実施形態は、仮想化マルチテナント環境において、セキュアな顧客ドメインをプロビジョニングするための方法、システム、およびコンピュータ・プログラム製品を提供する。
【００２０】
例示的な実施形態は、顧客ドメインがＶＭＥ内の他の顧客ドメインと重複するアドレス範囲を使用する場合であっても顧客ドメインがＶＭＥ内の他の顧客ドメインからの干渉からセキュアであるように、顧客ドメインにおいてコンポーネントを構成する方法を提供する。例示的な実施形態は、分離のためにハードウェア要素を構成する必要がないように、顧客ドメインと管理および共有ツールとの間の分離を確実にするための技術をさらに提供する。本明細書で説明される技術、手続きおよび動作の方法はＶＭのテンプレートで実装することができるので、ＶＭが顧客ドメイン内に構築されるとき、ＶＭはマルチテナント環境内のハードウェアの変更を必要とすることなく本開示で説明される方法で構成される。
【００２１】
例示的な実施形態は、単なる例として、特定のデータ処理システム、環境、コンポーネントおよびアプリケーションに関連して説明される。そうしたアーチファクトのいずれの特定の表示も、本発明を限定することを意図したものではない。データ処理システム、環境、コンポーネントおよびアプリケーションのいずれの適切な表示も、例示的な実施形態の範囲内で選択することができる。
【００２２】
さらに、例示的な実施形態は、任意のタイプのデータ、データ・ソース、またはデータ・ネットワーク上でのデータ・ソースへのアクセスに関連して実装することができる。本発明の範囲内で、いかなるタイプのデータ・ストレージ・デバイスは、データ処理システムにおいてローカルにまたはデータ・ネットワーク上で、本発明の実施形態にデータを提供することができる。
【００２３】
例示的な実施形態は、単なる例として、特定のコード、設計、アーキテクチャ、プロトコル、レイアウト、概略図およびツールを用いて説明されており、例示的な実施形態に限定されるものではない。さらに、例示的な実施形態は、場合によっては、説明を明確にするために、単なる例として、特定のソフトウェア、ツールおよびデータ処理環境を用いて説明される。例示的な実施形態は、他の同等のまたは類似した目的の構造体、システム、アプリケーション、またはアークテクチャと共に使用することができる。例示的な実施形態は、ハードウェア、ソフトウェアまたはそれらの組み合わせとして実装することができる。
【００２４】
本開示における例は、説明を明確にするためにのみ用いられ、例示的な実施形態に限定するものではない。付加的なデータ、動作、アクション、タスク、アクティビティ、および操作が本開示から想定可能であり、これらは例示的な実施形態の範囲に属するものと考えられる。
【００２５】
本明細書で列挙されるいずれの利点も、単なる例であり、例示的な実施形態に限定することを意図したものではない。特定の例示的な実施形態によって、付加的なまたは異なる利点を実現することもできる。さらに、特定の例示的な実施形態は、上に列挙した利点の一部または全てを有することがあり、またはそれらの利点を有していないこともある。
【００２６】
図を参照し、特に図１および図２を参照する。これらの図は、例示的な実施形態を実装することができるデータ処理環境の例示的な図である。図１および図２は単なる例示であって、種々の実施形態を実装することができる環境に関するいかなる限定を主張することまたは意味することを意図するものではない。以下の説明に基づき、特定の実装は、示される環境に対して多くの修正を行うことが可能である。
【００２７】
図１を参照すると、この図は、例示的な実施形態を実装することができるデータ処理システムのブロック図を示す。データ処理システム１００は、システム・バス１０６に接続する、複数のプロセッサ１０１、１０２、１０３および１０４を含む対称型マルチプロセッサ（ＳＭＰ）システムとすることができる。例えば、データ処理システム１００は、ネットワーク内のサーバとして実装されるＩＢＭのＰｏｗｅｒ  Ｓｙｓｔｅｍ（登録商標）とすることができる。（Ｐｏｗｅｒ  Ｓｙｓｔｅｍは、米国および他の国のインターナショナル・ビジネス・マシーンズ・コーポレーションの製品および商標である）。代替的に、シングルプロセッサ・システムを用いることができ、プロセッサ１０１、１０２、１０３および１０４は、シングルプロセッサ・チップ内のコアとすることができる。代替的に、データ処理システム１００は、プロセッサ１０１、１０２、１０３、１０４を、プロセッサおよびコアの任意の組み合わせで含むことができる。
【００２８】
さらに、複数のローカル・メモリ１６０〜１６３へのインターフェースを提供するメモリ・コントローラ／キャッシュ１０８も、システム・バス１０６に接続される。Ｉ／Ｏバス・ブリッジ１１０はシステム・バス１０６に接続し、Ｉ／Ｏバス１１２へのインターフェースを提供する。図示のように、メモリ・コントローラ／キャッシュ１０８およびＩ／Ｏバス・ブリッジ１１０を統合してもよい。
【００２９】
データ処理システム１００は、論理的にパーティション化されたデータ処理システムである。従って、データ処理システム１００は、同時に実行される複数の異種のオペレーティング・システム（または、単一のオペレーティング・システムの複数のインスタンス）を有することができる。これらの複数のオペレーティング・システムの各々は、その中で実行される任意の数のソフトウェア・プログラムを有することができる。データ処理システム１００は、論理的にパーティション化されており、異なるＰＣＩ  Ｉ／Ｏアダプタ１２０〜１２１、１２８〜１２９および１３６、グラフィックス・アダプタ１４８、並びにハードディスク・アダプタ１４９を異なる論理パーティションに割り当てることができる。この場合、グラフィックス・アダプタ１４８は、表示装置（図示せず）に接続されるが、一方で、ハードディスク・アダプタ１４９は、ハードディスク１５０に接続され、これを制御する。
【００３０】
従って、例えば、データ処理システム１００が３つの論理パーティション、Ｐ１、Ｐ２およびＰ３に分けられると仮定する。ＰＣＩ  Ｉ／Ｏアダプタ１２０〜１２１、１２８〜１２９、１３６の各々、グラフィックス・アダプタ１４８、ハードディスク・アダプタ１４９、ホスト・プロセッサ１０１〜１０４の各々、およびローカル・メモリ１６０〜１６３からのメモリは、３つのパーティションのうちの１つに割り当てられる。これらの例において、メモリ１６０〜１６３は、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）の形態を取ることができる。ＤＩＭＭは、通常、ＤＩＭＭごとにパーティションに割り当てられるのではない。代わりに、パーティションは、プラットフォームによって見られているメモリ全体の一部分を取得する。例えば、プロセッサ１０１、ローカル・メモリ１６０〜１６３からのメモリのある部分、並びにＩ／Ｏアダプタ１２０、１２８および１２９を論理パーティションＰ１に割り当てることができ、プロセッサ１０２〜１０３、ローカル・メモリ１６０〜１６３からのメモリのある部分、並びにＰＣＩ  Ｉ／Ｏアダプタ１２１および１３６をパーティションＰ２に割り当てることができ、プロセッサ１０４、ローカル・メモリ１６０〜１６３からのメモリのある部分、グラフィックス・アダプタ１４８およびハードディスク・アダプタ１４９を論理パーティションＰ３に割り当てることができる。
【００３１】
データ処理システム１００内で実行される各々のオペレーティング・システムは、異なる論理パーティションに割り当てられる。従って、データ処理システム１００内で実行される各々のオペレーティング・システムは、その論理パーティション内にあるＩ／Ｏユニットのみにアクセスすることができる。従って、例えば、Ａｄｖａｎｃｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｅｘｅｃｕｔｉｖｅ（ＡＩＸ（登録商標））オペレーティング・システムの１つのインスタンスは、パーティションＰ１内で実行することができ、ＡＩＸオペレーティング・システムの第２のインスタンス（イメージ）は、パーティションＰ２内で実行することができ、Ｌｉｎｕｘ（登録商標）またはＩＢＭ−ｉ（登録商標）オペレーティング・システムは、論理パーティションＰ３内で動作することができる。（ＡＩＸおよびＩＢＭ−ｉは、米国および他の国におけるインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。Ｌｉｎｕｘは、米国および他の国におけるＬｉｎｕｓ  Ｔｏｒｖａｌｄｓの商標である）。
【００３２】
Ｉ／Ｏバス１１２に接続されたＰｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）ホスト・ブリッジ１１４は、ＰＣＩローカル・バス１１５へのインターフェースを提供する。多数のＰＣＩ入力／出力アダプタ１２０〜１２１が、ＰＣＩ−ＰＣＩ（PCI-to-PCI）ブリッジ１１６、ＰＣＩバス１１８、ＰＣＩバス１１９、Ｉ／Ｏスロット１７０およびＩ／Ｏスロット１７１を通してＰＣＩローカル・バス１１５に接続する。ＰＣＩ−ＰＣＩブリッジ１１６は、ＰＣＩバス１１８およびＰＣＩバス１１９へのインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ１２０および１２１は、それぞれ、Ｉ／Ｏスロット１７０および１７１内に配置される。典型的なＰＣＩバスは、４つと８つのＩ／Ｏアダプタ（すなわち、アドイン・コネクタ用の拡張スロット）間のサポートを実装する。各々のＰＣＩ  Ｉ／Ｏアダプタ１２０〜１２１は、データ処理システム１００と入力／出力デバイス、例えばデータ処理システム１００のクライアントである他のネットワーク・コンピュータとの間のインターフェースを提供する。
【００３３】
付加的なＰＣＩホスト・ブリッジ１２２は、付加的なＰＣＩローカル・バス１２３のためのインターフェースを提供する。ＰＣＩローカル・バス１２３は、複数のＰＣＩ  Ｉ／Ｏアダプタ１２８〜１２９に接続する。ＰＣＩ  Ｉ／Ｏアダプタ１２８〜１２９は、ＰＣＩ−ＰＣＩブリッジ１２４、ＰＣＩバス１２６、ＰＣＩバス１２７、Ｉ／Ｏスロット１７２およびＩ／Ｏスロット１７３を通してＰＣＩローカル・バス１２３に接続する。ＰＣＩ−ＰＣＩブリッジ１２４は、ＰＣＩバス１２６およびＰＣＩバス１２７へのインターフェースを提供する。ＰＣＩ  Ｉ／Ｏアダプタ１２８および１２９は、それぞれ、Ｉ／Ｏスロット１７２および１７３内に配置される。このように、ＰＣＩ  Ｉ／Ｏアダプタ１２８〜１２９の各々を通して、例えばモデムまたはネットワーク・アダプタなどの付加的なＩ／Ｏデバイスをサポートすることができる。従って、データ処理システム１００は、複数のネットワーク・コンピュータへの接続を可能にする。
【００３４】
メモリマップド・グラフィックス・アダプタ１４８は、Ｉ／Ｏスロット１７４に挿入され、ＰＣＩバス１４４、ＰＣＩ−ＰＣＩブリッジ１４２、ＰＣＩローカル・バス１４１、およびＰＣＩホスト・ブリッジ１４０を通してＩ／Ｏバス１１２に接続する。ハードディスク・アダプタ１４９は、Ｉ／Ｏスロット１７５内に配置することができ、このＩ／Ｏスロット１７５は、ＰＣＩバス１４５に接続する。次に、ＰＣＩバス１４５はＰＣＩ−ＰＣＩブリッジ１４２に接続し、このＰＣＩ−ＰＣＩブリッジ１４２は、ＰＣＩローカル・バス１４１によりＰＣＩホスト・ブリッジ１４０に接続する。
【００３５】
ＰＣＩホスト・ブリッジ１３０は、Ｉ／Ｏバス１１２に接続するためのインターフェースをＰＣＩローカル・バス１３１に提供する。ＰＣＩ  Ｉ／Ｏアダプタ１３６はＩ／Ｏスロット１７６に接続し、このＩ／Ｏスロット１７６は、ＰＣＩバス１３３によりＰＣＩ−ＰＣＩブリッジ１３２に接続する。ＰＣＩ−ＰＣＩブリッジ１３２はＰＣＩローカル・バス１３１に接続する。ＰＣＩローカル・バス１３１はまた、ＰＣＩホスト・ブリッジ１３０を、サービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パススルー論理１９４とＰＣＩ−ＰＣＩブリッジ１３２とに接続する。
【００３６】
サービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パススルー論理１９４は、ＰＣＩ／ＩＳＡブリッジ１９３に向けられたＰＣＩアクセスを転送する。ＮＶＲＡＭストレージ１９２は、ＩＳＡバス１９６に接続する。サービス・プロセッサ１３５は、そのローカルＰＣＩバス１９５を通してサービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パススルー論理１９４に接続する。サービス・プロセッサ１３５はまた、複数のＪＴＡＧ／Ｉ２Ｃバス１３４を介してプロセッサ１０１〜１０４に接続する。ＪＴＡＧ／Ｉ２Ｃバス１３４は、ＪＴＡＧ／スキャン・バス（ＩＥＥＥ１１４９．１を参照）とフィリップスＩ２Ｃバスとの組み合わせである。
【００３７】
しかし、代替的に、ＪＴＡＧ／Ｉ２Ｃバス１３４は、フィリップスＩ２Ｃバスだけに、またはＪＴＡＧ／スキャン・バスだけに置き換えられてもよい。ホスト・プロセッサ１０１、１０２、１０３および１０４の全てのＳＰ−ＡＴＴＮ信号は、互いに接続しあってサービス・プロセッサ１３５の割込み入力信号となる。サービス・プロセッサ１３５は、それ自身のローカル・メモリ１９１を有し、ハードウェアＯＰ−パネル１９０へのアクセスを有する。
【００３８】
データ処理システム１００が最初に始動されるとき、サービス・プロセッサ１３５は、ＪＴＡＧ／Ｉ２Ｃバス１３４を用いて、システム（ホスト）プロセッサ１０１〜１０４、メモリ・コントローラ／キャッシュ１０８およびＩ／Ｏブリッジ１１０に問い合わせを行う。このステップの完了時に、サービス・プロセッサ１３５は、データ処理システム１００のインベントリおよびトポロジを理解する。サービス・プロセッサ１３５はまた、ホスト・プロセッサ１０１〜１０４、メモリ・コントローラ／キャッシュ１０８およびＩ／Ｏブリッジ１１０に問い合わせを行うことによって発見された全ての要素に対して、ビルトイン・セルフ・テスト（ＢＩＳＴ：Ｂｕｉｌｔ−Ｉｎ−Ｓｅｌｆ−Ｔｅｓｔ）、基本保証テスト（ＢＡＴ：Ｂａｓｉｃ  Ａｓｓｕｒａｎｃｅ  Ｔｅｓｔ）およびメモリ・テストを実行する。サービス・プロセッサ１３５は、ＢＩＳＴ、ＢＡＴ、およびメモリ・テストの間に検出された故障に関するあらゆるエラー情報を収集し、報告する。
【００３９】
ＢＩＳＴ、ＢＡＴおよびメモリ・テストの間に故障していると分かった要素を取り除いた後でもなお、依然としてシステム・リソースの有意義な／有効な構成が可能である場合、データ処理システム１００は、実行可能なコードをローカル（ホスト）メモリ１６０〜１６３にロードすることを許可される。次に、サービス・プロセッサ１３５は、ローカル・メモリ１６０〜１６３にロードされたコードを実行するために、ホスト・プロセッサ１０１〜１０４を解放する。ホスト・プロセッサ１０１〜１０４がデータ処理システム１００内のそれぞれのオペレーティング・システムからのコードを実行している間に、サービス・プロセッサ１３５はエラーを監視し報告するモードに入る。サービス・プロセッサ１３５は、例えば、冷却ファンの速度および動作、温度センサ、電源制御装置、並びに、プロセッサ１０１〜１０４、ローカル・メモリ１６０〜１６３およびＩ／Ｏブリッジ１１０により報告される回復可能なエラーおよび回復不能なエラーを含む項目の種類を監視する。
【００４０】
サービス・プロセッサ１３５は、データ処理システム１００内の全ての監視される項目に関するエラー情報を保存し、報告する。また、サービス・プロセッサ１３５は、エラーの種類および定められた閾値に基づいてアクションをとる。例えば、サービス・プロセッサ１３５は、プロセッサのキャッシュ・メモリにおける過度の回復可能なエラーを記録し、これが重大な故障の前兆であると判断することができる。この判断に基づいて、サービス・プロセッサ１３５は、現在実行中のセッションおよび将来の初期プログラム・ロード（ＩＰＬ）の際の構成解除のために、そのリソースにマーク付けすることができる。ＩＰＬはまた、「ブート」または「ブート・ストラップ」と呼ばれることもある。
【００４１】
データ処理システム１００は、種々の市販のコンピュータ・システムを用いて実装することができる。例えば、データ処理システム１００は、インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なＩＢＭ  Ｐｏｗｅｒ  Ｓｙｓｔｅｍｓを用いて実装することができる。このようなシステムは、ＡＩＸオペレーティング・システムを用いて論理パーティション化をサポートすることができ、これも同じくインターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能である。
【００４２】
メモリ１９１、ＮＶＲＡＭ１９２、ローカル・メモリ１６０、１６１、１６２および１６３またはフラッシュメモリ（図示せず）などのメモリは、コンピュータ使用可能ストレージ・デバイスの幾つかの例である。ハードディスク１５０、ＣＤ−ＲＯＭ（図示せず）および他の同様に使用可能なデバイスは、コンピュータ使用可能ストレージ媒体を含むコンピュータ使用可能ストレージ・デバイスの幾つかの例である。
【００４３】
当業者であれば、図１に示されるハードウェアは変わり得ることを認識するであろう。例えば、図示されたハードウェアに加えてまたはその代わりに、光ディスク・ドライブなどの他の周辺機器を使用することもできる。別の例として、アダプタなどの幾つかの物理リソースを仮想化して対応する仮想リソース（図示せず）とし、次いで仮想リソースを種々のパーティションに割り当てることができる。別の例として、図１に示されるハードウェアを、１つまたは複数の仮想Ｉ／Ｏサーバ（ＶＩＯＳ）（図示せず）を使用するように構成することができる。ＶＩＯＳは、サポートされる論理パーティションの間で、アダプタ、ディスク、コントローラ、プロセッサ、メモリ等の物理リソースを共有することを可能にする。他の機能の中でも特に共有ＶＩＯＳは、パーティションの間で、大量のケーブル配線の必要性を減らし、ライブ・マイグレーションの実施を促進する。図示された例は、例示的な実施形態に対するアーキテクチャの限定を意味することを意図するものではない。
【００４４】
図２を参照すると、この図は、例示的な実施形態を実装できる例示的な論理パーティション化プラットフォームのブロック図を示す。論理パーティション化プラットフォーム２００内のハードウェアは、例えば、図１のデータ処理システム１００に示される対応するコンポーネントとして実装することができる。
【００４５】
論理パーティション化プラットフォーム２００は、パーティション化ハードウェア２３０と、オペレーティング・システム２０２、２０４、２０６、２０８と、プラットフォーム・ファームウェア２１０とを含む。例えばプラットフォーム・ファームウェア２１０などのプラットフォーム・ファームウェアは、パーティション管理ファームウェアとしても知られる。オペレーティング・システム２０２、２０４、２０６および２０８は、単一のオペレーティング・システムの複数のコピーまたは論理パーティション化プラットフォーム２００上で同時に動作する複数の異種オペレーティング・システムとすることができる。これらのオペレーティング・システムは、ハイパーバイザなどのパーティション管理ファームウェアとインターフェース接続するように設計されたＩＢＭ−ｉを用いて実装することができる。これらの例示的な実施形態において、ＩＢＭ−ｉは、単なる一例として用いられる。もちろん、特定の実装に応じて、例えばＡＩＸおよびＬｉｎｕｘなどの他のタイプのオペレーティング・システムを用いることもできる。オペレーティング・システム２０２、２０４、２０６および２０８は、それぞれ、パーティション２０３、２０５、２０７および２０９内に置かれる。
【００４６】
ハイパバイザ・ソフトウェアは、パーティション管理ファームウェア２１０の実装に用い得るソフトウェアの一例であり、インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能である。ファームウェアは、例えば、読み出し専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）および不揮発性ランダム・アクセス・メモリ（不揮発性ＲＡＭ）などの、電力を用いずにそのコンテンツを保持するメモリ・チップ内に格納される「ソフトウェア」である。
【００４７】
さらに、パーティション２０３、２０５、２０７および２０９は、それぞれ、パーティション・ファームウェア２１１、２１３、２１５および２１７も含む。パーティション・ファームウェア２１１、２１３、２１５および２１７は、初期ブート・ストラップ・コード、ＩＥＥＥ−１２７５標準オープン・ファームウェアおよびインターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能な実行時抽象化ソフトウェア（ＲＴＡＳ：runtime abstraction software）を用いて実装することができる。パーティション２０３、２０５、２０７および２０９がインスタンス化されると、プラットフォーム・ファームウェア２１０は、ブート・ストラップ・コードのコピーをパーティション２０３、２０５、２０７および２０９にロードする。その後、制御は、ブート・ストラップ・コードに移され、次いで、ブート・ストラップ・コードは、オープン・ファームウェアおよびＲＴＡＳをロードする。その後、パーティションと関連付けられたまたはこれに割り当てられたプロセッサは、パーティションのメモリにディスパッチされて、パーティション・ファームウェアを実行する。
【００４８】
パーティション２０３は、顧客ドメイン内で動作し、例示的なアプリケーション２０３Ａを供するように構成された例示的なＶＭである。パーティション２０３は、少なくとも３つの仮想ネットワーク・インターフェース・カード（ＶＮＩＣ）２１２Ａ、２１２Ｂおよび２１２Ｃを有するように構成される。パーティション２０５は、顧客ドメイン内で動作し、例示的なデータベース・アプリケーション２０５Ａを供するように構成された別の例示的なＶＭである。パーティション２０３および２０５の各々は、少なくとも３つの仮想ネットワーク・インターフェース・カード（ＶＮＩＣ）を有するように構成される。パーティション２０３は、ＶＮＩＣ  ２１２Ａ、２１２Ｂおよび２１２Ｃを含み、パーティション２０５は、ＶＮＩＣ  ２１４Ａ、２１４Ｂおよび２１４Ｃを含む。一例として、ＶＮＩＣ  ２１２Ａ、２１２Ｂ、２１２Ｃ、２１４Ａ、２１４Ｂ、２１４Ｃの各々は、物理Ｉ／Ｏアダプタ２４８、２５０、２５２、２５４、２５６、２５８、２６０および２６２の組み合わせに任意の適切な方法でマッピングする仮想化リソースである。
【００４９】
パーティション２０７は、例示的な管理サービス２０７Ａを供するように構成された例示的なＶＭである。管理サービス２０７Ａは、顧客ドメイン内のパーティション２０３および２０５の管理のために使用可能である。この目的で、管理サービス２０７Ａは、顧客ドメイン内のパーティション２０３および２０５にアクセスするためにＶＮＩＣ  ２１６Ａを用いる。ＶＮＩＣ  ２１６Ａは、物理Ｉ／Ｏアダプタ２４８、２５０、２５２、２５４、２５６、２５８、２６０および２６２のいずれかに任意の適切な方法でマッピングする仮想化リソースである。一実施形態において、ＶＮＩＣ  ２１６ＡなどのＶＮＩＣは、ＶＩＯＳインスタンス内の仮想リソースにマッピングし、次いで、この仮想リソースがこれらの物理アダプタの１つまたは複数に接続される。例えば、そのような実装において、ＶＩＯＳインスタンスは、２つのＶＩＯＳにわたる共有イーサネット・アダプタを介した冗長性を保証する。一実施形態において、管理サービス２０７Ａは、論理パーティション・プラットフォーム２００とは異なるホスト（図示せず）上に構成され、データ・ネットワーク上で顧客ドメインからアクセス可能であり、ＶＮＩＣ  ２１６Ａは、その異なるホスト内の異なる物理Ｉ／Ｏアダプタにマッピングする。一実施形態において、顧客ドメインは、論理パーティション・プラットフォーム２００とは異なり、データ・ネットワーク上でパーティション２０３および２０５からアクセス可能な、他のホスト・システム（図示せず）内のパーティションまたはＶＭを含む。
【００５０】
パーティション２０９は、例示的な共有ツール２０９Ａを供するように構成された例示的なＶＭである。共有ツール２０９Ａは、パーティション２０９内で、ＶＮＩＣ  ２１８Ａを介し、データ・ネットワーク上で顧客ドメイン内のパーティション２０３および２０５によって到達される。ＶＮＩＣ  ２１８Ａは、物理Ｉ／Ｏアダプタ２４８、２５０、２５２、２５４、２５６、２５８、２６０および２６２のいずれかに任意の適切な方法でマッピングする仮想化リソースである。一実施形態において、共有ツール２０９Ａは、論理パーティション・プラットフォーム２００とは異なるホスト（図示せず）上に構成され、データ・ネットワーク上で顧客ドメインからアクセス可能であり、ＶＮＩＣ  ２１８Ａは、その異なるホスト内の異なる物理Ｉ／Ｏアダプタにマッピングする。
【００５１】
ドメイン・ネーム・サービス（ＤＮＳ）２２０Ａは、論理パーティション・プラットフォーム２００が動作しているＶＭＥ内で実行されるＤＮＳサービスのカスタマイズされた表示（view）である。ＤＮＳ  ２２０Ａのカスタマイズされた表示は、パーティション２０３および２０５を含む顧客ドメインに関して権限付与された管理サービス２０７Ａおよび共有ツール２０９Ａへの経路のみを見えるようにする。
【００５２】
仮想ファイアウォールおよびルータ（ＶＦＷ／ルータ）２２０Ｂは、ＶＭＥ内の仮想化経路指定リソースである。ＶＦＷ／ルータ２２０Ｂは、顧客ドメイン内でインスタンス化され、顧客ドメイン内のサーバ、アプリケーション、およびＶＭ間の通信を促進する。例示的な実施形態の範囲内で、２２０Ｂに類似した１以上のインスタンスを顧客ドメイン内に作成することができる。
【００５３】
プロキシ２２０Ｃは、単独で、またはＶＦＷ／ルータ２２０ＢとＤＮＳ  ２２０Ａとの組み合わせと協働して、顧客ドメイン内で使用されるアドレス範囲と重複するアドレス範囲を使用している可能性のある別の顧客ドメインからの混乱または干渉なしに、顧客ドメイン内のコンポーネントと管理サービス２０７Ａおよび共有ツール２０９Ａとの間の通信を容易にする。プロキシ２２０Ｃは、リバース・プロキシ、双方向プロキシまたは別の適切な表示のプロキシ・サーバとすることができる。さらにプロキシ２２０Ｃは、ＮＡＴなどの変換デバイス、または宛先の共有ツールへのポリシー・ベースの経路指定を行うことができるツールとすることができる。ポリシー・ベースの経路指定は、ソース・ルータ／ファイアウォールに基づいて、重複する範囲を別々に経路指定することを可能にし、従って、重複するアドレス範囲の問題を解決するように、または、インスタンス化などによりマルチテナンシ、マルチテナント機能をサポートしないアプリケーション（ツール）を作成するように、設定された専用（ＶＭ）共有ツールに経路指定することができる。
【００５４】
パーティション化ハードウェア２３０は、複数のプロセッサ２３２〜２３８、複数のシステム・メモリ・ユニット２４０〜２４６、複数の入力／出力（Ｉ／Ｏ）アダプタ２４８〜２６２、およびストレージ・ユニット２７０を含む。プロセッサ２３２〜２３８、メモリ・ユニット２４０〜２４６、ＮＶＲＡＭストレージ２９８、およびＩ／Ｏアダプタ２４８〜２６２の各々を、論理パーティション化プラットフォーム２００内のパーティション２０３、２０５、２０７および２０９の１つに割り当てることができ、そのパーティション２０３、２０５、２０７、および２０９の各々が、オペレーティング・システム２０２、２０４、２０６および２０８の内の１つに対応する。
【００５５】
パーティション管理ファームウェア２１０は、パーティション２０３、２０５、２０７および２０９に対して多数の機能およびサービスを行い、論理パーティション化プラットフォーム２００のパーティション化を生成および強化する。パーティション管理ファームウェア２１０は、基礎となるハードウェアと同一のファームウェア実装仮想マシンである。このため、パーティション管理ファームウェア２１０は、論理的パーティション化プラットフォーム２００の全てのハードウェア・リソースを仮想化することによって、独立ＯＳイメージ２０２、２０４、２０６および２０８を同時に実行することができる。
【００５６】
サービス・プロセッサ２９０を用いて、パーティション内のプラットフォーム・エラーの処理など、様々なサービスを提供することができる。これらのサービスは、インターナショナル・ビジネス・マシーンズ・コーポレーションなどの供給業者にエラー報告を返すサービス・エージェントとしての役割も果たすことができる。パーティション２０３、２０５、２０７および２０９の動作は、ハードウェア管理コンソール２８０などのハードウェア管理コンソールから制御することができる。ハードウェア管理コンソール２８０は、システム管理者が、異なるパーティションへのリソースの再割り当てを含む様々な機能を行うことができる別個のデータ処理システムである。
【００５７】
図１〜図２のハードウェアは、実装に応じて変わり得る。フラッシュメモリ、同等の不揮発性メモリまたは光ディスク・ドライブ等のような他の内部ハードウェアまたは周辺機器を、図１〜図２に示される特定のハードウェアに加えてまたはその代わりに用いてもよい。例示的な実施形態の実装はまた、本発明の範囲から逸脱することなく、管理パーティションの代替的アーキテクチャを用いることができる。
【００５８】
図３を参照すると、この図は、例示的な実施形態による、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするための構成のブロック図を示す。ＶＭＥ部分３００は、複数の顧客ドメインが構成されるＶＭＥの部分である。顧客ドメイン３０２は、ＶＭＥ部分３００内の１つの例示的な顧客ドメインである。仮想サーバ３０４は、例示的な顧客ドメイン３０２内に構成された１つの例示的なマシンである。仮想サーバ３０４は、図２のパーティション２０３を用いて実装することができる。ＶＮＩＣ  ３１２Ａ、３１２Ｂおよび３１２Ｃは、それぞれ、ＶＮＩＣ  ２１２Ａ、２１２Ｂおよび２１２Ｃの実施形態である。
【００５９】
一実施形態において、ＶＮＩＣ  ３１２Ａは、顧客ドメイン３０２内で動作している種々のサーバ間の通信を容易にするように働く。ＶＮＩＣ  ３１２Ａは、ＶＦＷ／ルータ３０６と通信して、顧客ドメイン３０２内のサーバ、コンポーネントまたはアプリケーションに到達する。
【００６０】
ＶＮＩＣ  ３１２Ａは、顧客が選択するアドレス範囲からのアドレスを使用するように構成される。選択されたアドレス範囲、従って、ＶＮＩＣ  ３１２Ａに割り当てられたアドレスは、顧客のプリファレンスに従ったＩＰｖ４アドレス指定またはＩＰｖ６アドレス指定を使用することができる。
【００６１】
顧客は、共有ドメイン３５２内で動作しているマシン、サーバ、システム、アダプタ、コンポーネントまたはアプリケーション用に予約されたアドレス範囲を使用することは許可されない。２以上の顧客ドメインの間で重複するアドレス範囲は、ＩＰｖ６を使用する際には起こり得ないが、ＩＰｖ４範囲を選択する際には、そうした重複の明白な可能性が存在する。使用可能なままの空いている一意のＩＰｖ４アドレスが少なくなるにつれて、ＩＰｖ４アドレス空間の大部分が再使用され、一意のものとして使用可能でなくなるので、ＩＰｖ４アドレス指定時の重複がより発生しやすくなる。例えば、約一千六百万のアドレスを有するＩＰｖ４のクラスＡのアドレス空間は、使用可能なＩＰｖ４アドレスの最大ブロックである。限られた非結合（disjoint）ＩＰｖ４アドレス空間のために、再使用することまたは重複することなしに、約一千六百七十万を上回るＩＰｖ４アドレスを割り当てることは不可能である。一例として、ＤＳＬプロバイダまたは携帯電話およびデータ・サービス・プロバイダは、単一のクラスＡアドレス空間内にＩＰｖ４よりも多くの顧客を有する可能性があり、１以上のクラスＡのアドレス空間を必要とする。全部で１２５のクラスＡのアドレス空間しか使用可能でなく、１つのクラスＡのアドレス空間だけがプライベートの非インターネット経路指定に使用することが許可される場合、ＩＰｖ４は、アドレスに対する要求の増大に伴って満足には拡大しない。
【００６２】
一実施形態において、ＶＮＩＣ  ３１２Ａは、デュアル・スタックである、すなわち、ＩＰｖ４  ＴＣＰ／ＩＰスタック並びにＩＰｖ６  ＴＣＰ／ＩＰスタックの両方を使用するように構成される。有利なことに、デュアル・スタック構成は、サポート中にＶＭＥ内のハードウェアの追加または変更を必要とすることなく、顧客が、そのドメイン内で任意のアドレス指定仕様を選択すること、１つのアドレス指定仕様から別のものに移行することまたはアドレス指定仕様の組み合わせを使用することを可能にする。
【００６３】
一実施形態において、ＶＮＩＣ  ３１２Ｂは、仮想サーバ３０４と、共有ストレージ／バックアップ／インストール／回復サービスなどの管理サービスを提供するサーバとの間の通信を容易にするように働く。ＶＮＩＣ  ３１２Ｂは、ＶＦＷ／ルータ３０８と通信して、管理サービスに到達可能である。他の理由の中でも、一実施形態は、第２のＶＮＩＣ  ３１２Ｂを用いて、大規模な経路指定パスのサポートを必要とするジャンボ・フレームの使用を可能にするなど、大量のストレージ・トラフィックを他のデータ・トラフィックから分離した状態にしておく。
【００６４】
ＶＮＩＣ  ３１２Ｂは、顧客に一意に割り当てられるＩＰｖ６アドレスを使用するように構成される。一実施形態において、ＶＮＩＣ  ３１２Ａは、ＩＰｖ６  ＴＣＰ／ＩＰスタックのみを使用するように構成される。管理サービスは、共有ドメイン３５２内で使用するように一意に割り当てられたＩＰｖ６アドレスを介してのみ、ＶＭＥ内で到達可能である。ＩＰｖ６は１２８ビットのアドレスを使用し、２１２８、または約３．４×１０３８のアドレス、すなわち、３２ビットのアドレスを使用するＩＰｖ４の７．９×１０２８倍より多いアドレスを可能にする。ＩＰｖ６アドレス空間は、ＩＰｖ４アドレス空間と比べて極めて大きく、さらに、同じＩＰｖ６アドレスが異なるエンティティに割り当てられないので、アドレスの偶発的な重複は、不可能ではないにしても、発生しない可能性が非常に高い。
【００６５】
一実施形態において、ＶＮＩＣ  ３１２Ｃは、仮想サーバ３０４と共有ツールを提供するサーバとの間の通信を容易にするように働く。ＶＮＩＣ  ３１２Ｃは、プロキシ３１０およびＶＦＭ／ルータ３１２と通信して、共有ツールにアクセスする。プロキシ３１０は、顧客ドメイン３０２および別の顧客ドメイン内で用いられるアドレス範囲間に重複がある場合に、顧客ドメイン３０２内のアプリケーションと共有ドメイン３５２内のアプリケーションとの間の確実な通信を可能にする。
【００６６】
ＶＮＩＣ  ３１２Ｃは、顧客が選択するＩＰｖ４アドレス、顧客に一意に割り当てられた（または、ホスティング・プロバイダに一意に割り当てられ、次にホスティング・プロバイダにより顧客に割り当てられた）ＩＰｖ６アドレスのどちらか一方だけを使用するように構成される。従って、ＶＮＩＣ  ３１２Ｃは、それぞれ、ＩＰｖ４  ＴＣＰ／ＩＰスタックまたはＩＰｖ６  ＴＣＰ／ＩＰスタックのどちらか一方だけを使用するように構成される。
【００６７】
ＶＮＩＣ  ３１２ＣにおけるＩＰｖ４アドレス指定またはＩＰｖ６アドレス指定の選択は、ＩＰｖ４アドレス指定とＩＰｖ６アドレス指定との間の相互運用性の制限のために、共有ツールのために共有ドメイン３５２内で用いられるアドレス指定によって決まる。共有ツールが共有ドメイン３５２用に予約されたＩＰｖ４アドレスを用いて到達可能である場合、ＶＮＩＣ  ３１２Ｃは、ＩＰｖ４アドレスを有するように構成される。共有ツールがＩＰｖ６アドレスを用いて到達可能である場合、ＶＮＩＣ  ３１２Ｃは、ＩＰｖ６アドレスを有するように構成される。
【００６８】
一般に、この図に示される仮想コンポーネントの全てまたは任意の組み合わせを、顧客のＶＭ用のテンプレートにおいて指定することができる。顧客が新しくプロビジョニングされる、再プロビジョニングされる、または顧客環境を変更する必要があるとき、顧客アドレス範囲の重複を懸念することなく、また、ＶＭＥ内のいかなるハードウェア変更も必要とすることなく、前述のような仮想コンポーネントの作成および構成により、顧客のドメインのセキュリティが維持される。
【００６９】
図４を参照すると、この図は、例示的な実施形態による、仮想化マルチテナント環境において、セキュアな顧客ドメインをプロビジョニングするための例示的なプロセスのフローチャートを示す。プロセス４００は、図２の管理サービス２０７Ａのような管理サービスにおいて実施することができる。
【００７０】
管理サービスは、顧客サーバをＶＭとして構成することにより、プロセス４００を開始する（ブロック４０２）。１以上の顧客サーバが顧客のドメイン内の層（tier）を占めることができる。例えば、ウェブ・サービスが１つの層を形成し、データベース・サービスが別の層を形成し、アプリケーションが第３の層を形成することができる。例示的な実施形態の範囲内で、任意の数の層が同様に可能である。管理サービスは、各々の顧客サーバの層について３つの仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）を作成する。プロセス４００は、説明を明確にするために、例示的な実施形態の制限を意味することなく、１つの例示的な層のみに関して説明される。
【００７１】
従って、管理サービスは、ＶＭ内に第１のＶＮＩＣを構成する（ブロック４０４）。管理サービスは、予約されたアドレス範囲を除いた、顧客の選択の任意のアドレス範囲からのアドレスを有するように、第１のＶＮＩＣを構成する（ブロック４０６）。管理サービスは、ＩＰｖ４  ＴＣＰ／ＩＰスタックおよびＩＰｖ６  ＴＣＰ／ＩＰスタックを有するように、第１のＶＮＩＣを構成する（ブロック４０８）。
【００７２】
管理サービスは、顧客が別の顧客のアドレス範囲と重複するアドレス範囲を使用する場合であっても、顧客のサーバ間の通信をセキュア保護するために、ＶＭ上のアプリケーションが、第１のＶＮＩＣおよびＶＦＷ／ルータを用いて、顧客の別の仮想サーバ上の別のアプリケーションにアクセスすることを可能にする（ブロック４１０）。管理サービスは、プロセス４００を終了する、または「Ａ」とマーク付けされた出口点でプロセス４００を出て、内部に「Ａ］とマーク付けされた対応する入口点で、図５のプロセス５００などの別のプロセスに入る。
【００７３】
図５を参照すると、この図は、例示的な実施形態による、仮想化マルチテナント環境において、セキュアな顧客ドメインをプロビジョニングするための別の例示的なプロセスのフローチャートを示す。プロセス５００は、図２の管理サービス２０７Ａの１つのような管理サービスにおいて実施することができる。
【００７４】
管理サービスは、プロセス５００を開始して、または「Ａ」とマーク付けされた入口点でプロセス５００に入って、図４のブロック４０２において構成されたＶＭ内など、顧客のＶＭ内に第２のＶＮＩＣを構成する（ブロック５０２）。管理サービスは、顧客の一意のＩＰｖ６アドレスを有するように第２のＶＮＩＣを構成する（ブロック５０４）。管理サービスは、ＩＰｖ６  ＴＣＰ／ＩＰスタックを有するように、第２のＶＮＩＣを構成する（ブロック５０６）。
【００７５】
管理サービスは、第２のＶＮＩＣおよびＶＦＷ／ルータを用いて、ＶＭＥ内の共有ドメイン内の管理サーバから、顧客のＶＭにアクセスすることを可能にする（ブロック５０８）。管理サービスはプロセスを終了するか、または「Ｂ」とマーク付けされた出口点でプロセス５００を出て、内部の「Ｂ」とマーク付けされた対応する入口点で、図６のプロセス６００などの別のプロセスに入る。
【００７６】
図６を参照すると、この図は、例示的な実施形態による、仮想化マルチテナント環境において、セキュアな顧客ドメインをプロビジョニングするための別の例示的なプロセスのフローチャートを示す。プロセス６００は、図２の管理サービス２０７Ａの１つのような管理サービスにおいて実施することができる。
【００７７】
管理サービスは、プロセス６００を開始して、または「Ｂ」とマーク付けされた入口点でプロセス６００に入って、図４のブロック４０２において構成されたＶＭ内など、顧客のＶＭ内に第３のＶＮＩＣを構成する（ブロック６０２）。管理サービスは、第３のＶＮＩＣを構成するのに、ＩＰｖ４アドレス指定仕様が用いられるか、またはＩＰｖ６アドレス指定仕様が用いられるかを判断する（ブロック６０４）。
【００７８】
第３のＶＮＩＣ（「ブロック６０４の「ＩＰｖ６」パス」）に対してＩＰｖ６アドレス指定が用いられる場合、管理サービスは、顧客の一意のＩＰｖ６アドレスを有するように、第３のＶＮＩＣを構成する（ブロック６０６）。管理サービスは、ＩＰｖ６  ＴＣＰ／ＩＰスタックを有するように、第３のＶＮＩＣを構成する（ブロック６０８）。
【００７９】
管理サービスは、第３のＶＮＩＣおよびＶＦＷ／ルータを用いて、顧客のＶＭからＶＭＥ内の共有ツールにアクセスすることを可能にする（ブロック６１０）。その後、管理サービスは、プロセス５００を終了する。
【００８０】
第３のＶＮＩＣ（「ブロック６０４の「ＩＰｖ４」経路」）に対してＩＰｖ４アドレス指定が用いられる場合、管理サービスは、別の顧客のアドレス範囲と重複し得るが、予約されたアドレス範囲とは重複しない、顧客の選択したＩＰｖ４アドレス範囲からのＩＰｖ４アドレスを有するように、第３のＶＮＩＣを構成する（ブロック６１２）。管理サービスは、ＩＰｖ４  ＴＣＰ／ＩＰスタックを有するように、第３のＶＮＩＣを構成する（ブロック６１４）。
【００８１】
管理サービスは、第３のＶＮＩＣ、プロキシ、およびＶＦＷ／ルータを用いて、顧客のＶＭからＶＭＥ内の共有ツールにアクセスすることを可能にする（ブロック６１６）。その後、管理サービスは、プロセス５００を終了する。
【００８２】
図面内のフローチャートおよびブロック図は、本発明の種々の実施形態による、システム、方法およびコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能および動作を示す。この点に関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実装するための１つまたは複数の実行可能な命令を含む、モジュール、セグメントまたはコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記載された機能は、図面内に記された順序とは異なる順序で行われる場合があることにも留意されたい。例えば、連続して図示された２つのブロックが、実際には実質的に同時に実行されることもあり、またはこれらのブロックは、関与する機能に応じて、ときには逆順で実行されることもある。ブロック図および／またはフローチャート図の各ブロック、並びにブロック図および／またはフローチャート図内のブロックの組み合わせは、指定された機能または動作を実行する専用ハードウェア・ベースのシステム、または専用ハードウェアとコンピュータ命令との組み合わせによって実装できることにも留意されたい。
【００８３】
従って、仮想化マルチテナント環境においてセキュアな顧客ドメインをプロビジョニングするために、例示的に実施形態において、コンピュータ実装方法、システムおよびコンピュータ・プログラム製品が提供される。実施形態は、新しい顧客をプロビジョニングし、既存の顧客を再プロビジョニングし、またはＶＭＥ内の顧客のプロビジョニングを変更するので、顧客ドメインは、顧客のドメインの内外での通信に関してセキュア保護される。実施形態は、ＶＭＥ内の他の顧客により用いられるアドレス範囲について懸念することなく、セキュリティまたは他の顧客ドメインからの分離をもたらす。実施形態は、セキュアな顧客ドメイン要素をプロビジョニングするために仮想化コンポーネントを使用する。その結果、顧客ドメインのプロビジョニングおよびセキュリティを、現在可能なかなりの程度まで自動化することができる。さらに、ハードウェアの追加および変更なしに、顧客ドメイン、管理サービス、またはＶＭＥの共有ツールにおけるあらゆる変更に適合させることができる。
【００８４】
当業者により認識されるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、またはソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形を取ることができ、これらは全て、本明細書において、一般的に「回路」、「モジュール」または「システム」と呼ぶことができる。さらに、本発明の態様は、コンピュータ可読プログラム・コードが組み込まれた、１つまたは複数のコンピュータ可読ストレージ・デバイスまたはコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形を取ることができる。
【００８５】
１つまたは複数のコンピュータ可読ストレージ・デバイスまたはコンピュータ可読媒体のいずれの組み合わせを用いることもできる。コンピュータ可読媒体は、コンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子、磁気、光学、電磁気、赤外線または半導体のシステム、装置またはデバイス、または上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ・デバイスのより具体的な例（非網羅的なリスト）として、以下のもの、すなわち、１つまたは複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、または上記のいずれかの適切な組み合わせが挙げられる。本文書の文脈において、コンピュータ可読ストレージ・デバイスは、命令実行システム、装置若しくはデバイスによって用いるため、またはそれらと接続して用いるためにプログラムを収容または格納することができる任意の有形媒体またはデバイスとすることができる。
【００８６】
コンピュータ可読ストレージ・デバイスまたはコンピュータ可読媒体上に具体化されたプログラム・コードは、これらに限られるものではないが、無線、有線、光ファイバ・ケーブル、ＲＦ等、または上記のいずれかの適切な組み合わせを含む、いずれかの適切な媒体を用いて伝送することができる。
【００８７】
本発明の態様に関する操作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、ＳｍａｌｌＴａｌｋ、Ｃ＋＋等のようなオブジェクト指向型プログラミング言語、および、「Ｃ」プログラミング言語、アセンブラ、または同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語のいずれかの組み合わせで書くことができる。プログラム・コードは、完全にユーザのコンピュータ上で実行される場合もあり、スタンドアロンのソフトウェア・パッケージとして、一部がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、または完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、または外部コンピュータへの接続がなされる場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。
【００８８】
本発明の態様は、本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム製品のフローチャート図および／またはブロック図を参照して、本明細書で説明される。フローチャート図および／またはブロック図の各ブロック、並びにフローチャート図および／またはブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実装できることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートおよび／またはブロック図の１つ以上のブロックにおいて指定された機能／動作を実装するための手段を作り出すようにすることができる。
【００８９】
これらのコンピュータ・プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読ストレージ・デバイスまたはコンピュータ可読媒体内に格納し、それにより、複数のコンピュータ可読ストレージ・デバイスまたはコンピュータ可読媒体内に格納された命令が、フローチャートおよび／またはブロック図のブロックにおいて指定された機能／動作を実装する命令を含む製品を製造するようにすることもできる。
【００９０】
コンピュータ・プログラム命令はまた、コンピュータ、複数の他のプログラム可能データ処理装置、または他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、または他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上で実行される命令が、フローチャートおよび／またはブロック図のブロックにおいて指定された機能／動作を実行するためのプロセスを提供するようにもすることもできる。
【００９１】
本明細書で用いられる用語は、特定の実施形態を説明する目的のためのものにすぎず、本発明を限定することを意図したものではない。本明細書で用いられる場合、単数形「１つの（a）」、「１つの（an）」および「その（the）」は、文脈が特に明示しない限り、複数形も同様に含むことを意図したものである。「含む（comprise）」および／または「含んでいる（comprising）」という用語は、本明細書で用いられる場合、記述された特徴、整数、ステップ、動作、要素、および／またはコンポーネントの存在を指示するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および／またはそれらの群の存在または追加を排除するものではないこともさらに理解されるであろう。
【００９２】
下記の特許請求の範囲におけるすべての機能付き手段（ミーンズ・プラス・ファンクション）または機能付き工程（ステップ・プラス・ファンクション）の対応する構造、材料、動作、および均等物は、もしあれば、その機能を、明確に請求されている他の特許請求された要素と組み合わせて実行するためのあらゆる構造、材料、または動作を含むことが意図されている。本発明の説明は、例証および説明のために提示されたものであり、網羅的であることまたは本発明を開示された形態に限定することを意図したものではない。当業者には、本発明の範囲および趣旨から逸脱しない多くの修正および変形が明らかとなるであろう。実施形態は、本発明の原理および実際の適用を最も良く説明し、その他の当業者が企図される特定の使用に適した種々の修正を伴う種々の実施形態について本発明を理解できるように、選択され、説明された。
【符号の説明】
【００９３】
１００：データ処理システム
１０１、１０２、１０３、１０４、２３２、２３４、２３６、２３８：プロセッサ
１０６：システム・バス
１０８：メモリ・コントローラ／キャッシュ
１１０：Ｉ／Ｏバス・ブリッジ
１１２：Ｉ／Ｏバス
１１４、１２２、１３０、１４０：ＰＣＩホスト・ブリッジ
１１５、１２３、１３１、１４１：ＰＣＩローカル・バス
１１６、１２４、１３２、１４２：ＰＣＩ−ＰＣＩブリッジ
１１８、１１９、１２６、１２７、１３３、１４４、１４５、１９５：ＰＣＩバス
１２０、１２１、１２８、１２９、１３６：ＰＣＩ  Ｉ／Ｏアダプタ
１３４：ＪＴＡＧ／Ｉ２Ｃバス
１３５、２９０：サービス・プロセッサ
１４８：グラフィック・アダプタ
１４９：ハードディスク・アダプタ
１５０：ハードディスク
１６０、１６１、１６２、１６３、１９１：メモリ
１７０、１７１、１７２、１７３、１７４、１７５、１７６：Ｉ／Ｏスロット
１９０：ハードウェアＯＰ−パネル
１９３：ＰＣＩ／ＩＳＡブリッジ
１９４：サービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パススルー論理
１９６：ＩＳＡバス
２００：論理パーティション化プラットフォーム
２０２、２０４、２０６、２０８：オペレーティング・システム
２０３、２０５、２０７、２０９：パーティション
２０３Ａ：アプリケーション
２０５Ａ：データベース・アプリケーション
２０７Ａ：管理サービス
２０９Ａ：共有ツール
２１０：パーティション管理ファームウェア
２１１、２１３、２１５、２１７：パーティション・ファームウェア
２１２Ａ、２１２Ｂ、２１２Ｃ、２１４Ａ、２１４Ｂ、２１４Ｃ、２１６Ａ、２１８Ａ、３１２Ａ、３１２Ｂ、３１２Ｃ：仮想ネットワーク・インターフェース・カード（ＶＮＩＣ）
２２０Ａ：ドメイン・ネーム・サービス（ＤＮＳ）
２２０Ｂ、３０６、３０８、３１２：仮想ファイアウォールおよびルータ（ＶＦＷ／ルータ）
２２０Ｃ、３１０：プロキシ
２３０：パーティション化ハードウェア
２４０、２４２、２４４、２４６：システム・メモリ・ユニット
２４８、２５０、２５２、２５４、２５６、２５８、２６０、２６２：物理Ｉ／Ｏアダプタ
２７０：ストレージ・ユニット
２８０：ハードウェア管理コンソール
３００：ＶＭＥ部分
３０２：顧客ドメイン
３０４：仮想サーバ
３５２：共有ドメイン
Ｐ１、Ｐ２、Ｐ３：論理パーティション
【図１】
0006410735.tif 000002
【図２】
0006410735.tif 000003
【図３】
0006410735.tif 000004
【図４】
0006410735.tif 000005
【図５】
0006410735.tif 000006
【図６】
0006410735.tif 000007