(57)【要約】【課題】画像データ作成手段を並列動作させるシステムにおいて、それら画像データ作成手段からスプール装置への画像データの書き込みの順序を、スプール装置からプリンタへの画像データの出力順に従った固定的な順序とすることによる不具合を軽減する。【解決手段】スプール制御部１００は、複数のＲＩＰ部３００から入力される各ページの画像データのスプール方式として、それら各ページの画像データを印刷される順にスプールするプリンタ部優先方式と、それら画像データが作成された順にスプールするＲＩＰ優先方式を有する。ＲＩＰ性能測定部１０６とプリンタ部転送性能測定部１０８により、ＲＩＰ処理速度と、プリンタ部４００への画像データの転送速度を測定し、両者の測定値に基づきスプール方式を動的に切り替える。【選択図】図１
2013200627.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語を解釈してプリンタが受け入れ可能な画像データを作成する画像データ作成手段と、
画像データ作成手段の画像データの作成速度を測定する第１測定手段と、
前記画像データ作成手段が作成した画像データをスプールするスプール手段と、
前記画像データ作成手段により作成されスプール手段にスプールされた画像データの、前記スプール手段から前記プリンタへの出力速度を測定する第２測定手段と、
前記画像データ作成手段が作成した各処理単位の画像データを前記スプール手段に書き込む順序の制御方式として、前記プリンタに対するそれら各処理単位の画像データの出力順に前記各画像データ作成手段から前記スプール手段に書き込む第１方式と、前記画像データ作成手段が作成した各処理単位の画像データを、それら各処理単位の画像データが作成された順に前記各画像データ作成手段から前記スプール手段に書き込む第２方式と、を有し、前記作成速度と前記出力速度とに基づいて前記第１方式と前記第２方式とのうちいずれかを選択的に採用し、採用した方式に従って前記画像データ作成手段から前記スプール手段への各処理単位の画像データの書き込み順序を制御する制御手段と、
を備えるスプール制御装置。
【請求項２】
前記制御手段は、前記出力速度があらかじめ設定された第１閾値を上回り、且つ、前記作成速度があらかじめ設定された第２閾値以下である場合には前記第２方式を採用する、ことを特徴とする請求項１に記載のスプール制御装置。
【請求項３】
前記制御手段は、前記出力速度があらかじめ設定された第１閾値を上回り、且つ、前記作成速度があらかじめ設定された第２閾値を上回る場合には、前記出力速度が前記作成速度よりも大きければ前記第２方式を採用し、そうでなければ前記第１方式を採用する、ことを特徴とする請求項２に記載のスプール制御装置。
【請求項４】
コンピュータを、
ページ記述言語を解釈してプリンタが受け入れ可能な画像データを作成する画像データ作成手段、
画像データ作成手段の画像データの作成速度を測定する第１測定手段、
前記画像データ作成手段により作成されスプール手段にスプールされた画像データの、前記スプール手段から前記プリンタへの出力速度を測定する第２測定手段、
前記画像データ作成手段が作成した各処理単位の画像データを前記スプール手段に書き込む順序の制御方式として、前記プリンタに対するそれら各処理単位の画像データの出力順に前記各画像データ作成手段から前記スプール手段に書き込む第１方式と、前記画像データ作成手段が作成した各処理単位の画像データを、それら各処理単位の画像データが作成された順に前記各画像データ作成手段から前記スプール手段に書き込む第２方式と、を有し、前記作成速度と前記出力速度とに基づいて前記第１方式と前記第２方式とのうちいずれかを選択的に採用し、採用した方式に従って前記画像データ作成手段から前記スプール手段への各処理単位の画像データの書き込み順序を制御する制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スプール制御装置及びプログラムに関する。
【背景技術】
【０００２】
デジタル印刷システムにおいては、ホスト装置から到来したページ記述言語等で記述された印刷データを解釈（ＲＩＰ：Raster Image Processingとも呼ばれる）することで、プリンタが取扱可能なラスター画像等の画像データに変換し、その画像データをプリンタに供給して印刷を行う。また、ＲＩＰ側とプリンタ側との間にハードディスク等を記憶媒体として用いたスプール装置を設けることで、両者の処理速度の差を吸収し、プリンタが安定動作するようにする構成もよく知られている。
【０００３】
また、近年の高速デジタル印刷システムでは、ＲＩＰ処理を行うＲＩＰ処理部を複数設けてそれらを並列動作させることで、ＲＩＰ処理を高速化することも行われている。例えば、ページや、ページ内でのＹ（イエロー），Ｍ（マゼンタ），Ｃ（シアン），Ｋ（ブラック）等の色版等の処理単位ごとに、各ＲＩＰ処理部に処理を割り振ることが行われている。
【０００４】
プリンタの高速化に伴い、スプール装置からの画像データの読み出しの遅れが問題になるケースがある。これに対する対処として、従来、ＲＩＰ側からスプール装置に書き込む際に、画像データをプリンタへの出力順に書き込み、スプール装置内のハードディスク上の物理的に連続した領域に出力順に画像データか書き込まれるようにしていた。これにより、プリンタへの出力のためにハードディスクから画像データを読み出す際には、ハードディスクの物理的に連続した領域に記憶された順に画像データを読み出すだけでよいので、余計なヘッド・シークが起こらず、理論上は読み出し速度が最大となる。
【０００５】
特許文献１には、ディスク状媒体の各ブロックが使用状態か空き状態かを管理し、連続した空きブロックにデータを書き込むことにより、データ読み出し時のヘッド・シーク回数を低減することが記載されている。
【０００６】
特許文献２には、磁気ディスク装置等の外部記憶装置の書き込み・読み出し管理において、１つの論理ボリュームを複数の実ボリュームに対応づけ、書き込み要求があった場合に、それら複数の実ボリュームのうち入出力処理を実行中でない実ボリュームに優先的に書き込むことにより、書き込みの高速化を図ることが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭６３−１０４２８４号公報
【特許文献２】特開昭６３−０４６５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、ページ記述言語の印刷データからプリンタで取扱可能な画像データに変換する画像データ作成処理の負荷は、その印刷データの内容（例えば印刷オブジェクトはテキストのみなのか、ビットマップイメージを含むのか等）によって変わってくる。印刷データ内のページ等の個々の処理単位を見ても、処理単位の内容によって画像データの作成に要する時間は異なってくる。このため、複数の画像データ作成部に対してページ等の処理単位を出力順に割り振って、画像データの作成を並列実行させた場合、プリンタへの出力順が後の処理単位の画像データが先の処理単位の画像データよりも早く作成されてしまう場合もある。
【０００９】
このような場合、スプール装置に対して、各処理単位の画像データをプリンタへの出力順に書き込む制御を行うと、仮に出力順が後の処理単位Ｂの画像データが先に作成できたとしても、その画像データは出力順が前の処理単位Ａの画像データがスプール装置に書き込まれるまでは、スプール装置に書き込むことができない。この場合、処理単位Ｂを処理していた画像データ作成部は、メモリ領域確保等の理由から、処理単位Ｂの画像データをスプール装置に書き込むまでは次の処理単位Ｃを受け取って処理することができず、後の処理単位についての処理が遅れていくことになる。例えば処理単位Ｃが画像データ作成に時間のかかるデータであったとすると、画像データの作成開始が遅れる上に更に作成に時間がかかるので、処理単位Ｃの画像データの完成は大幅に遅れることになる。このような大幅な遅れにより、プリンタに対する処理単位Ｃの画像データの供給が遅れ、プリンタにおける当該処理単位Ｃの画像データの印刷タイミングに間に合わない事態も生じ得る。画像データが間に合わないと、印刷のとぎれ（いわゆる間欠印刷）が生じることもある。逆に、近年はハードディスクの読み出し速度が向上しており、必ずしも出力順に書き込まれていなくても、プリンタの処理に間に合うように読み出せるケースも増えている。
【００１０】
本発明は、画像データ作成装置を並列動作させるシステムにおいて、それら画像データ作成装置からスプール装置への画像データの書き込みの順序を、スプール装置からプリンタへの画像データの出力順に従った固定的な順序とすることによる不具合を軽減することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に係る発明は、ページ記述言語を解釈してプリンタが受け入れ可能な画像データを作成する画像データ作成手段と、前記画像データ作成手段の画像データの作成速度を測定する第１測定手段と、前記画像データ作成手段が作成した画像データをスプールするスプール手段と、前記画像データ作成手段により作成され前記スプール手段にスプールされた画像データの、前記スプール手段から前記プリンタへの出力速度を測定する第２測定手段と、前記画像データ作成手段が作成した各処理単位の画像データを前記スプール手段に書き込む順序の制御方式として、前記プリンタに対するそれら各処理単位の画像データの出力順に前記各画像データ作成手段から前記スプール手段に書き込む第１方式と、前記画像データ作成手段が作成した各処理単位の画像データを、それら各処理単位の画像データが作成された順に前記各画像データ作成手段から前記スプール手段に書き込む第２方式と、を有し、前記作成速度と前記出力速度とに基づいて前記第１方式と前記第２方式とのうちいずれかを選択的に採用し、採用した方式に従って前記画像データ作成手段から前記スプール手段への各処理単位の画像データの書き込み順序を制御する制御手段と、を備えるスプール制御装置である。
【００１２】
請求項２に係る発明は、前記制御手段は、前記出力速度があらかじめ設定された第１閾値を上回り、且つ、前記作成速度があらかじめ設定された第２閾値以下である場合には前記第２方式を採用する、ことを特徴とする請求項１に記載のスプール制御装置である。
【００１３】
請求項３に係る発明は、前記制御手段は、前記出力速度があらかじめ設定された第１閾値を上回り、且つ、前記作成速度があらかじめ設定された第２閾値を上回る場合には、前記出力速度が前記作成速度よりも大きければ前記第２方式を採用し、そうでなければ前記第１方式を採用する、ことを特徴とする請求項２に記載のスプール制御装置である。
【００１４】
請求項４に係る発明は、コンピュータを、ページ記述言語を解釈してプリンタが受け入れ可能な画像データを作成する画像データ作成手段、画像データ作成手段全体の画像データの作成速度を測定する第１測定手段、前記画像データ作成手段が作成した画像データをスプールするスプール手段、前記画像データ作成手段により作成されスプール手段にスプールされた画像データの、前記スプール手段から前記プリンタへの出力速度を測定する第２測定手段、前記画像データ作成手段が作成した各処理単位の画像データを前記スプール手段に書き込む順序の制御方式として、前記プリンタに対するそれら各処理単位の画像データの出力順に前記各画像データ作成手段から前記スプール手段に書き込む第１方式と、前記画像データ作成手段が作成した各処理単位の画像データを、それら各処理単位の画像データが作成された順に前記各画像データ作成手段から前記スプール手段に書き込む第２方式と、を有し、前記作成速度と前記出力速度とに基づいて前記第１方式と前記第２方式とのうちいずれかを選択的に採用し、採用した方式に従って前記画像データ作成手段から前記スプール手段への各処理単位の画像データの書き込み順序を制御する制御手段、として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１又は４に係る発明によれば、画像データ作成手段を並列動作させるシステムにおいて、それら画像データ作成手段からスプール手段への画像データの書き込みの順序を、スプール手段からプリンタへの画像データの出力順に従った固定的な順序とすることによる不具合を軽減することができる。
【００１６】
請求項２に係る発明によれば、スプール手段からプリンタへの画像データの転送に遅れが生じない状況下で、画像データの作成速度の低下によるプリンタへの画像データの供給遅れが発生する可能性を低減することができる。
【００１７】
請求項３に係る発明によれば、スプール手段からプリンタへの画像データの転送に遅れが生じず、かつ画像データの作成速度の低下によるプリンタへの画像データの供給遅れが発生しにくい状況下で、画像データ作成手段とプリンタのうちの処理の遅い方の状況を改善することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態のシステム構成の一例を示す図である。
【図２】２つのスプール方式を説明するための図である。
【図３】スプール方式制御部の処理手順の例を示す図である。
【図４】スプールに関するユーザ設定画面の一例を示す図である。
【図５】ＨＤＤ内にプリンタ部優先方式専用及びＲＩＰ優先方式専用のパーティションを設ける例を説明するための図である。
【発明を実施するための形態】
【００１９】
図１に、実施形態のスプール制御部１００を備えた印刷システムの一例を示す。このシステムは、スプール制御部１００、ＨＤＤ（ハードディスク）２００、複数のＲＩＰ部３００、及びプリンタ部４００を含んでいる。
【００２０】
プリンタ部４００は、画像データを用紙（カット紙、連帳紙を問わない）等の媒体に印刷する装置であり、プリンタ又はプリンタとも呼ばれる。本実施形態では、プリンタ部４００の印刷方式は特に限定されるものではなく、インクジェット方式や電子写真方式等、どのような方式のものであってもよい。プリンタ部４００が受け入れ可能なデータ形式の例としては、ラスター画像形式、等がある。プリンタ部４００は、ある特定の受け入れ可能なデータ形式の画像データを受け入れ、その画像データに従って内部の印刷機構を制御することにより、その画像データを用紙上に印刷する。
【００２１】
各ＲＩＰ部３００は、それぞれ、印刷システムに対するクライアントから送られてくるページ記述言語等で記述された印刷データについてのＲＩＰ処理、すなわち印刷データを解釈して、その印刷データをプリンタ部４００が受け入れ可能な画像データに変換する処理、を実行する。この例では、複数のＲＩＰ部３００を並列動作させることで、ＲＩＰ処理の高速化を図る。すなわち、図示しない印刷データ分配部が印刷データをページ或いはＹＭＣＫ等の色版などのような処理単位に分割してそれら処理単位を各ＲＩＰ部３００に順に分配し、各ＲＩＰ部３００は分配された各処理単位を解釈処理する。例えば、あるＲＩＰ部３００が実行中の処理単位の処理を終えると、分配部がその時点で未処理の先頭の処理単位をそのＲＩＰ部３００に供給する、といった流れで、各ＲＩＰ部３００に処理単位を順番に分配していけばよい。処理単位が例えばページである場合は、分配の順序は、プリンタ部４００にて各ページを印刷する順序（通常の印刷ではページ番号の順。製本用の印刷の等のようにページ番号とは異なる製本等を想定した順序となる場合もある）である。この場合、あるページの分配を受けたＲＩＰ部３００は、そのページのＹＭＣＫ各版の画像データを生成して出力する。この場合において、ＲＩＰ部３００は、分配されたページのＹＭＣＫ各版を、内部でソフトウエア的（例えばプロセスの並列実行）又はハードウエア的（例えば内蔵する複数のプロセッサによる）に並列処理してもよい。また、処理単位が色版の場合は、分配の順序は、大きくはページの印刷順であり、個々のページ内ではプリンタ部４００での色版の印刷順である。例えば、プリンタ部４００内での色版の印刷順序がＫ→Ｃ→Ｍ→Ｙの順である場合、色版単位で分配する場合には、１ページ目のＫ、Ｃ、Ｍ、Ｙ、２ページ目のＫ、Ｃ、Ｍ、Ｙ…の順に分配すればよい。
【００２２】
各ＲＩＰ部３００が出力する各処理単位の画像データは、スプール制御部１００に渡される。より詳しくは、ＲＩＰ部３００は、分配された処理単位の画像データの作成が完了すると、スプール制御部１００に対して書き込み要求を送り、この書き込み要求に対して許可の旨の応答を受け取ると、その画像データをスプール制御部１００に転送する。
【００２３】
スプール制御部１００において、書き込み制御部１０２は、各ＲＩＰ部３００が作成した画像データをＨＤＤ２００に書き込むための制御を行う。より詳しくは、書き込み制御部１０２は、各ＲＩＰ部３００からの画像データをＨＤＤ２００に書き込む方式（すなわち「スプール方式」）として、「プリンタ部優先」方式と「ＲＩＰ優先」方式の２つの方式を有しており、これら２つの方式のうちスプール方式制御部１１２から指示された方式に従った順序で、各ＲＩＰ部３００からの画像データをＨＤＤ２００に書き込む。
【００２４】
これら２つの方式を、図２を参照して説明する。
【００２５】
まず、第１の方式であるプリンタ部優先方式は、各処理単位の画像データを、ＨＤＤ２００内の連続した物理的記憶領域（セクタ）に、プリンタ部４００が読み出す順すなわちプリンタ部４００が使用する順に書き込む方式である。すなわち、この方式では、ＨＤＤ２００内の、ｎ（ｎは自然数）番目に読み出すべき処理単位の画像データを書き込んだ領域の、読み出しが進行する方向（一般にはディスクの回転する方向）についての直後に、ｎ＋１番目に読み出すべき処理単位の画像データを書き込む。図２の例では、１ページ内の各色版の画像データは、プリンタ部４００の色版の印刷順（例えば、各色版用の印刷ヘッド又は感光体の、用紙の進行方向の先頭からみた並び順）にＫ、Ｃ、Ｍ、Ｙの順で連続して順番に書き込まれ、この１ページ単位のデータが、各ページの印刷順に連続して書き込まれる。
【００２６】
なお、以下では、ページの印刷順と個々のページ内での色版の印刷順とを合わせた総合的な順序を、単に「印刷順」と呼ぶことにする。すなわち、各ページの各色版の画像データは、この「印刷順」にプリンタ部４００に入力される。
【００２７】
プリンタ部優先方式は、ＨＤＤ２００からの画像データの読み出し速度がシステム全体の処理速度のボトルネックになっていた過去の時代から用いられてきた方式である。
【００２８】
プリンタ部優先方式では、仮に印刷順が後の処理単位（仮に「Ｂ」と名付ける）の画像データが前の処理単位（「Ａ」と名付ける）の画像データよりも先に完成したとしても、処理単位Ｂの画像データは処理単位Ａの画像データＡのＨＤＤ２００に書き込みが完了するまでは、書き込むことができない。すなわち、この方式では、書き込み制御部１０２は、あるＲＩＰ部３００から処理単位Ｂの画像データの書き込み要求が来た場合、それより前の処理単位Ａの画像データの書き込みが完了するまで、その書き込み要求に対する書き込み許可を出すのを待つ。ある処理単位の画像データの書き込みが可能になるのは、その直前の（したがってそれ以前のすべての）処理単位の画像データの書き込みが完了した後である。
【００２９】
なお、プリンタ部優先方式で書き込まれた各処理単位の画像データは、読み取り制御部１０４により、ＨＤＤ２００内でそれら画像データが配置された順に連続して読み出され、プリンタ部４００に供給されることになる。
【００３０】
第２の方式であるＲＩＰ優先方式は、各処理単位の画像データを作成された順に書き込む方式である。図２で示すＲＩＰ優先方式は、ページ単位且つ色版単位で並列にＲＩＰ処理が行われている場合の例であり、この例では、１ページ目のＫ、Ｍ、Ｃ版の画像データが順に書き込まれた後、２ページ目のＫ、Ｍ、Ｃ版の画像データが順に書き込まれ、その後に１ページ目のＹ版、２ページ目のＹ版の順で画像データが書き込まれている。
【００３１】
ＲＩＰ優先方式では、書き込み制御部１０２は、処理単位の印刷順に関係なく、各ＲＩＰ部３００から書き込み要求が到来した順に、各ＲＩＰ部３００に書き込み許可を与える。したがって、各ＲＩＰ部３００は、作成した処理単位の画像データを、その処理単位よりも印刷順が前の処理単位の画像データの作成・書き込みの完了を待たずに、書き込むことができる。
【００３２】
ＲＩＰ優先方式は、ＲＩＰ処理の速度がシステム全体の処理のボトルネックになる場合に対応する方式である。
【００３３】
ＲＩＰ優先方式では、ＨＤＤ４００内の各処理単位の画像データが印刷順に並んでいないので、読み出しの際には、印刷順に、各処理単位の画像データを探して読み出す必要がある。このために、書き込み制御部１０２は、各処理単位の画像データをＨＤＤ２００内のどの場所（物理的な記憶領域）に書き込んだか（例えば印刷順で何番目の処理単位の画像データをどこに書き込んだか）示す書き込み先情報を読み出し制御部１０４に伝達する。読み出し制御部１０４は、この書き込み先情報から、印刷順に、読み出すべき処理単位の記憶場所を特定し、その記憶場所から画像データを読み出してプリンタ部４００に転送する。
【００３４】
図１の説明に戻ると、スプール制御部１００内の読み出し制御部１０４は、ＨＤＤ２００内から各処理単位の画像データを印刷順に読み出し、読み出した順にプリンタ部４００に転送する。例えば、プリンタ部４００は次の処理単位の画像データを受け入れ可能になる毎に、読み出し制御部１０４に対して読み出し要求を送り、この要求に応じて読み出し制御部１０４は次の処理単位の画像データを読み出してプリンタ部４００に送る。ここで、上述したように、ＨＤＤ２００への書き込みがプリンタ部優先かＲＩＰ優先かで、読み出し制御部１０４の読み出し方式が変わる。すなわち、プリンタ部優先の場合は単にＨＤＤ２００内でのそれら画像データの並び順に読み出し、ＲＩＰ優先の場合は、書き込み先情報に従い、各順番の画像データの書き込み場所を特定し、その場所から画像データを読み出す。
【００３５】
さて、この印刷システムでは、複数のＲＩＰ部３００全体の画像データの作成速度とプリンタ部４００への画像データの転送速度とを測定し、それらの測定値に基づいて、スプール方式を選択する。画像データの作成速度を測定するのがＲＩＰ性能（速度）測定部１０６であり、プリンタ部４００への画像データの転送速度と測定するのがプリンタ部転送性能（速度）測定部１０８である。
【００３６】
ＲＩＰ性能判定部１０６は、例えば、複数のＲＩＰ部３００全体から書き込み制御部１０２への、単位時間当たりの書き込み要求の到来数に基づき、画像データの作成速度、すなわちこの印刷システムのＲＩＰ性能、を表す評価値を求める。ここでは、各ＲＩＰ部３００は、分配された処理単位（例えばページ）の画像データの作成が完了するごとに、１つの書き込み要求を書き込み制御部１０２に送るものとしている。例えば、各ＲＩＰ部３００に分配される処理単位がページであるとして、複数のＲＩＰ部３００から１秒間に合計で２０ページについての書き込み要求があったとすると、この１秒間でのＲＩＰ性能は２０ページ／秒である。なお、各処理単位のＲＩＰ処理負荷はまちまちなので、ＲＩＰ性能は時々刻々変化し得る。
【００３７】
プリンタ部転送性能測定部１０８は、例えば、プリンタ部４００から読み出し制御部１０４への、単位時間当たりの読み出し要求の到来数に基づき、プリンタ部４００への画像データの転送速度、すなわちこの印刷システムのプリンタ部転送性能、を表す評価値を求める。例えば処理単位がページであるとして、プリンタ部４００から１秒間に１８ページ分の読み出し要求があったとすると、この１秒間でのプリンタ部転送性能は１８ページ／秒である。なお、プリンタ部転送性能も時間と共に変化し得る。
【００３８】
また、図１の例では、スプール制御部１００は、プリンタ部４００の印刷速度性能を測定する印刷性能測定部１１０を備える。印刷性能測定部１１０は、例えば、プリンタ部４００からのページごとの印刷完了通知を計数することで、プリンタ部４００が単位時間当たりに印刷するページ数を、速度に関する印刷性能を表す実測値として求める。なお、スプール制御部１００に接続されるプリンタ部４００がほぼ一定速度で印刷を行い、その印刷速度が既知の場合は、印刷性能測定部１１０は必要はなく、速度に関する印刷性能の情報をスプール方式制御部１１２に伝えるようにしてもよい。
【００３９】
ここで、ＲＩＰ性能、プリンタ部転送性能（及び印刷性能）を求める場合の観測期間の長さをユーザ側で設定できるようにしてもよい。設定した観測期間に処理乃至転送した処理単位（典型的にはページ）の数から、それら性能を求める。観測期間が短すぎたり、逆に長すぎたりすると、微小な変動に鋭敏に反応しすぎたり、あるいはその逆に変動への対応が遅くなりすぎたりする可能性があるが、観測期間としてどの程度の長さが適切かは、印刷システムを構成するＲＩＰ部３００やプリンタ部４００の機種や個体差、あるいは印刷対象の印刷データによって変わってくると考えられる。そこで、ユーザ側で例えば実際にこのシステムを運用した経験等から適切な観測期間を見出し、この観測期間をスプール制御部１００に設定できるようにしてもよい。
【００４０】
ユーザ設定部１１４は、この観測期間等、スプール制御部１００に関する各種の設定を受け付けるための処理手段である。
【００４１】
スプール方式制御部１１２は、ＲＩＰ性能測定部１０６、プリンタ部転送性能測定部１０８及び印刷性能測定部１１０で測定された各性能値に基づき、ＨＤＤ２００に対して適用するスプール方式を判定する。スプール方式制御部１１２の処理手順の一例を、図３に示す。
【００４２】
この例では、スプール方式制御部１１２は、まず、ユーザがユーザ設定部１１４に設定したユーザ設定情報を取得する。図４にユーザ設定情報の入力画面の一例を示す。この例では、大きな選択肢として「スプール方式を切り替えない」と「スプール方式を切り替える」のいずれかが、ラジオボタンにより択一的に選択できるようになっている。前者は、本実施形態のスプール方式の自動切り替えを行わないことを示す選択肢であり、この選択肢を選んだ場合は、スプール方式は印刷システムの稼働状況に依らず固定となる。固定のスプール方式として、ＲＩＰ優先、プリンタ部優先をユーザが指定できるようにしてもよい。
【００４３】
一方、「スプール方式を切り替える」は、ＲＩＰ性能測定部１０６、プリンタ部転送性能測定部１０８等による時々刻々の性能測定値に基づいて、スプール方式を動的に切り替えることを示す選択肢である。図４の例では、この選択肢が選ばれた場合、更に「性能観測間隔」、「プリンタ部転送性能閾値」、「ＲＩＰ性能閾値」の数値を指定可能となる。「性能観測間隔」は、上述した各性能の観測期間の長さである。
【００４４】
「プリンタ部転送性能閾値」は、プリンタ部転送性能測定部１０８が測定したプリンタ部転送性能（速度）が十分か否かを判定する基準となる閾値である。プリンタ部転送性能の測定値がこの「プリンタ部転送性能閾値」以下となる場合、スプール制御部１００からプリンタ部４００への画像データの転送性能が不十分（転送が遅い）ということなので、その転送性能を高める必要が出てくる。そこで、このような場合には、プリンタ部優先方式を採用することになる。
【００４５】
「ＲＩＰ性能閾値」は、スプール方式をＲＩＰ優先方式に切り替える基準となるＲＩＰ性能（速度）を表す閾値である。
【００４６】
例えば、ＲＩＰ処理の負荷が非常に大きい処理単位（例えばページ。仮に「Ａ」と名付ける）が割り当てられたＲＩＰ部３００は、その処理単位ＡのＲＩＰ処理に長時間を要する。ここで、スプール方式としてプリンタ部優先方式を採用していると、別のＲＩＰ部３００がその処理単位Ａよりも印刷順が後の処理単位（仮に「Ｂ」と名付ける）の画像データの作成を完了していたとしても、処理単位Ａの画像データが完成するまでは、処理端Ｂの画像データをＨＤＤ２００にスプールすることはできない。このように、プリンタ部優先方式では、ある処理単位のＲＩＰ処理の遅れは、後続の処理単位の遅れへと波及する。このようなＲＩＰ処理の遅れにより、上述したようにプリンタ部４００へしかるべきタイミングで画像データを供給できなくなるケースが出てくる。ＲＩＰ性能閾値は、このようなＲＩＰ処理の遅れを検出するための閾値である。本実施形態では、スプール制御部１００からプリンタ部４００への画像データ転送に十分な余裕がある場合に、ＲＩＰ性能がＲＩＰ性能閾値以下となると、ＲＩＰ処理の遅れによる不具合が顕在化する可能性が高いとみなし、スプール方式としてＲＩＰ優先方式を採用する。
【００４７】
なお、ＲＩＰ性能閾値を具体的にどのような値とすると適切かは、ＲＩＰ部３００，スプール制御部１００及びそれら両者間の通信路などといったシステム要件に左右され、また対象となる印刷データの内容によって変わってくる可能性もある。そこで、図４の例では、ユーザ側で例えば実際にこのシステムを運用した経験等から適切な閾値を見出し、この値をスプール制御部１００に設定できるようにしている。
【００４８】
本実施形態の制御では、図４に例示した「プリンタ部転送性能閾値」と「ＲＩＰ性能閾値」の他に、「マージン閾値」と呼ぶ閾値を用いる。「マージン閾値」は、プリンタ部転送性能測定部１０８が測定したプリンタ部転送性能（速度）の、プリンタ部４００の印刷性能（速度）に対するマージン（余裕。より具体的には「プリンタ部転送性能−印刷性能」のこと。以下「転送・印刷性能マージン」と呼ぶ）についての閾値である。例えばこのマージンが負値になると、画像データの供給が印刷に追いつかなくなり、例えばプリンタ部４００が停止するなどの不具合に繋がる。プリンタ部転送性能から印刷性能を減算した結果である転送・印刷性能マージンは「性能観測間隔」として設定された時間の間での平均値なので、転送速度と印刷速度のマージンの瞬間値は時間平均である転送・印刷性能マージンよりもある程度小さくなる場合もある。例えば、近年の高速印刷システムには１秒間に数十ページの印刷を行うものもあり、数十ミリ秒の間でもマージンが負値又は０に近くなると、そのような不具合が生じる可能性がある。マージン閾値は、そのような瞬間的な事態を避けて安定的な印刷を実現するために必要な、転送・印刷性能マージンの下限値である。なお、このような下限値は、スプール制御部１００、プリンタ部４００、及びそれら両者間の通信路などといったシステムの複雑な要件が絡んでくるので、前もって計算等で求めることが困難な場合も多い。そこで、ユーザ側で例えば実際にこのシステムを運用した経験等から適切なマージン閾値を見出し、このマージン閾値を図４のようなＵＩ画面を介してスプール制御部１００に設定できるようにしてもよい。
【００４９】
図４のような設定画面を用いてユーザから入力されたユーザ設定情報は、スプール制御部１００内に保存され、印刷データの処理を開始する際に、図３の手順のＳ１０で読み出される。
【００５０】
Ｓ１０の読み出しの後、読み出したユーザ設定情報において、スプール方式の自動切り替え（選択肢「スプール方式を切り替える」）が有効（すなわち選択されている）かどうかを判定する（Ｓ１２）。自動切り替えが有効でない場合、スプール方式制御部１１２は、ユーザ設定情報内で指定されている固定的なスプール方式（ＲＩＰ優先又はプリンタ部優先）を、書き込み制御部１０２及び読み出し制御部１０４に指示し、処理を終了する。
【００５１】
一方、スプール方式の自動切り替えが有効となっている場合は、Ｓ１４に進み、ユーザ設定情報内で指定されている性能観測間隔分だけ待機する。既に始まっている印刷データの処理におけるＲＩＰ性能、プリンタ部転送性能及び印刷性能が、この間隔の間にＲＩＰ性能測定部１０６、プリンタ部転送性能測定部１０８及び印刷性能測定部１１０により測定される。そして、その待機の後、スプール方式制御部１１２は、それら各性能の測定値を取得する（Ｓ１６）。
【００５２】
Ｓ１６の後、スプール方式制御部１１２は、まず、プリンタ部転送性能測定部１０８が測定したプリンタ部転送性能測定値が、印刷性能測定部１１０が測定した印刷性能の測定値を、マージン閾値以上超過しているかを判断する（Ｓ１７）。すなわち、Ｓ１７では、プリンタ部転送性能測定値から印刷性能測定値を減算した減算結果（すなわち「プリンタ部転送性能測定値−印刷性能測定値」）である転送・印刷性能マージンがマージン閾値を上回っているか否かを判定する。
【００５３】
Ｓ１７の判定結果がＮｏ（すなわち転送・印刷性能マージン≦マージン閾値）の場合、スプール方式制御部１１２は、スプール方式としてプリンタ部優先方式を採用する（Ｓ２４）。プリンタ部転送性能を高める（少なくとも低下させることは避ける）必要があるので、このようにするのである。
【００５４】
Ｓ１７の判定結果がＹｅｓ（すなわち転送・印刷性能マージン＞マージン閾値）の場合、スプール方式制御部１１２は、プリンタ部転送性能測定値と、ユーザ設定情報内で指定されているプリンタ部転送性能閾値と比較する（Ｓ１８）。この比較の結果、プリンタ部転送性能測定値がプリンタ部転送性能閾値以下であれば（図中のＳ１８の判定結果Ｎｏ）、スプール方式制御部１１２は、プリンタ部優先方式が適切なスプール方式であると判定する（Ｓ２４）。プリンタ部転送性能測定値がプリンタ部転送性能閾値以下である場合には、スプール制御部１００からプリンタ部４００への画像データの転送遅れによる不具合が生じる可能性が高く、プリンタ部転送速度を向上させる必要が出てくるので、このように判定する。このとき、現在のスプール方式がＲＩＰ優先方式である場合には、書き込み制御部１０２及び読み出し制御部１０４に対して、プリンタ部優先方式に切り替える旨の指示を送る。現在のスプール方式がプリンタ部優先方式である場合は、何もしなくてよい。
【００５５】
Ｓ１８でプリンタ部転送性能測定値がプリンタ部転送性能閾値を上回ることが判明した場合、スプール方式制御部１１２は、次に、ＲＩＰ性能の測定値を、ユーザ設定情報内に指定されたＲＩＰ性能閾値と比較する（Ｓ２０）。この比較の結果、ＲＩＰ性能の測定値がＲＩＰ性能閾値以下であることが判明した場合（Ｓ２０の判定結果がＮｏ）は、ＲＩＰ優先方式が適切なスプール方式であると判定し、書き込み制御部１０２及び読み出し制御部１０４に対してＲＩＰ優先方式への切り替えを指示する（Ｓ２６）。プリンタ部優先方式を採用している場合、ＨＤＤ２００への各処理単位の画像データの書き込みを印刷順にする必要上、上述したように処理負荷の重い処理単位により書き込みが遅れ、このことが後続の処理単位のＲＩＰ処理の開始及び完了の遅れに繋がる。これがＲＩＰ性能（速度）の測定値の低下に繋がってくる。そして、ＲＩＰ性能の測定値がＲＩＰ性能閾値以下になると、ＲＩＰ性能がかなり低くなっているということであり、プリンタ部４００への画像データの供給が適切なタイミングより遅れてしまう可能性が無視できない程度に高くなる。このため、この場合には、ＲＩＰ速度の向上が必要となるので、スプール方式をＲＩＰ優先とするのである。
【００５６】
Ｓ２０でＲＩＰ性能の測定値がＲＩＰ性能閾値を上回ると判定した場合（Ｓ２０の判定結果がＹｅｓ）、図３の手順では、スプール方式制御部１１２は、更にＲＩＰ性能の測定値とプリンタ部転送性能の測定値を比較する（Ｓ２２）。そして、この比較の結果、ＲＩＰ処理及びプリンタ部転送のうち、性能の低い（すなわち速度の遅い）と判明した方の性能を高めるよう、スプール方式を切り替える。すなわち、プリンタ部転送性能がＲＩＰ性能より小さい場合は（Ｓ２２の判定結果がＹｅｓ）には、スプール方式をプリンタ部優先に切り替え（Ｓ２４）、プリンタ部転送性能測定値がＲＩＰ性能測定値以上の場合は（Ｓ２２の判定結果がＮｏ）には、スプール方式をＲＩＰ優先に切り替える（Ｓ２６）。
【００５７】
以上のＳ１４〜Ｓ２６の処理ループを、性能観測間隔毎に繰り返す。
【００５８】
なお、Ｓ１４での待機時間を性能観測間隔とは異なる長さ（例えば性能観測間隔よりも短い時間）とし、待機時間が経過する毎に、その経過時点から過去に性能観測間隔だけ遡った期間の書き込み／読み出し要求、印刷ページ数から、ＲＩＰ／プリンタ部転送性能、印刷性能を求めるようにしてもよい。
【００５９】
図３では省略したが、スプール方式の自動切り替えを行う場合のスプール方式のデフォルト値をプリンタ部優先とし、印刷データの処理開始時点ではプリンタ部優先方式が採用されるようにする。ＲＩＰ性能が閾値以下となるのは、プリンタ部優先方式の環境下でＲＩＰ処理負荷が例外的に大きい処理単位を処理した場合であり、このような場合には、転送・印刷性能マージンが十分（マージン閾値を上回る）であるという条件が満たされる場合に限り、ＲＩＰ優先方式への切り替えができるようにした。この切り替えを行う時点では、プリンタ部転送には余力があるので、ＲＩＰ優先方式で各処理単位の画像データを印刷順に読み出す際のＨＤＤ２００のシーク時間は吸収される。Ｓ１７で転送・印刷性能マージンがマージン閾値を上回ると判定されている間は、プリンタ部転送性能は印刷性能に比して十分なので、間欠印刷は発生しない。
【００６０】
以上に例示したスプール方式制御に関し、具体例を用いてその挙動を説明する。以下に示す各具体例では、性能観測間隔が１秒、プリンタ部転送性能閾値が２０ページ、ＲＩＰ性能閾値が１０ページとする。以下の例では、転送・印刷性能マージンがマージン閾値を上回っている（すなわちＳ１７の判定結果がＹｅｓ）という条件が満たされているものとする。
【００６１】
第１の例では、その性能観測間隔で測定されたＲＩＰ性能測定値が９ページ、プリンタ部転送性能測定値が９ページであるとする。この場合プリンタ部転送性能測定値９ページは、プリンタ部転送性能閾値２０ページを下回っているので、Ｓ１８の判定結果がＮｏとなり、Ｓ２４でプリンタ部優先方式が選択されることになる。
【００６２】
第２の例では、ＲＩＰ性能測定値が９ページ、プリンタ部転送性能測定値が２５ページであるとする。この場合、Ｓ１８の判定結果がＹｅｓとなってＳ２０に進み、ＲＩＰ性能測定値９ページがＲＩＰ性能閾値１０ページを下回るのでＳ２０の判定結果はＮｏとなる。これにより、Ｓ２６でＲＩＰ優先方式が選択されることになる。
【００６３】
第３の例では、ＲＩＰ性能測定値が２０ページ、プリンタ部転送性能測定値が２５ページであるとする。この場合、Ｓ１８の判定結果がＹｅｓとなってＳ２０に進み、ＲＩＰ性能測定値２０ページがＲＩＰ性能閾値１０ページを上回るのでＳ２０の判定結果はＹｅｓとなってＳ２２に進む。ＲＩＰ性能測定値２０ページはプリンタ部転送性能測定値２５ページより小さいので、Ｓ２２の判定結果はＮｏとなり、Ｓ２６でＲＩＰ優先方式が選択されることになる。
【００６４】
第４の例では、ＲＩＰ性能測定値が３０ページ、プリンタ部転送性能測定値が２５ページであるとする。この場合、Ｓ１８の判定結果がＹｅｓとなってＳ２０に進み、Ｓ２０の判定結果はＹｅｓとなってＳ２２に進む。ＲＩＰ性能測定値３０ページはプリンタ部転送性能測定値２５ページより大きいので、Ｓ２２の判定結果はＹｅｓとなり、Ｓ２４でプリンタ部優先が選択されることになる。
【００６５】
このように、この実施形態のスプール方式切り替え制御では、印刷データの処理状況に応じてスプール方式が切り替えられ、プリンタ部４００での間欠印刷の発生の可能性が低減される。
【００６６】
また、この実施形態のスプール制御部１００は、ＲＩＰ性能、プリンタ部転送性能及び印刷性能を実測し、その実測値に基づいて制御を行うので、ＲＩＰ部３００、プリンタ部４００といった接続先の装置が変更されても、同じ動作で変更後の接続先に対応可能である。
【００６７】
さて、プリンタ部優先方式では、何も書き込まれていないクリーンな状態のＨＤＤ２００の連続領域に対して印刷順に各画像データが書き込まれ、書き込まれた画像データは同じく印刷順に読み出される。したがって、書き込み、読み出しが繰り返されても、そのＨＤＤ２００内には連続した十分なサイズの空き領域が常に存在するので、ＨＤＤ２００の断片化（フラグメンテーション）は起こらず、プリンタ部優先方式での書き込み・読み出しが安定して続行される。これに対し、ＲＩＰ優先方式では、ＨＤＤ２００に対する画像データの書き込み順と読み出し順が一致しないので、ＨＤＤ２００の断片化が起こる。プリンタ部優先方式は、十分大きなサイズの連続した記憶領域を必要とするので、断片化されたＨＤＤ２００に対しては適用できない場合がある。断片化されたＨＤＤ２００をプリンタ部優先方式で使用しようとするには、ＨＤＤ２００のデフラグメンテーション処理が必要となり、これにはかなりの時間を要する。したがって、いったんプリンタ部優先方式からＲＩＰ優先方式に切り替えた後、ＲＩＰ優先方式により断片化されたＨＤＤ２００をプリンタ部優先方式に切り替えて使用することは、不可能であるか、可能であるとしても切り替えに時間を要する。
【００６８】
このような問題に対処する変形例として、図５に示すように、ＨＤＤ２００内に物理的に別々の２つのディスク領域（パーティション）を設定し、一方をＲＩＰ優先方式専用、他方をプリンタ部優先方式専用の領域として使用するようにしてもよい。すなわち、この変形例では、書き込み制御部１０２及び読み出し制御部１０４は、プリンタ部優先方式が選択されている間はプリンタ部優先方式専用のディスク領域に対して読み書きを行い、ＲＩＰ優先方式が選択されている間はＲＩＰ優先方式専用のディスク領域に対して読み書きを行う。ここで、同じ画像データがＨＤＤ２００に書き込まれてから読み出されるまでにはタイムラグがあるので、読み出し制御部１０４は、スプール方式制御部１１２からスプール方式の切り替えが指示された後も、その切り替えの前に切り替え前の方式用のディスク領域に書き込まれた画像データをすべて読み出した後（各画像データがＨＤＤ２００のどの場所に書き込まれているかは書き込み制御部１０２から通知済みなので、読み出しは可能）、切り替え後の方式用のディスク領域からの読み出しを開始する。
【００６９】
なお、ＲＩＰ優先方式専用及びプリンタ部優先方式専用のディスク領域は、別々のハードディスクドライブとして実現してもよいし、同一のドライブ内に別々に確保された連続的な物理的記憶領域として実現してもよい。なお、ＨＤＤ２００内にＲＩＰ優先方式専用及びプリンタ部優先方式専用の２つのパーティションを設けることができない場合には、ユーザが指定するパーティションを論理的に２つの領域に分け、各々をＲＩＰ優先方式専用の領域及びプリンタ部優先方式専用の領域として用いるようにしてもよい。この場合、そのパーティション内のＲＩＰ優先方式専用の領域及びプリンタ部優先方式専用の領域の割合をユーザ指定できるようにしてもよい。
【００７０】
図４に例示した設定画面の下半分には、ＨＤＤ２００内に各方式専用のパーティションを別々に設ける（「パーティションを分ける」）か、１つのパーティションを論理的に２つの領域に分けて各方式専用の領域とする（「パーティションを分けない」）かの選択肢が設けられている。前者が選択された場合は、更にどのパーティションを各方式の専用とするかをユーザに指定させる。また、後者が選択された場合は、どのパーティションをスプール用として用い、そのうちの何％をＲＩＰ優先（又プリンタ部優先）方式のための論理的領域とするかをユーザに指定させる。
【００７１】
以上に例示したスプール制御部１００内は、例えば、汎用のコンピュータにスプール制御部１００内の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）を制御するＨＤＤコントローラ、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。スプール制御部１００が実装されるコンピュータは、いずれかのＲＩＰ部３００内、又はプリンタ部４００内に内蔵されていてもよいし、それらとは別の装置として実装されてもよい。
【符号の説明】
【００７２】
１００  スプール制御部、１０２  書き込み制御部、１０４  読み出し制御部、１０６  ＲＩＰ性能測定部、１０８  プリンタ部転送性能測定部、１１０  印刷性能測定部、１１２  スプール方式制御部、１１４  ユーザ設定部、２００  ＨＤＤ、３００  ＲＩＰ部、４００  プリンタ部。
【図１】
2013200627.tif 000003
【図２】
2013200627.tif 000004
【図３】
2013200627.tif 000005
【図５】
2013200627.tif 000006
【図４】
2013200627.tif 000007