(57)【要約】【課題】ワークフローにおけるタスク制御を適切に実行するワークフロー管理システムを提供する。【解決手段】画像形成装置は、ジョブの実行の後、当該実行の結果、生成されるログをログ管理装置に送信する。ログ管理装置は、送信されたログに基づいて、ワークフロー管理装置にタスクの終了を通知する。ワークフロー管理装置は、タスクの終了を通知されると、ワークフローに従って次のタスクを処理する。【選択図】図５
2019197501.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローを管理するワークフロー管理装置と、画像形成装置と、前記画像形成装置の実行の結果、生成されるログを管理するログ管理装置とを含むワークフロー管理システムであって、
前記ワークフロー管理装置は、
前記ワークフローに従ってタスクを処理する際、当該タスクに対応するジョブを前記画像形成装置に実行させる制御手段、を備え、
前記画像形成装置は、
前記ジョブを実行する実行手段と、
前記実行手段による前記ジョブの実行の後、当該実行の結果、生成されるログを前記ログ管理装置に送信する送信手段と、を備え、
前記ログ管理装置は、
前記送信手段により送信された前記ログに基づいて、前記ワークフロー管理装置に前記タスクの終了を通知する通知手段と、を備え、
前記制御手段は、前記通知手段により前記タスクの終了を通知されると、前記ワークフローに従って次のタスクを処理する、
ことを特徴とするワークフロー管理システム。
【請求項２】
前記ログ管理装置は、
前記ログに基づいて、前記タスクが終了したか否かを判定する第１判定手段、をさらに備え、
前記第１判定手段により前記タスクが終了したと判定された場合、前記通知手段は、前記ワークフロー管理装置に前記タスクの終了を通知する、
ことを特徴とする請求項１に記載のワークフロー管理システム。
【請求項３】
前記ログ管理装置は、
前記ワークフロー管理装置から、前記タスクの処理に関するタスク情報を取得する第１取得手段、をさらに備え、
前記第１判定手段は、前記第１取得手段により取得した前記タスク情報と、前記ログとを比較し、当該比較の結果に基づいて、前記タスクが終了したか否かを判定する、
ことを特徴とする請求項２に記載のワークフロー管理システム。
【請求項４】
前記第１判定手段は、前記タスク情報に含まれる設定値と、前記ログに含まれる設定値とを比較し、一定以上一致すれば、前記タスクが終了したと判定することを特徴とする請求項３に記載のワークフロー管理システム。
【請求項５】
前記ログ管理装置は、
前記ログに基づいて、前記ジョブが前記タスクに対応するジョブであるか否かを判定する第２判定手段、をさらに備え、
前記ジョブが前記タスクに対応するジョブであると前記第２判定手段により判定された場合、前記第１取得手段は、前記ワークフロー管理装置に前記タスク情報を要求する、
ことを特徴とする請求項３又は４に記載のワークフロー管理システム。
【請求項６】
前記ワークフロー管理装置は、
前記タスクの処理対象となる第１画像データを記憶する第１記憶手段、をさらに備え、
前記画像形成装置は、
前記ジョブの実行の結果、得られる第２画像データを記憶する第２記憶手段、をさらに備え、
前記ログ管理装置は、
前記ワークフロー管理装置から前記第１画像データを取得し、前記画像形成装置から前記第２画像データを取得する第２取得手段、をさらに備え、
前記第１判定手段は、前記第２取得手段により取得された前記第１画像データおよび前記第２画像データにさらに基づいて、前記タスクが終了したか否かを判定する、
ことを特徴とする請求項１乃至５のいずれか１項に記載のワークフロー管理システム。
【請求項７】
前記第１判定手段は、前記第１画像データと前記第２画像データとの比較の結果にさらに基づいて、前記タスクが終了したか否かを判定することを特徴とする請求項６に記載のワークフロー管理システム。
【請求項８】
前記第１画像データおよび前記第２画像データはサムネイル画像データであることを特徴とする請求項６又は７に記載のワークフロー管理システム。
【請求項９】
前記タスクはスキャン送信であることを特徴とする請求項６乃至８のいずれか１項に記載のワークフロー管理システム。
【請求項１０】
画像形成装置およびワークフロー管理装置と通信可能なログ管理装置であって、
前記画像形成装置でのジョブの実行の結果、生成されるログを取得する取得手段と、
前記取得手段により取得した前記ログに基づいて、ワークフロー管理装置に前記ログに対応するタスクの終了を通知する通知手段と、
を備えることを特徴とするログ管理装置。
【請求項１１】
ワークフローを管理するワークフロー管理装置と、画像形成装置と、前記画像形成装置の実行の結果、生成されるログを管理するログ管理装置とを含むワークフロー管理システムにおいて実行される制御方法であって、
前記ワークフロー管理装置が、
前記ワークフローに従ってタスクを処理する際、当該タスクに対応するジョブを前記画像形成装置に実行させる制御工程、を有し、
前記画像形成装置が、
前記ジョブを実行する実行工程と、
前記実行工程における前記ジョブの実行の後、当該実行の結果、生成されるログを前記ログ管理装置に送信する送信工程と、を有し、
前記ログ管理装置が、
前記送信工程において送信された前記ログに基づいて、前記ワークフロー管理装置に前記タスクの終了を通知する通知工程と、を有し、
前記制御工程では、前記通知工程において前記タスクの終了を通知されると、前記ワークフローに従って次のタスクを処理する、
ことを特徴とする制御方法。
【請求項１２】
画像形成装置およびワークフロー管理装置と通信可能なログ管理装置において実行される通知方法であって、
前記画像形成装置でのジョブの実行の結果、生成されるログを取得する取得工程と、
前記取得工程において取得した前記ログに基づいて、前記ワークフロー管理装置に前記ログに対応するタスクの終了を通知する通知工程と、
を有することを特徴とする通知方法。
【請求項１３】
請求項１２に記載の通知方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローを管理するワークフロー管理システム、ワークフロー管理システムにおけるログ管理装置、制御方法、通知方法およびプログラムに関する。
【背景技術】
【０００２】
現在、ドキュメントを扱う定型的な業務の効率化のために、ワークフローエンジンを使用したドキュメント業務フローの自動実行が知られている。ワークフローエンジンはサーバー上で動作し、予め決められたワークフロー手順に従って、サーバー上のドキュメントファイルをプリンタでプリントする、作業者にメールを通知するなどのタスクを実行していく。また、サーバーとネットワーク接続されたＰＣなどの機器に対し、ドキュメントファイルの保存や移動、編集などの処理を実行させることができる。さらに、ワークフローエンジンは、ワークフローにおけるタスクとして、サーバーとネットワーク接続されたＭＦＰなどの機器に対し、ドキュメントファイルのプリント、保存された電子データの送信、といった処理を実行させることができる。また、スキャン処理やプリント処理において、ワークフローのタスクで決められている処理を実行するための操作指示ボタンをＭＦＰの操作部画面上に作成して、そのボタンをユーザーが選択することで処理を実行することがある。
【０００３】
ワークフローエンジンは、ＭＦＰの操作部上に作成されたそれらのボタン指示によって実行された処理の終了通知を受信して、ワークフローの次のタスクを実行する。ＭＦＰは、ボタン押下指示によって実行されたジョブの終了イベントをワークフローエンジンに通知している。特許文献１では、ワークフロー実行装置のイベント情報とワークフロー記述とをワークフローの監視装置に送信し、主たるワークフローの監視装置がイベント情報とワークフロー記述を元にワークフローの実行状況を把握する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１１７２９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ワークフローエンジンがサーバー上に管理しているワークフローの処理対象となるドキュメントは、内容確認や閲覧目的のために、ローカルのＰＣなどにダウンロードされた後、プリンタドライバなどを介してＭＦＰにプリント指示されることがある。このとき、内容確認後に、そのままワークフローのタスク実行の正式なプリント処理結果としてタスク処理を進めたい場合がある。
【０００６】
また、ＭＦＰにおけるスキャン処理においても、ＭＦＰに作成したタスク処理実行のためのボタンではなく、ユーザーが普段使用しているスキャン処理設定ボタンなどによって、複数の処理をまとめて実行したいなどの要求がある。この場合、ワークフローにおけるタスク処理と同じ処理が行われたにも関わらず、ＭＦＰ上に作成されたタスク実行のためのボタンを押下指示して実行していないため、ワークフローエンジンが処理の終了通知を受け取ることができない。このため、ワークローエンジンが管理しているタスク状態と、実際の処理状態とに矛盾が生じるため、ワークフローエンジンによる以降のタスク処理が正しく行われないことになる。これにより、ユーザーは再度ＭＦＰ上のタスク実行のためのボタンを押下して処理を実行しなければならず、タスク実行処理における利便性が低下してしまう。特許文献１では、ワークフロー実行装置において、ワークフロー記述に基づくワークフローの実行が必要となるため、ドキュメントにおけるワークフローと同等の処理が実行された場合でも、それをワークフローの実行結果として把握することはできない。
【０００７】
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、ワークフローにおけるタスク制御を適切に実行するワークフロー管理システム、ワークフロー管理システムにおけるログ管理装置、制御方法、通知方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係るワークフロー管理システムは、ワークフローを管理するワークフロー管理装置と、画像形成装置と、前記画像形成装置の実行の結果、生成されるログを管理するログ管理装置とを含むワークフロー管理システムであって、前記ワークフロー管理装置は、前記ワークフローに従ってタスクを処理する際、当該タスクに対応するジョブを前記画像形成装置に実行させる制御手段、を備え、前記画像形成装置は、前記ジョブを実行する実行手段と、前記実行手段による前記ジョブの実行の後、当該実行の結果、生成されるログを前記ログ管理装置に送信する送信手段と、を備え、前記ログ管理装置は、前記送信手段により送信された前記ログに基づいて、前記ワークフロー管理装置に前記タスクの終了を通知する通知手段と、を備え、前記制御手段は、前記通知手段により前記タスクの終了を通知されると、前記ワークフローに従って次のタスクを処理する、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ワークフローにおけるタスク制御を適切に実行することができる。
【図面の簡単な説明】
【００１０】
【図１】システム構成を示す図である。
【図２】ＭＦＰのハードウェア構成を示す図である。
【図３】サーバー及びＰＣのハードウェア構成を示す図である。
【図４】ワークフローを説明するための図である。
【図５】システム全体の処理を示す図である。
【図６】ログ収集サーバーにおける処理を示す図である。
【図７】システム全体の処理を示す図である。
【図８】ログ収集サーバーにおける処理を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
［第１の実施形態］
＜ハードウェア構成＞
図１は、本発明の実施形態を適用可能なシステムの全体構成を示す図である。このワークフロー管理システムでは、画像形成装置であるＭＦＰ１０１と、ワークフローエンジンが搭載されたサーバー（以下、ＷＦサーバー）１０２、ログ収集サーバー１０４およびＰＣ１０３などがＬＡＮ１０５を介して相互に通信可能に接続されたネットワークによって接続されている。
【００１３】
ＭＦＰ１０１は、原稿をスキャンし、そのスキャンデータを元に用紙等の記録媒体に画像を形成して印刷するコピー機能や、スキャンデータを電子的なデータとしてＷＦサーバー１０２やＰＣ１０３にネットワーク経由で送信するスキャン送信といった機能を持つ。さらに、ＭＦＰ１０１は、ＷＦサーバー１０２などネットワーク接続された外部機器からの要求により、送信された画像データをプリントアウトしたり、スキャン送信したりする機能を持つ。このとき、プリントやコピー、スキャン送信機能における設定値は、処理実行の要求元であるＷＦサーバー１０２が、実行要求時もしくは実行トリガの作成要求時に指定する。また、ＭＦＰ１０１は、プリントやコピー、スキャン送信といった処理をジョブとして実行し、そのジョブの実行に関するログをログ収集サーバー１０４に送信する。
【００１４】
ＷＦサーバー１０２は、予め指定された処理順に従って順番に処理を実行するワークフローエンジン（以下、ＷＦエンジン）の機能を搭載している。ＷＦエンジンは、予め指示された処理順が記述されているワークフロー定義に従い、サーバー１０２やＰＣ１０３におけるファイル操作、メールサーバー（不図示）へのメール送信、ＭＦＰ１０１に対する処理実行要求などの処理を自動的に行う。
【００１５】
ログ収集サーバー１０４は、ＭＦＰ１０１から送信されたログを収集して保存する。また、ログ収集サーバー１０４は、ＷＦサーバー１０２に搭載されたＷＦエンジンから、ＷＦエンジンが実行しているワークフローの情報や、ワークフローによって実行されるＭＦＰ１０１での処理の設定値情報を取得することができる。ログ収集サーバー１０４は、ＭＦＰ１０１が持つログ情報を定期的に取得する方法で、ログを収集しても良い。ここでは、ログ収集サーバー１０４は、一例として、ＭＦＰ１０１が送信したログを受信することでログ収集するものとする。
【００１６】
図２は、ＭＦＰ１０１の構成を示すブロック図である。このＭＦＰ１０１は、スキャナ２１３およびプリンタ２１４を接続するとともに、操作表示部２１１、操作入力部２１２、およびＬＡＮ１０４を接続することが可能なコントローラユニット２００を備える。コントローラユニット２００は、ＭＦＰ１０１を統括的に制御し、各種制御プログラムを実行するＣＰＵ２０１を有する。ＣＰＵ２０１は、ＲＯＭ２０３に格納されているブートプログラムに基づきＭＦＰ１０１を起動する。また、ＣＰＵ２０１は、ＨＤＤ２０４に格納されている制御プログラムを読み出し、ＲＡＭ２０２をワークエリアとして所定の処理を実行する。
【００１７】
ＨＤＤ２０４には、コピーやスキャン送信の機能を含む各種制御プログラムが格納されており、スキャナ２１３から読み込んだスキャンデータが格納される。操作部出力Ｉ／Ｆ２０５は、操作表示部２１１へのデータ出力通信制御を行う。操作部入力Ｉ／Ｆ２０６は、操作入力部２１２からのデータ入力通信制御を行う。ネットワークＩ／Ｆ２０７は、ＬＡＮ１０５に接続され、ＬＡＮ１０５を介した情報の入出力制御を行う。スキャナＩ／Ｆ２０８は、スキャナ２１３から画像データを入力するとともに、スキャナ制御データの入出力を行う。プリンタＩ／Ｆ２０９は、プリンタ２１４へ出力画像データを出力するとともに、プリンタ制御データの入出力を行う。
【００１８】
以上、ＣＰＵ２０１〜プリンタＩ／Ｆ２０９までのデバイスがシステムバス２１０に接続される。
【００１９】
操作入力部２１２は、タッチパネルやハードウェアキーなどの入力装置を備えた、ユーザーからの指示入力インターフェースである。ハードウェアキーには、原稿のスキャン実行開始を指示するためのスタートボタンなどが含まれる。操作表示部２１１は、ＬＣＤやＬＥＤなどの表示装置を備えた、ユーザーへの表示インターフェース部である。スキャナ２１３は、ＣＣＤなどの光学的な読取装置を備え、原稿を光学的に走査して、電子的なスキャンデータとして読み取る機能を持つ。プリンタ２１４は、電子的な画像データを、用紙などの記録媒体上に画像として形成する機能を持つ。
【００２０】
また、ＭＦＰ１０１は、ネットワークＩ／Ｆ２０７を介して、装置外の機器からプリント処理やスキャン送信などの実行要求を受信することが可能である。処理の実行要求は、実行処理の種別や実行時の設定値情報などとともに、外部機器から依頼され、ＨＤＤ２０４やＲＡＭ２０２などに一時的に保存された後、ＣＰＵ２０１によって実行される。さらに、ＭＦＰ１０１は、プリントやスキャン送信などの処理を実行した際、その設定値や実行結果などをログとしてＨＤＤ２０４に保存する。ＨＤＤ２０４に保存されたログは、ジョブ実行直後もしくは所定の時間間隔で、ネットワークＩ／Ｆ２０７を介してＭＦＰ１０１の外部の機器に送信することが可能である。
【００２１】
ＭＦＰ１０１は、ユーザーＩＤやパスワードの入力画面（ログイン画面）を表示し、入力されたユーザー情報を元に、自機のユーザー管理機能もしくは外部のユーザー管理機能を用いて認証を行うことができる。ログイン画面で正しいユーザー情報が入力された場合に、ＭＦＰ１０１を操作可能にし、ＭＦＰ１０１での処理終了を指示するログアウトの操作によって再びログイン画面に遷移する。
【００２２】
図３は、ＷＦサーバー１０２の構成を示すブロック図である。なお、ＰＣ１０３およびログ収集サーバー１０４もＷＦサーバー１０２と同様の構成を持つ。ＷＦサーバー１０２は、ＬＡＮ１０５に接続可能な制御部３００を持つ。制御部３００は、各種制御プログラムを実行するＣＰＵ３０１を有し、ＷＦサーバー１０２の全体の動作を統括的に制御する。
【００２３】
ＣＰＵ３０１は、ＲＯＭ３０３やＨＤＤ３０４に格納されている制御プログラムを読み出し、ＲＡＭ３０２をワークエリアとして所定の処理を実行する。ＨＤＤ３０４には、ＷＦエンジンやＷＥＢサーバー、およびＷＥＢアプリなどの機能を含む各種制御プログラムが格納されている。また、ＷＦエンジンが実行するワークフロー定義およびワークフロー実行時にＭＦＰ１０１で処理されるジョブの設定値情報も格納されている。
【００２４】
ネットワークＩ／Ｆ３０５は、ＬＡＮ１０５を介した情報の入出力制御を行う。操作部出力Ｉ／Ｆ３０６は、操作表示部３０８へのデータ出力通信制御を行う。操作部入力Ｉ／Ｆ３０７は、操作入力部３０９からのデータ入力通信制御を行う。
【００２５】
以上、ＣＰＵ３０１〜操作部入力Ｉ／Ｆ３０７までのデバイスが、システムバス３１０に接続される。
【００２６】
操作表示部３０８は、ＬＣＤやＬＥＤなどの表示装置を備えた、ユーザーへの表示インターフェース部である。操作入力部３０９は、キーボードやポインティングデバイスなどの入力装置を備えた、ユーザーからの指示入力インターフェース部である。
【００２７】
また、ＷＦサーバー１０２では、ＷＥＢサーバーが動作している。ＷＦエンジンは、ＷＥＢサーバーを用いてＷＥＢアプリケーションが生成するＨＴＭＬコンテンツを提供可能である。ＷＦエンジンは、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）などによって動的にコンテンツを作成することができ、ワークフロー実行のための操作画面を提供することができる。
【００２８】
ログ収集サーバー１０４では、上記の構成の他、ログ監視アプリケーションが動作している。ログ監視アプリケーションは、ＭＦＰ１０１から送信された処理実行のログを受信することができ、さらにＷＦエンジンからタスク情報を取得することができる。
【００２９】
＜ワークフローの構成と実行＞
図４は、本実施形態におけるワークフロー実行システムが実行するワークフローの例を模式的に示したものである。フロー処理４０１〜４０４は、ＷＦエンジンによって実行されるワークフローのそれぞれの処理を表す。フロー処理４０１〜４０４が示すワークフローは、ドキュメントを処理するワークフローである。ここでは、フロー処理４０１〜４０４が連続的に実行されることを示している。ＷＦエンジンは、ワークフローの開始時に指定された電子データのドキュメントについて、これらの処理を連続的に実行する。
【００３０】
フロー処理４０１は、承認処理である。承認処理とは、例えばドキュメントを指定してワークフローの開始を指示したユーザーの上長に対して、ドキュメントに記載された内容について承認をもらうための処理である。例えば、ＷＦエンジンは、ディレクトリサービスやデータベースから、フローを開始したユーザーの上長のメールアドレスを取得し、承認の依頼とＷＦエンジンが提供するＷＥＢ画面での入力指示とをメールで送信する。ＷＦエンジンが提供するＷＥＢ画面において上長が許可する旨の承認結果を入力すると、ＷＦエンジンは、次のフロー処理４０２を実行する。ここで、上長が却下など許可以外を入力した場合については、本実施形態の動作の主旨と関連性が低いので説明の簡略化のためその説明を省略する。
【００３１】
フロー処理４０２は、ドキュメントをＭＦＰ１０１によってプリントする処理である。例えば、ＷＦエンジンは、プリントジョブ実行のためドキュメントデータおよびジョブの設定値を送信し、ＭＦＰ１０１に対して、プリント実行のためのボタンの作成を指示する。さらに、ＷＦエンジンは、ユーザーに対して、ＭＦＰ１０１においてプリント処理を促すメールを送信する。ユーザーによってプリントボタンが指示されると、ＭＦＰ１０１は予め指示された設定値でドキュメントをプリントする。さらに、ＭＦＰ１０１は、プリントボタンの指示によって実行されたジョブの終了通知をＷＦエンジンに送信する。フロー処理４０２でプリントのジョブの終了通知を受けると、ＷＦエンジンは、次のフロー処理４０３を実行する。
【００３２】
フロー処理４０３は、ＭＦＰ１０１に対して原稿をスキャンし、スキャンしたスキャンデータをＷＦサーバー１０２に送信させる処理である。まず、ＷＦエンジンは、スキャンジョブ実行のための設定値を送信し、ＭＦＰ１０１においてスキャン送信ジョブを実行するためのボタンの作成を指示する。また、ＷＦエンジンは、ユーザーに対して、ＭＦＰ１０１においてスキャン処理を促すメールを送信する。
【００３３】
ユーザーによってスキャン送信ボタンが指示されると、ＭＦＰ１０１は予め指示された設定値でドキュメントをスキャンし、送信処理を行う。さらに、ＭＦＰ１０１は、スキャン送信ボタンの指示によって実行されたジョブの終了通知をＷＦエンジンに送信する。スキャンジョブの終了通知を受信すると、ＷＦエンジンは、次のフロー処理４０４を実行する。
【００３４】
フロー処理４０４は、電子データをＰＣやファイルサーバーなどのファイルシステムに、ファイルとして保存する処理である。例えば、ＷＦエンジンは、受信した電子データを、所定のファイル形式に変換したり、ファイル名を変更したりした後、ファイルシステムの指定された場所にファイルを移動する。フロー処理４０４において、ファイルの移動を完了すると、ワークフローの処理をすべて実行した旨のメールをユーザーに送信し、ワークフローの実行を完了する。
【００３５】
フロー処理４０１〜４０４のワークフローは、電子データとして作成した申請書に対して、上長による確認と承認、プリント、プリントした紙文書への捺印やサイン、捺印後の紙文書の電子データとしての保存と紙文書の提出、という処理を順番に行う。これは、一般的なオフィスで処理されている申請書処理フローに基づく一例であり、本実施形態のワークフローは、上記の申請書処理フローに限られず、他の処理フローが実行されても良い。
【００３６】
図４に示したワークフローは、以降の実施形態の説明において、ＷＦエンジンが実行するワークフローの例として使用する。また、ワークフローにおけるフロー処理４０１〜４０４は、上述したようにいくつかの処理に細分することができる。フロー処理４０１〜４０４のような、ある程度の詳細処理をまとめたフローの実行単位を、便宜上タスクと呼ぶ。例えば、フロー処理４０１は一つのタスクと表現する。
【００３７】
図５は、第１の実施形態において、図４に示した一連のワークフローの処理を、図１に示したシステム全体における各装置やアプリケーションが行う処理の流れとして示すフロー図である。ここで、ＷＦエンジン５２０は、ＷＦサーバー１０２上で動作するアプリケーションであり、ログ監視アプリケーション５２１は、ログ収集サーバー１０４上で動作するアプリケーションである。なお、ここでは、図４で示した一連のワークフロー処理において、ＭＦＰ１０１のプリント処理を実行するタスク処理４０２の処理を例にして、処理の流れを詳細に記述する。つまり、図５の動作は、他のタスク処理についても同様に適用され得る。
【００３８】
まず、ＷＦエンジン５２０は、タスク処理４０１を実行する（Ｓ５０１）。ワークフローにおけるタスク処理４０２は、ＭＦＰ１０１におけるプリント処理であるため、ＷＦエンジン５２０は、ＭＦＰ１０１に対してプリントを実行するためのボタン生成を指示する（Ｓ５０２）。ここで、ＷＦエンジン５２０は、プリント処理対象となるドキュメントデータとプリントする際の設定値情報をＭＦＰ１０１に渡す。ＭＦＰ１０１は、指示されたドキュメントデータと設定値に基づいて、プリントジョブ実行のためのジョブ実行データを作成し、ＨＤＤ２０４に保存する。
【００３９】
さらに、このプリントジョブを実行するためのトリガとなるプリント実行ボタンをＭＦＰ１０１の操作部画面上に生成する（Ｓ５０３）。また、ＷＦエンジン５２０は、Ｓ５０２の処理で、ＭＦＰ１０１に対してプリントジョブ実行のボタン作成を指示した後、指示したプリントジョブに対するジョブ終了通知を待機する（Ｓ５０４）。通常、ユーザーはＳ５０３で生成されたボタンを押下することで、タスク処理４０２におけるプリント処理を実行する。このボタンを押下することで、ＷＦエンジン５２０が指示したドキュメントデータが同じく指示された設定値でプリントされる。さらに、ボタン押下によるプリントジョブ終了後、ジョブ終了通知がＷＦエンジン５２０に対して通知され、ＷＦエンジン５２０は次のタスク処理を実行することができる。つまり、通常では、ボタン押下によってプリントジョブが実行されないと、ＷＦエンジン５２０に対してジョブ終了が通知されず、ＷＦエンジン５２０は、次のタスク処理を実行することができない。
【００４０】
一方、本実施形態では、Ｓ５０３で生成されたボタン押下によるプリントジョブ実行以外でも、このボタン押下によるプリントジョブ実行と同じ結果となるプリントジョブが実行された場合は、ＷＦエンジン５２０にジョブ終了が通知される。これにより、ＷＦエンジン５２０は次のタスク処理を実行することができる。ここでは、Ｓ５０３において生成されたボタン押下以外のプリントジョブ実行として、ユーザーがＰＣ１０３からプリンタドライバを使用して、ＭＦＰ１０１に対してプリントを指示した場合を説明する。
【００４１】
ＰＣ１０１は、現在のワークフロー処理の対象となっているドキュメントをドキュメントサーバーなどからダウンロードするなどして取得しＨＤＤ３０４に格納する（Ｓ５０５）。さらに、プリンタドライバを使用してＭＦＰ１０１に対してプリントを指示する（Ｓ５０６）。
【００４２】
ＭＦＰ１０１は、ＰＣ１０３から受信したプリント指示に従って、ドキュメントをプリントするためのジョブを実行する（Ｓ５０７）。さらに、ＭＦＰ１０１は、プリントジョブ実行後、実行したジョブに関するログをログ監視アプリケーション５２１に送信する（Ｓ５０８）。このログには、プリントを実行した際の印刷部数、レイアウト設定、両面プリントの有無などプリント設定値の他に、プリントした時刻、プリントしたドキュメントのドキュメント名、プリントを指示したユーザー名などが記録されている。また、ログは、ＭＦＰ１０１におけるプリンタドライバからの指示によるプリントジョブだけでなく、他のアプリケーションやネットワークプロトコルを使用したプリントジョブ実行の際にも生成され、ログ監視アプリケーション５２１に送信される。他にも、スキャン送信ジョブや、コピージョブなど、ＭＦＰ１０１において実行されたジョブのログが生成され、ログ監視アプリケーション５２１に送信される。
【００４３】
ログ監視アプリケーション５２１は、ＭＦＰ１０１からログを受信した後、そのログの内容を解析し、ワークフローのタスク実行に関連するジョブの実行が行われたか否かを判定する（Ｓ５０９）。図４のワークフローの例では、ＭＦＰ１０１におけるプリントおよびスキャン送信ジョブがタスク処理として含まれるため、ログからそれらのジョブが実行されたか否かを判定する。なお、このジョブとワークフロータスク実行との関連性は、予めログ管理アプリケーション５２１が定義を保持している。
【００４４】
ログ監視アプリケーション５２１は、ワークフローに関連するプリントジョブが実行されたと判定すると、ＷＦエンジン５２０に対して現在プリントジョブの実行待ち状態にあるタスクの情報を要求する（Ｓ５１０）。このとき、ログに記載されたジョブ実行ユーザーの情報を渡し、特定のユーザーのタスク情報を要求しても良い。
【００４５】
タスク情報の要求を受けたＷＦエンジン５２０は、指示されたユーザーのタスクで、かつプリントジョブの実行待ち状態にあるタスクを検索し、そのタスク情報を取得する（Ｓ５１１）。このタスク情報には、プリントを実行するタスクにおけるプリントドキュメント名、Ｓ５０２でＭＦＰ１０１に指示したプリント設定値、プリントを実行するユーザー名などの情報が含まれる。
【００４６】
さらに、ＷＦエンジン５２０は、ログ監視アプリケーション５２１に、取得したタスク情報を送信する（Ｓ５１２）。タスク情報を受信したログ監視アプリケーション５２１は、受信したタスク情報とＳ５０８で受信したログとを比較する。さらに、プリントジョブ実行待ち状態にあるタスクのうち、ＭＦＰ１０１で実行されたプリントジョブと同じドキュメントであり、かつ同じプリント設定値のものがあるか否かを判定する（Ｓ５１３）。ここで、同じドキュメントであるか否かは、例えばドキュメント名が同じであるか否かで判定する。また、ＷＦエンジン５２０がＭＦＰ１０１に対して指示したプリント設定値と、ＭＦＰ１０１が実際にプリントジョブを実行した際の設定値の比較においては、全ての設定値の一致ではなく、その一部の設定値の一致のみを判定しても良い。
【００４７】
Ｓ５１３において、ＭＦＰ１０１で実行されたプリントジョブと同じプリントジョブを実行待ちのタスクがあると判定した場合、ログ監視アプリ５２１は、ＷＦエンジン５２０に対して、そのプリントジョブの終了通知を送信する（Ｓ５１４）。さらに、ジョブ終了通知を受信したＷＦエンジン５２０は、そのプリントジョブ実行待ちのタスクを完了し、ワークフローにおける次のタスクを実行する（Ｓ５１５）。つまり、本例では、タスク処理４０２が完了し、タスク処理４０３が実行される。
【００４８】
図６は、本実施形態におけるログ監視アプリケーションの処理の流れを示すフローチャートである。図６のフローチャートにおける各処理は、ログ収集サーバー１０４のＨＤＤ３０４に格納されたログ管理アプリケーションの実行プログラムを、ＣＰＵ３０１が実行することにより処理される。
【００４９】
まず、ログ監視アプリケーション５２１は、ＭＦＰ１０１から送信されるログの受信を待機する（Ｓ６０１）。次に、ログ監視アプリケーション５２１は、ＭＦＰ１０１からログ情報を受信したか否かを判定する（Ｓ６０２）。ログ情報を受信していないと判定した場合は、Ｓ６０１の処理に戻る。
【００５０】
Ｓ６０２において、ログ情報を受信したと判定した場合は、ログ監視アプリケーション５２１は、ワークフローのタスク実行に関連するジョブの実行が行われたか否かを判定する（Ｓ６０３）。ワークフローのタスク実行に関連するジョブか否かについては、ログ管理アプリケーション５２１がＨＤＤ３０４に定義を予め保持している。また、ＷＦエンジン５２０に対して、現在実行しているワークフローがログ情報から得られたジョブのタスクを含むか否かを問い合わせても良い。ワークフローのタスク実行に関連するジョブの実行が行われていないと判定した場合は、Ｓ６０１の処理に戻る。
【００５１】
Ｓ６０３において、ワークフロータスク実行に関連するジョブの実行が行われたと判定した場合、ログ監視アプリケーション５２１は、ＷＦエンジン５２０に対して、ＭＦＰ１０１において実行されたジョブの実行待ち状態にあるタスクの情報を取得する（Ｓ６０４）。ここでは、ログ監視アプリケーション５２１は、ＷＦエンジン５２０に対して、ログ情報から得られたプリントやスキャンなどのジョブの種類情報とともに要求し、ＷＦエンジン５２０からそのジョブ種類に一致するジョブの実行待ち状態にあるタスクの情報を取得する。このとき、ジョブの種類だけでなく、ジョブを実行したユーザー識別子などの情報も送信し、そのジョブ種類に一致するジョブの実行待ち状態にあるタスクで、かつタスクを実行するべきユーザーが一致するタスクの情報を取得しても良い。ここで、タスクの情報には、プリントジョブを実行するタスクにおけるプリントドキュメント名、プリントやスキャンジョブを実行する際の設定値、ジョブを実行するユーザー名などの情報が含まれる。
【００５２】
さらに、ログ監視アプリケーション５２１は、取得したタスク情報から、Ｓ６０４で要求したタスクが存在するか否かを判定する（Ｓ６０５）。例えば、Ｓ６０２で受信したログのジョブ種類に一致するジョブの実行待ちであり、かつログにおけるジョブ実行ユーザーがタスク実行ユーザーと一致するタスクが存在するか否かを判定する。タスクが存在しないと判定した場合、Ｓ６０１の処理に戻る。
【００５３】
Ｓ６０５において、タスクが存在すると判定した場合、さらにＳ６０４で取得したタスク情報とＳ６０２で受信したログとを比較する。ここでは、Ｓ６０５で判定したタスクが処理しているドキュメントが、ＭＦＰ１０１で実行されたジョブと同じドキュメントであり、かつ同じ設定値であるか否かを比較する（Ｓ６０６）。
【００５４】
さらに、ログ監視アプリケーション５２１は、ジョブが実行されたドキュメントとジョブ実行待ちにあるタスクの処理ドキュメントとが同じものであり、かつ実行ジョブの設定値とＭＦＰ１０１に実行指示したジョブ設定値とが、一定以上一致するか否かを判定する（Ｓ６０７）。ここで、同じドキュメントであるか否かは、例えばドキュメント名が同じであるか否かで判定する。また、ジョブの設定値には、プリント時の印刷部数の数、プリント時の縮小レイアウト設定、両面設定、スキャン時の読み込み解像度、両面読込設定、カラーモード設定などがある。これらの全て、もしくはその一部が一致したときに、設定値が一致したと判定する。両者のドキュメントが異なる、もしくは設定値が一定以上一致しないと判定した場合は、Ｓ６０１の処理に戻る。
【００５５】
Ｓ６０７において、両者のドキュメントが同じものであり、かつ設定値が一定以上一致すると判定した場合は、ログ監視アプリケーション５２１は、ＷＦエンジン５２０に対して、ログにおける実行ジョブに相当するジョブ実行待ちタスクに対して、ジョブ終了の通知を送信する（Ｓ６０８）。
【００５６】
以上のように、本実施形態では、ＷＦエンジンによってＭＦＰ１０１上に作成されたタスク実行ボタンをユーザーが指示しなくとも、そのボタン押下によるジョブ実行と同じ結果を得られるジョブが実行された際、ＷＦエンジンにそのジョブの終了が通知される。その結果、現在のタスクを完了して次のタスクを正常に実行することができる。
【００５７】
これにより、ＭＦＰ１０１でのジョブ実行処理を含むタスクを、ＷＦエンジンの指定する方法以外で実行することが可能になる。さらに、実行場所の制約を受けないタスク実行や、ＰＣにおけるドキュメント修正後のタスク実行、ユーザーの操作ミスに対するリカバリ実行が可能になるなど、タスク実行における利便性を向上させることができる。
【００５８】
［第２の実施形態］
以下、第２の実施形態について第１の実施形態と異なる点について説明する。本実施形態では、ＭＦＰ１０１でのジョブ実行待ちになっているタスクが処理するドキュメント、ＭＦＰ１０１でジョブ実行されたドキュメントが一致するか否かの判定において、そのドキュメントのサムネイル画像が一致するか否かを考慮する。
【００５９】
図７は、本実施形態において、図４に示した一連のワークフローの処理を、図１に示したシステム全体における各装置やアプリケーションが行う処理の流れとして示すフロー図である。なお、ここでは、図４で示した一連のワークフロー処理において、ＭＦＰ１０１のスキャン送信処理を実行するタスク処理４０３を例にして、処理の流れを詳細に記述する。つまり、図７の動作は、他のタスク処理についても同様に適用され得る。
【００６０】
まず、ＷＦエンジン５２０は、タスク処理４０２までの処理を実行する（Ｓ７０１）。さらに、ＷＦエンジン５２０は、現在ワークフローを実行しているドキュメントのサムネイル画像を作成してＨＤＤ３０４に保存する（Ｓ７０２）。これは、ドキュメントを低解像度で印刷する際のラスター画像でも、ＪＰＥＧやＰＮＧなどの画像フォーマットに変換したものでも良い。また、この際、このドキュメントのサムネイル画像は、現在そのドキュメントを処理しているワークフローのタスクに関連付けられて保存される。
【００６１】
次に、このワークフローにおける次のタスク処理４０３は、ＭＦＰ１０１におけるスキャン送信処理であるため、ＷＦエンジン５２０は、ＭＦＰ１０１に対してスキャン送信を実行するためのボタン生成を指示する（Ｓ７０３）。ここで、ＷＦエンジン５２０は、スキャン送信する際の設定値情報をＭＦＰ１０１に渡す。ＭＦＰ１０１は、指示されたスキャン送信の設定値情報に基づいて、スキャン送信ジョブ実行のためのジョブ実行データを作成し、ＨＤＤ２０４に保存する。
【００６２】
さらに、このプリントジョブを実行するためのトリガとなるスキャン送信実行ボタンをＭＦＰ１０１の操作部画面上に生成する（Ｓ７０４）。また、ＷＦエンジン５２０は、Ｓ７０３の処理で、ＭＦＰ１０１に対してスキャン送信実行のボタン作成を指示した後、指示したスキャン送信ジョブに対するジョブ終了通知を待機する（Ｓ７０５）。通常、ユーザーはＳ７０４で生成されたボタンを押下することで、タスク処理４０３におけるスキャン送信処理を実行する。このボタンを押下することで、ＷＦエンジン５２０が指示した設定値で原稿のドキュメントがスキャンされ、送信される。さらに、ボタン押下によるスキャン送信ジョブの終了後、ジョブ終了通知がＷＦエンジン５２０に対して通知され、ＷＦエンジン５２０は次のタスク処理を実行することができる。ここでは、Ｓ７０４において生成されたボタン押下以外のスキャン送信実行として、ユーザーが自分自身でＭＦＰ１０１の操作部画面を操作してスキャン送信の設定値を設定した場合を考える。もしくはスキャン送信のための設定を設定するショートカットボタンなどを予め設定しておきそれを指定した場合を説明する。
【００６３】
ユーザーは、スキャンする原稿ドキュメントをＭＦＰ１０１のスキャナにセットし、ＭＦＰ１０１の操作部画面において、自分自身でスキャン送信のための設定値を設定して、スキャン送信実行を指示する（Ｓ７０６）。
【００６４】
ＭＦＰ１０１は、指示されたスキャン送信設定に従って、原稿ドキュメントをスキャンし、スキャンしたスキャンデータを送信するジョブを実行する（Ｓ７０７）。さらに、ＭＦＰ１０１は、スキャンしたドキュメントのサムネイル画像をＨＤＤ２０４に保存する（Ｓ７０８）。このサムネイル画像は、スキャナでスキャンした際のラスター画像であっても、送信時に変換されたＪＰＥＧ、ＰＮＧ、ＰＤＦなどの画像データ形式であっても良い。
【００６５】
また、ＭＦＰ１０１は、スキャン送信実行後、実行したスキャン送信ジョブに関するログをログ監視アプリケーション５２１に送信する（Ｓ７０９）。このログには、スキャン送信を実行した際の読取原稿枚数、解像度、両面読込の有無などスキャン設定値の他に、送信した時刻、送信先宛先、スキャン送信を実行したユーザー名などが記録されている。
【００６６】
ログ監視アプリケーション５２１は、ＭＦＰ１０１からログを受信した後、そのログの内容を解析し、ワークフローのタスク実行に関連するジョブの実行が行われたか否かを判定する（Ｓ７１０）。これは、図５のＳ５０９と同様の処理である。ログ監視アプリケーション５２１は、ワークフローに関連するスキャン送信ジョブが実行されたと判定すると、ＷＦエンジン５２０に対して現在スキャン送信ジョブの実行待ち状態にあるタスクの情報を要求する（Ｓ７１１）。このとき、ログに記載されたジョブ実行ユーザーの情報を渡し、特定のユーザーのタスク情報を要求しても良い。
【００６７】
タスク情報の要求を受けたＷＦエンジン５２０は、指示されたユーザーのタスクで、かつスキャン送信ジョブの実行待ち状態にあるタスクを検索し、そのタスク情報を取得する（Ｓ７１２）。このタスク情報には、Ｓ７０３でＭＦＰ１０１に指示したスキャン送信の設定値、スキャン送信を実行するユーザー名などの情報が含まれる。さらに、ＷＦエンジン５２０は、ログ監視アプリケーション５２１に、取得したタスク情報を送信する（Ｓ７１３）。
【００６８】
タスク情報を受信したログ監視アプリケーション５２１は、受信したタスク情報とＳ５０８で受信したログとを比較し、スキャン送信実行待ち状態にあるタスクのうち、同じスキャン送信設定値のものがあるか否かを判定する（Ｓ７１４）。ＷＦエンジン５２０がＭＦＰ１０１に対して指示したスキャン送信設定値と、ＭＦＰ１０１が実際にスキャン送信ジョブを実行した際の設定値の比較においては、全ての設定値の一致ではなく、その一部の設定値の一致のみを判定しても良い。
【００６９】
Ｓ７１４において、実行されたスキャン送信ジョブと同じジョブを実行待ちのタスクがあると判定した場合、ログ監視アプリケーション５２１は、ＷＦエンジン５２０に対して、そのタスクに関連付けられたサムネイル画像データを要求する（Ｓ７１５）。ＷＦエンジン５２０は、Ｓ７０２で保存したサムネイル画像から、要求されたタスクに関連付けられているサムネイル画像を取得し、ログ監視アプリケーション５２１に送信する（Ｓ７１６）。
【００７０】
さらに、ログ監視アプリケーション５２１は、ＭＦＰ１０１に対して、Ｓ７１４においてスキャン送信ジョブ実行時と同じスキャン送信設定値を持つタスクがあると判定した際の、スキャンジョブ実行時のサムネイル画像データを要求する（Ｓ７１７）。ＭＦＰ１０１は、Ｓ７０８で保存したサムネイル画像から、要求されたスキャン送信ジョブに相当するサムネイル画像を取得し、ログ監視アプリケーション５２１に送信する（Ｓ７１８）。次に、ログ監視アプリケーション５２１は、Ｓ７１６で取得した画像とＳ７１８で取得した画像とを比較する（Ｓ７１９）。この画像比較方法については後述する。
【００７１】
画像が一定以上の割合で一致すると判定された場合、ログ監視アプリケーション５２１は、ＷＦエンジン５２０に対して、そのスキャン送信ジョブの終了通知を送信する（Ｓ７２０）。さらに、ジョブ終了通知を受信したＷＦエンジン５２０は、そのスキャン送信ジョブ実行待ちのタスクを完了し、ワークフローにおける次のタスクを実行する（Ｓ７２１）。つまり、本例では、タスク処理４０３が完了し、次のタスク処理４０４が実行される。
【００７２】
図８は、本実施形態におけるログ監視アプリケーションの処理の流れを示すフローチャートである。図８のフローチャートにおける各処理は、ログ収集サーバー１０４のＨＤＤ３０４に格納されたログ管理アプリケーションの実行プログラムを、ＣＰＵ３０１が実行することにより処理される。
【００７３】
ここで、Ｓ８０１〜Ｓ８０５の処理は、図６におけるＳ６０１〜Ｓ６０５の処理と同様のため、それらの説明を省略する。
【００７４】
Ｓ８０５において、タスクが存在すると判定した場合、さらにＳ８０４で取得したタスク情報とＳ８０２で受信したログとを比較する。つまり、Ｓ８０５で存在すると判定したタスクが処理するジョブの設定値が、ＭＦＰ１０１で実行されたジョブと同じ設定値であるか否かを比較し判定する（Ｓ８０６）。
【００７５】
さらに、ログ監視アプリケーション５２１は、ＭＦＰ１０１において実行されたジョブの設定値と、ジョブ実行待ちにあるタスクがＭＦＰ１０１に実行指示した際のジョブ設定値とが、一定以上一致するか否かを判定する（Ｓ８０７）。
【００７６】
ここで、ジョブの設定値には、プリント時の印刷部数の数、プリント時の縮小レイアウト設定、両面設定がある。さらに、ジョブ設定値として、スキャン時の読取解像度、両面読取設定、カラーモード設定などがあり、これらの全て、もしくはその一部が一致したときに、設定値が一致したと判定する。両者の設定値が一定以上一致しないと判定した場合は、Ｓ８０１の処理に戻る。
【００７７】
Ｓ８０７において、ジョブの設定値が一定以上一致すると判定した場合、ログ監視アプリケーション５２１は、ＷＦエンジン５２０に対して、実行ジョブに相当するジョブ実行待ちのタスクに関連付けられたサムネイル画像データを要求し、取得する（Ｓ８０８）。さらに、ログ監視アプリケーション５２１は、ＭＦＰ１０１に対して、ログにおける実行ジョブに相当するサムネイル画像データを要求し、取得する（Ｓ８０９）。
【００７８】
次に、ログ監視アプリケーション５２１は、Ｓ８０８およびＳ８０９で取得した画像データを比較する（Ｓ８１０）。このとき、両者の画像データに解像度の違いやフォーマットなどの違いがあれば適宜変換する。画像比較にはいくつかの方法があるが、ノイズなどを取り除いた上で単純に画素単位のデータ比較を行う方法や、四分木によって再帰的に領域を分割しながら各領域の特徴量の類似度を判断する方法など、いずれの方法が採用されても良い。
【００７９】
さらに、ログ監視アプリケーション５２１は、両者の画像データを比較した結果、一定以上の一致が見られたか否かを判定する（Ｓ８１１）。ここで、一定以上の一致が見られないと判定した場合は、Ｓ８０１の処理に戻る。Ｓ８１１において、両者の画像データが一定以上一致すると判定した場合、ログ監視アプリケーション５２１は、ＷＦエンジン５２０に対して、ログにおける実行ジョブに相当するジョブ実行待ちタスクに対して、ジョブ終了の通知を送信する（Ｓ８１２）。
【００８０】
以上のように、本実施形態では、第１の実施形態において、ワークフローにて処理しているドキュメントのドキュメント名が途中で変更になる場合でも、正しくドキュメントを判別することができる。また、ドキュメント名を指示されないスキャンジョブの場合など、ドキュメント名だけではドキュメントを判別できない場合でも、正確にドキュメントを判別することができる。その結果、ＷＦエンジンがＭＦＰに対して実行指示したジョブの実行と同じ結果を得られるジョブが実行された際、ＷＦエンジンにそのジョブの終了が通知され、そのタスクを完了して次のタスクを実行することができる。
【００８１】
これにより、ドキュメント名に特殊な制約がかかるワークフローへの対応が可能になる。さらに、ワークフローにドキュメント名に関する特別な処理を必要とせずにスキャンジョブを含むワークフローへの対応が可能となり、より柔軟なワークフローの実行環境を提供することが可能となる。
【００８２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８３】
１０１  ＭＦＰ：  １０２  ＷＦサーバー：  １０３  ＰＣ：  １０４  ログ収集サーバー：  ２０１、３０１  ＣＰＵ：  ２０２、３０２  ＲＡＭ：  ２０３、３０３  ＲＯＭ
【図１】
2019197501.tif 000003
【図２】
2019197501.tif 000004
【図３】
2019197501.tif 000005
【図４】
2019197501.tif 000006
【図５】
2019197501.tif 000007
【図６】
2019197501.tif 000008
【図７】
2019197501.tif 000009
【図８】
2019197501.tif 000010