JP4816169B2 - グローバルプロセス生成方法、装置、システム、およびプログラム - Google Patents

グローバルプロセス生成方法、装置、システム、およびプログラム Download PDF

Info

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
Application number
JP2006070759A
Other languages
English (en)
Other versions
JP2007249486A (ja
Inventor
拓磨 山本
吉宏 神南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006070759A priority Critical patent/JP4816169B2/ja
Publication of JP2007249486A publication Critical patent/JP2007249486A/ja
Application granted granted Critical
Publication of JP4816169B2 publication Critical patent/JP4816169B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は分散ワークフローシステムにおけるグローバルプロセス生成方法に関し、特に企業間で一連の処理を行うシステム上で分散的にプロセス管理されたプロセス定義を、各ノード間の送信アクティビティと受信アクティビティの関連を導くことによって、一連の処理であるグローバルプロセスを生成する方法に関する。
従来の分散ワークフローシステムにおけるビジネスプロセス統合における進捗判断システムの一例が、特許文献1の図1等に記載されている。
この従来の進捗判断システムは、情報処理装置とメッセージ交換システムとイベントコンバータで構成されている。
このような構成を有する従来の進捗判断システムは次のように動作する。交換されているメッセージに基づいて対応するプロセスを結びつけており、メッセージの送受信をメッセージ交換システムが検出するとそのメッセージに対応するプロセスのログを出力することによってプロセスの監視を行っている。
この進捗判断システムによれば、ワークフローエンジンが単一の場合はプロセス管理を行なうことは可能となる。しかし、システムが本格的に運用されワークフローが複数の分散ワークフローとなったときに全体のプロセス管理を行なうことが出来ない。
特開2005−166038号公報
上記のような従来のシステムには次の問題点があった。
第1の問題点は、プロセスを監視する場合、プロセスのフローを特定する必要があることである。
一連のプロセスを実行する分散ワークフローシステム上で、1つのノードを監視する場合、ノード内のプロセスフローは各ノードに記述されているプロセス定義によって判断することができるが、分散ワークフローシステム全体を監視する場合、各ノードのプロセス定義に記述されている送信アクティビティと受信アクティビティの関連付けを行い、分散ワークフローシステム全体としてどのように動作しているかを記述したグローバルプロセス定義を構成する必要がある。また、エラーが発生した場合に影響のあるプロセスを特定するために一連の処理を表すグローバルプロセス定義の構築が必要とである。
その理由は、プロセスの進捗を監視する場合、全体のフローに対してどのプロセスを実行しているかを知る必要があるためである。
本発明の目的は、分散ワークフローシステムの個々のプロセス定義を合成して分散ワークフローシステム全体のプロセス定義を生成するグローバルプロセス生成方法等を提供することにある。
本発明の他の目的は、プロセスの状態監視、エラーが発生した場合に影響のあるプロセスをすべて特定できるプロセス監視システム等を提供することにある。
本発明の他の目的は、マッピング定義を使用せずに分散ワークフローシステム上で一連の処理を表すグローバルプロセスを構築することができるグローバルプロセス生成方法等を提供することにある。
本発明のグローバルプロセス生成方法は、複数の観測対象のノードにそれぞれ設置された観測点装置から、ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信工程と、この観測データ受信工程で受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出工程と、関連表から開始アクティビティを抽出する工程と、開始アクティビティからグローバルプロセスを生成する工程とによりグローバルプロセスを生成する(請求項1及び請求項2)。
ここで、アクティビティとは、個々の人間またはコンピュータが行なう業務単位のことである。
上記グローバルプロセス生成方法によれば、情報抽出工程において、観測データ受信工程で各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置が設置された複数のノード全体のグローバルプロセスを導くことができる。
上記グローバルプロセス生成方法において、観測データ受信工程で受信する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出工程で、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するようにしてもよい(請求項2)。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
本発明の、グローバルプロセス生成装置は、複数の観測対象のノードにそれぞれ設置された観測点装置から、ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信部と、この観測データ受信部が受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、関連表から開始アクティビティを抽出する機能と、開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部とを備えている(請求項3および請求項4)。
上記グローバルプロセス生成装置によれば、プロセス合成部は、観測データ受信部が各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置内全体のグローバルプロセスを導くことができる。
上記グローバルプロセス生成装置において、観測データ受信部が受信する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出機能は、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するものとしてもよい(請求項4)。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
本発明のグローバルプロセス生成システムは、ノードに設置された観測点装置とグローバルプロセス生成装置とを備えている。
観測点装置は、その観測点装置が設置されたノードから、このノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを取得する観測データ取得部と、観測データをグローバルプロセス生成装置に送信する観測データ送信部とを備えている。
グローバルプロセス生成装置は、複数の観測装置点から、観測データを受信する観測データ受信部と、この観測データ受信部が受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、関連表から開始アクティビティを抽出する機能と、開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部とを備えている(請求項5及び請求項6)。
上記グローバルプロセス生成システムによれば、グローバルプロセス生成装置のプロセス合成部は、観測データ受信部が各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置内全体のグローバルプロセスを導くことができる。
上記グローバルプロセス生成システムにおいて、観測データ取得部が取得する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出機能は、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するものとしても良い(請求項6)。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
本発明のグローバルプロセス生成プログラムは、コンピュータに、複数の観測対象のノードにそれぞれ設置された観測点装置から、ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信機能と、この観測データ受信工程で受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、関連表から開始アクティビティを抽出する機能と、開始アクティビティからグローバルプロセスを生成する機能とを実行させてグローバルプロセスを生成する(請求項7及び請求項8)。
上記グローバルプロセス生成プログラムによれば、情報抽出機能が、観測データ受信機能によりが各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置が設置された複数のノード全体のグローバルプロセスを導くことができる。
上記グローバルプロセス生成プログラムにおいて、観測データ受信機能で受信する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出機能は、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するものとしてもよい。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
本発明によれば、各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置が設置された複数のノード全体のグローバルプロセスを導くことができる。
図を参照しながら本発明の一実施形態であるグローバルプロセス生成システム50の構成と動作について説明する。
図1を参照すると、グローバルプロセス生成システム50は、プロセスを実行するノードA、B、C、Dと、プロセスを実行するノードを監視し、監視装置25に監視情報を送信する観測点装置5−1、5−2、5−3と、すべての観測点装置からデータを取得することでシステム全体を監視する監視装置25(グローバルプロセス生成装置の一例)から構成されている。
またノードA、B、Cは、観測点装置5−1、5−2、5−3とプロセスを実行するプロセスエンジン8を含む。
プロセスエンジン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個のノードを含む。
次に、図2は、図1に示したグローバルプロセス生成システム50の観測点装置5−1等と監視装置25の機能ブロック図である。
観測点装置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を含んで構成される。
次に、フローチャートを参照してグローバルプロセス生成システム50の全体の動作について詳細に説明する。
図3は、グローバルプロセス生成システム50の基本動作を説明するためのフローチャートである。
グローバルプロセス生成システム50におけるグローバルプロセス生成方法は図3示すように「情報収集処理」(ステップ100)、「情報抽出処理」(ステップ101)、「グローバルプロセス生成処理」(ステップ102)の3つの基本処理に分けられる。
まず、観測点装置5から観測点装置が設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を収集する「情報収集処理」を行う(ステップ100)。
次に、ステップ100で収集した観測情報から受信アクティビティと送信アクティビティの関連付けを行なう「情報抽出処理」を行う(ステップ101)。ここでアクティビティとは、個々の人間またはコンピュータが行なう業務単位のことである。
次に、ステップ101で関連付けを行なった結果からグローバルプロセスを生成する「グローバルプロセス生成処理」を行う(ステップ102)。
次に、各基本処理を詳細に説明する。
まず「情報収集処理」である、観測点装置5から観測点装置が設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を収集する方法について説明する。
図4は、図2に示したグローバルプロセス生成システム50におけるメッセージログの収集動作を説明するためのフローチャートである。
観測点装置5が設置されているノードがメッセージの送信および受信を行なう(ステップ1)。
すると、観測点装置5の観測データ取得部34がメッセージの送信および受信を検出し、送信および受信されたメッセージログを取得する(ステップ2)。
観測データ取得部34において取得されたメッセージログは、観測データ送信部35から送信され(ステップ3)、監視装置25の観測データ受信部36が受信する(ステップ4)。観測データ受信部36は、受信したメッセージログを、メッセージログデータベース22へ保存する(ステップ5)。
次にプロセスエンジンログの収集方法について説明する。図5は図2に示したグローバルプロセス生成システム50におけるプロセスエンジンログの収集動作を説明するためのフローチャートである。
ノード上のプロセスはメッセージを受信した後、またはノード内でプロセスを実行したときに実行される(ステップ6)。
すると、ノードに設置している観測点装置5の観測データ取得部34においてプロセスの実行が検出され、実行されたプロセスのプロセスエンジンログが取得される(ステップ7)。
観測データ取得部34において取得されたプロセスエンジンログは、観測データ送信部35から送信され(ステップ8)、監視装置25の観測データ受信部36にて受信される(ステップ9)。観測データ受信部36にて受信されたプロセスエンジンログは、プロセスエンジンログデータベース21へ保存される(ステップ10)。
次にプロセス定義の収集方法について説明する。図6は図2に示したグローバルプロセス生成システム50におけるプロセス定義とマッピング定義の取得方法を説明するためのフローチャートである。
ノード内においてプロセスのフローを記述したプロセス定義を登録、更新、削除した(ステップ11)ときに観測データ取得部34によりプロセス定義変更が検出され、プロセス定義が取得される(ステップ12)。
観測データ取得部34において取得されたプロセス定義は、観測データ送信部35から送信され(ステップ13)、監視装置25の観測データ受信部36にて受信される(ステップ14)。
プロセス合成部23は、観測データ受信部36にて受信されたプロセス定義の種別を判断する(ステップ15)。種別が新規の場合、受信されたプロセス定義は、プロセス定義データベース20へ保存される(ステップ16)。種別が更新の場合は、プロセス定義データベースにすでに保存されているプロセス定義を上書きする(ステップ17)。種別が削除の場合は、プロセス定義ログデータベースにすでに保存されているプロセス定義を削除する(ステップ18)。
次にマッピング定義の収集方法について説明する。図6のプロセス定義収集と同様の処理を行うことによりマッピング定義を取得し、取得したマッピング定義は、マッピング定義データベース29に保存する。
上記「情報収集処理」によって取得した各観測点装置5のメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を基にプロセス合成部23が処理を行う。図2に示すプロセス合成部23はグローバルプロセスを生成するための前準備として情報の抽出を行なう「情報抽出処理」と、抽出された情報からグローバルプロセスを生成する「グローバルプロセス生成処理」の2つの処理を行う。
まず「情報抽出処理」である、送信アクティビティと受信アクティビティの関連付けを行なう方法について説明する。
送信アクティビティが送信する先のエンドポイントの情報、受信アクティビティが受信するエンドポイントの情報を記述したマッピング定義が取得可能な場合は、マッピング定義から送信アクティビティと受信アクティビティの関連付けを行なう。
また、マッピング定義は標準の仕様が存在しないためプロセスエンジンに依存しており、各ノードでプロセスエンジンが異なる分散ワークフローシステム上で一連の動作を行なう場合、各ノードでマッピング定義を取得するのが困難である。そこでマッピング定義が取得不可能な場合は、マッピング定義を取得せずにメッセージログとプロセスエンジンログから送信アクティビティと受信アクティビティの関連付けを行なう。
前述の2つの情報抽出処理について説明する。まず、マッピング定義が取得可能な場合について説明する。
図7は図2に示すようにプロセス合成部40で前述の「情報収集処理」によって取得した各観測点装置5のプロセス定義とマッピング定義を基に送信アクティビティと受信アクティビティの関連付けを行なう動作を説明するためのフローチャートである。
マッピング定義には各送信アクティビティが送信する先のエンドポイントの情報と各受信アクティビティが受信するエンドポイントの情報が記述されており、送信アクティビティのマッピング情報と受信アクティビティのマッピング情報が一致するとその送信アクティビティと受信アクティビティに関連付けがあると判断される。
プロセス合成部23は、プロセス定義データベース20にすでに保存されているすべての観測点装置5−1ないし5−nのプロセス定義を取得する(ステップ300)。
次にマッピング定義データベース29にすでに保存されているすべての観測点装置5−1ないし5−nのマッピング定義を取得する(ステップ301)。
次に取得したプロセス定義の受信アクティビティがすべて選択済みか判断され(ステップ302)、すべて選択済みと判断された場合は、受信アクティビティと関連付けされていない送信アクティビティの処理へ進む(ステップ302の判定がイエス、ステップ311)。
選択していない受信アクティビティが存在すると判断された場合は、選択されていない受信アクティビティの中から1つ選択する(ステップ302の判定がノー、ステップ303)。
次に、ステップ303で選択した受信アクティビティのマッピング情報をマッピング定義から取得する(ステップ304)。
次に、ステップ304で取得した受信アクティビティのマッピング情報と一致する送信アクティビティのマッピング情報が存在するか判断され(ステップ305)、存在しないと判断された場合は、選択した受信アクティビティに不特定マーク付けを行ない(ステップ305の判定がノー、ステップ310)、次の受信アクティビティの処理へ進む(ステップ302)。
受信アクティビティのマッピング情報と一致する送信アクティビティのマッピング情報が存在すると判断された場合は、一致する送信アクティビティのマッピング情報をすべて選択済みか判断され(ステップ305の判定がイエス、ステップ306)、すべて選択済みと判断されると次の受信アクティビティの処理へ進む(ステップ306の判定がイエス、ステップ302)。
一致する送信アクティビティのマッピング情報がすべて選択済みでない場合は、選択していない送信アクティビティのマッピング情報の中から1つ選択し(ステップ306の判定がノー、ステップ307)、送信アクティビティのマッピング情報に対応する送信アクティビティを取得する(ステップ308)。
次に、取得した送信アクティビティと選択した受信アクティビティの関連付けを行ない(ステップ309)、次の送信アクティビティのマッピング情報の処理へ進む(ステップ306)。
次に、すべて受信アクティビティの処理が終了してからの処理(ステップ302の判定がイエスの場合の処理)について説明する。
受信アクティビティと関連付けされていない送信アクティビティの中からすべて選択済みか判断され(ステップ311)、すべて選択済みと判断された場合は処理を終了する(ステップ311の判定がイエス、ステップ314)。
受信アクティビティと関連付けされていない送信アクティビティが存在すると判断された場合、関連付けされてない送信アクティビティの中から1つ取得する(ステップ311の判定がノー、ステップ312)。
次に取得した送信アクティビティに不特定マーク付けを行い(ステップ313)、次の送信アクティビティの処理へ進む(ステップ311)。
すべての送信アクティビティの処理が終了すると、送信アクティビティと受信アクティビティの関連付けが終了し、関連付けを行なった結果は関連表として保持する。
次にマッピング定義が取得不可能な場合の情報抽出処理について説明する。
図8と図9は、図2に示すようにプロセス合成部40で前述の「情報収集処理」によって取得した各観測点装置5のメッセージログ、プロセスエンジンログ、プロセス定義を基にメッセージと送信/受信アクティビティの関連付けを行なう動作を説明するためのフローチャートである。
観測点装置5の中から選択されていない観測点装置5があるかどうか判断され(ステップ20)、選択されていない観測点装置5が存在しないと判断された場合は、メッセージと送信/受信アクティビティの関連付け処理が終了する(ステップ20の判定がイエス、ステップ47)。
選択されていない観測点装置5が存在すると判断された場合は、選択されていない観測点装置5の中から1つ観測点装置5が選択される(ステップ20の判定がノー、ステップ21)。
次に、プロセス定義データベース20にすでに保存されている選択した観測点装置5のプロセス定義を取得する(ステップ22)。
次に、プロセスエンジンログデータベース21にすでに保存されている選択した観測点装置5のプロセスエンジンログを取得する(ステップ23)。
次に、メッセージログデータベース22にすでに保存されている選択した観測点装置5のメッセージログを取得する(ステップ24)。
取得したメッセージログより、選択した観測点装置5が設置されているノード上の送信/受信アクティビティについてそれぞれ実行した件数を集計する(ステップ25、ステップ26)。
次に、取得したメッセージログ、プロセスエンジンログより受信アクティビティをすべて抽出し、各受信アクティビティが実行された直前に受信したメッセージをメッセージ毎に分類し集計する(ステップ27)。
次に、取得したメッセージログ、プロセスエンジンログより送信アクティビティをすべて抽出し、各送信アクティビティが実行された直後に送信したメッセージをメッセージ毎に分類し集計する(ステップ28)。
メッセージの分類は、例えば図1に示した例では、ノードDからノードAへ送ったメッセージa1−m1、ノードAからノードDへ送ったメッセージa1−m2、ノードAからノードBへ送ったメッセージb1−m1、ノードBからノードAへ送ったメッセージb1−m2、ノードAからノードCへ送ったメッセージc1−m1といったように分類される。メッセージの型は受信側のプロセス定義に記述しているのが一般的で、送信側は定義されたメッセージの型に合わせてメッセージを送信するため、受信側のプロセス定義毎にメッセージの種類が存在する。
また、同期通信についても判別可能である。メッセージa1−m2とメッセージa1−m2間、メッセージb1−m1とメッセージb1−m2間の関係が同期通信であることが抽出される。メッセージ要求に対応するメッセージ応答には参照先としてメッセージ要求のメッセージIDが含まれるのが一般的であり、このメッセージIDを見ることによって同期通信であるかは判別可能である。
次に、ステップ28で集計した結果から受信メッセージが1種類であり、かつ受信アクティビティが1種類であるか判断され(ステップ29)、受信メッセージが1種類であり、かつ受信アクティビティが1種類であるなら、この受信メッセージと受信アクティビティに関連付けがあるのは明らかである。したがって、この受信メッセージと受信アクティビティの関連付けを行なう(ステップ29の判定がイエス、ステップ37)。
受信メッセージが1種類であり、かつ受信アクティビティが1種類ではないと判断されると、取得したプロセス定義の受信アクティビティの中から選択されていない受信アクティビティが存在するかどうか判断され(ステップ29の判定がノー、ステップ30)、選択されていない受信アクティビティが存在しない場合は、送信アクティビティと送信メッセージの関連付けの処理に進む(ステップ30の判定がイエス、ステップ38)。
選択されていない受信アクティビティが存在する場合は、選択されていない受信アクティビティの中から1つ選択し(ステップ30の判定がノー、ステップ31)、選択したノード上で実行されたすべての受信アクティビティに対する選択した受信アクティビティが実行された割合を取得する(ステップ32)。これはステップ25で集計した結果から取得できる。
次に、受信アクティビティが実行された直前に受信したメッセージの種類毎の割合を取得する(ステップ33)。これはステップ27で集計した結果から取得できる。
ステップ32で取得した割合とステップ33で取得したメッセージの種類毎の割合についてメッセージの種類毎に有意に大きいメッセージが1つだけ存在するか判断される(ステップ34)。
ここで、有意に大きいかどうかの判断については、統計的検定によって行なわれ、例えば図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つであるか判断される。
有意に大きいメッセージが複数存在した場合は、選択した受信アクティビティがどの受信メッセージと関連があるか判断できず、選択した受信アクティビティに不特定マークを付け(ステップ34の判定がノー、ステップ36)、次の受信アクティビティの関連付け処理に進む(ステップ30)。
一方、有意に大きいメッセージが1つだけ存在すると判断された場合は、受信アクティビティと受信メッセージの関連付けを行なう(ステップ34の判定がイエス、ステップ35)。
すべての受信アクティビティと受信メッセージの関連付けを行なった後、送信アクティビティと送信メッセージの関連付けの処理(ステップ38)に進む。
送信アクティビティと送信メッセージの関連付けの処理は、前述で行った受信アクティビティと受信メッセージの関連付けの処理(ステップ29〜ステップ37)と同様の処理を行うことによって関連付けを行うことができる(ステップ38〜ステップ46)。
すべての送信アクティビティと送信メッセージの関連付けが終わると、選択した観測点装置のメッセージの関連付けが終了し、次の観測点装置の処理(ステップ39の判定がイエス、ステップ20)に進む。
前述のステップ21からステップ46と同様の処理を選択されていない観測点が存在しなくなるまで行う。すべての観測点装置5の送信アクティビティと送信メッセージの関連付けを行った結果は送信の関連表、受信アクティビティと受信メッセージの関連付けを行なった結果は受信の関連表として保持する。
次に、送信アクティビティと送信メッセージの関連付けを行った結果を保持している送信の関連表と、受信アクティビティと受信メッセージの関連付けを行なった結果を保持している受信の関連表を基に不特定となっているメッセージと送信/受信アクティビティの関連付けの処理動作を説明する。
図10は、関連表のメッセージと送信/受信アクティビティの関連が不特定となっているメッセージとアクティビティの関連付けを行なう動作を説明するためのフローチャートである。
ここで、不特定アクティビティが同期通信のアクティビティである場合、不特定アクティビティに対応するアクティビティが存在する。不特定のアクティビティに対応するアクティビティとメッセージの関連が存在する場合、このメッセージに対応するメッセージと不特定のアクティビティに関連があることは明らかである。ここで、同期通信の場合、メッセージ要求とメッセージ応答の組が存在する。同様に、受信アクティビティに同期通信に対応する送信アクティビティがプロセス定義に書かれており、メッセージ要求を受信した受信アクティビティとメッセージ応答を送信する送信アクティビティの組が存在する。前述の図8メッセージと送信/受信アクティビティの関連付けフローのメッセージの分類(ステップ27、ステップ28)を行なったことでメッセージが同期通信であるか、またメッセージ要求とメッセージ応答の組が判断できる。前述で説明した処理を図10のフローチャートを基に説明する。
送信/受信の関連表の中から不特定となっているアクティビティをすべて選択済みか判断され(ステップ50)、選択されていないアクティビティが存在しないと判断された場合は、不特定となっている送信/受信アクティビティとメッセージの関連付け処理を終了する(ステップ50の判定がイエス、ステップ62)。
送信/受信の関連表から不特定となっているアクティビティが存在する場合、不特定アクティビティの中から1つ取得する(ステップ50の判定がノー、ステップ51)。
取得したアクティビティが同期通信であるかどうか判断され(ステップ52)、同期通信ではないと判断された場合は不特定アクティビティに関連するメッセージを特定することができないため、次の不特定アクティビティの処理へ進む(ステップステップ52の判定がノー、50)。
同期通信であると判断された場合、選択した不特定アクティビティが受信アクティビティであるか判断され(ステップ52の判定がイエス、ステップ53)、受信アクティビティであるなら、選択した受信アクティビティと対応する送信アクティビティに関連付けが存在するか判断され(ステップ53の判定がイエス、ステップ54)、関連付けが存在しないなら不特定アクティビティに関連するメッセージを特定することができないため、次の不特定アクティビティの処理へ進む(ステップ54の判定がノー、ステップ50)。
選択した不特定受信アクティビティと対応する送信アクティビティに関連付けが存在するなら、そのメッセージを取得する(ステップ54の判定がイエス、ステップ55)。次に、ステップ55で取得したメッセージに対応するメッセージを取得する(ステップ56)。次に、ステップ56で取得したメッセージと選択した受信アクティビティの関連付けを行い(ステップ57)、次の不特定アクティビティの処理に進む(ステップ50)。
選択した不特定アクティビティが送信アクティビティであるなら(ステップ53の判定がノー)、送信アクティビティの処理へ進み(ステップ58)、受信アクティビティの処理と同様の処理を行い送信アクティビティとメッセージの関連付けを行う(ステップ58〜61)。
不特定アクティビティをすべてチェックするまで上記の処理を行ない、不特定アクティビティとメッセージの関連付けを行ない、すべての観測点装置の送信アクティビティと送信メッセージの関連付けを行った結果は送信の関連表、受信アクティビティと受信メッセージの関連付けを行なった結果は受信の関連表として保持する。次に送信の関連表と受信の関連表からメッセージをキーにマージし、マージ結果が送信アクティビティと受信アクティビティの関連付けを示した関連表となる。
次に、前述の処理を行い抽出された送信アクティビティと受信アクティビティの関連付けを示した関連表からグローバルプロセスを生成する「グローバルプロセス生成処理」について説明する。
図11は、前述処理を行った結果を保持した関連表からグローバルプロセスを開始する開始アクティビティの抽出方法を説明するためのフローチャートである。
まず、グローバルプロセスを開始するアクティビティについて説明する。開始アクティビティには、観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティ、またはメッセージ受信せずに自ノード上でプロセスを開始するアクティビティの3つのアクティビティがある。開始アクティビティの抽出方法について図11のフローチャートを基に説明する。
図10の処理を行った結果を保持した関連表を基に開始アクティビティの抽出を行なう。はじめに、開始アクティビティとして観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティの抽出を行なう。この開始アクティビティは関連表で送信アクティビティが不特定となっている受信アクティビティとして表される。
関連表の中から送信アクティビティの関連が不特定となっている受信アクティビティをすべて選択済みか判断され(ステップ200)、選択されていない受信アクティビティが存在しないと判断されると、メッセージを受信せずに自ノード上でプロセスを開始するアクティビティの抽出処理へ進む(S200の判定がイエス、ステップ203)。
選択されていない受信アクティビティが存在すると判断された場合、受信アクティビティの中から1つを選択する(ステップ201)。観測点装置外から来たメッセージによって開始される受信アクティビティであるか、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティであると判断され、選択した受信アクティビティを開始アクティビティとして保持する(ステップ202)。
すべての受信アクティビティについて、開始アクティビティであるか否かの判定を前述のステップ200からステップ202と同様に処理を行う。
次に、すべての受信アクティビティのチェックが終了すると、メッセージを受信せずに自ノード上でプロセスを開始するアクティビティの抽出を行なう。
プロセス定義データベース20からすべての観測点のプロセス定義を取得し(ステップ203)、プロセス定義が選択済か判断され(ステップ204)、選択されていないプロセス定義が存在しないと判断されると処理が終了となる(ステップ204の判定がイエス、ステップ208)。
選択されていないプロセス定義が存在すると判断されると、プロセス定義データベース20の中からプロセス定義を1つ選択する(ステップ205)。選択したプロセス定義の中でメッセージを受信しないで開始する開始アクティビティが存在するか否かがプロセス定義の記述から判断され(ステップ206)、存在しない場合は次のプロセス定義の処理に進む(ステップ206の判定がノー、ステップ204)。
選択したプロセス定義の中でメッセージを受信しないで開始する開始アクティビティが存在すると判断されると(ステップ206)、選択したプロセス定義の中から開始アクティビティを取得し、開始アクティビティとして保持する(ステップ207)。
すべてのプロセス定義について前述のステップ204からステップ207と同様の処理を行う。すべてのプロセス定義のチェックが終了すると開始アクティビティの抽出処理が終了となる。
次に、前述の図11の処理で抽出した開始アクティビティからグローバルプロセスを生成する。図12は、抽出した開始アクティビティから関連表を基にグローバルプロセスを作成する方法を説明するためのフローチャートである。
観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっている受信アクティビティ、またはメッセージ受信せずに自ノード上でプロセスを開始するアクティビティのいずれかである開始アクティビティから呼び出される一連のプロセスが特定できる範囲までをグローバルプロセスとする。グローバルプロセスの生成方法について図12のフローチャートを基に説明する。
図11の処理で取得した開始アクティビティがすべて選択されているか判断され(ステップ210)、すべて選択済みの場合はグローバルプロセス生成処理を終了する(ステップ210の判定がイエス、ステップ223)。
選択されていない受信アクティビティが存在する場合はその中から1つを選択し(ステップ211)、取得した受信アクティビティのプロセス定義を取得する(ステップ212)。
次に、取得したプロセス定義の記述からプロセス定義内の送信アクティビティを抽出することが可能であるため、送信アクティビティをすべて選択済みか判断し(ステップ213)、送信アクティビティをすべて選択済みの場合はステップ212で取得した開始アクティビティのプロセス定義を処理済として保存する(ステップ213の判定がイエス、ステップ219)。
選択していない送信アクティビティが存在する場合はその中から1つ選択し(ステップ213の判定がノー、ステップ214)、関連表に選択した送信アクティビティに受信アクティビティの関連が1つだけ存在するか判断する(ステップ215)。
関連が存在しない、または複数存在する場合は、呼び出し先が不特定として判断され次の送信アクティビティのチェックへ進む(ステップ215の判定がノー、ステップ213)。
ここで、1つの送信元の送信アクティビティに対して複数の送信先の受信アクティビティが存在する場合は、同じ定義の送信先の受信アクティビティが複数の送信元の送信アクティビティから呼び出されているようなプロセス定義が記述されている環境で、複数の送信元の送信アクティビティから同じ定義の送信先の受信アクティビティへのメッセージ要求に対してメッセージ応答を返す場合だけである。
送信先の受信アクティビティで要求メッセージを受信し、対応する送信先の送信アクティビティから複数の送信元の送信アクティビティへメッセージ応答を返し、そのメッセージ応答を複数の送信元の送信アクティビティに対応する受信アクティビティで受信する場合、1つの送信元の送信アクティビティに対して複数の送信先の受信アクティビティが存在する。
したがって、このグローバルプロセス生成方法では、必ず送信元のプロセス定義から検索するアルゴリズムのため、送信先が複数ある場合のプロセス定義を取得する必要はなく、取得する必要のあるプロセス定義が洩れる事はない。
関連が1つだけ存在する場合は、関連表から選択した送信アクティビティと関連付けされている受信アクティビティを取得する(ステップ215の判定がイエス、ステップ216)。次に、取得した受信アクティビティのプロセス定義がすでに取得済みであるか判断され(ステップ217)、すでに取得済みであると判断した場合は、検査対象として保持しているため保存せずに次の送信アクティビティの処理へ進む(ステップ217の判定がイエス、ステップ213)。
取得していないと判断した場合は、取得した受信アクティビティのプロセス定義を未処理として保存し(ステップ217の判定がノー、ステップ218)、次の送信アクティビティの処理へ進む(ステップ213)。
次に、送信アクティビティをすべてチェックし、プロセス定義を処理済として保存(ステップ213の判定がノー、ステップ219)した後の動作を説明する。呼び出し先があるとして保存した呼び出し先のプロセス定義がすべて処理済であるか判断し(ステップ220)、未処理のプロセス定義が存在するなら保存している未処理のプロセス定義の中から1つ取得し(ステップ220の判定がノー、ステップ221)、プロセス定義から呼ばれているプロセス定義があるかチェックを行なう(ステップ213〜ステップ219)。
保存したプロセス定義がすべて処理済であると判断された場合、取得したプロセス定義がグローバルプロセスの範囲であり、プロセス定義の個々送信アクティビティと受信アクティビティの関連は関連表で表され、これが1つのグローバルプロセスとなる(ステップ222)。
ステップ210からステップ222までの処理を開始アクティビティがすべて選択済みとなるまで実行し、その数だけグローバルプロセスが導き出される。
次に、グローバルプロセス生成システム50の効果について説明する。
グローバルプロセス生成システム50では、観測点装置50を設置することによって設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を監視装置25に送るように構成されている。
そのため、マッピング定義が取得可能な場合は監視装置25ですべてのノードのプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連を導くことによって、またマッピング定義が取得不可能な場合は監視装置ですべてのノードのメッセージログ、プロセスエンジンログ、プロセス定義から統計的検定により送信アクティビティと受信アクティビティの関連を導くことによって観測点装置内全体のグローバルプロセスを導くことができる。
また、統計的検定によって送信アクティビティと受信アクティビティの関連が不特定となった場合、観測点装置外とメッセージの送受信を行なった場合は観測点装置外のプロセスを知ることはできないため、実際のグローバルプロセスより小さな範囲のグローバルプロセスとなってしまう。
しかし、メッセージ送受信の量を増やすことによって統計的検定から導き出されるメッセージとアクティビティの関係を特定することによって、また観測点装置の設置範囲を広げることによって実際のグローバルプロセスを導くことができる。
このように、マッピング定義が取得可能な場合でも、不可能な場合でもグローバルプロセスを導くことができるように構成されているため、マッピングがなくでもグローバルプロセスを導くことができる。
また、グローバルプロセスを導くように構成されているため、グローバルプロセスを生成後はプロセスの進捗状況を把握することができ、障害が発生したアクティビティを特定し、影響範囲を特定することができる。
また、各ノードのプロセス定義からグローバルプロセスを生成しているため、各ノード上のすべてのアクティビティの進捗を把握できる。
次に、具体的な実施例を用いてグローバルプロセス生成システム50の動作を説明する。
図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を実行する。
前述の2つのグローバルプロセスを実行している環境で、ノードA、ノードB、ノードC上に設置した観測点装置5−1、5−2、5−3から集められた情報を基に監視装置25においてノード間で実行されているグローバルプロセスを生成する方法について、マッピング定義を取得不可能な場合について説明する。
グローバルプロセス生成手法の「情報収集処理」は終了しているものとし、各ノード間にて送受信されたメッセージログはすでにメッセージログデータベース22に格納され、各ノードのプロセス定義はすでにプロセス定義データベース20に格納され、各ノード上で実行されたプロセスエンジンログはプロセスエンジンログデータベース21に格納されているものとする。
プロセス合成部23の「情報抽出処理」から図8と図9のフローチャートに従って説明する。
まず観測点装置5−1、5−2、5−3の中から観測点装置5−1を選択し(ステップ21)、観測点装置5−1のプロセス定義、プロセスエンジンログ、メッセージログを取得する(ステップ22〜ステップ24)。
前述で取得したプロセスエンジンログより受信アクティビティの実行された件数を受信アクティビティ毎に集計する(ステップ25)。集計が終了した結果は図15(a)となる。
次に、送信アクティビティの実行された件数を送信アクティビティ毎に集計する(ステップ26)。集計が終了した結果は図15(b)となる。
次に、前述で取得したメッセージログとプロセスエンジンログから、受信アクティビティが実行された時間の直前に受信したメッセージを種類毎に集計する(ステップ27)。集計が終了した結果が図16(a)となる。
次に、前述で取得したメッセージログとプロセスエンジンログから、送信アクティビティが実行された直後に送信したメッセージを種類毎に集計する(ステップ28)。集計が終了した結果が図16(b)となる。
前述で集計した結果からノードAの受信のメッセージログが1種類であり、かつ受信アクティビティが1つではないと判断され(ステップ29)、プロセス定義a1、a2の受信アクティビティa1−p1、a1−p2、a2−p21、a2−p22がすべて選択済みか判断され(ステップ30)、その中から受信アクティビティa1−p1を選択し(ステップ31)、ノードA上のすべての受信アクティビティにおいて受信アクティビティa1−p1が実行されている割合を取得する(ステップ32)。これは図15(a)に示すステップ25で集計した結果から取得し、ノードA上で受信アクティビティa1−p1が実行された件数は4700件であり、全受信アクティビティに対する割合は25%である。
次に受信アクティビティa1−p1が実行された直前に受信したメッセージの種類毎の割合を取得する(ステップ33)。これはステップ27で集計した結果である図16(a)から取得し、a1−p1を実行した直前に呼ばれたメッセージはメッセージa1−m1が3200件、メッセージb1−m2が500件、メッセージc2−m2が1000件であり、メッセージa1−m1が直前に呼ばれたすべての受信アクティビティに対する割合は68%、メッセージb1−m2が直前に呼ばれたすべての受信アクティビティに対する割合は5%、メッセージc2−m2が直前に呼ばれたすべての受信アクティビティに対する割合は21%である。
ステップ32で取得した割合と、ステップ33で取得したメッセージ毎の割合についてメッセージ毎に有意に大きいか判断され、有意に大きいのはメッセージa1−m1の1つと判断され(ステップ34)、メッセージa1−m1と受信アクティビティa1−p1の関連付けを行う(ステップ35)。これは図17(a)に示す受信の関連表60において、受信アクティビティa1−p1に対応する受信メッセージにメッセージa1−m1が格納される。次にすべての受信アクティビティについて同様の処理を行い、受信アクティビティa1−p2はメッセージb1−m2と関連付けされ、受信アクティビティa2−p22はメッセージc2−m2と関連付けされる。
また、受信アクティビティa2−p21については、ステップ25で取得されるノードA上で受信アクティビティa2−p21が実行された件数は5000件であり、全受信アクティビティに対する割合は26%である(図15(a))。またステップ27で取得した受信アクティビティa2−p21が実行された直前に受信したメッセージの種類毎の割合は、メッセージa1−m1が1300件、メッセージb1−m2が3800件、メッセージc2−m2が1100件であり、メッセージa1−m1が直前に呼ばれたすべての受信アクティビティに対する割合は28%、メッセージb1−m2が直前に呼ばれたすべての受信アクティビティに対する割合は40%、メッセージc2−m2が直前に呼ばれたすべての受信アクティビティに対する割合は23%である(図16(a))。
したがってメッセージa1−m1とメッセージb1−m2の2つのメッセージが有意に大きいと判断され(ステップ34)、受信アクティビティに対応する受信メッセージを特定することができないため、受信アクティビティに不特定マークを付け(ステップ36)、次の受信アクティビティのチェックに進む(ステップ30)。これは図17(a)に示す受信の関連表において、受信アクティビティa2−p21に対応する受信メッセージに不特定が格納される。
次に、受信アクティビティの関連付けがすべて終わると、送信アクティビティの関連付けの処理に進む。前述で集計した結果からノードAの送信のメッセージログが1種類であり、かつ送信アクティビティが1つではないと判断され(ステップ38)、プロセス定義a1、a2の送信アクティビティa1−p2、a1−p3、a1−p5、a2−p21、a2−p22が選択済みか判断され(ステップ39)、その中から送信アクティビティa1−p2を選択し(ステップ40)、ノードA上のすべての送信アクティビティにおいて送信アクティビティa1−p2が実行されている割合を取得する(ステップ41)。これは図15(b)で示すようにステップ26で集計した結果から取得し、ノードA上で送信アクティビティa1−p2が実行された件数は4700件であり、全送信アクティビティに対する割合は20%である。
次に、送信アクティビティa1−p2が実行された直後に送信したメッセージの種類毎の割合を取得する(ステップ42)。これはステップ28で集計した結果である図16(b)から取得し、a1−p2を実行した直後に呼ばれたメッセージはメッセージb1−m1が2900件、メッセージc1−m1が800件、メッセージa1−m2が800件、メッセージc2−m1が200件であり、メッセージb1−m1が直後に呼ばれたすべての受信アクティビティに対する割合は30%、メッセージc1−m1が直後に呼ばれたすべての受信アクティビティに対する割合は18%、メッセージa1−m2が直後に呼ばれたすべての受信アクティビティに対する割合は18%、メッセージc2−m1が直後に呼ばれたすべての受信アクティビティに対する割合は4%である。
ステップ41で取得した割合と、ステップ42で取得したメッセージ毎の割合についてメッセージ毎に有意に大きいか判断され、有意に大きいのはメッセージb1−m1の1つと判断され(ステップ43)、メッセージb1−m1と送信アクティビティa1−p2の関連付けを行う(ステップ44)。これは図17(b)に示す送信の関連表61において、送信アクティビティa1−p2に対応する送信メッセージにメッセージb1−m1が格納される。
次に、すべての送信アクティビティについて同様の処理を行ない、送信アクティビティa2−p21はメッセージb1−m1と関連付けされ、送信アクティビティa2−p22はメッセージc2−m1と関連付けされる。また送信アクティビティa1−p3と送信アクティビティa1−p5は有意に大きいメッセージが複数存在するため関連付けされず不特定となる(図17(b))。
送信アクティビティの関連付けがすべて終わると観測点装置5−1内の関連付けが終了となり、次の観測点装置5−2の関連付けに進む(ステップ20)。
観測点装置5−2を選択し(ステップ21)、前述した観測点装置5−1の関連付けと同様の処理を行い、ステップ29で受信アクティビティが1種類かつであり、受信メッセージが1種類であると判断され、受信メッセージ1種類に対して受信アクティビティが1種類なので関連があることは明らかである。したがってメッセージb1−m1と受信アクティビティb1−p6が関連付けされる。
次に送信アクティビティの関連付けに進む。ステップ37で送信アクティビティが1種類であり、送信メッセージが1種類であると判断され、送信メッセージ1種類に対して送信アクティビティが1種類なので関連があることは明らかである。したがってメッセージb1−m2と送信アクティビティb1−p10の関連付けされる。
これで観測点装置5−2内の関連付けが終了し、次の観測点装置の関連付けに進む(ステップ20)。
観測点装置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)の送信の関連表を基に不特定となっているアクティビティの関連付けを行う。図10に示す不特定となっているアクティビティの関連付けについてのフローチャートを基に説明する。
まず、図17(a)に示す受信の関連表、図17(b)に示す送信の関連表の中でメッセージが不特定となっている受信アクティビティa2−p21、送信アクティビティa1−p3、送信アクティビティa1−p5をすべて選択したか判断され(ステップ50)、不特定アクティビティの中から受信アクティビティa2−p21を選択する(ステップ51)。
次に、プロセス定義a2から受信アクティビティa2−p21が同期通信であると判断され(ステップ52)、受信アクティビティa2−p21が受信アクティビティであると判断される(ステップ53)。
次に、受信アクティビティa2−p21と対応する送信アクティビティa2−p21の関連付けが存在すると判断され(ステップ54)、受信アクティビティa2−p21と対応する送信アクティビティa2−p21と関連する送信メッセージb1−m1を取得する(ステップ55)。
次に、取得した送信メッセージb1−m1と対応する受信メッセージb1−m2を取得する(ステップ56)。次に受信アクティビティa2−p21と取得した受信メッセージb1−m2を関連付けし(ステップ57)、次の不特定アクティビティの処理に進む(ステップ50)。
次に、不特定アクティビティの中から送信アクティビティa1−p3を選択する(ステップ51)。次に送信アクティビティa1−p3は同期通信ではないと判断され(ステップ52)、メッセージと関連付けを行なうことができずに次の不特定アクティビティの関連付けに進む(ステップ50)。
次に不特定アクティビティの中から送信アクティビティa1−p5を選択する(ステップ51)。前述と同様の処理を行い、送信アクティビティa1−p5はa1−m2と関連付けされる。
これで全ての不特定アクティビティの関連付け処理が終了し、終了時の受信の関連表60は図18(a)、送信の関連表61は図18(b)のようになる。ここで、図18(a)の受信の関連表60と図18(b)の送信の関連表61においてメッセージをキーにしてマージした関連表は図19のようになる。例えば、図18(a)と図18(b)で同じメッセージb1−m1に関連付けられている受信アクティビティa1−p2と送信アクティビティb1−p10が関連付けられる。
次に、図19の関連表62を基に、グローバルプロセスを生成する「グローバルプロセス生成処理」について説明する。図11に示すグローバルプロセスを開始する開始アクティビティの抽出方法についてフローチャートを基に説明する。
はじめに、開始アクティビティは観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティの抽出を行なう。図19の関連表62から送信アクティビティの関連が不特定となっている受信アクティビティa1−p1、c1−p11が選択済みでないと判断され(ステップ200)、その中から受信アクティビティa1−p1を選択する(ステップ201)。
次に、選択した受信アクティビティa1−p1を開始アクティビティとして保持し(ステップ202)、次の受信アクティビティの処理に進む(ステップ200)。すべての受信アクティビティが開始アクティビティであるか前述と同様の処理を行い、受信アクティビティc1−p11が開始アクティビティとして保持される。
次に、すべての受信アクティビティのチェックが終了すると、メッセージを受信せずに自ノード上でプロセスを開始するアクティビティの抽出を行なう。プロセス定義データベースからすべての観測点のプロセス定義を取得し(ステップ203)、すべてのプロセス定義a1、a2、b1、c1が選択済みでないと判断され(ステップ204)、その中からプロセス定義a2を選択する(ステップ205)。
選択したプロセス定義a2の中でメッセージを受信しないで開始する開始アクティビティa2−p20が存在するとプロセス定義の記述から判断され(ステップ206)、開始アクティビティとしてアクティビティa2−p20を保持し(ステップ207)、次のプロセス定義の処理に進む(ステップ204)。
すべてのプロセス定義を前述と同様の処理を行い、開始プロセスは存在しないと判断される。前述の開始アクティビティ抽出処理を行った結果、受信アクティビティa1−p1、受信アクティビティc1−p11、アクティビティa2−p20が開始アクティビティとして抽出される。
次に、前述で抽出した開始アクティビティと関連表からグローバルプロセスを生成する。図12に示すグローバルプロセスを作成するフローチャートを基に説明する。
まず開始アクティビティ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)。
次に、受信アクティビティb1−p6のプロセス定義b1は取得済みではないと判断され(ステップ217)、プロセス定義b1を未処理として保存する(ステップ218)。
次に送信アクティビティa1−p3を選択し(ステップ213)、前述した処理と同様の処理を行うと、新たに保存するプロセス定義は抽出されない。すべての送信アクティビティの選択が終了し(ステップ213)、開始アクティビティa1−p1のプロセス定義a1を処理済みとして保存する(ステップ219)。
次に保存したプロセス定義a1、b1がすべて処理済みか判断され(ステップ220)、プロセス定義b1が未処理として存在するため、プロセス定義b1を取得する(ステップ221)。
次に、前述したプロセス定義内のチェックを同様に行なうと、新たに保存するプロセス定義は抽出されない。
すべての送信アクティビティの選択が終了し(ステップ213)、プロセス定義b1を処理済として保存する(ステップ219)。保存したプロセス定義a1、b1がすべて処理済として判断され(ステップ220)、取得したプロセス定義a1、b1がグローバルプロセスの範囲であり、プロセス定義の個々の送信アクティビティと受信アクティビティの関連は図19に示す関連表で表される。これが1つのグローバルプロセスとなり、図20に示すグローバルプロセス1−1となる。
次に、開始アクティビティc1−p11を選択し(ステップ211)、プロセス定義c1を取得する(ステップ212)。
次に、プロセス定義c1の送信アクティビティは存在しないと判断され(ステップ213)、プロセス定義c1を処理済として保存する(ステップ219)。
次に、保存したプロセス定義がすべて処理済であると判断され(ステップ220)、取得したプロセス定義c1のみがグローバルプロセスの範囲であり、プロセス定義のプロセス定義の個々の送信アクティビティと受信アクティビティの関連は図19に示す関連表で表される。これが1つのグローバルプロセスとなり、図20に示すグローバルプロセス1−2となる。
次に、開始アクティビティa2−p20を選択し、上記と同様の処理を行う。処理を行った結果取得したプロセス定義はプロセス定義a2、b1、c2であり、プロセス定義a2、b1、c2がグローバルプロセスの範囲であり、プロセス定義の個々の送信アクティビティと受信アクティビティの関連は図19に示す関連表で表される。これが1つのグローバルプロセスとなり、図20に示すグローバルプロセス2となる。
これで全ての開始アクティビティからグローバルプロセスを生成し、終了時のグローバルプロセスは図13、図20のようになる。
図1に示す実施例では、関連付けを行なう統計的検定で不特定になった場合を説明するため不特定なアクティビティを作り、図20に示すように受信アクティビティc1−p11に対する送信アクティビティの関連が不特定となった。
そのため、実際にはグローバルプロセスは図1のグローバルプロセス1と図13のグローバルプロセス2の2つ存在するが、実施例からは、図20に示すようにグローバルプロセス1−1とグローバルプロセス1−2の2つのグローバルプロセスと図13に示すグローバルプロセス2を生成した。
グローバルプロセス1がグローバルプロセス1−1とグローバルプロセス1−2に分けられたのは、関連付け処理でメッセージと送信/受信アクティビティの関係が不特定となり、1つのグローバルプロセスが2つに分けられた為である。メッセージのサンプル数を増やし、関連付けを行う統計的検定の精度をあげ、関連付け処理でメッセージとアクティビティの関連が不特定となる部分をなくすことで、正確なグローバルプロセスを生成することができる。
このようにして、グローバルプロセスを生成することができ、関連付け処理でメッセージとアクティビティの関連が不特定となった場合には、さらにメッセージの送受信を行なった後、前述で説明したグローバルプロセス生成処理を行なう。不特定なアクティビティが存在しなくなるまで繰り返し行なうことで正確なグローバルプロセスを生成する。
本発明によれば、マッピング定義が各ノードで異なるような分散ワークフローシステムに変更を加えることなく観測点装置を設置することでグローバルプロセスを生成することができ、分散ワークフローシステムのプロセスの監視といった用途に適用できる。また、グローバルプロセスを生成することからエラーが起きた場合に影響範囲がどこまであるかを特定できるといった用途にも適用可能である。
グローバルプロセス生成システムの構成を示すブロック図である。 観測点装置と監視装置の機能ブロック図である。 グローバルプロセス生成手法の基本処理フローを表す図である。 メッセージログを収集するフローを表す図である。 プロセスエンジンログを収集するフローを表す図である。 プロセス定義とマッピング定義を収集するフロー表す図である。 各観測点装置のマッピング定義、プロセス定義を基に送信アクティビティと受信アクティビティの関連付けを行なうフローを表す図である。 各観測点装置のメッセージログ、プロセスエンジンログ、プロセス定義を基にメッセージと送信/受信アクティビティの関連付けを行なうフローを表す図である。 各観測点装置のメッセージログ、プロセスエンジンログ、プロセス定義を基にメッセージと送信/受信アクティビティの関連付けを行なうフローを表す図である。 不特定アクティビティの関連付けを行なうフローを表す図である。 送信/受信の関連表からグローバルプロセスを開始する開始アクティビティを抽出するフローを表す図である。 開始アクティビティから送信/受信の関連表を基にグローバルプロセスを作成するフローを表す図である。 図1に示すノードA、ノードB、ノードC上で実行されているグローバルプロセスを示す図である。 図14(a)は、メッセージログデータベースに格納されているノードAのメッセージログの一例を示す図である。図14(b)は、プロセスエンジンログデータベースに格納されているノードAのプロセスエンジンログの一例を示す図である。 図15(a)は、ノードA上におけるすべてのプロセスエンジンログから受信アクティビティを抽出し受信アクティビティ毎に件数および割合を抽出し集計された状態を示す図である。図15(b)は、ノードA上におけるすべてのプロセスエンジンログから送信アクティビティを抽出し送信アクティビティ毎に件数および割合が集計された状態を示す図である。図15(c)は、ノードC上におけるすべてのプロセスエンジンログから受信アクティビティを抽出し受信アクティビティ毎に件数および割合を抽出し集計された状態を示す図である。 図16(a)は、ノードA上において、受信アクティビティが実行される直前に受信したメッセージを種類毎に件数および割合を抽出し集計された状態を示す図である。図16(b)は、ノードA上において、送信アクティビティが実行した直後に送信したメッセージを種類毎に件数および割合を抽出し集計された状態を示す図である。図16(c)は、ノードC上において、受信アクティビティが実行される直前に受信したメッセージを種類毎に件数および割合を抽出し集計された状態を示す図である。 図17(a)は、グローバルプロセス生成システム上で取得された受信アクティビティと受信メッセージの関連を保持した受信の関連表を示す図である。図17(b)は、グローバルプロセス生成システム上で取得された送信アクティビティと送信メッセージの関連を保持した送信の関連表を示す図である。 図18(a)は、図17(a)に示した受信の関連表から不特定となっている受信アクティビティの関連付けを行なった結果を保持した受信の関連表を示す図である。図18(b)は、図17(b)に示した送信の関連表から不特定となっている送信アクティビティの関連付けを行なった結果を保持した送信の関連表を示す図である。 図18(a)に示した受信の関連表と図18(b)に示した送信の関連表からメッセージをキーにマージした関連表を示す図である。 図1のグローバルプロセス1に対して、グローバルプロセス生成手法を用いて抽出されたグローバルプロセス1−1、1−2を示す図である。
符号の説明
5−1、5−2、5−3 観測点装置
8 プロセスエンジン
11 プロセス定義
12 プロセスエンジンログ
13 メッセージログ
20 プロセス定義データベース
21 プロセスエンジンログデータベース
22 メッセージログデータベース
23 プロセス合成部
25 監視装置
29 マッピング定義
24 グローバルプロセス定義
34 観測データ取得部
35 観測データ送信部
36 観測データ受信部

Claims (8)

  1. 送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成方法において、
    複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信工程と、
    この観測データ受信工程で受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出工程と、
    前記関連表から開始アクティビティを抽出する工程と、
    前記開始アクティビティからグローバルプロセスを生成する工程と、
    を備えたことを特徴としたグローバルプロセス生成方法。
  2. 前記観測データ受信工程で受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
    前記情報抽出工程で、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成することを特徴とした請求項1に記載のグローバルプロセス生成方法。
  3. 送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成装置において、
    複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信部と、
    この観測データ受信部が受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、前記関連表から開始アクティビティを抽出する機能と、前記開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部と、
    を備えたことを特徴としたグローバルプロセス生成装置。
  4. 前記観測データ受信部が受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
    前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項3に記載のグローバルプロセス生成装置。
  5. プロセスを実行する複数のノードにそれぞれ設置された観測点装置と、前記各ノードの送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成装置を備えたグローバルプロセス生成システムにおいて、
    前記観測点装置は、
    その観測点装置が設置された前記ノードから、このノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを取得する観測データ取得部と、
    前記観測データを前記グローバルプロセス生成装置に送信する観測データ送信部とを備え、
    前記グローバルプロセス生成装置は、
    前記複数の観測装置点から、前記観測データを受信する観測データ受信部と、
    この観測データ受信部が受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、前記関連表から開始アクティビティを抽出する機能と、前記開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部と、
    を備えたことを特徴としたグローバルプロセス生成システム。
  6. 前記観測データ取得部が取得する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
    前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項5に記載のグローバルプロセス生成システム。
  7. 送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成プログラムにおいて、
    コンピュータに、
    複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信機能と、
    この観測データ受信工程で受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、
    前記関連表から開始アクティビティを抽出する機能と、
    前記開始アクティビティからグローバルプロセスを生成する機能と、
    を実行させることを特徴としたグローバルプロセス生成プログラム。
  8. 前記観測データ受信機能で受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
    前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが1つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項7に記載のグローバルプロセス生成プログラム。
JP2006070759A 2006-03-15 2006-03-15 グローバルプロセス生成方法、装置、システム、およびプログラム Expired - Fee Related JP4816169B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4287234B2 (ja) * 2003-10-03 2009-07-01 富士通株式会社 業務プロセストラッキング装置,業務プロセストラッキング方法,業務プロセストラッキングプログラム,業務プロセストラッキングプログラムを記録した記録媒体

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