(57)【要約】【課題】処理単位の組み合わせによって構成される処理フローの柔軟性を向上させること。【解決手段】情報処理装置は、入力されたデータに対する１以上の処理単位を、定義情報に定義された順番で実行する処理制御部と、前記１以上の処理単位のうちの一つである第一の処理単位の停止に応じ、前記第一の処理単位より前に実行された処理単位の出力情報と、前記第一の処理単位より後に実行される処理単位に関して前記定義情報に設定された入力情報とのいずれか一方又は双方を含む情報を、ユーザが変更可能な状態で出力させる出力部と、ユーザによって変更された情報を受け付ける受付部とを有し、前記処理制御部は、前記受付部によって受け付けられた前記情報に基づいて、前記第一の処理単位より後の処理単位の実行を制御する。【選択図】図３
2015177491.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータに対する１以上の処理単位を、定義情報に定義された順番で実行する処理制御部と、
前記１以上の処理単位のうちの一つである第一の処理単位の停止に応じ、前記第一の処理単位より前に実行された処理単位の出力情報と、前記第一の処理単位より後に実行される処理単位に関して前記定義情報に設定された入力情報とのいずれか一方又は双方を含む情報を、ユーザが変更可能な状態で出力させる出力部と、
ユーザによって変更された情報を受け付ける受付部とを有し、
前記処理制御部は、前記受付部によって受け付けられた前記情報に基づいて、前記第一の処理単位より後の処理単位の実行を制御する、
ことを特徴とする情報処理装置。
【請求項２】
前記出力部は、前記定義情報において定義されている出力先に情報を出力させる、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記出力部は、前記定義情報において出力対象として定義されている情報を出力させる、
ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記処理制御部は、前記出力部による前記情報の出力後、所定時間経過した場合は、前記受付部による前記変更された情報の受け付けを待たずに、前記第一の処理単位より後の処理単位の実行を制御する、
ことを特徴とする請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
１以上のコンピュータを含む情報処理システムであって、
入力されたデータに対する１以上の処理単位を、定義情報に定義された順番で実行する処理制御部と、
前記１以上の処理単位のうちの一つである第一の処理単位の停止に応じ、前記第一の処理単位より前に実行された処理単位の出力情報と、前記第一の処理単位より後に実行される処理単位に関して前記定義情報に設定された入力情報とのいずれか一方又は双方を含む情報を、ユーザが変更可能な状態で出力させる出力部と、
ユーザによって変更された情報を受け付ける受付部とを有し、
前記処理制御部は、前記受付部によって受け付けられた前記情報に基づいて、前記第一の処理単位より後の処理単位の実行を制御する、
ことを特徴とする情報処理システム。
【請求項６】
１以上のコンピュータを含む情報処理システムが、
入力されたデータに対する１以上の処理単位を、定義情報に定義された順番で実行する処理制御手順と、
前記１以上の処理単位のうちの一つである第一の処理単位の停止に応じ、前記第一の処理単位より前に実行された処理単位の出力情報と、前記第一の処理単位より後に実行される処理単位に関して前記定義情報に設定された入力情報とのいずれか一方又は双方を含む情報を、ユーザが変更可能な状態で出力させる出力手順と、
ユーザによって変更された情報を受け付ける受付手順とを実行し、
前記処理制御手順は、前記受付手順において受け付けられた前記情報に基づいて、前記第一の処理単位より後の処理単位の実行を制御する、
ことを特徴とする情報処理方法。
【請求項７】
コンピュータに、
入力されたデータに対する１以上の処理単位を、定義情報に定義された順番で実行する処理制御手順と、
前記１以上の処理単位のうちの一つである第一の処理単位の停止に応じ、前記第一の処理単位より前に実行された処理単位の出力情報と、前記第一の処理単位より後に実行される処理単位に関して前記定義情報に設定された入力情報とのいずれか一方又は双方を含む情報を、ユーザが変更可能な状態で出力させる出力手順と、
ユーザによって変更された情報を受け付ける受付手順とを実行させ、
前記処理制御手順は、前記受付手順において受け付けられた前記情報に基づいて、前記第一の処理単位より後の処理単位の実行を制御する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置において文書からスキャンされた画像データに関して、予め定義されたワークフローを実行可能なシステムが有る（例えば、特許文献１）。斯かるシステムでは、ユーザの業務フローに則した形態でデータが流れるように、ワークフローが定義される。
【０００３】
一つのワークフローは、基本的に、データの入力処理、当該データに対する０以上の加工処理、当該０以上の加工処理の実行によって生成されるデータの出力処理等の処理単位の組み合わせによって構成される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ワークフローを構成する処理単位が連続的、かつ、自動的に実行されてしまうのは望ましくない場合が有る。例えば、ワークフローの途中で、ユーザによる入力を待機し、ユーザによる入力に応じて、以降の処理単位を実行したい場合が有る。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、処理単位の組み合わせによって構成される処理フローの柔軟性を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、情報処理装置は、入力されたデータに対する１以上の処理単位を、定義情報に定義された順番で実行する処理制御部と、前記１以上の処理単位のうちの一つである第一の処理単位の停止に応じ、前記第一の処理単位より前に実行された処理単位の出力情報と、前記第一の処理単位より後に実行される処理単位に関して前記定義情報に設定された入力情報とのいずれか一方又は双方を含む情報を、ユーザが変更可能な状態で出力させる出力部と、ユーザによって変更された情報を受け付ける受付部とを有し、前記処理制御部は、前記受付部によって受け付けられた前記情報に基づいて、前記第一の処理単位より後の処理単位の実行を制御する。
【発明の効果】
【０００７】
処理単位の組み合わせによって構成される処理フローの柔軟性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図２】本発明の実施の形態におけるフロー管理サーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるフロー管理サーバ及び再開指示装置の機能構成例を示す図である。
【図４】ジョブ投入部の構成例を示す図である。
【図５】フロー実行制御部が実行する処理手順の一例を説明するためのフローチャートである。
【図６】本実施の形態におけるワークフローの具体例を示す図である。
【図７】本実施の形態におけるフロー定義データの一例を示す図である。
【図８】本実施の形態における初期状態のジョブ定義データの一例を示す図である。
【図９】本実施の形態におけるＯＣＲ処理の実行後のジョブ定義データの一例を示す図である。
【図１０】停止処理の処理手順の一例を説明するためのシーケンス図である。
【図１１】停止処理の処理手順の一例を説明するためのシーケンス図である。
【図１２】パラメータ情報の編集前のパラメータ編集画面の表示例を示す図である。
【図１３】パラメータ情報の編集後のパラメータ編集画面の表示例を示す図である。
【図１４】本実施の形態におけるパラメータの変更後のジョブ定義データの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における情報処理システムの構成例を示す図である。図１において、情報処理システム１は、フロー管理サーバ１０、１以上の再開指示装置２０、及び１以上の画像形成装置３０等を含む。各装置は、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）を介して通信可能に接続されている。
【００１０】
フロー管理サーバ１０は、ネットワークを介して受信されるデータに関して、予め定義されたワークフローを実行するコンピュータである。ワークフローとは、例えば、それぞれが独立して又は単独で完結した機能を実現する一以上の処理単位（タスク）の任意な組み合わせによって実現される処理の流れ（処理フロー）をいう。なお、上記処理単位は、一般的なワークフローの用語における、アクティビティに当てはめられてもよい。
【００１１】
再開指示装置２０は、処理の進行が一時的に停止しているワークフロー（停止状態のワークフロー）の再開指示の入力に利用される装置である。すなわち、本実施の形態では、一時的に処理の進行を停止可能なワークフローを実行することができる。再開指示装置２０は、例えば、ＰＣ（Personal Computer）、スマートフォン、タブレット型端末、又は画像形成装置３０等であってもよい。
【００１２】
画像形成装置３０は、ワークフローの処理対象とされるデータの入力元となる装置の一例である。例えば、画像形成装置３０は、原稿からスキャンされた画像データを、ワークフローに対する入力データとして、フロー管理サーバ１０に送信する。なお、ワークフローに対するデータの入力元は、所定のファイルサーバの所定のフォルダへのファイルの保存によって行われてもよい。また、電子メールによるデータの送信によって行われてもよい。また、クラウドストレージへのファイルの保存によって行われてもよい。
【００１３】
図２は、本発明の実施の形態におけるフロー管理サーバのハードウェア構成例を示す図である。図２のフロー管理サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１４】
フロー管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１５】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってフロー管理サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１６】
なお、フロー管理サーバ１０は、複数のコンピュータを含むコンピュータシステムであってもよい。
【００１７】
図３は、本発明の実施の形態におけるフロー管理サーバ及び再開指示装置の機能構成例を示す図である。
【００１８】
図３において、フロー管理サーバ１０は、ジョブ投入部１１、フロー実行制御部１２、処理部１３、停止通知送信部１４、パラメータ送信部１５、及び再開要求受信部１６等を有する。これら各部は、フロー管理サーバ１０にインストールされたプログラムがＣＰＵ１０４に実行させる処理により実現される。フロー管理サーバ１０は、また、開始用ジョブキュー１２１、停止用ジョブキュー１２２、実行中ジョブ記憶部１２３、及びフロー定義記憶部１２４等の記憶部を利用する。これら各記憶部は、補助記憶装置１０２、又はフロー管理サーバ１０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００１９】
フロー定義記憶部１２４は、フロー定義データを記憶する。フロー定義データとは、ワークフローの処理の流れ等に関する定義情報が記録されたデータをいう。本実施の形態において、一つのフロー定義データは、一つのワークフローに対応する。したがって、フロー定義データは、相互に処理手順の異なるワークフローごとに作成される。
【００２０】
ジョブ投入部１１は、ワークフローの実行要求及び当該ワークフローに対する入力データ等を受信し、当該ワークフローに係るジョブ情報を開始用ジョブキュー１２１に投入する。本実施の形態において、ジョブとは、ワークフローの実行単位をいう。例えば、同一のワークフローが複数回実行された場合、各実行時のジョブは異なる。以下、ワークフローのジョブを、「フロージョブ」という。
【００２１】
開始用ジョブキュー１２１は、投入されたジョブ情報を、例えば、ＦＩＦＯ（First-In First-Out）形式で記憶する。ジョブ情報は、例えば、実行対象のワークフローのフロー定義データの複製に基づいて生成されるジョブ定義データや、画像形成装置３０から送信される画像データ等の処理対象のデータ等を含む情報である。なお、一つのフロージョブに対するジョブ情報は、例えば、一つのフォルダに格納されて管理されてもよい。
【００２２】
フロー実行制御部１２は、開始用ジョブキュー１２１にジョブ情報が記憶されると、当該ジョブ情報を、各処理部１３がアクセス可能な実行中ジョブ記憶部１２３に移動する。フロー実行制御部１２は、実行中ジョブ記憶部１２３に記憶されたジョブ情報に基づいて、フロージョブの実行を制御する。換言すれば、各処理部１３は、実行中ジョブ記憶部１２３に記憶されたジョブ情報を参照して、当該処理部１３に係る処理単位を実行する。なお、実行中ジョブ記憶部１２３は、フロージョブごとに形成されてもよい。
【００２３】
処理部１３は、ワークフローを構成する処理単位（アクティビティ）ごとの処理を実行する。例えば、一つのアクティビティは、一つの処理部１３によって実現される。したがって、ワークフローは、相互に処理内容の異なる１以上の処理部１３が実行する処理単位の接続によって実現される。
【００２４】
本実施の形態において、フロー管理サーバ１０が実行するワークフローを構成する１以上の処理単位は、入力処理、中間処理、停止処理、及び出力処理に大別される。入力処理は、例えば、画像形成装置３０等の外部装置から、ワークフローに対する入力データを入力する処理である。
【００２５】
中間処理は、例えば、フロージョブの処理対象とされたデータに対する加工処理である。中間処理の一例として、ノイズ除去処理、ＯＣＲ（Optical Character Recognition）処理、翻訳処理、及びデータ変換処理等が挙げられる。
【００２６】
停止処理は、フロージョブの途中で、ユーザによるフロージョブに対する介入を可能とするために、フロージョブの進行を一時的に停止させる処理である。フロージョブの停止状態は、フロージョブの再開が指示されるまで継続する。
【００２７】
出力処理は、フロージョブによって生成されるデータをユーザが利用可能な形態で出力する処理である。利用可能な形態には、用紙への印刷等、ユーザが直接利用な形態のみならず、電子的な保存等、ユーザが、アプリケーションプログラム等を介して利用可能な形態も含まれる。出力処理の一例として、所定のコンピュータのフォルダへの配信処理が挙げられる。また、所定のメールアドレスが配信先とされてもよい。また、画像データの入力元の画像形成装置３０、又は当該画像形成装置３０とは別の画像形成装置３０が配信先とされてもよい。この場合、配信先の画像形成装置３０によって、配信されたデータの印刷が実行されてもよい。
【００２８】
図３では、処理部１３の一例として、ＯＣＲ処理部１３ａ、停止処理部１３ｂ、及びメール送信処理部１３ｃ等が示されている。ＯＣＲ処理部１３ａは、処理対象のデータに対してＯＣＲ処理を実行する。停止処理部１３ｂは、停止処理を実行する。すなわち、停止処理部１３ｂは、フロージョブを一時停止させ、当該フロージョブに対するユーザの介入を可能とする。メール送信処理部１３ｃは、処理対象のデータが添付された電子メールを、所定の宛先に送信する。なお、各処理部１３は、それぞれ独立したプログラムモジュールが、ＣＰＵ１０４に実行させる処理により実現されてもよい。フロー管理サーバ１０（ＣＰＵ１０４）を、処理部１３として機能させるプログラムモジュールを、以下、「プラグイン」という。
【００２９】
停止通知送信部１４は、フロージョブにおいて停止処理が実行され、フロージョブが停止状態となった場合に、ジョブ定義データにおいて停止通知の送信先として設定されている再開指示装置２０に、フロージョブの停止通知を送信する。パラメータ送信部１５は、フロージョブの停止通知の送信先である再開指示装置２０からの要求に応じ、フロージョブの実行制御に利用されるパラメータのうち、ユーザによる値の変更が許容されるパラメータを、再開指示装置２０に送信（出力）する。すなわち、フロージョブの停止通知の送信先が、パラメータの出力先となる。当該パラメータは、例えば、停止処理を実行した停止処理部１３ｂより実行の順番（以下、「実行順」という。）が前である処理単位の出力情報と、停止処理部１３ｂより実行順が後である処理単位に対してジョブ定義データにおいて設定されている入力情報とのいずれか一方、又は双方を含む情報である。いずれのパラメータについて、ユーザによる値の変更が許容されるかについては、ジョブ定義データの元となっているフロー定義データの定義に依存する。なお、停止通知送信部１４によって、フロージョブの停止通知と共に、当該パラメータの情報が送信されてもよい。
【００３０】
再開要求受信部１６は、停止中のフロージョブの再開要求を、再開指示装置２０から受信する。再開要求の受信に応じ、停止中のフロージョブは、再開される。なお、フロージョブの再開要求には、パラメータ送信部１５によって送信されたパラメータの値の変更結果が含まれている。再開されたフロージョブは、変更結果に係るパラメータに基づいて制御される。
【００３１】
再開指示装置２０は、停止通知受信部２１、パラメータ取得部２２、表示制御部２３、及び再開要求送信部２４等を含む。これら各部は、再開指示装置２０にインストールされた１以上のプログラムが、再開指示装置２０のＣＰＵに実行させる処理によって実現される。当該プログラムは、Ｗｅｂページに含まれるスクリプトであってもよい。この場合、再開指示装置２０は、スクリプトを解釈可能なＷｅｂブラウザを有していればよい。
【００３２】
停止通知受信部２１は、フロー管理サーバ１０から送信される、フロージョブの停止通知を受信する。パラメータ取得部２２は、停止通知に係るフロージョブのパラメータを、フロー管理サーバ１０から取得する。表示制御部２３は、パラメータ取得部２２によって取得されたパラメータの値を変更させるための画面（以下、「パラメータ編集画面」という。）を表示させる。再開要求送信部２４は、パラメータ編集画面を介したユーザによるパラメータの値の変更が終了すると、フロージョブの再開要求をフロー管理サーバ１０に送信する。当該再開要求には、パラメータ編集画面におけるパラメータの値の変更結果が含まれる。
【００３３】
ところで、入力処理、中間処理、停止処理、及び出力処理のうち、各処理部１３が実行するのは、中間処理、停止処理、又は出力処理である。入力処理は、ジョブ投入部１１によって実行される。入力処理において、データの入力元となる外部装置は、様々である。また、外部装置ごとに、データの入力方法（フロー管理サーバ１０から見た場合のデータの取得方法又は受信方法）は異なりうる。このような状況に対して柔軟に対応可能とするため、ジョブ投入部１１は、例えば、図４に示されるような構成を有する。
【００３４】
図４は、ジョブ投入部の構成例を示す図である。ジョブ投入部１１において、データの入力元とのやりとりは、処理部１３と同様に、プラグイン可能なプログラムモジュール（プラグイン）によって実現される。図４では、スキャン入力プラグイン１１１、メール入力プラグイン１１２、及びフォルダ入力プラグイン１１３が例示されている。
【００３５】
スキャン入力プラグイン１１１は、画像形成装置３０から入力データを受信するプラグインである。すなわち、スキャン入力プラグイン１１１は、画像形成装置３０においてスキャンされた画像データを、入力データとして画像形成装置３０から受信する。画像形成装置３０からは、画像データと共に、フローＩＤ等が受信される。スキャン入力プラグイン１１１は、受信されたフローＩＤ及び画像データに基づいて、フロー実行制御部１２が予定している形式に従ったジョブ情報を生成し、当該ジョブ情報を開始用ジョブキュー１２１に記憶する。なお、フローＩＤとは、ワークフローの定義ごと（すなわち、フロー定義データごと）の識別情報である。
【００３６】
メール入力プラグイン１１２は、所定のメールアドレス宛の電子メールによってワークフローの実行要求を受け付けるプラグインである。この場合、当該電子メールに添付されたデータが、ワークフローの処理対象とされる。当該データは、画像データであってもよいし、他の形式のデータであってもよい。メール入力プラグイン１１２は、所定のメールアドレス宛の電子メールを、非図示のメールサーから取得する。メール入力プラグイン１１２は、取得された電子メールに添付されているデータと、当該電子メールに記述されているフローＩＤ等に基づいて、フロー実行制御部１２が予定している形式に従ったジョブ情報を生成し、当該ジョブ情報を開始用ジョブキュー１２１に記憶する。
【００３７】
フォルダ入力プラグイン１１３は、所定のフォルダに対するファイルのアップロードによって、ワークフローの実行要求を受け付けるプラグインである。所定のフォルダは、フロー管理サーバ１０の補助記憶装置１０２に形成されたフォルダでもよいし、フロー管理サーバ１０にネットワークを介して接続される記憶装置（例えば、非図示のファイルサーバの記憶装置）に形成されたフォルダでもよい。フォルダ入力プラグイン１１３は、例えば、所定のフォルダをポーリング（周期的に参照）し、当該フォルダに、処理対象のデータを格納したファイル（以下、「データファイル」という。）、及びフローＩＤや設定値等を格納したファイル（以下、「書誌ファイル」という。）が保存されていれば、当該データファイル及び書誌ファイルを取得する。フォルダ入力プラグイン１１３は、取得されたデータファイルと、取得された書誌ファイルに格納されている情報とに基づいて、フロー実行制御部１２が予定している形式に従ったジョブ情報を生成し、当該ジョブ情報を開始用ジョブキュー１２１に記憶する。
【００３８】
なお、上記以外の方法で、入力データを入力するプラグインが追加されてもよい。例えば、Ｗｅｂページを介して入力データを受け付けるプラグインが追加されてもよい。
【００３９】
このように、本実施の形態では、入力処理、中間処理、停止処理、及び出力処理のそれぞれが、プラグインによって実現される。したがって、所望の処理を実行するプラグインを作成し、追加することによって、定義可能なワークフローのバリエーションを増加させることができる。
【００４０】
以下、フロー管理サーバ１０等が実行する処理手順について説明する。図５は、フロー実行制御部が実行する処理手順の一例を説明するためのフローチャートである。
【００４１】
ジョブ投入部１１は、例えば、周期的に開始用ジョブキュー１２１を参照する（Ｓ１０１）。開始用ジョブキュー１２１にジョブ情報が記憶されている場合（Ｓ１０１でＹｅｓ）、ジョブ投入部１１は、当該ジョブ情報を、開始用ジョブキュー１２１から取り出し、実行中ジョブ記憶部１２３に移動する（Ｓ１０２）。すなわち、取り出されたジョブ情報は、開始用ジョブキュー１２１から削除される。
【００４２】
続いて、フロー実行制御部１２は、変数ｉに「１」を代入する（Ｓ１０３）。変数ｉは、処理対象のフロージョブ（以下、「対象フロージョブ」という。）の中で、実行対象の処理単位の実行順を格納するための変数である。以下、ｉ番目に実行される処理単位を、「処理単位ｉ」という。続いて、フロー実行制御部１２は、対象フロージョブを構成する処理単位の総数を変数Ｎに代入する（Ｓ１０４）。対象フロージョブを構成する処理単位の総数は、ジョブ定義データに基づいて特定可能である。
【００４３】
続いて、フロー実行制御部１２は、変数ｉの値が、変数Ｎ以下であるか否かを判定する（Ｓ１０５）。すなわち、対象フローを構成する処理単位のうち、未処理の処理単位が有るか否かが判定される。
【００４４】
変数ｉの値が変数Ｎ以下である場合、すなわち、未処理の処理単位が有る場合（Ｓ１０５でＹｅｓ）、フロー実行制御部１２は、処理単位ｉに対応する処理部１３に、処理単位ｉを実行させる（Ｓ１０６）。例えば、フロー実行制御部１２は、当該処理部１３に対して処理単位ｉの実行を要求する。当該要求には、例えば、対象フロージョブの識別情報（以下、「ジョブＩＤ」という。）等が含まれる。当該処理部１３は、当該要求に応じて処理単位ｉをジョブ情報に基づいて実行し、処理単位ｉのステータスを、フロー実行制御部１２に返却する。本実施の形態において、処理単位のステータスは、「完了」、「停止」、又は「エラー」のいずれかの値となる。「完了」は、処理単位が正常に完了したことを示す。「停止」は、処理単位が一時停止したことを示す。「エラー」は、処理単位が異常終了したことを示す。
【００４５】
続いて、フロー実行制御部１２は、返却されたステータスが「停止」であるか否かを判定する（Ｓ１０７）。当該ステータスが「停止」でない場合（Ｓ１０７でＮｏ）、フロー実行制御部１２は、当該ステータスが「エラー」であるか否かを判定する（Ｓ１０８）。当該ステータスが「エラー」でない場合（Ｓ１０８でＮｏ）、フロー実行制御部１２は、変数ｉに１を加算して（Ｓ１０９）、ステップＳ１０５以降を繰り返す。すなわち、返却されたステータスが「完了」である場合、次の処理単位が実行される。
【００４６】
一方、ステータスが「エラー」である場合（Ｓ１０８でＹｅｓ）、フロー実行制御部１２は、異常終了時の処理を実行する（Ｓ１１０）。例えば、対象フロージョブのジョブ情報が、実行中ジョブ記憶部１２３から、エラーが発生したフロージョブのジョブ情報を記憶する領域へ移動される。異常終了時の処理が完了すると、対象フロージョブは終了する。
【００４７】
ステータスが「停止」である場合（Ｓ１０７でＹｅｓ）、フロー実行制御部１２は、対象フロージョブのジョブ情報を、実行中ジョブ記憶部１２３から停止用ジョブキュー１２２に移動する（Ｓ１１１）。その結果、対象フロージョブの進行が停止する。なお、本実施の形態において、「停止」を示すステータスを返却する処理部１３は、停止処理部１３ｂである。
【００４８】
続いて、フロー実行制御部１２は、対象フロージョブの再開要求の通知を待機する（Ｓ１１２）。対象フロージョブの再開要求が通知されると（Ｓ１１２でＹｅｓ）、フロー実行制御部１２は、停止用ジョブキュー１２２に記憶されている対象フロージョブのジョブ情報を、実行中ジョブ記憶部１２３に移動する（Ｓ１１３）。続いて、ステップＳ１０６以降が繰り返される。ここで、ステップＳ１０６において実行が要求される処理単位は、停止した処理単位である。当該処理単位に係る停止処理部１３ｂは、２度目の実行要求に応じ、「完了」を示すステータスを返却する。その結果、フローの進行が再開される。
【００４９】
続いて、具体例に基づいて、本実施の形態を説明する。図６は、本実施の形態におけるワークフローの具体例を示す図である。
【００５０】
図６に示されるように、本実施の形態では、ジョブ情報に含まれる、画像形成装置３０から送信された画像データに関して、まず、ＯＣＲ処理が実行される。ＯＣＲ処理によって、画像データから抽出されたテキストデータが出力される。続いて、停止処理が実行される。停止処理により、テキストデータの編集の機会がユーザに与えられる。続いて、メール送信処理が実行される。メール送信処理では、ＯＣＲ処理の結果に対してユーザによる修正が行われたテキストデータを件名とする電子メールが、ジョブ定義データに設定されたメールアドレス宛に送信される。なお、本実施の形態では、停止処理によって、テキストデータの編集と共に、当該メールアドレスの変更の機会もユーザに与えられる。
【００５１】
図６に示されるワークフローのフロー定義データは、例えば、図７に示されるように定義される。図７は、本実施の形態におけるフロー定義データの一例を示す図である。本実施の形態において、フロー定義データは、ＸＭＬ（eXtensible Markup Language）形式によって定義される。但し、ＣＳＶ（Comma Separated Values）形式等、他の形式に従って、フロー定義データが定義されてもよい。
【００５２】
図７において、フロー定義データ５００は、＜ｆｌｏｗ＞タグで囲まれるｆｌｏｗ要素をルート要素とする。ｆｌｏｗ要素は、ｉｄ要素５１０と、１以上のｐｌｕｇ−ｉｎ要素を子要素として含む。ｉｄ要素５１０の値（「Ｆｌｏｗ１」）は、フローＩＤである。
【００５３】
ｐｌｕｇ−ｉｎ要素は、処理単位ごとの定義である。フロー定義データ５００は、ＯＣＲ処理に対応するｐｌｕｇ−ｉｎ要素５２０、停止処理に対応するｐｌｕｇ−ｉｎ要素５３０、メール送信処理に対応するｐｌｕｇ−ｉｎ要素５４０を含む。各ｐｌｕｇ−ｉｎ要素は、ｏｒｄｅｒ属性を含む。ｏｒｄｅｒ属性の値は、当該ｐｌｕｇ−ｉｎ要素に係る処理単位の実行順を示す。また、各ｐｌｕｇ−ｉｎ要素は、ｉｄ要素、ｄｉｓｐｌａｙＮａｍｅ要素、及びｐａｒａｍｅｔｅｒｓ要素を、子要素として含む。
【００５４】
ｉｄ要素の値は、当該処理理単位を実行する処理部１３としてフロー管理サーバ１０を機能させるプログラム（プラグイン）の識別情報である。フロー実行制御部１２は、ｉｄ要素の値に基づいて、処理部１３を呼び出すことができる。ｄｉｓｐｌａｙＮａｍｅの値は、フロー定義データに関する編集画面において、各処理単位を示す図形が表示される際に、当該図形上に表示される文字列である。ｐａｒａｍｅｔｅｒｓ要素は、当該処理単位に対する入力パラメータが指定されたり、当該処理単位による処理結果（出力情報）が記録されたりする部分である。入力パラメータや出力情報は、処理単位ごとに異なる。したがって、ｐａｒｅｍｅｔｅｒｓ要素の値の構造は、処理単位に応じて異なる。
【００５５】
例えば、ＯＣＲ処理に対応するｐｌｕｇ−ｉｎ要素５２０のｐａｒａｍｅｔｅｒｓ要素は、ｋｅｙｗｏｒｄ要素５２１を含む。ｋｅｙｗｏｒｄ要素５２１は、ＯＣＲ処理の結果を格納する要素である。図７において、ｋｅｙｗｏｒｄ要素５２１の値は、空である。フロー定義データの状態において、ＯＣＲ処理の結果は確定していないからである。すなわち、ｋｅｙｗｏｒｄ要素５２１には、フロー定義データ５００に基づいて生成されるジョブ定義データに基づいてＯＣＲ処理が実行された後に、当該ＯＣＲ処理によって抽出された文字列が記録される。
【００５６】
停止処理に対応するｐｌｕｇ−ｉｎ要素５３０のｐａｒａｍｅｔｅｒｓ要素は、ｐａｎｅｌ要素５３１、ｐａｎｅｌＡｄｄｒｅｓｓ要素５３２、ｐａｎｅｌＳｉｚｅ要素５３３、ｍａｘＷａｉｔｉｎｇＴｉｍｅ要素５３４、ｅｒｒｏｒＨａｎｄｌｉｎｇ要素５３５、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３６〜５３９を含む。ｐａｎｅｌ要素５３１の値は、停止通知の送信先の再開指示装置２０の種別である。「ｍｆｐ」は、画像形成装置を示す。ｐａｎｅｌＡｄｄｒｅｓｓ要素５３２の値は、当該再開指示装置２０のＩＰアドレスである。ｐａｎｅｌＳｉｚｅ要素５３３の値は、再開指示装置２０における表示装置の画面サイズである。ｍａｘＷａｉｔｉｎｇＴｉｍｅ要素５３４の値は、フロージョブの停止後、再開が要求されるまでの最大の待機時間である。ｅｒｒｏｒＨａｎｄｌｉｎｇ要素５３５の値は、最大の待機時間を経過しても、再開が要求されない場合に実行すべき処理を示す。「Ｓｋｉｐ」は、当該処理単位（停止処理）をスキップすることを示す。各ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素の値は、再開指示装置２０において、出力対象（表示対象又は編集対象）とされるパラメータの識別情報である。当該識別情報は、「＜ｐｌｕｇ−ｉｎ要素のｉｄ要素の値＞／＜パラメータに対応する要素のタグ名＞」の形式で示される。例えば、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３６の「ｏｃｒ／ｋｅｙｗｏｒｄ」は、値が「ｏｃｒ」であるｉｄ要素を子要素に含むｐｌｕｇ−ｉｎ要素５２０のｋｅｙｗｏｒｄ要素５２１の値を示す。ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ５３７の「ｓｍｔｐ／ｔｏ１」は、値が「ｓｍｔｐ」であるｉｄ要素を子要素に含むｐｌｕｇ−ｉｎ要素５４０のｔｏ１要素５４３の値を示す。
【００５７】
メール送信処理に対応するｐｌｕｇ−ｉｎ要素５４０のｐａｒａｍｅｔｅｒｓ要素は、ｓｅｒｖｅｒＩｐ要素５４１、ｐｏｒｔＮｕｍｂｅｒ要素５４２、ｔｏ１要素５４３、ｃｃ１要素５４４、ｃｃ２要素５４５、及びｓｕｂｊｅｃｔ要素５４６を含む。ｓｅｒｖｅｒＩｐ要素５４１の値は、メール送信の要求先のＳＭＴＰサーバのＩＰアドレスである。ｐｏｒｔＮｕｍｂｅｒ５４２の値は、メール送信の要求先のＳＭＴＰサーバのポート番号である。ｔｏ１要素５４３の値は、送信対象の電子メールの１番目の宛先アドレスである。ｃｃ１要素５４４の値は、送信対象の電子メールの１番目のＣｃアドレスである。ｃｃ２要素５４５の値は、送信対象の電子メールの２番目のＣｃアドレスである。ｓｕｂｊｅｃｔ要素５４６の値は、送信対象の電子メールの件名である。ここで、ｓｕｂｊｅｃｔ要素５４６の値は、中括弧で囲まれている。これは、当該値には、当該中括弧内に指定された識別情報に係る値が採用されることを示す。「ｏｃｒ／ｋｅｙｗｏｒｄ」は、値が「ｏｃｒ」であるｉｄ要素を含むｐｌｕｇ−ｉｎ要素５２０におけるｋｅｙｗｏｒｄ要素の値を示す。すなわち、「ｏｃｒ／ｋｅｙｗｏｒｄ」は、ＯＣＲ処理によって抽出された文字列を示す。したがって、ｓｕｂｊｅｃｔ要素５４６では、ＯＣＲ処理によって抽出された文字列が、電子メールの件名として採用されることが定義されている
ｐｌｕｇ−ｉｎ要素５２０、５３０、及び５４０のそれぞれにおける各ｐａｒａｍｅｔｅｒｓ要素の各子要素は、ｔｙｐｅ属性、ｒ属性、及びｗ属性を有する。ｔｙｐｅ属性の値は、当該要素に係るパラメータの値のデータ型を示す。ｒ属性の値は、当該パラメータの値について、フロージョブの実行時におけるユーザによる参照の可否を示す。ｗ属性の値は、当該パラメータの値について、フロージョブの実行時におけるユーザによる書き込み又は更新の可否を示す。ｒ属性及びｗ属性の値について、「ｔｒｕｅ」は、それぞれ参照が可能、書き込みが可能であること（許可されること）を示す。「ｆａｌｓｅ」は、それぞれ参照が不可能、書き込みが不可能であること（許可されないこと）を示す。
【００５８】
ジョブ投入部１１は、フローＩＤが、「Ｆｌｏｗ１」であるワークフローの実行要求を受け付けた場合、図７に示されるフロー定義情報に基づいて、図８に示されるジョブ定義データを生成する。
【００５９】
図８は、本実施の形態における初期状態のジョブ定義データの一例を示す図である。図８中、図７と同一部分には同一符号を付し、その説明は省略する。
【００６０】
図８において、ジョブ定義データ６００ａは、ｊｏｂＩｎｆｏ要素をルート要素として有する。換言すれば、初期状態のジョブ定義データ６００ａは、フロー定義データ５００の複製に対して、ｆｌｏｗ要素の親要素として、ｊｏｂＩｎｆｏ要素が追加されたものである。ｊｏｂＩｎｆｏ要素は、ｆｌｏｗ要素以外の子要素として、ｉｄ要素６１０を含む。ｉｄ要素６１０の値は、ジョブＩＤを示す。ジョブＩＤは、例えば、ジョブ投入部１１によって割り当てられる。
【００６１】
図５のステップＳ１０２では、図８に示されるような、ジョブ定義データを含むジョブ情報が取得される。変数ｉの値が１である場合、ジョブ定義データ６００ａに含まれるｐｌｕｇ−ｉｎ要素のうち、ｏｒｄｅｒ属性の値が１であるｐｌｕｇ−ｉｎ要素５２０に基づいて、ＯＣＲ処理部１３ａによって、ジョブ情報に含まれる画像データに対してＯＣＲ処理が実行される。ＯＣＲ処理の結果として出力される文字列は、ＯＣＲ処理部１３ａによって、ジョブ定義データ６００ａのｋｅｙｗｏｒｄ要素５２１に対して書き込まれる。
【００６２】
図９は、本実施の形態におけるＯＣＲ処理の実行後のジョブ定義データの一例を示す図である。図９中、図８と同一部分には同一符号を付し、その説明は省略する。
【００６３】
図９に示されるジョブ定義データ６００ｂでは、ｋｅｙｗｏｒｄ要素５２１の値として、「ａｂｃ」が追加されている。すなわち、ジョブ定義データ６００ｂは、ＯＣＲ処理において、「ａｂｃ」という文字列が抽出された場合の、ジョブ定義データ６００ａの更新例を示す。
【００６４】
続いて、変数ｉの値が２である場合、すなわち、ジョブ定義データ６００ｂのｐｌｕｇ−ｉｎ要素５３０に基づいて実行される停止処理について説明する。
【００６５】
図１０及び図１１は、停止処理の処理手順の一例を説明するためのシーケンス図である。
【００６６】
ステップＳ２０１において、フロー実行制御部１２は、ジョブ定義データ６００ｂのｐｌｕｇ−ｉｎ要素５３０内のｉｄ要素の値（「ｓｕｓｐｅｎｄ」）に基づいて特定される停止処理部１３ｂに対して、停止処理の実行を要求する。なお、フロー実行制御部１２から各処理部１３に対する実行要求には、例えば、実行対象のフロージョブのジョブＩＤ（以下、「対象ジョブＩＤ」という。）が含まれる。
【００６７】
続いて、停止処理部１３ｂは、対象ジョブＩＤに係るジョブ情報に含まれているジョブ定義データ６００ｂを参照して（Ｓ２０２）、ジョブ定義データ６００ｂから通知先情報を取得する（Ｓ２０３）。通知先情報とは、停止通知の送信先に関する情報をいう。本実施の形態では、ジョブ定義データ６００ｂにおける、ｐａｎｅｌ要素５３１、ｐａｎｅｌＡｄｄｒｅｓｓ要素５３２、及びｐａｎｅｌＳｉｚｅ要素５３３が、通知先情報に相当する。
【００６８】
続いて、停止処理部１３ｂは、通知先情報に含まれるＩＰアドレス宛への停止通知の送信を、停止通知送信部１４に要求する（Ｓ２０４）。当該要求には、対象フローＩＤも含まれる。続いて、停止通知送信部１４は、当該ＩＰアドレスに係る再開指示装置２０宛に、対象ジョブＩＤを含む停止通知を送信する（Ｓ２０５）。なお、仮に、ジョブ定義データ６００ｂ（図９）のｐｌｕｇ−ｉｎ要素５３０において、２以上の通知先情報が含まれている場合、２以上の再開指示装置２０に対して、停止通知が送信されてもよい。
【００６９】
停止通知の送信先の再開指示装置２０の停止通知受信部２１は、当該停止通知を受信すると、当該停止通知をパラメータ取得部２２に通知する（Ｓ２０６）。パラメータ取得部２２は、当該停止通知に含まれるジョブＩＤを指定して、編集対象とするパラメータ情報の取得要求を、停止通知の送信元のフロー管理サーバ１０のパラメータ送信部１５に送信する（Ｓ２０７）。なお、パラメータ送信部１５のアドレス情報は、例えば、停止通知に含まれていてもよい。パラメータ送信部１５は、当該取得要求を停止処理部１３ｂに通知する（Ｓ２０８）。
【００７０】
停止処理部１３ｂは、当該取得要求に指定されているジョブＩＤに係るジョブ定義データ６００ｂを参照し（Ｓ２０９）、当該ジョブ定義データからパラメータ情報を取得する（Ｓ２１０）。ここでは、ジョブ定義データ６００ｂにおける、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３６〜５３９が取得される。この際、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３６〜５３９のそれぞれについて、当該ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素の値が示す識別情報に係る、ジョブ定義データ６００ｂにおけるパラメータの値が取得される。取得された値は、当該値の取得元となったｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素に関連付けられて、パラメータ情報に含められる。例えば、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３６の値「ｏｃｒ／ｋｅｙｗｏｒｄ」に基づいて、ｋｅｙｗｏｒｄ要素５２１の値（「ａｂｃ」）が、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３６に関連付けられる。ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３７の値「ｓｍｔｐ／ｔｏ１」に基づいて、ｔｏ１要素５４３の値（「ｘｘｘ１＠ａｂｃ．ｃｏｍ」）が、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３７に関連付けられる。ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３８の値「ｓｍｔｐ／ｃｃ１」に基づいて、ｃｃ１要素５４４の値（「ｘｘｘ２＠ａｂｃ．ｃｏｍ」）が、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３８に関連付けられる。ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３９の値「ｓｍｔｐ／ｃｃ２」に基づいて、ｃｃ２要素５４５の値（「ｘｘｘ３＠ａｂｃ．ｃｏｍ」）が、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３９に関連付けられる。
【００７１】
続いて、停止処理部１３ｂは、取得されたパラメータ情報について、パラメータ情報の取得要求元への送信をパラメータ送信部１５に要求する（Ｓ２１１）。なお、パラメータ情報と共に、通知先情報に含まれるｐａｎｅｌ要素５３１及びｐａｎｅｌＳｉｚｅ要素５３３が送信対象に含まれてもよい。続いて、パラメータ送信部１５は、当該パラメータ情報を、パラメータ情報の取得要求元の再開指示装置２０に送信する（Ｓ２１２）。当該再開指示装置２０のパラメータ取得部２２は、パラメータ情報を受信すると、当該パラメータ情報を指定して、パラメータ編集画面の表示を表示制御部２３に要求する（Ｓ２１３）。表示制御部２３は、パラメータ情報を編集可能なパラメータ編集画面を生成し、当該パラメータ編集画面を、再開指示装置２０の表示装置に表示させる（Ｓ２１４）。なお、パラメータ情報とともに、ｐａｎｅｌ要素５３１及びｐａｎｅｌＳｉｚｅ要素５３３等、表示装置に関する情報が受信された場合、これらの情報に基づいてパラメータ編集画面が生成されてもよい。そうすることにより、表示制御部２３によるパラメータ編集画面の生成ロジックを、再開指示装置２０の種類に対して汎用的なものとすることができる。すなわち、再開指示装置２０の表示制御部２３として機能させるプログラムについて、特定の再開指示装置２０に対する依存度を低下させることができる。
【００７２】
図１２は、パラメータ情報の編集前のパラメータ編集画面の表示例を示す図である。図１２において、パラメータ編集画面８１０は、受信されたパラメータ情報に含まれるｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素であって、ｒ属性の値が「ｔｒｕｅ」であるｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素ごとに、表示領域を含む。各表示領域には、当該表示領域に対応するｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素に関連付けられているパラメータの値が表示される。例えば、表示領域８１１には、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３６に関連付けられている値が表示される。また、表示領域８１２には、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３７に関連付けられている値が表示される。また、表示領域８１３には、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３８に関連付けられている値が表示される。また、表示領域８１４には、ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素５３９に関連付けられている値が表示される。
【００７３】
各表示領域は、対応するｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素のｗ属性の値が「ｔｒｕｅ」であれば、編集可能とされ、当該ｗ属性の値が「ｆａｌｓｅ」であれは、編集不能とされる。
【００７４】
なお、停止処理部１３ｂは、パラメータ情報の送信要求（Ｓ２１１）の後、フロー実行制御部１２に対して、「停止」ステータスを返却する（Ｓ２１５）。フロー実行制御部１２は、「停止」ステータスに応じて、実行中ジョブ記憶部１２３に記憶されている対象フロージョブのジョブ情報を、停止用ジョブキュー１２２に保存する（Ｓ２１６）。なお、当該ジョブ情報は、実行中ジョブ記憶部１２３に記憶されたままでもよい。この場合、当該ジョブ情報が停止中であることを示す情報が、当該ジョブ情報に付加されることにより、停止中のフロージョブに係るジョブ情報であることが識別可能とされてもよい。
【００７５】
続いて、フロー実行制御部１２は、最大待ち時間の監視を開始する（Ｓ２１７）。最大待ち時間とは、ジョブ定義データ６００ｂのｍａｘＷａｉｔｉｎｇＴｉｍｅ要素５３４の値である。
【００７６】
なお、ステップＳ２０１〜Ｓ２１５までが、図５において、変数ｉの値が２である場合のステップＳ１０６に相当する。また、ステップＳ２１６は、図５におけるステップＳ１１１に相当する。
【００７７】
続いて、再開指示装置２０のユーザは、パラメータ編集画面８１０を介して、必要に応じてパラメータの値を編集（変更）する（図１１：Ｓ２２１）。ここでは、図１３に示されように編集が行われたこととする。
【００７８】
図１３は、パラメータ情報の編集後のパラメータ編集画面の表示例を示す図である。図１３中、図１２と同一部分には同一符号を付している。図１３では、表示領域８１１において、ｋｅｙｗｏｒｄの値が「ｄｅｆ」に変更され、表示領域８１２において、ｔｏ１の値が「ｘｘｘ３＠ａｂｃ．ｃｏｍ」に変更され、表示領域８１４において、ｃｃ２の値が「ｘｘｘ４＠ａｂｃ．ｃｏｍ」に変更された例が示されている。なお、編集に応じ、表示制御部２３は、変更されたパラメータに対応するｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素に関連付けられているパラメータの値を更新する。
【００７９】
パラメータの値の編集が完了し、パラメータ編集画面８１０のＲｅｓｕｍｕボタン８１５が押下されると（Ｓ２２２）、表示制御部２３は、フロージョブの再開要求の送信を、再開要求送信部２４に要求する（Ｓ２２３）。再開要求には、対象フローのジョブＩＤと、編集結果が反映されたパラメータ情報とが含まれる。
【００８０】
再開要求送信部２４は、当該再開要求を、フロー管理サーバ１０に送信する（Ｓ２２５）。当該再開要求は、フロー管理サーバ１０の再開要求受信部１６によって受信される。再開要求受信部１６は、受信した再開要求をフロー実行制御部１２に通知する（Ｓ２２５）。
【００８１】
フロー実行制御部１２は、再開要求の通知に応じ、当該再開要求に含まれているジョブＩＤに係るジョブ情報を、停止用ジョブキュー１２２から取得して、実行中ジョブ記憶部１２３に移す（Ｓ２２６）。続いて、フロー実行制御部１２は、ステータスが「停止」であった停止処理部１３ｂに対して改めて処理単位の実行を要求する（Ｓ２３７）。当該要求には、対象フロージョブのジョブＩＤと、再開要求に含まれていたパラメータ情報とが含まれる。
【００８２】
停止処理部１３ｂは、再度の実行要求に応じ、当該要求に含まれているパラメータ情報に基づいて、ジョブ定義データ６００ｂにおけるパラメータの値を更新する（Ｓ２２８）。すなわち、パラメータ情報に含まれているｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素ごとに、当該ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素の値によって識別されるパラメータの値が、当該ｄｉｓｐｌａｙＰａｒａｍｅｔｅｒ要素に関連付けられてパラメータ情報に含まれている値に更新される。その結果、ジョブ定義データ６００ｂは、図１４に示されるように変更される。
【００８３】
図１４は、本実施の形態におけるパラメータの変更後のジョブ定義データの一例を示す図である。図１４に示されるジョブ定義データ６００ｃでは、ｋｅｙｗｏｒｄ要素５２１の値が「ｄｅｆ」に変更されている。また、ｔｏ１要素５４３の値が、「ｘｘｘ３＠ａｂｃ．ｃｏｍ」に変更されている。また、ｃｃ２要素５４５の値が、「ｘｘｘ４＠ａｂｃ．ｃｏｍ」に変更されている。
【００８４】
続いて、停止処理部１３ｂは、「完了」ステータスを、フロー実行制御部１２に返却する（Ｓ２２９）。これにより、フロー実行制御部１２は、停止処理部１３ｂによる処理単位が完了したことを認識する。そこで、次の処理単位に係るメール配信処理部１３ｃに対して処理単位の実行を要求する。この際、メール配信処理部１３は、変更後のパラメータに基づいて、電子メールの送信を行う。例えば、当該電子メールの件名の値は、「ｄｅｆ」とされる。また、当該電子メールの宛先アドレスは、「ｘｘｘ３＠ａｂｃ．ｃｏｍ」とされる。また、当該電子メールのＣｃアドレスは、「ｘｘｘ２＠ａｂｃ．ｃｏｍ」及び「ｘｘｘ４＠ａｂｃ．ｃｏｍ」とされる。
【００８５】
なお、図１１のステップＳ２２５によって、図５のステップ１１２はＹｅｓとなる。また、ステップＳ２２６は、ステップＳ１１３に相当する。ステップＳ２２７は、ステップＳ１１３の後のステップＳ１０６に相当する。
【００８６】
また、仮に、パラメータ情報の編集がユーザによって行われず、図１１のステップＳ２２５が実行される前に、図１０のステップＳ２１７からの経過時間が、最大待ち時間を経過した場合、フロー実行制御部１２は、ジョブ定義データ６００ｂのｅｒｒｏｒＨａｎｄｌｉｎｇ要素５３５の値（「Ｓｋｉｐ」）に基づいて、停止処理（パラメータの変更）をスキップすべきことを判定する。そこで、フロー実行制御部１２は、次の処理単位に係るメール送信処理部１３ｃに、処理単位の実行を要求する。
【００８７】
なお、上記では、一つの処理単位（メール送信処理）における処理内容に影響するパラメータが変更される例を示したが、ワークフローの流れ自体に影響するパラメータが変更対象とされてもよい。例えば、ワークフローの処理が途中で分岐する場合、当該分岐の条件判定に利用されるパラメータが変更対象とされてもよい。そうすることで、フロージョブの実行時において、ユーザによる、ワークフローの流れ自体の変更を可能とすることができる。
【００８８】
上述したように、本実施の形態によれば、停止処理部１３ｂによって、フロージョブに関するパラメータについて、ユーザに対して変更の機会が与えられる。停止処理部１３ｂによる停止処理より後の処理単位については、変更されたパラメータに基づいて実行される。その結果、フロージョブの柔軟性を向上させることができる。
【００８９】
なお、図６に示されるワークフロー以外の処理単位の組み合わせに関して、本実施の形態が適用されてもよい。また、一つのワークフローに対して、２以上の停止処理が組み込まれてもよい。また、複数の再開指示装置２０に対して停止通知が送信される場合、全部の再開指示装置２０からの再開要求が通知されるまで停止状態を継続するのか、一部の再開指示装置２０からの再開要求が通知されれば停止状態を解除するのかを示す情報が、フロー定義データ５００のｐｌｕｇ−ｉｎ要素５３０のｐａｒａｍｅｔｅｒｓ要素内に設定されてもよい。当該情報が、全部の再開指示装置２０からの再開要求が通知されるまで停止状態を継続することを示す場合、例えば、フロー実行制御部１２は、停止通知の送信先の全部の再開指示装置２０に関して、ステップＳ２２５が実行されるまで、ステップＳ２２６以降の実行を待機してもよい。当該情報が、一部の再開指示装置２０からの再開要求が通知されれば停止状態を解除することを示す場合、例えば、フロー実行制御部１２は、停止通知の送信先のうちの一部の再開指示装置２０に関して、ステップＳ２２５が実行された段階で、ステップＳ２２６以降を実行してもよい。当該一部の再開指示装置２０は、数によって指定されてもよいし、特定の再開指示装置２０のＩＰアドレス等に基づいて指定されてもよい。
【００９０】
また、フロー管理サーバ１０と再開指示装置２０とは、同一装置であってもよい。
【００９１】
なお、本実施の形態において、フロー管理サーバ１０は、情報処理装置及び情報処理システムの一例である。フロー実行制御部１２は、処理制御部の一例である。停止処理は、第一の処理単位の一例である。パラメータ送信部１５は、出力部の一例である。再開要求受信部１６は、受付部の一例である。パラメータ送信部１５によるパラメータ情報の送信は、パラメータ情報を、ユーザが編集可能な状態で、再開指示装置２０に表示（出力）させることの一例である。
【００９２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９３】
１            情報処理システム
１０          フロー管理サーバ
１１          ジョブ投入部
１２          フロー実行制御部
１３          処理部
１３ａ        ＯＣＲ処理部
１３ｂ        停止処理部
１３ｃ        メール送信処理部
１４          停止通知送信部
１５          パラメータ送信部
１６          再開要求受信部
２０          再開指示装置
２１          停止通知受信部
２２          パラメータ取得部
２３          表示制御部
２４          再開要求送信部
３０          画像形成装置
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１１１        キャン入力プラグイン
１１２        メール入力プラグイン
１１３        フォルダ入力プラグイン
１２１        開始用ジョブキュー
１２２        停止用ジョブキュー
１２３        実行中ジョブ記憶部
１２４        フロー定義記憶部
Ｂ            バス
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２００８−９７５８６号公報
【図１】
2015177491.tif 000003
【図２】
2015177491.tif 000004
【図３】
2015177491.tif 000005
【図４】
2015177491.tif 000006
【図５】
2015177491.tif 000007
【図６】
2015177491.tif 000008
【図７】
2015177491.tif 000009
【図８】
2015177491.tif 000010
【図９】
2015177491.tif 000011
【図１０】
2015177491.tif 000012
【図１１】
2015177491.tif 000013
【図１２】
2015177491.tif 000014
【図１３】
2015177491.tif 000015
【図１４】
2015177491.tif 000016