(57)【特許請求の範囲】
【請求項１】
仮想マシン（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ、ＶＭ）を、信頼性をもって移行するコンピュータ実装方法であって、前記方法は：
ホスティング・ファブリック内のホストについてのオーバーヘッドおよび信頼性因子を受信することと；
前記ホスティング・ファブリック内でソースＶＭをソース・ホストからターゲット・ホストに移行するための複数の実行可能な移行パスを求めることであって、前記移行は一連の移行フェーズ群を通じて達成され、ただし、フェーズは移行パス内における、１つのホストから別のホストへの前記ソースＶＭの移行を含む、求めることと；
各移行パスに関連付けられる合計オーバーヘッド・コストを求めることと；
前記オーバーヘッド・コストおよび信頼性因子に従って前記複数の移行パスの中から移行パスを選択することであって、前記選択されたパスにわたる前記移行の前記信頼性は監視され、前記ソースＶＭの１つ以上の複製を移行ファブリック内の１つ以上のホスト上に動的に割り当てることおよび割り当て解除することによって制御される、選択することと；
を含む、方法。
【請求項２】
前記選択された移行パスは、最も低コストの移行選択肢を提供する、請求項１に記載の方法。
【請求項３】
前記選択された移行パスは、最も信頼性のある移行選択肢を提供する、請求項１に記載の方法。
【請求項４】
前記選択された移行パスは、最も低コストであることと最も信頼性があることとを兼ね備えた移行選択肢を提供する、請求項１に記載の方法。
【請求項５】
前記ソースＶＭの前記移行のための移行目標が最小信頼性閾値に従って定義される、請求項１に記載の方法。
【請求項６】
前記移行の間の前記ソースＶＭのための前記複製の数は前記移行目標を満たすように調整される、請求項５に記載の方法。
【請求項７】
より安定性の高い移行環境が望まれる場合には前記複製の前記数が増やされる、請求項６に記載の方法。
【請求項８】
より安定性の低い移行環境が望まれる場合には前記複製の前記数が減らされる、請求項６に記載の方法。
【請求項９】
前記１つ以上の複製は前記移行の間に前記ソースＶＭと同期される、請求項１に記載の方法。
【請求項１０】
前記方法は：前記選択された移行パスはもはや実行可能でないと判定することに応答して、代替の移行パスを選択すること、をさらに含む、請求項１に記載の方法。
【請求項１１】
仮想マシン（ＶＭ）をソース・ホストからターゲット・ホストに信頼性をもって移行するシステムであって、前記システムは：
ホスティング・ファブリック内のホストについてのオーバーヘッドおよび信頼性因子を受信する論理装置と；
前記ホスティング・ファブリック内でソースＶＭをソース・ホストからターゲット・ホストに移行するための複数の実行可能な移行パスを求める論理装置であって、前記移行は一連の移行フェーズ群を通じて達成され、ただし、フェーズは移行パス内における、１つのホストから別のホストへの前記ソースＶＭの移行を含む、論理装置と；
各移行パスに関連付けられる合計オーバーヘッド・コストを求める論理装置と；
前記オーバーヘッド・コストおよび信頼性因子に従って前記複数の移行パスの中から移行パスを選択する論理装置であって、前記選択されたパスにわたる前記移行の前記信頼性は監視され、前記ソースＶＭの１つ以上の複製を移行ファブリック内の１つ以上のホスト上に動的に割り当てることおよび割り当て解除することによって制御される、論理装置と；
を含む、システム。
【請求項１２】
前記選択された移行パスは、最も低コストの移行選択肢を提供する、請求項１１に記載のシステム。
【請求項１３】
前記選択された移行パスは、最も信頼性の高い移行選択肢を提供する、請求項１１に記載のシステム。
【請求項１４】
前記選択された移行パスは、最も低コストであることと最も信頼性があることとを兼ね備えた移行選択肢を提供する、請求項１１に記載のシステム。
【請求項１５】
前記ソースＶＭの前記移行のための移行目標が最小信頼性閾値に従って定義される、請求項１１に記載のシステム。
【請求項１６】
前記移行の間の前記ソースＶＭのための前記複製の数は前記移行目標を満たすように調整される、請求項１５に記載のシステム。
【請求項１７】
前記システムは：前記選択された移行パスはもはや実行可能でないと判定することに応答して、代替の移行パスを選択する論理装置、をさらに含む、請求項１１に記載のシステム。
【請求項１８】
コンピュータ可読記憶媒体に保存されたコンピュータ・プログラムであって、前記コンピュータ・プログラムはコンピュータ上で実行されると前記コンピュータに：
ホスティング・ファブリック内のホストについてのオーバーヘッドおよび信頼性因子を受信することと；
前記ホスティング・ファブリック内でソースＶＭをソース・ホストからターゲット・ホストに移行するための複数の実行可能な移行パスを求めることであって、前記移行は一連の移行フェーズ群を通じて達成され、ただし、フェーズは移行パス内における、１つのホストから別のホストへの前記ソースＶＭの移行を含む、求めることと；
各移行パスに関連付けられる合計オーバーヘッド・コストを求めることと；
前記オーバーヘッド・コストおよび信頼性因子に従って前記複数の移行パスの中から移行パスを選択することであって、前記選択されたパスにわたる前記移行の前記信頼性は監視され、前記ソースＶＭの１つ以上の複製を移行ファブリック内の１つ以上のホスト上に動的に割り当てることおよび割り当て解除することによって制御される、選択することと；
をさせる、コンピュータ・プログラム。
【請求項１９】
前記選択された移行パスは、最も低コストの移行選択肢を提供する、請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記選択された移行パスは、最も信頼性のある移行選択肢を提供する、請求項１８に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術の分野
開示されている主題は概して１つ以上の仮想化コンピューティング・システムの移行に関し、より具体的には、仮想化環境をサポートするコンピューティング・ネットワーク環境における、１つのホストから別のホストへの決定論的に信頼性の高い移行を計画するシステムおよび方法に関する。
【背景技術】
【０００２】
コンピューティング・ネットワークにおいて、仮想化環境とは、ハードウェアおよびソフトウェア・ネットワーク資源ならびに機能性を協働あるいは連携させて、ソフトウェア・ベースで管理する実体としたものを指す。ネットワーク仮想化はプラットフォーム仮想化を含み、資源仮想化としばしば組み合わせられる。仮想資源は、ハードウェアの形態であろうとソフトウェアの形態であろうと、前記仮想資源とインターフェースをとる要素またはシステムが基盤システム構成要素のためのインターフェース要求を意識しないように実装される。
【０００３】
例えば、複数の物理資源を連携させて共用プールにすることによって物理的ハードウェア資源に仮想化が適用されればよい。代替的に、１つの物理資源が複数の仮想資源のように見えることができる。さらに、仮想資源は、それらの基盤物理資源においては利用可能でない機能または特徴を有することができる。例えば、オペレーティング・システムが、あたかもその排他的制御の下にマシン全体の資源を有するかのように振る舞うように仮想化されればよい。そのとき、実際は、仮想化層が要求クライアント・システムに対する前記サービスのプロビジョニングを透過的に制御する。仮想化プロセスは、仮想資源が適当に共用され、サポートされることを効果的に確実にする。
【０００４】
仮想マシン（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ、ＶＭ）は物理資源（すなわち、ホスト）のハードウェア内部に配置されればよい。仮想化は、ハイパーバイザー（ＩＢＭ社の登録商標）としても知られる、仮想マシン・マネージャ（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ  ｍａｎａｇｅｒ、ＶＭＭ）を用いて達成されてよい。ハイパーバイザーは通例、ホスト上の特権環境内で動作し、基盤ハードウェアと対話してその資源をいくつかのオペレーティング・システムの間で動的に共用する、ソフトウェアまたはファームウェアのコード層によって実装される。場合によって、コンピューティング・ネットワーク環境内でＶＭを１つの場所（例えば、第１のホスト）から別の場所（例えば、第２のホスト）に移行する（すなわち、移動する）ことが望ましいことがある。
【０００５】
いわゆる「ライブ」移行は、移行中のＶＭによって提供されるサービスにおけるいかなる中断もないように遂行されるのが好ましい。それ故、移行は、１つ以上のホストの間で１つ以上のＶＭを、目立ったアプリケーション・ダウン時間がないように、透過的に移動することを含めばよい。ライブ移行を達成するために、ターゲット・ホスト上にソースＶＭが複製される。ＲＡＭメモリの内容、レジスタ、エミュレートされたデバイスの状態、等を含む、ソースＶＭの状態がターゲット・ホストに転送される（ソースＶＭが動作し続けている間に）。複製ＶＭの準備ができると、ソースＶＭは一時停止され、複製が引き継ぐ。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
技術的な難関のために、ライブＶＭ移行は通例、ローカル環境に限定される。このローカル環境内において、複製ＶＭはソースＶＭと同じ物理記憶および同じ物理ネットワークにアクセスするように構成される。しかし、例えば、障害回復、クライアント・システムへのさらなる近接、またはホスティング業者の変更の目的のためにリモート環境へのＶＭの移行を必要とするアプリケーションがある。
【０００７】
リモート移行は、関連レイテンシに起因するシステム不安定性またはサービスの利用不能を生じさせてしまう場合がある。つまり、例えば、移行距離が長すぎたりまたはネットワーク帯域幅が限定されすぎていたりすると、プロビジョニング・サービスにおけるレイテンシが不適切に知覚できるようになってしまう場合がある。場合によっては、ネットワーク接続が失われることがあったり、またはホスト・システムが故障することがあったりし、サービスを完全に中断させたり、または性能を著しく劣化させたりしてしまう。
【０００８】
さらに、長距離移行シナリオでは、ＶＭは一連のより短い移行フェーズを通じて移行されればよい。より短い移行の最中におけるより低いホストの信頼性または接続性の喪失のせいで中間移行のうちの１つにおいてＶＭを失うことに関連付けられるリスクがある。例えば、ＶＭが２つのデータ・センターの間で移行されることになっていれば、信頼性が比較的より低い中間データ・センターが用いられる必要がある場合がある。このような移行計画は、追加の信頼性因子のプロビジョニングがなければ、望ましくないことに失敗のリスクを増大させてしまう。
【課題を解決するための手段】
【０００９】
要約の目的のために、いくつかの態様、利点および新しい特徴が本願明細書において記載されている。このような利点はいずれか１つの特定の実施形態によってすべて達成されなくてもよいことを理解されたい。それ故、開示されている主題は、本願明細書において教示または示唆されればよいようにすべての利点を達成せずとも１つの利点または一群の利点を最適化または達成するように具体化されるかまたは行われればよい。
【００１０】
１つの実施形態によれば、仮想マシン（ＶＭ）を移行するシステムおよび方法が提供される。本方法は、ホスティング・ファブリック内のホストについてのオーバーヘッドおよび信頼性因子を受信することと；ホスティング・ファブリック内でソースＶＭをソース・ホストからターゲット・ホストに移行するための複数の実行可能な移行パスを求めることであって、移行は一連の移行フェーズ群を通じて達成され、ただし、フェーズは移行パス内における、１つのホストから別のホストへのソースＶＭの移行を含む、求めることと；各移行パスに関連付けられる合計オーバーヘッド・コストを求めることと；オーバーヘッド・コストおよび信頼性因子に従って前記複数の移行パスの中から移行パスを選択することであって、選択されたパスにわたる移行の信頼性は監視され、ソースＶＭの１つ以上の複製を移行ファブリック内の１つ以上のホスト上に動的に割り当てることおよび割り当て解除することによって制御される、選択することと；を含む。
【００１１】
１つ以上の実施形態によれば、１つ以上の論理装置を含むシステムが提供される。１つ以上の論理装置は、上記開示されている方法に関連付けられる機能および動作を遂行するように構成される。さらに別の実施形態では、コンピュータ可読プログラムを有するコンピュータ可読記憶媒体を含むコンピュータ・プログラムが提供される。コンピュータ可読プログラムは、コンピュータ上で実行されると、上記開示されている方法に関連付けられる機能および動作をコンピュータに遂行させる。
【図面の簡単な説明】
【００１２】
【図１】１つの実施形態による、仮想化資源をサポートするコンピューティング・ネットワーク環境の例示的なブロック図である。
【図２】１つの実施形態による、より短距離の移行フェーズ群で長距離移行を実施する方法の例示的なフロー図である。
【図３】１つの実施形態による、例示的な移行シナリオを示す図である。
【図４】１つの実施形態による、例示的な移行シナリオを示す図である。
【図５】１つの実施形態による、例示的な移行シナリオを示す図である。
【図６】１つの実施形態による、例示的な移行シナリオを示す図である。
【図７】１つの実施形態による、例示的な移行シナリオを示す図である。
【図８】１つの実施形態による、例示的な移行シナリオを示す図である。
【図９】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１０】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１１】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１２】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１３】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１４】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１５】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１６】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１７】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１８】１つの実施形態による、例示的な移行シナリオを示す図である。
【図１９】１つの実施形態による、例示的な移行シナリオを示す図である。
【図２０】１つの実施形態による、最適移行パスを求める例示的な方法を示す図である。
【図２１】１つの実施形態による、最適移行パスを実行する例示的な方法を示す図である。
【図２２】１つ以上の実施形態による、開示されているシステムおよび方法が動作すればよいハードウェア環境のブロック図である。
【図２３】１つ以上の実施形態による、開示されているシステムおよび方法が動作すればよいソフトウェア環境のブロック図である。
【図２４】１つの実施形態によるクラウド・コンピューティング・ノードを示す図である。
【図２５】１つの実施形態によるクラウド・コンピューティング環境を示す図である。
【図２６】１つの実施形態による抽象化モデル層を示す図である。
【発明を実施するための形態】
【００１３】
いくつかの代替に加えて上記開示されている実施形態のうちの１つ以上が、以下において添付の図面を参照しながらさらに詳細に示される。しかし、開示されている主題は、開示されているいずれの特定の実施形態にも限定されるものではない。
【００１４】
開示されている実施形態は、以下に示されるように、添付の図面における図を参照することによってより良く理解されればよい。
【００１５】
異なる図において同じ数字によって参照されている特徴、要素および態様は、１つ以上の実施形態による、同じ、同等のまたは類似の特徴、要素または態様を表す。
【００１６】
以下に、様々な実施形態の完全な記載を提供するために特定の詳細が数多く説明されている。或る実施形態は、これらの特定の詳細を備えることなく実施されてもよいし、または細部にわたる何らかの変形を備えて実施されてもよい。場合によっては、他の態様を分かりにくくしないようにするために或る特徴はあまり詳細に記載されていない。要素または特徴の各々に関連付けられる詳細のレベルは、１つの特徴の、他のものに対する新規性または重要性を限定するように解釈されてはならない。
【００１７】
ソース・ホストからターゲット・ホストへのＶＭ移行は、移行パスまたは計画を一連のより短距離の移行フェーズに細分化することによって遂行されればよい。つまり、一連の比較的より短い移行パス（例えば、ホップ）が用いられればよく、ここで、ホップの最大長は、関係するシステムおよび資源の性質、ならびに移行中のＶＭによって処理される作業に依存する。ホップ距離は、移行プロセスがロバストなものになるよう、十分短く構成される。
【００１８】
ロバストな移行は、所定の閾値を越える、サービスの大きな中断、ならびに性能劣化および費用のかかる回復動作を生じさせる場合がある望ましくない状況を抑制するまたは回避する。移行労力を安定化させるには、いくつかの信頼性因子を考慮して移行経路が算出されればよい。移行経路は、移行されるべきソースＶＭが最初に存在する物理ホスト・コンピュータ（例えば、ソース・ホスト）において開始し、ＶＭが最終的に移行されるべきターゲット・ホストで終了する。
【００１９】
図１を参照すると、例示的なネットワーク１０が示されており、そこで、ソース・ホスト１４内のＶＭ１２がターゲット・ホスト１６に移行するよう指定されている。移行は、プロセッサ２０を有し、それぞれの移行機能およびプロセスを行うための、メモリ２２内のプログラムを実行する管理用コンピューティング・デバイス１８を用いて開始され調整されればよい。代替的に、移行は、ターゲット・ホスト１６等の、任意の適当なホストにおいて実行するＶＭＭの制御下で行われてもよい。
【００２０】
図示のように、ホスト１４はソース・ネットワーク２４に接続され、ソース記憶２８内に配置されるソース２次データ２６を用いる。ここで、ソース・ホスト１４とターゲット・ホスト１６との間には、６つの候補中間ホスト３２、３４、３６、３８、４０、４２があるが、それらのすべてが移行パス内に入らなくてもよい。図２を参照すると、移行計画は、最初のシステム（７４）を特定することによって開始する。図１において示される環境例内の最初のシステムは、ＶＭ１２、ＶＭ１２によって用いられる資源、および移行を開始するためにＶＭ１２によって必要とされる入力移行データを含めばよい。
【００２１】
１つの実施形態では、移行パスが他に例のないものかまたはすでに知られているものかどうかの判定がなされる（７６）。移行計画は、既知のパスに従って実施されればよい（７８）。移行パスが既知でなければ、入力移行データは分析され（８０）、１つ以上のホストが移行パス内の候補として用いられてよいかどうかを判定する（８２）。その結果、最善の移行パスが選択され（８４）、前記選択されたパスから移行計画が生成される（８６）。その後、移行計画は実施され（７８）、不測の事象が何もなければ完了される（８８）。
【００２２】
図１を再び参照すると、図２において開示されている移行方法が用いられればよく、それにより、（１）ソースＶＭ１２をソース・ホスト１４からホスト３２に移行し、そこで、それはＶＭ複製４４としてインストールされる、（２）ＶＭ複製４４のネットワーク接続をソース・ネットワーク２４から中間ネットワーク４６に移行する；（３）ＶＭ複製４４をホスト３２からホスト３６に移行し、かくしてＶＭ複製４８を作成する；（４）ソース２次データ２６をソース記憶２８から中間記憶５０に移行し、そこで、それは、今度は中間２次データ５２になる；（５）ＶＭ複製４４のネットワーク接続を中間ネットワーク４６から中間ネットワーク５４に移行する；および（６）ＶＭ複製４８をホスト３６からホスト３８に移行し、そこで、それは、今度はＶＭ複製５６になる。
【００２３】
移行方法はさらに利用されればよく、それにより、（７）中間２次データ５２を中間記憶５０から中間記憶５８に移行し、そこで、それは、今度は中間２次データ６０になる；（８）ＶＭ複製５６のネットワーク接続を中間ネットワーク５４から中間ネットワーク６２に移行する；（９）ＶＭ複製５６をホスト３８からホスト４０に移行し、そこで、それはＶＭ複製６４になる；（１０）ＶＭ複製６４のネットワーク接続を中間ネットワーク６２からターゲット・ネットワーク６６に移行する；（１１）ＶＭ複製６４をホスト４０からホスト４２に移行し、そこで、それはＶＭ複製６８になる；（１２）中間２次データ６０を中間記憶５８からターゲット記憶７０に移行し、そこで、それはターゲット２次データ７２になる；および（１３）ＶＭ複製６８をホスト４２からターゲット・ホスト１６に移行し、そこで、それはターゲットＶＭ３０になる。
【００２４】
ＶＭおよびその資源の移行はどんな順序で行われてもよい。ただし、接続性の問題の故に、移行のうちの２つ以上が同時に起こる可能性があり得るときがある場合がある。要約して言えば、１つの実施形態によれば、成功したライブ移行は、１つ以上の移行ホップにおいて以下のプロセスのうちの少なくとも１つを含む：（ａ）ＶＭの状態（例えば、メモリ、レジスタ等）の、ソース・ホストからターゲット・ホストへの複製；（ｂ）最初のＶＭの一時停止および複製ＶＭの起動；ならびに（ｃ）元のＶＭの破棄。
【００２５】
１つの実施形態では、上述の移行方式は、移行が進行中である間、移行環境の技術的安定性を考慮するように強化される。例えば、システムは、移行中にホストまたは接続の障害が起きる状況において所望の信頼性レベルを維持するのを助けるために、あらかじめまたはリアル・タイムのいずれかで、非常時の移行計画を１つ以上決定するように構成されればよい。１つ以上の実施形態によれば、移行計画は、移行が進む最中にシステム安定性を確保する（例えば、独立して維持されるマシン上のデータまたはホストの冗長度を提供する）ようにさらに実施されればよい。
【００２６】
移行中、選択された移行パスに沿ってソースＶＭが移動するのに従い、障害が発生した場合に或るレベルの信頼性が維持されることを確実にするために、異なるホスト上で走る、ソースＶＭの１つ以上の複製が作成されればよい。複製の数は、ソースＶＭ（すなわち、１次ＶＭ）についての目標信頼性または安定性因子、ならびにもし１次ＶＭが移行中に利用不能になれば引き継ぐように構成される複製（すなわち、２次ＶＭ）の累積可用性に依存すればよい。
【００２７】
以下においてさらに詳述されるように、移行にかかわらず、様々な理由で（例えば、ハードウェアまたは接続性の障害のせいで）１次ＶＭが利用不能になる場合がある。ＶＭがホップに沿ってソースからターゲット・ホストに移行される間、中間ホップにおけるハードウェアまたは接続性のより低い信頼性のせいで、ＶＭが利用不能になってしまうことになる恐れが高まる。それ故、移行についての環境安定性因子および信頼性目標に依存して、選択された移行パスに沿って１つ以上の複製が動的に割り当てられたりまたは割り当て解除されたりすればよい。
【００２８】
一貫性のために、複製は、任意の適当な同期方法（例えば、仮想同期またはＶＭ高可用性／フォールト・トレランス機構）を用いて１次ＶＭと同期されればよい。以下においてさらに詳述されるように、頻繁なデータ同期が遂行されればよい。なぜなら、もし１次ＶＭが障害を起こせば、複製のうちの１つが１次ＶＭとして引き継ぐよう指定されることになり、それ故、できるだけ最新のものである必要があるからである。移行プロセス中の信頼性目標を維持するまたは高めるために必要に応じて追加の複製が随意に作成されてもよい。従って、１つ以上の２次ＶＭが、１次ＶＭを複製するように構成され（すなわち、データ冗長度をサポートするように）、それにより、１次ＶＭの利用不能が起こった場合には、少なくとも該２次ＶＭが１次ＶＭのクライアントに対応し続けることができるようにすればよい。
【００２９】
実装によっては、必要に応じてまたは許容されるなら、冗長度レベルは移行パスに沿って動的に変更されてよい。例えば、以下においてさらに詳述されるように、移行パス内のホストの可用性の大きな中断等の不測の事象のせいで、万一、選択された移行計画が失敗した場合に備えて、移行のパスに沿って複製ＶＭ群が並行して移行され、システム帯域幅および資源が、追加のシステム安定性およびＶＭ信頼性を提供することを許すようにすればよい。このようにして、長距離移行における失敗のリスクが低減されればよく、ＶＭの可用性、応答性、およびデータの結束性を促進するロバストな移行エクスペリエンスを提供する。
【００３０】
１つの実施形態では、既定数の移行ホップが完了された後、またはＶＭの信頼性に影響を及ぼす外部事象が起きたとき、１次ＶＭおよびその複製の構成が再評価され、望ましい信頼性目標を満たすべく調整されればよい。望ましい信頼性目標を達成するために、以下の情報が考慮されればよい：（１）ホスティング・ファブリックの構成（例えば、ネットワーク化されたホストの可用性および資源、ネットワークの接続性および帯域幅、等）、（２）移行パスに沿ったホストに関連付けられる容量および制約、（３）移行に関与するホストおよび対応する構成要素の信頼性、（４）ソースＶＭのサービスおよび構成、（５）目標信頼性／安定性因子、ならびに（６）ターゲット・ホストの構成、距離、可用性および資源。
【００３１】
図３ないし１９を参照すると、１つの実施形態による例示的な移行シナリオを示すために、一連の辺によって接続された複数のノードを示すグラフが示されている。以下においてさらに詳述されるように、本例では、目標は、５の最小信頼性レベル（例えば、５のデータ冗長度レート）を維持しつつ、性能に関するオーバーヘッドを最小限に抑え、且つサービスの中断がほぼないように、ソースＶＭをノードＳからノードＴに移行することである。図３における凡例は、本例では、黒い正方形によって１次ＶＭが指定され、灰色の正方形によって複製ＶＭが指定されることを示す。
【００３２】
円形のノードは、選択された移行戦略に依存して、利用されてもよいしまたは利用されなくてもよい、移行ファブリック内のホスト・マシンを表す。各円形ノードの中に示される値は、それぞれのホストについて指定されたリアル・タイムの信頼性レベルである。第１のノードを第２のノードに接続する辺は、例えば、該ノードのうちの一方の上にＶＭが配置されていれば、該ＶＭは１ホップで他方のノードにうまく移行すればよいことを示す。２つのノードの間の辺に付与されている値は、ＶＭを一方のノードから他方に移行することに関連付けられるオーバーヘッドの指示である。１つの例では、オーバーヘッドは、２つのノードの間の物理的距離を反映する値であればよい―用語ノードおよびホストは、本文書では、特に別に開示されないかぎり、交換可能に用いられる。
【００３３】
図３ないし６を参照すると、＜Ｓ，Ｓ＞［５，０］は、移行中のＶＭの複製が２つあり、どちらもホストＳ上に存在する構成または状態を表す。より一般的に言えば、表記＜Ｘ１，…，Ｘｎ＞［ｒ，ｓ］は、移行中のＶＭの＜ｎ＞個のコピー（すなわち、１つは１次ＶＭコピーであり、残りは２次ＶＭ複製である）が、それに対応してホストＸ１からＸｎまでの上にある（繰り返しを含むことがあり得よう）構成または状態を表す。表記＜ｒ＞および＜ｓ＞は、＜ｎ＞個の複製すべての合計信頼性、およびそれに対応して、それらを同期状態に保つことの合計コストである。
【００３４】
複製の各々は他の複製とは独立に移行されていることに留意されたい。以下においてさらに詳述されるように、＜Ｓ，Ｓ＞［５，０］から＜Ｓ，Ｂ＞［８，１］への遷移は、複製のうちの１つはＳ上に残り、第２のものはＳからＢに移行したことを意味する。その結果、２つの複製が、１つはＳに、１つはＢにあり、５から８に増加した合計信頼性を有し、同時に、今や各々は異なるホスト上にあり、対応する辺上の同期コストが１であるため、それらを同期状態に保つ合計コストも０から１に増加した構成が達成された。
【００３５】
上述の方法論に基づき且つ、移行ファブリック内のホストについてのコストおよび信頼性のデータを入手することで、１つ以上の移行計画またはパスが求められればよい。ここで、各移行ホップにおける各パスについてのコストおよび信頼性レベルはあらかじめ算出されればよい。図２０を参照すると、定義された信頼性制約に従って最適移行パスを求める（すなわち、算出する）例示的な方法が示されている。図２１は、以下においてさらに詳述されるとおりの１つの実施形態による、算出された移行計画を実行する例示的な方法を示す。
【００３６】
移行ファブリック内のホストについての構成、能力および他の移行関連因子（例えば、信頼性、移行コスト、オーバーヘッド、等）を求めるために、例えば、移行計画立案システムが利用され、移行ファブリックを横断すればよい。前記情報の一部またはすべては、例えば、外部から他の方法で移行計画立案システムに提供されてもよい。図２０を参照すると、前記情報を用いて、ファブリック内のホスト（例えば、ノードの対）に関連付けられるオーバーヘッドおよび信頼性因子が求められればよい（Ｓ２１０）。
【００３７】
１つの実装では、移行計画立案システムは前記情報を用いて、ソース・ノードからターゲット・ノードへのソースＶＭの移行をサポートする、移行ファブリック内のあり得る実行可能な移行パスを求める（Ｓ２２０）。その結果、１つ以上の移行パス候補が発見されればよい。移行パス候補は調査され、そのパスを介してＶＭを移行することに関連付けられる合計コストを求める（Ｓ２３０）。移行パスが、他の発見されたパス候補よりも低コストであると判定されれば（Ｓ２４０）、選択されたパスを通じた移行が、ＶＭについて指定された信頼性制約を満足する限り、そのパスが最適移行パスとして選択される（Ｓ２５０）。さもなければ、移行計画立案システムは、適当な移行パスが見つからなかったことを示す出力を生成することになり、初めから再スタートする、追加の情報を要求する、または停止する（Ｓ２６０）。
【００３８】
指定された移行因子をすべてが同等に満足する１つ以上の移行パスが発見される場合には、その中の１つがランダムに選択されてもよいし、または他の因子が検討されて、どれがいちばん最適なパスとなろうかを判定してもよい。例えば、実施形態によっては、純粋な移行オーバーヘッドまたは信頼性制約以外の因子に基づく最適移行パスとして選択パスが選ばれればよい。他の因子としては、例えば、或る移行パスに沿ったネットワーク帯域幅（例えば、より高速な移行を可能にする）、あるいは全体として移行の成功、失敗または安定性に影響を及ぼす可能性のある他の因子が挙げられてよい。
【００３９】
図２１を参照すると、最適移行パスまたは計画が選択されると、例えば、移行実行システムが利用され、選択された移行パスに沿ってソースＶＭ（すなわち、１次ＶＭ）を１つのノードから次に移行すればよい（Ｓ３１０）。かくして、移行は、外部事象が起きるまで選択されたパスに沿って続く（Ｓ３２０）。それに応じて、移行実行システムは、移行のステータスを評価し、および場合によっては、移行パスの残りに沿ったホストの実行可能性を評価し（Ｓ３３０）、選択された移行計画が依然として実行可能であるかどうかを判定すればよい（Ｓ３４０）。もしそうであれば、移行は、１次ＶＭがターゲット・ソースに無事に移行されるまで続く（Ｓ３１０）。
【００４０】
事象の性質が、移行の中断を招く（例えば、移行パス内の１つ以上のノードの間の接続が失われる）、またはさもなければ、提供されるサービスの中断を生じさせる（例えば、１次ＶＭが実行していたホストが障害を起こす）ようなものであれば、代替の移行パスが決定されればよい。実装によっては、上記開示されたように、可能な候補として以前に求められた移行パスのセットから代替の移行パスが選ばれればよい。代替的に、移行が開始してから後にファブリック環境が変化している場合には、ファブリックを再度横断し、新しい最適移行パスまたは他の実行可能な候補を求めてそれらの妥当性を確認することが望ましい場合がある。
【００４１】
図３ないし１９を再び参照すると、ソースＶＭがソース・ホストＳからターゲット・ホストＴに移行されることになっている例示的なシナリオが示されている。先に示された移行計画立案および実行方法に従い、ノードＳ、Ｂ、ＤおよびＴを通る移行パスが最適移行パスであると判定されればよい。図示のように、選ばれたパスは、３の累積オーバーヘッドを有し、５の最小信頼性因子を満足する。図６を参照すると、１つの実施形態では、ホストＳ上に複製ＶＭ（例えば、灰色のボックスとして図示）が作成されればよい。ソースＶＭは、中に数５を有する黒のボックスとして示されている―数５は、ＶＭがＳ上でホストされるときの信頼性因子を指定している。
【００４２】
図７を参照すると、ソースＶＭは選択されたパスに沿ってＳからＢに移行する。ＶＭがホストＢ上に来ると、累積信頼性レベルは５＋３＝８になる。なぜなら、ホストＢにある１次ＶＭは３の信頼性因子を有し、ホストＳにある複製ＶＭは追加の５の信頼性因子を与えるからである。図８に示されるように、１次ＶＭは選択された移行パス内の次のホスト、ノードＤ、に移行する。１次ＶＭについての累積信頼性因子は、今度は２＋５＝７になる。先に示されたように、１つの実施形態では、移行中のＶＭの累積信頼性因子は、１次ＶＭが存在するホストの信頼性因子に、２次ＶＭ（単数または複数）が存在するホストの累積信頼性因子を加えたものに等しい。
【００４３】
図９は、２次ＶＭがホストＳからホストＢに移行する例示的なシナリオを示す。２次ＶＭの、１次ＶＭにより近づく移行は、万一、１次ＶＭを２次ＶＭで置き換えることが必要となった場合に、このような置換に関連づけられるオーバーヘッドを低減するのを助ける。さらに、１次ＶＭと２次ＶＭ（単数または複数）との間がより近接していることは、移行中に１次ＶＭが変化することに備えて２次ＶＭを最新状態に保つために必要とされればよい同期オーバーヘッドに関連付けられるコストを低減する。
【００４４】
図１０は、１つの実施形態による、１次ＶＭが動作していたホストＤが障害を起こし、その結果、ホストＢ上にある２次ＶＭが引き継ぐシナリオの図である。このシナリオでは、引き継ぎが実施された後（すなわち、ノードＢ上のＶＭが１次ＶＭの役目を負うとき）、１次ＶＭの信頼性因子は３であり、５の例示的な望ましい閾値未満であることは注目に値する。図１１ないし１４を参照すると、移行プロセスを継続するために、ノードＢ、Ｃ、Ｅ、ＦおよびＴを含むパスに沿った代替の移行パスが決定される。信頼性因子の問題は、ホストＢ上に２次ＶＭを作成し、１次ＶＭをホストＣに移動することにより是正されることに留意されたい。
【００４５】
２次ＶＭは、ホストＢ以外のいずれのホスト上に作成されてもよいことは注目に値する。しかし、効率の目的のためには、ホストＣ上でのＶＭの作成がより適切であればよい（例えば、コピー・オン・ライト・プロセスが利用されて、ホストＢ上のソースＶＭの即時コピーを作成すればよい）。図１５ないし１７を参照すると、１次ＶＭおよび２次ＶＭは、移行の新しい計画に従ってそれぞれホストＦおよびＣに引き続き移行すればよい。図１７に示される累積信頼性因子は２＋５＝７であり、ホストＦは、この移行のために指定された最小信頼性因子５に等しい信頼性因子（すなわち、５）を有することに留意されたい。
【００４６】
１つの実施形態では、移行の各ホップまたは段階における信頼性因子は見直されればよい。すると、例えば、１次ＶＭが存在するホストの信頼性因子が、指定された最小信頼性因子に等しいかそれよりも大きければ、２次ＶＭ（単数または複数）は、他の目的のために必要でなければ、削除または破棄されてよい。ここで開示されている例示的なシナリオでは、図１８は、ホストＣ上に配置されていた２次コピーが削除される例を示す。このような操作は、２次ＶＭ（単数または複数）を維持することに関連付けられるオーバーヘッド・コストを低減すること、および同様に２次ＶＭ（単数または複数）と１次ＶＭとの間のデータの同期に関連付けられるコストをなくすまたは低減することを助ければよい。
【００４７】
図１９はホストＦからホストＴへの最後の移行ホップを示し、ここで、最後の信頼性レベルは６である。移行プロセス中のホストＤの障害のせいで、ホストＳからホストＴへの成功した移行に関連付けられる合計オーバーヘッドは、ノードＳ、Ｂ、ＤおよびＴに沿った最初に選択された移行パスに関連付けられる最初に算出された３のコストの代わりに、８となる（すなわち、２次移行パスはノードＳ、Ｂ、Ｄ、Ｂ、Ｃ、Ｅ、Ｆ、Ｔに沿っており、１＋１＋１＋１＋１＋１＋２＝８）ことに留意されたい。それでも、ソース・ホストからターゲット・ホストへの完全な移行が、より高いコストではあるが、最小信頼性レベルを満たしつつ無事に達成される。
【００４８】
本開示において、コストおよび信頼性という用語ならびに同等の術語は、ＶＭの移行が計画されるネットワーク・ファブリックのインフラストラクチャに依存するいくつかの因子に関連付けられる、動的に変化する値を定義するために用いられている。例えば、制限なく、用語‘コスト’は以下のもののうちの１つ以上またはそれらの組み合わせに言及すればよい：ＶＭを１つのノードから次のノードに、または１つのノードからターゲット・ノードに移行するコスト、選択された移行パスにおける移行のコスト、障害が起きた場合の回復（例えば、１次ＶＭを置き換えること）のコスト、ならびに２次ＶＭの同期または維持のコスト。
【００４９】
用語‘信頼性’は、制限なく、安定性のレベルを理解および定義するために用いられればよい因子、あるいは選択された移行パスの全体的な信頼性、等に言及すればよい安定性のレベルとは、例えば、ＶＭの複数の複製を作成すること、または、１次ＶＭおよび複製ＶＭの間の同期の頻度、または、移行をサポートするホスト同士の間の距離および接続性ダイナミックス、または１つ以上のＶＭのためのホスト・マシンの異なるハードウェアもしくはソフトウェア構成要素に関連付けられる信頼性のレベルを求めること、により達成されればよい。
【００５０】
異なる実施形態では、クレームされている主題は、ハードウェアおよびソフトウェア両方の要素の組み合わせとして実装されてもよいし、あるいは代替的に、完全にハードウェアの形態または完全にソフトウェアの形態のいずれかで実装されてもよい。さらに、本願明細書において開示されるコンピューティング・システムおよびプログラム・ソフトウェアは、ハードウェア構成要素、あるいは本願明細書において考えられている結果を達成する方法およびプロセスを遂行するために実行される論理コードを単位として提示されればよい、制御されたコンピューティング環境を含んでよい。前記方法およびプロセスは、汎用コンピューティング・システムまたはマシンによって遂行されると、汎用マシンを特定の目的のマシンに転換する。
【００５１】
図２２および２３を参照すると、例示的な実施形態によるコンピューティング・システム環境はハードウェア環境１１１０およびソフトウェア環境１１２０で構成されればよい。ハードウェア環境１１１０は、ソフトウェア環境１１２０の構成要素のための実行環境を提供する論理装置、回路あるいは他の装置類および機器を含めばよい。次に、ソフトウェア環境１１２０は、基本的な動作設定および構成を含む実行命令をハードウェア環境１１１０の様々な構成要素に提供すればよい。
【００５２】
図２２を参照すると、本願明細書において開示されるアプリケーション・ソフトウェアおよび論理コードは、例示的なハードウェア環境１１１０によって代表される１つ以上のコンピューティング・システム上にわたって実行されるコンピュータ可読コードの形態で実装されればよい。図示のように、ハードウェア環境１１１０は、システム・バス１１００により１つ以上の記憶要素に結合されるプロセッサ１１０１を含めばよい。記憶要素は、例えば、ローカル・メモリ１１０２、記憶媒体１１０６、キャッシュ・メモリ１１０４あるいは他のコンピュータ可用またはコンピュータ可読媒体を含んでよい。本開示の文脈において、コンピュータ可用またはコンピュータ可読記憶媒体とは、プログラム・コードを包含、記憶、伝達、伝搬または輸送するために利用されればよい任意の記録可能物を含めばよい。
【００５３】
コンピュータ可読記憶媒体は、電子的、磁気的、光学的、電磁的、赤外線または半導体媒体、システム、機器または装置であればよい。コンピュータ可読記憶媒体は、このような実装が法定主題と見なされる程度まで、制限なく、伝搬媒体の形で実装されてもよい。コンピュータ可読記憶媒体の例としては、半導体または固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、リード・オンリー・メモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、リジッド磁気ディスク、光ディスク、または適切な場合には、搬送波が挙げられればよい。光ディスクの現在の例としては、コンパクト・ディスク・リード・オンリー・メモリ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、ＣＤ−ＲＯＭ）、コンパクト・ディスク・リード／ライト（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ／ｗｒｉｔｅ、ＣＤ−Ｒ／Ｗ）、デジタル・ビデオ・ディスク（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｋ、ＤＶＤ）、高精細度ビデオ・ディスク（ｈｉｇｈ  ｄｅｆｉｎｉｔｉｏｎ  ｖｉｄｅｏ  ｄｉｓｋ、ＨＤ−ＤＶＤ）またはブルー・レイ（商標）・ディスクが挙げられる。
【００５４】
１つの実施形態では、プロセッサ１１０１は実行可能コードを記憶媒体１１０６からローカル・メモリ１１０２にロードする。キャッシュ・メモリ１１０４は、コードが実行のためにロードされる回数を低減することを助ける一時記憶を提供することによって処理時間を最適化する。１つ以上のユーザ・インターフェース・デバイス１１０５（例えば、キーボード、ポインティング・デバイス、等）およびディスプレイ画面１１０７は、ハードウェア環境１１１０内の他の要素に、直接または例えば介在Ｉ／Ｏコントローラ１１０３を通じるかのいずれかによって結合されればよい。ネットワーク・アダプタ等の通信インターフェース・ユニット１１０８は、ハードウェア環境１１１０が、私設または公衆の介在ネットワーク（例えば、インターネット）を介してローカルのまたは遠隔配置されたコンピューティング・システム、プリンタおよび記憶デバイスと通信することを可能にするために提供されればよい。有線または無線モデムおよびイーサネット（Ｒ）・カードが、ネットワーク・アダプタの例示的な種類の数例である。
【００５５】
或る実装では、ハードウェア環境１１１０は、上述の構成要素の一部またはすべてを含まなくてもよいし、あるいは補足的な機能性または効用を提供するために追加の構成要素を含んでもよいことは注目に値する。考えられている用途および構成に応じて、ハードウェア環境１１１０は、デスクトップもしくはラップトップ・コンピュータ、あるいはセット・トップ・ボックス、パーソナル・デジタル・アシスタント（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ、ＰＤＡ）、パーソナル・メディア・プレイヤー、移動通信ユニット（例えば、無線電話）、または情報処理もしくはデータ記憶能力を有する他の同様のハードウェア・プラットフォーム等の組み込みシステムで任意に具体化される他のコンピューティング・デバイスであればよい。
【００５６】
実施形態によっては、通信インターフェース１１０８は、プログラム・コードを含む様々な種類の情報を表すアナログまたはデジタル・データ・ストリームを搬送するデジタル、電気、電磁または光信号を送受信することによって１つ以上のコンピューティング・システムとの通信の手段を提供するデータ通信ポートの役割を果たす。通信は、ローカルまたはリモート・ネットワークにより、あるいは代替的に、搬送波を通じた伝搬を含む、ただしそれに限定されるものではない、空中または他の媒体を通じた伝達により確立されればよい。
【００５７】
ここで示されるように、図示のハードウェア要素上で実行される、開示されているソフトウェア要素は、本質的に例示的なものである論理的または機能的関係に従って定義されている。しかし、前記例示的なソフトウェア要素により実装されるそれぞれの方法は、例えば、構成およびプログラムされたプロセッサ、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）およびデジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ、ＤＳＰ）により、前記ハードウェア要素内にエンコードされてもよいことに留意されたい。
【００５８】
図２３を参照すると、ソフトウェア環境１１２０は、１つ以上のハードウェア環境１１１０上で実行されるものとしてシステム・ソフトウェア１１２１およびアプリケーション・ソフトウェア１１２２を含む２つの種別に大まかに分けられればよい。１つの実施形態では、ここで開示されている方法およびプロセスは、システム・ソフトウェア１１２１、アプリケーション・ソフトウェア１１２２、またはその組み合わせとして実装されればよい。システム・ソフトウェア１１２１は、ハードウェア環境１１１０内の１つ以上のプロセッサ１１０１（例えば、マイクロコントローラ）に、どのように機能し情報を処理するかについて命令する、オペレーティング・システム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ、ＯＳ）または情報管理システム等の制御プログラムを含めばよい。アプリケーション・ソフトウェア１１２２は、プログラム・コード、データ構造、ファームウェア、常駐ソフトウェア、マイクロコード、あるいはプロセッサ１１０１によって読み込まれる、分析されるまたは実行される任意の他の形態の情報またはルーチンを含めばよい。ただし、それらに限定されるものではない。
【００５９】
換言すると、アプリケーション・ソフトウェア１１２２は、コンピュータまたは任意の命令実行システムによって利用される、またはそれらと連携して利用されるプログラム・コードを提供するコンピュータ可用またはコンピュータ可読記憶媒体の形態でコンピュータ・プログラム内に組み込まれるプログラム・コードとして実装されればよい。さらに、アプリケーション・ソフトウェア１１２２は、記憶媒体１１０６からローカル・メモリ１１０２にロードされた後にシステム・ソフトウェア１１２１に加えて実行される１つ以上のコンピュータ・プログラムを含んでもよい。クライアント−サーバ・アーキテクチャにおいて、アプリケーション・ソフトウェア１１２２はクライアント・ソフトウェアおよびサーバ・ソフトウェアを含んでよい。例えば、１つの実施形態では、クライアント・ソフトウェアは、サーバ・ソフトウェアが実行されるサーバ・コンピューティング・システムとは別個で分離可能であるクライアント・コンピューティング・システム上で実行されればよい。
【００６０】
ソフトウェア環境１１２０は、ローカルまたはリモート・コンピューティング・ネットワークを通じて利用可能なデータにアクセスするためのブラウザ・ソフトウェア１１２６も含んでよい。さらに、ソフトウェア環境１１２０は、ユーザ・コマンドおよびデータを受信するためのユーザ・インターフェース１１２４（例えば、グラフィカル・ユーザ・インターフェース（ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ、ＧＵＩ））を含んでもよい。上述のハードウェアおよびソフトウェア・アーキテクチャおよび環境は例示の目的のためのものであることは繰り返して言うに値する。それ故、１つ以上の実施形態は、任意の種類のシステム・アーキテクチャ、機能的または論理プラットフォームあるいは処理環境の上に実装されてよい。
【００６１】
論理コード、プログラム、モジュール、プロセス、方法、および各方法のそれぞれのプロセスが遂行される順序は純粋に例示的なものであることも理解されたい。実装によっては、プロセスあるいは任意の基盤サブ・プロセスおよび方法は、本開示において特に別に示されない限り、任意の順序でまたは同時に遂行されてよい。さらに、特に特定性をもって提示されない限り、本開示の文脈の中での論理コードの定義はいかなる特定のプログラミング言語にも関連しないまたは限定されず、分散型、非分散型、単一または多重処理環境内の１つ以上のプロセッサ上で実行されればよい１つ以上のモジュールを含んでよい。
【００６２】
当業者によって理解されるように、ソフトウェアの実施形態はファームウェア、常駐ソフトウェア、マイクロコード等を含めばよい。ソフトウェアまたはハードウェアを含むあるいはソフトウェアおよびハードウェアの態様を組み合わせた或る構成要素は本願明細書において広く「回路」、「モジュール」または「システム」と呼ばれる。さらに、開示されている主題は、１つ以上のコンピュータ可読媒体（単数または複数）であって、その上に具体化されるコンピュータ可読プログラム・コードを有する、コンピュータ可読記憶媒体内に具体化されるコンピュータ・プログラムとして実装されてもよい。１つ以上のコンピュータ可読媒体（単数または複数）の任意の組み合わせが利用されてよい。コンピュータ可読媒体はコンピュータ可読信号媒体またはコンピュータ可読記憶媒体であればよい。コンピュータ可読記憶媒体は、例えば、電子的、磁気的、光学的、電磁的、赤外線または半導体システム、装置またはデバイス、あるいは上述のものの任意の適当な組み合わせであればよい。ただし、それらに限定されるものではない。
【００６３】
本文書の文脈において、コンピュータ可読記憶媒体とは、命令実行システム、装置またはデバイスによって用いられるまたはそれらと連係して用いられるプログラムを包含または記憶することができる任意の有形媒体であればよい。コンピュータ可読信号媒体とは、例えば、基底帯域内にまたは搬送波の一部として、内部にコンピュータ可読プログラム・コードが具体化される伝搬データ信号を含むものであればよい。このような伝搬信号は、電磁気的、光学的、またはそれらの任意の適当な組み合わせを含む、ただしそれらに限定されるものではない、様々な形態のいずれを取ってもよい。コンピュータ可読信号媒体とは、コンピュータ可読記憶媒体ではない、命令実行システム、装置またはデバイスによって用いられるまたはそれらと連係して用いられるプログラムを伝達、伝搬または輸送することができる任意のコンピュータ可読媒体であればよい。
【００６４】
コンピュータ可読媒体上に具体化されるプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦ等、または上述のものの任意の適当な組み合わせを含む、ただしそれらに限定されるものではない、任意の適切な媒体を用いて送信されればよい。開示されている作業を行うためのコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋または同様のもの等のオブジェクト指向プログラミング言語、ならびに「Ｃ」プログラミング言語または同様のプログラミング言語等の従来の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書き込まれればよい。
【００６５】
プログラム・コードは、スタンド・アロン・ソフトウェア・パッケージとして完全にまたは一部分はユーザのコンピュータ上で実行するか、一部分はユーザのコンピュータ上で且つ一部分はリモート・コンピュータ上で実行するか、または完全にリモート・コンピュータもしくはサーバ上で実行すればよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＬＡＮ）またはワイド・エリア・ネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＷＡＮ）を含む、任意の種類のネットワークを通じてユーザのコンピュータに接続されてもよいし、あるいは接続は、（例えば、インターネット・サービス・プロバイダを利用しインターネットを通じて）外部のコンピュータになされてもよい。
【００６６】
或る実施形態が、実施形態による方法、装置（システム）およびコンピュータ・プログラムのフローチャート図もしくはブロック図またはその両方を参照しながら開示されている。フローチャート図もしくはブロック図またはその両方の各ブロック、ならびにフローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実装されることができることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出せばよく、それにより、命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行し、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群において特定される機能群／動作群を実装する手段を生み出す。
【００６７】
これらのコンピュータ・プログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置または他のデバイスを特定の様式で機能するように仕向けることができるコンピュータ可読媒体内に記憶されてもよく、それにより、コンピュータ可読媒体内に記憶された命令は、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群において特定される機能／動作を実装する命令を含む製造品を作り出す。
【００６８】
コンピュータ・プログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置または他のデバイス上にロードされ、一連の作業ステップをコンピュータ、他のプログラム可能な装置または他のデバイス上で遂行させ、コンピュータ実装プロセスを作り出してもよく、それにより、コンピュータまたは他のプログラム可能な装置上で実行する命令は、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群において特定される機能群／動作群を実装するためのプロセス群を提供する。
【００６９】
図中のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法およびコンピュータ・プログラムのあり得る実装のアーキテクチャ、機能性、および動作を示す。これに関連して、フローチャートまたはブロック図の各ブロックは、特定の論理機能（単数または複数）を実装するための１つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表せばよい。代替の実装によっては、ブロック内に記された機能は、図に記された順序を外れて行われてよいことにも留意されたい。
【００７０】
例えば、連続して示されている２つのブロックが、実際は、実質的に同時に実行されてもよいし、またはブロックは、関係する機能性に依存して、時には逆順序で実行されてもよい。ブロック図もしくはフローチャート図またはその両方の各ブロック、ならびにブロック図もしくはフローチャート図またはその両方におけるブロックの組み合わせは、特定の機能または動作を遂行する専用ハードウェア・ベースのシステム、あるいは専用ハードウェアおよびコンピュータ命令の組み合わせによって実装されることができることにも留意されたい。
【００７１】
クラウド・コンピューティングとは、最小限の管理労力またはサービスのプロバイダとの最小限の対話をもって迅速にプロビジョニングされ解放されればよい、構成可能なコンピューティング資源（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶、アプリケーション、仮想マシン、およびサービス）の共用プールへの簡便なオン・デマンド・ネットワーク・アクセスを可能にするためのサービス・デリバリのモデルである。このクラウド・モデルは少なくとも５つの特性、少なくとも３つのサービス・モデル、および少なくとも４つの配置モデルを含めばよい。
【００７２】
オン・デマンド・セルフ・サービスを用いて、クラウド消費者がサーバ・タイムおよびネットワーク記憶等のコンピューティング能力を一方的に、必要な場合にはサービスのプロバイダとの人的対話を要することなく自動的に、プロビジョニングすればよい。広域なネットワーク・アクセス能力がネットワーク全体にわたって利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、およびＰＤＡ）による利用を促進する標準機構を通じてアクセスされればよい。
【００７３】
資源のプーリングにより、プロバイダのコンピューティング資源がプールされ、マルチ・テナント・モデルを用いて、異なる物理資源および仮想資源が需要に従って動的に割り振りおよび再割り振りされながら、複数の消費者に対応することが可能になる。消費者は一般的に、提供される資源の正確な場所を制御することおよび知ることはないが、より高いレベルの抽象化における場所（例えば、国、州、またはデータセンター）を指定することはできる場合があるという点で、一種の場所独立性がある。
【００７４】
迅速な弾力性能力は、迅速且つ弾力的に、場合によっては自動的に、プロビジョニングされ速やかにスケール・アウトし且つ、迅速に解放され速やかにスケール・インすればよいというものである。消費者にとって、プロビジョニングのために利用可能な能力は大抵、無制限であるように見え、いつでもいかなる量で購入されてもよい。従量に基づくサービスにより、クラウド・システムは、サービスの種類（例えば、記憶、処理、帯域幅、および有効なユーザ・アカウント）に適した何らかの抽象化レベルでの計量能力を活用することによって資源の利用を自動的に制御し最適化することができる。資源の利用量が監視、制御および報告され、利用されているサービスのプロバイダおよび消費者の両者に透明性を提供すればよい。
【００７５】
実装に応じて、いくつかのサービス・モデルが利用可能である。サービスとしてのソフトウェア（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、ＳａａＳ）は、クラウド・インフラストラクチャ上で走るプロバイダのアプリケーションを用いる能力を提供する。アプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースのｅメール）等のシン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。消費者は、限定ユーザ専用のアプリケーション構成設定の可能性を除いて、ネットワーク、サーバ、オペレーティング・システム、記憶、またはさらには個々のアプリケーション能力を含む基盤クラウド・インフラストラクチャを管理または制御しない。
【００７６】
サービスとしてのプラットフォーム（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、ＰａａＳ）は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された消費者作成または取得アプリケーションをクラウド・インフラストラクチャ上に配置する能力を提供する。消費者は、ネットワーク、サーバ、オペレーティング・システムまたは記憶を含む基盤クラウド・インフラストラクチャを管理または制御しないが、配置されたアプリケーション、および場合によってはアプリケーション・ホスティング環境構成を制御する。
【００７７】
サービスとしてのインフラストラクチャ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、ＩａａＳ）は、オペレーティング・システムおよびアプリケーションを含んでよい任意のソフトウェアを消費者が配置し走らせることができる、処理、記憶、ネットワークおよび他の基本的なコンピューティング資源をプロビジョニングする能力を提供する。消費者は基盤クラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、記憶、配置されたアプリケーション、および場合によっては選択ネットワーキング構成要素（例えば、ホスト・ファイヤウォール）の限定的制御を制御する。
【００７８】
いくつかの配置モデルが提供されてよい。プライベート・クラウドは、組織体のためだけに運用されるクラウド・インフラストラクチャを提供する。それは当該組織体または第三者によって管理されればよく、オンプレミスで存在してもよいしまたはオフプレミスで存在してもよい。コミュニティ・クラウドは、いくつかの組織体によって共用され、共有関心事（例えば、任務、セキュリティ要件、政策、およびコンプライアンスの配慮）を持つ特定の集団を支援するクラウド・インフラストラクチャを提供する。それは当該組織体または第三者によって管理されればよく、オンプレミスで存在してもよいしまたはオフプレミスで存在してもよい。
【００７９】
パブリック・クラウドは、一般公衆または大きな業界団体に対して利用可能とされ、クラウド・サービスを販売する組織体によって所有されるクラウド・インフラストラクチャを提供すればよい。ハイブリッド・クラウドは、固有の実体のままであるが、データおよびアプリケーションの可搬性を可能にする標準化または独自技術（例えば、クラウド同士の間の負荷バランシングのためのクラウド・バースティング）によって結び付けられる２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の複合であるクラウド・インフラストラクチャを提供する。
【００８０】
クラウド・コンピューティング環境は、ステートレス性、疎結合、モジュール性および意味論的相互運用性に重点を置いたサービス指向型のものである。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。次に図２４を参照すると、クラウド・コンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード２０１０は適当なクラウド・コンピューティング・ノードの１つの例であって、本願明細書において記載されている実施形態の利用または機能性の範囲についていかなる限定を示唆することも意図されていない。どのようなものであれ、クラウド・コンピューティング・ノード２０１０は、本願明細書において上述されている機能性のいずれを実装されることもできるもしくは遂行することができるまたはそのどちらも可能なものである。
【００８１】
クラウド・コンピューティング・ノード２０１０には、コンピュータ・システム／サーバ２０１２があり、該コンピュータ・システム／サーバ２０１２は数多くの他の汎用または専用コンピューティング・システム環境または構成とともに動作可能である。コンピュータ・システム／サーバ２０１２とともに使用するために適していればよい周知のコンピューティング・システム、環境もしくは構成またはそれらの組み合わせの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンド・ヘルドもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能な消費者家電製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムもしくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境、ならびに同様のものが挙げられる。ただし、それらに限定されるものではない。
【００８２】
コンピュータ・システム／サーバ２０１２は、コンピュータ・システムによって実行されている、プログラム・モジュール等の、コンピュータ・システム実行可能命令の一般的な文脈において記載されればよい。一般的に、プログラム・モジュールは、特定のタスクを遂行するまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、論理、データ構造、等を含めばよい。コンピュータ・システム／サーバ２０１２は、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが遂行される分散型クラウド・コンピューティング環境内で実施されればよい。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ記憶デバイスを含むローカルおよびリモートいずれのコンピュータ・システム記憶媒体内に配置されてもよい。
【００８３】
図２４に示されるように、クラウド・コンピューティング・ノード２０１０内のコンピュータ・システム／サーバ２０１２は汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム／サーバ２０１２の構成要素は、１つ以上のプロセッサまたは処理装置２０１６、システム・メモリ２０２８、ならびにシステム・メモリ２０２８を含む様々なシステム構成要素を処理装置２０１６に結合するバス２０１８を含めばよい。ただし、それらに限定されるものではない。
【００８４】
バス２０１８は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、ならびに様々なバス・アーキテクチャのいずれかを用いるプロセッサまたはローカル・バスを含む、いくつかの種類のバス構造のいずれかのうちの１つ以上を表す。例として、ただし限定ではなく、このようなアーキテクチャとして、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＩＳＡ）・バス、マイクロ・チャネル・アーキテクチャ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＭＣＡ）・バス、拡張ＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ、ＥＩＳＡ）・バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ、ＶＥＳＡ（Ｒ））・ローカル・バス、および周辺機器相互接続（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ、ＰＣＩ）バスが挙げられる。
【００８５】
コンピュータ・システム／サーバ２０１２は通例、様々なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ２０１２によってアクセス可能である任意の利用可能媒体であればよく、それは揮発性媒体および不揮発性媒体のどちらも、取り外し可能媒体および非取り外し可能媒体のどちらも含む。システム・メモリ２０２８は、ランダム・アクセス・メモリ（ＲＡＭ）２０３０もしくはキャッシュ・メモリ２０３２またはその両方等の、揮発性メモリの形態のコンピュータ・システム可読媒体を含めばよい。
【００８６】
コンピュータ・システム／サーバ２０１２は他の取り外し可能／非取り外し可能、揮発性／不揮発性コンピュータ・システム記憶媒体をさらに含んでよい。例として、非取り外し可能な不揮発性磁気媒体（図示しないが通例、「ハード・ドライブ」と呼ばれる）に対して読み出しおよび書き込みするための記憶システム２０３４が提供されればよい。図示はされていないが、取り外し可能な不揮発性磁気ディスク（例えば、「フレキシブル・ディスク」）に対して読み出しおよび書き込みするための磁気ディスク・ドライブ、ならびにＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたは他の光媒体等の取り外し可能な不揮発性光ディスクに対して読み出しまたは書き込みするための光ディスク・ドライブが提供されてもよい。
【００８７】
例によっては、上記の構成要素は１つ以上のデータ媒体インターフェースによってバス２０１８に接続されればよい。以下においてさらに図示され記載されるように、メモリ２０２８は、１つ以上の実施形態の機能を行うように構成されるプログラム・モジュールのセット（例えば、少なくとも１つ）を有するプログラムを少なくとも１つ含めばよい。
【００８８】
オペレーティング・システム、１つ以上のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも同様に、例として、ただし限定ではなく、プログラム・モジュール２０４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ２０４０がメモリ２０２８内に記憶されればよい。オペレーティング・システム、１つ以上のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データの各々、あるいはそれらの何らかの組み合わせは、ネットワーキング環境の実装を含めばよい。プログラム・モジュール２０４２は通常、１つ以上の実施形態の機能もしくは方法論またはその両方を行う。
【００８９】
コンピュータ・システム／サーバ２０１２は、キーボード、ポインティング・デバイス、ディスプレイ２０２４など等の１つ以上の外部デバイス２０１４；ユーザがコンピュータ・システム／サーバ２０１２と対話することを可能にする１つ以上のデバイス；もしくはコンピュータ・システム／サーバ２０１２が１つ以上の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（例えば、ネットワーク・カード、モデム等）；またはそれらの組み合わせと通信してもよい。このような通信はＩ／Ｏインターフェース２０２２を介して行われればよい。さらになお、コンピュータ・システム／サーバ２０１２は、ネットワーク・アダプタ２０２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、一般のワイド・エリア・ネットワーク（ＷＡＮ）、もしくはパブリック・ネットワーク（例えば、インターネット）、またはそれらの組み合わせ等の１つ以上のネットワークと通信すればよい。
【００９０】
図示のように、ネットワーク・アダプタ２０２０はバス２０１８を介してコンピュータ・システム／サーバ２０１２の他の構成要素と通信する。図示はされていないが、コンピュータ・システム／サーバ２０１２と連動して他のハードウェアもしくはソフトウェア構成要素またはその両方が用いられることができようことを理解されたい。例として：マイクロコード、デバイス・ドライバ、余分の処理装置、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ記憶システム等が挙げられる。ただし、それらに限定されるものではない。
【００９１】
次に図２５を参照すると、例示的なクラウド・コンピューティング環境２０５０が示されている。図示のように、クラウド・コンピューティング環境２０５０は、例えば、パーソナル・デジタル・アシスタント（ＰＤＡ）もしくはセルラー電話２０５４Ａ、デスクトップ・コンピュータ２０５４Ｂ、ラップトップ・コンピュータ２０５４Ｃ、または自動車コンピュータ・システム２０５４Ｎ、あるいはそれらの組み合わせ等の、クラウド消費者によって用いられるローカル・コンピューティング・デバイスが通信すればよい１つ以上のクラウド・コンピューティング・ノード２０１０を含む。
【００９２】
ノード２０１０は互いに通信し合えばよい。それらは、本願明細書において上述されたとおりのプライベート、コミュニティ、パブリックまたはハイブリッド・クラウド、あるいはそれらの組み合わせ等の、１つ以上のネットワーク内で物理的または仮想的にグループ化されてよい（不図示）。これにより、クラウド・コンピューティング環境２０５０は、クラウド消費者がローカル・コンピューティング・デバイス上に資源を維持する必要がない、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはそれらのすべてを提供することができる。
【００９３】
図２５において示されるコンピューティング・デバイス２０５４Ａ〜Ｎの種類はあくまで例示として意図されていること、ならびにコンピューティング・ノード２０１０およびクラウド・コンピューティング環境２０５０は、任意の種類のネットワークもしくはネットワーク・アドレス指定可能接続（例えば、ウェブ・ブラウザを用いる）またはその両方を通じて任意の種類のコンピュータ化デバイスと通信してよいことが理解される。
【００９４】
次に図２６を参照すると、クラウド・コンピューティング環境２０５０（図２５）によって提供される機能抽象化層のセットが示されている。図２６に示される構成要素、層および機能は１つ以上の実施形態の例示として意図されているものであり、それらに限定されるものではないことをあらかじめ理解されたい。図示のように、以下の層および対応する機能が示されている。
【００９５】
ハードウェアおよびソフトウェア層２０６０はハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例としてはメインフレームが挙げられ、１つの例では、ＩＢＭ（ＩＢＭ社の登録商標）  ｚＳｅｒｉｅｓ（ＩＢＭ社の登録商標）システム；ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ、縮小命令セット・コンピュータ）アーキテクチャ・ベースのサーバ、１つの例では、ＩＢＭ  ｐＳｅｒｉｅｓ（ＩＢＭ社の登録商標）システム；ＩＢＭ  ｘＳｅｒｉｅｓ（ＩＢＭ社の登録商標）システム；ＩＢＭ  ＢｌａｄｅＣｅｎｔｅｒ（ＩＢＭ社の登録商標）システム；記憶デバイス；ネットワークおよびネットワーキング構成要素、が挙げられる。ソフトウェア構成要素の例としてはネットワーク・アプリケーション・サーバ・ソフトウェアが挙げられ、１つの例では、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ（ＩＢＭ社の登録商標）アプリケーション・サーバ・ソフトウェア；およびデータベース・ソフトウェア、１つの例では、ＩＢＭ  ＤＢ２（ＩＢＭ社の登録商標）データベース・ソフトウェア、が挙げられる。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｐＳｅｒｉｅｓ、ｘＳｅｒｉｅｓ、ＢｌａｄｅＣｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅ、およびＤＢ２は、世界中の多数の法域で登録されているインターナショナル・ビジネス・マシン・コーポレーション（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎ）の商標である）。
【００９６】
仮想化層２０６２は、以下の仮想実体の例：仮想サーバ；仮想記憶；仮想プライベート・ネットワークを含む仮想ネットワーク；仮想アプリケーションおよびオペレーティング・システム；ならびに仮想クライアント、が提供されればよい抽象化層を提供する。１つの例では、管理層２０６４は、以下に記載される機能を提供すればよい。資源プロビジョニングは、クラウド・コンピューティング環境内でタスクを遂行するために利用されるコンピューティング資源および他の資源の動的調達を提供する。
【００９７】
計量および価格決定は、クラウド・コンピューティング環境内で資源が利用されるのに応じたコストの追跡、およびこれらの資源の消費についての請求書作成または送り状作成を提供する。１つの例では、これらの資源はアプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティがクラウド消費者およびタスクのための本人確認、ならびにデータおよび他の資源の保護を提供する。ユーザ・ポータルは消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求サービス・レベルが満たされるようにクラウド・コンピューティング資源の割り当ておよび管理を提供する。
【００９８】
サービス品質保証契約（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ、ＳＬＡ）計画および達成は、ＳＬＡに従って将来の要件が予想されるクラウド・コンピューティング資源のための事前の取り決めおよびそれらの調達を提供する。作業負荷層２０６６は、クラウド・コンピューティング環境が利用されればよい機能性の例を提供する。この層から提供されればよい作業負荷および機能の例として：マッピングおよびナビゲーション；ソフトウェア開発およびライフサイクル管理；仮想教室教育配信；データ分析処理；トランザクション処理；その他、が挙げられる。
【００９９】
クレームされている主題は本願明細書において１つ以上の特徴または実施形態を参照しながら示されている。当業者は、本願明細書において示されている例示的な実施形態の詳細性にもかかわらず、普遍的に意図された範囲を限定したりまたはそれから逸脱したりすることなく前記実施形態に改変および変更が加えられてよいことを認識し理解しよう。本願明細書において示されている実施形態のこれらおよび様々な他の適合および組み合わせは、クレームおよびそれらの同等物一式によって定義されるとおりの開示されている主題の範囲内である。
【符号の説明】
【０１００】
１０  ネットワーク
１２  ソースＶＭ
１４  ソース・ホスト
１６  ターゲット・ホスト
１８  管理用コンピューティング・デバイス
２０  プロセッサ
２２  メモリ
２４  ソース・ネットワーク
２６  ソース２次データ
２８  ソース記憶
３０  ターゲットＶＭ
３２  中間ホスト
３４  中間ホスト
３６  中間ホスト
３８  中間ホスト
４０  中間ホスト
４２  中間ホスト
４４  ＶＭ複製
４６  中間ネットワーク
４８  ＶＭ複製
５０  中間記憶
５２  中間２次データ
５４  中間ネットワーク
５６  ＶＭ複製
５８  中間記憶
６０  中間２次データ
６２  中間ネットワーク
６４  ＶＭ複製
６６  ターゲット・ネットワーク
６８  ＶＭ複製
７０  ターゲット記憶
７２  ターゲット２次データ
【図１】
0005822678.tif 000002
【図２】
0005822678.tif 000003
【図３】
0005822678.tif 000004
【図４】
0005822678.tif 000005
【図５】
0005822678.tif 000006
【図６】
0005822678.tif 000007
【図７】
0005822678.tif 000008
【図８】
0005822678.tif 000009
【図９】
0005822678.tif 000010
【図１０】
0005822678.tif 000011
【図１１】
0005822678.tif 000012
【図１２】
0005822678.tif 000013
【図１３】
0005822678.tif 000014
【図１４】
0005822678.tif 000015
【図１５】
0005822678.tif 000016
【図１６】
0005822678.tif 000017
【図１７】
0005822678.tif 000018
【図１８】
0005822678.tif 000019
【図１９】
0005822678.tif 000020
【図２０】
0005822678.tif 000021
【図２１】
0005822678.tif 000022
【図２２】
0005822678.tif 000023
【図２３】
0005822678.tif 000024
【図２４】
0005822678.tif 000025
【図２５】
0005822678.tif 000026
【図２６】
0005822678.tif 000027