複数のサーバ装置において動作する複数の仮想マシンが互いに通信を行う通信データ量を取得する取得部と、各サーバ装置間の通信距離に基づき、前記取得部により取得された通信データ量が所定量以上である一対の仮想マシンの何れか一方の仮想マシンを実行するサーバ装置からの通信距離が当該一対の仮想マシンが動作するサーバ装置間の通信距離よりも短いサーバ装置を特定する特定部と、前記特定部により特定されたサーバ装置へ前記一対の仮想マシンの他方の仮想マシンを移動させる処理を実行する移動処理部と、を有することを特徴とする仮想マシン管理装置。前記取得部は、各サーバ装置から通信距離に関する情報を取得し、前記特定部は、各サーバ装置から取得した情報に基づいて各サーバ装置間の通信距離を特定することを特徴とする請求項1に記載の仮想マシン管理装置。前記特定部は、前記一対の仮想マシンの他方の仮想マシンを移動させた場合における当該他方の仮想マシンと通信を行う他の仮想マシンとの通信距離が所定値以上低下し、かつ前記一方の仮想マシンを実行するサーバ装置からの通信距離が前記一対の仮想マシンが動作するサーバ装置間の通信距離よりも短いサーバ装置を特定することを特徴とする請求項1または2に記載の仮想マシン管理装置。前記特定部は、通信データ量が所定量以上かつ通信距離が所定距離以上である一対の仮想マシンについて前記特定を行うことを特徴とする請求項1または2に記載の仮想マシン管理装置。前記特定部は、前記一対の仮想マシンのうち負荷が低いサーバ装置で動作する仮想マシンを前記一方の仮想マシンとし、負荷が高いサーバ装置で動作する仮想マシンを前記他方の仮想マシンとして、前記一方の仮想マシンを実行するサーバ装置からの通信距離が当該一対の仮想マシンが動作するサーバ装置間の通信距離よりも短いサーバ装置を特定することを特徴とする請求項1または2に記載の仮想マシン管理装置。コンピュータに、仮想マシンが動作する各サーバ装置間の通信距離に基づき、通信データ量が所定量以上である一対の仮想マシンの何れか一方の仮想マシンを実行するサーバ装置からの通信距離が当該一対の仮想マシンが動作するサーバ装置間の通信距離よりも短いサーバ装置を特定し、特定されたサーバ装置へ前記一対の仮想マシンの他方の仮想マシンを移動させる処理を実行する各処理を実行させることを特徴とする仮想マシン移動制御プログラム。コンピュータが、仮想マシンが動作する各サーバ装置間の通信距離に基づき、通信データ量が所定量以上である一対の仮想マシンの何れか一方の仮想マシンを実行するサーバ装置からの通信距離が当該一対の仮想マシンが動作するサーバ装置間の通信距離よりも短いサーバ装置を特定し、特定されたサーバ装置へ前記一対の仮想マシンの他方の仮想マシンを移動させる処理を実行する各処理を実行することを特徴とする仮想マシン移動制御方法。しかしながら、従来の技術は、特定の物理サーバに負荷が偏らないように分散できるものの、仮想マシン同士が通信を行い、その仮想マシン同士の通信距離が離れていると、ネットワークのトラフィックが増え、ネットワークに遅延が発生する場合がある。1つの側面では、ネットワークに遅延が発生することを抑制できる仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法を提供することを目的とする。第1の案では、仮想マシン管理装置は、取得部と、特定部と、移動処理部を有する。取得部は、仮想マシン管理装置は、複数のサーバ装置において動作する複数の仮想マシンが互いに通信を行う通信データ量を取得する取得部を有する。特定部は、前記取得部により取得された通信データ量が所定量以上である一対の仮想マシンを特定する。そして、特定部は、各サーバ装置間の通信距離に基づき、特定した一対の仮想マシンの何れか一方の仮想マシンを実行するサーバ装置からの通信距離が当該一対の仮想マシンが動作するサーバ装置間の通信距離よりも短いサーバ装置を特定する。移動処理部は、前記特定部により特定されたサーバ装置へ前記一対の仮想マシンの他方の仮想マシンを移動させる処理を実行する。ネットワークに遅延が発生することを抑制できる。以下に、本発明にかかる仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。実施例1に係る仮想マシン管理装置10について説明する。図1は、仮想マシン管理装置を含むシステムの全体構成を示す図である。仮想マシン管理装置10は、複数のサーバ装置12においてそれぞれ動作する、コンピュータを仮想化した仮想マシンを管理する物理サーバであり、例えば、データセンタや各企業に設けられた管理用のサーバコンピュータである。仮想マシン管理装置10は、ネットワーク11を介してサーバ装置12と互いに通信可能とする。サーバ装置12は、仮想化ソフトウエアを実行して仮想化ソフトウエア上で仮想マシンを動作させる。また、各サーバ装置12は、ネットワーク11を介して互いに仮想マシンのマイグレーションを行うことができる。かかるネットワーク11の一態様としては、有線または無線を問わず、インターネットInternet、LANLocalAreaNetworkやVPNVirtualPrivateNetworkなどの任意の通信網が挙げられる。図1に示すように、仮想マシン管理装置10は、取得部13と、特定部14と、移動処理部15とを有する。取得部13は、サーバ装置12から各種情報を取得する。例えば、取得部13は、サーバ装置12から送信される仮想マシンが互いに通信を行った通信データ量に関する情報を受信することにより、各仮想マシンが互いに通信を行った通信データ量を取得する。特定部14は、仮想マシンの移動先となるサーバ装置を特定する。例えば、特定部14は、通信データ量が所定量以上である一対の仮想マシンを求める。この所定量は、例えば、200バイトなど一定の値として定めてもよい。また、所定量は、ネットワーク11を伝送される全通信データ量の一定の割合として定めてもよい。また、所定量は、ネットワーク11のトラフィック状態に応じて変更してもよい。例えば、ネットワーク11のトラフィックが多い場合は値を低く、ネットワーク11のトラフィックが少ない場合は値を高く変更してもよい。このように、通信データ量が所定量以上である一対の仮想マシンを求めることにより、ネットワーク11への負荷が多い仮想マシンをマイグレーションの候補として抽出できる。特定部14は、各サーバ装置12間の通信距離に基づき、求めた一対の仮想マシンの何れか一方の仮想マシンを実行するサーバ装置12からの通信距離が当該一対の仮想マシンが動作するサーバ装置12間の通信距離よりも短いサーバ装置12を特定する。各サーバ装置12間の通信距離は、管理者などが設定してもよい。また、各サーバ装置12間の通信距離は、各サーバ装置12から取得した情報に基づいて特定してもよい。例えば、特定部14は、各サーバ装置12へ他のサーバ装置12との通信距離の測定を指示し、各サーバ装置12から応答された通信距離を示す情報に基づいて各サーバ装置12間の通信距離を特定してもよい。なお、各サーバ装置12から通信距離を示す情報が得られる場合、特定部14は、各サーバ装置12へ通信距離の測定の指示を行わなくてもよい。通信距離としては、例えば、ホップ数が挙げられる。ホップ数は、通信相手に到達するまでにパケットが経由したルータなどの中継装置の数を示す。通信経路が、ルータによって複数のネットワークが接続された構成の場合、各ネットワークの通信状態が異なる場合がある。また、ルータ数が多くなるほど中継回数が多くなり、通信データの中継の処理時間も多くなる。このため、中継されるルータが多くなるほどネットワークの遅延やデータ損失が起こりやすくなる。すなわち、ホップ数が多いほど遅延やデータ損失しやすくなる。このため、ホップ数は、ネットワーク上での通信距離を表す情報として用いることができる。ホップ数は、TTLTimeToLiveを1から順にカウントアップさせながら通信相手に対して例えばPINGPacketInternetGroperを送信することにより、測定できる。移動処理部15は、仮想マシンを移動させる処理を実行する。例えば、移動処理部15は、特定部14により特定されたサーバ装置12へ一対の仮想マシンの他方の仮想マシンを移動させる処理を実行する。この移動させる処理は、例えば、各サーバ装置12上で実行された仮想化ソフトウエアが仮想マシンの移動を行う場合、仮想マシンの移動元、移動先のサーバ装置12に対して移動を指示する処理である。また、例えば、仮想マシン管理装置10が管理する仮想マシンに関する情報を変更することにより、仮想マシンの移動を行う場合、仮想マシンが移動先のサーバ装置12で動作するように仮想マシンに関する情報を更新する処理である。なお、図1の例では、機能的な構成を示したため、取得部13、特定部14、移動処理部15を別に分けているが、例えば、1つのデバイスで構成してもよい。デバイスの一例としては、CPUCentralProcessingUnitやMPUMicroProcessingUnitなどの電子回路が挙げられる。なお、デバイスとして、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路を採用することもできる。このように、仮想マシン管理装置10は、複数のサーバ装置12において動作する複数の仮想マシンが互いに通信を行う通信データ量を取得する。また、仮想マシン管理装置10は、通信データ量が所定量以上である一対の仮想マシンを求める。仮想マシン管理装置10は、各サーバ装置12間の通信距離に基づき、一対の仮想マシンの何れか一方の仮想マシンを実行するサーバ装置12からの通信距離が当該一対の仮想マシンが動作するサーバ装置12間の通信距離よりも短いサーバ装置12を特定する。そして、仮想マシン管理装置10は、特定されたサーバ装置12へ一対の仮想マシンの他方の仮想マシンを移動させる処理を実行する。この結果、特定されたサーバ装置12へ他方の仮想マシンが移動し、通信データ量が所定量以上である一対の仮想マシンが動作するサーバ装置12間の通信距離が短くなる。これにより、ネットワーク11の一部で一対の仮想マシン間の通信データが流れなくなり、ネットワーク11全体でのトラフィックが減少する。したがって、仮想マシン管理装置10よれば、ネットワーク11に遅延が発生することを抑制できる。また、この仮想マシンの移動により、一対の仮想マシンが動作するサーバ装置12間の通信距離が短くなり、移動前に比べてネットワーク11の遅延やデータ損失が起こりづらくなるため、一対の仮想マシンが安定して通信を行うことができる。実施例2について説明する。実施例2では、複数のサーバ装置30で仮想マシンであるVMゲスト33が動作し、各サーバ装置30で動作するVMゲスト33を管理サーバ40で管理するシステム20について説明する。図2は、実施例2に係るシステムの機能的な構成の一例を示す図である。システム20は、複数のサーバ装置30と、管理サーバ40とを有する。各サーバ装置30と管理サーバ40との間は、ネットワーク21を介して通信可能に接続される。かかるネットワーク21の一態様としては、有線または無線を問わず、インターネット、LANやVPNなどの任意の通信網が挙げられる。サーバ装置30は、仮想マシンであるVMゲスト33を動作させることが可能とされた機器であり、他のサーバ装置30との間でVMゲスト33のマイグレーションを行う。管理サーバ40は、各サーバ装置30で動作するVMゲスト33を管理しており、各サーバ装置30へVMゲスト33のマイグレーション指示を送信する。このマイグレーション指示には、移動対象とするVMゲスト33に関する情報や移動元、移動先を示す情報などの情報が含まれる。なお、図2の例では、サーバ装置30を3つ図示したが、サーバ装置30が2つ、または4つ以上であってもよい。また、図2の例では、管理サーバ40を1つ図示したが、管理サーバ40が2つ以上であってもよい。図2に示すように、サーバ装置30は、記憶部31と、VMホスト32とを有する。記憶部31は、各種情報を記憶する。例えば、記憶部31は、第1テーブル31aを記憶する。記憶部31のデバイスの一例としては、フラッシュメモリやNVSRAMなどのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。第1テーブル31aは、後述するVMホスト32により測定された各VMゲスト33間の通信距離および通信データ量を管理するテーブルである。図3は、サーバ装置の記憶部に記憶された第1テーブルのデータ構成の一例を示す図である。図3に示すように、第1テーブル31aは、通信元仮想サーバ名、通信先仮想サーバ名、距離、通信データ量の各項目を有する。通信元仮想サーバ名の項目は、通信元となるVMゲスト33の名前を記憶する領域である。通信先仮想サーバ名の項目は、通信先となるVMゲスト33の名前を記憶する領域である。距離の項目は、通信を行うVMゲスト33間の通信距離を記憶する領域である。本実施例では、通信距離としてホップ数を記憶する。通信データ量の項目は、通信を行うVMゲスト33間の通信データ量を記憶する領域である。通信データ量は、例えば、ビット単位やバイト単位としてもよい。また、通信データ量は、例えば、bpsBitsPerSecondなどの単位時間あたりの通信データ量としてもよい。本実施例では、通信データ量の項目はキロビット単位での通信データ量を示す。図3の例では、名前がAのVMゲスト33は、名前がBのVMゲスト33と通信を行っており、通信距離が5であり、通信データ量が100であることを示す。また、名前がAのVMゲスト33は、名前がCのVMゲスト33と通信を行っており、通信距離が3であり、通信データ量が200であることを示す。また、名前がAのVMゲスト33は、名前がDのVMゲスト33と通信を行っており、通信距離が3であり、通信データ量が300であることを示す。VMホスト32は、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウエアの制御プログラムであり、VMゲスト33を動作させる制御を行う。また、VMホスト32は、管理サーバ40から受信したマイグレーション指示に応じて、他のサーバ装置30との間でのVMゲスト33のマイグレーションの制御を行う。VMゲスト33は、VMホスト32によって提供された環境でユーザに提供される処理を担う仮想マシンである。VMゲスト33は、仮想環境においてアプリケーションやファームウェアなどのプログラムの処理を実行する。また、VMゲスト33は、他のVMゲスト33と通信を行うことができる。各サーバ装置30のVMホスト32は、動作させている各VMホスト32の通信状態を監視しており、各VMホスト32と他のVMホスト32とのホップ数を測定する。また、VMホスト32は、各VMホスト32と他のVMホスト32とそれぞれ所定の期間の間に互いに通信を行う通信データ量を測定する。この所定の期間は、各VMゲスト33間の平均的な通信データ量を測定できる期間であれば特に限定されず、例えば、数秒から数分の期間であってもよい。ホップ数や通信データ量を測定するタイミングは、日毎や週毎など一定期間毎であってもよく、サーバ装置30から通信データ量の測定が指示されたタイミングとしてもよい。VMホスト32は、測定したVMゲスト33間のホップ数および通信データ量を第1テーブル31aに記憶する。また、VMホスト32は、測定したホップ数および通信データ量を管理サーバ40へ送信する。VMホスト32は、測定したホップ数および通信データ量の送信が完了とすると、第1テーブル31aに記憶されたホップ数および通信データ量を消去する。管理サーバ40は、通信制御I/F部41と、記憶部42と、制御部43とを有する。通信制御I/F部41は、少なくとも1つのポートを有し、各サーバ装置30と管理サーバ40との間の通信を制御するインタフェースである。例えば、通信制御I/F部41は、サーバ装置30へVMゲスト33のマイグレーション指示を送信する。また、通信制御I/F部41は、各サーバ装置30のVMホスト32から送信された各VMゲスト33間のホップ数および通信データ量を受信する。記憶部42は、各種情報を記憶する。例えば、記憶部42は、第2テーブル42aおよび第3テーブル42bを記憶する。記憶部42のデバイスの一例としては、フラッシュメモリやNVSRAMなどのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。第2テーブル42aは、管理サーバ40の管理下にあるVMホスト32およびVMゲスト33を管理するテーブルである。図4は、管理サーバの記憶部に記憶された第2テーブルのデータ構成の一例を示す図である。図4に示すように、第2テーブル42aは、サーバ装置名、VMホスト名、VMゲスト名の各項目を有する。サーバ装置名の項目は、各サーバ装置30の名前を記憶する領域である。VMホスト名の項目は、それぞれのサーバ装置30で動作するVMホスト32の名前を記憶する領域である。VMゲスト名の項目は、各VMゲスト33上で動作するVMゲスト33の名前を記憶する領域である。図4の例では、名前がPM1のサーバ装置30は、名前がaのVMホスト32が動作し、そのVMホスト32上で名前がBのVMゲスト33が動作していることを示す。また、名前がPM2のサーバ装置30は、名前がbのVMホスト32が動作し、そのVMホスト32上で名前がAのVMゲスト33が動作していることを示す。また、名前がPM3のサーバ装置30は、名前がcのVMホスト32が動作し、そのVMホスト32上で名前がCとDのVMゲスト33が動作していることを示す。第3テーブル42bは、各サーバ装置30のVMホスト32から受信した各VMゲスト33間のホップ数および通信データ量を管理するテーブルである。図5は、管理サーバの記憶部に記憶された第3テーブルのデータ構成の一例を示す図である。図5に示すように、第3テーブル42bは、図3に示した第1テーブル31aと同様に、通信元仮想サーバ名、通信先仮想サーバ名、距離、通信データ量の各項目を有する。なお、各項目は、第1テーブル31aと同様であるため、項目の説明を省略する。図5の例では、通信元のVMゲスト33がAであるデータについては、図3に同様のデータが記憶されている。また、図3の例では、通信元のVMゲスト33が、B、C、Dのデータも記憶されている。図3の例では、名前がBのVMゲスト33は、名前がAのVMゲスト33と通信を行っており、通信距離が5であり、通信データ量が100であることを示す。また、名前がBのVMゲスト33は、名前がDのVMゲスト33と通信を行っており、通信距離が10であり、通信データ量が500であることを示す。また、名前がCのVMゲスト33は、名前がAのVMゲスト33と通信を行っており、通信距離が3であり、通信データ量が200であることを示す。また、名前がDのVMゲスト33は、名前がAのVMゲスト33と通信を行っており、通信距離が3であり、通信データ量が300であることを示す。また、名前がDのVMゲスト33は、名前がBのVMゲスト33と通信を行っており、通信距離が10であり、通信データ量が500であることを示す。図2の説明に戻り、制御部43は、例えば、内部メモリ等を有するCPUなどの電子回路であり、VMホスト管理部44と、取得部45と、特定部46と、移動処理部47とを有する。VMホスト管理部44は、各サーバ装置30のVMホスト32およびVMゲスト33を管理する。例えば、VMホスト管理部44は、各サーバ装置30のVMホスト32およびVMゲスト33と通信を行って、各サーバ装置30上で動作するVMホスト32およびVMゲスト33を特定し、第2テーブル42aを更新する。取得部45は、通信制御I/F部41により受信することにより取得した各サーバ装置30のVMホスト32から受信した各VMゲスト33間のホップ数および通信データ量を第3テーブル42bに記憶させる。特定部46は、第3テーブル42bに記憶された各VMゲスト33間のホップ数、および第2テーブル42aに記憶された各VMゲスト33が動作するサーバ装置30の情報に基づき、各サーバ装置30間の通信距離を特定する。図6は、各サーバ装置間の通信距離を特定した結果の一例を示す図である。図6の例では、名前がPM1のサーバ装置30と名前がPM2のサーバ装置30の通信距離は、5であることを示す。また、名前がPM1のサーバ装置30と名前がPM3のサーバ装置30の通信距離は、10であることを示す。また、名前がPM2のサーバ装置30と名前がPM3のサーバ装置30の通信距離は、3であることを示す。特定部46は、第3テーブル42bに記憶された各VMゲスト33間のホップ数および通信データ量に基づき、通信データ量が所定量以上かつ通信距離が所定距離以上である一対のVMゲスト33を検索する。この所定量は、例えば、200ビットなど一定の値としてもよく、ネットワークを伝送される全通信データ量の一定の割合としてもよい。また、所定量は、ネットワーク21のトラフィック状態に応じて変更してもよい。また、所定距離も、例えば、ホップ数が4など一定の値として定めてもよく、ネットワーク21のトラフィック状態に応じて変更してもよい。例えば、ネットワーク21のトラフィックが多い場合は値を低く、ネットワーク21のトラフィックが少ない場合は値を高く変更してもよい。このように、通信距離が所定距離以上である一対のVMゲスト33を求めることにより、以前のマイグレーションにより通信距離が所定距離未満となったVMゲスト33をマイグレーションの候補から除外できる。また、VMゲスト33間の通信距離が小さく、トラフィックの軽減効果が低いVMゲスト33を移動候補から除外できる。特定部46は、検索された一対のVMゲスト33のうち負荷が低いサーバ装置30で動作するVMゲスト33を一方のVMゲスト33と特定し、負荷が高いサーバ装置30で動作するVMゲスト33を他方のVMゲスト33と特定する。この負荷の例としては、CPUの使用率や、メモリ使用率がある。各サーバ装置30の負荷は、VMホスト管理部44が各サーバ装置30を管理する際にCPUの使用率や、メモリ使用率を収集している場合、VMホスト管理部44から取得する。また、各サーバ装置30の負荷は、特定部46が各サーバ装置30に対して負荷の通知を要求し、各サーバ装置30から負荷の通知により取得してもよい。特定部46は、他方のVMゲスト33を一方のVMゲスト33を実行するサーバ装置30に移動させた場合における他方のVMゲスト33と通信を行う他のVMゲスト33との通信距離の変化を算出する。つまり、一対のVMゲスト33を負荷が低いサーバ装置30に集約した場合の通信距離の変化を算出する。そして、特定部46は、通信距離が所定値以上低下する場合、一方のVMゲスト33を実行するサーバ装置30を移動先のサーバ装置30と特定する。一方、特定部46は、通信距離が所定値以上低下しない場合、一方のVMゲスト33を実行するサーバ装置30からの通信距離が所定距離以下でかつ一対のVMゲスト33が動作するサーバ装置30間の通信距離よりも短い各サーバ装置30を特定する。特定部46は、特定した各サーバ装置30に他方のVMゲスト33を移動させた場合における他方のVMゲスト33と通信を行う他のVMゲスト33の通信距離の変化をそれぞれ算出する。そして、特定部46は、通信距離が所定値以上低下するサーバ装置30を移動先のサーバ装置30と特定する。なお、通信距離が所定値以上低下するサーバ装置30が複数ある場合、特定部46は、一対のVMゲスト33が動作するサーバ装置30からの通信距離が最も短いサーバ装置30を移動先のサーバ装置30と特定する。移動処理部47は、移動先と特定されたサーバ装置30のCPUの使用率が所定値以下の場合、移動先のサーバ装置30へ他方のVMゲスト33を移動させる処理を実行する。このように、移動先のサーバ装置30のCPUの使用率が所定値以下の場合に他方のVMゲスト33を移動させることにより、負荷が高いサーバ装置30へVMゲスト33を移動することを防止できる。次に、管理サーバ40による移動先のサーバ装置を特定する流れを説明する。図7は、移動先のサーバ装置を特定する流れの一例を示す図である。図7の例では、図6に示したように、PM1とPM2のサーバ装置30の通信距離を5とし、PM1とPM3のサーバ装置30の通信距離を10とし、PM2とPM3のサーバ装置30の通信距離を3とする。また、同一サーバ装置30上の通信距離を1とする。また、図7の例では、PM1のサーバ装置30は、BのVMゲスト33が動作し、PM2のサーバ装置30は、AのVMゲスト33が動作し、PM3のサーバ装置30は、CとDのVMゲスト33が動作する。また、図7の例では、AとBのVMゲスト33が通信し、AとCのVMゲスト33が通信し、AとDのVMゲスト33が通信し、BとDのVMゲスト33が通信を行う。また、各サーバ装置30で測定された通信データ量は、図5に示した値とする。特定部46は、第3テーブル42bに記憶された各VMゲスト33間のホップ数が4以上かつ通信データ量が200以上である一対のVMゲスト33を検索するものとする。この場合、図5に示すように、BとDのVMゲスト33間の通信距離は、10であり、通信データ量が500であるため、AとDの一対のVMゲスト33が検索される。特定部46は、移動対象を特定する際に用いる通信データ量の所定量や通通信距離の所定値の値を小さくするほど、検索されるVMゲスト33の対が多くなり、VMゲスト33の移動が頻繁に起こりやすくなる。DのVMゲスト33をBのVMゲスト33が動作するPM1のサーバ装置30に移動させる場合を考える。特定部46が移動先のサーバ装置30と特定する際に用いる所定値を3とする。DのVMゲスト33は、AとBのVMゲスト33と通信している。よって、移動により、BとDのVMゲスト33間、およびAとDのVMゲスト33間の通信距離が変化し、それ以外の通信距離は変化しない。この移動によりBとDのVMゲスト33間の通信距離が10→1になり、AとDのVMゲスト33間の通信距離が3→5になる。よって、通信距離の変化量は、10-1=7と算出され、変化量が所定値3よりも大きい。よって、特定部46は、PM1のサーバ装置30をDのVMゲスト33の移動先のサーバ装置30と特定する。図8は、移動先のサーバ装置を特定する流れの別な一例を示す図である。図8の例でも、図6に示したように、PM1とPM2のサーバ装置30の通信距離を5とし、PM1とPM3のサーバ装置30の通信距離を10とし、PM2とPM3のサーバ装置30の通信距離を3とする。また、同一サーバ装置30上の通信距離を1とする。また、図8の例でも、PM1のサーバ装置30は、BのVMゲスト33が動作し、PM2のサーバ装置30は、AのVMゲスト33が動作し、PM3のサーバ装置30は、CとDのVMゲスト33が動作する。また、図8の例では、AとBのVMゲスト33が通信し、AとCのVMゲスト33が通信し、BとDのVMゲスト33が通信し、CとDのVMゲスト33が通信を行っている。例えば、DのVMゲスト33をPM1のサーバ装置30に移動させる場合を考える。特定部46が移動先のサーバ装置30と特定する際に用いる所定値を3とする。この移動によりBとDのVMゲスト33間の通信距離が10→1になり、CとDのVMゲスト33間の通信距離が1→10になる。よって、通信距離の変化量は、10-11-10=0と算出され、変化量が所定値3よりも小さい。よって、特定部46は、PM1のサーバ装置30をDのVMゲスト33の移動先のサーバ装置30と特定しない。一方、例えば、DのVMゲスト33をPM2のサーバ装置30に移動させる場合を考える。特定部46が移動先のサーバ装置30と特定する際に用いる所定値を3とする。この移動によりBとDのVMゲスト33間の通信距離が10→5になり、CとDのVMゲスト33間の通信距離が1→3になる。よって、通信距離の変化量は、10-5=3と算出され、変化量が所定値3以上である。よって、特定部46は、PM2のサーバ装置30をDのVMゲスト33の移動先のサーバ装置30と特定される。次に、本実施例に係る管理サーバ40による移動先のサーバ装置を特定する際の処理の流れを説明する。図9、10は、仮想マシン移動制御処理の手順を示すフローチャートである。この仮想マシン移動制御処理は、例えば、日毎や週毎など所定のタイミングで実行される。図9に示すように、特定部46は、第3テーブル42bに記憶された各VMゲスト33間のホップ数、および第2テーブル42aに記憶された各VMゲスト33とサーバ装置30の情報に基づき、各サーバ装置30間の通信距離を特定するステップS10。特定部46は、第3テーブル42bから通信データ量の大きい順に、通信を行った一対のVMゲスト33を選択するステップS11。特定部46は、選択された一対のVMゲスト33間の通信データ量が所定量以上であるか否かを判定するステップS12。通信データ量が所定量未満である場合ステップS12否定、特定部46は、通信を行った一対のVMゲスト33を全て選択したか否かを判定するステップS13。全て選択した場合ステップS13肯定、処理終了となる。一方、未選択のものがある場合ステップS13否定、ステップS11へ移行する。一方、通信データ量が所定量以上である場合ステップS12肯定、特定部46は、一対のVMゲスト33間の通信距離が所定距離以上であるか否かを判定するステップS14。通信距離が所定距離未満である場合ステップS14否定、上記ステップS13へ移行する。通信距離が所定距離以上である場合ステップS14肯定、特定部46は、負荷が高いサーバ装置30で動作する他方のVMゲスト33を一方のVMゲスト33を実行するサーバ装置30に移動させた場合の通信距離の変化を算出するステップS15。特定部46は、算出された通信距離が所定値以上低下したか否かを判定するステップS16。通信距離が所定値以上低下していない場合ステップS16否定、後述するステップS20へ移行する。一方、通信距離が所定値以上低下した場合ステップS16肯定、移動処理部47は、一方のVMゲスト33を実行するサーバ装置30のCPU使用率が所定値以下であるか否かを判定するステップS17。CPU使用率が所定値以下ではない場合ステップS17否定、後述するステップS20へ移行する。一方、CPU使用率が所定値以下である場合ステップS17肯定、移動処理部47は、一方のVMゲスト33が動作するサーバ装置30へ他方のVMゲスト33を移動させる処理を実行しステップS18、ステップS11へ移行する。図10に示すように、特定部46は、一方のVMゲスト33を実行するサーバ装置30からの通信距離が所定距離以下でかつ一対のVMゲスト33が動作するサーバ装置30間の通信距離よりも短い各サーバ装置30を特定するステップS20。特定部46は、一方のVMゲスト33を実行するサーバ装置30からの通信距離が短い順に特定したサーバ装置30を選択するステップS21。特定部46は、選択したサーバ装置30に他方のVMゲスト33を移動させた場合における他方のVMゲスト33と通信を行う他のVMゲスト33の通信距離の変化をそれぞれ算出するステップS22。特定部46は、算出された通信距離が所定値以上低下したか否かを判定するステップS23。通信距離が所定値以上低下していない場合ステップS23否定、特定部46は、特定されたサーバ装置30を全て選択済みか否かを判定するステップS24。未選択のものがある場合ステップS24否定、特定部46は、ステップS21へ移行する。一方、全て選択済みの場合、図9に示すステップS11へ移行する。一方、通信距離が所定値以上低下した場合ステップS23肯定、移動処理部47は、一方のVMゲスト33を実行するサーバ装置30のCPU使用率が所定値以下であるか否かを判定するステップS25。CPU使用率が所定値以下ではない場合ステップS25否定、ステップS24へ移行する。一方CPU使用率が所定値以下である場合ステップS25肯定、移動処理部47は、選択されたサーバ装置30へ他方のVMゲスト33を移動させる処理を実行しステップS26、図9に示すステップS11へ移行する。このように、サーバ装置30は、他方のVMゲスト33を移動させた場合における当該他方のVMゲスト33と通信を行う他のVMゲスト33との通信距離が所定値以上低下するサーバ装置を移動先のサーバ装置30と特定する。よって、サーバ装置30によれば、システム全体でのネットワークのトラフィックを軽減できる。また、サーバ装置30は、通信データ量が所定量以上かつ通信距離が所定距離以上である一対のVMゲスト33について移動先となるサーバ装置30の特定を行う。よって、サーバ装置30によれば、トラフィックの軽減効果が大きいVMゲスト33を抽出できる。また、サーバ装置30は、一対のVMゲスト33が動作するサーバ装置30のうち一方のVMゲスト33が動作する負荷が低いサーバ装置30を基準として、負荷の高いサーバ装置30で動作するVMゲスト33を移動させる。よって、サーバ装置30によれば、負荷の高いサーバ装置30の負荷を軽減できる。また、サーバ装置30は、最初に、一対のVMゲスト33の他方のVMゲスト33を一方のVMゲスト33が動作するサーバ装置30に移動可能かの判定を行う。よって、サーバ装置30によれば、一対のVMゲスト33の通信距離が近い状態に移動させることができる。また、サーバ装置30は、次に、一方のVMゲスト33が動作するサーバ装置30に近いサーバ装置30に移動可能かの判定を行う。よって、サーバ装置30によれば、一方のVMゲスト33と他方のVMゲスト33を同じサーバ装置30に移動させることができない場合でも、一対のVMゲスト33の通信距離が近い状態に移動させることができる。さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。例えば、上記の実施例では、各サーバ装置30が通信データ量および通信距離を送信する場合について説明したが、開示の装置はこれに限定されない。例えば、管理サーバ40がネットワークを監視して各サーバ装置30が通信データ量、通信距離を取得してもよい。また、各種の負荷や使用状況などに応じて、実施例において説明した各処理の各ステップSでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップSを省略することもできる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散統合して構成することができる。例えば、図2に示すVMホスト管理部44、取得部45、特定部46の各処理部が適宜統合されてもよい。また、特定部46の処理が各サーバ装置間の通信距離を特定する処理を行う第1特定部と、通信距離よりも短いサーバ装置を特定する処理を行う第2特定部に分離されてもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。[仮想マシン移動制御プログラム]また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図11は、仮想マシン移動制御プログラムを実行するコンピュータを示す図である。図11に示すように、コンピュータ300は、CPUCentralProcessingUnit310、ROMReadOnlyMemory320、HDDHardDiskDrive330、RAMRandomAccessMemory340を有する。これら300~340の各部は、バス400を介して接続される。HDD330には、図2に示した第2テーブル42a、第3テーブル42b各々と同様の機能を有するテーブルが記憶される。ROM320には上記の実施例1に示す特定部14、移動処理部15、または上記の実施例2に示す特定部46、移動処理部47と同様の機能を発揮する仮想マシン移動制御プログラム320aが予め記憶される。なお、仮想マシン移動制御プログラム320aについては、適宜分離しても良い。そして、CPU310が、仮想マシン移動制御プログラム320aをROM320から読み出して実行することで、実施例1、2に示した各制御部と同様の動作を実行する。すなわち、仮想マシン移動制御プログラム320aは、実施例1に示した特定部14、移動処理部15、あるいは実施例2に示した特定部46、移動処理部47と同様の動作を実行する。なお、上記した仮想マシン移動制御プログラム320aについては、必ずしも最初からHDD330に記憶させることを要しない。例えば、コンピュータ300に挿入されるフレキシブルディスクFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの可搬用の物理媒体350にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される他のコンピュータまたはサーバなどにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。