(57)【要約】コンバージド・インフラストラクチャ・プラットフォームをデータ・センタ内において統合する方法および装置が提供される。その説明されている装置は、前記コンバージド・インフラストラクチャ上で動作する物理資源および仮想資源を、前記データ・センタのうちの他の部分と通信するように設定する。その説明されている装置は、さらに、システム管理者が、前記コンバージド・インフラストラクチャを工場出荷時状態に復元するために、そのコンバージド・インフラストラクチャの前記物理資源および仮想資源の構成(configurations、設定状況)をロールバックすることを可能とする。【選択図】図１
2015526830.tif 000002
【特許請求の範囲】
【請求項１】
統合コンピューティング・プラットフォームを既存のコンピューティング環境内にインストールする方法であって、
統合コンピューティング・プラットフォームを、その統合コンピューティング・プラットフォームの外部にある既存のコンピューティング環境内において動作する少なくとも１つのサービスと通信するように設定する(configure、環境設定する）設定工程であって、前記統合コンピューティング・プラットフォームは、複数の機能的コンポーネントを有するアプリケーションを含み、前記複数の機能的コンポーネントは、前記統合コンピューティング・プラットフォームの複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源を用いるものと、
前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を、前記統合コンピューティング・プラットフォームが、その統合コンピューティング・プラットフォームの外部にある前記既存のコンピューティング環境内において動作する前記サービスと通信するように設定される前の状態に復元する(restore)復元工程と
を含む方法。
【請求項２】
前記統合コンピューティング・プラットフォームは、前記アプリケーションの前記複数の機能的コンポーネントと、前記既存のコンピューティング環境内において動作する前記サービスとの間における通信を可能にするように設定される請求項１に記載の方法。
【請求項３】
さらに、
前記復元工程に先立って実行される生成工程および決定工程を含み、
前記生成工程は、前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源のスナップショットを生成し、そのスナップショットは、前記統合コンピューティング・プラットフォームの前記複数の資源の設定状態(a configuration state)を表し、
前記決定工程は、前記アプリケーションのインストール中に前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の上で実行される複数の設定オペレーション（configuration operations)を決定する（determine、選択してその内容を特定する)請求項１に記載の方法。
【請求項４】
前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源を復元する前記復元工程は、
前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源に対して行われた設定変更(a configuration change)を取り消す(undo)ための逆行オペレーション(an inverse operation)を決定する(determine、選択してその内容を特定する)工程を含む請求項１に記載の方法。
【請求項５】
前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を復元する前記復元工程は、
前記ネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の設定状態(a configuration state)を、その設定状態のスナップショットに基づいて復元する工程を含む請求項１に記載の方法。
【請求項６】
前記複数の仮想資源は、複数の仮想マシン（ＶＭ）を含み、それら仮想資源の各々を復元する前記復元工程は、
ＶＭがＶＭテンプレートから導出されると判定されたことに応答して、前記ＶＭを削除するとともに、前記ＶＭテンプレートの新しいインスタンスを生成する工程と、
ＶＭがＶＭテンプレートから導出されないと判定されたことに応答して、前記ＶＭのスナップショットを、複数のスナップショットのレポジトリから取り出すとともに、その取り出されたスナップショットに基づき、前記ＶＭの状態をリバートする(revert)工程と
を含む請求項１に記載の方法。
【請求項７】
前記複数の機能的コンポーネントは、複数の仮想マシンであって、仮想デスクトップ・インフラストラクチャの複数のアプリケーション・コンポーネントを実行するものを含む請求項１に記載の方法。
【請求項８】
統合コンピューティング・プラットフォームであって、
複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源であって、それら資源上において実行される複数の機能的コンポーネントを有するアプリケーションを含むものと、
管理サーバと
を含み、
その管理サーバは、
当該統合コンピューティング・プラットフォームを、その統合コンピューティング・プラットフォームの外部にある既存のコンピューティング環境内において動作する少なくとも１つのサービスと通信するように設定する(configure)ことと、
当該統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を、当該統合コンピューティング・プラットフォームが、その統合コンピューティング・プラットフォームの外部にある前記既存のコンピューティング環境内において動作する前記サービスと通信するように設定される前の状態に復元する(restore)ことと
を行うように構成される統合コンピューティング・プラットフォーム。
【請求項９】
当該統合コンピューティング・プラットフォームは、前記アプリケーションの前記複数の機能的コンポーネントと、前記既存のコンピューティング環境内において動作する前記サービスとの間における通信を可能にするように設定される請求項８に記載の統合コンピューティング・プラットフォーム。
【請求項１０】
前記管理サーバは、さらに、
前記復元に先立ち、当該統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源のスナップショットを生成するように構成され、そのスナップショットは、当該統合コンピューティング・プラットフォームの前記複数の資源の設定状態を表す請求項８に記載の統合コンピューティング・プラットフォーム。
【請求項１１】
前記管理サーバは、さらに、
前記復元に先立ち、前記アプリケーションのインストール中に当該統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の上で実行される複数の設定オペレーションを決定する(determine、選択してその内容を特定する)ように構成される請求項８に記載の統合コンピューティング・プラットフォーム。
【請求項１２】
前記管理サーバは、さらに、
当該統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源に対して行われた設定変更を取り消すための逆行オペレーションを決定する(determine、選択してその内容を特定する)ように構成される請求項８に記載の統合コンピューティング・プラットフォーム。
【請求項１３】
前記管理サーバは、さらに、
前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の設定状態を、その設定状態のスナップショットに基づいて復元するように構成される請求項８に記載の統合コンピューティング・プラットフォーム。
【請求項１４】
前記複数の仮想資源は、複数の仮想マシン（ＶＭ）を含み、
前記管理サーバは、さらに、
ＶＭがＶＭテンプレートから導出されると判定されたことに応答して、前記ＶＭを削除するとともに、前記ＶＭテンプレートの新しいインスタンスを生成し、
ＶＭがＶＭテンプレートから導出されないと判定されたことに応答して、前記ＶＭのスナップショットを、複数のスナップショットのレポジトリから取り出すとともに、その取り出されたスナップショットに基づき、前記ＶＭの状態をリバートする(revert)ように構成される請求項８に記載の統合コンピューティング・プラットフォーム。
【請求項１５】
前記複数の機能的コンポーネントは、複数の仮想マシンであって、仮想デスクトップ・インフラストラクチャの複数のアプリケーション・コンポーネントを実行するものを含む請求項８に記載の統合コンピューティング・プラットフォーム。
【請求項１６】
複数の指令を含むコンピュータ読み取り可能記憶媒体であって、
前記複数の指令は、コンピューティング・デバイスによって実行されると、複数の工程を実行することにより、統合コンピューティング・プラットフォームを既存のコンピューティング環境内にインストールし、そのインストールのために、
統合コンピューティング・プラットフォームを、その統合コンピューティング・プラットフォームの外部にある既存のコンピューティング環境内において動作する少なくとも１つのサービスと通信するように設定する設定工程であって、前記統合コンピューティング・プラットフォームは、複数の機能的コンポーネントを有するアプリケーションを含み、前記複数の機能的コンポーネントは、前記統合コンピューティング・プラットフォームの複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源を用いるものと、
前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を、前記統合コンピューティング・プラットフォームが、その統合コンピューティング・プラットフォームの外部にある前記既存のコンピューティング環境内において動作する前記サービスと通信するように設定される前の状態に復元する復元工程と
が実行されるコンピュータ読み取り可能記憶媒体。
【請求項１７】
前記オペレーションは、さらに、前記復元工程に先立って実行される生成工程および決定工程を含み、
前記生成工程は、前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源のスナップショットを生成し、そのスナップショットは、前記統合コンピューティング・プラットフォームの前記複数の資源の設定状態を表し、
前記決定工程は、前記アプリケーションのインストール中に前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の上で実行される複数の設定オペレーションを決定する(determine、選択してその内容を特定する)請求項１７に記載のコンピュータ読み取り可能記憶媒体。
【請求項１８】
統合コンピューティング・プラットフォームであって、
統合コンピューティング・プラットフォームを、その統合コンピューティング・プラットフォームの外部にある既存のコンピューティング環境内において動作する少なくとも１つのサービスと通信するように設定する設定手段であって、当該統合コンピューティング・プラットフォームは、複数の機能的コンポーネントを有するアプリケーションを含み、前記複数の機能的コンポーネントは、前記統合コンピューティング・プラットフォームの複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源を用いるものと、
前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を、当該統合コンピューティング・プラットフォームが、その統合コンピューティング・プラットフォームの外部にある前記既存のコンピューティング環境内において動作する前記サービスと通信するように設定される前の状態に復元する復元手段と
を含む統合コンピューティング・プラットフォーム。
【請求項１９】
さらに、
前記復元に先立ち、当該統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源のスナップショットを生成する生成手段であって、そのスナップショットは、当該統合コンピューティング・プラットフォームの前記複数の資源の設定状態を表すものと、
前記復元に先立ち、前記アプリケーションのインストール中に当該統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の上で実行される複数の設定オペレーションを決定する(determine、選択してその内容を特定する)決定手段と
を含む請求項１８に記載の統合コンピューティング・プラットフォーム。
【請求項２０】
さらに、
前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の設定状態を、その設定状態のスナップショットに基づいて復元する復元手段を含む請求項１８に記載の統合コンピューティング・プラットフォーム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明のいくつかの具体例は、概略的には、コンピューティング・ブロック・プラットフォーム(computing block platform、計算ブロック基礎技術、コンピューティングのためにブロック化されたプラットフォーム)を既存のデータ・センタ(data center、コンピュータやデータ通信などの装置を設置・運用することに特化した施設の総称）)内にインストールする(install、ハードウエアにソフトウエアを追加し、必要な設定を行い、動作可能な状態にする）方法に関する。
【背景技術】
【０００２】
一般に、１つの仮想コンピュータ環境(a vritualized computer embironment、仮想化コンピュータ環境)においては、複数の仮想マシン(virtual machine）が、１台または複数台のホスト・コンピュータ上で動作する(run)ように構成される。各仮想マシンは、それらホスト・コンピュータのいずれか１つのＣＰＵ・メモリ資源(CPU and memory resources、ＣＰＵおよびメモリに関する複数の資源）を用いるとともに、自身のオペレーティング・システムおよび複数のアプリケーション・プログラムを、見掛け上、各仮想マシンが１つのスタンドアローン型(stand-alone、自立型）のコンピュータ・システムとして動作する(operate)ように、動作させる。１台のホスト・コンピュータ上における前記複数の仮想マシンの各々のために(for、ごとに、について）プロビジョンされる(provisioned、準備されて割り当てられる）複数のＣＰＵ・メモリ資源の量は、前記仮想コンピュータ環境の管理者(administrator)によって指定することが可能である。いくつかの仮想環境(virtualized environment、仮想化環境）においては、異なる複数のホスト・コンピュータ上での資源の稼働率(usage、利用状況）を監視するソフトウエアにより、負荷分散(load balancing)が、複数のホスト・コンピュータの間において横断的に(across)実施される。この種のソフトウエアにより、複数の仮想マシンが１台のホスト・コンピュータから別のホスト・コンピュータに、例えば、作業負荷が高い(busy）ホスト・コンピュータから余剰の能力を有する(has excess capacity、余力のある）ホスト・コンピュータに移行させられる(migrate)。
【０００３】
さらに、複数のソフトウエア・アプリケーションの開発、試験(testing、実証）および配備(deployment、ソフトウエア・アプリケーションを利用できるように実際の運用環境に展開すること、これから実行すべきソフトウエア・アプリケーションの構成を、それが実行されるべき環境に適合するように変更すること、ソフトウエアシステムを利用可能にする活動全般、デプロイメント、例えばインストール）に関与している複数の企業は、目標のプラットフォームの多くのレイヤに対処することが必要である。それらレイヤは、アプリケーション・サービス、バーチャライゼーション(virtualization、仮想化）、およびハードウエア・インフラストラクチャを含み、コンピュート（compute、計算資源）、ストレージ(storage、記憶資源）およびマネージメント(management、管理資源）をすべてのレベルにおいて有する。情報技術(IT)および工業化(engineering)に関与する複数のグループ(groups、人達、団体）は、さらに、それらレイヤがシームレスに一緒に動作することを確保することに加えて、継続中の管理(ongoing management、運営を維持するための管理、運用・管理）を獲得し(acquire、確保し)、配備し(deploy)、そして提供する(provide)ことも行う。そのため、企業の初期コストおよび運用コスト(ongoing cost、運営コスト、運用管理コスト)が増加し、開発サイクルが長期化し、そして、市場の変化に応えるために必要な柔軟性が低下してしまう。
【０００４】
さらに、企業内での情報技術（ＩＴ）のための従来のいくつかの役割(role、担当者、ＩＴ担当者）であって、サーバ管理者(administrator)、ＵＮＩＸ（登録商標）管理者、ネットワーク、ストレージまたはエクスチェンジ(exchange、電子メール交換、メッセージ交換)のための管理者(administrator)のようなものは、これまで、概して動きがない状態(static、静的な状態)にあった。それら役割は、互いに孤立して、すなわち、「サイロ(silos)」と称される状態で仕事をし、そのような仕事の仕方が原因で、複数人の開発者とＩＴ（情報技術）との間での軋轢(friction)をはじめ、複数のＩＴ関連組織(IT organizations)内での軋轢(friction)が発生する。さらに、複数人の開発者によって開発された複数のアプリケーションが「複数のクラウド・アプリケーション」として配備される場合には、それら開発者がＩＴ管理者という役割を果たすことは困難である。この困難さは、デフォールトの挙動が前記複数の資源へのアクセスを拒否するというものである場合には、種々のアクセス−コントロール、認証(authentication)および認可(authorization、承認)に関する複雑さのみならず、複数人の開発者とＩＴとの間で組織を分離するために採用されるモデルにも依拠する。
【０００５】
したがって、コンピューティング・インフラストラクチャを管理するためのオペレーショナル・モデル(operational model、運用モデル)であってより高い効率を有するものが要望される。
【発明の概要】
【０００６】
この書類に開示されているもののいくつかの具体例によれば、統合(integrated）コンピューティング・プラットフォームを既存のコンピューティング環境内にインストールする方法が提供される。この方法は、統合コンピューティング・プラットフォームを、その統合コンピューティング・プラットフォームの外部にある既存のコンピューティング環境内において動作する少なくとも１つのサービスと通信するように設定する設定工程を含む。前記統合コンピューティング・プラットフォームは、複数の機能的コンポーネントを有するアプリケーションを含み、前記複数の機能的コンポーネントは、前記統合コンピューティング・プラットフォームの複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源を用いる。この方法は、さらに、前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を、前記統合コンピューティング・プラットフォームが、その統合コンピューティング・プラットフォームの外部にある前記既存のコンピューティング環境内において動作する前記サービスと通信するように設定される前の状態に復元する復元工程を含む。
【０００７】
この書類に開示されているもののいくつかの具体例によれば、統合(integrated）コンピューティング・プラットフォームが提供される。この統合コンピューティング・プラットフォームは、複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源であって、それら資源上において実行される(executing)複数の機能的コンポーネントを有するアプリケーションを含む。この統合コンピューティング・プラットフォームは、管理サーバを含み、その管理サーバは、前記統合コンピューティング・プラットフォームを、その統合コンピューティング・プラットフォームの外部にある既存のコンピューティング環境内において動作する少なくとも１つのサービスと通信するように設定するように構成される。その管理サーバは、さらに、前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を、前記統合コンピューティング・プラットフォームが、その統合コンピューティング・プラットフォームの外部にある前記既存のコンピューティング環境内において動作する前記サービスと通信するように設定される前の状態に復元するように構成される。
【０００８】
この書類に開示されているもののいくつかの具体例によれば、複数の指令を含むコンピュータ読み取り可能記憶媒体であって非過渡的であるものであって、前記複数の指令は、コンピューティング・デバイス内において実行される(executed)と、統合(integrated）コンピューティング・プラットフォームを既存のコンピューティング環境内にインストールし、そのインストールのために、統合コンピューティング・プラットフォームを、その統合コンピューティング・プラットフォームの外部にある既存のコンピューティング環境内において動作する少なくとも１つのサービスと通信するように設定する設定工程を実行する(perform)。前記統合コンピューティング・プラットフォームは、その統合コンピューティング・プラットフォームの複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源を用いる複数の機能的コンポーネントを有するアプリケーションを含むことが可能である。前記複数の指令は、実行される(executed)と、さらに、前記統合コンピューティング・プラットフォームの前記複数のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の各々を、前記統合コンピューティング・プラットフォームが、その統合コンピューティング・プラットフォームの外部にある前記既存のコンピューティング環境内において動作する前記サービスと通信するように設定される前の状態に復元する復元工程を実行する(perform)。
【図面の簡単な説明】
【０００９】
本発明のいくつかの特徴であって上述されたものが詳細に理解され得るように、簡単に説明された本発明についてのより具体的な文章による説明が、いくつかの実施形態を参照することによって行われ、それら実施形態のうちの一部が、添付された複数枚の図面に示されている。しかし、注目すべきことは、それら添付された図面は、本発明の典型的ないくつかの実施態様のみを示しており、よって、本発明の範囲を限定するものと考えるべきではないということであり、なぜなら、本発明は、同様に効果的である他のいくつかの実施形態を包含して(admit to)もよいからである。
【００１０】
【図１】図１は、仮想環境を提供するように構成された統合(integrated）コンピューティング・プラットフォームであって一実施形態に従うものを示している。
【００１１】
【図２】図２は、図１の統合コンピューティング・プラットフォームのアプリケーション別配備(application-specific deployment、個々の具体的なアプリケーションを実際に使用される環境内に配備するアプリケーション・デプロイメント、アプリケーションごとにそれぞれ特化された内容の配備作業)であって一実施形態に従うものを示している。
【００１２】
【図３】図３は、統合コンピューティング・プラットフォームを既存のコンピューティング環境内に配備する方法の複数のステップ(step、工程）であって一実施形態に従うものを示すフロー図である。
【００１３】
【図４】図４は、統合コンピューティング・プラットフォームの状態をキャプチャする方法の複数のステップ(step、工程）であって一実施形態に従うものを示すフロー図である。
【００１４】
【図５】図５は、既存のデータ・センタ内にインストールされる統合コンピューティング・プラットフォームに対して行われた設定変更(configuration changes)を復元する方法の複数のステップ(step、工程）であって一実施形態に従うものを示すフロー図である。
【００１５】
【図６】図６は、あるアプリケーションの実行中に統合コンピューティング・プラットフォームの状態をリセットするワークフローであって一実施形態に従うものを示す状態図である。
【００１６】
【図７】図７は、あるアプリケーションを図１の統合コンピューティング・プラットフォーム内に配備するための例示的な１つのオペレーションであって一実施形態に従うものを示している。
【００１７】
【図８】図８は、複数のコンピュータ資源上のあるアプリケーションを仮想環境内に配備する方法であって一実施形態に従うものを示すフロー図である。
【００１８】
【図９】図９は、コンピューティング・プラットフォームであって自身上で実行されるアプリケーションを有するものを既存のコンピューティング環境内に統合する方法であって一実施形態に従うものを示すフロー図である。
【００１９】
【図１０】図１０は、図２のコンピューティング・プラットフォームを既存のデータ・センタ内において統合するための例示的なワークフローであって一実施形態に従うものを示している。
【００２０】
理解を助けるために、前記複数枚の図面に共通である同一の要素を示すために、同一の符号が、可能である限り、用いられる。考慮されることは、ある実施形態において開示された要素が、特記なしで、他のいくつかの実施形態において効果的に用いられることが可能であるということである。
【発明を実施するための形態】
【００２１】
この書類に開示されているもののいくつかの実施形態は、コンピューティング・ブロック・プラットフォーム(computing block platform、計算ブロック基礎技術、コンピューティングのためにブロック化されたプラットフォーム)であって、コンバージド・インフラストラクチャ(converged infrastructure、統合インフラストラクチャ、統合基盤、統合コンピューティング・プラットフォーム）と称されることがあるものを用いており、そのコンバージド・インフラストラクチャは、ＩＴストラクチャを、コンピューティング・キャパシティ、ストレージ・キャパシティおよびネットワーキング・キャパシティはもとより仮想化されたフィジカルより成る１つのプール(a pool、１つのパッケージ）に統合するものであり、そのプールは、複数のアプリケーションによって共有され、方向性が異なる複数のビジネスが、サイロ型のアーキテクチュアおよびＩＴスプロール(IT sprawl、ＩＴの無計画な拡大）という問題に対処するために提案されてきている。ある企業がコンバージド・インフラストラクチャ・プラットフォームを使用する場合、その企業は、その新しいコンバージド・インフラストラクチャ・プラットフォームを、データ・センタのような既存の任意のコンピューティング・インフラストラクチャ内において統合する(integrate、合体させる、インテグレートする、複数の異なるコンポーネントを組み合わせ、一体として機能するようにする、コンバージド・インフラストラクチャ・プラットフォームの構成を、既存の任意のコンピューティング・インフラストラクチャと相互作動性を有するように、設定する）ことの困難性に直面する可能性がある。ある企業がコンバージド・インフラストラクチャ・プラットフォームを使用することが可能である段階の前段階においては、前記コンバージド・インフラストラクチャ・プラットフォームの「内部」に存在する複数の物理資源（例えば、ブレード・サーバ(blade server、複数のブレードすなわち基板より成るサーバ）、ネットワーク・スイッチ、ストレージ）および複数の仮想マシンを、前記コンバージド・インフラストラクチャ・プラットフォームの「外部」に存在する複数の物理資源および複数の仮想マシンと通信するとともに、その逆向きの通信を行うように設定することが必要である。さらに、コンバージド・インフラストラクチャ・プラットフォームを、複数の機能的コンポーネントを有するアプリケーション（例えば、複数の仮想マシン上で動作するもの）を実行するように設定することが可能である。それら機能的コンポーネントのうちの少なくとも一つが、前記コンバージド・インフラストラクチャ・プラットフォームの外部において動作する(running)既存の複数のサービス(services、プログラムなど）に依存することが可能であり、また、それら機能的コンポーネントのうちの少なくとも一つを、前記既存のデータ・センタ内で動作する(running)複数の任意の必要なサービス(any required services、プログラムなど）と通信するように設定することが必要である。
【００２２】
したがって、コンバージド・インフラストラクチャ・プラットフォームであってそれにあるアプリケーションがロード済みである(pre-loaded)ものをインストールするためには、前記コンバージド・インフラストラクチャ・プラットフォームのネットワーキング資源、ストレージ資源およびコンピューティング資源に対して多くの変更点を加えることが必要である可能性がある。例えば、前記コンバージド・インフラストラクチャ・プラットフォーム内のネットワークは、データ・センタにおいて既に機能しているネットワークを理解し、そのデータ・センタのネットワークのセットアップ(setup、設定、設定条件）を前記コンバージド・インフラストラクチャ・プラットフォーム内に展開し(extend into、前記コンバージド・インフラストラクチャ・プラットフォームのネットワーク構成を前記データ・センタのネットワーク構成と統合し)、そして、前記コンバージド・インフラストラクチャ・プラットフォームと、前記データ・センタ内のネットワークのうち残りの部分との間での通信を可能にすることが必要である。インストールを完了するために、前記コンバージド・インフラストラクチャ・プラットフォームが、複数の新しい仮想マシンの変更および複数の既存の仮想マシンの設定値(settings、初期設定、パラメータなど)の編集を始めとして、複数の新しいＶＬＡＮおよび複数の新しいポート・グループ(port group、設定が共通の複数のポートの集まり）の生成を行うことが可能である。
【００２３】
しかし、前記インストールが失敗すると（例えば、既存のデータ・センタのネットワークに接続できないと）、前記システムに対してなされた変更点を、前記インストールがきれいな状態(clean state、変更のない状態）から再開されるように「ロールバック(rollback、後進復帰、巻戻し）」することが望ましい可能性がある。したがって、この書類に開示されているもののいくつかの実施形態によれば、管理アプリケーション(administrative application)であって、アプリケーションのための設定(configuration、環境設定、システムの環境変数の指定、コンフィギュレーション、物理／論理構成の設定、設定作業）の前および後に、前記コンバージド・インフラストラクチャの前述の種々の資源（例えば、ネットワーキング資源、ストレージ資源、コンピューティング資源、仮想資源）のスナップショット(snapshots、プログラムやデータのファイルを特定のタイミングで取得して保存したもの)を生成するものが提供される。その管理アプリケーションは、上述のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源の複数の構成(configurations、設定状況、環境設定状態、構成態様、設定値、コンフィギュレーション値）を復元するロールバック・オペレーションを開始する可能性がある。前記アプリケーション(the application、今回のアプリケーション）のロールバックすなわちリセットは、前記仮想インフラストラクチャ（例えば、複数の仮想マシン）についての取得済の(known、既知の)スナップショットへのリバート(reverting、復帰）のみならず、複数の物理資源のためのスペースを将来のニーズに備えて確保する(free up)ためのそれら物理資源の設定変更(configurations changes)のロールバックをも意味する。
【００２４】
さらに、上述のようなコンバージド・インフラストラクチャ上のあるアプリケーションを手動で配備することは、エラーが発生し易いことであり、なぜなら、そのような行為は、一般に、前記コンバージド・インフラストラクチャと、配備されるべきその特定のアプリケーションとの双方について実際に役立つ知識(working knowledge、対象物を動作させるために必要な知識であって他の知識を必要としないもの)を必要とするからである。したがって、この書類に開示されているいくつかの実施形態は、それぞれが複数の機能的コンポーネントを有する複数のアプリケーションであってそれらアプリケーション自体、複雑な設定(configuration、環境設定作業、物理／論理構成の設定、設定作業、コンフィギュレーション)およびセットアップ(set up、設定作業、準備作業)を必要とするかもしれないものを配備するために、パッケージ型アプリケーション・デリバリ・メカニズム(packaged application delivery mechanism、パッケージ型アプリケーション配信メカニズム、パッケージ型アプリケーション（ウェブ・アプリケーションを構成する複数のファイルをパッケージにして一つにまとめたもの）を配信するメカニズム）を有する。例えば、一実施形態においては、決定論アプローチ(deterministic approach)が、複数の資源を、アプリケーションごとに、前記コンピューティング・ブロック・プラットフォームから選択される複数の資源より成るプールの範囲内で割り当てるために用いられる。前記アプリケーションは、前記割り当てられた複数の資源上にアプリケーション層として配置される(laminated、積層される、多層化される）とともに、事前にパッケージ化された(pre-packaged)状態で配信されることが可能である。前記パッケージ型アプリケーション・デリバリ・メカニズムは、利用可能な複数のコンバージド・インフラストラクチャ資源より成る１つのセットを発見し、前記コンピューティング・ブロック・プラットフォーム内に配備される予定の所与のアプリケーション(a given application、予め用意された、予め想定された１つのアプリケーション)に必要な複数の資源を決定する。このパッケージ型アプリケーション・デリバリ・メカニズムは、複数のサービス、複数の機能的コンポーネント、複数の層(tiers)、複数のノード(nodes)などであって、前記割り当てられた複数のサービスより上方に位置する前記アプリケーション層によって要求されるものを配備するモデルを提供する。
【００２５】
さらに、コンバージド・インフラストラクチャ・プラットフォームは、複数の機能的コンポーネントを有するアプリケーション(an application、１つのアプリケーション）を実行する(run、動作させる)ための設定が既に完了している(pre-configured、設定済み）ものである可能性がある。それら機能的コンポーネントのうちの少なくとも一つは、前記コンバージド・インフラストラクチャ・プラットフォームの外部において動作する(running)既存の複数のサービスに依存する可能性がある。したがって、前記コンバージド・インフラストラクチャ・プラットフォームの内部において動作する(running)特定のいくつかの機能的コンポーネントは、既存のデータ・センタ内において（例えば、前記コンバージド・インフラストラクチャ・プラットフォームの外部において）動作する(running)複数の任意の必要なサービス(any required services)と通信するように設定されることが必要である。この書類に開示されているいくつかの実施形態は、既存のコンピューティング環境（例えば、前記データ・センタ）を記述するインフラストラクチャ・テンプレートを用いる。前記コンバージド・インフラストラクチャ・プラットフォームは、前記インフラストラクチャ・テンプレート内において特定される(specifiy)情報を用い、その目的は、前記コンバージド・インフラストラクチャ・プラットフォームと前記データ・センタのうちの残りの部分との間での通信を可能にするために、前記コンバージド・インフラストラクチャ・プラットフォームの複数の物理資源および複数の仮想資源（例えば、複数のＶＭ）を設定する(configure)ことにある。したがって、この書類に開示されているいくつかの実施形態によれば、コンバージド・インフラストラクチャの複数のコンポーネントをデータ・センタのサービスに統合する(integrate with、合体させる、と一体化する、インテグレートする)のに必要な時間が短縮される。さらに、この書類に開示されているいくつかの実施形態によれば、複数のネットワーク資源および複数のセキュリティ・サービスの設定中にエラーが発生するリスクが軽減される。
【００２６】
図１は、統合コンピューティング・プラットフォーム１０２であって、仮想化環境を実現するように構成されるとともに、この書類に開示されているものの一実施形態に従うものを示している。システム管理者(system administrator、システム・アドミニストレータ）１５０は、統合コンピューティング・プラットフォーム１０２を既存のコンピューティング環境（例えば、データ・センタ１００）内に配備することを希望する。そのデータ・センタ１００は、複数のサーバ（サーバ１０４１，１０４２，１０４Ｍとして図示されている）であって１または複数のサービス(service、プログラムなど）１０６を実行す(run)ものを有することが可能である。認識すべきことは、それらサーバ１０４は、従来のコンピューティング・コンポーネント（例えば、プロセッサ、メモリ、ストレージ）を有してもよいし、または、そのような物理ハードウエア上で実行される複数の仮想マシン（ＶＭ）であってもよいということである。それらサーバ１０４上で動作する(run)複数のサービス１０６は、前記データ・センタ内において１または複数のＩＴ機能部(IT functions)を提供し、それらＩＴ機能部は、ディレクトリ・サービス、ウェブ・サーバ、データベース・サーバ、アカウンティング、アプリケーション・サービング、ファイル管理、ストレージ、バックアップ・サービスなどを含む。後に詳述するように、システム管理者１５０は、統合コンピューティング・プラットフォーム１０２を、前記複数の物理資源および前記複数の仮想資源（例えば、複数のＶＭ）であって統合コンピューティング・プラットフォーム１０２の内部において動作するものが既存のデータ・センタ１００の複数のサービス１０６と通信するように、配備することを希望する。
【００２７】
図示されているように、コンピューティング・プラットフォーム１０２は、仮想化インフラストラクチャ１２０をサポートするように構成された物理インフラストラクチャ１１０を有する。図１に示すこの実施態様においては、物理インフラストラクチャ１１０が、複数のサーバ１１６１ないし１１６Ｎ（それらは「ホスト」と称されることがある）のような複数のハードウエア資源と、ＳＡＮ１１８のような、１または複数のストレージ・アレイ・ネットワーク（ＳＡＮ）とを有し、それらハードウエア資源とストレージ・アレイ・ネットワーク（ＳＡＮ）とは、ネットワーク１１４によって互いに接続される。仮想化インフラストラクチャ１２０は、仮想化環境１２４であって、それ自身、１または複数の仮想マシン１４０を有するものを有することが可能である。コンピューティング・プラットフォーム１０２は、他の複数のコンピューティング・システム、例えば、複数のワークステーション、複数のパーソナル・コンピュータ、複数のデータ・センタ・サーバのようなものに、インターネットのようなネットワーク１２８を介して接続されることが可能である。一実施態様においては、コンピューティング・プラットフォーム１０２を構成する複数のコンポーネント（例えば、サーバ、ネットワーク、ストレージ、ソフトウエアなど）が、単一の統合フレームワークであって「コンバージド・インフラストラクチャ」と称されることがあるものに組織化されることが可能である。コンピューティング・プラットフォーム１０２を構成する前記複数のコンポーネントにより、仮想サーバ、仮想ストレージおよび仮想ネットワーク資源であって１つの企業内における複数のアプリケーションおよび／または複数の組織体によって共有されるものより成る１つのプールが提供される。
【００２８】
一実施態様によれば、物理インフラストラクチャ１１０を、「コンピューティング・ブロック」ベーズド(based、を基礎とする、系、関連)インフラストラクチャに組織化することが可能であり、ここに、複数の物理インフラストラクチャ・ユニットが、構成上の反復単位（repeatable units of construction、他の構成単位と接続されて一緒に動作することが可能な構成単位、相互作動性を有する複数の構成単位）によって特徴付けられ、それら反復単位は、性能と、動作特性と、パワー、スペースおよび冷却についてのディスクリートな複数の要求値とに関して互いに類似し、それにより、迅速な配備(deployment)、統合(integration)およびスケーラビリティを促進する。例えば、前記「コンピューティング・ブロック」は、物理インフラストラクチャ１１０上に置かれた複数の性能要求に基づき、複数のハードウエア資源のプロビジョン(provision、デバイスを運用可能な状態にするためのあらゆる作業、運用可能にするための準備)をダイナミックに(dynamically、動的に、状況に応じて変化する特性で）行うことが可能である。物理インフラストラクチャ１１０の一例は、VCE Company, LLC.（ブイシーイー  カンパニー  エルエルシー)から市販されているVblock（登録商標）Systemである。
【００２９】
物理インフラストラクチャ１１０は、さらに、インフラストラクチャ・マネージャ(manager、インフラストラクチャの種々の運用状態を統合管理するソフトウエア）１１２を有しており、そのインフラストラクチャ・マネージャ１１２は、物理インフラストラクチャ１１０の設定(configuration)と、プロビジョニング(provisioning、運用化のための準備)と、ポリシー・コンプライアンス(policy compliance、ポリシー（要望）の順守）とのそれぞれの管理を行うように構成されている。インフラストラクチャ・マネージャ１１２は、複数のハードウエア資源（例えば、コンピューティング資源、ネットワーキング資源、ストレージ資源）のプロビジョニングを管理するためのインタフェースを、ポリシー・ベーズド・オートメーション・アプローチ(policy-based automation、ポリシー（要望）駆動の自動化、ポリシーベースの自動化)を用いて提供する。一実施態様によれば、インフラストラクチャ・マネージャ１１２は、個別の複数のコンピューティング・ブロックのそれぞれの設定(configuration）と、プロビジョニング(provisioning、運用化のための準備)と、コンプライアンスとをそれぞれ管理するために、物理インフラストラクチャ１１０の各ユニット内に搭載されることが可能である。インフラストラクチャ・マネージャ１１２は、ＩＴサービス・カタログ（IT service catalogs、顧客向けに利用可能なＩＴサービスの一覧）およびワークフロー・エンジン(workflow engines、ルート上のフローを管理するソフトウエア・アプリケーション）への配備および統合を単純化し、さらに、トラブルシューティングおよびフォールト管理のために複数の個々のコンポーネントへの緻密なアクセス(granular access)を提供しつつ、前記プロビジョニングの全工程を抽象化することにより、コンピューティング・ブロック・プラットフォームの配備を劇的に単純化する。
【００３０】
一実施態様においては、インフラストラクチャ・マネージャ１１２が、複数のＩＰアドレスおよびシステム証明書(credentials、認証)から成るリストを、新たにプロビジョンされたシステムを割り当てるために有する構成(a configuration)を有することが可能である。プラットフォーム・マネージャ１３０および／または仮想化インフラストラクチャ１２０は、物理インフラストラクチャ１１０の管理および／または設定のために、物理インフラストラクチャ１１０のインフラストラクチャ・マネージャ１１２に接続されて通信することが可能である。インフラストラクチャ・マネージャの一例は、EMC Ionix Unified インフラストラクチャ・マネージャ(UIM)であってＥＭＣコーポレーションから市販されているものを有する。同様に、ネットワーク１１４は、ネットワーク・マネージャを有することが可能であり、そのネットワーク・マネージャは、複数のネットワーク・デバイス（例えば、複数のスイッチ、複数のルータ）の設定と、複数の仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）および他のネットワークについて、アドレッシング(addressing、アドレス割り当て）、複数のサブネット（subnets)、および複数の構成(configurations)を管理することとを行うように構成される。ネットワーク・マネージャの一例は、Cisco System, Inc.から市販されているCisc IOS コマンド・ライン・インタフェース(CLI)を介してアクセス可能なCisco Switchを有する。
【００３１】
仮想化インフラストラクチャ１２０は、バーチャライゼーション環境(virtualization environment、仮想化を行う環境、仮想化実現環境）１２４を有し、そのバーチャライゼーション環境１２４は、１つの従来のコンピューティング・デバイスの複数のコンポーネント、例えば、プロセッサ、システム・メモリ、ハード・ディスク・ドライブを、１または複数の仮想マシン１４０を実行するために模擬する（すなわち、仮想化する）ように構成されている。例えば、各仮想マシン１４０は、仮想プロセッサおよび仮想システム・メモリであってあるアプリケーションを実行するように構成されたものを有することが可能である。図１の実施態様と同様な実施態様の一実施例においては、バーチャライゼーション環境(virtualization environment）１２４が、サーバ１１６１ないし１１６ｎ上にあるVMware vSphere（登録商標）ベーズドまたはVMware ESX（登録商標）ベーズドのハイパーバイザ(hypervisor)技術であってカリフォルニア州パロ・アルトに所在のVMware, Inc.によって提供されたものを動作することによって実現することが可能である（ただし、認識すべきことは、他の任意の仮想化技術であって、Xen（登録商標）およびマイクロソフト社のHyper-V仮想化技術を有するものを、この書類での教示に適合するように利用することが可能であるということである）。上述のように、ハイパーバイザ・アプリケーションは、仮想化インフラストラクチャ１２０のような仮想化ＩＴインフラストラクチャを構築するとともに管理するファンデーション(a foundation、基礎)を提供することが可能である。そのハイパーバイザは、プロセッサ、メモリ、ストレージおよびネットワーキング資源を、複数の仮想マシンであって、変更されていない(unmodified、未修正の)複数のオペレーティング・システムおよび変更されていない(unmodified、未修正の)複数のアプリケーションを動作させるものに抽象化する(abstract、仮想化する）ことが可能である。
【００３２】
一実施態様においては、仮想化インフラストラクチャ１２０を、バーチャライゼーション・マネージャ(virtualization manager、仮想化を行うマネージャ、仮想化実行マネージャ）１２２（例えば、一実施態様においては、１つの仮想マシン内で動作するプロセスとして実現される）によって管理することが可能である。一実施態様においては、バーチャライゼーション・マネージャ１２２が、複数のサードパーティ(third-party)管理ツールと統合することを可能にする複数のＡＰＩより成る１つのセットにより、エンドツーエンド(end-to-end、通信を行う二者間、通信を行う二者間を接続する経路全体）のデータセンタ管理を実現することが可能である。バーチャライゼーション・マネージャ１２２は、仮想化インフラストラクチャ１２０内の複数のＶＭ１４０のプロビジョンを管理することと、複数のＶＭ１４０を、それらＶＭ１４０のコンピューティング、ネットワークおよびストレージのそれぞれの構成(configurations、構成条件、設定状況）が仮想化インフラストラクチャ１２０内において他の複数のＶＭ１４０との間で相互作動性(interoperability)を有するのに適したものとなるように設定することとを行うように構成する(configure）ことが可能である。バーチャライゼーション・マネージャ１２２の一例は、VMware vCenter仮想化マネージメント・プラットフォームであってVMware, Inc.から市販されているものである可能性がある。
【００３３】
図示されているように、コンピューティング・プラットフォーム１０２は、さらに、プラットフォーム・マネージャ１３０をも有し、そのプラットフォーム・マネージャ１３０は、仮想化インフラストラクチャ１２０と物理インフラストラクチャ１１０とに前記通信ネットワークを介して接続される。そのプラットフォーム・マネージャ１３０は、あるアプリケーションをコンピューティング・プラットフォーム１０２内に配備するために用いられる物理インフラストラクチャ１１０および仮想化インフラストラクチャ１２０からの(from、から生成される）複数の資源のプロビジョンおよび設定(configure)を行うように構成されている。例えば、仮想化インフラストラクチャ１２０が、ピーク・トラフィック(peak traffic、最繁通信期間、通信量最大期間）の間、現在動作しているアプリケーションのスケーリング(scale、そのアプリケーションのサイズを増加させたり減少させたりして調整すること)を行うために、更なる複数のＶＭを要求する場合には、プラットフォーム・マネージャ１３０は、バーチャライゼーション・マネージャ１２２と連携する(coordinate)することが可能であり、その目的は、更なる複数の仮想マシンを、そのようなニーズをサポートするためにインスタント化する(instantiate)とともに、そのインスタント化された複数の仮想マシンを、それらのネットワーク設定条件(settings)が既存の仮想マシンのネットワーク設定条件に合致するように、設定することにある。別の例においては、プラットフォーム・マネージャ１３０が、既存のＶＭ１４０を修正する(modify)ことが可能であり、その目的は、仮想ネットワーク・インタフェース・カード（vNIC)のような複数の仮想資源であって前記ＶＭに割り当てられたものの追加、削除または設定を行うことにある。
【００３４】
図示されているように、プラットフォーム・マネージャ１３０は、スナップショット・サービス(snapshot service、スナップショットを作成して保存するプログラムなど）１３２を有し、そのスナップショット・サービス１３２は、コンピュータ・プラットフォーム１０２の複数の資源であって、ネットワーキング資源（例えば、ネットワーク１１４）、ストレージ資源（例えば、ＳＡＮ１１８）、コンピューティング資源（例えば、サーバ１１６）および仮想資源（例えば、ＶＭ１４０）を有するもののすべてのレベルの全体にわたり、コンピュータ・プラットフォーム１０２の設定状態(a configuration state、構成状態)を保存するように構成されている。一実施態様においては、スナップショット・サービス１３２が、前記設定状態を、ネットワーキング、ストレージ、コンピューティングおよび仮想マシンの、それぞれの「スナップショット」１３８として保存することが可能である。スナップショット１３８のタイプは、キャプチャされた（captured、スナップショットが取得されて保存された、取り込まれた)資源のタイプに応じて異なることが可能である。例えば、ＶＭ１４０のスナップショットは、ＶＭの状態をカプセル化したコンテナ・ファイル(container file、コンテナに格納されて構成されたファイル)であって、文書およびデータ、ならびに、それの仮想ハードウエア（例えば、ＣＰＵ、メモリ、ディスクなど）についての情報を有するもの、コンテナ・ファイルへのレファレンスもしくはリンク、または、１もしくは複数のコンテナ・ファイル間の相違点を記述したデルタ・ファイル(delta file、差分ファイル)を有することが可能である。別の例においては、ネットワーキング資源（例えば、ネットワーク１１４）のスナップショットが、当該ネットワーキング資源上で実行される複数の管理オペレーション（administrative operation、管理業務、管理動作)であってＶＬＡＮの追加、ＤＭＺの生成などようなもののログ(log、履歴）を有する。
【００３５】
図示されているように、スナップショット・サービス１３２は、複数のスナップショット１３８を保存するリポジトリ(repository、貯蔵庫）を保持することが可能であり、それらスナップショット１３８のリポジトリ（the repository of snapshots 138、スナップショット・レポジトリ１３８）は、コンピューティング・プラットフォーム１０２の複数の資源に対する設定変更(configuration changes)を復元する(restore、既存の設定変更を削除する）ために、後に、使用される可能性がある。一実施態様においては、複数のスナップショット１３８の前記リポジトリが、コンピューティング・プラットフォーム１０２のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源上で実行される複数のオペレーション(operations、動作）を保存するリポジトリとして実現することが可能である。動作中、スナップショット・サービス１３２は、適宜、前記リポジトリ内の複数のエントリ(entries、記載事項）に対する追加、削除および更新を行うことが可能である。例えば、スナップショット・サービス１３２は、コンピューティング・プラットフォーム１０２がデータ・センタ１００内にインストールされて配備される（deployment、動作可能に据え付けられる）ことが成功したと判定されると、複数のスナップショット１３８の前記リポジトリ内の複数のエントリより成る１セットが消去(purge、削除）され、このとき、それらエントリのセットは、外部のもの(extraneous、考慮中の問題に関係しないもの、当該システムの内部に存在しない）となっている。
【００３６】
一実施態様においては、プラットフォーム・マネージャ１３０が、復元サービス(restore service、復元を行うためのプログラムなど）１３４を有し、その復元サービス１３４は、コンピューティング・プラットフォーム１０２を、過去に保存された状態に復元するように構成されている。この復元サービス１３４は、コンピューティング・プラットフォーム１０２を、過去の状態に、例えば、コンピューティング・プラットフォーム１０２が誤ってインストールされた時期に先立って保存された状態に復元するために、複数のスナップショット１３８の前記リポジトリから検索されたいくつかのスナップショットを使用することが可能である。いくつかの実施態様においては、復元サービス１３４が、ネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源に対して行われたいくつかの設定変更(configuration changes)を元通りにする(undo、既存の設定変更を削除する)ために選択された一連の複数のオペレーションを実行することが可能である。例えば、復元サービス１３４は、ネットワーク１１４のネットワーク・マネージャに対して、インストール中に追加されたＶＬＡＮを削除するように指示したり、インフラストラクチャ・マネージャ１１２に対して、インストール中にプロビジョンされたブレード（a blade、１枚のサーバ基板）１１６またはストレージ・ボリュームの割り当てを解除する(de-allocate)ように指示することが可能である。
【００３７】
いくつかの実施態様においては、コンピューティング・プラットフォーム１０２のインストールに先立ち、１または複数の機能的コンポーネントを有するアプリケーション(an application、１つのアプリケーション）を、コンピューティング・プラットフォーム１０２上にインストールしたりロードすることが可能である。前記アプリケーション(the application、今回のアプリケーション）の各機能的コンポーネントは、前記アプリケーション(the application、今回のアプリケーション）の１または複数のタスクを実行することおよび／または前記アプリケーション(the application、今回のアプリケーション）のファクション層(a functional layer、１つのファンクション層）を（例えば、１つの多層アプリケーションという形態で）提供することを行う。それら機能的コンポーネントは、種々のソフトウエア・コンポーネント、オペレーティング・システムおよび構成(configurations)(例えば、１つのＶＭ１４０上で実行される(executing)もの）を有し、それらは、１つの多層アプリケーションとして機能するように相互に動作する(inter-operate)。例えば、配備されたウェブ・アプリケーションを構成する複数の機能的コンポーネントは、ウェブ・サーバ、アプリケーション・サーバおよびデータベース・サーバであって、それぞれ、仮想化インフラストラクチャ１２０からの(from、から生成される）１つのＶＭ１４０上で実行される(executing)。
【００３８】
いくつかの実施態様においては、コンピューティング・プラットフォーム１０２を既存のデータ・センタ１００にインストールするプロセス(process、方法）が、コンピューティング・プラットフォーム１０２の複数の資源を、ロード済の(pre-loaded)アプリケーションおよびそれの複数の機能的コンポーネントであってコンピューティング・プラットフォーム１０２内において動作しているものがデータ・センタ１００の既存の複数のサービス１０６と通信することを可能にするように設定する工程を有する。一例においては、プラットフォーム・マネージャ１３０が、コンピューティング・プラットフォーム１０２内において動作する仮想デスクトップ・インフラストラクチャ（ＶＤＩ）のために、コンピューティング・プラットフォーム１０２のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源に対する設定変更(configuration changes)を行うことが可能であり、このプラットフォーム・マネージャ１３０が、図２においてより詳細に図示されている。
【００３９】
図示されているように、プラットフォーム・マネージャ１３０は、さらに、資源発見(resource discovery、情報資源の発見）サービス１３３をも有しており、その資源発見サービス１３３は、前記新たに配備されたコンピューティング・プラットフォーム１０２を、データ・センタ１００のうちの残りの部分に接続することを要求する(seek）システム管理者１５０にとって関心のある複数の資源（例えば、複数のサーバ１０４、複数のサービス１０６）をそれぞれ識別する(identify、他のものから区別する）ように構成されている。いくつかの実施態様においては、その資源発見サービス１３３が、コンピューティング・プラットフォーム１０２と、既存のデータ・センタ１００のうちの残りの部分との間の通信を可能にするように構成されることが必要であるネットワーク１０８の複数のネットワーク・スイッチおよび複数のブレード(blades、サーバ基板)をそれぞれ識別する(identify、他のものから区別する）ことが可能である。
【００４０】
一実施態様においては、プラットフォーム・マネージャ１３０が、資源発見サービス１３３によって識別された資源に基づいてインフラストラクチャ・テンプレート１３９を生成するように構成される。そのインフラストラクチャ・テンプレート１３９は、統合コンピューティング・プラットフォーム１０２がこれから配備されようとしている(being deploymed、配備中である）対象である既存のコンピューティング環境（例えば、データ・センタ１００）を記述する複数のインフラストラクチャ・パラメータを有する。それらインフラストラクチャ・パラメータであってインフラストラクチャ・テンプレート１３９によって特定されるもののいくつかの例としては、コンピューティング・プラットフォーム１０２のネットワーク１１４が、既存のデータ・センタ１００のネットワーク１０８との接続のために使用すべきである複数のＶＬＡＮ識別子と、データ・センタ１００内において動作するＤＮＳサーバの複数のＩＰアドレスと、コンピューティング・プラットフォーム１０２の複数のＶＭ１４０に割り当てられるべき複数のＩＰアドレス、複数のサブネット・マスクおよびゲートウェイＩＰアドレスの範囲(ＩＰアドレス範囲、サブネット・マスク範囲およびゲートウェイＩＰアドレス範囲）とがある。いくつかの実施態様においては、インフラストラクチャ・テンプレート１３９を、コンピューティング・プラットフォーム１０２内に配備されるあるアプリケーション(an application、１つのアプリケーション）に固有であるように発生させることが可能である。したがって、インフラストラクチャ・テンプレート１３９内に含まれる複数のインフラストラクチャ・パラメータは、コンピューティング・プラットフォーム１０２内において実行される前記アプリケーション(the application、今回のアプリケーション）によって要求される具体的な設定状態(configurations、設定状況、環境設定状態、構成態様、設定値、コンフィギュレーション値）、設定条件(settings、初期設定、パラメータなど)および情報を取り扱う。インフラストラクチャ・テンプレート１３９は、適切な任意の構造化データ構造または半構造化データ構造であって、ＸＭＬ言語で記述された文書（Extensible Markup Language (XML) document）、関係(relational)データベース、およびキー・バリュー型(key-value)データ・ストアのようなものを用いて実現することが可能である。
【００４１】
いくつかの実施態様においては、プラットフォーム・マネージャ１３０を、複数のインフラストラクチャ・テンプレート１３９が、コンバージド・インフラストラクチャ（例えば、コンピューティング・プラットフォーム１０２）の他の複数のインスタンス(instance、稼働・処理・実行を行う実体）間で転送されることが可能となるように、それらインフラストラクチャ・テンプレート１３９のインポートおよびエクスポートを行うように構成することが可能である。プラットフォーム・マネージャ１３０は、さらに、コンピューティング・プラットフォーム１０２の既知の構成(configurations、設定状況、構成条件、コンフィギュレーションズ）および設定値(settings、設定条件、セッティングス)のバックアップと、既知のインフラストラクチャ・テンプレート１３９の実証および配備と、他のそのような管理的タスクの実行とを目的として、それらインフラストラクチャ・テンプレート１３９のインポートおよびエクスポートをも行うことが可能である。
【００４２】
図示されているように、プラットフォーム・マネージャ１３０は、さらに、資源設定(resource configuration、資源を設定する）サービス１０２を、インフラストラクチャ・テンプレート１３９に基づいてコンピューティング・プラットフォーム１０２の複数の物理資源および複数の仮想資源を設定するために有することが可能である。例えば、資源設定サービス１３５は、コンバージド・インフラストラクチャ（例えば、コンピューティング・プラットフォーム１０２）と既存のデータ・センタ１００との間での通信を可能にするために、インフラストラクチャ・テンプレート１３９に基づいて前述の複数のネットワーク・スイッチおよび複数のブレードを設定することが可能である。別の例においては、資源設定サービス１３５が、インフラストラクチャ・テンプレート１３９の複数のインフラストラクチャ・パラメータに基づき、コンピューティング・プラットフォーム１０２内において動作する複数のＶＭ１４０の複数のネットワーク・インタフェース・カード（ＮＩＣ）を設定することが可能である。
【００４３】
図２は、既存のデータ・センタ１００内に統合されるべき１つのアプリケーション２００を実行するコンピューティング・プラットフォーム１０２であって、この書類に開示されているものの一実施形態に従うものを示している。図示されているように、プラットフォーム・マネージャ１３０は、仮想デスクトップ・インフラストラクチャ（ＶＤＩ）２００を、仮想化インフラストラクチャ１２０内の複数のＶＭ１４０上において配備することが可能である。ＶＤＩシステム２００の一例は、VMware ViewシステムであってVMware, Inc.から市販されているものを有する。
【００４４】
ＶＤＩシステム２００においては、エンド・ユーザ２１０がＶＤＩクライアント・ソフトウエア・プログラム（例えば、ＶＤＩクライアント(VDI client、ＶＤＩクライアント機）２１２）であってローカル・コンピューティング・デバイス(local computing device、エンド・ユーザの側にある物理コンピューティング・デバイス）のオペレーティング・システム上で動作するものを使用し、それにより、エンド・ユーザの場所から離れた位置にあるかもしれないコンピューティング・プラットフォーム１０２内のいずれかのＶＭ１４０内において動作しているかもしれない、エンド・ユーザ２１０のデスクトップ(desktop、仮想デスクトップ）にアクセスする。「デスクトップ」という用語は、一般に、コンピュータのオペレーティング・システムおよびソフトウエア・アプリケーションによって提供される対話的な動作環境のインスタンス(instance、稼働・処理・実行を行う実体）であって、典型的には、ディスレイや音声の出力装置ならびにキーボードやマウスの入力装置を意味することに注意されたい。ＶＤＩクライアント２１２を用いることにより、ユーザは、リモート(remote、遠隔、ユーザから離れた位置にある）・データ・センタ（例えば、コンピューティング・プラットフォーム１０２）内において動作するリモート・デスクトップ２０６に、ネットワーク１２８を経由して、いずれの場所からでも、アクセスすることが可能であり、そのアクセスは、汎用(general purpose)コンピュータであって、コモディティ(commodity)・オペレーティング・システムと、VMware（登録商標）  View（トレードマーク）のようなＶＤＩクライアント・ソフトウエア・プログラムとを動作させるもの、または、Dell、HP、NEC、Sun Microsystems、Wyseおよびその他の会社から市販されているもののような、用途が特化されたシン・クライアント機(special purpose thin client)を用いることにより、行われる。
【００４５】
図示されているように、ＶＤＩシステム２００は、接続サーバ(connection server)２０２を有しており、その接続サーバ２０２は、リモート(remote、遠隔、ユーザから離れた位置にある）・デスクトップ２０６のためのユーザ認証を行い、入力デスクトップ・リクエスト（direct incoming desktop requests、デスクトップに入力されたリクエスト）（例えば、ＶＤＩクライアント２１２から）を、対応するリモート・デスクトップ２０６に指示する(direct、向ける）。例示すれば、ＶＤＩシステム２００は、さらに、１または複数のセキュリティ・サーバ２０４（例えば、１または複数のＶＭ１４０内において動作する）をも有しており、そのセキュリティ・サーバ２０４は、インターネットのような外部ネットワークからリモート・デスクトップ２０６へのセキュアな(secure、機密性が高い、安全な、不正でない）アクセスを可能にする。そのセキュリティ・サーバ２０４は、トラスト(trust)・ネットワーク（例えば、ネットワーク１１４）の内部における接続のためのプロキシ・ホスト(proxy host、代理ホスト)として動作することが可能であり、また、そのセキュリティ・サーバ２０４は、接続サーバ２０２を、公衆に面する(public-facing)インターネットから発生するリクエストからシールドする(shield、保護する、遮断する）。説明を簡単にするために、１つのネットワークが図示されているが、認識すべきことは、実装においては、ＶＤＩシステム２００を構成する複数のコンポーネントを、同じネットワークまたは別のネットワーク上で互いに接続することが可能であるということである。さらに、前述の仮想化デスクトップ・インフラストラクチャの具体的な構成(configuration)が、文章によって上述されるとともに図２に図示されているが、認識すべきことは、本発明の１または複数の実施態様を、当該仮想化デスクトップ・インフラストラクチャの別の構成と一緒に実施することが可能であるということである。
【００４６】
ＶＤＩシステム２００およびコンピューティング・プラットフォーム１０２をデータ・センタ１００内にインストールしている作業中に、接続サーバ２０２は、Microsoft（登録商標）社のActive Directory（登録商標）のようなドメイン・コントローラ２０８であって、既存のデータ・センタ１００内において（例えば、サーバ１０４２上で）既に動作しているものに接続することが可能であるということである。そのドメイン・コントローラ２０８は、ユーザのログイン情報および証明書(credentials、認証)を有するユーザ・アカウント２１４（例えば、エンド・ユーザ２１０のユーザ・アカウント）を管理する。さらに、接続サーバ２０２およびセキュリティ・サーバ２０４は、ドメイン・ネーム・システム（ＤＮＳ）サービス２１６に接続することが可能であり、そのＤＮＳサービス２１６は、ＶＤＩシステム２００を構成する前記複数の機能的コンポーネント（例えば、接続サーバ２０２、セキュリティ・サーバ２０４およびリモート・デスクトップ２０６）にいくつかのドメイン・ネームを提供するために、コンピューティング・プラットフォーム１０２の外部にあるサーバ１０４１上にインストールされる。バーチャライゼーション・マネージャ１２２は、データ・センタ１００内の「管理プレーン」と接続されることが必要となる可能性があり、また、接続サーバ２０２およびセキュリティ・サーバ２０４にアクセスすることが可能である可能性がある。ＶＤＩシステム２００のためのネットワーク・アーキテクチャは、自身が、１または複数の仮想ローカル・アクセス・ネットワーク（ＶＬＡＮ）を有するように、セット・アップすることが可能であり、そのＶＬＡＮは、接続サーバ２０２、セキュリティ・サーバ２０４、リモート・デクストップ２０６、ドメイン・コントローラ２０８、ＤＮＳサービス２１６の間に、ネットワーク１０８および１１４を横断するように設置される。例えば、システム管理者(system administrator、システム・アドミニストレータ）１５０は、接続サーバ２０２およびセキュリティ・サーバ２０４の設定を行うため、それら接続サーバ２０２およびセキュリティ・サーバ２０４へのアクセスを要求する。さらに、エンド・ユーザ２１０によって操作されるＶＤＩクライアント２１２は、接続サーバ２０２およびセキュリティ・サーバ２０４へのアクセス（例えば、ネットワーク１２８，１０８，１１４を経由して）を要求するであろう。ＶＤＩシステム２００を構成する前記複数の機能的コンポーネントとデータ・センタ１００のネットワーク１２８との間における１対多の対応関係は、ＶＤＩシステム２００の適切なオペレーションを確保するために、コンピューティング・プラットフォーム１０２に展開されること(extended onto、前記対応関係を反映するようにコンピューティング・プラットフォーム１０２が配備されること、コンピューティング・プラットフォーム１０２の構成が前記対応関係を反映するように設定されること）を要求するであろう。
【００４７】
図２は、１つのアプリケーション（例えば、ＶＤＩシステム２００）の一具体例を示しているが、コンピューティング・プラットフォーム１０２内において動作する他のいくつかのアプリケーションを、自身が、データ・センタ１００内において動作する複数のサービス１０６と接続されて通信を行う複数のコンポーネントを有するように、配備することが可能である。例えば、アプリケーション・サーバ層と、データ・グリッド層と、データベース層とを有する１つのアプリケーションを有するコンピューティング・プラットフォーム１０２を、既存のデータ・センタ１００の前記複数のサービス内において統合することが可能である。
【００４８】
図３は、統合コンピューティング・プラットフォームを既存のデータ・センタ内に配備する(deploy、デプロイする、インストールする）ための方法の複数のステップ(step、工程）であってこの書類に開示されているもののいくつかの具体的な側面に従うものを示すフロー図である。図示されているように、この方法３００は、ステップ３０２からスタートし、そのステップ３０２においては、プラットフォーム・マネージャ１３０がコンピューティング・プラットフォーム１０２の「工場出荷時状態(factory state、ファクトリ・ステート)」をキャプチャする(capture、取り込む、保存する、取得する)。「工場出荷時状態(factory state、ファクトリ・ステート)」という用語は、コンピューティング・プラットフォーム１０２の複数の資源が初期化されて設定される（例えば、後述のステップ３０４および３０８におけるように）前のコンピューティング・プラットフォーム１０２の状態を記述するために用いることが可能である。一実施態様においては、スナップショット・サービス１３２が、コンピューティング・プラットフォーム１０２上にあるネットワーキング資源（例えば、ネットワーク１１４）、ストレージ資源（例えば、ＳＡＮ１１８）、コンピューティング資源（例えば、サーバ１１６）および仮想資源（例えば、ＶＭ１４０）のそれぞれの初期スナップショットを取得する。コンピューティング・プラットフォーム１０２の状態をキャプチャするための複数のオペレーションは、後に、図４に関連して詳述される。
【００４９】
ステップ３０４においては、プラットフォーム・マネージャ１３０が、あるアプリケーションを実行するためにコンピューティング・プラットフォーム１０２の複数の資源のプロビジョンを行うとともに、データ・センタ１００と通信するために前記複数の資源を設定する。いくつかの実施態様においては、プラットフォーム・マネージャ１３０が、コンピューティング・プラットフォーム１０２から（from)物理資源および仮想資源を、前記アプリケーション(the application、今回のアプリケーション）を構成する複数の機能的コンポーネントを実行するために、割り当てる。一実施態様においては、プラットフォーム・マネージャ１３０が、データ・センタ１００の複数のサービスと相互に動作する(inter-operate)するために、コンピューティング・プラットフォーム１０２の複数の資源を設定する。プラットフォーム・マネージャ１３０は、ネットワーキング資源（例えば、ネットワーク１１４）と複数のホスト（例えば、複数のサーバ１１６）とを設定するようにインフラストラクチャ・マネージャ１１２を指示する(direct)ことが可能であり、前記設定の目的は、前記アプリケーション(the application、今回のアプリケーション）の前記複数の機能的コンポーネントをデータ・センタ１００の複数のサービス１０６に接続するという要求を満たすために、ＶＬＡＮおよびポート・グループを割り当てるとともにサービス品質(QoS、通信品質)の設定条件(settings)および他の複数のパラメータをセットすることにある。プラットフォーム・マネージャ１３０は、ＶＭ１４０を設定するためにバーチャライゼーション・マネージャ１２２を指示する(direct)ことが可能であり、前記設定の目的は、コンピューティング・プラットフォーム１０２の外部にある複数のサービス１０６にアクセスすることと、コンピューティング・プラットフォーム１０２の外部にある複数のサービス１０６が複数のＶＭ１４０と通信することとのために、ネットワーク・インタフェース・カード（ＮＩＣ）を追加することにある。
【００５０】
ＶＤＩシステム２００の前記一例においては、プラットフォーム・マネージャ１３０が、コンピューティング・プラットフォーム１０２の複数の資源を設定することが可能であり、その設定の目的は、接続サーバ２０２とドメイン・コントローラ２０８との間の通信を可能にすることと、セキュリティ・サーバ２０４とネットワーク１０８との間の通信を可能にすることと、複数のリモート・デスクトップ２０６とネットワーク１０８との間の接続を可能にすることとにある。セットされる可能性があるいくつかの設定(configurations、設定作業）のいくつかの例としては、ドメイン・コントローラ２０８の管理のために設定されたあるＩＰアドレス(an IP address、１つのＩＰアドレス）の割り当てと、ドメイン・コントローラ２０８へのアクセスのために設定されたあるＩＰアドレス(an IP address、１つのＩＰアドレス）の割り当てと、ドメイン・コントローラ２０８のための認証情報の割り当てと、コンピューティング・プラットフォーム１０２がデータ・センタ１００の「管理プレーン」と通信するために用いるべきであるあるＶＬＡＮ  ＩＤ(a VLAN ID、１つのＶＬＡＮ  ＩＤ）の割り当てと、コンピューティング・プラットフォーム１０２がデータ・センタ・「アクセス」・ネットワークと通信するために用いるべきであるあるＶＬＡＮ  ＩＤ(a VLAN ID、１つのＶＬＡＮ  ＩＤ）の割り当てと、管理とユーザ・アクセスとのためにＶＤＩシステム２００の前記複数の機能的コンポーネントに割り当てられるべき複数のＩＰアドレスの割り当てと、データ・センタ・ネットワーク１０８上のＤＮＳサービス２１６の前記ＩＰアドレスの割り当てと、コンピューティング・プラットフォーム１０２内の複数のＶＭ１４０のためのサブネット・マスクおよびゲートウェイＩＰアドレスの割り当てとがある。
【００５１】
一実施態様においては、プラットフォーム・マネージャ１３０が、システム管理者１５０によって提供された数値（例えば、グラフィカル・ユーザ・インタフェースを介して入力される）に基づき、物理インフラストラクチャ１１０および仮想化インフラストラクチャ１２０のそれぞれの複数の資源を設定することが可能である。
【００５２】
別の実施態様においては、プラットフォーム・マネージャ１３０が、インフラストラクチャ・テンプレートに基づき、物理インフラストラクチャ１１０および仮想化インフラストラクチャ１２０のそれぞれの複数の資源を設定することが可能である。インフラストラクチャ・テンプレートは、既存のコンピューティング環境（例えば、データ・センタ１００）であって統合コンピューティング・プラットフォーム１０２がこれから配備されようとしている(being deployed)対象であるものを記述する複数のインフラストラクチャ・パラメータを特定する。そのインフラストラクチャ・テンプレートによって特定される複数のインフラストラクチャ・パラメータのいくつかの例としては、コンピューティング・プラットフォーム１０２のネットワーク１１４が、既存のデータ・センタ１００のネットワーク１０８と通信するために使用すべきＶＬＡＮ識別子と、データ・センタ１００内において動作するＤＮＳサービスの複数のＩＰアドレスと、複数のＩＰアドレス、複数のサブネット・マスクおよびゲートウェイＩＰアドレスの範囲であって、それぞれ、コンピューティング・プラットフォーム１０２のＶＭ１４０に割り当てられるべきものとがある。いくつかの実施態様においては、前記インフラストラクチャ・テンプレートを、コンピューティング・プラットフォーム１０２内において配備される具体的な(specific、個別の）アプリケーションのために(for a specific application、個々の具体的なアプリケーションに個別に適合するように）提供することが可能である。したがって、前記インフラストラクチャ・テンプレート内に存在する前記複数のインフラストラクチャ・パラメータは、いずれも具体的な、複数の構成(configurations、設定状況、構成条件、コンフィギュレーションズ）、複数の設定値(settings、設定条件、セッティングス)および情報であって、いずれも、コンピューティング・プラットフォーム１０２内において実行される前記アプリケーション(the application、今回のアプリケーション）によって要求されるものを取り扱うことが可能である。一実施態様においては、前記インフラストラクチャ・テンプレートが、ＸＭＬ言語で記述された文書（Extensible Markup Language (XML) document）として実現されることが可能であるが、適切な任意の構造化データ構造または半構造化データ構造であって、関係(relational)データベースまたはキー・バリュー型(key-value)データ・ストアのようなものが用いられることが可能である。配備されたＶＤＩシステム２００を有するコンピューティング・プラットフォーム１０２をデータ・センタ１００を用いてインストールするために提供されたインフラストラクチャ・テンプレートの一例が次のテーブル１(Table 1)に示されている。
【数１】
2015526830.tif 000003
【００５３】
プラットフォーム・マネージャ１３０が、インフラストラクチャ・テンプレートを用いて、コンピューティング・プラットフォーム１０２の複数の資源を設定する複数の実施態様においては、そのプラットフォーム・マネージャ１３０が、前記インフラストラクチャ・テンプレートを複数のスナップショット１３８の前記リポジトリ内に、将来における任意のロールバック(rollback、後進復帰、巻戻し）・オペレーションのために使用されるべき情報として保存することが可能である
【００５４】
ステップ３０６においては、スナップショット・サービス１３２が、コンピューティング・プラットフォーム１０２の設定後状態(post-configuration state)をキャプチャする。後に詳述するように、復元サービス１３４は、そのキャプチャされた設定後状態を、コンピューティング・プラットフォーム１０２をそれの工場出荷時状態(factory state)に復元するために用いることが可能である。
【００５５】
ステップ３０８においては、プラットフォーム・マネージャ１３０が、複数の機能的コンポーネントを有する前記アプリケーション(the application、今回のアプリケーション）をインストールし、それら機能的コンポーネントは、コンピューティング・プラットフォーム１０２の複数の資源を用いる。例えば、プラットフォーム・マネージャ１３０は、接続サーバ２０２、セキュリティ・サーバ２０４およびリモート・デスクトップ２０６を実行する複数のＶＭ１４０を有するＶＤＩアプリケーション（例えば、ＶＤＩシステム２００）を配備することが可能である。一実施態様においては、プラットフォーム・マネージャ１３０が、前記アプリケーション(the application、今回のアプリケーション）の前記複数の機能的コンポーネントを実行することを目的として、複数の仮想資源（例えば、ＶＲＡＭ、ストレージ）を有する１または複数のＶＭ（例えば、複数のＶＭ１４０）を生成するように、バーチャライゼーション・マネージャ１２２を（例えば、複数のＡＰＩより成る１セットにより）指示するコール(call、呼び出し）を発動することが可能である。プラットフォーム・マネージャ１３０は、前記割り当てられた複数の資源上の前記複数の機能的コンポーネントの複数のインスタンスを配備する。例えば、プラットフォーム・マネージャ１３０は、複数のソフトウエア・パッケージを前記プロビジョンが行われた複数のＶＭ１４０上にインストールすることが可能であり、または、これに代えて、プラットフォーム・マネージャ１３０は、複数のパッケージ化済み(pre-packaged)ＶＭ(packaged VM、パッケージ型ＶＭ）であって、前記アプリケーション(the application、今回のアプリケーション）の複数のコンポーネントと、ゲスト・オペレーティング・システムとであって、いずれも当該ＶＭ上にインストール済みである(pre-installed)ものを有するものに基づき、１または複数のＶＭ（例えば、複数のＶＭ１４０）を生成するように、バーチャライゼーション・マネージャ１２２を（例えば、複数のＡＰＩより成る１セットにより）指示するコール(call、呼び出し）を発動することが可能である。いくつかの実施態様においては、プラットフォーム・マネージャ１３０が、ＶＭテンプレートに基づき、ある機能的コンポーネント(a functional component、１つの機能的コンポーネント）の複数のインスタンスを生成し、そのＶＭテンプレートは、あるＶＭ（a VM、１つのＶＭ）を定義し、そのＶＭは、いずれもインストール済の、複数のソフトウエア・コンポーネント、オペレーティング・システムおよび複数の構成(configurations、設定状況、構成条件、コンフィギュレーションズ）を有し、それら構成は、具体的な一つの機能的コンポーネント(a particular functional component)に対応する。
【００５６】
ステップ３１０においては、前記アプリケーション(the application、今回のアプリケーション）のインストールが完了した後、スナップショット・サービス１３２が、コンピューティング・プラットフォーム１０２のネットワーキング資源、ストレージ資源、コンピューティング資源および仮想資源のスナップショットを取得することが可能であり、そのスナップショットは、前記コンバージド・インフラストラクチャ・プラットフォーム（例えば、コンピューティング・プラットフォーム１０２）のインストール後状態(post-installation state)をキャプチャする。そのインストール後スナップショットは、上述のステップ３０２および３０６において生成された複数のスナップショットと同様にしてキャプチャすることが可能である。
【００５７】
ステップ３１２においては、プラットフォーム・マネージャ１３０が、前記アプリケーション(the application、今回のアプリケーション）のセット・アップ条件をファイナライズし(finalize、その内容を最終化し)、そのアプリケーションを起動させる(launch)。ＶＤＩシステム２００の前記一例においては、プラットフォーム・マネージャ１３０が、仮想化インフラストラクチャ１２０内において動作する複数のＶＭ１４０によってサポートされる複数のリモート・デスクトップ２０６より成る１つのプールを配備することが可能である。一実施態様においては、プラットフォーム・マネージャ１３０が、複数のリモート・デスクトップ２０６のための１つのモデルとして作用するＶＭテンプレート（「ゴールド・イメージ」と称されることがある）をインポートするとともに、ＶＤＩシステム２００のための複数のリモート・デスクトップ２０６より成る１つのプールを生成するために、前記ゴールド・イメージに基づき、複数のＶＭを配備する。
【００５８】
図４は、統合コンピューティング・プラットフォームの状態をキャプチャする方法の複数のステップ(step、工程）であってこの書類に開示されているものの具体的ないくつかの側面に従うものを示すフロー図である。当業者であれば、たとえこの方法４００が図１および図２のそれぞれのシステムに関連付けて説明されても、この方法４００の複数のステップを、いかなる順序であっても、実行するように構成されたシステムであれば、この書類に開示されているもののいくつかの実施形態の範囲から逸脱しないことが理解される。
【００５９】
ステップ４０２においては、スナップショット・サービス１３２が、コンピューティング・プラットフォーム１０２のネットワーク１１４のためのネットワーク構成(configurations、設定状況、構成条件、コンフィギュレーションズ）のスナップショットを取得する。いくつかの実施態様においては、スナップショット・サービス１３２が、ＶＬＡＮアサインメント(assignments、ＶＬＡＮの割り当て、ＶＬＡＮに割り当てられた仕事)、論理ネットワーク、ポート・グループ、および他のネットワーク構成(configurations、設定状況、構成条件、コンフィギュレーションズ）のそれぞれに関する情報を記録し、前記他のネットワーク構成は、仮想スイッチ、ＩＰスイッチ、イーサネット（登録商標）・スイッチおよびストレージ・スイッチ（例えば、ファイバー・チャンネル）についてのものであり、それら仮想スイッチ、ＩＰスイッチ、イーサネット（登録商標）・スイッチおよびストレージ・スイッチは、互いに共同して前記ネットワーキング資源を構成する。スナップショット・サービス１３２は、前記ネットワーク構成のスナップショットをスナップショット１３８の前記レポジトリ内に保存することが可能である。
【００６０】
ステップ４０４においては、スナップショット・サービス１３２が、今回のアプリケーションの設定が完了する前に、コンピューティング資源のスナップショットを取得する。例えば、スナップショット・サービス１３２は、複数のサーバ１１６（例えば、複数のブレード、サーバ・シャーシ(server chassis)、ファブリック・インタコネクト(fabric interconnect)）の状態を記録する。ステップ４０６においては、スナップショット・サービス１３２が、ストレージ資源（例えば、ＳＡＮ１１８）のためのストレージ設定状態(configuration)のスナップショットを取得する。例えば、スナップショット・サービス１３２は、ストレージ・アレイ、論理ボリューム、ＲＡＩＤボリューム、データ複製(data replication）、バックアップおよびリカバリのための設定条件を含む複数のストレージ設定条件(configurations)の状態を記録する。いくつかの実施態様においては、スナップショット・サービス１３２が、コンピューティング資源およびストレージ資源のためのそれぞれの設定状態を取得するために、インフラストラクチャ・マネージャ１１２と通信する。スナップショット・サービス１３２は、コンピューティングおよびストレージのそれぞれの構成(configurations、設定状況、構成条件、コンフィギュレーションズ）のスナップショットをスナップショット１３８の前記レポジトリ内に保存することが可能である。
【００６１】
ステップ４０８においては、スナップショット・サービス１３２が、複数のＶＭ１４０を有する仮想化インフラストラクチャ１２０の状態のスナップショットを取得する。図示されているように、スナップショット・サービス１３２は、ＶＭ１４０ごとに、ＶＭがクローニングされた(cloned、別のＶＭインスタンスの複製である）のか、または、ＶＭがＶＭテンプレートからインスタンス化されたのか否かを判定する。一例においては、スナップショット・サービス１３２は、接続サーバ２０２を動作させるあるＶＭ１４０が、ＶＤＩシステム２００の複数の機能的コンポーネントのための複数のＶＭテンプレートから導出されたかもしれないと判定することが可能である。別の例においては、スナップショット・サービス１３２が、あるＶＭ１４０が、バーチャライゼーション・マネージャ１２２によって提供された複数のＶＭテンプレートのライブラリから取り出されたあるＶＭテンプレートから生成されたかもしれないと判定する可能性がある。
【００６２】
ステップ４１０は、今回のＶＭがテンプレートから導出されたものではないとの判定に応答して実行され、このステップ４１０においては、スナップショット・サービス１３２が、今回のＶＭ１４０のスナップショットを取得し、そのスナップショットをスナップショット１３８の前記レポジトリ内において記録することが可能である。一実施態様においては、そのスナップショットが、今回のＶＭ１４０のすべてのデータ、環境および状態が、例えば、Open Virtualization Format（ＯＶＦ）または他の適切な構造というフォーマットでシリアル化されたもの(serialization、直列化されたもの）を有するコンテナ・ファイル(container file)を有することが可能である。ステップ４１２は、あるＶＭがテンプレートから導出されたものであるとの判定に応答して実行され、このステップ４１２においては、そのＶＭのスナップショットを取得するのではなく、スナップショット・サービス１３２が、ＶＭテンプレートと、前記導出されたＶＭとの間の関係(association)すなわちリンクを、スナップショット１３８の前記レポジトリ内において記録する。認識すべきことは、ステップ４０８，４１０および４１２は、仮想化インフラストラクチャ１２０内の各ＶＭ１４０のスナップショットをキャプチャするために反復される可能性があるということである。
【００６３】
いくつかの実施態様においては、複数のスナップショット１３８を、コンピューティング・プラットフォーム１０２の複数の資源上で実行される複数の設定オペレーション（configuration operations、設定のために実行されるオペレーション）のすべての記録(recordation、履歴）として実現することが可能である。スナップショットをキャプチャするために、スナップショット・サービス１３２は、複数のログ（logs、履歴）を（例えば、前記インフラストラクチャ・マネージャおよびバーチャライゼーション・マネージャから）収集することが可能であり、それらログは、コンピューティング・プラットフォーム１０２の複数の資源のうちのいずれの上で、どのような設定オペレーションが実行されたのかを報告する。スナップショット・サービス１３２は、時間帯ごとに収集して記録するオペレーションの種類(what logged operations it collects based on a time period)を限定することが可能である。例えば、スナップショット・サービス１３２は、「前(before、設定前)」スナップショットを、前記複数の資源の設定の実行前におけるある時刻(a point in time)として定義し、また、「後（after、設定後)」スナップショットを、前記複数の資源の設定（例えば、上述のステップ３０４）の実行後におけるある時刻(a point in time)として定義することが可能である。スナップショット・サービス１３２は、複数のオペレーションのこのような収集物を、複数のスナップショット１３８の前記リポジトリ内に保存することが可能である。
【００６４】
今回のアプリケーションのインストールが完了するとともに今回のアプリケーションが配備された後、システム管理者１５０が、事後的に、今回のアプリケーションのインストールを取り消して(undo)、コンピューティング・プラットフォーム１０２をそれの工場出荷時状態(factory state)（または、前記インストール・プロセスの実行中における他の状態）に復元することを要望することが可能である。例えば、システム管理者１５０は、今回のアプリケーションが正常に動作しないと判断し、前記インストール・プロセスをやり直し(redo)することを要望することが可能である。別の使用事例においては、システム管理者１５０が、概念実証（proof of concept)（ＰＯＣ）すなわち検証フェーズの実行中に、互いに異なる種々の配備スキーム（deployment schemes、配備するための複数のルールの集まり）を実験する（experiment with a variety of different deployment schemes、各配備スキームの妥当性を試験して判断する）ことが可能であり、また、システム管理者１５０は、各回のインストール・プロセスを、それの開始時点から、「フレッシュ(fresh、新品)」の状態で開始することを要望することが可能である。
【００６５】
図５は、既存のデータ・センタ内にインストールされた統合コンピューティング・プラットフォームに対して行われた設定変更を復元するための方法５００であってこの書類に開示されているものの具体的ないくつかの側面に従うものを示すフロー図である。当業者であれば、たとえこの方法５００が図１および図２のそれぞれのシステムに関連付けて説明されても、この方法の複数のステップを、いかなる順序であっても、実行するように構成されたシステムであれば、この書類に開示されているもののいくつかの実施形態の範囲から逸脱しないことが理解される。
【００６６】
ステップ５０２においては、プラットフォーム・マネージャ１３０が、コンピューティング・プラットフォーム１０２の複数の資源（例えば、ネットワーク１１４、ＳＡＮ１１８、サーバ１１６、ＶＭ１４０など）に対して行われた設定変更を復元することを要求する「ロールバック」コマンドを、例えば、前記システム管理者１５０から受け付けることが可能である。一実施態様においては、そのロールバック・コマンドが、複数のスナップショット１３８の前記リポジトリから、あるスナップショットであって、コンピューティング・プラットフォーム１０２の状態が復元されるべきものを選択することが可能である。別の実施態様においては、前記ロールバック・コマンドが、コンピューティング・プラットフォーム１０２の複数の資源のうち、復元が行われるべき一部の集まりである部分集合(subset)を指定することが可能である。例えば、前記ロールバック・コマンドは、ネットワーク１１４に対する設定変更のみであって、ストレージ１１８に対する設定変更でも、ＶＭ１４０に対する設計変更でもないものが、前記選択されたスナップショットの状態に復元されるべきであることを指示することが可能である。したがって、前記ロールバック・コマンドは、コンピューティング・プラットフォーム１０２の複数の資源の設定状態を復元する能力においてコンポーネント単位というきめ細かさを実現することが可能である。説明の便宜上(for sake of the foregoing discussion)、今回のロールバック・コマンドは、複数の資源（例えば、ネットワーキング、ストレージ、コンピューティングおよび仮想マシン）のすべてのレベルが復元対象として選択されたことを指示すると仮定する。
【００６７】
ステップ５０４においては、復元サービス１３４が、設定前に取得されたスナップショットと設定後に取得されたスナップショットとの比較結果に基づき、前述のネットワーキング資源、ストレージ資源およびコンピューティング資源に対して行われた変更箇所を検出する(determine、発見する）。一実施態様においては、復元サービス１３４が、設定前スナップショットと設定後スナップショットとの間の設定変更を取り消す逆行オペレーション(inverse operation)を決定する(determine、選択してその内容を特定する、実行する）。一例においては、復元サービス１３４は、あるポート・グループがネットワーク１１４に追加されていたと判定することが可能である。その復元サービス１３４は、その後、そのポート・グループをネットワーク１１４から削除するために「デリート」オペレーションを決定する(formulate、その内容を特定する、実行する)ことが可能である。別の例においては、復元サービス１３４が、スナップショット間に実行された「ｖｌａｎ追加(add vlan)」というオペレーションを削除するために、「ｖｌａｎデリート(delete vlan)」というオペレーションが必要であると判定する。復元サービス１３４は、前記ストレージ資源およびコンピューティング資源に対する、同様な逆行オペレーションを決定する(determine、選択してその内容を特定する)ことが可能である。
【００６８】
ステップ５０６においては、復元サービス１３４が、コンピューティング・プラットフォーム１０２のネットワーク資源、ストレージ資源およびコンピューティング資源に対して行われた変更箇所を削除するために、前記決定された逆行オペレーションを実行する。一実施態様においては、復元サービス１３４が、前記逆行オペレーションを実行してネットワーク１１４、ストレージ１１８およびサーバ１１６をそれらの工場出荷時状態に復元するために、インフラストラクチャ・マネーシャ１１２（例えば、ＡＰＩコールを媒介として）と通信する。
【００６９】
ステップ５０８を開始点として、復元サービス１３４は、ＶＭ１４０がＶＭテンプレートから導出されるか否かを判定する。ステップ５１０においては、復元サービス１３４が、ＶＭテンプレートから導出されたすべてのＶＭ１４０を削除し、元のＶＭテンプレートを検索し、そして、そのＶＭテンプレートに基づき、ＶＭについての新規のインスタンスをクローニングする。これに対して、ステップ５１２は、ＶＭテンプレートから導出されなかったＶＭ１４０が発見されることに応答して実行され、このステップ５１２においては、復元サービス１３４が、そのＶＭ１４０のスナップショットを、複数のスナップショット１３８のレポジトリから検索する。復元サービス１３４は、そのＶＭ１４０の状態を、前記リポジトリから検索されたスナップショットの状態に戻すためのリバート・オペレーション（revert operation)を実行するように、バーチャライゼーション・マネージャ１２２を指示する。認識すべきことは、ステップ５０８，５１０および５１２は、仮想化インフラストラクチャ１２０内における各ＶＭ１４０の状態を復元するために、反復されることが可能であるということである。
【００７０】
図６は、統合コンピューティング・プラットフォームの状態をリセットする(reset、復元する）ためのワークフローであってこの書類に開示されているものの具体的ないくつかの側面に従うものを示す状態図(state diagram、状態遷移図）である。この状態図６００は、ＶＤＩアプリケーション（例えば、ＶＤＩシステム２００）のインストール中におけるコンピューティング・プラットフォーム１０２の、互いに異なる複数の状態を表す複数の状態６０２，６０４，６０６，６０８を有する。
【００７１】
図示されているように、前記インストール・プロセスが完了した後（例えば、状態６０８において）、システム管理者１５０は、コンピューティング・プラットフォーム１０２の状態を、前記インストール・プロセス中にキャプチャされた互いに異なる複数の状態のうちのいずれかに復元するロールバック・オペレーションを発動させることが可能である。一実施態様においては、そのロールバック・オペレーションがコンピューティング・プラットフォーム１０２を工場出荷時状態(factory state)６０２に復元することが可能であり、そのロールバック・オペレーションにより、前記インストール・プロセス中に行われたすべての設定変更が元通りにされる(undo、既存の設定変更が削除される)。例えば、システム管理者１５０は、コンピューティング・プラットフォーム１０２を新しい場所（例えば、新規のデータ・センタ１００）に再割り当てする際に、コンピューティング・プラットフォーム１０２の、工場出荷時状態へのリセット(factory reset)を要望することが可能である。
【００７２】
別の実施態様においては、前記ロールバック・オペレーションにより、ＶＤＩアプリケーション２００のインストールがリバートされる(revert、戻される)ことと、コンピューティング・プラットフォーム１０２が設定後状態に復元され、それにより、ＶＤＩシステム２００の複数の機能的コンポーネントのインストール中にコンピューティング・プラットフォーム１０２に対して行われたすべての設定変更がリバートされる(reverted、元の状態に戻される)。例えば、設定後状態６０４への復元が行われると、それにより、前記インストール・プロセス中に配備された接続サーバ２０２およびセキュリティ・サーバ２０４の複数のインスタンスが削除される(remove、除去される、取り外される)。さらに別の実施態様においては、前記ロールバック・オペレーションにより、複数のリモート・デスクトップより成る前記１つのプールが削除されるとともに、コンピューティング・プラットフォーム１０２が設定後状態６０６に復元されることが可能であり、その設定後状態６０６においては、ＶＤＩアプリケーション２００およびそれの複数の機能的コンポーネントのインストールが完了している。このロールバック・オペレーションにより、システム管理者１５０が、リモート・デスクトップ２０６の複数のインスタンスを定義する「ゴールド・イメージ」すなわちＶＭテンプレートを別のものに交換することと、複数の新規のリモート・デスクトップ２０６より成る１つのプールを配備することが可能となる。
【００７３】
したがって、この書類に開示されているもののいくつかの実施態様によれば、有利なことに、システム管理者１５０が、種々の使用事例を実証する(test various use cases)ために、彼らの複数のアプリケーションを試験する（test、実証する）ことと、前記コンバージド・インフラストラクチャ・プラットフォームをデフォールト状態にリセットすることとを簡単に行うことが可能となる。その結果、概念実証（ＰＯＣ）すなわち試験的配備(test deployment、本番配備前の試行的配備)を行うための時間および費用が大きく削減され、それにより、コンバージド・インフラストラクチャを構成する複数のコンポーネントを、データ・センタの複数のサービスに統合する(integrate、インテグレートする、インストールする、配備する）ための時間が削減される。この書類に開示されているもののいくつかの実施態様によれば、さらに、ネットワーク資源およびセキュリティ・サービスの設定中にエラーが発生するリスクが軽減され、その設定というプロセスは、人為的であり、エラーが発生し易いプロセスである可能性がある。
【００７４】
前述のように、この書類によって提示されるいくつかの実施態様は、複数の機能的コンポーネントを有する複数のアプリケーションを配備するためのパッケージ型アプリケーション配信メカニズム(packaged application delivery mechanism)を有する。図７は、１つのアプリケーションを図１のコンピューティング・プラットフォーム内において配備するための例示的なオペレーションであって一実施態様に従うものを示している。システム管理者は、プラットフォーム・マネージャ１３０に、コンピューティング・プラットフォーム１００上に（例えば、プロビジョンされた物理資源および仮想資源上に）配備されるべき１つのアプリケーション・パッケージ１３６を与えることが可能である。そのアプリケーション・パッケージ７００は、１または複数の仮想マシンより成る１つのコンテナ(a container、収容体）を表しており、それら仮想マシンは、いずれもインストール済みの、複数のソフトウエア・コンポーネント、複数のオペレーティング・システムおよび複数の構成(configurations、環境設定値)であって、互いに共同して１つの多層アプリケーション(a multi-tier application)を構成するものを有する。アプリケーション・パッケージ７００内に存在する各ＶＭは、前記アプリケーションの１つの機能的コンポーネント７０２を表すことが可能であり、その機能的コンポーネント７０２は、今回のアプリケーションの複数のタスクを実行するか、または、今回のアプリケーションのファンクション層(a functional layer)を（例えば、多層アプリケーションという形態で）提供する。例えば、典型的なウェブ・アプリケーション用の１つのアプリケーション・パッケージは、第１のＶＭであって、インストール済みのウェブ・サーバ、アプリケーション・サーバ、および、前記ウェブ・アプリケーションのためのアプリケーション・コードを有するものと、別のＶＭであって、インストール済みのデータベース・サーバを有するとともに前記第１のＶＭに接続されるように構成されたものとを有することが可能である。アプリケーション・パッケージ７００は、複数のファイルであって、データ、ライブラリおよび複数のメタデータ・ファイルを含むものを、複数の仮想マシンをパッケージ化して(packaging、いくつかのグループに分けて）分配するように構成されたフォーマットであって、Open Virtualization Format (OVF)のようなもので有することが可能である。
【００７５】
一実施態様においては、アプリケーション・パッケージ７００が、さらに、１または複数のモデル７０４を有し、それらモデル７０４は、物理資源および仮想資源（例えば、ＶＭ１４０）の使用状態(usage、使用）と今回のアプリケーションの複数のコンポーネント７０２との関係を示している。それらモデル７０４は、コンピューティング・プラットフォーム１００の複数の資源と、今回のアプリケーションの複数のコンポーネント７０２との間の関係を、数式を用いて表すことが可能である。例えば、１つのモデル(a model)７０４は、今回のアプリケーションの特定のコンポーネントのインスタンスの数（例えば、Ｘ）と、今回のアプリケーションの予想ユーザ数（例えば、Ｙ）との間の１つの関係(a relationship)を示すことが可能である。例えば、今回のモデル７０４は、ある回の配備が今回のアプリケーションのＹ人のユーザをサポートするために、その配備は、１つのコンポーネントのＸ個のインスタンスを有するべきであり、ここに、Ｘ＝Ｎ＋１およびＮ＝（Ｙ／５００）であるということを指示することが可能である。よって、１つのアプリケーションについての１つのモデル７０４が、そのアプリケーションを配備するための「ベスト・プラクティス」を組み込むことが可能である。所与の(given、予め想定された）事例における具体的な「ベスト・プラクティス」は、例えば、システム・エンジニアによって求められた実験結果および経験則に従い、予め決めておくことが可能であり、また、業界全体の(industry-wide)知識を反映することが可能である。一実施態様においては、複数のモデル７０４が、さらに、複数の物理資源、複数の仮想資源、複数の設定値(settings、設定条件、セッティングス)および複数の構成(configurations、環境設定、設定条件)であって、今回のアプリケーションの１つのインスタンスを配備するのに典型的に必要なものの詳細なリストをも有することが可能である。複数のモデル７０４によって提供される複数の設定値(settings、設定条件、セッティングス)および複数の構成(configurations、環境設定)のいくつかの例としては、複数のネットワーク構成(configurations、環境設定)のような複数のネットワーキング設定値(settings、設定条件、セッティングス)があり、それらネットワーク設定値は、今回のネットワークのうちの「管理」部分、今回のネットワークのうち外部からアクセス可能な部分、今回のネットワークのうちＤＭＺ部分などにおいていずれのコンポーネント７０２が位置する可能性があるのかを示している。
【００７６】
後に詳述するように、プラットフォーム・マネージャ１３０は、前述の１または複数のモデル７０４に基づき、さらには、システム管理者によって提供される複数の配備パラメータ７０６に基づき、今回のアプリケーションの配備(the deployment、配備状態、配備方法、配備態様）を調整するように構成されている。例えば、プラットフォーム・マネージャ１３０は、あるモデル７０４に基づき、インストール済みのウェブ・サーバを有するＶＭの個数を増加させることにより、ウェブ・アプリケーションの配備(the deployment、配備状態、配備方法、配備態様）を調整することが可能であり、そのあるモデル７０４は、前記システム管理者から入力された情報であって、前記ウェブ・アプリケーションについて予想される通信量を示すものに基づき、何個のウェブ・サーバＶＭ(an increased number of web server VMs、ウェブ・サーバＶＭの個数の増分)を追加的に配備すべきであるかを示している。前記システム管理者は、これから配備されることになる今回のアプリケーションの今回のインスタンスに固有の配備の詳細(deployment details)を示している複数のパラメータ７０６を提供することが可能である。それらパラメータ７０６のいくつかの例としては、予想ユーザ数（例えば、５００人のユーザ）、予想通信量(volume of traffic、通信容量)（例えば、毎秒２００リクエスト；５００ MB/sec）、要求アップタイム(uptime、連続稼働時間)・パーセンテージ（例えば、９９．９９９％）、および目標資源稼働率（例えば、７５％のＣＰＵ稼働率）がある。
【００７７】
今回のモデル７０４および複数のパラメータ７０６に基づき、アプリケーションの配備を調整するか否か（およびどのように調整するか）を判定した後、プラットフォーム・マネージャ１３０は、コンピューティング・プラットフォーム１００から生成される仮想資源および物理資源（例えば、ＶＭ１４０−１，ＶＭ１４０−２，ＶＭ１４０−３など）をプロビジョンするとともに、アプリケーション７１０(the application 710、アプリケーション・パッケージ７００）を仮想化インフラストラクチャ１２０に配備するために、アプリケーション・パッケージ７００の複数の個別のコンポーネント７０２をインスタント化することが可能である。図７は複数の個別のコンポーネント７０２を、プロビジョンされた複数のＶＭ（例えば、ＶＭ１４０−１，ＶＭ１４０−２，ＶＭ１４０−３など）上で動作する複数のモジュールとして示しているが、プラットフォーム・マネージャ１３０は、それに代えて、完成した複数のＶＭであって、インストール済みの複数のソフトウエア・コンポーネントおよび複数のオペレーティング・システムを有するものを、アプリケーション・パッケージ７００によって特定された情報に基づいてインスタンス化することが可能である。プラットフォーム・マネージャ１３０の複数のオペレーションが、図８に関連付けて詳細に説明されている。
【００７８】
図８は、複数のコンピュータ資源上のあるアプリケーションを仮想化環境内において配備するための方法８００であって一実施態様に従うものを示すフロー図である。図示されているように、この方法８００はステップ８０２から開始され、そのステップ８０２においては、プラットフォーム・マネージャ１３０が、１つのアプリケーション・パッケージを受け付け、そのアプリケーション・パッケージは、今回のアプリケーションがコンピューティング・プラットフォーム１００内において配備されるようにするために、１または複数の機能的コンポーネント（例えば、複数のコンポーネント７０２）を有する。例えば、システム管理者は、ＶＤＩシステム用のアプリケーション・パッケージをプラットフォーム・マネージャ１３０に提供することが可能である。そのアプリケーション・パッケージは、今回のアプリケーションの各機能的コンポーネントに対応する複数のパッケージ化済み(pre-packaged)ＶＭ(packaged VM、パッケージ型ＶＭ）を有することが可能である。例えば、ＶＤＩシステム用のアプリケーション・パッケージは、設定済みの(pre-configured)１つのＶＭであって、いずれもインストール済みの(pre-installed)複数のアプリケーション・コンポーネント、ソフトウエア、複数のライブラリ、および、ゲスト・オペレーティング・システムであって接続サーバを動作させるためのものを有するものと、設定済みの１つのＶＭであって、いずれもインストール済みの複数のアプリケーション・コンポーネント、ソフトウエア、複数のライブラリ、および、ゲスト・オペレーティング・システムであってセキュリティ・サーバを動作させるためのものを有するものと、設定済みの１つのＶＭであって、いずれもインストール済みの複数のアプリケーション・コンポーネント、ソフトウエア、複数のライブラリ、および、ゲスト・オペレーティング・システムであって１つのリモート・デスクトップを動作させるためのものを有するものとを有することが可能である。
【００７９】
ステップ８０４においては、プラットフォーム・マネージャ１３０が、今回のアプリケーションをコンピューティング・プラットフォーム１００内において配備するために利用可能である物理資源および仮想資源が何であるのかを発見する。プラットフォーム・マネージャ１３０は、前記アプリケーション・パッケージの処理と、今回のアプリケーションを実行するために特定される複数の資源要求(resource requirements、いずれの資源が必要であるのか）（例えば、メモリ、コンピュート、ストレージ、ネットワーキング）の検出とを行い、その後、そのような資源が利用可能であるか否かを判定するために、仮想化インフラストラクチャ１２０および物理インフラストラクチャ１１０にクエリする(query、問合せする）。例えば、プラットフォーム・マネージャ１３０は、今回のアプリケーションの１つの機能的コンポーネントに対応する１つのＶＭが、４ＧＢのＲＡＭと、６４ビットのプロセッサと、少なくとも２００ＧＢのストレージと、少なくとも１ギガビットのイーサネット（登録商標）接続とを必要とすると判定することが可能である。プラットフォーム・マネージャ１３０は、その後、それら資源が、物理インフラストラクチャ１１０および仮想化インフラストラクチャ１２０からそれぞれ利用可能であるか否かを判定するために、インフラストラクチャ・マネージャ１１２およびバーチャライゼーション・マネージャ１２２と通信することが可能である。
【００８０】
ステップ８０６においては、プラットフォーム・マネージャ１３０が、複数の配備用パラメータ(deployment parameters)（例えば、複数のパラメータ７０６）であって複数のモデル７０４を用いて今回のアプリケーションの配備を調整する(adjust)仕方を特定するものを受け付ける。それらモデル７０４は、コンピューティング・プラットフォーム１００によって提供される複数の資源が、例えば、アプリケーション・パッケージ７００によって特定される複数の機能的コンポーネントによって使用される仕方を示している。それらモデル７０４は、物理資源および仮想資源（例えば、ＶＭ）を、前記複数の機能的コンポーネントのそれぞれのインスタンス数に関連付ける１つの関数(a function）を示すことが可能である。一実施態様においては、そのモデルが、コンピューティング・プラットフォーム１００の複数の資源を、それら資源が、複数の配備用パラメータ（例えば、前記システム管理者によって提供されるようなもの）の関数として用いられるようにするために、特定することが可能である。例えば、１つのモデルは、１つのＶＤＩシステム（例えば、ＶＤＩシステム３００）が、接続サーバのＸ個のインスタンスを有するべきであり、ここに、ここに、Ｘ＝Ｎ＋１およびＮ＝（Ｙ／５００）であるということを特定することが可能であり、その特定の目的は、前記ＶＤＩシステムのＹ人のユーザをサポートするためである。したがって、この例においては、前記システム管理者が、前記ＶＤＩシステムの配備を調整するために、「ユーザ数」（例えば、Ｙ）という前記配備用パラメータについて「１０００」という数値をプラットフォーム・マネージャ１３０に提供する。
【００８１】
ステップ８０８においては、プラットフォーム・マネージャ１３０が、今回のアプリケーションのための１つのモデル７０４に基づき、いずれの物理資源および仮想資源を前記配備という作業に割り当てるべきであるかを判定する。引き続き、前述のＶＤＩの例を用いれば、プラットフォーム・マネージャ１３０は、今回の配備が接続サーバの３個のインスタンス（例えば、（１０００／５００）＋１＝３）を有すべきであると判定するために、今回のモデル７０４を、「５００人のユーザ」という前記配備用パラメータを用いて評価することが可能である。プラットフォーム・マネージャ１３０は、前記接続サーバの前記３個のインスタンスの実行をサポートするのに十分な仮想資源（例えば、ＶＭ１４０）の量(an amout of virtual resources)を決定する。
【００８２】
ステップ８１０においては、プラットフォーム・マネージャ１３０が、コンピューティング・プラットフォーム１００から、物理資源および仮想資源を割り当てる。一実施態様においては、プラットフォーム・マネージャ１３０が、今回のアプリケーションの複数の機能的コンポーネントのうちのいずれか一つを実行するために、仮想資源（例えば、ＶＲＡＭ、ストレージ）を有する１または複数のＶＭ（例えば、ＶＭ１４０）を生成するようにバーチャライゼーション・マネージャ１２２を（例えば、複数のＡＰＩより成る１つのセットにより）指示するコール(call、呼び出し）を発動することが可能である。ステップ８１２においては、プラットフォーム・マネージャ１３０が、前記複数の機能的コンポーネント７０２の複数のインスタンスを、前記割り当てられた複数の資源上に配備する。複数の機能的コンポーネント７０２が複数のソフトウエア・パッケージであるいくつかの実施態様においては、例えば、プラットフォーム・マネージャ１３０が、それらソフトウエア・パッケージを、前記プロビジョンされた複数のＶＭ１４０上にインストールする。これに代えて、アプリケーション・パッケージ７００の複数の機能的コンポーネント７０２が、複数のパッケージ化済み(pre-packaged)ＶＭ(packaged VM、パッケージ型ＶＭ）である場合には、プラットフォーム・マネージャ１３０が、１または複数のＶＭ（例えば、ＶＭ１４０）を、上述の複数のパッケージ化済み(pre-packaged)ＶＭ(packaged VM、パッケージ型ＶＭ）のクローンとして生成するようにバーチャライゼーション・マネージャ１２２を（例えば、複数のＡＰＩより成る１つのセットにより）指示するコール(call、呼び出し）を発動することが可能であり、上述の複数のパッケージ化済み(pre-packaged)ＶＭ(packaged VM、パッケージ型ＶＭ）は、今回のアプリケーションの複数のコンポーネントと、ゲスト・オペレーティング・システムとであって、いずれも当該ＶＭ上にインストール済であるものを有する。例えば、プラットフォーム・マネージャ１３０は、ＶＤＩシステムの配備のために、接続サーバ用ＶＭの３個のインスタンスと、セキュリティ・サーバ用ＶＭの１個のインスタンスと、リモート・デスクトップ用ＶＭの５０個のインスタンスとを生成することが可能である。
【００８３】
ステップ８１４においては、プラットフォーム・マネージャ１３０が、前記割り当てられた複数の資源と、前記複数の機能的コンポーネントの、前記配備された複数のインスタンスとを、モデル１３８によって特定された方法で、設定する。一実施態様においては、プラットフォーム・マネージャ１３０が、コンピューティング・プラットフォーム１００の、前記割り当てられた複数の資源を、今回のアプリケーションの複数の機能的要件を満足するように、「チューニング(tune)」することが可能である。例えば、プラットフォーム・マネージャ１３０は、前記割り当てられた複数の資源のデフォールト・ネットワーキング設定値(settings、設定条件、セッティングス)を、ＶＤＩシステム３００の複数の要件であって前記モデルによって特定されたものを満足するように、変更する（modify、修正する）ことが可能である。より具体的には、プラットフォーム・マネージャ１３０は、ＤＭＺ用のＶＬＡＮ、内部データ・ネットワーク用のＶＬＡＮ、外部アクセス（例えば、ファイヤーウォールの、限定された複数のポートを経由するもの）用のＶＬＡＮ、および、管理目的用のＶＬＡＮであって、各ＶＬＡＮが特定の通信品質（ＱｏＳ）の設定値(settings、設定条件、セッティングス)を有する複数のＶＬＡＮを生成するように、ネットワーク１１４を設定することが可能である。プラットフォーム・マネージャ１３０は、さらに、１つのモデル７０４に従って作成された調整値（adjustments)に基づき、今回のアプリケーションの複数の機能的コンポーネント７０２の、前記配備された複数のインスタンスを設定することが可能である。例えば、ＶＤＩという前述の例を参照すれば、前記接続サーバの１個のインスタンスは、そのインスタンスが、前記ＶＤＩシステム内において単独の接続サーバであると仮定するデフォールト構成(configurations、設定状況、構成条件、コンフィギュレーションズ）を有することが可能である。しかし、複数の接続サーバがインスタンス化される（例えば、モデル７０４に基づいて）いくつかの配備においては、プラットフォーム・マネージャ１３０が、前記１つの接続サーバの複数個のインスタンスの前記デフォールト構成(configurations、設定状況、構成条件、コンフィギュレーションズ）を、それらインスタンスが一緒に作用するように（例えば、複製という目的や負荷分散という目的のために）、変更する（modify、修正する）ことが可能である。例えば、プラットフォーム・マネージャ１３０は、前記１つの接続サーバの複数個のインスタンスのうちのいずれか１つを、１つの「マスタ」インタンスとして選択して他の複数個のインスタンス内において「複製(replica)」モードを可能にすること、各インスタンス(each instance、複数個のインスタンスのうちの少なくとも一部の各々）に、前記他の複数個のインスタンスの、既知の複数のＩＰアドレスを与えること、などを行うことが可能である。
【００８４】
図９は、コンピューティング・プラットフォームであってその上で動作する１つのアプリケーションを有するものを既存のコンピューティング環境内に統合するための方法９００であって一実施態様に従うものを示すフロー図である。図示されているように、この方法９００は、ステップ９０２から開始され、そのステップ９０２においては、プラットフォーム・マネージャ１３０が、１または複数の機能的コンポーネントを有する１つのアプリケーションを配備し、それら機能的コンポーネントは、前記統合インフラストラクチャ（例えば、コンピューティング・プラットフォーム１０２）の複数の資源を利用する。今回のアプリケーションの各機能的コンポーネントは、今回のアプリケーションの１または複数のタスクを実行し、および／または、今回のアプリケーションのファンクション層を提供する（例えば、今回のアプリケーションが１つの多層アプリケーションである場合に）。前記複数の機能的コンポーネントは、種々のソフトウエア・コンポーネント、種々のオペレーティング・システムおよび種々の構成（configurations)（例えば、１つのＶＭ１４０上で動作する）を有し、それらソフトウエア・コンポーネント、オペレーティング・システムおよび構成は、１つの多層アプリケーションとして機能するように相互に動作する(inter-operate)。例えば、配備される１つのウェブ・アプリケーションを構成する複数の機能的コンポーネントは、ウェブ・サーバ、アプリケーション・サーバおよびデータベース・サーバであって、それぞれ、仮想化インフラストラクチャ１２０からの(from、から構成される）１つのＶＭ１４０上で実行される(executing)ものを有することが可能である。。
【００８５】
いくつかの実施態様においては、プラットフォーム・マネージャ１３０が、前記複数の機能的コンポーネントを実行するために、コンピューティング・プラットフォーム１０２から物理資源および仮想資源を割り当てる。一実施態様においては、プラットフォーム・マネージャ１３０が、今回のアプリケーションの複数の機能的コンポーネントを実行するために、仮想資源（例えば、ＶＲＡＭ、ストレージ）を有する１または複数のＶＭ（例えば、ＶＭ１４０）を生成するようにバーチャライゼーション・マネージャ１２２を（例えば、複数のＡＰＩより成る１つのセットにより）指示するコール(call、呼び出し）を発動することが可能である。プラットフォーム・マネージャ１３０は、前記複数の機能的コンポーネントの複数個のインスタンスを、前記割り当てられた複数の資源上に配備する。例えば、プラットフォーム・マネージャ１３０は、複数のソフトウエア・パッケージを、前記プロビジョンされた複数のＶＭ１４０上にインストールし、または、これに代えて、プラットフォーム・マネージャ１３０は、複数のパッケージ化済み(pre-packaged)ＶＭ(packaged VM、パッケージ型ＶＭ）に基づき、１または複数のＶＭ（例えば、ＶＭ１４０）を生成するようにバーチャライゼーション・マネージャ１２２を（例えば、複数のＡＰＩより成る１つのセットにより）指示するコール(call、呼び出し）を発動することが可能であり、上述の複数のパッケージ化済み(pre-packaged)ＶＭ(packaged VM、パッケージ型ＶＭ）は、今回のアプリケーションの複数のコンポーネントと、ゲスト・オペレーティング・システムとであって、いずれも当該ＶＭ上にインストール済みであるものを有する。
【００８６】
ステップ９０４においては、プラットフォーム・マネージャ１３０が、前記コンバージド・インフラストラクチャ（例えば、コンピューティング・プラットフォーム１０２）の複数の資源であって、既存のコンピューティング環境（例えば、データ・センタ１００）の複数のコンポーネントに接続されるべきものを決定する。いくつかの実施態様においては、プラットフォーム・マネージャ１３０が、例えば、システム管理者１５０から、入力(input、入力情報)を受け付けることが可能であり、その入力は、前記コンバージド・インフラストラクチャの複数の資源のうち、設定を行うことが必要である資源を特定することと、その特定された資源はどのような構成情報(configuration information、設定のために必要な情報）（例えば、複数のインフラストラクチャ・パラメータ）を必要とするのかを特定することとを行う。システム管理者１５０は、プラットフォーム・マネージャ１３０に対し、前記コンバージド・インフラストラクチャの内部におけるいずれのＶＭが、前記コンバージド・インフラストラクチャの外部からアクセスされることが必要であるかを指示することが可能である。システム管理者１５０は、さらに、いずれのネットワーキング用コンポーネント（例えば、ネットワーク・スイッチ、ホスト）が、前記コンバージド・インフラストラクチャ１０２がデータ・センタ１００と統合されることを可能にするために設定されることが必要であるかをも指示することが可能である。例えば、システム管理者１５０は、プラットフォーム・マネージャ１３０に対し、あるウェブ・サーバを、コンピューティング・プラットフォーム１０２内において実行される１つのアプリケーションの一部として動作させる１つのＶＭ（例えば、「ＶＭ０１」）を特定する入力(input、入力情報)を提供することが可能である。この例においては、システム管理者１５０が、前記ウェブ・サーバは、ウェブ・リクエストを受け付けるために、少なくとも１つのポートが、（例えば、特定のＶＬＡＮを経由して）、パブリック・インターネットに対するネットワーク接続可能性(connectivity)を有するように、設定されることが必要であることを指示する。
【００８７】
ステップ９０６においては、プラットフォーム・マネージャ１３０が、前記コンバージド・インフラストラクチャが既存のコンピューティング環境１００と接続するために必要な前述の複数のインフラストラクチャ・パラメータを特定するインフラストラクチャ・テンプレートに対するプリカーサ(precursor、先行体、先行事象）を生成する。前記インフラストラクチャ・テンプレートに対する前記プリカーサは、「空白(blank)」インフラストラクチャ・テンプレートであって、いずれのパラメータが必要であるかは記述するがそれに対応する値は欠落しているものであることが可能である。いくつかの実施態様においては、前記インフラストラクチャ・テンプレートに対する前記プリカーサが、予め決定されているものであることが可能であり、また、コンピューティング・プラットフォーム１０２内に配備される具体的な１つのアプリケーションごとにそれに合わせて予め生成されるものであることが可能である。
【００８８】
ステップ９０８においては、プラットフォーム・マネージャ１３０が、インフラストラクチャ・テンプレート１３８内に存在する前記複数のインフラストラクチャ・パラメータのための複数の数値を決定する。いくつかの実施態様においては、プラットフォーム・マネージャ１３０が、いずれのインフラストラクチャ・パラメータを決定することが必要であるのかを判定するため、前記空白(blank)インフラストラクチャ・テンプレート（例えば、ステップ９０６において生成されたもの）を処理することが可能である。プラットフォーム・マネージャ１３０は、システム管理者１５０を（例えば、段階的な(step-by-step、段階的に進行する)グラフィカルな「ウィザード」を経由して）、前記複数のインフラストラクチャ・パラメータに対する複数の数値を入力することを催促することが可能である。いくつかの実施態様においては、プラットフォーム・マネージャ１３０が、いくつかのインフラストラクチャ・パラメータのためのいくつかの数値を、システム管理者から受け取った他の複数のインフラストラクチャ・パラメータのための複数の数値に基づいて導出することが可能である。例えば、プラットフォーム・マネージャ１３０は、既存のデータ・センタ１００内の複数のサーバ１０４のために、複数のインフラストラクチャ・パラメータのための数値に基づき、１つの「Ｎ＋１」ドメイン・ネーミング・スキーム(domain naming scheme、１ずつ増加するように、もとの値より１だけ大きくなるようにドメイン名を命名することなど)を導く(deduce)ことが可能である（例えば、「VM01.example.com」、「VM01.example.com」）。
【００８９】
ステップ９１０においては、プラットフォーム・マネージャ１３０が、前記決定された複数のインフラストラクチャ・パラメータおよびそれらに対応する複数の数値を用いることにより、データ・センタ１００の環境を記述する１つのインフラストラクチャ・テンプレートを生成する。ステップ９１２においては、プラットフォーム・マネージャ１３０が、データ・センタ１００との通信を可能にするために、インフラストラクチャ・テンプレート１３９に基づき、物理インフラストラクチャ１１０の複数の資源（例えば、ネットワーク１１４、複数のサーバ１１６、ストレージ１１８）を設定する。ステップ９１４においては、プラットフォーム・マネージャ１３０が、データ・センタ１００の１または複数のサービス１０６との通信を可能にするために、インフラストラクチャ・テンプレート１３９に基づき、仮想化インフラストラクチャ１２０の複数の資源（例えば、複数のＶＭ１４０）を設定する。ステップ９１６においては、プラットフォーム・マネージャ１３０が、任意選択的に、前記生成されたインフラストラクチャ・テンプレート１３９を、将来の使用に備えて、前述のようにして、エクスポートすることが可能である。
【００９０】
いくつかの実施態様においては、１つのインフラストラクチャ・テンプレート１３９を、コンピューティング・プラットフォーム１０２を既存のデータ・センタ１００内に統合するのに適合するように構成することが可能である。すなわち、１つのインフラストラクチャ・テンプレート１３９を、コンピューティング・プラットフォーム１０２を、１つの具体的なアプリケーションと、それに関連する複数の機能的コンポーネントであって、いずれもコンピューティング・プラットフォーム１０２内において動作するものに適合するように設定することが可能なのである。したがって、プラットフォーム・マネージャ１３０は、コンピューティング・プラットフォーム１０２内において実行される今回のアプリケーションに固有の複数のインフラストラクチャ・パラメータ（例えば、構成（configurations、設定状況)、設定値(settings、設定条件、セッティングス)および情報）のための複数の数値を決定する。一例においては、アプリケーション依存型インフラストラクチャ・テンプレート１３９を、コンピューティング・プラットフォーム１０２内において動作する仮想デスクトップ・インフラストラクチャ（ＶＤＩ）に適合するように生成することが可能である。
【００９１】
図１０は、図２のコンピューティング・プラットフォームを既存のデータ・センタ１００内において統合する例示的なワークフローであってこの書類に開示されているものの一実施態様に従うものを示している。図示されているように、資源発見サービス１３３は、ＶＤＩシステム２００にとっての注目対象である資源（例えば、サーバ１０４）を特定する。例えば、資源発見サービス１３３は、少なくともドメイン・コントローラ２０８、ＤＮＳサービス２１６およびネットワーク１０８を有する既存のデータ・センタ１００を特定することが可能である。いくつかの実施態様においては、資源発見サービス１３３が、ＶＤＩシステム２００の複数の機能的コンポーネントであってコンピューティング・プラットフォーム１０２の外部からのアクセスを必要とするものをホストする資源としてのＶＭ１０４を発見する。資源発見サービス１３３は、さらに、コンピューティング・プラットフォーム１０２をデータ・センタ１００と統合することを可能にするために設定されることが必要であるネットワーキング・コンポーネント（例えば、ネットワーク・スイッチ、ホスト）を発見する。
【００９２】
一実施態様においては、プラットフォーム・マネージャ１３０が、コンピューティング・プラットフォーム１０２をデータ・センタ１００と統合するために、予め定められた空白インフラストラクチャ・テンプレートであってＶＤＩシステム２００に関連付けられたものを使用することが可能である。そのインフラストラクチャ・テンプレート１３９は、ＶＤＩシステム２００の複数の機能的コンポーネントによって要求されることが予想される構成（configurations、設定条件、コンフィギュレーションズ）、設定値(settings、設定条件、セッティングス)および他のセット・アップを特定する。いくつかの実施態様においては、ＶＤＩシステム２００の１個のインスタンスのためのインフラストラクチャ・テンプレート１３９が、接続サーバをドメイン・コントローラ２０８に適切に接続するのに適した構成（configurations）と、セキュリティ・サーバを適切にネットワーク１０８に接続するのに適した構成（configurations）と、複数のリモート・デスクトップをネットワーク１０８に適切に接続するのに適した構成（configurations）とを有することが可能である。インフラストラクチャ・テンプレート１３９によって特定される複数のインフラストラクチャ・パラメータのいくつかの例としては、ドメイン・コントローラ２０８の管理に適するように設定された１つのＩＰアドレス、ドメイン・コントローラ２０８へのアクセスに適するように設定された１つのＩＰアドレス、ドメイン・コントローラ２０８のための認証情報、コンピューティング・プラットフォーム１０２がデータ・センタ１００の管理プレーンと通信するために使用すべき１つのＶＬＡＮ  ＩＤ、コンピューティング・プラットフォーム１０２が、データ・センタ１００のアスセス・ネットワーク１０８と通信するために使用すべき１つのＶＬＡＮ  ＩＤ、管理およびユーザ・アクセスのために、ＶＤＩシステム２００の複数の機能的コンポーネントに割り当てられるべき複数のＩＰアドレスの範囲、データ・センタ１００のアクセス・ネットワーク１０８上のＤＮＳサービス２１６の１つのＩＰアドレス、および、コンピューティング・プラットフォーム１０２内の複数のＶＭ１４０のための１つのサブネット・マスクおよび１つのゲートウェイＩＰアドレスがある。
【００９３】
図示されているように、システム管理者１５０は、資源発見サービス１３３に、複数のインフラストラクチャ・パラメータ１０００のための複数の数値を（例えば、グラフィカル・ユーザ・インタフェースを介して）提供する。一例においては、システム管理者１５０は、ＧＵＩクエリに応答して、データ・センタ１００内において動作するＤＮＳサービス２１６が「192.168.15.150」というＩＰアドレスに位置させられていることを特定することが可能である。別の例においては、システム管理者１５０が、ＶＤＩシステム２００の複数の機能的コンポーネントのために１つのＶＬＡＮであって、「４０４０」というＶＬＡＮ  ＩＤと、「Infra」というＶＬＡＮラベルとを有するものを特定することが可能である。いくつかの実施態様においては、プラットフォーム・マネージャ１３０が、ＶＤＩシステム２００のための複数のインフラストラクチャ・パラメータのうちの一部のためのいくつかの数値を、システム管理者から受信した、残りのインフラストラクチャ・パラメータのいくつかの数値に基づき、導出することが可能である。例えば、ＶＤＩシステム２００の特定の配備(under certain deployments of a VDI system 200）のもとでは、有利である可能性があることは、複数のユーザ・アカウント２１４を、ＶＤＩシステム２００と共に使用される具体的な１つの「組織単位(organizational unit、管理・設定の最小単位である複数のアカウントの集合)」に組織化してもらうということである。したがって、ドメイン・コントローラ用のネットワークのＩＰアドレスおよび認証情報を用いることにより、プラットフォーム・マネージャ１３０は、ドメイン・コントローラ２０８に接続して、そのような１つの組織単位（ＯＵ）が既に存在しているか否かを判定し、もし存在していなければ、ＶＤＩシステム２００と共に用いられる１つの組織単位を生成することが可能である。
【００９４】
プラットフォーム・マネージャ１３０は、コンピューティング・プラットフォーム１０２内において動作する具体的な１つのアプリケーション（例えば、ＶＤＩシステム２００）を有するコンピューティング・プラットフォーム１０２の統合を行うためにインフラストラクチャ・テンプレート１３９を生成する。いくつかの実施態様においては、その生成されたインフラストラクチャ・テンプレート１３９を、その後の再利用のためにエクスポートすることが可能である。さらに、１つのインフラストラクチャ・テンプレート１３９を、コンピューティング・プラットフォーム１０２の１個のインスタンスの複数回の配備のうち初期のものからインポートして、そのインフラストラクチャ・テンプレート１３９を、コンピューティング・プラットフォーム１０２をデータ・センタ１００内において統合するために、用いることが可能である。
【００９５】
図示されているように、資源設定サービス１３５は、データ・センタ１００の複数のサービス１０６と相互に動作する(inter-operate)ことを目的としてコンピューティング・プラットフォーム１０２の複数の資源を設定するために、インフラストラクチャ・テンプレート１３９を用いる。一実施態様においては、資源設定サービス１３５が、インフラストラクチャ・テンプレート１３９において特定された複数のパラメータを用いることによって複数のＶＬＡＮを生成するために、複数のネットワーク・コンポーネント（例えば、ネットワーク１１４）および複数のホスト（例えば、複数のサーバ１１６）を設定する。一実施態様においては、資源設定サービス１３５が、コンピューティング・プラットフォーム１０２の外部からアクセスされることが必要である複数のＶＭ１４０にネットワーク・インタフェース・カード（ＮＩＣ）を付与し、さらに、そのＮＩＣを、資源設定サービス１３５内において特定された複数のパラメータを用いることによって設定する。
【００９６】
この書類に開示されているものの種々の実施態様は、コンピュータ・システムと共に使用されるプログラム・プロダクトとして実現することが可能である。そのプログラム・プロダクトのうちの１または複数のプログラムは、前記種々の実施態様の複数の機能（この書類の記載されている複数の方法を含む）を定義し、また、種々のコンピュータ読み取り可能な記録媒体上に格納されることが可能である。例示的なコンピュータ読み取り可能な記録媒体としては、（ｉ）書換え不能な記録媒体（例えば、コンピュータ内のＲＯＭデバイスであって、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスク、フラッシュ・メモリ、ＲＯＭチップまたは他の任意の形式の固体非不揮発半導体メモリ）であって、情報が永久に保存されるもの、および（ｉｉ）書換え可能な記録媒体（例えば、ハードディスク・ドライブ、ＵＳＢフラッシュ・メモリ・デバイスなど）であって、編集可能な情報が保存されるものがあるが、それらに限定されない。
【００９７】
本発明が、これまで具体的ないくつかの実施態様を参照して説明されてきており、多数の具体的な細部が、本発明のより完全な理解のために記述されている。しかし、当業者であれば、種々の改良および変更を、本発明のより広範な主旨および範囲から逸脱することなく、それら実施態様に施すことが可能であることが理解される。したがって、上述の文章による説明および複数の図面は、限定的な意味で考慮されるのではなく例示的な意味で考慮されるべきである。
【００９８】
これまでの説明は、この書類に開示されているもののいくつかの実施態様に向けられているが、この書類に開示されているものに対する別のおよび更なるいくつかの実施態様を、この書類に開示されているものの基本的な範囲から逸脱することなく、想起することが可能であり、また、この書類に開示されているものの範囲は、後述の特許請求の範囲の記載によって決まる。
【図１】
2015526830.tif 000004
【図２】
2015526830.tif 000005
【図３】
2015526830.tif 000006
【図４】
2015526830.tif 000007
【図５】
2015526830.tif 000008
【図６】
2015526830.tif 000009
【図７】
2015526830.tif 000010
【図８】
2015526830.tif 000011
【図９】
2015526830.tif 000012
【図１０】
2015526830.tif 000013
【国際調査報告】
2015526830.tif 000014
2015526830.tif 000015
2015526830.tif 000016