(57)【要約】      （修正有）【課題】仮想マシンを実行する物理サーバの資源を有効に利用する配置制御プログラム、方法及び装置を提供する。【解決手段】本配置制御方法は、第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定し、複数の仮想マシンのうち業務処理を実行している仮想マシンを第１の情報処理装置に配置し、複数の仮想マシンのうち業務処理を実行していない仮想マシンを第２の情報処理装置に配置する処理を含む。【選択図】図１
2015184830.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定し、
前記複数の仮想マシンのうち前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置し、
前記複数の仮想マシンのうち前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する
処理を実行させるための配置制御プログラム。
【請求項２】
前記複数の仮想マシンの各々が業務処理を実行しているか否か判定する処理が、
前記第２の情報処理装置に予め配置された、前記複数の仮想マシンとは別の仮想マシンであり且つ前記業務処理を実行しない仮想マシンの状態に関する情報を取得し、
前記複数の仮想マシンの各々について、当該仮想マシンの状態に関する情報と、取得された前記業務処理を実行しない仮想マシンの状態に関する情報とを比較し、当該仮想マシンが前記業務処理を実行しているか否かを判定する
処理を含む請求項１記載の配置制御プログラム。
【請求項３】
前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する処理が、
前記第１の情報処理装置において前記業務処理を実行していない仮想マシンのうち、第１の時間以上前記業務処理を実行していない仮想マシンを検出し、前記第２の情報処理装置に配置する
処理を含む請求項１又は２記載の配置制御プログラム。
【請求項４】
前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置する処理及び前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する処理を、定期的に実行する
請求項１乃至３のいずれか１つ記載の配置制御プログラム。
【請求項５】
前記第２の情報処理装置のメモリ量の情報と、１台の仮想マシンが使用するメモリ量の情報とを用いて、前記第２の情報処理装置が実行することができる仮想マシンの台数を算出し、
データ格納部に格納されている、前記複数の仮想マシンの稼働実績のデータを用いて、前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置する処理を最後に実行してから次に実行するまでの間に前記第２の情報処理装置において前記業務処理の実行を開始する仮想マシンの台数が、前記第２の情報処理装置が実行することができる仮想マシンの台数を超えないように前記第１の時間を算出する
処理をさらに実行させるための請求項４記載の配置制御プログラム。
【請求項６】
前記第２の情報処理装置は、前記第１の情報処理装置より演算性能が低い情報処理装置である
請求項１乃至５のいずれか１つ記載の配置制御プログラム。
【請求項７】
コンピュータが、
第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定し、
前記複数の仮想マシンのうち前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置し、
前記複数の仮想マシンのうち前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する
処理を実行する配置制御方法。
【請求項８】
第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定する判定部と、
前記複数の仮想マシンのうち前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置し、前記複数の仮想マシンのうち前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する配置部と、
を有する配置制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの配置技術に関する。
【背景技術】
【０００２】
データセンタの運用コストに占める電気料金の割合は大きい。或る調査は、データセンタの運用コストに占める電気料金の割合が約３２．４％であるのに対し、大規模なメーカーの製造コストに占める電気料金の割合が約３％であることを示している。そのため、データセンタの運用を行う事業者は、データセンタの消費電力を削減するための様々な取り組みを行っている。
【０００３】
例えば或る文献においては、データセンタに設置された物理サーバの資源が有効に利用されておらず、その結果として消費電力が多くなることに着目している。具体的には、物理サーバの資源の使用率等に基づいて、仮想マシンに割り当てる資源を再配置することで、空いている資源を減らし、システムの全体の消費電力を減らすことが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−６１２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
但し、従来の技術を利用したとしても、物理サーバの資源を有効に利用することができず、消費電力の削減量が不十分である場合がある。
【０００６】
従って、本発明の目的は、１つの側面では、仮想マシンを実行する物理サーバの資源を有効に利用するための技術を提供することである。
【課題を解決するための手段】
【０００７】
１つの態様では、第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定し、複数の仮想マシンのうち業務処理を実行している仮想マシンを第１の情報処理装置に配置し、複数の仮想マシンのうち業務処理を実行していない仮想マシンを第２の情報処理装置に配置する処理を含む。
【発明の効果】
【０００８】
１つの側面では、仮想マシンを実行する物理サーバの資源を有効に利用できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態のシステム概要を示す図である。
【図２】図２は、ＶＭの移動について説明するための図である。
【図３】図３は、配置管理装置の機能ブロック図である。
【図４】図４は、性能データ格納部に格納されるデータの一例を示す図である。
【図５】図５は、メインの処理フローを示す図である。
【図６】図６は、状態特定処理の処理フローを示す図である。
【図７】図７は、閾値格納部に格納されるデータの一例を示す図である。
【図８】図８は、ネットワークにおけるデータ転送量の推移の一例を示す図である。
【図９】図９は、ＣＰＵ使用率の推移の一例を示す図である。
【図１０】図１０は、データのフォーマットの一例を示す図である。
【図１１】図１１は、状態ログ格納部に格納される状態ログの一例を示す図である。
【図１２】図１２は、計算処理の処理フローを示す図である。
【図１３】図１３は、時系列データ格納部に格納される時系列データの一例を示す図である。
【図１４】図１４は、ＶＭ数データ格納部に格納されるＶＭ数データの一例を示す図である。
【図１５】図１５は、ＶＭ数データを生成するためのプログラムの一例を示す図である。
【図１６】図１６は、最大台数格納部に格納される状態ログの一例を示す図である。
【図１７】図１７は、アイドルＶＭの台数の推移について説明するための図である。
【図１８】図１８は、アイドルＶＭの台数の推移について説明するための図である。
【図１９】図１９は、アイドルＶＭの台数の推移について説明するための図である。
【図２０】図２０は、アイドルＶＭの台数の推移について説明するための図である。
【図２１】図２１は、アイドルＶＭの台数の推移について説明するための図である。
【図２２】図２２は、アイドルＶＭの台数の推移について説明するための図である。
【図２３】図２３は、アイドルＶＭの台数の推移について説明するための図である。
【図２４】図２４は、アイドルＶＭの台数の推移について説明するための図である。
【図２５】図２５は、検出処理の処理フローを示す図である。
【図２６】図２６は、データセンタにおけるアイドルＶＭの数の推移を示す図である。
【図２７】図２７は、スクリプトの一例を示す図である。
【図２８】図２８は、空きメモリ量を示す図である。
【図２９】図２９は、空きメモリ量を示す図である。
【図３０】図３０は、スクリプト実行部が実行する処理の処理フローを示す図である。
【図３１】図３１は、設定を行うためのウィンドウを示す図である。
【図３２】図３２は、ＶＭに割り当てるメモリの量と性能との関係について説明するための図である。
【図３３】図３３は、ＶＭに割り当てるメモリの量と性能との関係について説明するための図である。
【図３４】図３４は、ＶＭ数及びＣＰＵ使用率の推移を示す図である。
【図３５】図３５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
図１に、本実施の形態のシステム概要を示す。例えばＬＡＮ（Local Area Network）であるネットワーク９には、物理サーバである業務サーバ３０乃至３２と、物理サーバであるアイドルＶＭ（Virtual Machine）用サーバ５と、本実施の形態の主要な処理を行う配置管理装置１と、品質管理装置７とが接続される。以下では、アイドル状態であるＶＭをアイドルＶＭと呼び、サービスを提供するための処理である業務処理を実行中のＶＭを稼働ＶＭと呼ぶ。業務処理は、例えば、外部の端末等（図示せず）からの要求に応じて実行される。アイドル状態であるＶＭは、ＯＳを実行しているが業務処理を実行していない。
【００１１】
業務サーバ３０乃至３２は、稼働ＶＭを実行するためのサーバである。配置管理装置１は、業務サーバ３０においてアイドル状態になってから所定の時間以上経過したアイドルＶＭを、業務サーバ３０からアイドルＶＭ用サーバ５に移動する。
【００１２】
ＶＭを実行していない業務サーバ（図１の例では、業務サーバ３１及び３２）の電源はオフにされる。図２を用いて、ＶＭの片寄せによって消費電力を抑制する方法について説明する。本実施の形態においては、電源をオンにする業務サーバの数を少なくすることで、消費電力を少なくする。図２の例においては、業務サーバ３２がＶＭを実行していないので電源がオフにされており、業務サーバ３０及び３１はＶＭを実行しているので電源はオフにされていない。例えば業務サーバ３０のＣＰＵ（Central Processing Unit）使用率が所定の基準に達していない場合には、業務サーバ３１のＶＭが業務サーバ３０に移動される。実行すべきＶＭの全てを業務サーバ３０及び３１において実行することができない場合には、業務サーバ３２の電源がオンにされる。
【００１３】
アイドルＶＭ用サーバ５は、アイドルＶＭを実行するためのサーバである。配置管理装置１は、アイドルＶＭ用サーバ５においてＶＭが稼働開始した（すなわち、稼働ＶＭを検出した）場合に、そのＶＭをアイドルＶＭ用サーバ５から業務サーバ３０に移動する。なお、アイドルＶＭ用サーバ５が業務処理を実行することを想定していないので、アイドルＶＭ用サーバ５の演算性能は、業務サーバ３０乃至３２の演算性能より低くてもよい。
【００１４】
品質管理装置７は、業務サーバ３０乃至３２及びアイドルＶＭ用サーバ５から性能データを収集するサーバである。性能データは、日時、ＶＭ名、ＣＰＵ使用率、Ｉ／Ｏ（Input/Output）データ量及びネットワークにおけるデータ転送量等を含む。
【００１５】
図３に、配置管理装置１の機能ブロック図を示す。配置管理装置１は、制御部１００と、状態特定部１０１と、計算部１０２と、検出部１０３と、スクリプト実行部１０４と、状態ログ格納部１０５と、時系列データ格納部１０６と、ＶＭ数データ格納部１０７と、スクリプト格納部１０８と、性能データ格納部１０９と、閾値格納部１１０、最大台数格納部１１１とを含む。
【００１６】
制御部１００は、配置管理装置１による処理の実行を制御する。状態特定部１０１は、性能データ格納部１０９に格納されているデータ及び閾値格納部１１０に格納されているデータを用いて処理を行い、処理結果を状態ログ格納部１０５に格納する。計算部１０２は、状態ログ格納部１０５に格納されているデータを用いて処理を行い、処理結果を時系列データ格納部１０６に格納する。また、計算部１０２は、時系列データ格納部１０６に格納されているデータを用いて処理を行い、処理結果をＶＭ数データ格納部１０７に格納する。また、計算部１０２は、ＶＭ数データ格納部１０７に格納されているデータを用いて処理を行い、処理結果を最大台数格納部１１１に格納する。検出部１０３は、時系列データ格納部１０６に格納されているデータ及び最大台数格納部１１１に格納されているデータを用いて処理を行い、処理結果であるスクリプトをスクリプト格納部１０８に格納する。スクリプト実行部１０４は、スクリプト格納部１０８に格納されているスクリプトを実行する。
【００１７】
図４に、性能データ格納部１０９に格納されるデータの一例を示す。図４の例では、日時と、ＶＭ名と、ＣＰＵ使用率と、Ｉ／Ｏデータ量と、ネットワークにおけるデータ転送量とが格納される。業務サーバ３０乃至３２及びアイドルＶＭ用サーバ５の性能データは１分毎に品質管理装置７によって収集され、配置管理装置１の性能データ格納部１０９に格納される。
【００１８】
なお、本実施の形態においては、常にアイドル状態であり業務処理を実行しないＶＭ（以下、検出用ＶＭと呼ぶ）が、サービスの提供用のＶＭとは別にアイドルＶＭ用サーバ５に配置される。検出用ＶＭは、アイドルＶＭを検出する際に利用されるＶＭである。
【００１９】
次に、図５乃至３１を用いて、配置管理装置１が実行する処理について説明する。まず、制御部１００は、前回の処理から所定の時間（例えば２４時間）が経過したか判断する（図５：ステップＳ１）。
【００２０】
所定の時間が経過していない場合（ステップＳ１：Ｎｏルート）、ステップＳ１の処理に戻る。一方、所定の時間が経過した場合（ステップＳ１：Ｙｅｓルート）、制御部１００は、状態特定部１０１に処理の実行を要求する。
【００２１】
これに応じ、状態特定部１０１は、状態特定処理を実行する（ステップＳ３）。状態特定処理については、図６乃至図１１を用いて説明する。
【００２２】
まず、状態特定部１０１は、性能データ格納部１０９から、直近の所定期間（例えば２４時間）における検出用ＶＭの性能データを読み出す。検出用ＶＭの性能データは、例えば、図４においてＶＭ名が「ＩＤＬＥ０１」である性能データである。そして、状態特定部１０１は、直近の所定期間における検出用ＶＭの性能データから、アイドルＶＭを検出するための閾値を算出し、閾値格納部１１０に格納する（図６：ステップＳ２１）。閾値は、例えば、直近の所定期間における平均値である。
【００２３】
図７に、閾値格納部１１０に格納されるデータの一例を示す。図７の例では、ＣＰＵ使用率の閾値と、Ｉ／Ｏデータ量の閾値と、ネットワークにおけるデータ転送量の閾値とが格納される。
【００２４】
状態特定部１０１は、システムにおいて実行されている各ＶＭの直近の所定期間における性能データと、閾値格納部１１０に格納された閾値とを比較することにより、直近の所定期間における各ＶＭのアイドル時間を算出する（ステップＳ２３）。
【００２５】
図８及び図９を用いて、各ＶＭの性能データと閾値との比較について説明する。図８に、ネットワークにおけるデータ転送量の推移の一例を示す。図８においては、縦軸がデータ転送量（ｋＢ／ｓ）を表し、横軸が時刻を表す。点線は閾値を表し、閾値は５ｋＢ／ｓである。図８の例では、ＶＭ１乃至ＶＭ４のデータ転送量は全期間において閾値以下である。
【００２６】
図９に、ＣＰＵ使用率の推移の一例を示す。図９においては、縦軸がＣＰＵ使用率（％）を表し、横軸が時刻を表す。点線は閾値を表し、閾値は１０％である。図９の例では、ＶＭ１及びＶＭ３のＣＰＵ使用率はほぼ全期間において１０％以下であるが、ＶＭ２及びＶＭ４のＣＰＵ使用率は特に後半に１０％を超えることが多い。
【００２７】
本実施の形態においては、例えば、性能データにおけるいずれの項目においても閾値を下回っている時刻については、ＶＭがアイドル状態である時刻とする。従って、図８及び図９に示した例においては、ＶＭ２及びＶＭ４は後半の時間帯においてアイドル状態ではないと判定される。
【００２８】
ステップＳ２３において算出されたアイドル時間は、例えば図１０に示すようなフォーマットでメインメモリ等の記憶装置に格納される。図１０の例では、ＶＭ名と、アイドル時間とが含まれる。
【００２９】
そして、状態特定部１０１は、直近の所定期間におけるアイドル時間の割合が所定の閾値（例えば０．９）以上であるＶＭを検出する（ステップＳ２５）。そして呼び出し元の処理に戻る。なお、アイドル時間の割合が０．９以上である場合にアイドル状態であると判定しているのは、一時的な処理（例えばウイルススキャン等）の影響によりアイドル状態ではないと判定されるのを防ぐためである。また、ステップＳ２５においてアイドル状態であるＶＭが検出されない場合もある。
【００３０】
なお、状態特定部１０１は、ステップＳ２５の処理の結果を状態ログ格納部１０５に格納する。図１１に、状態ログ格納部１０５に格納される状態ログの一例を示す。図１１の例では、日時と、ＶＭ名と、サーバの識別情報と、状態を示す情報とが格納される。「Ｗｏｒｋ」は稼働している状態であることを表し、「Ｉｄｌｅ」はアイドル状態であることを表す。ステップＳ２５において検出されたＶＭには「Ｉｄｌｅ」が設定され、検出されなかったＶＭには「Ｗｏｒｋ」が設定される。
【００３１】
以上のように、業務処理を実行しない検出用ＶＭの性能データを利用するので、ＶＭがアイドル状態であるか否かを高精度で判定できるようになる。
【００３２】
図５の説明に戻り、制御部１００は、計算部１０２に計算処理の実行を要求する。これに応じ、計算部１０２は、計算処理を実行する（ステップＳ５）。計算処理については、図１２乃至図２４を用いて説明する。
【００３３】
まず、計算部１０２は、状態ログ格納部１０５に格納された状態ログを時系列データに変換し、時系列データ格納部１０６に格納する（図１２：ステップＳ３１）。
【００３４】
図１３に、時系列データ格納部１０６に格納される時系列データの一例を示す。図１３の例では、ＶＭ名と、サーバの識別情報と、状態を示す情報とが格納される。状態を示す情報は、所定の期間（図１３の例では、４日間）について日毎に格納される。
【００３５】
そして、計算部１０２は、アイドル状態である日数を表す自然数であるｎを１に設定する（ステップＳ３３）。
【００３６】
計算部１０２は、時系列データ格納部１０６に格納された時系列データの各日について、ＶＭの台数を状態毎に集計してＶＭ数データを生成し（ステップＳ３５）、ＶＭ数データ格納部１０７に格納する。
【００３７】
図１４に、ＶＭ数データ格納部１０７に格納されるＶＭ数データの一例を示す。図１４の例では、９月２９日から１０月２日の４日間における各日について、１日アイドル状態であるＶＭの台数と、２日アイドル状態であるＶＭの台数と、２日以上アイドル状態であるＶＭの台数と、２日以上アイドル状態であるＶＭをアイドルＶＭ用サーバ５に移動した場合におけるアイドルＶＭ用サーバ５上の稼働ＶＭの台数の推定値とが格納される。図１４の例は、ｎ＝２である場合の例である。例えばｎ＝３である場合には、１日アイドル状態であるＶＭの台数と、２日アイドル状態であるＶＭの台数と、３日アイドル状態であるＶＭの台数と、３日以上アイドル状態であるＶＭの台数と、３日以上アイドル状態であるＶＭをアイドルＶＭ用サーバ５に移動した場合におけるアイドルＶＭ用サーバ５上の稼働ＶＭの台数の推定値とが格納される。なお、スプレッドシート上に配置された時系列データから、同じスプレッドシート上にＶＭ数データを生成するためのプログラムは、例えば図１５に示すようになる。
【００３８】
そして、計算部１０２は、ステップＳ３５において生成されたＶＭ数データから、稼働ＶＭの台数の推定値のうち最大値を特定し（ステップＳ３７）、最大台数格納部１１１に格納する。例えばＶＭ数データが図１４に示したデータである場合には、最大値は「２」である。
【００３９】
計算部１０２は、ｎ＝ｎｍａｘが成立するか判断する（ステップＳ３９）。ｎｍａｘは、管理者等によって予め設定された自然数である。例えば、ｎｍａｘ＝７とする。ｎ＝ｎｍａｘが成立しない場合（ステップＳ３９：Ｎｏルート）、計算部１０２は、ｎを１インクリメントする（ステップＳ４１）。そしてステップＳ３５の処理に戻る。一方、ｎ＝ｎｍａｘが成立する場合（ステップＳ３９：Ｙｅｓルート）、呼び出し元の処理に戻る。
【００４０】
以上のような処理を実行すると、図１６に示すようなデータが最大台数格納部１１１に格納される。図１６の例では、ｎの値と、ｎ日以上アイドル状態であるＶＭをアイドルＶＭ用サーバ５に移動した場合におけるアイドルＶＭ用サーバ５上の稼働ＶＭの台数の推定値のうち最大の値とが格納される。
【００４１】
ここで、計算処理について説明を追加する。図１７乃至図２４に、ｎ＝７の場合における、アイドルＶＭ用サーバ５へ移動するＶＭの台数、アイドルＶＭ用サーバ５上の稼働ＶＭの台数、及びアイドルＶＭ用サーバ５上のＶＭの台数の推移を示す。ここでは、２０１３年９月２９日からＶＭの移動を開始し、２０１３年１０月６日まで運用した場合の例を示す。
【００４２】
図１７に、初日である２０１３年９月２９日の状態を示す。初日においては、７日アイドル状態であるＶＭと、８日以上アイドル状態であるＶＭとがアイドルＶＭ用サーバ５に移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１７７になる。この段階においては、アイドルＶＭ用サーバ５において稼働ＶＭは存在しないものとする。
【００４３】
図１８に、２０１３年９月３０日の状態を示す。２０１３年９月３０日においては、７日アイドル状態であるＶＭの台数が１であり、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が１７である。前者のＶＭはアイドルＶＭ用サーバ５に移動され、後者のＶＭは業務サーバ３０乃至３２のいずれかに移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１７７＋１−１７＝１６１になる。
【００４４】
図１９に、２０１３年１０月１日の状態を示す。２０１３年１０月１日においては、７日アイドル状態であるＶＭの台数が２３であり、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が２２である。前者のＶＭはアイドルＶＭ用サーバ５に移動され、後者のＶＭは、業務サーバ３０乃至３２のいずれかに移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１６１＋２３−２２＝１６２になる。
【００４５】
図２０に、２０１３年１０月２日の状態を示す。２０１３年１０月２日においては、７日アイドル状態であるＶＭの台数が１３であり、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が３１である。前者のＶＭはアイドルＶＭ用サーバ５に移動され、後者のＶＭは、業務サーバ３０乃至３２のいずれかに移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１６２＋１３−３１＝１４４になる。
【００４６】
図２１に、２０１３年１０月３日の状態を示す。２０１３年１０月３日においては、７日アイドル状態であるＶＭの台数が２１であり、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が１２である。前者のＶＭはアイドルＶＭ用サーバ５に移動され、後者のＶＭは、業務サーバ３０乃至３２のいずれかに移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１４４＋２１−１２＝１５３になる。
【００４７】
図２２に、２０１３年１０月４日の状態を示す。２０１３年１０月４日においては、７日アイドル状態であるＶＭの台数が１４であり、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が１１である。前者のＶＭはアイドルＶＭ用サーバ５に移動され、後者のＶＭは、業務サーバ３０乃至３２のいずれかに移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１５３＋１４−１１＝１５６になる。
【００４８】
図２３に、２０１３年１０月５日の状態を示す。２０１３年１０月５日においては、７日アイドル状態であるＶＭの台数が２であり、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が２である。前者のＶＭはアイドルＶＭ用サーバ５に移動され、後者のＶＭは、業務サーバ３０乃至３２のいずれかに移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１５６＋２−２＝１５６になる。
【００４９】
図２４に、２０１３年１０月６日の状態を示す。２０１３年１０月６日においては、７日アイドル状態であるＶＭの台数が０であり、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が１である。前者のＶＭはアイドルＶＭ用サーバ５に移動され、後者のＶＭは、業務サーバ３０乃至３２のいずれかに移動される。従って、アイドルＶＭ用サーバ５上のＶＭの台数は１５６＋０−１＝１５５になる。
【００５０】
従って、図１７乃至図２４に示した例では、アイドルＶＭ用サーバ５上の稼働ＶＭの台数の最大値は３１である。この値が検出処理において利用される。
【００５１】
図５の説明に戻り、制御部１００は、検出部１０３に検出処理の実行を要求する。これに応じ、検出部１０３は、検出処理を実行する（ステップＳ７）。検出処理については、図２５及び図２６を用いて説明する。
【００５２】
まず、検出部１０３は、アイドルＶＭ用サーバ５が実行可能なＶＭの数Ｖｎｕｍを算出する（図２５：ステップＳ５１）。ステップＳ５１においては、例えば、Ｖｎｕｍ＝（アイドルＶＭ用サーバ５のメモリの量）／（１台のＶＭに割り当てるメモリの量）＊ＲによってＶｎｕｍを算出する。１台のＶＭに割り当てるメモリの量は、例えば、システム全体においてＶＭに割り当てられているメモリの総量の実測値をＶＭの数で割ることによって算出される。Ｒは、アイドルＶＭ用サーバ５において稼働ＶＭが原因で発生するメモリオーバーコミットをどの程度容認するかを表す値である。例えばＲ＝１．５は、アイドルＶＭ用サーバ５のメモリの量の１．５倍に相当するメモリが稼働ＶＭに対して割り当てられることを容認することを意味する。
【００５３】
図２６に、システムにおけるアイドルＶＭの数の推移を示す。ここでは、各日においてアイドル状態であるＶＭの数を、アイドル状態である日数毎に示している。例えば２０１３年９月２９日においては、７日以上アイドル状態であるＶＭの数が最も多く、６日アイドル状態であるＶＭの数が最も少ない。図２６に示した期間においては、図１７乃至図２４に示したように、アイドルＶＭ用サーバ５において稼働を開始して稼働ＶＭになったＶＭの台数が最も多いのは２０１３年１０月２日である。この日の稼働ＶＭの数は３１である。よって、アイドルＶＭ用サーバ５のメモリ量は、１台のＶＭあたりのメモリの量が４ＧＢであり、Ｒ＝１．５とすると、４＊３１／１．５≒８３ＧＢである。すなわち、メモリ量が８３ＧＢ以上である物理サーバを利用すればよいことになる。
【００５４】
検出部１０３は、最大台数格納部１１１において、最大の台数≦Ｖｎｕｍを満たすｎを探索する（ステップＳ５３）。
【００５５】
検出部１０３は、ステップＳ５３において最大の台数≦Ｖｎｕｍを満たすｎが検出されたか判断する（ステップＳ５５）。検出されなかった場合（ステップＳ５５：Ｎｏルート）、ＶＭの移動をしないので、呼び出し元の処理に戻る。
【００５６】
一方、検出された場合（ステップＳ５５：Ｙｅｓルート）、検出部１０３は、ｎ（ここでは、検出されたｎ）日以上アイドル状態であるＶＭのうち業務サーバ３０乃至３２のいずれかで実行されているＶＭを、時系列データ格納部１０６から検出する（ステップＳ５７）。
【００５７】
検出部１０３は、稼働ＶＭのうちアイドルＶＭ用サーバ５で実行されているＶＭを、時系列データ格納部１０６から検出する（ステップＳ５９）。そして処理を終了する。
【００５８】
以上のような処理を実行すれば、アイドルＶＭ用サーバ５における稼働ＶＭによって実行される業務処理の性能が極端に劣化することを抑制しつつ、アイドルＶＭ用サーバ５にアイドルＶＭを移動できるようになる。
【００５９】
なお、検出部１０３は、検出されたｎの値を、例えば配置管理装置１の表示装置等に表示してもよい。このようにすれば、配置管理装置１の操作者はｎの値を確認し、メモリ量が適切である物理サーバをアイドルＶＭ用サーバ５として選択できるようになる。
【００６０】
図５の説明に戻り、検出部１０３は、ステップＳ５７又はＳ５９においてＶＭが検出されたか判断する（ステップＳ９）。検出されなかった場合（ステップＳ９：Ｎｏルート）、移動すべきＶＭは無いので、ステップＳ１の処理に戻る。また、ステップＳ５７の処理及びＳ５９の処理を実行しなかった場合も、移動すべきＶＭは無いので、ステップＳ１の処理に戻る。
【００６１】
一方、ステップＳ５７又はＳ５９においてＶＭが検出された場合（ステップＳ９：Ｙｅｓルート）、検出部１０３は、ステップＳ５７において検出されたＶＭ又はＳ５９において検出されたＶＭを移動するためのスクリプトを生成し（ステップＳ１１）、スクリプト格納部１０８に格納する。そしてステップＳ１の処理に戻る。
【００６２】
図２７に、ステップＳ１１において生成されるスクリプトの一例を示す。１行目のコードは、ＶＭの移動を行うことを示す情報をシステムログに書き込むためのコードである。２行目のコードは、アイドルＶＭである「Ｗｅｂ１」をアイドルＶＭ用サーバ５である「Ｇ０１」に移動するためのコードである。３行目のコードは、稼働ＶＭである「Ｗｅｂ６」を業務サーバである「Ｂ０３」に移動するためのコードである。４行目のコードは、ＶＭの移動が完了したことを示す情報をシステムログに書き込むためのコードである。
【００６３】
なお、移動先の業務サーバは、例えば、空きメモリ量が最も多い業務サーバとする。例えば図２８に示すように、業務サーバ「Ｂ０１」の空きメモリ量が２０ＧＢであり、業務サーバ「Ｂ０２」の空きメモリ量が１５ＧＢであり、業務サーバ「Ｂ０３」の空きメモリ量が２２ＧＢであるとする。このような場合は、業務サーバ「Ｂ０３」が移動先の業務サーバとして選択される。
【００６４】
そして、ＶＭの移動の結果、各業務サーバの空きメモリ量が図２９に示すようになったとする。具体的には、業務サーバ「Ｂ０１」の空きメモリ量が２０ＧＢであり、業務サーバ「Ｂ０２」の空きメモリ量が１５ＧＢであり、業務サーバ「Ｂ０３」の空きメモリ量が１８ＧＢであるとする。このような場合は、移動先の業務サーバとして次に選択されるのは業務サーバ「Ｂ０１」である。
【００６５】
なお、ステップＳ１の処理に戻る場合、制御部１００は、時系列データ格納部１０６に格納された時系列データ、ＶＭ数データ格納部１０７に格納されたＶＭ数データ、スクリプト格納部１０８に格納されたスクリプト、閾値格納部１１０に格納された閾値、及び最大台数格納部１１１に格納されたデータを消去する。
【００６６】
単純にＣＰＵ使用率等を基準としてＶＭを片寄せすると、稼働する物理サーバの台数を減らすことはできるが、アイドルＶＭによるメモリの消費が原因でメモリオーバーコミットが発生し、業務処理を劣化させてしまうことがある。すなわち、業務サーバにおいて、ＣＰＵ使用率は低いがメモリが足りないという状態が起こる。しかし、本実施の形態においては、アイドルＶＭと稼働ＶＭとを別のサーバに配置するためのスクリプトを生成するので、業務処理の性能劣化を抑制するような配置を行えるようになる。
【００６７】
次に、図３０を用いて、スクリプト実行部１０４が実行する処理について説明する。まず、スクリプト実行部１０４は、前回の処理から所定の時間（例えば２４時間）が経過したか判断する（図３０：ステップＳ６１）。所定の時間が経過していない場合（ステップＳ６１：Ｎｏルート）、ステップＳ６１の処理に戻る。所定の時間が経過した場合（ステップＳ６１：Ｙｅｓルート）、スクリプト実行部１０４は、スクリプト格納部１０８にスクリプトが有るか判断する（ステップＳ６３）。
【００６８】
スクリプトが無い場合（ステップＳ６３：Ｎｏルート）、ステップＳ６１の処理に戻る。一方、スクリプトが有る場合（ステップＳ６３：Ｙｅｓルート）、スクリプト実行部１０４は、スクリプト格納部１０８に格納されているスクリプトを実行する（ステップＳ６５）。そしてステップＳ６１の処理に戻る。
【００６９】
配置管理装置１の操作者は、例えば図３１に示すようなウィンドウを表示装置（例えばディスプレイ等）に表示させ、スクリプトの実行についての設定を行う。例えば設定領域３００１において、スクリプト実行部１０４による処理の間隔を設定することができる。図３１の例では、毎日１３時にスクリプト実行部１０４が処理を行う（すなわち、ステップＳ６１における所定の時間が２４時間である）ようになっている。また、詳細設定領域３００２において、処理の間隔以外の項目について詳細な設定を行うことができるようになっている。操作者がマウスをクリックすること等によってボタン３００３を押下すると、設定が完了する。
【００７０】
以上のように、業務処理を実行しないＶＭをアイドルＶＭ用サーバ５に詰め込むことで、業務処理の性能が劣化することを抑制しつつ、稼働する物理サーバの数を減らせるようになる。すなわち、物理サーバの資源を有効に利用し、電力の消費を減らすことができるようになる。
【００７１】
また、業務サーバが実行するアイドルＶＭの数が少なくなり、業務サーバのメモリ使用量が少なくなるので、業務サーバにおいてメモリオーバーコミットが発生するのを抑制できるようになる。また、業務サーバにおいて稼働ＶＭの片寄せを行ったとしても、メモリオーバーコミットが発生しにくくなる。
【００７２】
なお、アイドルＶＭ用サーバ５においてはメモリオーバーコミットが発生する可能性がある。しかし、アイドルＶＭは業務処理を実行せず、稼働ＶＭは検出されると業務サーバに移動されるので、業務処理への影響は少ない。
【００７３】
また、アイドル状態であるＶＭを停止した場合には、そのＶＭが業務処理を実行する際に再起動を行うことになるので、業務処理の実行開始までに時間がかかる。例えば４５０のＶＭが存在し、１ＶＭあたり停止及び再起動に１分かかるとすると、各ＶＭが１回ずつ再起動をする場合には４５０分＝７時間３０分の損失が生じることになる。しかし、本実施の形態においてはアイドルＶＭを停止しないので、業務処理を迅速に再開できるようになり、また、サービスの利用者への影響が少ない。
【００７４】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した配置管理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００７５】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００７６】
なお、上ではアイドルＶＭ用サーバ５は１台であるが、２台以上であってもよい。
【００７７】
［付録］
本付録においては、本実施の形態に関連する事項について説明する。
【００７８】
（１）ＶＭに割り当てるメモリの量
物理サーバにおいて動作するＶＭの数を徐々に増加させると、特定のタイミングにおいて急激に性能が劣化する。これについては、特定の物理サーバについての実測のデータから生成された、図３２のグラフを用いて説明する。図３２において、横軸はＶＭに割り当てるメモリの量を表し、縦軸はコンパイル実行時間の比を表す。コンパイル実行時間の比とは、測定用のＶＭだけを配置した環境におけるコンパイル実行時間（ここでは５３６秒）との比のことであり、値が大きいほど性能が劣化することを表す。物理サーバが備える物理メモリの量は３２ＧＢである。図３２に示すように、ＶＭに割り当てるメモリの量が３２ＧＢ以下である場合には性能はほとんど変わらない。しかしながら、ＶＭに割り当てるメモリの量が３２ＧＢを超えると、コンパイル実行時間の比は急激に大きくなる。これは、メモリオーバーコミットが起きているためである。
【００７９】
図３３に、アイドルＶＭを実行しておらず稼働ＶＭだけ実行する物理サーバ（以下、物理サーバＡとする）と、アイドルＶＭ及び稼働ＶＭを実行する物理サーバ（以下、物理サーバＢとする）とを比較した図を示す。両物理サーバは３２ＧＢのメモリを搭載している。物理サーバＡは１２台の稼働ＶＭを実行しており、ＶＭに割り当てたメモリの量は２４ＧＢである。一方、物理サーバＢは１２台の稼働ＶＭ及び２０台のアイドルＶＭを実行しており、ＶＭに割り当てたメモリの量は６４ＧＢである。すなわち、物理サーバＢにおいてＶＭに割り当てたメモリの量は、物理サーバＢのメモリ量より多く、メモリオーバーコミットが発生している。そして、ＣＰＵ使用率は両者の間でほとんど変わらないにもかかわらず、物理サーバＢの平均の応答時間（ここでは、６画面の処理に要する時間）は、物理サーバＡの平均の応答時間の約１．５倍である。以上のように、メモリオーバーコミットによって処理性能が劣化する。
【００８０】
（２）データセンタにおけるＣＰＵ使用率
データセンタにおいては、アイドルＶＭが多数存在し、物理サーバの資源が有効に利用されていないことが指摘されている。これについては、データセンタにおける実測のデータから生成された、図３４のグラフを用いて説明する。図３４において、横軸は時刻を表し、左側の縦軸はＶＭの数を表し、右側の縦軸はＣＰＵ使用率を表す。白棒は稼働ＶＭの数を表し、黒棒は稼働ＶＭの数とアイドルＶＭの数との合計を表し、白い三角はＣＰＵ使用率を表す。図３４が示すように、このデータセンタにおいてはＣＰＵ使用率が１０％以下であることが多く、稼働ＶＭの数が多い時間帯にはＣＰＵ使用率が１０％強に上昇する。このように、物理サーバのＣＰＵは有効に利用されていない。また、図３４が示すように、アイドル状態であるＶＭの数は常時１００以上であり、それらのＶＭによって物理サーバのＣＰＵ及びメモリが使用されている。
【００８１】
なお、上で述べた配置管理装置１、業務サーバ３０乃至３２、アイドルＶＭ用サーバ５及び品質管理装置７は、コンピュータ装置であって、図３５に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８２】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００８３】
本実施の形態に係る配置制御方法は、（Ａ）第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが業務処理を実行しているか否か判定し、（Ｂ）複数の仮想マシンのうち業務処理を実行している仮想マシンを第１の情報処理装置に配置し、（Ｃ）複数の仮想マシンのうち業務処理を実行していない仮想マシンを第２の情報処理装置に配置する処理を含む。
【００８４】
このようにすれば、第２の情報処理装置においてメモリオーバーコミット等が発生しても業務処理への影響が無いので、第２の情報処理装置に仮想マシンを集積できるようになる。よって、仮想マシンの実行に用いる情報処理装置の数を少なくし、情報処理装置の資源を有効に利用できるようになる。また、業務処理を実行していない仮想マシンが原因で第１の情報処理装置においてメモリオーバーコミットが発生するのを抑制できるので、業務処理の性能が劣化するのを抑制できるようになる。
【００８５】
また、複数の仮想マシンの各々が業務処理を実行しているか否か判定する処理が、（ａ１）第２の情報処理装置に予め配置された、複数の仮想マシンとは別の仮想マシンであり且つ業務処理を実行しない仮想マシンの状態に関する情報を取得し、（ａ２）複数の仮想マシンの各々について、当該仮想マシンの状態に関する情報と、取得された業務処理を実行しない仮想マシンの状態に関する情報とを比較し、当該仮想マシンが業務処理を実行しているか否かを判定する処理を含んでもよい。このように、業務処理を実行しない仮想マシンの状態に関する情報を利用するので、仮想マシンが業務処理を実行しているか否かを高精度で判定できるようになる。
【００８６】
また、業務処理を実行していない仮想マシンを第２の情報処理装置に配置する処理が、（ｃ１）第１の情報処理装置において業務処理を実行していない仮想マシンのうち、第１の時間以上業務処理を実行していない仮想マシンを検出し、第２の情報処理装置に配置する処理を含んでもよい。このようにすれば、業務処理を実行していない仮想マシンによって第１の情報処理装置のメモリが消費されるのを抑制できるようになる。
【００８７】
また、（ｂ１，ｃ２）業務処理を実行している仮想マシンを第１の情報処理装置に配置する処理及び業務処理を実行していない仮想マシンを第２の情報処理装置に配置する処理を、定期的に実行してもよい。このようにすれば、処理負荷が大きくなるのを抑制できるようになる。
【００８８】
また、本配置制御方法が、（Ｄ）第２の情報処理装置のメモリ量の情報と、１台の仮想マシンが使用するメモリ量の情報とを用いて、第２の情報処理装置が実行することができる仮想マシンの台数を算出し、（Ｅ）データ格納部に格納されている、複数の仮想マシンの稼働実績のデータを用いて、業務処理を実行している仮想マシンを第１の情報処理装置に配置する処理を最後に実行してから次に実行するまでの間に第２の情報処理装置において業務処理の実行を開始する仮想マシンの台数が、第２の情報処理装置が実行することができる仮想マシンの台数を超えないように第１の時間を算出する処理をさらに含んでもよい。第１の時間が短すぎると、業務処理を実行している仮想マシンを第１の情報処理装置に配置する処理を最後に実行してから次に実行するまでの間に第２の情報処理装置で業務処理の実行を開始する仮想マシンの台数は、第１の時間が短いほど多くなる。すると、第２の情報処理装置において実行される業務処理の性能が劣化する。そこで、上で述べたようにすれば、第２の情報処理装置において実行される業務処理の性能が劣化するのを抑制できるようになる。
【００８９】
また、上で述べた第２の情報処理装置は、第１の情報処理装置より演算性能が低い情報処理装置であってもよい。第２の情報処理装置においては業務処理が行われないので、演算性能が低くても問題にはならない。よって、演算性能が相対的に低い情報処理装置を有効に利用できるようになる。
【００９０】
また、第２の情報処理装置において実行されている仮想マシンに割り当てられたメモリ量の合計が、第２の情報処理装置のメモリ量より多くてもよい。メモリオーバーコミットが発生するが、業務処理への影響は無い。
【００９１】
また、上で述べた第１の時間を算出する処理が、（ｅ１）データ格納部を用いて、連続する複数の期間の各々について、当該期間において業務処理の実行を開始し且つ当該期間より前において第１の時間以上業務処理を実行していない仮想マシンの台数を算出し、算出された仮想マシンの台数のうち最大の台数を算出し、（ｅ２）最大の台数を算出する処理を、第１の時間を変化させつつ複数回実行し、（ｅ３）第２の情報処理装置が実行することができる仮想マシンの台数以下である最大の台数を、複数回算出された最大の台数の中から特定し、特定された当該最大の台数に対応する第１の時間を特定する処理を含んでもよい。このようにすれば、適切な第１の時間を特定できるようになる。
【００９２】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００９３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９４】
（付記１）
コンピュータに、
第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定し、
前記複数の仮想マシンのうち前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置し、
前記複数の仮想マシンのうち前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する
処理を実行させるための配置制御プログラム。
【００９５】
（付記２）
前記複数の仮想マシンの各々が業務処理を実行しているか否か判定する処理が、
前記第２の情報処理装置に予め配置された、前記複数の仮想マシンとは別の仮想マシンであり且つ前記業務処理を実行しない仮想マシンの状態に関する情報を取得し、
前記複数の仮想マシンの各々について、当該仮想マシンの状態に関する情報と、取得された前記業務処理を実行しない仮想マシンの状態に関する情報とを比較し、当該仮想マシンが前記業務処理を実行しているか否かを判定する
処理を含む付記１記載の配置制御プログラム。
【００９６】
（付記３）
前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する処理が、
前記第１の情報処理装置において前記業務処理を実行していない仮想マシンのうち、第１の時間以上前記業務処理を実行していない仮想マシンを検出し、前記第２の情報処理装置に配置する
処理を含む付記１又は２記載の配置制御プログラム。
【００９７】
（付記４）
前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置する処理及び前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する処理を、定期的に実行する
付記１乃至３のいずれか１つ記載の配置制御プログラム。
【００９８】
（付記５）
前記第２の情報処理装置のメモリ量の情報と、１台の仮想マシンが使用するメモリ量の情報とを用いて、前記第２の情報処理装置が実行することができる仮想マシンの台数を算出し、
データ格納部に格納されている、前記複数の仮想マシンの稼働実績のデータを用いて、前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置する処理を最後に実行してから次に実行するまでの間に前記第２の情報処理装置において前記業務処理の実行を開始する仮想マシンの台数が、前記第２の情報処理装置が実行することができる仮想マシンの台数を超えないように前記第１の時間を算出する
処理をさらに実行させるための付記４記載の配置制御プログラム。
【００９９】
（付記６）
前記第２の情報処理装置は、前記第１の情報処理装置より演算性能が低い情報処理装置である
付記１乃至５のいずれか１つ記載の配置制御プログラム。
【０１００】
（付記７）
前記第２の情報処理装置において実行されている仮想マシンに割り当てられたメモリ量の合計が、前記第２の情報処理装置のメモリ量より多い
付記１乃至６のいずれか１つ記載の配置制御プログラム。
【０１０１】
（付記８）
前記第１の時間を算出する処理が、
前記データ格納部を用いて、連続する複数の期間の各々について、当該期間において前記業務処理の実行を開始し且つ当該期間より前において前記第１の時間以上業務処理を実行していない仮想マシンの台数を算出し、算出された前記仮想マシンの台数のうち最大の台数を算出し、
前記最大の台数を算出する処理を、前記第１の時間を変化させつつ複数回実行し、
前記第２の情報処理装置が実行することができる仮想マシンの台数以下である前記最大の台数を、複数回算出された前記最大の台数の中から特定し、特定された当該最大の台数に対応する前記第１の時間を特定する
処理を含む付記５記載の配置制御プログラム。
【０１０２】
（付記９）
コンピュータが、
第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定し、
前記複数の仮想マシンのうち前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置し、
前記複数の仮想マシンのうち前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する
処理を実行する配置制御方法。
【０１０３】
（付記１０）
第１の情報処理装置又は第２の情報処理装置において実行されている複数の仮想マシンの各々について、当該仮想マシンが、外部からの要求に応じて実行する処理である業務処理を実行しているか否か判定する判定部と、
前記複数の仮想マシンのうち前記業務処理を実行している仮想マシンを前記第１の情報処理装置に配置し、前記複数の仮想マシンのうち前記業務処理を実行していない仮想マシンを前記第２の情報処理装置に配置する配置部と、
を有する配置制御装置。
【符号の説明】
【０１０４】
１  配置管理装置    ３０，３１，３２  業務サーバ
３０１，３０２，３０３，３０４，３０５，３０６，３０７，３０８  ＶＭ
５  アイドルＶＭ用サーバ
５０１，５０２，５０３，５０４，５０５，５０６，５０７，５０８  ＶＭ
７  品質管理装置    ９  ネットワーク
１００  制御部    １０１  状態特定部
１０２  計算部    １０３  検出部
１０４  スクリプト実行部    １０５  状態ログ格納部
１０６  時系列データ格納部    １０７  ＶＭ数データ格納部
１０８  スクリプト格納部    １０９  性能データ格納部
１１０  閾値格納部    １１１  最大台数格納部
【図１】
2015184830.tif 000003
【図２】
2015184830.tif 000004
【図３】
2015184830.tif 000005
【図４】
2015184830.tif 000006
【図５】
2015184830.tif 000007
【図６】
2015184830.tif 000008
【図７】
2015184830.tif 000009
【図８】
2015184830.tif 000010
【図９】
2015184830.tif 000011
【図１０】
2015184830.tif 000012
【図１１】
2015184830.tif 000013
【図１２】
2015184830.tif 000014
【図１３】
2015184830.tif 000015
【図１４】
2015184830.tif 000016
【図１５】
2015184830.tif 000017
【図１６】
2015184830.tif 000018
【図１７】
2015184830.tif 000019
【図１８】
2015184830.tif 000020
【図１９】
2015184830.tif 000021
【図２０】
2015184830.tif 000022
【図２１】
2015184830.tif 000023
【図２２】
2015184830.tif 000024
【図２３】
2015184830.tif 000025
【図２４】
2015184830.tif 000026
【図２５】
2015184830.tif 000027
【図２６】
2015184830.tif 000028
【図２７】
2015184830.tif 000029
【図２８】
2015184830.tif 000030
【図２９】
2015184830.tif 000031
【図３０】
2015184830.tif 000032
【図３１】
2015184830.tif 000033
【図３２】
2015184830.tif 000034
【図３３】
2015184830.tif 000035
【図３４】
2015184830.tif 000036
【図３５】
2015184830.tif 000037