(57)【要約】【課題】タイマを用いた障害監視機能を有しながら、メモリダンプ処理を常に正常に完了できるようにする。【解決手段】生存信号出力部１１は、情報処理装置１が正常に稼動している間、生存信号を繰り返し出力する。メモリダンプ処理部１２は、この情報処理装置１に障害が発生したとき、必要に応じて、メモリダンプ処理を生存信号出力部１１の処理より優先的に実行する。生存信号監視部１３は、生存信号が出力された後、第１の時間以内に生存信号が再度出力されたか否かを監視する。システム状態判定部１４は、第１の時間以内に生存信号が再度出力されなかったとき、メモリダンプ処理が実行中でなかった場合には、この情報処理装置１の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、情報処理装置１の再起動またはシャットダウンを要求する。【選択図】図１
2010086364.tif 000002
【特許請求の範囲】
【請求項１】
障害発生時にメモリの記憶内容を採取して不揮発性記憶領域に記録するメモリダンプ処理機能を備えた情報処理装置において、
当該情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する生存信号出力部と、
当該情報処理装置に障害が発生したとき、必要に応じて、前記メモリダンプ処理を前記生存信号出力部の処理より優先的に実行するメモリダンプ処理部と、
前記生存信号が出力された後、第１の時間以内に前記生存信号が再度出力されたか否かを監視する生存信号監視部と、
前記第１の時間以内に前記生存信号が再度出力されなかった場合に、前記メモリダンプ処理が実行中か否かを判定し、実行中でなかった場合には、当該情報処理装置の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、当該情報処理装置の再起動またはシャットダウンを要求するシステム状態判定部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記メモリダンプ処理部は、前記メモリダンプ処理を実行している間、当該処理を実行中であることを表示するための表示情報を出力し、
前記システム状態判定部は、前記メモリダンプ処理部が出力する表示情報を基に、前記メモリダンプ処理が実行中か否かを判定する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記システム状態判定部は、前記第１の時間以内に前記生存信号が再度出力されなかったときに、前記メモリダンプ処理が実行中でなかった場合には、発生した障害が前記メモリダンプ処理が必要な障害か否かを判定し、前記メモリダンプ処理が必要でないと判定した場合には、当該情報処理装置の再起動またはシャットダウンを要求し、前記メモリダンプ処理が必要と判定した場合には、前記メモリダンプ処理部に前記メモリダンプ処理の実行を要求するとともに、この時点から前記第２の時間が経過した後、当該情報処理装置の再起動またはシャットダウンを要求することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
障害の発生を検出すると、障害が発生したことをその障害の種別とともに表示するための表示情報を出力する障害検出部をさらに有し、
前記システム状態判定部は、前記障害検出部が出力する表示情報を基に、発生した障害が前記メモリダンプ処理が必要な障害か否かを判定することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記生存信号監視部は、前記第１の時間をカウントするカウンタを備え、
前記システム状態判定部は、前記メモリダンプ処理が実行中であると判定したときに、前記生存信号監視部が備える前記カウンタのカウント値を変更して、前記第２の時間がカウントさせる、
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
障害発生時にメモリの記憶内容を採取して不揮発性記憶領域に記録するメモリダンプ処理機能を備えた情報処理装置に設けられて、前記情報処理装置の動作状態を監視する動作状態監視装置において、
前記情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する、前記情報処理装置の生存信号出力部から、前記生存信号が出力された後、第１の時間以内に前記生存信号が再度出力されたか否かを監視する生存信号監視部と、
前記第１の時間以内に前記生存信号が再度出力されなかった場合に、前記情報処理装置のメモリダンプ処理部による前記メモリダンプ処理が実行中か否かを判定し、実行中でなかった場合には、前記情報処理装置の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、前記情報処理装置の再起動またはシャットダウンを要求するシステム状態判定部と、
を有することを特徴とする動作状態監視装置。
【請求項７】
障害発生時にメモリの記憶内容を採取して不揮発性記憶領域に記録するメモリダンプ処理機能を備えた情報処理装置における動作状態監視方法であって、
生存信号監視部が、前記情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する、前記情報処理装置の生存信号出力部から、前記生存信号が出力された後、第１の時間以内に前記生存信号が再度出力されたか否かを監視し、
システム状態判定部が、前記第１の時間以内に前記生存信号が再度出力されなかった場合に、前記情報処理装置のメモリダンプ処理部による前記メモリダンプ処理が実行中か否かを判定し、実行中でなかった場合には、前記情報処理装置の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、前記情報処理装置の再起動またはシャットダウンを要求する、
ことを特徴とする動作状態監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、この情報処理装置の動作状態を監視する動作状態監視装置および方法に関し、特に、メモリダンプ処理機能を備えた情報処理装置、その動作状態監視装置および方法に関する。
【背景技術】
【０００２】
コンピュータシステムにおいて障害発生時に実行される処理として、メモリダンプが知られている。メモリダンプ処理は、例えば、プログラムが不正に終了したときに、その時点でのメモリの記憶内容を所定の不揮発領域に記憶（ダンプ）するものである。ダンプされた内容は、後にプログラムの問題を分析するためなどに利用される。このようなメモリダンプ機能は、ＯＳ（Operating System）に実装されていることが多い。
【０００３】
一方、障害発生に対処するための別の機能として、いわゆるウォッチドッグタイマ（Watchdog Timer）によるシステムの監視機能も知られている。ウォッチドッグタイマは、ＯＳなどの機能によって出力される、システムが正常に稼動していることを示す生存信号を一定時間ごとに監視し、生存信号を受信しなかった場合にはシステムの異常と判断する。この場合、自動的にシステムの再起動またはシャットダウンが行われる。
【０００４】
以上のような機能に関連する従来技術として、アプリケーションを実行する制御用ＯＳを監視用ＯＳによって監視する構成を有し、制御用ＯＳは、監視用ＯＳに対して一定周期で生存信号を送信し、監視用ＯＳは、生存信号の途絶を検出することで制御用ＯＳの異常を検出して、メモリダンプ処理を実行するようにした計算機があった（例えば、特許文献１参照）。また、対象計算機のメモリ領域の中の特定領域から障害情報をダンプ計算機が読み出し、ダンプ計算機からの指示より対象計算機のリブートを行うようにした計算機システムもあった（例えば、特許文献２参照）。
【０００５】
さらに、計算機システムにおいて、状態監視部が、障害発生を検出すると、メモリダンプ採取プログラムの実行を割り込みにより要求するとともに、自身のカウント処理を開始し、メモリダンプ採取プログラムが正常に起動されるとカウントが停止され、カウントが停止されない場合、すなわちメモリダンプ採取が行われなかった場合には、システムがリセットされるようにしたものがあった（例えば、特許文献３参照）。
【特許文献１】特開２００６−１７１９９５号公報
【特許文献２】特開平１１−２１２８３６号公報
【特許文献３】特開２００７−９４５３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、ウォッチドッグタイマによるシステムの監視機能と、メモリダンプ機能とを備えるコンピュータシステムでは、通常、メモリダンプ処理は最優先の割り込み処理として実行される。このため、メモリダンプ処理が開始されると生存信号の送信が不可能な状態になり、ウォッチドッグタイマは、システムが正常に稼働していないと判定して、メモリダンプ処理の完了前であっても再起動またはシャットダウンを要求してしまう。このため、障害の要因を解析するための情報が正しく記憶されない場合があった。
【０００７】
また、障害が発生した後に、システムが再起動またはシャットダウンされるまでの時間を、できるだけ短くしたいという要求もあった。さらに、障害発生時には、上記のメモリダンプ処理の実行自体に異常が発生する場合も考えられ、このような場合にも適切に対処できることが望まれていた。
【０００８】
本発明はこのような点に鑑みてなされたものであり、タイマを用いた障害監視機能を有しながら、メモリダンプ処理を常に正常に完了することが可能な情報処理装置、その動作状態監視装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、障害発生時にメモリの記憶内容を採取して不揮発性記憶領域に記録するメモリダンプ処理機能を備えた情報処理装置が提供される。この情報処理装置は、当該情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する生存信号出力部と、当該情報処理装置に障害が発生したとき、必要に応じて、前記メモリダンプ処理を前記生存信号出力部の処理より優先的に実行するメモリダンプ処理部と、前記生存信号が出力された後、第１の時間以内に前記生存信号が再度出力されたか否かを監視する生存信号監視部と、前記第１の時間以内に前記生存信号が再度出力されなかった場合に、前記メモリダンプ処理が実行中か否かを判定し、実行中でなかった場合には、当該情報処理装置の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、当該情報処理装置の再起動またはシャットダウンを要求するシステム状態判定部と、を有する。
【００１０】
ここで、生存信号出力部は、情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する。メモリダンプ処理部は、情報処理装置に障害が発生したとき、必要に応じて、メモリダンプ処理を生存信号出力部の処理より優先的に実行する。従って、メモリダンプ処理が開始されると、生存信号出力部からは生存信号が出力されなくなる。生存信号監視部は、生存信号出力部から生存信号が出力された後、第１の時間以内に生存信号が再度出力されたか否かを監視する。システム状態判定部は、生存信号監視部の監視結果に基づき、第１の時間以内に生存信号が再度出力されなかった場合に、メモリダンプ処理が実行中か否かを判定する。そして、メモリダンプ処理が実行中でなかった場合には、この情報処理装置の再起動またはシャットダウンを要求する。一方、メモリダンプ処理が実行中であった場合には、この時点から第２の時間が経過した後に、情報処理装置の再起動またはシャットダウンを要求する。
【００１１】
また、上記課題を解決するために、上記の情報処理装置が備える機能の一部に対応する動作状態監視装置、および、この動作状態監視装置と同様の処理を行う動作状態監視方法が提供される。
【発明の効果】
【００１２】
上記の情報処理装置によれば、所定時間以内での生存信号の監視結果に基づく障害監視機能を有しながら、障害発生時にメモリダンプ処理を常に確実に完了することが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、実施の形態を図面を参照して詳細に説明する。
図１は、実施の形態に係る情報処理装置の概要を示す図である。
図１に示す情報処理装置１は、生存信号出力部１１、メモリダンプ処理部１２、生存信号監視部１３およびシステム状態判定部１４を備えている。
【００１４】
生存信号出力部１１は、この情報処理装置１が正常に稼動している間、そのことを示す生存信号を繰り返し出力する。
メモリダンプ処理部１２は、メモリの記憶内容を採取して、採取した情報を情報処理装置１内の不揮発性記憶領域に記録する、いわゆるメモリダンプ処理を実行する。メモリダンプ処理は、情報処理装置１において障害が発生したとき、必要に応じて実行される。また、このメモリダンプ処理は、例えば割り込み処理として、生存信号出力部１１の処理よりも優先的に実行される。従って、メモリダンプ処理の実行中には、生存信号出力部１１から生存信号が出力されなくなる。
【００１５】
生存信号監視部１３は、生存信号出力部１１からの生存信号を監視する。そして、生存信号が一旦出力された後、所定の時間（ここでは、第１の時間とする）以内に生存信号が再度出力されたか否かを監視する。
【００１６】
システム状態判定部１４は、情報処理装置１が正常に稼動しているか否かを監視し、障害が発生した場合にはこの情報処理装置１を再起動させる機能を備えている。なお、再起動の代わりに、シャットダウンさせるようにしてもよい。
【００１７】
このシステム状態判定部１４は、生存信号監視部１３の監視情報に基づき、第１の時間以内に生存信号出力部１１から生存信号が再度出力されなかった場合に、障害が発生したと判断する。そして、メモリダンプ処理部１２によるメモリダンプ処理が実行中か否かを判定する。
【００１８】
ここで、メモリダンプ処理が実行されている場合には、この処理が実行中であることが、情報処理装置１のモニタに表示されることが多い。システム状態判定部１４は、例えば、このような表示情報を基に、メモリダンプ処理が実行されているか否かを判定することができる。
【００１９】
システム状態判定部１４は、メモリダンプ処理が実行中と判定した場合には、所定の時間（ここでは、第２の時間とする）の計時を行う。そして、第２の時間が経過した後で、情報処理装置１を再起動させる。すなわち、生存信号の未達により、直ちにシステムを再起動するのではなく、メモリダンプ処理が実行されていた場合には、再起動するまでのタイミングが遅延される。このような処理により、メモリダンプ処理をより確実に完了させることができる。
【００２０】
一方、システム状態判定部１４は、メモリダンプ処理が実行中でないと判定した場合には、直ちに情報処理装置１を再起動させてもよいが、さらに、発生した障害が、メモリダンプ処理を実行させる必要があるものであるか否かを判定するようにしてもよい。この場合、メモリダンプ処理が必要であれば、メモリダンプ処理部１２に対してメモリダンプ処理の実行を要求し、第２の時間が経過した後で、情報処理装置１を再起動させる。一方、メモリダンプ処理が必要でなければ、情報処理装置１を直ちに再起動させる。
【００２１】
このような処理により、何らかの障害によってメモリダンプ処理が開始されなかった場合でも、メモリダンプ処理を確実に実行し、完了させることができるようになる。一方、メモリダンプ処理が必要でない障害が発生した場合には、余計な時間を要することなく、情報処理装置１を短時間で再起動させることができる。
【００２２】
次に、上記の情報処理装置１について、より具体的な例を挙げて詳しく説明する。
図２は、実施の形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【００２３】
図２に示すコンピュータ１００は、ＣＰＵ（Central Processing Unit）１０１、主記憶部１０２、メモリコントローラ１０３、Ｉ／Ｏ（In/Out）コントローラ１０４、外部記憶部１０５、グラフィック処理部１０６、ＢＩＯＳ（Basic Input/Output System）記憶部１０７および動作状態監視部１０８を備えている。
【００２４】
ＣＰＵ１０１は、コンピュータ１００全体に対する制御をつかさどる。主記憶部１０２は、例えばＤＲＡＭ（Dynamic Random Access Memory）などとして実現され、ＣＰＵ１０１に対してメモリコントローラ１０３を介して接続されている。主記憶部１０２は、ＣＰＵ１０１に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。メモリコントローラ１０３は、ＣＰＵ１０１と主記憶部１０２との間のデータの入出力を制御する。
【００２５】
Ｉ／Ｏコントローラ１０４は、これに接続された外部記憶部１０５、グラフィック処理部１０６、ＢＩＯＳ記憶部１０７および動作状態監視部１０８の各部と、ＣＰＵ１０１との間のデータの入出力を制御する。外部記憶部１０５は、例えばＨＤＤ（Hard Disk Drive）などとして実現される。この外部記憶部１０５には、ＯＳやアプリケーションプログラム、各種データが格納される。グラフィック処理部１０６には、モニタ１０６ａが接続されている。グラフィック処理部１０６は、ＣＰＵ１０１からの命令に従って、モニタ１０６ａの画像上に画像を表示させる。
【００２６】
ＢＩＯＳ記憶部１０７は、例えばフラッシュＲＯＭ（Read Only Memory）などとして実現される。ＢＩＯＳ記憶部１０７には、このコンピュータ１００を起動させてＯＳを起動させるための起動プログラムや、その起動のために必要な各種データを始めとするＢＩＯＳデータが記憶されている。
【００２７】
動作状態監視部１０８は、このコンピュータ１００の稼動状態（主としてＯＳの稼動状態）を監視し、必要に応じてメモリダンプ処理やコンピュータ１００の再起動処理などを実行させる。動作状態監視部１０８は、例えば、ＣＰＵやメモリなどが同一基板上に搭載された構成を有し、メモリに記憶されたファームウェアをＣＰＵが実行することにより、上記の機能を実現する。
【００２８】
図３は、実施の形態に係るコンピュータの機能を示すブロック図である。
コンピュータ１００は、ＯＳ１２０によって実現される機能として、生存信号送信部１２１、障害検出部１２２およびメモリダンプ処理部１２３を備えている。また、動作状態監視部１０８によって実現される機能として、生存信号監視部１３１、ウォッチドッグタイマ（ＷＤＴ）１３２、画像判定部１３３およびシステム状態判定部１３４を備えている。なお、動作状態監視部１０８は、これらの機能を、例えば、その内部のＣＰＵにより所定のファームウェアを実行することによって実現する。
【００２９】
生存信号送信部１２１は、コンピュータ１００が正常に稼動していることを示す生存信号を、動作状態監視部１０８に対して一定時間ごとに送信する。
障害検出部１２２は、コンピュータ１００において障害が発生しているか否かを監視する。そして、障害の発生を検出すると、その障害の内容に応じてメモリダンプ処理が必要な場合には、メモリダンプ処理の実行をメモリダンプ処理部１２３に対して要求する。また、障害検出部１２２は、必要に応じて、発生した障害の内容を表示するための表示情報を、グラフィック処理部１０６に対して送信して、表示を要求する。
【００３０】
本実施の形態では、ソフトウェアエラーが検出された場合には、メモリダンプ処理が実行されるものとする。また、ハードウェアエラーが検出された場合には、障害検出部１２２の処理により、ハードウェアエラーの発生を示す表示情報がグラフィック処理部１０６に送信されるものとする。
【００３１】
メモリダンプ処理部１２３は、障害検出部１２２または動作状態監視部１０８からの要求に応じて、メモリダンプ処理を実行する。メモリダンプ処理では、主記憶部１０２内の所定領域の内容が採取されて、障害情報１４１のデータファイルとして外部記憶部１０５に記録される。また、メモリダンプ処理部１２３は、メモリダンプ処理を開始すると、そのことを示す表示情報をグラフィック処理部１０６に送信して、表示を要求する。後述するように、この表示情報には、メモリダンプ処理の実行経過を示す情報なども含まれる。
【００３２】
ここで、メモリダンプ処理は、最優先の割り込み処理としてＣＰＵ１０１により実行される。従って、メモリダンプ処理が実行されている間、生存信号送信部１２１は動作することができない。また、ハードウェアエラーが発生した場合にも、生存信号送信部１２１は動作することができない。
【００３３】
生存信号監視部１３１は、ウォッチドッグタイマ１３２と接続されており、このウォッチドッグタイマ１３２の機能を用いて、一定時間内に生存信号送信部１２１からの生存信号を受信したか否かを監視する。ウォッチドッグタイマ１３２は、所定のカウント初期値からのカウントダウン動作を実行し、生存信号監視部１３１は、生存信号送信部１２１からの生存信号を受信すると、ウォッチドッグタイマ１３２のカウント値をカウント初期値にリセットして、その値からのカウントダウン動作を再実行させる。また、生存信号が受信されず、ウォッチドッグタイマ１３２のカウント値が“０”になった場合には、ウォッチドッグタイマ１３２は自動的にカウント初期値からのカウントダウン動作を再実行する。さらに、ウォッチドッグタイマ１３２は、システム状態判定部１３４からの制御により、現在のカウント値に所定の値を加算して、計測すべき時間を延長することも可能になっている。
【００３４】
画像判定部１３３は、システム状態判定部１３４からの要求に応じて、グラフィック処理部１０６により表示される画像のデータを取り込み、画像の内容を判定する。画像判定部１３３は、取り込んだ画像から、メモリダンプ処理が実行されていること、メモリダンプ処理が終了したこと、ハードウェアエラーが発生したことのいずれかを判定すると、その旨をシステム状態判定部１３４に通知する。
【００３５】
ここで、グラフィック処理部１０６は、例えば、モニタ１０６ａに出力する表示情報を一旦記憶する出力メモリ１０６ｂを備えている。画像判定部１３３は、この出力メモリ１０６ｂに格納された表示情報を読み込み、例えばパターン認識などによってその表示情報に含まれる文字情報や画像情報を判別し、上記の判定処理を行う。
【００３６】
システム状態判定部１３４は、ウォッチドッグタイマ１３２のカウント値や画像判定部１３３から通知される情報に基づき、コンピュータ１００における障害発生の状態を判定して、その判定結果に応じた処理を実行する。具体的には、生存信号監視部１３１により一定時間内に生存信号が受信されず、ウォッチドッグタイマ１３２のカウント値が“０”になった場合に、障害が発生したと判断して、画像判定部１３３に画像内容の判定処理を要求する。そして、その判定結果に応じて、メモリダンプ処理部１２３に対してメモリダンプ処理の実行を要求する、ＢＩＯＳ記憶部１０７の起動プログラムをＣＰＵ１０１に読み込ませて再起動処理を要求するなどの処理を行う。
【００３７】
また、メモリダンプ処理を要求した場合には、ウォッチドッグタイマ１３２のカウント値に所定の値を加算させ、メモリダンプ処理が完了するまでの時間を監視する。そして、所定の時間内にメモリダンプ処理が完了しなかった場合には、そのことを示すダンプ失敗情報１４２のデータファイルを外部記憶部１０５に記録する。
【００３８】
なお、本実施の形態では、メモリダンプ処理部１２３の機能はＯＳ１２０の機能として実現されるが、ＯＳ１２０以外の他のプログラムをＣＰＵ１０１で実行することで、メモリダンプ処理部１２３の機能を実現してもよい。また、障害検出部１２２の機能についても同様に、ＯＳ１２０以外の他のプログラムによって実現されてもよい。
【００３９】
図４は、メモリダンプ処理が実行された場合の画面表示例を示す図である。
メモリダンプ処理部１２３は、メモリダンプ処理が必要とされる障害が発生したとき、図４に示すような画像をモニタ１０６ａに表示させる。図４において、テキスト領域２０１に記述されたテキスト情報が、メモリダンプ処理に関する情報である。
【００４０】
メモリダンプ処理部１２３は、メモリダンプ処理を開始すると、テキスト領域２０１における第１行目および第２行目のテキスト情報を表示させる。これらのうち、第２行目の末尾の数値は、メモリダンプ処理の経過を示す情報であり、メモリダンプ処理の開始直後は最小値の“０”とされ、メモリダンプ処理が進むにつれて徐々に数値が増加していく。そして、メモリダンプ処理が完了すると、図４のように上記の数値は最大値の“１００”となり、テキスト領域２０１の第３行目のテキスト情報がさらに表示されて、メモリダンプ処理が完了したことがユーザに通知される。
【００４１】
図５は、ハードウェアエラーが発生した場合の画面表示例を示す図である。
障害検出部１２２は、ハードウェアエラーの発生を検出したとき、図５に示すようなエラー通知画像２０２をモニタ１０６ａに表示させる。エラー通知画像２０２には、ハードウェアエラーが発生したこと、および、そのエラーの種類や内容などを示すテキスト情報などが含まれている。図５の例では、“エラー２”というコード番号により、ハードウェアエラーの種類を表している。
【００４２】
画像判定部１３３は、例えば、上記のテキスト領域２０１に表示されるテキスト情報やエラー通知画像２０２に対応する画像パターンのデータを、識別情報に対応付けてメモリなどにあらかじめ保持しておく。そして、画像判定部１３３は、システム状態判定部１３４からの要求に応じて、グラフィック処理部１０６の出力メモリ１０６ｂから上記のような表示画像のデータを読み込み、上記の画像パターンとのマッチングを行って、対応する識別情報をシステム状態判定部１３４に出力する。システム状態判定部１３４は、画像判定部１３３からの識別情報により、メモリダンプ処理が実行中であること、その実行が終了したこと、ハードウェアエラーが発生したことを判別できる。
【００４３】
なお、画像判定部１３３が上記のテキスト領域２０１を認識する場合には、例えば、第１行目および第２行目のテキスト情報に対応する画像パターンにより、メモリダンプ処理が実行されたことを判別可能となる。そしてその後、第２行目の末尾の数値を示すテキスト情報や、第３行目のテキスト情報などの画像パターンにより、メモリダンプ処理が終了したことを判別可能になる。
【００４４】
図６は、障害発生時における動作状態監視部の処理の流れを示すフローチャートである。
前述したように、コンピュータ１００が稼動している状態では、生存信号監視部１３１により、生存信号送信部１２１からの生存信号が監視されている。生存信号監視部１３１は、ウォッチドッグタイマ１３２のカウント値が“０”になる前に生存信号を受信した場合には、コンピュータ１００が正常に稼動していると判断して、ウォッチドッグタイマ１３２のカウント値をカウント初期値にリセットする。
【００４５】
しかし、コンピュータ１００に障害が発生し、生存信号送信部１２１が生存信号を送信できない状態となったときには、ウォッチドッグタイマ１３２のカウント値が“０”までカウントダウンされる。例えば、障害検出部１２２によりハードウェアエラーが検出された場合や、障害検出部１２２によりソフトウェアエラーが検出されたのに応じて、メモリダンプ処理部１２３によるメモリダンプ処理が開始された場合などには、生存信号送信部１２１は動作しなくなり、生存信号は送信されなくなる。このような場合に、動作状態監視部１０８では、次のような処理が実行される。
【００４６】
［ステップＳ１１］システム状態判定部１３４は、ウォッチドッグタイマ１３２のカウント値が“０”になると、障害が発生したと判断する。
［ステップＳ１２］システム状態判定部１３４は、画像判定部１３３に対して画像判定を行うように要求する。画像判定部１３３は、グラフィック処理部１０６の出力メモリ１０６ｂから表示画像のデータを読み込み、その内容を判定する。
【００４７】
［ステップＳ１３］システム状態判定部１３４は、画像判定部１３３から、画像判定の結果として前述の識別情報を受け取り、コンピュータ１００の現在の状態を判定する。ここで、メモリダンプ処理の実行中と判定された場合には、ステップＳ１６の処理が実行され、それ以外の場合にはステップＳ１４の処理が実行される。
【００４８】
［ステップＳ１４］システム状態判定部１３４は、画像判定部１３３の判定結果から、発生した障害がメモリダンプ処理の実行が必要なものであるか否かを判定する。ここでは、ハードウェアエラーが発生していた場合には、メモリダンプ処理が不要と判定されて、ステップＳ２０の処理が実行される。また、それ以外の場合には、メモリダンプ処理が必要と判定されて、ステップＳ１５の処理が実行される。
【００４９】
［ステップＳ１５］システム状態判定部１３４は、メモリダンプ処理部１２３に対して、メモリダンプ処理の実行を要求する。これにより、メモリダンプ処理が開始される。
［ステップＳ１６］ウォッチドッグタイマ１３２は、上記のステップＳ１１の時点でカウント値が“０”となった後も、カウント値をカウント初期値にリセットしてカウントダウン動作を継続している。ステップＳ１５の処理の後、システム状態判定部１３４は、ウォッチドッグタイマ１３２の現在のカウント値に所定の値を加算し、カウントダウン動作を継続させる。
【００５０】
この処理での加算値は、カウント値が“０”となるまでの時間が、正常状態においてメモリダンプ処理が完了するまでの時間となるように、あらかじめ決定されている。従って、ステップＳ１６では、実質的に、メモリダンプ処理の正常終了を判定するためのカウント動作が開始されることになる。ただし、このカウント動作は、ウォッチドッグタイマ１３２とは独立した別のタイマ機能によって実行されてもよい。なお、ここでのカウント動作のカウント初期値（加算値）は、ユーザの入力操作によって任意に変更可能であってもよい。
【００５１】
［ステップＳ１７］システム状態判定部１３４は、画像判定部１３３に対して引き続き画像判定を行うように要求し、その判定結果を取得する。ここで、メモリダンプ処理が終了したと判定された場合には、ステップＳ２０の処理が実行され、そうでない場合にはステップＳ１８の処理が実行される。
【００５２】
［ステップＳ１８］システム状態判定部１３４は、ウォッチドッグタイマ１３２のカウント値が“０”となったか否かを判定する。ここで、カウント値が“０”であった場合には、ステップＳ１９の処理が実行される。一方、カウント値が“０”より大きかった場合には、ステップＳ１７の処理が再度実行される。
【００５３】
［ステップＳ１９］システム状態判定部１３４は、何らかの障害によりメモリダンプ処理が正常に完了しなかったと判断して、そのことを示すダンプ失敗情報１４２を生成し、外部記憶部１０５に記録する。
【００５４】
［ステップＳ２０］システム状態判定部１３４は、ＢＩＯＳ記憶部１０７に記憶された起動プログラムをＣＰＵ１０１に実行させ、コンピュータ１００を再起動させる。なお、このステップＳ２０では、コンピュータ１００がシャットダウンされてもよい。
【００５５】
以上の処理では、ウォッチドッグタイマ１３２のカウント値により障害発生と判断されたとき、すぐにシステムの再起動が実行されず、表示画像を基にコンピュータ１００の状態が判定される。このとき、メモリダンプ処理が実行されている場合には、この処理が正常に完了するまで待機した後、システムが再起動される。従って、メモリダンプ処理の実行中にもかかわらず、システムの再起動やシャットダウンが実行されることがなくなり、障害情報１４１を確実に記録することができ、後で十分な情報により障害発生の原因を解析できるようになる。また、メモリダンプ処理の完了までの待機時間はウォッチドッグタイマ１３２により管理されるので、既存の機能を有効に用いることができ、製造・開発コストが抑制される。
【００５６】
また、障害発生と判断されたとき、メモリダンプ処理が実行されていない場合には、発生した障害がメモリダンプ処理を実行すべきものか否かが判断される。そして、必要であればメモリダンプ処理が実行されるので、障害発生時に何らかの理由でメモリダンプ処理が開始されなかった場合にも、障害情報１４１を確実に残しておけるようになる。
【００５７】
一方、発生した障害が、メモリダンプ処理が必要なものでない場合には、メモリダンプ処理を行うことなく、システムが再起動される。従って、この場合にシステムが再起動されるまでの時間が短縮される。
【００５８】
さらに、メモリダンプ処理が実行された場合でも、この処理が所定時間内に完了しない場合には、システムが再起動される。従って、例えば何らかの理由によってメモリダンプ処理に異常が発生している場合などでも、システムを自動的に再起動させることができ、しかも、再起動までに余計な時間を要さなくなる。また、この場合には、メモリダンプ処理が正常に完了しなかったことをダンプ失敗情報１４２として残しておくので、この情報を基にメモリダンプ処理の異常の原因を解析できるようになる。
【００５９】
また、メモリダンプ処理の実行中や実行完了などのコンピュータ１００の状態を、表示画像を基に判定するようにしたことで、この判定処理の実現のためにＯＳ１２０のプログラム構造などを特に変更する必要がなくなる。従って、既存の機能を有効に利用でき、製造・開発コストを抑制できる。
【００６０】
ただし、この判定処理を実現するための機能は、ＯＳなどのプログラムまたはハードウェアを用いた新たな機能として実装されてもよい。また、上記判定対象のうちの少なくとも一部が、表示画像以外の情報（例えば、ＯＳの処理により出力される情報）を基に判定されるようにしてもよい。
【００６１】
なお、上記の実施の形態では、ハードウェアエラーが発生した場合に、メモリダンプ処理が必要ではないと判定されたが、発生した障害の種類をより細かく判別可能である場合には、それらの障害の種類に応じてメモリダンプ処理の要否を判定してもよい。この場合、例えば、障害検出部１２２が、ハードウェアエラー／ソフトウェアエラーに関係なく、発生した障害の種類ごとに内容の異なる表示情報を出力して、モニタ１０６ａに表示させる。これにより、動作状態監視部１０８では、画像判定部１３３の処理によって、発生した障害の種類をより細かく判別することが可能になる。
【００６２】
また、上記の実施の形態において、ステップＳ１６でのカウント値の加算値は、例えば、コンピュータ１００に搭載されたＣＰＵ１０１の動作速度、主記憶部１０２の記憶容量、採取した障害情報１４１の書き込み先の記録媒体の書き込み速度などに応じて、あらかじめ決定されていればよい。また、例えば、コンピュータ１００に接続されたハードウェアを監視する機能を備えている場合には、ステップＳ１６において、その監視情報に応じて加算値をその都度演算されてもよい。さらに例えば、上記のように発生した障害の種類をより細かく判別でき、発生した障害の種類によってメモリダンプ処理に要する時間が異なる場合には、カウント値の加算値を、さらにその障害の種類に応じて演算して決定してもよい。
【００６３】
なお、上記の実施の形態で説明した機能（例えば、動作状態監視部１０８の機能など）は、コンピュータによって実現することができる。その場合には、上記機能の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
【００６４】
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、そのプログラムを、サーバコンピュータからネットワークを介して他のコンピュータに転送することもできる。
【００６５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、そのプログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００６６】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  障害発生時にメモリの記憶内容を採取して不揮発性記憶領域に記録するメモリダンプ処理機能を備えた情報処理装置において、
当該情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する生存信号出力部と、
当該情報処理装置に障害が発生したとき、必要に応じて、前記メモリダンプ処理を前記生存信号出力部の処理より優先的に実行するメモリダンプ処理部と、
前記生存信号が出力された後、第１の時間以内に前記生存信号が再度出力されたか否かを監視する生存信号監視部と、
前記第１の時間以内に前記生存信号が再度出力されなかった場合に、前記メモリダンプ処理が実行中か否かを判定し、実行中でなかった場合には、当該情報処理装置の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、当該情報処理装置の再起動またはシャットダウンを要求するシステム状態判定部と、
を有することを特徴とする情報処理装置。
【００６７】
（付記２）  前記メモリダンプ処理部は、前記メモリダンプ処理を実行している間、当該処理を実行中であることを表示するための表示情報を出力し、
前記システム状態判定部は、前記メモリダンプ処理部が出力する表示情報を基に、前記メモリダンプ処理が実行中か否かを判定する、
ことを特徴とする付記１記載の情報処理装置。
【００６８】
（付記３）  前記システム状態判定部は、前記メモリダンプ処理が実行中と判定した後、前記第２の時間が経過するまでに前記メモリダンプ処理の完了を検出しなかった場合には、前記メモリダンプ処理が正常に実行されなかったことを示す情報を前記不揮発性記憶領域に記録した後、当該情報処理装置の再起動またはシャットダウンを要求することを特徴とする付記１または２記載の情報処理装置。
【００６９】
（付記４）  前記システム状態判定部は、前記第１の時間以内に前記生存信号が再度出力されなかったときに、前記メモリダンプ処理が実行中でなかった場合には、発生した障害が前記メモリダンプ処理が必要な障害か否かを判定し、前記メモリダンプ処理が必要でないと判定した場合には、当該情報処理装置の再起動またはシャットダウンを要求し、前記メモリダンプ処理が必要と判定した場合には、前記メモリダンプ処理部に前記メモリダンプ処理の実行を要求するとともに、この時点から前記第２の時間が経過した後、当該情報処理装置の再起動またはシャットダウンを要求することを特徴とする付記１〜３のいずれか１つに記載の情報処理装置。
【００７０】
（付記５）  障害の発生を検出すると、障害が発生したことをその障害の種別とともに表示するための表示情報を出力する障害検出部をさらに有し、
前記システム状態判定部は、前記障害検出部が出力する表示情報を基に、発生した障害が前記メモリダンプ処理が必要な障害か否かを判定することを特徴とする付記４記載の情報処理装置。
【００７１】
（付記６）  前記システム状態判定部は、前記メモリダンプ処理部の前記メモリダンプ処理の実行を要求した後、前記第２の時間が経過するまでに前記メモリダンプ処理の完了を検出しなかった場合には、前記メモリダンプ処理が正常に実行されなかったことを示す情報を前記不揮発性記憶領域に記録した後、当該情報処理装置の再起動またはシャットダウンを要求することを特徴とする付記４または５記載の情報処理装置。
【００７２】
（付記７）  前記生存信号監視部は、前記第１の時間をカウントするカウンタを備え、
前記システム状態判定部は、前記メモリダンプ処理が実行中であると判定したときに、前記生存信号監視部が備える前記カウンタのカウント値を変更して、前記第２の時間がカウントさせる、
ことを特徴とする付記１〜６のいずれか１項に記載の情報処理装置。
【００７３】
（付記８）  障害発生時にメモリの記憶内容を採取して不揮発性記憶領域に記録するメモリダンプ処理機能を備えた情報処理装置に設けられて、前記情報処理装置の動作状態を監視する動作状態監視装置において、
前記情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する、前記情報処理装置の生存信号出力部から、前記生存信号が出力された後、第１の時間以内に前記生存信号が再度出力されたか否かを監視する生存信号監視部と、
前記第１の時間以内に前記生存信号が再度出力されなかった場合に、前記情報処理装置のメモリダンプ処理部による前記メモリダンプ処理が実行中か否かを判定し、実行中でなかった場合には、前記情報処理装置の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、前記情報処理装置の再起動またはシャットダウンを要求するシステム状態判定部と、
を有することを特徴とする動作状態監視装置。
【００７４】
（付記９）  障害発生時にメモリの記憶内容を採取して不揮発性記憶領域に記録するメモリダンプ処理機能を備えた情報処理装置における動作状態監視方法であって、
生存信号監視部が、前記情報処理装置が正常に稼動している間、正常に稼動していることを示す生存信号を繰り返し出力する、前記情報処理装置の生存信号出力部から、前記生存信号が出力された後、第１の時間以内に前記生存信号が再度出力されたか否かを監視し、
システム状態判定部が、前記第１の時間以内に前記生存信号が再度出力されなかった場合に、前記情報処理装置のメモリダンプ処理部による前記メモリダンプ処理が実行中か否かを判定し、実行中でなかった場合には、前記情報処理装置の再起動またはシャットダウンを要求し、実行中であった場合には、この時点から第２の時間が経過した後、前記情報処理装置の再起動またはシャットダウンを要求する、
ことを特徴とする動作状態監視方法。
【図面の簡単な説明】
【００７５】
【図１】実施の形態に係る情報処理装置の概要を示す図である。
【図２】実施の形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【図３】実施の形態に係るコンピュータの機能を示すブロック図である。
【図４】メモリダンプ処理が実行された場合の画面表示例を示す図である。
【図５】ハードウェアエラーが発生した場合の画面表示例を示す図である。
【図６】障害発生時における動作状態監視部の処理の流れを示すフローチャートである。
【符号の説明】
【００７６】
１  情報処理装置
１１  生存信号出力部
１２  メモリダンプ処理部
１３  生存信号監視部
１４  システム状態判定部
【図１】
2010086364.tif 000003
【図２】
2010086364.tif 000004
【図３】
2010086364.tif 000005
【図４】
2010086364.tif 000006
【図５】
2010086364.tif 000007
【図６】
2010086364.tif 000008