(57)【要約】【課題】紙の量が不十分であるときにキュー内のプリントジョブを遅延させること。【解決手段】キュー内のプリントジョブを遅延させるための方法を開示する。プリントジョブを受信し、プリント装置にデスプールするために、このプリントジョブのスケジュールを定める。このプリントジョブに関連するプリントデータおよびプリント設定を分析し、プリントジョブの紙の必要量を決定し、プリント装置に関連する紙の供給量の利用可能性を決定し、紙の供給量が紙の必要量を満たさない場合にプリントジョブを遅延する。【選択図】図１
2008090832.tif 000002
【特許請求の範囲】
【請求項１】
プリントジョブを受信するステップと、
プリント装置にデスプールするために、前記プリントジョブのスケジュールを定めるステップと、
前記プリントジョブに関連するプリントデータおよびプリント設定を分析するステップと、
前記プリントジョブの紙の必要量を決定するステップと、
前記プリント装置に関連する紙の供給量の利用可能性を決定するステップと、
前記プリントジョブを遅延するステップとを備えた、キュー内のプリントジョブを遅延させるための方法。
【請求項２】
プリントスプーラにより前記ジョブの前記遅延を実行する、請求項１記載の方法。
【請求項３】
前記プリントスプーラは、前記プリント装置の外部にある、請求項２記載の方法。
【請求項４】
前記プリントスプーラは、前記プリント装置の内部にある、請求項２記載の方法。
【請求項５】
前記プリントデータは、プリント固有のフォーマットである、請求項１記載の方法。
【請求項６】
前記プリントデータは、プリント固有でないフォーマットである、請求項１記載の方法。
【請求項７】
前記紙の必要量を決定するために前記プリントデータおよび前記プリント設定の粗分析を実行するステップを更に備えた、請求項１記載の方法。
【請求項８】
前記プリントジョブを遅延した旨の通知を送るステップを更に備えた、請求項１記載の方法。
【請求項９】
前記プリント装置に関連する前記紙の供給量の利用可能性をモニタするステップを更に備えた、請求項１記載の方法。
【請求項１０】
遅延後に、前記プリントジョブをリコールするステップを更に備えた、請求項１記載の方法。
【請求項１１】
前記プリント装置に関連する前記紙の供給量が前記紙の必要量を満たすと判断された場合に、前記プリントジョブをリコールする、請求項１０記載の方法。
【請求項１２】
前記プリント装置に関連する前記紙の供給量の利用可能性を判断する前に、前記プリントデータをラスター化するステップを更に備えた、請求項１記載の方法。
【請求項１３】
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記プロセッサによって実行可能な命令とを備え、前記命令は、
プリントジョブを受信し、
プリント装置にデスプールするために、前記プリントジョブのスケジュールを定め、
前記プリントジョブに関連するプリントデータおよびプリント設定を分析し、
前記プリントジョブの紙の必要量を決定し、
前記プリント装置に関連する紙の供給量の利用可能性を決定し、
前記プリントジョブを遅延するように実行できる、キュー内のプリントジョブを遅延するようになっているコンピュータ装置。
【請求項１４】
前記プリントジョブを遅延するようになっているプリントスプーラを更に備えた、請求項１３記載のコンピュータ装置。
【請求項１５】
前記プリントスプーラは、前記プリント装置の内部にある、請求項１３記載のコンピュータ装置。
【請求項１６】
前記プリントデータは、プリント固有のフォーマットである、請求項１３記載のコンピュータ装置。
【請求項１７】
前記プリントデータは、プリント固有でないフォーマットである、請求項１３記載のコンピュータ装置。
【請求項１８】
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記プロセッサによって実行可能な命令とを備え、前記命令は、
プリントジョブを受信し、
プリント装置にデスプールするために、前記プリントジョブのスケジュールを定め、
前記プリントジョブに関連するプリントデータおよびプリント設定を分析し、
前記プリントジョブの紙の必要量を決定し、
前記プリント装置に関連する紙の供給量の利用可能性を決定し、
前記プリントジョブを遅延するように実行できる、キュー内のプリントジョブを遅延するようになっているプリント装置。
【請求項１９】
遅延後、前記プリントジョブをリコールする、請求項１８記載のプリント装置。
【請求項２０】
前記プリント装置に関連する前記紙の供給量が前記紙の必要量を満たすと判断された場合に、前記プリントジョブをリコールする、請求項１９記載のプリント装置。
【請求項２１】
プリントジョブを受信するステップと、
プリント装置にデスプールするために、前記プリントジョブのスケジュールを定めるステップと、
前記プリントジョブに関連するプリントデータおよびプリント設定を分析するステップと、
前記プリントジョブの紙の必要量を決定するステップと、
前記プリント装置に関連する紙の供給量の利用可能性を決定するステップと、
前記プリントジョブを遅延するステップとを備えた、キュー内のプリントジョブを遅延させるための方法を実施するための実行可能な命令を備えた、コンピュータで読み取り可能なメディア。
【請求項２２】
前記プリントジョブを遅延するステップをプリントスプーラによって実行する、請求項２１記載のコンピュータで読み取り可能なメディア。
【請求項２３】
前記プリントスプーラは、前記プリント装置の外部にある、請求項２１記載のコンピュータで読み取り可能なメディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、コンピュータおよびコンピュータに関連する技術に関する。より詳細には、本発明は、紙の供給量が不十分な時にプリントジョブを遅延するためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータおよび通信技術は、急速なペースで進歩し続けている。これらコンピュータおよび通信技術は、個人の生活に多くの点で関与している。例えば、消費者が今日使用している多くの装置内には小型コンピュータが組み込まれている。これらコンピュータは、サイズおよび複雑さの程度が種々異なっている。これら小型コンピュータは、１つのマイクロコントローラからフル機能の完全コンピュータシステムまで、複雑さが異なる。例えば、小型コンピュータは、マイクロコントローラのようなワンチップコンピュータ、コントローラのようなワンボードタイプのコンピュータ、ＩＢＭ−ＰＣコンパチタイプの代表的なデスクトップコンピュータなどであり得る。
【０００３】
文字、ドキュメント、画像などを含む種々の種類のアイテムをプリントするために、コンピュータと共にプリンタが使用されている。多くの異なるタイプのプリンタが市販されており、コンピュータのユーザの間ではインクジェットプリンタおよびレーザプリンタがかなり一般的となっている。インクジェットプリンタはインクの粒子を直接紙に吹き付けるようになっており、レーザプリンタはプリントのためにレーザビームを使用している。
【０００４】
プリンタは、ある種の画像処理装置である。画像処理装置として、物理プリンタ、多機能周辺機器（複合機）、プリンタプール、プールクラスタ、ファックス装置、プロッタ、スキャナ、論理装置、電子ホワイトボード、タブレットＰＣ、コンピュータモニタ、ファイルなどを挙げることができるが、これらだけに限定されるわけではない。
【０００５】
異なるタイプのコンピュータソフトウェアは、プリンタを使用することによるマテリアルのプリントを容易にしている。マテリアルをプリントするのに使用されるコンピュータまたは計算装置は、必要な情報をプリンタに送り、マテリアルのプリントを可能にする、コンピュータで作動するソフトウェアの１つ以上の部分を一般に有する。コンピュータのネットワーク上にコンピュータまたは計算装置がある場合、プリントを容易にする、コンピュータネットワーク上の１つ以上のコンピュータで作動するソフトウェアの１つ以上の部分が存在し得る。
なお、用紙切れ等の場合に、印刷データをメモリに待避させ、印刷が可能になった時に、待避した印刷データを印刷実行可能とする技術文献として、特許文献１がある。
【特許文献１】特開平９−２５４４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ドキュメントをプリントしたいとき、このドキュメントをプリンタに送る前に、一般に、ドキュメントは異なるフォーマットに変換される。更に、プリンタに送られる各ドキュメントは、プリントするのに異なるタイプ、サイズ、量などの紙を必要とする。プリンタが必要とするタイプ、サイズまたは量の紙を有していない場合、ドキュメントをプリンタに送ることを中止することがあり得る。次に、プリントするためにキュー（待ち行列）状態となっている各ドキュメントも停止する。紙の供給が不十分であるときに、プリントジョブの遅延を可能にするシステムおよび方法を提供することによって、利益が得られる。
【課題を解決するための手段】
【０００７】
添付図面を参照し、次の説明および特許請求項を読めば、本発明の実施例がより完全に明らかとなろう。これら図は、単に実施例を示すにすぎず、従って、発明の範囲を制限すると見なすべきでないと理解した上で、添付図面を用いることにより、本発明の実施例について更に詳細に説明する。
【０００８】
キュー内のプリントジョブを遅延させるための方法について開示する。プリントジョブが受信され、プリント装置へデスプールするためにプリントジョブのスケジュールが定められる。次に、プリントジョブに関連するプリントデータおよびプリント設定を分析し、プリントジョブに必要な紙の量を決定し、プリント装置に関連する紙の供給量の利用可能性を決定し、プリントジョブを遅延する。
【０００９】
一実施例では、プリントスプーラによりプリントジョブの遅延を実行する。プリントスプーラはプリント装置の外部にあってもよいが、別の実施例では、プリントスプーラはプリント装置の内部にある。一実施例では、プリントデータはプリント固有のフォーマットであるし、別の実施例では、プリントデータはプリント固有でないフォーマットとなっている。
【００１０】
一実施例では、紙の必要量を決定するために、プリントデータおよびプリント設定の粗い分析を実行する。プリントジョブを遅延した旨の通知を送ってもよい。プリント装置に関連する紙の供給量の利用可能性をモニタしてもよい。一実施例では、遅延後、プリントジョブをリコールする。プリント装置に関連する紙の供給量が紙の必要量を満たすと判断された場合に、プリントジョブをリコールしてもよい。更に、別の実施例では、プリント装置に関連する紙の供給量の利用可能性を判断する前に、プリントデータをラスター化する。
【００１１】
キュー内のプリントジョブを遅延するように構成されたコンピュータ装置についても開示する。コンピュータ装置はプロセッサと、このプロセッサと電子通信するメモリとを含む。メモリには命令が記憶され、プリントジョブが受信され、プリント装置に対するデスプールのためにこのプリントジョブのスケジュールが定められる。次に、プリントジョブに関するプリントデータおよびプリント設定が分析され、プリントジョブの紙の必要量が決定され、プリント装置に関連する紙の供給量の利用可能性が決定され、プリントジョブが遅延される。
【００１２】
キュー内のプリントジョブを遅延するように構成されたプリント装置についても開示する。このプリント装置はプロセッサと、このプロセッサと電子通信するメモリとを含む。メモリには命令が記憶され、プリントジョブが受信され、このプリントジョブはプリント装置に対するデスプールのためにスケジュールが定められる。次に、プリントジョブに関するプリントデータおよびプリント設定が分析され、プリントジョブの紙の必要量が決定され、プリント装置に関連する紙の供給量の利用可能性が決定され、プリントジョブが遅延される。
【００１３】
キュー内のプリントジョブを遅延させるための方法を実施するための実行可能な命令を含む、コンピュータで読み取り可能なメディアについても開示する。プリントジョブが受信され、このプリントジョブはプリント装置に対するデスプールのためにスケジュールが定められる。次に、プリントジョブに関するプリントデータおよびプリント設定が分析され、プリントジョブの紙の必要量が決定され、プリント装置に関連する紙の供給量の利用可能性が決定され、プリントジョブが遅延される。
【００１４】
次に、同様な参照番号が同一または機能的に類似する要素を示す図を参照し、本発明の種々の実施例について説明する。本明細書に一般的に記載し、図に示されるような本発明の実施例は、広範な種々の異なるコンフィギュレーションで配置したり、設計できる。従って、図面に示されるような、本発明のいくつかの実施例の次のより詳細な説明は、請求項に記載されている本発明の範囲を限定するものではなく、発明の実施例を単に示すにすぎない。
【００１５】
本明細書では、「例」なる用語は専ら１つの例、場合または図解を意味するように使用する。「例」として本明細書に説明する実施例は、必ずしも他の実施例よりも好ましかったり有利であると見なすべきでない。
【００１６】
本明細書に開示する実施例の多くの機能は、コンピュータソフトウェア、電子ハードウェアまたはこれら双方の組み合わせとして実現できる。ハードウェアとソフトウェアのこのような互換性を明瞭に説明するために、それらの機能に関して種々の部品を一般的に説明する。かかる機能をハードウェアとして実現するか、または、ソフトウェアとして実現するかどうかは、特定の用途およびシステム全体に課される設計上の制限に応じて決まる。当業者であれば、各特定の用途に対し、説明した機能を種々の方法で実現できようが、かかる実施の判断は、本発明の範囲から逸脱させるものと解釈してはならない。
【００１７】
本明細書に説明する機能をコンピュータソフトウェアで実現する場合、かかるソフトウェアはメモリデバイス内に存在し、および／または、システムバスまたはネットワークを通して電子信号として送信される任意のタイプのコンピュータ命令またはコンピュータで実行可能なコードを含むことができる。本明細書に説明する部品に関連する機能を実施するソフトウェアは、単一命令または多くの命令を含むことができ、異なるプログラムの間で更にいくつかのメモリデバイスにわたる数種の異なるコードセグメントにわたって分散できる。
【００１８】
本明細書で使用するように「１つの実施例」、「実施例」、「複数の実施例」、「この実施例」、「これら実施例」、「１つ以上の実施例」、「一部の実施例」、「所定の実施例」、「ある実施例」、「別の実施例」などは、特に明記しない限り、開示した発明の１つ以上（必ずしもすべてではない）の実施例を意味するものである。
【００１９】
「決定する」（およびその文法上の変形例）なる用語は、極めて広い意味で使用する。「決定する」なる用語広範な種々の動作を含み、従って、「決定する」とは計算、コンピューティング、処理、誘導、調査、ルックアップ（例えば、テーブル、データベース、または別のデータ構造でのルックアップ）、確認などを含むことができる。更に、「決定する」なる用語は、受信（例えば、情報の受信）、アクセス（例えば、メモリ内のデータへのアクセス）なども含むことができる。更に、「決定する」なる用語は、解決、選び出し、選択、確立なども含むことができる。
【００２０】
「〜に基づく」なるフレーズは、特に明記しない限り、「〜だけに基づく」ことを意味するものではない。換言すれば、「〜に基づく」なるフレーズは、「〜だけに基づく」および「少なくとも〜に基づく」の双方を記述するものである。
【００２１】
プリンタにデスプールするためのプリントキュー内に多数のジョブが待ち行列（キュー）状態となっているとき、ジョブはプリントキュー内に入れられた順序で一般にデスプールされる。従来のプリントスプーラ、例えば、マイクロソフト社のプリントスプーラでは、プリントジョブに問題が生じた場合、プリントスプーラは問題が解決するまで、その後のジョブのデスプールを中断することができる。
【００２２】
プリントジョブは、プリント装置内に不十分な供給量となっているか、または、現在装填されてない紙のサイズを必要とするが、一方、プリント装置内には、その後のジョブの紙の必要量を装填できるが、プリント装置には紙の量が不十分であることがある。従来のプリントスプーラでは、プリンタが一旦ジョブを受信し、処理をスタートした場合、プリンタは、プリント装置に正規な紙が装填されるまで、プリントを中断できる。この中断時間中、プリントキュー内では次のジョブがホールドアップされ、プリント装置による処理はなされない。
【発明を実施するための最良の形態】
【００２３】
図１は、プリントスプーラ１０８の一実施例を示すブロック図である。プリントスプーラ１０８は、プリントキュー１１４へのプリントジョブ１０２のスプーリングおよびプリント装置１２０へのプリントジョブ１０２のデスプーリングを実行できる。プリント装置１２０として、コンピュータのプリンタ、ファクシミリ装置、コピー装置、プロット装置および同等な装置を挙げることができる。一実施例では、プリントジョブ１０２は、出力するためにプリント装置１２０へ送られるファイルまたはファイルの組である。プリントジョブ１０２は、異なるフォーマットの種々のデータのタイプを含むこともできる。
【００２４】
プリントデータ１０４を発生するために、特定データタイプのフォーマットを変更してもよい。このプリントジョブ１０２は、プリントデータ１０４およびプリント設定１０６に関連付けできる。一実施例では、プリントデータ１０４は（例えば、プリンタドライバによって発生される）プリンタ固有のフォーマットも含むことができ、別の実施例では、プリンタデータ１０４はドキュメンテーションアプリケーション固有のフォーマット（例えば、ダイレクトプリント）も含むことができる。プリント設定１０６は、どのようにプリントジョブ１０２をレンダリングし、出力するかに関する情報も含むことができる。
【００２５】
一実施例では、プリントスプーラ１０８はプリントジョブ１０２を受信し得る。一実施例では、プリントジョブ１０２をプリントキュー１１４内にスプールできる。プリントキュー１１４はバッファを含むことができ、このバッファには、種々のエンティティ、例えば、データ、オブジェクト、イベントなどを記憶し、処理のために待機する。プリントスプーラ１０８はセパレータ１１０も含むことができる。このセパレータ１１０はプリントジョブ１０２に関連するプリントデータ１０４およびプリント設定１０６を分離できる。プリントデータ１０４およびプリント設定１０６の各々をアナライザ１１２に伝送できる。一実施例では、アナライザ１１２がプリントデータ１０４およびプリント設定１０６を分析し、紙の必要量１１６を決定できる。紙の必要量１１６はプリントジョブ１０２を成功裏に出力するのに必要とされる紙の量、タイプ、サイズなどを表示できる。この紙の必要量１１６は、関連するプリントジョブ１０２と共にプリントキュー１１４内に記憶できる。
【００２６】
プリントスプーラ１０８はコンパレータ１１８も含むことができる。このコンパレータ１１８は、プリントジョブ１０２に関連する紙の必要量１１６と、プリント装置１２０に関連する紙の供給量１２２とを比較できる。紙の供給量１２２は、プリント装置１２０に利用できる紙の量、タイプ、サイズなどを含むことができる。一実施例では、コンパレータ１１８はプリントキュー１１４内に記憶された紙の必要量１１６にアクセスし、コンパレータ１１８はプリント装置１２０に関連した紙の供給量１２２も受信できる。一実施例では、コンパレータ１１８は紙の供給量１２２に関し、プリント装置１２０に問い合わせできる。別の実施例では、コンパレータ１１８はプリント装置１２０の紙の供給量１２２のステータスについて連続的にモニタできる。コンパレータ１１８は、プリント装置１２０の紙の供給量１２２がプリントジョブ１０２に関連する紙の必要量１１６を満たすかどうかを判断できる。
【００２７】
図２は、プリント装置１２０が十分な紙の供給量１２２を含むかどうかを判断するための方法２００の一実施例を示すフローチャートである。一実施例では、この方法２００は、プリントスプーラ１０８によって実行できる。プリントジョブ１０２を受信できる（２０２）。一実施例では、プリント装置１２０へデスプールするよう、プリントジョブ１０２のスケジュールを定めることができる（２０４）。プリントキュー１１４内にプリントジョブ１０２を記憶できる。
【００２８】
プリントジョブ１０２に関連するプリントデータ１０４およびプリント設定１０６の分析を実行する（２０６）。一実施例では、アナライザ１１２により分析を実行する（２０６）。プリントデータ１０４およびプリント設定１０６の分析によりプリントジョブ１０２に関連する紙の必要量１１６の判断（２０８）を容易にできる。
【００２９】
一実施例では、プリントスプーラ１０８は、プリント装置１２０に関連する紙の供給量１２２の利用可能性を判断するために、プリント装置１２０に問い合わせを行う（２１０）。プリント装置１２０が十分な紙の供給量１２２を含むとプリントスプーラ１０８が判断した場合（２１２）、この方法２００は終了する。しかしながら、プリント装置１２０が十分な紙の供給量１２２を含んでいないとプリントスプーラ１０８が判断した場合（２１２）、プリントスプーラ１０８はプリントジョブ１０２のデスプール順序のスケジュールを再び定めることができる（２１４）。例えば、プリント装置１２０がプリントジョブ１０２に関連した紙の必要量１１６を満たすための十分な紙の供給量１２２を含まないとプリントスプーラ１０８が判断した場合（２１２）、プリントジョブ１０２をプリント装置１２０に対してデスプールするときをプリントスプーラ１０８が遅延することができる（２１４）。プリントジョブ１０２のスケジュールを再び定めた後に（２１４）、方法２００は図３まで進むことができる。
【００３０】
図３は、プリントジョブ１０２のスケジュールを再び定めた後（２１４）の、プリント装置１２０の紙の供給量１２２をモニタするための方法３００を示すフローチャートである。一実施例では、プリントスプーラ１０８により、方法３００を実施できる。プリント装置１２０に対するデスプールのために、プリントジョブ１０２のスケジュールを再び定めると（２１４）、プリントジョブ１０２を遅延した旨をユーザに通知できる（３０２）。プリントスプーラ１０８は、プリントキュー１１４内の次のプリントジョブをデスプールするように進めることができる（３０４）。例えば、プリントキュー１１４内のプリントジョブ１０２のロケーションを変えることにより、プリントジョブ１０２を遅延することができる。プリントスプーラ１０８は、プリントキュー１１４内にある次のプリントジョブをデスプールできる。別の実施例では、十分な紙の供給量を有する別のプリンタ（図示せず）のためのプリントキュー１１４上のプリントジョブ１０２のスプーラ１０８を再び定めることにより、プリントジョブ１０２を遅延することができる。
【００３１】
一実施例では、紙の供給量１２２の利用可能性に関してプリント装置１２０をモニタする（３０６）。一実施例では、コンパレータ１１８がプリントジョブ１０２を遅延している間の、プリント装置１２０の紙の供給量１２２をモニタする（３０６）。コンパレータ１１８はプリントジョブ１０２に関連した紙の必要量１１６を満たすのに十分な紙の供給量１２２があるかどうかを判断する（３０８）。プリント装置１２０が十分な紙の供給量１２２を含んでいないとコンパレータ１１８が判断した場合（３０８）、コンパレータ１１８は紙の供給量１２２のモニタを続ける（３０６）。プリント装置１２０が十分な紙の供給量１２２を含むとコンパレータ１１８が判断した場合（３０８）、プリントスプーラ１０８はプリントキュー１１４にジョブ１０２をスプールできる（３１０）。次に、プリントジョブ１０２をプリント装置１２０へデスプールできる。
【００３２】
図４は、プリントデータ１０４を受信するプリントスプーラ４０８の別の実施例を示すブロック図４００の一実施例である。一実施例では、ブロック図４００は、１つ以上のローカルプリント装置、ネットワーク接続されたプリント装置および／またはリモート接続されたプリント装置４２０を含むことができる。このプリント装置４２０は、データフォーマットの１つ以上のクラスをレンダリングまたは出力することができる。一実施例では、このプリント装置４２０はプリントドライバ４３８を使用することなく、データフォーマットをレンダリングまたは出力することができる。
【００３３】
種々のフォームのデータを変更し、プリントスプーラ４０８へ送信することができる。データはドキュメントデータ４２４、画像データ４２６、ベクトルデータ４２８、ページデスクリプション言語（ＰＤＬ）データ４３０およびグラフィックデータ４３２を含むことができる。一実施例では、ドキュメントデータ４２４はフォーマット化されていないドキュメントフォーマット、例えば、プレーンテキストまたは拡張可能なマークアップ言語（ＸＭＬ）を含むことができる。別の実施例では、ドキュメントデータ４２４は、フォーマット化されたドキュメントフォーマット、例えば、ポータブルドキュメントフォーマット（ＰＤＦ）またはリッチテキストフォーマット（ＲＴＦ）を含むことができる。画像データ４２６は、画像フォーマット、例えば、タグ付き画像ファイル（ＴＩＦＦ）、ジョイントフォトグラフィックエキスパートグループファイル相互交換フォーマット（ＪＰＥＧ／ＪＦＩＦ）、ＪＰＥＧ２０００、ポータブルネットワークグラフィックス（ＰＮＧ）、グラフィックインターチェンジフォーマット（ＧＩＦ）、交換可能な画像ファイルフォーマット（ＥＸＩＦ）およびウィンドウズ（登録商標）ビットマップを含むことができる。ベクトルデータ４２８は、スケーラブルベクトルグラフィックス（ＳＶＧ）およびヒューレットパッカードグラフィックス言語（ＨＰ−ＧＬ／２）を含むベクトルフォーマットも含むことができる。ＰＤＬデータ４３０は、プリンタコマンド言語（ＰＣＬ）、ＰＣＬ  ＸＬ、プリンタのためのポストスクリプトおよびエプソン標準コード（ＥＳＣ／Ｐ）を含むＰＤＬフォーマットを更に含むことができる。グラフィックデータ４３２は、エンハンスされたメタファイル（ＥＭＦ）およびマイクロソフト社のメトロを含む種々のグラフィックフォーマットも含むことができる。
【００３４】
種々のフォーマットをプリント装置４２０によって読み取りできるように、プリントデータ４０４に変形できる。一実施例では、プリンタドライバ４３８によりフォーマットを変更できる。プリンタドライバ４３８はアプリケーション４４０のフォーマットを変更し、プリント固有のフォーマットを発生できる。例えば、アプリケーション４４０は、前にリストアップした種々のデータタイプのうちの１つ以上を含むことができる。アプリケーション４４０に含まれる種々のデータタイプは、プリント装置４２０が読み取りできないフォーマットを含むことがある。プリンタドライバ４３８はデータフォーマットをプリント装置４２０に固有のフォーマットに変換できる。別の実施例では、種々のデータタイプはプリント装置４２０が読み取りできない非ネイティブなフォーマットを含むことがある。コンバータ４３４は、ダイレクトプリントユーティリティ４３６を使って非ネイティブなフォーマットを変換できる。ダイレクトプリントユーティリティ４３６は、プリント装置４２０がプリンタドライバ４３８を使用することなく、読み取りできないフォーマットをレンダリングし、出力することを容易にできる。別の実施例では、プリント装置４２０に対してプリントデータ４０４をデスプールするまで、非ネイティブなフォーマットの、ネイティブなフォーマットへの変換を遅延することができる。この場合、プリント装置４２０は、多機能プリンタ（ＭＦＰ）（図示せず）上でゲストアプリケーションとして作動する外部変換サービスまたはコンバータを使用できる。
【００３５】
別の実施例では、アプリケーション４４０からのプリンタドライバ４３８によりプリントデータ４０４を発生できる。アプリケーション４４０はドキュメントをプリント命令、例えば、ＧＤＩ（すなわちグラフィックデバイスインターフェース）またはマイクロソフトファミリーのオペレーティングシステムにおける拡張可能なマークアップ言語紙使用（ＸＰＳ）にドキュメントを変換できる。次に、このプリント命令は装置の能力を考慮した特別なプリント命令のフォームで、プリント装置４２０に関連したクライアントおよび／またはサーバにインストールされたプリンタドライバ４３８へ送られる。マイクロソフトファミリーのオペレーティングシステムでは、これら特別なプリント命令は、ＤＤＩ（すなわちデバイスドライバインターフェース）命令として知られる。このプリンタドライバ４３８は、プリンタに依存するフォーマット、例えば、ラスター画像、ＴＩＦＦ、ＰＤＦまたはＰＤＬ（すなわちページデスクリプション言語）、例えば、ＰＣＬＸＬまたはポストスクリプトを含むことができるプリントデータ４０４にプリント命令を変換する。ダイレクトプリントのような別のケースでは、プリント装置４２０により、ドキュメントフォーマットを直接解読することができ、プリンタ依存フォーマットへのドキュメントフォーマットの予備処理は行われない。
【００３６】
別の実施例では、プリントデータ４０４は、プリント装置４２０が読み取りできるネイティブなデータフォーマット４４２を含むことができる。このデータネイティブフォーマット４４２は、プリンタドライバ４３８が発生したものか、またはダイレクトプリントユーティリティ４３６が提供したものであり得る。データネイティブフォーマット４４２を含むプリントデータ４０４を、プリントスプーラ４０８によって受信でき、このプリントスプーラ４０８はプリントデータ４０４に関連するプリントジョブをレンダリングまたは出力のためにプリント装置４２０にデスプールできる。
【００３７】
図５は、プリントスプーラ５０８によってスケジュールが定められるプリントジョブＤ５４２の一実施例を示すブロック図である。プリントスプーラ５０８はプリントジョブＢ５４２を受信し、プリント装置１２０にデスプールするためにプリントジョブＢ５４２をプリントキュー５１４に入れることができる。一実施例では、プリントスケジューラ５４４がジョブスケジュール決定アルゴリズムに従ってプリントジョブＢ５４２をプリントキュー５１４に入れる。このジョブスケジュール決定アルゴリズムは、種々のパラメータ、例えば、先入れ先出し（ＦＩＦＯ）、ジョブ優先度、一日のうちの時刻などを有する任意のアルゴリズムとすることができる。一実施例では、プリントスケジューラ５４４は、プリントジョブＡ５０２よりも後の時間にプリントジョブＢ５４２がデスプールされるように、プリントジョブＢ５４２をプリントキュー５１４に入れることができる。プリントジョブＡ５０２は関連する紙の必要量Ａ５１６と共にプリントキュー５１４に記憶することができる。
【００３８】
一実施例では、プリントスプーラ５０８は紙アナライザ５１２を含むことができる。プリント装置１２０にデスプールするために、プリントジョブＢ５４２を選択する前に、紙アナライザはプリントジョブＢ５４２に関連する紙の必要量Ｂ５４６を決定するために、プリントジョブＢ５４２を分析する。一実施例では、プリント装置１２０にデスプールするために、プリントジョブＢ５４２が選択されたときに、紙アナライザ５１２はプリントジョブＢ５４２を分析する。別の実施例では、プリントジョブＢ５４２をデスプールする前に、紙アナライザ５１２はプリントジョブＢ５４２を分析する。例えば、プリントジョブＢ５４２を分析するためにバックグラウンドスレッドを使用できる。紙アナライザ５１２が決定した紙の必要量Ｂ５４６をプリントジョブＢ５４２と共にプリントキュー５１４に記憶してもよい。
【００３９】
図６は、プリントジョブ６０２に関連する紙の必要量６１６を判断するために、プリントジョブ６０２を分析するための一実施例６００を示すブロック図である。このプリントジョブ６０２は、これまで説明した種々のデータタイプのうちの１つを含むことができる。更に、これまで説明したように、プリントジョブ６０２は、プリントデータ６０４およびプリント設定６０６と関連付けできる。ジョブセパレータ６１０は、プリントジョブ６０２を受信し、プリントデータ６０４とプリント設定６０６とを分離する。一実施例では、アナライザ１１２はデータタイプを次のタイプ、すなわち、フォーマット化されていないドキュメントデータ、フォーマット化されたドキュメントデータ、画像データ、ベクトルデータ、ページデスクリプション言語またはグラフィック言語のうちの１つにデータタイプを分類することを試みることができる。アナライザ１１２は、データタイプのデータフォーマットの分類を判断するための任意の方法も使用できる。例えば、所定のデータフォーマットのタイプは、データフォーマットタイプをユニークに識別するユニークなシグネーチャを有することができる。次の表は、所定のデータフォーマットタイプに関連するユニークなシグネーチャの例を示すことができる。
【００４０】
【表１】
2008090832.tif 000003
【００４１】
別の実施例では、決定的インジケータとして使用できるシーケンスが存在するかまたは存在しないかに応じて、別のデータフォーマットのタイプを決定してもよい。アナライザ１１２は、データフォーマットのタイプを決定し、プリントジョブ６０２に関連する論理ページの数を決定するために、プリントデータ６０４を分析する。一実施例では、フォーマットの種類に固有の粗分析ページカウント方法６４８を使用することによって論理ページの数を決定する。粗分析方法は、データ全体を分析または解読することなく、プリントジョブ６０２が必要とする全ページ数を決定するために、プリントデータ６０４を効率的、かつ、信頼性高く分析できる１つの方法でよい。
【００４２】
更に、データタイプに関連するプリント設定６０６がプリントデータ６０４から分離される。一実施例では、ジョブセパレータ６１０がこの分離を実行する。アナライザ１１２は、出力できるシート数に影響し得る設定に関して、プリント設定６０６を分析する。プリント設定６０６は、出力すべきプリントジョブ６０２のコピー数を表示するコピーの丁合、シートアセンブリ（例えば、両面、ブックレット、Ｎアップおよび前方／後方カバー）および紙（サイズ、タイプ、トレイなど）を含むことができる。次に、アナライザ１１２は、プリントデータ６０４から決定されたこれらプリント設定６０６および論理ページ数を数量計算機６５０に適用する。数量計算機６５０は、プリントジョブ６０２から出力できる物理シートの総数、サイズおよびタイプを計算できる。数量計算機６５０は、物理シートをどのペーパトレイから送るかを決定することもできる。
【００４３】
図７は、プリントジョブＡ７０２を遅延するための紙の供給量チェッカ７５２の一実施例を示すブロック図７００である。一実施例では、プリント装置１２０にデスプールするために、プリントジョブＡ７０２を選択したときに、プリントスプーラ１０８はプリント装置１２０の紙の供給量１２２をダイナミックにチェックする。紙の供給量１２２は、プリントジョブＡ７０２に関連する紙の必要量Ａ７１６と比較する。一実施例では、紙の供給量チェッカ７５２は、紙の供給量１２２と紙の必要量Ａ７１６との比較を実行する。プリントスプーラ１０８は、例えば、紙の供給量１２２に関し、プリント装置１２０に問い合わせするような手段により、紙の供給量１２２に関する情報を得ることができる。このことは、簡単なネットワーク管理プロトコル（ＳＭＭＰ）またはプリンタジョブ言語情報（ＰＪＬ  ＩＮＦＯ）を実施することによって実行できる。プリントスプーラ１０８は、プリント装置１２０のオペレータによるマニュアル入力を通して、紙の供給量１２２の情報を得ることもできる。この紙の供給量１２２は、紙の供給量１２２に変更があったことをプリントスプーラ１０８にプリント装置１２０が通知するようなイベントにより更に得ることもできる。
【００４４】
一実施例では、紙の供給量１２２のグラニュラリティは、プリント装置１２０によってサポートしてもよい。例えば、グラニュラリティは、空／空でない、大まかな量（例えば、入力トレイ内の紙の重量または高さに基づいて推定される）、正確な量（例えば、トレイ内に装填される紙の正確な数量）をあらかじめ知り、シートが消費される際の紙の総数から、この正確な数量を減算することによって知ることができる）を含むことができる。
【００４５】
紙の供給量１２２がプリントジョブＡ７０２に対して不十分であると、紙の供給量チェッカ７５２が判断した場合、プリントスプーラ１０８はプリントジョブＡ７０２を遅延できる。このプリントスプーラ１０８は、プリントジョブＡ７０２を遅延した旨をユーザに通知することもできる。プリントスプーラ１０８は、プリントジョブＡ７０２をプリントキュー７１４内で１スロットだけ下に移動し、プリントジョブＡ７０２を別の遅延キュー（図示せず）へ移動し、プリントジョブＡ７０２をプリントキュー７１４の末尾に移動し、十分な紙の供給量を有する別のプリント装置（図示せず）のための別個のプリントキューへプリントジョブＡ７０２を移動するような手段により、プリントジョブＡ７０２を遅延することができる。
【００４６】
図８は、プリントジョブＡ７０２を遅延させる方法８００の一実施例を示すフローチャートである。この方法８００は、図７に示されたブロック図７００と組み合わせて使用できる。紙の供給量チェッカ７５２は、プリントジョブＡ７０２に対して十分な紙の供給量１２２が存在するかどうかを判断できる（８３０）。紙の供給量チェッカ７５２は、紙の必要量Ａ８１６とプリント装置８２０の紙の供給量１２２とを比較する。十分な紙の供給量１２２がない場合、ユーザに通知し（８３２）、プリントジョブＡ７０２を遅延する（８３２）。十分な紙の供給量１２２がある場合、プリント装置８２０に対してプリントジョブＡ７０２をデスプールする（８３４）。一実施例では、（コンパレータ１１８のような）モニタがプリント装置８２０の紙の供給量１２２に関する情報を連続的に検索できる（８３６）。このモニタは、この情報を得るためにプリント装置８２０に問い合わせ信号を送ることができる。紙の必要量Ａ８１６に対して十分な紙の供給量１２２があるとチェッカ７５２が判断した場合（８３０）、モニタは紙の供給量チェッカ７５２へ紙の供給量１２２の情報を提供できる。
【００４７】
図９は、プリントジョブＡ９０２を再び起動する一実施例９００を示すブロック図である。例えば、図７で説明されるように、プリントジョブＡ９０２を遅延した後に、紙の必要量Ａ９１６とプリント装置１２０の現在の紙の供給量１２２とを定期的に比較することができる。一実施例では、プリントジョブＡ９０２を再び起動するために十分な紙の供給量１２２が存在するかどうかを判断するために、この比較を定期的に実行する。
【００４８】
図８で説明したように、コンパレータ１１８により、現在の紙の供給量１２２のモニタを実行できる。コンパレータ１１８は、紙の供給量チェッカ９５２も含むことができる。次のプリントジョブ、例えば、プリントジョブＢ９４２のデスプールに先立つような任意の時点でモニタを行うことができる。別の実施例では、バックグラウンドプロセスを使って定期的にモニタを行ってもよい。更に、別の実施例では、プリント装置１２０は紙の供給量１２２の変更に対する更新を提供できる。これとは異なり、ユーザがプリント装置１２０の紙の供給量１２２に関する情報をコンパレータ１１８にマニュアルで提供してもよい。
【００４９】
一実施例では、プリントスプーラ１０８は、プリントジョブＡ９０２を処理するのに、現在、プリント装置１２０の紙の供給量１２０が十分であるかどうかの判断を行うことができる。このように、プリントジョブＡ９０２を再び起動できる（すなわち遅延しない）。プリントキュー９１４からプリント装置１２０へのプリントジョブＡ９０２を即座にデスプールするような任意の手段により、プリントジョブＡ９０２を再び起動できる。別の実施例では、プリントジョブＡ９０２をプリント装置１２０に対してデスプールするために、プリントキュー９１４内の（現在の後の）次のジョブとすることにより、プリントジョブＡ９０２を再び起動してもよい。
【００５０】
別の実施例では、プリント装置１２０内にプリントスプーラ１０８を埋め込んでもよい。方法２００、３００、６００、８００および９００は、プリント装置１２０内で実行できる。一実施例では、プリント装置１２０がプリントジョブ１０２を処理するのに十分な紙の供給量１２２を有していないと、プリントスプーラ１０８が判断した場合、プリントジョブ１０２を遅延し、プリント装置１２０内のファイリング記憶装置内に記憶することができる。プリントジョブ１２０をラスター画像プロセッサ（ＲＩＰ）によりラスター化する前に、プリント装置１２０内で実行される方法を実施してもよい。
【００５１】
図１０は、プリントジョブ１００２をラスター画像プロセッサ（ＲＩＰ）１０６４によってラスター化した後に、プリントジョブ１００２のスケジュールを定めるための方法１０００の一実施例を示すフローチャートである。このＲＩＰ１０６４は、ビットマップを発生するためのプリント装置１２０内で使用されるコンポーネントとすることができる。このビットマップは、プリントジョブ１００２を出力するためにプリント装置１２０が使用できる。プリント装置１２０の内部に設けることができるプリントスプーラ１０８により、ラスター化されたプリントジョブ１００２をスプールできる。
【００５２】
ＲＩＰ１０６４は、プリントジョブ１００２をラスター化し、複数のＲＩＰページ１０６６を発生できる。ページ１００６は、プリントジョブ１００２を出力するためにプリント装置１２０が使用できるビットマップを含むことができる。一実施例では、内部プリントスプーラ１０８はプリントジョブ１００２からのＲＩＰページ１０６６に関連した紙の必要量１１６を計算する（１０５０）。プリントスプーラ１０８は、ラスター化されたプリントジョブ１００２を出力するのに、プリント装置１２０が十分な紙の供給量１２２を有しているかどうかを判断する（１０３０）。十分な紙の供給量１２２がないとプリントスプーラ１０８が判断した場合（１０３０）、ファイリング記憶装置１０６２へラスター化されたページ１０６６を送る。ファイリング記憶装置はプリント装置１２０の内部あってもよいし、外部にあってもよい。例えば、プリント装置１２０は、取り外し自在な記憶デバイス（例えば、ユニバーサルシリアルバス（ＵＳＢ）サムドライブ）へ、遅延されたラスターページ１０６６をファイルできる。プリント装置１２０は、プリントジョブ１００２に関連したラスター化されたページ１０６６を遅延した旨をユーザに通知できる。一実施例では、プリント装置１２０は、次のプリントジョブをラスター化または出力するように進むことができる。
【００５３】
ラスター化されたページ１０６６を出力するのに十分な紙の供給量１２２があるとプリントスプーラ１０８が判断した場合（１０３０）、プリント装置１２０の出力エンジン１０６０へページ１０６６を送る。出力エンジンはラスター化されたデータ、例えば、ラスター化されたページ１０６６の出力を容易にする。一実施例では、内部プリントスプーラ１０８がプリント装置１２０の紙の供給量１２２をモニタする。内部プリントスプーラ１０８は、プリント装置内の紙の供給量１２２のそのときのステータスに関する情報を入手するための問い合わせを送ることができる（１０３６）。プリントスプーラ１０８はプリント装置１２０がラスター化されたプリントジョブ１０２を出力するのに十分な紙の供給量１２２を有しているかどうかを判断するとき（１０３０）、プリントスプーラ１０８はそのときの紙の供給量の情報を使用できる。
【００５４】
図１１は、プリント装置１２０が十分な紙の供給量１２２を有するときに、ファイリング記憶装置１１５４からプリントジョブ１０２をリコールするための方法１１００の一実施例を示すフローチャートである。一実施例では、プリント装置１２０の内部に設けることができるプリントスプーラ１０８により、方法１１００を実施する。プリントスプーラ１０８が次のプリントジョブをデスプールするのに準備完了状態にあるとき（１１５０）、スプーラ１０８はプリント装置１２０の紙の供給量１２２の現在のステータスを入手できる（１１５２）。次に、この現在の紙の供給量１２２の情報は、プリント装置１２０のファイリング記憶装置１１５４に対してこれまで遅延できたラスター化されたプリントジョブ１０２の紙の必要量１１６と比較するのに、プリントスプーラ１０８によって使用される。プリントジョブ１０２に対して十分な紙が存在するとプリントスプーラ１０８が判断した場合（１１５６）、ファイリング記憶装置１１５４からジョブ１０２をリコールし、出力エンジン１１５８へ出力するために、キュー状態とされる。
【００５５】
別の実施例では、プリント装置１２０のプリント動作は、コピー、インバウンドファックス（受信ファックス）などのように、出力するために消費材を必要とし得る任意のタイプの画像処理動作も含むことができる。プリントスプーラ１０８は任意のオペレーティングシステム、例えば、マイクロソフトウィンドウズ（登録商標）ファミリのオペレーティングシステム、アップル社のマッキントシュオペレーティングシステム、ライナックスオペレーティングシステム、システムＶＵＮＩＸ（登録商標）オペレーティングシステム、バークレーソフト配信（ＢＳＤ）ＵＮＩＸ（登録商標）オペレーティングシステム、オープンソフトウェアファウンデーション（ＯＳＦ）ＵＮＩＸ（登録商標）オペレーティングシステム、サンソラリスオペレーティングシステム、ヒューレットパッカードのＵＮＩＸ（登録商標）（ＨＰ）ＵＸオペレーティングシステム、およびＩＢＭメインフレームマルチバーチャルストーレッジ（ＭＶＳ）オペレーティングシステムなどで作動できる。
【００５６】
開示した実施例は、紙の必要量１１６を判断し、この必要量と紙の供給量１２２とを比較するものとして説明したが、別の実施例では、紙の必要量１１６および紙の供給量１２２は任意のタイプの消費材の量、例えば、トナー／インク、ステープルなどとすることができる。上記紙の必要量１１６および紙の供給量１２２の定義に鑑み、本明細書で使用したような「紙」なる用語は、カットペーパのような物理的ハードコピーシート、アンカットペーパー（例えば、連続ロール）、ファブリック、フォイル、トナー／インク、ステープル、スタンプおよびバインディングクリップとしても広く定義される。
【００５７】
図１２は、本明細書に開示した実施例と共に一般に使用される主なハードウェアコンポーネントを示すブロック図である。本明細書に開示したシステムおよび方法は、計算装置１２０２およびプリント装置１２２０と共に使用できる。図１２には、一般に、計算装置１２０２内で使用される主なハードウェアコンポーネントが示されている。計算装置１２０２は、一般に、入力コンポーネントまたはデバイス１２０４および／または出力コンポーネントまたはデバイス１２０６と電子通信するプロセッサ１２０３を含む。このプロセッサ１２０３は、このプロセッサ１２０３と電子通信できる入力装置１２０４および／または出力装置１２０６、換言すれば、電気信号の形態で入力および／または出力できる装置に、作動的に接続される。計算装置１２０２の実施例は、同じ物理構造または別個のハウジングまたは構造体内の入力１２０４、出力１２０６およびプロセッサ１２０３も含む。
【００５８】
電子デバイス１２０２は、メモリ１２０８も含むことができ、メモリ１２０８はプロセッサ１２０３から分離されたコンポーネントでもよいし、またはプロセッサ１２０３と同一部品内に含まれるオンボードメモリ１２０８でもよい。例えば、マイクロプロセッサは所定の量のオンボードメモリを含むことが多い。
【００５９】
プロセッサ１２０３は、通信インターフェース１２１０とも電子通信する。この通信インターフェース１２１０は、他の装置１２０２、プリント装置１２２０、サーバなどとの通信に使用できる。従って、種々の装置１２０２の通信インターフェース１２１０は、計算装置１２０２の間で信号またはメッセージを送るために互いに通信するように設計できる。
【００６０】
計算装置１２０２は、他の通信ポート１２１２も含むことができる。更に、電子装置１２０２には別のコンポーネント１２１４も含むことができる。
【００６１】
本発明では、実施例と共に多数の種類の異なる装置を使用できる。計算装置１２０２は、ワンチップコンピュータ、例えばマイクロコントローラ、ワンボードタイプのコンピュータ、例えばコントローラ、代表的なデスクトップコンピュータ、例えばＩＢＭ−ＰＣコンパチコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、ＵＮＩＸ（登録商標）に基づくワークステーションなどとすることができる。従って、図１２のブロック図は、計算装置１２０２の代表的なコンポーネントを示すにすぎず、本明細書に開示した実施例の範囲を制限するものではない。
【００６２】
計算装置１２０２は、プリント装置１２２０と電子通信する。プリント装置１２２０は、画像処理ジョブを送受信する装置、例えば、多機能周辺機器（ＭＦＰ）または計算装置であり、プリント装置は、物理プリンタ、多機能周辺機器、プリンタプール、プリンタクラスター、ファックス装置、プロッタ、スキャナ、コピー機、論理装置、コンピュータモニタ、ファイル、電子ホワイトボード、ドキュメントサーバなどを含むが、これらに限定されるものではない。代表的なプリント装置、例えば、物理プリンタ、ファックス装置、スキャナ、多機能周辺機器またはコピー機は、あるタイプの計算装置である。この結果、プリント装置は、図１２を参照して説明されるような、プロセッサ、メモリ、通信インターフェースなども含む。プリント装置は２つ以上の装置の単一または複数のグループ（例えば、プールまたはクラスター）でもよい。
【００６３】
上記プリント装置１２２０の定義に鑑みれば、本明細書で使用するようなプリントジョブなる用語は、プリント装置が画像をプリントし、像形成し、スキャンし、変換し、プリント装置１２２０との間で送信などをするように、プリント装置に送られる任意の命令または命令の組として広義に定義される。従って、プリントジョブなる用語は、ファックス命令またはファックス送信ジョブ、ファイルをプリントするプリントジョブ、グラフィカルユーザインターフェース内の特定のウィンドーへプリントするためのプリントジョブ、スキャナからの画像をスキャンするためのスキャンジョブ、物理プリンタへプリントするためのプリントジョブ、ドキュメント操作ジョブ、ドキュメント変換ジョブなどを含むが、これらのみに限定されるものではない。プリントジョブおよびプリント装置は、実施例を説明するために使用したが、本明細書に開示した実施例の実施にあたり、他のタイプのプリントジョブおよびプリント装置も使用できる。
【００６４】
図１３は、本発明のシステムおよび方法を実現できる１つの可能な環境を示すネットワークのブロック図である。このシステムおよび方法は、スタンドアローンコンピュータシステムでも実施できる。図１３は、複数の計算装置１３０２ａ〜１３０２ｄ、１つのプリント装置１３２０および１つのプリントサーバ１３２４を備えたコンピュータネットワーク１３０１を示す。
【００６５】
情報および信号は、種々の異なる技術のいずれかを使用して表示できる。例えば、本明細書全体にわたって参照できるデータ、命令、コマンド、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁界または磁気粒子、光フィールドまたは粒子、または、それらの任意の組み合わせで表示できる。
【００６６】
本明細書に開示した実施例を参照し、説明した、種々の説明用の論理ブロック、モジュール、回路およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェアまたは双方の組み合わせによって実現できる。ハードウェアをソフトウェアのこのような相互交換性を明瞭に示すために、機能に関して種々の説明用のコンポーネント、ブロック、モジュール、回路およびステップについてこれまで一般的に説明した。かかる機能をハードウェアで実現するか、または、ソフトウェアで実現するかは特定の用途およびシステム全体に課される設計上の条件に応じて決まる。当業者であれば、各特定の用途に対し、種々の方法で、これまで説明した機能を実現できるが、かかる実現の決定は本発明の範囲から逸脱するものと解すべきではない。
【００６７】
本明細書で開示した実施例を参照し、これまで説明した種々の説明のための論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、アプリケーション特定集積回路（ＡＳＩＣ）フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネントまたは本明細書に説明した機能を実行するようになっているこれらの任意の組み合わせで実現できる。汎用プロセッサをマイクロプロセッサとすることができるが、別の例では、このプロセッサを従来の任意のプロセッサ、コントローラ、マイクロコントローラまたはステートマシンとしてもよい。プロセッサは、計算装置、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせた１つ以上のマイクロプロセッサ、または、かかる他の任意のコンフィギュレーションとしても実現できる。
【００６８】
本明細書に開示した実施例を参照し、説明した方法またはアルゴリズムのステップは、ハードウェアで直接、プロセッサで実行されるソフトウェアモジュール、またはこれらの組み合わせで具現化できる。ソフトウェアモジュールはＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭまたは当技術分野で知られている他の任意の形態の記憶メディアに常駐できる。記憶メディアの一例は、プロセッサが記憶メディアとの間で情報を書き込み、読み出しできるようにプロセッサに結合される。別の例では、記憶メディアはプロセッサと一体的とすることができる。プロセッサと記憶メディアはＡＳＩＣ内に常駐できる。ＡＳＩＣは、ユーザターミナル内に常駐できる。別の実施例では、プロセッサと記憶メディアはユーザターミナル内のディスクリートコンポーネントとして常駐できる。
【００６９】
本明細書に開示した方法は、これまで説明した方法を達成するための１つ以上のステップまたは動作を含む。本発明の範囲から逸脱することなく、これら方法のステップおよび／または動作を互いに相互に交換できる。換言すれば、実施例を適当に作動させるのに、特定の順序のステップまたは動作が必要でなければ、本発明の範囲から逸脱することなく、特定のステップおよび／または動作の順序および／または使用を変更してもよい。
【００７０】
以上で、本発明の特定の実施例および応用例について図示し、説明したが、本発明は本明細書に開示したのと同じコンフィギュレーションおよびコンポーネントだけに限定されるものではないと理解すべきである。本発明の要旨から逸脱することなく、これまで本明細書に開示した本発明の方法およびシステムの配置、作動および細部について、当業者に明らかとなる種々の変形および変更を行うことができる。
【図面の簡単な説明】
【００７１】
【図１】プリントスプーラの一実施例を示すブロック図である。
【図２】プリント装置が十分な紙の供給量を有するかどうかを判断するための方法の一実施例を示すフローチャートである。
【図３】プリント装置の紙の供給量をモニタするための方法の一実施例を示すフローチャートである。
【図４】プリントデータを受信するプリントスプーラの別の実施例を示すブロック図である。
【図５】デスプールするようにスケジュールが定められたプリントジョブの一実施例を示すブロック図である。
【図６】プリントジョブを分析するプリントスプーラの一実施例を示すブロック図である。
【図７】プリントジョブを遅延させる紙の供給量チェッカの一実施例を示すブロック図である。
【図８】プリントジョブを遅延される方法の一実施例を示すフローチャートである。
【図９】プリントジョブを再起動するプリントスプーラの一実施例を示すブロック図である。
【図１０】プリントジョブをラスター化した後のプリントジョブのスケジュールを定めるための方法の一実施例を示すフローチャートである。
【図１１】プリント装置のファイリング記憶装置からプリントジョブをリコールするための方法の一実施例を示すフローチャートである。
【図１２】本明細書で実施例と共に一般に使用される主なハードウェアコンポーネントを示すブロック図である。
【図１３】本発明のシステムおよび方法を実施できる１つの可能な環境を示すネットワークのブロック図である。
【符号の説明】
【００７２】
１０２…プリントジョブ、１０８…プリントスプーラ、１１０…セパレータ、１０４…プリントデータ、１０６…プリント設定、１１２…アナライザ、１０４…プリントデータ、１０６…プリント設定、１１４…プリントキュー、１０２…プリントジョブ、１１６…紙の必要量、１１８…コンパレータ、１２２…紙の供給量、１１６…紙の必要量、１２０…プリント装置、１２２…紙の供給量。
【図１】
2008090832.tif 000004
【図２】
2008090832.tif 000005
【図３】
2008090832.tif 000006
【図４】
2008090832.tif 000007
【図５】
2008090832.tif 000008
【図６】
2008090832.tif 000009
【図７】
2008090832.tif 000010
【図８】
2008090832.tif 000011
【図９】
2008090832.tif 000012
【図１０】
2008090832.tif 000013
【図１１】
2008090832.tif 000014
【図１２】
2008090832.tif 000015
【図１３】
2008090832.tif 000016