JP3289826B2 - ネットワークプリンタ及びネットワーク印刷方法 - Google Patents

ネットワークプリンタ及びネットワーク印刷方法

Info

Publication number
JP3289826B2
JP3289826B2 JP29191098A JP29191098A JP3289826B2 JP 3289826 B2 JP3289826 B2 JP 3289826B2 JP 29191098 A JP29191098 A JP 29191098A JP 29191098 A JP29191098 A JP 29191098A JP 3289826 B2 JP3289826 B2 JP 3289826B2
Authority
JP
Japan
Prior art keywords
data
task
processing unit
memory block
image generation
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
JP29191098A
Other languages
English (en)
Other versions
JP2000122834A (ja
Inventor
敏博 島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP29191098A priority Critical patent/JP3289826B2/ja
Priority to US09/415,206 priority patent/US6618164B1/en
Priority to EP99308044A priority patent/EP0994412B1/en
Priority to DE69936429T priority patent/DE69936429T2/de
Priority to AT99308044T priority patent/ATE366434T1/de
Publication of JP2000122834A publication Critical patent/JP2000122834A/ja
Application granted granted Critical
Publication of JP3289826B2 publication Critical patent/JP3289826B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Macromolecular Compounds Obtained By Forming Nitrogen-Containing Linkages In General (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば、LAN(Loc
al Area Network)等のネットワークを介して受信した
データに基づいて印刷を行うネットワークプリンタ及び
ネットワーク印刷方法に関する。
【0002】
【従来の技術】ホストコンピュータにパラレルI/F等
を介してローカルに接続されるプリンタでは、基本的に
印刷データがそのままの形で入力され、また、比較的一
定の速度で印刷データが入力される。従って、このよう
なローカルプリンタでは、受信した印刷データをそのま
ま受信バッファに格納すればよく、この格納された印刷
データを順番に取り出して解釈するだけで印刷を行うこ
とができる。
【0003】しかし、近年では、ホストコンピュータと
LAN等のネットワークを介して接続されるネットワーク
プリンタが普及している。ここで、通常は、複数のプロ
トコルが階層化されたプロトコル階層を利用して、ホス
トコンピュータとプリンタとの間でデータ通信を行う。
従って、ホストコンピュータから印刷データを送信する
と、この印刷データは可変長又は固定長のパケットに分
割され、各パケットには、送信先アドレス、送信元アド
レス、データ長、フレームチェック等の印刷データ以外
のデータが付加される。プリンタ側では、プロトコル階
層を遡りながら受信したパケットから送信先アドレス等
の余分なデータを取り除き、元の印刷データに組み立て
直す。
【0004】このように、ネットワークプリンタの場合
は、パケットから印刷データを再構成した後に、受信バ
ッファに格納させる必要がある。従って、ネットワーク
プリンタの場合は、印刷イメージの生成とは別に、通信
処理部に専用のCPU(CentralProcessing Unit)又はMPU
(Micro Processing Unit)を設けている。
【0005】
【発明が解決しようとする課題】上述した従来技術によ
るネットワークプリンタでは、ネットワークからのパケ
ット受信と印刷イメージの生成とをそれぞれ別のCPUに
よって処理しているが、通信処理用のCPUはネットワー
ク処理のみに使用され、イメージ生成用のCPUは印刷イ
メージの生成(印刷要求の生成)のみに使用されるた
め、各CPUの使用効率が低く、製造コストが増大すると
いう問題がある。また、ネットワークプリンタとホスト
コンピュータとの間で複雑な双方向通信を行う場合に
は、イメージ生成用及び通信処理用の各CPU間をつなぐ
ためのプロトコルが別途必要となる。さらに、各CPU間
でデータの受け渡しを行うため、メモリ間でデータをコ
ピーする回数も増大し易く、処理効率が低いという問題
もある。
【0006】そこで、比較的高性能のCPUによって、通
信処理(通信タスク)とイメージ生成処理(イメージ生
成タスク)との両方を実行させることも考えられる。し
かし、1個のCPUを用いるため、各タスクの実行を適切
に配分しなければ、却って処理効率が低下する。例え
ば、通信タスクの稼働状態が長い場合は、ネットワーク
からのパケット受信を速やかに処理できるが、イメージ
生成タスクの稼働状態が低下するため、実際の印刷を始
めるまでに長い時間がかかり、印刷のスループットは低
下する。逆に、イメージ生成タスクの稼働状態を高める
と、パケットの受信が滞り、ホストコンピュータが印刷
データの送信から解放されるまでの時間が長くなる。ま
た、タスク間の切換には数百マイクロ秒程度の時間がか
かるため、タスク間を頻繁に切り換えると無駄な切換時
間が集積し、結果的に処理効率が低下するおそれがあ
る。
【0007】本発明は、上記のような種々の課題に鑑み
なされたものであり、その目的は、ネットワークからの
データ受信とプリンタ内部のイメージデータ生成との稼
働状態を適切に制御することができるネットワークプリ
ンタ及びネットワーク印刷方法を提供することにある。
また、本発明の他の目的は、通信処理とイメージ生成処
理とに割り当てる演算処理装置の実行権を適切に制御す
ることにより、各処理を効率的に実行させることができ
るようにしたネットワークプリンタ及びネットワーク印
刷方法を提供することにある。
【0008】
【課題を解決するための手段】上記目的達成のため、本
発明に係るネットワークプリンタでは、ネットワークか
らのデータ受信速度とプリンタ内部のデータ処理速度と
に応じて、通信処理及びイメージ生成処理とを制御して
いる。
【0009】発明では、ネットワークを介して受信し
たデータに基づいて印刷を行うネットワークプリンタに
おいて、ネットワークを介してデータを受信する通信処
理部と、前記通信処理部から入力されたデータを解釈し
てイメージデータを生成するイメージ生成処理部と、前
記イメージ生成処理部から入力されたイメージデータに
基づいてプリントエンジンを駆動制御することにより印
刷を行う印刷処理部と、前記ネットワークからのデータ
受信速度と前記イメージ生成処理部におけるデータ処理
速度とに応じて、前記通信処理部の稼働状態と前記イメ
ージ生成処理部の稼働状態とを制御する稼働状態制御部
とを備え、前記稼働状態制御部は、前記通信処理部から
前記イメージ生成処理部へデータを転送するために用い
る複数サイズのメモリブロックをそれぞれ複数個有して
おり、前記データ受信速度と前記データ処理速度とに応
じて、前記各メモリブロックの中から次に使用するメモ
リブロックを決定することにより、前記通信処理部の稼
働状態と前記イメージ生成処理部の稼働状態とを制御す
ることを特徴としている。
【0010】ホストコンピュータからLAN等のネットワ
ークに送信されたデータ(パケット)は、通信処理部に
よって受信される。通信処理部は、プロトコル階層等に
基づいて、受信したデータから印刷データを構成する。
イメージ生成処理部は、通信処理部から入力された印刷
データを解釈してイメージデータを生成する。印刷処理
部は、イメージデータに基づいてプリントエンジンを駆
動制御することにより、印刷を行う。
【0011】通信処理部及びイメージ生成処理部は、メ
モリやCPU等のコンピュータ資源をそれぞれ利用する。
例えば、少なくとも通信処理部とイメージ生成処理部と
は、単一の演算処理装置によって実行することが可能で
ある。従って、一方の処理部がコンピュータ資源を長時
間占有すると、他方の処理部の実行に支障を生じる。例
えば、通信処理部の実行時間が長い場合は、ネットワー
クからのデータ受信を滑らかに行うことができるが、イ
メージ生成処理が停滞する。逆に、イメージ生成処理部
の実行時間を長くすると、ネットワークからのデータ受
信が滞る。
【0012】例えば、一定時間毎に、又は一定量のデー
タを受信する毎に、各処理部の実行を機械的に切り換え
ることも考えられる。しかし、通信処理部の適切な実行
時間にはネットワークからデータを受信する速度が関与
し、イメージ生成処理部の適切な実行時間にはイメージ
生成処理時のデータ処理速度が関与する。そして、デー
タ受信速度とデータ処理速度とは、状況に応じて時々刻
々と変化する。即ち、ネットワークが混雑している場合
は、ネットワークからのパケット到着時期が不安定とな
り、データ受信速度も低下する。このようなネットワー
ク混雑時に、通信処理部へ長い間CPUの実行権を与えて
も、実質的な稼働時間は少ないため、コンピュータ資源
を無駄に占有することになり、イメージ生成処理部の無
駄な待ち時間が増大する。逆に、ネットワークの混雑度
が少ない場合は、ネットワークからパケットが続々と到
着するため、通信処理部の実行時間を高めないと、デー
タ受信が滞る。一方、イメージ生成処理部におけるデー
タ処理速度を考察すると、印刷言語の種類やページを構
成するイメージの複雑さの程度等によって、実際に要す
る処理時間は変化する。
【0013】従って、一定時間又は一定データ量等の固
定的な切換では、通信処理とイメージ生成処理とを効率
的に実行させるのが難しい。また、各処理の切換には所
定の切換時間を要するため、各処理を頻繁に切り換える
と、無駄な切換時間が累積されて全体の処理効率が低下
する。そこで、本発明では、稼働状態制御部を設け、デ
ータ受信速度とデータ処理速度とに応じて通信処理部の
稼働状態とイメージ生成処理部の稼働状態とを制御する
ようにしている。稼働状態制御部は、データ受信速度及
びデータ処理速度に基づいて、通信処理部及びイメージ
生成処理部の稼働状態を動的に変化させるため、ネット
ワークの混雑度等が変化した場合でも、各処理部を適切
に稼働させることができる。
【0014】また、前記稼働状態制御部は、前記通信処
理部から前記イメージ生成処理部へ入力されるデータ転
送量を制御することにより、前記通信処理部の稼働状態
と前記イメージ生成処理部の稼働状態とを制御すること
もできる。
【0015】イメージ生成処理部は、通信処理部からの
データ入力というイベントの発生により起動する。従っ
て、通信処理部からイメージ生成処理部へ入力するデー
タの転送量を制御することにより、通信処理部及びイメ
ージ生成処理部を適切に稼働させることができる。
【0016】また、前記稼働状態制御部は、前記データ
受信速度が前記データ処理速度よりも遅い場合は前記デ
ータ転送量を減少させ、前記データ受信速度が前記デー
タ処理速度よりも速い場合は前記データ転送量を増大さ
せることができる。
【0017】ネットワークの混雑等によってデータ受信
速度の方がデータ処理速度よりも相対的に遅くなった場
合は、通信処理部からイメージ生成処理部へのデータ転
送量を低減させる。これにより、通信処理部は、少量の
データを受信する度にイメージ生成処理部にデータを転
送するため、イメージ生成処理部の起動する機会が増大
し、イメージ生成処理部の無駄な待ち時間を少なくする
ことができる。逆に、データ受信速度がデータ処理速度
よりも相対的に速い場合は、通信処理部からイメージ生
成処理部へのデータ転送量を増大させる。これにより、
通信処理部は、多量のデータを受信する度にイメージ生
成処理部へデータを転送するため、通信処理部とイメー
ジ生成処理部との切換回数を低減し、切換時間を短縮す
ることができる。
【0018】また、前記稼働状態制御部は、前記通信処
理部から前記イメージ生成処理部へデータを転送するた
めに用いる複数サイズのメモリブロックをそれぞれ複数
個有しており、前記データ受信速度と前記データ処理速
度とに応じて、前記各メモリブロックの中から次に使用
するメモリブロックを決定することもできる。
【0019】通信処理部は、稼働状態制御部から渡され
たメモリブロックにデータを格納し、メモリブロックが
データで一杯になると、イメージ生成処理部が起動し、
メモリブロックからデータを読み出してイメージを生成
する。従って、通信処理部とイメージ生成処理部とのデ
ータ転送に用いるメモリブロックのサイズを調整するこ
とにより、各処理部の稼働状態を適切に制御することが
できる。
【0020】また、前記稼働状態制御部は、前回使用さ
れたメモリブロックよりもサイズの小さいメモリブロッ
クが所定数以上空いている場合には、該サイズの小さい
メモリブロックを選択し、前回使用されたメモリブロッ
クよりもサイズの小さいメモリブロックが所定数以上空
いていない場合であって、前回使用されたメモリブロッ
クと同サイズのメモリブロックが空いている場合には、
該同サイズのメモリブロックを選択し、前記同サイズの
メモリブロックが空いていない場合であって、前回使用
されたメモリブロックよりもサイズの大きいメモリブロ
ックが空いている場合には、該サイズの大きいメモリブ
ロックを選択することができる。
【0021】通信処理部は、ネットワークからデータを
受信する毎に起動し、受信したデータを印刷データに構
成してメモリブロックに格納することができる。イメー
ジ生成処理部は、通信処理部が起動していない間に起動
して、メモリブロックから印刷データを読み出し、イメ
ージ生成を行うことができる。
【0022】ある時点において、ネットワークからのデ
ータ受信速度がデータ処理速度よりも低下するというこ
とは、データの格納されたメモリブロックの発生速度
が、メモリブロックが空き状態となる速度よりも低下す
ることを意味する。また、データ処理速度が一定であれ
ば、メモリブロックのサイズが小さいほど、メモリブロ
ック内のデータが読み出されて空き状態となるまでの時
間は短くなる。従って、データ受信速度がデータ処理速
度よりも所定値以上低下した場合は、データの格納され
たメモリブロックの処理が進むため、前回使用されたサ
イズのメモリブロックよりも小さいサイズのメモリブロ
ックが所定数以上空き状態となる。換言すれば、前回使
用されたメモリブロックよりも小さいサイズのメモリブ
ロックが所定数以上空いているということは、データ受
信速度とデータ処理速度との差に照らして、前回使用し
たメモリブロックのサイズが大きすぎることを示す。そ
こで、小さいサイズのメモリブロックが所定数以上空い
た場合には、この小さいサイズのメモリブロックを用い
て通信処理部とイメージ生成処理部との間のデータ転送
を行う。これにより、イメージ生成処理部の起動機会を
増大させて待ち時間を低減させることができる。
【0023】小さいサイズのメモリブロックが所定数以
上空いておらず、かつ、前回使用されたメモリブロック
と同サイズのメモリブロックが空いている場合は、デー
タ受信速度とデータ処理速度とがほぼ均衡している場合
である。そこで、この場合は、同サイズのメモリブロッ
クを選択する。同サイズのメモリブロックも空いていな
い場合は、データ受信速度の方がデータ処理速度よりも
速く、次々にメモリブロックがデータで埋められている
場合である。従って、前回よりも大きいサイズのメモリ
ブロックを使用し、イメージ生成処理部に入力する1回
あたりのデータ量を大きくすることにより、切換回数を
低減する。
【0024】このように、メモリブロックの使用状態に
基づいて、次に使用すべきメモリブロックを決定するこ
とにより、データ受信速度及びデータ処理速度を監視す
ることなく、適切なメモリブロックを選択することがで
きる。
【0025】また、前記稼働状態制御部には、初期値と
して、最少サイズのメモリブロックを設定してもよい。
【0026】又は、前記稼働状態制御部には、初期値と
して、中間サイズのメモリブロックを設定してもよい。
【0027】初期値を中間サイズとすれば、速やかに均
衡状態、即ち、同サイズのメモリブロックが繰返し使用
される状態に移行させる可能性が高まる。なお、通常あ
り得る印刷ジョブのうち最少の印刷ジョブに応じたサイ
ズのメモリブロックを中間サイズとして用いれば、印刷
ジョブに適した大きさの受信ブロックを用いてデータを
受信できる可能性が高まるため、最初の受信ブロックの
みでイメージデータを生成することができ、処理効率が
向上する。
【0028】また、前記稼働状態制御部は、前記データ
受信速度と前記データ処理速度とに応じて、前記通信処
理部から前記イメージ生成処理部へデータを転送するた
めに用いるメモリブロックのサイズを決定し、該決定さ
れたサイズを有するメモリブロックを生成させることも
できる。
【0029】即ち、複数サイズのメモリブロックを予め
用意しておくのではなく、データ受信速度及びデータ処
理速度に応じて適切なサイズのメモリブロックを生成さ
せてもよい。
【0030】この場合、前記稼働状態制御部は、前記デ
ータ受信速度が前記データ処理速度よりも遅い場合は、
前回使用したメモリブロックよりも所定値以上サイズの
小さいメモリブロックを生成し、前記データ受信速度が
前記データ処理速度よりも速い場合は、前回使用したメ
モリブロックよりも所定値以上サイズの大きいメモリブ
ロックを生成し、前記データ受信速度と前記データ処理
速度とが均衡している場合は、前回使用したメモリブロ
ックのサイズと所定範囲内のサイズを有するメモリブロ
ックを生成することができる。
【0031】データ受信速度とデータ処理速度との関係
に応じて、メモリブロックのサイズを調整することによ
り、通信処理部とイメージ生成処理部との稼働状態を適
切に制御することができる。
【0032】また、前記演算処理装置の実行権を獲得す
るための優先度は、前記通信処理部の方が前記イメージ
生成処理部よりも高く設定することもできる。
【0033】これにより、データ受信を優先させて、ホ
ストコンピュータを早期に解放することができる。
【0034】
【0035】別の観点に従う本発明では、ネットワーク
を介してデータを受信する通信タスクと、該通信タスク
から入力されたデータを解釈してイメージデータを生成
するイメージ生成タスクと、該イメージ生成タスクから
入力されたイメージデータに基づいて印刷させる印刷タ
スクとを、単一の中央演算処理装置(CPU)により切り
換えて実行させるネットワーク印刷方法であって、前記
印刷タスク、前記通信タスク、前記イメージ生成タスク
の順で、前記中央演算処理装置の実行権を獲得するため
の優先度が高く設定されており、前記ネットワークから
前記通信タスクに入力されるデータの受信速度と前記イ
メージ生成タスクによるデータ処理速度とに基づいて、
前記イメージ生成タスクに適切な実行時間が与えられる
ように、前記イメージ生成タスクに入力するデータを格
納するためのメモリブロックのサイズを決定するステッ
プと、前記通信タスクにより、前記決定されたサイズの
メモリブロックに前記ネットワークから受信したデータ
を格納させるステップと、前記メモリブロックにデータ
が格納されたことを前記イメージ生成タスクに通知する
ステップと、前記イメージ生成タスクにより、前記メモ
リブロックからデータを読み出してイメージデータを生
成するステップと、前記印刷タスクにイメージデータの
生成を通知するステップと、前記印刷タスクにより、前
記入力されたイメージデータに基づいて印刷させるステ
ップと、を含んでなることを特徴としている。
【0036】この発明では、単一の演算処理装置によっ
て、印刷タスク、通信タスク及びイメージ生成タスク
を、この順に高い優先度を与えて実行している
【0037】
【0038】所定のプログラムをプリンタのコンピュー
タに読み込ませることにより、本発明と同様の作用を実
現するプリンタを得ることができる。ここで、「記録媒
体」としては、例えば、ハードディスク、フロッピーデ
ィスク、メモリ、ICカード等の各種記録媒体を用いる
ことができる。また、これに限らず、ネットワークを介
してプログラムをダウンロードする等のように、通信媒
体を用いることもできる。
【0039】
【発明の実施の形態】以下、図面に基づいて本発明の実
施の形態について詳細に説明する。
【0040】1.第1の実施の形態 図1〜図7は、本発明の第1の実施の形態によるネット
ワークプリンタを示している。まず、図1は、本実施の
形態によるネットワークプリンタの全体構成を概略的に
示す説明図である。
【0041】ネットワークプリンタは、インターフェー
ス(以下「I/F」と略記)1,2と、CPU3と、RAM4
及びROM5と、エンジン制御部8及びプリントエンジン
9とを備えている。I/F1,2、CPU3、RAM4及びRO
M5は、バス6を介して相互に接続されており、エンジ
ン制御部8は、I/F2,7を介してCPU3等と接続さ
れている。CPU3は、I/F1を介してLAN等のネットワ
ーク100とデータ通信行い、I/F2を介してエンジ
ン制御部8とデータ通信を行う。
【0042】「演算処理装置」としてのCPU3は、通信
タスク11と、イメージ生成タスク12と、印刷タスク
13との3個のタスクを実行可能に構成されている。各
タスク11〜13の切換、即ち、CPU実行権の管理は、
例えば、切換制御部として表現可能なスケジューラ14
によって行われる。スケジューラ14には、各タスク1
1〜13の優先度を記憶した優先度テーブル15と、待
ち状態のタスクをつなぐためのレディキュー16とが設
けられている。ここで、印刷タスク13、通信タスク1
1、イメージ生成タスク12の順に高い優先度が設定さ
れている。スケジューラ14は、予め設定された優先度
に基づいて、各タスク11〜13にCPU実行権を与え
る。
【0043】「通信処理部」としての通信タスク11
は、ネットワーク100からパケットが着信すると、CP
U実行権を得て起動する。通信タスク11は、受信した
パケットからIPアドレス等の余分なデータを除去して印
刷データを取り出し、この印刷データを後述する所定の
受信ブロックが一杯になるまで格納し、データを格納し
た受信ブロックをイメージ生成タスク12に引き渡す。
なお、通信タスク11は、例えば、FTP(File Transfer
Protocol)、LPR(Line Printer Protocol)等のよう
に、各プロトコルにそれぞれ対応する複数のタスクから
構成されている。
【0044】「イメージ生成処理部」としてのイメージ
生成タスク12は、通信タスク11からデータの格納さ
れた受信ブロックを渡されると起動する。イメージ生成
タスク12は、受信ブロック内の印刷データを読み出し
て印刷イメージ(印刷要求)を生成し、この生成した印
刷要求を印刷タスク13に引き渡す。ここで、イメージ
生成タスク12は、一つの印刷言語に対応する単一のタ
スクであり、複数の印刷言語のそれぞれに対応するタス
クから構成されている訳ではない。通常、一つの印刷ジ
ョブの全体は、一種類の印刷言語によって記述されてお
り、印刷ジョブが切り替わったときに、該印刷ジョブに
対応する印刷言語のタスクを起動させれば足りるからで
ある。イメージ生成タスク12を単一の印刷言語のタス
クから構成することにより、印刷ジョブを早期に処理す
ることができる。これに限らず、イメージ生成タスク1
2を複数のタスクから構成してもよい。例えば、PostSc
riptのような高度な処理を必要とする印刷言語の場合
は、複数のタスクの協調動作によって印刷要求を生成す
る方が処理効率が向上すると考えられる。
【0045】「印刷処理部」としての印刷タスク13
は、イメージ生成タスク12から印刷要求が入力される
と起動し、印刷要求に応じてエンジン制御部8を駆動さ
せるようになっている。これにより、エンジン制御部8
は、プリントエンジン9を駆動させてページ単位の印刷
を行う。なお、エンジン制御部8及びプリントエンジン
9を印刷手段又は印刷部と表現することもできる。
【0046】「稼働状態制御部」としてのブロック管理
部17は、ネットワーク100からパケットを受信する
ときのデータ受信速度と、主としてイメージ生成タスク
12によるプリンタ内部のデータ処理速度とに基づい
て、パケットの受信に用いる受信ブロックを決定するも
のである。なお、ブロック管理部17は、例えば、デー
タ転送量制御部として表現することもできる。
【0047】図2は、ブロック管理部17による受信ブ
ロックの管理と各タスク11〜13の実行状態の構造を
模式的に示す説明図である。
【0048】図2中の上部に示すブロック管理部17
は、例えば、1KB(キロバイト)、4KB、16KB、64
KBのように、4倍単位でサイズの異なる受信ブロックを
それぞれ複数個ずつ有している。また、ブロック管理部
17は、未使用の受信ブロックをつなぐための未使用ブ
ロックキューと、データが格納された受信ブロックをつ
なぐための使用済みブロックキューとを備えている。初
期状態では、全ての受信ブロックは、未使用ブロックキ
ューにつながれている。ブロック管理部17は、後述の
ブロック決定処理に従って、未使用の受信ブロックの中
から適切なサイズの受信ブロックを選定し、選定した受
信ブロックを通信タスク11に引き渡す。引き渡された
受信ブロックは、未使用ブロックキューから使用済みブ
ロックキューに移動される。イメージ生成タスク12か
ら受信ブロックが返却されると、この返却された受信ブ
ロックは、使用済みブロックキューから未使用ブロック
キューに移動される。
【0049】次に、通信タスク11は、ブロック管理部
17から渡された受信ブロックが一杯になるまで印刷デ
ータを格納する。より具体的には、ネットワーク100
からパケットが到着すると、通信タスク11は、パケッ
トから印刷データを取り出し、この印刷データを受信ブ
ロックに格納する。印刷データが格納された受信ブロッ
クは、イメージ生成タスク12に渡される。ここで、通
信タスク11の優先度は、イメージ生成タスク12の優
先度よりも高く、かつ印刷タスク13の優先度よりも低
く設定されている。従って、印刷要求生成中にパケット
を受信した場合は、イメージ生成タスク12に優先して
通信タスク11が実行されるが、印刷タスク13の実行
中は、ネットワーク100からパケットを受信しても通
信タスク11は実行されない。
【0050】イメージ生成タスク12は、受信ブロック
から印刷データを読み出し、この印刷データを解釈して
ページ単位の印刷要求を生成する。印刷データの取り出
された受信ブロックは、ブロック管理部17に返却され
る。最後に、印刷タスク13は、イメージ生成タスク1
2から入力された印刷要求に基づいてエンジン制御部8
を駆動させることにより印刷を行う。
【0051】次に、図3は、各タスクの実行状態の時間
変化を概略的に示すタイムチャートである。図中の縦軸
は、各割込処理及び各タスクの優先度を示す。印刷割
込、着信割込(通信割込)、印刷タスク、通信タスク、
イメージ生成タスク、アイドルタスクの順で高い優先度
が与えられている。
【0052】電源投入直後に、通信タスク11、イメー
ジ生成タスク12及び印刷タスク13はそれぞれ生成さ
れて待機状態になっている。各タスク11〜13が実行
されていない間は、全てのタスクの中で最低の優先度を
与えられたアイドルタスクが実行されている。
【0053】ある時刻t1において、ネットワーク10
0からパケットが到着すると、着信割込が発生する。着
信割込が発生してパケットが受信されると、通信タスク
11がCPU実行権を得て起動する。通信タスク11は、
パケットが受信される度に、パケットから印刷データを
取り出して受信ブロックに格納する。受信ブロックのサ
イズとデータ受信速度とによって定まる所定時間TBが
経過すると、受信ブロックは印刷データで一杯になる。
【0054】受信ブロックが印刷データで一杯になり、
かつ、イメージ生成タスク12よりも高い優先度のタス
ク又は割込処理が発生していない場合は、イメージ生成
タスク12がCPU実行権を獲得する。イメージ生成タス
ク12は、受信ブロックから印刷データを取り出して印
刷要求を生成する。通信タスク11の実行の合間を縫っ
てイメージ生成タスク12が実行されると、時刻t2に
おいて、1ページ分の印刷要求が完成する。
【0055】印刷要求が生成されると、印刷タスク13
が起動する。印刷タスク13は、給紙命令を出力してCP
U実行権を返却する。プリントエンジン9に給紙動作を
命じてから用紙が印刷位置に搬送されるまでの間、イメ
ージ生成タスク12よりも優先度の高い割込やタスクが
発生しない場合は、再びイメージ生成タスク12にCPU
実行権が渡される。従って、図3中では、イメージ生成
タスク12は、印刷タスク13による給紙命令の後に、
2ページ目の印刷要求を生成し始める。
【0056】時刻t3において、用紙が印刷位置に搬送
されて印刷準備が整うと、印刷割込として、イメージデ
ータの転送要求が発生する。この転送要求により、1ペ
ージ目の印刷要求がエンジン制御部8側に転送される。
次に、CPU実行権は、印刷タスク13が獲得し、1ペー
ジ目の印刷が行われる。イメージ生成タスク12は、印
刷タスク13よりも優先度が低いため、イメージ生成タ
スク12による印刷要求の生成は中断される。一方、印
刷タスク13の実行中に、通信割込が発生したとして
も、通信タスク11の優先度は印刷タスク13よりも低
いため、印刷タスク13が中断されることはない。な
お、図3中では、説明の便宜上、給紙命令と印刷の2つ
の処理のみを図示しているが、実際には、排紙命令や紙
詰まり等のエラー処理も行われる。
【0057】1ページ目の印刷が終了すると、待ち状態
におかれていた通信タスク11が実行されて、印刷デー
タが受信ブロックに格納される。やがて時刻t4におい
て、2ページ目の印刷要求が生成されると、上記と同様
に、印刷タスク13が実行されて2ページ目の印刷が開
始される。
【0058】ここで、図3中に示す時間TB1,TB2
は、一つの受信ブロックを印刷データで満たすのに要す
る時間である。もしも、各パケットの長さが一定であ
り、一定間隔、一定速度で各パケットを受信するとすれ
ば、各時間TB1,TB2は、受信ブロックのサイズに
比例する。厳密には、各パケットのパケット長は、例え
ば、数十バイト〜千数百バイトの範囲で変化し、また、
ネットワーク100の混雑度も変動するので、時間TB
1,TB2が受信ブロックのサイズを正しく反映すると
は限らない。
【0059】次に、図4〜図7を参照して本実施の形態
の作用を説明する。図中では、ステップを「S」と略記
する。
【0060】図4のフローチャートは、通信タスク11
の処理を示し、S1では、ブロック管理部17から受信
ブロックを獲得したか否かを判定し、S2では、着信割
込によってパケットが受信されたか否かを判定してい
る。つまり、通信タスク11は、受信ブロックを獲得
し、かつ、パケットが受信されるまで待機状態におかれ
ている。なお、通信タスク11に与える受信ブロックを
決定する処理については、後述する。
【0061】受信ブロックを獲得し、かつ、パケットが
受信されると(S1,S2:YES)、受信されたパケットから
送信元アドレス、送信先アドレス等の余分なデータを取
り除き、印刷データを取り出して受信ブロックに格納す
る(S3)。S4において、受信ブロックが印刷データ
で一杯になったと判定されるまで、S2,S3の処理が
繰り返される。受信ブロックが印刷データで満たされる
と(S4:YES)、この受信ブロックはイメージ生成タス
ク12に渡される(S5)。
【0062】図5は、イメージ生成タスク12の処理を
示すフローチャートである。S11では、通信タスク1
1から受信ブロックが渡されたか否かを判定し、印刷デ
ータの格納された受信ブロックが渡された場合には(S1
1:YES)、受信ブロックから印刷データを読み出して印
刷要求を生成する(S12)。印刷データが読み出され
た空の受信ブロックは、ブロック管理部17に返却され
る(S13)。次に、1ページ分の印刷要求が完成した
か否かを判定する(S14)。1ページ分の印刷要求が
生成されるまで、S11〜S13の処理が繰り返され
る。1ページ分の印刷要求が生成されると(S14:YE
S)、この印刷要求は、印刷タスク13に入力される
(S15)。
【0063】印刷タスク13の処理の概略は、図1中の
印刷タスク13内に図示した通りであるから、図1を参
照して簡単に説明する。即ち、印刷タスク13は、イメ
ージ生成タスク12によって1ページ分の印刷要求が生
成されるまで待機しており(SN)、印刷要求が生成さ
れると(SN:YES)、この印刷要求に基づいて印刷を行
う(SN+1)。なお、SNはステップの番号であり、他
のステップ番号と重複しない任意の値を採用することが
できる。
【0064】次に、図6は、ブロック管理部17による
受信ブロック決定処理を示すフローチャートである。
【0065】本処理は、通信タスク11から呼び出され
ると開始され、最初に、前回使用した受信ブロックのサ
イズよりも1ランク下のブロックが全て空いているか否
かを判定する(S21)。本実施の形態では、受信ブロ
ックのサイズを1KB、4KB、16KB等のように4倍毎に
変化させているため、1ランク下の受信ブロックとは、
前回使用した受信ブロックの1/4のサイズの受信ブロ
ックに相当する。1ランク下の受信ブロックが最初にN
個用意されていたとすれば、S21では、N個の受信ブ
ロックが全部空いているか否かを判定する。従って、本
実施の形態における「所定数」とは、各サイズ毎の受信
ブロックの総数Nに該当する。これに限らず、N−1、
N−2等のように総数Nよりも小さい値を設定してもよ
い。また、各サイズ毎に受信ブロック総数Nを違えても
よい。例えば、使用頻度の高いサイズの受信ブロック
は、使用頻度の低い受信ブロックよりも多く用意してお
くことができる。また、前回のブロックサイズに応じ
て、S21における判断の基準値(所定数)を違えるこ
ともできる。例えば、前回のブロックサイズが16KBの
場合は、4KBの受信ブロックがNx個空いているか否か
を判定し、前回のブロックサイズが64KBの場合は、1
6KBの受信ブロックがNy個空いているか否かを判定す
ることもできる。
【0066】前回のブロックサイズよりも1ランク下の
受信ブロックが全て空いている場合は(S21:YES)、プ
リンタ内部のデータ処理速度の方がネットワーク100
からのデータ受信速度よりも相対的に速い場合である。
従って、前回よりも1ランク下のサイズの受信ブロック
を通信タスク11に与える(S22)。これにより、通
信タスク11が印刷データを格納する単位が前回よりも
小さくなり、イメージ生成タスク12の起動する機会が
増大する。
【0067】一方、前回のブロックサイズよりも1ラン
ク下の受信ブロックが全て空いていない場合(S21:N
O)、即ち、1ランク下の受信ブロックが1個でも使用
中である場合は、前回のブロックサイズと同サイズの受
信ブロックに空きがあるか否かを判定する(S23)。
前回のブロックサイズよりも1ランク下の受信ブロック
に空きがなく、同サイズの受信ブロックに空きがある場
合は(S23:YES)、プリンタ外部からのデータ受信速度
とプリンタ内部のデータ処理速度とがほぼ均衡している
場合のため、前回と同サイズの受信ブロックを通信タス
ク11に与える(S24)。
【0068】前回と同サイズの受信ブロックに空きが無
い場合は(S23:NO)、データ受信速度の方がデータ処
理速度よりも相対的に速く、受信ブロックからの印刷デ
ータ取り出しが遅れている場合である。そこで、前回の
ブロックサイズよりも大きいサイズの受信ブロックの中
に空いている受信ブロックがあるか否かを判定し(S2
5)、大きいサイズの受信ブロックに空きがある場合は
(S25:YES)、この中から最小サイズの受信ブロックを
通信タスク11に与える(S26)。これにより、通信
タスク11が印刷データを格納する単位が増大するた
め、通信タスク11とイメージ生成タスク12とが頻繁
に切り換わるのを防止して、タスク切換時間を低減する
ことができる。
【0069】前回のブロックサイズよりも大きいサイズ
の受信ブロックに空きが無い場合は(S25:NO)、使用
可能な受信ブロックに選択の余地が無くなった場合なの
で、小さいサイズの受信ブロックの中に空きがあるか否
かを判定する(S27)。空いている受信ブロックが存
在する場合は(S27:YES)、この受信ブロックを通信タ
スク11に与える(S28)。一方、前回のブロックサ
イズよりも小さい受信ブロックに空いているものが存在
しない場合は(S27:NO)、全ての受信ブロックが使用
中の場合である。従って、通信タスク11に受信ブロッ
クを与えずに処理を終了する。この場合、通信タスク1
1は、新たな受信ブロックを入手できないので、起動条
件が満たされず、CPU実行権を獲得することができな
い。
【0070】ここで、ブロック管理部17は、初期値と
して最小の受信ブロック(1KB)を通信タスク11に提
供する。従って、最初の一個又は複数のパケットは、サ
イズ1KBの受信ブロックに格納される。次に、1KBより
下のサイズの受信ブロックは存在せず(S21:NO)、1KB
の受信ブロックに空きがあるので(S23:YES)、2番目
に提供される受信ブロックのサイズも1KBとなる。デー
タ受信速度とデータ処理速度とが均衡している場合は、
1KBの受信ブロックが繰返し通信タスク11に提供され
る。もし、データ受信速度がデータ処理速度よりも速く
なると、1KBの受信ブロックが全て使い果たされる。従
って、前回のブロックサイズよりも大きい受信ブロック
の中から最小サイズの受信ブロック、即ち、4KBの受信
ブロックが選択される(S23:NO,S25:YES,S26)。
【0071】このように、ブロック管理部17は、複数
サイズの受信ブロックの使用状態に基づいて、データ受
信速度とデータ処理速度との関係を推定し、両者の関係
に基づいた適切なサイズの受信ブロックを通信タスク1
1に提供する。
【0072】図7は、受信ブロックのサイズ変化の概略
を示す説明図である。最初の期間T1では、時間TB11に
相当する受信ブロックが使用されている。次の期間T2
において、ネットワーク100の混雑度が上昇すると、
ネットワーク100からのパケット着信間隔が広がり、
データ受信速度はデータ処理速度よりも相対的に低下す
る。これにより、1ランク下のサイズの受信ブロックが
通信タスク11に渡されるため、時間TB12は時間TB11よ
りも短くなる。期間T3に至って通信混雑が解消される
と、1ランク上の受信ブロックが再び使用される。さら
に、期間T4になって通信混雑度が一層解消されると、
さらに1ランク上のサイズの受信ブロックが使用され
る。従って、時間TB13は、TB11よりも長くなる。
【0073】このように構成される本実施の形態によれ
ば、以下の効果を奏する。
【0074】第1に、データ受信速度とデータ処理速度
との関係に応じて、通信タスク11の稼働状態とイメー
ジ生成タスク12の稼働状態とを制御するブロック管理
部17を設けたため、通信混雑度に応じて変化するデー
タ受信速度及び印刷ジョブの内容毎に変化するデータ処
理速度の双方の変化に対応できる。従って、プリンタ外
部(データ受信速度)及び内部(データ処理速度)の環
境変化に応じて、各タスク11,12の稼働状態を適切
に制御することができる。特に、単一のCPU3によって
ネットワーク処理まで行うネットワークプリンタの場合
は、各タスク11,12へのCPU実行時間を適切に割り
当てることができ、処理効率を向上させて印刷のスルー
プットを増大させることができる。
【0075】また、特に、単一のCPU3を用い、かつ、
通信タスク11の優先度をイメージ生成タスク12の優
先度よりも高く設定する場合に、特有の効果を奏する。
通信タスク11の優先度をイメージ生成タスク12のそ
れよりも高めると、ホストコンピュータを印刷データの
送信から早期に解放することができるが、データ受信速
度が相対的に遅くなった場合は、イメージ生成タスク1
2の待ち時間が増大するため、印刷が遅れてスループッ
トが低下するおそれがある。従って、本実施の形態のよ
うに、通信タスク11とイメージ生成タスク12とのCP
U実行時間を適切に割り当てることにより、ホストコン
ピュータを早期に解放できると共に、印刷待ち時間を低
減することができる。
【0076】第2に、データ受信速度が相対的に遅い場
合は、イメージ生成タスク12へのデータ転送量を減少
させ、データ受信速度が相対的に速い場合は、データ転
送量を増大させるため、各タスク11,12の実行時間
を簡易かつ適切に制御することができる。即ち、データ
転送量を減少させると、イメージ生成タスク12は、比
較的少量のデータを頻繁に受け取るため、起動機会が増
大する。従って、パケットの到着が遅れている場合で
も、イメージ生成タスク12の待ち時間を少なくして速
やかに印刷要求を生成することができる。データ転送量
を増大させると、イメージ生成タスク12は、比較的多
量のデータを少ない回数で受け取るため、通信タスク1
1とイメージ生成タスク12との切換回数を少なくでき
る。従って、タスク切換時間を低減して、処理効率を高
めることができる。
【0077】第3に、複数サイズの受信ブロックを予め
用意し、データ受信速度とデータ処理速度との相対関係
に応じて、通信タスク11が使用する受信ブロックのサ
イズを動的に変化させるため、比較的簡易な構成で各タ
スク11,12に割り当てるCPU実行時間を適切に制御
することができる。
【0078】第4に、図6のブロックサイズ決定処理に
例示するように、受信ブロックの使用状態に基づいて、
通信タスク11に与える受信ブロックのサイズを決定す
るため、データ受信速度及びデータ処理速度を監視する
必要がなく、より簡易な構成で各タスク11,12の実
行時間を制御することができる。
【0079】2.第2の実施の形態 次に、図8及び図9に基づいて本発明の第2の実施の形
態を説明する。なお、本実施の形態では、上述した第1
の実施の形態と同一の構成要素に同一の符号を付し、そ
の説明を省略するものとする。本実施の形態の特徴は、
データ受信速度及びデータ処理速度を監視して適切なサ
イズの受信ブロックを生成するようにした点にある。
【0080】図8は、本実施の形態によるブロック管理
部21と各タスク11〜13との関係を示す説明図であ
る。ブロック管理部21は、ネットワーク100からの
パケット受信速度を検出するパケット受信速度検出部2
2と、データ処理速度を検出するデータ処理速度検出部
23と、受信ブロックを生成するブロックジェネレータ
24と、利用可能な空きメモリ量を検出する空きメモリ
量検出部25とを備えている。
【0081】ブロックジェネレータ24は、通信タスク
11からの要求に応じて、データ受信速度VRとデータ
処理速度VPとを予め設定されたブロック発生関数Rに
入力することにより、各速度VR、VPの相対関係に応
じた適切なサイズの受信ブロックを生成する。また、ブ
ロックジェネレータ24は、利用可能な空きメモリ量も
考慮する。空きメモリ量が少なくなったときは、処理待
ちの受信ブロックがたまっている場合であるから、通信
タスク11に受信ブロックを与えず、これにより、イメ
ージ生成タスク12の実行時間を長くして、処理待ちの
受信ブロックを先に処理させることも可能である。ま
た、初期値記憶部26には、通信タスク11に最初に与
える受信ブロックのサイズが記憶されている。
【0082】図9は、ブロック管理部21による受信ブ
ロック決定処理を示すフローチャートである。まず、パ
ケット受信速度VR及びデータ処理速度VPをそれぞれ
検出し(S31,S32)、次に、各速度VR,VPを
比較する(S33)。各速度VR,VPの比較に際して
は、所定の重み付け等を行うことができる。
【0083】パケット受信速度VRの方がデータ処理速
度VPよりも遅い場合は(VR<VP)、前回与えたブロッ
クサイズよりも小さいサイズの受信ブロックを生成して
通信タスク11に与える(S34)。各速度VR,VP
が均衡している場合は(VR=VP)、前回のブロックサイ
ズと同サイズの受信ブロックを生成して通信タスク11
に与える(S35)。パケット受信速度VRがデータ処
理速度VPよりも速い場合は(VR>VP)、前回よりも大
きいサイズの受信ブロックを生成して通信タスク11に
与える(S36)。なお、前回と同サイズとは、全く同
一のサイズのみを意味するものではない。前回のブロッ
クサイズから所定範囲内に収まるサイズの受信ブロック
を与えることもできるからである。
【0084】このように構成される本実施の形態でも、
上述した第1の実施の形態と同様の効果を得ることがで
きる。これに加えて、本実施の形態では、データ受信速
度としてのパケット受信速度VRとデータ処理速度VP
とに基づいて、適切なサイズの受信ブロックを生成する
ため、より一層速やかに通信タスク11とイメージ生成
タスク12に割り当てるCPU実行時間を最適化すること
ができる。なお、本実施の形態は、利用可能なメモリ量
が大きい場合に特に有利である。ブロック発生関数Rが
比較的大きなサイズの受信ブロックを算出した場合で
も、この要求に応えることができるからである。換言す
れば、利用可能なメモリ量が少ない場合は、第1の実施
の形態が有利である。利用可能なメモリ資源を予め複数
サイズの受信ブロックに区切っておくことにより、最適
値とは言えないまでも、当面の実行時間制御に必要なサ
イズの受信ブロックを速やかに与えることができ、少な
いメモリ資源を有効に使用することができる。
【0085】なお、当業者であれば、各実施の形態に記
載された本発明の要旨の範囲内で種々の追加、変更等が
可能である。例えば、記録媒体に記録された所定のプロ
グラムをプリンタのコンピュータに読み取らせることに
より、本発明を実現することもできる。
【0086】また、図10に示すように、未使用ブロッ
クキューを各ブロックサイズ毎に設けることもできる。
【0087】さらに、第1の実施の形態では、1KB,4
KB,16KB,64KBの4倍単位で変化する4種類のブロ
ックサイズを例示したが、本発明はこれに限らず、例え
ば、1KB,4KB,8KB,16KB,32KB,64KB等のよ
うに、他のサイズを用意してもよい。但し、上記4倍単
位で変化するブロックサイズは、特に好ましい例として
本発明の特徴の一つに採用できる。例えば、1KB,2K
B,3KBのように、1KB単位で変化する受信ブロックを
用意する場合は、より細やかな制御が可能である反面、
受信ブロックの種類が増大するため、ブロック管理が複
雑化する。一方、例えば、1KB,128KB,256KBの
ように大きな単位で変化する受信ブロックを用意する場
合は、各タスク11,12の実行時間を適切に制御する
のが難しくなる。従って、ブロック管理の容易さと各タ
スク11,12の実行時間制御とを考慮すると、上記4
倍単位でサイズが変化する受信ブロックを用意するのが
好ましい。
【0088】また、ブロックサイズの初期値を1KBとす
る場合を述べたが、これに代えて、例えば、4KB又は1
6KBのように、中間サイズの受信ブロックを初期値に設
定してもよい。特に、発生頻度の高い印刷ジョブに応じ
たブロックサイズを初期値に用いれば、最初の受信ブロ
ック内に印刷ジョブの全データを格納できる可能性が高
まり、処理効率が向上する。
【0089】さらに、単一のCPU3は、物理的に単一で
ある必要は無い。物理的に複数のCPUを用いていても、
通信タスク11,イメージ生成タスク12の実行に際し
て実質的に単一のCPUと同様の働きを奏する場合は、本
発明の範囲に含まれる。
【0090】さらに、プリンタとしては、プリンタ専用
機に限らず、複写機、ファクシミリ装置等の他の機能を
備えた複合機でもよい。
【0091】
【発明の効果】以上説明した通り、本発明に係るネット
ワークプリンタ及びネットワーク印刷方法によれば、ネ
ットワークの混雑度に応じてデータ受信速度が変動した
場合及び印刷ジョブの内容に応じてデータ処理速度が変
動した場合のいずれの場合も、通信処理部とイメージ生
成処理部との稼働状態を適切に制御して、処理効率を向
上させることができる。
【0092】また、複数サイズの受信ブロックを複数個
用意し、受信ブロックの使用状態に応じて、次に使用す
る受信ブロックを決定するため、比較的簡易な構成で通
信処理部とイメージ生成処理部との稼働状態を適切に制
御することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るネットワーク
プリンタの全体構成を示すブロック図である。
【図2】ブロック管理部及び各タスクの関係を示す説明
図である。
【図3】各タスクの実行状態を示すタイムチャートであ
る。
【図4】通信タスクの処理を示すフローチャートであ
る。
【図5】イメージ生成タスクの処理を示すフローチャー
トである。
【図6】受信ブロック決定処理を示すフローチャートで
ある。
【図7】通信混雑度に応じて受信ブロックのサイズが変
化する状況を示すタイムチャートである。
【図8】本発明の第2の実施の形態に係るネットワーク
プリンタのブロック管理部と各タスクとの関係を示す説
明図である。
【図9】受信ブロック決定処理を示すフローチャートで
ある。
【図10】本発明の変形例に係るネットワークプリンタ
のブロック管理部を示す説明図である。
【符号の説明】
3 CPU 11 通信タスク 12 イメージ生成タスク 13 印刷タスク 17 ブロック管理部 21 ブロック管理部 22 パケット受信速度検出部 23 データ処理速度検出部 24 ブロックジェネレータ 25 空きメモリ量検出部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 3/12 B41J 5/30 G06F 12/08

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して受信したデータに
    基づいて印刷を行うネットワークプリンタにおいて、 ネットワークを介してデータを受信する通信処理部と、 前記通信処理部から入力されたデータを解釈してイメー
    ジデータを生成するイメージ生成処理部と、 前記イメージ生成処理部から入力されたイメージデータ
    に基づいてプリントエンジンを駆動制御することにより
    印刷を行う印刷処理部と、 前記ネットワークからのデータ受信速度と前記イメージ
    生成処理部におけるデータ処理速度とに応じて、前記通
    信処理部の稼働状態と前記イメージ生成処理部の稼働状
    態とを制御する稼働状態制御部とを備え 前記稼働状態制御部は、前記通信処理部から前記イメー
    ジ生成処理部へデータを転送するために用いる複数サイ
    ズのメモリブロックをそれぞれ複数個有しており、前記
    データ受信速度と前記データ処理速度とに応じて、前記
    各メモリブロックの中から次に使用するメモリブロック
    を決定することにより、前記通信処理部の稼働状態と前
    記イメージ生成処理部の稼働状態とを制御する ことを特
    徴とするネットワークプリンタ。
  2. 【請求項2】 前記稼働状態制御部は、 前回使用されたメモリブロックよりもサイズの小さいメ
    モリブロックが所定数以上空いている場合には、該サイ
    ズの小さいメモリブロックを選択し、 前回使用されたメモリブロックよりもサイズの小さいメ
    モリブロックが所定数以上空いていない場合であって、
    前回使用されたメモリブロックと同サイズのメモリブロ
    ックが空いている場合には、該同サイズのメモリブロッ
    クを選択し、 前記同サイズのメモリブロックが空いていない場合であ
    って、前回使用されたメモリブロックよりもサイズの大
    きいメモリブロックが空いている場合には、該サイズの
    大きいメモリブロックを選択する請求項に記載のネッ
    トワークプリンタ。
  3. 【請求項3】 前記稼働状態制御部には、初期値とし
    て、最少サイズのメモリブロックが設定されている請求
    に記載のネットワークプリンタ。
  4. 【請求項4】 前記稼働状態制御部には、初期値とし
    て、中間サイズのメモリブロックが設定されている請求
    に記載のネットワークプリンタ。
  5. 【請求項5】 ネットワークを介して受信したデータに
    基づいて印刷を行うネットワークプリンタにおいて、 ネットワークを介してデータを受信する通信処理部と、 前記通信処理部から入力されたデータを解釈してイメー
    ジデータを生成するイメージ生成処理部と、 前記イメージ生成処理部から入力されたイメージデータ
    に基づいてプリントエンジンを駆動制御することにより
    印刷を行う印刷処理部と、 前記ネットワークからのデータ受信速度と前記イメージ
    生成処理部におけるデータ処理速度とに応じて前記通信
    処理部から前記イメージ生成処理部へデータを転送する
    ために用いるメモリブロックのサイズを決定し、該決定
    されたサイズを有するメモリブロックを生成させること
    により前記通信処理部から前記イメージ生成処理部へ入
    力されるデータ転送量を制御して、前記通信処理部の稼
    働状態と前記イメージ生成処理部の稼働状態とを制御す
    る稼働状態制御部とを備えたことを特徴とするネットワ
    ークプリンタ。
  6. 【請求項6】 前記稼働状態制御部は、 前記データ受信速度が前記データ処理速度よりも遅い場
    合は、前回使用したメモリブロックよりも所定値以上サ
    イズの小さいメモリブロックを生成し、 前記データ受信速度が前記データ処理速度よりも速い場
    合は、前回使用したメモリブロックよりも所定値以上サ
    イズの大きいメモリブロックを生成し、 前記データ受信速度と前記データ処理速度とが均衡して
    いる場合は、前回使用したメモリブロックのサイズと所
    定範囲内のサイズを有するメモリブロックを生成する請
    求項に記載のネットワークプリンタ。
  7. 【請求項7】 ネットワークを介してデータを受信する
    通信タスクと、該通信タスクから入力されたデータを解
    釈してイメージデータを生成するイメージ生成タスク
    と、該イメージ生成タスクから入力されたイメージデー
    タに基づいて印刷させる印刷タスクとを、単一の中央演
    算処理装置(CPU)により切り換えて実行させるネット
    ワーク印刷方法であって、 前記印刷タスク、前記通信タスク、前記イメージ生成タ
    スクの順で、前記中央演算処理装置の実行権を獲得する
    ための優先度が高く設定されており、 前記ネットワークから前記通信タスクに入力されるデー
    タの受信速度と前記イメージ生成タスクによるデータ処
    理速度とに基づいて、前記イメージ生成タスクに適切な
    実行時間が与えられるように、前記イメージ生成タスク
    に入力するデータを格納するためのメモリブロックのサ
    イズを決定するステップと、 前記通信タスクにより、前記決定されたサイズのメモリ
    ブロックに前記ネットワークから受信したデータを格納
    させるステップと、 前記メモリブロックにデータが格納されたことを前記イ
    メージ生成タスクに通知するステップと、 前記イメージ生成タスクにより、前記メモリブロックか
    らデータを読み出してイメージデータを生成するステッ
    プと、 前記印刷タスクにイメージデータの生成を通知するステ
    ップと、 前記印刷タスクにより、前記入力されたイメージデータ
    に基づいて印刷させるステップと、を含んでなることを
    特徴とするネットワーク印刷方法。
JP29191098A 1998-10-14 1998-10-14 ネットワークプリンタ及びネットワーク印刷方法 Expired - Fee Related JP3289826B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP29191098A JP3289826B2 (ja) 1998-10-14 1998-10-14 ネットワークプリンタ及びネットワーク印刷方法
US09/415,206 US6618164B1 (en) 1998-10-14 1999-10-12 Network printer and network printing method
EP99308044A EP0994412B1 (en) 1998-10-14 1999-10-12 Network printer and network printing method
DE69936429T DE69936429T2 (de) 1998-10-14 1999-10-12 Netzwerkdrucker und Verfahren
AT99308044T ATE366434T1 (de) 1998-10-14 1999-10-12 Netzwerkdrucker und verfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29191098A JP3289826B2 (ja) 1998-10-14 1998-10-14 ネットワークプリンタ及びネットワーク印刷方法

Publications (2)

Publication Number Publication Date
JP2000122834A JP2000122834A (ja) 2000-04-28
JP3289826B2 true JP3289826B2 (ja) 2002-06-10

Family

ID=37622121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29191098A Expired - Fee Related JP3289826B2 (ja) 1998-10-14 1998-10-14 ネットワークプリンタ及びネットワーク印刷方法

Country Status (5)

Country Link
US (1) US6618164B1 (ja)
EP (1) EP0994412B1 (ja)
JP (1) JP3289826B2 (ja)
AT (1) ATE366434T1 (ja)
DE (1) DE69936429T2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060119881A1 (en) * 2004-12-04 2006-06-08 Zarco Maria F Methods and apparatus for managing configuration of an imaging device peripheral
JP4736761B2 (ja) * 2005-12-05 2011-07-27 富士ゼロックス株式会社 印刷装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4992958A (en) 1988-06-27 1991-02-12 Hitachi, Ltd. Method and apparatus for controlling printer
JP2877356B2 (ja) * 1989-06-21 1999-03-31 キヤノン株式会社 画像データ処理方法
JPH03213370A (ja) 1990-01-19 1991-09-18 Toshiba Corp ページプリンタ
JP2997513B2 (ja) * 1990-07-25 2000-01-11 株式会社日立製作所 シエアードプリンタシステム
JP3213370B2 (ja) 1992-04-14 2001-10-02 三洋電機株式会社 有機電解質電池
JPH09146726A (ja) * 1995-11-20 1997-06-06 Canon Inc プリンタサーバーシステムの制御方法
JPH09286152A (ja) 1996-04-22 1997-11-04 Canon Inc 出力装置及び方法
JPH1097391A (ja) 1996-09-20 1998-04-14 Oki Data:Kk プリンタシステムと印刷制御方法
EP0833479B1 (en) * 1996-09-27 2005-03-16 Hewlett-Packard Company, A Delaware Corporation Contention resolution process for data networks
JP3786152B2 (ja) * 1997-11-14 2006-06-14 セイコーエプソン株式会社 印刷システム、印刷方法及びプリンタ

Also Published As

Publication number Publication date
EP0994412B1 (en) 2007-07-04
ATE366434T1 (de) 2007-07-15
DE69936429D1 (de) 2007-08-16
US6618164B1 (en) 2003-09-09
EP0994412A2 (en) 2000-04-19
DE69936429T2 (de) 2008-03-13
EP0994412A3 (en) 2002-01-16
JP2000122834A (ja) 2000-04-28

Similar Documents

Publication Publication Date Title
JP3786152B2 (ja) 印刷システム、印刷方法及びプリンタ
JP5839845B2 (ja) 印刷装置、印刷方法及びプログラム
JPH11110143A (ja) 印刷をプリンタ・システムに実行させる方法、印刷実行方法、コンピュータ、及びプリンタ・システム
JP3254677B2 (ja) プリンタ及び印刷方法
JP3226095B2 (ja) ネットワークプリンタ
US20070139684A1 (en) Device for dynamically varying the priority of various processing in a printer
JP3337131B2 (ja) プリンタの制御装置およびタスク制御方法並びにプログラムを記録した記録媒体
JP4543945B2 (ja) 印刷システムおよびその制御方法および印刷管理プログラム
JP3289826B2 (ja) ネットワークプリンタ及びネットワーク印刷方法
JP3791089B2 (ja) ネットワーク対応型印刷装置及び印刷方法及びネットワーク印刷システム
JP4029656B2 (ja) プリントプログラムおよびプリントサーバ
JP2002011925A (ja) プリンタ、プリンタ制御方法及びプログラムを記録した記憶媒体
JP3189269B2 (ja) ネットワークプリンタ
JPH0887391A (ja) 印字装置
EP0994411B1 (en) Network-connectable printer, controller therefor, and control method
JP2007136824A (ja) 印刷装置及び印刷方法、コンピュータプログラム及び記憶媒体
JP3022104B2 (ja) プリンタ装置
JP2003150367A (ja) 印刷制御装置および印刷制御方法および記憶媒体およびプログラム
JP2000229451A (ja) プリンタ制御方法および装置
JP3499043B2 (ja) 印字装置
JP2004009499A (ja) 印字制御装置
JPH0930088A (ja) プリンタ装置及びその制御方法
JP5580584B2 (ja) 印刷制御装置、印刷制御装置の制御方法、およびプログラム
JP2001187468A (ja) プリンタ及び印刷方法
JP3455139B2 (ja) プリンタ、プリンタ制御方法、及び、プログラムを記録した記録媒体

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080322

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090322

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090322

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100322

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100322

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110322

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120322

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120322

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130322

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140322

Year of fee payment: 12

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees