JP2008073887A - 印刷装置及び論理パケット処理方法 - Google Patents

印刷装置及び論理パケット処理方法 Download PDF

Info

Publication number
JP2008073887A
JP2008073887A JP2006253094A JP2006253094A JP2008073887A JP 2008073887 A JP2008073887 A JP 2008073887A JP 2006253094 A JP2006253094 A JP 2006253094A JP 2006253094 A JP2006253094 A JP 2006253094A JP 2008073887 A JP2008073887 A JP 2008073887A
Authority
JP
Japan
Prior art keywords
packet
logical
processing
mode
packets
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
JP2006253094A
Other languages
English (en)
Other versions
JP4259557B2 (ja
JP2008073887A5 (ja
Inventor
Tsutomu Mogi
努 茂木
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 JP2006253094A priority Critical patent/JP4259557B2/ja
Priority to US11/901,874 priority patent/US8041842B2/en
Publication of JP2008073887A publication Critical patent/JP2008073887A/ja
Publication of JP2008073887A5 publication Critical patent/JP2008073887A5/ja
Application granted granted Critical
Publication of JP4259557B2 publication Critical patent/JP4259557B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】クライアントとの間で論理パケットを送受信する印刷装置において、印刷処理に用いられるマイクロプロセッサが高負荷状態となることを抑制することが可能な技術を提供する。
【解決手段】印刷装置は、クライアントから複数種類の論理パケットを受信する受信部と、論理パケットをハードウェアで処理するハードウェアパケット処理部と、マイクロプロセッサを有しており論理パケットをソフトウェアで処理するソフトウェアパケット処理部と、複数種類の論理パケットを、ハードウェアパケット処理部で処理すべき論理パケットと、ソフトウェアパケット処理部で処理すべき論理パケットと、に仕分ける仕分け部と、を備える。
【選択図】図1

Description

本発明は、印刷装置において、印刷処理に用いられるマイクロプロセッサが高負荷状態となることを抑制する技術に関する。
従来からクライアント(パーソナルコンピュータ等)と印刷装置とが接続された印刷システムにおいて、クライアントと印刷装置との間のデータ通信が論理パケットの送受信によって行われる場合があった。例えば、クライアントとプリンタとがUSB(Universal Serial Bus)で接続された印刷システムにおいて、印刷データや制御コマンド等がD4プロトコルで規定された論理的なパケット(以下、「D4パケット」と呼ぶ。)でやりとりされる場合があった。なお、D4プロトコルとは、IEEE 1284.4で規定された通信プロトコルである。このように、印刷データや制御コマンド等がD4パケットでやりとりされるシステムとして、下記特許文献1に記載されたネットワークシステムが挙げられる。
特開2006−139585号公報
一般に、印刷装置はマイクロプロセッサを備えており、このマイクロプロセッサが所定のソフトウェア(ファームウェア)を実行することで、印刷を行う機構(プリンタエンジン)を駆動して印刷処理が行われる。ここで、論理パケットの送受信によってクライアントとの間でデータ通信を行う印刷装置では、前述のマイクロプロセッサが、印刷処理と併せて、論理パケットを解釈して所定の処理を実行する構成であることが多い。このような構成では、クライアントから頻繁に論理パケットを受信する等によって論理パケットの処理負荷が大きくなると、マイクロプロセッサが高負荷状態となって印刷処理が滞り、印刷に長時間を要するといった問題が発生し得る。
本発明は、クライアントとの間で論理パケットを送受信する印刷装置において、印刷処理に用いられるマイクロプロセッサが高負荷状態となることを抑制することが可能な技術を提供することを目的とする。
上記目的を達成するために、本発明は、クライアントに接続された印刷装置であって、前記クライアントから複数種類の論理パケットを受信する受信部と、前記論理パケットをハードウェアで処理するハードウェアパケット処理部と、マイクロプロセッサを含み、前記論理パケットをソフトウェアで処理するソフトウェアパケット処理部と、前記複数種類の論理パケットを、前記ハードウェアパケット処理部で処理すべき論理パケットと、前記ソフトウェアパケット処理部で処理すべき論理パケットと、に仕分ける仕分け部と、を備えることを要旨とする。
このように本発明の印刷装置では、複数種類の論理パケットが、ソフトウェアパケット処理部で処理すべき論理パケットと、ハードウェアパケット処理部で処理すべき論理パケットと、に仕分けられて処理されるので、全ての論理パケットをソフトウェアパケット処理部で処理する構成に比べて、ソフトウェアパケット処理部における負荷を軽減することができ、ソフトウェアパケット処理部が有するマイクロプロセッサが高負荷状態になることを抑制することができる。
上記印刷装置は、前記印刷装置は、前記論理パケットの処理モードとして、特定種類の論理パケットを前記ハードウェアパケット処理部で処理する第1の処理モードと、前記特定種類の論理パケットを前記ソフトウェアパケット処理部で処理する第2の処理モードと、を有しており、前記印刷装置は、さらに、前記印刷装置の動作状態に応じて、前記処理モードを前記第1の処理モード又は前記第2の処理モードに切り替える処理モード切替部を備えるようにしてもよい。
このような構成とすることで、印刷装置の動作状態が、マイクロプロセッサの処理負荷が高くなるような動作状態の場合には、第1の処理モードに切り替えてマイクロプロセッサの処理負荷を軽減し、マイクロプロセッサの処理負荷があまり高くならないような動作状態の場合には、第2の処理モードに切り替えて論理パケットを処理するといったことが可能となる。
上記印刷装置において、処理モード切替部は、前記印刷装置の動作状態がエラー状態である場合に、前記処理モードを前記第2の処理モードに切り替え、前記印刷装置の動作状態が通常状態である場合に、前記処理モードを前記第1の処理モードに切り替えるようにしてもよい。
このような構成とすることで、印刷装置がエラー状態である場合には、クライアントから受信した特定種類の論理パケットはソフトウェアで処理されるので、エラーの回復状況に応じて処理内容を変更するといったような柔軟な処理を行うことが可能となる。従って、エラー状態にも関わらず論理パケットがハードウェアで画一的に処理されてしまい、例えば、印刷処理ができないのにも関わらず通常状態(エラーの無い状態)と同じクレジット数をクライアントに通知してしまうといったことを抑制することができる。
上記印刷装置において、前記仕分け部は、前記複数種類の論理パケットを仕分ける際に、前記クライアントに対して応答を返すべき内容を含む要応答論理パケットを、前記ハードウェアパケット処理部で処理すべき論理パケットとして仕分けるようにしてもよい。
このような構成とすることで、クライアントに対して応答を返すという、高い処理負荷がかかる論理パケットがハードウェアパケット処理部で処理されるので、マイクロプロセッサの処理負荷を軽減することができる。
上記印刷装置において、前記要応答論理パケットは、前記クライアントと前記印刷装置との間におけるフロー制御用のクレジットを要求するクレジット要求パケットであってもよい。
このような構成とすることで、フロー制御のために比較的高い頻度でやりとりされるクレジット要求パケットがハードウェアパケット処理部で処理されるので、マイクロプロセッサの処理負荷を大幅に軽減することができる。
上記印刷装置は、印刷モードとして、少なくとも高画質印刷モードと低画質印刷モードとを有し、前記仕分け部は、前記印刷モードとして前記高画質印刷モードが設定されると、印刷データを送信するためのクレジット要求パケットを、前記ハードウェアパケット処理部で処理すべき論理パケットとして仕分け、前記印刷モードとして前記低画質印刷モードが設定されると、印刷データを送信するためのクレジット要求パケットを、前記ソフトウェアパケット処理部で処理すべき論理パケットとして仕分けるようにしてもよい。
このような構成とすることで、高画質印刷モードで印刷を行う場合には、マイクロプロセッサは、大量の印刷データを処理するために処理負荷が高くなるが、かかる印刷に用いる印刷データの送信用のクレジット要求パケットをハードウェアで処理することができるので、マイクロプロセッサが非常に高い負荷状態になることを抑制することができる。
上記印刷装置において、前記論理パケットは、ヘッダ部とボディ部とを有し、前記論理パケットの種類は、前記ヘッダ部に含まれる識別子、又は、前記ヘッダ部に含まれる識別子と前記ボディ部に含まれる識別子の組み合わせによって識別されてもよい。
このような構成とすることで、ヘッダ部に含まれる識別子及びボディ部に含まれる識別子によって、クライアントから受信する論理パケットがいずれの種類の論理パケットであるかを識別することができる。従って、仕分け部は、これらの識別子によって論理パケットの種類を識別して仕分けることが可能となる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、論理パケット処理方法や、論理パケット処理方法または印刷装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
以下、本発明を実施するための最良の形態を実施例に基づいて以下の順序で説明する。
A.第1の実施例:
B.第2の実施例:
C.第3の実施例:
D.変形例:
A.第1の実施例:
A1.印刷装置の概略構成:
図1は、本発明の一実施例としてのプリンタ100の概略構成を示すブロック図である。このプリンタ100は、USB制御モジュール110と、D4管理モジュール120と、RAM管理モジュール130と、RAM140と、マイクロプロセッサ150と、プリンタエンジン160と、を備えている。USB制御モジュール110は、プリンタ100とパーソナルコンピュータ10とがUSB接続するための物理的なインタフェースを有すると共に、USBプロトコルを解釈してプリンタ100をUSBデバイスとして機能させる。D4管理モジュール120は、パーソナルコンピュータ10から送信されるD4パケットを仕分けすると共に、特定の種類のD4パケット(後述するクレジット要求パケット)については、D4プロトコルに従った所定の処理を実行する。RAM管理モジュール130は、RAM140にデータを書き込んだり、RAM140からデータを読み出したり、RAM140における書き込みアドレス/読み出しアドレスを管理する。
D4管理モジュール120は、ヘッダ/コマンド解析部121と、データバッファ122と、応答生成部123と、を備えている。ヘッダ/コマンド解析部121は、D4パケットのヘッダを解析し、また、特定のヘッダを有するパケットに関しては、そのコマンドの一部も解析する。データバッファ122は、特定のD4パケット(クレジット要求パケットと後述するプリントデータパケットとを除くD4パケット)を格納する。応答生成部123は、クレジット要求応答のためのD4パケットを生成する。
RAM管理モジュール130は、ストアモジュール131と、ストアアドレス管理部132と、ロードアドレス管理部133と、RAM空き容量算出部134と、ロードモジュール135と、を備えている。ストアモジュール131は、ヘッダ/コマンド解析部121から送信されるデータをRAM140に書き込む。ストアアドレス管理部132は、RAM140におけるデータ書き込みアドレスを管理する。ロードアドレス管理部133は、RAM140におけるデータ読み出しアドレスを管理する。空き容量算出部134は、ストアアドレス管理部132及びロードアドレス管理部133から、それぞれが管理しているアドレスを定期的に取得して、これらアドレスに基づいてRAM140における空き容量を算出して、応答生成部123に定期的に通知する。
なお、以上説明したUSB制御モジュール110と、D4管理モジュール120と、RAM管理モジュール130と、RAM140と、はいずれもハードウェアで構成されている。
マイクロプロセッサ150は、RAM140に記憶されている所定のソフトウェア(ファームウェア)を実行することによって、D4プロトコル処理部151として機能し、また、印刷処理部152及びプリンタ管理部153として機能する。D4プロトコル処理部151は、D4プロトコルを解釈して所定の処理を実行する。印刷処理部152は、パーソナルコンピュータ10から送信される印刷データ(ページ記述言語で記載されたデータ等)に基づいてプリンタエンジン160を駆動して印刷処理を行う。プリンタ管理部153は、インク残量やエラーの有無等(ステータス)を管理する。なお、図1において、太い実線の矢印はクレジット要求/応答パケットの流れを示し、太い破線の矢印はプリントデータの流れを示す。
なお、前述のUSB制御モジュール110は請求項における受信部に相当し、また、応答生成部123が請求項におけるハードウェアパケット処理部に、D4プロトコル処理部151が請求項におけるソフトウェアパケット処理部に、ヘッダ/コマンド解析部121が請求項における仕分け部に、それぞれ相当する。
図2は、パーソナルコンピュータ10とプリンタ100との間におけるD4パケットの送受信に関する機能の階層構造を示す説明図である。プリンタ100では、USB制御モジュール110が最下位層となり、その上に、D4管理モジュール120及びD4プロトコル処理部151とがある。USB制御モジュール110は、物理的なインタフェースを提供するUSBデバイスインタフェース111と、USB論理デバイス112と、プリンタインタフェース113と、を備えている。USB論理デバイス112は、コントロールエンドポイント112eを備え、プリンタインタフェース113は、バルクアウトエンドポイント113eと、バルクインエンドポイント113fと、を備えている。
ここで、「エンドポイント」とは、ホストと通信を行う論理的なリソースである。コントロールエンドポイント112eは、標準デバイスリクエストの送受信を行うためのエンドポイントである。「標準デバイスリクエスト」とは、すべてのUSBでサポートする必要がある基本的なリクエストである。バルクアウトエンドポイント113e及びバルクインエンドポイント113fは、印刷を行うためのメッセージ送受信用エンドポイントである。
パーソナルコンピュータ10は、最下位層から順番に、USBホストインタフェース(ハードウェア)11と、USBシステムソフトウェア12と、USBプリンタクラスドライバ13と、D4プロトコル処理部14と、を備えている。そして、USBシステムソフトウェア12とコントロールエンドポイント112eとの間には、コントロールパイプが設けられている。このコントロールパイプは、USB通信における各種設定制御を行うための専用の論理チャネルである。また、USBプリンタクラスドライバ13とバルクアウトエンドポイント113eとの間には、バルクアウトパイプが設けられ、USBプリンタクラスドライバとバルクインエンドポイント113fとの間には、バルクインパイプが設けられている。これらのバルクアウトパイプ及びバルクインパイプは、印刷を行うためのメッセージを送受信するための専用の論理チャネルである。
上述した各種論理チャネルの他に、パーソナルコンピュータ10とプリンタ100との間には、D4パケットを送受信するための3種類の論理チャネル(プリントデータチャネル、D4コントロールチャネル、プリントコントロールチャネル)が設定されている。なお、これらの3種類の論理チャネルは、プリンタ100においてD4管理モジュール120又はD4プロトコル処理部151で終端されている。プリントデータチャネルは、印刷データ(プリントデータ)を含むD4パケットを送受信するための論理チャネルである。D4コントロールチャネルは、D4パケットの送受信を制御するためのD4パケットを送受信するための論理チャネルである。プリントコントロールチャネルは、印刷を制御するためのD4パケットを送受信するための論理チャネルである。
図3(a)は、パーソナルコンピュータ10とプリンタ100との間で送受信されるD4パケットの構成を示す。D4パケットは、6バイトのヘッダ部(D4ヘッダ)及びボディ部から成る。ヘッダ部は、プライマリソケットID(PSID)フィールドと、セカンダリソケットID(SSID)フィールドと、パケット長フィールドと、制御情報フィールドと、を含む。PSID及びSSIDは、前述の3種類の論理チャネル(プリントデータチャネル、D4コントロールチャネル、プリントコントロールチャネル)を識別する論理チャネルIDとして用いられる。また、プリントデータチャネルとして複数の論理チャネルを設定することが可能であるので、論理チャネルIDは、これら複数のプリントデータチャネルを識別するIDとしても用いられる。制御情報フィールドには、D4プロトコルにおけるデータの伝送制御を行うための情報が格納される。ボディ部には、D4コマンドとそのパラメータや、D4コマンドに対するリプライや、プリントデータなどが格納される。
D4プロトコルでは、D4パケットの送受信においてフロー制御が行われる。具体的には、データの送信側が受信側に対して、受信可能なデータパケット数(クレジット数と呼ばれる)の通知を要求し、受信側が送信側にクレジット数を通知する。そして、送信側は、通知されたクレジット数までの任意の数のデータパケットを受信側に送信する。
図3(b)は、クレジット要求で使用されるD4パケットのボディ部の構成を示す。クレジット要求パケットのボディ部は、コマンドフィールドと、PSIDフィールドと、SSIDフィールドと、要求クレジット数フィールドと、最大必要クレジット数フィールドと、から成る。コマンドフィールドには、クレジット要求コマンドが格納される。PSID及びSSIDフィールドには、クレジットを使ってD4パケットを送信しようとする論理チャネルのIDが格納される。要求クレジット数及び最大必要クレジット数フィールドには、送信すべきデータの大きさや送信バッファの大きさ等に応じてその値が適宜設定して格納される。
図3(c)は、クレジット要求に対する応答で使用されるD4パケットのボディ部の構成を示す。このクレジット要求応答パケットのボディ部は、コマンドフィールドと、リザルトフィールドと、PSIDフィールドと、SSIDフィールドと、提供クレジット数フィールドと、から成る。コマンドフィールドには、クレジット要求応答コマンドが格納される。リザルトフィールドには、クレジット要求の結果(成功/失敗)を示す情報が格納される。PSID及びSSIDフィールドには、クレジットを要求された論理チャネルのIDが格納される。提供クレジット数フィールドには、受信側が通知するクレジット数が格納される。なお、クレジット要求パケット及びクレジット要求応答パケットでは、ヘッダ部の論理チャネルIDとして、クレジット要求/応答パケットを送受信するための論理チャネル(D4コントロールチャネル)のIDが格納される。
A2.印刷データ送信シーケンス
図4は、パーソナルコンピュータ10からプリンタ100に印刷データ(プリントデータ)を送信する動作の一例を示すシーケンス図である。ステップ[1]では、パーソナルコンピュータ10は、オープンチャネル要求パケットをプリンタ100に送信し、ステップ[2]では、プリンタ100は、オープンチャネル要求に対する応答パケットをパーソナルコンピュータ10に送信する。オープンチャネル要求パケットは、これから送ろうとするプリントデータの送信用プリントデータチャネルをオープンするために送信される。なお、図4の例では、プリンタ100は、要求されたプリントデータチャネルをオープンした旨(Accept)をオープンチャネル要求応答パケットとして返信している。これらオープンチャネル要求/応答の各パケットは、D4コントロールチャネル上で送信される。
ステップ[3]では、パーソナルコンピュータ10がクレジット要求パケットをプリンタ100に送信する。ステップ[4]では、プリンタ100は、クレジット要求応答パケットをパーソナルコンピュータ10に送信する。クレジット要求及び応答のパケットは、D4コントロールチャネル上で送信される。なお、図4の例では、クレジット数として「4」が通知されている。
ステップ[5]では、パーソナルコンピュータ10は、プリントデータパケットを送信する。ここで、パーソナルコンピュータ10は、ステップ[4]でクレジット数として「4」を受信しているので、プリントデータパケットを4つ連続して送信している。このプリントデータパケットの送信は、オープンされているプリントデータチャネル上で送信される。
クレジット数分だけプリントデータを送信し終わると、ステップ[6]では、パーソナルコンピュータ10は、再びクレジット要求パケットをプリンタ100に送信し、ステップ[7]として、プリンタ100は、クレジット要求応答パケットをパーソナルコンピュータ10に送信する。図4の例では、パーソナルコンピュータ10は、ステップ[7]においてクレジット数「2」を受信している。したがって、ステップ[8]では、パーソナルコンピュータ10は、2つのプリントデータパケットを連続してプリンタ100に送信する。このようにして、プリンタ100からクレジット数が提供されるたびに、そのクレジット数だけプリントデータパケットを連続して送信することを繰り返す。そして、全てのプリントデータの送信が完了すると、パーソナルコンピュータ10は、ステップ[9]として、クローズチャネル要求パケットをプリンタ100に送信する。ステップ[10]では、プリンタ100は、クローズチャネル要求に対する応答パケットをパーソナルコンピュータ10に送信する。クローズチャネル要求パケットは、プリントデータ送信に用いたプリントデータチャネルをクローズするために送信される。クローズチャネル要求及び応答パケットは、D4コントロールチャネル上で送信される。なお、図示は省略しているが、パーソナルコンピュータ10とプリンタ100との間では、プリンタコントロールチャネルを使って、プリンタ100のステータス(インク残量やエラーの有無など)をパーソナルコンピュータ10に定期的に通知するようにしている。
このように、パーソナルコンピュータ10とプリンタ100との間では、3種類の論理チャネル(プリントデータチャネル、D4コントロールチャネル、プリントコントロールチャネル)上で様々な種類(コマンド)のD4パケットが送受信されている。そして、図4に示すように、プリントデータの送受信においては、クレジットの要求/応答パケット及びプリントデータパケットが頻繁にパーソナルコンピュータ10とプリンタ100との間で送受信される。そこで、本実施例のプリンタ100は、後述するパケット受信処理において、これら頻繁に送受信されるクレジット要求/応答パケット及びプリントデータパケットをハードウェアで処理することにより、マイクロプロセッサ150が高負荷状態となることを抑制するように構成されている。
なお、クレジット要求パケットが請求項における要応答論理パケットに相当する。また、3種類の論理チャネル(プリントデータチャネル、D4コントロールチャネル、プリントコントロールチャネル)上でそれぞれ転送される3種類のD4パケット(プリントデータ用のD4パケット、D4コントロール用のD4パケット、プリントコントロール用のD4パケット)が、請求項における「複数種類の論理パケット」に相当し、また、各論理チャネル上で転送される様々な種類(コマンド)のD4パケット(クレジット要求パケットやプリントデータパケットなど)も、請求項における「複数種類の論理パケット」に相当する。すなわち、D4パケットに含まれる所定の識別子によって分類される複数種類のパケットが、請求項における「複数種類の論理パケット」に相当する。
A3.プリンタ100におけるパケット受信処理:
図5は、第1の実施例におけるパケット受信処理の手順を示すフローチャートである。プリンタ100では、電源がオンすると、種々のD4パケットを受信するため、パケット受信処理が開始される。
図5に示すパケット受信処理が開始されると、ヘッダ/コマンド解析部121(図1)は、USB制御モジュール110を介してD4パケットを受信するまで待機する(ステップS305)。そして、D4パケットを受信すると、ヘッダ/コマンド解析部121は、受信したD4パケットのD4ヘッダ及びボディ部のコマンドを解析する(ステップS310)。次に、ヘッダ/コマンド解析部121は、受信したD4パケットがクレジット要求パケットであるか否かを判定する(ステップS315)。具体的には、ヘッダ/コマンド解析部121は、受信したD4パケットのヘッダ部の論理チャネルIDにより「D4コントロールチャネル」であるか否かを判定し、D4コントロールチャネルである場合には、さらに、ボディ部のコマンドフィールドに「クレジット要求」を示す値が格納されているか否かを判定する。
受信したD4パケットがクレジット要求パケットである場合には、ヘッダ/コマンド解析部121は、受信したD4パケットのボディ部を応答生成部123に渡す。そして、応答生成部123は、RAM空き容量算出部134から通知されるRAM140の空き容量に基づいてクレジット数を算出する(ステップS320)。上述したようにRAM空き容量算出部134からは定期的にRAM140の空き容量が通知されているので、応答生成部123は、最新の空き容量をD4パケットサイズで割ってクレジット数を算出する。次に、応答生成部123は、算出したクレジット数を通知するためのクレジット要求応答パケットを生成して、USB制御モジュール110を介してパーソナルコンピュータ10に送信する(ステップS325)。なお、上述したステップS305〜S325は、図1の太い実線の矢印に示すように、マイクロプロセッサ150を介さずに全てハードウェアで処理される。
一方、受信したD4パケットがクレジット要求パケットでない場合には、ヘッダ/コマンド解析部121は、受信したD4パケットがプリントデータパケットであるか否かを判定する(ステップS345)。この判定は、受信したD4パケットの論理チャネルIDが、プリントデータチャネル用のIDであるか否かを判定することによって実行可能である。
受信したD4パケットがプリントデータである場合には、ヘッダ/コマンド解析部121は、受信したD4パケットのボディ部(プリントデータ)をストアモジュール131に渡す。そして、ストアモジュール131は、ストアアドレス管理部132から指示されたRAM140のアドレスにプリントデータを書き込む(ステップS350)。次に、ロードモジュール135は、ロードアドレス管理部133から指定されたRAM140のアドレスからプリントデータを読み出してマイクロプロセッサ150に渡す(ステップS355)。マイクロプロセッサ150において、印刷処理部152は、ロードモジュール135から渡されたプリントデータに基づき、プリンタエンジン160を駆動して印刷を実行する(ステップS360)。なお、ステップS345〜S355は、図1の太い破線の矢印に示すように、マイクロプロセッサ150を介さずに全てハードウェアで処理される。
前述のステップS345において、受信したD4パケットがプリントデータでないと判定すると、ヘッダ/コマンド解析部121は、受信したD4パケットをデータバッファ122に書き込み(ステップS375)、マイクロプロセッサ150に割り込み信号を送信する(ステップS380)。この割り込み信号は、データバッファ122にD4パケットを書き込んだ旨を通知する信号である。マイクロプロセッサ150においてD4プロトコル処理部151は、割り込み信号を受信すると、データバッファ122からD4パケットを読み出して(ステップS385)、D4パケットを解釈して所定のD4プロトコルを実行する(ステップS390)。なお、ステップS385,S390はソフトウェアで処理される。
具体的には、例えば、受信したD4パケットが、前述のオープンチャネル要求パケット(図4、ステップ[1])である場合には、クレジット要求パケット及びプリントデータパケットでないので、このパケットは、データバッファ122を介してD4プロトコル処理部151に渡されて処理される。そして、D4プロトコル処理部151は、要求されたプリントデータチャネルがオープン可能であれば、オープンチャネル要求応答パケットを、USB制御モジュール110を介してパーソナルコンピュータ10に送信する(図4、ステップ[2])。
以上説明したように、プリンタ100では、パーソナルコンピュータ10から受信するD4パケットを、ヘッダ部の論理チャネルID及びボディ部のコマンドフィールドの値によって仕分けする。そして、クレジット要求パケット及びプリントデータパケットについてはハードウェアで処理を行い、その他パケットについては、ソフトウェアによって処理を行う。クレジット要求パケット及びプリントデータパケットはパーソナルコンピュータ10から頻繁に受信するパケットであり、また、クレジット要求パケットは、応答を要するパケットであることから、これらのパケットの処理には処理を実行するモジュールに高い負荷がかかる。プリンタ100では、これらのパケットの処理をハードウェアで実行しているので、マイクロプロセッサ150が高負荷状態となることを抑制することができる。
B.第2の実施例:
図6は、第2の実施例におけるプリンタの概略構成を示すブロック図である。このプリンタ101は、D4管理モジュール内にモード指定値レジスタ124を備えている点において図1に示すプリンタ100と異なるものであり、他の構成については、プリンタ100と同じである。第1の実施例のプリンタ100では、パーソナルコンピュータ10から受信したD4パケットを、ハードウェアで処理すべきパケット(クレジット要求パケット及びプリントデータパケット)と、ソフトウェアで処理すべきパケット(その他のパケット)と、に仕分けして処理していた。これに対して第2の実施例のプリンタ101では、このように仕分けしてD4パケットを処理する処理モード(仕分け処理モード)と、全てのD4パケットをソフトウェアで処理する処理モード(ソフトウェア処理モード)と、が処理モードとして設定されており、これら処理モードを切り替えてD4パケットを処理するように構成されている。なお、仕分け処理モードが請求項における第1の処理モードに相当し、ソフトウェア処理モードが請求項における第2の処理モードに相当する。また、プリンタ管理部153が請求項における処理モード切替部に相当する。
この処理モードの切り替えは、プリンタ管理部153によって制御される。具体的には、プリンタ管理部153は、インク残量や紙詰まりなどのアラート情報等をプリンタエンジン160などから取得して、プリンタ100の状態を管理している。そして、プリンタ管理部153は、インク残量が僅かになったり紙詰まりが発生してプリンタ100の動作状態がエラー状態となった場合には、処理モードを仕分け処理モードからソフトウェア処理モードに切り替えるように制御する。このように制御するのは、以下の理由による。仕分け処理モードの場合、第1の実施例で述べたように、ハードウェア処理によってクレジット数をパーソナルコンピュータ10に通知してしまう。したがって、プリンタ100の動作状態がエラー状態で印刷ができないのにも関わらず、パーソナルコンピュータ10から次々とプリントデータを受信してしまうこととなる。そこで、動作状態がエラー状態となった場合には、処理モードをソフトウェア処理モードに切り替えて、RAM140の空き容量と共にプリンタ100の動作状態も考慮したクレジット数を通知するように制御する。
ここで、前述のモード指定値レジスタ124(図6)は、処理モードを指定する指定値を記憶するために用いられる。具体的には、プリンタ管理部153は、プリンタ100の動作状態がエラー状態となった場合には、モード指定値レジスタ124にソフトウェア処理モードを意味する「1」を書き込み、通常状態(エラーの無い状態)の場合には、仕分け処理モードを意味する「0」を書き込む。
図7は、第2の実施例におけるパケット受信処理の手順を示すフローチャートである。第2の実施例の手順は、図5のフローチャートにステップS312を追加するものであり、他の手順は第1の実施例と同じである。ヘッダ/コマンド解析部121は、ステップS310においてD4パケットのヘッダ及びコマンドを解析すると、モード指定値レジスタ124の値を読み出して、モード指定値が「0」であるか否かを判定する(ステップS312)。モード指定値が「0」である場合には、仕分け処理モードが指定されて、プリンタ100では第1の実施例と同じ処理が実行される。したがって、図7におけるクレジット要求/応答パケットの流れ及びプリントデータパケットの流れは、図1と同じになっている。一方、モード指定値が「1」である場合には、ソフトウェア処理モードが指定されることとなる。この場合、処理モードがソフトウェア処理モードに切り替わって、前述のステップS375〜S390が実行される。
図8は、ソフトウェア処理モードにおけるプリンタ101内でのデータの流れを示す説明図である。ソフトウェア処理モードの場合には、ステップS375〜S390(図7)が実行されることから、全てのD4パケットが、データバッファ122を介してD4プロトコル処理部151に渡されて処理される。したがって、クレジット要求/応答パケット及びプリントデータパケットも、D4プロトコル処理部151で処理されることとなる(太い実線の矢印及び破線の矢印)。図8の例では、プリンタエンジン160において紙詰まりが発生しており、モード指定値レジスタ124にモード指定値「1」が書き込まれている。したがって、クレジット要求パケットがD4プロトコル処理部に渡されるので、D4プロトコル処理部151は、プリンタ100の動作状態に応じたクレジット数をパーソナルコンピュータ10に通知することが可能となる。例えば、紙詰まりでエラー状態である場合にはクレジット数「0」を送信して、パーソナルコンピュータ10からプリントデータを受信しないようにすることもできる。また、紙詰まりが解消されて通常状態に戻った直後の所定期間内は、クレジット数「1」を送信し、所定期間経過後には、モード指定値レジスタ124に「0」を書込んで処理モードを仕分け処理モードに切り替える構成とすることもできる。
C.第3の実施例:
図9は、第3の実施例におけるプリンタの概略構成を示すブロック図である。このプリンタ102は、D4管理モジュール内にクレジット数取得方法指定値レジスタ125を備えている点において図1に示すプリンタ100と異なるものであり、他の構成については、プリンタ100と同じである。第2の実施例では、プリンタ101の処理モードを仕分け処理モード又はソフトウェア処理モードに切り替えることで、プリンタ101の動作状態に応じたクレジット数をパーソナルコンピュータ10に通知していた。これに対して、第3の実施例では、処理モードを仕分け処理モードに固定しながらも、プリンタ102の動作状態に応じたクレジット数をパーソナルコンピュータ10に通知するように構成されている。
プリンタ102では、応答生成部123がクレジット数を得る方法として、第1の実施例のように、RAM空き容量算出部134から通知されるRAM140の空き容量に基づいてクレジット数を算出して得る方法と、プリンタ管理部153の通知(指定)によってクレジット数を得る方法と、が設定されている。そして、プリンタ102の動作状態がエラー状態の場合には、応答生成部123は、プリンタ管理部153からの通知によってクレジット数を取得し、通常状態の場合には、第1の実施例と同様にしてクレジット数を算出して取得するように構成されている。
このようなクレジット数の取得方法の切り替えは、プリンタ管理部153によって制御される。具体的には、プリンタ管理部153は、プリンタ102の動作状態がエラー状態となると、クレジット数取得方法指定値レジスタ125にクレジット数取得方法指定値として「0」を書き込む。この指定値「0」は、プリンタ管理部153の通知によってクレジット数を取得する方法を指定する値であると共に、クレジット数「0」を指定する値である一方、プリンタ管理部153は、プリンタ102の動作状態が通常状態になると、クレジット数取得方法指定値レジスタ125に「1」を書き込む。この指定値「1」は、RAM空き容量算出部134から通知される空き容量に基づいてクレジット数を算出する方法を指定する値である。
図10は、第3の実施例におけるパケット受信処理の手順を示すフローチャートである。第3の実施例の手順は、図5に示すフローチャートにステップS318及びS405を追加するものであり、他の手順は第1の実施例と同じである。ステップS315において受信したD4パケットがクレジット要求パケットであると判定されると、応答生成部123は、クレジット数取得方法指定値レジスタ125からクレジット数取得方法指定値を読み出して、クレジット数取得方法指定値が0であるか否かを判定する(ステップS318)。指定値が「0」でない場合、すなわち、指定値が「1」である場合には、応答生成部123は、前述のステップS320,S325を実行して、RAM140の空き容量に基づいてクレジット数を算出してパーソナルコンピュータ10に通知する。一方、クレジット数取得方法指定値が「0」である場合には、応答生成部123は、クレジット数「0」をパーソナルコンピュータ10に通知する(ステップS405)。
以上のような構成とすることで、クレジット要求パケットをハードウェアで処理すると共に、プリンタ100の動作状態がエラー状態となった場合には、クレジット数「0」を送信して、パーソナルコンピュータ10からプリントデータを受信しないようにすることができる。
D.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
D1.変形例1:
上述した各実施例では、ハードウェアで処理されるD4パケットとしては、クレジット要求/応答パケット及びプリントデータパケットであったが、本発明はこれらに限定されるものではなく、任意の特定の種類のD4パケットをハードウェアで処理するようにしてもよい。具体的には、例えば、ステータス要求パケット及びステータス要求応答パケットをハードウェアで処理するようにしてもよい。ステータス要求パケットとは、上述したように、パーソナルコンピュータ10がプリンタ100〜102のステータス(インク残量等)を要求するパケットであり、ステータス要求応答パケットとは、パーソナルコンピュータ10が、プリンタ100〜102のステータスを通知するためのパケットである。ステータス要求応答パケットには、インク残量やプリンタ100〜102の動作状態等がパラメータとして記述される。ここで、インク残量等のステータス取得はソフトウェアで処理される。具体的には、プリンタ管理部153がプリンタエンジン160等からステータスを取得する。そこで、ステータス要求応答パケットの送信をハードウェアで処理するために、プリンタ管理部153は、マイクロプロセッサ150の処理負荷が比較的低いときに、ステータスを取得して、ステータスを記録するステータス記録レジスタ(図示省略)にインク残量等を記録するようにする。そして、ステータス要求パケットを受信すると、応答生成部123は、ステータス記録レジスタの値を読み出して、かかる値を記述したステータス要求応答パケットを生成して送信するように構成することもできる。なお、ステータス要求パケットは、プリンタコントロールチャネル上において定期的に送受信されるので、処理を実行する頻度は比較的高く、また、応答を必要とする要応答論理パケットである。従って、このステータス要求パケットをハードウェアで処理することにより、マイクロプロセッサ150の処理負荷を大幅に軽減することができる。
D2.変形例2:
上述した第2の実施例では、プリンタ101の動作状態がエラー状態であるか否かによって処理モードを切り替えていたが、本発明はこれに限定されるものではなく、任意の動作状態で処理モードを切り替えるような構成とすることもできる。例えば、プリンタ101が起動直後のウォーミングアップ中においては仕分け処理モードとして、ウォーミングアップが終了した場合には、ソフトウェア処理モードに切り替えるといった構成とすることもできる。または、マイクロプロセッサ150の処理負荷の度合いに応じて処理モードを切り替えることも可能である。具体的には、マイクロプロセッサ150の使用率が80%以上の場合に仕分けモードに切り替え、使用率が80%よりも低い場合にはソフトウェア処理モードに切り替えるといった構成とすることもできる。
D3.変形例3:
上述した第2の実施例では、プリンタ101の動作状態に応じて処理モードを切り替えていたが、本発明はこれに限定されるものではなく、パーソナルコンピュータ10によって指定される所定のパラメータに応じて処理モードを切り替えるように構成することもできる。例えば、プリンタ101が、印刷モードとして、高画質の印刷が可能な高画質印刷モードと低画質であるが高速に印刷を行う高速印刷モードとを有している場合に、パーソナルコンピュータ10によって指定された印刷モードによって処理モードを切り替えるようにすることもできる。具体的には、パーソナルコンピュータ10から高画質印刷モードを指定してプリントデータを受信した場合には仕分け処理モードに切り替え、高速印刷モードを指定してプリントデータを受信した場合にはソフトウェア処理モードに切り替えるようにする。このように印刷モードに応じて処理モードを切り替えるのは、以下の理由による。すなわち、高画質印刷モードの場合には、パーソナルコンピュータ10からプリンタ101に大量のプリントデータが送信されるので、マイクロプロセッサ150は、大量のプリントデータを処理するために高負荷状態になり易い。そこで、この場合、処理モードを仕分けモードに切り替えることによって、一部のD4パケットの処理をハードウェアで実行させて、マイクロプロセッサ150が高負荷状態になることを抑制するためである。なお、印刷モードの指定は、パーソナルコンピュータ10から送信されるプリントデータの先頭において記述されており、プリンタ101では、かかるプリントデータを解析することで指定された印刷モードを識別することができる。
また、一般にプリンタでは、印刷ジョブのキャンセルを、制御情報フィールドに特別な値を格納したプリントデータパケットを受信することで指定される場合がある。そこで、かかるプリントデータパケットを受信した場合に、仕分け処理モードからソフトウェア処理モードに切り替えるように構成することもできる。
D4.変形例4:
上述した第2の実施例では、ソフトウェア処理モードでは、全てのD4パケットについてソフトウェアによる処理(D4プロトコル処理部151による処理)が実行されていたが、本発明はこれに限定されるものではなく、一部のD4パケットのみハードウェアによる処理からソフトウェアによる処理に切り替えて実行するような構成とすることもできる。例えば、ソフトウェア処理モードでは、クレジット要求パケットについてのみハードウェアによる処理からソフトウェアによる処理に切り替えて、プリントデータパケットについては、処理モードに関わらず常にハードウェアによって処理を行う構成とすることもできる。このような構成であっても、プリンタの動作状態に応じたクレジット数をパーソナルコンピュータ10に通知することができる。
D5.変形例5:
上述した第2の実施例及び第3の実施例では、プリンタ101,102の動作状態に応じてパーソナルコンピュータ10に送信するクレジット数を変えていたが、本発明はこれに限定されるものではなく、クレジット数を変えるのに代えて、クレジット数を送信する間隔を変える構成とすることもできる。具体的には、プリンタの動作状態がエラー状態である場合には、クレジット要求パケットを受信してからクレジット要求応答パケットを返信するまでの間隔を、通常状態に比べて長くするようにする。このようにすることで、エラー状態である場合には、パーソナルコンピュータ10におけるプリントデータ送信間隔を長くすることができるので、印刷処理を行うことができない状態で大量のプリントデータを連続して受信することを避けることができる。
D6.変形例6:
上述した各実施例では、パケット受信処理で処理される論理パケットはD4パケットであったが、本発明はD4パケットに限定するものではなく、パーソナルコンピュータとプリンタとの間でやりとりされる複数種類の論理パケットであれば、任意の論理パケットについて上述したパケット受信処理を実行することができる。
本発明の一実施例としてのプリンタ100の概略構成を示すブロック図。 パーソナルコンピュータ10とプリンタ100との間におけるデータ送受信に関する機能の階層構造を示す説明図。 D4パケット(クレジット要求/応答パケット)の構成を示す説明図。 パーソナルコンピュータ10からプリンタ100に印刷データ(プリントデータ)を送信する動作の一例を示すシーケンス図。 第1の実施例におけるパケット受信処理の手順を示すフローチャート。 第2の実施例におけるプリンタの概略構成を示すブロック図。 第2の実施例におけるパケット受信処理の手順を示すフローチャート。 ソフトウェア処理モードにおけるプリンタ101内でのデータの流れを示す説明図。 第3の実施例におけるプリンタの概略構成を示すブロック図。 第3の実施例におけるパケット受信処理の手順を示すフローチャート。
符号の説明
10…パーソナルコンピュータ
100,101,102…プリンタ
112e…コントロールエンドポイント
113…プリンタインタフェース
113e…バルクアウトエンドポイント
113f…バルクインエンドポイント
113f…バルクアウトエンドポイント
122…データバッファ
123…応答生成部
124…モード指定値レジスタ
125…クレジット取得方法指定値レジスタ
131…ストアモジュール
132…ストアアドレス管理部
133…ロードアドレス管理部
134…容量算出部
135…ロードモジュール
150…マイクロプロセッサ
152…印刷処理部
153…プリンタ管理部
160…プリンタエンジン
121…ヘッダ/コマンド解析部

Claims (8)

  1. クライアントに接続された印刷装置であって、
    前記クライアントから複数種類の論理パケットを受信する受信部と、
    前記論理パケットをハードウェアで処理するハードウェアパケット処理部と、
    マイクロプロセッサを含み、前記論理パケットをソフトウェアで処理するソフトウェアパケット処理部と、
    前記複数種類の論理パケットを、前記ハードウェアパケット処理部で処理すべき論理パケットと、前記ソフトウェアパケット処理部で処理すべき論理パケットと、に仕分ける仕分け部と、
    を備えることを特徴とする印刷装置。
  2. 請求項1に記載の印刷装置であって、
    前記印刷装置は、前記論理パケットの処理モードとして、特定種類の論理パケットを前記ハードウェアパケット処理部で処理する第1の処理モードと、前記特定種類の論理パケットを前記ソフトウェアパケット処理部で処理する第2の処理モードと、を有しており、
    前記印刷装置は、さらに、前記印刷装置の動作状態に応じて、前記処理モードを前記第1の処理モード又は前記第2の処理モードに切り替える処理モード切替部を備える、
    印刷装置。
  3. 請求項2に記載の印刷装置において、
    前記処理モード切替部は、前記印刷装置の動作状態がエラー状態である場合に、前記処理モードを前記第2の処理モードに切り替え、前記印刷装置の動作状態が通常状態である場合に、前記処理モードを前記第1の処理モードに切り替える、
    印刷装置。
  4. 請求項1ないし請求項3のいずれかに記載の印刷装置において、
    前記仕分け部は、前記複数種類の論理パケットを仕分ける際に、前記クライアントに対して応答を返すべき内容を含む要応答論理パケットを、前記ハードウェアパケット処理部で処理すべき論理パケットとして仕分ける、
    印刷装置。
  5. 請求項4に記載の印刷装置において、
    前記要応答論理パケットは、前記クライアントと前記印刷装置との間におけるフロー制御用のクレジットを要求するクレジット要求パケットである、
    印刷装置。
  6. 請求項1ないし請求項3のいずれかに記載の印刷装置であって、
    印刷モードとして、少なくとも高画質印刷モードと低画質印刷モードとを有し、
    前記仕分け部は、前記印刷モードとして前記高画質印刷モードが設定されると、印刷データを送信するためのクレジット要求パケットを、前記ハードウェアパケット処理部で処理すべき論理パケットとして仕分け、前記印刷モードとして前記低画質印刷モードが設定されると、印刷データを送信するためのクレジット要求パケットを、前記ソフトウェアパケット処理部で処理すべき論理パケットとして仕分ける、
    印刷装置。
  7. 請求項1ないし請求項6のいずれかに記載の印刷装置において、
    前記論理パケットは、ヘッダ部とボディ部とを有し、
    前記論理パケットの種類は、前記ヘッダ部に含まれる識別子、又は、前記ヘッダ部に含まれる識別子と前記ボディ部に含まれる識別子の組み合わせによって識別される、
    印刷装置。
  8. クライアントに接続された印刷装置において、前記クライアントから受信した複数種類の論理パケットを処理するための論理パケット処理方法であって、
    前記印刷装置は、前記論理パケットをハードウェアで処理するハードウェアパケット処理部と、マイクロプロセッサを含み前記論理パケットをソフトウェアで処理するソフトウェアパケット処理部と、を有し、
    前記複数種類の論理パケットを、前記ハードウェアパケット処理部で処理すべき論理パケットと、前記ソフトウェアパケット処理部で処理すべき論理パケットと、に仕分ける工程を備えることを特徴とする論理パケット処理方法。
JP2006253094A 2006-09-19 2006-09-19 印刷装置及び論理パケット処理方法 Expired - Fee Related JP4259557B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006253094A JP4259557B2 (ja) 2006-09-19 2006-09-19 印刷装置及び論理パケット処理方法
US11/901,874 US8041842B2 (en) 2006-09-19 2007-09-19 Printing device and logic packet processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006253094A JP4259557B2 (ja) 2006-09-19 2006-09-19 印刷装置及び論理パケット処理方法

Publications (3)

Publication Number Publication Date
JP2008073887A true JP2008073887A (ja) 2008-04-03
JP2008073887A5 JP2008073887A5 (ja) 2008-05-15
JP4259557B2 JP4259557B2 (ja) 2009-04-30

Family

ID=39188490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006253094A Expired - Fee Related JP4259557B2 (ja) 2006-09-19 2006-09-19 印刷装置及び論理パケット処理方法

Country Status (2)

Country Link
US (1) US8041842B2 (ja)
JP (1) JP4259557B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153981A (ja) * 2013-02-12 2014-08-25 Seiko Epson Corp インクジェットプリンターの設定方法、プリンター設定用ソフトウエアおよび印刷システム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364863B2 (en) * 2008-07-11 2013-01-29 Intel Corporation Method and apparatus for universal serial bus (USB) command queuing
WO2012048118A2 (en) 2010-10-06 2012-04-12 Blackbird Technology Holdings, Inc. Method and apparatus for adaptive searching of distributed datasets
WO2012048098A1 (en) 2010-10-06 2012-04-12 Blackbird Technology Holdings, Inc. Method and apparatus for low-power, long-range networking
US8718551B2 (en) 2010-10-12 2014-05-06 Blackbird Technology Holdings, Inc. Method and apparatus for a multi-band, multi-mode smartcard
US9104548B2 (en) 2011-01-21 2015-08-11 Blackbird Technology Holdings, Inc. Method and apparatus for memory management
WO2012112650A1 (en) * 2011-02-15 2012-08-23 Blackbird Technology Holdings, Inc. Method and apparatus for plug and play, networkable iso 18000-7 connectivity
US20120226955A1 (en) 2011-03-02 2012-09-06 John Peter Norair Method and apparatus for forward error correction (fec) in a resource-constrained network
US8929961B2 (en) 2011-07-15 2015-01-06 Blackbird Technology Holdings, Inc. Protective case for adding wireless functionality to a handheld electronic device
JP6570260B2 (ja) * 2015-02-13 2019-09-04 キヤノン株式会社 画像処理装置、プログラム、及びシステム
TWI648633B (zh) * 2017-12-20 2019-01-21 珠海美佳音科技有限公司 印表機晶片的即時側錄電路、方法、及非暫態電腦可讀取記錄媒體
CN111200578A (zh) * 2018-11-16 2020-05-26 华为技术有限公司 一种通信方法、客户端设备及服务端设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
JP2004102378A (ja) 2002-09-05 2004-04-02 Seiko Epson Corp 印刷効率を高くしたプリンタ
US7167478B2 (en) * 2002-09-16 2007-01-23 Ericsson Inc. Versatile system for message scheduling within a packet operating system
US7219211B1 (en) * 2002-11-19 2007-05-15 Juniper Networks, Inc. Precompute logic for software packet processing
US7024516B2 (en) * 2003-03-31 2006-04-04 Zarlink Semiconductor Limited Configurable ternary content addressable memory
JP2006007638A (ja) 2004-06-28 2006-01-12 Oki Data Corp データ処理装置
JP4645164B2 (ja) 2004-11-12 2011-03-09 セイコーエプソン株式会社 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
JP2006173843A (ja) 2004-12-14 2006-06-29 Canon Inc 画像情報入出力装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153981A (ja) * 2013-02-12 2014-08-25 Seiko Epson Corp インクジェットプリンターの設定方法、プリンター設定用ソフトウエアおよび印刷システム

Also Published As

Publication number Publication date
JP4259557B2 (ja) 2009-04-30
US20080069097A1 (en) 2008-03-20
US8041842B2 (en) 2011-10-18

Similar Documents

Publication Publication Date Title
JP4259557B2 (ja) 印刷装置及び論理パケット処理方法
JP5369567B2 (ja) 情報処理装置、パケット処理方法およびプログラム
US8078892B2 (en) Information-processing apparatus, packet processing method, and computer program product for communicating with an external network device and switching between a normal power mode and a power saving mode
US8860997B2 (en) Image output apparatus, preview image generating method, and storage medium
US20150156364A1 (en) Print control apparatus, method for controlling print control apparatus, and storage medium
JP5294743B2 (ja) 画像形成システム、画像形成装置、画像形成装置の制御方法、情報処理装置、情報処理装置の制御方法及び制御プログラム、並びに記憶媒体
JP2007272832A (ja) 印刷システム、ホスト装置、印刷装置、印刷制御方法、印刷方法、それらの方法をコンピュータに実行させるプログラム、および記録媒体
JP4730201B2 (ja) プリント制御装置と印刷システムおよび印刷制御方法とプログラム
JP2006347110A (ja) 画像形成装置及び代行印刷制御プログラム
JP2007283628A (ja) 印刷システム、印刷装置およびその制御方法
CN101231573A (zh) 主机装置及其打印控制方法
JP4029656B2 (ja) プリントプログラムおよびプリントサーバ
JP2011116083A (ja) 印刷装置及びその制御方法、プログラム
JP6460905B2 (ja) 通信装置、制御方法、プログラム
JP3846089B2 (ja) インターフェース装置、その制御方法および情報記録媒体
JP2008085778A (ja) 情報通信システムおよび受信装置および送信装置および受信制御プログラムおよび送信制御プログラム
JP2001067193A (ja) 印刷システム及び印刷装置及びその制御方法
JP2011049639A (ja) 情報処理装置、画像形成装置、ネットワークシステム、通信制御方法及びプログラム
JP3951113B2 (ja) 装置間データ通信の制御装置及び方法
JP2012061639A (ja) 画像形成装置および印刷制御方法
JP2009211307A (ja) 画像形成装置
JPH10222445A (ja) 双方向データ通信方法、双方向データ通信システムおよび双方向データ通信を行うための制御プログラムを記録した記録媒体
JP2006155412A (ja) ネットワークプリンタ管理装置、ネットワークプリンタ管理システム及びネットワークプリンタ
JP2003237192A (ja) 画像記録装置、画像記録システム、画像記録方法、プログラム並びに記憶媒体
JP2004216693A (ja) 印刷装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

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

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

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees