(57)【特許請求の範囲】
【請求項１】
少なくとも１つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法であって、
（ａ）前記物理計算装置上でモニタリング・エージェントを稼働させるステップを有し、
前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、
（ｂ）基本レベルの仮想計算装置だけの単純な動作特性を測定するステップを有し、
前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
（ｃ）前記モニタリング・エージェントを使用して、複雑な動作特性をモニタするステップを有し、
前記ステップ（ｃ）が、
（ｃ１）前記複数の仮想計算装置から情報を収集するように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間にドメイン間通信チャネルを作成するステップと、
（ｃ２）前記複数の仮想計算装置の各々を使用して、当該各仮想計算装置の前記複雑な動作特性を測定するステップを含み、
前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
（ｃ３）前記複数の仮想計算装置の各々によって、当該各仮想計算装置の前記複雑な動作特性を記録するステップと、
（ｃ４）前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記複数の仮想計算装置の各々によって、前記複雑な動作特性を前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有するステップをさらに含み、
（ｄ）前記モニタリング・エージェントを使用して、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別するステップと、
（ｅ）前記モニタリング・エージェントを使用して、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力するステップをさらに有し、
前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、方法。
【請求項２】
前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項１に記載の方法。
【請求項３】
前記単純な動作特性が、
前記物理計算装置のプロセッサ・モデル、
前記物理計算装置のプロセッサ速度、
前記物理計算装置のプロセッサのビジー及びアイドル時間、
前記物理計算装置の入力／出力トラフィック統計、及び
前記物理計算装置のファイル・システム情報
の少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
少なくとも１つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法であって、
（ａ）前記物理計算装置のハイパーバイザを通して基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させるステップを有し、
前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、前記ハイパーバイザが、前記物理計算装置のハードウェア及び前記複数の仮想計算装置の各々のオペレーティング・システムの間で稼働するソフトウェアの層を含み、
（ｂ）基本レベルの仮想計算装置だけの単純な動作特性を測定するステップを有し、
前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
（ｃ）前記モニタリング・エージェントを使用して、複雑な動作特性をモニタするステップを有し、
前記ステップ（ｃ）が、
（ｃ１）前記複数の仮想計算装置から情報を収集するように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間にドメイン間通信チャネルを作成するステップと、
（ｃ２）前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有されるメモリ・ページを、前記複数の仮想計算装置の各々において割り振るステップと、
（ｃ３）前記複数の仮想計算装置の各々を使用して、当該各仮想計算装置の前記複雑な動作特性を測定するステップを含み、
前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
（ｃ４）前記複数の仮想計算装置の各々によって、当該各仮想計算装置の前記複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録するステップと、
（ｃ５）前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記対応する各メモリ・ページを前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有するステップをさらに含み、
（ｄ）前記モニタリング・エージェントを使用して、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別するステップと、
（ｅ）前記モニタリング・エージェントを使用して、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力するステップをさらに有し、
前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、方法。
【請求項６】
前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項５に記載の方法。
【請求項７】
前記単純な動作特性が、
前記物理計算装置のプロセッサ・モデル、
前記物理計算装置のプロセッサ速度、
前記物理計算装置のプロセッサのビジー及びアイドル時間、
前記物理計算装置の入力／出力トラフィック統計、及び
前記物理計算装置のファイル・システム情報
の少なくとも１つを含む、請求項５に記載の方法。
【請求項８】
前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項５〜７のいずれか１項に記載の方法。
【請求項９】
複数の仮想計算装置の計算機活動をモニタする装置であって、
（ａ）少なくとも１つの物理計算装置を備え、
前記物理計算装置が、少なくとも１つのプロセッサ、少なくとも１つのストレージ媒体及び少なくとも１つの入力／出力インタフェースを含み、
（ｂ）前記物理計算装置を通して動作するモニタリング・エージェントを備え、
前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、前記モニタリング・エージェントが、基本レベルの仮想計算装置だけの単純な動作特性を測定し、前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
（ｃ）前記複数の仮想計算装置から情報を収集し且つ前記モニタリング・エージェントが複雑な動作特性をモニタすることを許容するために使用されるように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間に設けられたドメイン間通信チャネルを備え、
（ｄ）前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を測定し、前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
（ｅ）前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を記録し、
（ｆ）前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記複数の仮想計算装置の各々が、前記複雑な動作特性を前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有し、
（ｇ）前記モニタリング・エージェントが、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別し、
（ｈ）前記入力／出力インタフェースが、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力し、
（ｉ）前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、装置。
【請求項１０】
前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項９に記載の装置。
【請求項１１】
前記単純な動作特性が、
前記物理計算装置のプロセッサ・モデル、
前記物理計算装置のプロセッサ速度、
前記物理計算装置のプロセッサのビジー及びアイドル時間、
前記物理計算装置の入力／出力トラフィック統計、及び
前記物理計算装置のファイル・システム情報
の少なくとも１つを含む、請求項９に記載の装置。
【請求項１２】
前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項９〜１１のいずれか１項に記載の装置。
【請求項１３】
複数の仮想計算装置の計算機活動をモニタする装置であって、
（ａ）少なくとも１つの物理計算装置を備え、
前記物理計算装置が、少なくとも１つのプロセッサ、少なくとも１つのストレージ媒体及び少なくとも１つの入力／出力インタフェースを含み、
（ｂ）前記物理計算装置のハードウェア及び前記複数の仮想計算装置の各々のオペレーティング・システムの間で稼働するソフトウェアの層を含むハイパーバイザを備え、
（ｃ）前記物理計算装置の前記ハイパーバイザを通して基本レベルの仮想計算装置上で動作するモニタリング・エージェントを備え、
前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、前記モニタリング・エージェントが、前記基本レベルの仮想計算装置だけの単純な動作特性を測定し、前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
（ｄ）前記複数の仮想計算装置から情報を収集し且つ前記モニタリング・エージェントが複雑な動作特性をモニタすることを許容するために使用されるように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間に設けられたドメイン間通信チャネルを備え、
（ｅ）前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有される、前記複数の仮想計算装置の各々におけるメモリ・ページを備え、
（ｆ）前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を測定し、前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
（ｇ）前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録し、
（ｈ）前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記複数の仮想計算装置の各々が、前記対応する各メモリ・ページを前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有し、
（ｉ）前記モニタリング・エージェントが、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別し、
（ｈ）前記入力／出力インタフェースが、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力し、
（ｉ）前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、装置。
【請求項１４】
前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項１３に記載の装置。
【請求項１５】
前記単純な動作特性が、
前記物理計算装置のプロセッサ・モデル、
前記物理計算装置のプロセッサ速度、
前記物理計算装置のプロセッサのビジー及びアイドル時間、
前記物理計算装置の入力／出力トラフィック統計、及び
前記物理計算装置のファイル・システム情報
の少なくとも１つを含む、請求項１３に記載の装置。
【請求項１６】
前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項１３〜１５のいずれか１項に記載の装置。
【請求項１７】
少なくとも１つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするためのコンピュータによって実行可能な命令を格納するコンピュータ・プログラム・ストレージ媒体であって、
前記命令が、
（ａ）前記物理計算装置を通して動作する基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させるステップと、
前記モニタリング・エージェントは、前記複数の仮想計算装置からデータを収集し、
（ｂ）前記基本レベルの仮想計算装置だけの単純な動作特性を測定するステップと、
前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
（ｃ）前記モニタリング・エージェントを使用して、複雑な動作特性をモニタするステップとをコンピュータに実行させ、
前記ステップ（ｃ）が、
（ｃ１）前記複数の仮想計算装置から情報を収集するように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間にドメイン間通信チャネルを作成するステップと、
（ｃ２）前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有されるメモリ・ページを、前記複数の仮想計算装置の各々において割り振るステップと、
（ｃ３）前記複数の仮想計算装置の各々を使用して、当該各仮想計算装置の前記複雑な動作特性を測定するステップとを含み、
前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
（ｃ４）前記複数の仮想計算装置の各々によって、当該各仮想計算装置の前記複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録するステップと、
（ｃ５）更に前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記対応する各メモリ・ページを前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有するステップとをさらに含み、
（ｄ）前記モニタリング・エージェントを使用して、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別するステップと、
（ｅ）前記モニタリング・エージェントを使用して、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力するステップとをさらにコンピュータに実行させ、
前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、前記ステップをコンピュータに実行させるコンピュータ・プログラム・ストレージ媒体。
【請求項１８】
前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項１７に記載のコンピュータ・プログラム・ストレージ媒体。
【請求項１９】
前記単純な動作特性が、
前記物理計算装置のプロセッサ・モデル、
前記物理計算装置のプロセッサ速度、
前記物理計算装置のプロセッサのビジー及びアイドル時間、
前記物理計算装置の入力／出力トラフィック統計、及び
前記物理計算装置のファイル・システム情報
の少なくとも１つを含む、請求項１７に記載のコンピュータ・プログラム・ストレージ媒体。
【請求項２０】
前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項１７〜１９のいずれか１項に記載のコンピュータ・プログラム・ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機の動作をモニタするエージェントに係り、さらに詳細に説明すれば、複数の仮想計算機をモニタするために単一のエージェントを使用する装置、方法、及びプログラムに係る。
【背景技術】
【０００２】
サービス・プロバイダのデータ・センタにおいて、仮想化技術が採用されているのは、仮想化技術が提供する幾つかの利点（ＩＴ最適化、柔軟な資源管理等）のためである。一般に、仮想化は、実（物理）データ処理資源の区画化に関連する広い概念である。すなわち、サーバ、データ・ストレージ装置、オペレーティング・システム又はアプリケーションのような単一のデータ処理資源が、複数の論理又は仮想資源として機能するように見える。また、この概念は、実データ処理資源の集合を含むように十分に広い。すなわち、サーバ又はデータ・ストレージ装置のような複数の物理資源が、単一の論理資源として見える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００９／００６３８０６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この方向で強まりつつある傾向は、サービスが仮想化プラットフォーム上でホストされる（すなわち、サーバ、ストレージ及びネットワーク資源が仮想化され、アプリケーションが、専用化物理資源の代わりに、これらの仮想化資源の上部に配置される）というものである。そのような環境では、サービスが適切に稼働していることを保証するために、これらの仮想資源をモニタし且つ初期段階においてエラー／問題を識別することが重要である。
【課題を解決するための手段】
【０００５】
これらの問題を扱うために、本明細書では、複数の仮想計算装置の計算機活動をモニタする装置を開示する。本発明の実施形態は、少なくとも１つの物理計算装置を有し、当該物理計算装置は、少なくとも１つのプロセッサ、少なくとも１つのストレージ媒体及び少なくとも１つの入力／出力（Ｉ／Ｏ）インタフェースを含む。ハイパーバイザは、当該物理計算装置のハードウェア及び各仮想計算装置のオペレーティング・システムの間で稼働するソフトウェアの層を含み、（潜在的に単一の）当該物理計算装置からの複数の仮想計算装置の幻影を提供する。これらの仮想計算装置は、基本レベルの仮想計算装置及び他の複数の仮想計算装置を含む。
【０００６】
本発明の実施形態は、ハイパーバイザを通して基本レベルの仮想計算装置上でのみ稼働するモニタリング・エージェントを含む。基本レベルの仮想計算装置は、物理計算装置のハイパーバイザを通して動作する。
【０００７】
モニタリング・エージェントがデータを収集し且つ複数の仮想計算装置の性能をモニタする１つの方法は、基本レベルの仮想計算装置だけの単純な動作特性を測定し、基本レベルの仮想計算装置からの測度を使用して、複数の仮想計算装置の単純な動作特性を推定するというものである。これらの「単純な動作特性」は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似する動作特性を含む。例えば、単純な動作特性は、物理計算装置のハードウェア測度、及び同じホスト上の全ての仮想計算機によって共有される（しかし潜在的には異なっている）資源割り振りを含む。
【０００８】
また、本発明の実施形態は、基本レベルの仮想計算装置及び複数の仮想計算装置の間にあるドメイン間通信チャネルを含む。ドメイン間通信チャネルは、複数の仮想計算装置から情報を収集し且つモニタリング・エージェントが複雑な動作特性をモニタすることを許容するために使用される。
【０００９】
ドメイン間通信チャネルを使用する１つの方法は、これをメモリ・ページとともに使用するというものである。メモリ・ページは、複数の仮想計算装置の各々において維持され、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有される。複数の仮想計算装置の各々は、それ自体の複雑な動作特性を測定する。複雑な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似しない動作特性を含む。さらに、複数の仮想計算装置の各々は、それ自体の複雑な動作特性をその対応するメモリ・ページに記録する。また、複数の仮想計算装置の各々は、複雑な動作特性をモニタリング・エージェントに転送するように、対応する各メモリ・ページをドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有する。
【００１０】
モニタリング・エージェントは、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを識別する。入力／出力インタフェースは、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを出力する。
【００１１】
また、本発明の実施形態は、物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法を含む。本発明の方法の実施形態は、物理計算装置のハイパーバイザを通して基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させることを含む。モニタリング・エージェントは、データを収集し且つ複数の仮想計算装置の性能をモニタする。前述のように、ハイパーバイザは、物理計算装置のハードウェア及び各仮想計算装置のオペレーティング・システムの間で稼働するソフトウェアの層を含み、物理計算装置からの複数の仮想計算装置の幻影を提供する。
【００１２】
本発明の方法の実施形態は、基本レベルの仮想計算装置だけの単純な動作特性を測定し、基本レベルの仮想計算装置からの測度を使用して、複数の仮想計算装置の単純な動作特性を推定する。前述のように、単純な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似する動作特性を含む。
【００１３】
本発明の実施形態は、複数の仮想計算装置から情報を収集するように、基本レベルの仮想計算装置及び複数の仮想計算装置の間にドメイン間通信チャネルを作成することにより、モニタリング・エージェントを使用して複雑な動作特性をモニタする。
【００１４】
本発明の実施形態は、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有されるメモリ・ページを、複数の仮想計算装置の各々において割り振るとともに、当該各仮想計算装置を使用して、当該各仮想計算装置の複雑な動作特性を測定する。前述のように、複雑な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似しない動作特性を含む。本発明の実施形態は、複数の仮想計算装置の各々を使用して、当該各仮想計算装置の複雑な動作特性を、当該各仮想計算装置の対応するメモリ・ページ上に記録する。対応する各メモリ・ページは、複雑な動作特性をモニタリング・エージェントに転送するように、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有される。
【００１５】
具体的には、単純な動作特性は、例えば、物理計算装置のプロセッサ・モデル、物理計算装置のプロセッサ速度、物理計算装置のプロセッサのビジー及びアイドル時間、物理計算装置の入力／出力トラフィック統計及び／又は物理計算装置のファイル・システム情報を含む。複雑な動作特性は、例えば、複数の仮想計算装置の各々のメモリ使用率情報を含む。
【００１６】
本発明の実施形態は、モニタリング・エージェントを使用して、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを識別する。モニタリング・エージェントを使用して、当該各仮想計算装置の単純なイベント及び複雑なイベントが出力される。
【００１７】
複数の仮想計算装置の各々においてモニタリング・エージェントを使用するのではなく、本発明の実施形態は、単一のモニタリング・エージェントを基本レベルの仮想計算装置上にのみ配置する。
【発明の効果】
【００１８】
本発明は、基盤となるハードウェアの特性を単一の基本レベルの仮想計算装置にモニタさせることにより、複数の仮想計算装置の各々においてそのようなハードウェア用の個別的モニタリング・エージェントを設けることを不要とし、その結果、オーバーヘッドを実質的に削減することができる。同様に、複数のサーバを使用するシステム内の基盤となるハードウェア装置の各々に対し単一の基本レベルの仮想計算装置を割り振ることにより、オーバーヘッドを同様に削減することができる。ハードウェア特性は、特定のハードウェア構成に依存する全ての仮想計算機について同じになるであろうから、基本レベルの仮想計算装置によって得られた単純な動作特性は、精度を犠牲にすることなく、全ての対応する仮想計算機の単純な動作特性を推定するために使用することができる。
【図面の簡単な説明】
【００１９】
【図１】従来技術に従った、ハードウェア及び仮想計算機を例示する概略図である。
【図２】従来技術に従った、ハードウェア及び仮想計算機を例示する概略図である。
【図３】本発明の実施形態に従った、ハードウェア及び仮想計算機を例示する概略図である。
【図４】本発明の実施形態に従った、ハードウェア及び仮想計算機を例示する概略図である。
【図５】本発明の方法の実施形態を例示するフローチャートである。
【図６】本発明の実施形態に従った、ドメイン間通信チャネルを例示する概略図である。
【図７】発明の実施形態を実装するために使用することができる典型的なハードウェア環境を例示する概略図である。
【発明を実施するための形態】
【００２０】
添付の図面に例示し且つ以下で詳述する、非制限的な例を参照して、本発明の実施形態及びその種々の特徴及び利点を十分に説明する。
【００２１】
従来の（非仮想化）モニタリング・ツール（アプリケーションは、専用化物理資源上に直接的に配置されるものとする）では、モニタリング・エージェントは、各専用化物理資源上にインストールされる。これらの専用化モニタリング・エージェントは、それらがインストールされる物理資源の性能に基づいて、所望の資源及びシステム・レベル情報を収集し且つ報告する。
【００２２】
図１に示すように、仮想化環境では、ハイパーバイザ１０４と称するソフトウェアの層は、ハードウェア１０６及び仮想計算機の１００のオペレーティング・システム（ＯＳ）の間で稼働する。ハードウェア１０６は、少なくとも１つのプロセッサ、少なくとも１つのコンピュータ・ストレージ媒体（ストレージ装置）、少なくとも１つの入力／出力インタフェース、少なくとも１つの電源等を含む。ハイパーバイザ１０４は、区画又はドメインとも称する、複数の「仮想」計算機（ＶＭ）１００の幻影を提供する。仮想計算機１００の各々は、それ自体のオペレーティング・システム及びそれ自体のアプリケーションを含む。そのような仮想化環境の完全な説明については、米国特許出願公開第２００９／００６３８０６号明細書（特許文献１）を参照されたい。本明細書では、特許文献１の記載内容を援用する。
【００２３】
前述のように、幾つかの従来の（非仮想化）プラットフォームは、サーバ資源情報を収集するために、各物理サーバ上にモニタリング・エージェントをインストールする。仮想化環境についてそのような構造を使用すると、１つの仮想計算機当たり１つのモニタリング・エージェントをインストールすることが必要になる。図１は、各仮想計算機１００上の個別のモニタリング・エージェント１０２を使用して、各仮想計算機１００をモニタするアプローチを示す。図２は、同様のアプローチを示す。但し、このアプローチでは、複数の仮想計算機１００をサポートするために、ハイパーバイザ１０４によって複数のハードウェア装置１１６が使用されるようになっている。
【００２４】
図１及び図２の方式において、各物理サーバが何百もの仮想計算機を含むものとすれば、そのようなアプローチは、各仮想計算機から種々のイベント情報を収集するために、過度のオーバーヘッドに帰着する。この方式は、スケーラブルではないから、仮想計算機の数が増加するにつれて、オーバーヘッドが速やかに増大する。
【００２５】
そのような問題を扱うために、図３〜図５に示す実施形態は、基本レベルの仮想計算装置１２２上に配置され且つハイパーバイザ１０４を通して基本レベルの仮想計算装置１２２上で動作する単一のモニタリング・エージェント１１２を使用するような仮想化環境において、複数の仮想計算装置１００をスケーラブルな態様でモニタするための方法及び装置を提供する。従って、図３及び図４に示すように、各物理計算装置１０６又は１１６は、別個のモニタリング・エージェントを必要としない。本発明の実施形態は、全ての仮想計算機１００から複数のイベントを収集する単一のエージェント１１２を有するに過ぎないから、それらの実施形態は、スケーラブルであり、頑健であり、単純である。さらに、本明細書で説明するエージェントは、モニタリング・エージェントに限定すべき必然性がない。本明細書で説明するエージェントは、任意のデータ収集ソフトウェア（例えば、使用料を課金するためにユーザ・ログインを収集するもの、構成データベース用のソフトウェア・パッケージ・ソフトを収集するもの）とすることができる。また、本明細書で説明するエージェントによって収集される特性は、性能データに制限されずに、任意のタイプのデータを含むことができる。
【００２６】
図３及び図４では、複数の仮想計算装置の少なくとも１つは、基本レベルの仮想計算装置１２２である。図４では、複数のハードウェア装置１１６が存在するという理由で、複数の基本レベルの仮想計算装置１２２が存在することがあり得る（基本レベルの各仮想計算装置１２２は、各サーバ又はハードウェア装置１１６に対応する）。図示のように、モニタリング・エージェント１１２は、基本レベルの仮想計算装置１２２上で、その一部として、動作する。基本レベルの仮想計算装置１２２は、物理計算装置１０６及び１１６のハイパーバイザ１０４を通して動作する。
【００２７】
モニタリング・エージェント１１２がデータを収集し且つ複数の仮想計算装置１００の性能をモニタする１つの方法は、基本レベルの仮想計算装置１２２だけの単純な（「シンプレックス」と称することもある）動作特性を測定し、基本レベルの仮想計算装置１２２だけからの測度を使用して、複数の仮想計算装置１００の単純な動作特性を推定するというものである。これらの「単純な動作特性」は、基本レベルの仮想計算装置１２２及び複数の仮想計算装置１００について類似する動作特性を含む。例えば、単純な動作特性は、物理計算装置１０６及び１１６のハードウェア測度を含む。言いかえれば、単純な動作特性は、基盤となるハードウェア装置１０６及び１１６に直接的に関係付けることができる。例えば、単純な特性は、全ての仮想計算機にわたって同一の物理構成、及び同じホスト上の全ての仮想計算機によって共有される（しかし潜在的に異なる）資源割り振りを含む。
【００２８】
従って、基盤となるハードウェア１０６の特性を単一の基本レベルの仮想計算装置１２２にモニタさせると、複数の仮想計算装置１００の各々においてそのようなハードウェア用の個別的モニタリング・エージェントを設けることが不要となり、その結果、オーバーヘッドを実質的に削減することができる。同様に、複数のサーバを使用するシステム内の基盤となるハードウェア装置１１６の各々に対し単一の基本レベルの仮想計算装置１２２を割り振るようにすると、オーバーヘッドを同様に削減することができる。ハードウェア特性は、特定のハードウェア構成に依存する全ての仮想計算機について同じになるであろうから、基本レベルの仮想計算装置１２２によって得られた単純な動作特性は、精度を犠牲にすることなく、全ての対応する仮想計算機の単純な動作特性を推定するために使用することができる。
【００２９】
また、本発明の実施形態は、基本レベルの仮想計算装置１２２及び複数の仮想計算装置１００の間にドメイン間通信チャネル１２４を含む。ドメイン間通信チャネル１２４は、異なるドメインにわたって複数の仮想計算装置１００から情報を収集し且つモニタリング・エージェント１１２が複雑な動作特性をモニタすることを許容するために使用される。
【００３０】
ドメイン間通信チャネル１２４を使用する１つの方法は、これをメモリ・ページ１２０とともに使用するというものである。メモリ・ページ１２０は、複数の仮想計算装置１００の各々において維持され、ドメイン間通信チャネル１２４を通して基本レベルの仮想計算装置１２２と共有される。複数の仮想計算装置１００の各々は、それらの複雑な動作特性を測定する。複雑な動作特性は、基本レベルの仮想計算装置１２２及び複数の仮想計算装置１００について類似しない動作特性を含む。
【００３１】
単純な動作特性は、全ての仮想計算機にわたって同一の物理構成、及び同じホスト上の全ての仮想計算機によって共有される（しかし潜在的に異なる）資源割り振りを含む。資源割り振りは、推定により、及び各仮想計算機の活動の多重化を通して、基本レベルの仮想計算装置１２２によって得られる。図６（以下で詳述する）は、そのような共有される特性の１つの例であり、そこではネットワークが仮想ネットワーク・アダプタを通して入力及び出力を行う。
【００３２】
具体的には、単純な動作特性は、例えば、物理計算装置のプロセッサ・モデル、物理計算装置のプロセッサ速度、物理計算装置のプロセッサのビジー及びアイドル時間、物理計算装置の入力／出力トラフィック統計及び／又は物理計算装置のファイル・システム情報を含む。複雑な動作特性は、例えば、複数の仮想計算装置の各々のメモリ使用率情報を含む。
【００３３】
さらに、複数の仮想計算装置１００の各々は、それら自体の複雑な動作特性をそれらの対応するメモリ・ページ１２０上に記録する。また、複数の仮想計算装置１００の各々は、複雑な動作特性をモニタリング・エージェント１１２に転送するように、対応する各メモリ・ページ１２０をドメイン間通信チャネル１２４を通して基本レベルの仮想計算装置１２２と共有する。
【００３４】
そのようなメモリ・ページは、独立のモニタリング・エージェントと比較すると、実質的により低いオーバーヘッドを有する。従って、たとえ本発明の実施形態がこれらの仮想計算機の各々においてメモリ・ページを使用するとしても、これらのメモリ・ページを各仮想計算機における独立のモニタリング・エージェントと比較すると、オーバーヘッドを実質的に削減することができる。これらのオーバーヘッドの削減は、基本レベルの仮想計算装置１２２だけを通して単純な動作特性を得ることにより生じられるオーバーヘッドの削減と組み合わされると、全体としてオーバーヘッドを実質的に削減することを可能とし、ひいては構造を単純化することを可能とする。このようなオーバーヘッドの削減及び構造の単純化は、メモリ又はプロセッサの要件を増加させることなく、システムの速度、性能及び精度を増加させる。
【００３５】
モニタリング・エージェント１１２は、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置１００の各々の単純なイベント及び複雑なイベントを識別する。ハードウェア装置１０６及び１１６の入力／出力インタフェースは、複数の仮想計算装置１００の各々の単純なイベント及び複雑なイベントを出力する。
【００３６】
図５のフローチャートに示すように、本発明の実施形態は、少なくとも１つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法を含む。本発明の方法の実施形態は、物理計算装置のハイパーバイザを通して基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させる（ステップ５００）。モニタリング・エージェントは、データを収集し且つ複数の仮想計算装置の性能をモニタする。前述のように、ハイパーバイザは、物理計算装置のハードウェア及び各仮想計算装置のオペレーティング・システムの間で稼働するソフトウェアの層を含み、物理計算装置からの複数の仮想計算装置の幻影を提供する。
【００３７】
本発明の方法の実施形態は、基本レベルの仮想計算装置だけの単純な動作特性を測定し（ステップ５０２）、基本レベルの仮想計算装置からの測度を使用して、複数の仮想計算装置の単純な動作特性を推定する（ステップ５０４）。前述のように、単純な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似する動作特性を含む。
【００３８】
具体的には、本発明の実施形態は、複数の仮想計算装置から情報を収集するように、基本レベルの仮想計算装置及び複数の仮想計算装置の間にドメイン間通信チャネルを作成することにより（ステップ５０６）、モニタリング・エージェントを使用して、複雑な動作特性をモニタする。本発明の実施形態は、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有されるメモリ・ページを、複数の仮想計算装置の各々において割り振り（ステップ５０８）、当該各仮想計算装置を使用して、当該各仮想計算装置の複雑な動作特性を測定する（ステップ５１０）。前述のように、複雑な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似しない動作特性を含む。
【００３９】
本発明の実施形態は、複数の仮想計算装置の各々を使用して、当該各仮想計算装置の複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録する（ステップ５１２）。対応する各メモリ・ページは、複雑な動作特性をモニタリング・エージェントに転送するように、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有される（ステップ５１４）。
【００４０】
本発明の実施形態は、モニタリング・エージェントを使用して、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを識別する（ステップ５１６）。例えば、或る動作特性が或る所定の境界又は限度を超えるときに、「イベント」が生じることがある。複数の仮想計算装置の各々の単純なイベント及び複雑なイベントは、モニタリング・エージェントを使用して出力される（ステップ５１８）。
【００４１】
本発明の実施形態は、複数の仮想計算装置の各々におけるモニタリング・エージェントを使用するのではなく、単一のモニタリング・エージェントを基本レベルの仮想計算装置上にのみ配置する。
【００４２】
従って、前述のように、本発明の実施形態は、基本レベルの仮想計算機内にインストールされた単一のモニタリング・エージェントを有し、そして当該単一のモニタリング・エージェントが他の仮想計算機に関する有用な情報を収集することを可能にする機構を有する。以下の例では、Ｘｅｎの用語を使用し、Ｘｅｎハイパーバイザを使用して、本発明の実施形態を説明するものとする。しかし、本発明の実施形態は、特定の仮想化技術に制限されないことに留意されたい。Ｘｅｎは、シトリックス・システムズ社（フォート・ローダーデール、アメリカ合衆国フロリダ州、ｈｔｔｐ：／／ｗｗｗ．ｃｉｔｒｉｘｘｅｎｓｅｒｖｅｒ．ｃｏｍ）から入手可能である。
【００４３】
基本レベルの仮想計算機は、ＸｅｎのＤＯＭ０として知られている。基本レベルの仮想計算機（以下「ＤＯＭ０」と表記）が他の仮想計算機（ＤＯＭ１，ＤＯＭ２，・・・，ＤＯＭｎ）から情報を収集できるようにするためには、解決すべき幾つかの挑戦がある。前述のように、２つのタイプのイベントとして、単純なイベント及び複雑なイベントが存在する。単純なイベントは、追加の設備を使用することなく、ＤＯＭ１，・・・，ＤＯＭｎからＤＯＭ０に利用可能である。複雑なイベントは、利用可能なＤＯＭ０ツールを使用して直接的にアクセスすることができず、ＤＯＭ１，・・・，ＤＯＭｎからの追加の設備を必要とする。
【００４４】
例えば、単純な資源使用量（ＣＰＵ、ディスクＩ／Ｏ等）の情報は、ＤＯＭ０から利用可能であるが、より詳細な（Ｌｉｎｕｘ（登録商標）／Ｕｎｉｘ（登録商標）用の）／ｐｒｏｃｅｓｓ情報は、ＤＯＭ０から直接的に収集することができない。そのため、このような情報は、ＤＯＭ１，・・・，ＤＯＭｎから収集しなければならない。本発明の実施形態は、典型的なモニタリング・ツールが必要とする、そのような有用な情報を（ＤＯＭ０にのみインストールされるエージェントにおいて）ＤＯＭ０及びＤＯＭ１，・・・，ＤＯＭｎの両方から収集するためのフレームワーク及び方法を提供する。本発明の実施形態は、Ｘｅｎ用の例を使用して、ＣＰＵ、メモリ、ディスクＩ／Ｏ、ネットワーク資源についてそのような情報を収集するためのフレームワーク及び方法を提供する。しかし、同様の機構は、他の仮想化技術についても採用することができる。
【００４５】
本明細書は、Ｘｅｎ仮想化技術用のハイパーバイザ上にインストールされる単一のエージェントからイベントを収集するための方法を説明するが、本発明の実施形態は、ＶＭｗａｒｅ（ＶＭｗａｒｅ  ＥＭＣ社、パロ・アルト、アメリカ合衆国カリフォルニア州、ｈｔｔｐ：／／ｗｗｗ．ｖｍｗａｒｅ．ｃｏｍ）、ｐ−ハイパーバイザ（ＩＢＭ社、アーモンク、アメリカ合衆国ニューヨーク州）等の他の仮想化技術にも適用可能である。
【００４６】
前述のように、単純なイベント及び複雑なイベントが存在する。任意の１つの仮想計算機又はカーネル（以下「「ＤｏｍＵ」と表記）において観察されるような情報が、Ｄｏｍ０内のそれと同じである、１つのカテゴリの単純なイベントが存在する。ハードウェア構成は、このカテゴリに属する。例えば、プロセッサ・モデル及びプロセッサ速度を含むＤｏｍＵのプロセッサの物理構成は、Ｄｏｍ０のそれと同じである。本発明の実施形態は、Ｄｏｍ０内のそのようなカテゴリの情報を収集し、ＤｏｍＵの異なる数の仮想ＣＰＵに従ってＤｏｍＵｓの各々の報告書を生成することができる。他の単純なイベントは、動的に変化する情報を含む。そのような情報の多くは、Ｄｏｍ０内でモニタすることができる。例えば、ＣＰＵのビジー及びアイドル時間、並びにネットワーク及びディスクのＩ／Ｏトラフィック統計は、Ｄｏｍ０内でモニタすることができる。
【００４７】
本発明の実施形態は、Ｄｏｍ０内のゲスト仮想計算機のためのＣＰＵ使用率をモニタするために、ツール「ｘｅｎｔｏｐ」を使用する。Ｘｅｎハイパーバイザは、仮想ＣＰＵの各々について仮想時間を追跡する。「ｘｅｎｔｏｐ」は、そのようなＣＰＵ使用率情報を検索し且つ報告するツールである（他のハイパーバイザも同様のツールを有するから、本発明は、そのような全てのシステムに適用可能である）。複数の仮想ＣＰＵの場合、「ｘｅｎｔｏｐ」は、全てのＣＰＵについて平均ＣＰＵ使用率を報告する。本発明の実施形態は、「ｘｅｎｔｏｐ」を使用することに加えて、物理なプロセッサの使用率をモニタするためにＤｏｍ０内で他のツール「ｘｅｎｍｏｎ」を使用することができる。
【００４８】
本発明の実施形態は、ネットワークのＩ／Ｏトラフィック統計をモニタするために、Ｘｅｎの仮想イーサネット（登録商標）・アーキテクチャを使用する。Ｘｅｎは、ＤｏｍＵ内の仮想ネットワーク・インタフェースの各々ごとに、Ｄｏｍ０内に対応する仮想インタフェースを設定している。例えば、仮想インタフェース１．０（Ｄｏｍ０内のｖｉｆ１．０）は、図２に例示するように、イーサネット（登録商標）・インタフェース＃０（Ｄｏｍ１内のｅｔｈ０）に対応する。各「ｖｉｆ」インタフェースは、仮想ブリッジ（Ｄｏｍ０内の「ｘｅｎｂｒ０」）に接続することができる。同様に、実際の物理ネットワーク・インタフェースｅｔｈ０は、仮想ブリッジに接続される。Ｄｏｍ１を宛先とする着信ネットワーク・パケットについては、ブリッジは、これをｖｉｆ１．０に転送し、そしてｖｉｆ１．０は、Ｄｏｍ１のｅｔｈ０によって受信されるように当該パケットを送信する。Ｄｏｍ４から送信された発信パケットについては、ｖｉｆ４．０は、これを受信し、ブリッジを通して外部ネットワークに転送する。従って、ｖｉｆインタフェースによって送信されるパケットの数は、その対応するＤｏｍＵのｅｔｈインタフェースによって受信されるパケットの数と等しく、その逆も正しい。
【００４９】
本発明の実施形態は、全てのＤｏｍＵについてネットワークのＩ／Ｏトラフィック統計を得るために、Ｄｏｍ０内の「ｉｆｃｏｎｆｉｇ」（インタフェース構成ツール）及び「ｎｅｔｓｔａｔ」（ネットワーク統計のツール）を含む、共通のＸｅｎツールを使用する。利用可能な情報は、送信／受信済みのパケット／バイトの数、エラー率、ドロップ率等を含む。
【００５０】
ＤｏｍＵの仮想ブロック・デバイスがＤｏｍ０によって提供されるので、本発明の実施形態は、全てのＤｏｍＵについてＤｏｍ０内のディスクＩ／Ｏトラフィックをモニタすることができる。というのは、「ｘｅｎｔｏｐ」が毎秒当たりのディスク要求の数を報告するからである。本発明の実施形態は、さらなる情報を得るために、「ｉｏｓｔａｔ」（Ｘｅｎの入力／出力統計ツール）を使用するように、（物理区画又は論理ボリュームに基づき）複数のゲスト仮想計算機を設定する。
【００５１】
本発明の実施形態は、Ｄｏｍ０のｓｙｓｆｓ（Ｘｅｎのシステム・ツール）内にある装置依存性情報を取り、これを「ｘｍ」（Ｘｅｎのマッピング機能）コマンドを通して利用可能な仮想ブロック・デバイス情報と組み合わせることにより、ＤｏｍＵの仮想ブロック・デバイスをＤｏｍ０内で観察されるような区画又は論理ボリュームにマップし、「ｉｏｓｔａｔ」を通してそれらの対応する統計を読み取ることができる。
【００５２】
また、本発明の実施形態は、単純なイベントに備えて、ファイル・システム情報を提供する。本発明の実施形態は、Ｄｏｍ０内で、ｅｘｔ２及びｅｘｔ３ファイル・システム用の「ｄｕｍｐｅ２ｆｓ」のようなＸｅｎファイル・システム・ダンプ・ツールを使用することにより、ゲスト仮想計算機のファイル・システム統計を得ることができる。利用可能な情報は、ファイル・システムの合計サイズ、使用されるｉｎｏｄｅのパーセント、ファイル・システムに残された空きスペースの量等を含む。
【００５３】
複雑なイベントについては、本発明の実施形態は、Ｄｏｍ０のモニタリング・エージェントが便宜的にＤｏｍＵｓから情報を収集することをサポートするために、ドメイン間通信チャネルを組込む。図６は、ドメイン間通信チャネルのアーキテクチャを示す。
【００５４】
図６に示すように、ＤｏｍＵ（６０４）は、メモリ・ページを割り振り、このページをＤｏｍ０（６００）と共有する。ハイパーバイザには、参照番号６０２が付されている。この共有ページは、共有データ・バッファとして使用されるであろう。また、ＤｏｍＵカーネルは、イベント・ポート上で聴取し、Ｄｏｍ０が接続するのを待機して、イベント・チャネルを設定する。このイベント・チャネルは、Ｄｏｍ０及びＤｏｍＵの間で信号を送信するために使用されるであろう。この例では、本発明の実施形態は、ゲスト仮想計算機の／ｐｒｏｃ情報（特に、メモリ使用率情報）に注目している。「／ｐｒｏｃ」情報は、一連のコマンドであって、ピック・オペレーティング・システムの手続言語又は／ｐｒｏｃと称することもある。／Ｐｒｏｃは、ＵＮＩＸ（登録商標）のシェル・スクリプト又はＤＯＳ／Ｗｉｎｄｏｗｓ（登録商標）のバッチ・ファイルに相当し、制御フロー構成体、ファイル操作、サブルーチン・コール及び端末の入力及び出力と同様の特徴を有する。
【００５５】
「ｄｏｍＵｍｅｍ」という名前の新しいエントリが、Ｄｏｍ０の／ｐｒｏｃ内にインストールされる。Ｄｏｍ０のモニタリング・エージェントは、新しくインストールされた／ｐｒｏｃエントリ上でコマンド（例えば、「ｃａｔ」コマンド）を発行し、Ｄｏｍ０からＤｏｍＵへの信号の送信をトリガし、ＤｏｍＵに対しそのメモリ使用率情報を共有メモリ・ページ内に反映するように請求する。この信号を受信する際、ＤｏｍＵ内のカーネル・スレッドは、ＤｏｍＵの／ｐｒｏｃから情報をプルし且つ共有メモリ・ページを更新済みの情報で満たすように活動化されるであろう。次に、カーネル・スレッドは、Ｄｏｍ０に対し、データが最新のものであり且つその検索の準備ができている旨を通知する。次に、Ｄｏｍ０モジュールは、情報を検索し、モニタリング・エージェントに戻す。
【００５６】
本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態又はソフトウェア及びハードウェア要素の両方を含む実施形態の形式を取ることができる。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェアの形式で実装される。
【００５７】
さらに、本発明の実施形態は、コンピュータ又は任意の命令実行システムに関連して又はこれらによって使用するためのプログラム・コードを提供する、コンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形式を取ることができる。この記載の目的上、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置等に関連して又はこれらによって使用するためのプログラムを保持し、格納し、通信し、伝送し、移送する、任意の装置とすることができる。
【００５８】
媒体は、電子、磁気、光学、電磁気、赤外線又は半導体式のシステム（若しくは装置）又は伝送媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能なフレキシブル・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛体磁気ディスク及び光ディスクがある。光ディスクの例には、読み取り専用のＣＤ−ＲＯＭ、読み書き可能なＣＤ−Ｒ／Ｗ及びＤＶＤがある。
【００５９】
プログラム・コードを格納又は実行するのに適したデータ処理システムは、システム・バスを通してメモリ要素に直接的又は間接的に結合された少なくとも１つのプロセッサを含む。これらのメモリ要素は、プログラム・コードの実行中に使用されるローカル・メモリ、バルク・ストレージ、プログラム・コードの実行中にバルク・ストレージからの取り出し回数を減少させるために少なくとも或るプログラム・コードの一時的記憶領域を提供するキャッシュ・メモリを含む。
【００６０】
入力／出力（Ｉ／Ｏ）装置（キーボード、ディスプレイ、ポインティング装置等を含む）は、システムに対し直接的に又は介在するＩ／Ｏコントローラを通して結合することができる。また、ネットワーク・アダプタをデータ処理システムに対し結合することもできる。そのようにすると、このデータ処理システムは、介在する専用又は公衆ネットワークを通して、他のデータ処理システム、遠隔プリンタ又はストレージ装置に結合されるようになる。ネットワーク・アダプタの例には、モデム、ケーブル・モデム及びイーサネット（登録商標）・カードがある。
【００６１】
図７は、本発明の実施形態を実装するために使用することができる典型的なハードウェア環境を例示する。図７は、本発明の実施形態に従った情報処理／コンピュータ・システムのハードウェア構成を例示する。このシステムは、少なくとも１つのプロセッサ又は中央処理装置（ＣＰＵ）１０を含む。ＣＰＵ １０は、システム・バス１２を介して、ランダム・アクセス・メモリ（ＲＡＭ）１４、読み取り専用メモリ（ＲＯＭ）１６及び入力／出力（Ｉ／Ｏ）アダプタ１８のような、種々の装置に相互接続される。Ｉ／Ｏアダプタ１８は、ディスク・ユニット１１、テープ・ドライブ１３又はこのシステムによって読み取り可能な他のプログラム・ストレージ装置のような周辺装置に接続することができる。このシステムは、プログラム・ストレージ装置上の命令を読み取り、これらの命令に従って本発明の実施形態の方法を実行することができる。また、このシステムに含まれるユーザ・インタフェース・アダプタ１９は、キーボード１５、マウス１７、スピーカ２４、マイクロホン２２及びタッチ・スクリーン装置（図示せず）のような他のユーザ・インタフェース装置をバス１２に接続することにより、ユーザ入力を収集する。さらに、通信アダプタ２０は、バス１２をデータ処理ネットワーク２５に接続し、ディスプレイ・アダプタ２１は、バス１２をディスプレイ装置２３（例えば、モニタ、プリンタ又は送信機のような出力装置として実装される）に接続する。
【００６２】
組み合わせに係る本願の請求項の構成要素が特定の機能を果たすための手段又はステップとして記載されている場合、これらの請求項は、本明細書に開示された対応する構造、材料、行為又はそれらの均等物をその範囲とすることに留意されたい。また、本発明に関する記述は、例示及び説明を目的として与えられたものであって、網羅的であること及び開示された形態に本発明を限定することを意図するものではないことに留意されたい。当業者にとって、本発明の範囲及び精神から逸脱することなく、多くの修正及び変形が可能であることが明らかであろう。実施形態は、本発明の原理及び実際的な応用を最もよく説明し、考えられる特定の用途に適するような種々の修正を伴う種々の実施形態に関して当業者が本発明を理解することを可能にするために、選択され説明されたものである。前述の説明では、本発明の実施形態を必要以上に不明瞭にしないように、周知のコンポーネント及び処理技術は省略されている。
【符号の説明】
【００６３】
１００・・・仮想計算機
１０２、１１２・・・モニタリング・エージェント
１０４・・・ハイパーバイザ
１０６、１１６・・・ハードウェア（物理計算装置）
１２０・・・メモリ・ページ
１２２・・・基本レベルの仮想計算装置
１２４・・・ドメイン間通信チャネル
【図１】
0005680070.tif 000002
【図２】
0005680070.tif 000003
【図３】
0005680070.tif 000004
【図４】
0005680070.tif 000005
【図５】
0005680070.tif 000006
【図６】
0005680070.tif 000007
【図７】
0005680070.tif 000008