(57)【要約】【課題】故障の根本となる部品を効率よく特定する。【解決手段】故障箇所検出装置１０は、監視対象装置１が有する部品が故障した際に故障が波及する他の部品を示す故障解析データベース２１を記憶する。また、故障箇所検出装置１０は、部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を示す待機時間テーブル２２を記憶する。また、故障箇所検出装置１０は、部品の故障を最初に検出した場合は、故障解析データベース２１から故障した部品の波及情報を取得し、待機時間テーブル２２から故障した部品の待機時間を読み出す。また、故障箇所検出装置１０は、最初に故障を検出した部品と、読み出した待機時間が経過するまでの間、新たに故障した部品とを通報候補とする。そして、故障箇所検出装置１０は、待機時間が経過した後に、通報候補のうち取得した波及情報に含まれていない部品を故障した部品として通報する。【選択図】        図１
2014016671.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が有する部品が故障した際に故障が波及する他の部品を示す波及情報を、前記部品ごとに記憶する第１の記憶部と、
前記部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を、前記部品ごとに記憶する第２の記憶部と、
前記部品の故障を検出する検出部と、
前記検出部が最初の故障を検出すると、当該故障が検出された部品の波及情報を前記第１の記憶部から取得し、当該故障が検出された部品の待機時間を前記第２の記憶部から取得する取得部と、
前記検出部が最初に故障を検出した部品と、前記取得部が取得した待機時間が経過するまでの間に前記検出部が新たに故障を検出した部品とを通報候補とし、前記待機時間が経過した後に、当該通報候補のうち前記取得部が取得した波及情報に含まれていない部品を故障した部品として利用者に通報する通報部と
を有することを特徴とする故障検出装置。
【請求項２】
前記通報部は、前記検出部が新たに故障を検出した場合は、当該新たに故障を検出した部品が前記取得部が取得した波及情報に含まれているか否かを判別し、当該新たに故障を検出した部品が前記取得部が取得した波及情報に含まれていると判別した場合には、当該検出部が新たに故障を検出した部品を通報候補から除外することを特徴とする請求項１に記載の故障検出装置。
【請求項３】
前記取得部は、前記検出部が新たに故障を検出した部品が前記波及情報に含まれていない場合は、当該検出部が新たに故障を検出した部品の波及情報と待機時間とを新たに取得し、
前記通報部は、前記検出部が新たに故障を検出した部品と、前記取得部が新たに取得した待機時間の間に前記検出部が故障を検出した部品とを通報候補とし、当該待機時間が経過した後に、当該通報候補のうち前記取得部が新たに取得した波及情報に含まれていない部品を故障した部品として利用者に通報することを特徴とする請求項２に記載の故障検出装置。
【請求項４】
前記第１の記憶部は、前記部品が故障した際に故障が波及する他の部品を接続関係に基づく階層に応じた波及情報を記憶し、
前記第２の記憶部は、前記部品が故障した際に故障が波及する他の部品のうち、最下位の階層に位置する部品から最上位の階層に位置する部品までの経路に含まれる部品から他の装置に故障が波及するまでの時間の和を該部品の待機時間として記憶することを特徴とする請求項１−３のいずれか１つに記載の故障検出装置。
【請求項５】
故障した部品を交換する優先度を、前記情報処理装置が有する部品ごとに記憶する第３の記憶部を有し、
前記通報部は、前記通報候補のうち前記取得部が取得した波及情報に含まれていない部品であって、前記第３の記憶部が記憶する優先度が最も高い部品を故障した部品として利用者に通報することを特徴とする請求項１−４のいずれか１つに記載の故障検出装置。
【請求項６】
前記第３の記憶部は、前記部品が故障した際に故障が波及する他の部品について、各部品に付与された重み付けの値の和を算出することで得られる値を前記部品の優先度として記憶することを特徴とする請求項５に記載の故障検出装置。
【請求項７】
前記第１の記憶部は、前記部品および当該部品が故障する要因ごとに前記波及情報を記憶し、
前記第２の記憶部は、前記部品および当該部品が故障する要因ごとに前記他の部品へ故障が波及するまで待機する待機時間を記憶し、
前記検出部は、前記部品の故障とともに、当該部品が故障した要因を検出し、
前記取得部は、前記検出部が故障を検出した部品と、前記検出部が検出した要因とに対応する前記波及情報を前記第１の記憶部から取得し、前記検出部が故障を検出した部品と、前記検出部が検出した要因とに対応する待機時間を前記第２の記憶部から取得することを特徴とする請求項１−６のいずれか１つに記載の故障検出装置。
【請求項８】
前記通報部は、前記通報候補のうち前記取得部が取得した波及情報に含まれていない部品であって、前記利用者に通報していない部品のみを通報することを特徴とする請求項１−７のいずれか１つに記載の故障検出装置。
【請求項９】
前記検出部は、割り込みによる故障通知を受信すると、当該故障通知から故障した部品を特定し、特定した部品が正常に動作しているか否かを判別し、特定した部品が正常に動作していない場合には、当該部品が故障していると判定することを特徴とする請求項１−８のいずれか１つに記載の故障検出装置。
【請求項１０】
情報処理装置が有する部品の故障を検出する故障検出装置が、
前記部品の故障を最初に検出した場合は、前記情報処理装置が有する部品が故障した際に故障が波及する他の部品を示す波及情報を前記部品ごとに記憶する第１の記憶装置から、該故障を検出した部品の波及情報を取得し、
前記情報処理装置が有する部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を前記部品ごとに記憶する第２の記憶装置から、前記故障を検出した部品の待機時間を読み出し、
前記最初に故障を検出した部品と、前記読み出した待機時間が経過するまでの間、新たに故障した部品とを通報候補とし、当該待機時間が経過した後に、前記通報候補のうち前記取得した波及情報に含まれていない部品を故障した部品として利用者に通報する
処理を実行することを特徴とする故障検出方法。
【請求項１１】
コンピュータに、
情報処理装置が有する部品の最初の故障を検出した場合は、前記情報処理装置が有する部品が故障した際に故障が波及する他の部品を示す波及情報を前記部品ごとに記憶する第１の記憶装置から、該故障を検出した部品の波及情報を取得し、
前記情報処理装置が有する部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を前記部品ごとに記憶する第２の記憶装置から、前記故障を検出した部品の待機時間を読み出し、
前記最初に故障を検出した部品と、前記読み出した待機時間が経過するまでの間、新たに故障した部品とを通報候補とし、当該待機時間が経過した後に、前記通報候補のうち前記取得した波及情報に含まれていない部品を故障した部品として利用者に通報する
処理を実行させることを特徴とする故障検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障検出装置、故障検出方法および故障検出プログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置が有する部品から故障を検出した際に、平均修復時間（MTTR:Mean  Time  To  Repair）を短縮することで、情報処理装置の稼動率を向上させる技術が知られている。
【０００３】
例えば、情報処理装置が有する部品が故障した場合は、他の部品に故障が波及する。しかし、故障が検出された全ての部品を交換したり、故障が検出された各部品を１つずつ交換することで故障の根本となる部品を特定した場合は、保守部財のコストや保守時間が増大する。このようなコストや保守時間の増大を防ぐため、情報処理装置が有する部品から故障を検出した際に、検出された故障の内容から故障の根本となる部品を特定し、特定した部品のみを通報する故障検出装置が知られている。
【０００４】
例えば、故障検出装置は、ある部品が故障した際に故障が波及する他の部品を階層化したパターンを予め記憶する。そして、障害検出装置は、何れかの部品から障害を検出した場合は、障害が他の部品に波及するまでの間、一定時間待機する。その後、障害検出装置は、待機後に故障が検出された部品のパターンと、予め記憶した部品のパターンとを比較することで、故障の根本となる部品を特定し、特定した部品の通報を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１２５００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、故障が検出された部品のパターンと予め記憶した部品のパターンとを比較して故障の根本となる部品を特定する技術では、故障した部品によらず一定時間待機するので、故障の根本となる部品を効率良く検出できないという問題がある。
【０００７】
例えば、故障検出装置は、故障が他の部品に波及するまでの時間よりも、待機する時間が短い場合は、波及する故障を全て検出することができないので、故障の根本となる部品を適切に検出できない。また、故障検出装置は、故障が他の部品に波及するまでの時間よりも、待機する時間が長い場合は、故障の根本となる部品の通知を遅延させてしまう。
【０００８】
なお、故障検出装置は、故障の根本となる部品が複数存在する多重障害が発生したか否かを判断するため、故障した部品のパターンと、予め記憶した部品のパターンとを、パターンの上位から下位に向かって階層ごとにそれぞれ比較する。このため、故障の根本となる部品を特定するまでの解析処理に時間がかかってしまう。
【０００９】
１つの実施形態では、本発明は、故障の根本となる部品を効率よく特定することを目的とする。
【課題を解決するための手段】
【００１０】
１つの実施形態では、情報処理装置が有する部品の故障を検出する故障検出装置である。故障検出装置は、情報処理装置が有する部品が故障した際に故障が波及する他の部品を示す波及情報を、部品ごとに記憶する第１の記憶部を有する。また、故障検出装置は、部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を、部品ごとに記憶する第２の記憶部を有する。また、故障検出装置は、部品の故障を最初に検出した場合は、第１の記憶装置から故障した部品の波及情報を取得し、第２の記憶装置から故障した部品の待機時間を読み出す。また、故障検出装置は、最初に故障を検出した部品と、読み出した待機時間が経過するまでの間、新たに故障した部品とを通報候補とする。そして、故障検出装置は、待機時間が経過した後に、通報候補のうち取得した波及情報に含まれていない部品を故障した部品として利用者に通報する。
【発明の効果】
【００１１】
１実施形態では、故障の根本となる部品を効率よく特定することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る故障箇所検出装置の機能構成を説明するための図である。
【図２】図２は、部品コード変換テーブルの一例を説明するための図である。
【図３】図３は、故障解析データベースの一例を説明するための図である。
【図４】図４は、根本故障と波及故障との関係を説明するための図である。
【図５】図５は、部品ごとに設定された重み付けの一例を説明するための図である。
【図６】図６は、優先度の一例を説明するための図である。
【図７】図７は、待機時間テーブルの一例を説明するための図である。
【図８】図８は、待機時間を説明するための図である。
【図９】図９は、待機時間の一例を説明するための図である。
【図１０】図１０は、故障箇所検出装置が実行する処理の流れを説明するためのフローチャートである。
【図１１】図１１は、障害検出部が障害を検出する処理の流れを説明するためのフローチャートである。
【図１２】図１２は、障害解析部が実行する処理の流れを説明するためのフローチャートである。
【図１３】図１３は、カウント中に実行する処理の流れを説明するためのフローチャートである。
【図１４】図１４は、優先度に応じて最小限の交換対象を決定する処理の流れを説明するためのフローチャートである。
【図１５】図１５は、故障検出プログラムを実行するコンピュータの一例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して本願に係る故障検出装置、故障検出方法および故障検出プログラムについて説明する。
【実施例１】
【００１４】
以下の実施例１では、図１を用いて、故障箇所検出装置の一例を説明する。図１は、実施例１に係る故障箇所検出装置の機能構成を説明するための図である。なお、図１に示す故障箇所検出装置１０は、少なくとも、情報処理装置等の監視対象装置１と接続し、監視対象装置１が有する部品から故障を検出する機能を有する。
【００１５】
図１に示すように、監視対象装置１は、Ｐｏｗｅｒ  Ｓｕｐｐｌｙ  Ｕｎｉｔ（ＰＳＵ：動力供給装置）２、Ｐｏｉｎｔ  Ｏｆ  Ｌｏａｄ（ＰＯＬ：降圧コンバータ）３、Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｂｕｓ  Ｃｏｎｖｅｒｔｅｒ（ＩＢＣ）４を有する。また、監視対象装置１は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）５を有する。また、ＡＳＩＣ５は、メモリ６、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）７を有する。
【００１６】
ここで、ＰＳＵ２は、監視対象装置１全体に電力を供給する電源装置であり、監視対象装置１が有する電源系統の接続関係を階層化した際に最上位の階層に位置する部品である。また、ＰＯＬ３は、ＰＳＵ２が供給する直流電圧を電力の供給対象に応じた電圧に降圧するコンバータである。また、ＩＢＣ４は、ＰＳＵ２やＰＯＬ３が供給する電力を、監視対象装置１が有するバスの規格に応じた電圧に変換するコンバータである。また、ＡＳＩＣ５は、監視対象装置１が有する各部品を管理する電子回路である。また、メモリ６は、ＡＳＩＣ５が処理を実行するためのデータ等を記憶する記憶装置である。また、ＣＰＵ７は、ＡＳＩＣ５が処理を実行するための演算処理を実行する演算処理装置である。
【００１７】
なお、図１では省略したが、監視対象装置１は、ＰＳＵ２、ＰＯＬ３、ＩＢＣ４、ＡＳＩＣ５と同様の機能を有する装置をさらに有する。また、監視対象装置１は、図示を省略した装置、例えば監視対象装置１の冷却を行う冷却ファンや水冷装置等、故障箇所検出装置１０の監視対象となる様々な部品を有するものとする。
【００１８】
一方、故障箇所検出装置１０は、障害検出部１１、障害解析部１６、記憶部２０、通報部２３、Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ（ＬＥＤ）制御部２４、操作部２５、エラーログ記憶部２６を有する。また、障害検出部１１は、部品コード変換テーブル１２、割り込み受付部１３、センサ制御部１４、部品コード変換部１５を有する。また、障害解析部１６は、故障箇所検索部１７、タイマ処理部１８、出力部１９を有する。また、記憶部２０は、故障解析データベース２１、待機時間テーブル２２を記憶する。
【００１９】
以下、故障箇所検出装置１０が発揮する機能について説明する。記憶部２０は、ある部品が故障した際に、故障が波及する他の部品を示す故障解析データベース２１と、ある部品が故障した際に故障が他の部品に波及するまで待機する待機時間を示す待機時間テーブル２２とを記憶する。また、障害検出部１１は、監視対象装置１が有する各部品２〜７を監視し、各部品２〜７が故障した場合は、故障した部品を障害解析部１６に通知する。
【００２０】
一方、障害解析部１６は、障害検出部１１から故障した部品の通知を受信すると、故障解析データベース２１を参照して故障が波及する部品を識別するとともに、待機時間テーブル２２を参照して故障した部品に応じた待機時間を識別する。また、障害解析部１６は、識別した待機時間が経過するまでの間、障害検出部１１が故障を検出した部品を識別する。そして、障害解析部１６は、待機時間が経過した後に、障害検出部１１から通知された部品のうち、故障解析データベース２１から識別した部品を除く部品、すなわち、故障の根本となる部品を特定する。その後、障害解析部１６は、特定した部品を通報する。
【００２１】
次に、障害検出部１１が有する部品コード変換テーブル１２、割り込み受付部１３、センサ制御部１４、部品コード変換部１５が実行する処理について説明する。まず、図２を用いて、部品コード変換テーブル１２の一例について説明する。
【００２２】
図２は、部品コード変換テーブルの一例を説明するための図である。図２に示す例では、部品コード変換テーブル１２は、部品、要因、部品コード、故障要因コードを対応付けて記憶する。例えば、図２に示す例では、部品コード変換テーブル１２は、部品「ＰＳＵ」と故障の要因「電圧異常」と部品コード「０ｘ０１」と故障要因コード「０ｘ０００１」とを対応付けて記憶する。
【００２３】
また、図２に示す例では、部品コード変換テーブル１２は、部品「ＩＢＣ」と故障の要因「電圧異常」と部品コード「０ｘ０２」と故障要因コード「０ｘ０００１」とを対応付けて記憶する。また、図２に示す例では、部品コード変換テーブル１２は、部品「ＰＯＬ＃３」と故障の要因「電圧異常」と部品コード「０ｘ０３」と故障要因コード「０ｘ０００１」とを対応付けて記憶する。
【００２４】
図１に戻って、割り込み受付部１３は、ＡＳＩＣ５が発行する割り込み通知を受信する。具体的には、取り込み受付部１３は、ＡＳＩＣ５が監視対象装置１が有する各部品２〜７のいずれかが故障した旨を示す割り込み通知をＡＳＩＣ５から受信する。すると、割り込み受付部１３は、割り込み通知を解析し、故障した部品を識別する。そして、割り込み受付部１３は、故障した部品をセンサ制御部１４と部品コード変換部１５に通知する。
【００２５】
センサ制御部１４は、監視対象装置１が有する各部品２〜７に設置されたセンサを制御する。例えば、センサ制御部１４は、割り込み受付部１３から部品の通知を受付けると、通知された部品のセンサを制御し、部品の状態を監視する。そして、センサ制御部１４は、監視結果から故障要因を特定し、特定した故障要因を部品コード変換部１５に通知する。例えば、センサ制御部１４は、割り込み受付部１３からＰＯＬ３の通知を受けた場合は、ＰＯＬ３の出力電圧等を監視し、ＰＯＬ３が出力する電圧に異常が検出される場合は、故障要因として電圧異常が生じている旨を部品コード変換部１５に通知する。
【００２６】
部品コード変換部１５は、割り込み受付部１３から故障した部品の通知を受付ける。また、部品コード変換部１５は、センサ制御部１４から故障要因の通知を受付ける。そして、部品コード変換部１５は、通知された部品と故障要因と対応付けられた部品コードと故障要因コードとを部品コード変換テーブル１２から取得し、取得した部品コードと故障要因コードとを障害解析部１６に出力する。
【００２７】
例えば、部品コード変換部１５は、割り込み受付部１３からＰＯＬ３が故障した旨の通知を受付け、センサ制御部１４から電圧異常が生じた旨の通知を受付ける。すると、部品コード変換部１５は、部品コード変換テーブル１２を参照し、部品「ＰＯＬ３」と故障要因「電圧異常」と対応付けられた部品コード「０ｘ０３」と故障要因コード「０ｘ０００１」とを取得する。そして、部品コード変換部１５は、取得した部品コード「０ｘ０３」と故障要因コード「０ｘ０００１」とを障害解析部１６に出力する。
【００２８】
次に、図３〜図９を用いて、記憶部２０が記憶する故障解析データベース２１、待機時間テーブル２２の内容について説明する。まず、図３、図４を用いて、故障解析データベース２１の内容について説明する。
【００２９】
図３は、故障解析データベース２１の一例を説明するための図である。図３に示すように、故障解析データベース２１は、部品コードが示す部品で故障要因コードが示す故障要因が生した際に、故障が波及する他の部品を示すエントリを、部品コードおよび故障要因コードごとに記憶する。
【００３０】
例えば、図３に示す例では、故障解析データベース２１は、部品コード、故障要因コード、波及対象箇所、相関関係部品、既故障情報、故障レベル、メッセージ番号、優先度、故障マークを対応付けて記憶する。ここで、波及対象箇所とは、同一エントリの部品コードが示す部品で同一エントリの故障要因コードが示す故障要因が生じた際に、故障が波及する他の部品を部品コードで示す情報である。
【００３１】
なお、図３に示す例では、故障解析データベース２１は、波及対象箇所を格納する領域として、各部品コードと対応付けた複数の領域を有し、故障が波及する部品を示す部品コードと対応付けた領域に丸印を格納することで、故障が波及する部品を示す。例えば、図３に示す例では、故障解析データベース２１は、部品コード「０ｘ０１」が示す部品から、故障要因コード「０ｘ０００１」が示す故障が生じた場合は、部品コード「０ｘ０２」、「０ｘ０３」、「０ｘ０４」、「０ｘ０５」、「０ｘ１０」が示す部品に故障が波及する旨を示す。
【００３２】
また、相関関係部品とは、故障した部品、あるいは故障が波及した部品と相関関係を有する部品や装置であり、例えば、故障した部品が電力を供給するＣＰＵ等の装置である。なお、図３に示す例では、故障解析データベース２１は、各相関関係部品を示す部品コードと対応付けた複数の領域を有し、丸印が付された領域と対応する部品コードが示す相関関係部品に障害が波及する旨を示す。
【００３３】
なお、図３に示す例では、故障解析データベース２１は、故障が波及する部品や相関関係部品と対応する領域に丸印を格納することで、故障が波及するか否かを示すが、実施例はこれに限定されるものではない。例えば、故障解析データベース２１は、故障が波及する部品や相関関係部品と対応する領域に「１」を格納し、故障が波及しない部品や相関関係部品と対応する領域に「０」を格納することで、故障が波及するか否かを示してもよい。
【００３４】
ここで、図４を用いて、故障した部品と波及故障との関係について説明する。図４は、根本故障と波及故障との関係を説明するための図である。なお、図４には、監視対象装置１が有する電源系と、電源系が電力を供給するＣＰＵ等の相関関係部品との接続関係を階層化して記載した。例えば、監視対処装置１は、最上位に２５０ボルトの交流電源を有し、２５０ボルトの交流電力を９個のＰＳＵ＃０〜＃８に供給する。
【００３５】
また、各ＰＳＵ＃０〜＃８は、２４個のＳｅｒｖｉｃｅ  Ｂｏａｒｄ（ＳＢ）＃０〜＃２３、Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｅｒｖｉｃｅ  Ｂｏａｒｄ（ＩＯＳＢ）＃０〜＃２３に電力を供給する。また、各ＰＳＵ＃０〜＃８は、Ｓｅｒｖｉｃｅ  Ｐｒｏｃｅｓｓｏｒ（ＳＰ）＃０、ＳＰ＃１、ＦＡＮコントローラ、センサボード、ＰＯＬ＃Ｆに電力を供給する。
【００３６】
また、ＩＯＳＢ＃０は、ＩＢＣ＃０〜＃２に電力を供給し、ＩＢＣ＃０〜＃２は、ＰＯＬ＃Ａ〜＃Ｅと、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）カードに電力を供給する。また、ＰＯＬ＃Ａは、ＣＰＵとＤｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ（ＤＩＭＭ)に電力を供給し、ＰＯＬ＃Ｂは、ＣＰＵとＡＳＩＣに電力を供給する。また、ＰＯＬ＃Ｃは、ＡＳＩＣに電力を供給し、ＰＯＬ＃Ｅは、ＰＣＩカードに電力を供給し、ＰＯＬ＃Ｆは、Ｍｅｍｏｒｙ  Ｂａｓｓ  Ｃｏｎｔｒｏｌｌｅｒ（ＭＢＣ）に電力を供給する。
【００３７】
ここで、監視対象装置１が図４のような接続関係を有する電源系と、相関関係部品とを有する際に、図４中星印で示すＩＢＣ＃０およびＩＢＣ＃１で故障が生じた場合には、ＩＢＣ＃０およびＩＢＣ＃１よりも下位の部品に電力が供給されなくなる。詳細には、ＩＢＣ＃０とＩＢＣ＃１とで故障が生じた場合には、図４中の三角印で示すＰＯＬ＃Ａ〜＃Ｅに電力が供給されなくなる。すると、ＰＯＬ＃Ａ〜＃Ｅは、故障していないにも係らず、正常な動作を行う事ができないため、故障が生じたと判断される。
【００３８】
また、故障した部品、および故障した部品よりも下位の部品が電力を供給する相関関係部品にも正常な電力が供給されなくなり、故障が生じたと判断される場合がある。詳細には、図４中の三角印で示すＣＰＵ、ＤＩＭＭ、ＡＳＩＣ、ＰＣＩカードに正常な電力が供給されなくなるため、ＣＰＵ、ＤＩＭＭ、ＡＳＩＣ、ＰＣＩカードが故障したと判断される場合がある。このため、監視対象装置１の電源系において、故障が生じた場合には、故障した部品よりも下位の部品や相関関係部品に故障が波及してしまう。
【００３９】
また、監視対象装置１が有する電源系、および相関関係部品の接続は、冗長化されているため、故障した部品ごとに、故障が波及する部品や相関関係部品は異なる。また、故障要因によっては、故障が波及しない部品も存在する。さらに、各部品から故障を検出する場合には、それぞれ異なる閾値が設定されるため、各部品から故障を検出する時間にはバラつきが存在する。そこで、故障箇所検出装置１０は、故障した部品および故障要因ごとに、故障が波及する部品と故障が波及する相関関係部品とを定義した故障解析データベース２１を予め記憶する。
【００４０】
図３に戻って、既故障情報とは、対応する部品コードと故障要因コードが示す故障を利用者に通知し、かつ、対応する部品コードが示す部品が交換されたか否かを示す情報である。例えば、既故障情報が「１」である場合は、対応する部品コードと故障要因コードが示す故障を利用者に通知したが、まだ部品の交換や修理等がされていない旨を示す。また、故障レベルとは、故障の重度を示す情報であり、例えば、故障によって未使用の部品には「ＡＬＡＲＭ」、使用可能であるが交換を促す場合には「ＷＡＲＮＩＮＧ」が格納される。また、メッセージ番号とは、故障した部品と故障要因とに応じて定まる番号であり、エラーログに格納するメッセージを示すメッセージ番号である。
【００４１】
また、優先度とは、故障の内容を利用者に通知する優先度を示す情報である。例えば、優先度は、同一エントリの部品コードおよび故障要因コードが示す故障の内容が深刻なものほど大きい値が格納される。このような優先度は、各部品が故障した際の深刻度合いに基づいて算出することができる。例えば、あらかじめ各部品が故障した際の深刻度合いを示す数値を重み付けとして各部品に付与し、故障が波及する部品に付与された数値の和の値を優先度とすることができる。
【００４２】
以下、図５、図６を用いて、優先度を算出する処理の一例を説明する。まず、図５を用いて、各部品に付与する重み付けの一例について説明する。図５は、部品ごとに設定された重み付けの一例を説明するための図である。図５に示す例では、ラック、ＰＳＵ、ＳＢ、ＩＯＳＢ、ＣＰＵ、メモリ、ＦＡＮ、環境センサ、ＩＢＣ、ＰＯＬ＃Ａ、ＰＯＬ＃Ｃ、ＳＰＢに対して重みを付与した例を示す。
【００４３】
例えば、ラック、ＳＢ、ＩＯＳＢ、環境センサ、ＳＰＢ等、故障した際にシステムが停止する可能性が高い部品に対しては、重み付けの最大値として「３２」が付与される。また、ＰＳＵ、ＣＰＵ、メモリ、ＦＡＮ等、故障した際にシステムが停止する可能性が低いものの、大幅に性能が劣化したり、データの復旧が困難になる等運用上の問題が発生する部品に対しては、重み付けとして「１６」が付与される。また、ＩＢＣ、ＰＯＬ＃Ａ、ＰＯＬ＃Ｃ等、故障した際の緊急性が無いものや、冗長化された部品であるが、故障を放置しないほうがよい部品については、それぞれ「１５」よりも低い値が重み付けとして付与される。
【００４４】
次に、図６を用いて、部品ごとに付与された重み付けを用いて優先度を算出する処理の一例を説明する。図６は、優先度の一例を説明するための図である。例えば、図６に示すテーブルには、メッセージ番号と、メッセージ番号が示す内容の故障が発生した際に故障した部品が実装されている実装位置とが対応付けて記憶されている。また、このテーブルには、部品と対応付けられた複数の領域が各メッセージ番号と対応付けられており、メッセージ番号が示す故障が生じた際に、故障が波及する部品と対応付けられた領域に重み付けの数値が格納されている。
【００４５】
そして、各メッセージ番号と対応付けられた領域に格納されている数値の和を優先度とすることで、故障が波及する部品にシステムが停止する可能性が高い部品を多く含む故障、すなわち深刻な故障に対しては、高い優先度を付与することができる。例えば、メッセージ番号「０ｘ１００００００１」が示す故障には、ＩＢＣに付与された重み付け「２」、ＰＯＬ＃ＡおよびＰＯＬ＃Ｃに付与された重み付け「１」の和である「４」が優先度として付与される。一方、メッセージ番号「０ｘ１００００５００」が示す故障が発生すると、ＳＢに故障が波及してしまうため、メッセージ番号「０ｘ１００００５００」が示す故障には、優先度は「３２」が付与される。
【００４６】
このように、各部品に対して故障した際の深刻度合いに応じた重み付けを行い、故障が波及する部品に対して付与された重み付けの和を算出することで、故障が発生した際に通知を行う優先度を算出することができる。
【００４７】
図３に戻って、故障マークとは、障害検出部１１が障害を検出した部品と故障要因とを示す情報であり、故障が検出された場合には丸印が格納される。例えば、障害解析部１６は、待機時間が経過するまでの間に、障害検出部１１が障害を検出した部品と故障要因とに応じたエントリの故障マークの欄に丸印を格納する。
【００４８】
次に、図７〜図９を用いて、待機時間テーブル２２の一例について説明する。図７は、待機時間テーブルの一例を説明するための図である。図７に示すように、待機時間テーブル２２は、部品コード、故障要因コード、待機時間を対応付けて記憶する。ここで、待機時間とは、同一エントリの部品コードが示す部品において故障要因コードが示す故障が生じた際に、障害解析部１６が、検出された故障が根本となる故障であるか波及した故障であるかを判別する処理を待機する時間である。
【００４９】
例えば、図７に示す例では、待機時間テーブル２２は、部品コード「０ｘ０１」が示す部品において故障要因コード「０ｘ０００１」が示す故障が生じた場合には、待機時間が「１２００」ミリ秒である旨を示す。また、図７に示す例では、待機時間テーブル２２は、部品コード「０ｘ０２」が示す部品において故障要因コード「０ｘ０００１」が示す故障が生じた場合には、待機時間が「１０００」ミリ秒である旨を示す。
【００５０】
このように、待機時間テーブル２２は、故障が検出された部品と、故障要因とに応じた待機時間を記憶する。そして、障害解析部１６は、故障が検出された部品と故障要因とに応じた待機時間だけ、検出された故障が根本となる故障であるか波及した故障であるかを判別する処理を待機する。このため、故障箇所検出装置１０は、根本となる故障が生じた部品を効率的に特定することができる。
【００５１】
ここで、図８を用いて、待機時間テーブル２２が記憶する待機時間の算出例について説明する。図８は、待機時間を説明するための図である。なお、図８に示す例では、監視対象装置１は、図４に示した接続関係を有する電源系と相関関係部品とを有する例について記載する。
【００５２】
例えば、図８中（Ａ）に示すＰＳＵ＃８が故障した場合には、図８中（Ｂ）に示すＩＯＳＢ＃０に故障が波及し、次に図８中（Ｃ）に示すＩＢＣ＃０に故障が波及し、その後、図８中（Ｄ）に示すＰＯＬ＃Ａに故障が波及する。このため、ＰＯＬ＃ＡやＩＢＣ＃０よりも上位に位置するＰＳＵ＃８が故障した場合は、ＰＯＬ＃Ａ、ＩＢＣ＃０、ＩＯＳＢ＃０に設定された待機時間よりも長い待機時間を設定しなければ、故障が波及するであろう装置から故障を検出することができない。
【００５３】
そこで、待機時間テーブル２２は、ある部品が故障した際に故障が波及する最上位の部品から、最下位の部品までの経路上に含まれる部品について、各部品が故障した際に他の部品に故障が波及するまでの時間の和を、故障した部品の待機時間として記憶する。以下、図９を用いて、各部品の待機時間を算出する処理の一例を説明する。
【００５４】
図９は、待機時間の一例を説明するための図である。例えば、図９に示す例では、ＰＳＵ＃８は、故障した際に３００ミリ秒で他の部品に故障を波及させ、ＩＢＣ＃０は、４００ミリ秒で他の部品に故障を波及させ、ＰＯＬ＃Ａは、５００ミリ秒で他の部品に故障を波及させる。このような場合には、ＰＳＵ＃８には、ＰＳＵ＃８、ＩＢＣ＃０、ＰＯＬ＃Ａが他の部品に故障を波及させる時間の合計である１２００ミリ秒が待機時間として設定される。
【００５５】
なお、図９に示す例では、故障が波及する部品のみを考慮して待機時間を計算する例を示したが、実施例はこれに限定されるものではなく、故障要因を考慮した待機時間を計算してよい。例えば、電源喪失等、他の部品に対して即時に故障が波及するような故障要因については、待機時間を所定の割合だけ減少させた値や、所定の割合だけ増加させた値としてもよい。
【００５６】
次に、図１に戻って、障害解析部１６が有する故障箇所検索部１７、タイマ処理部１８、出力部１９が実行する処理について説明する。故障箇所検索部１７は、障害検出部１１が故障を検出すると、故障した部品に応じた待機時間が経過するまでの間、障害検出部１１が故障を検出した部品を識別する。そして、故障箇所検索部１７は、待機時間が経過した後に、識別した部品のうち、故障した部品の波及情報に含まれていない部品を判別する。
【００５７】
具体的には、故障箇所検索部１７は、障害検出部１１から部品コードと故障要因コードとを受信、部品コードと故障要因コードとをタイマ処理部１８に通知することで、タイマのセットを行う。また、故障箇所検索部１７は、故障解析データベース２１にアクセスし、受信した部品コードと故障要因コードとに応じたエントリの故障マークの欄に丸印を格納することで、故障が波及する部品を識別する。
【００５８】
そして、故障箇所検索部１７は、タイマ処理部１８から待機時間が経過した旨を示すタイムアウト通知を受信するまでの間、以下の処理を実行する。まず、故障箇所検索部１７は、障害検出部１１から新たな部品コードと故障要因コードとを受信すると、新たな部品コードと故障要因コードとに応じたエントリの故障マークの欄に丸印を格納する。
【００５９】
また、故障箇所検索部１７は、故障マークの欄に丸印が格納されたエントリを識別し、識別したエントリの波及対象箇所、及び相関関係部品の欄に丸印が格納された部品の部品コードを特定する。すなわち、故障箇所検索部１７は、障害検出部１１が故障を検出した各部品が故障した際に、故障が波及する部品を特定する。
【００６０】
その後、故障箇所検索部１７は、新たに受信した部品コードが特定した部品コードに含まれているか否かを判別することで、新たに検出した故障が波及による故障であるか否かを判別する。そして、故障箇所検索部１７は、新たに受信した部品コードが特定した部品コードに含まれている場合は、新たに受信した部品コードと故障要因コードとが格納されたエントリの故障マークの欄を「該当」に変更する。
【００６１】
一方、故障箇所検索部１７は、新たに受信した部品コードが特定した部品コードに含まれていない場合、すなわち、新たに検出した故障が波及による故障ではない場合は、以下の処理を実行する。まず、故障箇所検索部１７は、新たに受信した部品コードと故障要因コードとをタイマ処理部１８に送信することで、新たなタイマをセットする。そして、故障箇所検索部１７は、故障解析データベース２１にアクセスし、新たな部品コードと故障要因コードとに応じたエントリの故障マークの欄に丸印を格納し、故障が波及する部品を識別する。
【００６２】
一方、故障箇所検索部１７は、タイマ処理部１８から待機時間が経過した旨を示すタイムアウト通知を受信すると、以下の処理を実行する。まず、故障箇所検索部１７は、故障解析データベース２１のうち、「該当」が格納された故障マークの欄をクリアする。次に、故障箇所検索部１７は、タイムアウト通知されたタイマをセットした際に通知した部品コードと故障要因コードとが格納されたエントリを特定し、特定したエントリの既故障情報が「０」であるか否かを判別する。
【００６３】
そして、故障箇所検索部１７は、特定したエントリの既故障情報が「０」である場合は、故障マークの欄に丸印が格納されたエントリのうち、特定したエントリの優先度が最も高いか否かを判別する。その後、故障箇所検索部１７は、特定したエントリの優先度が最も高い場合は、特定したエントリのメッセージコードを出力部１９に出力する。また、故障箇所検索部１７は、選択したエントリの既故障情報に「１」を格納し、故障マークを削除する。一方、故障箇所検索部１７は、特定したエントリの優先度よりも高い優先度のエントリが存在すると判別した場合は、メッセージコードの出力を行わない。
【００６４】
なお、故障箇所検索部１７は、障害検出部１１から受信した部品コードと故障要因コードとが格納されたエントリが故障解析データベース２１に格納されていない場合は、未登録事象が発生した旨を出力部１９に通知する。
【００６５】
タイマ処理部１８は、障害検出部１１が故障を検出した部品に応じた待機時間を待機時間テーブル２２から取得し、取得した待機時間のカウントを行う。具体的には、タイマ処理部１８は、障害検出部１１が故障を検出した部品の部品コードと、故障要因コードとを故障箇所検索部１７から受信する。すると、タイマ処理部１８は、受信した部品コード、および故障要因コードと対応付けられた待機時間を待機時間テーブル２２から取得し、取得した待機時間のカウントを開始する。
【００６６】
また、タイマ処理部１８は、待機時間のカウント中に、新たな部品コードと故障要因コードとを故障箇所検索部１７から受信すると、新たに受信した部品コードと故障要因コードとに対応付けられた待機時間を待機時間テーブル２２から取得する。そして、タイマ処理部１８は、新たに取得した待機時間を、既にカウント中の待機時間とは個別にカウントする。その後、タイマ処理部１８は、カウントが終了した場合には、タイムアウトを故障箇所検索部１７に通知する。
【００６７】
なお、タイマ処理部１８は、カウントが終了した待機時間が、どの部品コードと故障要因コードとに係る待機時間であるかが識別できるように、タイムアウトを通知する。例えば、タイマ処理部１８は、カウントが終了した待機時間と対応付けて待機時間テーブル２２に記憶された部品コードと故障要因コードとをタイムアウトとともに通知してもよい。
【００６８】
出力部１９は、故障箇所検索部１７からメッセージ番号を受信すると、受信したメッセージ番号を用いて、故障の通報を行う。例えば、出力部１９は、受信したメッセージ番号を通報部２３、ＬＥＤ制御部２４、操作部２５、エラーログ記憶部２６に出力する。
【００６９】
すると、通報部２３は、出力部１９から受信したメッセージ番号が示す故障内容の表示や警告音等を出力して、利用者に故障が発生した旨を通報する。また、ＬＥＤ制御部２４は、メッセージ番号が示す故障内容に応じたＬＥＤの点灯や点滅等による警告を行う。また、操作部２５は、受信したメッセージ番号が示す故障の内容に応じて、監視対象装置１のシャットダウンやパワーオフ、リセット等の制御を行う。
【００７０】
また、エラーログ記憶部２６は、メッセージ番号を記憶することで、監視対象装置１において発生した故障のログを記憶する。なお、出力部１９は、故障箇所検索部１７から未登録事象が発生した旨の通知を受信すると、通報部２３、ＬＥＤ制御部２４等を用いて、未登録事象が発生した旨を利用者に通報する。
【００７１】
次に、図１０を用いて、故障箇所検出装置１０が実行する処理の流れを説明する。図１０は、故障箇所検出装置１０が実行する処理の流れを説明するためのフローチャートである。まず、故障箇所検出装置１０は、故障が発生したか否かを判別し（ステップＳ１０１）、故障が発生していない場合は（ステップＳ１０１否定）、再度故障が発生したか否かを判別する。そして、故障箇所検出装置１０は、故障が発生したと判別した場合は（ステップＳ１０１肯定）、波及対象箇所を取得し（ステップＳ１０２）、故障した部品に応じた待機時間を取得する（ステップＳ１０３）。
【００７２】
そして、故障箇所検出装置１０は、部品に応じた待機時間の間、故障の検出を継続する（ステップＳ１０４）。次に、故障箇所検出装置１０は、待機時間を経過したか否かを判別し（ステップＳ１０５）、経過していない場合は（ステップＳ１０５否定）、ステップＳ１０４の処理を実行する。一方、故障箇所検出装置１０は、待機時間を経過した場合は（ステップＳ１０５肯定）、故障が波及した部品を特定し（ステップＳ１０６）、故障が波及した部品を故障の対象から除外する（ステップＳ１０７）。そして、故障箇所検出装置１０は、優先度を用いて、交換対象となる最小限の対象を通報し（ステップＳ１０８）、処理を終了する。
【００７３】
次に、図１１を用いて、障害検出部１１が実行する処理の流れについて説明する。図１１は、障害検出部が障害を検出する処理の流れを説明するためのフローチャートである。まず、障害検出部１１は、割り込み通知を受信すると、割り込み箇所から故障した部品を特定する（ステップＳ２０１）。次に、障害検出部１１は、特定した部品に係るセンサの観測値を取得する（ステップＳ２０２）。そして、障害検出部１１は、特定した部品の部品コードと、センサの観測値から求めた故障要因コードとを障害解析部１６へ送信し（ステップＳ２０３）、処理を終了する。
【００７４】
次に、図１２を用いて、障害解析部１６は、障害検出部１１から部品コードと故障要因コードとを受信した際に実行する処理の流れについて説明する。まず、障害解析部１６は、部品コードと故障要因コードとを受信する（ステップＳ３０１）。次に、障害解析部１６は、故障解析データベース２１のエントリを１つ参照し（ステップＳ３０２）、エントリの部品コード、および故障要因コードと、受信した部品コードと故障要因コードとを比較する（ステップＳ３０３）。
【００７５】
そして、障害解析部１６は、エントリの部品コードと故障要因コードが受信したコードと一致した場合は（ステップＳ３０４肯定）、故障マークの欄に丸印をつけて（ステップＳ３０５）、処理を終了する。一方、障害解析部１６は、エントリの部品コードと障害要因コードとが受信したコードと一致しない場合は（ステップＳ３０４否定）、参照したエントリが故障解析データベース２１の最後のエントリであるか否かを判別する（ステップＳ３０６）。
【００７６】
そして、障害解析部１６は、参照したエントリが故障解析データベース２１の最後のエントリである場合は（ステップＳ３０６肯定）、未登録事象を示すエラーを利用者に発行し（ステップＳ３０７）、処理を終了する。また、障害解析部１６は、参照したエントリが故障解析データベースの最後のエントリではない場合は（ステップＳ３０６否定）、次のエントリを参照し（ステップＳ３０８）、ステップＳ３０３の処理を実行する。
【００７７】
次に、図１３を用いて、待機時間のカウント中に障害解析部１６が実行する処理の流れを説明する。図１３は、カウント中に実行する処理の流れを説明するためのフローチャートである。まず、障害解析部１６は、故障解析データベース２１から待機時間を読み込み（ステップＳ４０１）、カウントを開始する。ここで、障害解析部１６は、新たに受信した部品コードと故障要因コードとを受信すると、以下の処理を実行する。まず、障害解析部１６は、故障解析データベース２１を参照し、新たに受信した部品コードと故障要因コードとが格納されたエントリに既故障情報「１」が格納されているか否かを判別する（ステップＳ４０２）。
【００７８】
そして、障害解析部１６は、既故障情報が「１」ではない場合は（ステップＳ４０２否定）、受信した部品コードが示す部品が、故障が波及する部品であるか否かを判別する（ステップＳ４０３）。その後、障害解析部１６は、受信した部品コードが示す部品が、故障が波及する部品であると判別した場合は（ステップＳ４０３肯定）、受信した部品コードと故障要因コードとが格納されたエントリの故障マークを「該当」に変更する（ステップＳ４０４）。
【００７９】
その後、障害解析部１６は、待機時間が経過したか否かを判別し（ステップＳ４０５）、経過したと判別した場合は（ステップＳ４０５肯定）、「該当」となっている故障マークをクリアし（ステップＳ４０６）、処理を終了する。一方、障害解析部１６は、新たに受信した部品コードと故障要因コードとが格納されたエントリに既故障情報「１」が格納されている場合は（ステップＳ４０２肯定）、ステップＳ４０５の処理を実行する。また、障害解析部１６は、待機時間が経過していない場合は（ステップＳ４０５否定）、新たに検出された故障について、ステップＳ４０２の処理を実行する。
【００８０】
また、障害解析部１６は、受信した部品コードが示す部品が、故障が波及する部品ではないと判別した場合は（ステップＳ４０３否定）、ステップＳ４０１の処理を実行する。すなわち、障害解析部１６は、新たに受信した部品コードと故障要因コードに応じた待機時間を待機時間テーブルから読み込み、個別にカウントを開始する（ステップＳ４０１）。
【００８１】
次に、図１４を用いて、障害解析部１６が優先度に応じて最小限の交換対象を決定する処理の流れを説明する。図１４は、優先度に応じて最小限の交換対象を決定する処理の流れを説明するためのフローチャートである。なお、障害解析部１６は、タイムアウトしたタイマがカウントしていた待機時間に係る部品コードと故障要因コードとが格納されたエントリを処理の対象エントリとして、図１４に示す処理を実行する。
【００８２】
まず、障害解析部１６は、対象エントリの既故障情報が「１」であるか否かを判別し（ステップＳ５０１）、既故障情報が「１」ではない場合は（ステップＳ５０１否定）、故障マークに丸印が格納されたエントリが複数存在するか否かを判別する（ステップＳ５０２）。そして、障害解析部１６は、故障マークに丸印が格納されたエントリが対象エントリだけである場合は（ステップＳ５０２否定）、対象エントリの故障マークをクリアする（ステップＳ５０３）。次に、障害解析部１６は、対象エントリのメッセージ番号が示す故障内容をエラーログに登録し（ステップＳ５０４）、処理を終了する。
【００８３】
一方、障害解析部１６は、故障マークに丸印が格納されたエントリが複数存在する場合は（ステップＳ５０２肯定）、故障マークに丸印が格納されたエントリの中で、対象エントリの優先度が一番高いか否かを判別する（ステップＳ５０５）。また、障害解析部１６は、対象エントリよりも優先度が高いエントリが存在する場合は（ステップＳ５０５否定）、対象エントリの故障マークをクリアし（ステップＳ５０６）、処理を終了する。また、障害解析部１６は、対象エントリの優先度が一番高い場合は（ステップＳ５０５肯定）、ステップＳ５０４の処理を実行する。また、障害解析部１６は、既故障情報が「１」である場合は（ステップＳ５０１肯定）、エラーログへの登録を行わずに処理を終了する（ステップＳ５０７）。
【００８４】
［実施例１の効果］
上述したように、故障箇所検出装置１０は、監視対象装置１が有する部品２〜７が故障した際に故障が波及する他の部品を示す故障解析データベース２１を記憶する。また、故障箇所検出装置１０は、部品２〜７が故障した際に、他の部品へ故障が波及するまで待機する待機時間を待機時間テーブル２２として記憶する。そして、故障箇所検出装置１０は、監視対象装置１の各部品２〜７から故障を検出すると、故障を検出した部品から故障が波及する他の部品の情報を故障解析データベース２１から取得し、故障を検出した部品の待機時間を待機時間テーブル２２から取得する。
【００８５】
その後、故障箇所検出装置１０は、待機時間が経過するまでの間、新たに故障を検出した部品を識別し、待機時間が経過した後に、識別した部品のうち故障解析データベース２１から情報を取得した部品以外の部品を特定する。このように、故障箇所検出装置１０は、故障した部品に応じた待機時間の間だけ待機するので、故障の根本となる部品を効率良く特定することができる。
【００８６】
また、故障箇所検出装置１０は、待機時間が経過するまでの間に新たな故障を検出した場合は、新たに故障を検出した部品が、既に故障を検出した部品から故障が波及する部品であるか否かを判別する。そして、故障箇所検出装置１０は、新たに故障を検出した部品が、既に故障を検出した部品から故障が波及する部品である場合は、新たに故障を検出した部品を通報の対象から除外する。その後、故障箇所検出装置１０は、待機時間の間に故障を検出した部品のうち、通報の対象から除外しなかった部品を通報する。このため、故障箇所検出装置１０は、根本となる故障が複数の部品で発生した場合にも、各部品が故障した旨を利用者に通報することができる。
【００８７】
また、故障箇所検出装置１０は、新たに故障を検出した部品が既に故障を検出した部品から故障が波及する部品ではない場合は、新たに故障を検出した部品から故障が波及する部品の情報と、待機時間とを取得する。そして、故障箇所検出装置１０は、新たに取得した部品の情報と待機時間とを用いて、その後検出した故障が波及による故障であるか否かを判別する。このため、故障箇所検出装置１０は、根本となる故障が複数の部品で発生した場合にも、根本となる故障が発生した部品をそれぞれ効率よく特定することができる。
【００８８】
また、故障箇所検出装置１０は、ある部品が故障した際に故障が波及する部品のうち、最下位の階層に位置する部品から最上位の階層に位置する部品までの経路に含まれる部品が故障を波及させる時間の和を、待機時間として記憶する。このため、故障箇所検出装置１０は、上位の階層に位置する部品については、他の部品よりも長い時間待機し、下位の階層に位置する部品については、他の部品よりも短い時間待機するので、適切な待機時間で根本となる故障が発生した部品を特定することができる。
【００８９】
また、故障箇所検出装置１０は、故障した部品の優先度を記憶し、特定した部品のうち、最も優先度が高い部品を通報する。このため、故障箇所検出装置１０は、優先的に通報すべき部品から先に利用者に通報することができる。
【００９０】
また、故障箇所検出装置１０は、各部品に対して、故障した際の深刻度に応じた重み付けを行い、故障が波及する部品に対して付与された重み付けの値の和を優先度とする。このため、故障箇所検出装置１０は、故障した際により深刻な障害が発生する部品を優先的に通報することができる。
【００９１】
また、故障箇所検出装置１０は、部品と部品の故障要因との組ごとに、故障が波及する部品と待機時間とを記憶する。そして、故障箇所検出装置１０は、故障が検出された部品と、検出された故障要因とに応じて、故障が波及する部品と待機時間とを取得する。この結果、故障箇所検出装置１０は、故障要因を考慮した待機時間を採用しつつ、検出された故障が波及した故障であるか否かを故障要因を考慮して判別するので、より効率的に根本となる故障が発生した部品を特定することができる。
【００９２】
また、故障箇所検出装置１０は、特定した部品のうち、また通報が行われていない部品のみを通報する。このため、故障箇所検出装置１０は、同一の部品を何度も通報することによる負荷を削減できる。
【００９３】
また、故障箇所検出装置１０は、割り込みによる故障通知を監視対象装置１から受信すると、故障通知から故障した部品を特定し、特定した部品が正常に動作しているか否かを判別する。このため、故障箇所検出装置１０は、監視対象装置１において発生した故障を適切に検出することができる。
【実施例２】
【００９４】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【００９５】
（１）故障の検出について
上述した故障箇所検出装置１０は、監視対象装置１からの割り込み通知をトリガとして、故障を検出した。しかし、実施例はこれに限定されるものではなく、例えば、故障箇所検出装置１０は、ポーリングで故障を検出してもよい。また、故障箇所検出装置１０は、監視対象装置１のセンサを常時監視し、異常を検出した場合は、故障を検出したと判別してもよい。
【００９６】
（２）故障解析データベース、および待機時間テーブルについて
上述した故障箇所検出装置１０は、故障解析データベース２１と待機時間テーブル２２とを異なるデータとして記憶していた。しかし、実施例はこれに限定されるものではなく、故障箇所検出装置１０は、故障解析データベース２１と待機時間テーブル２２とを同一のデータにまとめて記憶しても良い。また、故障箇所検出装置１０は、故障箇所検索部１７とタイマ処理部１８の機能とを統合してもよい。
【００９７】
なお、実施例１で例示した故障解析データベース２１と待機時間テーブル２２に格納された各情報は、あくまで一例であり、監視対象装置１の実装によって任意の値を設定することができる。すなわち、故障箇所検出装置１０は、監視対象装置１の実装に応じた値を故障解析データベース２１と待機時間テーブル２２とに設定することで、任意の装置における故障が発生した際に、根本となる故障が発生した部品を効率的に特定することができる。
【００９８】
（３）故障箇所検出装置について
上述した故障箇所検出装置１０は、監視対象装置１とは異なる装置として動作した。しかし、実施例はこれに限定されるものではなく、故障箇所検出装置１０は、監視対象装置１の内部に設置されてもよく、また、監視対象装置１の一部として動作してもよい。
【００９９】
（４）プログラム
ところで、実施例１に係る故障箇所検出装置１０は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータが実行することによって実現するようにしてもよい。そこで、以下では、図１５を用いて、実施例１に示した故障箇所検出装置１０と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１５は、故障検出プログラムを実行するコンピュータの一例を説明するための図である。
【０１００】
図１５に例示されたコンピュータ１００は、Read  Only  Memory（ＲＯＭ）１１０、Hard  Disk  Drive（ＨＤＤ）１２０、Random  Access  Memory（ＲＡＭ）１３０、Central  Processing  Unit（ＣＰＵ）１４０がバス１６０で接続される。また、図１１に例示されたコンピュータ１００は、利用者に故障した部品を通報するためのInput  Output（Ｉ／Ｏ）１５０を有する。
【０１０１】
ＨＤＤ１２０は、図１に示す故障解析データベース２１と同様の情報である故障解析データベース１２１と、図１に示す待機時間テーブル２２と同様の情報である待機時間テーブル１２２を記憶する。また、ＲＡＭ１３０には、故障検出プログラム１３１があらかじめ保持される。ＣＰＵ１４０が故障検出プログラム１３１をＲＡＭ１３０から読み出して実行することによって、図１５に示す例では、故障検出プログラム１３１は、故障検出プロセス１４１として機能するようになる。なお、故障検出プロセス１４１は、図１に示した障害検出部１１および障害解析部１６と同様の処理を実行する。
【０１０２】
なお、本実施例で説明した故障検出プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、Compact  Disc  Read  Only  Memory（ＣＤ−ＲＯＭ）、Magneto  Optical  Disc（ＭＯ）、Digital  Versatile  Disc（ＤＶＤ）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【０１０３】
また、故障検出プログラムは、アプリケーションプログラムとしてのみならず、Operating  System（ＯＳ）が有する機能の一部として、あるいはファームウェアの一部として機能することも可能である。また、故障検出プログラムは、監視対象となる部品を有する装置とは異なる装置として動作するコンピュータが実行しても良く、また、監視対象となる部品を有するコンピュータが実行することとしても良い。
【０１０４】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０５】
（付記１）情報処理装置が有する部品が故障した際に故障が波及する他の部品を示す波及情報を、前記部品ごとに記憶する第１の記憶部と、
前記部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を、前記部品ごとに記憶する第２の記憶部と、
前記部品の故障を検出する検出部と、
前記検出部が最初の故障を検出すると、当該故障が検出された部品の波及情報を前記第１の記憶部から取得し、当該故障が検出された部品の待機時間を前記第２の記憶部から取得する取得部と、
前記検出部が最初に故障を検出した部品と、前記取得部が取得した待機時間が経過するまでの間に前記検出部が新たに故障を検出した部品とを通報候補とし、前記待機時間が経過した後に、当該通報候補のうち前記取得部が取得した波及情報に含まれていない部品を故障した部品として利用者に通報する通報部と
を有することを特徴とする故障検出装置。
【０１０６】
（付記２）前記通報部は、前記検出部が新たに故障を検出した場合は、当該新たに故障を検出した部品が前記取得部が取得した波及情報に含まれているか否かを判別し、当該新たに故障を検出した部品が前記取得部が取得した波及情報に含まれていると判別した場合には、当該検出部が新たに故障を検出した部品を通報候補から除外することを特徴とする付記１に記載の故障検出装置。
【０１０７】
（付記３）前記取得部は、前記検出部が新たに故障を検出した部品が前記波及情報に含まれていない場合は、当該検出部が新たに故障を検出した部品の波及情報と待機時間とを新たに取得し、
前記通報部は、前記検出部が新たに故障を検出した部品と、前記取得部が新たに取得した待機時間の間に前記検出部が故障を検出した部品とを通報候補とし、当該待機時間が経過した後に、当該通報候補のうち前記取得部が新たに取得した波及情報に含まれていない部品を故障した部品として利用者に通報することを特徴とする付記２に記載の故障検出装置。
【０１０８】
（付記４）前記第１の記憶部は、前記部品が故障した際に故障が波及する他の部品を接続関係に基づく階層に応じた波及情報を記憶し、
前記第２の記憶部は、前記部品が故障した際に故障が波及する他の部品のうち、最下位の階層に位置する部品から最上位の階層に位置する部品までの経路に含まれる部品から他の装置に故障が波及するまでの時間の和を該部品の待機時間として記憶することを特徴とする付記１−３のいずれか１つに記載の故障検出装置。
【０１０９】
（付記５）故障した部品を交換する優先度を、前記情報処理装置が有する部品ごとに記憶する第３の記憶部を有し、
前記通報部は、前記通報候補のうち前記取得部が取得した波及情報に含まれていない部品であって、前記第３の記憶部が記憶する優先度が最も高い部品を故障した部品として利用者に通報することを特徴とする付記１−４のいずれか１つに記載の故障検出装置。
【０１１０】
（付記６）前記第３の記憶部は、前記部品が故障した際に故障が波及する他の部品について、各部品に付与された重み付けの値の和を算出することで得られる値を前記部品の優先度として記憶することを特徴とする付記５に記載の故障検出装置。
【０１１１】
（付記７）前記第１の記憶部は、前記部品および当該部品が故障する要因ごとに前記波及情報を記憶し、
前記第２の記憶部は、前記部品および当該部品が故障する要因ごとに前記他の部品へ故障が波及するまで待機する待機時間を記憶し、
前記検出部は、前記部品の故障とともに、当該部品が故障した要因を検出し、
前記取得部は、前記検出部が故障を検出した部品と、前記検出部が検出した要因とに対応する前記波及情報を前記第１の記憶部から取得し、前記検出部が故障を検出した部品と、前記検出部が検出した要因とに対応する待機時間を前記第２の記憶部から取得することを特徴とする付記１−６のいずれか１つに記載の故障検出装置。
【０１１２】
（付記８）前記通報部は、前記通報候補のうち前記取得部が取得した波及情報に含まれていない部品であって、前記利用者に通報していない部品のみを通報することを特徴とする付記１−７のいずれか１つに記載の故障検出装置。
【０１１３】
（付記９）前記検出部は、割り込みによる故障通知を受信すると、当該故障通知から故障した部品を特定し、特定した部品が正常に動作しているか否かを判別し、特定した部品が正常に動作していない場合には、当該部品が故障していると判定することを特徴とする付記１−８のいずれか１つに記載の故障検出装置。
【０１１４】
（付記１０）情報処理装置が有する部品の故障を検出する故障検出装置が、
前記部品の故障を最初に検出した場合は、前記情報処理装置が有する部品が故障した際に故障が波及する他の部品を示す波及情報を前記部品ごとに記憶する第１の記憶装置から、該故障を検出した部品の波及情報を取得し、
前記情報処理装置が有する部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を前記部品ごとに記憶する第２の記憶装置から、前記故障を検出した部品の待機時間を読み出し、
前記最初に故障を検出した部品と、前記読み出した待機時間が経過するまでの間、新たに故障した部品とを通報候補とし、当該待機時間が経過した後に、前記通報候補のうち前記取得した波及情報に含まれていない部品を故障した部品として利用者に通報する
処理を実行することを特徴とする故障検出方法。
【０１１５】
（付記１１）前記新たに故障を検出した場合は、当該新たに故障を検出した部品が前記取得した波及情報に含まれているか否かを判別し、当該新たに故障を検出した部品が前記取得した波及情報に含まれていると判別した場合には、当該新たに故障を検出した部品を通報候補から除外することを特徴とする付記１０に記載の故障検出方法。
【０１１６】
（付記１２）前記新たに故障を検出した部品が前記波及情報に含まれていない場合は、当該新たに故障を検出した部品の波及情報と待機時間とを新たに取得し、
前記新たに故障を検出した部品と、前記新たに取得した待機時間の間に故障を検出した部品とを通報候補とし、当該待機時間が経過した後に、当該通報候補のうち前記新たに取得した波及情報に含まれていない部品を故障した部品として利用者に通報することを特徴とする付記１１に記載の故障検出方法。
【０１１７】
（付記１３）前記第１の記憶装置は、前記部品が故障した際に故障が波及する他の部品を接続関係に基づく階層に応じた波及情報を記憶し、
前記第２の記憶装置は、前記部品が故障した際に故障が波及する他の部品のうち、最下位の階層に位置する部品から最上位の階層に位置する部品までの経路に含まれる部品から他の装置に故障が波及するまでの時間の和を該部品の待機時間として記憶することを特徴とする付記１０−１２のいずれか１つに記載の故障検出方法。
【０１１８】
（付記１４）前記通報候補のうち前記取得した波及情報に含まれていない部品であって、故障した部品を交換する優先度を前記情報処理装置が有する部品ごとに記憶する第３の記憶装置が記憶する優先度が最も高い部品を故障した部品として利用者に通報することを特徴とする付記１０−１３のいずれか１つに記載の故障検出方法。
【０１１９】
（付記１５）前記第３の記憶装置は、前記部品が故障した際に故障が波及する他の部品について、各部品に付与された重み付けの値の和を算出することで得られる値を前記部品の優先度として記憶することを特徴とする付記１４に記載の故障検出方法。
【０１２０】
（付記１６）前記第１の記憶装置は、前記部品および当該部品が故障する要因ごとに前記波及情報を記憶し、
前記第２の記憶装置は、前記部品および当該部品が故障する要因ごとに前記他の部品へ故障が波及するまで待機する待機時間を記憶し、
前記部品の故障とともに、当該部品が故障した要因を検出し、
前記故障を検出した部品と、前記検出した要因とに対応する前記波及情報を前記第１の記憶装置から取得し、前記故障を検出した部品と、前記検出した要因とに対応する待機時間を前記第２の記憶装置から取得することを特徴とする付記１０−１５のいずれか１つに記載の故障検出方法。
【０１２１】
（付記１７）前記通報候補のうち前記取得した波及情報に含まれていない部品であって、前記利用者に通報していない部品のみを通報することを特徴とする付記１０−１６のいずれか１つに記載の故障検出方法。
【０１２２】
（付記１８）割り込みによる故障通知を受信すると、当該故障通知から故障した部品を特定し、特定した部品が正常に動作しているか否かを判別し、特定した部品が正常に動作していない場合には、当該部品が故障していると判定することを特徴とする付記１０−１７のいずれか１つに記載の故障検出方法。
【０１２３】
（付記１９）コンピュータに、
情報処理装置が有する部品の最初の故障を検出した場合は、前記情報処理装置が有する部品が故障した際に故障が波及する他の部品を示す波及情報を前記部品ごとに記憶する第１の記憶装置から、該故障を検出した部品の波及情報を取得し、
前記情報処理装置が有する部品が故障した際に他の部品へ故障が波及するまで待機する待機時間を前記部品ごとに記憶する第２の記憶装置から、前記故障を検出した部品の待機時間を読み出し、
前記最初に故障を検出した部品と、前記読み出した待機時間が経過するまでの間、新たに故障した部品とを通報候補とし、当該待機時間が経過した後に、前記通報候補のうち前記取得した波及情報に含まれていない部品を故障した部品として利用者に通報する
処理を実行させることを特徴とする故障検出プログラム。
【０１２４】
（付記２０）前記新たに故障を検出した場合は、当該新たに故障を検出した部品が前記取得した波及情報に含まれているか否かを判別し、当該新たに故障を検出した部品が前記取得した波及情報に含まれていると判別した場合には、当該新たに故障を検出した部品を通報候補から除外することを特徴とする付記１９に記載の故障検出プログラム。
【０１２５】
（付記２１）前記新たに故障を検出した部品が前記波及情報に含まれていない場合は、当該新たに故障を検出した部品の波及情報と待機時間とを新たに取得し、
前記新たに故障を検出した部品と、前記新たに取得した待機時間の間に故障を検出した部品とを通報候補とし、当該待機時間が経過した後に、当該通報候補のうち前記新たに取得した波及情報に含まれていない部品を故障した部品として利用者に通報することを特徴とする付記２０に記載の故障検出プログラム。
【０１２６】
（付記２２）前記第１の記憶装置は、前記部品が故障した際に故障が波及する他の部品を接続関係に基づく階層に応じた波及情報を記憶し、
前記第２の記憶装置は、前記部品が故障した際に故障が波及する他の部品のうち、最下位の階層に位置する部品から最上位の階層に位置する部品までの経路に含まれる部品から他の装置に故障が波及するまでの時間の和を該部品の待機時間として記憶することを特徴とする付記１９−２１のいずれか１つに記載の故障検出プログラム。
【０１２７】
（付記２３）前記通報候補のうち前記取得した波及情報に含まれていない部品であって、故障した部品を交換する優先度を前記情報処理方法が有する部品ごとに記憶する第３の記憶装置が記憶する優先度が最も高い部品を故障した部品として利用者に通報することを特徴とする付記１９−２２のいずれか１つに記載の故障検出プログラム。
【０１２８】
（付記２４）前記第３の記憶装置は、前記部品が故障した際に故障が波及する他の部品について、各部品に付与された重み付けの値の和を算出することで得られる値を前記部品の優先度として記憶することを特徴とする付記２３に記載の故障検出プログラム。
【０１２９】
（付記２５）前記第１の記憶装置は、前記部品および当該部品が故障する要因ごとに前記波及情報を記憶し、
前記第２の記憶装置は、前記部品および当該部品が故障する要因ごとに前記他の部品へ故障が波及するまで待機する待機時間を記憶し、
前記部品の故障とともに、当該部品が故障した要因を検出し、
前記故障を検出した部品と、前記検出した要因とに対応する前記波及情報を前記第１の記憶装置から取得し、前記故障を検出した部品と、前記検出した要因とに対応する待機時間を前記第２の記憶装置から取得することを特徴とする付記１９−２４のいずれか１つに記載の故障検出プログラム。
【０１３０】
（付記２６）前記通報候補のうち前記取得した波及情報に含まれていない部品であって、前記利用者に通報していない部品のみを通報することを特徴とする付記１９−２５のいずれか１つに記載の故障検出プログラム。
【０１３１】
（付記２７）割り込みによる故障通知を受信すると、当該故障通知から故障した部品を特定し、特定した部品が正常に動作しているか否かを判別し、特定した部品が正常に動作していない場合には、当該部品が故障していると判定することを特徴とする付記１９−２６のいずれか１つに記載の故障検出プログラム。
【符号の説明】
【０１３２】
１  監視対象装置
２  ＰＳＵ
３  ＰＯＬ
４  ＩＢＣ
５  ＡＳＩＣ
６  メモリ
７  ＣＰＵ
１０  故障箇所検出装置
１１  障害検出部
１２  部品コード変換テーブル
１３  割り込み受付部
１４  センサ制御部
１５  部品コード変換部
１６  障害解析部
１７  故障箇所検索部
１８  タイマ処理部
１９  出力部
２０  記憶部
２１  故障解析データベース
２２  待機時間テーブル
２３  通報部
２４  ＬＥＤ制御部
２５  操作部
２６  エラーログ記憶部
【図１】
2014016671.tif 000003
【図２】
2014016671.tif 000004
【図３】
2014016671.tif 000005
【図４】
2014016671.tif 000006
【図５】
2014016671.tif 000007
【図６】
2014016671.tif 000008
【図７】
2014016671.tif 000009
【図８】
2014016671.tif 000010
【図９】
2014016671.tif 000011
【図１０】
2014016671.tif 000012
【図１１】
2014016671.tif 000013
【図１２】
2014016671.tif 000014
【図１３】
2014016671.tif 000015
【図１４】
2014016671.tif 000016
【図１５】
2014016671.tif 000017