(57)【要約】【課題】仮想マシン間の依存関係を考慮して仮想マシンを配置することを目的とする。【解決手段】異なる物理マシン１２１で実行されている２つの仮想マシン１２２間の通信量を取得して、この通信量が通信量閾値を超えた回数をカウントし、前記した２つの仮想マシン１２２間の双方向で、この回数が規定値を超えたとき、これら２つの仮想マシン１２２が、同じ物理マシン１２１で実行されるよう、前記物理マシン１２１に前記２つの仮想マシン１２２のうち、少なくとも１つの配置を決定し、前記決定に従って前記仮想マシン１２２を移動させることを特徴とする。【選択図】図１
2010140134.tif 000002
【特許請求の範囲】
【請求項１】
仮想化された計算機システムにおいて、異なる物理マシンで実行されている複数の仮想マシンの配置管理を行う管理サーバによる仮想マシン管理方法であって、
前記管理サーバが、
前記計算機システムの運用時に、各仮想マシンの間の依存関係を示す依存関係度の指標値を取得して、記憶部の依存関係度管理情報に格納し、
前記依存関係度管理情報に格納された前記指標値に基づいて、各仮想マシンの間に所定以上の依存関係があるか否かを判定し、
所定以上の依存関係がある場合は、
当該依存関係のある仮想マシン同士が、同じ物理マシンで実行されるように、前記仮想マシンの配置を決定し、
前記決定に従って前記仮想マシンを移動させる
ことを特徴とする仮想マシン管理方法。
【請求項２】
前記異なる物理マシンで実行されている複数の仮想マシンを、それぞれ第１の仮想マシンおよび第２の仮想マシンとするとき、
前記管理サーバは、
前記第１の仮想マシンから前記第２の仮想マシンへの通信量である第１の通信量を前記指標値として取得するとともに、前記第２の仮想マシンから前記第１の仮想マシンへの通信量である第２の通信量を前記指標値として取得し、
前記第１の通信量が、予め設定してある第１の閾値より大きくなる第１の回数を算出し、
前記第２の通信量が、前記第１の閾値より大きくなる第２の回数を算出し、
当該算出された第１の回数および第２の回数を、前記依存関係度を示す第２の指標値とし、
前記第１の回数および第２の回数の両方が、予め設定してある第２の閾値より大きくなるか否かを判定することによって、各仮想マシンの間に所定以上の依存関係があるか否かを判定する
ことを特徴とする請求項１に記載の仮想マシン管理方法。
【請求項３】
前記管理サーバは、
前記異なる物理マシンで実行されている複数の仮想マシンにおいて、使用しているリソースの情報である仮想マシン使用リソース情報と、前記複数の仮想マシンを実行している各物理マシンにおいて、使用可能なリソースの情報である物理マシン使用可能リソース情報を、前記記憶部に格納しておき、
前記依存関係のある仮想マシンについて、仮想マシンリソース使用情報を前記記憶部から読み出し、当該読み出した前記仮想マシン使用リソース情報と、前記物理マシン使用可能リソース情報とを基に、どの前記物理マシンから、どの仮想マシンを移動させるかを決定することにより、前記仮想マシンの配置を決定する
ことを特徴とする請求項１に記載の仮想マシン管理方法。
【請求項４】
前記管理サーバは、
前記依存関係のある仮想マシンのうちの１つが実行されている物理マシンへ、前記依存関係のある仮想マシンのうちの他の仮想マシンを移動させるよう、前記仮想マシンの配置を決定する
ことを特徴とする請求項１に記載の仮想マシン管理方法。
【請求項５】
前記管理サーバは、
前記依存関係のある仮想マシンを、当該依存関係のある仮想マシンが実行されていない物理マシンへ移動させるよう、前記仮想マシンの配置を決定する
ことを特徴とする請求項１に記載の仮想マシン管理方法。
【請求項６】
前記管理サーバは、
前記依存関係のある仮想マシンのうちの少なくとも１つが実行されている前記物理マシンにおいて、前記依存関係のある仮想マシン以外の仮想マシンを、他の物理マシンへ移動した後、当該仮想マシンを移動した物理マシンへ、前記依存関係のある仮想マシンを移動させるよう、前記仮想マシンの配置を決定する
ことを特徴とする請求項１に記載の仮想マシン管理方法。
【請求項７】
請求項１から請求項６のいずれか一項に記載の仮想マシン管理方法を、コンピュータに実行させる
ことを特徴とするプログラム。
【請求項８】
仮想化された計算機システムにおいて、異なる物理マシンで実行されている複数の仮想マシンの配置管理を行う管理サーバであって、
前記計算機システムの運用時に、各仮想マシンの間の依存関係を示す依存関係度の指標値を依存関係度管理情報に格納している記憶部と、
前記依存関係度管理情報に格納された前記指標値に基づいて、各仮想マシンの間に所定以上の依存関係があるか否かを判定し、
所定以上の依存関係がある場合は、
当該依存関係のある仮想マシン同士が、同じ物理マシンで実行されるように、前記仮想マシンの配置を決定し、
前記決定に従って前記仮想マシンを移動させる仮想マシン配置先決定部と、
を有することを特徴とする管理サーバ。
【請求項９】
前記異なる物理マシンで実行されている複数の仮想マシンを、それぞれ第１の仮想マシンおよび第２の仮想マシンとするとき、
前記管理サーバは、
前記第１の仮想マシンから前記第２の仮想マシンへの通信量である第１の通信量を前記指標値として取得するとともに、前記第２の仮想マシンから前記第１の仮想マシンへの通信量である第２の通信量を前記指標値として取得する通信情報取得部を、
さらに有し、
前記仮想マシン配置先決定部は、
前記第１の通信量が、予め設定してある第１の閾値より大きくなる第１の回数を算出し、
前記第２の通信量が、前記第１の閾値より大きくなる第２の回数を算出し、
当該算出された第１の回数および第２の回数を、前記依存関係を示す第２の指標値とし、
前記第１の回数および第２の回数の両方が、予め設定してある第２の閾値より大きくなるか否かを判定することによって、各仮想マシンの間に所定以上の依存関係があるか否かを判定する
ことを特徴とする請求項８に記載の管理サーバ。
【請求項１０】
前記記憶部は、
前記異なる物理マシンで実行されている複数の仮想マシンにおいて、使用しているリソースの情報である仮想マシン使用リソース情報と、前記複数の仮想マシンを実行している各物理マシンにおいて、使用可能なリソースの情報である物理マシン使用可能リソース情報を、さらに格納しており、
前記仮想マシン配置先決定部は、
前記依存関係のある仮想マシンについて、仮想マシンリソース使用情報を前記記憶部から読み出し、当該読み出した前記仮想マシン使用リソース情報と、前記物理マシン使用可能リソース情報とを基に、どの前記物理マシンから、どの仮想マシンを移動させるかを決定することにより、前記仮想マシンの配置を決定する機能を
さらに有することを特徴とする請求項８に記載の管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理方法、プログラムおよび管理サーバの技術に関する。
【背景技術】
【０００２】
複数の仮想マシンを複数の物理マシンに配置する際、仮想マシンや物理マシンのパフォーマンスのデータの測定値をそのまま比較し、最適なパフォーマンスとなる配置を算出する仮想マシン管理装置およびプログラムが開示されている（例えば、特許文献１）。
【特許文献１】特開２００５−１１５６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に記載の技術では、パフォーマンス値の最大・最少を考慮して仮想マシンを配置するが、複数の仮想マシンから構成される計算機システムにおいて、仮想マシン間の関係を考慮した配置ができないという問題がある。一般に、仮想マシン間の通信において、異なる物理マシンで実行されている仮想マシン間の通信よりも、同一物理マシンで実行されている仮想マシン間の通信の方が高速である。しかしながら、特許文献１に記載の技術などでは、依存関係の高い（例えば、互いに通信をよく行う）仮想マシンを異なる物理マシンに配置してしまう。その結果、ネットワーク通信がボトルネックとなり計算機システム全体として十分なパフォーマンスを出すことできなくなるという問題がある。
【０００４】
このような背景に鑑みて本発明がなされたのであり、本発明は、仮想マシン間の依存関係を考慮して仮想マシンを配置することを目的とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するため、本発明は、異なる物理マシンで実行されている仮想マシンにおける依存関係度が高い仮想マシン同士を同じ物理マシンに配置することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、仮想マシン間の関係を考慮して仮想マシンを配置することができる。
【発明を実施するための最良の形態】
【０００７】
次に、本発明を実施するための最良の形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
本実施形態は、仮想マシン間の依存関係度の指標値を基に、仮想化環境を最適化するシステムを提供する。
ここで、仮想化環境の最適化とは、複数の仮想マシン１２２から構成されうる計算機システム１が、好適なパフォーマンスを発揮できるような仮想化環境を実現することである。本実施形態では、仮想化環境を最適化するために、定期的に仮想化環境を分析し、ネットワーク１３１におけるボトルネックが発生しないよう、仮想マシン１２２の適切な配置をおこなう。
具体的には、仮想マシン１２２間の依存関係度の指標値の一例として、仮想マシン１２２間の通信量が閾値を超えた回数を算出し、この回数が規定値を超えたことによって依存関係があるか否かを定義する。つまり、本実施形態では、互いによく通信しあっている仮想マシン１２２を、所定以上の依存関係がある仮想マシン１２２として、同一の物理マシン１２１で実行されるよう仮想マシン１２２を配置する。なお、依存関係度の指標値は、通信量や、通信量が閾値を超えた回数に限られず、同一の人物が使用する頻度などで定義してもよい。
【０００８】
《構成》
（システム）
図１は、本実施形態に係る計算機システムの構成例を示す図である。
計算機システム１は、ネットワーク１３１で接続された、管理サーバ１０１と複数の物理マシン１２１を有する。
物理マシン１２１は仮想化機構部１２３と、少なくとも１つの仮想マシン１２２とリソース情報取得部１２６を有して構成されている。仮想化機構部１２３は、仮想マシン１２２間における仮想的なネットワークスイッチである仮想ネットワークスイッチ１２４と、通信情報取得部１２５を有する。物理マシン１２１には、各部１２２〜１２６のプログラムを格納している記憶部１２７が接続されている。
管理サーバ１０１は、リソース情報管理部１０２と、通信情報管理部１０３（通信情報取得部）と、仮想マシン配置先決定部１０４を有している。さらに、管理サーバ１０１には、記憶部１１１が接続されており、この記憶部１１１には、仮想マシンＩＰ（Internet Protocol）アドレス管理テーブル１１２、仮想マシン配置情報管理テーブル１１３、物理マシンリソース情報管理テーブル１１４、仮想マシンリソース情報管理テーブル１１５、通信情報管理テーブル１１６（依存関係度管理情報）および閾値情報１１７が格納されている。
【０００９】
なお、物理マシン１２１における仮想化機構部１２３、リソース情報取得部１２６および通信情報取得部１２５の機能については、図１１で示すフローチャートで後記する。また、管理サーバ１０１におけるリソース情報管理部１０２、通信情報管理部１０３および仮想マシン配置先決定部１０４の機能については、図１０および図１２で示すフローチャートで後記する。さらに、仮想マシンＩＰアドレス管理テーブル１１２、仮想マシン配置情報管理テーブル１１３、物理マシンリソース情報管理テーブル１１４（物理マシン使用可能リソース情報）、仮想マシンリソース情報管理テーブル１１５（仮想マシン使用リソース情報）および通信情報管理テーブル１１６については、図５〜図９で後記する。また、閾値情報１１７には、図１０において後記するステップＳ１０７で用いる通信量閾値や、ステップＳ１０９で用いる規定値などが格納されている。
【００１０】
また、本実施形態では、仮想マシンＩＰアドレス管理テーブル１１２、仮想マシン配置情報管理テーブル１１３、物理マシンリソース情報管理テーブル１１４、仮想マシンリソース情報管理テーブル１１５、通信情報管理テーブル１１６が、管理サーバ１０１に接続されている記憶部１１１に格納されているが、これに限らず、管理サーバ１０１に内蔵されているハードディスクに格納されたり、物理マシン１２１または他のマシンに格納されたりしてもよい。
【００１１】
（管理サーバ）
図２は、本実施形態に係る管理サーバのハードウェア構成例を示す図である。なお、図２において、図１と同様の構成要素に関しては同一の符号を付して説明を省略する。
管理サーバ１０１は、ＲＡＭ（Random Access Memory）などで構成されるメモリ２０１、ＣＰＵ（Central Processing Unit）などのプロセッサ２０２、ネットワーク１３１に接続するためのネットワークインタフェース２０３、および図１の記憶部１１１に相当する記憶装置２０５に接続するためのディスクインタフェース２０４を有する。
メモリ２０１には、リソース情報管理部１０２、通信情報管理部１０３および仮想マシン配置先決定部１０４のプログラムが、記憶装置２０５から読み込まれ、プロセッサ２０２によって実行されることにより各部１０２〜１０４が具現化している。
なお、記憶装置２０５（記憶部１１１）は、ハードディスクや、フラッシュメモリなどの不揮発性記憶媒体で構成される。
【００１２】
（物理マシン）
図３は、本実施形態に係る物理マシンのハードウェア構成例を示す図である。なお、図３において、図１と同様の構成要素に関しては同一の符号を付して説明を省略する。
物理マシン１２１は、ＲＡＭなどで構成されるメモリ３０２、ＣＰＵなどのプロセッサ３０３、ネットワーク１３１に接続するためのネットワークインタフェース３０４、図１の記憶部１２７に相当する記憶装置３０７に接続するためのディスクインタフェース３０６を有する。
メモリ３０２には、仮想化機構部１２３、リソース情報取得部１２６、少なくとも１つの仮想マシン１２２、仮想ネットワークインタフェース３０１、仮想ネットワークスイッチ１２４、通信情報取得部１２５の各プログラムが記憶装置３０７から読み込まれ、プロセッサ３０３が実行することによって各部１２２〜１２６，３０１を具現化している。
なお、仮想マシン１２２における仮想ネットワークインタフェース３０１は、仮想マシン１２２間の通信を中継する仮想ネットワークスイッチ１２４に接続されている。また、仮想ネットワークスイッチ１２４は、接続されている仮想ネットワークインタフェース３０１のＩＰアドレスや、この仮想ネットワークインタフェース３０１の通信先となっている仮想ネットワークインタフェース３０１のＩＰアドレス情報や、単位時間あたりのパケット数（通信量）などを保持している。
なお、記憶装置３０７は、ハードディスクや、フラッシュメモリなどの不揮発性記憶媒体で構成される。
【００１３】
（システム構成例）
図４は、本実施形態で説明する計算機システムの構成の一例である。
以降で説明する図５〜図１２は、図４に示す計算機システム１ａの構成例に従って説明するものとする。なお、図４に示す構成例は一例であり、図４で示す構成以外でもよいことは当然である。
計算機システム１ａには、３台の物理マシン１２１が設置されている。それぞれの物理マシン１２１を「物理マシンＡ」、「物理マシンＢ」および「物理マシンＣ」とする。
「物理マシンＡ」では、「ＶＭ−Ａ」および「ＶＭ−Ｂ」の各仮想マシン１２２が実行されている。「物理マシンＢ」では、「ＶＭ−Ｃ」および「ＶＭ−Ｄ」の各仮想マシン１２２が実行されている。そして、「物理マシンＣ」では、「ＶＭ−Ｅ」の仮想マシン１２２が実行されている。各仮想マシン１２２は、物理マシン１２１内の仮想的なネットワークや、物理的なネットワークを介して互いに接続している。また、「ＶＭ−Ａ」と「ＶＭ−Ｃ」の間の太線は、これらの仮想マシン１２２間における通信量が多いことを示している。つまり、この例では、「ＶＭ−Ａ」、「ＶＭ−Ｃ」間において依存関係度の指標値が高い（所定以上の依存関係がある）ことを示している。
【００１４】
《テーブル》
次に、図１〜図４を参照しつつ、図５〜図９を参照して管理サーバ１０１の記憶部１１１に格納されている各テーブル１１２〜１１６について説明する。
【００１５】
（仮想マシンＩＰアドレス管理テーブル）
図５は、本実施形態に係る仮想マシンＩＰアドレス管理テーブルの例を示す図である。
仮想マシンＩＰアドレス管理テーブル１１２は、仮想マシン１２２と仮想マシン１２２に接続された仮想ネットワークインタフェース３０１に割り当てられたＩＰアドレスを関係づけるテーブルである。なお、これ以降、「仮想マシン１２２に接続された仮想ネットワークインタフェース３０１に割り当てられたＩＰアドレス」を「仮想マシン１２２のＩＰアドレス」と記載する。
仮想マシン識別子（カラム５０１）には、各仮想マシン１２２を識別できる識別子が格納される。ＩＰアドレス（カラム５０２）には、該当する仮想マシン１２２のＩＰアドレスが格納される。
なお、仮想マシンＩＰアドレス管理テーブル１１２は、計算機システム１の構築時や、仮想マシン１２２の追加時に、管理者によって入力される情報である。
【００１６】
（仮想マシン配置情報管理テーブル）
図６は、本実施形態に係る仮想マシン配置情報管理テーブルの例を示す図である。
仮想マシン配置情報管理テーブル１１３は、どの仮想マシン１２２が、どの物理マシン１２１で稼働しているかを管理するためのテーブルである。
物理マシン識別子（カラム６０１）および仮想マシン識別子（カラム６０２）において、物理マシン１２１を特定する識別子と、仮想マシン識別子とが対応付けられている。
【００１７】
（物理マシンリソース情報管理テーブル）
図７は、本実施形態に係る物理マシンリソース情報管理テーブルの例を示す図である。
物理マシンリソース情報管理テーブル１１４は、物理マシン１２１が有するプロセッサ３０３の使用可能量（空容量）と、物理マシン１２１が有するメモリ３０２の使用可能量（空容量）が格納される。
カラム７０１には、物理マシン識別子が格納される。プロセッサ使用可能量（カラム７０２）は、該当する物理マシン１２１に搭載されたプロセッサ３０３のうち、使用されていない量（空容量：単位ＭＨｚ）を格納している。メモリ使用可能量（カラム７０３）は、該当する物理マシン１２１に搭載されたメモリ３０２のうち、使用されていない量（空容量：ＭＢ）を格納している。
【００１８】
（仮想マシンリソース情報管理テーブル）
図８は、本実施形態に係る仮想マシンリソース情報管理テーブルの例を示す図である。
仮想マシンリソース情報管理テーブル１１５は、仮想マシン１２２が使用しているプロセッサ３０３の使用量と、メモリ３０２の使用量を格納している。
カラム８０１には、仮想マシン識別子が格納される。プロセッサ使用量（カラム８０２）は、該当する仮想マシン１２２が使用している物理マシン１２１のプロセッサ使用量を格納している。メモリ使用量（カラム８０３）は、該当する仮想マシン１２２が使用している物理マシン１２１のメモリ使用量を格納している。
【００１９】
（通信情報管理テーブル）
図９は、本実施形態に係る通信情報管理テーブルの例を示す図である。
通信情報管理テーブル１１６は、仮想マシン１２２が、他の仮想マシン１２２や、物理マシン１２１の外部装置と送受信するパケットの数を格納している。
通信元仮想マシン識別子（カラム９０１）は、通信元となっている仮想マシン１２２の識別子が格納されている。通信先装置識別子（カラム９０２）は、通信先となっている装置の識別子が格納される。カラム９０２において、通信先が計算機システム１内の仮想マシン１２２でない場合、計算機システム１外の装置（外部装置）であることを示す「外部」が格納される。
通信量（カラム９０３）は、通信元の仮想マシン１２２から、通信先装置への通信量を格納している。通信量は、例えば、単位時間当たりのパケット数などである。閾値を超えた回数（カラム９０４）は、通信量（カラム９０３）に格納された通信量が、予め閾値情報１１７に設定されている通信量閾値を超えた回数である。詳しくは、図１０で後記する。
なお、同じ物理マシン１２１で実行されている仮想マシン１２２同士の情報を通信情報管理テーブル１１６に格納しないようにしてもよい。
【００２０】
《フローチャート》
次に、図１〜図９を参照しつつ、図１０〜図１２に沿って本実施形態に係る仮想マシン１２２管理処理の流れを説明する。
【００２１】
（管理サーバにおける処理）
図１０は、本実施形態に係る管理サーバにおける処理の流れを示すフローチャートである。なお、図１０に示す処理は、例えば５分に１回の周期で行われる処理である。
まず、管理サーバ１０１のリソース情報管理部１０２は、仮想マシン１２２のリソース情報取得要求と物理マシン１２１のリソース情報取得要求を、各物理マシン１２１のリソース情報取得部１２６に対して送信し、その応答として仮想マシン１２２および物理マシン１２１のリソース情報を取得する（Ｓ１０１）。リソース情報に含まれる情報は、仮想マシン識別子、該当する仮想マシン１２２を実行している物理マシン１２１の物理マシン識別子、該当する仮想マシン１２２が使用しているプロセッサ使用量や、メモリ使用量、該当する物理マシン１２１で使用可能なプロセッサ量（プロセッサ使用可能量）や、使用可能なメモリ量（メモリ使用可能量）などが組となっている情報である。
【００２２】
リソース情報管理部１０２は、ステップＳ１０１で取得したリソース情報に含まれる仮想マシン識別子と、物理マシン識別子とを仮想マシン配置情報管理テーブル１１３に格納することにより、仮想マシン配置情報管理テーブル１１３を更新する（Ｓ１０２）。
続いて、リソース情報管理部１０２は、リソース情報に含まれる物理マシン識別子、該当する物理マシン１２１で使用可能なプロセッサ量、および使用可能なメモリ量を物理マシンリソース情報管理テーブル１１４に格納することにより、物理マシンリソース情報管理テーブル１１４を更新する（Ｓ１０３）。
そして、リソース情報管理部１０２は、リソース情報に含まれる仮想マシン識別子、該当する仮想マシン１２２が使用しているプロセッサ使用量およびメモリ使用量を仮想マシンリソース情報管理テーブル１１５に格納することにより、仮想マシンリソース情報管理テーブル１１５を更新する（Ｓ１０４）。
【００２３】
次に、通信情報管理部１０３は、各物理マシン１２１の通信情報取得部１２５に対して通信情報取得要求を送信し、その応答として仮想マシン通信情報を取得する（Ｓ１０５）。仮想マシン通信情報には、通信元の仮想マシン１２２におけるＩＰアドレス、通信先装置のＩＰアドレス、および通信量（単位時間当たりのパケット数）である。
そして、通信情報管理部１０３は、仮想マシンＩＰアドレス管理テーブル１１２と、ステップＳ１０５で取得した仮想マシン通信情報とを用いて、通信情報管理テーブル１１６を更新する（Ｓ１０６）。具体的には、通信情報管理部１０３は、仮想マシン通信情報に含まれる通信元の仮想マシン１２２におけるＩＰアドレスをキーとして、仮想マシンＩＰアドレス管理テーブル１１２を検索し、該当する仮想マシン識別子を送信元仮想マシン識別子として取得する。そして、取得した送信元仮想マシン識別子を通信情報管理テーブル１１６のカラム９０１に格納する。さらに、通信情報管理部１０３は、仮想マシン通信情報に含まれる通信先装置のＩＰアドレスをキーとして、仮想マシンＩＰアドレス管理テーブル１１２を検索し、該当する仮想マシン識別子を通信先装置識別子として取得する。なお、ここで、通信先装置のＩＰアドレスに相当するＩＰアドレスが、仮想マシンＩＰアドレス管理テーブル１１２にない場合、通信情報管理部１０３は、通信先装置の識別子を「外部」とし、通信先が仮想マシン１２２でないことがわかるようにする。そして、先に送信元仮想マシン識別子が格納されたカラム９０１に対応するカラム９０２とカラム９０３に、取得した送信先装置識別子と、仮想マシン通信情報に含まれる通信量を格納する。
【００２４】
以降、ステップＳ１０７からステップＳ１１２は、各仮想マシン１２２に対して行われる処理である。
次に、通信情報管理部１０３は、通信情報管理テーブル１１６のカラム９０２に仮想マシン識別子が格納されているレコード（つまり、送信先が計算機システム１内における仮想マシン１２２であるレコード）におけるカラム９０３の通信量を参照し、この通信量が予め設定されている通信量閾値より大きいか否かを判定する（Ｓ１０７）。
ステップＳ１０７の結果、通信量が通信量閾値以下の場合（Ｓ１０７→Ｎｏ）、管理サーバ１０１は、ステップＳ１０５へ処理を戻す。
【００２５】
ステップＳ１０７の結果、通信量が通信量閾値より大きい場合（Ｓ１０７→Ｙｅｓ）、通信情報管理部１０３は、通信情報管理テーブル１１６の閾値を超えた回数（カラム９０４）を＋１インクリメントする（Ｓ１０８）
そして、通信情報管理部１０３は、通信元および通信先両方の仮想マシン１２２で通信情報管理テーブル１１６の閾値を超えた回数（カラム９０４）の値が、閾値情報１１７に予め設定されている既定値を超えているか否かを判定する（Ｓ１０９）。通信元および通信先両方の仮想マシン１２２で閾値を超えた回数が規定値を超えているか否かとは、以下の通りである。仮に、対象となっている仮想マシン１２２を図４における「ＶＭ−Ａ」、「ＶＭ−Ｃ」とする。このとき、通信元が「ＶＭ−Ａ」で、通信先が「ＶＭ−Ｃ」に該当する閾値を超えた回数（カラム９０４：第１の回数）が規定値を超えており、かつ通信元が「ＶＭ−Ｃ」で、通信先が「ＶＭ−Ａ」に該当する閾値を超えた回数（第２の回数）も規定値を超えていることを示す。つまり、ステップＳ１０９では、「ＶＭ−Ａ」および「ＶＭ−Ｃ」において双方向の通信量が規定値を超えているか否かを判定している。
【００２６】
ステップＳ１０９の結果、どちらか仮想マシン１２２で閾値を超えた回数が規定値以下である場合（Ｓ１０９→Ｎｏ）、管理サーバ１０１は処理を終了する。
ステップＳ１０９の結果、両方の仮想マシン１２２で閾値を超えた回数が規定値より大きい場合（Ｓ１０９→Ｙｅｓ）、仮想マシン配置先決定部１０４は、これらの仮想マシン１２２の仮想マシン識別子をキーとして、仮想マシン配置情報管理テーブル１１３を参照する。この結果、これらの仮想マシン１２２が異なる物理マシン１２１で実行されている場合、仮想マシン配置先決定部１０４は、各種管理テーブル１１４，１１５などを参照して、最適な仮想マシン配置を決定する（Ｓ１１０）。ステップＳ１１０の処理の詳細は、図１２を参照して後記する。なお、これらの仮想マシン１２２が同じ物理マシン１２１で実行されている場合、管理サーバ１０１は、処理を終了する。
また、ステップＳ１１０において、ステップＳ１０９で閾値を超えていると判定された２つの仮想マシン１２２の移動先が検出されなかった場合（後記する図１２のステップＳ３１５が実行された場合）、管理サーバ１０１は、何もせずに処理を終了する。
【００２７】
ステップＳ１１０の後、仮想マシン配置先決定部１０４は、ステップＳ１１０で決定した仮想マシン１２２の配置となるよう、該当する物理マシン１２１の仮想化機構部１２３に仮想マシン移動要求を送信する（Ｓ１１１）。
そして、通信情報管理部１０３は、通信情報管理テーブル１１６において移動した仮想マシン１２２に該当するレコード（ステップＳ１０９を満たすレコード）の閾値を超えた回数（カラム９０４）の値を０にクリアして（Ｓ１１２）、処理を終了する。
【００２８】
（物理マシンにおける処理）
図１１は、本実施形態に係る物理マシンにおける処理の流れを示すフローチャートである。なお、図１１の処理は、物理マシン１２１の起動と同時に開始され、物理マシン１２１が停止するまで行われる処理である。
まず、リソース情報取得部１２６が、図１０のステップＳ１０１の前において、管理サーバ１０１のリソース情報管理部１０２から送られたリソース情報取得要求を受信したか否かを判定する（Ｓ２０１）。
ステップＳ２０１の結果、リソース情報取得要求を受信していない場合（Ｓ２０１→Ｎｏ）、物理マシン１２１は、ステップＳ２０４へ処理を進める。
ステップＳ２０１の結果、リソース情報取得要求を受信した場合（Ｓ２０１→Ｙｅｓ）、リソース情報取得部１２６は、自身で実行されている仮想マシン１２２の仮想マシン識別子や、この仮想マシン１２２におけるプロセッサ使用量や、メモリ使用量などの仮想マシン１２２のリソース情報を取得し、さらに自身の物理マシン識別子や、プロセッサ使用可能量や、メモリ使用可能量などの物理マシン１２１のリソース情報を取得する（Ｓ２０２）。
そして、リソース情報取得部１２６は、ステップＳ２０２で取得した情報を、前記したリソース情報の形式にし、このリソース情報を管理サーバ１０１のリソース情報管理部１０２へ送信する（Ｓ２０３）。
【００２９】
次に、通信情報取得部１２５が、図１０のステップＳ１０５の前において、管理サーバ１０１の通信情報管理部１０３から送られた通信情報取得要求を受信したか否かを判定する（Ｓ２０４）。
ステップＳ２０４の結果、通信情報要求を受信していない場合（Ｓ２０４→Ｎｏ）、物理マシン１２１は、ステップＳ２０７へ処理を進める。
ステップＳ２０４の結果、通信情報要求を受信した場合（Ｓ２０４→Ｙｅｓ）、通信情報取得部１２５は、仮想ネットワークスイッチ１２４から、通信元の仮想マシン１２２のＩＰアドレスや、通信先装置のＩＰアドレスや、通信量などの、仮想マシンの通信情報を、仮想マシン毎に取得する（Ｓ２０５）。
そして、通信情報取得部１２５は、ステップＳ２０５で取得した情報（仮想マシン通信情報）を管理サーバ１０１の通信情報管理部１０３へ送信する（Ｓ２０６）。
【００３０】
次に、仮想化機構部１２３が、管理サーバ１０１の仮想マシン配置先決定部１０４から仮想マシン移動要求を受信したか否かを判定する（Ｓ２０７）。
ステップＳ２０７の結果、仮想マシン移動要求を受信していない場合（Ｓ２０７→Ｎｏ）、物理マシン１２１はステップＳ２０１へ処理を戻す。
ステップＳ２０７の結果、仮想マシン移動要求を受信した場合（Ｓ２０７→Ｙｅｓ）、仮想化機構部１２３は、仮想マシン移動要求に従って仮想マシン１２２を移動し（Ｓ２０８）、物理マシン１２１は、ステップＳ２０１へ処理を戻す。仮想マシン１２２の移動処理は、周知の技術であるため説明を省略する。
【００３１】
（仮想マシン配置先決定処理）
図１２は、本実施形態に係る仮想マシン配置先決定処理の流れを示すフローチャートである。また、図１２に示す処理は、図１０のステップＳ１１０に相当する処理である。
【００３２】
ここで、図１２の処理を概要すると、仮想マシン配置先決定部１０４は、ステップＳ３０１〜Ｓ３０４では、第１の処理として、所定以上の依存関係がある（互いに通信量が多い）２つの移動対象の仮想マシン１２２において、一方の移動対象の仮想マシン１２２が実行されている物理マシン１２１に、他方の移動対象の仮想マシン１２２の移動を検討している。
次に、ステップＳ３０５，Ｓ３０６では、仮想マシン配置先決定部１０４が、第１の処理において移動対象の仮想マシン１２２が互いに移動不可であった場合、第２の処理として、移動対象となっている２つの仮想マシン１２２の両方を、これらの仮想マシン１２２が実行されていない物理マシン１２１へ、まとめて移動することを検討している。
さらに、ステップＳ３０７〜Ｓ３１４では、仮想マシン配置先決定部１０４が、第２の処理でも、移動対象の仮想マシン１２２を移動できなかった場合、第３の処理として、これら移動対象の仮想マシン１２２が実行されている物理マシン１２１において、移動対象となっていない仮想マシン１２２を他の物理マシン１２１へ移動し、空いたリソースを利用して移動対象の仮想マシン１２２を移動することを検討している。
【００３３】
以下、図１２を参照して、仮想マシン配置先決定処理の具体例を説明する。なお、図１２の処理は、図４における計算機システム１ａにおいて、「ＶＭ−Ａ」（第１の仮想マシン）と、「ＶＭ−Ｃ」（第２の仮想マシン）を同じ物理マシン１２１に移動するための処理である。従って、図１２の処理は、仮想マシン配置先決定処理の一例であり、計算機システム１の構成によって内容は適宜変更されるものである。
【００３４】
まず、仮想マシン配置先決定部１０４は、「ＶＭ−Ａ」を「ＶＭ−Ｃ」が実行されている「物理マシンＢ」へ移動可か否かを判定する（Ｓ３０１）。具体的には、仮想マシン配置先決定部１０４は、仮想マシンリソース情報管理テーブル１１５から「ＶＭ−Ａ」に関するプロセッサ使用量（カラム８０２）とメモリ使用量（カラム８０３）を取得する。以下、これら２つの使用量を仮想マシンリソース使用量と記載する。さらに、仮想マシン配置先決定部１０４は、物理マシンリソース情報管理テーブル１１４から「物理マシンＢ」に関するプロセッサ使用可能量（カラム７０２）とメモリ使用可能量（カラム７０３）を取得する。以下、これら２つの使用可能量を物理マシンリソース使用可能量と記載する。そして、仮想マシン配置先決定部１０４は、「ＶＭ−Ａ」における仮想マシンリソース使用量と、「物理マシンＢ」における物理マシンリソース使用可能量を比較する。仮想マシン配置先決定部１０４は、比較の結果、「ＶＭ−Ａ」における仮想マシンリソース使用量が、「物理マシンＢ」における物理マシンリソース使用可能量より小さいか否かを判定する。このとき、「物理マシンＢ」のプロセッサ使用可能量と、メモリ使用可能量の両方が、「ＶＭ−Ａ」のプロセッサ使用量と、メモリ使用量とを上まっていなければ、仮想マシン配置先決定部１０４は、ステップＳ３０１において「Ｎｏ」と判定する。それ以外は、「Ｙｅｓ」と判定する。
【００３５】
ステップＳ３０１の結果、「ＶＭ−Ａ」を「物理マシンＢ」へ移動可であれば（Ｓ３０１→Ｙｅｓ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ａ」を「物理マシンＢ」へ移動するよう仮想マシン移動要求を設定（移動設定）し（Ｓ３０２）、図１０の処理へリターンする。
【００３６】
ステップＳ３０１の結果、「ＶＭ−Ａ」を「物理マシンＢ」へ移動不可である場合（Ｓ３０１→Ｎｏ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ｃ」を「ＶＭ−Ａ」が実行されている「物理マシンＡ」へ移動可か否かを判定する（Ｓ３０３）。具体的には、仮想マシン配置先決定部１０４は、仮想マシンリソース情報管理テーブル１１５から「ＶＭ−Ｃ」に関する仮想マシンリソース使用量（プロセッサ使用量およびメモリ使用量）を取得し、物理マシンリソース情報管理テーブル１１４から「物理マシンＡ」に関する物理マシンリソース使用可能量（プロセッサ使用可能量およびメモリ使用可能量）を取得する。そして、仮想マシン配置先決定部１０４は、「ＶＭ−Ｃ」における仮想マシンリソース使用量と、「物理マシンＡ」における物理マシンリソース使用可能量とを比較する。そして、仮想マシン配置先決定部１０４は、「ＶＭ−Ｃ」における仮想マシンリソース使用量が、「物理マシンＡ」における物理マシンリソース使用可能量より小さいか否かを判定する。このとき、「物理マシンＡ」のプロセッサ使用可能量と、メモリ使用可能量の両方が、「ＶＭ−Ｃ」のプロセッサ使用量と、メモリ使用量を上まっていなければ、仮想マシン配置先決定部１０４は、ステップＳ３０３において「Ｎｏ」と判定する。それ以外は、「Ｙｅｓ」と判定する。
【００３７】
ステップＳ３０３の結果、「ＶＭ−Ｃ」を「物理マシンＡ」へ移動可であれば（Ｓ３０３→Ｙｅｓ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ｃ」を「物理マシンＡ」へ移動するよう仮想マシン移動要求を設定（移動設定）し（Ｓ３０４）、図１０の処理へリターンする。
【００３８】
ステップＳ３０３の結果、「ＶＭ−Ｃ」を「物理マシンＡ」へ移動不可であれば（Ｓ３０３→Ｎｏ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ａ」と「ＶＭ−Ｃ」の両方を、「ＶＭ−Ａ」も「ＶＭ−Ｃ」も実行されていない「物理マシンＣ」へ移動可であるか否かを判定する（Ｓ３０５）。具体的には、仮想マシン配置先決定部１０４は、仮想マシンリソース情報管理テーブル１１５から「ＶＭ−Ａ」および「ＶＭ−Ｃ」に関する仮想マシンリソース使用量を取得し、この２つの仮想マシンリソース使用量を加算する。つまり、仮想マシン配置先決定部１０４は、「ＶＭ−Ａ」のプロセッサ使用量と、「ＶＭ−Ｃ」のプロセッサ使用量とを加算した値と、「ＶＭ−Ａ」のメモリ使用量と、「ＶＭ−Ｃ」のメモリ使用量とを加算した値とを算出する。そして、仮想マシン配置先決定部１０４は、この仮想マシンリソース使用量を加算した値が、物理マシンリソース情報管理テーブル１１４から取得した「物理マシンＣ」における物理マシンリソース使用可能量より小さいか否かを判定する。このとき、「物理マシンＣ」のプロセッサ使用可能量と、メモリ使用可能量の両方が、加算した仮想マシン１２２のプロセッサ使用量と、メモリ使用量を上まっていなければ、仮想マシン配置先決定部１０４は、ステップＳ３０５において「Ｎｏ」と判定する。それ以外は、「Ｙｅｓ」と判定する。
【００３９】
ステップＳ３０５の結果、「ＶＭ−Ａ」と「ＶＭ−Ｃ」の両方を、「物理マシンＣ」へ移動可であれば（Ｓ３０５→Ｙｅｓ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ａ」と「ＶＭ−Ｃ」の両方を「物理マシンＣ」へ移動するよう仮想マシン移動要求を設定（移動設定）し（Ｓ３０６）、図１０の処理へリターンする。
【００４０】
ステップＳ３０５の結果、「ＶＭ−Ａ」と「ＶＭ−Ｃ」の両方を、「物理マシンＣ」へ移動不可であれば（Ｓ３０５→Ｎｏ）、仮想マシン配置先決定部１０４は、「物理マシンＡ」で実行されている「ＶＭ−Ｂ」のリソース使用量（仮想マシンリソース使用量）が、「ＶＭ−Ｃ」のリソース使用量（仮想マシンリソース使用量）より大きいか否かを判定する（Ｓ３０７）。ステップＳ３０７では、「ＶＭ−Ｂ」を他の物理マシン１２１へ移動した後、空いたリソースを使用して「ＶＭ−Ｃ」を「物理マシンＡ」へ移動することが可能か否かを判定している。なお、「ＶＭ−Ｂ」および「ＶＭ−Ｃ」のリソース使用量（仮想マシンリソース使用量）は、仮想マシン配置先決定部１０４が仮想マシンリソース情報管理テーブル１１５から取得する情報である。
【００４１】
ステップＳ３０７の結果、「ＶＭ−Ｂ」のリソース使用量（仮想マシンリソース使用量）が、「ＶＭ−Ｃ」のリソース使用量（仮想マシンリソース使用量）より大きい場合（Ｓ３０７→Ｙｅｓ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ｂ」を他の物理マシン１２１へ移動可か否かを判定する（Ｓ３０８）。この判定は、「物理マシンＡ」以外の各物理マシン１２１と、「ＶＭ−Ｂ」に関して、ステップＳ３０１や、ステップＳ３０３の処理と同様の処理を行うため、説明を省略する。
【００４２】
ステップＳ３０８の結果、「ＶＭ−Ｂ」を他の物理マシン１２１へ移動不可である場合（Ｓ３０８→Ｎｏ）、仮想マシン配置先決定部１０４は、ステップＳ３１１へ処理を進める。
ステップＳ３０８の結果、「ＶＭ−Ｂ」を他の物理マシン１２１へ移動可である場合（Ｓ３０８→Ｙｅｓ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ｂ」をステップＳ３０８で移動可と判定された他の物理マシン１２１へ移動するよう仮想マシン移動要求を設定（移動設定）し（Ｓ３０９）、「ＶＭ−Ｂ」を移動した後、「ＶＭ−Ｃ」を「物理マシンＡ」へ移動するよう仮想マシン移動要求を設定（移動設定）する（Ｓ３１０）。その後、仮想マシン配置先決定部１０４は、図１０の処理へリターンする。
【００４３】
ステップＳ３０７の結果、「ＶＭ−Ｂ」のリソース使用量（仮想マシンリソース使用量）が、「ＶＭ−Ｃ」のリソース使用量（仮想マシンリソース使用量）以下の場合（Ｓ３０７→Ｎｏ）、仮想マシン配置先決定部１０４は、「物理マシンＢ」で実行されている「ＶＭ−Ｄ」のリソース使用量（仮想マシンリソース使用量）が、「ＶＭ−Ａ」のリソース使用量（仮想マシンリソース使用量）より大きいか否かを判定する（Ｓ３１１）。ステップＳ３１１では、「ＶＭ−Ｄ」を他の物理マシン１２１へ移動した後、空いたリソースを使用して「ＶＭ−Ａ」を「物理マシンＢ」へ移動することが可能か否かを判定している。なお、「ＶＭ−Ｄ」および「ＶＭ−Ａ」のリソース使用量（仮想マシンリソース使用量）は、仮想マシン配置先決定部１０４が仮想マシンリソース情報管理テーブル１１５から取得する情報である。
【００４４】
ステップＳ３０７の結果、「ＶＭ−Ｄ」のリソース使用量（仮想マシンリソース使用量）が、「ＶＭ−Ａ」のリソース使用量（仮想マシンリソース使用量）より大きい場合（Ｓ３１１→Ｙｅｓ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ｄ」を他の物理マシン１２１へ移動可か否かを判定する（Ｓ３１２）。この判定は、「物理マシンＢ」以外の各物理マシン１２１と、「ＶＭ−Ｄ」に関して、ステップＳ３０１や、ステップＳ３０３の処理と同様の処理を行うため、説明を省略する。
【００４５】
ステップＳ３１２の結果、「ＶＭ−Ｄ」を他の物理マシン１２１へ移動不可である場合（Ｓ３１２→Ｎｏ）、仮想マシン配置先決定部１０４は、ステップＳ３１５へ処理を進める。
ステップＳ３１２の結果、「ＶＭ−Ｄ」を他の物理マシン１２１へ移動可である場合（Ｓ３１２→Ｙｅｓ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ｄ」をステップＳ３１２で移動可と判定された他の物理マシン１２１へ移動するよう仮想マシン移動要求を設定（移動設定）し（Ｓ３１３）、「ＶＭ−Ｄ」を移動した後、「ＶＭ−Ａ」を「物理マシンＢ」へ移動するよう仮想マシン移動要求を設定（移動設定）する（Ｓ３１４）。その後、仮想マシン配置先決定部１０４は、図１０の処理へリターンする。
【００４６】
ステップＳ３１１の結果、「ＶＭ−Ｄ」のリソース使用量（仮想マシンリソース使用量）が、「ＶＭ−Ａ」のリソース使用量（仮想マシンリソース使用量）以下の場合（Ｓ３１１→Ｎｏ）、仮想マシン配置先決定部１０４は、「ＶＭ−Ａ」および「ＶＭ−Ｃ」の移動先が検出されなかった旨の設定（仮想マシン移動先検出不可設定）を行い（Ｓ３１５）、図１０の処理へリターンする。
【００４７】
なお、物理マシン１２１の台数が少なく、ステップＳ３０５の「物理マシンＣ」に相当する物理マシン１２１が存在しない場合は、ステップＳ３０５およびステップＳ３０６の処理を省略してもよい。逆に、ステップＳ３０５の「物理マシンＣ」に相当する物理マシン１２１が多数存在する場合、それぞれの物理マシン１２１に対してステップＳ３０５およびステップＳ３０６の処理を行ってもよい。
また、「物理マシンＡ」や、「物理マシンＢ」で３つ以上の仮想マシン１２２が実行されている場合、実行されている２つ以上の仮想マシン１２２を、他の物理マシン１２１へ移動してから、「ＶＭ−Ａ」または「ＶＭ−Ｃ」を移動させてもよい。この場合、移動候補の仮想マシン１２２の仮想マシンリソース使用量の合計値が、「ＶＭ−Ａ」または「ＶＭ−Ｃ」の仮想マシンリソース使用量より大きければ、仮想マシン配置先決定部１０４は、移動候補の仮想マシン１２２それぞれに対し、ステップＳ３０８およびステップＳ３０９と同様の処理を行う。
【００４８】
さらに、仮想マシン１２２の数が少なく、ステップＳ３０７の「ＶＭ−Ｂ」や、ステップＳ３１１の「ＶＭ−Ｄ」に相当する仮想マシン１２２が存在しない場合、ステップＳ３０７〜Ｓ３１０や、ステップＳ３１１〜Ｓ３１４の処理を省略してもよい。逆に、ステップＳ３０７の「ＶＭ−Ｂ」や、ステップＳ３１１の「ＶＭ−Ｄ」に相当する仮想マシン１２２が多数存在する場合、それぞれの仮想マシン１２２に対して、ステップＳ３０７〜Ｓ３１０や、ステップＳ３１１〜Ｓ３１４の処理を行ってもよい。
また、「物理マシンＣ」で実行されている「ＶＭ−Ｅ」を他の物理マシン１２１に移動させてから、「物理マシンＣ」に「ＶＭ−Ａ」および「ＶＭ−Ｃ」を移動してもよい。
【００４９】
本実施形態では、仮想マシン１２２の移動要否を判断するためのリソース情報としてプロセッサ使用量とメモリ使用量を使用しているが、Ｉ／Ｏ使用量など他のリソース情報を使用してもよい。
【００５０】
また、本実施形態では、２つの仮想マシン１２２において依存関係度の指標値を基に、これら２つの仮想マシン１２２の配置を決定しているが、３つ以上の仮想マシン１２２に適用してもよい。例えば、図３の「ＶＭ−Ａ」、「ＶＭ−Ｃ」、「ＶＭ−Ｅ」の双方向において、図９のカラム９０４（閾値を超えた回数）が規定値を超えていれば、これら３つの仮想マシン１２２を１つの物理サーバに配置してもよい。なお、「ＶＭ−Ａ」、「ＶＭ−Ｃ」、「ＶＭ−Ｅ」の双方向において、とは、「ＶＭ−Ａ」→「ＶＭ−Ｃ」、「ＶＭ−Ａ」←「ＶＭ−Ｃ」、「ＶＭ−Ｃ」→「ＶＭ−Ｅ」、「ＶＭ−Ｃ」←「ＶＭ−Ｅ」、「ＶＭ−Ｅ」→「ＶＭ−Ａ」、「ＶＭ−Ｅ」←「ＶＭ−Ａ」の６方向である。
このとき、図１２の処理において、例えばステップＳ３０１の処理は、『「ＶＭ−Ａ」および「ＶＭ−Ｅ」を「物理マシンＢ」に移動可であるか否か』となる。具体的には、仮想マシン配置先決定部１０４が、「ＶＭ−Ａ」の仮想マシンリソース使用量および「ＶＭ−Ｅ」の仮想マシンリソース使用量の合計値が、「物理マシンＢ」の物理マシンリソース使用可能量以下であるか否かを判定することになる。図１２のおける他の処理も同様に行うことができる。
同様に、４つ以上の仮想マシン１２２を対象にした処理も可能である。
なお、ここで記載されている３つ以上の仮想マシン１２２に対する配置決定は、２つの仮想マシン１２２の配置決定を、各仮想マシン１２２に対して逐次的に行っても同様の結果を得ることができる。
【００５１】
また、図１０におけるステップＳ１０８およびステップＳ１０９を省略してもよい。つまり、管理サーバ１０１は、通信量が通信量閾値を超えた仮想マシン１２２について、通信元の仮想マシン１２２と、通信先の仮想マシン１２２とが、同じ物理サーバ１２１で実行されるよう仮想マシン１２２の配置を決定してもよい。
【００５２】
（効果）
本実施形態によれば、複数の仮想マシン１２２における依存関係度の指標値を基に、仮想マシン１２２の配置を決定する。具体的には、仮想マシン１２２同士の通信量を依存関係度の指標値として把握・分析する。これにより、所定以上の依存関係がある仮想マシン１２２を、同じ物理マシン１２１に配置するなど、計算機システム１のパフォーマンスを向上させることのできる、仮想マシン１２２の配置を実現できる。
【図面の簡単な説明】
【００５３】
【図１】本実施形態に係る計算機システムの構成例を示す図である。
【図２】本実施形態に係る管理サーバのハードウェア構成例を示す図である。
【図３】本実施形態に係る物理マシンのハードウェア構成例を示す図である。
【図４】本実施形態で説明する計算機システムの構成の一例である。
【図５】本実施形態に係る仮想マシンＩＰアドレス管理テーブルの例を示す図である。
【図６】本実施形態に係る仮想マシン配置情報管理テーブルの例を示す図である。
【図７】本実施形態に係る物理マシンリソース情報管理テーブルの例を示す図である。
【図８】本実施形態に係る仮想マシンリソース情報管理テーブルの例を示す図である。
【図９】本実施形態に係る通信情報管理テーブルの例を示す図である。
【図１０】本実施形態に係る管理サーバにおける処理の流れを示すフローチャートである。
【図１１】本実施形態に係る物理マシンにおける処理の流れを示すフローチャートである。
【図１２】本実施形態に係る仮想マシン配置先決定処理の流れを示すフローチャートである。
【符号の説明】
【００５４】
１      計算機システム
１０１  管理サーバ
１０２  リソース情報管理部
１０３  通信情報管理部（通信情報取得部）
１０４  仮想マシン配置先決定部
１１１  記憶部（管理サーバ）
１１２  仮想マシンＩＰアドレス管理テーブル
１１３  仮想マシン配置情報管理テーブル
１１４  物理マシンリソース情報管理テーブル（物理マシン使用可能リソース情報）
１１５  仮想マシンリソース情報管理テーブル（仮想マシン使用リソース情報）
１１６  通信情報管理テーブル
１１７  閾値情報
１２１  物理マシン
１２２  仮想マシン
１２３  仮想化機構部
１２４  仮想ネットワークスイッチ
１２５  通信情報取得部
１２６  リソース情報取得部
１２７  記憶部（物理マシン）
１３１  ネットワーク
２０３  ネットワークインタフェース
２０４  ディスクインタフェース
３０１  仮想ネットワークインタフェース
【図１】
2010140134.tif 000003
【図２】
2010140134.tif 000004
【図３】
2010140134.tif 000005
【図４】
2010140134.tif 000006
【図５】
2010140134.tif 000007
【図６】
2010140134.tif 000008
【図７】
2010140134.tif 000009
【図８】
2010140134.tif 000010
【図９】
2010140134.tif 000011
【図１０】
2010140134.tif 000012
【図１１】
2010140134.tif 000013
【図１２】
2010140134.tif 000014