(57)【要約】【課題】複数の画像処理が組み合わされて構成されるワークフローシステムにおいて、入力された処理命令の完了予測タイミングの操作者への通知を可能とすること。【解決手段】ワークフローのジョブを取得し、ワークフローにおいて実行される複数のプラグインについて、処理に要する時間が関連付けられた予想時間テーブルを参照し、取得されたジョブにおいて特定されているプラグイン夫々について、予想時間テーブルに基づいて処理に要する時間を算出し、ジョブにおいて特定されている複数のプラグインについて算出した時間を積算することによりジョブの処理に要する時間である予想処理時間を求め、算出された予想処理時間を提示するための情報を出力することを特徴とする。【選択図】図１５
2017059940.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理が組み合わされたワークフローに従って入力された画像を処理する情報処理装置であって、
前記ワークフローの実行命令を取得する実行命令取得部と、
前記ワークフローにおいて実行される複数の前記処理について、処理に要する時間が関連付けられた予想時間テーブルを記憶している予想時間テーブル記憶部と、
取得された前記実行命令において特定されている複数の処理夫々について、前記予想時間テーブルに基づいて処理に要する時間を算出し、前記実行命令において特定されている複数の処理について算出した時間を積算することにより前記実行命令に係るワークフローの処理に要する時間である予想処理時間を求めて記憶媒体に記憶させる処理時間算出部と、
算出された前記予想処理時間を提示するための情報を出力する予想処理時間出力部とを含むことを特徴とする情報処理装置。
【請求項２】
前記処理時間算出部は、前記複数の処理が夫々実行制御される度に、実行された処理について算出された処理に要する時間を前記予想処理時間から減算することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理時間算出部は、
前記複数の処理が夫々実行制御された際に、処理の実行に要した時間の実測値を取得し、
前記実測値が取得された処理について、取得された前記実測値に基づいて前記予想時間テーブルにおける処理に要する時間を更新することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記予想時間テーブルは、前記ワークフローの実行命令に含まれるパラメータに対して予め定められた条件において、複数の前記処理について処理に要する時間が関連付けられたものであり、
前記処理時間算出部は、前記予め定められた条件と取得された前記実行命令に含まれるパラメータの値との差異に基づいて、前記実行命令において特定されている複数の処理夫々について処理に要する時間を算出することを特徴とする請求項１乃至３いずれか１項に記載の情報処理装置。
【請求項５】
前記処理時間算出部は、前記複数の処理夫々について処理に要する時間の算出に際して考慮するパラメータ項目が指定された参照パラメータ情報に基づき、前記複数の処理毎に指定されたパラメータ項目について、前記予め定められた条件と前記実行命令に含まれるパラメータの値との差異に基づいて前記処理に要する時間を算出することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記処理時間算出部は、取得された前記実行命令に係るワークフローが、前記複数の処理の実行順が所定の条件に応じて分岐することにより複数の処理経路を含む場合、複数の処理経路について夫々積算されて算出された処理に要する時間の平均値を算出することにより前記予想処理時間を求めることを特徴とする請求項１乃至５いずれか１項に記載の情報処理装置。
【請求項７】
前記処理時間算出部は、取得された前記実行命令に係るワークフローが、前記複数の処理の実行順が所定の条件に応じて分岐することにより複数の処理経路を含む場合において、分岐に係る前記所定の条件が予め定められた所定の項目を含む場合には、複数の処理経路について夫々積算されて算出された処理に要する時間の平均値を算出することにより前記予想処理時間を求めることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記処理時間算出部は、取得された前記実行命令に係るワークフローが、前記複数の処理の実行順が所定の条件に応じて分岐することにより複数の処理経路を含む場合、複数の処理経路について夫々積算されて算出された処理に要する時間の最大値と最小値との差分値を取得し、取得した前記差分値が所定の閾値を超えている場合、前記最大値を前記予想処理時間とすることを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記処理時間算出部は、
前記複数の処理が夫々実行制御されることにより前記処理の実行順の分岐が確定した際にその確定した経路に関する情報を取得し、
前記経路に含まれる処理についての処理に要する時間の算出結果を積算した結果により前記予想処理時間を更新することを特徴とする請求項６乃至８いずれか１項に記載の情報処理装置。
【請求項１０】
画像形成装置及び情報処理装置を含み、入力された画像を複数の処理が組み合わされたワークフローに従って処理する情報処理システムであって、
前記ワークフローの実行命令を取得する実行命令取得部と、
前記ワークフローにおいて実行される複数の前記処理について、処理に要する時間が関連付けられた予想時間テーブルを記憶している予想時間テーブル記憶部と、
取得された前記実行命令において特定されている複数の処理夫々について、前記予想時間テーブルに基づいて処理に要する時間を算出し、前記実行命令において特定されている複数の処理について算出した時間を積算することにより前記実行命令に係るワークフローの処理に要する時間である予想処理時間を求めて記憶媒体に記憶させる処理時間算出部と、
算出された前記予想処理時間を提示するための提示情報を出力する予想処理時間出力部と、
出力された前記提示情報に基づき、前記実行命令に係るワークフローの処理に要する時間を表示装置に表示させる表示処理部とを含むことを特徴とする情報処理システム。
【請求項１１】
複数の処理が組み合わされたワークフローに従って入力された画像を処理する情報処理方法であって、
前記ワークフローの実行命令を取得し、
前記ワークフローにおいて実行される複数の前記処理について、処理に要する時間が関連付けられた予想時間テーブルを参照し、
取得された前記実行命令において特定されている複数の処理夫々について、前記予想時間テーブルに基づいて処理に要する時間を算出し、前記実行命令において特定されている複数の処理について算出した時間を積算することにより前記実行命令に係るワークフローの処理に要する時間である予想処理時間を求めて記憶媒体に記憶させ、
算出された前記予想処理時間を提示するための情報を出力することを特徴とする情報処理方法。
【請求項１２】
複数の処理が組み合わされたワークフローに従って入力された画像を処理する情報処理プログラムであって、
前記ワークフローの実行命令を取得するステップと、
前記ワークフローにおいて実行される複数の前記処理について、処理に要する時間が関連付けられた予想時間テーブルを参照するステップと、
取得された前記実行命令において特定されている複数の処理夫々について、前記予想時間テーブルに基づいて処理に要する時間を算出し、前記実行命令において特定されている複数の処理について算出した時間を積算することにより前記実行命令に係るワークフローの処理に要する時間である予想処理時間を求めて記憶媒体に記憶させるステップと、
算出された前記予想処理時間を提示するための情報を出力するステップとを情報処理装置に実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）として構成されることが多い。
【０００３】
また、このように電子化された文書を文書管理サーバに蓄積し若しくは指定された配信先に配信して利用する画像処理システムが知られている。このような画像処理システムにおいては、スキャナ機能と情報処理機能とを組み合わせてワークフローを構成し、文書蓄積の効率化を図ることが行われている。
【０００４】
このようなワークフローによる処理において、配信を実行するタイミングを管理する方法が提案されている（例えば、特許文献１参照）。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したワークフローによる処理において、操作者が処理対象の画像を確認するためには、画像の読み込み及び処理が完了する必要がある。しかしながら、ユーザがワークフローのジョブを入力したとしても、ジョブを処理する装置においてジョブのキューがたまっている場合、入力されたジョブは即座に処理されず、先に入力されたジョブが完了するまで保留される。また、それぞれのジョブにおいて設定されている処理は異なるため、特定のジョブの完了タイミングを予測することは困難である。
【０００６】
特許文献１に開示された方法は、ジョブの実行タイミングに関するものではあるが、ジョブが完了するタイミングをユーザに通知する本願発明とは趣旨が異なる。
【０００７】
本発明は、上記実情を考慮してなされたものであり、複数の処理が組み合わされて構成されるワークフローシステムにおいて、入力された処理命令の完了予測タイミングの操作者への通知を可能とすることを目的とする
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の一態様は、複数の処理が組み合わされたワークフローに従って入力された画像を処理する情報処理装置であって、前記ワークフローの実行命令を取得する実行命令取得部と、前記ワークフローにおいて実行される複数の前記処理について、処理に要する時間が関連付けられた予想時間テーブルを記憶している予想時間テーブル記憶部と、取得された前記実行命令において特定されている複数の処理夫々について、前記予想時間テーブルに基づいて処理に要する時間を算出し、前記実行命令において特定されている複数の処理について算出した時間を積算することにより前記実行命令に係るワークフローの処理に要する時間である予想処理時間を求めて記憶媒体に記憶させる処理時間算出部と、算出された前記予想処理時間を提示するための情報を出力する予想処理時間出力部とを含むことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数の画像処理が組み合わされて構成されるワークフローシステムにおいて、入力された処理命令の完了予測タイミングの操作者への通知を可能とすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理システムの運用形態を示す図である。
【図２】本発明の実施形態に係る情報処理端末のハードウェア構成を模式的に示すブロック図である。
【図３】本発明の実施形態に係る画像形成装置の機能構成を示すブロック図である。
【図４】本発明の実施形態に係るワークフローサーバの機能構成を示す図である。
【図５】本発明の実施形態に係るワークフローサーバにおけるフロー実行制御部のソフトウェア構成を示す図である。
【図６】本発明の実施形態に係るワークフローの構成を概念的に示す図である。
【図７】本発明の実施形態に係るフロー定義情報の例を示す図である。
【図８】本発明の実施形態に係る予想時間テーブルの例を示す図である。
【図９】本発明の実施形態に係る基準ジョブ情報の例を示す図である。
【図１０】本発明の実施形態に係る参照パラメータ情報の例を示す図である。
【図１１】本発明の実施形態に係る処理時間情報の例を示す図である。
【図１２】本発明の実施形態に係る画像処理システムにおけるジョブ入力時の動作を示すシーケンス図である。
【図１３】本発明の実施形態に係る予想処理時間確認画面の例を示す図である。
【図１４】本発明の実施形態に係るワークフローの実行動作を示すフローチャートである。
【図１５】本発明の実施形態に係る予想処理時間の算出動作を示すフローチャートである。
【図１６】本発明の実施形態に係る分岐フラグの情報の例を示す図である。
【図１７】本発明の実施形態に係る予想処理時間の算出結果の例を示す図である。
【図１８】本発明の他の実施形態に係る予想処理時間の算出動作を示すフローチャートである。
【図１９】本発明の他の実施形態に係る予想処理時間の算出動作を示すフローチャートである。
【図２０】本発明の分岐確定不可パラメータの例を示す図である。
【図２１】本発明の他の実施形態に係る予想処理時間の算出動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、スキャンにより原稿が読み取られて生成された画像やデータとして入力された画像を、予め登録されたワークフローに従って処理することにより、画像情報の配信や格納を行う画像処理システムを例として説明する。
【００１２】
図１は、本実施の形態に係る画像処理システムの運用形態の例を示す図である。図１に示すように、本実施形態に係る画像処理システムは、画像形成装置１、クライアント端末２、ファイルサーバ３及びワークフローサーバ４がネットワークを介して互いに接続されている。夫々の機器が接続されているネットワークは一般的にはオフィス等に敷設されたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であるが、インターネットなどの公衆回線を介しても良い。
【００１３】
画像形成装置１は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機である。また、画像形成装置１は、ワークフローサーバ４にワークフローを実行させるためにユーザがジョブを入力するためのユーザインタフェースとしても用いられる。尚、スキャンにより処理対象の画像を入力する場合には、画像形成装置１に搭載されたスキャナが用いられる。従って、画像形成装置１は画像入力装置としても機能する。
【００１４】
クライアント端末２は、ユーザが操作する情報処理端末であり、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置によって実現される。ユーザはクライアント端末２を操作してワークフローサーバ４にアクセスすることにより、自らが操作して入力したジョブが完了する予想時間を閲覧することが可能である。
【００１５】
ファイルサーバ３は、上述したワークフローの実行の結果、画像情報が蓄積されるデータサーバである。ファイルサーバ３が記憶している画像情報とは、例えば拡張子“ｊｐｇ”や“ｐｄｆ”等の画像情報である。
【００１６】
ワークフローサーバ４は、複数の処理が組み合わせられて構成されたワークフローに従って入力された画像を処理し、ファイルサーバ３への格納やメール配信等を行う画像処理装置である。また、本実施形態に係るワークフローサーバ４は、画像形成装置１から受信して受け付けたワークフローの実行命令であるジョブについて、処理が完了するまでの予想時間を算出し、ユーザに対して提示するための機能を有する。このワークフローサーバ４の機能が本実施形態に係る特徴的な機能である。
【００１７】
尚、図１に示す運用形態の他、ワークフローサーバ４に含まれる機能の一部をワークフローサーバ４とは別に設けた装置に担わせる多様も可能である。このような態様は、例えば大規模なオフィス等、ユーザ数が多いために、ワークフローサーバの処理負荷が高くなる場合において、有効である。ワークフローサーバ４から切り離す機能としては、例えば本実施形態に係る特徴的な機能である処理が完了するまでの予想時間に関する機能である。
【００１８】
また、画像形成装置１にワークフローサーバ４の機能の一部または全部を担わせることも可能である。例えば小規模なオフィスにおいては、画像形成装置１とは別個にワークフローサーバ４を設けるのではなく、画像形成装置１にワークフローサーバ４の機能をインストールすることにより画像形成装置１のみで機能を完結する場合がある。このような態様により、冗長な性能の効率化や省スペース化を図ることが可能である。
【００１９】
次に、本実施形態に係る画像形成装置１、クライアント端末２、ファイルサーバ３及びワークフローサーバ４等を実現するための情報処理装置のハードウェア構成について説明する。図２は、本実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。尚、画像形成装置１は、図２に示すハードウェア構成に加えて、スキャナ、プリンタ等を実現するためのエンジンを備える。
【００２０】
図２に示すように、本実施形態に係る情報処理装置は、一般的なサーバやＰＣ等と同様の構成を有する。即ち、本実施形態に係る情報処理装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス８０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。
【００２１】
ＣＰＵ１０は演算手段であり、情報処理装置全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００２２】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、ユーザが情報処理装置の状態を確認するために各種の情報を表示する視覚的ユーザインタフェースである。操作部７０は、キーボード、マウス、ハードキー等、ユーザが情報処理装置に情報を入力するためのユーザインタフェースである。尚、本実施形態に係るファイルサーバ３及びワークフローサーバ４は、サーバとして運用される。従って、ＬＣＤ６０及び操作部７０等のユーザインタフェースは省略可能である。
【００２３】
このようなハードウェア構成において、ＲＯＭ３０に格納されたプログラムやＨＤＤ４０若しくは図示しない光学ディスク等の記憶媒体からＲＡＭ２０に読み出されたプログラムに従ってＣＰＵ１０が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１やワークフローサーバ４等の情報処理装置の機能を実現する機能ブロックが構成される。
【００２４】
次に、本実施形態に係る画像形成装置１の機能構成について、図３を参照して説明する。図３は、本実施形態に係る画像形成装置１の機能構成を示すブロック図である。図３に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）１０１、スキャナユニット１０２、排紙トレイ１０３、ディスプレイパネル１０４、給紙テーブル１０５、プリントエンジン１０６、排紙トレイ１０７及びネットワークＩ／Ｆ１０８を有する。
【００２５】
また、コントローラ１００は、主制御部１１０、エンジン制御部１２０、画像処理部１３０、操作表示制御部１４０及び入出力制御部１５０を含む。図３に示すように、本実施形態に係る画像形成装置１は、スキャナユニット１０２、プリントエンジン１０６を有する複合機として構成されている。尚、図３においては、電気的接続を実線の矢印で示しており、用紙若しくは文書束の流れを破線の矢印で示している。
【００２６】
ディスプレイパネル１０４は、情報を表示する視覚的出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置１を直接操作し、若しくは画像形成装置１に対して情報を入力する際の入力インタフェース（操作部）でもある。ディスプレイパネル１０４は、図２に示すＬＣＤ６０及び操作部７０によって実現される。
【００２７】
ネットワークＩ／Ｆ１０８は、画像形成装置１がネットワークを介して他の機器と通信するためのインタフェースであり、例えばＥｔｈｅｒｎｅｔ（登録商標）インタフェースが用いられる。ネットワークＩ／Ｆ１０８は、図２に示すＩ／Ｆ５０によって実現される。また、ネットワークＩ／Ｆ１０８には、ＦＡＸモデムとしての機能も含まれ、画像形成装置１がネットワークを介してＦＡＸ送受信を行うためのインタフェースとしても機能する。
【００２８】
コントローラ１００は、上述したようにソフトウェアとハードウェアとの組み合わせによって構成される。コントローラ１００は、画像形成装置１全体を制御する制御部として機能する。
【００２９】
主制御部１１０は、コントローラ１００に含まれる各部を制御する役割を担い、コントローラ１００の各部に命令を与える。エンジン制御部１２０は、プリントエンジン１０６やスキャナユニット１０２等を制御若しくは駆動する駆動手段としての役割を担う。画像処理部１３０は、主制御部１１０の制御に従い、印刷出力すべき画像情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン１０６が画像形成動作において形成すべき画像を描画するための情報である。
【００３０】
また、画像処理部１３０は、スキャナユニット１０２から入力される撮像データを処理し、画像データを生成する。この画像データとは、スキャナ動作の結果物として画像形成装置１の記憶領域に格納され若しくはネットワークＩ／Ｆ１０８を介してクライアント端末２やファイルサーバ３に送信される情報である。このようにして生成されたスキャン画像が、ワークフローサーバ４に対して送信されてワークフローによって処理される入力画像として用いられる。
【００３１】
操作表示制御部１４０は、ディスプレイパネル１０４に情報表示を行い若しくはディスプレイパネル１０４を介して入力された情報を主制御部１１０に通知する。入出力制御部１５０は、ネットワークＩ／Ｆ１０８を介して入力される情報を主制御部１１０に入力する。また、主制御部１１０は、入出力制御部１５０を制御し、ネットワークＩ／Ｆ１０８及びネットワークを介して他の機器にアクセスする。
【００３２】
画像形成装置１がプリンタとして動作する場合は、まず、入出力制御部１５０がネットワークＩ／Ｆ１０８を介して印刷ジョブを受信する。入出力制御部１５０は、受信した印刷ジョブを主制御部１１０に転送する。主制御部１１０は、印刷ジョブを受信すると、画像処理部１３０を制御して印刷ジョブに含まれる文書情報若しくは画像情報に基づいて描画情報を生成させる。
【００３３】
画像処理部１３０によって描画情報が生成されると、エンジン制御部１２０は、プリントエンジン１０６を制御し、上記生成された描画情報に基づき、給紙テーブル１０５から搬送される用紙に対して画像形成を実行させる。プリントエンジン１０６の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン１０６によって画像形成が施された文書は排紙トレイ１０７に排紙される。
【００３４】
画像形成装置１がスキャナとして動作する場合は、ユーザによるディスプレイパネル１０４の操作若しくはネットワークＩ／Ｆ１０８を介して外部のクライアント端末２等から入力されるスキャン実行指示に応じて、操作表示制御部１４０若しくは入出力制御部１５０が主制御部１１０にスキャン実行信号を転送する。主制御部１１０は、受信したスキャン実行信号に基づき、エンジン制御部１２０を制御する。
【００３５】
エンジン制御部１２０は、ＡＤＦ１０１を駆動し、ＡＤＦ１０１にセットされた撮像対象原稿をスキャナユニット１０２に搬送する。また、エンジン制御部１２０は、スキャナユニット１０２を駆動し、ＡＤＦ１０１から搬送される原稿を撮像する。また、ＡＤＦ１０１に原稿がセットされておらず、スキャナユニット１０２に直接原稿がセットされた場合、スキャナユニット１０２は、エンジン制御部１２０の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット１０２が撮像部として動作する。
【００３６】
撮像動作においては、スキャナユニット１０２に含まれるＣＣＤ等の撮像素子が原稿を光学的に走査し、光学情報に基づいて生成された撮像情報が生成される。エンジン制御部１２０は、スキャナユニット１０２が生成した撮像情報を画像処理部１３０に転送する。画像処理部１３０は、主制御部１１０の制御に従い、エンジン制御部１２０から受信した撮像情報に基づき画像情報を生成する。画像処理部１３０が生成した画像情報はＨＤＤ４０等の画像形成装置１に装着された記憶媒体に保存される。
【００３７】
画像処理部１３０によって生成された画像情報は、ユーザの指示に応じてそのままＨＤＤ４０等に格納され若しくは入出力制御部１５０及びネットワークＩ／Ｆ１０８を介してワークフローサーバ４等の外部の装置に送信される。
【００３８】
また、画像形成装置１が複写機として動作する場合は、エンジン制御部１２０がスキャナユニット１０２から受信した撮像情報若しくは画像処理部１３０が生成した画像情報に基づき、画像処理部１３０が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部１２０がプリントエンジン１０６を駆動する。尚、描画情報と撮像情報との情報形式が同一である場合は、撮像情報をそのまま描画情報として用いることも可能である。
【００３９】
次に、本実施形態に係るワークフローサーバ４の機能構成について図４を参照して説明する。図４に示すように、ワークフローサーバ４は、ネットワークＩ／Ｆ４１０及びワークフローコントローラ４００を含む。ネットワークＩ／Ｆ４１０は、ワークフローサーバ４がネットワークを介して他の機器と通信するためのインタフェースであり、例えばＥｔｈｅｒｎｅｔ（登録商標）インタフェースが用いられる。
【００４０】
ワークフローコントローラ４００は、ワークフローサーバ４による画像処理及び配信機能を実現する構成である。以下、ワークフローコントローラ４００に含まれる夫々のモジュールについて説明する。ジョブ取得部４０１は、画像形成装置１から送信されたワークフローのジョブをネットワークＩ／Ｆ４１０を介して取得し、ジョブキュー４０２に格納する。即ち、ジョブ取得部４０１が、ワークフローの実行命令であるジョブを取得する実行命令取得部として機能する。これにより、ジョブキュー４０２は、ワークフローサーバ４が受信した順にワークフローのジョブをキューとして保持する。
【００４１】
フロー実行制御部４０３は、ジョブキュー４０２に格納されたワークフローのジョブを、順番に取得して実行制御を行う。フロー実行制御部４０３は、ワークフローの実行制御を行うためのフレームワークと、ジョブにおいて指定されている様々な処理に対応する各種のプラグインによって構成される。
【００４２】
図５を参照して、フロー実行制御部４０３の詳細について説明する。図５に示すように、フロー実行制御部４０３は、ワークフローフレームワーク４３０、入力プラグイン４３１、処理プラグイン４３２、出力プラグイン４３３を含む。ワークフローフレームワーク４３０は、ジョブキュー４０２に格納されたワークフローのジョブを解読し、指定されている処理に応じて入力プラグイン４３１、処理プラグイン４３２、出力プラグイン４３３の夫々に処理を割り振る。
【００４３】
入力プラグイン４３１は、画像の入力に係るプラグインであり、スキャンプラグイン４３４、フォルダプラグイン４３５等を含む。スキャンプラグイン４３４は、画像形成装置１においてスキャンによって生成された画像情報を取得するための機能を提供するプラグインである。フォルダプラグイン４３５は、画像形成装置１、クライアント端末２、ファイルサーバ３等においてネットワークに対して公開されている共有フォルダから指定された画像情報を取得するための機能を提供するプラグインである。
【００４４】
処理プラグイン４３２は、ワークフローにおいて実行される画像処理に係るプラグインであり、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）プラグイン４３６、画像補正プラグイン４３７、条件分岐プラグイン４３８等を含む。ＯＣＲプラグイン４３６は、処理対象の画像に対してＯＣＲ処理を実行し、画像において表示される文字情報を生成する機能を提供するプラグインである。
【００４５】
画像補正プラグイン４３７は、処理対象の画像に対して、色調整やサイズ変更等の指定された画像補正を行う機能を提供するプラグインである。条件分岐プラグイン４３８は、直接画像処理を行う機能とは異なり、指定された条件に従ってワークフローの処理を切り替える機能を提供するプラグインである。詳細は後述する。
【００４６】
出力プラグイン４３３は、画像の出力に係るプラグインであり、メール配信プラグイン４３９、フォルダ配信プラグイン４４０を含む。メール配信プラグイン４３９は、ワークフローによって処理された結果の画像情報を指定されたメールアドレスに送信する機能を提供するプラグインである。フォルダ配信プラグイン４４０は、ワークフローによって処理された結果の画像情報を指定されたフォルダに格納する機能を提供するプラグインである。
【００４７】
プラグイン情報記憶部４０４は、図５に示すような各種のプラグインに関する情報を記憶している。フロー実行制御部４０３は、プラグイン情報記憶部４０４に記憶された情報に基づき、図５に示すような機能構成を実現する。
【００４８】
フロー定義記憶部４０５は、ユーザや管理者によって設定されたワークフローの定義情報、即ち、どのように画像情報を入力し、どのように画像情報を処理し、どのように画像情報を出力するかが定められた情報を記憶している。ここで、ワークフローの一例について図６を参照して説明する。
【００４９】
図６は、ワークフローの一例を示す図である。図６の例では、「スキャン」によって入力された画像情報について、「画像補正」が行われた後、所定の条件に該当する場合には「ＯＣＲ」処理の後に「メール配信」が行われ、他の条件の場合には「フォルダ配信」を行うことが指定されている。このようにワークフローの構成によっては、複数のプラグインの実行順が所定の条件に応じて分岐し、複数の処理経路が形成される場合がある。
【００５０】
図７は、図６に対応するワークフローを定義するフロー定義情報を示す図である。本実施形態に係るフロー定義情報においては、処理を実行する順序を示す“処理順”に従い、処理を指定する「プラグイン名」及び処理の詳細を指定する「パラメータ」が特定されている。フロー実行制御部４０３は、図７に示すようなフロー定義情報に従い、ワークフローの実行を制御する。
【００５１】
尚、図７に示すように、フロー定義情報において“パラメータ”が指定されているが、フローの実行に際して異なるパラメータが指定される場合もある。そのようなパラメータはジョブ内に記述されており、フロー実行制御部４０３は、ジョブにおいて記述されたパラメータに従ってワークフローの実行を制御する。
【００５２】
フロー定義管理部４０６は、図７に示すフロー定義情報の管理を行う。フロー定義管理部４０６が担う機能には、フロー定義記憶部４０５への新たなフロー定義情報の登録機能や、既に登録されているフロー定義情報の編集機能が含まれる。ユーザまたは管理者は、画像形成装置１やクライアント端末２を操作してワークフローコントローラ４００との間で情報をやり取りし、フロー定義情報の登録や編集を行う。
【００５３】
処理時間算出部４０７は、ジョブキュー４０２に格納されたワークフローのジョブについて処理に要する時間を算出し、処理時間情報記憶部４０８に記憶させる。処理時間算出部４０７は、ジョブキュー４０２に格納されたジョブについて処理に要する時間を算出する際、夫々のジョブに含まれる処理に要する時間の算出結果を積算して１つのジョブに要する時間を算出する。そのため、処理時間算出部４０７は、図５に示すようにプラグインとして提供される各処理に要する時間の予想値を示す予想時間テーブルを保持している。
【００５４】
図８は、本実施形態に係る予想時間テーブルの例を示す図である。図８に示すように予想時間テーブルは、各処理に対応したプラグインを示す“プラグイン名”、各処理に要する時間の予想値である“処理時間”、各処理の処理時間を実際に計測した回数である“計測回数”が関連付けられた情報である。
【００５５】
図８に示すように、処理に要する時間の予想値がプラグイン毎に設定された情報を参照することにより、夫々異なる処理が指定されたジョブについての完了予想時間を容易に算出することが可能である。即ち、本実施形態に係る予想時間テーブルは、ワークフローにおいて実行される複数の処理夫々について、処理に要する時間が関連付けられた情報であり、これを保持している処理時間算出部４０７が予想時間テーブル記憶部としても機能する。
【００５６】
また、本実施形態に係るワークフローサーバ４においては、実際の各プラグインについての処理が実行される際に処理に要した時間が計測され、図８に示すように保存されている“処理時間”及び“計測回数”に基づいて平均化処理が行われる。これにより、予想時間テーブルにおける“処理時間”の値の精度を高めることが出来る。
【００５７】
ここで、図８に示す“処理時間”は、予め定められた特定の条件における予想値である。例えば「画像補正」の場合、画像のページ数、画像サイズを示す画素数、画像において文字、図形、写真等が表示されている範囲や大きさに応じて処理時間が変化する。従って、処理時間算出部４０７は、図９に示すような基準ジョブ情報を保持している。
【００５８】
図９に示すように、基準ジョブ情報は、ジョブにおける処理対象の画像の“ページ数”、画像を構成する画素を示す“画素数”、画像において余白ではない部分、即ち有色である画素を示す“有色画素数”を含む。換言すると、図８に示す“処理時間”は、図９に示す基準ジョブ情報を条件として計測された結果である。
【００５９】
従って、処理時間算出部４０７は、図９に示すように予め定められた条件と、ジョブにおいて指定されているパラメータの値との差異に基づいて、図８に示す“処理時間”を調整することにより、各プラグインについての処理時間を算出する。仮にページ数が２ページのジョブの処理時間を計算する場合、処理時間算出部４０７は予想時間テーブルの“処理時間”を２倍する。また、画素数が２０００×２０００の画像についての処理時間を計算する場合、処理時間算出部４０７は、予想時間テーブルの“処理時間”を４倍する。
【００６０】
尚、処理の内容によっては、“ページ数”、“画素数”、“有色画素数”が処理時間に影響しない場合もある。例えば、処理によっては、画像を構成する画素が有色であろうと無色であろうと全ての画素を処理するため、“有色画素数”が処理時間に影響しない場合もある。従って、処理時間算出部４０７は、図１０に示すような参照パラメータ情報を保持している。
【００６１】
図１０に示すように、本実施形態に係る参照パラメータ情報においては、夫々の処理に対応する“プラグイン名”について、“ページ数”、“画素数”、“有色画素数”夫々が処理時間の算出に対して「有効」であるか「無効」であるかが関連付けられている。図１０の例においては、“ページ数”、“画素数”は全てのプラグインに対して「有効」であり、“有色画素数”は「ＯＣＲ」のみ「有効」である。換言すると、参照パラメータ情報は、各プラグインについて処理に要する時間の算出に際して考慮するべきパラメータ項目が指定された情報である。
【００６２】
図８〜図１０に示す情報は、処理時間算出部４０７が保持している他、例えばプラグインに関する情報としてプラグイン情報記憶部４０４に記憶されている。この場合、プラグイン情報記憶部４０４が予想時間テーブル記憶部として機能する。この他、処理時間算出部４０７、プラグイン情報記憶部４０４とは別にこれらの情報を記憶する記憶部を設けても良い。
【００６３】
処理時間情報記憶部４０８は、このような処理によって処理時間算出部４０７により算出された処理時間情報を記憶する。図１１は、本実施形態に係る処理時間情報の例を示す図である。図１１に示すように、本実施形態に係る処理時間情報は、“ジョブ名”、“発生時間”、“予想処理時間”、“送信者”、“ジョブ完了”、“完了までの時間”が夫々関連付けられた情報である。
【００６４】
“ジョブ名”は、ジョブキュー４０２に格納されているジョブのいずれかを識別する識別子である。“発生時間”は、そのジョブが画像形成装置１におけるユーザの操作に従ってワークフローサーバ４に送信されたタイミングを示す。“予想処理時間”は、処理時間算出部４０７によって計算された各ジョブの処理に要する時間の予想値である。
【００６５】
“送信者”は、各ジョブを送信したユーザを識別する識別子である。“ジョブ完了”は、ジョブが完了したか否かを示す情報である。“完了までの時間”は、夫々のジョブが完了するまでに要する時間を示す情報であり、典型的には“予想処理時間”の積算値である。また、“完了までの時間”は、各ジョブが実行制御されて各プラグインの処理が完了する度に更新される。
【００６６】
処理時間情報管理部４０９は、画像形成装置１やクライアント端末２からの要求に応じて、処理時間情報記憶部４０８に記憶されている処理時間情報を表示するための情報を生成して送信する。即ち、処理時間情報管理部４０９が、予想処理時間を提示するための提示情報を出力する予想処理時間出力部として機能する。
【００６７】
次に、本実施形態に係る画像処理システムの動作のうち、ワークフロージョブがワークフローサーバ４に入力される際の動作について図１２を参照して説明する。図１２に示すように、まずは画像形成装置１がユーザによるディスプレイパネル１０４への操作を受け付け（Ｓ１２０１）、ジョブの選択やパラメータの決定を行う。そして、ユーザの操作に従い、画像形成装置１がワークフローのジョブをワークフローサーバ４に送信する（Ｓ１２０２）。
【００６８】
尚、スキャンによる画像入力の場合、Ｓ１２０２において画像形成装置１がスキャンを実行した上で生成された画像情報と共にワークフローサーバ４に対してジョブを送信する。この他、ワークフローサーバ４にジョブが送信された上で、画像形成装置１がワークフローサーバ４からスキャンの実行命令を受けてスキャンを実行しても良い。
【００６９】
ワークフローのジョブを受信したワークフローサーバ４においては、ジョブ取得部４０１がジョブを取得し、ジョブキュー４０２に記憶させる（Ｓ１２０３）。ジョブキュー４０２に新たなジョブが記憶されると、処理時間算出部４０７は、新たに記憶されたジョブについて図８、図９において説明したように予想処理時間を算出し、図１１において説明したような処理時間情報のレコードを生成する（Ｓ１２０４）。
【００７０】
上述したように、本実施形態に係る処理時間算出部４０７は、図７に示すようにフロー定義情報において指定されている各プラグインについて、図８に示す予想時間テーブルにおける“処理時間”の値に基づいて算出した処理時間を積算する。これにより、１つのジョブに含まれる各プラグインの処理が完了し、ジョブが完了するまでに要する時間が算出される。
【００７１】
他方、図６において説明したように、ワークフローの構成によっては分岐が発生し、ワークフローが実行制御された場合に実際に実行されるプラグインが不明な場合もある。従って、本実施形態に係る処理時間算出部４０７は、全経路について処理時間を算出し、その平均値をとることによって１つのジョブについての予想処理時間を算出する。これらの処理の詳細については後述する。
【００７２】
新たな処理時間情報のレコードを追加した処理時間算出部４０７は、図１１に示す“完了までの時間”を更新する（Ｓ１２０５）。Ｓ１２０５において処理時間算出部４０７は、既に格納されている処理時間情報の“完了までの時間”に、新たに追加されたレコードの“予想処理時間”を加算することにより、新たに追加されたレコードの“完了までの時間”を算出して更新する。
【００７３】
Ｓ１２０５までの処理により、新たなジョブがワークフローサーバ４に入力された際の動作が完了する。このような処理により図１１に示すような処理時間情報が生成されることにより、ユーザは、画像形成装置１やクライアント端末２を介してワークフローサーバ４にアクセスして、自身が送信したジョブの完了までに要する予想時間を参照することが可能となる。
【００７４】
予想時間を画像形成装置１から参照する場合、図１２に示すように、ユーザは画像形成装置１のディスプレイパネル１０４に対して予想処理時間の確認画面を要求するための操作を行う。そのようなユーザの操作に応じて、画像形成装置１はワークフローサーバ４に対して予想処理時間を要求する（Ｓ１２０６）。
【００７５】
予想処理時間の要求はワークフローサーバ４において処理時間情報管理部４０９が取得する。Ｓ１２０６において送信される要求には、予想処理時間を要求したユーザの識別子が含まれる。処理時間情報管理部４０９は、要求に含まれるユーザの識別子に基づいて処理時間情報記憶部４０８に記憶された処理時間情報を検索し、“送信者”が対応するレコードを抽出して要求元である画像形成装置１に送信する（Ｓ１２０７）。
【００７６】
ワークフローサーバ４から処理時間情報を受信した画像形成装置１においては、コントローラ１００の機能により、ディスプレイパネル１０４等の表示装置に予想処理時間が表示される（Ｓ１２０８）。即ち、画像形成装置１の主制御部１１０や操作表示制御部１４０が表示処理部として機能する。図１３は、このようにして表示された予想処理時間確認画面の例を示す図である。図１３においては、「ｕｓｅｒ００２」によって識別されるユーザにより予想処理時間が要求された場合を例としている。図１３に示すような表示により、ユーザは、自身が入力したジョブが完了するまでに要する時間の予想値を把握することが可能となる。
【００７７】
尚、図１２においては画像形成装置１において予想処理時間を参照する場合を例としているが、クライアント端末２の場合も同様である。即ち、ワークフローサーバ４がクライアント端末２からの要求に応じて情報を送信することにより、図１３に示す画面がクライアント端末２において表示される。この場合、クライアント端末２において情報を表示するためのモジュールが表示処理部として機能する。
【００７８】
次に、本実施形態に係るフロー実行制御部４０３によるジョブの実行制御動作について図１４を参照して説明する。図１４に示すように、まずはフロー実行制御部４０３のワークフローフレームワーク４３０がジョブキュー４０２に記憶されるジョブのキューを確認し、順番にジョブを取得する（Ｓ１４０１）。
【００７９】
ジョブを取得したワークフローフレームワーク４３０は、ジョブにおいて図７に示すように指定されている各プラグインを順番に選択し（Ｓ１４０２）、選択したプラグインが条件分岐プラグインであるか否かを確認する（Ｓ１４０３）。Ｓ１４０３の判断の結果、条件分岐プラグイン以外であった場合（Ｓ１４０３／ＹＥＳ）、ワークフローフレームワーク４３０は、対応するプラグインに処理を実行させる（Ｓ１４０４）。
【００８０】
１つのプラグインの処理が完了すると、フロー実行制御部４０３は処理時間算出部４０７に完了したプラグインを指定する情報を通知する。これにより、処理時間算出部４０７は、完了したプラグインについて図８〜図１０に示す情報により算出される処理時間を、そのプラグインが含まれるジョブに対応する図１１のレコードにおける“完了までの時間”から減算する（Ｓ１４０５）。即ち、処理時間算出部４０７は、各プラグインの処理が実行される度に、実行された処理について算出された処理時間を予想処理時間から差し引く。これにより、実行中のジョブに係る“完了までの時間”が最新の情報に更新される。
【００８１】
Ｓ１４０５の減算処理を行うと、続いて処理時間算出部４０７は、Ｓ１４０５において“完了までの時間”の減算処理を行ったジョブ以降のジョブについて、“完了までの時間”を更新する（Ｓ１４０６）。これにより、各ジョブについての“完了までの時間”が最新の情報に更新される。
【００８２】
また、１つのプラグインの処理に際してワークフローフレームワーク４３０は、処理に要した時間を計測して実測値を取得し、その計測結果を処理時間算出部４０７に通知する。処理に要した時間の実測値を取得した処理時間算出部４０７は、取得した計測時間を用いて、図８に示す予想時間テーブルの“処理時間”及び“計測回数”を更新する（Ｓ１４０７）。
【００８３】
Ｓ１４０７において処理時間算出部４０７は、以下の式（１）の計算により予想時間テーブルの更新を行う。ここで、更新前の処理時間をＴｎ、更新後の処理時間をＴｎ＋１更新前の計測回数をｎ、新たに算出された計測時間をＴｎｅｗとする。このような処理により、上述したように、予想時間テーブルにおける“処理時間”の値の精度を高めることが出来る。
2017059940.tif 000003
【００８４】
ワークフローフレームワーク４３０は、ジョブに含まれる全プラグインについて処理を行いジョブが完了するまでＳ１４０２からの処理を繰り返し（Ｓ１４０８／ＮＯ）、全プラグインの処理を行ってジョブが完了したら（Ｓ１４０８／ＹＥＳ）、処理を終了する。
【００８５】
Ｓ１４０３の判断において、選択したプラグインが条件分岐プラグインであった場合（Ｓ１４０３／ＮＯ）、ワークフローフレームワーク４３０は、条件分岐プラグインに処理を実行させ、設定されたパラメータに従って分岐判断を行う。これにより、次にプラグインを選択するべき経路が決定される（Ｓ１４０９）。
【００８６】
フロー実行制御部４０３は、Ｓ１４０９の処理により分岐経路を決定すると、決定後の経路を処理時間算出部４０７に通知する。これにより、処理時間算出部４０７は、決定後の経路についてＳ１２０４と同様の処理により予想処理時間を再計算し、その計算結果により図１１に示す“完了までの時間”を更新する（Ｓ１４１０）。
【００８７】
上述したように、Ｓ１２０４の処理において処理時間算出部４０７は、ワークフローに条件分岐プラグインが含まれる場合、全経路について予想処理時間を算出した上でその平均値をジョブについての予想処理時間とする。従って、平均値のバラつきによっては、算出結果と実際の値との差異が大きくなる。
【００８８】
これに対し、Ｓ１４０９の処理によって条件分岐が決定される毎にＳ１４１０の処理によって分岐後の経路での“完了までの時間”が更新されれば、それ以降、予想処理時間が参照された際には、ユーザに対してより正確な予想処理時間を提示することが出来る。Ｓ１４１０の処理の後、ワークフローフレームワーク４３０は、Ｓ１４０２からの処理を繰り返す。このような処理により、本実施形態に係るワークフローの実行制御動作が行われる。
【００８９】
次に、本実施形態に係る図１２のＳ１２０４における予想処理時間の算出動作について説明する。上述したように、本実施形態に係る予想処理時間の算出動作には、条件分岐プラグインの有無に応じた経路別の処理時間の算出及び平均化処理が含まれる。
【００９０】
図１５に示すように、処理時間算出部４０７は、予想処理時間を算出する対象のジョブの情報を参照すると、先頭から順番にプラグインを選択する（Ｓ１５０１）。そして、選択したプラグインが条件分岐プラグインであるか否かを判断する（Ｓ１５０２）。Ｓ１５０２の判断の結果、条件分岐プラグイン以外であった場合（Ｓ１５０２／ＹＥＳ）、処理時間算出部４０７は、上述したように図８〜図１０に示す情報とジョブにおいて処理対象となっている画像のページ数等の情報に基づき、処理時間を算出して積算する（Ｓ１５０３）。
【００９１】
処理時間算出部４０７は、選択したプラグインがフローの終点に到達するまで、Ｓ１５０１からの処理を繰り返す（Ｓ１５０４／ＮＯ）。他方、Ｓ１５０２の判断において条件分岐プラグインであった場合（Ｓ１５０２／ＮＯ）、処理時間算出部４０７は、分岐路の１つを選択し（Ｓ１５０７）、図１６に示すような分岐フラグの情報を設定する（Ｓ１５０８）。
【００９２】
図１６に示すように、分岐フラグの情報は、条件分岐プラグインがフローのどの部分であるかを示す“プラグイン番号”、Ｓ１５０７で選択した分岐路を示す“選択済み分岐路”及び分岐時点での予想処理時間の積算値を示す“分岐時点算出値”を含む。分岐フラグ情報を生成すると、処理時間算出部４０７は、Ｓ１５０７において選択された分岐経路について、Ｓ１５０１からの処理を繰り返す。
【００９３】
Ｓ１５０４においてフロー終点に到達すると（Ｓ１５０４／ＹＥＳ）、処理時間算出部４０７は、分岐フラグが設定されているか否かを確認する（Ｓ１５０５）。その結果、図１６に示すように分岐フラグが設定されていれば（Ｓ１５０５／ＮＯ）、処理時間算出部４０７は、分岐フラグの“選択済み分岐路”に基づいてみ選択の分岐路を選択する（Ｓ１５０９）。
【００９４】
そして、処理時間算出部４０７は、“プラグイン番号”によって示されるワークフローの分岐時点を処理中のプラグインとして再度読み込むと共に、“分岐時点算出値“を予想処理時間の積算値として読み込み、分岐フラグを消去する（Ｓ１５１０）。この際、処理時間算出部４０７は、図１７に示すように、フロー終点まで計算が終了した予想処理時間を、経路毎に記憶する。
【００９５】
そして、処理時間算出部４０７は、Ｓ１５０１からの処理を繰り返す。これにより、条件分岐プラグインによって経路が分岐した際の残りの経路について処理時間の算出が実行されることとなる。尚、図６の場合には１つの条件分岐プラグインによって経路が２つに分かれている場合を例としているが、プラグインに係るパラメータの設定によっては３つ以上に経路が分かれることもある。その場合、処理時間算出部４０７は、Ｓ１５１０において、全ての経路を選択するまで分岐フラグを消去せずに処理を繰り返す。
【００９６】
他方、Ｓ１５０８の処理を経ていない、若しくはＳ１５１０の処理を経ることにより分岐フラグが消去されている場合（Ｓ１５０５／ＹＥＳ）、処理時間算出部４０７は、図１７に示すように、複数の経路について算出された予想処理時間の平均化処理を行う（Ｓ１５０６）。このような処理により、１つのジョブについての予想処理時間が算出される。
【００９７】
以上説明したように、本実施形態に係る画像処理システムによれば、ワークフローを構成するための各プラグインについて、処理に要する時間が設定された予想時間テーブルが予め用意されている。従って、ワークフローサーバ４は、予想時間テーブルに設定された処理時間を積算することにより、ジョブの完了までに要する時間を算出することが出来る。そのため、複数の画像処理が組み合わされて構成されるワークフローシステムにおいて、入力された処理命令の完了予測タイミングの操作者への通知が可能となる。
【００９８】
尚、上記実施形態においては、図１５において説明したように、各ジョブの予想処理時間を算出する際、ワークフローの先頭から順にプラグインを選択し、分岐がある場合には図１６にしめす分岐フラグによって処理を行う場合を例として説明した。この他、フローの終点から逆にプラグインを選択して各経路の平均値を算出しながら処理を行うことによっても同様の効果を得ることが可能である。そのような態様について図１８を参照して説明する。
【００９９】
図１８に示すように、処理時間算出部４０７は、図６に示すように定義されているワークフローの終点を１つ選択し（Ｓ１８０１）、終点から上流側に向かって順番にプラグインを選択する（Ｓ１８０２）。そして、選択したプラグインが条件分岐プラグインであるか否かを確認する（Ｓ１８０３）。
【０１００】
選択したプラグインが条件分岐プラグイン以外であった場合（Ｓ１８０３／ＹＥＳ）、処理時間算出部４０７は、上記と同様に図８〜図１０の情報に基づいて選択したプラグインの処理時間を算出し、既に算出されている値と積算する（Ｓ１８０４）。そして、処理時間算出部４０７は、選択したプラグインがフローの始点に到達するまでＳ１８０２からの処理を繰り返す（Ｓ１８０５／ＮＯ）。
【０１０１】
他方、選択したプラグインが条件分岐プラグインである場合（Ｓ１８０３／ＮＯ）、次に処理時間算出部４０７は、その条件分岐プラグインによって分岐される他の経路について既に算出されて記憶されている値（以降、「他経路値」とする）があるか否か確認する（Ｓ１８０６）。
【０１０２】
他経路値がなければ（Ｓ１８０６／ＮＯ）、処理時間算出部４０７は、現在の積算値を保存し（Ｓ１８０８）、分岐の他の経路の終点を選択して（Ｓ１８０９）、Ｓ１８０２からの処理を繰り返す。これにより、他経路値が算出されることとなる。
【０１０３】
他経路値がある場合（Ｓ１８０６／ＹＥＳ）、処理時間算出部４０７は、既に算出されている他経路値と積算中の処理時間の値との平均値を算出し、その結果を積算中の処理時間の値とする（Ｓ１８０７）。そして、処理時間算出部４０７は、選択中の条件分岐プラグインの上流側のプラグインについてＳ１８０２からの処理を繰り返す。
【０１０４】
このような処理により、フローの始点まで処理が完了した際には、各経路についての処理時間が平均化された値が算出されることとなる。このような処理によっても、上記と同様に、条件分岐プラグインによって生じる各経路の予想処理時間が平均化された値を得ることが可能である。
【０１０５】
また、上記実施形態においては、全ての条件分岐プラグインについて、分岐する可能性のある各経路についての予想処理時間を算出して平均化処理を行う場合を例として説明した。これは、ワークフローが実行制御されるまでに、管理者またはユーザによってワークフローのジョブに含まれるパラメータの情報が変更される場合があり、分岐条件が確定しないという事情に基づく。
【０１０６】
他方、分岐の条件において参照されるパラメータによっては、ワークフローが実行制御されるまでの間に変更される可能性がなく、分岐経路を確定することが可能な場合もある。そのような場合にまであらゆる経路の予想処理時間を算出して平均化処理を行うことは、処理として非効率であると共に、より正確に算出可能な予想処理時間の精度を低下させることになる。
【０１０７】
従って、図１５の処理において、処理時間算出部４０７は、条件分岐プラグインにおいて指定されている分岐条件の内容に基づき、複数の経路について予想処理時間を算出するか否か判断しても良い。そのような態様について、図１９を参照して説明する。
【０１０８】
図１９に示すフローチャートは、概ね図１５のフローチャートと同一であり、同一のステップ番号を付す処理ブロックについては同一の処理を示す。図１５のフローチャートと異なるのは、Ｓ１５０１において選択したプラグインが条件分岐プラグインであった場合の処理である。
【０１０９】
選択したプラグインが条件分岐プラグインであった場合（Ｓ１５０２／ＮＯ）、処理時間算出部４０７は、その条件分岐プラグインにおいて分岐条件として指定されているパラメータが、経路の確定が不可能なパラメータであるか否か判断する（Ｓ１９０１）。Ｓ１９０１の判断のため、処理時間算出部４０７は、図２０に示すような分岐確定不可パラメータの情報を保持している。図２０の例においては、“指定時刻”、“配信先”が分岐確定不可パラメータとして指定されている。
【０１１０】
“指定時刻”は、ワークフローを実行制御するタイミングとして指定されている時刻であり、ユーザまたは管理者によって指定時刻が変更される可能性があることを示す。“配信先”は、出力プラグイン４３３によって処理結果の情報が配信される配信先を示す情報であり、ユーザまたは管理者によって配信先が変更される可能性があることを示す。
【０１１１】
Ｓ１９０１の判断の結果、分岐の確定が不可能である場合（Ｓ１９０１／ＹＥＳ）、処理時間算出部４０７は、図１５と同様に夫々の分岐路についての予想処理時間を算出して平均化するための処理を実行する。他方、分岐の確定が可能である場合（Ｓ１９０１／ＮＯ）、処理時間算出部４０７は、ジョブに含まれるパラメータに従って分岐条件を判断して確定される分岐経路を選択し（Ｓ１９０２）、選択した分岐経路のプラグインについてＳ１５０１からの処理を繰り返す。
【０１１２】
このような処理により、確定可能な分岐経路については余計な予想処理時間の算出や平均化処理を省略し、処理時間を短縮すると共に処理結果の精度を向上することが可能となる。
【０１１３】
また、上記実施形態においては、図１７に示すように各経路について算出された予想処理時間について無条件で平均化を行う場合を例として説明した。しかしながら、予想処理時間の算出結果について経路により大きな差がある場合、以下のような問題がある。
【０１１４】
例えば、１０分という算出結果と３０分という算出結果がある場合、その平均値は２０分となる。従って、ユーザには２０分という処理時間が提示される。しかしながら、実際の経路が３０分の経路であった場合、２０分が経過した時点で、処理が完了するまでに更に１０分を要する。
【０１１５】
その時点でユーザが図１３に示す予想処理時間確認画面を閲覧すれば、処理時間情報は図１４のＳ１４１０の処理によって更新されているため、正しい時間を知ることは可能である。しかしながら、ユーザにとっては更に１０分の待機時間が発生してしまい、ユーザにとっての利便性が低い。
【０１１６】
このような問題に対して、例えば、経路による予想処理時間の算出結果の差異が所定の閾値を超える場合には、値が大きい方をユーザに提示することにより、少なくともユーザが当初把握した予想処理時間を超えて待たされるような状態を回避することが出来る。そのような態様について図２１を参照して説明する。
【０１１７】
図２１に示すフローチャートは、概ね図１５のフローチャートと同一であり、同一のステップ番号を付す処理ブロックについては同一の処理を示す。図１５のフローチャートと異なるのは、Ｓ１５０５において分岐フラグなしと判断した後の処理である。
【０１１８】
Ｓ１５０８の処理を経ていない、若しくはＳ１５１０の処理を経ることにより分岐フラグが消去されている場合（Ｓ１５０５／ＹＥＳ）、処理時間算出部４０７は、図１７に示すように算出された各経路の予想処理時間の最大値と最小値の差分値を算出する。そして、算出した差分値と予め定められた閾値とを比較する（Ｓ２１０１）。
【０１１９】
Ｓ２１０１の比較の結果、差分値が閾値以下である場合、処理時間算出部４０７は、平均化しても大きな誤差は生じないと判断し、平均化処理を行う（Ｓ１５０６）。他方、差分値が閾値を超える場合（Ｓ２１０１／ＮＯ）、処理時間算出部４０７は、図１７に示すように各経路について算出された予想処理時間の最大値を選択し（Ｓ２１０２）、処理を終了する。
【０１２０】
このような処理により、上述したように、少なくともユーザが当初把握した予想処理時間を超えて待たされるような状態を回避することが出来る。
【符号の説明】
【０１２１】
１  画像形成装置
２  クライアント端末
３  ワークフローサーバ
４  ファイルサーバ
１０  ＣＰＵ
２０  ＲＡＭ
３０  ＲＯＭ
４０  ＨＤＤ
５０  Ｉ／Ｆ
６０  ＬＣＤ
７０  操作部
８０  バス
１００  コントローラ
１０１  ＡＤＦ
１０２  スキャナユニット
１０３  排紙トレイ
１０４  ディスプレイパネル
１０５  給紙テーブル
１０６  プリントエンジン
１０７  排紙トレイ
１０８  ネットワークＩ／Ｆ
１１０  主制御部
１２０  エンジン制御部
１３０  画像処理部
１４０  操作表示制御部
１５０  入出力制御部
４００  ワークフローコントローラ
４０１  ジョブ取得部
４０２  ジョブキュー
４０３  フロー実行制御部
４０４  プラグイン情報記憶部
４０５  フロー定義記憶部
４０６  フロー定義管理部
４０７  処理時間算出部
４０８  処理時間情報記憶部
４０９  処理時間情報管理部
４１０  ネットワークＩ／Ｆ
４３０  ワークフローフレームワーク
４３１  入力プラグイン
４３２  処理プラグイン
４３３  出力プラグイン
４３４  スキャンプラグイン
４３５  フォルダプラグイン
４３６  ＯＣＲプラグイン
４３７  画像補正プラグイン
４３８  条件分岐プラグイン
４３９  メール配信プラグイン
４４０  フォルダ配信プラグイン
【先行技術文献】
【特許文献】
【０１２２】
【特許文献１】特開２０１３−０２１５３２号公報
【図１】
2017059940.tif 000004
【図２】
2017059940.tif 000005
【図３】
2017059940.tif 000006
【図４】
2017059940.tif 000007
【図５】
2017059940.tif 000008
【図６】
2017059940.tif 000009
【図７】
2017059940.tif 000010
【図８】
2017059940.tif 000011
【図９】
2017059940.tif 000012
【図１０】
2017059940.tif 000013
【図１１】
2017059940.tif 000014
【図１２】
2017059940.tif 000015
【図１３】
2017059940.tif 000016
【図１４】
2017059940.tif 000017
【図１５】
2017059940.tif 000018
【図１６】
2017059940.tif 000019
【図１７】
2017059940.tif 000020
【図１８】
2017059940.tif 000021
【図１９】
2017059940.tif 000022
【図２０】
2017059940.tif 000023
【図２１】
2017059940.tif 000024