(57)【要約】【課題】独立して生成された複数のプロセスの統合や、複数の要素を含めて柔軟に指定された条件でプロセスの統合が可能なワークフローシステムを提供する。【解決手段】各々のプロセス１０５は、プロセスを識別するためのプロセス識別子１０６と、そのプロセスがどのフローテンプレート１０４から生成されたのかを識別するためのフローテンプレート識別子１０３を持つ。合流アクティビティに到達したプロセスの一覧が、フローテンプレート識別子ごとに滞留管理データベース９３に保存される。待ち合わせ制御部５０は、滞留管理データベースから同一のフローテンプレート識別子を含むプロセスを検索し、検索されたプロセスが待ち合わせ条件に適合しているか否かを判定し、適合していれば検索されたプロセスをプロセス制御部２０に再び実行させる。【選択図】図１
2009043199.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからのプロセス開始要求に基づいて、フローテンプレートからプロセス識別子および前記フローテンプレートに基づいたフローテンプレート識別子を含めて複数のプロセスを生成して実行するプロセス制御部と、
前記複数のプロセスの各々が合流アクティビティに到達した場合に該プロセスを一時停止させて保存するプロセス滞留管理部と、
前記プロセス滞留管理部に保存されたプロセスの一覧を前記フローテンプレート識別子ごとに保存する滞留管理データベースと、
前記滞留管理データベースから同一の前記フローテンプレート識別子を含むプロセスを検索し、前記検索されたプロセスが待ち合わせ条件に適合しているか否かを判定し、前記待ち合わせ条件に適合していれば前記検索されたプロセスを前記プロセス制御部に再び実行させる待ち合わせ制御部と
を有することを特徴とするワークフローシステム。
【請求項２】
前記待ち合わせ制御部は、前記検索されたプロセスが複数ある場合、前記プロセス制御部に該プロセスを統合して再び実行させることを特徴とする請求項1記載のワークフローシステム。
【請求項３】
前記待ち合わせ条件が、前記フローテンプレートに対応して保持されることを特徴とする請求項２記載のワークフローシステム。
【請求項４】
前記検索された同一のフローテンプレート識別子を含むプロセスの数が所定の数に到達していることを前記待ち合わせ条件とすることを特徴とする請求項２記載のワークフローシステム。
【請求項５】
前記待ち合わせ制御部に、設定された期間ごとに前記待ち合わせ制御部に対してタイムアウト通知を発生させるインタバルタイマ生成部が併設されていることを特徴とする請求項２記載のワークフローシステム。
【請求項６】
前記タイムアウト通知が発生したことを前記待ち合わせ条件とすることを特徴とする請求項５記載のワークフローシステム。
【請求項７】
前記検索された同一のフローテンプレート識別子を含むプロセスの数が所定の数に到達していること、および前記タイムアウト通知が発生したことのうち少なくともいずれか１つを前記待ち合わせ条件とすることを特徴とする請求項５記載のワークフローシステム。
【請求項８】
前記待ち合わせ制御部に一時停止中の複数のプロセスの一覧をユーザに提示して該ユーザからのプロセス再開指示を受け付けるプロセスリスト受付部が併設され、前記プロセスリスト受付部がユーザからのプロセス再開指示を受け付けたことを前記待ち合わせ条件とすることを特徴とする請求項２記載のワークフローシステム。
【請求項９】
プロセス制御部と、プロセス滞留管理部と、滞留管理データベースと、待ち合わせ制御部とを有するワークフローシステムにおける複数プロセスの合流方法であって、
ユーザからの複数のプロセス開始要求に基づいて、前記プロセス制御部が同一のフローテンプレートからそれぞれ別個のプロセス識別子および同一のフローテンプレート識別子を含んだ複数のプロセスを生成し、
続いて前記プロセス制御部が、前記複数のプロセスの各々を独立して実行し、
前記複数のプロセスが合流アクティビティに到達した場合に、前記プロセス滞留管理部が各々のプロセスを一時停止して保存し、
続いて前記滞留管理データベースが、前記複数のプロセスを前記フローテンプレート識別子ごとにプロセスの一覧として保存し、
続いて前記待ち合わせ制御部が、前記滞留管理データベースの中で前記フローテンプレート識別子を含むプロセスを検索し、
続いて前記待ち合わせ制御部が、前記検索されたプロセスが待ち合わせ条件に適合しているか否かを判定し、
前記待ち合わせ条件に適合していれば、前記プロセス制御部が前記検索されたプロセスを再び実行する
ことを特徴とする合流方法。
【請求項１０】
前記検索されたプロセスを再び実行する際に、前記検索されたプロセスが複数ある場合に前記プロセス制御部が該複数のプロセスを統合して実行することを特徴とする、請求項９記載の合流方法。
【請求項１１】
ワークフローシステムが備えている動作制御用コンピュータに、
ユーザからの複数のプロセス開始要求に基づいて、同一のフローテンプレートからそれぞれ別個のプロセス識別子および同一のフローテンプレート識別子を含んだ複数のプロセスを生成する機能と、
前記複数のプロセスの各々を独立して実行する機能と、
前記複数のプロセスが合流アクティビティに到達した場合に各々のプロセスを一時停止して保存する機能と、
前記複数のプロセスを滞留管理データベースに前記フローテンプレート識別子ごとにプロセスの一覧として保存する機能と、
前記滞留管理データベースの中で前記フローテンプレート識別子を含むプロセスを検索する機能と、
前記検索されたプロセスが待ち合わせ条件に適合しているか否かを判定する機能と、
前記待ち合わせ条件に適合していれば前記検索されたプロセスを再び実行する機能と
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の作業者がかかわる定形業務の流れを自動化するワークフローシステムに関し、特にワークフローシステムにおけるプロセスの合流に関する。
【背景技術】
【０００２】
ワークフローシステムは、イントラネットが整備された職場において、稟議、報告書、届出申請などの電子化された文書をあらかじめ決められた作業手順に従ってネットワーク上で集配信し、ユーザが配信された文書に対して作成、修正、承認の処理を行うことにより、複数の作業者がかかわる一連の定形業務を運用・管理するために用いられるシステムである。主に、業務プロセスの標準化、意思決定の迅速化、作業時間の短縮による事務作業の効率化および正確化などの目的で使用される。ワークフローシステムにおいて、文書を集配信する手段としては電子メール、ウェブブラウザ、専用クライアント・ソフトなどが使用される。中でも、近年はシステム設定の容易さからウェブブラウザを使用したシステムが主流になっている。
【０００３】
ワークフローシステムによって業務を自動化するには、まず実行すべき業務をフローテンプレートとしてあらかじめ定義しておく。フローテンプレートは、最小作業単位を定義するアクティビティを複数組み合わせることによって、一連の処理を実行する手順を定義する。アクティビティは、その役割によって、オーダー、通常アクティビティ、分岐アクティビティ、合流アクティビティ（待ち合わせアクティビティともいう）の４種類に分かれる。
【０００４】
このうち、前述のオーダーは業務を開始するためのキーとなるアクティビティであり、ユーザからオーダーが発行されたことに対応してワークフローシステムは特定のフローテンプレートからプロセス（実際の業務）を生成する。また、オーダーはプロセスを実行するのに必要な初期データを保持することができる。前述の通常アクティビティは、ある特定の作業を単純に実行することを表すアクティビティである。前述の分岐アクティビティは、プロセスの流れを１つのプロセスから複数に分岐するアクティビティである。前述の合流アクティビティは、複数の流れに分岐したプロセスを１つの流れに統合するアクティビティである。以上のような複数のアクティビティを組み合わせることによって形成される処理の流れを総称してフローという。
【０００５】
フローテンプレートを、合流アクティビティの直後で２つに分割し、各々フロー前半部、フロー後半部という。フロー前半部は、合流アクティビティまでの処理が定義される。合流アクティビティに到達したプロセスは、分岐アクティビティで分岐した他のプロセスがすべて合流アクティビティに到達するまで、処理が一時的に停止される。これを待ち合わせという。分岐したすべてのプロセスが合流アクティビティに到達すると、フロー後半部を実行させるプロセス再開オーダーが発生し、待ち合わせは終了する。フロー後半部には、合流アクティビティでプロセスが統合された後の処理が定義される。また、フロー後半部は、フロー前半部のオーダーの初期データに加えて、合流する各々のプロセスの情報を保持できるデータ構造が付加される。
【０００６】
図１５は、従来のワークフローシステムにおけるプロセスの分岐および合流の一例を表すブロック図である。たとえば、１つの支払い申請に対して複数の承認者から承認を得た後で実際に費用の支払いがなされる場合、まず申請者は支払い申請のフローテンプレート６０１に基づいて、支払い申請の業務を開始するオーダー６０２を発行する。このオーダーには、たとえば申請者の社員番号６０４が初期データとして含まれる。すると該当するフローテンプレート６０１に基づいて、支払い申請のプロセス６０３が生成される。その際、生成されたプロセスには各々のプロセスを識別するためのプロセス識別子６０５が付加される。申請者が端末から必要項目を入力すると、申請書６０６を生成する通常アクティビティ６０７が実行される。
【０００７】
そして複数の承認者のそれぞれに対して分岐アクティビティ６０８で処理が分岐し、各々の承認者に対して申請書６０６を送付する通常アクティビティ６０９が実行され、そして各々の承認者からの承認を受け付ける合流アクティビティ６１０に入り、プロセスの実行が一時的に停止される。なお、ここまでの各々のアクティビティの実行に伴い、プロセス識別子６０５、初期データの社員番号６０４に加えて、生成された申請書６０６、および各々の承認者からの承認を得たことを表す電子印鑑６１１などの情報がプロセスに付加されていく。以上、ここまでがフロー前半部６１２である。
【０００８】
分岐アクティビティ６０８で分岐された通常アクティビティ６０９は、分岐アクティビティ６０８で分岐される前のプロセス識別子６０５と、分岐アクティビティ６０８で分岐されたプロセスの数である分岐数６１６とを保持している。図１５の場合、分岐数６１６は３である。合流アクティビティ６１０は、同一のプロセス識別子６０５を持つ合流アクティビティに到達したプロセスの数が分岐数６１６と等しい場合に、すべての承認者からの承認が得られたと判断する。
【０００９】
すべての承認者からの承認が得られれば、合流アクティビティ６１０はプロセス再開オーダー６１３を発生し、一時的に停止していたプロセスの実行を再開する。それによって分岐したプロセスは統合され、合流したすべてのプロセスに付加されていた情報（この場合は社員番号６０４、申請書６０６およびすべての承認者からの電子印鑑６１１）も統合され、フロー後半部６１４に相当する費用支払いの通常アクティビティ６１５が実行される。
【００１０】
なお、ワークフローシステムにおいて複数に分岐したプロセスを統合する従来技術としては、以下のような技術が開示されている。特許文献１は、プロセスが同報合流ノードに到着したときにインスタンスＩＤおよび同報数からなるデータの登録数を確認することにより、待ち合わせを行う同報合流を実現するワークフローシステムを開示する。特許文献２は、案件をコピーするコピー制御ノードと、案件を待ち合わせるための待合制御ノードとを用意して、待ち合わせ条件とそれを満たしたときの動作を記述できるようにしたワークフローシステムを開示する。
【００１１】
【特許文献１】特開平１１−２５９５９０号公報
【特許文献２】特開２００３−４４６３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
前述の例にもあるように、従来のワークフローシステムにおける合流アクティビティは、１つのプロセスが複数のプロセスに分岐したのち、それらを統合するための手段を提供してきた。しかし、従来の合流アクティビティは、合流アクティビティに到達したプロセスの数が分岐数と等しいことを検出して、同一の分岐前のプロセスの識別子を持つ（１つのプロセスから分岐した）複数のプロセスのすべてが完了することを待ち合わせることしかできない。
【００１３】
それに対して、ワークフローシステムにおける定形業務は、その性質上、１つのフローテンプレートから複数のプロセスがそれぞれ独立して生成されて動作する。たとえば、図１５で示した例でいうなら、１人の申請者が、同一の支払い申請のフローテンプレートを利用して、一定期間の間（たとえば同一月内）に複数回の支払い申請を行うことがある。それらの支払い申請は、全く独立して生成された複数のプロセスとなる。その場合、各々のプロセスについてすべての承認者から承認を得ることは従来のワークフローシステムでできる。
【００１４】
しかしながら、費用支払いの通常アクティビティは、その支払い申請のプロセスが実行されるたびに行われることになる。同一の申請者が同一のフローテンプレートによって行った複数の支払い申請は、所定の件数もしくは期間などによってまとめて実際の支払いを行うことが可能であり、またそのようにする方が適切である場合がある。従来の合流アクティビティでは、独立して生成された複数のプロセスを統合することができないので、まとめて実際の支払いを行うことには対応できない。
【００１５】
また、たとえば各種会合への出欠確認などのように、対象者全員からの返事があった場合か、または対象者全員からの返事がなくても特定の締め切り日時が経過した場合に、次の処理に進むことが適切である場合がある。しかし従来の合流アクティビティでは、このような分岐したプロセスのすべてが完了していない場合に時限的な要素によって次の処理に進む待ち合わせの処理には対応していないので、この場合は対象者全員からの返事を待つしかない。同様に、ユーザが自らの操作によって待ち合わせを打ち切って次の処理に進むようにすることにも、従来の合流アクティビティは対応していない。
【００１６】
本発明の目的は、全く独立して生成された複数のプロセスを統合することや、時限的な要素やユーザによる操作の要素などを含めて柔軟に指定された条件でプロセスを統合することが可能なワークフローシステム、および該システムにおけるプロセスの合流方式を提供することにある。
【課題を解決するための手段】
【００１７】
本発明のワークフローシステムにおいては、各々のプロセスは、プロセスを識別するためのプロセス識別子と、そのプロセスがどのフローテンプレートから生成されたのかを識別するためのフローテンプレート識別子を持つ。プロセス制御部は、同一のフローテンプレートから、プロセス識別子が異なりフローテンプレート識別子が同一である複数のプロセスを生成する。プロセスが合流アクティビティに到達した際に、プロセス滞留管理部は該プロセスを一時停止させて保存し、プロセス滞留管理部に保存されたプロセスの一覧を、フローテンプレート識別子ごとに滞留管理データベースに保存する。
【００１８】
待ち合わせ制御部は、滞留管理データベースから同一のフローテンプレート識別子を含むプロセスを検索し、検索されたプロセスが待ち合わせ条件に適合しているか否かを判定し、待ち合わせ条件に適合していれば検索されたプロセスをプロセス制御部に再び実行させる。
【００１９】
全く独立して生成された複数のプロセスは異なるプロセス識別子を持つが、同一のフローテンプレートから生成されて同一のフローテンプレート識別子を持つ複数のプロセスは同一の作業内容を表すので、プロセス識別子が異なっていても統合することが可能であると考えることができる。つまり、一時停止している状態のプロセスの中で、統合することが可能である複数のプロセスを検索して再び実行させることが、フローテンプレート識別子を利用することによって可能となる。その際、検索されたプロセスが複数ある場合、待ち合わせ制御部はプロセス制御部にそれらのプロセスを統合して再び実行させるとよい。
【００２０】
ここでいう待ち合わせ条件がフローテンプレートに対応して保持されるようにすれば、異なるフローテンプレートに対して異なる待ち合わせ条件を設定することができるので、フローテンプレートによって定義される作業内容に応じて待ち合わせ条件を設定することができるようになって望ましい。待ち合わせ条件は、たとえば検索された同一のフローテンプレート識別子を含むプロセスの数が所定の数に到達していることとすることができる。また、設定された期間ごとに待ち合わせ制御部に対してタイムアウト通知を発生させるインタバルタイマ生成部が待ち合わせ制御部に併設されたワークフローシステムで、タイムアウト通知が発生したことを待ち合わせ条件とすることもできる。さらに、それらの２つの条件のうち少なくともいずれか１つを待ち合わせ条件とすることもできる。
【００２１】
一方、一時停止中の複数のプロセスの一覧をユーザに提示してユーザからのプロセス再開指示を受け付けるプロセスリスト受付部を有するワークフローシステムで、プロセスリスト受付部がユーザからのプロセス再開指示を受け付けたことを待ち合わせ条件とすることもできる。
【００２２】
本発明は、ワークフローシステムにおける複数プロセスの合流方法を提供することもできる。プロセス制御部と、プロセス滞留管理部と、滞留管理データベースと、待ち合わせ制御部とを有するワークフローシステムにおいて、本発明の合流方法は、ユーザからの複数のプロセス開始要求に基づいて、プロセス制御部が同一のフローテンプレートからそれぞれ別個のプロセス識別子および同一のフローテンプレート識別子を含んだ複数のプロセスを生成し、それらの複数のプロセスの各々を独立して実行する。それらの複数のプロセスが合流アクティビティに到達した場合にプロセス滞留管理部が各々のプロセスを一時停止して保存し、滞留管理データベースがフローテンプレート識別子ごとにプロセスの一覧として保存する。
【００２３】
そして滞留管理データベースの中でフローテンプレート識別子を含むプロセスを検索し、検索されたプロセスが待ち合わせ条件に適合しているか否かを判定し、待ち合わせ条件に適合していれば検索されたプロセスを再び実行する。その際、検索されたプロセスが複数ある場合、それらのプロセスを統合して再び実行する。
【００２４】
本発明は、ワークフローシステムが備えている動作制御用コンピュータにおいて以上で述べた合流方法を実行するコンピュータプログラム、およびそのコンピュータプログラムをコンピュータが読み取り可能なように記憶した記憶媒体を提供することもできる。
【発明の効果】
【００２５】
本発明により、全く独立して生成された複数のプロセスを統合することや、時限的な要素やユーザによる操作の要素などを含めて柔軟に指定された条件でプロセスを統合することが可能なワークフローシステム、および該システムにおける多重合流方式を提供することができた。
【発明を実施するための最良の形態】
【００２６】
［本発明の第1の実施の形態］
図２は、本発明の第1の実施の形態に係る多重合流方式が実装されるワークフローシステムのハードウェア構成例を示すブロック図である。サーバ１と、複数のクライアント２が、ＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）３を介して接続されている。ＬＡＮ３は、一般的な有線ＬＡＮや無線ＬＡＮに限らず、専用線などを介したＭＡＮやＷＡＮ、インターネットを介した仮想ＬＡＮなどであってもよい。サーバ１上では、Ａｐａｃｈｅなどのようなｈｔｔｐサーバ４と、ワークフローシステム５とが連携して動作している。ユーザは、各々のクライアント２からウェブブラウザ６を起動して、まずｈｔｔｐサーバ４にアクセスし、そこからユーザ固有のＩＤおよびパスワードを入力することによってワークフローシステム５にログインして、ワークフローシステム５を利用することができる。
【００２７】
ワークフローシステム５はサーバ１上で動作するソフトウェアである。ワークフローシステム５はｈｔｔｐサーバ４と連携して、ウェブブラウザ６上に情報を表示し、またウェブブラウザ６からの入力を受け付け、それによってクライアント２を操作するユーザへの情報出力およびユーザからの情報入力を行う。その点を除いては、ワークフローシステム５の動作はすべてワークフローシステム５内部だけで完結する。
【００２８】
この構成にすれば、サーバ１の設定さえできれば、クライアント２側では設定作業をほとんど必要とせず、またクライアント２のＯＳ（オペレーティング・システム）やウェブブラウザ６の種類などにほとんど依存しないという利点がある。ただし、本発明の実施においてはこの構成に限定されず、たとえばクライアント２に専用のアプリケーション・ソフトをインストールすることによって、ワークフローシステム５の機能の一部をクライアント２上で実行させるようにしてもよい。
【００２９】
図１は、本発明の第１の実施の形態に係るワークフローシステム５における多重合流方式の構成を示すブロック図である。本実施の形態に係るワークフローシステムにおける多重合流方式は、プロセス利用者インターフェイス１０と、プロセス制御部２０と、プロセス滞留管理部３０と、インタバルタイマ生成部４０と、待ち合わせ制御部５０と、オーダー・フロー対応表９１と、プロセス滞留データベース９２と、フローテンプレート識別子滞留管理データベース９３（以後、単に滞留管理データベース９３という）と、フローテンプレート・データベース９４と、待ち合わせ条件データベース９５とを含む。
【００３０】
プロセス利用者インターフェイス１０は、ｈｔｔｐサーバ４およびウェブブラウザ６と連携して、クライアント２を操作するユーザへの出力およびユーザからの入力を行う。より具体的には、プロセス利用者インターフェイス１０はプロセス開始要求１１と、再開プロセス選択リスト１２とを有する。プロセス開始要求１１は、ユーザからの入力に基づいて、プロセス制御部２０にプロセスを起動させるオーダーを発行する（以後このことを、オーダーを投入するという）機能である。再開プロセス選択リスト１２については後述する。
【００３１】
プロセス制御部２０は、オーダー・フロー対応表検索機能２１と、プロセス生成機能２２と、プロセス実行機能２３と、プロセス削除機能２４という各機能を有する。図３は、フローテンプレートからのプロセスの生成を表す概念図である。また図４は、オーダー・フロー対応表９１のデータ構成を示す概念図である。オーダー・フロー対応表検索機能２１は、プロセス開始要求１１によってオーダー１０１を投入された際に、投入されたオーダー１０１に対応するフローテンプレート１０４を、オーダー・フロー対応表９１の中から検索を行う機能である。オーダー・フロー対応表９１は、オーダー識別子１０２と、フローテンプレート識別子１０３とが、１対１で対応付けられている表である。
【００３２】
プロセス生成機能２２は、オーダー・フロー対応表検索機能２１によって決定されたフローテンプレート１０４をフローテンプレート・データベース９４から取得して、プロセス１０５を生成する機能である。その際、生成されるプロセス１０５には、フローテンプレート識別子１０３およびプロセス識別子１０６が含まれる。プロセス識別子１０６は、生成されたプロセス１０５に対してプロセス生成機能２２が与える識別子であり、異なるプロセス１０５に対しては異なるプロセス識別子１０６が与えられる。プロセス実行機能２３は、プロセス生成機能２２によって生成されたプロセス１０５を、その定義に従って順次実行する機能である。プロセス削除機能２４は、実行の完了したプロセス１０５を廃棄する機能である。
【００３３】
図５は、プロセス制御部２０がプロセス１０５を生成する際に実行する処理を表すフローチャートである。処理が開始されると（ステップ１５１）、プロセス開始要求１１によるオーダー１０１の投入を待つ状態となる（ステップ１５２）。オーダー１０１が投入されると、オーダー・フロー対応表検索機能２１は投入されたオーダー１０１からオーダー識別子１０２を検出し（ステップ１５３）、オーダー・フロー対応表９１でオーダー識別子１０２に対応するフローテンプレート識別子１０３を検索し（ステップ１５４）、検索して得られたフローテンプレート識別子１０３に対応するフローテンプレート１０４をフローテンプレート・データベース９４から得る（ステップ１５５）。
【００３４】
そしてプロセス生成機能２２は、プロセス識別子１０６を生成し（ステップ１５６）、検索されたフローテンプレート１０４から、フローテンプレート識別子１０３およびプロセス識別子１０６を含んだプロセス１０５を生成する（ステップ１５７）。プロセス実行機能２３は、生成されたプロセス１０５を実行する（ステップ１５８）。以後、ステップ１５２〜１５８の繰り返しとなる。
【００３５】
図２に戻って、プロセス実行機能２３が実行しているプロセス１０５が合流アクティビティに到達した場合、プロセス実行機能２３はプロセス１０５の実行を一時的に停止し、プロセス１０５の制御をプロセス滞留管理部３０に渡す。以後この状態を、プロセス１０５が滞留しているという。
【００３６】
プロセス滞留管理部３０は、プロセス保存機能３１と、プロセス参照機能３２と、プロセス活性化機能３３という各機能を有する。プロセス保存機能３１は、滞留しているプロセス１０５を、後述するプロセス滞留データベース９２に保存する機能である。同時にプロセス保存機能３１は、プロセス１０５が滞留している状態となったことを待ち合わせ制御部５０に通知する。プロセス参照機能３２は、プロセス滞留データベース９２に保存されているプロセス１０５の情報を参照する機能である。プロセス活性化機能３３は、プロセス参照機能３２によって得られたプロセス１０５の情報から、プロセス１０５を再びプロセス制御部２０に戻して実行を継続させる機能である。
【００３７】
インタバルタイマ生成部４０は、インタバルタイマ生成機能４１を有する。インタバルタイマ生成機能４１は、指定した一定期間ごとに、待ち合わせ制御部５０に対してタイムアウト通知を発生させる機能である。
【００３８】
待ち合わせ制御部５０は、待機プロセス登録機能５１と、待機プロセス検索機能５２と、プロセス再開オーダー生成機能５３という各機能を有する。待機プロセス登録機能５１は、プロセス１０５が滞留している状態となったことをプロセス保存機能３１から通知されたときに、プロセス１０５の持つフローテンプレート識別子１０３ごとに、滞留管理データベース９３にデータを保存する機能である。待機プロセス検索機能５２は、フローテンプレート識別子１０３ごとにデータを検索して、フローテンプレート識別子１０３ごとの件数を検索する機能である。プロセス再開オーダー生成機能５３については後述する。
【００３９】
プロセス滞留データベース９２は、滞留しているプロセス１０５を保存するためのデータベースである。プロセス滞留データベース９２には、プロセス１０５が持つ実行に必要なすべての情報が保存されるので、プロセス１０５がプロセス滞留データベース９２に保存されることによってデータの欠損が発生することはない。
【００４０】
図６は、滞留管理データベース９３のデータ構成を示す概念図である。滞留管理データベース９３は、合流アクティビティを管理するためのデータベースで、そのデータ構造はフローテンプレート識別子１０３、プロセス識別子１０６、待ち合わせ条件１０７、待ち合わせ件数１０８、タイマ動作間隔１０９、タイマ禁止ビット１１０などから構成される。滞留しているプロセス（以後待機プロセスという）のデータは、フローテンプレート識別子１０３ごとに分類されて、滞留管理データベース９３に保存される。
【００４１】
フローテンプレート・データベース９４は、前述のようにフローテンプレート識別子１０３に対応するフローテンプレート１０４を得ることのできるデータベースである。待ち合わせ条件データベース９５は、フローテンプレート識別子１０３に対応して、待ち合わせ条件１０７、待ち合わせ件数１０８、タイマ動作間隔１０９、タイマ禁止ビット１１０などを記憶するデータベースである。
【００４２】
図７は、本実施の第1の形態において、合流アクティビティによって統合させようとしている複数のプロセスについて示すブロック図である。いま、同一のフローテンプレート２０４から、別々にプロセス制御部２０に投入された３つのオーダー２０１ａ、２０１ｂ、２０１ｃに対応した、同一内容の処理を行う別々のプロセス２０５ａ、２０５ｂ、２０５ｃが、図５で説明した動作によって生成されたものとする。プロセス２０５ａ、２０５ｂ、２０５ｃは、それぞれ別々のプロセス識別子２０６ａ、２０６ｂ、２０６ｃと、フローテンプレート２０４に対応する共通したフローテンプレート識別子２０３を持つ。生成されたプロセス２０５ａ〜ｃは、それぞれ独立して相互に干渉することなく、プロセス実行機能２３によって実行される。
【００４３】
ここで、プロセス２０５ａ、２０５ｂ、２０５ｃにおいてそれぞれ通常アクティビティ２１１ａ、２１１ｂ、２１１ｃが３つとも実行された後に、合流アクティビティ２１３によってプロセス２０５ａ〜ｃを統合してプロセス２０５ｄとし、その後に通常アクティビティ２１５を実行することを考える。言い換えればこれは、同一のフローテンプレート識別子２０３を持つプロセスが３本滞留していることが、それらのプロセスを統合して動作を継続するための条件であることを意味する。この条件は、フローテンプレート識別子２０３に対応して、待ち合わせ条件１０７および待ち合わせ件数１０８としてあらかじめ定義され、待ち合わせ条件データベース９５に記憶されている。
【００４４】
合流アクティビティ２１３に到達したプロセス２０５ａ、２０５ｂ、２０５ｃは、それぞれ滞留した状態となり、制御がプロセス滞留管理部３０に渡され、プロセス保存機能３１によってプロセス滞留データベース９２に保存される。同時にプロセス保存機能３１は、プロセス２０５ａ、２０５ｂ、２０５ｃが滞留している状態になったことを待ち合わせ制御部５０に通知する。その際、待ち合わせ制御部５０に対して、各々のプロセスのフローテンプレート識別子２０３、プロセス識別子２０６ａ〜ｃを渡す。
【００４５】
待ち合わせ制御部５０は待ち合わせ条件データベース９５に、フローテンプレート識別子２０３に対応するフローテンプレート２０４の待ち合わせ条件１０７、待ち合わせ件数１０８、タイマ動作間隔１０９を照会し、滞留管理データベース９３にそれらの情報を記憶する。この場合、滞留管理データベース９３の待ち合わせ条件１０７は「プロセス数による待ち合わせ」、待ち合わせ件数１０８に「３」がそれぞれ記憶される。これは、待ち合わせ条件が「滞留しているプロセスの中で、フローテンプレート識別子２０３を持つプロセス数が３本以上であること」を表す。
【００４６】
図８は、本実施の第1の形態における待ち合わせ制御部５０および滞留管理データベース９３の機能を表すブロック図である。待ち合わせ制御部５０は、待機プロセス登録機能５１によって、プロセス２０５ａ、２０５ｂ、２０５ｃについての情報を、滞留管理データベース９３のフローテンプレート識別子２０３に対応する格納領域２２１に保存する。同時に滞留管理データベース９３には、各々の滞留しているプロセスについての情報が、フローテンプレート識別子２０３以外の各々のフローテンプレート識別子２０３ｘ、２０３ｙ、２０３ｚ…を持つ各々のプロセス２０５ｘ、２０５ｙ、２０５ｚ…についても、それぞれに対応する格納領域２２１ｘ、２２１ｙ、２２１ｚ…に保存されている。
【００４７】
なお、図８の中では、各々のプロセスが持つフローテンプレート識別子の種類を＜＞で囲って表現している。たとえば＜２０３＞とあるプロセス２０５は、フローテンプレート識別子２０３を含む。＜２０３ｘ＞とあるプロセス２０５ｘは、フローテンプレート識別子２０３ｘを含む。待ち合わせ制御部５０は、待機プロセス検索機能５２によって、フローテンプレート識別子２０３を持つプロセス２０５ａ、２０５ｂ、２０５ｃについての情報を検索する。そしてプロセス再開オーダー生成機能５３は、検索された各々のプロセスについての情報を得て、それらのプロセスを再開させるためのプロセス再開オーダー２２３を生成することができる。
【００４８】
図９は、本発明の第１の実施の形態において、待ち合わせ制御部５０およびプロセス滞留管理部３０がプロセス２０５ａ〜ｃを統合して再開する際に実行する処理を表すフローチャートである。処理が開始されると（ステップ２５１）、待ち合わせ制御部５０はプロセス保存機能３１からの新たに滞留したプロセスの通知を待つ状態になる（ステップ２５２）。新たに滞留したプロセスの通知があれば、待ち合わせ制御部５０は待機プロセス検索機能５２によって、フローテンプレート識別子２０３に対応する格納領域２２１を検索し、該当するプロセス数を取得する（ステップ２５３）。
【００４９】
取得したフローテンプレート識別子２０３に対応するプロセス数が、待ち合わせ条件である「３本以上」に該当するか否かを判断し（ステップ２５４）、該当しなければステップ２５２に戻って新たに滞留したプロセスの通知を待つ。待ち合わせ条件に該当すれば、待ち合わせ制御部５０は待機プロセス検索機能５２によって格納領域２２１に格納されているプロセス識別子２０６ａ〜ｃを取得し（ステップ２５５）、取得したプロセス識別子２０６ａ〜ｃをプロセス滞留管理部３０に渡す。
【００５０】
プロセス滞留管理部３０は、プロセス参照機能３２によってプロセス滞留データベース９２からプロセス２０５ａ〜ｃの実体を取得する（ステップ２５６）。取得されたプロセス２０５ａ〜ｃの実体はプロセス活性化機能３３によって再び待ち合わせ制御部５０に渡され、プロセス再開オーダー生成機能５３によって、フロー後半部に該当する通常アクティビティ２１５を実行するためのプロセス再開オーダー２２３が生成される（ステップ２５７）。生成されたプロセス再開オーダー２２３はプロセス制御部２０に渡され、プロセス実行機能２３によってプロセス２０５ａ〜ｃは統合されてプロセス２０５ｄとなり、通常アクティビティ２１５が実行される（ステップ２５８）。
【００５１】
本発明の第1の実施の形態では、以上に説明した動作によって、全く別々のオーダーによって別々に発生したプロセスを、合流アクティビティによって統合することが可能である。フローテンプレートが同一であれば、別々に発生したプロセスであっても作業そのものの内容は同一であるので、統合して行うことができる。より具体的には、同一の支払い処理が一定の件数に達した場合にまとめて処理するなどのような作業が、本発明の第1の実施の形態で可能となる。
【００５２】
［本発明の第２の実施の形態］
本発明の第２〜４の実施の形態は、ハードウェアおよびソフトウェアの構成、およびプロセス２０５ａ〜ｃが発生して合流アクティビティ２１３に到達して滞留するまでの動作についてはここまでで説明した第１の実施の形態と同一であるので、相違点を除いて説明を省略する。第２〜４の実施の形態においては、滞留しているプロセスを統合して再び実行させるための条件が第１の実施の形態と異なる。
【００５３】
以下、本発明の第２の実施の形態として、インタバルタイマ生成部４０のインタバルタイマ生成機能４１が待ち合わせ制御部５０に対してタイムアウト通知を発生させるたびに、同一のフローテンプレート識別子２０３を持つプロセスを、滞留管理データベース９３に保存されているプロセス数に関係なく実行を再開することを考える。ただし、フローテンプレート識別子２０３を持つプロセスが全く滞留していない場合には、実行の再開はされない。本発明の第２の実施の形態は、具体的には、同一の支払い処理について特定の期間内（たとえば同一月内など）の申請分をまとめて処理するなどのような作業を想定している。
【００５４】
図１０は、本発明の第２の実施の形態において、合流アクティビティによって統合させようとしている複数のプロセスについて示すブロック図である。プロセス２０５ａ〜ｃは、図７で説明されたものと同様に、同一のフローテンプレート２０４から、別々にプロセス制御部２０に投入されたオーダー２０１ａ〜２０１ｃに対応して、同一内容の処理を行う別々のプロセスとして生成されたものである。プロセス２０５ａ〜ｃは、それぞれ別々のプロセス識別子２０６ａ〜ｃと、フローテンプレート２０４に対応する共通したフローテンプレート識別子２０３を持つ。
【００５５】
第１の実施の形態と同じようにして合流アクティビティ２１３に到達したプロセス２０５ａおよび２０５ｂは、それぞれ滞留した状態となり、制御がプロセス滞留管理部３０に渡され、プロセス保存機能３１によってプロセス滞留データベース９２に保存される。ただし、この状態ではプロセス２０５ｃはまだ合流アクティビティ２１３に到達していないので、滞留した状態にはなっていない。プロセス２０５ａおよび２０５ｂに対しては、第１の実施の形態と同じようにして、プロセス保存機能３１が該プロセスが滞留している状態になったことを待ち合わせ制御部５０に通知し、同時に該プロセスのフローテンプレート識別子２０３、プロセス識別子２０６ａおよび２０６ｂを渡す。
【００５６】
待ち合わせ制御部５０は待ち合わせ条件データベース９５に、フローテンプレート識別子２０３に対応するフローテンプレート２０４の待ち合わせ条件１０７、待ち合わせ件数１０８、タイマ動作間隔１０９を照会し、滞留管理データベース９３にそれらの情報を記憶する。この場合、滞留管理データベース９３の待ち合わせ条件１０７は「タイマによる待ち合わせ」が記憶される。タイマ動作間隔１０９はインタバルタイマ生成機能４１がタイムアウト通知を発生させる周期であり、フローテンプレート識別子２０３ごとに異なる値を設定することができる。
【００５７】
図１１は、本実施の第２の実施の形態における待ち合わせ制御部５０および滞留管理データベース９３の機能を表すブロック図である。待ち合わせ制御部５０は待機プロセス登録機能５１によって、第１の実施の形態と同じように、滞留している各々のプロセス２０５ａおよび２０５ｂについての情報を、滞留管理データベース９３のフローテンプレート識別子２０３に対応する格納領域２２１に保存する。ただし、待ち合わせ制御部５０がインタバルタイマ生成機能４１からタイマ動作間隔１０９に対応する間隔でタイムアウト通知を定期的に受けている点が、図８に説明した本実施の第１の実施の形態における待ち合わせ制御部５０および滞留管理データベース９３の動作と異なる。タイムアウト通知を受けた待ち合わせ制御部５０は、待機プロセス検索機能５２によってフローテンプレート識別子２０３に該当するプロセス数を取得する。
【００５８】
図１２は、本発明の第２の実施の形態において、待ち合わせ制御部５０およびプロセス滞留管理部３０がプロセス２０５ａおよび２０５ｂを再開する際に実行する処理を表すフローチャートである。処理が開始されると（ステップ３５１）、待ち合わせ制御部５０はインタバルタイマ生成機能４１からのタイムアウト通知を待つ状態になる（ステップ３５２）。タイムアウト通知があれば、待ち合わせ制御部５０は待機プロセス検索機能５２によって、フローテンプレート識別子２０３に対応する格納領域２２１を検索し、該当するプロセス数を取得する（ステップ３５３）。取得したフローテンプレート識別子２０３に対応するプロセス数が１本以上あるか否かを判断し（ステップ３５４）、該当するプロセス数が０であればステップ３５２に戻って新たなタイムアウト通知を待つ。
【００５９】
該当するプロセス数が１本以上あれば、待ち合わせ制御部５０は格納領域２２１に格納されているプロセス識別子２０６ａおよび２０６ｂを取得する（ステップ３５５）。続いて取得したプロセス識別子２０６ａおよび２０６ｂをプロセス滞留管理部３０に渡す。
【００６０】
プロセス滞留管理部３０は、プロセス参照機能３２によってプロセス滞留データベース９２からプロセス２０５ａおよび２０５ｂの実体を取得する（ステップ３５６）。取得されたプロセス２０５ａおよび２０５ｂの実体は再び待ち合わせ制御部５０に渡され、プロセス再開オーダー生成機能５３によって、フロー後半部に該当する通常アクティビティ２１５を実行するためのプロセス再開オーダー２２３が生成される（ステップ３５７）。生成されたプロセス再開オーダー２２３はプロセス制御部２０に渡され、プロセス実行機能２３によってプロセス２０５ａおよび２０５ｂは統合されてプロセス２０５ｄとなり、通常アクティビティ２１５が実行される（ステップ３５８）。この場合、該当するプロセス数が１本のみであった場合には、プロセスの統合は行われず、そのまま動作が再開される。
【００６１】
［本発明の第３の実施の形態］
本発明の第３の実施の形態は、本発明の第２の実施の形態と同じくインタバルタイマ生成機能４１を使用し、インタバルタイマ生成機能４１からの待ち合わせ制御部５０に対してタイムアウト通知を発生した場合、もしくは同一のフローテンプレート識別子２０３を持つプロセスが所定の本数滞留している場合に、該プロセスの実行を再開する。プロセス２０５ａ〜ｃは、図１０で説明された第２の実施の形態のものと同一である。プロセス２０５ａ〜ｂは合流アクティビティ２１３に到達してそれぞれ滞留した状態となり、制御がプロセス滞留管理部３０に渡され、プロセス保存機能３１によってプロセス滞留データベース９２に保存される。プロセス２０５ｃはまだ合流アクティビティ２１３に到達していないので、滞留した状態にはなっていない。
【００６２】
この場合、滞留管理データベース９３の待ち合わせ条件１０７には「プロセス数とタイマによる待ち合わせ」、待ち合わせ件数１０８には「３」、タイマ動作間隔１０９にはインタバルタイマ生成機能４１のタイムアウト通知の発生周期がそれぞれ記憶される。これは、待ち合わせ条件が「滞留しているプロセスの中でフローテンプレート識別子２０３を持つプロセス数が３本以上であること、またはインタバルタイマ生成機能４１からタイムアウト通知があること」を表す。ただし、ここでタイマ禁止ビット１１０に「１」が記録されていれば、タイムアウト通知は待ち合わせ条件に含まれず、第1の実施の形態と同じ待ち合わせ条件となる。
【００６３】
本発明の第３の実施の形態は、具体的には、同一の支払い処理が一定の件数に達した場合、または一定の件数に達しなくても特定の期間が終了した場合（たとえば月末など）にまとめて処理するなどのような作業を想定している。
【００６４】
図１３は、本発明の第３の実施の形態において、待ち合わせ制御部５０およびプロセス滞留管理部３０がプロセス２０５ａ〜ｂを統合して再開する際に実行する処理を表すフローチャートである。処理が開始されると（ステップ４５１）、待ち合わせ制御部５０はプロセス保存機能３１からの新たに滞留したプロセスの通知およびインタバルタイマ生成機能４１からのタイムアウト通知を待つ状態になる（ステップ４５２）。
【００６５】
新たに滞留したプロセスの通知があれば、待ち合わせ制御部５０は待機プロセス検索機能５２によって、フローテンプレート識別子２０３に対応する格納領域２２１を検索し、該当するプロセス数を取得する（ステップ４５３）。取得したフローテンプレート識別子２０３に対応するプロセス数が「３本以上」に該当するか否かを判断し（ステップ４５４）、該当しなければステップ２５２に戻って新たに滞留したプロセスの通知およびタイムアウト通知を待つ。
【００６６】
一方、ステップ４５２でタイムアウト通知があった場合も、待ち合わせ制御部５０は待機プロセス検索機能５２によって、フローテンプレート識別子２０３に対応する格納領域２２１を検索し、該当するプロセス数を取得する（ステップ４５５）。取得したフローテンプレート識別子２０３に対応するプロセス数が「１本以上」に該当するか否かを判断し（ステップ４５６）、対応するプロセス数が０であればステップ２５２に戻って新たに滞留したプロセスの通知およびタイムアウト通知を待つ。
【００６７】
ステップ４５４および４５６で、プロセス数がそれぞれの条件のうちいずれかに該当したら、待ち合わせ制御部５０は格納領域２２１に格納されているプロセス識別子２０６ａ〜ｂを取得する（ステップ４５７）。続いて取得したプロセス識別子２０６ａ〜ｂをプロセス滞留管理部３０に渡す。なお、タイマ禁止ビット１１０に「１」が記録されていれば、ステップ４５５〜４５６の動作は行われない。
【００６８】
プロセス滞留管理部３０は、プロセス参照機能３２によってプロセス滞留データベース９２からプロセス２０５ａ〜ｂの実体を取得する（ステップ４５８）。取得されたプロセス２０５ａ〜ｂの実体は再び待ち合わせ制御部５０に渡され、プロセス再開オーダー生成機能５３によって、フロー後半部に該当する通常アクティビティ２１５を実行するためのプロセス再開オーダー２２３が生成される（ステップ４５９）。生成されたプロセス再開オーダー２２３はプロセス制御部２０に渡され、プロセス実行機能２３によってプロセス２０５ａ〜ｂは統合されてプロセス２０５ｄとなり、通常アクティビティ２１５が実行される（ステップ４６０）。この場合、該当するプロセス数が１本のみであった場合には、プロセスの統合は行われず、そのまま動作が再開される。
【００６９】
［本発明の第４の実施の形態］
本発明の第４の実施の形態は、滞留しているプロセスの一覧をユーザに対して表示し、ユーザから指示のあったプロセスのみを再開する。プロセス２０５ａ〜ｃは、図１０で説明された第２の実施の形態のものと同一である。プロセス２０５ａ〜ｂは合流アクティビティ２１３に到達してそれぞれ滞留した状態となり、制御がプロセス滞留管理部３０に渡され、プロセス保存機能３１によってプロセス滞留データベース９２に保存される。プロセス２０５ｃはまだ合流アクティビティ２１３に到達していないので、滞留した状態にはなっていない。この場合、滞留管理データベース９３の待ち合わせ条件１０７には「合流指示による待ち合わせ」が記憶される。これは、待ち合わせ条件が「ユーザから指示のあったプロセスであること」を表す。
【００７０】
再開プロセス選択リスト１２は、プロセス利用者インターフェイス１０に含まれる機能であり、現在滞留しているプロセスの一覧をユーザに対して表示し、その中からユーザが再開したいプロセスについての入力を受け付ける機能である。ユーザは、再開プロセス選択リスト１２に表示されているプロセスの中から、再開したいプロセスを選択して入力することができる。この操作は、ワークフローシステム５の中で特定の権限を持つユーザ、たとえば管理者や運用責任者などだけが許可されるようにすることができる。
【００７１】
図１４は、本発明の第４の実施の形態において、待ち合わせ制御部５０およびプロセス滞留管理部３０がプロセス２０５ａ〜ｂを統合して再開する際に実行する処理を表すフローチャートである。処理が開始されると（ステップ５５１）、待ち合わせ制御部５０はプロセス保存機能３１からの新たに滞留したプロセスの通知およびユーザからの再開プロセス選択リスト１２の入力を待つ状態になる（ステップ５５２）。
【００７２】
新たに滞留したプロセスの通知があれば、待ち合わせ制御部５０は待機プロセス検索機能５２によって、フローテンプレート識別子２０３に対応する格納領域２２１を検索し、該当するプロセスの識別子を再開プロセス選択リスト１２に伝達して追加表示させて（ステップ５５３）、ステップ５５２に戻る。ステップ５５２でユーザからの再開プロセス選択リスト１２の入力があれば、待ち合わせ制御部５０は再開プロセス選択リスト１２からユーザが選択したプロセスに該当するプロセス識別子２０６ａ〜ｂを取得する（ステップ５５４）。続いて取得したプロセス識別子２０６ａ〜ｂをプロセス滞留管理部３０に渡す。
【００７３】
プロセス滞留管理部３０は、プロセス参照機能３２によってプロセス滞留データベース９２からプロセス２０５ａ〜ｂの実体を取得する（ステップ５５５）。取得されたプロセス２０５ａ〜ｂの実体は再び待ち合わせ制御部５０に渡され、プロセス再開オーダー生成機能５３によって、フロー後半部に該当する通常アクティビティ２１５を実行するためのプロセス再開オーダー２２３が生成される（ステップ５５６）。
【００７４】
生成されたプロセス再開オーダー２２３はプロセス制御部２０に渡され、プロセス実行機能２３によってプロセス２０５ａ〜ｂは統合されてプロセス２０５ｄとなり、通常アクティビティ２１５が実行される（ステップ５５７）。そして再開されたプロセス２０５ａ〜ｂは、再開プロセス選択リスト１２から削除される（ステップ５５８）。この場合、該当するプロセス数が１本のみであった場合には、プロセスの統合は行われず、そのまま動作が再開される。
【００７５】
以上の各々の実施の形態で、待ち合わせ条件はフローテンプレート２０４ごとに設定して、フローテンプレート識別子２０３に対応して待ち合わせ条件データベース９５の中に保存することが可能である。このため、同一のワークフローシステムの中であっても、フローテンプレートに定義された作業の内容に応じて、フローテンプレートごとに異なる待ち合わせ条件を設定することが可能である。
【００７６】
たとえば、あるフローテンプレートに対しては、第１の実施の形態として示した「プロセス数による待ち合わせ」を指定し、別のフローテンプレートに対しては第２の実施の形態として示した「タイマによる待ち合わせ」を指定することも可能である。また、「タイマによる待ち合わせ」を指定するフローテンプレートが複数ある場合、タイマ動作間隔１０９をフローテンプレートごとに異なる周期にすることも可能である。もちろん、待ち合わせ条件としては、上記第１〜４の実施の形態において例示したもの以外の条件を適用することもできるし、また複数の条件を組み合わせて設定することもできる。
【００７７】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１の実施の形態に係るワークフローシステムにおける多重合流方式の構成を示すブロック図である。
【図２】本発明の第1の実施の形態に係る多重合流方式が実装されるワークフローシステムのハードウェア構成例を示すブロック図である。
【図３】本発明の第1の実施の形態で、フローテンプレートからのプロセスの生成を表す概念図である。
【図４】本発明の第1の実施の形態で、オーダー・フロー対応表のデータ構成を示す概念図である。
【図５】本発明の第1の実施の形態で、プロセス制御部がプロセスを生成する際に実行する処理を表すフローチャートである。
【図６】本発明の第1の実施の形態で、滞留管理データベースのデータ構成を示す概念図である。
【図７】本実施の第1の実施の形態において、合流アクティビティによって統合させようとしている複数のプロセスについて示すブロック図である。
【図８】本実施の第1の実施の形態における待ち合わせ制御部および滞留管理データベースの機能を表すブロック図である。
【図９】本発明の第１の実施の形態において、待ち合わせ制御部およびプロセス滞留管理部がプロセスを統合して再開する際に実行する処理を表すフローチャートである。
【図１０】本発明の第２の実施の形態において、合流アクティビティによって統合させようとしている複数のプロセスについて示すブロック図である。
【図１１】本実施の第２の実施の形態における待ち合わせ制御部および滞留管理データベースの機能を表すブロック図である。
【図１２】本発明の第２の実施の形態において、待ち合わせ制御部およびプロセス滞留管理部がプロセスを再開する際に実行する処理を表すフローチャートである。
【図１３】本発明の第３の実施の形態において、待ち合わせ制御部およびプロセス滞留管理部がプロセスを再開する際に実行する処理を表すフローチャートである。
【図１４】本発明の第４の実施の形態において、待ち合わせ制御部およびプロセス滞留管理部がプロセスを再開する際に実行する処理を表すフローチャートである。
【図１５】従来のワークフローシステムにおけるプロセスの分岐および合流の一例を表すブロック図である。
【符号の説明】
【００７９】
５  ワークフローシステム
１０  プロセス利用者インターフェイス
１１  プロセス開始要求
１２  再開プロセス選択リスト
２０  プロセス制御部
２１  オーダー・フロー対応表検索機能
２２  プロセス生成機能
２３  プロセス実行機能
２４  プロセス削除機能
３０  プロセス滞留管理部
３１  プロセス保存機能
３２  プロセス参照機能
３３  プロセス活性化機能
４０  インタバルタイマ生成部
４１  インタバルタイマ生成機能
５０  待ち合わせ制御部
５１  待機プロセス登録機能
５２  待機プロセス検索機能
５３  プロセス再開オーダー生成機能
９１  オーダー・フロー対応表
９２  プロセス滞留データベース
９３  滞留管理データベース
９４  フローテンプレート・データベース
９５  待ち合わせ条件データベース
１０１、２０１ａ、２０１ｂ、２０１ｃ  オーダー
１０２  オーダー識別子
１０３、２０３、２０３ｘ、２０３ｙ、２０３ｚ  フローテンプレート識別子
１０４、２０４  フローテンプレート
１０５、２０５ａ、２０５ｂ、２０５ｃ、２０５ｄ、２０５ｘ、２０５ｙ、２０５ｚ  プロセス
１０６、２０６ａ、２０６ｂ、２０６ｃ  プロセス識別子
１０７  待ち合わせ条件
１０８  待ち合わせ件数
１０９  タイマ動作間隔
１１０  タイマ禁止ビット
２１１ａ、２１１ｂ、２１１ｃ、２１５  通常アクティビティ
２１３  合流アクティビティ
２２１、２２１ｘ、２２１ｙ、２２１ｚ  格納領域
２２３  プロセス再開オーダー
【図１】
2009043199.tif 000003
【図２】
2009043199.tif 000004
【図３】
2009043199.tif 000005
【図４】
2009043199.tif 000006
【図５】
2009043199.tif 000007
【図６】
2009043199.tif 000008
【図７】
2009043199.tif 000009
【図８】
2009043199.tif 000010
【図９】
2009043199.tif 000011
【図１０】
2009043199.tif 000012
【図１１】
2009043199.tif 000013
【図１２】
2009043199.tif 000014
【図１３】
2009043199.tif 000015
【図１４】
2009043199.tif 000016
【図１５】
2009043199.tif 000017