(57)【要約】【課題】ＯＳやアプリケーションの異常動作を早期に検出でき、またシステムのＣＰＵ負担を下げながら、異常動作したアプリケーションを特定できる。【解決手段】各アプリケーション１Ａ〜１Ｃは、自アプリケーションを特定する情報と、アプリケーション別の監視タイムアウト時間を記載したアプリケーション情報を、ウオッチドッグ機能を有効にする要求として発行し、これをオペレーティングシステム２を通してＦＩＦＯメモリ４に順次記憶し、ローカルＣＰＵ５はアプリケーション情報を順次読み出し、アプリケーション別のタイムアウト時間についてウオッチドッグ監視を行う。  アプリケーション別の個々の動作確認により異常の有無を監視し、これら監視を監視エージェントとオペレーティングシステムを通したローカルＣＰＵで行う。【選択図】図１
2009020545.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを搭載したコンピュータシステムの異常動作を監視する異常監視装置であって、
各アプリケーションは、自アプリケーションを特定する情報と、アプリケーション別の監視タイムアウト時間を記載したアプリケーション情報を、ウオッチドッグ機能を有効にする要求として発行する手段を備え、
前記アプリケーション情報をオペレーティングシステムのデバイスドライバを通じて与えられ、これを順次記憶するＦＩＦＯメモリを備え、
前記ＦＩＦＯメモリからアプリケーション情報を順次読み出し、アプリケーション別の前記時間についてウオッチドッグ監視を行い、この時間内に当該アプリケーションから次回の通知がないときに、当該アプリケーションの異常として検出するローカルＣＰＵを備えたことを特徴とするコンピュータの異常監視装置。
【請求項２】
複数のアプリケーションを搭載したコンピュータシステムの異常動作を監視する異常監視装置であって、
各アプリケーションは、自アプリケーションを特定する情報を付した「監視機能を有効にする要求」を発行し、この後にアプリケーション別に定める一定周期で「動作中」通知を発行する手段を備え、
前記アプリケーションから発行された、「監視機能を有効にする要求」と「動作中」通知を受け、これら情報をオペレーティングシステム２を通してローカルＣＰＵに通知する監視エージェントを備え、
前記ローカルＣＰＵは、前記監視エージェントから「監視機能を有効にする要求」を受けたときに当該アプリケーションの異常監視に入り、前記「動作中」通知があるときにオペレーティングシステムおよび前記監視エージェントに「確認通知」を発行し、この「確認通知」に対して前記オペレーティングシステムおよび監視エージェントから「応答通知」が返されたときにオペレーティングシステムおよびアプリケーションおよび監視エージェントが正常に動作可能状態であると判断する手段を備えたことを特徴とするコンピュータの異常監視装置。
【請求項３】
前記ローカルＣＰＵは、アプリケーションまたはオペレーティングシステムの異常を判断したときに、不揮発性メモリにその旨の情報を記憶しておく手段を備えたことを特徴とする請求項１または２に記載のコンピュータの異常監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションを搭載したコンピュータの異常監視装置に係り、特にアプリケーションやＯＳの異常動作を監視する装置に関する。
【背景技術】
【０００２】
コンピュータの異常動作監視は、一般にはウオッチドッグ機能が使用される。このウオッチドッグ機能による監視方式を図３で説明する。コンピュータのアプリケーション１は、複数のものが搭載され、それらの機能は、オペレーティングシステム（ＯＳ）２を介して実行される。アプリケーション１を実行するコンピュータの監視機能として、ウオッチドッグ機能を一定周期で有効にする通知を発生し、この通知がデバイスドライバ２Ａを通じてウオッチドッグ機能部３に通知される。ウオッチドッグ機能部３は、コンピュータシステムからの通知が一定時間内にないとき（タイムアウト）にコンピュータの異常動作として検出し、システムをリセットして再起動する。
【０００３】
このウオッチドッグ機能による監視方式は、システムの負荷増を防止するためには比較的長い時間（１秒から２秒程度）のタイマ時限に設定されるため、異常発生を迅速に検出できない。また、異常発生原因の特定まではできない。
【０００４】
異常発生を迅速に検出する監視方式として、コンピュータシステムのアドレスバス上のアドレスデータを直接に監視し、アドレスデータが割り当てられていないアドレス空間になるときに異常として検出し、ＣＰＵに割り込みをかけるものがある（例えば、特許文献１参照）。
【特許文献１】特開平８−２７８９０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記のように、ウオッチドッグ機能による監視方式は、異常発生を迅速に検出できない。また、ウオッチドッグ機能はタイムアウトとなった場合にＣＰＵに割り込みをかけてシステムを再起動するが、単にアプリケーションからウオッチドッグ機能にタイマ更新の通知がないという場合しか異常検知できない。また、異常が発生したという情報も残すことが困難である。
【０００６】
この点、特許文献１の監視方式は、ＣＰＵの負荷増を招くことなく、異常発生を迅速に検出でき、また異常が発生したという情報も残すことができるが、アドレス空間の異常監視しかできない。このため、ＯＳやアプリケーション自体の異常動作を監視できない場合があり、さらにいずれのアプリケーションが異常かの特定ができない。
【０００７】
本発明の目的は、ＯＳやアプリケーションの異常動作を早期に検出でき、またシステムのＣＰＵ負担を下げながら、異常動作したアプリケーションを特定できるコンピュータの異常監視装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、前記の課題を解決するため、アプリケーション別に個々に定めた時間により異常の有無を監視し、またはアプリケーション別の個々の動作確認により異常の有無を監視し、これら監視をローカルＣＰＵで行うようにしたもので、以下の構成を特徴とする。
【０００９】
（１）複数のアプリケーションを搭載したコンピュータシステムの異常動作を監視する異常監視装置であって、
各アプリケーションは、自アプリケーションを特定する情報と、アプリケーション別の監視タイムアウト時間を記載したアプリケーション情報を、ウオッチドッグ機能を有効にする要求として発行する手段を備え、
前記アプリケーション情報をオペレーティングシステムのデバイスドライバを通じて与えられ、これを順次記憶するＦＩＦＯメモリを備え、
前記ＦＩＦＯメモリからアプリケーション情報を順次読み出し、アプリケーション別の前記時間についてウオッチドッグ監視を行い、この時間内に当該アプリケーションから次回の通知がないときに、当該アプリケーションの異常として検出するローカルＣＰＵを備えたことを特徴とする。
【００１０】
（２）複数のアプリケーションを搭載したコンピュータシステムの異常動作を監視する異常監視装置であって、
各アプリケーションは、自アプリケーションを特定する情報を付した「監視機能を有効にする要求」を発行し、この後にアプリケーション別に定める一定周期で「動作中」通知を発行する手段を備え、
前記アプリケーションから発行された、「監視機能を有効にする要求」と「動作中」通知を受け、これら情報をオペレーティングシステム２を通してローカルＣＰＵに通知する監視エージェントを備え、
前記ローカルＣＰＵは、前記監視エージェントから「監視機能を有効にする要求」を受けたときに当該アプリケーションの異常監視に入り、前記「動作中」通知があるときにオペレーティングシステムおよび前記監視エージェントに「確認通知」を発行し、この「確認通知」に対して前記オペレーティングシステムおよび監視エージェントから「応答通知」が返されたときにオペレーティングシステムおよびアプリケーションおよび監視エージェントが正常に動作可能状態であると判断する手段を備えたことを特徴とする。
【００１１】
（３）前記ローカルＣＰＵは、アプリケーションまたはオペレーティングシステムの異常を判断したときに、不揮発性メモリにその旨の情報を記憶しておく手段を備えたことを特徴とする。
【発明の効果】
【００１２】
以上のとおり、本発明によれば、アプリケーション別に個々に定めた時間により異常の有無を監視し、またはアプリケーション別の個々の動作確認により異常の有無を監視し、これら監視をローカルＣＰＵで行うようにしたため、ＯＳやアプリケーションの異常動作を早期に検出でき、またシステムのＣＰＵ負担を下げながら、異常動作したアプリケーションを特定できる。
【発明を実施するための最良の形態】
【００１３】
（実施形態１）
図１は、本発明の実施形態を示す異常監視装置の要部構成図である。コンピュータシステムは複数のアプリケーション１Ａ〜１Ｃと、オペレーティングシステム（ＯＳ）２によって構築されものとする。このコンピュータシステムの監視装置として、本実施形態では、ＦＩＦＯ（Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  ｏｕｔ）メモリ４とローカルＣＰＵ５と不揮発性メモリ６により異常監視機能を実現する。
【００１４】
本実施形態による異常監視処理を以下に説明する。
【００１５】
（Ｓ１）アプリケーション１Ａ〜１Ｃは、その実行時など適当な時点で、自アプリケーションを特定する情報（ここではＩＤとする）と、アプリケーション別に個々に定めた監視タイムアウト時間を記載したアプリケーション情報を付して、ウオッチドッグ機能を有効にする要求を発行する。
【００１６】
（Ｓ２）ウオッチドッグ機能を有効にする発行の通知（アプリケーション情報つき）は、オペレーティングシステム２がデバイスドライバ２Ａを通じてＦＩＦＯメモリ４に書き込む。この通知は、アプリケーション１Ａ〜１Ｃから要求が発行される度に、ＦＩＦＯメモリ４に順次蓄積される。
【００１７】
（Ｓ３）ローカルＣＰＵ５は、ＦＩＦＯメモリ４からアプリケーション情報を順次読み出し、ＩＤ別にアプリケーションに個々に定めた時間情報についてウオッチドッグ機能による監視を行う。この監視で、各ＩＤについて個々に定めた時間内に当該アプリケーションから次回の通知がないときに、当該ＩＤをもつアプリケーションの異常として検出し、不揮発性メモリ６にその旨の情報を書き込んで保存すると共に、オペレーティングシステム２へのＮＭＩ割り込みなどによって、システムの再起動などを要求する。
【００１８】
したがって、本実施形態によれば、ローカルＣＰＵ５は、アプリケーション別に定めた時間（ウオッチドッグタイマ）でかつアプリケーションを特定して個々に異常監視ができ、いずれのアプリケーションに異常発生したかを検出、記憶することができる。この詳細な異常状態の記憶により、異常状態の解析も可能となる。
【００１９】
また、頻繁に起動されるアプリケーションでは、それに定めるウオッチドッグタイマ時間を短くすることで、迅速な異常検出とシステム保護ができる。また、さらに、ローカルＣＰＵによる異常監視により、オペレーティングシステム側のメインＣＰＵの負担を軽減することができる。
【００２０】
また、各アプリケーションからの通知は、オペレーティングシステム２を通して与えられることから、オペレーティングシステム２の異常動作も含めた監視ができる。
【００２１】
（実施形態２）
図２は、本発明の実施形態を示す異常監視装置の構成図である。コンピュータシステムは複数のアプリケーション１Ａ、１Ｂと、オペレーティングシステム（ＯＳ）２によって構築されるものとする。このコンピュータシステムの監視装置として、本実施形態では、監視エージェント（プログラム）７とローカルＣＰＵ８と不揮発性メモリ９により異常監視機能を実現する。
【００２２】
本実施形態による異常監視処理を以下に説明する。
【００２３】
（Ｓ１１）アプリケーション１Ａ，１Ｂは、その実行時など適当な時点で、自アプリケーションを特定する情報（ここではＩＤとする）と、監視機能を有効にする要求を監視エージェント７に発行する。
【００２４】
（Ｓ１２）監視機能を有効にする要求（アプリケーションＩＤ情報つき）を通知された監視エージェント７は、オペレーティングシステム２とデバイスドライバ２Ａを通じて、ローカルＣＰＵ８に通知する。
【００２５】
（Ｓ１３）ローカルＣＰＵ８は、監視機能を有効にする要求の通知を、アプリケーションのＩＤで記憶しておく。
【００２６】
（Ｓ１４）アプリケーションは、監視機能を有効にする要求を発行した後、一定周期（アプリケーション別に定めた時間）でＩＤ情報と共に監視エージェント７に動作中であることの「動作中」通知を発行する。
【００２７】
（Ｓ１５）ローカルＣＰＵ８は、アプリケーションの「動作中」通知を監視エージェントからオペレーティングシステム２を介して受けたとき、一定周期でオペレーティングシステム２に「確認通知」を発行する。
【００２８】
（Ｓ１６）オペレーティングシステム２は、直ちに「確認通知」の「受領通知」をローカルＣＰＵ８に通知する。この通知をもって、ローカルＣＰＵ８はオペレーティングシステム２が正常に稼動していると判断する。オペレーティングシステム２が稼動状態で無い場合、ローカルＣＰＵ８は不揮発性メモリ９にその旨の情報を書き込む。
【００２９】
（Ｓ１７）ローカルＣＰＵ８からの「確認通知」は、オペレーティングシステム２から監視エージェント７に通知する。
【００３０】
（Ｓ１８）監視エージェント７は、オペレーティングシステム２を介してローカルＣＰＵ８からの「確認通知」を受けたとき、アプリケーションＩＤ毎の稼動情報とともに「応答通知」をオペレーティングシステム２を通してローカルＣＰＵ８側に返す。
【００３１】
（Ｓ１９）ローカルＣＰＵ８は、「応答通知」があることでオペレーティングシステム２およびアプリケーションおよび監視エージェント７が正常に動作可能状態であると判断する。
【００３２】
アプリケーションまたは監視エージェント７が正常な稼動状態で無い場合、ローカルＣＰＵ８は、不揮発性メモリ９にその旨の情報を記憶する。また、アプリケーション毎の稼動状態をチェックし、該当アプリケーションが稼動状態で無い場合は不揮発性メモリ９にその旨の情報を記憶する。
【００３３】
（Ｓ２０）ローカルＣＰＵ８は、監視した状態、情報を何らかの通信経路で他のＣＰＵへ通知する。
【００３４】
したがって、本実施形態によれば、アプリケーションとオペレーティングシステム２およびローカルＣＰＵとの間で、「応答通知」と「確認通知」のやり取りにより異常監視を行うため、ＯＳレベルの稼動状態の検出、記録、アプリケーションレベル（監視エージェント）の稼動状態の検出、記録、また、個々のアプリケーションプロゲラムの稼動状態の検出、記録をすることができる。また、詳細な情報が得られることにより異常状態の解析も可能となる。
【００３５】
また、実施形態１と同様に、頻繁に起動されるアプリケーションでは、それに定める一定周期の通知時間を短くすることで、迅速な異常検出とシステム保護ができる。また、さらに、ローカルＣＰＵによる異常監視により、オペレーティングシステム側のメインＣＰＵの負担を軽減することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態１を示す異常監視装置の要部構成図。
【図２】本発明の実施形態２を示す異常監視装置の要部構成図。
【図３】ウオッチドッグ機能による監視方式。
【符号の説明】
【００３７】
１Ａ〜１Ｃ  アプリケーション
２  オペレーティングシステム
２Ａ  デバイスドライバ
４  ＦＩＦＯメモリ
５  ローカルＣＰＵ
６  不揮発性メモリ
７  監視エージェント
８  ローカルＣＰＵ
【図１】
2009020545.tif 000003
【図２】
2009020545.tif 000004
【図３】
2009020545.tif 000005