(57)【特許請求の範囲】
【請求項１】
送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成方法において、
複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信工程と、
この観測データ受信工程で受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出工程と、
前記関連表から開始アクティビティを抽出する工程と、
前記開始アクティビティからグローバルプロセスを生成する工程と、
を備えたことを特徴としたグローバルプロセス生成方法。
【請求項２】
前記観測データ受信工程で受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出工程で、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成することを特徴とした請求項１に記載のグローバルプロセス生成方法。
【請求項３】
送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成装置において、
複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信部と、
この観測データ受信部が受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、前記関連表から開始アクティビティを抽出する機能と、前記開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部と、
を備えたことを特徴としたグローバルプロセス生成装置。
【請求項４】
前記観測データ受信部が受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項３に記載のグローバルプロセス生成装置。
【請求項５】
プロセスを実行する複数のノードにそれぞれ設置された観測点装置と、前記各ノードの送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成装置を備えたグローバルプロセス生成システムにおいて、
前記観測点装置は、
その観測点装置が設置された前記ノードから、このノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを取得する観測データ取得部と、
前記観測データを前記グローバルプロセス生成装置に送信する観測データ送信部とを備え、
前記グローバルプロセス生成装置は、
前記複数の観測装置点から、前記観測データを受信する観測データ受信部と、
この観測データ受信部が受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、前記関連表から開始アクティビティを抽出する機能と、前記開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部と、
を備えたことを特徴としたグローバルプロセス生成システム。
【請求項６】
前記観測データ取得部が取得する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項５に記載のグローバルプロセス生成システム。
【請求項７】
送信アクティビティと受信アクティビティを関連付けてグローバルプロセス定義を構成するグローバルプロセス生成プログラムにおいて、
コンピュータに、
複数の観測対象のノードにそれぞれ設置された観測点装置から、前記ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、前記プロセスの処理内容を定義するプロセス定義と、前記送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信機能と、
この観測データ受信工程で受信した前記プロセス定義と前記マッピング定義から前記プロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、
前記関連表から開始アクティビティを抽出する機能と、
前記開始アクティビティからグローバルプロセスを生成する機能と、
を実行させることを特徴としたグローバルプロセス生成プログラム。
【請求項８】
前記観測データ受信機能で受信する観測データが、前記プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、
前記情報抽出機能は、前記マッピング定義を受信できなかった場合は、前記プロセスエンジンログと前記プロセス定義と前記メッセージログから前記メッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて前記関連表を作成するものであることを特徴とした請求項７に記載のグローバルプロセス生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散ワークフローシステムにおけるグローバルプロセス生成方法に関し、特に企業間で一連の処理を行うシステム上で分散的にプロセス管理されたプロセス定義を、各ノード間の送信アクティビティと受信アクティビティの関連を導くことによって、一連の処理であるグローバルプロセスを生成する方法に関する。
【背景技術】
【０００２】
従来の分散ワークフローシステムにおけるビジネスプロセス統合における進捗判断システムの一例が、特許文献１の図１等に記載されている。
この従来の進捗判断システムは、情報処理装置とメッセージ交換システムとイベントコンバータで構成されている。
このような構成を有する従来の進捗判断システムは次のように動作する。交換されているメッセージに基づいて対応するプロセスを結びつけており、メッセージの送受信をメッセージ交換システムが検出するとそのメッセージに対応するプロセスのログを出力することによってプロセスの監視を行っている。
この進捗判断システムによれば、ワークフローエンジンが単一の場合はプロセス管理を行なうことは可能となる。しかし、システムが本格的に運用されワークフローが複数の分散ワークフローとなったときに全体のプロセス管理を行なうことが出来ない。
【０００３】
【特許文献１】特開２００５−１６６０３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のような従来のシステムには次の問題点があった。
第１の問題点は、プロセスを監視する場合、プロセスのフローを特定する必要があることである。
一連のプロセスを実行する分散ワークフローシステム上で、１つのノードを監視する場合、ノード内のプロセスフローは各ノードに記述されているプロセス定義によって判断することができるが、分散ワークフローシステム全体を監視する場合、各ノードのプロセス定義に記述されている送信アクティビティと受信アクティビティの関連付けを行い、分散ワークフローシステム全体としてどのように動作しているかを記述したグローバルプロセス定義を構成する必要がある。また、エラーが発生した場合に影響のあるプロセスを特定するために一連の処理を表すグローバルプロセス定義の構築が必要とである。
その理由は、プロセスの進捗を監視する場合、全体のフローに対してどのプロセスを実行しているかを知る必要があるためである。
【０００６】
本発明の目的は、分散ワークフローシステムの個々のプロセス定義を合成して分散ワークフローシステム全体のプロセス定義を生成するグローバルプロセス生成方法等を提供することにある。
本発明の他の目的は、プロセスの状態監視、エラーが発生した場合に影響のあるプロセスをすべて特定できるプロセス監視システム等を提供することにある。
本発明の他の目的は、マッピング定義を使用せずに分散ワークフローシステム上で一連の処理を表すグローバルプロセスを構築することができるグローバルプロセス生成方法等を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のグローバルプロセス生成方法は、複数の観測対象のノードにそれぞれ設置された観測点装置から、ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と、送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信工程と、この観測データ受信工程で受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出工程と、関連表から開始アクティビティを抽出する工程と、開始アクティビティからグローバルプロセスを生成する工程とによりグローバルプロセスを生成する（請求項１及び請求項２）。
ここで、アクティビティとは、個々の人間またはコンピュータが行なう業務単位のことである。
【０００８】
上記グローバルプロセス生成方法によれば、情報抽出工程において、観測データ受信工程で各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置が設置された複数のノード全体のグローバルプロセスを導くことができる。
【０００９】
上記グローバルプロセス生成方法において、観測データ受信工程で受信する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出工程で、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するようにしてもよい（請求項２）。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
【００１０】
本発明の、グローバルプロセス生成装置は、複数の観測対象のノードにそれぞれ設置された観測点装置から、ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と、送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信部と、この観測データ受信部が受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、関連表から開始アクティビティを抽出する機能と、開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部とを備えている（請求項３および請求項４）。
【００１１】
上記グローバルプロセス生成装置によれば、プロセス合成部は、観測データ受信部が各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置内全体のグローバルプロセスを導くことができる。
【００１２】
上記グローバルプロセス生成装置において、観測データ受信部が受信する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出機能は、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するものとしてもよい（請求項４）。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
【００１３】
本発明のグローバルプロセス生成システムは、ノードに設置された観測点装置とグローバルプロセス生成装置とを備えている。
観測点装置は、その観測点装置が設置されたノードから、このノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と、送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを取得する観測データ取得部と、観測データをグローバルプロセス生成装置に送信する観測データ送信部とを備えている。
グローバルプロセス生成装置は、複数の観測装置点から、観測データを受信する観測データ受信部と、この観測データ受信部が受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、関連表から開始アクティビティを抽出する機能と、開始アクティビティからグローバルプロセスを生成する機能とを備えたプロセス合成部とを備えている（請求項５及び請求項６）。
【００１４】
上記グローバルプロセス生成システムによれば、グローバルプロセス生成装置のプロセス合成部は、観測データ受信部が各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置内全体のグローバルプロセスを導くことができる。
【００１５】
上記グローバルプロセス生成システムにおいて、観測データ取得部が取得する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出機能は、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するものとしても良い（請求項６）。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
【００１６】
本発明のグローバルプロセス生成プログラムは、コンピュータに、複数の観測対象のノードにそれぞれ設置された観測点装置から、ノードで実行されたプロセスの実行履歴を示すプロセスエンジンログと、プロセスの処理内容を定義するプロセス定義と、送信アクティビティが送信する先のエンドポイントの情報および受信アクティビティが受信するエンドポイントを示すマッピング定義を含む観測データを受信する観測データ受信機能と、この観測データ受信工程で受信したプロセス定義とマッピング定義からプロセスの送信アクティビティとプロセスの受信アクティビティの関連付けを示した関連表を作成する情報抽出機能と、関連表から開始アクティビティを抽出する機能と、開始アクティビティからグローバルプロセスを生成する機能とを実行させてグローバルプロセスを生成する（請求項７及び請求項８）。
【００１７】
上記グローバルプロセス生成プログラムによれば、情報抽出機能が、観測データ受信機能によりが各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置が設置された複数のノード全体のグローバルプロセスを導くことができる。
【００１８】
上記グローバルプロセス生成プログラムにおいて、観測データ受信機能で受信する観測データが、プロセス間で授受されるメッセージの送受信履歴を示すメッセージログを含むと共に、情報抽出機能は、マッピング定義を受信できなかった場合は、プロセスエンジンログとプロセス定義とメッセージログからメッセージの種類毎にアクティビティ数が有意に大きいメッセージが１つだけ存在するか否かを判断する統計処理を行って、この判断結果に応じて関連表を作成するものとしてもよい。
このようにすれば、マッピング定義を取得できなかった場合でも、グローバルプロセスを生成することができる。
【発明の効果】
【００１９】
本発明によれば、各ノードから受信したプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連表を生成し、この生成表から開始アクティビティを抽出することによって、観測点装置が設置された複数のノード全体のグローバルプロセスを導くことができる。
【発明を実施するための最良の形態】
【００２０】
図を参照しながら本発明の一実施形態であるグローバルプロセス生成システム５０の構成と動作について説明する。
図１を参照すると、グローバルプロセス生成システム５０は、プロセスを実行するノードＡ、Ｂ、Ｃ、Ｄと、プロセスを実行するノードを監視し、監視装置２５に監視情報を送信する観測点装置５−１、５−２、５−３と、すべての観測点装置からデータを取得することでシステム全体を監視する監視装置２５（グローバルプロセス生成装置の一例）から構成されている。
【００２１】
またノードＡ、Ｂ、Ｃは、観測点装置５−１、５−２、５−３とプロセスを実行するプロセスエンジン８を含む。
プロセスエンジン８は、プロセスの処理フローを記述するプロセス定義１１と、プロセス定義に記述されている各アクティビティの実行ログを保存するプロセスエンジンログ１２、送信アクティビティが送信する先のエンドポイントの情報と受信アクティビティが受信するエンドポイントの情報が記述されているマッピング定義２６を含む。
観測点装置５−１、５−２、５−３は、ノードＡ、Ｂ、Ｃ、Ｄ間で送受信を行なうメッセージa１−ｍ１、a１−ｍ２、ｂ１−ｍ１、ｂ１−ｍ２、ｃ１−ｍ１のログを保存するメッセージログ１３、観測対象のノードのプロセス定義１１、プロセスエンジンログ１２、マッピング定義２６を取得する構成となっている。
図１には、ノードを３個含む例を示したが、グローバルプロセス生成システム５０は、一般には上記のノード２等と同様の構成のｎ個のノードを含む。
【００２２】
次に、図２は、図１に示したグローバルプロセス生成システム５０の観測点装置５−１等と監視装置２５の機能ブロック図である。
観測点装置５−１はプロセス定義１１、プロセスエンジンログ１２、メッセージログ１３、マッピング定義２６（これらのデータを以下「観測データ」という）を取得する観測データ取得部３４と、観測データを監視装置２５に送信する観測データ送信部３５から構成される。観測点装置５−２ないし５−ｎの構成は、上記の観測点装置５−１と同一であるから、特に区別の必要がない場合は、これらの総称として「観測点装置５」と表記する。
また監視装置２５は、各観測点装置５−１ないし５−ｎから観測データを受信する観測データ受信部３６と、観測データを集積したデータベースであるプロセス定義データベース２０、プロセスエンジンログデータベース２１、メッセージログデータベース２２、マッピング定義データベース２９から送受信アクティビティの関連を示す関連表を作成し、一連のプロセスを表したグローバルプロセス定義２４を導き出すプロセス合成部２３を含んで構成される。
【００２３】
次に、フローチャートを参照してグローバルプロセス生成システム５０の全体の動作について詳細に説明する。
図３は、グローバルプロセス生成システム５０の基本動作を説明するためのフローチャートである。
グローバルプロセス生成システム５０におけるグローバルプロセス生成方法は図３示すように「情報収集処理」（ステップ１００）、「情報抽出処理」（ステップ１０１）、「グローバルプロセス生成処理」（ステップ１０２）の３つの基本処理に分けられる。
【００２４】
まず、観測点装置５から観測点装置が設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を収集する「情報収集処理」を行う（ステップ１００）。
次に、ステップ１００で収集した観測情報から受信アクティビティと送信アクティビティの関連付けを行なう「情報抽出処理」を行う（ステップ１０１）。ここでアクティビティとは、個々の人間またはコンピュータが行なう業務単位のことである。
次に、ステップ１０１で関連付けを行なった結果からグローバルプロセスを生成する「グローバルプロセス生成処理」を行う（ステップ１０２）。
【００２５】
次に、各基本処理を詳細に説明する。
まず「情報収集処理」である、観測点装置５から観測点装置が設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を収集する方法について説明する。
図４は、図２に示したグローバルプロセス生成システム５０におけるメッセージログの収集動作を説明するためのフローチャートである。
観測点装置５が設置されているノードがメッセージの送信および受信を行なう（ステップ１）。
すると、観測点装置５の観測データ取得部３４がメッセージの送信および受信を検出し、送信および受信されたメッセージログを取得する（ステップ２）。
観測データ取得部３４において取得されたメッセージログは、観測データ送信部３５から送信され（ステップ３）、監視装置２５の観測データ受信部３６が受信する（ステップ４）。観測データ受信部３６は、受信したメッセージログを、メッセージログデータベース２２へ保存する（ステップ５）。
【００２６】
次にプロセスエンジンログの収集方法について説明する。図５は図２に示したグローバルプロセス生成システム５０におけるプロセスエンジンログの収集動作を説明するためのフローチャートである。
ノード上のプロセスはメッセージを受信した後、またはノード内でプロセスを実行したときに実行される（ステップ６）。
すると、ノードに設置している観測点装置５の観測データ取得部３４においてプロセスの実行が検出され、実行されたプロセスのプロセスエンジンログが取得される（ステップ７）。
観測データ取得部３４において取得されたプロセスエンジンログは、観測データ送信部３５から送信され（ステップ８）、監視装置２５の観測データ受信部３６にて受信される（ステップ９）。観測データ受信部３６にて受信されたプロセスエンジンログは、プロセスエンジンログデータベース２１へ保存される（ステップ１０）。
【００２７】
次にプロセス定義の収集方法について説明する。図６は図２に示したグローバルプロセス生成システム５０におけるプロセス定義とマッピング定義の取得方法を説明するためのフローチャートである。
ノード内においてプロセスのフローを記述したプロセス定義を登録、更新、削除した（ステップ１１）ときに観測データ取得部３４によりプロセス定義変更が検出され、プロセス定義が取得される（ステップ１２）。
観測データ取得部３４において取得されたプロセス定義は、観測データ送信部３５から送信され（ステップ１３）、監視装置２５の観測データ受信部３６にて受信される（ステップ１４）。
プロセス合成部２３は、観測データ受信部３６にて受信されたプロセス定義の種別を判断する（ステップ１５）。種別が新規の場合、受信されたプロセス定義は、プロセス定義データベース２０へ保存される（ステップ１６）。種別が更新の場合は、プロセス定義データベースにすでに保存されているプロセス定義を上書きする（ステップ１７）。種別が削除の場合は、プロセス定義ログデータベースにすでに保存されているプロセス定義を削除する(ステップ１８)。
【００２８】
次にマッピング定義の収集方法について説明する。図６のプロセス定義収集と同様の処理を行うことによりマッピング定義を取得し、取得したマッピング定義は、マッピング定義データベース２９に保存する。
【００２９】
上記「情報収集処理」によって取得した各観測点装置５のメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を基にプロセス合成部２３が処理を行う。図２に示すプロセス合成部２３はグローバルプロセスを生成するための前準備として情報の抽出を行なう「情報抽出処理」と、抽出された情報からグローバルプロセスを生成する「グローバルプロセス生成処理」の２つの処理を行う。
【００３０】
まず「情報抽出処理」である、送信アクティビティと受信アクティビティの関連付けを行なう方法について説明する。
送信アクティビティが送信する先のエンドポイントの情報、受信アクティビティが受信するエンドポイントの情報を記述したマッピング定義が取得可能な場合は、マッピング定義から送信アクティビティと受信アクティビティの関連付けを行なう。
また、マッピング定義は標準の仕様が存在しないためプロセスエンジンに依存しており、各ノードでプロセスエンジンが異なる分散ワークフローシステム上で一連の動作を行なう場合、各ノードでマッピング定義を取得するのが困難である。そこでマッピング定義が取得不可能な場合は、マッピング定義を取得せずにメッセージログとプロセスエンジンログから送信アクティビティと受信アクティビティの関連付けを行なう。
【００３１】
前述の２つの情報抽出処理について説明する。まず、マッピング定義が取得可能な場合について説明する。
図７は図２に示すようにプロセス合成部４０で前述の「情報収集処理」によって取得した各観測点装置５のプロセス定義とマッピング定義を基に送信アクティビティと受信アクティビティの関連付けを行なう動作を説明するためのフローチャートである。
マッピング定義には各送信アクティビティが送信する先のエンドポイントの情報と各受信アクティビティが受信するエンドポイントの情報が記述されており、送信アクティビティのマッピング情報と受信アクティビティのマッピング情報が一致するとその送信アクティビティと受信アクティビティに関連付けがあると判断される。
【００３２】
プロセス合成部２３は、プロセス定義データベース２０にすでに保存されているすべての観測点装置５−１ないし５−ｎのプロセス定義を取得する（ステップ３００）。
次にマッピング定義データベース２９にすでに保存されているすべての観測点装置５−１ないし５−ｎのマッピング定義を取得する（ステップ３０１）。
次に取得したプロセス定義の受信アクティビティがすべて選択済みか判断され（ステップ３０２）、すべて選択済みと判断された場合は、受信アクティビティと関連付けされていない送信アクティビティの処理へ進む（ステップ３０２の判定がイエス、ステップ３１１）。
【００３３】
選択していない受信アクティビティが存在すると判断された場合は、選択されていない受信アクティビティの中から１つ選択する（ステップ３０２の判定がノー、ステップ３０３）。
次に、ステップ３０３で選択した受信アクティビティのマッピング情報をマッピング定義から取得する（ステップ３０４）。
次に、ステップ３０４で取得した受信アクティビティのマッピング情報と一致する送信アクティビティのマッピング情報が存在するか判断され（ステップ３０５）、存在しないと判断された場合は、選択した受信アクティビティに不特定マーク付けを行ない（ステップ３０５の判定がノー、ステップ３１０）、次の受信アクティビティの処理へ進む（ステップ３０２）。
【００３４】
受信アクティビティのマッピング情報と一致する送信アクティビティのマッピング情報が存在すると判断された場合は、一致する送信アクティビティのマッピング情報をすべて選択済みか判断され（ステップ３０５の判定がイエス、ステップ３０６）、すべて選択済みと判断されると次の受信アクティビティの処理へ進む（ステップ３０６の判定がイエス、ステップ３０２）。
【００３５】
一致する送信アクティビティのマッピング情報がすべて選択済みでない場合は、選択していない送信アクティビティのマッピング情報の中から１つ選択し（ステップ３０６の判定がノー、ステップ３０７）、送信アクティビティのマッピング情報に対応する送信アクティビティを取得する（ステップ３０８）。
次に、取得した送信アクティビティと選択した受信アクティビティの関連付けを行ない（ステップ３０９）、次の送信アクティビティのマッピング情報の処理へ進む（ステップ３０６）。
【００３６】
次に、すべて受信アクティビティの処理が終了してからの処理（ステップ３０２の判定がイエスの場合の処理）について説明する。
受信アクティビティと関連付けされていない送信アクティビティの中からすべて選択済みか判断され（ステップ３１１）、すべて選択済みと判断された場合は処理を終了する（ステップ３１１の判定がイエス、ステップ３１４）。
受信アクティビティと関連付けされていない送信アクティビティが存在すると判断された場合、関連付けされてない送信アクティビティの中から１つ取得する（ステップ３１１の判定がノー、ステップ３１２）。
次に取得した送信アクティビティに不特定マーク付けを行い（ステップ３１３）、次の送信アクティビティの処理へ進む（ステップ３１１）。
すべての送信アクティビティの処理が終了すると、送信アクティビティと受信アクティビティの関連付けが終了し、関連付けを行なった結果は関連表として保持する。
【００３７】
次にマッピング定義が取得不可能な場合の情報抽出処理について説明する。
図８と図９は、図２に示すようにプロセス合成部４０で前述の「情報収集処理」によって取得した各観測点装置５のメッセージログ、プロセスエンジンログ、プロセス定義を基にメッセージと送信／受信アクティビティの関連付けを行なう動作を説明するためのフローチャートである。
【００３８】
観測点装置５の中から選択されていない観測点装置５があるかどうか判断され（ステップ２０）、選択されていない観測点装置５が存在しないと判断された場合は、メッセージと送信／受信アクティビティの関連付け処理が終了する（ステップ２０の判定がイエス、ステップ４７）。
【００３９】
選択されていない観測点装置５が存在すると判断された場合は、選択されていない観測点装置５の中から１つ観測点装置５が選択される（ステップ２０の判定がノー、ステップ２１）。
次に、プロセス定義データベース２０にすでに保存されている選択した観測点装置５のプロセス定義を取得する（ステップ２２）。
次に、プロセスエンジンログデータベース２１にすでに保存されている選択した観測点装置５のプロセスエンジンログを取得する（ステップ２３）。
次に、メッセージログデータベース２２にすでに保存されている選択した観測点装置５のメッセージログを取得する（ステップ２４）。
【００４０】
取得したメッセージログより、選択した観測点装置５が設置されているノード上の送信/受信アクティビティについてそれぞれ実行した件数を集計する（ステップ２５、ステップ２６）。
次に、取得したメッセージログ、プロセスエンジンログより受信アクティビティをすべて抽出し、各受信アクティビティが実行された直前に受信したメッセージをメッセージ毎に分類し集計する（ステップ２７）。
次に、取得したメッセージログ、プロセスエンジンログより送信アクティビティをすべて抽出し、各送信アクティビティが実行された直後に送信したメッセージをメッセージ毎に分類し集計する（ステップ２８）。
【００４１】
メッセージの分類は、例えば図１に示した例では、ノードＤからノードＡへ送ったメッセージａ１−ｍ１、ノードＡからノードＤへ送ったメッセージａ１−ｍ２、ノードＡからノードＢへ送ったメッセージｂ１−ｍ１、ノードＢからノードＡへ送ったメッセージｂ１−ｍ２、ノードＡからノードＣへ送ったメッセージｃ１−ｍ１といったように分類される。メッセージの型は受信側のプロセス定義に記述しているのが一般的で、送信側は定義されたメッセージの型に合わせてメッセージを送信するため、受信側のプロセス定義毎にメッセージの種類が存在する。
また、同期通信についても判別可能である。メッセージａ１−ｍ２とメッセージａ１−ｍ２間、メッセージｂ１−ｍ１とメッセージｂ１−ｍ２間の関係が同期通信であることが抽出される。メッセージ要求に対応するメッセージ応答には参照先としてメッセージ要求のメッセージＩＤが含まれるのが一般的であり、このメッセージＩＤを見ることによって同期通信であるかは判別可能である。
【００４２】
次に、ステップ２８で集計した結果から受信メッセージが１種類であり、かつ受信アクティビティが１種類であるか判断され（ステップ２９）、受信メッセージが１種類であり、かつ受信アクティビティが１種類であるなら、この受信メッセージと受信アクティビティに関連付けがあるのは明らかである。したがって、この受信メッセージと受信アクティビティの関連付けを行なう（ステップ２９の判定がイエス、ステップ３７）。
【００４３】
受信メッセージが１種類であり、かつ受信アクティビティが１種類ではないと判断されると、取得したプロセス定義の受信アクティビティの中から選択されていない受信アクティビティが存在するかどうか判断され（ステップ２９の判定がノー、ステップ３０）、選択されていない受信アクティビティが存在しない場合は、送信アクティビティと送信メッセージの関連付けの処理に進む（ステップ３０の判定がイエス、ステップ３８）。
【００４４】
選択されていない受信アクティビティが存在する場合は、選択されていない受信アクティビティの中から１つ選択し（ステップ３０の判定がノー、ステップ３１）、選択したノード上で実行されたすべての受信アクティビティに対する選択した受信アクティビティが実行された割合を取得する（ステップ３２）。これはステップ２５で集計した結果から取得できる。
次に、受信アクティビティが実行された直前に受信したメッセージの種類毎の割合を取得する（ステップ３３）。これはステップ２７で集計した結果から取得できる。
【００４５】
ステップ３２で取得した割合とステップ３３で取得したメッセージの種類毎の割合についてメッセージの種類毎に有意に大きいメッセージが１つだけ存在するか判断される（ステップ３４）。
ここで、有意に大きいかどうかの判断については、統計的検定によって行なわれ、例えば図１のノードＡ上で考えると、ノードＡ上における全ての受信アクティビティが実行された直前に受信したメッセージがメッセージａ１−ｍ１となるすべての受信アクティビティの総数を受信アクティビティ数Ｘとする。また、受信アクティビティａ１−ｐ１の実行された直前に受信したメッセージがメッセージａ１−ｍ１となる受信アクティビティａ１−ｐ１の総数を受信アクティビティ数Ｙとする。また、ノードＡ上におけるすべての受信アクティビティが実行された数を受信アクティビティ数Ｓとする。また、ノードＡ上における受信アクティビティａ１−ｐ１の実行された数を受信アクティビティ数Ｔとする。
ここで、「受信アクティビティ数Ｘに対する受信アクティビティ数Ｙの割合は、受信アクティビティ数Ｓに対する受信アクティビティ数Ｔの割合に等しい」を帰無仮説とし、また「受信アクティビティ数Ｘに対する受信アクティビティ数Ｙの割合は、受信アクティビティ数Ｓに対する受信アクティビティ数Ｔの割合より大きい」を対立仮説として片側検定を行い、検定が有意であった場合、受信アクティビティ数Ｘに対する受信アクティビティ数Ｙの割合は、受信アクティビティ数Ｓに対する受信アクティビティ数Ｔの割合よりも有意に大きいと判断される。
なお、有意水準については、アクティビティ数の大きさに応じて適切に定められる。
また、有意に大きいメッセージが１つであるか判断される。
【００４６】
有意に大きいメッセージが複数存在した場合は、選択した受信アクティビティがどの受信メッセージと関連があるか判断できず、選択した受信アクティビティに不特定マークを付け（ステップ３４の判定がノー、ステップ３６）、次の受信アクティビティの関連付け処理に進む（ステップ３０）。
一方、有意に大きいメッセージが１つだけ存在すると判断された場合は、受信アクティビティと受信メッセージの関連付けを行なう（ステップ３４の判定がイエス、ステップ３５）。
【００４７】
すべての受信アクティビティと受信メッセージの関連付けを行なった後、送信アクティビティと送信メッセージの関連付けの処理（ステップ３８）に進む。
送信アクティビティと送信メッセージの関連付けの処理は、前述で行った受信アクティビティと受信メッセージの関連付けの処理（ステップ２９〜ステップ３７）と同様の処理を行うことによって関連付けを行うことができる（ステップ３８〜ステップ４６）。
すべての送信アクティビティと送信メッセージの関連付けが終わると、選択した観測点装置のメッセージの関連付けが終了し、次の観測点装置の処理（ステップ３９の判定がイエス、ステップ２０）に進む。
前述のステップ２１からステップ４６と同様の処理を選択されていない観測点が存在しなくなるまで行う。すべての観測点装置５の送信アクティビティと送信メッセージの関連付けを行った結果は送信の関連表、受信アクティビティと受信メッセージの関連付けを行なった結果は受信の関連表として保持する。
【００４８】
次に、送信アクティビティと送信メッセージの関連付けを行った結果を保持している送信の関連表と、受信アクティビティと受信メッセージの関連付けを行なった結果を保持している受信の関連表を基に不特定となっているメッセージと送信/受信アクティビティの関連付けの処理動作を説明する。
図１０は、関連表のメッセージと送信／受信アクティビティの関連が不特定となっているメッセージとアクティビティの関連付けを行なう動作を説明するためのフローチャートである。
ここで、不特定アクティビティが同期通信のアクティビティである場合、不特定アクティビティに対応するアクティビティが存在する。不特定のアクティビティに対応するアクティビティとメッセージの関連が存在する場合、このメッセージに対応するメッセージと不特定のアクティビティに関連があることは明らかである。ここで、同期通信の場合、メッセージ要求とメッセージ応答の組が存在する。同様に、受信アクティビティに同期通信に対応する送信アクティビティがプロセス定義に書かれており、メッセージ要求を受信した受信アクティビティとメッセージ応答を送信する送信アクティビティの組が存在する。前述の図８メッセージと送信／受信アクティビティの関連付けフローのメッセージの分類（ステップ２７、ステップ２８）を行なったことでメッセージが同期通信であるか、またメッセージ要求とメッセージ応答の組が判断できる。前述で説明した処理を図１０のフローチャートを基に説明する。
【００４９】
送信／受信の関連表の中から不特定となっているアクティビティをすべて選択済みか判断され（ステップ５０）、選択されていないアクティビティが存在しないと判断された場合は、不特定となっている送信/受信アクティビティとメッセージの関連付け処理を終了する（ステップ５０の判定がイエス、ステップ６２）。
【００５０】
送信／受信の関連表から不特定となっているアクティビティが存在する場合、不特定アクティビティの中から１つ取得する（ステップ５０の判定がノー、ステップ５１）。
取得したアクティビティが同期通信であるかどうか判断され（ステップ５２）、同期通信ではないと判断された場合は不特定アクティビティに関連するメッセージを特定することができないため、次の不特定アクティビティの処理へ進む（ステップステップ５２の判定がノー、５０）。
【００５１】
同期通信であると判断された場合、選択した不特定アクティビティが受信アクティビティであるか判断され（ステップ５２の判定がイエス、ステップ５３）、受信アクティビティであるなら、選択した受信アクティビティと対応する送信アクティビティに関連付けが存在するか判断され（ステップ５３の判定がイエス、ステップ５４）、関連付けが存在しないなら不特定アクティビティに関連するメッセージを特定することができないため、次の不特定アクティビティの処理へ進む（ステップ５４の判定がノー、ステップ５０）。
【００５２】
選択した不特定受信アクティビティと対応する送信アクティビティに関連付けが存在するなら、そのメッセージを取得する（ステップ５４の判定がイエス、ステップ５５）。次に、ステップ５５で取得したメッセージに対応するメッセージを取得する（ステップ５６）。次に、ステップ５６で取得したメッセージと選択した受信アクティビティの関連付けを行い（ステップ５７）、次の不特定アクティビティの処理に進む（ステップ５０）。
【００５３】
選択した不特定アクティビティが送信アクティビティであるなら（ステップ５３の判定がノー）、送信アクティビティの処理へ進み（ステップ５８）、受信アクティビティの処理と同様の処理を行い送信アクティビティとメッセージの関連付けを行う（ステップ５８〜６１）。
【００５４】
不特定アクティビティをすべてチェックするまで上記の処理を行ない、不特定アクティビティとメッセージの関連付けを行ない、すべての観測点装置の送信アクティビティと送信メッセージの関連付けを行った結果は送信の関連表、受信アクティビティと受信メッセージの関連付けを行なった結果は受信の関連表として保持する。次に送信の関連表と受信の関連表からメッセージをキーにマージし、マージ結果が送信アクティビティと受信アクティビティの関連付けを示した関連表となる。
【００５５】
次に、前述の処理を行い抽出された送信アクティビティと受信アクティビティの関連付けを示した関連表からグローバルプロセスを生成する「グローバルプロセス生成処理」について説明する。
図１１は、前述処理を行った結果を保持した関連表からグローバルプロセスを開始する開始アクティビティの抽出方法を説明するためのフローチャートである。
まず、グローバルプロセスを開始するアクティビティについて説明する。開始アクティビティには、観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティ、またはメッセージ受信せずに自ノード上でプロセスを開始するアクティビティの３つのアクティビティがある。開始アクティビティの抽出方法について図１１のフローチャートを基に説明する。
【００５６】
図１０の処理を行った結果を保持した関連表を基に開始アクティビティの抽出を行なう。はじめに、開始アクティビティとして観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティの抽出を行なう。この開始アクティビティは関連表で送信アクティビティが不特定となっている受信アクティビティとして表される。
関連表の中から送信アクティビティの関連が不特定となっている受信アクティビティをすべて選択済みか判断され（ステップ２００）、選択されていない受信アクティビティが存在しないと判断されると、メッセージを受信せずに自ノード上でプロセスを開始するアクティビティの抽出処理へ進む（Ｓ２００の判定がイエス、ステップ２０３）。
【００５７】
選択されていない受信アクティビティが存在すると判断された場合、受信アクティビティの中から１つを選択する（ステップ２０１）。観測点装置外から来たメッセージによって開始される受信アクティビティであるか、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティであると判断され、選択した受信アクティビティを開始アクティビティとして保持する（ステップ２０２）。
すべての受信アクティビティについて、開始アクティビティであるか否かの判定を前述のステップ２００からステップ２０２と同様に処理を行う。
【００５８】
次に、すべての受信アクティビティのチェックが終了すると、メッセージを受信せずに自ノード上でプロセスを開始するアクティビティの抽出を行なう。
プロセス定義データベース２０からすべての観測点のプロセス定義を取得し（ステップ２０３）、プロセス定義が選択済か判断され（ステップ２０４）、選択されていないプロセス定義が存在しないと判断されると処理が終了となる（ステップ２０４の判定がイエス、ステップ２０８）。
選択されていないプロセス定義が存在すると判断されると、プロセス定義データベース２０の中からプロセス定義を１つ選択する（ステップ２０５）。選択したプロセス定義の中でメッセージを受信しないで開始する開始アクティビティが存在するか否かがプロセス定義の記述から判断され（ステップ２０６）、存在しない場合は次のプロセス定義の処理に進む（ステップ２０６の判定がノー、ステップ２０４）。
選択したプロセス定義の中でメッセージを受信しないで開始する開始アクティビティが存在すると判断されると（ステップ２０６）、選択したプロセス定義の中から開始アクティビティを取得し、開始アクティビティとして保持する（ステップ２０７）。
すべてのプロセス定義について前述のステップ２０４からステップ２０７と同様の処理を行う。すべてのプロセス定義のチェックが終了すると開始アクティビティの抽出処理が終了となる。
【００５９】
次に、前述の図１１の処理で抽出した開始アクティビティからグローバルプロセスを生成する。図１２は、抽出した開始アクティビティから関連表を基にグローバルプロセスを作成する方法を説明するためのフローチャートである。
観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっている受信アクティビティ、またはメッセージ受信せずに自ノード上でプロセスを開始するアクティビティのいずれかである開始アクティビティから呼び出される一連のプロセスが特定できる範囲までをグローバルプロセスとする。グローバルプロセスの生成方法について図１２のフローチャートを基に説明する。
【００６０】
図１１の処理で取得した開始アクティビティがすべて選択されているか判断され（ステップ２１０）、すべて選択済みの場合はグローバルプロセス生成処理を終了する（ステップ２１０の判定がイエス、ステップ２２３）。
選択されていない受信アクティビティが存在する場合はその中から１つを選択し（ステップ２１１）、取得した受信アクティビティのプロセス定義を取得する（ステップ２１２）。
【００６１】
次に、取得したプロセス定義の記述からプロセス定義内の送信アクティビティを抽出することが可能であるため、送信アクティビティをすべて選択済みか判断し（ステップ２１３）、送信アクティビティをすべて選択済みの場合はステップ２１２で取得した開始アクティビティのプロセス定義を処理済として保存する（ステップ２１３の判定がイエス、ステップ２１９）。
【００６２】
選択していない送信アクティビティが存在する場合はその中から１つ選択し（ステップ２１３の判定がノー、ステップ２１４）、関連表に選択した送信アクティビティに受信アクティビティの関連が１つだけ存在するか判断する（ステップ２１５）。
関連が存在しない、または複数存在する場合は、呼び出し先が不特定として判断され次の送信アクティビティのチェックへ進む（ステップ２１５の判定がノー、ステップ２１３）。
ここで、１つの送信元の送信アクティビティに対して複数の送信先の受信アクティビティが存在する場合は、同じ定義の送信先の受信アクティビティが複数の送信元の送信アクティビティから呼び出されているようなプロセス定義が記述されている環境で、複数の送信元の送信アクティビティから同じ定義の送信先の受信アクティビティへのメッセージ要求に対してメッセージ応答を返す場合だけである。
送信先の受信アクティビティで要求メッセージを受信し、対応する送信先の送信アクティビティから複数の送信元の送信アクティビティへメッセージ応答を返し、そのメッセージ応答を複数の送信元の送信アクティビティに対応する受信アクティビティで受信する場合、１つの送信元の送信アクティビティに対して複数の送信先の受信アクティビティが存在する。
したがって、このグローバルプロセス生成方法では、必ず送信元のプロセス定義から検索するアルゴリズムのため、送信先が複数ある場合のプロセス定義を取得する必要はなく、取得する必要のあるプロセス定義が洩れる事はない。
【００６３】
関連が１つだけ存在する場合は、関連表から選択した送信アクティビティと関連付けされている受信アクティビティを取得する（ステップ２１５の判定がイエス、ステップ２１６）。次に、取得した受信アクティビティのプロセス定義がすでに取得済みであるか判断され（ステップ２１７）、すでに取得済みであると判断した場合は、検査対象として保持しているため保存せずに次の送信アクティビティの処理へ進む（ステップ２１７の判定がイエス、ステップ２１３）。
取得していないと判断した場合は、取得した受信アクティビティのプロセス定義を未処理として保存し（ステップ２１７の判定がノー、ステップ２１８）、次の送信アクティビティの処理へ進む（ステップ２１３）。
【００６４】
次に、送信アクティビティをすべてチェックし、プロセス定義を処理済として保存（ステップ２１３の判定がノー、ステップ２１９）した後の動作を説明する。呼び出し先があるとして保存した呼び出し先のプロセス定義がすべて処理済であるか判断し（ステップ２２０）、未処理のプロセス定義が存在するなら保存している未処理のプロセス定義の中から１つ取得し（ステップ２２０の判定がノー、ステップ２２１）、プロセス定義から呼ばれているプロセス定義があるかチェックを行なう（ステップ２１３〜ステップ２１９）。
【００６５】
保存したプロセス定義がすべて処理済であると判断された場合、取得したプロセス定義がグローバルプロセスの範囲であり、プロセス定義の個々送信アクティビティと受信アクティビティの関連は関連表で表され、これが１つのグローバルプロセスとなる（ステップ２２２）。
ステップ２１０からステップ２２２までの処理を開始アクティビティがすべて選択済みとなるまで実行し、その数だけグローバルプロセスが導き出される。
【００６６】
次に、グローバルプロセス生成システム５０の効果について説明する。
グローバルプロセス生成システム５０では、観測点装置５０を設置することによって設置されたノードのメッセージログ、プロセスエンジンログ、プロセス定義、マッピング定義を監視装置２５に送るように構成されている。
そのため、マッピング定義が取得可能な場合は監視装置２５ですべてのノードのプロセス定義とマッピング定義から送信アクティビティと受信アクティビティの関連を導くことによって、またマッピング定義が取得不可能な場合は監視装置ですべてのノードのメッセージログ、プロセスエンジンログ、プロセス定義から統計的検定により送信アクティビティと受信アクティビティの関連を導くことによって観測点装置内全体のグローバルプロセスを導くことができる。
【００６７】
また、統計的検定によって送信アクティビティと受信アクティビティの関連が不特定となった場合、観測点装置外とメッセージの送受信を行なった場合は観測点装置外のプロセスを知ることはできないため、実際のグローバルプロセスより小さな範囲のグローバルプロセスとなってしまう。
しかし、メッセージ送受信の量を増やすことによって統計的検定から導き出されるメッセージとアクティビティの関係を特定することによって、また観測点装置の設置範囲を広げることによって実際のグローバルプロセスを導くことができる。
このように、マッピング定義が取得可能な場合でも、不可能な場合でもグローバルプロセスを導くことができるように構成されているため、マッピングがなくでもグローバルプロセスを導くことができる。
【００６８】
また、グローバルプロセスを導くように構成されているため、グローバルプロセスを生成後はプロセスの進捗状況を把握することができ、障害が発生したアクティビティを特定し、影響範囲を特定することができる。
【００６９】
また、各ノードのプロセス定義からグローバルプロセスを生成しているため、各ノード上のすべてのアクティビティの進捗を把握できる。
【実施例】
【００７０】
次に、具体的な実施例を用いてグローバルプロセス生成システム５０の動作を説明する。
図1に示すように、観測点装置５−１、５−２、５−３をそれぞれ設置したノードＡ、ノードＢ、ノードＣと、観測点装置を設置していないノードＤ間において、グローバルプロセス１が実行されている。グローバルプロセス１は、ノードＤ上からプロセスが開始され、ノードＡ上のプロセス定義ａ1、ノードＢ上のプロセス定義ｂ１、ノードＣ上のプロセス定義ｃ１を実行する。
また、図１３に示すように、グローバルプロセス２がノードＡ、ノードＢ、ノードＣ上で実行されている。このグローバルプロセス２はノードＡ上から起動され、ノードＡ上でプロセス定義ａ２、ノードＢ上のプロセス定義ｂ１、ノードＣ上のプロセス定義ｃ２を実行する。
【００７１】
前述の２つのグローバルプロセスを実行している環境で、ノードＡ、ノードＢ、ノードＣ上に設置した観測点装置５−１、５−２、５−３から集められた情報を基に監視装置２５においてノード間で実行されているグローバルプロセスを生成する方法について、マッピング定義を取得不可能な場合について説明する。
グローバルプロセス生成手法の「情報収集処理」は終了しているものとし、各ノード間にて送受信されたメッセージログはすでにメッセージログデータベース２２に格納され、各ノードのプロセス定義はすでにプロセス定義データベース２０に格納され、各ノード上で実行されたプロセスエンジンログはプロセスエンジンログデータベース２１に格納されているものとする。
【００７２】
プロセス合成部２３の「情報抽出処理」から図８と図９のフローチャートに従って説明する。
まず観測点装置５−１、５−２、５−３の中から観測点装置５−１を選択し（ステップ２１）、観測点装置５−１のプロセス定義、プロセスエンジンログ、メッセージログを取得する（ステップ２２〜ステップ２４）。
前述で取得したプロセスエンジンログより受信アクティビティの実行された件数を受信アクティビティ毎に集計する（ステップ２５）。集計が終了した結果は図１５（ａ）となる。
【００７３】
次に、送信アクティビティの実行された件数を送信アクティビティ毎に集計する（ステップ２６）。集計が終了した結果は図１５（ｂ）となる。
【００７４】
次に、前述で取得したメッセージログとプロセスエンジンログから、受信アクティビティが実行された時間の直前に受信したメッセージを種類毎に集計する（ステップ２７）。集計が終了した結果が図１６（ａ）となる。
【００７５】
次に、前述で取得したメッセージログとプロセスエンジンログから、送信アクティビティが実行された直後に送信したメッセージを種類毎に集計する（ステップ２８）。集計が終了した結果が図１６（ｂ）となる。
【００７６】
前述で集計した結果からノードＡの受信のメッセージログが１種類であり、かつ受信アクティビティが１つではないと判断され（ステップ２９）、プロセス定義ａ１、ａ２の受信アクティビティａ１−ｐ１、ａ１−ｐ２、ａ２−ｐ２１、ａ２−ｐ２２がすべて選択済みか判断され（ステップ３０）、その中から受信アクティビティａ１−ｐ１を選択し（ステップ３１）、ノードＡ上のすべての受信アクティビティにおいて受信アクティビティａ１−ｐ１が実行されている割合を取得する（ステップ３２）。これは図１５（ａ）に示すステップ２５で集計した結果から取得し、ノードＡ上で受信アクティビティａ１−ｐ１が実行された件数は４７００件であり、全受信アクティビティに対する割合は２５％である。
【００７７】
次に受信アクティビティａ１−ｐ１が実行された直前に受信したメッセージの種類毎の割合を取得する（ステップ３３）。これはステップ２７で集計した結果である図１６（ａ）から取得し、ａ１−ｐ１を実行した直前に呼ばれたメッセージはメッセージａ１−ｍ１が３２００件、メッセージｂ１−ｍ２が５００件、メッセージｃ２−ｍ２が１０００件であり、メッセージａ１−ｍ１が直前に呼ばれたすべての受信アクティビティに対する割合は６８％、メッセージｂ１−ｍ２が直前に呼ばれたすべての受信アクティビティに対する割合は５％、メッセージｃ２−ｍ２が直前に呼ばれたすべての受信アクティビティに対する割合は２１％である。
【００７８】
ステップ３２で取得した割合と、ステップ３３で取得したメッセージ毎の割合についてメッセージ毎に有意に大きいか判断され、有意に大きいのはメッセージａ１−ｍ１の１つと判断され（ステップ３４）、メッセージａ１−ｍ１と受信アクティビティａ１−ｐ１の関連付けを行う（ステップ３５）。これは図１７（ａ）に示す受信の関連表６０において、受信アクティビティａ１−ｐ１に対応する受信メッセージにメッセージａ１−ｍ１が格納される。次にすべての受信アクティビティについて同様の処理を行い、受信アクティビティａ１−ｐ２はメッセージｂ１−ｍ２と関連付けされ、受信アクティビティａ２−ｐ２２はメッセージｃ２−ｍ２と関連付けされる。
【００７９】
また、受信アクティビティａ２−ｐ２１については、ステップ２５で取得されるノードＡ上で受信アクティビティａ２−ｐ２１が実行された件数は５０００件であり、全受信アクティビティに対する割合は２６％である（図１５（ａ））。またステップ２７で取得した受信アクティビティａ２−ｐ２１が実行された直前に受信したメッセージの種類毎の割合は、メッセージａ１−ｍ１が１３００件、メッセージｂ１−ｍ２が３８００件、メッセージｃ２−ｍ２が１１００件であり、メッセージａ１−ｍ１が直前に呼ばれたすべての受信アクティビティに対する割合は２８％、メッセージｂ１−ｍ２が直前に呼ばれたすべての受信アクティビティに対する割合は４０％、メッセージｃ２−ｍ２が直前に呼ばれたすべての受信アクティビティに対する割合は２３％である（図１６（ａ））。
したがってメッセージａ１−ｍ１とメッセージｂ１−ｍ２の２つのメッセージが有意に大きいと判断され（ステップ３４）、受信アクティビティに対応する受信メッセージを特定することができないため、受信アクティビティに不特定マークを付け（ステップ３６）、次の受信アクティビティのチェックに進む（ステップ３０）。これは図１７（ａ）に示す受信の関連表において、受信アクティビティａ２−ｐ２１に対応する受信メッセージに不特定が格納される。
【００８０】
次に、受信アクティビティの関連付けがすべて終わると、送信アクティビティの関連付けの処理に進む。前述で集計した結果からノードＡの送信のメッセージログが１種類であり、かつ送信アクティビティが１つではないと判断され（ステップ３８）、プロセス定義ａ１、ａ２の送信アクティビティａ１−ｐ２、ａ１−ｐ３、ａ１−ｐ５、ａ２−ｐ２１、ａ２−ｐ２２が選択済みか判断され（ステップ３９）、その中から送信アクティビティａ１−ｐ２を選択し（ステップ４０）、ノードＡ上のすべての送信アクティビティにおいて送信アクティビティａ１−ｐ２が実行されている割合を取得する（ステップ４１）。これは図１５（ｂ）で示すようにステップ２６で集計した結果から取得し、ノードＡ上で送信アクティビティａ１−ｐ２が実行された件数は４７００件であり、全送信アクティビティに対する割合は２０％である。
【００８１】
次に、送信アクティビティａ１−ｐ２が実行された直後に送信したメッセージの種類毎の割合を取得する（ステップ４２）。これはステップ２８で集計した結果である図１６（ｂ）から取得し、ａ１−ｐ２を実行した直後に呼ばれたメッセージはメッセージｂ１−ｍ１が２９００件、メッセージｃ１−ｍ１が８００件、メッセージａ１−ｍ２が８００件、メッセージｃ２−ｍ１が２００件であり、メッセージｂ１−ｍ１が直後に呼ばれたすべての受信アクティビティに対する割合は３０％、メッセージｃ１−ｍ１が直後に呼ばれたすべての受信アクティビティに対する割合は１８％、メッセージａ１−ｍ２が直後に呼ばれたすべての受信アクティビティに対する割合は１８％、メッセージｃ２−ｍ１が直後に呼ばれたすべての受信アクティビティに対する割合は４％である。
ステップ４１で取得した割合と、ステップ４２で取得したメッセージ毎の割合についてメッセージ毎に有意に大きいか判断され、有意に大きいのはメッセージｂ１−ｍ１の１つと判断され（ステップ４３）、メッセージｂ１−ｍ１と送信アクティビティａ１−ｐ２の関連付けを行う（ステップ４４）。これは図１７（ｂ）に示す送信の関連表６１において、送信アクティビティａ１−ｐ２に対応する送信メッセージにメッセージｂ１−ｍ１が格納される。
【００８２】
次に、すべての送信アクティビティについて同様の処理を行ない、送信アクティビティａ２−ｐ２１はメッセージｂ１−ｍ１と関連付けされ、送信アクティビティａ２−ｐ２２はメッセージｃ２−ｍ１と関連付けされる。また送信アクティビティａ１−ｐ３と送信アクティビティａ１−ｐ５は有意に大きいメッセージが複数存在するため関連付けされず不特定となる（図１７（ｂ））。
【００８３】
送信アクティビティの関連付けがすべて終わると観測点装置５−１内の関連付けが終了となり、次の観測点装置５−２の関連付けに進む（ステップ２０）。
観測点装置５−２を選択し（ステップ２１）、前述した観測点装置５−１の関連付けと同様の処理を行い、ステップ２９で受信アクティビティが１種類かつであり、受信メッセージが１種類であると判断され、受信メッセージ１種類に対して受信アクティビティが１種類なので関連があることは明らかである。したがってメッセージｂ１−ｍ１と受信アクティビティｂ１−ｐ６が関連付けされる。
【００８４】
次に送信アクティビティの関連付けに進む。ステップ３７で送信アクティビティが１種類であり、送信メッセージが１種類であると判断され、送信メッセージ１種類に対して送信アクティビティが１種類なので関連があることは明らかである。したがってメッセージｂ１−ｍ２と送信アクティビティｂ１−ｐ１０の関連付けされる。
【００８５】
これで観測点装置５−２内の関連付けが終了し、次の観測点装置の関連付けに進む（ステップ２０）。
観測点装置５−３を選択し、（ステップ２１）、前述した観測点装置５−１内の関連付けと同様の処理を行い、メッセージｃ１−ｍ１と受信アクティビティｃ１−ｐ１１と関連付けされ、メッセージｃ２−ｍ１と受信アクティビティｃ２−ｐ３０と関連付けされ、メッセージｃ２−ｍ２と送信アクティビティｃ２−ｐ３４が関連付けされる。
これで観測点装置Ａ、Ｂ、Ｃすべての関連付けを行い、終了時の受信の関連表６０は図１７（ａ）、送信の関連表６１は図１７（ｂ）のようになる。
【００８６】
次に、図１７（ａ）の受信の関連表、図１７（ｂ）の送信の関連表を基に不特定となっているアクティビティの関連付けを行う。図１０に示す不特定となっているアクティビティの関連付けについてのフローチャートを基に説明する。
まず、図１７（ａ）に示す受信の関連表、図１７（ｂ）に示す送信の関連表の中でメッセージが不特定となっている受信アクティビティａ２−ｐ２１、送信アクティビティａ１−ｐ３、送信アクティビティａ１−ｐ５をすべて選択したか判断され（ステップ５０）、不特定アクティビティの中から受信アクティビティａ２−ｐ２１を選択する（ステップ５１）。
次に、プロセス定義ａ２から受信アクティビティａ２−ｐ２１が同期通信であると判断され（ステップ５２）、受信アクティビティａ２−ｐ２１が受信アクティビティであると判断される（ステップ５３）。
【００８７】
次に、受信アクティビティａ２−ｐ２１と対応する送信アクティビティａ２−ｐ２１の関連付けが存在すると判断され（ステップ５４）、受信アクティビティａ２−ｐ２１と対応する送信アクティビティａ２−ｐ２１と関連する送信メッセージｂ１−ｍ１を取得する（ステップ５５）。
次に、取得した送信メッセージｂ１−ｍ１と対応する受信メッセージｂ１−ｍ２を取得する（ステップ５６）。次に受信アクティビティａ２−ｐ２１と取得した受信メッセージｂ１−ｍ２を関連付けし（ステップ５７）、次の不特定アクティビティの処理に進む（ステップ５０）。
【００８８】
次に、不特定アクティビティの中から送信アクティビティａ１−ｐ３を選択する（ステップ５１）。次に送信アクティビティａ１−ｐ３は同期通信ではないと判断され（ステップ５２）、メッセージと関連付けを行なうことができずに次の不特定アクティビティの関連付けに進む（ステップ５０）。
次に不特定アクティビティの中から送信アクティビティａ１−ｐ５を選択する（ステップ５１）。前述と同様の処理を行い、送信アクティビティａ１−ｐ５はａ１−ｍ２と関連付けされる。
【００８９】
これで全ての不特定アクティビティの関連付け処理が終了し、終了時の受信の関連表６０は図１８（ａ）、送信の関連表６１は図１８（ｂ）のようになる。ここで、図１８（ａ）の受信の関連表６０と図１８（ｂ）の送信の関連表６１においてメッセージをキーにしてマージした関連表は図１９のようになる。例えば、図１８（ａ）と図１８（ｂ）で同じメッセージｂ１−ｍ１に関連付けられている受信アクティビティａ１−ｐ２と送信アクティビティｂ１−ｐ１０が関連付けられる。
【００９０】
次に、図１９の関連表６２を基に、グローバルプロセスを生成する「グローバルプロセス生成処理」について説明する。図１１に示すグローバルプロセスを開始する開始アクティビティの抽出方法についてフローチャートを基に説明する。
はじめに、開始アクティビティは観測点装置外から来たメッセージによって開始される受信アクティビティ、またはメッセージの送信アクティビティの関連付けが不特定となっているメッセージによって開始される受信アクティビティの抽出を行なう。図１９の関連表６２から送信アクティビティの関連が不特定となっている受信アクティビティａ１−ｐ１、ｃ１−ｐ１１が選択済みでないと判断され（ステップ２００）、その中から受信アクティビティａ１−ｐ１を選択する（ステップ２０１）。
次に、選択した受信アクティビティａ１−ｐ１を開始アクティビティとして保持し（ステップ２０２）、次の受信アクティビティの処理に進む（ステップ２００）。すべての受信アクティビティが開始アクティビティであるか前述と同様の処理を行い、受信アクティビティｃ１−ｐ１１が開始アクティビティとして保持される。
【００９１】
次に、すべての受信アクティビティのチェックが終了すると、メッセージを受信せずに自ノード上でプロセスを開始するアクティビティの抽出を行なう。プロセス定義データベースからすべての観測点のプロセス定義を取得し（ステップ２０３）、すべてのプロセス定義ａ１、ａ２、ｂ１、ｃ１が選択済みでないと判断され（ステップ２０４）、その中からプロセス定義ａ２を選択する（ステップ２０５）。
選択したプロセス定義ａ２の中でメッセージを受信しないで開始する開始アクティビティａ２−ｐ２０が存在するとプロセス定義の記述から判断され（ステップ２０６）、開始アクティビティとしてアクティビティａ２−ｐ２０を保持し（ステップ２０７）、次のプロセス定義の処理に進む（ステップ２０４）。
すべてのプロセス定義を前述と同様の処理を行い、開始プロセスは存在しないと判断される。前述の開始アクティビティ抽出処理を行った結果、受信アクティビティａ１−ｐ１、受信アクティビティｃ１−ｐ１１、アクティビティａ２−ｐ２０が開始アクティビティとして抽出される。
【００９２】
次に、前述で抽出した開始アクティビティと関連表からグローバルプロセスを生成する。図１２に示すグローバルプロセスを作成するフローチャートを基に説明する。
まず開始アクティビティａ１−ｐ１、ｃ１−ｐ１１、ａ２−２０をすべて選択済みか判断され（ステップ２１０）、その中から開始アクティビティａ１−ｐ１を選択する（ステップ２１１）。
次に開始アクティビティａ１−ｐ１のプロセス定義ａ１を取得し（ステップ２１２）、プロセス定義の記述からプロセス定義ａ１内の送信アクティビティａ１−ｐ２、ａ１−ｐ３、ａ１−ｐ５を抽出しすべて選択済みか判断され（ステップ２１３）、その中から送信アクティビティａ１−ｐ２を選択する（ステップ２１４）。
取得した送信アクティビティａ１−ｐ２と関連する受信アクティビティが受信アクティビティｂ１−ｐ６の１つだけ存在すると判断され（ステップ２１５）、受信アクティビティｂ１−ｐ６を取得する（ステップ２１６）。
【００９３】
次に、受信アクティビティｂ１−ｐ６のプロセス定義ｂ１は取得済みではないと判断され（ステップ２１７）、プロセス定義ｂ１を未処理として保存する（ステップ２１８）。
【００９４】
次に送信アクティビティａ１−ｐ３を選択し（ステップ２１３）、前述した処理と同様の処理を行うと、新たに保存するプロセス定義は抽出されない。すべての送信アクティビティの選択が終了し（ステップ２１３）、開始アクティビティａ１−ｐ１のプロセス定義ａ１を処理済みとして保存する（ステップ２１９）。
次に保存したプロセス定義ａ１、ｂ１がすべて処理済みか判断され（ステップ２２０）、プロセス定義ｂ１が未処理として存在するため、プロセス定義ｂ１を取得する（ステップ２２１）。
次に、前述したプロセス定義内のチェックを同様に行なうと、新たに保存するプロセス定義は抽出されない。
【００９５】
すべての送信アクティビティの選択が終了し（ステップ２１３）、プロセス定義ｂ１を処理済として保存する（ステップ２１９）。保存したプロセス定義ａ１、ｂ１がすべて処理済として判断され（ステップ２２０）、取得したプロセス定義ａ１、ｂ１がグローバルプロセスの範囲であり、プロセス定義の個々の送信アクティビティと受信アクティビティの関連は図１９に示す関連表で表される。これが１つのグローバルプロセスとなり、図２０に示すグローバルプロセス１−１となる。
【００９６】
次に、開始アクティビティｃ１−ｐ１１を選択し（ステップ２１１）、プロセス定義ｃ１を取得する（ステップ２１２）。
次に、プロセス定義ｃ１の送信アクティビティは存在しないと判断され（ステップ２１３）、プロセス定義ｃ１を処理済として保存する（ステップ２１９）。
次に、保存したプロセス定義がすべて処理済であると判断され（ステップ２２０）、取得したプロセス定義ｃ１のみがグローバルプロセスの範囲であり、プロセス定義のプロセス定義の個々の送信アクティビティと受信アクティビティの関連は図１９に示す関連表で表される。これが１つのグローバルプロセスとなり、図２０に示すグローバルプロセス１−２となる。
【００９７】
次に、開始アクティビティａ２−ｐ２０を選択し、上記と同様の処理を行う。処理を行った結果取得したプロセス定義はプロセス定義ａ２、ｂ１、ｃ２であり、プロセス定義ａ２、ｂ１、ｃ２がグローバルプロセスの範囲であり、プロセス定義の個々の送信アクティビティと受信アクティビティの関連は図１９に示す関連表で表される。これが１つのグローバルプロセスとなり、図２０に示すグローバルプロセス２となる。
これで全ての開始アクティビティからグローバルプロセスを生成し、終了時のグローバルプロセスは図１３、図２０のようになる。
【００９８】
図１に示す実施例では、関連付けを行なう統計的検定で不特定になった場合を説明するため不特定なアクティビティを作り、図２０に示すように受信アクティビティｃ１−ｐ１１に対する送信アクティビティの関連が不特定となった。
そのため、実際にはグローバルプロセスは図１のグローバルプロセス１と図１３のグローバルプロセス２の２つ存在するが、実施例からは、図２０に示すようにグローバルプロセス１−１とグローバルプロセス１−２の２つのグローバルプロセスと図１３に示すグローバルプロセス２を生成した。
グローバルプロセス１がグローバルプロセス１−１とグローバルプロセス１−２に分けられたのは、関連付け処理でメッセージと送信／受信アクティビティの関係が不特定となり、１つのグローバルプロセスが２つに分けられた為である。メッセージのサンプル数を増やし、関連付けを行う統計的検定の精度をあげ、関連付け処理でメッセージとアクティビティの関連が不特定となる部分をなくすことで、正確なグローバルプロセスを生成することができる。
このようにして、グローバルプロセスを生成することができ、関連付け処理でメッセージとアクティビティの関連が不特定となった場合には、さらにメッセージの送受信を行なった後、前述で説明したグローバルプロセス生成処理を行なう。不特定なアクティビティが存在しなくなるまで繰り返し行なうことで正確なグローバルプロセスを生成する。
【産業上の利用可能性】
【００９９】
本発明によれば、マッピング定義が各ノードで異なるような分散ワークフローシステムに変更を加えることなく観測点装置を設置することでグローバルプロセスを生成することができ、分散ワークフローシステムのプロセスの監視といった用途に適用できる。また、グローバルプロセスを生成することからエラーが起きた場合に影響範囲がどこまであるかを特定できるといった用途にも適用可能である。
【図面の簡単な説明】
【０１００】
【図１】グローバルプロセス生成システムの構成を示すブロック図である。
【図２】観測点装置と監視装置の機能ブロック図である。
【図３】グローバルプロセス生成手法の基本処理フローを表す図である。
【図４】メッセージログを収集するフローを表す図である。
【図５】プロセスエンジンログを収集するフローを表す図である。
【図６】プロセス定義とマッピング定義を収集するフロー表す図である。
【図７】各観測点装置のマッピング定義、プロセス定義を基に送信アクティビティと受信アクティビティの関連付けを行なうフローを表す図である。
【図８】各観測点装置のメッセージログ、プロセスエンジンログ、プロセス定義を基にメッセージと送信／受信アクティビティの関連付けを行なうフローを表す図である。
【図９】各観測点装置のメッセージログ、プロセスエンジンログ、プロセス定義を基にメッセージと送信／受信アクティビティの関連付けを行なうフローを表す図である。
【図１０】不特定アクティビティの関連付けを行なうフローを表す図である。
【図１１】送信／受信の関連表からグローバルプロセスを開始する開始アクティビティを抽出するフローを表す図である。
【図１２】開始アクティビティから送信／受信の関連表を基にグローバルプロセスを作成するフローを表す図である。
【図１３】図１に示すノードＡ、ノードＢ、ノードＣ上で実行されているグローバルプロセスを示す図である。
【図１４】図１４（ａ）は、メッセージログデータベースに格納されているノードＡのメッセージログの一例を示す図である。図１４（ｂ）は、プロセスエンジンログデータベースに格納されているノードＡのプロセスエンジンログの一例を示す図である。
【図１５】図１５（ａ）は、ノードＡ上におけるすべてのプロセスエンジンログから受信アクティビティを抽出し受信アクティビティ毎に件数および割合を抽出し集計された状態を示す図である。図１５（ｂ）は、ノードＡ上におけるすべてのプロセスエンジンログから送信アクティビティを抽出し送信アクティビティ毎に件数および割合が集計された状態を示す図である。図１５（ｃ）は、ノードＣ上におけるすべてのプロセスエンジンログから受信アクティビティを抽出し受信アクティビティ毎に件数および割合を抽出し集計された状態を示す図である。
【図１６】図１６（ａ）は、ノードＡ上において、受信アクティビティが実行される直前に受信したメッセージを種類毎に件数および割合を抽出し集計された状態を示す図である。図１６（ｂ）は、ノードＡ上において、送信アクティビティが実行した直後に送信したメッセージを種類毎に件数および割合を抽出し集計された状態を示す図である。図１６（ｃ）は、ノードＣ上において、受信アクティビティが実行される直前に受信したメッセージを種類毎に件数および割合を抽出し集計された状態を示す図である。
【図１７】図１７（ａ）は、グローバルプロセス生成システム上で取得された受信アクティビティと受信メッセージの関連を保持した受信の関連表を示す図である。図１７（ｂ）は、グローバルプロセス生成システム上で取得された送信アクティビティと送信メッセージの関連を保持した送信の関連表を示す図である。
【図１８】図１８（ａ）は、図１７（ａ）に示した受信の関連表から不特定となっている受信アクティビティの関連付けを行なった結果を保持した受信の関連表を示す図である。図１８（ｂ）は、図１７（ｂ）に示した送信の関連表から不特定となっている送信アクティビティの関連付けを行なった結果を保持した送信の関連表を示す図である。
【図１９】図１８（ａ）に示した受信の関連表と図１８（ｂ）に示した送信の関連表からメッセージをキーにマージした関連表を示す図である。
【図２０】図１のグローバルプロセス１に対して、グローバルプロセス生成手法を用いて抽出されたグローバルプロセス１−１、１−２を示す図である。
【符号の説明】
【０１０１】
５−１、５−２、５−３  観測点装置
８  プロセスエンジン
１１  プロセス定義
１２  プロセスエンジンログ
１３  メッセージログ
２０  プロセス定義データベース
２１  プロセスエンジンログデータベース
２２  メッセージログデータベース
２３  プロセス合成部
２５  監視装置
２９  マッピング定義
２４  グローバルプロセス定義
３４  観測データ取得部
３５  観測データ送信部
３６  観測データ受信部
【図１】
0004816169.tif 000002
【図２】
0004816169.tif 000003
【図３】
0004816169.tif 000004
【図４】
0004816169.tif 000005
【図５】
0004816169.tif 000006
【図６】
0004816169.tif 000007
【図７】
0004816169.tif 000008
【図８】
0004816169.tif 000009
【図９】
0004816169.tif 000010
【図１０】
0004816169.tif 000011
【図１１】
0004816169.tif 000012
【図１２】
0004816169.tif 000013
【図１３】
0004816169.tif 000014
【図１４】
0004816169.tif 000015
【図１５】
0004816169.tif 000016
【図１６】
0004816169.tif 000017
【図１７】
0004816169.tif 000018
【図１８】
0004816169.tif 000019
【図１９】
0004816169.tif 000020
【図２０】
0004816169.tif 000021