(57)【要約】【課題】並列処理される複数の処理フロー情報間で、各処理フロー情報に含まれる第1の処理工程より後であって第２の処理工程までに含まれる処理工程を所望の順序で処理することができる処理フロー制御プログラム、処理フロー制御装置及びデータ処理システムを提供する。【解決手段】ワークフローシステム１は、文書データに対してワークフローの実行を指示する端末装置２と、ワークフローに定められたプロセスを所定の順序で実行するように制御するジョブ制御装置３と、プロセスの一種である印刷処理を行う印刷装置４等からなる。ジョブ制御装置３の制御部３０は、ワークフローに含まれるプロセスのうちレビュープロセスをワークフロー管理テーブル３１２Ａに設定する設定手段３００、及び複数の文書データの入力順序に従って複数の排他的プロセスが実行されるように、ワークフローの実行を制御するジョブ制御手段３０２等として機能する。【選択図】図１
2010009200.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理フロー情報を並行処理し得る処理手段から前記処理フロー情報に含まれる複数の処理工程の処理状態を取得する取得ステップと、
前記複数の処理フロー情報から所定の順序で監視対象を選択し、前記取得ステップにより取得された前記処理状態が当該監視対象の処理フロー情報に含まれる第１の処理工程において停止状態であるとき、前記処理手段に処理開始を指示するとともに、前記第１の処理工程より工程順が後の第２の処理工程において前記取得ステップにより取得された前記処理状態が所定の処理状態となったとき、前記所定の順序で次の処理フロー情報に前記監視対象を変更する制御を行う制御ステップとをコンピュータに実行させるための処理フロー制御プログラム。
【請求項２】
前記制御ステップによる前記監視対象の処理フロー情報は、前記第１の処理工程と前記第２の処理工程との間に他の処理工程を含む請求項１に記載の処理フロー制御プログラム。
【請求項３】
前記制御ステップは、前記第１の処理工程に種別情報が付与されているとき、前記種別情報と同一性を有する種別情報が付与されている処理工程を含む処理フロー情報に前記監視対象を変更する請求項１に記載の処理フロー制御プログラム。
【請求項４】
前記制御ステップは、前記処理手段に処理開始を指示してから所定の時間が経過したとき、前記監視対象を変更する請求項１に記載の処理フロー制御プログラム。
【請求項５】
前記制御ステップは、前記第２の処理工程においてエラーが発生したとき、前記監視対象を変更し、その変更した前記監視対象の処理フロー情報を継続若しくは中断し、又は指定された指示内容に基づいて実行する請求項１に記載の処理フロー制御プログラム。
【請求項６】
複数の処理フロー情報を並行処理し得る処理手段から前記処理フロー情報に含まれる複数の処理工程の処理状態を取得する取得手段と、
前記複数の処理フロー情報から所定の順序で監視対象を選択し、前記取得手段により取得された前記処理状態が当該監視対象の処理フロー情報に含まれる第１の処理工程において停止状態であるとき、前記処理手段に処理開始を指示するとともに、前記第１の処理工程より工程順が後の第２の処理工程において前記取得手段により取得された前記処理状態が所定の処理状態となったとき、前記所定の順序で次の処理フロー情報に前記監視対象を変更する制御を行う制御手段とを備えた処理フロー制御装置。
【請求項７】
複数の処理フロー情報を並行処理し得る処理手段と、
前記処理手段から前記処理フロー情報に含まれる複数の処理工程の処理状態を取得する取得手段と、
前記複数の処理フロー情報から所定の順序で監視対象を選択し、前記取得手段により取得された前記処理状態が当該監視対象の処理フロー情報に含まれる第１の処理工程において停止状態であるとき、前記処理手段に処理開始を指示するとともに、前記第１の処理工程より工程順が後の第２の処理工程において前記取得手段により取得された前記処理状態が所定の処理状態となったとき、前記所定の順序で次の処理フロー情報に前記監視対象を変更する制御を行う制御手段とを備えたデータ処理システム。
【請求項８】
第１の処理フロー情報に含まれる第１の処理工程を、前記第１の処理フロー情報に先行して処理される第２の処理フロー情報に含まれる第２の処理工程が完了するまで停止状態とする制御ステップとをコンピュータに実行させるための処理フロー制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理フロー制御プログラム、処理フロー制御装置及びデータ処理システムに関する。
【背景技術】
【０００２】
従来、一連のデータ処理作業を、個々の作業が所定の順序で実行されるように管理しながら進行させるデータ処理作業の進行管理システムが知られている。（例えば、特許文献１参照。）。
【０００３】
この進行管理システムは、処理対象のデータに対して行うべき作業の順序を示すワークフロー情報を設定する設定装置と、ワークフロー情報に基づいて、個々の作業の進行管理を行う管理サーバ装置と、サーバ装置からワークフロー情報の提示を受け、所定のデータ処理作業を実行する機能を有する複数のクライアント装置とを備える。この進行管理システムでは、複数のワークフロー情報に対して処理対象データがそれぞれ入力されると、各クライアント装置によってデータ処理作業が実行され、その処理状態が管理サーバ装置により管理されるが、処理対象データの入力順とは異なる順で各データ処理作業は実行される。
【０００４】
また、印刷の特性情報を含む印刷情報に基づいて、複数の処理工程からなる処理手順（ワークフロー）を作成する印刷制御装置が知られている（例えば、特許文献２参照。）。
【０００５】
この印刷制御装置は、印刷情報を読み込む印刷情報読み込み手段と、印刷情報読み込み手段によって読み込んだ印刷情報に含まれる特性情報に基づいて、印刷用の特定処理の情報を複数選択する情報選択手段と、複数の印刷用の処理の間における処理順を記憶した処理順記憶手段と、処理順記憶手段に記憶されている処理順と、情報選択手段によって選択された複数の特定処理の情報とに基づいて、該複数の特定処理の処理順を生成する処理手順生成手段とを備える。この印刷制御装置は、複数の印刷情報に応じて複数の異なる処理手順を生成する。
【０００６】
【特許文献１】特開平１１−３０６２５３号公報
【特許文献２】特開２００５−３１６９０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、並列処理される複数の処理フロー情報間で、各処理フロー情報に含まれる第１の処理工程より後であって第２の処理工程までに含まれる処理工程を所望の順序で処理することができる処理フロー制御プログラム、処理フロー制御装置及びデータ処理システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様は、上記目的を達成するため、以下の処理フロー制御プログラム、処理フロー制御装置及びデータ処理システムを提供する。
【０００９】
［１］複数の処理フロー情報を並行処理し得る処理手段から前記処理フロー情報に含まれる複数の処理工程の処理状態を取得する取得ステップと、前記複数の処理フロー情報から所定の順序で監視対象を選択し、前記取得ステップにより取得された前記処理状態が当該監視対象の処理フロー情報に含まれる第１の処理工程において停止状態であるとき、前記処理手段に処理開始を指示するとともに、前記第１の処理工程より工程順が後の第２の処理工程において前記取得ステップにより取得された前記処理状態が所定の処理状態となったとき、前記所定の順序で次の処理フロー情報に前記監視対象を変更する制御を行う制御ステップとをコンピュータに実行させるための処理フロー制御プログラム。
【００１０】
［２］前記制御ステップによる前記監視対象の処理フロー情報は、前記第１の処理工程と前記第２の処理工程との間に他の処理工程を含む前記［１］に記載の処理フロー制御プログラム。
【００１１】
［３］前記制御ステップは、前記第１の処理工程に種別情報が付与されているとき、前記種別情報と同一性を有する種別情報が付与されている処理工程を含む処理フロー情報に前記監視対象を変更する前記［１］に記載の処理フロー制御プログラム。
【００１２】
［４］前記制御ステップは、前記処理手段に処理開始を指示してから所定の時間が経過したとき、前記監視対象を変更する前記［１］に記載の処理フロー制御プログラム。
【００１３】
［５］前記制御ステップは、前記第２の処理工程においてエラーが発生したとき、前記監視対象を変更し、その変更した前記監視対象の処理フロー情報を継続若しくは中断し、又は指定された指示内容に基づいて実行する前記［１］に記載の処理フロー制御プログラム。
【００１４】
［６］複数の処理フロー情報を並行処理し得る処理手段から前記処理フロー情報に含まれる複数の処理工程の処理状態を取得する取得手段と、前記複数の処理フロー情報から所定の順序で監視対象を選択し、前記取得手段により取得された前記処理状態が当該監視対象の処理フロー情報に含まれる第１の処理工程において停止状態であるとき、前記処理手段に処理開始を指示するとともに、前記第１の処理工程より工程順が後の第２の処理工程において前記取得手段により取得された前記処理状態が所定の処理状態となったとき、前記所定の順序で次の処理フロー情報に前記監視対象を変更する制御を行う制御手段とを備えた処理フロー制御装置。
【００１５】
［７］複数の処理フロー情報を並行処理し得る処理手段と、前記処理手段から前記処理フロー情報に含まれる複数の処理工程の処理状態を取得する取得手段と、前記複数の処理フロー情報から所定の順序で監視対象を選択し、前記取得手段により取得された前記処理状態が当該監視対象の処理フロー情報に含まれる第１の処理工程において停止状態であるとき、前記処理手段に処理開始を指示するとともに、前記第１の処理工程より工程順が後の第２の処理工程において前記取得手段により取得された前記処理状態が所定の処理状態となったとき、前記所定の順序で次の処理フロー情報に前記監視対象を変更する制御を行う制御手段とを備えたデータ処理システム。
【００１６】
［８］第１の処理フロー情報に含まれる第１の処理工程を、前記第１の処理フロー情報に先行して処理される第２の処理フロー情報に含まれる第２の処理工程が完了するまで停止状態とする制御ステップとをコンピュータに実行させるための処理フロー制御プログラム。
【発明の効果】
【００１７】
請求項１、６、７、８に係る発明によれば、並列処理される複数の処理フロー情報間で、各処理フロー情報に含まれる第１の処理工程より後であって第２の処理工程までに含まれる処理工程を所望の順序で処理することができる。
【００１８】
請求項２に係る発明によれば、並列処理される複数の処理フロー情報間で、各処理フロー情報に含まれる第１の処理工程より後であって第２の処理工程までに含まれる連続する複数の処理工程を所望の順序で処理することができる。
【００１９】
請求項３に係る発明によれば、監視対象の処理フロー情報を、種別情報が同一性を有する処理工程に限定することができる。
【００２０】
請求項４に係る発明によれば、監視対象の処理フロー情報において所定の時間が経過しても所定の処理状態にならない場合でも、監視対象の処理フローを変更して、デッドロックを回避することができる。
【００２１】
請求項５に係る発明によれば、監視対象の処理フロー情報でエラーが発生した際に、その後の処理フロー情報による処理を制御することができる。
【発明を実施するための最良の形態】
【００２２】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係るワークフローシステムの概略構成の一例を示すブロック図である。このワークフローシステム（データ処理システム）１は、文書データに対してワークフローを指定したジョブの実行を指示する端末装置２と、ジョブの実行指示を受けて、文書データに対してワークフローに定められたプロセス（処理工程）を所定の順序で実行するように制御するジョブ制御装置（処理フロー制御装置）３と、プロセスの一種である印刷処理を行う処理行手段としての印刷装置４と、これら端末装置２、ジョブ制御装置３、印刷装置４を相互に接続するネットワーク１０とから構成されている。
【００２３】
「ワークフロー」とは、入力される文書データを処理する流れを意味し、複数のプロセスを所定の順序で実行するように定められている。なお、処理フローは、ワークフローに限られない。文書データには、文書、写真、図表、イラスト等のデータが含まれる。
【００２４】
各プロセスは、前段のプロセスからデータが入力され、その入力されたデータに対してプロセスの種類に応じた固有の処理を施し、その処理結果である出力データを後段のプロセスに出力する。ワークフローにおける先頭のプロセスには、処理対象の文書データが入力される。
【００２５】
また、「ジョブ」とは、処理対象の文書データをワークフローに入力することにより、その文書データに対してワークフローに定められた複数のプロセスを所定の順序で実行する処理フロー情報をいう。ジョブ制御装置３は、処理対象の複数の文書データがワークフローにそれぞれ入力された複数のジョブを処理フロー情報として管理し、それら複数のジョブの実行を自動化又は半自動化する。
【００２６】
ネットワーク１０は、有線通信（電気ケーブル、光ケーブル等）、及び無線通信（電波、赤外線等）等によりデータの送受信を行うＬＡＮ（ローカルエリアネットワーク）、インターネット等の通信網である。なお、図１では、端末装置２及び印刷装置４はそれぞれ１台であるが、２台以上であってもよい。
【００２７】
（端末装置）
端末装置２は、この端末装置２の各部を制御する、例えば、ＣＰＵ等により実現される制御部と、ジョブ実行指示プログラム等のプログラムやデータ等を記憶する、例えば、ＲＯＭ，ＲＡＭ，ハードディスク等により実現される記憶部と、ネットワーク１０に接続された、例えば、ネットワークインタフェースカード等により実現される通信部と、データ入力の操作を受け付ける、例えば、キーボード、マウス等により実現される入力部と、各種の画面等を表示する、例えば、液晶ディスプレイ等により実現される表示部とから構成されている。
【００２８】
このような端末装置２は、例えば、コンピュータ、携帯情報端末（ＰＤＡ）、携帯電話等により構成することができる。
【００２９】
端末装置２の制御部は、ジョブ実行指示プログラムに従って動作することにより、プロセスを定義するプロセス定義情報と、ワークフローを定義するワークフロー定義情報とをジョブ制御装置３に送信するとともに、文書データに対するワークフローの指定を受け付けて、ジョブ指定情報をジョブ制御装置３に送信する。
【００３０】
（印刷装置）
印刷装置４は、印刷装置４の各部を制御する、例えば、ＣＰＵ等により実現される制御部と、制御プログラムのプログラムやデータ等を記憶する、例えば、ＲＯＭ，ＲＡＭ，ハードディスク等により実現される記憶部と、印刷データに基づき紙等の印刷媒体に可視像を形成した印刷物を出力する印刷部と、ネットワーク１０に接続された、例えば、ネットワークインタフェースカードにより実現される通信部とから構成されている。
【００３１】
印刷部は、例えば、電子写真方式、インクジェット方式、感熱転写方式等の各種の画像形成方式を用いることができる。
【００３２】
（ジョブ制御装置）
ジョブ制御装置３は、ジョブ制御装置３の各部を制御する、例えば、ＣＰＵ等により実現される制御部３０と、各種のプログラムやデータを記憶する、例えば、ＲＯＭ，ＲＡＭ，ハードディスク等により実現される記憶部３１と、ネットワーク１０に接続されてデータの送受信を行う、例えば、ネットワークインタフェースカード等により実現される通信部３２と、プリフライトプロセスを実行するプリフライト処理部３３と、面付けプロセスを実行する面付け処理部３４とから構成されている。
【００３３】
ここで、「プリフライトプロセス」とは、文書データの妥当性を事前に検証するプロセスをいう。また、「面付けプロセス」とは、印刷された印刷用紙に対して紙折り、綴じ等の処理が行われたときにその処理後の印刷用紙がページ順に並ぶように、印刷用紙の分割領域に印刷するページを割り付けるプロセスをいう。なお、プリフライト処理部３３及び面付け処理部３４は、処理手段を構成する。
【００３４】
このようなジョブ制御装置３は、例えば、コンピュータ、サーバ、ワークステーション（ＷＳ）等により構成することができる。
【００３５】
記憶部３１には、本発明の処理フロー制御プログラムを適用したジョブ制御プログラム３１０、プロセス管理テーブル３１１、ワークフロー管理テーブル３１２Ａ及びジョブ管理テーブル３１３等が記憶されている。
【００３６】
制御部３０は、ジョブ制御プログラム３１０に従って動作することにより、ワークフローを構成する複数のプロセス及びそれらのプロセスの処理順序をワークフロー管理テーブル３１２Ａに設定する設定手段３００、複数の文書データがそれぞれ入力されるワークフローをジョブとしてジョブ管理テーブル３１３に登録するジョブ登録手段３０１、及びジョブ管理テーブル３１３に登録された複数のジョブの実行を制御するジョブ制御手段３０２等として機能する。
【００３７】
設定手段３００は、ワークフローを構成する複数のプロセスにおいてユーザにより指示された位置に、後続のプロセスが排他的プロセス（第２の処理工程）であることを示すレビュープロセス（第１の処理工程）を追加する。レビュープロセスは、ジョブ制御手段３０２により一時停止状態とされるプロセスであり、実体的な処理を含んでいてもよいし、含まなくてもよい。
【００３８】
ここで、「排他的プロセス」とは、ワークフローを構成する複数のプロセスのうち、他のワークフローに含まれるプロセスとの間で並行して実行されないプロセスである。また、複数のワークフローに含まれる複数の排他的プロセスは、複数のデータが各ワークフローにそれぞれ入力された入力順序に従って実行される。
【００３９】
図２（ａ）は、プロセス管理テーブルの一例を示す図である。このプロセス管理テーブル３１１には、プロセスＩＤをキーにして、端末装置２から送信されたプロセス定義情報に基づくプロセス名及びプロセス固有パラメータ等が記録されている。
【００４０】
プロセス固有パラメータは、各プロセスを実行する際に指定が必要なパラメータである。プロセス固有パラメータは、例えば、プリフライトプロセスではフォントやカラーモード等の検証条件であり、面付けプロセスでは面付け数や綴じ位置等の面付け条件、印刷プロセスでは画質や用紙サイズ等の印刷条件、保存プロセスでは保存先フォルダ等である。
【００４１】
図２（ｂ）は、ワークフロー管理テーブルの一例を示す図である。このワークフロー管理テーブル３１２Ａには、ワークフローＩＤをキーにして、端末装置２から送信されたワークフロー定義情報に基づくワークフロー名及びプロセス情報リスト等が記録されている。
【００４２】
プロセス情報リストは、プリフライトプロセス、面付けプロセス、印刷プロセス及び保存プロセス等のプロセスが、プロセス管理テーブル３１１に記録されているプロセス名を用いて、ユーザにより指示された処理順序に従って配列されている。
【００４３】
図２（ｃ）は、レビュープロセスを追加したワークフローが記録されたワークフロー管理テーブルの一例を示す図である。このワークフロー管理テーブル３１２Ａには、図２（ｂ）に記録されたワークフローＩＤ「ＷＦ１」、「「ＷＦ２」に対応するプロセス情報リストに対して、設定手段３００により印刷プロセスの１つ前にレビュープロセスがそれぞれ追加されている。従って、それら追加されたレビュープロセスに後続する印刷プロセスが、ワークフロー「ＷＦ１」、「「ＷＦ２」における排他的プロセスである。
【００４４】
なお、排他的プロセスは、印刷プロセスに限られず、他のプロセスに設定されてもよい。また、レビュープロセスは、後続のプロセスが排他的プロセスであることを示す他に、例えば、ユーザに承認や確認を促すために、処理中の一時データを表示するような処理を伴っていてもよい。また、ワークフローの登録後でも、ワークフロー名及びプロセス情報リストは編集可能であってもよい。
【００４５】
図３（ａ）は、ジョブ指定情報の一例を示す図である。このジョブ指定情報１１は、端末装置２から送信される情報であり、ジョブを識別するジョブ名と、ワークフロー管理テーブルに記録されているワークフローをワークフローＩＤにより特定する処理ワークフローＩＤと、処理対象のデータである入力データとからなる。図３（ａ）の例では、５つの文書データに対して、各文書データを入力するワークフローがそれぞれ指定されたものである。なお、ジョブ名は、ジョブ制御装置３により付加されてもよい。
【００４６】
図３（ｂ）は、ジョブ管理テーブルの一例を示す図である。このジョブ管理テーブル３１３は、ジョブＩＤ１００をキーにして、上記のジョブ指定情報１１に基づくジョブ名、処理ワークフローＩＤ１１０及び入力データと、ジョブの処理状況に応じて随時更新されるジョブ処理情報１２を示すジョブステータス、処理プロセスＩＤ及び処理中一時データ等が記録されている。
【００４７】
（第１の実施の形態の動作）
次に、本発明の第１の実施の形態に係るワークフローシステム１の動作の一例を図２〜図６を参照して説明する。
【００４８】
（１）排他的プロセスの設定
まず、端末装置２は、ユーザからの操作に応じて、ワークフローを登録する登録画面を表示する。ユーザは、その登録画面を介してワークフロー名及びワークフローを構成する複数のプロセスの処理順序を端末装置２に指示する。
【００４９】
次に、端末装置２は、その指示された内容に基づいて、ワークフロー名と、複数のプロセスを指示された処理順序で配列したプロセス情報リストとからなるワークフロー定義情報を作成し、ジョブ制御装置３にネットワーク１０を介してそのワークフロー定義情報を送信する。
【００５０】
そして、ジョブ制御装置３の設定手段３００は、そのワークフロー定義情報を通信部３２を介して受け付けると、新たなワークフローＩＤを発行する。設定手段３００は、ワークフロー管理テーブル３１２Ａにその発行したワークフローＩＤを付加した新たなレコードを追加するとともに、その新たなレコードに、受け付けたワークフロー定義情報に含まれるワークフロー名及びプロセス情報リストを登録する。
【００５１】
次に、ユーザは、ワークフロー管理テーブル３１２Ａに登録したプロセス情報リストに含まれる複数のプロセスのうち、排他的プロセスとして実行したいプロセス、ここでは印刷プロセスの１つ前にレビュープロセスを配置するように指示すると、端末装置２は、その指示情報をジョブ制御装置３に送信する。
【００５２】
そして、ジョブ制御装置３の設定手段３００は、その指示情報を受け付けると、ワークフロー管理テーブル３１２Ａのプロセス情報リストにおいて、指示された印刷プロセスの１つ前にレビュープロセスを追加する。
【００５３】
上記のようにして、設定手段３００は、図２（ｃ）に例示するように、レビュープロセスを印刷プロセスの前に追加した複数のワークフローをワークフロー管理テーブル３１２Ａに登録する。なお、ワークフロー定義情報は、レビュープロセスが含まれた状態で作成されていてもよい。
【００５４】
（２）ジョブの登録
ユーザが、例えば、端末装置２の記憶部に記憶されている複数の文書データを入力するワークフローをワークフローＩＤにより指定するとともに、それらのジョブ名を入力すると、端末装置２は、その指定を受け付けて、ジョブ指定情報を作成し、そのジョブ指定情報をジョブ制御装置３に送信する。なお、複数の文書データを１つのワークフローに入力するように指定してもよいし、異なるワークフローにそれぞれ入力するように指定してもよい。
【００５５】
次に、ジョブ制御装置３のジョブ登録手段３０１は、そのジョブ指定情報を受け付けると、文書データをワークフローに入力した入力順序となるように新たなジョブＩＤ１００を発行し、そのジョブＩＤとともにジョブ指定情報に基づくジョブ名、処理ワークフローＩＤ１１０及び入力データをジョブ管理テーブル３１３に新たなレコードとして登録する。
【００５６】
例えば、ユーザＡが、１冊の本を構成する４つの文書データ、「表紙．ｐｄｆ」、「第１章．ｐｄｆ」〜「第３章．ｐｄｆ」を順に登録し、その「第１章．ｐｄｆ」と「第２章．ｐｄｆ」との間に、別のユーザＢが「参考文献．ｐｄｆ」を登録した場合、ジョブ管理テーブル３１３には、図３（ｂ）に例示するように、文書データの入力順序で新たなジョブＩＤ「ＪＯＢ１」〜「ＪＯＢ５」が付加された５つのレコードが新たに登録される。すなわち、「第１章．ｐｄｆ」と「第２章．ｐｄｆ」との間には、「参考文献．ｐｄｆ」に対応するレコードが登録される。なお、ユーザＡは、文書データ「表紙．ｐｄｆ」、「第２章．ｐｄｆ」をワークフロー「ＷＦ２」に、文書データ「第１章．ｐｄｆ」、「第３章．ｐｄｆ」をワークフロー「ＷＦ１」にそれぞれ入力するように指定し、ユーザＢは、文書データ「参考文献．ｐｄｆ」をワークフロー「ＷＦ３」に入力するように指定したものである。
【００５７】
（３）ジョブの実行制御
次に、ジョブ制御装置３においてジョブの実行を制御する動作の一例を図４のフローチャートに従って説明する。
【００５８】
ジョブ制御装置３のジョブ制御手段３０２は、ジョブ管理テーブル３１３にジョブ「ＪＯＢ１」〜「ＪＯＢ５」が登録されると、登録されたジョブ「ＪＯＢ１」〜「ＪＯＢ５」において指定されたワークフローのプロセス情報リストにレビュープロセスが含まれているか否かを判定する（Ｓ１）。
【００５９】
次に、ジョブ制御手段３０２は、いずれかのジョブのプロセス情報リストにレビュープロセスが含まれていると判定した場合には（Ｓ１：Ｙｅｓ）、そのレビュープロセスが含まれているジョブからなる制御対象ジョブリストを作成する（Ｓ２）。例えば、図３（ｂ）のジョブ管理テーブル３１３から作成される制御対象ジョブリストは、「ＪＯＢ１」、「ＪＯＢ２」、「ＪＯＢ４」、「ＪＯＢ５」の４つのジョブからなる。
【００６０】
次に、ジョブ制御手段３０２は、その制御対象ジョブリストに含まれているジョブの中で入力順序が最も早いジョブ、すなわち、ジョブ「ＪＯＢ１」を監視対象のジョブとする（Ｓ３）。
【００６１】
そして、ジョブ制御手段３０２は、作成された制御対象ジョブリストに含まれるジョブがジョブ管理テーブル３１３に登録された登録順序、すなわち、文書データがワークフローに入力された入力順序に従って、レビュープロセスに後続する排他的プロセスが実行されるように、各ジョブの実行制御を行うる（Ｓ１０）。
【００６２】
一方、ジョブ制御手段３０２は、いずれのプロセス情報リストにもレビュープロセスが含まれていないと判定した場合には（Ｓ１：Ｎｏ）、排他的プロセスの実行制御を行うことなく、各ジョブの実行制御を行う（Ｓ１１）。
【００６３】
図５は、上記ステップＳ１０における実行制御の詳細な動作の一例を示すフローチャートである。ジョブ制御手段３０２は、図５に示すフローチャートを各ジョブにそれぞれ適用することにより並列処理を行う。また、図６は、ジョブ制御手段３０２による実行制御が行われた結果、複数のジョブの各プロセスが実行される実行状態の一例を示すタイミングチャートである。
【００６４】
まず、ジョブ制御手段３０２は、各ジョブのプロセス情報リストから先頭のプロセス情報を取得し（Ｓ１０１）、そのプロセス情報がレビュープロセスを示すか否かを判定する（Ｓ１０２）。ジョブ制御手段３０２は、その結果レビュープロセスでないと判定した場合には（Ｓ１０２：Ｎｏ）、そのプロセスに対して文書データを入力し、処理開始を順次指示する（Ｓ１１０）
【００６５】
例えば、ジョブ「ＪＯＢ１」においては、ジョブ制御手段３０２は、先頭のプロセスはプリフライトプロセスであるため、レビュープロセスではないと判定し（Ｓ１０２：Ｎｏ）、プリフライト処理部３３に文書データ「表紙．ｐｄｆ」を入力して処理開始を指示し（Ｓ１１０）、その指示を受けたプリフライト処理部３３は、「表紙．ｐｄｆ」に対してプリフライトプロセスを実行する。
【００６６】
そして、ジョブ制御手段３０２は、ジョブ管理テーブル３１３のジョブステータスを「処理中」に、処理プロセスＩＤを「Ｐ１」にそれぞれ更新する。その後、ジョブ制御手段３０２は、プリフライト処理部３３から処理の完了通知を受け取ると（Ｓ１１１）、そのプリフライプロセスが、プロセス情報リストにおいて最後のプロセスであるか否かを判定する（Ｓ１３０）。ここでは、ジョブ制御手段３０２は、最後のプロセスではないと判定し（Ｓ１３０：Ｎｏ）、次のプロセス情報として面付けプロセスを取得し（Ｓ１０１）、その面付けプロセスを実行する面付け処理部３４に対して処理開始を指示し（Ｓ１１０）、処理プロセスＩＤを「Ｐ２」に更新する。
【００６７】
上記のジョブ「ＪＯＢ１」におけるプロセスを実行するのと並列的に、ジョブ制御手段３０２は、ジョブ「ＪＯＢ２」〜「ＪＯＢ５」に対しても、図５のフローチャートを適用する。すなわち、ジョブ「ＪＯＢ２」、「ＪＯＢ５」においては、先頭のプロセスはレビュープロセスであるため（Ｓ１０２：Ｙｅｓ）、ジョブ制御手段３０２は、ジョブ「ＪＯＢ２」、「ＪＯＢ５」の処理状態を一時停止状態とし（Ｓ１２０）、ジョブ「ＪＯＢ２」、「ＪＯＢ５」が監視対象のジョブであるか否かを判定する（Ｓ１２１）。ここでの監視対象のジョブは、ジョブ「ＪＯＢ１」であるため（Ｓ１２１：Ｎｏ）、レビュープロセスに後続するプロセスは、他のジョブの処理待ちとし（Ｓ１４０）、ジョブ「ＪＯＢ２」、「ＪＯＢ５」のジョブステータスを「処理待ち」に更新する。
【００６８】
また、ジョブ「ＪＯＢ３」の先頭のプロセスは印刷プロセスであるため（Ｓ１０２：Ｎｏ）、ジョブ制御手段３０２は、印刷装置４に文書データを送信するとともに処理開始を指示し（Ｓ１１０）、印刷装置４は、その文書データに基づいて印刷処理を実行する。ジョブ制御手段３０２は、印刷装置４から印刷処理の完了通知を受け取ると（Ｓ１１１）、プロセス情報を順次取得して（Ｓ１０１）、プリフライトプロセス、面付けプロセスの順に処理開始を指示する（Ｓ１１０）。
【００６９】
その後、ジョブ「ＪＯＢ１」における面付けプロセスが完了すると、ジョブ制御手段３０２は、面付けプロセスに後続するプロセス情報を取得し（Ｓ１０１）、そのプロセス情報はレビュープロセスであるため（Ｓ１０２：Ｙｅｓ）、「ＪＯＢ１」の処理状態を一時停止状態とする（Ｓ１２０）。そして、ジョブ制御手段３０２は、ジョブ「ＪＯＢ１」が監視対象であるか否かを判定するが（Ｓ１２１）、ここでは監視対象のジョブと判定し（Ｓ１２１：Ｙｅｓ）、排他的プロセスであってレビュープロセスに後続する印刷プロセスを実行するため、印刷装置４にジョブ「ＪＯＢ１」における印刷プロセスの処理開始を指示する（Ｓ１２２）。
【００７０】
次に、ジョブ制御手段３０２は、その指示した印刷プロセスの完了通知を印刷装置４から受け取ると（Ｓ１２３）、制御対象ジョブリストからジョブ「ＪＯＢ１」を削除する（Ｓ１２４）。
【００７１】
次に、ジョブ制御手段３０２は、ジョブ「ＪＯＢ１」を削除した制御対象ジョブリストの中で入力順序が最も早いジョブを検索し、その結果抽出したジョブ「ＪＯＢ２」を監視対象のジョブに変更する（Ｓ１２５）。
【００７２】
このとき、ジョブ管理テーブル３１３においてジョブ「ＪＯＢ２」のジョブステータスは「処理待ち」と記録されており、ジョブ「ＪＯＢ２」に適用した図５のフローチャートでは、上記ステップＳ１４０にて処理待ちとなっている。ジョブ制御手段３０２は、ジョブ「ＪＯＢ２」に監視対象のジョブを変更したことにより、上記ステップＳ１２１にてジョブ「ＪＯＢ２」は監視対象のジョブであると判定し（Ｓ１２１：Ｙｅｓ）、ジョブ「ＪＯＢ２」のレビュープロセスに後続する印刷プロセスを実行するため、印刷装置４にジョブ「ＪＯＢ２」における印刷プロセスの処理開始を指示する（Ｓ１２２）。
【００７３】
そして、ジョブ制御手段３０２は、ジョブ「ＪＯＢ２」の印刷プロセスの完了通知を印刷装置４から受け取ると（Ｓ１２３）、制御対象ジョブリストからジョブ「ＪＯＢ２」を削除し（Ｓ１２４）、その後は上記と同様にして、ジョブ「ＪＯＢ４」、「ＪＯＢ５」においてもレビュープロセスに後続する印刷プロセスが順に実行される。
【００７４】
なお、図６では、ジョブ「ＪＯＢ２」の印刷プロセスが、ジョブ「ＪＯＢ４」の面付けプロセスより後に完了し、ジョブ「ＪＯＢ４」のレビュープロセスにおいて処理待ちとなっているが、ジョブ「ＪＯＢ２」の印刷プロセスが、ジョブ「ＪＯＢ４」の面付けプロセスより先に完了した場合には、ジョブ「ＪＯＢ４」のレビュープロセスでは処理待ちとはならずに続けてジョブ「ＪＯＢ４」の印刷プロセスが実行される。
【００７５】
以上のようにして、ジョブ「ＪＯＢ１」〜「ＪＯＢ５」は、並列的に実行されるとともに、ジョブ「ＪＯＢ１」、「ＪＯＢ２」、「ＪＯＢ４」、「ＪＯＢ５」における排他的プロセスである印刷プロセスは、入力順序に従って印刷装置４により実行されることとなり、印刷物は、「参考文献．ｐｄｆ」、「表紙．ｐｄｆ」、「第１章．ｐｄｆ」、「第２章．ｐｄｆ」、「第３章．ｐｄｆ」の順に出力される。すなわち、印刷プロセスを排他的プロセスに設定することにより、ワークフローが適用された複数のジョブに含まれる印刷プロセスが、システムを大型化せずに１つの印刷装置４で順次実行される。
【００７６】
（適用例）
第１の実施の形態に係る適用例としては、上記の印刷順序を制御する場合の他に、以下の場合が挙げられる。
【００７７】
例えば、第１及び第２のワークフローにおいて、第１のワークフローに含まれる第１のプロセスを実行し、その結果出力される結果データを、第２のワークフローに含まれる第２のプロセスに入力する場合に適用される。具体的には、第１のプロセスとしての保存プロセスにより保存先フォルダに保存されたデータに対して、第２のプロセスとしての印刷プロセスが印刷処理を実行するような場合である。この場合には、保存プロセス及び印刷プロセスが、排他的プロセスに設定される。
【００７８】
［第２の実施の形態］
第１の実施の形態では、レビュープロセスに後続する１つのプロセスを排他的プロセスとして設定した。これに対し、第２の実施の形態に係るワークフローシステムは、所定の排他区間に含まれた連続する複数のプロセスを排他的プロセスとして設定するものである。
【００７９】
本実施の形態に係るジョブ制御装置３は、ワークフローに含まれるプロセスのうち、連続する複数のプロセスを排他的プロセスとして示す排他区間を設定する設定手段３００、及び設定手段３００により設定された排他区間に基づいて、複数のジョブの実行を制御するジョブ制御手段３０２を備え、その他の構成は、第１の実施の形態と同様である。
【００８０】
図７（ａ）は、ワークフロー管理テーブルの一例を示す図である。このワークフロー管理テーブル３１２Ｂにおけるプロセス情報リストには、複数のプロセスの実行順序とともに、排他区間の入口及び出口をそれぞれ定めるゲートイン属性１３Ａ、ゲートアウト属性１３Ｂを有する２つのレビュープロセスが追加されている。
【００８１】
すなわち、排他的プロセスは、ゲートイン属性１３Ａを有するレビュープロセス（ゲートイン）とゲートアウト属性１３Ｂを有するレビュープロセス（ゲートアウト）とにより囲まれたプロセスである。ワークフロー「ＷＦ１」では、保存プロセス及び印刷プロセスの２つが該当し、ワークフロー「ＷＦ２」では、印刷プロセスが該当する。なお、本実施の形態では、レビュープロセス（ゲートアウト）の直前に配列されたプロセスが、第２の処理工程に該当する。また、排他区間に含まれる排他的プロセスの数は、３つ以上でもよい。
【００８２】
図７（ｂ）は、排他区間が設定された複数のジョブの実行状態の一例を示すタイミングチャートである。図７（ｂ）では、ジョブ登録手段３０１により、３つの文書データの各々を、ワークフロー「ＷＦ１」に入力したジョブ「ＪＯＢ１」、ワークフロー「ＷＦ２」に入力したジョブ「ＪＯＢ２」、ワークフロー「ＷＦ１」に入力したジョブ「ＪＯＢ３」が登録され、それら３つのジョブがジョブ制御手段３０２の制御の下で並列的に実行される。
【００８３】
まず、ジョブ制御手段３０２は、ジョブ「ＪＯＢ１」〜「ＪＯＢ３」からなる制御対象リストを作成する。次に、ジョブ制御手段３０２による処理開始の指示に基づき、ジョブ「ＪＯＢ１」における保存プロセス、印刷プロセスが順に実行されるとともに、ジョブ「ＪＯＢ２」におけるプリフライトプロセスが実行される。ジョブ「ＪＯＢ２」のプリフライトプロセスが完了すると、後続するレビュープロセス（ゲートイン）において、ジョブ「ＪＯＢ２」は、制御対象リストにおける入力順序が最も早いジョブではないため、処理待ちと判定される。また、ジョブ「ＪＯＢ３」は、先頭のプロセスであるレビュープロセス（ゲートイン）において処理待ちと判定される。
【００８４】
次に、ジョブ「ＪＯＢ１」の印刷プロセスが完了すると、レビュープロセス（ゲートアウト）を通過することにより、制御対象リストからジョブ「ＪＯＢ１」が削除される。その結果、ジョブ「ＪＯＢ２」の処理待ちが解除され、ジョブ「ＪＯＢ２」の印刷プロセスが実行される。
【００８５】
そして、ジョブ「ＪＯＢ２」の印刷プロセスが完了すると、レビュープロセス（ゲートアウト）の通過により制御対象リストからジョブ「ＪＯＢ２」が削除され、ジョブ「ＪＯＢ３」の処理待ちが解除されて、ジョブ「ＪＯＢ３」の保存プロセス、印刷プロセスが順に実行される。
【００８６】
以上のようにして、あるワークフローの排他区間に含まれる複数のプロセスが完了してから、他のワークフローに含まれる排他的プロセスが実行されることとなり、例えば、１つの処理装置において複数のプロセスを連続して実行する必要がある場合に、その複数のプロセスの間に他のワークフローに含まれるプロセスが割り込んで実行されることを防ぐことができる。
【００８７】
［第３の実施の形態］
第１の実施の形態では、複数のジョブに基づき１つの制御対象ジョブリストを作成し、複数の排他的プロセスを入力順序に従って実行した。これに対し、第３の実施の形態に係るワークフローシステムは、排他的プロセスを複数のグループに分別するグループ属性を各排他的プロセスに設定し、そのグループ毎に制御対象ジョブリストをそれぞれ作成することにより、同一グループに属する複数の排他的プロセスを入力順序に従って実行するものである。
【００８８】
本実施の形態に係るジョブ制御装置３は、グループ属性を排他的プロセスに設定する設定手段３００、その設定されたグループ属性により分別した複数の排他的プロセスのグループ毎に、入力順序に従って実行されるように、複数のジョブの実行を制御するジョブ制御手段３０２を備え、その他の構成は、第１の実施の形態と同様である。
【００８９】
図８（ａ）は、ワークフロー管理テーブルの一例を示す図である。このワークフロー管理テーブル３１２Ｃにおけるプロセス情報リストには、グループ属性１４が設定されたレビュープロセスが追加されている。具体的には、ワークフロー「ＷＦ１」，「ＷＦ３」のレビュープロセスには、グループ属性１４として「グループＡ」が設定され、ワークフロー「ＷＦ２」のレビュープロセスには、グループ属性１４として「グループＢ」が設定されている。
【００９０】
図８（ｂ）は、グループ属性が設定された複数のジョブの実行順序の一例を示すタイミングチャートである。図８（ｂ）では、ジョブ登録手段３０１により、４つの文書データの各々を、ワークフロー「ＷＦ１」に入力したジョブ「ＪＯＢ１」、ワークフロー「ＷＦ２」に入力したジョブ「ＪＯＢ２」、ワークフロー「ＷＦ３」に入力したジョブ「ＪＯＢ３」、ワークフロー「ＷＦ２」に入力したジョブ「ＪＯＢ４」が登録され、それら４つのジョブがジョブ制御手段３０２の制御の下で並列的に実行される。
【００９１】
まず、ジョブ制御手段３０２は、ジョブ「ＪＯＢ１」、「ＪＯＢ３」からなるグループＡに関する制御対象リストと、ジョブ「ＪＯＢ２」、「ＪＯＢ４」からなるグループＢに関する第２の制御対象リストを作成する。
【００９２】
次に、ジョブ「ＪＯＢ１」の印刷プロセス、ジョブ「ＪＯＢ２」のプリフライトプロセス、ジョブ「ＪＯＢ３」の保存プロセス及びジョブ「ＪＯＢ４」のプリフライトプロセスが並列的に実行され、ジョブ「ＪＯＢ３」において、保存プロセスが完了すると、後続するレビュープロセス（グループＡ）において、ジョブ「ＪＯＢ３」はグループＡの制御対象リストにおける入力順序が最も早いジョブではないため、処理待ちと判定される。
【００９３】
そして、ジョブ「ＪＯＢ１」の印刷プロセスが完了して、グループＡの制御対象リストからジョブ「ＪＯＢ１」が削除されると、ジョブ「ＪＯＢ３」の処理待ちが解除され、ジョブ「ＪＯＢ３」の印刷プロセスが実行される。
【００９４】
また、ジョブ「ＪＯＢ２」、「ＪＯＢ４」においてプリフライトプロセスに続いて面付けプロセスがそれぞれ完了すると、ジョブ「ＪＯＢ２」は印刷プロセスに移るが、ジョブ「ＪＯＢ４」はグループＢの制御対象リストにおける入力順序が最も早いジョブではないため、処理待ちと判定される。
【００９５】
そして、ジョブ「ＪＯＢ２」のプリフライトプロセスが完了して、グループＢの制御対象リストからジョブ「ＪＯＢ２」が削除されると、ジョブ「ＪＯＢ４」の処理待ちが解除され、ジョブ「ＪＯＢ４」の印刷プロセスが実行される。
【００９６】
以上のようにして、排他的プロセスが、グループ毎に入力順序に従って実行されるため、例えば、印刷装置４が複数設けられ、印刷プロセスの実行を指示した各印刷装置に対応してグループ属性が付加されている場合には、それら各印刷装置において入力順序に従って印刷プロセスが実行されることとなり、印刷順序を保証しつつ全体の処理時間を短縮することができる。
【００９７】
［第４の実施の形態］
第１の実施の形態では、入力順序が早い排他的プロセスが完了するまで入力順序が遅い排他的プロセスは処理待ちとした。これに対し、第４の実施の形態に係るワークフローシステムは、排他的プロセスの実行を制御するタイムアウト時間を排他的プロセスに設定し、排他的プロセスが処理待ちとなってからそのタイムアウト時間を経過したとき、入力順序が早い排他的プロセスの完了を待たずに処理待ちとなっている入力順序が遅い排他的プロセスの実行を開始するものである。
【００９８】
本実施の形態に係るジョブ制御装置３は、タイムアウト時間を排他的プロセスに設定する設定手段３００、及び排他的プロセスが処理待ちとなってからその設定されたタイムアウト時間を経過したとき、入力順序が早い排他的プロセスの完了を待たずに処理待ちとなっている入力順序が遅い排他的プロセスの実行を開始するジョブ制御手段３０２を備え、その他の構成は、第１の実施の形態と同様である。
【００９９】
図９（ａ）は、ワークフロー管理テーブルの一例を示す図である。このワークフロー管理テーブル３１２Ｄにおけるプロセス情報リストには、上述のタイムアウト時間１５が設定されたレビュープロセスが追加されている。例えば、ワークフロー「ＷＦ１」のレビュープロセスでは、タイムアウト時間１５として「１０分」が記録されている。
【０１００】
図９（ｂ）は、タイムアウト時間が設定された複数のジョブの実行順序の一例を示すタイミングチャートである。図９（ｂ）では、ジョブ登録手段３０１により、２つの文書データをワークフロー「ＷＦ１」にそれぞれ入力したジョブ「ＪＯＢ１」、「ＪＯＢ２」が登録され、それら２つのジョブがジョブ制御手段３０２の制御の下で並列的に実行される。
【０１０１】
まず、ジョブ制御手段３０２は、ジョブ「ＪＯＢ１」、「ＪＯＢ２」からなる制御対象リストを作成する。次に、ジョブ「ＪＯＢ１」、「ＪＯＢ２」の面付けプロセスが並列的に実行され、ジョブ「ＪＯＢ１」は、レビュープロセスで処理待ちとは判定されずに続けて印刷プロセスが実行される。一方、ジョブ「ＪＯＢ２」は、レビュープロセスで処理待ちと判定されて、処理待ち時間１５０のカウントを開始する。
【０１０２】
そして、ジョブ「ＪＯＢ１」の印刷プロセスが完了しないまま、処理待ち時間１５０がタイムアウト時間１５を経過したとき、ジョブ「ＪＯＢ２」は、処理待ちが解除され、印刷プロセスが実行される。
【０１０３】
以上のようにして、排他的プロセスにタイムアウト時間を設定することにより、排他的プロセスが処理待ちとなった場合でも、遅くともタイムアウト時間の経過により排他的プロセスの実行が保証される。
【０１０４】
［第５の実施の形態］
第１の実施の形態では、排他的プロセスの実行中にエラーが発生したときに、その後の排他的プロセスの実行を制御する情報を有していなかった。これに対し、第５の実施の形態に係るワークフローシステムは、排他的プロセスにエラー処理属性を設定し、排他的プロセスの実行中にエラーが発生したとき、このエラー処理属性に基づいて、その後の排他的プロセスの実行を制御するものである。
【０１０５】
本実施の形態に係るジョブ制御装置３は、エラー処理属性を排他的プロセスに設定する設定手段３００、その設定されたエラー処理属性に基づいて、複数のジョブの実行を制御するジョブ制御手段３０２を備え、その他の構成は、第１の実施の形態と同様である。
【０１０６】
図１０は、ワークフロー管理テーブルの一例を示す図である。このワークフロー管理テーブル３１２Ｅにおけるプロセス情報リストには、エラー処理属性１６が設定されたレビュープロセスが追加されている。例えば、ワークフロー「ＷＦ１」のレビュープロセスには、エラー処理属性１６として、その後の排他的プロセスの実行を中止する「エラー終了」が記録されている。
【０１０７】
また、エラー処理属性１６に対する選択肢としては、上述の「エラー終了」の他に、エラーの発生に関係なくその後のジョブの実行を継続する「エラー無視」、エラーが発生した時点でその後のジョブの実行を、例えば、ユーザからの指示があるまで一旦停止する「エラー停止」があり、それら３つの選択肢からユーザが任意に選択可能に構成されている。
【０１０８】
図１１（ａ）は、エラー処理属性に「エラー終了」が指定された複数のジョブの実行状態の一例を示すタイミングチャートである。図１１（ａ）では、２つの文書データをワークフロー「ＷＦ１」にそれぞれ入力したジョブ「ＪＯＢ１」、「ＪＯＢ２」が登録され、それら２つのジョブがジョブ制御手段３０２の制御の下で並列的に実行される。
【０１０９】
まず、ジョブ制御手段３０２は、ジョブ「ＪＯＢ１」、「ＪＯＢ２」からなる制御対象リストを作成する。次に、ジョブ「ＪＯＢ１」、「ＪＯＢ２」の保存プロセスが並列的に実行され、ジョブ「ＪＯＢ１」は、レビュープロセスで処理待ちとは判定されずに続けて印刷プロセスが実行される。一方、ジョブ「ＪＯＢ２」は、レビュープロセスで処理待ちと判定される。
【０１１０】
そして、ジョブ制御手段３０２は、ジョブ「ＪＯＢ１」の印刷プロセスの実行中にエラーが発生した旨のエラー通知を印刷装置４から受け取ると、ジョブ制御手段３０２は、処理待ちのジョブ「ＪＯＢ２」の実行を中止し、終了する。
【０１１１】
図１１（ｂ）は、エラー処理属性に「エラー無視」が指定された複数のジョブの実行状態の一例を示すタイミングチャートである。図１１（ａ）と同様に、保存プロセスが並列的に実行された後、ジョブ「ＪＯＢ１」は、印刷プロセスが実行され、ジョブ「ＪＯＢ２」は、レビュープロセスで処理待ちと判定される。
【０１１２】
そして、ジョブ制御手段３０２が、ジョブ「ＪＯＢ１」の印刷プロセスにおけるエラー通知を受信すると、ジョブ制御手段３０２は、ジョブ「ＪＯＢ２」の処理待ちを解除して、ジョブ「ＪＯＢ２」の印刷プロセスを実行する。
【０１１３】
図１１（ｃ）は、エラー処理属性に「エラー停止」が指定された複数のジョブの実行状態の一例を示すタイミングチャートである。図１１（ａ）と同様に、保存プロセスが並列的に実行された後、ジョブ「ＪＯＢ１」は、印刷プロセスが実行され、ジョブ「ＪＯＢ２」は、レビュープロセスで処理待ちと判定される。
【０１１４】
そして、ジョブ制御手段３０２が、ジョブ「ＪＯＢ１」の印刷プロセスにおけるエラー通知を受信すると、ジョブ制御手段３０２は、ジョブ「ＪＯＢ２」の処理待ちを維持したまま一旦停止する。そして、ジョブ制御手段３０２は、端末装置２に対してその旨を通知し、例えば、ユーザからジョブ再開の指示を受けた場合には、ジョブ「ＪＯＢ２」の印刷プロセスを再開し、中断の指示を受けた場合には、ジョブ「ＪＯＢ２」の印刷プロセスを実行することなく、終了する。
【０１１５】
以上のようにして、エラー制御情報を用いて、エラーが発生した後の排他的プロセスの実行を制御することにより、例えば、ジョブ「ＪＯＢ１」、「ＪＯＢ２」に含まれる排他的プロセスである印刷プロセスがそれぞれ実行されて１つの印刷物が出力されるような場合には、ジョブ「ＪＯＢ１」の印刷プロセスがエラーとなったことにより、ジョブ「ＪＯＢ２」の印刷プロセスの実行を停止して、無駄な印刷物の出力を抑制することができる。
【０１１６】
［他の実施の形態］
なお、本発明は、上記各実施の形態に限定されず、本発明の趣旨を逸脱しない範囲内で種々な変形が可能である。例えば、上記各実施の形態では、ジョブ制御装置３の設定手段、ジョブ登録手段及びジョブ制御手段を、制御部とジョブ制御プログラムによって実現したが、それらの一部または全部を特定用途向け集積回路（ＡＳＩＣ：Application Specific IＣ）等のハードウェアによって実現してもよい。
【０１１７】
また、上記各実施の形態で使用されるプログラムは、ＣＤ−ＲＯＭ等の記録媒体から装置内の記憶部に読み込んでもよく、インターネット等のネットワークに接続されているサーバ等から装置内の記憶部にダウンロードしてもよい。
【０１１８】
また、上記各実施の形態では、ワークフローにおいて排他的プロセスを示すためにレビュープロセスを追加したが、排他的プロセスが識別できる情報がワークフローに付加されていればよく、例えば、各プロセスに排他的プロセスであるか否かを示す属性を付加するようにしてもよいし、これに限られない。
【０１１９】
また、本発明の趣旨を逸脱しない範囲内で上記各実施の形態の構成要素を任意に組み合わせることができる。例えば、第３の実施に形態におけるグループ属性と、第４の実施の形態におけるタイムアウト時間とを１つの排他的プロセスに設定するようにしてもよいし、さらに他の実施の形態における属性を組み合わせて設定するようにしてもよい。
【０１２０】
また、上記各実施の形態におけるワークフローシステムは、ジョブ制御装置が有する機能やデータ等をワークフローシステム全体として備えていればよく、例えば、プリフライト処理部や面付け処理部は、他の処理装置に設けられていてもよい。
【０１２１】
また、上記各実施の形態におけるワークフローシステムでは、制御対象ジョブリストにおいて文書データの入力順序に従って監視対象のジョブを変更したが、所定の並び順で変更すればよく、例えば、文書データの最終保存日時やファイルサイズ等の属性順でもよいし、ユーザによる指定順でもよい。
【図面の簡単な説明】
【０１２２】
【図１】図１は、本発明の第１の実施の形態に係る画像処理システムの概略構成の一例を示すブロック図である。
【図２】図２（ａ）は、プロセス管理テーブルの一例を示し、図２（ｂ）は、ワークフロー管理テーブルの一例を示し、図２（ｃ）は、レビュープロセスを追加したワークフローが記録されたワークフロー管理テーブルの一例を示す図である。
【図３】図３（ａ）は、ジョブ指定情報の一例を示し、図３（ｂ）は、ジョブ管理テーブルの一例を示す図である。
【図４】図４は、ジョブ制御装置においてジョブの実行を制御する動作の一例を示すフローチャートである。
【図５】図５は、図４のステップＳ１０における実行制御の詳細な動作の一例を示す図である。
【図６】図６は、複数のジョブの実行状態の一例を示すタイミングチャートである。
【図７】図７（ａ）は、本発明の第２の実施の形態に係るワークフロー管理テーブルの一例を示す図である。図７（ｂ）は、排他区間が設定された複数のジョブの実行状態の一例を示すタイミングチャートである。
【図８】図８（ａ）は、本発明の第３の実施の形態に係るワークフロー管理テーブルの一例を示す図である。図８（ｂ）は、グループ属性が設定された複数のジョブの実行順序の一例を示すタイミングチャートである。
【図９】図９（ａ）は、本発明の第４の実施の形態に係るワークフロー管理テーブルの一例を示す図である。図９（ｂ）は、タイムアウト時間が設定された複数のジョブの実行順序の一例を示すタイミングチャートである。
【図１０】図１０は、本発明の第５の実施の形態に係るワークフロー管理テーブルの一例を示す図である。
【図１１】図１１（ａ）は、エラー処理属性に「エラー終了」が指定された複数のジョブの実行状態の一例を示し、図１１（ｂ）は、エラー処理属性に「エラー無視」が指定された複数のジョブの実行状態の一例を示し、図１１（ｃ）は、エラー処理属性に「エラー停止」が指定された複数のジョブの実行状態の一例を示すタイミングチャートである。
【符号の説明】
【０１２３】
１…ワークフローシステム、２…端末装置、３…ジョブ制御装置、４…印刷装置、１０…ネットワーク、１１…ジョブ指定情報、１２…ジョブ処理情報、１３Ａ…ゲートイン属性、１３Ｂ…ゲートアウト属性、１４…グループ属性、１５…タイムアウト時間、１６…エラー処理属性、３０…制御部、３１…記憶部、３２…通信部、３３…プリフライト処理部、３４…面付け処理部、１００…ジョブＩＤ、１１０…処理ワークフローＩＤ、１５０…処理待ち時間、３００…設定手段、３０１…ジョブ登録手段、３０２…ジョブ制御手段、３１０…ジョブ制御プログラム、３１１…プロセス管理テーブル、３１２Ａ〜３１２Ｅ…ワークフロー管理テーブル、３１３…ジョブ管理テーブル
【図１】
2010009200.tif 000003
【図２】
2010009200.tif 000004
【図３】
2010009200.tif 000005
【図４】
2010009200.tif 000006
【図５】
2010009200.tif 000007
【図６】
2010009200.tif 000008
【図７】
2010009200.tif 000009
【図８】
2010009200.tif 000010
【図９】
2010009200.tif 000011
【図１０】
2010009200.tif 000012
【図１１】
2010009200.tif 000013