JP3897083B2 - Print processing apparatus and print processing method - Google Patents

Print processing apparatus and print processing method Download PDF

Info

Publication number
JP3897083B2
JP3897083B2 JP2000182352A JP2000182352A JP3897083B2 JP 3897083 B2 JP3897083 B2 JP 3897083B2 JP 2000182352 A JP2000182352 A JP 2000182352A JP 2000182352 A JP2000182352 A JP 2000182352A JP 3897083 B2 JP3897083 B2 JP 3897083B2
Authority
JP
Japan
Prior art keywords
print
print job
print processing
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
JP2000182352A
Other languages
Japanese (ja)
Other versions
JP2002007085A (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.)
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 JP2000182352A priority Critical patent/JP3897083B2/en
Publication of JP2002007085A publication Critical patent/JP2002007085A/en
Application granted granted Critical
Publication of JP3897083B2 publication Critical patent/JP3897083B2/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】
【発明の属する技術分野】
本発明は、ネットワークを介して接続された印刷処理装置および印刷処理方法に関するものである。
【0002】
【従来の技術】
プリンタを接続したネットワークにおいて、印刷ジョブの効率的な処理を行うために、ネットワークを介して印刷を行うデータ処理装置や、プリンタ・ドライバ、スプーラ、プリンタなどに対して様々な発明がなされている。例えば、プリンタにおける印刷処理時間を予測し、その予測結果に基づいて印刷処理を行うものとして、例えば特開平6−324823号公報に「プリンタ管理方式」に関する技術(以下、「第1の従来技術」と言う)が記載されている。この第1の従来技術では、ネットワークに接続された各プリンタにプリンタエージェントを配置し、このエージェントによってプリンタの状態の管理や印刷ジョブの転送時刻の算定などを行う。そして、各プリンタの中から各印刷ジョブに適切なプリンタを臨機応変に選択することを可能にしている。
【0003】
また、例えば特開平10−340166号公報には、「印刷データ生成装置、印刷データ生成方法、印刷装置および印刷システム」に関する技術(以下、「第2の従来技術」と言う)が記載されている。この第2の従来技術においては、印刷を行う前にホストコンピュータ等から印刷装置に仮印刷要求を行うと、印刷装置から受付情報が返される。さらに、返された受付情報を示して印刷情報の取得を要求すると、未処理ジョブの総数や合計印刷ページ数などの情報を含む印刷処理情報が返されてくる。ホストコンピュータは、この印刷処理情報に基づいて印刷処理待ち時間が所定値以下の印刷装置を選択する。これによって、ページ数に基づいた印刷待ち時間予測が可能になる。
【0004】
ところで、ページ記述言語などで記述された印刷ジョブの場合には、プリンタにおいて印刷ジョブをイメージデータに展開する必要があり、そのために要する時間も印刷待ち時間予測の対象とする必要がある。しかし、第1及び第2の従来技術においては、ページ記述言語で記述された印刷ジョブをイメージデータに展開する処理に対応する特段の構成を有していない。したがって、このイメージデータの展開時間が印刷待ち時間の予測を狂わせる原因になる。
【0005】
そこで、このような印刷ジョブについても対応可能としたものとして、例えば特開平10−240459号公報に記載の印刷制御装置」に関する技術(以下、「第3の従来技術」と言う)が挙げられる。この第3の従来技術では、イメージデータを構成する写真や図形、文字などのオブジェクト毎に処理速度を算出し、予め処理速度統計情報として蓄積しておく。そして、このような情報を元に画像形成処理終了時間や印刷処理終了時間を正確に予測し、納期に基づく印刷ジョブの品質管理、構成作業要素を用いた印刷ジョブの管理と印刷ジョブの転送速度予測、プリンタの選択および印刷ジョブの順序制御を可能としている。
【0006】
さらに、印刷ジョブ処理の効率化を図るために、プリンタ等の状況に応じて印刷ジョブの内容に対して変換処理等を行うものもある。例えば、特開平11−110148号公報には、「印刷制御システム及び印刷制御方法並びに印刷制御プログラムが記録された記録媒体」に関する技術(以下、「第4の従来技術」と言う)が記載されている。これは、プリンタ装置においてインターネット上のサーバから受信する画像データの受信速度から受信時間を予測し、予測受信時間が所定のしきい値に達しているか否かを判断する。そして、予測受信時間がこのしきい値に達していない場合には、低解像度のイメージデータを受信し直すなどの処理を行うものである。
【0007】
しかし、プリンタ装置における印刷ジョブ処理の効率化だけでは限界があるので、以下に述べる5つの従来技術のように、プリンタ・ドライバやスプーラ等において印刷ジョブに対して変換処理等を行い、印刷ジョブ処理の効率化を図るものもある。まず、特開平9−244822号公報には、「データ処理装置」に関する技術(以下、「第5の従来技術」と言う)が記載されている。この第5の従来技術では、ネットワーク上に設けたフロントエンドプロセッサ(FEP)において、印刷ジョブに対応するジョブノードをキュー管理し、各ジョブノードに対応する印刷ジョブが転送されて印刷されるまでの待ち時間を利用して、印刷ジョブのページ・データをまとめてファイル化する処理およびエラー処理を行う。これによって、データ転送の効率化を可能にしている。
【0008】
また、特開平10−293659号公報には、「データ処理装置および印刷制御装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体」に関する技術(以下、「第6の従来技術」と言う)が記載されている。この第6の従来技術では、ホストにおけるデータ処理負担に応じて、プリンタ・ドライバがデータ圧縮方法を切り替える。例えばホストにおけるデータ処理負担が重い場合には、ホストの処理負担の軽い方の圧縮方法を選択する。これによって、負荷変動に対応したプリンタ・ドライバにおける印刷データの圧縮処理を可能にしている。
【0009】
さらに、特開平11−134121号公報には、「印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体」に関する技術(以下、「第7の従来技術」と言う)が記載されている。この第7の従来技術では、印刷装置においてページ記述言語で記述された印刷ジョブを第2の印刷データへの展開処理、つまりイメージデータへの展開処理を行うとともに、それ並行して、データ処理装置のスプーラにおいても第2のデータへの展開処理を必ず行う。そして、印刷装置でジャムが発生した場合などでは、データ処理装置側における第2の印刷データを用いて印刷処理を行う。これによって、印刷装置の処理負担を軽減し、印刷処理を向上させることができる。
【0010】
さらに、特開平11−143656号公報には、「印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体」に関する技術(以下、「第8の従来技術」と言う)が記載されている。この第8の従来技術では、アプリケーションからの印刷要求に伴って生成される所定のページ記述言語データを、JAVAなどのデバイスに依存しないプログラミング言語で記述される変換資源によってデバイスに依存する中間コードまたは印刷装置が印刷可能なビットマップイメージデータに変換する。これによって、最大スループットを維持し、印刷処理を向上させることができる。
【0011】
さらに、特開平11−203064号公報には、「画像処理装置および方法およびプログラム記憶媒体」に関する技術(以下、「第9の従来技術」と言う)が記載されている。この第9の従来技術では、画像データが外部装置へ転送される際に、画像データの転送速度を検出し、この検出結果に基づいてホスト側でプリレンダリングを行う。これによって、転送レートに応じた動的なレンダリング処理が可能となる。
【0012】
上述のように、プリンタを接続したネットワークにおいて、印刷ジョブ処理の効率化を図るための様々な従来技術がある。そこで、第3の従来技術として説明した印刷処理時間の予測技術を採用した上で、その印刷待ち時間に第5ないし第9の従来技術として説明した印刷ジョブの内容に対する変換処理等の技術をいずれか1つまたは2つ以上を組み合わせて採用すれば、印刷待ち時間を正確に予測した上でプリンタ・ドライバやスプーラ等において印刷ジョブの内容に対して変換処理等を行うことも可能となり、印刷処理をさらに効率化することが可能になるようにも思われる。
【0013】
ところが、以下に示すような問題が発生する。例えば、第3の従来技術と第7の従来技術を組み合わせて採用し、プリンタにおける印刷処理時間を予測して、その予想に基づいてスプーラ等で印刷ジョブの内容に変換処理を行うとする。この場合、印刷ジョブの内容の変換処理はプリンタの印刷処理負担を軽減させるなどのメリットを持つ反面、プリンタにおける印刷処理時間を変動させるので、この変換処理の前になされた印刷処理時間の予測を狂わせる要因になる。印刷待ち時間の予測が正しくないということは、印刷ジョブの内容の変換処理を行うか否かを判断するための基準が正しくないことになってしまう。
【0014】
また、第6の従来技術と第9の従来技術を組み合わせて採用し、プリンタ・ドライバが印刷ジョブを圧縮処理した後に、スプーラがプリンタの印刷処理負担に応じてその印刷ジョブを展開してレンダリング処理を施し、生成されたビットマップデータを圧縮処理してプリンタへ送信したとする。この場合、プリンタ・ドライバで圧縮された印刷ジョブに対してスプーラで再度圧縮処理を行うので、2重に圧縮処理が行われている。したがって、1つの印刷ジョブに対して施される処理の整合性がとれておらず、また無駄な処理を行っていることになる。さらに、印刷ジョブに対して変換処理を行うためにインストールされているモジュールも無駄になってしまう。
【0015】
したがって、上述の従来技術をそのまま組み合わせて利用しても、相乗効果が得られないばかりか、逆に有害な結果をもたらす場合すらあると言える。さらに、上述のようなネットワークに複数のスプーラが存在した場合、第1から第9までの従来技術では複数のスプーラが連携して印刷ジョブを管理する構成を全く有さないので、印刷処理の効率化が図れないという問題がある。
【0016】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、プリンタを接続したネットワークにおいて、印刷ジョブの内容に変換処理を加えても、印刷ジョブの印刷待ち時間を正確に予測し、印刷ジョブに対して整合性のとれた処理を行うことが可能な印刷処理装置及び印刷処理方法を提供することを目的とするものである。また、複数の印刷処理装置が存在するネットワークにおいても、印刷の効率化を図ることが可能な印刷処理装置及び印刷処理方法を提供することを目的とするものである。
【0017】
【課題を解決するための手段】
本発明は、印刷処理装置及び印刷処理方法として、印刷ジョブの内容とともに必要に応じて該印刷ジョブの内容に対する変換処理内容を示す印刷ジョブ状態及び該印刷ジョブの内容を変換処理する印刷処理資源を格納しておき、その印刷ジョブの内容に対する変換処理内容を印刷ジョブ状態として管理するように構成している。これによって、印刷ジョブごとに印刷ジョブの内容の変換処理の状態を管理でき、各印刷ジョブに施された変換処理内容を踏まえて次段の処理を行うことが可能になる。
【0018】
また、プリンタにおける印刷処理時間を印刷ジョブ状態に基づいて予測し、その予測結果に基づいて印刷ジョブ内容変換判断手段で印刷ジョブの内容を変換すべきか否かを判断するようにしている。これによって、印刷ジョブの内容に対して施された変換処理を予測材料として利用できるので、変換処理を施した印刷ジョブの印刷処理待ち時間を正確に予測することが可能になる。
【0019】
さらに、印刷ジョブ管理情報をプリンタ・ドライバ手段もしくはプリンタまたは他の印刷処理装置に対して公開し、逆に他の印刷処理装置に保持された印刷ジョブ管理情報を参照するように構成し、また他の印刷処理装置に印刷ジョブを送信可能に構成することができる。これによって、2以上の印刷処理装置を設けたネットワークにおいて、印刷ジョブ管理情報をプリンタ・ドライバ手段、プリンタおよび印刷処理装置同士で共有し、印刷ジョブの処理負担を印刷処理装置間で適切に配分することが可能になる。
【0020】
また、上述のように印刷ジョブの内容とその印刷ジョブの内容を変換処理する印刷処理資源を一体に管理するので、例えば印刷処理装置やプリンタなどがそれぞれすべての印刷処理資源を予め備えておく必要がなく、不足している印刷処理資源や最新の印刷処理資源が存在すれば、印刷ジョブや他の印刷処理装置等から取得することができ、また取得した印刷処理資源を印刷ジョブに設定することが可能である。また、各印刷ジョブの印刷ジョブ状態に応じた印刷処理資源を設定し、設定された印刷処理資源を利用して変換処理を進めてゆくことができる。もちろん、印刷処理資源が不要になれば削除することもできる。
【0021】
【発明の実施の形態】
図1は、本発明の印刷処理装置の第1の実施の形態を含むスプーラの一例を示すブロック図、図2は、本発明の印刷処理装置の第1の実施の形態を含むスプーラを接続したネットワーク構成の一例を示すブロック図である。図中、11はスプーラ、12は制御部、13は印刷ジョブ送受信部、14は印刷ジョブ記憶部、15は印刷ジョブ状態管理部、16は印刷処理時間予測部、17は印刷ジョブ内容変換判断部、18は印刷ジョブ処理部、19は印刷ジョブ管理情報公開部、20は印刷ジョブ管理情報参照部、21は印刷処理資源設定部、22は印刷処理資源取得部、23は印刷処理資源利用部、24は印刷処理資源削除部、25は内部バス、26はネットワーク、27はスプーラ、28,29はプリンタ・ドライバ、30,31はプリンタ、32はプリント・サーバ、33,34はクライアントである。
【0022】
まず、図2に示すスプーラ11を含むネットワークの構成について説明する。本発明の印刷処理装置の第1の実施の形態を含むスプーラ11は、ネットワーク26に接続されたプリント・サーバ32に設けられている。また、ネットワーク26には、プリンタ・ドライバ28を設けたクライアント33、スプーラ27及びプリンタドライバ29を設けたクライアント34、さらにプリンタ30,31などが接続されている。このような構成において、印刷ジョブは、矢印A,Bで示すように、プリンタ・ドライバ28,29からスプーラ11へ送信され、スプーラ11でスプーリングされる。また、スプーラ11でスプーリングされた印刷ジョブは、矢印C,Dで示すように、適宜プリンタ30,31へ送信され、プリンタ30,31で印刷処理される。さらに、矢印Eで示すように、印刷ジョブがスプーラ11からスプーラ27へ送信される場合もある。もちろん、スプーラ27においても同様の処理が行われる。なお、スプーラ11は、プリント・サーバ以外のサーバに設けてもよく、クライアントに設けてもよい。また、ネットワーク26に接続するサーバの設置台数は1台数に限られるものではなく、2台以上設けることもでき、さらにクライアントにスプーラを構成した場合、サーバは全く設けなくてもよい。さらに、プリント・サーバの他に、例えばファイルサーバなどの各種サーバや、クライアントを1台または3台以上接続することもできる。くわえて、同一サーバ内にスプーラとプリンタ・ドライバとを同時に設けてもよい。
【0023】
スプーラ11は、制御部12、印刷ジョブ送受信部13、印刷ジョブ記憶部14、印刷ジョブ状態管理部15、印刷処理時間予測部16、印刷ジョブ内容変換判断部17、印刷ジョブ処理部18、印刷ジョブ管理情報公開部19、印刷ジョブ管理情報参照部20、印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23、印刷処理資源削除部24および内部バス25から構成されており、印刷ジョブ送受信部13、印刷ジョブ管理情報公開部19および印刷ジョブ管理情報参照部20を介してネットワーク26に接続されている。
【0024】
制御部12は、CPUおよびキャッシュメモリなどから構成される。印刷ジョブ送受信部13、印刷ジョブ記憶部14、印刷ジョブ状態管理部15、印刷処理時間予測部16、印刷ジョブ内容変換判断部17、印刷ジョブ処理部18、印刷ジョブ管理情報公開部19、印刷ジョブ管理情報参照部20、印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23および印刷処理資源削除部24の各部を制御し、印刷ジョブのスプーリング処理などを実現する。
【0025】
印刷ジョブ送受信部13は、ネットワーク26に接続され、ネットワーク26に接続された他の装置との間において印刷ジョブの送受信などを行う。図3は、印刷ジョブ送受信部の構成例を示すブロック図である。図中、35はネットワーク制御部、36はタイマ、37は受信バッファ、38は送信バッファ、39は記憶部である。印刷ジョブ送受信部13は、ネットワーク制御部35、タイマ36、受信バッファ37、送信バッファ38及び記憶部39などから構成される。印刷ジョブ送受信部13は、プリンタ・ドライバ28,29や他のスプーラ27を監視し、プリンタ・ドライバ28,29やスプーラ27から送信された印刷ジョブを受信し、受信バッファ37を介して印刷ジョブ記憶部14に転送する。プリンタ・ドライバ28,29およびスプーラ27の監視は、例えばタイマ36によって測定される所定の時間間隔ごとに行うことができる。また、印刷ジョブ記憶部14から印刷ジョブを受け取ると、受け取った印刷ジョブを送信バッファ38を介してスプーラ27やプリンタ30,31へ送信する。さらに、印刷ジョブの送受信の履歴データを記憶部39に格納しておくことにより、印刷ジョブの送受信の履歴データを管理することができる。なお、印刷ジョブの送受信の履歴データとしては、印刷ジョブの受信元データあるいは送信先データ、および印刷ジョブに対する識別番号などのデータを含めておくことができる。
【0026】
印刷ジョブ記憶部14は、一般的な記憶装置から構成され、印刷ジョブ送受信部13によって受信された印刷ジョブを格納する。図4は、印刷ジョブ記憶部に格納された印刷ジョブのデータ構造の一例を示す説明図である。図中、41は印刷ジョブ内容、51〜5mは印刷ジョブ状態、61〜6nは印刷処理資源である。図4に示すように、印刷ジョブ記憶部14に格納された印刷ジョブは、印刷ジョブ記憶部14において、印刷ジョブ内容41、印刷ジョブ状態51〜5m、および印刷処理資源61〜6nのデータ構造を持つ。なお、印刷ジョブ状態51〜5mおよび印刷処理資源61〜6nの個数は、印刷ジョブにこれらが存在してない場合もあるので、0個以上となる。印刷ジョブ内容41は、図形の描画命令や描画命令に対して変換処理を施した結果のデータなどの印刷ジョブの内容が含まれる。印刷ジョブ状態51〜5mは、印刷ジョブの内容の統計情報などが設定される。印刷処理資源61〜6nは、ページ記述言語を解析する実行モジュールとしてのページ記述言語解析処理モジュールや、パス構築、直線描画、円描画など行う実行モジュールとしてのグラフィックス処理モジュールである。さらに、JPEG方式による画像データの圧縮展開やJBIG方式による画像データの圧縮展開などを行う実行モジュールとしての画像圧縮展開モジュール、ビットマップ・フォント、あるいはアウトライン・フォントのデータを処理する実行モジュールとしてのフォント処理モジュールなども含む。このように本発明では、印刷ジョブとして、印刷ジョブ内容41とともに、必要に応じて印刷ジョブ状態51〜5mおよび印刷処理資源61〜6nを対応づけて印刷ジョブ記憶部14に格納している。
【0027】
印刷ジョブ状態管理部15は、印刷ジョブ記憶部14に保持されている印刷ジョブ状態51〜5mを管理する。図5は、印刷ジョブ状態管理部の構成の一例を示す説明図である。図中、71は印刷ジョブ状態制御部、81〜8pは印刷ジョブ状態レジスタである。図5に示すように、印刷ジョブ状態管理部15は、印刷ジョブ状態制御部71、および印刷ジョブ状態を保持する複数の印刷ジョブ状態レジスタ81〜8pで構成されている。印刷ジョブ状態制御部71は、印刷ジョブ記憶部14の印刷ジョブを参照し、印刷ジョブに印刷ジョブ状態51〜5mが設定されている場合には、印刷ジョブ状態51〜5mの設定内容を取得して印刷ジョブ状態レジスタ81〜8pに所定の値を設定する。また、印刷ジョブに印刷ジョブ状態51〜5mが設定されてない場合には、印刷ジョブの内容を解釈し、印刷ジョブ状態を印刷ジョブ状態レジスタ81〜8pに設定する。具体的には、例えば印刷ジョブ状態制御部71が印刷ジョブ内容41を解釈して、印刷ジョブ内容41がページ記述言語である場合、パス構築命令や塗りつぶし命令など各命令の種類ごとの出現回数などの値を印刷ジョブ状態レジスタ81〜8pに設定する。さらに、印刷ジョブ状態制御部71は、印刷ジョブ状態レジスタ81〜8pの値を印刷ジョブ記憶部14の対応する印刷ジョブの印刷ジョブ状態51〜5mに設定する。また、印刷ジョブから印刷ジョブ状態の値を削除することもできる。さらに、印刷ジョブ処理部18から、印刷ジョブの内容に対するレンダリング処理や圧縮処理などの変換処理を行った旨の通知を受けた場合には、この変換処理内容を印刷ジョブ状態レジスタ81〜8pに設定する。
【0028】
印刷処理時間予測部16は、各印刷ジョブに対して、それぞれのスプーラやプリンタなどにおける印刷処理時間の予測を行う。図6は、印刷処理時間予測部の構成の一例を示す説明図である。図中、91は印刷処理時間予測制御部、92はスプーラ属性情報テーブル、93はプリンタ属性情報テーブル、94は予測印刷処理時間テーブル、95は記憶部である。図6に示すように、印刷処理時間予測部16は、一般的なCPUとキャッシュメモリからなる印刷処理時間予測制御部91と、一般的な記憶装置からなる記憶部95で構成される。印刷処理時間予測制御部91は、各印刷ジョブに対して、印刷ジョブ状態管理部15における印刷ジョブ状態レジスタ81〜8pの値、スプーラ属性情報テーブル92およびプリンタ属性情報テーブル93を参照して、スプーラ27あるいはプリンタ30,31を利用した場合における印刷処理時間の予測値をそれぞれ算出し、その予測された印刷処理時間を予測印刷処理時間テーブル94に記録する。なお、各印刷ジョブに対する印刷処理時間の具体的な予測方法については後述する。
【0029】
記憶部95には、スプーラ属性情報テーブル92、プリンタ属性情報テーブル93および予測印刷処理時間テーブル94が設けられている。スプーラ属性情報テーブル92は、他のスプーラ27の処理能力などを保持する。図7は、スプーラ属性情報テーブルのデータ構造の一例を示す説明図である。図中、101はスプーラ識別番号、102はスプーラ名、103はスプーラIPアドレス、104はCPU処理速度、105はスプーラ負荷状態、106は印刷処理資源フラグ、107は利用可能なデータ型、108はクライアント情報、109はプリンタ情報、110は入力ポート状態、111は出力ポート状態である。図7に示すように、スプーラ属性情報テーブル92は、スプーラ識別番号101、スプーラ名102、スプーラIPアドレス103、CPU処理速度104、スプーラ負荷状態105、印刷処理資源フラグ106、利用可能なデータ型107、クライアント情報108、プリンタ情報109、入力ポート状態110、出力ポート状態111を表現するデータから構成される。スプーラ識別番号101は、ネットワークに接続されたスプーラを識別するための番号である。スプーラ名102は、スプーラに対する名称である。スプーラIPアドレス103は、スプーラに割り当てられたインターネット・プロトコルに対応したアドレスである。CPU処理速度104は、スプーラの処理が実行されるハードウェアのCPU処理速度である。スプーラ負荷状態105は、スプーラの負荷状態を示す。印刷処理資源フラグ106は、スプーラにおいて利用可能な印刷処理資源に関する情報を示す。利用可能なデータ型107は、印刷ジョブの内容に対するデータ型である。クライアント情報108は、印刷ジョブの送信元に対する情報である。プリンタ情報109は、スプーラに接続されているプリンタの情報である。入力ポート状態110は、主に印刷ジョブ送受信部13の受信バッファ37に対する状態を保持する。出力ポート状態111は、主に印刷ジョブ送受信部3の送信バッファ38に対する状態を保持する。
【0030】
プリンタ属性情報テーブル93は、プリンタ30,31の利用可能な用紙などの各プリンタに固有な情報を保持する。図8は、プリンタ属性情報テーブルのデータ構造の一例を示す説明図である。図中、121はプリンタ識別番号、122はプリンタ名、123はプリンタIPアドレス、124はASIC処理速度、125は受信バッファ容量、126は印刷処理資源フラグ、127は利用可能なデータ型、128は受信モード、129は印刷処理エンジン情報、130はポート情報、131はプリンタ状態である。図8に示すように、プリンタ属性情報テーブル93は、プリンタ識別番号121、プリンタ名122、プリンタIPアドレス123、ASIC処理速度124、受信バッファ容量125、印刷処理資源フラグ126、利用可能なデータ型127、受信モード128、印刷処理エンジン情報129、ポート状態130、プリンタ状態131を表現するデータから構成される。プリンタ識別番号121は、ネットワークに接続されたプリンタを識別するための番号である。プリンタ名122は、プリンタに対する名称である。プリンタIPアドレス123は、プリンタに割り当てられたインターネット・プロトコルに対応したアドレスである。ASIC処理速度124は、プリンタ30,31において印刷処理に利用されるASIC(Application Specified IC)の処理速度である。受信バッファ容量125は、プリンタの受信バッファの容量である。印刷処理資源フラグ126は、プリンタ30,31において利用可能な印刷処理資源に関する情報を示す。利用可能なデータ型127は、印刷ジョブの内容に対するデータ型である。受信モード128は、プリンタの受信モードに関する情報である。印刷処理エンジン情報129は、いわゆる印刷処理エンジンの解像度や処理速度などのデータである。ポート状態130は、プリンタ30,31を接続したネットワーク26の状態を示す。プリンタ状態131は、プリンタのエラーなどの状態を示す。
【0031】
予測印刷処理時間テーブル94は、予測した印刷処理時間を記録する。図9は、予測印刷処理時間テーブルのデータ構造の一例を示す説明図である。図中、141はテーブル識別番号、142は印刷ジョブ識別番号、143はスプーラ識別番号、144はプリンタ識別番号、145はデータ型、146は印刷ジョブ状態、147は適用印刷処理資源情報、148は予測印刷処理時間、149は予測印刷待ち時間、150は印刷ジョブ内容変換判断結果である。図9に示すように、予測印刷処理時間テーブル94は、テーブル識別番号141、印刷ジョブ識別番号142、スプーラ識別番号143、プリンタ識別番号144、データ型145、印刷ジョブ状態146、適用印刷処理資源情報147、予測印刷処理時間148、予測印刷待ち時間149、印刷ジョブ内容変換判断結果150を表現するデータから構成される。テーブル識別番号141は、各予測印刷処理時間テーブル94に対する識別番号である。そして、印刷ジョブ識別番号142で示されている印刷ジョブを、スプーラ識別番号143で示されるスプーラあるいはプリンタ識別番号144で示されるプリンタにおいて、適用印刷処理資源情報147で示された印刷処理資源による変換処理を行う場合の予測された印刷処理時間を予測印刷処理時間148として記録する。すなわち、1つの印刷ジョブについて、変換処理を実行可能なそれぞれのスプーラやプリンタごとに印刷処理時間を予測して、この予測印刷処理時間テーブル94が作成される。なお、適用印刷処理資源情報147は、印刷処理時間の予測に際して仮定された印刷処理資源についてのデータを示す。また、予測印刷待ち時間149および印刷ジョブ内容変換判断結果150のデータは、印刷ジョブ内容変換判断部17によって利用される。この予測印刷処理時間テーブル94中のスプーラ11におけるデータは、印刷ジョブ管理情報として、例えば印刷ジョブ管理情報公開部19で公開するなどして利用される。
【0032】
図1に戻って、印刷ジョブ内容変換判断部17は、一般的なCPUから構成され、印刷処理時間予測部16で予測された印刷処理時間に基づいて、印刷ジョブの待ち時間を予測し、その予測された待ち時間を印刷処理時間予測部16中の予測印刷処理時間テーブル94に予測印刷待ち時間149として記録する。また、印刷ジョブ内容変換判断部17は、この印刷待ち時間が自己または他のスプーラまたはプリンタで印刷ジョブの変換をする時間より長いか否かの判断を行い、その判断結果を当該予測印刷処理時間テーブル94に印刷ジョブ内容変換判断結果150として記録する。なお、各印刷ジョブに対する待ち時間の予測方法および印刷ジョブ内容変換判断方法については後述する。
【0033】
印刷ジョブ処理部18は、一般的なCPUと一般的な記憶装置で構成され、印刷ジョブ内容変換判断部17の判断結果に基づいて印刷処理を行う。自己のスプーラにおいて印刷ジョブの内容を変換する場合には、印刷処理資源利用部23、あるいは印刷ジョブ自体に設定されている印刷処理資源を用いて、印刷ジョブの展開などの変換処理を行う。印刷処理資源利用部23、あるいは印刷ジョブ自体に印刷処理資源が設定されていない印刷処理モジュールが必要であれば、スプーラ11において事前に保持していた印刷処理モジュールを用いて印刷ジョブの内容の変換処理を行うことができる。さらに、印刷ジョブの変換内容を印刷ジョブ状態管理部15に通知する。
【0034】
印刷ジョブ管理情報公開部19は、一般的なCPU、一般的な記憶装置およびネットワーク制御装置で構成され、ネットワーク26に接続されている。また、印刷処理時間予測部16の予測印刷処理時間テーブル94のデータを参照してスプーラ11における印刷ジョブ管理情報、すなわちスプーラ11における印刷ジョブの総数、各印刷ジョブ状態、各印刷ジョブの印刷処理予測時間などのデータを複製し、複製したデータをスプーラ27あるいはプリンタ・ドライバ28,29に対して公開する。
【0035】
印刷ジョブ管理情報参照部20は、一般的なCPU、一般的な記憶装置およびネットワーク制御装置で構成される。また、スプーラ27における印刷ジョブ管理情報を取得して保持する。また、スプーラ27の負荷状態のデータに基づいて印刷処理時間予測部16のスプーラ属性情報テーブル92におけるスプール負荷状態105の値を更新する。
【0036】
印刷処理資源設定部21は、一般的なCPUと一般的な記憶装置で構成され、スプーラ27あるいはプリンタ30,31が印刷処理資源を必要とする場合、印刷ジョブ状態に基づいて、印刷ジョブに印刷処理資源を設定することができる。
【0037】
印刷処理資源取得部22は、一般的なCPUと一般的な記憶装置で構成され、スプーラ27あるいはプリンタ・ドライバ28,29の印刷処理資源設定部によって印刷ジョブに設定された印刷処理資源を印刷ジョブから取り出し、印刷処理資源利用部23に引き渡す。
【0038】
印刷処理資源利用部23は、一般的なCPUと一般的な記憶装置で構成され、印刷処理資源取得部22から印刷処理資源を受け取り、印刷ジョブ状態から得られた情報に基づいてレンダリング等の変換処理を印刷ジョブの内容に対して行う。
【0039】
印刷処理資源削除部24は、一般的なCPUと一般的な記憶装置で構成され、印刷ジョブ状態レジスタ81〜8pの値を参照して、当該印刷ジョブの印刷処理資源が不要である場合には、その印刷ジョブから印刷処理資源設定部21によって設定された印刷処理資源を削除する。例えば印刷ジョブ処理部18において印刷ジョブの内容に対して構文解析処理を行ったことによって、当該印刷ジョブに設定されたページ記述言語の構文解析モジュールが不要となった場合などが挙げられる。この場合には、印刷処理資源削除部24は、印刷ジョブに設定されているページ記述言語の構文解析モジュールの印刷処理資源を削除する。
【0040】
上述の印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23、印刷処理資源削除部24などによって、例えばスプーラ11に存在しない印刷処理資源についても利用可能になり、システム全体で印刷処理資源を共有することができるようになる。そのため、スプーラ11はすべての印刷処理資源を常に保持している必要がなくなる。また、印刷処理資源は印刷ジョブの一部としても供給され、例えばアップデートされた印刷処理資源をすぐに利用可能であるなどの利点を有している。
【0041】
内部バス25は、制御バスおよびデータバスから構成され、制御部12、印刷ジョブ送受信部13、印刷ジョブ記憶部14、印刷ジョブ状態管理部15、印刷処理時間予測部16、印刷ジョブ内容変換判断部17、印刷ジョブ処理部18、印刷ジョブ管理情報公開部19、印刷ジョブ管理情報参照部20、印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23、印刷処理資源削除部24を相互に接続し、制御信号あるいはデータを伝送する。
【0042】
次に、印刷処理時間予測部16における各印刷ジョブに対する印刷処理時間の予測方法について、具体例を用いながら説明する。なお、プリンタ・ドライバ28,29、スプーラ11,27およびプリンタ30の仕様及び印刷処理状況については、以下の通りとする。すなわち、プリンタ・ドライバ28,29は、ページ記述言語により記述されたファイル(以下、PDLファイルと言う)を出力する。また、スプーラ11は、PDLファイルをディスプレイ・リストで表現されたファイル(以下、中間ファイルと言う)に変換する印刷処理資源、PDLファイルをビットマップの画像形式で表現されたファイル(以下、ビットマップ・ファイルと言う)に変換する印刷処理資源、中間ファイルをビットマップ・ファイルに変換する印刷処理資源などを有する。ハードウェアとして、スプーラ11は、500MHzのCPUを持つハードウェアで動作する。また、スプーラ27は、1GHzのCPUを持つハードウェアで動作する。
【0043】
また、スプーラ11は3つの印刷ジョブを保持中であり、これに対してスプーラ27は印刷ジョブを保持してないものとする。なお、スプーラ11に保持された3つの印刷ジョブは、印刷ジョブA、印刷ジョブBおよび印刷ジョブCであるものとする。また、プリンタ30は、PDLファイル、中間ファイル、ビットマップ・ファイルの3種類のファイルを印刷処理可能であるとする。
【0044】
さらに、プリンタ30は、スプーラ11から印刷ジョブDを受信した直後であるものとする。また、スプーラ11は、印刷ジョブDの印刷ジョブ状態から、プリンタ30において35秒の印刷処理時間を要すると予測していたものとする。スプーラ11の印刷ジョブ状態管理部15は、印刷ジョブA、印刷ジョブBおよび印刷ジョブCの内容を解析し、各印刷ジョブに包含される描画命令(例えば、PDLファイルがPostScriptファイルである場合、movetoオペレータあるいはlinetoオペレータなど)を計数し、描画命令の種類(例えば、PDLファイルがPostScriptファイルである場合、linetoオペレータなどいわゆるパス構築命令、imageオペレータなど画像処理命令)ごとに統計をとり、そのデータを各印刷ジョブの印刷ジョブ状態として保持しているとする。また、印刷ジョブA、印刷ジョブB、印刷ジョブCはそれぞれ150億個、200億個、750億個の描画命令で構成されているとする。
【0045】
以上の前提において、印刷処理時間予測部16は、まず、各印刷ジョブの印刷ジョブ状態を参照し、各印刷ジョブの描画命令の種類とその命令の種類ごとの個数を特定する。続いて、印刷処理時間予測部16の印刷処理時間予測制御部91は、スプーラ属性情報テーブル92のデータを参照することによって、スプーラ11とスプーラ27のCPU処理速度と利用可能な印刷処理資源の種類を特定する。さらに、印刷処理時間予測部16は、印刷ジョブの命令の種類と個数および各スプーラにおけるCPU処理速度から各スプーラにおける各印刷ジョブの印刷処理資源に対する予測印刷処理時間を算出する。なお、特定のCPU処理速度におけるある印刷処理資源に対する処理時間、例えば500MHzのCPUにおける1個のlinetoオペレータなどの描画命令の処理時間は、後述するスプーラ11の初期化処理において測定あるいは計算されており、予め印刷処理時間予測制御部91で利用可能な状態になっているものとする。
【0046】
そして、印刷処理時間予測部16は、例えば
予測印刷処理時間=Σi(印刷ジョブ状態iの個数×1秒あたりの印刷処理資源iの処理時間×CPU処理速度) …(1)
によって印刷時間を予測する。なお、印刷ジョブ状態iは、i番目の印刷ジョブ状態すなわち描画命令を示し、印刷処理資源iは、印刷ジョブ状態iに対応する印刷処理資源を示す。
【0047】
例えば各印刷ジョブの印刷ジョブ状態に対応する印刷処理資源を処理するのにいずれも2ナノ秒を要する場合には、式(1)により、印刷ジョブA、印刷ジョブB、印刷ジョブCに対して、スプーラ11ではそれぞれ30秒、40秒、150秒の処理時間、スプーラ27ではそれぞれ15秒、20秒、75秒の処理時間を要すると予測される。なお、これらの値は、それぞれ予測印刷処理時間テーブル94に記録される。
【0048】
続いて、印刷ジョブ内容変換判断部17における各印刷ジョブに対する待ち時間の予測方法および印刷ジョブ内容変換判断方法について、やはり上述の具体例を用いながら説明する。印刷ジョブ記憶部14において保持されている印刷ジョブが前述の印刷ジョブA、印刷ジョブBおよび印刷ジョブCである場合、各印刷ジョブのスプーラ11における印刷待ち時間は、
予測印刷待ち時間=Σj(先行する印刷ジョブjの予測印刷処理時間) …(2)
で予測される。
【0049】
そこで、印刷ジョブ記憶部14において印刷ジョブが印刷ジョブA、印刷ジョブB、印刷ジョブCの順番で保持されていたとすると、印刷ジョブ内容変換判断部17は、スプーラ11における各印刷ジョブの待ち時間をそれぞれ、35秒、65秒、105秒と予測できる。これらの値は、予測印刷処理時間テーブル94に格納される。なお、印刷ジョブAに対する予測印刷待ち時間は、これに先行する印刷ジョブがないので、プリンタ30における予測印刷処理時間をこれに対応させる。
【0050】
プリンタ30における印刷処理時間は、印刷ジョブ送受信部13における印刷ジョブの送信履歴、印刷処理時間予測部16におけるプリンタ属性情報テーブル93および予測印刷処理時間テーブル94を参照することによって予測することができる。ここでは、説明を簡単にするために、プリンタ30において各印刷ジョブを処理するために、スプーラ11における予測印刷処理時間よりも時間を要する、つまり、プリンタ30は印刷ジョブDを35秒で処理するものとする。また、印刷ジョブ内容変換判断部17は、スプーラ27における各印刷ジョブの待ち時間をそれぞれ、35秒、50秒、70秒と予測できる。また、これらの値も予測印刷処理時間テーブル94に格納される。なお、プリンタ31は印刷処理に長い時間、例えば300秒以上を要する印刷ジョブEを処理中であると仮定し、以下の各印刷ジョブに対する待ち時間の予測方法および印刷ジョブ内容変更方法の説明から、プリンタ31についての説明は省略する
【0051】
そこで、印刷ジョブ内容変換判断部17は、予測印刷処理時間テーブル94の予測印刷処理時間148と予測印刷待ち時間149を参照する。そして、印刷ジョブAについては、スプーラ11における予測印刷処理時間と予測印刷待ち時間がそれぞれ30秒と35秒、スプーラ27における予測印刷処理時間と予測印刷待ち時間がそれぞれ15秒と35秒であることを特定する。そこで、これらの値の大小を比較し、予測処理時間がいずれのスプーラにおいても予測印刷待ち時間より短いことから、スプーラ11および他のスプーラ27において印刷処理内容変換可能と判断される。この判断結果として、印刷処理内容変換可能であることを示す値を印刷ジョブ内容変換判断結果150の値とする。
【0052】
また、印刷ジョブBについては、スプーラ11における予測印刷処理時間と予測印刷待ち時間がそれぞれ40秒と65秒、スプーラ27における予測印刷処理時間と予測印刷待ち時間がそれぞれ20秒と50秒であることを特定する。さらに、印刷ジョブAおよび印刷ジョブBについてスプーラ11またはスプーラ27においてジョブ内容を変換した場合の予測印刷処理時間と予測印刷待ち時間を特定し、印刷処理の内容を変換可能か否かをそれらの値の大小を比較することによって判断する。つまり、スプーラ11において印刷ジョブAおよび印刷ジョブB共に印刷ジョブの内容を変換する場合には、印刷処理時間は70秒となり、スプーラ11において印刷ジョブAおよび印刷ジョブBの印刷ジョブの内容を変換しない場合における印刷ジョブBの予測待ち時間65秒よりも大きな値となる。したがって、スプーラ11において印刷ジョブAおよび印刷ジョブBの両方を印刷処理することは得策ではない。そこで、これら両方を印刷処理することができない旨を予測印刷処理時間テーブル94に記録する。
【0053】
さらに、各スプーラにおいて、各印刷ジョブに対する印刷処理の内容を変換した場合の予測印刷処理時間と予測印刷待ち時間を同じ方法で特定し、それぞれのスプーラにおいて印刷処理内容変換が可能か否か判断して行く。例えば、印刷ジョブAをスプーラ11において変換した場合、印刷ジョブBに対する印刷待ち時間は65秒となり、くわえて、印刷ジョブBをスプーラ27において変換した場合、印刷ジョブCに対する印刷待ち時間はスプーラ11においては65秒、スプーラ27においては55秒となる。そして、これらを予測印刷処理時間とその大小を比較して行けばよい。
【0054】
図10は、本発明の印刷処理装置の第1の実施の形態を含むスプーラにおける印刷ジョブの処理手順の一例を示すフローチャートである。まずS171において、制御部12が印刷ジョブ送受信部13や印刷ジョブ記憶部14などのスプーラ11の各部の内部状態を初期化する。すなわち、この初期化処理において、印刷ジョブ送受信部13のネットワーク制御部35が受信バッファ37、送信バッファ38および記憶部39を初期化する。また、制御部12が印刷ジョブ記憶部14を初期化する。さらに、印刷ジョブ状態管理部15の印刷ジョブ状態制御部71が印刷ジョブ状態レジスタ81〜8pを初期化する。くわえて、印刷処理時間予測部16の印刷処理時間予測制御部91がスプーラ属性情報テーブル92、プリンタ属性情報テーブル93および予測印刷処理時間テーブル94を初期化する。ここで、プリンタ属性情報テーブル93のプリンタ名122などのデータは、既定値または利用者によって入力された値あるいはネットワークを介してプリンタ30,31から直接もしくは間接的に取得した値をテーブルの初期値として設定する。
【0055】
さらに、印刷ジョブ管理情報公開部19が印刷処理時間予測部16の予測印刷処理時間テーブル94のデータを参照して印刷ジョブ管理情報を生成し、ネットワーク26を介してプリンタ・ドライバ28,29、スプーラ27およびプリンタ30,31に対して当該印刷ジョブ管理情報を公開する。また、印刷ジョブ管理情報参照部20がネットワーク26を介してスプーラ27の印刷ジョブ管理情報を参照し、印刷処理時間予測部16の印刷処理時間予測制御部91に対してスプーラ属性情報テーブル92のデータを更新すべきことを通知する。このとき、印刷処理時間予測制御部91は、この通知に対応してスプーラ属性情報テーブル92のデータを更新する。これらの処理により、スプーラ11と他のスプーラ27などが印刷ジョブ管理情報を相互に利用することが可能になる。
【0056】
次に、S172において、印刷ジョブ送受信部13はプリンタ・ドライバ28,29およびスプーラ27を監視し、スプーラ11で印刷ジョブが受信可能な場合には、プリンタ・ドライバ28,29およびスプーラ27から送信された印刷ジョブを受信する。また、印刷ジョブ送受信部13は、プリンタ30,31およびスプーラ27を監視し、スプーラ11からこれらへ印刷ジョブが送信可能な場合には、印刷ジョブをスプーラ27またはプリンタ30,31のいずれかへ送信する。
【0057】
なお、印刷ジョブ送受信部13は、S172の処理にかかわらず、タイマ36によって測定される時刻に従って既定の時間間隔ごとに、プリンタ・ドライバ28,29およびスプーラ27を監視している。そして、そのときにスプーラ11が印刷ジョブを受信可能な状態であれば、プリンタ・ドライバ28,29または他のスプーラ27から送信された印刷ジョブを受信する。また同様に、既定の時間間隔ごとにプリンタ30,31およびスプーラ27を監視し、印刷ジョブを送信可能な場合には、印刷ジョブを他のスプーラ27またはプリンタ30,31へ送信する。また、以上のようないわゆるポーリング方式ではなく、いわゆる非同期方式で印刷ジョブを送受信するように構成することもできる。
【0058】
次に、S173において印刷ジョブ状態管理部15が印刷ジョブ記憶部14において保持されている印刷ジョブを参照して、印刷ジョブに印刷ジョブ状態が設定されているか否かを判断する。印刷ジョブに印刷ジョブ状態が設定されている場合には、S174において、印刷ジョブ状態管理部15がその内容に応じて印刷ジョブ状態レジスタ81〜8pの値を設定し、印刷ジョブ状態を印刷ジョブに設定してS175に進む。また、S173で印刷ジョブに印刷ジョブ状態が設定されてない場合には、S181において、印刷ジョブ状態管理部15が印刷処理資源利用部23の印刷処理資源を利用して、あるいはスプーラ11において印刷処理として事前に用意している印刷処理モジュールを利用して、印刷ジョブの内容を解釈する。そして、この解釈によって得られた印刷ジョブ状態を印刷ジョブ状態レジスタ81〜8pに設定してS175に進む。したがって、S174またはS181の処理を終えた段階で、各印刷ジョブに印刷ジョブ状態が設定された状態となる。
【0059】
次に、S175において、印刷処理時間予測部16が印刷ジョブ状態管理部15の印刷状態レジスタ81〜8pや、スプーラ27の印刷ジョブ管理情報、およびスプーラ27の属性情報であるスプーラ属性情報テーブル92のデータ、さらにプリンタ30,31の属性情報であるプリンタ属性情報テーブル93のデータ、ならびに印刷ジョブの送信履歴に基づいて、スプーラ11とスプーラ27のCPU処理速度と利用可能な印刷処理資源の種類を特定する。そして、印刷処理時間予測部16が各印刷ジョブの命令の種類と個数ならびにスプーラ11およびスプーラ27のCPU処理速度から各スプーラにおける各印刷ジョブの印刷処理資源に対する予測印刷処理時間を算出し、その予測印刷処理時間を予測印刷処理時間テーブル94の予測印刷処理時間148に記録する。予測印刷時間の算出については、具体例を用いて上述したようにして行うことができる。なお、印刷ジョブの送信履歴についての情報は、印刷ジョブ送受信部13から取得する。また、スプーラ27の印刷ジョブ管理情報は、印刷ジョブ管理情報参照部20から取得する。
【0060】
さらにS176において、印刷ジョブ内容変換判断部17は、スプーラ11の印刷ジョブ管理情報およびスプーラ27の印刷ジョブ管理情報、ならびにスプーラ27の属性情報あるいはプリンタ30,31の属性情報、および印刷ジョブの送信履歴に基づいて各印刷ジョブの待ち時間を予測する。そして、その予測した待ち時間を予測印刷処理時間テーブル94における予測印刷待ち時間149として記録する。この予測印刷待ち時間の算出についても、具体例を用いて上述したようにして行うことができる。
【0061】
S177において、印刷ジョブ内容変換判断部17が予測印刷処理時間テーブル94における予測印刷処理時間148の値と予測印刷待ち時間149の値とを参照してこれらの長短を比較し、スプーラ11で印刷ジョブの内容を変換可能か否かを判断する。予測印刷処理時間148の方が予測印刷待ち時間149より短い場合には、スプーラ11における印刷ジョブの内容の変換処理が可能である。この場合にはS178において、印刷ジョブ処理部18が印刷処理資源取得部22によって取得される印刷処理資源あるいはスプーラ11において事前に用意している印刷処理資源など、印刷ジョブに設定されている印刷処理資源を用いて、印刷ジョブの内容の変換を行う。具体的には、ページ記述言語の解釈、いわゆるディスプレイ・リストなどの内部表現への変換、あるいはディスプレイ・リストからのレンダリング処理など、各種の処理を行うことができる。
【0062】
さらにS179において、印刷ジョブ処理部18による印刷ジョブの内容の変換処理内容を印刷ジョブ状態に反映するため、印刷ジョブ状態レジスタ81〜8pの更新、さらに印刷ジョブ記憶部14において保持されている印刷ジョブにおける印刷ジョブ状態の更新を行う。
【0063】
さらに、スプーラ11,27の印刷ジョブ管理情報において最新の状況を反映させるために、S180において印刷ジョブ管理情報参照部20は、ネットワーク26を介してスプーラ27における印刷ジョブ管理情報を更新する。また、印刷処理時間予測部16の印刷処理時間予測制御部91に対してスプーラ属性情報テーブル92等のデータを更新すべきことを通知する。印刷処理時間予測制御部91は、この通知を受けてスプーラ属性情報テーブル92、プリンタ属性情報テーブル93および予測印刷処理時間テーブル94の関連項目のデータを更新する。さらに、印刷ジョブ管理情報公開部19は、印刷処理時間予測部16の予測印刷処理時間テーブル94のデータを参照して、スプーラ11の印刷ジョブ管理情報を更新し、ネットワーク26を介してプリンタ・ドライバ28,29、スプーラ27およびプリンタ30,31に対してスプーラ11の印刷ジョブ管理情報を公開する。
【0064】
また、上述のS177において、予測印刷処理時間148の方が予測印刷待ち時間149より長かった場合には、スプーラ11において印刷ジョブの内容を変換処理する時間の方が印刷を待っている時間よりも長いことを示しているので、スプーラ11で印刷ジョブの内容を変換しないと判断する。この場合には、S182において、さらに予測印刷時間処理テーブル94から他のスプーラ27で変換処理を行う場合の予測印刷処理時間148の値と予測印刷待ち時間149の値とを参照して、これらの長短を比較する。そして、予測印刷処理時間148の方が予測印刷待ち時間149より短い場合には、他のスプーラ27において変換処理を行う方が有利であるので、スプーラ27が変換処理可能な状態にあるか否かを調べる。そして、スプーラ27において印刷ジョブの内容の変換処理が可能であれば、S183において、印刷ジョブをスプーラ11からスプーラ27へ移送し、スプーラ27で印刷ジョブの内容の変換を行ってもらう。そしてS180において、上述のようにして印刷ジョブ管理情報を更新する。
【0065】
また、スプーラ27においても予測印刷処理時間148の方が予測印刷待ち時間149より長かった場合には、スプーラ11,27において印刷ジョブの内容を変換処理する時間の方が印刷を待つ時間よりも長いことを示している。この場合は、スプーラ11,27では印刷ジョブの内容の変換処理を行わず、そのままS180における印刷ジョブ管理情報の更新を行う。
【0066】
なお、S182における判断結果は、予測印刷処理時間テーブル94の印刷ジョブ内容変換判断結果150に記録する。また、S180における印刷ジョブ管理情報の更新処理を終えると、S172へ戻ってそれ以降の処理手順が順次繰り返されることになる。
【0067】
以上の処理手順によれば、スプーラ11,27を設けたネットワークにおいて、印刷処理時間および印刷待ち時間の予測を反復して行い、また新たな予測印刷処理時間および予測印刷待ち時間に基づいて、スプーラ11,27のいずれにおいて印刷ジョブに対する変換処理を行うか、あるいはプリンタ30,31に処理を任せるのかを判断することが可能である。また、このような判断結果は、予測印刷処理時間テーブル94に反映されるので、この判断結果を印刷処理時間および印刷待ち時間の予測にフィードバックし、正確な印刷処理時間及び印刷待ち時間の予測が可能である。
【0068】
図11は、本発明の印刷処理装置の第2の実施の形態を含むネットワークシステムの一例を示すブロック図である。図中、161はスプーラ、162はプリンタ・ドライバ、163はプリンタである。図11に示したように、本発明の印刷処理装置の第2の実施の形態を含むネットワークシステムは、スプーラ161、プリンタ・ドライバ162及びプリンタ163から構成されている。プリンタ・ドライバ162は、第1の実施の形態において説明した印刷ジョブ状態管理部15、さらに印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23および印刷処理資源削除部24を有している。プリンタ163は、印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23および印刷処理資源削除部24を有している。なお、スプーラ161は、図1のスプーラ11と同じものでもよく、印刷ジョブ状態管理部15を設けないものとしてもよい。また、スプーラ161及びプリンタ・ドライバ162は、それぞれクライアントまたはサーバに設けられているものとする。
【0069】
上記のように、印刷ジョブ状態管理部15をプリンタ・ドライバ162に設けることによって、スプーラ161における印刷ジョブの内容の解析と印刷ジョブ状態の設定の手続きを省略することが可能となり、スプーラ161における印刷ジョブに対する処理時間を短くすることが可能となる。また、印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23および印刷処理資源削除部24をプリンタ・ドライバ162及びプリンタ163にも設けることによって、プリンタ・ドライバ162及びプリンタ163についても印刷処理資源を共有することが可能となる。また、各印刷ジョブに印刷処理資源を設定する処理等の負荷をスプーラ161、プリンタ・ドライバ162及びプリンタ163に分散することが可能になる。なお、印刷処理資源設定部21、印刷処理資源取得部22、印刷処理資源利用部23および印刷処理資源削除部24は、スプーラ161とともに、プリンタ・ドライバ162またはプリンタ163のいずれか一方に設けるものとしてもよい。
【0070】
【発明の効果】
以上の説明から明らかなように、本発明によれば、印刷処理装置において各印刷ジョブごとに印刷ジョブ状態を管理できる。また、印刷ジョブの内容に変換が加えられたときには、この変換処理内容により印刷ジョブ状態を更新し、印刷ジョブの管理に反映することが可能なので、印刷ジョブの印刷待ち時間を正確に予測でき、スループットを向上させることができる。このとき、印刷ジョブの内容に対する無駄な処理を行うこともない。さらに、印刷処理装置が2台以上設けられているネットワークにも対応することが可能であり、これらを効率よく利用して印刷処理を行うことができるという効果がある。
【図面の簡単な説明】
【図1】 本発明の印刷処理装置の第1の実施の形態を含むスプーラの一例を示すブロック図である。
【図2】 本発明の印刷処理装置の第1の実施の形態を含むスプーラを接続したネットワーク構成の一例を示すブロック図である。
【図3】 印刷ジョブ送受信部の構成例を示すブロック図である。
【図4】 印刷ジョブ記憶部に格納された印刷ジョブのデータ構造の一例を示す説明図である。
【図5】 印刷ジョブ状態管理部の構成の一例を示す説明図である。
【図6】 印刷処理時間予測部の構成の一例を示す説明図である。
【図7】 スプーラ属性情報テーブルのデータ構造の一例を示す説明図である。
【図8】 プリンタ属性情報テーブルのデータ構造の一例を示す説明図である。
【図9】 予測印刷処理時間テーブルのデータ構造の一例を示す説明図である。
【図10】 本発明の印刷処理装置の第1の実施の形態を含むスプーラにおける印刷ジョブの処理手順の一例を示すフローチャートである。
【図11】 本発明の印刷処理装置の第2の実施の形態を含むネットワークシステムの一例を示すブロック図である。
【符号の説明】
11…スプーラ、12…制御部、13…印刷ジョブ送受信部、14…印刷ジョブ記憶部、15…印刷ジョブ状態管理部、16…印刷処理時間予測部、17…印刷ジョブ内容変換判断部、18…印刷ジョブ処理部、19…印刷ジョブ管理情報公開部、20…印刷ジョブ管理情報参照部、21…印刷処理資源設定部、22…印刷処理資源取得部、23…印刷処理資源利用部、24…印刷処理資源削除部、25…内部バス、26…ネットワーク、27…スプーラ、28,29…プリンタ・ドライバ、30,31…プリンタ、32…プリント・サーバ、33,34…クライアント、35…ネットワーク制御部、36…タイマ、37…受信バッファ、38…送信バッファ、39…記憶部、41…印刷ジョブ内容、51〜5m…印刷ジョブ状態、61〜6n…印刷処理資源、71…印刷ジョブ状態制御部、81〜8p…印刷ジョブ状態レジスタ、91…印刷処理時間予測制御部、92…スプーラ属性情報テーブル、93…プリンタ属性情報テーブル、94…予測印刷処理時間テーブル、95…記憶部、101…スプーラ識別番号、102…スプーラ名、103…スプーラIPアドレス、104…CPU処理速度、105…スプーラ負荷状態、106…印刷処理資源フラグ、107…利用可能なデータ型、108…クライアント情報、109…プリンタ情報、110…入力ポート情報、111…出力ポート情報、121…プリンタ識別番号、122…プリンタ名、123…プリンタIPアドレス、124…ASIC処理速度、125…受信バッファ容量、126…印刷処理資源フラグ、127…利用可能なデータ型、128…受信モード、129…印刷処理エンジン情報、130…ポート情報、131…プリンタ状態、141…テーブル識別番号、142…印刷ジョブ識別番号、143…スプーラ識別番号、144…プリンタ識別番号、145…データ型、146…印刷ジョブ状態、147…適用印刷処理資源情報、148…予測印刷処理時間、149…予測印刷待ち時間、150…印刷ジョブ内容変換判断結果、161…スプーラ、162…プリンタ・ドライバ、163…プリンタ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a print processing apparatus and a print processing method connected via a network.
[0002]
[Prior art]
In order to efficiently process a print job in a network to which a printer is connected, various inventions have been made for data processing apparatuses, printer drivers, spoolers, printers, and the like that perform printing via the network. For example, it is assumed that a print processing time in a printer is predicted and print processing is performed based on the prediction result. For example, Japanese Patent Application Laid-Open No. 6-324823 discloses a technique relating to a “printer management method” (hereinafter referred to as “first prior art” Say). In the first prior art, a printer agent is arranged in each printer connected to the network, and the status of the printer and the transfer time of the print job are calculated by this agent. In addition, it is possible to flexibly select an appropriate printer for each print job from among the printers.
[0003]
Further, for example, Japanese Patent Laid-Open No. 10-340166 describes a technique related to “print data generation apparatus, print data generation method, printing apparatus and printing system” (hereinafter referred to as “second conventional technique”). . In the second prior art, if a provisional print request is made from the host computer or the like to the printing apparatus before printing, acceptance information is returned from the printing apparatus. Further, when print information acquisition is requested by indicating the returned reception information, print processing information including information such as the total number of unprocessed jobs and the total number of printed pages is returned. Based on this print processing information, the host computer selects a printing apparatus whose print processing waiting time is equal to or less than a predetermined value. This makes it possible to predict the printing wait time based on the number of pages.
[0004]
By the way, in the case of a print job described in a page description language or the like, it is necessary to develop the print job into image data in the printer, and the time required for this needs to be a target of print waiting time prediction. However, the first and second prior arts do not have a special configuration corresponding to processing for developing a print job described in a page description language into image data. Therefore, the development time of this image data causes the prediction of the printing waiting time to be distorted.
[0005]
In view of this, a technique relating to such a print job can be cited, for example, a technique relating to the “print control apparatus” described in Japanese Patent Laid-Open No. 10-240459 (hereinafter referred to as “third prior art”). In the third prior art, the processing speed is calculated for each object such as a photograph, a figure, and a character constituting the image data, and is stored in advance as processing speed statistical information. Based on such information, the image formation process end time and the print process end time are accurately predicted, the print job quality management based on the delivery date, the print job management using the configuration work elements, and the print job transfer speed Prediction, printer selection, and print job sequence control are possible.
[0006]
Furthermore, in order to increase the efficiency of print job processing, there is a type that performs conversion processing on the contents of a print job according to the status of the printer or the like. For example, Japanese Patent Application Laid-Open No. 11-110148 describes a technique related to “a printing control system, a printing control method, and a recording medium on which a printing control program is recorded” (hereinafter referred to as “fourth conventional technique”). Yes. This predicts the reception time from the reception speed of the image data received from the server on the Internet in the printer device, and determines whether or not the predicted reception time has reached a predetermined threshold value. When the predicted reception time does not reach this threshold, processing such as re-receiving low-resolution image data is performed.
[0007]
However, there is a limit to just improving the efficiency of print job processing in the printer device. Therefore, as in the five conventional techniques described below, conversion processing is performed on the print job in a printer driver, spooler, etc., and print job processing is performed. Some of them are designed to improve efficiency. First, Japanese Patent Application Laid-Open No. 9-244822 describes a technique related to a “data processing apparatus” (hereinafter referred to as “fifth prior art”). In the fifth prior art, a front end processor (FEP) provided on a network manages queues of job nodes corresponding to print jobs, and print jobs corresponding to each job node are transferred and printed. Using the waiting time, the page data of the print job is collectively filed and error processing is performed. This makes it possible to increase the efficiency of data transfer.
[0008]
Japanese Patent Laid-Open No. 10-293659 discloses a technique relating to “a data processing apparatus, a print control apparatus, a data processing method of the data processing apparatus, and a storage medium storing a computer-readable program” (hereinafter referred to as “sixth "Prior art"). In the sixth prior art, the printer driver switches the data compression method according to the data processing burden on the host. For example, when the data processing burden on the host is heavy, the compression method with the lighter processing burden on the host is selected. As a result, the print data can be compressed in the printer driver corresponding to the load fluctuation.
[0009]
Furthermore, Japanese Patent Laid-Open No. 11-134121 discloses a technique relating to “a printing system, a printing system data processing method and a storage medium storing a computer-readable program” (hereinafter referred to as “seventh prior art”). Is described. In the seventh prior art, the print job described in the page description language in the printing apparatus is expanded to the second print data, that is, expanded to the image data, and at the same time, the data processing apparatus The expansion processing to the second data is always performed in the spooler. When a jam occurs in the printing apparatus, print processing is performed using the second print data on the data processing apparatus side. As a result, the processing load on the printing apparatus can be reduced and the printing process can be improved.
[0010]
Further, Japanese Patent Laid-Open No. 11-143656 discloses a technique relating to “a printing system, a data processing method of the printing system, and a storage medium storing a computer-readable program” (hereinafter referred to as “eighth conventional technique”). Is described. In the eighth prior art, predetermined page description language data generated in response to a print request from an application is converted from device-dependent intermediate code or conversion code written in a device-independent programming language such as JAVA. The image data is converted into bitmap image data that can be printed by the printing apparatus. Thereby, the maximum throughput can be maintained and the printing process can be improved.
[0011]
Further, Japanese Patent Application Laid-Open No. 11-203064 describes a technique related to “image processing apparatus and method and program storage medium” (hereinafter referred to as “ninth prior art”). In the ninth prior art, when image data is transferred to an external device, the transfer speed of the image data is detected, and pre-rendering is performed on the host side based on the detection result. Thereby, dynamic rendering processing according to the transfer rate is possible.
[0012]
As described above, there are various conventional techniques for improving the efficiency of print job processing in a network connected to a printer. Therefore, after adopting the print processing time prediction technology described as the third prior art, any of the technologies such as the conversion processing for the contents of the print job described as the fifth to ninth prior arts in the print waiting time. If one or two or more are used in combination, it is possible to accurately convert the print job contents in the printer driver or spooler after accurately predicting the print waiting time. It seems that it becomes possible to further improve the efficiency.
[0013]
However, the following problems occur. For example, it is assumed that the third conventional technique and the seventh conventional technique are employed in combination, the print processing time in the printer is predicted, and the conversion processing is performed on the content of the print job by a spooler or the like based on the prediction. In this case, the conversion process of the print job content has the merit of reducing the printing process burden of the printer, but the printing process time in the printer is fluctuated, so the print processing time made before this conversion process is predicted. It becomes a factor to go crazy. If the prediction of the print waiting time is not correct, the criterion for determining whether or not to convert the contents of the print job is incorrect.
[0014]
Also, a combination of the sixth conventional technique and the ninth conventional technique is employed, and after the printer driver compresses the print job, the spooler expands the print job according to the print processing load of the printer and performs the rendering process. The generated bitmap data is compressed and transmitted to the printer. In this case, since the print job compressed by the printer driver is compressed again by the spooler, the compression process is performed twice. Therefore, the consistency of the processing applied to one print job is not achieved, and unnecessary processing is performed. Furthermore, modules installed for performing conversion processing on print jobs are also wasted.
[0015]
Therefore, it can be said that even if the above-described conventional techniques are used in combination as they are, not only a synergistic effect is not obtained, but also adverse results may be brought about. Further, when there are a plurality of spoolers in the network as described above, the first to ninth prior arts have no configuration for managing print jobs in cooperation with the plurality of spoolers. There is a problem that it cannot be achieved.
[0016]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described circumstances. Even when a conversion process is applied to the contents of a print job in a network connected to a printer, the print waiting time of the print job is accurately predicted, and It is an object of the present invention to provide a print processing apparatus and a print processing method capable of performing consistent processing. It is another object of the present invention to provide a print processing apparatus and a print processing method capable of improving printing efficiency even in a network having a plurality of print processing apparatuses.
[0017]
[Means for Solving the Problems]
The present invention provides, as a print processing apparatus and a print processing method, a print job status indicating a conversion processing content for the print job content and a print processing resource for converting the print job content as necessary together with the print job content. The contents are stored, and the conversion processing contents for the contents of the print job are managed as the print job status. As a result, the status of the conversion processing of the print job content can be managed for each print job, and the next processing can be performed based on the conversion processing content applied to each print job.
[0018]
Also, the print processing time in the printer is predicted based on the print job status, and based on the prediction result, the print job content conversion determination means determines whether or not the content of the print job should be converted. As a result, the conversion process applied to the contents of the print job can be used as a predicting material, so that it is possible to accurately predict the print processing waiting time of the print job subjected to the conversion process.
[0019]
Further, the print job management information is disclosed to the printer driver means or the printer or other print processing apparatus, and conversely, the print job management information held in the other print processing apparatus is referred to. The print processing apparatus can be configured to transmit a print job. As a result, in a network provided with two or more print processing devices, print job management information is shared among the printer driver means, the printer, and the print processing device, and the processing burden of the print job is appropriately distributed among the print processing devices. It becomes possible.
[0020]
Further, as described above, the contents of the print job and the print processing resources for converting the contents of the print job are integrally managed. For example, the print processing apparatus and the printer need to have all the print processing resources in advance. If there is a lack of print processing resources or the latest print processing resources, they can be acquired from a print job or another print processing device, etc., and the acquired print processing resources must be set in the print job. Is possible. Also, it is possible to set a print processing resource corresponding to the print job status of each print job, and to proceed with the conversion process using the set print processing resource. Of course, if print processing resources are no longer needed, they can be deleted.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing an example of a spooler including the first embodiment of the print processing apparatus of the present invention, and FIG. 2 is connected to the spooler including the first embodiment of the print processing apparatus of the present invention. It is a block diagram which shows an example of a network structure. In the figure, 11 is a spooler, 12 is a control unit, 13 is a print job transmission / reception unit, 14 is a print job storage unit, 15 is a print job status management unit, 16 is a print processing time prediction unit, and 17 is a print job content conversion determination unit. , 18 is a print job processing unit, 19 is a print job management information disclosure unit, 20 is a print job management information reference unit, 21 is a print processing resource setting unit, 22 is a print processing resource acquisition unit, 23 is a print processing resource utilization unit, Reference numeral 24 denotes a print processing resource deletion unit, 25 an internal bus, 26 a network, 27 a spooler, 28 and 29 printer drivers, 30 and 31 printers, 32 a print server, and 33 and 34 clients.
[0022]
First, the configuration of the network including the spooler 11 shown in FIG. 2 will be described. The spooler 11 including the first embodiment of the print processing apparatus of the present invention is provided in a print server 32 connected to a network 26. The network 26 is connected to a client 33 provided with a printer driver 28, a client 34 provided with a spooler 27 and a printer driver 29, and printers 30 and 31. In such a configuration, the print job is transmitted from the printer drivers 28 and 29 to the spooler 11 and spooled by the spooler 11 as indicated by arrows A and B. Further, the print job spooled by the spooler 11 is appropriately transmitted to the printers 30 and 31 as indicated by arrows C and D, and is printed by the printers 30 and 31. Further, as indicated by an arrow E, a print job may be transmitted from the spooler 11 to the spooler 27. Of course, similar processing is performed in the spooler 27 as well. The spooler 11 may be provided in a server other than the print server, or may be provided in a client. Further, the number of servers to be connected to the network 26 is not limited to one, and two or more servers can be provided. Further, when a spooler is configured on the client, no server is required. Further, in addition to the print server, for example, various servers such as a file server and one or more clients can be connected. In addition, a spooler and a printer driver may be provided in the same server at the same time.
[0023]
The spooler 11 includes a control unit 12, a print job transmission / reception unit 13, a print job storage unit 14, a print job status management unit 15, a print processing time prediction unit 16, a print job content conversion determination unit 17, a print job processing unit 18, and a print job. It comprises a management information disclosure unit 19, a print job management information reference unit 20, a print processing resource setting unit 21, a print processing resource acquisition unit 22, a print processing resource use unit 23, a print processing resource deletion unit 24, and an internal bus 25. The print job transmission / reception unit 13, the print job management information disclosure unit 19, and the print job management information reference unit 20 are connected to the network 26.
[0024]
The control unit 12 includes a CPU and a cache memory. Print job transmission / reception unit 13, print job storage unit 14, print job status management unit 15, print processing time prediction unit 16, print job content conversion determination unit 17, print job processing unit 18, print job management information disclosure unit 19, print job The management information reference unit 20, the print processing resource setting unit 21, the print processing resource acquisition unit 22, the print processing resource use unit 23, and the print processing resource deletion unit 24 are controlled to realize a print job spooling process and the like.
[0025]
The print job transmission / reception unit 13 is connected to the network 26 and transmits / receives a print job to / from other apparatuses connected to the network 26. FIG. 3 is a block diagram illustrating a configuration example of the print job transmission / reception unit. In the figure, 35 is a network control unit, 36 is a timer, 37 is a reception buffer, 38 is a transmission buffer, and 39 is a storage unit. The print job transmission / reception unit 13 includes a network control unit 35, a timer 36, a reception buffer 37, a transmission buffer 38, a storage unit 39, and the like. The print job transmission / reception unit 13 monitors the printer drivers 28, 29 and other spoolers 27, receives print jobs transmitted from the printer drivers 28, 29 and spoolers 27, and stores print jobs via the reception buffer 37. Transfer to the unit 14. The printer drivers 28 and 29 and the spooler 27 can be monitored at predetermined time intervals measured by the timer 36, for example. When a print job is received from the print job storage unit 14, the received print job is transmitted to the spooler 27 and the printers 30 and 31 via the transmission buffer 38. Furthermore, by storing print job transmission / reception history data in the storage unit 39, print job transmission / reception history data can be managed. Note that print job transmission / reception history data can include print job reception source data or transmission destination data, and data such as an identification number for the print job.
[0026]
The print job storage unit 14 includes a general storage device, and stores the print job received by the print job transmission / reception unit 13. FIG. 4 is an explanatory diagram illustrating an example of a data structure of a print job stored in the print job storage unit. In the figure, 41 is the print job content, 51 to 5m are print job states, and 61 to 6n are print processing resources. As shown in FIG. 4, the print job stored in the print job storage unit 14 has the data structure of the print job contents 41, the print job states 51 to 5m, and the print processing resources 61 to 6n in the print job storage unit 14. Have. Note that the number of the print job states 51 to 5m and the print processing resources 61 to 6n is 0 or more because they may not exist in the print job. The print job content 41 includes print job content such as a graphics drawing command and data resulting from performing a conversion process on the drawing command. In the print job states 51 to 5m, statistical information of the contents of the print job is set. The print processing resources 61 to 6n are a page description language analysis processing module as an execution module for analyzing the page description language, and a graphics processing module as an execution module for performing path construction, straight line drawing, circle drawing, and the like. Further, an image compression / decompression module as an execution module for performing compression / decompression of image data by the JPEG method or compression / decompression of image data by the JBIG method, a font as an execution module for processing bitmap font or outline font data Includes processing modules. As described above, in the present invention, the print job contents 41 and the print job states 51 to 5m and the print processing resources 61 to 6n are stored in the print job storage unit 14 as necessary together with the print job contents 41.
[0027]
The print job status management unit 15 manages the print job statuses 51 to 5m held in the print job storage unit 14. FIG. 5 is an explanatory diagram showing an example of the configuration of the print job status management unit. In the figure, reference numeral 71 denotes a print job status control unit, and 81 to 8p denote print job status registers. As shown in FIG. 5, the print job status management unit 15 includes a print job status control unit 71 and a plurality of print job status registers 81 to 8p that hold the print job status. The print job status control unit 71 refers to the print job in the print job storage unit 14 and acquires the setting contents of the print job status 51 to 5m when the print job status 51 to 5m is set for the print job. A predetermined value is set in the print job status registers 81-8p. If the print job states 51 to 5m are not set in the print job, the contents of the print job are interpreted and the print job states are set in the print job state registers 81 to 8p. Specifically, for example, when the print job status control unit 71 interprets the print job content 41 and the print job content 41 is a page description language, the number of appearances for each command type such as a path construction command and a fill command, etc. Is set in the print job status registers 81 to 8p. Further, the print job status control unit 71 sets the value of the print job status register 81 to 8p to the print job status 51 to 5m of the corresponding print job in the print job storage unit 14. Also, the print job status value can be deleted from the print job. Further, when receiving a notification from the print job processing unit 18 that conversion processing such as rendering processing or compression processing has been performed on the contents of the print job, the conversion processing contents are set in the print job status registers 81 to 8p. To do.
[0028]
The print processing time prediction unit 16 predicts the print processing time in each spooler or printer for each print job. FIG. 6 is an explanatory diagram illustrating an example of the configuration of the print processing time prediction unit. In the figure, 91 is a print processing time prediction control unit, 92 is a spooler attribute information table, 93 is a printer attribute information table, 94 is a predicted print processing time table, and 95 is a storage unit. As shown in FIG. 6, the print processing time prediction unit 16 includes a print processing time prediction control unit 91 including a general CPU and a cache memory, and a storage unit 95 including a general storage device. The print processing time prediction control unit 91 refers to the values of the print job status registers 81 to 8p in the print job status management unit 15, the spooler attribute information table 92, and the printer attribute information table 93 for each print job. 27 or the predicted values of the print processing times when the printers 30 and 31 are used are calculated, and the predicted print processing times are recorded in the predicted print processing time table 94. A specific method for predicting the print processing time for each print job will be described later.
[0029]
The storage unit 95 is provided with a spooler attribute information table 92, a printer attribute information table 93, and a predicted print processing time table 94. The spooler attribute information table 92 holds the processing capability of other spoolers 27 and the like. FIG. 7 is an explanatory diagram showing an example of the data structure of the spooler attribute information table. In the figure, 101 is a spooler identification number, 102 is a spooler name, 103 is a spooler IP address, 104 is a CPU processing speed, 105 is a spooler load state, 106 is a print processing resource flag, 107 is an available data type, and 108 is a client. Information, 109 is printer information, 110 is an input port state, and 111 is an output port state. As shown in FIG. 7, the spooler attribute information table 92 includes a spooler identification number 101, a spooler name 102, a spooler IP address 103, a CPU processing speed 104, a spooler load state 105, a print processing resource flag 106, and an available data type 107. , Client information 108, printer information 109, input port status 110, and output port status 111. The spooler identification number 101 is a number for identifying a spooler connected to the network. The spooler name 102 is a name for the spooler. The spooler IP address 103 is an address corresponding to the Internet protocol assigned to the spooler. The CPU processing speed 104 is the CPU processing speed of hardware at which the spooler process is executed. The spooler load state 105 indicates the load state of the spooler. The print processing resource flag 106 indicates information related to print processing resources available in the spooler. The usable data type 107 is a data type for the contents of the print job. The client information 108 is information for a print job transmission source. The printer information 109 is information on a printer connected to the spooler. The input port state 110 mainly holds a state with respect to the reception buffer 37 of the print job transmission / reception unit 13. The output port state 111 mainly holds a state for the transmission buffer 38 of the print job transmission / reception unit 3.
[0030]
The printer attribute information table 93 holds information unique to each printer such as paper usable by the printers 30 and 31. FIG. 8 is an explanatory diagram showing an example of the data structure of the printer attribute information table. In the figure, 121 is the printer identification number, 122 is the printer name, 123 is the printer IP address, 124 is the ASIC processing speed, 125 is the reception buffer capacity, 126 is the print processing resource flag, 127 is the available data type, and 128 is the reception Mode 129 is print processing engine information, 130 is port information, and 131 is a printer status. As shown in FIG. 8, the printer attribute information table 93 includes a printer identification number 121, a printer name 122, a printer IP address 123, an ASIC processing speed 124, a reception buffer capacity 125, a print processing resource flag 126, and an available data type 127. , Reception mode 128, print processing engine information 129, port status 130, and printer status 131. The printer identification number 121 is a number for identifying a printer connected to the network. The printer name 122 is a name for the printer. The printer IP address 123 is an address corresponding to the Internet protocol assigned to the printer. The ASIC processing speed 124 is the processing speed of an ASIC (Application Specified IC) used for print processing in the printers 30 and 31. The reception buffer capacity 125 is the capacity of the reception buffer of the printer. The print processing resource flag 126 indicates information related to print processing resources that can be used in the printers 30 and 31. The usable data type 127 is a data type for the contents of the print job. The reception mode 128 is information regarding the reception mode of the printer. The print processing engine information 129 is data such as the resolution and processing speed of a so-called print processing engine. The port state 130 indicates the state of the network 26 to which the printers 30 and 31 are connected. The printer status 131 indicates a status such as a printer error.
[0031]
The predicted print processing time table 94 records the predicted print processing time. FIG. 9 is an explanatory diagram showing an example of the data structure of the predicted print processing time table. In the figure, 141 is a table identification number, 142 is a print job identification number, 143 is a spooler identification number, 144 is a printer identification number, 145 is a data type, 146 is a print job status, 147 is applied print processing resource information, and 148 is a prediction. The print processing time, 149 is a predicted print wait time, and 150 is a print job content conversion determination result. As shown in FIG. 9, the predicted print processing time table 94 includes a table identification number 141, a print job identification number 142, a spooler identification number 143, a printer identification number 144, a data type 145, a print job status 146, and applicable print processing resource information. 147, predicted print processing time 148, predicted print wait time 149, and print job content conversion determination result 150. The table identification number 141 is an identification number for each predicted print processing time table 94. The print job indicated by the print job identification number 142 is converted by the print processing resource indicated by the applicable print processing resource information 147 in the spooler indicated by the spooler identification number 143 or the printer indicated by the printer identification number 144. The predicted print processing time when processing is performed is recorded as the predicted print processing time 148. That is, for each print job, the print processing time is predicted for each spooler or printer that can execute the conversion process, and the predicted print processing time table 94 is created. The applied print processing resource information 147 indicates data on the print processing resource assumed when the print processing time is predicted. Further, the data of the predicted print waiting time 149 and the print job content conversion determination result 150 are used by the print job content conversion determination unit 17. Data in the spooler 11 in the predicted print processing time table 94 is used as print job management information, for example, by the print job management information disclosure unit 19.
[0032]
Returning to FIG. 1, the print job content conversion determination unit 17 is configured by a general CPU, and predicts the waiting time of the print job based on the print processing time predicted by the print processing time prediction unit 16. The predicted waiting time is recorded as the predicted printing waiting time 149 in the predicted printing processing time table 94 in the printing processing time prediction unit 16. The print job content conversion determination unit 17 determines whether or not the print waiting time is longer than the time for converting the print job by itself or another spooler or printer, and the determination result is used as the predicted print processing time. The result is recorded as a print job content conversion determination result 150 in the table 94. Note that a waiting time prediction method and a print job content conversion determination method for each print job will be described later.
[0033]
The print job processing unit 18 includes a general CPU and a general storage device, and performs print processing based on the determination result of the print job content conversion determination unit 17. When converting the contents of a print job in its own spooler, conversion processing such as development of the print job is performed using the print processing resource utilization unit 23 or the print processing resource set in the print job itself. If the print processing resource using unit 23 or a print processing module in which no print processing resource is set is necessary, the print job contents are converted using the print processing module held in advance in the spooler 11. Processing can be performed. Further, the conversion contents of the print job are notified to the print job status management unit 15.
[0034]
The print job management information disclosure unit 19 includes a general CPU, a general storage device, and a network control device, and is connected to the network 26. The print job management information in the spooler 11, that is, the total number of print jobs in the spooler 11, each print job status, and the print process prediction of each print job are referred to by referring to the data in the predicted print processing time table 94 of the print processing time prediction unit 16. Data such as time is duplicated, and the duplicated data is disclosed to the spooler 27 or the printer drivers 28 and 29.
[0035]
The print job management information reference unit 20 includes a general CPU, a general storage device, and a network control device. Also, the print job management information in the spooler 27 is acquired and held. Further, the value of the spool load state 105 in the spooler attribute information table 92 of the print processing time prediction unit 16 is updated based on the load state data of the spooler 27.
[0036]
The print processing resource setting unit 21 includes a general CPU and a general storage device. When the spooler 27 or the printers 30 and 31 require a print processing resource, the print processing resource setting unit 21 prints a print job based on the print job status. Processing resources can be set.
[0037]
The print processing resource acquisition unit 22 includes a general CPU and a general storage device, and print processing resources set in the print job by the print processing resource setting unit of the spooler 27 or the printer drivers 28 and 29 are printed jobs. And is transferred to the print processing resource utilization unit 23.
[0038]
The print processing resource utilization unit 23 includes a general CPU and a general storage device, receives print processing resources from the print processing resource acquisition unit 22, and converts rendering based on information obtained from the print job status. Processing is performed on the contents of the print job.
[0039]
The print processing resource deletion unit 24 is configured by a general CPU and a general storage device, and refers to the values of the print job status registers 81 to 8p, and when the print processing resource of the print job is unnecessary. The print processing resource set by the print processing resource setting unit 21 is deleted from the print job. For example, there is a case where the parsing module of the page description language set in the print job becomes unnecessary because the print job processing unit 18 performs the parsing process on the contents of the print job. In this case, the print processing resource deletion unit 24 deletes the print processing resource of the page description language parsing module set in the print job.
[0040]
The print processing resource setting unit 21, the print processing resource acquisition unit 22, the print processing resource use unit 23, the print processing resource deletion unit 24, and the like can also be used for print processing resources that do not exist in the spooler 11, for example. Makes it possible to share print processing resources. This eliminates the need for the spooler 11 to always hold all print processing resources. The print processing resource is also supplied as a part of the print job, and has an advantage that, for example, the updated print processing resource can be used immediately.
[0041]
The internal bus 25 includes a control bus and a data bus, and includes a control unit 12, a print job transmission / reception unit 13, a print job storage unit 14, a print job status management unit 15, a print processing time prediction unit 16, and a print job content conversion determination unit. 17, print job processing unit 18, print job management information disclosure unit 19, print job management information reference unit 20, print processing resource setting unit 21, print processing resource acquisition unit 22, print processing resource use unit 23, print processing resource deletion unit 24 are connected to each other to transmit control signals or data.
[0042]
Next, the print processing time prediction method for each print job in the print processing time prediction unit 16 will be described using a specific example. The specifications and print processing status of the printer drivers 28 and 29, the spoolers 11 and 27, and the printer 30 are as follows. That is, the printer drivers 28 and 29 output a file described in a page description language (hereinafter referred to as a PDL file). The spooler 11 is a print processing resource that converts a PDL file into a file (hereinafter referred to as an intermediate file) expressed in a display list, and a file (hereinafter referred to as a bitmap) in which a PDL file is expressed in a bitmap image format. A print processing resource for converting the intermediate file into a bitmap file, and the like. As hardware, the spooler 11 operates with hardware having a CPU of 500 MHz. The spooler 27 operates with hardware having a 1 GHz CPU.
[0043]
Further, it is assumed that the spooler 11 is holding three print jobs, while the spooler 27 is not holding a print job. Note that the three print jobs held in the spooler 11 are a print job A, a print job B, and a print job C. Further, it is assumed that the printer 30 can print three types of files: a PDL file, an intermediate file, and a bitmap file.
[0044]
Further, it is assumed that the printer 30 is immediately after receiving the print job D from the spooler 11. Further, it is assumed that the spooler 11 predicted that a print processing time of 35 seconds is required in the printer 30 from the print job state of the print job D. The print job status management unit 15 of the spooler 11 analyzes the contents of the print job A, the print job B, and the print job C, and draw commands included in each print job (for example, when the PDL file is a PostScript file, moveto). The statistics are taken for each type of drawing command (for example, when the PDL file is a PostScript file, a so-called path construction command such as a lineto operator or an image processing command such as an image operator). Assume that the print job status of each print job is held. In addition, it is assumed that the print job A, the print job B, and the print job C are composed of 15 billion drawing commands, 20 billion printing commands, and 75 billion drawing commands, respectively.
[0045]
Based on the above assumptions, the print processing time prediction unit 16 first refers to the print job status of each print job, and specifies the type of drawing command for each print job and the number of each command type. Subsequently, the print processing time prediction control unit 91 of the print processing time prediction unit 16 refers to the data in the spooler attribute information table 92 to thereby determine the CPU processing speeds of the spooler 11 and the spooler 27 and the types of available print processing resources. Is identified. Further, the print processing time prediction unit 16 calculates a predicted print processing time for the print processing resource of each print job in each spooler from the type and number of commands of the print job and the CPU processing speed in each spooler. Note that the processing time for a certain print processing resource at a specific CPU processing speed, for example, the processing time of a drawing command such as one lineto operator in a 500 MHz CPU is measured or calculated in the initialization processing of the spooler 11 described later. It is assumed that the print processing time prediction control unit 91 is in a usable state in advance.
[0046]
The print processing time prediction unit 16
Estimated print processing time = Σ i (Number of print job states i × processing time of print processing resource i per second × CPU processing speed) (1)
To predict the printing time. The print job state i indicates the i-th print job state, that is, a drawing command, and the print processing resource i indicates a print processing resource corresponding to the print job state i.
[0047]
For example, if it takes 2 nanoseconds to process the print processing resources corresponding to the print job status of each print job, the print job A, print job B, and print job C are expressed by equation (1). The spooler 11 is estimated to require 30 seconds, 40 seconds, and 150 seconds, respectively, and the spooler 27 is expected to require 15 seconds, 20 seconds, and 75 seconds, respectively. These values are recorded in the predicted printing processing time table 94, respectively.
[0048]
Subsequently, a waiting time prediction method and a print job content conversion determination method for each print job in the print job content conversion determination unit 17 will be described using the above-described specific example. When the print jobs held in the print job storage unit 14 are the above-described print job A, print job B, and print job C, the print waiting time in the spooler 11 of each print job is:
Estimated printing wait time = Σ j (Predictive print processing time of preceding print job j) (2)
Is predicted.
[0049]
Therefore, if the print jobs are held in the order of print job A, print job B, and print job C in the print job storage unit 14, the print job content conversion determination unit 17 determines the waiting time of each print job in the spooler 11. It can be predicted as 35 seconds, 65 seconds, and 105 seconds, respectively. These values are stored in the predicted print processing time table 94. Note that the predicted print waiting time for the print job A corresponds to the predicted print processing time in the printer 30 because there is no print job preceding this.
[0050]
The print processing time in the printer 30 can be predicted by referring to the print job transmission history in the print job transmission / reception unit 13, the printer attribute information table 93 and the predicted print processing time table 94 in the print processing time prediction unit 16. Here, in order to simplify the explanation, it takes more time than the predicted print processing time in the spooler 11 to process each print job in the printer 30, that is, the printer 30 processes the print job D in 35 seconds. Shall. In addition, the print job content conversion determination unit 17 can predict the waiting time of each print job in the spooler 27 as 35 seconds, 50 seconds, and 70 seconds, respectively. These values are also stored in the predicted print processing time table 94. It is assumed that the printer 31 is processing a print job E that requires a long time, for example, 300 seconds or more, and the following description of the waiting time prediction method and the print job content change method for each print job follows. A description of the printer 31 is omitted.
[0051]
Therefore, the print job content conversion determination unit 17 refers to the predicted print processing time 148 and the predicted print waiting time 149 in the predicted print processing time table 94. For print job A, the predicted print processing time and predicted print waiting time in the spooler 11 are 30 seconds and 35 seconds, respectively, and the predicted print processing time and predicted print waiting time in the spooler 27 are 15 seconds and 35 seconds, respectively. Is identified. Therefore, the magnitudes of these values are compared, and since the predicted processing time is shorter than the predicted printing waiting time in any spooler, it is determined that the print processing contents can be converted in the spooler 11 and the other spoolers 27. As this determination result, a value indicating that the print processing content conversion is possible is set as the value of the print job content conversion determination result 150.
[0052]
For print job B, the predicted print processing time and predicted print waiting time in the spooler 11 are 40 seconds and 65 seconds, respectively, and the predicted print processing time and predicted print waiting time in the spooler 27 are respectively 20 seconds and 50 seconds. Is identified. Further, for the print job A and the print job B, the predicted print processing time and the predicted print wait time when the job content is converted in the spooler 11 or the spooler 27 are specified, and whether or not the content of the print processing can be converted is determined by these values. Judgment is made by comparing the size of. That is, when both the print job A and the print job B are converted in the spooler 11, the print processing time is 70 seconds, and the spooler 11 does not convert the print job contents of the print job A and the print job B. In this case, the estimated waiting time for print job B is greater than 65 seconds. Therefore, it is not a good idea to print both the print job A and the print job B in the spooler 11. Therefore, the fact that both of these cannot be printed is recorded in the predicted print processing time table 94.
[0053]
Further, in each spooler, the predicted print processing time and the predicted print waiting time when the print processing content for each print job is converted are specified by the same method, and it is determined whether the print processing content conversion is possible in each spooler. Go. For example, when print job A is converted in spooler 11, the print waiting time for print job B is 65 seconds. In addition, when print job B is converted in spooler 27, the print waiting time for print job C is in spooler 11. Is 65 seconds and in the spooler 27 is 55 seconds. Then, these may be performed by comparing the predicted print processing time with the magnitude thereof.
[0054]
FIG. 10 is a flowchart showing an example of a print job processing procedure in the spooler including the first embodiment of the print processing apparatus of the present invention. First, in step S <b> 171, the control unit 12 initializes the internal state of each part of the spooler 11 such as the print job transmission / reception unit 13 and the print job storage unit 14. That is, in this initialization process, the network control unit 35 of the print job transmission / reception unit 13 initializes the reception buffer 37, the transmission buffer 38, and the storage unit 39. In addition, the control unit 12 initializes the print job storage unit 14. Further, the print job status control unit 71 of the print job status management unit 15 initializes the print job status registers 81 to 8p. In addition, the print processing time prediction control unit 91 of the print processing time prediction unit 16 initializes the spooler attribute information table 92, the printer attribute information table 93, and the predicted print processing time table 94. Here, the data such as the printer name 122 in the printer attribute information table 93 is a default value, a value input by the user, or a value obtained directly or indirectly from the printers 30 and 31 via the network. Set as.
[0055]
Further, the print job management information disclosure unit 19 generates print job management information with reference to the data in the predicted print processing time table 94 of the print processing time prediction unit 16, and the printer drivers 28 and 29, the spooler via the network 26. The print job management information is disclosed to the printer 27 and the printers 30 and 31. Also, the print job management information reference unit 20 refers to the print job management information of the spooler 27 via the network 26, and the data in the spooler attribute information table 92 is sent to the print processing time prediction control unit 91 of the print processing time prediction unit 16. Notify that you should update At this time, the print processing time prediction control unit 91 updates the data in the spooler attribute information table 92 in response to this notification. With these processes, the spooler 11 and other spoolers 27 can mutually use print job management information.
[0056]
In step S <b> 172, the print job transmission / reception unit 13 monitors the printer drivers 28 and 29 and the spooler 27. If the print job can be received by the spooler 11, the print job transmission / reception unit 13 transmits the print job from the printer drivers 28 and 29 and spooler 27. Receive a print job. Further, the print job transmission / reception unit 13 monitors the printers 30 and 31 and the spooler 27, and when a print job can be transmitted from the spooler 11 to these, the print job is transmitted to either the spooler 27 or the printers 30 and 31. To do.
[0057]
The print job transmission / reception unit 13 monitors the printer drivers 28 and 29 and the spooler 27 at predetermined time intervals according to the time measured by the timer 36 regardless of the processing of S172. If the spooler 11 is ready to receive a print job at that time, the print job transmitted from the printer driver 28 or 29 or another spooler 27 is received. Similarly, the printers 30 and 31 and the spooler 27 are monitored at predetermined time intervals, and when the print job can be transmitted, the print job is transmitted to the other spoolers 27 or the printers 30 and 31. In addition, a print job can be transmitted and received by a so-called asynchronous method instead of the so-called polling method.
[0058]
Next, in step S173, the print job status management unit 15 refers to the print job held in the print job storage unit 14, and determines whether the print job status is set for the print job. If the print job status is set for the print job, in step S174, the print job status management unit 15 sets the values of the print job status registers 81 to 8p according to the contents, and sets the print job status to the print job. Set and proceed to S175. If the print job status is not set for the print job in S173, the print job status management unit 15 uses the print processing resource of the print processing resource use unit 23 in S181 or the spooler 11 performs print processing. The contents of the print job are interpreted using a print processing module prepared in advance. Then, the print job status obtained by this interpretation is set in the print job status registers 81 to 8p, and the process proceeds to S175. Therefore, when the process of S174 or S181 is completed, the print job status is set for each print job.
[0059]
In step S175, the print processing time prediction unit 16 sets the print status registers 81 to 8p of the print job status management unit 15, the print job management information of the spooler 27, and the spooler attribute information table 92 which is attribute information of the spooler 27. The CPU processing speed of the spooler 11 and the spooler 27 and the types of available print processing resources are specified based on the data, the data of the printer attribute information table 93 that is the attribute information of the printers 30 and 31, and the print job transmission history. To do. Then, the print processing time prediction unit 16 calculates the predicted print processing time for the print processing resource of each print job in each spooler from the type and number of commands of each print job and the CPU processing speed of the spooler 11 and spooler 27, and the prediction. The print processing time is recorded in the predicted print processing time 148 of the predicted print processing time table 94. The calculation of the predicted printing time can be performed as described above using a specific example. Information about the transmission history of the print job is acquired from the print job transmission / reception unit 13. The print job management information of the spooler 27 is acquired from the print job management information reference unit 20.
[0060]
Further, in step S176, the print job content conversion determination unit 17 determines the print job management information of the spooler 11, the print job management information of the spooler 27, the attribute information of the spooler 27 or the attribute information of the printers 30 and 31, and the transmission history of the print job. The waiting time of each print job is predicted based on the above. The predicted waiting time is recorded as a predicted printing waiting time 149 in the predicted printing processing time table 94. The calculation of the predicted print waiting time can also be performed as described above using a specific example.
[0061]
In step S <b> 177, the print job content conversion determination unit 17 refers to the value of the predicted print processing time 148 and the value of the predicted print waiting time 149 in the predicted print processing time table 94, compares these values, and the spooler 11 prints the print job. It is determined whether or not the contents of can be converted. When the predicted print processing time 148 is shorter than the predicted print wait time 149, the print job content conversion processing in the spooler 11 can be performed. In this case, in step S178, the print processing set in the print job, such as the print processing resource acquired by the print processing resource acquisition unit 22 by the print job processing unit 18 or the print processing resource prepared in advance in the spooler 11. Convert the contents of the print job using resources. Specifically, various processes such as interpretation of a page description language, conversion to an internal representation such as a so-called display list, or rendering processing from a display list can be performed.
[0062]
Further, in step S179, in order to reflect the conversion processing content of the print job content by the print job processing unit 18 in the print job status, the print job status registers 81 to 8p are updated, and the print job held in the print job storage unit 14 is also updated. Update the print job status at.
[0063]
Further, in order to reflect the latest status in the print job management information of the spoolers 11 and 27, the print job management information reference unit 20 updates the print job management information in the spooler 27 via the network 26 in S180. In addition, it notifies the print processing time prediction control unit 91 of the print processing time prediction unit 16 that data in the spooler attribute information table 92 and the like should be updated. Upon receiving this notification, the print processing time prediction control unit 91 updates the data of related items in the spooler attribute information table 92, the printer attribute information table 93, and the predicted print processing time table 94. Further, the print job management information disclosure unit 19 updates the print job management information of the spooler 11 with reference to the data in the predicted print processing time table 94 of the print processing time prediction unit 16, and the printer driver via the network 26. 28, 29, the spooler 27 and the printers 30 and 31, the print job management information of the spooler 11 is disclosed.
[0064]
In S177 described above, when the predicted print processing time 148 is longer than the predicted print waiting time 149, the time for converting the contents of the print job in the spooler 11 is longer than the time waiting for printing. Since it indicates that the print job is long, it is determined that the spooler 11 does not convert the contents of the print job. In this case, in S182, referring to the predicted print processing time 148 value and the predicted print waiting time 149 value when conversion processing is performed by another spooler 27 from the predicted print time processing table 94, these values are referred to. Compare long and short. If the predicted print processing time 148 is shorter than the predicted print waiting time 149, it is advantageous to perform the conversion process in another spooler 27. Therefore, whether or not the spooler 27 is in a state where the conversion process is possible. Check out. If the spooler 27 can convert the print job contents, the print job is transferred from the spooler 11 to the spooler 27 in S183, and the spooler 27 converts the print job contents. In step S180, the print job management information is updated as described above.
[0065]
Also, in the spooler 27, when the predicted printing processing time 148 is longer than the predicted printing waiting time 149, the time for converting the contents of the print job in the spoolers 11 and 27 is longer than the waiting time for printing. It is shown that. In this case, the spoolers 11 and 27 do not perform the conversion process of the contents of the print job and update the print job management information in S180 as it is.
[0066]
The determination result in S182 is recorded in the print job content conversion determination result 150 of the predicted print processing time table 94. When the print job management information update process in S180 is completed, the process returns to S172, and the subsequent processing procedures are sequentially repeated.
[0067]
According to the above processing procedure, the print processing time and the print waiting time are repeatedly predicted in the network provided with the spoolers 11 and 27, and the spooler is based on the new predicted print processing time and the predicted print waiting time. In either of 11 and 27, it is possible to determine whether to perform the conversion process for the print job or leave the process to the printers 30 and 31. In addition, since such a determination result is reflected in the predicted printing processing time table 94, the determination result is fed back to the prediction of the printing processing time and the printing waiting time, so that the accurate printing processing time and the printing waiting time can be predicted. Is possible.
[0068]
FIG. 11 is a block diagram showing an example of a network system including the print processing apparatus according to the second embodiment of the present invention. In the figure, 161 is a spooler, 162 is a printer driver, and 163 is a printer. As shown in FIG. 11, the network system including the print processing apparatus according to the second embodiment of the present invention includes a spooler 161, a printer driver 162, and a printer 163. The printer driver 162 includes a print job status management unit 15 described in the first embodiment, a print processing resource setting unit 21, a print processing resource acquisition unit 22, a print processing resource use unit 23, and a print processing resource deletion unit 24. have. The printer 163 includes a print processing resource setting unit 21, a print processing resource acquisition unit 22, a print processing resource use unit 23, and a print processing resource deletion unit 24. The spooler 161 may be the same as the spooler 11 of FIG. 1, and the print job status management unit 15 may not be provided. Further, it is assumed that the spooler 161 and the printer driver 162 are provided in the client or the server, respectively.
[0069]
As described above, by providing the print job status management unit 15 in the printer driver 162, it is possible to omit the procedure of analyzing the contents of the print job and setting the print job status in the spooler 161, and printing in the spooler 161. The processing time for the job can be shortened. Also, the printer driver 162 and the printer 163 are provided by providing the print processing resource setting unit 21, the print processing resource acquisition unit 22, the print processing resource use unit 23, and the print processing resource deletion unit 24 in the printer driver 162 and the printer 163. Can also share print processing resources. Further, it is possible to distribute the load of processing for setting print processing resources for each print job to the spooler 161, the printer driver 162, and the printer 163. The print processing resource setting unit 21, the print processing resource acquisition unit 22, the print processing resource use unit 23, and the print processing resource deletion unit 24 are provided in either the printer driver 162 or the printer 163 together with the spooler 161. Also good.
[0070]
【The invention's effect】
As is apparent from the above description, according to the present invention, the print job status can be managed for each print job in the print processing apparatus. In addition, when conversion is added to the contents of a print job, the print job status can be updated with the conversion processing contents and reflected in the management of the print job, so the print job print waiting time can be accurately predicted, Throughput can be improved. At this time, useless processing is not performed on the contents of the print job. Furthermore, it is possible to cope with a network in which two or more print processing apparatuses are provided, and there is an effect that print processing can be performed by using these efficiently.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of a spooler including a first embodiment of a print processing apparatus according to the present invention.
FIG. 2 is a block diagram showing an example of a network configuration to which a spooler including the first embodiment of the print processing apparatus of the present invention is connected.
FIG. 3 is a block diagram illustrating a configuration example of a print job transmission / reception unit.
FIG. 4 is an explanatory diagram illustrating an example of a data structure of a print job stored in a print job storage unit.
FIG. 5 is an explanatory diagram illustrating an example of a configuration of a print job status management unit.
FIG. 6 is an explanatory diagram illustrating an example of a configuration of a print processing time prediction unit.
FIG. 7 is an explanatory diagram illustrating an example of a data structure of a spooler attribute information table.
FIG. 8 is an explanatory diagram illustrating an example of a data structure of a printer attribute information table.
FIG. 9 is an explanatory diagram illustrating an example of a data structure of a predicted print processing time table.
FIG. 10 is a flowchart illustrating an example of a processing procedure of a print job in the spooler including the first embodiment of the print processing apparatus according to the invention.
FIG. 11 is a block diagram illustrating an example of a network system including a print processing apparatus according to a second embodiment of the invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 11 ... Spooler, 12 ... Control part, 13 ... Print job transmission / reception part, 14 ... Print job memory | storage part, 15 ... Print job state management part, 16 ... Print processing time estimation part, 17 ... Print job content conversion judgment part, 18 ... Print job processing unit, 19 ... Print job management information disclosure unit, 20 ... Print job management information reference unit, 21 ... Print processing resource setting unit, 22 ... Print processing resource acquisition unit, 23 ... Print processing resource use unit, 24 ... Print Processing resource deletion unit, 25 ... internal bus, 26 ... network, 27 ... spooler, 28,29 ... printer driver, 30,31 ... printer, 32 ... print server, 33,34 ... client, 35 ... network control unit, 36 ... Timer, 37 ... Reception buffer, 38 ... Transmission buffer, 39 ... Storage unit, 41 ... Print job content, 51-5m ... Print job status, 61-6 ... Print processing resource, 71 ... Print job status control unit, 81 to 8p ... Print job status register, 91 ... Print processing time prediction control unit, 92 ... Spooler attribute information table, 93 ... Printer attribute information table, 94 ... Predictive printing process Time table, 95: Storage unit, 101: Spooler identification number, 102 ... Spooler name, 103 ... Spooler IP address, 104 ... CPU processing speed, 105 ... Spooler load status, 106 ... Print processing resource flag, 107 ... Available data Type 108 108 Client information 109 Printer information 110 Input port information 111 Output port information 121 Printer identification number 122 Printer name 123 Printer IP address 124 ASIC processing speed 125 Receive Buffer capacity, 126 ... print processing resource flag, 127 ... profit Possible data types: 128 ... reception mode, 129 ... print processing engine information, 130 ... port information, 131 ... printer status, 141 ... table identification number, 142 ... print job identification number, 143 ... spooler identification number, 144 ... printer identification Number 145 Data type 146 Print job status 147 Applicable print processing resource information 148 Predicted print processing time 149 Predicted print wait time 150 Print job content conversion judgment result 161 Spooler 162 Printer driver, 163... Printer.

Claims (17)

ネットワークを介して1または2以上のプリンタに接続されるとともにプリンタ・ドライバ手段から受信した印刷ジョブを保持する印刷処理装置において、前記プリンタ・ドライバ手段から受信した印刷ジョブの内容を必要に応じて該印刷ジョブの内容を解釈して得られた統計情報が設定される印刷ジョブ状態及び該印刷ジョブの内容を変換処理する実行モジュールである印刷処理資源とともに格納する印刷ジョブ記憶手段と、前記印刷ジョブ記憶手段に格納された印刷ジョブの印刷ジョブ状態を管理する印刷ジョブ状態管理手段と、少なくとも印刷ジョブの前記印刷ジョブ状態を参照して前記プリンタにおける当該印刷ジョブの印刷処理時間を予測する印刷処理時間予測手段と、印刷待ち時間を予測するとともに該印刷待ち時間と前記印刷処理時間予測手段で予測された前記印刷処理時間の長短を比較して印刷ジョブの内容の変換が可能か否かを判断する印刷ジョブ内容変換判断手段と、前記印刷ジョブ内容変換判断手段で印刷ジョブの内容の変換が可能と判断された場合に当該印刷ジョブとともに前記印刷ジョブ記憶手段に保持されている前記印刷処理資源を用いて印刷ジョブの内容の変換を行う印刷ジョブ処理手段を有し、前記印刷ジョブ処理手段による変換後の印刷ジョブの内容を前記印刷ジョブ状態に反映させることを特徴とする印刷処理装置。  In a print processing apparatus connected to one or more printers via a network and holding a print job received from a printer driver means, the contents of the print job received from the printer driver means can be changed as necessary. Print job storage means for storing a print job status in which statistical information obtained by interpreting the contents of the print job is set, and a print processing resource that is an execution module for converting the contents of the print job, and the print job storage Print job status management means for managing the print job status of the print job stored in the means, and print processing time prediction for predicting the print processing time of the print job in the printer with reference to at least the print job status of the print job And a printing waiting time and the printing waiting time and the printing A print job content conversion determination unit that compares the length of the print processing time predicted by the physical time prediction unit to determine whether the conversion of the content of the print job is possible; and a print job by the print job content conversion determination unit Print job processing means for converting the contents of the print job using the print processing resources held in the print job storage means together with the print job when it is determined that the content of the print job can be converted, A print processing apparatus that reflects the contents of a print job converted by a print job processing means in the print job state. 前記印刷処理時間予測手段は、前記印刷ジョブ状態管理手段で管理されている印刷ジョブ状態に基づいて前記印刷処理装置に前記ネットワークを介して接続された他の印刷処理装置における前記印刷ジョブの印刷処理時間も予測して該印刷ジョブの管理のための情報とともに印刷ジョブ管理情報として保持し、前記印刷ジョブ内容変換判断手段は、他の印刷処理装置で印刷ジョブの内容の変換が可能か否かについても判断することにより前記印刷ジョブ処理手段によって変換するか、前記他の印刷処理装置によって変換するかを判断し、前記他の印刷処理装置によって変換すると判断された場合に当該印刷ジョブを他の印刷処理装置へ転送することを特徴とする請求項1に記載の印刷処理装置。  The print processing time prediction unit prints the print job in another print processing device connected to the print processing device via the network based on the print job status managed by the print job status management unit. Time is also predicted and held as print job management information together with information for managing the print job, and the print job content conversion determination unit determines whether the print job content can be converted by another print processing apparatus. Determining whether to convert the print job by the print job processing unit or the other print processing apparatus, and if the other print processing apparatus determines to convert the print job, The print processing apparatus according to claim 1, wherein the print processing apparatus is transferred to the processing apparatus. さらに、前記印刷ジョブ記憶手段に格納されている印刷ジョブを前記プリンタもしくは前記他の印刷処理装置へ送信しまたは前記プリンタ・ドライバ手段もしくは前記他の印刷処理装置から印刷ジョブを受信して前記印刷ジョブ記憶手段へ転送する印刷ジョブ送受信手段を有することを特徴とする請求項2に記載の印刷処理装置。  Further, the print job stored in the print job storage means is transmitted to the printer or the other print processing apparatus, or the print job is received from the printer driver means or the other print processing apparatus to receive the print job. The print processing apparatus according to claim 2, further comprising: a print job transmission / reception unit that transfers to a storage unit. さらに、前記印刷処理時間予測手段に保持されている印刷ジョブ管理情報を前記プリンタ・ドライバ手段もしくは前記プリンタまたは前記他の印刷処理装置に対して公開する印刷ジョブ管理情報公開手段を有することを特徴とする請求項2または請求項3に記載の印刷処理装置。  Further, the image processing apparatus further comprises print job management information disclosing means for disclosing the print job management information held in the print processing time prediction means to the printer driver means, the printer, or the other print processing apparatus. The print processing apparatus according to claim 2 or 3. さらに、前記他の印刷処理装置が公開している印刷ジョブ管理情報を参照し、参照した該印刷ジョブ管理情報に基づいて前記印刷処理時間予測手段によって管理されている前記印刷ジョブ管理情報を更新する印刷ジョブ管理情報参照手段を有することを特徴とする請求項2ないし請求項4のいずれか1項に記載の印刷処理装置。  Further, the print job management information published by the other print processing apparatus is referred to, and the print job management information managed by the print processing time prediction unit is updated based on the referred print job management information. 5. The print processing apparatus according to claim 2, further comprising a print job management information reference unit. さらに、前記印刷ジョブ記憶手段に格納されている印刷ジョブに対して該印刷ジョブの内容を変換処理するのに必要な印刷処理資源を設定する印刷処理資源設定手段を有することを特徴とする請求項2ないし請求項5のいずれか1項に記載の印刷処理装置。  And a print processing resource setting unit configured to set a print processing resource necessary for converting the content of the print job for the print job stored in the print job storage unit. The print processing apparatus according to any one of claims 2 to 5. さらに、前記印刷ジョブ記憶手段に格納された印刷ジョブから前記プリンタ・ドライバ手段または前記他の印刷処理装置が設定した印刷処理資源を取得する印刷処理資源取得手段を有することを特徴とする請求項2ないし請求項6のいずれか1項に記載の印刷処理装置。  3. A print processing resource acquisition unit for acquiring a print processing resource set by the printer driver unit or the other print processing apparatus from a print job stored in the print job storage unit. The print processing apparatus according to claim 6. さらに、前記印刷処理資源取得手段から印刷処理資源を受け取り該印刷処理資源を用いて前記印刷ジョブ記憶手段に格納されている印刷ジョブに対して変換処理を行う印刷処理資源利用手段を有することを特徴とする請求項7に記載の印刷処理装置。  Further, the image processing apparatus includes a print processing resource utilization unit that receives the print processing resource from the print processing resource acquisition unit and performs conversion processing on the print job stored in the print job storage unit using the print processing resource. The print processing apparatus according to claim 7. さらに、前記印刷ジョブ状態管理手段を参照して前記印刷ジョブ記憶手段に格納されている印刷ジョブに設定された印刷処理資源を削除する印刷処理資源削除手段を有することを特徴とする請求項1ないし請求項8のいずれか1項に記載の印刷処理装置。  2. A print processing resource deleting unit that deletes a print processing resource set in a print job stored in the print job storage unit with reference to the print job status management unit. The print processing apparatus according to claim 8. ネットワークを介して受信した印刷ジョブを保持して印刷ジョブを管理する印刷処理方法において、印刷ジョブの内容とともに必要に応じて該印刷ジョブの内容を解釈して得られた統計情報が設定される印刷ジョブ状態及び該印刷ジョブの内容を変換処理する実行モジュールである印刷処理資源を印刷ジョブ記憶手段に格納し、該印刷ジョブの印刷ジョブ状態を印刷ジョブ状態管理手段により管理しており、少なくとも印刷ジョブの前記印刷ジョブ状態を参照して前記プリンタにおける当該印刷ジョブの印刷処理時間を印刷処理時間予測手段で予測し、印刷待ち時間を予測するとともに該印刷待ち時間と予測された前記印刷処理時間の長短を比較して印刷ジョブの内容の変換が可能か否かを印刷ジョブ内容変換判断手段で判断し、印刷ジョブの内容の変換が可能と判断された場合に当該印刷ジョブとともに前記印刷ジョブ記憶手段に保持されている前記印刷処理資源を用いて印刷ジョブの内容の変換を印刷ジョブ処理手段で行い、前記印刷ジョブ処理手段による変換後の印刷ジョブの内容を前記印刷ジョブ状態に反映させることを特徴とする印刷処理方法。  In a print processing method for managing print jobs by holding print jobs received via a network, printing in which statistical information obtained by interpreting the print job contents as necessary is set A print processing resource, which is an execution module for converting the job status and the contents of the print job, is stored in the print job storage means, and the print job status of the print job is managed by the print job status management means. The print processing time of the print job in the printer is predicted by the print processing time prediction unit with reference to the print job status of the printer, the print waiting time is predicted, and the print waiting time is predicted to be short or long. The print job content conversion determination means determines whether the print job content can be converted by comparing the When it is determined that the content conversion is possible, the print job processing unit converts the print job content using the print processing resource held in the print job storage unit together with the print job, and the print job processing unit A print processing method characterized in that the contents of a print job converted by the means are reflected in the print job status. 前記印刷ジョブを前記ネットワークに接続された他の装置において変換処理する場合の印刷処理時間についても前記印刷ジョブ状態に基づいて予測し、他の印刷処理装置で印刷ジョブの内容の変換が可能か否かについても判断することにより、前記印刷ジョブ処理手段によって変換するか、前記他の印刷処理装置によって変換するかを判断し、前記他の印刷処理装置によって変換すると判断された場合に当該印刷ジョブを他の印刷処理装置へ転送することを特徴とする請求項10に記載の印刷処理方法。  The print processing time when the print job is converted in another device connected to the network is also predicted based on the print job status, and whether or not the content of the print job can be converted in another print processing device. By determining whether to convert by the print job processing means or the other print processing apparatus, and when it is determined to convert by the other print processing apparatus, the print job is The print processing method according to claim 10, wherein the print processing method is transferred to another print processing apparatus. 前記印刷ジョブ状態及び予測した前記印刷処理時間を含む前記印刷ジョブを管理するための印刷ジョブ管理情報を前記他の装置に対して公開することを特徴とする請求項11に記載の印刷処理方法。  The print processing method according to claim 11, wherein print job management information for managing the print job including the print job status and the predicted print processing time is disclosed to the other apparatus. 前記他の装置が公開している印刷ジョブ管理情報を参照し、参照した該印刷ジョブ管理情報に基づいて前記印刷ジョブ管理情報を更新することを特徴とする請求項12に記載の印刷処理方法。  13. The print processing method according to claim 12, wherein the print job management information published by the other apparatus is referred to, and the print job management information is updated based on the referred print job management information. 前記他の装置が前記印刷ジョブの内容を変換処理する印刷処理資源を該印刷ジョブに対して設定し、前記印刷ジョブを前記他の装置へ送信することを特徴とする請求項11ないし請求項13のいずれか1項に記載の印刷処理方法。  14. The print processing resource for converting the content of the print job by the other device is set for the print job, and the print job is transmitted to the other device. The print processing method according to any one of the above. 前記他の装置が保持している印刷ジョブを受信し、該印刷ジョブから該印刷ジョブを変換処理するための印刷処理資源を取得することを特徴とする請求項11ないし請求項14のいずれか1項に記載の印刷処理方法。  15. The print processing resource for receiving the print job held by the other apparatus and acquiring the print processing resource for converting the print job from the print job. The print processing method according to item. 取得した印刷処理資源を用いて前記印刷ジョブを変換処理することを特徴とする請求項15に記載の印刷処理方法。  The print processing method according to claim 15, wherein the print job is converted using the acquired print processing resource. 前記印刷ジョブに設定されている印刷処理資源が不要になったときに、該印刷処理資源を削除することを特徴とする請求項14ないし請求項16のいずれか1項に記載の印刷処理方法。  The print processing method according to any one of claims 14 to 16, wherein when a print processing resource set in the print job becomes unnecessary, the print processing resource is deleted.
JP2000182352A 2000-06-16 2000-06-16 Print processing apparatus and print processing method Expired - Fee Related JP3897083B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000182352A JP3897083B2 (en) 2000-06-16 2000-06-16 Print processing apparatus and print processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000182352A JP3897083B2 (en) 2000-06-16 2000-06-16 Print processing apparatus and print processing method

Publications (2)

Publication Number Publication Date
JP2002007085A JP2002007085A (en) 2002-01-11
JP3897083B2 true JP3897083B2 (en) 2007-03-22

Family

ID=18683133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000182352A Expired - Fee Related JP3897083B2 (en) 2000-06-16 2000-06-16 Print processing apparatus and print processing method

Country Status (1)

Country Link
JP (1) JP3897083B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263409A (en) * 2002-03-08 2003-09-19 Ricoh Co Ltd Data processing system and data processing program
US20070091346A1 (en) * 2005-10-25 2007-04-26 Kabushiki Kaisha Toshiba Network print system
US7797189B2 (en) * 2007-10-09 2010-09-14 Xerox Corporation System and method of forecasting print job related demand

Also Published As

Publication number Publication date
JP2002007085A (en) 2002-01-11

Similar Documents

Publication Publication Date Title
US8908207B2 (en) Print server, print control system and print control method having a raster image processor (RIP) function
JP5618773B2 (en) Image forming system, image forming apparatus, and method in image forming apparatus
CN100356312C (en) Electronic document management program and electronic document management apparatus
US8711390B2 (en) Method and apparatus for executing load distributed printing
JP2000039972A (en) Print system and printer and print server
JP2019040528A (en) Server device and control method thereof, program, and printing system
JP5097796B2 (en) Image forming apparatus
JP4109821B2 (en) Information processing apparatus and job processing result confirmation method
JP4543945B2 (en) Printing system, control method therefor, and print management program
JP2006209309A (en) Print system
US6883038B2 (en) Print device and method of acquiring print data with a data link or network
JP2003256166A (en) Print command generation device and method, printer, its control method and print system
US8665460B2 (en) Print system, printing apparatus, printing method and printing program
US20120140273A1 (en) Image forming apparatus, image processing system, and image processing method
JP6190207B2 (en) System, information processing method, processing apparatus, processing method, and program
JP3591251B2 (en) Printer control method and apparatus
US20030226464A1 (en) Method to keep copies of device queued jobs in the network queue until print delivery is guaranteed
JP3897083B2 (en) Print processing apparatus and print processing method
JP2015108857A (en) System, control method thereof, information processor, control method thereof, and program
JP5244770B2 (en) Image forming apparatus
JP3384223B2 (en) Print processing system
JP4481051B2 (en) Image forming apparatus system
JP2004220098A (en) Image forming apparatus capable of reusing data being target of image formation and its processing condition
JP5087525B2 (en) Image forming system
JP4035304B2 (en) Digital information output system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061212

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140105

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees