(57)【要約】【課題】既知の障害の予兆に加えて未知の障害の予兆を検知し、障害の予兆が生じた部位を特定する。【解決手段】センサの測定値から計算機のハードウェアの障害の予兆を検知する障害予兆検知部と、ハードウェアの構成要素毎に設置されて構成要素の状態量を測定するセンサを備え、障害予兆検知部は、ＯＳからアプリケーションが使用するプロセッサの負荷情報を取得する稼動情報取得部と、センサから構成要素毎に測定値を取得するセンサ情報処理部と、アプリケーションを実行したときの構成要素毎のセンサの測定値を負荷情報毎に予め対応させてアプリケーションの特性情報として格納した特性データ格納部と、アプリケーション毎の特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を構成要素毎に求め、現在の構成要素毎の状態量を現在値として求め、予測値と現在値の差分の絶対値が許容誤差以上のときに障害の予兆を判定する。【選択図】図１
2010079811.tif 000002
【特許請求の範囲】
【請求項１】
演算処理を行うプロセッサと、前記プロセッサが実行するアプリケーション及びＯＳを記憶するメモリと、を備えた計算機と、
前記計算機のハードウェアの構成要素毎にそれぞれ設けられて前記構成要素の状態量を測定する複数のセンサと、
前記センサの測定値に基づいて前記ハードウェアの障害の予兆を検知する障害予兆検知部と、を備えた計算機システムにおいて、
前記障害予兆検知部は、
前記ＯＳから前記アプリケーションが使用するプロセッサの負荷情報を取得する稼動情報取得部と、
前記センサから構成要素毎に測定値を取得するセンサ情報処理部と、
前記アプリケーションを実行したときの前記プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させて前記アプリケーションの特性情報として格納した特性データ格納部と、
前記稼動情報取得部が取得した現在の負荷情報と、前記アプリケーションに対応する特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求め、前記センサ情報処理部から現在の構成要素毎の状態量を現在値として求め、前記構成要素毎の前記予測値と現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定する障害予兆判定処理部と、
前記差分の絶対値が前記許容誤差以上となった前記構成要素を障害の予兆が発生した構成要素として特定する障害部位判定処理部と、
を備えたことを特徴とする計算機システム。
【請求項２】
前記プロセッサは複数のアプリケーションを実行し、
前記稼動情報取得部は、前記アプリケーション毎に使用するプロセッサの負荷情報をそれぞれ取得し、
前記特性データ格納部は、前記複数のアプリケーションに対応する特性情報をそれぞれ格納し、
障害予兆判定処理部は、
前記稼動情報取得部がアプリケーション毎に取得した現在の負荷情報と、前記アプリケーション毎の特性情報から現在のアプリケーション毎の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求め、前記アプリケーション毎に求めた予測値の和と、前記センサ情報処理部から現在の構成要素の状態量を現在値として求め、前記構成要素毎の前記予測値の和と現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記プロセッサは、仮想計算機に仮想プロセッサを提供する仮想化機構を実行し、前記アプリケーションは前記仮想計算機で実行され、
前記稼動情報取得部は、前記アプリケーションが使用する仮想プロセッサの負荷情報を取得し、
前記特性データ格納部は、
前記アプリケーションを実行したときの前記仮想プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させた情報を前記アプリケーションの特性情報として格納したことを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記プロセッサは、複数の仮想計算機のそれぞれに仮想プロセッサを提供する仮想化機構を実行し、前記複数のアプリケーションは前記仮想計算機でそれぞれ実行され、
前記稼動情報取得部は、前記アプリケーション毎に使用する仮想プロセッサの負荷情報をそれぞれ取得し、
前記特性データ格納部は、
前記複数のアプリケーションのそれぞれについて、前記アプリケーションを実行したときの前記仮想プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させた情報を前記アプリケーション毎の特性情報として格納したことを特徴とする請求項２に記載の計算機システム。
【請求項５】
前記障害予兆判定処理部は、
前記稼動情報取得部が取得したプロセッサの負荷情報に対応するアプリケーションを特定し、前記特性データ格納部に前記特定したアプリケーションの特性情報が存在しない場合には、前記構成要素毎の前記予測値と現在値の差分の絶対値と、予め設定した許容誤差との比較を禁止することを特徴とする請求項１に記載の計算機システム。
【請求項６】
演算処理を行うプロセッサと、前記プロセッサが実行するアプリケーション及びＯＳを記憶するメモリと、を備えた計算機と、前記計算機のハードウェアの構成要素毎にそれぞれ設けられて前記構成要素の状態量を測定する複数のセンサと、を備えた計算機システムで前記センサの測定値に基づいて前記ハードウェアの障害の予兆を検知する障害の予兆検知方法において、
前記プロセッサがアプリケーションを実行したときに前記アプリケーションが使用するプロセッサの負荷情報を前記ＯＳから取得するステップと、
前記プロセッサが前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を取得するステップと、
前記プロセッサが、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納するステップと、
前記プロセッサが、アプリケーションに使用されるプロセッサの現在の負荷情報を前記ＯＳから取得し、前記アプリケーションに対応する特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求めるステップと、
前記プロセッサが前記センサから現在の構成要素毎の状態量を現在値として取得するステップと、
前記プロセッサが前記構成要素毎の前記予測値と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定するステップと、
前記プロセッサは前記差分の絶対値が前記許容誤差以上となった前記構成要素を障害の予兆が発生した構成要素として特定するステップと、
を含むことを特徴とする計算機システムの障害の予兆検知方法。
【請求項７】
前記プロセッサは複数のアプリケーションを実行し、
前記プロセッサがアプリケーションを実行したときに前記アプリケーションが使用するプロセッサの負荷情報を前記ＯＳから取得するステップは、
前記アプリケーション毎に使用するプロセッサの負荷情報をそれぞれ取得し、
前記プロセッサが、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納するステップは、
前記複数のアプリケーションに対応する特性情報をそれぞれ格納し、
前記プロセッサが、アプリケーションに使用されるプロセッサの現在の負荷情報を前記ＯＳから取得し、前記アプリケーションに対応する特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求めるステップは、
前記複数のアプリケーション毎に取得した現在の負荷情報と、前記アプリケーション毎の特性情報から現在のアプリケーション毎の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求めてから、前記アプリケーション毎の予測値の和を求め、
前記プロセッサが前記構成要素毎の前記予測値と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定するステップは、
前記プロセッサが前記構成要素毎の前記予測値の和と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定することを特徴とする請求項６に記載の計算機システムの障害の予兆検知方法。
【請求項８】
前記プロセッサは、仮想計算機に仮想プロセッサを提供する仮想化機構を実行し、前記アプリケーションは前記仮想計算機で実行され、
前記負荷情報は、前記プロセッサが前記アプリケーションが使用する仮想プロセッサの負荷情報を取得し、
前記プロセッサが、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納するステップは、
前記アプリケーションを実行したときの前記仮想プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納することを特徴とする請求項６に記載の計算機システムの障害の予兆検知方法。
【請求項９】
前記プロセッサは、複数の仮想計算機のそれぞれに仮想プロセッサを提供する仮想化機構を実行し、前記複数のアプリケーションは前記仮想計算機でそれぞれ実行され、
前記負荷情報は、前記プロセッサが前記アプリケーションが使用する仮想プロセッサの負荷情報を取得し、
前記プロセッサが、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納するステップは、
前記複数のアプリケーションのそれぞれについて、前記アプリケーションを実行したときの前記仮想プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させた情報を前記アプリケーション毎の特性情報としてストレージ装置に格納したことを特徴とする請求項７に記載の計算機システムの障害の予兆検知方法。
【請求項１０】
前記プロセッサが前記構成要素毎の前記予測値と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定するステップは、
前記プロセッサの負荷情報に対応するアプリケーションを特定し、前記特性データ格納部に前記特定したアプリケーションの特性情報が存在しない場合には、前記構成要素毎の前記予測値と現在値の差分の絶対値と、予め設定した許容誤差との比較を禁止することを特徴とする請求項６に記載の計算機システムの障害の予兆検知方法。
【請求項１１】
演算処理を行うプロセッサと、前記プロセッサが実行するアプリケーション及びＯＳを記憶するメモリと、を備えた計算機と、前記計算機のハードウェアの構成要素毎にそれぞれ設けられて前記構成要素の状態量を測定する複数のセンサと、を備えて前記センサの測定値に基づいて前記ハードウェアの障害の予兆を検知するプログラムにおいて、
前記アプリケーションを実行したときに前記アプリケーションが使用するプロセッサの負荷情報を前記ＯＳから取得する手順と、
前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を取得する手順と、
前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納する手順と、
前記アプリケーションに使用されるプロセッサの現在の負荷情報を前記ＯＳから取得し、前記アプリケーションに対応する特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求める手順と、
前記センサから現在の構成要素毎の状態量を現在値として取得する手順と、
前記構成要素毎の前記予測値と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定する手順と、
前記差分の絶対値が前記許容誤差以上となった前記構成要素を障害の予兆が発生した構成要素として特定する手順と、
を前記計算機に機能させることを特徴とするプログラム。
【請求項１２】
前記プロセッサは複数のアプリケーションを実行し、
前記アプリケーションを実行したときに前記アプリケーションが使用するプロセッサの負荷情報を前記ＯＳから取得する手順は、
前記アプリケーション毎に使用するプロセッサの負荷情報をそれぞれ取得し、
前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納する手順は、
前記複数のアプリケーションに対応する特性情報をそれぞれ格納し、
前記アプリケーションに使用されるプロセッサの現在の負荷情報を前記ＯＳから取得し、前記アプリケーションに対応する特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求める手順は、
前記複数のアプリケーション毎に取得した現在の負荷情報と、前記アプリケーション毎の特性情報から現在のアプリケーション毎の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求めてから、前記アプリケーション毎の予測値の和を求め、
前記構成要素毎の前記予測値と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定する手順は、
前記プロセッサが前記構成要素毎の前記予測値の和と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定することを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記プロセッサは、仮想計算機に仮想プロセッサを提供する仮想化機構を実行し、前記アプリケーションは前記仮想計算機で実行され、
前記負荷情報は、前記アプリケーションが使用する仮想プロセッサの負荷情報を取得し、
前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納する手順は、
前記アプリケーションを実行したときの前記仮想プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納することを特徴とする請求項１１に記載のプログラム。
【請求項１４】
前記プロセッサは、複数の仮想計算機のそれぞれに仮想プロセッサを提供する仮想化機構を実行し、前記複数のアプリケーションは前記仮想計算機でそれぞれ実行され、
前記負荷情報は、前記アプリケーションが使用する仮想プロセッサの負荷情報を取得し、
前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記アプリケーションを実行したときの前記負荷情報毎に予め対応させて前記アプリケーションの特性情報としてストレージ装置に格納する手順は、
前記複数のアプリケーションのそれぞれについて、前記アプリケーションを実行したときの前記仮想プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させた情報を前記アプリケーション毎の特性情報としてストレージ装置に格納したことを特徴とする請求項１２に記載のプログラム。
【請求項１５】
前記構成要素毎の前記予測値と前記現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定する手順は、
前記プロセッサの負荷情報に対応するアプリケーションを特定し、前記特性データ格納部に前記特定したアプリケーションの特性情報が存在しない場合には、前記構成要素毎の前記予測値と現在値の差分の絶対値と、予め設定した許容誤差との比較を禁止することを特徴とする請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムのハードウェアに障害が発生する予兆を検知する技術に関し、特に、アプリケーションの稼働状況とセンサの出力を監視して自計算機内でハードウェアの障害の予兆を検知する技術に関する。
【背景技術】
【０００２】
計算機のハードウェアに障害が発生したことを検知する手法としては、プロセッサやチップの温度を測定し、温度の測定値が閾値を超えたら障害が発生したと判定するものが広く知られている。
【０００３】
障害が発生してから計算機の切り替えを行うと、実行中のサービス等の停止時間が長期化するため、計算機の障害につながる予兆を検出する技術が提案されている（例えば、特許文献１）。特許文献１に開示される従来例では、同時に複数のＯＳを動作させて、一方のＯＳのアプリケーションから動作中の他方のＯＳやアプリケーションの状態を随時解析し、障害につながる予兆を予め設定したパターンから検出するものである。
【特許文献１】特開２００５−１１５７５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の従来例では、ＯＳやアプリケーションの状態が予め設定した障害の兆候パターンと一致したときに、障害が発生する予兆があると判定している。そして、兆候パターンとしては、割り込みが多発する場合や、アプリケーションの実行が停滞したとき、あるいは、予め記録している定常状態に比べてプロセッサの温度が上昇したとき等を障害の兆候パターンとしている。
【０００５】
しかしながら、上記特許文献１の従来例では、予め設定した兆候パターン以外については障害の予兆を検知することができない、という問題があった。つまり、上記従来例では、既知の障害の兆候パターンのみを検知するものであり、未知の障害の予兆については検知できなかった。特に、計算機の経年劣化によるハードウェアの障害の予兆について予め予兆のパターンを設定するのは難しく、例えば、計算機の基板の回路構成部品が劣化した場合、回路構成部品の種類と基板上の位置によって障害の予兆は異なり、予測不能の予兆が発生する場合もある。
【０００６】
さらに、上記特許文献１の従来例では、予め記録した定常状態に対してプロセッサの温度が上昇した場合には障害の予兆と判定するため、プロセッサに負荷がかかるアプリケーションを複数実行した場合にもプロセッサの温度は定常状態に対して上昇するため、障害の予兆として誤検出する恐れがある。
【０００７】
また、計算機の定常状態はアプリケーション毎に異なり、プロセッサの負荷（使用率）は少ないがディスクのアクセス負荷が高いアプリケーションや、ディスクのアクセス負荷は低いが、プロセッサの負荷と主記憶へのアクセス負荷が共に高いアプリケーションなどが存在する。このように、アプリケーションの種類によって計算機の定常状態が異なるため、上記従来例ではアプリケーションの種類に応じた的確な障害の予兆の判定を行うことができない、という問題があった。
【０００８】
また、上記従来例では、障害の予兆が発生した部位を容易に特定することができない、という問題があった。例えば、障害の予兆として割り込みの多発を検知したとしても、計算機のどの部位に障害の予兆があるのかを特定することはできなかった。
【０００９】
そこで本発明は、上記問題点に鑑みてなされたもので、既知の障害の予兆に加えて未知の障害の予兆を検知し、障害の予兆が生じた部位を特定することを目的とし、また、アプリケーションの種類に応じて障害の予兆を正確に検知することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、演算処理を行うプロセッサと、前記プロセッサが実行するアプリケーション及びＯＳを記憶するメモリと、を備えた計算機と、前記計算機のハードウェアの構成要素毎にそれぞれ設けられて前記構成要素の状態量を測定する複数のセンサと、前記センサの測定値に基づいて前記ハードウェアの障害の予兆を検知する障害予兆検知部と、を備えた計算機システムにおいて、前記障害予兆検知部は、前記ＯＳから前記アプリケーションが使用するプロセッサの負荷情報を取得する稼動情報取得部と、前記センサから構成要素毎に測定値を取得するセンサ情報処理部と、前記アプリケーションを実行したときの前記プロセッサの負荷情報と、前記アプリケーションを実行したときの前記構成要素毎のセンサの測定値を前記負荷情報毎に予め対応させて前記アプリケーションの特性情報として格納した特性データ格納部と、前記稼動情報取得部が取得した現在の負荷情報と、前記アプリケーションに対応する特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を前記構成要素毎に求め、前記センサ情報処理部から現在の構成要素毎の状態量を現在値として求め、前記構成要素毎の前記予測値と現在値の差分の絶対値と、予め設定した許容誤差とを比較して、前記差分の絶対値が前記許容誤差以上となったときに障害の予兆を判定する障害予兆判定処理部と、前記差分の絶対値が前記許容誤差以上となった前記構成要素を障害の予兆が発生した構成要素として特定する障害部位判定処理部と、を備える。
【発明の効果】
【００１１】
したがって、本発明は、計算機を構成する構成要素毎に障害が発生する以前に障害の予兆を、アプリケーションの特性に応じて検知でき、さらに、前記従来例のように予め想定した障害の予兆以外の未知の障害の予兆も検知することが可能となる。特に、経時劣化によって計算機のハードウェアに障害が発生する以前に、障害の予兆をアプリケーションの特性に応じて検知することができ、さらに、障害の予兆が発生した構成要素を特定できるので計算機の保守を容易に行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１３】
図１は、本発明の第１の実施形態を示し、本発明を適用したサーバ装置（計算機システム）のブロック図である。
【００１４】
サーバ装置１０１は、演算処理を行うプロセッサ１０２と、プロセッサ１０２が実行するデータやプログラムを格納する記憶装置（メモリ）１０４と、データやプログラムを保持する内蔵ハードディスク装置１１３と、プロセッサ１０２と記憶装置１０４及び内蔵ハードディスク装置１１３等を接続するチップセット１２０と、サーバ装置１０１の各部に電力を供給する電源装置１１８と、サーバ装置１０１の各部の状態を測定する外部センサ１０３、１０５、１１７，１１９，１２１と、各外部センサから測定値を取得する外部センサ情報取得部１１２と、障害の予兆等を表示する判定結果表示部１１１を主体にして構成される。
【００１５】
外部センサは、例えば、消費電力を測定するセンサで構成され、測定対象のデバイスへの供給電圧と供給電流を測定し、供給電圧と供給電流の積から消費電力を求める。外部センサ１０３は、プロセッサ１０２の消費電力を測定し、外部センサ情報取得部１１２からの要求に基づいて測定した消費電力を送信する。同様に、外部センサ１０５は記憶装置１０４の消費電力を測定し、外部センサ１１７は内蔵ハードディスク装置１１３の消費電力を測定し、外部センサ１１９は電源装置１１８の消費電力を測定し、外部センサ１２１はチップセット１２０の消費電力を測定する。なお、外部センサの構成は、周知の電圧測定回路と電流測定回路を含んで構成すればよい。
【００１６】
複数の外部センサは外部センサ情報取得部１１２に接続される。外部センサ情報取得部１１２は、後述するリポジトリデータ処理部１１０からの要求に基づいて各外部センサから測定値を取得して、リポジトリデータ処理部１１０に送信する。
【００１７】
判定結果表示部１１１は、図示しない表示装置に情報を出力するインターフェースで構成される。
【００１８】
メモリで構成される記憶装置１０４には、オペレーティングシステム（ＯＳ）３１０と、アプリケーションＡ２１０、アプリケーションＢ２１１、アプリケーションＣ２１２がロードされてプロセッサ１０２により実行される。さらに、記憶装置１０４には、障害の予兆を検知するアプリケーション（またはサービス）として障害予兆検知部１０がロードされてプロセッサ１０２により実行される。なお、障害予兆検知部１０はプログラムで構成され、記憶媒体としての内蔵ハードディスク装置１１３に保持されて、プロセッサ１０２によって記憶装置１０４へロードされてから実行される。
【００１９】
障害予兆検知部１０は、外部センサ１０３〜１２１（１０３，１０５、１１７、１１９、１２１を示す。以下同様）の情報（測定値）を取得して内蔵ハードディスク装置１１３に格納するリポジトリデータ処理部（センサ情報処理部）１１０と、サーバ装置１０１で稼動するアプリケーションＡ〜Ｃ２１０〜２１２及びＯＳ３１０の稼動状態に関する情報を取得して内蔵ハードディスク装置１１３に格納する稼動情報採取処理部１０６と、サーバ装置１０１で実行中のアプリケーションの種類に応じて特性データを算出して内蔵ハードディスク装置１１３の特性データリポジトリ１１６に格納する特性データ算出処理部１０７と、リポジトリデータ処理部１１０が取得した外部センサ１０３〜１２１の情報と、稼動情報採取処理部１０６が取得したアプリケーションの稼動状態に関する情報とアプリケーション毎に設定された特性データからサーバ装置１０１に障害の予兆を検知する障害予兆判定処理部１０８と、障害予兆判定処理部１０８が障害の予兆を検知したときには、障害の予兆が発生したサーバ装置１０１の部位を特定する障害部位判定処理部１０９と、から構成される。
【００２０】
内蔵ハードディスク装置１１３には、外部センサ１０３〜１２１の情報を格納するためのセンサ情報リポジトリ１１４と、アプリケーション及びＯＳの稼動状態に関する情報を格納する稼動情報リポジトリ１１５と、アプリケーションＡ２１０〜Ｃ２１２毎に予め設定された特性データを格納する特性データリポジトリ１１６が格納される。
【００２１】
リポジトリデータ処理部１１０は、所定の周期（例えば、１秒）毎に外部センサ情報取得部１１２にデータを要求し、外部センサ１０３〜１２１の測定値を取得する。そして、リポジトリデータ処理部１１０は、取得した外部センサ１０３〜１２１の測定値をセンサ情報リポジトリ１１４に格納するデータに変換してからセンサ情報リポジトリ１１４に格納する。
【００２２】
図２は、センサ情報リポジトリ１１４の一例を示す説明図である。図２において、センサ情報リポジトリ１１４は、一つのエントリに、リポジトリデータ処理部１１０が外部センサ情報取得部１１２から各外部センサ１０３〜１１９の情報を取得したタイムスタンプを格納する時刻２０１と、外部センサ１０３が測定したプロセッサ１０２の消費電力を格納するプロセッサ消費電力２０２と、外部センサ１０５が測定した記憶装置１０４の消費電力を格納する記憶装置消費電力２０３と、外部センサ１１７が測定した内蔵ハードディスク装置１１３の消費電力を格納する内蔵ＨＤＤ消費電力２０４と、外部センサ１２１が測定したチップセット１２０の消費電力を測定するチップセット消費電力２０５と、外部センサ１１９が測定した電源装置１１８の消費電力を格納する電源消費電力２０６から構成される。
【００２３】
リポジトリデータ処理部１１０は、外部センサ１０３〜１２１の情報をセンサ情報リポジトリ１１４のひとつのエントリに変換し、タイムスタンプを付加して内蔵ハードディスク装置１１３のセンサ情報リポジトリ１１４に書き込む。
【００２４】
稼動情報採取処理部１０６は、所定の周期（例えば、１秒）毎に、ＯＳ３１０からプロセッサ１０２の使用率を示すプロセッサ使用率と、内蔵ハードディスク装置１１３の使用率を示すディスクビジー率と、各アプリケーションＡ〜Ｃ毎のプロセッサ使用率を負荷情報として取得して、稼動情報リポジトリ１１５に格納する。
【００２５】
図３は、稼動情報リポジトリ１１５の一例を示す説明図である。図３において、稼動情報リポジトリ１１５は、稼動状態に関する情報を取得したタイムスタンプを格納する時刻３０１と、ＯＳ３１０が測定したプロセッサ使用率を格納するプロセッサ使用率３０２と、ＯＳ３１０が測定したディスク使用率を格納するディスクビジー率３０３と、アプリケーションＡ〜Ｃ毎のプロセッサ使用率を格納する稼動業務情報３０４からひとつのエントリが構成される。
【００２６】
ここで、プロセッサ使用率は、所定時間内で各プロセスやカーネル処理がプロセッサ１０２を占有する時間の比率であり、ＯＳ３１０が取得する値である。また、ディスクビジー率は、単位時間内にサーバ装置１０１が内蔵ハードディスク装置１１３への転送要求の処理に費やした時間の比率を示す値であり、ＯＳ３１０が取得する値である。稼動業務情報３０４は、ＯＳ３１０上の各アプリケーションＡ〜Ｃ毎のプロセッサ使用率を示す。
【００２７】
特性データ算出処理部１０７は、後述するように、サーバ装置１０１の実稼働前のテスト期間などでアプリケーションＡ２１０〜Ｃ２１２を実行したときの稼動状態に関する情報を収集し、収集した情報からプロセッサ使用率に対応する各外部センサ１０３〜１２１の予測値（または推定値）を求めて特性データリポジトリ１１６に格納する。
【００２８】
図４は、特性データリポジトリ１１６の一例を示す説明図である。特性データリポジトリ１１６は、アプリケーションＡ〜Ｃ毎にプロセッサ使用率に対応する各部の消費電力の予測値が予め設定されたものである。なお、図４の例では、プロセッサ使用率を５％毎に設定し、各部の消費電力の予測値を設定したものである。
【００２９】
図４において、特性データリポジトリ１１６は、プロセッサ使用率４０１と、プロセッサ使用率４０１に対応するプロセッサ１０２の消費電力の予測値を格納するプロセッサ消費電力４０２と、プロセッサ使用率４０１に対応する記憶装置１０４の消費電力の予測値を格納する記憶装置消費電力４０３と、プロセッサ使用率４０１に対応する内蔵ハードディスク装置１１３の消費電力の予測値を格納する内蔵ＨＤＤ消費電力４０４と、プロセッサ使用率４０１に対応するチップセット１２０の消費電力の予測値を格納するチップセット消費電力４０５と、プロセッサ使用率４０１に対応する電源装置１１８の消費電力の予測値を格納する電源装置消費電力４０６と、からひとつのエントリが構成される。
【００３０】
特性データリポジトリ１１６は、アプリケーションＡ〜Ｃ毎に予め設定されたものであり、図示の例ではアプリケーションＡの特性データを示すが、アプリケーションＢ、Ｃについても図示しない特性データが予め設定されている。特性データは、例えば、アプリケーションＡのプロセッサ使用率が５％のときに、特性データリポジトリから各部の消費電力予想値は、
プロセッサ１０２の消費電力予測値ＥＰｃｐｕ＝２０ｗ
記憶装置１０４の消費電力予測値ＥＰｍｅｍ＝１０ｗ
内蔵ハードディスク装置１１３の消費電力予測値ＥＰｈｄｄ＝１０ｗ
チップセット１２０の消費電力予測値ＥＰｔｉｐ＝１５ｗ
電源装置１１８の消費電力予測値ＥＰｐｗｒ＝５５ｗ
となる。
【００３１】
図５は、障害予兆検知部１０の処理結果の一例を示すグラフである。図５は、アプリケーションＡ２１０を実行したときの外部センサの測定値（消費電力）と、ＯＳ３１０から取得した稼動情報から特性データリポジトリ１１６に格納されたアプリケーションＡの特性データより求めた消費電力の予測値と時刻の関係を示すグラフである。
【００３２】
図中実線５０１は、外部センサから取得した消費電力を示し、例えば、外部センサ１０３が取得したプロセッサ１０２の消費電力である。そして、破線５０２は各時刻におけるアプリケーションＡ２１０のプロセッサ使用率から特性データリポジトリ１１６の特性データを参照して求めたプロセッサ１０２の消費電力の予測値を示す。
【００３３】
予測値５０２は、例えば、アプリケーションＡのプロセッサ使用率の測定値が２５％のときには、特性データリポジトリ１１６に格納されているアプリケーションＡ２１０の特性データを参照し、プロセッサ使用率＝２５％のエントリに格納されているプロセッサ消費電力４０２の予測値を示す。
【００３４】
そして、障害予兆判定処理部１０８は、リアルタイムで外部センサ１０３〜１２１の測定値５０１と、特性データリポジトリ１１６から求めた消費電力の予測値５０２の差の絶対値が、予め設定した許容誤差Δｅ以上のときに障害の予兆を判定し、障害部位判定処理部１０９に通知する。障害部位判定処理部１０９は、障害の予兆が検知された外部センサの測定対象に障害の予兆が発生したと判定して、判定結果表示部１１１に出力する。測定値（現在値）５０１と予測値５０２の差分の絶対値と所定の許容誤差Δｅを比較することで、監視対象のサーバ装置１０１のデバイスの負荷が過大になって障害の予兆を示した場合と、デバイスが機能しないまたは電力が供給されないために負荷が減少して障害の予兆を示す場合の双方を検知できる。
【００３５】
図５の例では、障害予兆判定処理部１０８が、時刻Ｔａでプロセッサ１０２の消費電力の測定値５０１と消費電力の予測値５０２の差の絶対値が所定の許容誤差Δｅ以上となったことからプロセッサ１０２に障害の予兆があると判定する。図中閾値は、プロセッサ１０２に障害が発生したことを判定する所定値である。この例では、障害予兆検知部１０が時刻Ｔａで障害の予兆を検知するのに対し、プロセッサ１０２の消費電力の測定値５０１が閾値を超えて実際に障害が発生する時刻はＴｂとなり、Ｔｂ−Ｔａの差分だけ障害が発生する以前に管理者などに警告を発し、障害の予兆が生じた部位を通知することができる。
【００３６】
そして、障害予兆検知部１０は、消費電力の測定値５０１と予測値５０２の差分の絶対値が許容誤差Δｅ以上となったか否かを監視するため、既知の障害の予兆だけではなく、未知の障害の予兆も検知することが可能となる。
【００３７】
図６は、リポジトリデータ処理部１１０で行われる処理の一例を示すフローチャートである。リポジトリデータ処理部１１０は、図６のフローチャートを所定の周期（例えば、１秒）毎に実行する。
【００３８】
ステップ６０１では、リポジトリデータ処理部１１０が外部センサ情報取得部１１２に対して、サーバ装置１０１内の全ての外部センサ１０３〜１２１の測定値を要求する。外部センサ情報取得部１１２は各外部センサ１０３〜１２１の測定値を受信してリポジトリデータ処理部１１０に応答する。リポジトリデータ処理部１１０は各センサ１０３〜１２１の測定値を外部センサ情報取得部１１２の応答から取得する。
【００３９】
ステップ６０２では、リポジトリデータ処理部１１０は、外部センサ情報取得部１１２から受信した各外部センサ１０３〜１２１の測定値に、図２で示したようにタイムスタンプ２０１を付加してサーバ装置１０１の各デバイスの消費電力の測定結果としてセンサ情報を生成する。なお、各外部センサ１０３〜１２１とサーバ装置１０１の各デバイスの対応関係は予め設定されたものである。
【００４０】
ステップ６０３では、リポジトリデータ処理部１１０は上記ステップ６０２で生成したセンサ情報を内蔵ハードディスク装置１１３のセンサ情報リポジトリ１１４に格納する。
【００４１】
以上の処理によって、所定の周期毎に各外部センサ１０３〜１２１の測定値はセンサ情報として内蔵ハードディスク装置１１３のセンサ情報リポジトリ１１４に格納されていく。
【００４２】
図７は、稼動情報採取処理部１０６で行われる処理の一例を示すフローチャートである。稼動情報採取処理部１０６は、図７のフローチャートを所定の周期（例えば、１秒）毎に実行する。
【００４３】
ステップ７０１では、稼動情報採取処理部１０６がＯＳ３１０から予め設定した稼動情報を取得する。ここで、ＯＳ３１０から取得する稼動情報としては、図３で示したように、本実施形態ではプロセッサ１０２の使用率と、内蔵ハードディスク装置１１３のディスクビジー率と、各アプリケーションＡ２１０〜Ｃ２１２毎のプロセッサ使用率とする。
【００４４】
ステップ７０２では、稼動情報採取処理部１０６がＯＳ３１０から取得した稼動情報から図３に示した稼動情報リポジトリ１１５に格納するための稼動情報を生成する。稼動情報は、ＯＳ３１０から稼動情報を取得したタイムスタンプを稼動情報に加えて、ひとつのエントリとして生成する。
【００４５】
ステップ７０３では、稼動情報採取処理部１０６が上記ステップ７０２で生成した稼動情報を、内蔵ハードディスク装置１１３の稼動情報リポジトリ１１５に格納する。
【００４６】
以上の処理によって、所定の周期毎にＯＳ３１０が取得した稼動情報は稼動情報として内蔵ハードディスク装置１１３の稼動情報リポジトリ１１５に格納されていく。
【００４７】
図８は、リポジトリデータ処理部１１０と特性データ算出処理部１０７で行われる特性データの生成処理の一例を示すフローチャートである。特性データの生成処理は、後述するように、予め設定された期間（例えば、サーバ装置１０１のテスト期間など）に上記図６、図７の処理で収集したセンサ情報と稼動情報に基づいて行われる。この処理は、サーバ装置１０１の管理者などが指定した期間とアプリケーションの種類について実施される。
【００４８】
ステップ８０１では、リポジトリデータ処理部１１０が図示しない入力装置から特性データを作成する情報の期間とアプリケーションを受け付けて、指定された期間内の稼動情報を稼動情報リポジトリ１１５から読み込んで、特性データ算出処理部１０７へ入力する。
【００４９】
次に、ステップ８０２では、リポジトリデータ処理部１１０が、指定された期間内のセンサ情報をセンサ情報リポジトリ１１４から読み込んで、特性データ算出処理部１０７へ入力する。
【００５０】
ステップ８０３では、特性データ算出処理部１０７が、上記ステップ８０１、８０２で入力された稼動情報とセンサ情報から回帰分析などの公知の手法を用いて指定されたアプリケーションの特性データを算出する。特性データ算出処理部１０７は算出した特性データを、リポジトリデータ処理部１１０に通知する。
【００５１】
ステップ８０４では、リポジトリデータ処理部１１０は、特性データ算出処理部１０７から受け付けた指定のアプリケーションの特性データを内蔵ハードディスク装置１１３の特性データリポジトリ１１６に格納する。
【００５２】
以上の処理により、各アプリケーション毎の特性データを求めて特性データリポジトリ１１６に格納し、各アプリケーションＡ２１０〜Ｃ２１２が稼動した後に、障害予兆判定処理部１０８等がアプリケーション毎の特性データを特性データリポジトリ１１６から参照する。
【００５３】
ここで、特性データを算出するためのデータの取得は図１２で示すようになる。図１２は、アプリケーションＡ２１０のプロセッサ使用率及び消費電力と時刻との関係を示すグラフである。
【００５４】
図中時刻Ｔ１〜Ｔ６まではサーバ装置１０１の試験運用期間を示し、この期間では図７に示した稼動情報の収集と、図６に示したセンサ情報の収集を行い、時刻Ｔ６以降の実運用期間以前に図８に示した特性データの算出処理を実施して特性データリポジトリ１１６にアプリケーション毎の特性データを算出しておく。
【００５５】
試験運用期間のうち、Ｔ１〜Ｔ２とＴ５〜Ｔ６の期間は、複数のアプリケーションＡ２１０〜Ｃ２１２がサーバ装置１０１で実行されているので、特性データの精度を向上させるため複数のアプリケーションが実行されている期間の稼動情報とセンサ情報は、特性データの算出から除外することが好ましい。
【００５６】
特性データを算出するデータ（センサ情報及び稼動情報）は、各アプリケーションＡ２１０〜Ｃ２１２が単独で動作する期間のものを用いる。例えば、アプリケーションＡ２１０の特性データを算出する際には、アプリケーションＡ２１０が単独で実行された時刻Ｔ２〜Ｔ３のセンサ情報と稼動情報を用いる。
【００５７】
特性データ算出処理部１０７は、時刻Ｔ２〜Ｔ３のアプリケーションＡ２１０の稼動情報とセンサ情報をリポジトリデータ処理部１１０から取得して、タイムスタンプが一致する（または最も近い）稼動情報とセンサ情報を一対とする。例えば、図１３で示すように、アプリケーションＡ２１０のプロセッサ１０２の消費電力の特性データを作成する場合では、タイムスタンプが一致または最も近い稼動情報の稼動業務情報３０４（図３参照）の業務Ａの値と、センサ情報のプロセッサ１０２の消費電力２０２（図２）参照を対にして、各タイムスタンプ毎の業務Ａのプロセッサ使用率とプロセッサ１０２の消費電力の関係を生成する。この結果、図１３において、アプリケーションＡ２１０のプロセッサ使用率とプロセッサ１０２の消費電力の関係は図中の点で示される。
【００５８】
そして、特性データ算出処理部１０７は、時刻Ｔ２〜Ｔ３の複数の稼動情報とセンサ情報から得られたアプリケーションＡ２１０のプロセッサ使用率とプロセッサ１０２の消費電力の関係から回帰分析を用いてプロセッサ使用率に対するプロセッサ消費電力４０２の特性データを求める。プロセッサ使用率とプロセッサ消費電力４０２の関係は、アプリケーションＡ２１０の場合。図中実線の特性データで表される。なお、特性データの算出については回帰分析に限らず、公知の手法を用いればよい。そして、特性データ算出処理部１０７が求めたプロセッサ１０２の消費電力をプロセッサ使用率に対応付けて図４に示す特性データリポジトリ１１６に格納する。なお、特性データリポジトリ１１６は、アプリケーションＡ２１０〜Ｃ２１２の種類毎に生成される。
【００５９】
同様に、特性データ算出処理部１０７では、アプリケーションＡ２１０を実行したときの記憶装置１０４の消費電力とプロセッサ使用率に関する特性データと、内蔵ハードディスク装置１１３の消費電力、チップセット１２０の消費電力及び電源装置１１８の消費電力とプロセッサ使用率に関する特性データをそれぞれ算出し、特性データリポジトリ１１６に格納する。
【００６０】
以上の処理により、試験運用期間の稼動情報とセンサ情報からアプリケーションＡ２１０の特性データを求めて特性データリポジトリ１１６に格納する。
【００６１】
サーバ装置１０１で実行するアプリケーションＢ２１１、Ｃ２１２についても上記と同様に試験運用期間の時刻Ｔ３〜Ｔ４、Ｔ４〜Ｔ５の稼動情報とセンサ情報から特性データを求めて、アプリケーション毎に特性データリポジトリ１１６へ格納する。一例を示すと、アプリケーションＢ２１１を実行したときのプロセッサ使用率とプロセッサ消費電力４０２の関係は図１４のようになり、アプリケーションＣ２１２を実行したときのプロセッサ使用率とプロセッサ消費電力４０２の関係は図１５のようになる。
【００６２】
上記のように試験運用期間中の稼動情報とセンサ情報によって特性データ算出処理部１０７が生成したアプリケーションＡ２１０〜Ｃ２１２毎の特性データが特性データリポジトリ１１６に格納される。
【００６３】
そして、図１２に示す時刻Ｔ６以降の実運用期間では、障害予兆判定処理部１０８が特性データリポジトリ１１６に格納されたアプリケーションＡ２１０〜Ｃ２１２毎の特性データを用いてサーバ装置１０１の障害の予兆を検知する。図９〜図１１に障害予兆検知部１０で行われる処理の一例を示すフローチャートを示す。
【００６４】
図９〜図１１は、実運用期間に障害予兆検知部１０で行われる処理の一例を示すフローチャートである。図９〜図１１の処理は所定の周期（例えば、１秒）毎に実行される。
【００６５】
図９のステップ９０１では、稼動情報採取処理部１０６がＯＳ３１０から稼動情報を取得し、取得した稼動情報を障害予兆判定処理部１０８に入力する。ＯＳ３１０から取得する稼動情報は、上記と同様に予め設定された稼動情報であり、図３に示した稼動情報リポジトリ１１５のうち、少なくとも稼動業務情報３０４を含む。
【００６６】
ステップ９０２では、障害予兆判定処理部１０８が入力された稼動情報から稼働中のアプリケーション（業務）を特定する。障害予兆判定処理部１０８は、リポジトリデータ処理部１１０を介して特性データリポジトリ１１６に格納されているアプリケーションを参照する。なお、障害予兆判定処理部１０８が行うアプリケーションの特定は、ＯＳ３１０が管理するプロセス名やプロセスＩＤからアプリケーションを特定すればよい。
【００６７】
ステップ９０３では、障害予兆判定処理部１０８が、ステップ９０２で特定したＯＳ３１０で稼動中のアプリケーションに対応する特性データが特性データリポジトリ１１６に格納されているか否かを判定する。稼働中のアプリケーションに対応する特性データが存在しない場合には処理を終了し、全ての稼働中のアプリケーションについて対応する特性データが存在する場合には図１０の処理へ進む。稼働中のアプリケーションに対応する特性データが存在しない場合には、アプリケーションＡ２１０〜Ｃ２１２毎のプロセッサ使用率に対する各デバイスの消費電力を正確に予測することは難しいので、特性データが存在しないアプリケーションやコマンドが実行されている期間は、障害予兆の判定を禁止する。この期間は、例えば図１２に示す監視除外期間Ｔ７〜Ｔ８、Ｔ９〜Ｔ１０となる。これらの監視除外期間Ｔ７〜Ｔ８、Ｔ９〜Ｔ１０では、例えば、サーバ装置１０１の管理者が行う定期的なシステムメンテナンスなどによって、業務運用とは異なる稼動状態であることが想定される。
【００６８】
次に、図１０のステップ１００１では、リポジトリデータ処理部１１０が上記ステップ９０２で特定されたアプリケーションの特性データを特性データリポジトリ１１６から取得して障害予兆判定処理部１０８へ入力する。
【００６９】
ステップ１００２では、障害予兆判定処理部１０８が外部センサ情報取得部１１２に全ての外部センサの情報を要求して各外部センサ１０３〜１２１のセンサ情報を取得する。
【００７０】
ステップ１００３では、障害予兆判定処理部１０８が、ステップ９０１で取得した稼動情報からサーバ装置１０１の各部の消費電力の予測値を求める。
【００７１】
障害予兆判定処理部１０８は、稼動情報のうち実行中のアプリケーション毎の稼動業務情報を参照し、現在実行中のアプリケーション毎のプロセッサ使用率を取得する。次に、障害予兆判定処理部１０８は、特性データリポジトリ１１６から得たアプリケーション毎の特性データを参照して、アプリケーション毎のプロセッサ使用率に対応する各部の消費電力予測値を求める。
【００７２】
例えば、取得した稼動情報が図３の稼動情報リポジトリ１１５の第１のエントリ（時刻１２：００：０１）に示す値の場合、アプリケーションＡ２１０のプロセッサ使用率＝３０％、アプリケーションＢ２１１のプロセッサ使用率＝５０％である。
【００７３】
アプリケーションＡ２１０のプロセッサ使用率が３０％のときの特性データから各部の消費電力予測値は、
プロセッサ１０２の消費電力予測値ＥＰｃｐｕ（Ａ）＝４０ｗ
記憶装置１０４の消費電力予測値ＥＰｍｅｍ（Ａ）＝１０ｗ
内蔵ハードディスク装置１１３の消費電力予測値ＥＰｈｄｄ（Ａ）＝１０ｗ
チップセット１２０の消費電力予測値ＥＰｔｉｐ（Ａ）＝１５ｗ
電源装置１１８の消費電力予測値ＥＰｐｗｒ（Ａ）＝７５ｗ
となる。ただし、添え字（Ａ）はアプリケーションＡ２１０の識別子となる。
【００７４】
この時刻１２：００：０１の時点では、アプリケーションＢ２１１も実行されているので、障害予兆判定処理部１０８は、アプリケーションＢ２１１のプロセッサ使用率＝５０％に対する各部の消費電力予測値を特性データリポジトリ１１６の特性データから求め、プロセッサ１０２の消費電力予測値ＥＰｃｐｕ（Ｂ）、記憶装置１０４の消費電力予測値ＥＰｍｅｍ（Ｂ）、内蔵ハードディスク装置１１３の消費電力予測値ＥＰｈｄｄ（Ｂ）、チップセット１２０の消費電力予測値ＥＰｔｉｐ（Ｂ）、電源装置１１８の消費電力予測値ＥＰｐｗｒ（Ｂ）として設定する。
【００７５】
そして、障害予兆判定処理部１０８は、アプリケーション毎に求めた各デバイスの消費電力予測値を積算する。アプリケーションがＡ〜ｎまである場合は、サーバ装置１０１の各デバイスの消費電力予測値は、
プロセッサ消費電力予測値ＥＰcpu＝ＥＰcpu（Ａ）＋ＥＰcpu（Ｂ）＋…＋ＥＰcpu（ｎ）
記憶装置消費電力予測値ＥＰmem＝ＥＰmem（Ａ）＋ＥＰmem（Ｂ）＋…＋ＥＰmem（ｎ）
内蔵ＨＤＤ消費電力予測値ＥＰhdd＝ＥＰhdd（Ａ）＋ＥＰhdd（Ｂ）＋…＋ＥＰhdd（ｎ）
チップセット消費電力予測値ＥＰtip＝ＥＰtip（Ａ）＋ＥＰtip（Ｂ）＋…＋ＥＰtip（ｎ）
電源装置消費電力予測値ＥＰpwr＝ＥＰpwr（Ａ）＋ＥＰpwr（Ｂ）＋…＋ＥＰpwr（ｎ）
となる。
【００７６】
このように、障害予兆判定処理部１０８は、取得した稼動情報から特性データを参照してアプリケーション毎の各デバイスの状態量（本実施形態では消費電力）の予測値をリアルタイムで求めて、次のステップ１１０１以降のように各デバイスの状態量の現在値と比較を行う。
【００７７】
次に、図１１のステップ１１０１では、障害予兆判定処理部１０８がプロセッサ１０２の外部センサ１０３の測定値と、上記ステップ１００３で求めたプロセッサ消費電力予測値ＥＰｃｐｕの差分の絶対値が所定の許容誤差Δｅ未満であるか否かを判定する。差分の絶対値が所定の許容誤差Δｅ未満であればプロセッサ１０２の消費電力は正常であると判定してステップ１１０３へ進む。一方、差分の絶対値が所定の許容誤差Δｅ以上であれば障害の予兆が発生したと判定してステップ１１０２に進む。ステップ１１０２では、プロセッサ１０２に障害の予兆が発生したことを障害部位判定処理部１０９に通知し、障害部位判定処理部１０９は判定結果表示部１１１に障害の予兆が発生した部位がプロセッサ１０２であることを通知する。その後、ステップ１１０３に進む。
【００７８】
次に、ステップ１１０３では、障害予兆判定処理部１０８が記憶装置１０４の外部センサ１０５の測定値と、上記ステップ１００３で求めた記憶装置消費電力予測値ＥＰｍｅｍの差分の絶対値が所定の許容誤差Δｅ未満であるか否かを判定する。差分の絶対値が所定の許容誤差Δｅ未満であれば記憶装置１０４の消費電力は正常であると判定してステップ１１０５へ進む。一方、差分の絶対値が所定の許容誤差Δｅ以上であれば障害の予兆が発生したと判定してステップ１１０４に進む。ステップ１１０４では、記憶装置１０４に障害の予兆が発生したことを障害部位判定処理部１０９に通知し、障害部位判定処理部１０９は判定結果表示部１１１に障害の予兆が発生した部位が記憶装置１０４であることを通知する。その後、ステップ１１０５に進む。
【００７９】
次に、ステップ１１０５では、障害予兆判定処理部１０８が内蔵ハードディスク装置１１３の外部センサ１１７の測定値と、上記ステップ１００３で求めた内蔵ハードディスク装置消費電力予測値ＥＰｈｄｄの差分の絶対値が所定の許容誤差Δｅ未満であるか否かを判定する。差分の絶対値が所定の許容誤差Δｅ未満であれば内蔵ハードディスク装置１１３の消費電力は正常であると判定してステップ１１０７へ進む。一方、差分の絶対値が所定の許容誤差Δｅ以上であれば障害の予兆が発生したと判定してステップ１１０６に進む。ステップ１１０６では、内蔵ハードディスク装置１１３に障害の予兆が発生したことを障害部位判定処理部１０９に通知し、障害部位判定処理部１０９は判定結果表示部１１１に障害の予兆が発生した部位が内蔵ハードディスク装置１１３であることを通知する。その後、ステップ１１０７に進む。
【００８０】
次に、ステップ１１０７では、障害予兆判定処理部１０８が電源装置１１８の外部センサ１１９の測定値と、上記ステップ１００３で求めた電源装置消費電力予測値ＥＰｐｗｒの差分の絶対値が所定の許容誤差Δｅ未満であるか否かを判定する。差分の絶対値が所定の許容誤差Δｅ未満であれば電源装置１１８の消費電力は正常であると判定してステップ１１０９へ進む。一方、差分の絶対値が所定の許容誤差Δｅ以上であれば障害の予兆が発生したと判定してステップ１１０８に進む。ステップ１１０８では、電源装置１１８に障害の予兆が発生したことを障害部位判定処理部１０９に通知し、障害部位判定処理部１０９は判定結果表示部１１１に障害の予兆が発生した部位が電源装置１１８であることを通知する。その後、ステップ１１０９に進む。
【００８１】
次に、ステップ１１０９では、障害予兆判定処理部１０８がチップセット１２０の外部センサ１２１の測定値と、上記ステップ１００３で求めたチップセット消費電力予測値ＥＰｔｉｐの差分の絶対値が所定の許容誤差Δｅ未満であるか否かを判定する。差分の絶対値が所定の許容誤差Δｅ未満であればチップセット１２０の消費電力は正常であると判定して処理を終了する。一方、差分の絶対値が所定の許容誤差Δｅ以上であれば障害の予兆が発生したと判定してステップ１１１０に進む。ステップ１１１０では、チップセット１２０に障害の予兆が発生したことを障害部位判定処理部１０９に通知し、障害部位判定処理部１０９は判定結果表示部１１１に障害の予兆が発生した部位がチップセット１２０であることを通知する。その後、処理を終了する。
【００８２】
以上の処理により、現在のプロセッサ１０２の負荷情報（プロセッサ使用率）と予め求めたアプリケーションＡ２１０〜Ｃ２１２毎の特性データから、各デバイスの状態量の予測値を求めて積算した値と、外部センサ１０３〜１２１が測定した現在の各デバイスの状態量の現在値の差分の絶対値が許容誤差Δｅ以上になると、障害予兆判定処理部１０８は障害の予兆を判定して、障害部位判定処理部１０９から障害の予兆が発生した部位（デバイス）を判定結果表示部１１１に表示させる。
【００８３】
これにより、サーバ装置１０１を構成する各デバイスまたは装置に障害が発生する以前に障害の予兆を、アプリケーションの特性に応じて検知でき、さらに、前記従来例のように予め想定した障害の予兆以外の未知の障害の予兆も検知することが可能となる。特に、経時劣化によってサーバ装置１０１のハードウェアに障害が発生する以前に、障害の予兆をアプリケーションの特性に応じて検知することができ、さらに、障害の予兆が発生した部位を特定できるのでサーバ装置１０１の保守を容易に行うことができる。
【００８４】
なお、上記実施形態ではひとつの許容誤差Δｅによって各デバイスまたは各部位の障害の予兆を判定する例を示したが、各デバイス毎に所定の許容誤差を設定してもよい。
【００８５】
また、上記実施形態では外部センサ１０３〜１２１として消費電力を測定するセンサを採用した例を示したが、外部センサ１０３〜１２１としては温度センサや振動センサ（加速度センサ）あるいは冷却ファン等の回転数を測定する回転数センサを採用しても良い。
【００８６】
さらに、外部センサ１０３〜１２１は、全て同一の種類である必要はなく、各デバイス毎に異なる種類のセンサを採用することができる。例えば、プロセッサ１０２には消費電力を測定するセンサと温度を測定するセンサとプロセッサ１０２の冷却ファンの回転数を測定する回転数センサを設け、内蔵ハードディスク装置１１３には温度センサと振動センサを設けるようにしてもよい。この場合、センサの種類毎に許容誤差Δｅを定めればよい。
【００８７】
また、サーバ装置１０１の各デバイスの状態量を測定する外部センサ１０３〜１２１としては、サーバ装置１０１の各デバイスに付加するセンサに限定されるものではなく、各デバイスに内蔵されたセンサを用いるようにしても良い。例えば、プロセッサ１０２に内蔵された温度センサや、内蔵ハードディスク装置１１３に内蔵された回転数センサや温度センサや、チップセット１２０に内蔵された温度センサ等の測定値を用いるようにしてもよい。
【００８８】
また、上記実施形態では、特性データリポジトリ１１６の特性データがプロセッサ使用率を負荷情報のインデックスとして各デバイスの状態量（消費電力）を格納したが、ディスクビジー率やサーバ装置１０１から検出可能なその他の負荷情報をインデックスとして用いることができる。
【００８９】
また、上記実施形態では、特性データリポジトリ１１６の特性データをマップとして格納する例を示したが、関数などとして記憶しておいても良い。
【００９０】
＜第２実施形態＞
図１６は、第２の実施形態を示すサーバ装置のブロック図である。第２の実施形態では、前記第１実施形態に示したサーバ装置１０１で複数の仮想計算機１２０１〜１２０３を実行するもので、仮想計算機１２０１〜１２０３を管理する仮想化機構としてハイパバイザ１２０７を実行する。サーバ装置１０１のハードウェア構成は前記第１実施形態と同様である。ハイパバイザ１２０７及び各仮想計算機１２０１〜１２０３は、記憶装置１０４にロードされてプロセッサ１０２によって実行される。なお、サーバ装置１０１のハードウェア構成は前記第１実施形態の図１と同一であるので、図１６においては主要な構成要素のみを図示し、その他を省略した。
【００９１】
ハイパバイザ１２０７は、サーバ装置１０１のハードウェアリソースを論理的に分割して仮想計算機１２０１〜１２０３を生成する。各仮想計算機１２０１〜１２０３ではＯＳ３１０１〜３１０３がそれぞれ稼動しており、各ＯＳ３１０１〜３１０３上でアプリケーションの稼動状態を検知する稼動情報採取処理部１２０４〜１２０６がそれぞれ実行される。また、各仮想計算機１２０１〜１２０３では、アプリケーションＡ２１０〜Ｃ２１２がそれぞれ実行される。
【００９２】
各仮想計算機１２０１〜１２０３で稼動する稼動情報採取処理部１２０４〜１２０６の機能は、前記第１実施形態の稼動情報採取処理部１０６と同様であり、所定の周期（例えば、１秒）毎に、ＯＳ３１０１〜３１０３からプロセッサの使用率を示すプロセッサ使用率と、内蔵ハードディスク装置１１３の使用率を示すディスクビジー率と、各アプリケーションＡ〜Ｃ毎のプロセッサ使用率を取得して、稼動情報リポジトリ１１５に格納する。なお、各稼動情報採取処理部１２０４〜１２０６がＯＳ３１０１〜３１０３から取得するプロセッサ使用率は、ハイパバイザ１２０７が仮想計算機１２０１〜１２０３に割り当てる仮想プロセッサの使用率を示し、また、各稼動情報採取処理部１２０４〜１２０６がＯＳ３１０１〜３１０３から取得するディスクビジー率は、ハイパバイザ１２０７が仮想計算機１２０１〜１２０３に提供する仮想Ｉ／Ｏに対する値となる。
【００９３】
ハイパバイザ１２０７は、障害予兆判定処理部１２０８と、障害部位判定処理部１２０９と、特性データ算出処理部１２１０と、リポジトリデータ処理部１２１１とを含む。
【００９４】
リポジトリデータ処理部１２１１は、前記第１実施形態のリポジトリデータ処理部１１０と同様に、外部センサ１０３〜１２１の情報（測定値）を取得して内蔵ハードディスク装置１１３に格納する。
【００９５】
特性データ算出処理部１２１０は、前記第１実施形態の特性データ算出処理部１０７と同様に、仮想計算機１２０１〜１２０３で実行中のアプリケーションの種類に応じて特性データを算出して内蔵ハードディスク装置１１３の特性データリポジトリ１１６に格納する。なお、第２の実施形態では、図４に示す特性データリポジトリ１１６のプロセッサ使用率は、ハイパバイザ１２０７が仮想計算機１２０１〜１２０３に割り当てる仮想プロセッサの使用率となる。
【００９６】
障害予兆判定処理部１２０８は、前記第１実施形態の障害予兆判定処理部１０８と同様に、リポジトリデータ処理部１２１１が取得した外部センサ１０３〜１２１の情報と、稼動情報採取処理部１２０４〜１２０６が取得したアプリケーションの稼動状態に関する情報と、アプリケーション毎に設定された特性データリポジトリ１１６の特性データからサーバ装置１０１に障害の予兆を検知する。
【００９７】
障害部位判定処理部１２０９は、前記第１実施形態の障害部位判定処理部１０９と同様に、障害予兆判定処理部１２０８がサーバ装置１０１に障害の予兆を検知したときには、障害の予兆が発生したサーバ装置１０１の部位を特定する。
【００９８】
障害予兆判定処理部１２０８が、前記第１実施形態と同様に、各仮想計算機１２０１〜１２０３の稼動情報採取処理部１２０４〜１２０６が各ＯＳ３１０１〜３１０３から仮想プロセッサ使用率を取得し、アプリケーションＡ２１０〜Ｃ２１２毎の特性データからサーバ装置１０１の各デバイスの状態量の予測値を求める。また、障害予兆判定処理部１２０８は、外部センサ１０３〜１２１から各デバイスの状態量の現在値を求める。そして、障害予兆判定処理部１２０８は、各デバイス毎に状態量の現在値と予測値の差分の絶対値が所定の許容誤差Δｅ以上であれば障害の予兆が発生したと判定する。
【００９９】
第２実施形態においても、前記第１実施形態と同様にして、仮想計算機１２０１〜１２０３で稼動するアプリケーション毎の仮想プロセッサの使用率に基づいて予め設定した特性データから各デバイスの状態量の予測値を求め、状態量の現在値と比較することでサーバ装置１０１の障害の予兆をアプリケーションの特性に応じて的確に判定することが可能となる。これにより、サーバ装置１０１が仮想計算機１２０１〜１２０３を実行する場合であっても、前記第１実施形態と同様に経時劣化に起因するハードウェア障害の予兆を検知し、障害の予兆が発生した部位を特定することができ、サーバ装置１０１の保守を容易に行うことができる。
【０１００】
なお、上記第１及び第２の実施形態においては、障害予兆判定処理部１０８と障害部位判定処理部１０９及び特性データリポジトリ１１６が同一の計算機内にある例を示したが、これに限定されるものではなく、例えば、ネットワークを介して接続された第２の計算機で障害予兆判定処理部１０８と障害部位判定処理部１０９が実行され、ＳＡＮ（Storage Area network）を介して第２の計算機とサーバ装置１０１に接続されたストレージ装置に特性データリポジトリ１１６を格納する計算機システムとしても良い。
【産業上の利用可能性】
【０１０１】
以上のように、本発明はアプリケーションやサービスを提供する計算機システムや計算機に適用することができ、また、計算機のハードウェア障害の予兆を監視するソフトウェアに適用することができる。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１の実施形態を示し、サーバ装置の構成要素を示すブロック図。
【図２】同じく第１の実施形態を示し、センサ情報リポジトリに格納されたセンサ情報の一例を示す説明図。
【図３】同じく第１の実施形態を示し、稼動情報リポジトリに格納された稼動情報。
【図４】同じく第１の実施形態を示し、特性データリポジトリに格納された特性データの一例を示す説明図。
【図５】同じく第１の実施形態を示し、センサ情報の現在値（測定値）と予測値。
【図６】同じく第１の実施形態を示し、リポジトリデータ処理部で行われる処理の一例を示すフローチャートである。
【図７】同じく第１の実施形態を示し、稼動情報採取処理部１０６で行われる処理の一例を示すフローチャートである。
【図８】同じく第１の実施形態を示し、リポジトリデータ処理部１１０と特性データ算出処理部１０７で行われる特性データの生成処理の一例を示すフローチャートである。
【図９】同じく第１の実施形態を示し、サーバ装置の実運用期間に障害予兆検知部で行われる処理の一例を示すフローチャートで、処理の前半部を示す。
【図１０】同じく第１の実施形態を示し、サーバ装置の実運用期間に障害予兆検知部で行われる処理の一例を示すフローチャートで、処理の中間部を示す。
【図１１】同じく第１の実施形態を示し、サーバ装置の実運用期間に障害予兆検知部で行われる処理の一例を示すフローチャートで、処理の後半部を示す。
【図１２】同じく第１の実施形態を示し、アプリケーションＡ〜Ｃを実行したときのプロセッサ使用率及び消費電力と時刻との関係を示すグラフである。
【図１３】同じく第１の実施形態を示し、アプリケーションＡの特性データを示し、プロセッサ使用率及び消費電力と時刻との関係を示すグラフである。
【図１４】同じく第１の実施形態を示し、アプリケーションＢの特性データを示し、プロセッサ使用率及び消費電力と時刻との関係を示すグラフである。
【図１５】同じく第１の実施形態を示し、アプリケーションＣの特性データを示し、プロセッサ使用率及び消費電力と時刻との関係を示すグラフである。
【図１６】第２の実施形態を示し、サーバ装置の構成要素を示すブロック図。
【符号の説明】
【０１０３】
１０  障害予兆検知部
１０２  プロセッサ
１０４  記憶装置
１１３  内蔵ハードディスク装置
１１８  電源装置
１２０  チップセット
１０３，１０５，１１７、１１９、１２１  外部センサ
１０６  稼動情報採取処理部
１０７  特性データ算出処理部
１０８  障害予兆判定処理部
１０９  障害部位判定処理部
１１０  リポジトリデータ処理部
１１４  センサ情報リポジトリ
１１５  稼動情報リポジトリ
１１６  特性データリポジトリ
【図１】
2010079811.tif 000003
【図２】
2010079811.tif 000004
【図３】
2010079811.tif 000005
【図４】
2010079811.tif 000006
【図５】
2010079811.tif 000007
【図６】
2010079811.tif 000008
【図７】
2010079811.tif 000009
【図８】
2010079811.tif 000010
【図９】
2010079811.tif 000011
【図１０】
2010079811.tif 000012
【図１１】
2010079811.tif 000013
【図１２】
2010079811.tif 000014
【図１３】
2010079811.tif 000015
【図１４】
2010079811.tif 000016
【図１５】
2010079811.tif 000017
【図１６】
2010079811.tif 000018