(57)【要約】【課題】  複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながらを効率的に印刷処理を行うことである。【解決手段】  複数部数印刷処理が開始されると、ホストから受信す印刷データに対する処理を開始して、継続する処理において、生成した画像データに基づいて印刷する処理と、処理済みの画像データを他の画像形成装置に一旦蓄積し、当該蓄積された画像データを読み出して印刷する処理とを動的に切り換える（Ｓ１００２）。そして、継続する処理において、他の画像形成装置に蓄積した画像データを読み出して処理する方が生成した画像データを印刷する場合に比べて遅くなる場合は、生成した画像データに基づいて印刷する処理に切り換える（１０１０）ことを特徴とする。【選択図】  図１０
2009292047.tif 000002
【特許請求の範囲】
【請求項１】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置であって、
前記通信媒体を介して画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプール手段と、
前記ネットワークスプール手段を用いずに毎回画像処理を行い印刷出力する第１の動作と、前記ネットワークスプール手段を用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第２の動作と、を選択的に実行するスプーラ利用制御手段と、
を備えたことを特徴とする画像形成装置。
【請求項２】
前記スプーラ利用制御手段は、前記画像データに基づいて複数部数を印刷する場合における第１部目の印刷終了時に、続きの処理を第１の動作と、第２の動作とのいずれかを選択することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記スプーラ利用制御手段は、前記画像データに基づいて複数部数を印刷する場合における第２部目以降の印刷終了毎に、続きの処理を第１の動作と、第２の動作とのいずれかを選択することを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記印刷データを画像処理するのにかかる時間を計測する画像処理時間計測手段と、
前記画像処理後の画像データを前記ネットワークスプール手段によって前記他の画像形成装置にスプールするのにかかる時間を予測するスプール時間予測手段とを備え、
前記スプーラ利用制御手段は、前記画像処理時間計測手段により計測した画像処理時間と前記スプール時間予測手段により予測されるスプール予測時間に基づいて、前記第１の動作を選択するか前記第２の動作を選択するかを決定することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記スプーラ利用制御手段は、前記画像処理時間計測手段により計測した画像処理時間と前記画像形成装置の最短印刷時間とに基づいて、前記第１の動作を選択するか前記第２の動作を選択するかを決定することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記ネットワークスプール手段により前記他の画像形成装置から画像データを読み出す時間を測定する読み出し時間測定手段を備え、
前記スプーラ利用制御手段は、前記他の画像形成装置に蓄積された前記画像処理後の画像データを再利用して印刷を行う場合に、前記スプーラ読み出し時間測定手段により測定した読み出し時間と前記画像処理時間計測手段により計測した画像処理時間に基づいて、複数部数の印刷時における続きの処理を第１の動作に切り替えるかどうかを判断することを特徴とする請求項４又は５に記載の画像形成装置。
【請求項７】
通信媒体を介して通信可能な他の複数の画像形成装置に対して画像蓄積領域の空き容量情報を問い合わせて当該空き容量情報を収集する空き容量情報収集手段と、
前記空き容量情報収集手段により収集した空き容量情報に基づいてスプール候補とすべき他の画像形成装置を選定するスプール候補選定手段と、
を備えた請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項８】
通信媒体を介して通信可能な他の複数の画像形成装置に対して負荷情報を問い合わせて、当該負荷情報を収集する負荷情報収集手段と、
前記負荷情報収集手段により収集した負荷情報に基づいてスプール候補に選定するスプール候補選定手段と、
を備えたことを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項９】
前記スプーラ利用制御手段は、ページ単位で前記ネットワークスプール手段を利用するか否かを制御することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項１０】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置における画像処理方法であって、
前記通信媒体を介して画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプールステップと、
前記ネットワークスプールステップを用いずに毎回画像処理を行い印刷出力する第１の動作と、前記ネットワークスプールステップを用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第２の動作と、を選択的に実行するスプーラ利用制御ステップと、
を備えたことを特徴とする画像処理方法。
【請求項１１】
前記スプーラ利用制御ステップは、前記画像データに基づいて複数部数を印刷する場合における第１部目の印刷終了時に、続きの処理を第１の動作と、第２の動作とのいずれかを選択することを特徴とする請求項１０記載の画像処理方法。
【請求項１２】
前記スプーラ利用制御ステップは、前記画像データに基づいて複数部数を印刷する場合における第２部目以降の印刷終了毎に、続きの処理を第１の動作と、第２の動作とのいずれかを選択することを特徴とする請求項１０記載の画像処理方法。
【請求項１３】
前記印刷データを画像処理するのにかかる時間を計測する画像処理時間計測ステップと、
前記画像処理後の画像データを前記ネットワークスプールステップによって前記他の画像形成装置にスプールするのにかかる時間を予測するスプール時間予測ステップとを備え、
前記スプーラ利用制御ステップは、前記画像処理時間計測ステップにより計測した画像処理時間と前記スプール時間予測ステップにより予測されるスプール予測時間に基づいて、前記第１の動作を選択するか前記第２の動作を選択するかを決定することを特徴とする請求項１０乃至１２のいずれか１項に記載の画像処理方法。
【請求項１４】
前記スプーラ利用制御ステップは、前記画像処理時間計測ステップにより計測した画像処理時間と前記画像形成装置の最短印刷時間とに基づいて、前記第１の動作を選択するか前記第２の動作を選択するかを決定することを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記ネットワークスプールステップにより前記他の画像形成装置から画像データを読み出す時間を測定する読み出し時間測定ステップを備え、
前記スプーラ利用制御ステップは、前記他の画像形成装置に蓄積された前記画像処理後の画像データを再利用して印刷を行う場合に、前記スプーラ読み出し時間測定ステップにより測定した読み出し時間と前記画像処理時間計測ステップにより計測した画像処理時間に基づいて、複数部数の印刷時における続きの処理を第１の動作に切り替えるかどうかを判断することを特徴とする請求項１３又は１４に記載の画像処理方法。
【請求項１６】
通信媒体を介して通信可能な他の複数の画像形成装置に対して画像蓄積領域の空き容量情報を問い合わせて当該空き容量情報を収集する空き容量情報収集ステップと、
前記空き容量情報収集ステップにより収集した空き容量情報に基づいてスプール候補とすべき他の画像形成装置を選定するスプール候補選定ステップと、
を備えた請求項１０乃至１２のいずれか１項に記載の画像処理方法。
【請求項１７】
通信媒体を介して通信可能な他の複数の画像形成装置に対して負荷情報を問い合わせる当該負荷情報を収集する負荷情報収集ステップと、
前記負荷情報収集ステップにより収集した負荷情報に基づいてスプール候補に選定するスプール候補選定ステップと、
を備えたことを特徴とする請求項１０乃至１２のいずれか１項に記載の画像処理方法。
【請求項１８】
前記スプーラ利用制御ステップは、ページ単位で前記ネットワークスプールステップを利用するか否かを制御することを特徴とする請求項１０乃至１２のいずれか１項に記載の画像処理方法。
【請求項１９】
請求項１０乃至１８のいずれか１項に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理を行った画像データを一旦記憶し、記憶した画像データを再利用して印刷する画像形成装置における画像処理に関するものである。
【背景技術】
【０００２】
近年の画像形成装置は、複数部印刷時に画像処理済みの画像データを一旦記憶装置に記憶し、二部目以降では記憶した画像処理済み画像データを利用することで、二部目以降での画像処理を省略し、高速な印刷をすることが可能である。
【０００３】
この場合において、画像形成装置内に大容量の記憶装置が存在する場合には、画像処理済みの画像データを自装置内の記憶装置に一旦格納し、二部目以降で再利用する装置が一般的である。
【０００４】
しかしながら、自装置内に大容量の記憶装置を備えていない画像形成装置の場合であっても、画像処理済みの画像データを他の機器が備える記憶装置に記憶させて再利用する方法が提案されている（例えば特許文献１）。
【特許文献１】特開平８−１２３６３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の画像形成装置において、自装置以外へ画像データを一時的に蓄積させる手法では、自装置に蓄積する場合と比較し、画像データを蓄積、読み出しする際の速度が蓄積先の装置の負荷変動や通信上の負荷変動によって遅くなる課題が存在する。
【０００６】
例えば、蓄積先の装置が高負荷で処理が続いている状況下では、結果的に、画像処理後の画像データを外部の装置に蓄積し、さらに読み出しを行った方が却って遅くなってしまうという課題があった。
【０００７】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながらを効率的に印刷処理を行える仕組みを提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明の画像形成装置は以下に示す構成を備える。
【０００９】
通信媒体を介してホストから送信された印刷データを受信して画像処理を行う画像形成装置であって、前記通信媒体を介して前記画像処理後の画像データを他の画像形成装置に蓄積するネットワークスプール手段と、前記ネットワークスプール手段を用いずに毎回画像処理を行い印刷出力する第１の動作と、前記ネットワークスプール手段を用いて画像処理後の画像データをスプールし、スプールした画像処理後の画像データを再利用し印刷出力する第２の動作と、を選択的に実行するスプーラ利用制御手段と、を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数部数印刷処理時に、他の画像形成装置に蓄積される画像データを利用する印刷処理と、生成した画像データを利用する印刷処理とを切り換えながら効率的に印刷処理を行える。
【発明を実施するための最良の形態】
【００１１】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１２】
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示す画像形成システムの構成を説明する概念図である。本例は、通信媒体としてネットワーク（ＬＡＮ１０５）を介して、複合機（ＭＦＰ）１０２，１０３や、プリンタ（ＳＦＰ）１０１、ＰＣ１０４が双方向に通信可能な画像形成システムの例である。
【００１３】
図１に示すように、画像形成システムは、複数の画像形成装置を含み、画像形成装置の種別としては複合機（ＭＦＰ）１０２，１０３や、プリンタ（ＳＦＰ）１０１、などが存在する。
【００１４】
各画像形成装置は、図２に示すネットワークインタフェース２０４を備えＬＡＮ１０５に接続しており、ネットワークによる通信が可能である。
【００１５】
なお、図１に示したシステム構成では、プリンタ（ＳＦＰ）１０１、複合機ＭＦＰ１０２、複合機ＭＦＰ１０３、ＰＣ１０４が、ＬＡＮ１０５に接続しているという構成例であり、お互いに装置情報やデータの交換を行うことが可能である。
【００１６】
また、図１で図示した本実施形態では、複数部印刷時にＳＦＰ１０１がＭＦＰ１０２に画像処理後の画像データをスプールして再利用するか、ＳＦＰ１０１が毎回画像処理を行うかを制御するスプーラ利用制御の基本動作について図示している。
【００１７】
まず、ＳＦＰ１０１はＰＣ１０４から複数部印刷の印刷ＪＯＢ１０６を受信する。複数部を印刷する印刷ＪＯＢを受信した場合、ＳＦＰ１０１は、スプーラ利用制御部１０７により、毎回画像処理した方が速いか、他の画像形成装置が備えるスプーラを利用した方が速いかを後述する手順に基づいて判断する。そして、スプーラ利用制御部１０７は、上記判断に従い、スプーラを利用しないで毎回画像処理を行い印刷出力する動作を第１の動作とし、スプーラを利用して印刷出力する第２の動作を切り換えながら、継続する最終部数まで印刷処理を実行する。このようにスプーラ利用制御部１０７は、第１の動作と第２の動作とを選択的に切り換えることで、ネットワーク上のトラフィックの負荷変動に適応した部数印刷処理を実行させるように、ＳＦＰ１０１の印刷処理を制御する。
【００１８】
ここで、スプーラ利用制御部１０７により、スプーラを利用すると決定した場合、まず、最初の第１部目は、他の画像形成装置、例えばＭＦＰ１０２が備える記憶装置に対して、画像処理済の画像データ１１０をスプールし、ＳＦＰ１０１で印刷する。
【００１９】
次の部からは、既にＭＦＰ１０２が備える記憶装置にスプールした画像処理済みの画像データ１１１を読み出し、ＳＦＰ１０１が印刷出力１０９のみを実行する。
【００２０】
もし、ＭＦＰ１０２から読み出される画像データ１１１の読み出しが遅くなった場合、スプーラ利用制御部１０７は、スプーラを利用しない制御に切り替え、以降の第２部以降からは画像処理部１０８でＲＩＰを行い、印刷処理を実行する。
【００２１】
一方、スプーラ利用制御部１０７により、スプーラを利用しないと判断した場合には、受信した印刷データを毎回、画像処理部１０８で処理して、部数分繰り返して印刷出力１０９を得る印刷処理を実行する。
【００２２】
以上、本発明のシステム構成と基本動作について説明したが、以下において具体的な実施方法について図面を用いて詳細に説明する。
【００２３】
まず、図２を用いて画像形成装置である複合機、プリンタの内部構成を説明する。
【００２４】
図２は、図１に示した画像形成装置の構成を説明するブロック図である。本例は、図１に示したＭＦＰ１０２、１０３、ＳＦＰ１０１のハードウエアの構成に対応するが、ＳＦＰ１０１は、後述するようにスキャナとして機能する手段を備えていないとともに、ハードディスク等の外部記憶装置も備えていない。
【００２５】
図２において、２００は複合機全体である。複合機２００は、ＲＯＭ２０２あるいは例えばハードディスクなどの大規模な記憶装置、例えばハードディスク（ＨＤ）２１０に記憶されたソフトウェアを実行するＣＰＵ２０１を備える。そして、ＣＰＵ２０１はシステムバス２１３に接続される各デバイスを総括的に制御する。
【００２６】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５は外部入力コントローラ（ＰＡＮＥＬＣ）で、複合機に備えられた各種ボタンあるいはタッチパネル（ＰＡＮＥＬ）２０６等からの指示入力を制御する。
【００２７】
２０７はディスプレイコントローラ（ＤＩＳＰＣ）で、例えば液晶ディスプレイなどで構成される表示モジュール（ＤＩＳＰＬＡＹ）２０８の表示を制御する。
【００２８】
２０４はネットワークインタフェースコントローラ（ＮＩＣ）で、ＬＡＮ２１４を介して、他のネットワーク機器あるいはファイルサーバ等と双方向にデータをやりとりする。２１１は、例えば電子写真方式あるいはインクジェット方式などで実現される紙への印刷部（ＰＲＩＮＴＥＲ）である。
【００２９】
２１２は画像読み取り部（ＳＣＡＮＮＥＲ）で、紙に印刷された画像を読み込む。なお、多くの場合、画像読み取り部２１２にはオプションとしてオートドキュメントフィーダ（不図示）が装着されており、複数枚の原稿を自動的に読み込むことができる。
【００３０】
また、大規模の記憶装置で構成されるＨＤ２１０は、ディスクコントローラ２０９によって読み書きの制御が行われる。大規模の記憶装置で構成されるＨＤ２１０は、生成した画像データ又は、他の画像形成装置から取得する処理済の画像データの一時記憶場所（スプーラ部）としても使われる。
【００３１】
また、図１のプリンタ（ＳＦＰ）１０１の内部構成は、図２の複合機と基本的に近い構造になっているが、画像読み取り部２１２は存在せず、紙への印字を主目的とした構成である。また、安価なプリンタでは大規模な記憶装置で構成されるＨＤ２１０やそれを制御するディスクコントローラ２０９は装着されていない。
【００３２】
以下、まず、スプーラを利用しない場合と利用する場合の基本処理フローについて図３と図４を用いて説明する。
【００３３】
図３は、本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。本例は、スプーラを利用しない場合の複数部印刷の処理フローである。なお、Ｓ３０１〜Ｓ３０５は各ステップを示し、各ステップは、ＣＰＵ２０１がＲＡＭ２０３にモジュールをロードして実行することで実現される。ここで、モジュールは、ＲＯＭ２０２に記憶されている。
【００３４】
Ｓ３０１で、ホストＰＣ１０４から送信された印刷データをＮＩＣ２０４を介して受信すると、Ｓ３０２で、ＣＰＵ２０１は、ＲＯＭ２０２から読み出すモジュールを実行して、受信した印刷データに対して、受信した印刷データを中間言語に変換するＰＤＬ処理をＲＡＭ２０３上で行う。
【００３５】
次に、ＣＰＵ２０１は、ＲＯＭ２０２から読み出すモジュールを実行して、Ｓ３０２で生成された中間言語から画像データを生成し様々な画像処理を行うＲＩＰ処理を行う。そして、Ｓ３０４で、生成された画像データをプリンタ２１１に出力し、記録媒体に印刷を行う。
【００３６】
次に、Ｓ３０１〜Ｓ３０４の処理を最終部まで繰り返したかどうかをＣＰＵ２０１が判断し、繰り返していないと判断した場合は、Ｓ３０１へ戻り、ＣＰＵ２０１は複数部の印刷を行う。
【００３７】
一方、Ｓ３０５で、繰り返しているとＣＰＵ２０１が判断した場合は、本処理を終了する。
【００３８】
次に、ＭＦＰ１０２，１０３が備える記憶装置に確保されるスプーラを利用する場合の複数部印刷の処理フローを説明する。
【００３９】
図４は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、スプーラを備えていない画像形成装置として機能するＳＦＰ１０１が外部の画像形成装置として機能する、例えばＭＦＰ１０２、１０３が備える記憶装置をスプーラにスプールして印刷を行う処理例である。なお、Ｓ４０１〜Ｓ４１１は各ステップを示し、各ステップは、ＣＰＵ２０１がＲＡＭ２０３にモジュールをロードして実行することで実現される。ここで、モジュールは、ＲＯＭ２０２に記憶されている。
【００４０】
Ｓ４０１で、ＳＦＰ１０１は、先ほどと同様、ホストＰＣ１０４から印刷データを、ＮＩＣ２０４を介して受信する。次に、ＣＰＵ２０１は、詳細は後述する画像処理時間を測定する処理を開始する。
【００４１】
次に、Ｓ４０３で、ＣＰＵ２０１はモジュールを実行して、受信した印刷データを中間言語に変換するＰＤＬ処理をＲＡＭ２０３上で行う。そして、Ｓ４０４で、ＣＰＵ２０１はモジュールを実行して、中間言語から画像データを生成し様々な画像処理を行うＲＩＰ処理を行う。次に、Ｓ４０５で、ＣＰＵ２０１はモジュールを実行して、画像処理時間測定処理を終了し、ＰＤＬ処理、ＲＩＰ処理した時間の測定結果から、測定時間ＧＴ、データサイズＤを得る。なお、測定時間ＧＴ、データサイズＤは、ＲＡＭ２０３上に保持される。
【００４２】
次に、Ｓ４０６で、ＣＰＵ２０１がスプーラ利用を制御するモジュールを実行して、他の画像形成装置の中からどの装置にスプールするか、スプーラを備える画像形成装置の候補を選定する処理を実行する。なお、スプーラを選定する処理は、詳述する。
【００４３】
次に、Ｓ４０７で、他の画像形成装置のスプーラを利用するかどうかを判断する処理を行う。そして、Ｓ４０８で、他の画像形成装置（ここでは例としてＭＦＰ１０２）へ画像データを転送し、ＭＦＰ１０２が備える記憶装置にスプールする処理を行う。
【００４４】
そして、Ｓ４０９で、ＣＰＵ２０１はモジュールを実行して、一部目の出力のために生成された画像データをプリンタ２１１に出力して、記録媒体に印刷を行う。
【００４５】
次に、Ｓ４１１で、ＣＰＵ２０１は、部単位の出力が最終部か否かを判断して、最終部であると判断した場合は、本処理を終了する。
【００４６】
一方、Ｓ４１１で、まだ、続いて出力すべき部があるとＣＰＵ２０１が判断した場合は、ネットワーク２１４を介してＭＦＰ１０２が備える記憶装置にスプールした画像データを読み込む処理をＣＰＵ２０１が行い、Ｓ４０９へ戻る。
【００４７】
これにより、他の画像形成装置として機能するＭＦＰ１０２にスプールした画像データを読み込みながら、二部目以降の印刷処理をＳＦＰ１０１が行うことで、効率よく画像データを印刷することができる。
【００４８】
＜ネットワークを介したスプール機能の説明＞
ここでは、ネットワークで接続される他の画像形成装置が備える記憶装置に画像データを蓄積するスプール処理について説明する。
【００４９】
図５は、本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。なお、Ｓ５０１、Ｓ５０４は、スプーラを利用する側、図１に示したＳＦＰ１０１側の処理に対応し、Ｓ５０２〜Ｓ５０６はスプーラを提供する側、図１に示したＭＦＰ１０２側の処理に対応する。ここで、各ステップは、ＳＦＰ１０１、ＭＦＰ１０２のＣＰＵ２０１がモジュールをＲＡＭ２０３にロードして実行することで実現される。以下、ネットワーク上の他の画像形成装置が備えるスプーラを用いる印刷処理について説明する。
【００５０】
まず、Ｓ５０１で、スプーラを利用する側のＳＦＰ１０１は、スプーラを提供する側の例えばＭＦＰ１０２に対し、スプール要求のメッセージを送信する。ここで、スプーラを利用する側の画像形成装置は、図１でいうとＳＦＰ１０１に対応し、スプーラを提供する側の画像形成装置は、提供側とは、図１でいうとＭＦＰ１０２に対応する。以下、いずれかをＳＦＰ１０１、ＭＦＰ１０２のいずれかで説明する。
【００５１】
次に、Ｓ５０２で、ＭＦＰ１０２のＣＰＵ２０１は、ＳＦＰ１０１からのスプール要求を受信し、Ｓ５０３で、ＭＦＰ１０２が備える記憶装置、例えばＨＤ２１０に必要なスプール領域を予約する。ここで、ＭＦＰ１０２のＣＰＵ２０１が実行するスプール領域の予約とは、要求されたサイズのファイルを、ＨＤ２１０に仮生成することで領域を確保することで行われる。
【００５２】
次に、Ｓ５０４で、ＳＦＰ１０１は、スプールすべき画像データをＭＦＰ１０２へＬＡＮ１０５を介して送信し、ＭＦＰ１０２は、Ｓ５０５で、ＬＡＮ１０５を介して画像データを受信し、ＨＤ２１０へ格納する。そして、Ｓ５０６で、ＭＦＰ１０２は、ＳＦＰ１０１から受信した画像データを全てＨＤ２１０に格納し終わると、Ｓ５０６へ進む。そして、Ｓ５０６で、ＭＦＰ１０２のＣＰＵ２０１は、スプールデータを管理するスプール情報リスト全体７００へスプールした画像データの情報を記録して、本処理を終了する。
【００５３】
次に、このＨＤ２１０にスプールした画像データを管理するスプール情報リスト全体７００について、図６、図７を用いて説明する。
【００５４】
図６は、図１に示したＭＦＰ１０２がＳＦＰ１０１より受信するスプール情報６００を管理するスプール情報テーブルの一例を示す図である。
【００５５】
図６において、６０１はＪＯＢ−ＩＤで、受信した印刷ＪＯＢを識別する識別子が保持される。６０２はＲｅｑｕｅｓｔＤｅｖｉｃｅで、本実施形態では、ＳＦＰ１０１を特定する情報が保持される。より具体的には、スプーラを利用する側のデバイスの名前を格納する。したがって、図１でいうと、ＲｅｑｕｅｓｔＤｅｖｉｃｅ６０２の値は、ＳＦＰ１０１のホスト名（もしくはＩＰアドレスなどのネットワークアドレス）に相当する。
【００５６】
６０３はＦｉｌｅＮａｍｅで、ＨＤ２１０に格納した画像データのファイル名が保持される。６０４はｓｉｚｅで、スプールする画像データのデータ量を特定する情報が保持される。ＭＦＰ１０２は、上記各情報を含むスプール情報６００をスプール情報リスト全体７００に格納することで、ＳＦＰ１０１から受信してＨＤ２１０にスプールした画像データの情報を管理する。
【００５７】
なお、ＲｅｑｕｅｓｔＤｅｖｉｃｅ６０２とＪＯＢ−ＩＤ６０１の組により、ネットワーク上のどの画像形成装置から送信されたどのＪＯＢの画像データであるかを一意に特定することができる。これらのスプール情報６００を参照して、スプールされた画像データを管理し、ＳＦＰ１０１からスプールされた画像データを読み出す要求が発生した際にも、このスプール情報６００を用いて読み出すべき画像データを特定して要求元のＳＦＰ１０１にネットワークを介して送信することができる。
【００５８】
図１に示したＭＦＰ１０２は、ＨＤ２１０に蓄積した画像データのスプール情報６００を管理する図６に示す管理テーブルをリスト構造に連結してスプール情報の管理を行う。
【００５９】
図７は、図６に示したスプール情報テーブルを管理するスプール情報リストの一例を示す図である。
【００６０】
図７において、７００はスプール情報リスト全体で、リストヘッド７０１に続いて、スプール情報テーブル７０２、７０３がリンクする。最初に作成したスプール情報テーブル７０２には、作成したテーブルがスプール情報テーブル７０３にリンクさせ、これを繰り返すことで情報リストが作成できる。
【００６１】
次に、ＭＦＰ１０２のＨＤ２１０にスプールした画像データを読み出す処理について説明する。
【００６２】
図８は、本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。なお、Ｓ８０１、Ｓ８０５〜Ｓ８０９は、スプーラを利用する側、図１に示したＳＦＰ１０１側の処理に対応し、Ｓ８０２〜Ｓ８０４，Ｓ８１０〜Ｓ８１２はスプーラを提供する側、図１に示したＭＦＰ１０２側の処理に対応する。ここで、各ステップは、ＳＦＰ１０１、ＭＦＰ１０２のＣＰＵ２０１がモジュールをＲＡＭ２０３にロードして実行することで実現される。以下、ＭＦＰ１０２のＨＤ２１０にスプールした画像データを読み出す処理について説明する。
【００６３】
まず、Ｓ８０１で、ＳＦＰ１０１は、読み出し要求をＭＦＰ１０２に送信する。次に、Ｓ８０２で、ＭＦＰ１０２は、ＳＦＰ１０１から送信された読み出し要求を受信し、Ｓ８０３で、要求されたスプールデータを確認する。ここで、スプールデータの確認は、ＭＦＰ１０２のＣＰＵ２０１が上述した図７で説明したスプール情報リスト全体７００を検索して、要求されている画像データがあるかどうかを判断することで行う。
【００６４】
具体的には、ＭＦＰ１０２のＣＰＵ２０１は、スプールした画像データを利用する側のデバイスを示すＲｅｑｕｅｓｔＤｅｖｉｃｅ６０２とＪＯＢ−ＩＤ６０１の組により、要求された画像データを特定する。このようにして画像データを特定できると、Ｓ８０４で、ＭＦＰ１０２のＣＰＵ２０１は、その画像データをＨＤ２１０から読み出して、スプールした画像データを利用するＳＦＰ１０１側へ送信する。以後、Ｓ８１０で、ＭＦＰ１０２は、スプールされている画像データを消去するための消去要求待ち状態となる。
【００６５】
これにより、ＭＦＰ１０２のＨＤ２１０にスプールした画像データを利用するＳＦＰ１０１側は、Ｓ８０５で、ＳＦＰ１０１のＣＰＵ２０１が読み出し時間を測定する処理を開始し、Ｓ８０６で、ＭＦＰ１０２側から送信された画像データを受信する。
【００６６】
実際には、ＭＦＰ１０２から受信した画像データを用いて印刷を行うが、スプール処理機能の説明から外れるため、このフローチャートには含めない。
【００６７】
このようにしてＳＦＰ１０１が画像データを受信する処理が完了すると、Ｓ８０７で読み出し時間を測定する処理を終了し、開始した時刻と、完了した時刻とから読み出し時間（ＲＴ）を記録しておく。この読み出し時間（ＲＴ）は、スプーラ利用制御を行う際に必要な情報であるが、詳しくは後述する。
【００６８】
ここで、ＳＦＰ１０１は、印刷ＪＯＢを複数部印刷する処理であるため、印刷すべき部が指定されている部数に対応する最終部かどうかをＳＦＰ１０１のＣＰＵ２０１が判定する。ここで、ＳＦＰ１０１のＣＰＵ２０１が最終部であると判断した場合は、Ｓ８０９で、ＳＦＰ１０１のＣＰＵ２０１は、ＭＦＰ１０２のＨＤ２１０にスプールされている画像データを消去する要求をＭＦＰ１０２に送信する。
【００６９】
一方、スプールされている画像データを提供するＭＦＰ１０２側は、Ｓ８１０の消去要求待ちの状態で、ＳＦＰ１０１から受信した要求が、ＳＦＰ１０１からの消去要求であるかどうかをＭＦＰ１０２のＣＰＵ２０１が判断する。ここで、ＭＦＰ１０２のＣＰＵ２０１が消去要求であると判断した場合は、Ｓ８１２で、ＭＦＰ１０２のＨＤ２１０にスプールしている画像データを消去して、本処理を終了する。
【００７０】
一方、Ｓ８１１で受信した要求が消去要求ではなく、次の読み出し要求があるとＭＦＰ１０２のＣＰＵ２０１が判断した場合は、Ｓ８０２へ戻り、ＨＤ２１０にスプールされている画像データを読み出す処理を継続する。
【００７１】
なお、ＭＦＰ１０２のＨＤ２１０にスプールされている画像データを消去する処理は、ＭＦＰ１０２のＣＰＵ２０１が管理しているスプール情報リスト全体７００、該当するスプール情報テーブルを削除し、ＨＤ２１０から該当ファイルを削除することで消去を行う。
【００７２】
＜スプーラを利用するかどうを決定する処理＞
図９は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、図１に示したスプーラ利用制御部１０７による処理であって、印刷を実行する画像形成装置が実際にスプーラを利用するかどうかを制御する処理例である。なお、Ｓ９０１〜Ｓ９１１は各ステップを示す。また、各ステップは、ＳＦＰ１０１のＣＰＵ２０１がモジュールをＲＡＭ２０３にロードして実行することで実現される。ここで、スプーラ利用制御部１０７は、ＳＦＰ１０１に記憶されたモジュールとして構成され、ＳＦＰ１０１のＣＰＵ２０１が当該モジュールを実行することで、スプーラ利用制御処理が実行される。
【００７３】
まず、Ｓ９０１で、スプーラ利用制御部１０７は、ＭＦＰ１０２のＨＤ２１０に確保されるスプーラへの書き込み時と、読み込み時でそれぞれ機能するため、要求が書き込み時か、読み出し時かを判断する。ここで、要求が書き込み時であるとスプーラ利用制御部１０７が判断した場合は、Ｓ９０２へ進む。そして、Ｓ９０２で、スプーラ利用制御部１０７は先の処理で測定されている画像処理時間（ＧＴ）と最短印刷時間（ＰＴ）とを比較し、最短印刷時間（ＰＴ）の方が長いかどうかを判断する。ここで、最短印刷時間（ＰＴ）の方が長いとスプーラ利用制御部１０７が判断した場合は、Ｓ９０８へ進み、スプーラ利用制御部１０７は、スプールを利用しないモードにする。
【００７４】
なお、上記画像処理時間と最短印刷時間に基づいたスプーラ利用制御処理については、詳細を後述する。
【００７５】
一方、Ｓ９０２で、画像処理時間（ＧＴ）より最短印刷時間（ＰＴ）の方が短いとスプーラ利用制御部１０７が判断した場合は、スプーラを利用した方が有利である可能性がある。
【００７６】
そこで、Ｓ９０３で、スプーラ利用制御部１０７は、スプール書き込み速度の計測を開始する。ここで、Ｓ９０４で、ダミーデータ（実際の画像データの一部のみ）をＭＦＰ１０２のＨＤ２１０にスプールし、Ｓ９０５で、それにかかった時間を記録する。
【００７７】
そして、スプーラ利用制御部１０７は測定した書き込み速度からスプールにかかる予測時間を求め、Ｓ９０６で、画像処理時間計測処理に基づく画像処理時間（ＧＴ）と予測時間を比較し、スプールを利用するか否かを判断する。具体的には、スプーラ利用制御部１０７は画像処理時間（ＧＴ）がスプール時間予測処理に基づくスプール予測時間（Ｄ／ＳＰ）よりも短いかどうかに基づいてスプールを利用するか否かを判断する。そして、画像処理時間（ＧＴ）がスプール予測時間（Ｄ／ＳＰ）よりも時間が短いとスプーラ利用制御部１０７が判断した場合は、Ｓ９０８へ進み、スプールを利用しないと判断して、本処理を終了する。
【００７８】
一方、Ｓ９０６で、画像処理時間（ＧＴ）がスプール予測時間（Ｄ／ＳＰ）よりも時間が長いとスプーラ利用制御部１０７が判断した場合は、Ｓ９０７へ進み、スプールを利用すると判断して、本処理を終了する。
【００７９】
なお、画像処理時間とスプール予測時間に基づいたスプーラ利用制御処理については詳細を後述する。
【００８０】
次に、ＨＤ２１０にスプールした画像データを読み出し処理を行った時点でのスプール利用制御処理について説明する。
【００８１】
Ｓ９０１で、要求が読み出しであるとスプーラ利用制御部１０７が判断した場合は、Ｓ９０９で、画像処理時間（ＧＴ）と読み出し時間（ＲＴ）を比較し、ＧＴ＜ＲＴが成立するかどうかを判断する。ここで、スプーラ利用制御部１０７がＧＴ＜ＲＴが成立していないと場合、すなわち、画像処理時間（ＧＴ）が読み出し時間（ＲＴ）よりも長いとスプーラ利用制御部１０７が判断した場合は、Ｓ９１０へ進み、そのまま継続してスプールを利用するモードとし、本処理を終了する。
【００８２】
一方、Ｓ９０９で、画像処理時間（ＧＴ）よりも読み出し時間（ＲＴ）の方が長いとスプーラ利用制御部１０７が判断した場合は、Ｓ９１１へ進み、スプールを利用しないモードに変更して、本処理を終了する。なお、スプーラ読み出し時間を測定する処理と、読み出し時間と画像処理時間に基づくスプーラ利用制御処理については、詳細を後述する。
【００８３】
＜画像処理時間を計測する処理の説明＞
以下、画像処理時間（ＧＴ）を計測する処理について図４のフローチャートを用いてここで説明する。
【００８４】
図４において、ＳＦＰ１０１において、クライアントＰＣ１０４から受信した印刷データに対して、Ｓ４０３でＰＤＬ処理を始める直前に、Ｓ４０２で画像処理時間を測定する処理を開始する。そして、Ｓ４０３で、受信した印刷データを中間言語に変換するＰＤＬ処理を行い、Ｓ４０４で中間言語から画像データを生成し様々な画像処理を行うＲＩＰ処理を行う。
【００８５】
このようにして、ＲＩＰ処理が完了すると、Ｓ４０５で、画像処理時間の測定を終了し、測定した画像処理時間（ＧＴ）と、画像処理後の画像データサイズ（Ｄ）を、ＳＦＰ１０１のＣＰＵ２０１は、例えばＲＡＭ２０３上に記憶しておく。本実施形態ではＰＤＬ処理も含めた時間を測定しているが、中間言語への変換処理がほとんど不要な画像形成装置においては、ＲＩＰ処理時間の区間のみ測定してもよい。
【００８６】
なお、一部の画像データを全てスプールする本実施形態の場合は、各ページ処理毎に時間を測定して１部分加算したものが画像処理の測定時間（ＧＴ）となる。また、画像データサイズについても同様で、各ページ処理毎の画像データサイズを１部分加算したものがデータサイズ（Ｄ）となる。
【００８７】
また、後述するページ単位でのスプールにおいては、各ページごとの画像処理の測定時間とデータサイズを各々記録することになる。
【００８８】
＜スプール時間を予測する処理の説明＞
以下、スプール時間を予測する処理について図９のフローチャートを用いてここで説明する。
【００８９】
Ｓ９０３で、スプーラ利用制御部１０７がスプール書き込み速度の計測を開始し、Ｓ９０４でダミーデータをＨＤ２１０にスプールし、Ｓ９０５でそれにかかった時間を記録する。
【００９０】
この際、スプーラ利用制御部１０７が書き込むダミーデータとは、ネットワーク先の画像形成装置に書き込む速度が測定できればよいため、あらかじめ用意しておいた簡易的なデータでも良いし、実際に画像処理した画像データの一部分を書き込んでも良い。ここでは、あまり大きなデータで測定すると測定時間にかえって時間をとられてしまうため、小さなダミーデータで測定を行う。
【００９１】
そして、スプーラ利用制御部１０７が実際の画像データサイズ（Ｄ）を測定した書き込み速度（ＳＰ）で割ると、それがスプールにかかる予測時間と見なせる。これがＳ９０６のスプール予測時間（Ｄ／ＳＰ）に対応する。
【００９２】
＜画像処理時間（ＧＴ）とスプール予測時間（Ｄ／ＳＰ）に基づくスプーラ利用制御部１０７による処理＞
次に、前述のスプール時間を予測する処理により求まったスプール予測時間（Ｄ／ＳＰ）と画像処理時間（ＧＴ）に基づいてスプール時間を予測する処理について図９のフローチャートを用いて説明する。
【００９３】
Ｓ９０６で、スプーラ利用制御部１０７が画像処理時間（ＧＴ）よりスプール予測時間（Ｄ／ＳＰ）が大きいと判断した場合には、スプールを利用しない方が有利と判断し、Ｓ９０８で、スプールを利用しないモードにする。
【００９４】
一方、スプーラ利用制御部１０７が画像処理時間（ＧＴ）の方がスプール予測時間（Ｄ／ＳＰ）よりかかっていると判断した場合には、スプーラ利用制御部１０７がスプールを利用した方が有利と判断し、Ｓ９０７で、スプールを利用するモードにする。
【００９５】
このようにして、ＳＦＰ１０１のスプーラ利用制御部１０７は、画像データをネットワーク上のＭＦＰ１０２、１０３のＨＤ２１０に確保されているスプーラを利用して蓄積した方がそれ以降の印刷がより高速に行えるかどうかを判断し、スプールを実行するか否かを制御する。
【００９６】
このスプーラ利用制御部１０７のスプーラ利用を選択する制御により、ネットワーク先の画像形成装置にスプールする環境においても、スプール利用するか否かを制御して、より高速な印刷時間となるようにすることが可能となる。
【００９７】
＜画像処理時間と最短印刷時間に基づいてスプール時間を予測する処理＞
次に、画像処理時間（ＧＴ）と最短印刷時間（ＰＴ）に基づいてスプール時間を予測する処理について図９のフローチャートを用いて説明する。
【００９８】
Ｓ９０１で、書き込み時の処理であるとスプーラ利用制御部１０７が判断した場合、Ｓ９０２で、画像処理時間（ＧＴ）と最短印刷時間（ＰＴ）を比較する。そして、最短印刷時間（ＰＴ）の方が長いとスプーラ利用制御部１０７が判断した場合は、Ｓ９０８で、スプールを利用しないモードにする。
【００９９】
ここで、最短印刷時間（ＰＴ）とは、印刷を実行する画像形成装置の最大印刷速度から決定される最短印刷時間のことである。
【０１００】
例えば、毎分最大３０枚の印刷性能を備えた画像形成装置の場合、１ページの最短印刷時間は２秒であり、これより速く出力する事はできない。よって１部あたりの最短印刷時間（ＰＴ）は、このプリンタエンジン性能から決まる１ページの最短印刷時間より簡単に導くことができる。ここで、画像処理時間（ＧＴ）より最短印刷時間（ＰＴ）の方が長いとスプーラ利用制御部１０７が判断した場合は、画像処理時間がプリンタエンジンの出力性能を上回るＪＯＢであると判断できる。よって、この場合はスプールを利用しても印刷速度の向上は見込めないため、スプーラ利用制御部１０７がスプーラを利用しないと判断する。
【０１０１】
＜スプーラから画像データを読み出す処理＞
以下、スプール読み出し時間を計測する処理について図８のフローチャートを用いてさらに説明する。
【０１０２】
ＭＦＰ１０２、１０３等のいずれかのＨＤ２１０にスプールされた画像データを利用するＳＦＰ１０１側は、スプールされた画像データを提供するＭＦＰ１０２側から画像データを読み出す際、Ｓ８０５で、読み出し開始時に読み出し時間測定を開始する。そして、Ｓ８０６で、ＳＦＰ１０１のＮＩＣ２０４がＭＦＰ１０２側から送信された画像データを受信する。そして、画像データの受信が完了すると、Ｓ８０７で、ＳＦＰ１０１のＣＰＵ２０１が読み出し時間を測定する処理を終了し、読み出し時間（ＲＴ）を、例えばＲＡＭ２０３上に記録しておく。そして、後述するスプーラ利用制御部１０７でスプーラの利用するか否かの可否を判断する処理で利用する。
【０１０３】
＜読み出し時間と画像処理時間に基づいたスプーラ利用制御部１０７の処理＞
次に、上述したスプーラ読み出し時間を測定する処理により得られる読み出し時間（ＲＴ）と画像処理時間（ＧＴ）に基づいたスプーラ利用制御部１０７について、図９のフローチャートを用いてさらに説明する。
【０１０４】
図９に示すＳ９０９で、スプーラ利用制御部１０７が画像処理時間（ＧＴ）と読み出し時間（ＲＴ）を比較し、読み出し時間（ＲＴ）の方が長いとスプーラ利用制御部１０７が判断した場合は、Ｓ９１１で、スプールを利用しないモードにする。
【０１０５】
一方、読み出し時間（ＲＴ）の方が短いとスプーラ利用制御部１０７が判断した場合には、そのまま継続してスプールを利用するモード９１０とする。この読み出しサイクルにおけるスプール利用制御処理により、ネットワーク先の画像形成装置からの画像データ読み出しが遅くなった場合にそれを検知し、スプールの利用を止めることが可能となる。その結果、ネットワーク上のトラフィックの状況に適応して、より高速な印刷時間となるようにスプール利用制御処理で制御することが可能となる。ここまでで、ネットワーク上にスプールした画像データを利用可能な環境におけるスプーラ利用制御について各処理について説明してきた。
【０１０６】
＜複数部印刷時の各部での動作フローの説明＞
図１０は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。以下、複数部印刷時における各場面での処理フロー（１部目、２部目、３部以降の処理の流れ）について説明する。なお、Ｓ１００１〜Ｓ１０１５は各ステップを示す。また、各ステップは、ＳＦＰ１０１のＣＰＵ２０１がモジュールをＲＡＭ２０３にロードして実行することで実現される。
【０１０７】
まず、Ｓ１００１で、複数部数の１部目の処理として、印刷データの受信、画像処理、印刷の処理を行い、Ｓ１００２で、図９を用いて既に説明を行ったスプーラ利用制御部１０７によりネットワークスプールの利用可否判断を行う。ここで、スプーラ利用制御部１０７が第１部目の印刷終了時に、ネットワークスプールを利用すると判断した場合、Ｓ１００３で、スプーラ利用制御部１０７がネットワークスプールの利用を管理するフラグをＯＮとし、Ｓ１００４へ進む。本実施形態では、第１部目の印刷終了毎に、スプーラ利用制御部１０７がネットワークスプールを利用するか、しないかを判断して、いずれによる処理を選択して第２部目以降の処理を実行する。
【０１０８】
そして、Ｓ１００４で、２部目に対する印刷データの受信、画像処理を行う。そして、Ｓ１００５で、画像データの受信、画像処理を行うと共に、画像処理後の画像データをネットワークスプーラとして機能するＭＦＰ１０２のＨＤ２１０に書き込み処理を行う。
【０１０９】
そして、スプール先の画像形成装置（図１の場合はＭＦＰ１０２）のＨＤ２１０に画像データをスプールし、Ｓ１００６で、二部目の画像データをＳＦＰ１０１のプリンタ２１１で印刷を行う。そして、３部目以降は、Ｓ１００７で、既にＭＦＰ１０２のＨＤ２１０にスプールしてある画像データを、スプール先の画像形成装置であるＭＦＰ１０２のＨＤ２１０から読み出し、Ｓ１００８で、ＭＦＰ１０２より受信する画像データに基づいてＳＦＰ１０１のプリンタ２１１で印刷を実行する。
【０１１０】
次に、Ｓ１００９で、スプーラ利用制御部１０７が印刷を実行した後、最終部か否かを判断し、最終部でないとスプーラ利用制御部１０７が判断した場合は、Ｓ１０１０へ進み、前述した読み出し時間と画像処理時間に基づいたスプーラ利用制御により後続の部でスプールを利用するかどうかをスプーラ利用制御部１０７が判断する。ここで、スプールを利用するとスプーラ利用制御部１０７が判断した場合は、そのまま次の部に対してもスプーラから読み出して印刷を行う。
【０１１１】
一方、Ｓ１０１０で、スプールを利用しないとスプーラ利用制御部１０７が判断した場合には、Ｓ１０１１で、ネットワークスプールを利用しないモードに変更し、Ｓ１０１４へ進み、後続の部は、データ受信、画像処理、印刷を毎回繰り返す。
【０１１２】
一方、Ｓ１００２で、最初の１部目でのスプーラ利用制御部１０７によりネットワークスプールの利用する否かの可否判断により、ネットワークスプールを利用しないとスプーラ利用制御部１０７が判断した場合は、Ｓ１０１２へ進む。
【０１１３】
そして、Ｓ１０１２で、ＳＦＰ１０１は、ネットワークスプールを管理するフラグをＯＦＦとして、Ｓ１０１３で、２部目も１部目と同様、印刷データの受信、画像処理、印刷を行う。
【０１１４】
そして、Ｓ１０１４で、ＳＦＰ１０１は、３部目以降も同じく印刷データの受信、画像処理、印刷と行う。そして、Ｓ１０１５で、スプーラ利用制御部１０７が印刷を実行した後、最終部かを判断し、最終部でないとスプーラ利用制御部１０７が判断した場合は、Ｓ１０１４へ戻る。
【０１１５】
一方、Ｓ１０１５で、最終部であるとスプーラ利用制御部１０７が判断した場合は、本処理を終了する。
【０１１６】
＜空き容量情報に基づくスプール候補選定する処理＞
図１１は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、他の画像形成装置が備えるスプーラの空き容量情報に基づいてスプール候補を選定する処理例である。なお、Ｓ１１０１、Ｓ１１０７〜Ｓ１１１５は、スプーラを利用する側、図１に示したＳＦＰ１０１側の処理に対応し、Ｓ１１０２〜Ｓ１１０６はスプーラを提供する側、図１に示したＭＦＰ１０２、１０３等側の処理に対応する。ここで、各ステップは、ＳＦＰ１０１、ＭＦＰ１０２のＣＰＵ２０１がモジュールをＲＡＭ２０３にロードして実行することで実現される。以下、ＭＦＰ１０２のＨＤ２１０にスプールした画像データを読み出す処理について説明する。
【０１１７】
まず、スプールを利用する画像形成装置側とは、図１で表すと印刷ＪＯＢを実行するＳＦＰ１０１に対応する。また、スプール候補側とは、ネットワークスプーラとして機能することが可能な画像形成装置であって、図１に示したデータ処理システムでは、ＭＦＰ１０２やＭＦＰ１０３に対応する。
【０１１８】
まず、Ｓ１１０１で、ＳＦＰ１０１側は、まずスプーラ機器情報を要求するメッセージを同一ネットワーク上に存在する画像形成装置、本例ではＭＦＰ１０２，１０３にブロードキャストで送信する。
【０１１９】
これにより、Ｓ１１０２で、スプール候補側の画像形成装置であるＭＦＰ１０２、１０３は、スプーラ機器情報要求を受信すると、Ｓ１１０３で、ＭＦＰ１０２、１０３は、ＣＰＵ負荷を取得する。
【０１２０】
そして、Ｓ１１０４で、ＭＦＰ１０２、１０３が備えるＨＤ２１０に確保されるスプール領域の空き容量を取得する。そして、Ｓ１１０５で、ＭＦＰ１０２、１０３は、取得した２つの情報を基に、スプーラ機器情報テーブルを生成する。
【０１２１】
そして、Ｓ１１０６で、ＭＦＰ１０２、１０３は、生成したスプーラ機器テーブルをＳＦＰ１０１へ送信する。ここで、スプールした画像データを利用するＳＦＰ１０１側は、Ｓ１１０７で、ネットワーク上から応答される情報収集する処理を開始する。
【０１２２】
そして、Ｓ１１０８で、ＭＦＰ１０２、１０３よりスプーラ機器テーブルを受信すると、Ｓ１１０９で、スプーラ機器情報リスト１３００に受信したスプーラ機器テーブルを追加し、これを収集処理を終了するまで繰り返す。このようにＳ１１０８では、容量情報収集と、負荷情報収集との処理が実行されている。
【０１２３】
このようにして、スプーラ機器テーブルの収集処理が完了すると、Ｓ１１１０で、ＳＦＰ１０１は、スプーラ機器情報リスト１３００を空き容量が多い順にリスト並べ替える処理を実行し、リストの先頭から他の画像形成装置が備えるスプーラの画像蓄積領域に対する空き容量が多い順になるようにする。
【０１２４】
次に、Ｓ１１１１で、ＳＦＰ１０１は、リストの先頭からスプーラ機器テーブルを読み出し、Ｓ１１１２〜Ｓ１１１５に基づく後続の負荷チェックで問題がないと判断した場合には、そのスプーラ機器テーブルの機器をスプール先に決定する。なお、負荷チェックの処理についての詳細は、後述する。
【０１２５】
このようにして、スプール領域の空き容量がより大きな画像形成装置を優先的にスプーラとして利用することで、スプール領域が圧迫されてしまう事態を防ぐことが可能となる。
【０１２６】
次に、スプーラ機器情報リストにどのように機器情報が記録されているかについて、図１２、図１３を用いて説明する。
【０１２７】
図１２は、本実施形態を示す画像形成装置で管理されるスプール機器情報テーブル１２００の一例を示す図である。本例では、構成要素として、Ｄｅｖ−ＩＤ１２０１、ＤｅｖｉｃｅＮａｍｅ１２０２、ＦｒｅｅＳｐａｃｅ１２０３、ＣＰＵ  ｌｏａｄ１２０４を保持して、スプーラ機器情報の管理を行う例である。
【０１２８】
図１２において、Ｄｅｖ−ＩＤ１２０１は画像生成装置を識別するための識別子である。ＤｅｖｉｃｅＮａｍｅ１２０２はスプーラ機器のデバイスの名前を格納する。図１でいうと、ＤｅｖｉｃｅＮａｍｅ１２０２の値は、ＭＦＰ１０２やＭＦＰ１０３のホスト名（もしくはＩＰアドレスなどのネットワークアドレス）に相当する。
【０１２９】
ＦｒｅｅＳｐａｃｅ１２０３はそのスプーラ機器の現状のスプール領域の空き容量を格納する。ＣＰＵ  ｌｏａｄ  １２０４は、そのスプーラ機器の現状のＣＰＵ負荷を格納する。これらの情報を参照して、スプーラ機器を管理し、このスプール機器情報を用いて最終的にどの画像形成装置にスプールするかを判断することができる。
【０１３０】
本例では、図１２で説明したスプール機器情報テーブルを用いて、ＭＦＰ１０２，１０３等から収集した各画像形成装置のスプーラ機器テーブルを格納した上で、図１３に示すようにリスト構造にしてスプール機器情報テーブルを連結してスプール機器情報の管理を行う。
【０１３１】
図１３は、本実施形態を示す画像形成装置で管理されるスプール機器情報リストの一例を示す図である。
【０１３２】
図１３において、１３００はスプーラ機器情報リスト全体である。１３０１はスプール機器情報のリストヘッドである。このリストヘッド１３０１に、最初に作成したスプール機器情報テーブル１３０２をリンクし、次に作成したスプール機器情報テーブル１３０３をスプール機器情報テーブル１３０２にリンクし、これを繰り返すことで情報リストが作成できる。
【０１３３】
＜負荷情報に基づいてスプール候補を選定する処理＞
続いて、負荷情報に基づくスプール候補選定手段について、図１１のフローチャートを用いて説明する。
【０１３４】
図１３に示すスプーラ機器情報リスト全体１３００で管理されている画像形成装置の空き容量情報に基づいてスプール候補を選定する処理を説明する。
【０１３５】
図１１に示したＳ１１１１で、図１３に示したスプール機器情報リストの先頭から、まずスプール機器情報テーブルを読み出す。その後、Ｓ１１１２で、ＳＦＰ１０１は、ＣＰＵ負荷をチェックするか否かを判断する。ここで、ＣＰＵ負荷をチェックすると判断した場合には、Ｓ１１１４で、スプール機器情報テーブルに記載したＣＰＵ負荷（図１２に示したＣＰＵ  ｌｏａｄ  １２０４）が閾値（ＬＬ）以下かどうかを判断する。なお、Ｓ１１１２で、ＣＰＵ負荷をチェックしないと判断した場合は、Ｓ１１１３へ進む。
【０１３６】
また、Ｓ１１４で、ＣＰＵ負荷が閾値以下であるとＳＦＰ１０１が判断した場合には、Ｓ１１１３で、そのスプール機器情報テーブルに該当する画像形成装置をスプール先として決定する。そして、ＣＰＵ負荷もチェックすると判断した場合は、Ｓ１１１４で、ＣＰＵ負荷が閾値（ＬＬ）以下であるかどうかをＳＦＰ１０１のスプーラ利用制御部１０７が判断する。ここで、スプＣＰＵ負荷が閾値（ＬＬ）以下であるとスプーラ利用制御部１０７が判断した場合は、Ｓ１１１３へ進み、そのスプール機器情報テーブルに該当する画像形成装置をスプール先として決定する。
【０１３７】
一方、Ｓ１１１４で、ＣＰＵ負荷が閾値以下でないとスプーラ利用制御部１０７が判断した場合は、さらに、Ｓ１１１５で、参照しているリストが最後であるかどうかを判断する。ここで、スプーラ利用制御部１０７が最後のリストであると判断した場合は、Ｓ１１１１へ戻り、スプーラ利用制御部１０７が最後のリストでないと判断した場合は、Ｓ１１１３へ進む。
【０１３８】
なお、Ｓ１１１２でＣＰＵ負荷をチェックするか否かは、画像形成装置のタッチパネル２０６から設定を行うことにより、ユーザが選択可能である。また、Ｓ１１１４で負荷の閾値（ＬＬ）についても同様にユーザが設定可能である。この負荷情報に基づいて、スプール候補を選定する処理により、スプール候補が高負荷であった場合には、スプール機器情報リストから次候補に対して順々に閾値を下回るスプール機器を検索し、負荷を鑑みたスプール先を決定することができる。
【０１３９】
〔第２実施形態〕
上記第１実施形態では印刷データの１部全体の画像データをスプールする場合について説明したが、以下ページ単位でスプールを行うか否かを判断してスプールを行う場合の実施形態について説明する。
【０１４０】
なお、基本的な処理や制御は第１実施形態とほぼ共通なため、ここでは差異についてのみ説明を行う。
【０１４１】
＜ページ単位によるスプール制御＞
図１４は、本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。本例は、処理単位をページ単位にした場合の複数部数印刷処理例である。以下、複数部数印刷時における（１部目、２部目以降の処理の流れを説明する。なお、Ｓ１４０１〜Ｓ１４１５は各ステップを示す。また、各ステップは、ＳＦＰ１０１のＣＰＵ２０１がモジュールをＲＡＭ２０３にロードして実行することで実現される。
【０１４２】
複数部数のＪＯＢが開始されると、Ｓ１４０１で、画像形成装置としてのＳＦＰ１０１が印刷データをクライアントＰＣ１０４より受信し、画像処理をページ単位に行う。ここで、ページ単位で画像処理が終わるたびに、Ｓ１４０２で、スプーラ利用制御部１０７により、そのページの画像データをスプーラにスプールするか否かを判断する。ここで、判断処理については、すでに第１実施形態で説明した制御と同じである。そのページに対してスプールを利用するとスプーラ利用制御部１０７が判断した場合は、Ｓ１４０３で、そのページはスプール対象ページとし、スプールを利用しないとスプーラ利用制御部１０７が判断した場合は、Ｓ１４０４で、スプール非対象ページとする。
【０１４３】
次に、スプール対象ページとなったページの画像データは、Ｓ１４０５で、ネットワーク上の画像形成装置が備えるスプーラへの書き込み処理により、スプール先の画像形成装置（図１でいうＭＦＰ１０２）へ画像データをスプールしつつ、Ｓ１４０６で、そのページの印刷をＳＦＰ１０１のプリンタ２１１で行う。スプール手段は、第１実施形態と同じであるが、ページ単位でスプールを行うため、スプーラで格納されるファイルはページ単位で作成する。
【０１４４】
例えば、“ｓｐｏｏｌ−０００１−ｐａｇｅ００１“といったようにページ番号を加えた形式のファイル名で格納することで、ページを識別することが可能である。
【０１４５】
また、スプールした画像データを利用する画像形成装置側は、スプールしたページ番号を非図示の記憶領域に記憶しておく。なお、スプール非対象ページはそのまま印刷のみを行う。
【０１４６】
そして、Ｓ１４０７で、当該ページが最終ページであるか否かをスプーラ利用制御部１０７が判断する。ここで、最終ページでないとスプーラ利用制御部１０７が判断した場合は、Ｓ１４０１へ戻り、この一連の流れを最終ページまで繰り返す。
【０１４７】
一方、Ｓ１４０７で、最終ページであるとスプーラ利用制御部１０７が判断した場合は、Ｓ１４０８以降へ進む。
【０１４８】
そして、Ｓ１４０８で、２部目以降については、既にスプール済みのページかをスプーラ利用制御部１０７が判断する。ここで、スプールしていないページであるとスプーラ利用制御部１０７が判断した場合は、Ｓ１４０９で、クライアントＰＣ１０４より印刷データを受信し、画像処理、印刷を行う。
【０１４９】
一方、Ｓ１４０８で、スプール済みのページであるとスプーラ利用制御部１０７が判断した場合は、Ｓ１４１０で、画像データをページ単位にスプールした画像形成装置として機能する、例えばＭＦＰ１０２から画像データを読み出し、Ｓ１４１１で、ＳＦＰ１０１のプリンタ２１１が印刷する。
【０１５０】
そして、印刷後、Ｓ１４１２で、スプーラ利用制御部１０７は、読み出し時間が遅くなっているかどうかを判断する。そして、スプールしないとスプーラ利用制御部１０７が判断した場合は、Ｓ１４１３で、スプール非対象ページに変更する。
【０１５１】
なお、スプール非対象ページへの変更は、スプーラで格納されている該当ページのファイルを削除し、スプールデータ情報リストから該当テーブルを削除する処理を行うことで実現する。
【０１５２】
一方、Ｓ１４１２で、スプールするとスプーラ利用制御部１０７が判断した場合は、Ｓ１４１４で、当該ページが最終ページであるかいなかをスプーラ利用制御部１０７が判断する。
【０１５３】
そして、当該ページが最終ページでないとスプーラ利用制御部１０７が判断した場合は、Ｓ１４０８へ戻り、最終ページまで同様の処理を繰り返す。
【０１５４】
一方、Ｓ１４１４で、当該ページが最終ページであるとスプーラ利用制御部１０７が判断した場合は、Ｓ１４１５で、当該部が最終部であるかどうかをスプーラ利用制御部１０７が判断する。ここで、最終部でないとスプーラ利用制御部１０７が判断した場合は、Ｓ１４０８へ戻り、同様の処理を繰り返す。
【０１５５】
一方、Ｓ１４１５で、最終部であるとスプーラ利用制御部１０７が判断した場合は、本処理を終了する。
【０１５６】
このようにして、ページ単位でのスプールを制御することにより、１部全体をスプールするよりも更に効率的に印刷を行うことが可能である。
【０１５７】
〔第３実施形態〕
以下、図１５に示すメモリマップを参照して本発明に係る画像形成装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１５８】
図１５は、本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１５９】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１６０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１６１】
本実施形態における図３〜図５、図８〜図１１、図１４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１６２】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１６３】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６４】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１６５】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１６６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１６８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７１】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【０１７２】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０１７３】
【図１】本実施形態を示す画像形成システムの構成を説明する概念図である。
【図２】図１に示した画像形成装置の構成を説明するブロック図である。
【図３】図本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。
【図４】本実施形態を示す画像形成装置におけるデータ処理手順を示すフローチャートである。
【図５】本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。
【図６】図１に示したＭＦＰ１０２がＳＦＰ１０１より受信するスプール情報を管理するスプール情報テーブルの一例を示す図である。
【図７】図６に示したスプール情報テーブルを管理するスプール情報リストの一例を示す図である。
【図８】本実施形態を示す画像処理システムにおけるデータ処理手順を説明するフローチャートである。
【図９】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図１０】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図１１】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図１２】本実施形態を示す画像形成装置で管理されるスプール機器情報テーブル１２００の一例を示す図である。
【図１３】本実施形態を示す画像形成装置で管理されるスプール機器情報リストの一例を示す図である。
【図１４】本実施形態を示す画像形成装置におけるデータ処理手順の一例を示すフローチャートである。
【図１５】本発明に係る画像形成装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１７４】
１０１  ＳＦＰ
１０２，１０３  ＭＦＰ
１０４  クライアントＰＣ
１０７  スプーラ利用制御部
【図１】
2009292047.tif 000003
【図２】
2009292047.tif 000004
【図３】
2009292047.tif 000005
【図４】
2009292047.tif 000006
【図５】
2009292047.tif 000007
【図６】
2009292047.tif 000008
【図７】
2009292047.tif 000009
【図８】
2009292047.tif 000010
【図９】
2009292047.tif 000011
【図１０】
2009292047.tif 000012
【図１１】
2009292047.tif 000013
【図１２】
2009292047.tif 000014
【図１３】
2009292047.tif 000015
【図１４】
2009292047.tif 000016
【図１５】
2009292047.tif 000017