(57)【要約】【課題】仮想環境下において、メモリシェアリング機能をより実効的に作用させ、仮想マシンに提供される物理サーバ上のメモリリソースを効率的に活用できるようにする。【解決手段】仮想マシンシステムは、仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の第１サーバ装置と、第１サーバ装置とデータのやり取りを行う第２サーバ装置と、を含んで構成され、第２サーバ装置は、各々の第１サーバ装置における仮想マシンの物理リソースの割り当てに関するリソース情報を複数の第１サーバ装置から取得し、リソース情報を用いて、移管先の第１サーバ装置においてメモリ共有可能な仮想マシンを、移管先の第１サーバ装置以外の第１サーバ装置から探索する仮想マシン探索手段と、仮想マシン探索手段により探索された仮想マシンを移管先の第１サーバ装置に移管する仮想マシン移管手段と、を有する。【選択図】図１
2010211259.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の第１サーバ装置と、前記第１サーバ装置とデータのやり取りを行う第２サーバ装置と、を含んで構成され、
前記第２サーバ装置は、
各々の第１サーバ装置における仮想マシンの物理リソースの割り当てに関するリソース情報を前記複数の第１サーバ装置から取得し、前記リソース情報を用いて、移管先の第１サーバ装置においてメモリ共有可能な仮想マシンを、前記移管先の第１サーバ装置以外の第１サーバ装置から探索する仮想マシン探索手段と、
前記仮想マシン探索手段により探索された前記仮想マシンを前記移管先の第１サーバ装置に移管する仮想マシン移管手段と、
を有することを特徴とする仮想マシンシステム。
【請求項２】
前記仮想マシン探索手段は、移管先となる第１サーバ装置を特定し、前記移管先の第１サーバ装置とその他の第１サーバ装置における仮想マシンとでメモリ使用状況を比較して前記メモリ共有可能な仮想マシンを探索することを特徴とする請求項１に記載の仮想マシンシステム。
【請求項３】
前記仮想マシン探索手段は、前記移管先の第１サーバ装置に仮想マシンの移管を行った場合に物理リソースの余裕があるかを判定することを特徴とする請求項１又は２に記載の仮想マシンシステム。
【請求項４】
前記仮想マシン探索手段は、前記移管先の第１サーバ装置における仮想マシンのＯＳと探索対象の前記移管先の第１サーバ装置以外の第１サーバ装置における仮想マシンのＯＳとが同一で、かつ、前記移管先の第１サーバ装置以外の第１サーバ装置における仮想マシンが前記移管先の第１サーバ装置における仮想マシンと同一のテンプレートから作成された場合に、前記メモリ共有可能な仮想マシンの候補と判定することを特徴とする請求項１から３のいずれか１項に記載の仮想マシンシステム。
【請求項５】
前記仮想マシン探索手段は、前記移管先の第１サーバ装置以外の第１サーバ装置における仮想マシンのメモリ割り付け領域が、前記移管先の第１サーバ装置における仮想マシンのメモリ割り付け領域と共通する部分を含む場合に、前記メモリ共有可能な仮想マシンと判定することを特徴とする請求項１から４のいずれか１項に記載の仮想マシンシステム。
【請求項６】
仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の管理装置とデータのやり取りを行い、
各々の管理装置における仮想マシンの物理リソースの割り当てに関するリソース情報を前記複数の管理装置から取得し、前記リソース情報を用いて、移管先の管理装置においてメモリ共有可能な仮想マシンを、前記移管先の管理装置以外の管理装置から探索する仮想マシン探索手段と、
前記仮想マシン探索手段により探索された前記仮想マシンを前記移管先の管理装置に移管する仮想マシン移管手段と、
を有することを特徴とする情報処理装置。
【請求項７】
前記仮想マシン探索手段は、移管先となる管理装置を特定し、前記移管先の管理装置とその他の管理装置における仮想マシンとでメモリ使用状況を比較して前記メモリ共有可能な仮想マシンを探索することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記仮想マシン探索手段は、前記移管先の管理装置に仮想マシンの移管を行った場合に物理リソースの余裕があるかを判定することを特徴とする請求項６又は７に記載の情報処理装置。
【請求項９】
前記仮想マシン探索手段は、前記移管先の管理装置における仮想マシンのＯＳと探索対象の前記移管先の管理装置以外の管理装置における仮想マシンのＯＳとが同一で、かつ、前記移管先の管理装置以外の管理装置における仮想マシンが前記移管先の管理装置における仮想マシンと同一のテンプレートから作成された場合に、前記メモリ共有可能な仮想マシンの候補と判定することを特徴とする請求項６から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記仮想マシン探索手段は、前記移管先の管理装置以外の管理装置における仮想マシンのメモリ割り付け領域が、前記移管先の管理装置における仮想マシンのメモリ割り付け領域と共通する部分を含む場合に、前記メモリ共有可能な仮想マシンと判定することを特徴とする請求項６から９のいずれか１項に記載の情報処理装置。
【請求項１１】
仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の第１サーバ装置と、前記第１サーバ装置とデータのやり取りを行う第２サーバ装置と、を含んで構成される仮想マシンシステムで用いられ、
前記第２サーバ装置が、各々の第１サーバ装置における仮想マシンの物理リソースの割り当てに関するリソース情報を前記複数の第１サーバ装置から取得し、前記リソース情報を用いて、移管先の第１サーバ装置においてメモリ共有可能な仮想マシンを、前記移管先の第１サーバ装置以外の第１サーバ装置から探索する仮想マシン探索ステップと、
前記第２サーバ装置が、前記仮想マシン探索ステップで探索された前記仮想マシンを前記移管先の第１サーバ装置に移管する仮想マシン移管ステップと、
を有することを特徴とするリソース管理方法。
【請求項１２】
仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の第１サーバ装置と、前記第１サーバ装置とデータのやり取りを行う第２サーバ装置と、を含んで構成される仮想マシンシステムで用いられ、
前記第２サーバ装置のコンピュータに、
各々の第１サーバ装置における仮想マシンの物理リソースの割り当てに関するリソース情報を前記複数の第１サーバ装置から取得し、前記リソース情報を用いて、移管先の第１サーバ装置においてメモリ共有可能な仮想マシンを、前記移管先の第１サーバ装置以外の第１サーバ装置から探索する仮想マシン探索処理と、
前記仮想マシン探索処理で探索された前記仮想マシンを前記移管先の第１サーバ装置に移管する仮想マシン移管処理と、
を実行させることを特徴とするプログラム。
【請求項１３】
請求項１２に記載のプログラムを記録しコンピュータに読み取り可能なことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンシステム、情報処理装置、リソース管理方法、プログラム及び記録媒体に関し、特に、仮想化環境下で仮想マシンに割り当てる物理リソースの管理において好ましく適用される技術に関するものである。
【背景技術】
【０００２】
近年、ソフトウエアだけで仮想的なコンピュータ環境（仮想マシン（ＶＭ：Virtual Machine））を作り出し、この上でＯＳやアプリケーションをインストールして使用可能にする仮想化技術が注目されている。ＶＭで実行されるゲストＯＳは、仮想化していない場合と同様、１台のコンピュータを専有しているものとして稼動するため、ＶＭを管理し提供するサーバ装置上のソフトウエア（ＶＭＭ：Virtual Machine Monitor）は、ハードウエアリソースを制御し、必要に応じてゲストＯＳに制御を移すといった処理を行う。
【０００３】
また、最近では、サーバ、個人用ＰＣのスペック向上に伴い、サーバの仮想化、オフィス内のシンクライアント化が進んでいる。このような状況の中、上記の仮想化技術を利用して、１台の物理サーバに複数のＶＭを作成し、ＣＰＵ、メモリ、ネットワークといった物理サーバのリソースをＶＭに分け与えることで対応している。このとき、ＶＭの負荷状況によってはリソースが枯渇し、奪い合う形となる可能性がある。
【０００４】
この現象を回避するためには、ある程度余裕を持った構成にするか、負荷状況に応じてＶＭをＶＭＭへ移動させ、負荷を均一化する必要がある。後者のようなＶＭＭの移動により負荷の均一化を図るものとして、ＶＭＭ上で稼動しているＶＭのメモリを把握し、共通部分があればＶＭに割り当てる物理メモリを少なくすることができるメモリシェアリング機能がある。このメモリシェアリング機能を使用した場合、共通部分は物理メモリを消費することなく、ＶＭにメモリを割り当てることが可能である。
【０００５】
しかしながら、この機能はＶＭＭが自分自身の管理下であるＶＭのみを対象としているため、仮に自分以外のＶＭＭが管理しているＶＭが自分の管理しているＶＭと共通するメモリ割り付け領域を持っているとしても、メモリシェアリング機能を使うことはできない。また、ＶＭＭ自身は、他のＶＭＭ上のＶＭに関しては関知していない。つまり、メモリシェアリング機能を効率よく使えるかどうかは運次第であるといえる。
【０００６】
一方で、前者のようにＶＭが使用できるメモリを制限した場合、リソースが枯渇することはなくなる。しかし、通常稼動時はあまり必要としてないものの場合によりたくさんのメモリが必要になるといった場合、多めにメモリを割り当てる設定を行うことがある。例えば物理サーバの搭載メモリが１０Ｇ、ＶＭが１０台稼動していた場合、ＶＭに１Ｇを割り当てる設定を行うと、メモリが枯渇することはない（ＶＭＭが使用するメモリ及びＶＭ稼動の際のオーバヘッドは考慮しないものとする）。ただし、一時的に負荷が集中する場合が備え、ＶＭに１．５Ｇを割り当てた場合には枯渇する可能性がある。これは最大で１．５Ｇ×１０＝１５Ｇを消費してしまうため、５Ｇ分のメモリが足りなくなることを意味する。実際は、メモリシェアリング機能が働くため、足りなくなるメモリは５Ｇより少なくなる可能性がある。
【０００７】
例えば特許文献１では、ＶＭＭの種類に依存せず適切な移行先サーバを決定し、コンバートに伴うＶＭのダウンタイムを抑制することを可能とする仮想マシンシステムが開示されている。当該仮想マシンシステムでは、ＶＭＭが動作しているサーバに対して指示を出し管理する管理サーバが、コンバート処理時間や移行処理中のＶＭ停止時間等が保持された各種データテーブル及び各サーバから取得した情報に基づいて算出したＣＰＵ使用率、メモリ使用率等から評価値を求め、この評価値を用いて適切な移行先サーバを決定している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２１７３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１の技術は、ＶＭのＶＭＭ間のコンバートに際してＶＭのダウンタイムを抑制することが目的であり、上述したような問題を解決するものではない。つまり、仮想化環境下で仮想マシンに割り当てるメモリリソースの平準化を行うシェアリング機能を効率的に行わせるものではなく、またＶＭの負荷状況に起因したメモリリソースの枯渇を防止して物理サーバ上のメモリリソースを有効に活用させるものではない。
【００１０】
そこで、本発明は、上述した事情に鑑み、仮想環境下において、メモリシェアリング機能をより実効的に作用させ、仮想マシンに提供される物理サーバ上のメモリリソースを効率的に活用できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一側面である仮想マシンシステムは、仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の第１サーバ装置と、第１サーバ装置とデータのやり取りを行う第２サーバ装置と、を含んで構成され、第２サーバ装置は、各々の第１サーバ装置における仮想マシンの物理リソースの割り当てに関するリソース情報を複数の第１サーバ装置から取得し、リソース情報を用いて、移管先の第１サーバ装置においてメモリ共有可能な仮想マシンを、移管先の第１サーバ装置以外の第１サーバ装置から探索する仮想マシン探索手段と、仮想マシン探索手段により探索された仮想マシンを移管先の第１サーバ装置に移管する仮想マシン移管手段と、を有する。
【００１２】
本発明の一側面である情報処理装置は、仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の管理装置とデータのやり取りを行い、各々の管理装置における仮想マシンの物理リソースの割り当てに関するリソース情報を複数の管理装置から取得し、リソース情報を用いて、移管先の管理装置においてメモリ共有可能な仮想マシンを、移管先の管理装置以外の管理装置から探索する仮想マシン探索手段と、仮想マシン探索手段により探索された仮想マシンを前記移管先の管理装置に移管する仮想マシン移管手段と、を有する。
【００１３】
本発明の一側面であるリソース管理方法は、仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の第１サーバ装置と、第１サーバ装置とデータのやり取りを行う第２サーバ装置と、を含んで構成される仮想マシンシステムで用いられ、第２サーバ装置が、各々の第１サーバ装置における仮想マシンの物理リソースの割り当てに関するリソース情報を複数の第１サーバ装置から取得し、リソース情報を用いて、移管先の第１サーバ装置においてメモリ共有可能な仮想マシンを、移管先の第１サーバ装置以外の第１サーバ装置から探索する仮想マシン探索ステップと、第２サーバ装置が、仮想マシン探索ステップで探索された仮想マシンを移管先の第１サーバ装置に移管する仮想マシン移管ステップと、を有する。
【００１４】
本発明の一側面であるプログラムは、仮想マシンを構築する仮想化ソフトウエアを実行可能な複数の第１サーバ装置と、第１サーバ装置とデータのやり取りを行う第２サーバ装置と、を含んで構成される仮想マシンシステムで用いられ、第２サーバ装置のコンピュータに、各々の第１サーバ装置における仮想マシンの物理リソースの割り当てに関するリソース情報を複数の第１サーバ装置から取得し、リソース情報を用いて、移管先の第１サーバ装置においてメモリ共有可能な仮想マシンを、移管先の第１サーバ装置以外の第１サーバ装置から探索する仮想マシン探索処理と、仮想マシン探索処理で探索された仮想マシンを移管先の第１サーバ装置に移管する仮想マシン移管処理と、を実行させる。
【００１５】
本発明の一側面である記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１６】
本発明によれば、仮想環境下において、メモリシェアリング機能がより実効的に作用し、仮想マシンに提供される物理サーバ上のメモリリソースを効率的に活用することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係る仮想マシンシステムの構成を示した図である。
【図２】本発明の実施形態に係る仮想マシンシステムの構成を示した図である。
【図３】本発明の実施形態におけるメモリ共有可能な仮想マシンの判定のイメージを示した図である。
【図４】本発明の実施形態におけるメモリ共有可能な仮想マシンの移管処理を説明するための図である。
【図５】本発明の実施形態におけるメモリ共有可能な仮想マシンの移管処理を示したフローチャートである。
【発明を実施するための形態】
【００１８】
本発明では、図１に示すように、仮想マシンシステム１は、仮想マシン２１を構築する仮想化ソフトウエアを実行可能な複数の第１サーバ２と、仮想マシン探索手段３１及び仮想マシン移管手段３２を有する第２サーバ３と、を含んで構成される。第１サーバ２は、仮想マシン２１を管理するとともに、ＣＰＵ、メモリ、ネットワーク等の必要な物理リソースを割り当てる。
【００１９】
第２サーバ３の仮想マシン探索手段３１は、各々の第１サーバ２における仮想マシン２１の物理リソース割り当てに関するリソース情報を第１サーバ２から取得する。そして、取得したリソース情報を用いて、移管先の第１サーバにおいてメモリ共有可能な仮想マシンを、移管先以外の第１サーバから探索する。また、仮想マシン移管手段３２は、仮想マシン探索手段３１で探索された仮想マシンを移管先の第１サーバへ移管する。
【００２０】
本発明では、第１サーバ同士では関知しない仮想マシンの情報を第２サーバが取得して、仮想マシンシステム全体として、移管先の第１サーバがメモリシェアリング機能を用いてメモリ割り当てを行うのに最適な仮想マシンを探索するため、これまで偶然性が高かったメモリシェアリング機能を確定的に作用させることができ、仮想マシンシステム全体で第２サーバ上のメモリリソースを有効活用することが可能である。
【００２１】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２２】
本実施形態では、ＶＭＭ及びＶＭ上にエージェントを配置し、ＶＭＭを監視するサーバ（監視サーバ）を設置することにより、意図的にメモリシェアリング機能を起こす。このメモリシェアリング機能を使うためには、ホットマイグレーション（ＶＭを停止させることなく、ＶＭＭから他のＶＭＭへ移動させる技術）を必要とする。監視サーバは、メモリシェアリングを効率化するための条件式により、ホットマイグレーションを使いＶＭを移動させる。これにより、より共通部分を持ったＶＭを同一のＶＭＭ上で稼動させることが可能になる。
【００２３】
本実施形態において、仮想化環境として、ＶＭを管理する仮想レイヤを持つサーバと、そのサーバ上で動作するＶＭがあり、ＶＭは、ＶＭを管理するサーバからＣＰＵ、メモリといったリソースが割り当てられ、他のＶＭとの優先度及び負荷状況を仮想レイヤが判定し、適時リソースを割り当てる。監視サーバは、ＶＭが作成される時点から監視を行っており、またＶＭＭ及びＶＭ上で動作しているエージェントと通信を行うことによりメモリの使用状況を把握する。そして、監視サーバは、メモリシェアリング機能がもっとも有効に働くようにＶＭを配置する。
【００２４】
図２は、本実施形態の仮想マシンシステムの構成を示した図である。本実施形態の仮想マシンシステムは、サーバ１００、サーバ１１０、サーバ１２０、監視サーバ１３０、ストレージ１４０、ＦＣスイッチ１５０、ＬＡＮスイッチ１６０から構成されている。サーバ１００は、プログラム制御により動作するコンピュータであり、ＬＡＮモジュール１０１、ＳＡＮ（Storage Area Network）に接続するためのＨＢＡ（Host Bus Adapter）１２０を持ち、仮想レイヤ１０３が動作している。仮想レイヤ１００上で、ＶＭ１０４〜１０８が動作している。サーバ１１０、サーバ１２０もサーバ１００と同様の構成である。
【００２５】
監視サーバ１３０は、プログラム制御により動作するコンピュータであり、ＬＡＮモジュール１３１を持ち、ＯＳ１３２が動作している。監視するための情報は、ＬＡＮスイッチ１６０に接続されているネットワークを使用することにより情報収集を行う。また、監視サーバ１３０は、コンピュータ（ＣＰＵ）がメモリに格納された本発明特有の動作処理が記述されたプログラムを読み込んで、主記憶上に、図１に示す各手段（仮想マシン探索手段３１、仮想マシン移管手段３２）を構成する。各手段は上記のようにソフトウエアで実現することも可能だが、各部を回路で構成する等してハードウエアで実現することも可能である。
【００２６】
図３は、各ＶＭ及び仮想レイヤ上のエージェントと、監視サーバ上のマネージャとの通信の状況を表したものである。ＶＭ３０２上のエージェント３０３と仮想レイヤ３００上のエージェント３０１は相互に通信を行う。エージェント３０１は、仮想レイヤ３００上にある全てのＶＭ上のエージェントからの情報を収集し、その情報をまとめて監視サーバ３００上のマネージャ３３１へ送信する。マネージャ３３１は、全ての仮想レイヤ上のエージェントからの情報を収集する。
【００２７】
図２は、メモリリソースの有効活用の判定を行うイメージである。２０１、２０２、２０３はそれぞれ仮想マシンＡ〜Ｃが使用しているメモリである。２０４はメモリイメージ２０１と２０２で共通している部分で、約５５％が共通している。２０５はメモリイメージ２０２と２０３で共通している部分で、約７０％が共通している。２０６はメモリイメージ２０１と２０３で共通している部分で、約４０％が共通している。２０４、２０５及び２０６を比較し、最も共通している部分が多いメモリイメージは２０５であるため、仮想マシンＢと仮想マシンＣを同一の仮想レイヤ上で動作させることによりメモリリソースを有効活用することが可能になる。
【００２８】
次に、図２〜図５を用いて本実施形態における処理動作について説明する。まず図４及び図５を用いて全体の流れについて説明する。図５は、本実施形態におけるメモリ共有可能な仮想マシンの移管処理を示したフローチャートである。
【００２９】
仮想レイヤ上のエージェントとＶＭ上のエージェントは、お互いに通信を行っている（ステップＳ４０１）。このエージェント間通信は定期的に発生し、ＶＭ上で動作しているプロセス等の情報を仮想レイヤ上のエージェントへ送信する。次に、監視サーバのマネージャと、仮想レイヤ上のエージェント間で通信を行う（ステップＳ４０２）。この通信は、ステップＳ４０１でＶＭ上のエージェントから送られてきた情報を含む、仮想レイヤ上のエージェントが収集した情報全てを送信する。この情報とは、ＶＭのリソース状況やメモリ情報といったリソース有効活用の判断に使用するための情報となる。
【００３０】
全ての仮想レイヤ上のエージェントに対してこの情報収集処理を行い、完了後、リソース有効活用の処理が開始される。まず、移動先となるＶＭＭのリソースに対し、移動するために十分なリソースが空いているのかどうかの判定を行う（ステップＳ４０３）。仮に全てのＶＭＭのリソースが枯渇しており、ＶＭの移動を試みた場合、逆にパフォーマンスを低下されると判断された場合（ステップＳ４０３／ＮＯ）は、本処理を終了させる。移動先のＶＭＭのリソースが空いていた場合（ステップＳ４０３／ＹＥＳ）、優先度の計算（ステップＳ４０４）が開始される。
【００３１】
優先度計算においては、判断処理を簡略化するために事前に絞込みを行う（ステップＳ４０５、ステップＳ４０６）。まず、移管先のＶＭＭで管理されているＶＭのＯＳと対象となるＶＭのＯＳの種類を識別する（ステップＳ４０５）。仮に両者のＯＳの種別が異なっていた場合（ステップＳ４０５／ＮＯ）、メモリの共通部分はない、あるいは本処理による効率化を期待できるほどの共通部分がないと判断されるため、処理を終了する。
【００３２】
次に、比較対象となるＶＭが、移管先のＶＭＭで管理されているＶＭと同一のテンプレートから作成されたかどうかの判定を行う（ステップＳ４０６）。同一テンプレートから作成されたかどうかの情報は、ＶＭが生成された時点で、仮想レイヤ上のエージェントが監視サーバのマネージャに通報を行い、マネージャがその情報を管理する。仮に同一テンプレートから作成されていた場合（ステップＳ４０６／ＹＥＳ）、ＯＳ及び稼動しているアプリケーションが同一である可能性が高いため、優先度を上げる（ステップＳ４０７）。
【００３３】
一方、ステップＳ４０５、ステップＳ４０６の絞込みが十分でなかった場合（ステップＳ４０６／ＮＯ）は、両者のメモリ共通部分の比較を行う（ステップＳ４０８）。判定対象のＶＭが移管先のＶＭＭで管理されているＶＭとメモリ共通部分が多い場合（ステップＳ４０８／ＹＥＳ）には、該ＶＭに対して優先度を上げる（ステップＳ４０９）。メモリ共通部分が多いか否かは、事前に所定の閾値を設定しておき、実測値（例えば占率）と該閾値との比較で判定するようにしてもよい。
【００３４】
上記の処理により、優先度が高く設定されたＶＭを、メモリを有効に活用できるメモリ共有可能なＶＭと判定し、同一のＶＭＭで動作するように、メモリ共有可能と判定されたＶＭを移管先のＶＭＭへ移動させる（ステップＳ４１０）。
【００３５】
次にメモリ共通部分の比較イメージを図３に示す。２０１、２０２、２０３はそれぞれＶＭが使用しているメモリイメージである。これらのＶＭは同一のＯＳを使用しているとする。２０１と２０２が共通しているメモリを２０４、２０２と２０３が共通しているメモリを２０５、２０１と２０３が共通しているメモリを２０６で表している。２０４、２０５、２０６を比較し、もっとも共通している部分が多いのは２０５であるため、２０２と２０３を同一ＶＭＭ上で稼動させた場合、最も効率よくメモリシェアリング機能が活用できると考えられる。
【００３６】
上述した本実施形態によれば、ＶＭＭが複数存在し、稼動しているＶＭのＯＳが同一であった場合、ＶＭＭのメモリリソースを有効に活用することが可能である。その理由は、ＶＭ、ＶＭＭ上のエージェント及び監視サーバ上のマネージャ間で通信を行うことにより、偶然性が高いメモリシェアリング機能を故意に発生させることができるからである。
【００３７】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００３８】
本実施形態における監視サーバ１３０で実行されるプログラムは、先に述べた各手段（仮想マシン探索手段３１、仮想マシン移管手段３２）を含むモジュール構成となっており、実際のハードウエアを用いて具体的手段を実現する。すなわち、コンピュータ（ＣＰＵ）が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされて生成される。また、上記各手段をソフトウエアを用いて実現するほか、回路等のハードウエアで構成することも可能である。
【００３９】
本実施形態における監視サーバ１３０で実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【００４０】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ＲＯＭ等にあらかじめ組み込んで提供するように構成してもよい。
【００４１】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
【符号の説明】
【００４２】
１    仮想マシンシステム
２    第１サーバ
３    第２サーバ
２１    仮想マシン
３１    仮想マシン探索手段
３２    仮想マシン移管手段
１００，１１０，１２０  サーバ
１０１，１１１，１２１，１３１    ＬＡＮ
１０２，１１２，１２２    ＨＢＡ
１０３，１１３，１２３１，３００，３１０，３２０    仮想レイヤ
１０４〜１０８，１１４〜１１８，１２４〜１２８，３０２，３０４，３１２，３２２    ＶＭ
１３０，３３０    監視サーバ
１３２    ＯＳ
１４０    ストレージ
１５０    ＦＣスイッチ
１６０    ＬＡＮスイッチ
２０１〜２０６    メモリイメージ
３０１，３０３，３０５，３１１，３１３，３２１，３２３    エージェント
３３１    マネージャ
【図１】
2010211259.tif 000003
【図２】
2010211259.tif 000004
【図３】
2010211259.tif 000005
【図４】
2010211259.tif 000006
【図５】
2010211259.tif 000007