米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 沖電気工業株式会社

発明の名称 プログラム実行監視方法及びプログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−30004(P2003−30004A)
公開日 平成15年1月31日(2003.1.31)
出願番号 特願2001−214013(P2001−214013)
出願日 平成13年7月13日(2001.7.13)
代理人 【識別番号】100079119
【弁理士】
【氏名又は名称】藤村 元彦
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042 GC08 HH30 JJ10 JJ25 KK20 LA20 MC13 MC35 
発明者 新井 英樹
要約 課題
アプリケーションプログラムの異常状態を正確に把握する実行監視方法を提供する。

解決手段
アプリケーションプログラムと、その実行を監視するための実行監視プログラムとが実行されるコンピュータシステムにおける実行監視方法であり、該アプリケーションプログラムは、その提供サービスの開始から終了に至る処理過程の複数の時点にて発信する予定の生存通知の通知順序及び通知間隔データを含む生存通知スケジュールを登録し(S11、S21)、該提供サービスの処理過程に応じて生存通知を該プログラム識別子と共に該実行監視プログラムに通知する(S13,S15…S16、S22)。該実行監視プログラムは、該登録された生存通知スケジュールから、該受信された生存通知の通知順序及び通知間隔が該生存通知スケジュールに従っているか否かを判定する(S24,S25,S26)。
特許請求の範囲
【請求項1】 アプリケーションプログラムと、その実行を監視するための実行監視プログラムとが実行されるコンピュータにおける実行監視方法であって、前記アプリケーションプログラムを実行せしめて、その提供サービスの開始から終了に至る処理過程の複数の時点にて発信する予定の生存通知の通知順序及び通知間隔データを含む生存通知スケジュールを自身のプログラム識別子と共に登録依頼するスケジュール登録依頼行程と、前記実行監視プログラムを実行せしめて、前記登録依頼された生存通知スケジュールを取り込み、これを前記アプリケーションプログラムに対応するプログラム識別子に関連付けて保持する生存通知スケジュール保持行程と、前記アプリケーションプログラムを実行せしめて、前記提供サービスの処理過程に応じて生存通知を前記プログラム識別子と共に前記実行監視プログラムに通知する生存通知行程と、前記実行監視プログラムを実行せしめて、前記保持された生存通知スケジュールから前記通知されたプログラム識別子をキーとして当該アプリケーションプログラムに関連した生存通知スケジュールを検索する生存通知スケジュール検索行程と、前記実行監視プログラムを実行せしめて、前記通知された生存通知の通知順序及び通知間隔が前記検索された生存通知スケジュールに従っているか否かを判定する生存通知判定行程と、を含むことを特徴とする実行監視方法。
【請求項2】 コンピュータにおいて実行され、実行監視プログラムによりその実行が監視されるアプリケーションプログラムであって、提供サービスの開始から終了に至る処理過程の複数の時点にて発信する予定の生存通知の通知順序及び通知間隔データを含む生存通知スケジュールを自身のプログラム識別子と共に前記実行監視プログラムに登録依頼するスケジュール登録依頼手順と、前記提供サービスの処理過程に応じて生存通知を前記プログラム識別子と共に前記実行監視プログラムに通知する生存通知手順と、を実行せしめることを特徴とするアプリケーションプログラム。
【請求項3】 コンピュータにおいて実行され、アプリケーションプログラムの実行を監視するための実行監視プログラムであって、前記アプリケーションプログラムがその提供サービスの開始から終了に至る処理過程の複数の時点にて発信する予定の生存通知の通知順序及び通知間隔データを含む生存通知スケジュールを取り込み、これを前記アプリケーションプログラムに対応するプログラム識別子に関連付けて保持する生存通知スケジュール保持手順と、アプリケーションプログラムが発信する生存通知とプログラム識別子とを受信する生存通知受信手順と、前記保持された生存通知スケジュールから前記受信されたプログラム識別子をキーとして当該アプリケーションプログラムに関連した生存通知スケジュールを検索する生存通知スケジュール検索手順と、前記受信された生存通知の通知順序及び通知間隔が、前記検索された生存通知スケジュールに従っているか否かを判定する生存通知判定手順と、を実行せしめることを特徴とするプログラム実行監視プログラム。
【請求項4】 前記生存通知スケジュールが変更されたか否かを判定する手順を更に含み、前記生存通知スケジュールが変更された場合に、前記生存通知スケジュール検索手順を再度実行せしめることを特徴とする請求項3に記載の実行監視プログラム。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、コンピュータシステムにおいて動作するアプリケーションプログラムを実行監視する方法及びプログラムに関する。
【0002】
【従来の技術】コンピュータシステムの運用における信頼性に対する考え方として、フォルトトレランス(fault tolerance)の考え方がある。この考え方は、コンピュータシステムにはある程度の欠陥や誤りは不可避であるとして、むしろかかる欠陥又は誤りに起因する異常が発生したとしても、その影響を最小限にしつつ当該コンピュータシステムの運用を継続しようとする考え方である。
【0003】従って、コンピュータシステムを構成するハードウェア又はソフトウェアの異常発生時に、かかる異常を如何に早急且つ正確にシステムそのものが対処動作するか、又は操作者が早急且つ正確に把握して異常に即応した運用をなし得るかが重要である。従来、システムに搭載される各プログラムがシステムで定められた特定の周期以内でオペレーティングシステム(OS)に通知(以下、生存通知と称する)をするか、又はOSが各プログラムからの生存通知を監視することにより、OSが定められた周期内にプログラムの生存の確認が得られない場合に当該プログラムに異常が発生していることを検知していた。
【0004】しかし、従来の方法では、システムに異常が発生した場合であってもプログラムから生存通知を受けつづけている限りは、OSはそのシステムを異常とは判断できなかった。例えば、プログラムのバグにより、異常に同一箇所を無限実行することを想定したとき、生存通知を行う箇所が無限実行の範囲に含まれている場合にはOSへの生存通知は無限に行われることからOSは異常を検出できないことになる。
【0005】
【発明が解決しようとする課題】そこで、本発明の目的は、アプリケーションプログラムの異常状態を正確に把握する実行監視方法及びプログラムを提供することである。
【0006】
【課題を解決するための手段】本発明による実行監視方法は、アプリケーションプログラムと、その実行を監視する実行監視プログラムとが動作するコンピュータにおける実行監視方法であり、該アプリケーションプログラムを実行せしめて、その提供サービスの開始から終了に至る処理過程の複数の時点にて発信する予定の生存通知の通知順序及び通知間隔データを含む生存通知スケジュールを自身のプログラム識別子と共に登録依頼するスケジュール登録依頼行程と、該実行監視プログラムを実行せしめて、該登録依頼された生存通知スケジュールを取り込み、これを該アプリケーションプログラムに対応するプログラム識別子に関連付けて保持する生存通知スケジュール保持行程と、該アプリケーションプログラムを実行せしめて、該提供サービスの処理過程に応じて生存通知を該プログラム識別子と共に該実行監視プログラムに通知する生存通知行程と、該実行監視プログラムを実行せしめて、該保持された生存通知スケジュールから該通知されたプログラム識別子をキーとして当該アプリケーションプログラムに関連した生存通知スケジュールを検索する生存通知スケジュール検索行程と、該実行監視プログラムを実行せしめて、該通知された生存通知の通知順序及び通知間隔が該検索された生存通知スケジュールに従っているか否かを判定する生存通知判定行程とを含むことを特徴とする。
【0007】本発明によるアプリケーションプログラムは、コンピュータにおいて実行され、実行監視プログラムによりその実行が監視されるアプリケーションプログラムであり、提供サービスの開始から終了に至る処理過程の複数の時点にて発信する予定の生存通知の通知順序及び通知間隔データを含む生存通知スケジュールを自身のプログラム識別子と共に該実行監視プログラムに登録依頼するスケジュール登録依頼手順と、前記提供サービスの処理過程に応じて生存通知を前記プログラム識別子と共に前記実行監視プログラムに通知する生存通知手順とを実行せしめることを特徴とする。
【0008】本発明による実行監視プログラムは、コンピュータにおいて実行されるアプリケーションプログラムの実行を監視するための実行監視プログラムであり、該アプリケーションプログラムが、その提供サービスの開始から終了に至る処理過程の複数の時点にて発信する予定の生存通知の通知順序及び通知間隔データを含む生存通知スケジュールを取り込み、これを該アプリケーションプログラムに対応するプログラム識別子に関連付けて保持する生存通知スケジュール保持手順と、アプリケーションプログラムが発信する生存通知とプログラム識別子とを受信する生存通知受信手順と、該保持された生存通知スケジュールから該受信されたプログラム識別子をキーとして当該アプリケーションプログラムに関連した生存通知スケジュールを検索する生存通知スケジュール検索手順と、該受信された生存通知の通知順序及び通知間隔が、該検索された生存通知スケジュールに従っているか否かを判定する生存通知判定手順とを実行せしめることを特徴とする。
【0009】
【発明の実施の形態】本発明の実施例について添付の図面を参照して詳細に説明する。図1は、本発明の第1実施例であり、実行監視プログラムを含むコンピュータシステムのソフトウェア構成を示している。コンピュータシステム1のソフトウェア構成は、図1に示されるように、オペレーティングシステム2(以下OS2と称する)と、実行監視プログラム3と、複数のアプリケーションプログラム7a及び7bを含む。尚、コンピュータシステム1のハードウェア構成は、図示しないが、例えば、ワークステーション、パーソナルコンピュータであり、CPU、メインメモリ、補助記憶装置、ディスプレイ装置、キーボード及びマウスを含み、更には他のコンピュータと通信する通信装置を含んでも良い。
【0010】実行監視プログラム3は、コンピュータシステム1の内部においてOS2の制御の下に起動され定常的に動作状態にあるプロセスとして動作する。実行監視プログラム3は、コンピュータシステム1に含まれるメモリ領域4に管理データベース40を記憶して保持する。アプリケーションプログラム7a及び7bは、コンピュータシステム1の内部においてOS2の制御の下に各々起動され、初期設定の後にサービス待ちの状態で待機する。アプリケーションプログラム7a及び7bは、生存通知に関わる処理以外の点では通常のアプリケーションプログラムであり、任意の業務処理機能を含ませることができる。尚、本第1実施例においては、2つのアプリケーションプログラム7a及び7bを示しているが、実行監視プログラム3は多数のアプリケーションプログラムを実行監視することができる。尚、実行監視プログラム3とアプリケーションプログラム7はそれぞれが別のコンピュータにて動作する分散実行の形態でも良い。
【0011】アプリケーションプログラム7a及び7bの各々は、その起動時の初期設定に際して生存通知スケジュールを実行監視プログラムに送信して登録依頼を行う。生存通知スケジュールは、少なくとも生存通知の通知順序及び通知間隔のデータからなる。又、アプリケーションプログラム7a及び7bは、その実行の途中において生存通知を複数回に亘って実行監視プログラム3に送信する。実行監視プログラム3とアプリケーションプログラム7との通信は、例えば、OS2の一部の機能であるシステムコール、或いはIP通信ソケット等のソフトウェアを付加することにより実現され得る。
【0012】メモリ領域4は、管理データベース40を記憶保持し、実行監視プログラムからの書き込み及び読み込みが可能である。メモリ領域4の内容はコンピュータシステム1の終了及び電源断により消滅してしまうことから、何らかの補助記憶装置によりこの管理データベース40の内容を保持することとしても良い。図2は、実行監視プログラム3により記憶保持される管理データベース40の内部構成を示している。ここで、管理データベース40は、アプリケーションプログラム7を一意に識別し得るプログラム識別子41をキーとしたデータベース構造にて複数のアプリケーションプログラムについて管理する。プログラム識別子41には、当該アプリケーションプログラム7に対応する生存通知スケジュールの記録である生存通知スケジュール記録42と、生存通知の記録である生存通知実績43とが関連付けられる。
【0013】生存通知スケジュール記録42には、アプリケーションプログラム7が順次送信する予定の生存通知が記述される。生存通知自体の内容は、多様なデータを含ませることが可能であるが、本実施例ではA1乃至A6の如き単純に連続する識別符号にてその順序を記述する場合を示している。生存通知スケジュール記録42には、又、生存通知の各々との間で許容される時間間隔が記述される。これにより、この時間間隔を超えて生存通知が到来した場合(即ちタイムアウト時)には、当該アプリケーションプログラム7には何らかの異常が発生したものと認識することができる。生存通知スケジュール記録42には、好ましくは生存通知の各々に対応して当該生存通知が未到来又は遅延していることに起因する異常に対応する異常対処動作を指定する。異常対処動作としては、図2に示されるように、例えば、再試行、他サーバへの通知、或いは外部表示等の動作が挙げられる。これにより極めの細かい異常対処動作が可能となる。
【0014】生存通知実績43には、対応するアプリケーションプログラム7が実際に送信する生存通知が順次記録され、生存通知スケジュール記録42との比較判定に供される。生存通知実績43には、更に、到来した生存通知の時刻タグが付される。この時刻タグの記録と生存通知スケジュール記録42に記述された時間間隔との比較対照により、生存通知が生存通知スケジュールに従って時間間隔にて発信されたか否かの判定が可能となる。
【0015】尚、管理データベース40は、図示した情報が関連付けられて管理されていれば良く、例えば表形式により構成されることに限定されない。また、管理データベース40は通常のファイル形式にて実現されても良く、その他多様な方式のデータベースシステム、例えば、RDBMS(Relational Data Base ManagementSystem)又はOODBMS(Object Oriented Data Base Management System)により実現されても良い。
【0016】図3は、図1の構成におけるアプリケーションプログラム7の処理手順と、これに呼応して動作する実行監視プログラム3の処理手順を示している。図3の右側のフローを参照して、先ずアプリケーションプログラム7の処理手順について説明する。アプリケーションプログラム7は、OS2により起動されると先ず生存通知スケジュールの登録依頼を実行監視プログラム3に対して行う(ステップS11)。次いで、サービス要求が有るか否かを判定する継続的な待ち状態に入る(ステップS12)。かかるサービス要求は、当該アプリケーションプログラム7の固有の処理の内容に応じてOS2からのサービス要求、或いは他のプログラムからのサービス要求など多様な形態により発生させることができる。
【0017】次に、アプリケーションプログラム7は、生存通知A1を実行監視プログラム3に向けて送信し(ステップS13)、そして処理1を実行する(ステップS14)。次いで、生存通知A2を実行監視プログラム3に向けて送信し(ステップS15)、そして処理2を実行する。かかる同様の処理の繰り返しの後に、生存通知A6を実行監視プログラム3に向けて送信し(ステップS16)、そして処理6を実行する(ステップS17)。これにより一連のサービス提供を完遂する。この時、終了指示を問い合わせてサービス提供を継続するか否かを問い合わせても良い(ステップS18)。
【0018】以上のようにして、アプリケーションプログラム7は、そのサービス提供処理の過程において、処理の重要な節目において生存通知をA1乃至A6の6回に亘って通知する。尚、生存通知の回数及びそのタイミングは、当該プログラムのサービスの性質、無限ループの回避、異常時における再開処理の節目等の多様な考慮点を基にして決定される。
【0019】一方、図3の左側のフローを参照して、実行監視プログラム3の処理手順について説明する。実行監視プログラム3は、前述のようにアプリケーションプログラム7が登録依頼した生存通知スケジュールを受信する。次いで、この生存通知スケジュールを当該アプリケーションプログラム7のプログラム識別子に関連付けて管理データベース40に記憶保持する(ステップS21)。
【0020】次に、実行監視プログラム3は、アプリケーションプログラム7からの生存通知データを継続的に待つ待機状態となり、そして生存通知が到来すればこれを随時受信する(ステップS22)。生存通知を受信した実行監視プログラム3は、この生存通知及びプログラム識別子から送信元のアプリケーションプログラム7を識別し、これがアプリケーションプログラム7が起動後に最初に発信した生存通知であるか否かを判定する(ステップS23)。尚、この場合の最初の生存通知であるか否かは、生存通知がA1乃至A6に何れであるかとは無関係である。次いで、もし最初の生存通知データである場合には、アプリケーションプログラム7に関連付けられて記憶保持されていた生存通知スケジュールをそのプログラム識別子をキーとして管理データベース40から検索する(ステップS24)。もし、最初の生存通知データでない場合、即ち、既に生存通知スケジュールが検索されている場合には生存通知スケジュールの検索をスキップする。
【0021】次に、実行監視プログラム3は、今回受信した生存通知が、スケジュールに従った生存通知の送信であるか、即ち予定の生存通知の通知順序に合致しているかを先に検索された生存通知スケジュールに照らし合わせて判定する(ステップS25)。もし、生存通知スケジュールに従った正しい生存通知データの送信である場合には、次いで、該生存通知が正しい通知間隔内に到来したものであるか否かを同様に判定する(ステップS26)。
【0022】ステップS25及びS26において、何ら異常が存在しないならば、実行監視プログラム3は、実行監視の処理を継続するためにステップS22の生存通知の受信待ち状態に戻りこれを繰り返す。一方、ステップS25及びS26において、異常があると判定された場合には、アプリケーションプログラム7に対応した異常対応処理(図2参照)を実行する(ステップS27)。かかる異常対応処理の内容は、アプリケーションプログラムの多様なサービス内容の応じて多様な処理が想定される。単純には、コンピュータシステム1を運用するオペレータにその旨を表示するだけの対処も考えられる。次いで、生存通知スケジュールのリセットを行う(ステップS28)。このリセットの内容も異常対応処理の内容に依存するが、単純に当該サービスを中止する或いは生存通知A6の如き最終の生存通知があったものとして既にある生存通知の記録をクリアすることも考えられる。その後は、実行監視プログラム3は、正常時と同様にしてステップ22の生存通知データの待ち状態に復帰する。
【0023】本第1実施例によれば、プログラム毎のサービス実行順序と処理時間を考慮した処理のスケジュールを生存通知スケジュール情報として管理し、各プログラムがサービス実行中に生存通知を行うことにより、その通知順序と通知間隔どおりに処理が実行されているか否かを判断でき、無限に同一箇所を異常実行している場合にもその異常を検出できる。
【0024】図4は、本発明の第2実施例におけるシステムの構成を示している。ここで、コンピュータシステム1には実行監視プログラム3が備えられ、OS2の制御の下に動作する。同様に、コンピュータシステム1のOS2の制御の下にアプリケーションプログラム7a及び7bが動作する。コンピュータシステム1には、更に外部記憶装置5が接続され、管理データベース40を記憶保持する。外部記憶装置5には、スケジュール更新プログラム8が接続され、管理データ5の更新を可能とする。スケジュール更新プログラム8としては、例えば、操作者によるスケジュール変更操作を可能とする操作画面を提供するプログラムが考えられる。外部記憶装置5は、ハードディスク装置のほか、MO(Magnet Optical Disk:光磁気ディスク)装置、PD(Phase Change Optical Disk:相変化光ディスク)装置、FD(Floppy Disk:フロッピー(登録商標)ディスク)装置等、長期間記憶が保持される記憶装置であれば良い。
【0025】図5は、第2の実施例における管理データベース5の内部の構成を示している。ここで、プログラム識別子41は、生存通知スケジュール記録42と生存通知実績43とが第1実施例の場合と同様に関連付けられているが、更には生存通知スケジュール記録42に更新情報44が関連付けられる。更新情報44の内容としては、更新日付、更新元のスケジュール更新プログラム8の識別、実行監視プログラム3の読み込みの有無等の情報が考えられる。
【0026】図6は、第2実施例における実行監視プログラム3の処理手順を示している。その基本的な処理手順は、図3における実行監視プログラム3の処理手順と基本的には同様であるので本第2実施例において異なる部分について説明する。ステップS22において生存通知を受信した実行監視プログラム3は、次ぎに、当該生存通知がそのアプリケーションプログラム7にとって起動後最初の生存通知であるか否かを判定する(ステップS23)。そこで、もし最初の生存通知でない場合に当該生存通知がスケジュール上で先頭の生存通知であるか否か、即ちA1であるかを否かを判定する(ステップS23−1)。
【0027】もし、先頭の生存通知(A1)である場合には、次いで先に検索済みの生存通知スケジュールが更新されているか否かを判定する(ステップS23−2)。生存通知が先頭でない場合にはステップS25にジャンプする。ステップS23−2において生存通知スケジュールが更新されていると判定された場合には、外部記憶装置5から生存通知スケジュールをプログラム識別子をキーとして再度検索し直す(ステップS24)。生存通知スケジュールが更新されていない場合にはステップS25にジャンプする。生存通知スケジュールが更新されているか否かの判定は、更新情報44の内容を検査して判定する。以降の処理手順は図3における処理手順と同様である。
【0028】以上の第2実施例によれば、生存通知スケジュールをアプリケーションプログラム7以外から設定可能となる。これにより、時間帯や時期により動作の変わるアプリケーションプログラム7に対しても、それ自身が先に実行監視プログラム3に登録した生存通知スケジュールを変更することなく、生存通知情報スケジュールの更新が可能となる。
【0029】尚、各実施例において、コンピュータシステムに搭載されるアプリケーションプログラムの種類や数は制限されない。又、アプリケーションプログラムの搭載されるコンピュータは、実行監視プログラムが動作するコンピュータに限定されない。各実施例において説明したアプリケーションプログラムは、起動後待ち状態となって複数回に亘ってサービスを提供する種類のプログラムであるが、本発明による実行監視方法は、起動後単一のサービスを提供した後に直ちに終了するアプリケーションプログラムにも適用可能である。
【0030】
【発明の効果】以上のように、本発明による実行監視方法及びプログラムによれば、アプリケーションプログラムの異常を正確に把握することが可能となる。これにより、かかる把握に基づいた適正な対処処理を起動すること、或いは操作者をして適正な対処操作に誘導することが可能となる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013