JP5680070B2 - 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム - Google Patents

複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム Download PDF

Info

Publication number
JP5680070B2
JP5680070B2 JP2012515166A JP2012515166A JP5680070B2 JP 5680070 B2 JP5680070 B2 JP 5680070B2 JP 2012515166 A JP2012515166 A JP 2012515166A JP 2012515166 A JP2012515166 A JP 2012515166A JP 5680070 B2 JP5680070 B2 JP 5680070B2
Authority
JP
Japan
Prior art keywords
virtual computing
computing device
computing devices
complex
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012515166A
Other languages
English (en)
Other versions
JP2012530295A (ja
Inventor
ホー、カイ−ユエン
ホアン、ハイ
ルアン、ヤオピン
サフ、サベット
シェイク、アニーズ、エイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012530295A publication Critical patent/JP2012530295A/ja
Application granted granted Critical
Publication of JP5680070B2 publication Critical patent/JP5680070B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Description

本発明は、仮想計算機の動作をモニタするエージェントに係り、さらに詳細に説明すれば、複数の仮想計算機をモニタするために単一のエージェントを使用する装置、方法、及びプログラムに係る。
サービス・プロバイダのデータ・センタにおいて、仮想化技術が採用されているのは、仮想化技術が提供する幾つかの利点(IT最適化、柔軟な資源管理等)のためである。一般に、仮想化は、実(物理)データ処理資源の区画化に関連する広い概念である。すなわち、サーバ、データ・ストレージ装置、オペレーティング・システム又はアプリケーションのような単一のデータ処理資源が、複数の論理又は仮想資源として機能するように見える。また、この概念は、実データ処理資源の集合を含むように十分に広い。すなわち、サーバ又はデータ・ストレージ装置のような複数の物理資源が、単一の論理資源として見える。
米国特許出願公開第2009/0063806号明細書
この方向で強まりつつある傾向は、サービスが仮想化プラットフォーム上でホストされる(すなわち、サーバ、ストレージ及びネットワーク資源が仮想化され、アプリケーションが、専用化物理資源の代わりに、これらの仮想化資源の上部に配置される)というものである。そのような環境では、サービスが適切に稼働していることを保証するために、これらの仮想資源をモニタし且つ初期段階においてエラー/問題を識別することが重要である。
これらの問題を扱うために、本明細書では、複数の仮想計算装置の計算機活動をモニタする装置を開示する。本発明の実施形態は、少なくとも1つの物理計算装置を有し、当該物理計算装置は、少なくとも1つのプロセッサ、少なくとも1つのストレージ媒体及び少なくとも1つの入力/出力(I/O)インタフェースを含む。ハイパーバイザは、当該物理計算装置のハードウェア及び各仮想計算装置のオペレーティング・システムの間で稼働するソフトウェアの層を含み、(潜在的に単一の)当該物理計算装置からの複数の仮想計算装置の幻影を提供する。これらの仮想計算装置は、基本レベルの仮想計算装置及び他の複数の仮想計算装置を含む。
本発明の実施形態は、ハイパーバイザを通して基本レベルの仮想計算装置上でのみ稼働するモニタリング・エージェントを含む。基本レベルの仮想計算装置は、物理計算装置のハイパーバイザを通して動作する。
モニタリング・エージェントがデータを収集し且つ複数の仮想計算装置の性能をモニタする1つの方法は、基本レベルの仮想計算装置だけの単純な動作特性を測定し、基本レベルの仮想計算装置からの測度を使用して、複数の仮想計算装置の単純な動作特性を推定するというものである。これらの「単純な動作特性」は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似する動作特性を含む。例えば、単純な動作特性は、物理計算装置のハードウェア測度、及び同じホスト上の全ての仮想計算機によって共有される(しかし潜在的には異なっている)資源割り振りを含む。
また、本発明の実施形態は、基本レベルの仮想計算装置及び複数の仮想計算装置の間にあるドメイン間通信チャネルを含む。ドメイン間通信チャネルは、複数の仮想計算装置から情報を収集し且つモニタリング・エージェントが複雑な動作特性をモニタすることを許容するために使用される。
ドメイン間通信チャネルを使用する1つの方法は、これをメモリ・ページとともに使用するというものである。メモリ・ページは、複数の仮想計算装置の各々において維持され、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有される。複数の仮想計算装置の各々は、それ自体の複雑な動作特性を測定する。複雑な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似しない動作特性を含む。さらに、複数の仮想計算装置の各々は、それ自体の複雑な動作特性をその対応するメモリ・ページに記録する。また、複数の仮想計算装置の各々は、複雑な動作特性をモニタリング・エージェントに転送するように、対応する各メモリ・ページをドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有する。
モニタリング・エージェントは、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを識別する。入力/出力インタフェースは、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを出力する。
また、本発明の実施形態は、物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法を含む。本発明の方法の実施形態は、物理計算装置のハイパーバイザを通して基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させることを含む。モニタリング・エージェントは、データを収集し且つ複数の仮想計算装置の性能をモニタする。前述のように、ハイパーバイザは、物理計算装置のハードウェア及び各仮想計算装置のオペレーティング・システムの間で稼働するソフトウェアの層を含み、物理計算装置からの複数の仮想計算装置の幻影を提供する。
本発明の方法の実施形態は、基本レベルの仮想計算装置だけの単純な動作特性を測定し、基本レベルの仮想計算装置からの測度を使用して、複数の仮想計算装置の単純な動作特性を推定する。前述のように、単純な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似する動作特性を含む。
本発明の実施形態は、複数の仮想計算装置から情報を収集するように、基本レベルの仮想計算装置及び複数の仮想計算装置の間にドメイン間通信チャネルを作成することにより、モニタリング・エージェントを使用して複雑な動作特性をモニタする。
本発明の実施形態は、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有されるメモリ・ページを、複数の仮想計算装置の各々において割り振るとともに、当該各仮想計算装置を使用して、当該各仮想計算装置の複雑な動作特性を測定する。前述のように、複雑な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似しない動作特性を含む。本発明の実施形態は、複数の仮想計算装置の各々を使用して、当該各仮想計算装置の複雑な動作特性を、当該各仮想計算装置の対応するメモリ・ページ上に記録する。対応する各メモリ・ページは、複雑な動作特性をモニタリング・エージェントに転送するように、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有される。
具体的には、単純な動作特性は、例えば、物理計算装置のプロセッサ・モデル、物理計算装置のプロセッサ速度、物理計算装置のプロセッサのビジー及びアイドル時間、物理計算装置の入力/出力トラフィック統計及び/又は物理計算装置のファイル・システム情報を含む。複雑な動作特性は、例えば、複数の仮想計算装置の各々のメモリ使用率情報を含む。
本発明の実施形態は、モニタリング・エージェントを使用して、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを識別する。モニタリング・エージェントを使用して、当該各仮想計算装置の単純なイベント及び複雑なイベントが出力される。
複数の仮想計算装置の各々においてモニタリング・エージェントを使用するのではなく、本発明の実施形態は、単一のモニタリング・エージェントを基本レベルの仮想計算装置上にのみ配置する。
本発明は、基盤となるハードウェアの特性を単一の基本レベルの仮想計算装置にモニタさせることにより、複数の仮想計算装置の各々においてそのようなハードウェア用の個別的モニタリング・エージェントを設けることを不要とし、その結果、オーバーヘッドを実質的に削減することができる。同様に、複数のサーバを使用するシステム内の基盤となるハードウェア装置の各々に対し単一の基本レベルの仮想計算装置を割り振ることにより、オーバーヘッドを同様に削減することができる。ハードウェア特性は、特定のハードウェア構成に依存する全ての仮想計算機について同じになるであろうから、基本レベルの仮想計算装置によって得られた単純な動作特性は、精度を犠牲にすることなく、全ての対応する仮想計算機の単純な動作特性を推定するために使用することができる。
従来技術に従った、ハードウェア及び仮想計算機を例示する概略図である。 従来技術に従った、ハードウェア及び仮想計算機を例示する概略図である。 本発明の実施形態に従った、ハードウェア及び仮想計算機を例示する概略図である。 本発明の実施形態に従った、ハードウェア及び仮想計算機を例示する概略図である。 本発明の方法の実施形態を例示するフローチャートである。 本発明の実施形態に従った、ドメイン間通信チャネルを例示する概略図である。 発明の実施形態を実装するために使用することができる典型的なハードウェア環境を例示する概略図である。
添付の図面に例示し且つ以下で詳述する、非制限的な例を参照して、本発明の実施形態及びその種々の特徴及び利点を十分に説明する。
従来の(非仮想化)モニタリング・ツール(アプリケーションは、専用化物理資源上に直接的に配置されるものとする)では、モニタリング・エージェントは、各専用化物理資源上にインストールされる。これらの専用化モニタリング・エージェントは、それらがインストールされる物理資源の性能に基づいて、所望の資源及びシステム・レベル情報を収集し且つ報告する。
図1に示すように、仮想化環境では、ハイパーバイザ104と称するソフトウェアの層は、ハードウェア106及び仮想計算機の100のオペレーティング・システム(OS)の間で稼働する。ハードウェア106は、少なくとも1つのプロセッサ、少なくとも1つのコンピュータ・ストレージ媒体(ストレージ装置)、少なくとも1つの入力/出力インタフェース、少なくとも1つの電源等を含む。ハイパーバイザ104は、区画又はドメインとも称する、複数の「仮想」計算機(VM)100の幻影を提供する。仮想計算機100の各々は、それ自体のオペレーティング・システム及びそれ自体のアプリケーションを含む。そのような仮想化環境の完全な説明については、米国特許出願公開第2009/0063806号明細書(特許文献1)を参照されたい。本明細書では、特許文献1の記載内容を援用する。
前述のように、幾つかの従来の(非仮想化)プラットフォームは、サーバ資源情報を収集するために、各物理サーバ上にモニタリング・エージェントをインストールする。仮想化環境についてそのような構造を使用すると、1つの仮想計算機当たり1つのモニタリング・エージェントをインストールすることが必要になる。図1は、各仮想計算機100上の個別のモニタリング・エージェント102を使用して、各仮想計算機100をモニタするアプローチを示す。図2は、同様のアプローチを示す。但し、このアプローチでは、複数の仮想計算機100をサポートするために、ハイパーバイザ104によって複数のハードウェア装置116が使用されるようになっている。
図1及び図2の方式において、各物理サーバが何百もの仮想計算機を含むものとすれば、そのようなアプローチは、各仮想計算機から種々のイベント情報を収集するために、過度のオーバーヘッドに帰着する。この方式は、スケーラブルではないから、仮想計算機の数が増加するにつれて、オーバーヘッドが速やかに増大する。
そのような問題を扱うために、図3〜図5に示す実施形態は、基本レベルの仮想計算装置122上に配置され且つハイパーバイザ104を通して基本レベルの仮想計算装置122上で動作する単一のモニタリング・エージェント112を使用するような仮想化環境において、複数の仮想計算装置100をスケーラブルな態様でモニタするための方法及び装置を提供する。従って、図3及び図4に示すように、各物理計算装置106又は116は、別個のモニタリング・エージェントを必要としない。本発明の実施形態は、全ての仮想計算機100から複数のイベントを収集する単一のエージェント112を有するに過ぎないから、それらの実施形態は、スケーラブルであり、頑健であり、単純である。さらに、本明細書で説明するエージェントは、モニタリング・エージェントに限定すべき必然性がない。本明細書で説明するエージェントは、任意のデータ収集ソフトウェア(例えば、使用料を課金するためにユーザ・ログインを収集するもの、構成データベース用のソフトウェア・パッケージ・ソフトを収集するもの)とすることができる。また、本明細書で説明するエージェントによって収集される特性は、性能データに制限されずに、任意のタイプのデータを含むことができる。
図3及び図4では、複数の仮想計算装置の少なくとも1つは、基本レベルの仮想計算装置122である。図4では、複数のハードウェア装置116が存在するという理由で、複数の基本レベルの仮想計算装置122が存在することがあり得る(基本レベルの各仮想計算装置122は、各サーバ又はハードウェア装置116に対応する)。図示のように、モニタリング・エージェント112は、基本レベルの仮想計算装置122上で、その一部として、動作する。基本レベルの仮想計算装置122は、物理計算装置106及び116のハイパーバイザ104を通して動作する。
モニタリング・エージェント112がデータを収集し且つ複数の仮想計算装置100の性能をモニタする1つの方法は、基本レベルの仮想計算装置122だけの単純な(「シンプレックス」と称することもある)動作特性を測定し、基本レベルの仮想計算装置122だけからの測度を使用して、複数の仮想計算装置100の単純な動作特性を推定するというものである。これらの「単純な動作特性」は、基本レベルの仮想計算装置122及び複数の仮想計算装置100について類似する動作特性を含む。例えば、単純な動作特性は、物理計算装置106及び116のハードウェア測度を含む。言いかえれば、単純な動作特性は、基盤となるハードウェア装置106及び116に直接的に関係付けることができる。例えば、単純な特性は、全ての仮想計算機にわたって同一の物理構成、及び同じホスト上の全ての仮想計算機によって共有される(しかし潜在的に異なる)資源割り振りを含む。
従って、基盤となるハードウェア106の特性を単一の基本レベルの仮想計算装置122にモニタさせると、複数の仮想計算装置100の各々においてそのようなハードウェア用の個別的モニタリング・エージェントを設けることが不要となり、その結果、オーバーヘッドを実質的に削減することができる。同様に、複数のサーバを使用するシステム内の基盤となるハードウェア装置116の各々に対し単一の基本レベルの仮想計算装置122を割り振るようにすると、オーバーヘッドを同様に削減することができる。ハードウェア特性は、特定のハードウェア構成に依存する全ての仮想計算機について同じになるであろうから、基本レベルの仮想計算装置122によって得られた単純な動作特性は、精度を犠牲にすることなく、全ての対応する仮想計算機の単純な動作特性を推定するために使用することができる。
また、本発明の実施形態は、基本レベルの仮想計算装置122及び複数の仮想計算装置100の間にドメイン間通信チャネル124を含む。ドメイン間通信チャネル124は、異なるドメインにわたって複数の仮想計算装置100から情報を収集し且つモニタリング・エージェント112が複雑な動作特性をモニタすることを許容するために使用される。
ドメイン間通信チャネル124を使用する1つの方法は、これをメモリ・ページ120とともに使用するというものである。メモリ・ページ120は、複数の仮想計算装置100の各々において維持され、ドメイン間通信チャネル124を通して基本レベルの仮想計算装置122と共有される。複数の仮想計算装置100の各々は、それらの複雑な動作特性を測定する。複雑な動作特性は、基本レベルの仮想計算装置122及び複数の仮想計算装置100について類似しない動作特性を含む。
単純な動作特性は、全ての仮想計算機にわたって同一の物理構成、及び同じホスト上の全ての仮想計算機によって共有される(しかし潜在的に異なる)資源割り振りを含む。資源割り振りは、推定により、及び各仮想計算機の活動の多重化を通して、基本レベルの仮想計算装置122によって得られる。図6(以下で詳述する)は、そのような共有される特性の1つの例であり、そこではネットワークが仮想ネットワーク・アダプタを通して入力及び出力を行う。
具体的には、単純な動作特性は、例えば、物理計算装置のプロセッサ・モデル、物理計算装置のプロセッサ速度、物理計算装置のプロセッサのビジー及びアイドル時間、物理計算装置の入力/出力トラフィック統計及び/又は物理計算装置のファイル・システム情報を含む。複雑な動作特性は、例えば、複数の仮想計算装置の各々のメモリ使用率情報を含む。
さらに、複数の仮想計算装置100の各々は、それら自体の複雑な動作特性をそれらの対応するメモリ・ページ120上に記録する。また、複数の仮想計算装置100の各々は、複雑な動作特性をモニタリング・エージェント112に転送するように、対応する各メモリ・ページ120をドメイン間通信チャネル124を通して基本レベルの仮想計算装置122と共有する。
そのようなメモリ・ページは、独立のモニタリング・エージェントと比較すると、実質的により低いオーバーヘッドを有する。従って、たとえ本発明の実施形態がこれらの仮想計算機の各々においてメモリ・ページを使用するとしても、これらのメモリ・ページを各仮想計算機における独立のモニタリング・エージェントと比較すると、オーバーヘッドを実質的に削減することができる。これらのオーバーヘッドの削減は、基本レベルの仮想計算装置122だけを通して単純な動作特性を得ることにより生じられるオーバーヘッドの削減と組み合わされると、全体としてオーバーヘッドを実質的に削減することを可能とし、ひいては構造を単純化することを可能とする。このようなオーバーヘッドの削減及び構造の単純化は、メモリ又はプロセッサの要件を増加させることなく、システムの速度、性能及び精度を増加させる。
モニタリング・エージェント112は、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置100の各々の単純なイベント及び複雑なイベントを識別する。ハードウェア装置106及び116の入力/出力インタフェースは、複数の仮想計算装置100の各々の単純なイベント及び複雑なイベントを出力する。
図5のフローチャートに示すように、本発明の実施形態は、少なくとも1つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法を含む。本発明の方法の実施形態は、物理計算装置のハイパーバイザを通して基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させる(ステップ500)。モニタリング・エージェントは、データを収集し且つ複数の仮想計算装置の性能をモニタする。前述のように、ハイパーバイザは、物理計算装置のハードウェア及び各仮想計算装置のオペレーティング・システムの間で稼働するソフトウェアの層を含み、物理計算装置からの複数の仮想計算装置の幻影を提供する。
本発明の方法の実施形態は、基本レベルの仮想計算装置だけの単純な動作特性を測定し(ステップ502)、基本レベルの仮想計算装置からの測度を使用して、複数の仮想計算装置の単純な動作特性を推定する(ステップ504)。前述のように、単純な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似する動作特性を含む。
具体的には、本発明の実施形態は、複数の仮想計算装置から情報を収集するように、基本レベルの仮想計算装置及び複数の仮想計算装置の間にドメイン間通信チャネルを作成することにより(ステップ506)、モニタリング・エージェントを使用して、複雑な動作特性をモニタする。本発明の実施形態は、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有されるメモリ・ページを、複数の仮想計算装置の各々において割り振り(ステップ508)、当該各仮想計算装置を使用して、当該各仮想計算装置の複雑な動作特性を測定する(ステップ510)。前述のように、複雑な動作特性は、基本レベルの仮想計算装置及び複数の仮想計算装置について類似しない動作特性を含む。
本発明の実施形態は、複数の仮想計算装置の各々を使用して、当該各仮想計算装置の複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録する(ステップ512)。対応する各メモリ・ページは、複雑な動作特性をモニタリング・エージェントに転送するように、ドメイン間通信チャネルを通して基本レベルの仮想計算装置と共有される(ステップ514)。
本発明の実施形態は、モニタリング・エージェントを使用して、単純な動作特性及び複雑な動作特性を評価することにより、複数の仮想計算装置の各々の単純なイベント及び複雑なイベントを識別する(ステップ516)。例えば、或る動作特性が或る所定の境界又は限度を超えるときに、「イベント」が生じることがある。複数の仮想計算装置の各々の単純なイベント及び複雑なイベントは、モニタリング・エージェントを使用して出力される(ステップ518)。
本発明の実施形態は、複数の仮想計算装置の各々におけるモニタリング・エージェントを使用するのではなく、単一のモニタリング・エージェントを基本レベルの仮想計算装置上にのみ配置する。
従って、前述のように、本発明の実施形態は、基本レベルの仮想計算機内にインストールされた単一のモニタリング・エージェントを有し、そして当該単一のモニタリング・エージェントが他の仮想計算機に関する有用な情報を収集することを可能にする機構を有する。以下の例では、Xenの用語を使用し、Xenハイパーバイザを使用して、本発明の実施形態を説明するものとする。しかし、本発明の実施形態は、特定の仮想化技術に制限されないことに留意されたい。Xenは、シトリックス・システムズ社(フォート・ローダーデール、アメリカ合衆国フロリダ州、http://www.citrixxenserver.com)から入手可能である。
基本レベルの仮想計算機は、XenのDOM0として知られている。基本レベルの仮想計算機(以下「DOM0」と表記)が他の仮想計算機(DOM1,DOM2,・・・,DOMn)から情報を収集できるようにするためには、解決すべき幾つかの挑戦がある。前述のように、2つのタイプのイベントとして、単純なイベント及び複雑なイベントが存在する。単純なイベントは、追加の設備を使用することなく、DOM1,・・・,DOMnからDOM0に利用可能である。複雑なイベントは、利用可能なDOM0ツールを使用して直接的にアクセスすることができず、DOM1,・・・,DOMnからの追加の設備を必要とする。
例えば、単純な資源使用量(CPU、ディスクI/O等)の情報は、DOM0から利用可能であるが、より詳細な(Linux(登録商標)/Unix(登録商標)用の)/process情報は、DOM0から直接的に収集することができない。そのため、このような情報は、DOM1,・・・,DOMnから収集しなければならない。本発明の実施形態は、典型的なモニタリング・ツールが必要とする、そのような有用な情報を(DOM0にのみインストールされるエージェントにおいて)DOM0及びDOM1,・・・,DOMnの両方から収集するためのフレームワーク及び方法を提供する。本発明の実施形態は、Xen用の例を使用して、CPU、メモリ、ディスクI/O、ネットワーク資源についてそのような情報を収集するためのフレームワーク及び方法を提供する。しかし、同様の機構は、他の仮想化技術についても採用することができる。
本明細書は、Xen仮想化技術用のハイパーバイザ上にインストールされる単一のエージェントからイベントを収集するための方法を説明するが、本発明の実施形態は、VMware(VMware EMC社、パロ・アルト、アメリカ合衆国カリフォルニア州、http://www.vmware.com)、p−ハイパーバイザ(IBM社、アーモンク、アメリカ合衆国ニューヨーク州)等の他の仮想化技術にも適用可能である。
前述のように、単純なイベント及び複雑なイベントが存在する。任意の1つの仮想計算機又はカーネル(以下「「DomU」と表記)において観察されるような情報が、Dom0内のそれと同じである、1つのカテゴリの単純なイベントが存在する。ハードウェア構成は、このカテゴリに属する。例えば、プロセッサ・モデル及びプロセッサ速度を含むDomUのプロセッサの物理構成は、Dom0のそれと同じである。本発明の実施形態は、Dom0内のそのようなカテゴリの情報を収集し、DomUの異なる数の仮想CPUに従ってDomUsの各々の報告書を生成することができる。他の単純なイベントは、動的に変化する情報を含む。そのような情報の多くは、Dom0内でモニタすることができる。例えば、CPUのビジー及びアイドル時間、並びにネットワーク及びディスクのI/Oトラフィック統計は、Dom0内でモニタすることができる。
本発明の実施形態は、Dom0内のゲスト仮想計算機のためのCPU使用率をモニタするために、ツール「xentop」を使用する。Xenハイパーバイザは、仮想CPUの各々について仮想時間を追跡する。「xentop」は、そのようなCPU使用率情報を検索し且つ報告するツールである(他のハイパーバイザも同様のツールを有するから、本発明は、そのような全てのシステムに適用可能である)。複数の仮想CPUの場合、「xentop」は、全てのCPUについて平均CPU使用率を報告する。本発明の実施形態は、「xentop」を使用することに加えて、物理なプロセッサの使用率をモニタするためにDom0内で他のツール「xenmon」を使用することができる。
本発明の実施形態は、ネットワークのI/Oトラフィック統計をモニタするために、Xenの仮想イーサネット(登録商標)・アーキテクチャを使用する。Xenは、DomU内の仮想ネットワーク・インタフェースの各々ごとに、Dom0内に対応する仮想インタフェースを設定している。例えば、仮想インタフェース1.0(Dom0内のvif1.0)は、図2に例示するように、イーサネット(登録商標)・インタフェース#0(Dom1内のeth0)に対応する。各「vif」インタフェースは、仮想ブリッジ(Dom0内の「xenbr0」)に接続することができる。同様に、実際の物理ネットワーク・インタフェースeth0は、仮想ブリッジに接続される。Dom1を宛先とする着信ネットワーク・パケットについては、ブリッジは、これをvif1.0に転送し、そしてvif1.0は、Dom1のeth0によって受信されるように当該パケットを送信する。Dom4から送信された発信パケットについては、vif4.0は、これを受信し、ブリッジを通して外部ネットワークに転送する。従って、vifインタフェースによって送信されるパケットの数は、その対応するDomUのethインタフェースによって受信されるパケットの数と等しく、その逆も正しい。
本発明の実施形態は、全てのDomUについてネットワークのI/Oトラフィック統計を得るために、Dom0内の「ifconfig」(インタフェース構成ツール)及び「netstat」(ネットワーク統計のツール)を含む、共通のXenツールを使用する。利用可能な情報は、送信/受信済みのパケット/バイトの数、エラー率、ドロップ率等を含む。
DomUの仮想ブロック・デバイスがDom0によって提供されるので、本発明の実施形態は、全てのDomUについてDom0内のディスクI/Oトラフィックをモニタすることができる。というのは、「xentop」が毎秒当たりのディスク要求の数を報告するからである。本発明の実施形態は、さらなる情報を得るために、「iostat」(Xenの入力/出力統計ツール)を使用するように、(物理区画又は論理ボリュームに基づき)複数のゲスト仮想計算機を設定する。
本発明の実施形態は、Dom0のsysfs(Xenのシステム・ツール)内にある装置依存性情報を取り、これを「xm」(Xenのマッピング機能)コマンドを通して利用可能な仮想ブロック・デバイス情報と組み合わせることにより、DomUの仮想ブロック・デバイスをDom0内で観察されるような区画又は論理ボリュームにマップし、「iostat」を通してそれらの対応する統計を読み取ることができる。
また、本発明の実施形態は、単純なイベントに備えて、ファイル・システム情報を提供する。本発明の実施形態は、Dom0内で、ext2及びext3ファイル・システム用の「dumpe2fs」のようなXenファイル・システム・ダンプ・ツールを使用することにより、ゲスト仮想計算機のファイル・システム統計を得ることができる。利用可能な情報は、ファイル・システムの合計サイズ、使用されるinodeのパーセント、ファイル・システムに残された空きスペースの量等を含む。
複雑なイベントについては、本発明の実施形態は、Dom0のモニタリング・エージェントが便宜的にDomUsから情報を収集することをサポートするために、ドメイン間通信チャネルを組込む。図6は、ドメイン間通信チャネルのアーキテクチャを示す。
図6に示すように、DomU(604)は、メモリ・ページを割り振り、このページをDom0(600)と共有する。ハイパーバイザには、参照番号602が付されている。この共有ページは、共有データ・バッファとして使用されるであろう。また、DomUカーネルは、イベント・ポート上で聴取し、Dom0が接続するのを待機して、イベント・チャネルを設定する。このイベント・チャネルは、Dom0及びDomUの間で信号を送信するために使用されるであろう。この例では、本発明の実施形態は、ゲスト仮想計算機の/proc情報(特に、メモリ使用率情報)に注目している。「/proc」情報は、一連のコマンドであって、ピック・オペレーティング・システムの手続言語又は/procと称することもある。/Procは、UNIX(登録商標)のシェル・スクリプト又はDOS/Windows(登録商標)のバッチ・ファイルに相当し、制御フロー構成体、ファイル操作、サブルーチン・コール及び端末の入力及び出力と同様の特徴を有する。
「domUmem」という名前の新しいエントリが、Dom0の/proc内にインストールされる。Dom0のモニタリング・エージェントは、新しくインストールされた/procエントリ上でコマンド(例えば、「cat」コマンド)を発行し、Dom0からDomUへの信号の送信をトリガし、DomUに対しそのメモリ使用率情報を共有メモリ・ページ内に反映するように請求する。この信号を受信する際、DomU内のカーネル・スレッドは、DomUの/procから情報をプルし且つ共有メモリ・ページを更新済みの情報で満たすように活動化されるであろう。次に、カーネル・スレッドは、Dom0に対し、データが最新のものであり且つその検索の準備ができている旨を通知する。次に、Dom0モジュールは、情報を検索し、モニタリング・エージェントに戻す。
本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態又はソフトウェア及びハードウェア要素の両方を含む実施形態の形式を取ることができる。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェアの形式で実装される。
さらに、本発明の実施形態は、コンピュータ又は任意の命令実行システムに関連して又はこれらによって使用するためのプログラム・コードを提供する、コンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形式を取ることができる。この記載の目的上、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置等に関連して又はこれらによって使用するためのプログラムを保持し、格納し、通信し、伝送し、移送する、任意の装置とすることができる。
媒体は、電子、磁気、光学、電磁気、赤外線又は半導体式のシステム(若しくは装置)又は伝送媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能なフレキシブル・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、剛体磁気ディスク及び光ディスクがある。光ディスクの例には、読み取り専用のCD−ROM、読み書き可能なCD−R/W及びDVDがある。
プログラム・コードを格納又は実行するのに適したデータ処理システムは、システム・バスを通してメモリ要素に直接的又は間接的に結合された少なくとも1つのプロセッサを含む。これらのメモリ要素は、プログラム・コードの実行中に使用されるローカル・メモリ、バルク・ストレージ、プログラム・コードの実行中にバルク・ストレージからの取り出し回数を減少させるために少なくとも或るプログラム・コードの一時的記憶領域を提供するキャッシュ・メモリを含む。
入力/出力(I/O)装置(キーボード、ディスプレイ、ポインティング装置等を含む)は、システムに対し直接的に又は介在するI/Oコントローラを通して結合することができる。また、ネットワーク・アダプタをデータ処理システムに対し結合することもできる。そのようにすると、このデータ処理システムは、介在する専用又は公衆ネットワークを通して、他のデータ処理システム、遠隔プリンタ又はストレージ装置に結合されるようになる。ネットワーク・アダプタの例には、モデム、ケーブル・モデム及びイーサネット(登録商標)・カードがある。
図7は、本発明の実施形態を実装するために使用することができる典型的なハードウェア環境を例示する。図7は、本発明の実施形態に従った情報処理/コンピュータ・システムのハードウェア構成を例示する。このシステムは、少なくとも1つのプロセッサ又は中央処理装置(CPU)10を含む。CPU 10は、システム・バス12を介して、ランダム・アクセス・メモリ(RAM)14、読み取り専用メモリ(ROM)16及び入力/出力(I/O)アダプタ18のような、種々の装置に相互接続される。I/Oアダプタ18は、ディスク・ユニット11、テープ・ドライブ13又はこのシステムによって読み取り可能な他のプログラム・ストレージ装置のような周辺装置に接続することができる。このシステムは、プログラム・ストレージ装置上の命令を読み取り、これらの命令に従って本発明の実施形態の方法を実行することができる。また、このシステムに含まれるユーザ・インタフェース・アダプタ19は、キーボード15、マウス17、スピーカ24、マイクロホン22及びタッチ・スクリーン装置(図示せず)のような他のユーザ・インタフェース装置をバス12に接続することにより、ユーザ入力を収集する。さらに、通信アダプタ20は、バス12をデータ処理ネットワーク25に接続し、ディスプレイ・アダプタ21は、バス12をディスプレイ装置23(例えば、モニタ、プリンタ又は送信機のような出力装置として実装される)に接続する。
組み合わせに係る本願の請求項の構成要素が特定の機能を果たすための手段又はステップとして記載されている場合、これらの請求項は、本明細書に開示された対応する構造、材料、行為又はそれらの均等物をその範囲とすることに留意されたい。また、本発明に関する記述は、例示及び説明を目的として与えられたものであって、網羅的であること及び開示された形態に本発明を限定することを意図するものではないことに留意されたい。当業者にとって、本発明の範囲及び精神から逸脱することなく、多くの修正及び変形が可能であることが明らかであろう。実施形態は、本発明の原理及び実際的な応用を最もよく説明し、考えられる特定の用途に適するような種々の修正を伴う種々の実施形態に関して当業者が本発明を理解することを可能にするために、選択され説明されたものである。前述の説明では、本発明の実施形態を必要以上に不明瞭にしないように、周知のコンポーネント及び処理技術は省略されている。
100・・・仮想計算機
102、112・・・モニタリング・エージェント
104・・・ハイパーバイザ
106、116・・・ハードウェア(物理計算装置)
120・・・メモリ・ページ
122・・・基本レベルの仮想計算装置
124・・・ドメイン間通信チャネル

Claims (20)

  1. 少なくとも1つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法であって、
    (a)前記物理計算装置上でモニタリング・エージェントを稼働させるステップを有し、
    前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、
    (b)基本レベルの仮想計算装置だけの単純な動作特性を測定するステップを有し、
    前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
    (c)前記モニタリング・エージェントを使用して、複雑な動作特性をモニタするステップを有し、
    前記ステップ(c)が、
    (c1)前記複数の仮想計算装置から情報を収集するように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間にドメイン間通信チャネルを作成するステップと、
    (c2)前記複数の仮想計算装置の各々を使用して、当該各仮想計算装置の前記複雑な動作特性を測定するステップを含み、
    前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
    (c3)前記複数の仮想計算装置の各々によって、当該各仮想計算装置の前記複雑な動作特性を記録するステップと、
    (c4)前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記複数の仮想計算装置の各々によって、前記複雑な動作特性を前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有するステップをさらに含み、
    (d)前記モニタリング・エージェントを使用して、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別するステップと、
    (e)前記モニタリング・エージェントを使用して、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力するステップをさらに有し、
    前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、方法。
  2. 前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項1に記載の方法。
  3. 前記単純な動作特性が、
    前記物理計算装置のプロセッサ・モデル、
    前記物理計算装置のプロセッサ速度、
    前記物理計算装置のプロセッサのビジー及びアイドル時間、
    前記物理計算装置の入力/出力トラフィック統計、及び
    前記物理計算装置のファイル・システム情報
    の少なくとも1つを含む、請求項1に記載の方法。
  4. 前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項1〜3のいずれか1項に記載の方法。
  5. 少なくとも1つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするコンピュータ実装方法であって、
    (a)前記物理計算装置のハイパーバイザを通して基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させるステップを有し、
    前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、前記ハイパーバイザが、前記物理計算装置のハードウェア及び前記複数の仮想計算装置の各々のオペレーティング・システムの間で稼働するソフトウェアの層を含み、
    (b)基本レベルの仮想計算装置だけの単純な動作特性を測定するステップを有し、
    前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
    (c)前記モニタリング・エージェントを使用して、複雑な動作特性をモニタするステップを有し、
    前記ステップ(c)が、
    (c1)前記複数の仮想計算装置から情報を収集するように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間にドメイン間通信チャネルを作成するステップと、
    (c2)前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有されるメモリ・ページを、前記複数の仮想計算装置の各々において割り振るステップと、
    (c3)前記複数の仮想計算装置の各々を使用して、当該各仮想計算装置の前記複雑な動作特性を測定するステップを含み、
    前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
    (c4)前記複数の仮想計算装置の各々によって、当該各仮想計算装置の前記複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録するステップと、
    (c5)前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記対応する各メモリ・ページを前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有するステップをさらに含み、
    (d)前記モニタリング・エージェントを使用して、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別するステップと、
    (e)前記モニタリング・エージェントを使用して、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力するステップをさらに有し、
    前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、方法。
  6. 前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項5に記載の方法。
  7. 前記単純な動作特性が、
    前記物理計算装置のプロセッサ・モデル、
    前記物理計算装置のプロセッサ速度、
    前記物理計算装置のプロセッサのビジー及びアイドル時間、
    前記物理計算装置の入力/出力トラフィック統計、及び
    前記物理計算装置のファイル・システム情報
    の少なくとも1つを含む、請求項5に記載の方法。
  8. 前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項5〜7のいずれか1項に記載の方法。
  9. 複数の仮想計算装置の計算機活動をモニタする装置であって、
    (a)少なくとも1つの物理計算装置を備え、
    前記物理計算装置が、少なくとも1つのプロセッサ、少なくとも1つのストレージ媒体及び少なくとも1つの入力/出力インタフェースを含み、
    (b)前記物理計算装置を通して動作するモニタリング・エージェントを備え、
    前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、前記モニタリング・エージェントが、基本レベルの仮想計算装置だけの単純な動作特性を測定し、前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
    (c)前記複数の仮想計算装置から情報を収集し且つ前記モニタリング・エージェントが複雑な動作特性をモニタすることを許容するために使用されるように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間に設けられたドメイン間通信チャネルを備え、
    (d)前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を測定し、前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
    (e)前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を記録し、
    (f)前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記複数の仮想計算装置の各々が、前記複雑な動作特性を前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有し、
    (g)前記モニタリング・エージェントが、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別し、
    (h)前記入力/出力インタフェースが、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力し、
    (i)前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、装置。
  10. 前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項9に記載の装置。
  11. 前記単純な動作特性が、
    前記物理計算装置のプロセッサ・モデル、
    前記物理計算装置のプロセッサ速度、
    前記物理計算装置のプロセッサのビジー及びアイドル時間、
    前記物理計算装置の入力/出力トラフィック統計、及び
    前記物理計算装置のファイル・システム情報
    の少なくとも1つを含む、請求項9に記載の装置。
  12. 前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項9〜11のいずれか1項に記載の装置。
  13. 複数の仮想計算装置の計算機活動をモニタする装置であって、
    (a)少なくとも1つの物理計算装置を備え、
    前記物理計算装置が、少なくとも1つのプロセッサ、少なくとも1つのストレージ媒体及び少なくとも1つの入力/出力インタフェースを含み、
    (b)前記物理計算装置のハードウェア及び前記複数の仮想計算装置の各々のオペレーティング・システムの間で稼働するソフトウェアの層を含むハイパーバイザを備え、
    (c)前記物理計算装置の前記ハイパーバイザを通して基本レベルの仮想計算装置上で動作するモニタリング・エージェントを備え、
    前記モニタリング・エージェントが、前記複数の仮想計算装置からデータを収集し、前記モニタリング・エージェントが、前記基本レベルの仮想計算装置だけの単純な動作特性を測定し、前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
    (d)前記複数の仮想計算装置から情報を収集し且つ前記モニタリング・エージェントが複雑な動作特性をモニタすることを許容するために使用されるように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間に設けられたドメイン間通信チャネルを備え、
    (e)前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有される、前記複数の仮想計算装置の各々におけるメモリ・ページを備え、
    (f)前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を測定し、前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
    (g)前記複数の仮想計算装置の各々が、当該各仮想計算装置の前記複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録し、
    (h)前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記複数の仮想計算装置の各々が、前記対応する各メモリ・ページを前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有し、
    (i)前記モニタリング・エージェントが、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別し、
    (h)前記入力/出力インタフェースが、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力し、
    (i)前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、装置。
  14. 前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項13に記載の装置。
  15. 前記単純な動作特性が、
    前記物理計算装置のプロセッサ・モデル、
    前記物理計算装置のプロセッサ速度、
    前記物理計算装置のプロセッサのビジー及びアイドル時間、
    前記物理計算装置の入力/出力トラフィック統計、及び
    前記物理計算装置のファイル・システム情報
    の少なくとも1つを含む、請求項13に記載の装置。
  16. 前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項13〜15のいずれか1項に記載の装置。
  17. 少なくとも1つの物理計算装置を通して動作する複数の仮想計算装置の計算機活動をモニタするためのコンピュータによって実行可能な命令を格納するコンピュータ・プログラム・ストレージ媒体であって、
    前記命令が、
    (a)前記物理計算装置を通して動作する基本レベルの仮想計算装置上でモニタリング・エージェントを稼働させるステップと
    前記モニタリング・エージェントは、前記複数の仮想計算装置からデータを収集し、
    (b)前記基本レベルの仮想計算装置だけの単純な動作特性を測定するステップと
    前記単純な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似する動作特性を含み、
    (c)前記モニタリング・エージェントを使用して、複雑な動作特性をモニタするステップとをコンピュータに実行させ
    前記ステップ(c)が、
    (c1)前記複数の仮想計算装置から情報を収集するように、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置の間にドメイン間通信チャネルを作成するステップと、
    (c2)前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有されるメモリ・ページを、前記複数の仮想計算装置の各々において割り振るステップと、
    (c3)前記複数の仮想計算装置の各々を使用して、当該各仮想計算装置の前記複雑な動作特性を測定するステップとを含み、
    前記複雑な動作特性が、前記基本レベルの仮想計算装置及び前記複数の仮想計算装置について類似しない動作特性を含み、
    (c4)前記複数の仮想計算装置の各々によって、当該各仮想計算装置の前記複雑な動作特性を、当該各仮想計算装置に対応するメモリ・ページ上に記録するステップと、
    (c5)更に前記複雑な動作特性を前記モニタリング・エージェントに転送するように、前記対応する各メモリ・ページを前記ドメイン間通信チャネルを通して前記基本レベルの仮想計算装置と共有するステップとをさらに含み、
    (d)前記モニタリング・エージェントを使用して、前記単純な動作特性及び前記複雑な動作特性を評価することにより、前記複数の仮想計算装置の各々の前記単純な動作特性が所定の境界を超えたときに生じる単純なイベント及び前記複雑な動作特性が所定の境界を超えたときに生じる複雑なイベントを識別するステップと、
    (e)前記モニタリング・エージェントを使用して、前記複数の仮想計算装置の各々の前記単純なイベント及び前記複雑なイベントを出力するステップとをさらにコンピュータに実行させ
    前記モニタリング・エージェントが、前記基本レベルの仮想計算装置上にのみ配置され、前記複数の仮想計算装置上には配置されず、該複数の仮想計算装置の各々から前記複雑な動作特性を収集する単一のエージェントである、前記ステップをコンピュータに実行させるコンピュータ・プログラム・ストレージ媒体。
  18. 前記単純な動作特性が、前記物理計算装置のハードウェア測度を含む、請求項17に記載のコンピュータ・プログラム・ストレージ媒体。
  19. 前記単純な動作特性が、
    前記物理計算装置のプロセッサ・モデル、
    前記物理計算装置のプロセッサ速度、
    前記物理計算装置のプロセッサのビジー及びアイドル時間、
    前記物理計算装置の入力/出力トラフィック統計、及び
    前記物理計算装置のファイル・システム情報
    の少なくとも1つを含む、請求項17に記載のコンピュータ・プログラム・ストレージ媒体。
  20. 前記複雑な動作特性が、前記複数の仮想計算装置の各々のメモリ使用率情報を含む、請求項17〜19のいずれか1項に記載のコンピュータ・プログラム・ストレージ媒体。
JP2012515166A 2009-06-12 2010-06-11 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム Expired - Fee Related JP5680070B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/483,281 US8650562B2 (en) 2009-06-12 2009-06-12 Method and apparatus for scalable monitoring of virtual machine environments combining base virtual machine and single monitoring agent for measuring common characteristics and individual virtual machines measuring individualized characteristics
US12/483,281 2009-06-12
PCT/US2010/038242 WO2010144757A1 (en) 2009-06-12 2010-06-11 Method and apparatus for scalable monitoring of virtual machine environments

Publications (2)

Publication Number Publication Date
JP2012530295A JP2012530295A (ja) 2012-11-29
JP5680070B2 true JP5680070B2 (ja) 2015-03-04

Family

ID=43307546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012515166A Expired - Fee Related JP5680070B2 (ja) 2009-06-12 2010-06-11 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム

Country Status (8)

Country Link
US (1) US8650562B2 (ja)
EP (1) EP2441012A4 (ja)
JP (1) JP5680070B2 (ja)
CN (1) CN102349064B (ja)
BR (1) BRPI1009594B1 (ja)
CA (1) CA2747736C (ja)
MX (1) MX2011010796A (ja)
WO (1) WO2010144757A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769534B2 (en) 2010-09-23 2014-07-01 Accenture Global Services Limited Measuring CPU utilization in a cloud computing infrastructure by artificially executing a bursting application on a virtual machine
CN102075434B (zh) * 2011-01-28 2012-07-04 华中科技大学 一种虚拟集群中的通信方法
US8806005B2 (en) 2011-09-12 2014-08-12 Microsoft Corporation Cross-machine event log correlation
GB2496482A (en) * 2011-10-28 2013-05-15 Ibm Passive monitoring of virtual systems without using agents executing within virtual servers
US9229758B2 (en) 2011-10-28 2016-01-05 International Business Machines Corporation Passive monitoring of virtual systems using extensible indexing
US9465716B2 (en) 2012-03-16 2016-10-11 International Business Machines Corporation Run-time instrumentation directed sampling
US9405541B2 (en) 2012-03-16 2016-08-02 International Business Machines Corporation Run-time instrumentation indirect sampling by address
US9158660B2 (en) 2012-03-16 2015-10-13 International Business Machines Corporation Controlling operation of a run-time instrumentation facility
US9367316B2 (en) 2012-03-16 2016-06-14 International Business Machines Corporation Run-time instrumentation indirect sampling by instruction operation code
US9483268B2 (en) 2012-03-16 2016-11-01 International Business Machines Corporation Hardware based run-time instrumentation facility for managed run-times
US9454462B2 (en) * 2012-03-16 2016-09-27 International Business Machines Corporation Run-time instrumentation monitoring for processor characteristic changes
US9280447B2 (en) 2012-03-16 2016-03-08 International Business Machines Corporation Modifying run-time-instrumentation controls from a lesser-privileged state
US9442824B2 (en) 2012-03-16 2016-09-13 International Business Machines Corporation Transformation of a program-event-recording event into a run-time instrumentation event
US9411591B2 (en) 2012-03-16 2016-08-09 International Business Machines Corporation Run-time instrumentation sampling in transactional-execution mode
US9471315B2 (en) 2012-03-16 2016-10-18 International Business Machines Corporation Run-time instrumentation reporting
US9430238B2 (en) 2012-03-16 2016-08-30 International Business Machines Corporation Run-time-instrumentation controls emit instruction
US9250902B2 (en) 2012-03-16 2016-02-02 International Business Machines Corporation Determining the status of run-time-instrumentation controls
CN102662821B (zh) 2012-03-22 2015-03-11 华为技术有限公司 虚拟机故障的辅助诊断方法、装置和系统
CN104487945B (zh) 2012-07-25 2018-04-06 惠普发展公司,有限责任合伙企业 用于转换手势的计算机设备和方法
US9009706B1 (en) * 2013-01-23 2015-04-14 Symantec Corporation Monitoring and updating state information of virtual devices to guest virtual machines based on guest virtual machine's probing policy
CN103092710A (zh) * 2013-02-06 2013-05-08 浪潮电子信息产业股份有限公司 云计算操作系统中一种高可用虚拟机运行方法
CA2907274A1 (en) * 2013-03-15 2014-09-18 Fuhu Holdings, Inc. Tablet computer
US9304885B2 (en) 2013-06-18 2016-04-05 International Business Machines Corporation Passive monitoring of virtual systems using agent-less, near-real-time indexing
CN103399812B (zh) * 2013-07-22 2016-04-13 西安电子科技大学 基于Xen硬件虚拟化的磁盘文件操作监控系统及监控方法
US9218139B2 (en) 2013-08-16 2015-12-22 International Business Machines Corporation Minimally disruptive virtual machine snapshots
US9519513B2 (en) 2013-12-03 2016-12-13 Vmware, Inc. Methods and apparatus to automatically configure monitoring of a virtual machine
US9678731B2 (en) 2014-02-26 2017-06-13 Vmware, Inc. Methods and apparatus to generate a customized application blueprint
US10530837B2 (en) 2014-04-10 2020-01-07 International Business Machines Corporation Always-on monitoring in the cloud
US20150378763A1 (en) 2014-06-30 2015-12-31 Vmware, Inc. Methods and apparatus to manage monitoring agents
US9092376B1 (en) * 2014-08-29 2015-07-28 Nimble Storage, Inc. Methods and systems for ordering virtual machine snapshots
US9778990B2 (en) 2014-10-08 2017-10-03 Hewlett Packard Enterprise Development Lp Methods and systems for concurrently taking snapshots of a plurality of virtual machines
US9727252B2 (en) 2014-11-13 2017-08-08 Hewlett Packard Enterprise Development Lp Methods and systems for optimal snapshot distribution within a protection schedule
US9495193B2 (en) * 2014-12-05 2016-11-15 International Business Machines Corporation Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US10379889B2 (en) * 2015-06-15 2019-08-13 Microsoft Technology Licensing, Llc Monitoring and reporting performance of collaboration services using a monitoring service native to the collaboration service
US11438278B2 (en) * 2015-06-29 2022-09-06 Vmware, Inc. Container-aware application dependency identification
US10489121B2 (en) * 2016-06-02 2019-11-26 Avago Technologies International Sales Pte. Limited Method and apparatus for determining system information in a device having a plurality of processors, each including virtual machines and some located on separate insertable boards
TWI625694B (zh) * 2017-06-06 2018-06-01 Univ Chang Gung Monitoring system and monitoring device

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04257035A (ja) * 1991-02-12 1992-09-11 Fujitsu Ltd 仮想計算機システム配下における障害情報処理方式
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
JP4018900B2 (ja) * 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
US7984108B2 (en) * 2003-10-08 2011-07-19 Unisys Corporation Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US20070061441A1 (en) 2003-10-08 2007-03-15 Landis John A Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
US7707583B2 (en) 2004-05-20 2010-04-27 Sap Ag Robust sharing of runtime systems
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US7610266B2 (en) * 2005-05-25 2009-10-27 International Business Machines Corporation Method for vertical integrated performance and environment monitoring
US7861244B2 (en) * 2005-12-15 2010-12-28 International Business Machines Corporation Remote performance monitor in a virtual data center complex
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
CN101059768B (zh) 2006-04-17 2011-01-05 北京软通科技有限责任公司 实现操作系统备用的系统及方法
US8607228B2 (en) * 2006-08-08 2013-12-10 Intel Corporation Virtualizing performance counters
US8291410B2 (en) * 2006-12-29 2012-10-16 Intel Corporation Controlling virtual machines based on activity state
JP4557178B2 (ja) * 2007-03-02 2010-10-06 日本電気株式会社 仮想マシン管理システム、その方法及びそのプログラム
US20090063747A1 (en) 2007-08-28 2009-03-05 Rohati Systems, Inc. Application network appliances with inter-module communications using a universal serial bus
US7689801B2 (en) 2007-08-29 2010-03-30 International Business Machines Corporation Method for distributing hypervisor memory requirements across logical partitions
WO2009058042A1 (en) * 2007-10-29 2009-05-07 Intel Corporation A method of external performance monitoring for virtualized environments
US8099541B2 (en) * 2008-01-22 2012-01-17 Globalfoundries Inc. Minivisor entry point in virtual machine monitor address space

Also Published As

Publication number Publication date
CA2747736A1 (en) 2010-12-16
BRPI1009594A2 (pt) 2016-03-08
JP2012530295A (ja) 2012-11-29
MX2011010796A (es) 2011-10-28
US8650562B2 (en) 2014-02-11
EP2441012A4 (en) 2017-11-08
EP2441012A1 (en) 2012-04-18
US20100318990A1 (en) 2010-12-16
CN102349064A (zh) 2012-02-08
CA2747736C (en) 2017-11-07
CN102349064B (zh) 2014-05-21
BRPI1009594B1 (pt) 2020-12-22
WO2010144757A1 (en) 2010-12-16

Similar Documents

Publication Publication Date Title
JP5680070B2 (ja) 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム
JP6571161B2 (ja) アプリケーショントポロジ関係を探索するための方法、装置、およびシステム
US10146396B2 (en) System-wide topology and performance monitoring GUI tool with per-partition views
JP4995015B2 (ja) 仮想計算機の実行可否検査方法
JP5689526B2 (ja) マルチキュー・ネットワーク・アダプタの動的再構成によるリソース・アフィニティ
US8201167B2 (en) On-demand allocation of virtual asynchronous services interfaces
JP6327810B2 (ja) モビリティ動作リソース割り当てのための方法、システム、コンピュータ・プログラム
JP5373893B2 (ja) 異なるサイズを有するデータのブロックを格納し、取り出すための構成
US20130013953A1 (en) Health monitoring of applications in a guest partition
US8918561B2 (en) Hardware resource arbiter for logical partitions
US20100100892A1 (en) Managing hosted virtualized operating system environments
JP5669851B2 (ja) 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム
US9311128B2 (en) Bandwidth-Efficient virtual machine image delivery over distributed nodes based on priority and historical access criteria
US20080229031A1 (en) Method of Automated Resource Management In A Partition Migration Capable Environment
US20230367652A1 (en) Methods and apparatus to allocate hardware in virtualized computing architectures
Kamoun Virtualizing the datacenter without compromising server performance
JP2022087808A (ja) ストレージ・エリア・ネットワーク輻輳のエンドポイント通知を行う方法、システム、およびコンピュータ・プログラム
Wells et al. Introductions
Elder et al. vSphere High Performance Cookbook
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140218

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20140304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141030

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141209

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20141209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150106

R150 Certificate of patent or registration of utility model

Ref document number: 5680070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees