送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置であって、起動する仮想マシンの台数が含まれる起動要求が入力される入力部と、前記入力部に入力された前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信する起動要求送信部と、前記起動要求に応じて前記物理マシンに起動された複数の仮想マシンの性能を測定する測定部と、起動された複数の仮想マシンのうち、前記測定部が測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させる仮想マシン選択部と、を備えることを特徴とする仮想マシン起動装置。前記起動要求送信部は、予め定められた時間毎に、前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信することを特徴とする請求項1に記載の仮想マシン起動装置。送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置の仮想マシン起動方法であって、起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、入力された前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信するステップと、前記起動要求に応じて前記物理マシンに起動された複数の仮想マシンの性能を測定するステップと、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、を備えることを特徴とする仮想マシン起動方法。送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置のコンピュータに、起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、入力された前記起動要求に含まれる前記台数を超える台数の仮想マシンの起動要求を前記物理マシンに送信するステップと、前記起動要求に応じて前記物理マシンに起動された複数の仮想マシンの性能を測定するステップと、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、を実行させる仮想マシン起動プログラム。しかしながら、仮想化技術により複数の物理マシンに同様の性能の仮想マシンを複数起動させようとする場合、仮想マシンの性能に多少のバラツキが発生することが考えられる。例えば、仮想マシンが起動する物理マシンのコンピュータリソースのメーカや規格等の相違によって、多少の性能の違いが発生することが考えられる。あるいは、例えば同一の物理マシンに複数の仮想マシンが起動した場合、複数の仮想マシンが同一のハードウェアリソースを利用するため、ある仮想マシンの処理性能が、同一の物理マシンに起動された他の仮想マシンの稼働状況に影響を受ける場合があると考えられる。例えば、仮想マシンが頻繁にディスクI/OInputOutputを行えば、同一の物理マシンに起動している他の仮想マシンのディスクI/Oの処理性能が低下する場合があると考えられる。このような場合でも、ユーザにとっては、できるだけ性能が高い仮想マシンを利用することが望ましい。本発明は、このような状況に鑑みてなされたもので、仮想環境における仮想マシンを利用する際、最適な性能の仮想マシンを利用することを可能とする仮想マシン起動装置、仮想マシン起動方法、仮想マシン起動プログラムを提供する。上述した課題を解決するために、本発明は、送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置であって、起動する仮想マシンの台数が含まれる起動要求が入力される入力部と、入力部に入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信する起動要求送信部と、起動要求に応じて物理マシンに起動された複数の仮想マシンの性能を測定する測定部と、起動された複数の仮想マシンのうち、測定部が測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させる仮想マシン選択部と、を備えることを特徴とする。また、本発明は、起動要求送信部は、予め定められた時間毎に、起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信することを特徴とする。また、本発明は、送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置の仮想マシン起動方法であって、起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信するステップと、起動要求に応じて物理マシンに起動された複数の仮想マシンの性能を測定するステップと、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、を備えることを特徴とする。また、本発明は、送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置のコンピュータに、起動する仮想マシンの台数が含まれる起動要求が入力されるステップと、入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信するステップと、起動要求に応じて物理マシンに起動された複数の仮想マシンの性能を測定するステップと、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるステップと、を実行させる仮想マシン起動プログラムである。以上説明したように、本発明によれば、送信される仮想マシンの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動させる複数の物理マシンに接続された仮想マシン起動装置が、起動する仮想マシンの台数が含まれる起動要求の入力を受け付け、入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を物理マシンに送信し、起動要求に応じて物理マシンに起動された複数の仮想マシンの性能を測定し、起動された複数の仮想マシンのうち、測定した複数の仮想マシンの性能に基づいて選択される仮想マシンを除く仮想マシンを停止させるようにしたので、仮想環境における仮想マシンを利用する際、最適な性能の仮想マシンを利用することができる。以下、本発明の一実施形態について、図面を参照して説明する。図1は、本実施形態による仮想マシン起動装置30を備えた仮想マシン提供システム1の構成を示すブロック図である。仮想マシン提供システム1は、仮想マシン起動装置30の他に、物理マシン10-1、物理マシン10-2、物理マシン10-3、と、仮想マシン配置装置20とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワークを介して接続されている。複数の物理マシン10は同様の構成であり、特に区別しない場合には-1、-2等を省略して物理マシン10として説明する。仮想マシン提供システム1は、仮想マシン起動装置30からの仮想マシンの起動要求に応じて、複数の物理マシン10によって構成される仮想環境に仮想マシンを起動させ、ネットワークを介して仮想マシンを利用させるリソース提供サービスを提供する。このようなサービスはクラウドサービスなどとも呼ばれるものである。物理マシン10は、自身のコンピュータリソースを仮想化し、複数の仮想マシンを起動させる仮想化機能を備えるコンピュータ装置である。物理マシン10は、仮想マシン配置装置20を介して送信される仮想マシン起動装置30からの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動する。ここで、物理マシン10は、予め定められた仮想マシンの性能に応じたサイズ単位に自身のコンピュータリソースを仮想化して複数区画に区切り、区切った区画毎に仮想マシンを起動させる。例えば、S、M、Lなどの仮想マシンのサイズを予め定め、CPUCentralProcessingUnit処理速度、メモリ容量、ディスク容量等の性能に基づいて、より性能の高い仮想マシンをL、Lの仮想マシンより性能の低い仮想マシンをM、Mの仮想マシンより性能の低い仮想マシンをSとする。物理マシン10は、起動する仮想マシンのサイズを指定した情報が含まれる起動要求を受信し、受信した起動要求に含まれるサイズに応じた仮想マシンを起動する。また、物理マシン10は、仮想マシン配置装置20からの仮想マシンの停止要求に応じて、自身のコンピュータリソース上に起動した仮想マシンを停止させる。このように、物理マシン10は予め定められたサイズに応じた性能の仮想マシンを起動するが、複数の物理マシン10の間では、ハードウェアメーカや規格等の相違、あるいは同一の物理マシン10上に起動している他の仮想マシンの稼働状況によって、実際に起動する仮想マシンの性能には多少のバラツキが発生することが考えられる。仮想マシン配置装置20は、仮想マシン起動装置30から送信される仮想マシンの起動要求に応じて、複数の物理マシン30のいずれかに仮想マシンを起動させるクラウド管理装置である。例えば、仮想マシン配置装置20は、複数の物理マシン10毎に、その物理マシン10に起動される仮想マシンのサイズ、起動可能な仮想マシンの台数等の情報を自身の記憶領域に記憶しておく。また、仮想マシン配置装置20は、どの物理マシン10に何台の仮想マシンが起動させたかを示す情報を自身の記憶領域に記憶しておく。仮想マシン配置装置20は、このような情報を参照して、仮想マシン起動装置30から送信される起動要求に含まれる仮想マシンのサイズに応じた空きのある物理マシン10を判定し、判定した物理マシン10に起動要求を送信して仮想マシンを起動させる。また、仮想マシン配置装置20は、起動させた仮想マシンの識別情報を、起動要求元の仮想マシン起動装置30に送信する。仮想マシンの識別情報は、例えばIPInternetProtocolアドレス等が適用できる。仮想マシン起動装置30は、ネットワークを介して仮想マシン配置装置20や複数の物理マシン10に接続されたコンピュータ装置である。仮想マシン起動装置30は、例えば物理マシン10に仮想マシンを起動させて利用したいユーザのユーザ端末であっても良いし、ユーザのローカル環境に設置されたコンピュータ装置であっても良い。あるいは、物理マシン10上に起動した仮想マシンを、仮想マシン起動装置30として機能させるようにしても良い。ユーザは、物理マシン10上に起動した仮想マシンを、PCPersonalComputer等の自身のユーザ端末から接続して利用することができる。ここでは、1台の仮想マシン起動装置30を示して説明するが、仮想マシン提供システム1には複数のユーザの複数の仮想マシン起動装置30が接続されていて良い。仮想マシン起動装置30は、入力部31と、起動要求送信部32と、測定結果記憶部33と、測定部34と、仮想マシン選択部35とを備えている。入力部31には、起動する仮想マシンの台数が含まれる起動要求が入力される。例えば、入力部31は、キーボードやマウス等の入力デバイスである。起動要求送信部32は、入力部31に入力された起動要求に含まれる台数を超える台数の仮想マシンの起動要求を、仮想マシン配置装置20を介して物理マシン10に送信する。例えば、入力部31に1台の仮想マシンの起動要求が入力された場合に、5台の仮想マシンの起動要求を仮想マシン配置装置20に送信する。測定結果記憶部33には、起動要求送信部32が物理マシン10に送信した起動要求によって物理マシン10に起動された複数の仮想マシン毎に測定された性能情報が記憶される。図2は、測定結果記憶部33に記憶された性能情報のデータ例を示す図である。測定結果記憶部33には、仮想マシンを識別する仮想マシンID毎に、CPU、メモリ、IO、ネットワーク等の性能情報と、その仮想マシンが起動された物理マシンの識別情報が対応付けられて記憶される。例えば、仮想マシンIDが仮想マシン1である仮想マシンは、CPU性能が100.5MIPSmillioninstructionspersecond、メモリ性能が7.5GbpsGigabitpersecond、ディスクIOInputOutput性能が290.1MbpsMegabitpersecond、ネットワークIO性能が200.4Mbpsであり、物理マシン識別情報が物理マシン120である物理マシン10に起動されて収納されていることを示す。測定部34は、起動要求送信部32が物理マシン10に送信した起動要求によって物理マシン10に起動された複数の仮想マシン毎の性能を測定し、測定結果を測定結果記憶部33に記憶させる。ここで、測定部34は、例えば予め自身の記憶領域に記憶している性能測定プログラムベンチマークプログラムを実行することにより、仮想マシンの性能を測定することができる。ベンチマークプログラムとしては、例えば、CPU性能を測定するlperfex、ディスク性能を測定するhdparm、ネットワーク性能を測定するNetPIPE等を適用することができる。また、測定部34は、仮想マシンが起動している物理マシン10を識別できる場合には、その物理マシン10の識別情報を取得して測定結果記憶部33に記憶させる。仮想マシン選択部35は、起動された複数の仮想マシンのうち、測定部34が測定した複数の仮想マシンの性能に基づいて最も性能の高い仮想マシンを選択し、選択した仮想マシンを除く仮想マシンを停止させる。ここで、仮想マシン選択部35は、測定結果記憶部33に記憶された複数の仮想マシンの性能情報を読み出し、読み出した複数の仮想マシンの性能情報を比較する。そして、仮想マシン選択部35は、例えばCPU、メモリ、IO、ネットワークの性能の種別のうち、定められたいずれかの種別の値を比較して、最も値の高い仮想マシンを判定し、最も性能の高い仮想マシンとして選択する。ここで、いずれの性能の種別を比較対象とするかは、仮想マシン起動装置30から送信される起動要求に、比較対象とする種別を示す情報が含まれるようにしても良い。あるいは、例えば測定結果記憶部33に記憶されている性能情報を仮想マシン起動装置30が備えるディスプレイに表示させ、いずれの仮想マシンを選択するかをユーザに選択させ、選択された仮想マシンが入力部31に入力されるようにしても良い。仮想マシン選択部35は、このように選択された仮想マシンに、動作させたいウェブサーバ等のプログラムを実行させ、その他の仮想マシンを停止させる。これにより、ユーザは、自身が利用したいサイズの複数の仮想マシンのうち、最も性能の高い仮想マシンを利用することができる。次に、本実施形態による仮想マシン起動装置30を備えた仮想マシン提供システム1の動作例を説明する。図3は、仮想マシン起動装置30の動作例を示すフローチャートである。仮想マシン起動装置30の入力部31に、起動したい仮想マシンの台数を含む起動要求が入力されるとステップS1、起動要求送信部32は、入力部31に入力された仮想マシンの台数を超える複数の仮想マシンの起動要求を、仮想マシン配置装置20に送信するステップS2。仮想マシン配置装置20は、仮想マシン起動装置30の起動要求送信部32から送信された仮想マシンの起動要求に基づいて、複数の物理マシン10のうち仮想マシンを起動させる物理マシン10を判定し、判定した物理マシン10に起動要求を送信して仮想マシンを起動させる。仮想マシン配置装置20は、物理マシン10に仮想マシンを起動させると、起動させた仮想マシンの識別情報を仮想マシン起動装置30に送信する。仮想マシン起動装置30が、仮想マシン配置装置20から送信された仮想マシンの識別情報を受信すると、測定部34は、受信した仮想マシンの識別情報に基づいて仮想マシンに接続し、性能測定プログラムを実行して仮想マシンの性能を測定しステップS4、測定結果を測定結果記憶部33に記憶させるステップS5。仮想マシン選択部35は、測定結果記憶部33に記憶された測定結果を読み出して比較し、最も性能の高い仮想マシンを選択し、選択した仮想マシンにウェブサーバ等のプログラムを実行させるステップS6。そして、仮想マシン選択部35は、選択しなかった仮想マシンの停止要求を仮想マシン配置装置20に送信するステップS7。仮想マシン配置装置20は、仮想マシン起動装置30から送信された停止要求を受信すると、対応する物理マシン10に仮想マシンの停止要求を送信し、仮想マシンを停止させる。ここで、物理マシン10に起動させた仮想マシンを長期的に利用する場合等には、時間の経過とともに環境が変化し、仮想マシンの性能が変化することがあると考えられる。そこで、仮想マシン起動装置30が、定められた時間毎に、再度複数の仮想マシンを起動させて性能を測定し、既に起動した仮想マシンよりも性能の高い新たな仮想マシンがあれば、既に起動した仮想マシンを停止して新たな仮想マシンにてプログラムを実行させるようにしても良い。図4は、このような仮想マシン起動装置30の動作例を示す図である。例えば、仮想マシン起動装置30は、自身の記憶領域に、性能の再計測を行う時間間隔を予め記憶しておき、自身が備える計時機能により計測した現在時刻と再計測時間とを比較して、現在時刻が再計測時間を超えたか否かを判定するステップS11。現在時刻が再計測時間を超えていないと判定すればステップS11:NO、ステップS11の処理を繰り返す。現在時刻が再計測時間を超えていると判定すればステップS11:YES、既に起動されている仮想マシンと同サイズの複数の仮想マシンの起動要求を、仮想マシン配置装置20に送信するステップS12。そして、仮想マシン配置装置20から送信される、新たに起動された仮想マシンの識別情報を受信するステップS13。仮想マシン起動装置30の測定部34は、新たに起動された仮想マシンの性能を測定しステップS14、測定結果を測定結果記憶部33に記憶させるステップS15。仮想マシン選択部35は、新たに起動した仮想マシンの中に、既に起動している仮想マシンの性能を超えるものが存在するか否かを判定するステップS16。仮想マシン選択部35は、新たに起動した仮想マシンの中に、既に起動している仮想マシンの性能を超えるものが存在しないと判定するとステップS16:NO、ステップS11に戻る。新たに起動した仮想マシンの中に、既に起動している仮想マシンの性能を超えるものが存在すると判定するとステップS16:YES、その新たな仮想マシンでプログラムを実行させるステップS17。そして、既に起動していた仮想マシンを停止させステップS18、選択しなかった仮想マシンを停止させるステップS19。また、物理マシン10に起動させたい複数の仮想マシンが、協調して動作する複数のプログラムを実行する仮想マシンであり、例えばその複数の仮想マシン間で行う通信の速度が速いことが要求されるような場合には、起動させる複数の仮想マシンが、同一の物理マシン10に起動した場合に、その仮想マシンを選択するようにしても良い。図5は、このような仮想マシン起動装置30の動作例を示す図である。仮想マシン起動装置30の入力部31に、起動したい複数の仮想マシンの起動要求が入力されるとステップS21、起動要求送信部32は、入力部31に入力された仮想マシンの台数を超える複数の仮想マシンの起動要求を、仮想マシン配置装置20に送信するステップS22。仮想マシン配置装置20は、起動された仮想マシンの情報を収集してステップS23、複数の仮想マシンが同一の仮想マシン上に起動されているか否かを判定するステップS24。ここで、起動された複数の仮想マシンが同一の物理マシン10に起動されているか否かは、例えば文献HeyYouGetOffofMyCloudExploringInformationLeakageinThirdPartyComputeCloudsThomasRistenpartetalCCS’09に記載されたような方法を用いて、IPアドレス等に基づいて判定することができる。仮想マシン選択部35が、複数の仮想マシンが同一の物理マシン上に起動されていないと判定すればステップS24:NO、起動させた全ての仮想マシンを停止しステップS27、ステップS21に戻り、複数の仮想マシンを起動させ、同一の物理マシン10上に仮想マシンが起動するまで処理を繰り返す。仮想マシン選択部35が、複数の仮想マシンが同一の物理マシン上に起動されていると判定すればステップS24:YES、同一の物理マシン10上で起動した複数の仮想マシンを選択してプログラムを実行させステップS25、選択しなかった仮想マシンを停止させステップS26、処理を終了する。あるいは、物理マシン10に起動させたい複数の仮想マシンが、協調して動作する複数のプログラムを実行する仮想マシンであり、これらの複数の仮想マシンにより多重化構成のシステムを構築しようとする場合、複数の仮想マシンが異なる物理マシン10に起動すればその仮想マシンを選択し、冗長化構成のシステムを構築するようにしても良い。なお、本実施形態で示した仮想マシン起動装置30の機能を、仮想マシン配置装置20が備えるようにして、ネットワークを介して接続されたユーザ端末から送信される情報に応じて動作するようにしても良い。また、本実施形態では、仮想マシン起動装置30の入力部31に起動したい仮想マシンの台数が入力され、入力された台数を超える台数の仮想マシンの起動要求が仮想マシン配置装置20に送信されるようにしたが、入力部31に起動したい仮想マシンの台数を超える台数の起動要求が入力されるようにしても良い。この場合、起動要求送信部32は入力部31に入力された起動要求をそのまま仮想マシン配置装置20に送信する。そして、測定部34によって測定された測定結果が仮想マシン起動装置30のディスプレイに表示されると、ユーザは表示された測定結果をみて、利用したい仮想マシンを選択し、利用しない仮想マシンの停止要求を入力部31に入力する。仮想マシン起動装置30は、入力された仮想マシンの停止要求を仮想マシン配置装置20に送信して、選択されなかった仮想マシンを停止させる。以上説明したように、本発明によれば、物理マシン10に起動される仮想マシンの性能を確認しながら、最適な仮想マシンを選択してプログラムを実行して運用することができる。また、一定時間毎に性能を再測定して最適な仮想マシンを選択し直すことで、長期的に安定した性能の仮想マシンを利用することができる。なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想マシンの起動要求を行ってもよい。なお、ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものとする。また、コンピュータシステムは、ホームページ提供環境あるいは表示環境を備えたWWWシステムも含むものとする。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリRAMのように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク通信網や電話回線等の通信回線通信線のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。