(57)【特許請求の範囲】
【請求項１】
送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置であって、
起動する仮想マシンの台数が含まれる起動要求が入力される入力部と、
前記入力部に入力された前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信する起動要求送信部と、
前記起動要求に応じて前記物理マシンに起動された複数の仮想マシンに性能測定プログラムを実行させることにより、前記複数の仮想マシンの性能を測定する測定部と、
起動された複数の仮想マシンのうち、前記測定部が測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させる仮想マシン選択部と、
を備えることを特徴とする仮想マシン起動装置。
【請求項２】
前記起動要求送信部は、予め定められた時間毎に、前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信する
ことを特徴とする請求項１に記載の仮想マシン起動装置。
【請求項３】
送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置の仮想マシン起動方法であって、
起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、
入力された前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信するステップと、
前記起動要求に応じて前記物理マシンに起動された複数の仮想マシンに性能測定プログラムを実行させることにより、前記複数の仮想マシンの性能を測定するステップと、
起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、
を備えることを特徴とする仮想マシン起動方法。
【請求項４】
送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置のコンピュータに、
起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、
入力された前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信するステップと、
前記起動要求に応じて前記物理マシンに起動された複数の仮想マシンに性能測定プログラムを実行させることにより、前記複数の仮想マシンの性能を測定するステップと、
起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、
を実行させる仮想マシン起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理マシンに仮想マシンを起動させる技術に関する。
【背景技術】
【０００２】
ユーザ端末からの要求を受けて、予め用意した物理マシンにより構成される仮想環境に仮想マシンを起動させ、起動した仮想マシンをユーザに利用させるコンピュータリソースの利用形態が一般的になりつつある。このようにすれば、ユーザが例えば何らかのウェブサービスを提供したい場合、自身で物理マシンを用意しなくとも、仮想環境における仮想マシンにウェブサーバ、ＡＰ（アプリケーション）サーバ、ＤＢ（データベース）サーバ等のプログラムを実行させることで、ウェブサービスを提供することができる。
特許文献１、２には、このような仮想環境における仮想マシンを管理する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−５２８４２号公報
【特許文献２】特開２００９−８６４４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、仮想化技術により複数の物理マシンに同様の性能の仮想マシンを複数起動させようとする場合、仮想マシンの性能に多少のバラツキが発生することが考えられる。例えば、仮想マシンが起動する物理マシンのコンピュータリソースのメーカや規格等の相違によって、多少の性能の違いが発生することが考えられる。あるいは、例えば同一の物理マシンに複数の仮想マシンが起動した場合、複数の仮想マシンが同一のハードウェアリソースを利用するため、ある仮想マシンの処理性能が、同一の物理マシンに起動された他の仮想マシンの稼働状況に影響を受ける場合があると考えられる。例えば、仮想マシンが頻繁にディスクＩ／Ｏ（Input/Output）を行えば、同一の物理マシンに起動している他の仮想マシンのディスクＩ／Ｏの処理性能が低下する場合があると考えられる。このような場合でも、ユーザにとっては、できるだけ性能が高い仮想マシンを利用することが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、仮想環境における仮想マシンを利用する際、最適な性能の仮想マシンを利用することを可能とする仮想マシン起動装置、仮想マシン起動方法、仮想マシン起動プログラムを提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、送信される仮想マシンの起動要求に応じて
、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された
仮想マシン起動装置であって、起動する仮想マシンの台数が含まれる起動要求が入力され
る入力部と、入力部に入力された起動要求に含まれる台数を超える台数の仮想マシンの起
動要求を物理マシンに送信する起動要求送信部と、起動要求に応じて物理マシンに起動さ
れた複数の仮想マシンに性能測定プログラムを実行させることにより、前記複数の仮想マシンの性能を測定する測定部と、起動された複数の仮想マシンのうち、
測定部が測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マ
シンを停止させる仮想マシン選択部と、を備えることを特徴とする。
【０００７】
また、本発明は、起動要求送信部は、予め定められた時間毎に、起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信することを特徴とする。
【０００８】
また、本発明は、送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置の仮想マシン起動方法であって、起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信するステップと、起動要求に応じて物理マシンに起動された複数の仮想マシンに性能測定プログラムを実行させることにより、前記複数の仮想マシンの性能を測定するステップと、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、を備えることを特徴とする。
【０００９】
また、本発明は、送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置のコンピュータに、起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信するステップと、起動要求に応じて物理マシンに起動された複数の仮想マシンに性能測定プログラムを実行させることにより、前記複数の仮想マシンの性能を測定するステップと、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、を実行させる仮想マシン起動プログラムである。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置が、起動する仮想マシンの台数が含まれる起動要求の入力を受け付け、入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信し、起動要求に応じて物理マシンに起動された複数の仮想マシンの性能を測定し、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるようにしたので、仮想環境における仮想マシンを利用する際、最適な性能の仮想マシンを利用することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による仮想マシン提供システムの構成例を示すブロック図である。
【図２】本発明の一実施形態による測定結果記憶部に記憶されるデータ例を示す図である。
【図３】本発明の一実施形態による仮想マシン起動装置の動作例を示すフローチャートである。
【図４】本発明の一実施形態による仮想マシン起動装置の動作例を示すフローチャートである。
【図５】本発明の一実施形態による仮想マシン起動装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による仮想マシン起動装置３０を備えた仮想マシン提供システム１の構成を示すブロック図である。仮想マシン提供システム１は、仮想マシン起動装置３０の他に、物理マシン１０−１、物理マシン１０−２、物理マシン１０−３、・・・と、仮想マシン配置装置２０とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワークを介して接続されている。複数の物理マシン１０は同様の構成であり、特に区別しない場合には「−１」、「−２」等を省略して物理マシン１０として説明する。
【００１３】
仮想マシン提供システム１は、仮想マシン起動装置３０からの仮想マシンの起動要求に応じて、複数の物理マシン１０によって構成される仮想環境に仮想マシンを起動させ、ネットワークを介して仮想マシンを利用させるリソース提供サービスを提供する。このようなサービスはクラウドサービスなどとも呼ばれるものである。
【００１４】
物理マシン１０は、自身のコンピュータリソースを仮想化し、複数の仮想マシンを起動させる仮想化機能を備えるコンピュータ装置である。物理マシン１０は、仮想マシン配置装置２０を介して送信される仮想マシン起動装置３０からの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動する。ここで、物理マシン１０は、予め定められた仮想マシンの性能に応じたサイズ単位に自身のコンピュータリソースを仮想化して複数区画に区切り、区切った区画毎に仮想マシンを起動させる。例えば、Ｓ、Ｍ、Ｌなどの仮想マシンのサイズを予め定め、ＣＰＵ（Central Processing Unit）処理速度、メモリ容量、ディスク容量等の性能に基づいて、より性能の高い仮想マシンをＬ、Ｌの仮想マシンより性能の低い仮想マシンをＭ、Ｍの仮想マシンより性能の低い仮想マシンをＳとする。物理マシン１０は、起動する仮想マシンのサイズを指定した情報が含まれる起動要求を受信し、受信した起動要求に含まれるサイズに応じた仮想マシンを起動する。また、物理マシン１０は、仮想マシン配置装置２０からの仮想マシンの停止要求に応じて、自身のコンピュータリソース上に起動した仮想マシンを停止させる。このように、物理マシン１０は予め定められたサイズに応じた性能の仮想マシンを起動するが、複数の物理マシン１０の間では、ハードウェアメーカや規格等の相違、あるいは同一の物理マシン１０上に起動している他の仮想マシンの稼働状況によって、実際に起動する仮想マシンの性能には多少のバラツキが発生することが考えられる。
【００１５】
仮想マシン配置装置２０は、仮想マシン起動装置３０から送信される仮想マシンの起動要求に応じて、複数の物理マシン３０のいずれかに仮想マシンを起動させるクラウド管理装置である。例えば、仮想マシン配置装置２０は、複数の物理マシン１０毎に、その物理マシン１０に起動される仮想マシンのサイズ、起動可能な仮想マシンの台数等の情報を自身の記憶領域に記憶しておく。また、仮想マシン配置装置２０は、どの物理マシン１０に何台の仮想マシンが起動させたかを示す情報を自身の記憶領域に記憶しておく。仮想マシン配置装置２０は、このような情報を参照して、仮想マシン起動装置３０から送信される起動要求に含まれる仮想マシンのサイズに応じた空きのある物理マシン１０を判定し、判定した物理マシン１０に起動要求を送信して仮想マシンを起動させる。また、仮想マシン配置装置２０は、起動させた仮想マシンの識別情報を、起動要求元の仮想マシン起動装置３０に送信する。仮想マシンの識別情報は、例えばＩＰ（Internet Protocol）アドレス等が適用できる。
【００１６】
仮想マシン起動装置３０は、ネットワークを介して仮想マシン配置装置２０や複数の物理マシン１０に接続されたコンピュータ装置である。仮想マシン起動装置３０は、例えば物理マシン１０に仮想マシンを起動させて利用したいユーザのユーザ端末であっても良いし、ユーザのローカル環境に設置されたコンピュータ装置であっても良い。あるいは、物理マシン１０上に起動した仮想マシンを、仮想マシン起動装置３０として機能させるようにしても良い。ユーザは、物理マシン１０上に起動した仮想マシンを、ＰＣ（Personal Computer）等の自身のユーザ端末から接続して利用することができる。ここでは、１台の仮想マシン起動装置３０を示して説明するが、仮想マシン提供システム１には複数のユーザの複数の仮想マシン起動装置３０が接続されていて良い。仮想マシン起動装置３０は、入力部３１と、起動要求送信部３２と、測定結果記憶部３３と、測定部３４と、仮想マシン選択部３５とを備えている。
【００１７】
入力部３１には、起動する仮想マシンの台数が含まれる起動要求が入力される。例えば、入力部３１は、キーボードやマウス等の入力デバイスである。
起動要求送信部３２は、入力部３１に入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を、仮想マシン配置装置２０を介して物理マシン１０に送信する。例えば、入力部３１に１台の仮想マシンの起動要求が入力された場合に、５台の仮想マシンの起動要求を仮想マシン配置装置２０に送信する。
【００１８】
測定結果記憶部３３には、起動要求送信部３２が物理マシン１０に送信した起動要求によって物理マシン１０に起動された複数の仮想マシン毎に測定された性能情報が記憶される。図２は、測定結果記憶部３３に記憶された性能情報のデータ例を示す図である。測定結果記憶部３３には、仮想マシンを識別する仮想マシンＩＤ毎に、ＣＰＵ、メモリ、ＩＯ、ネットワーク等の性能情報と、その仮想マシンが起動された物理マシンの識別情報が対応付けられて記憶される。例えば、仮想マシンＩＤが「仮想マシン１」である仮想マシンは、ＣＰＵ性能が１００．５ＭＩＰＳ（million instructions per second）、メモリ性能が７．５Ｇｂｐｓ（Giga bit per second）、（ディスク）ＩＯ（Input/Output）性能が２９０．１Ｍｂｐｓ（Mega bit per second）、ネットワーク（ＩＯ）性能が２００．４Ｍｂｐｓであり、物理マシン識別情報が「物理マシン＃１２０」である物理マシン１０に起動されて収納されていることを示す。
【００１９】
測定部３４は、起動要求送信部３２が物理マシン１０に送信した起動要求によって物理マシン１０に起動された複数の仮想マシン毎の性能を測定し、測定結果を測定結果記憶部３３に記憶させる。ここで、測定部３４は、例えば予め自身の記憶領域に記憶している性能測定プログラム（ベンチマークプログラム）を実行することにより、仮想マシンの性能を測定することができる。ベンチマークプログラムとしては、例えば、ＣＰＵ性能を測定するｌｐｅｒｆｅｘ、ディスク性能を測定するｈｄｐａｒｍ、ネットワーク性能を測定するＮｅｔＰＩＰＥ等を適用することができる。また、測定部３４は、仮想マシンが起動している物理マシン１０を識別できる場合には、その物理マシン１０の識別情報を取得して測定結果記憶部３３に記憶させる。
【００２０】
仮想マシン選択部３５は、起動された複数の仮想マシンのうち、測定部３４が測定した複数の仮想マシンの性能に基づいて最も性能の高い仮想マシンを選択し、選択した仮想マシンを除く仮想マシンを停止させる。ここで、仮想マシン選択部３５は、測定結果記憶部３３に記憶された複数の仮想マシンの性能情報を読み出し、読み出した複数の仮想マシンの性能情報を比較する。そして、仮想マシン選択部３５は、例えばＣＰＵ、メモリ、ＩＯ、ネットワークの性能の種別のうち、定められたいずれかの種別の値を比較して、最も値の高い仮想マシンを判定し、最も性能の高い仮想マシンとして選択する。ここで、いずれの性能の種別を比較対象とするかは、仮想マシン起動装置３０から送信される起動要求に、比較対象とする種別を示す情報が含まれるようにしても良い。あるいは、例えば測定結果記憶部３３に記憶されている性能情報を仮想マシン起動装置３０が備えるディスプレイに表示させ、いずれの仮想マシンを選択するかをユーザに選択させ、選択された仮想マシンが入力部３１に入力されるようにしても良い。仮想マシン選択部３５は、このように選択された仮想マシンに、動作させたいウェブサーバ等のプログラムを実行させ、その他の仮想マシンを停止させる。これにより、ユーザは、自身が利用したいサイズの複数の仮想マシンのうち、最も性能の高い仮想マシンを利用することができる。
【００２１】
次に、本実施形態による仮想マシン起動装置３０を備えた仮想マシン提供システム１の動作例を説明する。図３は、仮想マシン起動装置３０の動作例を示すフローチャートである。仮想マシン起動装置３０の入力部３１に、起動したい仮想マシンの台数を含む起動要求が入力されると（ステップＳ１）、起動要求送信部３２は、入力部３１に入力された仮想マシンの台数を超える複数の仮想マシンの起動要求を、仮想マシン配置装置２０に送信する（ステップＳ２）。仮想マシン配置装置２０は、仮想マシン起動装置３０の起動要求送信部３２から送信された仮想マシンの起動要求に基づいて、複数の物理マシン１０のうち仮想マシンを起動させる物理マシン１０を判定し、判定した物理マシン１０に起動要求を送信して仮想マシンを起動させる。仮想マシン配置装置２０は、物理マシン１０に仮想マシンを起動させると、起動させた仮想マシンの識別情報を仮想マシン起動装置３０に送信する。
【００２２】
仮想マシン起動装置３０が、仮想マシン配置装置２０から送信された仮想マシンの識別情報を受信すると、測定部３４は、受信した仮想マシンの識別情報に基づいて仮想マシンに接続し、性能測定プログラムを実行して仮想マシンの性能を測定し（ステップＳ４）、測定結果を測定結果記憶部３３に記憶させる（ステップＳ５）。仮想マシン選択部３５は、測定結果記憶部３３に記憶された測定結果を読み出して比較し、最も性能の高い仮想マシンを選択し、選択した仮想マシンにウェブサーバ等のプログラムを実行させる（ステップＳ６）。そして、仮想マシン選択部３５は、選択しなかった仮想マシンの停止要求を仮想マシン配置装置２０に送信する（ステップＳ７）。仮想マシン配置装置２０は、仮想マシン起動装置３０から送信された停止要求を受信すると、対応する物理マシン１０に仮想マシンの停止要求を送信し、仮想マシンを停止させる。
【００２３】
ここで、物理マシン１０に起動させた仮想マシンを長期的に利用する場合等には、時間の経過とともに環境が変化し、仮想マシンの性能が変化することがあると考えられる。そこで、仮想マシン起動装置３０が、定められた時間毎に、再度複数の仮想マシンを起動させて性能を測定し、既に起動した仮想マシンよりも性能の高い新たな仮想マシンがあれば、既に起動した仮想マシンを停止して新たな仮想マシンにてプログラムを実行させるようにしても良い。図４は、このような仮想マシン起動装置３０の動作例を示す図である。
【００２４】
例えば、仮想マシン起動装置３０は、自身の記憶領域に、性能の再計測を行う時間間隔を予め記憶しておき、自身が備える計時機能により計測した現在時刻と再計測時間とを比較して、現在時刻が再計測時間を超えたか否かを判定する（ステップＳ１１）。現在時刻が再計測時間を超えていないと判定すれば（ステップＳ１１：ＮＯ）、ステップＳ１１の処理を繰り返す。
【００２５】
現在時刻が再計測時間を超えていると判定すれば（ステップＳ１１：ＹＥＳ）、既に起動されている仮想マシンと同サイズの複数の仮想マシンの起動要求を、仮想マシン配置装置２０に送信する（ステップＳ１２）。そして、仮想マシン配置装置２０から送信される、新たに起動された仮想マシンの識別情報を受信する（ステップＳ１３）。仮想マシン起動装置３０の測定部３４は、新たに起動された仮想マシンの性能を測定し（ステップＳ１４）、測定結果を測定結果記憶部３３に記憶させる（ステップＳ１５）。仮想マシン選択部３５は、新たに起動した仮想マシンの中に、既に起動している仮想マシンの性能を超えるものが存在するか否かを判定する（ステップＳ１６）。
【００２６】
仮想マシン選択部３５は、新たに起動した仮想マシンの中に、既に起動している仮想マシンの性能を超えるものが存在しないと判定すると（ステップＳ１６：ＮＯ）、ステップＳ１１に戻る。新たに起動した仮想マシンの中に、既に起動している仮想マシンの性能を超えるものが存在すると判定すると（ステップＳ１６：ＹＥＳ）、その新たな仮想マシンでプログラムを実行させる（ステップＳ１７）。そして、既に起動していた仮想マシンを停止させ（ステップＳ１８）、選択しなかった仮想マシンを停止させる（ステップＳ１９）。
【００２７】
また、物理マシン１０に起動させたい複数の仮想マシンが、協調して動作する複数のプログラムを実行する仮想マシンであり、例えばその複数の仮想マシン間で行う通信の速度が速いことが要求されるような場合には、起動させる複数の仮想マシンが、同一の物理マシン１０に起動した場合に、その仮想マシンを選択するようにしても良い。図５は、このような仮想マシン起動装置３０の動作例を示す図である。
【００２８】
仮想マシン起動装置３０の入力部３１に、起動したい複数の仮想マシンの起動要求が入力されると（ステップＳ２１）、起動要求送信部３２は、入力部３１に入力された仮想マシンの台数を超える複数の仮想マシンの起動要求を、仮想マシン配置装置２０に送信する（ステップＳ２２）。仮想マシン配置装置２０は、起動された仮想マシンの情報を収集して（ステップＳ２３）、複数の仮想マシンが同一の仮想マシン上に起動されているか否かを判定する（ステップＳ２４）。ここで、起動された複数の仮想マシンが同一の物理マシン１０に起動されているか否かは、例えば文献（“Hey, You, Get Off of My Cloud : Exploring Information Leakage in Third-Party Compute Clouds” Thomas Ristenpart, et. al. CCS’09）に記載されたような方法を用いて、ＩＰアドレス等に基づいて判定することができる。仮想マシン選択部３５が、複数の仮想マシンが同一の物理マシン上に起動されていないと判定すれば（ステップＳ２４：ＮＯ）、起動させた全ての仮想マシンを停止し（ステップＳ２７）、ステップＳ２１に戻り、複数の仮想マシンを起動させ、同一の物理マシン１０上に仮想マシンが起動するまで処理を繰り返す。
【００２９】
仮想マシン選択部３５が、複数の仮想マシンが同一の物理マシン上に起動されていると判定すれば（ステップＳ２４：ＹＥＳ）、同一の物理マシン１０上で起動した複数の仮想マシンを選択してプログラムを実行させ（ステップＳ２５）、選択しなかった仮想マシンを停止させ（ステップＳ２６）、処理を終了する。
【００３０】
あるいは、物理マシン１０に起動させたい複数の仮想マシンが、協調して動作する複数のプログラムを実行する仮想マシンであり、これらの複数の仮想マシンにより多重化構成のシステムを構築しようとする場合、複数の仮想マシンが異なる物理マシン１０に起動すればその仮想マシンを選択し、冗長化構成のシステムを構築するようにしても良い。
【００３１】
なお、本実施形態で示した仮想マシン起動装置３０の機能を、仮想マシン配置装置２０が備えるようにして、ネットワークを介して接続されたユーザ端末から送信される情報に応じて動作するようにしても良い。
また、本実施形態では、仮想マシン起動装置３０の入力部３１に起動したい仮想マシンの台数が入力され、入力された台数を超える台数の仮想マシンの起動要求が仮想マシン配置装置２０に送信されるようにしたが、入力部３１に起動したい仮想マシンの台数を超える台数の起動要求が入力されるようにしても良い。この場合、起動要求送信部３２は入力部３１に入力された起動要求をそのまま仮想マシン配置装置２０に送信する。そして、測定部３４によって測定された測定結果が仮想マシン起動装置３０のディスプレイに表示されると、ユーザは表示された測定結果をみて、利用したい仮想マシンを選択し、利用しない仮想マシンの停止要求を入力部３１に入力する。仮想マシン起動装置３０は、入力された仮想マシンの停止要求を仮想マシン配置装置２０に送信して、選択されなかった仮想マシンを停止させる。
【００３２】
以上説明したように、本発明によれば、物理マシン１０に起動される仮想マシンの性能を確認しながら、最適な仮想マシンを選択してプログラムを実行して運用することができる。また、一定時間毎に性能を再測定して最適な仮想マシンを選択し直すことで、長期的に安定した性能の仮想マシンを利用することができる。
【００３３】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想マシンの起動要求を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３４】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００３５】
１  仮想マシン提供システム
１０  物理マシン
２０  仮想マシン配置装置
３０  仮想マシン起動装置
３１  入力部
３２  起動要求送信部
３３  測定結果記憶部
３４  測定部
３５  仮想マシン選択部
【図１】
0005577283.tif 000002
【図２】
0005577283.tif 000003
【図３】
0005577283.tif 000004
【図４】
0005577283.tif 000005
【図５】
0005577283.tif 000006