(57)【特許請求の範囲】
【請求項１】
ホスト環境と１つ以上のゲスト環境とを含む仮想化環境において前記ゲスト環境のストール監視を行う監視システムであって、
前記ホスト環境と前記ゲスト環境との間のＩＰＭＩ通信手段と、前記ゲスト環境のストール監視の時間の計測を行うカウンタとを具備する前記仮想化環境向けの監視デバイスと、
前記ホスト環境上で動作する前記ゲスト環境単位の管理を行う管理ソフトウェア層と
を備え、
前記管理ソフトウェア層は、前記監視デバイスのカウンタの設定を行い、前記カウンタによるタイムアウト検出時に、ストール監視の対象でありＣＰＵの割り当てが行われているゲスト環境のうち、タイマ残存値が最小の値となるゲスト環境に対して強制割込みの生成を行う
ことを特徴とする監視システム。
【請求項２】
前記管理ソフトウェア層は、前記ゲスト環境に関する情報を含むタイマ管理情報の更新を契機にして、前記監視デバイスのカウンタの設定を行う
ことを特徴とする請求項１に記載の監視システム。
【請求項３】
前記監視デバイスは、前記ＩＰＭＩ通信手段を介して前記カウンタのタイマをリセットする旨の指示を前記ゲスト環境から受け付ける
ことを特徴とする請求項１又は２に記載の監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視システムに関する。
【背景技術】
【０００２】
障害監視システム及び障害監視方法の一例が特許文献１に記載されている。特許文献１の障害監視システム及び障害監視方法は、被監視プロセスと、被監視プロセスのストールを監視するウォッチドッグタイマ手段とを備えている。特許文献１の障害監視システム及び障害監視方法は、ウォッチドッグタイマ手段が、ウォッチドッグタイマおよびウォッチドッグタイマのランアウトを通知するウォッチドッグタイマランアウト通知手段を含むウォッチドッグタイマプロセスを有する。また、特許文献１の障害監視システム及び障害監視方法は、被監視プロセスに基づいてウォッチドッグタイマのランアウト時間の設定、起動および停止の制御を行うウォッチドッグタイマ起動停止手段を含むタイマ制御プロセスを備えている。そして、特許文献１の障害監視システム及び障害監視方法は、系を強制停止させるシステム強制停止手段を含むウォッチドッグタイマランアウト処理プロセスを備えている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１−２１３７２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、ウォッチドッグタイマによるストール監視は、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）仕様により標準化されており、プラットフォーム上に実装されて利用されてきた。そのため、このような障害監視システム及び障害監視方法は、仮想化環境においてもホスト環境での監視を行うことが可能である。ゲスト環境の監視を同様の手段で行うに際し、ＩＰＭＩインタフェースを複数用意し、各ゲストに割り当てることによりストール監視を行うことは可能である。ここで、ＣＰＵ時間の割り当て状況は、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）から参照することのできないホスト環境上で動作するハイパーバイザに委ねられている。そのため、ＢＭＣがストールと判断する状況が発生しても、ゲスト環境が実際にストールしているのか、あるいはゲスト環境にＣＰＵ時間が割り当てられていないのかの区別が付かない。従って、このような障害監視システム及び障害監視方法は、仮想化環境において誤ってしまい、適切なストール監視を行えないことがある。
【０００５】
一方、特許文献１の障害監視システム及び障害監視方法は、通知プロセスの特定する手段でウォッチドッグタイマのランアウト時に、実行中のプロセスを特定してウォッチドッグタイマのランアウトと同時に処理プロセスに通知する。また、特許文献１の障害監視システム及び障害監視方法は、処理プロセスにおいて判別する手段で特定されたプロセスが、系の中核部のプロセスかどうかを判別し、中核部以外のプロセスのときには、この特定されたプロセスを強制終了させる。そして、特許文献１の障害監視システム及び障害監視方法は、中核部のプロセスのときに、系を強制停止させる。これにより、特許文献１の障害監視システム及び障害監視方法は、ユーザプログラムもストール監視の対象とすることができ、かつ、情報処理系の中核部以外のプロセスのストール時に、系を停止することなく正常な状態に回復できる。しかし、特許文献１の障害監視システム及び障害監視方法は、仮想化環境において適切なストール監視を行えないことがある。
【０００６】
本発明の目的は、上述した課題を解決する監視システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態によると、ホスト環境と１つ以上のゲスト環境とを含む仮想化環境においてゲスト環境のストール監視を行う監視システムであって、ホスト環境とゲスト環境との間のＩＰＭＩ通信手段と、ゲスト環境のストール監視の時間の計測を行うカウンタとを具備する仮想化環境向けの監視デバイスと、ホスト環境上で動作するゲスト環境単位の管理を行う管理ソフトウェア層とを備え、管理ソフトウェア層は、監視デバイスのカウンタの設定を行い、カウンタによるタイムアウト検出時に、ストール監視の対象でありＣＰＵの割り当てが行われているゲスト環境のうち、タイマ残存値が最小の値となるゲスト環境に対して強制割込みの生成を行う。
【発明の効果】
【０００９】
本発明によれば、ＢＭＣを介さないＩＰＭＩインタフェースをゲスト環境用に用意することにより、物理的なＩＰＭＩインタフェースの数に左右されない環境を創生してホスト環境によるＣＰＵ時間の割り当て状況を考慮できるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る一実施形態の障害監視システムのブロック構成図である。
【図２】本発明に係る一実施形態の障害監視方法のフローチャートである。
【図３】本発明に係る一実施形態の障害監視方法のタイミングチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明に係る一実施形態の障害監視システム及び障害監視方法について図面を参照して説明する。図１に示すように、本発明に係る一実施形態の障害監視方法を実行する障害監視システム１０は、ＣＰＵ１１と、メモリ１２と、バス１３と、監視デバイス１４と、とを備えている。また、障害監視システム１０は、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）１５と、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）１６と、を備えている。障害監視システム１０は、ＣＰＵ１１と、メモリ１２と、監視デバイス１４と、ＩＰＭＩ１５と、ＢＭＣ１６とがバス１３により接続している。障害監視システム１０は、監視デバイス１４とメモリ１２上のタイマ管理情報１７を除いて、通常のサーバと同様の構成を有する。
【００１２】
監視デバイス１４は、カウンタ１８と、割り込み生成機能１９と、通信機能２０と、により構成している。カウンタ１８は、ストール監視の時間の計測を行い、タイムアウト判定機能を持つ。割り込み生成機能１９は、ホスト環境（ハイパーバイザ）とゲスト環境との双方への割り込み生成機能を持つ。より具体的に説明すると、割り込み生成機能１９は、ホスト環境へは、カウンタ１８のタイムアウトを契機とした割り込み生成を行い、ゲスト環境からの指示によりゲスト環境に対して割り込みを生成する機能を持つ。
【００１３】
通信機能２０は、通常のＩＰＭＩインタフェースにおける通信手段を実現するものであり、各ゲスト環境向けに多重化する機能を持ち、ホスト環境とゲスト環境とが各々独立した通信を実現する。タイマ管理情報１７は、監視の有無、ＣＰＵ１１の割り当ての有無、タイマ残存値、タイマ最大値をゲスト環境単位の情報として保持する。
【００１４】
障害監視システム１０は、ホスト環境とゲスト環境との間のＩＰＭＩ通信手段に該当する仮想化環境向けの監視デバイス１４と、ホスト環境上で動作する各ゲスト環境単位の管理を担当する管理ソフトウェア層とによりＩＰＭＩ仕様におけるＢＭＣの機能を実現する。監視デバイス１４は、カウント機能と割り込み生成機能と通信機能とを持つ。カウント機能は、ウォッチドッグタイマのカウントを担当し、割り込み生成機能は、ゲスト環境への割り込み生成機能を担当する。
【００１５】
また、通信機能はＩＰＭＩインタフェースに相当しており、ホスト環境とゲスト環境との間の通信を担当し、ゲスト環境単位に独立したアクセスを可能とする。管理ソフトウェア層は、ホスト環境によるゲスト環境へのＣＰＵ割り当て状況に応じたタイマのカウント監視と停止の指示を行うことによりゲスト環境の監視を行う。また、ゲスト環境からのストール監視開始、停止および再カウントの指示に従い、タイマの再設定を行う。管理ソフトウェア層は、ウォッチドッグタイマのカウントによりタイムアウトと検出した時点でゲスト環境への強制割り込み生成を行い、既知のウォッチドッグタイマによる監視と同等の機能を実現する。管理ソフトウェア層によるゲスト環境の監視では、タイマ管理情報１７に基づいて行う。
【００１６】
タイマ管理情報１７には、監視の有無、ＣＰＵ１１の割り当て有無、タイマ残存値、タイマ最大値が含まれ、ゲスト環境単位に登録する。ゲスト環境からの監視開始、監視停止、及び再カウントの指示、あるいはＣＰＵ１１の割り当て変更を契機に、カウンタ１８の進行状況に応じてタイマ管理情報１７の更新を行う。タイマ管理情報１７のエントリ生成と削除とは、ゲスト環境の作成と削除に同期して行う。
【００１７】
タイマ管理情報１７のＣＰＵ割り当ては、ホスト環境による各ゲスト環境へのＣＰＵ割り当てと同期して更新を行う。タイマ管理情報１７の監視の有無は、ゲスト環境からの監視開始と監視停止に同期して変更を行う。タイマ管理情報１７のタイマ残存値の更新は、監視デバイス１４のカウンタ１８の進行状況に応じた更新と、ゲスト環境からの再カウントの指示によりタイマ最大値での置き換えとにより行う。
【００１８】
タイマ管理情報１７のタイマ最大値は、ゲスト環境からの監視開始と同期して更新を行う。これらのタイマ管理情報の更新を契機にして、管理ソフトウェア層は監視デバイス１４のカウンタ１８への設定値の決定を行う。カウンタ１８の設定値の決定は、ストール監視対象であり、かつ、ＣＰＵ１１の割り当てが行われているゲスト環境のうちで、タイマ残存値の最小の値が設定されるように決定する。
【００１９】
次に、障害監視方法について説明する。図２に示すように、タイマ管理情報１７から「割り当て有効かつ監視有効」の条件でゲスト環境を選別する（Ｓ１０１）。選別結果に１個以上のゲスト環境が存在しない場合、カウンタ１８を無効化する（Ｓ１０２→Ｓ１０３）。このとき、選別結果に１個以上のゲスト環境が存在している場合、選別結果からタイマ残存値が最小のゲスト環境を選別する（Ｓ１０２→Ｓ１０４）。
【００２０】
そして、選択したゲスト環境のタイマ残存値をカウンタ１８に設定してカウンタ１８を有効化する（Ｓ１０４→Ｓ１０５）。つまり、カウンタ１８によるタイムアウト検出時は、ストール監視対象であり、かつ、ＣＰＵ１１の割り当てが行われているゲスト環境のうちで、タイマ残存値が最小の値となるゲスト環境に対して強制割り込みの生成を行う。これにより、ＩＰＭＩ仕様におけるストール監視機能と同等の機能を実現できる。
【００２１】
次に、図３に示すように、ホスト２１のホスト環境とゲスト２２のゲスト環境とからの監視デバイス１４へのアクセス例について説明する。ここでは、初期状態として、タイマ管理情報１７に何もエントリが存在しない、すなわち、ゲスト環境が存在しない状態とする。まず、時点ｔ１１から時点ｔ１２の間にゲスト２２への割り当てを開始する。ここでは、ホスト環境がゲスト環境の生成とＣＰＵ時間の割り当てを開始する。このとき、ホスト環境で動作する管理ソフトウェア層は、タイマ管理情報１７に新しいゲスト環境用のエントリを用意し、各情報を設定するが、この時点ではＣＰＵ１１の割り当て有無の情報だけが有効を示す。
【００２２】
時点ｔ１３から時点ｔ１４の間に、ウォッチドッグの初期化を行う。ここでは、タイマ管理情報１７を更新したことにより、管理ソフトウェア層は、更新後のタイマ管理情報１７に基づいて監視デバイス１４のカウンタ１８を設定する。
【００２３】
次に、時点ｔ１５から時点ｔ１６の間に、ウォッチドッグの初期化を行う。ここでは、ゲスト環境がＩＰＭＩ仕様に基づいた既知のストール監視を使用するために、監視デバイス１４の通信機能を介してウォッチドッグの初期化を指示する。このとき、管理ソフトウェア層は、ゲスト環境からのウォッチドッグの初期化指示に従い、タイマ管理情報１７の更新を行う。この時点ｔ１６においては、監視の有無、タイマ最大値を設定し、この初期化時点では、タイマ残存値はタイマ最大値に設定する。
【００２４】
時点ｔ１６において、タイマのカウントを開始する。ここでは、タイマ管理情報１７を更新したことにより、管理ソフトウェア層は更新後のタイマ管理情報１７に基づいて監視デバイス１４のカウンタ１８を設定する。
【００２５】
時点ｔ１７から時点ｔ１８の間に、タイマの再初期化を行う。ここで、ゲスト環境は、ストールすることなく活性化していることを示すために、監視デバイス１４の通信機能を介してウォッチドッグタイマの再初期化を指示する。このとき、管理ソフトウェア層は、ゲスト環境からのウォッチドッグタイマの再初期化指示に従い、該当するゲスト環境のタイマ管理情報１７の更新を行う。そのため、タイマの再初期化になるので、タイマ残存値がタイマ最大値で再設定する。
【００２６】
次に、時点ｔ１９から時点ｔ２０の間に、ゲスト２２への割り当てを停止する。ここでは、ホスト環境がゲスト環境へのＣＰＵ時間の割り当てを停止する。
【００２７】
次に、時点ｔ２１から時点ｔ２２の間に、タイマのカウント停止とカウント値待避を行う。ここでは、ゲスト環境へのＣＰＵ時間の割り当て停止に伴い、監視デバイス１４上のカウンタ１８を一旦停止する。管理ソフトウェア層は、カウンタの進行状況に応じてタイマ管理情報１７の更新を行う。ＣＰＵ時間の割り当てが停止されたゲスト環境のＣＰＵ割り当ての有無を無効に変更し、監視の有無が有効なゲスト環境全てのタイマ残存値を更新する。このとき、更新後のタイマ管理情報に基づいて監視デバイス１４のカウンタ１８を設定するが、他に有効なゲスト環境が存在しないために、カウンタ１８は停止したままとなる。通常は、複数のゲスト環境が存在するために、選ばれたタイマ残存値に従って、カウンタ１８は再度有効化される。
【００２８】
続いて、時点ｔ２３から時点ｔ２４の間に、ゲスト２２への割り当てを再開する。ここでは、ホスト環境がゲスト環境へのＣＰＵ時間の割り当てを再開する。
【００２９】
次に、時点ｔ２５から時点ｔ２６の間に、タイマのカウント値復旧とカウント再開を行う。ここでは、ゲスト環境へのＣＰＵ時間の割り当て再開に伴い、管理ソフトウェア層はタイマ管理情報１７のＣＰＵ時間の割り当て有無を有効に設定する。更新後のタイマ管理情報１７に基づいて監視デバイス１４のカウンタ設定値の選択と設定が行われるが、カウンタ１８は停止した状態であるため、選択されたタイマ残存値に従って、カウンタ１８が再度有効化される。
【００３０】
次に、時点ｔ２７から時点ｔ２８の間に、タイムアウトを行う。ここでは、ゲスト環境からタイマの再初期化指示が一定時間内に到達しない場合は、監視デバイス１４ス上のカウンタ１８がタイムアウトを検出する。監視デバイス１４上の割り込み生成機能がホスト環境に割り込みとしてタイムアウト発生を通知する。ホスト環境は、割り込みを受けて管理ソフトウェア層を動作させる。
【００３１】
次に、時点ｔ２９から時点ｔ３０の間に、強制割り込みの生成指示を行う。ここでは、監視デバイス１４から割り込みにより通知されたタイムアウトの処理を行う。管理ソフトウェア層は、タイマ管理情報１７を参照し、対象となるゲスト環境に対して強制割り込みを発生するよう割り込み生成機能に指示を行う。この強制割り込みの宛先としては、ＣＰＵ時間割り当て有効、かつ、監視対象であるゲスト環境の中で、タイマ残存値が最小であるゲスト環境である。このとき、対象のゲスト環境は１つであるが、該当するゲスト環境が複数存在する場合は、宛先としても複数となる。
【００３２】
そして、時点ｔ３１から時点ｔ３２の間に、強制割り込みを実行する。ここでは、割り込み生成機能は、宛先として指定されたゲスト環境に対して割り込みを生成する。強制割り込みを受けたゲスト環境はストールしていたことを認識し、通常のＩＰＭＩ仕様に基づいたウォッチドッグ監視の処理として、シャットダウンなど定められたストール検出後の処理を実施することになる。
【００３３】
以上、説明したように、本発明の一実施形態の障害監視システム１０によれば、仮想化環境においても、既知のＩＰＭＩ仕様に基づいたウォッチドッグタイマによる監視機能を使用することができる。従って、障害監視システム１０によれば、既存資産を活用した可用性を実現することができる。
【００３４】
また、障害監視システム１０によれば、起動可能なゲスト環境の数を、ＩＰＭＩインタフェースを物理的に搭載している数に限定しないものでできる。
【００３５】
そして、障害監視方法によれば、仮想化環境においても、既知のＩＰＭＩ仕様に基づいたウォッチドッグタイマによる監視機能を使用することができるために、既存資産を活用した可用性を実現することができる。
【００３６】
なお、本発明の障害監視システム及び障害監視方法は、前述した一実施形態に限定するものでなく、適宜な変形や改良等が可能である。
【００３７】
以上述べたように、本発明によれば、ＢＭＣを介さないＩＰＭＩインタフェースをゲスト環境用に用意することにより、物理的なＩＰＭＩインタフェースの数に左右されない環境を創生してホスト環境によるＣＰＵ時間の割り当て状況を考慮できる。以上の結果として、製品の品質の大幅な向上を図れ、本発明の産業上の利用可能性は大といえる。
【００３８】
上記の実施形態の一部、又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００３９】
（付記Ａ）ホスト環境とゲスト環境との間に実装するＩＰＭＩ通信手段に該当する仮想化環境向けの監視デバイスと、前記ホスト環境上で動作する各ゲスト環境単位で担当する管理ソフトウェア層とを含む障害監視システム。
【００４０】
（付記Ｂ）前記監視デバイスは、ウォッチドッグタイマのカウント機能と、前記ゲスト環境への割り込み生成機能と、通信機能とを担当する付記Ａに記載の障害監視システム。
【００４１】
（付記Ｃ）ＩＰＭＩ通信手段に該当する仮想化環境向けの監視デバイスをホスト環境とゲスト環境との間に実装し、管理ソフトウェア層により、前記ホスト環境上で動作する各ゲスト環境単位の管理で担当する障害監視方法。
【符号の説明】
【００４２】
１０  障害監視システム
１４  監視デバイス
１５  ＩＰＭＩ（ＩＰＭＩ通信手段）
１６  ＢＭＣ
２１  ホスト
２２  ゲスト
【図１】
0005998482.tif 000002
【図２】
0005998482.tif 000003
【図３】
0005998482.tif 000004