(57)【要約】【課題】本発明が解決しようとする課題は、上記問題点を解決することであり、ＣＰＵの動作履歴記録用メモリーの容量を少量化することである。【解決手段】上記課題を解決するための本発明は、記録装置であって、監視対象である情報処理装置のＣＰＵの動作履歴が、ウォッチドッグタイマーのカウンター値がクリアされる周期に対応付けられて記録されている動作履歴記録部と、前記動作履歴を前記動作履歴記録部に記録し、前記クリア後に新たに前記ＣＰＵの動作を記録する際、前記ＣＰＵに障害が発生しなかった周期の動作履歴に上書きする記録手段とを有することを特徴とする。【選択図】図１
2012174156.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
監視対象である情報処理装置のＣＰＵの動作履歴が、ウォッチドッグタイマーのカウンター値がクリアされる周期に対応付けられて記録されている動作履歴記録部と、
前記動作履歴を前記動作履歴記録部に記録し、前記クリア後に新たに前記ＣＰＵの動作を記録する際、前記ＣＰＵに障害が発生しなかった周期の動作履歴に上書きする記録手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記記録手段は、前記情報処理装置における障害の発生時に、障害の内容と前記情報処理装置内のメモリー及びレジスタの値とのうち少なくともひとつを、障害発生時の周期を一意に識別する識別情報と共に状態記録部に記録することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記録手段は、前記ＣＰＵの動作を記録していく際、前記動作履歴記録部の記録容量を確認し、前記記録容量が閾値を超えた場合、前記ＣＰＵに前記ウォッチドッグタイマーのカウンター値をクリアするように通知することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
記録方法であって、
監視対象である情報処理装置のＣＰＵの動作履歴が、ウォッチドッグタイマーのカウンター値がクリアされる周期に対応付けられて記録されている動作履歴記録部に、前記動作履歴を記録する動作履歴記録ステップを有し、
前記動作履歴記録ステップは、前記クリア後に新たに前記ＣＰＵの動作を記録する際、前記ＣＰＵに障害が発生しなかった周期の動作履歴に上書きすることを特徴とする記録方法。
【請求項５】
前記情報処理装置における障害の発生時に、障害の内容と前記情報処理装置内のメモリー及びレジスタの値とのうち少なくともひとつを、障害発生時の周期を一意に識別する識別情報と共に状態記録部に記録する状態記録ステップを有することを特徴とする請求項４に記載の記録方法。
【請求項６】
前記ＣＰＵの動作を記録していく際、前記動作履歴記録部の記録容量を確認し、前記記録容量が閾値を超えた場合、前記ＣＰＵに前記ウォッチドッグタイマーのカウンター値をクリアするように通知する通知ステップを有することを特徴とする請求項４又は請求項５に記載の記録方法。
【請求項７】
情報処理装置のプログラムであって、前記プログラムは前記情報処理装置に、
監視対象である情報処理装置のＣＰＵの動作履歴が、ウォッチドッグタイマーのカウンター値がクリアされる周期に対応付けられて記録されている動作履歴記録部に、前記動作履歴を記録する動作履歴記録ステップを実行させ、
前記動作履歴記録ステップは、前記クリア後に新たに前記ＣＰＵの動作を記録する際、前記ＣＰＵに障害が発生しなかった周期の動作履歴に上書きすることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、情報処理装置、記録方法、及びプログラムに関する。
【背景技術】
【０００２】
一般に、情報処理装置内で障害を検出すると、メインＣＰＵ（Central Processing Unit）が情報処理装置内の各メモリー、レジスタ等のシステム内情報を不揮発メモリー等にダンプ情報として記録する。これにより、該当ダンプ情報から障害発生要因を特定することができた。しかしながら、ダンプ情報は障害検出時点でのシステム内情報を表しているが、実際に障害が発生してから障害検出するまでの間にシステム内でどのような動作が行われたかの情報までは記録されていない。そのため、障害のケースによっては、障害発生から障害検出までの時間の間に、システム内の情報が変更されている場合があり、このような場合、障害要因の特定に難航してしまうという問題があった。
【０００３】
このような事態を防ぐため、障害発生までのＣＰＵ動作の履歴を動作履歴記録用メモリーに記録するという技術がある（例えば特許文献１）。しかしながら、動作記録のため大容量のメモリーが必要になってしまうという問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０４８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、上記問題点を解決することであり、ＣＰＵの動作履歴記録用メモリーの容量を少量化することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の発明は、記録装置であって、監視対象である情報処理装置のＣＰＵの動作履歴が、ウォッチドッグタイマーのカウンター値がクリアされる周期に対応付けられて記録されている動作履歴記録部と、前記動作履歴を前記動作履歴記録部に記録し、前記クリア後に新たに前記ＣＰＵの動作を記録する際、前記ＣＰＵに障害が発生しなかった周期の動作履歴に上書きする記録手段とを有することを特徴とする。
【０００７】
上記課題を解決するための第２の発明は、記録方法であって、監視対象である情報処理装置のＣＰＵの動作履歴が、ウォッチドッグタイマーのカウンター値がクリアされる周期に対応付けられて記録されている動作履歴記録部に、前記動作履歴を記録する動作履歴記録ステップを有し、前記動作履歴記録ステップは、前記クリア後に新たに前記ＣＰＵの動作を記録する際、前記ＣＰＵに障害が発生しなかった周期の動作履歴に上書きすることを特徴とする。
【０００８】
上記課題を解決するための第３の発明は、情報処理装置のプログラムであって、前記プログラムは前記情報処理装置に、監視対象である情報処理装置のＣＰＵの動作履歴が、ウォッチドッグタイマーのカウンター値がクリアされる周期に対応付けられて記録されている動作履歴記録部に、前記動作履歴を記録する動作履歴記録ステップを実行させ、前記動作履歴記録ステップは、前記クリア後に新たに前記ＣＰＵの動作を記録する際、前記ＣＰＵに障害が発生しなかった周期の動作履歴に上書きすることを特徴とする。
【発明の効果】
【０００９】
本発明によると、動作履歴記録用メモリーの小容量化に対応できるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】図１は、本願発明の情報処理装置のブロック図である。
【図２】図２は、第１の実施の形態のウォッチドッグタイマーＩＤによる情報の管理方法を説明するための図である。
【図３】図３は、第１の実施の形態の動作を説明するための図である。
【図４】図４は、第２の実施の形態のウォッチドッグタイマーＩＤによる情報の管理方法を説明するための図である。
【図５】図５は、第２の実施の形態の動作を説明するための図である。
【発明を実施するための形態】
【００１１】
本発明ではＣＰＵの動作を周期的に確認するウォッチドッグタイマーに着目し、ＣＰＵがウォッチドッグタイマーをクリアしてＣＰＵの正常性が確認された時点から、次のウォッチドッグタイマーをクリアする時点までの時間区間を周期として、ＣＰＵの動作履歴を管理し記録する。そして、各周期を一意に識別する識別情報をウォッチドッグタイマーＩＤとして割り当てていき、このウォッチドッグタイマーＩＤに対応付けられて動作履歴記録用メモリーに記録されているＣＰＵ動作履歴のうち古いウォッチドッグタイマーＩＤを持つものを優先的に廃棄する。
【００１２】
本発明によると、動作履歴記録用メモリーの大容量化を防ぐことができる。また、障害検出時点に記録されたダンプログと上記履歴情報を併せて分析することで、障害要因を容易に特定することができる。
【００１３】
本発明の詳細を説明するために、以下において、図面を参照して具体的に述べる。
【００１４】
まず、本発明を実施するための第１の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１に本発明の情報処理装置の構成の一例である。
【００１６】
本発明の情報処理装置は、ＣＰＵ１、制御回路部２、障害検出部３、ウォッチドッグタイマー４、動作履歴記録用メモリー５、システム状態記録用メモリー６、外部メモリー７、１〜Ｎ個のデバイス８、１〜Ｍ個のデバイスレジスタ９を有する。
【００１７】
ＣＰＵ１にはＣＰＵメモリー１１、ＣＰＵレジスタ１２、予備ＣＰＵメモリー１３、予備ＣＰＵレジスタ１４が内蔵されている。
【００１８】
ＣＰＵ１は、“正常処理モード”と“障害処理モード”とで動作が異なる。
【００１９】
まず、“正常処理モード”時の動作について説明する。正常処理モードの時には、ＣＰＵ１は、ＣＰＵメモリー１１及びＣＰＵレジスタ１２を使用して動作する。また、ＣＰＵ１が正常動作をしている間、ＣＰＵ１は一定周期でウォッチドッグタイマー４のカウントをクリアする。尚、以下の説明では、このウォッチドッグタイマーのカウントがクリアされる周期を“標準タイマークリア周期”と定義する。更に、ＣＰＵ１は、制御回路部２経由で障害検出のアラーム信号を受信した際には、動作モードを“障害処理モード”に強制的に移行させる。
【００２０】
続いて、“障害処理モード”について説明する。“障害処理モード”に切り替える際、ＣＰＵ１は、ＣＰＵメモリー１１及びＣＰＵレジスタ１２の値をモード切り替え前の値として保持し、動作に使用するメモリーを予備ＣＰＵメモリー１３に、レジスタ１２を予備ＣＰＵレジスタ１４に切り替える。この時、ＣＰＵ１はプログラムカウンターを含むＣＰＵ動作用のレジスタの値として予備ＣＰＵレジスタ１４にあらかじめ設定されているものを使用する。更に、予備ＣＰＵメモリー１３にあらかじめ記憶されている“システム内情報ダンププログラム”に従って、制御回路部２に対して、ＣＰＵメモリー１１、ＣＰＵレジスタ１２に設定されている値、および、各外部メモリー７、デバイス８の各デバイスレジスタ９に設定されている値、障害発生内容、障害発生日時、後述するウォッチドッグタイマーＩＤの情報を分析用ダンプ情報としてシステム状態記録用メモリー６に記録するよう命令する。このときにシステム状態記録用メモリー６にライトされた値は障害発生要因の分析用ダンプ情報として使用することも可能である。ＣＰＵ１は該当の分析用ダンプ情報をシステム状態記録用メモリー６に記録する命令を出した後に、自律リセットを行い、動作モードを“障害処理モード”から“正常処理モード”へ移行させ、各種メモリー、レジスタの値を初期化する。その後、ＣＰＵ１は初期化されたＣＰＵメモリー１１、ＣＰＵレジスタ１２の値を使用して復旧動作を行う。尚、分析用ダンプ情報は、ＣＰＵメモリー１１、ＣＰＵレジスタ１２に設定されている値、および、各外部メモリー７、デバイス８の各デバイスレジスタ９に設定されている値、障害発生内容、及び障害発生日時のうち少なくとも一つ記憶されればよい。
【００２１】
制御回路部２は、ＣＰＵ１がウォッチドッグタイマー４をクリアする度に、各標準タイマークリア周期を一意に識別するウォッチドッグタイマーＩＤのＩＤ値をカウントアップさせる。そして、カウントアップさせたウォッチドッグタイマーＩＤにＣＰＵ１の動作を対応付けて、動作履歴を動作履歴記録用メモリー５に記録する。
【００２２】
ここで、動作履歴記録用メモリー５に記録される動作履歴について説明する。図４は、動作履歴記録用メモリー５に記録される動作履歴の一例である。動作履歴として、実行命令内容、ウォッチドッグタイマーＩＤ、メモリー／レジスタＩＤ、アドレス、データが対応付けられて記録される。
【００２３】
実行命令内容には、ＣＰＵが実行した命令の内容が記される。ウォッチドッグタイマーＩＤには、該命令実行時のウォッチドッグタイマーＩＤが記される。メモリー／レジスタＩＤには、命令実行時にアクセスした各ＣＰＵメモリー１１、ＣＰＵレジスタ１２、各外部メモリー７、及びデバイスレジスタ９のＩＤ情報が記される。アドレスには、該当メモリーやレジスタのアドレスが記される。データには、該当データと内容とが記される。尚、動作履歴は、実行命令内容、メモリー／レジスタＩＤ、及びアドレス、データのうち少なくとも一つが記録される構成であってもよい。
【００２４】
制御回路部２は、ＣＰＵ１がウォッチドッグタイマー４をクリアする際にカウントアップするＩＤ値をＣＰＵ１に通知する。また、ウォッチドッグタイマーＩＤの上限値に達した状態で加算する場合には０にリセットする。動作履歴を動作履歴記録用メモリー５に記録する際、ＣＰＵ１に障害が発生しなかった標準タイマークリア周期の動作履歴に上書きする。また、制御回路部２は、ＣＰＵ１からの命令に従い、分析用ダンプ情報をシステム状態記録用メモリー６に記録する。
【００２５】
障害検出部３は、ウォッチドッグタイマー４のオーバーフロー、もしくは情報処理装置内の障害アラームを検出した際に、制御回路部２を経由して、ＣＰＵ１に対してアラーム信号を通知し、ＣＰＵ１の動作モードを“障害処理モード”に強制的に移行させる。
【００２６】
ウォッチドッグタイマー４は、常時カウントアップしている。ウォッチドッグタイマー４のカウンター値があらかじめ定められた所定のカウンター数を超えてオーバーフローすると、障害検出部３に障害を通知する。このため、ＣＰＵ１の動作が停止したり暴走したりなど、予期せぬ動作に陥り、ウォッチドッグタイマー４のカウンター値をクリアすることができなくなってオーバーフローを起こすと、障害検出部３がＣＰＵの動作障害を検出できるようになっている。
【００２７】
次に、ウォッチドッグタイマーＩＤによる情報の管理方法を説明する。
【００２８】
図２において、図の矢印は左から右に向かって時間の流れを表している。ウォッチドッグタイマーＩＤが＃２から＃３に移行するポイントではＣＰＵが正常にウォッチドッグタイマーをクリアし、ウォッチドッグタイマーＩＤが＃３のときに障害が検出された例である。
【００２９】
続いて、本願発明の動作について、図２及び図３の動作フロー図を用いて説明する。
【００３０】
まず、制御回路部２は、ウォッチドッグタイマーＩＤのＩＤ値をカウントアップさせて♯１にする（ステップ１）。制御回路部２は、動作履歴記録用メモリー５に新たな動作履歴を書き込む容量があるかを確認する（ステップ２）。ない場合、障害が発生しなかった周期の動作履歴を削除する（ステップ３）。そして、ＩＤ値♯１に対応付けて、ＣＰＵ１の動作履歴を動作履歴記録用メモリー５に記録する（ステップ４）。その一方で、障害検出部３は、常に情報処理装置内の各構成部を監視し、障害が発生していないかを監視する（ステップ５）。ここで、図２のウォッチドッグタイマーＩＤ♯１では障害が発生していないため、ステップ１に戻る（ステップ５：Ｎｏ）。
【００３１】
制御回路部２はウォッチドッグタイマーＩＤのＩＤ値をカウントアップさせて♯２にする（ステップ１）。制御回路部２は、動作履歴記録用メモリー５に新たな動作履歴を書き込む容量があるかを確認する（ステップ２）。ない場合、障害が発生しなかった周期の動作履歴を削除する（ステップ３）。そして、ＩＤ値♯２に対応付けて、ＣＰＵ１の動作履歴を動作履歴記録用メモリー５に記録する（ステップ４）。その一方で、障害検出部３は、常に情報処理装置内の各構成部を監視し、障害が発生していないかを監視する（ステップ５）。ここで、図２のウォッチドッグタイマーＩＤ♯２では障害が発生していないため、再度ステップ１に戻る（ステップ５：Ｎｏ）。
【００３２】
制御回路部２はウォッチドッグタイマーＩＤのＩＤ値をカウントアップさせて♯３にする（ステップ１）。制御回路部２は、動作履歴記録用メモリー５に新たな動作履歴を書き込む容量があるかを確認する（ステップ２）。ない場合、障害が発生しなかった周期の動作履歴を削除する（ステップ３）。そして、ＩＤ値♯３に対応付けて、ＣＰＵ１の動作履歴を動作履歴記録用メモリー５に記録する（ステップ４）。その一方で、障害検出部３は、常に情報処理装置内の各構成部を監視し、障害が発生していないかを監視する（ステップ５）。図２のウォッチドッグタイマーＩＤ♯３では障害が発生しているため、障害検出部３は障害が発生していることを検出する（ステップ５：Ｙｅｓ）。
【００３３】
障害検出部３は、障害が発生していることを検出すると、障害検出の通知を出力する（ステップ６）。
【００３４】
ＣＰＵ１は、制御回路部２を介して障害検出の通知を受け取ると“障害処理モード”に切り替えるために、ＣＰＵメモリー１１及びＣＰＵレジスタ１２の値をモード切り替え前の値として保持する（ステップ７）。
【００３５】
ＣＰＵ１は、“障害処理モード”に切り替え後、動作に使用するメモリーを予備ＣＰＵメモリー１３に、レジスタ１２を予備ＣＰＵレジスタ１４に切り替え、予備ＣＰＵメモリー１３にあらかじめ記憶されているシステム内情報ダンププログラムに従って、制御回路部２に対して、分析用ダンプ情報をシステム状態記録用メモリー６に記録するよう命令する（ステップ８）。
【００３６】
制御回路部２は、命令に従い、ＣＰＵメモリー１１、ＣＰＵレジスタ１２に設定されている値、および、各外部メモリー７、デバイス８の各デバイスレジスタ９に設定されている値、障害発生内容、障害発生日時、後述するウォッチドッグタイマーＩＤの情報を分析用ダンプ情報としてシステム状態記録用メモリー６に記録する（ステップ９）。
【００３７】
ＣＰＵ１は、自律リセットを行い、動作モードを“障害処理モード”から“正常処理モード”へ移行させ、各種メモリー、レジスタの値を初期化して復旧動作を行う（ステップ１０）。そして、ステップ１に戻る。
【００３８】
一般的な情報処理装置では、障害発生時に障害要因を特定するために、分析用情報として、ＣＰＵの動作履歴をメモリーに記録する方法が手段として存在したが、動作履歴記録用メモリーが大容量になってしまうという問題があった。上述の本発明によると、動作履歴記録用メモリーの小容量化に対応できるという効果がある。これは、例えば、図２において、ＣＰＵが正常に動作していた区間であるウォッチドッグタイマーＩＤ♯１、もしくは♯２に、新たな動作履歴情報を上書きすることで、余計な情報を保持しないようにしているためである。
【００３９】
また、上述の通り、本願発明は、障害発生時にＣＰＵ１が“障害処理モード”に移行してシステム状態の履歴を記録用メモリーに記録し、ＣＰＵの動作を動作履歴記録用メモリーにＣＰＵの動作記録として記録している。これにより、システム状態の履歴と動作履歴記録との２つの情報を分析することで、システム内に障害が発生した時点に遡って、障害発生要因を調査することが可能となる。
【００４０】
本発明の第２の実施の形態について説明する。尚、上記実施の形態と同様の構成については、同一番号を付し、詳細な説明は省略する。
【００４１】
制御回路部２は、動作履歴を記録する際、動作履歴記録用メモリー５の記憶容量がある一定のしきい値を超過するか否かを確認する。超過していることを確認すると、ＣＰＵ１に対して割り込み信号で通知し、ＣＰＵ１にウォッチドッグタイマー４のカウンター値をクリアさせる。
【００４２】
続いて、図４を用いて、本実施の形態の動作の概略について説明する。図４において、図の矢印は左から右に向かって時間の流れを表している。ウォッチドッグタイマーＩＤ♯３の区間において、動作履歴記録用メモリー５の記録容量がある一定のしきい値を超過したとする。ＣＰＵの動作履歴を該当メモリーにこれ以上記録することが困難になった状況であるため、制御回路部２はＣＰＵ１に対して割り込み信号で通知する。ＣＰＵ１は割り込み信号を受けることで、本来標準タイマークリア周期が経過した時点でウォッチドッグタイマー４のカウンター値をクリアするところを、前倒ししてクリアする。この場合、クリア後にウォッチドッグタイマーＩＤが♯３から♯４へとアップデートされるために、ＣＰＵは古いウォッチドッグタイマーＩＤ番号である♯３の情報に上書きする形で＃４のＩＤを持つＣＰＵの動作履歴を動作履歴記録用メモリーに記録することが可能となる。尚、図４では、♯３に上書きしているが、動作確認ができている♯１又は♯２であってもよい。
【００４３】
図４及び図５を用いて、本実施の形態の動作の実施例を示す。尚、上記実施の形態と同様の動作については詳細な説明は省略する。
【００４４】
まず、制御回路部２は、ウォッチドッグタイマーＩＤのＩＤ値をカウントアップさせて♯１にする（ステップ１）。制御回路部２は、動作履歴記録用メモリー５に新たな動作履歴を書き込む容量があるかを確認する（ステップ２）。ない場合、障害が発生しなかった周期の動作履歴を削除する（ステップ３）。そして、ＩＤ値♯１に対応付けて、ＣＰＵ１の動作履歴を動作履歴記録用メモリー５に記録する（ステップ４）。
【００４５】
制御回路部２は、履歴の記録中、記録容量が閾値を超えているか否かを確認する（ステップ１１）。ここでは、超えていないものとして（ステップ１１：Ｎｏ）、ステップ５に進む。
【００４６】
障害検出部３は、常に情報処理装置内の各構成部を監視し、障害が発生していないかを監視する（ステップ５）。ここで、図２のウォッチドッグタイマーＩＤ♯１では障害が発生していないため、ステップ１に戻る（ステップ５：Ｎｏ）。
【００４７】
制御回路部２はウォッチドッグタイマーＩＤのＩＤ値をカウントアップさせて♯２にする（ステップ１）。制御回路部２は、動作履歴記録用メモリー５に新たな動作履歴を書き込む容量があるかを確認する（ステップ２）。ない場合、障害が発生しなかった周期の動作履歴を削除する（ステップ３）。そして、ＩＤ値♯２に対応付けて、ＣＰＵ１の動作履歴を動作履歴記録用メモリー５に記録する（ステップ４）。
【００４８】
制御回路部２は、履歴の記録中、記録容量が閾値を超えているか否かを確認する（ステップ１１）。ここでも、超えていないものとして（ステップ１１：Ｎｏ）、ステップ５に進む。
【００４９】
障害検出部３は、常に情報処理装置内の各構成部を監視し、障害が発生していないかを監視する（ステップ５）。ここで、図２のウォッチドッグタイマーＩＤ♯２では障害が発生していないため、再度ステップ１に戻る（ステップ５：Ｎｏ）。
【００５０】
制御回路部２はウォッチドッグタイマーＩＤのＩＤ値をカウントアップさせて♯３にする（ステップ１）。制御回路部２は、動作履歴記録用メモリー５に新たな動作履歴を書き込む容量があるかを確認する（ステップ２）。ない場合、障害が発生しなかった周期の動作履歴を削除する（ステップ３）。そして、ＩＤ値♯３に対応付けて、ＣＰＵ１の動作履歴を動作履歴記録用メモリー５に記録する（ステップ４）。
【００５１】
制御回路部２は、履歴の記録中、記録容量が閾値を超えているか否かを確認する（ステップ１１）。ここでは、超えたものとして（ステップ１１：Ｙｅｓ）、ステップ１２に進む。
【００５２】
ＣＰＵ１は、制御回路２からの通知に従い、ウォッチドッグタイマー４のカウンター値をクリアする（ステップ１２）。そしてステップ１に戻る。
【００５３】
本実施の形態によると、ＣＰＵ動作履歴記録用メモリーの記録容量がオーバーフローすることを事前に防ぐことが可能となる。これにより、動作履歴記録用メモリーの小容量化に貢献できる。
【００５４】
上述の本発明によると、正常動作時に周期的にシステム内の全メモリー、全レジスタの情報をダンプして記録する必要が無いにも関わらず、障害発生時に障害要因の特定に必要十分な情報を取得することができる。周期的にシステム内の全メモリー、全レジスタの情報をダンプする必要が無いという本発明の特徴は、特にシステムの規模が大きくなり、システム内の外部メモリーとデバイスの数が増えた際に効果的に働く。なぜならば、システム内のメモリーとデバイスのレジスタの容量が増えた場合は、それだけ情報のダンプに必要なＣＰＵ負荷が増え、正常動作時のＣＰＵのパフォーマンスが低下する現象を引き起こしてしまうからである。
【００５５】
また、例えば、ＣＰＵ内の動作履歴記録用メモリーを持つ代わりに、システム内の各メモリーと各デバイスのレジスタ値情報を周期的にシステム状態記録用メモリーにダンプして、障害要因を特定するための分析用情報として使用するという構成を考えた場合、システムの規模が大きくなり、情報をメモリーにダンプするためのＣＰＵの負荷が増大してしまうという問題があった。そして、情報をダンプした時点から障害が発生した時点まで、情報を取得できていない区間が存在するため、障害発生要因をトレースできない場合が起こりえるという問題があった。しかしながら、本発明のようにＰＵの動作履歴記録用メモリーとシステム状態記録用メモリーを併用し、障害発生後にシステム内情報をシステム状態記録用メモリーにダンプするという構成を取ることで、正常動作時のＣＰＵ負荷の増大を防ぐという効果と、障害発生の直前まで障害発生要因分析のための情報を取得できるという効果の両方を期待することができる。
【００５６】
尚、上記説明ではＣＰＵデバイスとして、障害検出時に「障害処理モード」に移行し、予備用のメモリーとレジスタを使用することができるＣＰＵ１の構成を用いて説明した。他の構成例として、ＣＰＵ内部に複数の演算処理用のコアを持っているＣＰＵデバイスを使用する構成が考えられる。この場合、ひとつのＣＰＵコアで障害検出した場合や、あるいはウォッチドッグタイマーのオーバーフローが発生した場合に、他のＣＰＵコアが「障害処理モード」での「システム内情報ダンププログラム」相当のプロセスを実行し、障害が発生しているＣＰＵコアのメモリーやレジスタのダンプ情報、あるいはシステム内のメモリー、レジスタのダンプ情報を取得することも可能である。また、この応用例は、システム内に複数のＣＰＵデバイスを持つ場合にも適用可能であり、一つのＣＰＵで障害が発生した場合に、他のＣＰＵデバイスが「システム内情報ダンププログラム」相当のプロセスを実行し、ダンプ情報を取得することも可能である。
【００５７】
尚、上述した本発明の情報処理装置は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。このような構成の場合、情報処理装置は、プロセッサ１５０１及びプログラムメモリ１５０２を有し、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することも可能である。
【００５８】
本発明の構成はシステム内に問題が発生した場合に、早急に問題発生原因を特定し、対策を施す必要があるシステム、特に社会的に大きな影響がある社会インフラを支えるシステム、あるいは通信、医療、金融、軍用システム等のミッションクリティカルなシステムに対して大きな効果を発揮すると考えられる。
【００５９】
以上、実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【符号の説明】
【００６０】
１    ＣＰＵ
２    制御回路部
３    障害検出部
４    ウォッチドッグタイマー
５    動作履歴記録用メモリー
６    システム状態記録用メモリー
７    外部メモリー
８    デバイス
９    デバイスレジスタ
１１  ＣＰＵメモリー
１２  ＣＰＵレジスタ
１３  予備ＣＰＵメモリー
１４  予備ＣＰＵレジスタ
【図１】
2012174156.tif 000003
【図２】
2012174156.tif 000004
【図３】
2012174156.tif 000005
【図４】
2012174156.tif 000006
【図５】
2012174156.tif 000007