(57)【要約】【課題】物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置する。【解決手段】仮想マシン配置装置２００は、各仮想マシンの仮想マシンワークロードＩＤ毎に、排他したい仮想マシンワークロードＩＤ及び排他優先度を含む条件式情報を記憶する仮想マシンワークロード情報ＤＢ２０２を備え、配置テーブル２０５ａへの配置処理の途中で、最大物理マシン台数を超えた場合には、仮想マシンワークロード情報ＤＢ２０２内の条件式情報のうち、排他優先度が最も低い条件式情報を削除し、削除の後、配置テーブル２０５ａ及び配置決定用テーブル２０５ｂを初期化して配置処理を再実行する。【選択図】図１
2011028328.tif 000002
【特許請求の範囲】
【請求項１】
最大物理マシン台数よりも多い台数の仮想マシンを前記最大物理マシン台数の物理マシンに配置可能であり、且つ前記各仮想マシンの仮想マシンワークロードＩＤ毎に、排他したい仮想マシンワークロードＩＤ及び排他優先度を含む条件式情報を記憶する条件式記憶手段と、前記各物理マシンを示す物理マシン変数毎に、前記各仮想マシンの仮想マシンワークロードＩＤ及び当該仮想マシンワークロードＩＤに対応する条件式情報を関連付けた配置テーブルを記憶する配置テーブル記憶手段と、前記配置テーブルに書込む前の物理マシン変数、前記仮想マシンワークロードＩＤ及び当該仮想マシンワークロードＩＤに対応する条件式情報を関連付けた配置決定用テーブルを記憶するための配置決定用テーブル記憶手段とを備えた仮想マシン配置装置に用いられる仮想マシン配置プログラムであって、
前記仮想マシン配置装置を、
前記配置テーブルに書込む前の物理マシン変数、仮想マシンワークロードＩＤ及び条件式情報を前記配置決定用テーブルに設定する設定手段、
前記配置決定用テーブルに設定された物理マシン変数に関連付けて、前記配置決定用テーブル内の仮想マシンワークロードＩＤ及び条件式情報と、前記配置テーブル内の仮想マシンワークロードＩＤ及び条件式情報とを比較する比較手段、
前記比較の結果、両者のいずれも排他される関係にない場合には、前記配置決定用テーブル内の物理マシン変数に関連付けて当該配置決定用テーブル内の仮想マシンワークロードＩＤ及び条件式情報を前記配置テーブルに書込む書込手段、
前記比較の結果、両者の少なくとも一方が排他される関係にある場合には、前記配置決定用テーブル内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が前記最大物理マシン台数を超えたか否かを判定する台数判定手段、
前記台数判定手段による判定の結果、否の場合には、前記比較手段を再実行する第１再実行手段、
前記台数判定手段による判定の結果、最大物理マシン台数を超えた場合には、前記条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除手段、
前記削除の後、前記配置テーブル及び前記配置決定用テーブルを初期化して前記設定手段及び前記比較手段を再実行する第２再実行手段、
前記配置テーブルに全ての仮想マシンワークロードＩＤが書き込まれた後、当該配置テーブル内の仮想マシンワークロードＩＤが示す仮想マシンを当該配置テーブル内の物理マシン変数が示す物理マシンに配置する配置手段、
として機能させるための仮想マシン配置プログラム。
【請求項２】
請求項１に記載の仮想マシン配置プログラムにおいて、
前記比較手段は、
前記比較により、前記配置決定用テーブル内の条件式情報に基づいて、前記配置テーブル内の仮想マシンワークロードＩＤが排他される関係にあるか否かを判定し、この判定結果を示す前記比較の結果を得る第１の比較結果取得手段と、
前記比較により、前記配置テーブル内の条件式情報に基づいて、前記配置決定用テーブル内の仮想マシンワークロードＩＤが排他される関係にあるか否かを判定し、この判定結果を示す前記比較の結果を得る第２の比較結果取得手段と、
を含んでいることを特徴とする仮想マシン配置プログラム。
【請求項３】
請求項１又は請求項２に記載の仮想マシン配置プログラムにおいて、
前記設定手段は、前記仮想マシンワークロードＩＤ及び条件式情報の配置決定用テーブルへの設定順序を示す順列を記録する設定順序記録手段、を含んでおり、
前記条件式削除手段は、
前記削除を実行する前に、全ての前記仮想マシンワークロードＩＤ及び条件式情報の順列のうち、前記設定順序記録手段に記録された順列とは異なる順列があるか否かを判定する順列判定手段と、
前記順列判定手段による判定の結果、前記異なる順列がある場合には、前記配置テーブル及び前記配置決定用テーブルを初期化し、当該異なる順列に基づいて前記設定手段及び前記比較手段を再実行する手段と、
前記順列判定手段による判定の結果、否の場合には、前記削除を実行する手段と、
を含んでいることを特徴とする仮想マシン配置プログラム。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の仮想マシン配置プログラムにおいて、
前記設定手段は、前記書込手段による書込みの後、物理マシン変数を初期値に設定すると共に、現時点で前記配置テーブルに書込み前の仮想マシンワークロードＩＤ及び条件式情報を前記配置決定用テーブルに設定する手段、として前記仮想マシン配置装置を更に機能させる仮想マシン配置プログラム。
【請求項５】
最大物理マシン台数よりも多い台数の仮想マシンを前記最大物理マシン台数の物理マシンに配置可能な仮想マシン配置装置であって、
前記各仮想マシンの仮想マシンワークロードＩＤ毎に、排他したい仮想マシンワークロードＩＤ及び排他優先度を含む条件式情報を記憶する条件式記憶手段と、
前記各物理マシンを示す物理マシン変数毎に、前記各仮想マシンの仮想マシンワークロードＩＤ及び当該仮想マシンワークロードＩＤに対応する条件式情報を関連付けた配置テーブルを記憶する配置テーブル記憶手段と、
前記配置テーブルに書込む前の物理マシン変数、前記仮想マシンワークロードＩＤ及び当該仮想マシンワークロードＩＤに対応する条件式情報を関連付けた配置決定用テーブルを記憶するための配置決定用テーブル記憶手段と、
前記配置テーブルに書込む前の物理マシン変数、仮想マシンワークロードＩＤ及び条件式情報を前記配置決定用テーブルに設定する設定手段と、
前記配置決定用テーブルに設定された物理マシン変数に関連付けて、前記配置決定用テーブル内の仮想マシンワークロードＩＤ及び条件式情報と、前記配置テーブル内の仮想マシンワークロードＩＤ及び条件式情報とを比較する比較手段と、
前記比較の結果、両者のいずれも排他される関係にない場合には、前記配置決定用テーブル内の物理マシン変数に関連付けて当該配置決定用テーブル内の仮想マシンワークロードＩＤ及び条件式情報を前記配置テーブルに書込む書込手段と、
前記比較の結果、両者の少なくとも一方が排他される関係にある場合には、前記配置決定用テーブル内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が前記最大物理マシン台数を超えたか否かを判定する台数判定手段と、
前記台数判定手段による判定の結果、否の場合には、前記比較手段を再実行する第１再実行手段と、
前記台数判定手段による判定の結果、最大物理マシン台数を超えた場合には、前記条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除手段と、
前記削除の後、前記配置テーブル及び前記配置決定用テーブルを初期化して前記設定手段及び前記比較手段を再実行する第２再実行手段と、
前記配置テーブルに全ての仮想マシンワークロードＩＤが書き込まれた後、当該配置テーブル内の仮想マシンワークロードＩＤが示す仮想マシンを当該配置テーブル内の物理マシン変数が示す物理マシンに配置する配置手段と、
を備えたことを特徴とする仮想マシン配置装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理マシンに仮想マシンを配置するための仮想マシン配置プログラム及び装置であり、例えば、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置し得る仮想マシン配置プログラム及び装置に関する。
【背景技術】
【０００２】
ＯＳ(Operating System)およびアプリケーションが含まれる仮想マシンを、実行環境の仮想マシンモニタが動作している物理マシンに配置する際、アプリケーションの性能確保や物理マシンのリソース利用率の最適化のための方法が知られている。
【０００３】
この種の方法としては、例えば、仮想マシンを一定期間運用して、物理サーバリソースおよび各仮想マシンの性能情報（パフォーマンスの実測データ、メモリ容量、ハードディスク容量など）から、算出式により複数の物理サーバにまたがり仮想マシンを再配置し最適的化を行う方式がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１１５６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上のような特許文献１に記載の方式は、通常は何の問題もないが、本発明者の検討によれば、物理マシンの台数が仮想マシンの台数よりも少ない台数に制限された場合において、各仮想マシンを排他的に配置できない状況に対応していない点で改良の余地がある。
【０００６】
例えば、Ｗｅｂシステムを構築するプロジェクトの場合、Ｗｅｂサーバ、アプリケーションサーバおよびデータベースサーバを含む仮想マシンで構成される。
【０００７】
この際、１つのプロジェクトが性能面や可用性確保のため、Ｗｅｂサーバやアプリケーションサーバに対応した複数台の仮想マシンを用意して負荷分散させる際、それぞれの仮想マシンを異なる物理マシンに配置させる必要がある。
【０００８】
また高負荷が発生しやすいデータベースの仮想マシンのサービスが稼動している物理マシン上には、他のワークロード、例えばアプリケーションサーバの仮想マシンと同居させないといった性能面を配慮する必要がある。
【０００９】
このとき、物理マシンの台数が制限されていると、場合によっては各仮想マシンを排他的に配置できない状況が生じる。しかしながら、特許文献１に記載の方式は、このような状況に対応していないため、改良の余地がある。
【００１０】
本発明は上記実情を考慮してなされたもので、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置し得る仮想マシン配置プログラム及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一つの局面は、最大物理マシン台数よりも多い台数の仮想マシンを前記最大物理マシン台数の物理マシンに配置可能であり、且つ前記各仮想マシンの仮想マシンワークロードＩＤ毎に、排他したい仮想マシンワークロードＩＤ及び排他優先度を含む条件式情報を記憶する条件式記憶手段と、前記各物理マシンを示す物理マシン変数毎に、前記各仮想マシンの仮想マシンワークロードＩＤ及び当該仮想マシンワークロードＩＤに対応する条件式情報を関連付けた配置テーブルを記憶する配置テーブル記憶手段と、前記配置テーブルに書込む前の物理マシン変数、前記仮想マシンワークロードＩＤ及び当該仮想マシンワークロードＩＤに対応する条件式情報を関連付けた配置決定用テーブルを記憶するための配置決定用テーブル記憶手段とを備えた仮想マシン配置装置に用いられる仮想マシン配置プログラムであって、前記仮想マシン配置装置を、前記配置テーブルに書込む前の物理マシン変数、仮想マシンワークロードＩＤ及び条件式情報を前記配置決定用テーブルに設定する設定手段、前記配置決定用テーブルに設定された物理マシン変数に関連付けて、前記配置決定用テーブル内の仮想マシンワークロードＩＤ及び条件式情報と、前記配置テーブル内の仮想マシンワークロードＩＤ及び条件式情報とを比較する比較手段、前記比較の結果、両者のいずれも排他される関係にない場合には、前記配置決定用テーブル内の物理マシン変数に関連付けて当該配置決定用テーブル内の仮想マシンワークロードＩＤ及び条件式情報を前記配置テーブルに書込む書込手段、前記比較の結果、両者の少なくとも一方が排他される関係にある場合には、前記配置決定用テーブル内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が前記最大物理マシン台数を超えたか否かを判定する台数判定手段、前記台数判定手段による判定の結果、否の場合には、前記比較手段を再実行する第１再実行手段、前記台数判定手段による判定の結果、最大物理マシン台数を超えた場合には、前記条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除手段、前記削除の後、前記配置テーブル及び前記配置決定用テーブルを初期化して前記設定手段及び前記比較手段を再実行する第２再実行手段、前記配置テーブルに全ての仮想マシンワークロードＩＤが書き込まれた後、当該配置テーブル内の仮想マシンワークロードＩＤが示す仮想マシンを当該配置テーブル内の物理マシン変数が示す物理マシンに配置する配置手段、として機能させるための仮想マシン配置プログラムである。
【００１２】
なお、本発明の一つの局面は、プログラムとして表現したが、これに限らず、装置、方法、プログラムを記憶したコンピュータ読取り可能な記憶媒体、などのように他の名称又はカテゴリーとして表現することも可能である。
【００１３】
（作用）
本発明の一つの局面では、各仮想マシンの仮想マシンワークロードＩＤ毎に、排他したい仮想マシンワークロードＩＤ及び排他優先度を含む条件式情報を記憶する条件式記憶手段を備え、最大物理マシン台数を超えた場合には、条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除し、削除の後、配置テーブル及び配置決定用テーブルを初期化して設定手段及び比較手段を再実行するので、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置できる。
【発明の効果】
【００１４】
以上説明したように本発明によれば、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る情報システムの構成図である。
【図２】同実施形態における物理マシン情報ＤＢの構成を示す模式図である。
【図３】同実施形態における仮想マシンワークロード情報ＤＢの構成を示す模式図である。
【図４】同実施形態におけるプロジェクト情報ＤＢの構成を示す模式図である。
【図５】同実施形態における仮想マシン配置情報ＤＢの構成を示す模式図である。
【図６】同実施形態における配置テーブルの構成を示す模式図である。
【図７】同実施形態における配置決定用テーブルの構成を示す模式図である。
【図８】同実施形態における動作を説明するためのフローチャートである。
【図９】同実施形態における配置テーブルの処理を説明するための模式図である。
【図１０】同実施形態における配置決定用テーブルを説明するための模式図である。
【図１１】同実施形態における配置テーブルの処理の一例を示す模式図である。
【図１２】同実施形態における配置結果の一例を示す模式図である。
【図１３】同実施形態における配置テーブルの処理の他の例を示す模式図である。
【図１４】同実施形態における配置結果の他の例を示す模式図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について図面を用いて説明するが、その前に、本発明の概要を述べる。本発明の概要としては、アプリケーションのワークロードの性能面や可用性を条件式（排他関係）で表現し、配置前の仮想マシンに定義することで仮想マシンの配置の自動化を行うものである。
【００１７】
始めに、準備フェーズでアプリケーションのワークロードが含まれる仮想マシンイメージに対して条件式（排他関係）を定義する。
【００１８】
次に、配置フェーズでは、プロジェクトに必要となるワークロードの仮想マシンイメージと台数を選択する。
【００１９】
最後に、仮想マシン配置装置では選択されたワークロード仮想マシンの条件式を取り込み、配置テーブル（配置装置内の記憶部（メモリなど）を利用する）で配置構成を展開して配置する物理サーバ台数と配置先を自動的に決定する。ここで、物理サーバ台数が少ないために幾つかの条件式（排他関係）を満たさない場合でも、仮想マシンの排他関係の優先度を利用した調整（妥協）を行うことにより、仮想マシンの配置を決定する。
【００２０】
以上が本発明の概要である。続いて、本発明の一実施形態について具体的に説明する。
【００２１】
図１は本発明の一実施形態に係る仮想マシン配置装置が適用された情報システムの構成図である。この情報システムは、複数の物理マシンＲ１〜Ｒ４、ファイルサーバ装置１００、仮想マシン配置装置２００及び管理端末装置３００を備えている。各装置Ｒ１〜Ｒ４，１００，２００，３００は、ＬＡＮ(Local Area Network)等のネットワークにより接続されている。
【００２２】
なお、これら各装置Ｒ１〜Ｒ４，１００，２００，３００は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００２３】
ここで、物理マシンＲ１〜Ｒ４は、図示しないホストＯＳと、仮想マシンモニタ（ＶＭＭ:Virtual Machine Monitor）１〜４とを備えており、仮想マシン配置装置２００により配置された仮想マシン（例、Web1，AP1，AP2，DB1）のソフトウェアを実行可能となっている。仮想マシンは、アプリケーション及びＯＳ（ゲストＯＳ）により構成される。ただし、ハイパーバイザー型仮想マシンモニタの場合は、ホストＯＳは物理マシンの構成に含まれない。
【００２４】
ファイルサーバ装置１００は、仮想マシンイメージファイルを格納する格納部１０１を有する。仮想マシンイメージファイルは仮想マシンの保存イメージであり、仮想マシンはアプリケーション及びＯＳ（ゲストＯＳ）により構成される。
【００２５】
仮想マシン配置装置２００は、物理マシン情報ＤＢ(Database)２０１、仮想マシンワークロード情報ＤＢ２０２、プロジェクト情報ＤＢ２０３、仮想マシン配置情報ＤＢ２０４、記憶部２０５、物理マシン情報管理部２０６、仮想マシンワークロード情報管理部２０７、プロジェクト情報管理部２０８、仮想マシン配置決定部２０９、仮想マシン複製部２１０、仮想マシン起動部２１１、仮想マシン停止部２１２、仮想マシン削除部２１３及び仮想マシン配置制御部２１４を備えている。
【００２６】
ここで、物理マシン情報ＤＢ２０１は、各部２０６〜２１４から読出／書込可能な記憶手段であり、図２に示すように、物理マシンＩＤ(Identification)毎に、物理マシン基本情報を記憶する。物理マシン基本情報としては、例えば、マシン名、メモリ容量、ＣＰＵ(Central Processing Unit)クロック周波数（コア数）、コア数及びディスク容量などが適宜使用可能となっている。
【００２７】
仮想マシンワークロード情報ＤＢ２０２は、各部２０６〜２１４から読出／書込可能な記憶手段であり、図３に示すように、仮想マシンワークロードＩＤ毎に、仮想マシン基本情報、アプリケーション情報、ワークロード条件式情報及び格納元仮想マシン情報を記憶する。仮想マシン基本情報としては、例えば、メモリ容量、ディスク容量及びＣＰＵコア数などが適宜使用可能となっている。アプリケーション情報としては、例えば、アプリケーションＩＤ及びバージョン情報などが適宜使用可能となっている。
【００２８】
ワークロード条件式情報は、排他優先度及び排他したい仮想マシンワークロードＩＤを含む１つ以上の条件式からなる情報である。例えば、仮想マシンワークロードＩＤ＝Ａに対し、ワークロード条件式情報の条件式に“not B”が設定された場合、仮想マシンワークロードＩＤ＝Ａに対し、排他したい仮想マシンワークロードＩＤ＝Ｂが異なる物理サーバに配置される。ここで、排他の優先度の高低をノット文字の小文字及び大文字（例えば、not：優先度低い。NOT：優先度高い）で指定可能となっている（なお、not：優先度高い、NOT：優先度低い、としてもよい）。また、大文字ノット又は小文字ノットに数字を付加して、より細かい優先度（例えばnot01からnot99）も指定可能となっている。また、全ての仮想マシンＩＤを排他する場合はnot ALLのように指定可能となっている。
【００２９】
格納元仮想マシン情報は、仮想マシン複製部２１０からファイルサーバ装置１００内の仮想マシンイメージファイルを取得するための情報であり、具体的には、ファイルサーバ装置１００と仮想マシンイメージファイルのパス情報である。
【００３０】
プロジェクト情報ＤＢ２０３は、各部２０６〜２１４から読出／書込可能な記憶手段であり、図４に示すように、プロジェクトＩＤ毎に、利用可能な最大物理マシン台数、利用する仮想マシンを示す仮想マシンワークロードＩＤとその仮想マシン台数を記憶する。仮想マシンワークロードＩＤは複数種類を設定可能である。仮想マシン台数は、同一の仮想マシンワークロードＩＤに対して複数台を設定可能である。
【００３１】
仮想マシン配置情報ＤＢ２０４は、各部２０６〜２１４から読出／書込可能な記憶手段であり、図５に示すように、配置完了状態を示す配置ＩＤ及びプロジェクトＩＤ毎に、物理マシンＩＤ、仮想マシンＩＤ及び仮想マシンワークロードＩＤを記憶する。
【００３２】
記憶部２０５は、各部２０６〜２１４から読出／書込可能な記憶手段であり、例えば、配置テーブル２０５ａ、配置決定用テーブル２０５ｂ及びＮＧワークロード条件式などの記憶に用いられる。
【００３３】
ここで、配置テーブル２０５ａは、図６に示すように、各物理マシンを示す物理マシン変数ｘ毎に、各仮想マシンの仮想マシンワークロードＩＤ（Wlt列に記憶）及び当該仮想マシンワークロードＩＤに対応する条件式情報（条件列に記憶）を読出／書込可能な情報テーブルである。また、配置テーブル２０５ａは、書き込まれた仮想マシンワークロードＩＤ及び条件式情報を、物理マシン変数ｘの列座標ｘと仮想マシン変数ｙの行座標ｙとにより特定可能となっている。なお、仮想マシン変数ｙを省略し、当該仮想マシン変数ｙとして、仮想マシンワークロードＩＤ（wlt列に記憶）を用いてもよい。
【００３４】
配置決定用テーブル２０５ｂは、図７に示すように、物理マシン変数x毎に、仮想マシン変数ｙ、仮想マシンワークロードＩＤ（変数$wlt列）、当該仮想マシンワークロードＩＤに対応する条件式情報（配列＠exp[con,wlt]列）、第１及び第２条件ステータスを読出／書込可能な情報テーブルである。なお、仮想マシン変数ｙを省略し、当該仮想マシン変数ｙとして、仮想マシンワークロードＩＤ（変数$wlt列に記憶）を用いてもよい。また、第１及び第２条件ステータスは、書込み済みの配置テーブルとの間の排他関係の有無を示す情報であり、必ずしも配置決定用テーブル２０５ｂに書き込む必要は無いので、配置決定用テーブル２０５ｂから省略してもよい。
【００３５】
また、各ＤＢ２０１〜２０４及び記憶部２０５に用いられる記憶手段は、同一の記憶装置内の互いに異なる記憶領域としてもよく、互いに異なる記憶装置としてもよい。例えば、各ＤＢ２０１〜２０４は同一のハードディスク装置内の互いに異なる記憶領域を用い、記憶部２０５はＲＡＭを用いるようにしてもよい。また、各ＤＢ２０１〜２０４及び記憶部２０５は同一のＲＡＭ内の互いに異なる記憶領域を用いるようにしてもよい。
【００３６】
物理マシン情報管理部２０６は、管理者端末装置３００の操作により、物理マシンＩＤ毎に、物理マシン基本情報を物理マシン情報ＤＢ２０１に書き込む機能をもっている。
【００３７】
仮想マシンワークロード情報管理部２０７は、管理者端末装置３００の操作により、仮想マシンワークロードＩＤ毎に、仮想マシン基本情報、アプリケーション情報、ワークロード条件式情報及び格納元仮想マシン情報を仮想マシンワークロード情報ＤＢ２０２に書き込む機能をもっている。
【００３８】
プロジェクト（ＰＪ）情報管理部２０８は、管理者端末装置３００の操作により、プロジェクトＩＤ毎に、最大物理マシン台数、仮想マシンワークロードＩＤ及び仮想マシン台数をプロジェクト情報ＤＢ２０３に書き込む機能をもっている。
【００３９】
仮想マシン配置決定部２０９は、仮想マシン配置制御部２１４に起動されると、仮想マシンワークロード情報ＤＢ２０２と、プロジェクト情報ＤＢ２０３に基づいて、仮想マシンワークロードＩＤに対応する条件式情報を満たすように、配置テーブル２０５ａを決定する機能と、配置テーブル２０５ａを決定すると、仮想マシン配置制御部２１４に制御を移す機能をもっている。
【００４０】
ここで、配置テーブル２０５ａを決定する機能は、概略的には以下の各機能(f209-1)〜(f209-7)から構成されている。
【００４１】
(f209-1)  配置テーブル２０５ａに書込む前の物理マシン変数、仮想マシンワークロードＩＤ及び条件式情報を配置決定用テーブル２０５ｂに設定する設定機能。
【００４２】
なお、この設定機能は、(f209-1-1) 仮想マシンワークロードＩＤ及び条件式情報の配置決定用テーブル２０５ｂへの設定順序を示す順列を記録する設定順序記録機能を更に備えていてもよい。
【００４３】
また、設定機能は、(f209-1-2) 後述する(f209-3)の書込機能による書込みの後、物理マシン変数を初期値に設定すると共に、現時点で配置テーブル２０５ａに書込み前の仮想マシンワークロードＩＤ及び条件式情報を配置決定用テーブル２０５ｂに設定する機能、を更に備えていてもよい。なお、(f209-1-1) の設定順序記録機能と、 (f209-1-2)の機能とは、両方を備えるか両方とも備えない場合に限らず、いずれか一方を備えていてもよい。
【００４４】
(f209-2)  配置決定用テーブル２０５ｂに設定された物理マシン変数に関連付けて、配置決定用テーブル２０５ｂ内の仮想マシンワークロードＩＤ及び条件式情報と、配置テーブル２０５ａ内の仮想マシンワークロードＩＤ及び条件式情報とを比較する比較機能。
【００４５】
なお、この比較機能は、(f202-2-1) 比較により、配置決定用テーブル２０５ｂ内の条件式情報に基づいて、配置テーブル２０５ａ内の仮想マシンワークロードＩＤが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果を得る第１の比較結果取得機能と、(f202-2-2) 比較により、配置テーブル２０５ａ内の条件式情報に基づいて、配置決定用テーブル２０５ｂ内の仮想マシンワークロードＩＤが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果を得る第２の比較結果取得機能と、を含んでいてもよい。
【００４６】
(f209-3)  比較の結果、両者のいずれも排他される関係にない場合には、配置決定用テーブル２０５ｂ内の物理マシン変数に関連付けて当該配置決定用テーブル２０５ｂ内の仮想マシンワークロードＩＤ及び条件式情報を配置テーブル２０５ａに書込む書込機能。
【００４７】
(f209-4)  比較の結果、両者の少なくとも一方が排他される関係にある場合には、配置決定用テーブル２０５ｂ内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が最大物理マシン台数Ｍを超えたか否かを判定する台数判定機能。
【００４８】
(f209-5)  台数判定機能による判定の結果、否の場合には、比較機能を再実行する第１再実行機能。
【００４９】
(f209-6)  台数判定機能による判定の結果、最大物理マシン台数Ｍを超えた場合には、仮想マシンワークロード情報ＤＢ２０２内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除機能。
【００５０】
なお、この条件式削除機能は、(f209-6-1) 削除を実行する前に、全ての仮想マシンワークロードＩＤ及び条件式情報の順列のうち、設定順序記録機能に記録された順列とは異なる順列があるか否かを判定する順列判定機能と、(f209-6-2) 順列判定機能による判定の結果、異なる順列がある場合には、配置テーブル２０５ａ及び配置決定用テーブル２０５ｂを初期化し、当該異なる順列に基づいて設定機能及び比較機能を再実行する機能と、(f209-6-3) 順列判定機能による判定の結果、否の場合には、削除を実行する機能と、を含んでいてもよい。
【００５１】
(f209-7)  削除の後、配置テーブル２０５ａ及び配置決定用テーブル２０５ｂを初期化して設定機能及び比較機能を再実行する第２再実行機能。
【００５２】
仮想マシン複製部２１０は、仮想マシン配置制御部２１４により起動されると、仮想マシン配置情報内の仮想マシンワークロードＩＤに対応する仮想マシンワークロード情報ＤＢ２０２内の格納元仮想マシン情報（パス情報）に基づいて、ファイルサーバ装置１００の仮想マシンイメージファイルを複製する機能と、この複製した仮想マシンイメージファイルを仮想マシン配置情報内の物理マシンＩＤに基づいて、物理マシンＲ１〜Ｒ４の仮想マシンモニタ１〜４上にネットワークを介して配置する機能とをもっている。
【００５３】
仮想マシン起動部２１１は、仮想マシン配置制御部２１４により指定された物理マシン上の仮想マシンモニタに対して仮想マシン起動命令を発行する機能をもっている。
【００５４】
仮想マシン停止部２１２は、仮想マシン配置制御部２１４により指定された物理マシン上の仮想マシンモニタに対して仮想マシン停止命令を発行する機能をもっている。
【００５５】
仮想マシン削除部２１３は、仮想マシン配置制御部２１４により指定された物理マシン上の仮想マシンモニタに対して仮想マシン削除命令を発行する機能をもっている。
【００５６】
仮想マシン配置制御部２１４は、主には図８に示す如き、仮想マシンを配置する処理を実行するように各部２０６〜２１０を制御するものであり、例えば、配置テーブル２０５ａに全ての仮想マシンワークロードＩＤが書き込まれた後、当該配置テーブル２０５ａ内の仮想マシンワークロードＩＤが示す仮想マシンを当該配置テーブル２０５ａ内の物理マシン変数が示す物理マシンに配置するように、仮想マシン配置情報ＤＢ２０４に仮想マシン配置情報を書き込む機能と、この書込みの後、仮想マシン複製部２１０を起動する機能と、仮想マシン複製部２１０による仮想マシンの配置の後、仮想マシン起動部２１１を利用して仮想マシンを起動する機能とをもっている。
【００５７】
但し、仮想マシン配置制御部２１４は、仮想マシンを配置する処理に限らず、仮想マシンを起動、停止又は削除する処理を実行するように、各部２１１〜２１３を制御する機能も持っている。
【００５８】
管理端末装置３００は、図示しない表示部（ディスプレイ）及び入力部（キーボード、マウス）を備えたコンピュータであり、管理者が操作指示を行う。管理端末装置３００は仮想マシン配置装置２００に接続して、各種命令を送信する機能と命令実行結果を受信し表示する機能を有する。
【００５９】
次に、以上のように構成された仮想マシン配置装置の動作を図８のフローチャートを用いて説明する。
【００６０】
［ステップＳＴ１］  配置する際の準備段階として、管理端末装置３００は、管理者による入力部の操作により、仮想マシン配置装置２００に接続する。
【００６１】
仮想マシン配置装置２００においては、管理者による管理端末装置３００の操作に応じて、物理マシン情報管理部２０６及び仮想マシンワークロード情報管理部２０７が、物理マシンＩＤ及び物理マシン基本情報や、仮想マシンワークロードＩＤに対応する条件式情報（ワークロード条件式）を物理マシン情報ＤＢ２０１や仮想マシンワークロード情報ＤＢ２０２に書き込む。
【００６２】
［ステップＳＴ２］  配置を行う場合、管理端末装置３００は、管理者による入力部の操作により、仮想マシン配置装置２００に接続する。
【００６３】
仮想マシン配置装置２００においては、管理者による管理端末装置３００の操作に応じて、プロジェクト情報管理部２０８が、プロジェクトＩＤに対応して当該プロジェクトで使用可能な最大物理マシン台数、プロジェクトで利用する仮想マシンワークロードＩＤ及び仮想マシン台数をプロジェクト情報ＤＢ２０３に書き込む。しかる後、仮想マシン配置装置２００においては、仮想マシン配置制御部２１４が配置の実行を開始する。仮想マシン配置制御部２１４は、仮想マシンの配置先決定を実行する指示を仮想マシン配置決定部２０９に送出し、仮想マシン配置決定部２０９を起動する。また、仮想マシン配置制御部２１４は条件削除数及び全条件数に０を設定（セット）して記憶部２０５に書き込む。
【００６４】
［ステップＳＴ３］  仮想マシン配置決定部２０９は、記憶部２０５内に配置テーブル２０５ａ及び配置決定用テーブル２０５ｂを作成して書き込む。このとき、各テーブル２０５ａ，２０５ｂの列Ｒ（ｘ），行Ｖ（ｙ）の座標を示す変数ｘ，ｙにそれぞれ１を設定（セット）する。ｘは物理マシンＩＤに対応し、ｙは仮想マシンＩＤに対応する。
【００６５】
［ステップＳＴ４］  仮想マシン配置決定部２０９は、プロジェクト情報ＤＢ２０３からプロジェクトＩＤに対応する仮想マシンワークロードＩＤ及び仮想マシン台数のデータを１件読み込み、この仮想マシンワークロードＩＤに対応する条件式情報を仮想マシンワークロード情報ＤＢ２０２から読み出す。なお、プロジェクト情報ＤＢ２０３から読み込む仮想マシンワークロードＩＤは、現時点で配置テーブル２０５ａに存在しないものである。
【００６６】
しかる後、仮想マシン配置決定部２０９は、読み込んだ仮想マシンワークロードＩＤを配置決定用テーブル２０５ｂの変数$wltに設定し、読み出した条件式情報を配置決定用テーブル２０５ｂの配列@exp[con,wlt]へ設定する。その際、仮想マシン配置決定部２０９は、プロジェクト情報に含まれない、仮想マシンワークロードに関係しない条件式を除外する。
【００６７】
［ステップＳＴ５］  仮想マシン配置決定部２０９は、配置決定用テーブル２０５ｂに設定された物理マシン変数ｘに関連付けて、配置決定用テーブル２０５ｂ内の仮想マシンワークロードＩＤ及び条件式情報と、配置テーブル２０５ａ内の仮想マシンワークロードＩＤ及び条件式情報とを比較する。
【００６８】
しかる後、仮想マシン配置決定部２０９は、この比較により、配置決定用テーブル２０５ｂ内の条件式情報に基づいて、配置テーブル２０５ａ内の仮想マシンワークロードＩＤが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果である第１条件ステータスを得る。
【００６９】
具体的には、仮想マシン配置決定部２０９は、配置決定用テーブル２０５ｂの配列@exp[con]に条件式がある場合、配置テーブルＲ（ｘ）．Ｖ（ｙ＝全ての列）に、条件式中の変数@exp[wlt]が存在しないか否かを判定する。また、配置決定用テーブル２０５ｂの条件式中の変数@exp[wlt]にallが指定されている場合、配置テーブルＲ（ｘ）．Ｖ（ｙ＝全ての列）に、条件式中の変数wltのデータが存在しないか否かを判定する。判定結果として第１条件ステータスをＯＫ（変数@exp[wlt]が存在しない場合：排他される関係にない場合）もしくはＮＧ（変数@exp[wlt]が存在する場合：排他される関係にある場合）として書き込む。
【００７０】
［ステップＳＴ６］  同様に、仮想マシン配置決定部２０９は、前述した比較により、配置テーブル２０５ａ内の条件式情報に基づいて、配置決定用テーブル２０５ｂ内の仮想マシンワークロードＩＤが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果である第２条件ステータスを得る。
【００７１】
具体的には、仮想マシン配置決定部２０９は、配置テーブルＲ（ｘ）．Ｖ（ｙ＝全ての列）に条件式がある場合、この条件式に配置決定用テーブル２０５ｂの変数$wltが含まれないか否かを判定する。判定結果として第２条件ステータスをＯＫ（変数$wltが含まれない場合：排他される関係にない場合）もしくはＮＧ（変数$wltが含まれる場合：排他される関係にある場合）として書き込む。なお、ステップＳＴ５，ＳＴ６の判定は、いずれを先に実行してもよい。
【００７２】
［ステップＳＴ７］  仮想マシン配置決定部２０９は、ステップＳＴ５，ＳＴ６の第１及び第２条件ステータスがいずれもＯＫとなったか否かを判定する。真（全てＯＫ）となった場合（両者のいずれも排他される関係にない場合）は、ステップＳＴ８へ進む。偽（いずれかＮＧ）となった場合は、ステップＳＴ１５へ進む。
【００７３】
［ステップＳＴ８］  仮想マシン配置決定部２０９は、配置決定用テーブル２０５ｂ内の物理マシン変数ｘに関連付けて変数$wlt及び配列@exp[con,wlt]を配置テーブルＲ（ｘ）．Ｖ（ｙ）に格納する。
【００７４】
［ステップＳＴ９］  仮想マシン配置決定部２０９は、物理マシンＲ（ｘ）の変数ｘに初期値“１”を設定（セット）する。
【００７５】
［ステップＳＴ１０］  仮想マシン配置決定部２０９は、プロジェクト情報管理ＤＢからプロジェクトＩＤに対応する全ての仮想マシンワークロードＩＤ及び仮想マシン台数を読込完了したかを判断する。真（全て完了）となった場合は、ステップＳＴ１２へ進む。偽となった場合は、ステップＳＴ１１へ進む。
【００７６】
［ステップＳＴ１１］  仮想マシン配置決定部２０９は、仮想マシンＶ（ｙ）の変数ｙに１を加算した後、現時点で配置テーブル２０５ａに書込み前の仮想マシンワークロードＩＤ及び条件式情報を配置決定用テーブル２０５ｂに設定するように、ステップＳＴ４に戻って処理を継続する。
【００７７】
［ステップＳＴ１２］  仮想マシン配置決定部２０９は、配置テーブル２０５ａを確定する。
【００７８】
［ステップＳＴ１３］  仮想マシン配置決定部２０９は、次式に基づいて適合率を計算し、計算結果を管理者端末装置３００に表示する。
【００７９】
適合率＝（全条件数−条件削除数）／全条件数  ×１００［％］  
このとき、削除した条件式があれば、その削除した条件式も表示する。なお、適合率の計算及び表示は、仮想マシンの配置に対して任意の付加的事項であり、省略してもよい。
【００８０】
［ステップＳＴ１４］  仮想マシン配置制御部２１４は、配置テーブル２０５ａに全ての仮想マシンワークロードＩＤが書き込まれた後、当該配置テーブル２０５ａ内の仮想マシンワークロードＩＤが示す仮想マシンを当該配置テーブル２０５ａ内の物理マシン変数が示す物理マシンに配置するように、仮想マシン配置情報ＤＢ２０４に仮想マシン配置情報を書き込む。仮想マシン配置情報は、配置ＩＤ及びプロジェクトＩＤ毎に、物理マシンＩＤ、仮想マシンＩＤ及び仮想マシンワークロードＩＤを関連付けた情報である。
【００８１】
しかる後、仮想マシン配置制御部２１４は、仮想マシン複製部２１０を起動する。
【００８２】
仮想マシン複製部２１０は、仮想マシン配置情報内の仮想マシンワークロードＩＤに対応する仮想マシンワークロード情報ＤＢ２０２内の格納元仮想マシン情報（パス情報）に基づいて、ファイルサーバ装置１００の仮想マシンイメージファイルを複製し、この複製した仮想マシンイメージファイルを仮想マシン配置情報内の物理マシンＩＤに基づいて物理マシンＲ１〜Ｒ４に配置する。
【００８３】
［ステップＳＴ１５］  仮想マシン配置決定部２０９は、ＮＧとなったワークロード条件式を記憶部２０５上の配列に記憶（追加）する
［ステップＳＴ１６］  仮想マシン配置決定部２０９は、配置決定用テーブル２０５ｂ内の物理マシン変数を他の物理マシン変数に変更する。具体的には、仮想マシン配置決定部２０９は、配置決定用テーブル２０５ｂ内の物理マシンＲ（ｘ）の変数ｘに１を加える。
【００８４】
［ステップＳＴ１７］  仮想マシン配置決定部２０９は、変更後の物理マシン変数に対応する物理マシン台数が最大物理マシン台数Ｍを超えたか否かを判定する。このアップカウンタの例では、物理マシン変数の初期値が“１”で物理マシン変数の変更が“＋１”の加算であることから変更後の物理マシン変数ｘ（＝ｘ＋１）とそれに対応する物理マシン台数ｘ’（＝ｘ）とが一致するので、物理マシンＲ（ｘ）の変数ｘが最大物理マシン台数Ｍを越えたか否かを判定する。
【００８５】
なお、変形例としてダウンカウンタで実装した場合であっても、物理マシン変数の初期値が“Ｍ”で物理マシン変数の変更が“１”の減算（−１の加算）であることから、変更後の物理マシン変数ｘ（＝ｘ−１）とそれに対応する物理マシン台数ｘ’（＝Ｍ−ｘ）とは中央以外は一致しないが、判定結果がアップカウンタの場合の判定結果と一致するので、判定には差し支えない。
【００８６】
いずれにしても、当該ステップＳＴ１７の判定結果が真（超えた）となった場合は、ステップＳＴ１８へ進む。偽となった場合は、ステップＳＴ４へ進む。
【００８７】
［ステップＳＴ１８］  仮想マシン配置決定部２０９は、配置決定用テーブル２０５ｂへの設定の順列の全てのパターンを実行したか否かを判定する。
【００８８】
具体的には、仮想マシン配置決定部２０９は、仮想マシンワークロードＩＤ及び条件式情報の配置決定用テーブル２０５ｂへの設定順序を示す順列を記憶部２０５に記録しておき、プロジェクトＩＤに対応する全ての仮想マシンワークロードＩＤ及び条件式情報の順列のうち、記憶部２０５に記録された順列とは異なる順列があるか否かを判定する。なお、配置決定用テーブル２０５ｂへの設定順序は、プロジェクト情報ＤＢ２０３からの読込み順序や仮想マシンワークロード情報ＤＢ２０２からの読出順序と等しいものであり、これら読込み順序や読出順序を包含している。
【００８９】
［ステップＳＴ１９］  仮想マシン配置決定部２０９は、ステップＳＴ１８の判定の結果、異なる順列がある場合には、条件式の設定順序を他の順列パターンに変更する。また、仮想マシン配置決定部２０９は、配置テーブル２０５ａ，配置決定用テーブル２０５ｂを初期化し、当該異なる順列に基づいて処理を再実行するように、ステップＳＴ４に戻る。
【００９０】
［ステップＳＴ２０］  仮想マシン配置決定部２０９は、ステップＳＴ１８の判定の結果、否の場合には、仮想マシンワークロード情報ＤＢ２０２において、ＮＧとなったワークロード条件式の配列から条件式を一つ削除する。排他の条件式NOT/notがある場合、排他優先度の最も低い条件式 notを先に削除する。記憶部２０５内の条件削除数に１を加えると共に、削除した条件式を記憶部２０５に記録する。
【００９１】
しかる後、仮想マシン配置決定部２０９は、配置テーブル２０５ａ，配置決定用テーブル２０５ｂを初期化して処理を再実行するように、ステップＳＴ３に戻る。
【００９２】
（第１の例）
配置テーブル２０５ａの処理の一例を図１１に示し、配置結果を図１２に示す。この例は、全ての条件式を満たす場合である。仮想マシンワークロードＩＤ“Ｗｅｂ”，“ＡＰ１”は、第１の物理マシンＲ（１）に配置できる。しかしながら、仮想マシンワークロードＩＤ“ＤＢ１”は、条件式が“not ALL”のため、第１の物理マシンＲ（１）に配置できない。よって、仮想マシンＩＤ“ＤＢ１”は、仮想マシンワークロードＩＤが未だ配置されていない第２の物理マシンＲ（２）に配置される。
【００９３】
この場合、削除条件数が０であるため、適合率は１００％（＝（５−０）／５ ×１００）となる。
【００９４】
（第２の例）
配置テーブル２０５ａの処理の一例を図１３に示し、配置結果を図１４に示す。この例は、幾つかの条件式を満たさない場合である。仮想マシンワークロードＩＤ“Ｗｅｂ”，“ＡＰ１”を第１の物理マシンＲ（１）に配置し、仮想マシンワークロードＩＤ“ＤＢ１”及び条件式“NOT ALL”を第２の物理マシンＲ（２）に配置した状態とする。また、最大物理マシン台数Ｍは２台である。
【００９５】
ここで、仮想マシンワークロードＩＤ“ＤＢ２”は、条件式が“not Web”,“not AP1”のため、最大物理マシン台数Ｍが２台の場合、配置できない。このため、配置テーブル２０５ａの作成中、条件式チェックがＮＧとなり、ＮＧワークロード条件式の記憶領域に追加される。また最大物理マシン台数Ｍを超えた際に、設定順列を変更しても格納できないので、ステップＳＴ２０の妥協ロジック（条件式削除処理）に進む。
【００９６】
ステップＳＴ２０では、仮想マシンワークロード情報ＤＢ２０２内の条件式の排他優先度not/NOTを昇順ソートして、排他優先度の最も低いnotの条件式を１つ消す。この場合、「DB2 not Web」の条件式が削除される。再度、配置テーブル２０５ａを初期化、配置テーブル２０５ａに書き込みを行う。再び、条件式チェックがＮＧとなり、格納できないので、ステップＳＴ２０に進む。次に排他優先度が低いＮＧワークロード条件式を削除する。この場合、条件式「DB2 not AP1」を削除する。再度、配置テーブル２０５ａを初期化し、配置テーブル２０５ａに書き込みを行う。今回は条件式チェックがＯＫとなる。この場合、前述した通り、削除条件数が２であるため、適合率は６０％（＝（５−２）／５ ×１００）となる。
【００９７】
上述したように本実施形態によれば、仮想マシン配置装置２００としては、各仮想マシンの仮想マシンワークロードＩＤ毎に、排他したい仮想マシンワークロードＩＤ及び排他優先度を含む条件式情報を記憶する仮想マシンワークロード情報ＤＢ２０２を備え、配置テーブル２０５ａへの配置処理の途中で、最大物理マシン台数を超えた場合には、仮想マシンワークロード情報ＤＢ２０２内の条件式情報のうち、排他優先度が最も低い条件式情報を削除し、削除の後、配置テーブル２０５ａ及び配置決定用テーブル２０５ｂを初期化して配置処理を再実行するので、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置することができる。
【００９８】
補足すると、本実施形態においては、物理マシンに対する、性能面や可用性確保を考慮した配置の自動化を実現することができる。また、配置先の物理サーバの条件において、条件式による排他関係と、条件式の調整（妥協）を行うことにより、限られた台数の物理サーバにおいても仮想マシンを配置することができる。
【００９９】
また、本実施形態においては、ステップＳＴ５，ＳＴ６の２つの比較処理を実行することにより、配置テーブル２０５ａの内容と、配置決定用テーブル２０５ｂの内容との排他関係の有無を容易且つ確実に判定することができる。
【０１００】
また、本実施形態においては、ステップＳＴ１８，ＳＴ１９の順列の変更処理を実行することにより、条件式を削除せずに条件式を満たす配置を得る可能性があるので、適合率の向上を期待することができる。
【０１０１】
また、本実施形態においては、配置テーブル２０５ａに格納した後、ステップＳＴ９で物理マシン変数ｘを初期値“１”に設定することにより、共通の排他対象をもつ複数の条件式情報を初期値“１”の物理マシンＲ（１）に配置できるので、物理マシン変数ｘをランダムに設定する場合に比べ、配置処理を円滑に進めることができる。例えば、図１１に示した例において、仮に物理マシン変数ｘをランダムに設定し、共通の排他対象“DB1”をもつ２つの条件式“Web not DB1”“AP1 not DB1”を第１及び第２の物理マシンＲ（１），Ｒ（２）に分散して配置したとすると、第３の条件式“DB1 not ALL”を配置できず、配置処理が円滑に進まない状況が生じる。しかしながら、本実施形態では、前述した通り、共通の排他対象をもつ複数の条件式情報を初期値“１”の物理マシンＲ（１）に配置できるので、配置処理を円滑に進めることができる。
【０１０２】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１０３】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１０４】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１０５】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１０６】
また、記憶媒体は１つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１０７】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１０８】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１０９】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【０１１０】
Ｒ１〜Ｒ４…物理マシン、１〜４…仮想マシンモニタ、１００…ファイルサーバ装置、２００…仮想マシン配置装置、２０１…物理マシン情報ＤＢ、２０２…仮想マシンワークロード情報ＤＢ、２０３…プロジェクト情報ＤＢ、２０４…仮想マシン配置情報ＤＢ、２０５…記憶部、２０６…物理マシン情報管理部、２０７…仮想マシンワークロード情報管理部、２０８…プロジェクト情報管理部、２０９…仮想マシン配置決定部、２１０…仮想マシン複製部、２１１…仮想マシン起動部、２１２…仮想マシン停止部、２１３…仮想マシン削除部、２１４…仮想マシン配置制御部、３００…管理端末装置。
【図１】
2011028328.tif 000003
【図２】
2011028328.tif 000004
【図３】
2011028328.tif 000005
【図４】
2011028328.tif 000006
【図５】
2011028328.tif 000007
【図６】
2011028328.tif 000008
【図７】
2011028328.tif 000009
【図８】
2011028328.tif 000010
【図９】
2011028328.tif 000011
【図１０】
2011028328.tif 000012
【図１１】
2011028328.tif 000013
【図１２】
2011028328.tif 000014
【図１３】
2011028328.tif 000015
【図１４】
2011028328.tif 000016