(57)【要約】【課題】機能のカスタマイズ又は拡張等を簡便化させ、さらに、ジョブを効率良く実行する画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体を提供すること。【解決手段】画像データを所定の大きさ毎に処理する複数のソフトウェア部品と、ジョブ毎に前記ジョブを構成する複数の処理のそれぞれに対応するソフトウェア部品を選択し実行順を決定することにより前記ジョブの手続きを構築し、さらに、前記ジョブに対応する複数のソフトウェア部品による処理を同期させる同期ジョブとするか否かを決定するジョブ構築手段と、前記ジョブの実行を制御するジョブ制御手段と、を有する画像形成装置。【選択図】図１０
2009118278.tif 000002
【特許請求の範囲】
【請求項１】
画像データを所定の大きさ毎に処理する、複数のソフトウェア部品と、
ジョブ毎に前記ジョブを構成する複数の処理のそれぞれに対応するソフトウェア部品を選択し実行順を決定することにより前記ジョブの手続きを構築し、さらに、前記ジョブに対応する複数のソフトウェア部品による処理を同期させる同期ジョブとするか否かを決定するジョブ構築手段と、
前記ジョブの実行を制御するジョブ制御手段と、
を有する画像形成装置。
【請求項２】
前記ジョブ構築手段は、前記ソフトウェア部品に対応するデバイスの稼働状況に係る情報と、当該ジョブの属性とに基づいて、前記ジョブを同期ジョブとするか否かを決定する請求項１記載の画像形成装置。
【請求項３】
前記ソフトウェア部品のそれぞれは、
前記画像データの入力処理の一に対応する入力ソフトウェア部品、
前記画像データの編集処理の一に対応する加工ソフトウェア部品、及び、
前記画像データの出力処理の一に対応する出力ソフトウェア部品の何れか一であり
前記ジョブは、一以上の前記入力ソフトウェア部品、一以上の前記加工ソフトウェア部品、及び、一以上の前記出力ソフトウェア部品からなる請求項２記載の画像形成装置。
【請求項４】
前記ジョブの属性は、前記出力ソフトウェア部品の属性に基づいて定められる請求項３記載の画像形成装置。
【請求項５】
前記ジョブ構築手段は、前記出力ソフトウェア部品が、前記画像データを処理する際の所定の大きさに基づいて、前記同期ジョブの期間を決定し、該同期ジョブの期間に対応する前記入力ソフトウェア部品、前記加工ソフトウェア部品、及び、前記出力ソフトウェア部品のリソースを確保する請求項３又は４記載の画像形成装置。
【請求項６】
前記同期ジョブの実行中に、前記出力ソフトウェア部品に対応し画像データの出力を行う出力デバイスが異常状態になった場合に、
前記ジョブ制御手段は、前記ジョブに対応する前記入力ソフトウェア部品と前記加工ソフトウェア部品とを、非同期に実行させる請求項３ないし５何れか一項に記載の画像形成装置。
【請求項７】
前記出力デバイスが異常状態から正常状態に復帰した場合に、
前記ジョブ制御手段は、前記出力ソフトウェア部品による処理の進行状況が、前記入力ソフトウェア部品による処理の進行状況に対して同期することのできる状況になったとき、前記入力ソフトウェア部品、前記加工ソフトウェア部品、及び、前記出力ソフトウェア部品を、前記所定の大きさの画像データを処理する時間毎に同期させる請求項６記載の画像形成装置。
【請求項８】
前記同期ジョブの属性を有するジョブは、コピージョブ、又は、前記画像データを所定の大きさ毎に送信する直接送信モードによる通信ジョブである請求項２ないし７何れか一項に記載の画像形成装置。
【請求項９】
前記ジョブ制御手段は、前記ジョブが同期ジョブの場合に、
前記入力ソフトウェア部品、前記加工ソフトウェア部品、前記出力ソフトウェア部品、前記入力ソフトウェア部品に対応し画像データの入力を行う入力デバイス、及び、前記出力ソフトウェア部品に対応し画像データの出力を行う出力デバイスが、それぞれ実行する処理を同期させる請求項３記載の画像形成装置。
【請求項１０】
画像データを所定の大きさ毎に処理する、複数の処理ステップと、
ジョブ毎に前記ジョブを構成する複数の処理のそれぞれに対応する処理ステップを選択し実行順を決定することにより前記ジョブの手続きを構築し、さらに、前記ジョブに対応する複数の処理ステップによる処理を同期させる同期ジョブとするか否かを決定するジョブ構築ステップと、
前記ジョブの実行を制御するジョブ制御ステップと、
を有する画像形成装置のジョブ制御方法。
【請求項１１】
前記ジョブ構築ステップは、前記ソフトウェア部品に対応するデバイスの稼働状況に係る情報と、当該ジョブの属性とに基づいて、前記ジョブを同期ジョブとするか否かを決定する請求項１０記載のジョブ制御方法。
【請求項１２】
前記処理ステップのそれぞれは、
前記画像データの入力処理の一に対応する入力処理ステップ、
前記画像データの編集処理の一に対応する加工処理ステップ、及び、
前記画像データの出力処理の一に対応する出力処理ステップの何れか一であり
前記ジョブは、一以上の前記入力処理ステップ、一以上の前記加工処理ステップ、及び、一以上の前記出力処理ステップからなる請求項１１記載のジョブ制御方法。
【請求項１３】
前記ジョブの属性は、前記出力処理ステップの属性に基づいて定められる請求項１２記載のジョブ制御方法。
【請求項１４】
前記ジョブ構築ステップは、前記出力処理ステップが、前記画像データを処理する際の所定の大きさに基づいて、前記同期ジョブの期間を決定し、該同期ジョブの期間に対応ささて、前記入力処理ステップ、前記加工処理ステップ、及び、前記出力処理ステップを占有する請求項１２又は１３記載のジョブ制御方法。
【請求項１５】
前記同期ジョブの実行中に、前記出力処理ステップに対応し画像データの出力を行う出力デバイスが異常状態になった場合に、
前記ジョブに対応する前記入力処理ステップと前記加工処理ステップとを、非同期に実行させる請求項１２ないし１４何れか一項に記載のジョブ制御方法。
【請求項１６】
前記出力デバイスが異常状態から正常状態に復帰した場合に、
前記出力処理ステップによる処理の進行状況が、前記入力処理ステップによる処理の進行状況に対して同期することのできる状況になったとき、前記入力処理ステップ、前記加工処理ステップ、及び、前記出力処理ステップを、前記所定の大きさの画像データを処理する時間毎に同期させる請求項１５記載のジョブ制御方法。
【請求項１７】
前記同期ジョブの属性を有するジョブは、コピージョブ、又は、前記画像データを所定の大きさ毎に送信する直接送信モードによる通信ジョブである請求項１１ないし１５何れか一項に記載のジョブ制御方法。
【請求項１８】
前記ジョブが同期ジョブの場合に、
前記入力処理ステップ、前記加工処理ステップ、前記出力処理ステップ、前記入力処理ステップに対応し画像データの入力を行う入力デバイス、及び、前記出力処理ステップに対応し画像データの出力を行う出力デバイスが、それぞれ実行する処理を同期させる請求項１２記載のジョブ制御方法。
【請求項１９】
請求項１０ないし１８何れか一項に記載のジョブ制御方法を、コンピュータに実行させるコンピュータプログラム。
【請求項２０】
請求項１９記載のコンピュータプログラムを格納したコンピュータ読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体に関する。
【背景技術】
【０００２】
近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機等の画像形成装置では、メモリ等の制限は厳しいものの、汎用的なコンピュータと同様にＣＰＵを備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００３】
例えば、特許第３６７９３４９号公報（特許文献１）に記載された画像形成装置では、各アプリケーションから共通的に利用される機能をプラットフォームとして備えており、当該プラットフォームのＡＰＩを利用してアプリケーションを実装することができる。かかる画像形成装置によれば、共通的に利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
【特許文献１】特許第３６７９３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般的に、共通的に利用されるＡＰＩを備えたプラットフォームについては、当該プラットフォームによって提供される機能又はインタフェースの粒度が適切に設計されていないと、アプリケーションの開発効率の向上が期待以上に図れない場合がある。
【０００５】
例えば、当該粒度が小さ過ぎると、単純なサービスを提供するアプリケーションであるにもかかわらず、多くのＡＰＩの呼び出しが必要とされ、そのソースコードは複雑なものとなってしまう。
【０００６】
一方、当該粒度が大き過ぎると、或るインタフェースによって提供されている機能の一部について変更を加えたサービスを提供するアプリケーションを実装したい場合、当該プラットフォーム内を修正しなければならず、開発工数の増加を招いてしまいかねない。特に、プラットフォーム内における各モジュールの依存関係が強い場合は、プラットフォームに新規機能を追加するだけでなく、既存部分の修正も必要とされる場合があり、事態はより複雑となる。
【０００７】
また、既存のアプリケーションによって提供されているサービスの一部として、例えば、画像の入力処理を変更したアプリケーションを実装したい場合、当該一部以外の部分については既存のアプリケーションを呼び出すといったようなことは出来ない。したがって、改めてソースコードを記述して新たなアプリケーションを実装しなければならない。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、機能のカスタマイズ又は拡張等を簡便化させ、さらに、ジョブを効率良く実行する画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体の提供を目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像形成装置は次の如き構成を採用した。
【００１０】
本発明の画像形成装置は、画像データを所定の大きさ毎に処理する、複数のソフトウェア部品と、ジョブ毎に前記ジョブを構成する複数の処理のそれぞれに対応するソフトウェア部品を選択し実行順を決定することにより前記ジョブの手続きを構築し、さらに、前記ジョブに対応する複数のソフトウェア部品による処理を同期させる同期ジョブとするか否かを決定するジョブ構築手段と、前記ジョブの実行を制御するジョブ制御手段と、を有する構成とすることができる。
【００１１】
これにより、機能のカスタマイズ又は拡張等を簡便化させ、さらにジョブを効率良く実行する画像形成装置を提供することができる。
【００１２】
なお、上記課題を解決するため、本発明は、さらに、上記画像形成装置におけるジョブ制御方法、そのジョブ制御方法をコンピュータに実行させるためのコンピュータプログラム、及び、そのコンピュータプログラムを記憶した情報記録媒体としてもよい。
【発明の効果】
【００１３】
本発明の画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体によれば、機能のカスタマイズ又は拡張等を簡便化させ、さらにジョブを効率良く実行する画像形成装置、ジョブ制御方法、コンピュータプログラム、及び、情報記録媒体を提供することが可能になる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づき説明する。
〔本発明の実施の形態〕
（本発明の一実施の形態に係る画像形成装置の構成（その１））
図１は、本発明の一実施の形態に係る画像形成装置の、コントローラソフトウェアを中心とするアーキテクチャとハードウェアの構成を説明する図である。
【００１５】
図１の画像形成装置１は、コントローラ部２及びエンジン部３を有する。コントローラ部２は、ジョブの要求を受け付け、そのジョブを構成する処理を実現するソフトウェア部品を選択し実行させることにより、ジョブを実現する。
【００１６】
コントローラ部２は、ユーザインタフェース部１０、アプリケーションロジック部２０、デバイスサーバイス部４０、及び、アスペクト部５０を有する。ユーザインタフェース部１０は、操作者によるジョブを実行する要求等を受け付け、アプリケーションロジック部２０にその要求を伝える。アプリケーションロジック部２０は、ジョブを実行する要求に基づいて、そのジョブを実現するための提供機能を組み合わせる処理を行う。提供機能とは、ジョブを構成する処理毎に対応し、その処理を実行するソフトウェア部品である。アプリケーションロジック部２０は、さらに、提供機能を実現するソフトウェア部品を有する。
【００１７】
デバイスサービス部４０は、アプリケーションロジック部２０が有する提供機能から、共通に利用されるデバイスであり、提供機能間の画像データの入出力を介するメモリを有する。アスペクト部５０は、ユーザインタフェース部１０、アプリケーションロジック部２０、及び、デバイスサービス部４０に対して、共通的に関連する処理を行う。
【００１８】
エンジン部３は、例えば、ネットワーク装置６１、ハードディスク装置（以下、「ＨＤＤ」という。）６２、ファクシミリ装置（以下、「ＦＡＸ」という。）６３、及び、プロッタ６４と、これらのデバイス毎に対応しデバイスを制御する図示しないデバイスドライバを有する。
【００１９】
（本発明の一実施の形態に係る画像形成装置の構成（その２））
図２は、図１の画像形成装置１の構成を、さらに詳細に説明する図である。図２において画像形成装置１は、外部からの指示を受け付けると、ユーザインタフェース部１０でその指示を解釈し、アプリケーションロジック部２０に対してその指示を伝達する。ユーザインタフェース部１０は、ローカルユーザインタフェース（以下、「ローカルＵＩ」という。）部１１、及び、通信サーバ１２を有する。ローカルＵＩ部１１は、画像形成装置１が有する操作パネル等が操作されることによる指示を受け付ける。通信サーバ１２はネットワークを介して伝達される指示を受け付ける。
【００２０】
アプリケーションロジック部２０は、例えば、アクティビティ部２１、パラメータ保持部２２、入力処理部２５、加工処理部２６、出力処理部２７、及び、データ管理部２８を有する。アクティビティ部２１は、指示されたジョブに対応する、入力処理部２５、加工処理部２６、及び、出力処理部２７を選択し、これらの処理部に対して実行を指示する。なお、「ジョブ構築手段」は、アクティビティ部２１におけるジョブの手続きを構築する機能に対応し、「ジョブ制御手段」は、アクティビティ部２１におけるジョブを制御する機能に対応する。パラメータ保持部２２は、指示内容に係る情報を保持する。
【００２１】
入力処理部２５、加工処理部２６、出力処理部２７、及び、データ管理部２８は、指示されたジョブを実行するための機能を実現する。これらのコンポーネントを複数使用することで、ジョブが実現される。また、入力、加工、出力、のそれぞれの処理に応じて、各処理部が設けられてよい。またさらに、機能を実現する処理部等は、ここに図示されたものの他に、その他の機能が追加されていてもよい。
【００２２】
デバイスサービス部４０は、入力処理部２５、加工処理部２６、及び、出力処理部２７の間の画像データの入出力を介する。デバイスサービス部４０は、例えば、画像メモリ４１を有する。一の処理部が処理した画像データが、画像メモリ４１に書き込まれた後、次の処理部によってその画像データが読み出されて処理されることにより、ジョブを構成する処理が順に実行される。
【００２３】
図２中、「クロスカット」の表記は、図１のアスペクト部５０に対応する。アスペクト部５０は、ユーザインタフェース部１０、アプリケーションロジック部２０、デバイスサービス部４０、及び、デバイス部６０から共通に使用されるブロックである。アスペクト部５０は、例えば、履歴記録部５１、アクセス制御部５２、及び、課金部５３を有する。デバイス部６０は、デバイス６０ａから６０ｃを有する。
【００２４】
（アプリケーションロジック部の詳細）
図３は、図１及び図２の画像形成装置１におけるアプリケーションロジック部２０の詳細を説明する図である。図３のアプリケーションロジック部２０は、例えば、アクティビティ部２１０、及び、提供機能部２５０を有する。
【００２５】
アクティビティ部２１０は、提供機能部２５０が有する、入力、加工、出力の各処理毎に対応するソフトウェア部品を組み合わせて１つのジョブに対応するアプリケーションを実現する。アクティビティ部２１０は、例えば、コピーアクティビティ部２１１、ＦＡＸアクティビティ部２１２、プリンタアクティビティ部２１３、保管アクティビティ部２１４、及び、マルチアクティビティ部２１５を有する。
【００２６】
また、提供機能部２５０は、例えば、保管文書読み出し提供機能２５１、ＦＡＸ受信提供機能２５２、読取提供機能２５３、ＰＣ受信提供機能２５４、加工提供機能２６１、保管文書登録提供機能２７１、ＦＡＸ送信提供機能２７２、印刷提供機能２７３、及び、メール送信提供機能２７４を有する。
【００２７】
図３の提供機能のうち、保管文書読み出し提供機能２５１、ＦＡＸ受信提供機能２５２、読取提供機能２５３、及び、ＰＣ受信提供機能２５４が、図２の入力処理部２５に対応する。また、加工提供機能２６１が、加工処理部２６に対応する。またさらに、保管文書登録提供２７１、ＦＡＸ送信提供機能２７２、印刷提供機能２７３、及び、メール送信提供機能２７４が、図２の出力処理部２６に対応する。
【００２８】
保管文書読み出し提供機能２５１は、永続領域に保管されている情報を読み出す。なお、「永続領域に保管される」とは、例えば、ハードディスク装置又は記録媒体等に記録されることをいう。ＦＡＸ受信提供機能２５２は、電話回線にてファクシミリ受信された情報を読み出す。読取機能２５３は、スキャナデバイスを制御して原稿の情報を読み取る。ＰＣ受信提供機能２５４は、ネットワークを介してＰＣ等から送信される情報を受信する。
【００２９】
加工提供機能２６１は、画像処理器を用いて画像データを編集する。なお、画像処理器とは、例えば、図示しないＣＰＵがコンピュータプログラムを実行するものでもよく、又例えば、画像処理ＡＳＩＣとして構成されるものでもよい。
【００３０】
保管文書登録提供機能２７１は、入力された情報を永続領域に保管する。ＦＡＸ送信提供機能２７２は、画像データを電話回線によりファクシミリ送信する。印刷提供機能２７３は、プロッタデバイスを制御して画像データを転写紙に印刷する。メール送信提供機能２７４は、画像データを、メールによりネットワークを介して送信する。
【００３１】
以下は、各アクティビティが実現するアプリケーション等の説明である。
・コピーアクティビティ部２１１は、読取提供機能又は保管文書読み出し提供機能と、印刷提供機能とを組み合わせてコピーアプリケーションを実現する。
・ＦＡＸアクティビティ部２１２は、ＦＡＸ受信提供機能と、印刷提供機能又はＦＡＸ送信提供機能を組み合わせてＦＡＸアプリケーションを実現する。
・プリンタアクティビティ部２１３は、ＰＣ受信提供機能と印刷提供機能とを組み合わせて、プリンタアプリケーションを実現する。
・保管アクティビティ部２１４は、ＦＡＸ受信提供機能、ＰＣ受信提供機能、読取提供機能、又は、メール受信提供機能と、保管文書登録提供機能と、を組み合わせて保管アプリケーションを実現する。
・マルチアクティビティ部２１５は、入力提供機能と、出力提供機能と、を組み合わせてマルチアプリケーションを実現する。
【００３２】
（パイプ＆フィルタアーキテクチャの説明）
図４は、パイプ＆フィルタアーキテクチャの概念を説明するための図である。図４において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００３３】
本実施の形態における画像形成装置１では、各機能をデータに対する「変換」の連続として捉える。データとは、例えば、文書データ、画像データ等である。画像形成装置１のジョブは、データの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。すなわち、フィルタは、「入力フィルタ」、「加工フィルタ」、及び、「出力フィルタ」の３種類がある。なお、各フィルタは独立しており、フィルタ間における依存関係は基本的に存在しない。ここで「依存関係」とは、例えば、フィルタ間の呼び出しである。従って、フィルタ単位で追加又は削除が可能とされている。なお、画像形成装置１に対するフィルタの追加を「インストール」、画像形成装置１からのフィルタの削除を「アンインストール」という。
【００３４】
本実施の形態では、「フィルタ」を「提供機能」とも称する。フィルタは、また、「ジョブを実現する処理毎に対応するソフトウェア部品」である。また、「ソフトウェア部品」とは、例えば、モジュールとして構成される。
【００３５】
（ジョブの手続きが構築されることの説明）
図５は、アクティビティによりジョブの手続が構築されることを説明する図である。図５（Ａ）は、図示しないスキャナにより読み取られた画像データが、プロッタ６４により出力される、「コピージョブ」の手続きが構築されたことを説明する図である。図５（Ａ）では、コピーアクティビティ部２１１により、読取提供機能２５３、加工提供機能２６１、及び、印刷提供機能２７３が選択され、実行順が決定されている。
【００３６】
また、図５（Ｂ）は、ＨＤＤ６２に保管されている画像データが読み出されて、プロッタ６４により出力されるジョブの手続が構築されたことを説明する図である。図５（Ｂ）では、コピーアクティビティ部２１１により、保管文書読み出し提供機能２５１、加工提供機能２６１、及び、印刷提供機能２７３が選択され、実行順が決定されている。
【００３７】
（コントローラ部２のハードウェア構成）
図６は、コントローラ部２のハードウェア構成を説明する図である。図６のコントローラ部２は、例えば、システム制御部７１、画像処理部７２、文書蓄積部７３、エンジン制御部７４、メモリ７２１、ＨＤＤ７３１、スキャナ７４１、ネットワーク装置７４２、プロッタ７４３、及び、ＦＡＸ７４４を有する。
【００３８】
システム制御部７１は、画像形成装置１の全体の制御を行う。画像処理部７２は、画像データの編集を行う。画像処理部７２によって実現される各処理は、加工フィルタに対応する。画像処理部７２は、また、画像データを処理する際に用いるメモリ７２１の領域の確保を行う。これにより、パイプ＆フィルタアーキテクチャによる画像データの処理が実現される。
【００３９】
メモリ７２１は、画像処理部７２によって使用され、処理される画像データが格納される。文書蓄積部７３は、ＨＤＤ７３１に画像データを格納し、また、ＨＤＤ７３１から画像データを読み出す。
【００４０】
エンジン制御部７４は、エンジン部の各デバイスを制御する。各デバイスは、例えば、スキャナ７４１、ネットワーク装置７４２、プロッタ７４３、及び、ＦＡＸ７４４である。
【００４１】
（エンジン制御部の構成）
図７は、エンジン制御部７４の詳細を説明する図である。エンジン制御部７４は、共通エンジン制御部７５、読取制御部７６、送受信制御部７７、及び、印刷制御部７８を有する。読取制御部７６は、スキャナ７４１の動作を制御する。送受信制御部７７は、ネットワーク装置７４２及び／又はＦＡＸ７４４の動作を制御する。印刷制御部７８は、プロッタ７４３の動作を制御する。
【００４２】
読取制御部７６は、入力フィルタに対応し、印刷制御部７８は、出力フィルタに対応する。また、送受信制御部７７は、送信に係る処理を行う際には出力フィルタとして機能し、受信に係る処理を行う際には入力フィルタとして機能する。
【００４３】
（操作部の構成の例）
図８は、本実施形態の画像形成装置１の操作部を説明する図である。図８の操作部は、表示部ａに、画像形成装置１の状態等が表示される。また、コピー、スキャン、送信に対応するボタンｂ〜ｄ、スタートボタンｅ等が設けられている。
【００４４】
操作者が、コピーボタンｂを押下することにより、コピージョブの実行が選択される。さらに、操作者が、カラー変更、変倍、ステープル等の設定を行った後に、スタートボタンｅを押下することにより、設定に基づいて、コピージョブを実行する指示が入力され、入力提供機能、加工提供機能、及び、出力提供機能からなるジョブの手続きが構築され制御される。
【００４５】
図８の操作部から入力された信号は、ローカルＵＩ部１１によって処理されてジョブの指示等となり、アクティビティ部２１に伝達される。
【００４６】
（非同期ジョブ）
図９は、非同期ジョブの例を説明する図である。なお、「同期ジョブ」とは、例えば、各提供機能が、画像データを所定の大きさ毎に処理する場合に、その所定の大きさを処理する時間毎に、各提供機能の処理の進行状況を同期させるジョブを言い、「非同期ジョブ」とは、上記の同期を行わないジョブを言う。
【００４７】
図９では、ローカルＵＩ部１１から出力されたジョブの実行要求に基づいて、アクティビティ部２１が、入力処理部２５、加工処理部２６、及び、出力処理部２７を、画像メモリ４１を介して接続するジョブとして構築する。図９は、コピージョブの例であり、入力処理部２５は、紙原稿を読み取るスキャナを制御する提供機能であり、出力処理部２７は、画像データをＣＭＹＫ色空間に変換し、プロッタにより紙面に画像を形成させる提供機能である。
【００４８】
図９において、ジョブが開始されると、入力処理部２５は、ページ毎に読み取られた画像データを記憶する領域４１ａが画像メモリ４１に確保された後、スキャナ制御部に紙原稿を読み取らせる。ここで、片面原稿を読み取る場合には、紙原稿が一枚スキャナで読み取られる毎に、ＲＧＢ色空間の画像データが１つずつ形成される。この画像データの単位を「ページ」という。
【００４９】
加工処理部２６は、操作者によって設定された条件に基づいて、領域４１ａに格納された画像データに対して編集処理を行う。編集された画像データは、画像メモリ４１上の領域４１ｂに格納される。出力処理部２７は、領域４１ｂ上の画像データをＣＭＹＫ色空間の画像データに変換し、プロッタにより出力させる。
【００５０】
図９の処理において、領域４１ａ及び領域４１ｂが確保できない場合には、画像データをＨＤＤ６２等へ格納して、画像メモリ４１上の領域４１ａ又は領域４１ｂを開放し、新たな画像データが画像メモリ上に格納されるようにする。しかしながら、この場合には、ＨＤＤ６２へのアクセスが発生することにより、ジョブ全体の処理速度が低下するという不具合が生じる。
【００５１】
そこで、本実施の形態では、この課題を解決するために、同期ジョブによりジョブを実行する。以下、同期ジョブによるジョブの実行の例について、説明する。
【００５２】
（同期ジョブ）
図１０は、同期ジョブの例を説明する図である。図１０の例では、入力処理部２５、加工処理部２６、及び、出力処理部２７のそれぞれが、同期ジョブを実行できるか否かを判断し、同期ジョブが実行できる場合に、さらに、画像メモリ４１上の領域４１ａと領域４１ｂとが確保されたとき、同期ジョブとしてジョブを実行させる。
【００５３】
例えば、コピージョブにおいて、読み取った画像データを１枚ずつ出力する１ｔｏ１コピーの場合には、入力処理部２５、及び、出力処理部２７は、同期ジョブの動作である旨の応答を出力する。この応答に基づいて、アクティビティ部２１が、画像メモリ４１上の領域４１ａと領域４１ｂとを確保する。画像メモリ４１上の必要な領域が確保された場合に、アクティビティ部２１は、このコピージョブを同期ジョブとして実行させる。
【００５４】
これにより、入力処理部２５、加工処理部２６、及び、出力処理部２７が同期ジョブとして稼働する時間を低減することができるため、同期ジョブと同時又は相前後して実行されるジョブにおいて、これらの処理部が使用される場合でも、画像形成装置１が実行する複数のジョブを効率良く実行することができる。
【００５５】
またさらに、同期ジョブとして実行されることにより、画像メモリ４１上に確保される領域に格納される画像データは、格納後に短時間で次の処理部に読み出されるため、画像データがＨＤＤ６２に格納されることなくジョブを実現することができ、ジョブを短時間で実行することができる。
【００５６】
なお、同期ジョブとして実行することが好ましいジョブは、例えば、コピージョブのように、プロッタが連続して画像データを処理するジョブであり、また例えば、電話回線によるファクシミリ送信やネットワークを介したメール送信、ＰＣへの送信等のうち、１ページ毎に送信する直接送信モードのジョブである。これらのジョブは、例えば、１ページ毎に連続して出力されるものである。
【００５７】
一方、直接送信モードではない通信による出力では、画像データは連続して出力されなくてもよい。そこで、非同期ジョブとして実行させることにより、各処理部及び画像メモリ４１上の領域等のリソースを、他のジョブの進行状況に鑑みて使用することができ、画像形成装置１の全体として、複数のジョブを効率良く実行することができる。
【００５８】
そこで、出力処理毎に対応する出力処理部のそれぞれに対し、同期ジョブに適しているか否かの属性を対応づけて管理することにより、ジョブを実行する際に、アクティビティ部２１がその属性を取得して、同期ジョブ又は非同期ジョブの何れにより実行するかを決定することができる。
【００５９】
（画像データの受け渡し単位）
図１１は、画像データの受け渡し単位を説明する図である。図１１では、入力部８１が入力される所定の大きさの画像データを処理する。所定の大きさとは、例えば、１ページ、１つのバンド、又は、１つのブロックである。なお、バンドとは、一のページの画像データの中で、主走査線が所定の本数からなる画像データである。また、ブロックとは、一のバンドの画像データが、主走査線と垂直な方向に分割された画像データである。
【００６０】
時刻ｔの経過に伴い、入力部３１によって処理された画像データが、画像メモリ４１に蓄積される。図１１では、処理された画像データの量を、三角形の面積で表している。入力部８１により、所定の大きさの画像データの処理が終了した後、続いて、画像処理器（以下、「画処理器」という。）８２による処理が実行される。画処理器８２により、所定の大きさの画像データの処理が終了した後、続いて、出力部８３による処理が実行される。
【００６１】
出力部８３の処理が終了した後、全ての画像データが出力デバイスに対して出力される。ここで符号Ｓ１を付した部分が、この同期ジョブを実現するために、各処理部及び画像メモリ４１の領域が使用される期間である。
【００６２】
なお、図中「入力部８１」は「入力処理部２５」に対応し、「画処理器８２」は「加工処理部２６」に対応し、「出力部８３」は「出力処理部２７」に対応する。
【００６３】
（画像データの受け渡し単位の違いによる処理期間）
図１２は、画像データの受け渡し単位の違いによる処理期間の差を説明する図である。なお、「画像データの受け渡し単位」とは、「所定の大きさの画像データ」に対応する。図１２（Ａ）では、１ページ毎に各処理部が処理を行った後、次の処理部における処理が開始される。
【００６４】
一方、図１２（Ｂ）では、１つのバンドの処理が終了する毎に、次の処理部により、そのバンドの画像データの処理が開始される。図１２（Ｂ）において符号Ｓ２を付した期間が、入力された画像データが出力されるまでに要する時間である。図１２より、１ページ毎に処理する場合に比して、１つのバンド毎に処理する方が、入力された画像データが出力される迄に要する時間が短くなる。
【００６５】
（出力部の違いによるリソース確保単位の相違）
図１３及び図１４は、出力部の違いによる同期ジョブのリソース確保単位の相違を説明する図である。なお、「同期ジョブのリソースを確保する」とは、同期ジョブを構成する処理毎に対応する各処理部及びその処理部に対応するデバイス等を、その同期ジョブを実行させるために占有することと、その同期ジョブに用いられる画像メモリ４１上の領域を確保することとをいう。以下の説明では、各処理部を占有することについて説明するが、各処理部が占有される際に、その処理部が処理を実行する際に用いる画像メモリ４１上の領域も、あわせて確保される。
【００６６】
図１３では、アクティビティ部２１による各処理部と画像メモリ４１の必要な領域との確保は、１つのバンド毎に行われる。これにより、１つのバンド毎に同期ジョブとしてジョブが実行される。ここで、画処理器８２による処理が、例えば、画像メモリ４１上の必要な領域を確保できない場合には、符号ｔ１を付した箇所において、処理される画像データの連続性が失われる。
【００６７】
例えば、コピージョブのように、画像データがプロッタにより媒体上に形成される場合には、１ページ分の画像データが間を空けることなくプロッタに対して出力される必要がある。しかし、図１３のように、画像データの連続性が失われると、プロッタによって形成される画像に間が空く、又は、欠けが生じる等の不具合が発生する。
【００６８】
図１４は、コピージョブのように、出力処理部２７からの画像データの出力が、連続して行われる必要がある場合に、確保される同期ジョブのリソースの単位を説明する図である。図１４では、各処理部はバンド単位に画像データを処理するが、アクティビティ部２１によって確保されるリソースは、１ページ分の画像データを処理するのに必要なものである。
【００６９】
図１４（Ａ）は、画像データをスキャナから読み込んで印刷処理する場合に、確保されるリソースの例であり、入力部８１、画処理器８２、及び、出力部８３のそれぞれが、１ページ分の画像データを連続して処理するのに必要な間、アクティビティ部２１によって確保されることを表している。
【００７０】
図１４（Ｂ）は、ＨＤＤ６２に記憶されている画像データを読み込んで印刷処理する場合に確保されるリソースの例である。図１４（Ｂ）では、画像データを入力するための処理は無いため、画処理器８２及び出力部８３が、アクティビティ部２１によって確保される。
【００７１】
コピージョブとは異なり、ＦＡＸ送信やメール送信等、画像データを送信する出力は、出力処理において画像データの連続性が失われても構わない場合には、１つのバンド毎に同期ジョブとしてジョブを実行しても不具合は生じない。そこで、各処理部が、１のバンドを処理した後、他のジョブに係る処理を実行し、再び、次のバンドを処理することにより、複数のジョブの中で、同期ジョブを効率的に配することができ、画像形成装置の全体のジョブを効率良く実行することができる。
【００７２】
すなわち、同期ジョブを実行する際に、出力形態に応じて、確保するリソースの量を異ならせることにより、効率的に同期ジョブとその他のジョブとを含む、画像形成装置が実行する複数のジョブを効率良く実行することができる。
【００７３】
（リソース確保単位のバリエーション）
図１５は、複数枚の原稿を読み取って１部の画像を出力する例である。１ページ分の画像データを分割し、分割した画像データ毎に連続して処理することにより、効率良く処理を行うことができる。なお、図１５では、ページ毎の処理の間に、処理を行わない時間が含まれているが、本発明の実施の形態はこの例に限らない。複数ページの処理が連続して行われてもよい。
【００７４】
図１６は、１枚の原稿を読み取って複数部の画像を出力する例である。図１６では、１枚目の画像を出力する際には、スキャナである入力部８１、画処理器８２、及び、プロッタである出力部８３のリソースが確保される。２枚目以降の画像を出力する際には、既に読み込まれた画像データを用いるため、画処理器８２と出力部８３とのリソースが確保される。
【００７５】
図１７は、２枚の原稿を読み取った画像データを合成して１枚の紙面に出力する例である。図１７では、１ページ目と２ページ目の原稿が読み取られた後、出力の１ページ分に対応する画処理器８２と出力部８３のリソースが確保される。
【００７６】
（同期ジョブのシーケンス）
図１８Ａ及び図１８Ｂは、同期ジョブを説明するシーケンス図である。図１８Ａ及び図１８Ｂでは、コピージョブを同期ジョブとして実行する例について説明する。図１８ＡのステップＳ１０１では、システム制御部７１から共通エンジン制御部７５に対し、読取制御部７６の制御方式を確認する要求が出力される。この要求は、ジョブを実行させる指示に基づいてよい。なお、制御方式の情報とは、同期ジョブに適しているか否かを表す属性の情報であり、例えば、「同期ジョブ」又は「非同期ジョブ」を表す値である。各制御部は、その処理に応じた属性として、制御方式の値を有する。
【００７７】
ステップＳ１０１に続いてステップＳ１０２に進み、共通エンジン制御部７５から読取制御部７６に対し、制御方式の問い合わせが出力される。ステップＳ１０２に続いてステップＳ１０３に進み、読取制御部７６からシステム制御部７１に対し、制御方式の情報が出力される。ここでは、非同期ジョブの属性が出力される。
【００７８】
ステップＳ１０３に続いてステップＳ１０４に進み、システム制御部７１から画像処理部７２に対し、制御方式の問い合わせが出力される。ステップＳ１０４に続いてステップＳ１０５に進み、画像処理部７２からシステム制御部７１に対し、ステップＳ１０４の問い合わせに基づいて、制御方式の情報が出力される。ここでは、非同期ジョブの属性が出力される。
【００７９】
ステップＳ１０５に続いてステップＳ１０６に進み、システム制御部７１から共通エンジン制御部１０６に対し、印刷制御部７８の制御方式を確認する要求が出力される。ステップＳ１０６に続いてステップＳ１０７に進み、共通エンジン制御部１０６から印刷制御部７８に対し、制御方式の問い合わせが出力される。ステップＳ１０７に続いてステップＳ１０８に進み、印刷制御部７８からシステム制御部７１に対し、ステップＳ１０７の問い合わせに基づいて、制御方式の情報が出力される。ここでは、同期ジョブの属性が出力される。
【００８０】
なお、ステップＳ１０１からステップＳ１０８の処理は、読取制御部７６、画像処理部７２、及び、印刷制御部７８のそれぞれに係る処理の間で、非同期であってよい。
【００８１】
ステップＳ１０１からステップＳ１０８の処理が終了した後、ステップＳ１０９に進み、システム制御部７１が、ステップＳ１０３、ステップＳ１０５、及び、ステップＳ１０８で取得された制御方式の情報に基づいて、このジョブを同期ジョブとして実行することが可能か否かを判断する。ここでは、同期ジョブとして実行することが可能な場合について、以下説明する。
【００８２】
ステップＳ１０９に続いてステップＳ１１０に進み、システム制御部７１から読取制御部７６に対し、スキャナ７４１のリソースが確保できるか否かの確認要求が出力される。ステップＳ１１０に続いてステップＳ１１１に進み、読取制御部７６からスキャナ７４１に対し、読み取りのリソースが確保できるか否かの確認要求が出力される。
【００８３】
ステップＳ１１１に続いてステップＳ１１２に進み、スキャナ７４１から読取制御部７６に対し、ステップＳ１１１の確認要求に基づいて読み取りのリソースが確保された通知が出力される。ステップＳ１１２に続いてステップＳ１１３に進み、読取制御部７６からシステム制御部７１に対し、読み取りのリソースが確保された通知が出力される。
【００８４】
ステップＳ１１３に続く、ステップＳ１１４からステップＳ１１７の処理は、プロッタ７４４における印刷出力のリソースが確保できるか否かの確認要求と、そのリソースが確保できた通知に係る処理であり、ステップＳ１１０からステップＳ１１３のスキャナ７４１に係る処理と同様であるので、ここでは説明を省略する。
【００８５】
ステップＳ１１７に続いてステップＳ１１８に進み、システム制御部７１から画像処理部７２に対し、画像データの加工処理のリソースが確保できるか否かの確認要求が出力される。ステップＳ１１８に続いてステップＳ１１９に進み、画像処理部７２からシステム制御部７１に対し、加工処理のリソースが確保できた旨の通知が出力される。
【００８６】
なお、ステップＳ１１０からステップＳ１１９の処理は、読取制御部７６、画像処理部７２、及び、印刷制御部７８のそれぞれに係る処理の間で、非同期であってよい。
【００８７】
ステップＳ１１０からステップＳ１１９の処理が終了した後、ステップＳ１２０に進み、システム制御部７１が、読取、加工、及び、印刷の各処理のリソースが確保されたか否かに基づいて、同期ジョブが実行できるか否かの判断を行う。ここでは、各処理のリソースが確保され、同期ジョブを実行すると判断された場合の処理について、以下説明する。
【００８８】
図１８Ｂに進み、ステップＳ１２０に続いてステップＳ１２１からステップＳ１２３の処理に進む。ステップＳ１２１からステップＳ１２３では、システム制御部７１から、読取制御部７６、画像処理部７２、及び、印刷制御部７８のそれぞれに対し、同期ジョブを行う旨の通知が出力される。この通知により、各処理部が、同期ジョブに対応する設定を行う。
【００８９】
ステップＳ１２１からステップＳ１２３の処理が終了した後、ステップＳ１２４に進み、システム制御部７１から読取制御部７６に対し、読み取りの画像処理のリソースを確保する指示が出力される。ステップＳ１２４に続いてステップＳ１２５に進み、読取制御部７６から画像処理部７２に対し、読み取りの画像処理のリソースを確保する要求が出力される。ここではメモリ７２１上の領域が確保される。ステップＳ１２５に続いてステップＳ１２６に進み、画像処理部７２から読取制御部７６に対し、画像処理のリソースが確保された旨の通知が出力される。ステップＳ１２６に続いてステップＳ１２７に進み、読取制御部７６から共通エンジン制御部７５に対し、読み取りの画像処理のリソースが確保された通知が出力される。
【００９０】
ステップＳ１２７に続いてステップＳ１２８に進み、システム制御部７１から画像処理部７２に対し、画像の加工処理のリソースを確保する指示が出力される。ステップＳ１２８に続いてステップＳ１２９に進み、画像処理部７２が、画像の加工処理のリソースを確保する。ステップＳ１２９に続いてステップＳ１３０に進み、画像処理部７２から共通エンジン制御部７５に対し、画像の加工処理のリソースが確保された旨の通知が出力される。
【００９１】
ステップＳ１３０に続くステップＳ１３１からステップＳ１３４の処理は、印刷の画像処理のリソースを確保する処理であり、その内容は、ステップＳ１２４からステップＳ１２７の読取の画像処理のリソースに係る処理と同様であるので、ここでは説明を省略する。
【００９２】
ステップＳ１３４に続いてステップＳ１３５に進み、共通エンジン制御部７５から読取制御部７６に対し、入力される画像データを取得する指示が出力される。ステップＳ１３５に続いてステップＳ１３６に進み、読取制御部７６からスキャナ７４１に対し、原稿画像を読み取って画像データを取得する指示が出力される。
【００９３】
ステップＳ１３６以降のステップＳ１３７からステップＳ１４２の処理は、同期ジョブとして実行される。ステップＳ１３６に続いてステップＳ１３７に進み、スキャナ７４１が原稿を読み取る。ステップＳ１３７に続いてステップＳ１３８に進み、スキャナ７４１から読取制御部７６に対し、読み取られた画像データが出力される。ステップＳ１３８に続いてステップＳ１３９に進み、読取制御部７６から画像処理部７２に対し、読み取られた画像データが出力される。
【００９４】
ステップＳ１３９に続いてステップＳ１４０に進み、画像処理部７２が、コピージョブに対応した画像の加工処理を行う。ステップＳ１４０に続いてステップＳ１４１に進み、画像処理部７２から印刷制御部７８に対し、画像データとともに、画像を媒体上に形成する指示が出力される。ステップＳ１４１に続いてステップＳ１４２に進み、印刷制御部７８からプロッタ７４４に対し、画像データとともに、画像を媒体上に形成する指示が出力される。この指示に基づいて、プロッタ７４４が画像を媒体上に形成して出力する。
【００９５】
（各制御部が制御方式を決定する際の処理）
図１９は、デバイス毎に対応する各エンジン制御部が、制御方式を決定する際の処理を示すフロー図である。図１９の処理は、例えば、図１８ＡのステップＳ１０２、ステップＳ１０４、及び、ステップＳ１０７に基づいて実行される。
【００９６】
図１９のステップＳ１１では、各制御部により実行される処理に基づいて、そのジョブが同期ジョブとして実行される必要があるか否かを判断する。より詳細には、例えば、各制御部又はデバイスが処理の属性に係る情報を保持し、その属性に係る情報を、アクティビティ部２１が取得することにより、同期ジョブとして実行するか否かを判断する。
【００９７】
ここでは、例えば、図１４から図１７に例示されるジョブの場合に、同期ジョブとして実行される必要があると判断する。同期ジョブとして実行される必要があると判断された場合には、ステップＳ１２に進み、そうではない場合には、非同期ジョブとして実行すると判断される。なお、非同期ジョブを「並行制御によるジョブ」ともいい、同期ジョブを「同期制御によるジョブ」ともいう。
【００９８】
ステップＳ１１に続くステップＳ１２では、各制御部が画像データを処理する単位とその処理の方法について確認する。複数の画像データを同時に処理する場合、又は、複数画像データを連続して繰り返し処理する場合には、並行制御によるジョブと判断する。そうではない場合には、同期制御によるジョブと判断する。
【００９９】
（リソースの確保による同期ジョブの可否の判断）
図２０は、リソースが確保されたか否かによって、同期ジョブとして実行するか否かを判断する処理の例のフロー図である。図２０の処理は、図１８ＡのステップＳ１２０において実行される。
【０１００】
図２０のステップＳ２１では、各制御部が図１９の処理を実行した結果、同期制御によるジョブと判断した制御部の有無を確認する。同期ジョブと判断した制御部がある場合には、ステップＳ２２に進み、無い場合には、ステップＳ２３に進む。ステップＳ２１に続くステップＳ２３では、各制御部において、同期ジョブに必要な単位のリソースを確保したか否かを判断する。全ての制御部において、同期ジョブに必要な単位のリソースが確保されている場合には、同期ジョブとして実行することが決定される。一方、一以上の制御部において、同期ジョブに必要な単位のリソースが確保されない場合には、ステップＳ２３に進む。
【０１０１】
ステップＳ２３では、並行制御によるジョブとして実行可能か否かを判断する。可能な場合には、ステップＳ２４に進み、可能ではない場合には、リソースが空くのを待つ状態に遷移する。
【０１０２】
ステップＳ２３に続くステップＳ２４では、制御部毎に、並行制御によるジョブに必要なリソースが確保されているか否かを判断する。確保されている場合には、並行制御によるジョブとして実行することを決定し、その指示を出力する。一方、リソースが確保されていない場合には、リソースが空くのを待つ状態に遷移する。
【０１０３】
（一部を同期ジョブとして実行する処理のシーケンス）
図２１Ａ及び図２１Ｂは、コピージョブのうち、加工フィルタと出力フィルタに対応する部分を同期ジョブとして実行する処理の例を示すシーケンス図である。図２１Ａ及び図２１ＢのステップＳ２０１からステップＳ２２７の処理は、図１８Ａ及び図１８ＢのステップＳ１０１からステップＳ１２７の処理とほぼ同一であり、ステップＳ２０９又はステップＳ２２０において、非同期ジョブとして実行される旨の判断がなされる点が、図１８Ａ及び図１８Ｂとは異なる。そこで、図２１ＢのステップＳ２２７において、画像を読み取る処理のリソースが確保された後、他の制御部に係るリソースの確保を行うことなく、画像を読み取る処理が開始される。
【０１０４】
図２１ＢのステップＳ２２７に続くステップＳ２２８では、共通エンジン制御部７５から読取制御部７６に対し、原稿画像を読み取って画像データを取得する指示が出力される。ステップＳ２２８に続いてステップＳ２２９に進み、読取制御部７６からスキャナ７４１に対し、原稿画像を読み取る指示が出力される。ステップＳ２２９に続いてステップＳ２３０に進み、スキャナが原稿を読み取って画像データを取得する。
【０１０５】
ステップＳ２３０に続いてステップＳ２３１に進み、スキャナ７４１から読取制御部７６に対し、読み取られた画像データが出力される。ステップＳ２３１に続いてステップＳ２３２に進み、読取制御部７６から画像処理部７２に対し読み取られた画像データが出力される。ステップＳ２３２に続いてステップＳ２３３に進み、画像処理部７２から文書蓄積部７３に対し、画像データを格納する要求とともに、画像データが出力される。この要求に基づいて、文書蓄積部７３が、ＨＤＤ７３１に画像データを格納する。
【０１０６】
ＨＤＤ７３１に画像データが格納されることにより、スキャナ７４１による画像データの入力が、画像データの加工及び印刷出力と同期できない場合でも、加工処理及び印刷出力処理を同期ジョブとして実行することができる。
【０１０７】
ステップＳ２３３に続いてステップＳ２３４に進み、システム制御部７１から画像処理部７２に対し、画像データの加工処理をするためのリソースを確保する指示が出力される。ステップＳ２３４に続いてステップＳ２３５に進み、画像処理部７２が、画像を加工処理するためのリソースを確保する。ここでは、メモリ７２１上の必要な領域が確保される。
【０１０８】
ステップＳ２３５に続いてステップＳ２３６に進み、画像処理部７２から共通エンジン制御部７５に対し、加工処理のリソースが確保された旨の通知が出力される。
【０１０９】
ステップＳ２３６に続いてステップＳ２３７に進み、システム制御部７１から印刷制御部７８に対し、画像データを印刷出力するためのリソースを確保する指示が出力される。ステップＳ２３７に続いてステップＳ２３８に進み、印刷制御部７８から画像処理部７２に対し、印刷出力の画像処理のためのリソースを確保する指示が出力される。この指示に基づいて、画像処理部７２が、メモリ７２１上の必要な領域を確保する。
【０１１０】
ステップＳ２３８に続いてステップＳ２３９に進み、画像処理部７２から印刷制御部７８に対し、印刷処理に必要なリソースが確保された旨の通知が出力される。ステップＳ２３９に続いてステップＳ２４０に進み、印刷制御部７８から共通エンジン制御部７５に対し、画像データを印刷出力するためのリソースが確保された旨の通知が出力される。
【０１１１】
ステップＳ２４０に続いてステップＳ２４１に進み、共通エンジン制御部７５から文書蓄積部７３に対し、ＨＤＤ７３１に蓄積されている画像データを読み出す指示が出力される。この指示に基づいて、文書蓄積部７３が、ＨＤＤ７３１から画像データを読み出す。
【０１１２】
ステップＳ２４１に続いてステップＳ２４２に進み、共通エンジン制御部７５から画像処理部７２に対し、画像データを印刷出力するための処理を行い、印刷出力する指示が出力される。ステップＳ２４２に続いてステップＳ２４３に進み、画像処理部７２が、画像データに対し、コピージョブの印刷出力に対応する処理を行う。
【０１１３】
ステップＳ２４３に続いてステップＳ２４４に進み、画像処理部７２から印刷制御部７８に対し、ステップＳ２４３で処理された画像データとともに、画像を印刷する指示が出力される。ステップＳ２４４に続いてステップＳ２４５に進み、印刷制御部７８からプロッタ７４４に対し、画像データが転送され、プロッタ７４４が画像を媒体上に形成して出力する。
【０１１４】
（異常が発生した場合の例）
図２２は、出力処理において異常が発生した場合に、同期ジョブのうち、出力処理に係る部分を除く他の部分の処理を続けることを説明する図である。図２２の例では、出力処理部２７に対応するデバイスにおいて、ジャム等の異常が発生し、出力処理を行うことができなくなった場合に、入力処理部２５及び加工処理部２６を非同期ジョブとして実行させている。
【０１１５】
これにより、同期ジョブを行っている際に、出力処理部２７が処理を続けられなくなった場合でも、入力処理部２５と加工処理部２６との処理を続けることができ、画像形成装置１が有するリソースを効率良く使用することができる。
【０１１６】
さらに、出力処理部２７の異常が解除され、出力が可能になった場合には、既に読み取られた画像データを出力処理部２７が処理するために、非同期ジョブとして処理が続けられる。そして出力処理部２７による画像データの処理速度が入力処理部２５による処理速度よりも速い場合には、何れかの時点で、出力処理部２７によって処理される画像データが、領域４１ｂ上に格納されていない状態が発生する。ここで、出力処理部２７が、アクティビティ部２１に対して同期ジョブへの移行を要求し、アクティビティ部２１が入力処理部２５、加工処理部２６、及び、出力処理部２７に対して同期ジョブを指示する。
【０１１７】
これにより、出力処理の異常復帰時に、非同期ジョブから同期ジョブに切り替えることで、出力処理が入力処理に追いついた時点からはメモリの有効活用をすることができ、画像形成装置１の全体のリソースを効率良く使用することができ、また画像形成装置１が実行する複数のジョブを効率良く実行することができる。
【０１１８】
（同期ジョブから非同期ジョブへ移行する処理）
図２３は、出力処理において異常が発生した場合に、非同期ジョブへ移行する処理の例を説明するシーケンス図である。図２３のステップＳ３０１では、プロッタ７４４においてジャムが発生したことに基づいて、プロッタ７４４から印刷制御部７８に対し、異常発生の通知が出力される。ステップＳ３０１に続いてステップＳ３０２に進み、印刷制御部７８から共通エンジン制御部７５に対し、プロッタにおける異常発生の通知が出力される。
【０１１９】
ステップＳ３０２に続いてステップＳ３０３に進み、共通エンジン制御部７５からシステム制御部７１に対し、プロッタにおける異常発生の通知が出力される。この通知に基づいて、システム制御部７１が同期ジョブを中止し、制御方式を切り替える処理を開始する。
【０１２０】
ステップＳ３０３に続いてステップＳ３０４に進み、システム制御部７１から共通エンジン制御部７５に対し、読取制御部７６の制御方式を確認する要求が出力される。ステップＳ３０４に続いてステップＳ３０５に進み、共通エンジン制御部７５から読取制御部７６に対し、制御方式の問い合わせが出力される。ステップＳ３０５に続いてステップＳ３０６に進み、読取制御部７６からシステム制御部７１に対し、読取制御部７６の制御方式が通知される。ここでは、非同期ジョブの属性情報が出力される。
【０１２１】
ステップＳ３０６に続いてステップＳ３０７に進み、システム制御部７１から画像処理部７２に対し、制御方式の問い合わせが出力される。ステップＳ３０７に続いてステップＳ３０８に進み、画像処理部７２からシステム制御部７１に対し、制御方式が出力される。ここでは、非同期ジョブの属性情報が出力される。
【０１２２】
ステップＳ３０８に続いてステップＳ３０９に進み、システム制御部７１から共通エンジン制御部７５に対し、印刷制御部７８の制御方式を確認する要求が出力される。ステップＳ３０９に続いてステップＳ３１０に進み、共通エンジン制御部７５から印刷制御部７８に対し、制御方式の問い合わせが出力される。ステップＳ３１０に続いてステップＳ３１１に進み、印刷制御部７８からシステム制御部７１に対し、制御方式の情報が通知される。ここでは、プロッタ７４４に異常が発生しているため、非同期ジョブの属性情報が出力される。
【０１２３】
なお、ステップＳ３０４からステップＳ３１１の処理は、読取制御部７６、画像処理部７２、及び、印刷制御部７８のそれぞれに係る処理の間で、非同期でよい。
【０１２４】
ステップＳ３０４からステップＳ３１１の処理が終了した後、ステップＳ３１２に進み、システム制御部７１が、ステップＳ３０６、ステップＳ３０８、及び、ステップＳ３１１で出力された制御方式の情報に基づいて、ジョブの制御方式を決定する。ここでは、非同期ジョブとしてジョブが制御される場合について、以下説明する。
【０１２５】
ステップＳ３１２に続いてステップＳ３１３からステップＳ３１５に進む。ステップＳ３１３からステップＳ３１５は、システム制御部７１から、読取制御部７６、画像処理部７２、及び、印刷制御部７８のそれぞれに対し、ステップＳ３１２で決定された制御方式が通知される。ステップＳ３１３からステップＳ３１５の後、非同期ジョブとして、読取制御部７６と画像処理部７２との処理が実行される。
【０１２６】
（コンピュータの構成）
図２４は、本実施形態の画像形成装置を実現するコンピュータの構成図である。図２４のコンピュータは、主処理部９００、入力デバイス９１０、表示装置９２０、プリンタ９３０、スキャナ９４０、及び、ＨＤＤ９９０を有する。主処理部９００は、コンピュータの機能を実現する主たる部分であり、ＣＰＵ９０１、ＲＯＭ９０８、及び、ＲＡＭ９０９を有する。ＣＰＵ９０１は、コンピュータプログラムをＲＯＭ９０８等から読み出し、ＲＡＭ９０９に展開することにより、本実施形態のコンピュータプログラムを実行する。ＲＯＭ９０８は不揮発性のメモリであり、ＣＰＵ９０１によって実行されるコンピュータプログラム、及び、画像形成装置の制御に必要なパラメータ等を保持する。ＲＡＭ９０９は、ＣＰＵ９０１が処理を行う際の、ワークメモリである。
【０１２７】
入力デバイス９１０は、例えば、キーボード等であり、操作者が指示の入力を行う際に使用する。表示装置９２０は、コンピュータの状態等の表示を行う。プリンタ９３０は、画像を媒体に形成して出力する装置であり、スキャナ９４０は、媒体上に形成された画像を光学的に読み取る装置である。ＨＤＤ９９０は、画像のデータ等の大容量のデータを格納する。
【０１２８】
本実施形態のコンピュータプログラムは、ＨＤＤ９９０、又は、ＲＯＭ９０８に格納される他に、その他図示しないドライブ装置に挿入可能な記録媒体に格納されていてもよい。
【０１２９】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【図面の簡単な説明】
【０１３０】
【図１】本発明の一実施の形態に係る画像形成装置のコントローラソフトウェアを中心とするアーキテクチャとハードウェアの構成の図（その１）。
【図２】本発明の一実施の形態に係る画像形成装置の、コントローラソフトウェアを中心とするアーキテクチャとハードウェアの構成の図（その２）。
【図３】アプリケーションロジック部の詳細の図。
【図４】パイプ＆フィルタアーキテクチャの概念の図。
【図５】アクティビティによりジョブの手続が構築されることを説明する図。
【図６】コントローラ部のハードウェア構成を説明する図。
【図７】エンジン制御部の詳細を説明する図。
【図８】本実施形態の画像形成装置１の操作部を説明する図。
【図９】非同期ジョブの例を説明する図。
【図１０】同期ジョブの例を説明する図。
【図１１】画像データの受け渡し単位を説明する図。
【図１２】画像データの受け渡し単位の違いによる処理時間の差を説明する図。
【図１３】バンド毎に同期ジョブのリソースが確保されることを説明する図。
【図１４】ページ毎に同期ジョブのリソースが確保されることを説明する図。
【図１５】複数枚の原稿を読み取って１部の画像を出力する例の図。
【図１６】１枚の原稿を読み取って複数部の画像を出力する例の図。
【図１７】２枚の原稿を読み取った画像データを合成して１枚の紙面に出力する例の図。
【図１８Ａ】同期ジョブを説明するシーケンス図（その１）。
【図１８Ｂ】同期ジョブを説明するシーケンス図（その２）。
【図１９】エンジン制御部が制御方式を決定する際の処理を示すフロー図。
【図２０】リソースの確保による同期ジョブの可否の判断の処理を示すフロー図。
【図２１Ａ】一部を同期ジョブとして実行する処理のシーケンス図（その１）。
【図２１Ｂ】一部を同期ジョブとして実行する処理のシーケンス図（その２）。
【図２２】出力処理において異常が発生した場合の例を説明する図。
【図２３】非同期ジョブへ移行する処理の例を説明するシーケンス図。
【図２４】本実施形態のコンピュータプログラムを実行するコンピュータの構成の例。
【符号の説明】
【０１３１】
１  画像形成装置
２  コントローラ部
３  エンジン部
１０  ユーザインタフェース部
１１  ローカルＵＩ部
１２  通信サーバ
２０  アプリケーションロジック部
２１、２１０  アクティビティ部
２２  パラメータ保持部
２５  入力処理部
２６  加工処理部
２７  出力処理部
２８  データ管理部
４０  デバイスサービス部
４１  画像メモリ
５０  アスペクト部
５１  履歴記録部
５２  アクセス制御部
５３  課金部
６０  デバイス部
６１  ネットワーク装置
６２  ＨＤＤ
６３  ＦＡＸ
６４  プロッタ
７１  システム制御部
７２  画像処理部
７３  文書蓄積部
７４  エンジン制御部
７５  共通エンジン制御部
７６  読取制御部
７７  送受信制御部
７８  印刷制御部
２１１  コピーアクティビティ部
２１２  ＦＡＸアクティビティ部
２１３  プリンタアクティビティ部
２１４  保管アクティビティ部
２１５  マルチアクティビティ部
２５０  提供機能部
２５１  保管文書読み出し提供機能
２５２  ＦＡＸ受信提供機能
２５３  読取提供機能
２５４  ＰＣ受信提供機能
２６１  加工提供機能
２７１  保管文書登録提供機能
２７２  ＦＡＸ送信提供機能
２７３  印刷提供機能
２７４  メール送信提供機能
７２１  メモリ
７３１  ＨＤＤ
７４１  スキャナ
７４２  ネットワーク装置
７４３  プロッタ
７４５  ＦＡＸ
９００  コンピュータの主処理部
９０１  ＣＰＵ
９０８  ＲＯＭ
９０９  ＲＡＭ
９１０  入力デバイス
９２０  表示装置
９３０  プリンタ
９４０  スキャナ
９９０  ＨＤＤ
【図１】
2009118278.tif 000003
【図２】
2009118278.tif 000004
【図３】
2009118278.tif 000005
【図４】
2009118278.tif 000006
【図５】
2009118278.tif 000007
【図６】
2009118278.tif 000008
【図７】
2009118278.tif 000009
【図８】
2009118278.tif 000010
【図９】
2009118278.tif 000011
【図１０】
2009118278.tif 000012
【図１１】
2009118278.tif 000013
【図１２】
2009118278.tif 000014
【図１３】
2009118278.tif 000015
【図１４】
2009118278.tif 000016
【図１５】
2009118278.tif 000017
【図１６】
2009118278.tif 000018
【図１７】
2009118278.tif 000019
【図１８Ａ】
2009118278.tif 000020
【図１８Ｂ】
2009118278.tif 000021
【図１９】
2009118278.tif 000022
【図２０】
2009118278.tif 000023
【図２１Ａ】
2009118278.tif 000024
【図２１Ｂ】
2009118278.tif 000025
【図２２】
2009118278.tif 000026
【図２３】
2009118278.tif 000027
【図２４】
2009118278.tif 000028