JP4665996B2 - 印刷制御システム - Google Patents

印刷制御システム Download PDF

Info

Publication number
JP4665996B2
JP4665996B2 JP2008115563A JP2008115563A JP4665996B2 JP 4665996 B2 JP4665996 B2 JP 4665996B2 JP 2008115563 A JP2008115563 A JP 2008115563A JP 2008115563 A JP2008115563 A JP 2008115563A JP 4665996 B2 JP4665996 B2 JP 4665996B2
Authority
JP
Japan
Prior art keywords
job
print
instruction
client
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
JP2008115563A
Other languages
English (en)
Other versions
JP2009265994A (ja
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2008115563A priority Critical patent/JP4665996B2/ja
Publication of JP2009265994A publication Critical patent/JP2009265994A/ja
Application granted granted Critical
Publication of JP4665996B2 publication Critical patent/JP4665996B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、印刷制御システムに関する。
用紙に対する印刷を行うプリントエンジンの中には、印刷ジョブを1つずつしか受け付けない仕様となっているものが存在する。この種のプリントエンジンに、プリントコントローラから複数の印刷ジョブを順次送信して印刷させる場合、1ジョブが終わるごとにプリントエンジンがサイクルダウンし、次のジョブの実行のためにサイクルアップを行うことになる。サイクルダウンではエンジン内の感光体ドラムなどの回転部材の回転速度低下などといった処理を行い、サイクルアップではいったん落ちた回転速度を可動速度まで高める等の処理を行うので、ある程度の時間がかかる。このため、1ジョブごとにサイクルダウン及びサイクルアップを行っていたのでは、連続したジョブの処理効率が低下する。また、複数の印刷ジョブを受け付け可能なプリントエンジンの中にも、ジョブ間でサイクルダウン及びサイクルアップを行うものがあり、同様の処理効率低下の問題がある。
これに対し、特許文献1には、印刷属性の変化に応じてプリンタの動作モードを切り換える場合にはプリンタを一旦停止する必要があることに鑑み、属性が共通する印刷ジョブを同一のバッチにまとめ、バッチ単位でプリンタに印刷させるプリンタ制御装置が開示されている。この装置は、バッチ群を管理するためにバッチキューというデータ構造を有しており、新たな印刷ジョブを受信すると、その印刷ジョブの印刷属性と同じ属性を持ったバッチがバッチキュー内に見つかれば、見つかったバッチにその印刷ジョブを追加する。
また、特許文献2に開示されたシステムは、アプリケーションから連続する複数のジョブがたて続けに入力されても、それら複数のジョブを連結して印刷装置(プリントエンジン)に送ることで、印刷装置のリセットを行わずに済ませ、スループットを維持する(要約書参照)。このシステムでは、印刷制御部は、第1のジョブの描画データを印刷装置に転送した後、そのジョブの終了識別情報を検知しても、すぐにはその終了識別情報を印刷装置に転送せずに所定のセーフティタイムだけ待つ。そのセーフティタイム内に第2のジョブが到来すると、その終了識別情報と第2のジョブの開始識別情報を印刷装置に転送することをせずに、第2のジョブの描画データを印刷装置に転送する。また、セーフティタイム内に後続のジョブが到来しなければ、印刷制御部は印刷装置に対して第1のジョブの終了識別情報を印刷装置に転送する(段落0047参照)。また、特許文献2には、そのような印刷制御部を備えたホストコンピュータが、他のホストコンピュータに対してプリントサーバとして機能する場合にも、同様の処理が可能である旨が記載される(段落0048参照)。
特開平11−212739号公報 特開2004−342026号公報(要約書、段落0047及び0048参照)
複数の印刷ジョブを連結するといっても、印刷ジョブ同士が連結できる条件は印刷装置(プリントエンジン)の機種ごとに異なる。例えば、印刷枚数計数の仕組みなどから両面印刷のジョブを他のジョブと連結できない印刷装置もあれば、両面印刷のジョブを他のジョブと連結できる印刷装置もある。したがって、印刷制御装置が複数の機種の印刷装置に対応する場合に、機種ごとにジョブ連結のための制御機構を実装したのでは効率が悪い。
本発明は、クライアント装置から印刷指示を受信し、その印刷指示に基づき画像データを生成する処理を行うクライアント指示処理部と、前記クライアント指示処理部が生成した画像データを印刷装置に印刷させるための制御を行う印刷装置制御部と、を備え、前記クライアント指示処理部は、クライアント装置から印刷指示を受信した場合に、前記印刷装置制御部にその印刷指示データの印刷条件を前記印刷装置制御部に通知する通知手段と、前記印刷指示に基づき生成した画像データを前記印刷装置制御部に転送し終わった場合に、第1段階の終了指示を送信する手段と、前記第1段階の終了指示を送信した後、前記印刷装置が前記印刷指示に基づき生成した画像データの印刷を完了するタイミングまでの間にクライアント装置から別の印刷指示を受信しなかった場合に、第2段階の終了指示を送信する手段と、を備え、前記印刷装置制御部は、前記クライアント指示処理部から通知された印刷指示の印刷条件と、前記印刷装置が印刷処理中の印刷指示の印刷条件との比較に基づき、前記通知された印刷指示を前記印刷処理中の印刷指示に連結可能か否かを判定する判定手段と、前記判定手段が連結可能と判定した場合は、前記印刷装置が印刷処理中の印刷指示についての印刷が終了した場合でも前記印刷装置に終了通知を送らずに、前記通知された印刷指示に対応する画像データを前記印刷装置に印刷させ、その後クライアント指示処理部から第2段階の終了指示を受けた場合に前記印刷装置に終了通知を送る手段と、前記判定手段が連結不可と判定した場合は、前記クライアント指示処理部から前記第1段階の終了指示を受けた場合に前記印刷装置に終了通知を送る手段と、を備える印刷制御システムである。
1つの態様では、前記クライアント指示処理部は、コンピュータに対してプログラムを実行させることにより実装され、前記印刷装置制御部は、前記コンピュータに接続される制御ボードとして実装される。
図1を参照して、実施の形態のプリントコントローラシステムを含んだネットワークシステムの例を概説する。
このシステムは、ローカル・エリア・ネットワークなどのネットワーク10に接続されたクライアント12a,12b,…(以下、区別する必要がない場合はクライアント12と総称する)とプリントコントローラシステム14とを含んでいる。プリントコントローラシステム14には、1以上のプリントエンジン16a,16b,…(以下、区別する必要がない場合はプリントエンジン16と総称する)が接続されている。
クライアント12は、ユーザが操作するパーソナルコンピュータ等のコンピュータ装置である。ユーザは、クライアント12を操作して、プリントコントローラシステム14に対して印刷指示を行う。この印刷指示には、典型的には、用紙サイズや出力部数等の印刷条件と、印刷する画像をPDL(ページ記述言語)で記述した印刷データが含まれる。印刷指示は、「ジョブ」とも呼ばれる。
プリントコントローラシステム14は、クライアント12から受信したジョブをスプールし、順番にプリントエンジン16に印刷させる。
プリントエンジン16は、プリントコントローラシステム14から与えられた画像データを用紙に印刷する。なお、以下の例では、プリントコントローラシステム14に接続されたプリントエンジン16がすべて、ジョブを1つずつしか受け付けないタイプのものであるとする。
次に図2を参照して、実施の形態のプリントコントローラシステム14の内部構成を詳細に説明する。
図示例では、プリントコントローラシステム14は、1つのクライアントジョブ処理部140と、1以上のエンジンコントローラ部150a,150b,…(以下、区別する必要がない場合はエンジンコントローラ部150と総称する)とを備えている。
クライアントジョブ処理部140は、ネットワーク10を介してクライアント12から到来したジョブをスプール142に格納し、キュー管理を行う。キュー(図示省略)は、プリントエンジン16ごとに用意され、管理される。あるプリントエンジンを出力先に指定したジョブが到来した場合、クライアントジョブ処理部140は、そのジョブをそのプリントエンジン16に対応するキューに挿入する。キュー内のジョブは、対応するプリントエンジン16に対し、先頭から順に送信されることになる。また、クライアントジョブ処理部140は、ジョブのPDLデータを解釈して印刷用のラスター画像データを生成するRIP(Raster Image Processor)部を備えている。RIP部が生成したラスター画像データは、エンジンコントローラ部150を介してプリントエンジン16に送られる。
また、ジョブ管理テーブル144には、スプール142(及びキュー)に登録された各ジョブの管理情報が登録される。図3に、ジョブ管理テーブル144のデータ構造の一例を示す。この例では、ジョブ管理テーブル144には、ジョブごとに、クライアント側のジョブ識別情報20,コントローラ内でのジョブ識別情報22,及びステータス24の情報が登録されている。
クライアント側のジョブ識別情報20は、当該ジョブに対してクライアント12が付与した識別情報であり、ジョブと共にクライアント12からプリントコントローラシステム14に送信されたものである。
コントローラ内でのジョブ識別情報22は、当該ジョブに対してプリントコントローラシステム14が付与した識別情報である。この実施の形態では、個々のエンジンコントローラ部150がこのジョブ識別情報22を付与する。このジョブ識別情報22は、ジョブIDと連結番号とを含んでいる。この実施の形態では、プリントコントローラシステム14は、受信した複数のジョブ(実ジョブと呼ぶ)を仮想的に1つに連結し、プリントエンジン16には1つのジョブ(仮想ジョブと呼ぶ)として認識させることで、実ジョブ間のサイクルダウンを減らす。コントローラ内でのジョブ識別情報22のうちのジョブIDは、プリントエンジン16に対してジョブ(すなわち仮想ジョブ)を識別するときに用いる識別情報であり、連結番号は仮想ジョブ内での個々の実ジョブを識別するための識別情報(典型的には通し番号)である。
クライアント12からジョブを受信した時点では、コントローラ内でのジョブ識別情報22は空である。この欄には、後でエンジンコントローラ部150からジョブIDと連結番号を取得した際に、それらの値が書き込まれる。
ステータス24は、当該ジョブの状態を示す情報である。ステータス24の値には、例えば、「実行待ち」、「実行中」、「実行完了」、又は「失敗」などがある。ステータス24の値は、クライアントジョブ処理部140での処理の進行や、エンジンコントローラ部150からの通知に従って更新される。このようなジョブのステータスの管理は周知技術なのでこれ以上の説明は省略する。
再び図2に戻ると、クライアントジョブ処理部140は、受信したジョブを順にRIP(すなわちラスター画像データへ変換)し、そのジョブの出力先のプリントエンジン16に対応するエンジンコントローラ部150に出力を依頼する。
エンジンコントローラ部150は、プリントコントローラシステム14に接続されたプリントエンジン16ごとに設けられる。エンジンコントローラ部150は、クライアントジョブ処理部140から実ジョブを受け取り、受け取ったジョブが現在実行中の実ジョブに連結可能であるか否かを判定する。そして、連結可能と判定した場合、エンジンコントローラ部150は、現在実行中の実ジョブの実行が終了しても、プリントエンジン16にジョブ終了通知を送らずに、受け取ったジョブの画像データを続けてプリントエンジン16に送って印刷させる。
エンジンコントローラ部150は、キュー152と連結条件記憶部154を備えている。キュー152は、クライアントジョブ処理部140から受信した実ジョブが登録される待ち行列である。連結条件記憶部154は、当該エンジンコントローラ150に接続されたプリントエンジン16において、受信した実ジョブが現在実行中のジョブに対して連結可能か否かを判定するための判定条件を記憶する。
受信した実ジョブを現在実行中のジョブに連結できるかは、前者と後者の印刷条件同士の関係により判定される。ただし、前者と後者の印刷条件同士の関係が同じであっても、前者と後者の連結が認められるかどうかは、プリントエンジン16の機種ごとに異なる。例えば、受信した実ジョブ又は現在実行中のジョブのどちらかが両面印刷のジョブである場合、あるプリントエンジンでは両者の連結が認められないが、別のプリントエンジンでは両者の連結が認められるといった差異がある。また、別の例として、受信した実ジョブ又は現在実行中のジョブのどちらかがステープル留めの指定を含む場合、あるプリントエンジンでは両者の連結が認められないが、別のプリントエンジンでは両者の連結が認められるといった差異がある。例えば、1つの例では、連結条件記憶部154に記憶される判定条件は、印刷条件の項目の値(例えば両面印刷、ステープル留めなど)ごとに、受信した実ジョブと現在実行中のジョブとのどちらかがその項目を含む場合に、ジョブ連結を認めるか否かを記述する。例えば、あるプリントエンジン16についての判定条件は、受信した実ジョブと現在実行中のジョブのどちらか1以上が両面印刷であってもジョブ連結を認めるが、どちらか1以上がステープル留めを含む場合はジョブ連結を認めない、などという内容を表す。以上に例示した判定条件はあくまで一例に過ぎない。より詳細に、例えば、受信した実ジョブと現在実行中のジョブとの間の印刷条件の項目の値同士の関係がどのような場合に連結を認める(あるいは認めない)か、を記述する判定条件を用いてもよい。
例えば、エンジンコントローラ部150は、プリントエンジン16に電源が投入されたときに行われる初期化処理(パワー・オン・シーケンス等とも呼ばれる)の際に、プリントエンジン16から機種識別情報を取得し、その機種識別情報に応じた判定条件を連結条件記憶部154に記憶すればよい。この場合、エンジンコントローラ部150が、各機種識別情報に対応する判定条件が登録されたテーブルを保持していればよい。なお、プリントコントローラシステム14にそのテーブルを管理するソフトウエアモジュールを設け、エンジンコントローラ部150がそのソフトウエアモジュールに対し、機種識別情報に対応する判定条件を問い合わせるようにしてもよい。また、対応するプリントエンジン16についての判定条件があらかじめ書き込まれた連結条件記憶部154を有するエンジンコントローラ部150を用いるようにしてもよい。
以上に例示したプリントコントローラシステム14は、例えば、パーソナルコンピュータやワークステーションなどといった汎用のコンピュータ装置をベースに構築することができる。プリントコントローラシステム14のうち、クライアントジョブ処理部140は、プリントコントローラシステム14を制御するオペレーティングシステム上のアプリケーションソフトウエアとして実装することができる。
一方、エンジンコントローラ部150は、そのコンピュータ装置に対して接続される制御ボードとして実装することができる。制御ボードは、例えば、PCI(Peripheral Component Interconnect)のようなバス規格に準拠したボードとして構成される。制御ボードには、そのコンピュータ装置とのインタフェース回路、プリントエンジン16とのインタフェース回路、制御ボードで実行する制御手順を記述したプログラムを記憶したROM(リード・オンリー・メモリ)やEEPROM(Electrically Erasable Programmable ROM)などの記憶装置、そのプログラムを実行するプロセッサ、プログラム実行時に利用されるワークメモリ(例えばRAM(ランダム・アクセス・メモリ))などが搭載される。
次に、図4を参照して、クライアントジョブ処理部140の処理手順の一例を説明する。この手順は、プリントコントローラシステム14に接続されたプリントエンジン16ごと(すなわちエンジンコントローラ部ごと)について、それぞれ実行される。
この手順では、クライアントジョブ処理部140は、スプール142内に未処理のジョブが存在するか否かを判定する(S100)。プリントエンジン16が複数接続されている場合、スプール142にはエンジン16ごとにキューが形成されており、ステップS100では、当該手順に対応するエンジン16のキューにジョブがあるかどうかを調べる。
ステップS100でキューにジョブが存在すると判定した場合、クライアントジョブ処理部140は、キューの先頭のジョブを取得する(S102)。このとき、そのジョブのPDLデータのRIP処理が未だ行われていなければ、RIP処理を開始する。先頭のジョブを取得すると、その手順が対象としているエンジンコントローラ部150に対してジョブ開始通知を送信する(S104)。このジョブ開始通知には、印刷条件の情報が含まれる。
このジョブ開始通知に応じて、エンジンコントローラ部150からはジョブ開始応答が返される。このジョブ開始応答には、エンジンコントローラ部150が割り当てたジョブID及び連結番号が含まれる。クライアントジョブ処理部140は、そのジョブ開始応答を受信し(S106)、その応答に含まれるジョブID及び連結番号を、ジョブ管理テーブル144における当該ジョブの、コントローラ内でのジョブ識別情報22の欄に記憶する(S108)。
ジョブ開始応答を受信した後、クライアントジョブ処理部140は、RIP処理により得られた当該ジョブの各ページの画像データを、順番にエンジンコントローラ部150に渡す。そして、ジョブを構成する全ページの画像データをエンジンコントローラ部150に渡し終えた場合には(ステップS110の判定結果が肯定(Y))、クライアントジョブ処理部140は、エンジンコントローラ部150に対してジョブ終了通知を送信する(S112)。
この実施の形態では、クライアントジョブ処理部140からエンジンコントローラ部150へ送るジョブ終了通知には第1段階と第2段階の2種類がある。第1段階のジョブ終了通知は、後続するジョブが現に存在する又は近く現れる可能性があることを示すものである。ステップS112ではこの第1段階のジョブ終了通知が送信される。なお、エンジンコントローラ部150は、第1段階のジョブ終了通知を受けただけではプリントエンジン16に対してジョブ終了通知を送信しない。更にその後に第2段階のジョブ終了通知を受けて初めて、エンジンコントローラ部150はプリントエンジン16にジョブ終了通知を送信する。
ステップS112の後、クライアントジョブ処理部140は、当該手順の処理対象であるプリントエンジン16に関して連結モードに移行する(S114)。既に当該プリントエンジン16に関して連結モードに入っている場合は、連結モードを維持する。この後、処理はステップS100に戻り、スプール142に当該プリントエンジン16宛のジョブがあるかどうかを調べる。
ステップS100で、スプール142内に当該プリントエンジン16宛のジョブがない場合には、クライアントジョブ処理部140は、当該プリントエンジン16に関するモードが連結モードであるかどうかを判定する(S120)。連結モードでなければ、ステップS100に戻り、所定時間の経過後に再びスプール142内に当該プリントエンジン16宛のジョブがあるかどうかを調べる。
ステップS120で連結モードと判定された場合には、クライアントジョブ処理部140は、当該プリントエンジン16が現在出力している実ジョブの印刷結果の最終ページが排出されるタイミング(排出終了タイミングと呼ぶ)が到来したかどうかを判定する(S122)。この実施の形態では、エンジンコントローラ部150がプリントエンジン16に対して、実ジョブ単位ではなく仮想ジョブ単位でジョブの区切りを通知しているので、プリントエンジン16は、仮想ジョブは認識しているが実ジョブは認識していない。そこで、排出終了タイミングが到来したかどうかは、クライアントジョブ処理部140が判定する。
この判定では、例えば、ジョブ終了通知(S112)を発した後、タイマーにより時間計測を開始し、タイマーが計測した時間がしきい値時間以上となった場合に、排出終了タイミングが到来したと判定してもよい。しきい値時間は、固定値でもよいが、当該ジョブで印刷する総ページ数(ジョブのページ数×部数)に応じた値としてもよい。
また、タイマーの計測開始のタイミングは、ジョブ終了通知の発行時点に限定されるわけではない。例えば、プリントエンジン16が印刷結果を1枚排出するごとに排出終了通知をプリントコントローラシステム14に送信する場合、クライアントジョブ処理部140は、その排出終了通知をカウントすることで、ジョブの総ページ数の内の何ページ目までの排出が完了したかを把握できる。したがって、例えば、ジョブの最後の排出ページから所定ページ数だけ前のページの排出完了を検知した時点からタイマーによる時間計測を開始してもよい。この場合、しきい値時間は固定値でよい。
いずれの場合も、タイマーは、ステップS100でスプール142にジョブがあると判定された場合に、初期値0にリセットされる。
ステップS122で排出終了タイミングが到来していないと判定した場合は、ステップS100に戻る。
一方、到来したと判定した場合には、クライアントジョブ処理部140は、エンジンコントローラ部150に対して第2段階のジョブ終了通知を送信する(S124)。この第2段階のジョブ終了通知は、後続のジョブがないことを示しており、この通知を受けたエンジンコントローラ部150はプリントエンジン16に対してジョブ終了通知を送信する。
ステップS124の後、クライアントジョブ処理部140は、当該プリントエンジン16の連結モードを解除する(S126)。そして、処理はステップS100に戻る。
次に、図5及び図6及び図7を参照して、エンジンコントローラ部150の処理手順の例を説明する。まず、図5を参照して、ジョブ受け入れ制御の例について説明する。
エンジンコントローラ部150は、クライアントジョブ処理部140からジョブ開始通知が到来するのを待つ(S200)。ジョブ開始通知が到来すると、プリントエンジン16が現在実行中のジョブが存在するかどうかを判定する(S202)。
存在しなければ、エンジンコントローラ部150は、新たなジョブIDを生成し、連結番号を初期値(例えば1)にリセットする(S204)。そして、そのジョブIDと連結番号とを含んだジョブ開始応答をクライアントジョブ処理部140に返す(S210)とともに、到来したジョブ(ジョブIDと連結番号の組)をキュー152の末尾に追加する(S212)。
ステップS202でプリントエンジン16が実行中のジョブがあると判定した場合、エンジンコントローラ部150は、到来したジョブが実行中のジョブに連結可能かどうかを判定する(S206)。この判定は、ジョブ開始通知に含まれる到来したジョブの印刷条件と、実行中のジョブの印刷条件と、連結条件記憶部154に記憶された判定条件とに基づき行う。
ステップS206で連結可能と判定した場合、エンジンコントローラ部150は、ジョブIDは変更せずに連結番号を1増加させる(S208)。そして、そのジョブIDと連結番号とを伴うジョブ開始応答をクライアントジョブ処理部140に返し(S210)、そのジョブIDと連結番号の組をキュー152の末尾に追加する(S212)。
ステップS206で連結不可と判定した場合、エンジンコントローラ部150は、クライアントジョブ処理部140から第1段階のジョブ終了通知が受信済みであるか否かを判定する(S214)。この判定は、図7の手順のステップS242でセットされ、ステップS246でリセットされる第1段階フラグを参照して行えばよい。第1段階のジョブ終了通知を未受信であれば、所定時間待って再度ステップS214の判定を行う。そして、第1段階のジョブ終了通知が受信済みとなれば、プリントエンジン16にジョブ終了通知を送る(S216)。このジョブ終了通知には、プリントエンジン16が実行中のジョブのジョブIDが含まれる。なお、この時点では、その「実行中のジョブ」はプリントエンジン16ではまだ印刷が完了していないので「実行中」であるが、クライアントジョブ処理部140では処理が終了している。
また、ステップS206で連結不可と判定した場合、エンジンコントローラ部150は、新たなジョブIDを生成して連結番号をリセットし(S204)、そのジョブIDと連結番号とを伴うジョブ開始応答をクライアントジョブ処理部140に返す(S210)。また、そのジョブIDと連結番号の組をキュー152の末尾に追加する(S212)。
次に、図6を参照して、ジョブ実行制御の例について説明する。この処理では、エンジンコントローラ部150は、プリントエンジン16がジョブ(仮想ジョブ)を実行していない間は、定期的にキュー152にジョブがあるかどうかを調べる(S220)。あれば、キューの先頭のジョブを取得する(S222)。そして、プリントエンジン16が現在実行中のジョブがあるかどうかを判定し(S224)、無ければ、プリントエンジン16に対してジョブ開始通知を送信する(S232)。このとき送信されるジョブ開始通知には、当該ジョブのジョブIDの情報が含まれる。ただし、連結番号の情報は含まれない。また、印刷条件の情報もプリントエンジン16に送られる。そして、このジョブ開始通知の後、当該ジョブの各ページの画像データを順番にプリントエンジン16に送信する(S234)。
ステップS224で実行中のジョブがあると判定された場合、エンジンコントローラ部150は、プリントエンジン16が実行中のジョブ(ここでは実ジョブ)を終えるのを待つ(S226)。例えば、プリントエンジン16から1枚ごとにプリント終了(すなわち1枚の印刷結果を排出完了)の通知が来る場合、エンジンコントローラ部150は、その通知の受信回数をカウントし、カウント値がクライアントジョブ処理部140から受け取った当該ジョブの出力枚数(これは印刷条件に基づきエンジンコントローラ部150が計算してもよい)に達した時点でジョブが終了したと判定すればよい。なお、カウント値が出力枚数に達してから次の実ジョブの画像データ転送を開始したのではプリントエンジン16の空転時間が長くなりすぎる場合には、出力枚数から所定枚数を引いた値にカウント値が達した時点を基準にジョブ終了のタイミングを推定(例えばその時点から所定時間が経過した時点でジョブ終了と推定するなど)してもよい。
プリントエンジン16が実行中の実ジョブが終了すると、エンジンコントローラ部150は、ジョブ終了通知をクライアントジョブ処理部140に送信する(S228)。この通知には、当該実ジョブのジョブIDと連結番号の組が含まれる。
また、エンジンコントローラ部150は、ステップS222で取得した先頭ジョブのジョブIDとステップS226で終了したと判定したジョブのジョブIDとが同じか否かを判定する(S230)。同じでなければ、その先頭ジョブは実行中のジョブに連結できないジョブであるということなので、その先頭ジョブのジョブIDを含んだジョブ開始通知をプリントエンジン16に送信(S232)したのち、当該ジョブの各ページの画像データを順番にプリントエンジン16に送信する(S234)。
また、ステップS230で先頭ジョブと終了したジョブのジョブID同士が一致した場合は、エンジンコントローラ部150は、ステップS232をスキップし(すなわちジョブ開始通知を送らない)、当該ジョブの各ページの画像データを順番にプリントエンジン16に送信する(S234)。この場合、プリントエンジン16は、終了したジョブとその先頭ジョブとを同じジョブと認識する。
次に、図7を参照して、エンジンコントローラ部150がプリントエンジン16にジョブ終了通知を送る処理の例を説明する。
この手順では、エンジンコントローラ部150は、クライアントジョブ処理部140から第1段階のジョブ終了通知を受け取るのを待つ(S240)。第1段階のジョブ終了通知を受け取ると、第1段階フラグをセット(オン)する(S242)。そして、クライアントジョブ処理部140から第2段階のジョブ終了通知を受け取るのを待つ(S244)。第2段階のジョブ終了通知を受け取ると、プリントエンジン16に、当該ジョブのジョブIDを含んだジョブ終了通知を送る(S246)。そして、第1段階フラグをリセット(オフ)し(S246)、ステップS240に戻る。
以上、クライアントジョブ処理部140及びエンジンコントローラ部150が実行する処理手順の一例を説明した。
次に、このようなクライアントジョブ処理部140及びエンジンコントローラ部150からなるシステムの動作の具体例を説明する。
図8の例では、(1)まずクライアント12a(図1参照)がプリントコントローラシステム14にジョブを送信する。この時点では、プリントコントローラシステム14及びプリントエンジン16はジョブを実行していないものとする。すると、クライアントジョブ処理部140は、そのジョブをスプール142及びジョブ管理テーブル144に登録すると共に、(2)エンジンコントローラ部150に対してジョブ開始通知を送信する。この通知には、そのジョブの印刷条件が含まれている。この通知を受けたエンジンコントローラ部150は、そのジョブに対して新たなジョブIDとして値Nを付与し、(3)ジョブID=Nと連結番号=1を含んだジョブ開始応答をクライアントジョブ処理部140に返す。なお、エンジンコントローラ部150は、ジョブ開始通知と共に受け取った印刷条件を、後の連結可否の判定のために記憶する。また、この時点ではプリントエンジン16はジョブを実行していないので、エンジンコントローラ部150は、(4)ジョブID=Nを含んだジョブ開始通知をプリントエンジン16に送り、その後そのジョブの各ページの画像を順にプリントエンジン16に送信して印刷させる。
クライアントジョブ処理部140は、そのジョブ(ジョブID=N,連結番号=1)のRIP処理が完了し、そのジョブの全ページの画像をエンジンコントローラ部150に渡し終わると、(5)後続のジョブが存在する可能性があることを示した第1段階のジョブ終了通知をエンジンコントローラ部150に送信する。
その後、(6)クライアント12bがクライアントジョブ処理部140に対してジョブを送信する。このジョブは、プリントエンジン16が実行中のジョブの印刷出力を完了する時点で次のジョブの画像データを供給できるようなタイミングまでにクライアントジョブ処理部140に到達したとする。この場合、(7)クライアントジョブ処理部140は、エンジンコントローラ部150にジョブ開始通知を送信する。エンジンコントローラ部150は、その通知と共に送られてきた印刷条件と、記憶している実行中のジョブの印刷条件と、連結条件記憶部154に記憶された判定条件とに基づき、実行中のジョブに対して今回到来したジョブが連結可能か否かを判定する。図8の例では、連結可能と判定されたとする。
この場合、エンジンコントローラ部150は、ジョブIDはNのままで連結番号を2に変更し、(8)それらジョブIDと連結番号を含んだジョブ開始応答をクライアントジョブ処理部140に返す。
(9)プリントエンジン16からの1枚ごとのプリント終了通知に基づき、実行中の実ジョブ(ジョブID=N,連結番号=1)の印刷出力が全て完了したとエンジンコントローラ部150が判定すると、(10)エンジンコントローラ部150は、クライアントジョブ処理部140に対してそのジョブについてのジョブ終了通知を送信する。また、エンジンコントローラ部150は、既に到来している次の実ジョブ(ジョブID=N,連続番号=2)の画像データをプリントエンジン16に送る。
クライアントジョブ処理部140は、ジョブID=N,連結番号=2のジョブの全ページの画像をエンジンコントローラ部150に渡し終わると、(11)第1段階のジョブ終了通知をエンジンコントローラ部150に送信する。
その後、プリントエンジン16が実行中のジョブ(ジョブID=N,連続番号=2)の印刷出力を完了する時点で次のジョブの画像データを供給できるタイミングまでには次のジョブがクライアントジョブ処理部140に到来しなかったとする。この場合、(12)クライアントジョブ処理部140は、第2段階のジョブ終了通知をエンジンコントローラ部150に送る。(13)これを受けたエンジンコントローラ部150は、実行中のジョブのジョブID=Nを含んだジョブ終了通知をプリントエンジン16に送信する。
この後、エンジンコントローラ部150は、(14)プリントエンジン16からの1枚ごとのプリント終了通知に基づき、実行中の実ジョブ(ジョブID=N,連結番号=2)の印刷出力が全て完了したと判定すると、(15)クライアントジョブ処理部140に対してそのジョブについてのジョブ終了通知を送信する。
次に、別の例を説明する。図9の例のうち(1)〜(7)の流れは図8の例と同じである。この例では、段階(7)の開始通知に係るジョブが実行中のジョブに連結できないと判定される。この場合、(8)エンジンコントローラ部150は、プリントエンジン16に対して実行中のジョブのジョブID=Nを含んだジョブ終了通知を送信する。(9)また、段階(7)の開始通知に係るジョブに対して新たなジョブID=Mを付与すると共に、連結番号を1にリセットし、それらジョブID=M,連結番号=1を含んだジョブ開始応答をクライアントジョブ処理部140に返す。
エンジンコントローラ部150は、(10)プリントエンジン16からのプリント終了通知に基づき、実行中の実ジョブ(ジョブID=N,連結番号=1)の印刷出力が全て完了したと判定すると、(11)クライアントジョブ処理部140に対してそのジョブについてのジョブ終了通知を送信する。(12)また、エンジンコントローラ部150は、既に到来している次の実ジョブ(ジョブID=M,連続番号=1)のジョブIDを含んだジョブ開始通知をプリントエンジン16に送り、その後当該ジョブの画像データをプリントエンジン16に送る。
クライアントジョブ処理部140は、ジョブID=M,連結番号=1のジョブの全ページの画像をエンジンコントローラ部150に渡し終わると、(13)第1段階のジョブ終了通知をエンジンコントローラ部150に送信する。
その後、プリントエンジン16が実行中のジョブ(ジョブID=M,連続番号=1)の印刷出力を完了する時点で次のジョブの画像データを供給できるタイミングまでには次のジョブがクライアントジョブ処理部140に到来しなかったとする。この場合、(14)クライアントジョブ処理部140は、第2段階のジョブ終了通知をエンジンコントローラ部150に送る。(15)これを受けたエンジンコントローラ部150は、実行中のジョブのジョブID=Mを含んだジョブ終了通知をプリントエンジン16に送信する。
この後、エンジンコントローラ部150は、(16)プリントエンジン16からの1枚ごとのプリント終了通知に基づき、実行中の実ジョブ(ジョブID=M,連結番号=1)の印刷出力が全て完了したと判定すると、(17)クライアントジョブ処理部140に対してそのジョブについてのジョブ終了通知を送信する。
この実施の形態では、クライアントジョブ処理部140は、ジョブ管理テーブル140の情報を利用することで、ジョブステータスの表示画面として、連結されたジョブをそうでないジョブと区別して表示した画面を生成することができる。すなわち、ジョブ管理テーブル140には、各ジョブについて、エンジンコントローラ部150が付与したジョブIDと連結番号との組が登録されており、ジョブIDが等しいジョブ同士は連結されていると判定することができる。そこで、ジョブIDが等しいジョブ同士を図10に例示するように、同じ表示形態(ただし、その他のジョブの表示形態とは異なる)で表示する。図10の例では、文書1と文書2が連結されていることが分かる。この表示画面は、例えばプリントコントローラシステム14に付属する表示装置に表示される。
以上に説明した実施の形態では、プリントコントローラシステム14の機能をクライアントジョブ処理部140とエンジンコントローラ部150との2階層に分け、プリントエンジン16の機種に依存する連結可否の判定はエンジンコントローラ部150で実行するようにした。このため、クライアントジョブ処理部140は、接続されるプリントエンジン16の機種を意識する必要ない。すなわち、複数の機種のプリントエンジン16が接続される場合でも、クライアントジョブ処理部140は共通の処理を実行すればよい。
以上では、エンジンコントローラ部150に接続されたプリントエンジン16がジョブを1つずつしか受け付けない仕様である場合を例にとって説明したが、これは一例に過ぎない。ジョブを複数受け付けるタイプ(すなわちジョブを実行中に他のジョブを受け付け可能なタイプ)のプリントエンジン16がプリントコントローラシステム14に接続されている場合でも、そのプリントエンジン16がジョブ間でサイクルダウン及びサイクルアップを行うものであれば、同様の処理を行えばよい。なお、接続されているプリントエンジン16が、ジョブを複数受け付け且つジョブ間でサイクルダウン及びサイクルアップを行わないタイプのものである場合については、そのような処理は行わなくてもよい。
以上に例示した実施の形態におけるプリントコントローラシステム14は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図11に示すように、CPU1000等のマイクロプロセッサ、ランダム・アクセス・メモリ(RAM)1002およびリード・オンリー・メモリ(ROM)1004等のメモリ(一次記憶)、HDD(ハードディスクドライブ)1006を制御するHDDコントローラ1008、各種I/O(入出力)インタフェース1010、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース1012等が、たとえばバス1014を介して接続された回路構成を有する。また、そのバス1014に対し、例えばI/Oインタフェース1010経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ1016、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ1018、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM1002に読み出されCPU1000等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
実施の形態のプリントコントローラシステムを含んだネットワークシステムの例を示す図である。 実施の形態のプリントコントローラシステムの機能構成の一例を示す図である。 ジョブ管理テーブルのデータ構造の例を示す図である。 クライアントジョブ処理部の処理手順の一例を示すフローチャートである。 エンジンコントローラ部のジョブ受け入れ制御の手順の一例を示すフローチャートである。 エンジンコントローラ部のジョブ実行制御の手順の一例を示すフローチャートである。 エンジンコントローラ部のジョブ終了通知処理の手順の一例を示すフローチャートである。 クライアントジョブ処理部及びエンジンコントローラ部からなるシステムの動作の具体例を説明するための図である。 クライアントジョブ処理部及びエンジンコントローラ部からなるシステムの動作の別の具体例を説明するための図である。 ジョブステータスの表示画面の一例を説明するための図である。 コンピュータのハードウエア構成の一例を示す図である。
符号の説明
10 ネットワーク、12a,12b クライアント、14 プリントコントローラシステム、16a,16b プリントエンジン、140 クライアントジョブ処理部、150a,150b エンジンコントローラ部。

Claims (2)

  1. クライアント装置から印刷指示を受信し、その印刷指示に基づき画像データを生成する処理を行うクライアント指示処理部と、
    前記クライアント指示処理部が生成した画像データを印刷装置に印刷させるための制御を行う印刷装置制御部と、
    を備え、
    前記クライアント指示処理部は、
    クライアント装置から印刷指示を受信した場合に、前記印刷装置制御部にその印刷指示データの印刷条件を前記印刷装置制御部に通知する通知手段と、
    前記印刷指示に基づき生成した画像データを前記印刷装置制御部に転送し終わった場合に、第1段階の終了指示を送信する手段と、
    前記第1段階の終了指示を送信した後、前記印刷装置が前記印刷指示に基づき生成した画像データの印刷を完了するタイミングまでの間にクライアント装置から別の印刷指示を受信しなかった場合に、第2段階の終了指示を送信する手段と、
    を備え、
    前記印刷装置制御部は、
    前記クライアント指示処理部から通知された印刷指示の印刷条件と、前記印刷装置が印刷処理中の印刷指示の印刷条件との比較に基づき、前記通知された印刷指示を前記印刷処理中の印刷指示に連結可能か否かを判定する判定手段と、
    前記判定手段が連結可能と判定した場合は、前記印刷装置が印刷処理中の印刷指示についての印刷が終了した場合でも前記印刷装置に終了通知を送らずに、前記通知された印刷指示に対応する画像データを前記印刷装置に印刷させ、その後クライアント指示処理部から第2段階の終了指示を受けた場合に前記印刷装置に終了通知を送る手段と、
    前記判定手段が連結不可と判定した場合は、前記クライアント指示処理部から前記第1段階の終了指示を受けた場合に前記印刷装置に終了通知を送る手段と、
    を備える印刷制御システム。
  2. 前記クライアント指示処理部は、コンピュータに対してプログラムを実行させることにより実装され、
    前記印刷装置制御部は、前記コンピュータに接続される制御ボードとして実装される、
    ことを特徴とする請求項1記載の印刷制御システム。
JP2008115563A 2008-04-25 2008-04-25 印刷制御システム Expired - Fee Related JP4665996B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008115563A JP4665996B2 (ja) 2008-04-25 2008-04-25 印刷制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008115563A JP4665996B2 (ja) 2008-04-25 2008-04-25 印刷制御システム

Publications (2)

Publication Number Publication Date
JP2009265994A JP2009265994A (ja) 2009-11-12
JP4665996B2 true JP4665996B2 (ja) 2011-04-06

Family

ID=41391761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008115563A Expired - Fee Related JP4665996B2 (ja) 2008-04-25 2008-04-25 印刷制御システム

Country Status (1)

Country Link
JP (1) JP4665996B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5300810B2 (ja) * 2010-02-26 2013-09-25 キヤノン株式会社 印刷制御装置、方法及びプログラム
JP6650787B2 (ja) * 2016-03-07 2020-02-19 三菱電機株式会社 プリンタおよび印刷方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09222997A (ja) * 1996-02-15 1997-08-26 Fuji Xerox Co Ltd ジョブ連結制御装置
JP2007109155A (ja) * 2005-10-17 2007-04-26 Canon Inc 画像形成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09222997A (ja) * 1996-02-15 1997-08-26 Fuji Xerox Co Ltd ジョブ連結制御装置
JP2007109155A (ja) * 2005-10-17 2007-04-26 Canon Inc 画像形成装置

Also Published As

Publication number Publication date
JP2009265994A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
JP4980776B2 (ja) 画像形成装置、プログラム及び記録媒体
US20040190042A1 (en) Providing enhanced utilization of printing devices in a cluster printing environment
US7821657B2 (en) Continuous raster image processing control across print jobs
JP5839845B2 (ja) 印刷装置、印刷方法及びプログラム
US20100073707A1 (en) Systems and methods for facilitating virtual cloud printing
US8749817B2 (en) Information processing apparatus, method, medium, and system for print job transmission
US8520226B2 (en) Robust recovery of a page parallel RIP system
US9386173B2 (en) Printing system, printer, job processing method and computer readable recording medium storing job processing program
JP2012081626A (ja) 画像形成装置、画像処理方法、プログラム
US20060164660A1 (en) Method and system for providing predictive paper out status in a print network environment
JP2007164480A (ja) 印刷システム及び印刷方法
JP2006209309A (ja) 印刷システム
JP4665996B2 (ja) 印刷制御システム
JP4926622B2 (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム
US8085424B2 (en) Multiple-port print device
US20120250053A1 (en) Method and system for handling sub-jobs
JP2000062292A (ja) 印刷システム、印刷システムの制御方法、およびコンピュータ読取可能な記憶媒体
US11385842B2 (en) Printing system, information processing apparatus, control method therefor, and storage medium
US20090262383A1 (en) Methods and systems for improved multi-processing utilization in a printing controller
JP3508752B2 (ja) 印刷システム、方法及びプリンタ
US9047552B2 (en) Forming system and image forming apparatus that generate image log data to server
US9183476B2 (en) Print management apparatus, image forming system, and non-transitory computer readable medium
US20120162689A1 (en) Print control device, print control method, and storage medium
CN103516943A (zh) 图像形成系统以及图像形成方法
JP2008059371A (ja) 印刷制御装置およびその方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101201

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: 20101214

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: 20101227

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4665996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees