(57)【要約】      （修正有）【課題】仮想システムの複写サービスを適切に提供するデータセンタを提供する。【解決手段】データセンタは，複数のサーバと複数のストレージを有するハードウエア資源群と，仮想システムの情報を有するユーザテンプレートファイルを記憶領域に格納し，ユーザテンプレートファイルにハードウエア資源群内のハードウエアを割り付けて仮想システムを構築し運用する管理サーバ１２３とを有し，ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックＨＢＬを有し，管理サーバは，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定する。【選択図】図９
2014109900.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも複数のサーバと複数のストレージを有するハードウエア資源群と，
仮想マシンを有する仮想システムの情報を有するユーザテンプレートファイルを記憶領域に格納し，前記ユーザテンプレートファイルに前記ハードウエア資源群内のハードウエアを割り付けて前記仮想システムを構築し運用する管理サーバとを有し，
前記ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックを有し，
前記管理サーバは，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定するデータセンタ。
【請求項２】
請求項１において，
前記管理サーバは，前記仮想システム複写依頼を許可する場合に，前記複写対象の第１のユーザの仮想システムのテンプレートファイルを複写して生成した第１のテンプレートファイルを複写して，前記第２のユーザの第２のテンプレートファイルを生成し，当該第２のテンプレートファイルに前記第２のハードウエアブロック内のハードウエアを割り付けて複写先仮想システムを構築するデータセンタ。
【請求項３】
請求項２において，
前記管理サーバは，複写元の前記第１のユーザの端末からの前記仮想システム複写依頼に応答して，前記複写先の第２のハードウエアブロックが提供可能な前記仮想マシンの性能レベルが，前記複写対象の第１のユーザの仮想システム内の仮想マシンの性能レベルを含んでいない場合に，第１の警告を出力するデータセンタ。
【請求項４】
請求項２において，
前記管理サーバは，複写元の前記第１のユーザの端末からの前記仮想システム複写依頼に応答して，前記複写先の第２のハードウエアブロックが提供可能な前記仮想マシンにインストールされるソフトウエアが，前記複写対象の第１のユーザの仮想システム内の仮想マシンにインストールされているソフトウエアを含んでいない場合に，前記仮想システム複写依頼を許可しないデータセンタ。
【請求項５】
請求項２において，
前記管理サーバは，複写先の前記第２のユーザの端末からの前記仮想システム複写依頼に応答して，前記複写先の第２のハードウエアブロックが提供可能な前記仮想マシンの性能レベルが，前記複写対象の第１のユーザの仮想システム内の仮想マシンの性能レベルを含んでいない場合に，第２の警告を出力するデータセンタ。
【請求項６】
請求項５において，
前記管理サーバは，前記第２の警告に，複写後の仮想システム内の仮想マシンの性能レベルが低下するメッセージを含めるデータセンタ。
【請求項７】
請求項６において，
前記管理サーバは，前記第２の警告に含まれる前記メッセージに対する前記第２のユーザ端末からの承諾に応答して，前記第２のテンプレートファイル内の前記仮想マシンの性能レベルを，前記第２のハードウエアブロックが提供可能な前記仮想マシンの性能レベルのうち最も近い性能レベルに変更するデータセンタ。
【請求項８】
請求項２において，
前記管理サーバは，複写先の前記第２のユーザの端末からの前記仮想システム複写依頼に応答して，前記第１のテンプレートファイルを複写して前記第２のテンプレートファイルを生成する複写処理におけるデータ転送時間が所定の基準時間を超える場合に，前記仮想システム複写依頼を許可しないデータセンタ。
【請求項９】
少なくとも複数のサーバと複数のストレージを有するハードウエア資源群と，
仮想マシンを有する仮想システムの情報を有するテンプレートファイルを記憶領域に格納し，前記テンプレートファイルに前記ハードウエア資源群内のハードウエアを割り付けて前記仮想システムを構築し運用する管理サーバとを有し，
前記ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックを有するデータセンタでの仮想システムの複写サービスの提供方法であって，
前記管理サーバが，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定する工程を有するデータセンタでの仮想システムの複写サービスの提供方法。
【請求項１０】
請求項９において，
前記管理サーバが，前記仮想システム複写依頼を許可する場合に，前記複写対象の第１のユーザの仮想システムのテンプレートファイルを複写して生成した第１のテンプレートファイルを複写して，前記第２のユーザの第２のテンプレートファイルを生成し，当該第２のテンプレートファイルに前記第２のハードウエアブロック内のハードウエアを割り付けて複写先仮想システムを構築する工程を有するデータセンタでの仮想システムの複写サービスの提供方法。
【請求項１１】
少なくとも複数のサーバと複数のストレージを有するハードウエア資源群と，
仮想マシンを有する仮想システムの情報を有するテンプレートファイルを記憶領域に格納し，前記テンプレートファイルに前記ハードウエア資源群内のハードウエアを割り付けて前記仮想システムを構築し運用する管理サーバとを有し，
前記ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックを有するデータセンタにおける前記管理サーバが実行する仮想システム複写プログラムであって，
前記仮想システム複写プログラムは，
前記管理サーバに，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定する工程を実行させるデータセンタでの仮想システム複写プログラム。
【請求項１２】
請求項１１において，
前記仮想システム複写プログラムは，
前記管理サーバに，前記仮想システム複写依頼を許可する場合に，前記複写対象の第１のユーザの仮想システムのテンプレートファイルを複写して生成した第１のテンプレートファイルを複写して，前記第２のユーザの第２のテンプレートファイルを生成し，当該第２のテンプレートファイルに前記第２のハードウエアブロック内のハードウエアを割り付けて複写先仮想システムを構築する工程を有するデータセンタでの仮想システム複写プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，データセンタ，データセンタでのシステムの複写サービスの提供方法及びデータセンタでのシステムの複写プログラムに関する。
【背景技術】
【０００２】
近年，データセンタによるクラウドコンピューティングサービスが広く提供されつつある。クラウドコンピューティングサービスの一つとして，コンピュータを構築し稼働させるための基盤として，仮想マシンやネットワークなどのインフラそのものを，インターネット経由のサービスとして提供することが行われている。
【０００３】
このようなサービスにおいて，ユーザは，ユーザインターフェース画面から，所望の処理能力を有する仮想マシンを選択し，仮想マシンのオペレーションシステム（以下ＯＳ）を選択し，仮想システムを構築する。仮想システムの構築は，上記の選択された仮想マシンとＯＳに対してハードウエア資源群内の必要なハードウエア資源を割り付けることで行われる。この仮想システムの初期状態から，さらに，ユーザは，ユーザインターフェース画面から，仮想システム内の仮想マシンに対してミドルウエアやアプリケーションプログラムをインストールし各種の設定を行い，また，仮想システムのネットワークを設定し，仮想システム内の仮想マシンにデータを格納する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−７０６２７号公報
【非特許文献】
【０００５】
【非特許文献１】ＦＵＪＩＴＳＵ．６１，３  （０５，２０１０）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザは，上記のように構築した仮想システムのハードウエアのインフラをインターネット経由のサービスとして提供を受けながら，仮想システムを稼働する。その場合，構築した仮想システムをそのまま，別のユーザに複写したいという要求がある。仮想マシンによる仮想システムは，仮想マシンとＯＳと，インストールされたミドルウエアやアプリケーションプログラムやネットワーク設定やユーザデータなどを有するテンプレート（テンプレートファイル，またはイメージファイル）に，ハードウエア資源を割り付けることで構成される。そこで，テンプレートファイルを複写して複写テンプレートを作成し，その複写テンプレートに新たなハードウエア資源を割り付けて，元の仮想システムと同じ仮想システムを生成することが行われる。
【０００７】
一方で，ハードウエア資源群は，ハードウエア資源の管理を容易化するために，所定数のサーバとストレージを最小構成単位とするハードウエアブロックに分けて管理される。ハードウエアとＯＳは時代と共に進化していくので，それに対応して，所定の年数または期間毎に，データセンタ内に必要なハードウエアブロックが導入され，ユーザの仮想システムのハードウエア資源として提供される。当然，古いハードウエアブロックよりも新しいハードウエアブロックのほうがより高性能の仮想マシンを提供できる場合がある。そして，データセンタの管理サーバは，各ユーザにそれぞれが利用可能なハードウエアブロックを割り付け，ユーザの仮想システムに，そのユーザのハードウエアブロック内の仮想マシンなどが割り付けられる。
【０００８】
しかしながら，ハードウエア資源の管理の制約から，ユーザは割り付けられたハードウエアブロック内の仮想サーバしか利用することができず，ハードウエアブロックをまたいで他のハードウエアブロック内の仮想サーバを利用することは制限される。
【０００９】
そのため，上記の仮想システムを複写する際に，あるハードウエアブロック内の仮想マシンが割り付けられている仮想システムを，別のハードウエアブロック内に複写する場合がある。複写元のハードウエアブロックが高性能の仮想マシンを有し，複写先のハードウエアブロックが低性能の仮想マシンしか有しない場合に，複写元の仮想システムが高性能の仮想マシンを含んでいる場合，複写先のハードウエアブロックに同じ仮想システムを構築できないという不都合が生じる。
【００１０】
そこで，本発明の目的は，仮想システムの複写サービスを適切に提供するデータセンタ，データセンタでのシステムの複写サービスの提供方法及びデータセンタでのシステムの複写プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
データセンタの第１の側面は，
上記第１の側面における好ましい態様は，少なくとも複数のサーバと複数のストレージを有するハードウエア資源群と，
仮想マシンを有する仮想システムの情報を有するユーザテンプレートファイルを記憶領域に格納し，前記ユーザテンプレートファイルに前記ハードウエア資源群内のハードウエアを割り付けて前記仮想システムを構築し運用する管理サーバとを有し，
前記ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックを有し，
前記管理サーバは，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定する。
【発明の効果】
【００１２】
第１の側面によれば，仮想システムの複写サービスを適切に提供することができる。
【図面の簡単な説明】
【００１３】
【図１】データセンタの構成例を示す図である。
【図２】データセンタ内のハードウエア資源群の一例を示す図である。
【図３】ユーザが仮想システムを構築する手順と，仮想システムを複写する手順とを示す図である。
【図４】ユーザが仮想システムを構築する手順を示すフローチャート図である。
【図５】テンプレートファイルの具体例を示す図である。
【図６】ハードウエア資源群１０内のハードウエアブロックを示す図である。
【図７】データセンタ内のハードウエアブロックの構成を示す図である。
【図８】複数のハードウエアブロックの提供可能な仮想マシンVMの性能レベルとOSの例を示す図である。
【図９】異なるハードウエアブロック間での仮想システムの複写処理を示す図である。
【図１０】複写元ユーザ端末U1に対する管理サーバの処理を示すフローチャート図である。
【図１１】ユーザとそのユーザに割り付けられているハードウエアブロックの管理表の一例を示す図である。
【図１２】テンプレート毎の性能レベルや複写キー及び複写先IDなどの管理表の一例を示す図である。
【図１３】管理サーバによる判定処理を説明するための図である。
【図１４】管理サーバによる別の判定処理を説明するための図である。
【図１５】複写先ユーザ端末に対する管理サーバの仮想システム複写処理のフローチャート図である。
【図１６】テンプレートの複写と複写されたテンプレートの修正を説明する図である。
【図１７】テンプレートの修正を具体的に示す図である。
【図１８】図１５のテンプレート複写処理S38,S42のフローチャート図である。
【図１９】複写元ユーザ端末のユーザインターフェースの例を示す図である。
【図２０】上記の複写先ユーザ端末のユーザインターフェースの例を示す図である。
【図２１】工程S42のテンプレート複写中の画面を示す図である。
【発明を実施するための形態】
【００１４】
図１は，データセンタの構成例を示す図である。データセンタは，複数のサーバと複数のストレージと複数のネットワーク機器などを有するハードウエア資源群１０と，ユーザが作成する仮想マシンを有する仮想システムの情報を有するテンプレートファイルTP1，TP2，TP3に，ハードウエア資源群１０内のハードウエアを割り付けて仮想システムVSYSを構築し運用する管理サーバ１２とを有する。
【００１５】
管理サーバ１２の主な機能は，ハードウエア資源群１０内のハードウエア資源を仮想化する機能12Aと，テンプレートファイルTP1，TP2，TP3内の仮想マシンにハードウエア資源群内のハードウエア資源を割り付けて仮想マシンを構築する機能12Bと，ユーザに対してGUI（グラフィックユーザインターフェース）を提供して，GUIを介して仮想システムの構築，運用管理，仮想システムの複写などのサービスを提供する仮想システム管理機能12Cとを有する。管理サーバ１２は，テンプレートファイルにハードウエア資源を割り付けた場合に，そのハードウエア資源割付情報12Dを管理サーバ内の記憶領域に格納する。
【００１６】
図２は，データセンタ内のハードウエア資源群の一例を示す図である。ハードウエア資源群１０は，サーバ群とネットワーク機器群とストレージ群などを有する。図２には，サーバ群としてサーバ群＃１，＃２が示されている。サーバ群＃１，＃２は，例えば，サーバラックで区分されるが，論理的には同じサーバ群である。サーバ群＃１内には，複数のサーバが設けられていて，それらのサーバはスイッチSWを介してネットワークで均質に接続され，コアスイッチC-SWを介してネットワークNWに接続され，インターネットからアクセス可能である。ネットワーク機器群は，スイッチSWやサーバにより構築される機器などを有する。
【００１７】
ストレージ群は，複数のストレージST#1,ST#2,ST#3を有し，それらがスイッチSWを介してネットワークに接続される。
【００１８】
図２中に示したとおり，個々のサーバは，図１の管理サーバ１２の仮想化機能により，複数の仮想マシンVMに構成され，それらの仮想マシンVMは仮想スイッチSWを介してネットワークに接続される。
【００１９】
［テンプレートファイルとシステム化］
次に，テンプレートファイルとそれに対するシステム化について説明する。データセンタは，ユーザが構築した仮想システムのインフラをインターネット経由のサービスとして提供する。そのために，データセンタの管理サーバは，ユーザにGUIを提供して，ユーザが仮想システムの構築を行うことができるサービスを提供する。
【００２０】
図３は，ユーザが仮想システムを構築する手順と，仮想システムを複写する手順とを示す図である。図４は，ユーザが仮想システムを構築する手順を示すフローチャート図である。さらに，図５は，テンプレートファイルの具体例を示す図である。これらの図を参照して，ユーザによる仮想システムの構築手順と，仮想システムを複写する手順について説明する。
【００２１】
なお，テンプレートファイルは，仮想マシンの情報に加えてOS，ミドルウエア，アプリケーションプログラム，データそのものを含むデータファイルであるが，以下単にテンプレートと称する場合もあるが，同じ意味である。
【００２２】
仮想システムの構築手順では，ユーザは，管理サーバのGUIを通じて，仮想マシンVMとそれにインストールするOS及び基本的なネットワーク構成を選択してオーダーすると（S1)，オーダーした仮想マシンVMを有する仮想システムVSYS#1のテンプレートTP1がハードウエア資源群１０内のサーバのハードディスク領域（記憶領域）内に生成される（S2)。図３の左端のテンプレートTP1には，ネットワークで接続された４つの仮想マシンVM0-VM3とそれらにインストールされたOS（図示せず）が含まれている。
【００２３】
ユーザは，GUIを介して，サービスとして提供可能な様々な性能レベルを有する複数の仮想マシンの中から，所望の仮想マシンVMを選択する。さらに，ユーザは，その仮想マシンVMにインストール可能な複数のOSの中から，所望のOSを選択する。仮想マシンVMは，CPUの個数，メモリ容量，ハードディスク容量などにより性能レベルが区分されている。そこで，所望の性能レベルの仮想マシンVMを選択することで，所望のCPU数，メモリ容量，ハードディスク容量を有して所望の性能を有する仮想マシンVMを選択する。仮想マシンVMのCPU数は，例えば１個，２個，４個，８個，１６個，３２個など様々な性能レベルで提供可能になっている。メモリ容量やハードディスク容量などによっても様々な性能レベルで提供される。
【００２４】
ユーザは，GUIを介して，仮想ストレージも選択して，テンプレートTP1内に格納することができる。
【００２５】
ユーザによりオーダーされた複数の仮想マシンVMには選択されたOSがインストールされる。具体的には，ユーザがGUIを介して仮想マシンVMにインストールするOSを選択すると，そのOSのプログラムファイルが，テンプレートファイルTP1内に格納され，仮想マシンVMにインストールされる。このOSの仮想マシンVMへのインストールは，一般的なPCのハードディスク内にOSをインストールすることと同等の処理である。つまり，ここで言うテンプレートファイルは，一般的なPCのハードディスク内のシステムファイルとソフトウエアファイルとデータなどのファイル群に対応する。但し，データセンタの場合は実際のサーバが仮想マシンに仮想化されているので，実際に動作するサーバのハードディスク内にOSがインストールされるわけではない。
【００２６】
データセンタのハードウエア資源群は，後述するとおり，複数のハードウエアブロックを有する。ハードウエアブロックは，同時期に設置された所定数のサーバと所定数のストレージを有するハードウエア資源群の最小構成単位である。そして，管理サーバ１２は，選択された性能レベルの仮想マシンVMを提供可能なハードウエアブロックを選択し，そのハードウエアブロック内の管理サーバの管理領域に，上記のテンプレートTP1を格納する。
【００２７】
管理サーバ１２は，ユーザが作成した仮想システムのテンプレートTP1内の仮想マシンや仮想ストレージに，上記ハードウエアブロック内のサーバやストレージなどのハードウエア資源を割り付けする（S3)。テンプレートTP1にハードウエア資源が割り付けられると，テンプレートTP1と割り付けられたハードウエア資源とにより仮想システムVSYS#1が構築され，運用可能になる。これがシステム化の処理である。
【００２８】
図５には，テンプレートファイルの一例を示す図である。図５に示されたテンプレートTP1は，４つの仮想マシンVM0,VM1,VM2,VM3のファイルと，それらにインストールされるOSのファイルを有する。なお，図５のテンプレートTP1には，後にインストールされるミドルウエアMW,アプリケーションプログラムAPL，データDATAも含まれている。また，４つの仮想マシンVMO, VM1,VM2,VM3には，選択した性能レベルL2,L16,L2,L4がその属性データとして含まれている。図５のテンプレートTP1には，ハードウエア資源が割り付けられていて，仮想マシンVSYS#1を構築している。
【００２９】
図３，４に戻り，ユーザは，GUIを介して，各仮想マシンVM内に必要なミドルウエアMWやアプリケーションプログラムAPをインストールし，それぞれ必要な設定を行う（S4)。これにより，図５のテンプレートTP1に示されるとおり，各仮想マシンVMに対応付けられた実際のミドルウエアMWのファイルと，アプリケーションプログラムAPのファイルと，それらの設定情報が，テンプレートファイルTP1に追加される。さらに，ユーザは，GUIを介して，仮想システムにユーザー独自のネットワーク設定を追加する（S5)。これにより，図５のテンプレートTP1には，ネットワーク設定情報NWが追加される。そして，ユーザは，GUIを介して，仮想マシンVMに必要に応じてデータを格納する（S6)。これにより，図５のテンプレートTP1には，実際のデータが追加される。
【００３０】
図５のテンプレートTP1内の例えば仮想マシンVM1は，性能レベルがL16と比較的高い性能レベルを有し，その仮想マシンVM1ついて，テンプレートTP1内には，５GBのオペレーションシステムOS1のファイルと，1GBのミドルウエアMWのファイルと，２GBのアプリケーションプログラムAP1のファイルと，１０GBのデータDATAと，ネットワーク設定情報NWが含まれる。そして，このテンプレートTP１内の仮想マシンに対して，ハードウエア資源が割り当てられることで，仮想システムが構築され，稼働可能になる。
【００３１】
図５のテンプレートTP1の破線による３つの区分は，例えば，ネットワーク構成の設定に対応している。例えば，仮想マシンVM0が外部のインターネットとのファイアウオールサーバに，仮想マシンVM1,VM2が所望のアプリケーションを実現するサーバに，そして，仮想マシンVM3がデータベースサーバにそれぞれ構築される。このように仮想マシンVM3はデータベースサーバとして機能することが期待され，データ容量が１００GBと他の仮想マシンVM0,VM1,VM2らより大容量である。
【００３２】
仮想システムが稼働される過程で，データDATAが増減し，新たなアプリケーションプログラムが追加されたり，各種の設定情報が更新されたりするが，それらの情報は全てこのテンプレートTP1内に含まれている。
【００３３】
したがって，テンプレートファイルは，一般的なPCにおけるハードディスク内に格納されるシステムファイル，OSファイル，プログラムファイル，データに対応する。但し，データセンタではハードウエア資源を仮想化しているので，テンプレートファイルを格納するサーバとは異なるサーバまたは同じサーバがハードウエア資源として割り付けられることになる。
【００３４】
［仮想システムの複写処理］
図３と図５により仮想システムの複写処理について説明する。前述のとおり，ハードウエア資源の仮想化により，任意のサーバのハードディスク内のテンプレートに，任意のサーバなどのハードウエア資源を割り付けることで，仮想システムを構築することができた。このようなハードウエア資源の仮想化の特徴を利用して，構築された仮想システムを簡単に複写処理することができる。
【００３５】
まず，図３，図５において，既にシステム化されている仮想システムVSYS#1の動作を停止する。そして，仮想システムVSYS#1のテンプレートTP1を複写して別のテンプレートTP2をハードディスク内に格納する（S7)。この複写テンプレートTP2は，稼働中の仮想システムVSYS#1のテンプレートTP1と同じ情報を含んでいる。但し，テンプレートTP1内のデータDATAについては，必要に応じて複写テンプレートTP2に含まれたり含まれなかったりする。
【００３６】
図５には，複写テンプレートTP2の具体的なファイルや設定情報が示されている。図５の例では，複写テンプレートTP2は，複写元であるテンプレートTP1と同じであり，テンプレートTP1のデータDATAも含んでいる。ただし，この複写テンプレートTP2には，未だハードウエア資源が割り付けられていないので，システム化されていない。
【００３７】
図３に示されるとおり，図１の運用サーバ１２により，複写テンプレートTP2の仮想マシンなどにハードウエア資源が割り付けられると，複写された仮想システムVSYS#2が構築される。この複写された仮想システムVSYS#2は，複写元である仮想システムVSYS#1と同じ構成のシステムであり，但し，割り付けられているハードウエア資源は異なる。
【００３８】
［ハードウエア資源群のハードウエアブロック］
次に，ハードウエア資源群内のハードウエアブロックについて説明する。
【００３９】
図６は，ハードウエア資源群１０内のハードウエアブロックを示す図である。また，図７は，データセンタ内のハードウエアブロックの構成を示す図である。
【００４０】
前述したとおり，ハードウエア資源群１０は，ハードウエア資源の管理を容易化するために，所定数のサーバと所定数のストレージを最小構成単位とするハードウエアブロックHBLに分けて管理される。図６には，例として，３つのハードウエアブロックHBL-A,HBL-B,HBL-Cが，上位スイッチを介して接続されている。各ハードウエアブロックHBL内のハードウエア資源の構成は，図２で示したハードウエア資源と同じであり，サーバ群とストレージ群とネットワーク機器のスイッチSWなどで構成される。
【００４１】
ハードウエアとＯＳは時代と共に進化していくので，それに対応して，所定の年数または期間毎に，データセンタ内に必要なハードウエアブロックが導入され，ユーザの仮想システムのハードウエア資源として提供される。例えば，古い時代に導入された古いハードウエアブロックが提供可能な仮想マシンの性能レベルは，新しい時代に導入された新しいハードウエアブロックが提供可能な仮想マシンの機能ブロックと異なり，新しいほうがより高性能の仮想マシンを提供できる場合がある。また，古いハードウエアブロックが提供可能なOSと，新しいハードウエアブロックが提供可能なOSとが異なる場合もある。
【００４２】
そこで，ハードウエア資源の管理を容易にするために，データセンタの管理サーバは，同時期に導入されたハードウエアブロックの単位で管理する。このようなハードウエア資源の管理の制約から，管理サーバは，次のようにしてユーザにハードウエアブロックを割り付ける。
【００４３】
図３に示した仮想マシンVMがオーダーされた時に，ユーザが希望している性能レベルの仮想マシンVMを提供可能なハードウエアブロックであって，そのユーザにハードウエアを新たに割り付けるだけの余裕のあるハードウエアブロックが選択され，そのユーザに割り付けられる。
【００４４】
そして，管理サーバは，ユーザのテンプレートファイルTP1をそのユーザに割り付けられたハードウエアブロック内の記憶領域内に格納し，そのテンプレートTP1に対して，そのユーザに割り付けられたハードウエアブロック内のハードウエア資源を割り付ける。
【００４５】
さらに，ハードウエア資源の管理の制約から，ユーザには割り付けられたハードウエアブロックの情報は開示されない。さらに，ユーザは割り付けられたハードウエアブロック内の仮想マシンや仮想ストレージしか利用することができず，ハードウエアブロックをまたいで他のハードウエアブロック内の仮想マシンや仮想ストレージを利用することは制限される。
【００４６】
不特定多数のユーザがデータセンタのハードウエア資源を共有しあうパブリッククラウドの一つの制約として，ユーザとのサービスレベル契約（SLA)では，ユーザが所望する仮想マシンやOSの提供を実現することが取り決められるが，割り付けられるハードウエア資源がどこのデータセンタのどのハードウエアブロックかといったインフラ属性情報はユーザには開示されない。その理由は，パブリッククラウドでは，あるユーザによるハードウエア資源の利用状況を他のユーザに認識または推測させることは，一般に禁止されているからである。したがって，基本的には，ユーザには割り当てたハードウエアブロックの情報は非開示である。
【００４７】
図７には，データセンタDC-X内のハードウエアブロック（HWブロック）HBL-A,HBL-B,HBL-Cが示されている。データセンタ内のデータセンタ管理サーバ121は，インターネットを介して，他のデータセンタと通信可能であり，更に，図示しないユーザ端末ともインターネットを介して通信可能である。
【００４８】
複数のハードウエアブロックHBL-A,HBL-B,HBL-Cは，それぞれハードウエアブロック管理サーバ122と，ユーザブロックU-BLと，運用者ブロックADM-BLとを有する。データセンタ管理サーバ121と，各ハードウエアブロック管理サーバ122とは，図１で説明した，ハードウエア資源の割り付け機能12Bと，ハードウエア資源の仮想化機能12Aとを有する。
【００４９】
運用者ブロックADM-BL内のハードウエア資源により，図１で説明したVSYS管理機能12Cを有する管理サーバが構築される。また，運用者ブロックADM-BL内のハードウエア資源のハードディスク領域内に，そのハードウエアブロックHBLに割り付けられたユーザのテンプレートファイルTPが格納される。そして，ハードウエアブロック管理サーバ122が，ユーザのテンプレートTPに対してユーザブロックU-BL内のハードウエア資源を割り付けて，データセンタ管理サーバ121と共に運用管理する。
【００５０】
図８は，複数のハードウエアブロックの提供可能な仮想マシンVMの性能レベルとOSの例を示す図である。管理表２０には，３つのハードウエアブロックHBL-A,HBL-B,HBL-Cがユーザに提供可能な仮想マシンの種類を示している。６種類の仮想マシンVM-L1〜VM-L32は，例えばCPU数が１個，２個，４個，８個，１６個，３２個で構成され，その性能レベルは順番に高くなっている。仮想マシンVMは，CPU数以外にも，メモリ容量やハードディスク容量などによっても，その性能レベルが規定される。したがって，管理表２０の仮想マシンの性能レベルは一例である。
【００５１】
この例では，２つのハードウエアブロックHBL-A,HBL-Bは，例えば比較的古く構築されたものである。したがって，これらのハードウエアブロックHBL-A,HBL-Bは，６種類の性能レベルの仮想マシンVM-L1〜VM-L32のうち，１６個のCPUで構成される仮想マシンVM−L16と３２個のCPUで構成される仮想マシンVM-L32を除いて，ユーザに提供可能である。一方，ハードウエアブロックHBL-Cは，例えば比較的新しく構築されたものである。したがって，このハードウエアブロックHBL-Cは，６種類の性能レベルの仮想マシンVM-L1〜VM-L32全てをユーザに提供可能である。
【００５２】
管理表２１には，３つのハードウエアブロックHBL-A,HBL-B,HBL-Cがユーザに提供可能なOSの種類を示している。この例では，３つのOS（OS1,OS2,OS3)のうち，例えばOS1,OS2は比較的古いOSであり，OS3は比較的新しいOSである。そのため，２つのハードウエアブロックHBL-A,HBL-Bは，３つのOSのうち，OS3を除いたOS1,OS2をユーザに提供可能である。それに対して，比較的新しいハードウエアブロックHBL-Cは，３つのOS(OS1,OS2,OS3)全てをユーザに提供可能である。
【００５３】
これらのハードウエアブロックの管理表２０，２１は，例えば，各ハードウエアブロックHBL内の運用者ブロックADM-BL内のVSYS管理サーバ123またはハードウエアブロック管理サーバ122やデータセンタ管理サーバ121内の記憶領域に格納されている。
【００５４】
［本実施の形態の概略］
前述のとおり，仮想システムのテンプレートを複写して，その複写したテンプレートにハードウエア資源を割り付ければ，元の仮想システムと同じ仮想システムを構築することができる。
【００５５】
しかしながら，第１のユーザの第１のハードウエアブロックで構築されている仮想システムを，第２のハードウエアブロックに複写して構築する場合に，次の不都合が生じる。すなわち，複写元の第１のハードウエアブロックが高性能の仮想マシンをユーザに提供可能であり，複写先の第２のハードウエアブロックが低性能の仮想マシンしかユーザに提供可能な場合に，複写元の仮想システムが高性能の仮想マシンを含んでいる場合，複写先の第２のハードウエアブロックに同じ仮想システムを構築できない。
【００５６】
従って，本実施の形態では，管理サーバが，ユーザからの異なるハードウエアブロック間での仮想システムの複写依頼に応答して，上記の不都合が生じるか否かを検出し，必要に応じて警告を出力したり，不都合が解消されるように複写されたテンプレートを変更する。
【００５７】
図９は，異なるハードウエアブロック間での仮想システムの複写処理を示す図である。図９に示した例では，高性能の仮想マシンVM-BL16,VM-BL32や比較的新しいOS3を提供可能なハードウエアブロックHBL-Cに構築されている仮想システムVSYS#1を，そのような高性能の仮想マシンやOS3を提供できないハードウエアブロックHBL-Aに複写する。
【００５８】
まず，複写元ユーザの端末U1が管理サーバ123に複写元ユーザのIDでログインする。そして複写元ユーザの端末U1からの指示により，管理サーバ123は，ハードウエアブロックHBL-C内に構築され稼働中の仮想システムVSYS#1を停止し，仮想システムVSYS#1のテンプレートTP1を複写して，新たなテンプレートTP1Cを生成する。この新たなテンプレートTP1Cは，同じハードウエアブロックHBL-C内の運用サーバ内の記憶領域に格納される。このとき，管理サーバ123は，新たなテンプレートTP1CにテンプレートIDとしてID=TP1Cを発行する。
【００５９】
次に，複写元ユーザ端末U1からテンプレートIDが選択されると，管理サーバ123は，そのテンプレートIDに対応するテンプレート複写キーを発行する。そして，複写元ユーザ端末U1から複写先ユーザIDが指定されると，管理サーバ123は，複写先ユーザIDに割り付けられているハードウエアブロックHBL-Aのハードウエア資源が，テンプレートTP1Cの仮想マシンVMやOSなどを提供できるか否かを判定し，提供できない場合は必要に応じて警告を出力する。提供可能と判定されるか，提供不可能の場合に複写元ユーザ端末U1から警告に対する同意を受信すれば，管理サーバ123は，このテンプレートIDとテンプレート複写キーとに，複写先IDを登録する。テンプレートIDとテンプレート複写キーとは１対１に対応付けられていて，それに対して単数または複数の複写先IDがさらに対応付けられる。
【００６０】
その結果，複写元ユーザは，複写先ユーザに対して，複写対象の仮想システムのテンプレートID(=TP1C)と，テンプレート複写キーを渡す。これで，複写先ユーザにより仮想システムの複写操作の準備が整う。
【００６１】
そこで，複写先ユーザの端末U2が管理サーバ123に複写先ユーザのIDでログインする。そして複写先ユーザの端末U2からテンプレートID及びその複写キーと共にテンプレート複写指令を受信すると，管理サーバ123は，複写先ユーザIDがそのテンプレートIDの複写を許可されているかをチェックする。
【００６２】
そして，許可済みであれば，管理サーバ123は，複写先ユーザIDに割り付けられているハードウエアブロックHBL-Aのハードウエア資源が，複写元テンプレートTP1Cの仮想マシンVMなどを提供できるか否かを判定し，提供できない場合は必要に応じて警告を出力する。提供可能と判定されるか，提供不可能の場合に複写先ユーザ端末U2から警告に対する同意を受信すれば，管理サーバ123は，複写元ユーザのハードウエアブロックHBL-C内のテンプレートTP1Cを，複写先ユーザのハードウエアブロックHBL-A内の記憶領域にデータ転送して格納する。これにより，複写先ユーザのハードウエアブロックHBL-A内の記憶領域に複写されたテンプレートTP2が生成され，それに対してテンプレートIDとしてID=TP2が発行される。
【００６３】
最後に，複写先ユーザ端末U2からのシステム化依頼に応答して，管理サーバ123は，複写されたテンプレートTP2にハードウエアブロックHBL-A内のハードウエア資源を割り付けて，システム化する。これにより，複写先ユーザ端末U2から，複写された仮想システムVSYS#2を稼働させることができる。
【００６４】
次に，仮想システム複写のための具体的な処理について，複写元ユーザ端末U1による処理と，複写先ユーザ端末U2による処理とを説明する。
【００６５】
［複写元ユーザ端末U1に対する管理サーバの処理］
図１０は，複写元ユーザ端末U1に対する管理サーバの処理を示すフローチャート図である。管理サーバ123は，複写元ユーザの端末U1からの複写元ユーザIDでログインを認証後，受け付ける（S10)。複写元ユーザ端末U1から仮想システムVSYS#1の稼働を停止した状態でテンプレート作成依頼を受信すると（S11)，管理サーバ123は，仮想システムVSYS#1のテンプレートTP1を複写して複写テンプレートTP1Cを生成し複写元ユーザのハードウエアブロックHBL-C内の記憶領域に格納し，テンプレートID（ID=TP1C)を発行する（S12)。
【００６６】
その後，複写元ユーザ端末U1からテンプレートIDの入力または選択と共に（S13)，そのテンプレートIDに対して仮想システム複写依頼を受信すると（S14)，管理サーバ123は，テンプレート複写キーを発行する（S15)。
【００６７】
さらに，複写元ユーザ端末U1から仮想システム複写の複写先ユーザのIDの入力に対して（S16)，次のとおり，管理サーバ123は，複写先ユーザIDに割り付けられているハードウエアブロックHBL-Aのハードウエア資源が，テンプレートTP1Cの仮想マシンVMやOSなどを提供できるか否かを判定する。
【００６８】
図１１は，ユーザとそのユーザに割り付けられているハードウエアブロックの管理表の一例を示す図である。また，図１２は，テンプレート毎の性能レベルや複写キー及び複写先IDなどの管理表の一例を示す図である。このような管理表は，例えば，運用サーバ123が保持している。
【００６９】
図１１の管理表２２の例では，複写元ユーザU1はハードウエアブロックHBL-Cに割り付けられていて，そのブロック内のハードウエア資源を割り付けられて仮想システムを構築している。同様に，複写先ユーザU2はハードウエアブロックHBL-Aに割り付けられていて，そのブロック内のハードウエア資源を割り付けられて仮想システムを構築している。他のユーザも同様である。
【００７０】
図１２の管理表２３の例では，テンプレートIDがTP1CのテンプレートTP1Cは，性能レベルがVM-L2, VM-L16, VM-L2, VM-L4の４つの仮想マシンVM0-VM3を有し，それらにはOSとして,OS1,OS1,OS2,OS2がそれぞれインストールされている。そして，テンプレートTP1Cには，テンプレート複写キーCOPY-K1が発行され，但し，複写先IDは未登録である。
【００７１】
図１０に戻り，管理サーバ123による判定処理を説明する。図１３は，管理サーバによる判定処理を説明するための図である。まず，管理サーバ123は，図１３に示されるとおり，図１１の管理表２２を参照し，複写先ユーザIDのハードウエアブロックを検索する（S17)。その結果，複写先ユーザID＝U2のハードウエアブロックがHBL-Aであることを検出する。そして，管理サーバ123は，図８の管理表２０，２１を参照して，そのハードウエアブロックHBL-Aが提供可能な，つまりそのハードウエアブロックHBL-Aで利用可能な仮想マシンVMとOSなどを検索する(S19)。
【００７２】
一方，管理サーバ123は，図１３に示されるとおり，図１２の管理表２３を参照して，複写対象のテンプレートTP1Cの仮想マシンの性能レベルとOSとを検索する（S18)。
【００７３】
そして，管理サーバ123は，図１３に示されるとおり，複写先ユーザのハードウエアブロックが提供可能な仮想マシンVMと複写対象のテンプレートTP1Cの仮想マシンVMとのマッチングを行い，複写対象のテンプレートTP1Cの全ての仮想マシンVMが，複写先ユーザのハードウエアブロックが提供可能な仮想マシンVMに含まれているか否かをチェックする(S20)。図１３の例では，テンプレートTP1C内の仮想マシンVMの性能レベルVM-L16は，ハードウエアブロックHBL-Aが提供不能である。そのため，管理サーバ123は，不適合と判定し（S21のNO)，「このテンプレートは複写先に存在しないサーバタイプ（仮想マシンタイプ）が含まれます。」といった警告を複写元ユーザ端末U1に出力する（S23)。または，警告の文言は，「このテンプレートは複写先に存在しないサーバタイプ（仮想マシンタイプ）が含まれます。複写先でテンプレートに性能がダウンしたサーバタイプ（仮想マシンタイプ）が割り付けられますが，よろしいですか。」でもよい。この警告文の場合は，後述するとおり，複写先ユーザへのシステム複写において複写されたテンプレートの仮想マシンのタイプが，複写先ユーザのハードウエアブロック内で最も近い仮想マシンのタイプに自動的に変更される。詳細は後述する。
【００７４】
そして，上記警告に対して複写元ユーザ端末U1から承諾を受信した場合（S25のYES)，またはマッチング処理で適合することが検出された場合（S21のYES)，管理サーバ123は，図１３に示されるとおり，テンプレートTP1Cに対して複写先IDとしてU2を登録する（S22)。図１０に示されるように，複写先IDは，テンプレートIDとその複写キーに対して，複数登録可能である。
【００７５】
図１９は，上記の複写元ユーザ端末のユーザインターフェースの例を示す図である。図１９のインターフェース画面GUI-1は，図１０の工程S16の複写先IDの入力画面である。複写元ユーザが，この画面GUI-1内の複写先ID入力ボックス30に複写先IDを入力して，確定ボタンを押すと，バックグランドで管理サーバが図１０の工程S17〜S21を実行し，適合できない理由がある場合に，画面GUI-2に示されるように，前述の警告文を含むボックス32が出力される。そして，複写元ユーザが警告文ボックス内の「はい」を選択すると，管理サーバは複写先IDを登録する。
【００７６】
図１４は，管理サーバによる別の判定処理を説明するための図である。この例では，図１３と異なり，複写対象のテンプレートTP1Cは，OS3を含んでいる。このような場合，管理サーバ123は，管理表２１を参照して，テンプレートTP1C内のOS3が複写先ユーザのハードウエアブロックHBL-Aが提供できないOSであることを検出して不適合と判定し（S21のNO)，「このテンプレートは複写先に存在しないOSが含まれます。」といった警告を複写元ユーザ端末U1に出力し（S24)，複写先IDの登録を拒否する。OSが適合しない場合は，複写先ユーザのハードウエアブロックHBL-Aにおいて提供可能なOSを変更することは，ハードウエアブロックの運用上の制約から困難であるので，複写先IDの登録を拒否することになる。
【００７７】
上記の実施の形態例では，仮想マシンの性能レベルの一例としてＣＰＵの数を示したが，それ以外に，メモリ容量やディスク容量によっても性能レベルが異なる場合がある。これらの性能レベルについても，同様に複写先ユーザのハードウエアブロックが提供可能か否かが判定されてもよい。
【００７８】
以上のように，管理サーバは，複写元ユーザ端末U1からの仮想システム複写依頼に応答して，仮想システムのテンプレートに含まれる仮想マシンの性能レベルやOS等のソフトウエアが，複写先ユーザのハードウエアブロックが提供可能か否かを判定して，複写先ユーザに対して対処可能な場合は，複写元ユーザ端末に警告を出力したうえで承諾があれば複写先ユーザIDを登録し，対処不能な場合は，登録を拒否する。これにより，異なるハードウエアブロック間での仮想システムの複写依頼にユーザに不都合を与えずに適切に対応することができる。
【００７９】
［複写先ユーザ端末U2に対する管理サーバの処理］
図１５は，複写先ユーザ端末に対する管理サーバの仮想システム複写処理のフローチャート図である。あらかじめ，複写元ユーザは，複写先ユーザに複写対象の仮想システムのテンプレートID（ID=TP1C)とその複写キー（COPY-K1)を通知している。
【００８０】
まず，管理サーバ123は，複写先ユーザの端末U2からの複写先ユーザIDでログインを認証後，受け付ける（S30)。そして，管理サーバ123は，複写先ユーザ端末U2から仮想システム複写依頼を受信すると（S32)，複写先ユーザ端末U2からのテンプレートID（ID=TP1C)とテンプレート複写キー（COPY-K1)の通知を受信し（S32)，複写先ユーザがそのテンプレートTP1Cに登録されているユーザか否かと，テンプレート複写キーCOPY-K1が正しい複写キーか否かの認証を行う（S32)。この認証処理は，図１３に示した管理表２３を参照することにより行われる。これにより，複写元ユーザが登録した正規の複写先ユーザからの複写依頼であることを確認する。
【００８１】
そして，管理サーバ123は，複写対象のテンプレートTP1C内の仮想マシンの性能レベルを，複写先ユーザU2のハードウエアブロックHBL-Aが提供可能か否かの判定処理を行う。つまり，複写対象のテンプレートTP1Cに対して複写先ユーザU2のハードウエアブロックHBL-A内のハードウエアを正しく割り付けることができるか否かを判定する。この判定は，複写元ユーザ端末U1からの仮想システム複写依頼時の判定処理と同様である。ただし，複写先ユーザ端末U2からの仮想システム複写依頼時には，OSのチェックは行わない。複写元で既にチェック済みだからである。但し，念のためにOSについてもチェックしてもよい。
【００８２】
管理サーバ123による判定処理では，管理サーバ123は，図１３に示されるとおり，図１１の管理表２２を参照し，複写先ユーザIDのハードウエアブロックを検索する（S23)。その結果，複写先ユーザID＝U2のハードウエアブロックがHBL-Aであることを検出する。そして，管理サーバ123は，図８の管理表２０，２１を参照して，そのハードウエアブロックHBL-Aが提供可能な，つまりそのハードウエアブロックHBL-Aで利用可能な仮想マシンVMを検索する(S34)。
【００８３】
一方，管理サーバ123は，図１３に示されるとおり，図１２の管理表２３を参照して，複写対象のテンプレートTP1Cの仮想マシンVMを検索する（S35)。
【００８４】
そして，管理サーバ123は，図１３，図１４に示されるとおり，複写先ユーザのハードウエアブロックが提供可能な仮想マシンVMと複写対象のテンプレートTP1Cの仮想マシンVMとの性能レベルのマッチングを行い，複写対象のテンプレートTP1Cの全ての仮想マシンVMが，複写先ユーザのハードウエアブロックが提供可能なVMマシンVMに含まれているか否かをチェックする(S36)。
【００８５】
管理サーバ123は，マッチング処理S36で，複写対象のテンプレートTP1Cの全ての仮想マシンVMが，複写先ユーザのハードウエアブロックが提供可能な仮想マシンVMに含まれていることが確認されたら（S37のYES)，複写元ユーザのハードウエアブロックHBL-C内のテンプレートファイルTP1Cを，複写先ユーザのハードウエアブロックHBL-A内の記憶領域にデータ転送して格納する（S38)。この複写されたテンプレートには新たなテンプレートID（ID=TP2)が発行される。このデータ転送処理については後述する。
【００８６】
図１３の例では，テンプレートTP1C内の仮想マシンVMの性能レベルVM-L16は，ハードウエアブロックHBL-Aが提供不能である。そのため，管理サーバ123は，不適合と判定し（S37のNO)，「このテンプレートは割り付けできないサーバタイプ（仮想マシンタイプ）が含まれます。」といった警告や，「このテンプレートは割り付けできないサーバタイプ（仮想マシンタイプ）が含まれます。性能がダウンしたサーバタイプ（仮想マシンタイプ）が割り付けられますが，よろしいですか。」といった警告を，複写先ユーザ端末U1に出力する（S40)。
【００８７】
上記の警告に対して，複写先ユーザ端末U2から承諾を受信すると，管理サーバ123は，テンプレートの複写処理S38と同様の複写処理を行う（S42)。図１３に示されたとおり，複写先ユーザのハードウエアブロックHBL-A内に転送されたテンプレートTP2には仮想マシンVM-L16が含まれていて，そのハードウエアブロックHBL-Aが提供できない仮想マシンである。
【００８８】
そこで，管理サーバ123は，ハードウエアブロックHBL-Aが提供できる仮想マシンのうち，テンプレートTP2内の仮想マシンの性能レベルVM-L16に最も近い性能レベルの仮想マシンVM-L8を検出し，テンプレートTP2内の仮想マシンVM1に対する性能レベルをVM-L16からVM-L8に変更する（S43)。この変更は，マッチング処理S36の時に検出して作成したマッチング情報に基づいて行う。このマッチング情報には，VM-L16とVM-L8の情報が含まれている。
【００８９】
図１６は，テンプレートの複写と複写されたテンプレートの修正を説明する図である。また，図１７は，テンプレートの修正を具体的に示す図である。図１６に示されるとおり，上記のテンプレートの複写処理S38,S42において，複写元ユーザU1のハードウエアブロックHBL-C内のテンプレートTP1Cが複写先ユーザU2のハードウエアブロックHBL-Aに複写にされて，新たなテンプレートTP2が生成される。このテンプレートTP2には仮想マシンとして高い性能レベルの仮想マシンVM-L16が含まれていて，ハードウエアブロックHBL-Aでは利用できな仮想マシンである。そこで，ハードウエアブロックHBL-Aで利用できる仮想マシンのうち，仮想マシンVM-L16に最も性能レベルが近い仮想マシンVM-L8が選択され，テンプレートTP2の仮想マシンVM-L16がVM-L8に変更される。この仮想マシンVM-L8は，ハードウエアブロックHBL-Aが提供できる最も高い性能レベルの仮想マシンである。
【００９０】
最後に，管理サーバ123は，複写先ユーザのハードウエアブロックHBL-Aに複写されたテンプレートファイルTP2に対して，そのハードウエアブロック内のハードウエア資源を割り当てて，テンプレートTP2をシステム化する（S39)。複写されたテンプレートTP2内の仮想マシンなどは既に複写先ユーザのハードウエアブロックHBL-Aで提供可能なものであることが検証または提供可能なものに修正されているので，適切にハードウエア資源が割り当てられてシステム化される。
【００９１】
図２０は，上記の複写先ユーザ端末のユーザインターフェースの例を示す図である。図２０のインターフェース画面GUI-11は，図１５の工程S32のVSYS複写依頼時の複写キーとテンプレートIDとを入力する画面である。ここで，複写先ユーザが複写キーの入力ボックス34とテンプレートIDの入力ボックス36に入力して，「次へ」のボタンを押すと，管理サーバが図１５の工程S33〜S37を実行する。そして，マッチング処理S36の結果，不適合となると，画面GUI-12のように，前述の警告文のボックス38が表示される。複写先ユーザが警告ボックス38内の「はい」ボタンを押して承諾すると（S41)，管理サーバは，工程S42,S43を実行する。
【００９２】
図２１は，工程S42のテンプレート複写中の画面を示す図である。画面GUI-13には，複写リストが示されていて，図２１の例では，２つのテンプレートが既に複写済みであり，今回のテンプレートTP2の複写が行われていることを示す「複写中」38がリストの最上位に表示される。そして，複写が完了すると，画面GUI-14に示したとおり，「複写中」38の表示が消えて，テンプレートTP2の複写完了日時が表示される。
【００９３】
図２０，図２１の画面GUI-11〜GUI-14は，マッチング処理S36で適合しない場合の例である。一方，マッチング処理S36で適合した場合は，画面GUI-11，GUI-13，GUI-14が表示される。つまり，図１５のマッチング適合した場合での工程S38のテンプレート複写処理中の画面も，適合しなかった場合での工程S42のテンプレート複写処理中の画面も，同じ画面GUI-13，GUI-14である。よって，ユーザには複写元と複写先のブロック間の差異を意識させずに，管理サーバが自動的に最適な性能を選択して複写を実行することができる。
【００９４】
図１８は，図１５のテンプレート複写処理S38,S42のフローチャート図である。テンプレート複写は，複写元ユーザのハードウエアブロックHBL-C内のテンプレートTP1Cを複写先ユーザのハードウエアブロックHBL-Aにデータ転送して行われる。そこで，本実施の形態では，管理サーバ123は，テンプレートTP1Cのデータ転送に長時間を要する場合は，テンプレート複写処理を中断して，複写元ユーザのテンプレートTP1Cのデータ量を削減することを複写先ユーザ端末U2に求める。
【００９５】
図１８に示されるとおり，複写先ユーザ端末U2からVSYS複写を依頼する入力または警告に対して承諾することが入力されると（S50)，管理サーバ123は，複写元ユーザのハードウエアブロックHBL-C内のテンプレートTP1Cを複写先ユーザのハードウエアブロックHBL-Aにデータ転送を開始する（S51)。そして，管理サーバ123は，そのデータ転送速度を測定し（S52)，転送速度とテンプレートTP1Cのファイルサイズからデータ転送時間を含む複写時間を予測する（S53)。
【００９６】
管理サーバ123は，複写時間が所定の閾値時間を以上の場合には（S54のNO)，例えば「現在のテンプレート複写時間は８時間（閾値時間）を超えることが予測されるため，処理がキャンセルされます。複写元のテンプレートのデータサイズの縮小を依頼してください。」といった警告を出力し，テンプレート複写処理をキャンセルする（S56)。一方，管理サーバ123は，複写時間が所定の閾値時間未満の場合には（S54のYES)，データ転送を継続し複写処理を完了する（S55)。
【００９７】
管理サーバが複写処理をキャンセルするのは，データ転送時間が閾値時間を超えることが予測される場合は，その複写処理が完了するまで複写先ユーザがデータセンタとの接続を維持することができないのが一般的だからである。
【００９８】
上記の複写先ユーザ端末U2との処理においても，仮想マシンの性能レベルは，ＣＰＵの数以外に，メモリ容量やディスク容量によっても性能レベルが異なる場合がある。これらの性能レベルについても，同様に複写先ユーザのハードウエアブロックが提供可能か否かが判定されてもよい。
【００９９】
以上のように，管理サーバは，複写先ユーザ端末U1からの仮想システム複写依頼に応答して，仮想システムのテンプレートに含まれる仮想マシンの性能レベル等が，複写先ユーザのハードウエアブロックが提供可能か否かを判定して，複写先ユーザに対して対処可能な場合は，複写元ユーザ端末に警告を出力したうえで承諾があれば複写処理を実行し，承諾がないまたは対処不能な場合は，登録を拒否する。これにより，異なるハードウエアブロック間での仮想システムの複写依頼にユーザに不都合を与えずに適切に対応することができる。
【０１００】
以上，本実施の形態によれば，データセンタの異なるハードウエアブロック間での仮想システム複写処理を，複写元ユーザと複写先ユーザに迷惑をかけることなく適切に行うことができる。
【０１０１】
以上の実施の形態をまとめると，次の付記のとおりである。
【０１０２】
（付記１）
少なくとも複数のサーバと複数のストレージを有するハードウエア資源群と，
仮想マシンを有する仮想システムの情報を有するユーザテンプレートファイルを記憶領域に格納し，前記ユーザテンプレートファイルに前記ハードウエア資源群内のハードウエアを割り付けて前記仮想システムを構築し運用する管理サーバとを有し，
前記ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックを有し，
前記管理サーバは，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定するデータセンタ。
【０１０３】
（付記２）
付記１において，
前記管理サーバは，前記仮想システム複写依頼を許可する場合に，前記複写対象の第１のユーザの仮想システムのテンプレートファイルを複写して生成した第１のテンプレートファイルを複写して，前記第２のユーザの第２のテンプレートファイルを生成し，当該第２のテンプレートファイルに前記第２のハードウエアブロック内のハードウエアを割り付けて複写先仮想システムを構築するデータセンタ。
【０１０４】
（付記３）
付記２において，
前記管理サーバは，複写元の前記第１のユーザの端末からの前記仮想システム複写依頼に応答して，前記複写先の第２のハードウエアブロックが提供可能な前記仮想マシンの性能レベルが，前記複写対象の第１のユーザの仮想システム内の仮想マシンの性能レベルを含んでいない場合に，第１の警告を出力するデータセンタ。
【０１０５】
（付記４）
付記３において，
前記管理サーバは，前記第１の警告に，複写後の仮想システム内の仮想マシンの性能レベルが低下するメッセージを含めるデータセンタ。
【０１０６】
（付記５）
付記２において，
前記管理サーバは，複写元の前記第１のユーザの端末からの前記仮想システム複写依頼に応答して，前記複写先の第２のハードウエアブロックが提供可能な前記仮想マシンにインストールされるソフトウエアが，前記複写対象の第１のユーザの仮想システム内の仮想マシンにインストールされているソフトウエアを含んでいない場合に，前記仮想システム複写依頼を許可しないデータセンタ。
【０１０７】
（付記６）
付記２において，
前記管理サーバは，複写先の前記第２のユーザの端末からの前記仮想システム複写依頼に応答して，前記複写先の第２のハードウエアブロックが提供可能な前記仮想マシンの性能レベルが，前記複写対象の第１のユーザの仮想システム内の仮想マシンの性能レベルを含んでいない場合に，第２の警告を出力するデータセンタ。
【０１０８】
（付記７）
付記６において，
前記管理サーバは，前記第２の警告に，複写後の仮想システム内の仮想マシンの性能レベルが低下するメッセージを含めるデータセンタ。
【０１０９】
（付記８）
付記７において，
前記管理サーバは，前記第２の警告に含まれる前記メッセージに対する前記第２のユーザ端末からの承諾に応答して，前記第２のテンプレートファイル内の前記仮想マシンの性能レベルを，前記第２のハードウエアブロックが提供可能な前記仮想マシンの性能レベルのうち最も近い性能レベルに変更するデータセンタ。
【０１１０】
（付記９）
付記２において，
前記管理サーバは，複写先の前記第２のユーザの端末からの前記仮想システム複写依頼に応答して，前記第１のテンプレートファイルを複写して前記第２のテンプレートファイルを生成する複写処理におけるデータ転送時間が所定の基準時間を超える場合に，前記仮想システム複写依頼を許可しないデータセンタ。
【０１１１】
（付記１０）
少なくとも複数のサーバと複数のストレージを有するハードウエア資源群と，
仮想マシンを有する仮想システムの情報を有するテンプレートファイルを記憶領域に格納し，前記テンプレートファイルに前記ハードウエア資源群内のハードウエアを割り付けて前記仮想システムを構築し運用する管理サーバとを有し，
前記ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックを有するデータセンタでの仮想システムの複写サービスの提供方法であって，
前記管理サーバが，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定する工程を有するデータセンタでの仮想システムの複写サービスの提供方法。
【０１１２】
（付記１１）
付記１０において，
前記管理サーバが，前記仮想システム複写依頼を許可する場合に，前記複写対象の第１のユーザの仮想システムのテンプレートファイルを複写して生成した第１のテンプレートファイルを複写して，前記第２のユーザの第２のテンプレートファイルを生成し，当該第２のテンプレートファイルに前記第２のハードウエアブロック内のハードウエアを割り付けて複写先仮想システムを構築する工程を有するデータセンタでの仮想システムの複写サービスの提供方法。
【０１１３】
（付記１２）
少なくとも複数のサーバと複数のストレージを有するハードウエア資源群と，
仮想マシンを有する仮想システムの情報を有するテンプレートファイルを記憶領域に格納し，前記テンプレートファイルに前記ハードウエア資源群内のハードウエアを割り付けて前記仮想システムを構築し運用する管理サーバとを有し，
前記ハードウエア資源群は，それぞれ所定数のサーバと所定数のストレージを有する複数のハードウエアブロックを有するデータセンタにおける前記管理サーバが実行する仮想システム複写プログラムであって，
前記仮想システム複写プログラムは，
前記管理サーバに，第１のユーザの第１のハードウエアブロック内のハードウエアが割り付けられている第１のユーザの仮想システムを第２のユーザの第２のハードウエアブロックに複写する仮想システム複写依頼に応答して，複写先の前記第２のハードウエアブロックが，複写対象の第１のユーザの仮想システム内の仮想マシンを提供可能か否かを判定する工程を実行させるデータセンタでの仮想システム複写プログラム。
【０１１４】
（付記１３）
付記１２において，
前記仮想システム複写プログラムは，
前記管理サーバに，前記仮想システム複写依頼を許可する場合に，前記複写対象の第１のユーザの仮想システムのテンプレートファイルを複写して生成した第１のテンプレートファイルを複写して，前記第２のユーザの第２のテンプレートファイルを生成し，当該第２のテンプレートファイルに前記第２のハードウエアブロック内のハードウエアを割り付けて複写先仮想システムを構築する工程を有するデータセンタでの仮想システム複写プログラム。
【符号の説明】
【０１１５】
１０：ハードウエア資源群
１２：管理サーバ
TP1, TP2, TP3：仮想システム
VM0, VM1, VM2, VM3：仮想マシン
HBL：ハードウエアブロック
【図１】
2014109900.tif 000003
【図２】
2014109900.tif 000004
【図３】
2014109900.tif 000005
【図４】
2014109900.tif 000006
【図５】
2014109900.tif 000007
【図６】
2014109900.tif 000008
【図７】
2014109900.tif 000009
【図８】
2014109900.tif 000010
【図９】
2014109900.tif 000011
【図１０】
2014109900.tif 000012
【図１１】
2014109900.tif 000013
【図１２】
2014109900.tif 000014
【図１３】
2014109900.tif 000015
【図１４】
2014109900.tif 000016
【図１５】
2014109900.tif 000017
【図１６】
2014109900.tif 000018
【図１７】
2014109900.tif 000019
【図１８】
2014109900.tif 000020
【図１９】
2014109900.tif 000021
【図２０】
2014109900.tif 000022
【図２１】
2014109900.tif 000023