JPH10214208A - ソフトウェアの異常監視方式 - Google Patents
ソフトウェアの異常監視方式Info
- Publication number
- JPH10214208A JPH10214208A JP9017277A JP1727797A JPH10214208A JP H10214208 A JPH10214208 A JP H10214208A JP 9017277 A JP9017277 A JP 9017277A JP 1727797 A JP1727797 A JP 1727797A JP H10214208 A JPH10214208 A JP H10214208A
- Authority
- JP
- Japan
- Prior art keywords
- monitoring
- flag
- application
- check
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 コンピュータに搭載するアプリケーション
は、プロセスループやプロセスハングには自身で異常検
出ができない。 【解決手段】 データベース3は、監視対象アプリケー
ション毎に、その起動中・処理中・監視中をそれぞれ表
す起動中フラグと処理中フラグとチェックインフラグ
と、監視対象アプリケーションの異常を判断するチェッ
クイン監視周期と、監視処理回数を積算するチェックイ
ン処理カウンタ等を監視情報とし、監視対象アプリケー
ション11〜1Nは、起動時、処理中に応じて各フラグを
セット・リセットし、監視アプリケーション2は、チェ
ックインフラグ等の参照とチェックインカウンタのカウ
ントアップやクリア等で監視対象アプリケーションの異
常を検出する。また、異常検出後のアプリケーションの
再起動メカニズムにより一過性の異常に対する自動復帰
を可能とする。
は、プロセスループやプロセスハングには自身で異常検
出ができない。 【解決手段】 データベース3は、監視対象アプリケー
ション毎に、その起動中・処理中・監視中をそれぞれ表
す起動中フラグと処理中フラグとチェックインフラグ
と、監視対象アプリケーションの異常を判断するチェッ
クイン監視周期と、監視処理回数を積算するチェックイ
ン処理カウンタ等を監視情報とし、監視対象アプリケー
ション11〜1Nは、起動時、処理中に応じて各フラグを
セット・リセットし、監視アプリケーション2は、チェ
ックインフラグ等の参照とチェックインカウンタのカウ
ントアップやクリア等で監視対象アプリケーションの異
常を検出する。また、異常検出後のアプリケーションの
再起動メカニズムにより一過性の異常に対する自動復帰
を可能とする。
Description
【0001】
【発明の属する技術分野】本発明は、監視制御システム
等を構成するコンピュータシステムの異常監視方式に係
り、特にコンピュータに搭載した各アプリケーションの
異常を外部から監視するためのソフトウェアの異常監視
方式に関する。
等を構成するコンピュータシステムの異常監視方式に係
り、特にコンピュータに搭載した各アプリケーションの
異常を外部から監視するためのソフトウェアの異常監視
方式に関する。
【0002】
【従来の技術】コンピュータシステムは、多くのアプリ
ケーションソフトウェアが搭載されて監視制御システム
などを構築する。監視制御システムなど、高い信頼性を
要求されるコンピュータシステムではそのソフトウェア
は如何なる場合においてもシステムダウンを引き起こし
てはならないが、現実にはソフトウェアの間題によるシ
ステムダウンが発生することがある。このため、システ
ムの各機能を司るアプリケーションの異常検出方式が非
常に重要となってくる。
ケーションソフトウェアが搭載されて監視制御システム
などを構築する。監視制御システムなど、高い信頼性を
要求されるコンピュータシステムではそのソフトウェア
は如何なる場合においてもシステムダウンを引き起こし
てはならないが、現実にはソフトウェアの間題によるシ
ステムダウンが発生することがある。このため、システ
ムの各機能を司るアプリケーションの異常検出方式が非
常に重要となってくる。
【0003】現在、監視制御システムに搭載するアプリ
ケーションで発生するソフトウェア異常の種類及びその
時の異常検出方法は、以下のようなものがある。
ケーションで発生するソフトウェア異常の種類及びその
時の異常検出方法は、以下のようなものがある。
【0004】(1)ソフトウェア異常の種類 OSの中心に位置するカーネルが要因のレベルと、アプ
リケーションのレベルに原因がある場合があるが、以下
に示すような分類とする。
リケーションのレベルに原因がある場合があるが、以下
に示すような分類とする。
【0005】(a)システムコールエラー…システムサ
ービス(C標準関数等)発行時のエラー。
ービス(C標準関数等)発行時のエラー。
【0006】(b)I/Oエラー…デバイス、ファイル
等のアクセス時のエラー。
等のアクセス時のエラー。
【0007】(c)例外…アクセスバイオレーション・
整数オーバフローなど(配列外参照も含む)。
整数オーバフローなど(配列外参照も含む)。
【0008】(d)プロセスハング…I/Oの要求完了
待ちなどの要因でプロセスが処理を継続できない状態。
待ちなどの要因でプロセスが処理を継続できない状態。
【0009】(e)プロセスループ…アルゴリズムやデ
ータ不良によりプロセスが起動要因なしに永久にループ
する状態。
ータ不良によりプロセスが起動要因なしに永久にループ
する状態。
【0010】(f)データ入力エラー…処理を行なうた
めに必要なファイルやデータベースの異常。
めに必要なファイルやデータベースの異常。
【0011】(2)異常検出方法 (a)システムコールエラー…システムコールのエラー
は、リターンコードで判別する。C言語レベルのエラー
もシステムコールエラーと同様である。
は、リターンコードで判別する。C言語レベルのエラー
もシステムコールエラーと同様である。
【0012】(b)I/Oエラー…I/Oエラーはシス
テムコールエラーと同様に、システムコールのリターン
ステータスでエラーを検出する。
テムコールエラーと同様に、システムコールのリターン
ステータスでエラーを検出する。
【0013】(c)例外…OSが検出してプロセス自身
(ハンドラ)に通知される。
(ハンドラ)に通知される。
【0014】(d)データエラー・起動データエラー 起動データエラーと処理における入力・加工データエラ
ーに分けられる。どちらもユーザプロセスのチェックア
ルゴリズムで検出する。また、重要なデータについて
は、チェックサムなどのセキュリティデータを付加し
て、定期的にあるいはアクセス時にチェックする方法が
ある。
ーに分けられる。どちらもユーザプロセスのチェックア
ルゴリズムで検出する。また、重要なデータについて
は、チェックサムなどのセキュリティデータを付加し
て、定期的にあるいはアクセス時にチェックする方法が
ある。
【0015】以上のように、現在は、アプリケーション
自身にて判断できる異常検出方法はそれぞれ確立されて
いるが、プロセスハング及びプロセスループなどアプリ
ケーション自身にて判断できない異常検出方法は確立さ
れていない。
自身にて判断できる異常検出方法はそれぞれ確立されて
いるが、プロセスハング及びプロセスループなどアプリ
ケーション自身にて判断できない異常検出方法は確立さ
れていない。
【0016】
【発明が解決しようとする課題】アプリケーション自身
にて判断できる異常検出においては、異常処理(異常情
報の保存等)を実行し異常復帰を行い、システムダウン
に至らないよう回避することができる。
にて判断できる異常検出においては、異常処理(異常情
報の保存等)を実行し異常復帰を行い、システムダウン
に至らないよう回避することができる。
【0017】しかし、アプリケーションで判断できない
プロセスループ及びプロセスハングについては異常復帰
ができない。
プロセスループ及びプロセスハングについては異常復帰
ができない。
【0018】また、プロセスループではループする場所
(I/Oを含んだ大きなループになる場合やCPUバウ
ンドで数ステップを繰り返し実行し続ける場合)によ
り、資源を占有している場合や優先順位が高い場合は他
のプロセスの処埋に大きな影響を及ぼし、最終的にはシ
ステムダウンを招く恐れもある。
(I/Oを含んだ大きなループになる場合やCPUバウ
ンドで数ステップを繰り返し実行し続ける場合)によ
り、資源を占有している場合や優先順位が高い場合は他
のプロセスの処埋に大きな影響を及ぼし、最終的にはシ
ステムダウンを招く恐れもある。
【0019】本発明の目的は、アプリケーションを外部
から監視しながらアプリケーションのプロセスループや
プロセスハングの異常検出ができる異常監視方式を提供
することにある。
から監視しながらアプリケーションのプロセスループや
プロセスハングの異常検出ができる異常監視方式を提供
することにある。
【0020】
【課題を解決するための手段】本発明は、アプリケーシ
ョンのプロセスループやハング等の異常を外部から疎結
合で監視し、さらに異常検出後のアプリケーションの再
起動メカニズムにより一過性の異常に対する自動復帰を
可能とするため、監視メカニズムをデータベース等に設
けた各種フラグとカウンタを利用して実現するもので、
以下の方式を特徴とする。
ョンのプロセスループやハング等の異常を外部から疎結
合で監視し、さらに異常検出後のアプリケーションの再
起動メカニズムにより一過性の異常に対する自動復帰を
可能とするため、監視メカニズムをデータベース等に設
けた各種フラグとカウンタを利用して実現するもので、
以下の方式を特徴とする。
【0021】コンピュータシステムに搭載する各アプリ
ケーションの異常を監視するにおいて、監視対象アプリ
ケーション毎に、その起動中・処理中・監視中をそれぞ
れ表す起動中フラグと処理中フラグとチェックインフラ
グと、監視対象アプリケーションの異常を判断するチェ
ックイン監視周期と、監視処理回数を積算するチェック
イン処理カウンタとを監視情報として持つ監視情報記憶
手段と、前記起動中フラグを起動時にセットし、前記処
理中フラグを処理開始時にセットして処理終了時にリセ
ットし、前記チェックインフラグを処理開始時にセット
する監視対象アプリケーションと、前記監視対象アプリ
ケーション毎に、前記監視情報記憶手段のチェックイン
監視周期で前記チェックインフラグを参照し、該チェッ
クインフラグがセットされているときに当該監視対象ア
プリケーションが処理中として該チェックインフラグを
リセットしかつ前記チェックイン処理カウンタをクリア
し、前記処理中フラグがセットされかつ前記チェックイ
ンフラグがリセットされた状態で前記チェックイン処理
カウンタをカウントアップし、該カウンタの値が前記チ
ェックイン監視周期を越えたときに当該監視対象アプリ
ケーションを異常と判定する監視アプリケーションとを
備えたことを特徴とする。
ケーションの異常を監視するにおいて、監視対象アプリ
ケーション毎に、その起動中・処理中・監視中をそれぞ
れ表す起動中フラグと処理中フラグとチェックインフラ
グと、監視対象アプリケーションの異常を判断するチェ
ックイン監視周期と、監視処理回数を積算するチェック
イン処理カウンタとを監視情報として持つ監視情報記憶
手段と、前記起動中フラグを起動時にセットし、前記処
理中フラグを処理開始時にセットして処理終了時にリセ
ットし、前記チェックインフラグを処理開始時にセット
する監視対象アプリケーションと、前記監視対象アプリ
ケーション毎に、前記監視情報記憶手段のチェックイン
監視周期で前記チェックインフラグを参照し、該チェッ
クインフラグがセットされているときに当該監視対象ア
プリケーションが処理中として該チェックインフラグを
リセットしかつ前記チェックイン処理カウンタをクリア
し、前記処理中フラグがセットされかつ前記チェックイ
ンフラグがリセットされた状態で前記チェックイン処理
カウンタをカウントアップし、該カウンタの値が前記チ
ェックイン監視周期を越えたときに当該監視対象アプリ
ケーションを異常と判定する監視アプリケーションとを
備えたことを特徴とする。
【0022】また、前記監視情報記憶手段は、監視対象
アプリケーション毎に、その異常終了を表す異常終了フ
ラグと、監視対象アプリケーションの異常検出時の再起
動回数が設定される再起動回数と、再起動回数を積算す
る再起動リトライカウンタと、前記再起動回数を越えて
異常が発生したことを表す異常フラグとを監視情報とし
て設け、前記監視対象アプリケーションは、そのタスク
が異常終了したときに前記異常終了フラグをセットし、
前記監視アプリケーションは、監視対象アプリケーショ
ンを異常と判定したときに当該監視対象アプリケーショ
ンを強制停止し、当該監視対象アプリケーションの前記
再起動リトライカウンタが前記再起動回数に満たないと
きには該再起動リトライカウンタをカウントアップして
当該監視対象アプリケーションを再起動し、該再起動リ
トライカウンタが再起動回数を越えたときに前記異常フ
ラグをセットして当該監視対象アプリケーションの縮退
運転に遷移することを特徴とする。
アプリケーション毎に、その異常終了を表す異常終了フ
ラグと、監視対象アプリケーションの異常検出時の再起
動回数が設定される再起動回数と、再起動回数を積算す
る再起動リトライカウンタと、前記再起動回数を越えて
異常が発生したことを表す異常フラグとを監視情報とし
て設け、前記監視対象アプリケーションは、そのタスク
が異常終了したときに前記異常終了フラグをセットし、
前記監視アプリケーションは、監視対象アプリケーショ
ンを異常と判定したときに当該監視対象アプリケーショ
ンを強制停止し、当該監視対象アプリケーションの前記
再起動リトライカウンタが前記再起動回数に満たないと
きには該再起動リトライカウンタをカウントアップして
当該監視対象アプリケーションを再起動し、該再起動リ
トライカウンタが再起動回数を越えたときに前記異常フ
ラグをセットして当該監視対象アプリケーションの縮退
運転に遷移することを特徴とする。
【0023】
【発明の実施の形態】図1は、本発明の実施形態を示す
ソフトウェア異常監視システムの構成図であり、監視制
御システムを構成する多数のアプリケーション11〜1N
を監視アプリケーション2が外部から監視することでソ
フトウェアの異常を検出する。
ソフトウェア異常監視システムの構成図であり、監視制
御システムを構成する多数のアプリケーション11〜1N
を監視アプリケーション2が外部から監視することでソ
フトウェアの異常を検出する。
【0024】このソフトウェア異常検出(以下、チェッ
クイン機能と呼ぶ)は、アプリケーションが正常に動作
していることを周期的に外部より監視し、プロセスルー
プ、プロセスハング等の異常を検出した時、当該アプリ
ケーションの強制停止及び再起動又は縮退運転への遷移
を行う。
クイン機能と呼ぶ)は、アプリケーションが正常に動作
していることを周期的に外部より監視し、プロセスルー
プ、プロセスハング等の異常を検出した時、当該アプリ
ケーションの強制停止及び再起動又は縮退運転への遷移
を行う。
【0025】監視アプリケーション2が各監視対象アプ
リケーション11〜1Nを周期的に外部より監視(以下、
チェックイン処理と呼ぶ)するため、監視情報記憶手段
としてのプロセス情報データベース3には、以下のデー
タ(フラグやカウンタ)を各監視対象アプリケーション
毎に用意する。
リケーション11〜1Nを周期的に外部より監視(以下、
チェックイン処理と呼ぶ)するため、監視情報記憶手段
としてのプロセス情報データベース3には、以下のデー
タ(フラグやカウンタ)を各監視対象アプリケーション
毎に用意する。
【0026】・起動中フラグ…監視対象アプリケーショ
ンが起動中であるかを表す。
ンが起動中であるかを表す。
【0027】・処理中フラグ…監視対象アプリケーショ
ンが処理中であるかを表す。
ンが処理中であるかを表す。
【0028】・チェックインフラグ…監視対象アプリケ
ーションの監視中であるかを表す。
ーションの監視中であるかを表す。
【0029】・異常終了フラグ…監視対象アプリケーシ
ョンが異常終了したかを表す。
ョンが異常終了したかを表す。
【0030】・異常フラグ…監視対象アプリケーション
が再起動回数を満了して異常終了したかを表す。
が再起動回数を満了して異常終了したかを表す。
【0031】・チェックイン監視周期…監視対象アプリ
ケーションの異常を判断する監視周期を表す。この周期
はアプリケーションの各タスク毎に設定される。
ケーションの異常を判断する監視周期を表す。この周期
はアプリケーションの各タスク毎に設定される。
【0032】・再起動回数…監視対象アプリケーション
を再起動する回数を表す。
を再起動する回数を表す。
【0033】・チェックイン処理カウンタ…監視対象ア
プリケーションの監視を実施した回数を積算するカウン
タ。
プリケーションの監視を実施した回数を積算するカウン
タ。
【0034】・再起動リトライカウンタ…監視対象アプ
リケーションを再起動した回数を積算するカウンタ。
リケーションを再起動した回数を積算するカウンタ。
【0035】以上の情報のうち、各監視対象アプリケー
ションに対応付けた各フラグはデータ上でビット扱いと
し、チェックイン周期やカウンタは数値データとして扱
われる。
ションに対応付けた各フラグはデータ上でビット扱いと
し、チェックイン周期やカウンタは数値データとして扱
われる。
【0036】図1における各監視対象アプリケーション
11〜1Nは、データベース3の各フラグを以下のタイミ
ングでセットする。
11〜1Nは、データベース3の各フラグを以下のタイミ
ングでセットする。
【0037】・起動中フラグ…当該アプリケーションが
起動時にセット。
起動時にセット。
【0038】・処理中フラグ…当該アプリケーションが
処理開始時にセットし、処理終了時にリセット。
処理開始時にセットし、処理終了時にリセット。
【0039】・チェックインフラグ…当該アプリケーシ
ョンが処理開始時にセット。
ョンが処理開始時にセット。
【0040】・異常終了フラグ…当該アプリケーション
が異常終了時にセット。
が異常終了時にセット。
【0041】一方、監視アプリケーション2は、監視周
期にてデータベース3の各フラグを参照し、図2に示す
異常監視処理フローに従って異常監視と異常検出を行
い、フラグのセット又はリセットを行う。このときの各
フラグのセット、リセットは、下記表1に示す。この表
中、各APLは、各監視対象アプリケーションを意味
し、監視APLは監視アプリケーションを意味する。
期にてデータベース3の各フラグを参照し、図2に示す
異常監視処理フローに従って異常監視と異常検出を行
い、フラグのセット又はリセットを行う。このときの各
フラグのセット、リセットは、下記表1に示す。この表
中、各APLは、各監視対象アプリケーションを意味
し、監視APLは監視アプリケーションを意味する。
【0042】
【表1】
【0043】図2において、監視アプリケーションによ
る異常監視処理は、チェックイン監視周期で処理中フラ
グとチェックインフラグを参照し、それらのいずれかが
セットされているか否かを判定する(S1)。
る異常監視処理は、チェックイン監視周期で処理中フラ
グとチェックインフラグを参照し、それらのいずれかが
セットされているか否かを判定する(S1)。
【0044】この判定で、いずれかがセットされてお
り、それがチェックインフラグであるとき(S2)、当
該アプリケーションは正常に処理中であるとみなしてチ
ェックインフラグのみをリセットし(S3)、チェック
インカウンタをクリアする(S4)。
り、それがチェックインフラグであるとき(S2)、当
該アプリケーションは正常に処理中であるとみなしてチ
ェックインフラグのみをリセットし(S3)、チェック
インカウンタをクリアする(S4)。
【0045】判定処理S2の判定において、チェックイ
ンフラグがセットされていないとき、すなわち処理中フ
ラグのみがセットされているとき、この状態をチェック
イン監視中として現在状態がチェックイン処理カウンタ
の値がチェックイン監視周期以上か未満かをタスク毎に
チェックし(S5)、チェックイン監視周期未満ではチ
ェックイン処理カウンタをカウントアップしておく(S
6)。
ンフラグがセットされていないとき、すなわち処理中フ
ラグのみがセットされているとき、この状態をチェック
イン監視中として現在状態がチェックイン処理カウンタ
の値がチェックイン監視周期以上か未満かをタスク毎に
チェックし(S5)、チェックイン監視周期未満ではチ
ェックイン処理カウンタをカウントアップしておく(S
6)。
【0046】判定処理S5の判定において、処理中フラ
グのみがセット状態でチェックイン監視周期以上になっ
たとき、監視アプリケーション2は当該監視対象アプリ
ケーションが異常であると判断し、監視対象アプリケー
ションの当該タスクの実行を強制停止させる(S7)。
グのみがセット状態でチェックイン監視周期以上になっ
たとき、監視アプリケーション2は当該監視対象アプリ
ケーションが異常であると判断し、監視対象アプリケー
ションの当該タスクの実行を強制停止させる(S7)。
【0047】以上までのチェックイン処理により、監視
対象アプリケーションで判断できないプロセスループや
プロセスハングについてその異常検出ができる。
対象アプリケーションで判断できないプロセスループや
プロセスハングについてその異常検出ができる。
【0048】次に、上記のタスクの強制停止に対して、
当該監視対象アプリケーションは、データベース3の異
常終了フラグをセットする。この異常終了フラグのセッ
トに対して、監視アプリケーション2は、データベース
3の再起動回数と再起動リトライカウンタを参照し、当
該タスクは再クリエイト対象か否かを判定する(S
8)。
当該監視対象アプリケーションは、データベース3の異
常終了フラグをセットする。この異常終了フラグのセッ
トに対して、監視アプリケーション2は、データベース
3の再起動回数と再起動リトライカウンタを参照し、当
該タスクは再クリエイト対象か否かを判定する(S
8)。
【0049】この判定処理S8において、再起動リトラ
イカウンタの値が再起動回数に満たない場合、再起動リ
トライカウンタをカウントアップすると共にチェックイ
ン処理カウンタをリセットし(S9)、当該アプリケー
ションのタスクの再クリエイトを行い(S10)、当該
アプリケーションの再起動を行う。これにより、異常検
出後のアプリケーションの再起動ができ、一過牲の異常
に対する自動復帰が可能となる。
イカウンタの値が再起動回数に満たない場合、再起動リ
トライカウンタをカウントアップすると共にチェックイ
ン処理カウンタをリセットし(S9)、当該アプリケー
ションのタスクの再クリエイトを行い(S10)、当該
アプリケーションの再起動を行う。これにより、異常検
出後のアプリケーションの再起動ができ、一過牲の異常
に対する自動復帰が可能となる。
【0050】また、判定処理S8において、再起動リト
ライカウンタの値が再起動回数を満了した場合、監視ア
プリケーション2は異常フラグをセットし(S11)、
当該アプリケーションを異常扱いのままとして縮退運転
に遷移する。すなわち、当該アプリケーション及び関連
アプリケーションの強制停止を行う。
ライカウンタの値が再起動回数を満了した場合、監視ア
プリケーション2は異常フラグをセットし(S11)、
当該アプリケーションを異常扱いのままとして縮退運転
に遷移する。すなわち、当該アプリケーション及び関連
アプリケーションの強制停止を行う。
【0051】以上のように、監視アプリケーションによ
る監視対象アプリケーションに対する外部からの異常監
視処理により、アプリケーションで判断できないプロセ
スループ及びプロセスハングについて異常検出が可能と
なり、異常の対処(異常情報の保存及び異常アプリケー
ションの強制終了、再起動または縮退運転等)を行うこ
とができる。
る監視対象アプリケーションに対する外部からの異常監
視処理により、アプリケーションで判断できないプロセ
スループ及びプロセスハングについて異常検出が可能と
なり、異常の対処(異常情報の保存及び異常アプリケー
ションの強制終了、再起動または縮退運転等)を行うこ
とができる。
【0052】また、プロセスループによるシステムへの
影響もシステムダウンに至る前に未然に防ぐことが可能
となり、ソフトウェアが原因となるシステムダウンを無
くすことができる。
影響もシステムダウンに至る前に未然に防ぐことが可能
となり、ソフトウェアが原因となるシステムダウンを無
くすことができる。
【0053】このような異常監視処理における監視対象
アプリケーション側の処理は、図3〜図5に示すよう
に、監視対象アプリケーションの実行形態に応じてキュ
ー単位やプロセス単位の異常監視を各フラグのセット、
リセット機能で実現し、システム資源の影響による監視
不能を排除する。
アプリケーション側の処理は、図3〜図5に示すよう
に、監視対象アプリケーションの実行形態に応じてキュ
ー単位やプロセス単位の異常監視を各フラグのセット、
リセット機能で実現し、システム資源の影響による監視
不能を排除する。
【0054】図3は、監視対象アプリケーションが永久
起動プロセスの場合の処理を示す。この監視対象アプリ
ケーションにおいては、システム共通域のプロセス初期
化処理として、コンディションハンドラ登録やEXIT
ハンドラ登録、キューターミナルの初期化などを行い
(S21)、さらにプロセス固有部の初期化を行い(S
22)、データベース3の起動中フラグをセットし(S
23)、この後に永久起動に入る。なお、起動中フラグ
のセットでエラーが発生したときはデータベース3の異
常終了フラグのセットにより監視アプリケーション2へ
通知し、自らのプロセス起動を停止する。
起動プロセスの場合の処理を示す。この監視対象アプリ
ケーションにおいては、システム共通域のプロセス初期
化処理として、コンディションハンドラ登録やEXIT
ハンドラ登録、キューターミナルの初期化などを行い
(S21)、さらにプロセス固有部の初期化を行い(S
22)、データベース3の起動中フラグをセットし(S
23)、この後に永久起動に入る。なお、起動中フラグ
のセットでエラーが発生したときはデータベース3の異
常終了フラグのセットにより監視アプリケーション2へ
通知し、自らのプロセス起動を停止する。
【0055】上記のプロセスの永久起動では、データベ
ース3の処理中フラグをクリアし(S24)、キュー情
報を取得し(S25)、データベース3のチェックイン
フラグをセットし(S26)、処理中フラグをセットし
(S27)、プロセスロック中でないとき(S28)に
各個別キューの処理を行う(S29)。
ース3の処理中フラグをクリアし(S24)、キュー情
報を取得し(S25)、データベース3のチェックイン
フラグをセットし(S26)、処理中フラグをセットし
(S27)、プロセスロック中でないとき(S28)に
各個別キューの処理を行う(S29)。
【0056】図4は、監視対象アプリケーションが起動
終了プロセスの場合の処理を示す。処理S21〜S23
の部分は図3の場合と同様となる。起動中フラグのセッ
ト(S23)の後、データベース3のチェックインフラ
グをセットし(S31)、処理中フラグをセットし(S
32)、プロセスロック中でないとき(S33)に各個
別プロセスの処理を行う(S34)。
終了プロセスの場合の処理を示す。処理S21〜S23
の部分は図3の場合と同様となる。起動中フラグのセッ
ト(S23)の後、データベース3のチェックインフラ
グをセットし(S31)、処理中フラグをセットし(S
32)、プロセスロック中でないとき(S33)に各個
別プロセスの処理を行う(S34)。
【0057】プロセス処理を終了した後、データベース
の処理中フラグをクリアし(S35)、起動中フラグを
クリアしてプロセスを終了する(S36)。
の処理中フラグをクリアし(S35)、起動中フラグを
クリアしてプロセスを終了する(S36)。
【0058】図5は、監視対象アプリケーションが特殊
イベント(ウインドウイベント、RPCイベントなど)
で起動するプロセスの場合の処理を示す。同図が図3の
永久起動プロセスの処理と異なる部分は、処理中フラグ
のクリア(S24)後にイベント発生を待ち(S3
0)、イベント発生でチェックインフラグ及び処理中フ
ラグのセット(S26、S27))を行い、発生したイ
ベントに対するプロセスを個別処理する(S34)。
イベント(ウインドウイベント、RPCイベントなど)
で起動するプロセスの場合の処理を示す。同図が図3の
永久起動プロセスの処理と異なる部分は、処理中フラグ
のクリア(S24)後にイベント発生を待ち(S3
0)、イベント発生でチェックインフラグ及び処理中フ
ラグのセット(S26、S27))を行い、発生したイ
ベントに対するプロセスを個別処理する(S34)。
【0059】この特殊イベント処理では、永久起動プロ
セスの場合と同様に、チェックインのイベントの代わり
に模擬イベントを発生させる方法もあるが、ここではチ
ェックインフラグによる監視を行う。
セスの場合と同様に、チェックインのイベントの代わり
に模擬イベントを発生させる方法もあるが、ここではチ
ェックインフラグによる監視を行う。
【0060】
【発明の効果】以上のとおり、本発明によれば、データ
ベース等に設けた各種フラグとカウンタを利用して監視
対象アプリケーションを外部より疎結合で監視し、その
異常検出を行うようにしたため、監視対象アプリケーシ
ョンで判断できないプロセスループやプロセスハングに
ついて異常検出が可能となり、異常情報の保存及び異常
アプリケーションの強制終了、再起動または縮退運転等
を行うことができる。
ベース等に設けた各種フラグとカウンタを利用して監視
対象アプリケーションを外部より疎結合で監視し、その
異常検出を行うようにしたため、監視対象アプリケーシ
ョンで判断できないプロセスループやプロセスハングに
ついて異常検出が可能となり、異常情報の保存及び異常
アプリケーションの強制終了、再起動または縮退運転等
を行うことができる。
【0061】また、プロセスループによるシステムへの
影響もシステムダウンに至る前に未然に防ぐことが可能
となり、ソフトウェアが原因となるシステムダウンを無
くすことができる。
影響もシステムダウンに至る前に未然に防ぐことが可能
となり、ソフトウェアが原因となるシステムダウンを無
くすことができる。
【図1】本発明の実施形態を示す異常監視システムの構
成図。
成図。
【図2】実施形態における異常監視処理フロー。
【図3】実施形態における永久起動プロセスの処理フロ
ー。
ー。
【図4】実施形態における起動終了プロセスの処理フロ
ー。
ー。
【図5】実施形態における特殊イベント処理フロー。
11、1N…監視対象アプリケーション 2…プロセス情報データベース 3…監視アプリケーション
Claims (2)
- 【請求項1】 コンピュータシステムに搭載する各アプ
リケーションの異常を監視するにおいて、 監視対象アプリケーション毎に、その起動中・処理中・
監視中をそれぞれ表す起動中フラグと処理中フラグとチ
ェックインフラグと、監視対象アプリケーションの異常
を判断するチェックイン監視周期と、監視処理回数を積
算するチェックイン処理カウンタとを監視情報として持
つ監視情報記憶手段と、 前記起動中フラグを起動時にセットし、前記処理中フラ
グを処理開始時にセットして処理終了時にリセットし、
前記チェックインフラグを処理開始時にセットする監視
対象アプリケーションと、 前記監視対象アプリケーション毎に、前記監視情報記憶
手段のチェックイン監視周期で前記チェックインフラグ
を参照し、該チェックインフラグがセットされていると
きに当該監視対象アプリケーションが処理中として該チ
ェックインフラグをリセットしかつ前記チェックイン処
理カウンタをクリアし、前記処理中フラグがセットされ
かつ前記チェックインフラグがリセットされた状態で前
記チェックイン処理カウンタをカウントアップし、該カ
ウンタの値が前記チェックイン監視周期を越えたときに
当該監視対象アプリケーションを異常と判定する監視ア
プリケーションとを備えたことを特徴とするソフトウェ
アの異常監視方式。 - 【請求項2】 前記監視情報記憶手段は、監視対象アプ
リケーション毎に、その異常終了を表す異常終了フラグ
と、監視対象アプリケーションの異常検出時の再起動回
数が設定される再起動回数と、再起動回数を積算する再
起動リトライカウンタと、前記再起動回数を越えて異常
が発生したことを表す異常フラグとを監視情報として設
け、 前記監視対象アプリケーションは、そのタスクが異常終
了したときに前記異常終了フラグをセットし、 前記監視アプリケーションは、監視対象アプリケーショ
ンを異常と判定したときに当該監視対象アプリケーショ
ンを強制停止し、当該監視対象アプリケーションの前記
再起動リトライカウンタが前記再起動回数に満たないと
きには該再起動リトライカウンタをカウントアップして
当該監視対象アプリケーションを再起動し、該再起動リ
トライカウンタが再起動回数を越えたときに前記異常フ
ラグをセットして当該監視対象アプリケーションの縮退
運転に遷移することを特徴とする請求項1に記載のソフ
トウェアの異常監視方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9017277A JPH10214208A (ja) | 1997-01-31 | 1997-01-31 | ソフトウェアの異常監視方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9017277A JPH10214208A (ja) | 1997-01-31 | 1997-01-31 | ソフトウェアの異常監視方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10214208A true JPH10214208A (ja) | 1998-08-11 |
Family
ID=11939495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9017277A Pending JPH10214208A (ja) | 1997-01-31 | 1997-01-31 | ソフトウェアの異常監視方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10214208A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000311099A (ja) * | 1999-04-27 | 2000-11-07 | Nec Corp | プロセス監視システムおよびプロセス監視方法 |
JP2000347759A (ja) * | 1999-06-08 | 2000-12-15 | Hitachi Ltd | システム自動再立ち上げ制御方式 |
JP2001051835A (ja) * | 1999-06-18 | 2001-02-23 | Fiinikkusu Technologies Ltd | アプリケーションが機能しないときにアプリケーションを自動的にアンインストールするための方法と装置 |
JP2002108817A (ja) * | 2000-07-15 | 2002-04-12 | Internatl Business Mach Corp <Ibm> | 共用データベースによるアベイラビリティ・モニタリング方法 |
JP2006277115A (ja) * | 2005-03-28 | 2006-10-12 | Fujitsu Ten Ltd | 異常検出プログラムおよび異常検出方法 |
US7286921B2 (en) | 2003-08-28 | 2007-10-23 | Denso Corporation | Vehicle control system for executing a series of processes in electronic control units |
KR100820789B1 (ko) * | 2001-04-06 | 2008-04-10 | 엘지전자 주식회사 | 실시간 기반 시스템 및 그의 모니터링 방법 |
JP2011003962A (ja) * | 2009-06-16 | 2011-01-06 | Mitsubishi Electric Corp | 映像音声復号装置及び映像音声復号方法 |
US8776070B2 (en) | 2010-05-25 | 2014-07-08 | International Business Machines Corporation | Method and apparatus having resistance to forced termination attack on monitoring program for monitoring a predetermined resource |
US9003415B2 (en) | 2010-05-25 | 2015-04-07 | International Business Machines Corporation | Method and apparatus having resistance to forced termination attack on monitoring program for monitoring a predetermined resource |
CN109376071A (zh) * | 2018-09-03 | 2019-02-22 | 平安普惠企业管理有限公司 | 应用软件异常反馈方法、装置、计算机设备及存储介质 |
JP2020155153A (ja) * | 2020-06-24 | 2020-09-24 | コイト電工株式会社 | 処理装置、交通信号装置及び情報表示装置 |
CN112114988A (zh) * | 2019-06-21 | 2020-12-22 | 顺丰科技有限公司 | 客户端启动方法、装置、终端及存储介质 |
WO2022181020A1 (ja) * | 2021-02-26 | 2022-09-01 | パナソニックIpマネジメント株式会社 | 情報処理装置および情報処理方法 |
-
1997
- 1997-01-31 JP JP9017277A patent/JPH10214208A/ja active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000311099A (ja) * | 1999-04-27 | 2000-11-07 | Nec Corp | プロセス監視システムおよびプロセス監視方法 |
JP2000347759A (ja) * | 1999-06-08 | 2000-12-15 | Hitachi Ltd | システム自動再立ち上げ制御方式 |
JP2001051835A (ja) * | 1999-06-18 | 2001-02-23 | Fiinikkusu Technologies Ltd | アプリケーションが機能しないときにアプリケーションを自動的にアンインストールするための方法と装置 |
JP2002108817A (ja) * | 2000-07-15 | 2002-04-12 | Internatl Business Mach Corp <Ibm> | 共用データベースによるアベイラビリティ・モニタリング方法 |
US6968381B2 (en) | 2000-07-15 | 2005-11-22 | International Business Machines Corporation | Method for availability monitoring via a shared database |
KR100820789B1 (ko) * | 2001-04-06 | 2008-04-10 | 엘지전자 주식회사 | 실시간 기반 시스템 및 그의 모니터링 방법 |
DE102004041550B4 (de) * | 2003-08-28 | 2016-02-18 | Denso Corporation | Fahrzeugsteuersystem zum Ausführen einer Reihe von Vorgängen bei elektronischen Steuereinheiten |
US7286921B2 (en) | 2003-08-28 | 2007-10-23 | Denso Corporation | Vehicle control system for executing a series of processes in electronic control units |
JP2006277115A (ja) * | 2005-03-28 | 2006-10-12 | Fujitsu Ten Ltd | 異常検出プログラムおよび異常検出方法 |
JP2011003962A (ja) * | 2009-06-16 | 2011-01-06 | Mitsubishi Electric Corp | 映像音声復号装置及び映像音声復号方法 |
US9003415B2 (en) | 2010-05-25 | 2015-04-07 | International Business Machines Corporation | Method and apparatus having resistance to forced termination attack on monitoring program for monitoring a predetermined resource |
US8776070B2 (en) | 2010-05-25 | 2014-07-08 | International Business Machines Corporation | Method and apparatus having resistance to forced termination attack on monitoring program for monitoring a predetermined resource |
CN109376071A (zh) * | 2018-09-03 | 2019-02-22 | 平安普惠企业管理有限公司 | 应用软件异常反馈方法、装置、计算机设备及存储介质 |
CN112114988A (zh) * | 2019-06-21 | 2020-12-22 | 顺丰科技有限公司 | 客户端启动方法、装置、终端及存储介质 |
JP2020155153A (ja) * | 2020-06-24 | 2020-09-24 | コイト電工株式会社 | 処理装置、交通信号装置及び情報表示装置 |
WO2022181020A1 (ja) * | 2021-02-26 | 2022-09-01 | パナソニックIpマネジメント株式会社 | 情報処理装置および情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6438709B2 (en) | Method for recovering from computer system lockup condition | |
US6012154A (en) | Method and apparatus for detecting and recovering from computer system malfunction | |
US7000100B2 (en) | Application-level software watchdog timer | |
US8601493B2 (en) | Application controlling apparatus and storage medium which stores software for the apparatus | |
US6505298B1 (en) | System using an OS inaccessible interrupt handler to reset the OS when a device driver failed to set a register bit indicating OS hang condition | |
US6425093B1 (en) | Methods and apparatuses for controlling the execution of software on a digital processing system | |
EP1351145A1 (en) | Computer failure recovery and notification system | |
JPH10214208A (ja) | ソフトウェアの異常監視方式 | |
CN106789306B (zh) | 通信设备软件故障检测收集恢复方法和*** | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
US7318171B2 (en) | Policy-based response to system errors occurring during OS runtime | |
CN100587669C (zh) | 用于对计算机的自动技术支持的方法和*** | |
CN111949368A (zh) | 应用程序控制方法及装置 | |
CN112631820A (zh) | 软件***的故障恢复方法及装置 | |
CN105426263A (zh) | 一种实现金库***安全运行的方法及*** | |
US7340594B2 (en) | Bios-level incident response system and method | |
US7664980B2 (en) | Method and system for automatic attempted recovery of equipment from transient faults | |
US7206975B1 (en) | Internal product fault monitoring apparatus and method | |
JP2001056772A (ja) | 障害監視システム | |
CN107133130B (zh) | 计算机运行监测方法和装置 | |
CN114217925A (zh) | 一种实现异常自动重启的业务程序运行监控方法及*** | |
JP2965075B2 (ja) | プログラム実行状態監視方法 | |
JP2001331330A (ja) | プロセス異常検知及び復旧システム | |
KR101300806B1 (ko) | 다중 프로세스 시스템에서 오동작 처리 장치 및 방법 | |
US20200409783A1 (en) | Method for monitoring an iot device and using it as battery protection watchdog for iot devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060228 |