(57)【特許請求の範囲】
【請求項１】
ネットワークを介して通信可能な第１サーバと第２サーバとを備え、
前記第１サーバは、
仮想マシンを実行する実行手段と、
前記第１サーバにおいて、指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムに、第１指標値を入力した場合に、前記試験プログラムが発生させる処理負荷によって使用される前記第１サーバのリソースの量を示す第１リソース量と、前記第１指標値とを対応付けて記憶する算出基準記憶手段と、
前記仮想マシンが実行されることによって使用される前記第１サーバのリソース量を示す第２リソース量を取得し、取得された前記第２リソース量に対応する第２指標値を前記算出基準記憶手段に記憶されている前記第１リソース量と前記第１指標値とに基づいて算出し、算出された前記第２指標値を、前記実行手段による前記仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報として前記第２サーバに送信する負荷情報送信手段と、を含み、
前記第２サーバは、
指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムを記憶している試験プログラム記憶手段と、
前記試験プログラム記憶手段から前記試験プログラムを読み出し、前記負荷情報送信手段から受信した前記第２指標値を、読み出した前記試験プログラムに入力して、前記第１サーバから受信した前記第２指標値に対応する処理負荷を発生させる負荷発生手段と、
を含むことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記負荷情報送信手段は、取得された前記第２リソース量に、前記第１指標値と前記第１リソース量との比率を乗算して前記第２指標値を算出することを特徴とする情報処理システム。
【請求項３】
請求項１又は２に記載の情報処理システムであって、
前記負荷情報送信手段は、間欠的に前記第２指標値を前記第２サーバに送信し、
前記負荷発生手段は、発生させている処理負荷を、前記負荷情報送信手段から前記第２指標値を受信する毎に、受信された前記第２指標値に応じて増減させることを特徴とする情報処理システム。
【請求項４】
請求項１乃至３のいずれか１項に記載の情報処理システムであって、
管理者の操作入力を受け付ける管理サーバを備え、
前記管理サーバは、
受け付けた操作入力に応じて選択された前記第２サーバに、試験プログラムを送信する試験プログラム送信手段と、
前記試験プログラム送信手段によって前記試験プログラムを送信された前記第２サーバに前記第２指標値を送信する要求を、前記第１サーバに送信する負荷情報送信要求手段と、
前記負荷発生手段が発生させた処理負荷によって使用される前記第２サーバのリソースの量を示す第３リソース量を受信するリソース量受信手段と、
前記リソース量受信手段により受信された前記第３リソース量を前記管理者に提示するリソース量提示手段と、を含むことを特徴とする情報処理システム。
【請求項５】
請求項４に記載の情報処理システムであって、
前記試験プログラム送信手段は、複数の前記第２サーバに前記試験プログラムを送信し、
前記リソース量受信手段は、前記試験プログラムを受信した前記第２サーバそれぞれから前記第３リソース量を受信することを特徴とする情報処理システム。
【請求項６】
請求項４又は５に記載の情報処理システムであって、
前記リソース量受信手段は、間欠的に前記第３リソース量を前記第２サーバから受信し、
前記リソース量提示手段は、前記第３リソース量を受信する毎に、受信された前記第３リソース量を前記管理者に提示することを特徴とする情報処理システム。
【請求項７】
請求項４から６のいずれか１項に記載の情報処理システムであって、
前記管理サーバは、前記第２サーバに前記試験プログラムの実行を要求する試験プログラム実行要求手段を備えることを特徴とする情報処理システム。
【請求項８】
第１サーバが仮想マシンを実行する実行ステップと、
前記第１サーバにおいて、指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムに、第１指標値を入力した場合に、前記試験プログラムが発生させる処理負荷によって使用される前記第１サーバのリソースの量を示す第１リソース量と、前記第１指標値とを対応付けて記憶する算出基準記憶ステップと、
前記仮想マシンが実行されることによって使用される前記第１サーバのリソース量を示す第２リソース量を取得し、取得された前記第２リソース量に対応する第２指標値を前記算出基準記憶ステップで記憶した前記第１リソース量と前記第１指標値とに基づいて算出し、算出された前記第２指標値を前記仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報としてネットワークを介して第２サーバに送信する負荷情報送信ステップと、
指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムを読み出し、前記負荷情報送信ステップで送信された前記第２指標値を、読み出した前記試験プログラムに入力して、前記第１サーバから受信した前記第２指標値に対応する処理負荷を前記第２サーバに発生させる負荷発生ステップと、
を備えることを特徴とする情報処理方法。
【請求項９】
請求項８に記載の情報処理方法であって、
前記負荷情報送信ステップでは、取得された前記第２リソース量に、前記第１指標値と前記第１リソース量との比率を乗算して前記第２指標値を算出することを特徴とする情報処理方法。
【請求項１０】
請求項８又は９に記載の情報処理方法であって、
前記負荷情報送信ステップは間欠的に繰り返され、
前記負荷情報送信ステップで送信された前記第２指標値を受信する毎に、
前記負荷発生ステップでは、受信された前記第２指標値に応じて新たに処理負荷を予測し、発生させている処理負荷を増減させることを特徴とする情報処理方法。
【請求項１１】
請求項８から１０のいずれか１項に記載の情報処理方法であって、
管理者の操作入力を受け付ける管理サーバが、受け付けた操作入力に応じて選択された前記第２サーバに、試験プログラムを送信する試験プログラム送信ステップと、
前記試験プログラム送信ステップで前記試験プログラムを送信された前記第２サーバに前記第２指標値を送信する要求を、前記第１サーバに送信する負荷情報送信要求ステップと、
前記負荷発生ステップで発生された処理負荷によって使用される前記第２サーバのリソースの量を示す第３リソース量を受信するリソース量受信ステップと、
前記リソース量受信ステップで受信された前記第３リソース量を前記管理者に提示するリソース量提示ステップと、
を備えることを特徴とする情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法であって、
前記試験プログラム送信ステップでは、複数の前記第２サーバに前記試験プログラムを送信し、
前記リソース量受信ステップでは、前記試験プログラムを受信した前記第２サーバそれぞれから前記第３リソース量を受信することを特徴とする情報処理方法。
【請求項１３】
請求項１１又は１２に記載の情報処理方法であって、
前記リソース量受信ステップは間欠的に繰り返され、
前記リソース量提示ステップでは、前記第３リソース量を受信する毎に、受信された前記第３リソース量を前記管理者に提示することを特徴とする情報処理方法。
【請求項１４】
請求項１１から１３のいずれか１項に記載の情報処理方法であって、
前記管理サーバが前記第２サーバに前記試験プログラムの実行を要求する試験プログラム実行要求ステップを備えることを特徴とする情報処理方法。
【請求項１５】
ネットワークを介して通信可能な第１サーバと第２サーバとで実行されるプログラムであって、
第１サーバに仮想マシンを実行させる実行処理と、
前記第１サーバにおいて、指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムに、第１指標値を入力した場合に、前記試験プログラムが発生させる処理負荷によって使用される前記第１サーバのリソースの量を示す第１リソース量と、前記第１指標値とを対応付けて前記第１サーバに記憶させる算出基準記憶処理と、
前記仮想マシンが実行されることによって使用される前記第１サーバのリソース量を示す第２リソース量を前記第１サーバに取得させ、取得された前記第２リソース量に対応する第２指標値を前記算出基準記憶処理で記憶された前記第１リソース量と前記第１指標値とに基づいて前記第１サーバに算出させ、算出された前記第２指標値を、前記第１サーバに、前記仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報として前記第２サーバへ送信させる負荷情報送信処理と、
指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムを前記第２サーバに読み出させ、前記負荷情報送信処理で送信された前記第２指標値を、読み出した前記試験プログラムに入力して、前記第１サーバから受信した前記第２指標値に対応する処理負荷を前記第２サーバに発生させる負荷発生処理と、
を前記第１サーバまたは前記第２サーバのいずれかに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法および記憶媒体に関する。特に、一のサーバ上にて実行している仮想マシンの負荷を見積もり、他のサーバ上にて上記見積もりと並行して一のサーバ上の負荷を再現可能な情報処理システム、情報処理方法および記憶媒体に関する。
【背景技術】
【０００２】
近年、仮想化技術を利用したサーバ統合が普及し始めている。サーバ統合後、高負荷・障害等のメンテナンスで性能の異なるサーバ間で仮想マシンの移動（マイグレーション）を行う場合、仮想化方式の違いや、サーバ間のハードウェア性能差などにより、移動後の仮想マシンの負荷を正確に見積もることが困難である。これを解決する方法として、移動先サーバで仮想マシンの負荷をシミュレートすることによって事前に性能を把握する方法が種々考案されている。【０００３】
この種の技術として、特許文献１（特開２００８−１４６３１３号公報）には、以下のような技術が開示されている。ここでは、特許文献１の図１を用いて説明する。本番サーバ１０は本番業務を行うコンピュータである。待機サーバ２０は本番サーバ１０に障害が発生した場合に、本番サーバ１０から本番業務を引き継ぐコンピュータである。新設サーバ３０は、新規に導入予定のコンピュータである。管理端末４０は、新設サーバ３０の性能を評価する管理者が使用するコンピュータである。通信ネットワーク５０は、例えば、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。【０００４】
管理端末４０は、入力データを生成する入力データ生成機能と、入力データに応じてコンピュータのＣＰＵを使用するＣＰＵ負荷生成機能を提供するベンチマークプログラムの入力を受け付ける。そして待機サーバ２０及び新設サーバ３０のそれぞれに、ベンチマークプログラムを実行させる。待機サーバ２０は、ベンチマークプログラムの実行に伴う待機サーバ２０における処理負荷を測定する。新設サーバ３０は、ベンチマークプログラムの実行に伴う新設サーバ３０における処理負荷を測定する。管理端末４０は、待機サーバ２０の処理負荷及び新設サーバ３０の処理負荷を出力することでコンピュータの性能評価を容易に行うことができる負荷シミュレートを実現している。【０００５】
上記のような構成を利用して、本番サーバ１０において実行されている本番業務用のアプリケーションプログラムのうち、処理負荷の高いものの動作を模擬するアプリケーションプログラム（ベンチマークプログラム）を新設サーバ３０にインストールし、新設サーバ３０において本番サーバ１０と同一の入力データをベンチマークプログラムで実行した場合の処理負荷（資源の消費量）を測定する。これにより、本番業務用のアプリケーションプログラムを実行した場合と同等の処理負荷を新設サーバ３０で再現することができる。【０００６】
さらに、特許文献１にはアプリケーションプログラムの代わりに仮想マシンとしても同様の処理が可能であることも開示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１４６３１３号公報
【発明の概要】
【０００８】
しかしながら特許文献１を仮想マシンに適用するとき、その処理負荷の再現性において問題があった。すなわち、仮想マシンは、アプリケーションプログラムと比較して、その動作に関わる要因は複雑である。故に、ある条件下で事前に入力データを生成し、当該入力データに基づいて処理負荷を再現したとしても、完全同一の条件下で仮想マシンが実行される可能性は比較的低く、実際の処理負荷との整合性は低くなる。
【０００９】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、実際に一方のサーバで実行中の仮想マシンの処理負荷を反映して、他方のサーバで当該仮想マシンを実行した場合の処理負荷を再現する情報処理システム、情報処理方法および記憶媒体を提供することにある。
【００１０】
本発明によれば、ネットワークを介して通信可能な第１サーバと第２サーバとを備え、前記第１サーバは、仮想マシンを実行する実行手段と、前記実行手段により前記仮想マシンが実行されているとき、当該仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報を前記第２サーバに送信する負荷情報送信手段と、を含み、前記第２サーバは、前記第１サーバから受信した前記負荷情報に基づいて処理負荷を発生させる負荷発生手段を含むことを特徴とする情報処理システムが提供される。
【００１１】
また、本発明によれば、第１サーバが仮想マシンを実行する実行ステップと、前記実行ステップで前記仮想マシンが実行されているとき、当該仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報をネットワークを介して第２サーバに送信する負荷情報送信ステップと、前記第１サーバから受信した前記負荷情報に基づいて処理負荷を発生させる負荷発生ステップと、を備えることを特徴とする情報処理方法が提供される。
【００１２】
また、本発明によれば、ネットワークを介して通信可能な第１サーバと第２サーバとで実行されるプログラムを格納している記憶媒体であって、第１サーバに仮想マシンを実行させる実行処理と、前記実行処理によって前記仮想マシンが実行されているとき、当該仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報を前記第２サーバに送信させる負荷情報送信処理と、前記第１サーバから受信した前記負荷情報に基づいて前記第２サーバに処理負荷を発生させる負荷発生処理と、を前記第１サーバまたは前記第２サーバのいずれかに実行させる前記プログラムを格納していることを特徴とする記憶媒体が提供される。
【００１３】
本発明によれば、実際に一方のサーバで実行中の仮想マシンの処理負荷を反映して、他方のサーバで当該仮想マシンを実行した場合の処理負荷を再現する情報処理システム、情報処理方法および記憶媒体が提供される。
【図面の簡単な説明】
【００１４】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１５】
【図１】第１の実施形態の情報処理システムの構成図である。
【図２】第１の実施形態の情報処理システムが備えるサーバのアーキテクチャを示す図である。
【図３】第１の実施形態の情報処理システムに適用される情報処理方法を示すフローチャートである。
【図４】第２の実施形態の情報処理システムの構成図である。
【図５】第２の実施形態の情報処理システムに適用される情報処理方法を示すフローチャートである。
【図６】第２の実施形態の情報処理システムに適用される情報処理方法を示すフローチャートである。
【図７】第３の実施形態の情報処理システムの構成図である。
【図８】サーバＡに性能計測用仮想マシンを移動する際の管理サーバの動作を示すフローチャートである。
【図９】性能計測用仮想マシンの動作を表すフローチャートである。
【図１０】サーバＢに性能計測用仮想マシンを移動する際の管理サーバの動作を示す管理サーバの動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１７】
〔第１の実施形態〕
図１は、第１の実施形態の情報処理システム１０００の構成図である。本実施形態の情報処理システム１０００は、ネットワーク５００を介して通信可能なサーバＡ１００とサーバＢ２００とを備える。サーバＡ１００およびサーバＢ２００は、それぞれＣＰＵ１１０、２１０および記憶部１２０、２２０を含んでいる。ＣＰＵ１１０は、記憶部１２０に記憶されているプログラムやデータ等を読み出して処理したり、処理したプログラムやデータ等を記憶部１２０に書き込んだりすることができる。また、ＣＰＵ２１０も同様に、記憶部２２０に記憶されているプログラムやデータ等を読み出して処理したり、処理したプログラムやデータ等を記憶部２２０に書き込んだりすることができる。
【００１８】
また、サーバＡ１００およびサーバＢ２００は、それぞれ通信部１３０、２３０を含んでいる。通信部１３０は、ＣＰＵ１１０が処理したプログラムやデータ等をネットワーク５００を介してサーバＢ２００等の他の装置に送信したり、他の装置からネットワーク５００を介してプログラムやデータ等を受信することができる。また、通信部２３０も同様に、ＣＰＵ２１０が処理したプログラムやデータ等をネットワーク５００を介してサーバＡ１００等の他の装置に送信したり、他の装置からネットワーク５００を介してプログラムやデータ等を受信することができる。
【００１９】
サーバＡ１００の記憶部１２０には、サーバＡ１００にインストールされるオペレーションシステムであるホストＯＳ１２１、仮想的なハードウェアを作り出すソフトウェアである仮想マシン１２３、ホストＯＳ１２１上に仮想マシン１２３を実行可能な環境を提供する仮想化ソフト１２２、仮想マシン１２３にインストールされるオペレーションシステムであるゲストＯＳ１２４等が記憶されている。本実施形態においては、ＣＰＵ１１０が記憶部１２０にアクセスしてホストＯＳ１２１、仮想化ソフト１２２および仮想マシン１２３を実行することにより、サーバＡ１００上で仮想的なハードウェア（仮想マシン１２３）を実現することができる。すなわち、本実施形態においては、ＣＰＵ１１０、ホストＯＳ１２１および仮想化ソフト１２２が本発明の実行手段として機能する。
【００２０】
記憶部１２０には、さらにゲストＯＳ１２４上で実行されるアプリケーションソフト１２６、ホストＯＳ１２１上で実行されるアプリケーションソフト１２５が記憶されているものとする。
【００２１】
図２は、サーバＡ１００のアーキテクチャを示す図である。最下層にサーバＡ１００が提供するハードウェア資源が存在し、その上にホストＯＳ１２１が存在する。ホストＯＳ１２１上ではアプリケーションソフト１２５および仮想化ソフト１２２が実行される。また、サーバＡ１００は、仮想化ソフト１２２上で仮想マシン１２３を実行し、仮想マシン１２３上ではゲストＯＳ１２４が実行される。さらに、ゲストＯＳ１２４上では、アプリケーションソフト１２６が実行される。
【００２２】
図２に示すようにサーバＡ１００は、アプリケーションソフト１２５とアプリケーションソフト１２６とを、上記アーキテクチャにおける異なる階層で実行することができる。しかし、実際は、サーバＡ１００が備えるＣＰＵ１１０によって記憶部１２０に記憶されているアプリケーションソフト１２５とアプリケーションソフト１２６とを実行しているに過ぎない。
【００２３】
以下、再び図１を用いて説明する。サーバＡ１００は、ＣＰＵ１１０により仮想マシン１２３が実行されているとき、当該仮想マシン１２３の実行に伴ってサーバＡ１００に発生している処理負荷を示す負荷情報をサーバＢ２００に送信することができる。
【００２４】
より具体的には、仮想マシン１２３はＣＰＵ１１０により実行されると、ホストＯＳ１２１が有するリソース管理機能によって収集される仮想マシン１２３が使用しているリソースの使用率を負荷情報として処理し、通信部１３０を介してサーバＢ２００に送信することができる。すなわち、本実施形態においては、ＣＰＵ１１０、通信部１３０、仮想マシン１２３およびホストＯＳ１２１が本発明の負荷情報送信手段として機能する。ここで、リソースの使用率とは、例えばＣＰＵ１１０の使用率Ｒｎ（ある時点における仮想マシン１２３の実行に伴うＣＰＵ１１０の処理負荷／ＣＰＵ１１０の最大許容処理負荷）である。ただし、ｎは正の整数である。
【００２５】
なお、本実施形態において仮想マシン１２３の実行に伴ってサーバＡ１００に発生している処理負荷とは、仮想マシン１２３の実行のみではなく、仮想マシン１２３の上の階層で実行されているゲストＯＳ１２４およびアプリケーションソフト１２６の実行に伴う処理負荷も含まれている。
【００２６】
サーバＢ２００が備える記憶部２２０には、サーバＢ２００にインストールされるオペレーションシステムであるホストＯＳ２２１が記憶されている。また、記憶部２２０には、サーバＡ１００から受信した負荷情報に基づいて処理負荷を発生させる試験プログラム２２３が記憶されている。試験プログラム２２３は、ホストＯＳ２２１上で実行される。
【００２７】
より具体的には、通信部２３０がサーバＡ１００から負荷情報を受信すると、当該負荷情報はＣＰＵ２１０で処理されて記憶部２２０に記憶される。
【００２８】
続いて、ＣＰＵ２１０は、記憶部２２０に記憶されている試験プログラム２２３を読み出して実行する。試験プログラム２２３が実行されると、まず試験プログラム２２３はサーバＢ２００のリソースの最大量を示すデータを収集する。ここでリソースの最大量を示すデータとは、例えば、ＣＰＵ２１０の最大許容処理負荷Ｍである。本実施形態において、これらのデータはホストＯＳ２２１が管理しているものとする。
【００２９】
次に、試験プログラム２２３は、受信した負荷情報と収集したデータとに対して、次式（１）を用いて目標とするリソース量を算出する。なお、次式（１）で用いられるＶｎは、サーバＢ２００が当該仮想マシン１２３を実行させる場合に、サーバＢ２００に発生する処理負荷の予測値であり、試験プログラム２２３がＣＰＵ２１０に与える処理負荷の目標値である。
【数１】
0005522171.tif 000002
【００３０】
続いて、試験プログラム２２３は、ホストＯＳ２２１が管理しているＣＰＵの処理負荷が、算出された目標値Ｖｎになるまで処理負荷を発生させる。具体的には、数値演算プログラムを利用して、一定時間内に演算に掛かった時間と休んでいる時間を収めることにより、ＣＰＵ使用率を一定で出力させることを可能とする。演算回数を多くすればＣＰＵの処理負荷を高めることができるし、演算回数を少なくすればＣＰＵの処理負荷を低くすることができる。
【００３１】
以上に説明した方法によって、試験プログラム２２３は、サーバＢ２００が当該仮想マシン１２３を実行させる場合に、サーバＢ２００に発生するものと予測される処理負荷を発生させることができる。すなわち、本実施形態においては、ＣＰＵ２１０、ホストＯＳ２２１および試験プログラム２２３が本発明の負荷発生手段として機能する。
【００３２】
なお、サーバＡ１００が負荷情報を送信するタイミングは、仮想マシン１２３が実行されている最中のいずれかの時点である。
【００３３】
また、サーバＡ１００は、間欠的に負荷情報をサーバＢ２００に送信する。そして、サーバＢ２００（ＣＰＵ２１０）は、試験プログラム２２３を実行しており、試験プログラム２２３は発生させている処理負荷を、サーバＡ１００から負荷情報を受信する毎に、受信された負荷情報に応じて増減させる。本実施形態において、間欠的とは一定の時間間隔Ｔ１ごとに送信されるものとするが、これに限らずランダムであってもよい。
【００３４】
より詳細には、試験プログラム２２３は、新規で受信したＣＰＵ１１０の使用率ＲｎとＣＰＵ２１０の最大許容処理負荷Ｍとに対して式（１）を用いて、新たな処理負荷の目標値Ｖｎを算出し、これに応じた処理負荷をＣＰＵ２１０に発生させる。
【００３５】
以上説明したように、本実施形態の情報処理システム１０００は、本発明の実行手段、負荷情報送信手段および負荷発生手段を、ＣＰＵ１１０またはＣＰＵ２１０がソフトウェアを実行することによって実現する。
【００３６】
すなわち、情報処理システム１０００は、サーバＡ１００に仮想マシン１２３を実行させる実行処理と、実行処理によって仮想マシン１２３が実行されているとき、当該仮想マシン１２３の実行に伴ってサーバＡ１００に発生している処理負荷を示す負荷情報をサーバＢ２００に送信させる負荷情報送信処理と、サーバＡ１００から受信した負荷情報に基づいてサーバＢ２００に処理負荷を発生させる負荷発生処理と、をサーバＡ１００（ＣＰＵ１１０）またはサーバＢ２００（ＣＰＵ２１０）のいずれかに実行させるプログラムによって実現される。
【００３７】
図３は、本実施形態の情報処理システム１０００に適用される情報処理方法を示すフローチャートである。この情報処理方法は、サーバＡ１００が仮想マシン１２３を実行する実行ステップ（ステップＳ１）を備える。また、この情報処理方法は、実行ステップ（ステップＳ１）で仮想マシン１２３が実行されているとき、当該仮想マシン１２３の実行に伴ってサーバＡ１００に発生している処理負荷を示す負荷情報をネットワーク５００を介してサーバＢ２００に送信する負荷情報送信ステップ（ステップＳ２）を備える。さらに、この情報処理方法は、サーバＢ２００がサーバＡ１００から受信した負荷情報に基づいて処理負荷を発生させる負荷発生ステップ（ステップＳ３）を備える。
【００３８】
負荷情報送信ステップ（ステップＳ２）が実行されてから時間Ｔ１が経過するまで（ステップＳ４のＮＯ）、サーバＢ２００は、負荷発生ステップ（ステップＳ３）で発生させた処理負荷の発生を続ける。
【００３９】
負荷情報送信ステップ（ステップＳ２）が実行されてから時間Ｔ１が経過したとき（ステップＳ４のＹＥＳ）、サーバＡ１００は、負荷情報送信ステップ（ステップＳ２）を再び実行する。そして、サーバＢ２００が負荷情報送信ステップ（ステップＳ２）で送信された負荷情報を受信する毎に、負荷発生ステップ（ステップＳ３）では受信された負荷情報に応じて新たに処理負荷を予測し、発生させている処理負荷を増減させる。
【００４０】
この情報処理方法は、実行ステップ（ステップＳ１）で実行された仮想マシンが動作している間（ステップＳ５のＮＯ）は、繰り返し実行される。しかし、この情報処理方法は、当該仮想マシンが停止したとき（ステップＳ５のＹＥＳ）、終了となる。
【００４１】
ここで本実施形態の効果について説明する。サーバＡ１００で仮想マシン１２３を実行して、その処理負荷を示す情報をサーバＡ１００からサーバＢ２００に送信し、サーバＢ２００は受信した情報に基づいて仮想マシン１２３を実行した場合に発生すると予測される処理負荷を発生させる。これにより、サーバＢ２００は、実際にサーバＡ１００で実行中の仮想マシン１２３の処理負荷を反映して、仮想マシン１２３を実行した場合の処理負荷を再現することができる。
【００４２】
また、本実施形態は、サーバＡ１００は間欠的に負荷情報を送信し、サーバＢ２００は負荷情報を受信する毎に、それに基づいて新たに処理負荷を予測、発生させている処理負荷を増減させる。これにより、サーバＢ２００は、サーバＡ１００で発生している仮想マシン１２３による処理負荷を、ほぼ実時間で再現することができる。ここで、「ほぼ実時間」とは、種々の情報伝送や情報処理によるタイムラグが僅かに発生するので、完全な実時間ではないことを意味している。従って、ネットワーク５００を含む環境条件が時々刻々変化して、仮想マシン１２３が使用するサーバＡ１００のリソース量が変化しても、サーバＢ２００は、その変化に応じて処理負荷を再現することができる。
【００４３】
〔第２の実施形態〕
図４は、第２の実施形態の情報処理システム２０００の構成図である。情報処理システム２０００は、サーバＡ１００、サーバＢ２００、サーバＣ３００および管理サーバ４００を備え、それぞれネットワーク５００を介して通信可能に接続されている。
【００４４】
サーバＡ１００は、第１の実施形態のサーバＡ１００と同等の装置である。また、サーバＢ２００は、第１の実施形態のサーバＢ２００と同等の装置であるが、ただし、試験プログラム２２３は記憶部２２０に記憶されていない。サーバＣ３００は、本実施形態のサーバＢ２００と同等の装置であって、ＣＰＵ３１０と記憶部３２０と通信部３３０とを備え、記憶部３２０はサーバＣ３００にインストールされているオペレーションシステムであるホストＯＳ３２１を記憶している。
【００４５】
管理サーバ４００は、ＣＰＵ４１０と記憶部４２０と通信部４３０と操作入力部４４０と表示部４５０とを備える。また、記憶部４２０には、管理サーバ４００にインストールされているオペレーションシステムであるホストＯＳ４２１を記憶し、さらに管理プログラム４２２、試験プログラム４２３、４２４を記憶している。なお、試験プログラム４２３と試験プログラム４２４は同等のプログラムとする。
【００４６】
表示部４５０は、情報処理システム２０００の運用者に操作画面等を表示出力する。具体的には、ディスプレイ装置等が挙げられる。
【００４７】
操作入力部４４０は、情報処理システム２０００の運用者から操作入力を受け付ける。具体的には、キーボード、マウスパッド、タッチパネル等が挙げられる。なお、管理サーバ４００は、操作入力部４４０から運用者の操作入力を受け付けるために、表示部４５０に適宜操作画面を表示してもよい。
【００４８】
試験プログラム４２３と試験プログラム４２４は、指標値Ｉｎの入力に応じて処理負荷を発生させ、指標値Ｉｎの大小によって発生させる処理負荷を増減させる。ここで指標値Ｉｎは、本発明の試験プログラムに処理負荷を発生させるために用いられる指標値の総称であって、以下の文中に登場する指標値は個別にＩ１やＩＡ等とｎの代わりに数値や英字等を付与して互いに区別する。
【００４９】
管理サーバ４００は、ＣＰＵ４１０によって管理プログラム４２２が実行されると次のように動作する。まず、管理サーバ４００は、操作入力部４４０が受け付けた操作入力に応じて選択されたサーバＢ２００またはサーバＣ３００に、試験プログラム４２３または試験プログラム４２４を送信する。ここでは、試験プログラム４２３をサーバＢ２００に送信し、試験プログラム４２４をサーバＣ３００に送信するものとして説明する。すなわち、管理プログラム４２２を実行する管理サーバ４００は、本発明の試験プログラム送信手段として機能する。
【００５０】
サーバＢ２００は、試験プログラム４２３を記憶部２２０の記憶領域の一部に記憶する。また、サーバＣ３００は、試験プログラム４２４を記憶部３２０の記憶領域の一部に記憶する。すなわち、記憶部２２０および記憶部３２０は、本発明の試験プログラム記憶手段として機能する。
【００５１】
次に、管理プログラム４２２を実行する管理サーバ４００は、試験プログラム４２３を送信したサーバＢ２００および試験プログラム４２４を送信したサーバＣ３００に負荷情報を送信する要求を、サーバＡ１００に送信する。すなわち、管理プログラム４２２を実行する管理サーバ４００は、本発明の負荷情報送信要求手段として機能する。
【００５２】
サーバＡ１００は、受信した要求に応じてサーバＢ２００およびサーバＣ３００に負荷情報を送信する。
【００５３】
より詳細には、サーバＡ１００は、サーバＡ１００において試験プログラム４２３または４２４に第１指標値Ｉ１を入力した場合に、試験プログラム４２３または４２４が発生させる処理負荷によって使用されるサーバＡ１００のリソースの量を示す第１リソース量Ｐ１と、第１指標値Ｉ１とを対応付けて、記憶部１２０の記憶領域の一部に予め記憶している。すなわち、記憶部１２０は、本発明の算出基準記憶手段として機能する。
【００５４】
サーバＡ１００は、第１リソース量Ｐ１と第１指標値Ｉ１とを取得するために、仮想マシンを実行する事前に試験プログラム４２３、またはそれと同等の試験プログラムを実行し、第１リソース量Ｐ１と第１指標値Ｉ１とを計測して取得してもよい。または、サーバＡ１００は、第１リソース量Ｐ１と第１指標値Ｉ１とを外部の装置からネットワーク５００を介して受信してもよい。
【００５５】
そして、サーバＡ１００は、仮想マシン１２３が実行されることによって使用されるサーバＡ１００のリソース量を示す第２リソース量Ｐ２を取得する。さらに、サーバＡ１００は、取得された第２リソース量Ｐ２に対応する第２指標値Ｉ２を、記憶部１２０に記憶されている第１リソース量Ｐ１と第１指標値Ｉ１とに基づいて算出し、算出された第２指標値Ｉ２を負荷情報としてサーバＢ２００またはサーバＣ３００に送信する。
【００５６】
ここでの算出方法をより具体的に説明すると、サーバＡ１００は、取得された第２リソース量Ｐ２に、第１指標値Ｉ１と第１リソース量Ｐ１との比率を乗算して第２指標値Ｉ２を算出する。すなわち次式（２）のようになる。
【数２】
0005522171.tif 000003
【００５７】
サーバＢ２００は、記憶部２２０から試験プログラム４２３を読み出し、サーバＡ１００から受信した指標値（第２指標値Ｉ２）を、読み出した試験プログラム４２３に入力して処理負荷を発生させる。また、サーバＣ３００は、記憶部３２０から試験プログラム４２４を読み出し、サーバＡ１００から受信した指標値（第２指標値Ｉ２）を、読み出した試験プログラム４２４に入力して処理負荷を発生させる。
【００５８】
サーバＢ２００は、発生させた処理負荷によって使用されるサーバＢ２００のリソースの量を示す第３リソース量Ｐ３１を管理サーバ４００に送信する。また、サーバＣ３００は、発生させた処理負荷によって使用されるサーバＣ３００のリソースの量を示す第３リソース量Ｐ３２を管理サーバ４００に送信する。ここで、サーバＢ２００が第３リソース量Ｐ３１を送信する時間間隔、またはサーバＣ３００が第３リソース量Ｐ３２を送信する時間間隔は、それぞれ一定であってもよいし、ランダムであってもよい。本実施形態においては、各サーバ（サーバＢ２００、サーバＣ３００）において、時間間隔Ｔ２で送信されるものとする。
【００５９】
管理プログラム４２２を実行する管理サーバ４００は、試験プログラム４２３を受信したサーバＢ２００または試験プログラム４２４を受信したサーバＣ３００それぞれから第３リソース量Ｐ３１、Ｐ３２を受信する。そして、当該管理サーバ４００は、受信された第３リソース量Ｐ３１、Ｐ３２を表示部４５０によって表示出力して管理者に提示する。すなわち、管理プログラム４２２を実行する管理サーバ４００は、本発明のリソース量受信手段、リソース量提示手段として機能する。
【００６０】
管理サーバ４００は、間欠的に第３リソース量Ｐ３１、Ｐ３２をサーバＢ２００またはサーバＣ３００から受信する。そして、管理サーバ４００は、第３リソース量Ｐ３１、Ｐ３２を受信する毎に、受信された第３リソース量Ｐ３１、Ｐ３２を管理者に提示する。ここで、間欠的とは、時間間隔が一定であってもよいし、ランダムであってもよい。本実施形態においては、サーバＢ２００またはサーバＣ３００がそれぞれ時間間隔Ｔ２で第３リソース量Ｐ３１、Ｐ３２を送信し、これらは同期していないので、管理サーバ４００は第３リソース量Ｐ３１、Ｐ３２を異なる時間間隔で受信する。
【００６１】
図５は、第２の実施形態の情報処理システム２０００に適用される情報処理方法のフローチャートである。
【００６２】
この情報処理方法は、サーバＡ１００において試験プログラム４２３、４２４に第１指標値Ｉ１を入力した場合に、試験プログラム４２３、４２４が発生させる処理負荷によって使用されるサーバＡ１００のリソースの量を示す第１リソース量Ｐ１と、第１指標値Ｉ１とを対応付けて記憶する算出基準記憶ステップ（ステップＳ１０１）を備える。
【００６３】
この情報処理方法は、サーバＡ１００が仮想マシン１２３を実行する実行ステップ（ステップＳ１０２）を備える。なお、実行ステップ（ステップＳ１０２）において、サーバＡ１００は自律的に仮想マシン１２３を実行してもよいし、管理サーバ４００から実行要求を受信し、それに応じて仮想マシン１２３を実行してもよい。
【００６４】
この情報処理方法は、管理者の操作入力を受け付ける管理サーバ４００が、受け付けた操作入力に応じて選択されたサーバＢ２００またはサーバＣ３００に、試験プログラム４２３または試験プログラム４２４を送信する試験プログラム送信ステップ（ステップＳ１０３）を備える。なお、本実施形態において、試験プログラム送信ステップ（ステップＳ１０３）では、管理サーバ４００はサーバＢ２００に試験プログラム４２３を送信し、サーバＣ３００に試験プログラム４２４を送信する。当然、サーバＢ２００は受信した試験プログラム４２３を記憶部２２０に記憶し、サーバＣ３００は受信した試験プログラム４２４を記憶部３２０に記憶する。
【００６５】
この情報処理方法は、試験プログラム送信ステップ（ステップＳ１０３）で試験プログラム４２３、４２４を送信されたサーバＢ２００およびサーバＣ３００に負荷情報を送信する要求を、管理サーバ４００がサーバＡ１００に送信する負荷情報送信要求ステップ（ステップＳ１０４）を備える。
【００６６】
この情報処理方法は、負荷情報送信要求ステップ（ステップＳ１０４）で送信された要求に応じて、サーバＡ１００がサーバＢ２００およびサーバＣ３００に負荷情報を送信する負荷情報送信ステップ（ステップＳ１０５）を備える。
【００６７】
なお、負荷情報送信ステップ（ステップＳ１０５）では、サーバＡ１００が、試験プログラム４２３または試験プログラム４２４に入力される指標値Ｉｎを負荷情報として送信する。より詳細には、負荷情報送信ステップ（ステップＳ１０５）では、仮想マシン１２３が実行されることによって使用されるサーバＡ１００のリソース量を示す第２リソース量Ｐ２を取得し、取得された第２リソース量Ｐ２に対応する第２指標値Ｉ２を、算出基準記憶ステップ（ステップＳ１０１）で記憶した第１リソース量Ｐ１と第１指標値Ｉ１とに基づいて算出し、算出された第２指標値Ｉ２を負荷情報としてサーバＢ２００に送信する。
【００６８】
この情報処理方法は、サーバＢ２００またはサーバＣ３００が試験プログラム４２３または試験プログラム４２４を読み出し、負荷情報送信ステップ（ステップＳ１０５）で送信された指標値（第２指標値Ｉ２）を、読み出した試験プログラム４２３または試験プログラム４２４に入力して処理負荷を発生させる負荷発生ステップ（ステップＳ１０６）を備える。
【００６９】
負荷情報送信ステップ（ステップＳ１０５）が実行されてから時間Ｔ１が経過するまで（ステップＳ１０７のＮＯ）、サーバＢ２００およびサーバＣ３００は負荷発生ステップ（ステップＳ１０６）で発生させた処理負荷の発生を続ける。
【００７０】
負荷情報送信ステップ（ステップＳ１０５）が実行されてから時間Ｔ１が経過したとき（ステップＳ１０７のＹＥＳ）、サーバＡ１００は負荷情報送信ステップ（ステップＳ１０５）を再び実行する。そして、サーバＢ２００またはサーバＣ３００は、負荷情報送信ステップ（ステップＳ１０５）で送信された負荷情報を受信する毎に、受信された負荷情報に応じて、負荷発生ステップ（ステップＳ１０６）で発生させている処理負荷を増減させる。
【００７１】
この情報処理方法は、実行ステップ（ステップＳ１０２）で実行された仮想マシン１２３が動作している間（ステップＳ１０８のＮＯ）は、繰り返し実行される。しかし、この情報処理方法は、当該仮想マシン１２３が停止したとき（ステップＳ１０８のＹＥＳ）、終了となる。
【００７２】
図６は、第２の実施形態の情報処理システム２０００に適用される情報処理方法のフローチャートである。この情報処理方法は、管理サーバ４００が負荷発生ステップ（ステップＳ１０６）で発生される処理負荷によって使用されるサーバＢ２００のリソースの量を示す第３リソース量Ｐ３１またはサーバＣ３００のリソースの量を示す第３リソース量Ｐ３２を受信するリソース量受信ステップ（ステップＳ２０２）を備える。本実施形態において、リソース量受信ステップ（ステップＳ２０２）では、管理サーバ４００が試験プログラム４２３を受信したサーバＢ２００または試験プログラム４２４を受信したサーバＣ３００それぞれから第３リソース量Ｐ３１、Ｐ３２を受信する。
【００７３】
また、この情報処理方法は、管理サーバ４００がリソース量受信ステップ（ステップＳ２０２）で受信された第３リソース量Ｐ３１、Ｐ３２を管理者に提示するリソース量提示ステップ（ステップＳ２０３）を備える。
【００７４】
サーバＢ２００またはサーバＣ３００から新たに第３リソース量Ｐ３１、Ｐ３２を受信する間（ステップＳ２０１のＮＯ）は、この情報処理方法は待機状態となる。そして、サーバＢ２００またはサーバＣ３００にから新たに第３リソース量Ｐ３１、Ｐ３２を受信したとき（ステップＳ２０１のＹＥＳ）、リソース量受信ステップ（ステップＳ２０２）に移行する。そして、リソース量受信ステップ（ステップＳ２０２）は間欠的に繰り返される。
【００７５】
そして、リソース量提示ステップ（ステップＳ２０３）では、第３リソース量Ｐ３１、Ｐ３２を受信する毎に、受信された第３リソース量Ｐ３１、Ｐ３２を管理者に提示する。
【００７６】
この情報処理方法は、図５に示すフローチャート同様に、実行ステップ（ステップＳ１０２）で実行された仮想マシンが動作している間（ステップＳ２０４のＮＯ）は、繰り返し実行される。しかし、この情報処理方法は、当該仮想マシンが停止したとき（ステップＳ２０４のＹＥＳ）、終了となる。
【００７７】
ここで、本実施形態の効果について述べる。本実施形態において、サーバＡ１００は負荷情報として指標値Ｉｎを送信し、サーバＢ２００またはサーバＣ３００は受信した指標値Ｉｎを入力して試験プログラムを実行し処理負荷を発生させる。これにより、サーバＡ１００においては、サーバＢ２００またはサーバＣ３００それぞれに同一の指標値Ｉｎを送信すればよく、演算処理が軽減され、サーバ間で送受信する負荷情報のデータ容量が小さくなる。また、サーバＢ２００またはサーバＣ３００においては、負荷を発生させる事前の処理が軽減され、速やかに処理負荷を発生させることができる。従って、サーバＡ１００において仮想マシン１２３による処理負荷が発生してから、サーバＢ２００またはサーバＣ３００において当該処理負荷を再現するまでのタイムラグが小さくなり、より実時間に近い再現が可能となる。
【００７８】
また、本実施形態において、サーバＡ１００は事前に第１リソース量Ｐ１と第１指標値Ｉ１とを対応づけて記憶しているので、第２指標値Ｉ２を算出する処理が単純化され、軽減される。従って、サーバＡ１００において仮想マシン１２３による処理負荷が発生してから、サーバＢ２００またはサーバＣ３００において当該処理負荷を再現するまでのタイムラグが小さくなり、更に実時間に近い再現が可能となる。
【００７９】
さらに、本実施形態において、運用者の操作入力に応じて選択されたサーバに試験プログラムを送信することができる。これにより、運用者の意図に即して仮想マシン１２３の処理負荷を再現することができる。
【００８０】
さらに、本実施形態において、再現された処理負荷によって使用されたリソース量を、運用者に提示することができる。これにより、運用者は再現された処理負荷によって使用されたリソース量を確認することができる。
【００８１】
さらに、本実施形態において、複数のサーバ（サーバＢ２００およびサーバＣ３００）が同等の試験プログラムを実行して、仮想マシン１２３の処理負荷を再現することができる。これにより、並行して複数のサーバにおいて仮想マシン１２３の処理負荷を再現することができる。
【００８２】
さらに、本実施形態は、再現された処理負荷によって使用された第３リソース量Ｐ３１、Ｐ３２を受信する毎に、それを運用者に提示する。これにより、運用者は、ほぼ実時間で更新される第３リソース量Ｐ３１、Ｐ３２を、その都度確認することができる。
【００８３】
〔第３の実施形態〕
図７は、第３の実施形態の情報処理システム３０００の構成図である。サーバＡ１００、サーバＢ２００、サーバＣ３００、サーバＤ６００、管理サーバ４００およびサーバＥ７００が、ネットワーク５００を介して通信可能に接続されている。
【００８４】
サーバＡ１００、サーバＢ２００、サーバＣ３００、管理サーバ４００、サーバＤ６００およびサーバＥ７００は、それぞれがＣＰＵ１１０、ＣＰＵ２１０、ＣＰＵ３１０、ＣＰＵ４１０、ＣＰＵ６１０、ＣＰＵ７１０を備えており、それぞれのＣＰＵは同一の処理性能であってもよいし、異なる処理性能であってもよい。
【００８５】
また、サーバＡ１００、サーバＢ２００、サーバＣ３００、管理サーバ４００、サーバＤ６００およびサーバＥ７００は、それぞれが記憶部１２０  、記憶部２２０、記憶部３２０、記憶部４２０、記憶部６２０、記憶部７２０を備えており、それぞれの記憶部は同一の記憶容量であってもよいし、異なる記憶容量であってもよい。
【００８６】
さらに、サーバＡ１００、サーバＢ２００、サーバＣ３００、管理サーバ４００、サーバＤ６００およびサーバＥ７００は、それぞれが通信部１３０、通信部２３０、通信部３３０、通信部４３０、通信部６３０および通信部７３０を備えており、それぞれが処理可能な通信量は同一であってもよいし、異なってもよい。
【００８７】
記憶部１２０には、ホストＯＳ１２１、仮想化ソフト１２２および仮想マシン１２３が記憶されている。ここでは図示しないが、仮想マシン１２３には図１または図４で図示したゲストＯＳ１２４およびアプリケーションソフト１２６に相当するソフトウェアが内包されているものとする。
【００８８】
記憶部２２０には、ホストＯＳ２２１と仮想化ソフト２２２が記憶されており、サーバＢ２００はサーバＡ１００と同様に仮想マシン１２３等の仮想ハードウェアを実現可能な環境を有している。また、記憶部３２０には、ホストＯＳ３２１と仮想化ソフト３２２が記憶されており、サーバＣ３００はサーバＡ１００と同様に仮想ハードウェアを実現可能な環境を有している。さらに、記憶部６２０には、ホストＯＳ６２１と仮想化ソフト６２２が記憶されており、サーバＤ６００はサーバＡ１００と同様に仮想ハードウェアを実現可能な環境を有している。さらに、記憶部７２０には、ホストＯＳ７２１と仮想化ソフト７２２が記憶されており、サーバＥ７００はサーバＡ１００と同様に仮想ハードウェアを実現可能な環境を有している。
【００８９】
管理サーバ４００は、上述したＣＰＵ４１０、記憶部４２０、通信部４３０の他に、操作入力部４４０および表示部４５０を備えている。操作入力部４４０および表示部４５０は、それぞれ第２の実施形態の操作入力部４４０および表示部４５０と同様である。
【００９０】
記憶部４２０には、性能計測用仮想マシン４２５が記憶されている。性能計測用仮想マシン４２５は仮想ハードウェアであって、当該仮想ハードウェア上で第２の実施形態で説明した試験プログラム４２３と同等の試験プログラムを実行することができる。
【００９１】
さらに、記憶部４２０には、ホストＯＳ４２１と管理プログラム４２２が記憶されており、ＣＰＵ４１０がホストＯＳ４２１上で管理プログラム４２２を実行することによって管理サーバ４００は以下のように動作する。
【００９２】
図８は、サーバＡ１００に性能計測用仮想マシン４２５を移動する際の管理サーバ４００の動作を示すフローチャートである。まず、管理サーバ４００は、サーバＡ１００において仮想マシン１２３の実行に伴って使用されるリソース量を、サーバＡ１００から取得する（ステップＴ１）。
【００９３】
次に、管理サーバ４００は、記憶部４２０に登録されている性能計測用仮想マシン４２５のイメージを、サーバＥ７００の記憶部７２０上にコピーする。そして、管理サーバ４００は、サーバＥ７００に性能計測用仮想マシン４２５を起動するように要求する（ステップＴ２）。
【００９４】
続いて、管理サーバ４００は、サーバＡ１００上で実行されている仮想マシン１２３をサーバＤ６００に退避させるように、サーバＡ１００とサーバＤ６００に要求する（ステップＴ３）。  
【００９５】
続いて、管理サーバ４００は、サーバＥ７００上の性能計測用仮想マシン４２５をサーバＡ１００上に移動させるように、サーバＡ１００とサーバＥ７００に要求する（ステップＴ４）。
【００９６】
管理サーバ４００は、サーバＡ１００上に移動した性能計測用仮想マシン４２５に対して、ステップＴ１で取得したリソース量を目標値として処理負荷を発生させるように要求する。それとともに、管理サーバ４００は、サーバＡ１００において性能計測用仮想マシン４２５の実行に伴って使用されるリソース量を周期的に取得するように、サーバＡ１００と性能計測用仮想マシン４２５とに対して要求する（ステップＴ５）。
【００９７】
図９は、サーバＡ１００上で実行される性能計測用仮想マシン４２５の動作を表すフローチャートである。まず、性能計測用仮想マシン４２５は、ステップＴ５における管理サーバ４００の要求を受信する（ステップＴ１０１）。
【００９８】
性能計測用仮想マシン４２５は、ステップＴ１０１で受信した要求に応じて処理負荷を発生させる（ステップＴ１０２）。ただし、性能計測用仮想マシン４２５上で試験プログラムを起動するときに入力される初回の指標値ＩＦは予め定められているものとする。当該初回の指標値ＩＦは、ステップＴ５で管理サーバ４００から性能計測用仮想マシン４２５に対して提供してもよいし、予め性能計測用仮想マシン４２５に内包されていてもよい。
【００９９】
また、性能計測用仮想マシン４２５は、ステップＴ１０１で受信した要求に応じて、サーバＡ１００において性能計測用仮想マシン４２５の実行に伴って使用されるリソース量を取得する  （ステップＴ１０３）。
【０１００】
性能計測用仮想マシン４２５は、ステップＴ１０３でリソース量が取得されたとき、リソース量の取得回数Ｎの値に１を加算する（ステップＴ１０４）。そして、Ｎの値が予め定められた読み飛ばし回数以上である場合（ステップＴ１０５のＹＥＳ）、ステップＴ１０３で取得されたリソース使用量を採用する（ステップＴ１０６）。また、Ｎの値が予め定められた読み飛ばし回数に達しない場合（ステップＴ１０５のＮＯ）、性能計測用仮想マシン４２５に新たに入力する指標値ＩＡを算出する（ステップＴ１１２）。ステップＴ１０３が実行されるまで待機する。ステップＴ１１２の算出にも式（２）を用いる。具体的には、Ｉ１＝現在の指標値ＩＢ（初回においてはＩＢ＝ＩＦ）、Ｐ１＝ステップＴ１０３で取得したリソース量、Ｐ２＝ステップＴ１０１で受信したリソース量の目標値としたとき、Ｉ２＝ＩＡである。
【０１０１】
性能計測用仮想マシン４２５は、ステップＴ１０６で採用された最新のリソース量と、前回のステップＴ１０６で採用されたリソース量を比較し、その差分が予め定められた許容範囲内に入っているかどうかを判定する（ステップＴ１０７）。当該差分が許容範囲内に入っていない場合（ステップＴ１０８のＮＯ）、性能計測用仮想マシン４２５に新たに入力する指標値ＩＡを算出する（ステップＴ１１２）。ここでの算出も上述の通りである。
【０１０２】
当該差分が範囲内に入っている場合（ステップＴ１０８のＹＥＳ）、判定結果良好回数Ｘの値に１を加算する（ステップＴ１０９）。そして、Ｘの値が予め定められた継続回数分に達しない場合（ステップＴ１１０のＮＯ）、性能計測用仮想マシン４２５に新たに入力する指標値ＩＡを算出する（ステップＴ１１２）。ここでの算出も上述の通りである。
【０１０３】
ステップＴ１１２で指標値ＩＡが算出されると、再びステップＴ１０２に移行して、性能計測用仮想マシン４２５は算出された指標値ＩＡを試験プログラムに入力し、発生させている処理負荷を増減させる。そして、ステップＴ１０３以降のステップを繰り返し実行する。再びステップＴ１０５、ステップＴ１０８またはステップＴ１１０でＮＯと判定されたとき、ステップＴ１１２では、ステップＴ１０２で入力した指標値ＩＡを現在の指標値ＩＢとして、新たに入力する指標値ＩＡを算出する。
【０１０４】
ステップＴ１０３〜ステップＴ１１０のステップを実行することによって、ステップＴ１０２で入力した指標値（初回は指標値ＩＦ、２回目以降はステップＴ１１２で算出された指標値ＩＡ）に  対応するリソース量を求めることが出来る。また、Ｔ１０５により、処理負荷に達する前に取得されたリソース量を無視することができる。Ｔ１０８により発生した負荷を指定した範囲内に収めることで精度を高めることができる。Ｔ１１０により、発生した負荷が安定しているかどうかを確認することができる。また、上述した読み飛ばし回数、許容範囲、継続回数は、デフォルトで固定された値であってもよいし、運用者によって適宜変更可能な値であってもよい。
【０１０５】
ステップＴ１０９で判定結果良好回数Ｘの値に１を加算して、Ｘの値が予め定められた継続回数以上である場合（ステップＴ１１０のＹＥＳ）、性能計測用仮想マシン４２５は、現在の指標値ＩＢとステップＴ１０６で採用された最新のリソース量を対応付けて記憶部１２０の記憶領域の一部に記憶する（ステップＴ１１１）。すなわち、ステップＴ１１１は第２の実施形態で説明した算出基準記憶ステップＳ１０１に相当する。
【０１０６】
ステップＴ１１１で記憶した指標値ＩＢを管理サーバ４００に送信する（ステップＴ１１３）。
【０１０７】
図１０は、サーバＢ２００に性能計測用仮想マシン４２５を移動したときの管理サーバ４００の動作を示すフローチャートである。管理サーバ４００は、ステップＴ１１３で送信された指標値ＩＢを記憶部４２０の記憶領域の一部に記憶する（ステップＴ２０１）。
【０１０８】
次に、管理サーバ４００は、サーバＡ１００上の性能計測用仮想マシン４２５をサーバＥ７００上に移動させるように、サーバＡ１００とサーバＥ７００に要求する（ステップＴ２０２）。
【０１０９】
続いて、管理サーバ４００は、サーバＤ６００上の仮想マシン１２３をサーバＡ１００上に移動させるように、サーバＤ６００とサーバＡ１００に要求する（ステップＴ２０３）。  これにより、サーバＤ６００上で実行されていた仮想マシン１２３は、サーバＡ１００上で実行される。すなわち、ステップＴ２０３は、第２の実施形態で説明したステップＳ１０２に相当する。
【０１１０】
そして、管理サーバ４００は、運用者の操作入力を受け付けると（ステップＴ２０４）、受け付けた操作入力に応じて選択されたサーバに、サーバＥ７００上の性能計測用仮想マシン４２５を移動させるように要求する（ステップＴ２０５）。本実施形態においては、サーバＢ２００が選択され、サーバＢ２００に性能計測用仮想マシン４２５が移動するものとする。性能計測用仮想マシン４２５は、第２の実施形態の試験プログラム４２３と同等の試験プログラムを実行可能なので、ステップＴ２０５は第２の実施形態のステップＳ１０３に相当する。
【０１１１】
管理サーバ４００は、ステップＴ２０１で記憶された指標値ＩＢを性能計測用仮想マシン４２５に送信し、指標値ＩＢを試験プログラムに入力して実行するように要求する（ステップＴ２０６）。すなわち、管理サーバ４００は指標値ＩＢを性能計測用仮想マシン４２５に送信することで、本発明の試験プログラム実行要求手段を実現する。
【０１１２】
そして、管理サーバ４００は、サーバＡ１００から性能計測用仮想マシン４２５（サーバＢ２００）に指標値Ｉｃを送信するように、サーバＡ１００に要求する（ステップＴ２０７）。すなわち、ステップＴ２０７は、第２の実施形態のステップＳ１０４に相当する。なお、上記の指標値Ｉｃとは、性能計測用仮想マシン４２５が周期的に取得するリソース量に対応する指標値のことである。
【０１１３】
管理サーバ４００が、ステップＴ２０１〜ステップＴ２０７を実行することによって、サーバＡ１００で実行している仮想マシン１２３の処理負荷を、サーバＢ２００上で再現することができる。この再現は、第２の実施形態のステップＳ１０５〜ステップＳ１０７に相当する。
【０１１４】
より具体的には、ステップＴ２０７で送信された要求に応じて、サーバＡ１００は、仮想マシン１２３が実行されることによって使用されるサーバＡ１００のリソース量を時間Ｔ１ごとに取得し、取得されたリソース量に対応する指標値ＩＣを、ステップＴ１１１で記憶したリソース量と指標値ＩＢとに基づいて算出し、算出された指標値ＩＣを負荷情報としてサーバＢ２００に送信する。なお、この算出には上述した式（２）を用いる。サーバＢ２００は、サーバＡ１００から指標値ＩＣを受信する毎に、受信された指標値ＩＣを性能計測用仮想マシン４２５の試験プログラムに入力し、時間経過とともに処理負荷を増減させる。
【０１１５】
なお、上述した再現に関する処理は、サーバＡ１００上（仮想マシン１２３）またはサーバＢ２００上（性能計測用仮想マシン４２５）で実行される処理であるため、管理サーバ４００の動作を表している図１０のフローチャートにおいては図示されない。
【０１１６】
管理サーバ４００は、性能計測用仮想マシン４２５（サーバＢ２００）から第３リソース量Ｐ３１を受信しない間（ステップＴ２０８のＮＯ）、管理サーバ４００は待機状態となる。また、性能計測用仮想マシン４２５（サーバＢ２００）から第３リソース量Ｐ３１を受信した時（ステップＴ２０８のＹＥＳ）、管理サーバ４００は第３リソース量Ｐ３１の受信処理をし（ステップＴ２０９）、受信した第３リソース量Ｐ３１を、表示部４５０によって表示出力し、運用者に提示する（ステップＴ２１０）。すなわち、この段落で説明した一連の処理は、第２の実施形態のステップＳ２０１〜ステップＳ２０３に相当する。
【０１１７】
管理サーバ４００が性能計測用仮想マシン４２５に試験プログラムの停止要求を送信しない間（ステップＴ２１１のＮＯ）は、サーバＡ１００およびサーバＢ２００において上述した再現動作を繰り返し行う。そして、管理サーバ４００が性能計測用仮想マシン４２５に試験プログラムの停止要求を送信すると（ステップＴ２１１のＹＥＳ）、性能計測用仮想マシン４２５は試験プログラムを停止し、上述した再現動作は終了となる。
【０１１８】
ここで、本実施形態の効果について述べる。本実施形態は、管理サーバ４００が試験プログラムの実行を直接要求するので、試験プログラムによる処理負荷の発生タイミングを制御することができる。従って、複数のサーバにおいて試験プログラムを実行させる場合等は、その開始タイミングを同期させることもできる。
【０１１９】
また、性能計測用仮想マシン４２５のコピーを他のサーバで起動した状態でサーバＢ２００に移動するので、処理負荷発生の立ち上がりが速やかになる。
【０１２０】
さらに、本実施形態は、サーバＡ１００に性能計測用仮想マシン４２５を一旦移動して指標値ＩＢを算出し、その後サーバＢ２００に性能計測用仮想マシン４２５を移動して、指標値ＩＢ用いて処理負荷を発生させるので、処理負荷発生の立ち上がり時点から高い精度で仮想マシン１２３の処理負荷を再現することができる。
【０１２１】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【０１２２】
第１〜第３の実施形態において、サーバＡ１００のＣＰＵ１１０の処理負荷や使用率に基づいて処理負荷を発生させたが、その他のリソースに関する値に基づいて同様の処理を実行してもよい。ここで、その他のリソースとは、例えば、サーバＡ１００のメモリの使用量、サーバＡ１００のハードディスクの記憶容量、サーバＡ１００とネットワーク５００との通信量等である。ここで挙げたいずれを用いてもよいし、複数を組み合わせて用いてもよい。
【０１２３】
第１〜第３の実施形態において、仮想マシンの実行環境を持つサーバは、全てホストＯＳおよび仮想化ソフトを備えるように説明したが、これらが一体となっているソフトウェアを用いてもよい。
【０１２４】
第２の実施形態において、サーバＢ２００と同等のサーバは、サーバＣ３００のみを図示して説明したが、更にサーバＢ２００と同等のサーバを増やしてもよい。そして、それぞれのサーバに試験プログラム４２３と同等の試験プログラムを送信して、第２の実施形態における試験プログラム４２３と同様の処理を実現してもよい。
【０１２５】
第３の実施形態において、仮想マシン１２３を退避させるサーバとしてサーバＤ６００、性能計測用仮想マシン４２５をプールさせるサーバとしてサーバＥ７００、仮想マシン１２３を実行するサーバとしてサーバＡ１００、性能計測用仮想マシン４２５を実行するサーバとしてサーバＢ２００を選択して説明したが、これに限らず、その他の組み合わせであってもよい。
【０１２６】
第２の実施形態において、リソース量提示手段として表示部４５０を用いて、第３リソース量Ｐ３１、Ｐ３２を表示出力する旨を説明したが、これに限らなくてもよい。例えば、スピーカを用いて第３リソース量Ｐ３１、Ｐ３２を音声出力してもよい。また、印刷機を用いて第３リソース量Ｐ３１、Ｐ３２を印字出力してもよい。また、表示出力、音声出力または印字出力のうち複数を組み合わせてもよい。
【０１２７】
第２、第３の実施形態では管理サーバ４００の各種機能は、ＣＰＵ４１０が管理プログラム４２２を実行することによって実現する旨を説明した。しかし、このような各種機能の各々を固有のハードウェアとして形成することもでき、ソフトウェアとハードウェアとの組み合わせとして実現することもできる。
【０１２８】
第３の実施形態において、図９のフローチャートによればステップＴ１０４とステップＴ１０５の処理は、ステップＴ１０３でリソース量を取得する度に実行されるように記載しているが、これに限らなくてもよい。ステップＴ１０２で初回の指標値ＩＦを入力して発生した負荷に関するリソース量をステップＴ１０３で取得したときのみステップＴ１０４とステップＴ１０５とが実行され、それ以降はステップＴ１０４とステップＴ１０５とは実行されなくてもよい。
【０１２９】
第３の実施形態において、管理サーバ４００が性能計測用仮想マシン４２５を他のサーバ装置に移動するとき、移動先の他のサーバの記憶部に性能計測用仮想マシン４２５のイメージをコピーするように説明したが、Ｌｉｖｅ−Ｍｉｇｒａｔｉｏｎ技術を適用すれば性能計測用仮想マシン４２５自体を移動させることも可能である。
【０１３０】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。
【０１３１】
また、本発明の情報処理方法には複数のステップを順番に記載してあるが、その記載の順番は複数のステップを実行する順番を限定するものではない。このため、本発明の情報処理方法を実行するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
【０１３２】
この出願は、日本国特許庁に出願された特願２００９−１６８４９７号（出願日：２００９年７月１７日）を基礎とする優先権を主張するものであり、その開示の全ては、本明細書の一部として援用（incorporation herein by reference）される。また、上記の各実施形態の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態が以下の記載に限定されるものではない。
（付記１）
ネットワークを介して通信可能な第１サーバと第２サーバとを備え、
前記第１サーバは、
仮想マシンを実行する実行手段と、
前記実行手段により前記仮想マシンが実行されているとき、当該仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報を前記第２サーバに送信する負荷情報送信手段と、を含み、
前記第２サーバは、
前記第１サーバから受信した前記負荷情報に基づいて処理負荷を発生させる負荷発生手段を含むことを特徴とする情報処理システム。
（付記２）
請求項１に記載の情報処理システムであって、
前記第２サーバは、指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムを記憶している試験プログラム記憶手段を含み、
前記負荷情報送信手段は、前記指標値を前記負荷情報として送信し、
前記負荷発生手段は、前記試験プログラム記憶手段から前記試験プログラムを読み出し、前記負荷情報送信手段から受信した前記指標値を、読み出した前記試験プログラムに入力して前記処理負荷を発生させることを特徴とする情報処理システム。
（付記３）
請求項２に記載の情報処理システムであって、
前記第１サーバは、前記第１サーバにおいて前記試験プログラムに第１指標値を入力した場合に、前記試験プログラムが発生させる処理負荷によって使用される前記第１サーバのリソースの量を示す第１リソース量と、前記第１指標値とを対応付けて記憶する算出基準記憶手段を含み、
前記負荷情報送信手段は、前記仮想マシンが実行されることによって使用される前記第１サーバのリソース量を示す第２リソース量を取得し、取得された前記第２リソース量に対応する第２指標値を前記算出基準記憶手段に記憶されている前記第１リソース量と前記第１指標値とに基づいて算出し、算出された前記第２指標値を前記負荷情報として前記第２サーバに送信することを特徴とする情報処理システム。
（付記４）
請求項３に記載の情報処理システムであって、
前記負荷情報送信手段は、取得された前記第２リソース量に、前記第１指標値と前記第１リソース量との比率を乗算して前記第２指標値を算出することを特徴とする情報処理システム。
（付記５）
請求項１乃至４のいずれかに記載の情報処理システムであって、
前記負荷情報送信手段は、間欠的に前記負荷情報を前記第２サーバに送信し、
前記負荷発生手段は、発生させている処理負荷を、前記負荷情報送信手段から前記負荷情報を受信する毎に、受信された前記負荷情報に応じて増減させることを特徴とする情報処理システム。
（付記６）
請求項１乃至５のいずれかに記載の情報処理システムであって、
管理者の操作入力を受け付ける管理サーバを備え、
前記管理サーバは、
受け付けた操作入力に応じて選択された前記第２サーバに、試験プログラムを送信する試験プログラム送信手段と、
前記試験プログラム送信手段によって前記試験プログラムを送信された前記第２サーバに前記負荷情報を送信する要求を、前記第１サーバに送信する負荷情報送信要求手段と、
前記負荷発生手段が発生させた処理負荷によって使用される前記第２サーバのリソースの量を示す第３リソース量を受信するリソース量受信手段と、
前記リソース量受信手段により受信された前記第３リソース量を前記管理者に提示するリソース量提示手段と、を含むことを特徴とする情報処理システム。
（付記７）
請求項６に記載の情報処理システムであって、
前記試験プログラム送信手段は、複数の前記第２サーバに前記試験プログラムを送信し、
前記リソース量受信手段は、前記試験プログラムを受信した前記第２サーバそれぞれから前記第３リソース量を受信することを特徴とする情報処理システム。
（付記８）
請求項６または７に記載の情報処理システムであって、
前記リソース量受信手段は、間欠的に前記第３リソース量を前記第２サーバから受信し、
前記リソース量提示手段は、前記第３リソース量を受信する毎に、受信された前記第３リソース量を前記管理者に提示することを特徴とする情報処理システム。
（付記９）
請求項６乃至８いずれかに記載の情報処理システムであって、
前記管理サーバは、前記第２サーバに前記試験プログラムの実行を要求する試験プログラム実行要求手段を備えることを特徴とする情報処理システム。
（付記１０）
第１サーバが仮想マシンを実行する実行ステップと、
前記実行ステップで前記仮想マシンが実行されているとき、当該仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報をネットワークを介して第２サーバに送信する負荷情報送信ステップと、
前記第１サーバから受信した前記負荷情報に基づいて処理負荷を発生させる負荷発生ステップと、
を備えることを特徴とする情報処理方法。
（付記１１）
請求項１０に記載の情報処理方法であって、
前記負荷情報送信ステップでは、指標値の入力に応じて処理負荷を発生させ、前記指標値の大小によって前記処理負荷を増減させる試験プログラムに入力される前記指標値を、前記第１サーバが前記負荷情報として送信し、
前記負荷発生ステップでは、前記試験プログラムを読み出し、前記負荷情報送信ステップで送信された前記指標値を、読み出した前記試験プログラムに入力して処理負荷を発生させることを特徴とする情報処理方法。
（付記１２）
請求項１１に記載の情報処理方法であって、
前記第１サーバにおいて前記試験プログラムに第１指標値を入力した場合に、前記試験プログラムが発生させる処理負荷によって使用される前記第１サーバのリソースの量を示す第１リソース量と、前記第１指標値とを対応付けて記憶する算出基準記憶ステップを備え、
前記負荷情報送信ステップでは、前記仮想マシンが実行されることによって使用される前記第１サーバのリソース量を示す第２リソース量を取得し、取得された前記第２リソース量に対応する第２指標値を前記算出基準記憶ステップで記憶した前記第１リソース量と前記第１指標値とに基づいて算出し、算出された前記第２指標値を前記負荷情報として前記第２サーバに送信することを特徴とする情報処理方法。
（付記１３）
請求項１２に記載の情報処理方法であって、
前記負荷情報送信ステップでは、取得された前記第２リソース量に、前記第１指標値と前記第１リソース量との比率を乗算して前記第２指標値を算出することを特徴とする情報処理方法。
（付記１４）
請求項１０乃至１３のいずれかに記載の情報処理方法であって、
前記負荷情報送信ステップは間欠的に繰り返され、
前記負荷情報送信ステップで送信された前記負荷情報を受信する毎に、
前記負荷発生ステップでは、受信された負荷情報に応じて新たに処理負荷を予測し、発生させている処理負荷を増減させることを特徴とする情報処理方法。
（付記１５）
請求項１０乃至１４のいずれかに記載の情報処理方法であって、
管理者の操作入力を受け付ける管理サーバが、受け付けた操作入力に応じて選択された前記第２サーバに、試験プログラムを送信する試験プログラム送信ステップと、
前記試験プログラム送信ステップで前記試験プログラムを送信された前記第２サーバに前記負荷情報を送信する要求を、前記第１サーバに送信する負荷情報送信要求ステップと、
前記負荷発生ステップで発生された処理負荷によって使用される前記第２サーバのリソースの量を示す第３リソース量を受信するリソース量受信ステップと、
前記リソース量受信ステップで受信された前記第３リソース量を前記管理者に提示するリソース量提示ステップと、
を備えることを特徴とする情報処理方法。
（付記１６）
請求項１５に記載の情報処理方法であって、
前記試験プログラム送信ステップでは、複数の前記第２サーバに前記試験プログラムを送信し、
前記リソース量受信ステップでは、前記試験プログラムを受信した前記第２サーバそれぞれから前記第３リソース量を受信することを特徴とする情報処理方法。
（付記１７）
請求項１５または１６に記載の情報処理方法であって、
前記リソース量受信ステップは間欠的に繰り返され、
前記リソース量提示ステップでは、前記第３リソース量を受信する毎に、受信された前記第３リソース量を前記管理者に提示することを特徴とする情報処理方法。
（付記１８）
請求項１５乃至１７いずれかに記載の情報処理方法であって、
前記管理サーバが前記第２サーバに前記試験プログラムの実行を要求する試験プログラム実行要求ステップを備えることを特徴とする情報処理方法。
（付記１９）
ネットワークを介して通信可能な第１サーバと第２サーバとで実行されるプログラムであって、
第１サーバに仮想マシンを実行させる実行処理と、
前記実行処理によって前記仮想マシンが実行されているとき、当該仮想マシンの実行に伴って前記第１サーバに発生している処理負荷を示す負荷情報を前記第２サーバに送信させる負荷情報送信処理と、
前記第１サーバから受信した前記負荷情報に基づいて前記第２サーバに処理負荷を発生させる負荷発生処理と、
を前記第１サーバまたは前記第２サーバのいずれかに実行させるプログラム。
【図１】
0005522171.tif 000004
【図２】
0005522171.tif 000005
【図３】
0005522171.tif 000006
【図４】
0005522171.tif 000007
【図５】
0005522171.tif 000008
【図６】
0005522171.tif 000009
【図７】
0005522171.tif 000010
【図８】
0005522171.tif 000011
【図９】
0005522171.tif 000012
【図１０】
0005522171.tif 000013