JP4459385B2 - Printing device - Google Patents

Printing device Download PDF

Info

Publication number
JP4459385B2
JP4459385B2 JP2000158577A JP2000158577A JP4459385B2 JP 4459385 B2 JP4459385 B2 JP 4459385B2 JP 2000158577 A JP2000158577 A JP 2000158577A JP 2000158577 A JP2000158577 A JP 2000158577A JP 4459385 B2 JP4459385 B2 JP 4459385B2
Authority
JP
Japan
Prior art keywords
print data
data
port
print
size
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
JP2000158577A
Other languages
Japanese (ja)
Other versions
JP2001334731A (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.)
Seiko Instruments Inc
Original Assignee
Seiko Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Instruments Inc filed Critical Seiko Instruments Inc
Priority to JP2000158577A priority Critical patent/JP4459385B2/en
Publication of JP2001334731A publication Critical patent/JP2001334731A/en
Application granted granted Critical
Publication of JP4459385B2 publication Critical patent/JP4459385B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ネットワークプリンタなど複数のホストコンピュータから複数の印刷データを並行して受信可能な印刷装置に適用して有用な技術に関する。
【0002】
【従来の技術】
LAN(ローカル・エリア・ネットワーク)接続されるプリンタ(ネットワークプリンタと云う)など、複数のホストコンピュータから印刷データを並行して受信し、これら印刷データを一旦受信バッファ等に蓄えた後、1個ずつ印刷処理に移行していく印刷装置は公知である。
【0003】
従来、上記のような印刷装置においては、複数の印刷データを並行して受信した場合、これらの印刷データは受信順に印刷処理に移行されるのが一般である。
【0004】
【発明が解決しようとする課題】
しかしながら、上記のように受信順に印刷処理に移行する従来の印刷処理方式では、例えば図10に示すように、大きなサイズの印刷データが受信されたすぐ後に、小サイズの印刷データが受信された場合、小サイズの印刷データは、大サイズの印刷データが受信を完了しデータ解析と印刷処理が完了するのを待ってから、データ解析と印刷処理へと移行される。
【0005】
小さいサイズの印刷データであれば、大サイズの印刷データの受信中に、データ解析から印刷処理まで行ってしまえるが、従来の方式では大きいサイズの印刷データが僅かにでも早く受信された場合には、後回しで処理されるため、無駄な待ち時間が発生してオフィス全体としての作業効率を低下させていた。
【0006】
この発明の目的は、複数の印刷データが並行して入力された場合に、データ解析や印刷処理へ移行する優先順序を適宜決定してやることで、無駄な待ち時間を少なくし作業効率の向上を図れる印刷装置を提供することにある。
【0007】
【課題を解決するための手段】
本発明の印刷装置は、上記目的を達成するため、印刷データが入力される複数のポート手段を有し複数の印刷データを並行して受信可能な受信手段と、印刷データを印刷処理に移行させる前に一旦蓄積する記憶装置と、上記複数のポート手段の優先順位を決定するとともに、複数のポート手段に並行してそれぞれ印刷データが受信された場合に優先順位の高いポート手段の印刷データから優先的に印刷処理へ移行させる印刷制御手段とを備え、上記印刷制御手段は、各ポート手段に入力された印刷データのデータサイズを判定し、データサイズに基づいて上記ポート手段の優先順位を決定するように構成する。
【0008】
このような手段によれば、並行して複数の印刷データが受信された場合にこれら印刷データを印刷処理にかける優先順位が、従来のように受信順ではなく、印刷データのデータサイズに基づいて決定するので、例えば、小サイズの印刷データと大サイズの印刷データとが並行して受信された場合に、小サイズの印刷データを優先させて、大サイズの印刷データの受信中に印刷処理を行ってしまうなど、作業効率の向上を図ることが出来る。
【0009】
望ましくは、入力された印刷データのデータサイズに関するサイズ情報を格納する格納手段を各ポート手段毎に設け、上記印刷制御手段は上記格納手段に格納されたサイズ情報に基づいて上記優先順位を決定するように構成する。なお、上記サイズ情報は、実際のデータサイズを示したデータでも良いし、100Kbyte以上とか200Kbyte以上とか、おおよそのデータサイズを示すデータでも良い。
【0010】
具体的には、上記格納手段には、過去に入力された印刷データを含めて認識し得る最新の印刷データのサイズ情報が各ポート手段毎に格納されるようにしておき、上記印刷制御手段は、新たな印刷データが任意のポート手段に入力された場合に、該ポート手段のサイズ情報と優先順位が該ポート手段の優先順位に連続する他のポート手段のサイズ情報とを各々比較して、比較したポート手段の優先順位を上記サイズ情報に示されるデータサイズの小さい順に入れ替えていく優先順位更新処理を行うように構成すると良い。
【0011】
入力される印刷データのデータサイズが認識できるタイミングは、その言語フォーマットにより、受信開始直後、受信半ば、受信終了間際と一定でなく、また、各ポート手段に印刷データが送られてくるタイミングもばらばらであるため、受信中の印刷データ同士のデータサイズを比較していたのでは、例えば、小サイズの印刷データと大サイズの印刷データとがほぼ同時に受信開始された場合でも、小サイズの印刷データの受信が完了し大サイズの印刷データの受信終了時まで待ってデータサイズの比較を行い印刷処理に移行するなど、その比較タイミングや各印刷データを印刷処理へ移行させるタイミングが取り難くなり、本発明の目的達成があやうくなる場合も考えられる。
【0012】
そこで、上記構成のように、新たに印刷データが入力されたポート手段については該印刷データのデータサイズに基づき、それ以外のポート手段については過去最新の印刷データのデータサイズに基づき、これらを比較してポート手段の優先順位を更新するので、データサイズの比較タイミングや印刷処理への移行タイミングが取り易くなる。また、過去の印刷データとの比較で優先順位の更新を行っても、印刷処理へ移行させる印刷データを決定する際には、現在印刷データが入力されているポート手段の優先順位だけが関係するので、入力された印刷データを適宜な順序で印刷処理へ移行させることが出来る。
【0013】
更に、各ポート手段に受信される印刷データのサイズに一定の傾向がある場合には、過去に入力された印刷データのサイズ比較により過去の傾向に適宜従った優先順位の入れ替えが可能である。
【0014】
また、上記の優先順位更新処理では、優先順位が連続する他のポート手段間(1個に限られず複数個でも良い)で優先順位を入れえるだけで、全てのポート手段の間で優先順位の入れ替えを行うわけではないので、優先順位の適度な変更が可能である。優先順位の過度の変更は、例えば大サイズの印刷データの入力とともに、それより少しばかり小さいサイズの印刷データがいろんなポート手段から連続して入力された場合に、大サイズの印刷データが不適切に待たされてしまうといった不都合を生じる可能性があるが、上記適度な変更によりこのような不都合を回避できる。
【0015】
具体的には、上記優先順位更新処理は、新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が1つ低いポート手段のサイズ情報とを比較してこれらポート手段の優先順位をデータサイズの小さい順に入れ替えるステップと、該ステップで優先順位の入れ替えがなかった場合に上記新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が1つ高いポート手段のサイズ情報とを比較してこれらポート手段の優先順位をデータサイズの小さい順に入れ替えるステップとを有するように構成すると良い。
【0016】
また、ポート手段の数が多い場合や、過去のデータサイズより現在に近いデータサイズの影響を大きくしたい場合には、1回の更新処理で優先順位の続く2〜5個など多数のポート手段の比較を行って、これらポート手段間で優先順位の入れ替えを行うようにしても良い。
【0017】
また、本発明は、複数種類のフォーマット言語に対応して各フォーマット言語により作成された印刷データを解析して印刷処理可能なデータに変換可能な解析手段を備え、上記複数のポート手段はそれぞれ所定のフォーマット言語の印刷データが入力されるように対応されている印刷装置に対して特に有効である。
【0018】
すなわち、フォーマット言語と印刷データのサイズとにはある程度の相関があるため、各ポート手段に入力される印刷データのサイズにも一定の傾向が生じることとなり、上記過去の印刷データのデータサイズとの比較により適切な優先順位の更新ができる。
【0019】
【発明の実施の形態】
以下、本発明の好適な実施例を図面に基づいて説明する。
【0020】
図1は、本発明の実施例である印刷装置1のハード的な構成を示すブロック図、図2はこの印刷装置1の機能構成を示す機能ブロック図である。
【0021】
この実施例の印刷装置1は、図1に示すように、この装置の全体的な制御を行うCPU10と、ホストコンピュータ2から送られてきた印刷データが一時的に蓄えられるハードディスク装置や半導体メモリなどからなるスプール用の記憶装置11と、ユーザーにより操作可能な入力キーや操作内容を表示する表示部が設けられた操作パネル12と、CPU10により実行される制御用プログラムや制御用データが記憶されたプログラムROM13と、ネットワーク4を介して接続された複数のホストコンピュータ2との間でデータの送受信を行うホストインターフェース14と、供給された印刷データに従って印刷処理を行う印刷手段としてのプリンタエンジン16と、該プリンタエンジン16に印刷データを転送するためのエンジンインターフェース15などから構成される。
【0022】
ホストインターフェース14は、例えばパケット通信などにより複数のホストコンピュータ2…と並行してデータ通信が可能なものである。
【0023】
CPU10は、内部にRAMを備えたプロセッサであり、該RAMを作業スペースとして上記プログラムROM13に記憶された制御用プログラムや制御用データに従って、複数の機能モジュールを実現する。かかる機能モジュールとしては、図2に示すように、ホストインターフェース14を介して受信されるデータを内部に取り込む受信手段としてのインターフェース部102、印刷データの言語解析を行いプリンタエンジン16が処理可能なデータ(例えばラスタデータ)に変換してエンジンインターフェース15に出力する解析手段としての言語解析ブロック103、ホストコンピュータ2から送られてくる印刷データを記憶装置11に蓄積すると共にこの蓄積された印刷データの管理を行うスプール部104、上記の各機能モジュールを統括的に制御する印刷制御手段としてのメインコントロール部101などがある。これら複数の機能モジュールは、CPU10による制御用プログラムの並列処理により同時に並行して動作可能であり、各機能モジュール間では更にRAMを介したデータのやり取りが可能になっている。
【0024】
言語解析ブロック103は、例えば、所定の描画コマンドと描画パラメータから構成されるベクタデータのような言語フォーマットや、印刷ドット毎に色や階調度を示すラスタデータのような言語フォーマット、並びに、これらベクタデータとラスタデータが混在した言語フォーマットなど、複数種の言語フォーマットに対応することができるように構成されている。
【0025】
インターフェース部102は、ポート手段として複数の論理ポート(例えばポート▲1▼〜ポート▲8▼)を備え、これら論理ポートがそれぞれ独立してデータ受信できるように構成されている。すなわち、ネットワーク4に接続されたホストコンピュータ2…からはこれら各論理ポートを介してそれぞれ並行して印刷データの入力が行えるようになっている。
【0026】
図3には、入力された印刷データをインターフェース部102の各論理ポートに割り当てる方式を説明する第1実施例の説明図を示す。
【0027】
この第1実施例においては、各論理ポートへの印刷データの割り当ては、印刷データの入力順すなわち印刷データの受信開始時刻の早い順に、空いている論理ポートのうち番号の若い方から印刷データを割り当てていくといった方式で行われる。例えば、あるホストコンピュータ2から印刷データDATA1(図3)が送信され、この送信中に別のホストコンピュータ2から別の印刷データDATA2が送信された場合、1番目に入力された印刷データDATA1はポート▲1▼に受信され、2番目に入力された印刷データDATA2はポート▲2▼に受信される。
【0028】
全ての論理ポートがデータ受信でふさがっている場合には、何れかの論理ポートのデータ受信が完了するまで、新たな印刷データは受けつけずホストコンピュータの送信待機状態となる。
【0029】
この第1実施例の方式においては、各論理ポートに入力される印刷データのデータサイズに一定の傾向が生じることはなく、入力される印刷データ毎にそのデータサイズはばらばらなものとなる。
【0030】
この実施例では、印刷データの受信開始の際には、受信開始と受信した論理ポートの番号とを示す情報がインターフェース部102からメインコントロール部101に渡される。また、受信中、印刷データのデータサイズが分かった時点で、該データサイズを示すサイズ情報がメインコントロール部101に渡される。印刷データのデータサイズが分かるタイミングは、各言語フォーマットにより異なり、例えば、印刷データのヘッダー部にデータサイズが記録されている言語フォーマットであれば受信直後に分かるが、データサイズの記録がない言語であれば、受信半ばや受信完了間際に分かる。
【0031】
また、印刷データの受信完了時には、受信完了と受信完了した論理ポートの番号とを示す情報がインターフェース部102からメインコントロール部101に渡される。また、受信した印刷データはメインコントロール部の指示に従ってスプール部104により記憶装置11に格納されていく。
【0032】
メインコントロール部101は、詳細は後述するが、受信した印刷データを記憶装置11に格納する際に、各印刷データに印刷処理の順番を示す印刷順序を設定して、スプール管理情報としてスプール部104に渡す。また、インターフェース部102に複数の印刷データが並行して受信されている場合には、受信順ではなく各論理ポートに設定されている優先順位の高い順に印刷処理が行われるように、各印刷データに上記印刷順番情報を設定してスプール部に渡す。これら各論理ポートに設定される優先順位は、メインコントロール部101により受信した印刷データのデータサイズに基づき決定され、印刷データを受信されるたびに更新されていくようになっている。
【0033】
そして、スプール部104に印刷データが格納され、且つ、言語解析ブロック103が解析処理可能な状態になると、メインコントロール部101からスプール部104に次の印刷データを言語解析ブロックに供給するよう指示が与えられる。すると、スプール部104が記憶装置11に格納されている印刷データの中から印刷順序情報に基づき印刷順序の最も早いものを検索して、該当の印刷データを読み出して言語解析ブロック103に供給していく。そして、言語解析ブロック103に供給された印刷データは印刷処理可能なデータ(例えばラスタデータ)に変換されてプリンタエンジン16に供給され、印刷処理が行われていく。
【0034】
図6には、入力された印刷データをインターフェース部102の各論理ポートに割り当てる方式を説明する第2実施例の説明図を示す。
【0035】
この第2実施例においては、CPU10にはフラッシュROM等の不揮発性メモリが備わり、該不揮発性メモリの中には、後述する論理ポートの優先順位を表す第2実施例のデータテーブル101b(図6,図7)が構成されるようになっている。
【0036】
この第2実施例の方式は、予め各論理ポートを印刷データの言語フォーマットの何れかに対応付けておき、ある言語フォーマットの印刷データが入力された場合には該言語フォーマットに対応した論理ポートに印刷データが受信されるようにしたものである。例えば、図6に示すように、ポート▲1▼〜▲3▼は言語フォーマットa、ポート▲4▼〜▲6▼は言語フォーマットb、ポート▲7▼,▲8▼は言語フォーマットcと予め設定しておく。そして、あるホストコンピュータ2から言語フォーマットbの印刷データDATA1が送信され、この送信中に別のホストコンピュータ2から言語フォーマットaの印刷データDATA2が送信された場合には、始めの印刷データDATA1はこの言語フォーマットbに対応するポート▲4▼に受信され、2番目の印刷データDATA2はこの言語フォーマットaに対応するポート▲1▼に受信される。
【0037】
同じ言語フォーマットの印刷データが続いて入力された場合には、該言語フォーマットに対応付けられた複数の論理ポートのうち、空いている論理ポートの番号の若い方から印刷データを割り当てていき、すべての論理ポートがふさがった場合には印刷要求元のホストコンピュータは送信待機状態にされる。
【0038】
この第2実施例の方式においては、各論理ポートに入力される印刷データはその言語フォーマットが固定されているため、そのデータサイズも各論理ポートごとに一定の傾向が生じることになる。
【0039】
この第2の実施例における印刷処理は第1実施例と同様の制御で実行される。
【0040】
次に、図3に示す第1実施例と図6に示す第2実施例の場合にわけて、メインコントロール部101が各論理ポートの優先順位を決定し更新する処理手順、各印刷データに印刷順序を設定していく処理手順について詳細に説明する。
[第1実施例]
第1実施例は、先に説明したように、印刷データを空いている論理ポートの中からポート番号が一番若い論理ポートに割り当てて受信させる方式のものである。
【0041】
この第1実施例においては、各論理ポートに受信される印刷データのデータサイズには一定の傾向が生じないので、現在受信している印刷データのデータサイズのみに基づいて論理ポートの優先順位を決定していく。
【0042】
図4には、この実施例で各ポートの優先順位を決定するために使用されるデータテーブルの一例を、図5には、メインコントロール部101により実行される上記データテーブルの更新処理のフローチャートを示す。
【0043】
論理ポートの優先順位の決定には、RAMに設けられた格納手段としてのデータテーブル101aが使用される。このデータテーブル101aには、図4に示すように、優先順位順に、ポート番号と、現在論理ポートで受信中の印刷データのデータサイズを示すサイズ情報とが、それぞれ対応付けられて格納される。現在受信していない論理ポートのデータについては、例えばデータテーブル101aから削除される。
【0044】
データテーブル101aの更新処理は、図5に示すフローチャートの手順でメインコントロール部101により行われる。即ち、ステップS1において新しく入力された印刷データのサイズ情報がインターフェース部102から通知されたか判別し、通知されていればステップS2,S3の更新処理に移行するが、通知されていなければステップS4にジャンプする。
【0045】
ステップS4では、受信中の印刷データの受信完了の通知がインターフェース部102からあったか判別し、通知があればステップS5,S6の更新処理に移行するが、通知されていなければステップS1に戻って、これらの判別処理を繰り返す。
【0046】
その結果、新たな印刷データのサイズ情報の通知があってステップS2に移行すると、新たな印刷データを受信したポート番号とその印刷データのサイズ情報をデータテーブル101aの空いている行に書き込む。そして、ステップS3でこのデータテーブル101aの全ての行を対象に、サイズ情報が小さい順になるように行を並べ換えるソート処理を行う。なお、ポート番号やサイズ情報が入力されてない行は下位に下げる。
【0047】
つまり、上記ステップS2,S3のデータ処理によって、印刷データの受信が複数ある場合にこれらを受信している論理ポートの優先順位が印刷データサイズの小さい順に設定されることとなる。
【0048】
一方、印刷データの受信完了の通知があってステップS5に移行すると、受信完了した論理ポートのポート番号とサイズ情報とをデータテーブル101aから削除し、次いでステップS6でその行を詰める処理を行う。そして、ステップS1の判別処理に戻る。
【0049】
しかして、データテーブル101aに現在受信中である受信ポートのポート番号が優先度順に並べられる。
【0050】
次に、メインコントロール部101により行われる印刷データの印刷順序の設定処理について説明する。
【0051】
メインコントロール部101は、印刷データの受信完了時にデータテーブル101aの優先順位に従って該印刷データの印刷順序を決定し、その印刷順序情報をスプール管理情報としてスプール部104に渡していく。
【0052】
具体的には、図に示すように、3つの印刷データを並行して受信し、その中のポート『1』の受信が完了したとすると、これら3つの印刷データに対して各論理ポートの優先順位に従い通し番号で印刷順序を設定する。この通し番号は例えば電源投入時やリセット時から連続するものであり、現時点で100番目の印刷データだとすれば、ポート『2』の印刷データに100番、ポート『1』の受信完了した印刷データに101番、ポート『3』の印刷データに102番の印刷順序をそれぞれ設定する。
【0053】
これらの印刷順序のうち、受信を完了したポート『1』の印刷データの101番については確定であるが、まだ受信中のポート『2』とポート『3』の印刷データの100番と102番については確定でない。そして、このまま新たに印刷データの受信もなく、ポート『2』とポート『3』の受信が完了すれば、上記の印刷順序がそのまま確定となる。
【0054】
一方、ポート『2』やポート『3』の受信中に新たな印刷データの受信が開始され、このサイズ情報がメインコントロール部101に通知されると、このサイズ情報に基づいてデータテーブル101aの更新処理が行われる。例えば、図4のデータテーブルで2行目の印刷データの受信が完了した後、新たにポート『1』に10kbyteの印刷データが受信されたとすれば、優先順位はポート『1』が「順位1」、ポート『2』が「順位2」、ポート『3』が「順位3」へと更新される。
【0055】
そして、この状態で何れかの印刷データの受信が完了されたときには、まだ使用されてない通し番号によりこれら印刷データの印刷順序をそれぞれ設定していく。例えばポート▲2▼の印刷データの受信が完了された場合には、先ほどの印刷データで101番を使用しているため、まだ使用していない通し番号の100番、102番、103番を使用して、ポート▲1▼の印刷データに100番、ポート▲2▼の受信完了した印刷データに102番、ポート▲3▼の印刷データに103番の印刷順序をそれぞれ設定していく。そして、受信完了したポート▲2▼の印刷データの102番が確定される。以降は同様の処理を繰り返して、受信完了の印刷データの印刷順序を設定していく。
【0056】
その後は、スプール部104が上記印刷順序に従って印刷データを1個ずつ読み出して言語解析ブロック103に供給していくことで、各印刷データが順番にの印刷処理に移行される。
[第2実施例]
第2実施例は、各論理ポートが所定の言語フォーマットに対応付けられ、入力された印刷データがその言語フォーマットに対応した論理ポートに割り当てられて受信されていく方式のものである。
【0057】
この第2実施例においては、各論理ポートに受信される印刷データサイズには一定の傾向が生じるので、現在受信中の印刷データだけでなく過去に受信した印刷データのデータサイズ情報も使用して論理ポートの優先順位を決定していく。
【0058】
図7には、この実施例で各ポートの優先順位を決定するために使用されるデータテーブルの一例を、図8には、メインコントロール部101により実行される優先順位更新処理としてのデータテーブルの更新処理のフローチャートを示す。
【0059】
この実施例においても、論理ポートの優先順位の決定に格納手段としてのデータテーブル101bを使用する。このデータテーブル101bには過去に受信した最新の印刷データについての情報も格納しておくので、不揮発性メモリ内に設け、電源を切ってもデータが消えないようにしておく。
【0060】
このデータテーブル101bには、図7に示すように、優先順位順に、ポート番号と、該論理ポートで現在に最も近い時点に受信した印刷データのデータサイズを示すサイズ情報とが、それぞれ対応付けられて格納される。
【0061】
この実施例のデータテーブル101bの更新処理は、図8のフローチャートに示す手順で行われる。すなわち、ステップS11において、新しく入力された印刷データのサイズ情報がインターフェース部101から通知されたかを判別し、通知されたらステップS12移行の更新処理に移行するが、通知がなければこのステップS101の処理を繰り返し行う。
【0062】
その結果、ステップS12に移行したら、該ステップで該当するポート番号のサイズ情報を新たに通知されたものに書き換える。これによりデータテーブル101aのサイズ情報が現在に最も近い時点の印刷データのものに更新されていく。
【0063】
次にステップS13において、新たに印刷データの受信があったポート番号の行と、それより順位の1つ低い行とを、データサイズが小さい順になるように並べ替える。
【0064】
次いで、ステップS13で行の並べ替えが行われたか否か判別して、並べ替えが行われていれば、1回の更新処理を終えてステップS11の判別処理に戻るが、並べ替えが行われていなければ、ステップS15に移行して、新たに印刷データの受信があったポート番号の行と、それより順位の1つ高い行とを、データサイズが小さい順になるように並べ替える。そして、1回の更新処理を終えてステップS11の判別処理に戻る。
【0065】
しかして、データテーブル101bに各論理ポートが優先度順に並べられる。上記の優先順位の設定方法によれば、全ての論理ポートがサイズ情報の小さい順に常に並べられるわけではなく、過去から現在にかけて受信した印刷データのデータサイズが小さければその論理ポートは優先順位が高く、データサイズが大きければその論理ポートは優先順位が低くなるように、過去から現在にかけたデータサイズの傾向が各論理ポートの優先順位に反映されるようになっている。
【0066】
なお、ステップS13やステップS15において行われるソート処理の行数を増やすことで、過去のデータサイズの影響を少なく現在のデータサイズの影響を大きくすることができる。
【0067】
その後、メインコントロール部101により行われる印刷順序の設定方法は、第1の実施例のものとほぼ同様である。第2の実施例では現在印刷データを受信していない論理ポートの優先順位もデータテーブル101bに表されているので、これらの論理ポートは除外し、印刷データを受信している論理ポートのみを対象として、優先順位の比較を行い、これら印刷データに印刷順序を設定していく。
【0068】
なお、この実施例においては、印刷データを受信開始してからそのデータサイズを認識するまでの間においても、各論理ポートには過去のデータに基づく優先順位が設定されているので、これら過去のデータに基づく優先順位を用いて各印刷データの印刷順序を設定することも可能である。すなわち、印刷データの受信完了時に印刷順序を設定するのではなく、印刷データの受信開始時や受信半ばなど、該印刷データのデータサイズが認識できてないタイミングにおいて、該印刷データの印刷順序を設定するように構成することもできる。
【0069】
以上のように、第1および第2実施例の印刷装置1によれば、並行して複数の印刷データが受信された場合にこれら印刷データを印刷処理にかける優先順位が、従来のように受信順ではなく、印刷データのデータサイズに基づいて適宜にデータサイズの小さい順に決定されるので、印刷処理の作業効率の向上を図ることが出来る。
【0070】
すなわち、実施例の印刷処理のタイムチャートの一例を表した図9に示すように、大サイズと小サイズの印刷データが並行して入力された場合に、小サイズの印刷データを大サイズの印刷データよりも優先させて印刷処理(言語解析と実印刷処理)に移行させることができ、それにより、大サイズ印刷データの受信中に、小サイズの印刷データを印刷処理してしまうといった作業効率の向上を図ることが出来る。
【0071】
また、第2実施例の印刷装置1によれば、各論理ポート毎に受信データサイズに一定の傾向があることを利用して、過去受信した印刷データのデータサイズを優先順位に反映し、各論理ポートの優先順位が緩やかに入れ替わっていくように構成されているので、過度な優先順位の変化により、優先順位の低い印刷データが不適切に長く待たされてしまうといった不都合が回避可能であるなど、作業効率の向上を図りつつ適切な優先順位で印刷データを印刷処理に移行させることが出来る。
【0072】
以上本発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0073】
例えば、複数のポート手段として、並列処理により複数の印刷データを受信可能なインターフェース部102の複数の論理ポートを例示したが、ハード的なポートを複数設けても良いし、ハード的なポートと実施例の論理ポートとが複数混在しているような構成でも良い。
【0074】
また、上記実施例では、印刷データが入力された際に該印刷データが複数のポートの何れかに割り当てられて受信されるシステム構成として説明したが、予め各ポートと各ホストコンピュータとが対応付けられ、送信された印刷データはそのホストコンピュータに対応するポートに入力されるような構成を有する印刷装置に対しても本発明を適用可能である。
【0075】
また、実施例においては、印刷データがインターフェース部102からスプール部104に格納される際に、各論理ポートの優先順位に従って印刷順序を決定する構成としたが、印刷データを言語解析ブロック103に送って印刷処理に移行させる際に、論理ポートの優先順位に従って何れの印刷データを言語解析ブロック103に送るか決定するように構成することも可能である。
【0076】
さらに、印刷データサイズを比較する際に、ある一定量以上の差がある場合にのみ優先順位を入れ替え、あまり大きな差がないときは受信順とすることも可能である。
【0077】
【発明の効果】
以上説明したように、本発明に従うと、並行して複数の印刷データが受信された場合にこれら印刷データを印刷処理にかける優先順位が、従来のように受信順ではなく、印刷データのデータサイズに基づいて適宜にデータサイズの小さい順に決定されるので、大サイズと小サイズの印刷データが並行して入力された場合に、大きいサイズの印刷データの受信と印刷処理とが完了するのを待ってから、小さいサイズの印刷データが処理されるといった無駄が回避され、大サイズ印刷データの受信中に、小サイズの印刷データを印刷処理するといった作業効率の向上を図ることが出来る。
【0078】
更に、過去の印刷データのサイズ情報を比較対象としたり、1回の優先順位の更新処理で、優先順位が連続する所定個のポート手段のみを入れ替えるようにすることで、優先順位の更新が急激でなく緩やかに変更されていくので、過度な優先順位の変化により、優先順位の低い印刷データが不適切に長く待たされてしまうといった不都合を回避し、作業効率の向上を図りつつ適切な優先順位で印刷データを印刷処理に移行させていくことが出来る。
【図面の簡単な説明】
【図1】本発明の実施例である印刷装置のハード構成を示すブロック図である。
【図2】実施例の印刷装置の機能構成の一例を示す機能ブロック図である。
【図3】印刷装置の各ポートとホストコンピュータとの対応関係の第1実施例を示す説明図である。
【図4】図3の実施例で各ポートの優先順位を決定するためのデータテーブルの一例を示す図である。
【図5】図3の実施例におけるデータテーブルの更新処理の手順を示すフローチャートである。
【図6】印刷装置の各ポートとホストコンピュータとの対応関係の第2実施例を示す説明図である。
【図7】図6の実施例で各ポートの優先順位を決定するためのデータテーブルの一例を示す図である。
【図8】図6の実施例におけるデータテーブルの更新処理の手順を示すフローチャートである。
【図9】実施例の印刷装置において大サイズと小サイズの印刷データが並行して入力された場合の処理の一例を示すタイムチャートである。
【図10】従来の印刷装置において大サイズと小サイズの印刷データが並行して入力された場合の処理の一例を示すタイムチャートである。
【符号の説明】
1 印刷装置
2… ホストコンピュータ
10 CPU
11 スプール用記憶装置
14 ホストインターフェース
16 プリンタエンジン
101 メインコントロール部(印刷制御手段)
101a データテーブル(格納手段)
101b データテーブル(格納手段)
102 インターフェース部(受信手段)
103 言語解析ブロック(解析手段)
104 スプール部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique that is useful when applied to a printing apparatus that can receive a plurality of print data in parallel from a plurality of host computers such as a network printer.
[0002]
[Prior art]
Receive print data from multiple host computers in parallel, such as a printer (called a network printer) connected to a LAN (local area network), and store these print data in a receive buffer etc. one by one Printing apparatuses that shift to a printing process are known.
[0003]
Conventionally, in a printing apparatus as described above, when a plurality of print data are received in parallel, these print data are generally transferred to a print process in the order of reception.
[0004]
[Problems to be solved by the invention]
However, in the conventional print processing method that shifts to print processing in the order of reception as described above, for example, as shown in FIG. 10, when small print data is received immediately after large print data is received. The small-size print data waits for the large-size print data to be received and the data analysis and print processing to be completed, and then proceeds to data analysis and print processing.
[0005]
Small print data can be processed from data analysis to print processing while large print data is being received. However, with the conventional method, when large print data is received as soon as possible. Since this is processed later, useless waiting time is generated and the work efficiency of the entire office is lowered.
[0006]
An object of the present invention is to appropriately determine a priority order for shifting to data analysis and printing processing when a plurality of print data are input in parallel, thereby reducing unnecessary waiting time and improving work efficiency. To provide a printing apparatus.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, the printing apparatus of the present invention has a plurality of port means to which print data is input and has a receiving means capable of receiving a plurality of print data in parallel, and shifts the print data to print processing. Priorities are determined from the storage device once stored in advance and the priority order of the plurality of port means, and when the print data is received in parallel to the plurality of port means, from the print data of the port means having a higher priority order. And a print control unit that shifts to a print process, wherein the print control unit determines the data size of the print data input to each port unit and determines the priority order of the port unit based on the data size. Configure as follows.
[0008]
According to such means, when a plurality of pieces of print data are received in parallel, the priority order in which the print data is subjected to print processing is based on the data size of the print data instead of the reception order as in the prior art. For example, when small-size print data and large-size print data are received in parallel, priority is given to small-size print data, and print processing is performed while large-size print data is being received. It is possible to improve the work efficiency.
[0009]
Preferably, storage means for storing size information relating to the data size of the input print data is provided for each port means, and the print control means determines the priority order based on the size information stored in the storage means. Configure as follows. The size information may be data indicating an actual data size, or data indicating an approximate data size, such as 100 Kbytes or more, 200 Kbytes or more.
[0010]
Specifically, the storage means stores the size information of the latest print data that can be recognized including print data input in the past for each port means, and the print control means When new print data is input to an arbitrary port means, the size information of the port means is compared with the size information of other port means whose priority is continuous with the priority order of the port means, It is preferable to perform a priority update process in which the priorities of the port means compared are switched in ascending order of the data size indicated in the size information.
[0011]
The timing at which the data size of the input print data can be recognized is not constant immediately after the start of reception, in the middle of reception, and just before the end of reception, depending on the language format, and the timing at which the print data is sent to each port means varies. Therefore, if the data sizes of the print data being received are compared, for example, even when the reception of the small print data and the large print data is started almost simultaneously, the small print data After completing the reception of the print data and waiting for the end of the reception of the large size print data, the comparison of the data size and the shift to the print processing are difficult. There may be cases where the achievement of the object of the invention becomes difficult.
[0012]
Therefore, as described above, the port means to which print data is newly input is compared based on the data size of the print data, and the other port means is compared based on the data size of the latest print data in the past. Thus, since the priority order of the port means is updated, it becomes easy to take the timing for comparing the data size and the timing for shifting to the printing process. Even if the priority order is updated by comparison with past print data, only the priority order of the port means to which the print data is currently input is relevant when determining the print data to be transferred to the print processing. Therefore, the input print data can be transferred to the printing process in an appropriate order.
[0013]
Further, when there is a certain tendency in the size of the print data received by each port means, it is possible to change the priority according to the past tendency as appropriate by comparing the sizes of the print data input in the past.
[0014]
Further, in the above priority update processing, the priority can be set among all the port means only by setting the priority between the other port means having continuous priorities (not limited to one but may be plural). Since it is not replaced, it is possible to change the priority order appropriately. An excessive change in the priority order may result in inappropriate printing of large print data when, for example, print data of a slightly smaller size is input continuously from various port means when large print data is input. Although there is a possibility of causing inconvenience such as waiting, such inconvenience can be avoided by the above-mentioned appropriate change.
[0015]
Specifically, the priority order update process compares the size information of the port means that has been newly input with the size information of the port means that has one lower priority than the port means, and the priority order of these port means. Are switched in ascending order of data size, the size information of the port means newly input when the priority is not changed in the step, and the size information of the port means having a priority higher by one than the port means. And a step of switching the priority of these port means in ascending order of data size.
[0016]
In addition, when there are a large number of port means or when it is desired to increase the influence of the data size closer to the present than the past data size, a large number of port means such as 2 to 5 which continue with the priority in one update process. A comparison may be made to switch the priority order between these port means.
[0017]
Further, the present invention includes an analysis unit capable of analyzing print data created in each format language corresponding to a plurality of types of format languages and converting the print data into data that can be processed by printing. This is particularly effective for a printing apparatus that is adapted to receive print data in the format language.
[0018]
That is, since there is a certain degree of correlation between the format language and the size of the print data, a certain tendency also occurs in the size of the print data input to each port means. An appropriate priority order can be updated by comparison.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described below with reference to the drawings.
[0020]
FIG. 1 is a block diagram illustrating a hardware configuration of a printing apparatus 1 according to an embodiment of the present invention, and FIG. 2 is a functional block diagram illustrating a functional configuration of the printing apparatus 1.
[0021]
As shown in FIG. 1, a printing apparatus 1 according to this embodiment includes a CPU 10 that performs overall control of the apparatus, a hard disk device that stores print data sent from a host computer 2, and a semiconductor memory. A storage device 11 for spools, an operation panel 12 provided with an input key operable by a user and a display unit for displaying operation details, and a control program and control data executed by the CPU 10 are stored. A host interface 14 for transmitting and receiving data between the program ROM 13 and a plurality of host computers 2 connected via the network 4; a printer engine 16 as printing means for performing printing processing in accordance with the supplied print data; An engine interface for transferring print data to the printer engine 16 And the like face 15.
[0022]
The host interface 14 is capable of data communication in parallel with a plurality of host computers 2 through packet communication, for example.
[0023]
The CPU 10 is a processor having a RAM therein, and implements a plurality of functional modules according to the control program and control data stored in the program ROM 13 using the RAM as a work space. As such a functional module, as shown in FIG. 2, an interface unit 102 serving as a receiving unit that takes in data received via the host interface 14, data that can be processed by the printer engine 16 by performing language analysis of print data Language analysis block 103 as analysis means for converting into (for example, raster data) and outputting to engine interface 15, print data sent from host computer 2 is stored in storage device 11 and management of the stored print data And a main control unit 101 serving as a print control unit that performs overall control of each functional module. The plurality of functional modules can operate simultaneously in parallel by the parallel processing of the control program by the CPU 10, and data can be exchanged between the functional modules via the RAM.
[0024]
The language analysis block 103 includes, for example, a language format such as vector data composed of predetermined drawing commands and drawing parameters, a language format such as raster data indicating color and gradation for each print dot, and these vectors. It is configured to be compatible with a plurality of types of language formats such as a language format in which data and raster data are mixed.
[0025]
The interface unit 102 includes a plurality of logical ports (for example, port (1) to port (8)) as port means, and these logical ports can receive data independently of each other. That is, print data can be input in parallel from the host computers 2... Connected to the network 4 via these logical ports.
[0026]
FIG. 3 is an explanatory diagram of the first embodiment for explaining a method for allocating input print data to each logical port of the interface unit 102.
[0027]
In the first embodiment, the print data is assigned to each logical port in the order of input of print data, that is, in order of early reception start time of print data, the print data is assigned from the lowest numbered logical port. It is done by a method of assigning. For example, when print data DATA1 (FIG. 3) is transmitted from a certain host computer 2, and another print data DATA2 is transmitted from another host computer 2 during this transmission, the first input print data DATA1 is a port. The print data DATA2 received at (1) and second input is received at port (2).
[0028]
If all logical ports are occupied by data reception, no new print data is accepted until the data reception of any logical port is completed, and the host computer enters a transmission standby state.
[0029]
In the system of the first embodiment, the data size of the print data input to each logical port does not tend to be constant, and the data size varies for each input print data.
[0030]
In this embodiment, when print data reception starts, information indicating the reception start and the received logical port number is passed from the interface unit 102 to the main control unit 101. During reception, when the data size of the print data is known, size information indicating the data size is passed to the main control unit 101. The timing at which the data size of the print data is known differs depending on the language format.For example, in a language format in which the data size is recorded in the header portion of the print data, it can be known immediately after reception, but in a language in which the data size is not recorded. If there is, it can be recognized in the middle of reception or just before reception is completed.
[0031]
Further, when reception of print data is completed, information indicating the completion of reception and the number of the logical port that has been received is passed from the interface unit 102 to the main control unit 101. The received print data is stored in the storage device 11 by the spool unit 104 in accordance with an instruction from the main control unit.
[0032]
As will be described in detail later, the main control unit 101 sets a print order indicating the order of print processing for each print data when storing the received print data in the storage device 11, and sets the print unit 104 as spool management information. To pass. Further, when a plurality of print data are received in parallel by the interface unit 102, each print data is processed so that print processing is performed in the order of higher priority set in each logical port instead of the reception order. The above print order information is set to the spool section. The priority order set for each logical port is determined based on the data size of the print data received by the main control unit 101, and is updated each time print data is received.
[0033]
When the print data is stored in the spool unit 104 and the language analysis block 103 is ready for analysis processing, the main control unit 101 instructs the spool unit 104 to supply the next print data to the language analysis block. Given. Then, the spool unit 104 searches the print data stored in the storage device 11 for the earliest print order based on the print order information, reads the corresponding print data, and supplies it to the language analysis block 103. Go. Then, the print data supplied to the language analysis block 103 is converted into print processable data (for example, raster data) and supplied to the printer engine 16 for print processing.
[0034]
FIG. 6 is an explanatory diagram of a second embodiment for explaining a method of assigning input print data to each logical port of the interface unit 102.
[0035]
In the second embodiment, the CPU 10 is provided with a non-volatile memory such as a flash ROM, and in the non-volatile memory, a data table 101b (see FIG. , FIG. 7) is configured.
[0036]
In the system of the second embodiment, each logical port is associated with one of the print data language formats in advance, and when print data of a certain language format is input, the logical port corresponding to the language format is assigned to the logical port. Print data is received. For example, as shown in FIG. 6, port (1) to (3) are preset as language format a, ports (4) to (6) are set as language format b, and ports (7) and (8) are set as language format c. Keep it. When print data DATA1 of language format b is transmitted from a certain host computer 2 and print data DATA2 of language format a is transmitted from another host computer 2 during this transmission, the first print data DATA1 is Received at port {circle around (4)} corresponding to language format b, and the second print data DATA2 is received at port {circle around (1)} corresponding to this language format a.
[0037]
When print data in the same language format is subsequently input, the print data is allocated from the lowest logical port number among the plurality of logical ports associated with the language format. When the logical port is blocked, the print request source host computer is placed in a transmission standby state.
[0038]
In the system of the second embodiment, since the language format of the print data input to each logical port is fixed, the data size tends to be constant for each logical port.
[0039]
The printing process in the second embodiment is executed under the same control as in the first embodiment.
[0040]
Next, in the case of the first embodiment shown in FIG. 3 and the second embodiment shown in FIG. 6, the main control unit 101 determines and updates the priority order of each logical port, and prints on each print data. A processing procedure for setting the order will be described in detail.
[First embodiment]
In the first embodiment, as described above, the print data is assigned to the logical port with the smallest port number from among the free logical ports and is received.
[0041]
In this first embodiment, since there is no fixed tendency in the data size of the print data received at each logical port, the priority order of the logical ports is determined based only on the data size of the print data currently received. I will decide.
[0042]
FIG. 4 shows an example of a data table used for determining the priority order of each port in this embodiment, and FIG. 5 shows a flowchart of the data table update processing executed by the main control unit 101. Show.
[0043]
A data table 101a as a storage means provided in the RAM is used for determining the priority order of the logical ports. In this data table 101a, as shown in FIG. 4, the port number and the size information indicating the data size of the print data currently being received at the logical port are stored in association with each other in order of priority. The logical port data not currently received is deleted from the data table 101a, for example.
[0044]
The update process of the data table 101a is performed by the main control unit 101 according to the procedure of the flowchart shown in FIG. That is, it is determined whether or not the size information of the newly input print data is notified from the interface unit 102 in step S1, and if notified, the process proceeds to the update processing in steps S2 and S3. If not notified, the process proceeds to step S4. Jump.
[0045]
In step S4, it is determined whether there is a notification of reception completion of the print data being received from the interface unit 102. If there is a notification, the process proceeds to the update process in steps S5 and S6. If not, the process returns to step S1, These discrimination processes are repeated.
[0046]
As a result, when there is notification of the size information of the new print data and the process proceeds to step S2, the port number that received the new print data and the size information of the print data are written in an empty line of the data table 101a. In step S3, a sorting process is performed to rearrange the rows so that the size information is in ascending order for all rows of the data table 101a. Note that lines where no port number or size information is input are lowered.
[0047]
That is, when there are a plurality of print data received by the data processing in steps S2 and S3, the priority order of the logical ports receiving them is set in ascending order of the print data size.
[0048]
On the other hand, when there is a notification of completion of reception of the print data and the process proceeds to step S5, the port number and size information of the logical port that has been received are deleted from the data table 101a, and then the process of closing the line is performed in step S6. And it returns to the discrimination | determination process of step S1.
[0049]
Accordingly, the port numbers of the reception ports currently being received are arranged in the data table 101a in order of priority.
[0050]
Next, the print data print order setting process performed by the main control unit 101 will be described.
[0051]
When the reception of the print data is completed, the main control unit 101 determines the print order of the print data according to the priority order of the data table 101a, and passes the print order information to the spool unit 104 as spool management information.
[0052]
Specifically, figure 4 As shown in Fig. 3, three print data are received in parallel, and the ports in them "1" Is completed, the print order is set by serial numbers for these three print data according to the priority of each logical port. This serial number is continuous from when the power is turned on or reset, for example. If it is the 100th print data at this time, the port number "2" No. 100, port for print data "1" No. 101 for the print data received “3” The print order No. 102 is set for each print data.
[0053]
Of these print orders, the ports that have completed reception "1" No. 101 of the print data of this is fixed, but is still receiving "2" And port “3” No. 100 and 102 of the print data are not determined. And no new print data is received, "2" And port “3” Is completed, the printing order is fixed as it is.
[0054]
Meanwhile, port "2" And port “3” When reception of new print data is started during reception of this size and this size information is notified to the main control unit 101, update processing of the data table 101a is performed based on this size information. For example, after receiving the print data for the second row in the data table of FIG. "1" If 10 kbytes of print data is received, the priority is port "1" Is "rank 1", port "2" Is "rank 2", port “3” Is updated to “rank 3”.
[0055]
Then, when reception of any print data is completed in this state, the print order of these print data is set by serial numbers that are not yet used. For example, when the reception of the print data of the port (2) is completed, since the 101 is used in the previous print data, the serial numbers 100, 102 and 103 which are not yet used are used. Thus, the print order of No. 100 is set for the print data of port (1), No. 102 is set for the print data received at port (2), and No. 103 is set for the print data of port (3). Then, the number 102 of the print data of the port {circle around (2)} that has been received is determined. Thereafter, the same processing is repeated to set the print order of the print data that has been received.
[0056]
Thereafter, the spool unit 104 reads out the print data one by one in accordance with the print order and supplies the print data to the language analysis block 103, whereby each print data is shifted to the print processing in order.
[Second Embodiment]
In the second embodiment, each logical port is associated with a predetermined language format, and input print data is assigned to a logical port corresponding to the language format and received.
[0057]
In this second embodiment, since a certain tendency occurs in the print data size received at each logical port, not only the currently received print data but also the data size information of the print data received in the past is used. Determine the priority of logical ports.
[0058]
FIG. 7 shows an example of a data table used for determining the priority of each port in this embodiment, and FIG. 8 shows a data table as a priority update process executed by the main control unit 101. The flowchart of an update process is shown.
[0059]
Also in this embodiment, the data table 101b as a storage means is used for determining the priority order of the logical ports. Since information about the latest print data received in the past is also stored in the data table 101b, it is provided in the non-volatile memory so that the data is not lost even when the power is turned off.
[0060]
In this data table 101b, as shown in FIG. 7, port numbers are associated with size information indicating the data size of print data received at the time closest to the current time in the logical port, in order of priority. Stored.
[0061]
The update process of the data table 101b of this embodiment is performed according to the procedure shown in the flowchart of FIG. That is, in step S11, it is determined whether or not the size information of the newly input print data is notified from the interface unit 101. If notified, the process proceeds to the update process in step S12. If there is no notification, the process in step S101 is performed. Repeat.
[0062]
As a result, when the process proceeds to step S12, the size information of the corresponding port number is rewritten to the newly notified one in this step. As a result, the size information in the data table 101a is updated to that of the print data closest to the current time.
[0063]
Next, in step S13, the line of the port number where print data has been newly received and the line having a lower rank than that are rearranged so that the data size is in ascending order.
[0064]
Next, in step S13, it is determined whether or not the row has been rearranged. If the rearrangement has been performed, one update process is completed and the process returns to the determination process in step S11. However, the rearrangement is performed. If not, the process proceeds to step S15, and the line of the port number at which print data is newly received and the line having a higher rank than that are rearranged so that the data size is in ascending order. Then, after completing one update process, the process returns to the determination process in step S11.
[0065]
Thus, the logical ports are arranged in the data table 101b in order of priority. According to the above priority setting method, not all logical ports are always arranged in ascending order of size information. If the data size of print data received from the past to the present is small, the logical port has a high priority. The trend of the data size from the past to the present is reflected in the priority of each logical port so that the priority of the logical port becomes lower when the data size is larger.
[0066]
Note that by increasing the number of lines of the sort processing performed in step S13 or step S15, the influence of the past data size can be reduced and the influence of the current data size can be increased.
[0067]
Thereafter, the printing order setting method performed by the main control unit 101 is substantially the same as that in the first embodiment. In the second embodiment, since the priority order of logical ports that are not currently receiving print data is also shown in the data table 101b, these logical ports are excluded, and only logical ports that are receiving print data are targeted. The priority order is compared, and the print order is set for these print data.
[0068]
In this embodiment, each logical port is set with a priority based on past data even after the print data is received until the data size is recognized. It is also possible to set the print order of each print data using the priority order based on the data. That is, instead of setting the print order when print data reception is completed, the print data print order is set at a timing when the print data data size cannot be recognized, such as at the start of print data reception or in the middle of reception. It can also be configured to.
[0069]
As described above, according to the printing apparatus 1 of the first and second embodiments, when a plurality of pieces of print data are received in parallel, the priorities for applying the print processing to the print data are received as in the past. Since the data size is appropriately determined based on the data size of the print data instead of the order, the work efficiency of the printing process can be improved.
[0070]
That is, as shown in FIG. 9 showing an example of a time chart of the printing process of the embodiment, when large size and small size print data are input in parallel, small size print data is printed in large size. It is possible to shift to print processing (language analysis and actual print processing) with higher priority than data, so that it is possible to perform work processing such as printing small size print data while receiving large size print data. Improvements can be made.
[0071]
Further, according to the printing apparatus 1 of the second embodiment, by utilizing the fact that the received data size has a certain tendency for each logical port, the data size of the print data received in the past is reflected in the priority order. Since the priority order of the logical ports is changed gradually, it is possible to avoid the inconvenience that the print data with a low priority is improperly waited for a long time due to an excessive change in the priority order. The print data can be transferred to the printing process with an appropriate priority while improving the work efficiency.
[0072]
Although the present invention has been specifically described above based on the embodiments, it is needless to say that the present invention is not limited to the above embodiments and can be variously modified without departing from the gist thereof.
[0073]
For example, a plurality of logical ports of the interface unit 102 capable of receiving a plurality of print data by parallel processing are illustrated as a plurality of port means. However, a plurality of hardware ports may be provided, or a hardware port may be implemented. A configuration in which a plurality of example logical ports are mixed may be used.
[0074]
In the above-described embodiment, the system configuration has been described in which when print data is input, the print data is assigned to any of a plurality of ports and received. However, each port is associated with each host computer in advance. In addition, the present invention can be applied to a printing apparatus having a configuration in which transmitted print data is input to a port corresponding to the host computer.
[0075]
In the embodiment, when print data is stored in the spool unit 104 from the interface unit 102, the print order is determined according to the priority order of each logical port. However, the print data is sent to the language analysis block 103. It is also possible to determine which print data to be sent to the language analysis block 103 according to the priority order of the logical ports when shifting to the printing process.
[0076]
Furthermore, when the print data sizes are compared, the priority order can be switched only when there is a difference of a certain amount or more, and when there is no great difference, the reception order can be set.
[0077]
【The invention's effect】
As described above, according to the present invention, when a plurality of pieces of print data are received in parallel, the priority order of the print data to be subjected to print processing is not the order of reception as in the prior art, but the data size of the print data. Therefore, when large and small print data are input in parallel, the reception of the large print data and the completion of the printing process are awaited. After that, waste such as processing of small size print data is avoided, and it is possible to improve work efficiency such as printing processing of small size print data during reception of large size print data.
[0078]
Further, the priority information can be updated rapidly by comparing the size information of past print data or by replacing only a predetermined number of port means having consecutive priorities in one priority update process. Instead, the priority will be changed appropriately, and the priority will be set appropriately while avoiding the inconvenience that print data with a low priority will be waited inappropriately for a long time due to an excessive change in priority. The print data can be transferred to the printing process.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a hardware configuration of a printing apparatus according to an embodiment of the present invention.
FIG. 2 is a functional block diagram illustrating an example of a functional configuration of the printing apparatus according to the embodiment.
FIG. 3 is an explanatory diagram illustrating a first embodiment of a correspondence relationship between each port of the printing apparatus and a host computer.
4 is a diagram showing an example of a data table for determining the priority order of each port in the embodiment of FIG. 3; FIG.
FIG. 5 is a flowchart showing a procedure of data table update processing in the embodiment of FIG. 3;
FIG. 6 is an explanatory diagram illustrating a second embodiment of a correspondence relationship between each port of the printing apparatus and a host computer.
7 is a diagram illustrating an example of a data table for determining the priority order of each port in the embodiment of FIG. 6;
FIG. 8 is a flowchart showing a procedure of data table update processing in the embodiment of FIG. 6;
FIG. 9 is a time chart illustrating an example of processing when large-size and small-size print data are input in parallel in the printing apparatus according to the embodiment.
FIG. 10 is a time chart illustrating an example of processing when large-size and small-size print data are input in parallel in a conventional printing apparatus.
[Explanation of symbols]
1 Printing device
2 ... Host computer
10 CPU
11 Spool storage device
14 Host interface
16 Printer engine
101 Main control unit (printing control means)
101a Data table (storage means)
101b Data table (storage means)
102 Interface unit (receiving means)
103 Language analysis block (analysis means)
104 Spool part

Claims (5)

印刷データが入力される複数のポート手段を有し複数の印刷データを並行して受信可能な受信手段と、
印刷データを印刷処理に移行させる前に一旦蓄積する記憶装置と、
上記複数のポート手段の優先順位を決定するとともに、複数のポート手段に並行してそれぞれ印刷データが受信された場合に優先順位の高いポート手段の印刷データから優先的に印刷処理へ移行させる印刷制御手段とを備え、
上記印刷制御手段は、各ポート手段に入力された印刷データのデータサイズを判定し、データサイズに基づいて上記ポート手段の優先順位を決定するように構成されていることを特徴とする印刷装置。
Receiving means having a plurality of port means for inputting print data and capable of receiving a plurality of print data in parallel;
A storage device for temporarily storing print data before shifting to print processing;
Print control for determining the priority order of the plurality of port means, and preferentially shifting to the print processing from the print data of the port means having a higher priority when print data is received in parallel to the plurality of port means. Means and
The printing apparatus, wherein the print control means is configured to determine a data size of print data input to each port means, and to determine a priority order of the port means based on the data size.
入力された印刷データのデータサイズに関するサイズ情報を格納する格納手段を各ポート手段毎に備え、
上記印刷制御手段は上記格納手段に格納されたサイズ情報に基づいて上記優先順位を決定することを特徴とする請求項1記載の印刷装置。
A storage means for storing size information relating to the data size of the input print data is provided for each port means,
The printing apparatus according to claim 1, wherein the print control unit determines the priority order based on size information stored in the storage unit.
上記格納手段には、過去に入力された印刷データを含めて認識し得る最新の印刷データのサイズ情報が各ポート手段毎に格納され、
上記印刷制御手段は、新たな印刷データが任意のポート手段に入力された場合に、該ポート手段のサイズ情報と、優先順位が該ポート手段の優先順位に連続する他のポート手段のサイズ情報とを各々比較して、比較したポート手段の優先順位を上記サイズ情報に示されるデータサイズの小さい順に入れ替えていく優先順位更新処理を行うことを特徴とする請求項2記載の印刷装置。
In the storage means, size information of the latest print data that can be recognized including print data input in the past is stored for each port means,
When new print data is input to an arbitrary port unit, the print control unit includes the size information of the port unit and the size information of other port units whose priority is continuous with the priority of the port unit. 3. The printing apparatus according to claim 2, wherein a priority order update process is performed in which the priority order of the compared port means is switched in ascending order of the data size indicated in the size information.
上記優先順位更新処理は、新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が1つ低いポート手段のサイズ情報とを比較してデータサイズの小さい順に上記優先順位を入れ替えるステップと、該ステップで優先順位の入れ替えがなかった場合に上記新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が1つ高いポート手段のサイズ情報とを比較してデータサイズの小さい順に上記優先順位を入れ替えるステップとを有することを特徴とする請求項3記載の印刷装置。  The priority order updating process compares the size information of the port means that has been newly input with the size information of the port means that is one priority lower than the port means, and switches the priorities in ascending order of data size. When the priority order is not changed in this step, the size information of the port means that has been newly input is compared with the size information of the port means that is one priority higher than the port means. The printing apparatus according to claim 3, further comprising a step of changing the priority order in ascending order. 複数種類のフォーマット言語に対応してこれら各フォーマット言語により作成された印刷データを解析して印刷処理可能なデータに変換可能な解析手段を備え、上記複数のポート手段はそれぞれ所定のフォーマット言語の印刷データが入力されるように対応されていることを特徴とする請求項3又は4に記載の印刷装置。  Analyzing means capable of analyzing print data created in each of these format languages and converting it into printable data corresponding to a plurality of types of format languages, each of the plurality of port means printing in a predetermined format language 5. The printing apparatus according to claim 3, wherein the printing apparatus is adapted to input data.
JP2000158577A 2000-05-29 2000-05-29 Printing device Expired - Fee Related JP4459385B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000158577A JP4459385B2 (en) 2000-05-29 2000-05-29 Printing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000158577A JP4459385B2 (en) 2000-05-29 2000-05-29 Printing device

Publications (2)

Publication Number Publication Date
JP2001334731A JP2001334731A (en) 2001-12-04
JP4459385B2 true JP4459385B2 (en) 2010-04-28

Family

ID=18663031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000158577A Expired - Fee Related JP4459385B2 (en) 2000-05-29 2000-05-29 Printing device

Country Status (1)

Country Link
JP (1) JP4459385B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286015B2 (en) 2014-06-10 2016-03-15 Fuji Xerox Co., Ltd. Printing apparatus, printing method, and computer readable medium

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005271425A (en) * 2004-03-25 2005-10-06 Murata Mach Ltd Recorder
JP4389820B2 (en) 2005-03-22 2009-12-24 ブラザー工業株式会社 Image forming apparatus, management information processing terminal, status information management program, and status information management system
JP4965726B2 (en) * 2005-03-31 2012-07-04 株式会社リコー Data processing system, data processing apparatus, information processing apparatus, program, and recording medium
JP4870414B2 (en) * 2005-03-31 2012-02-08 株式会社リコー Data processing system, data processing apparatus, data processing method and program
JP5211634B2 (en) * 2007-10-24 2013-06-12 株式会社リコー Image processing apparatus and priority determination method
JP5376253B2 (en) 2010-09-17 2013-12-25 ブラザー工業株式会社 Data processing apparatus, data processing system, data processing program, and device driver
JP2013105241A (en) * 2011-11-11 2013-05-30 Riso Kagaku Corp Control program updating device and control program updating program
JP7268375B2 (en) * 2019-02-01 2023-05-08 ブラザー工業株式会社 Support program, information processing device, and printing method
JP2023004323A (en) * 2021-06-25 2023-01-17 キヤノン株式会社 Image forming apparatus, method for controlling image forming apparatus, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286015B2 (en) 2014-06-10 2016-03-15 Fuji Xerox Co., Ltd. Printing apparatus, printing method, and computer readable medium

Also Published As

Publication number Publication date
JP2001334731A (en) 2001-12-04

Similar Documents

Publication Publication Date Title
US7027169B1 (en) System for efficiently distributing print jobs
JP2932346B2 (en) PRINTING APPARATUS AND PRINT CONTROL METHOD AND CHARACTER FONTS PATTERN MANAGEMENT METHOD IN PRINTING APPARATUS
JP4459385B2 (en) Printing device
EP1826677A1 (en) Apparatus and method for performing DMA data transfer
EP0820185A2 (en) Digital multi-functional printer
EP0772115B1 (en) System, output device, method, and computer-usable medium using a split printer driver to control a computer printer device
JPH08221226A (en) Self-constituted network/printer system
JPH04227524A (en) Printing system
JPH043219A (en) Printer
US20060087681A1 (en) Image formation apparatus and image formation system
JPH09254455A (en) Printer device
US5905853A (en) Image printing apparatus and method having changeable capacity storage means
JP3129679B2 (en) Printer
JP2001018493A (en) Printer, control method thereof and recording medium having recorded processing therefor
JP4367745B2 (en) Image drawing processing apparatus and image processing system
JPH09109515A (en) Image forming device
JPH09190317A (en) Printing device and printing method
JPH096556A (en) Printing data transfer system
JPH10315584A (en) Equipment, method and system for processing information
JPH09212320A (en) Information processor, printer, information processing system, and data processing method for information processing system
JPH10278364A (en) Page printer
JP2001014125A (en) Printer, control method therefor and computer readable storage medium storing control program therefor
JP2007021809A (en) Method for controlling printing image data in color four-d printer
JP2004126311A (en) Character processor, character processing method, and image forming apparatus
JPH01286017A (en) Printing controller

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040303

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070117

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091102

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100119

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100210

R150 Certificate of patent or registration of utility model

Ref document number: 4459385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees