(57)【要約】【課題】  エラーが生じたワークフローの回復を容易に行うことができること。【解決手段】  ユーザが選択したワークフローに含まれる処理が当該処理に対してユーザが設定した設定情報に基づいて実行されるように制御する実行制御部と、処理の実行においてエラーが検知された場合に、ワークフローと、エラーが検知された処理に対しユーザが設定した設定情報を対応付けた対応情報と、を記憶する記憶部と、記憶部により記憶された対応情報を特定する特定情報と、設定情報のうちエラーが検知された処理に設定された設定情報とを含むエラー通知を送信する通知部と、エラー通知に基づいて設定情報を修正する修正設定情報を用いて、エラー通知に含まれる特定情報に基づいて特定される対応情報に含まれる設定情報の更新をし、対応情報に対応するワークフローが、更新された設定情報に基づき実行されるように制御する管理部と、を備える情報処理制御装置による。【選択図】図４
2018046520.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが選択したワークフローに含まれる処理が、前記ユーザが当該処理に対して設定した設定情報に基づいて実行されるように制御する実行制御部と、
前記実行制御部による前記処理の実行においてエラーが検知された場合に、当該処理を含む前記ワークフローと、当該ワークフローに含まれる処理であり前記エラーが検知された処理に対し前記ユーザが設定した設定情報を対応付けた対応情報と、を記憶する記憶部と、
前記記憶部により記憶された前記対応情報を特定する特定情報と、当該対応情報に含まれる前記設定情報のうち前記エラーが検知された前記処理に設定された前記設定情報とを含むエラー通知を送信する通知部と、
前記エラー通知に基づいて当該エラー通知に含まれる前記設定情報を前記ユーザが修正した修正設定情報を用いて、当該エラー通知に含まれる前記特定情報に基づいて特定される前記対応情報に含まれる前記設定情報の更新をし、当該対応情報に対応する前記ワークフローが、前記更新された設定情報に基づき前記実行制御部によって実行されるように制御する管理部と、を備える、
ことを特徴とする情報処理制御装置。
【請求項２】
前記記憶部は、
前記実行制御部による前記処理の実行においてエラーが検知された場合に、当該処理を含む前記ワークフローと、当該ワークフローに含まれる処理であり前記エラーが検知された処理に対し前記ユーザが設定した設定情報と、当該ワークフローの処理対象である対象情報とを対応付けた対応情報を記憶し、
前記管理部は、
前記実行制御部によって前記対応情報に含まれる前記対象情報に対して当該対応情報に含まれる前記ワークフローが前記更新された設定情報に基づいて実行されるように制御する、
ことを特徴とする請求項１記載の情報処理制御装置。
【請求項３】
画像処理装置においてユーザにより指定された前記ワークフローと、当該画像処理装置において前記ユーザにより前記ワークフローに基づく前記処理のそれぞれに設定された前記設定情報と、前記画像処理装置において原稿から読み取られた画像データとを含むワークフロー実行要求を受け付ける受付部と、をさらに備え、
前記実行制御部は、
前記受付部により受け付けられた前記ワークフロー実行要求に応じて、当該ワークフロー実行要求に含まれる前記対象情報である前記画像データに対して、当該ワークフロー実行要求に含まれる前記設定情報に基づいて、当該ワークフロー実行要求に含まれるワークフローに基づく前記処理の実行を制御し、
前記記憶部は、
前記実行制御部による前記ワークフローの実行においてエラーが検知された場合に、当該ワークフローと、当該ワークフローの前記設定情報と、当該ワークフローの前記対象情報である前記画像データとを対応付けた前記対応情報を記憶し、
前記管理部は、
前記実行制御部によって前記対応情報に含まれる前記対象情報である前記画像データに対して当該対応情報に含まれる前記ワークフローが前記更新された設定情報に基づいて実行されるように制御する
ことを特徴とする請求項２記載の情報処理制御装置。
【請求項４】
前記通知部は、
前記ワークフローの実行を指示した前記ユーザに対応する電子メールの宛先に対して、前記エラー通知を含む電子メールを送信する、
ことを特徴とする請求項１乃至３のいずれか一項に記載の情報処理制御装置。
【請求項５】
前記ワークフローに基づく前記処理のそれぞれに対応して記憶された、前記ユーザにより修正可能な前記設定情報の設定項目を取得する取得部と、
前記実行制御部による前記ワークフローの実行においてエラーが検知された場合に、前記取得部により取得された、当該エラーが検知された前記処理に対応する前記設定項目に基づいて、当該エラーに対応する前記設定情報が前記ユーザにより修正可能であるか否かを判断する判断部と、をさらに備え、
前記通知部は、
前記判断部により前記ユーザにより修正可能であると判断された場合に、前記エラー通知を送信する
ことを特徴とする請求項１乃至４のいずれか一項に記載の情報処理制御装置。
【請求項６】
コンピュータを、
ユーザが選択したワークフローに含まれる処理が、前記ユーザが当該処理に対して設定した設定情報に基づいて実行されるように制御する実行制御ステップと、
前記実行制御ステップによる前記処理の実行においてエラーが検知された場合に、当該処理を含む前記ワークフローと、当該ワークフローに含まれる処理であり前記エラーが検知された処理に対し前記ユーザが設定した設定情報を対応付けた対応情報と、を記憶する記憶ステップと、
前記記憶ステップにより記憶された前記対応情報を特定する特定情報と、当該対応情報に含まれる前記設定情報にうち前記エラーが検知された前記処理に設定された前記設定情報とを含むエラー通知を送信する通知ステップと、
前記ユーザが前記エラー通知に基づいて当該エラー通知に含まれる前記設定情報を修正する修正設定情報を用いて、当該エラー通知に含まれる前記特定情報に基づいて特定される前記対応情報に含まれる前記設定情報の更新をし、当該対応情報に対応する前記ワークフローが、前記更新された設定情報に基づき前記実行制御ステップにおいて実行されるように制御する管理ステップ、
を実行する情報処理制御装置として動作させる情報処理制御プログラム。
【請求項７】
ユーザが選択したワークフローに含まれる処理を、前記ユーザが当該処理に対して設定した設定情報に基づいて実行されるように制御し、
前記処理の実行においてエラーが検知された場合に、当該処理を含む前記ワークフローと、当該ワークフローに含まれる処理であり前記エラーが検知された処理に対し前記ユーザが設定した設定情報を対応付けた対応情報と、を記憶し、
前記記憶された前記対応情報を特定する特定情報と、当該対応情報に含まれる前記設定情報にうち前記エラーが検知された前記処理に設定された前記設定情報とを含むエラー通知を送信し、
前記ユーザが前記エラー通知に基づいて当該エラー通知に含まれる前記設定情報を修正する修正設定情報を用いて、当該エラー通知に含まれる前記特定情報に基づいて特定される前記対応情報に含まれる前記設定情報の更新をし、
当該対応情報に対応する前記ワークフローを前記更新された設定情報に基づいて実行されるように制御する、
ことを特徴とする情報処理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理制御装置、情報処理制御プログラム、および情報処理制御方法に関する。
【背景技術】
【０００２】
情報処理機能の組み合わせと、組み合わせに含まれる各機能の動作条件と、を予め設定し、この組み合わせられた処理群を用いて、文書情報や画像情報などの対象情報に対する情報処理を自動的に実行するワークフローシステムが知られている。ワークフローシステムにおける処理は、対象情報に対する加工処理や、対象情報の出力配信処理などの組み合わせによって構成される。
【０００３】
ワークフローシステムは、対象情報を生成して出力する情報生成装置と、予め設定されている条件（配信条件や処理条件）に則って当該対象情報への処理の実行を制御する実行制御装置と、実行制御装置における処理の結果を出力する出力装置と、を含んで構成される。
【０００４】
ワークフローシステムは、処理の対象情報と当該対象情報に対する処理内容を規定する定義情報等を関連付けた「ジョブ」（ワークフロージョブ）と呼ばれる処理の実行単位を生成する。なお、ワークフロージョブに基づく一連の情報処理群を、単に「ワークフロー」という。
【０００５】
従来のワークフローシステムにおいて、対象情報の配信を安定化する目的でエラーが生じたときにワークフローを再生成する技術が知られている（例えば、特許文献１を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術は、ワークフローにおける配信対象の情報に対する電子化処理の途中でエラーが生じた場合、再度、電子化処理を実行してワークフロージョブを再生成する。しかし、特許文献１に開示された技術は、ワークフロー処理に対する設定（例えば、配信経路など）に誤りがあった場合に発生するエラーへの対応は考慮されていない。
【０００７】
即ち、従来のワークフローシステムでは、エラーが発生したときには、一旦、ワークフロージョブをキャンセルして設定を修正し、その後再度、ワークフロージョブの生成からやり直す必要がある。例えば、原稿から読み取った画像データに対するワークフロー処理においてエラーが発生したとき、画像データの読み取りからやり直す必要がある。即ち、従来のワークフローシステムでは、設定ミスによるエラー状態からの回復を容易に行うことについて課題がある。
【０００８】
本発明は、このような課題を解決するためになされたものであり、エラーが生じたワークフローの回復を容易に行うことができる情報処理制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様は、ユーザが選択したワークフローに含まれる処理が、前記ユーザが当該処理に対して設定した設定情報に基づいて実行されるように制御する実行制御部と、前記実行制御部による前記処理の実行においてエラーが検知された場合に、当該処理を含む前記ワークフローと、当該ワークフローに含まれる処理であり前記エラーが検知された処理に対し前記ユーザが設定した設定情報を対応付けた対応情報と、を記憶する記憶部と、前記記憶部により記憶された前記対応情報を特定する特定情報と、当該対応情報に含まれる前記設定情報のうち前記エラーが検知された前記処理に設定された前記設定情報とを含むエラー通知を送信する通知部と、前記エラー通知に基づいて当該エラー通知に含まれる前記設定情報を前記ユーザが修正した修正設定情報を用いて、当該エラー通知に含まれる前記特定情報に基づいて特定される前記対応情報に含まれる前記設定情報の更新をし、当該対応情報に対応する前記ワークフローが、前記更新された設定情報に基づき前記実行制御部によって実行されるように制御する管理部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ワークフローの設定の回復を容易に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る情報処理制御システムの運用形態を示す図である。
【図２】本発明の実施形態に係る情報処理制御装置のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係る情報入力装置のハードウェア構成を示すブロック図である。
【図４】本発明の実施形態に係る情報処理制御装置の機能構成を示すブロック図である。
【図５】本発明の実施形態に係るワークフローの概略例を示すシーケンス図である。
【図６】本発明の実施形態に係るワークフローの正常系の例を示すシーケンス図である。
【図７】本発明の実施形態に係るワークフローの異常系の例を示すシーケンス図である。
【図８】本発明の実施形態に係るワークフローの修正可能なエラーが生じた場合の例を示すシーケンス図である。
【図９】本発明の実施形態に係る修正可能定義ファイルの例を示す図である。
【図１０】本発明の実施形態に係る修正内容通知情報の例を示す図である。
【図１１】本発明の実施形態に係るワークフローのエラー修正後の例を示すシーケンス図である。
【図１２】本発明の実施形態に係るワークフロー設定ファイルの例を示す図である。
【図１３】本発明の実施形態に係るジョブ保存関連構成の例を示す図である。
【図１４】本発明の実施形態に係る情報入力装置の機能構成を示すブロック図である。
【図１５】本発明の実施形態に係る修正依頼情報の例を示す図である。
【図１６】本発明の実施形態に係る修正可能通知定義の例を示す図である。
【発明を実施するための形態】
【００１２】
＜本発明の要旨＞
まず、本発明の要旨について説明する。本発明に係る情報処理制御システムは、情報処理制御装置を中心として構成される。本発明は、この情報処理制御装置を用いることで、ワークフローの処理の動作条件などを規定する設定項目に起因するエラーが生じたときに、当該項目を容易に修正してワークフローの再開を容易に実行できることを要旨とする。より詳しくは、ワークフローの実行中にエラーが生じた際、エラーの原因となった設定項目が修正可能な項目である否かの判定をし、この判定結果に基づいて当該設定項目の修正内容をテキストベースの情報により生成し、ワークフローのユーザに通知する。この通知を受けたユーザからテキストベースによる当該設定項目の修正内容を受け取り、エラーになっていたワークフローの設定項目を正常なものに更新して、当該ワークフローを再開させることができる。
【００１３】
＜情報処理制御システムの全体構成＞
以下、図面を参照しながら、本発明の実施形態について説明する。本実施形態において、情報処理制御システムは、ユーザが選択した処理と、当該処理の実行条件をユーザが設定する設定情報の組み合わせから構成されるワークフローを実行する情報処理制御装置を中心とする。情報処理制御システムは、情報入力装置から情報処理制御装置に入力された画像情報や文書情報からなる対象情報に対して予め設定されたワークフローに基づく処理を行い、ワークフローにおいて設定された方法を用いて情報出力装置に出力する処理を制御する。図１は、本実施形態に係る情報処理制御システムの実施形態であるワークフローシステム１００の運用形態を示す図である。
【００１４】
図１に示すように、本実施形態に係るワークフローシステム１００は、情報処理制御装置の実施形態であるワークフローサーバ１０、情報入力装置の実施形態である画像処理装置２０、ファイルサーバ３０、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）４０が接続されたネットワークＡと、情報出力装置の実施形態であるクラウドサーバ５０が接続されたネットワークＢが、インターネットなどの公衆回線を介して接続されて構成される。
【００１５】
ネットワークＡは、例えば、オフィスＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークであり、本実施形態に係るワークフローシステム１００を利用するユーザのオフィス等で用いられるネットワークである。画像処理装置２０は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）である。
【００１６】
ワークフローサーバ１０は、ワークフローを実行させるための情報処理制御機能を提供する。ワークフローを構成する情報処理機能は、“プラグイン”と呼ばれるソフトウェアモジュールによって提供される。ワークフローは、プラグインの組み合わせと、当該プラグインの動作に用いる動作パラメータ（設定項目）と、を関連付けて構成される。このワークフローによる関連付けの設定は、管理者又はユーザが予め行う。ワークフローは、プラグインの組み合わせ情報（定義情報）と、当該プラグインにおける処理動作パラメータを示す設定項目とを含む情報（書誌情報）を含む情報処理を制御するために用いられる情報群である。ワークフローは、情報入力装置である画像処理装置２０から対象情報が入力されるときに一緒に指定されることもあるし、使用するワークフローを先に指定した状態で対象情報が入力されることで動作を開始することもある。
【００１７】
ここで、プラグインの組み合わせ情報である「定義情報」と、各プラグインの処理に用いられるパラメータを含む情報である「書誌情報」について説明する。定義情報は、例えば、画像補正処理を実行するための画像補正プラグインと、ＰＤＦ変換処理を実行するためのＰＤＦ変換プラグインと、ＯＣＲ処理を実行するためのＯＣＲプラグインと、フォルダ配信処理を実行するためのフォルダ配信プラグインと、この順番で実行するように記述された情報である。このワークフローを選択した場合、以下のように処理が実行されることになる。まず、画像処理装置２０が生成した画像データに対する画像補正処理を画像補正プラグインが行う。続いて、画像補正処理が行われた画像データをＰＤＦ変換プラグインがＰＤＦ形式に変換してＰＤＦデータを生成する。続いて、ＰＤＦデータに対してＯＣＲプラグインがＯＣＲ処理を行い、テキスト付きのＰＤＦデータを生成する。最後に、フォルダ配信データプラグインが、生成されたテキスト付きのＰＤＦデータを指定されたフォルダに送信する。
【００１８】
書誌情報は、例えば、「画像補正の種類（天地識別、傾き補正など）」、「ＰＤＦ変換のバージョン」、「ＯＣＲの精度」、「フォルダ配信の配信先」である。以上の定義情報と書誌情報を含み、ワークフローが構成される。
【００１９】
ワークフローの設定は、ワークフローサーバ１０が備える表示機能に基づくＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介して行われる。ワークフローサーバ１０は、ワークフローの設定に必要なＧＵＩを表示するための表示情報を生成して、この表示情報を後述するＬＣＤ１０６等に表示させる。ワークフローシステム１００の管理者は、このＧＵＩベースのインターフェースを用いて、ワークフローを設定する。なお、設定されたワークフローは、動作パラメータと共に、後述するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０５等に記憶される。
【００２０】
クラウドサーバ５０は、ワークフローにおいて設定される情報出力処理の出力宛先の一例である。ファイルサーバ３０は、ネットワークＡにおいてネットワークを介して記憶領域を提供するサーバであって、ワークフローにおいて設定される情報出力処理の出力宛先の別の例である。ワークフローサーバ１０において処理された画像データや文書データが格納される格納先（出力先）としては、クラウドサーバ５０のように別のネットワーク上に配置されるストレージサービスを情報出力装置として機能させてもよい。また、ファイルサーバ３０を情報出力装置として機能させてもよい。
【００２１】
ＰＣ４０は、ワークフローシステム１００を利用するユーザが操作する情報処理端末である。また、ＰＣ４０は、ワークフローによって文書情報や画像情報が配信される配信先の他、ワークフローにおいてエラーが生じた際の配信される修正情報の通知先としても機能する。
【００２２】
クラウドサーバ５０は、ワークフローシステム１００が利用可能な外部サービスの一種であって、例えば、ワークフローの処理結果としての文書情報や画像情報を蓄積するストレージサービスを提供するサーバである。クラウドサーバ５０は、ワークフローによって文書情報や画像情報が配信される配信先の他、対象情報が保存される保存先としても機能する
【００２３】
＜ワークフローサーバ１０のハードウェア構成＞
次に、ワークフローシステム１００を構成する各装置のハードウェア構成について説明する。まず、ワークフローサーバ１０のハードウェア構成について図２を参照して説明する。図２に示すようにワークフローサーバ１０は、一般的なサーバ等と同様の構成を含む。即ち、本実施形態におけるワークフローサーバ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３及びＩ／Ｆ１０４がバス１０８を介して接続されている。また、Ｉ／Ｆ１０４には、ＨＤＤ１０５、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）１０６及び操作部１０７が接続されている。
【００２４】
ＣＰＵ１０１は演算手段であり、情報処理装置全体の動作を制御する。ＲＡＭ１０２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０１が情報を処理する際の作業領域として用いられる。ＲＯＭ１０３は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
【００２５】
Ｉ／Ｆ１０４は、バス１０８と各種のハードウェアやネットワーク等を接続し制御する。ＨＤＤ１０５は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。ＬＣＤ１０６は、ユーザが情報処理装置の状態を確認するための視覚的ユーザインターフェースである。操作部１０７は、キーボードやマウス等、ユーザが情報処理装置に情報を入力するためのユーザインターフェースである。
【００２６】
このようなハードウェア構成において、ＲＯＭ１０３に格納されたプログラムや、ＨＤＤ１０５等の記憶媒体からＲＡＭ１０２に読み出されたプログラムに基づく演算処理をＣＰＵ１０１が実行することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るワークフローサーバ１０の機能を実現する機能ブロックが構成される。
【００２７】
＜画像処理装置２０のハードウェア構成＞
次に、本実施形態に係る画像処理装置２０のハードウェア構成について、図３を参照して説明する。図３に示すように、画像処理装置２０は、コントローラ２００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）２０１、スキャナユニット２０２、排出トレイ２０３、ディスプレイパネル２０４、給送テーブル２０５、画像形成ユニット２０６、排出トレイ２０７及びネットワークＩ／Ｆ２０８を有する。
【００２８】
コントローラ２００は、ＣＰＵ２１１、ＲＡＭ２１２、ＲＯＭ２１３及びＩ／Ｆ２１４がバス２１８を介して接続されている。また、Ｉ／Ｆ２１４には、ＨＤＤ２１５、ＬＣＤ２１６及び操作部２１７が接続されている。
【００２９】
ＣＰＵ２１１は演算手段であり、画像処理装置全体の動作を制御する。ＲＡＭ２１２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ２１１が情報を処理する際の作業領域として用いられる。ＲＯＭ２１３は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
【００３０】
Ｉ／Ｆ２１４は、バス２１８と各種のハードウェアやネットワーク等を接続し制御する。ＨＤＤ２１５は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。ＬＣＤ２１６は、ユーザが画像処理装置２０の状態を確認するための視覚的ユーザインターフェースである。操作部２１７は、キーボードやマウス等、ユーザが画像処理装置２０に情報を入力するためのユーザインターフェースである。
【００３１】
また、Ｉ／Ｆ２１４には、ＡＤＦ２０１、ディスプレイパネル２０４、給送テーブル２０５、画像形成ユニット２０６，排出トレイ２０７、が接続されている。これらＩ／Ｆ２１４に接続されている各構成は、ＣＰＵ２１１の制御に基づいて動作をする。
【００３２】
このようなハードウェア構成において、ＲＯＭ１０３に格納されたプログラムや、ＨＤＤ１０５等の記憶媒体からＲＡＭ１０２に読み出されたプログラムに基づく演算処理をＣＰＵ１０１が実行することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像処理装置２０の機能を実現する機能ブロックが構成される。
【００３３】
なお、図３においては、電気的接続を実線の矢印で示しており、情報が記録されるシート状の記録媒体（例えば、用紙）の流れを破線の矢印で示している。
【００３４】
ディスプレイパネル２０４は、画像処理装置２０の状態を視覚的に表示する出力インターフェースであると共に、タッチパネルとしてユーザが画像処理装置２０を直接操作し、若しくは画像処理装置２０に対して情報を入力する際の入力インターフェースでもある。即ち、ディスプレイパネル２０４は、ユーザによる操作を受けるための画像を表示する機能を含む。
【００３５】
ネットワークＩ／Ｆ２０８は、画像処理装置２０がネットワークを介してワークフローサーバ１０等の他の機器と通信するためのインターフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェースが用いられる。ネットワークＩ／Ｆ２０８は、ＴＣＰ／ＩＰプロトコルによる通信が可能である。また、ネットワークＩ／Ｆ２０８は、画像処理装置２０がファクシミリとして機能する際に、ファクシミリ送信を実行するためのインターフェースとしても機能する。そのため、ネットワークＩ／Ｆ２０８は、電話回線にも接続されている。
【００３６】
ＣＰＵ２１１は、コントローラ２２１に含まれる各部を制御する役割を担い、コントローラ２２１の各部に命令を与える。ＣＰＵ２１１は、画像形成ユニット２０６やスキャナユニット２０２等を制御若しくは駆動する駆動手段としての役割も担う。ＣＰＵ２１１は、印刷出力すべき画像情報に基づいて描画情報を生成する。この描画情報とは、画像形成部である画像形成ユニット２０６が画像形成動作において形成すべき画像を描画するための情報である。
【００３７】
また、ＣＰＵ２１１は、スキャナユニット２０２から入力される撮像データを処理し、画像データを生成する。この画像データとは、スキャナ動作の結果物としてＨＤＤ２１５に格納され若しくはネットワークＩ／Ｆ２０８を介して他の情報処理端末や記憶装置に送信される情報である。
【００３８】
また、ＣＰＵ２１１は、ディスプレイパネル２０４に情報表示を行い若しくはディスプレイパネル２０４を介して入力された情報を取得し、取得した情報に基づく処理を実行する。
【００３９】
＜ワークフローサーバ１０の機能構成＞
次に、本実施形態に係るワークフローサーバ１０の機能構成について図４を参照して説明する。図４に示すように、本実施形態に係るワークフローサーバ１０は、ワークフロー実行制御部１１、入力制御部１２、ジョブ管理部１３、ＵＩ部１４、ワークフロー実行部１５、ジョブ保存部１６、を含んで構成される。
【００４０】
ワークフロー実行制御部１１は、ＵＩ部１４を介して管理者によって予め設定されたワークフローに基づいて、ワークフロー全体の実行を制御する実行制御部として機能する。ワークフロー実行制御部１１は定期的に、ジョブ保存部１６に保存されているワークフロージョブの有無を監視し、ジョブ保存部１６において処理待ちとなっているワークフロージョブがあれば、これを取り出してワークフロー実行部１５に渡す処理機能を有する。
【００４１】
ワークフロー実行制御部１１は、ワークフロージョブに基づいて、適宜、ワークフロー実行部１５が備える各モジュールにおいてワークフロージョブに含まれる実体情報（対象情報）に対する処理が実行されるように制御する。ワークフロー実行制御部１１によって、予め規定されている内容と順番に基づいて情報処理が実行される。
【００４２】
入力制御部１２は、情報入力装置である画像処理装置２０など、ワークフローサーバ１０の外部から対象情報と、当該対象情報に対するワークフローと、を含むワークフロー実行要求を受け付ける受付部として機能する。入力制御部１２は、ワークフローサーバ１０が備える操作部１０７を介して対象情報とワークフローを含むワークフロー実行要求を受け付けることもできる。入力制御部１２は、受け付けた対象情報とワークフローに基づいて、処理の実行単位であるワークフロージョブを生成し、ジョブ管理部１３に渡す。入力制御部１２は、ワークフローサーバ１０へ画像処理装置２０から入力される処理対象の情報である画像データと、ユーザが画像処理装置２０を介して選択するワークフロー及び設定情報を受け付ける。これらワークフロー、設定情報、画像データを含むワークフロー実行要求を入力制御部１２は受け付ける。なお、対象情報とは、文書情報や画像情報など、例えば、業務処理において使用される各種の情報であって、複数の情報が一群に構成された情報群でもよい。
【００４３】
ワークフロージョブは、実体情報である対象情報（例えば、ユーザの指示に応じて原稿から読み取られたスキャン画像など）と、ワークフローを構成するプラグインを示す定義情報と、各プラグインの処理に必要な設定情報（例：情報の出力先を示す宛先情報など）を含む書誌情報と、から構成される。ワークフロージョブは、上記の３つの情報を文字列に変換して1つのファイルにまとめたものである。ワークフロージョブは、処理モジュールを複数組み合わせて構成される。
【００４４】
なお、ワークフロージョブに含まれるプラグインの数は、複数でも単数でもよい。即ち、一つのプラグイン（処理モジュール）を用いてワークフロージョブを構成することもできるし、複数のプラグインを組み合わせてワークフロージョブを構成することできる。
【００４５】
ジョブ管理部１３は、修正待ちジョブフォルダ１６２に格納されている「修正待ちジョブ」に対する設定項目の修正を実行する。ジョブ管理部１３は、修正された「修正待ちジョブ」を、修正待ちジョブフォルダ１６２から処理待ちジョブフォルダ１６１に移動させる処理を実行する。即ち、ジョブ管理部１３は、ワークフロージョブに含まれる処理においてエラーが発生したときに、修正された設定項目に基づいてエラーが発生した処理に係る設定項目を更新し、ワークフロー実行制御部１１において実行される状態にする管理部として機能する。
【００４６】
ＵＩ部１４は、ワークフローサーバ１０のユーザインターフェースであって、ワークフローサーバ１０の管理者がワークフローの作成や、エラー発生時に通知方法などの各種設定を入力する。ＵＩ部１４からの入力に基づいて、ワークフロー実行制御部１１において実行するワークフローが定義される。
【００４７】
ワークフロー実行部１５は、複数の処理モジュールを備える。ワークフロー実行部１５は、ワークフロー実行制御部１１から渡されたワークフロージョブに含まれている定義情報と書誌情報に基づいて、適切な処理モジュールを組み合わせて実体情報に対する処理を適宜実行する。ワークフロー実行部１５に含まれる構成は、通知モジュール１５１、加工モジュール１５２、出力モジュール１５３などであって、これら各モジュールを複数備えることもある。ワークフロー実行部１５は、入力制御部１２を介して受け付けたワークフロージョブにおいて指定されている処理内容（実行要求）に応じた各処理機能をプラグインとして提供する。ワークフロー実行部１５は、ワークフローサーバ１０におけるモジュール実行部として機能する。
【００４８】
通知モジュール１５１は、ワークフロージョブの状態を、ワークフローシステム１００のユーザや管理者、およびワークフローシステム１００が連携する他のシステムに通知する処理を実行する機能モジュールである。例えばワークフローシステムでエラーが起きた場合、通知モジュール１５１はメールを通知手段として用いることで、ユーザにエラーを通知する。なお、エラーの通知方法はメールに限るものではなく、いわゆるメッセンジャーサービスを用いるようにしてもよい。
【００４９】
加工モジュール１５２は、ワークフロージョブを変更する処理を実行する機能モジュールである。例えば「入力された文書の中に白紙のページがあれば除去する」というワークフローにおいて、加工モジュール１５２は、ワークフロージョブ中の実体情報である文書情報に含まれる白紙ページ部分を除去する処理を実行する機能モジュールである。なお、加工モジュール１５２に相当する外部のサービスを、ワークフロージョブにおける処理に用いてもよい。加工モジュール１５２は、ワークフローを構成するプラグインに相当し、複数存在する。各加工モジュール１５２は、それぞれ、動作条件を規定する設定項目を有する。
【００５０】
出力モジュール１５３は、ワークフロージョブを出力する処理を実行する機能モジュールである。例えば「入力された文書情報をクラウドドライブに出力する」というワークフローにおいて、出力モジュール１５３は、ワークフロージョブ中の文書情報をクラウドドライブにアップロードする処理を実行する機能モジュールである。なお、出力モジュール１５３に相当する外部のサービスを代わりに用いて連携してもよい。出力モジュール１５３は、ワークフローを構成するプラグインに相当し、複数存在する。各出力モジュール１５３は、それぞれ、動作条件を規定する設定項目を有する。
【００５１】
ジョブ保存部１６は、ワークフロージョブを、処理状態に応じて区別して記憶する。ジョブ保存部１６は、ワークフロー実行制御部１１とワークフロー実行部１５において処理されるワークフロージョブのそれぞれにおける状態（ワークフローがどこまで適用されたか）や、適用結果などを記憶する。処理が実行されるまでの間、ワークフロージョブはジョブ保存部１６に含まれる処理待ちジョブフォルダ１６１に格納される。また、実行中のワークフロージョブも処理待ちジョブフォルダ１６１に格納される。
【００５２】
ジョブ保存部１６は、処理待ちジョブフォルダ１６１の他に、修正待ちジョブフォルダ１６２と、異常終了ジョブフォルダ１６３と、を備えている。なお、ジョブ保存部１６は、上記のようなファイルフォルダを用いた構成に限られるものではなく、データベースを用いて構成されてもよい。この場合、ジョブを種類に基づいて分類して保存できる構成であればよい。
【００５３】
異常終了ジョブフォルダ１６３も、ワークフロージョブを格納する。異常終了ジョブフォルダ１６３には、ワークフローの処理の途中においてエラーとなったものであって、エラーの原因が修正不能であるものが格納される。例えば、「入力された文書情報をクラウドドライブに出力する」ワークフローにおいて、保存先として書誌情報に設定されているクラウドドライブのＵＲＬが誤った情報になっている場合について説明する。この場合、当該ＵＲＬが修正可能項目として予め設定されていない場合におけるワークフロージョブは、異常終了ジョブフォルダ１６３に保存される。
【００５４】
また、例えば、「画像データの形式を変換して、フォルダ配信する」というワークフローにおいて、変換対象の画像データのフォーマットが、変換を行う加工モジュール１５２では対応しないときは、ワークフロージョブの実行を保留した状態では修正することはできない。このようなエラーが生じたワークフロージョブは、ワークフロー実行制御部１１によって、異常終了ジョブフォルダ１６３に保存される。
【００５５】
修正待ちジョブフォルダ１６２も、ワークフロージョブを保存する。修正待ちジョブフォルダ１６２には、ワークフローの処理の途中においてエラーとなったものであって、エラーの原因が修正可能であるものが保存される。なお、修正可能なエラーであるか否かを判断する元となる情報は、ワークフロー実行部１５における各モジュール（プラグイン）ごとに予め決められている。
【００５６】
「修正可能な設定」が誤って設定されている状態で、ワークフロージョブの処理においてエラーが生じたときは、エラーとなったワークフロージョブをワークフロー実行制御部１１が修正待ちジョブフォルダ１６２に格納する。ワークフロージョブが、修正待ちジョブフォルダ１６２に格納されるケースは、例えば、「入力された文書情報をクラウドドライブに出力する」ワークフローにおいて、設定済のクラウドドライブのＵＲＬに誤りがある、などである。
【００５７】
この場合、エラーの原因がクラウドドライブのＵＲＬであって、かつ、クラウドドライブのＵＲＬが「修正可能な設定」として予め設定されていれば、当該エラーとなったワークフロージョブは、修正待ちジョブフォルダ１６２に格納される。修正待ちジョブフォルダ１６２に格納されたワークフロージョブは、その処理が一旦保留された状態になる。
【００５８】
クラウドドライブの出力先ＵＲＬなどは、ワークフローサーバ１０に対して管理者がワークフローを設定したときには存在していたとしても、ワークフローサーバ１０の運用中において、何らかの原因によりＵＲＬが変更されることがある。このような場合、通常のワークフロージョブはエラーになる。しかし、別のＵＲＬのクラウドドライブを出力先としてもよい場合もある。この場合、ワークフロージョブに含まれるクラウドドライブのＵＲＬを「修正可能な設定項目」として予め設定しておく。これよって、ワークフローサーバ１０における当該ワークフロージョブは、異常終了ジョブフォルダ１６３ではなく処理待ちジョブフォルダ１６１に保存される。処理待ちジョブフォルダ１６１に保存されたワークフロージョブにおける、エラーが生じた設定項目の修正は、テキストベースの情報を用いて容易に行うことができ、ワークフロージョブを再生成することなく、ワークフロージョブを再開させることができる。
【００５９】
ここで、修正可能通知を定義する例について、図１６を参照しながら説明する。図１６に示す修正通知定義ファイル１６０は、エラーの発生と共に、エラーを回復させるための設定変更を通知するときに用いる内容を構成する情報を、当該通知を受け取るユーザにおいて理解しやすい形式で記述されている。例えば、図１６に示すように、テキストベースのＸＭＬ形式を用いて記述される。この修正通知定義ファイル１６０は、修正設定情報に相当する。
【００６０】
図１６に示すように、修正通知定義ファイル１６０は、エラーが生じたときの修正可能設定項目とする「設定項目名」と、「当該設定項目名にマッピングされていた設定値がエラーの原因であることを明示するメッセージ」とを関連付けるように記述される。一例を挙げる。修正通知定義ファイル１６０は、設定項目名「ｄｅｓｔｉｎａｔｏｎＵＲＬ」が誤っていてエラーの原因になったときに、等が設定項目を修正可能項目として設定し、その旨をユーザに明示するための日本語のメッセージとを組み合わせて記述される。修正通知定義ファイル１６０は、プラグインＩＤことに関連付けられて予め定義される情報である。
【００６１】
続いて、修正可能設定定義について図９を参照しながら説明する。図９は、修正可能定義が示されている修正可能定義ファイル９１の例である。修正可能定義ファイル９１は、他の設定ファイルや定義ファイルと同様に、ＸＭＬ形式で記述されたテキストファイルによって構成されている。図９に示す「ｐｌｕｇｉｎｉｄ」タグは、ワークフロー実行部１５が備える各プラグイン（加工モジュール１５２や出力モジュール１５３など）のそれぞれに対応するＩＤ（プラグインＩＤ）に相当する。「ｐｌｕｇｉｎｉｄ」タグによって、当該修正可能な定義が関連付けられているモジュールを明示する。ここでは「ｃｌｏｕｄｏｕｔｐｕｔ」というタグが記述されている。このタグは、出力モジュール１５３の一種に対応するタグである。なお、修正可能定義ファイル９１は、ワークフロージョブに含まれる複数の処理のうち、設定情報に基づく処理を実行してエラーが生じた場合、当該エラーが生じた処理に設定された設定情報との対応を定義する対応情報に相当する。
【００６２】
また、図９に示す「ｐｌｕｇｉｎｉｄ」タグに続いて記述されている「ＭｏｄｉｆｉａｂｌｅＳｅｔｔｉｎｇｓ」タグは、修正可能な設定の内容（修正可能定義項目）を示すタグである。当該タグに括られた内容である「ｄｅｓｔｉｎａｔｏｎＵＲＬ」という設定項目名がエラーの原因であれば、図９に示す修正設定定義に合致する。
【００６３】
なお、修正可能定義ファイル９１は、プラグインごとに予め生成される。また、修正可能定義ファイル９１の内容に含まれる修正可能定義項目は、１つの修正可能定義ファイル９１において複数記述されることもある。
【００６４】
＜画像処理装置２０の機能構成＞
次に、本実施形態に係る画像処理装置２０の機能構成について、図１４を参照して説明する。図１４は、本実施形態に係る画像処理装置２０の機能構成を示すブロック図である。図１４に示すように、本実施形態に係る画像処理装置２０は、コントローラ２２１、情報読取部２２２、表示部２２３、記録媒体出力部２２４、及び外部接続制御部２２５を有する。
【００６５】
また、コントローラ２２１は、主制御部２３１、エンジン制御部２３２、画像処理部２３３、操作表示制御部２３４及び入出力制御部２３５を含む。図１４に示すように、本実施形態に係る画像処理装置２０は、情報読取部２２２と記録媒体出力部２２４を有する複合機として構成されている。
【００６６】
表示部２２３は、画像処理装置２０の状態を視覚的に表示する出力インターフェースであるディスプレイパネル２０４によって実現される機能であって、タッチパネルとしてユーザが直接操作した内容を情報として入力する入力インターフェースでもある。即ち、表示部２２３は、ユーザによる操作を受けるための画像を表示する機能を含む。
【００６７】
外部接続制御部２２５は、画像処理装置２０がネットワークを介してワークフローサーバ１０等の他の機器と通信するためのインターフェースである。外部接続制御部２２５は、図３に示すネットワークＩ／Ｆ２０８によって実現される。
【００６８】
コントローラ２２１は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ＲＯＭ２１３に格納されたプログラムからＲＡＭ２１２に読み出されたプログラムに従ってＣＰＵ２１１が演算を行うことにより構成されるソフトウェア制御部と集積回路などのハードウェアによってコントローラ２２１が構成される。コントローラ２２１は、画像処理装置２０全体を制御する制御部として機能する。
【００６９】
主制御部２３１は、コントローラ２２１に含まれる各部を制御する役割を担い、コントローラ２２１の各部に命令を与える。エンジン制御部２３２は、記録媒体出力部２２４や情報読取部２２２等を制御若しくは駆動する駆動手段としての役割を担う。画像処理部２３３は、主制御部２３１の制御に従い、出力すべき画像情報に基づいて描画情報を生成する。この描画情報とは、記録媒体出力部が備える画像形成部が画像形成動作において形成すべき画像を描画するための情報である。
【００７０】
また、画像処理部２３３は、情報読取部２２２から入力される撮像データを処理し、画像データを生成する。この画像データとは、スキャナ動作の結果物として画像処理装置２０の記憶領域に格納され若しくは外部接続制御部２２５を介して他の情報処理端末や記憶装置に送信される情報である。
【００７１】
操作表示制御部２３４は、表示部２２３に情報表示を行い若しくは表示部２２３を介して入力された情報を主制御部２３１に通知する。入出力制御部２３５は、外部接続制御部２２５を介して入力される情報を主制御部２３１に入力する。また、主制御部２３１は、入出力制御部２３５を制御し、外部接続制御部２２５及びネットワークを介して他のネットワークに接続された機器にアクセスする。
【００７２】
画像処理装置２０がプリンタとして動作する場合は、まず、入出力制御部２３５が外部接続制御部２２５を介して印刷ジョブを受信する。即ち、入出力制御部２３５が画像形成出力命令取得部として機能する。入出力制御部２３５は、受信した印刷ジョブを主制御部２３１に転送する。主制御部２３１は、印刷ジョブを受信すると、画像処理部２３３を制御して印刷ジョブに含まれる文書情報若しくは画像情報に基づいて描画情報を生成させる。
【００７３】
画像処理部２３３によって描画情報が生成されると、エンジン制御部２３２は、記録媒体出力部２２４を制御し、上記生成された描画情報に基づき、搬送されるシート状の媒体に対して画像形成を実行させる。即ち、画像処理部２３３、エンジン制御部２３２及び記録媒体得出力部が画像形成出力部として機能する。
【００７４】
画像処理装置２０がスキャナとして動作する場合は、ユーザによる表示部２２３の操作若しくは外部接続制御部２２５を介してＰＣ４０等の他の端末からスキャン実行指示が入力されたときである。このスキャン実行指示に応じて、操作表示制御部２３４若しくは入出力制御部２３５が主制御部２３１にスキャン実行信号を転送する処理を実行する。主制御部２３１は、受信したスキャン実行信号に基づき、エンジン制御部２３２を制御する。
【００７５】
エンジン制御部２３２は、情報読取部２２２を動作させて撮像対象原稿からの情報読取り処理を実行する。即ち、エンジン制御部２３２が、読取制御部として機能する。
【００７６】
撮像動作においては、情報読取部２２２が備える撮像機能により原稿の光学像が取得され、光学像に基づいて生成された撮像情報が生成される。エンジン制御部２３２は、撮像情報を画像処理部２３３に転送する。画像処理部２３３は、主制御部２３１の制御に従い、エンジン制御部２３２から受信した撮像情報に基づき画像情報を生成する。このような機能により、画像処理装置２０は、本実施形態に係るシステムに画像データを入力するための画像入力装置としても機能する。
【００７７】
画像処理部２３３が生成した画像情報は主制御部２３１が取得し、主制御部２３１が画像処理装置２０に装着された記憶媒体に保存する。即ち、スキャナユニット２０２、エンジン制御部２３２及び画像処理部２３３が連動して、画像入力部として機能する。画像処理部２３３によって生成された画像情報は、ユーザの指示に応じてそのまま記録部等に格納され若しくは入出力制御部２３５及び外部接続制御部２２５を介してＰＣ４０等の外部の装置に送信される。
【００７８】
＜ワークフローシステム１００の処理シーケンス＞
次に、ワークフローサーバ１０を中心として構成されるワークフローシステム１００におけるワークフロー処理の流れについて、図面を参照しながら説明する。図５は、ワークフローシステム１００におけるワークフロー処理の概略を説明するシーケンス図である。まず、情報入力装置である画像処理装置２０において、当該システムのユーザが利用権限に関する認証処理（ログイン）を実行する（Ｓ５０１）。認証処理が正常に行われた段階で、当該ユーザは、ワークフローの実行を要求する操作を画像処理装置２０に対して行う（Ｓ５０２）。具体的には、ユーザが原稿をＡＤＦ２０１などにセットし、操作部２１７を操作して、ワークフローサーバ１０に予め設定されているワークフローを選択する。この操作により、設定した書誌情報及び原稿から読み取られたスキャン画像（ワークフロー要求）と共に、当該ユーザを一意に識別するユーザＩＤもワークフローサーバ１０に通知される。
【００７９】
続いて、ワークフローサーバ１０は、ワークフロー要求を受け付けてワークフローを実行する（Ｓ５０３）。ワークフローの詳細は後述する。Ｓ５０３における処理の結果、情報出力装置の一例であるクラウドサーバ５０に対して、処理後の対象情報が出力される。この場合、クラウドサーバ５０は、対象情報に対する保存処理を実行する（Ｓ５０４）。以上のように、情報入力装置である画像処理装置２０からユーザを識別するユーザＩＤと共にワークフローが通知され、ワークフローサーバ１０において所定の処理が実行される。なお、ワークフローの実行の結果、クラウドサーバ５０のような外部のサーバおよびサービスに対象情報を配信するだけではなく、画像処理装置２０に対する情報の出力を実行してもよい。
【００８０】
＜ワークフローの詳細：正常系＞
次に、Ｓ５０３において実行されるワークフローの例について詳細に説明する。まず、ワークフローの処理が正常に行われる場合について図６を参照しながら説明する。画像処理装置２０からユーザＩＤと共にワークフローが指定され、ワークフローの対象情報が入力されると入力制御部１２が、ワークフロージョブの生成を実行する（Ｓ６０１）。Ｓ６０１において生成されたワークフロージョブは、一意に識別可能なジョブＩＤと共にジョブ保存部１６に渡される。
【００８１】
ジョブ保存部１６は、渡されたワークフロージョブが新規のワークフロージョブであることからジョブ保存部１６の処理待ちジョブフォルダ１６１に当該ワークフロージョブを保存する（Ｓ６０２）。処理待ちジョブフォルダ１６１に保存されたワークフロージョブは、以下において説明するとおり、ワークフローサーバ１０における所定のタイミングにおいて順次処理される。
【００８２】
ワークフロー実行制御部１１は、所定のタイミングで定期的に処理待ちジョブフォルダ１６１を監視し、ワークフロージョブが存在すれば、これを取り出す（Ｓ６０３）。Ｓ６０３においてワークフロージョブを取り出したとき、ワークフロー実行制御部１１は、ワークフロージョブにおいて指定されている処理内容に基づいて、必要な加工モジュール１５２や出力モジュール１５３などのプラグインを決定する。ワークフロー実行制御部１１は、決定したプラグインに対して、ワークフロージョブにおいて明示されている設定項目や動作条件に基づく処理の実行を依頼する（Ｓ６０４）。
【００８３】
例えば、対象情報を文書情報とし、この文書情報を所定のデータ形式に変換する処理と、変換した文書情報（変換後文書情報）を特定の宛先に送信する処理と、を設定されているワークフローにおける処理について、以下説明する。
【００８４】
まず、ワークフロー実行制御部１１が、データ変換を担う加工モジュール１５２（プラグイン）に対してデータ変換処理の内容（パラメータや条件）と共に処理を依頼する（Ｓ６０４）。データ変換を担う加工モジュール１５２は、対象情報に対して指定された条件に基づく加工処理（Ｓ６０５）を実行し、その実行の正否を示すステータスコードをワークフロー実行制御部１１に通知する。
【００８５】
ワークフロー実行制御部１１は、Ｓ６０５において通知されるステータスコードを判定する（Ｓ６０６）。ここでは、Ｓ６０６における処理結果を示すステータスコードが「正常」を示すものであると仮定する。
【００８６】
その後、加工処理が正常に実行されたことを示すステータスコードと共に、ワークフロー実行制御部１１は、ジョブ保存部１６に対してワークフロージョブを保存する処理を実行するようにジョブ保存依頼を通知する（Ｓ６０７）。ジョブ保存部１６は、通知に応じて当該ワークフロージョブをステースコードと共に処理待ちジョブフォルダ１６１へ保存する（Ｓ６０８）。この段階では、当該ワークフロージョブは、加工処理が正常に終了していることを示す情報と共に処理待ちジョブフォルダ１６１に保存されている。すなわち、ワークフローの途中まで処理が完了した状態を保持して保存されている。
【００８７】
続いて、ワークフロー実行制御部１１は、変換後文書情報を特定の宛先に送信する処理を出力モジュール１５３に依頼する（Ｓ６０９）。Ｓ６０９は、Ｓ６０７の直後に実行されてもよいし、Ｓ６０８が終了するタイミングを待って実行されてもよい。
【００８８】
データ送信を担う出力モジュール１５３は、変換後文書情報に対する出力処理（Ｓ６１０）を実行する。Ｓ６１２において、変換具後文書情報の送信処理は正常に実行されたものとする。したがって、その実行結果を示すステータスコートが出力モジュール１５３からがワークフロー実行制御部１１に対して通知される。
【００８９】
ワークフロー実行制御部１１は、Ｓ６１２において通知されるステータスコードを判定する（Ｓ６１１）。ここでは、Ｓ６１２における処理結果を示すステータスコードが「正常」をしめすものであると仮定する。
【００９０】
その後、送信処理が正常に実行されたことを示すステータスコードと共に、ワークフロー実行制御部１１が、ジョブ保存部１６に対して当該ワークフロージョブの保存依頼を通知する（Ｓ６１２）。ジョブ保存部１６は、通知に応じて当該ワークフロージョブをステースコードと共に処理待ちジョブフォルダ１６１へ保存する（Ｓ６１３）。
【００９１】
続いて、ワークフロー実行制御部１１が、ジョブ保存部１６に対して当該ワークフロージョブの削除依頼を通知する（Ｓ６１４）。ここで通知されるのは、ジョブＩＤである。
【００９２】
ジョブ保存部１６は、通知されたジョブＩＤに基づいて、当該ワークフロージョブを処理待ちジョブフォルダ１６１から削除する処理を実行する（Ｓ６１５）。
【００９３】
以上、ワークフロージョブがすべて正常に処理されるときは、処理待ちジョブフォルダ１６１から取り出されたワークフロージョブにおいて指定されているプラグインを用いて所定の処理が実行される。各処理が正常に終了したことを示すステータスコードと共に、各処理の正常終了の時点で、処理待ちジョブフォルダ１６１において当該ワークフロージョブを保存する。ワークフロー実行制御部１１は、ワークフロージョブにおいて指定されている順番で各プラグイン（ワークフロー実行部１５）における処理を順次実行するように、処理の流れを制御する。
【００９４】
＜ワークフローの詳細：異常系＞
次に、Ｓ５０３において実行されるワークフローの別の例について詳細に説明する。以下、図７を参照しながら説明する例は、ワークフローが異常終了する例である。すでに説明をした正常系のワークフロー（図６参照）における処理と同様の処理については、詳細な説明を省略する。図７において、画像処理装置２０からユーザＩＤと共にワークフローが指定され、ワークフロー実行制御部１１がワークフロージョブを処理待ちジョブフォルダ１６１から取り出される（Ｓ７０１）。その後、出力モジュール１５３への処理依頼が実行される（Ｓ７０２）。
【００９５】
ここで、データ配信を担う出力モジュール１５３を指定する当該ワークフロージョブにおいて、出力先として設定されている情報が正しい場合であっても、出力先として指定されているクラウドサーバ５０の動作が停止している場合が想定される。この場合、出力処理は正常に実行できないので、出力モジュール１５３は、ワークフロー実行制御部１１に対して、出力処理が、出力先の動作不要によってエラーになったことを知らせるステータスコードを通知する（Ｓ７０３）。
【００９６】
ワークフロー実行制御部１１は、出力モジュール１５３から通知されたステータスコードの内容を判定する（Ｓ７０４）。このステータスコードは、出力モジュール１５３における処理エラーの原因を示す内容が含まれている。そこで、ワークフロー実行制御部１１は、ステータスコードを解析してエラーの原因を特定する解析処理を実行する（Ｓ７０５）。
【００９７】
Ｓ７０５における解析処理の結果、エラーの原因を特定できると、当該エラーがプラグイン毎に予め設定されている設定情報において「修正可能定義」に該当する設定情報であるか否かを判定することができる。ここで、ステータスコードは出力モジュール１５３から通知されたため、出力モジュール１５３のプラグインＩＤ「ｃｌｏｕｄｏｕｔｐｕｔ」が「ｐｕｌｕｇｉｎｉｄ」タグに記述されている修正可能な定義に基づいて判定する。
【００９８】
Ｓ７０３において通知されたステータスコードをＳ７０５において解析した結果、エラーの原因は修正可能定義ファイル９１で修正可能定義項目に設定されている「ＭｏｄｉｆｉａｂｌｅＳｅｔｔｉｎｇｓ」に起因するものではないと仮定する（図９参照）。したがって、ワークフロー実行制御部１１は、そこで、ワークフロー実行制御部１１は、ジョブ保存部１６に対して当該ワークフロージョブの保存依頼を通知する（Ｓ７０６）。
【００９９】
異常終了ジョブフォルダ１６３は、当該ワークフロージョブを処理待ちジョブフォルダ１６１から異常終了ジョブフォルダ１６３に移動させて保存する（Ｓ７０７）。
【０１００】
続いて、ワークフロー実行制御部１１は、ジョブ保存部１６に対して、当該ワークフローを処理待ちジョブフォルダ１６１から削除するように削除依頼を通知する（Ｓ７０８）。処理待ちジョブフォルダ１６１は、当該ワークフロージョブを削除する（Ｓ７０９）。
【０１０１】
以上のとおり、本実施形態に係るワークフローシステム１００は、ワークフロージョブの実行中に生じたエラーを解析し、そのエラーの原因が修正可能定義に含まれている設定項目に当たらない場合であれれば、異常終了のワークフロージョブとして区別する。異常終了が生じた場合、その旨を、ワークフローシステム１００の管理者に通知すればよい。
【０１０２】
＜ワークフローの詳細：修復可能エラー＞
次に、Ｓ５０３において実行されるワークフローにおけるさらに別の例について詳細に説明する。以下、図８を参照しながら説明する例は、ワークフロージョブの途中でエラーが「修正可能なエラー」であって、当該ワークフロージョブを一旦保留して、修正を促した後に修正を反映させてワークフローを自動的に再開する処理を実行する例である。すでに説明をした正常系のワークフロー（図６参照）、および異常系のワークフロー（図７参照）における処理と同様の処理については、詳細な説明を省略する。図８において、画像処理装置２０からユーザＩＤと共にワークフローが指定され、ワークフロー実行制御部１１がワークフロージョブを処理待ちジョブフォルダ１６１から取り出される（Ｓ８０１）。その後、出力モジュール１５３への処理依頼が実行される（Ｓ８０２）。
【０１０３】
ここで、データ配信を担う出力モジュール１５３を指定する当該ワークフロージョブにおいて、出力先として設定されている情報が誤っている場合を想定する。この場合、出力処理は正常に実行できないので、出力モジュール１５３は、ワークフロー実行制御部１１に対して、出力処理が宛先間違えによってエラーになったことを知らせるステータスコードを通知する（Ｓ８０３）。
【０１０４】
ワークフロー実行制御部１１は、出力モジュール１５３から通知されたステータスコードの内容を判定する（Ｓ８０４）。このステータスコードは、出力モジュール１５３における処理エラーの原因を示す内容が含まれている。そこで、ワークフロー実行制御部１１は、ステータスコードを解析してエラーの原因を特定する解析処理を実行する（Ｓ８０５）。
【０１０５】
Ｓ８０５における解析処理の結果、エラーの原因は、図９に例示する修正可能定義ファイル９１において、修正可能項目として設定されている「ＭｏｄｉｆｉａｂｌｅＳｅｔｔｉｎｇｓ」に起因するものであると仮定する。
【０１０６】
そこで、ワークフロー実行制御部１１は、通知モジュール１５１に対して、修正を依頼する内容を明示したメールの作成を依頼する（Ｓ８０６）。通知モジュール１５１は、Ｓ８０６のおける依頼内容に基づいて、予め設定されている修正可能設定通知定義を参照して、修正依頼メール１５０を生成する（Ｓ８０７）。
【０１０７】
通知モジュール１５１が、修正通知定義ファイル１６０において記述されている内容に基づいて生成する修正依頼メール１５０の例を図１５に示す。修正依頼メール１５０は、当該メールを一意に識別するための通知ＩＤを明示する「ｉｄ」タグと、エラー内容を示す「ｍｅｓｓａｇｅ」タグと、エラーの原因となった設定値を示す「ｍｏｄｉｆｉａｂｌｅｓｅｔｔｉｎｇ」タグを含んで構成される。通知モジュール１５１は、ユーザのユーザＩＤとユーザのメールアドレスとを対応付けて記憶し、Ｓ５０２において画像処理装置２０から通知されたユーザＩＤに対応するメールアドレスを特定して、特定したメールアドレスを修正依頼メールの宛先に指定する。
【０１０８】
修正依頼メール１５０における表記例は、通知モジュール１５１の設定に依存する。図１５において例示した修正依頼メール１５０の表記は、必要な情報をＸＭＬ形式に変換して、電子メール本文としたものである。なお、通知ＩＤは、ジョブＩＤと、プラグインＩＤと、プラグインのインデックスと、修正対象設定項目名と、を含むように通知モジュール１５１において生成される。この通知ＩＤにおいて関連付けられているジョブＩＤ、プラグインＩＤ、プラグインのインデックス、修正対象設定項目名のマッピングは、修正待ちジョブフォルダ１６２において保持される。
【０１０９】
なお、修正依頼メール１５０は、通知ＩＤを「ｉｄ」タグで括った本文中に明示しているが、表記例をこれに限るものではない。通知ＩＤは、修正依頼メール１５０と、修正対象の情報を一意に識別するためのものであるから、必ずしも本文に通知ＩＤを記述する必要はない。例えば、修正依頼メール１５０を生成するごとに返信先が一意に定まるような個別の返信用アドレスを生成し、これを返信先アドレスとして設定した形式でメールを生成してもよい。なお、「ｉｄ」タグがワークフローと設定情報が対応付けられたワークフロージョブを特定する特定情報に相当する。
【０１１０】
修正依頼メール１５０は、電子メール形式限るものではなく、通知モジュール１５１がインスタントメッセージを送信するプラグインであれば、その形式に合わせて生成される。
【０１１１】
また、修正依頼メール１５０に含める修正通知定義ファイル１６０における記述は、修正可能設定通知言語ファイルを用いて、多言語対応ができるように構成してもよい。この場合、修正可能設定ＩＤを、その内容を表記するためのメッセージが言語セットごとに対応付けられる。
【０１１２】
図８に戻る。通知モジュール１５１は、生成された修正依頼メール１５０を所定の宛先に送信する（Ｓ８０８）。通知モジュール１５１は、送信処理が終了した段階で、送信終了を示すステータスコードをワークフロー実行制御部１１に通知する。
【０１１３】
ワークフロー実行制御部１１は、Ｓ８０８の処理によるステータスコードを受け取った後に、ジョブ保存部１６に対して当該ワークフロージョブを修正待ちジョブフォルダ１６２に保存するように通知する（Ｓ８０９）。
【０１１４】
ジョブ保存部１６は、当該ワークフロージョブを処理待ちジョブフォルダ１６１から修正待ちジョブフォルダ１６２に移動させて、ジョブＩＤと対応付けて保存する（Ｓ８１０）。
【０１１５】
続いて、ワークフロー実行制御部１１は、ジョブ保存部１６に対して、処理待ちジョブフォルダ１６１に保存されている当該ワークフロージョブの削除依頼を通知する（Ｓ８１１）。ジョブ保存部１６は、通知されたジョブＩＤが格納されている処理待ちジョブフォルダ１６１から該当するワークフロージョブを削除する（Ｓ８１２）。
【０１１６】
修正待ちジョブフォルダ１６２に保存されたワークフロージョブは、その処理を一旦保留して待機した状態になる。本実施形態に係るワークフローシステム１００は、待機状態にあるワークフロージョブに対する修正が行われるまで、当該ワークフローを保持する。例えば、「受信したファックスのうち、２枚目のページをＰＤＦデータに変換して、フォルダ配信する」というワークフローが定義されたワークフロージョブが実行される場合に、ついて説明する。この場合、Ｓ８０２において、ワークフロー実行制御部１１が、ワークフロージョブを処理待ちジョブフォルダ１６１から取り出したワークフロージョブのワークフロー定義情報に基づいて、加工モジュール１５２への処理依頼を実行する。この場合の修正依頼は、「受信した２枚目のページをＰＤＦデータに変換する」という内容である。そして、Ｓ８０３において、加工モジュール１５２は、受信したファックスに２枚目のページが存在しないことを検知し、ワークフロー実行制御部１１に対して、指定されたページが存在せず、エラーになったことを知らせるステータスコードを通知する。これ以降は、Ｓ８０４以降の処理と同じである。
【０１１７】
＜ワークフローの詳細：エラー修正＞
図８において説明したワークフローのように、修正可能項目における設定ミスが原因となってワークフローにエラーが生じたとき、修正依頼メール１５０が、ユーザが操作する端末（例えば、ＰＣ４０）に送信される。そこでユーザは、修正依頼メール１５０に記述されているエラー原因となった設定項目を正規の情報に修正して返信メール４００を生成し、ワークフローサーバ１０に対して送信する。図１０に示すように返信メール４００は、「ｍｏｄｉｆｉａｂｌｅｓｅｔｔｉｎｇ」タグで括られている設定項目の誤り箇所を訂正した内容になっている。ユーザにより、ｍｏｄｉｆｉａｂｌｅｓｅｔｔｉｎｇｉｄの値がｈｔｔｐ：ｓ／／ｅｘａｍｐｌｅ．ｃｏｍ／ｖａｌｉｄに変更されている。
【０１１８】
返信メール４００を受け付けることで、エラーになったワークフロージョブを再開させるための処理の流れについて、図１１のシーケンス図を参照しながら説明する。入力制御部１２が返信メール４００を受け付けると、エラー修正入力である返信メール４００の内容を解析する解析処理を実行する（Ｓ１１０１）。
【０１１９】
なお、ユーザにおいて通知ＩＤと修正内容を指定することが可能であるときは、入力制御部１２において、返信メール４００を受け付けるＡＰＩを、指定内容ごとに区別して設けてもよい。なお、入力制御部１２において、返信メール４００の記述形式は予め認識されているものとする。
【０１２０】
Ｓ１１０１において解析して得た通知ＩＤ「ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ」と、修正内容「ｈｔｔｐ：ｓ／／ｅｘａｍｐｌｅ．ｃｏｍ／ｖａｌｉｄ」が、ジョブ管理部１３に通知される。ここで通知される情報が修正情報に相当する。ジョブ管理部１３は、図１３に示すｎｏｔｉｆｉｃａｔｉｏｎ．ｘｍｌを通知ＩＤに基づいて検索し、修正対象となる修正待ちジョブを特定して、修正待ちジョブフォルダ１６２から該当するワークフロージョブを取り出す（Ｓ１１０２）。
【０１２１】
ジョブ管理部１３は、通知ＩＤから取得したジョブＩＤに基づいて、修正対象となるワークフロー設定ファイル１２０（Ｄｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌ）が格納されているフォルダを指定する（図１３参照）。ジョブ管理部１３は、入力制御部１２において抽出され通知された修正内容、ｎｏｔｉｆｉｃａｔｉｏｎ．ｘｍｌから取得したジョブＩＤ以外の情報（プラグインＩＤ、プラグインインデックス、修正対象設定項目名）から、該当するＤｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌを修正する（Ｓ１１０３）。
【０１２２】
ここで、ｎｏｔｉｆｉｃａｔｉｏｎ．ｘｍｌには、通知ＩＤ「ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ」と、修正待ちジョブのジョブＩＤ「ａａａａ」と、修正対象のプラグインのプラグインＩＤ「ｃｌｏｕｄｏｕｔｐｕｔ」と、修正対象設定項目名「ｄｅｓｔｉｎａｔｉｏｎＵＲＬ」とが関連付けて記述されている。通知ＩＤから取得したジョブＩＤ「ａａａａ」に基づいて、修正待ちジョブが格納されているフォルダを特定する。そして、特定したフォルダに格納されているＤｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌにおいて、「ｐｌｕｇｉｎ」の「ｉｄ」属性の値が「ｃｌｏｕｄｏｕｔｐｕｔ」であり、かつ、「ｐｒｏｐｅｒｔｙ」の「ｉｄ」属性の値が「ｄｅｓｔｉｎａｔｉｏｎＵＲＬ」のタグを特定し、「ｖａｌｕｅ」タグの値を修正内容で置き換える。
【０１２３】
続いて、ジョブ管理部１３は、修正したＤｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌを処理待ちジョブフォルダ１６１に移動するようにジョブ保存部１６に通知する（Ｓ１１０４）。ジョブ保存部１６は、通知されたＤｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌを処理待ちジョブフォルダ１６１に保存する（Ｓ１１０５）。
【０１２４】
続いて、ジョブ管理部１３は、修正待ちジョブフォルダ１６２に残っている修正したＤｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌを削除するようにジョブ保存部１６に通知する（Ｓ１１０６）。ジョブ保存部１６は、修正待ちジョブフォルダ１６２にある削除対象のＤｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌを消去する（Ｓ１１０７）。
【０１２５】
ワークフロー実行制御部１１は、処理待ちジョブフォルダ１６１を定期的に監視して、ワークフロージョブが存在すれば、これを取り出す（Ｓ１１０８）。そして、Ｓ６０４、又はＳ７０２、又はＳ８０２以降の処理が実行される。
【０１２６】
以上、本実施形態に係るワークフローシステム１００およびワークフローサーバ１０によれば、ワークフローの途中においてエラーが発生したときに、修正可能項目であればユーザに対してエラーの原因となった項目を明記した通知を送信する。当該通知を受け付けたユーザは、通知内容において明記された情報によって、エラーの原因と、修正すべき内容を容易に判断でき、修正した情報をワークフローサーバ１０に返信する。
【０１２７】
この間、エラーになったワークフロージョブは、一旦処理を停止して、保留された状態になっているが、ワークフローサーバ１０が修正した情報を受け付けた後に、エラー箇所を自動的に修正して、ワークフロージョブを再開できる状態に移行する。
【０１２８】
これによって、ワークフロージョブにおけるエラー内容をユーザが容易に把握して、適切な修正とその修正内容の反映を簡単な操作で実現できる。また、修正を反映した後は、ワークフロージョブを自動的に再開させることができる。
【０１２９】
図１２は、ワークフロー設定ファイル１２０の例を示す図である。ワークフロー設定ファイル１２０は、ＵＩ部１４の機能を利用して管理者が事前に設定するものである。図１２に示すように、ワークフロー設定ファイル１２０は、ワークフロー設定とジョブＩＤの関連付けを保持している。ワークフロー設定ファイル１２０は、ワークフロー設定のうち、ｍｏｄｉｆｉａｂｌｅｓｅｔｔｉｎｇｉｄと一致する設定値の値を、返信メール４００の内容を用いて上書き保存される。
【０１３０】
図１３は、ジョブ保存関連構成について説明する図である。図１３に示すように処理待ちジョブフォルダ１６１、修正待ちジョブフォルダ１６２、異常終了ジョブフォルダ１６３、に対応した記憶領域が、ＨＤＤ１０５の構成されたフォルダに対応している。
【０１３１】
各フォルダには、ジョブＩＤが名前のフォルダが存在する。図１３において、修正待ちのジョブが２つある。それぞれのジョブＩＤは「ａａａａ」と「ｂｂｂｂ」である。各ジョブフォルダは、その中に配信に必要な情報等を保持している。配信に必要な情報は、すでに説明したとおり、Ｄｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌに格納されている。ユーザに通知されるエラーはＩＤによってＤｉｓｔｒｉｂｕｔｉｏｎｓｅｔｔｉｎｇ．ｘｍｌは管理されている。
【０１３２】
エラー通知用のＩＤとジョブＩＤ及び修正対象のプラグインのプラグインＩＤ、プラグインインデックス、修正対象の設定項目名との関連付けに関する情報は、ｎｏｔｉｆｉｃａｔｉｏｎ．ｘｍｌに格納されている。ジョブ管理部１３は、入力制御部１２において抽出されて通知された通知ＩＤを用いてｎｏｔｉｆｉｃａｔｉｏｎ．ｘｍｌを検索し、関連付けられているジョブＩＤ及び修正対象のプラグインのプラグインＩＤ、プラグインインデックス、修正対象の設定項目名を取得することで、エラーとなった情報の修正を可能にする。
【０１３３】
以上説明をした本発明に係る情報処理制御装置、情報処理制御プログラム、情報処理制御システムおよび情報処理制御方法は、上記の実施形態に限られるものではなく、以下の実施形態を含むものである。例えば、ワークフローサーバ１０の機能を画像処理装置２０に含め、画像処理装置２０においてワークフローサーバ１０が備える機能を実行する構成、いわゆるサーバレス構成であってもよい。この場合、画像処理装置２０のみで上記の実施形態を実行することができる。
【符号の説明】
【０１３４】
１０    ワークフローサーバ
１１    ワークフロー実行制御部
１２    入力制御部
１３    ジョブ管理部
１４    ＵＩ部
１５    ワークフロー実行部
１６    ジョブ保存部
２０    画像処理装置
３０    ファイルサーバ
５０    クラウドサーバ
９１    修正可能定義ファイル
１００  ワークフローシステム
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  Ｉ／Ｆ
１０５  ＨＤＤ
１０６  ＬＣＤ
１０７  操作部
１０８  バス
１２０  配信情報設定ファイル
１５０  修正依頼メール
１５１  通知モジュール
１５２  加工モジュール
１５３  出力モジュール
１６０  修正通知定義ファイル
１６１  処理待ちジョブフォルダ
１６２  修正待ちジョブフォルダ
１６３  異常終了ジョブフォルダ
２００  コントローラ
２０２  スキャナユニット
２０３  排出トレイ
２０４  ディスプレイパネル
２０５  給送テーブル
２０６  画像形成ユニット
２０７  排出トレイ
２０８  ネットワークＩ／Ｆ
２１１  ＣＰＵ
２１２  ＲＡＭ
２１３  ＲＯＭ
２１４  Ｉ／Ｆ
２１５  ＨＤＤ
２１６  ＬＣＤ
２１７  操作部
２１８  バス
２２１  コントローラ
２２２  情報読取部
２２３  表示部
２２４  記録媒体出力部
２２５  外部接続制御部
２３１  主制御部
２３２  エンジン制御部
２３３  画像処理部
２３４  操作表示制御部
２３５  入出力制御部
【先行技術文献】
【特許文献】
【０１３５】
【特許文献１】特開２００９−１４７８１７号公報
【図１】
2018046520.tif 000003
【図２】
2018046520.tif 000004
【図３】
2018046520.tif 000005
【図４】
2018046520.tif 000006
【図５】
2018046520.tif 000007
【図６】
2018046520.tif 000008
【図７】
2018046520.tif 000009
【図８】
2018046520.tif 000010
【図９】
2018046520.tif 000011
【図１０】
2018046520.tif 000012
【図１１】
2018046520.tif 000013
【図１２】
2018046520.tif 000014
【図１３】
2018046520.tif 000015
【図１４】
2018046520.tif 000016
【図１５】
2018046520.tif 000017
【図１６】
2018046520.tif 000018