(57)【要約】【課題】スケーラビリティあり、かつ、効率的な運用が出来るワークフロートラッキング装置等を提供すること【解決手段】DNSの様な階層構造による管理する枠組みを導入する。加えて、単純に分散構造を導入するだけでは、Ｗｆ定義やメタ情報の意味的な統一が取れず、管理不能となるため、(1)分散する要素ワークフローの記述を予め指定された標準形式として記述・管理する要素手段、(2)分散する要素ワークフローの記述を標準形式に変換する要素手段、(3)複数の分散する要素ワークフローの記述を合成し、全体のワークフローの記述を再生するワークフロー合成手段により、複数の分散する要素ワークフローの記述を合成し、統一的なＷｆ定義やメタ情報を生成した後、各ドメインを管理するワークフローモニタシステムにそれらのレプリカをコピーする。【選択図】図１
2008117291.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とを有するワークフロートラッキングシステムであって、
前記各ワークフロー実行装置は、
自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する手段と、
前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を前記ワークフロー統合管理装置の中の予め定められた一台の主ワークフロー統合管理装置へ送信する手段と、
記録済みの前記イベント情報をワークフロー実行装置毎に予め定められた所定のワークフロー統合管理装置へ送信する手段とを備え、
前記ワークフロー統合管理装置は、
前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、
前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段と、
前記主ワークフロー統合管理装置は、
前記イベント関連検出手段と、前記イベント情報記録手段に加えて、
前記各ワークフロー実行装置から取得した前記ワークフロー記述及び前記イベント情報並びに前記イベント関連検出手段の検出結果に基づいて、複数の前記ワークフローを統合し、統合ワークフローを生成する手段と、
前記統合ワークフローのレプリカを前記主ワークフロー統合管理装置以外の従ワークフロー統合管理装置に送信する手段とを有し、
前記従ワークフロー統合管理装置は、
前記イベント関連検出手段と、前記イベント情報記録手段に加えて、
前記主ワークフロー統合管理装置から前記統合ワークフローのレプリカを受信する手段と、
を有することを特徴とするワークフロートラッキングシステム。
【請求項２】
ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とを有するワークフロートラッキングシステムであって、
１台の主ワークフロー統合管理装置と１台以上のワークフロー実行装置から構成される一つの主ドメインと、主ドメインに従属し１台の従ワークフロー統合管理装置と１台以上のワークフロー実行装置から構成される１以上の従ドメインからなる階層構造を形成し、
前記各ワークフロー実行装置は、
自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する手段と、
前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を前記主ワークフロー統合管理装置へ送信する手段と、
記録済みの前記イベント情報を自装置と同一のドメインに属するワークフロー統合管理装置へ送信する手段とを備え、
前記ワークフロー統合管理装置は、
前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、
前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段とを有し、
前記主ワークフロー統合管理装置は、
前記イベント関連検出手段と、前記イベント情報記録手段に加えて、
前記各ワークフロー実行装置から取得した前記ワークフロー記述及び前記イベント情報並びに前記イベント関連検出手段の検出結果に基づいて、複数の前記ワークフローを統合し、統合ワークフローを生成する手段と、
前記統合ワークフローのレプリカを前記従ワークフロー統合管理装置に送信する手段とを有し、
前記従ワークフロー統合管理装置は、
前記イベント関連検出手段と、前記イベント情報記録手段に加えて、
前記主ワークフロー統合管理装置から前記統合ワークフローのレプリカを受信する手段と、を有することを特徴とするワークフロートラッキングシステム。
【請求項３】
前記従ワークフロー統合管理装置は、
前記主ワークフロー統合管理装置から受信した前記レプリカを参照し、トラッキングの対象のイベント情報を他のワークフロー統合管理装置から取得する手段を有することを特徴とする請求項１または請求項２に記載のワークフロートラッキングシステム。
【請求項４】
前記従ワークフロー統合管理装置は、
前記他のワークフロー統合管理装置から取得したイベント情報をキャッシュとして格納する手段を有することを特徴とする請求項３に記載のワークフロートラッキングシステム。
【請求項５】
前記各ワークフロー統合管理装置は、自装置で前記統合ワークフローを開始したときに、当該ワークフローの実施状況を示す情報を他のすべてのワークフロー統合管理装置に送信する手段を有することを特徴とする請求項１または請求項２に記載のワークフロートラッキングシステム。
【請求項６】
ワークフローをトラッキングするワークフロー統合管理装置であって、
ワークフローを管理・実行する複数のワークフロー実行装置から取得したイベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、
前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段と、
前記各ワークフロー実行装置から取得した前記ワークフロー記述及び前記イベント情報並びに前記イベント関連検出手段の検出結果に基づいて、複数の前記ワークフローを統合し、統合ワークフローを生成する手段と、
前記統合ワークフローのレプリカを前記統合ワークフローを生成する手段を有しない他のワークフロー統合管理装置に送信する手段と、
を有することを特徴とするワークフロー統合管理装置。
【請求項７】
ワークフローをトラッキングするワークフロー統合管理装置であって、
自装置と同一のドメインに属しワークフローを管理・実行する複数のワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、
前記自装置と同一のドメインに属する各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段とを有し、
前記自装置と同一のドメインに属する各ワークフロー実行装置から取得した前記ワークフロー記述及び前記イベント情報並びに前記イベント関連検出手段の検出結果に基づいて、複数の前記ワークフローを統合し、前記統合ワークフローを生成する手段と、
前記統合ワークフローのレプリカを自装置とは異なるドメインに属し前記統合ワークフローを生成する手段を有しない他のワークフロー統合管理装置に送信する手段と、
を有することを特徴とするワークフロー統合管理装置。
【請求項８】
ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とによるワークフロー統合管理方法であって、
前記各ワークフロー実行装置が、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する工程と、
前記各ワークフロー実行装置が、前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を前記ワークフロー統合管理装置の中の予め定められた一台の主ワークフロー統合管理装置へ送信する工程と、
前記各ワークフロー実行装置が、記録済みの前記イベント情報をワークフロー実行装置毎に予め定められた所定のワークフロー統合管理装置へ送信する工程と、
前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出工程と、
前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段と、
前記主ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記ワークフロー記述及び前記イベント情報並びに前記イベント関連検出手段の検出結果に基づいて、複数の前記ワークフローを統合し、統合ワークフローを生成する工程と、
前記主ワークフロー統合管理装置が、前記統合ワークフローのレプリカを前記主ワークフロー統合管理装置以外の従ワークフロー統合管理装置に送信する工程と、
前記従ワークフロー統合管理装置が、前記主ワークフロー統合管理装置から前記統合ワークフローのレプリカを受信する工程と、
を有することを特徴とするワークフロー統合管理方法。
【請求項９】
ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とによるワークフロー統合管理方法であって、
１台の主ワークフロー統合管理装置と１台以上のワークフロー実行装置から構成される一つの主ドメインと、主ドメインに従属し１台の従ワークフロー統合管理装置と１台以上の従ワークフロー実行装置から構成される１以上の従ドメインからなる階層構造を形成し、
前記各ワークフロー実行装置が、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する工程と、
前記各ワークフロー実行装置が、前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を前記主ワークフロー統合管理装置へ送信する工程と、
前記各ワークフロー実行装置が、記録済みの前記イベント情報を自装置と同一のドメインに属する従ワークフロー統合管理装置へ送信する工程と、
前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出工程と、
前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録工程と、
前記主ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記ワークフロー記述及び前記イベント情報並びに前記イベント関連検出手段の検出結果に基づいて、複数の前記ワークフローを統合し、統合ワークフローを生成する工程と、
前記主ワークフロー統合管理装置が、前記統合ワークフローのレプリカを前記従ワークフロー統合管理装置に送信する工程と、
前記従ワークフロー統合管理装置が、前記主ワークフロー統合管理装置から前記統合ワークフローのレプリカを受信する工程と、
を有することを特徴とするワークフロー統合管理方法。
【請求項１０】
前記従ワークフロー統合管理装置が、前記主ワークフロー統合管理装置から受信した前記レプリカを参照し、トラッキングの対象のイベント情報を他のワークフロー統合管理装置から取得する工程を有することを特徴とする請求項８または請求項９に記載のワークフロー統合管理方法。
【請求項１１】
前記従ワークフロー統合管理装置が、前記他のワークフロー統合管理装置から取得したイベント情報をキャッシュとして格納する工程を有することを特徴とする請求項１０に記載のワークフロー統合管理方法。
【請求項１２】
前記各ワークフロー統合管理装置が、自装置で前記統合ワークフローを開始したときに、当該ワークフローの実施状況を示す情報を他のすべてのワークフロー統合管理装置に送信する工程を有することを特徴とする請求項８または請求項９に記載のワークフロー統合管理方法。
【請求項１３】
請求項８ないし請求項１２のいずれか１項記載のワークフロー統合管理方法をコンピュータに実行させるワークフロー統合管理プログラム。
【請求項１４】
請求項１３記載のワークフロー統合管理プログラムを記録したコンピュータが読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にはインターネットの利用の有無を問わず、複数の業務アプリケーションシステム群を連携させて、業務連携を実施するワークフロー管理システムに属し、そのワークフロー管理システムを用いることで、業務アプリケーションシステム上で実施される業務の進捗トラッキング、状況評価に関する。
【背景技術】
【０００２】
従来の業務プロセストラッキング装置に関する二つの方式例を、図９、図１０に記す。どちらの方式も業務プロセストラッキング装置で分散的な管理概念を持つ方式であるが、図９に関してはスケーラビリティに関する点、図１０に関しては効率等の点が課題である。
【０００３】
図９は、本発明の発明者による先行する日本国特許出願（特願２００６−８３６３０、以下「先行出願」という）に記載された、分散的な管理概念を持つ分散ワークフロー管理方法に基づく業務プロセストラッキングに関する技術を用いた方式であり、そのシステム構成例を示す図である。
【０００４】
分散ワークフロー管理方法に基づく業務プロセストラッキング装置は、この分散ワークフロー管理方式に基づく複数のワークフローシステム（記号：WfMS_1）101、（記号：WfMS_2）102、並びに独自実装で、複数配置される既存ワークフローシステム103、並びに既存ワークフローシステム103の複数をまとめ、この分散ワークフロー管理方法への仲介を行なうProxyシステム（記号：PrxS）104、のワークフローシステム101、102、Proxyシステム104から、各種イベント情報を収集した後、整理、統合、格納するための分散ワークフローモニタシステム（記号：DsWfMS）105、並びに分散ワークフローモニタシステム105にアクセスするためのクライアントシステムとして、Webブラウザによるクライアントサイト106,160を含んで構成される。
【０００５】
また、図９では、ワークフローシステム101は、複数の業務アプリケーションシステム（記号：AP_A）107、（記号：AP_B）108と通信を行なう。また、ワークフローシステム102は、複数の業務アプリケーションシステム（記号：AP_C）109、（記号：AP_D）110と通信を行なう。また、ワークフローシステム103は、複数の業務アプリケーションシステム（記号：AP_E）111、（記号：AP_F）112と、Proxyシステム104を介して通信を行なう。
【０００６】
上記を実現するために、業務アプリケーションシステム107には、データ通信部（記号：COM_A）113を含む。また、業務アプリケーションシステム108には、データ通信部（記号：COM_B）114を含む。
【０００７】
同様に、業務アプリケーションシステム109には、データ通信部（記号：COM_C）115を含む。また、業務アプリケーションシステム110には、データ通信部（記号：COM_D）116を含む。
【０００８】
同様に、業務アプリケーションシステム111には、データ通信部（記号：COM_E）117を含む。また、業務アプリケーションシステム112には、データ通信部（記号：COM_F）118を含む。
【０００９】
これに対して、ワークフローシステム101には、データ通信部113と通信を行なうためのアダプタ（記号：AD1_A）119を含むと伴にデータ通信部113と通信を行なうための別アダプタ（記号：AD1_B）120も含む。これらのアダプタは、ワークフローシステム101に含まれるワークフローエンジン（記号：WfE_1）129が、操作順序を制御した結果、必要な通信を業務アプリケーションシステム107、業務アプリケーションシステム108と行なう際に通信プロトコル上の差異及び操作上の差異を変換する。
【００１０】
同様に、ワークフローシステム102には、データ通信部115と通信を行なうためのアダプタ（記号：AD２_C）121を含むと伴にデータ通信部116と通信を行なうための別アダプタ（記号：AD２_D）122も含む。これらのアダプタは、ワークフローシステム102に含まれるワークフローエンジン（記号：WfE_2）132が、操作順序を制御した結果、必要な通信を業務アプリケーションシステム109、業務アプリケーションシステム110と行なう際に通信プロトコル上の差異及び操作上の差異を変換する。
【００１１】
同様に、ワークフローシステム103には、データ通信部117と通信を行なうためのアダプタ（記号：AD３_E）123を含むと伴にデータ通信部118と通信を行なうための別アダプタ（記号：AD３_F）124も含む。これらのアダプタは、ワークフローシステム103に含まれるワークフローエンジン（記号：WfE_3）137が、操作順序を制御した結果、必要な通信を業務アプリケーションシステム111、業務アプリケーションシステム112と行なう際に通信プロトコル上の差異及び操作上の差異を変換する。
【００１２】
尚、ワークフローシステム103は、独自実装の既存ワークフローエンジンであることを想定しているため、データ通信部117とアダプタ123間の通信、並びにデータ通信部118とアダプタ124間の通信は、Proxyシステム104内のプロキシ部（記号：Prx_3）135を介して実現される。
【００１３】
ワークフローエンジン129の挙動は、ワークフローシステム101に含まれるワークフロー定義（記号：Wf定義_1）131で定義される。ここでは、分散配置されている他のワークフローシステム102、Proxyシステム104を介して通信されるワークフローシステム103からの処理要求、処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム107、108との通信の結果、発生する処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン129がどの様な状態になり、どの様な処理要求、処理応答メッセージを発するかを規定しているものである。通常、ワークフロー定義131は、ワークフローエンジン129の挙動のみを記載し、標準化された形式であるWS-BPEL(Web Service Business
Process Execution Language)と、WSDL(Web
Service Definition Language)を始めとするプロセスの記述等で記載される。
【００１４】
ワークフローエンジン132の挙動は、ワークフローシステム102に含まれるワークフロー定義（記号：Wf定義_2）134で定義される。ここでは、分散配置されている他のワークフローシステム101、Proxyシステム104を介して通信されるワークフローシステム103からの処理要求、処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム109、110との通信の結果発生する処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン132がどの様な次状態になり、どの様な処理要求、処理応答メッセージを発するかを規定しているものである。通常、ワークフロー定義134は、ワークフローエンジン132の挙動のみを記載し、標準化された形式であるWS-BPELと、WSDLを始めとするプロセスの記述等で記載される。
【００１５】
ワークフローエンジン137の挙動は、ワークフローシステム103に含まれるワークフロー定義（記号：Wf定義_3）139で定義される。ここでは、他のワークフローシステム101、他のワークフローシステム102からProxyシステム104を介して通信される処理要求、処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム111、112からProxyシステム104を介して通信される処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン137がどの様な次状態になり、どの様な処理要求、処理応答メッセージを発するかを規定しているものである。尚、ワークフローシステム103は、独自実装の既存ワークフローエンジンであることを想定しているため、ワークフロー定義139は、標準化された形式であるWS-BPELと、WSDLで記載されるとは限らない。その場合、後述するWf定義・サービス定義取得部155が、それらを標準化された形式、例えば、WS-BPELと、WSDLと同様なものに変換する。
【００１６】
ワークフローシステム101で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム101内に点在する複数のイベント抽出部により検出される。データ通信部113とアダプタ119間の通信は、アダプタ119内に仕込まれたMsgイベント抽出部125によって全て検出される。同様に、データ通信部114とアダプタ120間の通信は、アダプタ120内に仕込まれたMsgイベント抽出部126によって全て検出される。ワークフローエンジン129の挙動は、Engイベント抽出部130によって検出される。
【００１７】
Msgイベント抽出部125、Msgイベント抽出部126、Engイベント抽出部130によって抽出されたイベント情報は、ワークフローシステム101内のイベントデータ保持部140に一時的に保管され、適宜、共通データ送信部141により、分散ワークフローモニタシステム105に転送される。
【００１８】
ワークフローシステム102で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム102内に点在する複数のイベント抽出部により検出される。データ通信部115とアダプタ121間の通信は、アダプタ121内に仕込まれたMsgイベント抽出部127によって全て検出される。同様に、データ通信部116とアダプタ122間の通信は、アダプタ122内に仕込まれたMsgイベント抽出部128によって全て検出される。ワークフローエンジン132の挙動は、Engイベント抽出部133によって検出される。
【００１９】
Msgイベント抽出部127、Msgイベント抽出部128、Engイベント抽出部133によって抽出されたイベント情報は、ワークフローシステム102内のイベントデータ保持部142に一時的に保管され、適宜、共通データ送信部143により、分散ワークフローモニタシステム105に転送される。
【００２０】
ワークフローシステム103で発生する処理要求、処理応答メッセージに関するイベント群の収集は、独自実装の既存ワークフローエンジンであるため、処理方式が異なる。データ通信部117とアダプタ123間の通信は、プロキシ部135を介して行なわれる。そのため、発生する処理要求、処理応答メッセージに関するイベントは、Proxyシステム104内のプロキシ部135に連結された、Prxイベント抽出部136によって検出される。データ通信部118とアダプタ124間の通信で、発生する処理要求、処理応答メッセージに関するイベントも、Prxイベント抽出部136によって検出される。
【００２１】
Prxイベント抽出部136によって抽出されたイベント情報は、Proxyシステム104内のイベントデータ保持部145に一時的に保管される。
【００２２】
これに対して、ワークフローエンジン137の挙動は、ワークフローシステム103内に配置されたEngイベント抽出部138によって検出される。その後、ワークフローシステム103内に配置された共通データ送信部147を用いて、イベントに関するデータを適宜、Proxyシステム104に送信する。
【００２３】
その後、Proxyシステム104は、自身の共通データ受信部146を用いて、イベントに関するデータを収集し、Proxyシステム104内のイベントデータ保持部145に一時的に保管する。
【００２４】
イベントデータ保持部145に一時的に保管したイベントに関する全てのデータは、適宜、共通データ送信部144により、分散ワークフローモニタシステム105に転送される。
【００２５】
分散ワークフローモニタシステム105は、ワークフロー定義131、ワークフロー定義134、ワークフロー定義（記号：Wf定義_3）139を受信し、一部変換を施すWf定義・サービス定義取得部155、並びにWf定義・サービス定義取得部155が得た全てのワークフロー定義から、統合されたワークフロー定義を合成するWf合成部148、合成したワークフロー定義を格納管理する合成Wf定義150を含む。
【００２６】
特にWf定義・サービス定義取得部155は、外部に置かれたリポジトリ156へのアクセスが可能である。
【００２７】
更に、分散ワークフローモニタシステム105は、ワークフローシステム101、ワークフローシステム102、並びにProxyシステム104からイベントに関する全てのデータを受信するイベントデータ受信部149、合成Wf定義150を参照し、イベントデータ受信部149が受ける全てのイベントデータを整理、関係付けて保持するイベント格納DB152、そして、この関係付けの実処理を行なうイベントデータ関係付け部151をも含む。
【００２８】
更に、分散ワークフローモニタシステム105は、合成Wf定義150内のデータに対し、業務に関連したラベルを定義、命名するアプリケーションであるAPラベル入力158、合成Wf定義150をもとに、ある該当条件のイベントデータを検索するアプリケーションである検索機能部153、検索機能部153の戻す結果を元に合成Wf定義150内のデータに関連付け、イベントデータを時系列に並べて表示するためのトラッキング表示作成部154、更にイベント格納DB152に格納管理されたデータを元に統計処理、評価処理を行なうバッチ処理部159をも含む。
【００２９】
APラベル入力部158を操作するには、各種イベントに意味付けを定義するための画面をWebブラウザとして起動する必要があり、そのために１台以上のクライアントサイト160の起動が必要である。
【００３０】
また、検索機能部153、トラッキング表示作成部154を操作するにも、Webブラウザとして起動する必要があり、そのために１台以上のクライアントサイト106の起動が必要である。
【００３１】
図１０は、特許文献１に記載された、分散的な管理概念を持つ従来の業務プロセストラッキングに関する技術を用いた方式であり、そのシステム構成例を示す図である。
【００３２】
図１０には共通業務プロセスの実行に関与する２つの組織（記号：ORG1），201、（記号：ORG2），202の全体図が示されている。この２つの組織は、例えば同じ企業または会社のパートナー組織であり、各組織は共通業務プロセスのそれぞれの部分を実施する。あるいは、一方の組織、たとえば組織201が顧客組織で、業務プロセスの全部または一部の実行を供給業者である組織202に委託しているケースなども該当する。従来発明は共通業務プロセスの実行に関与する組織が３つ以上の場合も適用出来る。
【００３３】
この業務プロセスの実行に関与する各組織201、202（以下、単に関与組織と呼ぶ）は、業務プロセスのそれぞれの部分の管理目的で、それぞれのワークフロー管理システム（記号：WfMS1），203、（記号：WfMS2），204を有する。具体的には各関与組織201、202におけるそれぞれのワークフロー管理システム203、204はその組織のそれぞれのデータ処理システム上で稼働するコンピュータ・ベースの管理システムに相当する。各組織，201、202のデータ処理システムは、１台、またはより一般的には数台のパーソナル・コンピュータまたはワークステーションを含み、数台の場合にはLAN（Local Area Network）、WAN(Wide Area Network)などのデータ通信ネットワークを介して相互接続されており、組織が地理的に異なる場所に分散している場合にはインターネットを介して相互接続される。
【００３４】
各関与組織201、202のワークフロー管理システム203、204は、従来、ワークフロー管理システム・サーバ（記号：WfMS1_S），205、（記号：WfMS2_S），206を含み、これらを以下では単にワークフロー・サーバと呼ぶ。ワークフロー・サーバ205、206とは、ワークフロー管理システム203、204のサーバとして動作稼働するサーバ・コンピュータ・アプリケーションである。ワークフロー・サーバ205、206は、業務プロセスの各部分の実行状態に関する情報を維持管理し、更新する。ワークフロー上のイベント操作によって、状態変更が生じ、実行状態に関する情報の更新が成される。
【００３５】
これらワークフロー管理システム203、204の導入により、一般の業務プロセスを、電子化することが可能となり、統語構造単位（Syntactical Unit）に基づきモデリング、電子業務プロセスが定義される。電子業務プロセスのモデルが作成された後は、企業内または会社内で行われる同様のプロセスのクラスのテンプレートを構成することになる。該プロセス・テンプレートは、一般にデータ処理システムによってインスタンス化し、解釈することができ、業務プロセスを行うのに必要な作業ステップの個々のシーケンスを判断することができる。作業ステップのシーケンスは、プロセス・テンプレートのインスタンス化のコンテキストに依存することになる。プロセス・テンプレートのインスタンスとその解釈が、個々のプロセスを表す。プロセス・テンプレートの基本要素をアクティビティと呼ぶ。アクティビティは、意味論的（Semnaticalな）エンティティと見做すこともできる業務アクションを表す。プロセス・テンプレートは、ワークフロー・アクティビティと、その実行順序と割り当てられる資源とを記述する。
【００３６】
図１０で示すように、ワークフロー・サーバ205、206は、複数のプロセス・テンプレート（記号：PT1），211、（記号：PT2），213を保持管理する。
【００３７】
プロセス・テンプレート211のプロセス・インスタンス（記号：PI１（PT1）），209が、ワークフロー・サーバ205上で稼働している様子も略図で示されており、同じプロセス・テンプレート211の対応するプロセス・インスタンスＰＩ１’（PT1）がワークフロー・サーバ206上で稼働している。
【００３８】
各関与組織201、202では、ワークフロー・サーバ205、206が、それぞれのワークフロー・サーバが稼働しているのと同じサーバ・コンピュータまたはワークステーション上で稼働しているそれぞれの状態シャドウイング・エンジン（記号：SSE1），215、（記号：SSE2），216と対話する。
【００３９】
また、各関与組織201、202では、複数のワークフロー管理システム・クライアント（記号：WfMS1_C），217、（記号：、WfMS2_C），218（以下、単にワークフロー・クライアントと呼ぶ）が、それぞれの状態シャドウイング・エンジン215、216が備えるインタフェースを介して、ワークフロー・サーバ205、206と対話している。ワークフロー・クライアント217、218は、パーソナル・コンピュータまたはワークステーションで稼働するクライアント・アプリケーションである。組織201、202内のワークフロー管理システム203、204の利用者（記号：Ｕａ），227、（記号：Ｕｂ），229、（記号：Ｕｃ），228、（記号：Ｕｄ），230は、ワークフロー・クライアント217、218を使用して、所属する組織のワークフロー管理システム203、204と対話することができる。
【００４０】
ワークフロー・サーバ205、206は、それぞれインタフェースを備え、それによって組織201、202内の利用者227、229、228、230がワークフロー・クライアント217、218を介して操作して、それぞれのワークフロー・サーバ205、206にログオンし、その組織で実行されているアクティビティの状態（たとえば開始、終了、完了）を参照し、必要に応じてアクティビティの状態の更新を加えることができる。異なる利用者がそれぞれの利用者識別子、例えば利用者227はUIDa、利用者229はUIDb、利用者228はUIDc、利用者230はUIDdを持ち、それによってワークフロー・クライアント217、218がワークフロー・サーバ205、206と対話してワークフロー管理システムの状態参照と更新を行うことができる。これらの異なる利用者識別子には異なる特権レベルを割り当てることができ、それによって異なる利用者が異なる特権レベルでワークフロー管理システム203、204を操作することができる。たとえば、利用者識別子UIDaを持つ利用者227には、ワークフロー管理システム203の状態の参照と更新を行う特権を割り当てることができ、識別子UIDbを持つ利用者229には、より低い特権が割り当てられ、ワークフロー管理システム203の状態の参照のみを行うことができる。
【００４１】
２つの組織201、202の状態シャドウイング・エンジン215、216は互いに通信することが可能である。この対話は、LAN、WAN、インターネットなど、２つの組織201、202のデータ処理システムに任意の好適なデータ通信インフラストラクチャＤＣＩを接続することによって可能になる。
【００４２】
各状態シャドウイング・エンジン215、216は、状態シャドウイング機能を実現し、それによって共通業務プロセスの実行に関与する組織のうちの１つの組織の利用者が他の関与組織内のワークフローの進捗をトラッキングすることができる。たとえば、状態シャドウイング機能によって、組織201内のワークフロー管理システム203の利用者227、229は、組織202内のワークフローの進捗をトラッキングすることができ、また、その逆も同様である。
【００４３】
具体的には、状態シャドウイング・エンジン215、216によって実現された状態シャドウイング機能によって、各関与組織201、202のワークフロー管理システム203、204内に、共通業務プロセスのうちの他の組織によって実行されている部分の内部複製であるシャドウを作成することが可能となる。
【００４４】
共通業務プロセスのそれぞれの部分の実行中に、関与組織の１つ、たとえば組織202によって操作が行われると、ローカルのワークフロー管理システム204が状態を変更し、それぞれの状態シャドウイング・エンジン216を介して、他の関与組織、たとえば組織201のワークフロー管理システム203に、その状態変更を通知するメッセージを送る。関与組織201の状態シャドウイング・エンジンはメッセージを受け取り、必要に応じて変換し、対応する状態変更を生じさせる。それによって組織202のワークフロー管理システム204の状態を複製することができる。
【００４５】
状態シャドウイング・エンジン215、216は、付随するワークフロー・サーバ205、206の既存のインタフェース（記号：WfMS1_SＩ），207、（記号：WfMS2_SＩ），208を利用して、それらサーバ間で相互に通信する。
【００４６】
このために、状態シャドウイング・エンジン215、216には、適切な高レベルの特権を持つそれぞれの利用者識別子UIDx、UIDｙが定義される。状態シャドウイング・エンジン215、216は、それぞれのワークフロー・サーバ205、206にログインする際、利用者識別子UIDx、UIDｙを使用する。以上から、状態シャドウイング・エンジン215、216は、それぞれの通信相手のワークフロー・サーバ205、206から見れば、一つのワークフロー・クライアントと見なされる。
【００４７】
【特許文献１】特開2004-5550号公報
【発明の開示】
【発明が解決しようとする課題】
【００４８】
従来の業務プロセストラッキング装置に関する課題を記す。図９に記載された分散的な管理概念を持つ分散ワークフロー管理方法に基づく業務プロセストラッキングに関する技術を用いた方式では、それまで主流であったワークフロー管理に関する集中管理方式に対する課題を解決した。しかし、図９に記載される分散ワークフローモニタシステム105内のイベントデータ受信部149は、イベントに関する全てのデータを受信する様になっている。その為、図９内のワークフローシステム(WfMS_1、WfMS_2等)数が増大する大規模運用環境下になると、分散ワークフローモニタシステム105自身がボトルネックとなり、この点でスケーラビリティに対応出来ない、と言う課題が存在している。これは、分散ワークフロー管理方法に基づく業務プロセストラッキングを実現するため、Ｗｆ定義やメタ情報を統合・合成することに起因している。これを、ここでは「業務プロセストラッキング処理で分散的な管理概念がある方式の、意味統合実現に基づくスケーラビリティ限界に関する課題」と称する。
【００４９】
図１０に記した業務プロセストラッキング装置でも、分散化しているワークフローの進捗管理を実施することは可能である。この方式では原理的に、全ての複数ワークフロー・サーバが、分散化しているワークフローの進捗管理を共有しているため、任意のワークフロー・サーバに対するワークフロー・クライアントを見ることで、業務のトラッキングは実現し得る。しかし、この方式では、全ての複数ワークフロー・サーバ間でお互いに進捗を通信し合わせなければ、これを実現できない。この場合、参加するワークフロー・サーバがN台になれば、１つの通信に対して原理的にNの自乗の通信が発生することになり、ネットワークの利用効率が低下する懸念がある。これを、ここでは「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」と称する。
【００５０】
本発明の目的は、図１０で説明した「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」を発生させること無く、図９で説明した「業務プロセストラッキング処理で分散的な管理概念がある方式の、意味統合実現に基づくスケーラビリティ限界に関する課題」を解決することができるワークフロートラッキングシステム、統合管理装置、方法、プログラム及びそれを記録した情報記録媒体を提供することにある。
【課題を解決するための手段】
【００５１】
上記目的を達成するために、本発明は、第１の態様として、ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とを有するワークフロートラッキングシステムであって、各ワークフロー実行装置は、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する手段と、ワークフローの内容を標準化されたデータ形式で表すワークフロー記述をワークフロー統合管理装置の中の予め定められた一台の主ワークフロー統合管理装置へ送信する手段と、記録済みのイベント情報をワークフロー実行装置毎に予め定められた所定のワークフロー統合管理装置へ送信する手段とを備え、ワークフロー統合管理装置は、各ワークフロー実行装置から取得したイベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、各ワークフロー実行装置から取得した全てのイベント情報を記録するイベント情報記録手段と、主ワークフロー統合管理装置は、イベント関連検出手段と、イベント情報記録手段に加えて、各ワークフロー実行装置から取得したワークフロー記述及びイベント情報並びにイベント関連検出手段の検出結果に基づいて、複数のワークフローを統合し、統合ワークフローを生成する手段と、統合ワークフローのレプリカを主ワークフロー統合管理装置以外の従ワークフロー統合管理装置に送信する手段とを有し、従ワークフロー統合管理装置は、イベント関連検出手段と、イベント情報記録手段に加えて、主ワークフロー統合管理装置から統合ワークフローのレプリカを受信する手段と、を有することを特徴とするワークフロートラッキングシステムを提供するものである。
【００５２】
上記目的を達成するために、本発明は、第２の態様として、ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とを有するワークフロートラッキングシステムであって、１台の主ワークフロー統合管理装置と１台以上のワークフロー実行装置から構成される一つの主ドメインと、主ドメインに従属し１台の従ワークフロー統合管理装置と１台以上のワークフロー実行装置から構成される１以上の従ドメインからなる階層構造を形成し、各ワークフロー実行装置は、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する手段と、ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を主ワークフロー統合管理装置へ送信する手段と、記録済みのイベント情報を自装置と同一のドメインに属するワークフロー統合管理装置へ送信する手段とを備え、ワークフロー統合管理装置は、各ワークフロー実行装置から取得したイベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、各ワークフロー実行装置から取得した全てのイベント情報を記録するイベント情報記録手段とを有し、主ワークフロー統合管理装置は、イベント関連検出手段と、イベント情報記録手段に加えて、各ワークフロー実行装置から取得したワークフロー記述及びイベント情報並びにイベント関連検出手段の検出結果に基づいて、複数のワークフローを統合し、統合ワークフローを生成する手段と、統合ワークフローのレプリカを従ワークフロー統合管理装置に送信する手段とを有し、従ワークフロー統合管理装置は、イベント関連検出手段と、イベント情報記録手段に加えて、主ワークフロー統合管理装置から統合ワークフローのレプリカを受信する手段と、を有することを特徴とするワークフロートラッキングシステムを提供するものである。
【００５３】
本発明の第１または第２の態様においては、従ワークフロー統合管理装置は、主ワークフロー統合管理装置から受信したレプリカを参照し、トラッキングの対象のイベント情報を他のワークフロー統合管理装置から取得する手段を有することが好ましい。さらに、従ワークフロー統合管理装置は、他のワークフロー統合管理装置から取得したイベント情報をキャッシュとして格納する手段を有することが好ましい。
【００５４】
本発明の第１または第２の態様においては、各ワークフロー統合管理装置は、自装置で統合ワークフローを開始したときに、当該ワークフローの実施状況を示す情報を他のすべてのワークフロー統合管理装置に送信する手段を有することが好ましい。
【００５５】
上記目的を達成するために、本発明は、第の３態様として、ワークフローをトラッキングするワークフロー統合管理装置であって、ワークフローを管理・実行する複数のワークフロー実行装置から取得したイベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、各ワークフロー実行装置から取得した全てのイベント情報を記録するイベント情報記録手段と、各ワークフロー実行装置から取得したワークフロー記述及びイベント情報並びにイベント関連検出手段の検出結果に基づいて、複数のワークフローを統合し、統合ワークフローを生成する手段と、統合ワークフローのレプリカを統合ワークフローを生成する手段を有しない他のワークフロー統合管理装置に送信する手段と、を有することを特徴とするワークフロー統合管理装置を提供するものである。
【００５６】
上記目的を達成するために、本発明は、第４の態様として、ワークフローをトラッキングするワークフロー統合管理装置であって、自装置と同一のドメインに属しワークフローを管理・実行する複数のワークフロー実行装置から取得したイベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、自装置と同一のドメインに属する各ワークフロー実行装置から取得した全てのイベント情報を記録するイベント情報記録手段とを有し、自装置と同一のドメインに属する各ワークフロー実行装置から取得したワークフロー記述及びイベント情報並びにイベント関連検出手段の検出結果に基づいて、複数のワークフローを統合し、統合ワークフローを生成する手段と、統合ワークフローのレプリカを自装置とは異なるドメインに属し統合ワークフローを生成する手段を有しない他のワークフロー統合管理装置に送信する手段と、を有することを特徴とするワークフロー統合管理装置を提供するものである。
【００５７】
上記目的を達成するために、本発明は、第５の態様として、ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とによるワークフロー統合管理方法であって、各ワークフロー実行装置が、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する工程と、各ワークフロー実行装置が、ワークフローの内容を標準化されたデータ形式で表すワークフロー記述をワークフロー統合管理装置の中の予め定められた一台の主ワークフロー統合管理装置へ送信する工程と、各ワークフロー実行装置が、記録済みのイベント情報をワークフロー実行装置毎に予め定められた所定のワークフロー統合管理装置へ送信する工程と、ワークフロー統合管理装置が、各ワークフロー実行装置から取得したイベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出工程と、ワークフロー統合管理装置が、各ワークフロー実行装置から取得した全てのイベント情報を記録するイベント情報記録手段と、主ワークフロー統合管理装置が、各ワークフロー実行装置から取得したワークフロー記述及びイベント情報並びにイベント関連検出手段の検出結果に基づいて、複数のワークフローを統合し、統合ワークフローを生成する工程と、主ワークフロー統合管理装置が、統合ワークフローのレプリカを主ワークフロー統合管理装置以外の従ワークフロー統合管理装置に送信する工程と、従ワークフロー統合管理装置が、主ワークフロー統合管理装置から統合ワークフローのレプリカを受信する工程と、を有することを特徴とするワークフロー統合管理方法を提供するものである。
【００５８】
上記目的を達成するために、本発明は、第６の態様として、ワークフローを管理・実行する複数のワークフロー実行装置とワークフローをトラッキングする複数のワークフロー統合管理装置とによるワークフロー統合管理方法であって、１台の主ワークフロー統合管理装置と１台以上のワークフロー実行装置から構成される一つの主ドメインと、主ドメインに従属し１台の従ワークフロー統合管理装置と１台以上の従ワークフロー実行装置から構成される１以上の従ドメインからなる階層構造を形成し、各ワークフロー実行装置が、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する工程と、各ワークフロー実行装置が、ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を主ワークフロー統合管理装置へ送信する工程と、各ワークフロー実行装置が、記録済みのイベント情報を自装置と同一のドメインに属する従ワークフロー統合管理装置へ送信する工程と、ワークフロー統合管理装置が、各ワークフロー実行装置から取得したイベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出工程と、ワークフロー統合管理装置が、各ワークフロー実行装置から取得した全てのイベント情報を記録するイベント情報記録工程と、主ワークフロー統合管理装置が、各ワークフロー実行装置から取得したワークフロー記述及びイベント情報並びにイベント関連検出手段の検出結果に基づいて、複数のワークフローを統合し、統合ワークフローを生成する工程と、主ワークフロー統合管理装置が、統合ワークフローのレプリカを従ワークフロー統合管理装置に送信する工程と、従ワークフロー統合管理装置が、主ワークフロー統合管理装置から統合ワークフローのレプリカを受信する工程と、を有することを特徴とするワークフロー統合管理方法を提供するものである。
【００５９】
本発明の第５または第６の態様においては、従ワークフロー統合管理装置が、主ワークフロー統合管理装置から受信したレプリカを参照し、トラッキングの対象のイベント情報を他のワークフロー統合管理装置から取得する工程を有することが好ましい。さらに、従ワークフロー統合管理装置が、他のワークフロー統合管理装置から取得したイベント情報をキャッシュとして格納する工程を有する
【００６０】
本発明の第５または第６の態様においては、各ワークフロー統合管理装置が、自装置で統合ワークフローを開始したときに、当該ワークフローの実施状況を示す情報を他のすべてのワークフロー統合管理装置に送信する工程を有することが好ましい。
【００６１】
上記目的を達成するために、本発明は、第７の態様として、第５または第６の態様のいずれかの構成にかかるワークフロー統合管理方法をコンピュータに実行させるワークフロー統合管理プログラムを提供するものである。
【００６２】
上記目的を達成するために、本発明は、第８の態様として、ワークフロー統合管理プログラムを記録したコンピュータが読み取り可能な情報記録媒体を提供するものである。
【発明の効果】
【００６３】
本発明によれば、「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」を発生させること無く、「業務プロセストラッキング処理で分散的な管理概念がある方式の、意味統合実現に基づくスケーラビリティ限界に関する課題」を解決することができる。
【発明を実施するための最良の形態】
【００６４】
（発明の原理）
本発明は、複数の業務アプリケーションシステム群の起動状態、操作順序の定義を維持管理し、制御する、あるまとまった業務範囲を意味する全体ワークフローのそれぞれの要素ワークフロー部分を、ワークフローエンジンを実装した複数のワークフロー管理システムが独立・分散して管理、保持している環境下で、分散された要素ワークフロー部分の実行を統合して管理する方法を具現する装置であり、特に管理技術の点で発生したスケーラビリティに関する課題を効率的に解決するものである。その為、以下の手段を用いて、これを実現する。尚、手段１、手段２は従来方式の手段を継承したものであり、図１０で説明した「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」の解決に利用される。図９で説明した「業務プロセストラッキング処理で分散的な管理概念がある方式の、意味統合実現に基づくスケーラビリティ限界に関する課題」を解決するためには、新たに手段３以下を利用する。
【００６５】
（手段１）
以下の６つの要素手段を組み合わせて解決する。
（１）分散する要素ワークフローの記述を収集する要素手段。
（２）の分散する要素ワークフローの記述を予め指定された標準形式として記述・管理する要素手段。
（３）の分散する要素ワークフローの記述を標準形式に変換する要素手段。
（４）複数の分散する要素ワークフローの記述を合成し、全体のワークフローの記述を生成するワークフロー合成手段。
（５）要素ワークフロー部分を実施する際に事象として発生するイベント群を全体のワークフローの記述に明確に位置付け、イベント群以外のイベント群と関連して記録するイベント格納要素手段。
（６）イベント格納手段をアクセスすることにより、端末を通して、対象とする全体ワークフローの進捗を表示する要素手段。
【００６６】
（手段２）
全体ワークフローの記述により、起動状態、操作順序の定義を維持管理され、制御される複数の業務アプリケーションシステム群を、ワークフローエンジンを実装したワークフロー管理システムが呼び出す際に、業務アプリケーションシステム群固有の通信手順を、標準的な通信手順として変換するアダプタ処理手段。
【００６７】
（手段３）
複数の分散ワークフローモニタシステムに階層構造を導入し、組織化するための手段。複数のワークフローモニタシステムを管理するため、ドメインの概念を導入する。これにより、単位ワークフローモニタシステムの管理するワークフローシステム数を制限すると伴に、主系分散ワークフローモニタシステムと、従系分散ワークフローモニタシステム等の階層構造をDomain  Name  System（DNS）と同様な方式で定義し、関連・関係付けを実現する。
【００６８】
（手段４）
全体のワークフローの記述を生成するワークフロー合成手段により、分散する複数の要素ワークフローの記述を合成し、統一的なＷｆ定義やメタ情報を生成した後、各ドメインを管理する分散ワークフローモニタシステムにレプリカコピーするための通信手段。
【００６９】
（手段５）
業務プロセストラッキング処理において、統一的なＷｆ定義やメタ情報を参照しながら、必要なタイミングで、他ドメインを管理する分散ワークフローモニタシステムよりイベント情報を入手するための通信手段。ここでは、イベント情報の性格に応じて２つの方式を含む。一つは、他のドメインを管理する分散ワークフローモニタシステム全体に情報提供をする方式であり、もう一つは必要な場合に必要なイベント情報のみを入手する方式である。
【００７０】
（効果をもたらす手段の働き）
各手段により、「業務プロセストラッキング処理で分散的な管理概念がある方式の、意味統合実現に基づくスケーラビリティ限界に関する課題」、並びに「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」を解決することを説明する。
【００７１】
「業務プロセストラッキング処理で分散的な管理概念がある方式の、意味統合実現に基づくスケーラビリティ限界に関する課題」に対しては手段１、手段３、手段４が重要な役割を持ち、手段２がその基盤部分を提供する。
【００７２】
スケーラビリティを実現するためには、単位ワークフローモニタシステムの管理するワークフローシステム数を制限する必要がある。そのためには、手段３の様な階層構造で管理する枠組みが必要となる。
【００７３】
しかし、単に分散構造を導入するだけでは、Ｗｆ定義やメタ情報の意味的な統一が取れず、管理不能となる。そのためには、手段１の３つである（２）分散する要素ワークフローの記述を予め指定された標準形式として記述・管理する要素手段、（３）分散する要素ワークフローの記述を標準形式に変換する要素手段、（４）複数の分散する要素ワークフローの記述を合成し、全体のワークフローの記述を再生するワークフロー合成手段により、複数の分散する要素ワークフローの記述を合成し、統一的なＷｆ定義やメタ情報を生成した後、手段４により、各ドメインを管理する分散ワークフローモニタシステムにレプリカコピーすることが必要となる。
【００７４】
以上により、分散環境下でも統一的なＷｆ定義やメタ情報を随時参照出来るようになる。尚、ワークフローの組み換えは、適宜実施されるが、日次で大規模に為されるものではない。その為、手段４で採用する方式がコストパフォーマンス的に最適である。
【００７５】
「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」に対しては手段３、手段４、手段５が重要な役割を持つ。
【００７６】
図１０の持つ管理非効率性は、Ｎ台対抗の情報共有であることに起因する。これを効率的に解決するには図９の様な集中方式が望ましいが、スケーラビリティの課題が発生する。
【００７７】
一般には、イベントに関するモニタデータは、管理レベルに応じて直ぐに配布するべきアラートデータと、短中期的に参照するトラッキングデータ、長期的に参照するモニタリングデータの３つに分類される。
【００７８】
ここで狙いとする業務プロセストラッキングは、直ぐに配布するべきトラッキングデータが一部存在するものの、殆どが短中期的に参照するトラッキングデータであり、常に配布するべき性格のものではない。必要なときに必要に応じて必要な部分のみを入手する方式を優先化することで要件を満足し得る。
【００７９】
以上から、手段５を用いて必要、かつ該当するメッセージに関するイベント群、エンジンにおけるメッセージに関するイベント群を必要なときに、オンデマンドで入手することが出来、管理上の効率性は増大する。
【００８０】
（第１の実施形態）
図１は、本発明の一実施形態の全体構成の概要を記した図である。
図１では、本発明の一部である大規模運用向けの分散ワークフロー管理・収集方法に基づく業務プロセストラッキング装置を中心に記している。分散ワークフロー管理・収集方法に基づく業務プロセストラッキング装置では、この分散ワークフロー管理方式に基づく任意複数のワークフローシステム（記号：WfMS_1）1、（記号：WfMS_2）2、（記号：WfMS_3）3、並びにワークフローシステム1、2等から、各種イベント情報を収集した後、整理、統合、格納するための主系分散ワークフローモニタシステム（記号：DsWfMS_1）4、並びにワークフローシステム3他から、各種イベント情報を収集した後、整理、統合、格納するための任意複数の従系分散ワークフローモニタシステム（記号：DsWfMS_2）5、従系分散ワークフローモニタシステム（記号：DsWfMS_3）57、従系分散ワークフローモニタシステム（記号：DsWfMS_N）58、並びに主系、従系に限らず、任意の分散ワークフローモニタシステムにアクセスするためのクライアントシステムとして、Webブラウザによるクライアントサイト6,54を含んで構成される。主系分散ワークフローモニタシステム（記号：DsWfMS_1）4、並びに任意複数の従系分散ワークフローモニタシステム5、従系分散ワークフローモニタシステム57、従系分散ワークフローモニタシステム58間には、後述の様なDNSと同様な階層構造が存在し、関連関係付けが為される。
【００８１】
図１では、ワークフローシステム1は、複数の業務アプリケーションシステム（記号：AP_A）7、（記号：AP_B）8と通信を行なう。また、ワークフローシステム2は、複数の業務アプリケーションシステム（記号：AP_C）9、（記号：AP_D）10と通信を行なう。
【００８２】
上記を実現するために、業務アプリケーションシステム7には、データ通信部（記号：COM_A）11を含む。また、業務アプリケーションシステム8には、データ通信部（記号：COM_B）12を含む。
【００８３】
同様に、業務アプリケーションシステム9には、データ通信部（記号：COM_C）13を含む。また、業務アプリケーションシステム10には、データ通信部（記号：COM_D）14を含む。
【００８４】
これに対して、ワークフローシステム１には、データ通信部11と通信を行なうためのアダプタ（記号：AD1_A）15を含むと伴にデータ通信部12と通信を行なうための別アダプタ（記号：AD1_B）16も含む。これらのアダプタは、ワークフローシステム１に含まれるワークフローエンジン（記号：WfE_1）23が、操作順序を制御した結果、必要な通信を業務アプリケーションシステム7、業務アプリケーションシステム8と行なう際に通信プロトコル上の差異及び操作上の差異を変換する。
【００８５】
同様に、ワークフローシステム2には、データ通信部13と通信を行なうためのアダプタ（記号：AD２_C）17を含むと伴にデータ通信部14と通信を行なうための別アダプタ（記号：AD２_D）18も含む。これらのアダプタは、ワークフローシステム2に含まれるワークフローエンジン（記号：WfE_2）26が、操作順序を制御した結果、必要な通信を業務アプリケーションシステム9、業務アプリケーションシステム10と行なう際に通信プロトコル上の差異及び操作上の差異を変換する。
【００８６】
ワークフローエンジン23の挙動は、ワークフローシステム１に含まれるワークフロー定義（記号：Wf定義_1）25で定義される。ここでは、分散配置されている他のワークフローシステム2、3他からの処理要求、処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム7、8との通信の結果、発生する処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン23がどの様な状態になり、どの様な処理要求、処理応答メッセージを発するかを規定しているものである。通常、ワークフロー定義25は、ワークフローエンジン23の挙動のみを記載し、標準化された形式であるWS-BPELとWSDL等を用いて記述する。
【００８７】
ワークフローエンジン26の挙動は、ワークフローシステム2に含まれるワークフロー定義（記号：Wf定義_2）28で定義される。ここでは、分散配置されている他のワークフローシステム1、3他からの処理要求、処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム9、10との通信の結果、発生する処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン26がどの様な状態になり、どの様な処理要求、処理応答メッセージを発するかを規定しているものである。通常、ワークフロー定義28は、ワークフローエンジン26の挙動のみを記載し、標準化された形式であるWS-BPELとWSDL等を用いて記述する。
【００８８】
ワークフローシステム１で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム１内に内在する複数のイベント抽出部により検出される。データ通信部11とアダプタ15間の通信は、アダプタ15内に仕込まれたMsgイベント抽出部19によって全て検出される。同様に、データ通信部12とアダプタ16間の通信は、アダプタ16内に仕込まれたMsgイベント抽出部20によって全て検出される。ワークフローエンジン23の挙動は、Engイベント抽出部24によって検出される。
【００８９】
Msgイベント抽出部19、Msgイベント抽出部20、Engイベント抽出部23によって抽出されたイベント情報は、ワークフローシステム１内のイベントデータ保持部29に一時的に保管され、適宜、共通データ送信部30により、分散ワークフローモニタシステム4に転送される。
【００９０】
尚、どの分散ワークフローモニタシステムに送付するかは、分散ワークフローモニタシステムが定めるドメインにより決まる。ワークフローシステム１は、主系分散ワークフローモニタシステム4配下であるため、主系分散ワークフローモニタシステム4に送付される。ドメインと分散ワークフローモニタシステム、並びにワークフローシステムとの関係は図８を用いて後述する。
【００９１】
ワークフローシステム2で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム2内に内在する複数のイベント抽出部により検出される。データ通信部13とアダプタ17間の通信は、アダプタ17内に仕込まれたMsgイベント抽出部21によって全て検出される。同様に、データ通信部14とアダプタ18間の通信は、アダプタ18内に仕込まれたMsgイベント抽出部22によって全て検出される。ワークフローエンジン26の挙動は、Engイベント抽出部27によって検出される。
【００９２】
Msgイベント抽出部21、Msgイベント抽出部22、Engイベント抽出部27によって抽出されたイベント情報は、ワークフローシステム2内のイベントデータ保持部31に一時的に保管され、適宜、共通データ送信部32により、分散ワークフローモニタシステム4に転送される。
【００９３】
前述のとおり、どの分散ワークフローモニタシステムに送付するかは、分散ワークフローモニタシステムが定めるドメインにより決まる。ワークフローシステム2も、主系分散ワークフローモニタシステム4配下であるため、同様に送付される。また例えば、ワークフローシステム3が、従系分散ワークフローモニタシステム5配下である場合は、ワークフローシステム3内のイベント情報は、共通データ送信部33から、主系分散ワークフローモニタシステム4ではなく、従系の分散ワークフローモニタシステム5に送付されることになる。ドメインと分散ワークフローモニタシステム、並びにワークフローシステムとの関係は図８を用いて後述する。
【００９４】
主系分散ワークフローモニタシステム4は、ワークフロー定義25、ワークフロー定義28、他のワークフロー定義（記号：Wf定義_3、図３参照）56を受信し、一部変換を施すWf定義・サービス定義取得部51、並びにWf定義・サービス定義取得部51が得た全てのワークフロー定義から、統合されたワークフロー定義を合成するWf合成部50、合成したワークフロー定義を格納管理する合成Wf定義34を含む。
【００９５】
特にWf定義・サービス定義取得部51は、外部に置かれたリポジトリ52へのアクセスが可能である。
【００９６】
更に、主系分散ワークフローモニタシステム4は、ワークフローシステム1、ワークフローシステム2からイベントに関する全てのデータを受信するイベントデータ受信部38、合成Wf定義34を参照し、イベントデータ受信部38が受ける全てのイベントデータを整理、関係付けて保持するイベント格納DB42、そして、この関係付けの実処理を行なうイベントデータ関係付け部40をも含む。
【００９７】
更に、主系分散ワークフローモニタシステム4は、合成Wf定義34内のデータに対し、業務に関連したラベルを定義、命名するアプリケーションであるAPラベル入力部53、合成Wf定義34をもとに、ある該当条件のイベントデータを検索するアプリケーションである検索機能部36、検索機能部36の戻す結果を元に合成Wf定義34内のデータに関連付け、イベントデータを時系列に並べて表示するためのトラッキング表示作成部44、更にイベント格納DB42に格納管理されたデータを元に統計、評価処理を行なうバッチ処理部46をも含む。
【００９８】
更に、従系分散ワークフローモニタシステム5との通信基盤を提供する通信基盤部48も含む。通信基盤部48は、合成Wf定義34のレプリカを、従系分散ワークフローモニタシステム5に配布する際、並びに従系分散ワークフローモニタシステム5内の検索機能部37が、クエリーを送付する際に利用される。
【００９９】
主系分散ワークフローモニタシステム4も、従系分散ワークフローモニタシステム5、57、58も、各々管理範囲を規定するドメインを持つ。このドメインには、分散ワークフロー管理方式に基づく任意複数のワークフローシステム1、2、3の何れかが所属するように、階層構造が定義され、関連・関係付けが為される。その具体的な実現方式は、DNSと同様な方式を採用する。
【０１００】
図８に、DNSと同様な方式を採用した際のドメイン、分散ワークフローモニタシステム、ワークフローシステムとの構成関係について一例を記す。業務アプリケーションシステム7と業務アプリケーションシステム8は、ワークフローシステム1と通信上の関係c100、c101を持つ。これは、具体的には後述する処理要求メッセージc2、処理応答メッセージc3等が相当する。
【０１０１】
また、業務アプリケーションシステム9と業務アプリケーションシステム10は、ワークフローシステム2と通信上の関係c102、c103を持つ。これは、具体的には後述する処理要求メッセージc6、処理応答メッセージc7等が相当する。
【０１０２】
ワークフローシステム1、ワークフローシステム2、ワークフローシステム3の間でも、通信上の関係c104、c105、c106を持つ。これは、具体的には、後述する処理要求メッセージc21、処理応答メッセージc22等が相当する。
【０１０３】
主系分散ワークフローモニタシステム4は、ドメインを形成し、そこに所属するワークフローシステム１、ワークフローシステム2を特定する。この特定関係を関係c107、c108で管理する。具体的な管理方法は、主系分散ワークフローモニタシステム4の持つドメイン定義表80によって記載、維持される。
【０１０４】
従系分散ワークフローモニタシステム5も、ドメインを形成し、そこに所属するワークフローシステム3を特定する。この特定関係は関係c109で管理する。ここの具体的な管理方法も、従系分散ワークフローモニタシステム5の持つドメイン定義表81に記載、維持される。
【０１０５】
前述の通り、ドメインは管理上の階層構造を持つ。主系分散ワークフローモニタシステム4の持つドメインと、従系分散ワークフローモニタシステム5の持つドメイン間には階層構造が存在し、関係ｃ112により維持される。階層構造であるため、主系分散ワークフローモニタシステム4の持つドメインは、他の従系分散ワークフローモニタシステム57の持つドメインとも階層構造が存在し、関係ｃ111により維持される。
【０１０６】
同様に、従系分散ワークフローモニタシステム5の持つドメインと、従系分散ワークフローモニタシステム58の持つドメイン間には、子−孫関係の階層構造が存在し、関係ｃ113により維持される。他任意の従系分散ワークフローモニタシステムとの子−孫関係の階層構造は、関係c114により維持される。
【０１０７】
階層構造の中では、主系分散ワークフローモニタシステム4は、最上位として定義されるものであるのに対して、従系分散ワークフローモニタシステム5等は、階層構造の中で最上位以外として定義される。このため、主系分散ワークフローモニタシステム4は、全体で１台のみが存在するのに対して、従系分散ワークフローモニタシステム5等は、全体で１台以上の複数台が存在し得る。
【０１０８】
階層構造を維持するため、各分散ワークフローモニタシステム間で関係c111、c112、c113、c114が維持されるが、それらは、各分散ワークフローモニタシステムが持つ各ドメイン定義表により、維持管理される。主系分散ワークフローモニタシステム4は、ドメイン定義表80を内部に保持する。
【０１０９】
また、従系分散ワークフローモニタシステム5は、ドメイン定義表81を内部に保持する。更に従系分散ワークフローモニタシステム57は、ドメイン定義表82を内部に保持する。最後に、従系分散ワークフローモニタシステム58は、ドメイン定義表83を内部に保持する。これは、他の従系分散ワークフローモニタシステムが存在する場合も同様に為される。
【０１１０】
ドメイン定義表80、ドメイン定義表81、ドメイン定義表82、ドメイン定義表83の実装方法は、データベース上の表でも、定義ファイルでも良い。ここでは、ドメイン定義表81を例に、定義ファイル形式を採用した場合について説明する。
【０１１１】
ドメイン定義表81を含めて、全てのドメイン定義表は、４つの大きな要素から構成される。一つ目はドメイン名の定義84であり、二つ目は、親となるドメインの定義85であり、三つ目は、配下のドメインの定義に関するリスト86であり、最後は、ドメインに所属するワークフローシステム群の定義に関するリスト87である。
【０１１２】
定義ファイル形式を採用した場合、４つ要素は、文字列で表現され、各々の要素指定はデリミタ「；」によって区切られる。ドメイン名の定義84は、固定識別子を持つ変数「domainname」の後、文字列で与えられる。
【０１１３】
親となるドメインの定義85は、上位のドメインを意味する。ここでは、主系分散ワークフローモニタシステム4が構成するドメインを意味する。これを指定する場合は、親ドメイン定義である固定識別子を持つ変数「primarydomain」の後、親ドメイン名の文字列、並びにスペースの後、親ドメインを管理する主系分散ワークフローモニタシステム4のアドレス情報文字列を指定する。アドレス情報文字列は、IP(Internet Protocol)アドレスの文字列、URI（Uniform Resource Identifier）文字列、ドメイン名文字列の何れかになる。
【０１１４】
ドメインに所属するワークフローシステム群の定義87は、このドメインに所属するワークフローシステム群を意味する。これを指定する場合は、ワークフローシステム定義である、固定識別子を持つ変数「ownedworkflow」の後、複数のエントリを記述出来る様に中括弧を用いてリスト構造を持つ文字列を指定する。ここでは、ワークフローシステム、3のみが所属するので、そのサーバ識別子とアドレス情報文字列が指定される。アドレス情報文字列は、IPアドレスの文字列、URI文字列、ドメイン名文字列の何れかになる。
【０１１５】
以上の方式により、大規模運用を指向し、スケーラビリティを持った管理方式を実現することが可能となる。
【０１１６】
更に、主系分散ワークフローモニタシステム4は、図８に示す階層構造の中で、最上位の機能として定義されるだけではない。ワークフロー定義25、ワークフロー定義28、ワークフロー定義56を受信し、統合されたワークフロー定義を合成する機能であるWf合成部50を唯一持ち、合成したワークフロー定義を格納管理する合成Wf定義34を原本として保持する役割も持つ。
【０１１７】
これに対して、従系分散ワークフローモニタシステム5は、主系分散ワークフローモニタシステム4の構成機能の一部機能しか持たない。例えば、合成Wf定義34についても、原本ではなく、その完全なレプリカである合成Wf定義35を持つ。但し、合成Wf定義35は、主系分散ワークフローモニタシステム4等の位置を指し示すアドレス情報を含むため、レプリカに情報を追加したものになる。この更新手順については図４で後述する。
【０１１８】
ここで、従系分散ワークフローモニタシステム5の構成について説明する。従系分散ワークフローモニタシステム5は、通信基盤部49を含む。そして、これを介して、合成Wf定義34のレプリカにアドレス情報を加えた合成Wf定義35が転送される。
【０１１９】
このため、従系分散ワークフローモニタシステム5では、Wf合成部50相当の機能部は不要である。更に、APラベル入力部53相当の機能部、Wf定義・サービス定義取得部51相当の機能部も存在していない。
【０１２０】
従系分散ワークフローモニタシステム5では、その管理ドメイン内で発生するイベントに関する全てのデータを受信するイベントデータ受信部39、レプリカである合成Wf定義35を参照し、イベントデータ受信部39が受信する全てのイベントデータを整理、関係付けて保持するイベント格納DB43、そして、この関係付けの実処理を行なうイベントデータ関係付け部41を含む。
【０１２１】
更に、従系分散ワークフローモニタシステム5では、合成Wf定義35をもとに、ある該当条件のイベントデータを検索するアプリケーションである検索機能部37、検索機能部37の戻す結果を元に合成Wf定義35内のデータに関連付け、イベントデータを時系列に並べて表示するためのトラッキング表示作成部45、更にイベント格納DB43に格納管理されたデータを元に統計、評価処理を行なうバッチ処理部47を含んで構成される。
【０１２２】
また、検索機能部36のトラッキング表示作成部44もしくは検索機能部37、トラッキング表示作成部45を操作するには、Webブラウザを起動する必要があり、そのために１台以上のクライアントサイト6が必要である。
【０１２３】
（動作の説明）
図２を用い、分散配置された通常のワークフローエンジンからイベント情報を収集する際の手順概要を記す。ここでは、主系分散ワークフローモニタシステム4の定義するドメインを例に説明する。
【０１２４】
ワークフローエンジン23が、業務アプリケーションシステム7に通信をする場合、ワークフロー定義25に基づき、アダプタ15に、処理要求メッセージc1を送付する。処理要求メッセージc1は、Webサービス等で成される場合もあり、XML（Extensible Markup Language）等を用いて定義される。
【０１２５】
アダプタ15では、処理要求メッセージc1を、業務アプリケーションシステム7が受け入れられるような通信プロトコル、並びに手順に変換し、新たな処理要求メッセージc2として、業務アプリケーションシステム7内のデータ通信部11に送付する。
【０１２６】
データ通信部11は、処理要求メッセージc2を受理し、業務アプリケーションシステム7に引き渡す。その結果、必要であれば、新たな処理応答メッセージc3が生成され、データ通信部11からアダプタ15に戻される。
【０１２７】
アダプタ15内では、その結果を予め規定されている通信プロトコル、並びに手順に変換し、処理応答メッセージc4として、ワークフローエンジン23に戻す。
【０１２８】
ワークフローエンジン23は、ワークフロー定義25に基づき、次の挙動を決定する。その結果、業務アプリケーションシステム8に通信をする場合、ワークフロー定義25に基づき、今度はアダプタ16に、処理要求メッセージc5を送付する。処理要求メッセージc5も、Webサービス等で成される場合もあり、XML等を用いて定義される。
【０１２９】
アダプタ16では、処理要求メッセージc5を、業務アプリケーションシステム8が受け入れられるような通信プロトコル、並びに手順に変換し、新たな処理要求メッセージc6として業務アプリケーションシステム8内のデータ通信部12に送付する。
【０１３０】
データ通信部12は、処理要求メッセージc6を受理し、業務アプリケーションシステム8に引き渡す。その結果、必要であれば、新たな処理応答メッセージc7が生成され、データ通信部12からアダプタ16に戻される。
【０１３１】
アダプタ16内では、その結果を予め規定されている通信プロトコル、並びに手順に変換し、処理応答メッセージc8としてワークフローエンジン23に戻す。
【０１３２】
ワークフローエンジン23は、ワークフロー定義25に基づき、次の挙動を決定するが、その場合、別のワークフローシステム2と通信をする場合がある。その場合、ワークフロー定義25に基づき、今度は別のワークフローシステム2に処理要求メッセージc21を送付する。処理要求メッセージc21も、Webサービス等で成される場合もあり、XML等を用いて定義される。
【０１３３】
処理要求メッセージc21の結果は、処理応答メッセージc22としてワークフローエンジン23に戻される。
【０１３４】
ワークフローシステム1で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム１内に内在する複数のイベント抽出部により抽出される。具体的には、アダプタ15には、Msgイベント抽出部19が仕込まれている。
【０１３５】
Msgイベント抽出部19は、アダプタ15が処理要求メッセージc1を受信した段階で、これを検出し、メッセージに関するイベントc17として記録する。また、Msgイベント抽出部19は、アダプタ15が、処理要求メッセージc1を業務アプリケーションシステム7が受け入れられるような通信プロトコル、並びに手順に変換し、処理要求メッセージc2として送信した段階で、これを検出し、メッセージに関するイベントc18として記録する。
【０１３６】
同様に、Msgイベント抽出部19は、アダプタ15が処理応答メッセージc3をデータ通信部11から受信した段階で、これを検出し、メッセージに関するイベントc19として記録する。また、Msgイベント抽出部19は、アダプタ15が、処理応答メッセージc3を変換して、処理応答メッセージc4とし、ワークフローエンジン23に送付した段階で、これを検出し、メッセージに関するイベントc20として記録する。
【０１３７】
同様に、アダプタ16には、Msgイベント抽出部20が仕込まれている。
【０１３８】
Msgイベント抽出部20は、Msgイベント抽出部19と同じ要領で、処理要求メッセージc5を検出し、メッセージに関するイベントc13として記録する。加えて、処理要求メッセージc6を検出し、メッセージに関するイベントc14として記録する。更に、処理応答メッセージc7を検出し、メッセージに関するイベントc15として記録する。最後に処理応答メッセージc8を検出し、メッセージに関するイベントc16として記録する。
【０１３９】
ワークフローエンジン23の挙動は、Engイベント抽出部24によって検出される。ワークフローエンジン23から発生したメッセージ、並びに受理されたメッセージに関する一連のイベントは全て、Engイベント抽出部24が扱う。
【０１４０】
例えば、アダプタ15に引き渡された処理要求メッセージc1はEngイベント抽出部24で検出し、エンジンにおけるメッセージに関するイベントc9として記録する。同様に、アダプタ15から引き渡された処理応答メッセージc4をEngイベント抽出部24で検出し、エンジンにおけるメッセージに関するイベントc10として記録する。
【０１４１】
更に、アダプタ16に引き渡された処理要求メッセージc5はEngイベント抽出部24で検出し、エンジンにおけるメッセージに関するイベントc11として記録する。同様に、アダプタ16から引き渡された処理応答メッセージc8をEngイベント抽出部24で検出し、エンジンにおけるメッセージに関するイベントc12として記録する。
【０１４２】
更に、別のワークフローシステム2と通信をする場合も同様に扱う。ワークフローシステム2に送付した処理要求メッセージc21はEngイベント抽出部24で検出し、エンジンにおけるメッセージに関するイベントc23として記録する。また、処理要求メッセージc21の結果として戻される処理応答メッセージc22もEngイベント抽出部24で検出し、エンジンにおけるメッセージに関するイベントc24として記録する。
【０１４３】
Msgイベント抽出部19で記録されたメッセージに関するイベントであるc17、c18、c19、c20、並びにMsgイベント抽出部20で記録されたメッセージに関するイベントであるc13、c14、c15、c16、並びにEngイベント抽出部24で検出し、エンジンにおけるメッセージに関するイベントであるc9、c10、ｃ11、ｃ12、ｃ23、ｃ24の各々が記録される場合は、ワークフローシステム１内のイベントデータ保持部29で記録され、一時的に保管される。その後、共通データ送信部30により、主系分散ワークフローモニタシステム4に適宜、決められたフォーマットにてイベントデータ転送メッセージc25が作成され、転送される。尚、どの分散ワークフローモニタシステムに送付するかは、分散ワークフローモニタシステムが定めるドメインにより決まる。図２のワークフローシステム１は、主系分散ワークフローモニタシステム4配下であるため、イベントデータ転送メッセージc25はその様に転送される。
【０１４４】
主系分散ワークフローモニタシステム4には、イベントに関する全てのデータを受信するイベントデータ受信部38が存在しており、イベントデータ転送メッセージc25を受理する。
【０１４５】
図３は、分散配置されたワークフローエンジンに独自に保持されているワークフロー定義（以下、「Ｗｆ定義」という）群を主系の分散ワークフローモニタシステムに収集し、統合・合成されたＷｆ定義を生成する際の手順概要を記す。Ｗｆ定義群の収集は、主系分散ワークフローモニタシステムの主機能の一つであるため、イベントデータ転送メッセージc25とはやり方が異なる。
【０１４６】
ワークフローシステム１に含まれ、図２で記載されたワークフローエンジン23の挙動は、ワークフロー定義25で定義される。通常、ワークフロー定義25は、ワークフローエンジン23の挙動のみを記載し、標準化された形式であるWS-BPELとWSDL等を用いて記述する。
【０１４７】
ワークフローシステム2に含まれ、図２で記載されたワークフローエンジン26の挙動は、ワークフロー定義28で定義される。通常、ワークフロー定義28は、ワークフローエンジン26の挙動のみを記載し、標準化された形式であるWS-BPELとWSDL等を用いて記述する。
【０１４８】
ワークフロー定義25は、定義転送メッセージc50として、またワークフロー定義28は、定義転送メッセージc51として、主系分散ワークフローモニタシステム4内のWf定義・サービス定義取得部51に適宜、転送される。また、ワークフローシステム3には、ワークフロー定義25、ワークフロー定義28と同様、ワークフロー定義56が存在する。ここで、前述のイベントデータ転送メッセージc25とは異なり、ワークフロー定義56は、定義転送メッセージc52として、従系分散ワークフローモニタシステム5ではなく、主系分散ワークフローモニタシステム4内のWf定義・サービス定義取得部51に転送されることになる。
【０１４９】
Wf定義・サービス定義取得部51が、定義転送メッセージc50、c51、c52を受信すると、標準化された形式、例えば、WS-BPELとWSDLであることを検証した後、ワークフロー定義25、28、56の全てを保持する。その場合、外部に置かれたリポジトリ52にて保存しても良い。
【０１５０】
主系分散ワークフローモニタシステム4内には、Wf定義・サービス定義取得部51が得た全てのワークフロー定義25、28、56等から、統合されたワークフロー定義を合成するWf合成部50、合成したワークフロー定義を格納管理する合成Wf定義34が存在する。
【０１５１】
Wf合成部50は、要素となる全てのワークフロー定義を得るため、Wf定義・サービス定義取得部51を随時起動する。Wf定義・サービス定義取得部51は、既に内部で保持している要素となる全てのワークフロー定義情報を入手すると伴に、リポジトリ52に対して、問い合わせc53を実施し、要素となり得る残りの全てのワークフロー定義情報も入手する。
【０１５２】
その後、Wf定義・サービス定義取得部51は、必要となる全てのワークフロー定義情報25、28、56をc54としてWf合成部50に引き渡す。Wf合成部50は、例えば、先行出願等で記された手順で、統合・合成されたワークフロー定義の合成結果c56を生成する。Wf合成部50は、その合成結果c56を、合成Wf定義34に渡し、合成Wf定義34内で保持する。
【０１５３】
Wf合成部50により生成されるサービス定義・プロセス定義情報は、WS-BPELとWSDLに従い、プロセス定義、定義部、アクティビティ部、サービス定義、メッセージ定義部、ポート定義部、バインディング部、サービス定義部等を含んで構成される。これらは、計算機可読の表現で記載され、意味的な情報を直接含むことは少ない。
【０１５４】
このため、主系分散ワークフローモニタシステム4には、Wf合成部50で生成される合成Wf定義34内のサービス定義・プロセス定義情報にアプリケーション上の意味情報、表現情報を追加するため、APラベル入力部53が存在する。主にシステム管理者である利用者は、１台以上のクライアントサイト５４を起動することで、APラベル入力部53を起動する。
【０１５５】
クライアントサイト54を介して操作、入力された意味情報、表現情報c61は、APラベル入力部53に引き渡される。その後、APラベル入力部53は、合成Wf定義34を参照して、プロセス定義、定義部、アクティビティ部、サービス定義、メッセージ定義部、ポート定義部、バインディング部、サービス定義部等に意味情報、表現情報c61をアノテーションとして付与する操作要求c58を発行する。
【０１５６】
合成Wf定義34が、どの様な形で実現されるかを図７で説明する。図７は、合成Wf定義34、並びにイベント格納DB42を構成するためのデータ構成、管理構造について記した図であり、本発明の実施のために必要な主要部分のみをデータベース管理システムで実装された場合を想定して記載している。
【０１５７】
図中、一点破線で囲んだ部分75は、合成Wf定義相当部分であり、合成Wf定義34や、合成Wf定義35が該当する。ここには、合成ワークフロー定義記述表60、ワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62、サービス定義表63等が含まれる。
【０１５８】
図中、二点破線で囲んだ部分76は、イベント格納DB相当部分であり、イベント格納DB42や、イベント格納DB43が該当する。ここには、合成プロセス実施インスタンス管理表64、プロセス実施インスタンス管理表65、サービスイベント管理表66、統計データ管理表67等が含まれる。
【０１５９】
合成ワークフロー定義記述表60とは、Wf合成部50が生成する合成結果c56の主要部を保持するものである。これに対して、ワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62、サービス定義表63は、WS-BPELとWSDLで記載されるワークフロー定義25、ワークフロー定義28、ワークフロー定義56を等価表現で管理するものである。
【０１６０】
ワークフロー・プロセス定義記述表61は、WS-BPELのプロセス定義に関連する部分を管理する。サービス呼び出しアクティビティ定義表62は、WS-BPELのアクティビティ定義と呼び出しサービスに関連する部分を管理する。サービス定義表63は、WSDLで記載されるサービスに関連する部分を管理する。
【０１６１】
ワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62、サービス定義表63には、「＋APラベル説明記述、＋表示ラベル記述」に関する項目68、68’、68”が存在する。これらは、APラベル入力部53を介して、プロセス定義、定義部、アクティビティ部、サービス定義、メッセージ定義部、ポート定義部、バインディング部、サービス定義部等に付与する意味情報、表現情報のアノテーションの格納領域である。
【０１６２】
サービス呼び出しアクティビティ定義表62、サービス定義表63には、「＋配置ドメイン区分(自ドメイン、別ドメイン)」に関する項目69、69’が存在する。これは、該当するワークフロー定義を含んだワークフローシステムが、自ドメインに存在するのか、別ドメインに存在するのかを指し示す。これは、後述する主系分散ワークフローモニタシステム4から従系分散ワークフローモニタシステム5へのレプリカ配布の際に、分散ワークフローモニタシステムに応じて「配置先ドメインモニタアドレス」と伴に変更・更新を受ける部分である。その為、主系分散ワークフローモニタシステム4と従系分散ワークフローモニタシステム5では異なった値を持つ。図６で定義されるワークフローの実行状況の状況把握、検索をする際の手順概要では、検索機能部37が、他分散ワークフローモニタシステムで管理されている該当メッセージに関するイベント群、エンジンにおけるメッセージに関するイベント群の一覧を得る処理を、この情報に基づき実施する。
【０１６３】
合成プロセス実施インスタンス管理表64とは、合成ワークフロー定義記述表60で定義される統合・合成したワークフロー定義の実際の実行状況を管理するものである。任意時間内で、同じ定義に対して複数の同時実施が有り得る。これに対して、プロセス実施インスタンス管理表65は、統合・合成したワークフロー定義の実際の実行状況の下で起動し、各々ワークフローエンジンで実施される挙動・実行状況を管理するものである。
【０１６４】
サービスイベント管理表66は、各々のワークフローエンジンで発生する一連のイベントを管理するものである。最後の統計データ管理表67は、指定された時間毎に起動するバッチ処理部46、バッチ処理部47内部の後述結果値c63を管理するものである。
【０１６５】
Wf合成部50並びにAPラベル入力部53における一連の操作が終了すると、主系分散ワークフローモニタシステム4は、統合・合成されたＷｆ定義やメタ情報が更新されたため、複数の従系分散ワークフローモニタシステム5、57、58に、合成Wf定義34の完全レプリカを含む相当情報を送付、生成するため、通信基盤部48を呼び出す。その際の手順を図４に記す。
【０１６６】
通信基盤部48は、合成Wf定義34の完全レプリカを含む相当情報を生成するための元情報c65を受信すると、それを配下の複数の従系分散ワークフローモニタシステム5、57、58に送付するため、それらの通信基盤部を順次呼び出す。図４では、従系分散ワークフローモニタシステム5内の通信基盤部49を呼び出した例である。呼び出す際は、元情報c65を含んだトランザクション要求c66が転送される。
【０１６７】
通信基盤部49がトランザクション要求c66を受信すると、合成Wf定義34の完全レプリカの相当情報を元に、主系分散ワークフローモニタシステム4等の位置を指し示すアドレス情報、ワークフローシステム1、ワークフローシステム2、ワークフローシステム3の位置を指し示すアドレス情報、ならびに所属するドメイン、並びにドメインを管理する従系分散ワークフローモニタシステム5等の位置を指し示すアドレス情報、主系分散ワークフローモニタシステム4等の位置を指し示すアドレス情報を含めて合成Wf定義35を生成するため、通信基盤部49が更新処理手続きc67を実施する。
【０１６８】
アドレス情報は、図７で定義されるワークフロー、プロセス定義記述表61内の「＋配置先ワークフローシステム定義ID」、「＋配置先アドレス：URL記述」、「＋配置ドメイン区分」、「＋配置ドメインのモニタシステム定義ID」、「＋配置ドメインモニタアドレス：URL記述」等が相当する。
【０１６９】
更新手続きc67は、以下の手順で実施される。合成Wf定義35の既存のレコード等が存在していない場合、トランザクション要求c66内の元情報c65を用い、合成Wf定義35内に新規レコードを生成する。これに対して、合成Wf定義35の既存のレコードが存在する場合、既存のレコード、並びにトランザクション要求c66内の元情報c65を比較し、更新されている部分を仮更新する、単純に内容が更新されている場合は相当する様に仮更新する、一部が削除された場合は、対応する部分を無効化する等の仮処理を行なう。その処理を通して、合成Wf定義35の仮版を生成する。
【０１７０】
更新手続きc67の実施中に、特に問題が存在しない場合は、通信基盤部49は、コミット処理を行い、合成Wf定義35の仮版を新規のものとして確定する。これに対して、更新手続きc67の実施中に、問題が存在している場合は、通信基盤部49は、アボート処理を行い、合成Wf定義35の仮版のものを廃棄し、従来の版を維持する。
【０１７１】
合成Wf定義35の生成、更新に関する処理は一つのトランザクション範囲内で実施されるので、処理が終わると通信基盤部49は、トランザクション要求結果c68を主系分散ワークフローモニタシステム4の通信基盤部48に応答する。
【０１７２】
通信基盤部48が、トランザクション要求結果c68を受信した結果、問題を検出できない場合、続けて合成Wf定義34の完全レプリカを含む相当情報を送付、生成するため、別の従系分散ワークフローモニタシステムの通信基盤部を呼び出し、元情報c65を含んだ別トランザクション要求c70を送付する。
【０１７３】
通信基盤部48が、トランザクション要求結果c68を受信した結果、問題を検出した場合は、通信基盤部48は、問題の発生した旨のアラームc69を通知すると伴に、従系分散ワークフローモニタシステム5をスキップして、別の従系分散ワークフローモニタシステムの通信基盤部を呼び出し、元情報c65を含んだ別トランザクション要求c70を送付する。問題の発生した従系分散ワークフローモニタシステム5へのトランザクション要求c66の事後処理は運用条件もあるため、統一的な方式では規定出来ない。しかし、元情報c65を含んだ一連のトランザクション要求を、全ての従系分散ワークフローモニタシステムに対して処理した後に、再送することも一つの方法である。
【０１７４】
図５は、統合・合成されたＷｆ定義やメタ情報を配布した後、それらを用いてワークフローの実行状況の更新をする際の手順概要を記した図である。ここでは２つの処理が含まれる。一つは、あるワークフローシステムに関するドメインに閉じた実行状況の更新処理手順である。もう一つは、合成Wf定義全体を開始する場合の更新処理手順である。
【０１７５】
図６は、統合・合成されたＷｆ定義やメタ情報を配布した後、それらを用いてワークフローの実行状況の状況把握、検索をする際の手順概要を記した図である。ここでも、２つの処理が含まれる。一つは、分散ワークフローモニタシステムからワークフローの実行状況の状況把握、検索をする処理である。もう一つは、別の分散ワークフローモニタシステムより、ワークフローの実行状況の情報を検索し、その検索結果を、検索元の分散ワークフローモニタシステムにキャッシュとして格納する処理である。
【０１７６】
先ず、図５のワークフローの実行状況の更新のうち、あるワークフローシステムに関するドメインに閉じた実行状況の更新について、主系分散ワークフローモニタシステム4を例に説明する。
【０１７７】
ワークフローシステム1、ワークフローシステム2の各イベント抽出部によって抽出されたイベント情報は、適宜、共通データ送信部30、共通データ送信部32により、イベントデータ転送メッセージc25、c26として主系分散ワークフローモニタシステム4に転送される。主系分散ワークフローモニタシステム4では、イベントデータ受信部38がイベントデータ転送メッセージc25、c26を受信する。
【０１７８】
イベントデータ受信部38は、イベントに関する全てのデータc55を、イベントデータ関係付け部40に引き渡す。イベントデータ関係付け部40は、合成Wf定義34を参照し、内部に管理されるサービス定義・プロセス定義情報c57を検索、参照しながら、イベントに関する全てのデータc55の各々が、どのサービス・プロセスのメッセージインスタンスに相当するかを整理、関係付け、かつ現在、イベント格納DB42にて管理されるメッセージインスタンス群c60を検索の上で、関係付ける。その後、新たなメッセージインスタンスのレコードc59としてイベント格納DB42に格納する。尚、メッセージインスタンスのレコードc59は、通常、図７のサービスイベント管理表66のものであるが、プロセスの開始等を伴う場合は、図７の合成プロセス実施インスタンス管理表64、プロセス実施インスタンス管理表65のレコード群も伴う。そのため、関係付けの際は、図７のデータベースに関するデータ構造を維持する様に実施される。
【０１７９】
このワークフローシステムに関するドメインに閉じた実行状況の更新は、主系分散ワークフローモニタシステム4だけではなく、従系分散ワークフローモニタシステム5でも同様に当てはまる。
【０１８０】
ここで、新たなメッセージインスタンスのレコードc59としてイベント格納DB42に格納する際に、合成Wf定義全体を開始する場合は、更に特別な処理が加わる。以下、合成Wf定義全体を開始する場合の更新手続きについて、説明する。
【０１８１】
合成Wf定義に基づく合成プロセスの実施を新たに行う場合は、一つの分散ワークフローモニタシステムが定めるドメインに留まらず、複数のドメインに跨って実施される可能性がある。その為、新たに、合成Wf定義全体を開始する場合は、各ドメインを管理する分散ワークフローモニタシステム全てのイベント格納DBに同報レプリカで、合成プロセスの実施が新たに発生した旨が通知される。
【０１８２】
主系分散ワークフローモニタシステム4内のイベント格納DB42、特に図７の合成プロセス実施インスタンス管理表64に、新たに合成Wf定義全体を開始するレコードc59が格納された場合は、データベースのトリガ機能等を用いて、他の従系分散ワークフローモニタシステム5内のイベント格納DB43に同等のレコードをレプリカとして生成するため、通信基盤部48を呼び出す。
【０１８３】
通信基盤部48は、イベント格納DB42から、新たに合成Wf定義全体を開始するレコードc59に関するレプリカ要求c93を受理すると、それを配下の複数の従系分散ワークフローモニタシステム5等に送付するため、それらの通信基盤部を順次呼び出す。図５では、従系分散ワークフローモニタシステム5内の通信基盤部49を呼び出している。呼び出す際は、レプリカ要求c93内の情報を含んだレプリカ生成トランザクション要求c94となる。
【０１８４】
通信基盤部49がレプリカ生成トランザクション要求c94を受けると、合成Wf定義35のレプリカに相当情報を元に、イベント格納DB43内の合成プロセス実施インスタンス管理表64にレコードを生成するため、通信基盤部49が生成手続きc95を実施する。
【０１８５】
生成手続きc95は、下記の手順で実施される。該当するレコードが存在していない場合は、新たに合成Wf定義全体を開始する起点のワークフローシステムの特定情報と、その起点ワークフローシステム内で管理している一意性のある合成プロセスインスタンスの組合せで定義IDを指定し、その値を持つレコードを仮生成する。これは図７の72に相当する。該当するものが存在している場合は、エラーの扱いにはせず、レプリカの更新回数を１増加させることで、レコードと同等のレコードを仮生成する。この様にすることで、合成プロセスの実施状況が変った段階で、レプリカのレコードを更新することが出来る。
【０１８６】
生成手続きｃ95の実施中に、問題が検出出来ない場合は、通信基盤部49は、コミット処理を行い、イベント格納DB43内の合成プロセス実施インスタンス管理表64内の仮レコードを新規のものとして確定する。これに対して、作成手続きc65の実施中に、問題を検出した場合は、通信基盤部49は、アボート処理を行い、仮レコードを廃棄し、従来の状態を維持する。
【０１８７】
イベント格納DB43内の合成プロセス実施インスタンス管理表64内のレコードを新規生成する処理は一つのトランザクション範囲内で実施されるので、処理が終わると、通信基盤部49はレプリカ生成トランザクション要求結果c96を主系分散ワークフローモニタシステム4の通信基盤部48に応答する。
【０１８８】
通信基盤部48が、レプリカ生成トランザクション要求結果c96を受信した結果、問題を検出した場合、続けて、別の従系分散ワークフローモニタシステムの通信基盤部を呼び出し、レプリカ要求c93内の情報を含んだレプリカ生成トランザクション要求c94を送付する。
【０１８９】
尚、新たに合成Wf定義全体を開始する場合の同報レプリカは、主系分散ワークフローモニタシステム4から従系分散ワークフローモニタシステム5のみに対して実施されるのではなく、起点と成り得る任意の分散ワークフローモニタシステムが変更を受けた場合に双方向で例外なく実施される。
【０１９０】
続けて、統計データ処理について説明する。主系分散ワークフローモニタシステム4には、イベント格納DB42に格納管理されたデータを元に統計、評価処理を行なうバッチ処理部46を含む。
【０１９１】
バッチ処理部46は、指定された時間毎に起動し、イベント格納DB42に格納管理されたメッセージインスタンスのレコードに対して適宜検索を掛ける。具体的には、図７のサービスイベント管理表66に相当する。特にバッチ処理部46は、指定の統計処理に必要なメッセージインスタンスのレコード群c62を取り出し、バッチ処理部46内部の計算の入力とする。
【０１９２】
指定の統計処理計算が終了した段階で、その結果値c63をイベント格納DB42に格納する。具体的には、図７の統計データ管理表67である。その様にすることで、トラッキングの際にそれらの統計データを用いることが可能となる。
【０１９３】
統計データ処理については、主系分散ワークフローモニタシステム4だけではなく、従系分散ワークフローモニタシステム5でも同様である。
【０１９４】
続けて、図６をもとに、統合・合成されたＷｆ定義やメタ情報を配布した後、それらを用いてワークフローの状況把握、検索をする際の手順概要を、従系分散ワークフローモニタシステム5を例に説明する。
【０１９５】
クライアントサイト6上のGUI（Graphical User Interface）で、例えば検索する合成プロセス定義名、もしくはその一部を指定入力欄に検索文字列として入力すると、クライアントサイト6から従系分散ワークフローモニタシステム5にWf定義検索要求メッセージc71が転送される。その後、検索機能部37がWf定義検索要求メッセージc71を受け取った後、合成Wf定義35に対して、合成プロセス定義に関する検索問い合わせc72を実施し、その検索結果c73を得る。ここでは、主に図７における合成ワークフロー定義記述表60等が検索される。その後、検索機能部37は検索結果c74をクライアントサイト6に戻し、合成プロセス定義名の一覧が表示される。
【０１９６】
続けて、クライアントサイト6上のGUIで、合成プロセス定義名の一覧から一つ選択し、例えば、実行日時、もしくは処理ID等の合成プロセスの実施インスタンスを特定するものを指定すると、クライアントサイト6から従系分散ワークフローモニタシステム5に指定Ｗｆ定義トラッキング表示要求メッセージc75が転送される。尚、実行日時、もしくは処理ID等は、相当する「＋発生イベント日時」、もしくは「＋累積プロセスインスタンスID」に変換する。
【０１９７】
その後、検索機能部37が指定Ｗｆ定義トラッキング表示要求メッセージc75を受けると、指定合成プロセス定義名に所属する関連するワークフロー定義情報の一覧を検索するため、合成Wf定義35に対して、検索要求c76を掛ける。ここでは、図７における合成ワークフロー定義記述表60、ワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62を順次検索する。その結果、合成Wf定義35は、指定合成プロセス定義名に所属するワークフロー定義情報についての一覧c77を検索機能部37に応答する。これは、図７におけるワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62に含まれる情報項目であり、ワークフロー定義25、28、56等に相当する。
【０１９８】
続けて、検索機能部37は、指定合成プロセス定義所属のワークフロー定義情報を持ち、指定Ｗｆ定義トラッキング表示要求メッセージc75内で特定されている実行日時、もしくは処理IDに相当する「＋発生イベント日時」、もしくは「＋累積プロセスインスタンスID」等を指定することで、該当するメッセージに関するイベント群、エンジンにおけるメッセージに関するイベント群の一覧を得るための検索要求c78をイベント格納DB43に発行する。その結果、図７におけるサービスイベント管理表66が検索され、該当するメッセージインスタンスのレコードを得て、それを検索機能部37に検索結果c79として戻す。
【０１９９】
指定合成プロセス定義名に所属する関連するワークフロー定義情報の一覧を検索するため、合成Wf定義35に対して、検索要求c76を掛け、その結果、得られる指定合成プロセス定義名に所属するワークフロー定義情報についての一覧c77には、従系分散ワークフローモニタシステム5が扱わないリモートのものが存在する。具体的には、図７のワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62の「＋配置ドメイン区分(自ドメイン、別ドメイン)」に関する項目69、69’が別サイトとして指定されたものである。その場合、イベント格納DB43から受けた検索結果c79には、キャッシュ化されていない限り、全ての情報が含まれない。また、キャッシュ化されても、図７の「＋キャッシュデータ入手日時」「＋キャッシュ有効区分（有効、時間切れ）」に関する項目71”の様に、時間切れ故に無効化しているものも存在する。
【０２００】
検索機能部37が、の指定合成プロセス定義名に所属するにも関わらず、図７のワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62の「＋配置ドメイン区分(自ドメイン、別ドメイン)」に関する項目69、69’が別サイトとして指定されたもの、更に、図７におけるサービスイベント管理表66の「＋キャッシュデータ入手日時」「＋キャッシュ有効区分（有効、時間切れ）」に関する項目71”の様に、時間切れで無効化しているものを得た場合、該当するメッセージに関するイベント群、エンジンにおけるメッセージに関するイベント群の最新の一覧を得るため、通信基盤部49に検索要求c80を発行する。
【０２０１】
検索要求c80には、指定合成プロセス定義所属のワークフロー定義情報を持ち、指定Ｗｆ定義トラッキング表示要求メッセージc75内で特定されている実行日時、もしくは処理IDに相当する「＋発生イベント日時」、もしくは「＋累積プロセスインスタンスID」等が指定され、他の分散ワークフローモニタシステムで管理されている該当するメッセージに関するイベント群、エンジンにおけるメッセージに関するイベント群の一覧を得るための一切の情報を含む。
【０２０２】
通信基盤部49が検索要求c80を受けると、指定された分散ワークフローモニタシステムにルーティングして、検索要求c80を検索要求c81として、対応する通信基盤部に送付する。ここでは、主系分散ワークフローモニタシステム4に対して実施している例とするため、通信基盤部48が、検索要求c81を受信する。
【０２０３】
通信基盤部48が、検索要求c81を受信すると、検索要求c81を元に、主系分散ワークフローモニタシステム4内の検索機能部36に、検索要求c82を発行する。
【０２０４】
検索機能部36が、検索要求c82を受けると、検索要求c81に含まれている検索条件の一つである指定合成プロセス定義名に所属する関連するワークフロー定義情報を指定し、合成Wf定義34に検証要求c85を実施する。
【０２０５】
その後、図７における合成ワークフロー定義記述表60、ワークフロー・プロセス定義記述表61、サービス呼び出しアクティビティ定義表62が順次検索される。但し、合成Wf定義34での３つの表はレプリカの原本故に、呼び出し元の合成Wf定義35での相応３表とは内容が異なる。
【０２０６】
合成Wf定義34で、特に不整合等が存在しない場合は、その旨を応答とし、またエラー等が存在する場合はエラーの旨を含めて応答とし、その上で検証要求結果c86を検索機能部36に戻す。
【０２０７】
続けて、検索要求c81に含まれている検索条件の一つである指定合成プロセス定義名に所属する関連するワークフロー定義情報、並びに検索要求c81に含まれる実行日時、もしくは処理ID等に相当する「＋発生イベント日時」、もしくは「＋累積プロセスインスタンスID」等を引数として、イベント格納DB42に検索要求c83を実施する。
【０２０８】
イベント格納DB42の内、図７におけるサービスイベント管理表66が検索され、指定合成プロセス定義所属のワークフロー定義情報を持ち、検索要求c83内で特定されている「＋発生イベント日時」、もしくは「＋累積プロセスインスタンスID」等を指定することで、該当するメッセージに関するイベント群、エンジンにおけるメッセージに関するイベント群の一覧を得た上で、それらを検索結果c84とし、検索機能部36に戻す。
【０２０９】
その後、検索機能部36は、エラーの場合も含めて、検索結果c84を応答形式に編集し、検索結果c88として通信基盤部49に送信する。この検索結果c88は、検索要求c80に対する検索結果c89として、検索機能部37に戻される。
【０２１０】
図６に関する手順は、指定合成プロセス定義名に所属するにも関わらず、リモートの主系分散ワークフローモニタシステム4、もしくは他の従系分散ワークフローモニタシステム内で管理されているワークフロー定義情報や、該当するメッセージに関するイベント群、エンジンにおけるメッセージに関するイベント群の一覧を得ようとする度に、検索機能部37が実施する。
【０２１１】
更に、従系分散ワークフローモニタシステム5に限らず、主系分散ワークフローモニタシステム4、もしくは他一切の従系分散ワークフローモニタシステムでも図６に関する手順は、同様に実施される。
【０２１２】
検索機能部37は、全ての検索要求c80に対する検索結果c89を受信すると、検索結果c79と合わせて、表示要求c90を生成し、トラッキング表示作成部45を起動する。表示要求c90を受けると、トラッキング表示作成部45は、合成Wf定義35より、APラベル入力部53を使って入力したアプリケーション上の意味情報、表現情報c91を検索し、検索機能部37とのセッションを持つクライアントサイト6上のGUIに指定されたワークフローの状況把握、検索結果を表示するため、描画要求c92を戻す。
【０２１３】
その結果、クライアントサイト6上のGUIにワークフローの状況把握、検索結果を表示することになる。
【０２１４】
また、検索機能部36、検索機能部37をはじめとする検索機能部は、検索結果を受理すると、検索の効率性の改善のため、前述の検索結果を、検索元の分散ワークフローモニタシステム内のイベント格納DBにキャッシュとして格納することもある。
【０２１５】
具体的には、図６の検索機能部37が検索結果c89を受信すると、イベント格納DB43で管理される図７のプロセス実施インスタンス管理表65、サービスイベント管理表66に検索結果c89相当のレコードを生成、格納する。その際、キャッシュの整合性を取るためにキャッシュ更新回数値を変更する手続きc97を実施する。
【０２１６】
手続きc97を実施の際、キャッシュ更新の整合性を取るため、プロセス実施インスタンス管理表65に対しては、意味上の組合せ主キー項目「＋配置先ワークフローシステム定義ID」「＋累積プロセスインスタンスID」73の他に、新たに「＋配置ドメインのモニタシステム定義ID」「＋キャッシュ更新回数ID」を加えて、組合せ主キー項目73’を構成する。
【０２１７】
また、サービスイベント管理表66に対しては、意味上の組合せ主キー項目「＋配置先ワークフローシステム定義ID」「＋累積イベントインスタンスID」74の他に、新たに「＋配置ドメインのモニタシステム定義ID」「＋キャッシュ更新回数ID」を加えて、組合せ主キー項目74’を構成する。
【０２１８】
更に「＋キャッシュデータ入手日時」「＋キャッシュ有効区分（有効、時間切れ）」に関する項目71’、71”に適切な値をセットする。これらにより、キャッシュ更新の整合性が確保される。
【０２１９】
（第２の実施形態）
本発明の図１は、業務プロセスモニタ・トラッキング装置の機能を中心に記載しており、特に構成要素について言及はしていない。そのため、機能的に図１と同等の要素が適宜出来る場合は、本発明の対象となる。
【０２２０】
他の実施形態については、本発明の業務プロセスモニタ・トラッキング装置等をサービスプロバイダ運営体が保持して、サービスとして定義する場合が想定される。これについては、先行出願等で記された第２の形態と同様と定義する。すなわち、図１の業務アプリケーションシステム7、8、9、10及びクライアントサイト6、54を除いた部分をサービスプロバイダ運営体が保持してサービスとして定義してもよい。
【図面の簡単な説明】
【０２２１】
【図１】本発明である大規模運用向けの分散ワークフロー管理・収集方法に基づく業務プロセスモニタ・トラッキング装置の最適な形態に関する全体構成の概要を記した図である。
【図２】本発明の内、分散配置されたワークフローエンジンからイベント情報を収集する際の手順概要を記した図である。
【図３】本発明の内、分散配置されたワークフローエンジンに独自に保持されているワークフロー定義（以下、Ｗｆ定義）群を収集し、統合・合成されたＷｆ定義を生成する際の手順概要を記した図である。
【図４】本発明の内、統合・合成されたＷｆ定義やメタ情報のレプリカを、分散ワークフローモニタシステム毎に配布する際の手順概要を記した図である。
【図５】本発明の内、統合・合成されたＷｆ定義やメタ情報を配布した後、それらを用いてワークフローの実行状況の更新をする際の手順概要を記した図である。
【図６】本発明の内、統合・合成されたＷｆ定義やメタ情報を配布した後、それらを用いてワークフローの実行状況の状況把握、検索をする際の手順概要を記した図である。
【図７】本発明の内、統合・合成されたＷｆ定義やメタ情報を含んだデータ構成について記す。
【図８】本発明の内、ドメイン、分散ワークフローモニタシステム、ワークフローシステムとの関係、構成について記す。
【図９】従来発明として、先行出願に記載された、分散的な管理概念を持つ分散ワークフロー管理方法に基づく業務プロセストラッキングに関する技術を用いた方式であり、そのシステム構成例を示す図である。
【図１０】従来発明として、特許文献１に記載された、分散的な管理概念を持つ従来業務プロセストラッキングに関する技術を用いた方式であり、そのシステム構成例を示す図である。
【符号の説明】
【０２２２】
1、2、3  ワークフローシステム
4  主系分散ワークフローモニタシステム
5、57、58  従系分散ワークフローモニタシステム
6  Webブラウザによるクライアントサイト、
7、8、9、10  業務アプリケーションシステム
11、12、13、14、15、16、17  データ通信部
15、16、17、18  アダプタ
19  、20、21、22  Msgイベント抽出部
23、26  ワークフローエンジン
24、27  Engイベント抽出部
25、28、56  ワークフロー定義
29、31  イベントデータ保持部
30、32、33  共通データ送信部
34、35  合成Wf定義
36、37  検索機能部
38、39  イベントデータ受信部
40、41  イベントデータ関係付け部
42、43  イベント格納DB
44、45  トラッキング表示作成部
46、47  バッチ処理部
48、49  通信基盤部
50  Wf合成部
51  Wf定義・サービス定義取得部
52  リポジトリ
53  APラベル入力部
5、54  Webブラウザによるクライアントサイト
80、81、82、83  ドメイン定義表
84  ドメイン名の定義
85  親となるドメインの定義
86  配下のドメインの定義に関するリスト
87  ドメインに所属するワークフローシステム群の定義に関するリスト
c1、c2、c5、c6、c21  処理要求メッセージ
c3、c4、c7、c8、c22  処理応答メッセージ
c9、c10、c11、c12、c23、c24  エンジンにおけるメッセージに関するイベント
c13、c14、c15、c16、c17、c18、c19、c20  メッセージに関するイベント
c25、c26  イベントデータ転送メッセージ
c50、c51、c52  定義転送メッセージ
c53  問い合わせ
c54  ワークフロー定義情報
c55  イベントに関する全てのデータ
c56  統合・合成されたワークフロー定義合成結果
c57  サービス定義・プロセス定義情報
c58  操作要求
c59  メッセージインスタンスのレコード
c61、c91  意味情報、表現情報
c62  メッセージインスタンスのレコード群
c63  結果値
c65  元情報
c66、c70  トランザクション要求
c67  更新処理手続き
c68  トランザクション要求結果
c69  アラーム
c71  Wf定義検索要求メッセージ
c72  検索問い合わせ
c73、c74、79、c84、c88、c89  検索結果
c75  指定Ｗｆ定義トラッキング表示要求メッセージ
c76、c78、81、82、c85、c90  検索要求
c77  ワークフロー定義情報についての一覧
c86  検証要求結果
c92  描画要求
c93  レプリカ要求
c94  レプリカ生成トランザクション要求
c95  生成処理手続き
c96  レプリカ生成トランザクション要求結果
c97  キャッシュ更新回数値を変更する手続き
c100、c101、c102、c103、c104、c105、c106  通信上の関係
c107、c108、c109  特定関係
c111、c112、c113、c114  関係
60  合成ワークフロー定義記述表
61  ワークフロー・プロセス定義記述表
62  サービス呼び出しアクティビティ定義表
63  サービス定義表
64  合成プロセス実施インスタンス管理表
65  プロセス実施インスタンス管理表
66  サービスイベント管理表
67  統計データ管理表
68  ＋APラベル説明記述、＋表示ラベル記述に関する項目
68’  ＋APラベル説明記述、＋表示ラベル記述に関する項目
68”  ＋APラベル説明記述、＋表示ラベル記述に関する項目
69  ＋配置ドメイン区分(自ドメイン、別ドメイン)に関する項目
69’  ＋配置ドメイン区分(自ドメイン、別ドメイン)に関する項目
70  ＋レプリカ区分(マスタ、レプリカ) に関する項目
71  ＋キャッシュデータ入手日時、＋キャッシュ有効区分（有効、時間切れ）に関する項目
71’  ＋キャッシュデータ入手日時、＋キャッシュ有効区分（有効、時間切れ）に関する項目
71”  ＋キャッシュデータ入手日時、＋キャッシュ有効区分（有効、時間切れ）に関する項目
72  合成プロセス実施インスタンス管理表意味上の組合せ主キー項目
72’  合成プロセス実施インスタンス管理表の組合せ主キー項目
73  プロセス実施インスタンス管理表意味上の組合せ主キー項目
73’  プロセス実施インスタンス管理表の組合せ主キー項目
74  サービスイベント管理表の意味上の組合せ主キー項目
74’  サービスイベント管理表の組合せ主キー項目
75  合成Wf定義相当部分
76  イベント格納DB相当部分
101、102  分散ワークフロー管理方式に基づくワークフローシステム
103  独自実装・既存ワークフローシステム
104  Proxyシステム
105  分散ワークフローモニタシステム
106、160  Webブラウザによるクライアントサイト
107、108，109、110、111、112  業務アプリケーションシステム
113、114、115、116、、117、118  データ通信部
119、120、121、122、123、124  アダプタ
125、126、127、128  Msgイベント抽出部
129、132、137  ワークフローエンジン
130、133、138  Engイベント抽出部
131、132、139  ワークフロー定義
135  プロキシ部
136  Prxイベント抽出部
140、142、145  イベントデータ保持部
141、143、144、147  共通データ送信部
146  共通データ受信部
148  ワークフロー合成部
149  イベントデータ受信部
150  合成Wf定義
151  イベントデータ関係付け部
152  イベント格納DB
153  検索機能部
154  トラッキング表示作成部
155  Wf定義・サービス定義取得部
156  リポジトリ
157  他のワークフロー定義
158  APラベル入力部
159  バッチ処理部
201、202  組織
203、204  ワークフロー管理システム
205、206  ワークフロー管理システム・サーバ
207、208  既存インタフェース
209  プロセス・インスタンス
211、213  プロセス・テンプレート
215、216  状態シャドウイング・エンジン
217、218  ワークフロー管理システム・クライアント
227、228、229、230  利用者
【図１】
2008117291.tif 000003
【図２】
2008117291.tif 000004
【図３】
2008117291.tif 000005
【図４】
2008117291.tif 000006
【図５】
2008117291.tif 000007
【図６】
2008117291.tif 000008
【図７】
2008117291.tif 000009
【図８】
2008117291.tif 000010
【図９】
2008117291.tif 000011
【図１０】
2008117291.tif 000012