(57)【要約】【課題】データベースに蓄積したログ情報を利用して処理装置を効率的に運用し得る処理実行制御システムを提供する。【解決手段】ネットワーク１２には、ホストコンピュータ１１、データベースサーバ１３及び複数のクライアント端末１４ａ、１４ｂ、…が接続される。ホストコンピュータ１１は、各処理のログ情報を収集し、ログテーブルを作成してデータベースサーバ１３に設けたログデータベース１３１に蓄積する。ホストコンピュータ１１は、処理を実行する際、ログデータベース１３１に蓄積したログ情報を参照して処理終了時刻を予測し、予め設定された希望終了時刻に合わせて処理開始時間を決定する。また、ホストコンピュータ１１は、処理が遅延して許容遅延時間を超過した場合にアラームを出力する。更に、ホストコンピュータ１１は、処理遅延が発生した場合、分散処理を行って処理遅延時間を短縮する。【選択図】      図１
2008059470.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する処理装置と、前記処理装置からデータの処理に伴って出力されるログ情報を蓄積するデータベースとを備えた情報処理システムにおける処理実行制御システムであって、
前記処理装置は、処理を実行する際、前記データベースに蓄積したログ情報を参照してファイル毎の処理時間を予測し、前記予測処理時間及び予め設定された希望処理終了時刻に基づいて処理の実行を開始する処理実行手段と、前記実行を開始した処理が予め設定された許容遅延時間を超過して遅延した場合にアラームを出力する手段とを具備することを特徴とする処理実行制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理に応じて出力されるログ情報をデータベースに蓄積し、処理を実行する際に上記蓄積されたログ情報から処理に要する時間を予測して処理装置の動作を制御する処理実行制御システムに関する。
【背景技術】
【０００２】
従来、情報を処理するコンピュータシステムでは、アプリケーション・プログラムの実行によって出力される各種のログ情報をログファイルとして保存し、上記保存したログ情報を解析することによってコンピュータの保守等に利用している。
【０００３】
上記ログ情報は一般的にはファイルに出力しているが、ログファイルの管理が困難であり、また、蓄積したログ情報を有効に活用することが難しいという問題がある。  
このため近年ではログ情報をデータベースに蓄積し、管理を容易にすると共にログ情報の活用を容易にしたシステムも考えられている（例えば、特許文献１参照。）。
【特許文献１】特開２００２−３６６３９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のようにアプリケーション・プログラムの実行によって出力されるログ情報をデータベースに蓄積することで、ログ情報の管理が容易となり、且つ容易に活用することが可能となる。
【０００５】
しかし、従来では、データベースに蓄積したログ情報は、例えばコンピュータやファイルへの不正アクセスが発生した場合、あるいは操作や処理にエラーが発生した場合等において、データ解析を行って不正アクセスの解明やエラー原因等を特定するために利用しているにすぎない。すなわち、従来ではログ情報を保守的に利用するもので、コンピュータの効率的な運用には利用されていない。
【０００６】
本発明は上記の課題を解決するためになされたもので、データベースに蓄積したログ情報を利用して処理装置を効率的に運用し得る処理実行制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、データを処理する処理装置と、前記処理装置からデータの処理に伴って出力されるログ情報を蓄積するデータベースとを備えた情報処理システムにおける処理実行制御システムであって、
前記処理装置は、処理を実行する際、前記データベースに蓄積したログ情報を参照してファイル毎の処理時間を予測し、前記予測処理時間及び予め設定された希望処理終了時刻に基づいて処理の実行を開始する処理実行手段と、前記実行を開始した処理が予め設定された許容遅延時間を超過して遅延した場合にアラームを出力する手段とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、処理を実行する際、データベースに蓄積したログ情報を参照して処理に要する時間を予測することにより、予め設定された希望終了時刻に合わせて処理を自動的に開始することができる。また、処理が遅延して許容遅延時間を超過した場合にアラームを出力することにより、管理者は遅延時の対応を迅速に行うことができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の一実施形態を説明する。  
図１は、本発明を適用する情報処理システムの概略構成図である。  
図１において、１１はホストコンピュータで、ＬＡＮ等のネットワーク１２に接続される。また、上記ネットワーク１２には、データベースサーバ１３及び複数のクライアント端末１４ａ、１４ｂ、…が接続される。クライアント端末１４ａ、１４ｂ、…は、ホストコンピュータ１１によって制御されるもので、分散処理が可能となっている。データベースサーバ１３には、情報処理システムが使用するデータ等が蓄積される。
【００１０】
上記ホストコンピュータ１１は、主記憶装置に格納されたＯＳ（Operating System）の下で走行するアプリケーション・プログラムにより動作するもので、クライアント端末１４ａ、１４ｂ、…を制御すると共に、ネットワーク管理システムによってネットワーク１２を管理する。また、ホストコンピュータ１１は、詳細を後述するように各クライアント端末１４ａ、１４ｂ、…からログ情報を収集し、ログテーブルを作成してデータベースサーバ１３に設けたログデータベース１３１に蓄積する。
【００１１】
クライアント端末１４ａ、１４ｂ、…は、ホストコンピュータ１１と同様にＯＳの下で走行するアプリケーション・プログラムに従って動作する。クライアント端末１４ａ、１４ｂ、…は、図示しないが例えば所定のルールに従って監視対象ログファイル郡からログ情報を入力し、ログデータを正規化した後、ログファイルメモリ（図示せず）に格納する。このとき正規化ログ情報中のログ出力時刻をホストコンピュータ１１の時刻を基準とする補正時刻によって補正する。クライアント端末１４ａ、１４ｂ、…は、ホストコンピュータ１１からログ収集要求があったとき、上記ログファイルから正規化されたログ情報を取り出し、ホストコンピュータ１１へ転送する。
【００１２】
ホストコンピュータ１１は、クライアント端末１４ａ、１４ｂ、…から収集したログ情報に基づいて図２に示すログテーブル２１及び図３に示す管理テーブル３１を作成し、上記ログテーブル２１をログデータベース１３１に蓄積する。
【００１３】
以下、上記ログテーブル２１及び管理テーブル３１について詳細を説明する。  
ログテーブル２１には、図２に示すように日付２２ａ、ファイル名２２ｂ、処理開始時刻２２ｃ、処理終了時刻２２ｄ、処理時間２２ｅ、ファイルサイズ２２ｆ、レコード長２２ｇ、レコード件数２２ｈ、単位処理時間２２ｉ等の項目が設けられる。
【００１４】
上記各項目２２ａ〜２２ｉの内容は、次のように設定される。
【００１５】
日付２２ａ…ログが蓄積された日付。
【００１６】
ファイル名２２ｂ…処理したファイル名。
【００１７】
処理開始時刻２２ｃ…処理を開始した時刻。
【００１８】
処理終了時刻２２ｄ…処理を終了した時刻。
【００１９】
処理時間２２ｅ…１ファイルの処理に要した時間で、「処理終了時刻」−「処理開始時刻」で算出する。  
ファイルサイズ２２ｆ…処理するファイルのサイズで、単位は「Ｋｂｙｔｅ」である。
【００２０】
レコード長２２ｇ…１レコードのレコード長で、単位は「ｂｙｔｅ」である。
【００２１】
レコード件数２２ｈ…処理するファイル内のレコード件数で、「ファイルサイズ」÷「レコード長」で算出する。  
単位処理時間２２ｉ…１件あたりの処理時間で、「処理時間」÷「レコード件数」で算出する。
【００２２】
上記図２に示したログテーブル２１の場合、ファイル「０００１．ｄａｔ」は、「処理終了時刻」が「１０：３３：２０」、「処理開始時刻」が「０９：１０：００」であるので、
「処理時間」＝「１０：３３：２０」−「０９：１０：００」
＝「０１：２３：２０」
すなわち、「１時間２３分２０秒」である。
【００２３】
また、ファイル「０００１．ｄａｔ」は、ファイルサイズ「１００Ｋｂｙｔｅ」、レコード長「１００ｂｙｔｅ」であるので、レコード件数２２ｈは、
「レコード件数」＝「ファイルサイズ」÷「レコード長」
＝「１００×１０３」÷「１００」＝「１０００」
となる。
【００２４】
従って、ファイル「０００１．ｄａｔ」における単位処理時間２２ｉは、
「単位処理時間」＝「処理時間」÷「レコード件数」
＝「０１：２３：２０」÷「１０００」
＝「５０００（秒）」÷「１０００」＝「５（秒）」
となる。
【００２５】
ファイル「０００２．ｄａｔ」では、
「レコード件数」＝「ファイルサイズ」÷「レコード長」
＝「１０×１０３」÷「５０」＝「２００」
「単位処理時間」＝「処理時間」÷「レコード件数」
＝「００：１６：４０」÷「２００」
＝「１０００（秒）」÷「１０００」＝「５（秒）」
となる。
【００２６】
ファイル「０００３．ｄａｔ」では、
「レコード件数」＝「ファイルサイズ」÷「レコード長」
＝「１０×１０３」÷「１００」＝「１００」
「単位処理時間」＝「処理時間」÷「レコード件数」
＝「００：０１：４０」÷「１００」
＝「１００（秒）」÷「１００」＝「１（秒）」
となる。
【００２７】
上記ファイル「０００１．ｄａｔ」、「０００２．ｄａｔ」、…等は、コンピュータ処理の際に必要に応じて繰り返し実行されるファイルデータである。
【００２８】
管理テーブル３１には、図３に示すようにファイル名３２ａ、平均処理時間３２ｂ、許容遅延時間３２ｃ、処理順３２ｄの項目が設けられる。
【００２９】
上記各項目３２ａ〜３２ｄの内容は、次のように設定される。
【００３０】
ファイル名３２ａ…処理したファイル名。
【００３１】
平均処理時間３２ｂ…「単位処理時間（１件あたりの処理時間）」の過去履歴から平均を取った処理時間。同じファイルであっても、処理実行時の状況によって処理時間が異なる場合があるので、過去履歴から平均の処理時間を求めている。
【００３２】
許容遅延時間３２ｃ…アラーム（警告）を表示する際の目安となる時間で、この時間を超えるとアラームを表示する。この許容遅延時間は、管理者によって任意に設定することができる。
【００３３】
処理順３２ｄ…処理の順番を変更できないものに対して順番を付与する。特に順番を気にしなくても良いもの、すなわち処理前後の依存関係がないものには「０」を入れておく。
【００３４】
そして、ホストコンピュータ１１は、処理を実行する際にログテーブル２１を参照し、
「レコード件数」×「１件あたりの処理時間」
によってファイル毎に処理時間を予測し、その時間予測により以下の３つの機能を実装する。
【００３５】
（１）希望終了時刻設定での自動処理開始機能
（２）処理遅延時のアラーム表示機能
（３）処理分配機能
以下、上記の各機能について説明する。  
［（１）希望終了時刻設定での自動処理開始機能］
ホストコンピュータ１１に処理を実行させる際、処理終了の希望時刻を設定する。
【００３６】
ホストコンピュータ１１は、処理を実行する際、ログテーブル２１及び管理テーブル３１を参照し、ログテーブル２１における対応ファイルのレコード件数２２ｈと、管理テーブル３１における対応ファイルの１件あたりの平均処理時間３２ｂから処理するファイルの予測処理時間を求め、その予測処理時間の合計の時間を見越して処理を開始する。
【００３７】
例えば３つの処理Ａ、Ｂ、ＣをＡ→Ｂ→Ｃの順に実行する場合、ホストコンピュータ１１は、まず、処理Ａ、Ｂ、Ｃが使用するファイルの予測処理時間をログテーブル２１及び管理テーブル３１から求める。そして、各処理の予測処理時間が
処理Ａ：０．５時間（３０分）
処理Ｂ：１．０時間
処理Ｃ：２．０時間
であり、また、図４に示すように希望終了時刻Ｔ０が「午前７時（ＡＭ７：００）」であった場合、ホストコンピュータ１１は、予測処理時間の合計時間「（０．５＋１．０＋２．０）時間＝３時間３０分」を求め、その合計時間「３時間３０分」を見越して、すなわち、希望終了時刻である午前７時より３時間３０分前の午前３時３０分（ＡＭ３：３０）（時刻Ｔｓ）に処理を開始する。
【００３８】
上記のように処理Ａ、Ｂ、Ｃの合計予測処理時間を見越して処理開始時間を決定することにより、希望終了時刻に処理Ａ、Ｂ、Ｃを終了することができる。
【００３９】
［（２）処理遅延時のアラーム表示機能］
ホストコンピュータ１１は、ある一連の処理を実行する際、１つの処理を終了する毎にログテーブル２１から処理ファイルの終了予測時刻と実処理終了時刻とを比較し、予め設定された許容遅延時間以上の遅れが生じた場合に表示装置上にアラームを表示する。
【００４０】
以下、ホストコンピュータ１１が例えば３つの処理Ａ、Ｂ、ＣをＡ→Ｂ→Ｃの順に実行するものとし、各処理の許容遅延時間が、
処理Ａ：１時間
処理Ｂ：０．５時間（３０分）
処理Ｃ：０．５時間（３０分）
に設定されている場合の動作を図５及び図６を参照して説明する。
【００４１】
図５は処理遅延時のアラーム表示機能の概要を示したもので、（ａ）は各処理Ａ、Ｂ、Ｃの予測処理時間を示し、（ｂ）は実処理時間を示している。  
図６は、処理遅延時におけるアラーム表示機能の動作を示すフローチャートである。
【００４２】
ホストコンピュータ１１は、時刻Ｔ０において最初の処理Ａを実行し（ステップＡ１）、時刻Ｔ１で処理を終了すると、その処理終了時刻Ｔ１と処理Ａの処理終了予測時刻ＴＡとを比較して遅延時間Ｄ１を求める（ステップＡ２）。この遅延時間Ｄ１と処理Ａの許容遅延時間（１時間）と比較して許容遅延時間内であるかどうかを判断し（ステップＡ３）、許容遅延時間内であれば次の処理Ｂを実行する（ステップＡ４）。
【００４３】
上記ステップＡ３で処理Ａの遅延時間Ｄ１が許容遅延時間を超えていると判断された場合には、アラームを表示装置に表示し（ステップＡ５）、処理Ｂを実行する（ステップＡ４）。
【００４４】
上記処理Ｂを実行し、時刻Ｔ２で処理を終了すると、その処理終了時刻Ｔ２と処理Ｂの処理終了予測時刻ＴＢと比較して遅延時間Ｄ２を求める（ステップＡ６）。この遅延時間Ｄ２と処理Ａ及び処理Ｂの合計の許容遅延時間（１時間３０分）とを比較して許容遅延時間内であるかどうかを判断し（ステップＡ７）、許容遅延時間内であれば次の処理Ｃを実行する（ステップＡ８）。
【００４５】
上記ステップＡ７で処理Ｂを終了したときの遅延時間Ｄ２が許容遅延時間を超えていると判断された場合には、アラームを表示装置に表示し（ステップＡ９）、処理Ｃを実行する（ステップＡ８）。
【００４６】
上記処理Ｃを実行し、時刻Ｔ３で処理を終了すると、その処理終了時刻Ｔ３と処理Ｃの処理終了予測時刻ＴＣと比較して遅延時間Ｄ３を求める（ステップＡ１０）。この遅延時間Ｄ３と処理Ａ、Ｂ、Ｃの合計の許容遅延時間（２時間）とを比較して許容遅延時間内であるかどうかを判断し（ステップＡ１１）、許容遅延時間内であればアラームを表示することなく処理を正常終了する。
【００４７】
上記ステップＡ１１で処理Ｃを終了したときの遅延時間Ｄ３が許容遅延時間を超えていると判断された場合には、アラームを表示装置に表示し（ステップＡ１２）、処理を終了する。
【００４８】
上記のように一連の処理を実行する際、各ファイル処理を終了する毎に終了予測時刻と実処理終了時刻とを比較し、予め設定された許容遅延時間以上の遅れが生じた場合にアラームを表示して管理者に通知することにより、管理者は処理遅延時の対応を迅速に行うことができる。  
なお、上記アラームは、メッセージを表示装置に表示するだけでなく、ブザー等、音声により出力するようにしても良い。
【００４９】
［（３）処理分配機能］
この処理分配機能は、複数のクライアント端末１４ａ、１４ｂ、…で処理を行う場合に、各クライアント端末１４ａ、１４ｂ、…の処理終了時刻を予測し、早く処理が終了したクライアント端末があれば、他のクライアント端末で実行予定の処理を代わりに実行するようにしたものである。
【００５０】
図７は、２つの端末Ａ、Ｂ、例えばクライアント端末１４ａ、１４ｂにより複数の処理を行う場合で、（ａ）に示すようにクライアント端末１４ａで３つの処理ａ１、ａ２、ａ３を予定し、（ｂ）に示すようにクライアント端末１４ｂで２つの処理ｂ１、ｂ２を予定し、クライアント端末１４ａにおける処理ａ１が遅延したことにより、処理ａ３をクライアント端末１４ｂに分配する場合の例を示している。
【００５１】
なお、上記の処理において、処理ａ１、ａ２はａ１→ａ２の順序で処理が指定され、処理ａ３及び処理ｂ１、ｂ２の処理順序は任意となっている。
【００５２】
ホストコンピュータ１１は、クライアント端末１４ａ、１４ｂにて分散処理する場合、図８に示すような処理実行状態管理テーブル４１を参照して処理の実行を管理する。処理実行状態管理テーブル４１には、クライアント端末１４ａに対する実行処理４２ａ、処理順序４２ｂ、状態４２ｃの項目が設けられると共に、クライアント端末１４ｂに対する実行処理４３ａ、処理順序４３ｂ、状態４３ｃの項目が設けられる。
【００５３】
なお、図８（ａ）は図７のＴ１時点、すなわちクライアント端末１４ｂにて処理ｂ２を終了した時点Ｔ１における処理実行状態管理テーブル４１の内容を示し、図８（ｂ）は図７のＴ２時点、すなわち、全ての処理を終了した時点Ｔ２における処理実行状態管理テーブル４１の内容を示している。
【００５４】
クライアント端末１４ａ、１４ｂは、ホストコンピュータ１１の管理に従って動作し、図７（ａ）のＴ０時点において、処理ａ１、ａ２の処理を同時に開始する。このときクライアント端末１４ｂにおける処理ｂ１は正常に終了し、その後、処理ｂ２が実行される。
【００５５】
一方、クライアント端末１４ａは、処理ａ１が遅延し、その処理終了後に処理ａ２が実行される。このため処理ａ２は、クライアント端末１４ｂにおける処理ｂ２が終了した時点Ｔ１においても処理を実行している。
【００５６】
このため上記Ｔ１時点における処理実行状態管理テーブル４１は、図８（ａ）に示す状態となっている。すなわち、クライアント端末１４ａに対する実行処理４２ａの項目には処理ａ１、ａ２、ａ３が登録され、処理順序４２ｂの項目には処理ａ１の処理順序が「１」、処理ａ２の処理順序が「２」、処理ａ３の処理順序が「０」、状態４２ｃの項目には処理ａ１が「完了」、処理ａ２が「実行中」、処理ａ３が「実行待ち」となっている。また、クライアント端末１４ｂに対する実行処理４３ａの項目には処理ｂ１、ｂ２が登録され、処理順序４３ｂの項目には処理ｂ１、ｂ２の処理順序が共に「０」、状態４３ｃの項目には処理ｂ１、ｂ２が共に「完了」となっている。
【００５７】
ホストコンピュータ１１は、クライアント端末１４ｂの処理が完了したＴ１時点において、処理実行状態管理テーブル４１を参照して実行可能な処理を検索する。この場合、クライアント端末１４ａに予定されている処理ａ３が「実行待ち」の状態で且つ「処理順序」が「０」であり、処理前後の依存関係がないので他のクライアント端末への分配が可能である。このためホストコンピュータ１１は、処理ａ３をクライアント端末１４ｂに分配して処理を実行させる。
【００５８】
そして、クライアント端末１４ｂにおける処理ａ３が終了した時点Ｔ２では、クライアント端末１４ａにおける処理ａ２も終了している。従って、このときの処理実行状態管理テーブル４１は、図８（ｂ）に示すように処理ａ３がクライアント端末１４ｂ側に移された状態で、全ての処理ａ１、ａ２、ａ３及び処理ｂ１、ｂ２の「状態」が「完了」となっている。
【００５９】
上記図７に示した処理において、処理ａ３をクライアント端末１４ｂに分配せず、クライアント端末１４ａ側で処理した場合には、処理ａ３が終了するＴ３時点で全ての処理が終了する。従って、上記処理ａ３をクライアント端末１４ｂに分配して処理した場合には、「Ｔ３−Ｔ２＝Ｔａ」時間だけ早く処理を終了させることができる。
【００６０】
上記のように複数の処理を複数の端末で実行する場合に、任意の処理が大幅に遅れたとき、その後、実行が予定されている処理で他の端末での処理が可能なものについては、他の端末に分配して処理することにより、処理遅延時間を短縮することができる。
【００６１】
上記実施形態によれば、ログ情報をログデータベース１３１に出力して蓄積することにより、蓄積されたログファイルの煩雑な整理が不要であると共に過去のログ情報を容易に調査できる。このため例えば処理を実行する際に蓄積したログ情報を参照してファイル毎に処理時間を予測することが可能となり、希望終了時刻設定での自動処理開始機能、処理遅延時のアラーム表示機能、処理遅延時の処理分配機能等を持たせることができ、コンピュータを効率的に運用することができる。
【００６２】
なお、上記実施形態に係る情報処理システムにおいて、希望終了時刻設定による自動処理開始機能及び処理遅延時のアラーム表示機能は、分散処理機能を備えたシステムに限定されるものではなく、単体で動作するコンピュータにおいても実施し得るものである。
【００６３】
また、ログ情報の収集方法は、上記実施形態に示した方法に限定されるものではなく、任意の収集方法を用いることが可能である。
【００６４】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できるものである。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係る情報処理システムの概略構成図である。
【図２】同実施形態において、ログデータベースに蓄積するログテーブルの構成例を示す図である。
【図３】同実施形態におけるログ情報の管理テーブルの構成例を示す図である。
【図４】同実施形態において、希望終了時刻に合わせて自動的に処理を開始する場合の説明図である。
【図５】同実施形態において、処理遅延時にアラーム表示を行う場合の説明図である。
【図６】同実施形態において、処理遅延時にアラーム表示を行う場合の処理動作を示すフローチャートである。
【図７】同実施形態において、処理遅延時に処理を各端末装置に分配する場合の説明図である。
【図８】同実施形態において、処理遅延時に処理を各端末装置に分配する場合に参照する処理実行状態管理テーブルの構成例を示す図である。
【符号の説明】
【００６６】
１１…ホストコンピュータ、１２…ネットワーク、１３…データベースサーバ、１３１…ログデータベース、１４ａ、１４ｂ、…、…クライアント端末、２１…ログテーブル、３１…管理テーブル、４１…処理実行状態管理テーブル
【図１】
2008059470.tif 000003
【図２】
2008059470.tif 000004
【図３】
2008059470.tif 000005
【図４】
2008059470.tif 000006
【図５】
2008059470.tif 000007
【図６】
2008059470.tif 000008
【図７】
2008059470.tif 000009
【図８】
2008059470.tif 000010