"移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして、移動先を決定する第1決定部と、前記第1決定部によって移動先が決定された仮想マシンの電源状態に基づいて、当該仮想マシンの移動方式を決定する第2決定部と、前記移動対象である仮想マシン各々について移動先および移動方式が決定された場合に、前記第1決定部によって決定された移動先に、前記第2決定部によって決定された移動方式で、前記仮想マシン各々を移動させる移動処理部とを有することを特徴とする移動管理装置。前記仮想マシン各々が動作する動作環境に基づいて、前記仮想マシン各々の移動先候補を特定する特定部と、前記特定部によって特定された移動先候補に、前記仮想マシンの移動をシミュレーションして前記仮想マシンが移動可能か否かを判定する判定部と、をさらに有し、前記第1決定部は、前記判定部によって移動可能と判定された移動先候補を移動先として決定することを特徴とする請求項1に記載の移動管理装置。前記第1決定部は、各サーバで動作する仮想マシンのうち電源状態が検出できた仮想マシンを移動対象候補として検出し、検出した移動対象候補のうち指定された仮想マシンを移動対象の仮想マシンとすることを特徴とする請求項1に記載の移動管理装置。前記判定部は、シミュレーション対象である仮想マシンの移動先として特定された移動先候補が他の仮想マシンの移動先として決定されている状態で、当該移動先候補の動作環境が複数の仮想マシンが移動できる動作環境である場合には、前記他の仮想マシンが前記移動先候補に移動したと仮定した状態で、前記シミュレーション対象である仮想マシンが前記移動先候補に移動可能か否かを判定することを特徴とする請求項2に記載の移動管理装置。前記判定部は、シミュレーション対象である仮想マシンの移動先として特定された移動先候補が他の仮想マシンの移動先として決定されている状態で、当該移動先候補の動作環境が複数の仮想マシンが移動できる動作環境でない場合には、所定の条件に基づいて、前記シミュレーション対象である仮想マシンおよび前記他の仮想マシンから移動条件を生成し、生成した移動条件に基づいて、前記シミュレーション対象である仮想マシンおよび前記他の仮想マシンが前記移動先候補に移動可能か否かを判定することを特徴とする請求項2に記載の移動管理装置。前記第2決定部は、仮想マシンの電源状態が起動中である場合には、当該仮想マシンの移動方式をライブマイグレーションと決定し、仮想マシンの電源状態が停止中である場合には、当該仮想マシンの移動方式をコールドマイグレーションと決定することを特徴とする請求項1に記載の移動管理装置。前記第2決定部は、前記仮想マシン各々に対して移動方式が指定されている場合には、前記電源状態に関らず、指定された移動方式で移動させると決定することを特徴とする請求項1に記載の移動管理装置。前記移動処理部は、前記仮想マシン各々を移動させる場合に、コールドマイグレーションによる移動を先に実行し、コールドマイグレーションによる仮想マシンの移動が完了した後に、ライブマイグレーションによる移動を実行することを特徴とする請求項1に記載の移動管理装置。コンピュータが実行する制御方法であって、移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして、移動先を決定し、移動先を決定した仮想マシンの電源状態に基づいて、当該仮想マシンの移動方式を決定し、移動対象である仮想マシン各々について移動先および移動方式が決定した場合に、前記決定した移動先に、前記決定した移動方式で、前記仮想マシン各々を移動させる、ことを特徴とする移動管理方法。コンピュータに、移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして、移動先を決定し、移動先を決定した仮想マシンの電源状態に基づいて、当該仮想マシンの移動方式を決定し、移動対象である仮想マシン各々について移動先および移動方式が決定した場合に、前記決定した移動先に、前記決定した移動方式で、前記仮想マシン各々を移動させる処理、をコンピュータに実行させることを特徴とする移動管理プログラム。しかしながら、従来の技術では、複数の仮想マシンが移動対象である場合に、仮想マシンを1つ1つ移動させたり、仮想マシン1つ1つの移動完了を確認したりするので、仮想マシンの移動処理を管理する管理者の作業が煩雑になり、管理者を拘束する時間が長いという問題がある。例えば、GUIやコマンド等を用いる技術では、移動対象のVMゲスト1台ずつに対して、移動先VMホストの指定およびライブマイグレーションの実行をして、ライブマイグレーションが正常に終了したかを確認することになる。つまり、連続してライブマイグレーションを実行できない。このため、全てのVMゲストの移動が正常に完了するまで、管理者を拘束することになる。また、スケジュール等に従ってライブマイグレーションを自動化する場合、移動対象のVMゲストが停止中である場合には、ライブマイグレーションが異常終了する。この結果、移動させたいVMゲストが移動できないまま処理が終了する場合もある。つまり、自動で実行する場合も、自動で実行された後に管理者が正常終了を確認することになるので、結果として、実行後から正常終了確認まで管理者を拘束することになる。したがって、この技術を用いた場合でも、管理者の作業時間は短くない。1側面では、本発明は、仮想マシンの移動処理の作業時間を短縮することができる移動管理装置、移動管理方法および移動管理プログラムを提供することを目的とする。第1の案では、移動管理装置は、移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして、移動先を決定する第1決定部を有する。移動管理装置は、前記第1決定部によって移動先が決定された仮想マシンの電源状態に基づいて、当該仮想マシンの移動方式を決定する第2決定部を有する。移動管理装置は、前記移動対象である仮想マシン各々について移動先および移動方式が決定された場合に、前記第1決定部によって決定された移動先に、前記第2決定部によって決定された移動方式で、前記仮想マシン各々を移動させる移動処理部を有する。仮想マシンの移動処理の作業時間を短縮することができる。以下に、本発明にかかる移動管理装置、移動管理方法および移動管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。図1は、実施例1に係る移動管理装置を含むシステムの全体構成を示す図である。図1に示すように、このシステムは、クライアント装置10と、移動管理装置30と、VMVirtualMachine管理装置50と、VM管理装置70と、複数のサーバVMホスト60とを有する。なお、図1に示したサーバの台数や装置の台数は、あくまで例示であり、これに限定されるものではなく、任意の台数を設定することができる。クライアント装置10は、このシステムの管理者やユーザが利用するコンピュータであり、VMゲストの移動指示を移動管理装置30に送信して、VMゲストのマイグレーションを実行させる。移動管理装置30は、第1決定部30a、第2決定部30b、移動処理部30cを有し、クライアント装置10からVMゲストのマイグレーション指示を受信して、VM管理装置50やVM管理装置70に、VMゲストのマイグレーションの実行を要求する。VM管理装置50やVM管理装置70は、物理サーバ上で動作しているVMホストや、VMホスト上で動作しているVMゲストに関する情報等を記憶して、仮想マシン全体を管理するサーバである。例えば、VM管理装置50やVM管理装置70は、VMホストやVMゲストのリソース状況や、VMホスト上で動作可能なVMゲストの最大数などVMホストに関する情報を記憶する。サーバ60は、仮想マシンであるVMゲストを動作させる、他のコンピュータシステムの動作環境を仮想的に実現するプログラムであるVMホストを実行する物理サーバである。VMゲストは、VMホストによって提供された環境でユーザに提供される処理を担う仮想マシンである。このような状況において、移動管理装置30の第1決定部30aは、移動対象であるVMゲスト各々について、当該VMゲストの移動をシミュレーションして、移動先のVMホストを決定する。続いて、第2決定部30bは、移動先のVMホストが決定されたVMゲストの電源状態に基づいて、当該VMゲストの移動方式を決定する。その後、移動処理部30c、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、第1決定部30aが決定した移動先に、第2決定部30bが決定した移動方式で、VMゲスト各々を一括で移動させる。このように、VMゲストの移動先候補として特定されたVMホストに、実際に移動可能か否かをシミュレーションする。そして、移動可能である場合に、VMゲストの電源状態に応じた移動方式で実際に移動させる。この結果、VMゲストが移動できるVMホストを特定し、特定したVMホストに、VMゲストに適した移動方式で実行させることができる。したがって、各VMゲストについて、移動可能なことを判定して適切な移動方式で一括で移動させることができるので、各VMゲストのマイグレーションの正常終了を確認する手間も省ける。この結果、VMゲストを1つずつ移動させるより、VMゲストの移動処理を管理する管理者の作業時間を短縮することができる。次に、実施例2に係る移動管理装置について説明する。ここでは、図1に示したシステムにおける各装置の構成、処理の流れ、実施例2による効果を説明する。[システムの構成]図2は、実施例2に係る移動管理装置を含むシステムを形成する各装置の構成を示すブロック図である。なお、VM管理装置50とVM管理装置70とは同様の構成を有するので、ここでは、VM管理装置50を例にして説明する。同様に、図1に示した各サーバは同様の構成を有するので、ここでは、サーバ60を例にして説明する。移動管理装置の構成図2に示すように、移動管理装置30は、通信制御I/F部31と、入力部32と、表示部33と、記憶部34と、各制御部とを有する。なお、各制御部は、例えばCPUなどの電子回路であり、VMホスト生成部35、VMゲスト候補生成部36、移動先候補生成部37、移動判定部38、移動種別決定部39、移動指示部40を有する。通信制御I/F部31は、少なくとも1つのポートを有し、他の装置との通信を制御するインタフェースである。例えば、通信制御I/F部31は、クライアント装置10と接続され、VMゲストのマイグレーション処理の開始指示を受信して、各制御部に出力する。また、通信制御I/F部31は、VM管理装置50やVM管理装置70と接続され、VM管理装置50やVM管理装置70に、移動指示部40から指示されたVMゲストのマイグレーション指示を送信する。また、通信制御I/F部31は、VM管理装置50やVM管理装置70からマイグレーション結果を受信する。また、通信制御I/F部31は、各制御部が生成したWeb画面をクライアント装置10に送信する。入力部32は、例えばキーボードやマウスなどの入力装置であり、表示部33と協働してポインティングディバイス機能を実現し、表示部33に表示される入力画面や選択画面への入力を受け付けて、表示部33や各制御部に出力する。一例を挙げると、入力部32は、移動対象のVMホストやVMゲストの選択、移動種別の選択などを受け付ける。表示部33は、例えばディスプレイなどの表示装置であり、各制御部によって生成されたWeb画面などを表示する。記憶部34は、例えば半導体メモリ素子やハードディスクなどの記憶装置である。この記憶部34は、変数管理テーブル34aと、VMホストテーブル34bと、VMテーブル34cと、VMゲストテーブル34dと、サーバプロファイルテーブル34eと、VM管理テーブル34fと、管理ソフトテーブル34gとを有する。なお、各テーブルの説明で例示する情報は、あくまで例示であり、これに限定されるものではなく、任意に設定変更できる。また、各テーブルに記憶される情報は、管理者等によって更新されてもよく、VM管理装置30によって定期的に更新されてもよい。変数管理テーブル34aは、各制御部が処理を実行する際に用いる変数を記憶する。例えば、変数管理テーブル34aは、src_vm_hosts変数、src_vm_guests変数、dst_vm_hosts変数、migration_lists変数を記憶する。なお、図3から図6に示した情報は、例えばホスト名ではなくIPInternetProtocolアドレスやMACMediaAccessControlアドレスなど、任意に変更可能である。src_vm_hosts変数は、VMホスト生成部35等が移動元のVMホストを表示するWeb画面を生成する際に使用される。図3は、変数管理テーブルが記憶するsrc_vm_hosts変数の例を示す図である。図3に示すように、変数管理テーブル34aは、src_vm_hosts変数としてarray_index、ID、NAMEを記憶する。ここで記憶されるarray_indexは、格納する配列の位置を識別する識別子であり、IDは、VMホストを区別するために用いる識別子であり、NAMEは、移動元のVMホストのホスト名である。図3の例で説明すると、array_index=0、ID=1、NAME=Host_aの場合、src_vm_hosts変数の配列0には、ID1が割り与えられたHost_aのホスト名を有するVMホストに関する情報が格納されていることを示す。また、array_index=7、ID=8、NAME=Host_hの場合には、src_vm_hosts変数の配列7には、ID8が割り与えられたHost_hのホスト名を有するVMホストに関する情報が格納されていることを示す。src_vm_guests変数は、VMゲスト候補生成部36等が移動対象となるVMゲストを表示するWeb画面を生成する際に使用される。図4は、変数管理テーブルが記憶するsrc_vm_guests変数の例を示す図である。なお、図4のs1は、移動候補のVMゲスト一覧を示しており、図4のs2は、s1の状態からGuest_c1が移動対象として決定された後の状態を示している。図4に示すように、変数管理テーブル34aは、src_vm_guests変数としてHash_key、array_index、ID、NAMEを記憶する。ここで記憶されるHash_keyは、NAMEに格納されるVMゲストが動作するVMホストを識別する識別子であり、array_indexは、格納位置を識別する識別子である。また、IDは、VMゲストを区別するために用いる識別子であり、NAMEは、移動候補のVMゲストの名称である。図4のs1に例示したHash_key=2、array_index=2、ID=23、NAME=Guest_b3の場合について説明する。この場合、Hash_keyが2で識別されるVMホストが対応付けられた配列2には、ID23が割り与えられた移動対象候補であるVMゲストGuest_b3が格納されることを示す。また、Hash_key=3、array_index=1、ID=27、NAME=Guest_c3の場合について説明する。この場合、Hash_keyが3で識別されるVMホストが対応付けられた配列1には、ID27が割り与えられた移動対象候補のVMゲストGuest_c3が格納されることを示す。また、図4のs1の状態でNAME=Guest_c3が移動先対象として特定された場合には、図4のs2に示すように、Hash_key=3、array_index=1、ID=27、NAME=Guest_c3のレコードが削除される。dst_vm_hosts変数は、移動先候補生成部37等が移動先候補のVMホストを表示するWeb画面を生成する際に使用される。図5は、変数管理テーブルが記憶するdst_vm_hosts変数の例を示す図である。なお、図5のs3は、移動先候補のVMホスト一覧を示しており、図5のs4は、s3の状態からGuest_b2が移動対象として決定された後の移動先候補となるVMホスト一覧を示している。図5に示すように、変数管理テーブル34aは、dst_vm_hosts変数としてHash_key、array_index、ID、NAMEを記憶する。ここで記憶されるHash_keyは、移動元となるホストを識別する識別子であり、array_indexは、格納位置を識別する識別子である。また、IDは、移動先候補のVMホストを区別するために用いる識別子であり、NAMEは、移動先候補のVMホストのホスト名である。図5のs3に例示したHash_key=3、array_index=0、ID=1、NAME=Host_aの場合について説明する。この場合、Hash_keyが3である移動元のVMホストに対応付けられた配列0には、移動先候補のVMホストとして、ID1が割り与えられたHost_aが格納されることを示す。また、図5のs3の状態で、VMゲストGuest_b2が移動対象として決定された場合、図5のs4に示すように、Hash_key=2、array_index=0、ID=6、NAME=Host_fとHash_key=2、array_index=1、ID=7、NAME=Host_gが追加される。つまり、移動先候補生成部37は、移動対象として決定されたVMゲストGuest_b2の移動先候補として、VMホストHost_fとHost_gをdst_vm_hosts変数に追加する。migration_lists変数は、移動判定部38等が移動対象のVMゲストのマイグレーション手法を決定する場合や、移動指示部40が移動指示を送信する場合に用いられる。図6は、変数管理テーブルが記憶するmigration_lists変数の例を示す図である。図6に示すように、変数管理テーブル34aは、migration_lists変数としてHash_key、array_index、ID、migration_typeを記憶する。ここで記憶されるHash_keyは、移動先となるVMホストを識別する識別子であり、array_indexは、格納位置を識別する識別子である。また、IDは、VMゲストを区別するために用いる識別子であり、migration_typeは、マイグレーションの手法を示す情報である。図6の例で説明すると、Hash_key=7であるVMホストを移動先として配列0に格納されるID=22のVMゲストは、コールドマイグレーションで移動されることを示す。また、Hash_key=7であるVMホストを移動先として配列1に格納されるID=23のVMゲストは、ライブマイグレーションで移動されることを示す。また、Hash_key=1であるVMホストを移動先として配列0に格納されるID=25のVMゲストは、ライブマイグレーションで移動されることを示す。図2に戻り、VMホストテーブル34bは、移動管理装置30が管理するVMホストの一覧を記憶する。図7は、VMホストテーブル34bに記憶される情報の例を示す図である。図7に示すように、VMホストテーブル34bは、VMホストの情報として、ID、NAME、api_type、virtual_machines、logical_server_idSVを対応付けて記憶する。なお、ここで記憶される情報は、管理者等によって手動やジョブなどよって随時更新されてもよく、移動管理装置30が各VM管理装置から定期的に取得するようにしてもよい。ここで記憶されるIDは、VMホストテーブル34bに記憶される情報を識別する識別子であり、NAMEは、VMホストのホスト名などである。api_typeは、VMホストを実現してVMゲストを動作させるAPIApplicationProgrammingInterfaceの種別を示す。virtual_machinesは、動作するVMゲストを示す情報であり、配列で格納される。logical_server_idSVは、後述するサーバプロファイルテーブルのレコードを特定する識別子である。図7の例の場合、ID=2には、APIB上でVMゲストVM101~VM104を実行するVMホストHost_bの情報が記憶されており、このHost_bの情報には、logical_server_idSV=2が対応付けられている。また、ID=3には、APIA上でVMゲストVM105~VM107を実行するVMホストHost_cの情報が記憶されており、このHost_cの情報には、logical_server_idSV=3が対応付けられている。なお、図7に記載される省略は、説明上、記載を省略したことを示しており、例えばVM201~VM203などの情報が格納される。VMテーブル34cは、VMホスト上で仮想マシンとして動作しているVMゲストに関する詳細な情報を記憶する。図8は、VMテーブルに記憶される情報の例を示す図である。図8に示すように、VMテーブル34cは、VMゲストに関する詳細な情報としてID、os_instance、power_status、vm_host_id、メモリ容量、CPU数、CPUスペックを対応付けて記憶する。ここで記憶されるIDは、VMテーブル34cの各レコードを識別する識別子であり、os_instanceは、VMゲストオブジェクトのリンク先を示す情報であり、仮想マシンとして動作するVMゲストを特定する情報である。power_statusは、仮想マシン言い換えるとVMゲストの電源状態を示しており、電源がオンの場合にはON、電源がオフの場合にはOFF、電源状態が検出できなかった場合にはunknownが格納される。vm_host_idは、VMゲストが動作するVMホストを特定する情報であり、VMホストテーブル34bのIDが格納される。メモリ容量は、VMゲストに割り与えられたメモリ容量であり、CPU数は、VMゲストに割り与えられたCPUの数である。CPUスペックは、VMゲストに割り与えられたCPUの性能を示す情報であり、ここでは、CPUのクロック周波数が格納される例を示す。図8の例の場合、IDが101であるレコードは、vm_host_id=2が割り与えられたVMホスト上で、メモリ容量が1GBであり、12GHzのCPU2つが割り与えられたVMゲストGuest_b1が動作していることを示す。また、IDが102であるレコードは、vm_host_id=2が割り与えられたVMホスト上で、メモリ容量が750MBであり、3GHzのCPU2つが割り与えられたVMゲストGuest_b2が停止中であることを示す。また、IDが106であるレコードは、vm_host_id=3が割り与えられたVMホスト上で、メモリ容量が1GBであり、2GHzのCPU3つが割り与えられたVMゲストGuest_c2が存在するが、電源状態が検出できない状態であることを示す。VMゲストテーブル34dは、VMゲストに関する情報を記憶する。図9は、VMゲストテーブルに記憶される情報の例を示す図である。図9に示すように、VMゲストテーブル34dは、VMゲストに関する情報としてID、NAME、logical_server_idVMを対応付けて記憶する。ここで記憶されるIDは、VMゲストを一意に識別する識別子であり、NAMEは、VMゲストの示す名称である。logical_server_idVMは、VMホストを特定する際に使用される識別子であり、VMテーブル34cに記憶されるIDが格納される。図9の例の場合、IDが21であるVMゲストGuest_b1に関する情報は、VMテーブル34cのIが101であるレコードに対応することが示されている。同様に、IDが25であるVMゲストGuest_c1に関する情報は、VMテーブル34cのIDが105であるレコードに対応することが示されている。サーバプロファイルテーブル34eは、VMホストごとに、当該VMホストで利用可能なVM管理ソフトに関する情報を記憶する。図10は、サーバプロファイルテーブル34eに記憶される情報の例を示す図である。図10に示すように、サーバプロファイルテーブル34eは、VMホストの情報としてID、os_instance、vm_managingsを対応付けて記憶する。ここで記憶されるIDは、サーバプロファイルテーブル34eに記憶されるレコード、言い換えると、VMホストを識別する識別子である。os_instanceは、VMホストオブジェクトのリンク先を示す情報であり、VMゲストが動作するVMホストを特定する情報である。vm_managingsは、VMホストで利用可能なVM管理ソフト、言い換えると、当該VMホストで対応可能なAPI種別を示し、配列として格納される。図10の場合、IDが1であるVMホストHost_aは、AP1、AP2、AP4に対応していることを示している。なお、図10に記載される省略は、説明上、記載を単に省略したことを示しており、一般的にはAP1などの情報が格納される。VM管理テーブル34fは、サーバプロファイルテーブル34eに記憶されるVMホストのVM管理ソフトが属するソフトウェアグループを特定する情報を記憶する。図11は、VM管理テーブルに記憶される情報の例を示す図である。図11に示すように、VM管理テーブル34fは、ID、management_software_id、logical_server_idSVを対応付けて記憶する。ここで記憶されるIDは、サーバプロファイルテーブル34eの各レコードを識別する識別子であり、management_software_idは、VM管理ソフトが属するソフトウェアグループを特定する情報である。logical_server_idSVは、サーバプロファイルテーブルのレコードを特定する識別子である。図11の例で説明すると、ID1のレコードは、サーバプロファイルテーブル34eのIDが8であるレコードがソフトウェアグループ1に属することを示している。同様に、ID3のレコードは、サーバプロファイルテーブル34eのIDが9であるレコードがソフトウェアグループ2に属することを示している。管理ソフトテーブル34gは、VM管理ソフトのソフトウェアグループを記憶する。図12は、管理ソフトテーブルに記憶される情報の例を示す図である。図12に示すように、管理ソフトテーブル34gは、ID、managingsとして1、Managing1,Managing3や2、Managing2などを記憶する。ここで記憶されるIDは、管理ソフトテーブル34gの各レコードを識別するとともにmanagingsを識別する識別子であり、VM管理テーブル34fのmanagement_software_idに格納される識別子と同様の識別子である。managingsは、VM管理ソフトのソフトウェアグループを示す。図12の例で説明すると、VM管理ソフトウェアであるManaging1とManaging3は、ID1の同じグループに属し、Managing2は、ID2のグループに属することを示している。図2に戻り、VMホスト生成部35は、移動元となるVMホストのリストを生成する。例えば、VMホスト生成部35は、クライアント装置10から送信されたVMゲストのマイグレーション処理開始指示が通信制御I/F部31等によって受け付けられると、図13に示すWeb画面をクライアント装置10に送信する。図13は、マイグレーション処理のTOP画面例を示す図である。図13に示すTOP画面は、SourceVMHostListフィールドと、SourceVMGuestListフィールドと、TargetVMHostListフィールドと、ColdMigrationフィールドと、LiveMigrationフィールドとを有する。また、各フィールドには、表示内容を上下左右に移動させるスクロールを設けてもよい。SourceVMHostListフィールドには、移動元のVMホストの一覧が表示される。SourceVMGuestListフィールドには、SourceVMHostListフィールドに表示されたVMホストのうち、ユーザによって選択されたVMホスト上で動作するVMゲストの一覧が移動対象候補のVMゲストとして表示される。TargetVMHostListフィールドには、移動対象として特定されたVMゲストの移動先候補であるVMホストの一覧が表示される。ColdMigrationフィールドは、移動先VMホストが決定したVMゲストのうち、移動種別がコールドマイグレーションと決定されたVMゲストの一覧が表示される。LiveMigrationフィールドは、移動先VMホストが決定したVMゲストのうち、移動種別がライブマイグレーションと決定されたVMゲストの一覧が表示される。また、OKボタンがクリックされると、ColdMigrationフィールドおよびLiveMigrationフィールドに表示されるVMゲストのマイグレーションが開始される。Cancelボタンがクリックされると、マイグレーション処理が終了する。TOP画面を表示させたVMホスト生成部35は、VMホストテーブル34bの各レコードにおけるNAMEからVMホスト名を取得する。そして、VMホスト生成部35は、取得した各VMホスト名をTOP画面のSourceVMHostListフィールドに表示させた画面を生成して、クライアント装置10に送信する。このとき、VMホスト生成部35は、VMホストテーブル34bのIDとNAMEとを対応付けて順番に取得し、src_vm_hosts変数の配列0から順に格納する。なお、格納順序は、配列番号の昇順に限らず、ランダムに取得して、配列にランダムに格納してもよい。一例を挙げると、VMホスト生成部35は、TOP画面を表示させた後、図7に示したNAMEを取得し、取得したNAMEが表示されるアイコン等を生成する。そして、VMホスト生成部35は、生成したアイコンをSourceVMHostListフィールドに表示させた画面を生成して、クライアント装置10に送信する。また、VMホスト生成部35は、生成したアイコン順に、src_vm_hosts変数の配列に、VMホストテーブル34bのIDとNAMEを格納する。具体的には、VMホスト生成部35は、1番目に生成したアイコンに表示されるNAMEとIDとを配列0に格納し、2番目に生成したアイコンに表示されるNAMEとIDとを配列1に格納する。このようにすることで、VMホスト生成部35は、アイコンとテーブルの情報とを対応付けることができる。図2に戻り、VMゲスト候補生成部36は、移動対象候補となるVMゲストの一覧を生成する。例えば、VMゲスト候補生成部36は、VMホスト生成部35が表示した画面のSourceVMHostListフィールドに表示されるVMホストから、通信制御部I/F部31を介してユーザの選択を受け付ける。そして、VMゲスト候補生成部36は、選択されたVMホストで動作しているVMゲストを抽出し、抽出したVMゲストをSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信する。具体例を挙げると、VMゲスト候補生成部36は、VMホスト生成部35によって移動元VMホスト一覧が表示されると、src_vm_guests変数を生成する。そして、VMゲスト候補生成部36は、VMホストのアイコンがクリックされると、当該アイコンに対応するsrc_vm_hosts変数の配列から、クリックされたVMホストを特定する。続いて、VMゲスト候補生成部36は、特定したVMホストに対応付けてsrc_vm_guests変数のNAMEに格納されるVMゲスト名を表示させたアイコンを生成する。その後、VMゲスト候補生成部36は、生成したアイコンをSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信する。つまり、VMゲスト候補生成部36は、選択されたVMホスト上で動作するVMゲストを移動対象候補のVMゲストとしてユーザに表示する。ここで、まず、src_vm_guests変数の生成例について説明する。VMゲスト候補生成部36は、VMホストテーブル34bを参照して、src_vm_hosts変数のNAME=Host_bに対応するvirtual_machinesとしてVM101~VM104を特定する。そして、VMゲスト候補生成部36は、VM101の101をキーにして、VMゲストテーブル34dを検索し、ID=21とNAME=Guest_b1を特定する。また、VMゲスト候補生成部36は、VM101の101をキーにして、VMテーブル34cを検索し、vm_host_id=2を特定する。その後、VMゲスト候補生成部36は、特定したvm_host_id=2をHsh_keyとする配列array_indexの0に、特定したID=21とNAME=Guest_b1を登録したsrc_vm_guests変数を生成する。同様に、VMゲスト候補生成部36は、NAME=Guest_b1と同様にHost_bで動作するNAME=Guest_b2、NAME=Guest_b3、NAME=Guest_b4についても上記処理を実行する。具体的には、VMゲスト候補生成部36は、NAME=Guest_b2については、vm_host_id=2をHsh_keyとする配列1に格納し、NAME=Guest_b3については配列2に格納し、NAME=Guest_b4については、配列3に格納する。このように、VMゲスト候補生成部36は、src_vm_hosts変数に格納されるVMホスト各々について、上記処理を実行して図4に示すようなsrc_vm_guests変数を生成する。このとき、VMゲスト候補生成部36は、VMテーブル34cを検索した際に、power_statusがunkownとなっているVMゲストについてはsrc_vm_guests変数に格納しないようにすることもできる。例えば、VMゲスト候補生成部36は、図8に示したGuest_b4のpower_statusがunkownとなっているために、図4のs1に示すように、Guest_b4をsrc_vm_guests変数に格納していない。次に、VMゲスト候補生成部36がsrc_vm_guests変数を生成した状態で、ユーザがVMホストを選択した場合に、移動対象候補のVMゲストを表示する例について説明する。例えば、VMゲスト候補生成部36は、VMホストが表示されるアイコンがクリックされると、当該アイコンに対応するsrc_vm_hosts変数の配列から、クリックされたVMホストを特定する。ここでは、ユーザによってHost_bが選択されたとする。この場合、VMゲスト候補生成部36は、src_vm_hosts変数を参照し、Host_bに対応するID=2を特定する。そして、VMゲスト候補生成部36は、ID=2をキーにしてsrc_vm_guests変数のHash_keyを検索し、NAME=Guest_b1~NAME=Guest_b3を特定する。その後、VMゲスト候補生成部36は、NAME=Guest_b1~NAME=Guest_b3各々を示すアイコンを生成して、生成したアイコンをSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信する。なお、VMゲスト候補生成部36は、array_indexの順番でアイコンを生成して表示させることで、アイコンとsrc_vm_guests変数とを関連付けることもできる。図2に戻り、移動先候補生成部37は、移動対象のVMゲストが決定された場合に、移動先対象候補であるVMホストの一覧を生成する。具体的には、移動先候補生成部37は、ユーザの選択によって移動対象のVMゲストを特定し、特定したVMゲストの移動先候補を生成してユーザに表示する。例えば、ユーザが、VMゲスト候補生成部36によって生成されたSourceVMGuestListフィールドのGuest_b2をクリックしたとする。この場合、移動先候補生成部37は、クリックされたGuest_b2を移動対象のVMゲストとして特定する。続いて、移動先候補生成部37は、Guest_b2のHash_key=2をsrc_vm_guests変数から特定し、Hash_key=2をキーにしてVMホストテーブル34bのIDを検索する。そして、移動先候補生成部37は、Hash_key=2に対応するNAME=Host_bとapi_type=APIBをVMホストテーブル34bから抽出する。このようにして、移動先候補生成部37は、移動対象のVMゲストが動作するVMホストのapi_type、すなわち移動元VMホストが実行しているVM管理ソフトの種別を特定することができる。その後、移動先候補生成部37は、api_type=APIBをキーにしてVMホストテーブル34bのapi_typeを検索し、api_type=APIBに対応付けられたNAMEとIDを特定する。図7の例の場合、移動先候補生成部37は、api_type=APIBであるVMホストとしてNAME=Host_f、ID=6とNAME=Host_g、ID=7とを特定する。このようにして、移動先候補生成部37は、移動元VMホストと同様のVM動作環境を提供する移動先候補を特定することができる。このとき、移動先候補生成部37は、移動元VMホストと同一の管理ソフトを有する移動先が存在しない場合には、移動元VMホストが実行する管理ソフトに対応した管理ソフトを実行する移動先を特定するようにしてもよい。さらに、移動先候補生成部37は、移動元VMホストの管理ソフトと同一ではないが同種の管理ソフトを実行するVMホストを特定するようにしてもよい。上記した例の場合、移動先候補生成部37は、api_type=APIBと同一の管理ソフトを実行するNAMEとIDだけでなく、api_type=APIBと同種類のAPIB1を実行するNAMEとIDを特定するようにしてもよい。また、別例としては、移動先候補生成部37は、VM管理テーブル34fと管理ソフトテーブル34gを参照して、移動元VMホストのVM管理ソフトが属するグループmanageingsを特定する。そして、移動先候補生成部37は、特定したグループmanageingsと同じグループに属するVMホストを移動先候補とすることもできる。その後、移動先候補生成部37は、dst_vm_hosts変数において、移動元VMホストのHash_key=2に対応付けて、array_index=0にID=6、NAME=Host_fを格納し、array_index=1にID=7、NAME=Host_gを格納する。このようにして、移動先候補生成部37は、dst_vm_hosts変数を生成する。そして、移動先候補生成部37は、dst_vm_hosts変数に格納されるNAMEが表示されるアイコン等を生成し、生成したアイコン等をTargetVMHostListフィールドにさらに表示させた画面をクライアント装置10に送信する。なお、移動先候補生成部37は、Hash_keyおよびarray_indexの順番でアイコンを生成して表示させることで、アイコンとdst_vm_hosts変数とを関連付けることもできる。図2に戻り、移動判定部38は、移動対象VMゲストの移動先として特定されたVMホストに移動シミュレーションを実行して、移動可能か否かを判定する。例えば、移動判定部38は、まず、移動先候補生成部37によって生成された画面からユーザの選択を受け付けて、移動先候補となるVMホストを特定する。次に、移動判定部38は、移動先候補生成部37が特定した移動対象VMゲストのリソース状況等を用いて、移動先候補のVMホストに移動シミュレーションを実行して移動可能か否かを判定する。その後、移動判定部38は、移動可能と判定した場合には、移動種別決定部39にその旨を通知して処理を移行し、移動不可能と判定した場合には、ユーザにその旨を報知して別のVMホストを選択させる。ここで、ユーザ端末が、移動先候補生成部37によって生成されたTargetVMHostListフィールドに表示されるHost_cをクリックしたとする。この場合、移動判定部38は、移動先候補のVMホストをHost_cと特定する。つまり、移動判定部38は、移動対象のVMゲストがGuest_b2であり、移動先候補のVMホストをHost_cであると特定する。次に、移動判定部38は、VMホストHost_cを移動先して既に決定されたVMゲストが存在するか否かを、migration_list変数から判定する。具体的には、移動判定部38は、migration_list変数に、Host_cを示すHash_key=2であるレコードが存在するか否かを判定する。そして、移動判定部38は、migration_list変数にHash_key=2が存在しない場合、Host_cを移動先候補とするVMゲストが、現在の移動対象であるGuest_b2のみであると判定する。この場合、移動判定部38は、Guest_b2のマイグレーションコマンドをHost_cに発行して移動可能か否かを判定する。一手法としては、移動判定部38は、Host_cで動作しているVMゲストの数がHost_cの上限を超えていないかで判定することもできる。また、移動判定部38は、Host_cのリソース状況をVM管理装置から取得するとともに、Guest_b2のリソース状況をVMテーブル34cから取得して、Host_cでGuest_b2が動作可能か否かによって、移動可能か否かを判定することもできる。なお、リソース状況としては、CPU数、メモリ容量、ネットワーク帯域量などが挙げられる。一方、migration_list変数にHash_key=2が存在する場合、移動判定部38は、移動先候補のVMホストHost_cで稼動するVM管理ソフトが、複数マイグレーションに対応しているソフトウェアであるか否かを判定する。一例を挙げると、移動判定部38は、サーバプロファイルテーブル34eを参照して、移動先候補のVMホストHost_cに対応付けられたIDを抽出する。そして、移動判定部38は、抽出したIDに対応付けられたmanagement_software_idをVM管理テーブル34fから抽出する。さらに、移動判定部38は、抽出したmanagement_software_idに対応付けられたmanagingsを管理ソフトテーブル34gから特定する。そして、移動判定部38は、インターネットや管理者等によってメモリ等に登録されている情報等に基づいて、特定したmanagingsが複数マイグレーションに対応しているソフトウェア種別であるか否かを判定する。そして、移動判定部38は、複数マイグレーションに対応しているソフトウェアであると判定した場合、Host_cのリソース状況と、既に移動する決定されている他VMゲストのリソース状況とから、Guest_b2が使用可能なリソース状況を特定する。その後、移動判定部38は、特定したリソース状況下でGuest_b2が動作可能か否かによって、Guest_b2がHost_cに移動可能か否かを判定する。別例としては、移動判定部38は、Guest_b2および他VMゲストのマイグレーションコマンドを同時に発行して、エラーが発生しないか否かを判定材料とすることもできる。また、移動判定部38は、複数マイグレーションに対応していないソフトウェアであると判定した場合、既に移動が決定されている他VMゲストのリソース状況と、Guest_b2のリソース状況とを加算した1つのリソース状況を生成する。そして、移動判定部38は、生成した1つのリソース状況がHost_cのリソース状況の範囲内である場合には、Guest_b2が移動可能であると判定する。一方、移動判定部38は、生成した1つのリソース状況がHost_cのリソース状況の範囲内にない場合には、他VMゲストがHost_cに移動可能であり、Guest_b2がHost_cに移動不可能であると判定する。なお、移動判定部38は、他VMゲストのリソース状況やGuest_b2のリソース状況をVMテーブル34cから取得することができ、Host_cのリソース情報をVM管理装置50、70から取得することができる。このようにして、移動判定部38は、VMゲストの移動先を特定する。移動種別決定部39は、移動判定部38が特定した移動対象のVMゲストの移動種別を決定する。具体的には、移動種別決定部39は、VMテーブル34cを参照して、移動対象のVMゲストの電源状態がONである場合に、当該VMゲストの移動種別をライブマイグレーションと決定する。また、移動種別決定部39は、VMテーブル34cを参照して、移動対象のVMゲストの電源状態がOFFである場合に、当該VMゲストの移動種別をコールドマイグレーションと決定する。また、移動種別決定部39は、VMテーブル34cを参照して、移動対象のVMゲストの電源状態がunknownである場合に、当該VMゲストの移動が不可能としてユーザに報知してもよく、移動種別をコールドマイグレーションと決定してもよい。そして、移動種別決定部39は、移動種別がコールドマイグレーションと決定されたVMゲストのNAMEをVMゲストテーブル34dから取得してアイコン等を生成する。その後、移動種別決定部39は、画面のColdMigrationフィールドに、生成したアイコン等を表示させる。同様に、移動種別決定部39は、移動種別がライブマイグレーションと決定されたVMゲストのNAMEをVMゲストテーブル34dから取得してアイコン等を生成する。その後、移動種別決定部39は、画面のLiveMigrationフィールドに、生成したアイコン等を表示させる。その後、移動種別決定部39は、生成したアイコンが表示される画面をクライアント装置10に送信する。このとき、移動種別決定部39は、移動先VMホストのHash_keyをVMホストテーブル34b等から取得し、移動対象VMゲストのIDをVMゲストテーブル34e等から取得する。そして、移動種別決定部39は、migration_lists変数に、Hash_keyとIDと決定されたマイグレーション種別とを対応付けて格納する。例えば、図6に示す状態で、Guest_c2がHost_gへライブマイグレーションIすると決定された例について説明する。この場合、移動種別決定部39は、Guest_c2のID=26をVMゲストテーブル34eから特定し、Host_gのHash_key=7をVMホストテーブル34bから取得する。そして、migration_lists変数のHash_key=7の配列0および1に既にデータが登録されていることから、移動種別決定部39は、Hash_key=7とする配列2に対応付けて、ID=26およびliveをmigration_lists変数に格納する。移動指示部40は、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、移動種別決定部39によって決定された移動先に、移動種別決定部39によって決定された移動方式で、VMゲスト各々を移動させる。例えば図6を例にして説明すると、移動指示部40は、クライアント装置10に表示される画面においてOKがクリックされた場合、migration_lists変数を参照する。そして、移動指示部40は、ID=22のVMゲストが動作するVMホストを管理するVM管理装置50、70に、Hash_Key=7で特定されるVMホストへコールドマイグレーションにより、ID=22のVMゲストを移動させることを指示する。このとき、移動指示部40は、移動対象のVMゲストの移動を一気に実行してもよい。また、移動指示部40は、migration_type=coldとなっているVMゲストのマイグレーションを先に実行して完了した後に、migration_type=LiveとなっているVMゲストのマイグレーションを実行してもよい。そして、移動指示部40は、migration_lists変数に格納されるマイグレーションが終了すると、migration_lists変数を初期値に戻す。VM管理装置の構成次に、VM管理装置の構成について説明する。図2に示すように、VM管理装置50は、通信制御I/F部51とVM構成管理テーブル52と制御部53とを有する。通信制御I/F部51は、少なくとも1つのポートを有し、移動管理装置30とVM管理装置50との間の通信や各サーバ60とVM管理装置50との間の通信を制御するインタフェースである。例えば、通信制御I/F部51は、VM管理装置50からVMゲストのマイグレーション指示を受信したり、各VMホストとの間のマイグレーションに関する各種通信を送受信したりする。VM構成管理テーブル52は、半導体メモリ素子やハードディスクなどの記憶装置であり、VM管理装置50の管理下にあるVMホストおよびVMゲストに関する情報を記憶する。例えば、VM構成管理テーブル52は、サーバのIPアドレス、サーバで稼動するVMホスト、VM環境を提供するVM管理ソフト、VMホストで利用可能なリソース状況、動作しているVMゲストの数および各リソース状況などを記憶する。なお、ここで記憶される情報は、任意に設定変更でき、管理者等によって登録および更新されてもよく、各サーバから定期的に取得するようにしてもよい。また、VM管理装置50の制御部53は、VM構成管理テーブル52が記憶する情報を、移動管理装置30に定期的に送信するようにしてもよい。制御部53は、内部メモリ等を有するCPUなどの電子回路であり、VM管理装置50が実行する各種処理を制御する。例えば、制御部53は、移動管理装置30からマイグレーション指示として、移動種別とVMゲストとVMホストとを受信する。そして、制御部53は、移動種別がcoldであれば、指示されたVMゲストの移動元VMホストと移動先VMホストとにコールドマイグレーション指示を送信する。なお、ここで実行されるマイグレーションは、一般的なマイグレーションであるので詳細な説明は省略する。例えば、マイグレーション指示とは、移動対象VMゲストの作成指示、メモリ内容をコピーするプレコピー指示およびストップアンドコピー指示、移動が完了したVMゲストの起動指示、移動元へのVMゲスト削除指示などがある。サーバの構成次に、図1に示した各サーバの構成について説明する。図2に示すように、サーバ60は、通信制御I/F部61と制御部62とを有する。通信制御I/F部61は、少なくとも1つのポートを有し、サーバ60とVM管理装置50との間の通信を制御するインタフェースである。例えば、通信制御I/F部61は、上記マイグレーション指示をVM管理装置50から受信して、制御部62に通知する。制御部62は、内部メモリ等を有するCPUなどの電子回路であり、サーバ60における各種処理を実行する。例えば、制御部62は、VM管理ソフトを稼動させてVMホストを実行し、VMホスト上でVMゲストを動作させて仮想マシン環境を実現する。また、制御部62は、VM管理装置50から受信したマイグレーション指示に従って、VMゲスト作成、プレコピー、ストップアンドコピー、VM起動、VM削除などのマイグレーション処理を実行する。[処理の流れ]次に、図14~図18を用いて、移動管理装置30が実行する各処理の流れを説明する。ここでは、図14を用いて全体的な処理の流れを説明し、図15を用いてVMゲスト候補生成処理の流れを説明する。また、図16を用いて移動先候補のVMホストリスト生成処理の流れを説明し、図17を用いて移動可能判定処理の流れを説明し、図18を用いて移動種別決定処理の流れを説明する。全体的な処理の流れ図14は、移動管理装置30が実行する処理の全体的な流れを説明するフローチャートである。図14に示すように、移動管理装置30のVMホスト生成部35は、クライアント装置10からVM処理開始指示を受信するとS101肯定、図13に例示したTOP画面をクライアント装置10に送信するS102。また、VM処理開始指示は、入力部32を介して管理者から受信することもできる。続いて、VMホスト生成部35は、TOP画面のSourceVMHostListフィールドにVMホスト名を表示させた画面をクライアント装置10に送信し、移動元VMホストの選択を受け付けるS103。例えば、VMホスト生成部35は、VM処理開始指示を受け付けると、VMホストテーブル34bに記憶されるVMホストをsrc_vm_hosts変数に格納して、移動元VMホストを選択させる画面をクライアント装置10に送信する。そして、VMゲスト候補生成部36は、移動元VMホストの選択を受け付けるとS103肯定、選択されたVMホストで動作するVMゲストをSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信するS104。続いて、移動先候補生成部37は、VMゲスト候補生成部36が生成した画面上で、移動対象とするVMゲストの選択を受け付けるS105肯定。その後、移動先候補生成部37は、選択されたVMゲストの移動先候補をTargetVMHostListフィールドに表示させた画面をクライアント装置10に送信するS106。このとき、移動先候補生成部37は、移動元VMホストのVM管理ソフト等に基づいて、移動先候補のVMホストを決定する。そして、移動判定部38は、移動先候補生成部37が生成した画面上で、移動先候補とするVMホストの選択を受け付けるS107肯定。その後、移動判定部38は、S103で選択されたVMゲストがS107で選択されたVMホストに移動可能か否かをシミュレーションによって判定するS108。そして、移動種別決定部39は、移動判定部38によって移動可能と判定されたVMホストを移動先として決定しS109肯定、S103で選択されたVMゲストの電源状態に応じて移動種別を決定するS110。一方、移動判定部38は、ユーザが選択したVMホストに移動不可能と判定した場合にはS109否定、S106に戻って、他のVMホストをユーザに選択させた後、S107以降の処理を実行する。そして、移動指示部40は、移動対象の全VMゲストに対してS103~S110までの処理が終了したとユーザが判定しS111肯定、クライアント装置10に表示される画面上でOKボタンがクリックされるとS112肯定、S113を実行する。すなわち、移動指示部40は、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、移動種別決定部39によって決定された移動先に、移動種別決定部39によって決定された移動方式で、VMゲスト各々を移動させる。一方、ユーザが他のVMゲストに対してもS103~S110までの処理を実行すると判定した場合S111否定、S103以降の処理が繰り返される。VMゲスト候補生成処理の流れ図15は、VMゲスト候補生成処理の流れを説明するフローチャートである。この処理は、図14に示したS104~S105で実行される。以降で説明するフローチャートは、VMホスト生成部35が表示させたVMホスト一覧の中から1つのVMホストが選択された状態から実行される。VMゲスト候補生成部36は、処理を開始すると初期化を実施するS201。すなわち、VMゲスト候補生成部36は、src_vm_guests変数を空にする。また、VMゲスト候補生成部36は、src_vm_guests変数を生成するのに使用する調査リストに、ユーザによって選択されたVMホストで動作するVMゲストをVMホストテーブル34bおよびVMゲストテーブル34dから特定して格納する。続いて、VMゲスト候補生成部36は、調査リストに情報が格納されている場合にはS202肯定、移動対象候補を表示させた画面を生成してクライアント装置10に送信する。すなわち、VMゲスト候補生成部36は、src_vm_guests変数に格納されたデータに基づいて、移動対象候補を表示させるS207。また、VMゲスト候補生成部36は、調査リストに情報が格納されていない場合にはS202否定、調査リストからVMゲストを1つ読み出し、臨時変数としてメモリ等に格納するS203。続いて、VMゲスト候補生成部36は、臨時変数に格納したVMゲストの電源状態をVMテーブル34cから特定し、電源状態が正常であるか否かを判定するS204。ここで、VMゲスト候補生成部36は、当該VMゲストの電源状態がunknownでない場合には正常であると判定する。そして、VMゲスト候補生成部36は、当該VMゲストの電源状態が正常である場合にはS204肯定、当該VMゲストを移動可能候補としてsrc_vm_guests変数に格納しS205、臨時変数を空にした後にS206、S202以降の処理を繰り返す。一方、VMゲスト候補生成部36は、当該VMゲストの電源状態が正常でない場合にはS204否定、当該VMゲストを移動可能候補とせずに臨時変数を空にした後にS206、S202以降の処理を繰り返す。移動先候補のVMホストリスト生成処理の流れ図16は、移動先候補のVMホストリスト生成処理の流れを説明するフローチャートである。この処理は、図14に示したS106~S107で実行される。移動先候補生成部37は、ユーザによって移動先対象のVMゲストが選択されると、当該VMゲストのキーとして、VMゲストと対応付けられてsrc_vm_guests変数に格納されるHash_keyを取得するS301。続いて、移動先候補生成部37は、Hash_key=2をキーにしてVMホストテーブル34bのIDを検索して、Hash_key=2に対応するNAME=Host_bとapi_type=APIBを抽出するS302。そして、移動先候補生成部37は、移動先候補VMホストリストを生成するのに使用する一時的なバッファである管理ソフトリストと移動先VMホスト候補リストを空にする初期化を実行するS303。その後、移動先候補生成部37は、S302で特定した移動元VMホストのapi_typeが所定の管理ソフトであるか否かを判定するS304。そして、移動先候補生成部37は、移動元VMホストのapi_typeが所定の管理ソフトである場合S304肯定、所定の管理ソフトを動作させるVMホストをVMホストテーブル34bから特定して移動先VMホスト候補リストに格納するS305。このとき、移動先候補生成部37は、移動先VMホスト候補リストに格納した情報をdst_vm_hosts変数にも格納する。その後、移動先候補生成部37は、移動先VMホスト候補リストやdst_vm_hosts変数に格納されるVMホストを、移動先候補のVMホストとしてクライアント装置10に表示させるS306。なお、所定の管理ソフトであるか否かを判定した後に移動先VMホスト候補を作成する例としては、例えば移動元VMホストと同じメーカの管理ソフトを使用しているか否かなどを判定してもよい。また、仮想化環境を提供する仮想化ソフトウェアのプラットフォームが同じものか否か、すなわち、ハードウェアレベルで提供しているのか、ソフトウェアレベルで提供しているのか、言語レベルなのかを判定してもよい。また、S304およびS305で実行される別の処理例としては、移動先候補生成部37は、移動元VMホストの管理ソフトと同一の管理ソフトを動作させるVMホストを特定するようにしてもよい。一方、移動先候補生成部37は、移動元VMホストのapi_typeが所定の管理ソフトでない場合S304否定、移動元VMホストの管理ソフトを管理ソフトリストに格納するS307。すなわち、移動先候補生成部37は、移動元VMホストにインストールされて動作する管理ソフトをサーバプロファイルテーブル34eから特定して、管理ソフトリストに格納する。そして、移動先候補生成部37は、管理ソフトリストに格納される管理ソフトが1つ以上である場合S308肯定、管理ソフトリストから管理ソフト1つを取得して臨時変数に格納するS309。このとき、移動先候補生成部37は、臨時変数に格納した管理ソフトを管理ソフトリストから削除する。なお、管理ソフトリストに格納される管理ソフトが1つもない場合S308否定、移動先候補生成部37はS312を実行する。続いて、移動先候補生成部37は、臨時変数に格納した管理ソフトが管理するVMホストが1つ以上であるか否かを判定するS310。具体的には、移動先候補生成部37は、臨時変数に格納した管理ソフトが属するソフトウェアグループを管理ソフトテーブル34gから特定する。そして、移動先候補生成部37は、特定したソフトウェアテーブルに属する管理ソフトを動作させるVMホストを、VM管理テーブル34fおよびVMテーブル34cから特定する。こうすることで、移動先候補生成部37は、移動元VMホストと同種の仮想化環境を提供するVMホストを特定することができる。そして、移動先候補生成部37は、臨時変数に格納した管理ソフトが管理するVMホストが1つ以上である場合S310肯定、当該管理ソフトが管理するVMホストを移動先VMホスト候補リストに格納するS311。このとき、移動先候補生成部37は、移動元VMホストについては格納対象外とする。また、移動先候補生成部37は、移動先VMホスト候補リストに格納した情報をdst_vm_hosts変数にも格納する。その後、移動先候補生成部37は、臨時変数に格納される情報を削除する初期化を行ってS312、S308以降の処理を繰り返す。また、移動先候補生成部37は、S310において、臨時変数に格納した管理ソフトが管理するVMホストが1つもないと判定した場合S310否定、S312を実行する。移動可能判定処理の流れ図17は、移動可能判定処理の流れを説明するフローチャートである。この処理は、図14に示したS108~S109で実行される。移動判定部38は、移動先候補生成部37によって特定された移動先候補VMホストリストからユーザによって選択された移動先候補VMホストの移動決定済みVMゲストリストが未設定であるか否かを判定するS401。すなわち、移動判定部38は、移動先候補のVMホストを移動先とする他のVMゲストが存在するか否かを示す移動決定済みVMゲストリストが存在するか否かを判定する。そして、移動判定部38は、移動決定済みVMゲストリストが未設定である場合S401肯定、移動決定済みVMゲストリストの初期化を実行するS402。例えば、移動判定部38は、移動決定済みVMゲストリストに記憶されるデータを削除する。一方、移動判定部38は、移動決定済みVMゲストリストが設定済みである場合S401否定、移動決定済みVMゲストリストを表示した画面をクライアント装置10に送信するS403。こうすることで、移動判定部38は、ユーザに、移動決定済みVMゲストに対する再考機会を与えることができる。その後、移動判定部38は、移動先候補のVMホストを移動先とするVMゲストをまとめた複数VMゲストリストを生成するS404。続いて、移動判定部38は、移動先候補のVMホストで動作するVM管理ソフトが複数移動に対応しているか否かを、VM管理テーブル34fに記憶されるmanagingsなどの情報を用いて判定するS405。そして、移動判定部38は、VM管理ソフトが複数移動に対応している場合S405肯定、マイグレーションコマンド等の引数に、複数VMゲストを設定しS406、シミュレーションを実行するS407。その後、移動判定部38は、シミュレーション結果を表示した画面をクライアント装置10に送信するS408。例えば、移動判定部38は、同一のVMホストに、複数のVMゲストのマイグレーションを同時に実行したり、連続して実行したり、先に決定されていたVMゲストを移動させた状態で次に移動可能か否かを判定したりするなど任意のシミュレーションを実行する。なお、移動判定部38は、シミュレーションによる判定手法として、リソース状況の比較コマンドの発行などを実行する。一方、移動判定部38は、VM管理ソフトが複数移動に対応していない場合S405否定、各VMゲストのリソースを加算した1つのVMリストを移動条件として生成するS406。そして、移動判定部38は、S407以降で、この移動条件が移動先候補のVMゲストで移動可能か否かを判定する。移動種別決定処理の流れ図18は、移動種別決定処理の流れを説明するフローチャートである。この処理は、図14に示したS110で実行される。この処理は、移動先が決定されたVMゲスト各々について実行される。なお、ここでは、移動種別決定部39が移動対象のVMゲストに適した移動種別を決定する例を説明するが、これに限定されるものではない。例えば、ユーザに適切な移動種別を表示し、ユーザが最終的に移動種別を決定することもできる。まず、移動種別決定部39は、移動判定部38によって移動対象のVMゲストおよび移動先VMホストが決定されると、クライアント装置10に表示されている画面の移動種別を非活性化にするS501。つまり、移動種別決定部39は、図13に示した画面上のColdMigrationフィールドおよびLiveMigrationフィールドを非活性化状態にする。続いて、移動種別決定部39は、移動対象のVMゲストの電源状態をVMテーブル34cから特定するS502。そして、移動種別決定部39は、当該VMゲストの電源状態がONである場合には、ColdMigrationフィールドおよびLiveMigrationフィールドの両方を活性化するS503。その後、移動種別決定部39は、当該VMゲストのアイコンをLiveMigrationフィールドに表示させるS504。また、移動種別決定部39は、当該VMゲストの電源状態がOFFである場合には、ColdMigrationフィールドを活性化するS505。その後、移動種別決定部39は、当該VMゲストのアイコンをColdMigrationフィールドに表示させるS506。また、移動種別決定部39は、当該VMゲストの電源状態がunknownである場合には、ColdMigrationフィールドおよびLiveMigrationフィールドの両方を非活性化するS507。すなわち、移動種別決定部39は、移動不可能と判定する。なお、移動種別決定部39は、S502~S506によって移動種別が決定された場合には、移動先VMホストを示すHash_key、移動対象VMゲストを示すID、移動種別を示すmigration_typeを各テーブルおよび各変数から取得する。そして、移動種別決定部39は、取得した情報を対応付けてmigration_lists変数に格納する。[画面遷移例]次に、移動管理装置30がクライアント装置10に送信する画面の具体例を説明する。ここでは、具体例1として、図19~図24を用いて、移動対象のVMゲストを決定して移動先を決定した後に移動種別を決定する例を説明する。また、具体例2として、図25~図40を用いて、複数のVMゲストの移動先を決定する例について説明する。なお、各具体例で説明する画面の基本構成は、図13と同様である。すなわち、各具体例で説明する画面例は、SourceVMHostListフィールドと、SourceVMGuestListフィールドと、TargetVMHostListフィールドと、ColdMigrationフィールドと、LiveMigrationフィールドとを有する。さらに、各具体例で説明する画面例は、OKボタンとCancelボタンとを有する。具体例1図19は、TOP画面例を示す図であり、図20は、移動対象のVMゲスト一覧を表示させた画面例を示す図であり、図21は、移動先候補のVMホスト一覧を表示させた画面例を示す図である。図22は、移動先候補として1つのVMホストが選択された画面例を示す図であり、図23は、移動先のVMホストが決定された画面例を示す図であり、図24は、移動種別が決定された画面例を示す図である。移動管理装置30のVMホスト生成部35は、クライアント装置10から送信されたVMゲストのマイグレーション処理開始指示が通信制御I/F部31等によって受け付けられると、図19に示すTOP画面をクライアント装置10に送信する。具体的には、VMホスト生成部35は、図13に示した各フィールドを有する画面において、VMホストテーブル34b等から取得したVMホスト名NAMEをSourceVMHostListフィールドに表示させた画面をクライアント装置10に送信する。ここでは、VMホスト生成部35は、Host_a、Host_b、Host_cを表示したとする。続いて、VMゲスト候補生成部36は、図19の画面例においてHost_cがクライアント装置10によって選択されると、移動元VMホストをHost_cと決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照し、Host_cで動作しているVMゲストとしてGuest_c1とGuest_c3を抽出する。そして、VMゲスト候補生成部36は、図20に示すように、Guest_c1とGuest_c3をSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信する。その後、移動先候補生成部37は、図20の画面例においてGuest_c1がクライアント装置10において選択されると、各テーブルを参照して、移動元VMホストHost_cと同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。続いて、移動先候補生成部37は、図21に示すように、移動先候補のVMホストとしてHost_a、Host_d、Host_eをTargetVMHostListフィールドに表示させた画面をクライアント装置10に送信する。この状態で、図22に示すように、クライアント装置10によってHost_aが選択された場合、移動判定部38は、移動対象VMゲストGuest_c1がHost_aに移動可能か否かを移動シミュレーションによって判定する。そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、VMゲストGuest_cの電源状態がONであることをVMゲストテーブル34eから特定する。その後、移動種別決定部39は、図23に示すように、ColdMigrationフィールドとLiveMigrationフィールドとを活性化した状態の画面をクライアント装置10に送信する。この状態の画面例は、SourceVMHostListフィールドのHost_c、SourceVMGuestListフィールドのGuest_c1、TargetVMHostListフィールドのHost_aが選択された状態である。その後、移動種別決定部39は、図24に示すように、VMゲストGuest_cの電源状態がONであることより、LiveMigrationフィールドにGuest_cを表示させた画面をクライアント装置10に送信する。このようにして、各VMゲストに対して移動種別が決定された後に、OKがクリックされると、移動指示部40は、migration_lists変数を参照し、LiveMigrationフィールドに表示されるGuest_cの移動の開始指示をVM管理装置に送信する。そして、VM管理装置は、移動元VMホストおよび移動先VMホストのそれぞれに、ライブマイグレーション指示を送信する。具体例2図25は、TOP画面例を示す図であり、図26は、移動対象のVMゲスト一覧を表示させた画面例を示す図であり、図27は、移動先候補のVMホスト一覧を表示させた画面例を示す図である。図28は、移動先候補として1つのVMホストが選択された画面例を示す図であり、図29は、移動先のVMホストが決定された画面例を示す図であり、図30は、移動種別が決定された画面例を示す図である。図31は、既に他のVMゲストの移動が決定された状態で別の移動元VMホストが選択された画面例を示す図であり、図32は、図31の状態から移動対象のVMゲストが選択された画面例を示す図である。図33は、図32の状態から移動先候補のVMホストが選択された画面例を示す図であり、図34は、図33の状態から移動先のVMホストが決定した画面例を示す図であり、図35は、図34の状態から移動種別が決定された画面例を示す図である。図36は、図35の状態からさらに続けて他のVMゲストの移動先を決定する画面例を示す図であり、図37は、図36の状態から移動先対象のVMゲストが選択された画面例を示す図である。図38は、移動先候補として選択されたVMホストに既に別のVMゲストの移動が決定されている画面例を示す図である。図39は、図38の状態から移動種別が決定された画面例を示す図であり、図40は、1つのVMホストに複数のVMゲストが移動することが決定された画面例を示す図である。移動管理装置30のVMホスト生成部35は、クライアント装置10から送信されたVMゲストのマイグレーション処理開始指示が通信制御I/F部31等によって受け付けられると、図25に示すTOP画面をクライアント装置10に送信する。具体的には、VMホスト生成部35は、VMホストテーブル34b等から取得したVMホスト名NAMEをSourceVMHostListフィールドに表示させた画面をクライアント装置10に送信する。ここでは、VMホスト生成部35は、Host_a、Host_b、Host_cを表示したとする。続いて、VMゲスト候補生成部36は、図25の画面例においてHost_bがクライアント装置10によって選択されると、移動元VMホストをHost_bと決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照し、Host_bで動作しているVMゲストとしてGuest_b1とGuest_b2とGuest_b3とを抽出する。そして、VMゲスト候補生成部36は、図26に示すように、Guest_b1とGuest_b2とGuest_b3をSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信する。その後、移動先候補生成部37は、図26の画面例においてGuest_b2がクライアント装置10において選択されると、各テーブルを参照し、移動元VMホストHost_bと同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。続いて、移動先候補生成部37は、図27に示すように、移動先候補のVMホストとして、Host_f、Host_gをTargetVMHostListフィールドに表示させた画面をクライアント装置10に送信する。この状態で、図28に示すように、クライアント装置10によってHost_gが選択された場合、移動判定部38は、移動対象VMゲストGuest_b2がHost_gに移動可能か否かを移動シミュレーションによって判定する。そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、移動対象VMゲストGuest_b2の電源状態に基づいてフィールドを活性化させた画面をクライアント装置10に送信する。ここでは、移動種別決定部39は、VMゲストGuest_b2の電源状態がOFFであることをVMゲストテーブル34eから特定する。すると、移動種別決定部39は、図29に示すように、ColdMigrationフィールドを活性化した状態の画面をクライアント装置10に送信する。その後、移動種別決定部39は、図30に示すように、VMゲスト電源状態がOFFであるGuest_b2をColdMigrationフィールドに表示させた画面をクライアント装置10に送信する。続いて、図30の状態からSourceVMHostListフィールドのHost_cがクライアント装置10において選択されると、VMゲスト候補生成部36は、移動元VMホストをHost_cと決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照して、Host_cで動作しているVMゲストとしてGuest_c1とGuest_c3を抽出する。そして、VMゲスト候補生成部36は、図31に示すように、Guest_c1とGuest_c3をSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信する。その後、移動先候補生成部37は、図31の画面例においてGuest_c1がクライアント装置10によって選択されると、各テーブルを参照して、移動元VMホストHost_cと同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。続いて、移動先候補生成部37は、図32に示すように、移動先候補のVMホストとしてHost_a、Host_d、Host_eをTargetVMHostListフィールドに表示させた画面をクライアント装置10に送信する。この状態で、図33に示すように、クライアント装置10においてHost_aが選択された場合、移動判定部38は、移動対象VMゲストGuest_c1がHost_aに移動可能か否かを移動シミュレーションによって判定する。そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、移動対象VMゲストGuest_c1の電源状態に基づいてフィールドを活性化させた画面をクライアント装置10に送信する。ここでは、移動種別決定部39は、VMゲストGuest_c1の電源状態がONであることをVMゲストテーブル34eから特定する。そして、移動種別決定部39は、図34に示すように、ColdMigrationフィールドとLiveMigrationフィールドとを活性化した状態の画面をクライアント装置10に送信する。その後、図35に示すように、移動種別決定部39は、VMゲストGuest_c1の電源状態がONであることより、LiveMigrationフィールドにGuest_c1を表示させた画面をクライアント装置10に送信する。つまり、ここまでの状態では、移動管理装置30は、VMホストHost_bで動作するGuest_b2をコールドマイグレーションでHost_gに移動させることが決定されている。さらに、移動管理装置30は、VMホストHost_cで動作するGuest_c1をライブマイグレーションでHost_aに移動させることが決定されている。さらに続いて、図36に示すように、図35の状態からSourceVMHostListフィールドのHost_bがクライアント装置10において選択されると、VMゲスト候補生成部36は、移動元VMホストをHost_bと決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照して、Host_bで動作しているVMゲストとしてGuest_b1とGuest_b3を抽出する。そして、VMゲスト候補生成部36は、図36に示すように、Guest_b1とGuest_b3をSourceVMGuestListフィールドに表示させた画面をクライアント装置10に送信する。ここで、クライアント装置10がGuest_b3を選択したとする。なお、VMゲスト候補生成部36は、Guest_b2については、既に移動先が決定されているので、Host_bが移動元と選択されたとしても移動対象からは除外する。その後、移動先候補生成部37は、Guest_b3がクライアント装置10において選択されると、各テーブルを参照して、移動元VMホストHost_bと同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。すなわち、移動先候補生成部37は、図37に示すように、移動先候補のVMホストとして、Host_f、Host_gをTargetVMHostListフィールドに表示させた画面をクライアント装置10に送信する。この状態で、図38に示すように、クライアント装置10においてHost_gが選択された場合、移動判定部38は、移動対象VMゲストGuest_b3がHost_gに移動可能か否かを移動シミュレーションによって判定する。このとき、移動判定部38は、Guest_b2の移動先としてHost_gが既に決定されているので、クライアント装置10がHost_gが選択すると、ColeMigrationフィールドにGuest_b2を表示させた画面をクライアント装置10に送信する。また、移動判定部38は、Host_gがGuest_b2の移動先として決定されている状態で、新たなGuest_b3の移動先候補として選択されたことから、両方が移動可能か否かを判定する。なお、判定手法については、構成等で説明したので省略する。また、移動判定部38は、図38の状態では、Guest_b3の電源状態を特定していないので、ColdMigrationフィールドとLiveMigrationフィールドとを非活性化にした状態で、ColdMigrationフィールドにGuest_b2を表示させる。そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、移動対象VMゲストGuest_b3の電源状態に基づいてフィールドを活性化させた画面をクライアント装置10に送信する。ここでは、移動対象VMゲストGuest_b3の電源状態がONであることより、移動種別決定部39は、図39に示すように、ColdMigrationフィールドとLiveMigrationフィールドとを活性化した状態の画面をクライアント装置10に送信する。その後、図40に示すように、移動種別決定部39は、VMゲストGuest_b3の電源状態がONであることより、LiveMigrationフィールドにGuest_b3を表示させた画面をクライアント装置10に送信する。つまり、ここまでの状態では、移動管理装置30は、VMホストHost_bで動作するGuest_b2をコールドマイグレーションでHost_gに移動させることが決定されている。さらに、移動管理装置30は、VMホストHost_cで動作するGuest_c1をライブマイグレーションでHost_aに移動させることが決定されている。さらに、移動管理装置30は、VMホストHost_bで動作するGuest_b3をライブマイグレーションでHost_gに移動させることが決定されている。このようにして、各VMゲストに対して移動種別が決定された後に、OKがクリックされると、移動指示部40は、移動先および移動種別が決定されたVMゲストのマイグレーションを実行する。具体的には、移動指示部40は、migration_lists変数を参照し、ColdMigrationフィールドおよびLiveMigrationフィールドに表示される各VMゲストの移動の開始指示をVM管理装置に送信する。そして、VM管理装置は、移動元VMホストおよび移動先VMホストのそれぞれに、マイグレーション指示を送信する。この結果、各VMホストは、指示されたVMゲストに対してマイグレーションを実行できる。[実施例2による効果]実施例2によれば、VMホストやVM管理装置の負荷を意識することなく、任意のVMゲストの移動を複数VMホストに移動できる。移動管理装置30は、VMゲストのマイグレーションに関する処理の内容をWeb画面でクライアント装置に送信するので、ユーザは、簡単な操作で複数の移動設定を行うことができる。移動管理装置30は、一括でVMゲストの移動指示を実行できるため、管理者は、移動設定および移動実施後の正常終了の確認など、VMゲストの移動処理を実行するのに要する拘束時間を短縮することができる。この結果、管理者は、仕事の効率の向上も図れる。また、VMゲストを1つずつ移動させるより、全体移動処理時間を短縮することができ、サーバの負荷軽減にも繋がる。さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。Web画面実施例2では、移動管理装置30がWeb画面を生成してクライアント装置10に送信する例について説明したが、これに限定されるものではない。例えば、移動管理装置30は、自装置が有する表示部33に表示させて、表示部33に表示させた画面からユーザの操作を受け付けるようにしてもよい。また、移動管理装置30は、移動種別の結果などについて、アイコンに対するドラッグドロップを受け付けて、ユーザの選択を受け付けることもできる。自動実行例えば、移動管理装置30は、Web画面を生成してユーザに問い合わせずに、各テーブルの情報を用いて、移動先VMホストや移動種別を決定することもできる。つまり、移動管理装置30は、移動対象であるVMゲスト各々を各テーブルから特定する。そして、移動管理装置30は、各VMゲストについて、当該VMゲストの移動をシミュレーションして、移動先を決定する。さらに、移動管理装置30は、移動先が決定されたVMゲストの電源状態に基づいて、当該VMゲストの移動方式を決定する。その後、移動管理装置30は、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、決定された移動先に、決定された移動方式で、VMゲスト各々を移動させる。このように、移動管理装置30が、各テーブルを用いて、全ての処理を自動で実行することもできる。また、移動管理装置30は、実施例2等で説明した処理のうち、移動種別決定結果など一部分だけをWeb画面として生成するようにしてもよい。つまり、移動管理装置30は、移動種別等を自動で決定できるだけでなく、ユーザからの指定をクライアント装置10に表示させた画面等から受け付けることもできる。この場合、移動管理装置30は、管理者等の指示または設定によって、自動決定を優先してもよく、ユーザ指定を優先してもよい。マイグレーション指示順序実施例2では、コールドマイグレーションを先に実行した後に、ライブマイグレーションを実行する例について説明したが、これに限定されるものではない。例えば、管理者等によって、移動先ホスト等が指定されている場合には、指定された移動先ホストへのマイグレーションを実行した後に、他の移動先にマイグレーションを実行することができる。したがって、移動先ホストや移動元ホストの負荷状況、VM管理装置の負荷状況、ネットワーク使用率等を考慮して、任意に設定変更することができる。システムまた、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、例えば図3~図12等に示した各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば移動判定部38と移動種別決定部39とを統合するなど各装置の分散統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。プログラムところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図41は、移動管理プログラムを実行するコンピュータの例を示す図である。図41に示すように、コンピュータ100は、RAM101と、HDD102と、ROM103と、CPU104と、記録媒体読み取り装置105とを有する。HDD102には、図2に示したテーブル34a~34g各々と同様の機能を有するテーブルが設けられる。すなわち、HDD102には、変数管理テーブル102a、VMホストテーブル102b、VMテーブル102c、VMゲストテーブル102d、サーバプロファイルテーブル102e、VM管理テーブル102f、管理ソフトテーブル102gが設けられる。ROM103には、上の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図41に示すように、ROM103には、移動管理プログラム103aがあらかじめ記憶されている。そして、CPU104には、移動管理プログラム103aを読み出して実行することで、図41に示すように、移動管理プロセス104aを実行する。移動管理プロセス104aは、図2に示した各制御部と同様の動作を実行する。すなわち、移動管理プロセス104aは、VMホスト生成部35、VMゲスト候補生成部36、移動先候補生成部37、移動判定部38、移動種別決定部39、移動指示部40と同様の動作を実行する。ところで、上記した移動管理プログラム103aは、必ずしもROM103に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスクFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの可搬用の物理媒体に記憶させておくようにしてもよい。また、コンピュータ100の内外に備えられるハードディスクドライブHDDなどの固定用の物理媒体に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータに記憶させておいてもよい。そして、コンピュータ100がこれらからプログラムを読み出して実行するようにしてもよい。すなわち、この他の実施例でいうプログラムは、上記した可搬用の物理媒体、固定用の物理媒体、通信媒体などの記録媒体に、コンピュータ読み取り可能に記録されるものである。例えば、コンピュータ100は、記録媒体読み取り装置105によって記録媒体から移動管理プログラムを読み出し、読み出された移動管理プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。"