(57)【特許請求の範囲】
【請求項１】
デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを監視する監視装置であって、
前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部と、
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマと、
処理部と、
前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記処理部へ送信する送信動作の許可状態／抑止状態を切り換える切換部とを有し、
前記処理部は、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする監視装置。
【請求項２】
前記処理部は、
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が未特定の場合、前記保持部に保持されている前記第２異常を検索し、検索された前記第２異常を発生させた第２被疑箇所を特定してから、前記切換部により前記送信動作を許可状態に切り換える一方、
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が特定されている場合、前記第２被疑箇所の特定を行なうことなく、前記切換部により前記送信動作を許可状態に切り換える
ことを特徴とする、請求項１に記載の監視装置。
【請求項３】
前記第１異常および前記第２異常に関連する異常の情報を階層的に規定するテーブルを保存する記憶部を有し、
前記処理部は、
前記テーブルに基づき、前記第１被疑箇所または前記第２被疑箇所を特定する
ことを特徴とする、請求項２に記載の監視装置。
【請求項４】
前記第１異常に関連する異常の情報を階層的に規定する第１テーブルと前記第２異常に関連する異常の情報を階層的に規定する第２テーブルとを保存する記憶部を有し、
前記処理部は、
前記第１テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第１被疑箇所を特定し、
前記第２テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第２被疑箇所を特定する
ことを特徴とする、請求項２に記載の監視装置。
【請求項５】
デバイスと、
第１電源ユニットと、
前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットと、
前記デバイス，前記第１電源ユニットおよび前記第２電源ユニットを監視する監視部とを有し、
前記監視部は、
前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部と、
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマと、
処理部と、
前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記処理部へ送信する送信動作の許可状態／抑止状態を切り換える切換部とを有し、
前記処理部は、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする情報処理装置。
【請求項６】
デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを監視するプロセッサに、
前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマとしての機能と、
前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記プロセッサへ送信する送信動作の許可状態／抑止状態を切り換える切換部としての機能とを実行させるとともに、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
処理を、前記プロセッサに実行させることを特徴とする監視プログラム。
【請求項７】
デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを、プロセッサにより監視する監視方法であって、
前記プロセッサが、
前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマ、および前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記プロセッサへ送信する送信動作の許可状態／抑止状態を切り換える切換部、として機能するとともに、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、情報処理装置、監視プログラム、及び監視方法に関する。
【背景技術】
【０００２】
複数のデバイスを有するコンピュータシステム（情報処理装置）において、各デバイスへの電源供給系は階層化されている。例えば、交流電源からの交流を直流に変換する一以上のＡＣ−ＤＣ変換ユニットが、上位階層の電源ユニットとして実装される。また、ＡＣ−ＤＣ変換ユニットからの直流の電圧を変換して各デバイスに供給する複数のＤＣ−ＤＣ変換ユニットが、下位階層の電源ユニットとして実装される。
【０００３】
このように階層化された電源供給系において上位階層の電源ユニットで異常が発生すると、下位階層の電源ユニットや各デバイスにおいて当該異常に起因した異常が発生する。その際、上位階層の電源ユニットよりも先に、下位階層の電源ユニットや各デバイスで異常が検出される場合がある。異常の発生順序（検出順序）は、各電源ユニットの特性のバラツキや各デバイスの使用負荷により変化するため、保証されない。このため、下位階層の異常が監視処理部に通知された後に上位階層の異常が監視処理部に通知されたり、下位階層の異常と上位階層の異常とが同時に監視処理部に通知されたりする。
【０００４】
異常を通知された監視処理部が、通知された異常を順に処理し、通知された異常毎にログを生成すると、コンピュータシステム内で複数の異常が発生したように見えてしまう。したがって、監視処理部は、今回、一連の異常を発生させた最上位階層の電源ユニットを被疑箇所として特定することが困難になり、電源供給系の安定した稼動、ひいてはコンピュータシステムの安定した稼動を保証することができない。
【０００５】
そこで、監視処理部は、最初に異常を通知されてから所定期間の間に通知された一連の異常のうち、最も上位の階層における電源ユニットまたはデバイスで発生した異常に関する情報だけをログする。そして、監視処理部は、このようにログされた情報に基づき、当該最も上位の階層における電源ユニットまたはデバイスを、今回の一連の異常を発生させた被疑箇所として特定している。上記所定期間は、最初に異常を通知されてから当該異常に関連する複数の異常を通知されるまでに要すると推定される期間である。換言すると、監視処理部は、上位階層の異常を検出する前後の所定期間中に発生しうる下位階層の異常の検出を考慮し、異常を検出された電源ユニットやデバイスの中で最も上位の階層の異常だけをログし、ログされた異常の発生箇所を被疑箇所として特定している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−７１２０１号公報
【特許文献２】実公平３−１４９２３号公報
【特許文献３】特開平４−１２５７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年のコンピュータシステムでは、実装されるデバイスが多種多様化し、デバイスの実装台数が増加している。これに伴い、多数のデバイスに電源を供給する電源ユニット（ＡＣ−ＤＣ変換ユニットやＤＣ−ＤＣ変換ユニット）の実装台数も増加する傾向にある。このようにＤＣ−ＤＣ変換ユニットやデバイスの実装台数が増加し、監視処理部への電源供給が、ＤＣ−ＤＣ変換ユニットへの電源供給を行なうＡＣ−ＤＣ変換ユニットと同一のユニットから行なわれる場合、以下の課題が生じる。
【０００８】
上位階層のＡＣ−ＤＣ変換ユニットで異常が発生すると、上記所定期間中に下位階層のＤＣ−ＤＣ変換ユニットやデバイスから監視処理部への異常通知が多発する。このため、上記所定期間中にＡＣ−ＤＣ変換ユニットで異常が発生しても、監視処理部がＤＣ−ＤＣ変換ユニットやデバイスの異常を処理しているうちに、監視処理部への電源供給がダウンし、ＡＣ−ＤＣ変換ユニットを被疑箇所として特定することができない。
【０００９】
一つの側面で、本発明は、電源ユニットやデバイスの実装台数が増加しても、電源供給系で異常を発生させた被疑箇所を容易に特定できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
一つの案において、監視装置は、デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを監視する装置であって、前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部と、前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマと、処理部と、前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記処理部へ送信する送信動作の許可状態／抑止状態を切り換える切換部とを有し、前記処理部は、前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する。
【００１１】
一つの案において、情報処理装置は、デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットと、前記デバイス，前記第１電源ユニットおよび前記第２電源ユニットを監視する監視部とを有し、前記監視部は、上述した監視装置である。
【００１２】
一つの案において、監視プログラムは、デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを監視するプロセッサに、前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマとしての機能と、前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記プロセッサへ送信する送信動作の許可状態／抑止状態を切り換える切換部としての機能とを実行させるとともに、前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する処理を、前記プロセッサに実行させる。
【００１３】
一つの案において、監視方法は、デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを、プロセッサにより監視する方法であって、前記プロセッサが、前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマ、および前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記プロセッサへ送信する送信動作の許可状態／抑止状態を切り換える切換部、として機能するとともに、前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する。
【発明の効果】
【００１４】
一実施形態によれば、電源ユニットやデバイスの実装台数が増加しても、電源供給系で異常を発生させた被疑箇所を容易に特定することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態の監視装置を含む情報処理装置の構成を示すブロック図である。
【図２】図１に示す監視装置の処理部による監視処理手順を説明するフローチャートである。
【図３】第２実施形態の監視装置を含む情報処理装置の構成を示すブロック図である。
【図４】図３に示す監視装置の処理部による監視処理手順を説明するフローチャートである。
【図５】第３実施形態の監視装置で用いられる被疑箇所特定テーブルの例を示す図である。
【図６】第３実施形態の監視装置を含む情報処理装置の構成を示すブロック図である。
【図７】図６に示す監視装置の処理部による監視処理手順を説明するフローチャートである。
【図８】第４実施形態の監視装置を含む情報処理装置の構成を示すブロック図である。
【図９】図８に示す監視装置の処理部による監視処理手順を説明するフローチャートである。
【図１０】電源供給系の構成および同電源供給系の監視装置の構成を示すブロック図である。
【図１１】図１０に示す監視装置の処理部による監視処理手順を説明するフローチャートである。
【図１２】被疑箇所特定テーブルの例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して実施の形態を説明する。
〔１〕情報処理装置の電源供給系の監視装置
〔１−１〕電源供給系および同電源供給系の監視装置の構成
まず、図１０を参照しながら、本実施形態（第１〜第４実施形態）の前提となる技術（電源供給系および同電源供給系の監視装置）について説明する。図１０は、電源供給系の構成および同電源供給系の監視装置１０の構成を示すブロック図である。
【００１７】
図１０に示すように、複数（図中２台）のデバイス４−１，４−２を有する情報処理装置（コンピュータシステム）１００において、各デバイス４−１，４−２への電源供給系は階層化されている。図１０に示す例では、交流電源１からの交流を直流に変換するＡＣ−ＤＣ変換ユニット２が、上位階層の電源ユニット（第１電源ユニット）として実装される。また、ＡＣ−ＤＣ変換ユニット２からの直流の電圧を変換して各デバイス４−１，４−２にそれぞれ供給する複数（図中２台）のＤＣ−ＤＣ変換ユニット３−１，３−２が、下位階層の電源ユニット（第２電源ユニット）として実装される。なお、２台のデバイスうちの一つを特定する場合には符号４−１，４−２が用いられ、任意のデバイスを指す場合には符号４が用いられる。同様に、２台のＤＣ−ＤＣ変換ユニットの一方を特定する場合には符号３−１，３−２が用いられ、任意のＤＣ−ＤＣ変換ユニットを指す場合には符号３が用いられる。また、図中において、ＡＣ−ＤＣ変換ユニット２は「AC-DC Unit」と記載され、ＤＣ−ＤＣ変換ユニット３−１，３−２はそれぞれ「DC-DC Unit-1」，「DC-DC Unit-2」と記載され、デバイス４−１，４−２はそれぞれ「デバイス-1」，「デバイス-2」と記載される。
【００１８】
このようなＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３およびデバイス４の異常を監視する監視装置（監視部）１０は、保持部２０，処理部（監視処理部）３０およびＲＡＭ（Random Access Memory；記憶部）４０を含む。
保持部２０は、ユニット２，３およびデバイス４から通知される異常信号を受信して保持する異常保持レジスタ２１を有する。異常保持レジスタ２１は、処理部３０が処理を完了するまで異常を保持する。
【００１９】
ここで、ＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３およびデバイス４は、それぞれ、ＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３およびデバイス４で生じた異常を検出すると、異常検出信号を監視装置１０に送信する機能を有している。
【００２０】
ＡＣ−ＤＣ変換ユニット２は、入力異常(1)および内部異常(2)を検出可能で、入力異常(1)または内部異常(2)を検出すると異常信号を保持部２０に送信する。入力異常(1)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、入力異常(1)に対応するビット２１ａの値を“０”から“１”に切り換える。内部異常(2)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、内部異常(2)に対応するビット２１ｂの値を“０”から“１”に切り換える。
【００２１】
ＤＣ−ＤＣ変換ユニット３−１は、内部異常(3)を検出可能で、内部異常(3)を検出すると異常信号を保持部２０に送信する。内部異常(3)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、内部異常(3)に対応するビット２１ｃの値を“０”から“１”に切り換える。同様に、ＤＣ−ＤＣ変換ユニット３−２は、内部異常(6)を検出可能で、内部異常(6)を検出すると異常信号を保持部２０に送信する。内部異常(6)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、内部異常(6)に対応するビット２１ｆの値を“０”から“１”に切り換える。なお、ＤＣ−ＤＣ変換ユニット３では、内部異常(3)または(6)を検出しているが、入力異常を検出するように構成してもよい。
【００２２】
デバイス４−１は、入力異常(4)および内部異常(5)を検出可能で、入力異常(4)または内部異常(5)を検出すると異常信号を保持部２０に送信する。入力異常(4)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、入力異常(4)に対応するビット２１ｄの値を“０”から“１”に切り換える。内部異常(5)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、内部異常(5)に対応するビット２１ｅの値を“０”から“１”に切り換える。
【００２３】
同様に、デバイス４−２は、入力異常(7)および内部異常(8)を検出可能で、入力異常(7)または内部異常(8)を検出すると異常信号を保持部２０に送信する。入力異常(7)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、入力異常(7)に対応するビット２１ｇの値を“０”から“１”に切り換える。内部異常(8)に係る異常信号を受信した保持部２０は、異常保持レジスタ２１において、内部異常(8)に対応するビット２１ｈの値を“０”から“１”に切り換える。
【００２４】
保持部２０は、定期的に、もしくは、割込み信号に応じて、ビット２１ａ〜２１ｈの値の論理和を異常検出信号として生成し処理部３０へ送信し、電源供給系で異常が発生している旨を処理部３０に報告する。つまり、ビット２１ａ〜２１ｈのうちの一つでも“１”である場合、処理部３０が被疑箇所の特定処理を完了しレジスタ２１に保持された異常を全てリセットするまで（ビット２１ａ〜２１ｈの値を全て“０”にリセットするまで）、保持部２０は、異常検出信号を処理部３０へ送出する。
【００２５】
処理部３０は、保持部２０に保持された異常や、ＲＡＭ４０に保持された被疑箇所特定テーブル（後述）に基づき異常の発生したユニット２，３またはデバイス４を特定する。処理部３０は、保持部２０から異常検出信号を受信すると所定期間を計時するタイマ（図１０では図示略）を有している。所定期間は、前述した通り、最初に異常を通知されてから（異常検出信号を受信してから）当該異常に関連する一以上の異常を全て通知されるまでに要すると推定される期間である。処理部３０は、上位階層の異常を検出する前後の所定期間中に発生しうる下位階層の異常の検出を考慮し、異常を検出されたユニット２，３やデバイス４の中で最も上位の階層の異常だけをＲＡＭ４０のログ領域４１にログし、ログされた異常の発生箇所を被疑箇所として特定する。
【００２６】
処理部３０は、保持部２０の異常保持レジスタ２１（ビット２１ａ〜２１ｈ）に保持される個々の異常に対し、ユニークな番号であるアラーム番号を付与する。処理部３０は、保持部２０から異常検出信号を受信した時、異常保持レジスタ２１に保持される異常をアラーム番号に置き換えて、被疑箇所の特定処理を実行する。
【００２７】
ここで、処理部３０が被疑箇所の特定処理を実行する際に用いる被疑箇所特定テーブルの例を図１２に示す。被疑箇所特定テーブルは、処理部３０によって生成され、ＲＡＭ４０のテーブル領域４２に予め保存される。図１２に示す被疑箇所特定テーブルは、Ｎ個の階層テーブルＴ１〜ＴＮを含み、コンピュータシステム１００の電源供給系の階層に従って、ユニット２，３またはデバイス４が通知する異常(1)〜(11)に関する登録情報を、階層化して表現した配列テーブルである。なお、図１２の異常(1)〜(8)はそれぞれ図１０に示した異常(1)〜(8)に対応し、図１２に示すテーブルでは、図１０に図示されていない異常(9)〜(11)の登録情報が定義されている。
【００２８】
階層テーブルＴ１では、階層的に連続する異常(1)〜(5)の登録情報が階層順に配列されている。階層テーブルＴ２では、階層的に連続する異常(1), (2), (6)〜(8)の登録情報が階層順に配列されている。階層テーブルＴＮでは、階層的に連続する異常(1), (2), (9)〜(11)の登録情報が階層順に配列されている。
【００２９】
被疑箇所特定テーブルにおける、各異常(1)〜(11)の登録情報には、1)被疑箇所，2)異常の詳細および3)アラーム番号が含まれている。
図１２において、異常の発生箇所がＡＣ−ＤＣ変換ユニット２である場合、1)被疑箇所には「AC-DC Unit」が登録される。異常の発生箇所がＤＣ−ＤＣ変換ユニット３−１である場合、1)被疑箇所には「DC-DC Unit-1」が登録され、異常の発生箇所がＤＣ−ＤＣ変換ユニット３−２である場合、1)被疑箇所には「DC-DC Unit-2」が登録される。異常の発生箇所がデバイス４−１である場合、1)被疑箇所には「デバイス-1」が登録され、異常の発生箇所がデバイス４−２である場合、1)被疑箇所には「デバイス-2」が登録される。
図１２において、2)異常の詳細には「入力異常」または「内部異常」が登録される。
図１２において、3)アラーム番号には、異常(1)〜(11)のそれぞれに対し付与された、０１,０２，０４，１４，２４，０５，１５，２５，Ｎ，Ｎ＋１，Ｎ＋２が登録される。
【００３０】
〔１−２〕監視装置の動作（被疑箇所の特定処理）
次に、保持部２０からの異常検出信号の受信後に処理部３０が実行する、被疑箇所の特定処理について、図１１に示すフローチャート（ステップＳ１０１〜Ｓ１１３）に従って詳細に説明する。
監視装置１０の初期状態では、異常保持レジスタ２１の各ビット２１ａ〜２１ｈに“０”が設定され、被疑箇所を特定する時間（上述した所定期間）を計時するタイマ（被疑箇所特定タイマ）は未起動状態となっている。また、ＲＡＭ４０のログ領域４１におけるログ情報は全て消去されている。
【００３１】
処理部３０は、保持部２０から送出される信号を、常時、待ち受ける（ステップＳ１０１）。
処理部３０は、最初に保持部２０から異常検出信号を受信した時、被疑箇所特定タイマは未起動状態であるので（ステップＳ１０２のＮＯルート）、被疑箇所特定タイマを起動してから（ステップＳ１０３）、ステップＳ１０４の処理に移行する。被疑箇所特定タイマが既に起動されている場合（ステップＳ１０２のＹＥＳルート）、処理部３０は、ステップＳ１０３の処理を行なうことなく、ステップＳ１０４の処理に移行する。被疑箇所特定タイマは、上述した所定期間を定める。
【００３２】
そして、以下の処理を行なうことで、所定期間中に異常を検出された電源ユニットやデバイスの中で最も上位の階層の異常だけがログされ、ログされた異常の発生箇所が被疑箇所として特定される。つまり、被疑箇所特定タイマがタイムアウトした時にＲＡＭ４０のログ領域４１に保持されているログ情報によって指摘される被疑箇所が、コンピュータシステム１００の電源供給系で発生した異常の被疑箇所（ユニット２，３またはデバイス４）として特定される。
【００３３】
１回の異常検出信号の受信で複数の異常の通知が行なわれていることが考えられる。このため、処理部３０は、一度、異常検出信号を受信すると、異常保持レジスタ２１が保持する異常を最初から最後まで（例えばビット２１ａからビット２１ｈまで）検索し、被疑箇所の特定処理（ステップＳ１０５〜Ｓ１１２）を行なう。つまり、処理部３０は、一度、異常検出信号を受信すると、異常保持レジスタ２１の検索を最終ビットまで一巡して完了したか否かを判断する（ステップＳ１０４）。そして、異常保持レジスタ２１の検索を最終ビットまで完了している場合（ステップＳ１０４のＹＥＳルート）、処理部３０は、ステップＳ１０１の処理に戻り、保持部２０からの異常検出信号を待ち受ける。一方、異常保持レジスタ２１の検索を最終ビットまで完了していない場合（ステップＳ１０４のＮＯルート）、処理部３０は、被疑箇所の特定処理（ステップＳ１０５〜Ｓ１１２）を行なう。
【００３４】
処理部３０は、異常保持レジスタ２１から一の異常が検索されると、当該異常を当該異常に付与されたアラーム番号に変換し、得られたアラーム番号をキーにして被疑箇所特定テーブルを検索する。これにより、処理部３０は、得られたアラーム番号に一致するアラーム番号を含む登録情報を取得し、当該登録情報の階層、つまり今回の異常の階層を決定する（ステップＳ１０５）。なお、図１２に示す被疑箇所特定テーブルでは、異常(1)〜(11)には、それぞれアラーム番号０１,０２，０４，１４，２４，０５，１５，２５，Ｎ，Ｎ＋１，Ｎ＋２が付与されている。
【００３５】
この後、処理部３０は、検出済み異常（ログ領域４１に保存されているログ情報）と今回の異常との階層比較処理を開始する（ステップＳ１０６）。
まず、処理部３０は、検出済み異常のアラーム番号があるか否か、つまりログ領域４１にログ情報が保存されているか否かを判断する（ステップＳ１０７）。検出済み異常のアラーム番号が無い場合（ステップＳ１０７のＮＯルート）、初めて異常が検出されたことを示し、処理部３０は、ＲＡＭ４０のログ領域４１に新たなログ情報を生成する（ステップＳ１１０）。ログ情報には、今回の異常のアラーム番号と、今回の異常について被疑箇所特定テーブルから読み出された登録情報が示す被疑箇所および異常の詳細とが含まれる。なお、ここで生成された「ログ情報」のことを、以下、「生成中のログ情報」と呼ぶ場合がある。処理部３０は、ログ情報を生成すると、ステップＳ１０４の処理に移行する。
【００３６】
検出済み異常のアラーム番号が有る場合（ステップＳ１０７のＹＥＳルート）、処理部３０は、生成中のログ情報における検出済み異常のアラーム番号を参照する。そして、処理部３０は、参照したアラーム番号が被疑箇所特定テーブルにおいて今回の異常の階層（ステップＳ１０５で決定された階層）よりも上位の階層に属しているか否かを判断する（ステップＳ１０８）。
【００３７】
検出済み異常のアラーム番号が被疑箇所特定テーブルにおいて今回の異常の階層よりも上位の階層に属している場合（ステップＳ１０８のＹＥＳルート）、今回の異常は生成中のログ情報における異常よりも下位の階層に属する。このため、処理部３０は、階層比較処理を終了し、ログ生成やログ更新を行なうことなく、ステップＳ１０４の処理に戻る。
【００３８】
検出済み異常のアラーム番号が被疑箇所特定テーブルにおいて今回の異常の階層よりも上位の階層に属していない場合（ステップＳ１０８のＮＯルート）、処理部３０は、生成中のログ情報における検出済み異常のアラーム番号を参照する。そして、処理部３０は、参照したアラーム番号が被疑箇所特定テーブルにおいて今回の異常の階層（ステップＳ１０５で決定された階層）よりも下位の階層に属しているか否かを判断する（ステップＳ１０９）。
【００３９】
検出済み異常のアラーム番号が被疑箇所特定テーブルにおいて今回の異常の階層よりも下位の階層に属している場合（ステップＳ１０９のＹＥＳルート）、今回の異常は生成中のログ情報における異常よりも上位の階層に属する。このため、処理部３０は、ログ領域４１における生成中のログ情報を更新する（ステップＳ１１１）。つまり、処理部３０は、生成中のログ情報における検出済みアラーム番号を、今回の異常のアラーム番号に書き換える。また、処理部３０は、生成中のログ情報における被疑箇所および異常の詳細を、今回の異常について被疑箇所特定テーブルから読み出された登録情報が示す被疑箇所および異常に書き換える。処理部３０は、ログ情報を更新すると、ステップＳ１０４の処理に戻る。
【００４０】
検出済み異常のアラーム番号が被疑箇所特定テーブルにおいて今回の異常の階層よりも下位の階層に属していない場合（ステップＳ１０９のＮＯルート）、今回の異常は、生成中のログ情報における異常と同じ階層に属しているが、異なる電源供給系統に属している状態であると考えられる。この状態は、例えば、生成中のログ情報における異常が異常(4)であり、且つ、今回の異常が異常(4)と同じ階層の異常(7)である状態（図１２参照）に相当する。このような場合、処理部３０は、ステップＳ１１０で生成したログ情報とは異なるログ情報を生成する（ステップＳ１１２）。ログ情報には、今回の異常のアラーム番号と、今回の異常について被疑箇所特定テーブルから読み出された登録情報が示す被疑箇所および異常の詳細とが含まれる。処理部３０は、ログ情報を生成すると、ステップＳ１０４の処理に戻る。
【００４１】
上述した処理を繰り返し実行している状態で、被疑箇所特定タイマがタイムアウトすると、ログ領域４１には、上記所定期間中に検出された最上位階層のアラーム番号と、当該アラーム番号に対応する被疑箇所および異常の詳細とがログ情報として保存される。つまり、生成中のログ情報が、コンピュータシステム１００の電源供給系で発生した異常の被疑箇所（ユニット２，３またはデバイス４）を示す。したがって、処理部３０は、生成中のログ情報が示す被疑箇所を、コンピュータシステム１００の電源供給系で発生した異常の被疑箇所として特定する（ステップＳ１１３）。
【００４２】
以下に、複数異常の検出事例と処理部３０の具体的な動作とについて説明する。
ここでは、図１０に示すＡＣ−ＤＣ変換ユニット２で入力異常(1)が発生したが、ユニット２，３の特性のバラツキにより、先に、図１０に示すＤＣ−ＤＣ変換ユニット３−１の出力電圧が低下し、処理部３０が以下の順序[1]〜[3]で保持部２０から異常を受信する場合について説明する。
[1] 図１０に示すＤＣ−ＤＣ変換ユニット３−１の内部異常(3)
[2] 図１０に示すデバイス４−１の入力異常(4)
[3] 図１０に示すＡＣ−ＤＣ変換ユニット２の入力異常(1)
【００４３】
[1] ＤＣ−ＤＣ変換ユニット３−１の内部異常(3)についての処理
処理部３０は、異常保持レジスタ２１のビット２１ｃへの“１”の設定に伴い、異常検出信号を受信し（ステップＳ１０１）、被疑箇所の特定処理を開始し、被疑箇所特定タイマを起動する（ステップＳ１０３）。
【００４４】
処理部３０は、異常保持レジスタ２１を検索し、“１”を設定されているビット２１ｃ（異常(3)）を見い出す。そして、処理部３０は、当該異常(3)に付与されたアラーム番号“０４”を取得し、アラーム番号“０４”をキーにして被疑箇所特定テーブルを検索する。これにより、処理部３０は、アラーム番号“０４”に一致するアラーム番号を含む登録情報を取得し、検出された異常(3)の階層（最上位から３番目）を決定する（ステップＳ１０５）。
【００４５】
この時点で、検出済み異常のアラーム番号は無いので（ステップＳ１０７のＮＯルート）、処理部３０は、ＲＡＭ４０のログ領域４１に新たなログ情報を生成する（ステップＳ１１０）。
処理部３０は、保持部２０の異常保持レジスタ２１を最終ビットまで検索すると（ステップＳ１０４のＹＥＳルート）、異常保持レジスタ２１が他の異常を保持していないため、異常検出信号の受信を待ち受ける（ステップＳ１０１）。
【００４６】
この時点での生成中のログ情報の内容は、
・被疑箇所  ：ＤＣ-ＤＣ Ｕｎｉｔ-１
・異常の詳細：内部異常
・検出済み異常のアラーム番号：０４
となる。
【００４７】
[2] デバイス４−１の入力異常(4)についての処理
ついで、処理部３０は、異常保持レジスタ２１のビット２１ｄへの“１”の設定に伴い、異常検出信号を受信し（ステップＳ１０１）、被疑箇所の特定処理を開始する。このとき、被疑箇所特定タイマは起動されているので、処理部３０は、ステップＳ１０３の処理をスキップする。
【００４８】
処理部３０は、異常保持レジスタ２１を検索し、“１”を設定されているビット２１ｄ（異常(4)）を見い出す。そして、処理部３０は、当該異常(4)に付与されたアラーム番号“１４”を取得し、アラーム番号“１４”をキーにして被疑箇所特定テーブルを検索する。これにより、処理部３０は、アラーム番号“１４”に一致するアラーム番号を含む登録情報を取得し、検出された異常(4)の階層（最上位から４番目）を決定する（ステップＳ１０５）。
【００４９】
この後、処理部３０は、今回検出した異常の階層（最上位から４番目）から上位階層へ向かって、生成中のログにおける検出済み異常のアラーム番号“０４”と一致するアラーム番号を含む登録情報を検索する。このとき、処理部３０は、最上位から３番目の階層において、検出済み異常のアラーム番号“０４”と一致するアラーム番号を含む登録情報を発見する。このため、今回の異常は、生成中のログにおける検出済み異常の階層よりも下位の階層に属しており（ステップＳ１０８のＹＥＳルート）、処理部３０は、ログ生成やログ更新を行なわない。
【００５０】
処理部３０は、保持部２０の異常保持レジスタ２１を最終ビットまで検索すると（ステップＳ１０４のＹＥＳルート）、異常保持レジスタ２１が他の異常を保持していないため、異常検出信号の受信を待ち受ける（ステップＳ１０１）。
この時点での生成中のログ情報の内容は、
・被疑箇所  ：ＤＣ-ＤＣ Ｕｎｉｔ-１
・異常の詳細：内部異常
・検出済み異常のアラーム番号：０４
となる。
【００５１】
[3] ＡＣ−ＤＣ変換ユニット２の入力異常(1)についての処理
ついで、処理部３０は、異常保持レジスタ２１のビット２１ａへの“１”の設定に伴い、異常検出信号を受信し（ステップＳ１０１）、被疑箇所の特定処理を開始する。このとき、被疑箇所特定タイマは起動されているので、処理部３０は、ステップＳ１０３の処理をスキップする。
【００５２】
処理部３０は、異常保持レジスタ２１を検索し、“１”を設定されているビット２１ａ（異常(1)）を見い出す。そして、処理部３０は、当該異常(1)に付与されたアラーム番号“０１”を取得し、アラーム番号“０１”をキーにして被疑箇所特定テーブルを検索する。これにより、処理部３０は、アラーム番号“０１”に一致するアラーム番号を含む登録情報を取得し、検出された異常(1)の階層（最上位）を決定する（ステップＳ１０５）。
【００５３】
処理部３０は、今回検出した異常(1)の階層（最上位）から下位階層へ向かって、生成中のログにおける検出済み異常のアラーム番号“０４”と一致するアラーム番号を含む登録情報を検索する。このとき、処理部３０は、最上位から３番目の階層において、検出済み異常のアラーム番号“０４”と一致するアラーム番号を含む登録情報を発見する。このため、今回の異常は、生成中のログにおける検出済み異常の階層よりも上位の階層に属しており（ステップＳ１０９のＹＥＳルート）、処理部３０は、ログ領域４１における生成中のログ情報を更新する（ステップＳ１１１）。つまり、処理部３０は、生成中のログ情報における検出済みアラーム番号“０４”を、今回の異常(1)のアラーム番号“０１”に書き換える。また、処理部３０は、生成中のログ情報における被疑箇所および異常の詳細を、今回の異常(1)について被疑箇所特定テーブルから読み出された登録情報が示す被疑箇所および異常に書き換える。
【００５４】
処理部３０は、保持部２０の異常保持レジスタ２１を最終ビットまで検索すると（ステップＳ１０４のＹＥＳルート）、異常保持レジスタ２１が他の異常を保持していないため、異常検出信号の受信を待ち受ける（ステップＳ１０１）。
この時点での生成中のログ情報の内容は、
・被疑箇所  ：ＡＣ-ＤＣ Ｕｎｉｔ
・異常の詳細：入力異常
・検出済みアラーム番号：０１
となる。
【００５５】
[4] 最終的なログ情報の内容
被疑箇所特定タイマがタイムアウトすると、処理部３０は、被疑箇所の特定処理を完了し、ＲＡＭ４０のログ領域４１に保存されたログ情報に基づき、被疑箇所を特定し、最終的なログ情報を生成する（ステップＳ１１３）。
処理部３０が生成した最終的なログの内容は、例えば以下の通りである。
・被疑箇所  ：ＡＣ-ＤＣ Ｕｎｉｔ（ＡＣ−ＤＣ変換ユニット２）
・異常の詳細：入力異常
・ＡＣ-ＤＣ Ｕｎｉｔの異常を検出した時のコンピュータシステムの電源供給状態
【００５６】
ところで、近年のコンピュータシステム１００では、実装されるデバイス４が多種多様化し、デバイス４の実装台数が増加している。これに伴い、多数のデバイス４に電源を供給する電源ユニット２，３の実装台数も増加する傾向にある。
このようにＤＣ−ＤＣ変換ユニット３やデバイス４の実装台数が増加し、監視部１０への電源供給が、ＤＣ−ＤＣ変換ユニット３への電源供給を行なうＡＣ−ＤＣ変換ユニット２から行なわれる場合、以下のような状況が生じる。
【００５７】
上位階層のＡＣ−ＤＣ変換ユニット２で異常が発生すると、所定期間中に下位階層のＤＣ−ＤＣ変換ユニット３やデバイス４から監視部１０への異常通知が多発する。異常通知が多発すると、保持部２０が複数階層の異常を同時に保持し、処理部３０は被疑箇所の特定処理を繰り返し行なう。このため、所定期間中に最上位階層のＡＣ−ＤＣ変換ユニット２で異常が発生しても、処理部３０は、異常保持レジスタ２１を一巡検索するまで、最上位階層のＡＣ−ＤＣ変換ユニット２の異常を検出できない場合がある。この場合、処理部３０がＤＣ−ＤＣ変換ユニット３やデバイス４の異常を処理しているうちに、監視部１０への電源供給がダウンし、処理部３０は、ＡＣ−ＤＣ変換ユニット２を被疑箇所として特定することができなくなる。
【００５８】
一方、監視部１０への電源供給が、ＤＣ−ＤＣ変換ユニット３への電源供給を行なうＡＣ−ＤＣ変換ユニット２とは異なるユニットから行なわれる場合、以下のような状況が生じる。
監視部１０への電源供給は上記異なるユニットから正常に行なわれるがＤＣ−ＤＣ変換ユニット３への電源供給を行なうＡＣ−ＤＣ変換ユニット２で異常が発生した場合、当該ＡＣ−ＤＣ変換ユニット２よりも下位の階層のＤＣ−ＤＣ変換ユニット３やデバイス４から監視部１０への異常通知が多発する。処理部３０がユニット２，３およびデバイス４の異常監視以外の処理も担っている場合に異常通知が多発すると、処理部３０は、被疑箇所の特定処理に負荷を取られ、それ以外の処理を実行できず、コンピュータシステム１００の稼動が停止する可能性もある。例えば、処理部３０がコンピュータシステム１００内の上位装置と定期的に通信する場合、処理部３０が被疑箇所の特定処理に負荷を取られると、上位装置との通信処理を実行できず、上位装置は監視部１０が異常と判断しコンピュータシステム１００の稼動を停止する。
【００５９】
同様の状況は、監視部１０への電源供給が、ＤＣ−ＤＣ変換ユニット３への電源供給を行なうＡＣ−ＤＣ変換ユニット２と同一のユニットから行なわれる場合にも生じる。例えば、ＡＣ−ＤＣ変換ユニット２が瞬停を起こしたため、監視部１０への電源供給は正常に行なわれるがデバイス４側の負荷が大きくＤＣ−ＤＣ変換ユニット３やデバイス４への入力電圧が低下すると、上述と同様の状況が生じ得る。
【００６０】
また、処理部３０による被疑箇所の特定処理において、ＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３やデバイス４の実装台数が増加すると、これらのユニット２，３やデバイス４に付与されるユニークなアラーム番号の数や階層テーブルの数も増加する。これに伴い、処理部３０は、検出した異常の階層を決定する処理に時間を要し、異常の階層を決定する処理つまりは被疑箇所の特定処理が、処理部３０の大きな負荷となる。
【００６１】
〔２〕第１実施形態
〔２−１〕第１実施形態の構成
以下、図１を参照しながら、第１実施形態の監視装置１０Ａを含む情報処理装置１００Ａの構成について説明する。図１は、第１実施形態の監視装置１０Ａを含む情報処理装置１００Ａの構成を示すブロック図である。なお、図中、既述の符号と同一の符号は、同一またはほぼ同一の部分を示しているので、その詳細な説明は省略する。
【００６２】
第１実施形態の監視装置（監視部）１０Ａも、図１０に示す監視装置１０と同様、情報処理装置（コンピュータシステム）１００Ａにおいてデバイス４および同デバイス４への電源供給系の異常を監視する。
図１０に示した例と同様、第１実施形態においても、デバイス４への電源供給系は階層化されており、交流電源１からの交流を直流に変換するＡＣ−ＤＣ変換ユニット２が、上位階層の電源ユニット（第１電源ユニット）として実装される。また、ＡＣ−ＤＣ変換ユニット２からの直流の電圧を変換して各デバイス４−１，４−２にそれぞれ供給するＤＣ−ＤＣ変換ユニット３−１，３−２が、下位階層の電源ユニット（第２電源ユニット）として実装される。なお、監視部１０Ａへの電源供給は、ＤＣ−ＤＣ変換ユニット３への電源供給を行なうＡＣ−ＤＣ変換ユニット２から行なわれる。
【００６３】
監視部１０Ａは、保持部２０Ａ，処理部（監視処理部）３０ＡおよびＲＡＭ（記憶部）４０Ａを含む。
保持部２０Ａは、上述した保持部２０と同様、ユニット２，３およびデバイス４から通知される異常信号を受信して保持する異常保持レジスタ２１を有する。
【００６４】
ここで、ＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３およびデバイス４は、それぞれ、ＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３およびデバイス４で生じた異常を検出すると、異常検出信号を監視装置１０に送信する機能を有している。
また、第１実施形態においても、図１０と同様の異常(1)〜(8)が取り扱われ、異常(1)〜(8)が発生した場合、保持部２０Ａの異常保持レジスタ２１のビット２１ａ〜２１ｈにそれぞれ“１”が設定される。
【００６５】
また、保持部２０Ａは、論理和回路２２ａ，２２ｂ，２４および要因保持レジスタ２３を有している。
論理和回路２２ａは、ＡＣ−ＤＣ変換ユニット２の異常(1), (2)（第１異常）をそれぞれ保持する２つのビット２１ａ，２１ｂの値の論理和を「AC-DC_Unit異常」（第１異常）として要因保持レジスタ２３のビット２３ａに設定する。つまり、ＡＣ−ＤＣ変換ユニット２の異常(1), (2)の少なくとも一方が発生すると、論理和回路２２ａの出力である「AC-DC_Unit異常」が“１”になり、要因保持レジスタ２３のビット２３ａの値が“１”に設定される。
【００６６】
論理和回路２２ｂは、ＤＣ−ＤＣ変換ユニット３およびデバイス４の異常(3)〜(8)（第２異常）をそれぞれ保持するビット２１ｃ〜２１ｈの値の論理和を「その他異常」（第２異常）として要因保持レジスタ２３のビット２３ｂに設定する。つまり、ＤＣ−ＤＣ変換ユニット３およびデバイス４の異常(3)〜(8)のうちの少なくとも一つが発生すると、論理和回路２２ｂの出力である「その他異常」が“１”になり、要因保持レジスタ２３のビット２３ｂの値が“１”に設定される。なお、以降、ＤＣ−ＤＣ変換ユニット３およびデバイス４の異常(3)〜(8)を総称して「その他異常」と呼ぶ。
【００６７】
論理和回路２４は、定期的に、もしくは、割込み信号に応じて、要因保持レジスタ２３の２つのビット２３ａ，２３ｂの値の論理和を「異常検出信号」として生成し処理部３０Ａへ送信し、電源供給系で異常が発生している旨を処理部３０Ａに報告する。つまり、ビット２１ａ〜２１ｈのうちの一つでも“１”である場合、処理部３０Ａが被疑箇所の特定処理を完了しレジスタ２１に保持された異常を全てリセットするまで（ビット２１ａ〜２１ｈの値を全て“０”にリセットするまで）、保持部２０Ａは、異常検出信号を処理部３０Ａへ送出する。
【００６８】
処理部３０Ａは、後述するステップＳ１１〜Ｓ１９に従って、保持部２０Ａに保持された異常や、ＲＡＭ４０Ａのテーブル領域４２に保持された被疑箇所特定テーブル（階層テーブルＴ１〜ＴＮ；図１２参照）に基づき異常の発生したユニット２，３またはデバイス４を特定する。
【００６９】
処理部３０Ａは、異常検出信号、つまり保持部２０Ａが「AC-DC_Unit異常」または「その他異常」を保持したことを示す信号を保持部２０Ａから受信すると所定期間を計時する被疑箇所特定タイマ３１を有している。所定期間は、前述した通り、最初に異常を通知されてから（異常検出信号を受信してから）当該異常に関連する１以上の異常を全て通知されるまでに要すると推定される期間である。つまり、所定期間は、保持部２０Ａが一の異常を保持してから当該一の異常に関連する一以上の異常を全て保持部２０Ａに保持するまでに要すると推定される期間であると言い換えることもできる。
【００７０】
処理部３０Ａは、異常検出信号を保持部２０Ａから受信するとタイマ３１を起動する。処理部３０Ａは、タイマ３１が起動されてから上記所定期間を計時するまでの間、保持部２０Ａが「AC-DC_Unit異常」を保持している場合、「その他異常」よりも優先的に「AC-DC_Unit異常」を発生させた被疑箇所（第１被疑箇所）を特定する。一方、処理部３０Ａは、保持部２０Ａが「AC-DC_Unit異常」を保持しておらず且つ「その他異常」を保持している場合、「その他異常」を発生させた被疑箇所（第２被疑箇所）を特定する。
【００７１】
このとき、処理部３０Ａは、要因保持レジスタ２３のビット２３ａの値を参照することで「AC-DC_Unit異常」（第１異常）が保持されているか否かを、要因保持レジスタ２３のビット２３ｂの値を参照することで「その他異常」（第２異常）が保持されているか否かを判断する。
【００７２】
また、処理部３０Ａは、上述した処理部３０と同様、保持部２０Ａの異常保持レジスタ２１（ビット２１ａ〜２１ｈ）に保持される個々の異常に対し、ユニークな番号であるアラーム番号を付与する。処理部３０Ａは、保持部２０Ａから異常検出信号を受信した時、異常保持レジスタ２１に保持される異常をアラーム番号に置き換えて、被疑箇所の特定処理を実行する。
【００７３】
〔２−２〕第１実施形態の動作
次に、保持部２０Ａからの異常検出信号の受信後に処理部３０Ａが実行する、被疑箇所の特定処理（監視処理手順）について、図２に示すフローチャート（ステップＳ１１〜Ｓ１９）に従って詳細に説明する。
監視装置１０Ａの初期状態では、レジスタ２１，２３の各ビット２１ａ〜２１ｈ，２３ａ，２３ｂに“０”が設定され、被疑箇所を特定する時間（上述した所定期間）を計時するタイマ３１は未起動状態となっている。また、ＲＡＭ４０Ａのログ領域４１におけるログ情報は全て消去されている。
【００７４】
処理部３０Ａは、保持部２０Ａから送出される信号を、常時、待ち受ける（ステップＳ１１）。
処理部３０Ａは、最初に保持部２０Ａから異常検出信号を受信した時、被疑箇所特定タイマ３１は未起動状態であるので（ステップＳ１２のＮＯルート）、タイマ３１を起動してから（ステップＳ１３）、ステップＳ１４の処理に移行する。タイマ３１が既に起動されている場合（ステップＳ１２のＹＥＳルート）、処理部３０Ａは、ステップＳ１３の処理を行なうことなく、ステップＳ１４の処理に移行する。
【００７５】
処理部３０Ａは、保持部２０Ａの要因保持レジスタ２３のビット２３ａを参照し、ビット２３ａに“１”が設定されている場合、保持部２０Ａに「AC-DC_Unit異常」が保持されていると判断する（ステップＳ１４のＹＥＳルート）。この場合、処理部３０Ａは、異常保持レジスタ２１における「AC-DC_Unit異常」に係るビット２１ａ，２１ｂから一の異常を検索する。そして、処理部３０Ａは、検索した異常を当該異常に付与されたアラーム番号に変換し、得られたアラーム番号をキーにして被疑箇所特定テーブル（図１２参照）を検索する。これにより、処理部３０Ａは、得られたアラーム番号に一致するアラーム番号を含む登録情報を取得し、当該登録情報の階層、つまり今回検索された「AC-DC_Unit異常」の階層を決定する（ステップＳ１５）。この後、処理部３０Ａは、今回検索された「AC-DC_Unit異常」について、図１１のステップＳ１０６〜Ｓ１１２と同様の被疑箇所の特定処理を行ない（ステップＳ１８）、ステップＳ１１の待ち受け処理に戻る。
【００７６】
ビット２３ａに“０”が設定されている場合、処理部３０Ａは、保持部２０Ａに「AC-DC_Unit異常」が保持されていないと判断し（ステップＳ１４のＮＯルート）、保持部２０Ａの要因保持レジスタ２３のビット２３ｂを参照する。ビット２３ｂに“０”が設定されている場合、処理部３０Ａは、保持部２０Ａに何ら異常が保持されていないと判断し（ステップＳ１６のＮＯルート）、被疑箇所の特定処理を行なうことなく、ステップＳ１１の待ち受け処理に戻る。
【００７７】
また、ビット２３ｂに“１”が設定されている場合、処理部３０Ａは、保持部２０Ａに「その他異常」が保持されていると判断する（ステップＳ１６のＹＥＳルート）。この場合、処理部３０Ａは、異常保持レジスタ２１における「その他異常」に係るビット２１ｃ〜２１ｈから一の異常を検索し、検索された異常を当該異常に付与されたアラーム番号に変換し、得られたアラーム番号をキーにして被疑箇所特定テーブル（図１２参照）を検索する。これにより、処理部３０Ａは、得られたアラーム番号に一致するアラーム番号を含む登録情報を取得し、当該登録情報の階層、つまり今回検索された「その他異常」の階層を決定する（ステップＳ１７）。この後、処理部３０Ａは、今回検索された「その他異常」について、図１１のステップＳ１０６〜Ｓ１１２と同様の被疑箇所の特定処理を行ない（ステップＳ１８）、ステップＳ１１の待ち受け処理に戻る。
【００７８】
上述した処理（ステップＳ１１〜Ｓ１８）を繰り返し実行している状態で、被疑箇所特定タイマ３１が上記所定期間を計時しタイムアウトすると、ログ領域４１には、上記所定期間中に検出された最上位階層のアラーム番号と、当該アラーム番号に対応する被疑箇所および異常の詳細とがログ情報として保存される。つまり、生成中のログ情報が、コンピュータシステム１００Ａの電源供給系で発生した異常の被疑箇所（ユニット２，３またはデバイス４）を示す。したがって、処理部３０Ａは、生成中のログ情報が示す被疑箇所を、コンピュータシステム１００Ａの電源供給系で発生した異常の被疑箇所として特定する（ステップＳ１９）。
【００７９】
第１実施形態の監視部１０Ａ（処理部３０Ａ）によれば、上述した処理（ステップＳ１１〜Ｓ１８）により、異常検出信号を保持部２０Ａから受信した時点から上記所定期間、「その他異常」よりも「AC-DC_Unit異常」が優先して処理される。
【００８０】
また、図１０に示す監視部１０では、処理部３０が異常保持レジスタ２１の全ビット２１ａ〜２１ｈを一巡検索してから異常検出信号の受信待ち受けを行なっている（図１１のステップＳ１０４のＹＥＳルートからステップＳ１０１参照）。これに対し、第１実施形態の処理部３０Ａでは、１つの異常について被疑箇所の特定処理を行なうと異常検出信号の待ち受けが行なわれ（ステップＳ１８からステップＳ１１のルート参照）、「AC-DC_Unit異常」が「その他異常」よりも優先して処理される。
【００８１】
したがって、第１実施形態の監視部１０Ａによれば、「その他異常」つまりＤＣ−ＤＣ変換ユニット３やデバイス４の異常が多発しても、ＡＣ−ＤＣ変換ユニット２から監視部１０Ａへの電源供給がダウンする前に、被疑箇所がＡＣ−ＤＣ変換ユニット２であることを特定することができる。つまり、第１実施形態の監視部１０Ａによれば、ＤＣ−ＤＣ変換ユニット３やデバイス４の実装台数が増加しても、電源供給系で異常を発生させた被疑箇所を容易かつ確実に特定することができる。
【００８２】
〔３〕第２実施形態
〔３−１〕第２実施形態の構成
以下、図３を参照しながら、第２実施形態の監視装置１０Ｂを含む情報処理装置１００Ｂの構成について説明する。図３は、第２実施形態の監視装置１０Ｂを含む情報処理装置１００Ｂの構成を示すブロック図である。なお、図中、既述の符号と同一の符号は、同一またはほぼ同一の部分を示しているので、その詳細な説明は省略する。
【００８３】
第２実施形態の監視装置（監視部）１０Ｂも、上述した監視装置１０，１０Ａと同様、情報処理装置（コンピュータシステム）１００Ｂにおいてデバイス４および同デバイス４への電源供給系の異常を監視する。
第２実施形態においても、デバイス４への電源供給系は階層化されており、交流電源１からの交流を直流に変換するＡＣ−ＤＣ変換ユニット２が、上位階層の電源ユニット（第１電源ユニット）として実装される。また、ＡＣ−ＤＣ変換ユニット２からの直流の電圧を変換して各デバイス４−１，４−２にそれぞれ供給するＤＣ−ＤＣ変換ユニット３−１，３−２が、下位階層の電源ユニット（第２電源ユニット）として実装される。なお、第２実施形態において、監視部１０Ｂへの電源供給は、ＤＣ−ＤＣ変換ユニット３への電源供給を行なうＡＣ−ＤＣ変換ユニット２とは異なるＡＣ−ＤＣ変換ユニット２′から行なわれる。
【００８４】
監視部１０Ｂは、保持部２０Ｂ，処理部（監視処理部）３０ＢおよびＲＡＭ（記憶部）４０Ｂを含む。
保持部２０Ｂは、ユニット２，２′，３およびデバイス４から通知される異常信号を受信して保持する異常保持レジスタ２１を有する。ただし、保持部２０Ｂの異常保持レジスタ２１には、上述した異常(1)〜(8)に対応するビット２１ａ〜２１ｈのほかに、ＡＣ−ＤＣ変換ユニット２′の入力異常(1)′および内部異常(2)′に対応するビット２１ａ′，２１ｂ′が追加されている。異常(1)′，(2)′が発生した場合、保持部２０Ｂの異常保持レジスタ２１のビット２１ａ′，２１ｂ′にそれぞれ“１”が設定される。
【００８５】
また、保持部２０Ｂは、論理和回路２２ａ，２２ａ′，２２ｂ，２７；要因保持レジスタ２３；異常検出信号送出有効／無効レジスタ２５および論理積回路２６を有している。
論理和回路２２ａ，２２ｂは、図１を参照しながら上述したものと同様であるので、その説明は省略する。
【００８６】
論理和回路２２ａ′は、ＡＣ−ＤＣ変換ユニット２′の異常(1)′, (2)′をそれぞれ保持する２つのビット２１ａ′，２１ｂ分の値の論理和を「AC-DC_Unit異常」（第１異常）として要因保持レジスタ２３のビット２３ａ′に設定する。つまり、ＡＣ−ＤＣ変換ユニット２′の異常(1)′, (2)′の少なくとも一方が発生すると、論理和回路２２ａ′の出力である「AC-DC_Unit異常」が“１”になり、要因保持レジスタ２３のビット２３ａ′の値が“１”に設定される。
【００８７】
異常検出信号送出有効／無効レジスタ２５は、処理部３０Ｂによって値“１”または“０”を設定される。処理部３０Ｂは、「その他異常」（第２異常）についての異常検出信号を有効にする場合、つまり保持部２０Ｂが「その他異常」を保持したことを示す信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作を許可する場合、レジスタ２５に“１”を設定する。一方、処理部３０Ｂは、「その他異常」についての異常検出信号を無効にする場合、つまり保持部２０Ｂが「その他異常」を保持したことを示す信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作を抑止する場合、レジスタ２５に“０”を設定する。なお、初期状態において、レジスタ２５には“１”が設定される。
【００８８】
論理積回路２６は、要因保持レジスタ２３のビット２３ｂの値とレジスタ２５の値との論理積を出力する。
レジスタ２５および論理積回路２６は、保持部２０Ｂが「その他異常」を保持したことを示す信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作の許可状態／抑止状態を切り換える切換部として機能する。
【００８９】
論理和回路２７は、定期的に、もしくは、割込み信号に応じて、要因保持レジスタ２３の２つのビット２３ａ，２３ａ′と論理積回路２６からの値との論理和を「異常検出信号」として生成し処理部３０Ｂへ送信する。つまり、論理和回路２７は、レジスタ２５に“０”が設定されている場合、「AC-DC_Unit異常」についての異常検出信号を処理部３０Ｂへ送出するが、「その他異常」についての異常検出信号を処理部３０Ｂへ送出することはない。また、論理和回路２７は、レジスタ２５に“１”が設定されている場合、「AC-DC_Unit異常」についての異常検出信号も「その他異常」についての異常検出信号も処理部３０Ｂへ送出する。
【００９０】
処理部３０Ｂは、後述するステップＳ２１〜Ｓ３２に従って、保持部２０Ｂに保持された異常や、ＲＡＭ４０Ｂのテーブル領域４２に保持された被疑箇所特定テーブル（図１２参照）に基づき、異常の発生したユニット２，２′，３またはデバイス４を特定する。第２実施形態の被疑箇所特定テーブルには、上述した異常(1)〜(11)に関する登録情報についての配列テーブル（階層テーブルＴ１〜ＴＮ）のほかに、ＡＣ−ＤＣ変換ユニット２′の異常(1)′, (2)′に関する登録情報を階層化して表現した配列テーブル（図示略）も含まれている。
【００９１】
処理部３０Ｂは、第１実施形態と同様の被疑箇所特定タイマ３１を有している。
そして、処理部３０Ｂは、異常検出信号、つまり保持部２０Ｂが「AC-DC_Unit異常」または「その他異常」を保持したことを示す信号を保持部２０Ｂから受信すると、タイマ３１を起動するとともに、レジスタ２５の値を“１”から“０”に書き換える。レジスタ２５の値が“０”の間、保持部２０Ｂが「その他異常」を保持したことを示す信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作が抑止される。
【００９２】
処理部３０Ｂは、タイマ３１が起動されてから上記所定期間を計時するまでの期間、異常保持レジスタ２１の「AC-DC_Unit異常」に係るビット２１ａ，２１ｂ，２１ａ′，２１ｂ′を検索し、「AC-DC_Unit異常」を発生させた被疑箇所（第１被疑箇所）を特定する処理を行なう。当該処理に際し、処理部３０Ｂは、被疑箇所特定テーブルのうちの、「AC-DC_Unit異常」の被疑箇所を特定する部分（図１２左側の上位２階層分のテーブル）を用いる。
【００９３】
なお、当該期間、保持部２０Ｂが「その他異常」を保持したことを示す信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作は抑止されているので、処理部３０Ｂは、「その他異常」を発生させた被疑箇所（第２被疑箇所）を特定する処理を行なわない。つまり、当該期間、処理部３０Ｂは、「その他異常」よりも優先的に「AC-DC_Unit異常」を発生させた被疑箇所を特定する。
【００９４】
一方、処理部３０Ｂは、タイマ３１が上記所定期間を計時した時点で「AC-DC_Unit異常」の被疑箇所が未特定の場合、「その他異常」を発生させた被疑箇所を特定する処理を行なう。当該処理に際し、処理部３０Ｂは、被疑箇所特定テーブルのうちの、「その他異常」の被疑箇所を特定する部分（図１２右側の下位３階層分のテーブル）を用いる。つまり、処理部３０Ｂは、保持部２０Ｂ（ビット２１ｃ〜２１ｈ）に保持されている「その他異常」を検索し、検索された「その他異常」を発生させた被疑箇所を特定してから、レジスタ２５の値を“０”から“１”に書き換える。これにより、保持部２０Ｂが「その他異常」を保持したことを示す信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作が許可される。また、タイマ３１が上記所定期間を計時した時点で「AC-DC_Unit異常」の被疑箇所が特定されている場合、「その他異常」を発生させた被疑箇所を特定する処理を行なうことなく、レジスタ２５の値を“０”から“１”に書き換える。
【００９５】
このとき、処理部３０Ｂは、要因保持レジスタ２３のビット２３ａ，２３ａ′の値を参照することで「AC-DC_Unit異常」（第１異常）が保持されているか否かを、要因保持レジスタ２３のビット２３ｂの値を参照することで「その他異常」（第２異常）が保持されているか否かを判断する。
【００９６】
また、処理部３０Ｂは、上述した処理部３０，３０Ａと同様、保持部２０Ｂの異常保持レジスタ２１（ビット２１ａ〜２１ｈ，２１ａ′，２１ｂ′）に保持される個々の異常に対し、ユニークな番号であるアラーム番号を付与する。処理部３０Ｂは、保持部２０Ｂから異常検出信号を受信した時、異常保持レジスタ２１に保持される異常をアラーム番号に置き換えて、被疑箇所の特定処理を実行する。
【００９７】
〔３−２〕第２実施形態の動作
次に、保持部２０Ｂからの異常検出信号の受信後に処理部３０Ｂが実行する、被疑箇所の特定処理（監視処理手順）について、図４に示すフローチャート（ステップＳ２１〜Ｓ３２）に従って詳細に説明する。
監視装置１０Ｂの初期状態では、レジスタ２１，２３の各ビット２１ａ〜２１ｈ，２１ａ′，２１ｂ′，２３ａ，２３ａ′，２３ｂに“０”が設定され、レジスタ２５に“１”が設定されている。被疑箇所を特定する時間（上記所定期間）を計時するタイマ３１は未起動状態となっている。また、ＲＡＭ４０Ｂのログ領域４１におけるログ情報は全て消去されている。
【００９８】
処理部３０Ｂは、保持部２０Ｂから送出される信号を、常時、待ち受ける（ステップＳ２１）。
処理部３０Ｂは、最初に保持部２０Ｂから異常検出信号を受信した時、被疑箇所特定タイマ３１は未起動状態である場合（ステップＳ２２のＮＯルート）、以下の処理を行なう。つまり、処理部３０Ｂは、レジスタ２５の値を“１”から“０”に書き換え、「その他異常」についての異常検出信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作を抑止する（ステップＳ２３）。また、処理部３０Ｂは、タイマ３１を起動する（ステップＳ２４）。この後、処理部３０Ｂは、ステップＳ２５の処理に移行する。タイマ３１が既に起動されている場合（ステップＳ２２のＹＥＳルート）、処理部３０Ｂは、ステップＳ２３，Ｓ２４の処理を行なうことなく、ステップＳ２５の処理に移行する。なお、ステップＳ２３，Ｓ２４の実行順序は逆であってもよい。
【００９９】
処理部３０Ｂは、保持部２０Ｂの要因保持レジスタ２３のビット２３ａ，２３ａ′を参照し、ビット２３ａ，２３ａ′の少なくとも一方に“１”が設定されている場合、保持部２０Ｂに「AC-DC_Unit異常」が保持されていると判断する（ステップＳ２５のＹＥＳルート）。この場合、処理部３０Ｂは、異常保持レジスタ２１における「AC-DC_Unit異常」に係るビット２１ａ，２１ｂ，２１ａ′，２１ｂ′から一の異常を検索する。そして、処理部３０Ｂは、検索した異常を当該異常に付与されたアラーム番号に変換し、得られたアラーム番号をキーにして被疑箇所特定テーブル（図１２参照）を検索する。これにより、処理部３０Ｂは、得られたアラーム番号に一致するアラーム番号を含む登録情報を取得し、当該登録情報の階層、つまり今回検索された「AC-DC_Unit異常」の階層を決定する（ステップＳ２６）。この後、処理部３０Ｂは、今回検索された「AC-DC_Unit異常」について、図１１のステップＳ１０６〜Ｓ１１２と同様の被疑箇所の特定処理を行ない（ステップＳ２７）、ステップＳ２１の待ち受け処理に戻る。当該特定処理に際し、処理部３０Ｂは、上述した通り、被疑箇所特定テーブルのうちの、「AC-DC_Unit異常」の被疑箇所を特定する部分（図１２左側の上位２階層分のテーブル）を用いる。
【０１００】
ビット２３ａ，２３ａ′の両方に“０”が設定されている場合、処理部３０Ｂは、保持部２０Ｂに「AC-DC_Unit異常」が保持されていないと判断し（ステップＳ２５のＮＯルート）、被疑箇所の特定処理を行なうことなく、ステップＳ２１の待ち受け処理に戻る。
上述した処理（ステップＳ２１〜Ｓ２７）を繰り返し実行している状態で、被疑箇所特定タイマ３１が上記所定期間を計時しタイムアウトすると、処理部３０Ｂは、ステップＳ２８の処理に移行する。
【０１０１】
ステップＳ２８において、処理部３０Ｂは、ＲＡＭ４０Ｂのログ領域４１を参照し、「AC-DC_Unit異常」が検出されているか否か、つまり検出済みアラーム番号が登録されているか否かを判断する。
検出済みアラーム番号が登録されている場合（ステップＳ２８のＹＥＳルート）、既に「AC-DC_Unit異常」の被疑箇所が特定されており、ログ領域４１には、上記所定期間中に検出された「AC-DC_Unit異常」についてのログ情報が保存されている。このため、処理部３０Ｂは、「その他異常」についての被疑箇所の特定処理を行なうことなく、レジスタ２５の値を“０”から“１”に書き換える（ステップＳ３２）。これにより、処理部３０Ｂは、「その他異常」についての異常検出信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作を許可し、処理を終了する。
【０１０２】
一方、処理部３０Ｂは、検出済みアラーム番号が登録されていない場合（ステップＳ２８のＮＯルート）、「その他異常」を発生させた被疑箇所を特定する処理を行なう。この場合、処理部３０Ｂは、異常保持レジスタ２１が保持する「その他異常」を一つずつ検索し（ステップＳ２９のＮＯルート）、検索された異常を当該異常に付与されたアラーム番号に変換する。そして、処理部３０Ｂは、得られたアラーム番号をキーにして被疑箇所特定テーブル（図１２参照）を検索する。これにより、処理部３０Ｂは、得られたアラーム番号に一致するアラーム番号を含む登録情報を取得し、当該登録情報の階層、つまり今回検索された「その他異常」の階層を決定する（ステップＳ３０）。この後、処理部３０Ｂは、今回検索された「その他異常」について、図１１のステップＳ１０６〜Ｓ１１２と同様の被疑箇所の特定処理を行ない、ステップＳ２９の処理に戻る。当該特定処理に際し、処理部３０Ｂは、上述した通り、被疑箇所特定テーブルのうちの、「その他異常」の被疑箇所を特定する部分（図１２右側の下位３階層分のテーブル）を用いる。
【０１０３】
処理部３０Ｂは、異常保持レジスタ２１が保持する「その他異常」を全て検索するまで、ステップＳ３０，Ｓ３１の処理を繰り返し実行する。異常保持レジスタ２１が保持する「その他異常」を全て検索すると（ステップＳ２９のＹＥＳルート）、処理部３０Ｂは、レジスタ２５の値を“０”から“１”に書き換える（ステップＳ３２）。これにより、処理部３０Ｂは、「その他異常」についての異常検出信号を保持部２０Ｂから処理部３０Ｂへ送信する送信動作を許可し、処理を終了する。
【０１０４】
「AC-DC_Unit異常」は、最上位階層の被疑箇所である。このため、「AC-DC_Unit異常」が検出された時は、被疑箇所特定タイマ３１がタイムアウトするまでの期間に検出された「その他異常」について被疑箇所を特定する必要はない。
逆に、被疑箇所特定タイマ３１がタイムアウトした時、「AC-DC_Unit異常」の検出が無ければ、検出した「その他異常」から最上位階層の被疑箇所を特定する必要がある。
コンピュータシステム１００Ｂ内で「AC-DC_Unit異常」の検出はなく「その他異常」を検出する場合は、ＤＣ−ＤＣ変換ユニット３の異常発生に伴いデバイス４の異常を検出した事、もしくは、ＤＣ−ＤＣ変換ユニット３かデバイス４の異常が単独で発生した事を示す。このような場合、「その他異常」が多発することはない。
【０１０５】
そこで、上述したように、第２実施形態の監視部１０Ｂ（処理部３０Ｂ）は、要因保持レジスタ２１が保持した「その他異常」についての異常検出信号の送出を無効にするように構成される。また、被疑箇所を特定する処理が「AC-DC_Unit異常」と「その他異常」とに分離され、「AC-DC_Unit異常」についての特定処理が先に実行され、「その他異常」についての特定処理がタイマ３１のタイムアウト後に実行される。このとき、被疑箇所特定テーブル（図１２参照）が、「AC-DC_Unit異常」用の部分と「その他異常」用の部分とに分けて用いられる。
【０１０６】
このような構成を用いて上述した処理（ステップＳ２１〜Ｓ３２）を実行することで、「その他異常」が多発したとしても、タイマ３１がタイムアウトするまでは「AC-DC_Unit異常」の被疑箇所の特定処理のみが実行される。これにより、「その他異常」を多発させる「AC-DC_Unit異常」の被疑箇所が先に特定され、被疑箇所特定タイマ３１がタイムアウトした時、既に「AC-DC_Unit異常」が検出済みならば「その他異常」の被疑箇所の特定処理は実行されない。「AC-DC_Unit異常」が検出されていない場合に「その他異常」の被疑箇所の特定処理が実行される。
【０１０７】
したがって、処理部３０Ｂは、「その他異常」が多発する期間に「その他異常」の被疑箇所の特定処理に負荷を取られることがなくなる。このため、処理部３０Ｂが異常監視以外の処理を担っている場合に異常監視以外の処理を実行できずコンピュータシステム１００Ｂの稼動が停止するということもなくなり、処理部３０Ｂは、安定して動作を継続・保証することができる。また、第１実施形態と同様、第２実施形態の監視部１０Ｂによっても、ＤＣ−ＤＣ変換ユニット３やデバイス４の実装台数が増加しても、電源供給系で異常を発生させた被疑箇所を容易かつ確実に特定することができる。
【０１０８】
〔４〕第３実施形態
〔４−１〕第３実施形態の構成
以下、図５および図６を参照しながら、第３実施形態の監視装置１０Ｃを含む情報処理装置１００Ｃの構成について説明する。図５は、第３実施形態の監視装置１０Ｃで用いられる被疑箇所特定テーブルの例を示す図、図６は、第３実施形態の監視装置１０Ｃを含む情報処理装置１００Ｃの構成を示すブロック図である。なお、図中、既述の符号と同一の符号は、同一またはほぼ同一の部分を示しているので、その詳細な説明は省略する。
【０１０９】
まず、図５を参照しながら、第３実施形態の監視装置１０Ｃで用いられる被疑箇所特定テーブルについて説明する。第３実施形態の監視装置１０Ｃでは、第１および第２実施形態で用いられた被疑箇所特定テーブル（図１２参照）に代えて、図５に示す被疑箇所特定テーブルが用いられる。図５に示す被疑箇所特定テーブルは、後述するＲＡＭ４０Ｃのテーブル領域４２に保存され、後述する処理部３０Ｃが生成する複数の要因テーブルＴ１０，Ｔ２１〜Ｔ２Ｎを含む。
【０１１０】
要因テーブルＴ１０，Ｔ２１〜Ｔ２Ｎは、要因保持レジスタ２３（図６参照）に保持される要因毎に生成される。つまり、要因テーブルＴ１０，Ｔ２１〜Ｔ２Ｎは、それぞれ要因保持レジスタ２３のビット２３ａ，２３ｂ−１，２３ｂ−２に対応している。なお、図６では、要因テーブルＴ２３〜Ｔ２Ｎに対応する、要因保持レジスタ２３のビットの図示は省略されている。
【０１１１】
要因テーブル（第１テーブル）Ｔ１０は、ＡＣ−ＤＣ変換ユニット２の異常(1), (2)、つまり「AC-DC_Unit異常」（第１異常）に関連する異常の情報を階層的に規定する。要因テーブルＴ１０では、階層的に連続する異常(1), (2)の登録情報が階層順に配列されている。
【０１１２】
要因テーブル（第２テーブル）Ｔ２１〜Ｔ２Ｎは、ＤＣ−ＤＣ変換ユニット３やデバイス４の異常(3)〜(11)、つまり「その他異常」に関連する異常の情報を階層的に規定する。デバイス４−１用の要因テーブルＴ２１では、階層的に連続する異常(3)〜(5)の登録情報が階層順に配列されている。デバイス４−２用の要因テーブルＴ２２では、階層的に連続する異常(6)〜(8)の登録情報が階層順に配列されている。デバイス４−Ｎ用の要因テーブルＴ２Ｎでは、階層的に連続する異常(9)〜(11)の登録情報が階層順に配列されている。
【０１１３】
図５に示す要因テーブルＴ１０，Ｔ２１〜Ｔ２Ｎにおける、各異常(1)〜(11)の登録情報には、1)被疑箇所，2)異常の詳細および3)異常保持レジスタ情報（アドレスとビット情報）が含まれている。ここで、1)被疑箇所および2)異常の詳細は、図１２を参照しながら前述したものと同様であるので、その説明は省略する。図５に示す登録情報では、図１２に示す「アラーム番号」に代えて「異常保持レジスタ情報（アドレスとビット情報）」が含まれている。この「異常保持レジスタ情報（アドレスとビット情報）」は、各異常(1)〜(11)に対応する、異常保持レジスタ２１の各ビット２１ａ〜２１ｈを特定しうるアドレスやビット情報である。なお、図６では、異常(9)〜(11)に対応する、異常保持レジスタ２１のビットの図示は省略されている。
【０１１４】
図６に示すように、第３実施形態の監視装置（監視部）１０Ｃも、上述した監視装置１０，１０Ａ，１０Ｂと同様、情報処理装置（コンピュータシステム）１００Ｃにおいてデバイス４および同デバイス４への電源供給系の異常を監視する。なお、第３実施形態における監視部１０Ｃやデバイス４への電源供給系は、第１実施形態の電源供給系と同様に構成されているので、その説明は省略する。
【０１１５】
監視部１０Ｃは、保持部２０Ｃ，処理部（監視処理部）３０ＣおよびＲＡＭ（記憶部）４０Ｃを含む。
保持部２０Ｃは、上述した保持部２０，２０Ａと同様、ユニット２，３およびデバイス４から通知される異常信号を受信して保持する異常保持レジスタ２１を有する。
また、保持部２０Ｃは、論理和回路２２ａ，２２ｂ−１，２２ｂ−２，２７；要因保持レジスタ２３；異常検出信号送出有効／無効レジスタ２５および論理積回路２６を有している。なお、論理和回路２２ａおよび異常検出信号送出有効／無効レジスタ２５は、図１や図３を参照しながら上述したものと同様であるので、その説明は省略する。
【０１１６】
論理和回路２２ｂ−１は、ＤＣ−ＤＣ変換ユニット３−１およびデバイス４−１の異常(3)〜(5)をそれぞれ保持するビット２１ｃ〜２１ｅの値の論理和を「デバイス異常-1」（第２異常）として要因保持レジスタ２３のビット２３ｂ−１に設定する。つまり、ＤＣ−ＤＣ変換ユニット３−１およびデバイス４−１の異常(3)〜(5)のうちの少なくとも一つが発生すると、論理和回路２２ｂ−１の出力である「デバイス異常-1」が“１”になり、要因保持レジスタ２３のビット２３ｂ−１の値が“１”に設定される。
【０１１７】
論理和回路２２ｂ−２は、ＤＣ−ＤＣ変換ユニット３−２およびデバイス４−２の異常(6)〜(8)をそれぞれ保持するビット２１ｆ〜２１ｈの値の論理和を「デバイス異常-2」（第２異常）として要因保持レジスタ２３のビット２３ｂ−２に設定する。つまり、ＤＣ−ＤＣ変換ユニット３−２およびデバイス４−２の異常(6)〜(8)のうちの少なくとも一つが発生すると、論理和回路２２ｂ−２の出力である「デバイス異常-2」が“１”になり、要因保持レジスタ２３のビット２３ｂ−２の値が“１”に設定される。
【０１１８】
論理積回路２６は、要因保持レジスタ２３のビット２３ｂ−１および２３ｂ−２の値とレジスタ２５の値との論理積を出力する。
レジスタ２５および論理積回路２６は、第２実施形態と同様、保持部２０Ｃが「デバイス異常-1」や「デバイス異常-2」を保持したことを示す信号を保持部２０Ｃから処理部３０Ｃへ送信する送信動作の許可状態／抑止状態を切り換える切換部として機能する。
【０１１９】
論理和回路２７は、定期的に、もしくは、割込み信号に応じて、要因保持レジスタ２３のビット２３ａと論理積回路２６からの値との論理和を「異常検出信号」として生成し処理部３０Ｃへ送信する。つまり、論理和回路２７は、レジスタ２５に“０”が設定されている場合、「AC-DC_Unit異常」についての異常検出信号を処理部３０Ｃへ送出するが、「その他異常」である「デバイス異常-1」や「デバイス異常-2」についての異常検出信号を処理部３０Ｃへ送出することはない。また、論理和回路２７は、レジスタ２５に“１”が設定されている場合、「AC-DC_Unit異常」についての異常検出信号も「デバイス異常-1」や「デバイス異常-2」についての異常検出信号も処理部３０Ｂへ送出する。
【０１２０】
処理部３０Ｃは、後述するステップＳ４１〜Ｓ５８に従って、保持部２０Ｃに保持された異常や、ＲＡＭ４０Ｃのテーブル領域４２に保持された要因テーブルＴ１０，Ｔ２１〜Ｔ２Ｎ（図５参照）に基づき、異常の発生したユニット２，３またはデバイス４を特定する。
【０１２１】
処理部３０Ｃは、第１，第２実施形態と同様の被疑箇所特定タイマ３１を有している。
そして、処理部３０Ｃは、異常検出信号、つまり保持部２０Ｃが「AC-DC_Unit異常」，「デバイス異常-1」，「デバイス異常-2」の少なくとも一つを保持したことを示す信号を保持部２０Ｃから受信すると、タイマ３１を起動するとともに、レジスタ２５の値を“１”から“０”に書き換える。レジスタ２５の値が“０”の間、保持部２０Ｃが「デバイス異常-1」や「デバイス異常-2」を保持したことを示す信号を保持部２０Ｃから処理部３０Ｃへ送信する送信動作が抑止される。
【０１２２】
処理部３０Ｃは、タイマ３１が起動されてから上記所定期間を計時するまでの期間、異常保持レジスタ２１の「AC-DC_Unit異常」に係るビット２１ａ，２１ｂを検索し、「AC-DC_Unit異常」を発生させた被疑箇所（第１被疑箇所）を特定する処理を行なう。当該処理に際し、処理部３０Ｃは、要因テーブルＴ１０をＲＡＭ４０Ｃから取得し、要因テーブルＴ１０に規定された上位階層の異常から順に異常保持レジスタ２１のビット２１ａ，２１ｂを検索し、第１被疑箇所を特定する（図７のステップＳ４６〜Ｓ５０参照）。
【０１２３】
なお、当該期間、保持部２０Ｃが「デバイス異常-1」や「デバイス異常-2」を保持したことを示す信号を保持部２０Ｃから処理部３０Ｃへ送信する送信動作は抑止されているので、処理部３０Ｃは、「デバイス異常-1」や「デバイス異常-2」を発生させた被疑箇所（第２被疑箇所）を特定する処理を行なわない。つまり、当該期間、処理部３０Ｃは、「デバイス異常-1」や「デバイス異常-2」よりも優先的に「AC-DC_Unit異常」を発生させた被疑箇所を特定する。
【０１２４】
一方、処理部３０Ｃは、タイマ３１が上記所定期間を計時した時点で「AC-DC_Unit異常」の被疑箇所が未特定の場合、「デバイス異常-1」や「デバイス異常-2」を発生させた被疑箇所を特定する処理を行なう。当該処理に際し、処理部３０Ｃは、要因保持レジスタ２３から検索した要因に対応した要因テーブルを要因テーブルＴ２１〜Ｔ２Ｎから取得する。そして、処理部３０Ｃは、取得した要因テーブルに規定された上位階層の異常から順に異常保持レジスタ２１のビット２１ｃ〜２１ｅまたはビット２１ｆ〜２１ｈを検索し、第２被疑箇所を特定する（図７のステップＳ５２〜Ｓ５７参照）。
【０１２５】
処理部３０Ｃは、第２被疑箇所を特定すると、レジスタ２５の値を“０”から“１”に書き換える。これにより、保持部２０Ｃが「デバイス異常-1」や「デバイス異常-2」を保持したことを示す信号を保持部２０Ｃから処理部３０Ｃへ送信する送信動作が許可される。また、タイマ３１が上記所定期間を計時した時点で「AC-DC_Unit異常」の被疑箇所が特定されている場合、処理部３０Ｃは、「デバイス異常-1」や「デバイス異常-2」を発生させた被疑箇所を特定する処理を行なうことなく、レジスタ２５の値を“０”から“１”に書き換える。
【０１２６】
〔４−２〕第３実施形態の動作
次に、保持部２０Ｃからの異常検出信号の受信後に処理部３０Ｃが実行する、被疑箇所の特定処理（監視処理手順）について、図７に示すフローチャート（ステップＳ４１〜Ｓ５８）に従って詳細に説明する。
監視装置１０Ｃの初期状態では、レジスタ２１，２３の各ビット２１ａ〜２１ｈ，２３ａ，２３ｂ−１，２３ｂ−２に“０”が設定され、レジスタ２５に“１”が設定されている。被疑箇所を特定する時間（上記所定期間）を計時するタイマ３１は未起動状態となっている。また、ＲＡＭ４０Ｃのログ領域４１におけるログ情報は全て消去されている。
【０１２７】
処理部３０Ｃは、保持部２０Ｃから送出される信号を、常時、待ち受ける（ステップＳ４１）。
処理部３０Ｃは、最初に保持部２０Ｃから異常検出信号を受信した時、被疑箇所特定タイマ３１は未起動状態である場合（ステップＳ４２のＮＯルート）、以下の処理を行なう。つまり、処理部３０Ｃは、レジスタ２５の値を“１”から“０”に書き換え、「その他異常」である「デバイス異常-1」や「デバイス異常-2」についての異常検出信号を保持部２０Ｃから処理部３０Ｃへ送信する送信動作を抑止する（ステップＳ４３）。また、処理部３０Ｃは、タイマ３１を起動する（ステップＳ４４）。この後、処理部３０Ｃは、ステップＳ４５の処理に移行する。タイマ３１が既に起動されている場合（ステップＳ４２のＹＥＳルート）、処理部３０Ｃは、ステップＳ４３，Ｓ４４の処理を行なうことなく、ステップＳ４５の処理に移行する。なお、ステップＳ４３，Ｓ４４の実行順序は逆であってもよい。
【０１２８】
処理部３０Ｃは、保持部２０Ｃの要因保持レジスタ２３のビット２３ａを参照し、ビット２３ａに“１”が設定されている場合、保持部２０Ｃに「AC-DC_Unit異常」が保持されていると判断する（ステップＳ４５のＹＥＳルート）。この場合、処理部３０Ｃは、「AC-DC_Unit異常」（異常(1), (2)）に対応する要因テーブルＴ１０をＲＡＭ４０Ｃから取得する（ステップＳ４６）。そして、処理部３０Ｃは、後述するステップＳ４５〜Ｓ５０に従って、要因テーブルＴ１０に規定された上位階層の異常から順に異常保持レジスタ２１のビット２１ａ，２１ｂを検索し、第１被疑箇所を特定する。
【０１２９】
つまり、処理部３０Ｃは、要因テーブルＴ１０の登録情報を上位階層から下位階層に向かって一つずつ検索し（ステップＳ４７のＮＯルート）、検索された登録情報の異常保持レジスタ情報を参照する。そして、処理部３０Ｃは、参照した異常保持レジスタ情報によって特定される、異常保持レジスタ２１のビットの値をリードする（ステップＳ４８）。
【０１３０】
処理部３０Ｃは、リードした値が“０”（偽）である場合（ステップＳ４９のＮＯルート）、ステップＳ４７に戻り、一つ下位の階層の登録情報を要因テーブルＴ１０から検索し（ステップＳ４７のＮＯルート）、ステップＳ４８，Ｓ４９を実行する。例えば図５に示す要因テーブルＴ１０の場合、まず異常(1)に対応するビット２１ａの値がリードされ、次に異常(2)に対応するビット２１ｂの値がリードされる。
【０１３１】
処理部３０Ｃは、要因テーブルＴ１０の登録情報を全て検索すると（ステップＳ４７のＹＥＳルート）、ステップＳ４１の待ち受け処理に戻る。このとき、処理部３０Ｃは、図５や図６には図示されていない、ＡＣ−ＤＣ変換ユニット２以外のＡＣ−ＤＣ変換ユニットからの異常検出信号を待ち受けることになる。
【０１３２】
処理部３０Ｃは、ステップＳ４８でリードした値が“１”（真）である場合（ステップＳ４９のＹＥＳルート）、ＲＡＭ４０Ｃのログ領域４１に新たなログ情報を生成する（ステップＳ５０）。ログ情報は、要因テーブルＴ１０の登録情報に登録された、被疑箇所と異常の詳細とに基づき生成される。この後、処理部３０Ｃは、ステップＳ４１の待ち受け処理に戻り、図５や図６には図示されていない、ＡＣ−ＤＣ変換ユニット２以外のＡＣ−ＤＣ変換ユニットからの異常検出信号を待ち受ける。
【０１３３】
上述した処理（ステップＳ４１〜Ｓ５０）を繰り返し実行している状態で、被疑箇所特定タイマ３１が上記所定期間を計時しタイムアウトすると、処理部３０Ｃは、ステップＳ５１の処理に移行する。ステップＳ５１において、処理部３０Ｃは、ＲＡＭ４０Ｃのログ領域４１を参照し、「AC-DC_Unit異常」が検出されているか否かを判断する。
【０１３４】
「AC-DC_Unit異常」が検出されている場合（ステップＳ５１のＹＥＳルート）、既に「AC-DC_Unit異常」の被疑箇所が特定されており、ログ領域４１には、上記所定期間中に検出された「AC-DC_Unit異常」についてのログ情報が保存されている。このため、処理部３０Ｃは、「デバイス異常-1」や「デバイス異常-2」についての被疑箇所の特定処理を行なうことなく、レジスタ２５の値を“０”から“１”に書き換える（ステップＳ５８）。これにより、処理部３０Ｃは、「デバイス異常-1」や「デバイス異常-2」についての異常検出信号を保持部２０Ｃから処理部３０Ｃへ送信する送信動作を許可し、処理を終了する。
【０１３５】
一方、処理部３０Ｃは、「AC-DC_Unit異常」が検出されていない場合（ステップＳ５１のＮＯルート）、「その他異常」つまり「デバイス異常-1」や「デバイス異常-2」を発生させた被疑箇所を特定する処理を行なう。この場合、処理部３０Ｃは、要因保持レジスタ２３が保持する要因（つまりのビット２３ｂ−１，２３ｂ−２）を一つずつ検索し（ステップＳ５２のＮＯルート）、検索された要因に対応する要因テーブルをＲＡＭ４０Ｃから取得する（ステップＳ５３）。例えば、検索されたビット２３ｂ−１に“１”が設定されている場合、要因テーブルＴ２１が取得され、検索されたビット２３ｂ−２に“１”が設定されている場合、要因テーブルＴ２２が取得される。
【０１３６】
処理部３０Ｃは、検索された要因テーブルの登録情報を上位階層から下位階層に向かって一つずつ検索し（ステップＳ５４のＮＯルート）、検索された登録情報の異常保持レジスタ情報を参照する。そして、処理部３０Ｃは、参照した異常保持レジスタ情報によって特定される、異常保持レジスタ２１のビットの値をリードする（ステップＳ５５）。
【０１３７】
処理部３０Ｃは、リードした値が“０”（偽）である場合（ステップＳ５６のＮＯルート）、ステップＳ５４に戻り、一つ下位の階層の登録情報を要因テーブルから検索し（ステップＳ５４のＮＯルート）、ステップＳ５５，Ｓ５６を実行する。例えば図５に示す要因テーブルＴ２１の場合、まず異常(3)に対応するビット２１ｃの値がリードされ、次に異常(4)に対応するビット２１ｄの値がリードされ、次に異常(5)に対応するビット２１ｅの値がリードされる。
【０１３８】
処理部３０Ｃは、要因テーブルの登録情報を全て検索すると（ステップＳ５４のＹＥＳルート）、ステップＳ５２の処理に戻る。
処理部３０Ｃは、ステップＳ５５でリードした値が“１”（真）である場合（ステップＳ５６のＹＥＳルート）、ＲＡＭ４０Ｃのログ領域４１に新たなログ情報を生成する（ステップＳ５７）。ログ情報は、要因テーブルの登録情報に登録された、被疑箇所と異常の詳細とに基づき生成される。この後、処理部３０Ｃは、ステップＳ５２の処理に戻る。
【０１３９】
そして、処理部３０Ｃは、要因保持レジスタ２３が保持する要因（つまりのビット２３ｂ−１，２３ｂ−２）を全て検索すると（ステップＳ５２のＹＥＳルート）、レジスタ２５の値を“０”から“１”に書き換える（ステップＳ５８）。これにより、処理部３０Ｃは、「デバイス異常-1」や「デバイス異常-2」についての異常検出信号を保持部２０Ｃから処理部３０Ｃへ送信する送信動作を許可し、処理を終了する。
【０１４０】
第３実施形態の監視部１０Ｃ（処理部３０Ｃ）によれば、第１実施形態や第２実施形態と同様の作用効果が得られる。
また、第３実施形態の処理部３０Ｃは、上述したように、被疑箇所特定テーブル（要因テーブル）の登録情報を上位階層から下位階層に向けて検索することで被疑箇所を特定できるように構成される。この構成により、要因テーブルの各登録情報における異常保持レジスタ情報で特定される、異常保持レジスタ２１のビットの値が“１”（真）であった時点で、処理部３０Ｃは、最上位階層の被疑箇所の特定を完了している。このため、処理部３０Ｃは、要因テーブルの全ての階層の登録情報を検索する必要がない。したがって、「その他異常」が多発しても、処理部３０Ｃは被疑箇所の特定処理のために負荷を取られることがなく、監視部１０Ｃは安定した動作を継続できる。
【０１４１】
さらに、図１０や図１１に示す処理部３０による被疑箇所の特定処理において、ＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３やデバイス４の実装台数が増加すると、これらのユニット２，３やデバイス４に付与されるユニークなアラーム番号の数や階層テーブルの数も増加する。これに伴い、異常の階層を決定する処理つまりは被疑箇所の特定処理が、処理部３０の大きな負荷となっていた。これに対し、第３実施形態の処理部３０Ｃによれば、アラーム番号を付与したり異常の階層を決定したりする必要がなく被疑箇所の特定処理にかかる負荷を確実に抑えながら、電源供給系で異常を発生させた被疑箇所を容易かつ確実に特定することができる。
【０１４２】
また、コンピュータシステムの構造によっては、「AC-DC_Unit異常」が検出されないが「その他異常」が多発するような被疑箇所（ＡＣ−ＤＣ変換ユニット２の電源供給ケーブルの抜けや断線）が考えられる。このような被疑箇所で異常が発生した場合、被疑箇所特定タイマ３１がタイムアウトした後の被疑箇所の特定処理の負荷が極めて大きくなる。これに対し、第３実施形態の処理部３０Ｃによれば、異常の階層を決定する必要がなく被疑箇所の特定処理にかかる負荷を確実に抑えることができる。
【０１４３】
〔５〕第４実施形態
以下、図８を参照しながら、第４実施形態の監視装置１０Ｄを含む情報処理装置１００Ｄの構成について説明する。図８は、第４実施形態の監視装置１０Ｄを含む情報処理装置１００Ｄの構成を示すブロック図である。なお、図中、既述の符号と同一の符号は、同一またはほぼ同一の部分を示しているので、その詳細な説明は省略する。
【０１４４】
図８に示すように、第４実施形態の監視装置（監視部）１０Ｄも、上述した監視装置１０，１０Ａ〜１０Ｃと同様、情報処理装置（コンピュータシステム）１００Ｄにおいてデバイス４および同デバイス４への電源供給系の異常を監視する。なお、第４実施形態における監視部１０Ｄおよびデバイス４への電源供給系は、第１実施形態や第３実施形態の電源供給系と同様に構成されているので、その説明は省略する。
【０１４５】
監視部１０Ｄは、保持部２０Ｄ，処理部（監視処理部）３０ＤおよびＲＡＭ（記憶部）４０Ｄを含む。
第４実施形態の監視部１０Ｄは、第３実施形態の監視部１０Ｄと同様の機能を、汎用ＭＰＵ（Micro Processing Unit）である処理部３０Ｄによって実現し、汎用ＭＰＵ３０Ｄの割込み機能を用いて被疑箇所の特定処理を行なうように構成される。ＲＡＭ４０Ｄのテーブル領域４２には、図５を参照しながら上述した要因テーブルＴ１０，Ｔ２１〜Ｔ２Ｎが予め保存されている。
【０１４６】
保持部２０Ｄは、上述した保持部２０，２０Ａ，２０Ｃと同様、ユニット２，３およびデバイス４から通知される異常信号を受信して保持する異常保持レジスタ２１を有する。
また、保持部２０Ｄは、論理和回路２２ａ，２２ｂ−１，２２ｂ−２，２８および要因保持レジスタ２３を有している。
【０１４７】
論理和回路２２ａは、ＡＣ−ＤＣ変換ユニット２の異常(1), (2)をそれぞれ保持する２  つのビット２１ａ，２１ｂの値の論理和を「AC-DC_Unit異常」として要因保持レジスタ２３のビット２３ａに設定する。つまり、ＡＣ−ＤＣ変換ユニット２の異常(1), (2)の少なくとも一方が発生すると、論理和回路２２ａの出力である「AC-DC_Unit異常」が“１”になり、要因保持レジスタ２３のビット２３ａの値が“１”に設定される。要因保持レジスタ２３のビット２３ａの値は、「AC-DC_Unit異常」（第１異常）を示す異常検出信号として汎用ＭＰＵ３０Ｄに送出される。
【０１４８】
論理和回路２２ｂ−１は、ＤＣ−ＤＣ変換ユニット３−１およびデバイス４−１の異常(3)〜(5)をそれぞれ保持するビット２１ｃ〜２１ｅの値の論理和を「デバイス異常-1」として要因保持レジスタ２３のビット２３ｂ−１に設定する。つまり、ＤＣ−ＤＣ変換ユニット３−１およびデバイス４−１の異常(3)〜(5)のうちの少なくとも一つが発生すると、論理和回路２２ｂ−１の出力である「デバイス異常-1」が“１”になり、要因保持レジスタ２３のビット２３ｂ−１の値が“１”に設定される。
【０１４９】
論理和回路２２ｂ−２は、ＤＣ−ＤＣ変換ユニット３−２およびデバイス４−２の異常(6)〜(8)をそれぞれ保持するビット２１ｆ〜２１ｈの値の論理和を「デバイス異常-2」として要因保持レジスタ２３のビット２３ｂ−２に設定する。つまり、ＤＣ−ＤＣ変換ユニット３−２およびデバイス４−２の異常(6)〜(8)のうちの少なくとも一つが発生すると、論理和回路２２ｂ−２の出力である「デバイス異常-2」が“１”になり、要因保持レジスタ２３のビット２３ｂ−２の値が“１”に設定される。
【０１５０】
論理和回路２８は、要因保持レジスタ２３のビット２３ｂ−１の値と２３ｂ−２の値との論理和を「その他異常」（第２異常の検出信号）として汎用ＭＰＵ３０Ｄに送出する。
なお、「その他異常（デバイス異常-1，デバイス異常-2）」を保持部２０Ｄから処理部３０Ｄへ送信する送信動作の許可状態／抑止状態を切り換える切換部としての機能は、第３実施形態ではレジスタ２５および論理積回路２６によって実現されていた。第４実施形態では、当該切換部としての機能は、汎用ＭＰＵ３０Ｄ側で、論理和回路２８からの「その他異常」（異常検出信号）による割込みを有効／無効にする機能によって実現される。例えば、汎用ＭＰＵ３０Ｄは、所定ＭＰＵレジスタに「有効（１）」を設定することで「その他異常」による割込みを有効にし上記送信動作を許可する。また、汎用ＭＰＵ３０Ｄは、所定ＭＰＵレジスタに「無効（０）」を設定することで「その他異常」による割込みを無効にし上記送信動作を抑止する。
【０１５１】
汎用ＭＰＵ３０Ｄは、後述するステップＳ６１〜Ｓ６９に従って、保持部２０Ｄに保持された異常や、ＲＡＭ４０Ｄのテーブル領域４２に保持された要因テーブルＴ１０，Ｔ２１〜Ｔ２Ｎ（図５参照）に基づき、異常の発生したユニット２，３またはデバイス４を特定する。
【０１５２】
汎用ＭＰＵ３０Ｄは、第１〜第３実施形態と同様の被疑箇所特定タイマ３１を有している。
汎用ＭＰＵ３０Ｄは、異常検出信号、つまり保持部２０Ｄが「AC-DC_Unit異常」または「その他異常」を保持したことを示す信号を保持部２０Ｄから受信すると、「AC-DC_Unit異常」の割込み処理または「その他異常」の割込み処理を起動する。割込み処理が起動されると、タイマ３１が起動されるとともに所定ＭＰＵレジスタに「無効」が設定される。
【０１５３】
「AC-DC_Unit異常」の割込み処理が起動された場合、汎用ＭＰＵ３０Ｄは、タイマ３１が上記所定期間を計時するまでの期間、異常保持レジスタ２１の「AC-DC_Unit異常」に係るビット２１ａ，２１ｂを検索し、「AC-DC_Unit異常」を発生させた被疑箇所（第１被疑箇所）を特定する処理を行なう。当該処理に際し、汎用ＭＰＵ３０Ｄは、要因テーブルＴ１０をＲＡＭ４０Ｄから取得し、要因テーブルＴ１０に規定された上位階層の異常から順に異常保持レジスタ２１のビット２１ａ，２１ｂを検索し、第１被疑箇所を特定する（図９のステップＳ６４，Ｓ６５参照）。
【０１５４】
「その他異常」の割込み処理が起動された場合、汎用ＭＰＵ３０Ｄは、タイマ３１の起動と所定ＭＰＵレジスタへの「無効」設定とを行なうだけで、上記所定期間中に「その他異常」の被疑箇所の特定処理を行なわない。つまり、上記所定期間中、汎用ＭＰＵ３０Ｄは「その他異常」よりも優先的に「AC-DC_Unit異常」を発生させた被疑箇所を特定する。
【０１５５】
一方、汎用ＭＰＵ３０Ｄは、タイマ３１が上記所定期間を計時した時点で「AC-DC_Unit異常」の被疑箇所が未特定の場合、第３実施形態の処理部３０Ｃと同様、「その他異常」を発生させた被疑箇所（第２被疑箇所）を特定する処理を行なう。
汎用ＭＰＵ３０Ｄは、第２被疑箇所を特定すると、上記所定ＭＰＵレジスタに「有効」を設定する。これにより、汎用ＭＰＵ３０Ｄにおいて、保持部２０Ｄが「その他異常」を保持したことを示す信号による割込みが有効になる。つまり、当該信号を保持部２０Ｄから汎用ＭＰＵ３０Ｄへ送信する送信動作が許可される。また、タイマ３１が上記所定期間を計時した時点で「AC-DC_Unit異常」の被疑箇所が特定されている場合、汎用ＭＰＵ３０Ｄは、「その他異常」を発生させた被疑箇所を特定する処理を行なうことなく、上記所定ＭＰＵレジスタに「有効」を設定する。
【０１５６】
次に、保持部２０Ｄからの異常検出信号の受信後にＭＰＵ３０Ｄが実行する割込み処理について、図９に示すフローチャート（ステップＳ６１〜Ｓ６９）に従って詳細に説明する。
監視装置１０Ｄの初期状態では、レジスタ２１，２３の各ビット２１ａ〜２１ｈ，２３ａ，２３ｂ−１，２３ｂ−２に“０”が設定され、所定ＭＰＵレジスタに「有効」が設定されている。被疑箇所を特定する時間（上記所定期間）を計時するタイマ３１は未起動状態となっている。また、ＲＡＭ４０Ｄのログ領域４１におけるログ情報は全て消去されている。
【０１５７】
汎用ＭＰＵ３０Ｄは、初期設定後、最初に、保持部２０Ｄから「AC-DC_Unit異常」を受信し、「AC-DC_Unit異常」の割込み処理を起動すると、被疑箇所特定タイマ３１は未起動状態である場合（ステップＳ６１のＮＯルート）、以下の処理を実行する。つまり、汎用ＭＰＵ３０Ｄは、上記所定ＭＰＵレジスタに「無効」を設定し、以後、「その他異常」を受信しても割込み処理が起動されないようにする（ステップＳ６２）。また、汎用ＭＰＵ３０Ｄは、タイマ３１を起動する（ステップＳ６３）。この後、汎用ＭＰＵ３０Ｄは、ステップＳ６４の処理に移行する。タイマ３１が既に起動されている場合（ステップＳ６１のＹＥＳルート）、汎用ＭＰＵ３０Ｄは、ステップＳ６２，Ｓ６３の処理を行なうことなく、ステップＳ６４の処理に移行する。なお、ステップＳ６２，Ｓ６３の実行順序は逆であってもよい。
【０１５８】
一方、汎用ＭＰＵ３０Ｄは、初期設定後、最初に、保持部２０Ｄから「その他異常」を受信し、「その他異常」の割込み処理を起動すると、被疑箇所特定タイマ３１は未起動状態である場合（ステップＳ６６のＮＯルート）、汎用ＭＰＵ３０Ｄは、上記所定ＭＰＵレジスタに「無効」を設定し、以後、「その他異常」を受信しても割込み処理が起動されないようにする（ステップＳ６７）。また、汎用ＭＰＵ３０Ｄは、タイマ３１を起動する（ステップＳ６８）。この後、汎用ＭＰＵ３０Ｄは、「その他異常」の割込み処理を終了する。なお、ステップＳ６７，Ｓ６８の実行順序は逆であってもよい。
【０１５９】
汎用ＭＰＵ３０Ｄは、「AC-DC_Unit異常」の割込み処理のステップＳ６４において、「AC-DC_Unit異常」（異常(1), (2)）に対応する要因テーブルＴ１０をＲＡＭ４０Ｄから取得する。そして、汎用ＭＰＵ３０Ｄは、要因テーブルＴ１０に規定された上位階層の異常から順に異常保持レジスタ２１のビット２１ａ，２１ｂを検索し、第１被疑箇所を特定し（ステップＳ６５）、「AC-DC_Unit異常」の割込み処理を終了する。ステップＳ６５で実行される第１被疑箇所の特定処理は、前述した図１１のステップＳ４７〜Ｓ５０で実行される処理と同様であるので、その説明は省略する。
【０１６０】
そして、被疑箇所特定タイマ３１が上記所定期間を計時しタイムアウトすると、汎用ＭＰＵ３０Ｄは、ステップＳ６９の処理に移行する。ステップＳ６９で実行される処理は、前述した図７のステップＳ５１〜Ｓ５８で実行される処理と同様であるので、その説明は省略する。
【０１６１】
第４実施形態の監視部１０Ｄ（汎用ＭＰＵ３０Ｄ）によれば、第３実施形態と同様の作用効果が得られる。
また、第４実施形態では、「AC-DC_Unit異常」で起動される割込み処理と「その他異常」で起動される割込み処理とが汎用ＭＰＵ３０Ｄに登録されている。このため、汎用ＭＰＵ３０Ｄは異常検出信号を定期的に監視する必要がなくなるほか、「AC-DC_Unit異常」と「その他異常」とで起動される割込み処理の内容を、それぞれ必要な処理だけにすることができる。したがって、電源供給系の被疑箇所の特定処理を必要最低限の動作で実行することができる。
【０１６２】
〔６〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１６３】
上述した実施形態では、「AC-DC_Unit異常」が異常(1), (2), (1)′, (2)′の４種類であり、「その他異常」は異常(3)〜(11)の９種類である場合について説明しているが、本発明は、これらの数に限定されるものではない。同様に、ＡＣ−ＤＣ変換ユニット２，ＤＣ−ＤＣ変換ユニット３やデバイス４の台数についても、本発明は、上述した実施形態で実装される台数に限定されるものではない。
【０１６４】
また、上述した実施形態において被疑箇所特定タイマ３１が計時する上記所定期間の値（デフォルト値）は、コンピュータシステム１００，１００Ａ〜１００Ｄ内の構成（デバイスや使用する電源等）によって異なる。そのため、処理部３０，３０Ａ〜３０Ｄは、構成毎に被疑箇所特定タイマをそなえ、コンピュータシステム１００，１００Ａ〜１００Ｄの構成に応じたタイマを起動する。
【０１６５】
上述した監視処理部３０，３０Ａ〜３０Ｄとしての機能の全部もしくは一部は、ＬＳＩ１０，２０Ａ〜２０Ｃにおけるコンピュータ（ＣＰＵ等）としての機能が所定のアプリケーションプログラム（監視プログラム）を実行することによって実現される。
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【０１６６】
ここで、コンピュータとは、ハードウエアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウエアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記監視プログラムは、上述のようなコンピュータに、上述した監視処理部３０，３０Ａ〜３０Ｄとしての機能の全部もしくは一部を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【０１６７】
〔７〕付記
以上の第１〜第４実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを監視する監視装置であって、
前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部と、
処理部とを有し、
前記処理部は、
前記保持部が前記第１異常を保持している場合、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする監視装置。
【０１６８】
（付記２）
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマを有し、
前記処理部は、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動し、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする、付記１に記載の監視装置。
【０１６９】
（付記３）
前記処理部は、
前記保持部が前記第１異常を保持しておらず且つ前記第２異常を保持している場合、前記第２異常を発生させた第２被疑箇所を特定する
ことを特徴とする、付記１または付記２に記載の監視装置。
【０１７０】
（付記４）
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマと、
前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記処理部へ送信する送信動作の許可状態／抑止状態を切り換える切換部とを有し、
前記処理部は、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする、付記１に記載の監視装置。
【０１７１】
（付記５）
前記処理部は、
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が未特定の場合、前記保持部に保持されている前記第２異常を検索し、検索された前記第２異常を発生させた第２被疑箇所を特定してから、前記切換部により前記送信動作を許可状態に切り換える一方、
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が特定されている場合、前記第２被疑箇所の特定を行なうことなく、前記切換部により前記送信動作を許可状態に切り換える
ことを特徴とする、付記４に記載の監視装置。
【０１７２】
（付記６）
前記第１異常および前記第２異常に関連する異常の情報を階層的に規定するテーブルを保存する記憶部を有し、
前記処理部は、
前記テーブルに基づき、前記第１被疑箇所または前記第２被疑箇所を特定する
ことを特徴とする、付記３または付記５に記載の監視装置。
【０１７３】
（付記７）
前記第１異常に関連する異常の情報を階層的に規定する第１テーブルと前記第２異常に関連する異常の情報を階層的に規定する第２テーブルとを保存する記憶部を有し、
前記処理部は、
前記第１テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第１被疑箇所を特定し、
前記第２テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第２被疑箇所を特定する
ことを特徴とする、付記５に記載の監視装置。
【０１７４】
（付記８）
デバイスと、
第１電源ユニットと、
前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットと、
前記デバイス，前記第１電源ユニットおよび前記第２電源ユニットを監視する監視部とを有し、
前記監視部は、
前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部と、
処理部とを有し、
前記処理部は、
前記保持部が前記第１異常を保持している場合、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする情報処理装置。
【０１７５】
（付記９）
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマを有し、
前記処理部は、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動し、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする、付記８に記載の情報処理装置。
【０１７６】
（付記１０）
前記処理部は、
前記保持部が前記第１異常を保持しておらず且つ前記第２異常を保持している場合、前記第２異常を発生させた第２被疑箇所を特定する
ことを特徴とする、付記８または付記９に記載の情報処理装置。
【０１７７】
（付記１１）
前記監視部は、
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマと、
前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記処理部へ送信する送信動作の許可状態／抑止状態を切り換える切換部とを有し、
前記処理部は、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする、付記８に記載の情報処理装置。
【０１７８】
（付記１２）
前記処理部は、
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が未特定の場合、前記保持部に保持されている前記第２異常を検索し、検索された前記第２異常を発生させた第２被疑箇所を特定してから、前記切換部により前記送信動作を許可状態に切り換える一方、
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が特定されている場合、前記第２被疑箇所の特定を行なうことなく、前記切換部により前記送信動作を許可状態に切り換える
ことを特徴とする、付記１１に記載の情報処理装置。
【０１７９】
（付記１３）
前記監視部は、
前記第１異常および前記第２異常に関連する異常の情報を階層的に規定するテーブルを保存する記憶部を有し、
前記処理部は、
前記テーブルに基づき、前記第１被疑箇所または前記第２被疑箇所を特定する
ことを特徴とする、付記１０または付記１２に記載の情報処理装置。
【０１８０】
（付記１４）
前記監視部は、
前記第１異常に関連する異常の情報を階層的に規定する第１テーブルと前記第２異常に関連する異常の情報を階層的に規定する第２テーブルとを保存する記憶部を有し、
前記処理部は、
前記第１テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第１被疑箇所を特定し、
前記第２テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第２被疑箇所を特定する
ことを特徴とする、付記１２に記載の情報処理装置。
【０１８１】
（付記１５）
デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを監視するプロセッサに、
前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部が前記第１異常を保持している場合、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
処理を実行させることを特徴とする監視プログラム。
【０１８２】
（付記１６）
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマとしての機能を、前記プロセッサに実行させるとともに、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動し、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
処理を、前記プロセッサに実行させることを特徴とする、付記１５に記載の監視プログラム。
【０１８３】
（付記１７）
前記保持部が一の異常を保持してから当該一の異常に関連する異常を前記保持部に保持するまでに要すると推定される所定期間を計時するタイマとしての機能と、
前記保持部が前記第２異常を保持したことを示す信号を前記保持部から前記処理部へ送信する送信動作の許可状態／抑止状態を切り換える切換部としての機能とを、前記プロセッサに実行させるとともに、
前記保持部が前記第１異常または前記第２異常を保持したことを示す信号を前記保持部から受信すると、前記タイマを起動するとともに、前記切換部により前記送信動作を抑止状態に切り換え、
前記タイマが起動されてから前記所定期間を計時するまで、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
処理を、前記プロセッサに実行させることを特徴とする、付記１５に記載の監視プログラム。
【０１８４】
（付記１８）
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が未特定の場合、前記保持部に保持されている前記第２異常を検索し、検索された前記第２異常を発生させた第２被疑箇所を特定してから、前記切換部により前記送信動作を許可状態に切り換える一方、
前記タイマが前記所定期間を計時した時点で前記第１被疑箇所が特定されている場合、前記第２被疑箇所の特定を行なうことなく、前記切換部により前記送信動作を許可状態に切り換える
処理を、前記プロセッサに実行させることを特徴とする、付記１７に記載の監視プログラム。
【０１８５】
（付記１９）
前記第１異常に関連する異常の情報を階層的に規定する第１テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第１被疑箇所を特定し、
前記第２異常に関連する異常の情報を階層的に規定する第２テーブルに規定された上位階層の異常から順に前記保持部を検索し、前記第２被疑箇所を特定する
処理を、前記プロセッサに実行させることを特徴とする、付記１８に記載の監視プログラム。
【０１８６】
（付記２０）
デバイスと、第１電源ユニットと、前記第１電源ユニットからの電源を変換して前記デバイスに供給する第２電源ユニットとを、プロセッサにより監視する監視方法であって、
前記プロセッサが、前記第１電源ユニットで検出された第１異常と前記第２電源ユニットまたは前記デバイスで検出された第２異常とを保持する保持部が前記第１異常を保持している場合、前記第２異常よりも優先的に前記第１異常を発生させた第１被疑箇所を特定する
ことを特徴とする監視方法。
【符号の説明】
【０１８７】
１００，１００Ａ〜１００Ｄ    情報処理装置（コンピュータシステム）
１    交流電源
２，２′    ＡＣ−ＤＣ変換ユニット（第１電源ユニット）
３，３−１，３−２    ＤＣ−ＤＣ変換ユニット（第２電源ユニット）
４，４−１，４−２    デバイス
１０，１０Ａ〜１０Ｄ    監視装置（監視部）
２０，２０Ａ〜２０Ｄ    保持部
２１    異常保持レジスタ
２１ａ〜２１ｊ，２１ａ′，２１ｂ′    ビット
２２ａ，２２ａ′，２２ｂ，２２ｂ−１，２２ｂ−２，２４，２７，２８    論理和回路
２３    要因保持レジスタ
２３ａ，２３ａ′，２３ｂ，２３ｂ−１，２３ｂ−２    ビット
２５    異常検出信号送出有効／無効設定レジスタ（切換部）
２６    論理積回路
３０，３０Ａ〜３０Ｃ    処理部（監視処理部）
３０Ｄ    処理部（監視処理部，汎用ＭＰＵ）
３１    被疑箇所特定タイマ（タイマ）
４０，４０Ａ〜４０Ｄ    ＲＡＭ（記憶部）
４１    ログ領域
４２    テーブル領域
Ｔ１〜ＴＮ    階層テーブル
Ｔ１０    要因テーブル（第１テーブル）
Ｔ２１〜Ｔ２Ｎ    要因テーブル（第２テーブル）
【図１】
0006035878.tif 000002
【図２】
0006035878.tif 000003
【図３】
0006035878.tif 000004
【図４】
0006035878.tif 000005
【図５】
0006035878.tif 000006
【図６】
0006035878.tif 000007
【図７】
0006035878.tif 000008
【図８】
0006035878.tif 000009
【図９】
0006035878.tif 000010
【図１０】
0006035878.tif 000011
【図１１】
0006035878.tif 000012
【図１２】
0006035878.tif 000013