JP3387466B2 - データ通信装置 - Google Patents
データ通信装置Info
- Publication number
- JP3387466B2 JP3387466B2 JP35046099A JP35046099A JP3387466B2 JP 3387466 B2 JP3387466 B2 JP 3387466B2 JP 35046099 A JP35046099 A JP 35046099A JP 35046099 A JP35046099 A JP 35046099A JP 3387466 B2 JP3387466 B2 JP 3387466B2
- Authority
- JP
- Japan
- Prior art keywords
- orb
- data
- read
- block
- computer
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1234—Errors handling and recovery, e.g. reprinting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
Description
手装置とデータ通信を行うデータ通信装置に関し、特
に、IEEE(The Institute of Electrical and Electron
ics Engineers, Inc.)1394に準拠したシリアルインター
フェースを介して相手装置とデータ通信を行うデータ通
信装置に関する。
ンターフェースとして、IEEE(The Institute of Elect
rical and Electronics Engineers, Inc.)1394が提案さ
れている。このIEEE1394では、従来よりコンピュータお
よびその周辺装置間のインターフェースとして利用され
ているSCSI(Small Computer System Interface)と比
べて、各接続機器のIDの自動割り振りや電源を入れたま
までの接続機器の取り外し(いわゆるホットスワップ)
をサポートするなど、様々な利点を有している。
ード)のIDの自動割り振りは、以下のようにして実現し
ている。
以上のノードと接続されている「枝」(Branch)なの
か、あるいは、1つのノードにのみ接続されている
「葉」(Leaf)なのかを認識する。次に、各ノードは、
予め定められた時間経過後、自身を「葉」であると認識
したノードより順に parent_notify 信号を送信する。
一方、自身を「枝」であると認識したノードは、自身が
parent_notify 信号を送出するよりも先に parent_not
ify 信号を送ってきたノードに対して child_notify信
号を送信する。このようにして、各ノード間の親子関係
を決定していく。そして、自身を「枝」であると認識し
たノードであって、自身に接続された全てのノードが子
となるノードを頂点(root)とするツリー構造を識別す
る(ツリー識別)。
ドは、所定の順番で自身が使用するphysical_ID や管理
情報を含めた self-packet を送出して、自身の基本情
報を他のノードに公開する。ここで、physical_ID に
は、 self-packet の送出回数が記入される。すなわ
ち、最初にself-packet を送出するノードは、physical
_ID を0とし、次に、self-packet を送出するノード
は、physical_ID を1とする。このようにすることで、
各ノードが使用するIDを自動的に割り振る(自己識
別)。
は、バスの接続トポロジが管理されている状態で、新た
なノードが接続されると、各ノードがトポロジに関する
情報を消去し、再度、ツリー識別や自己認識を行なって
各ノードのIDの自動割り振りを行うことで実現している
(バスリセット)。
期間中、各ノード間でのデータ通信が行われなくなる。
このため、データ転送中にバスリセットされた場合、通
信データの継続性(ここでは、時間的な継続性ではなく
データ自体の継続性を指す)が要求される場合には、接
続機器の動作に影響を与えるおそれがある。
レビ放送信号をモニタで表示するなどリアルタイム性の
高いデータを通信している場合、バスリセットの期間
中、モニタの画面が途切れるといった症状として現れ
る。すなわち、バスリセット期間中に受信したテレビ放
送信号が見れなくなる。この場合、その後のモニタ動作
に影響を与えるものではなく、バスリセット完了後は、
バスリセット前と同様、テレビ放送受信機で受信したテ
レビ放送信号をリアルタイムでモニタに表示することが
できる。
作成したプログラムデータを記憶装置に転送している場
合やコンピュータで作成した印刷データをプリンタへ転
送している場合、バスリセットによるデータ転送の中断
前後においてデータの継続性が確保されないと、転送し
たデータが意味をなさないものとなってしまう。
欠けてもプログラムとして成立しないため、コンピュー
タは、そのプログラムを実行することができなくなる。
また、印刷データには、数バイトのデータ列で構成され
るコードが含まれており、このコードに続くデータはこ
のコードによってその意味が定義されているため、この
ようなコードが欠けてしまうとプリンタでの印刷結果が
文字化けしてしまう。
ースを介してのデータ転送中にバスリセットが発生した
場合、当該データがプログラムデータや印刷データなど
のデータの継続性が要求されるものである場合には、当
該データの転送を最初からやり直すように工夫がなされ
ているものもある。
たような工夫を施しても、以下のような問題が残る。
ンタなどのシリアルプリンタでは、1ライン分(印字ヘ
ッドを1回走査できる分)の印刷データを受信すると、
印刷を開始してしまうものがある。このため、バスリセ
ット後、印刷データを初めから転送し直すと、同じ印刷
データが重複して印刷されてしまうおそれがある。
あり、本発明の目的は、バスリセットなどのイベント発
生によりデータ転送が中断された場合に、データ転送を
最初からやり直すことなくデータ転送を再開させること
ができるデータ通信装置を提供することにある。
に、本発明のデータ通信装置は、ジョブを実行するため
に相手装置よりデータを受信するジョブ実行手段と前記
ジョブの実行状況を管理するジョブ管理手段を設ける。
ジョブ管理手段は、所定のイベントにより実行が中断さ
れたジョブを再開する場合、当該ジョブの実行が中断さ
れた際の実行状況を提示して当該ジョブの再開を前記ジ
ョブ実行手段に指示する。ジョブ実行手段は、前記ジョ
ブ管理手段により再開が指示されたジョブについて提示
された、当該ジョブの実行が中断された際の実行状況を
参照し、当該ジョブの未処理の部分を実行するために必
要なデータのみを相手装置より受信する。
行が中断されたジョブを再開する場合、ジョブ実行手段
は、ジョブ管理手段により提示された、当該ジョブの実
行が中断された際の実行状況を参照して、当該ジョブの
未処理部分を実行するために必要なデータのみを相手装
置より受信する。このため、同じデータを重複して受信
することなく、継続性が確保されたデータの受信を行う
ことができる。
(The Institute of Electrical andElectronics Engin
eers, Inc.)1394に準拠したシリアルインターフェース
を介して、SBP-2(Seral Bus Protocol 2)に準拠した
データ転送プロトコルにしたがい相手装置とデータ通信
を行うものである場合、ジョブの実行を中断する所定の
イベントとしては、たとえば、IEEE1394で定義されてい
るバスリセットが相当する。
りジョブとして受け付けた、当該相手装置が自データ通
信装置に転送すべきデータの格納領域を示すデータ(具
体的には、先頭アドレスおよび転送データ量を示すデー
タ)を含むORB(Operation Request Block)にしたが
い、読出し開始アドレスと所定の読出しデータ量を示し
た Read Block Request を生成して相手装置に送信し、
その応答として読出しデータを含む Read Block Respon
se を受信することにより、任意のアドレスから所定デ
ータ量ずつデータを順次読み出していくことで、前記OR
Bに示された格納領域のデータを受信するものとして実
現される。
手段で実行されているORBと、当該ORBを実行するために
生成された Read Block Request の送信回数、当該 Rea
d Block Request の応答として相手装置より受け取った
Read Block Response の受信回数および当該 Read Blo
ck Response に含まれる受信データの合計バイト数のう
ちの少なくとも1つとを把握することで、前記ORBの実行
状況を管理することができる。
行が中断されたORBを通知した相手装置より、SBP-2に定
義されているリコネクト処理の要求を受け付け、さら
に、前記中断されたORBと同じORBを受け付けた場合、ジ
ョブ管理手段は、当該ORBの実行が中断された際の Read
Block Request の送信回数、 Read Block Responseの
受信回数および当該 Read Block Response に含まれる
受信データの合計バイト数のうちの少なくとも1つを提
示して、ジョブ実行手段に当該ORBの再開を指示するよ
うにしてもよい。そして、ジョブ実行手段は、ジョブ管
理手段より提示された、当該ORBの実行が中断された際
の Read Block Request の送信回数、 ReadBlock Respo
nse の受信回数および当該 Read Block Response に含
まれる受信データの合計バイト数のうちの少なくとも1
つにより特定される、当該ORBに示された格納領域のデ
ータのうち取得済みのデータを除く、未取得分のデータ
を受信するのに必要な Read Block Request を生成して
相手装置に送信し、その応答としてRead Block Respons
e を受信するようにしてもよい。
ータ受信が中断された場合でも、同じデータを重複して
受信することなく、継続性が確保されたデータの受信を
行うことができる。
て説明する。
プリンタ2を含むシステムの概略構成図である。ここ
で、コンピュータ1、プリンタ2、スキャナ3およびデジ
タルビデオカメラ4は、各々、IEEE(The Institute of
Electrical and Electronics Engineers, Inc.)1394に
準拠したシリアルインターフェースを備えており、該イ
ンターフェースを介して互いに接続されているものとす
る。また、本システムにおいて、少なくともコンピュー
タ1およびプリンタ2間のデータ通信は、SBP-2(Seral B
us Protocol 2)に準拠したデータ転送プロトコルにし
たがい行われるものとする。
ピュータ1およびプリンタ2間でのデータ転送処理につい
てのみ説明することとする。
行われる印刷実行シーケンスについて説明する。
で行われる印刷実行シーケンスを示した図である。
1.ログイン処理、2.印刷データ転送処理、3.ログ
アウト処理に分けられる。
ンタ2へログインするためのLogin ORB(Operation Reque
st Block)の格納領域(具体的には、先頭アドレスおよ
び転送データ量)が記述された Write Block Request 1
001を通知する。
nseを返答する。その後、プリンタ2は、読出し開始アド
レスと所定の読出しデータ量を示した Read Block Requ
estを、Write Block Request 1001に記述された格納領
域のデータ全てを読み出すのに必要な数分順次生成す
る。ここで、この複数の Read Block Request の生成
は、1つのスプリットトランザクションが終了すると、
当該トランザクションによりコンピュータ1から読み出
したデータに続くデータを、次のスプリットトランザク
ションで読み出すように、順番に生成され送出される。
これにより、プリンタ2は、コンピュータ1から、Read B
lock Response を順次受け取り、 Login ORBを得る。
が終了すると、読出し開始アドレスと所定の読出しデー
タ量を示した Read Quadlet Request を送信して、コン
ピュータ1のコンフィギュレーションROMの内容を読み出
し、コンピュータ1のGUID(グローバルID)などを取得し
て、ログインしたコンピュータ1を識別する。
指示や転送すべき印刷データの格納領域などが記述され
る Command Block Agent ORB を書き込むべきプリンタ2
側のアドレス(ORBポインタ)などの情報を含んだ Logi
n Response を Write BlockRequest として送信し、そ
の後、Login ORB の処理が終了したことを示すパケット
を Write Block Request として送信する。
ponse に示されたORBポインタへ、 Command Block Agen
t ORB を書き込むために、当該ORBが格納されたアドレ
スを記述したWrite Block Request 1002を送信する。
nseを返答する。次に、プリンタ2は、Write Block Requ
est 1002に記述されたアドレスに格納された Command B
lockAgent ORB を読み出すために、 Read Block Reques
t を生成し送信する。
Block Agent ORBを格納したパケットを、 Read Block
Response として送信する。
知された Read Block Response に格納された Command
Block Agent ORB を解析し、当該ORBに記述された格納
領域の印刷データをコンピュータ1から取得すべく、読
み出し開始アドレスと1回のスプリットトランザクショ
ンで転送可能な所定データ量(たとえば2Kバイト)を記
述した Read Block Request を、当該ORBに記述された
格納領域の印刷データ全てを読み出すの必要な数分順次
生成する。ここで、この複数の Read Block Request の
生成は、1つのスプリットトランザクションが終了する
と、当該トランザクションによりコンピュータ1から読
み出したデータに続くデータを、次のスプリットトラン
ザクションで読み出すように、順番に生成され送出され
る。これにより、プリンタ2は、コンピュータ1から、Re
ad Block Response を順次受け取り、印刷データを得
る。
nt ORB の処理(印刷データの転送処理)が終了したこ
とを示すパケットを Write Block Request として送信
する。
ンタ2からログアウトするための Logout ORB の格納領
域が記述された Write Block Request 1003を通知す
る。
onse を返答する。その後、プリンタ2は、読出し開始ア
ドレスと所定の読出しデータ量を示した Read Block Re
quest を、Write Block Request 1003に記述された格納
領域のデータ全てを読み出すのに必要な数分順次生成す
る。ここで、この複数の Read Block Request の生成
は、1つのスプリットトランザクションが終了すると、
当該トランザクションによりコンピュータ1から読み出
したデータに続くデータを、次のスプリットトランザク
ションで読み出すように、順番に生成され送出される。
これにより、プリンタ2は、コンピュータ1から、Read B
lock Response を順次受け取り、 Logout ORB を得る。
処理が終了したことを示すパケットを Write Block Req
uest として送信する。
バスリセットが発生して当該シーケンスが中断された場
合における、コンピュータ1およびプリンタ2間で行われ
る印刷データ転送再開実行シーケンスについて説明す
る。
て、上記の印刷実行シーケンスが実施されて印刷データ
が転送されている際に、たとえばスキャナ3が新たに接
続されると、当該シーケンスが中断され、バスリセット
される。
ードがバスの接続トポロジに関する情報を消去し、再
度、ツリー識別や自己認識を行なって各ノードIDの自動
割り振りを行う。このため、バスリセットの前後で、コ
ンピュータ1およびプリンタ2各々のノードIDが変化する
場合がある。そこで、SBP-2では、コンピュータ1がプリ
ンタ2にログイン中にバスリセットされた場合、コンピ
ュータ1に、自身のノードIDをログイン先であるプリン
タ2に再確認させるためのリコネクト処理を所定期間内
に実行させるようにしている。
で行われる印刷データ転送再開実行シーケンスを示した
図である。
各ノードがバスの接続トポロジに関する情報を消去し、
再度、ツリー識別や自己認識を行なって各ノードIDの自
動割り振りを行った後に実行される。このシーケンス
は、1.コンピュータ1によるプリンタ2の認識処理、
2.リコネクト処理、3.印刷データ転送の再開処理、
4.ログアウト処理に分けられる。
処理 コンピュータ1は、バスリセットにより新たに割り振ら
れたノードIDとノードとの対応を認識するため、各ノー
ドからGUIDやその他のノード認識に必要な情報を取得す
る。すなわち、コンピュータ1は、各ノードに対し、Rea
d Quadlet Request を送信し、その応答として Read Qu
adlet Response を受信する処理行うことで、各ノード
からコンフィギュレーションROMの内容を読み出し、GUI
Dなどの情報を取得する。これにより、バスリセット前
にログインしていたプリンタ2を識別する。
ンタ2へリコネクトするためのReconnect ORBの格納領域
が記述された Write Block Request 1004を通知する。
onse を返答する。その後、プリンタ2は、 Read Block
Request を、Write Block Request 1004に記述された格
納領域のデータ全てを読み出すのに必要な数分順次生成
する。ここで、この複数のRead Block Request の生成
は、1つのスプリットトランザクションが終了すると、
当該トランザクションによりコンピュータ1から読み出
したデータに続くデータを、次のスプリットトランザク
ションで読み出すように、順番に生成され送出される。
これにより、プリンタ2は、コンピュータ1から、Read B
lock Response を順次受け取り、 Reconnect ORB を得
る。
み出しが終了すると、 Read Quadlet Request を送信し
て、コンピュータ1のコンフィギュレーションROMの内容
を読み出し、コンピュータ1のGUIDなどを取得する。こ
れにより、プリンタ2は、バスリセット前にログインし
ていたコンピュータ1を識別する。
の処理が終了したことを示すパケットを Write Block R
equest として送信する。
実行シーケンスにおいて、プリンタ2より通知された Lo
gin Response パケットに示されたORBポインタへ、印刷
データ転送のための Command Block Agent ORB を書き
込むために、当該ORBが格納されたアドレスを記述した
Write Block Request 1005を送信する。
onse を返答する。次に、プリンタ2は、 Write Block R
equest 1005に記述されたアドレスに格納された Comman
d Block Agent ORB を読み出すために、 Read Block Re
quest を生成し送信する。これを受けてコンピュータ1
は、 Command Block Agent ORB を格納したパケット
を、 Read Block Response として送信する。
知された Read Block Response に格納された Command
Block Agent ORB を解析する。そして、当該ORBに記述
された印刷データの格納領域が、バスリセットにより実
行が中断された Command Block Agent ORB に記述され
た印刷データの格納領域と同じか否かを判断する。
域の印刷データのうち、バスリセット前における当該OR
Bの処理にて未取得分のみの印刷データをコンピュータ1
から取得すべく、読み出し開始アドレスと1回のスプリ
ットトランザクションで転送可能な所定データ量(たと
えば2Kバイト)を記述した Read Block Request を、未
取得分のデータ全てを読み出すのに必要な数分順次生成
する。ここで、この複数の Read Block Request の生成
は、1つのスプリットトランザクションが終了すると、
当該トランザクションによりコンピュータ1から読み出
したデータに続くデータを、次のスプリットトランザク
ションで読み出すように、順番に生成され送出される。
これにより、プリンタ2は、コンピュータ1から、Read B
lock Response を順次受け取り、バスリセットにより実
行が中断された Command Block Agent ORB の処理にて
未取得分の印刷データを得る。
た格納領域の印刷データをコンピュータ1から取得すべ
く、読み出し開始アドレスと1回のスプリットトランザ
クションで転送可能な所定データ量(たとえば2Kバイ
ト)を記述した Read Block Request を、当該格納領域
の印刷データ全てを読み出すの必要な数分順次生成す
る。ここで、この複数の Read Block Request の生成
は、1つのスプリットトランザクションが終了すると、
当該トランザクションによりコンピュータ1から読み出
したデータに続くデータを、次のスプリットトランザク
ションで読み出すように、順番に生成され送出される。
これにより、プリンタ2は、コンピュータ1から、Read B
lock Response を順次受け取り、当該ORBに記述された
格納領域の印刷データを得る。
ent ORB の処理(印刷データの転送処理)が終了したこ
とを示すパケットを Write Block Request として送信
する。
ンタ2からログアウトするための Logout ORB の格納領
域が記述された Write Block Request 1006を通知す
る。
onse を返答する。その後、コンピュータ1よりデータを
読み出すための Read Block Request を、Write Block
Request 1006に記述された格納領域のデータ全てを読み
出すのに必要な数分順次生成する。ここで、この複数の
Read Block Request の生成は、1つのスプリットトラ
ンザクションが終了すると、当該トランザクションによ
りコンピュータ1から読み出したデータに続くデータ
を、次のスプリットトランザクションで読み出すよう
に、順番に生成され送出される。これにより、プリンタ
2は、コンピュータ1から、Read Block Response を順次
受け取り、 Logout ORB を得る。
処理が終了したことを示すパケットを Write Block Req
uest として送信する。
ットにより Command Block Agent ORB による印刷デー
タの転送処理が中断された場合、プリンタ2は、バスリ
セット前における当該ORBの処理にて未取得分の印刷デ
ータのみをコンピュータ1から取得するようにしてい
る。このようにすることで、プリンタ2は、バスリセッ
トにより印刷データの受信が中断された場合でも、同じ
印刷データを重複して受信することなく、継続性が確保
された印刷データの受信を行うことが可能となる。
行シーケンスを実現するコンピュータ1およびプリンタ2
について説明する。
構成図である。
タ通信部11とコンピュータ本体部12を有する。
に、CPU121と、メモリ122と、ハードディスク装置など
の外部記憶装置123と、CD-ROMやFDなどの可搬性を有す
る記憶媒体125からデータを読み取る読取装置124と、キ
ーボードやマウスなどの入力装置126と、ディスプレイ
などの表示装置127と、上述した各装置とデータ通信部1
1を含む要素間のデータ送受を司るインターフェース128
といった、一般的な電子計算機の構成を有している。な
お、コンピュータ本体部12では、プリンタ2を制御する
ためのプリンタドライバソフトや、プリンタ2で印刷す
べき印刷データを作成するワープロソフトやグラフィッ
クソフトなどのアプリケーションソフトが稼働している
ものとする。
における処理を実行するPHY処理部111と、IEEE1394のリ
ンクレイヤにおける処理を実行するLink処理部112と、I
EEE1394のトランザクションレイヤにおける処理を実行
するパケット処理部113と、SBP-2で定義されているバス
リセットを検出するバスリセット検出部114と、SBP-2に
準拠したデータ転送プロトコルを処理するジョブ処理部
115を有する。
は、ASIC(Application Specific Integrated Circuit
s)、FPLA(Field-Programmable Logic Array)などの
集積ロジックICによりハードウエア的に構成してもよい
し、あるいは、DSP(Digital Signal Processor)によ
りソフトウエア的に構成するようにしてもよい。さら
に、ジョブ処理部115は、コンピュータ本体部11のCPU12
1に所定のプログラムを実行させることにより実現して
もよい。くわえて、データ通信部11は、コンピュータ本
体部12に装着可能な1つの装置として提供されるもので
もよい。
est Block)を生成し、これをプリンタ2に転送するため
に必要なパケットの生成をパケット処理部113に依頼す
る。たとえば、コンピュータ1がプリンタ2へログイン/
ログアウトするための LoginORB / Logout ORB や、プ
リンタ2がコンピュータ1から印刷データを読み出すため
の Command Block Agent ORB などを生成し、所定の格
納領域に格納する。そして、パケット処理部113に対
し、プリンタ2がコンピュータ1からこれらのORBを読み
出すための Write Block Request の生成を依頼する。
ンピュータ1から印刷データを読み出すための Command
Block Agent ORB を実行中に、バスリセット検出部114
によりバスリセットが検出された場合、Link処理部112
によるツリー識別や自己認識の処理終了後、コンピュー
タ1がプリンタ2へリコネクトするための reconnect ORB
を生成し、コンピュータ本体部11の所定の格納領域に
格納する。そして、パケット処理部113に対し、プリン
タ2がコンピュータ1から当該ORBを読み出すための Writ
e Block Request の生成を依頼して、リコネクト処理を
行う。その後、パケット処理部113に対して、実行が中
断された Command Block Agent ORB をプリンタ2がコン
ピュータ1から読み出すための Write Block Request の
生成を再度依頼する。
とパケット生成部117を有する。
びLink処理部112を介して他ノードからパケットを受信
する。
た各種パケットを生成する。たとえば、ジョブ処理部11
5からの指示にしたがい、ジョブ処理部115が生成したOR
Bをプリンタ2に読み出させるための Write Block Reque
st を生成したり、パケット受信部116が受信した Read
Block Request が要求するデータをコンピュータ本体部
12から読み出し、当該データを含んだ Read Block Resp
onse を生成したりする。
図である。
部21とプリンタ本体部22を有する。
メモリ222と、メモリ222に格納された各種プログラムを
実行することでプリンタ本体部21を構成する各部を統括
的に制御するCPU221と、印刷媒体にデータを印刷するた
めの機構(たとえば、インクを吐出する印刷ヘッド、プ
ラテン、印刷ヘッドを搭載するキャリッジを駆動するキ
ャリッジ駆動機構、紙送り機構、および印刷媒体の給排
紙処理を行う給排紙機構など)を有するプリンタエンジ
ン224と、データ通信部22とのデータ送受を司るI/F回路
223といった、一般的なプリンタの構成を有している。
における処理を実行するPHY処理部211と、IEEE1394のリ
ンクレイヤにおける処理を実行するLink処理部212と、I
EEE1394のトランザクションレイヤにおける処理を実行
するパケット処理部213と、IEEE1394で定義されている
バスリセットを検出するバスリセット検出部214と、SBP
-2に準拠したデータ転送プロトコルを処理するジョブ処
理部215と、を有する。
は、ASIC(Application Specific Integrated Circuit
s)、FPLA(Field-Programmable Logic Array)などの
集積ロジックICによりハードウエア的に構成してもよい
し、あるいは、DSP(Digital Signal Processor)によ
りソフトウエア的に構成するようにしてもよい。さら
に、ジョブ処理部215は、プリンタ本体部21のCPU221に
所定のプログラムを実行させることにより実現してもよ
い。くわえて、データ通信部21は、プリンタ本体部22に
装着可能な1つの装置として提供されるものでもよい。
とパケット生成部217を有する。
ファ2163と、汎用バッファ2162と、受信セレクタ2161を
有する。
タ1より通知された Read Block Response に含まれる印
刷データを格納し、格納した印刷データをバイト単位
で、すなわちパラレルデータとしてプリンタ本体部22に
送信する。
ズは、プリンタ2がコンピュータ1から印刷データを取
得するために生成する Read Block Request (上述の印
刷実行シーケンスや印刷データ転送再開実行シーケンス
を参照)に記述される、1回のスプリットトランザクシ
ョンで転送可能な所定データ量(たとえば2Kバイト)よ
りも、大きくなるように(たとえば4Kバイト)に設定す
る。
れた印刷データのプリンタ本体部22への送信タイミング
は、たとえば、印刷データ用バッファ2163にデータが格
納された時点とすればよい。
た Read Block Response 以外のパケットに含まれるデ
ータを格納する。
Link処理部212を介して受け取ったパケットの送り先バ
ッファを選択する。具体的には、受け取ったパケットが
印刷データを格納した Read Block Response の場合は
印刷データ用バッファ2163を選択し、印刷データを格納
した Read Block Response 以外のパケットの場合は汎
用バッファ2162を選択する。なお、SBP-2(Seral Bus P
rotocol 2)では、パケットに当該パケットの種類など
を表す情報が付与される。受信パケットセレクタ2162
は、これらの情報を調べることで、受け取ったパケット
が 印刷データを格納した Read Block Response である
か否かを判断する。
部2173と汎用生成部2172と送信セレクタ2171を有する。
ドレスと読出しデータ量を記述した、コンピュータ1よ
り印刷データを読み出すための Read Block Request を
生成する。なお、印刷データ用生成部2172は、パケット
受信部216の印刷データ用バッファ2163の空き容量を監
視する。そして、印刷データ用バッファ2163に ReadBl
ock Request に記述される読出しデータ量分の空き容量
があるのを確認してから、当該 Read Block Request を
生成する。
刷データを読み出すための Read Block Request 用パケ
ット以外のパケットを生成する。
2173および汎用生成部2172のいずれか一方を選択し、選
択したパケット生成部で生成されたパケットを、PHY処
理部211およびLink処理部212を介してコンピュータ1に
送信する。
とジョブ実行部2152を有する。
ら読み出した印刷データ転送のための Command Block A
gent ORB について、当該ORBにしたがい印刷データ用生
成部2172で生成した Read Block Request のパケット数
と、当該 Read Block Request に対する応答としてコン
ピュータ1より受け取った Read Block Response のパケ
ット数を、当該ORBの実行が完了するまで計数する。
格納されたパケットを解析して、その内容に応じた処理
を行う。
パケットが、 Login ORB / LogoutORB や Reconnect OR
B の格納先が記述された Write Block request である
場合、コンピュータ1から当該ORBを取得すべく、汎用パ
ケット生成部2172に通知する。これを受けて、汎用パケ
ット生成部2172は、Read Block Request を、前記 Writ
e Block Request に格納領域が記述されたORBを読み出
すの必要な数分生成する。
62に格納されたパケットが、印刷データ転送のための C
ommand Block Agent ORB を格納した Read Block Respo
nseである場合、当該ORBに記述された格納領域の印刷デ
ータをコンピュータ1から取得すべく、印刷データ用生
成部2173に通知する。これを受けて、印刷データ用生成
部2173は、 Read Block Request を、前記ORBに格納領
域が記述された印刷データを読み出すの必要な数分生成
する。
は、1つのスプリットトランザクションが終了すると、
当該トランザクションよりコンピュータ1から読み出し
たデータに続くデータを、次のスプリットトランザクシ
ョンで読み出すように、順番に生成され送出される。
検出部214によりバスリセットが検出された場合、パケ
ット生成部217およびパケット受信部216を初期化する。
刷データ転送のための Command Block Agent ORB を実
行中にバスリセットされた場合、パケット受信部216の
印刷データ用バッファ2163については、バスリセット終
了後、SBP-2で規定するリコネクト期間が経過するま
で、初期化するのを待つ。
よりリコネクトされた場合、コンピュータ1より新たに
読み出した印刷データ転送のための Command Block Age
nt ORB が示す印刷データの格納領域が、バスリセット
により実行が中断された Command Block Agent ORB が
示す印刷データの格納領域と同じ場合、印刷データ用バ
ッファ2163の初期化は行わない。ジョブ実行部2152は、
当該ORBが示す印刷データの格納領域と、実行状況監視
部2152に保持された、当該ORBの実行がバスリセットに
より中断された際の Read Block Request あるいは Rea
d Block Responseのパケット数から、当該ORBについ
て、取得済みの印刷データ(バスリセット前に既に読み
出した印刷データ)を除いた、未取得分の印刷データの
格納領域を特定する。そして、未取得分の印刷データを
コンピュータ1から取得すべく、印刷データ用生成部217
3に通知する。これを受けて、印刷データ用生成部2173
は、前記未取得分の印刷データを読み出すのに必要な数
分、 read block request を生成する。
に、コンピュータ1よりリコネクトがなかった場合、あ
るいは、リコネクトされたが、コンピュータ1より新た
に読み出した印刷データ転送のための Command Block A
gent ORB が示す印刷データの格納領域がバスリセット
により実行が中断された Command Block Agent ORB が
示す印刷データの格納領域と異なる場合は、印刷データ
用バッファ2163の初期化を行う。
リンタ2の動作について説明する。
する。
のコンピュータ1の動作を説明するためのフロー図であ
る。
2より印刷指示を受けると、図2に示すログイン処理を
実行する(ステップS801)。
ュータ1がプリンタ2へログインするための Login ORB
を生成し、所定の格納領域に格納する。それから、パケ
ット生成部117に、 Login ORB の格納領域が記述された
Write Block Request を生成させてプリンタ2に送信す
る。その後、パケット生成部117は、パケット受信部116
を介してプリンタ2より受け取った Read Block Request
が要求するデータを読み出し、当該データを含んだ Re
ad Block Response をプリンタ2に送信する。これによ
り、 Login ORB をプリンタ2に読み込ませる。
ト受信部116を介してプリンタ2より受け取った Read Qu
adlet Request が要求するデータを読み出し、当該デー
タを含んだ Read Quadlet Request をプリンタ2に送信
する。これにより、コンピュータ1のコンフィギュレー
ションROMの内容をプリンタ2に読み込ませ、コンピュー
タ1のGUID(グローバルID)などを認識させる。次に、ジ
ョブ処理部115は、パケット受信部116を介してプリンタ
2より受け取った Write Block Request に格納されてい
る、印刷データ転送のための Command Block Agent ORB
を書き込むべきプリンタ2側のアドレス(ORBポイン
タ)などの情報を含んだ Login Response を取得する。
刷データ転送処理を実行する(ステップS802)。
ータ転送のための Command Block Agent ORB を生成
し、所定の格納領域に格納する。そして、パケット生成
部117に、プリンタ2が当該ORBを読み出すための Write
Block Request を生成させ、プリンタ2に送信する。そ
の後、パケット生成部117は、パケット受信部116で受信
した Read Block Request が要求するデータを読み出し
て、当該データを含んだRead Block Response をプリン
タ2に送信する。これにより、Command Block Agent ORB
をプリンタ2に読み込ませる。
ト受信部116で受信した Read BlockRequest が要求する
データを読み出して、当該データを含んだ Read Block
Response をプリンタ2に送信する。この処理を、パケッ
ト受信部116が前記 CommandBlock Agent ORB にしたが
った処理(印刷データ転送処理)の終了を示す WriteBl
ock Response を受け取るまで繰り返し行う。これによ
り印刷データをプリンタ2に読み込ませる。
グアウト処理を実行する(ステップS803)。
タ2からログアウトするための Logout ORB を生成し、
所定の格納領域に格納する。そして、パケット生成部11
7に、プリンタ2が当該ORBを読み出すための Write Bloc
k Request を生成させ、プリンタ2に送信する。その
後、パケット生成部117は、パケット受信部117で受信し
た Read Block Request が要求するデータを読み出し
て、当該データを含んだ Read Block Response をプリ
ンタ2に送信する。これにより、Logout ORBをプリンタ2
に読み込ませる。
行シーケンスでのコンピュータ1の動作を説明するため
のフロー図である。
発生すると、ジョブ処理部115は、バスリセット検出部1
14を介してこれを検出し(ステップS901)、パケット処
理部113を初期化する(ステップS902)。なお、バスリ
セットにより、Link処理部112は、他のノードと強調し
てツリー識別や自己認識を行い、ノードIDを取得する。
リンタ2の認識処理を実行する(ステップS903)。
uadlet Request を生成させ、これを任意のノードIDを
有するノードに送信する。そして、その応答として受信
したRead Quadlet Response をパケット受信部116から
受け取ることで、当該ノードからコンフィギュレーショ
ンROMの内容を読み出して、GUIDなどの情報を取得す
る。この処理を、全てのノードに対して行うことで、バ
スリセットにより新たに割り振られたノードIDとノード
との対応を認識する。これにより、バスリセット前にロ
グインしていたプリンタ2を識別する。
コネクト処理を実行する(ステップS904)。
ための Reconnect ORB を生成し、所定の格納領域に格
納する。そして、パケット生成部117に、プリンタ2が当
該ORBを読み出すための Write Block Request を生成さ
せ、プリンタ2に送信する。その後、パケット生成部117
は、パケット受信部117で受信した Read Block Request
が要求するデータを読み出して、当該データを含んだ
Read Block Responseをプリンタ2に送信する。これによ
り、Reconnect ORBをプリンタ2に読み込ませる。
刷データ転送再開処理を実行する(ステップS905)。
すべき印刷データの格納領域が記述された Command Blo
ck Agent ORB を生成し、所定の格納領域に格納する。
そして、パケット生成部117に、プリンタ2が当該ORBを
読み出すための Write BlockRequest を生成させ、プリ
ンタ2に送信する。その後、パケット生成部117は、パケ
ット受信部116で受信した Read Block Request が要求
するデータを読み出して、当該データを含んだ Read Bl
ock Response をプリンタ2に送信する。これにより、Co
mmand Block Agent ORB をプリンタ2に読み込ませる。
ト受信部116で受信した Read BlockRequest が要求する
データを読み出して、当該データを含んだ Read Block
Response をプリンタ2に送信する。この処理を、パケッ
ト受信部116が前記 CommandBlock Agent ORBにしたがっ
た処理(印刷データ転送処理)の終了を示す WriteBloc
k Response を受け取るまで繰り返し行う。これによ
り、印刷データをプリンタ2に読み込ませる。
バスリセットが発生した場合、すなわち、 Command Blo
ck Agent ORB をプリンタ2に読み込ませるための Write
Block Request を送信してから、当該ORBにしたがった
処理の終了を示す Write Block Response を受け取るま
での間にバスリセットが発生した場合、ジョブ処理115
は、パケット生成部117に、実行が中断された前記 Comm
and Block Agent ORBをプリンタ2に読み込ませるための
Write Block Request を再度生成させ、プリンタ2に送
信する。
グアウト処理を実行する(ステップS906)。
るための Logout ORB を生成し、所定の格納領域に格納
する。そして、パケット生成部117に、プリンタ2が当該
ORBを読み出すための Write Block Request を生成さ
せ、プリンタ2に送信する。その後、パケット生成部117
は、パケット受信部117で受信した Read Block Request
が要求するデータを読み出して、当該データを含んだ
Read Block Responseをプリンタ2に送信する。これによ
り、Logout ORBをプリンタ2に読み込ませる。
る。
でのプリンタ2の動作を説明するためのフロー図であ
る。
グイン処理を実行する(ステップS1001)。
ッファ2162を介して、コンピュータ1より Login ORB の
格納領域が記述された Write Block Request を受信す
ると、汎用生成部2172に Write Response を生成させ、
プリンタ2に送信する。それから、ジョブ実行部2152
は、汎用生成部2172に、Read Block Request を、Write
Block Request に格納領域が記述された Login ORB を
読み出すのに必要な数分生成させ、コンピュータ1に送
信する。そして、その応答である Read Block Response
を汎用バッファ2162を介して受け取る。これにより、
コンピュータ1からLogin ORB を読み出す。
の読み出しが終了すると、汎用生成部2172に Read Quad
let Request を生成させてコンピュータ1に送信し、そ
の応答である Read Quadlet Response を汎用バッファ2
162を介して受け取る。これにより、コンピュータ1のコ
ンフィギュレーションROMの内容を読み出し、コンピュ
ータ1のGUIDなどを取得して、ログインしたコンピュー
タ1を識別する。
タ転送指示や転送すべき印刷データの格納領域などが記
述される Command Block Agent ORB を書き込むべきプ
リンタ2側のアドレス(ORBポインタ)などの情報を含ん
だ Login Response を生成し、これを含んだ Write Blo
ck Request を汎用性生成部2172に生成させてコンピュ
ータ1に送信する。その後、汎用性生成部2172に、Login
ORB の処理が終了したことを示すデータを含んだ Writ
e Block Request 生成させ、コンピュータ1に送信す
る。
刷データ転送処理を実行する(ステップS1002)。
ッファ2162を介して、コンピュータ1より、印刷データ
の転送指示や転送すべき印刷データの格納領域が記述さ
れたCommand Block Agent ORB の格納領域が示された W
rite Block Request を受け取ると、汎用生成部2172
に、Write Response を生成させ、コンピュータ1に送信
する。それから、ジョブ実行部2152は、汎用生成部2172
に、コンピュータ1よりWrite Block Request に記述さ
れた格納領域から Command Block Agent ORB を読み出
すための Read Block Request を生成させてコンピュー
タ1に送信し、その応答である Read Block Response を
汎用バッファ2162から受け取る。これにより、コンピュ
ータ1から Command Block Agent ORB を読み出す。
1より読み出した Command Block Agent ORB が示す格納
領域の印刷データを、コンピュータ1から取得すべく、
印刷データ用生成部2173に Read Block Request を生成
させる。そして、当該 ReadBlock Request に対する応
答としてコンピュータ1より Read Block Response を受
け取り、これを印刷データ用バッファ2163に格納するこ
とで、前記ORBが示す格納領域の印刷データを受信す
る。
nt ORB が示す格納領域の印刷データの読み出し処理が
終了すると、汎用生成部2172に、前記 Command Block A
gentORB の処理が終了したことを示す Write Block Req
uest を生成させ、コンピュータ1に送信する。
グアウト処理を実行する(ステップS1003)。
ュータ1から Logout ORB の格納領域を示した Write B
lock Request を、汎用バッファ2162を介して受け取
る。そして、Write Block Request に示された格納領域
から Logout ORB を読み出すべく、汎用生成部2172に、
Read Block Request を生成させてコンピュータ1に送
信し、その応答である Read Block Response を汎用バ
ッファ2162を介して受信する。これにより、Logout ORB
をコンピュータ1から読み出す。
出し処理が終了すると、汎用生成部2172に、 Logout OR
B の処理が終了したことを示す Write Block Request
生成させて送信する。
実行シーケンスでのプリンタ2の動作を説明するための
フロー図である。
トが発生すると、実行状況監視部2151は、バスリセット
検出部214を介してこれを検出し(ステップS1101)、パ
ケット処理部213の印刷データ用バッファ2163を除く各
部を初期化する(ステップS1102)。
2は、他のノードと協調してツリー識別や自己認識を行
い、ノードIDを取得する。また、図3に示すプリンタ2
の認識処理よりコンピュータ1から Read Quadlet Reque
st が送信された場合、パケット処理部213は、これを汎
用バッファ2162で受信し、当該 Request が要求するデ
ータを読み出す。そして、汎用生成部2172にて、当該デ
ータを含んだ Read Quadlet Response を生成し、コン
ピュータ1に送信する。これにより、プリンタ2のコンフ
ィギュレーションROMに記述されたGUIDなどの情報を、
コンピュータ1に通知する。
ト検出後、SBP-2で規定するリコネクト期間内に、リコ
ネクト要求されたか否かを判断する(ステップS1103、
S1104)。
ッファ2162に格納されたパケットを調べ、SBP-2で規定
するリコネクト期間内に、コンピュータ1より Reconnec
t ORBの格納領域が示された Write Block Request を受
信したか否かで判断する。
コネクト要求されなかった場合は、印刷データ用バッフ
ァ2163を初期化し(ステップS1105)、処理を終了す
る。
に、コンピュータ1よりリコネクト要求された場合、ジ
ョブ実行部2152は、図3に示すリコネクト処理を実行す
ることで、リコネクトを要求したノードがコンピュータ
1であることを認識する(ステップS1106)。
ュータ1より Reconnect ORB の格納領域が示された Wri
te Block Request を受け取ると、汎用生成部2172に、W
riteResponse を生成させ、コンピュータ1に送信する。
それから、ジョブ実行部2152は、汎用生成部2172に、Wr
ite Block Request に記述された格納領域からReconnec
t ORB をコンピュータ1より読み出すための Read Block
Request を生成させてコンピュータ1に送信し、その応
答である Read Block Response を汎用バッファ2162か
ら受け取る。これにより、コンピュータ1から Reconnec
t ORB を読み出す。
RB の読み出しが終了すると、汎用生成部2172に Read Q
uadlet Request を生成させてコンピュータ1に送信し、
その応答である Read Quadlet Response を汎用バッフ
ァ2162から受け取る。これにより、コンピュータ1のコ
ンフィギュレーションROMの内容を読み出し、コンピュ
ータ1のGUIDなどを取得する。これにより、ジョブ実行
部2152は、リコネクトを要求したノードが、バスリセッ
ト前にログインしていたコンピュータ1であることを識
別する。
2172に Reconnect ORB の処理が終了したことを示すデ
ータを含んだ Write Block Request を生成させ、コン
ピュータ1に送信する。
刷データ転送再開処理を実行する(ステップS1107〜S11
11)。
ッファ2162を介して、コンピュータ1より、印刷データ
の転送指示や転送すべき印刷データの格納領域が記述さ
れたCommand Block Agent ORB の格納領域が示された W
rite Block Request を受け取ると、汎用生成部2172
に、Write Response を生成させ、コンピュータ1に送信
する。それから、ジョブ実行部2152は、汎用生成部2172
に、コンピュータ1よりWrite Block Request に記述さ
れた格納領域から Command Block Agent ORB を読み出
すための Read Block Request を生成させてコンピュー
タ1に送信し、その応答である Read Block Responseを
汎用バッファ2162から受け取る。これにより、印刷デー
タ転送のための Command Block Agent ORB をコンピュ
ータ1から読み出す(ステップS1107)。
部2151に印刷データ転送のための Command Block Agent
ORB が保持されていれば、当該ORBを取得し、ステップ
S907で取得した Command Block Agent ORB と比較する
(ステップS1108)。
コンピュータ1から読み出した印刷データ転送のための
Command Block Agent ORB について、印刷データ用生成
部2172が当該ORBにしたがい生成した Read Block Reque
st のパケット数と、当該 Read Block Request に対す
る応答としてコンピュータ1より受け取った Read Block
Response のパケット数を、当該ORBの実行が完了する
まで計数する。したがって、バスリセットにより当該OR
Bの実行が中断された場合、実行状況監視部2151には、
当該ORBについて、バスリセットされるまでに印刷デー
タ用生成部2172が当該ORBにしたがい生成した Read Blo
ck Request のパケット数と、当該 Read Block Request
に対する応答としてコンピュータ1より受け取った Rea
d Block Response のパケット数が保持されることにな
る。
監視部2151に保持されている Command Block Agent ORB
が示す印刷データの格納領域と、ステップS907で取得
した Command Block Agent ORB が示す印刷データの格
納領域が同じ場合、ジョブ実行部2152は、バスリセット
前後における印刷データの継続性を確保するために以下
の処理を行う。
S1107で取得した Command Block Agent ORB が示す印刷
データの格納領域(実際には先頭アドレスおよび転送デ
ータ量により特定される)と、実行状況監視部2151に保
持されている Read Block Request のパケット数あるい
は Read Block Response のパケット数から、当該ORBに
ついて、取得済みの印刷データ(バスリセット前に既に
読み出した印刷データ)を除いた、未取得分の印刷デー
タの格納領域を特定する。
印刷データのみをコンピュータ1から取得すべく、印刷
データ用生成部2173に、前記未取得分の印刷データを読
み出すの必要な数分 read block request を生成させ、
コンピュータ1に送信する。そして、当該 Read Block R
equest に対する応答としてコンピュータ1より ReadBlo
ck Response を受け取り、これを印刷データ用バッファ
2163に格納することで、未取得分の印刷データのみを受
信する(ステップS1109)。
転送のための Command Block AgentORB の実行が完了す
ると、計測内容をクリアする。そして、新たに印刷デー
タ転送のための Command Block Agent ORB が実行され
ると計測を開始する。
送のための Command Block Agent ORB が保持されてい
ない場合、あるいは、ステップS1108での比較の結果、
実行状況監視部2151に保持されている Command Block A
gent ORB が示す印刷データの格納領域とステップS1107
で取得した Command Block Agent ORB が示す印刷デー
タの格納領域が異なる場合、ジョブ実行部2152は、ステ
ップS1107で取得した Command Block Agent ORB が示す
格納領域の印刷データをコンピュータ1から取得すべ
く、印刷データ用生成部2173に Read Block Request を
生成させ、プリンタ2に送信する。そして、当該 Read B
lock Request に対する応答としてコンピュータ1より R
ead Block Response を受け取り、これを印刷データ用
バッファ2163に格納することで、前記ORBが示す格納領
域の印刷データを受信する(ステップS1110)。
9あるいはステップS1110による印刷データの読み出し処
理が終了すると、汎用生成部2172に、ステップS1107で
取得した Command Block Agent ORB の処理が終了した
ことを示す Write Block Request 生成させ、コンピュ
ータ1に送信する(ステップS1111)。
グアウト処理を実行する(ステップS1112)。
ュータ1から Logout ORB の格納領域を示した Write B
lock Request を、汎用バッファ2162を介して受け取
る。そして、 Write Block Request に示された格納領
域から Logout ORB を読み出すべく、汎用生成部2172
に、 Read Block Request を生成させてコンピュータ1
に送信し、その応答である Read Block Response を汎
用バッファ2162を介して受信する。これにより、 Logou
t ORB をコンピュータ1から読み出す。
出し処理が終了すると、汎用生成部2172に、 Logout OR
B の処理が終了したことを示すデータを含んだ Write B
lockRequest を生成させ、コンピュータ1に送信する。
た。
セットにより実行が中断された Command Block Agent O
RB を通知したコンピュータ1より、SBP-2に定義されて
いるリコネクト処理の要求を受け付け、さらに、前記中
断された Command Block AgentORB と同じ Command Blo
ck Agent ORB を受け付けた場合、ジョブ実行部2152
は、実行状況監視部2151により計測された、当該ORBの
実行が中断された際の ReadBlock Request の送信回数
あるいは Read Block Response の受信回数により、当
該 ORB に記述された格納領域のデータのうち、バスリ
セット前に取得したデータを除く未取得分のデータの格
納領域を特定する。そして、印刷データ用生成部2173に
対し、Read Block Request を、前記特定した未取得分
のデータを読み出すのに必要な数分生成させ、コンピュ
ータ1に送信する。
ock Request に応答して、コンピュータ1が送信する Re
ad Block Response に格納される印刷データを、印刷デ
ータ用バッファ2163に格納させる。ジョブ実行部2152
は、バスリセットされた場合でも、直ちに印刷データ用
バッファ2163を初期化するのではなく、バスリセット完
了後SBP-2に定義されているリコネクト期間内に、コン
ピュータ1よりリコネクトされなかった場合に、初期化
するようにしている。
刷データ用バッファ2163に格納する印刷データについ
て、バスリセットにより受信が中断された場合でも、同
じ印刷データを重複させることなく、印刷データの継続
性を確保することができる。したがって、たとえば、イ
ンクジェットプリンタなどのシリアルプリンタでは、1
ライン分(印字ヘッドを1回走査できる分)の印刷デー
タを受信すると、印刷を開始してしまうものでも、バス
リセット後に、同じ印刷データが重複して印刷されるこ
とがなくなる。
ファ2163のサイズを、プリンタ2がコンピュータ1から
印刷データを取得するために生成する Read Block Requ
estに記述される、1回のスプリットトランザクションで
転送可能な所定データ量(たとえば2Kバイト)より大き
な値(たとえば4Kバイト)に設定している。このため、
前記Read Block Request に対する応答として、コンピ
ュータ1が送信する Read Block Response の印刷データ
は、一度に印刷データ用バッファ2163に格納される。し
たがって、実行状況監視部2151は、Command Block Agen
t ORB によるたジョブ(印刷データ転送/転送再開処
理)の実行状況を、Read Block Requestの送信回数ある
いは Read Block Response の受信回数を計測すること
で実現でき、管理が容易となる。
gent ORB の実行状況を監視するために、 Command Bloc
k Agent ORB に記述された格納領域の印刷データを読み
出すための Read Block Request の送信回数、および
当該Requestの返答である Read Block Response の受信
回数の両方を計測しているが、いずれか一方を計測する
ものであってもよい。あるいは、前記 Read Block Resp
onse に含まれる印刷データの合計バイト数を計測する
ことで、 Command Block Agent ORB の実行状況を監視
するようにしてもよい。これは、たとえば、印刷データ
用バッファ2163に入力したデータのバイト数を計測する
ことで実現できる。
たシリアルインターフェースを介して、SBP-2に準拠し
たデータ転送プロトコルにしたがい相手装置とデータ通
信を行うものについて説明したが、本発明はこれに限定
されるものではない。たとえば、DPP(Direct Printer
Protocol)などのその他のデータ転送プロトコルにおい
ても、所定のイベントによりデータ転送が中断される可
能性のあるものについて広く適用することができる。
ンタのみに適用されるものではなく、スキャナやデジタ
ルビデオカメラなどの様々な接続機器に適用可能であ
る。
同じデータを重複して受信することなく、継続性が確保
されたデータの受信を行うことができる。
含むシステムの概略構成図である。
行われる印刷実行シーケンスを示した図である。
行われる印刷データ転送再開実行シーケンスを示した図
である。
る。
ア構成例を示した図である。
例を示した図である。
タ1の動作を説明するためのフロー図である。
でのコンピュータ1の動作を説明するためのフロー図で
ある。
2の動作を説明するためのフロー図である。
スでのプリンタ2の動作を説明するためのフロー図であ
る。
Claims (6)
- 【請求項1】IEEE(The Institute of Electrical and
Electronics Engineers, Inc.)1394に準拠したシリアル
インターフェースを介して、SBP-2(Seral Bus Protoco
l 2)に準拠したデータ転送プロトコルにしたがい相手
装置とデータ通信を行うデータ通信装置であって、 相手装置より受け付けた、前記相手装置が前記データ通
信装置に転送すべきデータの格納領域を示すデータを含
むORB(Operation Request Block)にしたがい、読出し
開始アドレスと所定の読出しデータ量を示した Read Bl
ock Request を生成して前記相手装置に送信し、その応
答として読出しデータを含む Read Block Response を
受信することにより、任意のアドレスから所定データ量
ずつデータを順次読み出していくことで、前記ORBに示
された格納領域のデータを受信すると共に、IEEE1394で
定義されているバスリセットにより実行が中断されたOR
Bについて再開が指示された場合に、当該ORBの実行が中
断された際の実行状況を参照して、当該ORBに示された
格納領域のデータのうち、取得済みのデータを除く未取
得分のデータを受信するのに必要な Read Block Reques
t を生成して相手装置に送信し、その応答として Read
Block Response を受信することにより、当該ORBの未処
理の部分を実行するために必要なデータのみを相手装置
より受信するジョブ実行手段と、 ORBの実行状況を管理すると共に、前記バスリセットに
より実行が中断されたORBを再開する場合、当該ORBの実
行が中断された際の実行状況を提示して当該ORBの再開
を前記ジョブ実行手段に指示するジョブ管理手段と、 前記バスリセットを検出するバスリセット検出手段と、
を備え、 前記ジョブ管理手段は、 前記ジョブ実行手段で実行されているORBと、当該ORBを
実行するために生成された Read Block Request の送信
回数、当該 Rread Block Request の応答として相手装
置より受け取った Read Block Response の受信回数お
よび当該 Read Block Response に含まれる読出しデー
タの合計バイト数のうちの少なくとも1つとを把握する
ことで、当該ORBの実行状況を管理する手段と、 前記バスリセット検出手段で検出されたバスリセットに
より実行が中断されたORBを通知した相手装置より、SBP
-2で定義されているリコネクト処理が要求され、その
後、前記中断されたORBと同じORBが再度通知された場
合、当該ORBの実行が中断された際の Read Block Reque
st の送信回数、 Read Block Response の受信回数およ
び当該 Read Block Response に含まれる受信データの
合計バイト数のうちの少なくとも1つを提示して、当該
ORBの再開を前記ジョブ実行手段に指示する手段と、を
有し、 前記ジョブ実行手段は、 前記ジョブ管理手段により提示された、当該ORBの実行
が中断された際の ReadBlock Request の送信回数、 Re
ad Block Response の受信回数および当該 Read Block
Response に含まれる受信データの合計バイト数のうち
の少なくとも1つにより特定される、当該ORBに示され
た格納領域のデータのうち取得済みのデータを除く未取
得分のデータ受信するのに必要な Read Block Request
を生成して相手装置に送信し、その応答として Read Bl
ock Response を受信することを特徴とするデータ通信
装置。 - 【請求項2】請求項1記載のデータ通信装置であって、 前記ジョブ実行手段で受信したORBを実行するための Re
ad Block Request に対する Read Block Response に含
まれるデータを格納するバッファを、さらに備え、 前記バスリセット検出手段によりバスリセットが検出さ
れても、前記バッファに格納されたデータはクリアされ
ないことを特徴とするデータ通信装置。 - 【請求項3】請求項2記載のデータ通信装置であって、 前記バスリセット検出手段によりバスリセットが検出さ
れた後、所定時間内に、当該バスリセットにより実行が
中断されたORBを通知した相手装置より前記リコネクト
処理の要求を受け付けなかった場合、前記バッファに格
納されたデータをクリアするリセット手段を、さらに備
えること を特徴とするデータ通信装置。 - 【請求項4】請求項2または3記載のデータ通信装置で
あって、 前記ジョブ実行手段で受信したORBを実行するための Re
ad Block Request に対する Read Block Response に含
まれるデータのサイズは、前記バッファのサイズより小
さいことを特徴とするデータ通信装置。 - 【請求項5】請求項2、3または4記載のデータ通信装
置であって、 前記ジョブ実行手段は、前記ORBを実行するために生成
した Read Block Request を、前記バッファの空き容量
が当該 Read Block Request に示された読出しデータ量
より大きくなってから、相手装置に送出することを特徴
とするデータ通信装置。 - 【請求項6】請求項2、3、4または5記載のデータ通
信装置を備えたプリンタであって、 前記バッファは、格納したデータをバイト単位でプリン
タ本体部に送出することを特徴とするプリンタ。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP35046099A JP3387466B2 (ja) | 1999-03-19 | 1999-12-09 | データ通信装置 |
| AT00302190T ATE325380T1 (de) | 1999-03-19 | 2000-03-17 | Datenkommunikations-gerät |
| DE60027633T DE60027633T2 (de) | 1999-03-19 | 2000-03-17 | Datenkommunikations-Gerät |
| EP00302190A EP1039368B1 (en) | 1999-03-19 | 2000-03-17 | Data communication apparatus |
| US09/531,214 US6937355B1 (en) | 1999-03-19 | 2000-03-20 | Data communications apparatus for resuming data transfer after interruption |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7609599 | 1999-03-19 | ||
| JP11-76095 | 1999-03-19 | ||
| JP35046099A JP3387466B2 (ja) | 1999-03-19 | 1999-12-09 | データ通信装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000339117A JP2000339117A (ja) | 2000-12-08 |
| JP3387466B2 true JP3387466B2 (ja) | 2003-03-17 |
Family
ID=26417245
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP35046099A Expired - Fee Related JP3387466B2 (ja) | 1999-03-19 | 1999-12-09 | データ通信装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6937355B1 (ja) |
| EP (1) | EP1039368B1 (ja) |
| JP (1) | JP3387466B2 (ja) |
| AT (1) | ATE325380T1 (ja) |
| DE (1) | DE60027633T2 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002118558A (ja) * | 2000-10-10 | 2002-04-19 | Sony Corp | 情報処理装置および方法、並びにプログラム格納媒体 |
| US7301657B2 (en) * | 2001-06-09 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Printer including video decoder |
| JP2003063118A (ja) * | 2001-08-29 | 2003-03-05 | Canon Inc | 記録装置、インタフェース制御装置およびインタフェース制御方法 |
| JP2005115545A (ja) * | 2003-10-06 | 2005-04-28 | Seiko Epson Corp | データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 |
| JP4239930B2 (ja) * | 2004-08-19 | 2009-03-18 | セイコーエプソン株式会社 | データ転送制御システム、電子機器及びプログラム |
| US8490204B2 (en) * | 2004-11-12 | 2013-07-16 | Sandisk Il Ltd. | Selective protection of files on portable memory devices |
| US7593140B2 (en) * | 2005-01-07 | 2009-09-22 | Avego Technologies General Ip (Singapore) Pte. Ltd. | System and method for generating dynamically modifiable timing control signals |
| KR100782820B1 (ko) * | 2005-09-30 | 2007-12-06 | 삼성전자주식회사 | 방송 수신기를 포함하는 인쇄 장치 및 인쇄 장치 구동 방법 |
| JP2010252035A (ja) * | 2009-04-15 | 2010-11-04 | Canon Inc | 画像処理装置、画像処理方法、プログラム |
| US9686460B2 (en) | 2012-12-27 | 2017-06-20 | Intel Corporation | Enabling a metadata storage subsystem |
| JP2022143255A (ja) * | 2021-03-17 | 2022-10-03 | 東芝テック株式会社 | プリンタ及び情報処理システム |
| JP7757678B2 (ja) * | 2021-09-21 | 2025-10-22 | 富士フイルムビジネスイノベーション株式会社 | 印刷ジョブの管理装置およびプログラム |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63113624A (ja) * | 1986-10-30 | 1988-05-18 | Tokyo Electric Co Ltd | 電子秤のプリンタインタ−フエ−ス |
| JP3202519B2 (ja) * | 1995-01-31 | 2001-08-27 | シャープ株式会社 | データ印字出力装置 |
| JPH1032691A (ja) * | 1996-07-15 | 1998-02-03 | Matsushita Electric Ind Co Ltd | ディジタル複合機 |
| JPH10322372A (ja) | 1997-05-16 | 1998-12-04 | Canon Inc | データ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体 |
| JP4111472B2 (ja) | 1998-05-15 | 2008-07-02 | キヤノン株式会社 | 通信制御方法及び装置及び通信システム |
-
1999
- 1999-12-09 JP JP35046099A patent/JP3387466B2/ja not_active Expired - Fee Related
-
2000
- 2000-03-17 DE DE60027633T patent/DE60027633T2/de not_active Expired - Lifetime
- 2000-03-17 AT AT00302190T patent/ATE325380T1/de not_active IP Right Cessation
- 2000-03-17 EP EP00302190A patent/EP1039368B1/en not_active Expired - Lifetime
- 2000-03-20 US US09/531,214 patent/US6937355B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6937355B1 (en) | 2005-08-30 |
| EP1039368A2 (en) | 2000-09-27 |
| EP1039368A3 (en) | 2002-11-13 |
| EP1039368B1 (en) | 2006-05-03 |
| DE60027633T2 (de) | 2006-09-21 |
| ATE325380T1 (de) | 2006-06-15 |
| JP2000339117A (ja) | 2000-12-08 |
| DE60027633D1 (de) | 2006-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3387466B2 (ja) | データ通信装置 | |
| JP5281313B2 (ja) | 印刷制御装置、印刷制御方法及びプログラム | |
| JP3584789B2 (ja) | データ転送制御装置及び電子機器 | |
| KR100431009B1 (ko) | 데이터 전송 제어 장치, 정보 기억 매체 및 전자기기 | |
| US8270001B2 (en) | Printing apparatus and canceling method | |
| US6920568B2 (en) | Method and apparatus for managing a network, network management program, and storage medium including a network management program stored thereon | |
| US6457079B1 (en) | Communication apparatus with means for allocating alternate designation information to each function unit, and communication system with said two communication apparatuses | |
| CN100458765C (zh) | 数据处理设备、终端装置和数据处理系统 | |
| US8270017B2 (en) | Network card device for determining permissibility for processing data from a data source and method of controlling the same | |
| JP2000341316A (ja) | データ通信装置 | |
| CN101207637A (zh) | 自动设置网络打印装置端口的方法及其网络打印装置 | |
| JP3598924B2 (ja) | データ転送制御装置、情報記憶媒体及び電子機器 | |
| JP2001257703A (ja) | データ通信装置 | |
| JP3606145B2 (ja) | データ転送制御装置及び電子機器 | |
| CN114640750B (zh) | 高拍仪的传输控制方法、装置、设备及存储介质 | |
| JP3624767B2 (ja) | データ転送制御装置、情報記憶媒体及び電子機器 | |
| US7664841B2 (en) | Selective activation of TCP/IP link and traffic | |
| JP3951113B2 (ja) | 装置間データ通信の制御装置及び方法 | |
| CN102447675B (zh) | 远端数据传输方法及使用此方法的虚拟媒体系统 | |
| US20030212850A1 (en) | Log-in device and logged-in device | |
| JP7619130B2 (ja) | 通信装置及び通信装置のためのコンピュータプログラム | |
| JP3598922B2 (ja) | データ転送制御装置、情報記憶媒体及び電子機器 | |
| JP4125146B2 (ja) | データ処理装置及びデータ処理方法 | |
| KR100574894B1 (ko) | 통신망 관리시스템에서 원격 시험 장치를 위한 통신 처리방법 | |
| JP4207985B2 (ja) | スキャナ制御装置、スキャナ制御システムおよび制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090110 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100110 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110110 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110110 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120110 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120110 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130110 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130110 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140110 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |