(57)【要約】【課題】監視対象の状態が所定の条件を満たす場合に所定の処理をする監視装置において、監視のための情報収集による影響を最小限に抑える。【解決手段】処理実行部１６２は、条件記憶部１２１が記憶した処理条件を満たす場合に、処理記憶部１２２が記憶した処理内容を実行する。計測設定部１３２は、条件記憶部１２１が記憶した処理条件を満たすか否かを処理実行部１６２が判断するために必要となる計測項目を判別し、判別した計測項目について計測をするよう指示する計測設定情報を、収集エージェント８１７に送信する。収集エージェント８１７は、計測設定情報にしたがって、監視対象８１８の状態を計測し、送信する。【選択図】図７
2008021062.tif 000002
【特許請求の範囲】
【請求項１】
情報を記憶する記憶装置と、
情報を処理する処理装置と、
監視対象の状態を計測する計測装置と通信する通信装置と、
上記処理装置を用いて、上記監視対象の状態についての条件を示す情報を入力し、上記記憶装置を用いて、入力した上記情報を処理条件情報として記憶する条件記憶部と、
上記処理装置を用いて、上記条件記憶部が記憶した上記処理条件情報が示す条件を満たす場合に実行すべき処理を示す情報を入力し、上記記憶装置を用いて、入力した上記情報を処理内容情報として記憶する処理記憶部と、
上記処理装置を用いて、上記条件記憶部が記憶した上記処理条件情報を入力し、上記処理装置を用いて、入力した上記処理条件情報が示す条件を判断するために上記計測装置が計測すべき上記監視対象の状態を判別し、上記通信装置を用いて、上記計測装置に対して、判別した上記監視対象の状態を示す情報を計測項目情報として送信する計測設定部と、
上記通信装置を用いて、上記計測設定部が送信した計測項目情報にしたがって上記計測装置が計測した上記監視対象の状態の計測値を示す情報を受信し、上記記憶装置を用いて、受信した上記情報を計測値情報として記憶する計測値取得部と、
上記処理装置を用いて、上記計測値取得部が記憶した上記計測値情報と上記条件記憶部が記憶した上記処理条件情報と上記処理記憶部が記憶した上記処理内容情報とを入力し、上記処理装置を用いて、入力した上記計測値情報に基づいて、入力した上記処理条件情報が示す条件を満たすか否かを判断し、上記処理装置を用いて、上記処理条件情報が示す条件を満たすと判断した場合に、入力した上記処理内容情報が示す処理を実行する処理実行部と、
を有することを特徴とする監視装置。
【請求項２】
上記監視装置は、更に、
上記処理装置を用いて、上記条件記憶部が記憶した上記処理条件情報が示す条件を満たしてから、上記処理記憶部が記憶した上記処理内容情報が示す処理を実行するまでに許容される遅延時間を示す情報を入力し、上記記憶装置を用いて、入力した上記情報を許容遅延情報として記憶する許容遅延記憶部を有し、
上記計測設定部は、更に、
上記処理装置を用いて、上記許容遅延記憶部が記憶した上記許容遅延情報を入力し、上記処理装置を用いて、入力した上記許容遅延情報に基づいて、上記計測装置が上記監視対象の状態を計測すべき間隔を算出し、上記通信装置を用いて、上記計測装置に対して、算出した上記間隔を示す情報を計測間隔情報として送信する
ことを特徴とする請求項１に記載の監視装置。
【請求項３】
上記処理実行部は、更に、
上記処理装置を用いて、上記処理条件情報が示す条件を満たすと判断した場合に、上記許容遅延記憶部が記憶した上記許容遅延情報を変更する処理を実行し、
上記計測設定部は、更に、
上記処理装置を用いて、上記許容遅延記憶部が記憶した上記許容遅延情報を上記処理実行部が変更した場合に、上記計測装置が上記監視対象の状態を計測すべき間隔を算出し直し、上記通信装置を用いて、上記計測装置に対して、算出し直した上記間隔を示す情報を計測間隔情報として送信する
ことを特徴とする請求項２に記載の監視装置。
【請求項４】
上記監視装置は、更に、
上記処理装置を用いて、上記計測装置が上記監視対象の状態を測定した時刻と、上記計測値取得部が上記計測値情報を記憶した時刻との差を算出し、上記処理装置を用いて、算出した上記時刻の差を示す情報を、実測遅延情報として出力する遅延時間算出部を有し、
上記計測設定部は、更に、
上記処理装置を用いて、上記遅延時間算出部が出力した上記実測遅延情報を入力し、上記処理装置を用いて、入力した上記許容遅延情報と、入力した上記実測遅延情報とに基づいて、上記計測装置が上記監視対象の状態を計測すべき間隔を算出する
ことを特徴とする請求項２に記載の監視装置。
【請求項５】
情報を記憶する記憶装置と、情報を処理する処理装置と、監視対象の状態を計測する計測装置と通信する通信装置とを有する監視装置が、上記監視対象の状態を監視する監視方法において、
上記処理装置が、上記監視対象の状態についての条件を示す情報を入力し、上記記憶装置が、入力した上記情報を処理条件情報として記憶する条件記憶工程と、
上記処理装置が、上記条件記憶工程で上記記憶装置が記憶した上記処理条件情報が示す条件を満たす場合に実行すべき処理を示す情報を入力し、上記記憶装置が、入力した上記情報を処理内容情報として記憶する処理記憶工程と、
上記処理装置が、上記条件記憶工程で上記記憶装置が記憶した上記処理条件情報を入力し、上記処理装置が、入力した上記処理条件情報が示す条件を判断するために上記計測装置が計測すべき上記監視対象の状態を判別し、上記通信装置が、上記計測装置に対して、判別した上記監視対象の状態を示す情報を計測項目情報として送信する計測設定工程と、
上記通信装置が、上記計測設定工程で上記通信装置が送信した計測項目情報にしたがって上記計測装置が計測した上記監視対象の状態の計測値を示す情報を受信し、上記記憶装置が、受信した上記情報を計測値情報として記憶する計測値取得工程と、
上記処理装置が、上記計測値取得工程で上記記憶装置が記憶した上記計測値情報と上記条件記憶工程で上記記憶装置が記憶した上記処理条件情報と上記処理記憶工程で上記記憶装置が記憶した上記処理内容情報とを入力し、上記処理装置が、入力した上記計測値情報に基づいて、入力した上記処理条件情報が示す条件を満たすか否かを判断し、上記処理装置が、上記処理条件情報が示す条件を満たすと判断した場合に、入力した上記処理内容情報が示す処理を実行する処理実行工程と、
を有することを特徴とする監視方法。
【請求項６】
情報を記憶する記憶装置と、情報を処理する処理装置と、監視対象の状態を計測する計測装置と通信する通信装置とを有するコンピュータを、請求項１に記載の監視装置として機能させることを特徴とする監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、監視対象の状態をリアルタイムで監視する監視装置に関する。
【背景技術】
【０００２】
業務を実行する業務システムにおいて、管理者・利用者が業務の進捗状況をリアルタイムに把握して必要な対処を行うため、業務を行っているコンピュータから情報を収集し、分析して、所定の状態になったら、管理者・利用者に通知するなどの処理をする監視装置がある。
監視装置は、監視対象のコンピュータやアプリケーションプログラムが出力する実行ログなどを、ネットワークを介して収集し、分析をする。
【特許文献１】特開２００３−１３２０１９号公報
【特許文献２】特開２００５−１６６０３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
監視装置が収集する実行ログなどの情報は膨大であり、情報の収集・送受信のために、業務システムの貴重な資源（ＣＰＵ資源やＬＡＮの通信容量）を消費してしまうと、通常業務に支障をきたす場合があるという課題がある。
また、実行ログの出力レベルを下げるなどして、監視装置が収集する情報を減らすと、状況の分析に必要な情報が集まらず、適切な処理ができないという課題がある。
【０００４】
この発明は、例えば、上記のような課題を解決するためになされたもので、監視装置が、通常業務に与える影響を最小限に抑えつつ、適切な処理をするのに必要な情報を収集することを目的とする。
【課題を解決するための手段】
【０００５】
この発明にかかる監視装置は、
情報を記憶する記憶装置と、
情報を処理する処理装置と、
監視対象の状態を計測する計測装置と通信する通信装置と、
上記処理装置を用いて、上記監視対象の状態についての条件を示す情報を入力し、上記記憶装置を用いて、入力した上記情報を処理条件情報として記憶する条件記憶部と、
上記処理装置を用いて、上記条件記憶部が記憶した上記処理条件情報が示す条件を満たす場合に実行すべき処理を示す情報を入力し、上記記憶装置を用いて、入力した上記情報を処理内容情報として記憶する処理記憶部と、
上記処理装置を用いて、上記条件記憶部が記憶した上記処理条件情報を入力し、上記処理装置を用いて、入力した上記処理条件情報が示す条件を判断するために上記計測装置が計測すべき上記監視対象の状態を判別し、上記通信装置を用いて、上記計測装置に対して、判別した上記監視対象の状態を示す情報を計測項目情報として送信する計測設定部と、
上記通信装置を用いて、上記計測設定部が送信した計測項目情報にしたがって上記計測装置が計測した上記監視対象の状態の計測値を示す情報を受信し、上記記憶装置を用いて、受信した上記情報を計測値情報として記憶する計測値取得部と、
上記処理装置を用いて、上記計測値取得部が記憶した上記計測値情報と上記条件記憶部が記憶した上記処理条件情報と上記処理記憶部が記憶した上記処理内容情報とを入力し、上記処理装置を用いて、入力した上記計測値情報に基づいて、入力した上記処理条件情報が示す条件を満たすか否かを判断し、上記処理装置を用いて、上記処理条件情報が示す条件を満たすと判断した場合に、入力した上記処理内容情報が示す処理を実行する処理実行部と、
を有することを特徴とする。
【発明の効果】
【０００６】
この発明にかかる監視装置によれば、例えば、処理実行部が処理条件を判断するのに必要な計測項目を計測設定部が判別し、判別した計測項目だけを計測装置が計測して送信するので、他の装置に対する影響を最小限に抑えつつ、必要な業務の監視をすることができるという効果を奏する。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
実施の形態１を、図１〜図２３を用いて説明する。
【０００８】
図１は、この実施の形態における業務監視システム８００の全体構成の一例を示すシステム構成図である。
業務監視システム８００は、ＢＡＭサーバ装置１００と業務サーバ装置８２１〜８２３からなる監視対象サーバ群８２０とを有する。
ＢＡＭサーバ装置１００は、監視対象サーバ群８２０を監視し、監視対象サーバ群８２０が実行している業務を分析し、業務に影響を与える状況になった場合に利用者に対して通知するなどの処理を行う。「ＢＡＭ」とは、「業務状況の監視」（Ｂｕｓｉｎｅｓｓ  Ａｃｔｉｖｉｔｙ  Ｍｏｎｉｔｏｒｉｎｇの略）の意味である。
ＢＡＭサーバ装置１００は、監視装置の一例である。
監視対象サーバ群８２０を構成する業務サーバ装置８２１〜８２３は、業務を実行するために必要な業務アプリケーションプログラムを実行するサーバ装置である。業務サーバ装置８２１〜８２３は、更に、実行する業務アプリケーションプログラムを連携されるためのワークフロープログラムやＢＰＭ（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ）プログラムなどを実行してもよい。
ＢＡＭサーバ装置１００と監視対象サーバ群８２０とは、ＬＡＮ９４２により接続され、互いに通信することができる。
【０００９】
図２は、この実施の形態におけるＢＡＭサーバ装置１００及び業務サーバ装置８２１〜８２３の外観の一例を示す図である。
ＢＡＭサーバ装置１００及び業務サーバ装置８２１〜８２３は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
【００１０】
図３は、この実施の形態におけるＢＡＭサーバ装置１００及び業務サーバ装置８２１〜８２３のハードウェア資源の一例を示す図である。
ＢＡＭサーバ装置１００及び業務サーバ装置８２１〜８２３は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１１】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信装置９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１２】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１３】
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００１４】
図４は、この実施の形態におけるＢＡＭサーバ装置１００及び業務サーバ装置８２１の機能ブロックの構成の一例を示すブロック構成図である。
なお、業務サーバ装置８２２，８２３のブロック構成は、業務サーバ装置８２１と同様であるので、ここでは説明を省略する。
【００１５】
業務設定部８１１は、キーボード９０２などの入力装置を用いて、管理者や利用者の操作を入力する。これにより、業務設定部８１１は、ビジネスプロセスモデルの定義などを入力する。
ビジネスプロセスモデルとは、業務サーバ装置８２１〜８２３が業務アプリケーションプログラムなどを実行することにより進められる業務の全体的な流れを定義した情報である。
ビジネスプロセスモデル記憶部８１２は、磁気ディスク装置９２０などの記憶装置を用いて、業務設定部８１１が入力したビジネスプロセスモデルを記憶する。
【００１６】
図５は、この実施の形態における業務設定部８１１が入力するビジネスプロセスモデルの一例を示す図である。
この図は、ＵＭＬ（統一モデリング言語、「Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ」の略）のアクティビティ図を用いて、ビジネスプロセスモデルを視覚的にわかりやすく表現したものであり、業務設定部８１１が管理者や利用者と対話しながらビジネスプロセスモデルを入力する際に、ＣＲＴなどの表示装置９０１に表示するものである。ビジネスプロセスモデル記憶部８１２が記憶するビジネスプロセスモデルはこのような図形である必要はなく、コンピュータが処理しやすい形式に業務設定部８１１が変換した情報を、ビジネスプロセスモデル記憶部８１２が記憶する。
【００１７】
この例では、「業務Ａ」という業務の流れを定義している。「業務Ａ」は、業務サーバ装置８２１〜８２３が業務アプリケーションプログラムなどを実行することにより処理される３つの処理（「処理ａ」「処理ｂ」「処理ｃ」）からなる。「業務Ａ」では、最初に「処理ａ」を行い、「処理ａ」が完了したのち「処理ｂ」を行う。「処理ｂ」が完了したのち、処理の結果が「成功」なら、「処理ｃ」を行う。「処理ｂ」の結果が「失敗」なら、もう一度「処理ｂ」を行い、「成功」するまで繰り返す。「処理ｃ」が完了したら、「業務Ａ」全体が完了する。
【００１８】
図４に戻り、ＢＡＭサーバ装置１００及び業務サーバ装置８２１の機能ブロックの説明を続ける。
【００１９】
収集設定部８１３は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルに基づいて、収集エージェント８１７の設定を求め、通信装置９１５を用いて、業務サーバ装置８２１に対して送信する。
【００２０】
収集エージェント８１７は、業務サーバ装置８２１が実行している業務アプリケーションプログラムやワークフロープログラムやＢＰＭプログラムなどの監視対象８１８から、ビジネスプロセスモデルによって定義された業務の進捗状況などを監視するために必要な情報を収集する。
収集エージェント８１７は、例えば、ＣＰＵ９１１などの処理装置を用いて、監視対象８１８が出力した実行ログを入力する。実行ログとは、プログラムの実行状況を記憶したものである。収集エージェント８１７は、ＣＰＵ９１１などの処理装置を用いて、収集設定部８１３から受信した設定に基づいて、入力した実行ログを解析し、必要な情報を収集する。収集エージェント８１７は、収集した情報に変化があった場合に、通信装置９１５を用いて、ＢＡＭサーバ装置１００に対して、収集した情報（計測値）を送信する。
収集エージェント８１７は、計測装置の一例である。
【００２１】
計測値収集部８１４は、通信装置９１５を用いて、収集エージェント８１７が送信してきた計測値を受信する。計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルに基づいて、ビジネスプロセスインスタンスを構築する。
ビジネスプロセスインスタンスとは、ビジネスプロセスモデルに沿って実行された実際の業務の結果などを記録した情報である。ビジネスプロセスインスタンスには、収集エージェント８１７が収集した計測値などの情報が含まれる。
ビジネスプロセスインスタンス記憶部８１５は、磁気ディスク装置９２０などの記憶装置を用いて、計測値収集部８１４が構築したビジネスプロセスインスタンスを記憶する。
【００２２】
図６は、この実施の形態における計測値収集部８１４が構築するビジネスプロセスインスタンスの一例を示す図である。
なお、この図も、図５と同様、ビジネスプロセスインスタンスを視覚的にわかりやすく表現したものであり、計測値収集部８１４が構築し、ビジネスプロセスインスタンス記憶部８１５が記憶するビジネスプロセスインスタンスは、コンピュータが処理しやすい形式の情報である。
【００２３】
ビジネスプロセスインスタンスは、ビジネスプロセスモデルで定義された業務を実行した実行結果を示す情報である。この例では、図５に示したビジネスプロセスモデルにより定義された業務Ａを３回実行したので、それに対応して、ビジネスプロセスインスタンスが３つ構築されている。このうち、３回目は、まだ「処理ａ」の途中であり、業務が完了していない。
ビジネスプロセスインスタンスは、１以上のタスクインスタンスを有する。
タスクインスタンスは、その業務を実行する際に実行された処理に対応する情報である。ビジネスプロセスインスタンスは、タスクインスタンスを、その処理が実行された順に並べたものである。
したがって、処理の繰り返しや条件分岐がある場合には、１つのビジネスプロセスインスタンスのなかに、同一の処理の対応するタスクインスタンスが複数存在する場合がある。また、ビジネスプロセスモデルで定義されている処理であっても、実行されなかった処理については、ビジネスプロセスインスタンスのなかに、対応するタスクインスタンスが現れない。
【００２４】
計測値収集部８１４は、収集エージェント８１７から受信した情報に基づいて、ビジネスプロセスインスタンスを構築する。
計測値収集部８１４は、例えば、収集エージェント８１７から、処理ａを開始したことを示す情報を受信する。計測値収集部８１４は、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルに基づいて、新たな「業務Ａ」が開始したと判断し、新たなビジネスプロセスインスタンス「業務Ａ」を構築する。また、計測値収集部８１４は、新たに構築したビジネスプロセスインスタンス「業務Ａ」のなかに、タスクインスタンス「開始」とタスクインスタンス「処理ａ」とを構築する。
以下、処理の開始・完了を示す情報を受信するたびに、計測値収集部８１４は、タスクインスタンスを順次構築していき、「処理ｃ」が完了したことを示す情報を受信すると、「業務Ａ」が完了したと判断して、タスクインスタンス「完了」を構築する。
【００２５】
図４に戻り、ＢＡＭサーバ装置１００及び業務サーバ装置８２１の機能ブロックの説明を続ける。
【００２６】
業務分析部８１６は、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルに基づいて、ビジネスプロセスインスタンス記憶部８１５が記憶したビジネスプロセスインスタンスを分析し、業務の進捗状況などを監視する。業務分析部８１６は、分析の結果、例えば、業務に影響を与える状況になったと判断した場合に、利用者に状況を知らせるなどの処理を実行する。
【００２７】
図７は、この実施の形態におけるＢＡＭサーバ装置１００の更に詳細なブロックの構成の一例を示す詳細ブロック図である。
【００２８】
業務設定部８１１は、条件入力部１１１、処理入力部１１２、算出式入力部１１３、計測設定入力部１１４などを有する。
【００２９】
条件入力部１１１は、キーボード９０２などの入力装置を用いて、業務分析部８１６が利用者に状況を知らせるなどの処理を実行する条件（以下「処理条件」という）を示す情報（以下「処理条件情報」という）を入力する。条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報を出力する。
【００３０】
処理入力部１１２は、キーボード９０２などの入力装置を用いて、処理条件を満たす場合に業務分析部８１６が実行すべき処理の内容（以下「処理内容」という）を示す情報（以下「処理内容情報」という）を入力する。処理入力部１１２は、ＣＰＵ９１１などの処理装置を用いて、入力した処理内容情報を出力する。
【００３１】
算出式入力部１１３は、キーボード９０２などの入力装置を用いて、指標値を算出するための算出式を示す情報（以下「算出式情報」という）を入力する。
指標値とは、処理条件を満たすか否かを判断するために必要な値である。指標値には、例えば、処理を開始してから完了するまでの時間である処理時間や、処理した件数のうち処理が成功した件数の割合である成功率などがある。
算出式入力部１１３は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式情報を出力する。
【００３２】
計測設定入力部１１４は、キーボード９０２などの入力装置を用いて、計測値を計測するための設定を示す情報（以下「計測設定情報」という）を入力する。
計測値を計測するための設定とは、例えば、処理の開始時刻を計測するためには、実行ログのどこを見ればよいかなど実行ログのフォーマットについての情報や、計測値を計測すべき間隔を示す情報などである。
計測設定入力部１１４は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報を出力する。
【００３３】
ビジネスプロセスモデル記憶部８１２は、条件記憶部１２１、処理記憶部１２２、算出式記憶部１２３、計測設定記憶部１２４などを有する。
【００３４】
条件記憶部１２１は、ＣＰＵ９１１などの処理装置を用いて、条件入力部１１１が出力した処理条件情報を入力する。条件記憶部１２１は、磁気ディスク装置９２０などの記憶装置を用いて、入力した処理条件情報を記憶する。
【００３５】
処理記憶部１２２は、ＣＰＵ９１１などの処理装置を用いて、処理入力部１１２が出力した処理内容情報を入力する。処理記憶部１２２は、磁気ディスク装置９２０などの記憶装置を用いて、入力した処理内容情報を記憶する。
【００３６】
算出式記憶部１２３は、ＣＰＵ９１１などの処理装置を用いて、算出式入力部１１３が出力した算出式情報を入力する。算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、入力した算出式情報を記憶する。
【００３７】
計測設定記憶部１２４は、ＣＰＵ９１１などの処理装置を用いて、計測設定入力部１１４が出力した計測設定情報を入力する。計測設定記憶部１２４は、磁気ディスク装置９２０などの記憶装置を用いて、入力した計測設定情報を記憶する。
【００３８】
図８は、この実施の形態におけるビジネスプロセスモデル記憶部８１２が記憶するビジネスプロセスモデルの一例を更に詳細に示す図である。
【００３９】
この図において、「収集設定」とは、収集エージェント８１７が計測する計測値の設定を示すものであり、計測設定記憶部１２４が記憶した計測設定情報に対応する。この例では、収集エージェント８１７が計測すべき項目として、「開始時刻」及び「完了時刻」がある。計測すべき項目から左に伸びる実線は、実線によって結合した処理についてその項目を計測することを意味する。この例では、収集エージェント８１７が、「処理ａ」についての「開始時刻」「完了時刻」、「処理ｂ」についての「開始時刻」「完了時刻」、「処理ｃ」についての「開始時刻」「完了時刻」をそれぞれ計測することを示す。
【００４０】
「指標設定」とは、収集エージェント８１７が計測した計測値に基づいて、指標値算出部１６１が算出すべき指標値の設定を示すものであり、算出式記憶部１２３が記憶した算出式情報に対応する。この例では、指標値算出部１６１が算出すべき指標値の項目として、「処理時間」及び「業務時間」がある。実線は、収集設定と同様、結合した処理についてその指標を算出することを意味する。また、指標値には、個々の処理についてのものだけでなく、業務全体についてのものもある。この例では、「処理ａ」についての「処理時間」、「処理ｂ」についての「処理時間」、「処理ｃ」についての「処理時間」、「業務Ａ」全体についての「業務時間」を算出することを示す。
また、指標設定において算出すべき項目から左に伸びる破線は、その指標値を算出するために必要となる計測値を意味する。例えば、「処理ａ」の「処理時間」を算出するためには、「処理ａ」の「開始時刻」と「完了時刻」とが必要になる。また、「業務Ａ」の「業務時間」を算出するためには、「処理ａ」の「開始時刻」と「処理ｃ」の「完了時刻」とが必要になる。
【００４１】
「通知設定」とは、収集エージェント８１７が計測した計測値や指標値算出部１６１が算出した指標値に基づいて、処理実行部１６２が判断すべき条件とその条件を満たしたときに実行すべき処理の設定を示すものであり、条件記憶部１２１が記憶した処理条件情報及び処理記憶部１２２が記憶した処理内容情報に対応するものである。この例では、処理実行部１６２が判断・実行すべき項目として、「処理時間超過」がある。実線及び破線の意味は、「収集設定」「指標設定」と同じであり、例えば、「処理ａ」についての「処理時間超過」を判断するためには、「処理ａ」の「処理時間」が必要であり、「業務Ａ」の「処理時間超過」を判断するためには、「業務Ａ」の「業務時間」が必要であることを示す。
【００４２】
図７に戻り、ＢＡＭサーバ装置１００の更に詳細なブロックの説明を続ける。
【００４３】
収集設定部８１３は、算出式設定部１３１、計測設定部１３２などを有する。
【００４４】
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報を入力する。算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報に基づいて、処理条件情報が示す条件を判断するために算出する必要のある指標値を判別する。算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、判別した指標値を示す情報（以下「算出指標値情報」という）を出力する。
算出式設定部１３１が出力した算出指標値情報は、算出式記憶部１２３が、ＣＰＵ９１１などの処理装置を用いて入力する。算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、記憶した算出式情報のうち、処理条件情報が示す条件を判断するために算出する必要のある指標値についての算出式情報と、算出する必要のない指標値についての算出式情報とを区別できる情報（例えばフラグなど）を記憶する。
【００４５】
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報と、算出式記憶部１２３が記憶した算出式情報と、計測設定記憶部１２４が記憶した計測設定情報とを入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報が示す条件を判断するために計測する必要のある計測値を判別する。また、計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式情報に基づいて、処理条件情報が示す条件を判断するために算出する必要のある指標値を判別し、更に、その指標値を算出するために計測する必要のある計測値を判別する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報のうち、判別した計測値についての計測設定情報を抽出する。
計測設定部１３２は、抽出した計測設定情報に基づいて、通信装置９１５を用いて、収集エージェント８１７に対して、計測すべき項目を示す情報（以下「計測項目情報」という）、その項目を計測する方法を示す情報（以下「計測方法情報」という）、その項目を計測する間隔を示す情報（以下「計測間隔情報」という）などを送信する。
【００４６】
収集エージェント８１７は、設定受信部１７１、状態計測部１７２、計測値送信部１７３などを有する。
設定受信部１７１は、通信装置９１５を用いて、計測設定部１３２が送信した計測項目情報などを受信する。設定受信部１７１は、ＣＰＵ９１１などの処理装置を用いて、受信した計測項目情報などを出力する。
状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、設定受信部１７１が出力した計測項目情報などを入力する。状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測項目情報などに基づいて、監視対象８１８の状態を計測する。状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、計測した結果得られた計測値を示す情報（以下「計測値情報」という）を出力する。
計測値送信部１７３は、ＣＰＵ９１１などの処理装置を用いて、状態計測部１７２が出力した計測値情報を入力する。計測値送信部１７３は、通信装置９１５を用いて、ＢＡＭサーバ装置１００に対して、入力した計測値情報を送信する。
【００４７】
計測値収集部８１４は、計測値取得部１４１などを有する。
【００４８】
計測値取得部１４１は、通信装置９１５を用いて、収集エージェント８１７が送信してきた計測値情報を受信する。計測値取得部１４１は、ＣＰＵ９１１などの処理装置を用いて、受信した計測値情報を出力する。
【００４９】
ビジネスプロセスインスタンス記憶部８１５は、計測値記憶部１５１、指標値記憶部１５２などを有する。
【００５０】
計測値記憶部１５１は、ＣＰＵ９１１などの処理装置を用いて、計測値取得部１４１が出力した計測値情報を入力する。計測値記憶部１５１は、磁気ディスク装置９２０などの記憶装置を用いて、入力した計測値情報を記憶する。
【００５１】
指標値記憶部１５２は、ＣＰＵ９１１などの処理装置を用いて、指標値算出部１６１が算出した指標値を示す情報（以下「指標値情報」という）を入力する。指標値記憶部１５２は、磁気ディスク装置９２０などの記憶装置を用いて、入力した指標値情報を記憶する。
【００５２】
業務分析部８１６は、指標値算出部１６１、処理実行部１６２などを有する。
【００５３】
指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、計測値記憶部１５１が記憶した計測値情報と、算出式記憶部１２３が記憶した算出式情報とを入力する。指標値算出部１６１は、入力した算出式情報が示す算出式に基づいて、入力した計測値情報が示す計測値から指標値を算出する。指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、算出した指標値を示す指標値情報を出力する。
【００５４】
処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、計測値記憶部１５１が記憶した計測値情報と、指標値記憶部１５２が記憶した指標値情報と、条件記憶部１２１が記憶した処理条件情報と、処理記憶部１２２が記憶した処理内容情報とを入力する。
処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測値情報が示す計測値と、入力した指標値情報が示す指標値とに基づいて、入力した処理条件情報が示す条件が満たされているか否かを判断する。
処理実行部１６２は、処理条件情報が示す条件が満たされていると判断した場合に、ＣＰＵ９１１などの処理装置を用いて、入力した処理内容情報が示す処理を実行する。例えば、利用者に業務の進捗状況を通知する。
【００５５】
図９は、この実施の形態におけるビジネスプロセスインスタンス記憶部８１５が記憶するビジネスプロセスインスタンスの一例を更に詳細に示す図である。
この例において、ビジネスプロセスインスタンス記憶部８１５は、ビジネスプロセスインスタンスを３つ記憶している。
【００５６】
図８に示した収集設定に基づいて、収集エージェント８１７は、「処理ａ」の「開始時刻」「完了時刻」、「処理ｂ」の「開始時刻」「完了時刻」、「処理ｃ」の「開始時刻」「完了時刻」を計測し、計測値情報を送信する。計測値情報は、計測値取得部１４１が受信し、計測値収集部８１４が構築したビジネスプロセスインスタンスにおいて、対応するタスクインスタンスの属性として、計測値記憶部１５１が記憶する。
また、図８に示した指標設定に基づいて、指標値算出部１６１は、「処理ａ」の「処理時間」、「処理ｂ」の「処理時間」、「処理ｃ」の「処理時間」、「業務Ａ」の「業務時間」を算出し、指標値情報を出力する。指標値情報は、指標値記憶部１５２が入力し、計測値収集部８１４が構築したビジネスプロセスインスタンスまたは対応するタスクインスタンスの属性として、指標値記憶部１５２が記憶する。
【００５７】
図１０は、この実施の形態におけるビジネスプロセスモデル記憶部８１２が記憶するビジネスプロセスモデルの別の例を詳細に示す図である。
【００５８】
この例では、収集設定において、収集エージェント８１７が計測すべき項目として、「処理ａ」「処理ｂ」「処理ｃ」それぞれの「全件数」「完了件数」がある。また、指標設定において、指標値算出部１６１が算出すべき指標値として、「処理ａ」「処理ｂ」「処理ｃ」それぞれの「未処理件数」、「業務Ａ」の「成功率」がある。また、通知設定において、
処理実行部１６２が判断すべき条件として、「処理ａ」「処理ｂ」「処理ｃ」それぞれの「未処理件数超過」、「業務Ａ」の「成功率低下」がある。
【００５９】
この例に示した項目は、図８で説明した項目と異なり、ビジネスプロセスインスタンス（またはビジネスプロセスインスタンスに含まれるタスクインスタンス）に付随するものではない。「開始時刻」「処理時間」などの項目は、１つ１つの業務・処理についての情報であるのに対し、「全件数」「成功率」などの項目は、同じ業務あるいは処理の全体についての情報である。
この実施の形態では、このような計測値・指標値を、「モデルについての計測値」「モデルについての指標値」として、計測値記憶部１５１、指標値記憶部１５２が記憶する。
【００６０】
図１１は、この実施の形態におけるビジネスプロセスインスタンス記憶部８１５が記憶するモデルについての計測値・指標値の一例を示す図である。
図１０に示した収集設定に基づいて、収集エージェント８１７は、「処理ａ」「処理ｂ」「処理ｃ」それぞれの「全件数」「完了件数」を計測し、計測値情報を送信する。計測値情報は、計測値取得部１４１が受信し、対応するビジネスプロセスモデルについての計測値として、計測値記憶部１５１が記憶する。
また、図１０に示した指標設定に基づいて、指標値算出部１６１は、「処理ａ」「処理ｂ」「処理ｃ」それぞれの「未処理件数」、「業務Ａ」の「成功率」を算出し、指標値情報を出力する。指標値情報は、指標値記憶部１５２が入力し、対応するビジネスプロセスモデルについての指標値として、指標値記憶部１５２が記憶する。
【００６１】
なお、ビジネスプロセスインスタンス記憶部８１５は、ビジネスプロセスモデルを記憶する必要はなく、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルのうち、計測値記憶部１５１が記憶した計測値・指標値記憶部１５２が記憶した指標値が対応する業務・処理を示す情報を記憶していればよい。
【００６２】
図１２は、この実施の形態における条件入力部１１１及び処理入力部１１２が入力する処理条件情報及び処理内容情報の一例を示す図である。
【００６３】
条件入力部１１１及び処理入力部１１２は、例えば、ＣＲＴなどの表示装置９０１を用いて、図１２（ａ）のようなダイアログボックスを表示し、管理者や利用者に必要な情報を入力させる。
「モデル」欄には、監視する業務を入力する。「モデル」欄には、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルの名称の一覧をリスト形式で表示し、管理者・利用者がそのなかから監視する業務を選択する。例えば、「モデル」欄には、「業務Ａ」「業務Ｂ」「業務Ｃ」などと表示され、管理者がそのなかから「業務Ａ」を選択する。
「対象」欄には、選択された業務のなかで監視する処理を入力する。「対象」欄には、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルにしたがい、「モデル」欄で選択したビジネスプロセスモデルで定義された業務を構成する処理の名称の一覧をリスト形式で表示し、管理者・利用者がそのなかから監視する処理を選択する。例えば、「対象」欄には、「処理ａ」「処理ｂ」「処理ｃ」「業務Ａ」などと表示され、管理者がそのなかから「処理ａ」を選択する。なお、「業務Ａ」を選択した場合には、１つの処理に限定されない業務全体についての監視をすることを意味する。
「条件式」欄には、選択された処理について、監視すべき条件を入力する。例えば「処理時間＞３００秒」であれば、「処理ａ」の「処理時間」が「３００秒」を超えた場合に、アクション欄に入力した処理を実行すべきという条件を意味する。
「名称」欄には、そのアクションの名称を入力する。名称は、例えば、アクションによって送信されるメールの題名として利用してもよいし、設定した条件の一覧を表示する画面で、図８や図１０のような図形を表示する場合に、そのアクションを示す情報として表示してもよい。
「アクション」欄には、その条件を満たした場合にＢＡＭサーバ装置１００が実行すべき処理の内容を入力する。例えば「メール送信→担当者」であれば、その処理の担当者の注意を喚起するため、担当者に電子メールを送信する処理を実行することを意味する。
【００６４】
条件入力部１１１及び処理入力部１１２は、キーボード９０２などの入力装置を用いて、これらの情報を入力する。
条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、入力した情報に基づいて、処理条件情報を生成する。
処理入力部１１２は、ＣＰＵ９１１などの処理装置を用いて、入力した情報に基づいて、処理内容情報を生成する。
【００６５】
条件入力部１１１が生成する処理条件情報５１０は、例えば、対象５１１、対象種別５１２、名称５１３、条件式５１４、計算対象５１５などからなる。
対象５１１は、監視の対象となるタスクあるいはプロセスを示す情報である。
対象種別５１２は、監視の対象となるタスクあるいはプロセスが、個々の業務についてのもの（インスタンス）であるか、業務全体についてのもの（モデル）であるかの区別を示す情報である。
名称５１３は、その処理条件の名称を示す情報である。
条件式５１４は、その判断すべき処理条件を示す情報である。
計算対象５１５は、条件式５１４を判断するために必要な値を示す情報である。
【００６６】
この例において、条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルのうち、「業務Ａ」についてのビジネスプロセスモデルを入力する。
条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、入力したビジネスプロセスモデルに基づいて、処理対象５１１がビジネスプロセス「業務Ａ」のタスク「処理ａ」であることを判別する（これを「業務Ａ．処理ａ」と表記する）。
条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、入力した条件式を分析し、処理実行部１６２が条件を判断するために必要な値として「処理時間」があることを判別する。
条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、「処理時間」が処理対象５１１「業務Ａ．処理ａ」のタスクインスタンスの属性であることを判別する（これを「業務Ａ．処理ａ．処理時間」または「処理ａ．処理時間」と表記する）。
【００６７】
以上の分析結果に基づいて、条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、対象５１１「業務Ａ．処理ａ」、対象種別５１２「インスタンス」、名称５１３「処理時間超過」、条件式５１４「処理ａ．処理時間＞３００」、計算対象５１５「処理ａ．処理時間」を内容とする処理条件情報５１０を生成する。
【００６８】
処理入力部１１２も同様に、ＣＰＵ９１１などの処理装置を用いて、入力したアクションを分析して、処理実行部１６２が処理を実行するために必要な値として「担当者」があることを判別し、「担当者」がタスクインスタンス「業務Ａ．処理ａ」の属性であることを判別する（この例では、「処理ａ」の担当者が変わる可能性があることから、「担当者」をタスクインスタンスの属性としているが、「処理ａ」の担当者があらかじめ決まっている場合には、ビジネスプロセスモデルのタスクの属性としてもよい）。
以上の分析結果に基づいて、処理入力部１１２は、アクション５２１「メール送信：処理ａ．担当者」を内容とする処理内容情報５２０を生成する。
【００６９】
こうして、条件入力部１１１及び処理入力部１１２が生成した処理条件情報５１０及び処理内容情報５２０は、それぞれ条件記憶部１２１及び処理記憶部１２２が記憶する。
【００７０】
図１３は、この実施の形態における算出式記憶部１２３が記憶する算出式情報５３０の一例を示す図である。
算出式情報５３０は、対象５３１、対象種別５３２、名称５３３、算出式５３４、計算対象５３５、算出間隔５３６などからなる。
対象５３１は、監視の対象となるタスクあるいはプロセスを示す情報である。
対象種別５３２は、監視の対象となるタスクあるいはプロセスが、個々の業務についてのもの（インスタンス）であるか、業務全体についてのもの（モデル）であるかの区別を示す情報である。
対象５３１及び対象種別５３２は、処理条件情報５１０における対象５１１及び対象種別５１２と同じである。
名称５３３は、その算出式によって算出される指標値の名称を示す情報である。名称５３３は、条件式のなかで指標値への参照を記述するために用いる。
算出式５３４は、その指標値を算出するための計算式を示す情報である。この例において、「（（処理ａ．完了時刻！＝ＮＵＬＬ）？処理ａ．完了時刻：現在時刻）−処理ａ．開始時刻」は、「処理ａ」の「完了時刻」の値が記憶されている場合は（すなわち「処理ａ」が完了している場合は）、「完了時刻」と「開始時刻」との差を計算し、「処理ａ」が完了していない場合は、「現在時刻」と「開始時刻」との差を計算して、「処理時間」とすることを記述している。この例では、Ｃ言語式の記述法を用いているが、他の記述法を用いてもよい。
計算対象５３５は、指標値算出部１６１が指標値を算出するために必要となる計測値などを示す情報である。
算出間隔５３６は、指標値算出部１６１がその指標値を算出する処理をおこなう間隔を示す情報である。この例では、「秒」を単位とする数値で算出間隔５３６を記述している。
【００７１】
これらの情報は、算出式入力部１１３が、キーボード９０２などの入力装置を用いて管理者などの操作を入力し、入力した情報に基づいて生成する。
算出式入力部１１３は、例えば、ＣＲＴなどの表示装置９０１を用いて、ダイアログボックスを表示し、管理者に必要な情報を入力させる。
算出式入力部１１３は、ＣＰＵ９１１などの処理装置を用いて、入力した情報を分析して、算出式情報５３０を生成する。例えば、管理者が入力した算出式を分析して、計算対象５３５を生成する。
算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、算出式入力部１１３が生成した算出式情報５３０を記憶する。
【００７２】
算出式情報５３０は、算出式入力部１１３があらかじめ入力して、算出式記憶部１２３が記憶しておいてもよい。
あるいは、条件入力部１１１が入力して条件記憶部１２１が記憶した処理条件情報５１０において、必要とされる計算対象５１５を算出するための算出式情報５３０を、算出式記憶部１２３が記憶しているか否かを、算出式設定部１３１が判断し、算出式記憶部１２３が記憶していない場合に、算出式入力部１１３が入力することとしてもよい。
また、算出式記憶部１２３が記憶していない場合に、算出式設定部１３１が、ＣＰＵ９１１などの処理装置を用いて、算出式情報５３０を生成し、算出式記憶部１２３が記憶してもよい。
【００７３】
ここでは、算出式設定部１３１が算出式情報５３０を生成する場合について説明する。
【００７４】
算出式設定部１３１は、磁気ディスク装置９２０などの記憶装置を用いて、あらかじめ算出式雛形情報５８０を記憶している。
算出式雛形情報５８０は、算出式情報５３０を一般化したものである。
算出式雛形情報５８０は、対象雛形５８１、対象種別５３２、名称５３３、算出式雛形５８４、計算対象雛形５８５、算出間隔５３６などからなる。
このうち、対象種別５３２、名称５３３、算出間隔５３６は、算出式情報５３０と同一であり、対象雛形５８１、算出式雛形５８４、計算対象雛形５８５は、算出式情報５３０の対象５３１、算出式５３４、計算対象５３５を一般化したものである。
【００７５】
例えば、（ａ）に示したタスクインスタンス「処理ａ」の「処理時間」を算出する算出式は、「処理ａ」に限ったものではなく、タスクインスタンス一般にも当てはまるものである。そこで、算出式設定部１３１は、（ｂ）に示した算出式雛形情報５８０をあらかじめ記憶しておく。これは、（ａ）に示した「処理ａ」についての算出式情報５３０を一般化したものであり、「処理ａ」の部分を「＄タスク＄」で置き換えている。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０を入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報５１０の計算対象５１５に基づいて、処理実行部１６２が条件を判断するのに必要な指標値を判別する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、判別した指標値についての算出式情報５３０を、算出式記憶部１２３が記憶しているか否かを判断する。
算出式設定部１３１は、判別した指標値についての算出式情報５３０を算出式記憶部１２３が記憶していないと判断した場合、ＣＰＵ９１１などの処理装置を用いて、その指標値についての算出式雛形情報５８０を記憶しているか否かを判断する。
算出式設定部１３１は、その指標値についての算出式雛形情報５８０を記憶していないと判断した場合、ＣＰＵ９１１などの処理装置を用いて、算出式入力部１１３に通知する。算出式入力部１１３は、その指標値についての算出式情報５３０を入力し、算出式記憶部１２３が記憶する。
【００７６】
算出式設定部１３１は、その指標値についての算出式雛形情報５８０を記憶していると判断した場合、ＣＰＵ９１１などの処理装置を用いて、算出式雛形情報５８０に基づいて、算出式情報５３０を生成する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、生成した算出式情報５３０を出力する。
算出式記憶部１２３は、ＣＰＵ９１１などの処理装置を用いて、算出式設定部１３１が出力した算出式情報５３０を入力する。算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、入力した算出式情報５３０を記憶する。
【００７７】
例えば、算出式記憶部１２３が記憶した処理条件情報５１０の計算対象５１５に「処理ｂ．処理時間」が含まれているが、「処理ｂ．処理時間」を算出するための算出式情報５３０を、算出式記憶部１２３が記憶していない場合について説明する。
算出式設定部１３１は、「＄タスク＄」の「処理時間」についての算出式雛形情報５８０を記憶している。算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、この算出式雛形情報５８０に基づいて、「＄タスク＄」の部分を「処理ｂ」で置き換えて、算出式情報５３０を生成し、出力する。
【００７８】
このようにして、条件記憶部１２１が記憶した処理条件情報５１０が示す条件を処理実行部１６２が判断するために必要となる指標値を指標値算出部１６１が算出するための算出式情報５３０すべてを、算出式記憶部１２３が記憶する。
【００７９】
図１４は、この実施の形態における計測設定記憶部１２４が記憶する計測設定情報５４０の一例を示す図である。
計測設定情報５４０は、対象５４１、対象種別５４２、名称５４３、計測方法５４４、エージェント名５４５、計測間隔５４６などからなる。
対象５４１は、監視の対象となるタスクあるいはプロセスを示す情報である。
対象種別５４２は、監視の対象となるタスクあるいはプロセスが、個々の業務についてのもの（インスタンス）であるか、業務全体についてのもの（モデル）であるかの区別を示す情報である。
対象５４１及び対象種別５４２は、処理条件情報５１０における対象５１１及び対象種別５１２と同じである。
名称５４３は、その計測設定によって計測される計測値の名称を示す情報である。名称５４３は、条件式や算出式のなかで計測値への参照を記述するために用いる。
計測方法５４４は、その計測値を計測するための計測方法を示す情報である。この例に示した「開始時刻」の計測方法は、以下のとおりである。
「アプリケーションＡの実行ログファイル」を監視し、そのなかから「＄時刻＄：処理開始［＄処理番号＄］，案件（＄案件番号＄）」という文字列を検索する。なお、「＄時刻＄」、「＄処理番号＄」、「＄案件番号＄」などは変数を意味し、あらかじめ定められたフォーマットの文字列と一致するものとして判断する。検索文字列を発見した場合、「プロセス名＝業務Ａ，プロセス番号＝＄案件番号＄，タスク名＝処理ａ，タスク番号＝＄処理番号＄，名称＝開始時刻，計測値＝＄時刻＄」という文字列を生成し、ＢＡＭサーバ装置１００に対して送信する。なお、「＄案件番号＄」「＄処理番号＄」「＄時刻＄」の部分は、検索文字列に含まれる同一の文字列で表わされた変数に一致した文字列で置き換える。
【００８０】
エージェント名５４５は、計測を実行する収集エージェント８１７を識別する情報である。収集エージェント８１７は、監視対象サーバ群８２０のサーバ装置にそれぞれある。例えば、「エージェントＡ」は、業務サーバ装置８２１上の収集エージェント８１７を識別する情報である。同様に「エージェントＢ」は、業務サーバ装置８２２上の収集エージェント８１７を識別する情報であり、「エージェントＣ」は、業務サーバ装置８２３上の収集エージェント８１７を識別する情報である。
この例の場合、処理ａを行うアプリケーションプログラムである「アプリケーションＡ」を実行するのは、監視対象サーバ群８２０のうち業務サーバ装置８２１である。したがって、「処理ａ」の「開始時刻」は、業務サーバ装置８２１上の収集エージェント８１７である「エージェントＡ」が計測する。同様に、「処理ｂ」は業務サーバ装置８２２が実行するアプリケーションプログラム「アプリケーションＢ」が行うので、「処理ｂ」の「完了時刻」は、業務サーバ装置８２２上の収集エージェント８１７「エージェントＢ」が計測し、「処理ｃ」が業務サーバ装置８２３が実行するアプリケーションプログラム「アプリケーションＣ」が行うので、「処理ｃ」の「全件数」は、業務サーバ装置８２３上の収集エージェント８１７「エージェントＣ」が計測する。
【００８１】
エージェント名５４５は、計測設定入力部１１４が管理者に入力させてもよいし、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルに基づいて、計測設定入力部１１４が判別してもよい。
【００８２】
計測間隔５４６は、エージェント名５４５によって識別される収集エージェント８１７が、計測方法５４４が示す方法にしたがって、計測値を計測する間隔を示す情報である。この例では、算出間隔５３６と同様に秒を単位とする数値で記述している。
【００８３】
モデルについての計測値について、図１４に示した「処理ｃ」の「全件数」を例に説明する。
ここで、「処理ｃ」の「全件数」とは、処理ｃを開始した（処理ｃが完了していないものも含めて）件数である。「開始時刻」等が個々の処理ごとに別個に計測されるものであるのに対して、「全件数」はインスタンスに依存せず、「業務Ａ」の「処理ｃ」全体について計測されるものである。
この例に示した計測方法５４４によれば、「処理ｃ」の「全件数」は以下の方法で計測する。
「アプリケーションＣの実行ログファイル」を監視し、そのなかから「＄時刻＄：処理開始［＄処理番号＄］，案件（＄案件番号＄）」という文字列を検索する。検索文字列を発見した場合、あらかじめ収集エージェント８１７が記憶していた「＄全件数＄」という名称の変数の値を１増加させ、文字列「プロセス名＝業務Ａ，タスク名＝処理ａ，名称＝全件数，計測値＝＄全件数＄」を生成して、ＢＡＭサーバ装置１００に対して送信する。
送信文字列には、「プロセス番号」や「タスク番号」が含まれない。モデルについての計測値は、プロセスインスタンスやタスクインスタンスに依存しないからである。
【００８４】
計測設定記憶部１２４が記憶する計測設定情報５４０は、処理実行部１６２が条件を判断するために必要な計測値についてのものだけでなく、過去または将来において計測する必要が生じるかもしれないが、この時点で条件記憶部１２１が記憶している処理条件情報が示す条件を判断するためには計測する必要のない計測値についてのものが含まれていてもよい。計測設定部１３２は、計測設定記憶部１２４が記憶した計測設定情報５４０のなかから必要なものを選択して、収集エージェント８１７に送信し、収集エージェント８１７を設定する。
【００８５】
次に、動作について説明する。
【００８６】
図１５は、この実施の形態における業務監視システム８００を用いて、管理者及び利用者が業務の進捗状況を監視する業務監視処理の全体の流れの一例を示すフローチャート図である。
【００８７】
Ｓ１１において、管理者は、ビジネスプロセスモデルを設計する。業務設定部８１１は、管理者が設計したビジネスプロセスモデルを入力する。ビジネスプロセスモデル記憶部８１２は、業務設定部８１１が入力したビジネスプロセスモデルを記憶する。
Ｓ１２（条件入力処理）において、管理者（あるいは利用者）は、ＢＡＭサーバ装置１００に実行させたい処理と、ＢＡＭサーバ装置１００がその処理を実行する条件とを設定する。業務設定部８１１は、管理者（あるいは利用者）が設定した処理および条件を入力する。ビジネスプロセスモデル記憶部８１２は、業務設定部８１１が入力した処理および条件を記憶する。
Ｓ１３（収集設定処理）において、収集設定部８１３は、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルに基づいて、収集エージェント８１７の設定をする。
Ｓ１４（状態計測処理）において、収集エージェント８１７は、収集設定部８１３が設定した内容にしたがって、監視対象８１８を監視し、計測値を計測して、ＢＡＭサーバ装置１００に対して送信する。
Ｓ１５（計測値収集処理）において、計測値収集部８１４は、収集エージェント８１７が送信してきた計測値を受信する。ビジネスプロセスインスタンス記憶部８１５は、ビジネスプロセスインスタンス記憶部８１５が受信した計測値を記憶する。計測値収集処理は、計測値取得工程の一例である。
Ｓ１６（業務分析処理）において、業務分析部８１６は、ビジネスプロセスインスタンス記憶部８１５が記憶したビジネスプロセスインスタンスを分析し、Ｓ１２でビジネスプロセスモデル記憶部８１２が記憶した条件を満たすか否かを判断する。条件を満たす場合、業務分析部８１６は、Ｓ１２でビジネスプロセスモデル記憶部８１２が記憶した処理を実行する。業務分析処理は、処理実行工程の一例である。
以下、Ｓ１４〜Ｓ１６を繰り返す。また、設定を変更する必要が生じた場合には、Ｓ１２に戻る。ビジネスプロセスモデルそのものを変更する場合には、Ｓ１１に戻る。
【００８８】
図１６は、この実施の形態におけるＢＡＭサーバ装置１００が処理条件情報５１０などを入力する条件入力処理の流れの一例を示すフローチャート図である。
条件入力処理は、図１５のＳ１２に相当する処理である。
【００８９】
Ｓ２１において、条件入力部１１１は、キーボード９０２などの入力装置を用いて、管理者の操作を入力する。
条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、入力した操作に基づいて、処理条件情報５１０を生成する。
条件入力部１１１は、ＣＰＵ９１１などの処理装置を用いて、生成した処理条件情報５１０を出力する。
条件記憶部１２１は、ＣＰＵ９１１などの処理装置を用いて、条件入力部１１１が出力した処理条件情報５１０を入力する。
条件記憶部１２１は、磁気ディスク装置９２０などの記憶装置を用いて、入力した処理条件情報５１０を記憶する。
【００９０】
Ｓ２２において、算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２１で条件記憶部１２１が記憶した処理条件情報５１０を入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報５１０から、必要な指標値を判別する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、算出式記憶部１２３が記憶した算出式情報５３０を入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式情報５３０のなかに、判別した指標値についての算出式情報５３０があるか否かを判断する。
判別した指標値についての算出式情報５３０がない場合は、Ｓ２３へ進む。
判別した指標値についての算出式情報５３０がある場合は、Ｓ２６へ進む。
【００９１】
Ｓ２３において、算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、判別した指標値についての算出式雛形情報５８０を記憶しているか否かを判断する。
判別した指標値についての算出式雛形情報５８０を記憶している場合には、Ｓ２４へ進む。
判別した指標値についての算出式雛形情報５８０を記憶していない場合には、Ｓ２５へ進む。
【００９２】
Ｓ２４において、算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、記憶した算出式雛形情報５８０を入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式雛形情報５８０に基づいて、算出式情報５３０を生成する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、生成した算出式情報５３０を出力する。
算出式記憶部１２３は、ＣＰＵ９１１などの処理装置を用いて、算出式設定部１３１が出力した算出式情報５３０を入力する。
算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、入力した算出式情報５３０を記憶する。
その後、Ｓ２６へ進む。
【００９３】
Ｓ２５において、算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２２で判別した指標値を示す情報を出力する。
算出式入力部１１３は、ＣＰＵ９１１などの処理装置を用いて、算出式設定部１３１が出力した指標値を示す情報を入力する。
算出式入力部１１３は、入力した指標値を示す情報に基づいて、キーボード９０２などの入力装置を用いて、管理者の操作を入力する。
算出式入力部１１３は、ＣＰＵ９１１などの処理装置を用いて、入力した操作に基づいて、Ｓ２２で算出式設定部１３１が判別した指標値についての算出式情報５３０を生成する。
算出式入力部１１３は、ＣＰＵ９１１などの処理装置を用いて、生成した算出式情報５３０を出力する。
算出式記憶部１２３は、ＣＰＵ９１１などの処理装置を用いて、算出式入力部１１３が出力した算出式情報５３０を入力する。
算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、入力した算出式情報５３０を記憶する。
【００９４】
Ｓ２６において、算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２２で判別した指標値を示す情報を出力する。
算出式記憶部１２３は、ＣＰＵ９１１などの処理装置を用いて、算出式設定部１３１が出力した指標値を示す情報を入力する。
算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、記憶した算出式情報５３０のうち、Ｓ２２で算出式設定部１３１が判別した指標値についての算出式情報５３０に、算出する必要があることを示す印をつけて記憶する。
【００９５】
Ｓ２７において、計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２１で条件記憶部１２１が記憶した処理条件情報５１０を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報５１０から、必要な計測値を判別する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２６で算出式記憶部１２３が印をつけた算出式情報５３０を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式情報５３０から、必要な計測値を判別する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、計測設定記憶部１２４が記憶した計測設定情報５４０を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報５４０のなかに、判別した計測値についての計測設定情報５４０があるか否かを判断する。
判別した計測値についての計測設定情報５４０がない場合は、Ｓ２８へ進む。
判別した計測値についての計測設定情報５４０がある場合は、Ｓ２９へ進む。
【００９６】
Ｓ２８（条件記憶工程）において、計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２７で判別した計測値を示す情報を出力する。
計測設定入力部１１４は、ＣＰＵ９１１などの処理装置を用いて、計測設定部１３２が出力した計測値を示す情報を入力する。
計測設定入力部１１４は、入力した計測値を示す情報に基づいて、キーボード９０２などの入力装置を用いて、管理者の操作を入力する。
計測設定入力部１１４は、ＣＰＵ９１１などの処理装置を用いて、入力した操作に基づいて、Ｓ２７で計測設定部１３２が判別した計測値についての計測設定情報５４０を生成する。
計測設定入力部１１４は、ＣＰＵ９１１などの処理装置を用いて、生成した計測設定情報５４０を出力する。
計測設定記憶部１２４は、ＣＰＵ９１１などの処理装置を用いて、計測設定入力部１１４が出力した計測設定情報５４０を入力する。
計測設定記憶部１２４は、磁気ディスク装置９２０などの記憶装置を用いて、入力した計測設定情報５４０を記憶する。
【００９７】
なお、算出式情報５３０と同様に、計測設定部１３２があらかじめ計測設定雛形情報を記憶しておき、計測設定雛形情報に基づいて、計測設定情報５４０を生成してもよい。
【００９８】
Ｓ２９において、計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２７で判別した計測値を示す情報を出力する。
計測設定記憶部１２４は、ＣＰＵ９１１などの処理装置を用いて、計測設定部１３２が出力した計測値を示す情報を入力する。
計測設定記憶部１２４は、磁気ディスク装置９２０などの記憶装置を用いて、記憶した計測設定情報５４０うち、Ｓ２７で計測設定部１３２が判別した計測値についての計測設定情報５４０に、計測する必要があることを示す印をつけて記憶する。
【００９９】
以上の処理を、すべての条件を入力するまで繰り返す。
【０１００】
図１７は、この実施の形態における収集設定部８１３が収集エージェント８１７を設定する収集設定処理の流れの一例を示すフローチャート図である。
収集設定処理は、図１５のＳ１３に相当する処理である。
【０１０１】
Ｓ３１（計測設定工程）において、計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、計測設定記憶部１２４が記憶した計測設定情報５４０のうち、図１６のＳ２９で印をつけたものを入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報５４０に基づいて、収集エージェント８１７に送信すべき計測設定情報（計測項目情報、計測方法情報、計測間隔情報など）を生成する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報５４０に基づいて、計測設定情報を送信すべき収集エージェント８１７を判別する。
計測設定部１３２は、通信装置９１５を用いて、判別した収集エージェント８１７に対して、生成した計測設定情報を送信する。
【０１０２】
Ｓ３２において、設定受信部１７１は、通信装置９１５を用いて、Ｓ３１で計測設定部１３２が送信してきた計測設定情報を受信する。
設定受信部１７１は、ＣＰＵ９１１などの処理装置を用いて、受信した計測設定情報を出力する。
【０１０３】
Ｓ３３において、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、起動済の収集スレッドのリストを生成する。
収集スレッドとは、ＣＰＵ９１１などの処理装置を用いて、計測設定情報に含まれる計測項目情報が示す項目を、計測間隔情報が示す間隔で、計測方法情報が示す方法により、計測するプログラムである。
収集スレッドは、計測項目ごとに起動する。状態計測部１７２は、収集スレッドを起動するときに、計測間隔や計測方法を設定して起動する。状態計測部１７２は、起動した収集スレッドが計測した計測値を収集し、出力する。
【０１０４】
Ｓ３４において、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３２で設定受信部１７１が出力した計測設定情報を入力する。
状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報が示す計測項目それぞれについて、その計測項目を計測する収集スレッドが起動済であるか否かを判断する。
起動済であると判断した収集スレッドについては、Ｓ３５へ進む。
起動済でないと判断した収集スレッドについては、Ｓ３８へ進む。
【０１０５】
Ｓ３５において、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３４で起動済であると判断した収集スレッドを、Ｓ３３で生成したリストから削除する。
【０１０６】
Ｓ３６において、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３４で入力した計測設定情報に基づいて、収集スレッドの設定に変更があるため、収集スレッドを設定し直す必要があるか否かを判断する。
設定に変更があると判断した場合は、Ｓ３７へ進む。
設定に変更がないと判断した場合は、その計測項目についての処理を終了する。
【０１０７】
Ｓ３７において、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３６で設定に変更があると判断した収集スレッドを停止する。
【０１０８】
Ｓ３８において、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３４で入力した収集設定情報に基づいて、収集スレッドを起動する。
【０１０９】
計測設定情報が示す計測項目すべてについて、収集スレッドの処理が終了した場合、Ｓ３９へ進む。
Ｓ３９において、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３３で生成した起動済の収集スレッドのリストを入力する。
計測する必要のある計測項目を計測する収集スレッドは、Ｓ３５でリストから削除されているので、リストに残っている収集スレッドは、計測する必要のない計測項目を計測する収集スレッドである。
そこで、状態計測部１７２は、ＣＰＵ９１１などの処理装置を用いて、入力したリストに残っている収集スレッドを停止する。
【０１１０】
これにより、収集スレッドの設定が完了し、計測値の計測が始まる。
【０１１１】
図１８は、この実施の形態における収集スレッドが監視対象８１８の状態を計測する状態計測処理の流れの一例を示すフローチャート図である。
状態計測処理は、図１５のＳ１４に相当する処理である。
【０１１２】
Ｓ４１において、収集スレッドは、ＣＰＵ９１１などの処理装置を用いて、設定された方法にしたがって、計測値を計測する。
【０１１３】
Ｓ４２において、収集スレッドは、ＣＰＵ９１１などの処理装置を用いて、前回計測した計測値と、Ｓ４１で計測した計測値とを比較して、計測値に変化があったか否かを判断する。
前回計測した計測値とＳ４１で計測した計測値とが異なる場合（変化あり）には、Ｓ４３へ進む。
前回計測した計測値とＳ４１で計測した計測値とが等しい場合（変化なし）には、Ｓ４４へ進む。
【０１１４】
Ｓ４３において、収集スレッドは、ＣＰＵ９１１などの処理装置を用いて、Ｓ４１で計測した計測値に基づいて、設定されたフォーマットにしたがって、計測値情報を生成する。
ここで、設定されたフォーマットとは、例えば、図１４の計測方法５４４における「送信文字列」のことである。
収集スレッドは、ＣＰＵ９１１などの処理装置を用いて、生成した計測値情報を出力する。
収集スレッドが出力した計測値情報は、計測値送信部１７３が、ＣＰＵ９１１などの処理装置を用いて入力し、計測値送信部１７３が、通信装置９１５を用いて、ＢＡＭサーバ装置１００に対して送信する。
【０１１５】
Ｓ４４において、収集スレッドは、ＣＰＵ９１１などの処理装置を用いて、設定された計測間隔の時間が経過するのを待つ。
設定された計測間隔の時間が経過した後、Ｓ４１に戻る。
【０１１６】
収集スレッドは、状態計測部１７２が停止するまで、状態計測処理を繰り返す。
【０１１７】
収集スレッドが設定された計測間隔が経過するのを待って計測を行うのは、業務サーバ装置のＣＰＵ資源を無駄遣いしないためである。収集エージェント８１７は、業務サーバ装置上で動作するので、業務サーバ装置のＣＰＵ９１１を用いる。収集エージェント８１７が業務サーバ装置のＣＰＵ資源を浪費すると、業務サーバ装置が本来処理すべき業務の実行に支障をきたす。このような本末転倒が起こらないように、収集エージェント８１７は、業務サーバ装置のＣＰＵ資源をできる限り使わずに、必要な情報を収集する。
【０１１８】
収集スレッドが計測値に変化があった場合のみ、計測値情報を出力するのも、同様の理由による。更に、計測値情報は、ＬＡＮ９４２を介してＢＡＭサーバ装置１００に送信されるので、ＬＡＮ９４２の通信容量にも配慮する必要がある。送信される計測値情報の量があまりに多いと、業務を実行するために業務サーバ装置間で行うべき通信に支障をきたす。このような本末転倒が起こらないように、収集エージェント８１７は、できる限り送信する情報量を抑え、必要な情報だけを送信する。
【０１１９】
また、収集エージェント８１７が必要な項目を計測する収集スレッドだけを起動するのも、同様の理由による。処理実行部１６２が処理を実行するために必要な情報だけを収集することにより、業務サーバ装置のＣＰＵ資源をできる限り使わず、また、ＬＡＮ９４２を介して送信される情報量をできる限り抑える。
【０１２０】
図１９は、この実施の形態におけるＢＡＭサーバ装置１００が計測値を収集する計測値収集処理の流れの一例を示すフローチャート図である。
計測値収集処理は、図１５のＳ１５に相当する処理である。計測値収集処理は、計測値取得工程の一例である。
【０１２１】
Ｓ５１において、収集エージェント８１７は、通信装置９１５を用いて、計測値情報を送信する。
【０１２２】
Ｓ５２において、計測値取得部１４１は、通信装置９１５を用いて、Ｓ５１で収集エージェント８１７が送信してきた計測値情報を受信する。
計測値取得部１４１は、ＣＰＵ９１１などの処理装置を用いて、受信した計測値情報を分析し、インスタンスについての計測値か、モデルについての計測値かを判断する。
インスタンスについての計測値であると判断した場合は、Ｓ５３へ進む。
モデルについての計測値であると判断した場合は、Ｓ５７へ進む。
【０１２３】
インスタンスについての計測値は、対応するインスタンスごとに異なる値を持つので、計測値記憶部１５１が記憶するための記憶領域を、インスタンスごとに確保する必要がある。これに対して、モデルについての計測値は、対応するビジネスプロセスモデルごとに管理すればよいので、計測値記憶部１５１が記憶するための記憶領域を、ビジネスプロセスモデルごとに確保する。
【０１２４】
Ｓ５３において、計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスインスタンス記憶部８１５が記憶したビジネスプロセスインスタンスのなかに、Ｓ５２で計測値取得部１４１が受信した計測値情報が示す計測値を格納すべきビジネスプロセスインスタンスがあるか否かを判断する。
ビジネスプロセスインスタンスは、プロセス名及びプロセス番号により区別される。計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、計測値情報からプロセス名及びプロセス番号を取得し、ビジネスプロセスインスタンス記憶部８１５が記憶したビジネスプロセスインスタンスのなかに、プロセス名及びプロセス番号が一致するものがあるかを調べることにより、計測値を格納すべきビジネスプロセスインスタンスがあるか否かを判断する。
計測値を格納すべきビジネスプロセスインスタンスがないと判断した場合は、Ｓ５４へ進む。
計測値を格納すべきビジネスプロセスインスタンスがあると判断した場合は、Ｓ５５へ進む。
【０１２５】
Ｓ５４において、計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルを入力する。
計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、入力したビジネスプロセスモデルに基づいて、計測値情報から取得したプロセス名及びプロセス番号を有するビジネスプロセスインスタンスを生成する。
計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、生成したビジネスプロセスインスタンスを出力する。
ビジネスプロセスインスタンス記憶部８１５は、ＣＰＵ９１１などの処理装置を用いて、計測値収集部８１４が出力したビジネスプロセスインスタンスを入力する。
ビジネスプロセスインスタンス記憶部８１５は、磁気ディスク装置９２０などの記憶装置を用いて、入力したビジネスプロセスインスタンスを記憶する。
【０１２６】
これにより、計測値を格納すべきビジネスプロセスインスタンスが構築される。
【０１２７】
Ｓ５５において、計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、計測値がビジネスプロセスインスタンスについての計測値であるか、タスクインスタンスについての計測値であるかを判断する。
ビジネスプロセスインスタンスについての計測値であれば、ビジネスプロセスインスタンスの属性として記憶することができるが、タスクインスタンスについての計測値であれば、ビジネスプロセスインスタンスのなかのタスクインスタンスの属性として記憶する必要がある。１つのビジネスプロセスインスタンスのなかでも、同じ処理を複数回実行した場合には、それぞれの実行に対応するタスクインスタンスが存在するからである。
計測値がタスクインスタンスについての計測値である場合、計測値収集部８１４は、更に、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスインスタンス記憶部８１５が記憶したビジネスプロセスインスタンスのなかに、計測値を格納すべきタスクインスタンスがあるか否かを判断する。
タスクインスタンスは、タスク名及びタスク番号により区別される。計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、計測値情報からタスク名及びタスク番号を取得し、ビジネスプロセスインスタンス記憶部８１５が記憶したプロセス名及びプロセス番号が一致するビジネスプロセスインスタンスのなかに、タスク名及びタスク番号が一致するタスクインスタンスがあるか否かを調べることにより、計測値を格納すべきタスクインスタンスがあるか否かを判断する。
計測値を格納すべきタスクインスタンスがないと判断した場合は、Ｓ５６へ進む。
計測値がビジネスプロセスインスタンスについての計測値であると判断した場合および計測値を格納すべきタスクインスタンスがあると判断した場合は、Ｓ５７へ進む。
【０１２８】
Ｓ５６において、計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスモデル記憶部８１２が記憶したビジネスプロセスモデルを入力する。
計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、入力したビジネスプロセスモデルに基づいて、計測値情報から取得したタスク名及びタスク番号を有するタスクインスタンスを生成する。
計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、生成したタスクインスタンスを出力する。
ビジネスプロセスインスタンス記憶部８１５は、ＣＰＵ９１１などの処理装置を用いて、計測値収集部８１４が出力したタスクインスタンスを入力する。
ビジネスプロセスインスタンス記憶部８１５は、磁気ディスク装置９２０などの記憶装置を用いて、記憶したプロセス名及びプロセス番号が一致するビジネスプロセスインスタンスのなかに、入力したタスクインスタンスを記憶する。
【０１２９】
これにより、計測値を格納すべきタスクインスタンスが構築される。
【０１３０】
Ｓ５７において、計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、計測値を格納すべき計測値インスタンスがあるか否かを判断する。
計測値インスタンスとは、計測値を記憶する記憶領域のことである。
計測値インスタンスがないと判断した場合には、Ｓ５８へ進む。
計測値インスタンスがあると判断した場合には、Ｓ５９へ進む。
【０１３１】
Ｓ５８において、計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、計測値インスタンスを生成する。
すなわち、ビジネスプロセスインスタンス記憶部８１５が計測値を記憶すべき記憶領域を確保する。
【０１３２】
Ｓ５９において、ビジネスプロセスインスタンス記憶部８１５は、磁気ディスク装置９２０などの記憶装置を用いて、計測値インスタンスに計測値を記憶する。
【０１３３】
Ｓ６０において、計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、計測値が変化したことを、業務分析部８１６に通知する情報を生成する。
計測値収集部８１４は、ＣＰＵ９１１などの処理装置を用いて、生成した情報を出力し、業務分析部８１６に対して通知する。
【０１３４】
なお、計測値が変化したか否かを計測値収集部８１４が判断せずに、計測値が変化したものとして、業務分析部８１６に通知するのは、計測値が変化した場合のみ、収集エージェント８１７が計測値情報を送信してくることになっているからである。しかし、計測値が変化したか否かを計測値収集部８１４が判断し、変化したと判断した場合のみ通知することとしてもよい。
【０１３５】
図２０は、この実施の形態における業務分析部８１６が分析スレッドの設定をする分析設定処理の流れの一例を示すフローチャート図である。
分析スレッドとは、ＣＰＵ９１１などの処理装置を用いて、計測値、指標値、処理条件などの監視項目を監視し、変化があった場合に必要な処理をするプログラムである。
分析スレッドは、監視項目ごとに起動する。業務分析部８１６は、分析スレッドを起動するときに、分析間隔や分析方法を設定して起動する。
指標値を監視する分析スレッドは、指標値算出部１６１に相当する。
処理条件を監視する分析スレッドは、処理実行部１６２に相当する。
【０１３６】
分析設定処理は、処理条件情報５１０などを入力する条件入力処理（図１５のＳ１２）が完了したあと、収集エージェント８１７を設定する収集設定処理（図１５のＳ１３）と並行して行う。
【０１３７】
Ｓ６３において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、起動済の分析スレッドのリストを生成する。
【０１３８】
Ｓ６４において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０を入力する。
業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報５１０が示す処理条件それぞれについて、その処理条件を監視する分析スレッドを判別する。
業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、算出式記憶部１２３が記憶した算出式情報５３０のうち、図１６のＳ２６で算出式記憶部１２３が印をつけた算出式情報５３０を入力する。
業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式情報５３０が示す指標値それぞれについて、その指標値を監視する分析スレッドを判別する。
業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、計測設定記憶部１２４が記憶した計測設定情報５４０のうち、図１６のＳ２９で計測設定記憶部１２４が印をつけた計測設定情報５４０を入力する。
業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報５４０が示す計測値それぞれについて、その計測値を監視する分析スレッドを判別する。
業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、判別した分析スレッドが起動済であるか否かを判断する。
起動済であると判断した分析スレッドについては、Ｓ６５へ進む。
起動済でないと判断した分析スレッドについては、Ｓ６８へ進む。
【０１３９】
Ｓ６５において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４で起動済であると判断した分析スレッドを、Ｓ６３で生成したリストから削除する。
【０１４０】
Ｓ６６において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４で入力した処理条件情報５１０・算出式情報５３０・計測設定情報５４０に基づいて、分析スレッドの設定に変更があり、分析スレッドを設定し直す必要があるか否かを判断する。
変更があると判断した場合は、Ｓ６７へ進む。
変更がないと判断した場合は、その監視項目についての処理を終了する。
【０１４１】
Ｓ６７において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６６で設定に変更があると判断した分析スレッドを停止する。
【０１４２】
Ｓ６８において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４で入力した処理条件情報５１０・算出式情報５３０・計測設定情報５４０に基づいて、分析スレッドを起動する。
【０１４３】
すべての監視項目について判別した分析スレッドの処理が終了した場合、Ｓ６９へ進む。
Ｓ６９において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６３で生成した起動済の分析スレッドのリストを入力する。
監視すべき監視項目を監視する分析スレッドは、Ｓ６５でリストから削除されているので、リストに残っている分析スレッドは、監視する必要のない監視項目を監視する分析スレッドである。
そこで、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、入力したリストに残っている分析スレッドを停止する。
【０１４４】
これにより、分析スレッドの設定が完了し、業務状況の監視が始まる。
【０１４５】
計測値を監視する分析スレッドの設定において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、算出式情報５３０に基づいて、指標値を算出するためにその計測値を参照する指標値を判別し、計測値を監視する分析スレッドが、その指標値を監視する分析スレッドに対して、計測値の変化を通知するよう設定する。
同様に、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、処理条件情報５１０に基づいて、処理条件を判断するためにその計測値を参照する処理条件を判別し、計測値を監視する分析スレッドが、その処理条件を監視する分析スレッドに対して、計測値の変化を通知するよう設定する。
指標値を監視する分析スレッドの設定においても同様に、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、処理条件情報５１０に基づいて、処理条件を判断するためにその指標値を参照する処理条件を判別し、指標値を監視する分析スレッドが、その処理条件を監視する分析スレッドに対して、指標値の変化を通知するよう設定する。
【０１４６】
また、処理条件を監視する分析スレッドの設定において、業務分析部８１６は、ＣＰＵ９１１などの処理装置を用いて、処理記憶部１２２が記憶した処理内容情報５２０を入力し、処理条件を監視する分析スレッドが、入力した処理内容情報５２０が示す処理を実行するよう設定する。
【０１４７】
次に、業務分析部８１６が業務の進捗状況を分析する業務分析処理について説明する。
業務分析処理は、図１５のＳ１６に相当する。業務分析処理は、処理実行工程の一例である。
業務分析処理は、上述した分析スレッドが行う。分析スレッドには、計測値を監視する分析スレッド、指標値を監視する分析スレッド（指標値算出部１６１）、処理条件を監視する分析スレッド（処理実行部１６２）の３種類があるので、それぞれの場合を分けて説明する。
【０１４８】
図２１は、計測値を監視する分析スレッドが計測値を監視する業務分析処理の流れの一例を示すフローチャート図である。
【０１４９】
Ｓ７１ａにおいて、分析スレッドは、ＣＰＵ９１１などの処理装置を用いて、図１９のＳ６０で計測値収集部８１４が通知を出力したか否かを判断する。
この通知は、その分析スレッドの監視項目である計測値が変化したことを通知するものである。
その分析スレッドが監視する計測値の変化を知らせる通知を計測値収集部８１４が出力したと判断した場合、分析スレッドは、ＣＰＵ９１１などの処理装置を用いて、計測値収集部８１４が出力した通知を入力し、Ｓ７４ａへ進む。
その分析スレッドが監視する計測値の変化を知らせる通知を計測値収集部８１４が出力していないと判断した場合は、Ｓ７２ａへ進む。
【０１５０】
Ｓ７２ａにおいて、分析スレッドは、ＣＰＵ９１１などの処理装置を用いて、計測間隔時間が経過したか否かを判断する。
計測間隔時間は、計測設定記憶部１２４が記憶した計測設定情報５４０における計測間隔５４６が示す時間であり、分析スレッドを起動する際に、業務分析部８１６が設定する。この実施の形態では、収集エージェント８１７が計測間隔ごとに計測した計測値に変化があれば、計測値収集部８１４から通知が来るはずであるが、なんらかの障害により通知が来ない場合に備えて、計測間隔時間が経過するごとに、計測値をチェックする構成としている。
計測間隔時間が経過したと判断した場合は、Ｓ７４ａへ進む。
計測間隔時間が経過していないと判断した場合は、Ｓ７１ａに戻る。
【０１５１】
Ｓ７４ａにおいて、分析スレッドは、ＣＰＵ９１１などの処理装置を用いて、計測値記憶部１５１が記憶した計測値情報（計測値インスタンスが記憶した値）を入力する。
分析スレッドは、ＣＰＵ９１１などの処理装置を用いて、入力した計測値情報に基づいて、計測値が変化したか否かを判断する。
計測値が変化したと判断した場合は、Ｓ７５ａへ進む。
計測値が変化していないと判断した場合は、Ｓ７１ａに戻る。
【０１５２】
Ｓ７５ａにおいて、分析スレッドは、ＣＰＵ９１１などの処理装置を用いて、起動時に設定された情報に基づいて、その計測値を参照する他の分析スレッド（指標値算出部１６１、処理実行部１６２）に対して、計測値が変化したことを通知する。
その後、Ｓ７１ａに戻る。
【０１５３】
図２２は、この実施の形態における指標値算出部１６１が指標値を監視する業務分析処理の流れの一例を示すフローチャート図である。
【０１５４】
Ｓ７１ｂにおいて、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、図２０のＳ７５ａで計測値を監視する他の分析スレッドが通知を出力したか否かを判断する。
この通知は、指標値算出部１６１の監視項目である指標値を算出するために参照する計測値が変化したことを通知するものである。
指標値算出部１６１が監視する指標値を算出するために参照する計測値の変化を知らせる通知を他の分析スレッドが出力したと判断した場合、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、他の分析スレッドが出力した通知を入力し、Ｓ７３ｂへ進む。
参照する計測値の変化を知らせる通知を他の分析スレッドが出力していないと判断した場合は、Ｓ７２ｂへ進む。
【０１５５】
Ｓ７２ｂにおいて、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、監視項目である指標値についての算出間隔時間が経過したか否かを判断する。
算出間隔時間は、算出式記憶部１２３が記憶した算出式情報５３０における算出間隔５３６が示す時間であり、指標値ごとに異なる。
算出間隔時間が経過したと判断した場合は、Ｓ７３ｂへ進む。
算出間隔時間が経過していないと判断した場合は、Ｓ７１ｂに戻る。
【０１５６】
Ｓ７３ｂにおいて、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、計測値記憶部１５１が計測値情報を入力する。
指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、入力した計測値情報に基づいて、指標値を算出する。
指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、算出した指標値を示す指標値情報を出力する。
指標値記憶部１５２は、ＣＰＵ９１１などの処理装置を用いて、指標値算出部１６１が出力した指標値情報を入力する。
指標値記憶部１５２は、磁気ディスク装置９２０などの記憶装置を用いて、入力した指標値情報を記憶する。
指標値記憶部１５２は、指標値を指標値インスタンスに記憶する。指標値インスタンスとは、計測値インスタンスと同様、指標値を記憶するための記憶領域である。指標値インスタンスは、その指標値がインスタンスについての指標値であれば、ビジネスプロセスインスタンスあるいはそのなかのタスクインスタンスごとに管理する。また、その指標値がモデルについての指標値であれば、ビジネスプロセスモデルあるいはそのなかのタスクごとに管理する。
指標値算出部１６１は、指標値記憶部１５２に指標値インスタンスがあるか否かを判断し、なければ指標値インスタンスを生成する。指標値記憶部１５２は、生成した指標値インスタンスに指標値を記憶する。
【０１５７】
Ｓ７４ｂにおいて、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、指標値が変化したか否かを判断する。
指標値の算出式によっては、参照する計測値が変化しても、指標値は変わらない場合があり得る。
そこで、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、あらかじめ（Ｓ７３ｂより前に）指標値記憶部１５２が記憶した指標値情報を入力しておく。
指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、入力した指標値情報が示す指標値と、Ｓ７３ｂで算出した指標値とを比較して、指標値が変化したか否かを判断する。
指標値が変化したと判断した場合は、Ｓ７５ｂへ進む。
指標値が変化していないと判断した場合は、Ｓ７１ｂに戻る。
【０１５８】
Ｓ７５ｂにおいて、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、その指標値を参照する他の分析スレッド（処理実行部１６２）に対して、指標値が変化したことを通知する。
その後、Ｓ７１ｂに戻る。
【０１５９】
図２３は、この実施の形態における処理実行部１６２が処理条件を監視する業務分析処理の流れの一例を示すフローチャート図である。
【０１６０】
Ｓ７１ｃにおいて、処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、他の分析スレッドが通知を出力したか否かを判断する。
この通知は、処理実行部１６２の監視項目である処理条件を判断するために参照する計測値・指標値が変化したことを通知するものである。
処理実行部１６２の監視項目である処理条件を判断するために参照する計測値・指標値が変化したことを知らせる通知を他の分析スレッドが出力したと判断した場合、処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、他の分析スレッドが出力した通知を入力し、Ｓ７４ｃへ進む。
参照する計測値・指標値が変化したことを知らせる通知を他の分析スレッドが出力していないと判断した場合は、Ｓ７２ｃへ進む。
【０１６１】
Ｓ７２ｃにおいて、処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、判断間隔時間が経過したか否かを判断する。
判断間隔時間が経過したと判断した場合は、Ｓ７４ｃへ進む。
判断間隔時間が経過していないと判断した場合は、Ｓ７１ｃに戻る。
【０１６２】
Ｓ７４ｃにおいて、処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、計測値記憶部１５１が記憶した計測値情報と、指標値記憶部１５２が記憶した指標値情報とを入力する。
処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測値情報・指標値情報に基づいて、処理条件を満たしたか否かを判断する。
処理条件を満たしたと判断した場合には、Ｓ７５ｃへ進む。
処理条件を満たしていないと判断した場合には、Ｓ７１ｃに戻る。
【０１６３】
収集エージェント８１７が計測した計測値が変化した場合、計測値収集部８１４が計測値情報を受信して、ビジネスプロセスインスタンス記憶部８１５が記憶する。
計測値収集部８１４は、計測値が変化したことを、その計測値を監視する分析スレッドに通知する。計測値を監視する分析スレッドは、計測値が変化したことを、その計測値を参照している分析スレッドに通知する。
その通知を受けて、指標値を監視する分析スレッドは、指標値を算出し、指標値が変化したことを、その指標値を参照している分析スレッドに通知する。
その通知を受けて、処理条件を監視する分析スレッドは、処理条件を判断し、条件を満たす場合には、処理を実行する。
【０１６４】
このように、分析スレッドの間で値の変化を通知しあって処理をするので、計測値が変化した場合、すぐに、処理実行部１６２が処理条件を満たすか否かを判断し、処理を実行できる。
また、計測値が変化せず、指標値の算出や処理条件の判断をする必要がない場合には、分析スレッドが処理をしないので、監視項目の数が多い場合でも、分析スレッドの処理のために使われるＣＰＵ資源は少なくて済む。そのため、ＢＡＭサーバ装置１００は、必要な処理を迅速に実行することができる。
したがって、状況が変化した場合に遅滞なく処理が実行されるので、業務監視システム８００の利用者が、すぐに必要な措置を取るなどの対処をすることができる。
【０１６５】
なお、この実施の形態では、業務サーバ装置が実行する業務アプリケーションプログラムの実行ログを監視対象８１８として、収集エージェント８１７が計測値を計測する場合について説明したが、業務監視システム８００が業務の進捗状況を把握するために監視する監視対象８１８は、実行ログに限られるものではない。
【０１６６】
例えば、業務サーバ装置が記憶しているデータベースを監視対象８１８として監視してもよい。その場合、計測設定部１３２は、収集エージェント８１７に対して、データベースを識別するデータベース名、データベースからデータを取得するためのＳＱＬ（構造化クエリ言語。Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅの略）文などを示す情報を、計測設定情報として送信し、収集エージェント８１７を設定する。
【０１６７】
あるいは、業務サーバ装置のＯＳや業務アプリケーションプログラムが提供するＡＰＩ（アプリケーション・プログラム・インターフェース。Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅの略）を呼び出すことにより、収集エージェント８１７がＯＳや業務アプリケーションプログラムの状態を取得し、ＯＳや業務アプリケーションプログラムを監視対象８１８として監視してもよい。その場合、計測設定部１３２は、収集エージェント８１７に対して、呼び出すＡＰＩを識別するＡＰＩ名、ＡＰＩに与える引数の値、ＡＰＩの戻り値の解釈の方法などを示す情報を。計測設定情報として送信し、収集エージェント８１７を設定する。
【０１６８】
あるいは、ＪＭＳ（Ｊａｖａ（登録商標）  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）やＥＳＢ（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｅｒｖｉｃｅ  Ｂｕｓ）で公開（Ｐｕｂｌｉｓｈ）されている記事（Ｔｏｐｉｃ）に対して購読（Ｓｕｂｓｃｒｉｂｅ）することにより、収集エージェント８１７が情報を収集し、ＪＭＳやＥＳＢを監視対象８１８として監視してもよい。
【０１６９】
なお、指標値は、管理者や利用者が処理条件を設定するに際して、理解しやすいよう便宜的に設けれられているものである。条件入力処理において、指標値を用いず、計測値だけに基づく条件式を入力することも可能であり、その場合には、算出式記憶部１２３・算出式設定部１３１・指標値記憶部１５２・指標値算出部１６１がなくてもよい。
【０１７０】
また、指標値のなかには、ＢＡＭサーバ装置１００で算出するのではなく、収集エージェント８１７が計測値として計測できるものもある。例えば、上述した例に出てきた「処理時間」は、計測値「開始時刻」と計測値「完了時刻」とに基づいて、指標値算出部１６１が算出する指標値として説明したが、収集エージェント８１７が算出し、ＢＡＭサーバ装置１００に対して、計測値として送信する構成であってもよい。同様に、「未処理件数」は、計測値「全件数」と計測値「処理済件数」とに基づいて、指標値算出部１６１が算出する指標値として説明したが、収集エージェント８１７が算出し、ＢＡＭサーバ装置１００に対して、計測値として送信する構成であってもよい。
【０１７１】
その場合、業務サーバ装置上で動作する収集エージェント８１７の処理が増えるので、業務サーバ装置のＣＰＵ資源を多く使用することになる。
しかし、ＢＡＭサーバ装置１００に送信しなければならない計測値が少なくなれば、送信される情報量が抑えることができる。
例えば、「全件数」と「処理済件数」とを送信する代わりに、「未処理件数」を送信することとすれば、送信する情報量は、単純計算で半分になる。
更に、例えば、「全件数」が１増え、「処理済件数」も１増えた場合、「未処理件数」は変わらないので、収集エージェント８１７は、「未処理件数」を送信しない。そのため、送信する情報量は、更に少なくて済む。
【０１７２】
このように、どの値を計測値として収集エージェント８１７が計測し、どの値を指標値として指標値算出部１６１が算出するかは、業務サーバ装置の処理能力と、ＬＡＮ９４２の通信容量との関係によって定まる。
【０１７３】
この実施の形態におけるＢＡＭサーバ装置１００（監視装置）は、
情報を記憶する磁気ディスク装置９２０などの記憶装置と、
情報を処理するＣＰＵ９１１などの処理装置と、
監視対象８１８の状態を計測する収集エージェント８１７（計測装置）と通信する通信装置９１５と、
ＣＰＵ９１１などの処理装置を用いて、監視対象８１８の状態についての条件を示す情報を入力し、磁気ディスク装置９２０などの記憶装置を用いて、入力した情報を処理条件情報５１０として記憶する条件記憶部１２１と、
ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０が示す条件を満たす場合に実行すべき処理を示す情報を入力し、磁気ディスク装置９２０などの記憶装置を用いて、入力した情報を処理内容情報５２０として記憶する処理記憶部１２２と、
ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０を入力し、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報５１０が示す条件を判断するために収集エージェント８１７が計測すべき監視対象８１８の状態を判別し、通信装置９１５を用いて、収集エージェント８１７に対して、判別した監視対象８１８の状態を示す情報を計測項目情報として送信する計測設定部１３２と、
通信装置９１５を用いて、計測設定部１３２が送信した計測項目情報にしたがって収集エージェント８１７が計測した監視対象８１８の状態の計測値を示す情報を受信し、磁気ディスク装置９２０などの記憶装置を用いて、受信した情報を計測値情報として記憶する計測値取得部１４１・計測値記憶部１５１と、
ＣＰＵ９１１などの処理装置を用いて、計測値記憶部１５１が記憶した計測値情報と条件記憶部１２１が記憶した処理条件情報５１０と処理記憶部１２２が記憶した処理内容情報５２０とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した計測値情報に基づいて、入力した処理条件情報５１０が示す条件を満たすか否かを判断し、ＣＰＵ９１１などの処理装置を用いて、処理条件情報５１０が示す条件を満たすと判断した場合に、入力した処理内容情報５２０が示す処理を実行する処理実行部１６２とを有することを特徴とする。
【０１７４】
この実施の形態におけるＢＡＭサーバ装置１００によれば、処理実行部１６２が処理条件を判断するのに必要な計測項目を計測設定部１３２が判別し、判別した計測項目だけを収集エージェント８１７が計測して送信するので、業務サーバ装置やＬＡＮ９４２を用いて行われる通常の業務に対する影響を最小限に抑えつつ、必要な業務の監視をすることができるという効果を奏する。
【０１７５】
この実施の形態におけるＢＡＭサーバ装置１００が監視対象８１８を監視する監視方法は、
情報を記憶する磁気ディスク装置９２０などの記憶装置と、情報を処理するＣＰＵ９１１などの処理装置と、監視対象８１８の状態を計測する収集エージェント８１７（計測装置）と通信する通信装置９１５とを有するＢＡＭサーバ装置１００（監視装置）が、監視対象８１８の状態を監視する監視方法において、
ＣＰＵ９１１などの処理装置が、監視対象８１８の状態についての条件を示す情報を入力し、磁気ディスク装置９２０などの記憶装置が、入力した情報を処理条件情報５１０として記憶する条件記憶工程と、
ＣＰＵ９１１などの処理装置が、条件記憶工程で磁気ディスク装置９２０などの記憶装置が記憶した処理条件情報５１０が示す条件を満たす場合に実行すべき処理を示す情報を入力し、磁気ディスク装置９２０などの記憶装置が、入力した情報を処理内容情報５２０として記憶する処理記憶工程と、
ＣＰＵ９１１などの処理装置が、条件記憶工程で磁気ディスク装置９２０などの記憶装置が記憶した処理条件情報５１０を入力し、ＣＰＵ９１１などの処理装置が、入力した処理条件情報５１０が示す条件を判断するために収集エージェント８１７が計測すべき監視対象８１８の状態を判別し、通信装置９１５が、収集エージェント８１７に対して、判別した監視対象８１８の状態を示す情報を計測項目情報として送信する計測設定工程と、
通信装置９１５が、計測設定工程で通信装置９１５が送信した計測項目情報にしたがって収集エージェント８１７が計測した監視対象８１８の状態の計測値を示す情報を受信し、磁気ディスク装置９２０などの記憶装置が、受信した情報を計測値情報として記憶する計測値取得工程と、
ＣＰＵ９１１などの処理装置が、計測値取得工程で磁気ディスク装置９２０などの記憶装置が記憶した計測値情報と条件記憶工程で磁気ディスク装置９２０などの記憶装置が記憶した処理条件情報５１０と処理記憶工程で磁気ディスク装置９２０などの記憶装置が記憶した処理内容情報５２０とを入力し、ＣＰＵ９１１などの処理装置が、入力した計測値情報に基づいて、入力した処理条件情報５１０が示す条件を満たすか否かを判断し、ＣＰＵ９１１などの処理装置が、処理条件情報５１０が示す条件を満たすと判断した場合に、入力した処理内容情報５２０が示す処理を実行する処理実行工程とを有することを特徴とする。
【０１７６】
この実施の形態における監視方法によれば、処理実行工程でＣＰＵ９１１などの処理装置が処理条件を判断するのに必要な計測項目を、計測設定工程でＣＰＵ９１１などの処理装置が判別し、判別した計測項目だけを収集エージェント８１７が計測して送信するので、業務サーバ装置やＬＡＮ９４２を用いて行われる通常の業務に対する影響を最小限に抑えつつ、必要な業務の監視をすることができるという効果を奏する。
【０１７７】
また、計測設定部１３２が計測する必要のある計測項目を判別するので、管理者・利用者が計測項目を設定する必要がなく、監視の設定を容易にすることができるという効果を奏する。
【０１７８】
この実施の形態におけるＢＡＭサーバ装置１００は、情報を記憶する磁気ディスク装置９２０などの記憶装置と、情報を処理するＣＰＵ９１１などの処理装置と、監視対象８１８の状態を計測する収集エージェント８１７と通信する通信装置９１５とを有するコンピュータをこの実施の形態におけるＢＡＭサーバ装置１００として機能させる監視プログラムを、コンピュータが実行することによって実現することができる。
【０１７９】
この実施の形態における監視プログラムによれば、処理実行部１６２が処理条件を判断するのに必要な計測項目を計測設定部１３２が判別し、判別した計測項目だけを収集エージェント８１７が計測して送信するので、業務サーバ装置やＬＡＮ９４２を用いて行われる通常の業務に対する影響を最小限に抑えつつ、必要な業務を監視できる監視装置を得ることができるという効果を奏する。
【０１８０】
この実施の形態における業務監視システム８００は、ビジネスアクティビティ収集をするシステムである。
この実施の形態におけるビジネスアクティビティ収集方式は、ビジネスプロセスを元に連携する業務システムにおいて、ビジネスプロセスに対応付けた設定情報を元に、分析に必要となる情報のみを効率的に収集することを特徴とする。
【０１８１】
この実施の形態におけるビジネスアクティビティ収集方式によれば、上記のような構成、動作とすることにより、通知設定がされている緊急度の高い監視項目についてのみ収集エージェント８１７による計測値の収集を行うことが可能となるため、収集の負荷を減らすことができる。
また、収集値の変化から指標値に関する監視、通知の監視が順番に実行されるため、通知の遅延を減らすことができる。
また、ビジネスプロセスを元に各種設定が行えることにより設定が容易となる。
【０１８２】
実施の形態２．
実施の形態２について、図２４〜図２６を用いて説明する。
この実施の形態における業務監視システム８００の全体構成は、実施の形態１で説明した業務監視システム８００と同様なので、ここでは説明を省略する。
【０１８３】
図２４は、この実施の形態におけるＢＡＭサーバ装置１００の詳細なブロックの構成の一例を示す詳細ブロック図である。
なお、実施の形態１で説明したＢＡＭサーバ装置１００のブロックと同様のブロックには、同一の符号を付し、ここでは説明を省略する。
【０１８４】
業務設定部８１１は、更に、許容遅延入力部１１５を有する。
許容遅延入力部１１５は、キーボード９０２などの入力装置を用いて、管理者などの操作を入力する。
許容遅延入力部１１５は、ＣＰＵ９１１などの処理装置を用いて、入力した情報に基づいて、業務の状況が変化してから、処理実行部１６２がその状況の変化に対応する処理を実行するまでに許容される遅延時間を示す情報（以下「許容遅延情報」という）を生成する。
許容遅延入力部１１５は、ＣＰＵ９１１などの処理装置を用いて、生成した許容遅延情報を出力する。
【０１８５】
ビジネスプロセスモデル記憶部８１２は、更に、許容遅延記憶部１２５を有する。
許容遅延記憶部１２５は、ＣＰＵ９１１などの処理装置を用いて、許容遅延入力部１１５が出力した許容遅延情報を入力する。
許容遅延記憶部１２５は、磁気ディスク装置９２０などの記憶装置を用いて、入力した許容遅延情報を記憶する。
【０１８６】
例えば、処理実行部１６２が、業務の状況が変化したことを電子メールで通知する処理を実行する場合において、状況の変化にリアルタイムで対応しなければならず、遅くとも１分以内に通知してほしい場合がある。また、それほど緊急に対処しなければならない状況ではなく、１０分以内に通知してもらえればよい場合もある。
【０１８７】
このように、処理実行部１６２が実行する処理には、遅延が許される時間が短いものもあれば、長いものもあり、様々である。
そこで、許容遅延入力部１１５は、処理を実行するまでに許される遅延時間を入力し、許容遅延記憶部１２５が記憶する。
【０１８８】
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、許容遅延記憶部１２５が記憶した許容遅延情報を入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した許容遅延情報に基づいて、指標値を算出すべき算出間隔を算出する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、算出した算出間隔を示す情報（算出間隔情報）を出力する。
【０１８９】
算出式記憶部１２３は、ＣＰＵ９１１などの処理装置を用いて、算出式設定部１３１が出力した算出間隔情報を入力する。
算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、入力した算出間隔情報を記憶する。
【０１９０】
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、許容遅延記憶部１２５が記憶した許容遅延情報を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、算出式記憶部１２３が記憶した算出間隔情報を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した許容遅延情報と入力した算出間隔情報とに基づいて、計測値を計測すべき計測間隔を算出する。
計測設定部１３２は、通信装置９１５を用いて、収集エージェント８１７に対して、算出した計測間隔を示す情報（計測間隔情報）を送信する。
【０１９１】
収集エージェント８１７は、計測設定部１３２から受信した計測間隔情報に基づいて、計測間隔情報が示す間隔で、監視対象８１８の状態を計測する。
【０１９２】
例えば、ある処理の実行に１０分の遅延が許される場合、処理実行部１６２は、１０分に１回、処理条件が満たされているか否かを判断すればよい。これに対し、１分の遅延しか許されない場合には、処理実行部１６２は、少なくとも１分に１回、処理条件が満たされているかを判断する必要がある。
【０１９３】
その処理条件の判断が１０分に１回しか行われないのであれば、指標値算出部１６１は、その処理条件で参照されている指標値を、１０分に１回更新すればよい。これに対し、１分に１回判断される処理条件で参照されている指標値の場合、指標値算出部１６１は、その指標値を１分に１回更新する必要がある。
【０１９４】
計測値も同様に、その計測値を参照する処理条件の判断間隔・指標値の算出間隔に基づいて、計測すべき計測間隔が決まる。
【０１９５】
図２５は、この実施の形態における収集設定部８１３が計測値の計測間隔を算出する計測間隔算出処理の流れの一例を示すフローチャート図である。
【０１９６】
Ｓ８１において、算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、記憶した算出式情報５３０すべてについて、最大時間を示す情報を、算出間隔５３６として記憶する。
【０１９７】
Ｓ８２において、算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０と、許容遅延記憶部１２５が記憶した許容遅延情報とを入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報５１０に基づいて、その処理条件が参照している指標値を判別する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、判別した指標値について算出式記憶部１２３が記憶した算出式情報５３０を入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式情報５３０の算出間隔５３６が示す時間と、入力した許容遅延情報が示す許容遅延時間とを比較し、どちらが長いか判断する。
算出間隔５３６が示す時間のほうが長いと判断した場合は、Ｓ８３へ進む。
許容遅延時間のほうが長い（または等しい）と判断した場合は、Ｓ８４へ進む。
【０１９８】
Ｓ８３において、算出式記憶部１２３は、ＣＰＵ９１１などの処理装置を用いて、許容遅延記憶部１２５が記憶した許容遅延情報を入力する。
算出式記憶部１２３は、磁気ディスク装置９２０などの記憶装置を用いて、Ｓ８２で算出間隔５３６が示す時間のほうが長いと算出式設定部１３１が判断した算出式情報５３０について、入力した許容遅延情報を算出間隔５３６として記憶する。
【０１９９】
Ｓ８２〜Ｓ８３の処理をすべての処理条件について行うことにより、算出間隔５３６が示す時間は、その指標値を参照している処理条件のなかで、最も許容遅延時間が短い処理条件の許容遅延時間と等しくなる。
【０２００】
Ｓ８４において、計測設定記憶部１２４は、磁気ディスク装置９２０などの記憶装置を用いて、記憶した計測設定情報５４０すべてについて、最大時間を示す情報を、計測間隔５４６として記憶する。
【０２０１】
Ｓ８５において、計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０と、許容遅延記憶部１２５が記憶した許容遅延情報とを入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した処理条件情報５１０に基づいて、その処理条件が参照している計測値を判別する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、判別した計測値について計測設定記憶部１２４が記憶した計測設定情報５４０を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報５４０の計測間隔５４６が示す時間と、入力した許容遅延情報が示す許容遅延時間とを比較し、どちらが長いか判断する。
計測間隔５４６が示す時間のほうが長いと判断した場合は、Ｓ８６へ進む。
許容遅延時間のほうが長い（または等しい）と判断した場合は、Ｓ８７へ進む。
【０２０２】
Ｓ８６において、計測設定記憶部１２４は、ＣＰＵ９１１などの処理装置を用いて、許容遅延記憶部１２５が記憶した許容遅延情報を入力する。
計測設定記憶部１２４は、磁気ディスク装置９２０などの記憶装置を用いて、Ｓ８５で計測間隔５４６が示す時間のほうが長いと計測設定部１３２が判断した計測設定情報５４０について、入力した許容遅延情報を計測間隔５４６として記憶する。
【０２０３】
Ｓ８５〜Ｓ８６をすべての処理条件について行うことにより、計測間隔５４６が示す時間は、その計測値を参照している処理条件のなかで、最も許容遅延時間が短い処理条件の許容遅延時間と等しくなる。
【０２０４】
Ｓ８７において、計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、算出式記憶部１２３が記憶した算出式情報５３０を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した算出式情報５３０に基づいて、その指標値が参照している計測値を判別する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、判別した計測値について計測設定記憶部１２４が記憶した計測設定情報５４０を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した計測設定情報５４０の計測間隔５４６が示す時間と、入力した算出式情報５３０の算出間隔５３６が示す時間とを比較し、どちらが長いか判断する。
計測間隔５４６が示す時間のほうが長いと判断した場合は、Ｓ８８へ進む。
算出間隔５３６が示す時間のほうが長い（または等しい）と判断した場合は、計測間隔算出処理を終了する。
【０２０５】
Ｓ８８において、計測設定記憶部１２４は、ＣＰＵ９１１などの処理装置を用いて、算出式記憶部１２３が記憶した算出式情報５３０を入力する。
計測設定記憶部１２４は、磁気ディスク装置９２０などの記憶装置を用いて、Ｓ８７で計測間隔５４６が示す時間のほうが長いと計測設定部１３２が判断した計測設定情報５４０について、入力した算出式情報５３０の算出間隔５３６を計測間隔５４６として記憶する。
【０２０６】
Ｓ８７〜Ｓ８８をすべての指標値について行うことにより、計測間隔５４６が示す時間は、その計測値を、指標値を介して間接的に参照している処理条件も含めた処理条件のなかで、最も許容遅延時間が短い処理条件の許容遅延時間と等しくなる。
【０２０７】
図２６は、この実施の形態における計測間隔算出処理によって算出される計測間隔５４６の一例を示す図である。
【０２０８】
条件記憶部１２１は、３つの処理条件「処理条件Ａ」「処理条件Ｂ」「処理条件Ｃ」についての処理条件情報５１０を記憶しているものとする。「処理条件Ａ」は「指標値ａ」を参照する。「処理条件Ｂ」は「指標値ａ」と「指標値ｃ」とを参照する。「処理条件Ｃ」は「指標値ｂ」と「計測値ｘ」とを参照する。
【０２０９】
許容遅延記憶部１２５は、それぞれの処理条件についての許容遅延時間を示す許容遅延情報５５０を記憶している。「処理条件Ａ」の許容遅延時間は６０秒、「処理条件Ｂ」の許容遅延時間は３００秒、「処理条件Ｃ」の許容遅延時間は６００秒である。
【０２１０】
算出式記憶部１２３は、４つの指標値「指標値ａ」「指標値ｂ」「指標値ｃ」「指標値ｄ」についての算出式情報５３０を記憶している。「指標値ａ」は「計測値ｘ」と「計測値ｙ」とを参照する。「指標値ｂ」は「計測値ｙ」と「計測値ｚ」とを参照する。「指標値ｃ」は「計測値ｚ」を参照する。「指標値ｄ」は「計測値ｘ」を参照する。
【０２１１】
図２５のＳ８１〜Ｓ８３の処理により、算出式設定部１３１が算出間隔時間を算出し、算出式記憶部１２３が算出間隔５３６を記憶する。
【０２１２】
この処理により、「指標値ａ」の算出間隔時間は、「指標値ａ」を参照している処理条件「処理条件Ａ」「処理条件Ｂ」の許容遅延時間のうち、一番短い許容遅延時間である６０秒に設定される。
「指標値ｂ」の算出間隔時間は、「指標値ｂ」を参照している処理条件「処理条件Ｃ」の許容遅延時間である６００秒に設定される。
「指標値ｃ」の算出間隔時間は、「指標値ｃ」を参照している処理条件「処理条件Ｂ」の許容遅延時間である３００秒に設定される。
「指標値ｄ」の算出間隔時間は、「指標値ｄ」を参照している処理条件がないので、最大時間（この例では９９９９９秒）に設定される。
なお、業務分析部８１６は、算出間隔時間が最大時間に設定された指標値を、算出する必要がないものと判断し、その指標値を監視する分析スレッドを起動しない。
【０２１３】
計測設定記憶部１２４は、３つの計測値「計測値ｘ」「計測値ｙ」「計測値ｚ」についての計測設定情報５４０を記憶している。
【０２１４】
図２５のＳ８４〜Ｓ８８の処理により、計測設定部１３２が計測間隔時間を算出し、計測設定記憶部１２４が計測間隔５４６を記憶する。
【０２１５】
この処理により、「計測値ｘ」の計測間隔時間は、「計測値ｘ」を参照している処理条件「処理条件Ａ」の許容遅延時間と「計測値ｘ」を参照している指標値「指標値ａ」「指標値ｄ」の算出間隔時間のうち、一番短い時間である６０秒に設定される。
「計測値ｙ」の計測間隔時間は、「計測値ｙ」を参照している指標値「指標値ａ」「指標値ｂ」の算出間隔時間のうち、一番短い時間である６０秒に設定される。
「計測値ｚ」の計測間隔時間は、「計測値ｚ」を参照している指標値「指標値ｂ」「指標値ｃ」の算出間隔時間のうち、一番短い時間である３００秒に設定される。
【０２１６】
なお、参照する指標値も処理条件もない計測値の計測間隔時間は、最大時間に設定される。計測設定部１３２は、計測間隔時間が最大時間に設定された計測値を、計測する必要がないものと判断し、収集エージェント８１７に対して、その計測値についての計測設定情報を送信しない。また、業務分析部８１６は、その計測値を監視する分析スレッドを起動しない。
【０２１７】
計測設定部１３２は、こうして算出した計測間隔時間を示す計測間隔情報を含む計測設定情報を、収集エージェント８１７に対して送信する。収集エージェント８１７は、受信した計測設定情報に基づいて、計測間隔情報が示す間隔で、計測値を計測する。
【０２１８】
このように、計測設定部１３２が、許容遅延時間に基づいて計測値を計測すべき間隔を算出し、収集エージェント８１７がそれにしたがって計測をするので、業務の状態が変化した場合に、許容遅延時間内に業務分析部８１６が処理を実行できる。
【０２１９】
計測設定部１３２が算出する計測間隔は、許容遅延時間内に業務分析部８１６が処理を実行できる間隔としては、最長の間隔である。これ以上計測間隔を空けると、許容遅延時間内に業務分析部８１６が処理を実行できない可能性がある。
収集エージェント８１７が消費する業務サーバ装置のＣＰＵ資源や計測値の送信のために消費するＬＡＮ９４２の通信量を最小に抑えるためには、計測間隔をできる限り長くしたほうがよい。
【０２２０】
したがって、計測設定部１３２が算出した計測間隔で計測をすれば、通常業務に与える影響を最小限に抑えつつ、必要な監視を行うことができる。
【０２２１】
この実施の形態におけるＢＡＭサーバ装置１００（監視装置）は、更に、
ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０が示す条件を満たしてから、処理記憶部１２２が記憶した処理内容情報５２０が示す処理を実行するまでに許容される遅延時間を示す情報を入力し、磁気ディスク装置９２０などの記憶装置を用いて、入力した情報を許容遅延情報５５０として記憶する許容遅延記憶部１２５を有し、
計測設定部１３２が、更に、
ＣＰＵ９１１などの処理装置を用いて、許容遅延記憶部１２５が記憶した許容遅延情報５５０を入力し、ＣＰＵ９１１などの処理装置を用いて、入力した許容遅延情報５５０に基づいて、収集エージェント８１７（計測装置）が監視対象８１８の状態を計測すべき間隔を算出し、通信装置９１５を用いて、収集エージェント８１７に対して、算出した間隔を示す情報を計測間隔情報として送信することを特徴とする。
【０２２２】
この実施の形態におけるＢＡＭサーバ装置１００によれば、計測設定部１３２が許容遅延情報５５０に基づいて算出した間隔で、収集エージェント８１７が監視対象８１８の状態を計測するので、通常業務に与える影響を最小限に抑えつつ、必要な監視をすることができるという効果を奏する。
【０２２３】
また、計測設定部１３２が最も効率のよい計測間隔を算出するので、管理者・利用者が計測間隔を設定する必要がなく、監視の設定を容易にすることができるという効果を奏する。
【０２２４】
この実施の形態におけるビジネスアクティビティ収集方式は、通知で許容される遅延の設定情報より、ビジネスプロセスに対応付けられた設定情報を元に、収集する間隔を自動的に算出・設定することにより、リアルタイムな監視を実現することを特徴とする。
【０２２５】
この実施の形態におけるビジネスアクティビティ収集方式によれば、通知の「許容遅延」を設定することにより、収集エージェントの取得間隔が自動的に設定されることになり、許容遅延を満たすようなリアルタイムな監視を実現することが可能となる。
また、「許容遅延」を満たすための確認間隔（計測間隔）が設定されるため、さらに必要のない収集の負荷を削減することができる。
また、「許容遅延」から「確認間隔」が自動的に求められるため、さらに設定の負荷も削減することが出来る。
【０２２６】
実施の形態３．
実施の形態３について、図２７〜図３０を用いて説明する。
この実施の形態における業務監視システム８００の全体構成は、実施の形態１で説明した業務監視システム８００と同様なので、ここでは説明を省略する。
【０２２７】
図２７は、この実施の形態におけるＢＡＭサーバ装置１００の詳細なブロックの構成の一例を示す詳細ブロック図である。
なお、実施の形態２で説明したＢＡＭサーバ装置１００のブロックと同様のブロックには、同一の符号を付し、ここでは説明を省略する。
【０２２８】
処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、条件記憶部１２１が記憶した処理条件情報５１０が示す条件を満たすと判断した場合に、処理記憶部１２２が記憶した処理内容情報５２０が示す処理を実行する。
この実施の形態における処理実行部１６２は、許容遅延記憶部１２５が記憶した許容遅延情報５５０を変更する処理を実行する。
【０２２９】
実施の形態２において説明したように、処理実行部１６２が実行する処理のなかには、遅延が許される時間が短いものもあれば、長いものもある。
更に、業務の状況によっては、監視を強化しなければならない状況になる場合がある。そのような状況になった場合には、通常時よりも遅延が許される時間が短くなる。
【０２３０】
この実施の形態におけるＢＡＭサーバ装置１００は、そのような場合に許容遅延記憶部１２５が記憶した許容遅延時間を変更する処理を実行することにより、業務状況の変化に見合った監視強度を実現するものである。
【０２３１】
図２８は、この実施の形態における条件記憶部１２１及び処理記憶部１２２及び許容遅延記憶部１２５が記憶する処理条件情報５１０及び処理内容情報５２０及び許容遅延情報５５０の一例を示す図である。
【０２３２】
この例では、処理条件「成功率低下」により、「業務Ａ」の「成功率」が５０％未満になると、「業務Ａ」の管理者にメールで通知するよう設定されている。通常時において、成功率が５０％を切ってから、処理実行部１６２が通知処理を実行するまでに許される遅延時間は、６００秒である。
【０２３３】
例えば、未処理件数が増加すると、担当者が処理を焦るあまり成功率が低下する危険がある。そこで、未処理件数が増加した場合に、成功率の監視を強化する。
【０２３４】
そのため、処理条件「未処理件数超過」により、「処理ｂ」の未処理件数が１０件を超えると、「業務Ａ」の管理者にメールで通知するとともに、処理条件「成功率低下」の許容遅延時間を１２０秒に変更するよう設定されている。
また、処理条件「未処理件数回復」により、「処理ｂ」の未処理件数が１０件以下に回復した場合には、処理条件「成功率低下」の許容遅延時間を６００秒に変更し、成功率の監視を通常の状態に戻すよう設定されている。
【０２３５】
図２９は、この実施の形態におけるＢＡＭサーバ装置１００が計測間隔を再設定する計測間隔再設定処理の流れの一例を示すフローチャート図である。
計測間隔再設定処理は、処理実行部１６２が、処理条件情報５１０が示す条件を満たすと判断して、処理内容情報５２０が示す処理を実行した場合に行う処理である。
【０２３６】
Ｓ９１において、許容遅延記憶部１２５が、ＣＰＵ９１１などの処理装置を用いて、記憶した許容遅延情報５５０が変更されたか否かを判断する。
許容遅延情報５５０が変更されたと判断した場合には、Ｓ９２へ進む。
許容遅延情報５５０が変更されていないと判断した場合には、計測間隔再設定処理を終了する。
【０２３７】
Ｓ９２において、収集設定部８１３が、ＣＰＵ９１１などの処理装置を用いて、計測間隔算出処理をする。
計測間隔算出処理の詳細は、実施の形態２において図２５を用いて説明したので、ここでは説明を省略する。
【０２３８】
Ｓ９３において、収集設定部８１３が、通信装置９１５を用いて、Ｓ９２で算出しなおした計測間隔を示す計測間隔情報を含む計測設定情報を、収集エージェント８１７に対して送信し、収集エージェント８１７の設定をする。
【０２３９】
これにより、収集エージェント８１７が設定し直され、監視の強化・緩和に対して、最も適切な計測間隔で計測を行うことになる。
【０２４０】
図３０は、この実施の形態における条件記憶部１２１及び処理記憶部１２２及び許容遅延記憶部１２５が記憶する処理条件情報５１０及び処理内容情報５２０及び許容遅延情報５５０の別の例を示す図である。
【０２４１】
管理者は、「処理ａ」の「処理時間」が３００秒を超えたら、２０秒以内にメールで通知してもらいたいと考え、条件入力部１１１、処理入力部１１２、許容遅延入力部１１５がそのような設定を入力する。
【０２４２】
しかし、「処理時間」は、いきなり３００秒を超えることはない。例えば、ある時点において「処理時間」が１２０秒だったとき、６０秒後の計測結果に基づいて「処理時間」を算出すると、まだその処理が継続中なら１８０秒になり、その処理が完了していれば１８０秒以下になる。
したがって、管理者の設定では許容遅延時間が２０秒であっても、常に２０秒間隔で処理条件を判断する必要はない。
【０２４３】
許容遅延入力部１１５は、ＣＰＵ９１１などの処理装置を用いて、入力した許容遅延情報が示す許容遅延時間が、常にその間隔で処理条件を判断しなければならないものであるか否かを判断する。
許容遅延入力部１１５は、ＣＰＵ９１１などの処理装置を用いて、常にその間隔で処理条件を判断しなければならないものではないと判断した場合、許容遅延時間をもっと長いものにする。
その代わり、許容遅延入力部１１５は、ＣＰＵ９１１などの処理装置を用いて、許容遅延時間を変更する条件を求め、求めた条件に基づいて、処理条件情報５１０、処理内容情報５２０、許容遅延情報５５０を生成して、出力する。
条件記憶部１２１、処理記憶部１２２、許容遅延記憶部１２５は、ＣＰＵ９１１などの処理装置を用いて、許容遅延入力部１１５が出力した処理条件情報５１０、処理内容情報５２０、許容遅延情報５５０をそれぞれ入力し、磁気ディスク装置９２０などの記憶装置を用いて記憶する。
【０２４４】
この例では、処理時間が２４０秒を超えるまでは６０秒間隔で処理条件の判断を行い、処理時間が２４０秒を超えたら、２０秒間隔で処理条件を判断するよう、許容遅延時間を変更する処理をする。処理が完了した場合には、許容遅延時間を６０秒に戻す。
【０２４５】
これにより、管理者が許容する遅延時間が短い場合であっても、収集エージェント８１７が監視対象８１８を計測する計測間隔を長くすることができ、収集エージェント８１７が消費する業務サーバ装置のＣＰＵ資源や計測値の送信のために消費するＬＡＮ９４２の通信量を最小限に抑えることができる。
【０２４６】
また、このような条件を業務設定部８１１が生成し、管理者が入力する必要がないので、監視の設定が容易になる。
【０２４７】
この実施の形態におけるＢＡＭサーバ装置１００（監視装置）は、
処理実行部１６２が、更に、
ＣＰＵ９１１などの処理装置を用いて、処理条件情報５１０が示す条件を満たすと判断した場合に、許容遅延記憶部１２５が記憶した許容遅延情報５５０を変更する処理を実行し、
計測設定部１３２が、更に、
ＣＰＵ９１１などの処理装置を用いて、許容遅延記憶部１２５が記憶した許容遅延情報５５０を処理実行部１６２が変更した場合に、収集エージェント８１７（計測装置）が監視対象８１８の状態を計測すべき間隔を算出し直し、通信装置９１５を用いて、収集エージェント８１７に対して、算出し直した上記間隔を示す情報を計測間隔情報として送信することを特徴とする。
【０２４８】
この実施の形態におけるＢＡＭサーバ装置１００によれば、状況に応じて許容遅延時間を自動的に変更し、監視レベルを変えることができるので、必要なときに遅滞なく、処理実行部１６２が処理を実行することができるとともに、監視による通常業務への影響を更に低く抑えることができるという効果を奏する。
【０２４９】
この実施の形態におけるビジネスアクティビティ収集方式は、通知設定のアクションとして、収集する間隔を変更することにより、状況に応じて自動的に収集する間隔を変更することを特徴とする。
【０２５０】
この実施の形態におけるビジネスアクティビティ収集方式によれば、業務の状況に応じて許容時間の設定を変更することが可能となり、緊急度の高い通知の遅延を小さくすることができ、収集の負荷を削減することができる。
また、通知設定の「アクション」カラムに通知設定の許容遅延の変更を設定するのみで、収集エージェントの設定変更までが自動的に行われるため、設定も負荷も削減される。
【０２５１】
実施の形態４．
実施の形態４を、図３１〜図３８を用いて説明する。
この実施の形態における業務監視システム８００の全体構成は、実施の形態１で説明した業務監視システム８００と同様なので、ここでは説明を省略する。
【０２５２】
図３１は、この実施の形態におけるＢＡＭサーバ装置１００の詳細なブロックの構成の一例を示す詳細ブロック図である。
なお、実施の形態２で説明したＢＡＭサーバ装置１００のブロックと同様のブロックには、同一の符号を付し、ここでは説明を省略する。
【０２５３】
業務分析部８１６は、更に、遅延時間算出部１６３を有する。
遅延時間算出部１６３は、ＣＰＵ９１１などの処理装置を用いて、収集エージェント８１７が監視対象８１８の状態を計測してからその計測結果に基づいて処理条件が判断されるまでのオーバーヘッドを算出する。
遅延時間算出部１６３は、ＣＰＵ９１１などの処理装置を用いて、算出したオーバーヘッドを示す情報（以下「実測遅延情報」という）を出力する。
【０２５４】
ビジネスプロセスインスタンス記憶部８１５は、更に、実測遅延記憶部１５３を有する。
実測遅延記憶部１５３は、ＣＰＵ９１１などの処理装置を用いて、遅延時間算出部１６３が出力した実測遅延情報を入力する。
実測遅延記憶部１５３は、磁気ディスク装置９２０などの記憶装置を用いて、入力した実測遅延情報を記憶する。
【０２５５】
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、実測遅延記憶部１５３が記憶した実測遅延情報を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した実測遅延情報に基づいて、計測間隔を算出し、通信装置９１５を用いて、収集エージェント８１７に対して、算出した計測間隔を示す計測間隔情報を含む計測設定情報を送信して、収集エージェント８１７の設定をする。
【０２５６】
図３２は、この実施の形態におけるオーバーヘッドの一例を示す図である。
収集エージェント８１７が監視対象８１８の状態を計測してから、処理実行部１６２が処理条件を判断するまでのオーバーヘッドには、例えば、計測値取得時間、指標値算出時間、条件判断時間などがある。
【０２５７】
計測値取得時間とは、収集エージェント８１７が、監視対象８１８の状態を計測してから、計測値情報を送信し、計測値取得部１４１が受信して計測値記憶部１５１が記憶するまでの時間である。
指標値算出時間とは、計測値記憶部１５１が計測値情報を記憶してから、計測値取得部１４１が指標値算出部１６１に通知し、指標値算出部１６１が入力して指標値を算出して指標値記憶部１５２が記憶するまでの時間である。
処理判断時間とは、計測値記憶部１５１・指標値記憶部１５２が計測値・指標値を記憶してから、計測値取得部１４１・指標値算出部１６１が処理実行部１６２に通知し、処理実行部１６２が入力して処理条件を判断し、処理を実行するまでの時間である。
【０２５８】
これらのオーバーヘッドは、計測間隔に比べてかなり短いので、通常無視できる。
しかし、計測間隔をできるだけ長くしようとすると、これらのオーバーヘッドの影響を無視できなくなる場合がある。
【０２５９】
監視対象８１８の状態が変化してから、処理実行部１６２が処理を実行するまでの最大遅延時間は、前回の計測直後に状態が変化した場合を考慮すると、計測間隔時間と、上述のオーバーヘッドの時間との合計である。これが、許容遅延時間以下であれば、許容遅延時間内に処理を実行できる。したがって、計測間隔をできるだけ長くするためには、最大遅延時間と許容遅延時間とが等しくなるように、計測間隔を設定すればよい。
【０２６０】
これらのオーバーヘッドをあらかじめ見積もり、業務設定部８１１が入力し、ビジネスプロセスモデル記憶部８１２が記憶しておいてもよい。
【０２６１】
この実施の形態では、これらのオーバーヘッドを実測し、自動的に最適な計測間隔を設定する構成について説明する。
【０２６２】
図３３は、この実施の形態における収集エージェント８１７の収集スレッドが監視対象８１８の状態を計測する状態計測処理の流れの一例を示すフローチャート図である。
なお、実施の形態１で図１８を用いて説明した状態計測処理と共通する処理については、同一の符号を付し、ここでは説明を省略する。
【０２６３】
Ｓ４０において、収集スレッドは、ＣＰＵ９１１などの処理装置を用いて、現在時刻を計測する。
Ｓ４３’において、収集スレッドは、ＣＰＵ９１１などの処理装置を用いて、Ｓ４１で計測した計測値を示す情報のほか、Ｓ４０で計測した現在時刻を示す情報を含む計測値情報を生成し、出力する。
【０２６４】
図３４は、この実施の形態におけるＢＡＭサーバ装置１００が計測値を収集する計測値収集処理の流れの一例を示すフローチャート図である。
なお、実施の形態１で図１９を用いて説明した計測値収集処理と共通する処理については、同一の符号を付し、ここでは説明を省略する。
【０２６５】
Ｓ５０において、ビジネスプロセスインスタンス記憶部８１５は、ＣＰＵ９１１などの処理装置を用いて、現在時刻を計測する。
ビジネスプロセスインスタンス記憶部８１５は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５２で受信した計測値情報に基づいて、収集エージェント８１７が図３３のＳ４０で計測した時刻を求め、計測した現在時刻との差を計算して、計測値取得時間とする。
Ｓ５９’において、ビジネスプロセスインスタンス記憶部８１５は、磁気ディスク装置９２０などの記憶装置を用いて、計測値のほか、Ｓ５０で計測した現在時刻と、Ｓ５０で算出した計測値取得時間とを記憶する。
【０２６６】
図３５は、この実施の形態における指標値算出部１６１が指標値を監視する業務分析処理の流れの一例を示すフローチャート図である。
なお、実施の形態１で図２２を用いて説明した業務分析処理と共通する処理については、同一の符号を付し、ここでは説明を省略する。
【０２６７】
Ｓ７０ｂにおいて、指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、現在時刻を計測する。
指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７３ｂで入力した計測値情報に基づいて、ビジネスプロセスインスタンス記憶部８１５が図３４のＳ５０で計測した時刻を求め、計測した現在時刻との差を計算して、指標値算出時間とする。
指標値算出部１６１は、ＣＰＵ９１１などの処理装置を用いて、計測した現在時刻と算出した指標値算出時間とを出力する。
指標値記憶部１５２は、ＣＰＵ９１１などの処理装置を用いて、指標値算出部１６１が出力した現在時刻を入力する。
指標値記憶部１５２は、磁気ディスク装置９２０などの記憶装置を用いて、Ｓ７３ｂで記憶した指標値情報とともに、入力した現在時刻を記憶する。
【０２６８】
なお、指標値を算出するために参照している計測値が複数ある場合には、それぞれの計測値について計測した時刻のうち、最も早い時刻に基づいて、指標値算出部１６１は、指標値算出時間を算出する。
【０２６９】
図３６は、この実施の形態における処理実行部１６２が処理条件を監視する業務分析処理の流れの一例を示すフローチャート図である。
なお、実施の形態１で図２３を用いて説明した業務分析処理と共通する処理については、同一の符号を付し、ここでは説明を省略する。
【０２７０】
Ｓ７０ｃにおいて、処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、現在時刻を計測する。
処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７４ｃで入力した計測値情報・指標値情報に基づいて、ビジネスプロセスインスタンス記憶部８１５が図３４のＳ５０で計測した時刻・指標値算出部１６１が図３５のＳ８０ｂで計測した時刻を求め、計測した現在時刻との差を計算して、処理判断時間とする。
処理実行部１６２は、ＣＰＵ９１１などの処理装置を用いて、算出した処理判断時間を出力する。
【０２７１】
なお、処理条件を判断するために参照している計測値・指標値が複数ある場合には、それぞれの計測値・指標値について計測した時刻のうち、最も早い時刻に基づいて、処理実行部１６２が、処理判断時間を算出する。
【０２７２】
図３７は、この実施の形態における遅延時間算出部１６３が実測遅延時間を算出する遅延時間算出処理の流れの一例を示すフローチャート図である。
【０２７３】
Ｓ０１において、遅延時間算出部１６３は、ＣＰＵ９１１などの処理装置を用いて、図３４のＳ５９’でビジネスプロセスインスタンス記憶部８１５が記憶した計測値取得時間、図３５のＳ７０ｂで指標値算出部１６１が出力した指標値算出時間、図３６のＳ７０ｃで処理実行部１６２が出力した処理判断時間などのオーバーヘッド時間を入力する。
【０２７４】
Ｓ０２において、遅延時間算出部１６３は、ＣＰＵ９１１などの処理装置を用いて、実測遅延記憶部１５３が記憶したオーバーヘッド時間を入力する。
遅延時間算出部１６３は、入力したオーバーヘッド時間と、Ｓ０１で入力したオーバーヘッド時間とに基づいて、最大オーバーヘッド時間を算出する。
遅延時間算出部１６３は、ＣＰＵ９１１などの処理装置を用いて、算出した最大オーバーヘッド時間を示す情報を出力する。
【０２７５】
Ｓ０３において、実測遅延記憶部１５３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０２で遅延時間算出部１６３が出力した最大オーバーヘッド時間を示す情報を入力する。
実測遅延記憶部１５３は、ＣＰＵ９１１などの処理装置を用いて、入力した最大オーバーヘッド時間を示す情報を、実測遅延時間を示す実測遅延情報として記憶する。
実測遅延記憶部１５３は、計測値ごと、指標値ごと、処理条件ごとに、それぞれの実測遅延情報を記憶する。
【０２７６】
この例では、遅延時間算出部１６３が、最大オーバーヘッド時間を算出し、実測遅延時間としているが、実測遅延時間は、例えば、平均オーバーヘッド時間でもよい。
【０２７７】
実測遅延時間として、最大オーバーヘッド時間を用いる場合、過去に実測したなかで最もオーバーヘッド時間が長い場合を基準とし、その場合でも処理実行部１６２が許容遅延時間内に処理を実行できるように、計測間隔を設定するので、安全性が高く、好ましい。
【０２７８】
実測遅延時間として、平均オーバーヘッド時間を用いる場合、最大オーバーヘッド時間を用いる場合よりも、計測間隔が長くなるので、収集エージェント８１７が消費する業務サーバ装置のＣＰＵ資源や、計測値を送信するためのＬＡＮ９４２の通信量が少なくて済むので、好ましい。
実測遅延時間として、平均オーバーヘッド時間を用いる場合、実際のオーバーヘッド時間が平均オーバーヘッド時間よりも長くなると、処理実行部１６２が許容遅延時間内に処理を実行できない可能性が生じる。
しかし、計測間隔は、監視対象８１８の状態が前回の計測の直後に変化した場合を想定して算出している。前回の計測からある程度の時間が経過した後に、監視対象８１８の状態が変化した場合には、実際のオーバーヘッド時間が平均オーバーヘッド時間よりも長くなったとしても、処理実行部１６２が許容遅延時間内の処理を実行することができる。
したがって、実測遅延時間として、平均オーバーヘッド時間を用いたとしても、処理実行部１６２が許容遅延時間内に処理を実行できない可能性は極めて少ない。
【０２７９】
上記のほか、例えば、遅延時間算出部１６３がオーバーヘッド時間の標準偏差を算出し、「平均オーバーヘッド時間＋標準偏差」を実測遅延時間として算出することとしてもよい。
あるいは、過去に実測したオーバーヘッド時間をすべて同じ重み付けとするのではなく、遅延時間算出部１６３が、最近のものほど重み付けが大きくなるようにした上で、平均オーバーヘッド時間などを算出し、実測遅延時間としてもよい。
【０２８０】
次に、収集設定部８１３が計測間隔時間を算出する計測間隔算出処理について説明する。
計測間隔算出処理は、最初の設定時のほか、実測遅延記憶部１５３が記憶した実測遅延時間が変化した場合など、計測間隔を再設定する必要が生じた場合に実行する。
最初の設定時においては、実測遅延記憶部１５３がまだ実測遅延時間を記憶していないので、あらかじめ見積もったオーバーヘッドに基づいて、計測間隔を算出する。
また、計測間隔の再設定は、実測遅延記憶部１５３が記憶した実測遅延時間が変化するたびに実行してもよいし、所定の間隔で定期的に実行してもよい。
実測遅延時間として、平均オーバーヘッド時間を用いる場合、実測遅延記憶部１５３が記憶した実測遅延情報がたびたび変化するので、そのたびに計測間隔を再設定するのは、効率が悪くなる場合がある。そのため、ある程度の時間が経過するまで待ち、その時間内に実測遅延記憶部１５３が記憶した実測遅延情報が変化した場合に、計測間隔を再設定することとしてもよい。
【０２８１】
図３８は、この実施の形態における収集設定部８１３が計測値の計測間隔を算出する計測間隔算出処理の流れの一例を示すフローチャート図である。
なお、実施の形態２で図２５を用いて説明した計測間隔算出処理と共通する処理については、同一の符号を付し、ここでは説明を省略する。
【０２８２】
Ｓ８２’において、算出式設定部１３１は、更に、ＣＰＵ９１１などの処理装置を用いて、実測遅延記憶部１５３が記憶した実測遅延情報のうち、その処理条件についての実測遅延情報を入力する。
算出式設定部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力した実測遅延情報が示す実測遅延時間（条件判断時間）と、算出式情報５３０の算出間隔５３６が示す時間との合計を求め、許容遅延情報が示す許容遅延時間と比較して、どちらが長いか判断する。
「算出間隔＋条件判断時間」のほうが長いと判断した場合は、Ｓ８３へ進む。
許容遅延時間のほうが長い（または等しい）と判断した場合は、Ｓ８４へ進む。
【０２８３】
Ｓ８５’において、計測設定部１３２は、更に、ＣＰＵ９１１などの処理装置を用いて、実測遅延記憶部１５３が記憶した実測遅延情報のうち、その指標値についての実測遅延情報を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した実測遅延情報が示す実測遅延時間（指標値算出時間）と、計測設定情報５４０の計測間隔５４６が示す時間との合計を求め、許容遅延情報が示す許容遅延時間と比較して、どちらが長いか判断する。
「計測間隔＋指標値算出時間」のほうが長いと判断した場合は、Ｓ８６へ進む。
許容遅延時間のほうが長い（または等しい）と判断した場合は、Ｓ８７’へ進む。
【０２８４】
Ｓ８７’において、計測設定部１３２は、更に、ＣＰＵ９１１などの処理装置を用いて、実測遅延記憶部１５３が記憶した実測遅延情報のうち、その指標値についての実測遅延情報を入力する。
計測設定部１３２は、ＣＰＵ９１１などの処理装置を用いて、入力した実測遅延情報が示す実測遅延時間（指標値算出時間）と、計測設定情報５４０の計測間隔５４６が示す時間との合計を求め、算出間隔５３６が示す時間と比較して、どちらが長いか判断する。
「計測間隔＋指標値算出時間」のほうが長いと判断した場合は、Ｓ８８へ進む。
算出間隔５３６が示す時間のほうが長い（または等しい）と判断した場合は、Ｓ８９へ進む。
【０２８５】
Ｓ８９において、計測設定記憶部１２４は、更に、ＣＰＵ９１１などの処理装置を用いて、実測遅延記憶部１５３が記憶した実測遅延情報のうち、その計測値についての実測遅延情報を入力する。
計測設定記憶部１２４は、ＣＰＵ９１１などの処理装置を用いて、記憶した計測間隔５４６が示す時間から、入力した実測遅延情報が示す時間（計測値取得時間）を減算する。
計測設定記憶部１２４は、ＣＰＵ９１１などの処理装置を用いて、算出した時間を示す情報を計測間隔５４６として記憶する。
【０２８６】
このようにして算出した計測間隔に基づいて生成した計測設定情報を、計測設定部１３２が、通信装置９１５を用いて、収集エージェント８１７に対して送信し、収集エージェント８１７を設定する。
収集エージェント８１７は、設定された計測間隔にしたがって、監視対象８１８の状態を計測する。
【０２８７】
このようにオーバーヘッドを考慮して計測間隔を算出し、それにしたがって、収集エージェント８１７が計測を行うので、処理実行部１６２が許容遅延時間内に必要な処理を実行でき、しかも、収集エージェント８１７が消費する業務サーバ装置のＣＰＵ資源や、計測値の送信のために消費するＬＡＮ９４２の通信量を最小限に抑えることができる。
【０２８８】
この実施の形態におけるＢＡＭサーバ装置１００（監視装置）は、更に、
ＣＰＵ９１１などの処理装置を用いて、収集エージェント８１７（計測装置）が監視対象８１８の状態を測定した時刻と、計測値取得部１４１が計測値情報を記憶した時刻との差を算出し、ＣＰＵ９１１などの処理装置を用いて、算出した時刻の差を示す情報を、実測遅延情報として出力する遅延時間算出部１６３を有し、
計測設定部１３２が、更に、
ＣＰＵ９１１などの処理装置を用いて、遅延時間算出部１６３が出力した実測遅延情報を入力し、ＣＰＵ９１１などの処理装置を用いて、入力した許容遅延情報と、入力した実測遅延情報とに基づいて、収集エージェント８１７が監視対象８１８の状態を計測すべき間隔を算出することを特徴とする。
【０２８９】
この実施の形態におけるＢＡＭサーバ装置１００によれば、処理条件を判断するまでのオーバーヘッド時間を考慮して、計測設定部１３２が計測間隔を算出するので、処理条件を判断するまでのオーバーヘッド時間が大きい場合でも、許容遅延時間内に、処理実行部１６２が処理を実行できるという効果を奏する。
また、許容遅延時間内に、処理実行部１６２が処理を実行できる計測間隔のうち、計測間隔が最大になるように、計測設定部１３２が計測間隔を算出するので、収集エージェント８１７が消費する業務サーバ装置のＣＰＵ資源や、計測値の送信のために消費するＬＡＮ９４２の通信量を最小限に抑えることができるという効果を奏する。
【０２９０】
この実施の形態におけるビジネスアクティビティ収集方式は、許容される遅延に対して、設定した各値の収集や算出にかかる時間が大きい場合に、各オーバーヘッドを設定することにより、収集する間隔を自動的に補正することを特徴とする。
【０２９１】
この実施の形態におけるビジネスアクティビティ収集方式によれば、許容される遅延に対して、設定した各値の収集や算出にかかる時間が大きい場合に、オーバヘッドを考慮した補正を行うことが可能となる。
【０２９２】
この実施の形態におけるビジネスアクティビティ収集方式は、設定した各値の収集や算出にかかる時間を計測し、自動的に各オーバヘッドを設定することにより、収集する間隔を自動的に補正することを特徴とする。
【０２９３】
この実施の形態におけるビジネスアクティビティ収集方式によれば、オーバーヘッドの設定の手間を省くことができ、実測値オーバーヘッドからオーバーヘッドを求めることにより、オーバーヘッドによる取得間隔の補正の精度を上げることが可能となる。
【０２９４】
以上説明したビジネスアクティビティ収集方式によれば、分析結果を参照したいタイミングに合わせて、熟練した管理者が各情報の収集にかかる時間、収集にかかる負荷を考慮して、収集の対象／情報、間隔／タイミングを決定する必要がなく、分析結果を参照したいタイミングで必要な情報を確実に得ることができ、収集負荷を削減でき、設定が容易となる。
【図面の簡単な説明】
【０２９５】
【図１】実施の形態１における業務監視システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１におけるＢＡＭサーバ装置１００及び業務サーバ装置８２１〜８２３の外観の一例を示す図。
【図３】実施の形態１におけるＢＡＭサーバ装置１００及び業務サーバ装置８２１〜８２３のハードウェア資源の一例を示す図。
【図４】実施の形態１におけるＢＡＭサーバ装置１００及び業務サーバ装置８２１の機能ブロックの構成の一例を示すブロック構成図。
【図５】実施の形態１における業務設定部８１１が入力するビジネスプロセスモデルの一例を示す図。
【図６】実施の形態１における計測値収集部８１４が構築するビジネスプロセスインスタンスの一例を示す図。
【図７】実施の形態１におけるＢＡＭサーバ装置１００の更に詳細なブロックの構成の一例を示す詳細ブロック図。
【図８】実施の形態１におけるビジネスプロセスモデル記憶部８１２が記憶するビジネスプロセスモデルの一例を更に詳細に示す図。
【図９】実施の形態１におけるビジネスプロセスインスタンス記憶部８１５が記憶するビジネスプロセスインスタンスの一例を更に詳細に示す図。
【図１０】実施の形態１におけるビジネスプロセスモデル記憶部８１２が記憶するビジネスプロセスモデルの別の例を詳細に示す図。
【図１１】実施の形態１におけるビジネスプロセスインスタンス記憶部８１５が記憶するモデルについての計測値・指標値の一例を示す図。
【図１２】実施の形態１における条件入力部１１１及び処理入力部１１２が入力する処理条件情報及び処理内容情報の一例を示す図。
【図１３】実施の形態１における算出式記憶部１２３が記憶する算出式情報５３０の一例を示す図。
【図１４】実施の形態１における計測設定記憶部１２４が記憶する計測設定情報５４０の一例を示す図。
【図１５】実施の形態１における業務監視システム８００を用いて、管理者及び利用者が業務の進捗状況を監視する業務監視処理の全体の流れの一例を示すフローチャート図。
【図１６】実施の形態１におけるＢＡＭサーバ装置１００が処理条件情報５１０などを入力する条件入力処理の流れの一例を示すフローチャート図。
【図１７】実施の形態１における収集設定部８１３が収集エージェント８１７を設定する収集設定処理の流れの一例を示すフローチャート図。
【図１８】実施の形態１における収集スレッドが監視対象８１８の状態を計測する状態計測処理の流れの一例を示すフローチャート図。
【図１９】実施の形態１におけるＢＡＭサーバ装置１００が計測値を収集する計測値収集処理の流れの一例を示すフローチャート図。
【図２０】実施の形態１における業務分析部８１６が分析スレッドの設定をする分析設定処理の流れの一例を示すフローチャート図。
【図２１】計測値を監視する分析スレッドが計測値を監視する業務分析処理の流れの一例を示すフローチャート図。
【図２２】実施の形態１における指標値算出部１６１が指標値を監視する業務分析処理の流れの一例を示すフローチャート図。
【図２３】実施の形態１における処理実行部１６２が処理条件を監視する業務分析処理の流れの一例を示すフローチャート図。
【図２４】実施の形態２におけるＢＡＭサーバ装置１００の詳細なブロックの構成の一例を示す詳細ブロック図。
【図２５】実施の形態２における収集設定部８１３が計測値の計測間隔を算出する計測間隔算出処理の流れの一例を示すフローチャート図。
【図２６】実施の形態２における計測間隔算出処理によって算出される計測間隔５４６の一例を示す図。
【図２７】実施の形態３におけるＢＡＭサーバ装置１００の詳細なブロックの構成の一例を示す詳細ブロック図。
【図２８】実施の形態３における条件記憶部１２１及び処理記憶部１２２及び許容遅延記憶部１２５が記憶する処理条件情報５１０及び処理内容情報５２０及び許容遅延情報５５０の一例を示す図。
【図２９】実施の形態３におけるＢＡＭサーバ装置１００が計測間隔を再設定する計測間隔再設定処理の流れの一例を示すフローチャート図。
【図３０】実施の形態３における条件記憶部１２１及び処理記憶部１２２及び許容遅延記憶部１２５が記憶する処理条件情報５１０及び処理内容情報５２０及び許容遅延情報５５０の別の例を示す図。
【図３１】実施の形態４におけるＢＡＭサーバ装置１００の詳細なブロックの構成の一例を示す詳細ブロック図。
【図３２】実施の形態４におけるオーバーヘッドの一例を示す図。
【図３３】実施の形態４における収集エージェント８１７の収集スレッドが監視対象８１８の状態を計測する状態計測処理の流れの一例を示すフローチャート図。
【図３４】実施の形態４におけるＢＡＭサーバ装置１００が計測値を収集する計測値収集処理の流れの一例を示すフローチャート図。
【図３５】実施の形態４における指標値算出部１６１が指標値を監視する業務分析処理の流れの一例を示すフローチャート図。
【図３６】実施の形態４における処理実行部１６２が処理条件を監視する業務分析処理の流れの一例を示すフローチャート図。
【図３７】実施の形態４における遅延時間算出部１６３が実測遅延時間を算出する遅延時間算出処理の流れの一例を示すフローチャート図。
【図３８】実施の形態４における収集設定部８１３が計測値の計測間隔を算出する計測間隔算出処理の流れの一例を示すフローチャート図。
【符号の説明】
【０２９６】
１００  ＢＡＭサーバ装置、１１１  条件入力部、１１２  処理入力部、１１３  算出式入力部、１１４  計測設定入力部、１１５  許容遅延入力部、１２１  条件記憶部、１２２  処理記憶部、１２３  算出式記憶部、１２４  計測設定記憶部、１２５  許容遅延記憶部、１３１  算出式設定部、１３２  計測設定部、１４１  計測値取得部、１５１  計測値記憶部、１５２  指標値記憶部、１５３  実測遅延記憶部、１６１  指標値算出部、１６２  処理実行部、１６３  遅延時間算出部、１７１  設定受信部、１７２  状態計測部、１７３  計測値送信部、５１０  処理条件情報、５１１，５３１，５４１  対象、５１２，５３２，５４２  対象種別、５１３，５３３，５４３  名称、５１４  条件式、５１５，５３５  計算対象、５２０  処理内容情報、５２１  アクション、５３０  算出式情報、５３４  算出式、５３６  算出間隔、５４０  計測設定情報、５４４  計測方法、５４５  エージェント名、５４６  計測間隔、５５０  許容遅延情報、５８０  算出式雛形情報、５８１  対象雛形、５８４  算出式雛形、５８５  計算対象雛形、８００  業務監視システム、８１１  業務設定部、８１２  ビジネスプロセスモデル記憶部、８１２  ビジネスプロセスモデル記憶部、８１３  収集設定部、８１４  計測値収集部、８１５  ビジネスプロセスインスタンス記憶部、８１６  業務分析部、８１７  収集エージェント、８１８  監視対象、８２０  監視対象サーバ群、８２１〜８２３  業務サーバ装置、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2008021062.tif 000003
【図２】
2008021062.tif 000004
【図３】
2008021062.tif 000005
【図４】
2008021062.tif 000006
【図５】
2008021062.tif 000007
【図６】
2008021062.tif 000008
【図７】
2008021062.tif 000009
【図８】
2008021062.tif 000010
【図９】
2008021062.tif 000011
【図１０】
2008021062.tif 000012
【図１１】
2008021062.tif 000013
【図１２】
2008021062.tif 000014
【図１３】
2008021062.tif 000015
【図１４】
2008021062.tif 000016
【図１５】
2008021062.tif 000017
【図１６】
2008021062.tif 000018
【図１７】
2008021062.tif 000019
【図１８】
2008021062.tif 000020
【図１９】
2008021062.tif 000021
【図２０】
2008021062.tif 000022
【図２１】
2008021062.tif 000023
【図２２】
2008021062.tif 000024
【図２３】
2008021062.tif 000025
【図２４】
2008021062.tif 000026
【図２５】
2008021062.tif 000027
【図２６】
2008021062.tif 000028
【図２７】
2008021062.tif 000029
【図２８】
2008021062.tif 000030
【図２９】
2008021062.tif 000031
【図３０】
2008021062.tif 000032
【図３１】
2008021062.tif 000033
【図３２】
2008021062.tif 000034
【図３３】
2008021062.tif 000035
【図３４】
2008021062.tif 000036
【図３５】
2008021062.tif 000037
【図３６】
2008021062.tif 000038
【図３７】
2008021062.tif 000039
【図３８】
2008021062.tif 000040