仮想マシンの移動のためのコンピュータ実行方法であって、実行可能命令で構成される1つ以上のコンピュータシステムの制御下で、仮想マシンの少なくとも1つの構成要素を特徴付ける情報を受信することであって、前記仮想マシンは、第1の仮想マシンタイプであり、第1組の実装リソースを伴って管理される、ことと、前記受信した情報に少なくとも部分的に基づく移動テンプレートを確立することであって、前記移動テンプレートは、前記第1の仮想マシンタイプから第2の仮想マシンタイプへの仮想マシン移動に対応する、ことと、前記仮想マシンが前記第2の仮想マシンタイプを有するよう変換されるように、前記第1組の実装リソースから第2組の実装リソースへ、前記移動テンプレートに従って前記仮想マシンを移動させることと、前記移動テンプレートに従って、前記仮想マシンの前記少なくとも1つの構成要素の再構成をトリガすることと、前記仮想マシンでサービスをユーザに提供することと、を含む、コンピュータ実行方法。前記移動テンプレートを確立することは、前記受信した情報に少なくとも部分的に基づいて、一組の移動オプションを判定することを含む、請求項1に記載のコンピュータ実行方法。前記一組の移動オプションを前記仮想マシンの管理者に提示することと、前記管理者によって行われた前記一組の移動オプションに関する選択に少なくとも部分的に基づいて、前記移動テンプレートを構成することと、をさらに含む、請求項2に記載のコンピュータ実行方法。前記仮想マシンの前記少なくとも1つの構成要素の前記再構成は、前記仮想マシンのオペレーティングシステムへの少なくとも1つのさらなる構成要素の追加を含む、請求項1に記載のコンピュータ実行方法。前記少なくとも1つのさらなる構成要素は、ハードウェア構成要素ホットプラグ能力を提供するように、前記オペレーティングシステムを再構成する、請求項4に記載のコンピュータ実行方法。前記仮想マシンを移動させることは、前記仮想マシンを一時停止すること、および、前記仮想マシンを再開することを含む、複数のステップを含み、かつ、前記仮想マシンの前記少なくとも1つの構成要素の前記再構成は、前記仮想マシンを一時停止した後および前記仮想マシンを再開する前に生じる、請求項1に記載のコンピュータ実行方法。前記少なくとも1つの構成要素は、前記仮想マシンのオペレーティングシステムの少なくとも1つの構成要素にリンクされるアプリケーションを備え、前記アプリケーションの前記再構成は、前記アプリケーションを前記オペレーティングシステムの少なくとも1つの異なる構成要素に再リンクすることを含む、請求項1に記載のコンピュータ実行方法。前記移動テンプレートは、前記第1組の実装リソースのうちの少なくとも1つが、前記第2組の実装リソースのうちの少なくとも1つで模倣されることを特定する、請求項1に記載のコンピュータ実行方法。仮想マシンの移動のためのコンピュータ化されたシステムであって、集合的に複数の仮想マシンを維持することが可能な複数の実装リソースと、少なくとも、第1のタイプの仮想マシンから第2のタイプの仮想マシンへの仮想マシン移動に対応する移動テンプレートをユーザが確立をすることを可能にすることであって、前記移動テンプレートは、前記第1のタイプの仮想マシンの少なくとも1つの構成要素の再構成を含む、処理と、前記移動テンプレートに従って移動されることになる前記第1のタイプの一組の仮想マシンを前記ユーザが選択することを可能にする処理とを行うように構成されるユーザインターフェースと、前記第1のタイプの仮想マシンの前記少なくとも1つの構成要素を特徴付ける情報を少なくとも受信するように構成される移動エージェントインターフェースと、前記移動テンプレートに従って、かつ、前記受信した情報に少なくとも部分的に基づいて、前記一組の仮想マシンが、前記第2のタイプの仮想マシンに変換されるように、第1組の複数の実装リソースから第2組の複数の実装リソースへ前記一組の仮想マシンを移動するように構成される移動管理構成要素と、を含む、システム。前記ユーザインターフェースはさらに、少なくとも、前記ユーザが前記一組の仮想マシンへの一組の移動エージェントの追加を承認することを可能にするように構成され、前記移動管理構成要素はさらに、少なくとも、前記一組の仮想マシンを移動させる前に、前記一組の移動エージェントを前記一組の仮想マシンに追加するように構成される、請求項9に記載のシステム。前記一組の移動エージェントは、少なくとも、前記少なくとも1つの構成要素を特徴付け、前記特性化情報を前記移動エージェントインターフェースに提供するように構成される、少なくとも1つの移動エージェントを備える、請求項10に記載のコンピュータ化システム。前記一組の移動エージェントは、前記一組の仮想マシンによって維持される、複数のタイプのオペレーティングシステムに対応する、複数のタイプの移動エージェントを備える、請求項10に記載のシステム。前記少なくとも1つの構成要素を特徴付ける前記情報は、前記少なくとも1つの構成要素がハードウェア構成要素ホットプラグ機能性を組み込むかどうかという指示を含む、請求項9に記載のシステム。前記少なくとも1つの構成要素を特徴付ける前記情報は、前記少なくとも1つの構成要素がハードウェア構成要素ホットプラグ機能性を組み込むことが可能であるかどうかを判定するのに十分な情報を含む、請求項9に記載のシステム。仮想コンピュータシステムは、最終的に、物理的コンピューティングハードウェアおよび他の実装リソースで実装される。それにもかかわらず、仮想コンピュータシステムは、存在、および基礎的実装リソースから独立している構成を有してもよい。特定の実装リソース、および実装リソースセット全体でさえも、それらが実装する仮想コンピュータシステムを終了させることなく、置換されることは珍しくない。このようにして、仮想コンピュータシステムは、比較的長い寿命を有することができる。しかしながら、そのような寿命がより長くなるにつれて、基礎的実装リソースに関する種々の問題が発生し得る。特定の仮想コンピュータシステムプロバイダによって使用される実装リソースは、技術および/または費用性能を増進することを含む、種々の理由で変化させることができる。例えば、ハードウェア製造業者による技術の進歩が、仮想コンピュータシステムのより効率的な実装を可能にしてもよい。しかしながら、実装リソース変化は、不変仮想コンピュータシステムと互換性がない場合があり、または仮想コンピュータシステムは、新しい実装リソースを十分に活用するために再構成を必要とする場合がある。比較的寿命の長い仮想コンピュータシステムを変化した実装リソースに適合させるための十分に強力ではない、および/または融通性がない機構は、仮想コンピュータシステムを使用不可能にするか、または許容し難いレベルの効率で動作させ得る。以下の説明では、種々の実施形態を説明する。説明の目的で、実施形態の徹底的な理解を提供するために、具体的な構成および詳細が記載される。しかしながら、具体的な詳細なしで実施形態が実装されてもよいことも、当業者に明白となるであろう。さらに、説明されている実施形態を曖昧にしないために、周知の特徴が省略または簡略化されてもよい。仮想リソースプロバイダは、物理的コンピューティングハードウェアおよび他の実装リソースの種々のセットを伴う、種々のタイプの仮想コンピューティングマシン仮想マシン等の種々の仮想リソースすなわち、模倣コンピューティングリソースを整備してもよい。例えば、物理的仮想マシンVMサーバは、複数の仮想マシンを維持してもよく、異なるタイプの仮想マシンが、VMサーバリソースの異なる部分を必要とする。仮想マシンは、仮想マシンが効率的かつ効果的に新しい実装リソースに適応することを可能にする方式で、実装リソースの異なる例えば、異種セット間を移動してもよいすなわち、連続的に実装リソースの異なるセットによって実装されてもよい。例えば、仮想マシンは、処理装置例えば、中央処理装置のタイプあるいは数、メモリモジュールのタイプあるいは数、および/またはハードドライブのタイプあるいは数の変化に最適に適応しながら、古くなったVMサーバから新しいVMサーバへ移動してもよい。さらに、仮想マシンは、終了させることなくタイプを変化させてもよいモーフィングする。例えば、新しいVMサーバは、現在のタイプの特定の仮想マシンをサポートしない場合があり、仮想マシンは、新しいVMサーバへ移動することの一部として、サポートされたタイプにモーフィングしてもよい。少なくとも1つの実施形態では、仮想マシンモーフィングは、仮想マシンの移動から独立している。例えば、一組の仮想マシンは、一組の仮想マシンを実装するために使用される一組の実装リソースを変化させることなく、第1のタイプの仮想マシンから第2のタイプの仮想マシンにモーフィングしてもよい。第1のタイプの仮想マシンから第2のタイプの仮想マシンの移動は、2つのタイプのための移動テンプレートに従って行われてもよい。移動テンプレートは、1つ以上の仮想マシン、仮想化層、および/または仮想マシンの移動の前、間および/または後に行われる実装リソース再構成を特定してもよい。仮想マシンの管理者および/または他の承認されたユーザ集合的に管理者が、移動テンプレートを確立するためにユーザインターフェース例えば、ウェブベース、プログラマチック、および/またはグラフィカルユーザインターフェースを利用してもよい。移動テンプレートは、少なくとも部分的に、一組の提示された移動オプションのユーザ選択によって特定されてもよい。代替として、または加えて、移動テンプレートは、移動させられる仮想マシンの構成に少なくとも部分的に基づいて特定されてもよい。承認された時に、移動エージェントは、移動のために選択された仮想マシンに追加されてもよい。移動エージェントは、特定のタイプの仮想マシンおよび/またはその構成要素に適合されてもよい。例えば、移動エージェントタイプは、仮想マシンによって維持されるオペレーティングシステムのタイプに対応してもよい。移動エージェントは、任意の好適な仮想マシン能力の存在を検出するように構成されてもよい。加えて、移動エージェントは、移動の目的で特定の仮想マシンの能力を増補するように構成されてもよい。検出および/または増補された仮想マシンの能力は、移動テンプレートエディタに報告されてもよく、対応する移動テンプレートは、そのような報告に少なくとも部分的に基づく。能力検出に加えて、移動マネージャが、管理者によって特定されるカスタム再構成を含む、種々のタイプの仮想マシン再構成をトリガするように移動エージェントと相互作用してもよい。種々のアプローチが、種々の用途のために種々の環境で実装されてもよい。例えば、図1は、種々の実施形態による態様を実装するための環境例100の態様を図示する。理解されるように、説明の目的でウェブベースの環境が利用されてもよいが、種々の実施形態を実装するために、異なる環境が適宜に利用されてもよい。示される環境100は、試験または開発部分側および製品部分の両方を含む。製品部分は、適切なネットワーク104上で要求、メッセージ、または情報を送受信し、デバイス102のユーザに情報を送り返すように動作可能である、任意の適切なデバイスを含んでもよい、電子クライアントデバイス102を含む。そのようなクライアントデバイスの実施例は、パーソナルコンピュータ、携帯電話、手持ち式メッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、電子書籍リーダ、および同等物を含む。ネットワーク104は、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、広域ネットワーク、無線データネットワーク、または任意の他のそのようなネットワーク、あるいはそれらの組み合わせを含む、任意の適切なネットワークを含んでもよい。そのようなシステムに利用される構成要素は、選択されるネットワークおよび/またな環境の種類に少なくとも部分的に依存してもよい。そのようなネットワークを介して通信するためのプロトコルおよび構成要素は、本明細書では詳細に論議されない。ネットワーク上の通信は、有線または無線接続、およびそれらの組み合わせによって有効にされてもよい。この実施例では、環境が、要求を受信し、それに応じてコンテンツを供給するためのウェブサーバ106を含むため、ネットワーク104は、インターネットを含むが、他のネットワークについては、当業者に明白となるように、同様の目的を果たす代替的なデバイスを利用することができる。例証的な環境100は、少なくとも1つのアプリケーションサーバ108と、データ記憶部110とを含む。連鎖され、または別様に構成されてもよく、適切なデータ記憶部からデータを取得すること等のタスクを行うように相互作用してもよい、いくつかのアプリケーションサーバ、層、または他の要素、プロセス、または構成要素があってもよいことを理解されたい。本明細書で使用されるように、データ記憶部という用語は、任意の標準、分散、またはクラスタ化環境で、任意の組み合わせおよび数のデータサーバ、データベース、データ記憶デバイス、およびデータ記憶媒体を含んでもよい、データを記憶する、データにアクセスする、および/またはデータを取り出すことが可能な任意のデバイスおよびデバイスの組み合わせを指す。アプリケーションサーバ108は、クライアントデバイス102用の1つ以上のアプリケーションの態様を実行するために必要に応じて、データ記憶部と統合するための任意の適切なハードウェアおよびソフトウェアを含んでもよく、アプリケーション用のデータアクセスおよびビジネスロジックの大部分を処理してもよい。アプリケーションサーバ108は、データ記憶部110と協働してアクセス制御サービスを提供し、HTML、XML、またはこの実施例では別の適切な構造化言語の形態でウェブサーバ106によってユーザに供給されてもよい、ユーザに転送されるテキスト、グラフィックス、音声、および/またはビデオ等のコンテンツを生成することができる。全ての要求および応答の処理、ならびにクライアントデバイス102とアプリケーションサーバ108との間のコンテンツの送達は、ウェブサーバ106によって処理されてもよい。本明細書で論議される構造化コードが、本明細書の他の場所で論議されるように、任意の好適なデバイスまたはホストマシン上で実行されてもよいため、ウェブおよびアプリケーションサーバ106、108は、必要とされず、構成要素例にすぎないことを理解されたい。さらに、環境100は、ユーザまたはアプリケーションが登録し得るサービスとして、試験自動化フレームワークが提供されてもよいような方法で、設計されてもよい。試験自動化フレームワークは、本明細書で論議される種々の試験パターンのうちのいずれかの実装として提供されてもよいが、本明細書で論議または提案されるように、種々の他の実装も利用されてもよい。環境100はまた、開発者、データ管理者、または試験者等のユーザがシステムにアクセスすることを可能にする、ユーザデバイス118を含む、開発および/または試験側を含んでもよい。ユーザデバイス118は、クライアントデバイス102に関して上記で説明されるような、任意の適切なデバイスまたはマシンであってもよい。環境100はまた、アプリケーションサーバ108と同様に機能するが、典型的には、例えば、コードが展開されて製品側で実行され、外部ユーザにアクセス可能となる前に、開発および試験中にコードを実行する、開発サーバ120を含んでもよい。いくつかの実施形態では、アプリケーションサーバは、開発サーバとして機能してもよく、別個の製品および試験記憶装置が利用されなくてもよい。データ記憶部110は、特定の態様に関するデータを記憶するためのいくつかのデータ表、データベース、または他のデータ記憶機構および媒体を含んでもよい。例えば、図示されるデータ記憶部110は、製品側のためのコンテンツを供給するために利用されてもよい、製品データ112およびユーザ情報116を記憶するための機構を含む。データ記憶部110はまた、試験側のためのユーザ情報とともに利用されてもよい、試験データ114を記憶するための機構を含むことも示されている。適宜の上記の機構のうちのいずれかに、またはデータ記憶部110の中の付加的な機構に記憶され得る、ページ画像情報およびアクセス権情報等のためのデータ記憶部110に記憶される、多くの他の態様があってもよいことを理解されたい。データ記憶部110は、それと関連付けられる論理を通して、アプリケーションサーバ108または開発サーバ120から命令を受信し、それに応じてデータを取得、更新、または別様に処理するように動作可能である。一実施例では、ユーザは、あるタイプの項目に対する検索要求を提出する場合がある。この場合、データ記憶部110は、ユーザの識別を検証するようにユーザ情報116にアクセスする場合があり、そのタイプの項目に関する情報を取得するようにカタログ詳細情報にアクセスしてもよい。次いで、情報は、ユーザがユーザデバイス102上のブラウザを介して閲覧することができるウェブページ上の結果一覧等で、ユーザに返信されてもよい。特定の関心項目の情報は、ブラウザの専用ページまたはウィンドウの中で閲覧されてもよい。各サーバは、典型的には、そのサーバの一般管理および動作のための実行可能プログラム命令を提供するオペレーティングシステムを含み、典型的には、サーバのプロセッサによって実行された時に、サーバがその意図した機能を果たすことを可能にする、命令を記憶するコンピュータ可読媒体を含む。オペレーティングシステムのための好適な実装およびサーバの一般機能性は、公知であるか、または市販されており、特に本明細書の開示に照らして、当業者によって容易に実装される。一実施形態での環境100は、1つ以上のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続される、いくつかのコンピュータシステムおよび構成要素を利用した分散コンピューティング環境である。しかしながら、そのようなシステムは、図1で図示されるよりも少数または多数の構成要素を有するシステムで、同等によく動作できることが当業者によって理解されるであろう。したがって、図1のシステム100の描写は、本開示の範囲を限定するものではなく、本質的に例証的であるものとして解釈されるべきである。少なくとも1つの実施形態では、環境100の1つ以上の態様は、仮想リソースプロビジョニングアーキテクチャを組み込んでもよく、および/または仮想リソースプロビジョニングアーキテクチャに組み込まれてもよい。図2は、少なくとも1つの実施形態による、仮想リソースプロビジョニングアーキテクチャ例200の態様を描写する。仮想リソースプロビジョニングアーキテクチャ例200は、ネットワーク208上で仮想リソースプロバイダ206に通信可能に接続される、複数のクライアント202-204を含む。例えば、クライアント202-204は、図1のコンピュータデバイス102等のコンピュータデバイスおよび/またはそのようなコンピュータデバイスに組み込まれたクライアントプログラムに対応してもよい。クライアント202とクライアント204との間の省略記号は、仮想リソースプロビジョニングアーキテクチャ200が、任意の好適な数のクライアントを含んでもよいことを示すが、明確にするために、2つだけが図2で示されている。省略記号は、図面の全体を通して同様に使用される。クライアント202-204のうちの1つ以上は、仮想リソースプロバイダ206の制御プレーン210と相互作用し、それにより、1つ以上の仮想リソース212を整備するために、仮想リソースプロバイダ206の1人以上の顧客によって利用されてもよい。代替として、または加えて、クライアント202-204のうちの1つ以上は、整備された仮想リソース212と相互作用するために、必ずしも仮想リソースプロバイダ206の顧客によってではないが利用されてもよい。整備された仮想リソース212は、任意の好適なタイプおよび/または数の仮想リソース214-216を含んでもよい。好適な仮想リソース212の実施例は、仮想コンピュータシステム等の仮想マシン、仮想ネットワーク接続、仮想データ記憶部、特殊データ処理エージェント、音声およびビデオストリーミングエージェントを含むメディアストリーミングエージェント、メッセージ待ち行列、公開登録トピックに公開されたイベントに合致する登録を有する加入者に通知するように構成される、公開登録トピック、監視エージェント、負荷バランシングエージェント、およびそれらの好適な組み合わせを含む。仮想リソースプロバイダ206は、任意の好適なタイプおよび/または数の実装リソース220-222を含んでもよい。仮想リソース214-216のうちのそれぞれは、一組の実装リソース218によって実装されてもよい。少なくとも1つの実施形態では、実装リソース218の種々の実装リソースは、少なくとも部分的に、仮想リソース212の複数の仮想リソースを実装することに関与するように構成されてもよい。好適な実装リソース220-222の実施例は、VMサーバ、データ記憶部サーバ、コンピュータ、サーバラック、スイッチ、ルータ、ゲートウェイ、ブリッジ、ハブ、リピータ、ファイアウォール、および無線送受信機を含む、ネットワーキングハードウェア、電源、発電機、データセンター、データセンター内の部屋、移動データセンター、ならびにハードドライブを含む不揮発性記憶デバイス、中央処理装置CPU等の処理装置、処理装置の中のキャッシュ、マルチコア処理装置の中の処理コア、ランダムアクセスメモリRAMモジュールを含むメモリモジュールおよびマルチチップメモリモジュールのRAMチップ等の揮発性記憶デバイス、ネットワークインターフェースハードウェア、およびそれらの好適な組み合わせを含む。制御プレーン210は、仮想リソースプロビジョニング要求を処理し、実装リソース218への仮想リソース212の割付を管理し、および/または仮想リソース212への実装リソース218の割付を管理してもよい。少なくとも1つの実施形態による仮想リソースプロバイダ制御プレーン例は、図4を参照して以下でより詳細に説明される。仮想マシンは、特に遠隔でアクセス可能なコンピュータシステム機能性に関して、物理的コンピュータシステムの機能性のうちのいくらかまたは全てを提供してもよい。図3は、少なくとも1つの実施形態による、仮想リソースプロバイダ300において整備された仮想マシン例302-304の態様を描写する。仮想リソースプロバイダ300は、図2の仮想リソースプロバイダ206の実施例であり、対応する実装リソース306と、仮想マシン302-304を含む仮想リソース308とを有する。図3では、仮想化層310は、実装リソース306と仮想リソース308との間に位置して明示的に示されている。仮想化層310は、基礎的実装リソース306から仮想マシン302-304を分断し、特定の実装リソースを共有する時でさえも仮想マシン302-304を相互から区分化してもよい。例えば、仮想化層310は、実装リソース306のVMサーバによって実行される、いわゆるハイパーバイザを組み込んでもよい。そのようなハイパーバイザおよび仮想化層は、当技術分野で公知であるため、それらの詳細のうちのいくつかのみが本明細書で説明される。各仮想マシン302、304は、それぞれ、オペレーティングシステム312、314および複数のアプリケーション316-318、320-322を含むものとして示されている。仮想マシン302-304は、任意の好適なコンピュータオペレーティングシステム例えば、UNIX登録商標オペレーティングシステムを含んでもよく、異なる仮想マシン302、304が、異なるオペレーティングシステム312、314および/または異なるオペレーティングシステムバージョンおよび構成を含んでもよい。各仮想マシン302、304は、複数のオペレーティングシステムを含んでもよいが、これは、明確にするために図3では示されていない。アプリケーション316-322は、任意の好適なコンピュータ実行可能命令を含む、任意の好適なコンピュータアプリケーションであってもよい。アプリケーション316-322は、図1のウェブサーバ106、アプリケーションサーバ108、開発サーバ120、および/またはデータ記憶部110によって提供されるものに対応するサービスを含む、任意の好適なサービスを仮想マシンのユーザに提供してもよい。仮想マシン302-304は、オペレーティングシステム312-314から分離したアプリケーション316-322を有する必要がない。仮想マシン302-304を含む仮想リソース308のプロビジョニング、構成、再構成、および/またはデプロビジョニング集合的にプロビジョニングは、仮想リソースプロバイダ206の図4の制御プレーン210図2によって制御されてもよい。図4は、少なくとも1つの実施形態による、制御プレーン例402の態様を描写する。図4の制御プレーン402は、図2の制御プレーン210の実施例である。制御プレーン402は、少なくとも、クライアント202-204のうちの1つ以上から仮想リソース212プロビジョニング要求を受信するように構成される、プロビジョニングインターフェース404と、少なくとも、1つ以上のプロビジョニングワークフローに従ってプロビジョニング要求への応答を誘導するように構成される、ワークフロー構成要素406と、少なくとも、仮想リソース212への実装リソース218の割付を管理するように構成される、リソース割付構成要素408とを含んでもよい。プロビジョニングインターフェース404は、任意の好適なプロビジョニングインターフェース要素を含んでもよい。好適なプロビジョニングインターフェース要素の実施例、仮想リソース212図2を整備する要求に対応するインターフェース要素、仮想リソース212構成情報へのアクセスを提供するインターフェース要素、およびそのようなプロビジョニング関連動作のための権限を確立するための認証を有効にする1つ以上のインターフェース要素を含む。プロビジョニングインターフェース404は、グラフィカルユーザインターフェースGUI等のユーザインターフェースUI、ウェブベースのインターフェース、アプリケーションプログラミングインターフェースAPIおよび/またはプロビジョニングインターフェース要素に対応する一組のリモートプロシージャコールRPC等のプログラミングインターフェース、プロビジョニングインターフェース404のインターフェース要素が通信プロトコルのメッセージに対応する、メッセージングインターフェース等のメッセージングインターフェース、および/またはそれらの任意の好適な組み合わせを組み込んでもよく、および/またはそれらに組み込まれてもよい。少なくとも1つの実施形態では、プロビジョニングインターフェース404およびリソース割付構成要素408は、ワークフロー構成要素406によって維持される1つ以上のワークフローを作成してもよく、および/またはワークフロー構成要素406にそれらを作成させてもよい。プロビジョニングワークフローおよびポリシー施行ワークフロー等のワークフローは、プロビジョニングまたはポリシー施行等のジョブを行うように実行される、タスクの1つ以上のシーケンスを含んでもよい。本明細書で使用される用語としてのワークフローは、タスク自体ではないが、タスクへ、およびタスクからの情報の流れ、ならびにそれが制御するタスクの実行の順序を制御してもよい、タスク制御構造である。例えば、ワークフローは、実行中にいつでもプロセスの状態を管理し、戻すことができる、状態マシンと見なされてもよい。ワークフローは、ワークフローテンプレートから作成されてもよい。例えば、プロビジョニングワークフローは、リソース割付構成要素408によってパラメータを伴って構成されるプロビジョニングワークフローテンプレートから作成されてもよい。ワークフロー構成要素406は、確立されたワークフローを修正し、さらに特定し、および/またはさらに構成してもよい。例えば、ワークフロー構成要素406は、実行する、および/または特定のタスクに割り当てられる、仮想リソースプロバイダ206の特定の実装リソース218図2を選択してもよい。そのような選択は、ワークフロー構成要素406によって評価されるような特定のタスクのコンピューティングリソースの必要性に少なくとも部分的に基づいてもよい。別の実施例として、ワークフロー構成要素406は、付加的および/または重複タスクを確立されたワークフローに追加し、および/または確立されたワークフローの中のタスク間の情報の流れを再構成してもよい。確立されたワークフローのそのような修正は、ワークフロー構成要素406による実行効率分析に少なくとも部分的に基づいてもよい。例えば、いくつかのタスクが並行して効率的に行われてもよい一方で、他のタスクは以前のタスクの成功した完了に依存してもよい。プロビジョニングの一部として、仮想リソース、プロビジョニングインターフェース404、および/またはワークフロー構成要素406は、リソース割付構成要素408が、仮想リソースを実装するために必要とされる適切な一組の実装リソース218図2を判定し、要求された実装リソースが利用可能である、および/または仮想リソースプロバイダ206の割付方針に従っているかどうかを判定し、および/または要求された実装リソースを割り付けることを要求してもよい。リソース割付構成要素408は、任意の好適なリソース割付および/またはリソーススケジューリングアルゴリズムを組み込んでもよい。そのようなアルゴリズムの種々の態様は、当業者に周知であるため、いくつかの詳細のみが本明細書で説明される。制御プレーン402はさらに、少なくとも、実装リソース306の異なるセット間で仮想マシン302-304図3を移動させるように構成される、仮想マシン移動構成要素410を含んでもよい。仮想マシン移動構成要素410は、仮想マシン移動を特定および要求するように、クライアント202-204図2が相互作用し得る、ユーザインターフェース412を含んでもよい。ユーザインターフェース412は、少なくとも、ユーザが1つ以上の移動テンプレート416を作成する、読み取る、更新する、および削除する集合的に編集することを可能にするように構成される、移動テンプレートエディタ414へのアクセスを提供してもよい。例えば、ユーザインターフェース412は、少なくとも、承認されたユーザが移動テンプレート416を編集することを可能にするように構成される、グラフィカルユーザインターフェースGUI418を含んでもよい。少なくとも1つの実施形態による、移動テンプレートの実施例は、図6を参照して以下でより詳細に説明される。ユーザインターフェース412はさらに、ユーザが特定の一組の仮想マシン302-304図3に対する一組の移動オプションを要求することを可能にしてもよい。例えば、特定の一組の仮想マシン302-304は、1つ以上の特定のタイプおよび/または構成の仮想マシンを含んでもよく、移動オプションは、特定のタイプおよび/または構成によって制約されてもよい。要求および/または明示的な承認に応答して、仮想マシン移動構成要素410は、1つ以上の移動エージェント420を特定の一組の仮想マシン302-304のうちの1つ以上に追加してもよく、追加された移動エージェント420は、それらが追加された仮想マシンの特定のタイプおよび/または構成を特徴付ける情報を判定および/または提供してもよい。少なくとも1つの実施形態による移動エージェントの実施例は、図5を参照して以下でより詳細に説明される。仮想マシン302図3に追加された移動エージェント420は、移動エージェントインターフェース422を通して、仮想マシン302を特徴付ける情報を仮想マシン移動構成要素410に提供し返してもよい。代替として、または加えて、任意の好適なエージェント例えば、顧客ユーザエージェントが、移動エージェントインターフェース422を通して特性化情報を提供してもよい。仮想マシン302を特徴付ける情報は、仮想マシンを変換および/または再構成して効果的および/または効率的に仮想マシンを移動させるために必要および/または望ましい措置を判定するために好適である、任意の情報であってもよい。そのような特性化情報の実施例は、仮想マシンに割り付けられたいくつかの物理的処理装置、仮想マシンに割り付けられたいくつかの処理コア、仮想マシンに割り付けられた1つ以上のタイプの物理的処理装置、仮想マシンに割り付けられた、あるサイズおよび/またはタイプの揮発性データ記憶装置、仮想マシンに割り付けられた、あるサイズおよび/またはタイプの不揮発性データ記憶装置、仮想マシンに割り付けられる、ネットワークインターフェースデバイス等のネットワーキングデバイスを含む、いくつかおよび/またはあるタイプのネットワーキングリソースを含む。そのような特性化情報のさらなる実施例は、オペレーティングシステム312が、物理的処理装置、処理コア、メモリモジュール等の揮発性記憶デバイス、およびハードドライブ等の不揮発性記憶デバイス等の特定の実装リソース306に関するホットプラグ機能性を含むかどうか等の、仮想マシン302のオペレーティングシステム312の1つ以上の構成要素の特性を含む。仮想マシン移動構成要素412は、一組の移動オプション候補例えば、VMタイプAからVMタイプC、DおよびKへを判定するように、移動エージェントインターフェース422および/またはユーザインターフェース412において受信される特性化情報に基づいて、一組の利用可能な移動オプション例えば、VMタイプAからVMタイプB-Zへをフィルタにかけてもよく、一組の移動オプション候補は、選択のために管理者に提示されてもよい。仮想マシンへの移動エージェント420の追加が承認されない時に、仮想マシン移動構成要素410は、フィルタとして特性化情報の保守的なデフォルトセットを使用してもよく、おそらく、より少数の候補セットをもたらす。管理者は、所望であれば、より多数の候補セットを生成しようとするために、付加的なそのような承認とともに移動オプション要求を再提出してもよい。移動オプションは、移動テンプレート416に対応してもよい。代替として、または加えて、提示された一組の移動オプション候補の間から選択することは、一組の利用可能な移動テンプレート416をフィルタにかけてもよい。さらなる代替案として、またはさらに加えて、移動オプション選択は、移動テンプレート416の1つ以上の部分を構成および/または特定してもよい。いったん好適な移動オプションおよび/または移動テンプレート416が利用可能になると、管理者は、特定の移動テンプレート416を特定の複数組の仮想マシン302-304図3に割り当ててもよい。次いで、移動管理構成要素424は、割り当てられた移動テンプレート416に従って、複数組の仮想マシン302-304を移動させてもよい。移動テンプレート416は、1つ以上の仮想マシン302-304、仮想化層310、および/または対応する仮想マシン302-304の移動の前、間、および/または後に行われる実装リソース306の再構成を特定してもよい。特定された再構成が仮想マシン302-304の内部にある時に、移動管理424および仮想マシン302-304は、移動エージェント420のうちの好適な1つを追加させ、移動管理構成要素424は、移動エージェントインターフェース422を通して、追加された移動エージェント420と相互作用することによって、内部再構成をトリガしてもよい。移動エージェント420は、1つ以上の移動タスクを行うように仮想マシン302-304図3によって実行可能である命令を含んでもよい。図5は、少なくとも1つの実施形態による、移動エージェント例502の態様を描写する。移動エージェント502は、図4の移動エージェント420の実施例である。移動エージェント502は、能力検出構成要素504を含んでもよい。能力検出構成要素504は、1つ以上の仮想マシン302-304能力を検出してもよい。例えば、能力検出構成要素504は、オペレーティングシステム312が特定の実装リソース306に関するホットプラグ機能性を含むかどうかを検出してもよい。能力検出構成要素504は、少なくとも、特定のタイプの仮想マシンの特定の能力を検出するように構成される、1つ以上の検出器506-508を含んでもよい。例えば、能力検出構成要素504は、移動エージェント502が追加される仮想マシン302のオペレーティングシステム312の検出されたタイプおよび/またはバージョンに少なくとも部分的に基づいて、特定の一組の検出器506-508を選択してもよい。能力検出構成要素504は、特定の仮想マシン302図3が移動に関して特定の能力を持たないことを検出してもよい。そのような場合において、能力増強構成要素510が、承認された時に、仮想マシン302の能力を一時的または永久に増強してもよい。例えば、能力増強構成要素510は、物理的処理装置、処理コア、メモリモジュール等の揮発性記憶デバイス、およびハードドライブ等の不揮発性記憶デバイス等の、特定の実装リソース306に関するホットプラグ機能性を含むように、仮想マシン302のオペレーティングシステム312を増強してもよい。能力増強構成要素510は、仮想マシン302に展開される、1つ以上の増強パッケージ512-514を含んでもよい。例えば、増強パッケージ512-514は、増強機能性の特定のパッケージおよび/またはオペレーティングシステム312のタイプおよび/またはバージョン等の特定の仮想マシン302の構成要素タイプおよび/またはバージョンに対応してもよい。いったん仮想マシン302図3に追加されると、移動エージェント502は、能力検出および増強の役割を超えた役割を果たすことができる。移動エージェント502はさらに、少なくとも、移動テンプレート416のうちの1つ以上に従って、移動管理構成要素424図4によって指図されるように仮想マシン302を再構成するように構成される、再構成構成要素516を含んでもよい。移動エージェント502が仮想マシン302とともに新しい実装リソースセットに移動させられるため、再構成構成要素516は、移動前および後の両方で仮想マシン302を再構成してもよい。例えば、移動が、第1のタイプから、より少ない物理的プロセッサが割り付けられる第2のタイプへ、仮想マシン302をモーフィングすると仮定されたい。再構成構成要素516は、移動に備えて、より少ない物理的プロセッサにアクセスするように仮想マシン302を再構成してもよい。別の実施例として、移動が、第1のタイプから、より大型の不揮発性データ記憶装置の割付を有する第2のタイプへ、仮想マシン302をモーフィングすると仮定されたい。移動後に、再構成構成要素516は、より大型の割付を活用するように、ファイルシステムおよび論理データ記憶容量をサイズ変更してもよい。再構成構成要素516は、移動エージェントが追加される仮想マシン302のために適合される、1つ以上のコンフィギュレータ518-520を含んでもよい。例えば、コンフィギュレータ518-520は、オペレーティングシステム312のタイプおよび/またはバージョン等の特定の仮想マシン302の構成要素タイプおよび/またはバージョンに適合されてもよい。多くのオペレーティングシステム312-314図3およびアプリケーション316-322が標準化される一方で、仮想マシン302-304は、カスタムアプリケーションおよびオペレーティングシステムを含んでもよく、標準化アプリケーションでさえも、非標準特性を伴うデータ構造を管理するように構成されてもよい。したがって、移動エージェント502は、少なくとも、移動テンプレート416のうちの1つ以上に従って、移動管理構成要素424図4によって指図されるように1つ以上のユーザ提供された構成要素524-526を起動するように構成される、カスタム措置構成要素522を含んでもよい。例えば、管理者は、移動テンプレート416の作成中に構成要素524-526のうちの1つ以上を提供してもよい。ユーザ提供された構成要素524-526は、解釈されたプログラミング言語および/またはスクリプト言語を含む、任意の好適なプログラミング言語で仮想マシン302によって実行可能である命令を含んでもよい。例えば、ユーザ提供された構成要素524-526は、割り付けられた実装リソース306の増加および/または減少に応答して、アプリケーションレベル再構成を行ってもよい。移動エージェント502の活動は、移動テンプレート416のうちの1つ以上に従って、移動管理構成要素424図4によって制御されてもよい。図6は、少なくとも1つの実施形態に従って、移動テンプレート例602の態様を描写する。移動テンプレート602は、制御プレーン402のワークフロー構成要素406によって管理される仮想マシン移動ワークフローを確立するために好適な1つ以上のタスクを特定してもよい。移動テンプレート602によって特定されるタスクは、移動前再構成タスク604、ホットアンプラグ措置606、1つ以上の移動タスク608、ホットプラグ措置610、および移動後再構成タスク612を含んでもよい。ホットアンプラグ措置606は、仮想マシン302に現在利用可能である実装リソース306図3のうちの1つ以上の除去に対応する、1つ以上のタスクを含んでもよい。例えば、ホットアンプラグ措置606は、仮想マシン302に利用可能な物理的処理装置および/または処理コアの数を減少させること、仮想マシン302に利用可能である物理的メモリモジュールの数および/または割り付けられた揮発性データ記憶サイズを減少させること、および仮想マシン302に利用可能である物理的ハードドライブの数および/または割り付けられた不揮発性データ記憶サイズを減少させることを含んでもよい。そのような措置606は、物理的コンピュータシステムから物理的構成要素を抜くことに対応する効果を有してもよい。したがって、いくつかのアプリケーションレベルおよび/またはオペレーティングシステムレベル準備が望ましくてもよく、および/または必要であってもよい。移動テンプレート602の移動前再構成タスク604部分は、ホットアンプラグ措置606に備えて行われる1つ以上のタスクを含んでもよい。同様に、ホットプラグ措置610は、仮想マシン302に現在利用不可能である実装リソース306図3のうちの1つ以上の追加に対応する、1つ以上のタスクを含んでもよい。例えば、ホットプラグ措置610は、仮想マシン302に利用可能な物理的処理装置および/または処理コアの数を増加させること、仮想マシン302に利用可能である物理的メモリモジュールの数および/または割り付けられた揮発性データ記憶サイズを増加させること、および仮想マシン302に利用可能である物理的ハードドライブの数および/または割り付けられた不揮発性データ記憶サイズを増加させることを含んでもよい。そのような措置610は、物理的構成要素を物理的コンピュータシステムに差し込むことに対応する効果を有してもよい。したがって、いくつかのアプリケーションレベルおよび/またはオペレーティングシステムレベル再構成が、付加的な実装リソースを活用するために望ましくてもよく、および/または必要であってもよい。移動テンプレート602の移動後再構成タスク612部分は、ホットプラグ措置610によって追加されるリソースに適応するように行われる、1つ以上のタスクを含んでもよい。移動テンプレート602の移動タスク608部分は、第1組の実装リソースから第2組の実装リソースへ、および/または第1のタイプの仮想マシンから第2のタイプの仮想マシンへ、仮想マシン302図3を移動させるために必要とされる、1つ以上のタスクを特定してもよい。移動は、仮想マシン302の動作が中断されない、または最小限に例えば、1秒未満にわたって中断されるという点で、生であってもよい。代替として、または加えて、移動は、仮想マシン動作へのより有意な中断を伴う保存および復元移動であってもよく、および/または仮想マシンの再起動を伴ってもよい。仮想マシンのためのそのような移動および/または生移動技法は、当業者に公知であるため、詳細のうちのいくつかのみが本明細書で説明される。少なくとも1つの実施形態では、移動タスク608は、例えば、仮想マシン302のタイプを転換するように、仮想マシン302の移動中に行われる、1つ以上のタスクを特定してもよい。移動テンプレート602の部分604-612のうちの1つ以上は、空であってもよい。例えば、第2組の実装リソースが第1組の実装リソースとは異ならない例えば、仮想マシン302がモーフィングされるが、移動させられない時の移動テンプレート602の移動タスク608部分である。そのような場合において、移動テンプレート602は、モーフィングテンプレートと呼ばれてもよい。ここで、説明は、少なくとも1つの実施形態に従って行われてもよい、ステップおよび/またはプロシージャ例に取り掛かる。図7は、少なくとも1つの実施形態による、一組の仮想マシンを移動させるためのステップ例を描写する。ステップ702では、第1のタイプタイプAの1つ以上の仮想マシンが整備されてもよい。例えば、仮想マシン302-304図3は、制御プレーン402のプロビジョニングインターフェース404図4を用いて整備されてもよい。ステップ704では、1つ以上のサービスが、ステップ702で整備された仮想マシンに提供されてもよい。例えば、仮想マシン302は、ウェブベースのサービスを提供するアプリケーション316を維持してもよい。整備された仮想マシンは、しばらくの間、サービスを提供してもよく、その後、移動が望ましく、および/または必要になる。ステップ706では、移動を促進するために、整備された仮想マシンを移動させるために好適な移動テンプレートが確立されてもよい。例えば、移動テンプレート416図4のうちの1つが、グラフィカルユーザインターフェース418を用いて確立されてもよい。この実施例では、移動は、第1のタイプの仮想マシンから第2のタイプの仮想マシンタイプBへの仮想マシンの変換を伴う。ステップ708では、整備された仮想マシンが、移動のために選択されてもよい。例えば、一組の仮想マシンが、仮想マシン移動構成要素410のグラフィカルユーザインターフェース418を用いて選択され、ステップ706で確立された移動テンプレートと関連付けられてもよい。ステップ710では、特定の一組の仮想マシンのうちの次の例えば、第1のものが、移動のために選択されてもよい。ステップ712では、選択された仮想マシンが、ステップ706で確立された移動テンプレートに従って移動させられてもよい。例えば、移動管理構成要素424は、移動テンプレートに従って、移動をトリガし、および/または行ってもよい。代替として、または加えて、移動管理構成要素424は、仮想マシン移動を達成するようにワークフロー構成要素406と協働してもよい。移動ワークフローは、関連移動テンプレートに少なくとも部分的に基づいてもよい。ステップ714では、特定の一組の中のより多くの仮想マシンが移動させられるべきかどうかを判定してもよい。もしそうであれば、ステップ714を組み込むプロシージャは、移動のための一組の仮想マシンのうちの次のものを選択するように、ステップ710へ進んでもよい。そうでなければ、プロシージャは、ステップ716へ進んでもよい。ステップ716では、移動させられ、変換された仮想マシンが、ステップ704のサービスを提供し続けてもよい。移動テンプレート602図6を確立することは、複雑なプロセスとなり得る。仮想マシン移動構成要素410図4は、移動テンプレート602を確立するのに管理者を支援するツールを提供してもよい。図8は、少なくとも1つの実施形態による、移動オプションクエリを処理するためのステップ例を描写する。ステップ802では、移動オプションクエリが受信されてもよい。例えば、クエリは、仮想マシン移動構成要素410のグラフィカルユーザインターフェース418によって受信されてもよい。クエリは、管理者が移動オプションを考慮している、特定の一組の仮想マシンと関連付けられてもよい。ステップ804では、1つ以上の移動エージェントを一組の仮想マシンに追加する承認が、要求されてもよい。例えば、グラフィカルユーザインターフェース418が、ステップ802のクエリを発行して、管理者からの承認を要求してもよい。ステップ806では、要求された承認が受信されたかどうかが判定されてもよい。例えば、管理者が、追加を承認する、一組の暗号証明書を提供してもよい。承認が受信された場合、ステップ806を組み込むプロシージャは、ステップ808へ進んでもよい。そうでなければ、プロシージャは、ステップ810へ進んでもよい。ステップ808では、好適な一組の移動エージェントが、一組の仮想マシンに追加されてもよい。例えば、仮想マシン移動構成要素410図4は、好適な移動エージェント420を仮想マシン302図3に追加してもよい。特定の仮想マシンに追加するために選択される特定の移動エージェントは、仮想マシンとの互換性、例えば、仮想マシンのオペレーティングシステムとの互換性のために選択されてもよい。代替として、移動エージェント420は、各利用可能なタイプの仮想マシン302-304と互換性がある構成要素を組み込んでもよく、および/または互換性を持つよう、そのような構成要素を伴ってそれ自体を構成することが可能であってもよい。ステップ812では、追加された移動エージェントが、例えば、移動エージェント502図5の能力検出構成要素504を用いて、一組の仮想マシンおよび/またはその構成要素を特徴付けてもよい。ステップ814では、特性化情報が受信されてもよい。例えば、追加された移動エージェントは、仮想マシン移動構成要素410の移動エージェントインターフェース422に特性化情報を提供してもよい。ステップ814の特性化情報を確認するように、移動エージェントを一組の仮想マシンに追加するための承認が受信されない場合には、ステップ810で、一組のフェイルセーフデフォルトが、特性化情報の代わりに識別されてもよい。デフォルトは、仮想マシンタイプおよび/または実装リソースの非互換性により、移動を失敗させる場合がある移動オプションを除外するという意味で、フェイルセーフであってもよい。ステップ816では、ステップ814で受信された特性化情報またはステップ810のフェイルセーフデフォルトに基づいて、一組の移動オプションが判定されてもよい。例えば、仮想マシン移動構成要素410図4が、一組の移動オプションを判定してもよい。ステップ818では、一組の移動オプションが、例えば、グラフィカルユーザインターフェース418のステップ802のクエリを提出した管理者に提示されてもよい。一組の移動オプションは、もしあればどの増強パッケージ512-514図5を展開するか、互換性がない実装リソースを模倣する潜在的に宛先VMタイプの数を増加させるかどうか、互換性があるが異なる実装リソースを移動後に暴露するまたはそれらの移動前タイプとして新しい実装リソースを隠すかどうか、ならびに一組の候補宛先VMタイプ等の移動テンプレート602図6の構成オプションを含んでもよい。図9は、少なくとも1つの実施形態による、移動オプション選択を処理するためのステップ例を描写する。ステップ902では、移動オプション選択が受信されてもよい。例えば、仮想マシン移動構成要素410図4が、グラフィカルユーザインターフェース418を通して管理者から選択を受信してもよい。ステップ904では、1つ以上の移動テンプレートは、受信した移動オプション選択に少なくとも部分的に基づいて選択されてもよい。例えば、移動テンプレートエディタ414は、受信した移動オプション選択に基づいて、移動テンプレート416を確立および/または構成してもよい。ステップ906では、選択された仮想マシンが、例えば、図7を参照して上記で説明されるように、確立された移動テンプレートに従って移動させられてもよい。ステップ906の移動は、それ自体が複数のステップを含んでもよい。例えば、図3の仮想マシン302が、図6の移動テンプレート602に従って移動させられると仮定されたい。ステップ908では、仮想マシン302の1つ以上の構成要素の移動前再構成が行われてもよい。例えば、移動前再構成タスク604およびホットアンプラグ措置606が行われてもよい。ステップ910では、仮想マシン302が、状態転送を完了するステップ912ために一時停止されてもよい。仮想マシン302を再開するステップ916前に、仮想マシンの1つ以上の構成要素の移動内または移動中再構成が行われてもよい。例えば、アプリケーション316-318が、異なるオペレーティングシステム312の構成要素に再リンクされてもよく、および/またはデバイス再発見が、オペレーティングシステム312のレベルでトリガされてもよい。ステップ918では、仮想マシン302の1つ以上の構成要素の移動後再構成が行われてもよい。例えば、ホットプラグ措置610および移動後再構成タスク612が、移動テンプレート602によって特定されるように行われてもよい。図5を参照して上記で説明されるように、移動エージェント502は、能力増強構成要素510を含んでもよい。図10は、少なくとも1つの実施形態による、能力増強のためのステップ例を描写する。ステップ1002では、仮想マシン能力検出は、例えば、移動エージェント502の特定の検出器506によって行われてもよい。ステップ1004では、能力が検出されたかどうかが判定されてもよい。もしそうであれば、ステップ1004を組み込むプロシージャは、ステップ1006へ進んでもよい。そうでなければ、プロシージャは、ステップ1008へ進んでもよい。ステップ1008では、検出されていない能力を移動エージェント502図5によって追加することができるかどうかが判定されてもよい。例えば、能力増強構成要素510は、増強パッケージ512-514のうちの1つが能力を提供し、移動エージェント502が追加された仮想マシンと互換性があるかどうかを判定してもよい。能力を追加することができる場合、プロシージャは、ステップ1010へ進んでもよい。そうでなければ、プロシージャは、ステップ1006へ進んでもよい。ステップ1010では、移動エージェント502図5が能力を追加する権限を与えられているかどうかが判定されてもよい。例えば、管理者が、利用可能な増強パッケージ512-514の特定の一部を追加するように移動エージェント502を承認していてもよく、移動エージェント502は、ステップ1008で識別された特定の増強パッケージを追加する権限を与えられていることをチェックしてもよい。もしそうであれば、プロシージャは、ステップ1012へ進んでもよい。そうでなければ、プロシージャは、ステップ1006へ進んでもよい。ステップ1012では、能力が仮想マシン302に追加されてもよい。例えば、移動エージェント502が、増強パッケージ512を仮想マシン302のオペレーティングシステム312に追加してもよい。ステップ1006では、ステップ1002、ステップ1008、ステップ1010、およびステップ1012の結果を含む、能力検出プロセスの結果が報告されてもよい。例えば、報告は、移動エージェントインターフェース422を用いて仮想マシン移動構成要素410図4に提供されてもよい。図4を参照して上記で説明されるように、制御プレーン402は、ワークフロー構成要素406によって維持される、1つ以上のワークフローによって促進されてもよい。図11は、少なくとも1つの実施形態による、ワークフロー管理のためのステップ例を描写する。ステップ1102では、要求が制御プレーン402図4のインターフェースによって受信されてもよい。例えば、制御プレーン402のユーザインターフェースのうちの1つが、仮想リソースプロバイダ206図2のユーザ、顧客、および/または管理者から要求を受信してもよい。要求は、例えば、シンプルオブジェクトアクセスプロトコルSOAP呼び出しを利用した、アプリケーションプログラミングインターフェースAPIまたはウェブサービスインターフェース等のプログラマチックインターフェースへの呼び出しであってもよい。代替として、または加えて、要求は、ウェブベースのGUI等のグラフィカルユーザインターフェースGUIを通して受信されてもよい。ステップ1104では、要求が、要求を成功裏に完了するために必要とされる1つ以上の措置を判定するように分析されてもよい。例えば、プロビジョニングインターフェース404が、要求を分析し、一組の仮想リソース212を整備するために必要とされる一組の措置を判定してもよい。要求を受信するインターフェース要素が、行われる特定の措置に対応する時に、インターフェースは、行われる措置の態様および/またはパラメータを判定する際に利用される情報を要求から抽出してもよい。ステップ1106では、ステップ1104で判定された1つ以上の措置に少なくとも部分的に基づいて、ワークフローを作成するように、要求が送信されてもよい。例えば、プロビジョニングインターフェース404図4は、要求をワークフロー構成要素406に送信してもよい。ワークフローを作成する要求は、措置、措置のタイプ等の措置メタデータ、および/または措置パラメータを含んでもよい。少なくとも1つの実施形態では、制御プレーン402および/またはワークフロー構成要素406が、そのような要求のためのジョブ待ち行列を維持し、ジョブ待ち行列への新しい追加に応答して、ワークフローが作成される。ステップ1108では、ワークフローおよび1つ以上の構成要素タスクが作成されてもよい。例えば、ワークフロー構成要素406が、作成する適切なワークフローおよび構成要素タスクを判定するように、ステップ1106の要求を分析してもよい。ステップ1110では、構成要素タスクの実行が、ワークフローに従って誘導されてもよい。例えば、ワークフロー構成要素406図4が、一組の仮想リソースを整備するように、種々の実装リソースのインターフェースの要素を起動してもよい。代替として、または加えて、ワークフロー構成要素406は、仮想リソースプロバイダ206図2の構成要素による構成要素タスクの実行のためにビッドを管理してもよい。ステップ1112では、ワークフローが終了したかどうかが判定されてもよい。例えば、ワークフロー構成要素406は、ワークフローによって管理される一連のタスクの中の最終タスクが完了したかどうかを判定してもよい。もしそうであれば、ステップ1112を組み込むプロシージャは、ステップ1114へ進んでもよい。そうでなければ、プロシージャは、次のタスクおよび/またはタスクシーケンスのためにステップ1110に戻ってもよい。ワークフローは、並行して実行する複数のタスクシーケンスを誘導してもよい。この場合、複数のタスクシーケンスのうちのそれぞれが完了する、および/または明示的なワークフロー終了フラグが構成要素タスクのうちの1つによって設定されるまで、ワークフローが終了しなくてもよい。ステップ1114では、ステップ1102の要求の送信者が、措置の結果を知らされてもよい。付記:付記1.実行可能命令で構成される、1つ以上のコンピュータシステムの制御下で、仮想マシンであって、第1の仮想マシンタイプであり、第1組の実装リソースを伴って維持される、仮想マシンを用いて、サービスをユーザに提供することと、移動エージェントを仮想マシンに追加し、仮想マシンの少なくとも1つの構成要素を特徴付ける情報を含む、移動エージェントから受信される情報に少なくとも部分的に基づいて、移動テンプレートを確立することと、移動テンプレートの移動前部分に従って、移動エージェントを用いて、少なくとも仮想マシンの第1の構成要素の再構成をトリガすることと、移動後に、仮想マシンが第2の仮想マシンタイプであるように、第1組の実装リソースから第2組の実装リソースへ、移動テンプレートに従って仮想マシンを移動させることと、移動テンプレートの移動後部分に従って、移動エージェントを用いて、少なくとも仮想マシンの第2の構成要素の再構成をトリガすることと、第2の仮想マシンタイプの仮想マシンを用いて、サービスをユーザに提供し続けることと、を含む、仮想マシンの移動のためのコンピュータ実装方法。付記2.第2組の実装リソースは、物理的処理装置の数、1つの物理的処理装置あたりの処理コアの数、物理的処理装置のタイプ、揮発性データ記憶デバイスの数、揮発性データ記憶デバイスのタイプ、不揮発性データ記憶デバイスの数、不揮発性データ記憶デバイスのタイプ、ネットワーキングデバイスの数、およびネットワーキングデバイスのタイプのうちの少なくとも1つに関して、第1組の実装リソースとは異なる、付記1に記載のコンピュータ実装方法。付記3.第2の仮想マシンタイプは、物理的処理装置の割り付けられた数、処理コアの割り付けられた数、物理的処理装置の割り付けられたタイプ、割り付けられた揮発性データ記憶サイズ、割り付けられた不揮発性データ記憶サイズ、および割り付けられたネットワーキングリソースのうちの少なくとも1つに関して、第1の仮想マシンタイプとは異なる、付記1に記載のコンピュータ実装方法。付記4.仮想マシンは、仮想リソースプロバイダの顧客のために仮想リソースプロバイダによって維持され、方法はさらに、移動エージェントを仮想マシンに追加するように、顧客からの承認を要求して受信することを含む、付記1に記載のコンピュータ実装方法。付記5.移動エージェントから受信される情報は、仮想マシンのオペレーティングシステムを特徴付ける、付記1に記載のコンピュータ実装方法。付記6.実行可能命令で構成される、1つ以上のコンピュータシステムの制御下で仮想マシンであって、第1の仮想マシンタイプであり、第1組の実装リソースを伴って維持される、仮想マシンの少なくとも1つの構成要素を特徴付ける情報を受信することと、受信した情報に少なくとも基づく移動テンプレートであって、第1の仮想マシンタイプから第2の仮想マシンタイプへの仮想マシン移動に対応する移動テンプレートを確立することと、仮想マシンが第2の仮想マシンタイプを有するよう変換されるように、第1組の実装リソースから第2組の実装リソースへ、移動テンプレートに従って仮想マシンを移動させることと、移動テンプレートに従って、仮想マシンの該少なくとも1つの構成要素の再構成をトリガすることと、仮想マシンを用いてサービスをユーザに提供することと、を含む、仮想マシンの移動のためのコンピュータ実装方法付記7.移動テンプレートを確立することは、受信した情報に少なくとも部分的に基づいて、一組の移動オプションを判定することを含む、付記6に記載のコンピュータ実装方法。付記8.一組の移動オプションを仮想マシンの管理者に提示することと、管理者によって行われた一組の移動オプションに関する選択に少なくとも部分的に基づいて、移動テンプレートを構成することと、さらに含む、付記7に記載のコンピュータ実装方法。付記9.仮想マシンの該少なくとも1つの構成要素の再構成は、仮想マシンのオペレーティングシステムへの少なくとも1つのさらなる構成要素の追加を含む、付記6に記載のコンピュータ実装方法。付記10.該少なくとも1つのさらなる構成要素は、ハードウェア構成要素ホットプラグ能力を提供するように、オペレーティングシステムを再構成する、付記9に記載のコンピュータ実装方法。付記11.仮想マシンを移動させることは、仮想マシンを一時停止すること、および仮想マシンを再開することを含む、複数のステップを含み、仮想マシンの該なくとも1つの構成要素の再構成は、仮想マシンを一時停止した後、および仮想マシンを再開する前に起こる、付記6に記載のコンピュータ実装方法。付記12.該少なくとも1つの構成要素は、仮想マシンのオペレーティングシステムの少なくとも1つの構成要素にリンクされるアプリケーションを備え、アプリケーションの再構成は、アプリケーションをオペレーティングシステムの少なくとも1つの異なる構成要素に再リンクすることを含む、付記6に記載のコンピュータ実装方法。付記13.移動テンプレートは、第1組の実装リソースのうちの少なくとも1つが、第2組の実装リソースのうちの少なくとも1つで模倣されることを特定する、付記6に記載のコンピュータ実装方法。付記14.実行可能命令で構成される、1つ以上のコンピュータシステムの制御下で、仮想マシンであって、第1のタイプであり、第1組の実装リソースを伴って維持される、仮想マシンに移動エージェントを追加することと、仮想マシンの少なくとも1つの構成要素を特徴付ける情報を移動エージェントから受信することと、仮想マシンが第2のタイプになるよう変換されるように、第1組の実装リソースから第2組の実装リソースへ、仮想マシンを移動させることと、移動エージェントを用いて、仮想マシンの該少なくとも1つの構成要素の再構成をトリガすることと、仮想マシンを用いてサービスをユーザに提供することと、を含む、仮想マシンの移動のためのコンピュータ実装方法。付記15.該少なくとも1つの構成要素は、実装リソース容量と関連付けられる、該少なくとも1つの構成要素の再構成は、実装リソース容量を減少させることを含み、再構成は、第1組の実装リソースから仮想マシンを移動させる前に起こる、付記14に記載のコンピュータ実装方法。付記16.実装リソース能力は、仮想マシンの少なくとも1つのデータ記憶部の実装に関与する、データ記憶デバイスの容量に対応し、該少なくとも1つの構成要素の再構成はさらに、実装リソース容量を減少させる前に、該少なくとも1つのデータ記憶部を再構成することを含む、付記15に記載のコンピュータ実装方法。付記17.該少なくとも1つのデータ記憶部は、仮想マシンのオペレーティングシステムによって維持され、該少なくとも1つの構成要素の再構成はさらに、該少なくとも1つのデータ記憶部を再構成する前に、仮想マシンのアプリケーションレベル構成要素を通知することを含む、付記16に記載のコンピュータ実装方法。付記18.該少なくとも1つの構成要素は、実装リソース能力と関連付けられ、該少なくとも1つの構成要素の再構成は、実装リソース能力を増加させることを含み、再構成は、第2組の実装リソースへ仮想マシンを移動させた後に起こる、付記14に記載のコンピュータ実装方法。付記19.集合的に複数の仮想マシンを維持することが可能な複数の実装リソースと、ユーザインターフェースであって、少なくとも、第1のタイプの仮想マシンから第2のタイプの仮想マシンへの仮想マシン移動であって、第1のタイプの仮想マシンの少なくとも1つの構成要素の再構成を含む、仮想マシン移動に対応する、移動テンプレートをユーザが確立をすることを可能にし、移動テンプレートに従って移動させられる、第1のタイプの一組の仮想マシンをユーザが選択することを可能にするように構成される、ユーザインターフェースと、少なくとも、第1のタイプの仮想マシンの該少なくとも1つの構成要素を特徴付ける情報を受信するように構成される、移動エージェントインターフェースと、移動テンプレートに従って、および受信した情報に少なくとも部分的に基づいて、一組の仮想マシンが、第2のタイプの仮想マシンに変換されるように、少なくとも、第1組の複数の実装リソースから第2組の複数の実装リソースへ一組の仮想マシンを移動させるように構成される、移動管理構成要素と、を備える、仮想マシンの移動のためのコンピュータ化システム。付記20.ユーザインターフェースはさらに、少なくとも、ユーザが一組の仮想マシンへの一組の移動エージェントの追加を承認することを可能にするように構成され、移動管理構成要素はさらに、少なくとも、一組の仮想マシンを移動させる前に、一組の移動エージェントを一組の仮想マシンに追加するように構成される、付記19に記載のコンピュータ化システム。付記21.一組の移動エージェントは、少なくとも、該少なくとも1つの構成要素を特徴付け、特性化情報を移動エージェントインターフェースに提供するように構成される、少なくとも1つの移動エージェントを備える、付記20に記載のコンピュータ化システム。付記22.一組の移動エージェントは、一組の仮想マシンによって維持される、複数のタイプのオペレーティングシステムに対応する、複数のタイプの移動エージェントを備える、付記20に記載のコンピュータ化システム。付記23.該少なくとも1つの構成要素を特徴付ける情報は、該少なくとも1つの構成要素がハードウェア構成要素ホットプラグ機能性を組み込むかどうかという指示を含む、付記19に記載のコンピュータ化システム。付記24.該少なくとも1つの構成要素を特徴付ける情報は、該少なくとも1つの構成要素がハードウェア構成要素ホットプラグ機能性を組み込むことが可能であるかどうかを判定するのに十分な情報を含む、付記19に記載のコンピュータ化システム。付記25.少なくとも、第1のタイプの仮想マシンの少なくとも1つの構成要素を特徴付ける情報を受信し、受信した情報に少なくとも部分的に基づく、モーフィングテンプレートであって、少なくとも、第1のタイプの仮想マシンから第2のタイプの仮想マシンへの仮想マシンの変換を構成する、モーフィングテンプレートを確立し、モーフィングテンプレートに従って、仮想マシンの該少なくとも1つの構成要素の再構成をトリガし、モーフィングテンプレートに従って、第1のタイプの仮想マシンから第2のタイプの仮想マシンへ仮想マシンを変換し、仮想マシンを用いてサービスをユーザに提供するように、1つ以上のコンピュータを集合的に構成する、コンピュータ実行可能命令をその上に集合的に有する、1つ以上のコンピュータ可読媒体。本明細書で説明される種々の実施形態は、場合によっては、いくつかのアプリケーションのうちのいずれかを操作するために利用され得る、1つ以上のユーザコンピュータ、コンピュータデバイス、または処理デバイスを含み得る、多種多様な動作環境で実装されてもよい。ユーザまたはクライアントデバイスは、標準オペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ等のいくつかの汎用パーソナルコンピュータのうちのいずれか、ならびにモバイルソフトウェアを実行し、いくつかのネットワーキングおよびメッセージングプロトコルをサポートすることが可能であるセルラー、無線、および手持ち式デバイスを含んでもよい。そのようなシステムはまた、開発およびデータベース管理等の目的で、種々の市販のオペレーティングシステムおよび他の既知のアプリケーションのうちのいずれかを実行する、いくつかのワークステーションを含んでもよい。これらのデバイスはまた、ダミー端末、シンクライアント、ゲーム機、およびネットワークを介して通信することが可能な他のデバイス等の他の電子デバイスを含んでもよい。ほとんどの実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalk等の種々の市販のプロトコルのうちのいずれかを使用した通信をサポートするために、当業者に周知となる、少なくとも1つのネットワークを利用する。そのようなネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話ネットワーク、赤外線ネットワーク、無線ネットワーク、およびそれらの任意の組み合わせを含んでもよい。ネットワークは、さらに、任意の好適なネットワークトポロジーを組み込んでもよい。好適なネットワークトポロジーの実施例は、単純ポイントツーポイント、スタートポロジー、自己組織化ピアツーピアトポロジー、およびそれらの組み合わせを含むが、それらに限定されない。ウェブサーバを利用する実施形態では、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Javaサーバ、およびビジネスアプリケーションサーバを含む、種々のサーバまたはミッドティアアプリケーションのうちのいずれかを実行してもよい。サーバはまた、Java登録商標、C、C、またはC等の任意のプログラミング言語、あるいはPerl、Python、またはTCL等の任意のスクリプト言語、ならびにそれらの組み合わせで書かれた、1つ以上のスクリプトまたはプログラムとして実装されてもよい、1つ以上のウェブアプリケーションを実行すること等によって、ユーザデバイスからの要求に応じて、プログラムまたはスクリプトを実行することが可能であってもよい。サーバはまた、Oracle登録商標、Microsoft登録商標、Sybase登録商標、およびIBM登録商標から市販されているものを制限なく含む、データベースサーバを含んでもよい。環境は、上記で論議されるように、種々のデータ記憶部ならびに他のメモリおよび記憶媒体を含んでもよい。これらは、コンピュータのうちの1つ以上のローカルにあるおよび/またはその中に常駐する、またはネットワークにわたるコンピュータのうちのいずれかまたは全てから遠隔にある、記憶媒体上等の種々の場所に存在してもよい。特定の一組の実施形態では、情報は、当業者に周知である記憶領域ネットワークSAN内に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を果たすための必要なファイルが、適宜に、ローカルおよび/または遠隔に記憶されてもよい。システムがコンピュータ化デバイスを含む場合、そのような各デバイスは、バスを介して電気的に連結され得る、ハードウェア要素を含んでもよく、要素は、例えば、少なくとも1つの中央処理装置CPU、少なくとも1つの入力デバイス例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド、および少なくとも1つの出力デバイス例えば、表示デバイス、プリンタ、またはスピーカを含む。そのようなシステムはまた、ディスクドライブ、光学記憶デバイス、およびランダムアクセスメモリRAMまたは読み出し専用メモリROM等の固体記憶デバイス等の1つ以上の記憶デバイス、あるいは可撤性メディアデバイス、メモリカード、フラッシュカード等を含んでもよい。そのようなデバイスはまた、コンピュータ可読記憶媒体リーダ、通信デバイス例えば、モデム、ネットワークカード無線または有線、赤外線通信デバイス等、および上記で説明されるような作業メモリを含んでもよい。コンピュータ可読記憶媒体リーダは、遠隔、ローカル、固定、および/または可撤性記憶デバイスを表すコンピュータ可読記憶媒体、ならびにコンピュータ可読情報を一時的および/またはより永久に含有、記憶、伝送、および回収するための記憶媒体と接続されてもよく、またはそれらを受容するように構成されてもよい。システムおよび種々のデバイスはまた、典型的には、いくつかのソフトウェアアプリケーション、プログラムモジュールを含むモジュール、サービス、またはクライアントアプリケーションあるいはウェブブラウザ等のオペレーティングシステムおよびアプリケーションプログラムを含む、少なくとも1つの作業メモリデバイス内に位置する他の要素を含む。代替的な実施形態は、上記で説明されるものからの多数の変化例を有してもよいことを理解されたい。例えば、カスタマイズされたハードウェアも、利用される場合があり、および/または特定の要素が、ハードウェア、ソフトウェアアプレット等の高移植性ソフトウェアを含む、あるいは両方で実装される場合がある。さらに、ネットワーク入出力デバイス等の他のコンピュータデバイスへの接続が採用されてもよい。コードまたはコードの部分を含有するための記憶媒体およびコンピュータ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスクDVDまたは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を記憶するために使用され得て、システムデバイスによってアクセスされ得る、任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶および/または伝送のための任意の方法または技術で実装される、揮発性および不揮発性、可撤性および不可撤性媒体等であるが、それらに限定されない、記憶媒体および通信媒体を含む、当技術分野で公知である、または使用されている任意の適切な媒体を含んでもよい。プログラムモジュール、プログラム構成要素、および/またはプログラマチックオブジェクトは、任意の好適なコンピュータプログラミング言語の、および/または任意の好適なコンピュータプログラミング言語に対応する、コンピュータ可読および/またはコンピュータ実行可能命令を含んでもよい。少なくとも1つの実施形態では、各コンピュータ可読媒体は、有形であってもよい。少なくとも1つの実施形態では、各コンピュータ可読媒体は、時間的に非一過性であってもよい。本開示および本明細書で提供される教示に基づいて、当業者であれば、種々の実施形態を実装するための他の方式および/または方法を理解するであろう。したがって、本明細書および図面は、制限的な意味よりもむしろ例証的な意味で見なされるものとする。しかしながら、特許請求の範囲に記載されるような本発明のより広い精神および範囲から逸脱することなく、それに種々の修正および変更が行われてもよいことが明白となるであろう。実施形態を説明する関連での特に、以下の請求項との関連での1つのおよび該という用語および同様の指示対象の使用は、本明細書で特に指示されない、または文脈によって明確に矛盾しない限り、単数形および複数形の両方を対象とすると解釈されるものである。を備える、を有する、を含む、およびを含有するという用語は、特に注記がない限り、制約のない用語として解釈されるものであるすなわち、を含むが、それに限定されないを意味する。接続されるという用語は、たとえ介在するものがあっても、部分的または完全に内側に含有される、取り付けられる、またはともに接合されるとして解釈されるものである。本明細書の値の範囲の記載は、本明細書で特に指示されない限り、範囲内に入る各別個の値を個別に参照する簡便な方法としての機能を果たすことを目的としているにすぎず、各別個の値は、本明細書で個別に記載されたかのように、本明細書に組み込まれる。本明細書で説明される全ての方法は、本明細書で特に指示されない、または文脈によって明確に矛盾しない限り、任意の好適な順序で行うことができる。本明細書で提供される、ありとあらゆる実施例または例示的な用語例えば、等のの使用は、実施形態をより良く明らかにすることを目的としているにすぎず、特に請求されない限り、範囲に制限を課さない。本明細書中のいずれの用語も、少なくとも1つの実施形態の実践に不可欠なものとして、請求されていない要素を示すものとして解釈されるべきではない。発明者らに公知である最良の様態を含む、好ましい実施形態が本明細書で説明される。これらの好ましい実施形態の変化例は、前述の説明を読むと、当業者に明白となってもよい。発明者らは、当業者がそのような変化例を適宜に採用することを期待し、発明者らは、本明細書で具体的に説明されるのとは他の方法で実施形態が構築されることを意図する。したがって、好適な実施形態は、適用法令によって許可されるように本明細書に添付される請求項に記載される、主題の全ての修正および同等物を含む。また、その全ての可能な変化例の中の上記の要素の任意の組み合わせは、本明細書で特に指示されない、または文脈によって明確に矛盾しない限り、いくつかの好適な実施形態に組み込まれるものとして検討される。本明細書で引用される出版物、特許出願、および特許を含む、全ての参考文献は、各参考文献が、参照することにより組み込まれることが個別かつ特異的に示され、その全体で本明細書に記載されるのと同じ程度に、参照することにより本明細書に組み込まれる。