(57)【要約】　　　（修正有）【課題】分散ワークフローのそれぞれのワークフロー部分を管理するワークフロー管理システムによりワークフローを管理する方法を提供する。【解決手段】ワークフロー管理システムにより使用される分散ワークフローの共通仕様を定義する。この共通ワークフロー仕様により、任意のワークフロー部分をいずれのワークフロー管理システムが担当するかを指定する。さらに、各ワークフロー管理システム内で分散ワークフローのそれぞれのイメージを生成する。共通ワークフロー仕様に基づいて、１つの実体のワークフロー管理システムに、他の組織のワークフロー管理システムによって管理されているワークフロー部分の進捗状況を通知する。通知されたワークフロー管理システムでは、分散ワークフロー・イメージ上の進捗状況の表示が、他の実体のワークフロー管理システムによって管理されているワークフロー部分の進捗状況と合わせて更新される。【選択図】　図１
2004005550.tif 000002
【特許請求の範囲】
【請求項１】
各ワークフロー管理システムが分散ワークフローのそれぞれのワークフロー部分を管理する、各エンティティにおけるそれぞれのコンピュータ・ベースのワークフロー管理システムによって少なくとも２つの別個の関与エンティティに分散されたワークフローを管理する方法であって、
任意のワークフロー部分の管理をいずれのワークフロー管理システムが担当するかを指定する、前記ワークフロー管理システムによって参照として使用される前記分散ワークフローの共通仕様を定義するステップと、
各ワークフロー管理システムにおいて前記分散ワークフローのイメージを生成するステップと、
前記共通ワークフロー仕様に基づいて、１つのエンティティの前記ワークフロー管理システムに、他のエンティティの前記ワークフロー管理システムによって管理されているワークフロー部分の進捗状況を通知するステップと、
通知された前記ワークフロー管理システムにおいて、前記他のエンティティの前記ワークフロー管理システムによって管理されているワークフロー部分の進捗状況に合わせて、前記分散ワークフロー・イメージ上の進捗状況の表示を更新するステップと
を含む方法。
【請求項２】
共通ワークフロー仕様を定義する前記ステップが、各ワークフロー管理システムにおいて前記共通ワークフロー仕様を構成するアクティビティのテーブルを生成するステップをさらに含み、前記テーブルが、各アクティビティについて当該アクティビティを、前記ワークフロー管理システムによってローカルで管理されるローカル・アクティビティとしてまたは他のワークフロー管理システムによってリモートで管理されるリモート・アクティビティとして分類するアクティビティ分類子を含む、請求項１に記載の方法。
【請求項３】
ワークフロー管理システムにおいて生成される前記テーブルが、前記ワークフロー管理システムによってローカルで管理されるローカル・アクティビティについては、前記ローカル・アクティビティの実行に関する情報の通知先の他の前記ワークフロー管理システムのアドレスを含み、他の前記ワークフロー管理システムによってリモートで管理されるリモート・アクティビティについては、前記リモート・アクティビティの実行の管理を担当する前記ワークフロー管理システムのアドレスを含む、請求項２に記載の方法。
【請求項４】
各ワークフロー管理システムにおいて、当該ワークフロー管理システムにとってローカルで発行されるアクティビティ管理コマンドを扱うそれぞれのテーブルを参照するステップと、
前記アクティビティがローカル・アクティビティとして分類されている場合には、当該ワークフロー管理システムにとってローカルな前記アクティビティ管理コマンドの実行を管理することができるようにするステップと、
前記アクティビティがリモート・アクティビティとして分類されている場合には、前記アクティビティ管理コマンドを前記テーブルで指定されているアドレスに従って前記アクティビティの実行の管理を担当する前記ワークフロー管理システムに転送するステップとをさらに含む、請求項３に記載の方法。
【請求項５】
ワークフロー管理システムが他のワークフロー管理システムによるアクティビティ管理コマンドを受け取ったとき、当該コマンドがそれぞれのワークフロー部分の実行の現在の状態と矛盾しない場合、受け取った前記アクティビティ管理コマンドの実行を管理し、矛盾する場合には受け取った前記アクティビティ管理コマンドを無視するステップをさらに含む、請求項４に記載の方法。
【請求項６】
分散ワークフロー・イメージを生成する前記ステップが、各ワークフロー管理システムにおいて、前記共通ワークフロー仕様の内部ワークフロー表現を生成し、前記共通ワークフロー仕様を前記内部ワークフロー表現にマップするステップを含む、請求項１ないし５のいずれか一項に記載の方法。
【請求項７】
少なくとも第１と第２の関与エンティティとの間で分散されたワークフローを管理するコンピュータ・ベースのシステムであって、
前記分散ワークフローの第１のワークフロー部分を管理する前記第１のエンティティにおける第１のワークフロー管理システムと、
前記分散ワークフローの第２のワークフロー部分を管理する前記第２のエンティティにおける第２のワークフロー管理システムとを含み、
前記第１と第２のワークフロー管理システムが通信関係にあり、
前記第１および第２のワークフロー管理システムの各ワークフロー管理システムが、
任意のワークフロー部分の管理を前記第１および第２のワークフロー管理システムのうちのいずれのワークフロー管理システムが担当するかを指定する、前記分散ワークフローの共通仕様を定義する手段と、
前記分散ワークフローのイメージを生成する手段と、
前記ワークフロー管理システム間で情報を交換し、１つのエンティティのワークフロー管理システムに、それぞれの前記分散ワークフロー・イメージ上で、交換された前記情報に従って他方の前記エンティティの前記ワークフロー管理システムによって管理されている前記ワークフロー部分の進捗状況を更新させる手段とを含む、コンピュータ・ベースのシステム。
【請求項８】
各ワークフロー管理システムにおいて、前記共通仕様が前記共通ワークフロー仕様を構成するアクティビティのテーブルを含み、各アクティビティについて、アクティビティ分類子が、当該アクティビティを前記ワークフロー管理システムによってローカルで管理すべきローカル・アクティビティとしてまたは他のワークフロー管理システムによってリモートで管理すべきリモート・アクティビティとして分類する、請求項７に記載のシステム。
【請求項９】
前記テーブルが、それぞれの前記ワークフロー管理システムによってローカルで管理すべきローカル・アクティビティについて、当該ローカル・アクティビティの実行に関する情報の伝達先の他のワークフロー管理システムのアドレスと、他の前記ワークフロー管理システムによってリモートで管理されるべきリモート・アクティビティについて、当該リモート・アクティビティの実行の管理を担当する前記ワークフロー管理システムのアドレスとを含む、請求項８に記載のシステム。
【請求項１０】
各ワークフロー管理システムが、
ワークフロー・サーバと、
少なくとも１つのワークフロー・クライアントとを含み、
情報を交換し、前記ワークフロー管理システムに更新させる前記手段が、ワークフロー・クライアントとして前記ワークフロー・サーバと対話する、請求項９に記載のシステム。
【請求項１１】
前記アクティビティ分類子に従って前記ワークフロー・クライアントから発行されたアクティビティ管理コマンドを経路指定する監視手段をさらに含み、
前記アクティビティがローカル・アクティビティとして分類されている場合には、前記監視手段が前記アクティビティ管理コマンドを前記ワークフロー・サーバに経路指定し、それによって前記アクティビティ管理コマンドの実行が前記ワークフロー管理システムにとってローカルで管理されるようにし、
前記アクティビティがリモート・アクティビティとして分類されている場合には、前記監視手段が前記アクティビティ管理コマンドを前記テーブルで指定されているアドレスに従って前記アクティビティの実行の管理を担当する前記ワークフロー管理システムに転送する、請求項１０に記載のシステム。
【請求項１２】
前記ワークフロー管理システムのうちの少なくとも１つのワークフロー管理システムが、前記共通ワークフロー仕様を前記分散ワークフローのそれぞれの前記分散ワークフロー・イメージにマップするマッピング手段をさらに含む、請求項７ないし１１のいずれか一項に記載のシステム。
【請求項１３】
少なくとも２つの前記関与エンティティが同じ組織または異なる組織に属する、請求項７ないし１２のいずれか一項に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にはデータ処理システムに関し、より詳細には、データ処理システム上で稼働するワークフロー管理システムに関する。
【０００２】
【従来の技術】
新製品の開発製造や、既存の製品の変更または改造のプロセスは、プロダクト・マネージャやエンジニアが製品を低コストで期限内に、しかも製品の質を維持し、あるいは向上させて市場に出すのに、多くの難問を投げかける。多くの企業では、従来の製品設計プロセスではこれらの必要を十分に満たすことができないと認識している。したがって、このような企業では、製造エンジニアリング、コスト・エンジニアリング、ロジスティック計画、調達、製造、サービスおよびサポートを、設計作業の初期段階で行う必要がある場合がある。さらに、設計、発売、および製造を通じて一貫して製品データの立案と管理を行う場合がある。
【０００３】
開発プロセスや製造プロセスなど、企業内での業務プロセスの正確で効率的な実行は、企業にとってきわめて重要であり、市場における企業の成功全体に多大な影響を及ぼす可能性がある。したがって、業務プロセスは、技術プロセスと同様に重視され、テスト、最適化、および監視の対象となっている。
【０００４】
したがって、業務プロセスのモデリングと実行を支援する、コンピュータ・ベースのワークフロー管理システム（ＷｆＭＳ）が開発されている。
【０００５】
【発明が解決しようとする課題】
しかし、現在のワークフロー管理システムには、以下のようないくつかの限界がある。
【０００６】
業務プロセスの全部または一部が複数の関与組織（ｐａｒｔｉｃｉｐａｔｉｎｇ　ｏｒｇａｎｉｓａｔｉｏｎ）にわたって行われることがある。これは、たとえば、業務プロセスの実行の全体または一部が、１つの組織（顧客組織（ｃｕｓｔｏｍｅｒ　ｏｒｇａｎｉｓａｔｉｏｎ））から供給業者組織（ｐｒｏｖｉｄｅｒ　ｏｒｇａｎｉｓａｔｉｏｎ）に委託される場合などである。
【０００７】
現在のワークフロー管理システムでは、異なる関係組織がプロセスを全体として、すなわち、局所的に行われるプロセスの各部分だけでなく他の組織で行われるプロセスの各部分にも及ぶ進捗状況を追跡することができない。たとえば、現在のワークフロー管理システムでは、供給業者組織で委託されているプロセスの進捗状況を顧客組織が追跡することはできない。
【０００８】
【課題を解決するための手段】
上記のような現況技術に鑑みて、本発明の目的は、現在のワークフロー管理システムの限界を克服することである。
【０００９】
具体的には、本発明の目的は共通の分散されたワークフローに関与する異なるエンティティ（ｅｎｔｉｔｉｙ）の連携を向上させることである。
【００１０】
本発明によると、上記および他の目的は、請求項１に記載の方法であって、それぞれのワークフロー管理システムが分散ワークフローの各ワークフロー部分を管理する、少なくとも２つの別個の関与エンティティに分散されたワークフローを各エンティティにおけるそれぞれのコンピュータ・ベースのワークフロー管理システムによって管理する方法によって達成された。
【００１１】
ワークフロー管理システムによって参照として使用される分散ワークフローの共通仕様を定義する。この共通ワークフロー仕様では、いずれのワークフロー管理システムがいずれのワークフロー部分の管理を担当するかを規定する。
【００１２】
さらに、各ワークフロー管理システム内で分散ワークフローのそれぞれのイメージを作成する。
【００１３】
共通ワークフロー仕様に基づいて、一方のエンティティのワークフロー管理システムに、他方のエンティティのワークフロー管理システムによって管理されているワークフロー部分の進捗状況が通知される。
【００１４】
通知されたワークフロー管理システムでは、分散ワークフロー・イメージ上の進捗状況の表示が、他方のエンティティのワークフロー管理システムによって管理されているワークフロー部分の進捗状況に従って更新される。
【００１５】
本発明の特徴および利点は、本発明の実施形態の詳細な説明を読めば明らかになろう。この実施形態は、非限定的な例として示すものであり、添付図面を参照しながら説明する。
【００１６】
【発明の実施の形態】
図面を参照すると、図１には共通業務プロセスの実行に関与する２つの組織ＯＲＧ１、ＯＲＧ２の超高水準図が示されている。たとえば、この２つの組織は同じ企業または会社の対等組織であり、各組織は共通業務プロセスのそれぞれの部分の実行を担当している。あるいは、一方の組織、たとえば組織ＯＲＧ１が顧客組織であり、業務プロセスの全部または一部の実行を供給業者組織である組織ＯＲＧ２に委託している。説明を簡単にするためにこの例では２つの組織のみについて検討するが、本発明は共通業務プロセスの実行に関与する組織が３つ以上である場合にも容易に適用される。
【００１７】
この業務プロセスの実行に関与する各組織ＯＲＧ１、ＯＲＧ２（以下、単に関与組織と呼ぶ）は、業務プロセスのそれぞれの部分の管理のためにそれぞれのワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２を有する。具体的には、各関与組織ＯＲＧ１、ＯＲＧ２におけるそれぞれのワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２はその組織のそれぞれのデータ処理システム上で稼働するコンピュータ・ベースの管理システムである。各組織ＯＲＧ１、ＯＲＧ２のデータ処理システムは、１台、またはより一般的には数台のパーソナル・コンピュータまたはワークステーションを含み、数台の場合にはローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）などのデータ通信ネットワークを介して相互接続されており、組織が地理的に異なる場所に分散している場合にはインターネットを介して相互接続されている。
【００１８】
各関与組織ＯＲＧ１、ＯＲＧ２のワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２は、従来、ワークフロー管理システム・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓを含み、これらを以下では単にワークフロー・サーバと呼ぶ。ワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓは、ワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２のサーバとして動作するデータ処理システムの専用または汎用のパーソナル・コンピュータまたはワークステーション上で稼働するサーバ・コンピュータ・アプリケーションである。ワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓは、業務プロセスのそれぞれの部分の実行の状態に関する情報を更新し、永続的に維持する。状態変更はワークフローにおける操作によって決まる。
【００１９】
ワークフロー管理システムにより、業務プロセスを、データ処理システムによって直接サポートされるように、統語構造単位（ｓｙｎｔａｃｔｉｃａｌ　ｕｎｉｔ）としてモデリングすることができる。業務プロセスのモデルが作成された後は、企業内または会社内で行われる同様のプロセスのクラスのテンプレートを構成することになる。このプロセス・テンプレートは、データ処理システムによってインスタンス化し、解釈することができ、業務プロセスを行うのに必要な作業ステップの個々のシーケンスを判断することができる。作業ステップのシーケンスは、プロセス・テンプレートのインスタンス化のコンテキストに依存することになる。プロセス・テンプレートのインスタンスとその解釈が、個々のプロセスを表す。プロセス・テンプレートの基本要素をアクティビティと呼ぶ。アクティビティは、意味論的（ｓｅｍａｎｔｉｃａｌ）エンティティとみなすことができる業務アクションを表す。プロセス・テンプレートは、ワークフロー・アクティビティと、その実行順序と割り当てられる資源とを記述する。図１に略図で示すように、ワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓは、（たとえば、ワークフロー管理システムのサーバとして機能するパーソナル・コンピュータまたはワークステーションのハード・ディスクに）複数のプロセス・テンプレートＰＴ１、ＰＴ２、．．を記憶する。プロセス・テンプレートＰＴ１のプロセス・インスタンスＰＩ１（ＰＴ１）が、ワークフロー・サーバＷｆＭＳ１＿Ｓ上で稼働している様子も略図で示されており、同じプロセス・テンプレートＰＴ１の対応するプロセス・インスタンスＰＩ１’（ＰＴ１）がワークフロー・サーバＷｆＭＳ２＿Ｓ上で稼働している。
【００２０】
各関与組織ＯＲＧ１、ＯＲＧ２では、ワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓが、それぞれのデータ処理システム、たとえばワークフロー・サーバが稼働しているのと同じサーバ・コンピュータまたはワークステーション上で稼働しているそれぞれの状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２と対話する。
【００２１】
また、各関与組織ＯＲＧ１、ＯＲＧ２では、複数のワークフロー管理システム・クライアントＷｆＭＳ１＿Ｃ、ＷｆＭＳ２＿Ｃ（以下、単にワークフロー・クライアントと呼ぶ）が、それぞれの状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２が備えるインタフェースを介して、ワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓと対話している。ワークフロー・クライアントＷｆＭＳ１＿Ｃ、ＷｆＭＳ２＿Ｃは、データ処理システムのパーソナル・コンピュータまたはワークステーションで稼働するクライアント・コンピュータ・アプリケーションである。組織ＯＲＧ１、ＯＲＧ２内のワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２のユーザＵａ、Ｕｂ、Ｕｃ、Ｕｄは、ワークフロー・クライアントＷｆＭＳ１＿Ｃ、ＷｆＭＳ２＿Ｃを使用して、所属する組織のワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２と対話することができる。
【００２２】
ワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓは、インタフェースＷｆＭＳ１＿ＳＴ、ＷｆＭＳ２＿ＳＴを備え、それによって組織ＯＲＧ１、ＯＲＧ２内のユーザＵａ、Ｕｂ、Ｕｃ、Ｕｄがワークフロー・クライアントＷｆＭＳ１＿Ｃ、ＷｆＭＳ２＿Ｃを介して操作して、それぞれのワークフロー・サーバにロンオンし、その組織で実行されているアクティビティの状態（たとえばＳＴＡＲＴ、ＴＥＲＭＩＮＡＴＥ、ＣＯＭＰＬＥＴＥ）を読み取り、場合によってはそれに変更を加えることができる。異なるユーザがそれぞれのユーザ識別子ＵＩＤａ、ＵＩＤｂ、ＵＩＤｃ、ＵＩＤｄを持ち、それによってワークフロー・クライアントＷｆＭＳ１＿Ｃ、ＷｆＭＳ２＿Ｃがワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓと対話してワークフロー管理システムの状態の読取りと変更を行うことができる。これらの異なるユーザ識別子には異なる特権レベルを割り当てることができ、それによって異なるユーザが異なる特権レベルでワークフロー管理システムと対話することができる。たとえば、ユーザ識別子ＵＩＤａを持つユーザＵａには、ワークフロー管理システムＷｆＭＳ１の状態の読取りと変更を行う特権を割り当てることができ、識別子ＵＩＤｂを持つユーザＵｂには、より低い特権が割り当てられ、ワークフロー管理システムＷｆＭＳ１の状態の読取りのみを行うことができる。
【００２３】
２つの組織ＯＲＧ１、ＯＲＧ２の状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２は互いに対話する。この対話は、ＬＡＮ、ＷＡＮ、インターネットなど、２つの組織ＯＲＧ１、ＯＲＧ２のデータ処理システムに任意の好適なデータ通信インフラストラクチャＤＣＩを接続することによって可能になる。
【００２４】
各状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２は、状態シャドウイング機構を実現し、それによって共通業務プロセスの実行に関与する組織のうちの１つの組織のユーザが他の関与組織内のワークフローの進展を追跡することができる。たとえば、状態シャドウイング機構によって、組織ＯＲＧ１内のワークフロー管理システムＷｆＭＳ１のユーザＵａ、Ｕｂは、組織ＯＲＧ２内のワークフローの進展を追跡することができ、また、その逆も可能である。
【００２５】
具体的には、状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２によって実現された状態シャドウイング機構によって、各関与組織ＯＲＧ１、ＯＲＧ２のワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２内に、共通業務プロセスのうちの他の組織によって実行されている部分の内部複製、すなわちシャドウを作成することができる。
【００２６】
共通業務プロセスのそれぞれの部分の実行中に、関与組織の１つ、たとえば組織ＯＲＧ２によってアクションが行われると、ローカルのワークフロー管理システムが状態を変更し、それぞれの状態シャドウイング・エンジンを介して、他の関与組織、たとえば組織ＯＲＧ１のワークフロー管理システムに、その状態変更を通知するメッセージを送る。この、他の関与組織の状態シャドウイング・エンジンはメッセージを受け取り、メッセージは、対応する状態変更を生じさせるのに適した形態に変換され、それによってローカル・ワークフロー管理システムは組織ＯＲＧ２のワークフロー管理システムの状態を複製することができる。
【００２７】
本発明の一実施形態では、状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２は、付随するワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓの既存のインタフェースＷｆＭＳ１＿ＳＩ、ＷｆＭＳ２＿ＳＩを便宜上利用してそれらのサーバと対話する。このために、状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２には、適切な高レベルの特権を持つそれぞれのユーザ識別子ＵＩＤｘ、ＵＩＤｙが割り当てられる。状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２は、それぞれのワークフロー・サーバＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓにログオンするのにこのユーザ識別子ＵＩＤｘ、ＵＩＤｙを使用する。したがって、状態シャドウイング・エンジンは、それぞれのワークフロー・サーバから見ればワークフロー・クライアントと見なされる。
【００２８】
図２に、本発明の実施形態による、状態シャドウイング・エンジンの主構成要素の機能ブロック図を概略的に示す。
【００２９】
総称的にＳＳＥで示すワークフロー管理システムＷｆＭＳの一部である状態シャドウイング・エンジンは、状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧと、ワークフロー管理システム・インタフェース・シミュレーション部ＷｆＭＳ＿ＩＳＣと、ワークフロー管理システム・インタフェース適応部ＷｆＭＳ＿ＩＡＣ、シャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴと、管理インタフェース部ＭＧ＿ＩＮＴと、通信部ＳＥ＿ＳＥ＿ＣＯＭとを備える。
【００３０】
ワークフロー管理システム・インタフェース・シミュレーション部ＷｆＭＳ＿ＩＳＣによって、状態シャドウイング・エンジンＳＳＥは、ワークフロー・クライアントの下で稼働する１つまたは複数のワークフロー・アプリケーションＷｆ＿ＡＰＰとインタフェースすることができる。インタフェース・シミュレーション部ＷｆＭＳ＿ＩＳＣは、図１のＷｆＭＳ１＿ＳＩ、ＷｆＭＳ２＿ＳＩなどの標準ワークフロー・サーバ・インタフェースを実現し、シミュレートする。このインタフェースにより、ワークフロー・アプリケーションＷｆ＿ＡＰＰはワークフロー・サーバＷｆＭＳ＿Ｓと、従来のようにしてインタフェースすることができる。具体的には、インタフェース・シミュレーション部ＷｆＭＳ＿ＩＳＣは、従来のワークフロー・サーバ・インタフェースと同じ標準機能を、同じ形態でサポートする。この機能セットには、たとえば、ＭＱＷＦ、ＦｉｌｅＮｅｔ、Ｓｔａｆｆｗａｒｅなどの従来のワークフロー管理システムのＷＦＭＣ　ＩＦ２やＯＭＧ　Ｗｏｒｋｆｌｏｗ　Ｆａｃｉｌｉｔｙ、機能インタフェースなどの、標準機能セットが含まれる。
【００３１】
ワークフロー管理システム・インタフェース適応部ＷｆＭＳ＿ＩＡＣは、状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧが使用するプロセス管理関数を、ワークフロー・サーバＷｆＭＳ＿Ｓがサポートする関数にマップする。具体的には、マップされた関数は、特定のワークフロー管理システムのものであるか、標準関数セットに属するものであるかのいずれかであることができる。
【００３２】
状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、状態シャドウイング・エンジンの中核である。状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、シャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴにアクセスする。この記憶部にはシャドウ・テーブルが永続的に記憶され、このテーブルに基づいて状態シャドウイング・エンジンが動作する。シャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴは、たとえば、ワークフロー管理システムのサーバとして機能するパーソナル・コンピュータまたはワークステーションのハード・ディスクである。
【００３３】
管理インタフェース部ＭＧ＿ＩＮＴは、状態シャドウイング・エンジンＳＳＥの外部にある１つまたは複数の管理アプリケーション部ＭＧ＿ＡＰＰが、シャドウ・テーブルの読取りや書込みのためにシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴにアクセスすることができるようにする。管理アプリケーション部ＭＧ＿ＡＰＰは、たとえば、ワークフロー管理システムのサーバとして機能するパーソナル・コンピュータまたはワークステーションと同一または別個のパーソナル・コンピュータまたはワークステーション上で稼働するコンピュータ・アプリケーションであり、許可されたユーザがシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴにアクセスすることができるようにする。
【００３４】
通信部ＳＥ＿ＳＥ＿ＣＯＭは、状態シャドウイング・エンジンＳＳＥが、他の関与組織のワークフロー管理システム内の他の状態シャドウイング・エンジンと、データ通信基盤ＤＣＩを介して対話することができるようにする。
【００３５】
図３に、本発明の一実施形態によるシャドウ・テーブルの略図を示す。シャドウ・テーブルは、ワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２内の所与のプロセス・タイプをモデリングするプロセス・テンプレートＰＴ１、ＰＴ２がインスタンス化されるたびに、関与組織ＯＲＧ１、ＯＲＧ２のうちの１つの組織の状態シャドウイング・エンジンＳＳＥ１、ＳＳＥ２の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧによって生成される。生成された後は、シャドウ・テーブルはそれぞれのシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴに記憶される。
【００３６】
本発明の一実施形態では、各プロセス・テンプレートごとにシャドウ・テーブル・テンプレートが生成される。シャドウ・テーブル・テンプレートは、管理アプリケーション部ＭＧ＿ＡＰＰを使用して生成され、管理インタフェース部ＭＧ＿ＩＮＴを介してワークフロー管理システムＷｆＭＳにロードされてシャドウ・テーブル記憶部部ＳＨ＿ＴＡＢ＿ＳＴに記憶される。シャドウ・テーブル・テンプレートには、所与のプロセス・テンプレートがインスタンス化されたことを検出したときに、状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧによってシャドウ・テーブル・テンプレートのインスタンス、すなわちシャドウ・テーブルがどのように生成されるかを表す記述が含まれる。
【００３７】
具体的には、図３にＳＨ＿ＴＡＢ１（ＰＴ１）で総称的に示されているシャドウ・テーブルは、ワークフロー管理システムＷｆＭＳ１においてプロセス・テンプレートＰＴ１がインスタンス化されると、状態シャドウイング・エンジンＳＳＥ１によって作成され、ぞれぞれのシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴに記憶される。プロセス・テンプレートＰＴ１のインスタンス化によって、プロセス・インスタンスＰＩ１（ＰＴ１）が作成される。一例に過ぎないが、プロセス・インスタンスＰＩ１（ＰＴ１）に対応する個別のプロセスが、Ａ１、Ａ２、Ａ３、Ａ４１、Ａ４２、Ａ５、Ａ６、Ａ７という名称の８個のアクティビティを含むものとする。Ａ１、Ａ２、Ａ５、およびＡ７という名称のアクティビティは、組織ＯＲＧ１内で行われ、Ａ３、Ａ４１、Ａ４２、およびＡ６という名称のアクティビティは組織ＯＲＧ２内で行われるものとする。アクティビティＡ４１およびＡ４２は、いずれかが選択されるものとする。また、プロセス・テンプレートＰＴ１で指定されているアクティビティの実行順序は、Ａ１−＞Ａ２−＞Ａ３−＞Ａ４１またはＡ４２−＞Ａ５−＞Ａ６−＞Ａ７であるものとする。プロセス・インスタンスＰＩ１（ＰＴ１）を構成するアクティビティの数、タイプ、および実行順序は、通常はコンテキストに依存する。すなわち、プロセス・テンプレートＰＴ１のインスタンス化のコンテキストに依存することに注目されたい。
【００３８】
シャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）には、プロセス・インスタンスＰＩ１（ＰＴ１）のアクティビティと同数の項目ＥＮＴＲＹ１〜ＥＮＴＲＹ８がある。シャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）のいずれの項目ＥＮＴＲＹ１〜ＥＮＴＲＹ８にも３つのフィールドＡＣＴ＿ＮＡ、ＳＨ＿ＴＹＰ、ＮＯＴ＿ＳＥがある。第１のフィールドＡＣＴ＿ＮＡには、、アクティビティのうちのそれぞれ１つのアクティビティの名称Ａ１〜Ａ８または一般にアクティビティ識別子が入れられる。第２のフィールドＳＨ＿ＴＹＰには、アクティビティ分類子ＮＵＬ、ＬＯＣ、ＲＥＭ、ＯＵＴが入れられ、それによって、アクティビティが属するクラスを状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧが識別することができる。第３のフィールドＮＯＴ＿ＳＥには、アクティビティが属するクラスに応じて、アクティビティ実行要求または通知を受け渡しする状態シャドウイング・エンジンまたは他の関与組織のいずれかのリストが入れられる。
【００３９】
アクティビティの４つのクラスを示す。
この例のアクティビティＡ３、Ａ４１、Ａ４２、Ａ６など、アクティビティ分類子ＲＥＭ（「リモート・シャドウ」）で識別されるアクティビティの第１のクラスには、リモートで実行される（以下、単にリモートと言う）アクティビティ、すなわち、他の関与組織ＯＲＧ２内でそれぞれのワークフロー管理システムＷｆＭＳ２の制御下で行われるアクティビティが含まれ、その実行の状態は、組織ＯＲＧ１のワークフロー管理システムＷｆＭＳ１でローカルにシャドウイングされる。アクティビティがリモートに分類される場合、第３のフィールドＮＯＴ＿ＳＥには、そのアクティビティの実行を管理するワークフロー管理システムＷｆＭＳ２に関連づけられた状態シャドウイング・エンジンＳＳＥ２のアドレスＡＤＤ（ＳＳＥ２）を表す情報が入れられる。
【００４０】
この例のアクティビティＡ５など、アクティビティ分類子ＬＯＣ（「ローカル・シャドウ」）で識別されるアクティビティの第２のクラスには、ローカルで実行される（以下、単にローカルと言う）アクティビティ、すなわち、組織ＯＲＧ１内でワークフロー管理システムＷｆＭＳ１の制御下でローカルで行われるアクティビティが含まれる。このようなローカル・アクティビティの実行は、他方の関与組織ＯＲＧ２内のワークフロー管理システムによってシャドウイングされる。アクティビティがローカルとして分類される場合、シャドウ・テーブルの対応する項目のフィールドＮＯＴ＿ＳＥには、状態シャドウイング・エンジンＳＳＥ１によって送信されるローカル・アクティビティの実行の結果による状態変更を通知するワークフロー管理システムＷｆＭＳ２の状態シャドウイング・エンジンＳＳＥ２のアドレスＡＤＤ（ＳＳＥ２）を表す情報が入れられる。より一般的には、複数の関与組織がある場合、フィールドＮＯＴ＿ＳＥには、他のすべての関与組織の状態シャドウイング・エンジンのアドレスが入れられる。
【００４１】
この例のアクティビティＡ１やＡ７など、アクティビティ分類子ＮＵＬ（「ヌル・シャドウ」）で識別される第３のアクティビティ・クラスには、組織ＯＲＧ１内でワークフロー管理システムＷｆＭＳ１の制御下でローカルに実行され、他の関与組織ＯＲＧ２のワークフロー管理システムＷｆＭＳ２内ではシャドウイングされないアクティビティが含まれる。この場合、状態シャドウイング・エンジンＳＳＥ２（より一般的には、他のすべての関与組織の状態シャドウイング・エンジン）にはこれらのアクティビティの実行によって生じる状態変更を通知する必要がないため、フィールドＮＯＴ＿ＳＥは空（ＶＯＩＤ）である。
【００４２】
この例のアクティビティＡ２など、アクティビティ分類子ＯＵＴ（「委託シャドウ」）によって識別される第４のアクティビティ・クラスには、シャドウイングされるプロセス部分の始めを決定するアクティビティが含まれる。対応するシャドウ・テーブル項目のフィールドＮＯＴ＿ＳＥには、共通業務プロセスの実行に関与する他の組織ＯＲＧ２の状態シャドウイング・エンジンＳＳＥ２のアドレスＡＤＤ（ＳＳＥ２）が入れられる。このアドレスは、他の関与組織ＯＲＧ２のワークフロー管理システムＷｆＭＳ２に、プロセス・テンプレートＰＴ１の新しいシャドウ・プロセス・インスタンスＰＩ１（ＰＴ１）が生成されたことを通知するために使用される。
【００４３】
図４に、シャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）を示す。このテーブルは、状態シャドウイング・エンジンＳＳＥ１から上記の通知を受け取ったときにワークフロー管理システムＷｆＭＳ２がプロセス・テンプレートＰＴ１をインスタンス化すると、状態シャドウイング・エンジンＳＳＥ２によって作成され、それぞれのシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴに記憶される。シャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）には、組織ＯＲＧ１で行われて組織ＯＲＧ２でシャドウイングされるか、または組織ＯＲＧ２で行われて組織ＯＲＧ１でシャドウイングされるアクティビティ、すなわちこの例のＡ３、Ａ４１、Ａ４２、Ａ５、およびＡ６のみが含まれている。Ａ１やＡ７など、組織ＯＲＧ１で行われ、組織ＯＲＧ２のワークフロー管理システムＷｆＭＳ２ではシャドウイングされないＮＵＬとして分類されるアクティビティは、シャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）には含まれない。プロセス・テンプレートＰＴ１には、組織ＯＲＧ２内で実行され、組織ＯＲＧ１のワークフロー管理システムＷｆＭＳ１ではシャドウイングされないアクティビティも含めることができることに注目されたい。また、シャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）でＲＥＭ（リモート・アクティビティ）として分類され、組織ＯＲＧ２に割り当てられているアクティビティ（シャドウ・テーブルの対応する項目のフィールドＮＯＴ＿ＳＥ内のＡＤＤ（ＳＳＥ２））は、シャドウ・テーブルＳＨ＿ＴＡＢ（ＰＴ１）ではＬＯＣ（ローカル・アクティビティ）として二様に分類され、その逆も行われることがわかる。
【００４４】
プロセス・テンプレートＰＴ１のプロセス・インスタンスＰＩ１（ＰＴ１）のワークフローの略図を示す図５と、いずれかの状態シャドウイング・エンジンによって行われるアクションの流れの概略図を示す図７を参照しながら、状態シャドウイング機構について、以下に説明する。アクティビティＡ１はプロセスの開始アクティビティであり、アクティビティＡ７は終了アクティビティであるものとする。
【００４５】
状態シャドウイング・エンジンＳＳＥ１は、割り当てられたユーザ識別子ＵＩＤｘを使用して、ワークフロー・サーバＷｆＭＳ１＿Ｓに周期的にログオンし、組織ＯＲＧ１のワークフロー管理システムＷｆＭＳ１によってプロセス・テンプレートがインスタンス化されたか否かを管理し、個別のプロセス、またはプロセス・インスタンスを生成する（図７のブロック５０１、５０３、５０５、および５０７）。所与の時点で、状態シャドウイング・エンジンＳＳＥ１がプロセス・テンプレートＰＴ１がインスタンス化され、それによってプロセス・インスタンスＰＴ１（ＰＴ１）が生成されたことを検出するものとする。これに応答して、状態シャドウイング・エンジンＳＳＥ１の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧが、図３のシャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）を生成し（ブロック５０９）、それぞれのシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴに記憶する（ブロック５１１）。
【００４６】
ワークフロー管理システムＷｆＭＳ１のワークフロー・サーバＷｆＭＳ１＿Ｓの制御下で、開始アクティビティＡ１が探索され、それぞれの割当て資源（たとえば作業チーム）が判断され、アクティビティＡ１が、その作業チームのうちの選択された作業者の作業リストに登録される。選択された作業チームに属するユーザが（各自のワークフロー・クライアントＷｆＭＳ１＿Ｃを介して）このアクティビティを選択すると、アクティビティＡ１が実行され、作業リストから除去される。アクティビティＡ１の実行によって結果が生じ、アクティビティの終了条件となる。このアクティビティＡ１の終了条件は、ワークフロー・サーバＷｆＭＳ１＿Ｓによって評価され、適切であれば、アクティビティＡ１は完了したとみなされる。
【００４７】
状態シャドウイング・エンジンＳＳＥ１は、ワークフロー・サーバＷｆＭＳ１＿Ｓに周期的にログオンしてプロセス・インスタンスＰＩ１（ＰＴ１）の実行の状態を読み取り、状態変更が起こったか否か検証する（ブロック５１３、５１５、５１７、および５１９）。開始アクティビティＡ１は、シャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）ではＮＵＬと分類されているため、状態シャドウイング・エンジンＳＳＥ１は、アクティビティＡ１の実行に関係するワークフロー管理システムＷｆＭＳ１の状態変更を、他方の関与組織ＯＲＧ２のワークフロー管理システムＷｆＭＳ２の状態シャドウイング・エンジンＳＳＥ２には通知しない（ブロック５２１）。
【００４８】
状態シャドウイング・エンジンは、インスタンス化されたプロセスＰＩ１（ＰＴ１）の実行の状態の読取りを続ける。アクティビティＡ１が完了した後は、ワークフロー管理システムＷｆＭＳ１のワークフロー・サーバＷｆＭＳ１＿Ｓが、ワークフロー内で次に実行するアクティビティＡ２を探し出す。状態シャドウイング・エンジンＳＳＥ１内の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、シャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）を参照し、アクティビティＡ２がＯＵＴとして分類されていることを検知する（ブロック５２３）。これによって、状態シャドウイング・エンジンＳＳＥ１は、関与組織ＯＲＧ２のワークフロー管理システムＷｆＭＳ２内の状態シャドウイング・エンジンＳＳＥ２に、通知ＮＳＰＩ（ＰＴ１，ＰＩ１）（「プロセス・テンプレートＰＴ１の新しいシャドウ・プロセス・インスタンスＰＩ１」）を送る（ブロック５２５）。この通知は、アクティビティＡ２に対応するシャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）項目ＥＮＴＲＹ２のフィールドＮＯＴ＿ＳＥに格納された状態シャドウイング・エンジンＳＳＥ２のアドレスＡＤＤ（ＳＳＥ２）を使用して、通信部ＳＥ−ＳＥ＿ＣＯＭを介し、２つの組織ＯＲＧ１、ＯＲＧ２内のデータ処理システムを接続するデータ通信基盤ＤＣＩを介して、送られる。
【００４９】
状態シャドウイング・エンジンＳＳＥ１と同様に、状態シャドウイング・エンジンＳＳＥ２は、割り当てられたユーザ識別子ＵＩＤｙを使用してワークフロー管理システムＷｆＭＳ２のワークフロー・サーバＷｆＭＳ１＿Ｓに周期的にログオンする（ブロック５０１、５０３、および５０５）。状態シャドウイング・エンジンＳＳＥ２が通知ＮＳＰＩ（ＰＴ１，ＰＩ１）を受け取ると（ブロック５２７）、状態シャドウイング・エンジンＳＳＥ２は、ワークフロー・サーバＷｆＭＳ２＿Ｓにログオンし、プロセス・テンプレートＰＴ１のプロセス・インスタンスＰＩ１’（ＰＴ１）を生成させる（ブロック５２９、５３１、および５３３）。プロセス・インスタンスＰＩ１’（ＰＴ１）には、業務プロセスのうち、組織ＯＲＧ２内で実行し、組織ＯＲＧ１ではシャドウイングする部分またはその逆の部分を構成するアクティビティと制御フローが含まれる。この例では、プロセス・インスタンスＰＩ１’（ＰＴ１）は、アクティビティＡ３、Ａ４１、Ａ４２、Ａ５、およびＡ６と、それに付随する制御フローを含む。
【００５０】
ワークフロー・サーバＷｆＭＳ２＿Ｓによるプロセス・テンプレートＰＴ１のインスタンス化ＰＩ１’（ＰＴ１）により、対応する状態シャドウイング・エンジンＳＳＥ２が、図４に示すシャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）を生成し（ブロック５０９）、それを各自のシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴに記憶する（ブロック５１１）。
【００５１】
このようにして、（図６に示す）業務プロセスのコモン・ビューＣＷ（ＰＩ１）が定義され、両方の関与組織ＯＲＧ１、ＯＲＧ２のワークフロー管理システムＷｆＭＳ１、ＷｆＭＳ２によって承認される。
【００５２】
ワークフロー管理システムＷｆＭＳ２は、プロセス・インスタンスＰＩ１’（ＰＴ１）内の開始アクティビティＡ３を探索し、その実行に割り当てられた資源を探索して、アクティビティＡ３を選択された作業者チームの作業リストに登録する。
【００５３】
状態シャドウイング・エンジンＳＳＥ２の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、ワークフロー・サーバＷｆＭＳ２＿Ｓに周期的にログオンし続け（ブロック５１３〜５１９）、アクティビティＡ３の実行の開始に関するプロセス・インスタンスＰＩ１’（ＰＴ１）の実行状態の変化を検出する。状態シャドウイング・エンジンＳＳＥ２内の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、シャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）を参照して、アクティビティＡ３がＬＯＣとして分類されていることを検出し（ブロック５３５）、状態シャドウイング・エンジンＳＳＥ１（シャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）の項目ＥＮＴＲＹ１のフィールドＮＯＴ＿ＳＥにアドレスＡＤＤ（ＳＳＥ１）が格納されている）に、通知ＵＰＤ（ＰＩ１，Ａ３，ＳＴＡＲＴ）（「更新：プロセス・インスタンスＰＩ１（ＰＴ１）の開始済みアクティビティＡ３」）を送る。状態シャドウイング・エンジンＳＳＥ１は、通知ＵＰＤ（ＰＩ１，Ａ３、ＳＴＡＲＴ）を受け取り（ブロック５３７）、割り当てられたユーザ識別子ＵＩＤｘを使用してワークフロー管理システムＷｆＭＳ１のワークフロー・サーバＷｆＭＳ１＿Ｓにユーザとしてログオンする（ブロック５３９）。ログオンされると、状態シャドウイング・エンジンＳＳＥ１は、ワークフロー・サーバＷｆＭＳ１＿Ｓに、それぞれのインタフェース・アダプタ部ＷｆＭＳ＿ＩＡＣを介してワークフロー・サーバＷｆＭＳ１にアクティビティＡ３を開始させるような管理コマンドを送り、それによってワークフロー管理システムＷｆＭＳ１の状態を変更する（ブロック５４１）。次に、状態シャドウイング・エンジンＳＳＥ１がログオフする（ブロック５４３）。
【００５４】
組織ＯＲＧ２のそのチームでアクティビティＡ３の実行を担当する人が、それぞれのワークフロー・クライアントＷｆＭＳ２＿Ｃを介してアクティビティＡ３の完了を宣言するか、またはアクティビティ実施アプリケーションが正常に完了すると、状態シャドウイング・エンジンＳＳＥ２は状態シャドウイング・エンジンＳＳＥ１に通知ＵＰＤ（ＰＩ１，Ａ３．ＣＯＭＰＬ）（「更新：プロセス・インスタンスＰＩ１（ＰＴ１）の完了済みアクティビティＡ３」）を送る。状態シャドウイング・エンジンＳＳＥ１はこの通知ＵＰＤ（ＰＩ１，Ａ３，ＣＯＭＰＬ）を受け取り、割り当てられたユーザ識別子ＵＩＤｘを使用してワークフロー・サーバＷｆＭＳ１＿Ｓにログオンし、インタフェース・アダプタ部ＷｆＭＳ＿ＩＡＣを介して送られる管理コマンドによってワークフロー・サーバＷｆＭＳ１＿ＳがアクティビティＡ３を完了状態にさせるようにし、それによってワークフロー管理システムＷｆＭＳ１の状態が変更される。
【００５５】
アクティビティＡ３の実行の結果に応じて、ワークフロー管理システムＷｆＭＳ２はアクティビティＡ４２を探索し、それを選択されたチームの作業リストに登録する。
【００５６】
状態シャドウイング・エンジンＳＳＥ２の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧが、シャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）を参照してアクティビティＡ４２がＬＯＣとして分類されていることを検知し、状態シャドウイング・エンジンＳＳＥ１に通知ＵＰＤ（ＰＩ１，Ａ４２，ＳＴＡＲＴ）を送る。状態シャドウイング・エンジンＳＳＥ１は、この通知ＵＰＤ（ＰＩ１，Ａ４２，ＳＴＡＲＴ）を受け取り、割り当てられたユーザ識別子ＵＩＤｘを使用してワークフロー・サーバＷｆＭＳ１＿Ｓにログオンする。ログオンされると、状態シャドウイング・エンジンＳＳＥ１がワークフロー・サーバＷｆＭＳ１＿ＳにアクティビティＡ４２を開始させ、それによってワークフロー管理システムＷｆＭＳ１の状態が変更される。
【００５７】
組織ＯＲＧ２のそのチームでアクティビティＡ４２の実行を担当する人が、それぞれのワークフロー・クライアントＷｆＭＳ２＿Ｃを介して、アクティビティＡ４２が完了したことを宣言するか、または、アクティビティ実施アプリケーションが正常に完了すると、状態シャドウイング・エンジンＳＳＥ２は状態シャドウイング・エンジンＳＳＥ１に通知ＵＰＤ（ＰＩ１，Ａ４２，ＣＯＭＰＬ）を送る。状態シャドウイング・エンジンＳＳＥ１は、この通知を受け取り、割り当てられたユーザ識別子ＵＩＤｘを使用してワークフロー・サーバＷｆＭＳ１＿Ｓにログオンし、ワークフロー・サーバＷｆＭＳ１＿ＳにアクティビティＡ４２を完了状態にさせ、それによってワークフロー管理システムＷｆＭＳ１の状態が変更される。
【００５８】
次に、ワークフローの制御はワークフロー管理システムＷｆＭＳ１に渡り、ワークフロー管理システムＷｆＭＳ１はアクティビティ４２が完了したことを検知し、組織ＯＲＧ１内で次に実行するアクティビティＡ５を探索する。アクティビティＡ５は、組織ＯＲＧ１内でその実行を担当するチームの作業リストに登録される。状態シャドウイング・エンジンＳＳＥ１の状態シャドウイング実施アルゴリズムＳＨ＿ＡＬＧが、シャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）を参照して、ＬＯＣとして分類されているアクティビティＡ５を検知し、状態シャドウイング・エンジンＳＳＥ２に通知ＵＰＤ（ＰＩ１，Ａ５，ＳＴＡＲＴ）を送る。状態シャドウイング・エンジンＳＳＥ２は、この通知を受け取り、割り当てられたユーザ識別子ＵＩＤｙを使用してワークフロー・サーバＷｆＭＳ２＿Ｓにログオンする。ログオンされると、状態シャドウイング・エンジンＳＳＥ２が、それぞれのインタフェース・アダプタ部ＷｆＭＳ＿ＩＡＣを介して、ワークフロー・サーバＷｆＭＳ２＿Ｓに対し、ワークフロー・サーバＷｆＭＳ２＿ＳにアクティビティＡ５を開始状態にさせる管理コマンドを送り、それによってワークフロー管理システムＷｆＭＳ２の状態が変更される。
【００５９】
アクティビティＡ５が完了すると、状態シャドウイング・エンジンＳＳＥ１が状態シャドウイング・エンジンＳＳＥ２に通知ＵＰＤ（ＰＩ１，Ａ５，ＣＯＭＰＬ）を送る。状態シャドウイング・エンジンＳＳＥ２はこの通知を受け取り、割り当てられたユーザ識別子ＵＩＤｙを使用してワークフロー・サーバＷｆＭＳ２＿Ｓにログオンし、ワークフロー・サーバＷｆＭＳ２＿ＳがアクティビティＡ５を完了状態にさせるようにし、それによってワークフロー管理システムＷｆＭＳ２の状態が変更される。
【００６０】
ワークフローの制御はワークフロー管理システムＷｆＭＳ２に戻り、ワークフロー管理システムＷｆＭＳ２は、アクティビティＡ５が完了したものとして識別し、組織ＯＲＧ２内で次に実行するアクティビティＡ６を探索する。アクティビティＡ６は、組織ＯＲＧ２でその実行を担当するチームの作業リストに登録される。状態シャドウイング・エンジンＳＳＥ２の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧが、シャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）を参照し、アクティビティＡ６がＬＯＣとして分類されていることを検知し、状態シャドウイング・エンジンＳＳＥ１に通知ＵＰＤ（ＰＩ１，Ａ６，ＳＴＡＲＴ）を送る。状態シャドウイング・エンジンＳＳＥ１はこの通知を受け取り、割り当てられたユーザ識別子ＵＩＤｘを使用してワークフロー・サーバＷｆＭＳ１＿Ｓにログオンする。ログオンされると、状態シャドウイング・エンジンＳＳＥ１がワークフロー・サーバＷｆＭＳ１＿ＳにアクティビティＡ６を開始させ、それによってワークフロー管理システムＷｆＭＳ１の状態が変更される。
【００６１】
アクティビティＡ６が完了すると、状態シャドウイング・エンジンＳＳＥ２が状態シャドウイング・エンジンＳＳＥ１に通知ＵＰＤ（ＰＩ１，Ａ６，ＣＯＭＰＬ）を送る。状態シャドウイング・エンジンＳＳＥ１はこの通知を受け取り、割り当てられたユーザ識別子ＵＩＤｘを使用してワークフロー・サーバＷｆＭＳ１＿Ｓにログオンし、ワークフロー・サーバＷｆＭＳ１＿ＳにアクティビティＡ６を完了状態にさせ、それによってワークフロー管理システムＷｆＭＳ１の状態が変更される。
【００６２】
このようにして、業務プロセスのシャドウイングされた部分が実施される。ワークフローの制御は再びワークフロー管理システムＷｆＭＳ１に戻され、ワークフロー管理システムＷｆＭＳ１は、この業務プロセスの最後のアクティビティである次のアクティビティＡ７を、組織ＯＲＧ１でその実行を担当するチームの作業リストに登録する。状態シャドウイング・エンジンＳＳＥ１の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧが、シャドウ・テーブルＳＨ＿ＴＡＢ１（ＰＴ１）を参照し、アクティビティＡ７がＮＵＬとして分類されていることを検知し、状態シャドウイング・エンジンＳＳＥ２にそれ以上通知を送らない。
【００６３】
上記の説明では状態シャドウイング・エンジン間で各アクティビティについて２種類の更新通知（アクティビティの開始と完了）のみが交換されているが、実行を担当する組織内の活動に対して行われる動作にそれぞれ１つの通知が関連づけられた、３種類以上の通知も考えられることがわかる。各通知に応答して、他の関与組織の状態シャドウイング・エンジンが、それぞれのワークフロー・サーバにログオンし、受け取った通知に対応する管理コマンドを供給する。
【００６４】
異なる関与組織の状態シャドウイング・エンジン間で状態変更の通知を交換することによって、１つのワークフロー管理システムの状態が他のワークフロー管理システムで複製される。共通の業務プロセスの所与の部分の実行を担当していなくても、任意の組織がこのようにプロセスのそれぞれのローカル・シャドウを参照することによって、他の関与組織内で行われるアクティビティを追跡することができる。具体的には、これによっていずれの関与組織でも、他の関与組織内のワークフローを管理することができ、異なる関与組内のワークフローを同期させることができる。
【００６５】
さらに、１つの組織によるローカル・アクティビティの実行を、異なる関与組織で実行されているリモート・アクティビティの状態に依存させることができる。たとえば、図５に戻って参照すると、組織ＯＲＧ１内でのアクティビティＡ５の実行を組織ＯＲＧ２内でのアクティビティＡ４２の実行に依存させ、組織ＯＲＧ２内でのアクティビティＡ６の実行を組織ＯＲＧ１内でのアクティビティＡ５の実行に依存させることができる。
【００６６】
業務プロセスの一部を供給業者組織（組織ＯＲＧ２）に委託（アウトソース）する顧客組織（たとえば組織ＯＲＧ１）のコンテキストでは、状態シャドウイング機構を設けることによって、供給業者組織はいくつかのアクティビティ（たとえば図５のアクティビティＡ５）を顧客組織に委託し戻すことができる。これは、業務プロセスが長期にわたり、複雑な場合や、いくつかのアクティビティおよび決定を、プロセスの主要委託部分を続行する前に顧客組織に戻す必要がある場合に好都合であると考えられる。
【００６７】
また、シャドウイング機構を設けることによって、アクティビティの遠隔管理も可能になる。すなわち、第１の関与組織で実行されているリモート・アクティビティを、第２の関与組織で、第２の組織でローカルに実行されるアクティビティを通常管理するのと同様にして管理することができる。図８および図９に概略図で示し、図１０にフローチャートを示すように、組織ＯＲＧ１内のユーザＵａ、Ｕｂが、ワークフロー管理システムＷｆＭＳ１内のワークフロー・クライアントＷｆＭＳ１＿Ｃ上で稼働しているそれぞれのワークフロー・アプリケーションＷｆ＿ＡＰＰを介して、所与のプロセス・テンプレートのプロセス・インスタンスＰＩｉのアクティビティＡｊに対して動作ＯＰｈを行いたいものとする。状態シャドウイング・エンジンＳＳＥ１の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧに動作要求（ＰＩｉ，Ａｊ，ＯＰｈ）が、インタフェース・シミュレーション部ＷｆＭＳ＿ＩＳＣを介して供給される。状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、この動作要求を受け取り（図１０のブロック７０１）、シャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴに記憶されているプロセス・インスタンスのシャドウ・テーブルを参照して（ブロック７０３）、アクティビティＡｊのクラスを識別する（ブロック７０５、７０７、および７０９）。アクティビティＡｊがＬＯＣまたはＮＵＬと分類されている場合、状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、ワークフロー・アプリケーションＷｆ＿ＡＰＰがワークフロー・サーバＷｆＭＳ１＿Ｓにログインすることができるようにし、それによって動作要求（ＰＩｉ，Ａｊ、ＯＰｈ）がインタフェース適応部ＷｆＭＳ＿ＩＡＣを介してワークフロー・サーバＷｆＭＳ１＿Ｓに転送される（ブロック７１１または７１３）。その結果、ワークフロー・サーバＷｆＭＳ１＿Ｓはその状態を動作ＯＰｈに変更する。さらに、アクティビティＡｊがＬＯＣとして分類されている場合、状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは他の関与組織ＯＲＧ２に状態の変更を通知し（ＵＰＤ（ＰＩｉ，Ａｊ、ＯＰｈ）−ブロック７１５）、それによってワークフロー管理システムＷｆＭＳ２はそれに応じて更新される。一方、アクティビティがＲＥＭとして分類されている場合、状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧは、他方の関与組織ＯＲＧ２のワークフロー管理システムＷｆＭＳ２内の状態シャドウイング・エンジンＳＳＥ２に、リモート動作実行要求ＥＸＲＱ（ＰＩｉ，Ａｊ，ＯＰｈ）を送り（ブロック７１７）、その動作が実行されたことを示す状態更新の通知を待つ（ブロック７１９）。着信リモート動作実行要求を検出すると（ブロック７２１）、状態シャドウイング・エンジンＳＳＥ２内の状態シャドウイング・アルゴリズム実施部ＳＨ＿ＡＬＧが、そのシャドウ・テーブル記憶部ＳＨ＿ＴＡＢ＿ＳＴに記憶されているシャドウ・テーブルを参照し（ブロック７２３）、アクティビティＡｊがＬＯＣとして分類されていること、すなわち、組織ＯＲＧ２にとってローカルであることを検証する（ブロック７２５）。結果が否定の場合、このリモート動作実行要求ＥＸＲＱ（ＰＩｉ，Ａｊ，ＯＰｈ）は無視され、肯定の場合は、状態シャドウイング・エンジンＳＳＥ２がワークフロー・サーバＷｆＭＳ２＿Ｓにログインして（ブロック７２７）、このリモート動作要求（ＰＩｉ，Ａｊ，ＯＰｈ）を供給し（ブロック７２９）、その後、ログオフする（ブロック７３１）。ワークフロー・サーバＷｆＭＳ２＿Ｓは、ワークフロー管理システムＷｆＭＳ２のワークフロー・クライアントＷｆＭＳ２＿Ｃ上で稼働しているワークフロー・アプリケーションＷｆ＿ＡＰＰの１つから送られたかのようにアクティビティＡｊにその動作を適用し、それによってワークフロー管理システムＷｆＭＳ２の状態が変更され、状態シャドウイング・エンジンＳＳＥ２が状態の変更をワークフロー管理システムＷｆＭＳ１に通知する（ＵＰＤ（ＰＩｉ，Ａｊ，ＯＰｈ））。起こり得る矛盾は、以下のようにして解消される。状態シャドウイング・エンジンＳＳＥ１が、リモート動作実行要求ＥＸＲＱ（ＰＩｉ，Ａｊ，ＯＰｈ）を受け取る前に、ローカル・ワークフロー・アプリケーションＷｆ＿ＡＰＰの１つから同じアクティビティＡｊに対する動作実行要求を受け取り、それによって、リモート動作実行要求ＥＸＲＱ（ＰＩｉ，Ａｊ，ＯＰｈ）で指定されている動作ＯＰｈをそれ以上実行することができないようにワークフロー管理システムＷｆＭＳ２の状態が変更された場合、リモート・コマンド実行要求ＥＸＲＱ（ＰＩｉ，Ａｊ，ＯＰｈ）は無視される。言い換えると、矛盾を解消するために、１つの関与組織のワークフロー管理システムにとってローカルの動作実行要求が、他の関与組織から発行されたリモート動作実行要求よりも優先されるような方策を採用する。
【００６８】
したがって、各ワークフロー管理システム内の状態シャドウイング・エンジンは、ワークフロー・クライアントやその他の管理アプリケーションなどのアプリケーションにとって参照モニタとなり、ワークフロー・サーバの従来のインタフェースと同じ機能を備える。この参照モニタは、管理動作の実行対象となるアクティビティの場所を判断する。アクティビティが、管理動作要求が発行された組織にとってローカルである場合、参照モニタは、管理動作をローカル・ワークフロー管理システムで行うことができるようにする。ローカルでない場合は、管理動作要求は、そのアクティビティの実行を担当する組織のワークフロー管理システムの参照モニタに転送される。起こり得る矛盾を解消する方策により、アクティビティの実行を担当する組織内のワークフロー管理システムが、リモート組織のワークフロー管理システムから送られた管理動作要求を無効化する権利を有すると規定する。
【００６９】
共通業務プロセスのうち、その共通業務プロセスに関与する組織のうちの１つの組織の責任の下に実行される部分は、アクティビティまたは実行順序あるいはその両方の点で、すべてのワークフロー管理システム間で一致したプロセスのコモン・ビューとは異なることがわかる。図５およ図６を参照すると、これはたとえば、組織ＯＲＧ２のワークフロー管理システムＷｆＭＳ２で生成されたプロセス・インスタンスＰＩ１’（ＰＴ１）が図６に示すプロセスのコモン・ビューを構成するものとは、異なるアクティビティを、異なる実行順序で含むことができるということを意味する。このような状況の一例を、図１１に示す。図１１には、プロセスのコモン・ビューＣＷ（ＰＩ１）とは異なるプロセス・インスタンスＰＩ１’（ＰＴ１）が図示されている。具体的には、プロセス・インスタンスＰＩＩ’（ＰＴ１）は、アクティビティＡ１０〜Ａ１４を含むプロセスのコモン・ビューＣＷ（ＰＩ１）の内部表現を形成する。ワークフロー管理システムＷｆＭＳ２内の状態シャドウイング・エンジンＳＳＥ２は、組織ＯＲＧ２内で実行される実際のプロセスＰＩ１’（ＰＴ１）の、プロセスＣＷ（ＰＩ１）のコモン・ビューに対する適切なマッピングＭＡＰ２を実現する。このマッピングは、２つの関与組織ＯＲＧ１およびＯＲＧ２間でワークフローの進捗状況を通知するために交換されるメッセージが、プロセスのコモン・ビューと一致するように保証する必要がある。このようなマッピングは、たとえば、状態シャドウイング・エンジンＳＳＥ２内の状態シャドウイング実施アルゴリズム部ＳＨ＿ＡＬＧによって実現することができる。具体的には、図４に示すシャドウ・テーブルＳＨ＿ＴＡＢ２（ＰＴ１）を修正して、プロセスのコモン・ビューのアクティビティＡ３、Ａ４１、Ａ４２、Ａ５、およびＡ６を組織ＯＲＧ２の責任下で実行される実際のアクティビティに変換することができるようにする。あるいは、ワークフロー管理システムＷｆＭＳ１内の状態シャドウイング・エンジンＳＳＥ１によってマッピングを実現することもできる。
【００７０】
より一般的には、各関与組織のワークフロー管理システムは、業務プロセスのコモン・ビューを表すそれぞれの内部表現を有することができ、それぞれの状態シャドウイング・エンジンは、それぞれの内部プロセス表現の、プロセスのコモン・ビューに対する適切なマッピング（図１１のＭＡＰ１およびＭＡＰ２）を実現することができる。プロセスのコモン・ビューとマッピングを設けたことによって、いずれの関与組織も、各組織の内部の必要にとって最適になるように選定された共通業務プロセスのそれぞれの内部表現を持つことができると同時に、ワークフロー進捗状況に関する情報を異なる関与組織間で交換することができる。
【００７１】
本発明は、コンピュータ・ベースのプロセス管理システムの制御下で業務プロセスの実行に複数の組織が関与する場合一般に適用可能である。状態シャドウイング機構によって、すべての関与組織が業務プロセスの進捗状況を追跡することができる。
【００７２】
また、本発明は、組織内の異なるエンティティ、たとえば異なるチームまたは部門が、それぞれのワークフロー管理システムに依存して業務プロセスの実行に関与する単一の組織内での業務のプロセス管理にも適用可能である。より一般的には、業務プロセスの管理に関与する異なるエンティティは、同じ組織に属するエンティティと、異なる組織に属するエンティティとを含むことができる。
【００７３】
本発明をいくつかの実施形態を用いて開示したが、特許請求の範囲で規定されている本特許の範囲から逸脱することなく、上述の実施形態に加えられるいくつかの修正および本発明の他の実施形態も可能であることは、当業者には明らかである。たとえば、これがすべてではないが、ワークフロー管理システムは、異なる通信プロトコルを採用することができる。また、異なるログインおよびログオフ方式も考えることができる。状態変更事象に関する情報は、それぞれの状態シャドウイング・アルゴリズム実施部がワークフロー・サーバを定期的にポーリングすることによって検出するのではなく、ワークフロー・サーバによってそれぞれの状態シャドウイング・アルゴリズム実施部に伝えることができる。
【００７４】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００７５】
（１）各ワークフロー管理システム（ＷｆＭＳ１、ＷｆＭＳ２）が分散ワークフローのそれぞれのワークフロー部分（Ａ１、Ａ２、Ａ５、Ａ６、Ａ７；Ａ３、Ａ４１、Ａ４２、Ａ６）を管理する、各エンティティにおけるそれぞれのコンピュータ・ベースのワークフロー管理システムによって少なくとも２つの別個の関与エンティティ（ＯＲＧ１、ＯＲＧ２）に分散されたワークフローを管理する方法であって、
任意のワークフロー部分の管理をいずれのワークフロー管理システムが担当するかを指定する（ＳＨ＿ＴＹＰ、ＮＯＴ＿ＳＥ）、前記ワークフロー管理システムによって参照として使用される前記分散ワークフローの共通仕様（ＣＷ（ＰＩ１））を定義するステップと、
各ワークフロー管理システムにおいて前記分散ワークフローのイメージ（ＰＩ１（ＰＴ１）、ＰＩ１’（ＰＴ１）を生成するステップと、
前記共通ワークフロー仕様に基づいて、１つのエンティティの前記ワークフロー管理システムに、他のエンティティの前記ワークフロー管理システムによって管理されているワークフロー部分の進捗状況を通知するステップと、
通知された前記ワークフロー管理システムにおいて、前記他のエンティティの前記ワークフロー管理システムによって管理されているワークフロー部分の進捗状況に合わせて、前記分散ワークフロー・イメージ上の進捗状況の表示を更新するステップと
を含む方法。
（２）共通ワークフロー仕様を定義する前記ステップが、各ワークフロー管理システムにおいて前記共通ワークフロー仕様を構成するアクティビティ（Ａ１〜Ａ７）のテーブル（ＳＨ＿ＴＡＢ１（ＰＴ１）、ＳＨ＿ＴＡＢ２（ＰＴ１））を生成するステップをさらに含み、前記テーブルが、各アクティビティについて当該アクティビティを、前記ワークフロー管理システムによってローカルで管理されるローカル・アクティビティとしてまたは他のワークフロー管理システムによってリモートで管理されるリモート・アクティビティとして分類するアクティビティ分類子を含む、上記（１）に記載の方法。
（３）ワークフロー管理システムにおいて生成される前記テーブルが、前記ワークフロー管理システムによってローカルで管理されるローカル・アクティビティについては、前記ローカル・アクティビティの実行に関する情報の通知先の他の前記ワークフロー管理システムのアドレス（ＮＯＴ（ＳＥ）、ＡＤＤ（ＳＳＥ２）、ＡＤＤ（ＳＳＥ１））を含み、他の前記ワークフロー管理システムによってリモートで管理されるリモート・アクティビティについては、前記リモート・アクティビティの実行の管理を担当する前記ワークフロー管理システムのアドレスを含む、上記（２）に記載の方法。
（４）各ワークフロー管理システムにおいて、当該ワークフロー管理システムにとってローカルで発行されるアクティビティ管理コマンド（（ＰＩｉ，Ａｊ，ＯＰｈ））を扱うそれぞれのテーブルを参照するステップと、
前記アクティビティがローカル・アクティビティとして分類されている場合には、当該ワークフロー管理システムにとってローカルな前記アクティビティ管理コマンドの実行を管理することができるようにするステップと、
前記アクティビティがリモート・アクティビティとして分類されている場合には、前記アクティビティ管理コマンド（（ＥＸＲＱ（ＰＩｉ，Ａｊ，ＯＰｈ））を前記テーブルで指定されているアドレスに従って前記アクティビティの実行の管理を担当する前記ワークフロー管理システムに転送するステップとをさらに含む、上記（３）に記載の方法。
（５）ワークフロー管理システムが他のワークフロー管理システムによるアクティビティ管理コマンドを受け取ったとき、当該コマンドがそれぞれのワークフロー部分の実行の現在の状態と矛盾しない場合、受け取った前記アクティビティ管理コマンドの実行を管理し、矛盾する場合には受け取った前記アクティビティ管理コマンドを無視するステップをさらに含む、上記（４）に記載の方法。
（６）分散ワークフロー・イメージを生成する前記ステップが、各ワークフロー管理システムにおいて、前記共通ワークフロー仕様の内部ワークフロー表現（ＰＩ１（ＰＴ１）、ＰＩ１’（ＰＴ１））を生成し、前記共通ワークフロー仕様を前記内部ワークフロー表現にマップする（ＭＡＰ１、ＭＡＰ２）ステップを含む、上記（１）ないし（５）のいずれか一項に記載の方法。
（７）少なくとも第１と第２の関与エンティティ（ＯＲＧ１、ＯＲＧ２）との間で分散されたワークフローを管理するコンピュータ・ベースのシステムであって、
前記分散ワークフローの第１のワークフロー部分（Ａ１、Ａ２、Ａ５、Ａ６、Ａ７）を管理する前記第１のエンティティにおける第１のワークフロー管理システム（ＷｆＭＳ１）と、
前記分散ワークフローの第２のワークフロー部分（Ａ３、Ａ４１、Ａ４２、Ａ６）を管理する前記第２のエンティティにおける第２のワークフロー管理システム（ＷｆＭＳ２）とを含み、
前記第１と第２のワークフロー管理システムが通信関係（ＤＣＩ）にあり、
前記第１および第２のワークフロー管理システムの各ワークフロー管理システムが、
任意のワークフロー部分の管理を前記第１および第２のワークフロー管理システムのうちのいずれのワークフロー管理システムが担当するかを指定する、前記分散ワークフローの共通仕様（ＳＨ＿ＴＡＢ１（ＰＴ１）、ＳＨ＿ＴＡＢ２（ＰＴ１））を定義する手段（ＳＨ＿ＡＬＧ、ＳＨ＿ＴＡＢ＿ＳＴ）と、
前記分散ワークフローのイメージ（ＰＩ１（ＰＴ１）、ＰＩ１’（ＰＴ１））を生成する手段と、
前記ワークフロー管理システム間で情報（ＵＰＤ（ＰＩ１，Ａ３，ＳＴＡＲＴ）〜ＵＰＤ（ＰＩ１，Ａ６，ＣＯＭＰＬ））を交換し、１つのエンティティのワークフロー管理システムに、それぞれの前記分散ワークフロー・イメージ上で、交換された前記情報に従って他方の前記エンティティの前記ワークフロー管理システムによって管理されている前記ワークフロー部分の進捗状況を更新させる手段とを含むことを特徴とする、コンピュータ・ベースのシステム。
（８）各ワークフロー管理システムにおいて、前記共通仕様が前記共通ワークフロー仕様を構成するアクティビティ（Ａ１〜Ａ７）のテーブル（ＳＨ＿ＴＡＢ１（ＰＴ１）、ＳＨ＿ＴＡＢ２（ＰＴ１））を含み、各アクティビティについて、アクティビティ分類子（ＳＨ＿ＴＹＰ、ＮＵＬ、ＯＵＴ、ＲＥＭ、ＬＯＣ）が、当該アクティビティを前記ワークフロー管理システムによってローカルで管理すべきローカル・アクティビティとしてまたは他のワークフロー管理システムによってリモートで管理すべきリモート・アクティビティとして分類する、上記（７）に記載のシステム。
（９）前記テーブルが、それぞれの前記ワークフロー管理システムによってローカルで管理すべきローカル・アクティビティについて、当該ローカル・アクティビティの実行に関する情報の伝達先の他のワークフロー管理システムのアドレス（ＮＯＴ（ＳＥ）、ＡＤＤ（ＳＳＥ２）、ＡＤＤ（ＳＳＥ１））と、他の前記ワークフロー管理システムによってリモートで管理されるべきリモート・アクティビティについて、当該リモート・アクティビティの実行の管理を担当する前記ワークフロー管理システムのアドレスとを含む、上記（８）に記載のシステム。
（１０）各ワークフロー管理システムが、
ワークフロー・サーバ（ＷｆＭＳ１＿Ｓ、ＷｆＭＳ２＿Ｓ）と、
少なくとも１つのワークフロー・クライアント（ＷｆＭＳ１＿Ｃ、ＷｆＭＳ２＿Ｃ）とを含み、
情報を交換し、前記ワークフロー管理システムに更新させる前記手段が、ワークフロー・クライアントとして前記ワークフロー・サーバと対話する（ＵＩＤｘ、ＵＩＤｙ）、上記（９）に記載のシステム。
（１１）前記アクティビティ分類子に従って前記ワークフロー・クライアントから発行されたアクティビティ管理コマンド（（ＰＩｉ、Ａｊ、ＯＰｈ））を経路指定する監視手段（ＳＳＥ１、ＳＳＥ２）をさらに含み、
前記アクティビティがローカル・アクティビティとして分類されている場合には、前記監視手段が前記アクティビティ管理コマンドを前記ワークフロー・サーバに経路指定し、それによって前記アクティビティ管理コマンドの実行が前記ワークフロー管理システムにとってローカルで管理されるようにし、
前記アクティビティがリモート・アクティビティとして分類されている場合には、前記監視手段が前記アクティビティ管理コマンド（（ＥＸＲＱ（ＲＩｉ、Ａｊ、ＯＰｈ））を前記テーブルで指定されているアドレスに従って前記アクティビティの実行の管理を担当する前記ワークフロー管理システムに転送する、上記（１０）に記載のシステム。
（１２）前記ワークフロー管理システムのうちの少なくとも１つのワークフロー管理システムが、前記共通ワークフロー仕様を前記分散ワークフローのそれぞれの前記分散ワークフロー・イメージにマップするマッピング手段（ＭＡＰ１、ＭＡＰ２）をさらに含む、上記（７）ないし（１１）のいずれか一項に記載のシステム。
（１３）少なくとも２つの前記関与エンティティが同じ組織または異なる組織に属する、上記（７）ないし（１２）のいずれか一項に記載のシステム。
【図面の簡単な説明】
【図１】各エンティティが、状態シャドウイング機構を実現する本発明の一実施形態によるコンピュータ・ベースのワークフロー管理システムを有する、共通の業務プロセスの実行に関与する２つのエンティティ、例えば、２つの組織を示す概略図である。
【図２】状態シャドウイング機構を実現するために各ワークフロー管理システムに設けられた本発明の一実施形態による状態シャドウイング・エンジンの主構成要素を示す機能ブロック図である。
【図３】業務プロセスの一例の実行において状態シャドウイング機構を実現するための、図１に示す２つの組織のうちの一方の組織の状態シャドウイング・エンジンによって生成されたシャドウ・テーブルを示す概略図である。
【図４】他方の組織の状態シャドウイング・エンジンによって生成された、対応するシャドウ・テーブルを示す概略図である。
【図５】例示の業務プロセスの実行中の２つのワークフロー管理システムの状態の進展を示す図である。
【図６】状態シャドウイング機構により２つの関与組織のワークフロー管理システムが共有する例示の業務プロセスのコモン・ビューを示す図である。
【図７】状態シャドウイング・エンジンによって実施される状態シャドウイング・アルゴリズムを示すフローチャートである。
【図８】異なるワークフロー・システム管理操作の経路設定を示す概略図である。
【図９】異なるワークフロー・システム管理操作の経路設定を示す概略図である。
【図１０】異なる管理操作を扱う場合の状態シャドウイング・エンジンの動作を示すフローチャートである。
【図１１】各ワークフロー管理システムが、上記プロセス共通図とは異なる例示の業務プロセスの内部表現を有する状況を示す略図である。
【符号の説明】
ＯＲＧ１　組織
ＯＲＧ２　組織
ＷｆＭＳ１　ワークフロー管理システム
ＷｆＭＳ２　ワークフロー管理システム
ＷｆＭＳ１＿Ｓ　ワークフロー・サーバ
ＷｆＭＳ２＿Ｓ　ワークフロー・サーバ
ＰＴ２　プロセス・テンプレート
ＰＴ１　プロセス・テンプレート
ＰＩ１（ＰＴ１）　プロセス・インスタンス
ＰＩ１’（ＰＴ１）　プロセス・インスタンス
ＷｆＭＳ１＿Ｃ　ワークフロー管理システム・クライアント
ＷｆＭＳ２＿Ｃ　ワークフロー管理システム・クライアント
ＳＳＥ１　状態シャドウイング・エンジン
ＳＳＥ２　状態シャドウイング・エンジン
ＷｆＭＳ１＿ＳＩ　インタフェース
ＷｆＭＳ２＿ＳＩ　インタフェース
ＳＨ＿ＡＬＧ　状態シャドウイング・アルゴリズム実施部
ＷｆＭＳ＿ＩＳＣ　ワークフロー管理システム・インタフェース・シミュレーション部
ＷｆＭＳ＿ＩＡＣ　ワークフロー管理システム・インタフェース適応部
ＳＨ＿ＴＡＢ＿ＳＴ　シャドウ・テーブル記憶部
ＭＧ＿ＩＮＴ　管理インタフェース部
ＳＥ−ＳＥ＿ＣＯＭ　通信部
ＭＧ＿ＡＰＰ　管理アプリケーション部
ＳＨ＿ＴＡＢ１（ＰＴ１）　シャドウ・テーブル
【図１】
2004005550.tif 000003
【図２】
2004005550.tif 000004
【図３】
2004005550.tif 000005
【図４】
2004005550.tif 000006
【図５】
2004005550.tif 000007
【図６】
2004005550.tif 000008
【図７】
2004005550.tif 000009
【図８】
2004005550.tif 000010
【図９】
2004005550.tif 000011
【図１０】
2004005550.tif 000012
【図１１】
2004005550.tif 000013