(57)【要約】【課題】  コンピュータに生じた障害を、異常終了等に至る前に迅速に検知することを可能とする。【解決手段】  コンピュータ１は、実行するプログラム１３２を構成する各プロセス１３２Ａ、ＢがＣＰＵ１１０によって処理開始されてから処理終了するまでにわたって、プロセッサ使用時間とプロセッサ不使用時間とを順次複数回計測して取得し、所定の統計処理に従って、遷移時間８０２及び状態待機時間８０３を算出して記憶する。ＣＰＵ１１０により前記プロセスのいずれかが処理されているときに、当該プロセスについて、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測して、逐次当該プロセスについて記憶されている遷移時間８０２及び状態待機時間８０３と比較し、当該比較結果が所定の判定基準を満たしていないと判定した場合に、当該プロセス処理中に障害が発生したと判定する。【選択図】  図６
2011175570.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとを備え、前記プロセッサによって、前記メモリに記憶されている少なくとも一のソフトウェアプログラムを構成している複数のプロセスを処理して前記ソフトウェアプログラムを実行するコンピュータであって、
各前記プロセスについて、当該プロセスが前記プロセッサによって処理開始されてから処理終了するまでにわたって、前記プロセッサが前記プロセスを処理している時間であるプロセッサ使用時間と、前記プロセッサが前記プロセスの処理を停止している時間であるプロセッサ不使用時間とを順次複数回計測して取得し、所定の統計処理に従って、各前記プロセッサ使用時間の統計的基準値であるプロセッサ使用時間基準値と、各前記プロセッサ不使用時間の統計的基準値であるプロセッサ不使用時間基準値とを、各前記プロセスについて算出して記憶するプロセッサ処理基準値取得部と、
前記プロセッサにより前記ソフトウェアプログラムを構成する前記プロセスのいずれかが処理されているときに、当該プロセスについて、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測して、逐次当該プロセスについて記憶されている前記プロセッサ使用時間基準値及び前記プロセッサ不使用時間基準値と比較し、当該比較結果が所定の判定基準を満たしていないと判定した場合に、当該プロセス処理中に障害が発生したと判定する基準値比較処理部と、を備えている、
ことを特徴とするコンピュータ。
【請求項２】
請求項１に記載のコンピュータであって、各前記プロセスに当該プロセッサを割り当てる処理を行うプロセス割当て部をさらに有し、前記プロセッサ処理基準値取得部及び基準値比較処理部は、前記プロセス割当て部の動作を監視することにより、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測する、ことを特徴とするコンピュータ。
【請求項３】
請求項１に記載のコンピュータであって、前記基準値比較処理部が、前記プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値とを比較し、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値との差が所定値を越えていると判定した場合、当該プロセス処理中に障害が発生したと判定する、ことを特徴とするコンピュータ。
【請求項４】
請求項１に記載のコンピュータであって、前記基準値比較処理部が、前記プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ不使用時間計測値と所定の不使用時間閾値とを比較し、前記プロセッサ不使用時間計測値が前記所定の閾値を越えていると判定した場合、当該プロセス処理中に障害が発生したと判定する、ことを特徴とするコンピュータ。
【請求項５】
請求項１に記載のコンピュータであって、前記基準値比較処理部が、前記プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ不使用時間計測値と所定の不使用時間閾値とを比較して当該不使用時間閾値を越えていないと判定し、さらに、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値とを比較し、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値との差が所定値を越えていないと判定した場合、当該プロセス処理中に障害が発生したと判定する、ことを特徴とするコンピュータ。
【請求項６】
プロセッサとメモリとを備え、前記プロセッサによって、前記メモリに記憶されている少なくとも一のソフトウェアプログラムを構成している複数のプロセスを処理して前記ソフトウェアプログラムを実行するコンピュータの障害検知方法であって、前記プロセッサが、
各前記プロセスについて、当該プロセスが前記プロセッサによって処理開始されてから処理終了するまでにわたって、前記プロセッサが前記プロセスを処理している時間であるプロセッサ使用時間と、前記プロセッサが前記プロセスの処理を停止している時間であるプロセッサ不使用時間とを順次複数回計測して取得し、所定の統計処理に従って、各前記プロセッサ使用時間の統計的基準値であるプロセッサ使用時間基準値と、各前記プロセッサ不使用時間の統計的基準値であるプロセッサ不使用時間基準値とを、各前記プロセスについて算出して記憶し、
前記プロセッサにより前記ソフトウェアプログラムを構成する前記プロセスのいずれかが処理されているときに、当該プロセスについて、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測して、逐次当該プロセスについて記憶されている前記プロセッサ使用時間基準値及び前記プロセッサ使用時間基準値と比較し、当該比較結果が所定の判定基準を満たしていないと判定した場合に、当該プロセス処理中に障害が発生したと判定する、
ことを特徴とするコンピュータの障害検知方法。
【請求項７】
請求項６に記載のコンピュータの障害検知方法であって、前記プロセッサが、各前記プロセスへの当該プロセッサの割り当て状況を監視することにより、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測する、ことを特徴とするコンピュータの障害検知方法。
【請求項８】
請求項６に記載のコンピュータの障害検知方法であって、前記プロセッサが、当該プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値とを比較し、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値との差が所定値を越えていると判定した場合、当該プロセス処理中に障害が発生したと判定する、ことを特徴とするコンピュータの障害検知方法。
【請求項９】
請求項６に記載のコンピュータの障害検知方法であって、前記プロセッサが、当該プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ不使用時間計測値と所定の不使用時間閾値とを比較し、前記プロセッサ不使用時間計測値が前記所定の閾値を越えていると判定した場合、当該プロセス処理中に障害が発生したと判定する、ことを特徴とするコンピュータの障害検知方法。
【請求項１０】
請求項６に記載のコンピュータの障害検知方法であって、前記プロセッサが、当該プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ不使用時間計測値と所定の不使用時間閾値とを比較して当該不使用時間閾値を越えていないと判定し、さらに、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値とを比較し、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値との差が所定値を越えていないと判定した場合、当該プロセス処理中に障害が発生したと判定する、ことを特徴とするコンピュータの障害検知方法。
【請求項１１】
プロセッサとメモリとを備え、前記プロセッサによって、前記メモリに記憶されている少なくとも一のソフトウェアプログラムを構成している複数のプロセスを処理して前記ソフトウェアプログラムを実行するコンピュータにおいて、前記プロセッサに、
各前記プロセスについて、当該プロセスが前記プロセッサによって処理開始されてから処理終了するまでにわたって、前記プロセッサが前記プロセスを処理している時間であるプロセッサ使用時間と、前記プロセッサが前記プロセスの処理を停止している時間であるプロセッサ不使用時間とを順次複数回計測して取得し、所定の統計処理に従って、各前記プロセッサ使用時間の統計的基準値であるプロセッサ使用時間基準値と、各前記プロセッサ不使用時間の統計的基準値であるプロセッサ不使用時間基準値とを、各前記プロセスについて算出して記憶するステップと、
前記プロセッサにより前記ソフトウェアプログラムを構成する前記プロセスのいずれかが処理されているときに、当該プロセスについて、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測して、逐次当該プロセスについて記憶されている前記プロセッサ使用時間基準値及び前記プロセッサ使用時間基準値と比較し、当該比較結果が所定の判定基準を満たしていないと判定した場合に、当該プロセス処理中に障害が発生したと判定するステップと、を実行させる、
ことを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムであって、前記プロセッサに、各前記プロセスへの当該プロセッサの割り当て状況を監視することにより、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測するステップを実行させる、ことを特徴とするプログラム。
【請求項１３】
請求項１１に記載のプログラムであって、前記プロセッサに、当該プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値とを比較し、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値との差が所定値を越えていると判定した場合、当該プロセス処理中に障害が発生したと判定するステップを実行させる、ことを特徴とするプログラム。
【請求項１４】
請求項１１に記載のプログラムであって、前記プロセッサに、当該プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ不使用時間計測値と所定の不使用時間閾値とを比較し、前記プロセッサ不使用時間計測値が前記所定の閾値を越えていると判定した場合、当該プロセス処理中に障害が発生したと判定するステップを実行させる、ことを特徴とするプログラム。
【請求項１５】
請求項１１に記載のプログラムであって、前記プロセッサに、当該プロセッサによるいずれかの前記プロセスの処理中に、前記プロセッサ不使用時間計測値と所定の不使用時間閾値とを比較して当該不使用時間閾値を越えていないと判定し、さらに、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値とを比較し、前記プロセッサ使用時間計測値と、対応する前記プロセッサ使用時間基準値との差が所定値を越えていないと判定した場合、当該プロセス処理中に障害が発生したと判定するステップを事項させる、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ、コンピュータの障害検知方法、及びプログラムに係わり、特にコンピュータに生じた障害を、異常終了等に至る前に迅速に検知することを可能とするコンピュータ、コンピュータの障害検知方法、及びプログラムに関する。
【背景技術】
【０００２】
高可用性システム（High Availability System、以下「ＨＡシステム」という。）と呼ばれるコンピュータは、障害が発生した場合でもシステムを停止させず継続して稼働させることができるように設計されたシステム、あるいは、障害が発生して停止を余儀なくされた場合でも、復旧させるまでの時間が可及的に短縮されるように設計されたシステムである。このため、ＨＡシステムでは、例えば機能ブロックの主要な部分を冗長化することにより、障害発生時には障害発生部位を切り離し、正常な部位を利用して稼働継続することにより稼働率を高めている。このような障害発生時対応を実現するためには、システム内の障害発生部位を迅速かつ適切に検知することができるように構成することが重要である。
【０００３】
コンピュータの障害を検知するために、ハードウェアでは個々の要素での障害検知機能、冗長化が発展してきている。一方、ソフトウェアについても同様に、個々のプログラムでの障害検知機能と、ＨＡクラスタソフトウェアによる冗長化などが適用されるようになっている。
【０００４】
特許文献１には、複数のプログラムがイベントにより連携している場合の動作遅延を検出することを目的として、監視対象とするイベントを指定し、監視対象として指定されているイベント通知に対する待機、通知の操作を記録し、待機しているスレッドの実行再開を記録し、この記録を検査してイベント通知されたにも関わらず走行を再開しないスレッドが存在することを検知する構成が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−７２９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、単一のプログラムが実行されている場合に生じる障害に対処することができないと考えられる。  
さらに、今日多数のソフトウェアを組み合わせて実現されるオープンシステムでは、多数の人員と組織が開発に携わっており、それらの間で設計の基準が異なることもあり、ソフトウェア設計上の統一性と設計レベルを均一に保つことが難しい場合もある。
【０００７】
ソフトウェアの障害は、異常終了・エラー出力・スローダウン／ハングアップの三種類に大別される。異常終了は、プログラムのバグなどに起因して、プログラムやアプリケーションの処理が通常の状態で終了しないことをいう。エラー出力は、プログラム実行中になんらかのエラーが検知されたことを、出力画面等を通じてユーザ等に出力することをいう。スローダウン／ハングアップは、なんらかの原因によって、コンピュータの処理速度が低下したり、処理が停止したりする現象であり、ユーザインタフェースでは、マウス等による操作入力に対する反応速度の低下、画面のフリーズ等の現象として把握されることがある。
【０００８】
異常終了やエラー出力を伴う障害に関しては、ソフトウェアの設計レベルがたとえ均一でなかったとしても、開発者がそれらを引き起こす事象を異常と認識できている限りそれらに対する検知機能は個別に実装されるため、あまり問題にならない。
【０００９】
しかし、スローダウン／ハングアップについては、システム内の様々な部位で発生する可能性があるため、個々のハードウェア、ソフトウェアで対処しても、複数のシステムが協働する場合に、なお障害を引き起こす可能性を含んでいる。また、特にプロセッサの処理時間を不当に延長させるような障害に対しては検知しない設計をとる場合もある。そのため、このスローダウン／ハングアップ検知はまだ十分に行われているとは言えない状況である。したがって、スローダウン／ハングアップによりシステムのサービス提供が停止した場合でも、これを自動的に検知できず、システムの不稼働時間が発生することがある。
【００１０】
本発明は上記の事情に鑑みてなされたものであり、その一つの目的は、コンピュータに生じた障害を、異常終了等に至る前に迅速に検知することを可能とするコンピュータ、コンピュータの障害検知方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００１１】
上記の及び他の目的を達成するために、本発明の一態様は、プロセッサとメモリとを備え、前記プロセッサによって、前記メモリに記憶されている少なくとも一のソフトウェアプログラムを構成している複数のプロセスを処理して前記ソフトウェアプログラムを実行するコンピュータであって、各前記プロセスについて、当該プロセスが前記プロセッサによって処理開始されてから処理終了するまでにわたって、前記プロセッサが前記プロセスを処理している時間であるプロセッサ使用時間と、前記プロセッサが前記プロセスの処理を停止している時間であるプロセッサ不使用時間とを順次複数回計測して取得し、所定の統計処理に従って、各前記プロセッサ使用時間の統計的基準値であるプロセッサ使用時間基準値と、各前記プロセッサ不使用時間の統計的基準値であるプロセッサ不使用時間基準値とを、各前記プロセスについて算出して記憶するプロセッサ処理基準値取得部と、前記プロセッサにより前記ソフトウェアプログラムを構成する前記プロセスのいずれかが処理されているときに、当該プロセスについて、前記プロセッサ使用時間及び前記プロセッサ不使用時間を計測して、逐次当該プロセスについて記憶されている前記プロセッサ使用時間基準値及び前記プロセッサ不使用時間基準値と比較し、当該比較結果が所定の判定基準を満たしていないと判定した場合に、当該プロセス処理中に障害が発生したと判定する基準値比較処理部とを備えていることを特徴とするコンピュータである。
【発明の効果】
【００１２】
上記の構成を有する本発明によれば、コンピュータに生じた障害を、異常終了等に至る前に迅速に検知することを可能とするコンピュータ、コンピュータの障害検知方法、及びプログラムが提供される。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明における障害検知方法を実現するための、ＣＰＵにおけるプロセス実行状態の捉え方を示す模式図である。
【図２】図２は、通常とは異なる状態を認識した障害の概要を示す模式図である。
【図３】図３は、状態の遷移に異常に時間がかかる障害の概要を示す模式図である。
【図４】図４は、ある状態が異常に長く続く障害の概要を示す模式図である。
【図５】図５は、本発明の一実施形態に係るコンピュータ１におけるハードウェア構成の全体図である。
【図６】図６は、コンピュータ１のソフトウェア構成の一例を示す図である。
【図７】図７は、プロセス管理テーブル７００の一例を示す図である。
【図８】図８は、統計情報管理テーブル８００の一例を示す図である。
【図９】図９は、仮記憶テーブル９００の一例を示す図である。
【図１０】図１０は、図７のプロセス管理テーブル７００に対応する別の例を示す図である。
【図１１】図１１は、統計情報Ｂに関する統計情報管理テーブル８００の一例を示す図である。
【図１２】図１２は、状態遷移監視処理の処理フローの一例を示す図である。
【図１３】図１３は、統計情報採取処理の処理フローの一例を示す図である。
【図１４Ａ】図１４Ａは、統計情報比較処理の処理フローの一例を示す図である。
【図１４Ｂ】図１４Ｂは、統計情報比較処理の処理フローの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本発明の一実施形態を、図面を用いて詳細に説明する。
【００１５】
《本実施形態における障害検知方法の概要》
一般的なソフトウェア（特にサービス提供プログラム）の動作は、当該ソフトウェアを構成する多数のプロセスが、それらのプロセスを処理するプロセッサにおいてそれぞれ一定の状態遷移を繰り返しながら実行されることにより、そのサービスを提供している。プロセスが一定期間（例えば１秒間）スリープした期間（プロセッサ不使用時間）を「状態」と定義し、その状態が変化する期間（プロセッサ使用時間）を「遷移」と定義する。つまり、あるプロセスがスリープしてから走行開始するまでの間の待機期間を「状態」といい、走行開始してから再度スリープするまでの期間を「遷移」と定義している。なお、「プロセス」の用語は、本明細書中で、ＵＮＩＸＯＳが適用される場合に限らず、一般的にＯＳによって実行されるプログラムの実行単位を示すものとする。
【００１６】
本実施形態における障害検知方法の考え方について、図１〜図４を参照して説明する。図１は、本発明における障害検知方法を実現するための、プロセッサにおけるプロセス実行状態の捉え方を示す模式図である。ここでは、プロセスが開始しプロセッサを使用している（プロセスが走行している）状況を「遷移」１００１と定義する。また「遷移」と対をなし、プロセスがプロセッサを一定時間使用していない状況を「状態」１００２と定義する。この遷移１００１と状態１００２とが対となって形成される状態遷移を把握し、正常時とは異なる挙動（例えば図１における状態１００３の加入）を捉えることにより障害を検知する。
【００１７】
図２は、通常とは異なる状態を認識した障害の概要を示す模式図である。状態２００１から状態２００２への遷移が正常時とは異なり不当に短く、その間に通常とは異なる状態２００４への新たな遷移２００３を認識した場合を例示している。図２の例は、通常は短時間で終了するロック待ちが、何らかの理由で間延びし、プロセス全体の処理時間が遅くなる障害などを想定している。
【００１８】
図３は、状態の遷移に異常に時間がかかる障害の概要を示す模式図である。状態３００１から状態３００２への遷移３００３が、通常とは異なり大幅に時間がかかって、状態３００２へ遷移しない場合を示している。図３の例は、他のプロセスによってプロセッサが不当に長時間占有されている、無限ループなどの障害を想定している。
【００１９】
図４は、ある状態が異常に長く続く障害の概要を示す模式図である。状態１２０１において正常時よりも長くプロセッサの割り当てが行われず、遷移１２０２に遷移しない場合を示している。図４の例は、ハングアップや不当なＩ／Ｏ待ちなどの障害を想定している。
【００２０】
本実施形態における障害検知方法では、上記の「状態遷移」の時間変化について、プロセッサで稼働するオペレーティングシステム（Operating System、ＯＳ）内部で計測して統計をとり、この統計情報を基にソフトウェアの障害を検知することとしている。ＯＳ内部で一定のポリシーで障害を監視し検知することにより、実装されているソフトウェア側での設計レベルのばらつきなどを吸収して迅速かつ確実な障害検知を実現する。その一定のポリシーとしては、プロセッサがプロセスによって使用されていない（スリープしている）状態に着目し、ある状態から次の状態への遷移に要する時間について統計情報を取得してプロセスの動作を把握し、その変化を捉えることにより障害を検知するものである。
【００２１】
なお、具体的な障害検知の態様については、本障害検知方法の処理フロー例等を参照して後述する。
【００２２】
《システム構成》
次に、本実施形態の障害検知方法を適用したコンピュータ１について説明する。図５は、本発明の一実施形態に係るコンピュータ１のハードウェア構成の全体図を示している。
【００２３】
図５に示すように、コンピュータ１は、中央処理装置１１０、制御部１２０、主記憶装置１３０、補助記憶装置１４０、入力装置１５０、出力装置１６０、通信制御部１７０、及びそれらを相互に通信可能に接続する内部バス１８０を備えて構成される。
【００２４】
中央処理装置１１０は、例えばＣＰＵ（Central Processing Unit）あるいはＭＰＵ（Micro Processing Unit）を含むプロセッサである。本明細書では以下簡単のため「ＣＰＵ」と称する。制御部１２０は、ＣＰＵ１１０と他のハードウェアブロックとの間でのデータ転送を制御するインタフェースである。
【００２５】
主記憶装置１３０は、例えばＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等の記憶素子を備えるメモリであり、後述するように、コンピュータ１全体の制御を行うＯＳ、各種プログラム及びテーブル等のデータが読み込まれる。補助記憶装置１４０は、例えばＨＤＤ（Hard Disk Drive）、半導体記憶デバイス（Solid State Drive、「ＳＳＤ」）等の記憶デバイスであり、コンピュータ１で実行される各種プログラム、当該プログラム実行時に参照されるテーブル類が記憶される。
【００２６】
入力装置１５０は、例えばキーボードやマウスであり、ユーザの操作入力を受け付ける。出力装置１６０は、例えば液晶モニタ、プリンタ等の出力機器であり、オーディオ等の他の出力を可能とする機器を含む。通信制御部１７０は、例えばＮＩＣ（Network Interface Card）、ＨＢＡ（Host Bus Adapter）等を含む、他の装置との間の通信を実現する機能を有する。
【００２７】
次に、コンピュータ１のソフトウェア構成について説明する。図６に、コンピュータ１のソフトウェア構成の一例を、各ソフトウェアがＣＰＵ１１０によって実行されるべく主記憶装置１３０に読み込まれた状態で示している。なお、これらのソフトウェアは、常時補助記憶装置１４０に格納されており、コンピュータ１の起動時、あるいはユーザの操作入力に基づくＯＳからの命令受信時に主記憶装置１３０に読み込まれる。
【００２８】
図６の例では、コンピュータ１には、ソフトウェアとして、ＯＳ１３１、プログラム１３２、及び障害検知部１３３を実現するためのプログラムが実装されている。
【００２９】
ＯＳ１３１は、コンピュータ１を構成している各構成要素の動作を制御している。ＯＳ１３１はプロセススケジューラ１３１１（プロセス割当て部）を有しており、補助記憶装置１５０に格納されている後述のプログラム１３２を主記憶装置１３０に読み込み、プロセススケジューラ１３１１を用いてそのロードしたプログラム１３２を構成しているプロセスにＣＰＵ１１０を割り当ててプロセスを実行させている。ＯＳ１３１としては、例えばＷｉｎｄｏｗｓ（登録商標）、及びＵＮＩＸ（登録商標）系のＯＳ等が好適に用いられるが、特に制約されるものではない。
【００３０】
プログラム１３２は、コンピュータ１において実行されるべきアプリケーションプログラム等を含む任意のプログラムであり、前記のようにＯＳ１３１によって補助記憶装置１４０から主記憶装置１３０に読み込まれ、ＣＰＵ１１０によって実行される。本実施形態の例では、プログラム１３２は２つのプロセス、プロセスＡ（１３２Ａ）及びプロセスＢ（１３２Ｂ）を有している。プログラム１３２がＣＰＵ１１０で実行される際には、プロセススケジューラ１３１１によってプロセスＡ、プロセスＢに適時にＣＰＵ１１０が割り当てられることとなる。
【００３１】
障害検知部１３３は、この障害検知部１３３の機能を実現するプログラムをＣＰＵ１１０が実行することによって実現される機能ブロックである（図６においては、障害検知部１３３は主記憶装置１３０に読み込まれたプログラムとして表されている。）。障害検知部１３３は、状態遷移監視部１３３１、統計情報採取処理部（プロセッサ処理基準値取得部）１３３２、統計情報記憶部１３３３、統計情報比較処理部（基準値比較処理部）１３３４、及び障害通知部１３３５を備えて構成される。
【００３２】
障害検知部１３３は、コンピュータ１の起動時に、ＯＳ１３１により補助記憶装置１４０から主記憶装置１３０にロードされる。障害検知部１３３は、ロードされた後は、プロセススケジューラ１３１１による、障害検知対象のプロセス（図６の例ではプログラム１３２を実行するためのプロセスＡ（１３２Ａ）及びプロセスＢ（１３２Ｂ））に対する制御部１２０を通したＣＰＵ１１０の操作の情報を取得し、統計情報採取処理部１３３２が統計情報記憶部１３３３にその採取された統計情報を保存する。
【００３３】
障害検知部１３３は、統計情報の保存が完了した後、障害検知を開始する。障害検知を実行する場合、状態遷移監視部１３３１から得たＣＰＵ１１０の操作に関する情報と統計情報記憶部１３３３の統計情報を統計情報比較処理部１３３４が比較し、いずれかのプロセスに障害が発生していないか確認する。障害検知部１３３は、障害が発生したことを確認した場合、障害通知部１３３５を通じてＯＳ１３１に障害発生を通知する。この通知を受けたＯＳ１３１は、出力装置１５０を通じて管理者等に警告メッセージ等を提示することができる。
【００３４】
次に、上記障害検知部１３３によって生成及び参照されるテーブル類について説明する。本実施形態では、障害検知部１３３の統計情報記憶部１３３３に、プロセス管理テーブル７００、統計情報管理テーブル８００、及び仮記憶テーブル９００が保持されている。
【００３５】
図７に、プロセス管理テーブル７００の一例を示している。プロセス管理テーブル７００は、障害検知部１３３の監視対象となるプロセス１３２に関する統計情報の状態を管理するために使用され、監視対象プロセス７０１、統計情報採取完了フラグ７０２、及び統計情報テーブル７０３の各項目を記録している。プロセス管理テーブル７００は、コンピュータ１の起動時に、障害検知部１３３によって統計情報記憶部１３３３内に生成される。
【００３６】
監視対象プロセス７０１は、障害検知部１３３によって監視される対象となるプロセス１３２を特定する情報が記録されており、図７の例ではコンピュータ１において監視対象のプロセスＡ（１３２Ａ）及び監視対象のプロセスＢ（１３２Ｂ）が実行されているため、その両者が記録されている。この場合、プロセスＡ、プロセスＢのいずれかが実行終了すれば、その記録はプロセス管理テーブル７００から削除される。また、プロセスＡ、プロセスＢに加えて他の監視対象のプロセス（例えばプロセスＣ）にＣＰＵ１１０が割り当てられれば、プロセスＣに関するレコードが追加される。また、監視対象プロセス７０１には、管理者等が監視対象とすることを所望するプロセスを入力装置１５０から登録しておくこともできる。
【００３７】
統計情報採取完了フラグ７０２は、各監視対象プロセス７０１について、障害検知部１３３での障害検知有無の判断に使用する統計情報が採取されているかを示す情報が記録される。採取が完了している場合には統計情報採取完了フラグ７０２に「Ｔｒｕｅ」が記録され、まだ採取が完了していない場合には、「Ｆａｌｓｅ」が記録される。
【００３８】
統計情報テーブル７０３には、各監視対象プロセス７０１について障害検知部１３３が参照すべき統計情報テーブル（後述）として対応付けられているテーブルが特定されて記録されている。図７の例では、プロセスＡ（１３２Ａ）については、すでに障害検知に使用する統計情報が採取済みであるため、当該採取済みの統計情報が記録されている統計情報Ａテーブル（具体的には後出の統計情報管理テーブル８００）が対応付けられている。一方、プロセスＢについてはまだ統計情報の採取が完了していないため、対応する統計情報テーブル７０３には、統計情報採取中であることを示す、後出の仮記憶テーブル９００（「仮記憶１」、「仮記憶２」）が対応付けられている。
【００３９】
次に、統計情報管理テーブル８００について説明する。図８に本実施形態における統計情報管理テーブル８００の一例を示している。統計情報管理テーブル８００は、後述する障害検知部１３３が監視対象プロセスについて比較参照するべき統計情報を記録している。統計情報管理テーブル８００には、監視項目８０１、遷移時間８０２、及び状態待機時間８０３の各項目が記録されている。監視項目８０１には、監視対象プロセス（この場合プロセスＡ（１３２Ａ））にＣＰＵ１１０が割り当てられて実行開始後の「状態遷移」、すなわち「遷移」及び「状態」の組み合わせが、例えば図８の例では「状態遷移１」、「状態遷移２」と順に登録されている。
【００４０】
遷移時間８０２（プロセッサ使用時間基準値）には、対応付けられている状態遷移における遷移に要した時間として統計的に採取された数値が記録される。また、状態待機時間８０３（プロセッサ不使用時間基準値）には、対応付けられている状態遷移における状態が持続した時間として統計的に採取された数値が記録される。図８の例では、状態遷移１について、その遷移時間が５００ｍｓ、状態待機時間が１０００ｍｓとして統計的に求められたことを示している。なお、図８には仮定の数値を記載しており、また数値の単位はミリ秒以外であってもよい。なお、ここで採用する遷移時間８０２、状態待機時間８０３を求めるための統計処理は、複数の計測値の算術平均、中心値、あるいは最頻値を求める処理等の、適宜の手法を適用して実行すればよい。
【００４１】
次に、仮記憶テーブル９００について説明する。図９に仮記憶テーブル９００の一例を示している。仮記憶テーブル９００は、システム起動時にプロセス管理テーブル７００が生成されて監視対象プロセスが登録されたことを契機として、障害検知部１３３により統計情報記憶部１３３３内に生成される。図７に示すように、仮記憶テーブル９００は、統計情報採取が完了していない監視対象プロセス（完了フラグ＝「Ｆａｌｓｅ」）に対応付けて複数生成される。これは、監視対象プロセスの状態遷移について、統計的に信頼することができる数値を得るために、遷移時間及び状態待機時間を複数回採取して記録するためである。規定の回数採取された場合には、それによって生成された複数の仮記憶テーブル９００を、前記例示した統計処理に対応する所定の手順でマージして図８の統計情報管理テーブル８００が生成される。
【００４２】
仮記憶テーブル９００に記録される、監視項目９０１、遷移時間９０２、及び状態待機時間９０３は、統計情報管理テーブル８００の対応する項目と同一である。
【００４３】
図１０に、図７のプロセス管理テーブル７００に対応する別の例を示している。図１０のプロセス管理テーブル７００では、プロセスＢについても統計情報採取が完了しているため、統計情報採取完了フラグ７０２に「Ｔｒｕｅ」が、統計情報テーブル７０３の項目には、対応付けられている「統計情報Ｂ」が記録されている。
【００４４】
図１１に、統計情報Ｂに関する統計情報管理テーブル８００の一例を示している。図１１の統計情報管理テーブル８００は、プロセスＢについての障害検知処理を実行する際に、障害検知部１３３によって参照される。図１１の統計情報管理テーブル８００に記録されている内容は、図８と同様である。
【００４５】
《障害検知処理の処理内容》
次に、以上説明したシステム構成に基づいて、コンピュータ１における障害検知部１３３が実行する障害検知処理について、処理フロー例を参照しつつ説明する。
【００４６】
状態遷移監視処理
まず、障害検知部１３３の状態遷移監視部１３３１によって実行される状態遷移監視処理について説明する。図１２は、状態遷移監視処理の処理フローの一例を示している。この状態遷移監視処理では、主に、状態遷移監視部１３３１により、プロセス管理テーブル７００において監視対象として格納されている各プロセスについて、障害検知処理に使用すべき統計情報を採取する処理を行うのか、すでに取得されている統計情報を使用して実際に障害検知処理を実行するのかを判断する処理が行われる。
【００４７】
まず、状態遷移監視部１３３１は、ＯＳ１３１のプロセススケジューラ１３１１を監視し、ＯＳ１３１でＣＰＵ１１０が割り当てられ処理が開始されたプロセスがプロセス管理テーブル７００に格納されているプロセスであるか判断する（Ｓ１２０１）。処理が開始されたプロセスがプロセス管理テーブル７００に格納されていないと判断した場合（Ｓ１２０１、Ｎｏ）、状態遷移監視部１３３１は、プロセス管理テーブル７００において監視対象とされているプロセスの処理が開始されるまでプロセススケジューラ１３１１を続けて監視する。
【００４８】
処理が開始されたプロセスがプロセス管理テーブル７００に格納されていると判断した場合（Ｓ１２０１、Ｙｅｓ）、状態遷移監視部１３３１は、開始された当該プロセスに対応付けられている統計情報採取完了フラグ７０２を確認する（Ｓ１２０２）。統計情報採取完了フラグ７０２に「Ｔｒｕｅ」が記録されていると判断した場合（Ｓ１２０２、Ｙｅｓ）、状態遷移監視部１３３１は、統計情報比較処理部１３３４に統計情報比較処理を実行させる（Ｓ１２０３）。統計情報比較処理の内容については後述する。
【００４９】
統計情報採取完了フラグ７０２に「Ｆａｌｓｅ」が記録されていると判断した場合（Ｓ１２０２、Ｎｏ）、状態遷移監視部１３３１は、統計情報採取処理部１３３２に統計情報採取処理を実行させる（Ｓ１２０４）。統計情報採取処理の内容については後述する。
【００５０】
統計情報採取処理終了後、状態遷移監視部１３３１は、当該統計情報採取処理が指定した回数実行されたか判断する（Ｓ１２０５）。統計情報採取処理についての実行回数は、例えば状態遷移監視部１３３１内にパラメータとして保持させればよい。統計情報採取処理が指定した回数実行されたと判断した場合（Ｓ１２０５、Ｙｅｓ）、状態遷移監視部１３３１は、それまで採取して仮記憶テーブル９００に格納されている状態遷移に関する情報について所定の手順で統計処理し、得られた統計情報を統計情報管理テーブル８００に格納する（Ｓ１２０７）。統計処理の内容としては、前記したように、例えばあるプロセスについて指定の複数回計測して得られた状態遷移についての遷移時間及び状態待機時間を単純平均して求める、あるいは、中心値、最頻値を求めるなど、適宜の統計処理を適用することができる。
【００５１】
状態遷移監視部１３３１は、次いで処理中の当該プロセスについて、プロセス管理テーブル７００において統計情報採取完了フラグ７０２を「Ｔｒｕｅ」に変更し、統計情報テーブル７０３に対応する統計情報管理テーブル８００を特定する（Ｓ１２０８）。
【００５２】
Ｓ１２０５において、統計情報採取処理が指定した回数実行されていないと判断した場合（Ｓ１２０５、Ｎｏ）、状態遷移監視部１３３１は、新規の仮記憶テーブル９００を作成し、次回の統計情報採取処理では、新たに作成した仮記憶テーブル９００（例えば「仮記憶２」）に採取した情報を記録する（Ｓ１２０６）。
【００５３】
以上述べた状態遷移監視処理は、システム起動後、コンピュータ１又は障害検知部１３３を稼働させるプログラムが終了しない限り繰り返し実行される。
【００５４】
以上説明した状態遷移監視処理によれば、障害検知部１３３がＣＰＵ１１０で実行されるプロセスの実行状態（状態遷移）に基づいて、当該プロセスの障害検知を実行するのに必要とされる、正常時のプロセス状態遷移に関する統計情報を自動的に収集して、その統計情報に基づく状態遷移の監視を行うことができる。
【００５５】
統計情報採取処理
次に、障害検知部１３３の統計情報採取処理部１３３２によって実行される統計情報採取処理（状態遷移監視処理（図１２）におけるＳ１２０４）について説明する。図１３に、本実施形態における統計情報採取処理の処理フローの一例を示している。統計情報採取処理では、主に、統計情報採取処理部１３３２により、統計情報記憶部１３３３に統計情報を採取して格納する処理が実行される。
【００５６】
まず、統計情報採取処理部１３３２は、監視対象であるプロセスによるＣＰＵ１１０の使用時間の計測を開始する（Ｓ１３０１）。次いで、統計情報採取処理部１３３２は、監視対象プロセスがＣＰＵ１１０の使用を開始しているか判断し（Ｓ１３０２）、使用していると判断した場合（Ｓ１３０２、Ｙｅｓ）、Ｓ１３０１で開始したＣＰＵ使用時間の計測を継続する。
【００５７】
Ｓ１３０２で監視対象プロセスが使用されていないと判断した場合（Ｓ１３０２、Ｎｏ）、統計情報採取処理部１３３２は、ＣＰＵ１１０が使用されている時間のみを計測するため、ＣＰＵ１１０の使用時間の計測を中断し、使用時間の計測値を例えば主記憶装置１３０内の適宜の格納場所に格納する（Ｓ１３０３）。なお、プロセスがＣＰＵ１１０の使用をしない状態となるのは、プロセス自体がＣＰＵ１１０を解放する場合、プロセススケジューラ１３１１によりプロセスの使用が停止される場合等を含んでいる。
【００５８】
次いで、統計情報採取処理部１３３２は、監視対象プロセスが再度ＣＰＵ１１０を使用開始するまでの時間、すなわち監視対象のプロセスによってＣＰＵ１１０が使用されていない時間を計測する（Ｓ１３０４）。
【００５９】
次いで、統計情報採取処理部１３３２は、Ｓ１３０４で計測したＣＰＵ１１０を使用していない時間が、状態として認識する閾値として設定した値を超えていないか判断する（Ｓ１３０５）。この閾値は、ＣＰＵ１１０を使用していないとして計測された時間を「状態」として把握してよいか判断するためのパラメータであり、任意の数値を設定することができる。
【００６０】
計測したＣＰＵ１１０を使用していない時間が閾値を超えていないと判断した場合（Ｓ１３０５、Ｎｏ）、統計情報採取処理部１３３２は、当該計測値を状態として把握せず、まだ遷移であると把握するため、ＣＰＵ１１０の使用時間の計測を再開する（Ｓ１３１１）。
【００６１】
計測したＣＰＵ１１０を使用していない時間が閾値を超えていると判断した場合（Ｓ１３０５、Ｙｅｓ）、統計情報採取処理部１３３２は、プロセス管理テーブル７００を参照し、ＣＰＵ１１０を使用していない時間の計測値を、監視対象プロセスに関して現在使用されている仮記憶テーブル９００の監視項目９０１に記録されている「状態遷移１」に対応する状態待機時間９０３として登録する。
【００６２】
次いで、統計情報採取処理部１３３２は、Ｓ１３０３において格納しておいたＣＰＵ１１０の使用時間計測値を、同じく現在使用している仮記憶テーブル９００の監視項目９０１に記録されている「状態遷移１」に対応する遷移時間９０２として登録する（Ｓ１３０７）。
【００６３】
以上で、監視対象プロセスに関する最初の状態遷移に関する遷移時間９０２及び状態待機時間９０３の計測及び記録が完了したこととなるので、統計情報採取処理部１３３２は、仮記憶テーブル９００において、次の状態遷移（図９の状態遷移２）について遷移時間９０２と状態待機時間９０３を記録するため、監視項目９０１として次の状態遷移２に関するレコードを追加する。
【００６４】
次に、統計情報採取処理部１３３２は、監視対象としているプロセスが終了したか判断し（Ｓ１３０９）、終了していないと判断した場合（Ｓ１３０９、Ｎｏ）、次の状態遷移における遷移時間９０２を計測するために、ＣＰＵ１１０の使用時間を再度計測開始して（Ｓ１３１０）、Ｓ１３０２に処理を戻し、監視対象のプロセスが終了するまで、状態遷移を記録する。Ｓ１３０９で、監視対象としているプロセスが終了したと判断した場合（Ｓ１３０９、Ｙｅｓ）、統計情報採取処理部１３３２は、処理を終了する。
【００６５】
以上説明した統計情報採取処理によれば、監視対象プロセスの開始から終了まで（具体的には、図１における開始から終了まで）について、障害検知処理に使用する統計情報を算出するために、各状態遷移の遷移時間及び状態待機時間を得ることができる。
【００６６】
統計情報比較処理
次に、統計情報比較処理について説明する。図１４Ａ、図１４Ｂに、本実施形態における統計情報比較処理の処理フローの一例を示している。この統計情報比較処理では、主に、障害検知部１３３の統計情報比較処理部１３３４により、状態遷移監視部１３３１から得た情報を統計情報記憶部１３３４に格納されている情報と比較して障害検知処理が実行される。監視対象プロセスの状態遷移に関する時間は、図１３に例示した統計情報採取処理の場合と同様に、ＯＳ１３１のプロセススケジューラ１３１１の状態を監視することにより計測する。
【００６７】
まず、統計情報比較処理部１３３４は、監視対象プロセスによるＣＰＵ１１０の使用時間の計測を開始する（Ｓ１４０１）。次いで、統計情報比較処理部１３３４は、当該プロセスがＣＰＵ１１０を使用しているか判断し（Ｓ１４０２）、使用していると判断した場合（Ｓ１４０２、Ｙｅｓ）、監視対象プロセスについて記録されている状態遷移の遷移時間８０２（例えば、プロセス管理テーブル７００のプロセスＡが監視対象である場合、図８の統計情報管理テーブル８００で「状態遷移１」について記録されている遷移時間８０２）とＣＰＵ１１０の使用時間計測値（プロセッサ使用時間計測値）との比較を実行する（Ｓ１４０３）。
【００６８】
統計情報比較処理部１３３４は、Ｓ１４０３での比較処理において、ＣＰＵ使用時間の計測値が、遷移時間８０２についてあらかじめ規定されている閾値を越えているか判断する（Ｓ１４０４）。この遷移時間８０２に関する閾値は、管理者等がパラメータとして入力装置１５０を通じて指定して統計情報比較処理部１３３４内に保持させることができる。指定する閾値の具体例としては、状態遷移の遷移時間８０２の２倍あるいは３倍の値を指定することが考えられる。
【００６９】
ＣＰＵ使用時間計測値が指定した閾値を超えていないと判断した場合（Ｓ１４０４、Ｎｏ）、統計情報比較処理部１３３４は、監視対象のプロセスの遷移時間は正常であると判断して、ＣＰＵ１１０の使用中は引き続きＳ１４０２〜Ｓ１４０４の処理を反復実行する。一方、ＣＰＵ使用時間計測値が指定した閾値を超えていると判断した場合（Ｓ１４０４、Ｙｅｓ）、統計情報比較処理部１３３４は、監視対象のプロセスにおいて遷移時間が異常に長い障害が発生していると判断して、障害通知部１３３５からＯＳ１３１、出力装置１６０を通じで障害発生を通知する。なお、遷移時間が異常に長い障害とは、例えば無限ループなど監視対象プロセスがＣＰＵ１１０を通常よりも長い時間にわたって占有している障害状況である。
【００７０】
Ｓ１４０２で、統計情報比較処理部１３３４が、監視対象プロセスがＣＰＵ１１０を使用していないと判断した場合（Ｓ１４０２、Ｎｏ）、統計情報比較処理部１３３４は、ＣＰＵ１１０の使用時間計測を中断し（Ｓ１４０６）、監視対象プロセスがＣＰＵ１１０を使用していない時間（プロセッサ不使用時間）の計測を開始する（Ｓ１４０７）。
【００７１】
次いで、統計情報比較処理部１３３４は、監視対象プロセスが再度ＣＰＵ１１０を使用しているか判断する（Ｓ１４０８）。Ｓ１４０８での判断処理は、ＣＰＵ１１０の停止時間が異常に長い障害が生じているか否かを判別するために実行される。ＣＰＵ１１０が再度使用されていると判断した場合（Ｓ１４０８、Ｙｅｓ）、統計情報比較処理部１３３４は、さらに、ＣＰＵ１１０の停止時間が許容される閾値を越えているか判断する（Ｓ１４０９）。この停止時間として許容される閾値（以下「停止許容閾値」）は、管理者等が入力装置１５０を通じて入力することにより、パラメータとして統計情報比較処理部１３３４内に保持させることができる。停止許容閾値には、統計情報管理テーブル８００の状態待機時間８０３に格納されている数値の２倍ないし３倍の値など、任意の数値を指定することができる。
【００７２】
Ｓ１４０９で、ＣＰＵ不使用時間の計測値（プロセッサ不使用時間計測値）が停止許容閾値を超えていると判断した場合（Ｓ１４０９、Ｙｅｓ）、統計情報比較処理部１３３４は、待機時間が異常に長い障害が発生していると判断して、障害通知部１０９からＯＳ１３１、出力装置１６０を通じて障害発生を通知する（Ｓ１４１０）。
【００７３】
Ｓ１４０９で、ＣＰＵ不使用時間の計測値が停止許容閾値を超えていないと判断した場合（Ｓ１４０９、Ｎｏ）、統計情報比較処理部１３３４は、Ｓ１４０８へ処理を戻し、再度ＣＰＵ１１０が使用されているか判断する。一方、Ｓ１４０９でＣＰＵ不使用時間が停止許容閾値を越えていないと判断し、さらにＳ１４０８で再度ＣＰＵ１１０が使用されていると判断した場合（Ｓ１４０８、Ｎｏ）、統計情報比較処理部１３３４は、ＣＰＵ１１０の不使用時間が状態と判断することができるか確認するため、図１４ＢのＳ１４１１へ処理を移行させる。
【００７４】
Ｓ１４１１では、統計情報比較処理部１３３４は、ＣＰＵ不使用時間が所定の閾値を超えて状態と認定することができるか判断している。閾値を超えていないと判断した場合（Ｓ１４１１、Ｎｏ）、統計情報比較処理部１３３４は、ＣＰＵ１１０の使用時間の計測を再開する（Ｓ１４１７）。
【００７５】
一方、閾値を超えていると判断した場合（Ｓ１４１１、Ｙｅｓ）、統計情報比較処理部１３３４は、ＣＰＵ使用時間を、監視対象プロセスの統計情報管理テーブル８００に記録されている遷移時間８０２と比較し（Ｓ１４１２）、両者の比較結果が所定の閾値を下回っているか判断する（Ｓ１４１３）。この閾値は、例えばパラメータとして統計情報比較処理部１３３４に設定しておくことができる。閾値の例としては、ＣＰＵ使用時間が遷移時間８０２で計測された値の１／２倍ないし１／３の値を指定することができる。これにより、状態遷移に要する時間が不当に短くないか判断している。閾値を下回っていると判断した場合（Ｓ１４１３、Ｙｅｓ）、統計情報比較処理部１３３４は、遷移時間８０２が不当に短い通常とは異なる遷移が発生する障害であると判断し、障害通知部１０８、ＯＳ１３１及び出力装置１６０を通じて障害発生を通知する（Ｓ１４１４）。通常とは異なる遷移の例としては、ロック待ちなどの、通常は状態としては認識されないような短時間で完了する処理が何らかの理由で遅延し、新たに状態として認識される場合等が想定される。
【００７６】
一方、Ｓ１４１３で閾値を下回っていないと判断された場合（Ｓ１４１３、Ｎｏ）、統計情報比較処理部１３３４は、監視対象プロセスの次の状態遷移について、遷移時間８０２と状態待機時間８０３とを記録するために、監視項目８０１を次の状態遷移へと移行させる（Ｓ１４１５）。そして、監視対象であるプロセスが終了したか判断し（Ｓ１４１６）、終了していると判断した場合（Ｓ１４１６、Ｙｅｓ）、監視対象プロセスについての統計情報比較処理を終了する。
【００７７】
終了していないと判断した場合（Ｓ１４１６、Ｎｏ）、統計情報比較処理部１３３４は、ＣＰＵ１１０の使用時間を再度計測し（Ｓ１４１８）、処理をＳ１４０２に移行させて、監視対象プロセスが終了するまで障害が発生していないか調べる統計情報比較処理を続行する。
【００７８】
以上説明したように、本実施形態に係るコンピュータ１によれば、ＣＰＵ１１０で実行される個々のプロセスについて、その状態遷移に関する時間計測値を統計的に求めた基準値と逐次比較処理することにより、ハングアップ、ＯＳ１３１によるエラー検出といったイベントに至らない早期の段階で、コンピュータ１に生じた障害を確実に検出することができるので、コンピュータ１のダウンタイムを可及的に短縮し、可用性を向上させる効果を奏する。
【００７９】
なお、本明細書では、本発明についてその実施形態に即して添付図面を参照しつつ説明したが、本発明はこのような実施形態によって限定されるものではない。本発明は、特許請求の範囲に記載されている発明の範囲内で、前記の実施形態にかかわらず、種々の形態で実施することができ、当該特許請求の範囲に記載されている発明の均等物も本発明に含まれるものである。
【符号の説明】
【００８０】
１  コンピュータ        １１０  ＣＰＵ        １２０  制御部
１３０  主記憶装置      １３１  ＯＳ          １３１１  プロセススケジューラ
１３２  プログラム      １３２Ａ、１３２Ｂ  プロセス
１３３  障害検知部      １３３１  状態遷移監視部
１３３２  統計情報採取処理部                  １３３３  統計情報記憶部
１３３４  統計情報比較処理部                  １３３５  障害通知部
１４０  補助記憶装置    １５０  入力装置      １６０  出力装置
１７０  通信制御部      １８０  内部バス
７００  プロセス管理テーブル                  ７０１  監視対象プロセス
７０２  統計情報採取完了フラグ                ７０３  統計情報テーブル
８００  統計情報管理テーブル                  ８０１  監視項目
８０２  遷移時間        ８０３  状態待機時間  ９００  仮記憶テーブル
９０１  監視項目        ９０２  遷移時間      ９０３  状態待機時間
【図１】
2011175570.tif 000003
【図２】
2011175570.tif 000004
【図３】
2011175570.tif 000005
【図４】
2011175570.tif 000006
【図５】
2011175570.tif 000007
【図６】
2011175570.tif 000008
【図７】
2011175570.tif 000009
【図８】
2011175570.tif 000010
【図９】
2011175570.tif 000011
【図１０】
2011175570.tif 000012
【図１１】
2011175570.tif 000013
【図１２】
2011175570.tif 000014
【図１３】
2011175570.tif 000015
【図１４Ａ】
2011175570.tif 000016
【図１４Ｂ】
2011175570.tif 000017