(57)【特許請求の範囲】
【請求項１】
仮想マシンを起動するコンピュータ実装された方法であって、
実行可能な命令を備えて構成される１つ以上のコンピュータシステムの制御下で、
仮想マシンプロバイダの複数の顧客に関連付けられた複数の仮想マシンを少なくとも部分的に実装するように構成された少なくとも１つの一般的なサーバを含む一般的なサーバプールを維持するステップと、
前記仮想マシンプロバイダの前記複数の顧客のサブの組に専用の少なくとも１つの専用サーバを含む専用サーバプールを維持するステップと、
前記仮想マシンプロバイダの顧客から仮想マシンを起動する要求を受信するステップであって、前記要求は、前記専用サーバプールから引き出される少なくとも１つのサーバによって前記仮想マシンがホストされることを指定するサーバ制約に関連付けられる、ステップと、
前記要求に応答して、前記少なくとも１つの専用サーバを前記仮想マシンに割り当てることによって少なくとも部分的に前記仮想マシンを起動するステップであって、前記少なくとも１つの専用サーバは１組のハードウェアリソースを備える、ステップと、
前記仮想マシンプロバイダに関連付けられたデータストアに、前記少なくとも１つの専用サーバが前記顧客の前記仮想マシンをホストすることに専用であることを示すステップと
を含むことを特徴とするコンピュータ実装された方法。
【請求項２】
前記少なくとも１つの専用サーバに関連付けられたリソースを前記仮想マシンに専用にするステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装された方法。
【請求項３】
前記一般的なサーバプールは複数の一般的なサーバを含み、
前記専用サーバプールを維持するステップは、前記複数の一般的なサーバの少なくとも１つのサーバを前記一般的なサーバプールから前記専用サーバプールに遷移することによって少なくとも部分的に、前記少なくとも１つのサーバを前記複数の顧客の前記サブの組に専用にするステップを含むことを特徴とする請求項１に記載のコンピュータ実装された方法。
【請求項４】
前記専用にするステップは、前記複数の顧客の前記サブの組による前記仮想マシンに対する予測要求に少なくとも部分的に基づく予測的なものであることを特徴とする請求項３に記載のコンピュータ実装された方法。
【請求項５】
前記少なくとも１つのサーバを前記一般的なサーバプールから前記専用サーバプールに遷移することは、前記複数の顧客の前記サブの組の少なくとも１人によって指定されるサーバ遷移プロシージャを実行することを含むことを特徴とする請求項３に記載のコンピュータ実装された方法。
【請求項６】
前記複数の顧客の前記サブの組の少なくとも１人は、前記仮想マシンプロバイダによって提供される複数のサーバ遷移プロシージャから前記サーバ遷移プロシージャを選択することを特徴とする請求項５に記載のコンピュータ実装された方法。
【請求項７】
前記専用サーバプールを維持するステップは、前記複数の顧客の前記サブの組によるサーバに対する予想される需要に少なくとも部分的に基づいて、サーバを前記専用サーバプールに遷移するステップを含むことを特徴とする請求項１に記載のコンピュータ実装された方法。
【請求項８】
前記サーバ制約はさらに、前記専用サーバプールからの少なくとも１つのサーバによって実装される前記仮想マシンの第１のコンポーネントと、前記一般的なサーバプールからの少なくとも１つのサーバによって実装される前記仮想マシンの第２のコンポーネントとを指定することを特徴とする請求項１に記載のコンピュータ実装された方法。
【請求項９】
前記仮想マシンを起動する前記要求は、前記仮想マシンに関連付けられた顧客から受信されることを特徴とする請求項１に記載のコンピュータ実装された方法。
【請求項１０】
仮想マシンを起動するコンピュータ化されたシステムであって、
仮想マシンプロバイダの複数の顧客に関連付けられた複数の仮想マシンを集合的に実装することが可能な、複数のサーバと、
少なくとも
前記仮想マシンプロバイダの前記複数の顧客のうちの顧客から仮想マシンを起動する要求を受信し、前記要求は、少なくとも１つの専用サーバによってホストされる前記仮想マシンを示す情報に関連付けられる、
前記要求に応答して、少なくとも１つの利用可能なサーバを選択して、前記顧客に専用にし、
前記少なくとも１つの利用可能なサーバが、前記顧客の仮想マシンをホストすることのみに専用であることを示す情報をデータストアに格納させ、
前記少なくとも１つの利用可能なサーバを前記顧客に専用にさせた後、前記少なくとも１つの利用可能なサーバを用いて前記仮想マシンを起動させるよう構成された起動インタフェースであって、前記仮想マシンを起動することは、仮想ネットワークに前記仮想マシンをプロビジョニングすることを含み、前記仮想ネットワークは、前記仮想マシンプロバイダによって運営されるハードウェアリソースを用いて少なくとも一部実装される、起動インタフェースと
を備えることを特徴とするコンピュータ化されたシステム。
【請求項１１】
前記仮想ネットワークに前記仮想マシンをプロビジョニングすることは、前記仮想マシンプロバイダの他の顧客のうちの少なくとも１人が、前記仮想マシンに関する未発表情報に対するアクセス権を得る可能性を低くすることを特徴とする請求項１０に記載のコンピュータ化されたシステム。
【請求項１２】
前記情報は、前記顧客の仮想マシンが同一の専用サーバによってホストされることを示す少なくとも１つのサーバ制約を含む１組のサーバ制約を含むことを特徴とする請求項１０に記載のコンピュータ化されたシステム。
【請求項１３】
前記起動インタフェースは、前記少なくとも１つの利用可能なサーバを、一般的なサーバプールから専用サーバプールに遷移するようさらに構成され、
前記遷移することは、
前記少なくとも１つの利用可能なサーバが前記一般的なサーバプール内であるときに、前記少なくとも１つの利用可能なサーバに関連付けられた仮想マシンプロバイダイベントを識別することであって、前記少なくとも１つの利用可能なサーバは、１組のハードウェアリソースを備える、ことと、
１組の入口プロシージャから選択された入口プロシージャを開始することであって、前記入口プロシージャは、前記複数の顧客のうちの前記顧客に特有であり、前記少なくとも１つの利用可能なサーバに対する遷移時間を少なくとも示し、前記少なくとも１つの利用可能なサーバは前記入口プロシージャの少なくとも一部の間遷移状態にある、ことと、
前記少なくとも１つの利用可能なサーバが前記専用サーバプールに入るとき、前記入口プロシージャを終了すること
を含むことを特徴とする請求項１０に記載のコンピュータ化されたシステム。
【請求項１４】
前記入口プロシージャは、データ記憶媒体フォーマッティング、安全なデータ消去プロシージャを含むデータ記憶媒体消去、ソフトウェアインストール、構成要素の構成、構成要素の再割り当て、アクセス制御構成、ファイアウォール再構成、仮想マシン移動、認証証明の生成および発行、移動式データセンタの再配置、顧客によるサーバ遷移の手動再調査、または顧客が提供したコンピュータ実行可能な命令を含む顧客が提供した入口プロシージャを含むことを特徴とする請求項１３に記載のコンピュータ化されたシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
多種多様のタスクを実行および／または支援するためにコンピュータを使用することが、個人や様々な種類の組織にとって一般的になっている。物理的なコンピュータを購入することや維持することよりも、仮想コンピュータシステム、および他の様々な種類の仮想コンピューティングリソースを、そのような仮想リソースの専門のプロバイダで、プロビジョニングすることがますます一般的になってきた。仮想リソースプロバイダの顧客の観点からすれば、仮想コンピューティングリソースの使用は、費用効率や変化するコンピューティングニーズに対する時宜を得た応答などの様々な利点を有し得る。しかしながら、従来の仮想リソースプロバイダは様々な欠点を有する。
【０００２】
仮想リソースプロバイダは、複数の仮想コンピュータシステムをホストすることがそれぞれ可能な比較的大容量のコンピュータを含む大規模の物理的なコンピュータを管理してもよい。仮想リソースプロバイダは、仮想コンピュータシステムを物理的なホストコンピュータに割り当てる様々な方法を使用することができる。従来のいくつかの仮想リソースプロバイダでは、１人の顧客用にプロビジョニングされた特定の仮想コンピュータシステムは、複数の他の顧客に関連付けられた仮想コンピュータシステムと共に大容量コンピュータを共有してもよい。そのような共有は、規制要件、組織の方針および／または認識されるデータ安全リスクを含む様々な理由のために１人以上の顧客に受け入れ難いかもしれない。従来のいくつかの仮想リソースプロバイダは、顧客の観点からおよび／またはプロバイダの観点から、仮想リソースプロバイダの有効性に対し、効率（費用効率を含む）に対しおよび／または他の仮想リソースプロバイダの利点に対して有害な方法での受け入れ難い共有を阻止することを試みている。
【図面の簡単な説明】
【０００３】
本開示による様々な実施形態は、図面を参照にして説明される。
【０００４】
類似の構成要素および特徴を参照するために同一の番号が本開示および図面の全体を通して使用されるが、そのような番号の繰り返しは、説明および理解を簡単にするためであり、様々な実施形態を制限するものとして見なされるべきではない。
【０００５】
【図１】少なくとも１つの実施形態による態様を実施する環境例を図示する概略図である。
【図２】少なくとも１つの実施形態による仮想リソースプロビジョニングアーキテクチャ例の態様を描写する概略図である。
【図３】少なくとも１つの実施形態による地理的領域例の態様を描写する地理的図である。
【図４】少なくとも１つの実施形態によるデータセンタ例の態様を描写する概略図である。
【図５】少なくとも１つの実施形態によるデータセンタ例の別の態様を描写する概略図である。
【図６】少なくとも１つの実施形態による仮想コンピューティングシステムサーバ例の態様を描写する概略図である。
【図７】少なくとも１つの実施形態による実装リソースプール例の態様を描写する概略図である。
【図８】少なくとも１つの実施形態による専用実装リソースプールの遷移プロシージャのタイミング例の態様を描写するタイミング図である。
【図９】少なくとも１つの実施形態による実装リソース利用アカウンティング方式例の態様を描写するグラフである。
【図１０】少なくとも１つの実施形態による仮想リソースプロバイダの制御プレーン例の態様を描写する概略図である。
【図１１】少なくとも１つの実施形態による仮想プロビジョニングのためのステップ例を描写するフローチャートである。
【図１２】少なくとも１つの実施形態による実装リソース利用可能性を決定するステップ例を描写するフローチャートである。
【図１３】少なくとも１つの実施形態による実装リソースを割り当てるおよび／または割り当てることを試みるステップ例を描写するフローチャートである。
【図１４】少なくとも１つの実施形態による専用実装リソースプールを確立するステップ例を描写するフローチャートである。
【図１５】少なくとも１つの実施形態による非アクティブな専用実装リソースバッファを維持するステップ例を描写するフローチャートである。
【図１６】少なくとも１つの実施形態による費用を追跡するステップ例を描写するフローチャートである。
【図１７】少なくとも１つの実施形態によるワークフローのためのステップ例を描写するフローチャートである。
【発明を実施するための形態】
【０００６】
以下の記載において、様々な実施形態が記載される。説明のために、具体的な構成および詳細が、実施形態の十分な理解をもたらすために記載される。しかしながら、実施形態が具体的な詳細無しに実施され得ることは、当業者にとって明らかでもあろう。更に、周知の特徴は、記載されている実施形態を不明瞭にしないために省略されまたは簡単にされることがある。
【０００７】
少なくとも１つの実施形態において、仮想リソースは、潜在的な実装リソース境界を認識し、考慮した方法でプロビジョニングされることができる。仮想リソースプロバイダは、特定の組の実装リソース（例えば、データセンタ空間、物理的なサーバコンピュータ、ネットワーキングハードウェア）で様々な種類の仮想リソース（例えば、仮想コンピュータシステム、仮想データストア、仮想ネットワーク接続）のそれぞれをプロビジョニングすることができる。少なくともいくつかの実装リソースは、仮想リソースプロバイダの異なる顧客にそれぞれ潜在的に関連付けられた複数の仮想リソースインスタンスの実施に参加可能であってもよい。少なくとも１つの実施形態において、仮想リソースプロバイダの１組の顧客（すなわち、１人以上の顧客）は、特定の仮想リソースがその組の顧客に専用である実装リソースで実装される（すなわち、「専用実装リソース」で実装される）こと、および／またはその組の顧客の仮想リソースを実施するために利用される特定の実装リソースが専用実装リソースになることを指定することができる。
【０００８】
実装リソース境界（例えば、物理的な分離境界）は、情報バリア（例えば、意図されていない情報転送および／または認証されていないデータ修正に対するバリア）に対応することができる。したがって、実装リソースを仮想リソースプロバイダの特定の組の顧客に専用にすること（それによって、その実装リソースから他の顧客を除外すること）は、仮想リソースプロバイダの特定の組の顧客と他の顧客との間に１つ以上の情報バリアを確立し得る（すなわち、特定の組の顧客を１つ以上の情報バリアの「後に」配置し得る）。あるいは、またはそれに加えて、実装リソースを専用にすると、例えば、予期しない実装リソースの競合を減らすことによって少なくとも部分的に、仮想リソース性能を向上することができる。別の代替案として、または更にそれに加えて、実装リソースを専用にすると、例えば他の実装リソースで生じる操作障害から仮想リソースを分離することによって、仮想リソースの耐障害性を向上することができる。
【０００９】
仮想リソースプロバイダは、仮想リソースプロバイダのどの顧客も除外されない実装リソースを含む一般的な実装リソースプールを維持してもよい。仮想リソースプロバイダは、仮想リソースプロバイダの１つ以上の組の顧客に専用の実装リソースを含む１つ以上の専用実装リソースプールを更に維持してもよい。専用実装リソースプールのそれぞれは、関連付けられた組の入口および／または出口プロシージャ（集合的には「遷移プロシージャ」）、例えばアクセス構成を含む実装リソース構成、記憶媒体フォーマッティング、および安全なデータ消去など、を有してもよい。専用プール内の実装リソースは、アクティブまたは非アクティブ（すなわち、１つ以上の仮想リソースの実装にアクティブに参加することまたはアイドル状態であること）であってもよい。仮想リソースプロバイダは、アクティブな実装リソースに対する非アクティブな実装リソースの目標割合、および／またはアクティビティレベルにおける予測変化（例えば、変化のレート）に少なくとも部分的に基づくサイズを有する非アクティブな実装リソース「バッファ」を維持するために、専用実装リソースプールにおけるアクティビティレベル、ならびに実装リソースが一般的な実装リソースプールからおよび一般的な実装リソースプールに遷移することを監視してもよい。
【００１０】
仮想リソースを顧客に提供することに関連付けられ、財務上の費用を含む、様々な費用が存在し得る。そのような費用は、仮想リソースプロバイダの顧客に提示されることができる。費用は、仮想リソースの単位時間当たりの利用可能性（例えば、顧客にプロビジョニングされる各仮想コンピュータシステムのための毎月のまたは毎時間の費用）に関して、処理され、記憶され、および／または転送されるデータの単位（例えば、ギガバイト）に関して、ならびに／あるいは仮想リソースを実装するためにアクティブに利用され、および／または他に利用不可能とされる実装リソースの単位に関して、提示されてもよい。特定の組の顧客に関連付けられた特定の専用プール内のアクティブなおよび非アクティブな実装リソースに対応する費用は、費用明細において別個のアクティブなおよび非アクティブな量としてこれらの顧客に提示されることができる。あるいは、個々の量は、特定の専用プール内のアクティブなおよび非アクティブな実装リソースを維持することに対応する費用に少なくとも部分的に基づいて顧客に提示されてもよい。別の代替案として、個々の量は、仮想リソースプロバイダ全体についてアクティブなおよび非アクティブな実装リソースを維持することに対応する費用に少なくとも部分的に基づいて顧客に提示されてもよい。少なくとも１つの実施形態において、仮想リソースプロバイダの顧客は、仮想リソースインスタンスおよび／または関連付けられた専用実装リソースを予約することによって専用プール内の実装リソースに関連付けられた費用を削減してもよい。
【００１１】
様々なアプローチが、様々な環境において様々なアプリケーションのために実施されてもよい。例えば、図１は、様々な実施形態による態様を実施する環境例１００の態様を図示する。理解されるように、ウェブベースの環境は、説明の目的で使用され得るが、様々な実施形態を実施するために、適切な異なる環境が使用されてもよい。示される環境１００は、テストまたは開発部分（もしくは側）と製造部分の両方を含む。製造部分は、電子クライアントデバイス１０２を含み、このデバイスは、適切なネットワーク１０４上で要求、メッセージ、または情報を送信および受信するように、ならびにデバイス１０２のユーザへ情報を伝達し戻すように操作可能な任意の適切なデバイスを含んでもよい。そのようなクライアントデバイスの例には、パーソナルコンピュータ、携帯電話、携帯用メッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、個人用情報端末、および電子ブックリーダ等が挙げられる。
【００１２】
ネットワーク１０４は、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、ワイヤレスデータネットワーク、または任意の他のこのようなネットワークもしくはその組み合わせを含む、任意の適切なネットワークを含むことができる。このようなシステムに利用される構成要素は、ネットワークの種類および／または選択される環境に少なくとも部分的に依存してもよい。このようなネットワークを介する通信のためのプロトコルおよび構成要素は、周知であり、本明細書において詳細は説明されない。ネットワーク上の通信は、有線または無線接続、およびその組み合わせによって可能であってもよい。この例において、ネットワーク１０４は、環境が、要求の受信をするための、およびそれに応答してコンテンツをサービスするためのウェブサーバ１０６を含むため、インターネットを含むが、他のネットワークについては、当業者には明らかなように、同様の目的をサービスする代替のデバイスが使用されてもよい。
【００１３】
例示的な環境１００は、少なくとも１つのアプリケーションサーバ１０８およびデータストア１１０を含む。連鎖しているか、あるいはそうでなければ構成されていてもよく、適切なデータストアからデータを入手する等のタスクを実行するために相互作用可能な、複数のアプリケーションサーバ、層、または他の要素、プロセス、もしくは構成要素が存在してもよいことを理解されたい。本明細書に使用される際、用語「データストア」は、データの記憶、アクセス、および／または読み出し能力のある、任意のデバイスまたはデバイスの組み合わせを指し、それは、任意の標準、分散、またはクラスタ化された環境における、データサーバ、データベース、データ記憶デバイス、およびデータ記憶媒体の任意の組み合わせ、ならびに任意の数のそれらを含んでもよい。
【００１４】
アプリケーションサーバ１０８は、クライアントデバイス１０２に対する１つ以上のアプリケーションの態様を実行するために、必要に応じて、データストアと統合するための任意の適切なハードウェアおよびソフトウェアを含み、アプリケーションのためのデータアクセスとビジネスロジックの大半に対処することができる。アプリケーションサーバ１０８は、データストア１１０と連携して、アクセス制御サービスを提供し、ユーザに転送される、文字、図、音声、および／または映像等のコンテンツを生成することができ、そのコンテンツは、この例においては、ウェブサーバ１０６によって、ＨＴＭＬ、ＸＭＬ、または別の適切な構造化言語の形態で、ユーザにサービスすることが可能である。
【００１５】
全ての要求および応答の対処、ならびにクライアントデバイス１０２とアプリケーションサーバ１０８との間のコンテンツ送達は、ウェブサーバ１０６によって対処することができる。ウェブサーバおよびアプリケーションサーバ１０６、１０８は、本明細書に記載の構造化コードが、本明細書の別の部分に記載されるように、任意の適切なデバイスまたはホストマシン上で実行可能であるため、必要ではなく、単なる構成要素例である。更に、環境１００は、テスト自動化フレームワークが、ユーザまたはアプリケーションが登録可能なサービスとして提供することができるような方法で、設計することができる。テスト自動化フレームワークは、本明細書に記載の様々なテストパターンのいずれかの実装として提供されてもよいが、様々な他の実装も、本明細書に記載または提案されるように、同様に使用可能である。
【００１６】
環境１００はまた、開発者、データ管理者、またはテスター等のユーザがシステムにアクセスすることを可能にする、ユーザデバイス１１８を含む、開発側および／またはテスト側を含むことができる。ユーザデバイス１１８は、クライアントデバイス１０２に関して上記されたような、任意の適切なデバイスまたはマシンであってもよい。環境１００はまた、例えば、アプリケーションサーバ１０８と同じように機能するが、典型的に、コードが製造側で展開され実行されて、外部ユーザにアクセス可能になる前に、開発およびテストの間にコードを走らせる、開発サーバ１２０を含むことができる。いくつかの実施形態において、アプリケーションサーバは、開発サーバとして機能することができ、別個の製造およびテスト記憶が使用されなくてもよい。
【００１７】
データストア１１０は、特定の態様に関連するデータを記憶するために、複数の別個のデータテーブル、データベース、または他のデータ記憶機構および媒体を含むことができる。例えば、図示されるデータストア１１０は、製造側にコンテンツを供給するために使用可能である、製造データ１１２およびユーザ情報１１６を記憶するための機構を含む。データストア１１０はまた、テスト側のユーザ情報とともに使用可能である、テストデータ１１４を記憶するための機構を含むことが示される。例えば、ページイメージ情報およびアクセス権情報については、データストア１１０内に記憶される多数の他の態様があってもよく、これらの態様は、適切として上に挙げられた機構のいずれか、またはデータストア１１０内の追加の機構内に記憶してもよいことを理解されたい。
【００１８】
データストア１１０は、それに関連するロジックを通じて、アプリケーションサーバ１０８または開発サーバ１２０から命令を受信し、それに応答してデータを入手、更新、またはそうでなければ処理するように、操作可能である。一実施例において、ユーザは、特定の種類のアイテムに対する検索要求を提示する場合がある。この場合において、データストア１１０は、ユーザの識別を検証するために、ユーザ情報１１６にアクセスすることができ、その種類のアイテムについての情報を入手するために、カタログの詳細情報にアクセスすることができる。情報は、次いで、例えば、ユーザが、ユーザデバイス１０２上のブラウザを介して閲覧可能なウェブページ上の、結果一覧において、ユーザに返却することが可能である。関心のある特定のアイテムについての情報は、ブラウザの専用ページまたはウィンドウで閲覧可能である。
【００１９】
それぞれのサーバは、典型的に、そのサーバの一般的な管理および操作に、実行可能なプログラム命令を提供するオペレーティングシステムを含み、典型的に、サーバのプロセッサによって実行される際に、サーバが目的の機能を実行することを可能にする、命令を記憶したコンピュータ可読媒体を含む。オペレーティングシステムの好適な実装およびサーバの一般的な機能性は、既知または市販により入手可能であり、特に、本明細書の開示の観点からは、当業者によって容易に実装される。
【００２０】
一実施形態における環境１００は、１つ以上のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続される、いくつかのコンピュータシステムおよび構成要素を利用する、分散コンピューティング環境である。しかしながら、このようなシステムが、図１に図示されるものよりも、少ないかまたは多い数の構成要素を有するシステムにおいても、同様に良好に作動可能であることは、当業者には認識されるであろう。したがって、図１のシステム１００の描写は、事実上例示としてとらえられるべきであり、本開示の範囲を制限するべきものではない。
【００２１】
少なくとも１つの実施形態において、環境１００の１つ以上の態様は、仮想リソースプロビジョニングアーキテクチャを組み込む、および／またはそのアーキテクチャ内に組み込まれることができる。図２は、少なくとも１つの実施形態による仮想リソースプロビジョニングアーキテクチャ例２００の態様を描写する。仮想リソースプロビジョニングアーキテクチャ例２００は、ネットワーク２０８上で仮想リソースプロバイダ２０６に通信接続される複数のクライアント２０２〜２０４を含む。例えば、クライアント２０２〜２０４は、図１のコンピューティングデバイス１０２などのコンピューティングデバイスおよび／またはこのようなコンピューティングデバイスに組み込まれるクライアントプログラムに対応することができる。クライアント２０２とクライアント２０４との間の省略記号は、仮想リソースプロビジョニングアーキテクチャ２００が、任意の適切な数（例えば、数千、数百万、およびそれ以上）のクライアントを含み得ることを示すが、明瞭さのため、図２には２つだけを示す。
【００２２】
クライアント２０２〜２０４のうちの１つ以上は、仮想リソースプロバイダ２０６の制御プレーン２１０と相互作用し、それによって１つ以上の仮想リソース２１２をプロビジョニングするために、仮想リソースプロバイダ２０６の１人以上の顧客によって利用されることができる。あるいは、またはそれに加えて、クライアント２０２〜２０４のうちの１つ以上は、プロビジョニングされる仮想リソース２１２と相互作用するために（必ずしも仮想リソースプロバイダ２０６の顧客によってではなく）利用されてもよい。プロビジョニングされる仮想リソース２１２は、任意の適切な仮想リソースを含んでもよい。適切な仮想リソース２１２の例は、仮想コンピュータシステム２１４、仮想ネットワーク接続２１６、および仮想データストア２１８、ならびに図２に示されていない仮想リソース、例えば専門のデータ処理エージェント、音声および映像ストリーミングエージェントを含むメディアストリーミングエージェント、メッセージ待ち行列、登録している登録者に一致するイベントが公開登録トピックに公開されたことを通知するように構成された公開登録トピック、監視エージェント、負荷分散エージェント、およびこれらの適切な組み合わせなどを含む。
【００２３】
仮想リソースプロバイダ２０６は、任意の適切な実装リソース２２０を含んでもよい。仮想リソース２１２のそれぞれは、１組の実装リソース２２０によって実装されてもよい。少なくとも１つの実施形態において、実装リソース２２０のうちの様々な実装リソースは、仮想リソース２１２のうちの複数の仮想リソースを、少なくとも部分的に、実装することに参加するように構成されてもよい。適切な実装リソース２２０の例は、仮想コンピュータシステム（ＶＣＳ）サーバ２２２、ネットワークハードウェア２２４、およびデータストアサーバ２２６、ならびに図２に示されていない実装リソースおよび／または図３、図４、図５、および図６を参照にしてより詳細に以下に記載されるものを含む。制御プレーン２１０は、仮想リソースプロビジョニング要求を処理し、実装リソース２２０に対する仮想リソース２１２の割り当てを管理し、および／または仮想リソース２１２に対する実装リソース２２０の割り当てを管理し、ならびに、関連付けられた費用アカウンティングサービスを提供することができる。少なくとも１つの実施形態による仮想リソースプロバイダの制御プレーン例は、図１０を参照にしてより詳細に以下に記載される。
【００２４】
実装リソース２２０の特定の実装リソースが仮想リソース２１２のうちの複数の仮想リソースの実装に参加すると、実装リソースが競合することがあり、例えば、実装リソースは、サービス時間の増加を要求する複数の仮想リソースから十分なサービスの要求を受信することがある。競合する実装リソースは、例えば、要求のサービス時間の変化に少なくとも部分的に基づいて、仮想リソース間の意図されていないおよび／または認証されていない情報転送の原因になり得る。少なくとも１つの実施形態において、１組の顧客は、その組の顧客に関連付けられた仮想リソースが専用実装リソースでプロビジョニングされることを要求することによって少なくとも部分的に、仮想リソースプロバイダ２０６の他の顧客へのこのような情報転送に対するバリアを確立してもよい。そのようなバリアは、仮想リソースプロバイダの他の顧客のうちの１人以上が、その組の顧客の仮想リソースに関する情報（未発表情報を含む）に対する認証されていない読み取りおよび／または書き込みアクセス権を得るという可能性を低くすることができる。実装リソース専用単位（ｕｎｉｔ）を規定する実装リソース専用境界は、物理的なバリアおよび／または物理的な分離による境界を含む物理的なならびに／あるいはハードウェア構成要素間の境界に、更には、ハード（例えば、ハードウェアが実施する）スケジューリングおよび／またはタイミング境界、ならびにそれらの適切な組み合わせに対応することができる。
【００２５】
実装リソース専用境界はまた、少なくともいくつかの実施形態において地理的境界に対応することもできる。図３は、少なくとも１つの実施形態による地理的領域例３００の態様を描写する。地理的領域３００は、地続きのアメリカ合衆国およびいくつかのデータセンタ３０２〜３１８を含む。少なくとも１つの実施形態において、仮想リソースプロバイダ２０６の実装リソース２２０（図２）は、データセンタ３０２〜３１８および／または対応する地理的領域を含む。データセンタ３０２〜３１８の物理的な分離は、実装リソース専用境界に対応しており、対応する地理的領域を規定してもよい。仮想リソースプロバイダ２０６の特定の組の顧客は、その組の顧客に関連付けられる仮想リソースが１組の専用のデータセンタでおよび／または１組の専用の地理的領域内でプロビジョニングされることを指定してもよい。図３に示されてはいないが、１つ以上のそのようなデータセンタおよび／または対応する地理的領域は、国際的に配置されてもよい。
【００２６】
実装リソース専用境界および／または単位はまた、少なくともいくつかの実施形態においてデータセンタの部分に対応してもよい。図４は、少なくとも１つの実施形態によるデータセンタ例４０２、４０４の態様を描写する。データセンタ例４０２には、図２のＶＣＳサーバ２２２およびデータストアサーバ２２６などのサーバコンピュータを含む複数のサーバラック４０６〜４０８、ならびに、図２のネットワークハードウェア２２４などのネットワークハードウェアを含む複数のネットワークラック４１０が含まれる。そのようなサーバラック４０６〜４０８および／またはネットワークラック４１０のそれぞれは、実装リソース専用単位に対応してもよく、これにより、仮想リソースプロバイダ２０６の特定の組の顧客は、その組の顧客の仮想リソースが、１組の専用サーバラック、１組のネットワークラック、および／またはそれらの適切な組み合わせでプロビジョニングされることを指定してもよい。
【００２７】
データセンタ４０２は、データセンタ４０２に対する物理的なアクセス権を得るために（例えば、暗号で）確実に認証されることが可能な１つ以上の種類の識別および／またはアクセスデバイス（例えば、写真付き身分証明カード、生体認証、物理的な鍵、目的に合うように符号化されたＲＦＩＤカード）を要求してもよい。したがって、データセンタ４０２は、（例えば、公的にアクセス可能な空間に関する）セキュリティレベルおよび／またはセキュリティゾーンに関連付けられてもよい。更に、データセンタ４０２は、１つ以上のより高いレベルおよび／または異なるセキュリティゾーンを組み込んでもよい。データセンタ４０２は、例えばデータセンタ４０２内の鍵の掛った部屋に対応する、複数のアクセス制御されたエリア４１２〜４１８を含んでもよい。例えば、選択され、および／または特別に検査されたデータセンタ４０２のスタッフのみがアクセス制御されたエリア４１２〜４１８に対するアクセス権を有することができる。データセンタ４０２のスタッフのそのような選択および／または特別な検査は、アクセス制御されたエリア４１２〜４１８に対する専用実装リソースプールへの遷移プロシージャの一部であり得る。
【００２８】
データセンタ４０２は、物理的なアクセスに対して必ずしも更に安全ではない複数のアクセス監視されたエリア４２０〜４２６を更に含んでもよい。例えば、アクセス監視されたエリア４２０〜４２６は、データセンタ４０２のスタッフが物理的に入ることおよび／または出ること、ならびに／あるいは、その他の場合には、音声および／または映像レコーディングを含むアクセス監視されたエリア４２０〜４２６におけるドキュメントスタッフの存在を記録してもよい。各アクセス制御されたエリア４１２〜４１８および各アクセス監視されたエリア４２０〜４２６を含むセキュリティゾーンのそれぞれは、実装リソース専用単位に対応してもよく、これによって、仮想リソースプロバイダ２０６（図２）の特定の組の顧客は、その組の顧客の仮想リソースが、１組の専用のセキュリティゾーンでプロビジョニングされることを指定してもよい。
【００２９】
図４のデータセンタ４０４は移動式であり得る。例えば、データセンタ４０４は、輸送用コンテナ内に組み立てられ、図示されたセミトレーラートラックを含む様々な手段によって移動式に製造されてもよい。移動式データセンタ４０４は、不動式データセンタ４０２のサーバラック４０６〜４０８、ネットワークラック４１０、アクセス制御されたエリア４１２〜４１８、および／またはアクセス監視されたエリア４２０〜４２６に対応するサーバラック、ネットワークラック、アクセス制御されたエリアおよび／またはアクセス監視されたエリアを含んでもよい。移動式データセンタ４０４にはまた、適切な移動式発電ハードウェア、ならびに１つ以上のインターネットリンクを含む適切な無線および／または有線高速デジタルデータリンクが含まれてもよい。
【００３０】
図５は、少なくとも１つの実施形態によるデータセンタの別の態様を描写する。データセンタ５０２は、複数のサーバラック５０４〜５０６を含んでもよい。データセンタ５０２は図４のデータセンタ４０２、４０４の一例である。サーバラック５０４とサーバラック５０６との間の省略記号は、データセンタ５０２が任意の適切な数のサーバラックを含むことを示すが、明瞭さのため、図５には２つだけが示される。各サーバラック５０４〜５０６は、電力などのサービスならびに複数のサーバコンピュータ５０８〜５１４および５１６〜５２２に対するデータ通信を維持することに参加してもよい。また、省略記号は、サーバラック５０４〜５０６が任意の適切な数のサーバコンピュータを含んでもよいことを示す。例えば、サーバコンピュータ５０８〜５２２は、１つ以上のＶＣＳサーバ２２２（図２）および／または１つ以上のデータストアサーバ２２６を含んでもよい。各サーバ５０８〜５２２は、実装リソース専用単位に対応してもよい。
【００３１】
図５において、各サーバラック５０４〜５０６は、ラックスイッチ５２４〜５２６を含むように描写されている。ラックスイッチ５２４および５２６は、デジタルデータのパケットをそれらの個々の組のサーバコンピュータ５０８〜５１４および５１６〜５２２に、またそのサーバコンピュータからスイッチングすることに関与してもよい。各ラックスイッチ５２４〜５２６は、実装リソース専用単位に対応してもよい。しかしながら、（図５に描写された）サーバラック５０４〜５０６が１つのラックスイッチ５２４〜５２６を含む場合において、ラックスイッチ５２４〜５２６を仮想リソースプロバイダ２０６（図２）の特定の組の顧客に専用にすることは、それぞれのサーバラック５０４〜５０６の専用をもたらす。このことは、少なくとも１つの実施形態による含有専用単位（「含有単位専用（ｃｏｎｔａｉｎｉｎｇ  ｕｎｉｔ  ｄｅｄｉｃａｔｉｏｎ）」）の専用をもたらす実装リソース専用単位の構成要素（実装リソース専用サブ単位）の専用の一例である。実装リソース専用単位は、それらのサブ単位のどれ（もしあれば）が、含有単位専用をもたらすかを示してもよい。
【００３２】
ラックスイッチ５２４〜５２６は、データセンタスイッチング構造５２８に通信でリンクされ、更にまた、インターネットを含む１つ以上の他のコンピュータネットワークにデータセンタ５０２を接続する１組のエッジルータ５３０に通信でリンクされてもよい。スイッチング構造は、１つ以上のスイッチング層に配置される１つ以上のスイッチ種類の複数の相互に接続されるスイッチ５３２〜５３８（明瞭さのために、図５には４つしか示されていない）を含む任意の適切な組のネットワーキング構成要素、ならびに、ルータ、ゲートウェイ、ブリッジ、ハブ、リピータ、ファイアウォール、コンピュータ、およびそれらの適切な組み合わせを含んでもよい。少なくとも１つの実施形態において、ラックスイッチ５２４〜５２６およびエッジルータ５３０は、スイッチング構造５２８の一部と見なされる。ラックスイッチ５２４〜５２６、エッジルータ５３０、およびスイッチング構造５２８の構成要素は、図２のネットワークハードウェア２２４の一例である。
【００３３】
スイッチング構造５２８の一部、スイッチ５３２〜５３８の組などのスイッチング構造５２８の組、および／またはエッジルータ５３０は、実装リソース専用単位に対応してもよい。あるいは、またはそれに加えて、仮想リソースプロバイダ２０６（図２）の特定の組の顧客は、その組の顧客の仮想リソースが、スイッチング構造５２８および／またはエッジルータ５３０を経由して１組の専用データパスおよび／またはチャネル（集合的に、「データパス」）でプロビジョニングされることを指定してもよい。専用データパスに関して、実装リソース専用単位は、ワイヤおよび／またはケーブルの組などの物理的なデータパスに対応してもよい。あるいは、またはそれに加えて、実装リソース専用単位は、同時通信方式においてハードにスケジュールされた通信時間スロットに対応してもよい。
【００３４】
実装リソース専用境界および／または単位はまた、少なくともいくつかの実施形態においてサーバコンピュータの一部に対応してもよい。図６は、少なくとも１つの実施形態によるＶＣＳサーバ例６０２の態様を描写する。図６のＶＣＳサーバ６０２は、図２のＶＣＳサーバ２２２の一例である。ＶＣＳサーバ６０２によって実装される仮想リソース６０４は、様々な種類の複数の仮想コンピュータシステム（ＶＣＳ）６０６〜６１４を含んでもよい。仮想リソース６０４は、ＶＣＳサーバ６０２の任意の適切な実装リソース６１６で実装されてもよい。適切な実装リソース６１６の例は、１つ以上の、例えば中央処理装置（ＣＰＵ）およびマルチコアＣＰＵなどのプロセッサ６１８、１つ以上の、例えばランダムアクセスメモリ（ＲＡＭ）などの揮発性記憶デバイス６２０、１つ以上の、例えばフラッシュメモリおよびハードディスクドライブ（ＨＤＤ）などの不揮発性記憶デバイス６２２、ならびに／あるいは、１つ以上の、例えばネットワークインタフェースカード（ＮＩＣ）などのネットワークインタフェース６２４を含む。プロセッサ６１８、揮発性記憶デバイス６２０、不揮発性記憶デバイス６２２、および／またはネットワークインタフェース６２４のそれぞれは、実装リソース専用単位に対応してもよい。
【００３５】
仮想コンピュータシステム６０６〜６１４のそれぞれは、１組の実装リソース６１６で実装されてもよい。異なる種類の仮想コンピュータシステム６０６〜６１４が、異なる組の実装リソース６１６で実装されてもよい。例えば、「大型」の種類の仮想コンピュータシステムは、「小型」の種類の仮想コンピュータシステムより多くの実装リソースを必要としてもよい。「メモリ集約型」の種類の仮想コンピュータシステムは、揮発性記憶デバイス６２０（複数可）の実装リソースの追加部分を必要としてもよい。「処理集約型」の種類の仮想コンピュータは、プロセッサ６１８（複数可）の実装リソースの追加部分を必要としてもよい。図６に描写された例は、４つの「小型」の仮想コンピュータシステム６０６〜６１２および１つの「大型」の仮想コンピュータシステム６１４を維持するＶＣＳサーバ６０２を示す。これは、ＶＣＳサーバ６０２の仮想リソース実装容量の一例である。もちろん、他の構成は可能である。例えば、ＶＣＳサーバ６０２は、「大型」の仮想コンピュータシステム６１４無しで８つの「小型」の仮想コンピュータシステムを維持するなどの可能性がある。
【００３６】
「小型」の種類の仮想コンピュータシステムは、ＶＣＳサーバ６０２によって維持される最小の仮想リソースにおよび／または単位仮想コンピュータシステム費用に対応してもよい。仮想リソースプロバイダ２０６（図２）は、その種類で置き換えられた「小型」の種類の仮想コンピュータシステムの数に関して、専用実装リソースで実装される仮想コンピュータシステムを含む、他の種類の仮想コンピュータシステムについての費用を測定し、見積り、および／または決定してもよい。例えば、仮想リソースプロバイダの特定の組の顧客は、その組の顧客の仮想コンピュータシステムが、専用ハードディスクドライブで実装されることを指定してもよい。ＶＣＳサーバ６０２が２つの「小型」の仮想コンピュータシステムと共に各ハードディスクドライブを共有するように典型的に構成される場合には、専用ハードディスクドライブで実装される仮想コンピュータシステムは、少なくとも２つのそのような「小型」の仮想コンピュータシステムを置き換える。
【００３７】
少なくとも１つの実施形態において、専用実装リソースは、専用実装リソースプールから引き出される（すなわち、割り当てられる）。例えば、専用実装リソースプールは、専用実装リソースによる仮想リソース２１２のプロビジョニングを要求する仮想リソースプロバイダ２０６（図２）の各組の顧客に対応して確立されてもよいし、更にまた、要求された仮想リソースを実装する専用実装リソースは、その組の顧客に関連付けられた専用実装リソースプールから引き出されてもよい。図７は、少なくとも１つの実施形態による実装リソースプール例の態様を描写する。図７は、一般的な実装リソースプール７０２および３つの専用実装リソースプール７０４、７０６、７１０を描写する。
【００３８】
この例において、実装リソース２２０（図２）は、一般的な実装リソースプール７０２で始まる。３つの専用実装リソースプール７０４、７０６、７１０は、仮想リソースプロバイダ２０６の３つの異なる組の顧客のために確立されてもよい。専用実装リソースプール７０４および専用実装リソースプール７１０は、重複部分７１２を有する。重複部分７１２における実装リソースは、専用実装リソースプール７０４または専用実装リソースプール７１０に関連付けられた組の顧客の仮想リソースを実装するために利用されてもよい。あるいは、またはそれに加えて、重複部分７１２は、専用実装リソースプール７０４と専用実装リソースプール７１０の両方に関連付けられた結合組の顧客の、結合仮想リソースを含む、仮想リソースに関連付けられた別個の専用実装リソースプール７１２として構成されてもよい。
【００３９】
実装リソース２２０は、少なくとも１つのそれぞれの組の顧客によって指定される実装リソース遷移プロシージャにしたがって、一般的な実装リソースプール７０２から専用実装リソースプール７０４、７０６、７１０、７１２に遷移されてもよく、その結果、遷移された実装リソースをその組の顧客に専用にする。実装リソース２２０は、仮想リソースプロビジョニング要求に応答して専用実装リソースプール７０４、７０６、７１０、７１２に遷移されてもよい。そのような要求は、一般的な実装リソースプール７０２が、要求を実現するために必要とされる種類（複数可）の実装リソースを不十分に含む場合には、実現を果たせないおよび／または遅らすかもしれない。そのような問題を避けるために、仮想リソースプロバイダ２０６の顧客は、予約された実装リソースプールを確立してもよい。
【００４０】
図７に描写される例において、専用実装リソースプール７０６に関連付けられた組の顧客は、（例えば、図２の制御プレーン２１０によって）予約された実装リソースプール７０８を確立している。少なくとも１つの実施形態において、予約された実装リソースプール７０８内の実装リソース２２０は、仮想リソースプロビジョニング要求を実現するために必要とされるまで一般的な実装リソースプール７０２内に残る。しかしながら、必要とされると、その時点で、それらの実装リソースが１人以上の他の顧客の仮想リソースの実装に参加している場合でさえ、予約された実装リソースプール７０８内の実装リソース２２０は、専用実装リソースプール７０６に遷移される。すなわち、予約された実装リソースプール７０８に関連付けられた組の顧客は、予約された実装リソースプール７０８内の実装リソース２２０に対する優先権を与えられる。優先された顧客の仮想リソースは、一般的な実装リソースプール７０２内の実装リソースに移動されてもよいし、あるいは、一般的な実装リソースプール７０２が適切な種類（複数可）の十分な実装リソースを含まない場合には、その仮想リソースは、非プロビジョニング化されてもよい。
【００４１】
いくつかの専用実装リソースプール遷移プロシージャは速い（例えば、約ミリ秒の）ものであり得るが、いくつかの遷移プロシージャ、特に仮想リソースプロバイダ２０６の少なくとも１人の顧客によって指定された特注の遷移プロシージャは、完了するためにかなりの量の時間（例えば、数秒、数分、数時間以上）を必要とする。図８は、少なくとも１つの実施形態による専用実装リソースプールの遷移プロシージャのタイミング例の態様を描写する。
【００４２】
時間ｔ0では、実装リソース８０２が一般的な実装リソースプール８０４で始まる。例えば、実装リソース８０２は、図２の実装リソース２２０のうちの１つであってもよいし、一般的な実装リソースプール８０４は、図７の一般的な実装リソースプール７０２に対応してもよい。時間ｔ1では、実装リソース８０２の専用実装リソースプール８０６への遷移を必要とする仮想リソースプロバイダ２０６のイベントが発生する。例えば、そのイベントは、予測プロビジョニング要求に応じるための自動化された遷移、または仮想リソース２１２のプロビジョニング要求であってもよいし、専用実装リソースプール８０６は、図７の専用実装リソースプール７０４に対応してもよい。
【００４３】
時間ｔ2では、専用実装リソースプール入口プロシージャ８０８が開始することができる。入口プロシージャ８０８は、任意の適切な実装リソース８０２の（再）構成プロシージャであってもよい。適切な入口プロシージャの例には、データ記憶媒体フォーマッティング、安全なデータ消去プロシージャを含むデータ記憶媒体消去、ソフトウェアインストール、構成要素の構成、構成要素の再割り当て、アクセス制御構成、ファイアウォール再構成、（例えば、実装リソースを交替するための）仮想リソース移動、認証証明の生成および発行、移動式データセンタ４０４（図４）の再配置、顧客による実装リソース遷移の手動再調査、顧客が提供したコンピュータ実行可能な命令を含む顧客が提供した入口プロシージャおよび／またはそれらの任意の適切な組み合わせが含まれる。少なくとも１つの実施形態において、顧客は、仮想リソースプロバイダ２０６（図２）によって提供された１組のそのようなプロシージャから専用実装リソースプール入口プロシージャ８０８を選択する。１組の提供されたプロシージャは、特定の組の顧客のための仮想リソースプロバイダ２０６によってあらかじめ定義されおよび／または動的に生成されてもよい。
【００４４】
時間ｔ3までは、入口プロシージャ８０８が完了すると、実装リソース８０２は遷移状態８１０にあってもよい。遷移状態８１０にある間、実装リソース８０２は仮想リソース２１２（図２）の実装に参加しない。時間ｔ3では、入口プロシージャ８０８が８１２を完了し、実装リソース８０２は専用実装リソースプール８０６に入る。専用実装リソースプール８０６にある間、実装リソース８０２は、関連付けられた組の顧客の仮想リソース２１２の実装に参加してもよい。
【００４５】
時間ｔ4では、専用実装リソースプール８０６から一般的な実装リソースプール８０４に戻る実装リソース８０２の遷移を必要とする別の仮想リソースプロバイダ２０６（図２）のイベントが発生してもよい。例えば、そのイベントは、仮想リソース２１２の非プロビジョニング化要求、または専用実装リソースプール８０６におけるアイドル状態の実装リソース２２０の比率を最適化するための自動化された遷移であってもよい。時間ｔ5では、専用実装リソースプール出口プロシージャ８１４が開始することができる。出口プロシージャ８１４は、入口プロシージャ８０８について上記したものを含む任意の適切な実装リソース８０２の（再）構成プロシージャならびにそれらの論理的なおよび／または手順上の補完物とすることができる。また、少なくとも１つの実施形態において、顧客は、あらかじめ定義された組のそのようなプロシージャから専用実装リソースプール出口プロシージャ８１４を選択する。
【００４６】
時間ｔ6までは、出口プロシージャ８１４が完了すると、実装リソース８０２が遷移状態８１０に再びあってもよい。時間ｔ6では、出口プロシージャ８１４が８１６を完了し、実装リソース８０２は専用実装リソースプール８０６を出て、一般的な実装リソースプール８０４に再び入る。時間ｔ6の後、実装リソース８０２は、実装リソース８０２がそのサービス有効期間の終了に達する時間ｔ7まで、専用実装リソースプール８０６および／または図８に示されていない他の専用実装リソースプールに繰り返し出入りしてもよい。
【００４７】
図６に関して上記したように、いくつかの実装リソースは、複数の仮想リソースを実装してもよい（すなわち、「分配可能な」実装リソースであり得る）。例えば、ＶＣＳサーバ６０２は、複数の仮想コンピューティングシステムを実装してもよい。そのような場合において、分配可能な実装リソースの一部分が、（「割り当て」られる）１つ以上の仮想リソースの実装に割り当てられる一方で、別の部分は割り当てられないままでいることが起こり得る。分配可能な実装リソースが仮想リソースプロバイダ２０６（図２）の特定の組の顧客に専用である場合、割り当てられていない部分は、仮想リソースプロバイダの他の顧客に対する割り当てのために更に利用不可能であり、このことは、分配可能な専用実装リソースが１００％の利用を達成するという可能性を低めることに対応し得る。仮想リソースプロバイダ２０６の観点からすれば、これは、機会費用である。そのような費用は、様々な手法で明細を明らかにされ得る。図９は、少なくとも１つの実施形態による実装リソース利用アカウンティング方式例の態様を描写する。
【００４８】
図９は、１つ以上の仮想リソース２１２（図２）の実装に独立して参加することがそれぞれ可能な４つのリソース割り当ての単位（または「リソース割り当て単位（ｒｅｓｏｕｒｃｅ  ａｌｌｏｃａｔｉｏｎ  ｕｎｉｔ）」）を組み込んでいる、分配可能な実装リソース例の利用を描写する。例えば、分配可能な実装リソース例は、４つの「小型」の種類の仮想コンピュータシステム、または１つの「大型」の種類の仮想コンピュータシステムを実装することが可能なＶＣＳサーバ２２２のうちの１つであってもよい。分配可能な実装リソースの仮想リソース実装容量は、リソース割り当て単位で測定されることができる。例えば、ＶＣＳサーバ２２２の実装容量は、「小型」の種類の仮想コンピュータシステムなどの標準仮想コンピュータシステム単位に換算して測定されてもよい。
【００４９】
図９は、８つの時間の単位（または「時間単位（ｔｉｍｅ  ｕｎｉｔ）」、例えば、数秒、数時間、数か月など）にわたる分配可能な実装リソース例の利用を更に描写する。最初の２つの時間単位の間には、（斜線を用いて陰影を付けた四角形によって示されるように）４つのリソース割り当て単位のうちの１つが割り当てられていて、アクティブ（すなわち、少なくとも１つの仮想リソースの実装にアクティブに参加すること）であってもよいのに対して、（陰影の付いていない四角形によって示されるように）４つのリソース割り当て単位のうちの３つは割り当てられていなくて、非アクティブである。少なくとも１つの実施形態において、アイドル状態である割り当てられたリソース割り当て単位もまた、非アクティブであると見なされる。第３の時間単位の間には、４つのリソース割り当て単位のそれぞれが割り当てられる。第４の時間単位の間には、４つのリソース割り当て単位のうちの２つが割り当てられる。残りの４つの時間単位の間には、４つのリソース割り当て単位のうちの１つが割り当てられる。
【００５０】
陰影を付けたまたは陰影の付いていない、図９における四角形のそれぞれは、リソース利用量、すなわちリソース割り当て単位と時間単位との乗法的な積（本明細書中において明瞭さのために「リソース時間」と呼ばれる）に対応する。例えば、ＶＣＳサーバの利用は、「小型」のＶＣＳ時間で測定され得る。分配可能な実装リソース例が一般的な実装リソースプール７０２（図７）内にあった場合、４×８＝３２リソース時間が割り当てのために利用可能であろう。図９に描写された利用例では、１２リソース時間が８「時間」の期間にわたって実際に割り当てられ、分配可能な実装リソース例が特定の顧客に専用である場合には２０リソース時間の機会費用が仮想リソースプロバイダ２０６（図２）に生じることになる。
【００５１】
仮想リソースのプロビジョニング、構成、再構成、および／または非プロビジョニング化（集合的に、「プロビジョニング」）は、仮想リソースプロバイダ２０６の制御プレーン２１０（図２）によって制御されてもよい。図１０は、少なくとも１つの実施形態による制御プレーン例１００２の態様を描写する。図１０の制御プレーン１００２は、図２の制御プレーン２１０の一例である。制御プレーン１００２は、仮想リソース２１２のプロビジョニング要求をクライアント２０２〜２０４のうちの１つ以上から受信するように少なくとも構成されたプロビジョニングインタフェース１００４、１つ以上のプロビジョニングワークフローに従うプロビジョニング要求に対する応答を導くように少なくとも構成されたワークフロー構成要素１００６、仮想リソース２１２に対する実装リソース２２０の割り当てを管理するように少なくとも構成されたリソース割り当て構成要素１００８、ならびに、仮想リソース２１２および／または実装リソース２２０に関連付けられた費用を追跡し提示するように少なくとも構成されたアカウンティング構成要素１０１０を含むことができる。
【００５２】
プロビジョニングインタフェース１００４は、任意の適切なプロビジョニングインタフェース要素を含んでもよい。適切なプロビジョニングインタフェース要素の例は、仮想リソース２１２（図２）をプロビジョニングし、構成し、再構成し、および／または非プロビジョニング化するための要求に対応するインタフェース要素、更には、仮想リソース２１２の構成情報に対するアクセス権を提供するインタフェース要素、ならびに、そのようなプロビジョニングに関する操作に対する権限を確立するための認証が可能な１つ以上のインタフェース要素を含む。プロビジョニングインタフェース１００４は、例えばグラフィカルユーザインタフェース（ＧＵＩ）などのユーザインタフェース（ＵＩ）、ウェブベースのインタフェース、例えばアプリケーションプログラミングインタフェース（ＡＰＩ）および／またはプロビジョニングインタフェース要素に対応する１組のリモートプロシージャコール（ＲＰＣ）などのプログラム的なインタフェース、例えばプロビジョニングインタフェース１００４のインタフェース要素が通信プロトコルのメッセージに対応しているメッセージングインタフェースなどのメッセージングインタフェース、ならびに／あるいは、それらの任意の適切な組み合わせを組み込む、および／またはこれらに組み込まれることができる。
【００５３】
少なくとも１つの実施形態において、プロビジョニングインタフェース１００４、リソース割り当て構成要素１００８、およびアカウンティング構成要素１０１０は、ワークフロー構成要素１００６によってその後維持される１つ以上のワークフローを生成するためにワークフロー構成要素１００６を生成する、および／または生じさせてもよい。例えばプロビジョニングワークフローおよびポリシー実施ワークフローなどのワークフローは、例えばプロビジョニングまたはポリシー実施などのジョブを行うために実行されるタスクの１つ以上のシーケンスを含んでもよい。ワークフローは、その用語が本明細書中で使用される際には、タスク自体ではなくて、タスクに対するおよびタスクからの情報の流れを制御し得るタスク制御構造、ならびに、そのタスク制御構造が制御するタスクの実行の順序である。例えば、ワークフローは、実行中の任意の時間でのプロセスの状態を管理して戻すことができる状態機械と見なされてもよい。ワークフローはワークフローテンプレートから生成されてもよい。例えば、プロビジョニングワークフローは、リソース割り当て構成要素１００８によってパラメータを用いて構成されるプロビジョニングワークフローテンプレートから生成されてもよい。別の例として、ポリシー実施ワークフローは、リソース割り当て構成要素１００８によってパラメータを用いて構成されるポリシー実施ワークフローテンプレートから生成されてもよい。
【００５４】
ワークフロー構成要素１００６は、確立されたワークフローを修正し、更に指定し、および／または更に構成してもよい。例えば、ワークフロー構成要素１００６は、特定のタスクを実行するおよび／または特定のタスクに割り当てられるために仮想リソースプロバイダ２０６の特定の実装リソース２２０（図２）を選択してもよい。そのような選択は、ワークフロー構成要素１００６によって評価されるような特定のタスクのコンピューティングリソースニーズに少なくとも部分的に基づくことができる。別の例として、ワークフロー構成要素１００６は、確立されたワークフローに追加のおよび／または重複するタスクを追加してもよいし、ならびに／あるいは確立されたワークフロー内のタスク間の情報フローを再構成してもよい。確立されたワークフローのそのような修正は、ワークフロー構成要素１００６による実行効率分析に少なくとも部分的に基づくことができる。例えば、いくつかのタスクは、他のタスクが前のタスクの成功裏の完了に依存する一方で、並行して効率的に実行されてもよい。
【００５５】
仮想リソースをプロビジョニングすることの一部として、プロビジョニングインタフェース１００４および／またはワークフロー構成要素１００６は、リソース割り当て構成要素１００８が、仮想リソースを実装するために必要とされる適切な組の実装リソース２２０（図２）を決定し、必要とされた実装リソースが利用可能である、および／または仮想リソースプロバイダ２０６の割り当てポリシーに従うかどうかを決定し、ならびに／あるいは必要とされた実装リソースを割り当てることを要求してもよい。リソース割り当て構成要素１００８は、任意の適切なリソース割り当ておよび／またはリソーススケジューリングアルゴリズムを組み込んでいてもよい。そのようなアルゴリズムは当業者に周知であり、本明細書に詳細に記載される必要はない。リソース割り当て構成要素１００８は、図７の専用実装リソースプール７０４、７０６などの専用実装リソースプールの確立および維持を管理するように少なくとも構成された専用リソースプール構成要素１０１２を含んでもよい。
【００５６】
専用リソースプール構成要素１０１２は、１組のリソース割り当てビジネスポリシーに関する割り当て要求を分析し、割り当て要求がその組のリソース割り当てビジネスポリシーに従うかどうかに関する評価（例えば、許可または拒否）を提供するように少なくとも構成されたビジネスポリシー実施構成要素１０１４を含んでもよい。あるいは、またはそれに加えて、ビジネスポリシー実施構成要素１０１４は、その組のリソース割り当てビジネスポリシーを実施するために、実装リソース２２０（図２）の仮想リソース２１２に対するおよび／または仮想リソース２１２の実装リソース２２０に対する割り当てに参加してもよい。その１組のリソース割り当てビジネスポリシーは、任意の適切なリソース割り当てポリシーを含んでもよい。適切なリソース割り当てポリシーの例には、例えば、要求された専用仮想リソースの種類および／または数、専用実装リソースの対応する種類および／または数、要求している顧客の費用プラン、割り当てられていない実装リソースの現行レベルおよび／または比率、（例えば、要求している顧客の専用実装リソースプールにおける）非アクティブな専用実装リソースの予測レベルおよび／または比率、ならびに、それらの適切な組み合わせなどのパラメータに基づく条件を有するポリシーが含まれる。リソース割り当てポリシーは、例えば、ブール演算子を用いて指定される複合条件や、特定の数、レベルおよび／または比率が最小値より上である、最大値より下である、および／または指定された範囲の値以内であることを指定する条件などの任意の適切な条件を含んでもよい。
【００５７】
複数の仮想リソースを実装する実装リソースに関しては、仮想リソース密度または仮想リソース分布（ｓｐｒｅａｄ）は、単位実装リソースごとの仮想リソースの数（例えば、ＶＣＳサーバ６０２ごとの仮想コンピューティングシステムの数）に対応する。仮想リソースプロバイダ２０６（図２）の顧客は、例えば、顧客の仮想リソースのうちの複数が実装リソースの障害によって影響を及ぼされるという可能性を減らすために、プロビジョニングされた仮想リソースが指定された密度または分布を有するという要求をしてもよい。専用実装リソースで実装された仮想リソースに関する分布が広い（密度が低い）と、実装リソース利用効率の悪さ（例えば、アクティブな実装リソースの利用に対する非アクティブな実装リソースの利用の割合が比較的高く、例えば２０％を超える利用割合など）を招くことがある。少なくとも１つの実施形態において、１組のリソース割り当てビジネスポリシーは、仮想リソース密度および／または分布レベルに基づく条件（例えば、１つ以上の密度および／または分布限界を設定すること）を有する１つ以上のポリシーを含んでもよい。専用リソースプール構成要素１０１２は、許可された密度および／または分布レベルに従って専用実装リソースを割り当てるように少なくとも構成された分布構成要素１０１６を更に含んでもよい。あるいは、またはそれに加えて、分布構成要素１０１６は、許可されたおよび／または指定された仮想リソースの最高密度を達成するために、ならびに／あるいはフリーの（すなわち、０％割り当てられた）実装リソース専用単位の数を最大にするために、専用実装リソースを割り当てるおよび／または再び割り当てるように少なくとも構成されてもよい。
【００５８】
専用リソースプール構成要素１０１２は、実装リソース２２０が専用実装リソースプール７０４、７０６（図７）に対しておよびそのプールから遷移するおよび／または遷移することを管理するように少なくとも構成されたプール遷移構成要素１０１８を更に含んでもよい。実装リソース２２０（図２）は、１組の専用プール遷移プロシージャに関連付けられてもよい。例えば、各種類の実装リソースは、関連付けられた遷移プロシージャを有してもよい。あるいは、またはそれに加えて、仮想リソースプロバイダ２０６の顧客は、特定の種類の仮想リソースおよび／または実装リソースのために専用プール遷移プロシージャを指定してもよい。プール遷移構成要素１０１８は、１つ以上の専用実装リソースを含む実装リソースでプロビジョニングされる特定の組の仮想リソースに関連付けられた１組の適切な遷移プロシージャを識別してもよい。プール遷移構成要素１０１８は、そのような遷移プロシージャを実行してもよい。あるいは、またはそれに加えて、プール遷移構成要素１０１８は、識別された組の専用プール遷移プロシージャに対応する１つ以上の専用プール遷移ワークフローを生成し（または生成するためにワークフロー構成要素１００６を生じさせ）てもよい。
【００５９】
専用リソースプール構成要素１０１２は、専用実装リソースプール７０４〜７０６（図７）におけるアクティビティおよび／または非アクティビティレベルを監視し、専用実装リソースプール７０４〜７０６におけるアクティビティおよび／または非アクティビティレベルを予測し、専用実装リソースプール７０４〜７０６に対するおよびそのプールからの実装リソース遷移を開始するように少なくとも構成されたプール利用構成要素１０２０を更に備えてもよい。専用実装リソースプール７０４〜７０６における実装リソースは、様々な理由のために非アクティブであり得る。例えば、実装リソースは、まだ発生していない仮想リソースプロビジョニング要求を予期して、または非プロビジョニング化されている仮想リソースの実装に参加するために、専用プール７０４〜７０６に遷移されていてもよい。そのような非アクティブな実装リソースは、責任を負う顧客にとって不必要な出費および／または仮想リソースプロバイダ２０６（図２）に対する機会費用であり得る。
【００６０】
しかしながら、実装リソースが一般的な実装リソースプール７０２（図７）から遷移する時間はかなり長いものであり得るので、専用実装リソースプール７０４〜７０６におけるいくつかのレベルの非アクティビティ（すなわち、非アクティブな専用実装リソース「バッファ」）が望ましいことがある。責任を負う顧客および／または仮想リソースプロバイダ２０６（図２）の管理者は、各専用実装リソースプール７０４〜７０６について１つ以上の目標レベルのアクティビティおよび／または非アクティビティを指定してもよい。少なくとも１つの実施形態において、アクティビティおよび／または非アクティビティ目標は、各種類の実装リソースに対して設定されてもよい。アクティビティおよび／または非アクティビティ目標は、リソース割り当て単位数、実装リソース専用単位数、それらの比率、および／または変化のレートを含むそれらの導関数、変化速度、変化加速度、一次導関数、二次導関数、三次導関数、ならびに任意の適切なレベルの導関数に関して指定されてもよい。プール利用構成要素１０２０は、監視されたアクティビティおよび／または非アクティビティレベルに少なくとも部分的に基づくアクティビティおよび／または非アクティビティ目標に対応する値を予測し、予測値に少なくとも部分的に基づく対応するアクティビティおよび／または非アクティビティ目標を達成するために専用実装リソースプール７０４〜７０６に対するならびにそのプールからの実装リソースの遷移をスケジュールしてもよい。
【００６１】
アカウンティング構成要素１０１０は、仮想リソースプロバイダ２０６（図２）の各顧客のためのアカウントを維持してもよい。顧客によってプロビジョニングされた仮想リソース２１２に関連付けられた利用および／または費用、ならびに／あるいは関連付けられた実装リソース２２０は、顧客のアカウント内に記録されてもよい。アカウンティング構成要素１０１０は、どのように費用が顧客のアカウントに割り当てられるかを指定する１つ以上の費用プラン１０２２を維持してもよい。アカウンティング構成要素１０１０は、顧客のアカウント内に記録された利用および／または費用の１つ以上の提示を顧客に提供するように少なくとも構成されたアカウントユーザインタフェース（ＵＩ）構成要素１０２４と、費用のうちの１つ以上が仮想リソースプロバイダ２０６に支払う義務のある財務バランスに対応する場合、アカウントバランス（例えば、支払器具処理）を設定する１つ以上の機構と、を含んでもよい。アカウントＵＩ１０２４は、アカウント生成、アカウント構成および再構成、アカウント詳細参照および更新、ならびにアカウント削除を更に提供してもよい。アカウント（再）構成は、複数のそのような費用プラン１０２２が利用可能である場合、費用プラン１０２２の認定リストからの選択を含むことができる。
【００６２】
費用プラン（複数可）１０２２は、仮想リソース２１２および／または実装リソース２２０（図２）のそれぞれの種類に対応するリソース時間ごとの費用を指定してもよい。費用は、例えばアクティブな実装リソース費用レートで、割り当てられたおよび／またはアクティブなリソース時間（「アクティビティ費用」）に関して顧客によって負担され得る。少なくとも１つの実施形態において、費用はまた、例えば非アクティブな実装リソース費用レートで、顧客に専用のプール７０４〜７０６（図７）において実装リソースに関連付けられ割り当てられていないおよび／または非アクティブなリソース時間（「専用リソース費用」または「非アクティビティ費用」）に関して顧客によって負担されることもある。少なくとも１つの実施形態において、アクティビティ費用および専用リソース費用は、顧客のアカウント内に別個に維持され、対応する費用明細内に別個のアイテムとして明確に提示される。あるいは、費用明細が専用リソース費用を明確に記すアイテムを含む必要がないように、アクティビティ費用および／またはレートは、専用リソース費用に関して明細を明らかにするよう調整されてもよい。費用プラン（複数可）１０２２は、適切な線形関数および適切な非線形関数を含む、割り当てられた、割り当てられていない、アクティブなおよび／または非アクティブなリソース時間の任意の適切な関数を含んでもよい。
【００６３】
例えば、アクティビティ費用および／またはレートは、顧客ごとに調整されてもよい。費用明細は、定期的に生成され、先に生成された費用明細から経過した期間（「費用明細期間」）の間に負担される費用をそれぞれ明細に記すことができる。特定の顧客によって負担されるアクティビティ費用および専用リソース費用は、その期間について決定されてもよく、アクティビティ費用および／またはレートはその期間について専用リソース費用を含むように調整される（例えば、増加される）。例えば、顧客が５０個の仮想コンピュータシステム２１４（図２）をプロビジョニングし、その５０個のそれぞれが専用実装リソースで実装されることを指定すると仮定する。それに応答して、リソース割り当て構成要素１００８は、顧客によって要求される仮想コンピュータシステムのうちの１６個を実装することがそれぞれ可能である、４個のＶＣＳサーバ２２２を顧客に専用にし、よって、一般的な実装リソースプール７０２（図７）から６４個のそのような仮想コンピュータシステムを実装する可能性が取り除かれる。更に、顧客のアカウント用の費用プラン（複数可）１０２２が、アクティブな専用リソース時間につき＄０．１０および非アクティブな専用リソース時間につき＄０．０５のベースレートを指定すると仮定する。１０００時間を超える期間、顧客は、アクティブな費用について５０ｘ１０００ｘ＄０．１０＝＄５０００および専用リソース費用について１４ｘ１０００ｘ＄０．０５＝＄７００、合計＄５７００の費用を負担する。アクティブな費用および専用リソース費用について別個のアイテムを提示することに代えて、その期間についての費用明細は、５０ｘ１０００ｘ＄０.１１４＝＄５７００に対応する単一のアイテムを提示してもよい。すなわち、この例では、アクティブなリソース時間ごとの顧客のベースレートが、その期間についての合計費用をカバーするように調整される。
【００６４】
別の例として、アクティビティ費用および／またはレートは、仮想リソースの種類および／または専用実装リソースの種類ごとに調整されることができる。特定の種類の仮想リソースおよび／または専用実装リソースに対応するアクティビティ費用および専用リソース費用は、費用明細期間について決定され、アクティビティ費用および／またはレートはその期間についての専用リソース費用を含むように調整されることができる。例えば、仮想リソースプロバイダ２０６（図２）の顧客が、１つ以上の専用プール７０４、７０６（図７）内の専用実装リソースで実装される特定の種類の１００万個のリソース割り当て単位に対応する仮想リソースを集合的にプロビジョニングし、更に、専用プロセスの一部として、その種類の他の２万個のリソース割り当て単位が、一般的な実装リソースプール７０２から遷移されたものの非アクティブのままであると仮定する。集合的には、仮想リソースプロバイダは、アクティブな専用リソース割り当て単位に対する非アクティブな専用リソース割り当て単位の割合（記号αを用いて本明細書中に示される「非アクティブな専用の割合」）、この例では２％を有する。非アクティブな専用の割合はまた、実装リソース利用量から決定されてもよい。更に、顧客が、アクティブな専用リソース時間（Ｃactive）につき＄０．１０および非アクティブな専用リソース時間（Ｃinactive）につき＄０．０５のベースレートを再び指定する共通の費用プランに従って費用を割り当てられると仮定する。アクティブな専用リソース時間（Ｃ’active）ごとの調整されたレートは、式：
Ｃ’active＝Ｃactive＋αＣinactive
を用いて決定されることができ、すなわち、この例では、＄０．１０＋２％ｘ＄０．０５＝＄０．１０１である。
【００６５】
専用リソース費用に関して明細を明らかにするための調整は、例えば、１つ以上の前の期間および／または１つ以上の後の期間内の予測リソース割り当て単位利用を含む、１組の期間に関して決定されてもよい。異なる顧客および／またはプロビジョニングされたリソース割り当て単位が異なる費用プランに関連付けられると、費用プランに対応する調整は異なってもよく、例えば、費用プランの種類、関連付けられた顧客の種類、利益性および／または異なるベースレートなどの費用プラン属性に少なくとも部分的に基づいて重み付けされてもよい。それに加えて、アクティビティ費用および／または専用リソース費用は、例えば図７の予約された実装リソースプール７０８などの予約された実装リソースプール内の実装リソースに対応するリソース割り当て単位に少なくとも部分的に基づいて修正されてもよい。例えば、アクティブなおよび／または非アクティブな専用リソース時間は、予約されたリソース時間によってオフセットされてもよいし、予約されたリソース時間に関連付けられた費用は、責任を負う顧客の費用明細上に別個のアイテムとして提示されてもよい。更にそれに加えて、費用プラン（複数可）１０２２は、段階的な費用および／またはリソース時間レート、例えば、（例えば、同じ種類の仮想リソースに関して）１組の増加する仮想リソース量閾値に対応する１組の減少する費用および／または１組の増加するリソース時間量閾値に対応する１組の減少するレート、を指定してもよい。なお更にそれに加えて、費用プラン（複数可）１０２２は、専用実装リソースプール７０４〜７０６の遷移プロシージャに関連付けられた費用を指定してもよい。
【００６６】
ここで、少なくとも１つの実施形態によって実施され得るステップおよび／またはプロシージャ例に本記載を変える。図１１は、少なくとも１つの実施形態による仮想プロビジョニングのためのステップ例を描写する。ステップ１１０２では、実装リソースプールは維持されることができる。例えば、リソース割り当て構成要素１００８（図１０）は、図７の一般的な実装リソースプール７０２（ステップ１１０４）および１つ以上の専用実装リソースプール７０４〜７０６（ステップ１１０６）を維持することができる。少なくとも１つの実施形態において、専用実装リソースプール７０４〜７０６の維持（ｍａｉｎｔｅｎａｎｃｅ）は、実装リソースに関する仮想リソース密度を最大にするような、および／または仮想リソース分布目標に向けて進むような、特定の専用プール内の実装リソース間の仮想リソースの移動を含む。しかしながら、専用実装リソースプール７０４〜７０６は、専用実装リソースを必要とする少なくとも１つの仮想リソースをプロビジョニングする前に確立され、および／または維持されることを必要としない。
【００６７】
ステップ１１０８では、仮想リソースプロビジョニング要求が受信されることができる。例えば、プロビジョニングインタフェース１００４（図１０）は、仮想リソースプロバイダ２０６の顧客のクライアントとの相互作用に応答するクライアント２０２〜２０４（図２）のうちの１つから仮想リソースプロビジョニング要求を受信することができる。仮想リソースプロビジョニング要求は、１組の実装リソース制約を組み込むおよび／または参照することができる。例えば、その組の実装リソース制約は、仮想リソース密度および／または仮想リソース分布に関する制約、特定の種類の実装リソースが顧客の仮想リソースに専用になることを含む専用実装リソースに関する制約、ならびに地理的配置などの実装リソース属性に関する制約を含んでもよい。ステップ１１１０では、ステップ１１０８で要求された仮想リソースを実装するために必要とされた１組の実装リソースが、決定されることができる。例えば、リソース割り当て構成要素１００８は、その組の実装リソース制約を含む仮想リソースプロビジョニング要求の１つ以上のパラメータおよび／または属性に少なくとも部分的に基づいて、必要とされた組の実装リソースを決定してもよい。
【００６８】
ステップ１１１２では、ステップ１１１０で決定されたその組の必要とされた実装リソースが利用可能であるかどうかを決定することができる。例えば、リソース割り当て構成要素１００８は、一般的なプール７０２（図７）および専用プール７０４、７０６内の実装リソースの利用可能性を追跡し、その組の必要とされた実装リソースを利用可能な実装リソースインベントリと比較してもよい。その組の必要とされた実装リソースのそれぞれが利用可能である場合、ステップ１１１２を組み込んでいるプロシージャは、ステップ１１１４に進むことができる。それ以外の場合、プロシージャはステップ１１１６に進むことができ、そのステップでは、利用可能性の問題が、ステップ１１０８で受信されたプロビジョニング要求を送信した相手方に報告され得る。
【００６９】
ステップ１１１４では、その１組の必要とされた実装リソースが割り当てられることができる。例えば、リソース割り当て構成要素１００８（図１０）は、必要に応じて、利用可能な実装リソースインベントリおよびプール７０２〜７０６（図７）間の遷移実装リソースを更新することができる。リソース割り当て構成要素１００８は、その組の実装リソース制約に従って利用可能な実装リソースの中から選択することができる。例えば、リソース割り当て構成要素１００８は、目標地理的分離を指定する制約を満たす地理的分離を伴う実装リソースを選択することができる。その組の実装リソース制約が仮想リソース分布目標を指定し、および／または参照する制約を含む場合、リソース割り当て構成要素１００８は、仮想リソース分布目標に従って分布構成要素１０１６の選択を呼び出しおよび／または実装リソースを再割り当てすることができる。その組の必要とされた実装リソースが専用実装リソースを含む場合、分布構成要素１０１６は、実装リソース仮想リソース容量および／または仮想リソース分布目標を考慮しながら、仮想リソース密度を最大にするように更に試みてもよい。
【００７０】
ステップ１１１８では、要求された仮想リソースが、ステップ１１１４で割り当てられたその組の必要とされた実装リソースでプロビジョニングされることができる。例えば、ステップ１１１４のリソース割り当てが成功したという通知をリソース割り当て構成要素１００８から受信すると、プロビジョニングインタフェース１００４は、適切なプロビジョニングワークフローを生成することができる。
【００７１】
図１２は、少なくとも１つの実施形態による実装リソースの利用可能性を決定するステップ例を描写する。ステップ１２０２では、利用可能性についてチェックされる次の（例えば、第１の）実装リソースが、１組の必要とされた実装リソースから選択されることができる。例えば、リソース割り当て構成要素１００８（図１０）は、図１１のステップ１１１０で決定されたその組の必要とされた実装リソースから次の実装リソースを選択することができる。ステップ１２０４では、選択された実装リソースの割り当てが仮想リソースプロバイダ２０６（図２）の１つ以上のリソース割り当てビジネスポリシーに違反するかどうかについて決定されることができる。例えば、ビジネスポリシー実施構成要素１０１４は、その組のリソース割り当てビジネスポリシーに関して選択された実装リソース割り当てを評価することができる。図１２を参照にして記載されたこの例では、ステップ１２０４が、その組の必要とされた実装リソース内の各実装リソースのために実行される。あるいは、またはそれに加えて、ステップ１２０４の決定は、その組の必要とされた実装リソース全体のために１度実行されることができる。
【００７２】
ステップ１２０６では、ステップ１２０２で選択された実装リソースを割り当てる試みが行われてもよい（「事前割り当てチェック」）。例えば、リソース割り当て構成要素１００８（図１０）は、選択された実装リソースに一致する種類の割り当てられていない実装リソースを求めて適切な実装リソースプール７０２〜７０６（図７）を検索してもよい。実際の割り当ては、（データベース理論の意味での）アトミックな割り当てトランザクションを保証するために（例えば、図１１のステップ１１１４に）遅らされてもよい。あるいは、可能であれば部分的な割り当てが許可されることができ、および／またはステップ１２０６は選択された実装リソースを割り当てることができる。ステップ１２０８では、ステップ１２０６の割り当ての試みが成功したかどうかについて決定されることができる。成功した場合、ステップ１２０８を組み込んでいるプロシージャは、ステップ１２１０に進むことができる。そうではない場合、プロシージャは、少なくとも１つの実装リソースが利用可能ではないことを示す状態１２１２を伴う図１２に示されていない１つ以上のステップ（例えば、図１１のステップ１１１６）に進むことができる。
【００７３】
ステップ１２１０では、その組の必要とされた実装リソースにおいてチェックされる実装リソースが更にあるかどうかについて決定されることができる。そうである場合、プロシージャは、ステップ１２０２に進むことができる。そうではない場合、プロシージャは、その組の必要とされた実装リソースのそれぞれが利用可能であることを示す状態１２１４を伴う図１２に示されていない１つ以上のステップ（例えば、図１１のステップ１１１４）に進むことができる。
【００７４】
図１３は、少なくとも１つの実施形態による実装リソースを割り当てるおよび／または割り当てることを試みるステップ例を描写する。例えば、図１３のステップは、図１１のステップ１１１２またはステップ１１１４および／または図１２のステップ１２０６に組み込まれることができる。ステップ１３０２では、割り当てられる実装リソース（「割り当て候補」）が、特定の専用実装リソースプールから割り当てられるかどうかについて決定されることができる。例えば、図１１のステップ１１１０で決定されたその組の実装リソースは、図７の専用実装リソースプール７０６から割り当てられる１組の実装リソースを含むことができ、および、割り当て候補はそれらの実装リソースのうちの１つであることができ、ならびに／あるいはリソース割り当て構成要素１００８（図１０）は、図１１のステップ１１０８で受信された仮想リソースプロビジョニング要求に関連付けられた１つ以上の専用実装リソース制約を識別することができる。割り当て候補が、専用実装リソースプール７０４〜７０６のうちの１つから割り当てられる場合、ステップ１３０２を組み込んでいるプロシージャは、ステップ１３０４に進むことができる。そうではない場合、プロシージャは、ステップ１３０６に進むことができる。
【００７５】
ステップ１３０６では、割り当て候補に一致する実装リソースが、一般的な実装リソースプール７０２（図７）において利用可能であるか（例えば、割り当てられていないか）どうかについて決定されることができる。例えば、リソース割り当て構成要素１００８（図１０）は、割り当て候補に一致する種類の割り当てられていない実装リソースを求めて一般的な実装リソースプール７０２を検索することができる。割り当て候補が一般的な実装リソースプール７０２内で利用可能である場合、プロシージャは、ステップ１３０８に進むことができる。そうではない場合、プロシージャは、割り当て候補が割り当てられなかったことを示す状態１３１０を伴う図１３に示されていない１つ以上のステップ、例えば図１１のステップ１１１６、に進むことができる。ステップ１３０８では、割り当て候補は、一般的な実装リソースプール７０２から割り当てられることができる。例えば、リソース割り当て構成要素１００８（図１０）は、ステップ１３０６で見つけられた一般的なプール７０２実装リソースを関連付けられた仮想リソース（例えば、図１１のステップ１１０８のプロビジョニング要求に関連付けられた仮想リソース）に割り当てられたとして記録することができる。
【００７６】
ステップ１３０４では、割り当て候補に一致する実装リソースが、ステップ１３０２で決定された特定の専用実装リソースプール（「候補専用プール」）において利用可能であるかどうかについて決定されることができる。例えば、リソース割り当て構成要素１００８（図１０）は、割り当て候補に一致する種類の割り当てられていない実装リソースを求めて専用実装リソースプール７０６（図７）を検索することができる。割り当て候補が候補専用プールにおいて利用可能である場合、プロシージャはステップ１３１２に進むことができる。そうではない場合、プロシージャは、ステップ１３１４に進むことができる。ステップ１３１２では、割り当て候補は、候補専用プールから割り当てられることができる。例えば、リソース割り当て構成要素１００８は、ステップ１３０４で見つけられた専用プール７０６実装リソースを関連付けられた仮想リソースに割り当てられたとして記録することができる。
【００７７】
割り当て候補が候補専用プールにおいて現在利用可能ではないことが決定された場合、ステップ１３１４では、候補専用プールが拡張可能であるかどうかについて更に決定されることができる。例えば、専用リソースプール構成要素１０１２（図１０）は、関連付けられた費用プラン（複数可）１０２２をチェックし、および／またはビジネスポリシー実施構成要素１０１４による候補専用プールの拡張の評価を要求することができる。候補専用プールが拡張可能である場合、プロシージャはステップ１３１６に進むことができ、そうではない場合、プロシージャは、割り当て候補が割り当てられなかったことを示す状態１３１０を伴う図１３に示されていない１つ以上のステップ、例えば図１１のステップ１１１６に進むことができる。
【００７８】
ステップ１３１６では、例えばステップ１３０６について上記したように、割り当て候補に一致する実装リソースが、一般的な実装リソースプール７０２（図７）において利用可能であるかどうかについて決定されることができる。そうである場合、プロシージャはステップ１３１８に進むことができる。そうではない場合、プロシージャは、割り当て候補が割り当てられなかったことを示す状態１３１０を伴う図１３に示されていない１つ以上のステップ、例えば図１１のステップ１１１６、に進むことができる。ステップ１３１８では、ステップ１３１６で見つけられた実装リソースが、候補専用プールに遷移されることができる（および／または遷移が開始されることができる）。例えば、専用リソースプール構成要素１０１２は、プール遷移構成要素１０１８にステップ１３１６で見つけられた一般的なプール７０２実装リソースを遷移させることを要求してもよい。遷移された実装リソースは、ステップ１３１２について上記したように割り当てられることができる。図１３のステップが事前割り当てチェックの一部として実行されると、ステップ１３０８、ステップ１３１２およびステップ１３１８が省略され、および／または「リソース利用可能」状態に対応することができる。
【００７９】
図１１のステップ１１１０で決定されたその組の実装リソースが、その時点でまだ存在していない専用実装リソースプールから割り当てられる１組の実装リソースを含む可能性がある。この場合、専用リソースプール構成要素１０１２（図１０）は、割り当てられるその組の実装リソースを含む新たな専用実装リソースプールを確立することができる。図１４は、少なくとも１つの実施形態による専用実装リソースプールを確立するステップ例を描写する。ステップ１４０２では、新たな専用実装リソースプールを確立するための要求（「新たな専用プール要求」）が受信されることができる。例えば、専用リソースプール構成要素１０１２は、図１１のステップ１１０８の仮想リソースプロビジョニング要求に応答する要求を受信することができる。
【００８０】
ステップ１４０４では、新たな専用プール要求が、１組の実装リソースにマップされることができる。新たな専用プール要求は、新たな専用実装リソースプールに追加される１組の実装リソースを明確に指定することができる。あるいは、またはそれに加えて、新たな専用プール要求は、専用実装リソースで実装される１組の仮想リソースを指定することができ、および専用リソースプール構成要素１０１２（図１０）は、その組の仮想リソースをその組の実装リソースにマップすることができる。
【００８１】
ステップ１４０６では、新たな専用プール要求が、その組のリソース割り当てビジネスポリシーに関して、例えばビジネスポリシー実施構成要素１０１４（図１０）によって、評価されることができる。ステップ１４０８では、新たな専用プール要求が、ステップ１４０６の評価に少なくとも部分的に基づくその組のリソース割り当てビジネスポリシーに従うかどうかについて決定されることができる。そうである場合、ステップ１４０８を組み込んでいるプロシージャは、ステップ１４１０に進むことができる。そうではない場合、ステップ１４１２では、その問題が要求元に報告されることができる。
【００８２】
ステップ１４１０では、例えば図１３のステップ１３１６について上記したように、ステップ１４０４で取得されたその組の実装リソースが一般的な実装リソースプール７０２（図２）において利用可能であるかどうかについて決定されることができる。そうである場合、プロシージャは、ステップ１４１４に進むことができる。そうではない場合、プロシージャは、その問題を要求元に報告するためにステップ１４１２に進むことができる。ステップ１４１４では、新たな専用実装リソースプールが、例えば専用リソースプール構成要素１０１２（図１０）によって、その組の専用実装リソースプール７０４〜７０６（図７）に追加されることができる。ステップ１４１６では、一般的な実装リソースプール７０２において利用可能として識別されたその組の実装リソースが、新たな専用実装リソースプールに遷移されることができる。
【００８３】
図１０を参照にして上記したように、専用実装リソースプールは、非アクティブな専用実装リソースバッファで確立されることができる。図１５は、少なくとも１つの実施形態による非アクティブな専用実装リソースバッファを維持するステップ例を描写する。ステップ１５０２では、専用プール利用データが収集されることができる。例えば、プール利用構成要素１０２０は、専用実装リソースプール７０６（図７）におけるアクティビティおよび／または非アクティビティのレベルを監視することができる。ステップ１５０４では、例えばプール利用構成要素１０２０によって、ステップ１５０２で収集された専用プール利用データに少なくとも部分的に基づいてこの後の専用プールの利用が予測されることができる。
【００８４】
ステップ１５０６では、現行の非アクティブな専用実装リソースバッファが十分であるかどうかについて決定されることができる。例えば、プール利用構成要素１０２０は、専用実装リソースプール７０６（図７）における非アクティビティの予測レベルを専用実装リソースプール７０６についての非アクティビティの目標レベルおよび／または最小の非アクティビティバッファ閾値と比較することができる。現行のバッファが十分である場合（例えば、非アクティビティの予測レベルが最小の非アクティビティバッファ閾値を満たすまたは超える）、ステップ１５０６を組み込んでいるプロシージャは、ステップ１５０８に進むことができる。そうではない場合、プロシージャは、ステップ１５１０に進むことができる。ステップ１５１０では、１つ以上の実装リソースが、一般的な実装リソースプール７０２から（例えば、一般的な実装リソースプール７０２の予約された部分７０８から）専用実装リソースプール７０６に遷移されることができる。例えば、プール利用構成要素１０２０は、予測バッファが十分であるように、プール遷移構成要素１０１８に十分な実装リソースを専用実装リソースプール７０６に遷移することを要求することができる。
【００８５】
ステップ１５０８では、現行の非アクティブな専用実装リソースバッファが過度であるかどうかについて決定されることができる。例えば、プール利用構成要素１０２０は、専用実装リソースプール７０６（図７）における非アクティビティの予測レベルを専用実装リソースプール７０６についての非アクティビティの目標レベルおよび／または最大の非アクティビティバッファ閾値と比較することができる。現行のバッファが過度である（例えば、非アクティビティの予測レベルが最大の非アクティビティバッファ閾値を超える）場合、プロシージャは、ステップ１５１２に進むことができる。そうではない場合、プロシージャは、より多くのデータを収集するためにステップ１５０２に進むことができる。ステップ１５１２では、１つ以上の実装リソースが、専用実装リソースプール７０６から一般的な実装リソースプール７０２に（例えば、一般的な実装リソースプール７０２の予約された部分７０８に）遷移されることができる。例えば、プール利用構成要素１０２０は、非アクティビティの予測レベルが専用実装リソースプール７０６についての非アクティビティの目標レベルに対応するように、プール遷移構成要素１０１８に十分な実装リソースを一般的な実装リソースプール７０６に遷移することを要求することができる。
【００８６】
プロビジョニングされた仮想リソースを維持することに関連付けられた費用は、仮想リソースプロバイダ２０６の管理者および／または顧客によって指定される費用提示スケジュールに従って仮想リソースプロバイダ２０６（図２）の責任を負う顧客に提示されることができる。図１６は、少なくとも１つの実施形態による費用を追跡するステップ例を描写する。ステップ１６０２では、１組の仮想リソースが、ある期間に維持されることができる。例えば、仮想リソースプロバイダ２０６は、特定の顧客のための１組の仮想リソース２１２をその期間に維持することができる。
【００８７】
ステップ１６０４では、ステップ１６０２で維持されたその組の仮想リソースに対応する１つ以上のアクティブな実装リソース利用量が、決定されることができる。例えば、図１０のアカウンティング構成要素１０１０は、その期間にその組の仮想リソースのそれぞれに関連付けられたアクティブなリソース時間の数を決定することができる。ステップ１６０６では、ステップ１６０２で維持されたその組の仮想リソースに対応する１つ以上の非アクティブな実装リソース利用量が、決定されることができる。例えば、アカウンティング構成要素１０１０は、その期間にその組の仮想リソースのそれぞれに関連付けられた非アクティブなリソース時間の数を決定することができる。
【００８８】
ステップ１６０８では、その組の仮想リソースが、１組の予約された仮想リソースに関連付けられているかどうかについて決定されることができる。例えば、顧客は、プロビジョニングインタフェース１００４（図１０）でその組の予約された仮想リソースをプロビジョニングし、および／またはその組の予約された仮想リソースをステップ１６０２で維持され、以前にプロビジョニングされた組の仮想リソースに関連付けることができる。費用が決定されているその組の仮想リソースに関連付けられた予約された仮想リソースがある場合、ステップ１６０８を組み込んでいるプロシージャは、ステップ１６１０に進むことができる。そうではない場合、プロシージャはステップ１６１２に進むことができる。ステップ１６１０では、その組の予約された仮想リソースが、１つ以上の予約された実装リソース利用量に対してマップされることができる。例えば、図１０のアカウンティング構成要素１０１０は、その組の予約された仮想リソースのそれぞれに関連付けられた予約されたリソース時間の数を決定することができる。
【００８９】
ステップ１６１２では、１つ以上の費用が、顧客および／またはその組の仮想リソースに関連付けられた１つ以上の費用プランに従って決定されることができる。例えば、アカウンティング構成要素１０１０（図１０）は、費用プラン（複数可）１０２２ならびに／あるいはステップ１６０４、ステップ１６０６および／またはステップ１６１０でそれぞれ決定されたアクティブな、非アクティブなおよび／または予約された実装リソース利用量に少なくとも部分的に基づいて費用（複数可）を決定することができる。ステップ１６１４では、ステップ１６１２で決定された費用（複数可）が、顧客に提示されることができる。例えば、アカウンティング構成要素１０１０は、アカウントＵＩ１０２４でアクセス可能な１つ以上の費用の提示を生成することができる。
【００９０】
図１０を参照にして上記したように、制御プレーン１００２は、ワークフロー構成要素１００６によって維持された１つ以上のワークフローにより容易にされることができる。図１７は、少なくとも１つの実施形態によるワークフローのためのステップ例を描写する。ステップ１７０２では、要求が、制御プレーン１００２（図１０）のインタフェースによって受信されることができる。例えば、制御プレーン１００２のプロビジョニングインタフェース１００４および／またはアカウントＵＩ１０２４は、仮想リソースプロバイダ２０６の顧客および／または管理者から要求を受信することができる。要求は、例えばシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）呼び出しを利用する、アプリケーションプログラミングインタフェース（ＡＰＩ）またはウェブサービスインタフェースなどのプログラム的なインタフェースに対する呼び出しであることができる。あるいは、またはそれに加えて、要求は、ウェブベースＧＵＩなどのグラフィカルユーザインタフェース（ＧＵＩ）経由で受信されることができる。ステップ１７０４では、要求を成功裏に完了するために必要とされる１つ以上のアクションを決定するように要求が分析されることができる。例えば、プロビジョニングインタフェース２０８は、要求を分析し、１組の仮想リソースをプロビジョニングするために必要とされる１組のアクションを決定することができる。要求を受信するインタフェース要素が、実行される特定のアクションに対応する場合、インタフェースは、実行されるアクションの態様および／またはパラメータの決定に利用される要求から情報を引き出すことができる。
【００９１】
ステップ１７０６では、要求が、ステップ１７０４で決定された１つ以上のアクションに少なくとも部分的に基づいてワークフローを生成するために送信されることができる。例えば、プロビジョニングインタフェース１００４（図１０）は、要求をワークフロー構成要素１００６に送信することができる。ワークフローを生成するための要求は、アクション（複数可）、アクションの種類などのアクションメタデータ、および／またはアクションパラメータを含むことができる。少なくとも１つの実施形態において、制御プレーン１００２および／またはワークフロー構成要素１００６はそのような要求に対するジョブ待ち行列を維持し、ジョブ待ち行列に対する新たな追加に応答するワークフローが生成される。ステップ１７０８では、ワークフローおよび１つ以上の構成要素タスクが生成されることができる。例えば、ワークフロー構成要素１００６は、生成する適切なワークフローおよび構成要素タスクを決定するためにステップ１７０６の要求を分析することができる。
【００９２】
ステップ１７１０では、構成要素タスク（複数可）の実行が、ワークフローに従って導かれることができる。例えば、ワークフロー構成要素１００６（図１０）は、その組の仮想リソースをプロビジョニングするために実装リソース２２０（図２）のインタフェースの要素をアクティブにすることができる。あるいは、またはそれに加えて、ワークフロー構成要素１００６は、仮想リソースプロバイダ２０６の構成要素によって構成要素タスク（複数可）の実行のためのビッド（ｂｉｄ）を管理することができる。ステップ１７１２では、ワークフローが終了しているかどうかについて決定されることができる。例えば、ワークフロー構成要素１００６は、ワークフローによって管理されるタスクのシーケンス内の最後のタスクが完了しているかどうかについて決定することができる。そうである場合、ステップ１７１２を組み込んでいるプロシージャは、ステップ１７１４に進むことができる。そうではない場合、プロシージャは、次のタスクおよび／またはタスクシーケンスのためにステップ１７１０に戻ることができる。ワークフローは、並行して実行される複数のタスクシーケンスを導くことができる。この場合において、ワークフローは、複数のタスクシーケンスのそれぞれが完了するおよび／または明確なワークフロー終了フラグが構成要素タスクのうちの１つによって設定されるまで終了していない可能性がある。ステップ１７１４では、ステップ１７０２の要求の送信元が、アクション（複数可）の結果（複数可）について通知されることができる。
【００９３】
本明細書中に記載された様々な実施形態は、ある場合においては、任意のいくつかのアプリケーションを操作するために利用され得る１つ以上のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含み得る多種多様の操作環境において実施されてもよい。ユーザデバイスまたはクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ、ならびにモバイルソフトウェアを実行し、多数のネットワークおよびメッセージプロトコルをサポートする能力のある、セルラー、無線、およびハンドヘルドデバイス等の、多数の汎用パーソナルコンピュータのいずれかを含んでもよい。このようなシステムはまた、開発およびデータベース管理等の目的で、様々な市販のオペレーティングシステムおよび他の既知のアプリケーションを実行する、いくつかのワークステーションを含んでもよい。これらのデバイスはまた、ネットワークを介して通信する能力のある、ダミー端末、シンクライアント、ゲーム機、および他のデバイス等、他の電子デバイスを含んでもよい。
【００９４】
ほとんどの実施形態は、ＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、およびＡｐｐｌｅＴａｌｋ等の様々な市販のプロトコルのいずれかを使用する通信をサポートすることで当業者によく知られている、少なくとも１つのネットワークを利用する。そのようなネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、ワイヤレスネットワーク、およびこれらの組み合わせを含んでもよい。ネットワークはさらに、任意の適切なネットワークトポロジを組み込んでもよい。適切なネットワークトポロジの例としては、単純なポイントツーポイント、スター型トポロジ、自己編成式のピアツーピアトポロジ、およびそれらの組み合わせが挙げられるが、これらに限定されない。
【００９５】
ウェブサーバを利用する実施形態において、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、ジャバサーバ、およびビジネスアプリケーションサーバを含む、様々なサーバまたは中間層アプリケーションのいずれかを実行してもよい。サーバ（複数可）はまた、例えば、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、またはＣ＋＋等の任意のプログラム言語、あるいはＰｅｒｌ、Ｐｙｔｈｏｎ、またはＴＣＬ等の任意のスクリプト言語、ならびにこれらの組み合わせで書かれた、１つ以上のスクリプトまたはプログラムとして実装可能な１つ以上のウェブアプリケーションを実行することによって、ユーザデバイスからの要求に応じてプログラムまたはスクリプトを実行する能力があってもよい。サーバ（複数可）はまた、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、およびＩＢＭ（登録商標）からの市販のものを含むが、これらに限定されないデータベースサーバを含んでもよい。
【００９６】
環境は、上述のように、様々なデータストアならびに他のメモリおよび記憶媒体を含んでもよい。これらは、様々な位置、例えば、コンピュータの１つ以上にローカル（および／またはその中に存在する）か、あるいはネットワークにわたるコンピュータのいくつかまたは全てからリモートの記憶媒体上に、存在してもよい。特定のセットの実施形態において、情報は、当業者によく知られているストレージエリアネットワーク（「ＳＡＮ」）内に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実行するためのいずれの必要なファイルも、必要に応じて、ローカルおよび／またはリモートに記憶されてもよい。システムが、コンピュータ化されたデバイスを含む場合、それぞれのこのようなデバイスは、バスを介して電気的に連結されてもよいハードウェア要素を含んでもよく、その要素には、例えば、少なくとも１つの中央処理装置（ＣＰＵ）、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチ画面、またはキーパッド）、ならびに少なくとも１つの出力デバイス（例えば、画面デバイス、プリンタ、またはスピーカ）が挙げられる。このようなシステムはまた、１つ以上の記憶デバイス、例えば、ディスクドライブ、光学記憶デバイス、ランダムアクセスメモリ（「ＲＡＭ」）または読み込み専用メモリ（「ＲＯＭ」）等のソリッドステート記憶デバイス、ならびに取り外し可能メディアデバイス、メモリカード、フラッシュカード等を含んでもよい。
【００９７】
このようなデバイスはまた、上述のように、コンピュータ可読記憶媒体リーダ、通信デバイス（例えば、モデム、ネットワークカード（無線または有線）、赤外線通信デバイス等）、および作業メモリを含んでもよい。コンピュータ可読記憶媒体リーダは、リモート、ローカル、固定、および／または取り外し可能記憶デバイス、ならびに一時的および／またはより恒久的にコンピュータ可読情報を収容、記憶、伝送、および読み出すための記憶媒体を代表する、コンピュータ可読記憶媒体に接続されるか、それを受信するように構成されてもよい。システムおよび様々なデバイスはまた、典型的に、クライアントアプリケーションまたはウェブブラウザ等のオペレーティングシステムおよびアプリケーションプログラムを含む、少なくとも１つの作業メモリデバイス内に配置される、プログラムモジュール、サービス、または他の要素を含む多数のソフトウェアアプリケーションモジュールを含むだろう。代替の実施形態が、多数の上述のものからの変形を有してもよいことを理解されたい。例えば、カスタマイズされたハードウェアもまた利用可能であり、および／または特定の要素がハードウェア、ソフトウェア（アプレット等のポータブルソフトウェアを含む）、または両方において実装されてもよい。さらに、ネットワーク入力／出力デバイス等の、他のコンピューティングデバイスへの接続も、採用可能である。
【００９８】
コードまたはコードの部分を収容するための記憶媒体およびコンピュータ可読媒体は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイス、あるいは所望の情報を記憶するために利用されてもよい、システムデバイス内でアクセス可能な任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の、情報の記憶および／または伝送のための任意の方法または技術で実装される、揮発性および不揮発性媒体、取り外し可能または取り外し不可媒体であるが、これらに限定はされない、記憶媒体および通信媒体を含む、当該技術分野で既知か、または使用されている任意の適切な媒体を含んでもよい。プログラムモジュール、プログラム構成要素、および／またはプログラムオブジェクトは、任意の適切なコンピュータプログラミング言語の、および／またはそれに対応するコンピュータ可読命令および／またはコンピュータ実行可能な命令を含んでもよい。少なくとも１つの実施形態において、それぞれのコンピュータ可読媒体は有形であってもよい。少なくとも１つの実施形態において、それぞれのコンピュータ可読媒体は、時間的に非一時的なものであってもよい。本明細書に提供される開示および教示に基づき、当業者は様々な実施形態を実装するための他の様式および／または方法を認識するであろう。
【００９９】
本明細書および図面は、したがって、限定的な意味ではなく、むしろ例示的な意味と見なされるべきである。しかしながら、様々な修正および変更が、請求項に記載の本発明の広い精神および範囲から逸脱することなく、そこへなされてもよいことは明白であろう。
【０１００】
実施形態を記載する文脈における（特に以下の特許請求の範囲の文脈における）「１つの（ａ）」および「１つの（ａ）」および「その（ｔｈｅ）」という用語ならびに類似の指示語の使用は、本明細書中に特に示されない限りまたは文脈により明らかに矛盾しない限り、単数形および複数形の両方を含むと解釈される。「備える（含む）（ｃｏｍｐｒｉｓｉｎｇ）」、「有する（ｈａｖｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」および「含む（ｃｏｎｔａｉｎｉｎｇ）」という用語は、言及されない限り、制限のない用語（すなわち、「を含むが、限定されない」という意味）として解釈される。「接続される（ｃｏｎｎｅｃｔｅｄ）」という用語は、たとえ間に何かがある場合でも、部分的にまたは完全に、（〜）内に含まれる（ｃｏｎｔａｉｎｅｄ  ｗｉｔｈｉｎ）、（〜）に取り付けられる（ａｔｔａｃｈｅｄ  ｔｏ）、あるいは互いに接合される（ｊｏｉｎｅｄ  ｔｏｇｅｔｈｅｒ）として解釈される。本明細書中における値の範囲の列挙は、単に範囲内に属する各別個の値をそれぞれ示す簡単な方法としての機能を果たすことを意図するにすぎず、本明細書中に示されない限り、各別個の値は、本明細書中に個別に列挙されたものとして本明細書中に組み込まれる。本明細書中に記載した全ての方法は、本明細書中に示されない限りまたは文脈により明らかに矛盾しない限り、任意の適切な順序で実行可能である。任意のおよび全ての例、または本明細書中に提供された例示的な言い回し（例えば「など（ｓｕｃｈ  ａｓ）」）の使用は、単に実施形態をより良く説明することを意図し、特許請求されない限り、本発明の範囲を限定するものではない。本明細書中のいかなる言い回しも、任意の特許請求されていない要素を少なくとも１つの実施形態の実施に不可欠なものとして示すものと解釈されるべきではない。
【０１０１】
好適な実施形態は、本発明者らに知られる最良の様式を含んで本明細書中に記載される。それらの好適な実施形態の変形は、前の記載を読めば当業者に明らかとなり得る。本発明者らは当業者がそのような変形を適宜用いることを予期し、本発明者らは実施形態が本明細書中に具体的に記載されたのとは別の方法で構成されることを意図する。したがって、適切な実施形態は、準拠法で許されているように、本明細書に添付された特許請求の範囲に記載された内容の全ての改変および均等物を含む。更に、その全ての可能な変形における上記要素の任意の組み合わせは、本明細書中で特に示されない限りまたは文脈により明らかに矛盾しない限り、いくつかの適切な実施形態に組み込まれるものとして意図される。
【０１０２】
本明細書中に引用される刊行物、特許出願、および特許を含む全ての文献は、各文献を個々に具体的に示し、参照して組み込むのと、また、その内容の全てを本明細書中に記載するのと同じ程度まで、ここで参照して組み込まれる。
【０１０３】
付記１．  仮想リソースの費用を追跡するコンピュータ実装された方法であって、実行可能な命令を備えて構成される１つ以上のコンピュータシステムの制御下で、複数の顧客に関連付けられた複数の仮想リソースに複数の実装リソース割り当て単位として割り当てられることが可能な少なくとも１つの実装リソースであって、前記複数の顧客のうちの１組の顧客の仮想リソースに専用である、少なくとも１つの実装リソースを含む１組の実装リソースによって実装される仮想リソースを、前記複数の顧客を有する仮想リソースプロバイダで、維持することと、前記仮想リソースの実装に割り当てられる前記少なくとも１つの実装リソースのうち少なくとも第１の実装リソース割り当て単位に対応するアクティブなリソース利用量を決定することと、少なくとも部分的に前記の組の顧客の仮想リソースに専用であるために割り当てられていない前記少なくとも１つの実装リソースのうち少なくとも第２の実装リソース割り当て単位に対応する非アクティブなリソース利用量を決定することと、前記アクティブなリソース利用量および前記非アクティブなリソース利用量に少なくとも部分的に基づいて前記仮想リソースの少なくとも１つの費用を決定することと、前記の組の顧客に対して前記仮想リソースの前記少なくとも１つの費用の提示を提供することと、を含む、コンピュータ実装された方法。
【０１０４】
付記２．  前記少なくとも１つの実装リソースを一般的な実装リソースプールから前記の組の顧客に関連付けられた専用実装リソースプールに遷移することによって少なくとも部分的に前記少なくとも１つの実装リソースを専用にすることを更に含む、付記１に記載のコンピュータ実装された方法。
【０１０５】
付記３．  前記一般的な実装リソースプール内の実装リソースは、前記仮想リソースプロバイダの前記複数の顧客の複数の仮想リソースを少なくとも部分的に実装する、請求項２に記載のコンピュータ実装された方法。
【０１０６】
付記４．  前記仮想リソースは、仮想コンピュータシステム、仮想データストア、および仮想プライベートネットワークのうちの少なくとも１つを含む、付記１に記載のコンピュータ実装された方法。
【０１０７】
付記５．  前記少なくとも１つの実装リソースは、記憶デバイス、物理的なサーバ、サーバラック、データセンタ、前記データセンタの物理的に安全な部分、物理的なアクセスに関して監視される前記データセンタの部分、移動式データセンタ、ネットワークスイッチ、ネットワーク接続、無線ネットワーク送信器、および無線ネットワーク受信器のうちの少なくとも１つを含む、付記１に記載のコンピュータ実装された方法。
【０１０８】
付記６．  実装リソース割り当て単位のそれぞれは、前記記憶デバイス、前記物理的なサーバ、前記サーバラック、前記データセンタ、前記データセンタの前記物理的に安全な部分、物理的なアクセスに関して監視される前記データセンタの前記部分、前記移動式データセンタ、前記ネットワークスイッチ、前記ネットワーク接続、前記無線ネットワーク送信器、および前記無線ネットワーク受信器のうちの、少なくとも１つの容量の単位に対応する、付記５に記載のコンピュータ実装された方法。
【０１０９】
付記７．  前記物理的なサーバの前記容量の単位は標準仮想コンピュータシステム単位に対応し、前記物理的なサーバは１つの標準仮想コンピュータシステム単位よりも大きな容量を有する、付記６に記載のコンピュータ実装された方法。
【０１１０】
付記８．  リソース利用量は、実装リソース割り当て単位と時間単位との乗法的な積に対応する、付記１に記載のコンピュータ実装された方法。
【０１１１】
付記９．  仮想リソースの費用を追跡するコンピュータ実装された方法であって、実行可能な命令を備えて構成される１つ以上のコンピュータシステムの制御下で、複数の顧客に関連付けられた複数の仮想リソースを実装することが可能な少なくとも１つの実装リソースであって、仮想リソースプロバイダの複数の顧客のうちの１組の顧客の仮想リソースに専用である、少なくとも１つの実装リソースによって、少なくとも部分的に実装される仮想リソースを維持することと、前記少なくとも１つの実装リソースの少なくとも１つの割り当てられていない部分に対応する非アクティブなリソース利用量を決定することと、前記非アクティブなリソース利用量に少なくとも部分的に基づいて前記仮想リソースの少なくとも１つの費用を決定することと、前記仮想リソースの前記少なくとも１つの費用の提示を前記の組の顧客に提供することと、を含む、コンピュータ実装された方法。
【０１１２】
付記１０．  前記仮想リソースの前記少なくとも１つの費用を決定することは、前記少なくとも１つの実装リソースの少なくとも１つの割り当てられた部分に対応するアクティブなリソース利用量に少なくとも部分的に基づいて第１の費用を決定することと、前記非アクティブなリソース利用量に少なくとも部分的に基づいて第２の費用を決定することと、を含む、付記９に記載のコンピュータ実装された方法。
【０１１３】
付記１１．  前記第１の費用は、アクティブな実装リソース費用レートと前記アクティブなリソース利用量との乗法的な積であり、前記第２の費用は、非アクティブな実装リソース費用レートと前記非アクティブなリソース利用量との乗法的な積である、付記１０に記載のコンピュータ実装された方法。
【０１１４】
付記１２．  前記の組の顧客の前記仮想リソースの前記少なくとも１つの費用を決定することは、前記非アクティブなリソース利用量、および、前記少なくとも１つの実装リソースの少なくとも１つの割り当てられた部分に対応するアクティブなリソース利用量、に少なくとも部分的に基づいて費用を決定することを含む、付記９に記載のコンピュータ実装された方法。
【０１１５】
付記１３．  前記費用を決定することは、対応する期間に関して調整されるアクティブな実装リソース費用レートを決定することを含む、付記１２に記載のコンピュータ実装された方法。
【０１１６】
付記１４．  前記仮想リソースの前記少なくとも１つの費用を決定することは、前記仮想リソースプロバイダの複数の実装リソースに対応するアクティブなおよび非アクティブなリソース利用量に少なくとも部分的に基づいて調整されるアクティブな実装リソース費用レートを決定することを含む、付記９に記載のコンピュータ実装された方法。
【０１１７】
付記１５．  前記調整されるアクティブな実装リソース費用レートは、前記複数の実装リソースに関する平均のアクティブなリソース利用量に対する平均の非アクティブなリソース利用量の割合に少なくとも部分的に基づくものである、付記１４に記載のコンピュータ実装された方法。
【０１１８】
付記１６．  仮想リソースの費用を追跡するコンピュータ実装された方法であって、実行可能な命令を備えて構成される１つ以上のコンピュータシステムの制御下で、仮想リソースプロバイダの顧客に専用である実装リソースにおいてアクティブな実装リソースの利用に対する非アクティブな実装リソースの利用の割合が高いことを抑制する少なくとも１つのリソース割り当てビジネスポリシーを含む１組のリソース割り当てビジネスポリシーに関連付けられた少なくとも１つの費用プランに関連付けられた要求であって、仮想リソースをプロビジョニングするために、前記仮想リソースが前記仮想リソースプロバイダの１組の顧客に専用である少なくとも１つの実装リソースで少なくとも部分的に実装されることを示す要求を受信することと、前記仮想リソースが、前記少なくとも１つの実装リソースを含む１組の実装リソースによって実装されるとき、前記の組のリソース割り当てビジネスポリシーを満たすことをチェックすることと、前記の組の実装リソースを前記仮想リソースに割り当てることによって少なくとも部分的に前記の組の実装リソースで前記仮想リソースをプロビジョニングすることと、前記少なくとも１つの費用プランに従って前記仮想リソースの少なくとも１つの費用を決定することと、前記仮想リソースの前記少なくとも１つの費用を前記の組の顧客に提示することと、を含む、コンピュータ実装された方法。
【０１１９】
付記１７．  前記要求は、前記の組の顧客に専用である複数の実装リソースにわたる複数の仮想リソースの目標分布を指定し、前記複数の仮想リソースは前記仮想リソースを含み、および、前記少なくとも１つのリソース割り当てビジネスポリシーは、実装の前記目標分布が対象である少なくとも１つの分布限界を指定する、付記１６に記載のコンピュータ実装された方法。
【０１２０】
付記１８．  前記少なくとも１つの費用プランは、前記仮想リソースの前記少なくとも１つの費用が、前記の組の顧客に専用の１つ以上の実装リソースで少なくとも部分的に実装される同じ種類のプロビジョニングされる仮想リソースの数に少なくとも部分的に基づくことを指定する、付記１６に記載のコンピュータ実装された方法。
【０１２１】
付記１９．  仮想リソース費用を追跡するコンピュータ化されたシステムであって、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを集合的に実装することが可能な、複数の実装リソースと、前記複数の顧客が、前記仮想リソースが前記複数の顧客のうちの１組の顧客に専用である実装リソースで実装されることを示す要求を含む、前記仮想リソースをプロビジョニングする要求をすることを可能にするように少なくとも構成された、プロビジョニングインタフェースと、実装リソース割り当て構成要素であって、少なくとも、前記複数の顧客のうちの少なくとも前記の組の顧客に専用の前記複数の実装リソースのうちの少なくとも１つを含む、少なくとも１つの専用実装リソースプールを維持し、ならびに、前記要求によって示されるように前記少なくとも１つの専用実装リソースプールから実装リソースを選択することを含めて要求された仮想リソースを実装するために、前記複数の実装リソースにおける実装リソースの少なくとも一部を割り当てるように構成された、実装リソース割り当て構成要素と、費用追跡構成要素であって、少なくとも、前記少なくとも１つの専用実装リソースプールから選択される少なくとも１つの実装リソースの少なくとも１つの割り当てられた部分に対応するアクティブなリソース利用量を決定し、前記少なくとも１つの専用実装リソースプールから選択される前記少なくとも１つの実装リソースの少なくとも１つの割り当てられていない部分に対応する非アクティブなリソース利用量を決定し、ならびに前記少なくとも１つの専用実装リソースプールから選択される前記少なくとも１つの実装リソースで少なくとも部分的に実装される少なくとも１つの仮想リソースの少なくとも１つの費用であって、前記アクティブなリソース利用量および前記非アクティブなリソース利用量に少なくとも部分的に基づく前記少なくとも１つの費用を決定するように構成された、費用追跡構成要素と、前記少なくとも１つの仮想リソースの前記少なくとも１つの費用を前記の組の顧客に提示するように少なくとも構成されたユーザインタフェース構成要素と、を備える、コンピュータ化されたシステム。
【０１２２】
付記２０．  前記実装リソース割り当て構成要素は、優先権を有する前記の組の顧客を含む前記複数の顧客の仮想リソースに割り当てるために利用可能な前記複数の実装リソースの少なくとも１つを含む少なくとも１つの予約された実装リソースプールを維持するように少なくとも更に構成され、前記費用追跡構成要素は、前記の組の顧客のために、前記少なくとも１つの予約された実装リソースプール内の前記複数の実装リソースのうちの前記少なくとも１つに対応する予約されたリソース利用量を決定するように少なくとも更に構成され、前記少なくとも１つの費用は、前記予約されたリソース利用量に少なくとも部分的に更に基づくものである、付記１９に記載のコンピュータ化されたシステム。
【０１２３】
付記２１．  前記少なくとも１つの仮想リソースの前記少なくとも１つの費用を決定することは、前記予約されたリソース利用量に少なくとも部分的に基づいて第１の費用を決定することと、前記予約されたリソース利用量に少なくとも部分的に基づいて前記アクティブなおよび非アクティブなリソース利用量を修正することと、前記修正されたアクティブなおよび非アクティブなリソース利用量に少なくとも部分的に基づいて第２の費用を少なくとも決定することと、を含む、付記２０に記載のコンピュータ化されたシステム。
【０１２４】
付記２２．  コンピュータ実行可能な命令を当該コンピュータ可読媒体上に集合的に有する１つ以上のコンピュータ可読媒体であって、前記コンピュータ実行可能な命令は１つ以上のコンピュータを集合的に、少なくとも、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースのそれぞれを少なくとも部分的に実装することが可能な少なくとも１つの実装リソースを含む１組の実装リソースによって実装される仮想リソースであって、専用実装リソースにおけるアクティブな実装リソースの利用に対する非アクティブな実装リソースの利用の割合が高いことを抑制するように構成された少なくとも１つのリソース割り当てビジネスポリシーを含む１組のリソース割り当てビジネスポリシーに関連付けられた少なくとも１つの費用プランに関してプロビジョニングされる、仮想リソースをプロビジョニングするための要求であって、前記仮想リソースの１つ以上が、前記複数の顧客のうちの１組の顧客に専用である少なくとも１つの専用実装リソースで少なくとも部分的に実装されることを示すことが可能な要求を受信するように、前記の組のリソース割り当てビジネスポリシーが満たされるとき、要求された仮想リソースをプロビジョニングするように、プロビジョニングされた仮想リソースの費用を前記少なくとも１つの費用プランに従って決定するように、および前記プロビジョニングされた仮想リソースの前記費用の提示を提供するように構成する、１つ以上のコンピュータ可読媒体。
【０１２５】
付記２３．  前記少なくとも１つのリソース割り当てビジネスポリシーは、前記要求された仮想リソースが前記少なくとも１つの専用実装リソースで少なくとも部分的に実装されるとき、要求された仮想リソースの数が、要求された仮想リソースの最小数よりも少なくないことを指定する、付記２２に記載の１つ以上のコンピュータ可読媒体。
【０１２６】
付記２４．  前記少なくとも１つの費用プランは、前記少なくとも１つの専用実装リソースを専用にすることに対応する少なくとも１つの費用を指定する、付記２２に記載の１つ以上のコンピュータ可読媒体。
【０１２７】
付記２５．  前記少なくとも１つの費用プランは、前記少なくとも１つの専用実装リソースを一般的な実装リソースプールに戻すことに対応する少なくとも１つの費用を指定する、付記２２に記載の１つ以上のコンピュータ可読媒体。
【０１２８】
付記２６．  仮想リソースをプロビジョニングするコンピュータ実装された方法であって、実行可能な命令を備えて構成される１つ以上のコンピュータシステムの制御下で、少なくとも１つの情報バリアを組み込んでおり、および複数の顧客に関連付けられた複数の仮想リソースを前記少なくとも１つの情報バリアの後に実装することが可能な少なくとも１つの実装リソースを含む関連付けられた組の実装リソースを有し要求される仮想リソースをプロビジョニングする要求であって、前記少なくとも１つの実装リソースが前記の組の顧客の仮想リソースの専用になることを指定する少なくとも１つの専用実装リソース制約を含む関連付けられた組の実装リソース制約を有する要求を、前記仮想リソースプロバイダの１組の顧客のうちの少なくとも１人から、前記複数の顧客を有する仮想リソースプロバイダの制御プレーンで、受信することと、前記少なくとも１つの専用実装リソース制約に従って前記少なくとも１つの実装リソースを前記の組の顧客の仮想リソースに専用にすることによって少なくとも部分的に前記仮想リソースプロバイダの前記の組の顧客と他の顧客との間に前記少なくとも１つの情報バリアを確立することと、前記少なくとも１つの実装リソースを含んで割り当てられる前記の組の実装リソースを前記仮想リソースに割り当てることによって少なくとも部分的に前記要求された仮想リソースをプロビジョニングすることと、を含む、コンピュータ実装された方法。
【０１２９】
付記２７．  前記少なくとも１つの実装リソースを専用にすることは、前記少なくとも１つの実装リソースを一般的な実装リソースプールから前記の組の顧客に関連付けられた専用実装リソースプールに遷移することを含む、付記２６に記載のコンピュータ実装された方法。
【０１３０】
付記２８．  前記少なくとも１つの情報バリアは、前記仮想リソースプロバイダの他の実装リソースからの前記少なくとも１つの実装リソースの物理的な分離に少なくとも部分的に対応する、付記２６に記載のコンピュータ実装された方法。
【０１３１】
付記２９．  仮想リソースをプロビジョニングするコンピュータ実装された方法であって、実行可能な命令を備えて構成される１つ以上のコンピュータシステムの制御下で、仮想リソースプロバイダの１組の顧客に専用である少なくとも１つの実装リソースであって、少なくとも１つの情報バリアを組み込んでおり、および前記仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを前記少なくとも１つの情報バリアの後に少なくとも部分的に実装することが可能な、少なくとも１つの実装リソースで仮想リソースが少なくとも部分的に実装されることを示す要求であって、前記仮想リソースをプロビジョニングする要求を受信することと、前記の組の顧客に専用の１組の割り当てられていない実装リソースを識別し、前記の組の割り当てられていない実装リソースが前記少なくとも１つの実装リソースを含むことをチェックすることと、前記少なくとも１つの実装リソースを前記の組の顧客に専用の前記の組の実装リソースから前記仮想リソースに割り当てることによって少なくとも部分的に前記仮想リソースをプロビジョニングし、その結果、少なくとも部分的に、前記少なくとも１つの情報バリアを前記仮想リソースプロバイダの前記の組の顧客と他の顧客との間に確立することと、を含む、コンピュータ実装された方法。
【０１３２】
付記３０．  前記少なくとも１つの情報バリアを確立することは、前記仮想リソースプロバイダの前記他の顧客のうちの少なくとも１人が、前記仮想リソースに関する未発表情報に対するアクセス権を得る可能性を低くする、付記２９に記載のコンピュータ実装された方法。
【０１３３】
付記３１．  前記少なくとも１つの実装リソースを前記仮想リソースプロバイダの一般的な実装リソースプールから前記の組の顧客に関連付けられた専用実装リソースプールに遷移することによって少なくとも部分的に前記少なくとも１つの実装リソースを前記の組の顧客に専用にすることを更に含む、付記２９に記載のコンピュータ実装された方法。
【０１３４】
付記３２．  前記専用にすることは、前記の組の顧客による前記仮想リソースに対する予測要求に少なくとも部分的に基づく予測的なものである、付記３１に記載のコンピュータ実装された方法。
【０１３５】
付記３３．  前記少なくとも１つの実装リソースを前記一般的な実装リソースプールから専用実装リソースプールに遷移することは、前記の組の顧客のうちの少なくとも１人によって指定される実装リソース遷移プロシージャを実行することを含む、付記３１に記載のコンピュータ実装された方法。
【０１３６】
付記３４．  前記の組の顧客のうちの少なくとも１人は、前記仮想リソースプロバイダによって提供された複数の実装リソース遷移プロシージャから前記実装リソース遷移プロシージャを選択する、付記３３に記載のコンピュータ実装された方法。
【０１３７】
付記３５．  前記実装リソース遷移プロシージャは、前記一般的な実装リソースプール内の間には前記少なくとも１つの実装リソースのアクティビティに関連付けられた残りの情報の量を減少する、付記３３に記載のコンピュータ実装された方法。
【０１３８】
付記３６．  前記の組の顧客のうちの少なくとも１人は、前記仮想リソースプロバイダのウェブベースのインタフェースで前記要求をする、付記２９に記載のコンピュータ実装された方法。
【０１３９】
付記３７．  前記仮想リソースは、仮想コンピュータシステム、仮想データストア、および仮想プライベートネットワークのうちの少なくとも１つを含む、付記２９に記載のコンピュータ実装された方法。
【０１４０】
付記３８．  前記少なくとも１つの実装リソースは、記憶デバイス、物理的なサーバ、サーバラック、データセンタの物理的に安全な部分、物理的なアクセスに関して監視されるデータセンタの部分、データセンタ、移動式データセンタ、ネットワークスイッチ、ネットワーク接続、無線ネットワーク送信器、および無線ネットワーク受信器のうちの少なくとも１つを含む、付記２９に記載のコンピュータ実装された方法。
【０１４１】
付記３９．  仮想リソースをプロビジョニングするコンピュータ実装された方法であって、実行可能な命令を備えて構成される１つ以上のコンピュータシステムの制御下で、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを少なくとも部分的に実装するように構成された少なくとも１つの一般的な実装リソースを含む一般的な実装リソースプールを維持することと、前記仮想リソースプロバイダの前記複数の顧客のサブの組に専用の少なくとも１つの専用実装リソースを含む専用実装リソースプールを維持することと、前記専用実装リソースプールから引き出される少なくとも１つの実装リソースで前記仮想リソースが少なくとも部分的に実装されることを指定する実装制約に関連付けられた要求であって、前記仮想リソースをプロビジョニングする要求を受信することと、前記要求に応答して、前記少なくとも１つの専用実装リソースを前記仮想リソースに割り当てることによって少なくとも部分的に前記仮想リソースをプロビジョニングすることと、を含む、コンピュータ実装された方法。
【０１４２】
付記４０．  前記専用実装リソースプールを維持することは、前記専用実装リソースプールの非アクティビティレベルが第１の閾値よりも少ないとき、実装リソースを前記一般的な実装リソースプールから前記専用実装リソースプールに遷移することを含む、付記３９に記載のコンピュータ実装された方法。
【０１４３】
付記４１．  前記専用実装リソースプールを維持することは、前記専用実装リソースプールの前記非アクティビティレベルが第２の閾値よりも大きいとき、実装リソースを前記専用実装リソースプールから前記一般的な実装リソースプールに遷移することを更に含む、付記４０に記載のコンピュータ実装された方法。
【０１４４】
付記４２．  前記専用実装リソースプールを維持することは、前記専用実装リソースプールに関連付けられたアクティビティレベルの導関数に少なくとも部分的に基づいて実装リソースを遷移することを含む、付記３９に記載のコンピュータ実装された方法。
【０１４５】
付記４３．  前記少なくとも１つの専用実装リソースで前記仮想リソースをプロビジョニングすることは、前記仮想リソースプロバイダの前記サブの組の前記複数の顧客と他の顧客との間に情報バリアを、少なくとも部分的に、確立する、付記３９に記載のコンピュータ実装された方法。
【０１４６】
付記４４．  前記少なくとも１つの専用実装リソースで前記仮想リソースをプロビジョニングすることは、前記仮想リソースプロバイダの前記他の顧客のうちの少なくとも１人が前記仮想リソースに関連付けられたデータに認証された修正をすることができるという可能性を低くする、付記４３に記載のコンピュータ実装された方法。
【０１４７】
付記４５．  前記仮想リソースを前記少なくとも１つの専用実装リソースでプロビジョニングすることは、前記少なくとも１つの一般的な実装リソースでプロビジョニングされた少なくとも１つの仮想リソースに関連する前記仮想リソースに関連付けられた性能基準（ｐｅｒｆｏｒｍａｎｃｅ  ｍｅｔｒｉｃ）を増加させる、付記３９に記載のコンピュータ実装された方法。
【０１４８】
付記４６．  前記専用実装リソースで前記仮想リソースをプロビジョニングすることは、前記少なくとも１つの一般的な実装リソースで生じる少なくとも１つの操作上の障害から、少なくとも部分的に、前記仮想リソースを分離する、付記３９に記載のコンピュータ実装された方法。
【０１４９】
付記４７．  仮想リソースをプロビジョニングするコンピュータ化されたシステムであって、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを集合的に実装することが可能な複数の実装リソースと、前記複数の顧客が仮想リソースをプロビジョニングする要求をすることを可能にするように少なくとも構成されたプロビジョニングインタフェースと、前記複数の仮想リソースに対する前記複数の実装リソースの割り当てを追跡し、前記要求に応答する前記割り当てを修正するように少なくとも構成された実装リソース割り当て構成要素であって、前記要求が、前記複数の実装リソースのうち少なくとも１つの情報バリアを組み込んでいる少なくとも１つを前記複数の顧客のうちの少なくとも１人の顧客に専用にすることと、少なくとも１つの仮想リソースが前記少なくとも１人の顧客に専用の実装リソースで少なくとも部分的に実装されることを前記要求が示すとき、前記少なくとも１人の顧客によって要求された前記少なくとも１つの仮想リソースに前記複数の実装リソースのうちの前記少なくとも１つを割り当てることによって少なくとも部分的に前記仮想リソースプロバイダの前記少なくとも１人の顧客と他の顧客との間に前記少なくとも１つの情報バリアを確立することと、を含む、実装リソース割り当て構成要素と、を備える、コンピュータ化されたシステム。
【０１５０】
付記４８．  前記実装リソース割り当て構成要素は、少なくとも、前記少なくとも１人の顧客に専用の前記複数の実装リソースであって、各実装リソースが仮想リソース実装容量および仮想リソース実装に対する割り当ての現行レベルを有する前記複数の実装リソースのうちの少なくとも２つを含む専用実装リソースプールを維持するように、および前記割り当てが前記実装リソースの前記仮想リソース実装容量を超えないとき、前記割り当ての最大現行レベルを有する前記専用実装リソースプール内の実装リソースに前記少なくとも１人の顧客によって要求された前記少なくとも１つの仮想リソースを割り当てるように、
更に構成される、付記４７に記載のコンピュータ化されたシステム。
【０１５１】
付記４９．  前記実装リソース割り当て構成要素は、移動が、割り当てのより高い現行レベルを有する前記専用実装リソースプール内の前記実装リソースの前記仮想リソース実装容量を超えないとき、割り当てのより低い現行レベルを有する前記専用実装リソースプール内の実装リソースから割り当てのより高い現行レベルを有する前記専用実装リソースプール内の実装リソースに仮想リソースを移動させるように少なくとも更に構成される、付記４８に記載のコンピュータ化されたシステム。
【０１５２】
付記５０．  コンピュータ実行可能な命令を当該コンピュータ可読媒体上に集合的に有する１つ以上のコンピュータ可読媒体であって、前記コンピュータ実行可能な命令は１つ以上のコンピュータを集合的に、少なくとも、仮想リソースプロバイダの複数の顧客のうちの少なくとも１人の顧客に専用である少なくとも１つの実装リソースであって、少なくとも１つの情報バリアを組み込んでいる少なくとも１つの実装リソースを含む、少なくとも１つの専用実装リソースプールを含む複数の実装リソースプールを維持するように、少なくとも１つの仮想リソースをプロビジョニングする要求であって、前記少なくとも１つの仮想リソースが前記少なくとも１つの専用実装リソースプール内の前記少なくとも１つの実装リソースで少なくとも部分的に実装されることを指定する第１の実装制約に少なくとも関連付けられた要求を受信するように、および前記要求に応答して、前記少なくとも１つの実装リソースを前記少なくとも１つの仮想リソースに割り当てることによって少なくとも部分的に前記少なくとも１つの仮想リソースをプロビジョニングし、その結果、少なくとも部分的に、前記仮想リソースプロバイダの前記少なくとも１人の顧客と他の顧客との間に前記少なくとも１つの情報バリアを確立するように、構成する、１つ以上のコンピュータ可読媒体。
【０１５３】
付記５１．  前記少なくとも１つの仮想リソースは複数の仮想リソースを含み、前記要求は、前記少なくとも１つの専用実装リソースプールにおける複数の実装リソースにわたって前記複数の仮想リソースの目標実装分布を指定する第２の実装制約に少なくとも更に関連付けられており、および前記プロビジョニングは、割り当てられた仮想リソースの実装リソースに対する割合が前記目標実装分布を超えないように、前記複数の仮想リソースを前記複数の実装リソースに割り当てることを含む、付記５０に記載の１つ以上のコンピュータ可読媒体。
【０１５４】
付記５２．  前記要求は、前記複数の実装リソースの目標地理的分離を指定する第３の実装制約に少なくとも更に関連付けられており、および前記プロビジョニングは、少なくとも２つの前記複数の実装リソースが少なくとも前記目標地理的分離の地理的距離によって分離されるように、前記複数の仮想リソースを前記複数の実装リソースに割り当てることを更に含む、付記５１に記載の１つ以上のコンピュータ可読媒体。
【図１】
0005948451.tif 000002
【図２】
0005948451.tif 000003
【図３】
0005948451.tif 000004
【図４】
0005948451.tif 000005
【図５】
0005948451.tif 000006
【図６】
0005948451.tif 000007
【図７】
0005948451.tif 000008
【図８】
0005948451.tif 000009
【図９】
0005948451.tif 000010
【図１０】
0005948451.tif 000011
【図１１】
0005948451.tif 000012
【図１２】
0005948451.tif 000013
【図１３】
0005948451.tif 000014
【図１４】
0005948451.tif 000015
【図１５】
0005948451.tif 000016
【図１６】
0005948451.tif 000017
【図１７】
0005948451.tif 000018