(57)【要約】【課題】プリンタコントローラやプリンタのメモリ容量が足りない場合においても印刷処理を続行させるための制御技術を提供することを課題とする。【解決手段】ＰＣ１は、プリントデータを作成（ステップＳ１１）した後、プリンタコントローラ２に対してメモリ残量の問い合わせを行う（ステップＳ１２）。そして、プリンタコントローラ２のメモリにプリントデータを格納するだけの容量が空いていないと判断した場合（ステップＳ１３でＮＯ）には、印刷処理を中止することなく、プリントデータをスプーラ１３に保持したまま、処理を継続する。そして、プリンタコントローラ２のメモリ容量が空いた時点で、プリントデータをプリンタコントローラ２に転送する（ステップＳ１４）。【選択図】図２
2008033390.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを生成する手段と、
印刷装置に代わりレンダリング処理を実行するプリンタコントローラに対して、コントローラ記憶部の残量を問い合わせる手段と、
前記コントローラ記憶部に前記印刷データを蓄積する空き容量がない場合には、空き容量が確保されるまで前記印刷データを保持する手段と、
を備えることを特徴とする端末。
【請求項２】
端末から出力された印刷データを入力する手段と、
前記印刷データに含まれる印刷コマンドに従ってレンダリング処理を行い、イメージデータを生成する手段と、
前記イメージデータを印刷処理する印刷装置に対して、印刷装置本体記憶部の残量を問い合わせる手段と、
前記印刷装置本体記憶部に前記イメージデータを蓄積する空き容量がない場合には、空き容量が確保されるまで前記イメージデータを保持する手段と、
を備えることを特徴とするプリンタコントローラ。
【請求項３】
印刷データを出力する端末と、
前記端末から出力された前記印刷データに従いレンダリング処理を実行するプリンタコントローラと、
前記プリンタコントローラによりレンダリングされたイメージデータの印刷処理を実行する印刷装置と、
を備え、
前記端末は、
前記プリンタコントローラに対してコントローラ記憶部の残量を問い合わせる手段と、
前記コントローラ記憶部に前記印刷データを蓄積する空き容量がない場合には、空き容量が確保されるまで前記印刷データを保持する手段と、
を含むことを特徴とする印刷システム。
【請求項４】
請求項３に記載の印刷システムにおいて、
前記プリンタコントローラは、
前記印刷装置に対して印刷装置本体記憶部の残量を問い合わせる手段と、
前記印刷装置本体記憶部に前記イメージデータを蓄積する空き容量がない場合には、空き容量が確保されるまで前記イメージデータを保持する手段と、
を含むことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおける印刷制御技術に関する。
【背景技術】
【０００２】
パソコンなどのクライアント端末は、プリンタに対して印刷データを出力することで、プリンタに印刷処理を実行させることができる。そして、この印刷処理を実行させるために、パソコンにはプリンタドライバがインストールされている。
【０００３】
パソコンにおいて作成された文書データなどは、プリンタドライバによって印刷データに変換され、その印刷データがプリンタに出力される。プリンタは、印刷データを受け取ると、その印刷データに含まれる印刷コマンドを処理して印刷処理を実行する。
【０００４】
また、最近では、プリンタにおける処理負荷を軽減させるために、プリンタに代わってレンダリング処理を実行するプリンタコントローラが利用されている。パソコンから出力された印刷データは、一旦、プリンタコントローラに渡される。プリンタコントローラは、印刷データに従い、レンダリング処理を実行する。そして、レンダリング処理後のイメージデータがプリンタ本体に渡され、プリンタにより印刷処理が実行されるのである。
【０００５】
【特許文献１】特開２００３−２１６３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のように、プリンタコントローラを利用することで、プリンタの処理負荷を軽減させることが可能であり、プリンタのパフォーマンスを向上させることができる。しかし、パソコンから大量の印刷データが出力された場合、プリンタコントローラのメモリに印刷データが格納できない場合が発生する。このような場合、プリンタドライバは、印刷処理を中止する制御を行っていた。
【０００７】
また、プリンタコントローラのメモリ容量は充分に残っているが、プリンタ本体のメモリ容量が足りない場合も発生する。このような場合には、プリンタコントローラがイメージデータを出力することができないため、やはり印刷を中止する制御が行われていた。
【０００８】
上記特許文献１は印刷システムに関するものである。コンピュータから印刷命令データを受け取った印刷装置は、印刷命令データを中間言語データに変換する。このとき、印刷装置の記憶部の空き容量が少なく、中間言語データを格納できない場合には、この印刷装置は、圧縮印刷のモードに移行するよう制御されている。
【０００９】
そこで、本発明は前記問題点に鑑み、プリンタコントローラやプリンタのメモリ容量が足りない場合においても印刷処理を続行させるための制御技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、請求項１記載の発明は、印刷データを生成する手段と、印刷装置に代わりレンダリング処理を実行するプリンタコントローラに対して、コントローラ記憶部の残量を問い合わせる手段と、前記コントローラ記憶部に前記印刷データを蓄積する空き容量がない場合には、空き容量が確保されるまで前記印刷データを保持する手段と、を備えることを特徴とする。
【００１１】
請求項２記載の発明は、端末から出力された印刷データを入力する手段と、前記印刷データに含まれる印刷コマンドに従ってレンダリング処理を行い、イメージデータを生成する手段と、前記イメージデータを印刷処理する印刷装置に対して、印刷装置本体記憶部の残量を問い合わせる手段と、前記印刷装置本体記憶部に前記イメージデータを蓄積する空き容量がない場合には、空き容量が確保されるまで前記イメージデータを保持する手段と、を備えることを特徴とする。
【００１２】
請求項３記載の発明は、印刷データを出力する端末と、前記端末から出力された前記印刷データに従いレンダリング処理を実行するプリンタコントローラと、前記プリンタコントローラによりレンダリングされたイメージデータの印刷処理を実行する印刷装置と、を備え、前記端末は、前記プリンタコントローラに対してコントローラ記憶部の残量を問い合わせる手段と、前記コントローラ記憶部に前記印刷データを蓄積する空き容量がない場合には、空き容量が確保されるまで前記印刷データを保持する手段と、を含むことを特徴とする。
【００１３】
請求項４記載の発明は、請求項３に記載の印刷システムにおいて、前記プリンタコントローラは、前記印刷装置に対して印刷装置本体記憶部の残量を問い合わせる手段と、前記印刷装置本体記憶部に前記イメージデータを蓄積する空き容量がない場合には、空き容量が確保されるまで前記イメージデータを保持する手段と、を含むことを特徴とする。
【発明の効果】
【００１４】
本発明の端末は、プリンタコントローラに対してメモリ残量を問い合わせ、印刷データを蓄積する空き容量がない場合には、空き容量が確保されるまで印刷データを保持する。プリンタコントローラのメモリ残量が足りない場合でも、印刷処理が中止されることなく、処理を継続させることが可能である。
【００１５】
また、本発明のプリンタコントローラは、印刷装置に対してメモリ残量を問い合わせ、イメージデータを蓄積する空き容量がない場合には、空き容量が確保されるまで、イメージデータを保持する。印刷装置本体のメモリ残量が足りない場合であっても、プリンタコントローラのメモリに余裕がある場合には、印刷処理を継続させることが可能である。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、本実施の形態に係る印刷システムの全体図である。この印刷システムは、パーソナルコンピュータ（以下、ＰＣとする。）１と、プリンタコントローラ２と、デジタル複合機３とを備えて構成されている。
【００１７】
ＰＣ１とプリンタコントローラ２との間のインタフェース（ＩＦ）は、一般には、ＬＡＮなどのネットワークで構成される。ただし、ＰＣ１とプリンタコントローラ２とが他のインタフェースで接続されていてもよい。
【００１８】
また、図１においては、プリンタコントローラ２とデジタル複合機３とを別のブロックで表しているが、プリンタコントローラ２は、デジタル複合機３に内装される形態であってもよい。たとえば、プリンタコントローラ２がオプションボードとして構成され、このオプションボードをデジタル複合機３内のオプションスロットに挿入する形態であってもよい。この場合には、実際には、ＰＣ１から出力された印刷データは、一旦、デジタル複合機３のネットワークインタフェースを介してデジタル複合機３で受信され、デジタル複合機３の本体メインボードを介して、プリンタコントローラ２に印刷データが転送されることになる。
【００１９】
プリンタコントローラ２がデジタル複合機３に内装されている場合には、プリンタコントローラ２とデジタル複合機３との間のインタフェースは、ボード間を接続するバスで構成される。ただし、プリンタコントローラ２は、デジタル複合機３に内装されていない構成でもよく、その間のインタフェースは特に限定されるものではない。
【００２０】
ＰＣ１には、アプリケーションプログラム１１とプリンタドライバ１２がインストールされている。また、ＰＣ１は、プリンタドライバ１２が生成した印刷データをスプールするスプーラ１３と、プリンタコントローラ２およびデジタル複合機３と通信を行い、印刷制御情報の送受信を行うポートモニタ１４とを備えている。
【００２１】
プリンタコントローラ２は、メモリ２１、コマンド解析部２２、レンダリング部２３、符号化部２４、メモリ２５を備えている。
【００２２】
メモリ２１は、プリンタドライバ１２より生成された印刷データを格納する記憶部である。コマンド解析部２２は、メモリ２１に格納された印刷データに含まれる印刷コマンドを解析する処理部である。レンダリング部２３は、コマンド解析部２２において解析された印刷コマンドに従って、レンダリング処理を実行する処理部である。レンダリング処理により、印刷データはイメージデータに変換される。符号化部２４は、イメージデータを圧縮符号化する処理部である。メモリ２５は、符号化部２４において圧縮符号化されたイメージデータをバッファする記憶部である。
【００２３】
デジタル複合機３は、メモリ３１と印刷処理部３２を備えている。メモリ３１は、プリンタコントローラ２から出力された符号化イメージデータを格納する記憶部である。印刷処理部３２は、メモリ３１に格納されている符号化イメージデータを復号化し、印刷処理を実行する処理部である。
【００２４】
なお、本実施の形態においては、プリンタコントローラ２において、レンダリングされたイメージデータを一旦符号化し、符号化したデータをデジタル複合機３に出力するようにしている。しかし、プリンタコントローラ２がレンダリングしたイメージデータを圧縮することなく、そのままデジタル複合機３に出力する形態であってもよい。
【００２５】
デジタル複合機３は、コピー機能、ＦＡＸ機能、ネットワーク機能、電子メール機能、ＷＥＢサーバ機能などを備えた多機能装置である。本実施の形態においては、特に、このデジタル複合機３の印刷機能に関わる処理を説明するので、他の機能に関わる処理部については図示省略している。
【００２６】
以上の如く構成された印刷システムにおける印刷処理の流れについて、図２および図３のフローチャートを参照しながら説明する。
【００２７】
図２は、ＰＣ１におけるフローチャートである。ＰＣ１における印刷処理の流れについて説明する。まず、ＰＣ１のユーザは、アプリケーションプログラム１１を利用して印刷対象となるデータを作成する。たとえば、ワープロソフトや表計算ソフト、図形描画ソフトなどを利用してデータを作成する。次に、アプリケーションプログラム１１の操作メニューから印刷処理を実行すると、プリンタドライバ１２が呼び出される。プリンタドライバ１２が呼び出されると、たとえば、ＰＣ１のモニタ上に、プリントダイアログが表示され、ユーザは、印刷処理に関わる各種の設定が可能となる。そして、ユーザが、プリントダイアログにおいて印刷処理の実行操作を行うことで、プリンタドライバ１２は、プリントジョブを開始する。
【００２８】
ユーザにより印刷処理の実行操作が行われることで、プリンタドライバ１２は、アプリケーションプログラム１１で作成されたデータから１ページ分のプリントデータを作成する（ステップＳ１１）。たとえば、文書データ、表データなどがプリントデータに変換される。プリントデータは、印刷記述言語で作成されたデータである。作成されたプリントデータは、スプーラ１３に格納される。
【００２９】
次に、ポートモニタ１４が、プリンタコントローラ２に対して問い合わせデータを送信する。この問い合わせデータは、メモリ２１の残量を問い合わせるデータである（ステップＳ１２）。このように、プリントデータが１ページ作成されるたびにプリントコントローラ２のメモリ残量を問い合わせるようにしている。
【００３０】
この問い合わせに対して、プリンタコントローラ２は、メモリ２１の残量を確認し、ポートモニタ１４に応答する。その結果、メモリ２１にプリントデータを格納するだけの容量がないと判断される場合（ステップＳ１３でＮＯ）、プリンタドライバ１２は、プリントデータをスプーラ１３に保持し、ステップＳ１１に戻り処理を繰り返す。つまり、印刷対象のデータが残っている場合には、次のページについてプリントデータを作成し、再び、プリンタコントローラ２への問い合わせを行う。
【００３１】
上記の処理を繰り返し、あるタイミングで、メモリ２１にプリントデータを格納するだけの容量があると判断される場合（ステップＳ１３でＹＥＳ）、プリントデータをプリンタコントローラ２に転送する（ステップＳ１４）。これにより、プリントデータが、プリンタコントローラ２のメモリ２１に格納される。
【００３２】
その後、プリンタドライバ１２は、印刷対象のデータが残っているかどうかを確認し（ステップＳ１５）、データが残っている場合には、ステップＳ１１に戻り、次のページについて処理を繰り返す。全てのページについての処理が終わっていれば、プリントジョブを終了する。
【００３３】
このように、本実施の形態のＰＣ１は、プリンタコントローラ２に対して、メモリ２１の残量を確認する問い合わせを行う。そして、メモリ２１の残量が不足している場合には、印刷中止とするのではなく、スプーラ１３にプリントデータを保持しつつ、プリントジョブを続行するのである。そして、メモリ２１の容量が空いた時点で、プリントデータを転送するのである。これにより、一時的にプリンタコントローラ２のメモリがいっぱいになっている場合でも、印刷処理を続行させることが可能である。
【００３４】
従来であれば、プリンタコントローラ２のメモリ残量が足りない場合には、即座に印刷処理が中止されていた。この場合、ユーザは、再度印刷指示を行う必要があるが、本実施の形態のプリンタドライバ１２やポートモニタ１４を備える端末であれば、初めに行った印刷処理が継続されるので、利便性がよい。
【００３５】
次に、図３を参照しながら、プリンタコントローラ２における処理の流れについて説明する。上述したように、メモリ２１には、プリンタドライバ１２によってプリントデータが格納される。プリントデータが格納されたことをトリガとして、プリンタコントローラ２のプリントジョブが開始する。
【００３６】
まず、コマンド解析部２２は、メモリ２１に格納された１ページ分のプリントデータを取得し、プリントデータに含まれている印刷コマンドの解析を行う（ステップＳ２１）。次に、コマンド解析部２２において解析された印刷コマンドに従い、レンダリング部２３が、レンダリング処理を実行する（ステップＳ２２）。これにより、プリントデータがイメージデータに変換される。次に、符号化部２４が、レンダリング部２３から出力されたイメージデータを圧縮符号化する（ステップＳ２３）。このようにして、１ページ分の符号化イメージデータが作成される。
【００３７】
符号化部２４によりイメージデータが符号化されると、次に、プリンタコントローラ２は、メモリ２５に、符号化されたイメージデータを格納するだけの容量が存在するかどうかを確認する（ステップＳ２４）。
【００３８】
ここで、メモリ２５に、符号化されたイメージデータを格納するだけの容量が確保できない場合（ステップＳ２４でＮＯ）には、符号化データを破棄し（ステップＳ２５）、メモリオーバーとして印刷処理を終了する。
【００３９】
メモリ２５に、符号化されたイメージデータを格納するだけの容量が確保できる場合（ステップＳ２４でＹＥＳ）、プリンタコントローラ２は、符号化されたイメージデータをメモリ２５に格納する。そして、デジタル複合機３に対して、問い合わせデータを出力する。この問い合わせデータは、デジタル複合機３のメモリ３１の残量（空き容量）を確認するデータである（ステップＳ２６）。
【００４０】
この問い合わせに対して、デジタル複合機３は、メモリ３１の残量をチェックし、プリンタコントローラ２に対してメモリ残量を通知する。
【００４１】
プリンタコントローラ２は、デジタル複合機３からメモリ残量の通知を受けると、符号化イメージデータをメモリ３１に対して出力できるかどうかを判定し、出力できないと判定した場合（ステップＳ２７でＮＯ）、メモリ２５に符号化イメージデータを保持したまま、ステップＳ２６に戻り問い合わせ処理を繰り返し行う。
【００４２】
メモリ２５に符号化イメージデータを保持した状態で、ステップＳ２６、Ｓ２７の処理を繰り返し、メモリ２５の容量が確保できた時点（ステップＳ２７でＹＥＳ）で、メモリ２５に格納されていた符号化イメージデータをメモリ３１に転送する（ステップＳ２８）。
【００４３】
次に、メモリ２１に他の印刷データが残っていないかどうかを確認し（ステップＳ２９）、未処理のページが残っている場合には、ステップＳ２１に戻り、繰り返し処理を行う。全てのページについて処理が終わっている場合には、プリントジョブを終了する。
【００４４】
このように、本実施の形態のプリンタコントローラ２は、デジタル複合機３の本体メモリであるメモリ３１の残量を問い合わせ、残量が足りない場合には、印刷処理を中止するのではなく、メモリ２５に符号化イメージデータを保持するようにしている。そして、本体メモリの空き容量が確保できた時点で、符号化イメージデータを出力するようにしている。これにより、デジタル複合機３の本体メモリの残量が不足しているが、プリンタコントローラ２のメモリに余裕がある場合には、印刷処理を継続させることが可能である。
【００４５】
また、上記のフローチャートにおいて、ステップＳ２６とステップＳ２７の処理を繰り返している間も、プリンタコントローラ２は、他のページについて、コマンド解析、レンダリング、符号化処理を続行することができる。つまり、メモリ２５の容量がいっぱいになるまでは、次々にコマンド解析、レンダリング、符号化処理を実行し、符号化イメージデータを生成することができる。したがって、デジタル複合機３の本体メモリの残量に空きがない間も、符号化イメージデータの生成を継続して行い、印刷処理を効率的に進行させることが可能である。
【００４６】
プリンタコントローラ２によって符号化イメージデータがメモリ３１に格納されると、印刷処理部３２が、符号化イメージデータを復号化し、印刷処理を実行する。このようにして、ＰＣ１において実行された印刷処理が完了するのである。
【図面の簡単な説明】
【００４７】
【図１】本実施の形態に係る印刷システムを示す図である。
【図２】ＰＣにおけるプリントジョブのフローチャートである。
【図３】プリンタコントローラにおけるプリントジョブのフローチャートである。
【符号の説明】
【００４８】
１    パーソナルコンピュータ（ＰＣ）
２    プリンタコントローラ
３    デジタル複合機（ＭＦＰ）
１２  プリンタドライバ
２１  メモリ
２５  メモリ
３１  メモリ
【図１】
2008033390.tif 000003
【図２】
2008033390.tif 000004
【図３】
2008033390.tif 000005