JP3579884B2 - Data communication method and apparatus, printer and control method therefor - Google Patents
Data communication method and apparatus, printer and control method therefor Download PDFInfo
- 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
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 規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信方法において、前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とする。
請求項2記載のデータ通信方法は、請求項1記載のデータ通信方法において、前記データは、使用するチャネルの種類を示す識別情報を少なくとも含むことを特徴とする。
【0025】
請求項3記載のデータ通信方法は、請求項1又は2記載のデータ通信方法において、前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする。
請求項4記載のデータ通信方法は、請求項1乃至3のいずれか1項に記載のデータ通信方法において、前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする。
【0026】
請求項5記載のデータ通信方法は、請求項1乃至4のいずれか1項に記載のデータ通信方法において、前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする。
【0027】
請求項6記載のデータ通信方法は、請求項1乃至5のいずれか1項に記載のデータ通信方法において、前記ホストデバイスから前記ターゲットデバイスに複数のデータを転送する場合、前記複数のデータの各々は、前記転送されるデータの順番に関する情報を含むことを特徴とする。
【0028】
請求項7記載のデータ通信方法は、請求項1乃至6のいずれか1項に記載のデータ通信方法において、前記ホストデバイスは複数のホストデバイスから成ることを特徴とする。
【0029】
請求項8記載のデータ通信方法は、請求項7記載のデータ通信方法において、前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする。
【0030】
請求項9記載のデータ通信方法は、請求項7又は8記載のデータ通信方法において、前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする。
【0031】
請求項10記載のデータ通信方法は、請求項1乃至9のいずれか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】
【発明の効果】
以上詳細に説明したように、請求項1記載のデータ通信方法、及び請求項12記載のデータ通信装置によれば、ターゲットデバイスが処理すべきデータ用のジョブチャネル、ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うので、ターゲットデバイスのデータセレクタの負荷を低減することができる。
【0139】
請求項4記載のデータ通信方法、及び請求項15記載のデータ通信装置によれば、拡張情報がホストデバイスに関する情報であるので、ターゲットデバイスは、データを送信したホストデバイスを特定することができる。
【0140】
請求項5記載のデータ通信方法、及び請求項16記載のデータ通信装置によれば、拡張情報が、ターゲットデバイスが処理すべきデータの送信状態に関する情報であるので、ホストデバイスは、ターゲットデバイスへのデータの送信状態を認識することができる。
【0141】
請求項6記載のデータ通信方法、及び請求項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
[0006]
The printer 110 (target device) includes an
[0007]
The 1394 I /
[0008]
FIG. 13 is a diagram showing a printing flow between the
[0009]
In FIG. 13, first, when the
[0010]
The data transmitted from the
[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
[0016]
On the other hand, when a peripheral device (target device) such as the
[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
[0020]
On the other hand, the
[0021]
According to the above configuration, by adding the host device-specific information to the 1394
[Non-patent document 1]
"Working
[0022]
[Problems to be solved by the invention]
However, the above-described conventional data communication method has a problem that the processing in the
[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
Claim2The data communication method described is2. The data communication method according to
[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
[0028]
Claim7The data communication method described in
[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
[0032]
Claim11The data communication method described in
[0042]
To achieve the above objectives,The data communication device according to
ClaimThirteenThe data communication device described is13. The data communication device according to
[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
[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
[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
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
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
[0055]
The printer 420 (target device) includes an
[0056]
The 1394 I /
[0057]
Between the 1394 I /
[0058]
The
[0059]
The
[0060]
The
[0061]
In the
[0062]
The
[0063]
On the other hand, in the
[0064]
Data, command information, and the like of each
[0065]
The received print data is input to a
[0066]
Various printing conditions are determined in accordance with settings made by the
[0067]
According to the above configuration, the 1394
[0068]
Information received via the
[0069]
The present invention also includes the case where the
[0070]
Further, after the program code related to the
[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 (
[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
[0077]
After the
[0078]
[0079]
The
[0080]
After transmitting all the print data, the
[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
[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
[0083]
4, a
[0084]
The
[0085]
The
[0086]
The 1394 I /
[0087]
1394 I / F section of computer 700708Between the printer and the 1394 I /
[0088]
The
[0089]
The
[0090]
The
[0091]
The 1394 I /
[0092]
Between the 1394 I /
[0093]
The
[0094]
The
[0095]
The 1394
[0096]
Even when the
[0097]
As described above, in the present embodiment, the data communication apparatus is intended for the connection configuration of two
[0098]
The 1394 I /
[0099]
5 and 6 are explanatory diagrams of the printing flow between the
[0100]
In FIG. 5, after a successful login, the
[0101]
After logging in, the
[0102]
The 1394
[0103]
The
[0104]
If the host information can be displayed, the login name of the
[0105]
Next, when a command to stop the printing process is issued from the
[0106]
FIG. 6 shows a case where a command to continue the printing process is issued from the
[0107]
When the
[0108]
When the transmission of the print data from the
[0109]
When the
[0110]
The retransmission cycle of the print data transfer start command of the
[0111]
According to the processes in FIGS. 5 and 6, the printing process can be performed between the
[0112]
FIG. 7 is a flowchart of a printing process of the
[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
[0124]
When the next transfer data is prepared, the
[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
[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
[0129]
In the asynchronous data transfer as described above, the
[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
[0132]
The data transfer in each node is completely independent, and the data transfer between the
[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
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
FIG. 6 is an explanatory diagram of a print flow between the
FIG. 7 is a flowchart of a printing process of a
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
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)
前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とするデータ通信方法。 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.
前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とするデータ通信装置。 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.
前記複数のコンピュータのうち第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:
前記複数のコンピュータのうち第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.
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)
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 |
-
2000
- 2000-05-23 JP JP2000151860A patent/JP3579884B2/en not_active Expired - Fee Related
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 |