(57)【要約】【課題】物理マシンへの仮想マシン集約台数の最大化とリソース利用率の最適化をともに実現する。【解決手段】物理マシン４に対する最大仮想マシン台数を暫定的に予測し、この台数での想定負荷量の性能測定を行なう。この際、得られた性能情報が要求性能やリソースといった条件を満たす場合には仮想マシン４３の台数の追加もしくは仮想メモリの縮小を試み、条件を満たさない場合には仮想マシンの台数の減少もしくは仮想メモリの拡大を行なった上で性能測定を再度行なう。過去の性能測定で条件を満たさなかった場合で後の性能測定で条件を満たした時点、もしくは過去の性能測定で条件を満たした場合で後の性能測定で条件を満たさなかった時点で、最適な仮想マシンシステム構成や集約可能な仮想マシン台数が確定する。【選択図】      図１
2010271863.tif 000002
【特許請求の範囲】
【請求項１】
物理マシンへ所定の台数の仮想マシンを暫定的に配置して当該仮想マシンを起動させる仮想マシン設定手段と、
前記起動した仮想マシンに対する、アプリケーションプログラムによる所定の負荷を発生させる負荷発生手段と、
当該負荷が発生した状態で、前記起動した仮想マシンや配置先の物理マシンの性能情報および前記起動したアプリケーションプログラムの性能情報を取得する性能情報取得手段と、
前記取得した性能情報が所定の条件を満たすか否かを判定する判定手段と、
前記取得した性能情報が前記条件を満たしていない事を前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たした事を前記判定手段により判定した事がない場合に、当該仮想マシンの配置台数を削減する、もしくは同じ台数の仮想マシンによる使用メモリを拡大する第１の仮想マシン条件変更手段と、
前記取得した性能情報が前記条件を満たしていると前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たしていない事を前記判定手段により判定した事がない場合に、当該仮想マシンの配置台数を追加する、もしくは同じ台数の仮想マシンによる使用メモリを縮小する第２の仮想マシン条件変更手段と、
前記第１もしくは第２の仮想マシン条件変更手段による処理後の、前記仮想マシンや物理マシンの性能情報および前記アプリケーションプログラムの性能情報を前記判定手段による再判定のための情報として取得する性能情報再取得手段と、
前記性能情報再取得手段により取得した性能情報が前記条件を満たしていない事を前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たした事を前記判定手段により判定した事がある場合に、前記仮想マシンの配置台数や仮想マシンによる使用メモリの状態を前記判定手段による前回の判定時に戻した上で、当該配置台数および使用メモリを仮想マシンの最適条件として選択する第１の選択手段と、
前記性能情報再取得手段により取得した前記条件を満たしていると前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たしていない事を前記判定手段により判定した事がある場合に、前記仮想マシンの現在の配置台数および現在の使用メモリの状態を仮想マシンの最適条件として選択する第２の選択手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記仮想マシンの一台あたりのリソース利用率に対する配置先の物理マシンのリソース利用率許容値の割合をもとに、前記仮想マシン設定手段により暫定的に配置する仮想マシンの台数を計算する計算手段をさらに備えた
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記性能情報取得手段は、
前記負荷発生手段により負荷が発生した状態で、前記起動した仮想マシンおよび配置元の物理マシンのリソース利用率を取得し、かつ、前記アプリケーションプログラム起動時の応答時間とスループットとの少なくとも一方を取得し、
前記判定手段は、
前記性能情報取得手段や前記性能情報再取得手段により取得したリソース利用率が許容値以内であるか否か、および前記アプリケーションプログラム起動時の応答時間もしくはスループットが所定値以内であるか否かを判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記計算手段は、
前記仮想マシンの一台あたりのリソース利用率に対する配置先の物理マシンのリソース許容値の割合および暫定的な補正係数をもとに、前記仮想マシン設定手段により配置する仮想マシンの台数を計算し、
前記第１もしくは第２の選択手段による仮想マシンの台数の選択後、当該選択した台数および前記仮想マシンの一台あたりのリソース利用率に対する配置先の物理マシンのリソース利用率許容値の割合をもとに、前記暫定的な補正係数に替わる新たな補正係数を計算する補正係数計算手段をさらに備えた
ことを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理マシンに仮想マシンを複数台配置する機能を有する情報処理装置に関する。
【背景技術】
【０００２】
従来、ＯＳ（オペレーティングシステム）およびアプリケーションプログラムが含まれる仮想マシンを、実行環境の仮想マシンモニタが動作している物理マシンに配置する際、アプリケーションプログラムの性能確保や物理マシンのリソース利用率の最適化のために幾つかの公知の手段が存在する。
【０００３】
公知の手段の第１の例として、例えば特許文献１に開示されるように、仮想マシンを一定期間運用して、物理マシンのリソースおよび各仮想マシンのＣＰＵ、メモリ、ディスクなどの性能情報から、所定の算出式により複数の物理マシンにまたがって仮想マシンを再配置して最適化を行なう方式がある。
【０００４】
また、第２の例として、例えば特許文献２に開示されるように、仮想マシンのイメージに構築される、例えばSPECint（登録商標）やＴＰＣベンチマーク（登録商標）などのベンチマークプログラムを複数の物理マシンの仮想マシンとして配置して、当該プログラム動作時の各物理マシンの性能情報を読み出して比較する方式がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１１５６５３号公報
【特許文献２】特開２００７−３２３２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮想マシンの配置において、予め定義された仮想マシン構成情報にて当該仮想マシンを物理マシンに配置した場合、以下に示す２つの課題がある。
【０００７】
第１の課題は、配置元の仮想マシンメモリが余分に割り当てられた仮想マシンを配置することで物理リソースを多く消費することになり、物理マシンにおける仮想マシンの稼働台数が少なくなることである。
【０００８】
第２の課題は、配置元の仮想マシンメモリが少なく割り当てられた仮想マシンでは、前述のように配置元の仮想マシンメモリが余分に割り当てられた仮想マシンを配置した場合と比較して、物理マシンに対する仮想マシンの稼働台数を増やせる可能性は高くなるが、反面、アプリケーションプログラムの性能要求を実現できない可能性も高くなることである。  
これらの課題が存在するため、人手による実行環境での調整を経て仮想マシンを配置する必要がある。
【０００９】
そこで、本発明の目的は、物理マシンへの仮想マシン集約台数の最大化とリソース利用率の最適化をともに実現することが可能になる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
すなわち、本発明に係わる情報処理装置は、物理マシンへ所定の台数の仮想マシンを暫定的に配置して当該仮想マシンを起動させる仮想マシン設定手段と、前記起動した仮想マシンに対する、アプリケーションプログラムによる所定の負荷を発生させる負荷発生手段と、当該負荷が発生した状態で、前記起動した仮想マシンや配置先の物理マシンの性能情報および前記起動したアプリケーションプログラムの性能情報を取得する性能情報取得手段と、前記取得した性能情報が所定の条件を満たすか否かを判定する判定手段と、前記取得した性能情報が前記条件を満たしていない事を前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たした事を前記判定手段により判定した事がない場合に、当該仮想マシンの配置台数を削減する、もしくは同じ台数の仮想マシンによる使用メモリを拡大する第１の仮想マシン条件変更手段と、前記取得した性能情報が前記条件を満たしていると前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たしていない事を前記判定手段により判定した事がない場合に、当該仮想マシンの配置台数を追加する、もしくは同じ台数の仮想マシンによる使用メモリを縮小する第２の仮想マシン条件変更手段と、前記第１もしくは第２の仮想マシン条件変更手段による処理後の、前記仮想マシンや物理マシンの性能情報および前記アプリケーションプログラムの性能情報を前記判定手段による再判定のための情報として取得する性能情報再取得手段と、前記性能情報再取得手段により取得した性能情報が前記条件を満たしていない事を前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たした事を前記判定手段により判定した事がある場合に、前記仮想マシンの配置台数や仮想マシンによる使用メモリの状態を前記判定手段による前回の判定時に戻した上で、当該配置台数および使用メモリを仮想マシンの最適条件として選択する第１の選択手段と、前記性能情報再取得手段により取得した前記条件を満たしていると前記判定手段により判定し、かつ、過去に前記取得した性能情報が前記条件を満たしていない事を前記判定手段により判定した事がある場合に、前記仮想マシンの現在の配置台数および現在の使用メモリの状態を仮想マシンの最適条件として選択する第２の選択手段とを備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、物理マシンへの仮想マシン集約台数の最大化とリソース利用率の最適化をともに実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における情報処理システムの構成例を示すブロック図。
【図２】本発明の実施形態における仮想マシン配置装置の物理マシン情報ＤＢの構成例を表形式で示す図。
【図３】本発明の実施形態における仮想マシン配置装置の仮想マシン情報ＤＢの構成例を表形式で示す図。
【図４】本発明の実施形態における仮想マシン配置装置の性能情報ＤＢの構成例を表形式で示す図。
【図５】本発明の実施形態における仮想マシン配置装置のアプリケーションワークロード情報ＤＢの構成例を表形式で示す図。
【図６】本発明の実施形態における仮想マシン配置装置の仮想マシン予測式情報ＤＢの構成例を表形式で示す図。
【図７】本発明の実施形態における情報処理システムによる仮想マシン配置処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下図面により本発明の実施形態について説明する。  
本発明の実施形態では、仮想マシンの配置と集約によるリソース利用率の最適化の工程を予測フェーズと補正フェーズの２段階に区分して行なう。ここで説明する仮想マシンは、公知の技術であるVMware（登録商標） ServerやＸen（登録商標）などの仮想マシンモニタの利用が前提となる。
【００１４】
予測フェーズでは、まず、物理マシンの仮想マシンモニタに対して１台の仮想マシンを配置してアプリケーションプログラムの想定負荷量の性能測定を行い、それによって得られた性能情報から暫定予測式を用いて物理リソース上の最大仮想マシン台数を暫定的に予測し、予測最大仮想マシン台数で物理マシンの仮想マシンモニタ上に配置する。以下、アプリケーションプログラムを単にアプリケーションと称する。
【００１５】
また、補正フェーズでは、まず、予測最大仮想マシン数の稼動状態において、各仮想マシンについて想定負荷量の性能測定を行なう。  
この際、得られた性能情報がスループットや応答速度などの要求性能を満たし、かつ物理マシンのリソースの余裕がある場合には、仮想マシンの追加もしくは仮想マシンシステム構成の仮想メモリの縮小を試みる。
【００１６】
また、前述した要求性能を満たすことができなかった場合には、仮想マシンの停止もしくは仮想マシンシステム構成の仮想メモリの拡大を行った後、想定負荷量の性能測定を再度行なうことで、性能条件を満たすことが可能か否かを判定する。
【００１７】
本実施形態では、仮想マシン配置台数や仮想マシンシステム構成を変更する補正フェーズの過程を経ることで仮想マシンシステム構成や集約可能な仮想マシン台数が確定し、この確定した台数から仮想マシンの予測式を補正することができる。
【００１８】
また、本発明の利用例としては、複数人数分のアプリケーションプログラムの開発環境や試験環境を仮想マシンとして展開する場合や、SaaSのような、複数企業にアプリケーションプログラムを提供する場合において、同一アプリケーションシステムを提供する際、想定するユーザ規模と要求性能が同等となるような場合にユーザ向けのサーバ環境を仮想マシンとして提供するような場合が考えられる。
【００１９】
図１は、本発明の実施形態における情報処理システムの構成例を示すブロック図である。  
本発明の実施形態における情報処理システムは、仮想マシン配置装置１、管理端末装置２、ファイルサーバ３、および物理マシン４とを有し、これらは、ＬＡＮ（ローカルエリアネットワーク）等のネットワークにより通信可能に接続される。
【００２０】
仮想マシン配置装置１は、図１に示すように、仮想マシン配置制御部１１、物理マシン情報管理部１２、仮想マシン情報管理部１３、アプリケーションワークロード情報管理部１４、アプリケーションワークロード負荷発生指示部１５、性能情報管理部１６、仮想マシン予測式管理部１７、仮想マシン複製部１８、仮想マシン起動部１９、仮想マシン構成変更部２０、仮想マシン停止部２１、仮想マシン削除部２２および記憶装置２３を備える。
【００２１】
記憶装置２３は、ハードディスクドライブや不揮発性メモリなどの記憶媒体であり、仮想マシン配置制御部１１、物理マシン情報管理部１２、仮想マシン情報管理部１３、アプリケーションワークロード情報管理部１４、アプリケーションワークロード負荷発生指示部１５、性能情報管理部１６、仮想マシン予測式管理部１７、仮想マシン複製部１８、仮想マシン起動部１９、仮想マシン構成変更部２０、仮想マシン停止部２１および仮想マシン削除部２２による処理動作のためのプログラムを記憶する他、物理マシン情報ＤＢ（データベース）２４、仮想マシン情報ＤＢ２５、アプリケーションワークロード情報ＤＢ２６、性能情報ＤＢ２７および仮想マシン予測式情報ＤＢ２８を有する。
【００２２】
管理端末装置２は、ディスプレイなどの表示装置、およびキーボードやマウスなどの入力装置を備えるコンピュータであり、管理者による操作指示を受け付ける。  
また、管理端末装置２は、仮想マシン配置装置１からの各種命令を送信する機能と命令実行結果を受信して表示する機能とを有する。
【００２３】
ファイルサーバ３は、図１に示すように、仮想マシンイメージファイル３１を内部記憶装置に格納する機能を有する。仮想マシンイメージファイル３１は仮想マシン３２の保存イメージであり、仮想マシン３２はWindows（登録商標）などのＯＳ（ゲストＯＳ）３３とアプリケーション３４とを有する。
【００２４】
物理マシン４は、図１に示すように、ホストＯＳ４１、仮想マシンモニタ４２を有し、この仮想マシンモニタ４２上に必要に応じて仮想マシン４３を配置する機能を有する。  
物理マシン４上の仮想マシン４３は、アプリケーション４４およびＯＳ（ゲストＯＳ）４５を有する。ただし、物理マシン４上の仮想マシンモニタ４２がハイパーバイザ型仮想マシンモニタである場合は、ホストＯＳ４１は物理マシン４の構成に含まれない。
【００２５】
次に、記憶装置内の各種データベースの構成について説明する。図２は、本発明の実施形態における仮想マシン配置装置の物理マシン情報ＤＢの構成例を表形式で示す図である。  
記憶装置２３の物理マシン情報ＤＢ２４は、物理マシン４の物理マシンＩＤ、物理マシン基本情報および許容リソース情報を関連付けて記憶する。
【００２６】
物理マシン情報ＤＢ２４上の物理マシンＩＤは物理マシンごとに一意に付与される識別情報である。  
物理マシン情報ＤＢ２４上の物理マシン基本情報は、物理マシン名、物理マシンメモリ容量、物理マシンＣＰＵクロック（コア数）および物理マシンディスク容量が関連付けられてなる。
【００２７】
また、物理マシン情報ＤＢ２４上の許容リソース情報は、物理マシン４のホストＯＳ４１もしくは仮想マシンモニタ４２により把握される物理マシン許容ＣＰＵ利用率および物理マシン許容メモリ利用率が関連付けられてなる。
【００２８】
図３は、本発明の実施形態における仮想マシン配置装置の仮想マシン情報ＤＢの構成例を表形式で示す図である。  
記憶装置２３の仮想マシン情報ＤＢ２５は、仮想マシンの仮想マシンＩＤ、仮想マシン基本情報、許容リソース情報、アプリケーション情報および配置情報とを関連付けて記憶する。
【００２９】
仮想マシン情報ＤＢ２５上の仮想マシンＩＤは仮想マシンごとに一意に付与される識別情報である。  
仮想マシン情報ＤＢ２５上の仮想マシン基本情報は、仮想マシン名、仮想マシンメモリ容量、仮想マシンＣＰＵクロックおよび仮想マシンディスク容量が関連付けられてなる。
【００３０】
また、仮想マシン情報ＤＢ２５上の許容リソース情報は、仮想マシンのゲストＯＳ側で把握される仮想マシン許容ＣＰＵ利用率および仮想マシン許容メモリ利用率が関連付けられてなる。
【００３１】
図３に示した例では、仮想マシン情報ＤＢ２５上のアプリケーション情報はアプリケーションＩＤである。このアプリケーションＩＤとは、当該ＩＤに仮想マシン情報ＤＢ２５で関連付けられる情報で表される仮想マシンに対応するアプリケーションに一意に付与される識別情報である。
【００３２】
また、仮想マシン情報ＤＢ２５上の配置情報は、配置元仮想マシン情報および配置先物理マシンＩＤが関連付けられてなる。この配置元仮想マシン情報は、仮想マシンのイメージが格納されるファイルサーバ３の保管場所を指す。
【００３３】
また、図３に示した仮想マシン情報ＤＢ２５では、仮想マシンＩＤ「Ｆ００１」から「Ｆ００２」に対応する仮想マシンは、ファイルサーバ３にある仮想マシン保存イメージであり、オリジナルのシステム構成を有する。
【００３４】
また、図３に示した仮想マシン情報ＤＢ２５上の仮想マシンＩＤ「Ｖ００１１」から「Ｖ００１５」に対応する仮想マシンは、物理マシン４の仮想マシンモニタ４２上に配置された際の仮想マシンに一意に付与されるＩＤであり、最適化が終了してシステム構成が変更された情報である。
【００３５】
図４は、本発明の実施形態における仮想マシン配置装置の性能情報ＤＢの構成例を表形式で示す図である。図５は、本発明の実施形態における仮想マシン配置装置のアプリケーションワークロード情報ＤＢの構成例を表形式で示す図である。  
記憶装置２３のアプリケーションワークロード情報ＤＢ２６は、アプリケーションワークロードＩＤ、アプリケーション基本情報、アプリケーションの負荷シナリオ情報およびアプリケーションワークロード性能要件を関連付けて記憶する。
【００３６】
アプリケーションワークロード情報ＤＢ２６上のアプリケーションワークロードＩＤは、同一のアプリケーションワークロードに関するアプリケーション基本情報、負荷シナリオ情報およびアプリケーションワークロード性能要件情報の組み合わせに対して一意に付与される識別情報である。
【００３７】
アプリケーションワークロード情報ＤＢ２６上のアプリケーション基本情報は、アプリケーションＩＤである。  
アプリケーションワークロード情報ＤＢ２６上の負荷シナリオ情報は、負荷発生ツールの種別および負荷発生ツールパラメータが関連付けられてなる。この負荷発生ツールパラメータは、負荷発生時の想定ユーザ数や負荷測定時間である。
【００３８】
また、アプリケーションワークロード情報ＤＢ２６上のアプリケーションワークロード性能要件は、アプリケーションワークロードのスループットの要求性能や応答時間の要求性能である。
【００３９】
また、記憶装置２３の性能情報ＤＢ２７は、性能情報ＩＤ、測定時間、アプリケーションワークロード情報、物理マシン性能情報および仮想マシン性能情報を関連付けて記憶する。
【００４０】
性能情報ＤＢ２７上の測定時間は、アプリケーションワークロードによる測定開始時刻と測定終了時刻とが関連付けられてなる。  
性能情報ＤＢ２７上の性能情報ＩＤは、測定時間、当該測定時間におけるアプリケーションワークロード情報、物理マシン性能情報および仮想マシン性能情報の組み合わせに対して一意に付与される識別情報である。
【００４１】
性能情報ＤＢ２７上のアプリケーションワークロード情報は、対象のアプリケーションワークロードＩＤ、対象のアプリケーションのスループットの実測性能、および対象のアプリケーションの応答時間の実測性能が関連付けられてなる。
【００４２】
また、性能情報ＤＢ２７上の物理マシン性能情報は、対象物理マシンの物理マシンＩＤ、実測ＣＰＵ利用率、および実測メモリ利用率が関連付けられてなる。  
また、性能情報ＤＢ２７上の仮想マシン性能情報は、対象仮想マシンの仮想マシンＩＤ、実測ＣＰＵ利用率、および実測メモリ利用率が関連付けられてなる。  
ただし、仮想マシンが物理マシンに配置される以前では、性能情報ＤＢ２７上のアプリケーションワークロード情報や仮想マシン性能情報は空欄である。
【００４３】
また、図４に示した例では、性能情報ＤＢ２７上の性能情報ＩＤ「Ｉ００１」に対応する性能情報は、物理マシン４とホストＯＳ４１と仮想マシンモニタ４２のみが動作した場合の性能情報であり、性能情報ＩＤ「Ｐ００１」から「Ｐ００３」に対応する性能情報は、物理マシン４への仮想マシン配置後のアプリケーションワークロードの負荷発生時の当該仮想マシンの性能情報である。
【００４４】
図６は、本発明の実施形態における仮想マシン配置装置の仮想マシン予測式情報ＤＢの構成例を表形式で示す図である。  
記憶装置２３の仮想マシン予測式情報ＤＢ２８は、仮想マシン予測式情報を記憶する。
【００４５】
この仮想マシン予測式情報は、予測式に一意に付与される予測式ＩＤ、予測式補正係数Ａ、アプリケーションワークロードＩＤ、配置元仮想マシンＩＤ、配置先物理マシンＩＤ、配置先仮想マシンシステム構成および配置先最大仮想マシン台数が関連付けられてなる情報である。この配置先仮想マシンシステム構成は物理マシン４に配置された仮想マシンの仮想メモリサイズである。
【００４６】
次に、仮想マシン配置装置１内の構成について説明する。仮想マシン配置装置１の仮想マシン配置制御部１１は、物理マシン情報管理部１２、仮想マシン情報管理部１３、アプリケーションワークロード情報管理部１４、アプリケーションワークロード負荷発生指示部１５、性能情報管理部１６、仮想マシン予測式管理部１７、仮想マシン複製部１８、仮想マシン起動部１９、仮想マシン構成変更部２０、仮想マシン停止部２１、および仮想マシン削除部２２を制御する機能を有し、物理マシン４への仮想マシンの配置に関する全体の制御を行なう。  
本実施形態における仮想マシンの配置とは、仮想マシンに構築されたアプリケーションの要求性能を実現しながら、物理マシン４に対する仮想マシンの最大稼動台数を確保し、かつ、物理マシン４のリソース利用率の最適化を行なうことである。
【００４７】
アプリケーションワークロード情報管理部１４は、アプリケーションの基本情報、アプリケーション負荷シナリオ情報およびアプリケーションワークロード性能要件を記憶装置２３のアプリケーションワークロード情報ＤＢ２６に登録する機能を有する。
【００４８】
物理マシン情報管理部１２は、物理マシン４の基本情報、および物理マシン４に対する許容リソース情報を記憶装置２３の物理マシン情報ＤＢ２４に登録する機能を有する。  
仮想マシン情報管理部１３は、仮想マシンの基本情報、および当該仮想マシンの許容リソース情報を記憶装置２３の仮想マシン情報ＤＢ２５に登録する機能を有する。
【００４９】
性能情報管理部１６は、物理マシン４と仮想マシンの性能情報の実測値をそれぞれ収集して、記憶装置２３の性能情報ＤＢ２７に保存する機能を有する。  
また、性能情報管理部１６は、記憶装置２３のアプリケーションワークロード情報ＤＢ２６に登録されたアプリケーション負荷シナリオに対応する対象アプリケーション性能情報の実測値を性能情報ＤＢ２７から収集する機能を有する。
【００５０】
アプリケーションワークロード負荷発生指示部１５は、アプリケーションワークロード情報ＤＢ２６で定義されたアプリケーションワークロード性能要件に従ったアプリケーション負荷テストの実行を指示する機能を有する。
【００５１】
この機能は、仮想マシンがＷｅｂアプリケーションである場合、図示しない外部装置の記憶装置に格納されるApache JMeter（登録商標）などのアプリケーション負荷テストプログラムなどに対してアプリケーションワークロード情報ＤＢ２６で定義された負荷シナリオ情報を送信し、負荷発生のリモート実行を指示する機能を指す。また、仮想マシンがスタンドアロンのアプリケーションであれば、アプリケーション負荷テストの実行を指示する機能とは、その動作に必要となる引数やデータを該当アプリケーションに与えて、負荷発生のリモート実行を指示する機能を意味する。
【００５２】
また、アプリケーション負荷テストプログラムは、仮想マシン配置装置１の記憶装置２３に記憶して、仮想マシン配置装置１自身がアプリケーション負荷テストプログラムをアプリケーションワークロード情報ＤＢ２６で定義されたアプリケーション負荷シナリオ情報に従って実行するようにしても良い。
【００５３】
仮想マシン予測式管理部１７は、予測フェーズにおける、アプリケーションワークロード性能要件に対応するアプリケーション負荷テスト実行時の物理マシン４の性能情報の実測値および仮想マシンの性能情報の実測値から得られたデータを仮想マシンの暫定予測式に代入することで、対象物理マシンにおける仮想マシン複製台数を提示する機能と、補正フェーズにおいて求められた仮想マシン構成および稼動台数から暫定予測式情報を更新する機能を有する。
【００５４】
仮想マシン複製部１８は、ファイルサーバ３に保管された仮想マシンイメージファイル３１を該当物理マシン４の仮想マシンモニタ４２上にネットワークを介して複製配置する機能を有する。
【００５５】
仮想マシン起動部１９は、該当物理マシン４上の仮想マシンモニタ４２に対し、仮想マシン４３を起動する命令を発行する機能を有する。  
仮想マシン構成変更部２０は、該当物理マシン４上の仮想マシンモニタ４２に対し、仮想マシン４３のシステム構成である当該仮想メモリのサイズを変更する命令を発行する機能を有する。
【００５６】
仮想マシン停止部２１は、該当物理マシン４上の仮想マシンモニタ４２に対し、仮想マシン４３を停止する命令を発行する機能を有する。  
仮想マシン削除部２２は、該当物理マシン４上の仮想マシンモニタ４２に対し、仮想マシンを削除する命令を発行する機能を有する。また、仮想マシンの停止とは、複数台配置した仮想マシンの一部を停止する事であり、仮想マシンの削除とは、１台もしくは複数台配置した仮想マシンの全てを停止する事である。
【００５７】
次に、図１に示した構成の情報処理システムによる仮想マシン配置処理のための動作について説明する。図７は、本発明の実施形態における情報処理システムによる仮想マシン配置処理の一例を示すフローチャートである。  
この仮想マシン配置処理は、管理者が、アプリケーションを含む仮想マシンを選択し、かつ、配置先の物理マシンを選択した後に、仮想マシン配置装置１が当該物理マシン４上に仮想マシンを配置し、この仮想マシンの構成や配置台数を最適化する処理である。
【００５８】
図７に示したステップＳ１からステップＳ１０までの処理は予測フェーズであり、ステップＳ１１以降の処理が補正フェーズでなる。補正フェーズは大きく２つの工程、具体的には仮想マシン削減工程と仮想マシン追加工程に分岐される。
【００５９】
仮想マシンを配置する際の準備段階として、管理者が管理端末装置２を操作することで、仮想マシンに関する情報である、仮想マシン基本情報、許容リソース情報、アプリケーションＩＤおよび配置情報を入力すると、これらの情報が仮想マシン配置装置１に送信される。
【００６０】
仮想マシン配置装置１は、管理端末装置２からの仮想マシンに関する情報を受信すると、仮想マシン情報管理部１３を用いて、これら受信した情報に該当の仮想マシンの仮想マシンＩＤを付与して記憶装置２３の仮想マシン情報ＤＢ２５に格納する。これにより仮想マシンに関する情報の登録がなされる（ステップＳ１）。
【００６１】
次に、管理端末装置２の操作により物理マシン４に関する情報である、物理マシン基本情報や許容リソース情報の入力がなされると、これらの情報が仮想マシン配置装置１に送信される。仮想マシン配置装置１は、管理端末装置２からの物理マシン４に関する情報を受信すると、物理マシン情報管理部１２を用いて、これら受信した情報に該当物理マシンの物理マシンＩＤを付与して記憶装置２３の物理マシン情報ＤＢ２４に格納する。これにより物理マシン４に関する情報の登録がなされる（ステップＳ２）。
【００６２】
次に、管理端末装置２の操作によりアプリケーションワークロードに関する情報である、アプリケーション基本情報、負荷シナリオ情報、アプリケーションワークロード性能要件の入力がなされると、これらの情報が仮想マシン配置装置１に送信される。
【００６３】
仮想マシン配置装置１は、管理端末装置２からのアプリケーションワークロードに関する情報を受信すると、アプリケーションワークロード情報管理部１４を用いて、同一のアプリケーションワークロードのアプリケーション基本情報、負荷シナリオ情報、アプリケーションワークロード性能要件に対応するアプリケーションワークロードＩＤを付与して記憶装置２３のアプリケーションワークロード情報ＤＢ２６に格納する。これによりアプリケーションワークロードに関する情報の登録がなされる（ステップＳ３）。
【００６４】
一連の情報の登録が完了すると、仮想マシン配置装置１の仮想マシン配置制御部１１は、登録された物理マシン４上の仮想マシンモニタ４２のみが稼動している時点の物理マシンＣＰＵ利用率や物理マシンメモリ利用率といったシステムリソース情報を測定し、この測定した情報を、性能情報管理部１６を用いて記憶装置２３の性能情報ＤＢ２７に保管する。  
この保管された情報は、図５に示した性能情報ＤＢ２７における最上段である性能情報ＩＤ「Ｉ００１」が関わる行の情報に相当する。
【００６５】
次に、アプリケーションが格納された仮想マシン、つまりファイルサーバ３上の仮想マシンイメージファイル３１を物理マシン４上の仮想マシンモニタ４２上に配置する際は、管理者は管理端末装置２の操作により当該管理端末装置２を仮想マシン配置装置１に接続して、配置元の仮想マシンの選択を行なう（ステップＳ４）。  
次に、管理者は管理端末装置２の操作により当該管理端末装置２を仮想マシン配置装置１に接続して、配置先物理マシンを選択する（ステップＳ５）。
【００６６】
仮想マシン配置装置１の仮想マシン配置制御部１１は、仮想マシン複製部１８を用いて、ファイルサーバ３上の仮想マシンイメージファイル３１から物理マシン４へ仮想マシンを１台複製し、当該複製した仮想マシンを仮想マシン起動部１９を用いて起動する（ステップＳ６）。起動対象の仮想マシンのアプリケーションは、仮想マシン情報ＤＢ２５上の選択済みの仮想マシンに対応するアプリケーションＩＤから特定される。
【００６７】
仮想マシンが１台起動された後に、仮想マシン配置制御部１１は、アプリケーションワークロード負荷発生指示部１５を用いて、当該仮想マシンに対して、アプリケーションワークロード情報ＤＢ２６に登録されたアプリケーション負荷シナリオ情報に従って、外部のアプリケーション負荷発生ツールに負荷発生指示を行い、起動済みの仮想マシン上でアプリケーションの負荷を発生させる。
【００６８】
その際、性能情報管理部１６は、物理マシン、仮想マシンおよびアプリケーションワークロードの性能情報を収集し、性能情報ＤＢ２７に物理マシンおよび仮想マシンの性能情報を格納する（ステップＳ７）。この格納される情報は、負荷発生指示の単位に固有の性能情報ＩＤ、測定期間、アプリケーションワークロードＩＤ、アプリケーション起動時のスループットや応答時間の実測値、選択済みの物理マシンの物理マシンＩＤ、ＣＰＵやメモリの利用率の実測値、前述のように複製された仮想マシンに固有の仮想マシンＩＤ、当該仮想マシンのＣＰＵやメモリの利用率の実測値でなる。
【００６９】
そして、仮想マシン配置制御部１１は、仮想マシン予測式管理部１７を用いて、物理マシン４の基本情報および仮想マシンの基本情報と、仮想マシン１台におけるアプリケーション負荷テストにより得られた物理マシン４の性能情報および仮想マシンの性能情報をもとに仮想マシンの暫定予測式の変数への代入を行なうことで仮想マシン稼働台数を提示させる（ステップＳ８）。
【００７０】
提示に関わる予測式は、記憶装置２３の仮想マシン予測式情報ＤＢ２８に予め保存される。  
予測式は以下の式（１）で表される。  
Ｎ＝Ｘ＊Ａ  …式（１）
式（１）における変数Ｎは、該当物理マシンでの最大仮想マシン台数である。  
式（１）における変数Ａは補正係数であり、予測フェーズでは補正係数Ａ＝１とする。  
式（１）における変数Ｘは、以下の式（２）で表される変数Ｎ１と、以下の式（３）で表される変数Ｎ２のうち少ない方である。
【００７１】
Ｎ１＝物理マシン許容ＣＰＵ利用率／仮想マシン１台あたりの負荷発生時の物理ＣＰＵ利用率  …式（２）
Ｎ２＝物理マシン許容メモリ利用率／仮想マシン１台あたりの負荷発生時の物理メモリ利用率  …式（３）
例えば、物理マシン許容ＣＰＵ利用率が９０％で、仮想マシン１台あたりの負荷発生時の物理ＣＰＵ利用率が１５％とすれば、変数Ｎ１は６台となる。  
また、物理マシン許容メモリ利用率が９０％であり、仮想マシン１台あたりの負荷発生時の物理メモリ利用率が３０％であれば、変数Ｎ２は３台となる。
【００７２】
この場合、式（１）における変数Ｘは変数Ｎ２の値、つまり３台となり、予測フェーズでの最大仮想マシン台数である変数Ｎは３となる。  
変数Ｎは整数であるため、初期状態では演算結果の少数点は切り捨てられる。  
予測フェーズ時点での仮想マシン構成（仮想メモリ）はファイルサーバ３上の仮想マシンイメージファイル３１の構成であり、この構成にてＮ台の複製配置とする。
【００７３】
仮想マシン配置制御部１１は、仮想マシン複製部１８を用いて、ファイルサーバ３上の仮想マシンイメージファイル３１から物理マシン４へ仮想マシンを１台複製し、仮想マシン起動部１９を用いて当該複製した仮想マシンを起動する（ステップＳ９）。
【００７４】
仮想マシン配置制御部１１は、仮想マシン複製部１８および仮想マシン起動部１９の実行結果を受信することで、該当の物理マシン４における仮想マシンの起動台数がＮ台となったか否かを確認する（ステップＳ１０）。
【００７５】
仮想マシン配置制御部１１は、仮想マシンがＮ台起動された場合（ステップＳ１０のＹＥＳ）、当該仮想マシンに対して、アプリケーションワークロード情報ＤＢ２６に登録された各行のうち仮想マシン情報ＤＢ２５から選択した仮想マシンのアプリケーションＩＤが関連付けられる行の何れかをアプリケーションワークロード情報管理部１４を介して選択し、この選択行のアプリケーション負荷シナリオ情報に基づき、アプリケーションワークロード負荷発生指示部１５を経由して、当該仮想マシン上でアプリケーションの負荷を発生させる。
【００７６】
その際、性能情報管理部１６は、アプリケーション負荷時における物理マシン性能情報、仮想マシン性能情報、およびアプリケーションワークロード情報を測定し、これら測定した情報を測定期間の情報および新たに付与する性能情報ＩＤとともに記憶装置２３の性能情報ＤＢ２７に格納する（ステップＳ１１）。
【００７７】
この結果、性能情報ＤＢ２７上には、測定開始日時、測定終了日時、物理マシンのＣＰＵ使用率の実測値、物理マシンのメモリ使用率の実測値、仮想マシンのＣＰＵ使用率の実測値、および仮想マシンのメモリ使用率の実測値が関連付けられて格納されることになる。
【００７８】
この格納されるアプリケーションワークロード情報には、アプリケーションワークロード情報ＤＢ２６の前述した選択行のアプリケーションワークロードＩＤが含まれる。また、この格納される物理マシン性能情報には前述したように選択した物理マシンのＩＤが含まれ、格納される仮想マシン性能情報には前述したように選択した仮想マシンのＩＤが含まれる。
【００７９】
続いて、仮想マシン配置制御部１１は、性能情報管理部１６により、性能情報ＤＢ２７上のアプリケーション負荷時の期間に該当する行を選択し、この選択行の物理マシン性能情報および仮想マシン性能情報を性能情報ＤＢ２７から検索し、かつ、前述のように発生させたアプリケーションの負荷に該当するアプリケーションワークロード性能情報を性能情報ＤＢ２７の選択行から検索する（ステップＳ１２）。
【００８０】
そして、仮想マシン配置制御部１１は、ステップＳ１２の処理により性能情報ＤＢ２７から検索したアプリケーションワークロード性能情報が図４に示したアプリケーションワークロード情報ＤＢ２６上の前述した選択行のアプリケーションワークロード性能要件の要求性能、つまり応答時間やスループットの性能要件を満たしているか否かを判定する（ステップＳ１３）。
【００８１】
ステップＳ１３の処理で「ＹＥＳ」と判定された場合、仮想マシン配置制御部１１は、ステップＳ１２の処理で検索した物理マシンおよび仮想マシンの性能情報が、物理マシン情報ＤＢ２４上の選択済みの物理マシンのリソース許容値（ＣＰＵ利用率やメモリ利用率）の範囲以内で、かつ、仮想マシン情報ＤＢ２５上の選択済みの仮想マシンのリソース許容値の範囲以内であるか否かを判定する（ステップＳ１４）。
【００８２】
ステップＳ１３もしくはステップＳ１４の処理で「ＮＯ」と判定された場合、つまり検索したアプリケーションワークロード性能情報が検索済みの性能要件を満たしていなかったり、物理マシンや仮想マシンの検索済みの性能情報が許容値以内でなかったりした場合には、仮想マシン配置制御部１１は、直前のステップＳ１３もしくはステップＳ１４の処理による判定時より前の時点にステップＳ１３およびステップＳ１４を行なって、これらの処理でともに「ＹＥＳ」と判定されていたか否か、つまり、検索したアプリケーションワークロードの性能情報がアプリケーションに関する要求性能を過去に満たしており、かつ、物理マシンおよび仮想マシンの検索済みの性能情報が許容値以内であるとの判定が既になされていたか否かを判定する（ステップＳ１５）。
【００８３】
ステップＳ１５の処理で「ＮＯ」と判定された場合、補正フェーズにおける仮想マシン削減工程を開始する。  
この仮想マシン削減工程に進んだ際の処理を説明する。まず、仮想マシン配置制御部１１は、性能情報管理部１６を用いて性能情報ＤＢ２７上の前述した選択行のアプリケーションワークロード情報の各種実測性能データを呼び出す。
【００８４】
次に、仮想マシン配置制御部１１は、アプリケーションワークロード情報管理部１４を用いてアプリケーションワークロード情報ＤＢ２６上の前述した選択行のアプリケーションワークロード性能要件の各種要求性能情報を呼び出して、これらを前述した各種実測性能データと比較することで要求性能の達成／未達成を判断する（ステップＳ１６）。
【００８５】
アプリケーションワークロード性能要件の要求性能が達成されている場合（ステップＳ１６のＮＯ）、仮想マシン配置制御部１１は、性能情報管理部１６を用いて性能情報ＤＢ２７上の選択行の物理マシン性能情報や仮想マシン性能情報の各種実測性能データを呼び出す。
【００８６】
そして、仮想マシン配置制御部１１は、選択済みの物理マシンのリソース許容値を物理マシン情報管理部１２により物理マシン情報ＤＢ２４から呼び出し、次に、選択済みの仮想マシンのリソース許容値を仮想マシン情報管理部１３により仮想マシン情報ＤＢ２５から呼び出す。
【００８７】
そして、仮想マシン配置制御部１１は、これら呼び出した許容値と前述のように呼び出した実測値とを比較することで、物理マシンや仮想マシンのメモリの使用率がリソース許容値の上限を越えているのか、もしくは物理マシンや仮想マシンのＣＰＵの使用率がリソース許容値の上限を越えているのかを判断する（ステップＳ１７）。
【００８８】
物理マシンや仮想マシンのメモリの使用率がリソース許容値の上限を越えている場合（テップＳ１７の「ＹＥＳ」）、仮想マシン配置装置１は、性能情報管理部１６を用いて現在の仮想マシン配置台数であるＮ台分のそれぞれについて追加可能なメモリサイズを算出する（ステップＳ１８）。
【００８９】
この算出のために、性能情報管理部１６は、物理マシン情報ＤＢ２４上の該当物理マシン基本情報のメモリ容量と許容メモリ利用率、および性能情報ＤＢ２７上の物理マシン性能情報のメモリ利用率を物理マシン情報管理部１２および性能情報管理部１６を用いて取得し、これら取得した情報を使用してメモリ空きリソースを算出する。
【００９０】
例えば、仮想マシンＩＤが「Ｆ００１」の仮想マシンを選択して、この仮想マシンを物理マシンＩＤが「Ｒ００１」の物理マシンに配置する場合、図２に示した物理マシン情報ＤＢ２４において、物理マシンＩＤ「Ｒ００１」に関連付けられる物理マシン基本情報のメモリ容量は４ＧＢ（便宜上４０００ＭＢとする）であって、許容メモリ利用率は９０％である。
【００９１】
そして、ステップＳ１１の処理であるアプリケーション負荷発生及び性能測定時に作成された、図５に示した性能情報ＤＢ２７上の性能情報ＩＤ「Ｐ００２」に関連付けられる物理マシン性能情報のメモリ利用率は４０％である。
【００９２】
この場合、物理マシン４の空きメモリ容量は２４００ＭＢ（＝４０００ＭＢ−４０００ＭＢ＊０．４）であるが、前述したように物理マシンの許容メモリ利用率が９０％である場合には、物理マシンのメモリ容量の実質的な上限は３６００ＭＢ（＝４０００＊０．９）となる。  
よって、仮想マシン追加の割り当て可能なメモリサイズは２０００ＭＢ（＝３６００−４０００＊０．４）となる。
【００９３】
もし、現時点で配置した仮想マシンＮが３である場合、各仮想マシン１台あたりに追加可能なメモリサイズは約６６７ＭＢ（＝２０００ＭＢ／３）であると性能情報管理部１６により判断できる。
【００９４】
ステップＳ１８による処理後、仮想マシン配置装置１は、仮想マシン構成変更部２０を用いて、仮想マシンＮ台のそれぞれのメモリサイズをステップＳ１８の処理により求められた追加可能なサイズを付加したメモリサイズに拡大し、仮想マシン停止部２１と仮想マシン起動部１９とを用いて、メモリサイズ拡大後の仮想マシンＮ台を再起動する（ステップＳ２１）。
【００９５】
また、ステップＳ１６の処理で「ＹＥＳ」と判別された場合、つまりアプリケーションワークロードの要求性能が満たされていない場合、もしくはステップＳ１７の処理で「ＮＯ」と判別された場合、つまり物理マシンや仮想マシンのＣＰＵの使用率が要求性能を満たしていない場合には、仮想マシン配置装置１は、仮想マシン停止部２１を用いて配置済みの仮想マシンを１台停止させる。この場合、仮想マシン台数の変数ＮはＮ＝Ｎ−１となる（ステップＳ１９）。
【００９６】
ステップＳ１９の処理の結果として、仮想マシンの台数Ｎ＝０でない場合（ステップＳ２０のＮＯ）、もしくはステップＳ２１の処理の終了後は、仮想マシン削減工程を終了してステップＳ１１の処理に戻る。
【００９７】
補正フェーズの当該ステップＳ１１以降の処理の説明に戻る。前述したステップＳ１４の処理で「ＹＥＳ」と判定された場合は、仮想マシン配置制御部１１は、直前のステップＳ１３やステップＳ１４の処理による判定時より前にステップＳ１３もしくはステップＳ１４の処理がなされており、この処理で「ＮＯ」と判定されていた、つまり、検索したアプリケーションワークロードの性能情報が要求性能を満たしていない、もしくは検索した物理マシンおよび仮想マシンの性能情報がリソース許容値の範囲以内でなかったとの判定が既になされていたか否かを判定する（ステップＳ２２）。
【００９８】
ステップＳ２２の処理で「ＮＯ」と判定された場合、補正フェーズの仮想マシン追加工程を開始する。  
仮想マシン追加工程に進んだ際の処理を説明する。まず、仮想マシン配置装置１は、性能情報管理部１６を用いて、仮想マシン１台分を追加配置するためのメモリサイズを物理マシン上に割り当て可能か否かを判断する（ステップＳ２３）。
【００９９】
この判断のために、性能情報管理部１６は、物理マシン情報ＤＢ２４上の該当物理マシン基本情報のメモリ容量と許容メモリ利用率、および性能情報ＤＢ２７上の物理マシン性能情報のメモリ利用率を物理マシン情報管理部１２および性能情報管理部１６を用いて取得し、これら取得した情報を使用してメモリ空きリソースを算出する。
【０１００】
例えば、仮想マシンＩＤが「Ｆ００１」の仮想マシンを選択して、この仮想マシンを物理マシンＩＤが「Ｒ００１」の物理マシンに配置する場合、図２に示した物理マシン情報ＤＢ２４において、物理マシンＩＤ「Ｒ００１」に関連付けられる物理マシン基本情報のメモリ容量は４ＧＢ（便宜上４０００ＭＢとする）であって、許容メモリ利用率は９０％である。
【０１０１】
そして、ステップＳ１１の処理であるアプリケーション負荷発生及び性能測定時に作成された、図５に示した性能情報ＤＢ２７上の性能情報ＩＤ「Ｐ００２」に関連付けられる物理マシン性能情報のメモリ利用率は４０％である。
【０１０２】
この場合、物理マシン４の空きメモリ容量は２４００ＭＢ（＝４０００ＭＢ−４０００ＭＢ＊０．４）であるが、前述したように物理マシンの許容メモリ利用率が９０％である場合には、物理マシンのメモリ容量の実質的な上限は３６００ＭＢ（＝４０００＊０．９）となる。  
よって、仮想マシン追加の割り当て可能なメモリサイズは２０００ＭＢ（＝３６００−４０００＊０．４）となる。
【０１０３】
また、仮想マシン配置の際、初期の仮想マシンのメモリサイズは、図３に示した仮想マシン情報ＤＢ２５の該当仮想マシンＩＤに関連付けられる仮想マシン基本情報のメモリ容量に設定されている。
【０１０４】
例えば、図４に示した仮想マシン情報ＤＢ２５において、仮想マシンＩＤが「Ｆ００１」である場合、これと関連付けられる仮想マシン１台のメモリ容量は５１２ＭＢで設定されている。
【０１０５】
前述した計算では、仮想マシン追加の割り当て可能なメモリサイズは２０００ＭＢであるので、ステップＳ２３の処理において仮想マシン１台分の追加が可能であると性能情報管理部１６により判断できる。
【０１０６】
ステップＳ２３の処理で「ＹＥＳ」と判別された場合、つまり仮想マシン１台分を追加配置するためのメモリサイズを物理マシン上に割り当て可能である場合には、仮想マシン配置装置１は、仮想マシン複製部１８を用いて、ファイルサーバ３上の仮想マシンイメージファイル３１から仮想マシンを物理マシンへさらに１台複製し、当該複製した仮想マシンを仮想マシン起動部１９を用いて起動する。つまり、仮想マシン台数の変数ＮはＮ＝Ｎ＋１となる（ステップＳ２４）。
【０１０７】
また、ステップＳ２３の処理で「ＮＯ」と判別された場合、つまり、仮想マシン１台分を追加配置するためのメモリサイズを物理マシン上に割り当て可能でない場合には、仮想マシン配置装置１は、仮想マシン１台分の追加に必要となる物理メモリを確保するために、現在の仮想マシン配置台数である仮想マシンＮ台に対して、仮想マシン構成変更部２０を用いて仮想マシンのメモリサイズを縮小し、仮想マシン停止部２１と仮想マシン起動部１９を用いて仮想マシンＮ台を再起動する（ステップＳ２５）。
【０１０８】
例えば、仮想マシン１台分のメモリ容量が２５６ＭＢであり、仮想マシンの前述した台数Ｎが８の場合、１台あたりの縮小サイズは３２ＭＢ（＝２５６ＭＢ／８）となるので、このサイズを各仮想マシンの現在のメモリ容量である２５６ＭＢから縮小して仮想マシンのメモリを２２４ＭＢ（＝２５６ＭＢ−３２ＭＢ）に変更する。  
ステップＳ２４もしくはステップＳ２５の処理後は、仮想マシン追加工程を終了してステップＳ１１の処理に戻る。
【０１０９】
補正フェーズの当該ステップＳ１１以降の説明に戻る。前述したステップＳ１５の処理で「ＹＥＳ」と判定された場合は、仮想マシンの配置台数と当該仮想マシンによる使用メモリ容量とを、前回の仮想マシン追加工程の開始前の状態に戻す（ステップＳ２６）。
【０１１０】
ステップＳ２２の処理で「ＹＥＳ」と判定された場合、もしくはステップＳ２３の処理後は、現在の仮想マシンの配置台数と当該仮想マシンによる使用メモリ容量とを仮想マシンの最適な配置条件として確定し、この確定した条件を示す情報を記憶装置２３の仮想マシン予測式情報ＤＢ２８に格納する（ステップＳ２７）。
【０１１１】
この格納される情報には、アプリケーションワークロード情報ＤＢ２６の選択行のアプリケーションワークロードＩＤ、選択済みの仮想マシンの仮想マシンＩＤ、選択済みの物理マシンの物理マシンＩＤ、配置先仮想マシンＩＤ、つまり性能情報ＤＢに格納された仮想マシンＩＤが含まれる。
【０１１２】
また、仮想マシン削減工程におけるステップＳ１９の処理の結果として、仮想マシンの台数Ｎ＝０となった場合は（ステップＳ２０のＹＥＳ）、該当物理マシンにおける該当の仮想マシンでのアプリケーションワークロード要件は仮想マシン１台においても実現できない場合であるので、仮想マシン削減工程を終了する。
【０１１３】
このようにステップＳ２０の処理で「ＹＥＳ」と判別された場合、もしくはステップＳ２７の処理後は、仮想マシン配置装置１は、仮想マシン予測式管理部１７を用いて、補正フェーズにおいて求められた仮想マシン台数Ｎを予測式（Ｎ＝Ｘ＊Ａ）に代入する事により新たな補正係数Ａを算出し、当該予測式の各種の変数が確定する。
【０１１４】
次に、仮想マシン配置制御部１１は、確定した予測式、確定した格納先仮想マシン構成（メモリサイズ）、格納先物理マシン最大許容仮想マシン台数などを、仮想マシン予測式管理部１７を用いて記憶装置２３の仮想マシン予測式情報ＤＢ２８に保存する。
【０１１５】
また、仮想マシン配置制御部１１は、配置完了後の仮想マシンに関する情報、つまり、図３に示すように「Ｖ」で始まる仮想マシンＩＤ、仮想マシン基本情報、許容リソース情報、アプリケーションＩＤおよび配置情報を、仮想マシン情報管理部１３を用いて記憶装置２３の仮想マシン情報ＤＢ２５に保存する（ステップＳ２８）。
【０１１６】
以上のように、本発明の実施形態における情報処理システムでは、物理マシン上に所定の台数の仮想マシンを暫定的に配置した状態で、負荷発生による物理マシンや仮想マシンの性能情報、およびアプリケーション性能情報を取得し、これらの性能情報が所定の条件を満たしているか否かにより、配置台数の増減や仮想マシンのメモリの拡大もしくは縮小を行ないながら、最適な仮想マシンの配置台数やメモリを選択する処理を行なうので、仮想マシンに構築されたアプリケーションの要求性能を実現しながら、物理マシンに対する仮想マシンの最大稼動台数を確保し、物理マシンのリソースの利用率の最適化を行なうことができる。
【０１１７】
また、この情報処理システムでは、仮想マシンの条件確定とともに、仮想マシン予測式における暫定的であった補正係数を算出して当該仮想マシン予測式を確定するようにしたので、同じスペックの物理マシンと同じアプリケーションの要求性能の組み合わせであれば、アプリケーションと要求性能、物理マシンに関連付けられた仮想マシン予測式から許容台数や推奨仮想マシンシステム構成を判断できる。
【０１１８】
よって、同一アプリケーションプログラムおよび同一の要求性能における仮想マシンの配置と集約において、物理マシンへの仮想マシン集約台数の最大化とリソース利用率の最適化をともに実現することが可能になる。また、異なるスペックの物理マシンでも、前述した予測フェーズや補正フェーズを従った処理を１度行なうことで同様の効果が得られる。
【０１１９】
なお、この発明は前記実施形態そのままに限定されるものではなく実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１２０】
１…仮想マシン配置装置、２…管理端末装置、３…ファイルサーバ、４…物理マシン、１１…仮想マシン配置制御部、１２…物理マシン情報管理部、１３…仮想マシン情報管理部、１４…アプリケーションワークロード情報管理部、１５…アプリケーションワークロード負荷発生指示部、１６…性能情報管理部、１７…仮想マシン予測式管理部、１８…仮想マシン複製部、１９…仮想マシン起動部、２０…仮想マシン構成変更部、２１…仮想マシン停止部、２２…仮想マシン削除部、２３…記憶装置、２４…物理マシン情報ＤＢ、２５…仮想マシン情報ＤＢ、２６…性能情報ＤＢ、２７…アプリケーションワークロード情報ＤＢ、２８…仮想マシン予測式情報ＤＢ、３１…仮想マシンイメージファイル、３２，４３…仮想マシン、３３，４５…ＯＳ、３４，４４…アプリケーション、４１…ホストＯＳ、４２…仮想マシンモニタ。
【図１】
2010271863.tif 000003
【図２】
2010271863.tif 000004
【図３】
2010271863.tif 000005
【図４】
2010271863.tif 000006
【図５】
2010271863.tif 000007
【図６】
2010271863.tif 000008
【図７】
2010271863.tif 000009