JP3579884B2 - Data communication method and apparatus, printer and control method therefor - Google Patents

Data communication method and apparatus, printer and control method therefor Download PDF

Info

Publication number
JP3579884B2
JP3579884B2 JP2000151860A JP2000151860A JP3579884B2 JP 3579884 B2 JP3579884 B2 JP 3579884B2 JP 2000151860 A JP2000151860 A JP 2000151860A JP 2000151860 A JP2000151860 A JP 2000151860A JP 3579884 B2 JP3579884 B2 JP 3579884B2
Authority
JP
Japan
Prior art keywords
data
computer
data communication
information
channel
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
JP2000151860A
Other languages
Japanese (ja)
Other versions
JP2001331284A (en
Inventor
泰 稲葉
聡 平田
正範 古泉
昭則 渡辺
Original Assignee
新潟キヤノテック株式会社
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 新潟キヤノテック株式会社 filed Critical 新潟キヤノテック株式会社
Priority to JP2000151860A priority Critical patent/JP3579884B2/en
Publication of JP2001331284A publication Critical patent/JP2001331284A/en
Application granted granted Critical
Publication of JP3579884B2 publication Critical patent/JP3579884B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ通信方法及び装置、並びにプリンタ及びその制御方法に関し、IEEE1394規格に適合又は準拠したシリアルバスを介してホストデバイスとターゲットデバイスとの間でデータを転送するデータ通信方法及び装置、並びにプリンタ及びその制御方法に関する。
【0002】
【従来の技術】
近年、コンピュータの周辺機器において、プリンタの高解像度化やハードディスクの大容量化で大量のデータを処理することが可能になるにつれ、より高速なデータ通信を可能とするデータ通信装置としてのシリアルバスが利用されるようになってきた。
【0003】
各種のシリアルバスの中でも、ホストデバイスとターゲットデバイスとの間で1対1の接続のみならず複数対複数の接続を許可するIEEE1394シリアルバス(以下、「1394シリアルバス」という)は、高速という点で優れており、プリンタ又はハードディスクとコンピュータとを接続するものが提案されている。
【0004】
図12は、従来のデータ通信装置により接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【0005】
図12において、コンピュータ100(ホストデバイス)は、MPU等の演算処理部101、デコーダ102、ディスプレイ等の表示部103、ハードディスク装置(HD)104、キーボードやマウス等の操作部105、RAM等のメモリ106を有する。これらの構成要素は、PCI等の内部バス107を介して1394シリアルバス用の1394インターフェース(I/F)部108に接続されている。
【0006】
また、プリンタ110(ターゲットデバイス)は、ボタン等の操作部112、紙送り等を制御するドライバ113、画像処理部116、デコーダ117、及び印刷用紙等の記録媒体に印字を行うプリンタヘッド114を有する。これらの構成要素は、プリンタコントローラ111及びデータセレクタ118を介して1394シリアルバス用の1394インターフェース(I/F)部119に接続されている。画像処理部116とデコーダ117は互いに接続され、プリンタヘッド114及び画像処理部116には、イメージ等を一時記憶するメモリ115が接続されている。
【0007】
コンピュータ100の1394I/F部108と、プリンタ110の1394I/F部119とは、1394シリアルバスを介して接続され、夫々1394シリアルバスのノードとして認識され、データの転送を行うことができる。
【0008】
図13は、図12におけるコンピュータ100及びプリンタ110間の印刷フローを示す図である。
【0009】
図13において、まず、コンピュータ100からプリンタ110に対してログインを要求したときに、プリンタ110は、既に他のコンピュータからログインされていなければ、コンピュータ100にログインの成功を返す。コンピュータ100は、ログインが成功すると、用紙切れ等のエラーが生じているか否かのような現在のプリンタ110の状態を要求する状態要求コマンドをプリンタ110に送信し、プリンタ110の状態要求コマンドのリプライとして状態コマンドを受信する。プリンタ110の状態コマンドにより用紙切れ等のエラーが生じていない場合は、プリンタ110への印刷データの送信を開始し、印刷データの送信終了後、プリンタ110のログアウトを要求すると共に、プリンタ110のログアウトの成功を受信する。
【0010】
コンピュータ100から送信されるデータは、プリンタ110が印刷する際の用紙サイズ等の印刷条件や印字すべきイメージを含む印刷データと、装着可能用紙等のプリンタ110の構成や用紙切れ等のプリンタ110の稼動状況に関する情報を請求する状態要求コマンドとに大別される。プリンタ110は、状態要求コマンドを受信した場合、リプライである状態コマンドをコンピュータ100に返送する。
【0011】
図14に、従来の1394シリアルバスで使用される1394コマンドパケットORB(Operation Request Block)の説明図であり、(a)は、SBP-2 (ANSI NCITS 325-1998)(シリアルバスプロトコル-2)のコマンドパケットのフォーマットを示し、(b)は、主にMicrosoft社のWindows(登録商標) OSにて利用されるSCSIコマンド部を定義したコマンドパケットのフォーマットを示す。
【0012】
本パケットは、非同期(Asynchronous)パケットであり、4bytes(32bits,以下「クアッドレット」という)を単位とするコマンドパケットである。図14(a)及び図14(b)共に最初の5クアッドレットまでの定義は同様である。
【0013】
最初の2クアッドレットのnext ORBは次のORBへのポインタであり、次のORBがない場合はNULLが設定される。次の2クアッドレットのdata_descriptorはデータバッファ又はページテーブルのアドレスを示している。notify_bitは、完了時にノーティフィケーションが必要か否かを示している。さらに、rq_fmtは該ORBのフォーマット、r bitはリプライ(reply)、d bitはデータ転送方向、spdはデータ転送速度、max_payloadは最大転送データ長、pはPageTableの有無、page_sizeはPageTableのBufferのサイズを示すビットである。
【0014】
図14(a)においては、6クアッドレット番目からターゲットデバイスと転送を行うコマンドが設定される。一方、図14(b)では、6クアッドレット番目からSCSI CDB (Command Descriptor Blocks)が設定される。CDB(図14(b)の cdb は、6、10又は12BytesのSCSIコマンドであり、データの転送等を命令する各種のコマンドが設定される。
【0015】
上記のようにSBP-2パケット(図14(a))においては、プリンタ110の印刷データと状態要求コマンドを区別することができないため、プリンタ110内のデータセレクタ118はコンピュータ100から転送されたコマンドを全て解析することによって、印刷データと状態要求コマンドを分別し、プリンタコントローラ111に転送している。そのため、プリンタ110での負荷が大きく、処理が重たくなるという問題があった。
【0016】
一方、プリンタ110やスキャナ等の周辺機器(ターゲットデバイス)を複数のユーザ間で共有して使用する場合に、ターゲットデバイスの状態情報を取得したいという要請がある。また、ターゲットデバイスが処理すべきデータが複数のコンピュータ(ホストデバイス)から同時に送信された場合に、ターゲットデバイスの状態をユーザに通知し、中止又は続行等の適切な処理ができることが求められている。
【0017】
また、ターゲットデバイスは、複数のデータを同時に受信した場合、受信したパケットがどのホストデバイスから送信されたかを管理し、適切に分類する必要がある。
【0018】
図15は、従来の1394シリアルバスで接続されたホストデバイス及びターゲットデバイスによる画像通信方法の説明図である。
【0019】
図15において、ホストデバイス1201は、データ1204を生成するデータ生成部1202と、ホストデバイス1201固有の情報を付加した1394パケット1205を生成するドライバ1203とを有し、ホストデバイス1211は、データ1214を生成するデータ生成部1212と、ホストデバイス1211固有の情報を付加した1394パケット1215を生成するドライバ1213とを有する。1394パケット1205,1215は、1394シリアルバスで使用されるパケットであり、データ1204,1214に付加されるホストデバイス固有の情報は、例えば、後述するターゲットデバイス1221にログインした際のログインID等の情報がある。
【0020】
一方、ターゲットデバイス1221は、1394パケット受信部1222と、ホストデバイス1201用のバッファ1223と、ホストデバイス1211用のバッファ1224とを有する。1394パケット受信部1222は、1394パケット1205, 1215を夫々受信し、各ホストデバイス固有の情報を解析し、その解析された結果に応じて、データ1204に相当するデータ1225をバッファ1223に、データ1214に相当するデータ1226をバッファ1224に夫々格納する。1394パケット受信部1222は、具体的には、図12における1394I/F部119及びデータセレクタ118から成る。
【0021】
上記構成によれば、ホストデバイス1201,1211で1394パケット1205,1215にホストデバイス固有の情報を付加することによって、ターゲットデバイス1221は、受信した1394パケット1205,1215を発信したホストデバイス1201,1211を識別することができる(例えば、非特許文献1参照)
【非特許文献1】
“Working Draft Revision 4 「Information technology -Serial Bus Protocol 2 (SBP-2)」”、〔online〕、1998年5月19日、インターネット<URL:http://www.t10.org/ftp/t10/drafts/sbp2/sbp2r04.pdf>
【0022】
【発明が解決しようとする課題】
しかしながら、上記従来のデータ通信方法には、ホストデバイス1201,1211のドライバ1203,1213、及びターゲットデバイス1221の1394パケット受信部1222での処理が複雑になるという問題がある。即ちホストデバイス1201,1211は、ホストデバイス固有の情報を付加する機能を必要とし、ターゲットデバイス1221は、受信されたデータを解析、分別するための機能を必要として、データ解析が複雑になりデータセレクタの負荷が大きいという問題があった。このため、複数のホストデバイスからのログインを制限しており、複数のホストデバイスとの同時通信を行うことができなかった。
【0023】
本発明の目的は、前記問題点を解決するためになされたもので、ターゲットデバイスのデータセレクタの負荷を低減することができるデータ通信方法及び装置、並びにプリンタ及びその制御方法を提供することにある。
【0024】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載のデータ通信方法は、 IEEE1394 規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信方法において、前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とする。
請求項記載のデータ通信方法は、請求項1記載のデータ通信方法において、前記データは、使用するチャネルの種類を示す識別情報を少なくともむことを特徴とする。
【0025】
請求項3記載のデータ通信方法は、請求項1又は2記載のデータ通信方法において、前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする。
請求項記載のデータ通信方法は、請求項1乃至3のいずれか1項に記載のデータ通信方法において、前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする。
【0026】
請求項記載のデータ通信方法は、請求項1乃至4のいずれか1項に記載のデータ通信方法において、前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする。
【0027】
請求項記載のデータ通信方法は、請求項1乃至のいずれか1項に記載のデータ通信方法において、前記ホストデバイスから前記ターゲットデバイスに複数のデータを転送する場合、前記複数のデータの各々は、前記転送されるデータの順番に関する情報を含むことを特徴とする。
【0028】
請求項記載のデータ通信方法は、請求項1乃至のいずれか1項に記載のデータ通信方法において、前記ホストデバイスは複数のホストデバイスから成ることを特徴とする。
【0029】
請求項記載のデータ通信方法は、請求項記載のデータ通信方法において、前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする。
【0030】
請求項記載のデータ通信方法は、請求項又は記載のデータ通信方法において、前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする。
【0031】
請求項10記載のデータ通信方法は、請求項1乃至のいずれか1項に記載のデータ通信方法において、前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする。
【0032】
請求項11記載のデータ通信方法は、請求項1乃至10のいずれか1項に記載のデータ通信方法において、IEEE1394規格上のSBP−2(ANSI NCITS 325−1998)規格に適合又は準拠することを特徴とする。
【0042】
上記目的を達成するために、請求項12記載のデータ通信装置は、 IEEE1394 規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信装置であって、前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とする。
請求項13記載のデータ通信装置は、請求項12記載のデータ通信装置において、前記データは、使用するチャネルの種類を示す識別情報を少なくともむことを特徴とする。
【0043】
請求項14記載のデータ通信装置は、請求項12又は13記載のデータ通信装置において、前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする。
請求項15記載のデータ通信装置は、請求項12乃至14のいずれか1項に記載のデータ通信装置において、前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする。
【0044】
請求項16記載のデータ通信装置は、請求項12乃至15のいずれか1項に記載のデータ通信装置において、前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする。
【0045】
請求項17記載のデータ通信装置は、請求項12乃至16のいずれか1項に記載のデータ通信装置において、前記データを複数転送する場合、前記データは、前記転送されるデータの順番に関する情報を夫々含むことを特徴とする。
【0046】
請求項18記載のデータ通信装置は、請求項12乃至17のいずれか1項に記載のデータ通信装置において、前記ホストデバイスは複数のホストデバイスから成ることを特徴とする。
【0047】
請求項19記載のデータ通信装置は、請求項18記載のデータ通信装置において、前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする。
【0048】
請求項20記載のデータ通信装置は、請求項18又は19記載のデータ通信装置において、前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする。
【0049】
請求項21記載のデータ通信装置は、請求項12乃至20のいずれか1項に記載のデータ通信装置において、前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする。
【0050】
請求項22記載データ通信装置は、請求項12乃至21のいずれか1項に記載のデータ通信装置において、IEEE1394規格上のSBP−2(ANSI NCITS 325−1998)規格に適合又は準拠することを特徴とする。
【0051】
請求項23記載のデータ通信装置は、請求項12乃至22のいずれか1項に記載のデータ通信装置において、前記ホストデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報とを生成する生成手段を備えることを特徴とする。
請求項24記載のデータ通信装置は、請求項12乃至23のいずれか1項に記載のデータ通信装置において、前記ターゲットデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報を解析する解析手段を備えることを特徴とする。
記目的を達成するために、請求項25記載のプリンタは、IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と1回のログインプロセス中において少なくともジョブチャネル拡張チャネルからなる複数のチャネル切替えることによってデータの通信を行うプリンタであって、前記複数のコンピュータのうち第1のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第2のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第1のコンピュータから印刷データを受信中であること通知する手段を有することを特徴とする。
請求項26記載のプリンタは、請求項25記載のプリンタにおいて、前記第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第1のコンピュータからの印刷データの受信が終了していたときは、前記第2のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信する手段を有することを特徴とする。
記目的を達成するために、請求項27記載のプリンタの制御方法は、IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と1回のログインプロセス中において少なくともジョブチャネル拡張チャネルからなる複数のチャネル切替えることによってデータの通信を行うプリンタの制御方法であって、前記複数のコンピュータのうち第1のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第2のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第1のコンピュータから印刷データを受信中であること通知することを特徴とする。
請求項28記載のプリンタの制御方法は、請求項27記載のプリンタの制御方法において、前記第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第1のコンピュータからの印刷データの受信が終了していたときは、前記第2のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信することを特徴とする。
【0052】
【発明の実施の形態】
以下、本発明の実施の形態に係るデータ通信装置で接続されたホストデバイス及びターゲットデバイスの構成を図面を参照しながら説明する。
【0053】
図1は、本発明の実施の形態に係るデータ通信装置で接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【0054】
図1において、コンピュータ400(ホストデバイス)は、MPU等の演算処理部401、デコーダ402、CRTディスプレイ等の表示部403、ハードディスク装置(HD)404、キーボードやマウス等の操作部405、RAM等のメモリ406、1394パケットを生成するドライバ409を有する。これらの構成要素は、PCI等の内部バス407を介してIEEE1394シリアルバス用の1394インターフェース(I/F)部408に接続されている。1394パケットは、1394シリアルバスで使用されるパケットである。
【0055】
また、プリンタ420(ターゲットデバイス)は、ボタン等の操作部422、紙送り等を制御するドライバ423、画像処理部426、デコーダ427、及び印刷用紙等の記録媒体に印字を行うプリンタヘッド424を有する。これらの構成要素は、プリンタコントローラ421及びデータセレクタ428を介して1394シリアルバス用の1394インターフェース(I/F)部429に接続されている。画像処理部426とデコーダ427は互いに接続され、プリンタヘッド424及び画像処理部426には、イメージ等を一時記憶するメモリ425が接続されている。また、1394I/F部429には、1394シリアルバス用の1394デコーダ430が接続されている。
【0056】
コンピュータ400の1394I/F部428とプリンタ420の1394I/F部429は、1394シリアルバスを介して接続され、夫々1394シリアルバスのノードとして認識され、データの転送を行うことができる。
【0057】
コンピュータ400の1394I/F部408とプリンタ420の1394I/F部429との間では、仮想的な3つのチャネル、即ち印刷データ用のジョブチャネル440、状態要求コマンド用の管理チャネル441、及び拡張チャネル442によってデータが転送される。
【0058】
ジョブチャネル440は、コンピュータ400からプリンタ420への送信用のコマンドパケットとその内容を示すデータパケットの片方向転送路であり、印刷データをデータセレクタ428に転送する。
【0059】
管理チャネル441は、コンピュータ400とプリンタ420との間の1394パケットの双方向転送路であり、状態要求コマンドをデータセレクタ428を介してプリンタコントローラ421に送信し、プリンタ420からのリプライである状態コマンドをコンピュータ400に返送する。
【0060】
拡張チャネル442は、コンピュータ400とプリンタ420との間の1394パケット及びデータパケットの双方向転送路であり、ジョブチャネル440に関する情報や各種の制御情報等の拡張コマンドをコンピュータ400とプリンタ420との間で転送する。
【0061】
コンピュータ400において、演算処理部401は、操作者による操作部405の操作に応じてハードディスク404に記録されているソフトウェアを実行すると共に、様々なデータをメモリ406に移動させたり、コンピュータ400の内部バス407に接続された各構成要素の調停動作を行う。また、ハードディスク404に記録されているソフトウェア等の情報は、表示部403に表示され、操作者に示される。
【0062】
デコーダ402は、上記ソフトウェアを通じて、印刷データ及び状態要求コマンドを生成し、ドライバ409に書きこむ。ドライバ409は、生成された印刷データと状態要求コマンドとを分別する機能を有すると共に、1394パケットを生成し、1394I/F部408に書きこむ。ドライバ409は、本実施の形態では、内部バス407に接続されるハードウェアであるが、コンピュータ内部のソフトウェアであってもよい。
【0063】
一方、プリンタ420において、1394I/F部429は、コンピュータ400の1394I/F部408から、ジョブチャネル440を介して印刷データを、管理チャネル441を介して状態要求コマンドを、拡張チャネル442を介してジョブチャネル440に関する情報等を受信する。
【0064】
各チャネル440,441,442のデータ、コマンド情報等は、1394デコーダ430にて分別される。1394デコーダ430は、入力された状態要求コマンドを後述するKind情報に基づいてデコードすることにより印刷データと状態要求コマンドとを分別し、データセレクタ428に状態要求コマンドを転送する。
【0065】
受信された印刷データは、データセレクタ428を介してデコーダ427に入力され、デコーダ427は、入力された印刷データをデコードして画像処理部426に出力し、画像処理部426は、生成された画像データをメモリ425に一次的に記憶する。
【0066】
操作部422等による設定やプリンタコントローラ421が受信した印刷条件に関する設定コマンド等に応じて、各種の印刷条件が決定される。ドライバ423は、印刷条件やメモリ425に一次的に記憶された画像データに基づいてプリンタヘッド424の制御や紙送り制御等様々な印刷に関する制御を行う。
【0067】
上記構成によれば、1394デコーダ430は、状態要求コマンドデータセレクタ428に転送する際に、印刷データと状態要求コマンドとを分別するので、データセレクタ428の処理の負荷を低減することができる。
【0068】
拡張チャネル442を介して受信された情報は、データセレクタ428には転送されず、1394デコーダ内で処理される。拡張チャネル442の情報は、現在のジョブチャネルの状態やジョブチャネルを利用する利用者名の登録等の各種制御を行う。
【0069】
また、ドライバ409が、コンピュータ400で稼動しているOS又は他のアプリケーションソフト等と共同して前述の実施形態の機能を実現する場合も、本発明に含まれることは言うまでもない。
【0070】
更に、ドライバ409に関連するプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能を実現する場合も本発明に含まれることは言うまでもない。
【0071】
図2は、図1のデータ通信装置で使用されるパケットのフォーマットの説明図である。
【0072】
図2のパケットは、非同期(Asynchronous)であり、8クアッドレットから構成される。1クアッドレットから5クアッドレットまでは、図14(a)及び図14(b)のORBと同様に定義される。
【0073】
6クアッドレットと7クアッドレットは、将来の拡張のためリザーブされたものである。また、8クアッドレットにおいて、各種のパラメータが設定され、具体的には、kind byte(Kind情報)で利用するチャネルの種類(ジョブチャネル440、管理チャネル441、拡張チャネル442)を、option byteで受信データ等等に関する各種オプション機能を、command byteで拡張チャネル442においての各種機能を、seq.no byteでORBのシーケンシャル番号を設定する。
【0074】
上記パケットのフォーマットは、本発明の目的を達成するための一例であり、その詳細な定義は本例に限るものではない。
【0075】
また、本パケットは、Macintosh OS及びWindows OS等のOSに依存していないという特徴を有しており、ホストコンピュータの搭載OSを制限するものではない。
【0076】
図3は、図1におけるコンピュータ400及びプリンタ420間の印刷フローの説明図である。
【0077】
コンピュータ400とプリンタ420が1394シリアルバスのノードとして認識された後、コンピュータ400からプリンタ420へログインを要求し、ログイン成功が返される。ログイン成功の場合は、拡張チャネル442を介してログインしたコンピュータ400の名称を登録する。
【0078】
コンピュータ400は、管理チャネル441を介して状態要求コマンドをプリンタ420に送信し、プリンタ420からリプライされた状態コマンドを受信する。現在の状態が印字可能状態であれば、印刷データの転送を開始する。具体的には、まず、コンピュータ400は、拡張チャネル442を介して印刷データの転送開始要求をプリンタ420に送信する。この要求に際し、他のコンピュータからの印刷データの転送中でなければ、印刷データの転送開始成功が拡張チャネル442を介してコンピュータ400にリプライされる。
【0079】
コンピュータ400は、印刷データの転送開始成功の場合、ジョブチャネル440を介して、印刷データを送信する。印刷データのサイズによっては、複数パケットに分割して、転送することになる。
【0080】
コンピュータ400は、全ての印刷データを送信すると、拡張チャネル442を介して印刷データの転送終了をプリンタ420に通知する。最後にログアウトを要求し、プリンタ420からログアウトする。
【0081】
状態要求コマンドの送信及びリプライの状態コマンドの受信の回数は、プリンタ420の機種やコンピュータ400の種類等に依存し、前記フローの回数とは限らない。また、場合によっては、印刷データの転送の途中や印刷データ転送終了後においても、状態要求コマンドの送信及びリプライの状態コマンドの受信が行われることがある。
【0082】
図4は、本発明の第2の実施の形態に係るデータ通信装置に接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
本実施の形態では、2台のコンピュータ700,720(ホストデバイス)がプリンタ740(ターゲットデバイス)にデータ通信装置を介して接続されている。
【0083】
図4において、コンピュータ700は、MPU等の演算処理部701、デコーダ702、CRTディスプレイ等の表示部703、ハードディスク装置(HD)704、キーボードやマウス等の操作部705、RAM等のメモリ706、1394パケットを生成するドライバ709を有する。これらの構成要素は、PCI等の内部バス707を介して1394シリアルバス用の1394インターフェース(I/F)部708に接続されている。
【0084】
コンピュータ720は、MPU等の演算処理部721、デコーダ722、CRTディスプレイ等の表示部723、ハードディスク装置(HD)724、キーボードやマウス等の操作部725、RAM等のメモリ726、1394パケットを生成するドライバ729を有する。これらの構成要素は、PCI等の内部バス727を介して1394シリアルバス用の1394インターフェース(I/F)部728に接続されている。
【0085】
また、プリンタ740は、ボタン等の操作部742、紙送り等を制御するドライバ743、画像処理部746、デコーダ747、及び印刷用紙等の記録媒体に印字を行うプリンタヘッド744を有する。これらの構成要素は、プリンタコントローラ741及びデータセレクタ748を介して1394シリアルバス用の1394インターフェース(I/F)部749に接続されている。画像処理部746とデコーダ747は互いに接続され、プリンタヘッド744及び画像処理部746には、イメージ等を一時記憶するメモリ745が接続されている。また、1394I/F部449には、1394シリアルバス用の1394デコーダ750が接続されている。
【0086】
コンピュータ700の1394I/F部708とプリンタ740の1394I/F部749は、1394シリアルバスを介して接続され、夫々1394シリアルバスのノードとして認識され、データの転送を行うことができる。
【0087】
コンピュータ700の1394I/F部708とプリンタ740の1394I/F部749との間では、仮想的な3つのチャネル、即ち印刷データ用のジョブチャネル760、状態要求コマンド用の管理チャネル761、及び拡張チャネル762によってデータが転送される。
【0088】
ジョブチャネル760は、コンピュータ700からプリンタ740への送信用のコマンドパケットとその内容を示すデータパケットの片方向転送路であり、印刷データをデータセレクタ428に転送する。
【0089】
管理チャネル761は、コンピュータ700とプリンタ740との間の1394パケットの双方向転送路であり、状態要求コマンドをデータセレクタ748を介してプリンタコントローラ741に転送し、プリンタ740からのリプライである状態コマンドをコンピュータ700に返送する。
【0090】
拡張チャネル762は、コンピュータ700とプリンタ740との間の1394パケット及びデータパケットの双方向転送路であり、ジョブチャネル760に関する情報や各種の制御情報等の拡張コマンドをコンピュータ700とプリンタ740との間で転送する。
【0091】
コンピュータ720の1394I/F部728とプリンタ740の1394I/F部749は、1394シリアルバスを介して接続され、夫々1394シリアルバスのノードとして認識され、データの転送を行うことができる。
【0092】
コンピュータ720の1394I/F部728とプリンタ740の1394I/F部749との間では、仮想的な2つのチャネル、即ち状態要求コマンド用の管理チャネル763、及び拡張チャネル764によってデータが転送される。
【0093】
管理チャネル763は、コンピュータ720とプリンタ740との間の1394パケットの双方向転送路であり、状態要求コマンドをデータセレクタ748を介してプリンタコントローラ741に転送し、プリンタ740からのリプライである状態コマンドをコンピュータ720に返送する。
【0094】
拡張チャネル764は、コンピュータ720とプリンタ740との間の1394パケットの双方向転送路であり、各種の制御情報等の拡張コマンドをコンピュータ700とプリンタ740との間で転送する。
【0095】
プリンタ740の1394デコーダ750は、1394I/F749で受信したデータを、ログイン中のコンピュータ毎に分別し、夫々独立に処理し、更に、管理チャネル761,763又は拡張チャネル762,764のリプライは、夫々対応するコンピュータ700,720に対して返送される。
【0096】
コンピュータ700がログインしている場合においても、コンピュータ720は、ログインが可能である。コンピータ700の動作は、コンピュータ700とプリンタ740を1対1で接続した場合と同じである。一方、コンピュータ720は、コンピュータ700がジョブチャネル760を現在接続しているため、プリンタ740にジョブチャネルを接続することができないが、管理チャネル763と拡張チャネル764は利用でき、状態要求コマンド、各種の拡張コマンドやそれらのリプライを転送することができる。コンピュータ700とコンピュータ720は独立に動作することができ、他方に対して影響を与えることはない。
【0097】
このように、本実施の形態では、データ通信装置は、2台のコンピュータ700,720と1台のプリンタ740の接続構成を対象としているが、3台以上のコンピュータと1台のプリンタとの接続構成であってもよい。
【0098】
また、プリンタ740の1394I/F749は、1394シリアルバス内に他のプリンタが存在していても、互いに影響を及ぼすものではないため、本発明は、複数台のコンピュータと複数台のプリンタとの接続構成であっても有効である。
【0099】
図5及び図6は、図4におけるコンピュータ700,720及びプリンタ740間の印刷フローの説明図であり、図5は、コンピュータ720からプリンタ740の印刷中止処理がなされた場合を示し、図6は、コンピュータ720から印刷データの転送をリトライする場合を示す。
【0100】
図5において、コンピータ700は,ログイン成功の後、ログイン名称を登録し、状態要求コマンド(ターゲットデバイスの状態を要求する情報)の送信とそのリプライを受信する。プリンタが印刷可能状態であれば、拡張チャネルで印刷データ(ターゲットデバイスの処理すべきデータ)の転送開始要求を送信し、プリンタ740の1394デコーダ750から印刷データの転送開始要求成功(送信状態)がリプライされると、印刷データの送信を開始する。
【0101】
コンピュータ720は、コンピュータ700と同様に、ログイン後、ログイン名称の登録、状態要求コマンドの送信とそのリプライを受信する。印刷データの転送開始要求に対して、既にジョブチャネルが利用されているため、プリンタ740から印刷データの転送開始失敗(送信状態)がリプライされる。コンピュータ720は、ジョブチャネルのホスト情報(ホストデバイスに関する情報)の要求を拡張チャネル764を利用して送信する。
【0102】
プリンタ740の1394デコーダ750は、ログインされたコンピュータから送信されたログイン名称情報を各コンピュータ毎に保持している。現在のジョブチャネル760がコンピュータ700から転送されていることから、前記ホスト情報の要求に対しては、コンピュータ700のログイン名称を拡張チャネル762でリプライする。
【0103】
コンピュータ720では、表示部等で他のコンピュータから印刷データが送信されていることをコンピュータ720の操作者に通知する。通知方法は、コンピュータの種類や搭載されているOSや印刷環境によって異なり、エラーダイアログ、アイコンの表示やビープ音等のサウンドの再生等様々な形態が利用される。
【0104】
またホスト情報の表示等が可能ならば、コンピュータ700のログイン名称を操作者に通知し、続行又は中止等の判断を促す。
【0105】
次いで、コンピュータ720から印刷処理中止が指令されると、コンピュータ720は、ログアウトを要求し、印刷処理を中止する。
【0106】
図6は、コンピュータ720から印刷処理続行が指令された場合であり、コンピュータ720から印刷処理続行が指令されるまでは、図5の印刷フローと同様である。
【0107】
コンピュータ720が印刷処理続行を指令すると、コンピュータ720は、印刷データの転送開始要求を再度送信し、そのリプライを受信する。再び失敗でリプライされた場合は、一定周期後に再度印刷データの転送開始要求を送信する。
【0108】
プリンタ740は、コンピュータ700の印刷データの送信が終了し、印刷データの転送終了コマンドが送信されると、ジョブチャネルが終了したと判断する。すると、コンピュータ720の印刷データの転送開始要求に対して、成功を返す。
【0109】
コンピュータ720は、印刷データの転送開始成功を受信すると、印刷データを送信し始める。印刷データの送信終了後、印刷データの転送終了コマンドを送信し、ログアウトする。
【0110】
コンピュータ720の印刷データの転送開始コマンドの再送周期は、コンピュータ720の種類、搭載OSや印刷環境に応じて異なる。また、再送は、一定時間内又は一定回数までを制限として、処理を繰り返してもよい。
【0111】
図5及び図6の処理によれば、コンピュータ700とコンピュータ720において、印刷データを混在させることなく、印刷処理を行うことができる。また、図5及び図6のフローは、2台のコンピュータ700,720間ではなく、複数台のコンピュータ間においても同様の効果を得られる。
【0112】
図7は、図4における2台のコンピュータ700,720からの指令によるプリンタ740の印刷処理のフローチャートである。
【0113】
まず、ステップS1において、受信データが終了イベントであるか否かを判別し、終了イベントでなければ、ステップS3に進み、受信データが印刷データであるか否かを判別する。ステップS3の判別の結果、印刷データであるときは、印刷データを処理した(ステップS4)後、ステップS1以降の処理を実行する一方、印刷データでない場合は、ステップS5に進み、受信データが管理チャネルデータであるか否かを判別する。
【0114】
ステップS5の判別の結果、受信データが管理チャネルデータであるときは、管理チャネルデータの処理を行った(ステップS6)後、ステップS1以降の処理を実行する一方、管理チャネルデータでないときは、ステップS7に進んで、受信データが拡張チャネルデータであるか否かを判別する。ステップS7の判別の結果、拡張チャネルのデータでなければ、ステップS1以降の処理を実行する一方、拡張チャネルデータを受信したときは、ステップS8に進んで、受信データがジョブチャネルのログイン要求であるか否かを判別する。
【0115】
ステップS8の判別の結果、ジョブチャネルのログイン要求以外の拡張チャネルデータならば、当該拡張チャネルデータの処理を行って(ステップS9)、ステップS1以降の処理を実行する一方、ジョブチャネルのログイン要求ならば、既にログインしているか否かを判別する(ステップS10)。
【0116】
ステップS10の判別の結果、既にログインしていれば、失敗を返送し(ステップS11)、既にログインしていないならば、成功を返送して(ステップS12)、ステップS1以降の処理を実行する。ステップS1の判別の結果、終了イベントであるときは、終了処理を行って(ステップS2)、本処理を終了する。
【0117】
上述したパケット及びフロー等は、ホストデバイスがコンピュータの場合だけではなく、他のホストデバイスでも同様の機能を発揮することができ、ターゲットデバイスがプリンタの場合だけはなく、他のターゲットデバイスでも同様の機能を発揮することができる。
【0118】
拡張チャネルのデータは、上述のようにコマンドパケットとデータパケットから成り、このデータパケットは非同期(Asynchronous)パケットである。
【0119】
図8は、非同期(Asynchronous)パケットの説明図である。
【0120】
図8において、Destination IDは着信先の機器、tLabelは一連のデータ転送を示すラベル、rtは再送ステータス、tcodeはパケット種別、Priは優先順位を示す。また、Source IDは送信元の機器、Destination Offsetは着信先機器のアドレスを示す。Data Lengthはデータ長、Extended tcodeは拡張パケット種別を示す。Header CRCは、Header部のCRC、Dataはデータ部、Data CRCはデータ部のCRCを示す。
【0121】
コンピュータがプリンタにログインする場合、プリンタにログイン要求を行い、IEEE1212で規定されたアドレスを割振る。以降、コンピュータはそのアドレスに対してデータ転送を行う。
【0122】
図9は、ホストコンピュータからプリンタに複数の1394パケットでデータを同期して転送する場合のフローの説明図である。
【0123】
図9において、ホストコンピュータ1001からプリンタ1000に複数の1394パケットでデータを同期して転送する場合、ホストコンピュータ1001が転送データを準備すると、プリンタ1000からAsynchoronous RequestパケットをtLabel=0で発行する。ホストコンピュータ1001は、データを含めたAsynchoronous ResponseパケットをtLabel=0で送信する。受信したプリンタ1000は、データを抽出し、第1番目のデータData0として処理する。
【0124】
ホストコンピュータ1001が次の転送データが準備されると、プリンタ1000からAsynchoronous RequestパケットをtLabel=1で発行する。ホストコンピュータ1001は、データを含めたAsynchoronous ResponseパケットをtLabel=1で送信する。受信したプリンタ1000は、データを抽出し、第2番目のデータData1として処理する。
【0125】
以降のデータは、同様に、tLabelを増やしていくことによって、受信データの順番を容易に知ることができる。
【0126】
上記プリンタ及びホストコンピュータ間のAsynchonous RequestとResponseは、同期的である必要はなく、プリンタ1000とホストコンピュータ1001の各送受信バッファが十分ならば、非同期的に転送しても問題ない。
【0127】
図10は、ホストコンピュータからプリンタに複数の1394パケットでデータを非同期で転送する場合のフローの説明図である。
【0128】
図10において、プリンタ1500は、Asychronous RequestをtLabelの値を更新しながら、複数回続けて行い、それぞれのRequestに対するResponseを受信する。受信したResponseのtLabelは、RequestのtLabelと同値である、tLabelの順番で受信したデータが、処理するべきデータの順番である。
【0129】
前記のような非同期的なデータ転送においては、プリンタ1500はコンピュータ1501のResponseパケットを待つことなく、Requestパケットを発行することができ、処理速度を向上させることができる。
【0130】
図11は、複数のコンピュータ及び1台のプリンタ間のデータ転送の説明図である。
【0131】
図11において、1台のプリンタ1410と複数のコンピュータ1411, 1412間のデータ転送において、個々のコンピュータとのデータ転送は、異なるノードとして管理する。コンピュータ1411及びプリンタ1410間のデータ転送をノード1、コンピュータ1412及びプリンタ1410間のデータ転送をノード2とする。
【0132】
各ノードにおけるデータ転送は、全く独立であり、ノード1とノード2のデータ転送は、一方の状態によって他方が依存することはない。またノード内におけるデータ転送は、前記説明したとおりRequestとResponseパケットは非同期であり、tLabelに設定された順番に応じて、受信したデータを順番を識別することが可能である。
【0133】
複数コンピュータ間でのデータ転送は、コンピュータの台数が2台ではなく、IEEE1394が規定する最大の複数台であっても、動作することは言うまででもない。また、 IEEE1394 規格上の、特に SBP −2( ANSI NCITS 325 1998 )(シリアルバスプロトコル - 2)規格に適合又は準拠することが好ましい。
【0134】
このようなtLabelにパケットの順番に関する情報を設定したデータ転送方法では、処理が簡易であり、複数台のコンピュータと接続し、複数のノードを保持している場合に特に有効である。
【0135】
tLabelを用いた複数デバイス間のデータ転送の管理方法は、ホストデバイスがコンピュータでない場合やターゲットデバイスがプリンタでない場合でも適用することができる。
【0136】
上記実施の形態では、ホストデバイスとターゲットデバイスとの間でデータを転送するデータ通信処理を説明したが、この処理をプログラムして記憶媒体に書き込み、公知の装置で該記憶媒体から上記プログラムを読み出して実行しても、上述した処理を実行することができる。
【0137】
また、記憶媒体は、フロッピーディスク、ハードディスク、CD−ROM、MO等の様々なものが考えられるが、特定のものに限定する必要はなく、上記プログラムを記憶できるものであればよい。
【0138】
【発明の効果】
以上詳細に説明したように、請求項記載のデータ通信方法、及び請求項12記載のデータ通信装置によれば、ターゲットデバイスが処理すべきデータ用のジョブチャネル、ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うので、ターゲットデバイスのデータセレクタの負荷を低減することができる。
【0139】
請求項記載のデータ通信方法、及び請求項15記載のデータ通信装置によれば、張情報がホストデバイスに関する情報であので、ターゲットデバイスは、データを送信したホストデバイスを特定することができる。
【0140】
請求項記載のデータ通信方法、及び請求項16記載のデータ通信装置によれば、張情報がターゲットデバイスが処理すべきデータの送信状態に関する情報であので、ホストデバイスは、ターゲットデバイスへのデータの送信状態を認識することができる。
【0141】
請求項記載のデータ通信方法、及び請求項17記載のデータ通信装置によれば、ホストデバイスからターゲットデバイスに転送される複数のデータの各々が転送されるデータの順番に関する情報を含ので、データの転送を効率よく行うことができる。
【0142】
請求項25記載のプリンタ、及び請求項27のプリンタの制御方法によれば、複数のコンピュータのうち第1のコンピュータからジョブチャネルを介して印刷データ受信中に、複数のコンピュータのうち第2のコンピュータから拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、第2のコンピュータに対して、拡張チャネルを介して印刷データ転送開始の失敗と、第1のコンピュータから印刷データを受信中であることを通知するので、プリンタのデータセレクタの負荷を低減することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るデータ通信装置で接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【図2】図1のデータ通信装置で使用されるパケットのフォーマットの説明図である。
【図3】図1におけるコンピュータ400及びプリンタ420間の印刷フローの説明図である。
【図4】本発明の第2の実施の形態に係るデータ通信装置で接続されるホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【図5】図4におけるコンピュータ700,720及びプリンタ740間の印刷フローの説明図であり、コンピュータ720からプリンタ740の印刷中止処理がなされた場合を示す。
【図6】図4におけるコンピュータ700,720及びプリンタ740間の印刷フローの説明図であり、コンピュータ720から印刷データの転送をリトライする場合を示す。
【図7】図4における2台のコンピュータ700,720からの指令によるプリンタ740の印刷処理のフローチャートである。
【図8】非同期(Asynchronous)パケットを示す図である。
【図9】ホストコンピュータからプリンタに複数の1394コマンドパケットでデータを転送する場合のフローの説明図である。
【図10】ホストコンピュータからプリンタに複数の1394コマンドパケットでデータを非同期で転送する場合のフローの説明図である。
【図11】複数のコンピュータ及び1台のプリンタ間のデータ転送の説明図である。
【図12】従来のデータ通信装置の構成を示すのブロック図である。
【図13】図12におけるコンピュータ100とプリンタ110間のデータのフローを示す図である。
【図14】従来の1394シリアルバスで使用される1394コマンドパケットORB(Operation Request Block)の説明図であり、(a)は、SBP−2 (シリアルバスプロとコール−2)のコマンドパケットのフォーマットを示し、(b)、主にMicrosoft社のWindows OSにて利用されるSCSIコマンド部を定義したコマンドパケットのフォーマットを示す。
【図15】従来の1394シリアルバスで接続されたプリンタとコンピュータによる画像通信方法の説明図である。
【符号の説明】
400,700,720 コンピュータ
420,720,740 プリンタ
408,429,728749 1394インターフェース部
428,748 データセレクタ
430,750 1394デコーダ
440,760 ジョブチャネル
441,761,763 管理チャネル
442,762,764 拡張チャネル
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention provides a data communication method and apparatus,AndPrinter and its controlTo the lawA data communication method and apparatus for transferring data between a host device and a target device via a serial bus conforming to or conforming to the IEEE 1394 standard,AndPrinter and its controlTo the lawRelated.
[0002]
[Prior art]
In recent years, as computer peripherals have become capable of processing large amounts of data with higher resolution printers and larger hard disk capacities, serial buses as data communication devices that enable higher speed data communication have become increasingly popular. It is being used.
[0003]
Among various serial buses, an IEEE 1394 serial bus (hereinafter, referred to as a “1394 serial bus”) that permits not only one-to-one connection but also many-to-many connection between a host device and a target device has a high speed. There is a proposal for connecting a printer or a hard disk to a computer.
[0004]
FIG. 12 is a block diagram showing a configuration of a host device and a target device connected by a conventional data communication device.
[0005]
12, a computer 100 (host device) includes an arithmetic processing unit 101 such as an MPU, a decoder 102, a display unit 103 such as a display, a hard disk drive (HD) 104, an operation unit 105 such as a keyboard and a mouse, and a memory such as a RAM. 106. These components are connected to a 1394 interface (I / F) unit 108 for a 1394 serial bus via an internal bus 107 such as a PCI.
[0006]
The printer 110 (target device) includes an operation unit 112 such as a button, a driver 113 for controlling paper feed and the like, an image processing unit 116, a decoder 117, and a printer head 114 for printing on a recording medium such as printing paper. . These components are connected to a 1394 interface (I / F) unit 119 for a 1394 serial bus via a printer controller 111 and a data selector 118. The image processing unit 116 and the decoder 117 are connected to each other, and the printer head 114 and the image processing unit 116 are connected to a memory 115 for temporarily storing images and the like.
[0007]
The 1394 I / F unit 108 of the computer 100 and the 1394 I / F unit 119 of the printer 110 are connected via a 1394 serial bus, are recognized as 1394 serial bus nodes, and can transfer data.
[0008]
FIG. 13 is a diagram showing a printing flow between the computer 100 and the printer 110 in FIG.
[0009]
In FIG. 13, first, when the computer 100 requests the printer 110 to log in, the printer 110 returns a success of the login to the computer 100 if the user has not already logged in from another computer. When the login is successful, the computer 100 transmits to the printer 110 a status request command for requesting the current status of the printer 110, such as whether an error such as out of paper has occurred. As a status command. If no error such as out of paper has occurred due to the status command of the printer 110, transmission of the print data to the printer 110 is started, and after the transmission of the print data, a logout of the printer 110 is requested. Receive success.
[0010]
The data transmitted from the computer 100 includes print data including printing conditions such as paper size when printing by the printer 110 and an image to be printed, and the configuration of the printer 110 such as mountable paper and the printer 110 such as running out of paper. It is roughly divided into a status request command for requesting information on the operation status. When receiving the status request command, the printer 110 returns a status command, which is a reply, to the computer 100.
[0011]
FIGS. 14A and 14B are explanatory diagrams of a 1394 command packet ORB (Operation Request Block) used in the conventional 1394 serial bus. FIG. 14A shows SBP-2 (ANSI NCITS 325-1998) (serial bus processor).Tokor2B shows the format of the command packet, and FIG. 2B shows the format of the command packet that mainly defines the SCSI command part used in the Windows (registered trademark) OS of Microsoft Corporation.
[0012]
This packet is an asynchronous (Asynchronous) packet, and is a command packet in units of 4 bytes (32 bits, hereinafter referred to as “quadlet”). 14A and 14B have the same definition for the first five quadlets.
[0013]
The next ORB of the first two quadlets is a pointer to the next ORB. If there is no next ORB, NULL is set. The data_descriptor of the next two quadlets indicates the address of the data buffer or page table. Notify_bit indicates whether or not notification is required at the time of completion. Further, rq_fmt is the format of the ORB, r bit is a reply (reply), d bit is the data transfer direction, spd is the data transfer speed, max_payload is the maximum transfer data length, p is the presence / absence of the PageTable, and page_size is the size of the PageTable's Buffer. Is a bit that indicates
[0014]
In FIG. 14A, a command for performing transfer with the target device is set from the sixth quadlet. On the other hand, in FIG. 14B, the SCSI CDB (Command Descriptor Blocks) is set. CDB(FIG. 14 (b) cdb )Is a SCSI command of 6, 10 or 12 bytes, in which various commands for instructing data transfer and the like are set.
[0015]
As described above, SBP-2 packet (Figure14In (a)), since the print data of the printer 110 and the status request command cannot be distinguished, the data selector 118 in the printer 110 analyzes all the commands transferred from the computer 100 to obtain the print data and the status request command. The request command is separated and transferred to the printer controller 111. Therefore, there is a problem that the load on the printer 110 is large and the processing becomes heavy.
[0016]
On the other hand, when a peripheral device (target device) such as the printer 110 or a scanner is shared and used by a plurality of users, there is a request to acquire status information of the target device. In addition, when data to be processed by the target device is simultaneously transmitted from a plurality of computers (host devices), it is required that the user be notified of the state of the target device and appropriate processing such as suspension or continuation can be performed. .
[0017]
In addition, when a plurality of data are received simultaneously, the target device needs to manage which host device transmitted the received packet and to appropriately classify the packet.
[0018]
FIG. 15 is an explanatory diagram of a conventional image communication method using a host device and a target device connected by a 1394 serial bus.
[0019]
15, the host device 1201 has a data generation unit 1202 that generates data 1204 and a driver 1203 that generates a 1394 packet 1205 to which information unique to the host device 1201 is added. It has a data generation unit 1212 to generate and a driver 1213 to generate a 1394 packet 1215 to which information unique to the host device 1211 is added. The 1394 packets 1205 and 1215 are packets used on the 1394 serial bus, and information unique to the host device added to the data 1204 and 1214 includes, for example, information such as a login ID used when logging in to a target device 1221 described later. There is.
[0020]
On the other hand, the target device 1221 has a 1394 packet receiving unit 1222, a buffer 1223 for the host device 1201, and a buffer 1224 for the host device 1211. The 1394 packet receiving unit 1222 receives the 1394 packets 1205 and 1215 respectively, analyzes information unique to each host device, and stores data 1225 corresponding to the data 1204 in the buffer 1223 and data 1214 in accordance with the analyzed result. Are stored in the buffer 1224, respectively. Specifically, the 1394 packet receiving unit 1222 includes the 1394 I / F unit 119 and the data selector 118 in FIG.
[0021]
According to the above configuration, by adding the host device-specific information to the 1394 packets 1205 and 1215 in the host devices 1201 and 1211, the target device 1221 can send the received 1394 packets 1205 and 1215 to the host devices 1201 and 1211. Can be identified(For example, see Non-Patent Document 1).
[Non-patent document 1]
"Working Draft Revision 4" Information technology-Serial Bus Protocol 2 (SBP-2) "", [online], May 19, 1998, Internet <URL: http://www.t10.org/ftp/t10/ drafts / sbp2 / sbp2r04.pdf>
[0022]
[Problems to be solved by the invention]
However, the above-described conventional data communication method has a problem that the processing in the drivers 1203 and 1213 of the host devices 1201 and 1211 and the processing of the 1394 packet receiving unit 1222 of the target device 1221 are complicated. That is, the host devices 1201 and 1211 need a function to add information unique to the host device, and the target device 1221 needs a function to analyze and sort the received data. There is a problem that the load on the device is large. For this reason, login from a plurality of host devices is restricted, and simultaneous communication with a plurality of host devices cannot be performed.
[0023]
An object of the present invention is to solve the above problems, and a data communication method and apparatus capable of reducing a load on a data selector of a target device.AndPrinter and its controlThe lawTo provide.
[0024]
[Means for Solving the Problems]
To achieve the above objectives,The data communication method according to claim 1, IEEE1394 In a data communication method for performing data communication between a host device and a target device via a serial bus conforming to or conforming to a standard, a request is made for a job channel for data to be processed by the target device and a status of the target device. Data communication is performed via one of a management channel for information to be transmitted and an extension channel for extension information.
Claim2The data communication method described is2. The data communication method according to claim 1, wherein the data is a channel to be used.Identification information indicating the type ofat leastIncludingMukoAnd features.
[0025]
According to a third aspect of the present invention, in the data communication method of the first or second aspect, the type of the channel is set for a data packet transferred at an arbitrary timing in asynchronous data transfer. It is characterized.
Claim4The data communication method described in claim 1To any one ofIn the data communication method described above, the extended information is information on the host device.
[0026]
Claim5The data communication method described in claim 1To any one of 4 toIn the data communication method described above, the extension information is information on a transmission state of data to be processed by the target device.
[0027]
Claim6The data communication method described in claims 1 to5In the data communication method according to any one of the above, a plurality of from the host device to the target devicedataWhen transferring a plurality ofDataEach of them includes information on the order of the transferred data.
[0028]
Claim7The data communication method described in claims 1 to63. The data communication method according to claim 1, wherein the host device includes a plurality of host devices.
[0029]
Claim8The data communication method described in the claims7In the data communication method described above, the extended information is information for requesting information about another logged-in host device among the plurality of host devices.
[0030]
Claim9The data communication method described in the claims7Or8In the data communication method described above, the information on the host device is independently classified for each of the logged-in host devices among the plurality of host devices.
[0031]
Claim10The data communication method described in claims 1 to93. The data communication method according to claim 1, wherein the target device includes a plurality of target devices.
[0032]
Claim11The data communication method described in claims 1 to10The data communication method according to any one of the above, wherein the data communication method conforms to or conforms to the SBP-2 (ANSI NCITS 325-1998) standard on the IEEE1394 standard.
[0042]
To achieve the above objectives,The data communication device according to claim 12, IEEE1394 A data communication device for performing data communication between a host device and a target device via a serial bus conforming to or conforming to a standard, wherein a job channel for data to be processed by the target device, a state of the target device The data communication is performed via one of a management channel for information requesting the extension and an extension channel for extension information.
ClaimThirteenThe data communication device described is13. The data communication device according to claim 12, wherein the data is a channel to be used.Identification information indicating the type ofat leastIncludingMukoAnd features.
[0043]
According to a fourteenth aspect of the present invention, in the data communication device according to the twelfth or thirteenth aspect, the type of the channel is set for a data packet transferred at an arbitrary timing in asynchronous data transfer. It is characterized by.
ClaimFifteenThe data communication device described in the claimIn any one of 12 to 14In the data communication device described above, the extension information is information on the host device.
[0044]
Claim16The data communication device described in the claimIn any one of 12 to 15In the data communication device described above, the extension information is information on a transmission state of data to be processed by the target device.
[0045]
Claim17The data communication device described in the claim12Or16The data communication device according to any one of the above,dataWhen transferring multipledataInclude information on the order of the data to be transferred.
[0046]
Claim18The data communication device described in the claim12Or173. The data communication device according to claim 1, wherein the host device includes a plurality of host devices.
[0047]
Claim19The data communication device described in the claim18In the data communication device described above, the extended information is information for requesting information on another logged-in host device among the plurality of host devices.
[0048]
Claim20The data communication device described in the claim18Or19In the data communication device described above, the information on the host device is classified independently for each of the logged-in host devices among the plurality of host devices.
[0049]
Claim21The data communication device described in the claim12Or205. The data communication apparatus according to claim 1, wherein the target device includes a plurality of target devices.
[0050]
Claim22DescriptionofClaims:12Or21The data communication device according to any one of the above, characterized in that it conforms to or conforms to the SBP-2 (ANSI NCITS 325-1998) standard on the IEEE1394 standard.
[0051]
Claim23The data communication device described in the claim12Or225. The data communication apparatus according to claim 1, wherein the host device includes a generation unit configured to generate data to be processed by the target device or information requesting a state of the target device. .
Claim24The data communication device described in the claim12Or23In the data communication device according to any one of the above, the target device includes an analysis unit that analyzes data to be processed by the target device or information requesting a state of the target device.You.
UpClaims to achieve the stated purpose25The listed printer isIEConnected via a serial bus conforming to or conforming to the EE1394 standardWith each of multiple computers,At least during one login processJob channelWhenExpansion channelMultiple channels consisting ofToBy switchingPrinter that communicates dataWhile receiving print data from the first computer of the plurality of computers via the job channel,Receiving a request to start print data transfer from the second computer of the plurality of computers via the extension channelIf you doTo the second computerfor,Failure to start the print data transfer via the extension channelWhen,From the first computerofReceive print dataInsideThatWhenTonotificationIt is characterized by having means for performing.
Claim26The printer described in the claims25The printer according to claim 1, further comprising: receiving a print data transfer start request from said second computer via said extension channel, wherein when the print data reception from said first computer has been completed, Means for transmitting, to the second computer, the success of the start of the print data transfer via the extension channel.You.
UpClaims to achieve the stated purpose27The printer control method describedIEConnected via a serial bus conforming to or conforming to the EE1394 standardWith each of multiple computers,At least during one login processJob channelWhenExpansion channelMultiple channels consisting ofToBy switchingA method of controlling a printer for communicating data byWhile receiving print data from the first computer of the plurality of computers via the job channel,Receiving a request to start print data transfer from the second computer of the plurality of computers via the extension channelIf you doTo the second computerfor,Failure to start the print data transfer via the extension channelWhen,From the first computerofReceive print dataInsideThatWhenTonotificationIt is characterized by doing.
Claim28The printer control method described in the claims27In the method of controlling a printer according to the above, when a request for starting print data transfer is further received from the second computer via the extension channel, reception of print data from the first computer has been completed. Transmits the start of the print data transfer to the second computer via the extension channel.You.
[0052]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, configurations of a host device and a target device connected by a data communication device according to an embodiment of the present invention will be described with reference to the drawings.
[0053]
FIG. 1 is a block diagram showing a configuration of a host device and a target device connected by a data communication device according to an embodiment of the present invention.
[0054]
1, a computer 400 (host device) includes an arithmetic processing unit 401 such as an MPU, a decoder 402, a display unit 403 such as a CRT display, a hard disk device (HD) 404, an operation unit 405 such as a keyboard and a mouse, and a RAM and the like. The memory 406 has a driver 409 for generating 1394 packets. These components are connected to a 1394 interface (I / F) unit 408 for an IEEE 1394 serial bus via an internal bus 407 such as a PCI. The 1394 packet is a packet used in the 1394 serial bus.
[0055]
The printer 420 (target device) includes an operation unit 422 such as a button, a driver 423 for controlling paper feed, an image processing unit 426, a decoder 427, and a printer head 424 for printing on a recording medium such as printing paper. . These components are connected via a printer controller 421 and a data selector 428 to a 1394 interface (I / F) unit 429 for a 1394 serial bus. The image processing unit 426 and the decoder 427 are connected to each other, and the printer head 424 and the image processing unit 426 are connected to a memory 425 for temporarily storing an image or the like. The 1394 I / F section 429 is connected to a 1394 decoder 430 for a 1394 serial bus.
[0056]
The 1394 I / F unit 428 of the computer 400 and the 1394 I / F unit 429 of the printer 420 are connected via a 1394 serial bus, are each recognized as a 1394 serial bus node, and can transfer data.
[0057]
Between the 1394 I / F unit 408 of the computer 400 and the 1394 I / F unit 429 of the printer 420, there are three virtual channels: a job channel 440 for print data, a management channel 441 for a status request command, and an extension channel. 442 transfers the data.
[0058]
The job channel 440 is a one-way transfer path of a command packet for transmission from the computer 400 to the printer 420 and a data packet indicating the content thereof, and transfers print data to the data selector 428.
[0059]
The management channel 441 is a bidirectional transfer path for 1394 packets between the computer 400 and the printer 420. The management channel 441 transmits a status request command to the printer controller 421 via the data selector 428, and sends a status command which is a reply from the printer 420. Is returned to the computer 400.
[0060]
The extension channel 442 is a bi-directional transfer path for 1394 packets and data packets between the computer 400 and the printer 420, and transmits extension commands such as information on the job channel 440 and various control information between the computer 400 and the printer 420. To transfer.
[0061]
In the computer 400, the arithmetic processing unit 401 executes software recorded on the hard disk 404 in accordance with an operation of the operation unit 405 by an operator, moves various data to the memory 406, The arbitration operation of each component connected to 407 is performed. In addition, information such as software recorded on the hard disk 404 is displayed on the display unit 403 and shown to the operator.
[0062]
The decoder 402 generates print data and a status request command through the software, and writes the generated command into the driver 409. The driver 409 has a function of separating the generated print data and the status request command, generates a 1394 packet, and writes the 1394 packet in the 1394 I / F unit 408. The driver 409 is hardware connected to the internal bus 407 in the present embodiment, but may be software inside a computer.
[0063]
On the other hand, in the printer 420, the 1394 I / F unit 429 sends print data from the 1394 I / F unit 408 of the computer 400 via the job channel 440, a status request command via the management channel 441, and a status request command via the extension channel 442. The information and the like regarding the job channel 440 are received.
[0064]
Data, command information, and the like of each channel 440, 441, 442 are separated by the 1394 decoder 430. The 1394 decoder 430 decodes the input status request command based on the Kind information described later to separate print data from the status request command, and transfers the status request command to the data selector 428.
[0065]
The received print data is input to a decoder 427 via a data selector 428. The decoder 427 decodes the input print data and outputs the decoded print data to an image processing unit 426. The image processing unit 426 Data is temporarily stored in the memory 425.
[0066]
Various printing conditions are determined in accordance with settings made by the operation unit 422 and the like and setting commands related to printing conditions received by the printer controller 421. The driver 423 performs various controls related to printing, such as control of the printer head 424 and paper feed control, based on printing conditions and image data temporarily stored in the memory 425.
[0067]
According to the above configuration, the 1394 decoder 430 is capable of transmitting the status request command.ToWhen transferring the print data and the status request command to the data selector 428, the processing load of the data selector 428 can be reduced.
[0068]
Information received via the extension channel 442 is not transferred to the data selector 428 but is processed in the 1394 decoder. The information of the extension channel 442 performs various controls such as registration of the current status of the job channel and the name of a user who uses the job channel.
[0069]
The present invention also includes the case where the driver 409 realizes the functions of the above-described embodiments in cooperation with the OS or other application software running on the computer 400.
[0070]
Further, after the program code related to the driver 409 is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the program code is stored in the function expansion board or the function expansion unit based on the instruction of the program code. It is needless to say that the present invention includes a case where a provided CPU or the like performs part or all of the actual processing and implements the functions of the above-described embodiments by the processing.
[0071]
FIG. 2 is an explanatory diagram of a format of a packet used in the data communication device of FIG.
[0072]
The packet of FIG. 2 is asynchronous (Asynchronous) and consists of eight quadlets. 14A to 14B are defined in the same manner as the ORB in FIGS. 14A and 14B.
[0073]
Six and seven quadlets are reserved for future expansion. In addition, various parameters are set in the 8 quadlets, and more specifically, the types of channels (job channel 440, management channel 441, and extension channel 442) used in the kind byte (Kind information) are received in the option byte. Various optional functions relating to data and the like, various functions in the extension channel 442 in command bytes, seq. The sequential number of the ORB is set in no byte.
[0074]
The above packet format is an example for achieving the object of the present invention, and its detailed definition is not limited to this example.
[0075]
Further, this packet has a feature that it does not depend on an OS such as the Macintosh OS and the Windows OS, and does not limit the OS installed in the host computer.
[0076]
FIG. 3 is an explanatory diagram of a printing flow between the computer 400 and the printer 420 in FIG.
[0077]
After the computer 400 and the printer 420 are recognized as nodes of the 1394 serial bus, the computer 400 requests a login to the printer 420, and a successful login is returned. If the login is successful, the name of the computer 400 that has logged in via the extension channel 442 is registered.
[0078]
Computer 400 is a management channel441A status request command is transmitted to the printer 420 via the printer 420, and a status command replied from the printer 420 is received. If the current state is the printable state, transfer of print data is started. Specifically, first, the computer 400 transmits a transfer start request for print data to the printer 420 via the extension channel 442. If the print data is not being transferred from another computer at the time of this request, the successful start of the transfer of the print data is replied to the computer 400 via the extension channel 442.
[0079]
The computer 400 transmits the print data via the job channel 440 when the transfer start of the print data is successful. Depending on the size of the print data, the print data is divided into a plurality of packets and transferred.
[0080]
After transmitting all the print data, the computer 400 notifies the printer 420 of the completion of the transfer of the print data via the extension channel 442. Finally, a logout request is made, and the user logs out of the printer 420.
[0081]
The number of times that the status request command is transmitted and the number of times the reply status command is received depend on the model of the printer 420, the type of the computer 400, and the like, and are not necessarily the number of times of the flow. In some cases, transmission of the status request command and reception of the reply status command may be performed during the transfer of the print data or even after the transfer of the print data is completed.
[0082]
FIG. 4 is a block diagram showing a configuration of a host device and a target device connected to the data communication device according to the second embodiment of the present invention.
In the present embodiment, two computers 700 and 720 (host devices) are connected to a printer 740 (target device) via a data communication device.
[0083]
4, a computer 700 includes an arithmetic processing unit 701 such as an MPU, a decoder 702, a display unit 703 such as a CRT display, a hard disk device (HD) 704, an operation unit 705 such as a keyboard and a mouse, and memories 706 and 1394 such as a RAM. It has a driver 709 for generating a packet. These components are connected to a 1394 interface (I / F) unit 708 for a 1394 serial bus via an internal bus 707 such as a PCI.
[0084]
The computer 720 generates an arithmetic processing unit 721 such as an MPU, a decoder 722, a display unit 723 such as a CRT display, a hard disk drive (HD) 724, an operation unit 725 such as a keyboard and a mouse, a memory 726 such as a RAM, and 1394 packets. A driver 729 is provided. These components are connected to a 1394 interface (I / F) unit 728 for a 1394 serial bus via an internal bus 727 such as a PCI.
[0085]
The printer 740 includes an operation unit 742 such as a button, a driver 743 for controlling paper feeding, an image processing unit 746, a decoder 747, and a printer head 744 for printing on a recording medium such as printing paper. These components are connected to a 1394 interface (I / F) unit 749 for a 1394 serial bus via a printer controller 741 and a data selector 748. The image processing unit 746 and the decoder 747 are connected to each other, and the printer head 744 and the image processing unit 746 are connected to a memory 745 for temporarily storing images and the like. The 1394 I / F unit 449 is connected to a 1394 decoder 750 for a 1394 serial bus.
[0086]
The 1394 I / F section 708 of the computer 700 and the 1394 I / F section 749 of the printer 740 are connected via a 1394 serial bus, are recognized as 1394 serial bus nodes, and can transfer data.
[0087]
1394 I / F section of computer 700708Between the printer and the 1394 I / F unit 749 of the printer 740, data is transferred by three virtual channels, that is, a job channel 760 for print data, a management channel 761 for a status request command, and an extension channel 762.
[0088]
The job channel 760 is a one-way transfer path of a command packet for transmission from the computer 700 to the printer 740 and a data packet indicating the content thereof, and transfers print data to the data selector 428.
[0089]
The management channel 761 is a bi-directional transfer path of 1394 packets between the computer 700 and the printer 740. The management channel 761 transfers a status request command to the printer controller 741 via the data selector 748, and sends a status command as a reply from the printer 740. Is returned to the computer 700.
[0090]
The extension channel 762 is a bi-directional transfer path for 1394 packets and data packets between the computer 700 and the printer 740, and transmits extension commands such as information on the job channel 760 and various control information between the computer 700 and the printer 740. To transfer.
[0091]
The 1394 I / F section 728 of the computer 720 and the 1394 I / F section 749 of the printer 740 are connected via a 1394 serial bus, are recognized as 1394 serial bus nodes, and can transfer data.
[0092]
Between the 1394 I / F unit 728 of the computer 720 and the 1394 I / F unit 749 of the printer 740, data is transferred by two virtual channels, that is, a management channel 763 for a status request command and an extension channel 764.
[0093]
The management channel 763 is a bi-directional transfer path for 1394 packets between the computer 720 and the printer 740. The management channel 763 transfers the status request command to the printer controller 741 via the data selector 748, and sends the status command as a reply from the printer 740. Is returned to the computer 720.
[0094]
The extension channel 764 is a bidirectional transfer path for 1394 packets between the computer 720 and the printer 740, and transfers extension commands such as various control information between the computer 700 and the printer 740.
[0095]
The 1394 decoder 750 of the printer 740 separates the data received by the 1394 I / F 749 for each logged-in computer and processes each of them independently. It is returned to the corresponding computer 700, 720.
[0096]
Even when the computer 700 logs in, the computer 720 can log in. The operation of the computer 700 is the same as when the computer 700 and the printer 740 are connected one-to-one. On the other hand, the computer 720 cannot connect the job channel to the printer 740 because the computer 700 is currently connected to the job channel 760, but the management channel 763 and the extension channel 764 can be used, and the status request command and various Extended commands and their replies can be forwarded. Computer 700 and computer 720 can operate independently and have no effect on the other.
[0097]
As described above, in the present embodiment, the data communication apparatus is intended for the connection configuration of two computers 700 and 720 and one printer 740, but the connection between three or more computers and one printer is intended. It may be a configuration.
[0098]
The 1394 I / F 749 of the printer 740 does not affect each other even if another printer exists in the 1394 serial bus. Therefore, the present invention relates to the connection between a plurality of computers and a plurality of printers. The configuration is also effective.
[0099]
5 and 6 are explanatory diagrams of the printing flow between the computers 700 and 720 and the printer 740 in FIG. 4. FIG. 5 shows a case where the computer 720 has performed the print stop processing of the printer 740, and FIG. And a case where the transfer of print data from the computer 720 is retried.
[0100]
In FIG. 5, after a successful login, the computer 700 registers a login name, transmits a status request command (information for requesting the status of the target device), and receives its reply. If the printer is in a printable state, a transfer start request for print data (data to be processed by the target device) is transmitted via the extension channel, and a successful transfer start request (transmission state) for the print data is transmitted from the 1394 decoder 750 of the printer 740. When the reply is received, the transmission of the print data starts.
[0101]
After logging in, the computer 720, after logging in, registers a login name, transmits a status request command, and receives a reply thereto. In response to the print data transfer start request, since the job channel has already been used, the printer 740 replies that the print data transfer start has failed (transmission state). The computer 720 transmits a request for host information (information about the host device) of the job channel by using the extension channel 764.
[0102]
The 1394 decoder 750 of the printer 740 holds the login name information transmitted from the logged-in computer for each computer. Since the current job channel 760 has been transferred from the computer 700, in response to the request for the host information, the login name of the computer 700 is replied through the extension channel 762.
[0103]
The computer 720 notifies the operator of the computer 720 that print data is being transmitted from another computer on a display unit or the like. The notification method differs depending on the type of the computer, the installed OS, and the printing environment, and various forms such as an error dialog, display of an icon, and reproduction of a sound such as a beep sound are used.
[0104]
If the host information can be displayed, the login name of the computer 700 is notified to the operator to urge the user to continue or cancel.
[0105]
Next, when a command to stop the printing process is issued from the computer 720, the computer 720 requests a logout and stops the printing process.
[0106]
FIG. 6 shows a case where a command to continue the printing process is issued from the computer 720. The process until the command to continue the printing process is issued from the computer 720 is the same as the printing flow in FIG.
[0107]
When the computer 720 instructs the continuation of the printing process, the computer 720 transmits the print data transfer start request again and receives the reply. If a reply is made again due to a failure, a print data transfer start request is transmitted again after a predetermined period.
[0108]
When the transmission of the print data from the computer 700 ends and the print data transfer end command is transmitted, the printer 740 determines that the job channel has ended. Then, success is returned to the print data transfer start request of the computer 720.
[0109]
When the computer 720 receives the transfer start success of the print data, the computer 720 starts transmitting the print data. After the transmission of the print data is completed, a print data transfer end command is transmitted, and the user logs out.
[0110]
The retransmission cycle of the print data transfer start command of the computer 720 differs depending on the type of the computer 720, the installed OS, and the printing environment. In addition, the retransmission may be repeated within a certain period of time or up to a certain number of times.
[0111]
According to the processes in FIGS. 5 and 6, the printing process can be performed between the computer 700 and the computer 720 without mixing print data. 5 and 6 can obtain the same effect not only between the two computers 700 and 720 but also between a plurality of computers.
[0112]
FIG. 7 is a flowchart of a printing process of the printer 740 according to instructions from the two computers 700 and 720 in FIG.
[0113]
First, in step S1, it is determined whether or not the received data is an end event. If not, the process proceeds to step S3, where it is determined whether or not the received data is print data. As a result of the determination in step S3, if the received data is print data, the print data is processed (step S4), and then the processing from step S1 is executed. It is determined whether or not the data is channel data.
[0114]
As a result of the determination in step S5, if the received data is the management channel data, the processing of the management channel data is performed (step S6), and then the processing from step S1 is executed. Proceeding to S7, it is determined whether or not the received data is extension channel data. If the result of determination in step S7 is that the data is not extended channel data, the process from step S1 is executed. If extended channel data is received, the process proceeds to step S8, where the received data is a job channel login request. It is determined whether or not.
[0115]
As a result of the determination in step S8, if it is extended channel data other than the job channel login request, the processing of the extended channel data is performed (step S9), and the processing after step S1 is executed. For example, it is determined whether or not the user has already logged in (step S10).
[0116]
As a result of the determination in step S10, if the user has already logged in, a failure is returned (step S11). If the user has not logged in, success is returned (step S12), and the processing from step S1 is executed. If the result of determination in step S1 is that the event is an end event, end processing is performed (step S2), and this processing ends.
[0117]
The above-described packet, flow, etc. can exert the same function not only when the host device is a computer, but also when the other host device is a host device. Function can be demonstrated.
[0118]
The data of the extension channel is composed of a command packet and a data packet as described above, and this data packet is asynchronous (As(ynchronous) packet.
[0119]
FIG. 8 shows the asynchronous (AsFIG. 4 is an explanatory diagram of an (ynchronous) packet.
[0120]
In FIG. 8, Destination ID indicates a destination device, tLabel indicates a label indicating a series of data transfer, rt indicates a retransmission status, tcode indicates a packet type, and Pri indicates a priority. The Source ID indicates the source device, and the Destination Offset indicates the destination device address. Data Length indicates a data length, and Extended tcode indicates an extended packet type. Header CRC indicates the CRC of the Header part, Data indicates the data part, and Data CRC indicates the CRC of the data part.
[0121]
When the computer logs in to the printer, the computer issues a log-in request to the printer and allocates an address defined by IEEE1212. Thereafter, the computer performs data transfer to the address.
[0122]
FIG. 9 is an explanatory diagram of a flow in a case where data is synchronously transferred from the host computer to the printer in a plurality of 1394 packets.
[0123]
In FIG. 9, when data is transferred synchronously from the host computer 1001 to the printer 1000 in a plurality of 1394 packets, when the host computer 1001 prepares the transfer data, the printer 1000 issues an Asynchronous Request packet at tLabel = 0. The host computer 1001 transmits an Asynchronous Response packet including data at tLabel = 0. The printer 1000 that has received the data extracts the data and processes it as the first data Data0.
[0124]
When the next transfer data is prepared, the host computer 1001 issues an Asynchronous Request packet from the printer 1000 with tLabel = 1. The host computer 1001 transmits an Asynchronous Response packet including data at tLabel = 1. The received printer 1000 extracts the data and processes it as the second data Data1.
[0125]
For the subsequent data, similarly, the order of the received data can be easily known by increasing the tLabel.
[0126]
The Asynchronous Request and Response between the printer and the host computer do not need to be synchronous, and there is no problem if the transmission and reception buffers of the printer 1000 and the host computer 1001 are sufficient if they are sufficient.
[0127]
FIG. 10 is an explanatory diagram of a flow when data is asynchronously transferred from a host computer to a printer in a plurality of 1394 packets.
[0128]
In FIG. 10, the printer 1500 performs the Asychronous Request a plurality of times continuously while updating the value of tLabel, and receives a Response for each Request. The received Response's tLabel is the same as the Request's tLabel, and is the order of the data to be processed in the data received in the order of tLabel.
[0129]
In the asynchronous data transfer as described above, the printer 1500 can issue a Request packet without waiting for the Response packet of the computer 1501, and the processing speed can be improved.
[0130]
FIG. 11 is an explanatory diagram of data transfer between a plurality of computers and one printer.
[0131]
In FIG. 11, in data transfer between one printer 1410 and a plurality of computers 1411 and 1412, data transfer with each computer is managed as a different node. The node 1 transfers data between the computer 1411 and the printer 1410, and the node 2 transfers data between the computer 1412 and the printer 1410.
[0132]
The data transfer in each node is completely independent, and the data transfer between the node 1 and the node 2 does not depend on one state depending on the other. In the data transfer in the node, the Request and Response packets are asynchronous as described above, and tLabelIt is possible to identify the order of the received data according to the order set in.
[0133]
It goes without saying that data transfer between a plurality of computers operates even if the number of computers is not two but the maximum number of computers specified by IEEE1394.Also, IEEE1394 Standards, especially SBP -2 ( ANSI NCITS 325 1998 ) (Serial bus protocol - 2) It is preferable to conform to or conform to the standard.
[0134]
Such a data transfer method in which information on the order of packets is set in tLabel is simple, and is particularly effective when connected to a plurality of computers and holds a plurality of nodes.
[0135]
The method of managing data transfer between a plurality of devices using tLabel can be applied even when the host device is not a computer or the target device is not a printer.
[0136]
In the above-described embodiment, the data communication process for transferring data between the host device and the target device has been described. However, this process is programmed and written in a storage medium, and the program is read from the storage medium by a known device. , The above-described processing can be executed.
[0137]
Various storage media such as a floppy disk, a hard disk, a CD-ROM, and an MO may be used as the storage medium.
[0138]
【The invention's effect】
As explained in detail above,1Data communication method described,as well asClaim12According to the described data communication device,Data communication is performed via one of a job channel for data to be processed by the target device, a management channel for information requesting the status of the target device, and an extension channel for extension information.Therefore, the load on the data selector of the target device can be reduced.
[0139]
Claim4Data communication method described,as well asClaimFifteenAccording to the described data communication device,ExpansionExtension information is information about the host device.ToTherefore, the target device can specify the host device that has transmitted the data.
[0140]
Claim5Data communication method described,as well asClaim16According to the described data communication device,ExpansionZhang information,Information about the transmission status of data to be processed by the target device.ToTherefore, the host device can recognize the state of data transmission to the target device.
[0141]
Claim6Data communication method described,as well asClaim17According to the data communication device described above, the target deviceForward toBe doneMultiple dataEach contains information about the order of the data to be transferred.MTherefore, data transfer can be performed efficiently.
[0142]
Claim25Described printer,as well asClaim27According to the printer control method ofNumber of computersFrom one computerVia job channelPrint dataToReceivingThe second of the plurality of computersFrom the computerVia an extension channelPrint datatransferstartIs received, the second computer is informed that the start of the print data transfer via the extension channel has failed,From one computerofReceiving print dataWhenIs notified, the load on the data selector of the printer can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a host device and a target device connected by a data communication device according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram of a format of a packet used in the data communication device of FIG. 1;
FIG. 3 is an explanatory diagram of a print flow between a computer 400 and a printer 420 in FIG.
FIG. 4 is a block diagram showing a configuration of a host device and a target device connected by a data communication device according to a second embodiment of the present invention.
FIG. 5 is an explanatory diagram of a printing flow between the computers 700 and 720 and the printer 740 in FIG. 4, showing a case where the computer 720 has performed a print stop process of the printer 740.
FIG. 6 is an explanatory diagram of a print flow between the computers 700 and 720 and the printer 740 in FIG. 4, showing a case where transfer of print data from the computer 720 is retried.
FIG. 7 is a flowchart of a printing process of a printer 740 in accordance with instructions from two computers 700 and 720 in FIG.
FIG. 8 is a diagram showing an asynchronous (Asynchronous) packet.
FIG. 9 is an explanatory diagram of a flow when data is transferred from a host computer to a printer using a plurality of 1394 command packets.
FIG. 10 is an explanatory diagram of a flow in a case where data is asynchronously transferred from a host computer to a printer using a plurality of 1394 command packets.
FIG. 11 is an explanatory diagram of data transfer between a plurality of computers and one printer.
FIG. 12 is a block diagram showing a configuration of a conventional data communication device.
13 is a diagram showing a data flow between the computer 100 and the printer 110 in FIG.
14A and 14B are explanatory diagrams of a 1394 command packet ORB (Operation Request Block) used in a conventional 1394 serial bus, and FIG. 14A shows the format of a command packet of SBP-2 (Serial Bus Pro and Call-2). (B) shows the format of a command packet defining a SCSI command part mainly used in the Windows OS of Microsoft Corporation.
FIG. 15 is an explanatory diagram of a conventional image communication method using a printer and a computer connected via a 1394 serial bus.
[Explanation of symbols]
400, 700, 720 computers
420, 720, 740 printer
408, 429, 728749 1394 interface
428,748 Data selector
430,750 1394 decoder
440,760 Job channel
441,761,763 Management channel
442, 762, 764 expansion channel

Claims (28)

IEEE1394IEEE1394 規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信方法において、In a data communication method of performing data communication between a host device and a target device via a serial bus conforming to or conforming to a standard,
前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とするデータ通信方法。  The target device performs data communication via one of a job channel for data to be processed, a management channel for information for requesting a status of the target device, and an extension channel for extension information. Data communication method.
前記データは、使用するチャネルの種類を示す識別情報を少なくともむことを特徴とする請求項1記載のデータ通信方法。 The data communication method according to claim 1, wherein at least including over there the identification information indicating the type of channel used. 前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする請求項1又は2記載のデータ通信方法。3. The data communication method according to claim 1, wherein the type of the channel is set for a data packet transferred at an arbitrary timing in asynchronous data transfer. 前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする請求項1乃至3のいずれか1項に記載のデータ通信方法。The extension information, a data communication method according to any one of claims 1 to 3, characterized in that the information relating to the host device. 前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする請求項1乃至4のいずれか1項に記載のデータ通信方法。The extension information, a data communication method according to any one of claims 1 to 4, wherein the target device is information relating to the transmission status of the data to be processed. 前記ホストデバイスから前記ターゲットデバイスに複数のデータを転送する場合、前記複数のデータの各々は、前記転送されるデータの順番に関する情報を含むことを特徴とする請求項1乃至のいずれか1項に記載のデータ通信方法。When transferring a plurality of data to the target device from the host device, each of the plurality of data, any one of claims 1 to 5, characterized in that includes information about the order of the data to be the transfer The data communication method described in 1. 前記ホストデバイスは複数のホストデバイスから成ることを特徴とする請求項1乃至のいずれか1項に記載のデータ通信方法。The host device is a data communication method according to any one of claims 1 to 6, characterized in that it consists of a plurality of host devices. 前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする請求項記載のデータ通信方法。8. The data communication method according to claim 7 , wherein the extension information is information requesting information on another host device that is logged in among the plurality of host devices. 前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする請求項又は記載のデータ通信方法。It said information on the host device, a data communication method according to claim 7 or 8, wherein the classified independently for each host device in the login of the plurality of host devices. 前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする請求項1乃至のいずれか1項に記載のデータ通信方法。The data communication method according to any one of claims 1 to 9 , wherein the target device includes a plurality of target devices. IEEE1394規格上のSBP−2(ANSI NCITS 325−1998)規格に適合又は準拠することを特徴とする請求項1乃至10のいずれか1項に記載のデータ通信方法。The data communication method according to any one of claims 1 to 10 , wherein the data communication method conforms to or conforms to the SBP-2 (ANSI NCITS 325-1998) standard on the IEEE1394 standard. IEEE1394IEEE1394 規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信装置であって、A data communication device that performs data communication between a host device and a target device via a serial bus conforming to or conforming to a standard,
前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とするデータ通信装置。  The target device performs data communication via one of a job channel for data to be processed, a management channel for information for requesting a status of the target device, and an extension channel for extension information. Data communication device.
前記データは、使用するチャネルの種類を示す識別情報を少なくともむことを特徴とする請求項12記載のデータ通信装置。 The data communication apparatus according to claim 12, wherein at least including over there the identification information indicating the type of channel used. 前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする請求項12又は13記載のデータ通信装置。14. The data communication apparatus according to claim 12, wherein the type of the channel is set for a data packet transferred at an arbitrary timing in asynchronous data transfer. 前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする請求項12乃至14のいずれか1項に記載のデータ通信装置。15. The data communication apparatus according to claim 12 , wherein the extension information is information on the host device. 前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする請求項12乃至15のいずれか1項に記載のデータ通信装置。 16. The data communication apparatus according to claim 12 , wherein the extension information is information on a transmission state of data to be processed by the target device. 前記データを複数転送する場合、前記データは、前記転送されるデータの順番に関する情報を夫々含むことを特徴とする請求項12乃至16のいずれか1項に記載のデータ通信装置。When a plurality transferring the data, the data is data communication apparatus according to any one of claims 12 to 16, characterized in that the information includes each related sequence of data to be the transfer. 前記ホストデバイスは複数のホストデバイスから成ることを特徴とする請求項12乃至17のいずれか1項に記載のデータ通信装置。The host device is a data communication apparatus according to any one of claims 12 to 17, characterized in that it consists of a plurality of host devices. 前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする請求項18記載のデータ通信装置。19. The data communication device according to claim 18 , wherein the extension information is information requesting information on another host device that is logged in among the plurality of host devices. 前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする請求項18又は19記載のデータ通信装置。Information relating to the host device, the data communication apparatus according to claim 18 or 19, wherein the classified independently for each host device in the login of the plurality of host devices. 前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする請求項12乃至20のいずれか1項に記載のデータ通信装置。The target device data communication apparatus according to any one of claims 12 to 20, characterized in that it consists of a plurality of target devices. IEEE1394規格上のSBP−2(ANSI NCITS 325−1998)規格に適合又は準拠することを特徴とする請求項12乃至21のいずれか1項に記載のデータ通信装置。SBP-2 on IEEE1394 standard (ANSI NCITS 325-1998) data communication apparatus according to any one of claims 12 to 21, characterized in that fit or compliant. 前記ホストデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報を生成する生成手段を備えることを特徴とする請求項12乃至22のいずれか1項に記載のデータ通信装置。The data according to any one of claims 12 to 22 , wherein the host device includes data to be processed by the target device or generation means for generating information for requesting a state of the target device. Communication device. 前記ターゲットデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報を解析する解析手段を備えることを特徴とする請求項12乃至23のいずれか1項に記載のデータ通信装置。The data according to any one of claims 12 to 23 , wherein the target device includes an analysis unit configured to analyze data to be processed by the target device or information requesting a state of the target device. Communication device. IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と1回のログインプロセス中において少なくともジョブチャネル拡張チャネルからなる複数のチャネル切替えることによってデータの通信を行うプリンタであって、
前記複数のコンピュータのうち第1のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第2のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第1のコンピュータから印刷データを受信中であること通知する手段を有することを特徴とするプリンタ。
IE EE1394 and each of the plurality connected via a serial bus computer to fit or compliant, at least once a job channel and the communication of data by that switch the plurality of channels composed of the extension channel during login process A printer that performs
While receiving print data from the first computer of the plurality of computers via the job channel, receiving a request to start print data transfer from the second computer of the plurality of computers via the extension channel . If, for the second computer has means for notifying the Oh and Rukoto in reception failure and start the printing data transfer, the print data from the first computer via the extension channel A printer characterized in that:
前記第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第1のコンピュータからの印刷データの受信が終了していたときは、前記第2のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信する手段を有することを特徴とする請求項25記載のプリンタ。In the case where a request for starting print data transfer is further received from the second computer via the extension channel, when the reception of print data from the first computer has been completed, the second computer 26. The printer according to claim 25, further comprising means for transmitting a success in starting the print data transfer via the extension channel. IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と1回のログインプロセス中において少なくともジョブチャネル拡張チャネルからなる複数のチャネル切替えることによってデータの通信を行うプリンタの制御方法であって、
前記複数のコンピュータのうち第1のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第2のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第1のコンピュータから印刷データを受信中であること通知することを特徴とするプリンタの制御方法。
IE EE1394 and each of the plurality connected via a serial bus computer to fit or compliant, at least once a job channel and the communication of data by that switch the plurality of channels composed of the extension channel during login process Controlling the printer,
While receiving print data from the first computer of the plurality of computers via the job channel, receiving a request to start print data transfer from the second computer of the plurality of computers via the extension channel . If, wherein for the second computer, notifies failure and start the print data transferred via the extension channel, and Oh Rukoto in receiving print data from the first computer Printer control method.
前記第2のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第1のコンピュータからの印刷データの受信が終了していたときは、前記第2のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信することを特徴とする請求項27記載のプリンタの制御方法。 In the case where a request for starting print data transfer is further received from the second computer via the extension channel, when the reception of print data from the first computer has been completed, the second computer control how according to claim 27 according printer and transmits the success of starting the print data transferred via the extension channel.
JP2000151860A 2000-05-23 2000-05-23 Data communication method and apparatus, printer and control method therefor Expired - Fee Related JP3579884B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000151860A JP3579884B2 (en) 2000-05-23 2000-05-23 Data communication method and apparatus, printer and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000151860A JP3579884B2 (en) 2000-05-23 2000-05-23 Data communication method and apparatus, printer and control method therefor

Publications (2)

Publication Number Publication Date
JP2001331284A JP2001331284A (en) 2001-11-30
JP3579884B2 true JP3579884B2 (en) 2004-10-20

Family

ID=18657351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000151860A Expired - Fee Related JP3579884B2 (en) 2000-05-23 2000-05-23 Data communication method and apparatus, printer and control method therefor

Country Status (1)

Country Link
JP (1) JP3579884B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5601041B2 (en) 2009-07-23 2014-10-08 セイコーエプソン株式会社 Recording system and communication control method in recording system

Also Published As

Publication number Publication date
JP2001331284A (en) 2001-11-30

Similar Documents

Publication Publication Date Title
JP3927647B2 (en) Information processing apparatus, information processing method, and information processing system
US6249835B1 (en) System for converting print instruction into image data or print data based on whether a rasterization level is of a first level or a second level
EP0996069B1 (en) Method of transferring image data using a IEEE 1394 bus
US20060221391A1 (en) Print controller with function for guaranteeing the order of print requests received, and a control method, a recoding medium, and a program for the same controller
WO2005124531A1 (en) Information processing device and job transfer control method
JP4453593B2 (en) Monitoring the progress of printing in distributed printing
JP2005044094A (en) Data relay system
JPH10229427A (en) Information processing device and method
JP2001094613A (en) Communication controller, method and recording medium
US20040227972A1 (en) Printing apparatus and canceling method
JP3579884B2 (en) Data communication method and apparatus, printer and control method therefor
JP4086770B2 (en) Information processing apparatus and transfer control method thereof
JP2005346739A (en) Printer and printer job data transfer method
US7346714B2 (en) Notification of completion of communication with a plurality of data storage areas
JP2006277501A (en) Distributed printing controller and its method
JP4139541B2 (en) Printer and printer job data transfer method
JP2001202208A (en) Print system and print controller and printer
JP4243831B2 (en) Printer and printer job data transfer method
JP2001067193A (en) Printing system, printer and its controlling method
JP2003015846A (en) Image printing system, printing control terminal, connected media converter, printing control method, printing control program and connected media conversion program
JP3754930B2 (en) Printer and printer system
JP2002055795A (en) Print managing apparatus and method for controlling the same and storage medium
JP2003248558A (en) Method and device for data transfer
JP3598924B2 (en) Data transfer control device, information storage medium, and electronic device
JP2658931B2 (en) Printer controller

Legal Events

Date Code Title Description
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: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040709

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees