JP4541581B2 - Printing control apparatus, data processing method, and storage medium - Google Patents

Printing control apparatus, data processing method, and storage medium Download PDF

Info

Publication number
JP4541581B2
JP4541581B2 JP2001079171A JP2001079171A JP4541581B2 JP 4541581 B2 JP4541581 B2 JP 4541581B2 JP 2001079171 A JP2001079171 A JP 2001079171A JP 2001079171 A JP2001079171 A JP 2001079171A JP 4541581 B2 JP4541581 B2 JP 4541581B2
Authority
JP
Japan
Prior art keywords
job
print job
print
processing
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001079171A
Other languages
Japanese (ja)
Other versions
JP2002273985A (en
Inventor
順一 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001079171A priority Critical patent/JP4541581B2/en
Publication of JP2002273985A publication Critical patent/JP2002273985A/en
Application granted granted Critical
Publication of JP4541581B2 publication Critical patent/JP4541581B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ホストコンピュータで生成されるPDLデータを含む印刷ジョブを受信して処理する印刷制御装置およびデータ処理方法および記憶媒体に関するものである。
【0002】
【従来の技術】
従来、ユーザの指示にしたがって印刷データを生成するホストコンピュータと所定の通信媒体を介して前記ホストコンピュータから送信された印刷データをデータ処理して画像データを生成し、用紙などのメディアに実際に印刷を行なう印刷装置からなる印刷システムが提案されている。
【0003】
このようなホストコンピュータと印刷装置から構成された印刷システムにおいては、ホストコンピュータから生成される印字データを印刷するだけではなく、ホストコンピュータから印刷装置の情報獲得、環境設定を行なうといった機能が要求されている。
【0004】
特に、昨今のネットワークの普及により、印刷処理時間の速い高機能な1台の印刷装置を複数のユーザでネットワークを介して共有することにより、オフィスにおける大量の印刷ニーズを満たしながら管理コストを最低限に抑えるといった使用形態が一般化している。
【0005】
このような状況下で、管理者はリアルタイムで遠隔地にある印刷装置の管理を行ないたいという要求があり、また一般ユーザは自分が発行した印刷ジョブの処理状況の確認や、取り消しといった二次操作を行ないたいという要求があり、この要求を満たす印刷システムが数多く実現化されている。
【0006】
図15は、従来の印刷システムにおける機能構成を説明するブロック図であり、所定の印刷媒体380を介して接続されているホストコンピュータ300から印刷装置350への印刷ジョブ送信、印刷装置の情報獲得、環境設定を行なう仕組みを具現化した印刷システムの機能構成に対応する。
【0007】
図15において、ホストコンピュータ300はアプリケーション部301、プリンタドライバ部302、送信バッファ303、I/Fドライバ部304、ユーティリティ部305、論理チャネル制御部306、ジョブパケット生成部307から構成されている。
【0008】
アプリケーション部301はユーザにグラフィカルユーザインタフェースを提供し、ユーザの目的にあった画像データを生成する。プリンタドライバ部302は、アプリケーション部301が生成した画像データを印刷装置350で印刷可能なページ記述言語(以下PDLと略称)データ(PDLデータ)に変換する。送信バッファ303はプリンタドライバ部302が生成したPDLデータを一時的に格納しておく。
【0009】
ジョブパケット生成部307は送信バッファ303に蓄えられたデータに、アプリケーション部301が所有する印刷ジョブの情報を付加して所定のフォーマットに従ってジョブパケットを生成する。
【0010】
ユーティリティ部305は印刷装置350に関する情報を獲得してグラフィックユーザインタフェースを提供して、ユーザや管理者の要望に従って、印刷装置350における機器の情報を設定したり、印刷ジョブの状態の獲得や取り消しの要求を行なったりするための管理パケットの生成を行なう。
【0011】
論理チャネル制御部306はジョブパケット生成部307が生成するジョブパケットとユーティリティ部305が生成する管理パケットとの多重化の制御を行い、OSI7階層におけるトランスポート層の役割を受け持つ。I/Fドライバ部304は論理チャネル制御部306から生成されたデータの送信と印刷装置350から送信されたデータの受信を行なう。
【0012】
印刷装置350は、論理チャネル制御部351、機器データベース部352、ジョブプリプロセッサ部353、受信バッファ354、PDLトランスレータ部355、描画バッファ356、描画部357、プリンタエンジン部358、I/Fドライバ部359、情報管理部360、操作パネル361等から構成されている。
【0013】
I/Fドライバ部359はホストコンピュータ300から送信されたデータの受信と、論理チャネル制御部351から生成されたデータの送信を行なう。論理チャネル制御部351はI/Fドライバ部359が受信したデータを解析し、ジョブパケットはジョブプリプロセッサ部353、管理パケットは情報管理部360に分別し、逆に情報管理部360から送信される管理パケットをI/Fドライバ部359に送信する。
【0014】
ジョブプリプロセッサ部353は、ジョブパケットを受け取って解釈し、PDLデータを受信バッファ354に、ジョブの管理情報を機器データベース部352に送る。受信バッファ354は受信されたPDLデータが順番に格納されている。
【0015】
機器データベース部352はコピー数、出力用紙サイズ、複数ページ印刷などのジョブ情報や、機器に関する情報が格納されている。PDLトランスレータ部355は受信バッファ354に格納されたPDLデータと機器データベース352に格納されたジョブ情報を元にトランスレート処理を行い、描画部357がリアルタイムに描画できる中間データに変換し、描画バッファ356に送信する。
【0016】
描画バッファ356は複数ページ分の中間データを格納し、描画部357に渡す。描画部357は描画バッファ356から中間データを取得し、プリンタエンジン358が行なう用紙搬送処理とともにリアルタイムに中間データのレンダリングを行い、プリンタエンジン部358にビデオデータとして送信を行なう。
【0017】
プリンタエンジン部358は既知の電子写真技術を用いて描画部357から送信されたビデオデータを元に、用紙に物理的に印刷を行なう。
【0018】
そして、そのジョブの全ての用紙への印刷を行い排紙が完了すると、機器データベース352からそのジョブの情報が削除される。
【0019】
情報管理部360はユーティリティ部305の情報獲得要求を管理パケットの形で受け取り、機器データベース352から必要な情報を獲得し、管理パケットに変換して論理チャネル制御部351を介してホストコンピュータ300に返答する。また、ジョブの終了を検知して自発的に終了の通知を管理パケットに変換してホストコンピュータ300に通知する。
【0020】
操作パネル361は印刷装置350の本体に備え付けられている液晶やLEDなどのディスプレイ装置と操作ボタンから構成されており、ユーザからの設定を情報管理部360を通して機器データベースに反映させ、あるいは、エラーなど現在の機器の状態を表示するという処理を行なう。
【0021】
次に従来例におけるジョブの取り消し機能の仕組みを説明する。
【0022】
従来のジョブの取り消し機能は、印刷要求を出したユーザあるいは管理者が印刷装置350に対して送信されたジョブの印刷取り消しを要求する機能で、ホストコンピュータ300側のユーティリティ部305にあるユーザインタフェース、あるいは、印刷装置350側の操作パネル361から取り消しを要求する。
【0023】
印刷装置350は印刷ジョブの印刷要求を受けると、ジョブプリプロセッサ部353で新規ジョブを認識し、印刷装置350内で一意に保たれるジョブIDをジョブに対して割り振り、その情報を機器データベース部352に格納する。この情報は印刷ジョブの全ページが解釈、描画され、プリンタエンジン部358で最後の1ページの排紙が完了したと検知された段階で削除が行なわれる。
【0024】
ユーティリティ部305は、印刷装置350に対して装置内ジョブリストの獲得を要求する管理パケットを発行すると、印刷装置350は装置内で認識しているすべてのジョブの前記ジョブIDのリストをホストコンピュータ300に対して送信する。ユーティリティ部305はこれを受け取り、グラフィックユーザインタフェースを用いてそのジョブ管理情報の表示を行なう。
【0025】
また、印刷ジョブを送信したユーザあるいは印刷装置350の管理者は、ジョブの取り消しが可能であり、具体的には、ホストコンピュータ300側のユーティリティ部305のグラフィックユーザインタフェースから取り消しを行なうジョブIDの指定が行なわれ、管理パケットに変換されて印刷装置350に取り消し要求の指令が行なわれる。そして、ホストコンピュータ300から印刷装置350へジョブ取り消し要求の管理パケットが送信されると、情報管理部360が検知を行い、印刷パス上に該当ジョブが存在する場合にはその印刷の取り消しを行なう。
【0026】
一方、操作パネル361から取り消しを行なう場合は、ジョブIDを明示的に指定するのが困難であるので、印刷パス上もっとも処理が進んでいるジョブを取り消しの対象とする。具体的にはプリンタエンジン部358でジョブを処理しているときはそのジョブIDを取り消しの対象とし、そうでない場合には描画部357、PDLトランスレータ部355といった感じに印刷パス上で処理中のジョブが見つかった段階で該当ジョブIDの決定を行い、取り消しの対象とする。
【0027】
操作パネル361によるジョブの取り消しは、該当ジョブIDの決定方法が異なるだけで、実際の印刷装置内の取り消し処理はユーティリティ部305による取り消しと同じである。
【0028】
以上の操作によって、印刷装置350内に格納された任意のジョブの取り消し動作が可能となっている。
【0029】
また、割り込み印刷機能を有する印刷装置では、印刷ジョブのすべてのページの排紙を終えて印刷が完了するまで、その印刷ジョブのPDLデータを常に保持しておく。そして、割り込みの指示がなされた場合に、PDLデータの解析処理やプリントエンジンでの排紙処理など実際の印刷処理を行なっているすべての印刷ジョブを一旦取り消し、割り込み指示を受けた印刷ジョブの処理を最優先で行い、その後、再び、さきほど取り消した印刷ジョブのPDLデータを解析しなおし、すでに排出が完了したページの次のページから印刷を行なっている。
【0030】
この場合、受信した印刷ジョブのPDLデータをジョブ完了まで保持する必要があるため、従来の受信バッファより大きなサイズの受信バッファ、ジョブスプーラを備えることが多い。ジョブスプーラがフルにならないよう、たとえば、HDDなどのジョブスプーラに格納しながら処理をする場合、通常の印刷ジョブのPDLデータサイズに比べ十分大きなサイズのスプーラを使用し、ジョブスプーラがフルにならないことを前提としている。
【0031】
【発明が解決しようとする課題】
しかし、印刷ジョブのPDLデータが想定以上に膨大な場合や、投入されている印刷ジョブの数が多い場合は、ジョブスプーラがフルになってしまいPDLデータの追加格納ができない状態になってしまうことがあり得る。
【0032】
例えば先頭以外のジョブを格納する場合、現在印刷処理中の先頭の印刷ジョブが完了すれば、その印刷ジョブのPDLデータがジョブスプーラから削除されてジョブスプーラに空きができるため、しばらく待っていれば再びPDLデータの格納を続けることが可能となる。
【0033】
しかし、先頭のジョブのPDLデータの格納時にジョブスプーラがフルになってしまった場合は、いくら待っていてもジョブスプーラに空きはできないので、印刷装置は処理ができずに止まってしまうことになる。
【0034】
また、複数のインタフェースから複数のジョブを同時に受信格納している場合、よりいっそうジョブスプーラフルの状態が発生しやすい。
【0035】
本発明は、上記の問題点を解決するためになされたもので、本発明の第1の目的は、先頭の印刷ジョブのデータ量が印刷装置で保持可能なデータ容量を超えるような場合に、後続する印刷ジョブの処理が滞ってしまうフル状態を自動的に回避して、後続する印刷ジョブを有効に処理できる状態に遷移させることができる。
【0037】
更に、第の目的は、ジョブスプーリングフル状態に遷移してしまう事態を確実に回避することができる印刷制御装置およびデータ処理方法および記憶媒体を提供することである。
【0038】
【課題を解決するための手段】
本発明は複数のホストコンピュータで生成される印刷データを含む印刷ジョブを該複数のホストコンピュータから並行して受信して処理する印刷制御装置であって、前記ホストコンピュータから受信する各印刷ジョブをそれぞれの印刷ジョブの印刷が完了するまで格納するジョブ格納手段(図1に示すジョブスプーラ104に相当)と、前記ジョブ格納手段に格納されている全印刷ジョブの処理順を管理する印刷ジョブ処理順管理手段(図1に示すジョブ読み出しテーブル111に相当)と、前記ジョブ格納手段の空き容量が追加格納困難なフル状態かどうかを判定する状態判定手段(図1に示すジョブプリプロセッサ部103に相当)と、前記状態判定手段によりフル状態であると判定された場合に、前記ジョブ格納手段に格納している最中の印刷ジョブが前記印刷ジョブ処理順管理手段より管理されている先頭の印刷ジョブであるかどうかを調査する調査手段(図1に示すジョブプリプロセッサ部103に相当)と、前記調査手段により格納中の印刷ジョブが先頭の印刷ジョブであると判断された場合に、当該印刷ジョブを読み飛ばして次の印刷ジョブを受信可能に制御する処理を実行し、前記調査手段により格納中の印刷ジョブが先頭の印刷ジョブでないと判断された場合に、前記処理を実行しないジョブ処理手段(図1に示すジョブプリプロセッサ部103に相当)とを有するものである。
【0051】
【発明の実施の形態】
〔第1実施形態〕
図1は、本発明の第1実施形態を示す印刷制御装置を適用可能な印刷装置の構成を説明するブロック図であり、図2は、本発明の第1実施形態を示す情報処理装置の構成を説明するブロック図であり、図1に示す印刷装置100と図2に示すホストコンピュータ200とは所定のインタフェース120,210を介して通信可能に構成されており、印刷装置100とホストコンピュータ200とで印刷システム、特に、ホストコンピュータから印刷装置への印刷ジョブ送信、印刷装置の情報獲得、環境設定を行なう仕組みを具現化した印刷システムの機能構成に対応する。
【0052】
なお、印刷システムは印刷すべきジョブを生成するホストコンピュータ200と実際に用紙に印刷を行なう印刷装置100、および所定のインタフェース210、120から構成されているが、インタフェース210、120はIEEE1284で規定されているローカルインタフェースでもEtherNetのようなネットワークインタフェースでもよく、本実施形態ではローカルインタフェースで構成されているものとして以下各部の構成について説明する。
【0053】
図1に示す印刷装置100において、101はI/Fドライバ部で、論理的なデータを電気信号に変換し、インタフェースとのやりとりを行なう。102は論理チャネル制御部で、I/Fドライバ部101から受信したデータを解析し、ジョブパケットと管理パケットをそれぞれ異なるチャネルに割り振り、OSI7階層におけるトランスポート層の多重化を行なう。
【0054】
103はジョブプリプロセッサ部で、ジョブパケットを受け取って解析を行い、印刷ジョブの属性情報は機器データベース部105、PDLデータはジョブスプーラ104に振り分けて格納する。104はジョブスプーラで、印刷ジョブのPDLデータを印刷完了まで一時的に保持する。
【0055】
106はPDLトランスレータ部で、ジョブの処理順番および停止しているかどうかを記述したジョブ読み出しテーブル111、ジョブ読み出しテーブル111に記述された順番にジョブを取り出し、機器データベース部105に格納された属性情報とジョブスプーラ104に格納されたPDLデータを解析し、リアルタイムに描画処理可能な中間データを生成して描画バッファ107に格納する。
【0056】
107は描画バッファで、中間データをページ単位に印刷完了まで一時的に保持する。108は描画部で、描画バッファ107から中間データを取得し、プリンタエンジン109部が行なう用紙搬送処理とともにリアルタイムに中間データのレンダリングを行い、プリンタエンジン部109にビデオデータとして送信を行なう。プリンタエンジン部109は、既知の電子写真技術を用いて描画部108から送信されたビデオデータをもとに、用紙に物理的に印刷を行なう。
【0057】
110は情報管理部で、ホストコンピュータ200から送信された管理パケットを受け取り、要求に応じて機器データベース部105から情報の獲得を行い、またジョブの取り消し要求や停止要求、再開要求を行い、またジョブの終了や機器の異常を検知して自立的にホストコンピュータ200に通知イベントを発行する。
【0058】
112は処理部で、後述する用紙サイズ変更指定が行なわれた時に、実際の用紙サイズ変更処理を行なう。113は操作パネルで、印刷装置100の本体に備え付けられている液晶やLEDなどのディスプレイ装置と操作ボタンから構成されている。
【0059】
なお、ジョブスプーラ104は、HDDやFLASHメモリ、あるいはDRAMなどの大容量メモリデバイスから構成される。ホストからの印刷データの格納スピードを向上させるため、通常の印刷ジョブのPDLデータのサイズに対し十分大きな容量のメモリデバイスを用いる。
【0060】
図2に示すホストコンピュータ200において、201はアプリケーション部で、ユーザがグラフィックユーザインタフェースを操作しながら所望の印刷データを生成する。202はプリンタドライバ部で、アプリケーション部201が作成した画像データを、印刷装置100が印刷可能なページ記述言語(以下PDLと略称)データに変換するプリンタドライバ部202、プリンタドライバ部202が変換したPDLデータを一時的に格納しておく送信バッファ203、送信バッファ203に格納されたPDLデータとアプリケーション部201が有するジョブ属性情報とから所定のジョブパケットを生成するジョブパケット生成部207、印刷装置100の状態の確認や送信した印刷ジョブの印刷状態の確認や、印刷ジョブの取り消し、停止などの操作をグラフィックユーザインタフェースを用いて、これらの要求を印刷装置100が解釈可能な管理パケットに変換するユーティリティ部205、ジョブパケットと管理パケットをそれぞれ異なるチャネルに割り振り、OSI7階層におけるトランスポート層の多重化を行なう論理チャネル制御部206、論理的なデータを電気信号に変換し、インタフェースとのやりとりを行なうI/Fドライバ部204から構成される。
【0061】
図2に示すホストコンピュータ200において、ホストコンピュータ部200の論理チャネル制御部206から印刷装置100の論理チャネル制御部102までに行なわれるデータ通信は、例えばネットワークの場合はTCP/IP、ローカルの場合はIEEE1284/IEEE1284.4 による規定のプロトコルにより、トランスポート層レベルの多重化が行なわれているものとし、詳細な説明については省略する。
【0062】
論理的にジョブパケット生成部207から送信されるジョブパケットは、ジョブプリプロセッサ部103によって受信され、この経路をジョブチャネルという。また、ユーティリティ部205から送受信される管理パケットは情報管理部110によって送受信され、この経路を管理チャネルという。
【0063】
双方のチャネルは双方向通信が可能であることを規定しているが、ジョブチャネルに関してはホストコンピュータ200から印刷装置100への片方向だけでも本実施形態を阻害するものではない。ジョブチャネルと管理チャネルはOSI7階層におけるトランスポート層レベルで多重化されており、片方のフロー処理が他方に影響することはない。
【0064】
次にジョブパケット、管理パケットの構造について説明する。
【0065】
ジョブパケット、管理パケットはアプリケーション層のプロトコルであり、ヘッダ部、パラメータ部から構成されるパケット構造になっている。
【0066】
1つの印刷ジョブは複数のジョブパケットから構成される。印刷ジョブを構成する一連のジョブパケットの集まりをジョブスクリプトと呼ぶ。
【0067】
図3は、図2に示したジョブパケット生成部207から送信されるジョブパケットの構造を示す説明図であり、縦軸はバイトを示し、横軸は各バイトのビットを示している。
【0068】
図3において、0〜1バイト目のオペレーションコードは、パケットの機能を示す長さ2バイトのIDである。ジョブパケットにおいては以下の値、すなわち、「0x0201」はジョブ開始オペレーションを、「0x0202」はジョブ属性設定オペレーションを、「0x0204」はPDLデータ送信オペレーションを、「0x0205」はジョブ終了オペレーションを取ることができる。
【0069】
2〜3バイト目のブロック番号は、ジョブパケットを送信した側が返答を要求する場合に、受信側からの返答が送信側のどの返答要求に対するものであるか、その対応を取るために使用する番号である。
【0070】
例えばそれぞれブロック番号=1,2,3というジョブパケットを立て続けに送信した時にブロック番号=2というエラーパケットが返ってきた場合、返答が返ってきたとき、送信側は、2番目に送ったジョブパケットにエラーが発生したことを特定することが可能である。
【0071】
4〜5バイト目のパラメータ長はデータ部のバイト長さを示す領域で、0〜64Kバイトまでを示すことが可能である。
【0072】
6〜7バイト目はジョブパケットの各種フラグを示す領域でそれぞれ以下の値を示す。
【0073】
例えばエラーフラグの値が「1」の場合、印刷装置100で何らかのエラーが発生したことを示す。このフラグは印刷装置からホストコンピュータ200に送られる返信パケットに付加される。また、通知フラグの値が「1」の時は、ホストコンピュータ200からの要求パケットに対する返答ではなく、印刷装置100がなんらかの通知事項があることをホストコンピュータ200に通知することを示している。
【0074】
また、継続フラグの値が「1」の場合、データ部にすべてのデータが入らなかったため、次のジョブパケットで残りのデータが送られることを示す。次のジョブパケットは前のパケットと同じオペレーション・コード、ブロック番号を設定しなくてはならない。
【0075】
返答要求は、ホストコンピュータ200から印刷装置100に対して返答パケットが必要な場合に「1」をセットする。一方、返答要求が「0」のときは要求パケットは正常に処理された場合には返答は返さない。なお、印刷装置100でエラーが発生した場合には返答要求の「0」/「1」に関わらず、つねにエラーフラグの値を「1」にした返答パケットを送出する。
【0076】
8〜9バイト目のユーザIDおよび10〜11バイト目のパスワードは、要求パケットでできる操作にセキュリティ的制限を設ける際に認証に使われる領域であり、本実施形態には影響しない。
【0077】
12バイト目以降はオペレーションコードに対応した追加データが格納される。
【0078】
ジョブ属性設定オペレーションの場合、設定したいジョブ属性IDとジョブ属性値を設定する。ジョブ属性IDとは、ジョブに関する属性あるいは環境に対応した識別子を示すもので、ISO−10175(DPA)で規定されるジョブの属性に相当するIDが予め割り振られている。以下にジョブ属性の代表的なものを挙げる。
【0079】
ジョブ属性IDが「0x0101」はジョブ名称を、「0x0103」はジョブオーナー名を、「0x016a」はジョブサイズを、「0x0104」 は用紙サイズを、「0x0105」は複数ページ印刷を示す。
【0080】
この他、印刷装置の機能に応じて、印刷部数、モノクロ・カラーなどのジョブ属性とそれに対応するIDを割り振ることができる。
【0081】
PDLデータ送信オペレーションの場合は、追加データ部にはPDLデータが入る。1つのジョブパケットのデータは前記パラメータ長に格納できる最大サイズまでなので、64KBまで格納可能であり、それ以上のデータは複数のPDLデータ送信オペレーションに分割して送信する。この場合は前記継続フラグに1を立てる。ジョブ終了オペレーションの場合は追加データは存在しない。
【0082】
次にホストコンピュータ200にあるジョブパケット生成部207の機能処理を説明する。
【0083】
図4、図5は、本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートであり、図2に示したジョブパケット生成部207の動作手順に対応する。なお、(501)〜(505),(601)〜(607)は各ステップを示す。
【0084】
ジョブパケット生成部207は、アプリケーション部201により、印刷指定が選択された時にプリンタドライバ部202が起動し、プリンタドライバ部202が印刷データを送信バッファ203に生成を完了した後に処理が開始される。
【0085】
そして、ステップ(501)において、図3に示したオペレーションコードを格納する領域にジョブ開始オペレーションコード「0x0201」を指定したジョブパケットを論理チャネル制御部206に発行する。
【0086】
以降、ジョブ終了オペレーションを発行するまで、全てのオペレーションは当該ジョブの情報設定のためだけに用いられる。
【0087】
次に、ステップ(502)において、ジョブの名称の設定が行なわれる。さらに、図3に示したオペレーションコードを格納する領域にジョブ属性設定オペレーションコード「0x0202」、パラメータ部に、ジョブ名称を示すジョブ属性ID(=「0x0101」)およびジョブ属性値となる名称を指定したジョブパケットを論理チャネル制御部206に発行する。
【0088】
そして、ステップ(503)において、ジョブの所有者の設定が行なわれる。さらに、図3に示したのオペレーションコードを格納する領域にジョブ属性設定オペレーションコード「0x0202」、パラメータ部に、ジョブ所有者を示すジョブ属性ID(=「0x0103」)およびジョブ属性値となる所有者名を指定したジョブパケットを論理チャネル制御部206に発行する。
【0089】
次に、ステップ(504)において、ジョブのサイズの設定が行なわれる。さらに、図3に示したオペレーションコードを格納する領域にジョブ属性設定オペレーションコード「0x0202」、パラメータ部に、ジョブサイズを示すジョブ属性ID (=「0x016a」)およびジョブ属性値となるジョブのデータサイズを指定したジョブパケットを論理チャネル制御部206に発行する。
【0090】
そして、ステップ(505)において、変数sizeに送信すべきPDLデータのサイズを代入する。
【0091】
次に、図5に示すステップ(601)において、変数sizeの大きさをチェックし、変数sizeの大きさが64Kより大きいかどうかを比較判定する。なお、64Kと比較するのは、ジョブパケットに指定できるパラメータのサイズはパケットヘッダのパラメータ長のサイズが16ビットで表現されているため、最大64Kバイトの制限があるので、それ以上のデータは複数のジョブパケットに分割して発行されることになるからである。
【0092】
ここで、もしPDLデータのサイズが64Kバイトよりも大きいと判定された時は、ステップ(605)において、図3に示したパケットヘッダの継続フラグの値を「1」に設定し、さらに、ステップ(606)において、送信バッファ203から64Kバイト分のPDLデータが取り出され、図3に示したオペレーションコードを格納する領域にPDLデータ送信オペレーション(0x0204)に、パラメータ部に前記取り出されたPDLデータを指定したジョブパケットを論理チャネル制御部206に発行する。
【0093】
そして、ステップ(607)において、送信した分の64Kバイトをsizeから減じて、ステップ(601)の分岐に戻る。
【0094】
一方、ステップ(601)において、データのサイズが64Kバイト以下の場合は、あと1回のPDLデータ送信オペレーションで全データの送信が完了する。この場合、ステップ(602)において、図3に示したパケットヘッダの継続フラグの値を「0」にして、PDLデータ送信が最後であることを設定し、さらにステップ(603)において送信バッファ203からすべてのPDLデータが取り出され、図3のオペレーションコードを格納する領域にPDLデータ送信オペレーション(0x0204)に、パラメータ部に前記取り出されたPDLデータを指定したジョブパケットを論理チャネル制御部206に発行する。
【0095】
その後、ステップ(604)において、図3に示したオペレーションコードを格納する領域にジョブ終了オペレーションコード「0x0205」を指定したジョブパケットを論理チャネル制御部206に発行して、処理を終了する。
【0096】
次に、図1に示した印刷装置100におけるジョブ読み出しテーブル111の説明を行なう。
【0097】
図6は、図1に示した印刷装置100におけるジョブ読み出しテーブル111を説明する図である。
【0098】
図6の(A)は読み出しテーブルにジョブ「1」〜「4」が登録されていることを示す。
【0099】
PDLトランスレータ部106はトランスレートを実行する時、読み出しテーブル111の上から順番に、ジョブスプーラ104から印刷ジョブの取り出しを行なう。ジョブプリプロセッサ部103が、後述する図7のステップ(705)において、ジョブ読み出しテーブル111にジョブ「5」を追加する場合、図6の(B)に示すように、ジョブ「5」は読み出しテーブルの最後尾に追加される。
【0100】
すなわち、この図6の(B)に示す例の場合には、ジョブ「4」の後ろに追加されることになる。
【0101】
また、ジョブ「1」を最後まで読み出しを完了したと認識すると、図6の(C)に示すように、ジョブ「1」はジョブ読み出しテーブルから削除される。以上のようにジョブ読み出しテーブル111はPDLトランスレータ部106が処理するジョブの順番の制御を行なう。PDLトランスレータ部106以降の印刷ジョブの処理については従来系と同じ処理であるため、説明を省略する。
【0102】
次に、図2に示したホストコンピュータ200におけるユーティリティ部205の説明を行なう。
【0103】
ユーティリティ部205は印刷装置100に対して、印刷ジョブのリストや属性表示およびジョブのキャンセル,停止、再開指示等の操作を指定するために存在する。
【0104】
ユーティリティ部205が行なう操作は管理チャネルを用い、印刷ジョブを送信するジョブパケットと同等の管理パケットを送受信することによって行なわれる。管理パケットはジョブパケットと同様、図3に示すようなデータ構造を持つ。「0〜11」バイト目のパケット・ヘッダの各情報の内容もジョブパケットと同様で、オペレーションコードのみが以下のように異なる。
【0105】
例えばオペレーションコードが「0x010b」の場合は、印刷ジョブのキャンセル指定を示し、オペレーションコードが「0x0123」の場合は、印刷ジョブの割り込み指定を示し、オペレーションコードが「0x010d」の場合は、印刷ジョブのリスト獲得を示し、オペレーションコードが「0x0120」の場合は、印刷ジョブの停止指定を示し、オペレーションコードが「0x0121」の場合は、印刷ジョブの再開指定を示し、オペレーションコードが「0x0105」の場合は、属性の設定を示し、オペレーションコードが「0x0106」の場合は、属性の獲得を示す。
【0106】
一方、管理パケットはジョブパケットと異なり、個々のパケットが固有の目的に使用される。ジョブパケットにより、印刷ジョブが送信されると、印刷装置100はジョブプリプロセッサ部103の働きにより、機器データベース部105にジョブの情報が格納される。ユーティリティ部205が印刷装置100にどのジョブが格納されているかを知りたい時は、前記印刷ジョブのリスト獲得のオペレーションコード「0x010d」を指定した管理パケットを管理チャネルに送信する。パラメータ部には獲得したいオブジェクトである印刷ジョブクラスを示すオブジェクトid=0x0102を指定する。
【0107】
この管理パケットは図2に示すホストコンピュータ200の論理チャネル制御部206に送られ、インタフェース210を介して印刷装置100の情報管理部110に送られる。
【0108】
情報管理部110は、受け取った管理パケットのオペレーションコードによって、印刷ジョブのリスト獲得だと認識し、機器データベース部105に蓄えられた印刷ジョブのリスト情報を獲得して、返信パケットの返信を行なう。返信パケットのパラメータ部には、印刷装置100が認識している印刷ジョブの個数および、各印刷ジョブによって一意に決まるオブジェクトidのリストが格納されている。
【0109】
各印刷ジョブが、ジョブ属性設定オペレーションによりジョブ名称、オーナ、サイズの情報を持っている場合、ユーティリティ部205は印刷ジョブに関する詳細な情報を獲得可能である。
【0110】
ユーティリティ部205は印刷ジョブのリストを獲得した場合、さらに個々の印刷ジョブに対して、詳細な属性を獲得するために、属性の獲得をオペレーションコード(=「0x0106」)に指定した管理パケットを印刷装置200に送信する。
【0111】
情報管理部110は、受け取った管理パケットのオペレーションコードによって、属性の獲得だと認識し、機器データベース部105に蓄えられた指定印刷ジョブのオブジェクトidに対応する指定した属性idの属性を獲得し、返信パケットの返信を行なう。
【0112】
そして、管理パケットのパラメータ部には、獲得したい印刷ジョブのオブジェクトid、獲得したい属性のidを指定する。例えば、1番の印刷ジョブのジョブ名称と獲得したい場合には、オブジェクトidに「1」、属性idに「0x0101」を指定する。
【0113】
次に、図1に示した印刷装置100におけるジョブプリプロセッサ部103の説明を行なう。
【0114】
図7,図8は、本発明に係る印刷制御装置における第1のデータ処理手順の一例を示すフローチャートであり、図1に示したジョブプリプロセッサ部103の動作手順の一例に対応する。なお、(701)〜(719)は各ステップを示す。
【0115】
ジョブプリプロセッサ部103は印刷装置100の起動時に開始され、以後印刷装置100の電源遮断まで処理を継続する。
【0116】
最初に、ステップ(701)において、これからの動作のための種々の初期化処理を行い、ジョブパケットの受信を行なう。該ジョブパケットを受信すると、ステップ(702)において、ジョブ開始オペレーションかどうかの比較が行なわれる。ここで、ジョブ開始オペレーション以外のオペレーションが到着したと判定した場合には、不正動作となり、ステップ(703)で、ジョブパケットの破棄が行なわれ、その後、ステップ(701)に戻る。
【0117】
一方、ステップ(702)において、ジョブ開始オペレーションと判断された場合は、ステップ(704)で、当該ジョブのジョブIDの獲得が行なわれる。ジョブIDは2バイトの番号として割り振られ、機器データベース部105におけるジョブ属性情報の読み書き処理のキーとして利用される。
【0118】
次に、ステップ(705)において、ジョブ読み出しテーブル111に当該ジョブのジョブIDが追加される。続いて、ステップ(706)で、次のジョブパケットの受信を行なう。そして、ステップ(707)において、ジョブパケットがジョブ終了オペレーションであるかどうかの比較を行い、ジョブ終了オペレーションであると判断した場合には、一連のループを抜けて、ステップ(701)の初期状態に戻る。
【0119】
一方、ステップ(707)においてジョブ終了オペレーションでないと判断された場合には、ステップ(708)において、受信したジョブパケットが属性設定オペレーションであるかどうかを判断して、属性設定オペレーションであると判断した場合は、ステップ(709)において、機器データベース部105に属性データの設定を行なう。この時キーとなるのはステップ(704)で獲得したジョブIDとジョブパケットの追加データに記述されている属性IDおよび属性データである。このようにして属性設定が完了すると次のジョブパケットを受信するため、ステップ(706)に戻る。
【0120】
一方、ステップ(708)で、属性設定オペレーションでないと判断した場合は、ステップ(710)において、ジョブパケットがPDLデータ送信オペレーションであるかどうかの比較判定を行い、PDLデータ送信オペレーションでないと判断した場合は、いずれのオペレーションにも該当しない不正なジョブパケットであるので、ステップ(711)において、ジョブパケットの破棄を行い、ステップ(706)に戻る。
【0121】
一方、ステップ(710)で、PDLデータ送信オペレーションであったと判定した場合、ステップ(712)において、ジョブスプーラ104がフル(満杯状態)かどうかを調べ、フルでないと判定した場合は、ステップ(713)において、ジョブスプーラ104にPDLデータの追加を行なう。この時、ジョブIDをキーとして渡し、後で取り出すときにもジョブIDをキーとして取り出せるようにしておく。
【0122】
ジョブスプーラ104に格納されたPDLデータは、ジョブの完了などにより消されるまでは、何度でも読み出すことができる。
【0123】
このようにしてジョブスプーラ104への追加が完了すると、次のジョブパケットを受信するため、ステップ(706)に戻る。
【0124】
一方、ステップ(712)において、ジョブスプーラ104がフルであったと判断した場合は、ステップ(714)において、当該ジョブが先頭のジョブかどうかを調べ、先頭のジョブではなかったと判断した場合、ステップ(712)に戻る。そして、ジョブスプーラ104がフルでなくなるか、先頭のジョブになるかのいずれかになるまで、データ処理を待つことになる。
【0125】
そして、ステップ(714)において当該ジョブが先頭のジョブであったと判断された場合、ステップ(715)において、ジョブスプーラフルというエラーを発生させる。印刷装置100上の操作パネル113には「ジョブスプーラフル」というエラー表示がなされる。そして、ステップ(716)において、情報管理部110にジョブの取り消しを指示し、それにより情報管理部110は、上述したようなジョブの取り消し処理を行なう。
【0126】
そして、この後はジョブ終了オペレーションまでの全てのジョブパケットを読み飛ばしていく。すなわち、ステップ(717)において、次のジョブパケットの受信を行い、ステップ(718)において、ジョブパケットがジョブ終了オペレーションであるかどうかの比較判定を行い、ジョブ終了オペレーションであると判断した場合には、ステップ(701)の初期状態に戻る。
【0127】
一方、ジョブ終了オペレーションでないと判断した場合には、ステップ(719)において、ジョブパケットの破棄を行い、ステップ(717)に戻り、再びジョブパケットを受信から繰り返す。
【0128】
以上の動作によって、ジョブプリプロセッサ部103はジョブパケットを機器データベース部105とジョブスプーラ104にデータの振り分けを行なう。
【0129】
以上説明してきたように、先頭の印刷ジョブをジョブスプーラ104に格納している時にジョブスプーラ104がフルになりそれ以上格納ができなくなった場合、ジョブスプーラフルエラーを発生させ、その格納できなくなった印刷ジョブは読み飛ばす。すなわち、すべての印刷処理を止めてしまうことなく、次の印刷ジョブの処理を行なうことが可能となる。
【0130】
〔第2実施形態〕
上記第1実施例では、図8に示したステップ(712)とステップ(714)の判断により、ジョブスプーラ104がフルのために、先頭の印刷ジョブのジョブスプーラ104への追加ができなかった時点で、即時にジョブスプーラフルエラーを発生させてその印刷ジョブを削除するというように制御する場合について説明したが、ジョブスプーラフルエラーが発生しているケースでも、すでに1枚以上排紙しているかどうかによって、他の動作を選択できるように構成してもよい。以下、その実施形態について説明する。
【0131】
図9,図10は、本発明に係る印刷制御装置における第2のデータ処理手順の一例を示すフローチャートであり、図1に示した印刷装置100におけるジョブプリプロセッサ部103の動作手順に対応する。なお、(901)〜(921)は各ステップを示す。
【0132】
なお、図9,図10におけるステップ(901)〜(914)までの処理は、図7,図8に示したステップ(701)〜ステップ(714)の処理と全く同じで、すでに説明済みなので、ここでの説明は省略するので、以下、ステップ(915)以後の処理について説明する。
【0133】
また、説明を省略したステップ(914)までの処理により、当該印刷ジョブは先頭のジョブであり、かつ、ジョブスプーラ104への書き込み追加中にジョブスプーラ104がフルだということがわかっているものとする。
【0134】
ステップ(915)において、ジョブプリプロセッサ部103が当該印刷ジョブを1ページ以上印刷排紙しているか、あるいは、まだ1ページも排紙していないのかを、プリンタエンジン部109に問い合わせる。そして、1ページ以上排紙していると判断した場合、ステップ(916)において、ジョブプリプロセッサ部103がPDLトランスレータ部106が処理し終えたPDLデータを随時ジョブスプーラ104から削除して動くモード(以下、随時PDLデータ削除モード)に移行させる。
【0135】
通常、ジョブスプーラ104のPDLデータは、ジョブの完了のタイミングまで消去されることはなく、それまでの間は何度も読み出すことができるが、この随時PDLデータ削除モードに移行したあとは、PDLトランスレータ部106が読み出した分のPDLデータは、随時ジョブスプーラ104から削除される。その削除された分、ジョブの続きのPDLデータがジョブスプーラ104へ格納できることになる。
【0136】
なお、この随時PDLデータ削除モードは、フローチャートの先頭のステップ(901)に戻り、初期化処理が行なわれるまで継続することになる。
【0137】
そして、ステップ(912)に戻り、ジョブスプーラ104に空きができてPDLデータを追加できるのを待つことになる。
【0138】
一方、ステップ(915)で、まだ1ページも排紙していないと判断した場合は、以下図8に示したステップ(715)以後の処理と同様になり、ステップ(917)において、ジョブスプーラフルのエラーを発生し、ステップ(918)において当該印刷ジョブの取り消しを指示し、ステップ(919)以下で、ジョブパケットを受信したら、ステップ(920)で、そのジョブパケットがジョブ終了オペレーションかどうかを判断して、ジョブ終了オペレーション以外のジョブパケットはステップ(921)で、読み飛ばすことによりジョブパケットを破棄して、ステップ(919)へ戻る。
【0139】
一方、ステップ(920)で、ジョブ終了オペレーションのジョブパケットを受信したと判断した場合は、先頭のステップ(901)へに戻る。
【0140】
これによりステップ(901)において、随時PDLデータ削除モードなどのクリアを含む初期化処理を行い、ジョブパケットの受信から始める。
【0141】
すなわち、先頭の印刷ジョブのジョブスプーラ104への格納追加時にフルなのを検知した場合、本実施形態ではその印刷ジョブが1枚以上排紙しているかどうかにより、処理を変える。1枚以上排紙していれば、そのタイミングでジョブを取り消してしまうと、中途半端なジョブが排紙ビンに残ってしまうことになるので、その印刷ジョブは最後まで印刷を行なう。
【0142】
他方、1枚も排紙していなかった場合、ジョブスプーラフルエラー状態のエラースキップ操作により、そのジョブは読み飛ばされることになる。
【0143】
このように本実施形態によれば、印刷ジョブ全体のページが排紙されずに途中までの不完全な形で保持されている印刷ジョブが排紙されてしまうことを防ぐことが可能となる。
【0144】
〔第3実施形態〕
上記第1実施形態では、1つのホストコンピュータと接続されている場合の例を示したが、本実施形態では複数のホストコンピュータと複数のI/Fを介して接続されている場合の例を示す。この場合、複数接続されている各ホストコンピュータから、任意のタイミングで、印刷データが転送されることになる。複数のホストコンピュータから同時に複数のジョブが転送される、という場合もあり得る。その場合は、1つのホストコンピュータからのジョブ転送時よりも、ジョブスプーラへ格納するPDLデータも増えるし、ジョブの数も増えることがおおいにあり得る。
【0145】
図11は、本発明の第3実施形態を示す印刷制御装置の構成を説明するブロック図であり、複数のホストコンピュータと通信するための複数のインタフェースドライバ部を備えている。なお、図9に示す印刷制御装置は、図2に示した印刷装置の印刷制御装置と同様の構成を備えるが、図2の構成と対比すると、I/Fドライバ部1001,1051、論理チャネル制御部1002,1052、ジョブプリプロセッサ部1003,1053をそれぞれ2つずつ備えることを特徴としている。
【0146】
図11において、2つのI/Fのそれぞれに1つずつジョブプリプロセッサ部1003とジョブプリプロセッサ部1053があり、それぞれ独立に印刷ジョブのPDLデータ部分を、ジョブスプーラ1004に格納することができることになる。ジョブプリプロセッサ部1003,1053の動作を以下で説明する。
【0147】
なお、図1と同様の機能処理を実行する構成に対しては、同一の符号を付してある。
【0148】
図12,図13は、本発明に係る印刷制御装置における第3のデータ処理手順の一例を示すフローチャートであり、図11に示したジョブプリプロセッサ部1003およびジョブプリプロセッサ部1053の動作手順に対応する。なお、(1101)〜(1112),(1114)〜(1122)は各ステップを示す。
【0149】
また、図12におけるステップ(1101)〜(1111)までの処理は、図7,図8に示したステップ(701)〜(711)の処理と全く同じで、すでに説明済みなので、ここでの説明は省略し、図13に示すステップ(1112)以後の処理について説明する。
【0150】
ステップ(1111)までの処理により、当該印刷ジョブのPDLデータ送信オペレーションのジョブパケットを受け取ると、ステップ(1112)において、ジョブスプーラ1004がフル状態かどうかを判断し、フル状態であったと判断した場合は、ステップ(1114)に進む。この場合の処理は、すなわち図10におけるステップ(1114)〜(1119)までの処理は、図7に示したステップ(714)から(719)の処理と全く同じで、すでに説明済みなので、ここでの説明は省略する。
【0151】
一方、ステップ(1112)において、ジョブスプーラ1004がフルでなかった場合、ステップ(1120)において、ジョブスプーラ1004の空きサイズを調べ、あらかじめ決められている所定サイズ以上の空きがあるかどうかを判断する。この所定サイズは、ジョブスプーラ1004のトータルサイズより小さいサイズで、例えばトータルサイズの7割のサイズとする。
【0152】
ここで、所定サイズ以上の空きがあったと判断した場合は、ステップ(1121)においてジョブスプーラ1004にPDLデータを追加して、ステップ(1106)へ戻る。
【0153】
一方、ステップ(1120)で、所定サイズ以上の空きが無かったと判断した場合、ジョブスプーラ1004は、7割以上PDLデータが格納されていることになり、残りの空きの容量が比較的少なくなってきていると言える。
【0154】
そこで、ステップ(1122)において、当該印刷ジョブが、ジョブスプーラ1004へ格納中のジョブのうち、最も先頭にあるジョブかどうかを調べる。ここで、最も先頭にあるジョブであると判断した場合、ステップ(1121)に進み、ジョブスプーラ1004へPDLデータの追加を行なう。
【0155】
一方、ステップ(1122)で、先頭のジョブでないと判断した場合、ステップ(1112)に戻る。
【0156】
以上により、複数のジョブを受信格納中に、ジョブスプーラの空きサイズが少なくなってきた場合には、受信格納中の印刷ジョブのうち、最も先頭にある印刷ジョブの格納を優先させ、他の印刷ジョブの格納は一時的に中断しておくように動作する。これにより、ジョブスプーラフルの状態になるのを回避しやすくなる。
【0157】
以下、図14に示すメモリマップを参照して本発明に係る情報処理装置,印刷制御装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【0158】
図14は、本発明に係る情報処理装置,印刷制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0159】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0160】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0161】
本実施形態における図4,図5,図7,図8,図9,図10,図12,図13に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0162】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0163】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0164】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
【0165】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0166】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0167】
上記実施形態によれば、先頭の印刷ジョブをジョブスプーラに格納している時にジョブスプーラがフルになりそれ以上格納ができなくなった場合、ジョブスプーラフルエラーを発生させ、その格納できなくなった印刷ジョブは読み飛ばすことにより、すべての印刷処理を止めてしまうことなく、次の印刷ジョブの処理を行なうことが可能となる。
【0168】
また、印刷ジョブ全体のページが排紙されずに途中までの不完全な形での印刷ジョブの排紙になってしまうことを防ぐことが可能となる。
【0169】
さらに、複数のジョブを受信格納中に、ジョブスプーラの空きサイズが少なくなってきた場合には、受信格納中の印刷ジョブのうち、最も先頭にある印刷ジョブの格納を優先させ、他の印刷ジョブの格納は一時的に中断しておくように動作する。これにより、ジョブスプーラフルの状態になるのを回避しやすくなる。
【0170】
なお、上記各実施形態を適宜有効に組み合わせた実施形態も本発明の適用範囲であることはいうまでもない。
【0171】
【発明の効果】
以上説明したように、本発明によれば、先頭の印刷ジョブのデータ量が印刷装置で保持可能なデータ容量を超えるような場合に、後続する印刷ジョブの処理が滞ってしまうフル状態を自動的に回避して、後続する印刷ジョブを有効に処理できる状態に遷移させることができる。
【0173】
更に、ジョブスプーリングフル状態に遷移してしまう事態を確実に回避することができる。
【0174】
したがって、最初に処理受信した印刷ジョブのデータ容量がスプール容量を超えてしまうような印刷ジョブを受信した場合でも、速やかに後続する印刷ジョブを受信処理可能な状態に自動的に遷移させることができ、ユーザによるジョブ解除処理等が行われなくても、後続の印刷ジョブを有効に処理できる利便性に優れた印刷処理環境を自在に構築することができる等の効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示す印刷制御装置を適用可能な印刷装置の構成を説明するブロック図である。
【図2】本発明の第1実施形態を示す情報処理装置の構成を説明するブロック図である。
【図3】図2に示したジョブパケット生成部から送信されるジョブパケットの構造を示す説明図である。
【図4】本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図5】本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図6】図1に示した印刷装置におけるジョブ読み出しテーブルを説明する図である。
【図7】本発明に係る印刷制御装置における第1のデータ処理手順の一例を示すフローチャートである。
【図8】本発明に係る印刷制御装置における第1のデータ処理手順の一例を示すフローチャートである。
【図9】本発明に係る印刷制御装置における第2のデータ処理手順の一例を示すフローチャートである。
【図10】本発明に係る印刷制御装置における第2のデータ処理手順の一例を示すフローチャートである。
【図11】本発明の第3実施形態を示す印刷制御装置の構成を説明するブロック図である。
【図12】本発明に係る印刷制御装置における第3のデータ処理手順の一例を示すフローチャートである。
【図13】本発明に係る印刷制御装置における第3のデータ処理手順の一例を示すフローチャートである。
【図14】本発明に係る情報処理装置,印刷制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図15】従来の印刷システムにおける機能構成を説明するブロック図である。
【符号の説明】
200 ホストコンピュータ
100 印刷装置
120,210 インタフェース
201 アプリケーション部
202 プリンタドライバ部
203 送信バッファ
204 I/Fドライバ部
205 ユーティリティ部
206 論理チャネル制御部
207 ジョブパケット生成部
101 I/Fドライバ部
102 論理チャネル制御部
103 ジョブプリプロセッサ部
104 ジョブスプーラ
105 機器データベース部
106 PDLトランスレータ部
107 描画バッファ
108 描画部
109 プリンタエンジン部
110 情報管理部
111 ジョブ読み出しテーブル
112 処理部
113 操作パネル
[0001]
BACKGROUND OF THE INVENTION
The present invention , Ho The present invention relates to a print control apparatus, a data processing method, and a storage medium that receive and process a print job including PDL data generated by a storage computer.
[0002]
[Prior art]
Conventionally, a host computer that generates print data in accordance with a user instruction and print data transmitted from the host computer via a predetermined communication medium are processed to generate image data, which is actually printed on a medium such as paper. There has been proposed a printing system including a printing apparatus that performs the above.
[0003]
In such a printing system composed of a host computer and a printing apparatus, functions such as not only printing print data generated from the host computer but also acquiring information about the printing apparatus and setting environment settings from the host computer are required. ing.
[0004]
In particular, due to the recent spread of networks, a single high-performance printing device with a fast print processing time can be shared by multiple users via the network, thereby minimizing management costs while meeting a large amount of printing needs in the office. Use forms such as suppressing to generalization are becoming common.
[0005]
Under these circumstances, the administrator requests to manage the remote printing device in real time, and the general user performs secondary operations such as confirmation and cancellation of the print job processing status issued by himself / herself. Many printing systems that fulfill this requirement have been realized.
[0006]
FIG. 15 is a block diagram for explaining the functional configuration of a conventional printing system. The print job transmission from the host computer 300 connected via a predetermined printing medium 380 to the printing apparatus 350, the acquisition of printing apparatus information, Corresponds to the functional configuration of the printing system that embodies the mechanism for setting the environment.
[0007]
15, the host computer 300 includes an application unit 301, a printer driver unit 302, a transmission buffer 303, an I / F driver unit 304, a utility unit 305, a logical channel control unit 306, and a job packet generation unit 307.
[0008]
The application unit 301 provides a user with a graphical user interface and generates image data suitable for the user's purpose. The printer driver unit 302 converts the image data generated by the application unit 301 into page description language (hereinafter abbreviated as PDL) data (PDL data) that can be printed by the printing apparatus 350. The transmission buffer 303 temporarily stores the PDL data generated by the printer driver unit 302.
[0009]
The job packet generation unit 307 adds the information of the print job owned by the application unit 301 to the data stored in the transmission buffer 303 and generates a job packet according to a predetermined format.
[0010]
The utility unit 305 obtains information related to the printing apparatus 350 and provides a graphic user interface to set device information in the printing apparatus 350 and acquire or cancel the status of the print job according to the request of the user or administrator. A management packet for making a request is generated.
[0011]
The logical channel control unit 306 controls multiplexing of the job packet generated by the job packet generation unit 307 and the management packet generated by the utility unit 305, and has a role of the transport layer in the OSI7 layer. The I / F driver unit 304 transmits data generated from the logical channel control unit 306 and receives data transmitted from the printing apparatus 350.
[0012]
The printing apparatus 350 includes a logical channel control unit 351, a device database unit 352, a job preprocessor unit 353, a reception buffer 354, a PDL translator unit 355, a drawing buffer 356, a drawing unit 357, a printer engine unit 358, an I / F driver unit 359, An information management unit 360, an operation panel 361, and the like are included.
[0013]
The I / F driver unit 359 receives data transmitted from the host computer 300 and transmits data generated from the logical channel control unit 351. The logical channel control unit 351 analyzes the data received by the I / F driver unit 359, sorts the job packet into the job preprocessor unit 353 and the management packet into the information management unit 360, and conversely manages the data transmitted from the information management unit 360. The packet is transmitted to the I / F driver unit 359.
[0014]
The job preprocessor unit 353 receives and interprets the job packet, and sends PDL data to the reception buffer 354 and job management information to the device database unit 352. The reception buffer 354 stores the received PDL data in order.
[0015]
The device database unit 352 stores job information such as the number of copies, output paper size, and multi-page printing, and information related to devices. The PDL translator unit 355 performs a translation process based on the PDL data stored in the reception buffer 354 and the job information stored in the device database 352, converts the data into intermediate data that can be drawn in real time by the drawing unit 357, and the drawing buffer 356. Send to.
[0016]
The drawing buffer 356 stores intermediate data for a plurality of pages and passes it to the drawing unit 357. The drawing unit 357 acquires the intermediate data from the drawing buffer 356, renders the intermediate data in real time together with the paper conveyance processing performed by the printer engine 358, and transmits the intermediate data as video data to the printer engine unit 358.
[0017]
The printer engine unit 358 physically prints on a sheet based on the video data transmitted from the drawing unit 357 using a known electrophotographic technique.
[0018]
When the job is printed on all sheets and the paper discharge is completed, the job information is deleted from the device database 352.
[0019]
The information management unit 360 receives the information acquisition request from the utility unit 305 in the form of a management packet, acquires necessary information from the device database 352, converts it into a management packet, and returns it to the host computer 300 via the logical channel control unit 351. To do. Further, the end of the job is detected, and the end notification is spontaneously converted into a management packet and notified to the host computer 300.
[0020]
The operation panel 361 includes a display device such as a liquid crystal or LED provided in the main body of the printing apparatus 350 and operation buttons, and reflects settings from the user in the device database through the information management unit 360, or an error or the like. A process of displaying the current device status is performed.
[0021]
Next, the mechanism of the job cancellation function in the conventional example will be described.
[0022]
The conventional job cancel function is a function for requesting print cancel of a job transmitted to the printing apparatus 350 by a user or an administrator who has issued a print request. The user interface in the utility unit 305 on the host computer 300 side, Alternatively, cancellation is requested from the operation panel 361 on the printing apparatus 350 side.
[0023]
When the printing apparatus 350 receives a print request for a print job, the job preprocessor unit 353 recognizes the new job, assigns a job ID that is uniquely maintained in the printing apparatus 350 to the job, and assigns the information to the device database unit 352. To store. This information is deleted when all pages of the print job are interpreted and rendered, and the printer engine unit 358 detects that the last page has been discharged.
[0024]
When the utility unit 305 issues a management packet for requesting acquisition of the in-device job list to the printing device 350, the printing device 350 displays a list of the job IDs of all jobs recognized in the device 300. Send to. The utility unit 305 receives this and displays the job management information using the graphic user interface.
[0025]
The user who sent the print job or the administrator of the printing apparatus 350 can cancel the job. Specifically, the job ID can be specified from the graphic user interface of the utility unit 305 on the host computer 300 side. Is converted into a management packet, and a cancel request is instructed to the printing apparatus 350. When a management packet for a job cancellation request is transmitted from the host computer 300 to the printing apparatus 350, the information management unit 360 detects and cancels the printing when the job exists on the print path.
[0026]
On the other hand, when canceling from the operation panel 361, it is difficult to explicitly specify the job ID, so the job whose processing is most advanced on the print path is set as the cancel target. Specifically, when a job is being processed by the printer engine unit 358, the job ID is subject to cancellation. Otherwise, the job being processed on the print path such as the drawing unit 357 and the PDL translator unit 355 is felt. When the job ID is found, the job ID is determined, and the job is canceled.
[0027]
Canceling a job using the operation panel 361 is the same as canceling using the utility unit 305 except that the job ID determination method is different.
[0028]
With the above operation, an arbitrary job stored in the printing apparatus 350 can be canceled.
[0029]
Further, a printing apparatus having an interrupt printing function always holds PDL data of a print job until all pages of the print job are discharged and printing is completed. When an interrupt instruction is issued, all print jobs that are actually performing print processing such as PDL data analysis processing and paper discharge processing at the print engine are temporarily canceled, and processing of the print job that received the interrupt instruction is processed. The PDL data of the print job canceled earlier is analyzed again, and printing is performed from the page after the page that has already been ejected.
[0030]
In this case, since it is necessary to hold the PDL data of the received print job until the job is completed, a reception buffer and job spooler having a size larger than that of the conventional reception buffer are often provided. To prevent the job spooler from becoming full, for example, when processing while storing it in a job spooler such as an HDD, use a spooler that is sufficiently larger than the PDL data size of a normal print job, so that the job spooler does not become full. Is assumed.
[0031]
[Problems to be solved by the invention]
However, if the PDL data of a print job is larger than expected, or if there are a large number of input print jobs, the job spooler becomes full and it becomes impossible to store additional PDL data. There can be.
[0032]
For example, when storing a job other than the first job, if the first print job currently being printed is completed, the PDL data for that print job is deleted from the job spooler and there is room in the job spooler. It becomes possible to continue storing the PDL data again.
[0033]
However, if the job spooler becomes full when the PDL data of the first job is stored, the job spooler cannot be freed no matter how long it waits, and the printing device cannot process and stops. .
[0034]
Further, when a plurality of jobs are simultaneously received and stored from a plurality of interfaces, a job spooler full state is more likely to occur.
[0035]
The present invention has been made to solve the above problems, and the first object of the present invention is , Ahead When the amount of data of the head print job exceeds the data capacity that can be held by the printing device, the subsequent print job is automatically avoided and the subsequent print job is enabled automatically. It is possible to transition to a processable state.
[0037]
In addition 2 The purpose of The It is an object of the present invention to provide a print control device, a data processing method, and a storage medium that can surely avoid a situation where a job spooling full state is caused.
[0038]
[Means for Solving the Problems]
Main departure Tomorrow , plural Print jobs that include print data generated by the host computer In parallel from the plurality of host computers A print control apparatus for receiving and processing from the host computer Receive Managing job storage means (corresponding to the job spooler 104 shown in FIG. 1) for storing each print job until printing of each print job is completed, and managing the processing order of all print jobs stored in the job storage means Print job processing order management means (corresponding to the job read table 111 shown in FIG. 1), and status determination means for judging whether the free capacity of the job storage means is a full state in which additional storage is difficult (the job preprocessor shown in FIG. 1) And the job storage unit when the state determination unit determines that the state is full. Paying Whether the print job in the middle is the first print job managed by the print job processing order management means Survey If the investigation means (corresponding to the job preprocessor unit 103 shown in FIG. 1) determines that the print job being stored is the first print job, the print job is skipped and the next printing is performed. Control jobs so that they can be received Execute the process and do not execute the process when the investigation unit determines that the print job being stored is not the first print job. Job processing means (corresponding to the job preprocessor unit 103 shown in FIG. 1).
[0051]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration of a printing apparatus to which the printing control apparatus according to the first embodiment of the present invention can be applied. FIG. 2 is a configuration of an information processing apparatus according to the first embodiment of the present invention. 1 is configured so that the printing apparatus 100 shown in FIG. 1 and the host computer 200 shown in FIG. 2 can communicate with each other via predetermined interfaces 120 and 210, and the printing apparatus 100 and the host computer 200 This corresponds to the functional configuration of a printing system, particularly a printing system that embodies a mechanism for transmitting a print job from a host computer to a printing apparatus, acquiring information about the printing apparatus, and setting an environment.
[0052]
The printing system includes a host computer 200 that generates a job to be printed, a printing apparatus 100 that actually prints on a sheet, and predetermined interfaces 210 and 120. The interfaces 210 and 120 are defined by IEEE 1284. A local interface or a network interface such as EtherNet may be used, and in this embodiment, the configuration of each unit will be described below assuming that the local interface is configured.
[0053]
In the printing apparatus 100 shown in FIG. 1, reference numeral 101 denotes an I / F driver unit which converts logical data into an electrical signal and exchanges with an interface. A logical channel control unit 102 analyzes data received from the I / F driver unit 101, allocates job packets and management packets to different channels, and multiplexes the transport layer in the OSI 7 layer.
[0054]
A job preprocessor unit 103 receives and analyzes job packets, and sorts and stores print job attribute information in the device database unit 105 and PDL data in the job spooler 104. A job spooler 104 temporarily holds PDL data of a print job until printing is completed.
[0055]
A PDL translator 106 retrieves jobs in the order described in the job read table 111 and the job read table 111 describing the job processing order and whether or not the job is stopped, and attribute information stored in the device database 105 The PDL data stored in the job spooler 104 is analyzed, intermediate data that can be drawn in real time is generated and stored in the drawing buffer 107.
[0056]
A drawing buffer 107 temporarily holds intermediate data for each page until printing is completed. A drawing unit 108 acquires the intermediate data from the drawing buffer 107, renders the intermediate data in real time together with the paper conveyance process performed by the printer engine 109 unit, and transmits the intermediate data to the printer engine unit 109 as video data. The printer engine unit 109 physically prints on a sheet based on the video data transmitted from the drawing unit 108 using a known electrophotographic technique.
[0057]
An information management unit 110 receives a management packet transmitted from the host computer 200, acquires information from the device database unit 105 in response to a request, performs a job cancellation request, a stop request, and a restart request, And a notification event is autonomously issued to the host computer 200 upon detecting the end of the process or the abnormality of the device.
[0058]
A processing unit 112 performs an actual paper size change process when a paper size change designation to be described later is performed. Reference numeral 113 denotes an operation panel, which includes a display device such as a liquid crystal display and an LED provided in the main body of the printing apparatus 100 and operation buttons.
[0059]
The job spooler 104 is composed of a large-capacity memory device such as an HDD, a FLASH memory, or a DRAM. In order to improve the storage speed of print data from the host, a memory device having a sufficiently large capacity with respect to the size of PDL data of a normal print job is used.
[0060]
In the host computer 200 shown in FIG. 2, an application unit 201 generates desired print data while a user operates a graphic user interface. A printer driver unit 202 converts the image data created by the application unit 201 into page description language (hereinafter abbreviated as PDL) data that can be printed by the printing apparatus 100, and the PDL converted by the printer driver unit 202. A transmission buffer 203 for temporarily storing data, a job packet generation unit 207 for generating a predetermined job packet from the PDL data stored in the transmission buffer 203 and the job attribute information of the application unit 201; A utility unit that converts operations such as confirmation of the status, confirmation of the print status of the transmitted print job, and cancellation and stop of the print job into management packets that can be interpreted by the printing apparatus 100 using the graphic user interface. 205, job packet And the management packet are allocated to different channels, the logical channel control unit 206 performs multiplexing of the transport layer in the OSI7 layer, and the I / F driver unit 204 converts logical data into an electric signal and exchanges with the interface. Consists of
[0061]
In the host computer 200 shown in FIG. 2, data communication performed from the logical channel control unit 206 of the host computer unit 200 to the logical channel control unit 102 of the printing apparatus 100 is, for example, TCP / IP in the case of a network and in the case of local. It is assumed that multiplexing at the transport layer level is performed according to a protocol defined by IEEE1284 / IEEE1284.4, and detailed description thereof is omitted.
[0062]
A job packet logically transmitted from the job packet generation unit 207 is received by the job preprocessor unit 103, and this route is called a job channel. Management packets transmitted / received from the utility unit 205 are transmitted / received by the information management unit 110, and this route is referred to as a management channel.
[0063]
Both channels stipulate that bidirectional communication is possible. However, with regard to the job channel, only one direction from the host computer 200 to the printing apparatus 100 does not hinder the present embodiment. The job channel and the management channel are multiplexed at the transport layer level in the OSI 7 hierarchy, and one flow process does not affect the other.
[0064]
Next, the structure of the job packet and the management packet will be described.
[0065]
The job packet and the management packet are application layer protocols and have a packet structure including a header portion and a parameter portion.
[0066]
One print job is composed of a plurality of job packets. A group of a series of job packets constituting a print job is called a job script.
[0067]
FIG. 3 is an explanatory diagram illustrating the structure of a job packet transmitted from the job packet generation unit 207 illustrated in FIG. 2, where the vertical axis indicates bytes and the horizontal axis indicates bits of each byte.
[0068]
In FIG. 3, the operation code of 0th to 1st bytes is an ID of 2 bytes in length indicating the function of the packet. In the job packet, “0x0201” can be a job start operation, “0x0202” can be a job attribute setting operation, “0x0204” can be a PDL data transmission operation, and “0x0205” can be a job end operation. it can.
[0069]
The block number in the 2nd to 3rd bytes is a number that is used to determine which response request the sender sends to when the sender that sent the job packet requests a reply. It is.
[0070]
For example, when an error packet with block number = 2 is returned when job packets with block numbers = 1, 2, and 3 are sent in succession, when the reply is returned, the sending side sends the second job packet sent. It is possible to specify that an error has occurred.
[0071]
The parameter length of the 4th to 5th bytes is an area indicating the byte length of the data portion, and can indicate 0 to 64K bytes.
[0072]
The 6th to 7th bytes are areas indicating various flags of the job packet, and indicate the following values, respectively.
[0073]
For example, when the value of the error flag is “1”, it indicates that some kind of error has occurred in the printing apparatus 100. This flag is added to a reply packet sent from the printing apparatus to the host computer 200. Further, when the value of the notification flag is “1”, it indicates that the printing apparatus 100 notifies the host computer 200 that there is some notification item, not a response to the request packet from the host computer 200.
[0074]
Further, when the value of the continuation flag is “1”, it means that not all data has entered the data portion, and therefore the remaining data is sent in the next job packet. The next job packet must have the same operation code and block number as the previous packet.
[0075]
The response request is set to “1” when a response packet is required from the host computer 200 to the printing apparatus 100. On the other hand, when the response request is “0”, no response is returned if the request packet is processed normally. When an error occurs in the printing apparatus 100, a reply packet with the error flag value set to “1” is always sent regardless of the reply request “0” / “1”.
[0076]
The user IDs in the 8th to 9th bytes and the password in the 10th to 11th bytes are areas used for authentication when security restrictions are imposed on operations that can be performed with the request packet, and do not affect the present embodiment.
[0077]
From the 12th byte onward, additional data corresponding to the operation code is stored.
[0078]
For job attribute setting operations, set the job attribute ID and job attribute value you want to set. The job attribute ID indicates an attribute corresponding to an attribute relating to a job or an environment, and an ID corresponding to a job attribute defined by ISO-10175 (DPA) is allocated in advance. The following are typical job attributes.
[0079]
A job attribute ID “0x0101” indicates a job name, “0x0103” indicates a job owner name, “0x016a” indicates a job size, “0x0104” indicates a paper size, and “0x0105” indicates multi-page printing.
[0080]
In addition, job attributes such as the number of copies and monochrome / color and corresponding IDs can be assigned according to the function of the printing apparatus.
[0081]
In the case of a PDL data transmission operation, PDL data enters the additional data portion. Since the data of one job packet is up to the maximum size that can be stored in the parameter length, it can be stored up to 64 KB, and more data is divided into a plurality of PDL data transmission operations and transmitted. In this case, the continuation flag is set to 1. There is no additional data for job end operations.
[0082]
Next, functional processing of the job packet generation unit 207 in the host computer 200 will be described.
[0083]
4 and 5 are flowcharts showing an example of a first data processing procedure in the information processing apparatus according to the present invention, which corresponds to the operation procedure of the job packet generation unit 207 shown in FIG. In addition, (501)-(505), (601)-(607) show each step.
[0084]
The job packet generation unit 207 starts processing when the printer driver unit 202 is activated when print designation is selected by the application unit 201 and the printer driver unit 202 completes generation of print data in the transmission buffer 203.
[0085]
In step (501), the job packet specifying the job start operation code “0x0201” in the area for storing the operation code shown in FIG. 3 is issued to the logical channel control unit 206.
[0086]
Thereafter, all operations are used only for setting information of the job until a job end operation is issued.
[0087]
Next, in step (502), a job name is set. Further, the job attribute setting operation code “0x0202” is specified in the area for storing the operation code shown in FIG. 3, and the job attribute ID (= “0x0101”) indicating the job name and the name that becomes the job attribute value are specified in the parameter portion. A job packet is issued to the logical channel control unit 206.
[0088]
In step (503), the job owner is set. Furthermore, the job attribute setting operation code “0x0202” is stored in the operation code storage area shown in FIG. 3, the job attribute ID (= “0x0103”) indicating the job owner and the job attribute value owner in the parameter section. A job packet designating a name is issued to the logical channel control unit 206.
[0089]
Next, in step (504), the job size is set. Further, the job attribute setting operation code “0x0202” is stored in the area for storing the operation code shown in FIG. 3, the job attribute ID (= “0x016a”) indicating the job size is displayed in the parameter section, and the job data size is the job attribute value. Is issued to the logical channel control unit 206.
[0090]
In step (505), the size of PDL data to be transmitted is substituted into a variable size.
[0091]
Next, in step (601) shown in FIG. 5, the size of the variable size is checked, and it is compared and determined whether or not the size of the variable size is larger than 64K. Compared with 64K, the size of the parameter that can be specified in the job packet is expressed by 16 bits in the parameter length of the packet header. Therefore, there is a limit of 64K bytes at the maximum. This is because the job packets are divided and issued.
[0092]
Here, if it is determined that the size of the PDL data is larger than 64 Kbytes, the value of the continuation flag in the packet header shown in FIG. 3 is set to “1” in step (605). In (606), 64 Kbytes of PDL data is extracted from the transmission buffer 203, the PDL data transmission operation (0x0204) is stored in the area for storing the operation code shown in FIG. 3, and the extracted PDL data is stored in the parameter portion. The designated job packet is issued to the logical channel control unit 206.
[0093]
In step (607), the transmitted 64K bytes are subtracted from size, and the process returns to the branch in step (601).
[0094]
On the other hand, if the data size is 64 Kbytes or less in step (601), the transmission of all data is completed with one more PDL data transmission operation. In this case, in step (602), the value of the continuation flag in the packet header shown in FIG. 3 is set to “0” to set that the PDL data transmission is the last, and in step (603), from the transmission buffer 203. All the PDL data is extracted, and a job packet specifying the extracted PDL data in the parameter portion is issued to the logical channel control unit 206 in the PDL data transmission operation (0x0204) in the area for storing the operation code in FIG. .
[0095]
Thereafter, in step (604), a job packet specifying the job end operation code “0x0205” in the area for storing the operation code shown in FIG. 3 is issued to the logical channel control unit 206, and the processing is ended.
[0096]
Next, the job reading table 111 in the printing apparatus 100 shown in FIG. 1 will be described.
[0097]
FIG. 6 is a view for explaining the job reading table 111 in the printing apparatus 100 shown in FIG.
[0098]
FIG. 6A shows that jobs “1” to “4” are registered in the read table.
[0099]
When executing the translation, the PDL translator 106 extracts print jobs from the job spooler 104 in order from the top of the read table 111. When the job preprocessor 103 adds a job “5” to the job reading table 111 in step (705) of FIG. 7 to be described later, as shown in FIG. 6B, the job “5” is stored in the reading table. Added to the end.
[0100]
That is, in the case of the example shown in FIG. 6B, it is added after the job “4”.
[0101]
When it is recognized that the reading of job “1” has been completed to the end, as shown in FIG. 6C, job “1” is deleted from the job reading table. As described above, the job reading table 111 controls the order of jobs processed by the PDL translator unit 106. The processing of the print job after the PDL translator unit 106 is the same as that in the conventional system, and thus description thereof is omitted.
[0102]
Next, the utility unit 205 in the host computer 200 shown in FIG. 2 will be described.
[0103]
The utility unit 205 exists for designating operations such as a print job list, attribute display, job cancel, stop, and resume instructions to the printing apparatus 100.
[0104]
The operation performed by the utility unit 205 is performed by using a management channel and transmitting / receiving a management packet equivalent to a job packet for transmitting a print job. Similar to the job packet, the management packet has a data structure as shown in FIG. The contents of each information of the packet header of the “0-11” bytes are the same as those of the job packet, and only the operation code is different as follows.
[0105]
For example, if the operation code is “0x010b”, the print job is cancelled. If the operation code is “0x0123”, the print job is interrupted. If the operation code is “0x010d”, the print job When the operation code is “0x0120”, the print job is stopped. When the operation code is “0x0121”, the print job is restarted. When the operation code is “0x0105” Attribute setting, and the operation code “0x0106” indicates acquisition of the attribute.
[0106]
On the other hand, the management packet is different from the job packet, and each packet is used for a specific purpose. When a print job is transmitted by a job packet, the printing apparatus 100 stores job information in the device database unit 105 by the operation of the job preprocessor unit 103. When the utility unit 205 wants to know which job is stored in the printing apparatus 100, it sends a management packet specifying the operation code “0x010d” for acquiring the list of print jobs to the management channel. In the parameter portion, an object id = 0x0102 indicating a print job class that is an object to be acquired is designated.
[0107]
This management packet is sent to the logical channel control unit 206 of the host computer 200 shown in FIG. 2, and is sent to the information management unit 110 of the printing apparatus 100 via the interface 210.
[0108]
The information management unit 110 recognizes that the print job list has been acquired based on the operation code of the received management packet, acquires the print job list information stored in the device database unit 105, and returns a reply packet. The parameter part of the reply packet stores the number of print jobs recognized by the printing apparatus 100 and a list of object ids uniquely determined by each print job.
[0109]
When each print job has job name, owner, and size information by the job attribute setting operation, the utility unit 205 can acquire detailed information regarding the print job.
[0110]
When the utility unit 205 acquires a list of print jobs, in order to acquire detailed attributes for each print job, the management unit 205 prints a management packet in which the attribute acquisition is specified in the operation code (= “0x0106”). To device 200.
[0111]
The information management unit 110 recognizes that the attribute is acquired based on the operation code of the received management packet, acquires the attribute of the specified attribute id corresponding to the object id of the specified print job stored in the device database unit 105, A reply packet is returned.
[0112]
In the parameter portion of the management packet, the object id of the print job desired to be acquired and the id of the attribute desired to be acquired are designated. For example, when it is desired to acquire the job name of the first print job, “1” is designated as the object id and “0x0101” is designated as the attribute id.
[0113]
Next, the job preprocessor unit 103 in the printing apparatus 100 shown in FIG. 1 will be described.
[0114]
7 and 8 are flowcharts showing an example of the first data processing procedure in the print control apparatus according to the present invention, and correspond to an example of the operation procedure of the job preprocessor unit 103 shown in FIG. In addition, (701)-(719) shows each step.
[0115]
The job preprocessor unit 103 is started when the printing apparatus 100 is started, and thereafter continues processing until the printing apparatus 100 is powered off.
[0116]
First, in step (701), various initialization processes for future operations are performed, and job packets are received. When the job packet is received, a comparison is made in step (702) as to whether it is a job start operation. If it is determined that an operation other than the job start operation has arrived, the operation is invalid, and the job packet is discarded in step (703), and then the process returns to step (701).
[0117]
On the other hand, if it is determined in step (702) that the operation is a job start operation, the job ID of the job is acquired in step (704). The job ID is assigned as a 2-byte number and is used as a key for reading / writing job attribute information in the device database unit 105.
[0118]
In step (705), the job ID of the job is added to the job reading table 111. In step (706), the next job packet is received. In step (707), it is compared whether or not the job packet is a job end operation. If it is determined that the job packet is a job end operation, the process exits a series of loops and returns to the initial state of step (701). Return.
[0119]
On the other hand, if it is determined in step (707) that it is not a job end operation, it is determined in step (708) whether or not the received job packet is an attribute setting operation, and is determined to be an attribute setting operation. In this case, the attribute data is set in the device database unit 105 in step (709). At this time, the key is the attribute ID and attribute data described in the job ID acquired in step (704) and the additional data of the job packet. When the attribute setting is completed in this way, the next job packet is received, and the process returns to step (706).
[0120]
On the other hand, when it is determined in step (708) that it is not an attribute setting operation, in step (710), it is determined whether or not the job packet is a PDL data transmission operation, and it is determined that the job packet is not a PDL data transmission operation. Is an invalid job packet that does not correspond to any operation, the job packet is discarded in step (711), and the process returns to step (706).
[0121]
On the other hand, if it is determined in step (710) that the operation is a PDL data transmission operation, it is checked in step (712) whether the job spooler 104 is full (full state). ), PDL data is added to the job spooler 104. At this time, the job ID is given as a key so that the job ID can be taken out as a key when it is taken out later.
[0122]
The PDL data stored in the job spooler 104 can be read any number of times until it is deleted due to the completion of the job.
[0123]
When the addition to the job spooler 104 is completed in this way, the process returns to step (706) to receive the next job packet.
[0124]
On the other hand, if it is determined in step (712) that the job spooler 104 is full, it is checked in step (714) whether the job is the first job. If it is determined that the job is not the first job, Return to 712). Then, data processing is waited until the job spooler 104 is not full or becomes the first job.
[0125]
If it is determined in step (714) that the job is the first job, an error of job spooler full is generated in step (715). An error message “job spooler full” is displayed on the operation panel 113 on the printing apparatus 100. In step (716), the information management unit 110 is instructed to cancel the job, so that the information management unit 110 performs the job cancellation process as described above.
[0126]
Thereafter, all job packets up to the job end operation are skipped. That is, in step (717), the next job packet is received. In step (718), it is determined whether or not the job packet is a job end operation. Return to the initial state of step (701).
[0127]
On the other hand, if it is determined that the operation is not a job end operation, the job packet is discarded in step (719), and the process returns to step (717) to repeat the job packet from reception.
[0128]
Through the above operation, the job preprocessor unit 103 distributes the job packet to the device database unit 105 and the job spooler 104.
[0129]
As described above, when the first print job is stored in the job spooler 104, if the job spooler 104 becomes full and can no longer be stored, a job spooler full error occurs and the job cannot be stored. Skip print jobs. In other words, the next print job can be processed without stopping all print processing.
[0130]
[Second Embodiment]
In the first embodiment, when the job spooler 104 is full due to the determination in step (712) and step (714) shown in FIG. 8, the top print job cannot be added to the job spooler 104. In the above, a case has been described where a job spooler full error is immediately generated and the print job is deleted. However, even if a job spooler full error has occurred, one or more sheets have already been discharged. Depending on the circumstances, another operation may be selected. The embodiment will be described below.
[0131]
9 and 10 are flowcharts showing an example of a second data processing procedure in the print control apparatus according to the present invention, and correspond to the operation procedure of the job preprocessor unit 103 in the printing apparatus 100 shown in FIG. In addition, (901)-(921) show each step.
[0132]
The processing from steps (901) to (914) in FIG. 9 and FIG. 10 is exactly the same as the processing from steps (701) to (714) shown in FIG. 7 and FIG. Since the description here is omitted, the processing after step (915) will be described below.
[0133]
In addition, it is known from the processing up to step (914) that the description is omitted that the print job is the first job and that the job spooler 104 is full while writing to the job spooler 104 is being added. To do.
[0134]
In step (915), the job preprocessor unit 103 inquires of the printer engine unit 109 whether the print job has been printed and discharged for one page or more, or whether one page has not been discharged yet. If it is determined that one or more pages have been discharged, in step (916), the job preprocessor unit 103 deletes the PDL data that has been processed by the PDL translator unit 106 from the job spooler 104 at any time (hereinafter referred to as a mode). , The PDL data deletion mode is transferred as needed.
[0135]
Normally, the PDL data of the job spooler 104 is not erased until the completion timing of the job, and can be read many times until then, but after shifting to this PDL data deletion mode as needed, The PDL data as read by the translator unit 106 is deleted from the job spooler 104 as needed. The PDL data following the job can be stored in the job spooler 104 by the deleted amount.
[0136]
The ad hoc PDL data deletion mode returns to the top step (901) of the flowchart and continues until the initialization process is performed.
[0137]
Then, the process returns to step (912) and waits until the job spooler 104 is free and PDL data can be added.
[0138]
On the other hand, if it is determined in step (915) that one page has not yet been discharged, the processing is the same as the processing after step (715) shown in FIG. 8, and in step (917), the job spooler is full. In step (918), canceling the print job is instructed. When a job packet is received in step (919) and after, in step (920), it is determined whether the job packet is a job end operation. In step (921), job packets other than the job end operation are discarded in step (921), and the process returns to step (919).
[0139]
On the other hand, if it is determined in step (920) that the job packet for the job end operation has been received, the process returns to the first step (901).
[0140]
As a result, in step (901), initialization processing including clearing of the PDL data deletion mode and the like is performed as needed, and the process starts from reception of a job packet.
[0141]
That is, when it is detected that the first print job is full when it is added to the job spooler 104, the processing is changed in this embodiment depending on whether one or more print jobs are discharged. If one or more sheets are discharged, if the job is canceled at that timing, a half-finished job remains in the discharge bin, and the print job is printed to the end.
[0142]
On the other hand, if no sheet is discharged, the job is skipped by an error skip operation in the job spooler full error state.
[0143]
As described above, according to the present embodiment, it is possible to prevent a print job that has been held in an incomplete form from being discharged without discharging the pages of the entire print job.
[0144]
[Third Embodiment]
In the first embodiment, an example in which the host computer is connected to one host computer is shown. However, in the present embodiment, an example in which a plurality of host computers are connected via a plurality of I / Fs is shown. . In this case, print data is transferred from each of a plurality of connected host computers at an arbitrary timing. There may be a case where a plurality of jobs are transferred simultaneously from a plurality of host computers. In that case, the number of PDL data stored in the job spooler and the number of jobs can be increased more than when transferring jobs from one host computer.
[0145]
FIG. 11 is a block diagram illustrating the configuration of a print control apparatus according to the third embodiment of the present invention, and includes a plurality of interface driver units for communicating with a plurality of host computers. The print control apparatus shown in FIG. 9 has the same configuration as the print control apparatus of the printing apparatus shown in FIG. 2, but in contrast to the configuration shown in FIG. 2, the I / F driver units 1001 and 1051 and the logical channel control. It has a feature that two units 1002 and 1052 and two job preprocessor units 1003 and 1053 are provided.
[0146]
In FIG. 11, there are one job preprocessor unit 1003 and one job preprocessor unit 1053 for each of the two I / Fs, and the PDL data portion of the print job can be stored in the job spooler 1004 independently of each other. The operations of the job preprocessor units 1003 and 1053 will be described below.
[0147]
In addition, the same code | symbol is attached | subjected with respect to the structure which performs the function process similar to FIG.
[0148]
12 and 13 are flowcharts showing an example of a third data processing procedure in the print control apparatus according to the present invention, and correspond to the operation procedures of the job preprocessor unit 1003 and the job preprocessor unit 1053 shown in FIG. Note that (1101) to (1112) and (1114) to (1122) indicate each step.
[0149]
Also, the processing from steps (1101) to (1111) in FIG. 12 is exactly the same as the processing from steps (701) to (711) shown in FIGS. 7 and 8, and has already been described. Will be omitted, and the processing after step (1112) shown in FIG. 13 will be described.
[0150]
When a job packet for the PDL data transmission operation of the print job is received through the processing up to step (1111), in step (1112), it is determined whether the job spooler 1004 is full, and if it is determined that it is full Advances to step (1114). The processing in this case, that is, the processing from steps (1114) to (1119) in FIG. 10, is exactly the same as the processing from steps (714) to (719) shown in FIG. Description of is omitted.
[0151]
On the other hand, if the job spooler 1004 is not full in step (1112), the free size of the job spooler 1004 is checked in step (1120) to determine whether there is a free space larger than a predetermined size. . This predetermined size is smaller than the total size of the job spooler 1004, for example, 70% of the total size.
[0152]
If it is determined that there is a free space of a predetermined size or more, PDL data is added to the job spooler 1004 in step (1121), and the process returns to step (1106).
[0153]
On the other hand, if it is determined in step (1120) that there is no free space of a predetermined size or more, the job spooler 1004 stores 70% or more of PDL data, and the remaining free space becomes relatively small. It can be said that.
[0154]
In step (1122), it is checked whether the print job is the first job among the jobs stored in the job spooler 1004. If it is determined that the job is at the head, the process proceeds to step (1121), and PDL data is added to the job spooler 1004.
[0155]
On the other hand, if it is determined in step (1122) that the job is not the first job, the process returns to step (1112).
[0156]
As described above, when the empty size of the job spooler decreases while receiving and storing multiple jobs, priority is given to storing the first print job among the print jobs being received and stored, and other printing Job storage works to be temporarily suspended. This makes it easier to avoid a job spooler full state.
[0157]
Hereinafter, the configuration of a data processing program that can be read by a printing system to which the information processing apparatus and the print control apparatus according to the present invention can be applied will be described with reference to a memory map shown in FIG.
[0158]
FIG. 14 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read out by a printing system to which the information processing apparatus and the print control apparatus according to the present invention can be applied.
[0159]
Although not particularly illustrated, information for managing a program group stored in the storage medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.
[0160]
Further, data depending on various programs is also managed in the directory. In addition, a program for installing various programs in the computer, and a program for decompressing when the program to be installed is compressed may be stored.
[0161]
The functions shown in FIGS. 4, 5, 7, 8, 9, 10, 12, and 13 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a storage medium such as a CD-ROM, flash memory, or FD, or from an external storage medium via a network. Is.
[0162]
As described above, a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium in the storage medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the programmed program code.
[0163]
In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.
[0164]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, an EEPROM, or the like is used. it can.
[0165]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0166]
Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0167]
According to the above embodiment, when the first print job is stored in the job spooler, if the job spooler becomes full and cannot be stored any more, a job spooler full error occurs, and the print job that cannot be stored. By skipping reading, it becomes possible to process the next print job without stopping all print processing.
[0168]
In addition, it is possible to prevent the print job from being discharged in an incomplete form until the page of the entire print job is not discharged.
[0169]
In addition, if the job spooler becomes smaller while receiving and storing multiple jobs, priority is given to storing the first print job among the print jobs being received and stored. The operation of storing is temporarily interrupted. This makes it easier to avoid a job spooler full state.
[0170]
Needless to say, embodiments in which the above embodiments are appropriately and effectively combined are also within the scope of the present invention.
[0171]
【The invention's effect】
As explained above, the present invention By If , Ahead When the amount of data of the head print job exceeds the data capacity that can be held by the printing device, the subsequent print job is automatically avoided and the subsequent print job is enabled automatically. It is possible to transition to a processable state.
[0173]
More The It is possible to reliably avoid a situation where the job spooling full state is entered.
[0174]
Therefore, even if a print job is received in which the data capacity of the first received print job exceeds the spool capacity, the subsequent print job can be automatically transitioned to a state where it can be received and processed. Even if the user does not perform job release processing or the like, there is an effect that it is possible to freely construct a convenient print processing environment that can effectively process subsequent print jobs.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a printing apparatus to which a printing control apparatus according to a first embodiment of the invention can be applied.
FIG. 2 is a block diagram illustrating a configuration of the information processing apparatus according to the first embodiment of this invention.
FIG. 3 is an explanatory diagram showing a structure of a job packet transmitted from the job packet generation unit shown in FIG. 2;
FIG. 4 is a flowchart showing an example of a first data processing procedure in the information processing apparatus according to the present invention.
FIG. 5 is a flowchart showing an example of a first data processing procedure in the information processing apparatus according to the present invention.
6 is a diagram illustrating a job reading table in the printing apparatus illustrated in FIG. 1. FIG.
FIG. 7 is a flowchart illustrating an example of a first data processing procedure in the print control apparatus according to the present invention.
FIG. 8 is a flowchart illustrating an example of a first data processing procedure in the print control apparatus according to the present invention.
FIG. 9 is a flowchart illustrating an example of a second data processing procedure in the print control apparatus according to the present invention.
FIG. 10 is a flowchart illustrating an example of a second data processing procedure in the print control apparatus according to the present invention.
FIG. 11 is a block diagram illustrating a configuration of a print control apparatus according to a third embodiment of the present invention.
FIG. 12 is a flowchart illustrating an example of a third data processing procedure in the print control apparatus according to the present invention.
FIG. 13 is a flowchart illustrating an example of a third data processing procedure in the print control apparatus according to the present invention.
FIG. 14 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read out by a printing system to which an information processing apparatus and a print control apparatus according to the present invention can be applied.
FIG. 15 is a block diagram illustrating a functional configuration in a conventional printing system.
[Explanation of symbols]
200 Host computer
100 printing device
120,210 interface
201 Application Department
202 Printer driver section
203 Transmission buffer
204 I / F driver
205 Utility section
206 Logical channel controller
207 Job packet generator
101 I / F driver
102 Logical channel controller
103 Job preprocessor
104 Job spooler
105 Equipment database section
106 PDL translator
107 Drawing buffer
108 Drawing part
109 Printer Engine
110 Information Management Department
111 Job readout table
112 processor
113 Operation panel

Claims (6)

複数のホストコンピュータで生成される印刷データを含む印刷ジョブを該複数のホストコンピュータから並行して受信して処理する印刷制御装置であって、
前記ホストコンピュータから受信する各印刷ジョブをそれぞれの印刷ジョブの印刷が完了するまで格納するジョブ格納手段と、
前記ジョブ格納手段に格納されている全印刷ジョブの処理順を管理する印刷ジョブ処理順管理手段と、
前記ジョブ格納手段の空き容量が追加格納困難なフル状態かどうかを判定する状態判定手段と、
前記状態判定手段によりフル状態であると判定された場合に、前記ジョブ格納手段に格納している最中の印刷ジョブが前記印刷ジョブ処理順管理手段より管理されている先頭の印刷ジョブであるかどうかを調査する調査手段と、
前記調査手段により格納中の印刷ジョブが先頭の印刷ジョブであると判断された場合に、当該印刷ジョブを読み飛ばして次の印刷ジョブを受信可能に制御する処理を実行し、前記調査手段により格納中の印刷ジョブが先頭の印刷ジョブでないと判断された場合に、前記処理を実行しないジョブ処理手段と、
を有することを特徴とする印刷制御装置。
A print control apparatus for receiving and processing a print job in parallel from the plurality of host computer including print data generated by the plurality of host computers,
Job storage means for storing each print job received from the host computer until printing of each print job is completed;
Print job processing order management means for managing the processing order of all print jobs stored in the job storage means;
State determination means for determining whether the free capacity of the job storage means is a full state in which additional storage is difficult;
If it is determined that the full state by the state determining means, is at the beginning of the print job print job situ being store in the job storage unit is managed from the print job processing order managing means Survey means to investigate whether or not
When it is determined that the print job being stored is the first print job by the checking means, a process of skipping the print job and performing control so that the next print job can be received is executed and stored by the checking means A job processing unit that does not execute the process when it is determined that the print job in the middle is not the first print job ;
A printing control apparatus comprising:
前記ジョブ処理手段は、前記調査手段によりスプーリング中の印刷ジョブが先頭の印刷ジョブでないと判断された場合に、先頭の印刷ジョブの印刷処理が終了するまで、後続する印刷ジョブを前記ジョブ格納手段にスプーリングさせるのを一時的に中断させることを特徴とする請求項記載の印刷制御装置。The job processing means, when the investigation means determines that the print job being spooled is not the first print job, the job storage means outputs the subsequent print job until the print processing of the first print job is completed. the print control apparatus according to claim 1, wherein the to temporarily suspend cause spooled on. 複数のホストコンピュータで生成される印刷データを含む印刷ジョブを該複数のホストコンピュータから並行して受信して処理する印刷制御装置におけるデータ処理方法であって、
前記ホストコンピュータから受信する各印刷ジョブをそれぞれの印刷ジョブの印刷が完了するまでジョブ格納手段に格納するジョブ格納ステップと、
前記ジョブ格納手段に格納されている全印刷ジョブの処理順を管理する印刷ジョブ処理順管理ステップと、
前記ジョブ格納手段の空き容量が追加格納困難なフル状態かどうかを判定する状態判定ステップと、
前記状態判定ステップによりフル状態であると判定された場合に、前記ジョブ格納手段に格納している最中の印刷ジョブが前記印刷ジョブ処理順管理ステップより管理されている先頭の印刷ジョブであるかどうかを調査する調査ステップと、
前記調査ステップにより格納中の印刷ジョブが先頭の印刷ジョブであると判断された場合に、当該印刷ジョブを読み飛ばして次の印刷ジョブを受信可能に制御する処理を実行し、前記調査ステップにより格納中の印刷ジョブが先頭の印刷ジョブでないと判断された場合に、前記処理を実行しないジョブ処理ステップと、
を有することを特徴とするデータ処理方法。
A data processing method in a print control apparatus that receives and processes in parallel the print job from the plurality of host computer including print data generated by the plurality of host computers,
A job storage step of storing each print job received from the host computer in a job storage means until printing of each print job is completed;
A print job processing order management step for managing the processing order of all print jobs stored in the job storage means;
A state determination step of determining whether or not the free capacity of the job storage means is full and difficult to additionally store;
If it is determined that the full state by the state determination step, is at the beginning of the print job print job situ that store the job storage unit is managed from the print job processing order managing step A survey step to investigate whether or not
When it is determined that the print job being stored is the first print job in the investigation step, the process of skipping the print job and controlling to be able to receive the next print job is executed, and stored in the investigation step A job processing step that does not execute the processing when it is determined that the middle print job is not the first print job ;
A data processing method characterized by comprising:
前記ジョブ処理ステップは、前記調査ステップにより前記ジョブ格納手段にスプーリング中の印刷ジョブが先頭の印刷ジョブでないと判断された場合に、先頭の印刷ジョブの印刷処理が終了するまで、後続する印刷ジョブを前記ジョブ格納手段にスプーリングさせるのを一時的に中断することを特徴とする請求項3に記載のデータ処理方法。In the job processing step, when it is determined that the print job being spooled in the job storage means is not the first print job by the investigation step, the subsequent print job is continued until the print processing of the first print job is completed. 4. The data processing method according to claim 3, wherein the job storage means is temporarily suspended from being spooled. 複数のホストコンピュータで生成される印刷データを含む印刷ジョブを該複数のホストコンピュータから並行して受信して処理する印刷制御装置に、
前記ホストコンピュータから受信する各印刷ジョブをそれぞれの印刷ジョブの印刷が完了するまでジョブ格納手段に格納するジョブ格納ステップと、
前記ジョブ格納手段に格納されている全印刷ジョブの処理順を管理する印刷ジョブ処理順管理ステップと、
前記ジョブ格納手段の空き容量が追加格納困難なフル状態かどうかを判定する状態判定ステップと、
前記状態判定ステップによりフル状態であると判定された場合に、前記ジョブ格納手段に格納している最中の印刷ジョブが前記印刷ジョブ処理順管理ステップより管理されている先頭の印刷ジョブであるかどうかを調査する調査ステップと、
前記調査ステップにより格納中の印刷ジョブが先頭の印刷ジョブであると判断された場合に、当該印刷ジョブを読み飛ばして次の印刷ジョブを受信可能に制御する処理を実行し、前記調査ステップにより格納中の印刷ジョブが先頭の印刷ジョブでないと判断された場合に、前記処理を実行しないジョブ処理ステップとを実行させるためのプログラムを記録したコンピュータが読み取り可能な記憶媒体。
The print control apparatus that receives and processes in parallel a print job including print data generated by the plurality of host computers from the plurality of host computers,
A job storage step of storing each print job received from the host computer in a job storage means until printing of each print job is completed;
A print job processing order management step for managing the processing order of all print jobs stored in the job storage means;
A state determination step of determining whether or not the free capacity of the job storage means is full and difficult to additionally store;
If it is determined that the full state by the state determination step, is at the beginning of the print job print job situ that store the job storage unit is managed from the print job processing order managing step A survey step to investigate whether or not
When it is determined that the print job being stored is the first print job in the investigation step, the process of skipping the print job and controlling to be able to receive the next print job is executed, and stored in the investigation step A computer-readable storage medium storing a program for executing a job processing step that does not execute the processing when it is determined that the print job in the middle is not the first print job .
前記ジョブ処理ステップは、前記調査ステップにより前記ジョブ格納手段にスプーリング中の印刷ジョブが先頭の印刷ジョブでないと判断された場合に、先頭の印刷ジョブの印刷処理が終了するまで、後続する印刷ジョブを前記ジョブ格納手段にスプーリングさせるのを一時的に中断することを特徴とする請求項5に記載の記憶媒体。In the job processing step, when it is determined that the print job being spooled in the job storage means is not the first print job by the investigation step, the subsequent print job is continued until the print processing of the first print job is completed. 6. The storage medium according to claim 5, wherein the job storage means is temporarily suspended from being spooled.
JP2001079171A 2001-03-19 2001-03-19 Printing control apparatus, data processing method, and storage medium Expired - Fee Related JP4541581B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001079171A JP4541581B2 (en) 2001-03-19 2001-03-19 Printing control apparatus, data processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001079171A JP4541581B2 (en) 2001-03-19 2001-03-19 Printing control apparatus, data processing method, and storage medium

Publications (2)

Publication Number Publication Date
JP2002273985A JP2002273985A (en) 2002-09-25
JP4541581B2 true JP4541581B2 (en) 2010-09-08

Family

ID=18935666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001079171A Expired - Fee Related JP4541581B2 (en) 2001-03-19 2001-03-19 Printing control apparatus, data processing method, and storage medium

Country Status (1)

Country Link
JP (1) JP4541581B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5623029B2 (en) * 2009-06-02 2014-11-12 キヤノン株式会社 Print control apparatus, print control method, and program
JP6127716B2 (en) * 2013-05-24 2017-05-17 ブラザー工業株式会社 Printing device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000001008A (en) * 1998-06-18 2000-01-07 Canon Inc Image-processing apparatus and image communication apparatus
JP2000172456A (en) * 1998-09-29 2000-06-23 Seiko Epson Corp Print system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000001008A (en) * 1998-06-18 2000-01-07 Canon Inc Image-processing apparatus and image communication apparatus
JP2000172456A (en) * 1998-09-29 2000-06-23 Seiko Epson Corp Print system

Also Published As

Publication number Publication date
JP2002273985A (en) 2002-09-25

Similar Documents

Publication Publication Date Title
US7359081B2 (en) Information processing apparatus, distributed printing method, and storage medium
US7236260B2 (en) Print server apparatus, print job reservation management method, reservation job generation method and memory medium
US8045202B2 (en) Information processing apparatus and print device control method
US7583400B2 (en) Print controlling method and apparatus that prevents transmission of print data from clients until a predetermined time that is scheduled based on when the client registers with the managing section
US5873659A (en) Method and apparatus for providing a printer having internal queue job management
JP4182116B2 (en) PRINT CONTROL DEVICE, ITS CONTROL METHOD, AND COMPUTER PROGRAM
US6985243B1 (en) Print server apparatus, information processing apparatus as client, print managing method for these apparatuses, and storage medium
JP4194532B2 (en) Information processing apparatus and job transfer control method
JPH11327856A (en) Printing controller, data processing method for the same and storage medium storing program which computer can read
JP3774702B2 (en) Print control program and information processing apparatus
JP2001154819A (en) Device and method for controlling print and recording medium for storing print control program and print control program product
JP2004334874A (en) Print control system and print control method
US20070091361A1 (en) Printer, print control method, and program for executing print control method
US7362456B2 (en) Print job substitution in a copy job
JP2005174210A (en) Information processor, printing system, load distribution printing method, and control program
US7190469B1 (en) Printing system for printing interrupt jobs
US20050128505A1 (en) Method and apparatus for executing load distributed printing
JP4541581B2 (en) Printing control apparatus, data processing method, and storage medium
US20030133152A1 (en) Server apparatus, job managing method, computer-readable memory medium, and program
JP3508752B2 (en) Printing system, method and printer
JP2005349768A (en) Printing device and printing method
JP2001125763A (en) Printer and print system
JP2001080143A (en) Apparatus and method for controlling printing and recording medium readable by computer with printing control program stored
JP2006168069A (en) Printing apparatus and printing system
JP2004021458A (en) Print system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070731

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100622

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100624

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4541581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees