(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介してクライアント端末からの印刷スプールデータを受信して印刷用データに変換した後にプリンタへ転送する印刷制御装置において、
前記クライアント端末からの印刷スプールデータを受信して一時記憶する取込処理に並行して、当該印刷スプールデータを頁単位毎に分割すると共に、分割された頁データを順次蓄積する第１の制御手段と、
前記プリンタの印刷に要する所要印刷時間を取得し、この所要印刷時間をもとに当該プリンタへの次の頁の転送開始タイミングを設定する設定手段と、
前記第１の制御手段によって分割蓄積された頁データを前記設定された転送開始タイミングでプリンタへ転送する第２の制御手段と
を具備したことを特徴とする印刷制御装置。
【請求項２】
前記第２の制御手段は、前記分割蓄積された各頁データの頁数が予め決められている設定値に達した際に、前記設定された転送開始タイミングで、この設定頁数分の頁データをプリンタへ転送する
ことを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記第２の制御手段は、前記分割蓄積されて各頁データのデータ量が予め決められている設定値に達した際に、前記設定された転送開始タイミングで、この設定データ量分の頁データをプリンタへ転送する
ことを特徴とする請求項１記載の印刷制御装置。
【請求項４】
前記取込処理によって一時記憶した印刷スプールデータのうち、前記第１の制御手段によって分割蓄積されたデータに対応する部分を削除する
ことを特徴とする請求項１記載の印刷制御装置。
【請求項５】
コンピュータを、
前記クライアント端末からの印刷スプールデータを受信して一時記憶する取込処理に並行して、当該印刷スプールデータを頁単位毎に分割すると共に、分割された頁データを順次蓄積する第１の制御手段、
前記プリンタの印刷に要する所要印刷時間を取得し、この所要印刷時間をもとに当該プリンタへの次の頁の転送開始タイミングを設定する設定手段、
前記第１の制御手段によって分割蓄積された頁データを前記設定された転送開始タイミングでプリンタへ転送する第２の制御手段
として機能させるためのプログラム。
【請求項６】
通信ネットワークを介してクライアント端末からの印刷スプールデータを受信して印刷用データに変換した後にプリンタへ転送する印刷制御装置において、
前記プリンタの印刷に要する所要印刷時間を取得し、この所要印刷時間をもとに当該プリンタへの次の頁の転送開始タイミングを設定する設定手段と、
前記クライアント端末からの印刷スプールデータを受信して一時記憶する第１の制御手段と、
この第１の制御手段によって取り込んだ印刷スプールデータを頁単位毎にプリンタへ転送する毎に、前記設定手段により転送開始タイミングを決定する決定手段と、
この決定手段によって決定された転送開始タイミングに合わせて次の頁データをプリンタへ転送する第２の制御手段と
を具備したことを特徴とする印刷制御装置。
【請求項７】
前記設定手段は、クライアント端末から取り込んだ印刷スプールデータの一部の頁データをプリンタへ転送して印刷を開始させた後に当該プリンタから印刷完了の応答が有るまでの印刷所要時間と当該頁のデータ量とに基づいて印刷能力を算出設定する
ことを特徴とする請求項６記載の印刷制御装置。
【請求項８】
前記設定手段は、クライアント端末から取り込んだ印刷スプールデータの一部の頁データをプリンタへ転送して印刷を開始させた後に当該プリンタから印刷完了の応答が有るまでの印刷所要時間と当該頁のデータ量とに基づいて単位データ当たりの所要時間を現時点の印刷能力として算出設定し、前記決定手段は、各頁データをプリンタへ頁単位で転送する毎に、このデータ量と前記印刷能力とに基づいて次の頁データの転送開始タイミングを決定する
ことを特徴とする請求項６記載の印刷制御装置。
【請求項９】
コンピュータを、
前記プリンタの印刷に要する所要印刷時間を取得し、この所要印刷時間をもとに当該プリンタへの次の頁の転送開始タイミングを設定する設定手段、
前記クライアント端末からの印刷スプールデータを受信して一時記憶する第１の制御手段、
この第１の制御手段によって取り込んだ印刷スプールデータを頁単位毎にプリンタへ転送する毎に、前記設定手段により転送開始タイミングを決定する決定手段、
この決定手段によって決定された転送開始タイミングに合わせて次の頁データをプリンタへ転送する第２の制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、通信ネットワークを介してクライアント端末からの印刷対象データを受信してプリンタへ転送する印刷制御装置に関する。
【０００２】
【従来の技術】
従来、事務処理業務において、過剰な設備投資を抑制するためにも、ネットワークに接続されている複数のクライアント端末がプリンタを共有運用するようにしており、クライアント端末とプリンタとの間に設けられたプリンタサーバは、いずれかのクライアント端末によって作成された文書ファイル等を受信してプリンタへ転送するようにしている。
この場合、クライアント端末から送信されて来た印刷対象データを印刷スプールデータとして受信して一時記憶した後、この印刷スプールデータをプリンタへ頁単位毎に転送するスプール印刷方式を採用している。
図９は、従来のスプール印刷方式を説明する為の図であり、このスプール印刷方式は、全頁分の印刷スプールデータを全て受信し終わった後に、この印刷スプールデータを頁単位毎に読み出して印刷用データに変換し、プリンタへ転送するようにしている。
【０００３】
【発明が解決しようとする課題】
この種のスプール印刷方式は、全頁分の印刷対象データをスプールデータとして記憶保持するようにしている為、印刷エラー等の障害発生時でもスプールされているデータを読み出すだけで再印刷が可能となるというメリットを有している反面、全頁分のデータを全て受信し終わるまでプリンタへの転送が行われない為、頁数が多く印刷スプールデータが膨大であればあるほど、１頁目の印刷とその排紙がそれだけ遅くなってしまうという欠点があった。
また、膨大なスプールファイルが一時的にディスク上に作成されると、ディスクに負担をかけて印刷効率が悪くなり、更に、データ量が極端に多い場合には、そのディスク容量によっては、全頁分のデータをディスクに格納することができなくなり、印刷実行エラーとなる場合もあった。
一方、ネットワークやプリンタの混み具合等の様々な外的要因を受けて、ネットワークやプリンタが一時的に過負荷な状態となって印刷環境が悪くなる場合があるが、このような環境下でプリンタサーバが大量の印刷スプールデータをプリンタへ転送したとしても、印刷効率は更に悪化し、印刷時間が長くなり、システム全体にも大きな影響を与えてしまう。
【０００４】
第１の発明の課題は、クライアント端末からの印刷スプールデータが例え膨大なデータであっても、そのデータ量に影響されずに、データの受信開始直後に印刷動作をスタートさせることが可能な印刷制御を実現できるようにすることである。
第２の発明の課題は、クライアント端末からの印刷スプールデータをプリンタへ転送する場合に、外的要因に応じて変動する印刷環境の変化を現時点における印刷能力として取得し、この印刷能力を考慮した転送タイミングで印刷動作を制御できるようにすることである。
【０００５】
【課題を解決するための手段】
本発明の印刷制御装置は、通信ネットワークを介してクライアント端末からの印刷スプールデータを受信して印刷用データに変換した後にプリンタへ転送する印刷制御装置において、前記クライアント端末からの印刷スプールデータを受信して一時記憶する取込処理に並行して、当該印刷スプールデータを頁単位毎に分割すると共に、分割された頁データを順次蓄積する第１の制御手段と、前記プリンタの印刷に要する所要印刷時間を取得し、この所要印刷時間をもとに当該プリンタへの次の頁の転送開始タイミングを設定する設定手段と、前記第１の制御手段によって分割蓄積された頁データを前記設定された転送開始タイミングでプリンタへ転送する第２の制御手段と、を具備したことを特徴とする。
【００１５】
【発明の実施の形態】
（第１実施形態）
以下、図１〜図５を参照してこの発明の第１実施形態を説明する。
図１は、この実施形態における印刷制御システムの全体構成を示したブロック図である。
この印刷制御システムは、会社組織等に構築され、プリンタサーバ１を中核とするもので、このプリンタサーバ１には、複数台のクライアント端末２が通信ネットワーク網を介して接続されていると共に、１または２以上のプリンタ３が通信ネットワーク網を介して接続されているシステム環境となっている。
なお、クライアント端末２は、業務処理を行うパーソナルコンピュータ等であり、プリンタ３は、高品位印刷を行う熱転写やインクジェットなどのノンインパクトプリンタあるいはドットインパクトプリンタである。通信ネットワーク網は、有線ＬＡＮ、無線ＬＡＮを問わず、更に、構内通信システムに限らず、複数のＬＡＮを接続した広域通信ネットワークであってもよい。
【００１６】
プリンタサーバ１は、複数台のクライアント端末２が共同利用するプリンタ３を管理・制御するコンピュータシステムであり、クライアント端末２側で作成された文書データ等の印刷対象データを印刷スプールデータとして受信してスプールファイル（後述する）内に一時記憶させる取込処理を行うと共に、取り込んだ印刷スプールデータを印刷用データ（ドットデータ）に変換してプリンタ３へ転送し、そのプリンタバッファ内に格納させる展開出力処理を行う。
その際、プリンタサーバ１は、印刷スプールデータの取込処理に並行して、この印刷スプールデータを頁単位毎（この実施形態においては１頁毎）に分割する分割処理を実行すると共に、分割された頁データを頁ファイル（後述する）内に順次蓄積する他、この頁ファイル内に分割蓄積された各頁データを順次読み出して印刷用データに変換し、プリンタ３へ順次転送するようにしている。
【００１７】
なお、この実施形態の特徴部分を詳述する前に、プリンタサーバ１のハードウェア上の構成について以下、説明しておく。
図２は、プリンタサーバ１の基本的構成要素を示したブロック図である。
ＣＰＵ１１は、記憶装置１２内のオペレーティングシステムや各種アプリケーションソフトにしたがってこのプリンタサーバ１の全体動作を制御する中央演算処理装置である。記憶装置１２は、オペレーティングシステムや各種アプリケーションソフト、印刷用の文字フォントの他、上述したスプールファイルＳＰ、頁ファイルＰＧ等が記憶され、磁気的、光学的、半導体メモリ等やその駆動系によって構成されている。この記録装置１２はハードディスク等の固定的なメモリの他、ＣＤ−ＲＯ、ＤＶＤ等の着脱自在な記憶媒体を装着可能な構成であってもよい。この記憶装置１２内のプログラムやデータは、必要に応じてＲＡＭ（例えば、スタティックＲＡＭ）１３にロードされたり、ＲＡＭ１３内のデータが記憶装置１２にセーブされる。更に、ＣＰＵ１１は通信装置１４を介して他の電子機器のプログラム／データを直接アクセスして使用したり、他の電子機器から通信装置１４を介してダウンロード受信することもできる。
【００１８】
スプールファイルＳＰは、クライアント端末２からの印刷対象データが印刷スプールデータとして順次蓄えられるファイルであり、頁ファイルＰＧは、スプールファイルＳＰ内の印刷スプールデータが頁単位毎に分割されることによって得られた各頁データが頁順にしたがって順次蓄えられるファイルである。この場合、プリンタサーバ１は、スプールファイルＳＰへの取込中であっても頁ファイルＰＧへの蓄積処理を並行して行うようにしている。
【００１９】
プリンタサーバ１は、頁ファイルＰＧ内に分割蓄積された頁データをその頁順に順次読み出してプリンタ３へ転送する場合、頁ファイルＰＧ内に分割蓄積されたデータの頁数をカウントし、この蓄積頁数が予め決められている設定値（頁数）ＰＴに達したかを判別し、設定値ＰＴに達した場合に、この設定頁数分の頁データをプリンタ３へ順次転送するようにしている。
この設定値ＰＴは、ユーザが予め任意に入力設定した値であり、転送タイミング毎に、プリンタ３へどの程度の頁数を１度に転送させるかを示す分割出力頁数（プリンタへ出力する頁数単位）である。この場合、通常業務で取り扱われ各頁のデータ量や全頁分のデータ量およびプリンタ３の印刷速度にもよるが、設定値ＰＴとしては、例えば、１頁あるいは２〜３頁程度としている。
【００２０】
次に、この第１実施形態におけるプリンタサーバ１の動作アルゴリズムを図３および図４に示すフローチャートを参照して説明する。
ここで、これらのフローチャートに記述されている各機能は、読み取り可能なプログラムコードの形態で格納されており、このプログラムコードにしたがった動作を逐次実行する。また、伝送媒体を介して伝送されてきた上述のプログラムコードにしたがった動作を逐次実行することもできる。このことは後述する他の実施形態においても同様であり、記録媒体の他、伝送媒体を介して外部供給されたプログラム／データを利用してこの実施形態特有の動作を実行することもできる。
【００２１】
図３および図４は、プリンタサーバ１側の動作を示し、図３は、クライアント端末２からの印刷対象データを印刷スプールデータとして受信して取り込む処理を示したフローチャートであり、図４は、この取得処理に並行して印刷スプールデータを展開出力する処理を示したフローチャートである。
先ず、プリンタサーバ１は、データの受信待ち状態において、いずれかのクライアント端末２から送信されて来た印刷スプールデータを受信すると（ステップＡ１）、この印刷スプールデータをスプールファイルＳＰに順次蓄積する取込処理を開始する（ステップＡ２）。以下、クライアント端末２からの印刷スプールデータを全頁分受信し終わるまで上述の動作を繰り返す（ステップＡ１〜Ａ３）。
【００２２】
このような印刷スプールデータの取込処理に並行して、プリンタサーバ１は、スプールファイルＳＰ内にデータが有るかを監視しており（図４のステップＢ１）、印刷スプールデータが有れば、スプールファイルＳＰの先頭から１頁分のデータを即座に読み出すと共に（ステップＢ２）、頁ファイルＰＧをアクセスし、この頁ファイルＰＧ内に分割蓄積されているデータの頁数をカウントし、この蓄積頁数と予め設定されている設定値ＰＴとを比較し、蓄積頁数が設定値ＰＴに達したかを判別する（ステップＢ３）。
【００２３】
いま、スプールファイルＳＰから１頁目のデータを読み出した最初の時点では、頁ファイルＰＧは空状態となっているので、そのことがステップＢ３で検出されてステップＢ６に移り、スプールファイルＳＰから読み出した１頁目のデータを頁ファイルＰＧに書き込むと共に、この頁ファイルＰＧに書き込んだデータに対応するスプールファイルＳＰ内の１頁分のデータ、この場合、１頁目のデータをスプールファイルＳＰから削除する（ステップＢ７）。
【００２４】
次に、スプールファイルＳＰ内に次頁のデータが有るかを調べるが（ステップＢ８）、いま、印刷スプールデータが１頁だけのデータであれば、ステップＢ１０に移り、頁ファイルＰＧ内から頁データを読み出して印刷用データに変換した後、プリンタ３へ転送する処理を行う。
一方、スプールファイルＳＰ内に２頁目以降のデータが有れば（ステップＢ８）、スプールファイルＳＰから次頁データを読み出し（ステップＢ９）、以下、ステップＢ３に戻り、上述の動作を繰り返す。
このようにプリンタサーバ１は、印刷スプールデータの取込処理に並行して印刷スプールデータを頁単位毎に分割して頁ファイルＰＧへ順次蓄積する処理を行う。
【００２５】
この結果、頁ファイルＰＧに蓄積された蓄積頁数が設定値ＰＴに達した場合には（ステップＢ３）、スプールファイルＳＰ内に分割蓄積されている全頁数分のデータを順次読み出して印刷用データに変換し、プリンタへ転送した後（ステップＢ４）、頁ファイルＰＧの内容（転送済みのデータ）を全てクリアする（ステップＢ５）。
以下、同様に、設定値ＰＴに相当する頁数分のデータが頁ファイルＰＧに分割蓄積される毎に、頁ファイルＰＧ内の全頁データを読み出して印刷用データに変換した後、プリンタ３へ転送する処理が行われる。この場合、設定値ＰＴが例えば、「２」であれば、２頁毎にプリンタ３への転送が行われる。
これによって、スプールファイルＳＰの全頁分のデータが頁ファイルＰＧに分割蓄積された場合には（ステップＢ８）、頁ファイルＰＧに残っている未印刷の頁データをプリンタ３へ転送する（ステップＢ１０）。
【００２６】
以上のように、この第１実施形態においてプリンタサーバ１は、印刷スプールデータの取込処理に並行して印刷スプールデータを頁単位毎に分割して頁ファイルＰＧへ順次蓄積すると共に、分割蓄積された頁ファイルＰＧ内の各頁データをプリンタ３へ順次転送するようにしたから、クライアント端末２からの印刷スプールデータが膨大なデータであっても、そのデータ量に影響されずに、印刷スプールデータの受信を開始した直後、つまり、図５に示す場合には、２頁目のデータの受信を完了した後に、印刷動作をスタートさせることができる。
したがって、全頁分のデータを全て受信し終わった後にプリンタへ頁単位毎に転送する従来のスプール印刷方式（図９参照）に比べ、印刷スプールデータ量に拘らず、その先頭頁および２頁目の印刷とその排紙を素早く行うことが可能となり、ユーザにあっては先頭頁および２頁目の印刷結果を即座に入手することができ、また、印刷スプールデータが膨大あればある程、そのデータを受信してから全頁分の印刷が完了するまでの時間を短縮することが可能となり、効率の良い印刷制御を実現することが可能となる。
【００２７】
この場合、プリンタサーバ１は、頁ファイルＰＧに分割蓄積されているデータの頁数が予め決められている設定値ＰＴに達する毎に、この設定頁数分の各頁データ、図５の例では２頁分のデータをプリンタ３へ順次転送するようにしたから、クライアント端末３からの印刷スプールデータが膨大であっても、ネットワークを介してプリンタ３へ転送するデータ転送頁数を最適なものとすることができ、ネットワークやプリンタへの負荷を軽減することが可能となる。すなわち、システム内に存在する印刷速度の遅いプリンタに対して大量のデータを１度に送信すると、プリンタにかかる負荷が増大するが、転送頁数は、設定頁数分のデータである為に、プリンタへの負荷を軽減することができる。
【００２８】
また、頁ファイルＰＧ内に蓄積したデータをスプールファイルＳＰから削除するようにしたから、印刷スプールデータが膨大であっても、スプールファイルＳＰの過負荷に伴う印刷実行エラーの発生や印刷効率の悪化を防止することができ、スプール量を最適な状態に維持することが可能となる。
更に、印刷スプールデータの取込処理に並行して頁ファイルＰＧへの蓄積処理を行った後に、そのデータをスプールファイルＳＰから削除すると共に、頁ファイルＰＧに蓄積された頁データをプリンタ３へ転送した後に、頁ファイルＰＧの内容をクリアするようにしたから、スプールファイルＳＰや頁ファイルＰＧは小容量で足りる。
【００２９】
なお、上述した第１実施形態においては、印刷スプールデータの取込処理に並行して、印刷スプールデータを１頁毎に分割して頁ファイルＰＧへ順次蓄積するようにしたが、１頁分のデータ量にもよるが、この分割単位は任意であり、複数頁毎（例えば、２頁毎）に分割して頁ファイルＰＧへ順次蓄積するようにしてもよい。
また、上述した第１実施形態においては、頁ファイルＰＧに分割蓄積されているデータの頁数が予め決められている設定値ＰＴに達する毎に、この設定頁数分の各頁データをプリンタ３へ順次転送するようにしたが、この設定値は、頁数に限らず、データ量であってもよい。
すなわち、頁ファイルＰＧ内に分割蓄積されているデータ量が予め決められている設定値に達した際のタイミングで、この設定データ量分の各分割データをプリンタへ順次転送するようにしてもよい。この場合、上述した図３および図４のフローチャートで示した処理と基本的には同様の処理によって実現可能である。
【００３０】
つまり、図４のステップＢ３に変えて、頁ファイルＰＧに分割蓄積されているデータ量が予め決められている設定値（データ量）に達したかを判断する判断ステップを設けるだけで容易に実現することができる。
このように設定値をデータ量とすることによって１頁分のデータが極端に膨大な場合や写真等のイメージ画像のような場合でも、ネットワークを介してプリンタ３へ転送するデータ転送量を最適なものとすることができ、ネットワークやプリンタへの負荷を軽減することが可能となる。
【００３１】
更に、設定値ＰＴに基づいてプリンタ３へ転送するデータ単位としては、頁数とデータ量とを組み合わせたものであってもよい。
すなわち、頁ファイルＰＧに分割蓄積されているデータが予め決められている設定データ量に達した場合には、この設定データ量分の頁データをプリンタ３へ転送し、また、設定データ量未満の場合でも、頁ファイルＰＧに分割蓄積されているデータ予め決められている設定頁数に達した場合には、この設定頁数分の頁データをプリンタ３へ転送するようにしてもよい。
逆に、頁ファイルＰＧに分割蓄積されているデータが予め決められている設定頁数に達した場合には、この設定頁数分の頁データをプリンタ３へ転送し、また、設定頁数未満の場合でも、頁ファイルＰＧに分割蓄積されているデータ予め決められている設定データ量に達した場合には、この設定データ量の頁データをプリンタ３へ転送するようにしてもよい。
【００３２】
これによって、データ量が少ない頁データであっても、その蓄積量が設定データ量になるまで待つ必要はなく、逆に、データ量が多い頁データの場合、その蓄積頁数が設定頁数になるまで待つ必要はなく、設定頁数に達した時点あるいは設定データ量に達した時点でプリンタへの転送が可能となる為に、効率の良い印刷制御が可能となる他、設定値として頁数あるいはデータ量の何れかを任意に選択指定することができるので、実際に取り扱うデータやプリンタ性能等に即した運用が可能となる。
【００３３】
一方、コンピュータに対して、上述した各手段を実行させるためのプログラムコードをそれぞれ記録した記録媒体（例えば、ＣＤ−ＲＯＭ、フロッピィデスク、ＲＡＭカード等）を提供するようにしてもよい。
すなわち、コンピュータが読み取り可能なプログラムコードを有する記録媒体であって、クライアント端末からの印刷対象データを印刷スプールデータとして受信して一時記憶する取込処理に並行して、当該印刷スプールデータを頁単位毎に分割すると共に、分割された頁データを順次蓄積する機能と、分割蓄積された各頁データを所定のタイミングでプリンタへ順次転送する機能とを実現させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体を提供するようにしてもよい。
【００３４】
（第２実施形態）
以下、この発明の第２実施形態について図６〜図８を参照して説明する。
この第２実施形態は、クライアント端末２からの印刷スプールデータを印刷用データに変換して頁単位毎にプリンタ３へ転送する場合において、外的要因に応じて変動する印刷環境の変化を現時点における印刷能力として取得すると共に、クライアント端末２から取り込んだ印刷スプールデータを頁単位毎にプリンタ３へ転送する毎に、次の頁データの転送開始タイミングを印刷能力に基づいて決定するするようにしたものである。
すなわち、ネットワークやプリンタの混み具合等の外的要因を受けて、ネットワークやプリンタが一時的に過負荷な状態となって印刷環境が悪くなる場合があるので、現時点における印刷環境を印刷能力として取得し、この印刷能力に基づいて次の頁データの転送開始タイミングを決定するするようにしたものである。
ここで、両実施形態において基本的に同一のものは、同一符号を付して示し、その説明を省略する他、以下、第2実施形態の特徴部分を中心に説明するものとする。
【００３５】
図６は、この第２実施形態の動作概要を説明する為の図である。
この第２実施形態においても、上述した第１実施形態と同様に、プリンタサーバ１は、クライアント端末２からの印刷スプールデータを受信してスプールファイルＳＰ内に一時記憶する取込処理と共に、この取込処理に並行して、この印刷スプールデータを頁単位毎に分割して頁ファイルＰＧに順次蓄積する処理を行う。この場合、頁ファイルＰＧ内のデータを１頁毎に読み出して印刷用データに変換してプリンタ３へ転送するようにしている。
【００３６】
頁ファイルＰＧ内のデータをプリンタ３へ転送する際に、ネットワークやプリンタが一時的に過負荷な状態となって印刷環境が極端に悪くなる場合があるので、プリンタサーバ１は、このような外的要因に応じて変動する印刷環境の変化を現時点における印刷能力として取得するようにしている。そして、頁ファイルＰＧ内の頁データをプリンタ３へ１頁毎に転送する毎に、プリンタサーバ１は、次の頁データの転送開始タイミングを上述の「印刷能力」を参照して決定し、この転送開始タイミングに合わせて次の頁データを１頁ずつプリンタ３へ転送するようにしている。
【００３７】
ここで、「印刷能力」は、印刷スプールデータの１頁目をプリンタ３へ転送して印刷を開始させた後に、このプリンタ３から印刷完了の応答が有るまでの印刷所要時間と、１頁目のデータ量とに基づいて算出されるもので、「所要印刷時間／データ量」である。
また、各頁データをプリンタ３へ転送する毎に決定する「転送開始タイミング」は、今回転送すべき頁のデータ量と上述の印刷能力とに基づいて決定し、この転送開始タイミングに合わせて、つまり、今回の印刷が完了するまで待って次の頁データをプリンタ３へ転送するようにしている。
【００３８】
図７および図８は、この第２実施形態における動作（展開出力処理）を示したフローチャートである。この場合、プリンタサーバ１は、上述した図３のフローチャートにしたがって印刷スプールデータを受信してスプールファイルＳＰへ一時記憶する取込処理に並行して、図７および図８のフローチャートにしたがった展開出力処理を実行するようにしている。
先ず、プリンタサーバ１は、スプールファイルＳＰをアクセスし、印刷スプールデータがこのファイルＳＰ内に蓄積されているか、つまり、印刷スプールデータの取込処理が開始されたかをチェックする（図７のステップＣ１）。なお、印刷スプールデータの取込処理が開始されるまでは待機状態となっている。
【００３９】
ここで、印刷スプールデータの取込処理が開始されると、プリンタサーバ１は、この取込処理に並行して、スプールファイルＳＰから１頁目のデータを読み出し（ステップＣ２）、この頁データを頁ファイルＰＧに書き込むと共に（ステップＣ３）、この頁データを印刷用データに変換してプリンタ３へ転送する（ステップＣ４）。
その後、プリンタ３からの印刷完了通知の受信待ち状態となる（ステップＣ５）。この場合、プリンタサーバ１は、１頁目のデータをプリンタ３へ転送し始めてから印刷完了通知を受取るまでの経過時間を計測している。
ここで、プリンタ３側においては、１頁目のデータ印刷が終了した時点で印刷完了通知をプリンタサーバ１に対して送信する。
【００４０】
プリンタサーバ１は、プリンタ３から印刷完了通知を受取ると（ステップＣ５）、１頁目のデータをプリンタ３へ転送し始めてから印刷完了通知を受取るまでの経過時間を１頁目の印刷に要した所要印刷時間として取得すると共に（ステップＣ６）、この１頁目のデータ量（例えば、バイト単位）を算出取得する（ステップＣ７）。
そして、この１頁目のデータに対して「所要印刷時間／データ量」の計算（最適単位計算）を実行することによって、単位データ量当たりの所要印刷時間を現時点における「印刷能力ＣＡ」として算出取得する（ステップＣ８）。
次に、プリンタサーバ１は、頁ファイルＰＧから印刷済みのデータ（この場合、１頁目のデータ）を削除した後（ステップＣ９）、スプールファイルＳＰより次頁データを読み出して（ステップＣ１０）、頁ファイルＰＧに書き込む（ステップＣ１１）。
【００４１】
次に、図８のステップＣ１２に移り、頁ファイルＰＧ内の頁データを古い順（頁順）に１頁分のデータを読み出し、この頁データを印刷用データに変換してプリンタ３へ転送する。そして、プリンタサーバ１は、今回、プリンタ３へ転送した１頁分のデータ量を算出取得すると共に、現在のシステム日時を取得し（ステップＣ１３）、これに基づいて「現在のシステム日時＋データ量＊印刷能力ＣＡ」の計算を実行することによって、今回の印刷完了予測時刻を求め、この印刷完了予測時刻を次の頁データの「転送開始タイミングＮＴ」として算出取得する（ステップＣ１４）。
【００４２】
いま、２頁目のデータをプリンタ３へ転送した場合であるから、今回の印刷完了予測時刻は、２頁目の完了予測時刻であり、転送開始タイミングＮＴは、３頁の開始タイミングとなる。
そして、プリンタサーバ１は、頁ファイルＰＧから印刷済みの１頁目のデータ（不要データ）を削除した後に（ステップＣ１５）、スプールファイルＳＰ内に次の頁データが有れば、この頁データを読み出して（ステップＣ１６）、頁ファイルＰＧへ書き込む（ステップＣ１７）。
【００４３】
次に、プリンタサーバ１は、現在のシステム日時を取得し、この現在日時と今回の印刷完了予測時刻（次頁の転送開始タイミングＮＴ）とを比較し、転送開始タイミングＮＴに達したかをチェックする（ステップＣ１８）。ここで、転送開始タイミングＮＴの到達前、つまり、印刷中であれば、スプールファイルＳＰ内に次頁データが有ることを条件に（ステップＣ１９）、スプールファイルＳＰより次頁データを読み出し（ステップＣ１６）、今回の印刷が完了するまでの間、スプールファイルＳＰから順次読み出した頁データを頁ファイルＰＧに蓄積する先取り処理を繰り返す（ステップＣ１７）。
【００４４】
このように印刷スプールデータを１頁ずつ頁ファイルＰＧに先取りしている過程において、次頁の転送開始タイミングＮＴに達したことが検出された場合には（ステップＣ１８）、プリンタサーバ１は、頁ファイルＰＧ内の頁データを古い順に１頁分読み出して印刷用データに変換し、プリンタ３へ転送する（ステップＣ１２）。以下、スプールファイルＳＰ内の全頁データを頁ファイルＰＧに蓄積し終わるまで上述の動作を繰り返す。
【００４５】
これによって、スプールファイルＳＰ内の全頁データを頁ファイルＰＧに蓄積し終わった場合には（ステップＣ１９）、この頁ファイルＰＧ内に未印刷の頁データが残っていることを条件として（ステップＣ２０）、プリンタサーバ１は、頁ファイルＰＧから１頁ずつデータを読み出してプリンタ３へ転送する処理に移るが、この場合、現在のシステム日時を取得し、この現在日時と今回の印刷完了予測時刻（次頁の転送開始タイミングＮＴ）とを比較し、転送開始タイミングＮＴに達するまで待機状態となる（ステップＣ２１）。
いま、転送開始タイミングＮＴに到達した場合には、頁ファイルＰＧ内の頁データを古い順に１頁分読み出して印刷用データに変換してプリンタ３へ転送する（ステップＣ２２）。
【００４６】
そして、プリンタサーバ１は、今回プリンタ３へ転送した１頁分のデータ量を取得すると共に、現在のシステム日時を取得し（ステップＣ２３）、「現在のシステム日時＋データ量＊印刷能力ＣＡ」の計算を実行することによって、今回の印刷完了予測時刻を求め、この印刷完了予測時刻を次の頁データの「転送開始タイミングＮＴ」として算出取得する（ステップＣ２４）。以下、頁ファイルＰＧから印刷済みの１頁目のデータを削除した後（ステップＣ２５）、頁ファイルＰＧ内に未印刷の頁データが残っているかをチェックし（ステップＣ２０）、未印刷頁が有れば、転送開始タイミングＮＴに到達する毎に（ステップＣ２１）、頁ファイルＰＧから１頁ずつデータを読み出してプリンタ３へ転送する処理を繰り返す。
【００４７】
以上のように、この第２実施形態においてプリンタサーバ１は、印刷スプールデータの取込処理に並行して印刷スプールデータを頁単位毎に頁ファイルＰＧへ順次蓄積すると共に、外的要因に応じて変動する印刷環境の変化を現時点における印刷能力ＣＡとして取得し、頁ファイルＰＧ内の頁データをプリンタ３へ順次転送する毎に、次の頁データの転送開始タイミングＮＴを印刷能力ＣＡに基づいて決定し、この転送開始タイミングＮＴに合わせて次の頁データをプリンタ３へ転送するようにしたから、転送開始タイミングＮＴは、現時点における印刷能力ＣＡに合わせて動的に変化するものとなり、ネットワークやプリンタが一時的に過負荷な状態にある時でも最適なタイミングでの印刷制御を実現することができ、システム全体に悪影響を与えることなく、効率の良い印刷制御が可能となる。
【００４８】
この場合、１頁目のデータをプリンタ３へ転送して印刷を開始させた後にプリンタ３から印刷完了の応答が有るまでの印刷所要時間と１頁目のデータ量とに基づいて印刷能力ＣＡを算出取得するようにしたから、印刷する毎に現在のネットワークやプリンタ状態に合った的確な印刷能力ＣＡを得ることができ、また、ダミーデータを使うのではなく、実際のデータを使って印刷能力ＣＡを得るようにしている為、無駄な印刷とはならず、用紙や時間を節約することができる。
また、頁データをプリンタ３へ頁単位で転送する毎に、この頁のデータ量と印刷能力ＣＡとに基づいて次の頁データの転送開始タイミングＮＴを決定するようにしたから、頁データをプリンタ３へ転送する毎に、次の頁データの転送開始タイミングＮＴとして、現時点における印刷能力ＣＡと今回の印刷データ量とを考慮した的確なタイミングを得ることができる。
【００４９】
なお、上述した第２実施形態は、印刷スプールデータをプリンタ３へ頁単位毎に転送する場合に、頁単位を１頁とした場合を例示したが、複数頁を頁単位としてもよい。
また、上述した第２実施形態は、１頁目のデータをプリンタ３へ転送して現時点の印刷能力ＣＡを算出取得するようにしたが、頁数が膨大な場合には、その印刷途中においても印刷能力ＣＡを算出取得するようにしてもよい。勿論、印刷スプールデータを頁単位毎に転送する毎に、その時の印刷能力ＣＡを算出取得するようにしてもよい。
【００５０】
また、上述した第２実施形態においてプリンタサーバ１は、印刷スプールデータを受信してスプールファイルＳＰ内に一時記憶する取込処理に並行して、この印刷スプールデータを頁毎に分割して頁ファイルＰＧに順次蓄積する処理を行うようにしたが、図９に示した従来のスプール印刷方式にも適用可能であり、全頁分の印刷対象データをスプールデータとして一時記憶した後に、第２実施形態特有の印刷制御を行うようにしてもよい。
【００５１】
一方、第１実施形態においては、設定値ＰＴをユーザ自身が任意に入力設定するようにしたが、上述した第２実施形態で示したように、外的要因に応じて変動する印刷環境の変化を現時点における印刷能力として取得し、この現時点における印刷能力に基づいて最適な設定値ＰＴを自動決定するようにしてもよい。
すなわち、１頁目のデータに対して、「所要印刷時間／データ量」の計算（最適単位計算）を実行することによって、単位データ量当たりの所要印刷時間を現時点における印刷能力として算出し、この印刷能力に基づいて最適な設定値ＰＴを算出するようにすれば、ネットワークを介してプリンタへ転送するデータ転送頁数を最適なものとすることができ、ネットワークやプリンタへの負荷を軽減することが可能となる。
このことは、設定値ＰＴをデータ量とした第１実施形態の変形例においても同様であり、現時点における印刷能力に基づいて最適な設定値ＰＴを自動決定するようにしてもよい。
【００５２】
更に、上述した第１および第２実施形態においてプリンタサーバ１は、スプールファイルＳＰから読み出した頁データを頁ファイルＰＧに書き込んだ後、頁ファイルＰＧに蓄積されている頁データを印刷用データに変換してプリンタ３へ転送するようにしたが、印刷用データへの変換をどの時点で行うかは任意であり、例えば、スプールファイルＳＰから読み出した頁データを印刷用データに変換して頁ファイルＰＧに書き込むようにしてもよく、また、プリンタ３側に印刷用データの変換処理を委ねるようにしてもよい。
【００５３】
一方、コンピュータに対して、上述した各手段を実行させるためのプログラムコードをそれぞれ記録した記録媒体（例えば、ＣＤ−ＲＯＭ、フロッピィデスク、ＲＡＭカード等）を提供するようにしてもよい。
すなわち、コンピュータが読み取り可能なプログラムコードを有する記録媒体であって、外的要因に応じて変動する印刷環境の変化を現時点における印刷能力として取得する機能と、クライアント端末からの印刷対象データを印刷スプールデータとして受信して一時記憶させる機能と、クライアント端末から取り込んだ印刷スプールデータを頁単位毎にプリンタへ転送する毎に、次の頁データの転送開始タイミングを前記印刷能力に基づいて決定する機能と、決定された転送開始タイミングに合わせて次の頁データをプリンタへ転送する機能とを実現させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体を提供するようにしてもよい。
【００５４】
【発明の効果】
本発明によれば、クライアント端末からの印刷スプールデータを受信して一時記憶する取込処理に並行して、当該印刷スプールデータを頁単位毎に分割すると共に、分割された頁データをプリンタへ順次転送するようにしたから、クライアント端末からの印刷スプールデータが膨大であっても、そのデータ量に拘らず、その受信を開始した直後に印刷動作をスタートさせることができ、全頁分のデータを全て受信し終わった後にプリンタへ頁単位毎に転送する従来のスプール印刷方式に比べて、先頭頁の印刷とその排紙を素早く行うことが可能となり、ユーザにあっては先頭頁を即座に入手することができ、更に、前記プリンタの印刷に要する所要印刷時間を取得し、この所要印刷時間をもとに当該プリンタへの次の頁の転送開始タイミングを決定しているので、各プリンタの現時点における印刷能力に合わせた印刷制御を実現することができ、ネットワークやプリンタが一時的に過負荷な状態にある時でもシステム全体に悪影響を与えることなく、効率の良い印刷制御が可能となる。
【図面の簡単な説明】
【図１】印刷制御システムの全体構成を示したブロック図。
【図２】プリンタサーバ１の基本的構成要素を示したブロック図。
【図３】クライアント端末２からの印刷対象データを印刷スプールデータとして受信して取り込む処理を示したフローチャート。
【図４】図３の取得処理に並行して印刷スプールデータを展開出力する処理を示したフローチャート。
【図５】第１実施形態におけるプリンタサーバ１の動作概要を説明する為の図。
【図６】第２実施形態におけるプリンタサーバ１の動作概要を説明する為の図。
【図７】第２実施形態において、プリンタサーバ１は、図３で示した印刷スプールデータの取込処理に並行して実行される展開出力処理を示したフローチャート。
【図８】図７に続く、展開出力処理を示したフローチャート。
【図９】従来のスプール印刷方式を説明する為の図。
【符号の説明】
１  プリンタサーバ
２  クライアント端末
３  プリンタ
ＳＰ  スプールファイル
ＰＧ  頁ファイル
ＣＡ  印刷能力
ＮＴ  転送開始タイミング
１１  ＣＰＵ
１２  記憶装置
１４  通信装置
【図１】
0004010139.tif 000002
【図２】
0004010139.tif 000003
【図３】
0004010139.tif 000004
【図４】
0004010139.tif 000005
【図５】
0004010139.tif 000006
【図６】
0004010139.tif 000007
【図７】
0004010139.tif 000008
【図８】
0004010139.tif 000009
【図９】
0004010139.tif 000010