(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムの構成要素である複数種類のコンポーネントを記憶する第１の記憶手段と、
監視対象である前記複数種類のコンポーネントのそれぞれに対する監視結果である監視情報の出力のための定義情報を前記コンポーネントから独立した情報として記憶する第２の記憶手段と、
前記第２の記憶手段に記憶された定義情報にしたがって、前記第１の記憶手段に記憶されたいずれかのコンポーネントによる処理実行により前記監視情報を生成して出力する監視情報出力手段と、
前記監視情報出力手段により出力した監視情報の統計処理を行ない、前記統計処理により得た第１の統計結果が予め定められた監視条件を満たす場合に、前記コンポーネントの実行時の処理性能を示す情報を出力する監視情報処理手段と、
前記監視情報処理手段が前記統計処理により得た、前記監視条件に対して与える教師データである第２の統計結果が、不適切な稼動状態を示す予め定められた条件を満たす場合に、前記第２の統計結果が前記定められた条件を満たさなくなるように前記監視条件を変更する条件変更手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記条件変更手段は、
前記監視情報処理手段により得た前記第１の統計結果が前記監視条件を満たし、かつ、前記監視情報処理手段により得た前記第２の統計結果が、前記不適切な稼動状態を示す予め定められた条件を満たす場合に、前記監視条件を変更する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の記憶手段に記憶された定義情報は、前記出力手段による前記監視情報の出力タイミングおよび前記監視対象のコンポーネントの種別の情報を含む
ことを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンポーネントで構成されたアプリケーションプログラムを実行する情報処理装置に関する。
【背景技術】
【０００２】
従来、コンポーネントの組合せで構成されるアプリケーションプログラムの機能、性能、信頼性といったサービスレベルを制御するために、例えば特許文献１に開示されるように、コンポーネントとの双方向性通信を行なって、監視対象のコンポーネントからの監視結果の報告を受信することで、コンポーネント毎の状態値や稼動履歴を収集・蓄積するものがある。
【特許文献１】特開２００６−２５２１８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来は、監視対象のコンポーネント自体に、自コンポーネントの監視および監視結果を通信するためのメソッドを組み込んでおく必要がある。よって、コンポーネントごとに監視のためのプログラムを用意する必要があり、コンポーネントの生産性、つまり開発容易性及び移植性を損なっていた。
【０００４】
そこで、本発明の目的は、アプリケーションプログラムのコンポーネントの生産性を損なうことなく当該コンポーネントの監視および監視結果にもとづいた処理を行なうことが可能になる情報処理装置を提供することにある。
【課題を解決するための手段】
【０００５】
すなわち、本発明に係わる情報処理装置は、アプリケーションプログラムの構成要素である複数種類のコンポーネントを記憶する第１の記憶手段と、監視対象である複数種類のコンポーネントのそれぞれに対する監視結果である監視情報の出力のための定義情報を前記コンポーネントから独立した情報として記憶する第２の記憶手段とを備え、第２の記憶手段に記憶された定義情報にしたがって、第１の記憶手段に記憶されたコンポーネントによる処理実行により監視情報を生成して出力し、この監視情報の統計処理を行ない、統計処理により得た第１の統計結果が予め定められた監視条件を満たす場合に、コンポーネントの実行時の処理性能を示す情報を出力し、統計処理により得た、監視条件に対して与える教師データである第２の統計結果が不適切な稼動状態を示す予め定められた条件を満たす場合に第２の統計結果が前記定められた条件を満たさなくなるように監視条件を変更することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、アプリケーションプログラムのコンポーネントの生産性を損なうことなく当該コンポーネントの監視および監視結果にもとづいた処理を行なうことができる。
【発明を実施するための最良の形態】
【０００７】
以下図面により本発明の実施形態について説明する。  
図１は、本発明の実施形態にしたがった情報処理装置の構成例を示すブロック図である。  
図１に示すように、本発明の実施形態にしたがった情報処理装置は、装置全体の制御を司る制御部１、記憶装置２、コンポーネント実行管理部３、監視対象であるコンポーネントに対する監視結果である監視情報の出力手段である監視情報出力部４、監視情報の統計手段である監視情報処理部５、表示制御部６、実行処理部７、入力装置８、出力装置９を備え、それぞれがバス１０を介して相互に接続される。  
入力装置８は例えばキーボードやマウスである。出力装置９はディスプレイ装置やプリンタ装置である。
【０００８】
記憶装置２は、ハードディスクドライブや不揮発性メモリなどの記憶媒体であり、コンポーネント実行管理部３、監視情報出力部４、監視情報処理部５、表示制御部６、実行処理部７による実行対象の制御用プログラムを記憶する。  
また、記憶装置２は、プログラム記憶部２１、監視情報の出力のための定義情報を記憶する定義情報記憶部２２および処理ルール記憶部２３を有する。
【０００９】
プログラム記憶部２１はアプリケーション２４の記憶領域である。アプリケーション２４は、第１コンポーネント２５、第２コンポーネント２６、第３コンポーネント２７といった複数のコンポーネントの集合体として構成されるアプリケーションプログラムである。ただし、各種コンポーネントは、自コンポーネントの監視情報の出力のためのクラスやメソッドは実装しない。
【００１０】
これらのコンポーネントは、例えばプログラム言語がJava（登録商標）の場合、POJO（Plain Old JAVA Object）やJAVA Beansと呼ばれる、通常のクラスとして実現される。  
第１コンポーネント２５の識別名であるコンポーネントＩＤおよびコンポーネント名は「コンポーネント１」であり、第２コンポーネント２６のコンポーネントＩＤは「コンポーネント２」であり、第３コンポーネント２７のコンポーネントＩＤは「コンポーネント３」である。
【００１１】
コンポーネント実行管理部３は、アプリケーション２４に対するリクエストと当該リクエストを処理するコンポーネントの対応関係の管理、コンポーネントのＩＤと実体の対応の管理、コンポーネントのインスタンスの管理、コンポーネントのメソッド実行に対するアスペクトの管理、監視情報出力タイミングの管理、監視情報出力に用いる監視情報出力部４の実体の管理、および監視情報を出力する監視対象の管理を行なう。
【００１２】
図２は、本発明の実施形態にしたがった情報処理装置の定義情報記憶部に記憶される実行管理定義情報の一例を示す図である。  
記憶装置２の定義情報記憶部２２には、図２に示したようなコンポーネント実行管理定義情報が記憶される。このコンポーネント実行管理定義情報には、コンポーネント動作定義、コンポーネント定義、監視情報出力部定義が記述される。
【００１３】
コンポーネント動作定義は、リクエストによって渡された入力データ、コンポーネントＩＤ、メソッド名でなる。コンポーネント定義は各種コンポーネントＩＤおよび当該ＩＤに対応するコンポーネントクラス名でなる。
【００１４】
また、監視情報出力部定義は、監視情報の出力タイミングである実行タイミング、監視情報出力部実装、監視対象のコンポーネントのコンポーネント名でなる。  
図２に示した例では、監視情報出力部定義の第１の定義は、実行タイミングがリクエスト受信時で、監視情報出力部実装が“logger.BeforeRequestLogger”で、監視対象のコンポーネントのコンポーネント名は、「コンポーネント＊」である。「＊」はいわゆるワイルドカードである。
【００１５】
監視情報出力部定義の第２の定義は、実行タイミングがメソッド実行時で、監視情報出力部実装が”logger.BeforeMethodInvoke”で、監視対象のコンポーネントのコンポーネント名は、「コンポーネント＊」である。
【００１６】
また、監視情報出力部定義の第３の定義は、実行タイミングがメソッド終了時で、監視情報出力部実装が“logger.AfterMethodInvoke”で、監視対象のコンポーネントのコンポーネント名は、「コンポーネント＊」である。
【００１７】
監視情報出力部定義の第４の定義は、実行タイミングが例外発生時で、監視情報出力部実装が“logger.ExceptionThrown”で、監視対象のコンポーネントのコンポーネント名は、「＊」である。
【００１８】
また、監視情報出力部実装は、監視情報出力部４により実行するクラス名であり、このクラスを実装したプログラムは、アプリケーション２４とは別に記憶装置２のプログラム記憶部２１に記憶される。
【００１９】
図３は、本発明の実施形態にしたがった情報処理装置の処理ルール記憶部に記憶される監視情報統計値処理ルールの一例を示す図である。  
記憶装置２の処理ルール記憶部２３には、図３に示したような監視情報統計値処理ルールが記憶される。この監視情報統計値処理ルールには、監視情報の一部である監視項目名、監視対象のアプリケーションやコンポーネントやメソッド、監視条件、当該監視条件を満たした場合の振る舞いである処理名が記述される。
【００２０】
図３に示した監視情報統計値処理ルールでは、監視項目である応答時間が７０００msecを超過した場合に、振る舞いとしてメール送信およびダンプ出力を行なう事が記述される。
【００２１】
監視情報出力部４は、記憶装置２の定義情報記憶部２２に記憶されるコンポーネント実行管理定義情報にしたがって監視情報を出力する。  
出力される監視情報の例は、（ａ）時刻、（ｂ）ログのレベル、（ｃ）ユーザから投入されたリクエストを表す文字列、（ｄ）実行するコンポーネントＩＤ、（ｅ）実行するコンポーネントのクラス名、（ｆ）実行するメソッド名、（ｇ）プロセス番号やスレッド番号、（ｈ）監視情報種別、（ｉ）ユーザから投入されたリクエストによって渡された入力データ、（ｊ）実行するメソッドに渡されるデータ（引数）、（ｋ）メソッドの実行の結果得られたデータ（戻り値）、（ｌ）メソッドの実行開始から完了までの時間、（ｍ）発生した例外名、（ｎ）発生した例外に格納されたエラー番号やメッセージ、（ｏ）例外が発生した際のスタックトレース情報である。
【００２２】
監視情報処理部５は、監視情報出力部４から出力された監視情報を統計処理した上で、記憶装置２の処理ルール記憶部２３に記憶された監視情報統計値処理ルールにしたがった処理を行なう。  
表示制御部６は、監視情報出力部４が出力した情報、または監視情報処理部５が統計処理した結果を出力装置９により出力させる。
【００２３】
実行処理部７は、アプリケーション２４を動作させる仮想マシンもしくはＯＳ（オペレーティングシステム）である。仮想マシンとは、ＯＳ非依存の中間コードを解釈してプログラムを実行するプロセスを表す。仮想マシンは、プログラム言語がJava言語の場合はJava仮想マシンとなる。
【００２４】
次に、図１に示した構成の情報処理装置の動作について説明する。  
図４は、本発明の実施形態にしたがった情報処理装置による正常時の処理の一例を示すフローチャートである。  
まず、アプリケーションを操作するユーザによる入力装置８への入力操作によりアプリケーション２４への実行命令にかかる操作がなされると、制御部１は、アプリケーション２４からのリクエストである引数をコンポーネント実行管理部３に実行命令として通知する（ステップＳ１）。
【００２５】
コンポーネント実行管理部３は、リクエストに応じた監視情報を出力する旨の実行命令を監視情報出力部４に通知する（ステップＳ２）。  
監視情報出力部４は、コンポーネント実行管理部３からの通知を受けると、監視情報の統計処理を行なう旨の実行命令を監視情報処理部５に通知する（ステップＳ３）。監視情報出力部４は、記憶装置２の定義情報記憶部２２に記憶されて図２に示したコンポーネント実行管理定義情報の「“実行タイミング”:“リクエスト受信時”」の設定に従い、監視情報出力部実装である“logger.BeforeRequestLogger”を作用させ、監視情報であるログを実行命令とともに出力する。監視情報はログファイル経由で出力されてもよいし、直接のイベント通知で出力されてもよい。
【００２６】
監視情報処理部５は、監視情報出力部４からのログおよび実行命令を受けると、監視情報の統計処理を行なう（ステップＳ４）。  
この統計処理は、図３に示した監視情報統計値処理ルール上の“監視項目”および“監視対象”の設定に従って行われる。本実施例では、アプリケーション“myapp”の全コンポーネントの全メソッドの応答時間を計算することが統計処理として定義される。統計処理の出力結果は、ファイル、データベースまたは記憶装置２の専用領域に保存される。
【００２７】
次に、コンポーネント実行管理部３は、リクエストによって実行されるべきコンポーネントの特定を行う（ステップＳ５）。具体的には、コンポーネント実行管理部３は、コンポーネントの特定、つまり、実行対象のコンポーネントのＩＤと実装クラスの対応関係の解決を、記憶装置２の定義情報記憶部２２に記憶されるコンポーネント実行管理定義情報の設定に従って行なう。
【００２８】
本実施例では、リクエストにより「“コンポーネントID”:“コンポーネント1”」が指定された場合に、図２に示したコンポーネント実行管理定義情報中の「“コンポーネントクラス”:“myapp.Component1”」の設定により、実行されるクラスは「myapp.Comnponent1」となる。
【００２９】
コンポーネント実行管理部３は、実行対象のクラスのインスタンスを生成する（ステップＳ６）。コンポーネント実行管理部３は、リクエストごとに毎回インスタンスを生成してもよいし、一度作成したインスタンスを再利用してもよい。
【００３０】
コンポーネント実行管理部３は、メソッドの実行前に、実行されるクラスやメソッドに応じた監視情報を出力する旨の実行命令を監視情報出力部４に通知する（ステップＳ７）。
【００３１】
監視情報出力部４は、コンポーネント実行管理部３からの通知を受けると、監視情報の統計処理を行なう旨の実行命令を監視情報処理部５に通知する（ステップＳ８）。監視情報出力部４は、図２に示したコンポーネント実行管理定義情報の「“実行タイミング”:“メソッド実行時”」の設定に従い、監視情報出力部実装”logger.BeforeMethodInvoke”を作用させ、ログを実行命令とともに出力する。
【００３２】
監視情報処理部５は、監視情報出力部４からのログおよび実行命令を受けると、監視情報の統計処理を行なう（ステップＳ９）。この統計処理は、ステップＳ４の処理と同様に、図３に示した監視情報統計値処理ルールの設定に従って行われる。
【００３３】
次に、コンポーネント実行管理部３は実行要求対象のメソッドを実行し（ステップＳ１０）、戻り値がある場合には戻り値を受ける（ステップＳ１１）。  
更に、メソッドの実行完了後に、コンポーネント実行管理部３は、メソッド実行完了時の監視情報を出力する旨の実行命令を監視情報出力部４に通知する（ステップＳ１２）。
【００３４】
監視情報出力部４は、コンポーネント実行管理部３からの通知を受けると、監視情報の統計処理を行なう旨の実行命令を監視情報処理部５に通知する（ステップＳ１３）。監視情報出力部４は、図２に示したコンポーネント実行管理定義情報の「“実行タイミング”:“メソッド終了時”」の設定に従い、監視情報出力部実装“logger.AfterMethodInvoke”を作用させ、ログを実行命令とともに出力する。
【００３５】
監視情報処理部５は、監視情報出力部４からのログおよび実行命令を受けると、監視情報の統計処理を行なう（ステップＳ１４）。この統計処理は、ステップＳ４，Ｓ９の処理と同様に、図３に示した監視情報統計値処理ルールの設定に従って行われる。
【００３６】
次に、コンポーネント実行管理部３は、アプリケーション２４の実行結果をアプリケーションユーザに渡すために、実行結果の出力を表示制御部６に指示する。表示制御部６はコンポーネント実行管理部３からの指示を受けると実行結果を出力装置９に出力する（ステップＳ１５）。
【００３７】
ステップＳ４，Ｓ９，Ｓ１４の処理である統計処理の実行タイミングは、監視情報の出力の度に非同期処理として行っても、監視情報の出力のために同期処理として行っても、監視情報の出力の度ではなく、時間指定によるバッチ処理や明示的なコマンド入力によるバッチ処理として行ってもよい。
【００３８】
図５は、本発明の実施形態にしたがった情報処理装置による例外発生時の処理の一例を示すフローチャートである。  
ここでは、前述した正常処理時のステップＳ１からＳ１０までの処理がなされ、このステップＳ１０の処理におけるメソッドの実行の際に例外が発生した場合（ステップＳ２１）、コンポーネントから発生した例外がコンポーネント実行管理部３に通知される。  
コンポーネント実行管理部３は、例外を受けると、例外発生時の監視情報を出力する旨の実行命令を監視情報出力部４に通知する（ステップＳ２２）。
【００３９】
監視情報出力部４は、コンポーネント実行管理部３からの通知を受けると、監視情報の統計処理を行なう旨の実行命令を監視情報処理部５に通知する（ステップＳ２３）。監視情報出力部４は、図２に示したコンポーネント実行管理定義情報の「“実行タイミング”:“例外発生時”」の設定に従い、監視情報出力部実装“logger.ExceptionThrown”を作用させ、ログを実行命令とともに出力する。  
監視情報処理部５は、監視情報出力部４からのログおよび実行命令を受けると、監視情報の統計処理を行なう（ステップＳ２４）。
【００４０】
次に、コンポーネント実行管理部３は、アプリケーション２４の実行結果をアプリケーションユーザに渡すために、実行結果の出力を表示制御部６に指示する。表示制御部６はコンポーネント実行管理部３からの指示を受けると実行結果を出力装置９に出力する（ステップＳ２５）。
【００４１】
図６は、本発明の実施形態にしたがった情報処理装置による監視情報及び監視統計情報の出力処理の一例を示すフローチャートである。  
システム管理者が、入力装置８への入力操作を行なうことで監視情報の表示要求にかかる操作がなされると、制御部１は、監視情報の表示要求を表示制御部６に通知する（ステップＳ３１）。
【００４２】
すると、表示制御部６は、表示要求で指定された部分の監視情報の出力命令を監視情報処理部５に通知する（ステップＳ３２）。  
すると、監視情報処理部５は、指定された監視情報を表示制御部６へ返却する（ステップＳ３３）。
【００４３】
表示制御部６は、監視情報をシステム管理者に通知するために当該監視情報を出力装置９に出力させる（ステップＳ３４）。  
この場合、ステップＳ３２の処理で説明した監視情報取得の実行命令には、監視情報の統計情報の取得命令が含まれていてもよい。つまり、表示制御部６は、監視情報処理部５が出力したログとともに、例えば、全リクエストのうち応答時間の閾値を越えたリクエストがどの程度あったかの情報を合わせて出力することができる。
【００４４】
図７は、本発明の実施形態にしたがった情報処理装置により出力した監視情報の一例を示す図である。  
図７に示した例は、前述したステップＳ３，Ｓ８，Ｓ１３の処理により監視情報出力部４が出力した監視情報である。ここでは、監視情報は、（ａ）時刻、（ｂ）ログのレベル、（ｃ）ユーザから投入されたリクエストを表す文字列、（ｄ）実行するコンポーネントＩＤ、（ｅ）実行するコンポーネントのクラス名、（ｆ）実行するメソッド名、（ｇ）プロセス番号やスレッド番号、（ｈ）監視情報種別、および（ｎ）発生した例外に格納されたエラー番号やメッセージである。
【００４５】
図８は、本発明の実施形態にしたがった情報処理装置によるダンプ処理情報の出力処理の一例を示すフローチャートである。  
まず、前述したステップＳ４の処理と同様に、監視情報処理部５が監視情報の統計処理を行なうと（ステップＳ４１）、監視情報処理部５は、統計処理結果と記憶装置２の処理ルール記憶部２３に記憶された監視情報統計値処理ルールとを比較し、統計処理結果が監視情報統計値処理ルール上の監視項目や監視対象に関わる監視条件を満たした場合には、監視情報統計値処理ルール上の振る舞いのルールを起動させる（ステップＳ４２）。  
図３に示した監視情報統計値処理ルールでは、アプリケーション“myapp”の全コンポーネントの全メソッドが監視対象になっている。
【００４６】
監視情報処理部５は、監視項目である応答時間が監視条件で定められた７,０００msecを超過した場合に、振る舞いとして、これを示すメール情報をシステム管理者に渡すために、振る舞いの実行結果を示すメール情報の出力を表示制御部６に指示する。表示制御部６はコンポーネント実行管理部３からの指示を受けると実行結果であるメール情報を出力装置９に出力する（ステップＳ４３）。
そして、監視情報処理部５は、Java VMに対するダンプ出力を実行処理部７に指示する（ステップＳ４４）。
【００４７】
実行処理部７は、さらなる振る舞いとして、ダンプ出力を生成し、この生成結果の表示を表示制御部６に指示する。表示制御部６は実行処理部７からの指示を受けると生成結果を出力装置９に出力する（ステップＳ４５）。つまり、実行処理部７は、コンポーネントの実行時の処理性能を示す情報を出力する性能情報出力手段として機能する。このダンプ出力情報はJava言語における仮想マシンのダンプ出力例である。
【００４８】
図９は、本発明の実施形態にしたがった情報処理装置により出力したダンプ出力情報の第１の例を示す図である。  
この例はスレッドごとのスタックトレース情報である。ここでは、スレッド番号２６４のスレッドにおいてHashMapオブジェクトのaddEntryメソッドが実行中であったことがわかる。
【００４９】
図１０は、本発明の実施形態にしたがった情報処理装置により出力したダンプ出力情報の第２の例を示す図である。  
この例は使用メモリのクラスごとの統計値である。ここでは、Stringクラスのインスタンスが、全体の３８.５％のメモリを消費している状態であったことがわかる。
【００５０】
図１１は、本発明の実施形態にしたがった情報処理装置により出力したダンプ出力情報の第３の例を示す図である。  
この例は、ＣＰＵ利用率メソッドごとの統計値である。ここでは、myapp.Component1クラスのselectUserメソッドが、全体の５０％のＣＰＵ時間を利用している状態であったことがわかる。
【００５１】
以上のように、本発明の実施形態にしたがった情報処理装置では、アプリケーションを構成するコンポーネントを監視するために、監視情報出力部４がコンポーネント実行管理定義情報にしたがってコンポーネントの監視情報を出力し、監視情報処理部５が監視情報の統計処理を行ない、統計処理の結果が監視情報統計値処理ルール上の監視条件に合致した場合に、当該ルール上で定められた振る舞いがなされる。
【００５２】
よって、コンポーネント自体に、当該コンポーネントに関する監視情報出力や統計処理のための設定情報を記述しなくとも、当該コンポーネントに関する監視情報の出力、統計処理および所定の振る舞いを行なうことができる。
【００５３】
また、コンポーネント実行管理定義情報や監視情報統計値処理ルールをコンポーネントとは別に記述して、図２や図３に示したように「＊」を用いることにより、複数のコンポーネントに関する監視情報出力や監視条件の設定を纏めて記述できる。よって、コンポーネントの種類が多数にわたる場合でも、これらのコンポーネントに関する監視情報出力のための設定にかかる労力が大幅に低減される。
【００５４】
次に、本発明の実施形態の変形例について説明する。  
図１２は、本発明の実施形態にしたがった情報処理装置の処理ルール記憶部に記憶される監視情報統計値処理ルールの変形例を示す図である。  
この変形例では、記憶装置２の処理ルール記憶部２３に記憶される監視情報統計値処理ルールは、図３に示した構成と比較して、監視条件である閾値及び振る舞いに対して教師データを与えることにより、設定を動的に変更する機能が追加される。  
具体的には、図１２に示すように、図３に示した監視項目、監視対象、監視条件に加え、監視条件変更設定がさらに記述される。
【００５５】
この監視条件変更設定は、参照属性、教師データ、当該教師データの閾値、条件、振る舞いおよび優先条件でなる。図１２に示した監視条件変更設定では、“優先条件”である“監視条件”を満たしている状態で、教師データである総ＣＰＵ利用率が８０％以上であった場合に、応答時間の閾値に至る前にシステムとしては高負荷で不安定な状況に陥っているとして、監視条件の閾値の値を１０００減らす事を意味する。
【００５６】
図１３は、本発明の実施形態にしたがった情報処理装置による監視条件変更処理の一例を示すフローチャートである。  
まず、監視情報統計値処理ルール上の“監視項目”である“応答時間”が“監視条件”の閾値である“７０００”を超過しており、前述したステップＳ４５の処理であるダンプ出力の処理がなされた後で、監視情報処理部５は、統計処理結果と記憶装置２の処理ルール記憶部２３に記憶された監視情報統計値処理ルールを読み出し、統計処理結果をもとに、このルール上の“監視条件変更設定”の“教師データ”である“総ＣＰＵ利用率”を検出する。
【００５７】
そして、監視情報処理部５は、この総ＣＰＵ利用率が当該“監視条件変更設定”中の“閾値”および“条件”を満たす、つまり８０％以上である場合に、“監視条件”の各項目のうち“監視条件変更設定”の“参照属性”の“閾値”、つまり“７０００”ついて、“監視条件変更設定”の“振る舞い”である“−１０００”を施して“６０００”に変更する（ステップＳ５１）。つまり、監視情報処理部５は監視情報統計値処理ルール上の監視条件を変更する条件変更手段として機能する。
【００５８】
また、監視情報処理部５は、閾値の変更を示すメール情報をシステム管理者に渡すために、“監視条件変更設定”の振る舞いの実行結果のメール情報の出力を表示制御部６に指示する。表示制御部６はコンポーネント実行管理部３からの指示を受けると実行結果を示すメール情報を出力装置９に出力する。
【００５９】
以後は、監視情報処理部５は、統計処理結果と記憶装置２の処理ルール記憶部２３に記憶された監視情報統計値処理ルールを再度読み出し、当該ルール上の“監視条件変更設定”の“教師データ”である“総ＣＰＵ利用率”が当該“監視条件変更設定”中の“閾値”および“条件”を満たしていなければ、処理を終了する。
【００６０】
一方、監視情報処理部５は、監視情報統計値処理ルール上の“監視条件変更設定”の“教師データ”である“総ＣＰＵ利用率”が当該“監視条件変更設定”中の“閾値”および“条件”をなお満たしていれば、“監視条件”の“閾値”の“６０００”について、“監視条件変更設定”の“振る舞い”である“−１０００”を再度施す。
【００６１】
以後、監視情報処理部５は、監視情報統計値処理ルール上の“監視条件変更設定”の“教師データ”である“総ＣＰＵ利用率”が当該“監視条件変更設定”中の“閾値”および“条件”を満たさなくなるまで、“教師データ”である“総ＣＰＵ利用率”が“監視条件変更設定”中の“閾値”および“条件”を満たしているか否かの判断を繰り返す。  
このような処理を行なうことにより、監視情報統計値処理ルール上の“監視条件”を適正な条件とすることができるようになる。
【００６２】
また、監視情報統計値処理ルール上の“監視条件変更設定”の“優先条件”は、入力装置８への入力操作により“監視条件変更設定”に書き換えられていても良い。  
このような設定となっていると、監視情報処理部５は、“監視条件”の“閾値”および“条件”が満たされているか否かに関わらず、“監視条件変更設定”の“教師データで”である“総ＣＰＵ利用率”を計算し、この総ＣＰＵ利用率が当該“監視条件変更設定”上の“閾値”および“条件”を満たしているか否かを判別する。
【００６３】
これにより、監視情報処理部５は、例えば“監視条件”の“応答時間”が７０００ｍｓｅｃ未満であっても“監視条件変更設定”の“教師データ”である“総ＣＰＵ利用率”が８０％以上である場合に、“監視条件”の“閾値”について、“監視条件変更設定”の“振る舞い”である“−１０００”を施す。
【００６４】
また、監視情報処理部５は、監視情報統計値処理ルール上の“監視条件変更設定”の“教師データ”が“閾値”および“条件”を満たしている場合に監視条件を自動的に変更したが、これに限らず、手動操作による監視条件の変更を促すメッセージの出力を表示制御部６に指示することで、当該メッセージを出力装置９に出力させてもよい。
【００６５】
なお、この発明は前記実施形態そのままに限定されるものではなく実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態にしたがった情報処理装置の構成例を示すブロック図。
【図２】本発明の実施形態にしたがった情報処理装置の定義情報記憶部に記憶される実行管理定義情報の一例を示す図。
【図３】本発明の実施形態にしたがった情報処理装置の処理ルール記憶部に記憶される監視情報統計値処理ルールの一例を示す図。
【図４】本発明の実施形態にしたがった情報処理装置による正常時の処理の一例を示すフローチャート。
【図５】本発明の実施形態にしたがった情報処理装置による例外発生時の処理の一例を示すフローチャート。
【図６】本発明の実施形態にしたがった情報処理装置による監視情報及び監視統計情報の出力処理の一例を示すフローチャート。
【図７】本発明の実施形態にしたがった情報処理装置により出力した監視情報の一例を示す図。
【図８】本発明の実施形態にしたがった情報処理装置によるダンプ処理情報の出力処理の一例を示すフローチャート。
【図９】本発明の実施形態にしたがった情報処理装置により出力したダンプ出力情報の第１の例を示す図。
【図１０】本発明の実施形態にしたがった情報処理装置により出力したダンプ出力情報の第２の例を示す図。
【図１１】本発明の実施形態にしたがった情報処理装置により出力したダンプ出力情報の第３の例を示す図。
【図１２】本発明の実施形態にしたがった情報処理装置の処理ルール記憶部に記憶される監視情報統計値処理ルールの変形例を示す図。
【図１３】本発明の実施形態にしたがった情報処理装置による監視条件変更処理の一例を示すフローチャート。
【符号の説明】
【００６７】
１…制御部、２…記憶装置、３…コンポーネント実行管理部、４…監視情報出力部、５…監視情報処理部、６…表示制御部、７…実行処理部、８…入力装置、９…出力装置、１０…バス、２１…プログラム記憶部、２２…定義情報記憶部、２３…処理ルール記憶部、２４…アプリケーション、２５…第１コンポーネント、２６…第２コンポーネント、２７…第３コンポーネント。
【図１】
0004764405.tif 000002
【図２】
0004764405.tif 000003
【図３】
0004764405.tif 000004
【図４】
0004764405.tif 000005
【図５】
0004764405.tif 000006
【図６】
0004764405.tif 000007
【図７】
0004764405.tif 000008
【図８】
0004764405.tif 000009
【図９】
0004764405.tif 000010
【図１０】
0004764405.tif 000011
【図１１】
0004764405.tif 000012
【図１２】
0004764405.tif 000013
【図１３】
0004764405.tif 000014