JP2000122819A - ネットワークプリンタ - Google Patents

ネットワークプリンタ

Info

Publication number
JP2000122819A
JP2000122819A JP29243798A JP29243798A JP2000122819A JP 2000122819 A JP2000122819 A JP 2000122819A JP 29243798 A JP29243798 A JP 29243798A JP 29243798 A JP29243798 A JP 29243798A JP 2000122819 A JP2000122819 A JP 2000122819A
Authority
JP
Japan
Prior art keywords
task
network
communication
cpu
print
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.)
Granted
Application number
JP29243798A
Other languages
English (en)
Other versions
JP3189269B2 (ja
Inventor
Susumu Shiobara
進 塩原
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 JP29243798A priority Critical patent/JP3189269B2/ja
Priority to US09/417,363 priority patent/US6731395B1/en
Publication of JP2000122819A publication Critical patent/JP2000122819A/ja
Application granted granted Critical
Publication of JP3189269B2 publication Critical patent/JP3189269B2/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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • 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)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 1つのCPUでネットワーク通信と印刷ジョ
ブの処理とが問題無く行えるネットワークプリンタを提
供する。 【解決手段】 ネットワークプリンタ内の1つのCPU
31が、ネットワークから受信したパケットから通信プ
ロトコルに従って印刷ジョブデータを取り出す通信タス
ク63と、その印刷ジョブデータを解釈する言語タスク
65と、その解釈結果に基づいて印刷エンジン30へ送
るべきラスタイメージを作成する印刷タスク67とをマ
ルチに実行する。更に、CPU31は、通信タスク63
によって起動されるウォッチドッグタイマ(WDT)タ
スク69を有する。このWDTタスク63は、言語タス
ク65や印刷タスク67のビジーによって通信タスク6
3が長い間ブロックされてネットワークに応答を返せな
いとき、送信元がネットワーク55の接続を切断してし
まう前にビジーの応答をネットワークに返すことによっ
て接続を維持させ、それにより、後に通信タスク63が
ブロックから解放されたときに送信元から後続のパケッ
トを受信できるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信ネットワーク
から印刷ジョブデータを受信し印刷する機能を備えたネ
ットワークプリンタに関する。
【0002】
【従来の技術】図1は従来のネットワークプリンタの要
部の構成を示す。
【0003】プリンタ1は、パラレルインタフェ−ス1
1を標準的に有しており、このパラレルインタフェ−ス
11を用いて、通常1台のホストコンピュータ3と専用
ケーブル3により1対1で直接接続することができる。
一方、会社内などで複数のホストコンピュータがプリン
タ1を共用する場合には、社内LANのような通信ネッ
トワーク9にプリンタ1を接続することになる。その場
合には、オプション品であるネットワークインタフェー
スボード5をプリンタ1に増設し、このネットワークイ
ンタフェースボード5を介して通信ネットワーク9とプ
リンタ1とを接続する。
【0004】ネットワークインタフェースボード5は、
プリンタ1のCPU17とは非同期で動作する独自のC
PU23を備え、このCPU23が通信プロトコルを実
行してネットワーク9から受信したパケットから印刷ジ
ョブデータを取り出しボード5上のDRAM25に一旦
蓄え、その後に、その蓄えた印刷ジョブデータをプリン
タ1に送りこむ。
【0005】
【発明が解決しようとする課題】従来のプリンタは、ネ
ットワークに接続する場合、上記のようにネットワーク
インタフェースボード5が必要である。しかし、ネット
ワークインタフェースボード5は独自のCPU23とD
RAM25を備え、しかも、高性能のパフォーマンスを
発揮するためにCPU23は高速でありDRAM25は
大容量であるから、必然的に高価である。よって、ネッ
トワークプリンタの値段は相当に高い。
【0006】また、プリンタとホストとの間で双方向通
信を行おうとすると、ホスト3とネットワークインタフ
ェースボード5との間、及びネットワークインタフェー
スボード5とプリンタ本体との間の2箇所に、双方向通
信に対応した複雑なプロトコルが必要となる。また、ネ
ットワークインタフェースボード5が存在すれば、メモ
リ間のデータのコピー量も多くなる。その結果、プリン
タのパフォーマンスが悪化し、これが高速なネットワー
クプリンタを開発する場合の重大な問題点となってい
る。
【0007】従って、本発明の目的は、より安価なネッ
トワークプリンタを提供することにある。
【0008】本発明の別の目的は、ネットワークインタ
フェースボードが不要なネットワークプリンタを提供す
ることにある。
【0009】本発明のまた別の目的は、高速なネットワ
ークプリンタを提供することにある。
【0010】本発明の更に別の目的は、1つのCPUで
ネットワーク通信と印刷ジョブの処理とが問題無く行え
るネットワークプリンタを提供することにある。
【0011】
【課題を解決するための手段】本発明のネットワークプ
リンタは、通信ネットワークに接続されこの通信ネット
ワークからパケットを受信するネットワークインタフェ
ース回路と、1つのCPUと、このCPUが使用するR
AMであって、印刷ジョブデータを蓄えるための印刷デ
ータバッファを含むRAMと、印刷ジョブデータのCP
Uによる解釈結果を基にイメージデータを生成する印刷
イメージ生成手段と、そのイメージデータに基づいて記
録媒体にイメージを印刷する印刷機構とを備える。そし
て、CPUは、(1)ネットワークインタフェース回路
が受信したパケットから、通信ネットワークで使用され
ている通信プロトコルを識別し、識別された通信プロト
コルに従ってパケットから印刷ジョブデータを取り出し
て印刷データバッファに書き込むと共に、パケットを受
信した旨の第1の応答を通信ネットワークへ向けて返す
通信処理手段と、(2)印刷データバッファ内の印刷ジ
ョブデータを解釈する言語処理手段と、(3)上記識別
された通信プロトコルが、送信側がパケットの送信から
制限時間以内に受信側から応答を受けないと接続を切る
ような種類である場合に、上記通信処理手段がパケット
を受信した旨の応答を上記制限時間以内に返せないとき
に、通信処理手段に代わって制限時間以内に所定の第2
の応答を通信ネットワークへ向けて返すウォッチドック
タイマ手段とを有する。
【0012】このネットワークプリンタによれば、1つ
のCPUがネットワークとの通信処理及び受信した印刷
ジョブデータの言語処理とを行うので、独自のCPUを
もったネットワークインタフェースボードが不要とな
り、よって、安価であると共に高速化も容易である。
【0013】また、1つのCPUで通信処理と言語処理
とを行った場合、RAM不足やエラー発生などの原因で
言語処理が進まなくなり印刷データバッファの空きがな
くなると、通信処理もブロックされてしまい、ネットワ
ーク上の送信元へ応答を返せなくなる。すると、ある種
の通信プロトコルを使用している場合には、所定の制限
時間以内の応答が返らないと送信元は受信側がダウンし
ているとみなして通信接続を切断してしまう。そうなる
と、後に通信処理手段がブロックから解放されても、後
続のパケットが送信元から来ないので完全な印刷ができ
ないことになる。ところが、本発明のネットワークプリ
ンタは、通信処理手段がブロックされても、ウォッチド
ッグタイマ手段が代わって適当な応答(例えばビジーの
応答)を返すため、送信元は接続を切断せず、後に通信
処理手段がブロックから復帰したときに後続のパケット
を受信して印刷を継続することができる。
【0014】好適な実施形態では、ウォッチドッグタイ
マ手段は、実質的にネットワークインタフェース回路が
パケットを受信したときに起動して、通信処理手段が応
答を返さない限り上記制限時間より短い所定の時間をカ
ウントし、タイムアウトによりビジーなどの応答を返す
ようになっている。
【0015】好適な実施形態では、通信処理手段が、通
信プロコルを識別したときに、その識別された通信プロ
トコルが制限時間内に応答がないと接続を切るような所
定の種類であると、ウォッチドックタイマ手段を起動す
るようになっている。
【0016】好適な実施形態では、RAMには、印刷デ
ータバッファの他に、受信パケットを蓄積するためのネ
ットワークワークメモリを含み、CPUは、ネットワー
クインタフェース回路がパケットを受信したときに割込
処理を起動して、その受信パケットをネットワークワー
クメモリに書き込むようになっている。また、上述した
通信処理手段、言語処理手段及びウォッチドッグタイマ
(WDT)手段はそれぞれCPUのタスク(通信タス
ク、言語タスク、WDTタスク)として実行されるよう
になっている。更に、上述したイメージ手段もCPUの
タスク(印刷タスク)として実行されるようになてい
る。
【0017】好適な実施形態では、通信タスク、言語タ
スク及び印刷タスクのうち、印刷タスクに最も高い優先
順位が付与され、通信タスクに2番目の優先順位が付与
され、言語タスクに最も低い優先順位が付与されてい
る。WDTタスクは、通信タスクに付随して実行され
る。
【0018】
【発明の実施の形態】図2は、本発明の一実施形態にか
かるネットワークプリンタの要部の構成を示す。
【0019】ネットワークプリンタ100は、例えば電
子写真プロセスを実行して用紙上に実際のイメージを形
成する印刷エンジン30と、外部のホストコンピュータ
(図示せず)から受信した印刷ジョブデータに基づいて
印刷エンジン30へ送るべきラスタイメージデータを生
成する1つのCPU31とを有する。
【0020】CPU31のシステムバス33には、高速
アクセスに適した大容量のSDRAM(シンクロナスD
RAM)33が接続されている。このSDRAM33
は、ネットワークから受信したパケットを蓄積するため
のネットワークワークメモリ351、印刷ジョブデータ
を蓄積するための印刷データバッファ353、印刷ジョ
ブデータから生成されるページ単位の印刷要求を順番に
蓄積する印刷キュー355、各ページの印刷要求から生
成されるラスタイメージを蓄積する印刷イメージバッフ
ァ357、及びCPU31のその他のワークメモリ35
9などとして使用される。
【0021】また、キャラクタフォントを格納したキャ
ラクタROM37やCPU31用プログラムコードを格
納したプログラムROM39などが、メモリ用データバ
ス43に接続されている。
【0022】入出力制御回路45は、パラレルインタフ
ェース回路451とシリアルインタフェース回路453
と更に第3の汎用インタフェース回路455とをもつ。
パラレルインタフェース回路451とシリアルインタフ
ェース回路453には、それぞれ、専用ケーブルを介し
て例えばホストコンピュータ61、63を1台づつ接続
することができる。汎用インタフェース回路455に
は、例えば従来のオプションネットワークインタフェー
スボード65を接続することができる(これを増設する
と、後述する標準装備のネットワークインタフェース回
路51との併用で、異なる2つのネットワークにこのプ
リンタ30を接続することができる)。この入出力制御
回路45は、上述したCPU31側に対してデータを入
出力するためのバス47に接続されている。また、入出
力制御回路45にはEEPROM48が接続されてお
り、このEEPROM48にはこのプリンタ30の解像
度や用紙サイズなどのステータス設定情報が保存される
(これは必要に応じユーザによって書き換えられる)。
【0023】メモリ制御回路41が、上述したCPUの
システムバス33と、メモリ用データバス43と、入出
力制御回路45からのバス47とに接続されている。メ
モリ制御回路41は、CPU31からの指令で、ROM
37、39からデータを読み出したり、SDRAM35
にデータを読み書きしたりする機能をもつ。また、メモ
リ制御回路41はDMAコントローラを内蔵し、後述す
る入出力制御回路45からの印刷ジョブデータをDMA
の方法でSDRAM35の印刷データバッファ353へ
書きこんだり、SDRAM35の印刷イメージバッファ
355内のラスタイメージをDMAの方法で印刷エンジ
ン30へ転送したりする機能ももつ。
【0024】メモリ用データバス43にはさらに、ネッ
トワーク55に接続するためのネットワークインタフェ
ース回路51が接続されている。このネットワークイン
タフェース回路51は物理層制御回路513とデータリ
ンク層制御回路511とを有する。物理層制御回路51
3は、ネットワーク通信プロトコルの物理層の制御、す
なわち、ネットワーク55上の電気信号とネットワーク
インタフェース回路51内部の電気信号(例えばTTL
信号)との間の変換を行う。データリンク層制御回路5
11は、ネットワーク通信プロトコルのデータリンク層
の制御、すなわち、ネットワーク55から受信したパケ
ットからデータリンク層までのヘッダやフッタを外し、
そこに含まれる宛先ネットワークアドレス(例えば、宛
先IPアドレス)に基づいて、このプリンタ30宛ての
パケットを識別して抽出する処理を行う。データリンク
層制御回路511は小容量のSRAM515とEEPR
OM517とを有している。データリンク層制御回路5
11が抽出したプリンタ30宛てのパケットはSRAM
515に一時的に蓄えられる。EEPROM517に
は、このプリンタ30のIPアドレスなどは格納されて
いる(これは、前述のEEPROM48のステータ設定
情報と異なり、ユーザによって随時に書きかえられるこ
とはない)。
【0025】以下、上述した構成中の主要な要素の機能
を説明する。
【0026】ネットワークインタフェース回路51のデ
ータリンク層制御回路511は、前述したようにネット
ワーク55から受信したパケット中からこのプリンタ3
0宛てのパケットを抽出してSRAM515に書きこむ
が、所定量のパケットがSRAM515に貯まると、信
号線53を通じて通信要求を入出力制御回路49に対し
て送る。
【0027】入出力制御回路49は、上記通信要求を受
けると、信号線49を通じて通信割込要求をCPU31
に対して送る。また、入出力制御回路49は、自己のイ
ンタフェース回路451、453、455から単位量
(例えば、1バイト)のデータを受信すると、DMAの
リクエストをメモリ制御回路41へ送る。
【0028】メモリ制御回路41は、後述するCPU3
1の通信割込処理においてCPU31からの指示によ
り、ネットワークインタフェース回路51のSRAM5
15からパケットを読みこみCPU31に渡す。また、
メモリ制御回路41は、入出力制御回路45からDMA
リクエストを受けると、入出力制御回路45が受信した
データを入出力制御回路45から読みこんで、DMAに
よりSDRAM35の印刷データバッファ353に書き
こむ。
【0029】CPU31は、通信タスク、言語タスク及
び印刷タスクの3つのタスクを実行し、また、幾つかの
割込処理も実行する。割込処理の一つに通信割込があ
り、これは上述した入出力制御回路45からの通信割込
要求(つまり、ネットワークインタフェース回路513
からの通信要求)によって実行開始される。通信割込で
は、CPU31は前述したようにメモリ制御回路41を
通じてネットワークインタフェース回路51からパケッ
トを受け取り、これをSDRAM35のネットワークワ
ークメモリ351に書きこむ。
【0030】図3は、CPU31の通信、言語及び印刷
の3つのタスクを示している。
【0031】CPU1の通信タスク63は、上述の通信
割込61によってSDRAM35のネットワークワーク
メモリ351にパケットが書きこまれるのを待ってい
て、パケットが書きこまれるとネットワークワークメモ
リ351上のパケットからまず通信プロトコルの種類
(例えば、TCP/IP、NetBIOSなど)を識別
し、識別した通信プロトコルに従ってパケットから印刷
に不要なヘッダやフッタを外して印刷ジョブデータを取
り出し、その印刷ジョブデータをSDRAM35の印刷
データバッファ353に書きこむ。通信タスク63は、
印刷データバッファ353に空きがある限り、パケット
を受信してそのパケットから印刷ジョブデータを取り出
し印刷データバッファ353に書きこむ動作を継続す
る。
【0032】CPU31の言語タスク65は、上述した
通信タスク65又はメモリ制御回路41のDMAによっ
てSDRAM35の印刷データバッファ353に印刷ジ
ョブデータが書き込まれるのを待っていて、印刷ジョブ
データが書き込まれると、これを読み出し解釈してペー
ジ単位の印刷要求を作成し、その印刷要求をSDRAM
35の印刷キュー355に書きんでいく。
【0033】CPU31の印刷タスク67は、上述の言
語タスク65によって印刷キュー355に印刷要求が書
きこまれるのを待っていて、印刷要求が書きこまれる
と、これを印刷キュー355から読み出し、この印刷要
求に基づいてラスターイメージを作成してSDRAM3
5内の印刷イメージバッファ357に展開する。印刷イ
メージバッファに展開されたラスタイメージは、前述し
たようにメモリ制御41のDMAにより印刷エンジン3
5に転送される。
【0034】通信タスク63、言語タスク65及び印刷
タスク67の3つのタスクには、優先順位が予め付けら
れていて、CPU31は優先順位のより高いタスクを優
先して実行する。電子写真方式の印刷エンジン30を用
いる場合、最も優先順位の高いのは印刷タスク67であ
る。その理由は、印刷エンジン30が動いて用紙を搬送
しつつ頁の印刷を行っている間、印刷エンジンの印刷速
度に遅れないように頁のラスターイメージを作成しなけ
ればならないからである。2番目の優先順位をもつのは
通信タスク63である。その理由は、ネットワーク55
からパケットの受信を開始したら、できるだけ短時間に
全パケットを受信し終えて、送信元のホストコンピュー
タを早期に解放することが望まれるからである。最も優
先順位が低いのは言語タスク65である。その理由は、
もし言語タスク65が通信タスク63より優先順位が高
いと、受信した印刷ジョブデータを全て解釈し終わるま
で、通信タスク63が後続のパケットを受信することが
できなくなるからである。従って、言語タスク65は、
印刷タスク67と通信タスク63が待機状態にあるとき
に実行されて印刷要求を作ることになる。
【0035】以下に、このネットワークプリンタ100
のデータ受信からラスタイメージ生成までの概略的な動
作を説明する。
【0036】ネットワーク55からネットワークインタ
フェース回路51にデータ受信する場合の動作は次の
(1)〜(4)の手順の通りである。
【0037】(1) ネットワークインタフェース回路
51が、ネットワーク55からパケットを受信すると、
SRAM515に所定量のパケットが貯まった時点で、
CPU31に対して通信割込要求が発される。
【0038】(2) すると、CPU31は通信割込6
1を実行して、ネットワークインタフェース回路51か
らパケットを読み出し、これをSDRAM35のネット
ワークワークメモリ351に書きこむ。
【0039】(3) 次に、CPU31は通信タスク6
3を実行して、ネットワークワークメモリ351上のパ
ケットから印刷に不必要なヘッダやフッタの部分を削除
して、正味の印刷ジョブデータを取りだし印刷データバ
ッファ353にコピーする。
【0040】(4) 次に、CPU31は言語タスク6
5を実行して、印刷データバッファ353内の印刷ジョ
ブデータを読み出し頁単位の印刷要求を作成して印刷キ
ュー355に書きこみ、また、印刷タスク67を実行し
て、その印刷要求をラスタイメージに変換して印刷イメ
ージバッファ357に書きこむ。
【0041】次に、入出力制御回路45のパラレル、シ
リアル又は汎用インタフェースにデータ受信する場合の
動作は次の(1)〜(6)の手順の通りである。
【0042】(1) CPU31はメモリ制御回路41
のDMAコントローラに対して、入出力制御回路45か
らのデータを指定サイズ分だけSDRAM35の印刷デ
ータバッファ353に書きこむように、パラメータ設定
をする。
【0043】(2) 入出力制御回路45が、ホストコ
ンピュータ61、63などから単位サイズ(例えば1バ
イト)のデータを受信すると、メモリ制御回路41に対
してDMAリクエストを発生する。
【0044】(3) すると、メモリ制御回路41は、
入出力制御回路45の受信データをDMAによりSDR
AM35の印刷データバッファ353に書きこむ。
【0045】(4) 上記(2)及び(3)の動作が、
上記(1)でメモリ制御回路41に設定された指定サイ
ズ分のデータが印刷データバッファ353に書きこまれ
るまで繰り返される。
【0046】(5) メモリ制御回路41は、上記
(1)で設定された指定サイズ分のデータ書き込みが終
了すると、CPU31に対して割り込みを発生する。
【0047】(6) するとCPU31は言語タスク6
5を実行して、印刷データバッファ353内の印刷ジョ
ブデータを読み出し頁単位の印刷要求を作成して印刷キ
ュー355に書きこみ、また、印刷タスク67を実行し
て、その印刷要求をラスタイメージに変換して印刷イメ
ージバッファ357に書きこむ。
【0048】さて、再び図3を参照する。図3に示すよ
うに、CPU31は上述した通信、言語及び印刷タスク
63〜67の他に、更にウォッチドッグタイマ(WD
T)タスク69を有している。このWDTタスク69
は、通信タスク63によって必要ある場合に(通信プロ
トコルに応じて要か不要かが異なる)起動され、通信タ
スク63がブロック(処理が進められない状態、典型的
にはパケットから取り出した印刷ジョブデータを印刷デ
ータバッファ3551に書き込めない状態)されたとき
に、通信タスク53に代わってネットワーク55上の送
信元へ適当な応答を返すものである。
【0049】すなわち、言語タスク65や印刷タスク6
7がビジーになって処理から戻らなくなると、通信タス
ク63はブロックされてしまう。特に、印刷データバッ
ファ353が不足して排紙終了まで空きができない場合
や、紙ジャムなどのエラーが生じた場合などには、通信
タスク63が長い間ブロックされたままになる。通信タ
スク63は、ブロックされている間、ネットワーク55
に応答を返すことができない。数ある通信プロトコルの
中には、例えばTCP/IPのように、送信元は受信側
から応答が返らない間ずっと待っていて、応答が返ると
送信を再開するというものもあるが、一方、例えばNe
tBIOSのように、送信元は所定の制限時間(例えば
30秒間)待っても受信側から応答が返らないと、受信
側がダウンしたものとして接続を切ってしまい、後に応
答が返っても送信を再開しないものとがある。前者のプ
ロトコルで通信している場合は、通信タスク63が長い
間ブロックされても問題はないが、後者のプロトコルの
場合には、通信タスク63が上記制限時間以上ブロック
されてしまうとネットワーク55の接続を相手のホスト
コンピュータから絶たれてしまい、印刷を完了させるこ
とができなくなる。
【0050】そこで、後者のような通信プロトコルを用
いている場合には、WDTタスク69が通信タスク63
の起動に付随して(つまり、実質的にパケットの受信と
同時に)起動されて、通信タスク63がブロックされて
も、WDTタスク69が相手が接続を断つ前に適当な応
答(例えば、ビジーを示すパケット)を返すことによっ
て、接続が維持されるようにするのである。因みに、図
1に示した従来のプリンタでは、ネットワークインタフ
ェースボード5内のCPU23が、プリンタ本体1内で
プリンファームウェア(言語タスクや印刷タスク)を実
行するCPU17から独立して通信タスクを実行するた
め、プリンファームウェアのビジーによる通信タスクの
ブロックという問題は発生しない。本発明のように1つ
のCPU31でプリンタファームウェアと通信タスクと
を多重に実行場合に、WDTタスク69が必要となるの
である。
【0051】なお、以下の説明では、従来のプリンタで
は言語タスクと印刷タスクがプリンタファームウェアで
あったことに由来して、「プリンタファームウェア」と
いう用語を、言語タスク65と印刷タスク67を総称す
るときに使う。
【0052】図4は、通信タスク63がWDTタスク6
9を起動した上で受信パケットを処理する流れを示して
いる。
【0053】図4に示すように、通信タスク63は、通
信割込61によってネットワークワークメモリ351に
書きこまれたパケットを読み(ステップS1)、そのパ
ケットの通信プロトコルを識別してWDTタスク69を
起動させる必要があるか否かを判断する(S3)。例え
ば、TCP/IPであれば「不要」、NetBIOSで
あれば「必要」と判断する。不要であればWDTタスク
69を起動しないが、必要であればWDTタスク69を
起動する(S3)。
【0054】次に、通信タスク63は、先に識別した通
信プロトコルの制御に入り、まず、パケットから取り出
した印刷ジョブデータをプリンタファームウェアに渡せ
るか否かを判断する(S4)。プリンタファームウェア
にデータを渡せない事態は、典型的には、プリンタファ
ームウェアがビジーで印刷データバッファ353が満杯
であって印刷データバッファ353にデータを書きこめ
ないときに生じる。プリンタファームウェアに印刷ジョ
ブデータが渡せない場合(ステップS4でNo)、それ
が渡せるようになるまで(典型的には印刷データバッフ
ァ353に空きができるまで)通信タスク63はブロッ
クされる。このブロックされている間、WDTタスク6
9がネットワーク55にビジーの応答を定期的に返すこ
とになる。
【0055】プリンタファームウェアにデータが渡せる
場合(S4でYes)、通信タスク63は受信パケット
から取り出した印刷ジョブデータを印刷データバッファ
353に書きこむ(S5)。データ書き込みが終わる
と、続いて、通信タスク63はパケットを正常に受信し
た旨の応答(換言すれば、次のパケットを要求する応
答)をネットワーク55に返し(S6)、そして、現在
WDTタスク69が作動しているか判断し(S7)、作
動しているならWDTタスク69のタイマカウントをゼ
ロにリセットする(又はWTDタスク69を終了させ
る)(S7)。
【0056】パケットを正常に受信した旨の応答をネッ
トワーク55に返すと、この応答を受けて送信元のホス
トコンピュータが次のパケットを送って来るので、その
パケットが再び通信割込61によってネットワークワー
クメモリ351に書きこまれ、そして通信タスク63が
再び図4に示した流れを実行することになる。
【0057】図5は、WDTタスク69の流れを示す。
【0058】WDTタスク69は、前述したように実質
的にネットワーク55からパケットが受信された時点で
通信タスク63によって起動され、起動されると図5に
示すように所定時間のタイムカウントを開始する(S1
1)。この所定時間は、現在の通信プロトコルにおいて
その時間内に応答が無いと送信側が接続を切ってしまう
制限時間よりも短い時間に設定されており、これは個々
の通信プロトコルに応じて異なる値であっても、複数の
通信プロトコルを通じて共通の値であってもよい。WD
Tタスクは、上記所定時間をカウントし終わる(つま
り、タイムアウトになる)までタイムカウントを続け
る。
【0059】通信タスク63が正常に実行されている間
は、通信タスク63がネットワーク55にパケット受信
の旨の応答を返したときにWTDタスク69のカウント
はリセットされる(又は、WTDタスク69が終了させ
られる)ので、タイムアウトにならない。一方、前述し
たようにメモリ不足やエラーなどで通信タスク63が長
くブロックされると、その間にWDTタスク69でタイ
ムアウトが生じる(S12でYes)。タイムアウトに
なると直ちに、WTDタスク69はビジーの旨の応答を
ネットワーク55に返す(S13)。そして、WDTタ
スク69は終了する。
【0060】このビジーの応答を返すことによって、送
信元のホストコンピュータは受信側がビジーであること
を知り、ビジーが解除されるまでネットワーク55の接
続を維持することになる。その後、通信タスク63がブ
ロックから解放されて図4に示した流れを実行できるよ
うになると、通信タスク63からパケット受信の旨の応
答が送信側へ返され、これに応えて送信側が次のパケッ
トが送ってくることになる。
【0061】以上、本発明の一実施形態を説明したが、
この実施形態はあくまで本発明の説明のための例示であ
り、本発明をこの実施形態にのみ限定する趣旨ではな
い。従って、本発明は、上記実施形態以外の様々な形態
でも実施することができる。例えば、上記実施形態で
は、入出力制御回路45で受信したデータのSDRAM
35への書き込みはDMAで行ない、ネットワークイン
タフェース回路51で受信したデータのSDRAM35
への書き込みはCPUの割込処理により行っているが、
必ずしもそうする必要はなく、両方ともDMAで行って
もよいし、両方とも割込処理で行ってもよいし、或い
は、上記実施形態とは逆にしてもよい。また、上記実施
形態ではCPU31が通信、言語及び印刷の3つのタス
クを実行するが、印刷タスクは専用ハードウェアで行う
ようにしてもよい。
【図面の簡単な説明】
【図1】従来のネットワークプリンタの要部の構成を示
すブロック図。
【図2】本発明の一実施形態にかかるネットワークプリ
ンタの要部の構成を示すブロック図。
【図3】CPU31の3つのタスクを示す説明図。
【図4】通信タスク63がWDTタスク69を起動させ
つつ受信パケットを処理する流れを示すフローチャー
ト。
【図5】WDTタスク69の流れを示すフローチャー
ト。
【符号の説明】
100 ネットワークプリンタ 30 印刷エンジン 31 CPU 35 SDRAM 351 ネットワークワークメモリ 353 印刷データバッファ 355 印刷キュー 357 印刷イメージバッファ 41 メモリ制御回路 45 入出力制御回路 451 パラレルインタフェース回路 453 シリアルインタフェース回路 455 汎用インタフェース回路 48 EEPROM 51 ネットワークインタフェース回路 511 データリンク層制御回路 513 物理層制御回路 515 SRAM 517 EEPROM 61 通信割込 63 通信タスク63 65 言語タスク 67 印刷タスク

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 通信ネットワークに接続可能なネットワ
    ークプリンタにおいて、 前記通信ネットワークに接続され、この通信ネットワー
    クからパケットを受信するネットワークインタフェース
    回路と、 1つのCPUと、 前記CPUが使用するRAMであって、印刷ジョブデー
    タを蓄えるための印刷データバッファを含むRAMと、 前記印刷ジョブデータの前記CPUによる解釈結果を基
    にイメージデータを生成する印刷イメージ生成手段と、 前記イメージデータに基づいて記録媒体にイメージを印
    刷する印刷機構とを備え、 前記CPUは、 (1)前記ネットワークインタフェース回路が受信した
    パケットから、前記通信ネットワークで使用されている
    通信プロトコルを識別し、識別された通信プロトコルに
    従って前記パケットから印刷ジョブデータを取り出して
    前記印刷データバッファに書き込むと共に、前記パケッ
    トを受信した旨の第1の応答を前記通信ネットワークへ
    向けて返す通信処理手段と、 (2)前記印刷データバッファ内の印刷ジョブデータを
    解釈する言語処理手段と、 (3)前記識別された通信プロトコルが、送信側が前記
    パケットの送信から制限時間以内に受信側から応答を受
    けないと接続を切るような種類である場合、前記通信処
    理手段が前記パケットを受信した旨の応答を前記制限時
    間以内に返せないときに、前記通信処理手段に代わって
    前記制限時間以内に所定の第2の応答を前記通信ネット
    ワークへ向けて返すウォッチドックタイマ手段とを有す
    るネットワークプリンタ。
  2. 【請求項2】 前記ウォッチドッグタイマ手段は、実質
    的に前記ネットワークインタフェース回路が前記パケッ
    トを受信したときに起動して、前記通信処理手段が前記
    第1の応答を返さない限り前記制限時間より短い所定の
    時間をカウントし、タイムアウトにより前記第2の応答
    を返す請求項1記載のネットワークプリンタ。
  3. 【請求項3】 前記通信処理手段が、前記通信プロコル
    を識別したときに、前記識別された通信プロトコルが所
    定の種類であると前記ウォッチドックタイマ手段を起動
    する請求項1記載のネットワークプリンタ。
  4. 【請求項4】 前記RAMは、前記ネットワークインタ
    フェース回路からの前記パケットを蓄積するためのネッ
    トワークワークメモリを含み、 前記CPUは、前記ネットワークインタフェース回路が
    前記パケットを受信したときに、割込処理として前記パ
    ケットを前記ネットワークワークメモリに書き込む通信
    割込手段を更に有する請求項1記載のネットワークプリ
    ンタ。
  5. 【請求項5】 前記通信処理手段、前記言語処理手段及
    び前記ウォッチドッグタイマ手段がそれぞれCPUのタ
    スクである請求項1記載のネットワークプリンタ。
  6. 【請求項6】 前記通信処理手段のタスクに対して前記
    言語処理手段のタスクより高い優先順位が付与され、前
    記CPUは優先順位の高いタスクを優先的に実行する請
    求項5記載のネットワークプリンタ。
  7. 【請求項7】 前記イメージ作成手段も前記CPUのタ
    スクである請求項5記載のネットワークプリンタ。
  8. 【請求項8】 前記通信処理手段、言語処理手段及びイ
    メージ生成手段の3つのタスクのうち、前記イメージ生
    成手段のタスクに最も高い優先順位が付与され、前記通
    信処理手段のタスクに2番目の優先順位が付与され、前
    記言語処理手段のタスクに最も低い優先順位が付与さ
    れ、前記CPUは優先順位の高いタスクを優先的に実行
    する請求項7記載のネットワークプリンタ。
JP29243798A 1998-10-14 1998-10-14 ネットワークプリンタ Expired - Fee Related JP3189269B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29243798A JP3189269B2 (ja) 1998-10-14 1998-10-14 ネットワークプリンタ
US09/417,363 US6731395B1 (en) 1998-10-14 1999-10-13 Network printer with watch dog timer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29243798A JP3189269B2 (ja) 1998-10-14 1998-10-14 ネットワークプリンタ

Publications (2)

Publication Number Publication Date
JP2000122819A true JP2000122819A (ja) 2000-04-28
JP3189269B2 JP3189269B2 (ja) 2001-07-16

Family

ID=17781790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29243798A Expired - Fee Related JP3189269B2 (ja) 1998-10-14 1998-10-14 ネットワークプリンタ

Country Status (2)

Country Link
US (1) US6731395B1 (ja)
JP (1) JP3189269B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018091945A (ja) * 2016-12-01 2018-06-14 コニカミノルタ株式会社 画像形成装置
JP2019001107A (ja) * 2017-06-16 2019-01-10 キヤノン株式会社 印刷制御装置、制御方法、プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3943992B2 (ja) * 2002-05-28 2007-07-11 キヤノン株式会社 画像形成装置及びアクセス制御方法
JP4143501B2 (ja) * 2003-08-22 2008-09-03 キヤノン株式会社 画像供給装置と、当該画像供給装置と記録装置とを含む記録システムとその通信制御方法
JP4018686B2 (ja) * 2003-12-10 2007-12-05 キヤノン株式会社 情報処理装置および方法並びにプログラム
JP5817287B2 (ja) * 2011-07-25 2015-11-18 株式会社リコー 情報処理装置と情報処理方法とプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784622A (en) * 1992-11-18 1998-07-21 Canon Kabushiki Kaisha Method and apparatus for multiprotocol operation of a networked peripheral
US5699494A (en) * 1995-02-24 1997-12-16 Lexmark International, Inc. Remote replication of printer operator panel
US5727135A (en) * 1995-03-23 1998-03-10 Lexmark International, Inc. Multiple printer status information indication
US5651114A (en) * 1995-06-23 1997-07-22 Lexmark International, Inc. External network adapter for handling normal and alternate channel data over a single bi-directional channel connected to a printer
US6181694B1 (en) * 1998-04-03 2001-01-30 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communciations using intelligently bridged TDM and packet buses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018091945A (ja) * 2016-12-01 2018-06-14 コニカミノルタ株式会社 画像形成装置
JP2019001107A (ja) * 2017-06-16 2019-01-10 キヤノン株式会社 印刷制御装置、制御方法、プログラム

Also Published As

Publication number Publication date
JP3189269B2 (ja) 2001-07-16
US6731395B1 (en) 2004-05-04

Similar Documents

Publication Publication Date Title
JP3226095B2 (ja) ネットワークプリンタ
JP3384686B2 (ja) 通信ネットワークから情報を受信するための方法および装置
US5627658A (en) Automatic networked facsimile queuing system
US6434643B1 (en) Transmission of status information by a selected one of multiple transfer modes based on the cause for sending the status information
JP3127523B2 (ja) 通信制御装置およびデータ送信方法
JPH10222331A (ja) プリントシステム
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
JP3189269B2 (ja) ネットワークプリンタ
JP4708818B2 (ja) ネットワーク装置及びその制御方法
US20050141032A1 (en) Image forming apparatus and print system
JP2924783B2 (ja) リモートリード処理方法およびその装置
JP2005074928A (ja) データ処理システム、データ処理装置、及びデータ受信プログラム
JP2000259362A (ja) プリンタ及びプリンタのデータ処理方法
JP2000122818A (ja) ネットワークプリンタ
JPH11149455A (ja) メモリディスク共有方法及びその実施装置
KR100600794B1 (ko) 패킷폭주시 패킷수신동작을 제한하는 네트워크 통신노드및 그 방법
JP2000155738A (ja) データ処理装置
JP2853607B2 (ja) ジョブ間通信システム
JP3799741B2 (ja) バスコントローラ
JP3598924B2 (ja) データ転送制御装置、情報記憶媒体及び電子機器
JP3606145B2 (ja) データ転送制御装置及び電子機器
JP2776274B2 (ja) 中継計算機における仮想バッファ制御システム
JP3457084B2 (ja) パケットバス制御装置
CN117743252A (zh) 基于Mailbox的异构Soc子系统间通信的方法
JP2004355041A (ja) Dma転送中継装置,dma転送方法,及びdma転送システム

Legal Events

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

Free format text: PAYMENT UNTIL: 20080518

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090518

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140518

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees