"複数の物理マシンにおいて複数の仮想マシンが動作する仮想マシンシステムを管理する仮想マシン管理装置であり、各物理マシンについて、使用されていないリソースの量であるリソース残量を計測する残量計測部と、各仮想マシンについて、その仮想マシンが使用しているリソースの量であるリソース使用量を計測する使用量計測部と、いずれかの物理マシンでリソース不足が発生した場合、前記残量計測部が計測したリソース残量が所定量以上ある物理マシンを特定物理マシンとして特定する物理マシン特定部と、前記使用量計測部が計測したリソース使用量であって、前記リソース不足が発生した物理マシンである不足マシンで動作する仮想マシンのリソース使用量に基づき、前記不足マシンで動作する仮想マシンから、前記物理マシン特定部が特定した特定物理マシンで動作させた場合にリソースの競合が発生する可能性が低い仮想マシンを特定仮想マシンとして特定する仮想マシン特定部と、前記仮想マシン特定部が特定した特定仮想マシンを、前記不足マシンで動作させるのを止め、前記特定物理マシンで動作させる仮想マシン移動部とを備えることを特徴とする仮想マシン管理装置。前記仮想マシン特定部は、前記不足マシンで動作する仮想マシンのうち、前記不足マシンで動作する仮想マシン間で共有して使用しているメモリの量である共有量が少ない仮想マシンを、前記特定仮想マシンとして特定することを特徴とする請求項1に記載の仮想マシン管理装置。前記仮想マシン管理装置は、さらに、前記複数の仮想マシンを、提供する機能毎にグループ分けしたグループ情報を記憶したグループ情報記憶部を備え、前記仮想マシン特定部は、前記グループ情報記憶部が記憶したグループ情報を参照して、前記不足マシンで動作する仮想マシンのうち、前記共有量が少ない仮想マシンであって、前記特定物理マシンで同一のグループに属する仮想マシンが動作している仮想マシンを、前記特定仮想マシンとして特定することを特徴とする請求項2に記載の仮想マシン管理装置。前記仮想マシン特定部は、前記不足マシンで動作する仮想マシンのうち、CPU使用率と、その仮想マシンに割り当てられたCPU数との積である使用CPU周波数が小さい仮想マシンを、前記特定仮想マシンとして特定することを特徴とする請求項1に記載の仮想マシン管理装置。前記仮想マシン管理装置は、さらに、仮想マシンに割り当てられるCPU数に応じた係数を記憶した係数記憶部を備え、前記仮想マシン特定部は、前記不足マシンで動作する仮想マシンのうち、前記係数記憶部が記憶した係数であって、その仮想マシンに割り当てられたCPU数に対する係数を、前記使用CPU周波数に掛けた値が小さい仮想マシンを、前記特定仮想マシンとして特定することを特徴とする請求項4に記載の仮想マシン管理装置。前記残量計測部は、複数の種類のリソースの各リソースについてのリソース残量を計測し、前記使用量計測部は、前記各リソースについてのリソース使用量を計測し、前記物理マシン特定部は、前記複数の種類のリソースのうち、いずれかのリソースのリソース残量が閾値以下になるリソース不足が発生した場合、そのリソースのリソース残量が所定量以上ある物理マシンを、前記特定物理マシンとして特定し、前記仮想マシン特定部は、前記不足マシンで動作する仮想マシンのうち、前記各リソースのリソース使用量について、リソース毎に重み付けして所定の計算をして得られる値の和が小さい仮想マシンを、前記特定仮想マシンとして特定することを特徴とする請求項1に記載の仮想マシン管理装置。複数の物理マシンにおいて複数の仮想マシンが動作する仮想マシンシステムを管理する仮想マシン管理方法であり、処理装置が、各物理マシンについて、使用されていないリソースの量であるリソース残量を計測する残量計測工程と、処理装置が、各仮想マシンについて、その仮想マシンが使用しているリソースの量であるリソース使用量を計測する使用量計測工程と、処理装置が、いずれかの物理マシンでリソース不足が発生した場合、前記残量計測工程で計測したリソース残量が所定量以上ある物理マシンを特定物理マシンとして特定する物理マシン特定工程と、処理装置が、前記使用量計測工程で計測したリソース使用量であって、前記リソース不足が発生した物理マシンである不足マシンで動作する仮想マシンのリソース使用量に基づき、前記不足マシンで動作する仮想マシンから、前記物理マシン特定工程で特定した特定物理マシンで動作させた場合にリソースの競合が発生する可能性が低い仮想マシンを特定仮想マシンとして特定する仮想マシン特定工程と、処理装置が、前記仮想マシン特定工程で特定した特定仮想マシンを、前記不足マシンで動作させるのを止め、前記特定物理マシンで動作させる仮想マシン移動工程とを備えることを特徴とする仮想マシン管理方法。複数の物理マシンにおいて複数の仮想マシンが動作する仮想マシンシステムを管理する仮想マシン管理プログラムであり、各物理マシンについて、使用されていないリソースの量であるリソース残量を計測する残量計測処理と、各仮想マシンについて、その仮想マシンが使用しているリソースの量であるリソース使用量を計測する使用量計測処理と、いずれかの物理マシンでリソース不足が発生した場合、前記残量計測処理で計測したリソース残量が所定量以上ある物理マシンを特定物理マシンとして特定する物理マシン特定処理と、前記使用量計測処理で計測したリソース使用量であって、前記リソース不足が発生した物理マシンである不足マシンで動作する仮想マシンのリソース使用量に基づき、前記不足マシンで動作する仮想マシンから、前記物理マシン特定処理で特定した特定物理マシンで動作させた場合にリソースの競合が発生する可能性が低い仮想マシンを特定仮想マシンとして特定する仮想マシン特定処理と、前記仮想マシン特定処理で特定した特定仮想マシンを、前記不足マシンで動作させるのを止め、前記特定物理マシンで動作させる仮想マシン移動処理とをコンピュータに実行させることを特徴とする仮想マシン管理プログラム。特許文献1に記載された方法では、SLAのみでリソースの割り当てを判定しているため、アプリケーション間でSLAに差がなければ有効に機能しない。したがって、前記相反する2つの要求を満足させることはできない。この発明は、複数の物理マシンを用いて複数の仮想マシンが動作している仮想マシンシステムにおいて、いずれかの物理マシンにリソース不足が発生した場合に、適切にリソース不足を解消することを目的とする。この発明に係る仮想マシン管理装置は、複数の物理マシンにおいて複数の仮想マシンが動作する仮想マシンシステムを管理する仮想マシン管理装置であり、各物理マシンについて、使用されていないリソースの量であるリソース残量を計測する残量計測部と、各仮想マシンについて、その仮想マシンが使用しているリソースの量であるリソース使用量を計測する使用量計測部と、いずれかの物理マシンでリソース不足が発生した場合、前記残量計測部が計測したリソース残量が所定量以上ある物理マシンを特定物理マシンとして特定する物理マシン特定部と、前記使用量計測部が計測したリソース使用量であって、前記リソース不足が発生した物理マシンである不足マシンで動作する仮想マシンのリソース使用量に基づき、前記不足マシンで動作する仮想マシンから、前記物理マシン特定部が特定した特定物理マシンで動作させた場合にリソースの競合が発生する可能性が低い仮想マシンを特定仮想マシンとして特定する仮想マシン特定部と、前記仮想マシン特定部が特定した特定仮想マシンを、前記不足マシンで動作させるのを止め、前記特定物理マシンで動作させる仮想マシン移動部とを備えることを特徴とする。この発明に係る仮想マシン管理装置では、リソース不足が発生した物理マシンにおいて動作する仮想マシンのうち、特定物理マシンへ移動させてもリソースの競合が発生する可能性の低い仮想マシンを特定して、特定物理マシンへ移動させる。そのため、仮想マシンを移動させることによる移動先の物理マシンへの影響を抑えつつ、リソース不足が発生した物理マシンのリソース不足を解消することができる。以下、図に基づき発明の実施の形態について説明する。なお、以下の説明において、処理装置は後述するCPU911等であり、記憶装置は後述するROM913、RAM914、磁気ディスク装置920等である。つまり、処理装置や記憶装置はハードウェアである。実施の形態1.実施の形態1では、仮想マシン3間で共有しているメモリ量を利用して、移動させる仮想マシン3を特定する方法について説明する。図1は、実施の形態1に係る仮想マシンシステム100の構成図である。仮想マシンシステム100は、複数の物理マシン1物理マシン1a,1b,...を備える。各物理マシン1では、仮想マシン3を動作させる環境を提供する仮想化ソフトウェア2仮想化ソフトウェア2a,2b,...が動作している。そして、各仮想化ソフトウェア2では、サーバ機能やデスクトップ機能を提供する複数の仮想マシン3が動作している。また、仮想マシンシステム100は、各物理マシン1と通信回線4を介して接続された仮想マシン管理装置5を備える。さらに、仮想マシンシステム100は、各物理マシン1と通信回線6を介して接続されたストレージ7を備える。通信回線4は、例えばイントラネット、LANLocalAreaNetwork等のネットワークである。ここでは1本のネットワークで記載しているが、管理用のネットワークや業務用のネットワークなどで複数用意することも可能である。仮想マシン管理装置5は、物理マシン1で動作する仮想マシン3を管理する装置である。通信回線6は、例えばFCFibreChannel、LAN等のストレージ7にアクセスするためのストレージネットワークである。ストレージ7は、仮想マシン3のディスクイメージを格納する記憶装置である。仮想マシン管理装置5は、グループ管理部11、リソース監視部12使用量計測部、移動対象選定部13、仮想マシン移動部14、リソース使用情報記憶部15、グループ管理テーブル16グループ情報記憶部を備える。グループ管理部11は、グループ管理部11は、OSOperatingSystem、ミドルウェア、アプリケーション等の共通の構成要素を持つ仮想マシン3が同じグループになるように、仮想マシン3を処理装置によりグループ分けする。そして、グループ管理部11は、各グループを示すグループ情報をグループ管理テーブル16に格納する。リソース監視部12は、各物理マシン1や各仮想マシン3の構成情報やリソース使用情報を定期的に収集し、リソース使用情報記憶部15に格納する。また、リソース監視部12は、予め設定された閾値や、収集したリソース使用情報に基づき、物理マシン1でリソース不足が発生していないか処理装置によりチェックする。移動対象選定部13は、ある物理マシン1不足マシンにリソース不足が発生した場合に、不足マシンで動作するどの仮想マシン3を、不足マシン以外のどの物理マシン1へ移動させるかを処理装置により決定する。移動対象選定部13は、各物理マシン1について、使用されていないリソースの量である空きリソースリソース残量を計測する残量計測部131と、移動先の物理マシン1を移動先物理マシン特定物理マシンとして特定する物理マシン特定部132と、移動させる仮想マシン3を移動対象仮想マシン特定仮想マシンとして特定する仮想マシン特定部133とを備える。仮想マシン移動部14は、仮想マシン特定部133が特定した移動対象仮想マシンを物理マシン特定部132が特定した移動先物理マシンへ処理装置により移動させることにより、不足マシンのリソース不足を解消する。つまり、仮想マシン移動部14は、不足マシンで特定仮想マシンを動作させるのを止め、特定物理マシンで特定仮想マシンを動作させる。これにより、不足マシンで動作する仮想マシン3を減らして、不足マシンのリソース不足を解消する。リソース使用情報記憶部15は、リソース監視部12が収集した各物理マシン1や各仮想マシン3のリソース使用情報が格納される記憶装置である。グループ管理テーブル16は、グループ管理部11が設定したグループ情報が格納される記憶装置である。図2は、実施の形態1に係るグループ管理テーブル16に格納されたグループ情報の例を示す図である。グループ管理テーブル16には、グループ名16-1、仮想マシン名16-2、稼働物理マシン名16-3の情報が格納される。グループ名16-1は、グループの識別情報である。ここでは、サービス事業者が複数の企業に対して仮想マシン3のリソースを提供している形態を示しており、A社デスクトップやA社Webサーバ等のグループ名を付与している。仮想マシン名16-2は、グループ名16-1が示すグループに属する仮想マシン3の識別情報である。稼動物理マシン名16-3は、仮想マシン名16-2が示す仮想マシン3が稼動している物理マシン1の識別情報である。図3は、実施の形態1に係るリソース監視部12の動作を示すフローチャートである。ST101リソース監視部12は、各物理マシン1で使用されているリソースの情報や、各仮想マシン3が使用しているリソースの情報等の各物理マシン1や各仮想マシン3のリソース使用に関する情報であるリソース使用情報の収集を定期的に行う。なお、収集される情報は、CPU使用率、CPU数、CPU動作周波数、CPU処理待ち時間、メモリ割当量、メモリ使用量、メモリ共有利用量、スワップ発生状況、ネットワーク使用量、ストレージネットワーク使用量等である。収集する情報は、リソース不足の発生を判定できる情報であれば、前記に限ったものではない。ST102リソース監視部12は、ST101で収集した情報を、リソース使用情報記憶部15に格納する。ST103リソース監視部12は、ST102で格納されたリソース使用に関する情報に基づき、いずれかの物理マシン1で何らかのリソースに不足が発生しているか否かを判定する。なお、リソース不足が発生しているか否かは、例えば物理マシン1のCPU使用率が予め設定された閾値を超えているか否か、CPU処理待ち時間が所定の時間以上となっているか否か、スワップの発生頻度が閾値以上であるか否か等の方法で判定する。リソース監視部12は、リソース不足が発生していると判定した場合ST103でYES、処理をST104へ進める。一方、リソース監視部12は、リソース不足が発生していないと判定した場合ST103でNO、処理をST101へ進める。ST104リソース監視部12は、リソース不足が発生していると判定すると、リソース不足を解消するため、移動対象選定部13へ不足したリソースの種別メモリやCPU等を通知する。図4は、実施の形態1に係る移動対象選定部13の動作を示すフローチャートである。ST201残量計測部131は、ST104でリソース監視部12から通知を受け付けると、リソース使用情報記憶部15に蓄積されているリソース使用情報を読み込む。そして、移動対象選定部13は、各物理マシン1のCPU、メモリ、ネットワーク、ストレージネットワークの各空きリソースを計算する。例えば、CPUの空き容量は、1-CPU使用率/100×物理コアの周波数×コア数等の計算によって導出する。CPU使用率が70で、物理コアの周波数が2GHz、コア数が8の場合は、0.3×2000×8=4800MHzとなる。なお、CPU使用率として利用する値は、過去からの平均、移動平均、ピーク値、パーセンタイル値、最新値などからシステムにおいて最適なものを利用すればよく、特に限定はない。図5は、残量計測部131が各物理マシン1の空きリソース情報をまとめた例を示す図である。ST202物理マシン特定部132は、リソース監視部12が通知してきたリソース種別の空きリソースが最も大きい物理マシン1を移動先物理マシンとして導出する。例えば、図5の空きリソースを導出した結果で、不足したリソースがメモリだった場合、メモリ空きリソースが最も大きいSrv02が移動先物理マシンとして導出される。不足リソースがCPUだった場合、CPU空きリソースが最も大きいSrv03が移動先物理マシンとして導出される。ST203仮想マシン特定部133は、リソース不足が発生している物理マシン1上で稼動しているすべての仮想マシン3のメモリ共有の状況をリソース使用情報記憶部15から取得し、メモリ共有の度合いが低い共有しているメモリ領域の小さいものから順に並べる。そして、先頭の共有しているメモリ領域が最も小さい仮想マシン3を選択する。図6は、仮想マシン3のメモリの利用状況を概念的に示した図である。例えば、図6の場合、仮想マシンA、仮想マシンB共に2GBのメモリが割り当てられていて、それぞれ実際に使用しているメモリ量が1.2GBである。使用しているメモリ量1.2GBのうち、仮想マシンAは400MB分が他の仮想マシン3と同じメモリ領域を使用しているのに対し、仮想マシンBは、250MB分が他の仮想マシン3と同じメモリ領域を使用している。従って、メモリ共有の度合いが低いものから順に並べると仮想マシンB、仮想マシンAの順番になる。他に仮想マシン3が動作しており、共有しているメモリ領域は仮想マシンA,B以外の他の仮想マシン3とも共有していると仮定すると、仮想マシンAを別の物理マシン1に移動させると、800MBの空き容量ができることになる。一方、仮想マシンBを別の物理マシン1に移動させると、950MBの空き容量ができることになる。つまり、仮想マシンBを移動させた方が、多くの空き容量ができる。ST204仮想マシン特定部133は、グループ管理テーブル16を参照して、ST203で選択した仮想マシン3と同じグループに属する仮想マシン3が、ST202で導出した移動先物理マシンで稼動しているか否かを判定する。このような判定を行うのは、移動先物理マシンで同一のグループに属している仮想マシン3が稼働している場合、ST204で選択した仮想マシン3を移動先物理マシンへ移動させると、多くのメモリを共有できると認められるためである。仮想マシン特定部133は、同一グループに属する仮想マシン3が稼動している場合ST204でYES、ST205へ処理を進める。一方、移動対象選定部13は、同一グループに属する仮想マシン3が稼動していない場合ST204でNO、ST206へ処理を進める。ST205仮想マシン特定部133は、選択した仮想マシン3を移動対象仮想マシンとして導出する。ST206仮想マシン特定部133は、ST203で並べた仮想マシン3に、まだ選択されていない仮想マシン3があるか否かを判定する。移動対象選定部13は、選択されていない仮想マシン3がある場合ST206でYES、選択されていない仮想マシン3のうち、先頭の共有しているメモリ領域が最も小さい仮想マシン3を選択して、処理をST204へ戻す。一方、移動対象選定部13は、選択されていない仮想マシン3がない場合ST206でNO、処理をST207へ進める。ST207仮想マシン特定部133は、最も共有しているメモリ領域が最も小さい仮想マシン3、つまり初めにST203で選択した仮想マシン3を移動対象仮想マシンとして導出する。ST208移動対象選定部13は、移動対象仮想マシンの導出が完了すると、仮想マシン移動部14に通知する。なお、通知を受けた仮想マシン移動部14は、ST205又はST207で導出された移動対象仮想マシンを、ST202で導出された移動先物理マシンに移動させることでリソース不足の解消を行う。また、仮想マシン移動部14にて仮想マシン3を別の物理マシン1に移動した場合は、グループ管理部11が稼動物理マシン名16-3の内容を更新する。もし、1つの仮想マシン3を移動させてもリソース不足が解消しない場合には、再びST104で移動対象選定部13へ通知され、他の仮想マシン3の移動がされる。つまり、繰り返し仮想マシン3の移動がされることにより、リソース不足が解消される。以上のように、実施の形態1に係る仮想マシン管理装置5は、リソース不足が発生した場合、複数の仮想マシン3間で共有しているメモリ量に基づき、移動させる仮想マシン3を選択する。また、実施の形態1に係る仮想マシン管理装置5は、特に、移動先でのメモリ共有が実施できる可能性が高い仮想マシン3を選択する。これにより、リソース不足が発生している物理マシン1のリソース不足を解消できるとともに、移動先の物理マシン1で移動してきた仮想マシン3が専有するメモリ量を抑えることができる。そのため、仮想マシン3を移動させることに伴い、移動先の物理マシン1でリソース不足が発生するリスクを抑えることができる。その結果、リソース不足発生に伴う顧客への影響を抑えることが可能となる。また、リソースの共有利用を前提とした仮想マシン3の配置が可能となるため、1台の物理マシン1で稼動させることができる仮想マシン3の台数を増やすことが可能となる。そのため、必要な物理マシン1の台数を削減することができ、仮想マシン3を提供する事業者のコスト削減を実現することが可能となる。なお、上記説明では、図6に示すように、仮想マシンAと仮想マシンBとは、使用しているメモリ量が同じであるとした。しかし、仮想マシン特定部133は、使用しているメモリ量が異なる場合であっても、使用しているメモリ量に関わらず、共有しているメモリ領域の大きさで、どの仮想マシン3を移動させるかを判定する。これは、各仮想サーバが使用しているメモリ量は時々刻々と変わってしまうため、不足が生じた時点において使用しているメモリ量で判定すると、実態と合わない可能性があるためである。共有しているメモリ領域の大きさも、時々刻々と変化する可能性もあるが、共有しているメモリ領域はOS等によって使用されている部分であり、変化率は小さいものと考えられる。そこで、移動対象選定部13は、使用しているメモリ量に関わらず、共有しているメモリ領域の大きさで、どの仮想マシン3を移動させるかを判定する。実施の形態2.実施の形態2では、仮想マシン3で使用しているCPUの使用動作周波数を利用して、移動させる仮想マシン3を特定する方法について説明する。図7は、実施の形態2に係る仮想マシンシステム100の構成図である。実施の形態2に係る仮想マシンシステム100は、各仮想マシン3に割り当てられているCPU数に応じて、周波数の値を変換するための変換係数が格納された記憶装置である係数記憶部17が追加されている点が図1に示す仮想マシンシステム100と異なる。図8は、実施の形態2に係る係数記憶部17に格納された情報の例を示す図である。係数記憶部17には、割当CPU数17-1、係数17-2の情報が格納される。割当CPU数17-1は、各仮想マシン3に割り当てられているCPU数である。係数17-2は、割り当てられているCPU数に応じ、総使用周波数に掛ける係数である。図8に示すように、割り当てられているCPU数が多いほど、総使用周波数に掛ける係数は大きくなる。図9は、実施の形態2に係る移動対象選定部13の動作を示すフローチャートである。ST301からST302までは、図4に示すST201からST202までと同じである。ST303仮想マシン特定部133は、リソース不足が発生している物理マシン1上で稼動しているすべての仮想マシン3のCPUの総使用周波数をリソース使用情報記憶部15から取得し、係数記憶部17の係数を掛け合わせる。そして、移動対象選定部13は、計算された値が最も低いものを移動対象仮想マシンとして導出する。割り当てられているCPU数が多いほど、総使用周波数に掛ける係数は大きいため、ほぼ同じ動作周波数の仮想マシン3であっても割り当てられているコア数の少ない仮想マシン3が移動対象仮想マシンとして導出される。例えば、CPU使用率/100×物理コアの周波数×割当CPU数×係数などの計算によって値を導出する。CPU使用率が70で、物理コアの周波数が2GHz、割当CPU数が2の場合は、0.7×2000×2×1.2=3360となる。ST304は、図4に示すST208と同じである。以上のように、実施の形態2に係る仮想マシン管理装置5は、リソース不足が発生した場合に、利用している周波数のみでなく、割り当てられているCPU数を考慮して、移動させる仮想マシン3を選択する。これにより、ほぼ同じ動作周波数の仮想マシン3であっても割り当てられているコア数の少ない仮想マシン3が移動対象として導出されることになる。そのため、移動先の物理マシン1で移動した仮想マシン3が動作する際に専有するコア数が少なくなり、元々動作していた仮想マシン3の動作への影響を抑えることができる。その結果、リソース不足発生に伴う顧客への影響を抑えることが可能となる。実施の形態3.実施の形態1では、共有しているメモリ量を利用して、移動させる仮想マシン3を特定した。また、実施の形態2では、CPUの使用動作周波数を利用して、移動させる仮想マシン3を特定した。実施の形態3では、仮想マシン3の各リソースの使用状況を総合的に利用して、移動させる仮想マシン3を特定する方法について説明する。実施の形態3に係る仮想マシンシステム100は、図7に示すと同じ構成である。但し、係数記憶部17に格納される情報が異なる。図10は、実施の形態3に係る係数記憶部17に格納された情報の例を示す図である。係数記憶部17には、共有度判定要素17-3、係数17-4の情報が格納される。共有度判定要素17-3は、各リソースの識別情報である。係数17-4は、各リソースの重み付けを指定する係数である。図11は、実施の形態3に係る移動対象選定部13の動作を示すフローチャートである。図12は、リソースの共有に関する値と、評価値とを示す図である。なお、図12では、上の表がリソースの共有に関する値を示し、下の表が評価値を示す。ST401からST402までは、図4に示すST201からST202までと同じである。ST403移動対象選定部13は、リソース不足が発生している物理マシン1上の仮想マシン3のリソース使用情報を抽出し、標準化を行う。標準化は、例えば値-平均値/標準偏差の式で計算する。図12の上の表のメモリ共有量については、各仮想マシン3の値が427、639、436、330、526となっていることから、平均値は471.6、標準偏差は104.2となる。この時、VM01の標準化した値は、427-471.6/104.2=-0.43と計算できる。これらを全ての仮想マシン3の全てのパラメータについて計算する。但し、移動先の物理マシン1上に同一のグループに属する仮想マシン3があるか否かは、ある場合を-1、ない場合を0とした状態で標準化が実施されているものとみなし、そのままの値を使用する。ST404移動対象選定部13は、標準化された値に、係数記憶部17に格納されている係数を掛けた値を評価値とする。そして、移動対象選定部13は、評価値の和が最も小さい仮想マシン3を移動対象仮想マシンとして導出する。例えば、図12に示した仮想マシン3VM01~VM05がリソース不足となっている物理マシン1上で動作している仮想マシン3であるとし、図12の上の表に示すように、それぞれのリソースに該当する値が得られているとする。すると、図12の下の表に示す値が、これらの値を標準化し、係数をかけた評価値となる。そして、右の和の欄に示した値が最も小さいVM04が移動対象の仮想マシン3として導出される。ST405は、図4に示すST208と同じである。以上のように、実施の形態3に係る仮想マシン管理装置5は、リソース不足が発生した場合に、すべての共有リソースに関する情報を総合的に用いて移動対象の仮想マシン3の選定を行う。これにより、仮想マシン3を移動させることによる移動先の物理マシン1への影響を抑えることができる。その結果、リソース不足発生に伴う顧客への影響を抑えることが可能となる。なお、以上の実施の形態では、移動対象の仮想マシン3を選択する際に、共有しているメモリ量を利用することや、CPUの使用動作周波数を利用することや、仮想マシン3の各リソースの使用状況を総合的に利用することを説明した。これ以外にも、例えば、各仮想マシン3の通信回線4の使用量の状況を監視し、通信回線4の使用量の低い仮想マシン3を移動対象の仮想マシン3として選択するようにしてもよい。また、例えば、ストレージネットワークである通信回線6の使用量の状況を監視し、通信回線6の使用量の低い仮想マシン3を移動対象の仮想マシン3として選択するようにしてもよい。つまり、仮想マシン3を移動させた場合に、移動先の物理マシン1でリソースの競合が発生する可能性の低い仮想マシン3を移動対象仮想マシンとして選択できる方法であれば、他の方法であってもよい。図13は、仮想マシン管理装置5のハードウェア構成の一例を示す図である。図13に示すように、仮想マシン管理装置5は、プログラムを実行するCPU911CentralProcessingUnit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいうを備えている。CPU911は、バス912を介してROM913、RAM914、LCD915LiquidCrystalDisplay、通信ボード916、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920固定ディスク装置の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。磁気ディスク装置920又はROM913などには、オペレーティングシステム921OS、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、上記の説明においてグループ管理部11、リソース監視部12、移動対象選定部13、仮想マシン移動部14等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。ファイル群924には、上記の説明においてリソース使用情報記憶部15、グループ管理テーブル16、係数記憶部17等に記憶される情報やデータや信号値や変数値やパラメータが、ファイルやデータベースの各項目として記憶される。ファイルやデータベースは、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出検索参照比較演算計算処理出力印刷表示などのCPU911の動作に用いられる。抽出検索参照比較演算計算処理出力印刷表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。また、上記の説明において~部として説明するものは、~回路、~装置、~機器、~手段、~機能であってもよく、また、~ステップ、~手順、~処理であってもよい。また、~装置として説明するものは、~回路、~機器、~手段、~機能であってもよく、また、~ステップ、~手順、~処理であってもよい。さらに、~処理として説明するものは~ステップであっても構わない。すなわち、~部として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子デバイス基板配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた~部としてコンピュータ等を機能させるものである。あるいは、上記で述べた~部の手順や方法をコンピュータ等に実行させるものである。"