(57)【要約】【課題】ネットワーク上の通信量の削減を図る。【解決手段】本発明の管理装置は、仮想マシンを自装置上で動作させ、自装置上の仮想マシンと他の仮想化装置上の仮想マシンとの間、および、自装置上の仮想マシン間での通信量を計測可能な複数の仮想化装置への仮想マシンの配置を管理する管理装置であって、第１の仮想化装置に、第１の仮想化装置上の仮想マシンと他の仮想化装置上の仮想マシンとの間の通信量を計測させ、他の仮想化装置上の仮想マシンのうち、計測された通信量が閾値以上の候補仮想マシンを検出すると、候補仮想マシンを動作させる第２の仮想装置に、候補仮想マシンと第２の仮想化装置上の他の仮想マシンとの通信量を計測させ、第１の仮想化装置上の仮想マシンと候補仮想マシンとの間の通信量と、候補仮想マシンと第２の仮想化装置上の他の仮想マシンとの通信量とに応じて候補仮想マシンを第１の仮想化装置に移動させるか否かを判定する。【選択図】図１
2013254424.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンを自装置上で動作させることができ、ネットワークを介して接続された複数の仮想化装置と、前記複数の仮想化装置への前記仮想マシンの配置を管理する管理装置と、を備える情報処理システムであって、
前記複数の仮想化装置はそれぞれ、
自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間でフレーム転送を行う仮想スイッチを有し、
前記仮想スイッチは、
自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能な計測部を有し、
前記管理装置は、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶する記憶部と、
前記複数の仮想化装置の中から選択した第１の仮想化装置の計測部に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測部により計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記記憶部を参照して前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置の計測部に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置の計測部により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置の計測部により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定する制御部と、を有することを特徴とする情報処理システム。
【請求項２】
請求項１記載の情報処理システムにおいて、
前記制御部は、前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量が、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量よりも、予め定められた閾値以上多ければ、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定することを特徴とする情報処理システム。
【請求項３】
請求項１または２記載の情報処理システムにおいて、
前記制御部は、定期的に、前記複数の仮想化装置のうち、任意の仮想化装置を前記第１の仮想化装置として選択することを特徴とする情報処理システム。
【請求項４】
請求項１から３のいずれか１項に記載の情報処理システムにおいて、
前記管理装置は、使用者への通知を行う通知部をさらに有し、
前記制御部は、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定すると、前記通知部に通知を行わせ、該通知に応じて前記移動候補仮想マシンを移動させる旨が入力されると、前記移動候補仮想マシンを前記第１の仮想化装置に移動させることを特徴とする情報処理システム。
【請求項５】
複数の仮想マシンを自装置上で動作させることができ、自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能であり、ネットワークを介して接続された複数の仮想化装置への前記仮想マシンの配置を管理する管理装置であって、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶する記憶部と、
前記複数の仮想化装置の中から選択した第１の仮想化装置に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記記憶部を参照し、前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定する制御部と、を有することを特徴とする管理装置。
【請求項６】
請求項５記載の管理装置において、
前記制御部は、前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量が、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量よりも、予め定められた閾値以上多ければ、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定することを特徴とする管理装置。
【請求項７】
請求項５または６記載の管理装置において、
前記制御部は、定期的に、前記複数の仮想化装置のうち、任意の仮想化装置を前記第１の仮想化装置として選択することを特徴とする管理装置。
【請求項８】
請求項５から７のいずれか１項に記載の管理装置において、
前記管理装置は、使用者への通知を行う通知部をさらに有し、
前記制御部は、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定すると、前記通知部に通知を行わせ、該通知に応じて前記移動候補仮想マシンを移動させる旨が入力されると、前記移動候補仮想マシンを前記第１の仮想化装置に移動させることを特徴とする管理装置。
【請求項９】
複数の仮想マシンを自装置上で動作させることができ、自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能であり、ネットワークを介して接続された複数の仮想化装置への前記仮想マシンの配置を管理する管理装置の制御方法であって、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶し、
前記複数の仮想化装置の中から選択した第１の仮想化装置に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定することを特徴とする管理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンによりサービスを提供する情報処理システム、管理装置およびその制御方法に関する。
【背景技術】
【０００２】
クラウド・コンピューティング・サービスを提供する情報処理システムは、一般に、ネットワークを介して接続された複数の物理マシン（以下、仮想化装置と称する）で構成され、サービスは、仮想化装置上で動作する仮想マシンにより提供される。
【０００３】
仮想化装置は、自装置上で複数の仮想マシンを動作させることができ、ある仮想化装置上で動作する仮想マシンを、他の仮想化装置に移動させること（マイグレーション）が可能である。また、仮想マシンの性能や機能の向上は容易であり、スケーラビリティが高い。そのため、仮想マシンによるサービス提供は、利用状況に応じて柔軟な運用が可能であるというメリットがある。
【０００４】
上述した情報処理システムにおいて、仮想マシン同士が通信を行うことがある。仮想化装置は、仮想マシン間でのフレーム転送を行う仮想スイッチを有しており、仮想スイッチにより、仮想マシン間でのフレーム転送が行われる。ここで、異なる仮想化装置上で動作する仮想マシン間では、仮想化装置間を接続するネットワークを介してフレーム転送が行われる。一方、同じ仮想化装置上で動作する仮想マシン間では、その仮想化装置内でフレーム転送が行われるため、ネットワーク上にはフレームが流れない。したがって、通信量が多い仮想マシン同士を同じ仮想化装置上に配置することで、ネットワーク上の通信量を削減することができる。
【０００５】
ネットワーク上の通信量の削減は、通信事業者が、ユーザへの音声通話や電子メールの送受信などの通信サービスを上述した情報処理システムを用いて提供する場合などに重要となる。このような通信サービスは、３ＧＰＰ（3rd Generation Partnership Project）で標準化されたＥＰＣ（Evolved Packet Core）やＩＭＳ（IP Multimedia Subsystem）などにより提供される。ＥＰＣやＩＭＳは、３ＧＰＰの勧告に従った機能ノード同士を繋ぐネットワークで構成され、機能ノード同士が通信し合うことで通信サービスが提供される。なお、上述した機能ノードは、例えば、ＥＰＣにおけるＳ−ＧＷ（Serving Gateway）や、ＩＭＳにおけるＣＳＣＦ（Call Session Control Function）などである。
【０００６】
上述した機能ノードを仮想マシンにより構築する場合、仮想マシン間の通信によりネットワーク上の通信量が増大すると、通信サービスの品質低下を招くおそれがある。そのため、ネットワーク上の通信量の削減は重要である。
【０００７】
特許文献１（特開２０１０−１４０１３４号公報）には、ネットワークを介して接続された複数の物理マシンと管理サーバとからなるシステムにおいて、ネットワーク上の通信量の削減を図るための技術が開示されている。
【０００８】
特許文献１に開示の技術においては、各物理マシンは、自装置上で動作する仮想マシンと他の物理マシン上で動作する仮想マシンとの通信量を計測し、計測結果を管理サーバに出力する。管理サーバは、計測結果から、第１の物理マシン上で動作する第１の仮想マシンと第２の物理マシン上で動作する第２の仮想マシンとの通信量が予め定められた閾値以上であることを検出すると、第２の仮想マシンを第１の物理マシン上に移動させる技術が開示されている。この技術によれば、通信量が多い仮想マシンが同じ物理マシン上に移動されるので、ネットワーク上の通信量の削減を図ることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１４０１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に開示の技術においては、第２の仮想マシンを第１の物理マシン上に移動させた場合、第２の仮想マシンと第２の物理マシン上で動作する仮想マシンとの間のフレーム転送がネットワークを介して行われることになる。この場合、第２の仮想マシンと第２の物理マシン上で動作する仮想マシンとの通信量が、第２の仮想マシンと第１の物理マシン上で元々動作する仮想マシンとの通信量よりも多いと、ネットワーク上の通信量が増大することになる。したがって、特許文献１に開示の技術においては、ネットワーク上の通信量を削減できないことがあるという課題がある。
【００１１】
本発明の目的は、ネットワーク上の通信量の削減を図ることができる情報処理システム、管理装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明の情報処理システムは、
複数の仮想マシンを自装置上で動作させることができ、ネットワークを介して接続された複数の仮想化装置と、前記複数の仮想化装置への前記仮想マシンの配置を管理する管理装置と、を備える情報処理システムであって、
前記複数の仮想化装置はそれぞれ、
自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間でフレーム転送を行う仮想スイッチを有し、
前記仮想スイッチは、
自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能な計測部を有し、
前記管理装置は、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶する記憶部と、
前記複数の仮想化装置の中から選択した第１の仮想化装置の計測部に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測部により計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記記憶部を参照して前記移動候補仮想マシンを動作させる第２の仮想化装置を特定し、該第２の仮想化装置の計測部に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置の計測部により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置の計測部により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定する制御部と、を有する。
【００１３】
上記目的を達成するために本発明の管理装置は、
複数の仮想マシンを自装置上で動作させることができ、自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能であり、ネットワークを介して接続された複数の仮想化装置への前記仮想マシンの配置を管理する管理装置であって、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶する記憶部と、
前記複数の仮想化装置の中から選択した第１の仮想化装置に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記記憶部を参照し、前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定する制御部と、を有する。
【００１４】
上記目的を達成するために本発明の管理装置の制御方法は、
複数の仮想マシンを自装置上で動作させることができ、自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能であり、ネットワークを介して接続された複数の仮想化装置への前記仮想マシンの配置を管理する管理装置の制御方法であって、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶し、
前記複数の仮想化装置の中から選択した第１の仮想化装置に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定する。
【発明の効果】
【００１５】
本発明によれば、ネットワーク上の通信量の削減を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の情報処理システムの概要を説明するための図である。
【図２】本発明の一実施形態の情報処理システムの構成を示す図である。
【図３】図２に示す仮想マシン間で送受信されるフレームの構成を示す図である。
【図４】図２に示す仮想化装置の構成を示すブロック図である。
【図５Ａ】図２に示す管理装置からの計測要求に含まれるフィルタの一例を示す図である。
【図５Ｂ】図２に示す管理装置からの計測要求に含まれるフィルタの一例を示す図である。
【図６Ａ】図２に示す転送テーブル１４１Ａの一例を示す図である。
【図６Ｂ】図２に示す転送テーブル１４１Ｂの一例を示す図である。
【図７Ａ】図２に示す通信量テーブル１４２Ａの一例を示す図である。
【図７Ｂ】図２に示す通信量テーブル１４２Ａの一例を示す図である。
【図７Ｃ】図２に示す通信量テーブル１４２Ｂの一例を示す図である。
【図８】図２に示す管理装置の構成を示すブロック図である。
【図９】図８に示すＶＭ管理ＤＢの一例を示す図である。
【図１０】図２に示す情報処理システムの通信量検出処理時の動作を示すフローチャートである。
【図１１】図２に示す情報処理システムの通信量解析処理時の動作を示すフローチャートである。
【図１２】図２に示す情報処理システムの通信量解析終了処理時の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下に、本発明を実施するための形態について図面を参照して説明する。
【００１８】
まず、本発明の一実施形態の情報処理システム１の構成および動作の概要について、図１を参照して説明する。
【００１９】
情報処理システム１は、仮想化装置１０Ａ，１０Ｂと、管理装置２０と、を有する。
【００２０】
仮想化装置１０Ａと仮想化装置１０Ｂとは、ネットワーク３０を介して接続される。また、仮想化装置１０Ａおよび仮想化装置１０Ｂは、管理装置２０と接続される。
【００２１】
仮想化装置１０Ａ、１０Ｂはそれぞれ、１または複数の仮想マシン（ＶＭ：Ｖｅｒｔｕａｌ  Ｍａｃｈｉｎｅ）を自装置上で動作させることができる。図１においては、仮想化装置１０Ａは、仮想マシン１５０Ａ，１５１Ａを動作させ、仮想化装置１０Ｂは、仮想マシン１５０Ｂ，１５１Ｂを動作させている。
【００２２】
仮想化装置１０Ａは、仮想スイッチ１００Ａを有する。仮想スイッチ１００Ａは、計測部１２０Ａを有する。
【００２３】
仮想スイッチ１００Ａは、ネットワーク３０と接続され、仮想化装置１０Ａ上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間でネットワーク３０を介してフレーム転送を行う。また、仮想スイッチ１００Ａは、仮想化装置１０Ａ上で動作する仮想マシン間でフレーム転送を行う。
【００２４】
計測部１２０Ａは、仮想化装置１０Ａ上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、また、仮想化装置１０Ａ上で動作する仮想マシン間での通信量（転送されるフレーム数）を計測することができる。また、計測部１２０Ａは、管理装置２０と接続され、管理装置２０からの要求に応じて、計測結果を出力する。
【００２５】
仮想化装置１０Ｂは、仮想スイッチ１００Ｂを有する。仮想スイッチ１００Ｂは、計測部１２０Ｂを有する。
【００２６】
仮想スイッチ１００Ｂは、ネットワーク３０と接続され、仮想化装置１０Ｂ上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間でネットワーク３０を介してフレーム転送を行う。また、仮想スイッチ１００Ｂは、仮想化装置１０Ｂ上で動作する仮想マシン間でフレーム転送を行う。
【００２７】
計測部１２０Ｂは、仮想化装置１０Ｂ上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、また、仮想化装置１０Ｂ上で動作する仮想マシン間での通信量（転送されるフレーム数）を計測することができる。また、計測部１２０Ｂは、管理装置２０と接続され、管理装置２０からの要求に応じて、計測結果を出力する。
【００２８】
管理装置２０は、ＶＭ管理ＤＢ２１１と、制御部２２０と、を有する。
【００２９】
ＶＭ管理ＤＢ２１１は、各仮想化装置上で動作する仮想マシンを管理するデータベースである。
【００３０】
制御部２２０は、計測部１２０Ａおよび計測部１２０Ｂから計測結果を取得し、その計測結果から、自身が動作する仮想化装置とは別の仮想化装置上で動作する仮想マシンとの通信量が多い（転送されるフレーム数が多い）仮想マシンを検出すると、その仮想マシンをその別の仮想化装置に移動させるか否かを判定する。
【００３１】
次に、情報処理システム１の動作について説明する。なお、以下では、仮想マシン１５０Ａと仮想マシン１５０Ｂとの通信量が多いものとする。
【００３２】
制御部２２０は、計測部１２０Ａに、仮想化装置１０Ａ上で動作する仮想マシン（仮想化装置１５０Ａおよび仮想化装置１５１Ａ）と、仮想マシン１５０Ｂ，１５１Ｂそれぞれとの間で、仮想スイッチ１００Ａとネットワーク３０との間の経路３１を介して転送されるフレーム数を計測させ、計測結果を取得する。以下では、仮想マシン１５０Ｂとの間で転送されるフレーム数γが最も多かったとする。
【００３３】
制御部２２０は、γが十分に大きければ、ＶＭ管理ＤＢ２１１を参照し、仮想マシン１５０Ｂを動作させる仮想化装置１０Ｂを特定する。
【００３４】
次に、制御部２２０は、計測部１２０Ａに、仮想化装置１０Ａ上で動作する仮想マシンと仮想マシン１５０Ｂとの間で転送されるフレーム数の計測を要求する。また、制御部２２０は、計測部１２０Ｂに、仮想マシン１５０Ｂと仮想化装置１０Ｂ上で動作する他の仮想マシン（仮想マシン１５１Ｂ）との間で、仮想マシン１５０Ｂと仮想マシン１５１Ｂとの間の経路３２を介して転送されるフレーム数の計測を要求する。
【００３５】
一定時間後、制御部２２０は、計測部１２０Ａおよび計測部１２０Ｂに計測を停止させ、計測結果を取得する。以下では、計測部１２０Ａにより計測された、仮想化装置１０Ａ上で動作する仮想マシンと仮想マシン１５０Ｂとの間で転送されたフレーム数をαとする。また、計測部１２０Ｂにより計測された、仮想マシン１５０Ｂと仮想化装置１０Ｂ上で動作する他の仮想マシンとの間で転送されたフレーム数をβとする。
【００３６】
ここで、仮に、仮想マシン１５０Ｂを仮想化装置１０Ａに移動させたとすると、ネットワーク３０上に流れるフレーム数は、αだけ減少し、βだけ増加する。したがって、制御部２２０は、α＞βであれば、仮想マシン１５０Ｂを仮想化装置１０Ａに移動させると判定する。
【００３７】
ただし、αとβの差が僅かである場合は、仮想化装置１０Ａと仮想化装置１０Ｂとの間で仮想マシン１５０Ｂの移動が繰り返されるおそれがある。そのため、適当な閾値（期待値）を予め定めておき、α−β＞期待値である場合に、制御部２２０は、仮想マシン１５０Ｂを移動させると判定するようにしてもよい。なお、管理装置２０に管理者への通知を行う通知手段を設け、仮想マシン１５０Ｂを移動させると判定した場合に、通知手段により管理者に通知を行い、管理者から仮想マシンを移動させる旨が入力されると、仮想マシン１５０Ｂを仮想化装置１０Ａに移動させるようにしてもよい。
【００３８】
以下、情報処理システム１の構成および動作について、より詳細に説明する。
【００３９】
図２は、情報処理システム１の構成を示す図である。
【００４０】
情報処理システム１は、仮想化装置１０Ａ，１０Ｂと、管理装置２０と、を有する。
【００４１】
仮想化装置１０Ａと仮想化装置１０Ｂとは、イーサネット（登録商標）などのネットワーク３０を介して接続される。また、仮想化装置１０Ａおよび仮想化装置１０Ｂは、管理装置２０と接続される。
【００４２】
仮想化装置１０Ａ、１０Ｂはそれぞれ、１または複数の仮想マシンを自装置上で動作させることができる。仮想化装置１０Ａ，１０Ｂはそれぞれ、完全仮想化もしくは準仮想化機能、および、任意のポートに入出力されるフレーム数を計測する計測機能を備えた装置であり、例えば、Ｌｉｎｕｘ  ＫＶＭ（Ｋｅｒｎｅｌ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）（Ｌｉｎｕｘは登録商標）とＯＶＳ（ＯｐｅｎｖＳｗｉｔｃｈ）を具備したＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やサーバなどである。
【００４３】
仮想マシンは、必要に応じて、自身と同じ仮想化装置上で動作する他の仮想マシン、あるいは、他の仮想化装置上で動作する仮想マシンとフレームの送受信を行い、ユーザからの要求に応じたサービスを提供する。
【００４４】
管理装置２０は、各仮想化装置上で動作する仮想マシンの配置を管理する。管理装置２０と仮想化装置１０Ａ，１０Ｂとの間での管理情報のやり取りは、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）などを用いて行われる。また、管理情報は、ＭＩＢ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）である。
【００４５】
なお、図２においては、仮想化装置の数が２つである例を用いて説明したが、３以上であってもよい。
【００４６】
図３は、仮想マシン間で転送されるフレーム３００の構成を示す図である。
【００４７】
図３に示すフレーム３００は、宛先アドレス３１０と、送信元アドレス３２０と、フレームデータ３３０と、で構成される。
【００４８】
例えば、イーサネットでは、フレーム３００は、ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）フレームであり、宛先アドレス３１０は、そのフレームの宛先を示すＭＡＣアドレスであり、送信元アドレス３２０は、そのフレームの送信元を示すＭＡＣアドレスである。また、フレームデータ３３０は、フレーム長、データ本体およびＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）から構成される。
【００４９】
次に、仮想化装置の構成について図４を参照して説明する。
【００５０】
なお、仮想化装置１０Ａ，１０Ｂは同様の構成を有するため、以下では、仮想化装置１０Ａの構成を中心に説明する。
【００５１】
仮想化装置１０Ａは、仮想マシン１５０Ａ，１５１Ａ，・・・を動作させる。仮想マシンは、別の仮想化装置に移動させること（マイグレーション）が可能である。なお、マイグレーションの具体的な手順は、当業者にとってよく知られており、また、本発明とは直接関係しないので、説明を省略する。
【００５２】
仮想化装置１０Ａ上で動作する仮想マシンはそれぞれ、アドレスを保持する。図４においては、仮想マシン１５０Ａ，１５１Ａはそれぞれ、アドレス１５０１Ａ，１５１１Ａを保持する。アドレスは、仮想マシン１５０Ａ，１５１Ａと他の仮想マシンとの間で転送されるフレームにおける宛先アドレスあるいは送信元アドレスとして使用される。アドレスの具体例としては、ＭＡＣアドレスがある。
【００５３】
仮想化装置１０Ａは、仮想スイッチ１００Ａおよび記憶部１４０Ａを有する。仮想スイッチ１００Ａは、仮想ポート１１０Ａ，１１１Ａと、物理ポート１１２Ａと、計測部１２０Ａと、を有する。
【００５４】
仮想ポート１１０Ａは、仮想マシン１５０Ａに対応して設けられ、仮想マシン１５０Ａと他の仮想マシンとの間で転送されるフレームの入出力ポートである。
【００５５】
仮想ポート１１１Ａは、仮想マシン１５１Ａに対応して設けられ、仮想マシン１５１Ａと他の仮想マシンとの間で転送されるフレームの入出力ポートである。
【００５６】
物理ポート１１２Ａは、ネットワーク３０と接続され、ネットワーク３０との間のフレームの入出力ポートである。
【００５７】
物理ポート１１２Ａは、例えば、仮想化装置１０Ａに備えられたＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）のインタフェースで、仮想化装置１０Ａを物理的にネットワーク接続するためのインタフェースである。また、仮想ポート１１０Ａ，１１１Ａは、例えば、ＬｉｎｕｘにおけるＴＡＰである。
【００５８】
記憶部１４０Ａは、転送テーブル１４１Ａおよび通信量テーブル１４２Ａを記憶する。なお、記憶部１４０Ａは、揮発性であっても、不揮発性であってもよい。
【００５９】
転送テーブル１４１Ａは、アドレスと、そのアドレスを宛先アドレスとするフレームを転送するポートと、を対応させたテーブルである。アドレスに対応付けられたポートに先には、そのアドレスを保持する仮想マシン存在する。
【００６０】
通信量テーブル１４２Ａは、アドレスと、そのアドレスを保持する仮想化装置との間で転送されたフレーム数と、を対応させたテーブルである。
【００６１】
仮想スイッチ１００Ａは、仮想ポート１１０Ａ，１１１Ａあるいは物理ポート１１２Ａを介してフレームが入力されると、転送テーブル１４１Ａを参照し、そのフレームの宛先アドレスに対応して記憶されているポートにそのフレームを転送する。
【００６２】
計測部１２０Ａは、転送テーブル１４１Ａを参照し、アドレスをキーに、そのアドレスに対応して記憶されている仮想ポートもしくは物理ポートを特定することができる。
【００６３】
また、計測部１２０Ａは、通信量テーブル１４２Ａを参照し、アドレスをキーに、そのアドレスに対応して記憶されているフレーム数を読み込むことができる。さらに、計測部１２０Ａは、アドレスをキーに、そのアドレスに対応するフレーム数を通信量テーブル１４２Ａに書き込むことができる。なお、以下では、通信量テーブル１４２Ａ内の全てのアドレスに対応するフレーム数に０を書き込むことを、通信量テーブル１４２Ａをリセットすると称する。
【００６４】
また、計測部１２０Ａは、任意のポートに入出力されるフレーム数を計測するフレーム数計測機能を具備し、管理装置２０からの計測要求を受けて、フレーム数の計測を開始する。計測要求には、アドレスおよびフィルタが含まれる。アドレスは、フレーム数の計測対象となるポート（以下、計測対象ポートと称する）を指定するためのものである。以下では、計測要求に含まれるアドレスを対象アドレスと称する。フィルタは、仮想マシンのアドレスのリストである。
【００６５】
図５Ａおよび図５Ｂは、計測要求に含まれるフィルタの一例を示す図である。
【００６６】
図５Ａに示すフィルタ５０Ａは、リストが空である例を示す。
【００６７】
図５Ｂに示すフィルタ５０Ｂは、リストがアドレス１５０１Ｂおよびアドレス１５１１Ｂを含む。
【００６８】
計測要求が入力されると、計測部１２０Ａは、以下のようにして、フレーム数の計測を行う。
【００６９】
計測要求に含まれる対象アドレスが空の場合（対象アドレスが指定されていない場合）、計測部１２０Ａは、物理ポート１１２Ａを計測対象ポートとして確定する。一方、計測部１２０Ａは、管理装置２０から指定された対象アドレスが空でない場合、転送テーブル１４１Ａを参照し、対象アドレスに対応するポートを計測対象ポートとして確定する。
【００７０】
次に、計測部１２０Ａは、通信量テーブル１４２Ａをリセットする。
【００７１】
次に、計測部１２０Ａは、以下のようにして、計測対象ポートにおけるフレーム数の計測を行う。
【００７２】
計測部１２０Ａは、計測要求に含まれるフィルタが空でない場合、フィルタに含まれるアドレス毎に、計測対象ポートを経由して仮想スイッチ１００Ａの内部から外部に向かい、送信元アドレスがそのアドレスに一致するフレーム数、および、計測対象ポートを経由して仮想スイッチ１００Ａの外部から内部に向かい、宛先アドレスがそのアドレスに一致するフレーム数を計測し、それらを合計する。
【００７３】
一方、計測部１２０Ａは、計測要求に含まれるフィルタが空である場合、計測対象ポートを経由して仮想スイッチ１００Ａの内部から外部に向かうフレームの宛先アドレス毎のフレーム数、および、計測対象ポートを経由して仮想スイッチ１００Ａの外側から内側に向かうフレームの送信元アドレス毎のフレーム数を計測し、アドレス毎に、それらを合計する。
【００７４】
計測部１２０Ａは、管理装置２０からのフレーム数計測の停止要求を受けて、フレーム数の計測を停止する。また、計測部１２０Ａは、管理装置２０からの取得要求を受けて、通信テーブル１４２Ａを管理装置２０に出力する。
【００７５】
次に、転送テーブルについて説明する。
【００７６】
図６Ａは、記憶部１４０Ａに記憶される転送テーブル１４１Ａの一例を示す図である。また、図６Ｂは、仮想化装置１０Ｂの記憶部１４０Ｂに記憶される転送テーブル１４１Ｂの一例を示す図である。
【００７７】
図６Ａおよび図６Ｂに示すように、アドレスに対応して、そのアドレスを宛先アドレスとするフレームを転送するポートが記憶される。
【００７８】
仮想スイッチ１００Ａは、フレームが入力されると、転送テーブル１４１Ａを参照し、フレームの宛先アドレスが１５０１Ａである場合には、そのフレームを仮想ポート１１０Ａに転送し、フレームの宛先アドレスが１５１１Ａである場合には、そのフレームを仮想ポート１１１Ａに転送し、フレームの宛先アドレスがその他のアドレスである場合には、物理ポート１１２Ａに転送する。また、計測部１２０Ａは、転送テーブル１４１Ａを参照して、フレームの転送先を判断し、フレーム数の計測を行う。
【００７９】
次に、通信量テーブルについて説明する。
【００８０】
図７Ａから図７Ｃは、通信量テーブルの一例を示す図である。図７Ａおよび図７Ｂは、記憶部１４０Ａに記憶される通信量テーブル１４２Ａの一例を示し、図７Ｃは、仮想化装置１０Ｂの記憶部１４０Ｂに記憶される通信量テーブル１４２Ｂの一例を示す。
【００８１】
ここで、図７Ａおよび図７Ｂに示す通信量テーブル１４２Ａは、計測要求に含まれる対象アドレスおよびフィルタが空である場合の、計測部１２０Ａによる計測結果を示す。また、図７Ｃに示す通信量テーブル１４２Ｂは、計測要求に含まれる対象アドレスがアドレス１５０１Ｂであり、図５Ｂに示すフィルタが含まれている場合の、計測部１２０Ｂによる計測結果を示す。
【００８２】
上述したように、計測要求に含まれる対象アドレスが空の場合、計測部１２０Ａは、物理ポート１１２Ａを計測対象ポートとして確定する。また、計測部１２０Ａは、計測要求に含まれるフィルタが空である場合、計測対象ポートである物理ポート１１２Ａ経由して仮想スイッチ１００Ａの内部から外部に向かうフレームの宛先アドレス毎のフレーム数、および、物理ポート１１２Ａを経由して仮想スイッチ１００Ａの外側から内側に向かうフレームの送信元アドレス毎のフレーム数を計測し、アドレス毎にそれらを合計する。
【００８３】
したがって、図７Ａにおいて、アドレス１５０１Ｂに対応するフレーム数７２４９０００は、物理ポート１１２Ａを経由して仮想スイッチ１００Ａの内部から外部に向かい、宛先アドレスがアドレス１５０１Ｂであるフレーム数、および、物理ポート１１２Ａを経由して仮想スイッチの外部から内部に向かい、送信元アドレスがアドレス１５０１Ｂであるフレーム数の合計である。つまり、アドレス１５０１Ｂに対応するフレーム数７２４９０００は、仮想マシン１５０Ｂと仮想化装置１０Ａ上で動作する仮想マシンとの間でネットワーク３０を介して転送されたフレーム数である。
【００８４】
なお、図７Ｂは、図７Ａに示す通信量テーブル１４２Ａがリセットされた後、再度、計測部１２０Ａによるフレーム数の計測結果が書き込まれたものである。
【００８５】
また、計測要求に含まれる対象アドレスが空でない場合、計測部１２０Ｂは、その対象アドレスに対応するポートを計測対象ポートとして確定する。したがって、計測部１２０Ｂは、仮想ポート１１０Ｂを計測対象ポートとして確定する。また、計測部１２０Ｂは、計測要求に含まれるフィルタが空でない場合、フィルタに含まれるアドレス毎に、計測対象ポートである仮想ポート１１０Ｂを経由して仮想スイッチ１００Ｂの内部から外部に向かい、送信元アドレスがそのアドレスに一致するフレーム数、および、仮想ポート１１０Ｂを経由して仮想スイッチ１００Ｂの外部から内部に向かい、宛先アドレスがそのアドレスに一致するフレーム数を計測し、それらを合計する。
【００８６】
したがって、例えば、図７Ｃにおいて、アドレス１５０１Ｂに対応するフレーム数４３２１０は、仮想ポート１１０Ｂを経由して仮想スイッチ１００Ｂの内部から外部に向かい、送信元アドレスがフィルタに含まれるアドレス１５０１Ｂあるいはアドレス１５１１であるフレーム数、および、仮想ポート１１０Ｂを経由して仮想スイッチ１００Ｂの外部から内部に向かい、宛先アドレスがフィルタに含まれるアドレス１５０１Ｂあるいはアドレス１５１１であるフレーム数の合計である。したがって、アドレス１５０１Ｂに対応するフレーム数４３２１０は、仮想マシン１５０Ｂと仮想マシン１５１Ｂとの間で転送されたフレーム数である。
【００８７】
次に、管理装置２０の構成について説明する。
【００８８】
図８は、管理装置２０の構成を示すブロック図である。
【００８９】
管理装置２０は、記憶部２１０と、管理部２２１と、解析部２２２と、通知部２２３と、を有する。管理部２２１および解析部２２２は、制御部２２０を構成する。
【００９０】
記憶部２１０は、ＶＭ管理ＤＢ２１１と、期待値２１２と、基準値２１３と、を記憶する。なお、記憶部２１０は、揮発性であっても、不揮発性であってもよい。
【００９１】
ＶＭ管理ＤＢ２１１は、各仮想化装置上で動作する仮想マシンを管理するデータベースである。
【００９２】
図９は、ＶＭ管理ＤＢ２１１の一例を示す図である。
【００９３】
ＶＭ管理ＤＢ２１１は、アドレスの集合９１０と仮想化装置の識別情報の集合９２０とで構成される。
【００９４】
アドレスの集合９１０は、要素として、各仮想化装置上で動作する仮想マシンのアドレスを有する。
【００９５】
仮想化装置の識別情報の集合９２０は、要素として、各仮想化装置の識別情報を有する。
【００９６】
アドレスの集合９１０内の各アドレスは、そのアドレスを保持する仮想マシンを動作させる仮想化装置の識別情報と対応付けられている。したがって、ＶＭ管理ＤＢ２１１においては、アドレスをキーとして、そのアドレスを保持する仮想マシンを動作させる仮想化装置を特定することができ、仮想化装置の識別情報をキーとして、その仮想化装置上で動作する仮想マシンのリストを出力することができる。
【００９７】
再び、図８を参照すると、期待値２１２は、ネットワーク３０上から削減したいフレーム数の基準となる値であり、正の整数である。以下では、期待値２１２は、２００００００であるとする。
【００９８】
基準値２１３は、ネットワーク３０上における過剰な仮想マシン間通信を検出するための基準となる値であり、正の整数である。以下では、基準値２１３は、５００００００であるとする。
【００９９】
管理部２２１は、仮想化装置１０Ａ、１０Ｂと接続される。
【０１００】
管理部２２１は、解析部２２２からの要求を受けて、仮想化装置１０Ａ，１０Ｂに対して、フレーム数の計測要求を出力する。このとき、管理部２２１は、解析部２２２から出力された対象アドレスおよびフィルタを計測要求に含める。また、管理部２２１は、解析部２２２からの要求を受けて、仮想化装置１０Ａ，１０Ｂに対して、フレーム数計測の停止要求を出力する。また、管理部２２１は、解析部２２２からの要求を受けて、仮想化装置１０Ａ，１０Ｂに対して、通信量テーブルの取得を要求する取得要求を出力する。
【０１０１】
解析部２２２は、仮想化装置１０Ａ，１０Ｂから取得した通信量テーブルに基づいて、ある仮想化装置上で動作する仮想マシンを他の仮想化装置に移動させるか否かを判定する。また、解析部２２２は、その仮想マシンを移動させると判定した場合には、その旨の管理者への通知を通知部２２３に要求する。
【０１０２】
通知部２２３は、解析部２２２からの要求を受けて、管理者への通知を行う。なお、管理者への通知は、例えば、ディスプレイ画面への表示、音声、電子メール、ＳＮＭＰ−Ｔｒａｐメッセージの送信などにより行われる。
【０１０３】
次に、情報処理システム１の動作について説明する。
【０１０４】
図１０は、通信量検出処理時の動作を示すフローチャートである。
【０１０５】
解析部２２２は、定期的に、管理装置２０に接続される複数の仮想化装置から、１つの仮想化装置を選択仮想化装置として選択する（ステップＳ１００１）。
【０１０６】
次に、解析部２２２は、管理部２２１に、通信量テーブルの取得要求を選択仮想化装置の計測部に出力させる。
【０１０７】
選択仮想化装置においては、計測部は、取得要求が入力されると、記憶部に記憶されている通信量テーブルを管理部２２１に出力する。解析部２２２は、管理部２２１を介して、その通信量テーブルを取得する（ステップＳ１００２）。
【０１０８】
次に、解析部２２２は、取得した通信量テーブルに含まれるアドレスのうち、対応するフレーム数が最大のアドレスを候補アドレスとして決定する（ステップＳ１００３）。
【０１０９】
次に、解析部２２２は、候補アドレスに対応するフレーム数が基準値２１３以上であるか否かを判定する（ステップＳ１００４）。
【０１１０】
候補アドレスに対応するフレーム数が基準値未満である場合には（ステップＳ１００４：Ｎｏ）、解析部２２２は、ステップＳ１００１の処理に戻る。
【０１１１】
候補アドレスに対応するフレーム数が基準値以上である場合には（ステップＳ１００４：Ｙｅｓ）、制御部２２２は、通信量解析処理を行い（ステップＳ１００５）、その後、ステップＳ１００１の処理に戻る。なお、通信量解析処理の詳細については図１１を参照して説明する。
【０１１２】
図１１は、通信量解析処理時の動作を示すフローチャートである。
【０１１３】
まず、解析部２２２は、ＶＭ管理ＤＢ２１１を参照し、候補アドレスをキーとして、その候補アドレスを保持する仮想マシン（以下、移動候補仮想マシンと称する）を動作させる仮想化装置である候補仮想化装置を特定する（ステップＳ１１０１）。
【０１１４】
次に、解析部２２２は、管理部２２１に、フレーム数計測の停止要求を選択仮想化装置の計測部に出力させる。
【０１１５】
選択仮想化装置においては、計測部は、停止要求が入力されると、フレーム数の計測を停止する（ステップＳ１１０２）。
【０１１６】
また、解析部２２２は、管理部２２１に、フレーム数計測の停止要求を候補仮想化装置の計測部に出力させる。
【０１１７】
候補仮想化装置においては、計測部は、停止要求が入力されると、フレーム数の計測を停止する（ステップＳ１１０３）。
【０１１８】
次に、解析部２２２は、ＶＭ管理ＤＢ２１１を参照し、候補仮想化装置の識別情報をキーとして、候補仮想化装置上で動作する仮想マシンが保持するアドレスのリストを取得し、そのリストに基づいてフィルタ（以下、候補仮想化装置フィルタと称する）を作成する（ステップＳ１１０４）。
【０１１９】
次に、解析部２２２は、管理部２２１に、対象アドレスを候補アドレスとし、フィルタを空とするフレーム数の計測要求を、選択仮想化装置の計測部に出力させる。
【０１２０】
選択仮想化装置においては、計測部は、計測要求が入力されると、転送テーブルを参照し、その計測要求に含まれる対象アドレス（候補アドレス）に対応するポートを計測対象ポートとして確定する。また、計測部は、通信量テーブルをリセットする。
【０１２１】
次に、計測部は、計測要求に含まれるフィルタが空であるため、計測対象ポートを経由して仮想スイッチの内部から外部に向かうフレームの宛先アドレス毎のフレーム数、および、計測対象ポートを経由して仮想スイッチの外側から内側に向かうフレームの送信元アドレス毎のフレーム数の計測を開始する（ステップＳ１１０５）。
【０１２２】
また、解析部２２２は、管理部２２１に、対象アドレスを候補アドレスとし、フィルタをステップＳ１１０４で作成した候補仮想化装置フィルタとするフレーム数の計測要求を、候補仮想化装置の計測部に出力させる。
【０１２３】
候補仮想化装置においては、計測部は、計測要求が入力されると、候補仮想化装置の転送テーブルを参照し、その計測要求に含まれる対象アドレス（候補アドレス）に対応するポートを計測対象ポートとして確定する。また、計測部は、通信量テーブルをリセットする。
【０１２４】
次に、計測部は、計測要求に含まれるフィルタ（候補仮想化装置フィルタ）が空でないため、フィルタに含まれるアドレス毎に、計測対象ポートを経由して仮想スイッチの内部から外部に向かい、送信元アドレスがそのアドレスに一致するフレーム数、および、計測対象ポートを経由して仮想スイッチの外部から内部に向かい、宛先アドレスがそのアドレスに一致するフレーム数の計測を開始する（ステップＳ１１０６）。
【０１２５】
次に、解析部２２２は、一定時間、例えば、一時間待機する（ステップＳ１１０７）。
【０１２６】
一定時間経過後、解析部２２２は、ステップＳ１１０２と同様の処理により、選択仮想化装置にフレーム数の計測を停止させる（ステップＳ１１０８）。
【０１２７】
また、解析部２２２は、ステップＳ１１０３と同様の処理により、候補仮想化装置にフレーム数の計測を停止させる（ステップＳ１１０９）。
【０１２８】
次に、解析部２２２は、管理部２２１に、通信量テーブルの取得要求を選択仮想化装置の計測部に出力させる。
【０１２９】
選択仮想化装置においては、計測部は、取得要求が入力されると、通信量テーブルを管理部２２１に出力する。解析部２２２は、管理部２２１を介して、その通信量テーブルを取得する。次に、解析部２２２は、その通信量テーブルにおける、候補アドレスに対応するフレーム数αを取得する（ステップＳ１１１０）。フレーム数αは、移動候補仮想マシンと選択仮想化装置上で動作する仮想マシンとの間で転送されたフレーム数である。
【０１３０】
また、解析部２２２は、管理部２２１に、通信量テーブルの取得要求を候補仮想化装置の計測部に出力させる。
【０１３１】
候補仮想化装置においては、計測部は、取得要求が入力されると、通信量テーブルを管理部２２１に出力する。解析部２２２は、管理部２２１を介して、その通信量テーブルを取得する。次に、解析部２２２は、その通信量テーブルにおける、候補アドレスに対応するフレーム数βを取得する（ステップＳ１１１１）。フレーム数βは、移動候補仮想マシンと候補仮想化装置上で動作する他の仮想マシンとの間で転送されたフレーム数である。
【０１３２】
次に、解析部２２２は、α−βが期待値２１２以上であるか否かを判定する（ステップＳ１１１２）。
【０１３３】
α−βが期待値２１２以上である場合には（ステップＳ１１１２：Ｙｅｓ）、解析部２２２は、通知部２２３に、候補アドレスを保持する仮想マシンを選択仮想化装置に移動させることで、ネットワーク３０上を流れるフレーム数を期待値２１２以上削減することができる旨を管理者に通知させる（ステップＳ１１１３）。
【０１３４】
次に、解析部２２２は、通信量解析終了処理を行い（ステップＳ１１１４）、処理を終了する。なお、通信量解析終了処理の詳細については図１２を参照して説明する。
【０１３５】
α−βが期待値２１２未満である場合には（ステップＳ１１１２：Ｎｏ）、解析部２２２は、ステップＳ１１１４の処理に進む。
【０１３６】
次に、通信量解析終了処理時の動作について説明する。
【０１３７】
図１２は、通信量解析終了処理時の動作を示すフローチャートである。
【０１３８】
まず、解析部２２２は、管理部２２１に、対象アドレスおよびフィルタを空とするフレーム数の計測要求を選択仮想化装置の計測部に出力させる。
【０１３９】
選択仮想化装置においては、計測部は、計測要求が入力されると、その計測要求に含まれる対象アドレスが空であるため、仮想スイッチ内の物理ポートを計測対象ポートとして確定する。次に、計測部は、通信量テーブルをリセットする。
【０１４０】
次に、計測部は、計測要求に含まれるフィルタが空であるため、計測対象ポートを経由して仮想スイッチの内部から外部に向かうフレームの宛先アドレス毎のフレーム数、および、計測対象ポートを経由して仮想スイッチの外側から内側に向かうフレームの送信元アドレス毎のフレーム数の計測を開始する（ステップＳ１２０１）。
【０１４１】
また、解析部２２２は、管理部２２１に、対象アドレスおよびフィルタを空とするフレーム数の計測要求を候補仮想化装置の計測部に出力させる。
【０１４２】
候補仮想化装置においては、計測部は、計測要求が入力されると、その計測要求に含まれる対象アドレスが空であるため、仮想スイッチ内の物理ポートを計測対象ポートとして確定する。次に、計測部は、通信量テーブルをリセットする。
【０１４３】
次に、計測部は、計測要求に含まれるフィルタが空であるため、計測対象ポートを経由して仮想スイッチの内部から外部に向かうフレームの宛先アドレス毎のフレーム数、および、計測対象ポートを経由して仮想スイッチの外側から内側に向かうフレームの送信元アドレス毎のフレーム数を計測を開始する（ステップＳ１２０２）。
【０１４４】
次に、図１０から図１２に示す一連の動作をより具体的な例を用いて説明する。
【０１４５】
解析部２２２は、定期的に、管理装置２０に接続される仮想化装置１０Ａ，１０Ｂの中から、１つの仮想化装置を選択仮想化装置として選択する（ステップＳ１００１）。以下では、解析部２２２は、仮想化装置１０Ａを選択仮想化装置として選択したものとする。
【０１４６】
次に、解析部２２２は、管理部２２１を介して仮想化装置１０Ａから通信量テーブル１４２Ａを取得する（ステップＳ１００２）。ここで、取得した通信量テーブルは、図７Ａに示すものであったとする。
【０１４７】
次に、解析部２２２は、取得した通信量テーブル１４２Ａに含まれるアドレスのうち、対応するフレーム数が最大のアドレスを候補アドレスとして決定する（ステップＳ１００３）。図７Ａにおいては、アドレス１５０１Ｂに対応するフレーム数（７２４９０００）が最大であるので、解析部２２２は、アドレス１５０１Ｂを候補アドレスとして決定する。
【０１４８】
次に、解析部２２２は、候補アドレスに対応するフレーム数が基準値２１３以上であるか否かを判定する（ステップＳ１００４）。上述したように、基準値２１３としては、５００００００が設定されている。候補アドレスに対応するフレーム数（７２４９０００）＞基準値２１３（５００００００）であるため（ステップＳ１００４：Ｙｅｓ）、解析部２２２は、通信量解析処理に進む（ステップＳ１００５）。
【０１４９】
次に、解析部２２２は、図９に示すＶＭ管理ＤＢ２１１を参照し、アドレス１５０１Ｂに対応付けられた仮想化装置１０Ｂを、候補仮想化装置として特定する（ステップＳ１１０１）。
【０１５０】
次に、解析部２２２は、管理部２２１を介して仮想化装置１０Ａにおけるフレーム数の計測を停止させる（ステップＳ１１０２）。
【０１５１】
また、解析部２２２は、管理部２２１を介して仮想化装置１０Ｂにおけるフレーム数の計測を停止させる（ステップＳ１１０３）。
【０１５２】
次に、解析部２２２は、ＶＭ管理ＤＢ２１１を参照し、仮想化装置１０Ｂ上で動作する仮想マシンが保持するアドレスのリストを取得し、そのリストに基づいて、候補仮想化装置フィルタを作成する（ステップＳ１１０４）。ここで、図９に示すように、仮想化装置１０Ｂの識別情報には、アドレス１５０１Ｂおよびアドレス１５１１Ｂが対応付けられているため、候補仮想化装置フィルタには、図５Ｂに示すように、アドレス１５０１Ｂおよびアドレス１５１１Ｂが含まれる。
【０１５３】
次に、解析部２２２は、管理部２２１に、対象アドレスがアドレス１５０１Ｂであり、フィルタが空であるフレーム数の計測要求を仮想化装置１０Ａの計測部１２０Ａに出力させる。計測部１２０Ａは、転送テーブル１４１Ａを参照し、対象アドレスが１５０１Ｂであるため、物理ポート１１２Ａを計測対象ポートとして確定する。さらに、計測部１２０Ａは、通信量テーブル１４２Ａをリセットし、フィルタを用いて物理ポート１１２Ａにおけるフレーム数の計測を開始する（ステップＳ１１０５）。
【０１５４】
また、解析部２２２は、管理部２２１に、対象アドレスが１５０１Ｂであり、フィルタがステップＳ１１０４で作成した候補仮想化装置フィルタ（図５Ｂに示すフィルタ）であるフレーム数の計測要求を仮想化装置１０Ｂの計測部１２０Ｂに出力させる。計測部１２０Ｂは、転送テーブル１４１Ｂを参照し、対象アドレス（アドレス１５０１Ｂ）に対応する仮想ポート１１０Ｂを計測対象ポートとして確定する。さらに、計測部１２０Ｂは、通信量テーブル１４２Ｂをリセットし、フィルタを用いて仮想ポート１１０Ｂにおけるフレーム数の計測を開始する（ステップＳ１１０６）。
【０１５５】
次に、解析部２２２は、一定時間、例えば、１時間待機する（ステップＳ１１０７）。
【０１５６】
次に、解析部２２２は、管理部２２１を介して仮想化装置１０Ａのフレーム数の計測を停止させる（ステップＳ１１０８）。
【０１５７】
また、解析部２２２は、管理部２２１を介して仮想化装置１０Ｂのフレーム数の計測を停止させる（ステップＳ１１０９）。
【０１５８】
次に、解析部２２２は、管理部２２１を介して、仮想化装置１０Ａの計測部１２０Ａから通信量テーブル１４２Ａを取得する。以下では、取得した通信量テーブル１４２Ａは、図７Ｂに示すものであったとする。解析部２２２は、通信量テーブル１４２Ａを参照し、アドレス１５０１Ｂに対応するフレーム数α（５１３９００７）を取得する（ステップＳ１１１０）。
【０１５９】
また、解析部２２２は、管理部２２１を介して、仮想化装置１０Ｂの計測部１２０Ｂから通信量テーブル１４２Ｂを取得する。以下では、取得した通信量テーブル１４２Ｂは、図７Ｃに示すものであったとする。解析部２２２は、通信量テーブル１４２Ｂを参照し、アドレス１５０１Ｂに対応するフレーム数β（４３２１０）を取得する（ステップＳ１１１１）。
【０１６０】
次に、解析部２２２は、フレーム数αとフレーム数βとの差（α−β）が基準値２１２以上であるか否かを判定する（ステップＳ１１１２）。上述したように、基準値２１３としては、５００００００が設定されている。α−β＝５０９５７９８＞２００００００、すなわち、α−β＞基準値２１２であるため（ステップＳ１１１１：Ｙｅｓ）、解析部２２２は、管理者への通知を通知部２２３に要求する。通知部２２３は、解析部２２２からの要求を受けて、アドレス１５０１Ｂを保持する仮想マシンを仮想化装置１０Ａに移動させることで、ネットワーク３０上を流れるフレーム数を期待値２１２以上削減することができる旨を管理者に通知する（ステップＳ１１１３）。
【０１６１】
次に、解析部２２２は、管理部２２１に、対象アドレスおよびフィルタが空であるフレーム数の計測要求を仮想化装置１０Ａの計測部１２０Ａに出力させる。計測部１２０Ａは、物理ポート１１２Ａを計測対象ポートとして確定する。さらに、計測部１２０Ａは、通信量テーブル１４２Ａをリセットし、物理ポート１１２Ａにおけるフレーム数の計測を開始する（ステップＳ１２０１）。
【０１６２】
また、解析部２２２は、管理部２２１を介して、対象アドレスおよびフィルタが空であるフレーム数の計測要求を仮想化装置１０Ｂの計測部１２０Ｂに出力させる。Ｂの計測部１２０Ｂは、物理ポート１１２Ｂを計測対象ポートとして確定する。さらに、計測部１２０Ｂは、通信量テーブル１４２Ｂをリセットし、物理ポート１１２Ｂにおけるフレーム数の計測を開始する（ステップＳ１２０２）。
【０１６３】
このように本実施形態によれば、管理装置２０は、選択仮想化装置の計測部に、選択仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、他の仮想化装置上で動作する仮想マシンのうち、計測された通信量が閾値以上の仮想マシンである移動候補仮想マシンを検出する。また、管理装置２０は、移動候補仮想マシンを動作させる候補仮想化装置の計測部に、移動候補仮想マシンと候補仮想化装置上で動作する他の仮想マシンとの通信量を計測させる。さらに、管理装置２０は、選択仮想化装置上で動作する仮想マシンと移動候補仮想マシンとの間の通信量と、移動候補仮想マシンと候補仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて、移動候補仮想マシンを移動させるか否かを判定する。
【０１６４】
そのため、仮想マシンを移動することで増加するネットワーク上の通信量が、その仮想マシンを移動することで減少するネットワーク上の通信量よりも多くなることがなくなるので、ネットワーク上の通信量の削減を図ることができる。
【０１６５】
なお、本実施形態においては、α−β＞基準値２１２である場合に、通知部２２３を介して管理者に通知を行う例を用いて説明したが、これに限られるものでない。α−β＞基準値２１２である場合に、解析部２２２あるいは図４においては不図示の他の機能ブロックが、自動的に、仮想マシンを移動させてもよい。
【０１６６】
また、基準値２１２および期待値２１３を仮想マシンごとに異なる値に設定してもよい。こうすることで、より実情に即した仮想マシンの配置が可能である。
【０１６７】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１６８】
（付記１）
複数の仮想マシンを自装置上で動作させることができ、ネットワークを介して接続された複数の仮想化装置と、前記複数の仮想化装置への前記仮想マシンの配置を管理する管理装置と、を備える情報処理システムであって、
前記複数の仮想化装置はそれぞれ、
自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間でフレーム転送を行う仮想スイッチを有し、
前記仮想スイッチは、
自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能な計測部を有し、
前記管理装置は、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶する記憶部と、
前記複数の仮想化装置の中から選択した第１の仮想化装置の計測部に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測部により計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記記憶部を参照して前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置の計測部に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置の計測部により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置の計測部により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定する制御部と、を有することを特徴とする情報処理システム。
【０１６９】
（付記２）
付記１記載の情報処理システムにおいて、
前記制御部は、前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量が、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量よりも、予め定められた閾値以上多ければ、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定することを特徴とする情報処理システム。
【０１７０】
（付記３）
付記１または２記載の情報処理システムにおいて、
前記制御部は、定期的に、前記複数の仮想化装置のうち、任意の仮想化装置を前記第１の仮想化装置として選択することを特徴とする情報処理システム。
【０１７１】
（付記４）
付記１から３のいずれか１つに記載の情報処理システムにおいて、
前記管理装置は、使用者への通知を行う通知部をさらに有し、
前記制御部は、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定すると、前記通知部に通知を行わせ、該通知に応じて前記移動候補仮想マシンを移動させる旨が入力されると、前記移動候補仮想マシンを前記第１の仮想化装置に移動させることを特徴とする情報処理システム。
【０１７２】
（付記５）
複数の仮想マシンを自装置上で動作させることができ、自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能であり、ネットワークを介して接続された複数の仮想化装置への前記仮想マシンの配置を管理する管理装置であって、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶する記憶部と、
前記複数の仮想化装置の中から選択した第１の仮想化装置に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記記憶部を参照し、前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定する制御部と、を有することを特徴とする管理装置。
【０１７３】
（付記６）
付記５記載の管理装置において、
前記制御部は、前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量が、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量よりも、予め定められた閾値以上多ければ、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定することを特徴とする管理装置。
【０１７４】
（付記７）
付記５または６記載の管理装置において、
前記制御部は、定期的に、前記複数の仮想化装置のうち、任意の仮想化装置を前記第１の仮想化装置として選択することを特徴とする管理装置。
【０１７５】
（付記８）
付記５から７のいずれか１つに記載の管理装置において、
前記管理装置は、使用者への通知を行う通知部をさらに有し、
前記制御部は、前記移動候補仮想マシンを前記第１の仮想化装置に移動させると判定すると、前記通知部に通知を行わせ、該通知に応じて前記移動候補仮想マシンを移動させる旨が入力されると、前記移動候補仮想マシンを前記第１の仮想化装置に移動させることを特徴とする管理装置。
【０１７６】
（付記９）
複数の仮想マシンを自装置上で動作させることができ、自装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間、および、自装置上で動作する仮想マシン間での単位時間当たりの通信量を計測可能であり、ネットワークを介して接続された複数の仮想化装置への前記仮想マシンの配置を管理する管理装置の制御方法であって、
前記複数の仮想化装置それぞれが動作させる仮想マシンを記憶し、
前記複数の仮想化装置の中から選択した第１の仮想化装置に、前記第１の仮想化装置上で動作する仮想マシンと他の仮想化装置上で動作する仮想マシンとの間の通信量を計測させ、前記他の仮想化装置上で動作する仮想マシンのうち、前記計測された通信量が予め定められた閾値以上の仮想マシンである移動候補仮想マシンを検出すると、前記移動候補仮想マシンを動作させる第２の仮想装置を特定し、該第２の仮想化装置に、前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量を計測させ、前記第１の仮想化装置により計測された前記第１の仮想化装置上で動作する仮想マシンと前記移動候補仮想マシンとの間の通信量と、前記第２の仮想化装置により計測された前記移動候補仮想マシンと前記第２の仮想化装置上で動作する他の仮想マシンとの通信量と、に応じて前記移動候補仮想マシンを前記第１の仮想化装置に移動させるか否かを判定することを特徴とする管理装置の制御方法。
【符号の説明】
【０１７７】
１    情報処理システム
１０Ａ，１０Ｂ    仮想化装置
１００Ａ，１００Ｂ    仮想スイッチ
１１０Ａ，１１１Ａ，１１０Ｂ，１１１Ｂ    仮想ポート
１１２Ａ，１１２Ｂ    物理ポート
１２０Ａ，１２０Ｂ    計測部
１４０Ａ，１４０Ｂ    記憶部
１４１Ａ，１４１Ｂ    転送テーブル
１４２Ａ，１４２Ｂ    通信量テーブル
１５０Ａ，１５１Ａ，１５０Ｂ，１５１Ｂ    仮想マシン
１５０１Ａ，１５１１Ａ，１５０１Ｂ，１５１１Ｂ    アドレス
２０    管理装置
２１０    記憶部
２１１    ＶＭ管理ＤＢ
２１２    期待値
２１３    基準値
２２０    制御部
２２１    管理部
２２２    解析部
２２３    通知部
３０    ネットワーク
３００    フレーム
３１０    宛先アドレス
３２０    送信元アドレス
３３０    フレームデータ
【図１】
2013254424.tif 000003
【図２】
2013254424.tif 000004
【図３】
2013254424.tif 000005
【図４】
2013254424.tif 000006
【図５Ａ】
2013254424.tif 000007
【図５Ｂ】
2013254424.tif 000008
【図６Ａ】
2013254424.tif 000009
【図６Ｂ】
2013254424.tif 000010
【図７Ａ】
2013254424.tif 000011
【図７Ｂ】
2013254424.tif 000012
【図７Ｃ】
2013254424.tif 000013
【図８】
2013254424.tif 000014
【図９】
2013254424.tif 000015
【図１０】
2013254424.tif 000016
【図１１】
2013254424.tif 000017
【図１２】
2013254424.tif 000018