(57)【特許請求の範囲】
【請求項１】
画像情報に関する一のアプリケーションを構成する処理である入力処理、前記入力処理の結果を蓄積した入力処理結果を読み出し加工する加工処理、又は前記加工処理の結果を蓄積した加工処理結果を読み出し出力する出力処理を各々実行する処理部品と、
前記処理部品の組み合わせと実行順を示す情報であるジョブフローを生成するジョブフロー生成手段と、
前記ジョブフローを保存する保存手段と、
保存されている前記ジョブフローの実行の可否を判定する解析手段と、
前記解析手段による判定に基づいて、実行可能な前記ジョブフローの一覧を表示装置に表示させる表示制御手段とを有し、
それぞれの前記処理部品は、当該処理部品について利用が可能であることを示す情報を前記解析手段に通知し、
前記解析手段は、前記保存手段に保存された前記ジョブフローについて、前記ジョブフローの実行の際、前記処理部品から通知された情報を参照し、当該ジョブフローの実行の可否を判定することを特徴とする画像処理装置。
【請求項２】
前記解析手段は、利用不可能な前記処理部品を含む前記ジョブフローを実行不可能であると判定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記表示制御手段は、前記処理部品単位で利用の可否を表示させることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記解析手段は、前記一覧において選択された前記ジョブフローの実行制御を行うことを特徴とする請求項１乃至３いずれか一項記載の画像処理装置。
【請求項５】
前記処理部品は、前記利用が可能であることを示す情報と共に当該処理部品の機能を実行するプログラムを動的に呼び出すためのプログラム識別情報を通知し、
前記解析手段は、前記一覧において選択された前記ジョブフローを構成する前記処理部品に係る前記プログラム識別情報に基づいて、当該処理部品の機能を実行するプログラムを呼び出すことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記ジョブフロー生成手段は、当該画像処理装置に接続されている他の前記画像処理装置を構成する前記処理部品をジョブフローの構成要素とすることを特徴とする、請求項１乃至５いずれか一項記載の画像処理装置。
【請求項７】
画像情報に関する一のアプリケーションを構成する処理である入力処理、前記入力処理の結果を蓄積した入力処理結果を読み出し加工する加工処理、又は前記加工処理の結果を蓄積した加工処理結果を読み出し出力する出力処理を各々実行する処理部品の、組み合わせと実行順を示す情報であるジョブフローを生成するジョブフロー生成手順と、
前記ジョブフローを保存する保存手順と、
前記ジョブフローの実行の際、それぞれの前記処理部品より通知される、当該処理部品について利用が可能であることを示す情報を参照して、前記保存手順により保存された前記ジョブフローの実行の可否を判定する解析手順と、
前記解析手順における判定に基づいて、実行可能な前記ジョブフローの一覧を表示装置に表示させる表示制御手順とを有することを特徴とするアプリケーション実行方法。
【請求項８】
前記解析手順は、利用不可能な前記処理部品を含む前記ジョブフローを実行不可能であると判定することを特徴とする請求項７記載のアプリケーション実行方法。
【請求項９】
前記表示制御手順は、前記処理部品単位で利用の可否を表示させることを特徴とする請求項７又は８記載のアプリケーション実行方法。
【請求項１０】
前記一覧において選択された前記ジョブフローの実行制御を行う実行制御手順を有することを特徴とする請求項７乃至９いずれか一項記載のアプリケーション実行方法。
【請求項１１】
前記処理部品は、前記利用が可能であることを示す情報と共に当該処理部品の機能を実行するプログラムを動的に呼び出すためのプログラム識別情報を通知し、
前記実行制御手順は、前記一覧において選択された前記ジョブフローを構成する前記処理部品に係る前記プログラム識別情報に基づいて、当該処理部品の機能を実行するプログラムを呼び出すことを特徴とする請求項１０記載のアプリケーション実行方法。
【請求項１２】
前記ジョブフロー生成手順は、当該画像処理装置に接続されている他の前記画像処理装置を構成する前記処理部品をジョブフローの構成要素とすることを特徴とする、請求項７乃至１１いずれか一項記載のアプリケーション実行方法。
【請求項１３】
請求項７乃至１２いずれか一項記載のアプリケーション実行方法をコンピュータに実行させるためのアプリケーション実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラムに関する。
【背景技術】
【０００２】
近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機等の画像形成装置では、メモリ等の制限は厳しいものの、汎用的なコンピュータと同様にＣＰＵを備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００３】
例えば、特許文献１に記載された画像形成装置では、各アプリケーションから共通的に利用される機能をプラットフォームとして備えており、当該プラットフォームのＡＰＩを利用してアプリケーションを実装することができる。かかる画像形成装置によれば、共通的に利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
【０００４】
しかしながら、一般的に、共通的に利用されるＡＰＩを備えたプラットフォームについては、当該プラットフォームによって提供される機能又はインタフェースの粒度が適切に設計されていないとアプリケーションの開発効率の向上が期待以上に図れない場合がある。
【０００５】
例えば、当該粒度が小さ過ぎると、単純なサービスを提供するアプリケーションであるにもかかわらず、多くのＡＰＩの呼び出しが必要とされ、そのソースコードは複雑なものとなってしまう。
【０００６】
一方、当該粒度が大き過ぎると、或るインタフェースによって提供されている機能の一部について変更を加えたサービスを提供するアプリケーションを実装したい場合、当該プラットフォーム内を修正しなければならず、開発工数の増加を招いてしまいかねない。特に、プラットフォーム内における各モジュールの依存関係が強い場合は、プラットフォームに新規機能を追加するだけでなく、既存部分の修正も必要とされる場合があり、事態はより複雑となる。
【０００７】
また、既存のアプリケーションによって提供されているサービスの一部（例えば、画像の入力処理）を変更したアプリケーションを実装したい場合、当該一部以外の部分については既存のアプリケーションを呼び出すといったようなことは出来ない。したがって、改めてソースコードを記述して新たなアプリケーションを実装しなければならない。
【特許文献１】特許第３６７９３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上のような背景から、本出願人は、画像形成装置において実行される各アプリケーションを、データの入力処理、データの加工処理、データの出力処理の組み合わせによって構成されるものと考え、その考えに基づいた新たなフレームワークの構築を検討している。例えば、コピーを実行するコピーアプリは、スキャナによる画像データの入力処理、集約等の加工処理、及びプロッタによる出力処理等によって構成されるものと考えることができる。また、クライアントＰＣからの印刷要求を処理するプリンタアプリは、ネットワークを介した印刷データの入力処理（受信処理）、印刷データのレンダリング等の加工処理、プロッタによる出力処理等によって構成されるものと考えることができる。アプリケーションの構成要素をこのように分類し、かかる構成要素（以下「処理部品」という。）を単位として機能の追加又は削除等を可能とすれば、アプリケーション単位で機能の追加又は削除等が可能な場合にくらべて、開発効率を向上させることができると共に、ユーザに対して、柔軟なサービスを提供することができる。
【０００９】
すなわち、開発効率の向上という点については、スキャナアプリとコピーアプリとでは、プロッタによる出力処理を実行する処理部品を共通に用いることができる。また、スキャナアプリとＦＡＸアプリとでは、スキャナによる画像データの入力処理を実行する処理部品を共通に用いることができる。また、ユーザに対するサービスの柔軟性という点については、画像形成装置の利用時に、入力処理、加工処理、出力処理を実行させる処理部品をユーザに選択させることにより、ユーザの任意に応じてバリエーションに富んだサービスを提供することができる。
【００１０】
しかし、画像形成装置の利用時にユーザに処理部品を一つずつ選択させるといったインタフェースは、柔軟性がある反面、一つの完結したアプリケーション（例えば、コピーアプリケーション等）を実行するために、入力が要求されるステップが増加し、操作性が悪化してしまう可能性が考えられる。
【００１１】
本発明は、上記の点に鑑みてなされたものであって、処理部品の組み合わせによってアプリケーションを実現するにあたり、適切な操作性を提供することのできる画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラムの提供を目的とする。
【課題を解決するための手段】
【００１２】
そこで上記課題を解決するため、本発明は、画像情報の入力処理、加工処理、又は出力処理を実行し、その組み合わせによって前記画像情報に関するアプリケーションを実現する処理部品と、前記処理部品の組み合わせを保存する保存手段と、保存されている前記組み合わせの実行の可否を判定する解析手段と、前記解析手段による判定に基づいて、実行可能な前記組み合わせが識別可能なように前記組み合わせの一覧を表示装置に表示させる表示制御手段とを有し、それぞれの前記処理部品は、当該処理部品について利用の可否を示す情報を前記解析手段に通知し、前記解析手段は、前記処理部品からの通知に基づいて前記組み合わせの実行の可否を判定することを特徴とする。
【００１３】
また、本発明は、前記解析手段は、利用不可能な前記処理部品を含む前記組み合わせを実行不可能であると判定することを特徴とする。
【００１４】
また、本発明は、前記表示制御手段は、前記処理部品単位で利用の可否を表示させることを特徴とする。
【００１５】
また、本発明は、前記解析手段は、前記一覧において選択された前記組み合わせの実行制御を行うことを特徴とする。
【００１６】
また、本発明は、前記処理部品は、前記利用の可否を示す情報と共に当該処理部品の機能を実行するプログラムを動的に呼び出すためのプログラム識別情報を通知し、前記解析手段は、前記一覧において選択された前記組み合わせを構成する前記処理部品に係る前記プログラム識別情報に基づいて、当該処理部品の機能を実行するプログラムを呼び出すことを特徴とする。
【００１７】
このような画像処理装置では、処理部品の組み合わせによってアプリケーションを実現するにあたり、適切な操作性を提供することができる。
【発明の効果】
【００１８】
本発明によれば、処理部品の組み合わせによってアプリケーションを実現するにあたり、適切な操作性を提供することのできる画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像処理システムの構成例を示す図である。図１において、画像処理システム１は、画像形成装置１０ａ及び１０ｂ等、一台以上の画像形成装置（以下、総称する場合「画像形成装置１０」という。）と、管理サーバ２０と、クライアントＰＣ３０ａ及び３０ｂ等、一台以上のクライアントＰＣ（以下、総称する場合「クライアントＰＣ３０」という。）と等を構成要素としている。各構成要素は、ＬＡＮ（Local Area Network）等のネットワークによって接続されている。
【００２０】
画像形成装置１０は、コピー機、プリンタ又は複合機等の画像形成装置であり、画像処理装置又は画像処理装置を含む機器の一例である。画像形成装置１０は、その出荷後にＪａｖａ（登録商標）言語又はＣ言語等によって開発されたアプリケーションの追加又は削除等が可能である。本実施の形態でアプリケーションとは、画像形成装置１０が、ユーザに対して提供する一つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスを提供するソフトウェアをいう。かかる意味において、厳密には、画像形成装置１０は、アプリケーションを構成する機能単位での追加又は削除等が可能である。本発明者は、画像形成装置のアプリケーションは、データの入力処理、加工処理、及び出力処理等によって構成されるものと考える。アプリケーションの構成要素をこのように分類し、かかる構成要素（以下「処理部品」という。）を単位として機能の追加又は削除等を可能とすれば、アプリケーション単位で機能の追加又は削除等が可能な場合にくらべて、開発効率を向上させることができるとともに、ユーザに対して、柔軟なサービスを提供することができる。なお、本実施の形態において、入力処理を実行する処理部品を特に入力部品という。また、加工処理を実行する処理部品を特に加工部品という。また、出力処理を実行する処理部品を特に出力部品という。
【００２１】
管理サーバ２０は、一台以上の画像形成装置１０を統合的に管理するための機能が実装された汎用的なコンピュータである。クライアントＰＣ３０は、画像形成装置１０又は管理サーバ２０に対する操作手段（ユーザインタフェース）を提供するための汎用的なコンピュータである。
【００２２】
図２は、本発明の実施の形態における画像処理システムの機能構成例を示す図である。なお、図２においては、便宜上、本実施の形態の説明に必要な構成要素のみが示されている。図２において、画像形成装置１０は、ハードウェアとして、操作パネル１１、ＨＤＤ（Hard Disk Drive）１２、プロッタ１３、画像情報加工装置１４、及びスキャナ１５等を有する。また、ソフトウェアによって構成される機能として、通信部１０１、操作パネル制御部１０２、フロー登録部１０３、フロー解析処理部１０４、フロー記憶部１０５、ＨＤＤ制御部１０６、プロッタ制御部１０７、画像情報加工装置制御部１０８、及びスキャナ制御部１０９等より構成される。
【００２３】
通信部１０１は、ネットワークを介した通信を制御する。操作パネル制御部１０２は、操作パネル１１を介した情報の入出力制御を行う。フロー登録部１０３は、ユーザにジョブフローを登録させるための処理を制御する。ここで、ジョブフローとは、アプリケーションにおける処理の流れを制御するための情報をいい、処理部品の組み合わせとその実行順を示す情報等によって構成される。すなわち、本実施の形態における画像形成装置１０は、予め、処理部品の組み合わせ等をジョブフローとして登録することが可能であり、画像形成装置１０のユーザは、その利用時にはジョブフローを選択することでサービスの提供を受けることができる。フロー記憶部１０５は、フロー登録部１０３が登録させたジョブフローを所定の形式でＨＤＤ１２に記録し、管理する。フロー解析処理部１０４は、ユーザによって実行が指示されたジョブフローの実行制御等を行う。フロー解析処理部１０４は、また、フロー登録部１０３がジョブフローを登録させる際に必要となる、画像形成装置１０において利用可能な処理部品の一覧の提供等を行う。
【００２４】
ＨＤＤ制御部１０６、プロッタ制御部１０７、画像情報加工装置制御部１０８，及びスキャナ制御部１０９等は、処理部品に相当する。ＨＤＤ制御部１０６は、ＨＤＤ１２へのデータ登録（出力）や、ＨＤＤ１２からのデータの読み込み（入力）を行う処理部品である。プロッタ制御部１０７は、画像データをプロッタ１３に出力させる処理部品である。画像情報加工装置制御部１０８は、画像変換（加工）を画像情報加工装置１４に実行させる処理部品である。スキャナ制御部１０９は、スキャナ１５に原稿を読み取らせ、画像データを入力するための処理部品である。すなわち、本実施の形態において、ジョブフローは、ＨＤＤ制御部１０６、プロッタ制御部１０７、画像情報加工装置制御部１０８、又はスキャナ制御部１０９等によって提供される機能の組み合わせによって構成される。なお、上述したように、画像形成装置１０は、処理部品単位で追加又は削除等が可能である。したがって、図中に示される以外の処理部品を運用に応じて適宜開発し、インストールすることが可能である。
【００２５】
一方、管理サーバ２０は、ソフトウェアによって構成される機能として通信部２０１及びフロー登録部２０２等を有する。これらは、画像形成装置１０における通信部１０１又はフロー登録部１０３と同様の機能を実現する。
【００２６】
また、クライアントＰＣ３０は、ソフトウェアによって構成される機能として通信部３０１及びリモートＵＩ３０２等を有する。通信部３０１は、ネットワークを介した通信を制御する。リモートＵＩ３０２は、ネットワークを介して画像形成装置１０又は管理サーバ２０等を操作するためのユーザインタフェースを提供する。リモートＵＩ３０２は、本実施の形態では汎用的なＷｅｂブラウザが相当する。但し、専用のアプリケーションによってリモートＵＩ３０２を構成してもよい。
【００２７】
以下、画像処理システム１の処理手順について説明する。まず、ジョブフローの登録時において実行される処理手順について説明する。図３及び図４は、一台の画像形成装置に対するジョブフローの登録処理の処理手順を説明するためのシーケンス図である。
【００２８】
クライアントＰＣ３０において、ユーザが、リモートＵＩ３０２に特定の画像形成装置１０（例えば、画像形成装置１０ａ）のジョブフロー生成画面の表示を指示すると、リモートＵＩ３０２は、ジョブフロー生成画面の取得を通信部３０１に要求する（Ｓ１０１）。ここで、ジョブフロー生成画面とは、処理部品を組み合わせることによりジョブフローを生成し、登録するための画面をいう。また、ユーザによるジョブフロー生成画面の表示指示は、例えば画像形成装置１０によって提供されるホームページ等において入力され、その際に、ジョブフローの登録先の画像形成装置１０が選択される。ここでは、画像形成装置１０ａが選択されたこととする。通信部３０１は、画像形成装置１０ａの通信部１０１にジョブフロー生成画面の送信を要求する（Ｓ１０２）。
【００２９】
通信部１０１は、クライアントＰＣ３０からの要求に応じ、フロー登録部１０３を呼び出し、ジョブフロー生成画面の生成を要求する（Ｓ１０３）。フロー登録部１０３は、ジョブフロー生成画面の生成に必要な情報として、画像形成装置１０ａにおいて利用可能な処理部品の一覧を、フロー解析処理部１０４に要求する（Ｓ１０４）。すなわち、各画像形成装置１０には、当該画像形成装置１０において利用可能な処理部品の一覧（処理部品一覧）が、例えばＨＤＤ１２に保存されている。したがって、フロー解析処理部１０４は、保存されている処理部品一覧を取得し、フロー登録部１０３に返却する（Ｓ１０５）。なお、処理部品一覧は、処理部品の追加又は削除（インストール又はアンインストール）に応じて更新される。フロー登録部１０３は、ジョブフロー生成画面を表示させるＨＴＭＬデータを、処理部品一覧を用いて生成し（Ｓ１０６）、処理部品一覧が表示内容として含まれているＨＴＭＬデータを通信部１０１に出力する（Ｓ１０７）。
【００３０】
当該ＨＴＭＬデータは、通信部１０１によってクライアントＰＣ３０に送信され、クライアントＰＣ３０の通信部３０１によって受信される（Ｓ１０８）。通信部３０１が、受信したＨＴＭＬデータをリモートＵＩ３０２に出力すると（Ｓ１０９）、リモートＵＩ３０２は、当該ＨＴＭＬデータに基づいてジョブフロー生成画面をクライアントＰＣ３０の表示装置に表示させる（Ｓ１１０）。
【００３１】
図５は、ジョブフロー生成画面の表示例を示す図である。図５において、（Ａ）は、ジョブフロー生成画面５１０の初期状態（表示直後の状態）を示し、（Ｂ）は、ユーザによってジョブフローが生成（又は定義）された状態を示す。
【００３２】
ジョブフロー生成画面５１０は主に、ジョブフロー生成領域５０１と処理部品一覧領域５０２とより構成されている。処理部品一覧領域５０２は、画像形成装置１０ａにおいて利用可能な処理部品のアイコン又はボタン等の一覧が表示される領域である。ジョブフロー生成領域５０１は、処理部品一覧領域５０２において表示されている処理部品のアイコン（処理部品アイコン）を用いて一つのジョブフローを生成させるための領域である。図中（Ｂ）に示されるように、ジョブフローの生成は、処理部品一覧領域５０２における処理部品アイコンをドラッグ・アンド・ドロップにより処理の実行順に接続することにより行われる。例えば、コピーを実行させるためのジョブフローは、スキャナ入力を実行する処理部品（スキャナ入力部品）、画像変換を実行するための処理部品（画像変換部品）、及びプロッタ出力を実行するための処理部品（プロッタ出力部品）等を接続することで定義される。また、ジョブフロー生成領域５０１に配置された処理部品アイコンをダブルクリックすると、当該処理部品アイコンの実行条件を設定させるための画面が表示され、当該画面において当該処理部品の実行条件（例えば、スキャナ入力部品であれば、解像度、用紙サイズ等）を設定することができる。なお、本実施の形態において、リモートＵＩ３０２は、Ｗｅｂブラウザであるため、厳密にはその表示画面の遷移の際はＷｅｂサーバ（本実施の形態では、画像形成装置１０ａ）との通信が行われるが、便宜上、当該通信の発生については省略して説明する。
【００３３】
なお、一つのジョブフローにおいて、入力部品、加工部品、及び出力部品はそれぞれ複数利用することができる。例えば、スキャンされた画像と、画像形成装置１０のＨＤＤ１２に保存されている画像とを合成して、印刷すると共にＦＡＸ送信するといったような場合、少なくとも二つの入力部品と二つの出力部品とが選択される。
【００３４】
ジョブフロー生成画面５１０においてジョブフローの生成が完了し、ＯＫボタン５０３がクリックされると、リモートＵＩ３０２は、ジョブフローの名前（ジョブフロー名）を入力させるための画面を表示させる。当該画面においてジョブフロー名が入力されると、リモートＵＩ３０２は、ジョブフローの登録要求を通信部３０１に対して出力する（図４：Ｓ１２１）。ジョブフローの登録要求には、ジョブフロー生成画面５１０等において設定された情報、すなわち、ジョブフロー名、ジョブフローを構成する処理部品の識別情報、処理部品の実行順、及び各処理部品の実行条件等を内容とする情報（以下「ジョブフロー情報」という。）が含まれている。ジョブフローの登録要求は、通信部３０１によって画像形成装置１０ａに送信され、画像形成装置１０ａの通信部１０１によって受信される（Ｓ１２２）。
【００３５】
通信部１０１は、ジョブフローの登録要求に応じ、フロー登録部１０３を呼び出し、ジョブフローの登録を指示する（Ｓ１２３）。フロー登録部１０３は、フロー記憶部１０５に対し、ジョブフロー情報の保存を要求する（Ｓ１２４）。フロー記憶部１０５は、ＨＤＤ制御部１０６を介して、ＨＤＤ１２に所定の形式でジョブフロー情報を保存し（Ｓ１２５、Ｓ１２６）、ジョブフロー情報の保存を完了した旨をフロー登録部１０３に通知する。（Ｓ１２７）。
【００３６】
図６は、ジョブフロー情報の保存形式の例を概念的に示す図である。図６に示されるジョブフロー情報１０４０は、ジョブフローごとにジョブフロー名、フロー作成者、及びフロー登録日等（表１０４１参照）と、ジョブフローを構成する処理部品およびその実行情報（実行順及び実行条件）（表１０４２参照）と等を含むように保存される。なお、図中では、「コピー＋ＦＡＸフロー」については、処理部品がスキャナ（入力部品）、プロッタ（出力部品）、ファクス（出力部品）等より構成される旨が示されている。すなわち、「コピー＋ＦＡＸフロー」は、スキャナで読み込んだ画像を、プロッタで出力すると共に、ＦＡＸ送信するといったアプリケーションを実現するジョブフローである。なお、ジョブフロー名は、ユーザに入力させるのではなく、例えば、ジョブフローを構成する処理部品の機能等に基づいて自動的に作成されるようにしてもよい。
【００３７】
ジョブフローの登録完了通知は、ジョブフロー登録部１０３及び通信部１０１を介してクライアントＰＣ３０に送信され（Ｓ１２８、Ｓ１２９）、クライアントＰＣ３０の通信部３０１を介してリモートＵＩ３０２に通知される（Ｓ１３０）。リモートＵＩ３０２は、ジョブフローの登録が完了した旨を表示させる（Ｓ１３１）。なお、ここで、ユーザに確認させるため、登録されたジョブフローの内容を表示させてもよい。
【００３８】
次に、複数台の画像形成装置１０に対して一度にジョブフローを登録する例について説明する。図７及び図８は、複数の画像形成装置に対するジョブフローの一括登録処理の処理手順を説明するためのシーケンス図である。なお、図７及び図８において、画像形成装置１０ａ及び１０ｂの構成要素を区別するために、画像形成装置１０ａの構成要素には「ａ」を、画像形成装置１０ｂの構成要素には「ｂ」を参照番号の後に付加している。
【００３９】
クライアントＰＣ３０において、ユーザが、リモートＵＩ３０２に複数の画像形成装置１０（ここでは、画像形成装置１０ａ及び１０ｂとする）に対するジョブフロー生成画面の表示を指示すると（すなわち、ジョブフローの登録先として画像形成装置１０ａ及び１０ｂが選択されると）、リモートＵＩ３０２は、ジョブフロー生成画面の取得を通信部３０１に要求する（Ｓ１５１）。当該ジョブフロー生成画面の取得要求には、画像形成装置１０ａ及び１０ｂを登録先とすることが示されている。通信部３０１は、画像形成装置１０ａの通信部１０１ａにジョブフロー生成画面の送信を要求する（Ｓ１５２）。通信部１０１ａは、クライアントＰＣ３０からの要求に応じ、フロー登録部１０３を呼び出し、画像形成装置１０ａ及び１０ｂに対するジョブフロー生成画面の生成を要求する（Ｓ１５３）。ジョブフローの登録先が、画像形成装置１０ａ及び１０ｂであることは、ジョブフロー生成画面の生成要求によってフロー登録部１０３ａに伝達される。
【００４０】
フロー登録部１０３ａは、ジョブフロー生成画面の生成要求に基づいて、登録先に含まれている全ての画像形成装置１０の処理部品一覧を収集する。まず、フロー解析処理部１０４ａより、画像形成装置１０ａにおいて利用可能な処理部品の一覧を取得する（Ｓ１５４、Ｓ１５５）。続いて、フロー登録部１０３ａは、通信部１０１ａに対して、画像形成装置１０ｂにおいて利用可能な処理部品の一覧の取得を要求する（Ｓ１５６）。通信部１０１ａは、画像形成装置１０ｂに対し処理部品の一覧を要求する（Ｓ１５７）。画像形成装置１０ｂの通信部１０１ｂは、当該要求に応じ、フロー解析部１０４ｂより画像形成装置１０ｂにおける処理部品一覧を取得し（Ｓ１５８、Ｓ１５９）、当該処理部品一覧を返信する（Ｓ１６０）。
【００４１】
画像形成装置１０ａの通信部１０１ａは、画像形成装置１０ｂの処理部品一覧を受信すると、フロー登録部１０３ａに出力する（Ｓ１６１）。フロー登録部１０３ａは、画像形成装置１０ａの処理部品一覧と、画像形成装置１０ｂの処理部品一覧との論理和を求め、論理和によって得られた処理部品一覧を用いてジョブフロー生成画面を表示させるＨＴＭＬデータを生成し（Ｓ１６２）、当該処理部品一覧が表示内容として含まれているＨＴＭＬデータを通信部１０１ａに出力する（Ｓ１６３）。以降ステップＳ１６３〜Ｓ１６６までは、図３におけるステップＳ１０７〜Ｓ１１０までと同様である。したがって、ステップＳ１６６において表示されるジョブフロー生成画面５１０の処理部品一覧には、２台の画像形成装置１０の処理部品一覧の論理和による一覧が表示される。なお、ジョブフロー生成画面５１０の操作方法は、図５において説明した通りである。よって、ユーザは、論理和による処理部品一覧から利用する処理部品を選択しジョブフローを生成する。
【００４２】
ジョブフロー生成画面５１０においてジョブフローの生成が完了し、ＯＫボタン５０３がクリックされ、更に、ジョブフロー名が入力されると、リモートＵＩ３０２は、ジョブフローの一括登録要求を通信部３０１を介して画像形成装置１０ａに送信する（図８：Ｓ１７１）。図８において、ジョブフローの一括登録要求には、ジョブフロー情報の他にジョブフローの登録先の画像形成装置１０の識別情報（ホスト名又はＩＰアドレス等）が含まれている。したがって、ここでは、画像形成装置１０ａ及び１０ｂの識別情報が含まれている。なお、図８では通信部３０１は表示されていないが、これは便宜的なものである。
【００４３】
画像形成装置１０ａの通信部１０１ａは、ジョブフローの一括登録要求に応じ、フロー登録部１０３ａを呼び出し、ジョブフローの一括登録を指示する（Ｓ１７２）。フロー登録部１０３ａは、フロー記憶部１０５ａに対し、ジョブフロー情報の保存を要求する（Ｓ１７３）。フロー記憶部１０５ａは、ＨＤＤ制御部１０６ａを介して、ＨＤＤ１２に所定の形式でジョブフロー情報を保存し（Ｓ１７４、Ｓ１７５）、ジョブフロー情報の保存を完了した旨をフロー登録部１０３ａに通知する。（Ｓ１７６）。続いて、フロー登録部１０３ａは、ジョブフローの一括登録要求において、登録先に画像形成装置１０ｂが含まれていることに基づいて、画像形成装置１０ｂへのジョブフローの登録を通信部１０１ａに要求する（Ｓ１７７）。
【００４４】
通信部１０１ａは、画像形成装置１０ｂに対しジョブフローの登録を要求する（Ｓ１７８）。ジョブフローの登録要求は、画像形成装置１０ｂの通信部１０１ｂによって受信され、図４のステップＳ１２３〜Ｓ１２８と同様の手順で、画像形成装置１０ｂにジョブフロー情報が登録される（Ｓ１７９〜Ｓ１８４）。なお、画像形成装置１０ｂには、画像形成装置１０ａと同一のジョブフロー情報が登録される。通信部１０１ｂは、画像形成装置１０ｂにおいてジョブフロー情報の登録が完了したことを画像形成装置１０ａの通信部１０１ａに通知する（Ｓ１８５）。当該通知は、フロー登録部１０２ａに伝えられる（Ｓ１８６）。フロー登録部１０２ａは、ジョブフローの一括登録要求において登録先に含まれている全ての画像形成装置１０へのジョブフローの登録が完了したことを確認すると、ジョブフローの登録完了通知を通信部１０１ａを介してクライアントＰＣ３０に送信する（Ｓ１８７、Ｓ１８９）。クライアントＰＣ３０のリモートＵＩ３０２は、ジョブフローの登録が完了した旨を表示させる（Ｓ１９０）。
【００４５】
このように、ジョブフロー生成画面５１０における一度の操作で、複数の画像形成装置１０にジョブフローを登録することができる。したがって、個々にジョブフローを登録する場合に比べ、作業効率を向上させることができる。なお、図７及び図８では、画像形成装置１０ａがクライアントＰＣ３０に対する窓口としての役割を果たしていたが、当該窓口は、管理サーバ２０が行ってもよい。すなわち、管理サーバ２０がクライアントＰＣ３０よりジョブフローの一括登録の要求を受け付け、登録先に指定されている各画像形成装置１０に対して、ジョブフロー情報の登録を要求するといった具合である。この場合、管理サーバ２０における通信部２０１、フロー登録部２０２は、図８における通信部１０１ａ、フロー登録部１０３ａと同様の処理を実行する。但し、管理サーバ２０自身にはジョブフローは登録されないため、管理サーバ２０に対するジョブフローの登録処理は実行されない。
【００４６】
また、図３〜図８においては、リモートＵＩ３０２を介してジョブフローの登録操作が行われる例を示したが、画像形成装置１０の操作パネル１１を介してジョブフローの登録操作が行われてもよい。この場合、操作パネル１１が表示装置として機能し、ジョブフロー生成画面の表示等が行われる。
【００４７】
次に、登録されたジョブフローを実行する際の処理手順について説明する。図９は、ジョブフローの実行処理の第一の処理手順を説明するためのシーケンス図である。
【００４８】
画像形成装置１０に電源が投入されると、各処理部品は、自らが利用可能であることをフロー解析処理部１０４に通知する。例えば、スキャナ制御部１０９は、スキャナ１５の状態をチェックし、異常が無ければスキャナ制御部１０９（スキャナ１５からの入力機能）が利用可能であることをフロー解析処理部１０４に通知する（Ｓ２０１）。プロッタ制御部１０７は、プロッタ１３の状態をチェックし、異常が無ければプロッタ制御部１０７（プロッタ１３への出力機能）が利用可能であることをフロー解析処理部１０４に通知する（Ｓ２０２）。画像情報加工装置制御部１０８は、画像情報加工装置１４の状態をチェックし、異常が無ければ画像情報加工装置制御部１０８（画像情報の加工機能）が利用可能であることをフロー解析処理部１０４に通知する（Ｓ２０３）。ＨＤＤ制御部１０６は、ＨＤＤ１２の状態をチェックし、異常が無ければＨＤＤ制御部１６（ＨＤＤ１２に対する入出力機能）が利用可能であることをフロー解析処理部１０４に通知する（Ｓ２０４）。なお、他の処理部品がインストールされた場合、当該他の処理部品からも利用可能の通知が行われる。
【００４９】
また、フロー記憶部１０５は、電源の投入に応じ、ＨＤＤ１２に保存されているジョブフロー情報を読み出し、当該ジョブフロー情報を操作パネル制御部１０２に出力する（Ｓ２０５）。操作パネル制御部１０２は、当該ジョブフロー情報に基づいて、画像形成装置１０に登録されているジョブフロー（ジョブフロー名）の一覧画面（ジョブフロー一覧画面）を操作パネル１１に表示させる。（Ｓ２０６）。但し、ジョブフロー一覧画面は、ネットワークを介して画像形成装置１０と接続するＰＣ等の外部機器の表示装置に表示させてもよい。
【００５０】
ユーザが、操作パネル１１に表示されたジョブフロー一覧画面の中から所望のジョブフローを選択すると、操作パネル制御部１０２は、選択されたジョブフローの識別情報（例えば、ジョブフロー名）を通知することにより、当該ジョブフロー（以下「カレントジョブフロー」という。）の実行をフロー解析処理部１０４に指示する（Ｓ２０８）。ここでは、スキャナ１３によって画像データを入力し、当該画像データを集約加工し、集約加工された画像データをプロッタ１３に出力すると共に、ＨＤＤ１２に蓄積保存するといったジョブフローがカレントジョブフローとして選択されたものとする。
【００５１】
フロー解析処理部１０４は、操作パネル制御部１０２より通知されたジョブフロー名に基づいてカレントジョブフローのジョブフロー情報を取得し、当該ジョブフロー情報等に基づいて以降の処理を動的に制御する。フロー解析処理部１０４は、まず、カレントジョブフローを構成する処理部品を判断し、当該各処理部品に対して処理の実行を指示する。具体的には、図９においては、スキャナ入力部品としてのスキャナ制御部１０９と、集約加工部品としての画像情報加工装置制御部１０８と、プロッタ出力部品としてのプロッタ制御部１０７と、ＨＤＤ出力部品としてのＨＤＤ制御部１０６に対して、並列的に実行指示が行われる（Ｓ２０９〜Ｓ２１２）。
【００５２】
各処理部品に対し並列的に実行指示が行われるのは、本実施の形態では各処理部品間の同期はそれぞれの処理部品を接続するパイプによってとられるからである。ここで、パイプとは、各処理部品間のデータの伝達手段を抽象的に表現した概念であり、その実体は各種のメモリによって実現される。フロー解析部１０４は、各処理部品に対し処理の実行指示の際に入力側のパイプと出力側のパイプとを指定する。各処理部品は、入力側のパイプにデータが入力されるのを待機し、入力側のパイプにデータが入力されると当該データに対して処理を実行し、出力側のパイプに処理結果としてのデータを出力する。ここで、一つ前の処理を実行する処理部品の出力側のパイプと、次の処理を実行する入力側のパイプとは一致する。したがって、或る処理部品が、出力側のパイプに処理結果としてのデータを出力すれば、次の処理部品は当該処理部品にとっての入力側のパイプへのデータの入力を検知し、処理を開始するというわけである。但し、入力部品として機能する処理部品は、パイプからの入力ではなく、当該処理部品が対応するデバイス（スキャナ１５又はネットワーク等）からデータの入力を受け付ける。また、出力部品として機能する処理部品は、パイプへの出力ではなく、当該処理部品が対応するデバイス（ＨＤＤ１２又はプロッタ１３等）にデータを出力する。なお、本発明の実施にあたり、必ずしもパイプによって同期をとる必要はなく、フロー解析部１０４が処理部品間の処理の同期を制御するようにしてもよい。この場合、フロー解析部１０４は、或る処理部品の処理の終了に応じ、次の処理部品に対して処理の実行指示を行うといった制御を行えばよい。
【００５３】
フロー解析処理部１０４からの実行指示に応じ、まず、入力部品（スキャナ入力部品）であるスキャナ制御部１０９は、スキャナ１５からの画像データの読み取りを実行する（Ｓ２１３）。スキャナ制御部１０９は、読みとられた画像データを画像情報加工装置制御部１０８との間のパイプ（以下、「パイプＡ」という。）に出力すると共に（Ｓ２１４）、処理の完了をフロー解析処理部１０４に通知する（Ｓ２１５）。
【００５４】
画像情報加工装置制御部１０８は、パイプＡへの画像データの入力を検知すると当該画像データの加工処理（ここでは、集約処理）を実行する（Ｓ２１６）。加工処理が完了すると、画像情報加工装置制御部１０８は、プロッタ制御部１０７との間のパイプ（以下、「パイプＢ」という。）と、ＨＤＤ制御部１０６と間のパイプ（以下、「パイプＣ」という。）とに加工データを出力すると共に（Ｓ２１７、Ｓ２１８）、処理の完了をフロー解析処理部１０４に通知する（Ｓ２１９）。
【００５５】
続いて、プロッタ制御部１０７及びＨＤＤ制御部１０６は、並列的に処理を実行する。プロッタ制御部１０７は、パイプＢへの加工データの入力を検知すると、当該加工データをプロッタ１３に出力（印刷）させる（Ｓ２２０）。また、ＨＤＤ制御部１０６は、パイプＣへの加工データの入力を検知すると、当該加工データをＨＤＤ１２に出力（保存）する（Ｓ２２１）。プロッタ制御部１０７及びＨＤＤ制御部１０６は、それぞれの処理が完了すると、その完了をフロー解析処理部１０４に通知する（Ｓ２１９）。
【００５６】
フロー解析処理部１０４は、処理の実行指示を行った全ての処理部品から処理の完了通知を受け取ると、操作パネル制御部１０２に対してジョブフローの完了を通知する（Ｓ２２４）。操作パネル制御部１０２は、当該通知に応じて、例えば処理の完了を通知するメッセージを操作パネル１１に表示させる。
【００５７】
このように、本実施の形態における画像形成装置１０によれば、予め登録されたジョブフローに従って処理を実行させることができる。
【００５８】
ところで、画像形成装置１０は、処理部品単位でインストール又はアンインストールが可能である。したがって、ジョブフローの登録時に存在した処理部品が、当該ジョブフローの実行時には存在しない場合が有り得る。当該ジョブフローの登録後に、処理部品がアンインストールされてしまう可能性が有るからである。また、図７及び図８において説明したようなジョブフローの登録処理では、複数の画像形成装置１０より収集された処理部品の一覧に基づいてジョブフローが生成され、そのように生成された同一のジョブフローが各画像形成装置１０に登録される。したがって、それぞれの画像形成装置１０にインストールされている処理部品が異なる場合、インストールされていない処理部品を利用するジョブフローが画像形成装置１０に登録される可能性がある。また、デバイスの異常等によって、インストールはされていても利用できない処理部品が存在する可能性もある。
【００５９】
そこで、かかる事態（利用できない処理部品を含むジョブフローが登録されている事態）の発生を考慮したジョブフローの実行処理を図１０において説明する。図１０は、ジョブフローの実行処理の第二の処理手順を説明するためのシーケンス図である。
【００６０】
ステップＳ３０１〜Ｓ３０４までは、図９のステップＳ２０１〜Ｓ２０４までと同様であるため、ここでの説明は省略する。
【００６１】
ステップＳ３０５において、フロー記憶部１０５は、電源の投入に応じＨＤＤ１２に保存されているジョブフロー情報を読み出し、当該ジョブフロー情報をフロー解析処理部１０４に出力する（Ｓ３０５）。フロー解析処理部１０４は、ジョブフロー情報等に基づいて、登録されている各ジョブフローの実行の可否を判断する（Ｓ３０６）。図１１は、ジョブフローの実行可否の判断方法を説明するための図である。図１１において（Ａ）は、ジョブフローが実行可能であると判断される場合を示し、（Ｂ）は、ジョブフローが実行不可能であると判断される場合を示す。
【００６２】
（Ａ）又は（Ｂ）において、表１０４２ａ及び表１０４２ｂは、図６の表１０４２に相当する。すなわち、表１０４２ａ及び表１０４２ｂは、ジョブフロー情報の一部を構成する情報であり、ジョブフローを構成する処理部品及びその実行順を示す情報である。また、処理部品情報１０５０は、各処理部品からの利用可否の通知に基づいて、フロー解析処理部１０４によって生成される情報であり、利用可能通知があった処理部品ごとに当該処理部品が実装されているプログラムのプログラム名との関連付けが定義されている。ここで、プログラム名は、当該プログラムを動的に呼び出すために必要とされる識別名であり、例えば、プログラムの保存位置を示すアドレス情報であってもよい。当該プログラム名は、利用可能通知の際に各処理部品よりフロー解析処理部１０４に通知される。処理部品情報１０５０を動的に作成することで、フロー解析処理部１０４は、インストールされている処理部品を事前に知らなくても、その実行時に画像形形成装置１０がとのような機能（処理部品）を保有しており、どのプログラムがどの機能を実行できるのかを実行時に知ることができる。
【００６３】
フロー解析処理部１０４は、これらの情報を用いて各ジョブフローの実行の可否を判断する。例えば、（Ａ）の場合、ジョブフローを構成する処理部品は、スキャナ入力部品とプロッタ出力部品である。したがって、フロー解析処理部１０４は、処理部品情報１０５０において、スキャナ入力部品とプロッタ出力部品とのエントリを検索する。図１１においては、処理部品情報１０５０に両処理部品のエントリが存在するため、フロー解析処理部１０４は、当該ジョブフローは実行可能であると判断する。
【００６４】
一方、（Ｂ）の場合、ジョブフローを構成する処理部品は、スキャナ入力部品とメール送信部品である。しかし、処理部品情報１０５０には、メール送信部品のエントリは存在しない。この場合、少なくとも一部の処理（メール送信）が実行できないため、ジョブフロー解析処理部１０４は、当該ジョブフローは実行不可能であると判断する。
【００６５】
各ジョブフローの実行の可否の判断を完了すると、フロー解析処理部１０４は、各ジョブフローについて実行の可否と共に、ジョブフロー情報を操作パネル制御部１０２に通知する（Ｓ３０７、Ｓ３０８）。
【００６６】
操作パネル制御部１０２は、フロー解析処理部１０４より通知される情報に基づいて、ジョブフロー一覧画面を操作パネル１１に表示させる。（Ｓ３０９）。図１２は、ジョブフロー一覧画面の表示例を示す図である。
【００６７】
図１２に示されるように、ジョブフロー一覧画面１１１には実行可能なジョブフローと実行不可能なジョブフローとが区別されて表示されている。したがって、ユーザは、実行可能なジョブフローと実行不可能なジョブフローとを容易に識別することができる。
【００６８】
ジョブフロー一覧画面１１１において、各ジョブフローは、選択可能なボタンによって表示されている。いずれかのジョブフローが選択され、詳細ボタン１１１３が押下されると、操作パネル制御部１０２は、選択されたジョブフローの詳細画面（ジョブフロー詳細画面）を操作パネル１１に表示させる。図１３は、ジョブフロー詳細画面の表示例を示す図である。
【００６９】
図１３において、（Ａ）は、実行可能なジョブフローのジョブフロー詳細画面１１２を示す。ジョブフロー詳細画面１１２では、当該ジョブフローの処理の流れが処理部品単位で表示される。（Ａ）では、図９及び図１０において説明されるジョブフローの処理の流れが表示されている。すなわち、スキャナ入力が行われ、集約加工が行われ、その後に、プロッタ出力とＨＤＤ蓄積とが並列的に実行される旨が表示されている。
【００７０】
一方、（Ｂ）は、実行不可能なジョブフローのジョブフロー詳細画面１１２を示す。実行不可能な場合も、ジョブフローの処理の流れが処理部品単位で表示される。但し、実行不可能の原因となった処理部品が識別可能なように（例えば、グレーアウトされて）表示される。（Ｂ）では、メール送信がグレーアウトされて表示されている。したがって、ユーザは、当該ジョブフローが実行不可能である理由を容易に確認することができる。
【００７１】
なお、図１２のジョブフロー一覧画面１１１において、実行可能なジョブフローのみを表示させるようにしてもよい。
【００７２】
ジョブフロー一覧画面１１１において、実行可能なジョブフローが選択され、実行ボタン１１１２が押下されると、操作パネル制御部１０２は、選択されたジョブフローの識別情報（例えば、ジョブフロー名）を通知することにより、当該ジョブフローの実行をフロー解析処理部１０４に指示する（Ｓ３１０）。ステップＳ３１１以降は、図９におけるステップＳ２０９以降と同様であるのでここでの説明は省略する。なお、ステップＳ３１１〜Ｓ３１４においてフロー解析処理部１０４は、図１１に示される処理部品情報１０５０に基づいて、各処理部品に対応するプログラムを動的に呼び出す。この点は、図９においても同様である。処理部品が対応するプログラムが、実行時に動的に呼び出されることにより、処理部品の追加による機能拡張に対して柔軟に対応することができる。
【００７３】
次に、ジョブフローの他のバリエーションの処理手順について説明する。まず、図１４に示されるようなジョブフロー（以下「ジョブフローＡ」という。）の処理手順について説明する。図１４は、ジョブフローＡの詳細画面の表示例を示す図である。
【００７４】
図１４に示されるように、ジョブフローＡは、スキャナより画像データを入力し、その画像データに対して集約加工を施し、加工データをプロッタ出力した後にＨＤＤ１２に蓄積するといったものである。すなわち、ジョブフローＡは、プロッタ出力とＨＤＤ蓄積とが直列的に順次実行される点が、図１０において説明したジョブフローと異なる。
【００７５】
図１５は、ジョブフローＡの実行処理の処理手順を説明するためのシーケンス図である。図１５中、図１０と同一ステップ（Ｓ３０１〜Ｓ３１０）については同一ステップ番号を付し、その説明は省略する。
【００７６】
操作パネル制御部１０２よりカレントジョブフロー（ジョブフローＡ）の実行指示を受けると、フロー解析処理部１０４は、ジョブフローＡを構成する各処理部品に対して処理の実行指示を並列的に出力する（Ｓ４１１〜Ｓ４１３）。但し、ＨＤＤ制御部１０６に対してはこのタイミングでは実行指示は行わない。すなわち、フロー解析処理部１０４はカレントジョブフローが出力部品を複数含んでおり、当該出力部品が直列的に実行される場合は、このタイミングでは出力部品内で一番目の処理部品に対してのみ実行指示を出力する。したがって、ここでは、スキャナ制御部１０９、画像情報加工装置制御部１０８及びプロッタ制御部１０７に対して実行指示が出力される。
【００７７】
フロー解析処理部１０４からの実行指示に応じ、まず、入力部品（スキャナ入力部品）であるスキャナ制御部１０９は、スキャナ１５からの画像データの読み取りを実行する（Ｓ４１４）。スキャナ制御部１０９は、読みとられた画像データを画像情報加工装置制御部１０８との間のパイプＡに出力すると共に（Ｓ４１５）、処理の完了をフロー解析処理部１０４に通知する（Ｓ４１６）。
【００７８】
画像情報加工装置制御部１０８は、パイプＡへの画像データの入力を検知すると当該画像データの加工処理（ここでは、集約処理）を実行する（Ｓ４１７）。加工処理が完了すると、画像情報加工装置制御部１０８は、プロッタ制御部１０７との間のパイプＢと、ＨＤＤ制御部１０６と間のパイプＣとに加工データを出力すると共に（Ｓ４１８、Ｓ４１９）、処理の完了をフロー解析処理部１０４に通知する（Ｓ４２０）。
【００７９】
プロッタ制御部１０７は、パイプＢへの加工データの入力を検知すると、当該加工データをプロッタ１３に出力（印刷）させると共に（Ｓ４２１）、処理の完了をフロー解析処理部１０４に通知する（Ｓ４２２）。一方、パイプＣに加工データが入力されても、ＨＤＤ制御部１０６は処理を開始しない。ＨＤＤ制御部１０６にはフロー解析処理部１０４より実行指示が入力されておらず、ＨＤＤ制御部１０６はパイプＣに対する加工データの入力を待ち合わせていないからである。
【００８０】
プロッタ制御部１０７からの完了通知に応じ、フロー解析処理部１０４は、出力部品として二番目の処理部品であるＨＤＤ制御部１０６に対して実行指示を行う（Ｓ４２３）。ＨＤＤ制御部１０６は、当該実行指示に応じパイプＣへの加工データの入力を検知し、当該加工データをＨＤＤ１２に出力（保存）する（Ｓ４２４）。ＨＤＤ１２への出力が完了すると、ＨＤＤ制御部１０６は、処理の完了をフロー解析処理部１０４に通知する（Ｓ４２５）。
【００８１】
フロー解析処理部１０４は、処理の実行指示を行った全ての処理部品から処理の完了通知を受け取ると、操作パネル制御部１０２に対してジョブフローの完了を通知する（Ｓ４２６）。操作パネル制御部１０２は、当該通知に応じて、例えば処理の完了を通知するメッセージを操作パネル１１に表示させる。
【００８２】
このように、本実施の形態における画像形成装置１０は、出力部品が直列的に順次実行されるジョブフローの実行も制御することができる。したがって、ジョブフローについて多様な設定が可能となり、利便性を向上させることができる。
【００８３】
次に、図１６に示されるようなジョブフロー（以下「ジョブフローＢ」という。）の処理手順について説明する。図１６は、ジョブフローＢの詳細画面の表示例を示す図である。図１６のジョブフロー詳細画面１１２において、三角記号は、ユーザからの入力（例えば、スタートボタンの押下）の待ち合わせを意味する。したがって、ジョブフローＢは、スキャナより画像データを入力し、その画像データに対して集約加工を施し、ユーザからの入力を待ち合わせた後、その加工データのプロッタ出力処理とＨＤＤ蓄積処理とを並列的に実行するといったものである。すなわち、ジョブフローＢは、画像データの加工後に、ユーザによる入力（例えば、スタートボタンの押下等）を待ち合わせる点が、図１０において説明したジョブフローと異なる。
【００８４】
図１７は、ジョブフローＢの実行処理の処理手順を説明するためのシーケンス図である。図１７中、図１０と同一ステップ（Ｓ３０１〜Ｓ３１０）については同一ステップ番号を付し、その説明は省略する。
【００８５】
操作パネル制御部１０２よりカレントジョブフロー（ジョブフローＢ）の実行指示を受けると、フロー解析処理部１０４は、ジョブフローＢを構成する各処理部品に対して処理の実行指示を並列的に出力する（Ｓ５１１、Ｓ５１２）。但し、プロッタ制御部１０７及びＨＤＤ制御部１０６に対してはこのタイミングでは実行指示は行わない。すなわち、フロー解析処理部１０４は、カレントジョブフローがユーザ入力の待ち合わせを含む場合は、当該待ち合わせ後に実行される処理部品についてはこのタイミングでは実行指示を行わない。したがって、ここでは、スキャナ制御部１０９及び画像情報加工装置制御部１０８に対して実行指示が出力される。
【００８６】
フロー解析処理部１０４からの実行指示に応じ、まず、入力部品（スキャナ入力部品）であるスキャナ制御部１０９は、スキャナ１５からの画像データの読み取りを実行する（Ｓ５１３）。スキャナ制御部１０９は、読みとられた画像データを画像情報加工装置制御部１０８との間のパイプＡに出力すると共に（Ｓ５１４）、処理の完了をフロー解析処理部１０４に通知する（Ｓ５１５）。
【００８７】
画像情報加工装置制御部１０８は、パイプＡへの画像データの入力を検知すると当該画像データの加工処理（ここでは、集約処理）を実行する（Ｓ５１６）。加工処理が完了すると、画像情報加工装置制御部１０８は、処理の完了をフロー解析処理部１０４に通知すると共に（Ｓ５１７）、プロッタ制御部１０７との間のパイプＢと、ＨＤＤ制御部１０６と間のパイプＣとに加工データを出力する（Ｓ５１８、Ｓ５１９）。なお、パイプＢ又はパイプＣに加工データが入力されても、フロー解析処理部１０４より実行指示が入力されていないため、プロッタ制御部１０７及びＨＤＤ制御部１０６は処理を開始しない。
【００８８】
画像情報加工装置制御部１０６からの完了通知を受けると、フロー解析処理部１０４は、操作パネル制御部１０２に対してユーザからの入力を要求することにより、ユーザからの入力を待ち合わせる（Ｓ５２０）。操作パネル制御部１０２は、例えば、「処理を継続しますか？」等のメッセージを表示させ、ユーザに対して入力を促進する。スタートボタンが押下される等、ユーザによって処理の継続が指示されると、操作パネル制御部１０２は、フロー解析処理部１０４に対してジョブフローの継続を指示する（Ｓ５２１）。
【００８９】
ジョブフローの継続指示に応じ、フロー解析処理部１０４は、ユーザ入力の待ち合わせ後に実行する処理部品に対して実行指示を行う。ここでは、プロッタ制御部１０７とＨＤＤ制御部１０６とに対して並列的に実行指示が行われる（Ｓ５２２、Ｓ５２３）。ステップＳ５２４以降（プロッタ出力処理及びＨＤＤ蓄積処理）は、図１０におけるステップＳ３２２以降と同様であるのでここでの説明は省略する。
【００９０】
このように、本実施の形態における画像形成装置１０は、ユーザの入力を待ち合わせるようなジョブフローの実行も制御することができる。したがって、処理部品の実行タイミングをユーザの任意に応じて変更させることができ、利便性を向上させることができる。
【００９１】
なお、図１７のジョブフローＢでは、ユーザ入力について簡便化して説明したが、現実的なユーザの入力の待ち合わせは、例えば、図１８に示されるジョブフロー（以下「ジョブフローＣ」という。）の場合に考えられる。図１８は、ジョブフローＣの詳細画面の表示例を示す図である。
【００９２】
図１８に示されるように、ジョブフローＣは、スキャナより読み取られた画像データとＰＣより転送されるデータとを合成し、合成されたデータを操作部（操作パネル１１）にプレビュー表示させる。ユーザは、所望の出力結果が得られる場合は、処理の継続を指示する。当該指示に応じて、プロッタ出力処理とＨＤＤ蓄積処理とが実行される。所望の出力結果が得られない場合、ユーザは、画像の加工条件を変更する。この場合、改めて画像の合成処理が行われ、プレビュー表示が実行される。
【００９３】
次に、図１９に示されるようなジョブフロー（以下「ジョブフローＤ」という。）の処理手順について説明する。図１９は、ジョブフローＤの詳細画面の表示例を示す図である。図１９のジョブフロー詳細画面１１２において、円記号は、円内に記された時間の待機を意味する。したがって、ジョブフローＤは、スキャナより画像データを入力し、その画像データに対して集約加工を施し、３０秒間待機した後、その加工データのプロッタ出力処理とＨＤＤ蓄積処理とを並列的に実行するといったものである。すなわち、ジョブフローＤは、画像データの加工の後に所定時間待機する点が、図１０において説明したジョブフローと異なる。
【００９４】
図２０は、ジョブフローＤの実行処理の処理手順を説明するためのシーケンス図である。図２０中、図１０と同一ステップ（Ｓ３０１〜Ｓ３１０）については同一ステップ番号を付し、その説明は省略する。
【００９５】
操作パネル制御部１０２よりカレントジョブフロー（ジョブフローＤ）の実行指示を受けると、フロー解析処理部１０４は、ジョブフローＤを構成する各処理部品に対して処理の実行指示を並列的に出力する（Ｓ６１１、Ｓ６１２）。但し、プロッタ制御部１０７及びＨＤＤ制御部１０６に対してはこのタイミングでは実行指示は行わない。すなわち、フロー解析処理部１０４は、カレントジョブフローが待機時間を含む場合は、当該待機後に実行される処理部品についてはこのタイミングでは実行指示を行わない。したがって、ここでは、スキャナ制御部１０９及び画像情報加工装置制御部１０８に対して実行指示が出力される。
【００９６】
フロー解析処理部１０４からの実行指示に応じ、まず、入力部品（スキャナ入力部品）であるスキャナ制御部１０９は、スキャナ１５からの画像データの読み取りを実行する（Ｓ６１３）。スキャナ制御部１０９は、読みとられた画像データを画像情報加工装置制御部１０８との間のパイプＡに出力すると共に（Ｓ６１４）、処理の完了をフロー解析処理部１０４に通知する（Ｓ６１５）。
【００９７】
画像情報加工装置制御部１０８は、パイプＡへの画像データの入力を検知すると当該画像データの加工処理（ここでは、集約処理）を実行する（Ｓ６１６）。加工処理が完了すると、画像情報加工装置制御部１０８は、処理の完了をフロー解析処理部１０４に通知すると共に（Ｓ６１７）、プロッタ制御部１０７との間のパイプＢと、ＨＤＤ制御部１０６と間のパイプＣとに加工データを出力する（Ｓ６１８、Ｓ６１９）。なお、パイプＢ又はパイプＣに加工データが入力されても、フロー解析処理部１０４より実行指示が入力されていないため、プロッタ制御部１０７及びＨＤＤ制御部１０６は処理を開始しない。
【００９８】
画像情報加工装置制御部１０６からの完了通知を受けると、フロー解析処理部１０４は、待機時間分のタイマーのカウントを開始する（Ｓ６２０）。タイマーのカウントが終了すると（すなわち、待機時間の経過を検知すると）、フロー解析処理部１０４は、待機後に実行する処理部品に対して実行指示を行う。ここでは、プロッタ制御部１０７とＨＤＤ制御部１０６とに対して並列的に実行指示が行われる（Ｓ６２２、Ｓ６２３）。ステップＳ６２４以降（プロッタ出力処理及びＨＤＤ蓄積処理）は、図１０におけるステップＳ３２２以降と同様であるのでここでの説明は省略する。
【００９９】
このように、本実施の形態における画像形成装置１０は、途中で待機時間を含むようなジョブフローの実行も制御することができる。したがって、待機時間を指定することにより処理部品の実行タイミングを調節することができ、利便性を向上させることができる。なお、待機時間は、入力部品と加工部品との間や、出力部品を直列的に実行する場合には、当該出力部品間の間に設定してもよい。また、待機時間ではなく、時刻の指定（例えば、ＦＡＸの送信時刻等の指定）によって実行タイミングを調節してもよい。
【０１００】
上述したように、本実施の形態における画像形成装置１０によれば、処理部品の組み合わせ及びその実行順を示す制御情報を予めジョブフローとして名前を付加して登録しておくことができる。また、登録されているジョブフローに従って動的に処理制御を行うことができる。したがって、ユーザは、ジョブフローの名前を呼び出すだけで（又は選択するだけで）、ジョブフローによって実現されるアプリケーションを実行することができる。
【０１０１】
また、画像形成装置１０は、動的な処理制御が可能な構成を有することにより、処理部品の追加又は削除等に対して柔軟に対応することができ、処理部品の追加又は処理部品の新たな組み合わせ等によって容易に、すなわち、既存部分に対するソースコードの修正等を比較的少なく抑えつつ機能拡張を行うことができる。
【０１０２】
なお、本実施の形態において、フロー記憶部１０５は、保存手段の一例である。また、フロー解析処理部１０４は、解析手段の一例である。また、操作パネル制御部１０２は、表示制御手段の一例である。
【０１０３】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施の形態における画像処理システムの構成例を示す図である。
【図２】本発明の実施の形態における画像処理システムの機能構成例を示す図である。
【図３】一台の画像形成装置に対するジョブフローの登録処理の処理手順を説明するためのシーケンス図である。
【図４】一台の画像形成装置に対するジョブフローの登録処理の処理手順を説明するためのシーケンス図である。
【図５】ジョブフロー生成画面の表示例を示す図である。
【図６】ジョブフロー情報の保存形式の例を概念的に示す図である。
【図７】複数の画像形成装置に対するジョブフローの登録処理の処理手順を説明するためのシーケンス図である。
【図８】複数の画像形成装置に対するジョブフローの一括登録処理の処理手順を説明するためのシーケンス図である。
【図９】ジョブフローの実行処理の第一の処理手順を説明するためのシーケンス図である。
【図１０】ジョブフローの実行処理の第二の処理手順を説明するためのシーケンス図である。
【図１１】ジョブフローの実行可否の判断方法を説明するための図である。
【図１２】ジョブフロー一覧画面の表示例を示す図である。
【図１３】ジョブフロー詳細画面の表示例を示す図である。
【図１４】ジョブフローＡの詳細画面の表示例を示す図である。
【図１５】ジョブフローＡの実行処理の処理手順を説明するためのシーケンス図である。
【図１６】ジョブフローＢの詳細画面の表示例を示す図である。
【図１７】ジョブフローＢの実行処理の処理手順を説明するためのシーケンス図である。
【図１８】ジョブフローＣの詳細画面の表示例を示す図である。
【図１９】ジョブフローＤの詳細画面の表示例を示す図である。
【図２０】ジョブフローＤの実行処理の処理手順を説明するためのシーケンス図である。
【符号の説明】
【０１０５】
１          画像処理システム
１０、１０ａ、１０ｂ      画像形成装置
１１        操作パネル
１２        ＨＤＤ（Hard Disk Drive）
１３        プロッタ
１４        画像情報加工装置
１５        スキャナ
２０        管理サーバ
３０、３０ａ、３０ｂ      クライアントＰＣ
４０        ネットワーク
１０１      通信部
１０２      操作パネル制御部（表示制御手段の一例）
１０３      フロー登録部
１０４      フロー解析処理部（解析手段の一例）
１０５      フロー記憶部（保存手段の一例）
１０６      ＨＤＤ制御部
１０７      プロッタ制御部
１０８      画像情報加工装置制御部
１０９      スキャナ制御部
１１１      ジョブフロー一覧画面
１１２      ジョブフロー詳細画面
２０１      通信部
２０２      フロー登録部
３０１      通信部
３０２      リモートＵＩ
【図１】
0004832164.tif 000002
【図２】
0004832164.tif 000003
【図３】
0004832164.tif 000004
【図４】
0004832164.tif 000005
【図５】
0004832164.tif 000006
【図６】
0004832164.tif 000007
【図７】
0004832164.tif 000008
【図８】
0004832164.tif 000009
【図９】
0004832164.tif 000010
【図１０】
0004832164.tif 000011
【図１１】
0004832164.tif 000012
【図１２】
0004832164.tif 000013
【図１３】
0004832164.tif 000014
【図１４】
0004832164.tif 000015
【図１５】
0004832164.tif 000016
【図１６】
0004832164.tif 000017
【図１７】
0004832164.tif 000018
【図１８】
0004832164.tif 000019
【図１９】
0004832164.tif 000020
【図２０】
0004832164.tif 000021