(57)【要約】【課題】業務プログラムの稼動状態を低負荷で監視し、異常と判断した場合には、業務プログラムの動作を抑えることを可能とする業務プログラム監視制御システムを提供することを目的とする。【解決手段】顧客コンピュータ１０の処理により稼動するランチャーは、業務プログラムをランチャーの子プロセスとして稼動させ、稼動している業務プログラムの稼動状態を定期的に監視装置２１に送信し、業務プログラムの稼動状態の送信を受けた監視装置２１は、監視装置２１の処理により、業務プログラムの稼動状態を監視装置２１が有する記憶手段２３に格納された監視ルールと比較し、監視ルールに該当する場合にランチャーに対して業務プログラムの動作を抑える動作制御の指示を送信し、動作制御の指示の送信を受けたランチャーは、動作制御を行うことで上記課題を解決する。【選択図】図１
2008276491.tif 000002
【特許請求の範囲】
【請求項１】
監視装置と、当該監視装置と通信可能な顧客コンピュータの処理により稼動するランチャーと、前記監視装置が有する記憶手段に格納された監視ルールと、を備える業務プログラム監視制御システムにおいて、
前記ランチャーは、業務プログラムを当該ランチャーの子プロセスとして稼動させ、当該稼動している業務プログラムの稼動状態を定期的に前記監視装置に送信し、
前記業務プログラムの稼動状態の送信を受けた前記監視装置は、当該監視装置の処理により、当該業務プログラムの稼動状態を前記監視ルールと比較し、当該監視ルールに該当する場合に前記ランチャーに対して業務プログラムの動作を抑える動作制御の指示を送信し、
前記動作制御の指示の送信を受けた前記ランチャーは、前記動作制御を行うことを特徴とする業務プログラム監視制御システム。
【請求項２】
請求項１に記載の業務プログラム監視制御システムにおいて、前記業務プログラムの起動の際は、
前記顧客コンピュータの処理により、当該業務プログラムの親プロセスであるランチャーを起動し、当該ランチャーの起動の報告を前記監視装置に送信し、
前記ランチャーの起動の報告の送信を受けた前記監視装置は、当該監視装置の処理により、前記監視ルール内に存在する監視間隔を前記ランチャーに送信し、
前記監視間隔の送信を受けた前記ランチャーは、前記業務プログラムを起動し、当該送信された監視間隔で業務プログラムの稼動状態を前記監視装置に報告することを特徴とする業務プログラム監視制御システム。
【請求項３】
請求項１に記載の業務プログラム監視制御システムにおいて、前記監視ルールは、業務プログラムごとに設定が可能であることを特徴とする業務プログラム監視制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務プログラム監視制御システムに関し、特に、業務プログラムの稼動状態を低負荷で監視し、異常と判断した場合には、業務プログラムの動作を抑えることを可能とする業務プログラム監視制御システムに関する。
【背景技術】
【０００２】
現状では、ＰＣ、サーバ等の情報機器において、業務プログラムのループを検知した場合、他の業務プログラムの稼働に影響を与えないために、異常が発生した業務プログラムを強制終了する対処を実施している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、業務プログラムの異常兆候を検出し、対象業務を強制終了させる対処では次の課題がある。（ａ）異常兆候の検知が誤検出であった場合に、正常な業務を終了させてしまう。（ｂ）業務を強制終了させる対処が遅れた場合、他の業務プログラムが動けなくなるため、影響が拡大する。（ｃ）異常の業務プログラムを強制終了させてしまうと、お客様コンピュータから業務プログラムを消すことになるため、異常状態が消えてしまい、調査不可能となる。
【０００４】
上記の課題に鑑みて、本発明は、業務プログラムの稼動状態を低負荷で監視し、異常と判断した場合には、業務プログラムの動作を抑えることを可能とする業務プログラム監視制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の業務プログラム監視制御システムは、監視装置と、当該監視装置と通信可能な顧客コンピュータの処理により稼動するランチャーと、前記監視装置が有する記憶手段に格納された監視ルールと、を備える業務プログラム監視制御システムにおいて、前記ランチャーは、業務プログラムを当該ランチャーの子プロセスとして稼動させ、当該稼動している業務プログラムの稼動状態を定期的に前記監視装置に送信し、前記業務プログラムの稼動状態の送信を受けた前記監視装置は、当該監視装置の処理により、当該業務プログラムの稼動状態を前記監視ルールと比較し、当該監視ルールに該当する場合に前記ランチャーに対して業務プログラムの動作を抑える動作制御の指示を送信し、前記動作制御の指示の送信を受けた前記ランチャーは、前記動作制御を行うことを特徴とする。
【０００６】
さらに本発明の業務プログラム監視制御システムは、前記業務プログラムの起動の際は、前記顧客コンピュータの処理により、当該業務プログラムの親プロセスであるランチャーを起動し、当該ランチャーの起動の報告を前記監視装置に送信し、前記ランチャーの起動の報告の送信を受けた前記監視装置は、当該監視装置の処理により、前記監視ルール内に存在する監視間隔を前記ランチャーに送信し、前記監視間隔の送信を受けた前記ランチャーは、前記業務プログラムを起動し、当該送信された監視間隔で業務プログラムの稼動状態を前記監視装置に報告することを特徴とする。さらに本発明の業務プログラム監視制御システムは、前記監視ルールは、業務プログラムごとに設定が可能であることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、業務プログラム監視制御システムにおいて、業務プログラムの稼動状態を低負荷で監視し、異常と判断した場合には、業務プログラムの動作を抑えることを可能とする。
【発明を実施するための最良の形態】
【０００８】
本発明を実施するための最良の形態を説明する。
【０００９】
図１は、本発明の一実施形態を示すシステム構成図である。顧客システム１には、顧客コンピュータ１０と監視装置２１があり、これらは、互いにネットワーク等により通信可能となっている。そして、顧客コンピュータ１０は、顧客コンピュータ用処理部１１を有し、顧客コンピュータ用処理部１１の処理により各業務プログラムをランチャーを介して稼動可能となっている。また、監視装置２１には、監視装置用処理部２２と、ランチャーインタフェース２５と、外部インタフェース２４と、記憶手段２３を有している。なお、監視装置２１に対して顧客コンピュータ１０が複数台存在しても本発明は実現可能である。
【００１０】
監視装置用処理部２２は、異常検知、動作制御、ログ記録／表示、ＤＢメンテナンス等の処理が可能である。記憶手段２３には、監視ルール２３ａ、業務状態２３ｂ、ログ２３ｃ等のデータベースを有している。外部インタフェース２４からは、メール３３の送受信や端末装置３２での表示や操作を可能とする。ランチャーインタフェース２５からは、少なくとも、顧客コンピュータ用処理部１１におけるランチャーに関する通信を可能としている。
【００１１】
顧客コンピュータ処理部１１は、各業務プログラムを、業務プログラムごとにランチャーを介して稼動させることを可能としている。この場合、ランチャーは、業務プログラムの親プロセスとなる。これにより、業務プログラムごとに、業務プログラムの監視及び制御が可能となっている。図１では、一例として業務Ａと業務Ｂについて記載してある。業務プログラムは、業務に使用するプログラムであれば、その種類を特定するものではない。
【００１２】
図２は、本発明の業務プログラムの起動時の一実施形態を示すフローチャートである。業務プログラムは、業務プログラムごとにランチャーを介して起動をする。
【００１３】
業務プログラムの起動は、まず、顧客コンピュータ１０の顧客コンピュータ用処理部１１において、起動する業務プログラムの親プロセスであるランチャーを起動する（Ｓ２０１）。そして、監視装置２１に、当該ランチャーの起動報告をする（Ｓ２０２）。起動報告の内容は、例えは、起動報告の他に、報告日時、リソース名、業務名、プロセスＩＤ等である。
【００１４】
起動報告を受けた監視装置２１の監視装置用処理部２２は、業務状態テーブルに起動された業務プログラム状態を“起動状態”とする（Ｓ２０３）。これにより、監視が開始される。そして、対象業務の監視間隔を監視ルールから取得しランチャーに指示する（Ｓ２０４）。
【００１５】
次に、ランチャーが監視装置から監視間隔を受け取ったら（Ｓ２０５）、ランチャーを介し業務プログラムを起動する（Ｓ２０６）。
【００１６】
図３は、本発明の業務プログラムの起動時における状態管理テーブルの一例であり、図４は、本発明の業務プログラムの起動時における監視ルールテーブルの一例である。状態管理テーブルは記憶手段２３の業務状態２３ｂのデータベースに格納してあり、各業務には、あらかじめ監視ルールの番号（ルールＮｏ．）が設定してある。一方、監視ルールテーブルは記憶手段２３の監視ルール２３ａのデータベースに格納してあり、ルールＮｏ．ごとに監視間隔が規定してある。図３においては、業務ＢのルールＮｏ．は１５である。そして、監視ルールテーブルには、監視間隔があらかじめ設定してある。図４において、ルールＮｏ．１５に対応する監視間隔は１０秒となっている。すなわち、上記Ｓ２０３、Ｓ２０４では、これらのテーブルにより監視間隔を取得する。
【００１７】
図３において、リソース名におけるサーバ１は、例えば図１においては、顧客コンピュータ１０が該当する。また、プロセスＩＤは、プロセスＩＤの番号に対して制御をするためのものである。さらに、リソース利用状況は、あらかじめ定めたしきい値を超えた回数を示す参考データである。
【００１８】
また、図２のＳ２０３において、状態管理テーブルに当該起動しようとしている業務に係るルールＮｏ．の設定がない場合は、ランチャーに監視間隔の指示はしないで、ランチャーを介して業務プログラムを起動し、その後、ランチャーは終了する。すなわち、ランチャーを介さないで業務プログラムのみで稼動し、その後の監視及び制御は行わない。これにより、監視の必要ない業務プログラムをランチャーを介さないで稼動するため、顧客コンピュータ用処理部１１の負荷を軽くすることができる。
【００１９】
図５は、本発明の業務プログラムの監視・制御実行時の一実施形態を示すフローチャートである。図２のランチャーを介し業務プログラムを起動している状態で（Ｓ２０６）、まず、ランチャーは業務プログラムが終了したか否かを判断し（Ｓ４０２）、終了した場合は図８のフローチャートに進む。終了していない場合は、監視ルールに従い、業務プログラムの状態を監視し、Ｓ２０５で指示された監視間隔で監視装置に報告する（Ｓ４０３）。この報告は、例えば、報告日時、状態の報告である旨、リソース名、業務名、ＣＰＵ利用率などである。
【００２０】
ランチャーからの報告を受けた監視装置２１（監視装置用処理部２２）は（Ｓ４０４）、業務プログラム状態を業務テーブルにセットする（Ｓ４０５）。そして、業務プログラムの状態を監視ルールと比較し（Ｓ４０６）、監視ルールに該当しない場合は、正常と判断され、ランチャーにその報告をする。一方、監視ルールに該当し異常検知と判断された場合は、業務状態テーブルの業務プログラム状態を“異常”とする（Ｓ４０７）。さらに、運用管理者に業務プログラム異常をメール３３等により通知し（Ｓ４０８）、監視ルールから異常時の優先制御方法を取り出し、ランチャーに当該業務プログラムの優先制御を指示する（Ｓ４０９）。また、Ｓ４０６において、監視ルールに該当し異常検知済と判断された場合は、監視ルールから異常時の優先制御方法を取り出し、ランチャーに当該業務プログラムの優先制御を指示するのみとする（Ｓ４０９）。
【００２１】
そして、ランチャーにおいて、優先制御の指示があるかを判断し（Ｓ４１０）、優先制御の指示がない場合（Ｓ４０６で正常と判断された場合）は、Ｓ４０２にもどり、指示された監視間隔で上記処理を繰り返す。優先制御の指示がある場合は、監視装置の指示に従い、業務プログラムの優先制御を実行し（Ｓ４１１）、Ｓ４０２にもどり、指示された監視間隔で繰り返す。
【００２２】
図６は、本発明の業務プログラムの監視・制御実行時における監視ルールテーブルの一例である。図６の監視ルールテーブルのルールＮｏ．１５には、条件１と条件２が示されており、条件１は、ＣＰＵの値が８０を超える場合であり、条件２はＴＩＭＥが２０秒を超える場合である。すなわち、ＣＰＵの使用率が８０％を超える状態が２０秒をこえる場合に当該監視ルールに該当し、異常と判断される。図６では、監視間隔が１０秒であるので、ＣＰＵの使用率が８０％を超える報告がランチャーから３回連続でなされた場合、当該ルールに該当することとなる。
【００２３】
また、図６のルールＮｏ．１５の優先制御は「−１」である。これは、顧客コンピュータ１０の顧客コンピュータ用処理部１１の処理の優先順位を一つ下げる制御を行うことを示している。例えば、ＯＳ（オペレーティングシステム）においては、ＣＰＵの優先順位を決定する機能を有しており、この機能により、ランチャーを介して、当該業務プログラムの優先順位を下げることにより、業務プログラムの動作（ＣＰＵ使用率等）を抑える動作制御である優先制御を可能とする。
【００２４】
図７は、本発明の業務プログラムの監視・制御実行時における状態管理テーブルの一例である。業務状態テーブルの業務プログラム状態を“異常”とする（Ｓ４０７）場合の例として、図７には、業務Ｂの状態が、１（動作中）から２（異常）に変更されたことが示されている。
【００２５】
図８は、本発明の業務プログラムの終了時の一実施形態を示すフローチャートである。図５のＳ４０２において、業務プログラムが終了したと判断された場合、ランチャーは、業務プログラムの終了を監視装置２１に報告する（Ｓ５０１）。この報告は、例えば、報告日時、終了の報告である旨、リソース名、業務名、プロセスＩＤなどである。そして、当該報告を受けた監視装置２１は、業務状態テーブルの対象業務の状態を“終了”とし、監視を終了する（Ｓ５０２）。そして、その報告を受けたランチャーは自身を終了する（Ｓ５０３）。
【００２６】
図９は、本発明の業務プログラムの終了時における状態管理テーブルの一例である。図９において、業務Ｂの状態が１（動作中）から、０（停止）に変更したことが示されている。
【００２７】
図３、図７、図９に例示した状態管理テーブルのデータは、業務状態のデータベース２３ｂに格納してあり、これらの内容は、端末装置３２で運用管理者３１等が確認できる。
【００２８】
図１０は、本発明のログ表示画面の一例である。ログは、「起動報告」「起動応答」等についての日時やリソース名、業務名、プロセスＩＤ、監視間隔、ＣＰＵ利用率等の各情報を、ログのデータベース２３ｃに保存されており、これを、監視装置用処理部２２の処理により端末装置３２で確認、編集できる。図１０の例では、指定した表示期間でログの内容が表示されるようになっている。
【００２９】
図１１は、本発明の状態管理テーブルのメンテナンス画面の一例である。状態管理テーブルのメンテナンスは、監視装置用処理部２２の処理により端末装置３２で行うことができる。そして、リソース名、業務名、ルールＮｏ．等を設定することができる。リソース名におけるサーバ１は、例えば図１においては、顧客コンピュータ１０が該当する。また、図１１において、状況（閾値）は、参考データとして業務稼動中に設定した閾値を超えた回数が示されるための設定である。
【００３０】
図１２は、本発明の監視ルールのメンテナンス画面の一例である。監視ルールのメンテナンスは、監視装置用処理部２２の処理により端末装置３２で行うことができる。ルールＮｏ．ごとにＣＰＵの使用率、ＴＩＭＥ，監視間隔、優先制御の設定が可能となっている。
【００３１】
以上のように本発明は、異常が発生した業務プログラムを優先制御の技術により、動作を抑制することで他の業務への影響を最小限に抑えることができる。さらに、業務の起動時にあらかじめ登録してある監視ルールを決定することにより、業務プログラム個別の監視および制御が可能となる。さらに、異常が誤検知だった場合でも動作制御（優先制御）を解除することで、業務プログラムの動作を元の状態に戻すことができる。さらに、業務プログラムを強制終了させない方式により、お客様コンピュータ内に異常の状態が保たれるため、運用管理者は原因追求が可能となる。さらに、業務プログラムの状態監視、異常の検出、および動作を抑制する制御方法の決定を監視装置に装備することで、お客様コンピュータに組み込んだランチャー動作時のリソース消費量を少なくできる。さらに、監視装置で日々の業務プログラムの稼働状態から、ランチャーを介して業務プログラムを起動するか直接起動するかを切替可能にすることにより、全ての業務プログラムをランチャーを介して起動する方式と比べ、お客様コンピュータのリソース消費量を減らすことが可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態を示すシステム構成図である。
【図２】本発明の業務プログラムの起動時の一実施形態を示すフローチャートである。
【図３】本発明の業務プログラムの起動時における状態管理テーブルの一例である。
【図４】本発明の業務プログラムの起動時における監視ルールテーブルの一例である。
【図５】本発明の業務プログラムの監視・制御実行時の一実施形態を示すフローチャートである。
【図６】本発明の業務プログラムの監視・制御実行時における監視ルールテーブルの一例である。
【図７】本発明の業務プログラムの監視・制御実行時における状態管理テーブルの一例である。
【図８】本発明の業務プログラムの終了時の一実施形態を示すフローチャートである。
【図９】本発明の業務プログラムの終了時における状態管理テーブルの一例である。
【図１０】本発明のログ表示画面の一例である。
【図１１】本発明の状態管理テーブルのメンテナンス画面の一例である。
【図１２】本発明の監視ルールのメンテナンス画面の一例である。
【符号の説明】
【００３３】
１      顧客システム
１０    顧客コンピュータ
１１    顧客コンピュータ用処理部
２１    監視装置
２２    監視装置用処理部
２３    記憶手段
２３ａ  監視ルール
２３ｂ  業務状態
２３ｃ  ログ
２４    外部インタフェース
２５    ランチャーインタフェース
３１    運用管理者
３２    端末装置
３３    メール
【図１】
2008276491.tif 000003
【図２】
2008276491.tif 000004
【図３】
2008276491.tif 000005
【図４】
2008276491.tif 000006
【図５】
2008276491.tif 000007
【図６】
2008276491.tif 000008
【図７】
2008276491.tif 000009
【図８】
2008276491.tif 000010
【図９】
2008276491.tif 000011
【図１０】
2008276491.tif 000012
【図１１】
2008276491.tif 000013
【図１２】
2008276491.tif 000014