JP4816169B2 - グローバルプロセス生成方法、装置、システム、およびプログラム - Google Patents
グローバルプロセス生成方法、装置、システム、およびプログラム Download PDFInfo
- Publication number
- JP4816169B2 JP4816169B2 JP2006070759A JP2006070759A JP4816169B2 JP 4816169 B2 JP4816169 B2 JP 4816169B2 JP 2006070759 A JP2006070759 A JP 2006070759A JP 2006070759 A JP2006070759 A JP 2006070759A JP 4816169 B2 JP4816169 B2 JP 4816169B2
- Authority
- JP
- Japan
- Prior art keywords
- activity
- message
- reception
- definition
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
この従来の進捗判断システムは、情報処理装置とメッセージ交換システムとイベントコンバータで構成されている。
このような構成を有する従来の進捗判断システムは次のように動作する。交換されているメッセージに基づいて対応するプロセスを結びつけており、メッセージの送受信をメッセージ交換システムが検出するとそのメッセージに対応するプロセスのログを出力することによってプロセスの監視を行っている。
この進捗判断システムによれば、ワークフローエンジンが単一の場合はプロセス管理を行なうことは可能となる。しかし、システムが本格的に運用されワークフローが複数の分散ワークフローとなったときに全体のプロセス管理を行なうことが出来ない。
第1の問題点は、プロセスを監視する場合、プロセスのフローを特定する必要があることである。
一連のプロセスを実行する分散ワークフローシステム上で、1つのノードを監視する場合、ノード内のプロセスフローは各ノードに記述されているプロセス定義によって判断することができるが、分散ワークフローシステム全体を監視する場合、各ノードのプロセス定義に記述されている送信アクティビティと受信アクティビティの関連付けを行い、分散ワークフローシステム全体としてどのように動作しているかを記述したグローバルプロセス定義を構成する必要がある。また、エラーが発生した場合に影響のあるプロセスを特定するために一連の処理を表すグローバルプロセス定義の構築が必要とである。
その理由は、プロセスの進捗を監視する場合、全体のフローに対してどのプロセスを実行しているかを知る必要があるためである。
本発明の他の目的は、プロセスの状態監視、エラーが発生した場合に影響のあるプロセスをすべて特定できるプロセス監視システム等を提供することにある。
本発明の他の目的は、マッピング定義を使用せずに分散ワークフローシステム上で一連の処理を表すグローバルプロセスを構築することができるグローバルプロセス生成方法等を提供することにある。
ここで、アクティビティとは、個々の人間またはコンピュータが行なう業務単位のことである。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
観測点装置は、その観測点装置が設置されたノードから、このノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と、送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを取得する観測データ取得部と、観測データをグローバルプロセス生成装置に送信する観測データ送信部とを備えている。
グローバルプロセス生成装置は、複数の観測装置点から、観測データを受信する観測データ受信部と、この観測データ受信部が受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、関連表から開始アクティビティを抽出する機能と、開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部とを備えている(請求項5及び請求項6)。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
図1を参照すると、グローバルプロセス生成システム50は、プロセスを実行するノードA、B、C、Dと、プロセスを実行するノードを監視し、監視装置25に監視情報を送信する観測点装置5−1、5−2、5−3と、すべての観測点装置からデータを取得することでシステム全体を監視する監視装置25(グローバルプロセス生成装置の一例)から構成されている。
プロセスエンジン8は、プロセスの処理フローを記述するプロセス定義11と、プロセス定義に記述されている各アクティビティの実行ログを保存するプロセスエンジンログ12、送信アクティビティが送信する先のエンドポイントの情報と受信アクティビティが受信するエンドポイントの情報が記述されているマッピング定義26を含む。
観測点装置5−1、5−2、5−3は、ノードA、B、C、D間で送受信を行なうメッセージa1−m1、a1−m2、b1−m1、b1−m2、c1−m1のログを保存するメッセージログ13、観測対象のノードのプロセス定義11、プロセスエンジンログ12、マッピング定義26を取得する構成となっている。
図1には、ノードを3個含む例を示したが、グローバルプロセス生成システム50は、一般には上記のノード2等と同様の構成のn個のノードを含む。
観測点装置5−1はプロセス定義11、プロセスエンジンログ12、メッセージログ13、マッピング定義26(これらのデータを以下「観測データ」という)を取得する観測データ取得部34と、観測データを監視装置25に送信する観測データ送信部35から構成される。観測点装置5−2ないし5−nの構成は、上記の観測点装置5−1と同一であるから、特に区別の必要がない場合は、これらの総称として「観測点装置5」と表記する。
また監視装置25は、各観測点装置5−1ないし5−nから観測データを受信する観測データ受信部36と、観測データを集積したデータベースであるプロセス定義データベース20、プロセスエンジンログデータベース21、メッセージログデータベース22、マッピング定義データベース29から送受信アクティビティの関連を示す関連表を作成し、一連のプロセスを表したグローバルプロセス定義24を導き出すプロセス合成部23を含んで構成される。
図3は、グローバルプロセス生成システム50の基本動作を説明するためのフローチャートである。
グローバルプロセス生成システム50におけるグローバルプロセス生成方法は図3示すように「情報収集処理」(ステップ100)、「情報抽出処理」(ステップ101)、「グローバルプロセス生成処理」(ステップ102)の3つの基本処理に分けられる。
次に、ステップ100で収集した観測情報から受信アクティビティと送信アクティビティの関連付けを行なう「情報抽出処理」を行う(ステップ101)。ここでアクティビティとは、個々の人間またはコンピュータが行なう業務単位のことである。
次に、ステップ101で関連付けを行なった結果からグローバルプロセスを生成する「グローバルプロセス生成処理」を行う(ステップ102)。
まず「情報収集処理」である、観測点装置5から観測点装置が設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を収集する方法について説明する。
図4は、図2に示したグローバルプロセス生成システム50におけるメッセージログの収集動作を説明するためのフローチャートである。
観測点装置5が設置されているノードがメッセージの送信および受信を行なう(ステップ1)。
すると、観測点装置5の観測データ取得部34がメッセージの送信および受信を検出し、送信および受信されたメッセージログを取得する(ステップ2)。
観測データ取得部34において取得されたメッセージログは、観測データ送信部35から送信され(ステップ3)、監視装置25の観測データ受信部36が受信する(ステップ4)。観測データ受信部36は、受信したメッセージログを、メッセージログデータベース22へ保存する(ステップ5)。
ノード上のプロセスはメッセージを受信した後、またはノード内でプロセスを実行したときに実行される(ステップ6)。
すると、ノードに設置している観測点装置5の観測データ取得部34においてプロセスの実行が検出され、実行されたプロセスのプロセスエンジンログが取得される(ステップ7)。
観測データ取得部34において取得されたプロセスエンジンログは、観測データ送信部35から送信され(ステップ8)、監視装置25の観測データ受信部36にて受信される(ステップ9)。観測データ受信部36にて受信されたプロセスエンジンログは、プロセスエンジンログデータベース21へ保存される(ステップ10)。
ノード内においてプロセスのフローを記述したプロセス定義を登録、更新、削除した(ステップ11)ときに観測データ取得部34によりプロセス定義変更が検出され、プロセス定義が取得される(ステップ12)。
観測データ取得部34において取得されたプロセス定義は、観測データ送信部35から送信され(ステップ13)、監視装置25の観測データ受信部36にて受信される(ステップ14)。
プロセス合成部23は、観測データ受信部36にて受信されたプロセス定義の種別を判断する(ステップ15)。種別が新規の場合、受信されたプロセス定義は、プロセス定義データベース20へ保存される(ステップ16)。種別が更新の場合は、プロセス定義データベースにすでに保存されているプロセス定義を上書きする(ステップ17)。種別が削除の場合は、プロセス定義ログデータベースにすでに保存されているプロセス定義を削除する(ステップ18)。
送信アクティビティが送信する先のエンドポイントの情報、受信アクティビティが受信するエンドポイントの情報を記述したマッピング定義が取得可能な場合は、マッピング定義から送信アクティビティと受信アクティビティの関連付けを行なう。
また、マッピング定義は標準の仕様が存在しないためプロセスエンジンに依存しており、各ノードでプロセスエンジンが異なる分散ワークフローシステム上で一連の動作を行なう場合、各ノードでマッピング定義を取得するのが困難である。そこでマッピング定義が取得不可能な場合は、マッピング定義を取得せずにメッセージログとプロセスエンジンログから送信アクティビティと受信アクティビティの関連付けを行なう。
図7は図2に示すようにプロセス合成部40で前述の「情報収集処理」によって取得した各観測点装置5のプロセス定義とマッピング定義を基に送信アクティビティと受信アクティビティの関連付けを行なう動作を説明するためのフローチャートである。
マッピング定義には各送信アクティビティが送信する先のエンドポイントの情報と各受信アクティビティが受信するエンドポイントの情報が記述されており、送信アクティビティのマッピング情報と受信アクティビティのマッピング情報が一致するとその送信アクティビティと受信アクティビティに関連付けがあると判断される。
次にマッピング定義データベース29にすでに保存されているすべての観測点装置5−1ないし5−nのマッピング定義を取得する(ステップ301)。
次に取得したプロセス定義の受信アクティビティがすべて選択済みか判断され(ステップ302)、すべて選択済みと判断された場合は、受信アクティビティと関連付けされていない送信アクティビティの処理へ進む(ステップ302の判定がイエス、ステップ311)。
次に、ステップ303で選択した受信アクティビティのマッピング情報をマッピング定義から取得する(ステップ304)。
次に、ステップ304で取得した受信アクティビティのマッピング情報と一致する送信アクティビティのマッピング情報が存在するか判断され(ステップ305)、存在しないと判断された場合は、選択した受信アクティビティに不特定マーク付けを行ない(ステップ305の判定がノー、ステップ310)、次の受信アクティビティの処理へ進む(ステップ302)。
次に、取得した送信アクティビティと選択した受信アクティビティの関連付けを行ない(ステップ309)、次の送信アクティビティのマッピング情報の処理へ進む(ステップ306)。
受信アクティビティと関連付けされていない送信アクティビティの中からすべて選択済みか判断され(ステップ311)、すべて選択済みと判断された場合は処理を終了する(ステップ311の判定がイエス、ステップ314)。
受信アクティビティと関連付けされていない送信アクティビティが存在すると判断された場合、関連付けされてない送信アクティビティの中から1つ取得する(ステップ311の判定がノー、ステップ312)。
次に取得した送信アクティビティに不特定マーク付けを行い(ステップ313)、次の送信アクティビティの処理へ進む(ステップ311)。
すべての送信アクティビティの処理が終了すると、送信アクティビティと受信アクティビティの関連付けが終了し、関連付けを行なった結果は関連表として保持する。
図8と図9は、図2に示すようにプロセス合成部40で前述の「情報収集処理」によって取得した各観測点装置5のメッセージログ、プロセスエンジンログ、プロセス定義を基にメッセージと送信/受信アクティビティの関連付けを行なう動作を説明するためのフローチャートである。
次に、プロセス定義データベース20にすでに保存されている選択した観測点装置5のプロセス定義を取得する(ステップ22)。
次に、プロセスエンジンログデータベース21にすでに保存されている選択した観測点装置5のプロセスエンジンログを取得する(ステップ23)。
次に、メッセージログデータベース22にすでに保存されている選択した観測点装置5のメッセージログを取得する(ステップ24)。
次に、取得したメッセージログ、プロセスエンジンログより受信アクティビティをすべて抽出し、各受信アクティビティが実行された直前に受信したメッセージをメッセージ毎に分類し集計する(ステップ27)。
次に、取得したメッセージログ、プロセスエンジンログより送信アクティビティをすべて抽出し、各送信アクティビティが実行された直後に送信したメッセージをメッセージ毎に分類し集計する(ステップ28)。
また、同期通信についても判別可能である。メッセージa1−m2とメッセージa1−m2間、メッセージb1−m1とメッセージb1−m2間の関係が同期通信であることが抽出される。メッセージ要求に対応するメッセージ応答には参照先としてメッセージ要求のメッセージIDが含まれるのが一般的であり、このメッセージIDを見ることによって同期通信であるかは判別可能である。
次に、受信アクティビティが実行された直前に受信したメッセージの種類毎の割合を取得する(ステップ33)。これはステップ27で集計した結果から取得できる。
ここで、有意に大きいかどうかの判断については、統計的検定によって行なわれ、例えば図1のノードA上で考えると、ノードA上における全ての受信アクティビティが実行された直前に受信したメッセージがメッセージa1−m1となるすべての受信アクティビティの総数を受信アクティビティ数Xとする。また、受信アクティビティa1−p1の実行された直前に受信したメッセージがメッセージa1−m1となる受信アクティビティa1−p1の総数を受信アクティビティ数Yとする。また、ノードA上におけるすべての受信アクティビティが実行された数を受信アクティビティ数Sとする。また、ノードA上における受信アクティビティa1−p1の実行された数を受信アクティビティ数Tとする。
ここで、「受信アクティビティ数Xに対する受信アクティビティ数Yの割合は、受信アクティビティ数Sに対する受信アクティビティ数Tの割合に等しい」を帰無仮説とし、また「受信アクティビティ数Xに対する受信アクティビティ数Yの割合は、受信アクティビティ数Sに対する受信アクティビティ数Tの割合より大きい」を対立仮説として片側検定を行い、検定が有意であった場合、受信アクティビティ数Xに対する受信アクティビティ数Yの割合は、受信アクティビティ数Sに対する受信アクティビティ数Tの割合よりも有意に大きいと判断される。
なお、有意水準については、アクティビティ数の大きさに応じて適切に定められる。
また、有意に大きいメッセージが1つであるか判断される。
一方、有意に大きいメッセージが1つだけ存在すると判断された場合は、受信アクティビティと受信メッセージの関連付けを行なう(ステップ34の判定がイエス、ステップ35)。
送信アクティビティと送信メッセージの関連付けの処理は、前述で行った受信アクティビティと受信メッセージの関連付けの処理(ステップ29〜ステップ37)と同様の処理を行うことによって関連付けを行うことができる(ステップ38〜ステップ46)。
すべての送信アクティビティと送信メッセージの関連付けが終わると、選択した観測点装置のメッセージの関連付けが終了し、次の観測点装置の処理(ステップ39の判定がイエス、ステップ20)に進む。
前述のステップ21からステップ46と同様の処理を選択されていない観測点が存在しなくなるまで行う。すべての観測点装置5の送信アクティビティと送信メッセージの関連付けを行った結果は送信の関連表、受信アクティビティと受信メッセージの関連付けを行なった結果は受信の関連表として保持する。
図10は、関連表のメッセージと送信/受信アクティビティの関連が不特定となっているメッセージとアクティビティの関連付けを行なう動作を説明するためのフローチャートである。
ここで、不特定アクティビティが同期通信のアクティビティである場合、不特定アクティビティに対応するアクティビティが存在する。不特定のアクティビティに対応するアクティビティとメッセージの関連が存在する場合、このメッセージに対応するメッセージと不特定のアクティビティに関連があることは明らかである。ここで、同期通信の場合、メッセージ要求とメッセージ応答の組が存在する。同様に、受信アクティビティに同期通信に対応する送信アクティビティがプロセス定義に書かれており、メッセージ要求を受信した受信アクティビティとメッセージ応答を送信する送信アクティビティの組が存在する。前述の図8メッセージと送信/受信アクティビティの関連付けフローのメッセージの分類(ステップ27、ステップ28)を行なったことでメッセージが同期通信であるか、またメッセージ要求とメッセージ応答の組が判断できる。前述で説明した処理を図10のフローチャートを基に説明する。
取得したアクティビティが同期通信であるかどうか判断され(ステップ52)、同期通信ではないと判断された場合は不特定アクティビティに関連するメッセージを特定することができないため、次の不特定アクティビティの処理へ進む(ステップステップ52の判定がノー、50)。
図11は、前述処理を行った結果を保持した関連表からグローバルプロセスを開始する開始アクティビティの抽出方法を説明するためのフローチャートである。
まず、グローバルプロセスを開始するアクティビティについて説明する。開始アクティビティには、観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティ、またはメッセージ受信せずに自ノード上でプロセスを開始するアクティビティの3つのアクティビティがある。開始アクティビティの抽出方法について図11のフローチャートを基に説明する。
関連表の中から送信アクティビティの関連が不特定となっている受信アクティビティをすべて選択済みか判断され(ステップ200)、選択されていない受信アクティビティが存在しないと判断されると、メッセージを受信せずに自ノード上でプロセスを開始するアクティビティの抽出処理へ進む(S200の判定がイエス、ステップ203)。
すべての受信アクティビティについて、開始アクティビティであるか否かの判定を前述のステップ200からステップ202と同様に処理を行う。
プロセス定義データベース20からすべての観測点のプロセス定義を取得し(ステップ203)、プロセス定義が選択済か判断され(ステップ204)、選択されていないプロセス定義が存在しないと判断されると処理が終了となる(ステップ204の判定がイエス、ステップ208)。
選択されていないプロセス定義が存在すると判断されると、プロセス定義データベース20の中からプロセス定義を1つ選択する(ステップ205)。選択したプロセス定義の中でメッセージを受信しないで開始する開始アクティビティが存在するか否かがプロセス定義の記述から判断され(ステップ206)、存在しない場合は次のプロセス定義の処理に進む(ステップ206の判定がノー、ステップ204)。
選択したプロセス定義の中でメッセージを受信しないで開始する開始アクティビティが存在すると判断されると(ステップ206)、選択したプロセス定義の中から開始アクティビティを取得し、開始アクティビティとして保持する(ステップ207)。
すべてのプロセス定義について前述のステップ204からステップ207と同様の処理を行う。すべてのプロセス定義のチェックが終了すると開始アクティビティの抽出処理が終了となる。
観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっている受信アクティビティ、またはメッセージ受信せずに自ノード上でプロセスを開始するアクティビティのいずれかである開始アクティビティから呼び出される一連のプロセスが特定できる範囲までをグローバルプロセスとする。グローバルプロセスの生成方法について図12のフローチャートを基に説明する。
選択されていない受信アクティビティが存在する場合はその中から1つを選択し(ステップ211)、取得した受信アクティビティのプロセス定義を取得する(ステップ212)。
関連が存在しない、または複数存在する場合は、呼び出し先が不特定として判断され次の送信アクティビティのチェックへ進む(ステップ215の判定がノー、ステップ213)。
ここで、1つの送信元の送信アクティビティに対して複数の送信先の受信アクティビティが存在する場合は、同じ定義の送信先の受信アクティビティが複数の送信元の送信アクティビティから呼び出されているようなプロセス定義が記述されている環境で、複数の送信元の送信アクティビティから同じ定義の送信先の受信アクティビティへのメッセージ要求に対してメッセージ応答を返す場合だけである。
送信先の受信アクティビティで要求メッセージを受信し、対応する送信先の送信アクティビティから複数の送信元の送信アクティビティへメッセージ応答を返し、そのメッセージ応答を複数の送信元の送信アクティビティに対応する受信アクティビティで受信する場合、1つの送信元の送信アクティビティに対して複数の送信先の受信アクティビティが存在する。
したがって、このグローバルプロセス生成方法では、必ず送信元のプロセス定義から検索するアルゴリズムのため、送信先が複数ある場合のプロセス定義を取得する必要はなく、取得する必要のあるプロセス定義が洩れる事はない。
取得していないと判断した場合は、取得した受信アクティビティのプロセス定義を未処理として保存し(ステップ217の判定がノー、ステップ218)、次の送信アクティビティの処理へ進む(ステップ213)。
ステップ210からステップ222までの処理を開始アクティビティがすべて選択済みとなるまで実行し、その数だけグローバルプロセスが導き出される。
グローバルプロセス生成システム50では、観測点装置50を設置することによって設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を監視装置25に送るように構成されている。
そのため、マッピング定義が取得可能な場合は監視装置25ですべてのノードのプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連を導くことによって、またマッピング定義が取得不可能な場合は監視装置ですべてのノードのメッセージログ、プロセスエンジンログ、プロセス定義から統計的検定により送信アクティビティと受信アクティビティの関連を導くことによって観測点装置内全体のグローバルプロセスを導くことができる。
しかし、メッセージ送受信の量を増やすことによって統計的検定から導き出されるメッセージとアクティビティの関係を特定することによって、また観測点装置の設置範囲を広げることによって実際のグローバルプロセスを導くことができる。
このように、マッピング定義が取得可能な場合でも、不可能な場合でもグローバルプロセスを導くことができるように構成されているため、マッピングがなくでもグローバルプロセスを導くことができる。
図1に示すように、観測点装置5−1、5−2、5−3をそれぞれ設置したノードA、ノードB、ノードCと、観測点装置を設置していないノードD間において、グローバルプロセス1が実行されている。グローバルプロセス1は、ノードD上からプロセスが開始され、ノードA上のプロセス定義a1、ノードB上のプロセス定義b1、ノードC上のプロセス定義c1を実行する。
また、図13に示すように、グローバルプロセス2がノードA、ノードB、ノードC上で実行されている。このグローバルプロセス2はノードA上から起動され、ノードA上でプロセス定義a2、ノードB上のプロセス定義b1、ノードC上のプロセス定義c2を実行する。
グローバルプロセス生成手法の「情報収集処理」は終了しているものとし、各ノード間にて送受信されたメッセージログはすでにメッセージログデータベース22に格納され、各ノードのプロセス定義はすでにプロセス定義データベース20に格納され、各ノード上で実行されたプロセスエンジンログはプロセスエンジンログデータベース21に格納されているものとする。
まず観測点装置5−1、5−2、5−3の中から観測点装置5−1を選択し(ステップ21)、観測点装置5−1のプロセス定義、プロセスエンジンログ、メッセージログを取得する(ステップ22〜ステップ24)。
前述で取得したプロセスエンジンログより受信アクティビティの実行された件数を受信アクティビティ毎に集計する(ステップ25)。集計が終了した結果は図15(a)となる。
したがってメッセージa1−m1とメッセージb1−m2の2つのメッセージが有意に大きいと判断され(ステップ34)、受信アクティビティに対応する受信メッセージを特定することができないため、受信アクティビティに不特定マークを付け(ステップ36)、次の受信アクティビティのチェックに進む(ステップ30)。これは図17(a)に示す受信の関連表において、受信アクティビティa2−p21に対応する受信メッセージに不特定が格納される。
ステップ41で取得した割合と、ステップ42で取得したメッセージ毎の割合についてメッセージ毎に有意に大きいか判断され、有意に大きいのはメッセージb1−m1の1つと判断され(ステップ43)、メッセージb1−m1と送信アクティビティa1−p2の関連付けを行う(ステップ44)。これは図17(b)に示す送信の関連表61において、送信アクティビティa1−p2に対応する送信メッセージにメッセージb1−m1が格納される。
観測点装置5−2を選択し(ステップ21)、前述した観測点装置5−1の関連付けと同様の処理を行い、ステップ29で受信アクティビティが1種類かつであり、受信メッセージが1種類であると判断され、受信メッセージ1種類に対して受信アクティビティが1種類なので関連があることは明らかである。したがってメッセージb1−m1と受信アクティビティb1−p6が関連付けされる。
観測点装置5−3を選択し、(ステップ21)、前述した観測点装置5−1内の関連付けと同様の処理を行い、メッセージc1−m1と受信アクティビティc1−p11と関連付けされ、メッセージc2−m1と受信アクティビティc2−p30と関連付けされ、メッセージc2−m2と送信アクティビティc2−p34が関連付けされる。
これで観測点装置A、B、Cすべての関連付けを行い、終了時の受信の関連表60は図17(a)、送信の関連表61は図17(b)のようになる。
まず、図17(a)に示す受信の関連表、図17(b)に示す送信の関連表の中でメッセージが不特定となっている受信アクティビティa2−p21、送信アクティビティa1−p3、送信アクティビティa1−p5をすべて選択したか判断され(ステップ50)、不特定アクティビティの中から受信アクティビティa2−p21を選択する(ステップ51)。
次に、プロセス定義a2から受信アクティビティa2−p21が同期通信であると判断され(ステップ52)、受信アクティビティa2−p21が受信アクティビティであると判断される(ステップ53)。
次に、取得した送信メッセージb1−m1と対応する受信メッセージb1−m2を取得する(ステップ56)。次に受信アクティビティa2−p21と取得した受信メッセージb1−m2を関連付けし(ステップ57)、次の不特定アクティビティの処理に進む(ステップ50)。
次に不特定アクティビティの中から送信アクティビティa1−p5を選択する(ステップ51)。前述と同様の処理を行い、送信アクティビティa1−p5はa1−m2と関連付けされる。
はじめに、開始アクティビティは観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティの抽出を行なう。図19の関連表62から送信アクティビティの関連が不特定となっている受信アクティビティa1−p1、c1−p11が選択済みでないと判断され(ステップ200)、その中から受信アクティビティa1−p1を選択する(ステップ201)。
次に、選択した受信アクティビティa1−p1を開始アクティビティとして保持し(ステップ202)、次の受信アクティビティの処理に進む(ステップ200)。すべての受信アクティビティが開始アクティビティであるか前述と同様の処理を行い、受信アクティビティc1−p11が開始アクティビティとして保持される。
選択したプロセス定義a2の中でメッセージを受信しないで開始する開始アクティビティa2−p20が存在するとプロセス定義の記述から判断され(ステップ206)、開始アクティビティとしてアクティビティa2−p20を保持し(ステップ207)、次のプロセス定義の処理に進む(ステップ204)。
すべてのプロセス定義を前述と同様の処理を行い、開始プロセスは存在しないと判断される。前述の開始アクティビティ抽出処理を行った結果、受信アクティビティa1−p1、受信アクティビティc1−p11、アクティビティa2−p20が開始アクティビティとして抽出される。
まず開始アクティビティa1−p1、c1−p11、a2−20をすべて選択済みか判断され(ステップ210)、その中から開始アクティビティa1−p1を選択する(ステップ211)。
次に開始アクティビティa1−p1のプロセス定義a1を取得し(ステップ212)、プロセス定義の記述からプロセス定義a1内の送信アクティビティa1−p2、a1−p3、a1−p5を抽出しすべて選択済みか判断され(ステップ213)、その中から送信アクティビティa1−p2を選択する(ステップ214)。
取得した送信アクティビティa1−p2と関連する受信アクティビティが受信アクティビティb1−p6の1つだけ存在すると判断され(ステップ215)、受信アクティビティb1−p6を取得する(ステップ216)。
次に保存したプロセス定義a1、b1がすべて処理済みか判断され(ステップ220)、プロセス定義b1が未処理として存在するため、プロセス定義b1を取得する(ステップ221)。
次に、前述したプロセス定義内のチェックを同様に行なうと、新たに保存するプロセス定義は抽出されない。
次に、プロセス定義c1の送信アクティビティは存在しないと判断され(ステップ213)、プロセス定義c1を処理済として保存する(ステップ219)。
次に、保存したプロセス定義がすべて処理済であると判断され(ステップ220)、取得したプロセス定義c1のみがグローバルプロセスの範囲であり、プロセス定義のプロセス定義の個々の送信アクティビティと受信アクティビティの関連は図19に示す関連表で表される。これが1つのグローバルプロセスとなり、図20に示すグローバルプロセス1−2となる。
これで全ての開始アクティビティからグローバルプロセスを生成し、終了時のグローバルプロセスは図13、図20のようになる。
そのため、実際にはグローバルプロセスは図1のグローバルプロセス1と図13のグローバルプロセス2の2つ存在するが、実施例からは、図20に示すようにグローバルプロセス1−1とグローバルプロセス1−2の2つのグローバルプロセスと図13に示すグローバルプロセス2を生成した。
グローバルプロセス1がグローバルプロセス1−1とグローバルプロセス1−2に分けられたのは、関連付け処理でメッセージと送信/受信アクティビティの関係が不特定となり、1つのグローバルプロセスが2つに分けられた為である。メッセージのサンプル数を増やし、関連付けを行う統計的検定の精度をあげ、関連付け処理でメッセージとアクティビティの関連が不特定となる部分をなくすことで、正確なグローバルプロセスを生成することができる。
このようにして、グローバルプロセスを生成することができ、関連付け処理でメッセージとアクティビティの関連が不特定となった場合には、さらにメッセージの送受信を行なった後、前述で説明したグローバルプロセス生成処理を行なう。不特定なアクティビティが存在しなくなるまで繰り返し行なうことで正確なグローバルプロセスを生成する。
8 プロセスエンジン
11 プロセス定義
12 プロセスエンジンログ
13 メッセージログ
20 プロセス定義データベース
21 プロセスエンジンログデータベース
22 メッセージログデータベース
23 プロセス合成部
25 監視装置
29 マッピング定義
24 グローバルプロセス定義
34 観測データ取得部
35 観測データ送信部
36 観測データ受信部
Claims (8)
- 送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成方法において、
複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信工程と、
この観測データ受信工程で受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出工程と、
前記関連表から開始アクティビティを抽出する工程と、
前記開始アクティビティからグローバルプロセスを生成する工程と、
を備えたことを特徴としたグローバルプロセス生成方法。 - 前記観測データ受信工程で受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出工程で、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成することを特徴とした請求項1に記載のグローバルプロセス生成方法。 - 送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成装置において、
複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信部と、
この観測データ受信部が受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、前記関連表から開始アクティビティを抽出する機能と、前記開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部と、
を備えたことを特徴としたグローバルプロセス生成装置。 - 前記観測データ受信部が受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項3に記載のグローバルプロセス生成装置。 - プロセスを実行する複数のノードにそれぞれ設置された観測点装置と、前記各ノードの送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成装置を備えたグローバルプロセス生成システムにおいて、
前記観測点装置は、
その観測点装置が設置された前記ノードから、このノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを取得する観測データ取得部と、
前記観測データを前記グローバルプロセス生成装置に送信する観測データ送信部とを備え、
前記グローバルプロセス生成装置は、
前記複数の観測装置点から、前記観測データを受信する観測データ受信部と、
この観測データ受信部が受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、前記関連表から開始アクティビティを抽出する機能と、前記開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部と、
を備えたことを特徴としたグローバルプロセス生成システム。 - 前記観測データ取得部が取得する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項5に記載のグローバルプロセス生成システム。 - 送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成プログラムにおいて、
コンピュータに、
複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信機能と、
この観測データ受信工程で受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、
前記関連表から開始アクティビティを抽出する機能と、
前記開始アクティビティからグローバルプロセスを生成する機能と、
を実行させることを特徴としたグローバルプロセス生成プログラム。 - 前記観測データ受信機能で受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項7に記載のグローバルプロセス生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006070759A JP4816169B2 (ja) | 2006-03-15 | 2006-03-15 | グローバルプロセス生成方法、装置、システム、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006070759A JP4816169B2 (ja) | 2006-03-15 | 2006-03-15 | グローバルプロセス生成方法、装置、システム、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007249486A JP2007249486A (ja) | 2007-09-27 |
JP4816169B2 true JP4816169B2 (ja) | 2011-11-16 |
Family
ID=38593726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006070759A Expired - Fee Related JP4816169B2 (ja) | 2006-03-15 | 2006-03-15 | グローバルプロセス生成方法、装置、システム、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4816169B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794216B (zh) * | 2009-02-02 | 2014-10-08 | 日电(中国)有限公司 | 构建引擎的流程的方法和设备 |
WO2013153629A1 (ja) * | 2012-04-11 | 2013-10-17 | 株式会社日立製作所 | 情報処理装置、情報処理方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4287234B2 (ja) * | 2003-10-03 | 2009-07-01 | 富士通株式会社 | 業務プロセストラッキング装置,業務プロセストラッキング方法,業務プロセストラッキングプログラム,業務プロセストラッキングプログラムを記録した記録媒体 |
-
2006
- 2006-03-15 JP JP2006070759A patent/JP4816169B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007249486A (ja) | 2007-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500757B2 (en) | Method and system for automatic real-time causality analysis of end user impacting system anomalies using causality rules and topological understanding of the system to effectively filter relevant monitoring data | |
JP5468837B2 (ja) | 異常検出方法、装置、及びプログラム | |
US8332819B2 (en) | Diagnostic and trouble-shooting methods in a wireless control and sensor network | |
KR101797185B1 (ko) | 분산 환경에서 효율적으로 트랜젝션-분리 메트릭들을 수집하는 방법 | |
CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
JP6280862B2 (ja) | イベント分析システムおよび方法 | |
US10528456B2 (en) | Determining idle testing periods | |
US20160085655A1 (en) | Monitoring system, monitoring device, and monitoring method | |
CN106575254A (zh) | 日志分析装置、日志分析系统、日志分析方法以及计算机程序 | |
CN111913824A (zh) | 确定数据链路故障原因的方法及相关设备 | |
US20210266238A1 (en) | Operation device and operation method | |
JP3791921B2 (ja) | ネットワーク・トレースを解析する方法、ネットワーク・トレースを解析するための処理装置、および該処理装置としてコンピュータを制御させるためのコンピュータ実行可能なプログラム、並びにネットワークにおけるノード間の時間差補正方法 | |
JP4816169B2 (ja) | グローバルプロセス生成方法、装置、システム、およびプログラム | |
US20230306343A1 (en) | Business process management system and method thereof | |
CN116860555A (zh) | 软件运行监控方法、装置、设备以及计算机存储介质 | |
JP4257364B2 (ja) | 通信エラー情報出力プログラム、通信エラー情報出力方法および通信エラー情報出力装置 | |
Argent-Katwala et al. | Location-aware quality of service measurements for service-level agreements | |
CN112311679A (zh) | 状态检测方法、装置、电子设备及可读存储介质 | |
JP6228324B2 (ja) | 解析装置及び解析方法 | |
JP2019047188A (ja) | 分析管理システムおよび分析管理方法 | |
US10031788B2 (en) | Request profile in multi-threaded service systems with kernel events | |
JP2011118575A (ja) | 障害対策情報取得方法および管理サーバ | |
CN117118804A (zh) | 告警数据处理方法、装置和计算机可读存储介质 | |
JP6049490B2 (ja) | ネットワーク解析装置、ネットワーク解析方法及びプログラム | |
CN117909166A (zh) | 微服务应用的异常监控方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110117 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110802 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110815 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |