(57)【要約】【課題】ワークフローにおいて、工程を既に終了されている工程に戻す場合でも、システム管理者に余分な負担を掛けることなく、業務を滞りなく処理させることができるワークフローシステムを提供する。【解決手段】ワークフローシステムは、複数の工程の処理順序が記載されたルーティングテーブルを保持し、ルーティングテーブルに従い複数の工程のルーティングを制御する制御サーバ１０を備え、制御サーバ１０は、前工程の作業終了が検出されると、次工程を実行する情報処理装置に対して作業開始可能を通知し、作業開始可能が通知された情報処理装置から、既に終了されている工程のうちの一つを戻し先の工程として指定する工程変更指示が出されると、指示された工程変更指示により指定された戻し先の工程からそれ以降の工程が含まれるようにルーティングテーブルを変更する。【選択図】      図１
2004240852.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムであって、
前記複数の工程の処理順序が記載されたワークフローテンプレートを保持し、前記ワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御装置を備え、
前記制御装置は、前工程の作業終了が検出されると、次工程を実行する情報処理装置に対して作業開始可能を通知する通知手段と、前記作業開始可能が通知された情報処理装置から、既に終了されている工程のうちの一つを戻し先の工程として指定する工程変更指示が出されると、前記指示された工程変更指示により指定された戻し先の工程からそれ以降の工程が含まれるように前記ワークフローテンプレートを変更する変更手段とを有することを特徴とするワークフローシステム。
【請求項２】
複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムであって、
前記複数の工程の処理順序が記載されたワークフローテンプレートを保持し、前記ワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御装置を備え、
前記制御装置は、前工程の作業終了が検出されると、次工程が同一優先度工程群または代替工程群であるか否かを判別する判別手段と、前記次工程が同一優先度工程群であると判別された場合、該同一優先度工程群に含まれる複数の工程が順不同に実行された後に該同一優先度工程群に続く工程へ移行するように前記ワークフローテンプレートを変更し、前記次工程が代替工程群であると判別された場合、該代替工程群に含まれる複数の工程のうち、いずれか１つの工程が実行された後に該代替工程群に続く工程へ移行するように前記ワークフローテンプレートを変更する変更手段とを有することを特徴とするワークフローシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムに関する。
【０００２】
【従来の技術】
ワークフローは、通常、仕事の流れをグラフ構造によって表現し、各ノードが、その工程でなすべき作業を表す。また、各アークが仕事の流れを定義しており、ノードとノードがアークで結ばれている場合、これは、前の作業が完了しないと、次の作業を開始することができないことを意味する。ワークフローにおいて、各工程での実際の作業は担当者によって行われ、作業の流れの管理は全てワークフローシステムによって行われる。すなわち、ワークフローシステムは、定義されたワークフローを元に、前作業が終了すると、適宜、後作業の開始を許可するように、作業全体の流れを管理するものである。
【０００３】
【特許文献１】
特開平１０−１１５０７号公報
【特許文献２】
特開平９−３０５６６８号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、従来のワークフローシステムにおいて、業務処理を自動化するためには、実行すべき業務処理をワークフローとして予め定義しておく必要がある。従って、業務に差し戻しが発生した場合、システム管理者がワークフローの定義を変更、登録、フローステップの調整などの作業を行う必要があり、余分な時間が掛かるなど問題がある。
【０００５】
また、予め、戻り工程を定義する場合、考えられる全てのフローを登録する必要があり、各工程で判断が入ることになる。よって、これも実用的ではないといわざるを得ない。
【０００６】
本発明の第１の目的は、ワークフローにおいて、工程を既に終了されている工程に戻す場合でも、システム管理者に余分な負担を掛けることなく、業務を滞りなく処理させることができるワークフローシステムを提供することにある。
【０００７】
本発明の第２の目的は、ワークフロー中に、同一優先度工程群または代替工程群が含まれている場合でも、システム管理者に余分な負担を掛けることなく、同一優先度工程群または代替工程群を含むワークフローを滞りなく実行させることができるワークフローシステムを提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、上記第１の目的を達成するため、複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムであって、前記複数の工程の処理順序が記載されたワークフローテンプレートを保持し、前記ワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御装置を備え、前記制御装置は、前工程の作業終了が検出されると、次工程を実行する情報処理装置に対して作業開始可能を通知する通知手段と、前記作業開始可能が通知された情報処理装置から、既に終了されている工程のうちの一つを戻し先の工程として指定する工程変更指示が出されると、前記指示された工程変更指示により指定された戻し先の工程からそれ以降の工程が含まれるように前記ワークフローテンプレートを変更する変更手段とを有することを特徴とする。
【０００９】
また、本発明は、上記第２の目的を達成するため、複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムであって、前記複数の工程の処理順序が記載されたワークフローテンプレートを保持し、前記ワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御装置を備え、前記制御装置は、前工程の作業終了が検出されると、次工程が同一優先度工程群または代替工程群であるか否かを判別する判別手段と、前記次工程が同一優先度工程群であると判別された場合、該同一優先度工程群に含まれる複数の工程が順不同に実行された後に該同一優先度工程群に続く工程へ移行するように前記ワークフローテンプレートを変更し、前記次工程が代替工程群であると判別された場合、該代替工程群に含まれる複数の工程のうち、いずれか１つの工程が実行された後に該代替工程群に続く工程へ移行するように前記ワークフローテンプレートを変更する変更手段とを有することを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１１】
（第１実施形態）
図１は本発明の第１実施形態に係るワークフローシステムの構成を示すブロック図である。
【００１２】
ワークフローシステムは、図１に示すように、制御サーバ１０と、ワークフローを実行するためのデータが格納されているワークフローデータベース（ワークフローＤＢ）２０と、各作業者によりそれぞれ工程を実現するための複数の情報処理装置１００，２００，３００，４００とを備え、これらはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３０を介して通信可能に接続される。
【００１３】
制御サーバ１０は、ワークフロールーティング制御を行い、作業工程の遷移、各作業工程の作業者への情報の受け渡しを管理するルーティング制御部１１と、前工程の作業終了時、次工程に作業開始可能を通知する通知部１２と、後述する情報処理装置１００，２００，３００，４００の着手宣言部１０２，２０２，３０３，４０２により宣言された作業が存在するかを監視する監視部１３と、監視部１３により検出された結果に基づいてワークフローを変更する変更部１４とを有する。
【００１４】
各情報処理装置１００，２００，３００，４００は、制御サーバ１０が管理するデータに対して業務担当者が入出力処理を行うためのインターフェースの役割を担う表示部１０１，２０１，３０１，４０１と、作業着手開始を宣言する着手宣言部１０２，２０２，３０２，４０２と、作業終了を宣言する終了宣言部１０３，２０３，３０３，４０３と、業務担当者の操作に応じてデータなどを入力するための入力部１０４，２０４，３０４，４０４とを有する。
【００１５】
次に、制御サーバ１０、ワークフローデータベース２０、情報処理装置１００，…，４００の動作について説明する。
【００１６】
まず、ワークフローデータベース２０について図２ないし図５を参照しながら説明する。図２は図１のワークフローシステムで取り扱われるワークフローの一例を示す図、図３は図１のワークフローデータベースに格納されている工程番号とそれに対応する工程を示す図、図４は図１のワークフローデータベース２０に格納されている図２のワークフローの初期状態を表すルーティングテーブルを示す図、図５は図４のルーティングテーブルが更新された状態を示す図である。
【００１７】
ワークフローデータベース２０には、各業務に関するワークフロー、各工程の作業内容、担当者などのデータが格納されている。ここでは、例えば図２に示すワークフローを行う場合を想定してワークフローデータベース２０について説明する。
【００１８】
図２に示すワークフローは、１，２，５，６の番号でそれぞれ表される４つの工程からなり、工程１が終了すると工程２へ、工程２が終了すると工程５へ、工程５が終了すると工程６へ業務を流すことを表す。各工程番号には、図３に示すようなテーブル形式で、工程名が対応付けられており、このテーブルはワークフローデータベース２０に格納されている。このテーブルにおいては、工程番号１が加工Ａ、工程番号２が加工Ｂ、工程３が加工Ｃ、工程４が加工Ｄ、工程５が加工Ｅ、工程６が加工Ｆ、工程７が加工Ｇ、工程８が加工Ｈ、工程９が加工Ｍ、工程１０が加工Ｎに対応している。よって、図２のワークフローは、加工Ａ、加工Ｂ、加工Ｅ、加工Ｆの順に作業が流れていくことを表す。
【００１９】
図２のワークフローが登録されると、図４に示すような、ワークフローにおける各工程の処理順序がテーブル形式で記述されたルーティングテーブルがワークフローデータベース２０に格納される。このルーティングテーブルは、前工程番号、現工程番号、後工程番号、ステータス情報から構成される。ここで、図４に示すルーティングテーブルは、ワークフローの初期状態を表し、ステータスは全て未に設定されている。また、テーブル中のＳｔは開始ポイント、Ｆｎは終了ポイントを表し、これらは、図２においては省略されている。このルーティングテーブルは、ワークフローが進むにつれて更新される。例えば、工程１、工程２が終了し、現工程が工程５である場合、上記テーブルは、図５に示すように、更新される。ここで、工程１および工程２に関しては、そのステータスが「済」すなわち終了していることを表し、工程５のステータスは当該工程が現在の工程であることを表している。そして、工程に関しては、そのステータスが「未」すなわち未実施であることを表している。
【００２０】
工程５が終了し、作業を次工程６に進める場合、工程５の担当者は、作業が終了すると、その情報処理装置１００，…，４００の終了宣言部１０２，…，４０２を介して作業終了を宣言する。制御サーバ１０の監視部１３は、上記作業終了宣言を受ると、工程５が終了したことを検知し、ワークフローデータベース２０から次工程が工程６であることを認識する。そして、通知部１２は工程６を実行する情報処理装置１００，…，４００へ作業開始可能通知を行う。この作業開始通知を受けた情報処理装置１００，…，４００は、作業開始が可能である旨を表示部３０１，…，４０１に表示する。
【００２１】
次に、ワークフローにおいて戻しが発生した場合について図６ないし図１４を参照しながら説明する。図６は図１のワークフローシステムが取り扱うワークフローの他の例を示す図、図７は図６のワークフローの初期状態を表すルーティングテーブルを示す図、図８は図７のルーティングテーブルが更新された状態の一例を示す図、図９は図７のルーティングテーブルが更新された状態の他の例を示す図、図１０は工程９を実行する情報処理装置の初期画面例を示す図、図１１は工程９を実行する情報処理装置における引き当てられた業務内容を表す画面例を示す図、図１２は工程９を実行する情報処理装置におけるワークフロー表示ウィンドウとワークフロー変更ウィンドウを表示した際の画面例を示す図、図１３は図１２のワークフロー表示ウィンドウとワークフロー変更ウィンドウ上に工程変更が反映された場合の画面例を示す図、図１４は図１の制御サーバ１０の処理手順を示すフローチャートである。
【００２２】
ここでは、図６に示すワークフローを想定する。このワークフローにおいては、工程１、工程２、工程３、工程４、工程９、工程６、工程７、工程８の順にルーティングが行われる。すなわち、加工がＡ、Ｂ、Ｃ、Ｄ、Ｍ、Ｆ、Ｇ、Ｈの順に行われることになる。このワークフローが登録されると、図７に示すような、ワークフローの初期状態を表すルーティングテーブルがワークフローデータベース２０に格納される。
【００２３】
工程４が完了するまでのルーティング処理は、図２のワークフローの場合と同じである。
【００２４】
次に、工程４が完了し、工程９において戻しが発生したとし、この場合の処理について説明する。工程４が完了すると、工程４を実行する情報処理装置の終了宣言部（情報処理装置１００，…，４００のいずれかの終了宣言部１０３，…，４０３）により、作業終了が宣言される。この作業終了宣言は、動作的には、図１０の完了ボタン１３０を押すことによりなされる。この作業終了宣言により、上記テーブルにおける工程４のステータスは、「未」から「済」に変更される。制御サーバ１０の監視部１３は、ルーティングテーブルを監視しており、ステータスが「未」から「済」になったことにより、当該作業が終了したことを検出する。ここで、工程４の次工程は工程９であるため、通知部１２は、工程９を実行する情報処理装置１００，…，４００に、作業開始可能の通知を行う。
【００２５】
ここで、工程９を実行する情報処理装置を１００とすると、その表示部１０１は、図１０に示す画面を表示する。この画面には、業務一覧１１０が表示され、この業務一覧１１０は、上記通知結果が追加されたものである。また、業務一覧１１０に記載されている業務（同図内の図面記号１１１，２２２，３３３，４４４，５５５，６６６，７７７）は、それぞれ固有の加工手順に従ったワークフローに従い現在、工程番号９の加工Ｍを行うところで仕掛かっている状態を表している。
【００２６】
作業担当者は、情報処理装置１００の表示部１０１に表示された業務一覧から、着手すべき業務を判断し、業務を開始する。ここで、通知されたＡＢＣ加工（図面記号８８８）を開始する場合、作業担当者は、表示されている業務一覧からＡＢＣ加工を選択し、引当ボタン１２０を押下する。これにより、引き当てられた業務は、表示部１０１において、図１１に示すように表示され、また、業務開始のフラグ（ワークフローテーブル中の「現」）が、ワークフローデータベース２０のワークフローテーブルに書き込まれる（図８を参照）。この書込みは、制御サーバ１０の監視部１３により監視されており、ルーティング制御部１１は、監視部１３の監視結果から業務が開始されたことを認識する。
【００２７】
通常、この工程での作業が正常に終了した場合、完了ボタン１３０が押されて、作業が次工程に引き渡されることになるが、トラブルなどの発生により、前工程に戻す必要が発生した場合は、以下の手続きがとられる。
【００２８】
作業を前工程に戻す必要が発生した場合、作業担当者は、情報処理装置１００の表示部１０１にある工程変更ボタン１４０を押下する。同ボタンが押下されたことを認識した情報処理装置１００は、図１２に示すように、当該作業のワークフロー表示ウィンドウ１６０とワークフロー変更ウィンドウ１５０を表示部１０１にオープンする。ワークフロー表示ウィンドウ１６０は、ワークフローを表すグラフを表示し、各工程を囲う○印の下には、チェック欄が表示される。ここで、終了している工程に対しては、そのチェック欄がチェックされており、ワークフローにおける現在の工程すなわち加工Ｍは、太い実線の○印で囲われている。
【００２９】
ワークフロー変更ウィンドウ１５０は、工程変更に必要な項目を入力するためのウィンドウである。ここで、戻し工程を加工Ｂ、分類を修正とし、加工Ｂ後のワークフローにおいて、再度、加工Ｃを行う場合は、業務担当者により、ワークフロー表示ウィンドウ１６０における加工Ｃのチェックがはずされる。この操作により、作業が加工Ｂに戻され、加工Ｂ、加工Ｃが再度行われた後に、加工Ｄがスキップされて作業が加工Ｍに移行されるように設定され、この設定状態は、図１３に示すように、ワークフロー表示ウィンドウ１６０とワークフロー変更ウィンドウ１５０上でそれぞれ反映される。そして、作業担当者により、ワークフロー変更ウィンドウ１５０における登録ボタン１７０が押され、工程変更の内容が確定される。以上の操作が、作業担当者の操作である。
【００３０】
上述したように工程変更が確定されると、図９に示すように、加工Ｍの後の加工Ｂに戻り、加工Ｂ、Ｃを行い、本来の加工Ｄをスキップして、加工Ｍ、以下、加工Ｆ、Ｇ、Ｈとワークフローが進むようにルーティングテーブルの書き換えが行われる。
【００３１】
次に、制御サーバ１０の処理について図１４を参照しながら説明する。
【００３２】
制御サーバ１０においては、図１４に示すように、監視部１３により各工程の作業が終了したか否かの監視が行われている（ステップＳ１０）。監視部１３は、ルーティングテーブルのステータスを監視しており、作業担当者の情報処理装置の終了宣言部によりルーティングテーブルのステータスが「未」から「済」に変更された事象を検知すると、この作業が終了したことを検知する。
【００３３】
次いで、ルーティング制御部１１が工程の戻しが発生したか否かを判定する（ステップＳ２０）。この工程の戻しが発生したか否かの判定は、現在の工程を実行する情報処理装置における工程変更ボタン１４０が押されたか否かにより行われ、工程変更ボタン１４０が押されず、完了ボタン１３０が押された場合は、工程変更は無いと判定される。ここで、工程の戻しが発生したと判定された場合、ルーティング制御部１１は、戻し工程が入力されるのを待つ（ステップＳ３０）。戻し工程の入力の有無は、登録ボタン１７０が押されたか否かにより判定する。
【００３４】
ここで、戻し工程が入力されると、ルーティング制御部１１は、スキップする工程があるか否かを判定する（ステップＳ４０）。スキップする工程の有無は、現在の工程を実行する情報処理装置の表示部に表示されているワークフロー表示ウィンドウ１６０のチェック欄のチェックの有無により判定される。そして、スキップする工程がある場合、変更部１３は、入力された戻し工程およびスキップ工程に基づいてワークフローデータベース２０内のルーティングテーブルを書き換える（ステップＳ５０）。図１３に示す工程変更例の場合、加工Ｍの後の加工Ｂに戻り、加工Ｂ、Ｃを行い、本来の加工Ｄをスキップして、加工Ｍ、以下、加工Ｆ、Ｇ、Ｈとワークフローが進むようにルーティングテーブルの書き換えが行われる（図９を参照）。
【００３５】
次いで、通知部１２により、次工程を実行する情報処理装置に対して作業開始可能通知が出される（ステップＳ７０）。図１３に示す工程変更例では、工程Ｂの情報処理装置に対して作業開始可能通知が出される。そして、処理が上記ステップＳ１０に戻される。
【００３６】
上記ステップＳ４０においてスキップする工程が無いと判定された場合、変更部１３は、入力された戻し工程に基づいてワークフローデータベース２０内のルーティングテーブルを書き換える（ステップＳ５０）。そして、通知部１２により、次工程を実行する情報処理装置に対して作業開始可能通知が出され（ステップＳ７０）、処理が上記ステップＳ１０に戻される。
【００３７】
上記ステップＳ２０において工程の戻しが発生していないと判定された場合、ルーティング制御部１１は、ルーティングテーブルを参照して次工程が存在するか否かを判定する（ステップＳ８０）。ここで、次工程が存在する場合、通知部１２により、次工程を実行する情報処理装置に対して作業開始が可能である旨の通知が出される（ステップＳ７０）。これに対し、次工程が存在しない場合、本処理は終了する。
【００３８】
このように、本実施形態では、ワークフローにおいて、工程を既に終了されている工程に戻す場合、システム管理者がワークフローテンプレートの定義の変更、再登録などの作業を行う必要がなく、ワークフローの一連の作業を滞りなく処理させることができる。
【００３９】
（第２実施形態）
次に、本発明の第２実施形態について図面を参照しながら説明する。図１５は本発明の第２実施形態に係るワークフローシステムの構成を示すブロック図である。
【００４０】
ワークフローシステムは、図１５に示すように、制御サーバ１０と、ワークフローを実行するためのデータが格納されているワークフローデータベース（ワークフローＤＢ）２０と、各作業者によりそれぞれ工程を実現するための複数の情報処理装置１００，２００，３００，４００とを備え、これらはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３０を介して通信可能に接続される。
【００４１】
制御サーバ１０は、ワークフロールーティング制御を行い、作業工程の遷移、各作業工程の作業者への情報の受け渡しを管理するルーティング制御部１１と、前工程の作業終了時、次工程に作業開始可能を通知する通知部１２と、後述する情報処理装置１００，２００，３００，４００の着手宣言部１０２，２０２，３０３，４０２により宣言された業務が存在するかを監視する監視部１３と、監視部１３により検出された結果に基づいてワークフローを変更する変更部１４と、通知済みの工程に対し、取り消しを通知する取り消し部１５と、同一の優先度を有する工程または代替工程を有する工程を判別する判別部１６とを有する。
【００４２】
各情報機器端末１００，２００，３００，４００は、上記第１実施形態の情報機器端末と同じ構成を有し、それぞれは、表示部、着手宣言部、終了宣言部、および入力部を有する。各情報機器端末１００，２００，３００，４００の表示部は、上記第１実施形態と同様に、制御サーバ１０が管理するデータに対して作業者が入出力処理を行うためのインターフェースの役割をする。
【００４３】
ワークフローデータベース２０には、上記第１実施形態のワークフローデータベース２０と同様に、各業務に関するワークフロー、各工程の作業内容、担当者などのデータが格納されている（図２ないし図５を参照）。
【００４４】
ここで、図２に示すワークフローにおいて、工程５が終了し、作業を次工程６に進める場合、工程５の担当者は、作業が終了すると、その情報処理装置１００，…，４００の終了宣言部は作業終了を宣言する。制御サーバ１０の監視部１３は、上記作業終了の宣言を監視しており、監視部１３により作業終了宣言が検出されると、通知部１２は次工程の工程６を実行する情報処理装置１００，…，４００へ作業開始可能通知を出す。作業開始可能通知を受けた情報処理装置１００，…，４００は、作業開始可能である旨を表示部に表示する。この手順は、上記第１実施形態と同じである。
【００４５】
次に、複数の工程を並行に処理するワークフローについて図１６ないし図２３を参照しながら説明する。図１６は図１５のワークフローシステムが取り扱うワークフローの一例を示す図、図１７は図１５のワークフローシステムが取り扱うワークフローの他の例を示す図、図１８は図１５のワークフローシステムが取り扱うワークフローのさらに他の例を示す図、図１９は図１６のワークフローの初期状態を表すルーティングテーブルを示す図、図２０は図１７のワークフローの初期状態を表すルーティングテーブルを示す図、図２１は図１８の図１７のワークフローの初期状態を表すルーティングテーブルを示す図、図２２は図２０の同一優先度工程群管理テーブルの一例を示す図、図２３は図２１の代替工程群管理テーブルを示す図である。
【００４６】
まず図１６に示すワークフローにおいては、工程１、工程２、工程３、工程４、工程５、工程６、工程７があり、これらに工程のうち、各工程３，４，５は並列に処理されるものであることが表されている。すなわち、工程２が終了すると、工程３，４，５を実行する情報処理装置に対して作業開始可能が通知され、これらの工程が並行に実行される。そして、各工程３，４，５が終了すると、次工程である工程６を実行する情報処理装置に作業開始可能が通知される。このワークフローが登録されると、図１９に示すような、ワークフローの初期状態を表すテーブルがワークフローデータベース２０に格納される。
【００４７】
図１７に示すワークフローは、各工程３，４，５の間には業務の先行関係が存在せず、各工程３，４，５を同時に実行することができないことを表している。すなわち、各工程３，４，５は順不同に実行される同一優先度を有する工程である。そして、これらの工程３，４，５の全てが終了すると、工程６を実行する担当者に業務開始可能が通知される。このワークフローが登録されると、図２０に示すような、ワークフローの初期状態を表すテーブルがワークフローデータベース２０に格納される。この図２０に示すテーブルにおいて、工程Ｂ１は、各工程３，４，５を含む同一優先度工程群であり、図２２に示すような、同一優先度工程を管理する同一優先度工程群管理テーブルで管理される。この同一優先度工程群管理テーブルは、ワークフローデータベース２０に格納される。
【００４８】
図１８に示すワークフローは、各工程３，４，５のうち、いずれか１つの工程が終了すれば、他の工程を実行せずに、工程６を実行する担当者に作業開始可能を通知する場合を表している。ここで、各工程３，４，５は、代替工程である。このワークフローが登録されると、図２１に示すような、ワークフローの初期状態を表すテーブルがワークフローデータベース２０に格納される。この図２１のテーブルにおいて、工程Ａ１は、図２３に示すような、代替工程を管理する代替工程群管理テーブルで管理される。この代替工程群管理テーブルは、ワークフローデータベース２０に格納される。
【００４９】
次に、制御サーバ１０の処理について図３０を参照しながら説明する。図３０は図１５の制御サーバ１０の処理手順を示すフローチャートである。
【００５０】
制御サーバ１０においては、図３０に示すように、監視部１３により各工程の作業が終了したか否かの監視が行われている（ステップＳ１０１）。監視部１３は、ワークフローデータベース２０内の該当するルーティングテーブルのステータスを監視しており、作業担当者の情報処理装置の終了宣言部によりルーティングテーブルのステータスが「未」から「済」に変更された事象を検知すると、この作業が終了したことを検知する。
【００５１】
次いで、ルーティング制御部１１はワークフローデータベース２０内の該当するルーティングテーブルを参照して次工程が存在するか否かを判定する（ステップＳ１０２）。ここで、次工程が存在しないと判定された場合、本処理は終了する。これに対し、次工程が存在すると判定された場合、判定部１６は、次工程が同一優先度工程群（例えば図１７のＢ１）であるか否かを判別する（ステップＳ１０３）。ここで、次工程が同一優先度工程群（例えば図１７のＢ１）であると判定された場合、通知部１２は、同一優先度工程群に含まれる工程のそれぞれに対応する情報処理装置の全てに対して作業開始可能を通知する（ステップＳ１０４）。例えば図１７のワークフローの場合、工程群Ｂ１に含まれる工程３，４，５にそれぞれ対応する情報処理装置の全てに対して作業開始可能通知が出される。作業開始可能通知を受けた情報処理装置においては、対応する工程の業務が開始されると、着手宣言部により着手宣言が出される。この着手宣言により、業務開始フラグがワークフローデータベース２０内の該当するルーティングテーブルに書き込まれる。
【００５２】
制御サーバ１０の監視部１３は、ワークフローデータベース２０内の該当するルーティングテーブルを参照して、着手宣言が出されたか否かすなわち作業開始フラグが書き込まれたか否かを監視する（ステップＳ１０５）。ここでは、最初に着手宣言が出された工程が検出される。この最初に着手宣言を出した工程が検出されると、取り消し部１５は、同一優先度工程群管理テーブルを参照して、同一優先度工程群における最初の着手宣言を出した工程以外の他の工程を検索し、他の工程に対応する情報処理装置に対して作業取り消しの通知を行う（ステップＳ１０６）。この作業取り消し通知を受けた情報処理装置においては、この通知に従い、対応する作業の消しこみを行う。
【００５３】
次いで、制御サーバ１０のルーティング制御部１１は、ルーティングテーブルと同一優先度工程群管理テーブルの内容を変更する（ステップＳ１０７）。そして、処理が上記ステップＳ１０１に戻される。ここでは、同一優先度工程群の一つの工程が終了したので、続いて同一優先度工程群の他の工程が同様に実行され、同一優先度工程群に含まれる全ての工程が終了すると、次工程への移行が行われる。
【００５４】
上記ステップＳ１０３において次工程が同一優先度工程群でないと判定された場合、判定部１６は、次工程が代替工程群（例えば図１８のＡ１）であるか否かを判別する（ステップＳ１０８）。ここで、次工程が代替工程群（例えば図１８のＡ１）であると判定された場合、通知部１２は、代替工程群に含まれる全ての工程にそれぞれ対応する情報処理装置に対して作業開始可能を通知する（ステップＳ１０９）。例えば図１８のワークフローの場合、工程群Ａ１に含まれる工程３，４，５にそれぞれ対応する情報処理装置に対して作業開始可能通知が出される。作業開始可能通知を受けた情報処理装置においては、対応する工程の作業が開始されると、着手宣言部により着手宣言が出される。この着手宣言により、業務開始フラグがワークフローデータベース２０内の該当するルーティングテーブルに書き込まれる。
【００５５】
制御サーバ１０の監視部１３は、ワークフローデータベース２０内の該当するルーティングテーブルを参照して、着手宣言が出されたか否かすなわち業務開始フラグが書き込まれたか否かを監視する（ステップＳ１１０）。ここでは、最初に着手宣言が出された工程が検出される。この最初に着手宣言を出した工程が検出されると、取り消し部１５は、代替工程群管理テーブルを参照して、同一優先度工程群における最初の着手宣言を出した工程以外の他の工程を検索し、他の工程に対応する情報処理装置に対して作業取り消しの通知を行う（ステップＳ１１１）。この作業取り消し通知を受けた情報処理装置においては、この通知に従い、対応する作業の消しこみを行う。
【００５６】
次いで、制御サーバ１０のルーティング制御部１１は、ルーティングテーブルと代替工程群管理テーブルの内容を変更する（ステップＳ１１２）。そして、処理が上記ステップＳ１０１に戻される。ここでは、代替工程群のいずれか一つの工程が終了したので、代替工程群の他の工程は行われずに、代替工程群から次工程への移行が行われる。
【００５７】
上記ステップＳ１０８において次工程が代替工程群でないと判定された場合、通知部１２は、次工程に対応する情報処理装置に対して作業開始可能を通知する（ステップＳ１１３）。そして、処理が上記ステップＳ１０１に戻される。
【００５８】
次に、図１７および図１８のワークフローの場合の処理例について図２４ないし図２９を参照しながら説明する。図２４は図２０のルーティングテーブルおよび同一優先度工程群管理テーブルの更新の一例を示す図、図２５は図２０のルーティングテーブルおよび同一優先度工程群管理テーブルの更新の他の例を示す図、図２６は図２１の図２０のルーティングテーブルおよび代替工程群管理テーブルの更新の一例を示す図、図２７は図１７のワークフローの工程５を実行する情報処理装置の初期画面例を示す図、図２８は図１７のワークフローの工程５を実行する情報処理装置が作業開始可能通知を受けた際の画面例を示す図、図２９は図１７のワークフローの工程５を実行する情報処理装置における引き当てられた業務内容を表す画面例を示す図である。
【００５９】
まず、図１７に示すワークフローに対する処理を図３０のフローチャートに沿って説明する。
【００６０】
このワークフローにおいては、工程１が終了したときのワークフロールーティングの処理は、上記第１実施形態における図２のワークフローの場合と同じである。次いで、工程２が終了すると、工程２を実行する情報処理装置の終了宣言部により、業務終了が宣言される。ここでは、工程２を実行する情報処理装置を情報処理装置１００とする。この業務終了宣言は、動作的には、図２７の完了ボタン１３０を押すことによりなされる。この業務終了宣言により、上記テーブルにおける工程２のステータスは、「未」から「済」に変更される。ルーティング制御部１１は、ルーティングテーブルを監視しており（ステップＳ１０１）、ステータスが「未」から「済」になったことにより、業務が完了したことを検出する。ルーティングテーブルの次工程は同一優先度工程群Ｂ１であるため（ステップＳ１０３のＹＥＳ）、通知部１２は、同一優先度工程群Ｂ１に含まれる各工程３，４，５を実行する情報処理装置１００，…，４００に、作業開始可能の通知を行う（ステップＳ１０４）。
【００６１】
ここで、工程５を実行する情報処理装置を２００とすると、その表示部には、図２７に示す画面が表示されている。そして、上記作業開始通知を受け取ると、この画面の業務一覧１１０には、図２８に示すように、工程番号５の加工Ｅが追加表示される。工程３，４に関しても、同様に対応する情報処理装置の表示部に、それぞれ、工程番号３の加工Ｃ、工程番号４の加工Ｄが表示される。
【００６２】
業務担当者は、情報処理装置２００の表示部に表示された業務一覧から、着手すべき業務を判断し、業務を開始する。ここで、通知された加工Ｅ（図面記号１２３）を開始する場合、業務担当者は、表示されている業務一覧から加工Ｅを選択し、引当ボタン１２０を押下する。これにより、引き当てられた業務は、表示部において、図２９に示すように表示され、また、情報処理装置２００の着手宣言部により着手宣言が出され、業務開始のフラグ（ルーティングテーブル中の「現」）が、ワークフローデータベース２０のルーティングテーブルに書き込まれる（図２４を参照）。この書込みは、監視部１３により監視されており、工程５の業務が開始されたことが認識される（ステップＳ１０５）。
【００６３】
そして、取り消し部１５により、同一優先工程群管理テーブルから他の工程を検索し、他の工程すなわち工程３，４をそれぞれ実行する情報処理装置に対して取り消し通知を行う（ステップＳ１０６）。この取り消し通知を受けた情報処理装置は、表示部から取り消しを受けた工程の作業の消しこみを行う。一方、ルーティング制御部１１は、ルーティングテーブルと同一優先度群管理テーブルの内容を更新する。この工程５を最初に実行する場合においては、ルーティングテーブルは図２４（ａ）に示すように更新され、同一優先度群管理テーブルは図２４（ｂ）に示すように更新される（ステップＳ１０７）。
【００６４】
次いで、工程５が終了し、次工程として工程４が実行される場合、同様な処理が行われ、工程４の作業着手に伴い、ルーティングテーブルは図２５（ａ）に示すように、同一優先度群管理テーブルは図２５（ｂ）に示すようにそれぞれ更新される。
【００６５】
次に、図１８に示すワークフローに対する処理を図３０のフローチャートに沿って説明する。
【００６６】
このワークフローにおいては、工程１が終了したときのワークフロールーティングの処理は、上記第１実施形態における図２のワークフローの場合と同じである。次いで、工程２が終了すると、工程２を実行する情報処理装置の終了宣言部により、業務終了が宣言される。業務終了宣言により、上記テーブルにおける工程２のステータスは、「未」から「済」に変更される。ルーティング制御部１１は、ワークフローテーブルを監視しており（ステップＳ１０１）、ステータスが「未」から「済」になったことにより、業務が完了したことを検出する。ルーティングテーブルの次工程は代替工程群Ａ１であるため（ステップＳ１０８のＹＥＳ）、通知部１２は、代替工程群Ａ１に含まれる各工程３，４，５を実行する情報処理装置１００，…，４００に、作業開始可能の通知を行う（ステップＳ１０９）。
【００６７】
ここで、工程５を実行する情報処理装置を２００とすると、その表示部には、図２７に示す画面が表示されている。そして、上記作業開始通知を受け取ると、この画面の業務一覧１１０には、図２８に示すように、工程番号５の加工Ｅが追加表示される。工程３，４に関しても、同様に対応する情報処理装置の表示部に、それぞれ、工程番号３の加工Ｃ、工程番号４の加工Ｄが表示される。
【００６８】
業務担当者は、情報処理装置２００の表示部に表示された業務一覧から、着手すべき業務を判断し、業務を開始する。ここで、通知された加工Ｅ（図面記号１２３）を開始する場合、業務担当者は、表示されている業務一覧から加工Ｅを選択し、引当ボタン１２０を押下する。これにより、引き当てられた業務は、表示部において、図２９に示すように表示され、また、情報処理装置２００の着手宣言部により着手宣言が出され、業務開始のフラグ（「現」）が、ワークフローデータベース２０のルーティングテーブルに書き込まれる（図２６を参照）。この書込みは、監視部１３により監視されており、工程５の業務が開始されたことが認識される（ステップＳ１１０）。
【００６９】
そして、取り消し部１５により、代替工程群管理テーブルから他の工程を検索し、他の工程すなわち工程３，４をそれぞれ実行する情報処理装置に対して取り消し通知を行う（ステップＳ１１１）。この取り消し通知を受けた情報処理装置は、表示部から取り消しを受けた工程の作業の消しこみを行う。一方、ルーティング制御部１１は、ルーティングテーブルと代替工程群管理テーブルの内容を更新する（ステップＳ１１２）。代替工程群の工程のうち、工程５を実行する場合においては、他の工程３，４は実行されないので、ルーティングテーブルは図２６（ａ）に示すように更新され、同一優先度工程群管理テーブルは図２６（ｂ）に示すように更新される。
【００７０】
次いで、工程５が終了すると、次工程として工程６が実行されることになる。
【００７１】
このように、本実施形態では、ワークフロー中に、同一優先度工程群または代替工程群が存在する場合でも、これらに含まれる複数の工程に対する処理順序をシステム管理者が予め決める必要がないので、システム管理者に余分な負担を掛けることなく、同一優先度工程群または代替工程群を含むワークフローにおける一連の作業を滞りなく実行させることができる。
【００７２】
なお、本発明の目的は、前述した各実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【００７３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはうまでもない。
【００７４】
以下、本発明の実施態様を列挙する。
【００７５】
［実施態様１］  複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムであって、前記複数の工程の処理順序が記載されたワークフローテンプレートを保持し、前記ワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御装置を備え、前記制御装置は、前工程の作業終了が検出されると、次工程を実行する情報処理装置に対して作業開始可能を通知する通知手段と、前記作業開始可能が通知された情報処理装置から、既に終了されている工程のうちの一つを戻し先の工程として指定する工程変更指示が出されると、前記指示された工程変更指示により指定された戻し先の工程からそれ以降の工程が含まれるように前記ワークフローテンプレートを変更する変更手段とを有することを特徴とするワークフローシステム。
【００７６】
［実施態様２］  複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムであって、前記複数の工程の処理順序が記載されたワークフローテンプレートを保持し、前記ワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御装置を備え、前記制御装置は、前工程の作業終了が検出されると、次工程が同一優先度工程群または代替工程群であるか否かを判別する判別手段と、前記次工程が同一優先度工程群であると判別された場合、該同一優先度工程群に含まれる複数の工程が順不同に実行された後に該同一優先度工程群に続く工程へ移行するように前記ワークフローテンプレートを変更し、前記次工程が代替工程群であると判別された場合、該代替工程群に含まれる複数の工程のうち、いずれか１つの工程が実行された後に該代替工程群に続く工程へ移行するように前記ワークフローテンプレートを変更する変更手段とを有することを特徴とするワークフローシステム。
【００７７】
［実施態様３］  複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムにおける、前記複数の工程の処理順序が記載されたワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御方法であって、前工程の作業終了が検出されると、次工程を実行する情報処理装置に対して作業開始可能を通知する通知工程と、前記作業開始可能が通知された情報処理装置から、既に終了されている工程のうちの一つを戻し先の工程として指定する工程変更指示が出されると、前記指示された工程変更指示により指定された戻し先の工程からそれ以降の工程が含まれるように前記ワークフローテンプレートを変更する変更工程とを有することを特徴とするワークフローシステムの制御方法。
【００７８】
［実施態様４］  複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステムにおける、前記複数の工程の処理順序が記載されたワークフローテンプレートに従い前記複数の工程のルーティングを制御する制御方法であって、前工程の作業終了が検出されると、次工程が同一優先度工程群または代替工程群であるか否かを判別する判別工程と、前記次工程が同一優先度工程群であると判別された場合、該同一優先度工程群に含まれる複数の工程が順不同に実行された後に該同一優先度工程群に続く工程へ移行するように前記ワークフローテンプレートを変更し、前記次工程が代替工程群であると判別された場合、該代替工程群に含まれる複数の工程のうち、いずれか１つの工程が実行された後に該代替工程群に続く工程へ移行するように前記ワークフローテンプレートを変更する変更工程とを有することを特徴とするワークフローシステムの制御方法。
【００７９】
［実施態様５］  複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステム上で実行される、前記複数の工程の処理順序が記載されたワークフローテンプレートに従い前記複数の工程のルーティングを制御するためのプログラムであって、前工程の作業終了が検出されると、次工程を実行する情報処理装置に対して作業開始可能を通知する通知モジュールと、前記作業開始可能が通知された情報処理装置から、既に終了されている工程のうちの一つを戻し先の工程として指定する工程変更指示が出されると、前記指示された工程変更指示により指定された戻し先の工程からそれ以降の工程が含まれるように前記ワークフローテンプレートを変更する変更モジュールとを有することを特徴とするプログラム。
【００８０】
［実施態様６］  複数の工程を有する業務を処理すべく、工程毎の作業を、それぞれ対応する操作者による情報処理装置を用いた操作により処理させるワークフローシステム上で実行される、前記複数の工程の処理順序が記載されたワークフローテンプレートに従い前記複数の工程のルーティングを制御するためのプログラムであって、前工程の作業終了が検出されると、次工程が同一優先度工程群または代替工程群であるか否かを判別する判別モジュールと、前記次工程が同一優先度工程群であると判別された場合、該同一優先度工程群に含まれる複数の工程が順不同に実行された後に該同一優先度工程群に続く工程へ移行するように前記ワークフローテンプレートを変更し、前記次工程が代替工程群であると判別された場合、該代替工程群に含まれる複数の工程のうち、いずれか１つの工程が実行された後に該代替工程群に続く工程へ移行するように前記ワークフローテンプレートを変更する変更モジュールとを有することを特徴とするプログラム。
【００８１】
［実施態様７］  実施態様５記載のプログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体。
【００８２】
［実施態様８］  実施態様６記載のプログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体。
【００８３】
【発明の効果】
以上説明したように、本発明によれば、ワークフローにおいて、工程を既に終了されている工程に戻す場合でも、システム管理者に余分な負担を掛けることなく、業務を滞りなく処理させることができる。
【００８４】
また、本発明によれば、ワークフロー中に、同一優先度工程群または代替工程群が含まれている場合でも、システム管理者に余分な負担を掛けることなく、同一優先度工程群または代替工程群を含むワークフローを滞りなく実行させることができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係るワークフローシステムの構成を示すブロック図である。
【図２】図１のワークフローシステムで取り扱われるワークフローの一例を示す図である。
【図３】図１のワークフローデータベースに格納されている工程番号とそれに対応する工程を示す図である。
【図４】図１のワークフローデータベース２０に格納されている図２のワークフローの初期状態を表すルーティングテーブルを示す図である。
【図５】図４のルーティングテーブルが更新された状態を示す図である。
【図６】図１のワークフローシステムが取り扱うワークフローの他の例を示す図である。
【図７】図６のワークフローの初期状態を表すルーティングテーブルを示す図である。
【図８】図７のルーティングテーブルが更新された状態の一例を示す図である。
【図９】図７のルーティングテーブルが更新された状態の他の例を示す図である。
【図１０】工程９を実行する情報処理装置の初期画面例を示す図である。
【図１１】工程９を実行する情報処理装置における引き当てられた業務内容を表す画面例を示す図である。
【図１２】工程９を実行する情報処理装置におけるワークフロー表示ウィンドウとワークフロー変更ウィンドウを表示した際の画面例を示す図である。
【図１３】図１２のワークフロー表示ウィンドウとワークフロー変更ウィンドウ上に工程変更が反映された場合の画面例を示す図である。
【図１４】図１の制御サーバ１０の処理手順を示すフローチャートである。
【図１５】本発明の第２実施形態に係るワークフローシステムの構成を示すブロック図である。
【図１６】図１５のワークフローシステムが取り扱うワークフローの一例を示す図である。
【図１７】図１５のワークフローシステムが取り扱うワークフローの他の例を示す図である。
【図１８】図１５のワークフローシステムが取り扱うワークフローのさらに他の例を示す図である。
【図１９】図１６のワークフローの初期状態を表すルーティングテーブルを示す図である。
【図２０】図１７のワークフローの初期状態を表すルーティングテーブルを示す図である。
【図２１】図１８の図１７のワークフローの初期状態を表すルーティングテーブルを示す図である。
【図２２】図２０の同一優先度工程群管理テーブルの一例を示す図である。
【図２３】図２１の代替工程群管理テーブルを示す図である。
【図２４】図２０のルーティングテーブルおよび同一優先度工程群管理テーブルの更新の一例を示す図である。
【図２５】図２０のルーティングテーブルおよび同一優先度工程群管理テーブルの更新の他の例を示す図である。
【図２６】図２１の図２０のルーティングテーブルおよび代替工程群管理テーブルの更新の一例を示す図である。
【図２７】図１７のワークフローの工程５を実行する情報処理装置の初期画面例を示す図である。
【図２８】図１７のワークフローの工程５を実行する情報処理装置が作業開始可能通知を受けた際の画面例を示す図である。
【図２９】図１７のワークフローの工程５を実行する情報処理装置における引き当てられた業務内容を表す画面例を示す図である。
【図３０】図１５の制御サーバ１０の処理手順を示すフローチャートである。
【符号の説明】
１０  制御サーバ
１１  ルーティング制御部
１２  通知部
１３  監視部
１４  変更部
１５  取り消し部
１６  判別部
２０  ワークフローデータベース
３０  ＬＡＮ
１００，２００，３００，４００  情報処理装置
１０１，２０１，３０１，４０１  表示部
１０２，２０２，３０２，４０２  着手宣言部
１０３，２０３，３０３，４０３  終了宣言部
１０４，２０４，３０４，４０４  入力部
【図１】
2004240852.tif 000003
【図２】
2004240852.tif 000004
【図３】
2004240852.tif 000005
【図４】
2004240852.tif 000006
【図５】
2004240852.tif 000007
【図６】
2004240852.tif 000008
【図７】
2004240852.tif 000009
【図８】
2004240852.tif 000010
【図９】
2004240852.tif 000011
【図１０】
2004240852.tif 000012
【図１１】
2004240852.tif 000013
【図１２】
2004240852.tif 000014
【図１３】
2004240852.tif 000015
【図１４】
2004240852.tif 000016
【図１５】
2004240852.tif 000017
【図１６】
2004240852.tif 000018
【図１７】
2004240852.tif 000019
【図１８】
2004240852.tif 000020
【図１９】
2004240852.tif 000021
【図２０】
2004240852.tif 000022
【図２１】
2004240852.tif 000023
【図２２】
2004240852.tif 000024
【図２３】
2004240852.tif 000025
【図２４】
2004240852.tif 000026
【図２５】
2004240852.tif 000027
【図２６】
2004240852.tif 000028
【図２７】
2004240852.tif 000029
【図２８】
2004240852.tif 000030
【図２９】
2004240852.tif 000031
【図３０】
2004240852.tif 000032