(57)【特許請求の範囲】
【請求項１】
１以上の処理が組み合わされたワークフローに従って入力された画像を処理する画像処理装置であって、
前記ワークフローに組み込むことが可能な処理、前記処理を実行可能な機器及び前記機器が前記処理を実行する際の機能の性能に関する情報が関連付けられた処理対応機器情報を記憶している処理対応機器情報記憶部と、
実行する前記ワークフローを指定する情報及びワークフローの実行に際して前記処理を実行する機器を選択する際の条件であって前記処理を実行する際に重視するべき性能を指定する情報を取得する指定情報取得部と、
夫々のワークフロー毎に、前記ワークフローを指定する情報と夫々のワークフローを構成する処理の情報とが関連付けられたフロー情報を参照して、前記指定されたワークフローに含まれる夫々の処理を判断し、取得された前記処理を実行する際に重視するべき性能を指定する情報と、前記処理対応機器情報における前記機器が前記処理を実行する際の機能の性能に関する情報とに基づき、前記機能の性能が、前記処理を実行する際に重視するべき性能に対応している機器を選択することによって前記指定されたワークフローに含まれる夫々の処理を実行する機器を選択する機器選択部と、
前記指定されたワークフローに含まれる各処理を、夫々前記選択された機器に実行させると共に前記各処理の実行結果を前記選択された機器から取得する処理実行制御部と、
前記取得された実行結果に基づき、前記処理対応機器情報を所定のタイミングで更新する処理対応機器情報更新部とを含み、
前記処理対応機器情報更新部は、前記ワークフローに組み込むことが可能な処理のサンプル用のデータによる実行命令を前記処理実行制御部に入力し、
前記処理実行制御部は、前記実行命令に係る処理を実行可能な機器に、その処理を実行させて前記処理結果を取得することを特徴とする画像処理装置。
【請求項２】
前記処理対応機器情報更新部は、前記処理実行制御部の動作状態に基づいて前記サンプル用のデータによる実行命令の出力を判断することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記処理対応機器情報更新部は、前記ワークフローに組み込むことが可能な処理の実行に要する料金に基づいて前記サンプル用のデータによる実行命令の出力を判断することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記処理対応機器情報更新部は、ネットワーク負荷を示す情報に基づいて前記サンプル用のデータによる実行命令の出力を判断することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記指定されたワークフローに含まれる各処理が完了した後、処理結果に対するフィードバックをユーザに入力させるためのフィードバック入力画面を表示するための情報を出力し、ユーザの操作に応じて前記フィードバックを取得するフィードバック取得部を含み、
前記処理対応機器情報更新部は、前記取得されたフィードバックに基づいて前記処理対応機器情報を更新することを特徴とする請求項１乃至４いずれかに記載の画像処理装置。
【請求項６】
前記フィードバック取得部は、前記取得したフィードバックを、前記指定されたワークフローに対するフィードバックとして記憶し、含まれる各処理の組み合わせ毎のフィードバックの差に基づいて、前記ワークフローに対するフィードバックを前記各処理に対するフィードバックに変換し、
前記処理対応機器情報更新部は、前記変換された前記各処理に対するフィードバックに基づいて前記処理対応機器情報を更新することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記フィードバック取得部は、前記処理の組み合わせ毎に夫々の処理を重み付けする情報に基づき、前記指定されたワークフローに対するフィードバックを夫々の処理に対するフィードバックに変換することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記処理対応機器情報は、前記機器が前記処理を実行した回数に関する情報を含み、
前記機器選択部は、前記処理を実行した回数が所定の閾値に達していない機器を前記処理を実行する機器として選択することを特徴とする請求項５乃至７いずれかに記載の画像処理装置。
【請求項９】
前記機器選択部は、前記処理対応機器情報における前記機器の状態に関する情報を取得し、動作可能な機器のみを選択対象とすることを特徴とする請求項１乃至８いずれかに記載の画像処理装置。
【請求項１０】
１以上の処理が組み合わされたワークフローに従って入力された画像を処理する画像処理方法であって、
実行する前記ワークフローを指定する情報及びワークフローの実行に際して前記処理を実行する機器を選択する際の条件であって前記処理を実行する際に重視するべき性能を指定する情報を取得して記憶媒体に記憶し、
夫々のワークフロー毎に、前記ワークフローを指定する情報と夫々のワークフローを構成する処理の情報とが関連付けられたフロー情報を参照して、前記指定されたワークフローに含まれる夫々の処理を判断し、
前記ワークフローに組み込むことが可能な処理、前記処理を実行可能な機器及び前記機器が前記処理を実行する際の機能の性能に関する情報が関連付けられ、所定のタイミングで更新される処理対応機器情報に基づき、前記機能の性能が、取得された前記処理を実行する際に重視するべき性能に対応している機器を選択することによって、前記指定されたワークフローに含まれる夫々の処理を実行する機器を選択して記憶媒体に記憶し、
前記指定されたワークフローに含まれる各処理を、夫々前記選択された機器に実行させるための制御信号を出力し、
前記ワークフローに組み込むことが可能な処理のサンプル用のデータによる実行命令を生成し、
前記サンプル用のデータによる実行命令に係る処理を実行可能な機器に、その処理を実行させて前記処理結果を取得し、
前記取得された実行結果に基づき、前記処理対応機器情報を更新することを特徴とする画像処理方法。
【請求項１１】
１以上の処理が組み合わされたワークフローに従って入力された画像を処理する画像処理プログラムであって、
実行する前記ワークフローを指定する情報及びワークフローの実行に際して前記処理を実行する機器を選択する際の条件であって前記処理を実行する際に重視するべき性能を指定する情報を取得して記憶媒体に記憶するステップと、
夫々のワークフロー毎に、前記ワークフローを指定する情報と夫々のワークフローを構成する処理の情報とが関連付けられたフロー情報を参照して、前記指定されたワークフローに含まれる夫々の処理を判断するステップと、
前記ワークフローに組み込むことが可能な処理、前記処理を実行可能な機器及び前記機器が前記処理を実行する際の機能の性能に関する情報が関連付けられ、所定のタイミングで更新される処理対応機器情報に基づき、前記機能の性能が、取得された前記処理を実行する際に重視するべき性能に対応している機器を選択することによって、前記指定されたワークフローに含まれる夫々の処理を実行する機器を選択して記憶媒体に記憶するステップと、
前記指定されたワークフローに含まれる各処理を、夫々前記選択された機器に実行させるための制御信号を出力するステップと、
前記ワークフローに組み込むことが可能な処理のサンプル用のデータによる実行命令を生成するステップと、
前記サンプル用のデータによる実行命令に係る処理を実行可能な機器に、その処理を実行させて前記処理結果を取得するステップと、
前記取得された実行結果に基づき、前記処理対応機器情報を更新するステップとを情報処理装置に実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関し、特に、複数の処理が組み合わされた一連の画像処理における、各処理の実行機器の選択に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）として構成されることが多い。
【０００３】
また、このように電子化された文書を文書管理サーバに蓄積し若しくは指定された配信先に配信して利用する画像処理システムが知られている。このような画像処理システムにおいては、スキャナ機能等の入力サービスと、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）等の情報処理サービスとを組み合わせてワークフローを構成し、文書蓄積の効率化を図ることが行われている。
【０００４】
また、ワークフローの実行において、組み合わせられた各種のサービスの実行可否をデバイスに問い合わせ、その結果に基づいてサービスを実行するデバイスをユーザに選択させることにより、最適なデバイスにサービスを実行させる方法が提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている方法の場合、デバイスから得られた結果に基づいてユーザがサービスを選択するため、デバイスの故障等により実行不能なサービスが含まれている場合、そのワークフローを完了することができないという課題を解決することはできる。しかしながら、１つのサービスに対して、そのサービスを実行可能なデバイスが複数抽出された場合、最適なデバイスをユーザが選択する必要があり、不慣れなユーザにとっては困難である。
【０００６】
本発明は、このような課題を解決するためになされたものであり、複数の処理を組み合わせてワークフローを構成する場合において、各処理を実行するデバイスの選択を容易化することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一態様は、１以上の処理が組み合わされたワークフローに従って入力された画像を処理する画像処理装置であって、前記ワークフローに組み込むことが可能な処理、前記処理を実行可能な機器及び前記機器が前記処理を実行する際の機能の性能に関する情報が関連付けられた処理対応機器情報を記憶している処理対応機器情報記憶部と、実行する前記ワークフローを指定する情報及びワークフローの実行に際して前記処理を実行する機器を選択する際の条件であって前記処理を実行する際に重視するべき性能を指定する情報を取得する指定情報取得部と、夫々のワークフロー毎に、前記ワークフローを指定する情報と夫々のワークフローを構成する処理の情報とが関連付けられたフロー情報参照して、前記指定されたワークフローに含まれる夫々の処理を判断し、取得された前記処理を実行する際に重視するべき性能を指定する情報と、前記処理対応機器情報における前記機器が前記処理を実行する際の機能の性能に関する情報とに基づき、前記機能の性能が、前記処理を実行する際に重視するべき性能に対応している機器を選択することによって前記指定されたワークフローに含まれる夫々の処理を実行する機器を選択する機器選択部と、前記指定されたワークフローに含まれる各処理を、夫々前記選択された機器に実行させると共に前記各処理の実行結果を前記選択された機器から取得する処理実行制御部と、前記取得された実行結果に基づき、前記処理対応機器情報を所定のタイミングで更新する処理対応機器情報更新部とを含み、前記処理対応機器情報更新部は、前記ワークフローに組み込むことが可能な処理のサンプル用のデータによる実行命令を前記処理実行制御部に入力し、前記処理実行制御部は、前記実行命令に係る処理を実行可能な機器に、その処理を実行させて前記処理結果を取得することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の処理を組み合わせてワークフローを構成する場合において、各処理を実行するデバイスの選択を容易化することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る文書管理システムの運用形態を示す図である。
【図２】本発明の実施形態に係る情報処理端末のハードウェア構成を模式的に示すブロック図である。
【図３】本発明の実施形態に係るクライアント端末の機能構成を示すブロック図である。
【図４】本発明の実施形態に係るフロー管理アプリの機能構成を示すブロック図である。
【図５】本発明の実施形態に係るフロー記憶部に記憶されている情報の例を示す図である。
【図６】本発明の実施形態に係るサービス情報テーブルに記憶されている情報の例を示す図である。
【図７】本発明の実施形態に係るサービス提供サーバ２から取得可能な情報の例を示す図である。
【図８】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図９】本発明の実施形態に係るワークフローの作成動作を示すシーケンス図である。
【図１０】本発明の実施形態に係るワークフローの作成画面を示す図である。
【図１１】本発明の実施形態に係るワークフローの実行動作を示すシーケンス図である。
【図１２】本発明の実施形態に係るワークフローの選択画面を示す図である。
【図１３】本発明の実施形態に係るデバイスの選択画面を示す図である。
【図１４】本発明の実施形態に係るサービス情報の更新態様を示す図である。
【図１５】本発明の実施形態に係るサービス定期実行の設定画面を示す図である。
【図１６】本発明の実施形態に係るサービス定期実行において必要な情報の例を示す図である。
【図１７】本発明の実施形態に係るサービス定期実行動作を示すフローチャートである。
【図１８】本発明の実施形態に係るフィードバックによるサービス情報の更新動作を示すシーケンス図である。
【図１９】本発明の実施形態に係るフィードバックの記憶態様を示す図である。
【図２０】本発明の実施形態に係る処理の組み合わせ毎の重み付けを示す図である。
【図２１】本発明の実施形態に係るサービスの実行デバイスの設定動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、画像処理システムの例として、スキャンにより読み取った画像を、予め登録されたワークフローに従って処理することにより、文書の配信や格納を行う文書管理システムを例として説明する。
【００１３】
図１は、本実施の形態に係る文書管理システムの運用形態の例を示す図である。図１に示すように、本実施形態に係る文書管理システムは、プリンタやスキャナ等の入出力機能を含む画像形成装置１ａ、１ｂ、１ｃ（以降、総じて画像形成装置１とする）、各種の画像処理サービスを提供する翻訳サーバ２ａ、メールサーバ２ｂ、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）サーバ２ｃ（以降、総じてサービス提供サーバ２とする）、ユーザが操作するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理端末であるクライアント端末３を含む。
【００１４】
尚、本実施形態においては、クライアント端末３と画像形成装置１とが同一のネットワークに接続されており、サービス提供サーバ２が接続されたネットワークと公衆回線４を介して接続されている。
【００１５】
画像形成装置１は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機である。クライアント端末３は、ユーザが操作する情報処理端末であり、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置によって実現される。また、本実施形態に係るクライアント端末３には、ワークフローを管理、制御するためのアプリケーションであるフロー管理アプリがインストールされており、クライアント端末３は、予め登録されたワークフローの実行を命令するためのユーザインタフェースとしても機能する。
【００１６】
サービス提供サーバ２は、上述したように、各種の画像処理サービスを提供するサーバであり、翻訳サーバ２ａは入力されたテキストを翻訳する機能を、メールサーバ２ｂは入力された情報を指定された宛先にメール配信する機能を、ＯＣＲサーバ２ｃは、入力された画像情報に対してＯＣＲを実行することによりテキストを生成する機能を、夫々提供する。
【００１７】
尚、本実施形態においては、フロー管理アプリがクライアント端末３にインストールされている場合を例として説明するが、画像形成装置１にフロー管理アプリがインストールされていても良い。また、ユーザインタフェースが設けられていないサーバにフロー管理アプリがインストールされており、クライアント端末３にインストールされたブラウザアプリを介してフロー管理アプリの機能を用いるようにしても良い。
【００１８】
次に、本実施形態に係る画像形成装置１、サービス提供サーバ２及びクライアント端末３のハードウェア構成について説明する。図２は、本実施形態に係るクライアント端末３のハードウェア構成を示すブロック図である。尚、画像形成装置１は、図２に示すハードウェア構成に加えて、スキャナ、プリンタ等を実現するためのエンジンを備える。以下の説明においては、クライアント端末３のハードウェア構成を例として説明するが、画像形成装置１及びサービス提供サーバ２についても同様である。
【００１９】
図２に示すように、本実施形態に係るクライアント端末３は、一般的なサーバやＰＣ等と同様の構成を含む。即ち、本実施形態に係るクライアント端末３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス８０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。
【００２０】
ＣＰＵ１０は演算手段であり、情報処理端末全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００２１】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、キーボードやマウス等、ユーザがクライアント端末３に情報を入力するためのユーザインタフェースである。尚、図１において説明したように、本実施形態に係るサービス提供サーバ２は、サーバとして運用される。従って、ＬＣＤ６０及び操作部７０等のユーザインタフェースは省略可能である。
【００２２】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ４０若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１やクライアント端末３、サービス提供サーバ２の機能を実現する機能ブロックが構成される。
【００２３】
次に、本実施形態に係るクライアント端末３の機能構成について、図３を参照して説明する。図３は、本実施形態に係るクライアント端末３の機能構成を示すブロック図である。図３に示すように、本実施形態に係るクライアント端末３は、コントローラ３００、ユーザＩ／Ｆデバイス３０１、ネットワークＩ／Ｆ３０２を有する。また、コントローラ３００は、操作制御部３１０、表示制御部３２０、フロー管理アプリ３３０及びネットワーク制御部３４０を含む。
【００２４】
ユーザＩ／Ｆデバイス３０１は、図２に示すＬＣＤ６０や操作部７０等、ユーザがクライアント端末３を操作するためのインタフェースである。ネットワークＩ／Ｆ３０２は、クライアント端末３がネットワークを介して他の機器と通信するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。ネットワークＩ／Ｆ３０２は、図２に示すＩ／Ｆ５０によって実現される。
【００２５】
コントローラ３００は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ＲＯＭ３０や不揮発性メモリ並びにＨＤＤ４０や光学ディスク等の不揮発性記憶媒体に格納されたプログラムが、ＲＡＭ２０等の揮発性メモリ（以下、メモリ）にロードされ、そのプログラムに従ってＣＰＵ１０が演算を行うことにより構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ３００が構成される。コントローラ３００は、クライアント端末３全体を制御する制御部であり、要旨となる機能を実現する。
【００２６】
操作制御部３１０は、ユーザＩ／Ｆデバイス３０１に対するユーザの操作によって入力された情報を取得する。表示制御部３２０は、ユーザＩ／Ｆデバイス３０１に情報表示を行う。ネットワーク制御部３４０は、ネットワークＩ／Ｆ３０２を介して入力される情報を取得すると共に、ネットワークＩ／Ｆ３０２を介して他の機器に情報を送信する。
【００２７】
フロー管理アプリ３３０は、上述したフロー管理アプリのプログラムがＲＡＭ２０に読み出され、そのプログラムに従ってＣＰＵ１０が演算を行うことにより構成される機能部であり、本実施形態の要旨に係る機能を提供する。図４を参照して、フロー管理アプリ３３０の詳細について説明する。
【００２８】
図４に示すように、本実施形態に係るフロー管理アプリ３３０は、ユーザインタフェース部３３１、フロー制御部３３２、フロー作成部３３３、サービス管理部３３４、フロー記憶部３３５、サービス情報テーブル３３６、サービス制御部３３７及びネットワーク管理部３３８を含む。
【００２９】
ユーザインタフェース部３３１は、表示制御部３２０がユーザＩ／Ｆデバイス３０１に表示させるための画面を生成して出力すると共に操作制御部３１０を介して入力される操作情報を取得する。フロー制御部３３２は、フロー記憶部３３５に記憶されているワークフローの情報に基づき、ワークフローの実行を制御する。その際、フロー制御部３３２は、ワークフローの実行開始及び終了や、ワークフローに含まれる各処理の実行中、停止中等の状態を保持している。
【００３０】
フロー作成部３３３は、ユーザインタフェース部３３１から入力される操作情報に基づいて動作することにより、ユーザの操作に従ってワークフローを作成し、フロー記憶部３３５に記憶させる。サービス管理部３３４は、ワークフローを構成するための各種のサービス、即ち、画像形成装置１やサービス提供サーバ２によって提供されるサービスを、サービス情報テーブル３３６に記憶される情報として管理する。
【００３１】
フロー記憶部３３５は、ユーザによって登録されたワークフローの情報を記憶している。フロー記憶部３３５が記憶している情報について、図５を参照して説明する。図５は、フロー情報の内容を示す図である。図５に示すように、フロー情報は、ワークフローを識別するためのＩＤ、ワークフローの名称及びワークフローに含まれる処理の内容の情報を含む。例えば、ＩＤ“００１”のワークフローであれば、名称は“ｐｒｏｊｅｃｔＡ”であり、“処理ａ”、“処理ｂ”、“処理ｃ”・・・といった処理が含まれる。
【００３２】
図５に示す“処理ａ”、“処理ｂ”、“処理ｃ”・・・等の各処理は、画像形成装置１において実行されるスキャン処理や、サービス提供サーバ２において実行される画像処理である。ここで、図５“処理ａ”、“処理ｂ”、“処理ｃ”・・・等は、夫々のサービスを提供するサービス提供サーバ２や画像形成装置１等の機器、即ちデバイスを指定する情報ではなく、あくまでも、“スキャン”や、“プリント”、“ＯＣＲ”等のサービスを指定する情報である。即ち、本実施形態に係るフロー記憶部３３５に記憶されているワークフロー情報は、夫々のワークフロー毎に、実行するべきサービスの種類及びその順番が指定されている情報であり、夫々のサービスを実行するデバイスは指定されていない。
【００３３】
図５に示す “処理ａ”、“処理ｂ”、“処理ｃ”等の各処理を実行する機能は、画像形成装置１やサービス提供サーバ２において提供される機能である。即ち、上記各機能を実現する機能部を構成するプログラムが画像形成装置１若しくはサービス提供サーバ２にインストールされること、若しくは上記各機能を実現するデバイスが実装されることにより、図５に示す各処理が本実施形態に係る画像処理システムにおいて実行可能となる。
【００３４】
尚、フロー情報としては、図５に示す情報の他、夫々の処理についての設定値の情報等も含まれる。また、図５に示すフロー情報は、クライアント端末３においてＨＤＤ４０に格納されており、フロー制御部３３２がワークフローフロー情報を参照してワークフロー選択画面の表示情報を生成する。
【００３５】
サービス情報テーブル３３６は、上述した“スキャン”や、“プリント”、“ＯＣＲ”等のサービスの種類夫々について、そのサービスを実行可能なデバイスの情報を記憶している。図６を参照して、サービス情報テーブル３３６に記憶されている情報について説明する。図６に示すように、サービス情報テーブル３３６に記憶されているサービス情報は、夫々のサービス種類を識別するための“サービス名”、各サービスを実行可能な“機器”、各機器がサービスを実行する際の“速度”、各機器のサービスの“評価”、各機器の“故障率”及び各機器の“利用回数”の情報を含む。
【００３６】
即ち、サービス情報テーブル３３６に含まれるサービス情報は、ワークフローに組み込み可能な処理を示す情報、それらの処理を実行可能な機器であるサービス提供サーバ２を識別する情報、各機器が夫々の処理を実行する際の機能が関連付けられた処理対応機器情報であり、サービス情報テーブル３３６は、処理対応機器情報記憶部として機能する。
【００３７】
サービス制御部３３７は、フロー制御部３３２によるワークフローの実行制御に基づき、ワークフローに含まれる各サービスの実行を制御する。サービス制御部３３７は、ネットワーク制御部３４０を介して、サービスを実行させるべき各デバイスにサービスの実行命令を送信する。また、サービス制御部３３７は、サービス管理部３３４によるサービス管理の動作に基づき、各デバイスの情報を取得する。
【００３８】
図７に、サービス制御部３３７がネットワークを介して各デバイスから取得することのできる情報の例を示す。図７に示すように、本実施形態において、サービス制御部３３７は、各デバイスからサービスの“料金”及び機器が接地された場所を示す“ロケーション”の情報を取得することができる。この他、サービス制御部３３７は、各デバイスの状態を取得する。ネットワーク管理部３３８は、ネットワーク上のパケットを採取し、採取したパケットの単位時間当たりのデータ量からネットワーク負荷を判断する。
【００３９】
次に、本実施形態に係る画像形成装置１の機能構成について、図８を参照して説明する。図８に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）１０１、スキャナユニット１０２、排紙トレイ１０３、ディスプレイパネル１０４、給紙テーブル１０５、プリントエンジン１０６、排紙トレイ１０７及びネットワークＩ／Ｆ１０８を有する。
【００４０】
また、コントローラ１００は、主制御部１１０、エンジン制御部１２０、画像処理部１３０、操作表示制御部１４０及び入出力制御部１５０を含む。図８に示すように、本実施形態に係る画像形成装置１は、スキャナユニット１０２、プリントエンジン１０６を有する複合機として構成されている。尚、図８においては、電気的接続を実線の矢印で示しており、用紙若しくは文書束の流れを破線の矢印で示している。
【００４１】
ディスプレイパネル１０４は、画像形成装置１の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置１を直接操作し、若しくは画像形成装置１に対して情報を入力する際の入力インタフェース（操作部）でもある。ディスプレイパネル１０４は、図２に示すＬＣＤ６０及び操作部７０によって実現される。
【００４２】
ネットワークＩ／Ｆ１０８は、画像形成装置１がネットワークを介して他の機器と通信するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。ネットワークＩ／Ｆ１０８は、図２に示すＩ／Ｆ５０によって実現される。また、ネットワークＩ／Ｆ１０８には、ＦＡＸモデムとしての機能も含まれ、画像形成装置１がネットワークを介してＦＡＸ送受信を行うためのインタフェースとしても機能する。
【００４３】
コントローラ１００は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ＲＯＭ３０や不揮発性メモリ並びにＨＤＤ４０や光学ディスク等の不揮発性記憶媒体に格納されたプログラムが、ＲＡＭ２０等の揮発性メモリ（以下、メモリ）にロードされ、ＣＰＵ１０の制御に従って動作することにより構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ１００が構成される。コントローラ１００は、画像形成装置１全体を制御する制御部として機能する。
【００４４】
主制御部１１０は、コントローラ１００に含まれる各部を制御する役割を担い、コントローラ１００の各部に命令を与える。エンジン制御部１２０は、プリントエンジン１０６やスキャナユニット１０２等を制御若しくは駆動する駆動手段としての役割を担う。画像処理部１３０は、主制御部１１０の制御に従い、印刷出力すべき画像情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン１０６が画像形成動作において形成すべき画像を描画するための情報である。また、画像処理部１３０は、スキャナユニット１０２から入力される撮像データを処理し、画像データを生成する。この画像データとは、スキャナ動作の結果物として画像形成装置１の記憶領域に格納され若しくはネットワークＩ／Ｆ１０８を介してクライアント端末２やワークフローサーバ３に送信される情報である。
【００４５】
操作表示制御部１４０は、ディスプレイパネル１０４に情報表示を行い若しくはディスプレイパネル１０４を介して入力された情報を主制御部１１０に通知する。入出力制御部１５０は、ネットワークＩ／Ｆ１０８を介して入力される情報を主制御部１１０に入力する。また、主制御部１１０は、入出力制御部１５０を制御し、ネットワークＩ／Ｆ１０８及びネットワークを介してクライアント端末２やワークフローサーバ３若しくは公衆回線４に接続された他の機器にアクセスする。
【００４６】
画像形成装置１がプリンタとして動作する場合は、まず、入出力制御部１５０がネットワークＩ／Ｆ１０８を介して印刷ジョブを受信する。入出力制御部１５０は、受信した印刷ジョブを主制御部１１０に転送する。主制御部１１０は、印刷ジョブを受信すると、画像処理部１３０を制御して印刷ジョブに含まれる文書情報若しくは画像情報に基づいて描画情報を生成する。
【００４７】
画像処理部１３０によって描画情報が生成されると、エンジン制御部１２０は、プリントエンジン１０６を制御し、上記生成された描画情報に基づき、給紙テーブル１０５から搬送される用紙に対して画像形成を実行させる。プリントエンジン１０６の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン１０６によって画像形成が施された文書は排紙トレイ１０７に排紙される。
【００４８】
画像形成装置１がスキャナとして動作する場合は、ユーザによるディスプレイパネル１０４の操作若しくはネットワークＩ／Ｆ１０８を介して外部のクライアント端末３等から入力されるスキャン実行指示に応じて、操作表示制御部１４０若しくは入出力制御部１５０が主制御部１１０にスキャン実行信号を転送する。主制御部１１０は、受信したスキャン実行信号に基づき、エンジン制御部１２０を制御する。
【００４９】
エンジン制御部１２０は、ＡＤＦ１０１を駆動し、ＡＤＦ１０１にセットされた撮像対象原稿をスキャナユニット１０２に搬送する。また、エンジン制御部１２０は、スキャナユニット１０２を駆動し、ＡＤＦ１０１から搬送される原稿を撮像する。また、ＡＤＦ１０１に原稿がセットされておらず、スキャナユニット１０２に直接原稿がセットされた場合、スキャナユニット１０２は、エンジン制御部１２０の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット１０２が撮像部として動作する。
【００５０】
撮像動作においては、スキャナユニット１０２に含まれるＣＣＤ等の撮像素子が原稿を光学的に走査し、光学情報に基づいて生成された撮像情報が生成される。エンジン制御部１２０は、スキャナユニット１０２が生成した撮像情報を画像処理部１３０に転送する。画像処理部１３０は、主制御部１１０の制御に従い、エンジン制御部１２０から受信した撮像情報に基づき画像情報を生成する。画像処理部１３０が生成した画像情報はＨＤＤ４０等の画像形成装置１に装着された記憶媒体に保存される。即ち、スキャナユニット１０２、エンジン制御部１２０及び画像処理部１３０が連動して、原稿読み取り部として機能する。
【００５１】
画像処理部１３０によって生成された画像情報は、ユーザの指示に応じてそのままＨＤＤ４０等に格納され若しくは入出力制御部１５０及びネットワークＩ／Ｆ１０８を介してクライアント端末３等の外部の装置に送信される。
【００５２】
また、画像形成装置１が複写機として動作する場合は、エンジン制御部１２０がスキャナユニット１０２から受信した撮像情報若しくは画像処理部１３０が生成した画像情報に基づき、画像処理部１３０が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部１２０がプリントエンジン１０６を駆動する。尚、描画情報と撮像情報との情報形式が同一である場合は、撮像情報をそのまま描画情報として用いることも可能である。
【００５３】
また、画像形成装置１がファクシミリとして動作する場合は、まず、スキャナ動作の場合と同様に画像処理部１３０によって画像情報が生成される。そして、主制御部１１０が入出力制御部１５０を制御し、ＦＡＸ送信を実行させる。ＦＡＸ送信に際しては、入出力制御部１５０が、主制御部１１０の制御に従い、ネットワークＩ／Ｆ１０８のうちＦＡＸモデムの機能を駆動して指定された送信先に画像を送信する。
【００５４】
次に、図５に示すようなワークフロー情報が生成される際の動作について、図９を参照して説明する。図９は、ワークフロー情報の生成動作を示すシーケンス図である。図９に示すように、ユーザがクライアント端末３を操作することによりフロー管理アプリ３３０のユーザインタフェース部３３１に操作情報が入力され、ワークフローの作成が開始される（Ｓ９０１）。
【００５５】
ワークフロー作成部３３３は、ユーザインタフェース部３３１からの通知に基づいてワークフローの作成を開始すると、サービス管理部３３４に、サービスの一覧を要求する（Ｓ９０２）。サービス管理部３３４は、ワークフロー作成部３３３からの要求を受けて、図６において説明した情報に基づき、“スキャン”、“プリント”、“ＯＣＲ”等のサービスの種類の一覧をサービス情報テーブル３３６から取得し（Ｓ９０３）、ワークフロー作成部３３３に転送する（Ｓ９０４）。
【００５６】
ワークフロー作成部３３３は、サービス管理部３３４から入力されたサービス一覧に基づき、ワークフローに組み込み可能なサービスが表示されたワークフローの作成画面を生成してユーザインタフェース部３３１に出力する（Ｓ９０５）。これにより、ユーザインタフェース部３３１は、表示制御部３２０を介してユーザＩ／Ｆデバイス３０１にワークフロー作成画面を表示させる（Ｓ９０６）。Ｓ９０６においてユーザＩ／Ｆデバイス３０１に表示されるワークフロー作成画面の例を図１０に示す。
【００５７】
図１０に示すように、ワークフロー作成画面においては、選択可能なサービス種類のボタンが表示されており、ユーザは、夫々のボタンをワークフローにおいて実行させたい順番に押下する。これにより、図１０下部に示されるように、各サービスを示す情報が順番に登録され、ユーザインタフェース部３３１が夫々のサービスを示す情報をフロー情報として順番に保持する。
【００５８】
そして、図１０に示されている“登録”ボタンをユーザが押下すると、操作制御部３１０にその操作情報が入力されてユーザインタフェース部３３１がその情報を取得し、保持しているフロー情報をワークフロー作成部３３３に送信する（Ｓ９０７）。ユーザインタフェース部３３１からフロー情報を取得したワークフロー作成部３３３は、フロー記憶部３３５にフロー情報を記憶する（Ｓ９０８）。このような処理により、図５に示すようなワークフロー情報が記憶される。
【００５９】
このような文書管理システムにおいて、本実施形態に係る要旨は、ワークフロー実行時におけるサービスの選択態様にある。以下、本実施形態に係るワークフロー実行時の動作について、図１１を参照して説明する。図１１は、本実施形態に係る文書管理システムにおけるワークフロー実行時の動作を示すシーケンス図である。図１１に示すように、まずは、ユーザインタフェース部３３１が、ユーザによる操作に応じてワークフローの選択・実行を行うための画面の表示要求を取得する（Ｓ１１０１）。
【００６０】
ユーザインタフェース部３３１は、画面表示要求を取得すると、フロー制御部３３２に対して、フロー情報を要求する（Ｓ１１０２）。フロー制御部３３２は、ユーザインタフェースからの要求に応じて、フロー記憶部３３５に記憶されているフロー情報を取得し（Ｓ１１０３）、取得したフロー情報をユーザインタフェース部に転送する（Ｓ１１０４）。ユーザインタフェース部３３１は、フロー制御部３３２からフロー情報を取得すると、ユーザがフローを選択し、実行要求を入力するためのフロー選択画面を生成し、表示制御部３２０を介して、ユーザＩ／Ｆデバイス３０１に表示させる（Ｓ１１０５）。
【００６１】
Ｓ１１０５においてユーザＩ／Ｆデバイス３０１に表示されるフロー選択画面の例を図１２に示す。図１２に示すように、フロー選択画面においては、実行するべきワークフローを選択する部分に加えて、ワークフローを構成する各サービスの実行デバイスの選択に関するインタフェースが設けられている。図１２の例においては、上記各サービスの実行デバイスの選択に関するインタフェースとして、“品質優先実行”、“速度優先実行”及び“サービス選択”のボタンが設けられている。
【００６２】
“品質優先実行”のボタンは、各サービスの選択に際して、処理結果の品質を重視することを指定してワークフローの実行要求を行うためのボタンである。“速度優先実行” のボタンは、各サービスの選択に際して、処理速度を重視することを指定してワークフローの実行要求を行うためのボタンである。“サービス選択”のボタンは、ユーザが個別にサービスを選択することを要求するためのボタンである。
【００６３】
図１１においては、図１２に示す“サービス選択”のボタンが押下された場合を例として説明する。図１２の画面においてワークフローが選択された上で、“サービス選択”のボタンがユーザによって押下されると、ユーザインタフェース部３３１はユーザの操作に応じてワークフローを選択し、その結果をフロー制御部３３２に送信する（Ｓ１１０６）。これにより、フロー制御部３３２が、選択されたワークフローを識別する情報を保持する。
【００６４】
更に、ユーザインタフェース部３３１は、“サービス選択”のボタンが押下された場合、サービス管理部３３４に対してサービス情報を要求する（Ｓ１１０７）。サービス管理部３３４は、ユーザインタフェース部３３１からの要求に応じてサービス情報テーブル３３６から図６において説明したサービス情報を取得し、ユーザインタフェース部３３１に送信する（Ｓ１１０８）。
【００６５】
ユーザインタフェース部３３１は、サービス管理部３３４から取得したサービス情報に基づき、デバイス選択画面をユーザＩ／Ｆデバイス３０１に表示させる（Ｓ１１０９）。これにより、ユーザは、ワークフローに含まれる各サービスを実行するデバイスを選択することができる。Ｓ１１０９においてユーザＩ／Ｆデバイス３０１に表示されるデバイス選択画面の例を図１３に示す。図１３に示すように、デバイス選択画面においては、サービス毎に夫々のサービスを実行可能なデバイスが表示される。また、サービスによっては、条件を指定する項目が表示される。
【００６６】
尚、サービス管理部３３４は、ユーザインタフェース部３３１にサービス情報を送信する際、図７において説明したような、各デバイスから取得可能な情報を取得し、その情報に基づいて図６に示すサービス情報を更新しても良い。これにより、常に最新の状態に基づいてサービス選択画面を表示することが可能となる。また、デバイスからの応答の有無を確認することにより、動作可能なデバイスのみを選択対象とすることもできる。
【００６７】
図１３において“実行”と表示されている実行ボタンをユーザが押下すると、ユーザインタフェース部３３１は、操作制御部３１０から入力された操作情報に従い、サービス管理部３３４に対して選択されたデバイスの情報を送信する（Ｓ１１１０）。これにより、サービス管理部３３４は、フロー制御部３３２に対して、各サービスを実行するデバイスの設定を行い（Ｓ１１１１）、処理結果をユーザインタフェース部３３１に通知する。尚、Ｓ１１０７〜Ｓ１１１１の処理は、上述したように“サービス選択”のボタンが押下された場合にのみ実行される処理である。
【００６８】
図１２の画面において“品質優先実行”や“速度優先実行”のボタンが押下された場合、ユーザインタフェース部３３１は、フロー制御部３３２に対して選択されたワークフローを指定する情報を送信（Ｓ１１０６）した後、サービス管理部３３４に対して、同じくワークフローを指定する情報と、“品質優先実行”や“速度優先実行”等の条件を指定する情報を送信する。これにより、サービス管理部３３４は、Ｓ１１１１の処理として、サービス情報に基づいて各サービスを実行するデバイスを選択する処理を実行し、フロー制御部３３２へのサービスの設定及びユーザインタフェース部３３１への通知を行う。これについては後に詳述する。
【００６９】
サービス管理部３３４からの通知を受けると、ユーザインタフェース部３３１は、フロー制御部３３２に対して、ワークフローの実行を要求する（Ｓ１１１２）。ユーザインタフェース部３３１からの実行要求を受けると、フロー制御部３３２は、Ｓ１１０６において選択されたワークフロー及びＳ１１１１において設定された各サービスを実行するデバイスに基づき、ワークフローにおける各サービスの順番に基づいてサービス制御部３３７にサービスの実行要求を行う（Ｓ１１１３）。
【００７０】
サービス制御部３３７は、フロー制御部３３２からサービスの実行要求を受けると、そのサービスを実行するべきデバイスとして設定されたデバイスに対して、実行可否のチェックを行った上で（Ｓ１１１４）、サービスの実行を要求し、実行結果を取得する（Ｓ１１１５）。即ち、サービス制御部３３７が、処理実行制御部として機能する。１つのサービスについて実行が完了すると、サービス制御部３３７は、サービス情報テーブル３３６に含まれるサービス情報のうち、そのサービスを実行したデバイスに関する情報を更新するように、サービス管理部３３４に要求する（Ｓ１１１６）。この際、サービス制御部３３７は、サービスの実行結果の情報をサービス管理部３３４に入力する。
【００７１】
サービス管理部３３４は、サービス制御部３３７からの要求に基づき、サービスを実行したデバイスについてのサービス情報を更新し、更新結果をサービス制御部３３７に通知する（Ｓ１１１７）。即ち、サービス管理部３３４が、処理対応機器情報更新部として機能する。サービス制御部３３７は、ワークフローに含まれる全てのサービスについて実行完了するまで、Ｓ１１１４〜Ｓ１１１６までの処理を繰り返す。そして、ワークフローに含まれる全てのサービスの実行が完了すると、サービス制御部３３７が、ワークフローの実行結果をフロー制御部３３２に通知し（Ｓ１１１８）、フロー制御部３３２が、サービス制御部３３７から通知された実行結果をユーザインタフェース部３３１に転送する（Ｓ１１１９）。このような処理により、本実施形態に係るワークフローの実行動作が完了する。
【００７２】
図１２のＳ１１１６、Ｓ１１１７にある様に、サービス情報テーブル３３６に記憶されているサービス情報を逐次更新することにより、Ｓ１１０９におけるデバイスの選択において、より現状に沿った情報に基づいた判断を行うことが可能となる。以下、本実施形態におけるサービス情報の更新について説明する。
【００７３】
図１４（ａ）は、サービス情報の更新方法を示す図である。図１４（ａ）に示すように、サービス情報を更新する方法としては、サンプルデータを用いてサービスを定期的に実行することにより情報を更新する“１”の態様、ワークフローを実行した結果に対するユーザによるフィードバックを用いて情報を更新する“２”の態様、そして、図１１のＳ１１１６、Ｓ１１１７のように、実際のワークフローの実行結果によりサービス情報を更新する“３”の態様がある。
【００７４】
図１４（ｂ）は、“速度”、“品質評価”、“故障率”等、図６に示すようなサービス情報に含まれる各項目について、“スキャン”、“プリント”、“ＯＣＲ”、“翻訳”等の夫々のサービスに対応するデバイスがどのようにサービス情報を更新するかを、図１４（ａ）に示す“１”、“２”、“３”の数字によって示す図である。
【００７５】
ここで、図１４（ａ）の“１”の態様によるサービス情報の更新のため、ユーザは、予めサービスの定期実行についての設定を行う。図１５は、サービス定期実行の設定画面の例を示す図である。図１５に示す画面は、ユーザインタフェース部３３１が、ユーザによる操作に応じて、表示制御部３２０を介してユーザＩ／Ｆデバイス３０１に表示させる。
【００７６】
図１５に示すように、サービス定期実行の設定画面には、定期的に実行させたいサービスを選択するチェックボックスと、定期的に実行するものとして選択されたサービスについて必要な情報を指定する部分とが表示されている。図１５の例においては、定期的に実行するサービスとして“ＯＣＲ”が選択されており、“ｓａｍｐｌｅ１．ｔｉｆ”、“ｓａｍｐｌｅ２．ｊｐｅｇ”という情報を入力データとして、“ｓａｍｐｌｅ１．ｔｘｒ”，“ｓａｍｐｌｅ２．ｔｘｔ”という情報を期待結果として用いることが指定されている。
【００７７】
尚、各サービスを定期実行する際に必要となる情報を図１６に示す。例えば、“ＯＣＲ”サービスの場合、ｔｉｆやｊｐｅｇ等の画像が入力に用いられ、期待される実行結果は文字情報であるため、ｔｘｔ形式の情報が用いられる。このように、サンプルデータとしての入力データに加えて、期待される実行結果の情報をも登録することにより、実際の実行結果との差異に基づいてサービスの品質判断を自動的に行うことができる。このように設定された情報は、サービス管理部３３４が保持する。そして、サービス管理部３３４は、バックエンドにおいてサービス制御部３３７を制御し、各サービスを実行する。これによりサービス制御部３３７が実行結果を取得し、サービス情報テーブルが更新される。
【００７８】
図１７を参照して、サービスの定期実行動作について説明する。図１７においては、定期実行のサービスとしてＯＣＲを例として説明する。サービス管理部３３４は、図１５において説明した画面を介して設定されたサービスの定期実行の情報に基づいて定期実行のタイミングが否かを判断し、定期実行のタイミングになると、サービス制御部がワークフローを実行中か否か（Ｓ１７０１）、夫々のデバイスにおけるサービスの実行が無料か否か（Ｓ１７０２）、ネットワーク負荷が所定値以下か否か（Ｓ１７０３）について判断する。
【００７９】
そして、サービス管理部３３４は、ワークフローが非実行中であり（Ｓ１７０１／ＹＥＳ）、サービスが無料であり（Ｓ１７０２／ＹＥＳ）、ネットワーク負荷が所定値以下である（Ｓ１７０３／ＹＥＳ）場合にのみ、サービスの定期実行を許可する。このような判断を行うことにより、ユーザの発意に基づくワークフローの実行を阻害することや、ユーザの意図しないところで料金が発生するようなことを防ぐことができる。
【００８０】
サービスの定期実行を許可すると、サービス管理部３３４は、図１５において説明した画面により登録された情報に基づき、サービス制御部３３７にＯＣＲの実行を要求する。これにより、サービス制御部３３７の制御に従ってＯＣＲを実行可能な各デバイスでサンプルＯＣＲが実行され、実行結果が取得される（Ｓ１７０４）。
【００８１】
サンプルＯＣＲが完了すると、サービス管理部３３４は、実行開始タイミングと完了タイミングとから、実行時間を計測し、図６に示す“速度”の情報を更新する（Ｓ１７０５）。また、サービス管理部３３４は、図６に示す“利用回数”をインクリメントし、“故障率”を更新する（Ｓ１７０６）。尚、Ｓ１７０４〜Ｓ１７０５の処理は、図１１のＳ１１１６、Ｓ１１１７においても同様に実行される。更に、サービス管理部３３４は、図１５において説明した期待結果の情報と、Ｓ１７０４において取得した実行結果、即ち、認識された文字情報とを比較して認識率を計測し、図１６に示す“評価”を更新する（Ｓ１７０７）。
【００８２】
サービス管理部３３４は、サービス情報テーブル３３６においてＯＣＲ用のデバイスとして登録されている全てのデバイスについてＳ１７０４〜Ｓ１７０７の処理を繰り返し、全てのデバイスについて完了すると（Ｓ１７０８／ＹＥＳ）、処理を終了する。このような処理により、図１５において説明したような画面を介してサービス管理部３３４に登録されたサービス定期実行の動作が完了し、サービス情報テーブル３３６に含まれるサービス情報が新しい情報に保たれる。
【００８３】
次に、図１４（ｂ）の“２”の態様によるサービス情報の更新について説明する。図１８は、ユーザフィードバックによるサービス情報の更新動作を示すシーケンス図である。図１８の動作は、例えば、図１１のＳ１１１９の後に実行される。即ち、図１１のＳ１１１９によってユーザインタフェース部３３１に実行結果が通知されると、ユーザインタフェース部３３１は、フィードバックの入力画面を表示制御部３２０を介してユーザＩ／Ｆデバイス３０１に表示させる（Ｓ１８０１）。即ち、ユーザインタフェース部３３１が、フィードバック取得部として機能する。
【００８４】
クライアント端末３のユーザＩ／Ｆデバイス３０１にフィードバック入力画面が表示されると、ユーザが、キーボードやマウスなどのユーザＩ／Ｆデバイス３０１を操作してフィードバックを入力する。例えば、１〜５の５段階の数値により入力するように促す画面をフィードバック入力画面において表示することにより、ユーザインタフェース部３３１は、フィードバックとして１〜５のいずれかの数値を取得し、ワークフロー制御部３３２にフィードバックの内容を示す情報を通知する（Ｓ１８０２）。
【００８５】
ユーザインタフェース部３３１からフィードバックを取得すると、ワークフロー制御部３３２は、図１９に示すように、ワークフローに含まれるサービスの組み合わせ毎に、フィードバック結果の平均の計算結果及びフィードバック回数を記憶する（Ｓ１８０３）。図１９の状態においては、ユーザによって入力されたフィードバックは、ワークフローに対するフィードバックとして記憶されている。
【００８６】
更にワークフロー制御部３３２は、図８に示すように記憶したフィードバック結果に基づき、各サービスの評価を行ってサービス管理部３３４に通知する（Ｓ１８０４）。即ち、ワークフローに対するフィードバックを各処理に対するフィードバックに変換する。Ｓ１８０４の処理については後述する。ワークフロー制御部３３２からサービスの評価結果を取得したサービス管理部３３４は、取得したサービスの評価結果に基づいて図６に示すように情報を更新して記憶し（Ｓ１８０５）、処理を終了する。
【００８７】
Ｓ１８０４において、ワークフロー制御部３３２は、様々な方法によりサービスの評価を行う。例えば、フィードバック結果が図１９に示すような状態の場合、ワークフローに含まれるサービスは、“Ｓｃａｎ”、“ＯＣＲ”、“翻訳”、“Ｐｒｉｎｔ”である。そして、“翻訳Ａ”、“翻訳Ｂ”、“翻訳Ｃ”、“翻訳Ｄ”のように、“翻訳”のみ、サービスを実行するデバイスが異なるため、ＦＢ結果の違いは、“翻訳”サービスの品質の違いによってもたらされていると推測することができる。従って、ワークフロー制御部３３２は、図１９に示すようなフィードバック結果を記憶している場合、各フィードバック結果に基づいて“翻訳Ａ”、“翻訳Ｂ”、“翻訳Ｃ”、“翻訳Ｄ”夫々のサービス評価値を決定する。
【００８８】
また、ワークフローに含まれるサービスの組み合わせ毎に、各サービスに重み値を設定し、ワークフローに対するフィードバック結果を重み値に従って各サービスに割り振る様にしても良い。そのような例を図２０に示す。図２０は、各サービスの組み合わせ毎の、各サービスの重み値を示す図である。
【００８９】
例えば、“Ｓｃａｎ”、“Ｐｒｉｎｔ”が含まれる場合、夫々の重み値は“０．５”である。この場合、フィードバック結果が“４．５”であれば、“Ｓｃａｎ”、“Ｐｒｉｎｔ”夫々に“２．２５”の値が割り振られる。また、“Ｓｃａｎ”、“ＯＣＲ”、“Ｍａｉｌ”が含まれる場合、重み値は夫々“０．３”、“０．６”、“０．１”であるから、フィードバック結果が“４．０”であれば、“Ｓｃａｎ”、“ＯＣＲ”、“Ｍａｉｌ”に、“１．２”、“２．４”、“０．４”の値が夫々割り振られる。このように夫々のサービスの組み合わせ毎のフィードバック結果を各サービスに割り振り、その合計値を求めることによっても、サービス評価を行うことができる。
【００９０】
次に、図１２の画面において、“品質優先実行”や“速度優先実行”のボタンが押下された場合のサービス管理部３３４の動作について、図２１を参照して説明する。サービス管理部３３４は、ユーザインタフェース部３３１から、図１１のＳ１１０６の後の処理として、ワークフローを指定する情報及び条件を指定する情報を取得すると（Ｓ２１０１）、サービス情報テーブル３３６からサービス情報を取得する（Ｓ２１０２）。即ち、サービス管理部３３４が、実行するべきワークフローを指定する情報及びワークフローの実行に際して前記処理を実行する機器を選択する際の条件を指定する情報を取得する指定情報取得部として機能する。
【００９１】
サービス情報を取得すると、サービス管理部３３４は、ワークフローを指定する情報の入力元のＩＰアドレス等に基づいてサービス情報を参照し、入力元の機器、即ちユーザが操作している操作デバイスが、入出力デバイスであるか否か判断する（Ｓ２１０３）。“スキャン”や“プリント”等の紙媒体の入出力サービスは、ユーザが操作しているデバイスにおいて実行されることがユーザにとっては便利である。従って、操作デバイスが入出力デバイスであった場合（Ｓ２１０３／ＹＥＳ）、サービス管理部３３４は、“スキャン”や“プリント”等の入出力のサービスとして、操作デバイスを選択する（Ｓ２１０４）。尚、操作デバイスが入出力デバイスである場合とは、本実施形態においては、フロー管理アプリ３３０が画像形成装置１にインストールされており、ユーザが画像形成装置１を操作してワークフローを実行する場合である。
【００９２】
その後、サービス管理部３３４は、各サービスを実行可能な機器の状態の情報を各機器から取得し（Ｓ２１０５）、異常状態の機器を選択可能な機器の一覧から除外する（Ｓ２１０６）。これにより、ワークフローが中断してしまうような事態を回避することができる。その後、サービス管理部３３４は、各サービス毎のデバイス、即ちサービス提供サーバ２の選択に写る。各サービス毎のデバイスの選択において、サービス管理部３３４は、１つのサービスについて、実行デバイスの選択があるか否か確認し（Ｓ２１０７）、選択があれば（Ｓ２１０７／ＹＥＳ）、選択されたデバイスを実行デバイスとして設定する（Ｓ２１０８）。
【００９３】
他方、実行デバイスの選択が無い場合（Ｓ２１０７／ＮＯ）、サービス管理部３３４は、そのサービスを実行可能なデバイスにおけるサービスの利用回数を確認し（Ｓ２１０９）、いずれのデバイスも利用回数が所定の閾値を超えていれば（Ｓ２１１０）、指定された条件に基づき、図６に示す“速度”や“評価”の情報を参照してデバイスを設定する（Ｓ２１１１）。即ち、サービス管理部３３４が、機器選択部として機能する。
【００９４】
他方、利用回数が所定の閾値を超えていないデバイスがある場合（Ｓ２１１０／ＮＯ）、サービス管理部３３４は、図６に示す“利用回数”の少ないデバイスを実行デバイスとして設定する（Ｓ２１１２）。“利用回数”が少ないデバイスは、“評価”の値の元となるサンプル数が少ないため、その値の信頼性が低い事が考えられる。これに対して、“利用回数”の少ないデバイスを優先的に選択してサービスを実行させることにより、“評価”の値の算出元となるサンプル数を増やし、値の信頼性を早期に向上することができる。尚、Ｓ２１１０における閾値は任意に設定することが可能であり、例えば２０回である。
【００９５】
Ｓ２１０８、Ｓ２１１１、Ｓ２１１２いずれかの処理が完了すると、サービス管理部３３４は、指定されたワークフローに含まれる全サービスについてのデバイスの設定が完了したか否か確認し（Ｓ２１１３）、全サービスについてのデバイスの設定が完了するまでＳ２１０７からの処理を繰り返し（Ｓ２１１３／ＮＯ）、全サービスについてのデバイスの設定が完了すると（Ｓ２１１３／ＹＥＳ）、処理を終了する。
【００９６】
このようなサービス管理部３３４の処理により、不慣れなユーザであっても、“品質優先実行”や“速度優先実行” 等の理解の容易な情報に基づいて好適なデバイスを選択することができ、ユーザの利便性を向上することができる。
【００９７】
以上説明したように、本実施形態に係る文書管理システムにおいては、フロー管理アプリ３３０がインストールされた機器が画像処理装置として機能し、ワークフローの作成に際してはサービスの種類のみが指定される。そして、サービス、デバイス及びその機能が関連付けられたサービス情報に基づき、ワークフローの実行の際に、ユーザの意図に最適なデバイスが選択される。このような構成により、各処理を実行するデバイスの選択を容易化することができる。
【符号の説明】
【００９８】
１、１ａ、１ｂ、１ｃ  画像形成装置、
２  サービス提供サーバ、
２ａ  翻訳サーバ、
２ｂ  メールサーバ
２ｃ  ＯＣＲサーバ、
３  クライアント端末、
４  公衆回線、
１０  ＣＰＵ、
２０  ＲＡＭ、
３０  ＲＯＭ、
４０  ＨＤＤ、
５０  Ｉ／Ｆ、
６０  ＬＣＤ、
７０  操作部、
８０  バス、
１００  コントローラ、
１０１  ＡＤＦ、
１０２  スキャナユニット、
１０３  排紙トレイ、
１０４  ディスプレイパネル、
１０５  給紙テーブル、
１０６  プリントエンジン、
１０７  排紙トレイ、
１０８  ネットワークＩ／Ｆ、
１１０  主制御部、
１２０  エンジン制御部、
１３０  画像処理部、
１４０  操作表示制御部、
１５０  入出力制御部、
３００  コントローラ、
３０１  ユーザＩ／Ｆデバイス、
３０２  ネットワークＩ／Ｆ、
３１０  操作制御部、
３２０  表示制御部、
３３０  フロー管理アプリ、
３３１  ユーザインタフェース部、
３３２  フロー制御部、
３３３  フロー作成部、
３３４  サービス管理部、
３３５  フロー記憶部、
３３６  サービス情報テーブル、
３３７  サービス制御部、
３３８  ネットワーク管理部、
３４０  ネットワーク制御部
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２００５−２７５４７６号公報
【図１】
0005672954.tif 000002
【図２】
0005672954.tif 000003
【図３】
0005672954.tif 000004
【図４】
0005672954.tif 000005
【図５】
0005672954.tif 000006
【図６】
0005672954.tif 000007
【図７】
0005672954.tif 000008
【図８】
0005672954.tif 000009
【図９】
0005672954.tif 000010
【図１０】
0005672954.tif 000011
【図１１】
0005672954.tif 000012
【図１２】
0005672954.tif 000013
【図１３】
0005672954.tif 000014
【図１４】
0005672954.tif 000015
【図１５】
0005672954.tif 000016
【図１６】
0005672954.tif 000017
【図１７】
0005672954.tif 000018
【図１８】
0005672954.tif 000019
【図１９】
0005672954.tif 000020
【図２０】
0005672954.tif 000021
【図２１】
0005672954.tif 000022