(57)【要約】【課題】複数の仮想化ソフトウェアにより仮想化された仮想マシンの一括監視管理を可能とする。【解決手段】仮想マシン２４を特定して操作が指示されると、予め記憶しておいた情報に基づいて、仮想マシン２４に対応する仮想化ソフトウェア２３とホストマシン２５とを特定する。特定した仮想化ソフトウェア２３用のプラグインから、特定されたホストマシン２５に仮想マシン２４と操作内容を通知する。ホストマシン２５は、通知された仮想マシン２４と操作内容を仮想化ソフトウェア２３に通知する。仮想化ソフトウェア２３は、通知された仮想マシン２４に操作内容を通知する。仮想マシン２４は、通知された操作を実行し、仮想化ソフトウェア２３、ホストマシン２５、プラグインを介して監視管理装置に伝達する。【選択図】図２
2010262545.tif 000002
【特許請求の範囲】
【請求項１】
操作対象のマシンを特定するマシン特定情報と操作内容を特定する操作特定情報とを入力する入力手段と、
監視管理対象のホストマシンと仮想マシンと仮想化ソフトウェアとを対応付ける対応付手段と、
仮想化ソフトウェア別に配置され、対応する仮想化ソフトウェアとの間で通信を行う仮想化モジュールと、
前記入力手段により入力されたマシン特定情報と前記対応付手段とに基づいて、入力されたマシン特定情報に対応するホストマシンと仮想化ソフトウェアとを特定する特定手段と、
前記特定手段により特定された仮想化ソフトウェアに対応する仮想化モジュールに、操作対象のマシンを特定するマシン特定情報と、操作内容を特定する操作特定情報と、ホストマシンを特定するホストマシン情報とを通知するモジュール通知手段と、
を備え、
前記特定手段により特定された仮想化ソフトウェアに対応する仮想化モジュールは、通知されたホストマシン情報で特定されるホストマシンに、操作対象のマシンと操作内容を通知する、
ことを特徴とする監視管理装置。
【請求項２】
前記仮想化モジュールと該仮想化モジュールに接続されたホストマシンとを介して監視管理対象の仮想コンピュータの構成情報を収集する収集手段を備え、
前記対応付け手段は、前記収集手段が収集した情報を保持する、
ことを特徴とする請求項１に記載の監視管理装置。
【請求項３】
前記収集手段は、周期的に、監視管理対象のコンピュータの構成情報を収集する、
ことを特徴とする請求項２に記載の監視管理装置。
【請求項４】
非仮想マシンとの間で通信を行う非仮想マシン用のモジュールを備え、
前記対応付手段は、非仮想マシンの名称と該マシンが非仮想マシンであることを示す情報とを保持し、
前記モジュール通知手段は、非仮想マシンについては、前記非仮想マシン用のモジュールに通知し、
該非仮想マシン用のモジュールは、通知されたマシン名を有する非仮想マシンに、入力された操作を指示する、
ことを特徴とする請求項１、２又は３に記載の監視管理装置。
【請求項５】
前記仮想化モジュールは、プラグイン形式で構成されている、ことを特徴とする請求項１乃至４のいずれか１項に記載の監視管理装置。
【請求項６】
コンピュータにより監視管理対象のコンピュータを監視管理する方法であって、
仮想マシンを特定して操作が指示された時に、コンピュータにより、予め記憶している属性情報に基づいて、該仮想マシンに対応する仮想化ソフトウェアを特定して、
コンピュータにより、特定した仮想化ソフトウェアと通信が可能なソフトウェアモジュールを選択して、選択したソフトウェアモジュールから仮想化ソフトウェアに操作の内容を通知する、
ことを特徴とする監視管理方法。
【請求項７】
コンピュータに、
仮想マシンを特定して操作が指示された時に、予め記憶している属性情報に基づいて、該仮想マシンに対応する仮想化ソフトウェアを特定する処理と、
特定した仮想化ソフトウェアと通信が可能なソフトウェアモジュールを選択して、選択したソフトウェアモジュールから仮想化ソフトウェアに操作の内容を通知する処理と、
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンを監視管理する装置と方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
コンピュータのリソースを仮想化ソフトウェア（仮想化ソリューション）により仮想化し、仮想化したリソース上でＯＳ（オペレーティングシステム）を実行させる仮想化技術が知られている。リソースを仮想化することにより、複数のＯＳを並行して実行させたり、異なったアーキテクチャのＯＳを同時に動作させることが可能となる。仮想化されたコンピュータを仮想マシン又は仮想機械と呼ぶ。
【０００３】
仮想化されていないコンピュータ（即ち、物理マシン）は、OpenView（商標）などの監視管理ソフトウェアを用いて監視管理を行うことが可能である。
【０００４】
仮想マシンについても、仮想マシン用の監視管理ソフトウェアが存在する。例えば、VMware（商標）で仮想化された仮想マシンを監視管理するためにVMwareInfrastructureClient（商標）が提供されており、Xen（商標）で仮想化された仮想マシンを監視管理するためにVirtualMachineManager（商標）が提供されている。
【０００５】
ユーザが、非仮想マシン用の監視管理ソフトウェアで非仮想マシンを操作する場合は、ユーザは「マシン」と「操作」を指示する必要がある。一方、仮想マシン用の監視管理ソフトウェアで仮想マシンを操作する場合は、「マシン」、「操作」、「ホストマシン」、「仮想化ソフトウェア」を指定する必要がある。ここで、操作とは、例えば、性能情報の取得、マシンの状態の変更（起動・停止、リソース割り当て変更等）、ジョブの制御、パッチ管理などを意味する。
【０００６】
このように、非仮想マシンを操作するために必要な情報と仮想マシンを操作するために必要な情報との間には差異があるため、非仮想マシンと仮想マシンとが混在する仮想化混在環境においては、シームレスな監視管理は困難である。
【０００７】
また、従来の監視管理ソフトウェアは、特定の仮想化ソフトウェア専用であり、複数の仮想化ソフトウェアには対応できない。このため、複数の仮想化ソフトウェアにより仮想化された複数種の仮想マシンを含む仮想環境を監視管理することはできない。
【０００８】
また、従来の監視管理ソフトウェアは、動作の度に、依存関係、即ち、監視管理対象の仮想マシンと、該仮想マシンを実現している仮想化ソフトウェアとホストマシンの対応関係をチェックする必要があり、オーバーヘッドが大きく、高速動作が困難である。
【０００９】
また、従来の監視管理ソフトウェアは、監視管理対象の仮想マシンに対しエージェントをインストールし、監視管理対象の仮想マシンと直接通信し、エージェントからマシン情報を取得することが多い。しかし、仮想マシンでは、ＣＰＵ使用率やメモリ等の監視の精度が低いため情報が不正確である。
一方、特許文献１には、ホスト上の仮想マネージャが各仮想マシンからの情報を取得可能な技術が開示されている。しかし、監視管理ソフトウェアが仮想管理マネージャから情報を収集したとしても、「マシン」、「操作」、「ホストマシン」、「仮想化ソフトウェア」といった情報が必要であることに変わりはない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特表2007-513405号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上述した問題に鑑みてなされたものであり、複数（種）の仮想化ソフトウェアにより仮想化された仮想マシンの監視管理を可能とする監視管理装置、監視管理方法及びコンピュータプログラムを提供することを目的とする。
また、本発明は、仮想マシンと非仮想マシンとを共に監視管理可能な監視管理装置、監視管理方法及びコンピュータプログラムを提供することを他の目的とする。
また、本発明は、ホストマシン、仮想化ソフトウェア等を意識せずに透過的に操作可能にする監視管理装置、監視管理方法及びコンピュータプログラムを提供することを他の目的とする。
また、本発明は、信頼性の高い監視管理を可能とする監視管理装置、監視管理方法及びコンピュータプログラムを提供することを他の目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の第１の観点に係る監視管理装置は、
操作対象のマシンを特定するマシン特定情報と操作内容を特定する操作特定情報とを入力する入力手段と、
監視管理対象のホストマシンと仮想マシンと仮想化ソフトウェアとを対応付ける対応付手段と、
仮想化ソフトウェア別に配置され、対応する仮想化ソフトウェアとの間で通信を行う仮想化モジュールと、
前記入力手段により入力されたマシン特定情報と前記対応付手段とに基づいて、入力されたマシン特定情報に対応するホストマシンと仮想化ソフトウェアとを特定する特定手段と、
前記特定手段により特定された仮想化ソフトウェアに対応する仮想化モジュールに、操作対象のマシンを特定するマシン特定情報と、操作内容を特定する操作特定情報と、ホストマシンを特定するホストマシン情報とを通知するモジュール通知手段と、
を備え、
前記特定手段により特定された仮想化ソフトウェアに対応する仮想化モジュールは、通知されたホストマシン情報で特定されるホストマシンに、操作対象のマシンと操作内容を通知する、
ことを特徴とする。
【００１３】
例えば、前記仮想化モジュールと該仮想化モジュールに接続されたホストマシンとを介して監視管理対象の仮想コンピュータの構成情報を収集する収集手段を備え、前記対応付手段は、前記収集手段が収集した情報を保持する。
【００１４】
例えば、前記収集手段は、周期的に、監視管理対象のコンピュータの構成情報を収集する。
【００１５】
例えば、非仮想マシンとの間で通信を行う非仮想マシン用のモジュールを備え、前記対応付手段は、非仮想マシンの名称と該マシンが非仮想マシンであることを示す情報とを保持し、前記モジュール通知手段は、非仮想マシンについては、非仮想マシン用のモジュールに通知し、該非仮想マシン用のモジュールは、通知されたマシン名を有する非仮想マシンに、入力された操作を指示する。
【００１６】
例えば、仮想化モジュールや非仮想マシン用モジュールは、プラグイン形式で構成されている。
【００１７】
また、本発明の第２の観点に係る監視管理方法は、
コンピュータにより監視管理対象のコンピュータを監視管理する方法であって、
仮想マシンを特定して操作が指示された時に、コンピュータにより、予め記憶している属性情報に基づいて、該仮想マシンに対応する仮想化ソフトウェアを特定して、
コンピュータにより、特定した仮想化ソフトウェアと通信が可能なソフトウェアモジュールを選択して、選択したソフトウェアモジュールから仮想化ソフトウェアに操作の内容を通知する、
ことを特徴とする。
【００１８】
また、本発明の第３の観点に係るコンピュータプログラムは、
コンピュータに、
仮想マシンを特定して操作が指示された時に、予め記憶している属性情報に基づいて、該仮想マシンに対応する仮想化ソフトウェアを特定する処理と、
特定した仮想化ソフトウェアと通信が可能なソフトウェアモジュールを選択して、選択したソフトウェアモジュールから仮想化ソフトウェアに操作の内容を通知する処理と、
を実行させることを特徴とする。
【発明の効果】
【００１９】
例えば、第１の観点に係る発明によれば、マシンを特定すると、そのマシンのホストマシンと該マシンの仮想化ソフトウェアの種類が自動的に抽出され、これらの情報を用いて処理が行われる。このため、マシンがどの仮想化ソフトウェアにより仮想化されたものであるかを判別して処理を指定する必要がない。
【図面の簡単な説明】
【００２０】
【図１】この発明の一実施の形態に係るコンピュータシステムの構成を示す構成図である。
【図２】（ａ）仮想マシンが動作する仮想マシンサーバの構成を示す図、（ｂ）仮想化されていないコンピュータである非仮想マシンの構成を示す図である。
【図３】監視管理装置の物理的な構成を示すブロック図である。
【図４】監視管理装置と監視管理クライアントの機能ブロック図である。
【図５】仮想マシンと非仮想マシンとが混在した仮想化混在環境の例を示す図である。
【図６】（ａ）図５に示す仮想化混在環境を監視管理する場合に、監視管理システムに格納されるマシン情報テーブルＴ１の例を示す図である。（ｂ）図５に示す仮想化混在環境を監視管理する場合に、監視管理システムに格納される対応付テーブルＴ２の例を示す図である。
【図７】（ａ）、（ｂ）は、任意のマシンに操作を指示する手順を示すフローチャートである。
【図８】（ａ）、（ｂ）は、任意のマシンに操作を指示する手順を示すフローチャートである。
【図９】（ａ）〜（ｃ）は、操作を指示したマシンからの応答を伝達する手順を示すフローチャートである。
【図１０】（ａ）、（ｂ）は、操作を指示したマシンからの応答を伝達する手順を示すフローチャートである。
【図１１】マシン情報テーブルＴ１を作成又は更新する処理を示すフローチャートである。
【図１２】監視管理対象のシステムの構成の変化の具体例を示した図である。
【図１３】図１２に示す構成のマシン情報テーブルＴ１の例を示す図である。
【図１４】仮想化ソフトウェアの種類を増加させる場合の処理手順を説明するためのブロック図である。
【発明を実施するための形態】
【００２１】
以下、本発明の一実施の形態に係る仮想化混在環境用監視管理システムについて説明する。
【００２２】
本実施形態に係る監視管理システムは、物理的には、図１に示すように、監視管理対象の複数台のコンピュータ１１（１１１〜１１ｎ）と、監視管理装置１３と、監視管理クライアント１５とから構成される。
【００２３】
複数台のコンピュータ１１１〜１１ｎは、仮想マシンが動作するコンピュータ（以下、区別のため、仮想マシンサーバと呼ぶ）と、仮想化されていないコンピュータ（以下区別のため非仮想マシンと呼ぶ）とを含む。
コンピュータ１１１〜１１ｎの一部は、ネットワークＮＷに接続され、相互に通信が可能となっている。
【００２４】
コンピュータ１１のうち、仮想マシンサーバは、図２（ａ）に示すように、ハードウェア２２、仮想化ソフトウェア２３、一又は複数の仮想マシン２４、ホストマシン２５から構成される。
【００２５】
ハードウェア２２は、仮想化対象のコンピュータ１１のＣＰＵ（Central Processing Unit）、メモリ等のハードウェアリソースである。
【００２６】
仮想化ソフトウェア（仮想化ソリューション）２３は、仮想マシンサーバ上にインストールされ、ハードウェア２２上で動作し、仮想マシン２４の動作、ホストマシン２５の動作を可能とするプログラムである。また、仮想化ソフトウェア２３は、ホストマシン２５を介して監視管理装置１３と交信し、また、各仮想マシン２４と交信する。
例えば、ハイパーバイザ型の仮想化ソフトウェア２３として、VMware Infrastructure（商標）、Xen（商標）、及び、Hyper-V（商標）などが存在する。また、HostOS型の仮想化ソフトウェア２３として、VMware Workstation（商標）、及び、VirtualPC（商標）などが存在する。
【００２７】
仮想マシン２４は、仮想化ソフトウェア２３上で動作する。仮想マシン２４のＯＳは互いに異なっても同一でもよい。仮想マシン２４上で任意のアプリーションソフトウェアが動作する。
【００２８】
ホストマシン２５は、例えば、仮想マシンサーバにインストールされたＯＳであり、仮想化ソフトウェア２３を通じて仮想マシン２４の管理を行うとともに監視管理装置１３と各種処理のやりとりを行う。
【００２９】
コンピュータ１１のうち、仮想化されていないコンピュータである非仮想マシンは、図２（ｂ）に示すように、ハードウェア２７とＯＳ（オペレーティングシステム）２８とから構成される。
【００３０】
図１に示す監視管理装置１３は、監視管理対象のコンピュータ１１を監視・管理する装置である。
監視管理装置１３は、物理的には、図３に示すように、ＣＰＵ３１、記憶部３２、通信部３３、入出力部３４を備える。
【００３１】
ＣＰＵ３１は、記憶部３２に格納された動作プログラムを実行し、図４に示すように、仮想化モジュール４１（４１Ｘ，４１Ｙ，４１Ｐ）と、仮想化モジュールＡＰＩ４２と、監視管理マネージャ４３とを実現する。
【００３２】
仮想化モジュール４１は、仮想化ソフトウェア２３（の種類）毎に用意され、監視管理クライアント１５からの指示等に従って、対応する仮想化ソフトウェア２３との間でホストマシン２５を介して通信を行う。図４の例では、仮想化ソフトウェア２３として、仮想化ソフトウェアＸと仮想化ソフトウェアＹの２つ（２種類）が用意されている。このため、仮想化モジュール４１も、仮想化ソフトウェアＸによる仮想化環境を監視管理する仮想化ソフトウェアＸ用モジュール４１Ｘと、仮想化ソフトウェアＹによる仮想化環境を監視管理する仮想化ソフトウェアＹ用モジュール４１Ｙの２種類が用意されている。
【００３３】
さらに、非仮想マシンを制御するための非仮想マシン用モジュール４１Ｐが用意されている。
【００３４】
これらのモジュール４１Ｘ、４１Ｙ、４１Ｐは、ソフトウェア本体（仮想化モジュールＡＰＩ４２や監視管理マネージャ４３を含む）の大きな変更なしに、追加や削除が可能なプラグインの形態で用意されており、図面では、プラグインＰ，プラグインＹ，プラグインＰと表している。
【００３５】
一方、仮想化モジュールＡＰＩ（Application Program Interface)４２は、全てのプラグイン４１に共通に配置されており、監視管理クライアント１５からの指示に応答して、仮想化環境を特定し、対応するプラグイン４１に指示を伝達する。この処理を行うため、仮想化モジュールＡＰＩ４２は、監視管理対象の仮想マシン２４の名称と、その仮想マシン２４が動作しているホストマシン２５の名称と、仮想マシン２４を実現している仮想化ソフトウェア（Ｘ，Ｙ）２３とを対応付けたマシン情報テーブルＴ１を格納している。また、マシン情報テーブルＴ１は、監視管理対象の非仮想マシンを特定する情報を含む。
【００３６】
また、仮想化モジュールＡＰＩ４２には、プラグイン４１の追加・削除が容易となるように、例えば、仮想化ソフトウェア２３とプラグイン４１の対応付テーブルＴ２を用意する。新たなプラグイン４１を追加する場合には、例えば、新プラグイン４１と対応する新仮想化ソフトウェア２３の対応を対応付テーブルＴ２に追記する。
これにより、新仮想化ソフトウェア２３により実現される仮想マシン２４を操作する際に、仮想化モジュールＡＰＩ４２が対応付テーブルＴ２を参照し、新プラグイン４１を利用することとなる。
【００３７】
一例として、監視管理対象の仮想化混在システムが、図４に示す構成のときには、対応付テーブルＴ２は、図６（ｂ）に示すものとなる。
また、監視管理対象の仮想化混在システムが、図５に例示する構成のときには、マシン情報テーブルＴ１は、図６（ａ）に示すようなものとなる。即ち、図５の例では、仮想化ソフトウェア２３Ｘの環境には、２台のホストマシンＭＰとＭＱがある。そして、ホストマシンＭＰには、３台の仮想マシンＭＢ〜ＭＤが対応しており、ホストマシンＭＱには、２台の仮想マシンＭＩ〜ＭＪが対応している。また、仮想化ソフトウェア２３Ｙの環境には、１台のホストマシンＭＯが配置されており、３台の仮想マシンＭＥ，ＭＦ，ＭＨが対応している。さらに、非仮想マシンＭＡとＭＧが監視管理対象となっている。図６（ａ）に示すマシン情報テーブルＴ１には、これらの関係が全て登録されている。
【００３８】
監視管理マネージャ４３は、監視管理装置１３の全体の動作を制御する。
【００３９】
図１に示す監視管理クライアント１５は、一般のコンピュータから構成され、ユーザの操作に従って監視管理装置１３に種々の指示を入力し、また、監視管理装置１３から提供された情報を出力する。このため、監視管理クライアント１５には、専用のクライアントモジュールがインストールされている。
【００４０】
次に、上記構成のコンピュータシステムの動作を説明する。
まず、前提として、各仮想マシン２４及び非仮想マシンは、それぞれ、プログラムに従って動作し、必要に応じて、ネットワークＮＷを介して情報の交換も行う。この動作自体は、従来と同様である。
【００４１】
一方、監視管理装置１３は、こうして動作している各マシンを監視及び管理する。
ここで、ユーザがいずれかのマシンの操作を希望したとする。なお、操作とは、例えば、以下のようなものをいう。
（１）性能情報取得。
（２）マシンの状態変更。
ａ）起動、停止。
ｂ）メモリやCPU等のリソース割り当て変更。
ｃ）マシン間のOSイメージの移動(VMwareではVMotion, XenではLiveMigrationと呼ばれる)。
ｄ）OSイメージの新規作成、スナップショットの作成、バックアップ。
ｅ）リソースプールの管理。
（３）ジョブの制御。
（４）パッチ管理。
【００４２】
この場合、ユーザは、監視管理クライアント１５上で、操作対象のマシンの名称（識別情報等でもよい）と実行したい操作を選択（指定）する。クライアントモジュールは、入力内容を検出し、操作対象のマシンを特定するマシン特定情報と操作内容を特定する操作特定情報とを監視管理装置１３に通知する。なお、マシン特定情報と操作特定情報との形式は任意である。
【００４３】
通知に応答し、監視管理装置１３の仮想化モジュールＡＰＩ４２は、図７（ａ）の処理を開始し、まず、通知されたマシン名を引数にマシン情報テーブルＴ１を検索し、対応するホストマシン２５と仮想化ソフトウェア２３の種類を特定する（ステップＳ１１）。なお、マシンが非仮想マシンの場合には、「非仮想マシン」が特定される。次に、仮想化モジュールＡＰＩ４２は、対応付テーブルＴ２を参照して、特定した仮想化ソフトウェア２３（又は非仮想マシン）に対応するプラグイン４１を特定する。
次に、仮想化モジュールＡＰＩ４２は、特定したプラグイン４１に、操作対象のマシンと、特定したホストマシン２５（又は非仮想マシン）と、操作の内容と、要求元とを通知する（ステップＳ１２）。即ち、マシン特定情報と操作特定情報とホストマシン特定情報と、要求元特定情報とを通知する。なお、マシン特定情報と操作特定情報とは、監視管理クライアント１５が通知する情報と実質的に同一であればよく、完全に同一である必要はない。
【００４４】
操作対象のマシンが仮想マシンの場合、仮想化モジュールＡＰＩ４２からプラグイン４１Ｘ又は４１Ｙに上述の通知が行われる。通知を受けたプラグイン４１Ｘ又は４１Ｙは、図７（ｂ）の処理を開始し、まず、通知されたホストマシン２５（又は非仮想マシン）に、通知された操作対象のマシン名と操作内容と要求元とを通知する（ステップＳ１３）。
【００４５】
通知を受けたホストマシン２５は、図８（ａ）の処理を開始し、仮想化ソフトウェア２３に、通知された操作対象のマシンと操作内容と要求元とを通知する（ステップＳ１４）。
【００４６】
通知を受けた仮想化ソフトウェア２３は、図８（ｂ）の処理を開始し、通知された操作対象のマシン（仮想マシン２４）に操作内容と要求元とを通知する（ステップＳ１５）。
【００４７】
通知を受けたマシン（仮想マシン２４）は、通知された操作を行う。
操作が完了すると、マシンは、図９（ａ）の処理を開始し、操作の結果を示す情報と最終送信先（要求元）とを仮想化ソフトウェア２３に通知する（ステップＳ２１）。
【００４８】
通知に応答し、仮想化ソフトウェア２３は、図９（ｂ）の処理を開始し、操作結果情報と最終送信先（要求元）とをホストマシン２５に通知する（ステップＳ２２）。
【００４９】
通知に応答し、ホストマシン２５は、図９（ｃ）の処理を開始し、操作結果情報と最終送信先（要求元）とを対応するプラグイン４１に通知する（ステップＳ２３）。
【００５０】
通知に応答し、プラグイン４１は、図１０（ａ）の処理を開始し、操作結果情報と最終送信先（要求元）とを仮想化モジュールＡＰＩ４２に通知する（ステップＳ２４）。
【００５１】
通知に応答し、仮想化モジュールＡＰＩ４２は、図１０（ｂ）の処理を開始し、操作結果情報を最終送信先（要求元）に通知する（ステップＳ２５）。
【００５２】
一方、操作対象のマシンが非仮想マシンの場合には、仮想化モジュールＡＰＩ４２は、プラグイン４１Ｐを特定し、プラグイン４１Ｐに、特定した非仮想マシンと、操作の内容と、要求元とを通知する。プラグイン４１Ｐは、仮想化モジュールＡＰＩ４２から通知された非仮想マシンに、操作内容と要求元とを通知する。通知を受けた非仮想マシンは、通知された操作を行う。操作が完了すると、非仮想マシンは、操作の結果を示す情報と最終送信先（要求元）とをプラグイン４１Ｐに通知する。プラグイン４１Ｐは、図１０（ａ）の処理を実行し、操作結果情報と最終送信先（要求元）とを仮想化モジュールＡＰＩ４２に通知する（ステップＳ２４）。仮想化モジュールＡＰＩ４２は、図１０（ｂ）の処理を開始し、操作結果情報を最終送信先（要求元）に通知する（ステップＳ２５）。
【００５３】
こうして、監視管理クライアント１５は、任意のマシンを、そのマシンが位置するホストマシン２５やそのマシンの仮想化ソフトウェア２３を意識することなく、操作することができる。
【００５４】
例えば、ユーザの指定した操作対象がマシンＭＢであったと仮定する。図５の仮想化環境の下では、マシンＭＢは、ホストマシンＭＰに位置する仮想マシン２４であり、仮想化ソフトウェア２３は「Ｘ」である。従って、操作の指示は、仮想化モジュールＡＰＩ４２→プラグイン４１Ｘ→ホストマシンＭＰ→仮想化ソフトウェアＸ→仮想マシンＭＢと伝達される。さらに、仮想マシンＭＢからの応答は、仮想マシンＭＢ→仮想化ソフトウェアＸ→ホストマシンＭＰ→プラグイン４１Ｘ→仮想化モジュールＡＰＩ４２→監視管理クライアント１５、と伝達される。
【００５５】
また、例えば、ユーザの指定した操作対象がマシンＭＧであったと仮定する。図５の仮想化環境の下では、マシンＭＧは、非仮想マシンである。従って、操作の指示は、仮想化モジュールＡＰＩ４２→プラグイン４１Ｐ→非仮想マシンＭＧと伝達される。さらに、非仮想マシンＭＧからの応答は、非仮想マシンＭＧ→プラグイン４１Ｐ→仮想化モジュールＡＰＩ４２→監視管理クライアント１５、と伝達される。
【００５６】
このようにして、本実施形態では、マシン情報テーブルＴ１を仮想化モジュールＡＰＩ４２に配置し、操作対象マシンをキーに、マシン情報テーブルＴ１を検索し、検索で得た情報を入力情報に追加し、操作対象マシンの特定に利用する。これにより、ユーザは、詳細な情報を意識することなく、仮想マシン２４と非仮想マシンとを同様に監視管理することが可能となる。
【００５７】
マシン情報テーブルＴ１の作成手法自体は任意であるが、仮想化モジュールＡＰＩ４２が、例えば図１１のフローチャートに示す手順で作成することが望ましい。
【００５８】
仮想化モジュールＡＰＩ４２には、予め、各コンピュータ１１がどの仮想化ソフトウェア２３（ＸとＹのどちら）で仮想化されているかという情報と、そのコンピュータ１１上のホストマシン２５のアドレス（例えば、ＩＰアドレス）が予め登録されている。
【００５９】
仮想化モジュールＡＰＩ４２は、まず、プラグイン４１を１つ特定する（ステップＳ３１）。例えば、プラグイン４１Ｘを特定する。
【００６０】
次に、仮想化モジュールＡＰＩ４２は、特定したプラグイン４１に対応するホストマシン２５（又は非仮想マシン）を１つ特定する（ステップＳ３２）。
【００６１】
次に、仮想化モジュールＡＰＩ４２は、特定したプラグイン４１から特定したホストマシン２５（又は非仮想マシン）宛に、構成情報（ステータス）を問い合わせる情報を送信する（ステップＳ３３）。
【００６２】
ホストマシン２５は、問い合わせを受信すると、この問い合わせを仮想化ソフトウェア２３に伝達する。仮想化ソフトウェア２３は、自己の上で稼働している仮想マシン２４に順次問い合わせ、仮想マシン名（又は識別情報）を取得する。仮想化ソフトウェア２３は、取得した仮想マシン名をホストマシン２５に通知する。ホストマシン２５は、ホストマシン名と取得した仮想マシン名とを対応付けて、プラグイン４１に通知する。非仮想マシンの場合には、同様に、そのマシン名を返信する。
【００６３】
仮想モジュールＡＰＩ４２は、プラグイン４１を介して、ホストマシン名と仮想マシン名の組（又は非仮想マシンの名称）を受信し、一旦記憶する（ステップＳ３４）。こうして、監視管理対象の構成情報が蓄積される。
【００６４】
続いて、特定しているプラグイン４１に対応する全てのホストマシン２５についての処理が終了したか否かを判別し（ステップＳ３５）、処理が終了していれば（ステップＳ３５；Ｙｅｓ）、全てのプラグイン４１についての処理を終了したか否かを判別する（ステップＳ３６）。
【００６５】
ステップＳ３５で、終了していない、即ち、未処理（構成情報を受け取っていない）のホストマシン２５が存在すると判別した場合には（ステップＳ３５；Ｎｏ）、未処理のホストマシン２５を特定し（ステップＳ３７）、ステップＳ３３以下の処理を繰り返す。
【００６６】
また、ステップＳ３６で、終了していない、即ち、未処理（構成情報を受け取っていない）のプラグイン４１が存在すると判別した場合には（ステップＳ３６；Ｎｏ）、未処理のプラグイン４１を特定し（ステップＳ３８）、ステップＳ３２以下の処理を繰り返す。
【００６７】
ステップＳ３７で全てのプラグイン４１について処理が終了したと判別すると（ステップＳ３６；Ｙｅｓ）、仮想モジュールＡＰＩ４２は、ステップＳ３４で蓄積した構成情報を用いて、マシン情報テーブルＴ１を作成する（ステップＳ３９）。
【００６８】
図１１のマシン情報テーブル作成処理を、例えば、タイマ割り込み等に応じて周期的に実行することにより、監視管理対象のシステムの構成の変化を反映した監視管理が可能となる。
【００６９】
一例として、図５に示す構成において、ホストマシンＭＯに位置していた仮想マシンＭＨが、図１２に示すように、ホストマシンＭＱに移動したと仮定する。
【００７０】
この変更が発生した後、図１１の処理が開始すると、仮想化モジュールＡＰＩ４２は、例えば、プラグイン４１Ｘを指定し（ステップＳ３１）、続いて、ホストマシンＭＰを指定し（ステップＳ３２）、問い合わせを行い（ステップＳ３３）、その構成情報を取得して記憶する（ステップＳ３４）。続いて、仮想化モジュールＡＰＩ４２は、未処理のホストマシンＭＱを指定し（ステップＳ３７）、問い合わせを行い（ステップＳ３３）、その構成情報を取得して記憶する（ステップＳ３４）。この段階では、ホストマシンＭＰと仮想マシンＭＢ〜ＭＤが同一の仮想化ソフトウェアＸ上に配置されているとの構成情報と、ホストマシンＭＱと仮想マシンＭＨ、ＭＩ、ＭＪとが同一の仮想化ソフトウェアＸ上に配置されているとの構成情報が記憶される。
【００７１】
続いて、未処理のプラグイン４１Ｙを指定し（ステップＳ３８）、ホストマシンＭＯを指定し（ステップＳ３２）、問い合わせを行い（ステップＳ３３）、ホストマシンＭＯと仮想マシンＭＥとＭＦとが仮想化ソフトウェアＹ上に配置されているとの構成情報を取得しこれを記憶する（ステップＳ３４）。
【００７２】
続いて、未処理のプラグイン４１Ｐを指定し（ステップＳ３８）、マシンＭＡを指定し（ステップＳ３２）、問い合わせを行い（ステップＳ３３）、非仮想マシンＭＡの情報を取得しこれを記憶する（ステップＳ３４）。この段階では、他に非仮想マシンが存在しないので、ステップＳ３５，Ｓ３６でＹｅｓと判別され、構成情報を収集する処理が終了する。
【００７３】
続いて、得られた構成情報に基づいて、例えば、図１３に示すように、マシン情報テーブルＴ１が生成される（ステップＳ３９）。
【００７４】
仮想化モジュールＡＰＩ４２又は監視管理クライアント１５は、新たに生成されたマシン情報テーブルＴ１と先に生成したマシン情報テーブルＴ１とを比較することにより、例えば、仮想マシンＭＨがホストマシンＭＯからＭＱに移動し、非仮想マシンＭＧが除去されたことが判別できる。
【００７５】
次に、図１４に示すように、監視管理対象に、仮想化ソフトウェアＺにより、仮想化されたコンピュータ１１を追加する場合の処理を説明する。
【００７６】
この場合、まず、新たな仮想化ソフトウェアＺに対応するプラグイン（仮想化モジュール）４１Ｚを生成し、監視管理装置１３に追加する。さらに、仮想化モジュールＡＰＩ４２の対応付テーブルＴ２に、仮想化ソフトウェア４１Ｚとプラグイン４１Ｚの組を登録する。また、プラグイン４１Ｚの通信先として、追加する仮想マシンサーバのホストマシン（ここでは、ＭＳとする）のアドレスを指定する。
【００７７】
このようにすれば、プラグイン４１Ｚを追加した後、図１１の処理を行う際に、ステップＳ３１で、プラグイン４１Ｚが指定され、さらに、ステップＳ３２で、ホストマシンＭＳが指定され、ホストマシンＭＳからプラグイン４１Ｚを介して、仮想化ソフトウェアＺ上のホストマシンＭＳと仮想マシンの構成情報が得られ、マシン情報テーブルＴ１に追加される。以後、追加された仮想化ソフトウェアＺ上のホストマシンＭＳと各仮想マシン２４への操作が可能となる。
【００７８】
以上説明したように、本実施の形態によれば、監視管理装置、より正確には、監視管理ソフトウェアが、「マシン名、ホストマシン、仮想化ソフトウェア」をテーブル等で保持し、マシンごとにその属性を自動で検出し、テーブルを再設定する。これにより、各仮想マシン２４及び／又は非仮想マシンが別の属性に変更された場合であっても、「ホストマシン、仮想化ソフトウェア」を意識することなく、必要な指示や操作を行うことができる。
【００７９】
また、環境の差異を吸収する層である仮想化モジュールがプラグイン形式であるため、プラグイン４１を追加すれば、任意の仮想化ソフトウェア２３に対応可能である。
【００８０】
なおこの発明は、上記実施の形態に限定されず、種々の変形及び応用が可能である。例えば、上述した各部材の数、方式などは任意に変更可能である。
例えば、上記実施の形態においては、仮想マシン２４自身が、問い合わせに応じて、自己の情報を監視管理装置１３に返信したが、例えば、仮想化ソフトウェア２３或いは仮想マシン２４にエージェントを配置し、エージェントが、要求された情報を取得して返信するように構成してもよい。また、ユーザの指示を、監視管理クライアント１５を介して監視管理装置１３に入力したが、監視管理クライアント１５の入出力部３４から直接入力する等してもよい。
【符号の説明】
【００８１】
１１（１１１〜１１ｎ）…監視管理対象コンピュータ
１３…監視管理装置
１５…監視管理クライアント
２２…ハードウェア
２３…仮想化ソフトウェア
２４…仮想マシン
２５…ホストマシン
３１…ＣＰＵ
３２…記憶部
３３…通信部
３４…入出力部
４１（４１Ｘ，４１Ｙ，４１Ｐ，４１Ｚ）…プラグイン（仮想化モジュール）
４２…仮想化モジュールＡＰＩ
４３…監視管理マネージャ
【図１】
2010262545.tif 000003
【図２】
2010262545.tif 000004
【図３】
2010262545.tif 000005
【図４】
2010262545.tif 000006
【図５】
2010262545.tif 000007
【図６】
2010262545.tif 000008
【図７】
2010262545.tif 000009
【図８】
2010262545.tif 000010
【図９】
2010262545.tif 000011
【図１０】
2010262545.tif 000012
【図１１】
2010262545.tif 000013
【図１２】
2010262545.tif 000014
【図１３】
2010262545.tif 000015
【図１４】
2010262545.tif 000016