JP3719253B2 - Data receiving node - Google Patents

Data receiving node Download PDF

Info

Publication number
JP3719253B2
JP3719253B2 JP2003155080A JP2003155080A JP3719253B2 JP 3719253 B2 JP3719253 B2 JP 3719253B2 JP 2003155080 A JP2003155080 A JP 2003155080A JP 2003155080 A JP2003155080 A JP 2003155080A JP 3719253 B2 JP3719253 B2 JP 3719253B2
Authority
JP
Japan
Prior art keywords
data
node
data transmission
data block
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003155080A
Other languages
Japanese (ja)
Other versions
JP2004056780A (en
Inventor
孝彦 南光
飯塚  裕之
保夫 西脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003155080A priority Critical patent/JP3719253B2/en
Publication of JP2004056780A publication Critical patent/JP2004056780A/en
Application granted granted Critical
Publication of JP3719253B2 publication Critical patent/JP3719253B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、静止画像データや文書データ等のリアルタイム処理を必要としないデータを複数の機器間で転送する際に用いられるデータ転送方法に関する。
【0002】
【従来の技術】
近年、デジタルスチルカメラやプリンタなど静止画像を取り扱う機器の市場拡大が進んでいる。これらの機器は従来パーソナルコンピュータの存在する環境で使用されていたが、近年、これらの機器をコンピュータのない環境で簡単に取り扱いたいというニーズが高まっている。
【0003】
従来では、このような静止画や文書データに代表される、リアルタイム処理を必要としないデータの送受信を2個の機器間で行う場合には、一方の機器がもう一方の機器に対してコマンドを発行することで、データの送信または受信を行うのが一般的であった。
図15は、従来のデータ転送方法による静止画データシステムの第1の例を表すブロック図である。図15において、100は画像入力機器であるデジタルスチルカメラ、101は画像出力機器であるプリンタである。ユーザはデジタルスチルカメラ100の操作ボタンにより、内部の画像を選択し、これをプリンタ101に出力するよう指示を行う。するとデジタルスチルカメラ100がプリンタ101に対して、データ受信コマンド102を発行することでプリンタ101を受信可能状態とし、続いてデータ103の転送を行う。
【0004】
次に、従来のデータ転送方法による静止画データシステムの第2の例を図16に示す。図16においては、プリンタ101の操作パネルをユーザが操作することで、デジタルスチルカメラ100の画像を出力する場合を説明する。ユーザはプリンタ101の操作ボタンにより、デジタルスチルカメラ100上の画像データの出力する指示を行う。するとプリンタ101はデジタルスチルカメラ100に対してデータ送信コマンド104を出力し、このデータ送信コマンド104を受信したデジタルスチルカメラ100はプリンタ101に対してデータ103の転送処理を行う。
【0005】
さらに、従来のデータ転送方法による静止画データシステムの第3の例を図17に示す。図17においては、パーソナルコンピュータやデジタルテレビ用セットトップボックスなど、第3の機器の命令によって画像データをデジタルスチルカメラ100からプリンタ101に転送する場合を説明する。
図17において、105はパーソナルコンピュータを現している。まず、パーソナルコンピュータ105がデジタルスチルカメラ100に対してデータ入力用コマンド104を発行することで、データ103が一旦パーソナルコンピュータ105内に格納される。次に、パーソナルコンピュータ105はプリンタ101に対してデータ出力コマンド102を発行し、先ほどデジタルスチルカメラ100から受信、格納しておいたデータ103をプリンタに送信する処理を行う。すなわち、同じデータ103を(1)デジタルスチルカメラ100からパーソナルコンピュータ105に転送、(2)パーソナルコンピュータ105からプリンタ101に転送、という2段階の処理が必要であり、また同じデータを2回転送する必要が生じるため処理時間がかかる上に、パーソナルコンピュータ105にデータ103を格納するだけの格納領域が必要となり、効率が悪いシステムとなってしまう。
【0006】
そこで、この従来の一般的なデータ転送方法の効率向上を目的としたデータ転送方法として、ANSI X3.131-1986, Small Computer System Interface記載の「COPY コマンド」が提案されている。
図18は、この従来の改良されたデータ転送方法を用いた静止画データシステムの例の動作を説明するものである。
【0007】
図18において、106はパーソナルコンピュータがデジタルスチルカメラ100に対して画像データの転送を指示するCOPYコマンド、107はプリンタ101で発生したエラーをデジタルカメラ100に転送する第1のエラー通知、108はデジタルスチルカメラ100がパーソナルコンピュータ105に、プリンタ101のエラーを転送する第2のエラー通知を表している。
【0008】
まず、パーソナルコンピュータ105はデジタルスチルカメラ100に対して、「プリンタ101に対して画像を転送せよ」という指示を含むCOPYコマンド106を発行する。このCOPYコマンド106には、図15で説明したデータ受信コマンド102の内容が含まれており、同時にプリンタ101の識別子(SCSI ID)も含んでいる。
【0009】
デジタルスチルカメラ100はCOPYコマンド106を受信すると、その中に含まれているプリンタ101の識別子とデータ受信コマンド102の内容を解釈し、プリンタ101に対してデータ受信コマンド102を発行し、それに続いてデータ103をプリンタ101に対して送信する。
このように改良されたデータ転送方法によれば、第3の制御機器がデータ転送を指示しているにもかかわらず、データ103の転送は、デジタルスチルカメラ100からプリンタ101への1回だけであるので、処理の効率が確かに向上している。
【0010】
しかしながら、プリンタ101においてデータ転送中に、用紙切れや紙詰まりなどのエラーが発生し、データ受信を継続することができなくなったときは、図18の第1のエラー通信107に示すように、プリンタ101は、これらのエラー状態をデジタルスチルカメラ100に対して通知する。次に、プリンタ101からのエラー状態の通知を受けたデジタルスチルカメラ100は、図18の第2のエラー通信108に示すように、次は、パーソナルコンピュータ105に対してプリンタ101でのエラーの発生を通知することで、初めてパーソナルコンピュータ105はプリンタ101でのエラー発生を知ることができることになる。
【0011】
すなわち、前記したようなエラー状況において、エラーの発生した機器から直接エラー発生の通知を受けることができず、システム内でエラー通知の伝播を行わなければならないという非効率性を有していた。さらには、パーソナルコンピュータ105はデジタルスチルカメラ100から通知されるエラーが、デジタルスチルカメラ100で発生したものなのか、プリンタ101で発生したものなのかを必ず識別しなければならず、処理内容が複雑であるという課題を有していた。
【0012】
さらに、このようなCOPYコマンド106は、先に説明したデータ受信コマンド102やデータ送信コマンド104などとは異なり、第3の制御機器が存在するときのみに利用されるものであるため、さまざまな機器接続環境あるいはシステム構成に対応するためには、それぞれの機器がこれらの異なる2つの処理体系のコマンドをサポートする必要があった。
【0013】
【発明が解決しようとする課題】
以上説明した通り、従来から一般的である、「一方の機器がもう一方の機器に対してコマンドを発行することでデータの送信または受信を行う」転送方法を用いて、静止画データの転送を行うシステムを考えると、第3の制御機器の介在する環境においては、効率が悪く処理時間が必要以上にかかるシステムとなるという課題を有していた。
【0014】
また、従来の改良されたデータ転送方法を用いた場合でも、エラーが発生したときの処理が非効率的であり、さらには1対1の接続の時に用いられる処理体系と異なるコマンド処理体系の2つの体系をサポートする必要があり、機器に搭載されるソフトウエアの容量が不必要に大きくなり、複雑化するという課題を有していた。
【0015】
本発明は、これらの点に鑑みて、様々なシステム構成に柔軟に対応可能で、処理の効率が良く、エラー処理が簡単なデータ転送方法を提供することを第1の目的とする。
さらに本発明は、データ転送の終了判断を簡単に行え、データ転送開始時にデータ長が分からないデータを転送可能なデータ転送方法を提供することを第2の目的とする。
【0016】
さらに本発明は、制御機器が転送すべきデータのデータ長を計算することなく、簡単な制御でデータを転送可能なデータ転送方法を提供することを第3の目的とする。
さらに本発明は、エラー発生時のデータ再送を簡単に処理可能なデータ転送方法を提供することを第4の目的とする。
【0017】
さらに本発明は、同一のデータを複数の機器に対して効率良く転送するデータ転送方法を提供することを第5の目的とする。
さらに本発明は、同一のデータを複数の機器に送信する時にもデータ送信側の機器の処理が簡単かつ高速に行えるデータ転送方法を提供することを第6の目的とする。
【0018】
さらに本発明は、制御機器のコマンド発行数が最小限とすることで簡単な制御でデータ転送が可能であり、さまざまな処理速度のデータ送信側の機器とデータ受信側の機器との組み合わせに容易に対応可能なデータ転送方法を提供することを第7の目的とする。
さらに本発明は、制御機器がデータブロックのデータ長を管理する必要がないデータ転送方法を提供することを第8の目的とする。
【0019】
さらに本発明は、データ送信側の機器が、受信側の機器の処理能力に応じた転送データブロックのパケット分割を容易に実現可能なデータ転送方法を提供することを第9の目的とする。
さらに本発明は、受信側の機器が内部処理状況に応じて1度に受信するデータ量を可変可能なデータ転送方法を提供することを第10の目的とする。
【0020】
さらに本発明は、非常に速度の遅いデータ送信側の機器やデータ受信側の機器を用いた場合でも、エラー状況と機器の処理待ち状態が正確に区別することが可能なデータ転送方法を提供することを第11の目的とする
【0021】
【課題を解決するための手段】
各ノードに対してノード識別子が割
り当てられるバスシステム上の第1のノードから第2のノードにデータを複数個のデータブロックに分割して転送するに際し、1個のデータブロック転送に先立って、制御ノードは第2のノードに対してデータブロック受信命令を発行し、次に第1のノードに対して、第2のノードのノード識別子を含むデータブロック送信命令を発行することで、第1のノードから第2のノードへのデータブロック転送が実行され、データブロック転送が終了した後に、第1のノードはデータブロック送信処理の実行結果を制御ノードに対して通知し、第2のノードはデータブロック受信処理の実行結果を制御ノードに対して通知するようにしたものである。
[発明の詳細な説明]
【0022】
これにより、様々なシステム構成に柔軟に対応可能で、処理の効率が良く、エラー処理が簡単なデータ転送方法を得ることができる。
【0023】
【発明の実施の形態】
本発明の第1の発明は、各ノードに対してノード識別子が割り当てられるバスシステム上の第1のノードから第2のノードにデータをN個(Nは自然数)のデータブロックに分割して転送するに際し、1個のデータブロック転送に先立って、制御ノードは第2のノードに対してデータブロック受信命令を発行し、次に第1のノードに対して、第2のノードのノード識別子を含むデータブロック送信命令を発行することで、第1のノードから第2のノードへのデータブロック転送が実行され、前記データブロック転送が終了した後に、第1のノードは前記データブロック送信処理の実行結果を制御ノードに対して通知し、第2のノードは前記データブロック受信処理の実行結果を制御ノードに対して通知するものである。これにより、第1のノードから第2のノードのデータ転送を制御する制御ノードを定義し、データを送出する第1のノードに対してデータ送出先のノードの識別子を含む命令を発行することにより、機器の1対1接続の場合だけでなく、第3の制御機器が存在した場合のどちらでも、同一のコマンド体系で、高効率のデータ転送を可能とするものである。さらに、データ転送終了後それぞれのノードから制御ノードに対してデータ送受信処理の実行結果を通知することで、効率よく機器で発生したエラー条件を検出することを可能とする。
【0024】
また、本発明の第2の発明は、1回のデータブロック転送が終了した後、第1のノードが、制御ノードにデータブロック送信処理の実行結果とともに次に転送すべきデータブロックのデータ長を通知するものである。これにより、第1のノードが、制御ノードに次に転送すべきデータブロックのデータ長を通知することにより、制御機器が転送すべきデータのデータ長を計算することなく、簡単な制御でのデータ転送を可能とする。
【0025】
また、本発明の第3の発明は、第1のノードが、データブロック転送の際にエラーを検出したときに、制御ノードにデータブロック送信処理の実行結果とともに、エラーの発生したデータブロックの再送要求を通知するものである。これにより、第1のノードが、データブロック転送の際にエラーを検出したときに、制御ノードにデータブロック送信処理の実行結果とともに、エラーの発生したデータブロックの再送要求を通知することにより、エラー発生時のデータ再送を簡単に処理可能とする。
【0026】
また、本発明の第4の発明は、制御ノードが第1のノードにデータブロック送信指示命令を発行したのち、データブロック転送に先立って、前記第1のノードが前記第2のノードに対して、転送が行われるデータブロックのデータ長を通知するものである。これにより、制御ノードが第1のノードにデータブロック送信指示命令を発行したのち、データブロック転送に先立って、前記第1のノードが前記第2のノードに対して、転送が行われるデータブロックのデータ長を通知することにより、制御機器がそれぞれのデータ長を知らなくともデータ転送制御が行えるため、制御機器の転送処理の簡略化が可能である。
【0027】
また、本発明の第5の発明は、第1のノードからM個(Mは自然数)のノードに対して同一のデータを転送するにあたり、制御ノードは、前記第1のノードに対して、同一のデータブロックの送信指示命令を、データブロックを受信するノードの識別子を変化させながらM回発行し、これらの処理を前記データブロックの数N回(Nは自然数)繰り返す制御を行うものである。これにより、制御ノードが第1のノードに対して、同一のデータブロックの送信指示命令を、データブロックを受信するノードの識別子を変化させながらM回発行し、これらの処理を前記データブロックの数N回(Nは自然数)繰り返す制御を行うことにより、1台から複数台の機器にほぼ同時に同一のデータを配送するシステムを容易に実現可能とする。
【0028】
また、本発明の第6の発明は、前記制御ノードが前記第1のノードに対してデータブロック送信指示命令を発行する際に、その次に発行する予定のデータブロック送信指示命令が、(a)同一のデータブロックを指示するのか、(b)その次のデータブロックを指示するのか、のどちらであるかをあらわすフラグを含むものである。これにより、制御ノードが前記第1のノードに対してデータブロック送信指示命令を発行する際に、その次に発行する予定のデータブロック送信指示命令が、(a)同一のデータブロックを指示するのか、(b)その次のデータブロックを指示するのか、のどちらであるかをあらわすフラグを含むことにより、第1のノードが同じデータブロックを保持した状態でとどまるのか、次のデータブロックを準備する必要があるのかをあらかじめ検出できるため、第1のノードにおける内部処理の効率化が可能である。
【0029】
また、本発明の第7の発明は、1回のデータブロック転送が終了した後、第1のノードは、制御ノードに発行するデータブロック送信処理の実行結果とともに次に転送すべきデータブロックが最後のデータブロックであることを通知するものである。これにより、1回のデータブロック転送が終了した後、第1のノードは、制御ノードに発行するデータブロック送信処理の実行結果とともに次に転送すべきデータブロックが最後のデータブロックであることを通知することにより、データ転送開始時には、全データ長が不明な不定長データの転送を可能とする。
【0030】
また、本発明の第8の発明は、第1のノードから第2のノードへのデータ転送を、(1)前記第2のノードがデータ受信可能な状態を表す通知を前記第1のノードに送信する第1のステップ、(2)前記第1のノードが送信データブロックの準備が完了した時点で、前記第2のノードへデータブロックを転送する動作を行う第2のステップ、(3)前記第1のノードが前記第2のノードに前記データブロックの転送の終了を表す通知を送信する第3のステップ、の上記ステップを繰り返して実行するものである。すなわち、制御ノードから見るとデータの分割が行われない、すなわちN=1となるので、制御ノードが第1のノードおよび第2のノードへ発行するコマンドの発行数が減少するため、制御ノードの処理を簡単にすることが可能である。さらには、第1の機器が送信しようとするデータブロックの準備完了と第2の機器がデータブロック受信の準備完了をそれぞれ相手に通知することにより、さまざまな処理速度のデータ送信側の機器とデータ受信側の機器との組み合わせに容易に対応することが可能となる。
【0031】
また、本発明の第9の発明は、第1のステップでの通知に、第2のノードが第3のステップで受信可能な最大データ長を含むものであり、この情報を元に第1のノードが第2のノードが受信可能なデータブロック長を第2のノードから直接検出できるため、コマンドを発行する制御ノードが、データブロックのデータ長を管理する必要がない簡単なデータ転送が可能となる。
【0032】
また、本発明の第10の発明は、第2のステップでのデータブロック転送が、1個以上のパケットに分割されて転送される場合に、第1のステップでの応答は、第2のノードが1個のパケットで受信可能な最大データ長を含むものであり、この情報を元に第1のノードが第2のステップで転送するデータを、第2のノードの受信能力に応じた最適なパケット分割を容易に行えるため、さまざまなパケット受信能力を持つ機器に容易に対応することが可能となる。
【0033】
また、本発明の第11の発明は、第1のステップでの応答に含まれる、第2のノードが第2のステップで受信可能な最大データ長を、第2のノードの内部処理状況に応じて可変の値を返すことにより、第2のノードのメモリなどの内部資源の最適な管理・活用が可能となる。
また、本発明の第12の発明は、第3のステップのデータブロック長の通知が終了した後、所定時間aを経過した後に、第1のノードが第2のノードからの通知を受信しなかったときは、前記第1のノードはデータ転送を中止する処理を行うものであり、または、a>bである所定時間b以内に前記第2のノードが受信可能な状態にならなかった場合に、前記第2のノードが前記第1のノードに対して、受信不可能な状態を表す通知を送信することで、前記第1のノードは前記第2のノードからの通知待ち状態に移行すると共に、所定時間aの計測をやりなおすことにより、非常に速度の遅いデータ受信側の機器を用いた場合でも、エラー状況と機器の処理待ち状態が正確に区別することを可能とするものである。
【0034】
また、本発明の第13の発明は、第1のステップの通知が終了した後、所定時間cを経過した後に、第2のノードが第1ノードからのデータブロックを受信しなかったときは、前記第2のノードはデータ転送を中止する処理を行うものであり、または、c>dである所定時間d以内に前記第1のノードが送信可能な状態にならなかった場合に、前記第1のノードが前記第2のノードに対して、送信不可能な状態を表す通知を送信することで、前記第2のノードは前記第1のノードからの通知待ち状態に移行すると共に、所定時間cの計測をやりなおすことにより、非常に速度の遅いデータ送信側の機器を用いた場合でも、エラー状況と機器の処理待ち状態が正確に区別することを可能とするものである。
【0035】
以下、本発明の実施の形態について実施例として、図面を参照し説明する。
【0036】
【実施例】
(第1の実施例)
図1は、本発明のデータ転送方法の第1の実施例であるシステムのブロック図である。図1において、1はデジタルスチルカメラなどの画像を送出する機器であるデータ送信ノード(第1のノード)、2はプリンタなど画像を受信する機器であるデータ受信ノード(第2のノード)、3はパーソナルコンピュータやセットトップボックスなどの制御ノードであり、これらの機器は同一のバスシステムに接続されている。
【0037】
本実施例ではバスシステムとしてIEEE Std 1394-1995, Standard for a High Performance Serial Bus(以下、IEEE 1394-1995と記述する)を用い、これに接続された機器間でデータ転送を行う場合を例にとって説明する。
また、4は制御ノード3がデータ受信ノード2に対して発行するデータ受信命令、5は制御ノード3がデータ送信ノード1に対して発行するデータ送信命令であり、6はデータ送信ノード1からデータ受信ノード2に転送されるデータを表している。また、7はデータ送信ノード1がデータ送信命令5の実行結果を制御ノード3に報告するものであるデータ送信命令応答、8はデータ受信ノード2がデータ受信命令4の実行結果を制御ノード3に報告するデータ受信命令応答を表している。
【0038】
ここで、これらのデータ受信命令4、データ送信命令5、データ送信命令応答7、データ受信命令応答8は、IEC-61883, Proposed standard for Digital Interface for Consumer Electronic Audio/Video Equipmentで定義されているFunction Control Protocol(以下、FCPと記述する)を用いてコマンドとレスポンスの伝送を行うものであり、AV/C Digital Interface Command Set(以下、AV/Cコマンドと記述する)の規約に従って実行される。
【0039】
図2は、前記データ送信命令5およびデータ送信命令応答7のデータフォーマットを示すものである。図2において、10はパケットヘッダ部、11はデータブロック(コマンドフレーム)部、12はCRC部であり、これらの10、11、12によりIEEE 1394-1995で定義される非同期ライトパケットを構成する。また、13は16ビットのパケット送出先ノード識別子、14はパケット送出元ノード識別子であり、これらについてもIEEE 1394-1995で定義されているものである。
【0040】
AV/Cコマンドでは、データブロック部11にノードへの命令または命令応答のデータが含まれる。ここで、データ送信命令5とデータ送信命令応答7は、共通のデータ形式を有するもので、データ送信ノード1はデータ送信命令5を受信し、処理を実行した後で、先に受け取っていたデータブロック送信命令5の特定フィールドの値を必要に応じて書き換えた後、このパケットをデータ送信命令応答7として制御ノード3に転送する処理を行うものである。
【0041】
ここで、15はデータ送信指示コマンド、16はデータブロック再送要求ビット、17はエラーコード格納領域、18は最終データブロック通知ビット、19はデータ送信先ノード識別子、20はデータブロック番号、21はデータブロックデータ長をそれぞれ表している。
また、図3は、前記データ受信命令4およびデータ受信命令応答8のデータフォーマットを示すものである。図3の構成要素は、図2のデータ形式と共通部分が多いので、同様の意味を持つデータフィールドの説明は省略する。図3において、22はデータブロック受信を指示するデータブロック受信コマンドコード、23はデータ送信元ノード識別子である。
【0042】
以下、制御ノード3の制御のもとでデータをデータ送信ノード1からデータ受信ノード2に転送する際の動作について説明する。なお、本実施例では、一枚の静止画データを複数のデータブロックに分割して、それぞれを順次転送する場合を例にとって説明する。
図4は、静止画データの分割方法を表すものである。図4において、24は送信ノード1の内部に記憶されている、容量が150kBの静止画データであり、この静止画データ24は最大容量が32kBである5個のデータブロックに分割される。図4において、25は0番のデータブロック、26は1番のデータブロック、27は2番のデータブロック、28は3番のデータブロックであり、これらデータブロック25〜28のデータ長は、32kBである。また、29は最後のデータブロックに相当する4番のデータブロックであり、データブロック29のデータ長は22kBとなる。
【0043】
次に、図1を用いて、0番のデータブロック25を送信ノード1から受信ノード2に転送する処理を例にとってその動作を説明する。
まず、制御ノード3は受信ノード2に対して、図3のパケット形式を持つ、データ受信命令4を発行する。このときに発行されるパケットの各データフィールドの値を(表1)に示す。ここでは、データブロック番号20に0を設定し、0番データブロック25の転送を命令していることを表しており、そのデータブロックデータ長21は32kBと設定されている。また、エラーコード格納領域17については、データ受信ノード2が制御ノード3にデータ受信命令応答8を発行するときに、このフィールドに発生したエラーを表すエラーコードを設定するために設けられている。したがって、データ受信命令4においては、このフィールドの値が無効であることを表す、16進数のFFが格納される。
【0044】
【表1】

Figure 0003719253
【0045】
データ受信命令4を受信したデータ受信ノード2は、制御ノード3に対してデータ受信命令4の発行が成功したことを通知した後、データ送信ノード1からのデータ送信待ち状態になる。
次に、制御ノード3は、データ受信命令4の発行が成功したことを確認した後、データ送信ノード1に対して、図2のパケット形式を持つ、データ送信命令5を発行する。このときに発行されるパケットの各データフィールドの値を(表2)に示す。ここでデータ受信命令4と同様の意味を持つフィールドについては説明を省略する。
【0046】
【表2】
Figure 0003719253
【0047】
ここで、データブロック再送要求ビット16は0に設定されており、このデータブロックの転送が正常終了したら、次のデータブロック(この場合は1番のデータブロック26)の転送が行われる予定であることを表している。また、最終データブロック通知ビット18は、指示されたデータブロックの転送が終了した後、データ送信ノード1が制御ノード3にデータ送信命令応答8を発行するときに、次の処理で転送する予定のデータブロックが最後のデータブロックであったときに1にセットされ、そうでなければ0にセットされるものであるので、データ送信命令5においては、このフィールドの値が無効であることを表すため、ビットを1にセットしておく。
【0048】
データ送信命令5を受信したデータ送信ノード1は、制御ノード3に対してデータ送信命令5の発行が成功したことを通知した後、データ受信ノード2に対して、0番データブロック25の転送を開始する。
ここでのデータブロックの転送は、連続して発行される1個以上の、IEEE 1394-1995の非同期ライトパケットに分割されて送信される。
【0049】
なお、IEEE 1394-1995では、非同期ライトパケットに対して、ACKパケットが受信側から返されるので、非同期ライトパケットが受信側に正しく送信できたかどうかを送信側が確認することが可能であり、正しく送信できていなかった場合には、前記パケットの再送処理を行うことが可能である。
さらに、IEEE 1394-1995の非同期ライトパケットは、パケット送信ノードのノード識別子をそのパケットヘッダ部に含むので、ここでデータ受信ノード2に対して、データ送信ノード1以外の他のノードからのデータ転送が行われても、データ受信ノード2はこれらのデータを無視する処理を行う。
【0050】
また、これらの非同期ライトパケットには、受信ノード2のアドレス空間に含まれるデータ受信バッファ領域を指し示すオフセットアドレスを含む。
このデータ受信バッファ領域の先頭アドレスは、これらの処理に先立って発行されるAV/Cコマンドにより取得され、データ送信ノード1にあらかじめ通知されているものとする。ここで送信される1つ以上の非同期ライトパケットの最初のパケットに含まれるオフセットアドレスは、前記データ受信バッファ領域の先頭アドレスであり、その次のパケットに含まれるオフセットアドレスは、前記データ受信バッファ領域の先頭アドレスに、最初のデータパケットのデータ長を加えたアドレスに設定される。
【0051】
このように、1個のデータブロックは、データ受信ノード2のデータ受信バッファ領域の先頭から順にアドレスを増加させていった形のオフセットアドレスを含むものであり、パケットの再送とは、同一のオフセットアドレスを持つパケットを複数回送信することで実現することができる。
次に、0番のデータブロック25の転送を成功裏に終了したデータ送信ノード1は、すでに受信しているデータ送信命令5のデータブロック再送要求ビット16が0に設定されていたことを確認し、次回に要求されるデータブロックは、0番のデータブロック25の、次のデータブロックにあたる、1番のデータブロック26であることを認識する。そこで1番のデータブロック26のデータブロックデータ長が32kBであり、これが最後のデータブロックではないことも認識する。
【0052】
そこで、データ送信ノード1はこれらの情報を含む、データ送信命令応答7を制御ノード3に対して発行する。
ここで、データ送信命令応答は、図2のパケット形式からなり、その主要なデータフィールドの値を(表3)に示す。これらの値の内容については、基本的には(表2)の値がそのまま返されるが、パケット送信ノード識別子とパケット受信ノード識別子が入れ替わっており、データ送信ノード1から制御ノード3へのパケットであることを表している。また、データ転送中にエラーが発生していなかったので、エラーコード格納領域17にはエラーなしのコードが設定されている。また、次に送るべきデータブロックは、32kBのデータブロック長を持つ、1番データブロック26であるので、データブロック番号20には1が、データブロックデータ長21には32kBがそれぞれ設定されている。
【0053】
【表3】
Figure 0003719253
【0054】
一方で、0番のデータブロック25を成功裏に受信完了したデータ受信ノード2は、受信した0番のデータブロック25の処理を開始する。たとえば、データ受信ノード2がプリンタ機器であった場合は、受信ブロックデータを内部のプリンタエンジンに転送し、印刷処理を開始する。
0番のデータブロック25の処理を完了した時点で、データ受信ノード2はデータ受信命令応答87を制御ノード3に対して発行する。
【0055】
ここで、データ受信命令応答8は図3のパケット形式からなり、その主要なデータフィールドの値を(表4)に示す。これらの値の内容については、基本的には(表1)の値がそのまま返されるが、パケット送信ノード識別子とパケット受信ノード識別子が入れ替わっており、データ受信ノード2から制御ノード3へのパケットであることを表している。また、データ転送中にエラーが発生していなかったので、エラーコード格納領域17にはエラーなしのコードが設定されている。
【0056】
【表4】
Figure 0003719253
【0057】
なお、データ送信ノード1から制御ノード3に返されるデータ送信命令応答7と、データ受信ノード2から制御ノード3に返されるデータ受信命令応答8は、どちらが先に発行されるかは、データ送信ノード1とデータ受信ノード2の処理速度に応じて変化するため、制御ノード3は、これら2つのノードからの応答を待つ必要がある。
【0058】
制御ノード3が、双方のノードから応答を受信した時点で、0番のデータブロック25の転送が完了する。
次に、制御ノード3は、次のデータブロックである、1番データブロック26の転送処理を開始するが、先にデータ送信ノード1から受信しているデータ送信命令応答7のデータブロック番号20に、次に送るべきデータブロック番号である1が、データブロックデータ長21には1番データブロック26のデータブロックデータ長である32kBの値がそれぞれ格納されているので、これらの値を用いて、1番データブロック26の転送処理を開始することができる。
【0059】
このように、毎回データ送信ノード1に対して次のデータブロックの長さを確認する必要がないので、制御ノード3がデータ転送処理を簡単に行うことができる。
次に、図1を用いて、データブロックの転送中に、データ受信ノード2でエラーが発生した場合の処理について説明する。ここでは、プリンタ機器であるデータ受信ノード2で紙詰まりが発生した場合を例として説明する。
【0060】
0番データブロック25を転送中に、データ受信ノード2で紙詰まりが発生したため、データ受信ノード2がデータの受信を継続できなくなったと判断した。すると、データ受信ノード2は、制御ノード3に対して、エラーが発生したことを通知するデータ受信命令応答8を発行する。そのパケット形式は図3の形式をとるが、エラーコード格納領域17に紙詰まりエラーのエラーコードが設定される。
【0061】
一方、データ送信ノード1は、突然データ受信ノード2がデータ受信を行わなくなったことを検出し、データブロックの送信を中止して、制御ノード3に対して、エラーが発生したことを通知するデータ送信命令応答7を発行する。そのパケット形式は図2の形式をとり、図2の各データフィールドに設定される値を(表5)に示す。
【0062】
【表5】
Figure 0003719253
【0063】
エラーコード格納領域17には、伝送タイムアウトエラーのエラーコードが設定される。さらに、エラーが発生したため0番データブロック25の転送が失敗したため、図2のデータブロック番号20のフィールドには0が、データブロックデータ長21のフィールドには32kBがそれぞれ設定され、次の転送は0番データブロック25を行うよう、制御ノード3に要求していることを意味している。
【0064】
そこで、制御ノード3が、データ受信ノード2での紙詰まりエラーの解除を検出したあと、先にデータ送信ノード1から送られたデータブロック番号20とデータブロックデータ長21の値を用いて転送を再開する。
このように、データの送受信を行っているノードで何らかのエラーが発生した場合でも、これらのエラーの通知は、直接制御ノード3に発行される。
【0065】
また、エラーが発生したときに、データ送信ノード1がエラーの発生したデータブロックの番号とそのデータブロックデータ長を制御ノード3に通知するため、制御ノード3はこれらの情報を元にデータブロックの転送のやり直しを簡単な処理で行うことができる。
以上説明した手順を繰り返すことで、データブロックをデータ送信ノード1からデータ受信ノード2に順次転送していく。
【0066】
次に、データ転送の終了時の動作について説明する。
データ送信ノード1が、3番のデータブロック28の送信を成功裏に終了した時点で、データ送信ノード1は、すでに受信しているデータ送信命令5のデータブロック再送要求ビット16が0に設定されていたことを確認し、次回に要求されるデータブロックは、3番のデータブロック28の、次のデータブロックにあたる、4番のデータブロック29であることを認識する。さらに、4番のデータブロック29のデータブロックデータ長が22kBであり、これが最後のデータブロックであることも認識する。
【0067】
そこで、データ送信ノード1は、これらの情報を含む、データ送信命令応答7を制御ノード3に対して発行する。
ここで、データ送信命令応答は、図2のパケット形式からなり、その主要なデータフィールドの値を(表6)に示す。これらの値の内容については、基本的には(表2)の値がそのまま返されるが、次に送るべきデータブロックは、22kBのデータブロック長を持つ、4番データブロック29であるので、データブロック番号20には4が、データブロックデータ長21には22kBがそれぞれ設定されている。さらに、次に転送する予定のデータブロックである、4番のデータブロック29は最後のデータブロックであるので、最終データブロック通知ビット18が1にセットされる。
【0068】
【表6】
Figure 0003719253
【0069】
前記データ送信命令応答7を受信した制御ノード3は、次のデータブロックの転送が最後の転送処理であることを、最終データブロック通知ビット18のビットが1にセットされていることから検出し、次の4番のデータブロック29の転送処理を行った後、全体の処理を終了する。
ここで、制御ノード3は、全体のデータ転送の回数を意識することなく、データ送信ノード1から発行されるデータ送信命令応答7の最終データブロック通知ビット18が0であれば次々とデータブロック転送処理を行い、1であればその次のデータブロック転送処理で処理を終了すれば良いため、制御ノード3があらかじめデータブロックの数を計算しておく必要がないため、制御処理が非常に簡単である。さらには、データの転送開始時にはそのデータ長がわからないような不定長データの転送も容易に実現可能である。
【0070】
(第2の実施例)
次に、本発明の第2の実施例について説明する。図5は本発明のデータ転送方法の第2の実施例であるシステムのブロック図である。なお、本実施例は、図1に示した第1の実施例と基本的には同等であるので、システムの構成要素およびその動作に関する詳細な説明は省略する。
【0071】
図5に示した第2の実施例が、先に説明した第1の実施例と異なる点は、制御ノード3がデータ送信ノード1と同一のノードである点である。
図5においては、図1で図示されていた、データ送信命令5およびデータ送信命令応答7については、内部的に処理されるため、バス上にこれらのパケットデータは送信されない。
【0072】
一方で、データ受信ノード2に対して発行されるデータ受信命令4は、図3で説明した第1の実施例の場合のパケット形式とまったく同じ形式をとる。ここで第1の実施例と本実施例の相違点は、パケット送出元ノード識別子13の値とデータ送信元ノード識別子23の値が同じ値となる点のみである。
この点を除けば、この第2の実施例の動作およびデータ受信ノード2の制御方法に関しては、先に説明した第1の実施例とまったく同じ処理でデータ転送処理を行うことが可能である。
【0073】
(第3の実施例)
次に、本発明の第3の実施例について説明する。図6は本発明のデータ転送方法の第3の実施例であるシステムのブロック図である。なお、本実施例は、図1に示した第1の実施例と基本的には同等であるので、システムの構成要素およびその動作に関する詳細な説明は省略する。
【0074】
図6に示した第3の実施例が、先に説明した第1の実施例と異なる点は、制御ノード3がデータ受信ノード2と同一のノードである点である。
図6においては、図1で図示されていた、データ受信命令4およびデータ受信命令応答8については、内部的に処理されるため、バス上にこれらのパケットデータは送信されない。
【0075】
一方で、データ送信ノード1に対して発行されるデータ受信命令5は、図2で説明した第1の実施例の場合のパケット形式とまったく同じ形式をとる。ここで第1の実施例と本実施例の相違点は、パケット送出先ノード識別子13の値とデータ送信先ノード識別子19の値が同じ値となる点のみである。
この点を除けば、この第3の実施例の動作およびデータ送信ノード1の制御方法に関しては、先に説明した第1の実施例とまったく同じ処理でデータ転送処理を行うことが可能である。
【0076】
以上、本発明の第1〜第3の実施例を比較することで、制御ノード3の制御の元で、データ送信ノード1からデータ送信ノード2へデータを転送するデータ転送方法を定義することで、様々なシステム構成に柔軟に対応可能で、かつ処理効率の良いシステムを構築することが可能となることがわかる。
(第4の実施例)
次に、本発明の第4の実施例について説明する。図7は、本発明の第4の実施例を説明するブロック図であり、1つのデータを複数のノードに並列に転送するシステムを表している。図7において、1はデータ送信ノード、3は制御ノード、5はデータ送信命令、7はデータ送信命令応答、200は第1のデータ受信ノード、201は第2のデータ受信ノード、202は第3のデータ受信ノードである。また、300は第1のデータ受信ノードに転送されるデータブロック、301は第2のデータ受信ノードに転送されるデータブロック、302は第3のデータ受信ノードに転送されるデータブロックである。
【0077】
次に、図7を用いて、本発明の第4の実施例の動作について説明する。なお、図7では説明を簡単にするために、制御ノード3からデータ受信ノードに発行されるデータ受信指示命令およびデータ受信ノードから制御ノード3に発行されるデータ受信指示命令応答を省略している。
ここでは、データ送信ノード1に存在する3番のデータブロック28を200から202までの3つのデータ受信ノードへ転送する処理を表している。
【0078】
まず、制御ノード3はデータ送信ノード1に3番目のデータブロックを第1のデータ受信ノード200に送信するデータ送信命令5を発行する。第1のデータ受信ノード200へのデータブロックの転送が完了したら、次に制御ノード3は送信ノード1に同じ3番目のデータブロックを第2のデータ受信ノード201に送信するデータ送信命令5を発行する。第2のデータ受信ノード201へのデータブロックの転送が完了したら、最後に制御ノード3は送信ノード1に同じ3番目のデータブロックを第3のデータ受信ノード202に送信するデータ送信命令5を発行する。第3のデータ受信ノード202へのデータブロックの転送が完了したら、次は第4のデータブロックについて、転送命令を順次発行する処理を行う。
【0079】
このような制御ノード3の動作により、単一のデータを並列に複数のデータ受信ノードに転送することが可能であり、データ送信ノード1がテープ機器のような、送信用データブロックを準備するのに長い時間がかかる機器や、データ転送速度の遅い機器である場合には、データブロックを準備する回数が直列処理を行う場合に比べて少なくなるため、トータルの処理時間が少なくなるという利点がある。
【0080】
また、図7で制御ノード3がデータ送信ノード1に発行するデータ送信命令のパケットのデータフィールドの値を(表7)に示す。(表7)には第1のデータ受信ノード200へのデータ送信命令と、第2のデータ受信ノード201へのデータ送信命令と、第3のデータ受信ノード202へのデータ送信命令のそれぞれのデータフィールドの値を説明している。ここでデータブロック再送要求ビット16の値が第1のデータ送信命令と第2のデータ送信命令では1にセットされており、第3のデータ送信命令では0が設定されている。(表8)にこれらのデータ送信命令に対するデータ送信指示命令応答のパケットのデータフィールドの値を示す。(表8)において、データブロック再送要求ビット16が1の状態でデータ送信指示命令が発行されていたため、第1のデータ受信ノードおよび第2のデータ受信ノードの場合はデータブロック番号は命令と同じ3が返っており、データブロックデータ長は32kBが返っている。一方、第3のデータ受信ノードではデータブロック再送要求ビット16が0の状態でデータ送信指示命令が発行されていたため、データブロック番号は4が返っており、データブロックデータ長は22kBが返っている。また、最終データブロック通知ビットに1がセットされ、次が最後のデータブロックであることを示している。
【0081】
【表7】
Figure 0003719253
【0082】
【表8】
Figure 0003719253
【0083】
ここで、データ送信ノード1は、データブロック再送要求ビット16に1がセットされているときは、次のデータブロックの転送準備を行わず、直前に転送したデータブロックを保持し、データブロック再送要求ビット16に0がセットされているときは、次のデータブロックの転送準備を行う動作をする。
すなわち、データブロック再送要求ビット16を設けることにより、本実施例のように同一のデータを複数のデータ受信ノードに送信する時にもデータ送信ノードの処理を簡単かつ高速に行うことができる。
【0084】
(第5の実施例)
次に、本発明の第5の実施例について説明する。図8は、本発明の第5の実施例の動作を説明する図であり、1つのデータを転送する際に、データブロックの分割を行わないシステムの動作を表している。ここでは、図4に示すような、容量が150KBの一枚の静止画データを転送する場合を例にとって説明する。本実施例では、データ送信ノード1とデータ受信ノード2との間でデータブロックへの分割処理が行われるものであり、制御ノード3はデータブロックへの分割に関与しない。なお、本実施例のシステム構成要素は、基本的には図1で説明したものと同一であるので、その説明を省略する。以下、図8を用いて本発明の第5の実施例の動作を説明する。
【0085】
まず、制御ノード3は、送信ノード1に対してデータ送信命令5を発行することで、データ送信処理の準備を指示する。次に制御ノード3は、データ受信ノード2に対してデータ受信命令4を発行することで、データ送信処理の開始を指示する。ここでデータ送信ノード1からデータ送信ノード2へのデータ転送処理6が実行され、一枚の静止画データが転送される。なお、データ転送処理6の詳細については後述する。
【0086】
データ転送処理6を終了した送信ノード1は、データの転送処理の実行結果を含む、データ送信命令応答7を制御ノード3に送信する。また、データ転送処理6を終了した受信ノード2は、データ転送処理の実行結果を含む、データ受信命令応答8を制御ノードに転送する。以上の手順により1枚の静止画データが転送される。
【0087】
なお、データ送信命令応答7およびデータ受信命令応答8のどちらが先に発行されるかは、データ送信ノード1の処理速度とデータ受信ノード2の処理速度とのバランスにより決定されるものであり、本実施例とその順番が入れ替わることもありうる。
図9は、本実施例のデータ送信命令5およびデータ送信命令応答7のデータフォーマットを示すものである。図9の構成要素は、図2に示した本発明の第1の実施例と共通部分が多いので、同様の意味を持つデータフィールドの説明は省略する。図9において、10はパケットヘッダ部、11はデータブロック(コマンドフレーム)部、12はCRC部である。また、13は16ビットのパケット送出先ノード識別子、14はパケット送出先ノード識別子であり、これらにより、IEEE 1394-1995の非同期ライトパケットを構成する。
【0088】
また、15はデータ送信指示コマンド、17はエラーコード格納領域、19はデータ送信先ノード識別子をそれぞれ表しているものである。
ここで、図9の本実施例のデータ送信命令と、図2の第1の実施例のデータ送信命令とを比較すると、データブロック再送要求ビット16、最終データブロック通知ビット18、データブロック番号20、データブロックデータ長21の情報を含んでおらず、より簡単なフォーマットになっていることがわかる。
【0089】
また、図10は、本実施例の前記データ受信命令4およびデータ受信命令応答8のデータフォーマットを示すものである。図10の構成要素は、図3のデータ形式と共通部分が多いので、同様の意味を持つデータフィールドの説明は省略する。図10において、22はデータブロック受信を指示するデータブロック受信コマンドコード、23はデータ送信元ノード識別子である。
【0090】
ここで、図10の本実施例のデータ受信指示命令と、図3の第1の実施例のデータ受信指示命令を比較すると、データブロック番号20およびデータブロックデータ長21の情報を含んでおらず、より簡単なフォーマットになっていることがわかる。
次に、本実施例のデータ転送処理の詳細を説明する。図11は、本発明の第5の実施例のデータ転送処理の動作の一部を表す図であり、図8のデータ転送処理6の先頭部分の処理内容を説明するものである。
【0091】
なお、本実施例のデータ受信ノード2は、受信用のデータバッファを内蔵しており、その容量は256kバイトであるとする。また、データ受信ノード2が受信可能な、IEEE 1394-1995の非同期ライトパケットの最大データ長は256バイトであり、データ送信ノード1が送信可能な、IEEE 1394-1995の非同期ライトパケットの最大データ長は32kバイトであるとする。
【0092】
また、本実施例では、データ受信ノード2からデータ送信ノード1への通知およびデータ受信ノード1からデータ送信ノード2への通知を行うにあたり、32ビット長のデータを含む、IEEE 1394-1995の非同期ライトパケットを発行する。データ受信ノード2からデータ送信ノード1への通知に用いられるのパケットの32ビットのデータの形式は、以下の(表9)の通りである。
【0093】
【表9】
Figure 0003719253
【0094】
ここで、「状態フィールド」に設定される値とその意味は以下の(表10)の通りである。
【0095】
【表10】
Figure 0003719253
【0096】
データ送信ノード1からデータ受信ノード2への通知に用いられるのパケットの32ビットのデータの形式は、以下の(表11)の通りである。
【0097】
【表11】
Figure 0003719253
【0098】
ここで、「状態フィールド」に設定される値とその意味は以下の(表12)の通りである。
【0099】
【表12】
Figure 0003719253
【0100】
ここで、図11を用いて本実施例のデータ転送処理の動作について説明する。図11において、まず、Aに示すように、制御ノード3からのデータ送信指示命令を受信したデータ送信ノード1は、送信しようとするデータブロックの準備を開始する。また一方で、Bに示すように、制御ノード3からのデータ受信指示命令を受信したデータ受信ノード2は、データ送信ノード1からのデータ受信の準備を行う。
【0101】
次に、ステップ1に示すとおり、データ受信ノード2は、データ受信の準備が完了した時点で、データ送信ノード1に対してデータ受信ノード2が受信可能なデータのサイズを通知する。
ここで、ステップ1で送信されるパケットの値は、以下の通りである。
【0102】
【表13】
Figure 0003719253
【0103】
次に、ステップ1の通知をデータ受信ノード2から受け取ったデータ送信ノード1は、送信データブロックの準備が完了した(図11中のC)後に、ステップ2に示すとおりデータブロック転送を開始する。ここで、データ送信ノード1は、データ受信ノード2が受信可能なデータブロックデータ長が64Kバイトであることから、転送を行うデータブロックデータ長をこの値以下に設定する。この場合には、データ送信ノード1が送信可能な最大データパケットのデータ長が32KBであり、データ送信ノード2は1回のデータブロック転送で32Kバイトを転送しようとしていることになる。
【0104】
次に、ステップ3に示すように、データ送信ノード1はデータ受信ノード2のバッファ領域に対する非同期ライトパケットを連続して送信することで、データブロック転送を開始する。
このステップ3において、データブロックは複数のパケットに分割して送信される。ここでデータ送信ノード1は、先のステップ1での通知から、データ受信ノード2は、最大パケットのデータ長が256バイトであることがあらかじめ分かっているので、32Kバイトのデータブロックをそれぞれ256バイトのパケットに分割する。すなわち本実施例では128個のパケットが送信される。
【0105】
また、これらの非同期ライトパケットには、データ受信ノード2のアドレス空間に含まれるデータ受信バッファ領域を指し示すオフセットアドレスを含み、これらのオフセットアドレスは、データ受信バッファ領域の先頭アドレスから、順にインクリメントされるものであることは、第1の実施例と同様である。
次に、データブロック転送が終了したら、ステップ3に示すとおり、データ送信ノード1は、転送したデータ長を含むパケットを送信することで、データブロック転送の終了をデータ受信ノード2に通知する。
【0106】
この時のパケットに含まれる情報は以下の通りである。
【0107】
【表14】
Figure 0003719253
【0108】
ステップ3の通知が終了したら、データ送信ノード1は、Dに示すように、次のデータブロック転送に備えた準備を開始する。一方、データ受信ノード2は、Eに示すように、先ほど受信したデータブロックの処理を開始する。本実施例ではデータ受信ノード2はプリンタユニットであるので、図示しないバッファ領域に格納されたデータブロックを、プリンタ印写エンジンに送出する処理を開始する。
【0109】
次に、データ受信ノード2がデータブロックの処理を終了した段階で、ステップ1aに示すように、次のデータブロックを受信する準備ができたことを通知する。なお、ここでの通知においては、ステップ1と同様のパケットが送信される。
また、Fに示すように、次のデータブロックの準備が完了した段階で、データ送信ノード1はステップ2aに示すように、次のデータブロックのデータブロックの転送を開始する。
【0110】
ここで、再びデータブロックが複数のパケットに分割され送信されるが、これらのパケットに含まれる受信ノード2のオフセットアドレスもまた、前回のデータブロック転送と同様に、データ受信バッファ領域の先頭アドレスから順にインクリメントされるものである。
このように、以上説明したステップ1からステップ3の動作を繰り返すことで、1枚の静止画データが複数のデータブロックに分割されて転送される。
【0111】
次に、最後のデータブロックの処理を説明する。図12は、最後のデータブロックの転送処理が終わった後の終了動作を説明する図である。
ステップ3のデータブロックの転送が終了した後、データ送信ノード1は次のデータブロックの準備を始めるが、Gで表されるように、送信するデータがないことがわかる。
【0112】
次に、データ受信ノード2は、ステップ1の通り受信可能サイズの通知を送信してくるので、これに応答してステップ3bで、データ送信ノード1は、転送終了指示を送信する。
この時のパケットに含まれる情報は以下の通りである。
【0113】
【表15】
Figure 0003719253
【0114】
次に、ステップ3bの通知を受けたデータ受信ノード2は、ステップ1bに示されるように、転送終了の受領の通知を送信する。
このときのパケットに含まれる情報は以下のとおりである。
【0115】
【表16】
Figure 0003719253
【0116】
そこで、Hに示されるように、ステップ1bの通知を受信したデータ送信ノード1は、制御ノード3に対してデータ送信指示命令の応答を通知することで、1枚の画像の送信処理を終了する。なおこのHは、図8のデータ送信命令応答7に相当する。
また、Iに示されるように、ステップ1bの通知を送信したデータ受信ノード2は、制御ノード3に対してデータ受信指示命令の応答を通知することで、一枚の画像の受信処理を終了する。なおこのIは、図8のデータ受信命令応答8に相当する。
【0117】
このように、データ送信ノード1からデータ受信ノード2へのデータ転送を、
(1)前記第2のノードがデータ受信可能な状態を表す通知を前記第1のノードに送信する第1のステップ、
(2)前記第1のノードが送信データブロックの準備が完了した時点で、前記第2のノードへデータブロックを転送する動作を行う第2のステップ、
(3)前記第1のノードが前記第2のノードに前記データブロックの転送の終了を表す通知を送信する第3のステップ、
の上記ステップを繰り返して実行することにより、制御ノードがデータ送信ノードおよびデータ受信ノードのそれぞれへ発行するコマンドの発行数が1個ずつで済むため、制御ノードの処理を簡単にすることが可能である。さらには、データ送信ノードが送信しようとするデータブロックの準備の完了と、データ受信ノードがデータブロック受信の準備完了をそれぞれ相手に通知することにより、さまざまな処理速度のデータ送信機器とデータ受信機器との組み合わせに容易に対応することが可能となる。
【0118】
また、第1のステップでの通知に、データ受信ノードが第2のステップで受信可能な最大データブロックデータ長を含むことにより、この情報を元にデータ送信ノードがデータ受信ノードが受信可能なデータブロック長を直接検出できるため、コマンドを発行する制御ノードが、データブロックのデータ長を管理する必要がない簡単なデータ転送が可能となる。
【0119】
また、第2のステップでのデータブロック転送が、1個以上のパケットに分割されて転送される場合に、第1のステップでの通知が、データ受信ノードが1個のパケットで受信可能な最大データ長を含むことにより、データ送信ノードが第2のステップで転送するデータを、データ受信ノードの受信能力に応じてパケット分割を容易に行えるため、さまざまなパケット受信能力を持つ機器に容易に対応することが可能となる。
【0120】
なお、本実施例では、データ受信ノード2の最大データブロックサイズおよび最大パケットデータ長が変化しない場合を例にとって説明したが、データ受信ノード2の内部処理状況に応じて、これらの値を可変とすることも可能である。
例えば、データ送信ノード1が、最大256Kバイトのデータブロックを送信するだけの能力を有しており、一方、データ受信ノード2は最大256Kバイトの最大データブロックを受信するだけの能力を有しているにもかかわらず、データ受信処理を同時に2つ処理していたため、データ送信ノード1には、128Kバイトの処理能力であるという応答を返している。この場合は、データブロックサイズが128Kバイトのデータ転送処理が行われる。
【0121】
ここで、データ受信ノード2が処理していたもう1つのデータ受信処理が完了した時点で、いままで利用できなかった128Kバイトのメモリが利用できるようになった後に、データ受信ノード2は、通知する最大データブロックサイズを128Kバイトから256Kバイトに変更する。次にデータ送信ノード1は、データ受信ノード2が256Kバイトの受信が可能になったことを検出すると、データ受信ノード2は256Kバイトのデータブロックのデータ転送処理を開始することができる。
【0122】
また、同様にデータ受信ノード2が最大パケットデータ長を変化させることにより、データ送信ノード1が、もっとも大きいデータ長を持つデータパケットを送信することにより、より効率の良いデータ転送を実現することができることは、いうまでもない。
このように、第1のステップでの通知に含まれる、第2のノードが第2のステップで受信可能な最大データ長を、第2のノードの内部処理状況に応じて可変の値を返すことにより、第2のノードのメモリなどの内部資源の最適な管理・活用が可能となる。
【0123】
次に、データ受信ノード2が非常にデータ処理速度の遅い機器であったときの動作およびデータ受信ノード2が反応不可能になった場合のエラー処理について、図13を用いて説明する。
図13において、ステップ3で表されるデータブロック長の通知が行われ、データブロックの転送が終了した後、データ受信ノード2はデータブロックの処理を開始する。これと同時に、データ送信ノード1は、内部のタイマーをスタートさせ、時間計測を開始する。データ送信ノード1は時間aを経過しても、データ受信ノード2からの応答がないときには、データ受信ノード2が、反応不可能なエラー状態になったと判断する処理を行う。
【0124】
ここでデータ受信ノード2が、a>bである、時間bが経過した後も、データの処理を完了できなかったときは、ステップ1c−1で表される受信不可能状態の通知を発行する。このステップ1c−1で送信されるパケットに含まれる情報は以下の通りである。
【0125】
【表17】
Figure 0003719253
【0126】
ステップ1c−1の通知を受信したデータ送信ノード1は、タイマーの値をリセットさせ、再び時間計測を開始する。
ここで、ステップ1c−1の通知から時間bが経過するまえに、データ受信ノード2がデータ受信準備完了状態になった場合には、図11のステップ1で表される受信可能サイズの通知を行い、以降は図11の手順に従って処理を継続する。
【0127】
しかしながら、さらに時間bが経過しても、まだデータの処理が完了していないときには、ステップ1c−2に示されるような受信不可能状態の通知を発行する。なお、ここで発行されるパケットは、ステップ1c−1と同等のものである。
ここで再びデータ送信ノード1は、タイマーをリセットして、時間計測をやり直す。
【0128】
ここで、Jに示すような、ステップ1c−2の通知を行った後、データ受信ノード2が反応不可能になるような致命的エラーが発生した場合には、データ送信ノード1はステップ1c−2の通知から時間aが経過した後、データ受信ノード2が反応不可能な状況になったことを検出し、Kに示すように、制御ノード3に送信処理が失敗したことを通知し、データ転送処理が中止される。
【0129】
Kの通知を受け取った制御ノード3は、データ受信ノード2の状態を調査し、必要なエラー状態を取得する。また、制御ノード3がデータ受信ノード2の状態を調査しようとしても、データ受信ノード2が、やはり反応しないような場合には、ユーザに対してデータ受信ノード2が無反応状態のエラーになったことを通知するなどの処理を行う。
【0130】
なお、図には示していないが、Jの段階で、データ受信ノード2がエラー発生を検出し、かつデータ送信ノード1への応答が可能であったときには、以下に示すようなパケットを送信することで、データ転送を中断することも可能である。
【0131】
【表18】
Figure 0003719253
【0132】
このような場合には、データ送信ノード1とデータ受信ノード2の両方が、制御ノード3に対して、エラーの発生を通知する処理を行う。
以上説明したように、第3のステップのデータブロック長の通知が終了した後、所定時間aを経過した後に、第1のノードが第2のノードからの通知を受信しなかったときは、前記第1のノードはデータ転送を中止する処理を行うものであり、または、a>bである所定時間b以内に前記第2のノードが受信可能な状態にならなかった場合に、前記第2のノードが前記第1のノードに対して、受信不可能な状態を表す通知を送信することで、前記第1のノードは前記第2のノードからの通知待ち状態に移行すると共に、所定時間aの計測をやりなおすことにより、非常に速度の遅いデータ受信側の機器を用いた場合でも、エラー状況と機器の処理待ち状態が正確に区別することが可能となる。
【0133】
次に、データ送信ノード1が非常にデータ処理速度の遅い機器であったときの動作およびデータ送信ノード1が反応不可能になった場合のエラー処理について、図14を用いて説明する。
図14において、ステップ3で表されるデータ転送長の通知が終了した後、データ受信ノード2は、受信したデータブロックの処理を行い、ステップ1に示されるとおり、受信可能サイズの通知および受信準備完了の通知を行う。
【0134】
一方、データ送信ノード1はステップ3のデータブロックの転送が終了した後、次のデータブロックの準備を開始する。ステップ1の通知を受信したと同時に、データ送信ノード1は、内部のタイマーをスタートさせ、時間計測を開始する。データ受信ノード2は時間cを経過しても、データ送信ノード1からの応答がないときには、データ送信ノード1が、反応不可能なエラー状態になったと判断する処理を行う。
【0135】
ここでデータ送信ノード1が、c>dである、時間dが経過した後も、データの準備を完了できなかったときは、ステップ2c−1で表される送信不可能状態の通知を発行する。このステップ2c−1で送信されるパケットに含まれる情報は以下のとおりである。
【0136】
【表19】
Figure 0003719253
【0137】
ステップ2c−1の通知を受信したデータ受信ノード2は、タイマーの値をリセットさせ、再び時間計測を開始する。
ここで、ステップ2c−1の通知から時間dが経過する前に、データ送信ノード1がデータ送信準備完了状態になった場合には、図11のステップ2で表される転送データ長の通知を行い、以降は図11の手順に従って処理を継続する。
【0138】
しかしながら、さらに時間dが経過しても、まだデータの準備が完了していないときには、ステップ2c−2に示されるような送信不可能状態の通知を発行する。なお、ここで発行されるパケットは、ステップ2c−1と同等のものである。
ここで再びデータ受信ノード2は、タイマーをリセットして、時間計測をやり直す。
【0139】
ここで、Lに示すような、ステップ2c−2の通知を行った後、データ送信ノード1が反応不可能になるような致命的エラーが発生した場合には、データ受信ノード2はステップ2c−2の通知から時間cが経過した後、データ送信ノード1が反応不可能な状況になったことを検出し、Mに示すように、制御ノード3に受信処理が失敗したことを通知し、データ転送処理が中止される。
【0140】
Mの通知を受け取った制御ノード3は、データ送信ノード1の状態を調査し、必要なエラー状態を取得する。また、制御ノード3がデータ送信ノード1の状態を調査しようとしても、データ送信ノード1が、やはり反応しないような場合には、ユーザに対してデータ送信ノード1が無反応状態のエラーになったことを通知するなどの処理を行う。
【0141】
なお、図には示していないが、Lの段階で、データ送信ノード1がエラー発生を検出し、かつデータ受信ノード2への応答が可能であったときには、以下に示すようなパケットを送信することで、データ転送を中断することも可能である。
【0142】
【表20】
Figure 0003719253
【0143】
このような場合には、データ送信ノード1とデータ受信ノード2の両方が、制御ノード3に対して、エラーの発生を通知する処理を行う。
以上説明したように、第1のステップの通知が終了した後、所定時間cを経過した後に、第2のノードが第1ノードからの通知を受信しなかったときは、前記第2のノードはデータ転送を中止する処理を行うものであり、または、c>dである所定時間d以内に前記第1のノードが送信可能な状態にならなかった場合に、前記第1のノードが前記第1のノードに対して、送信不可能な状態を表す通知を送信することで、前記第2のノードは前記第1のノードからの通知待ち状態に移行すると共に、所定時間cの計測をやりなおすことにより、非常に速度の遅いデータ送信側の機器を用いた場合でも、エラー状況と機器の処理待ち状態が正確に区別することが可能となる。
【0144】
なお、以上の実施例では、AV/Cコマンドを用いて命令および応答の伝送を行う場合を例にとって説明したが、これ以外のコマンド伝送方式を用いても良い。
また、ノードが接続されるバスとして、IEEE 1394-1995を用いた場合を例にとって説明したが、これに限定されるものではなく、複数の機器が同時に接続可能なバスであれば良い。
【0145】
また、データブロックデータ長が、最後のデータブロックを除いて同じになる場合を例にとって説明したが、必ずしもこれに限定されるものではなく、たとえばすべてのデータブロックのデータ長が異なっても良い。このような場合は、送信されるデータブロックのデータ長は、第1のステップで送信される受信可能サイズ以下に設定され、これを超えるデータパケットは、データ受信ノード2によって無視または拒絶される。
【0146】
また、制御ノードが、データ送受信を行うノードと独立して存在する場合と、データ送信ノードに含まれる場合と、データ受信ノードに含まれる場合について説明したが、実際のシステム構成では、独立した制御ノードと、制御ノードを含むデータ送信ノードと、制御ノードを含むデータ受信ノードの3つの機器でシステムを構成することも可能である。このような場合では、ユーザがボタンを操作するなどのオペレーションを行った機器が制御ノードの機能を果たす。
【0147】
また、データ送信ノードとデータ受信ノードは、必ずしもそれぞれがデータの送信と受信という固定された機能を持つことを表しているのではなく、制御ノードにより発行されるコマンドの種類によって、あるノードがデータ送信ノードになったり、データ受信ノードになったりする構成も可能である。たとえば2台のデジタルスチルカメラを接続し、相互にデータを交換するようなシステムが実現可能可能であることはいうまでもない。
【0148】
【発明の効果】
本発明のデータ転送方法を用いることにより、様々なシステム構成に柔軟に対応可能で、処理の効率が良く、エラー処理が簡単なシステムを実現することが可能である。
【図面の簡単な説明】
【図1】本発明の第1の実施例によるデータ転送方法を用いたシステムのブロック図
【図2】同実施例によるデータ送信命令およびデータ送信命令応答のデータフォーマットを示す図
【図3】同実施例によるデータ受信命令およびデータ受信命令応答のデータフォーマットを示す図
【図4】同実施例による静止画データの分割方法を表す図
【図5】本発明の第2の実施例によるデータ転送方法を用いたシステムのブロック図
【図6】同第3の実施例によるデータ転送方法を用いたシステムのブロック図
【図7】同第4の実施例によるデータ転送方法を用いたシステムのブロック図
【図8】同第5の実施例によるデータ転送方法を用いたシステムの動作を表す図
【図9】同実施例によるデータ送信命令およびデータ送信命令応答のデータフォーマットを示す図
【図10】同実施例によるデータ受信命令およびデータ受信命令応答のデータフォーマットを示す図
【図11】同実施例によるデータ転送処理の動作の一部を表す図
【図12】同実施例によるデータ転送処理の終了動作を表す図
【図13】同実施例によるデータ送信処理が遅れた場合およびデータ送信処理が不可能になった場合の動作を表す図
【図14】同実施例によるデータ受信処理が遅れた場合およびデータ受信処理が不可能になった場合の動作を表す図
【図15】従来のデータ転送方法による静止画データシステムの第1の例を表すブロック図
【図16】従来のデータ転送方法による静止画データシステムの第2の例を表すブロック図
【図17】従来のデータ転送方法による静止画データシステムの第3の例を表すブロック図
【図18】従来の改良されたデータ転送方法を用いた静止画データシステムの例を表すブロック図
【符号の説明】
1 データ送信ノード
2 データ受信ノード
3 制御ノード
4 データ受信命令
5 データ送信命令
6 データ
7 データ送信命令応答
8 データ受信命令応答[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transfer method used when transferring data that does not require real-time processing, such as still image data and document data, between a plurality of devices.
[0002]
[Prior art]
In recent years, the market for devices that handle still images, such as digital still cameras and printers, has been expanding. Conventionally, these devices have been used in an environment where a personal computer exists, but in recent years, there is an increasing need to easily handle these devices in an environment without a computer.
[0003]
Conventionally, when transmitting and receiving data that does not require real-time processing, such as still images and document data, between two devices, one device issues a command to the other device. It is common to send or receive data by issuing it.
FIG. 15 is a block diagram showing a first example of a still image data system according to a conventional data transfer method. In FIG. 15, reference numeral 100 denotes a digital still camera which is an image input device, and reference numeral 101 denotes a printer which is an image output device. The user selects an internal image with an operation button of the digital still camera 100 and instructs the printer 101 to output it. Then, the digital still camera 100 issues a data reception command 102 to the printer 101 to make the printer 101 receivable, and subsequently transfers the data 103.
[0004]
Next, a second example of a still image data system according to a conventional data transfer method is shown in FIG. In FIG. 16, a case where the user operates the operation panel of the printer 101 to output an image of the digital still camera 100 will be described. The user gives an instruction to output image data on the digital still camera 100 using the operation buttons of the printer 101. Then, the printer 101 outputs a data transmission command 104 to the digital still camera 100, and the digital still camera 100 that has received the data transmission command 104 performs a transfer process of data 103 to the printer 101.
[0005]
Further, FIG. 17 shows a third example of a still image data system according to a conventional data transfer method. FIG. 17 illustrates a case where image data is transferred from the digital still camera 100 to the printer 101 in accordance with an instruction from a third device such as a personal computer or a set top box for digital television.
In FIG. 17, reference numeral 105 denotes a personal computer. First, the personal computer 105 issues a data input command 104 to the digital still camera 100, whereby the data 103 is temporarily stored in the personal computer 105. Next, the personal computer 105 issues a data output command 102 to the printer 101, and performs processing for transmitting the data 103 received and stored from the digital still camera 100 to the printer. That is, the same data 103 needs to be processed in two steps: (1) transfer from the digital still camera 100 to the personal computer 105, and (2) transfer from the personal computer 105 to the printer 101, and transfer the same data twice. This requires processing time and requires a storage area for storing the data 103 in the personal computer 105, resulting in an inefficient system.
[0006]
Therefore, “COPY command” described in ANSI X3.131-1986, Small Computer System Interface has been proposed as a data transfer method for improving the efficiency of the conventional general data transfer method.
FIG. 18 explains the operation of an example of a still image data system using this conventional improved data transfer method.
[0007]
In FIG. 18, 106 is a COPY command for the personal computer to instruct the digital still camera 100 to transfer image data, 107 is a first error notification for transferring an error generated in the printer 101 to the digital camera 100, and 108 is a digital command. The still camera 100 represents a second error notification for transferring an error of the printer 101 to the personal computer 105.
[0008]
First, the personal computer 105 issues a COPY command 106 including an instruction “transfer an image to the printer 101” to the digital still camera 100. The COPY command 106 includes the contents of the data reception command 102 described with reference to FIG. 15 and also includes the identifier (SCSI ID) of the printer 101.
[0009]
When the digital still camera 100 receives the COPY command 106, the digital still camera 100 interprets the identifier of the printer 101 and the content of the data reception command 102 included therein, issues a data reception command 102 to the printer 101, and subsequently. Data 103 is transmitted to the printer 101.
According to the improved data transfer method as described above, the data 103 can be transferred only once from the digital still camera 100 to the printer 101 even though the third control device instructs data transfer. There is certainly an improvement in processing efficiency.
[0010]
However, when an error such as paper out or paper jam occurs during data transfer in the printer 101 and data reception cannot be continued, as shown in the first error communication 107 in FIG. 101 notifies the digital still camera 100 of these error states. Next, the digital still camera 100 having received the notification of the error state from the printer 101 next generates an error in the printer 101 with respect to the personal computer 105 as shown in the second error communication 108 of FIG. For the first time, the personal computer 105 can know that an error has occurred in the printer 101.
[0011]
In other words, in the error situation as described above, it is not possible to receive an error notification directly from the device in which the error has occurred, and there is an inefficiency that the error notification must be propagated in the system. Furthermore, the personal computer 105 must always identify whether the error notified from the digital still camera 100 is generated by the digital still camera 100 or the printer 101, and the processing contents are complicated. Had the problem of being.
[0012]
Further, since the COPY command 106 is used only when the third control device exists, unlike the data reception command 102 and the data transmission command 104 described above, various devices are used. In order to cope with a connection environment or a system configuration, each device needs to support commands of these two different processing systems.
[0013]
[Problems to be solved by the invention]
As described above, transfer of still image data is performed using a transfer method that is common in the past, “one device sends or receives data by issuing a command to the other device”. Considering the system to be performed, in the environment where the third control device is interposed, there is a problem that the system is inefficient and takes a longer processing time.
[0014]
Further, even when the conventional improved data transfer method is used, the processing when an error occurs is inefficient, and further, the command processing system 2 which is different from the processing system used for the one-to-one connection is used. It was necessary to support two systems, and the capacity of software installed in the equipment became unnecessarily large, and there was a problem that it was complicated.
[0015]
In view of these points, it is a first object of the present invention to provide a data transfer method that can flexibly cope with various system configurations, has high processing efficiency, and has simple error processing.
It is a second object of the present invention to provide a data transfer method that can easily determine the end of data transfer and transfer data whose data length is unknown at the start of data transfer.
[0016]
A third object of the present invention is to provide a data transfer method capable of transferring data with simple control without calculating the data length of data to be transferred by the control device.
A fourth object of the present invention is to provide a data transfer method capable of easily processing data retransmission when an error occurs.
[0017]
A fifth object of the present invention is to provide a data transfer method for efficiently transferring the same data to a plurality of devices.
Furthermore, a sixth object of the present invention is to provide a data transfer method capable of easily and rapidly processing a data transmission side device even when the same data is transmitted to a plurality of devices.
[0018]
Furthermore, the present invention enables data transfer with simple control by minimizing the number of commands issued by the control device, and is easy to combine data transmission device and data reception device with various processing speeds. It is a seventh object of the present invention to provide a data transfer method that can cope with the above.
Furthermore, an eighth object of the present invention is to provide a data transfer method that does not require the control device to manage the data length of the data block.
[0019]
It is a ninth object of the present invention to provide a data transfer method in which a data transmission side device can easily realize packet division of a transfer data block in accordance with the processing capability of a reception side device.
Furthermore, a tenth object of the present invention is to provide a data transfer method capable of varying the amount of data received by a receiving device at a time according to the internal processing status.
[0020]
Furthermore, the present invention provides a data transfer method capable of accurately distinguishing between an error situation and a processing waiting state of a device even when using a data transmission side device or a data reception side device having a very low speed. That is the eleventh purpose. [0021]
[Means for Solving the Problems]
When data is divided and transferred to a plurality of data blocks from a first node on the bus system to which a node identifier is assigned to each node to a second node, control is performed prior to one data block transfer. The node issues a data block reception command to the second node, and then issues a data block transmission command including the node identifier of the second node to the first node. After the data block transfer from the node to the second node is executed and the data block transfer is completed, the first node notifies the execution result of the data block transmission process to the control node, and the second node The execution result of the reception process is notified to the control node.
Detailed Description of the Invention
[0022]
As a result, it is possible to obtain a data transfer method that can flexibly cope with various system configurations, has high processing efficiency, and has simple error processing.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
According to the first aspect of the present invention, data is divided into N data blocks (N is a natural number) and transferred from the first node on the bus system to which a node identifier is assigned to each node to the second node. In doing so, prior to one data block transfer, the control node issues a data block receive instruction to the second node and then includes the node identifier of the second node to the first node. By issuing a data block transmission command, data block transfer from the first node to the second node is executed, and after the data block transfer is completed, the first node executes the execution result of the data block transmission process. Is notified to the control node, and the second node notifies the control node of the execution result of the data block reception process. As a result, a control node that controls data transfer from the first node to the second node is defined, and an instruction including the identifier of the data transmission destination node is issued to the first node that transmits data. In addition to the one-to-one connection of devices, the same command system enables highly efficient data transfer both in the case where a third control device exists. Furthermore, by notifying the execution result of data transmission / reception processing from each node to the control node after the data transfer is completed, it is possible to efficiently detect an error condition that has occurred in the device.
[0024]
In the second invention of the present invention, after one data block transfer is completed, the first node sets the data length of the data block to be transferred next together with the execution result of the data block transmission process to the control node. It is a notification. Thereby, the first node notifies the control node of the data length of the data block to be transferred next, so that the data in the simple control can be obtained without calculating the data length of the data to be transferred by the control device. Enable transfer.
[0025]
According to a third aspect of the present invention, when the first node detects an error during data block transfer, the control node retransmits the data block in which the error occurred together with the execution result of the data block transmission process. It notifies the request. As a result, when the first node detects an error during data block transfer, it notifies the control node of the data block transmission processing result and the retransmission request for the data block in which the error has occurred. Data resending at the time of occurrence can be easily processed.
[0026]
According to a fourth aspect of the present invention, after the control node issues a data block transmission instruction command to the first node, the first node sends the data to the second node prior to the data block transfer. The data length of the data block to be transferred is notified. As a result, after the control node issues a data block transmission instruction command to the first node, prior to the data block transfer, the first node transfers the data block to be transferred to the second node. By notifying the data length, the control device can perform the data transfer control without knowing the data length, so that the transfer processing of the control device can be simplified.
[0027]
In the fifth aspect of the present invention, when the same data is transferred from the first node to M (M is a natural number) nodes, the control node is the same as the first node. The data block transmission instruction command is issued M times while changing the identifier of the node that receives the data block, and the control is repeated N times (N is a natural number) of the data blocks. As a result, the control node issues a transmission instruction command for the same data block to the first node M times while changing the identifier of the node that receives the data block, and performs these processes for the number of data blocks. By performing control that is repeated N times (N is a natural number), it is possible to easily realize a system that delivers the same data from one device to a plurality of devices almost simultaneously.
[0028]
According to a sixth aspect of the present invention, when the control node issues a data block transmission instruction command to the first node, the data block transmission instruction instruction to be issued next is (a It includes a flag indicating whether the same data block is designated or (b) the next data block is designated. Thereby, when the control node issues a data block transmission instruction command to the first node, whether the data block transmission instruction command to be issued next indicates (a) the same data block or not (B) By including a flag indicating whether the next data block is to be designated, whether the first node stays in the state holding the same data block or prepares the next data block Since it is possible to detect whether it is necessary in advance, it is possible to improve the efficiency of internal processing in the first node.
[0029]
Further, according to the seventh aspect of the present invention, after one data block transfer is completed, the first node sends the last data block to be transferred together with the execution result of the data block transmission process issued to the control node. This is a notification of the data block. As a result, after one data block transfer is completed, the first node notifies that the data block to be transferred next is the last data block together with the execution result of the data block transmission process issued to the control node. Thus, when data transfer is started, it is possible to transfer indefinite length data whose total data length is unknown.
[0030]
Further, the eighth invention of the present invention relates to data transfer from the first node to the second node, and (1) a notification indicating a state in which the second node can receive data is sent to the first node. A first step of transmitting; (2) a second step of performing an operation of transferring a data block to the second node when the first node has completed preparation of a transmission data block; The first node repeatedly executes the above-described steps of the third step in which a notification indicating the end of transfer of the data block is transmitted to the second node. That is, when viewed from the control node, data division is not performed, that is, N = 1, so that the number of commands issued to the first node and the second node by the control node is reduced. Processing can be simplified. Furthermore, the data transmission side device and the data of various processing speeds can be obtained by notifying the other device that the first device is ready to transmit data blocks and the second device is ready to receive data blocks. It is possible to easily cope with a combination with a receiving device.
[0031]
In the ninth aspect of the present invention, the notification in the first step includes the maximum data length that the second node can receive in the third step. Based on this information, Since the node can directly detect the data block length that can be received by the second node from the second node, it is possible to perform simple data transfer without the control node issuing the command having to manage the data length of the data block. Become.
[0032]
The tenth aspect of the present invention is that when the data block transfer in the second step is divided and transferred into one or more packets, the response in the first step is the second node. Includes the maximum data length that can be received in one packet. Based on this information, the data transferred by the first node in the second step is optimized according to the reception capability of the second node. Since packet division can be easily performed, it is possible to easily deal with devices having various packet reception capabilities.
[0033]
The eleventh aspect of the present invention provides the maximum data length that can be received by the second node in the second step, included in the response in the first step, according to the internal processing status of the second node. By returning a variable value, it is possible to optimally manage and utilize internal resources such as the memory of the second node.
In the twelfth aspect of the present invention, the first node does not receive a notification from the second node after a predetermined time a has elapsed after the notification of the data block length in the third step is completed. When the first node performs a process of canceling data transfer, or when the second node does not become receivable within a predetermined time b where a> b. When the second node transmits a notification indicating an unreceivable state to the first node, the first node shifts to a notification waiting state from the second node. By re-measuring the predetermined time a, it is possible to accurately distinguish the error status from the processing waiting state of the device even when a device on the data receiving side having a very low speed is used.
[0034]
Further, the thirteenth aspect of the present invention is that when the second node does not receive a data block from the first node after a predetermined time c has elapsed after the notification of the first step is completed, The second node performs a process of canceling data transfer, or when the first node is not ready for transmission within a predetermined time d where c> d, the first node Node transmits a notification indicating a state incapable of transmission to the second node, so that the second node shifts to a notification waiting state from the first node, and at a predetermined time c. By repeating this measurement, it is possible to accurately distinguish between the error status and the processing waiting state of the device even when a device on the data transmission side having a very low speed is used.
[0035]
Hereinafter, embodiments of the present invention will be described as examples with reference to the drawings.
[0036]
【Example】
(First embodiment)
FIG. 1 is a block diagram of a system which is a first embodiment of the data transfer method of the present invention. In FIG. 1, reference numeral 1 denotes a data transmission node (first node) that is a device that transmits an image such as a digital still camera, and 2 denotes a data reception node (second node) that is a device that receives an image such as a printer. Is a control node such as a personal computer or a set-top box, and these devices are connected to the same bus system.
[0037]
In this example, IEEE Std 1394-1995, Standard for a High Performance Serial Bus (hereinafter referred to as IEEE 1394-1995) is used as a bus system, and data transfer is performed between devices connected to this example. explain.
4 is a data reception command issued by the control node 3 to the data reception node 2, 5 is a data transmission command issued by the control node 3 to the data transmission node 1, and 6 is data from the data transmission node 1. The data transferred to the receiving node 2 is shown. Reference numeral 7 denotes a data transmission command response in which the data transmission node 1 reports the execution result of the data transmission command 5 to the control node 3, and reference numeral 8 denotes the execution result of the data reception command 4 to the control node 3. Indicates a data reception command response to be reported.
[0038]
Here, these data reception command 4, data transmission command 5, data transmission command response 7, and data reception command response 8 are functions defined in IEC-61883, Proposed standard for Digital Interface for Consumer Electronic Audio / Video Equipment. A command and response are transmitted using a Control Protocol (hereinafter referred to as FCP), and executed in accordance with the rules of AV / C Digital Interface Command Set (hereinafter referred to as AV / C command).
[0039]
FIG. 2 shows the data format of the data transmission command 5 and the data transmission command response 7. In FIG. 2, 10 is a packet header part, 11 is a data block (command frame) part, and 12 is a CRC part. These 10, 11 and 12 constitute an asynchronous write packet defined by IEEE 1394-1995. 13 is a 16-bit packet transmission destination node identifier, and 14 is a packet transmission source node identifier, which are also defined in IEEE 1394-1995.
[0040]
In the AV / C command, the data block unit 11 includes data for an instruction to the node or an instruction response. Here, the data transmission command 5 and the data transmission command response 7 have a common data format, and the data transmission node 1 receives the data transmission command 5 and executes the processing. After rewriting the value of the specific field of the block transmission command 5 as necessary, a process of transferring this packet to the control node 3 as a data transmission command response 7 is performed.
[0041]
Here, 15 is a data transmission instruction command, 16 is a data block retransmission request bit, 17 is an error code storage area, 18 is a final data block notification bit, 19 is a data transmission destination node identifier, 20 is a data block number, and 21 is data Each block data length is represented.
FIG. 3 shows the data format of the data reception command 4 and the data reception command response 8. 3 have many common parts with the data format of FIG. 2, and therefore description of data fields having the same meaning is omitted. In FIG. 3, 22 is a data block reception command code for instructing data block reception, and 23 is a data transmission source node identifier.
[0042]
Hereinafter, an operation when data is transferred from the data transmission node 1 to the data reception node 2 under the control of the control node 3 will be described. In this embodiment, a case where one piece of still image data is divided into a plurality of data blocks and each of them is sequentially transferred will be described as an example.
FIG. 4 shows a method for dividing still image data. In FIG. 4, reference numeral 24 denotes still image data having a capacity of 150 kB stored in the transmission node 1, and the still image data 24 is divided into five data blocks having a maximum capacity of 32 kB. In FIG. 4, 25 is the 0th data block, 26 is the 1st data block, 27 is the 2nd data block, 28 is the 3rd data block, and the data length of these data blocks 25 to 28 is 32 kB. It is. Reference numeral 29 denotes a fourth data block corresponding to the last data block, and the data length of the data block 29 is 22 kB.
[0043]
Next, the operation will be described with reference to FIG. 1, taking as an example the process of transferring the data block 25 of the number 0 from the transmission node 1 to the reception node 2.
First, the control node 3 issues a data reception command 4 having the packet format shown in FIG. The values of each data field of the packet issued at this time are shown in (Table 1). Here, 0 is set to the data block number 20 to indicate that the transfer of the 0th data block 25 is instructed, and the data block data length 21 is set to 32 kB. The error code storage area 17 is provided for setting an error code indicating an error that has occurred in this field when the data reception node 2 issues a data reception command response 8 to the control node 3. Therefore, in the data reception instruction 4, a hexadecimal FF indicating that the value of this field is invalid is stored.
[0044]
[Table 1]
Figure 0003719253
[0045]
The data reception node 2 that has received the data reception command 4 notifies the control node 3 that the data reception command 4 has been successfully issued, and then waits for data transmission from the data transmission node 1.
Next, after confirming that the data reception command 4 has been successfully issued, the control node 3 issues a data transmission command 5 having the packet format shown in FIG. Table 2 shows the values of the data fields of the packet issued at this time. Here, description of fields having the same meaning as the data reception command 4 is omitted.
[0046]
[Table 2]
Figure 0003719253
[0047]
Here, the data block retransmission request bit 16 is set to 0, and when the transfer of this data block ends normally, the next data block (in this case, the first data block 26) is scheduled to be transferred. Represents that. The final data block notification bit 18 is scheduled to be transferred in the next process when the data transmission node 1 issues the data transmission command response 8 to the control node 3 after the transfer of the designated data block is completed. In order to indicate that the value of this field is invalid in the data transmission instruction 5 because it is set to 1 when the data block is the last data block and is set to 0 otherwise. , Set the bit to 1.
[0048]
The data transmission node 1 that has received the data transmission command 5 notifies the control node 3 that the data transmission command 5 has been successfully issued, and then transfers the 0th data block 25 to the data reception node 2. Start.
The data block transfer here is divided into one or more consecutively issued IEEE 1394-1995 asynchronous write packets and transmitted.
[0049]
In IEEE 1394-1995, since the ACK packet is returned from the receiving side in response to the asynchronous write packet, it is possible for the transmitting side to check whether the asynchronous write packet has been correctly transmitted to the receiving side. If not, it is possible to perform retransmission processing of the packet.
Further, the asynchronous write packet of IEEE 1394-1995 includes the node identifier of the packet transmission node in the packet header portion thereof, so that the data transfer from the node other than the data transmission node 1 to the data reception node 2 here. The data receiving node 2 performs a process of ignoring these data even if.
[0050]
These asynchronous write packets include an offset address indicating a data reception buffer area included in the address space of the reception node 2.
It is assumed that the start address of the data reception buffer area is acquired by an AV / C command issued prior to these processes and is notified to the data transmission node 1 in advance. The offset address included in the first packet of one or more asynchronous write packets transmitted here is the head address of the data reception buffer area, and the offset address included in the next packet is the data reception buffer area Is set to an address obtained by adding the data length of the first data packet to the first address of the first data packet.
[0051]
As described above, one data block includes an offset address in which the address is increased in order from the top of the data reception buffer area of the data reception node 2, and the retransmission of the packet has the same offset. This can be realized by transmitting a packet having an address multiple times.
Next, the data transmission node 1 that has successfully transferred the 0th data block 25 confirms that the data block retransmission request bit 16 of the data transmission command 5 that has already been received is set to 0. The data block requested next time is recognized as the first data block 26 corresponding to the next data block of the zeroth data block 25. Therefore, it is recognized that the data block data length of the first data block 26 is 32 kB, and this is not the last data block.
[0052]
Therefore, the data transmission node 1 issues a data transmission command response 7 including these pieces of information to the control node 3.
Here, the data transmission command response has the packet format of FIG. 2, and the values of its main data fields are shown in (Table 3). As for the contents of these values, the values of (Table 2) are basically returned as they are, but the packet transmission node identifier and the packet reception node identifier are interchanged, and the packet from the data transmission node 1 to the control node 3 is exchanged. It represents something. In addition, since no error occurred during data transfer, a code without error is set in the error code storage area 17. The next data block to be sent is the first data block 26 having a data block length of 32 kB, so that 1 is set in the data block number 20 and 32 kB is set in the data block data length 21. .
[0053]
[Table 3]
Figure 0003719253
[0054]
On the other hand, the data receiving node 2 that has successfully received the 0th data block 25 starts processing the received 0th data block 25. For example, if the data receiving node 2 is a printer device, the received block data is transferred to the internal printer engine and printing processing is started.
At the time when the processing of the 0th data block 25 is completed, the data reception node 2 issues a data reception command response 87 to the control node 3.
[0055]
Here, the data reception command response 8 has the packet format of FIG. 3, and the values of its main data fields are shown in (Table 4). Regarding the contents of these values, the values of (Table 1) are basically returned as they are, but the packet transmission node identifier and the packet reception node identifier are interchanged, and the packet from the data reception node 2 to the control node 3 is exchanged. It represents something. In addition, since no error occurred during data transfer, a code without error is set in the error code storage area 17.
[0056]
[Table 4]
Figure 0003719253
[0057]
Note that which of the data transmission command response 7 returned from the data transmission node 1 to the control node 3 and the data reception command response 8 returned from the data reception node 2 to the control node 3 is issued first depends on the data transmission node. 1 and the data receiving node 2 change according to the processing speed, so that the control node 3 needs to wait for responses from these two nodes.
[0058]
When the control node 3 receives a response from both nodes, the transfer of the 0th data block 25 is completed.
Next, the control node 3 starts the transfer process of the first data block 26, which is the next data block, but sets the data block number 20 of the data transmission command response 7 received from the data transmission node 1 first. Since the data block number 1 to be sent next is stored in the data block data length 21, the value of 32 kB which is the data block data length of the first data block 26 is stored. The transfer process of the first data block 26 can be started.
[0059]
As described above, since it is not necessary to confirm the length of the next data block with respect to the data transmission node 1 every time, the control node 3 can easily perform the data transfer process.
Next, processing when an error occurs in the data receiving node 2 during data block transfer will be described with reference to FIG. Here, a case where a paper jam has occurred in the data receiving node 2 which is a printer device will be described as an example.
[0060]
While the 0th data block 25 was being transferred, it was determined that the data receiving node 2 could not continue receiving data because a paper jam occurred at the data receiving node 2. Then, the data reception node 2 issues a data reception command response 8 for notifying the control node 3 that an error has occurred. The packet format is the one shown in FIG. 3, but an error code for a paper jam error is set in the error code storage area 17.
[0061]
On the other hand, the data transmitting node 1 detects that the data receiving node 2 suddenly stops receiving data, stops transmitting data blocks, and notifies the control node 3 that an error has occurred. A transmission command response 7 is issued. The packet format is the format shown in FIG. 2, and the values set in the data fields in FIG. 2 are shown in (Table 5).
[0062]
[Table 5]
Figure 0003719253
[0063]
In the error code storage area 17, an error code of a transmission timeout error is set. Further, because the transfer of the 0th data block 25 failed due to an error, 0 is set in the field of the data block number 20 and 32 kB is set in the field of the data block data length 21 in FIG. This means that the control node 3 is requested to perform the 0th data block 25.
[0064]
Therefore, after the control node 3 detects the release of the paper jam error at the data receiving node 2, the data is transferred using the data block number 20 and the data block data length 21 previously sent from the data sending node 1. Resume.
In this way, even if any error occurs in the node that is transmitting and receiving data, notification of these errors is issued directly to the control node 3.
[0065]
In addition, when an error occurs, the data transmission node 1 notifies the control node 3 of the number of the data block in which the error has occurred and the data block data length. Transfer can be performed again with a simple process.
By repeating the procedure described above, data blocks are sequentially transferred from the data transmission node 1 to the data reception node 2.
[0066]
Next, the operation at the end of data transfer will be described.
When the data transmission node 1 has successfully transmitted the third data block 28, the data transmission node 1 sets the data block retransmission request bit 16 of the data transmission command 5 already received to 0. It is confirmed that the data block requested next time is the fourth data block 29 corresponding to the next data block of the third data block 28. Further, it is recognized that the data block data length of the fourth data block 29 is 22 kB, and this is the last data block.
[0067]
Therefore, the data transmission node 1 issues a data transmission command response 7 including these pieces of information to the control node 3.
Here, the data transmission command response has the packet format of FIG. 2, and the values of its main data fields are shown in (Table 6). Regarding the contents of these values, the values in (Table 2) are basically returned as they are, but the data block to be sent next is the fourth data block 29 having a data block length of 22 kB. The block number 20 is set to 4, and the data block data length 21 is set to 22 kB. Further, since the fourth data block 29, which is the data block to be transferred next, is the last data block, the final data block notification bit 18 is set to 1.
[0068]
[Table 6]
Figure 0003719253
[0069]
The control node 3 that has received the data transmission command response 7 detects that the transfer of the next data block is the last transfer process from the fact that the bit of the last data block notification bit 18 is set to 1, After the transfer process of the next fourth data block 29 is performed, the entire process is terminated.
Here, the control node 3 is not aware of the total number of data transfers. If the final data block notification bit 18 of the data transmission command response 7 issued from the data transmission node 1 is 0, the data block transfer is successively performed. If the process is 1, if the process is completed in the next data block transfer process, the control node 3 does not need to calculate the number of data blocks in advance, so the control process is very simple. is there. Furthermore, it is possible to easily realize transfer of indefinite length data in which the data length is unknown at the start of data transfer.
[0070]
(Second embodiment)
Next, a second embodiment of the present invention will be described. FIG. 5 is a block diagram of a system which is a second embodiment of the data transfer method of the present invention. Note that this embodiment is basically the same as the first embodiment shown in FIG. 1, and a detailed description of the system components and their operations is omitted.
[0071]
The second embodiment shown in FIG. 5 is different from the first embodiment described above in that the control node 3 is the same node as the data transmission node 1.
In FIG. 5, since the data transmission command 5 and the data transmission command response 7 shown in FIG. 1 are processed internally, these packet data are not transmitted on the bus.
[0072]
On the other hand, the data reception command 4 issued to the data reception node 2 has the same format as the packet format in the first embodiment described with reference to FIG. Here, the difference between the first embodiment and this embodiment is only that the value of the packet transmission source node identifier 13 and the value of the data transmission source node identifier 23 are the same value.
Except for this point, regarding the operation of the second embodiment and the control method of the data receiving node 2, it is possible to perform the data transfer processing by exactly the same processing as the first embodiment described above.
[0073]
(Third embodiment)
Next, a third embodiment of the present invention will be described. FIG. 6 is a block diagram of a system which is a third embodiment of the data transfer method of the present invention. Note that this embodiment is basically the same as the first embodiment shown in FIG. 1, and a detailed description of the system components and their operations is omitted.
[0074]
The third embodiment shown in FIG. 6 is different from the first embodiment described above in that the control node 3 is the same node as the data receiving node 2.
In FIG. 6, since the data reception command 4 and the data reception command response 8 shown in FIG. 1 are processed internally, these packet data are not transmitted on the bus.
[0075]
On the other hand, the data reception command 5 issued to the data transmission node 1 has the same format as the packet format in the first embodiment described with reference to FIG. Here, the difference between the first embodiment and the present embodiment is only that the value of the packet transmission destination node identifier 13 and the value of the data transmission destination node identifier 19 are the same value.
Except for this point, regarding the operation of the third embodiment and the control method of the data transmission node 1, it is possible to perform the data transfer process by exactly the same process as the first embodiment described above.
[0076]
As described above, by comparing the first to third embodiments of the present invention, the data transfer method for transferring data from the data transmission node 1 to the data transmission node 2 under the control of the control node 3 is defined. It can be seen that it is possible to construct a system that can flexibly cope with various system configurations and has high processing efficiency.
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described. FIG. 7 is a block diagram for explaining a fourth embodiment of the present invention, and shows a system for transferring one data in parallel to a plurality of nodes. In FIG. 7, 1 is a data transmission node, 3 is a control node, 5 is a data transmission command, 7 is a data transmission command response, 200 is a first data reception node, 201 is a second data reception node, and 202 is a third data transmission node. The data receiving node. Further, 300 is a data block transferred to the first data receiving node, 301 is a data block transferred to the second data receiving node, and 302 is a data block transferred to the third data receiving node.
[0077]
Next, the operation of the fourth embodiment of the present invention will be described with reference to FIG. In FIG. 7, for the sake of simplicity, the data reception instruction command issued from the control node 3 to the data reception node and the data reception instruction command response issued from the data reception node to the control node 3 are omitted. .
Here, a process of transferring the third data block 28 existing in the data transmission node 1 to the three data reception nodes 200 to 202 is shown.
[0078]
First, the control node 3 issues a data transmission command 5 for transmitting the third data block to the first data reception node 200 to the data transmission node 1. When the transfer of the data block to the first data receiving node 200 is completed, the control node 3 then issues a data transmission command 5 for transmitting the same third data block to the second data receiving node 201 to the transmitting node 1 To do. When the transfer of the data block to the second data receiving node 201 is completed, finally, the control node 3 issues a data transmission command 5 for transmitting the same third data block to the third data receiving node 202 to the transmitting node 1 To do. When the transfer of the data block to the third data receiving node 202 is completed, a process for sequentially issuing transfer instructions for the fourth data block is performed next.
[0079]
By such an operation of the control node 3, it is possible to transfer a single data to a plurality of data receiving nodes in parallel, and the data transmission node 1 prepares a transmission data block such as a tape device. In the case of a device that takes a long time or a device with a low data transfer speed, the number of times to prepare a data block is smaller than that in the case of performing serial processing, so there is an advantage that the total processing time is reduced. .
[0080]
7 shows the data field value of the packet of the data transmission command issued by the control node 3 to the data transmission node 1 in FIG. Table 7 shows data of a data transmission command to the first data reception node 200, a data transmission command to the second data reception node 201, and a data transmission command to the third data reception node 202. Explains the value of the field. Here, the value of the data block retransmission request bit 16 is set to 1 in the first data transmission command and the second data transmission command, and 0 is set in the third data transmission command. Table 8 shows the values of the data field of the packet of the data transmission instruction command response to these data transmission commands. In Table 8, since the data transmission instruction command has been issued with the data block retransmission request bit 16 set to 1, the data block number is the same as the command in the case of the first data receiving node and the second data receiving node. 3 is returned, and the data block data length is 32 kB. On the other hand, in the third data receiving node, since the data transmission instruction command has been issued with the data block retransmission request bit 16 being 0, the data block number is 4 and the data block data length is 22 kB. . Also, 1 is set in the last data block notification bit, and the next indicates the last data block.
[0081]
[Table 7]
Figure 0003719253
[0082]
[Table 8]
Figure 0003719253
[0083]
Here, when the data block retransmission request bit 16 is set to 1, the data transmission node 1 does not prepare for the transfer of the next data block, holds the data block transferred immediately before, and sends a data block retransmission request. When bit 16 is set to 0, an operation for preparing transfer of the next data block is performed.
That is, by providing the data block retransmission request bit 16, the processing of the data transmission node can be performed easily and at high speed even when the same data is transmitted to a plurality of data reception nodes as in this embodiment.
[0084]
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described. FIG. 8 is a diagram for explaining the operation of the fifth embodiment of the present invention, and shows the operation of the system that does not divide the data block when transferring one data. Here, a case where a piece of still image data with a capacity of 150 KB is transferred as shown in FIG. 4 will be described as an example. In this embodiment, a data block division process is performed between the data transmission node 1 and the data reception node 2, and the control node 3 is not involved in the data block division. The system components of this embodiment are basically the same as those described with reference to FIG. The operation of the fifth embodiment of the present invention will be described below with reference to FIG.
[0085]
First, the control node 3 issues a data transmission command 5 to the transmission node 1 to instruct preparation for data transmission processing. Next, the control node 3 issues a data reception command 4 to the data reception node 2 to instruct the start of the data transmission process. Here, a data transfer process 6 from the data transmission node 1 to the data transmission node 2 is executed, and one piece of still image data is transferred. Details of the data transfer process 6 will be described later.
[0086]
The transmission node 1 that has finished the data transfer process 6 transmits a data transmission command response 7 including the execution result of the data transfer process to the control node 3. In addition, the receiving node 2 that has finished the data transfer process 6 transfers a data reception command response 8 including the execution result of the data transfer process to the control node. One piece of still image data is transferred by the above procedure.
[0087]
Note that which of the data transmission command response 7 and the data reception command response 8 is issued first is determined by the balance between the processing speed of the data transmission node 1 and the processing speed of the data reception node 2. It is possible that the embodiments and their order are interchanged.
FIG. 9 shows the data format of the data transmission command 5 and the data transmission command response 7 of this embodiment. The constituent elements in FIG. 9 have many common parts with the first embodiment of the present invention shown in FIG. 2, so description of data fields having the same meaning is omitted. In FIG. 9, 10 is a packet header part, 11 is a data block (command frame) part, and 12 is a CRC part. Reference numeral 13 denotes a 16-bit packet transmission destination node identifier, and reference numeral 14 denotes a packet transmission destination node identifier. These constitute an IEEE 1394-1995 asynchronous write packet.
[0088]
Reference numeral 15 denotes a data transmission instruction command, 17 denotes an error code storage area, and 19 denotes a data transmission destination node identifier.
Here, when the data transmission command of the present embodiment in FIG. 9 is compared with the data transmission command of the first embodiment in FIG. 2, the data block retransmission request bit 16, the last data block notification bit 18, and the data block number 20 It can be seen that the data block data length 21 is not included and the format is simpler.
[0089]
FIG. 10 shows the data format of the data reception command 4 and the data reception command response 8 of this embodiment. The constituent elements in FIG. 10 have many common parts with the data format in FIG. 3, so description of data fields having the same meaning is omitted. In FIG. 10, 22 is a data block reception command code for instructing data block reception, and 23 is a data transmission source node identifier.
[0090]
Here, when the data reception instruction command of the present embodiment of FIG. 10 is compared with the data reception instruction command of the first embodiment of FIG. 3, the information of the data block number 20 and the data block data length 21 is not included. You can see that the format is simpler.
Next, details of the data transfer processing of this embodiment will be described. FIG. 11 is a diagram showing a part of the operation of the data transfer process of the fifth embodiment of the present invention, and explains the processing content of the head part of the data transfer process 6 of FIG.
[0091]
The data receiving node 2 of this embodiment has a built-in data buffer for reception, and the capacity is 256 kbytes. The maximum data length of the asynchronous write packet of IEEE 1394-1995 that can be received by the data receiving node 2 is 256 bytes, and the maximum data length of the asynchronous write packet of IEEE 1394-1995 that can be transmitted by the data transmitting node 1 Is 32 kbytes.
[0092]
Further, in this embodiment, in performing notification from the data receiving node 2 to the data transmitting node 1 and notification from the data receiving node 1 to the data transmitting node 2, IEEE 1394-1995 asynchronous data including 32-bit data is provided. Issue a write packet. The format of 32-bit data of a packet used for notification from the data receiving node 2 to the data transmitting node 1 is as shown in the following (Table 9).
[0093]
[Table 9]
Figure 0003719253
[0094]
Here, the values set in the “status field” and their meanings are as follows (Table 10).
[0095]
[Table 10]
Figure 0003719253
[0096]
The format of 32-bit data of a packet used for notification from the data transmission node 1 to the data reception node 2 is as shown in (Table 11) below.
[0097]
[Table 11]
Figure 0003719253
[0098]
Here, the values set in the “status field” and their meanings are as shown in Table 12 below.
[0099]
[Table 12]
Figure 0003719253
[0100]
Here, the operation of the data transfer process of this embodiment will be described with reference to FIG. In FIG. 11, first, as shown at A, the data transmission node 1 that has received the data transmission instruction command from the control node 3 starts preparation of a data block to be transmitted. On the other hand, as shown in B, the data reception node 2 that has received the data reception instruction command from the control node 3 prepares for data reception from the data transmission node 1.
[0101]
Next, as shown in step 1, the data receiving node 2 notifies the data transmitting node 1 of the size of data that can be received by the data receiving node 2 when preparation for data reception is completed.
Here, the value of the packet transmitted in step 1 is as follows.
[0102]
[Table 13]
Figure 0003719253
[0103]
Next, the data transmission node 1 that has received the notification of step 1 from the data reception node 2 starts data block transfer as shown in step 2 after the preparation of the transmission data block is completed (C in FIG. 11). Here, since the data block data length that can be received by the data reception node 2 is 64K bytes, the data transmission node 1 sets the data block data length to be transferred to be equal to or less than this value. In this case, the data length of the maximum data packet that can be transmitted by the data transmission node 1 is 32 KB, and the data transmission node 2 intends to transfer 32 Kbytes by one data block transfer.
[0104]
Next, as shown in step 3, the data transmission node 1 starts data block transfer by continuously transmitting asynchronous write packets to the buffer area of the data reception node 2.
In step 3, the data block is divided into a plurality of packets and transmitted. Here, since the data transmission node 1 knows in advance from the notification in the previous step 1 that the data length of the maximum packet is 256 bytes, the data reception node 2 has 256 bytes of data blocks each having 32 Kbytes. Into packets. That is, in this embodiment, 128 packets are transmitted.
[0105]
These asynchronous write packets include an offset address indicating the data reception buffer area included in the address space of the data reception node 2, and these offset addresses are sequentially incremented from the head address of the data reception buffer area. It is the same as in the first embodiment.
Next, when the data block transfer ends, as shown in step 3, the data transmission node 1 notifies the data reception node 2 of the end of the data block transfer by transmitting a packet including the transferred data length.
[0106]
Information included in the packet at this time is as follows.
[0107]
[Table 14]
Figure 0003719253
[0108]
When the notification in step 3 is completed, the data transmission node 1 starts preparation for the next data block transfer as shown in D. On the other hand, as shown by E, the data receiving node 2 starts processing the data block received earlier. In this embodiment, since the data receiving node 2 is a printer unit, a process of sending a data block stored in a buffer area (not shown) to the printer printing engine is started.
[0109]
Next, when the data receiving node 2 finishes processing the data block, as shown in step 1a, it notifies that it is ready to receive the next data block. In this notification, the same packet as in step 1 is transmitted.
As shown in F, when the preparation of the next data block is completed, the data transmission node 1 starts transferring the data block of the next data block as shown in step 2a.
[0110]
Here, the data block is again divided into a plurality of packets and transmitted. The offset address of the receiving node 2 included in these packets is also the same as the previous data block transfer from the start address of the data reception buffer area. They are incremented in order.
In this way, by repeating the operations from step 1 to step 3 described above, one piece of still image data is divided into a plurality of data blocks and transferred.
[0111]
Next, processing of the last data block will be described. FIG. 12 is a diagram for explaining the end operation after the transfer processing of the last data block is completed.
After the transfer of the data block in step 3 is completed, the data transmission node 1 starts preparation for the next data block, but it can be seen that there is no data to be transmitted, as indicated by G.
[0112]
Next, since the data reception node 2 transmits a notification of the receivable size as in step 1, in response to this, in step 3b, the data transmission node 1 transmits a transfer end instruction.
Information included in the packet at this time is as follows.
[0113]
[Table 15]
Figure 0003719253
[0114]
Next, the data receiving node 2 that has received the notification of step 3b transmits a notification of receipt of transfer completion, as shown in step 1b.
Information included in the packet at this time is as follows.
[0115]
[Table 16]
Figure 0003719253
[0116]
Therefore, as indicated by H, the data transmission node 1 that has received the notification of step 1b notifies the control node 3 of a response to the data transmission instruction command, thereby completing the transmission processing of one image. . This H corresponds to the data transmission command response 7 in FIG.
Further, as indicated by I, the data receiving node 2 that has transmitted the notification of step 1b notifies the control node 3 of the response to the data reception instruction command, thereby completing the reception processing of one image. . This I corresponds to the data reception command response 8 in FIG.
[0117]
In this way, the data transfer from the data transmission node 1 to the data reception node 2 is
(1) a first step of transmitting a notification representing a state in which the second node can receive data to the first node;
(2) a second step of performing an operation of transferring a data block to the second node when the first node is ready for a transmission data block;
(3) a third step in which the first node sends a notification indicating the end of transfer of the data block to the second node;
By repeatedly executing the above steps, the control node only needs to issue one command to each of the data transmission node and the data reception node, so that the processing of the control node can be simplified. is there. Furthermore, the data transmission device and the data reception device having various processing speeds are obtained by notifying the other party of the completion of the preparation of the data block to be transmitted by the data transmission node and the preparation of the data block reception by the data reception node. It is possible to easily cope with the combination.
[0118]
Further, since the notification in the first step includes the maximum data block data length that can be received by the data receiving node in the second step, the data transmitting node can receive data that can be received by the data receiving node based on this information. Since the block length can be directly detected, a simple data transfer is possible in which the control node issuing the command does not need to manage the data length of the data block.
[0119]
In addition, when the data block transfer in the second step is divided and transferred into one or more packets, the notification in the first step is the maximum that the data receiving node can receive in one packet. By including the data length, it is easy to divide the data transferred by the data transmission node in the second step according to the reception capability of the data reception node, so it easily supports devices with various packet reception capabilities. It becomes possible to do.
[0120]
In this embodiment, the case where the maximum data block size and the maximum packet data length of the data receiving node 2 do not change has been described as an example. However, these values can be changed according to the internal processing status of the data receiving node 2. It is also possible to do.
For example, the data transmission node 1 has a capacity to transmit a data block of a maximum of 256 Kbytes, while the data reception node 2 has a capacity to receive a maximum data block of a maximum of 256 Kbytes. However, since two data reception processes were performed at the same time, a response indicating that the processing capacity is 128 Kbytes is returned to the data transmission node 1. In this case, data transfer processing with a data block size of 128 Kbytes is performed.
[0121]
Here, when another data reception process that the data reception node 2 has processed is completed, a 128-Kbyte memory that has been unavailable until now becomes available, and then the data reception node 2 notifies The maximum data block size to be changed is changed from 128 Kbytes to 256 Kbytes. Next, when the data transmission node 1 detects that the data reception node 2 is capable of receiving 256 Kbytes, the data reception node 2 can start data transfer processing of a 256 Kbyte data block.
[0122]
Similarly, when the data receiving node 2 changes the maximum packet data length, the data transmitting node 1 transmits a data packet having the largest data length, thereby realizing more efficient data transfer. Needless to say, you can do it.
In this way, the maximum data length that can be received by the second node in the second step included in the notification in the first step is returned as a variable value according to the internal processing status of the second node. This makes it possible to optimally manage and utilize internal resources such as the memory of the second node.
[0123]
Next, the operation when the data receiving node 2 is a device with a very low data processing speed and the error processing when the data receiving node 2 becomes unresponsive will be described with reference to FIG.
In FIG. 13, the data block length indicated in step 3 is notified, and after the data block transfer is completed, the data receiving node 2 starts processing the data block. At the same time, the data transmission node 1 starts an internal timer and starts time measurement. If there is no response from the data receiving node 2 even after the time a has elapsed, the data transmitting node 1 performs a process of determining that the data receiving node 2 has entered an error state where it cannot react.
[0124]
Here, when the data reception node 2 cannot complete the data processing even after the time b has elapsed, where a> b, the notification of the unreceivable state represented in step 1c-1 is issued. . Information included in the packet transmitted in step 1c-1 is as follows.
[0125]
[Table 17]
Figure 0003719253
[0126]
The data transmission node 1 that has received the notification in step 1c-1 resets the timer value and starts time measurement again.
Here, if the data receiving node 2 is ready for data reception before the time b has elapsed from the notification in step 1c-1, a notification of the receivable size represented in step 1 in FIG. Thereafter, the processing is continued according to the procedure of FIG.
[0127]
However, if the processing of data is not yet completed even after the time b has elapsed, a notification of an unreceivable state as shown in step 1c-2 is issued. Note that the packet issued here is equivalent to step 1c-1.
Here, the data transmission node 1 again resets the timer and starts time measurement again.
[0128]
If a fatal error that makes the data receiving node 2 unable to react after the notification in step 1c-2 as shown in J occurs, the data transmitting node 1 determines that the step 1c- After the time a has elapsed from the notification of No. 2, it is detected that the data receiving node 2 has become unable to react, and as shown by K, the control node 3 is notified that the transmission process has failed, and the data The transfer process is cancelled.
[0129]
The control node 3 that has received the notification of K investigates the state of the data reception node 2 and acquires a necessary error state. In addition, even if the control node 3 tries to investigate the state of the data receiving node 2, if the data receiving node 2 still does not react, the data receiving node 2 has become an unresponsive error to the user. Processing such as notifying is performed.
[0130]
Although not shown in the figure, when the data reception node 2 detects the occurrence of an error and can respond to the data transmission node 1 at stage J, a packet as shown below is transmitted. Thus, the data transfer can be interrupted.
[0131]
[Table 18]
Figure 0003719253
[0132]
In such a case, both the data transmission node 1 and the data reception node 2 perform processing for notifying the control node 3 of the occurrence of an error.
As described above, when the first node does not receive the notification from the second node after the elapse of the predetermined time a after the notification of the data block length in the third step ends, The first node performs a process of canceling the data transfer, or when the second node does not become a receivable state within a predetermined time b where a> b, the second node When the node transmits a notification indicating an unreceivable state to the first node, the first node shifts to a notification waiting state from the second node, and at a predetermined time a. By re-measuring, it is possible to accurately distinguish between the error status and the processing waiting state of the device even when a device on the data receiving side having a very low speed is used.
[0133]
Next, an operation when the data transmission node 1 is a device having a very low data processing speed and an error process when the data transmission node 1 becomes unresponsive will be described with reference to FIG.
In FIG. 14, after the notification of the data transfer length represented in step 3 is completed, the data reception node 2 processes the received data block, and as shown in step 1, notification of receivable size and preparation for reception. Notify completion.
[0134]
On the other hand, the data transmission node 1 starts preparation of the next data block after the transfer of the data block in step 3 is completed. At the same time that the notification of step 1 is received, the data transmission node 1 starts an internal timer and starts time measurement. If there is no response from the data transmission node 1 even after the time c has elapsed, the data reception node 2 performs processing to determine that the data transmission node 1 has entered an error state that cannot be reacted.
[0135]
Here, when the data transmission node 1 fails to complete the data preparation even after the time d elapses when c> d, the notification of the transmission impossible state represented by step 2c-1 is issued. . Information included in the packet transmitted in step 2c-1 is as follows.
[0136]
[Table 19]
Figure 0003719253
[0137]
The data reception node 2 that has received the notification in step 2c-1 resets the timer value and starts time measurement again.
If the data transmission node 1 is ready for data transmission before the time d has elapsed from the notification in step 2c-1, a notification of the transfer data length represented in step 2 in FIG. Thereafter, the processing is continued according to the procedure of FIG.
[0138]
However, if the preparation of data is not yet completed even after the elapse of time d, a notification of a transmission impossible state as shown in step 2c-2 is issued. Note that the packet issued here is equivalent to step 2c-1.
Here, the data receiving node 2 again resets the timer and starts time measurement again.
[0139]
If a fatal error that causes the data transmission node 1 to become unresponsive after the notification in step 2c-2 is performed as shown in L, the data reception node 2 determines that the data reception node 2 is in step 2c- 2, after the time c has elapsed from the notification of 2, it is detected that the data transmission node 1 has become unable to react, and as indicated by M, the control node 3 is notified that the reception process has failed, and the data The transfer process is cancelled.
[0140]
The control node 3 that has received the notification of M investigates the state of the data transmission node 1 and acquires a necessary error state. In addition, even if the control node 3 tries to investigate the state of the data transmission node 1, if the data transmission node 1 still does not respond, an error indicating that the data transmission node 1 has not responded to the user has occurred. Processing such as notifying is performed.
[0141]
Although not shown in the figure, when the data transmission node 1 detects the occurrence of an error and can respond to the data reception node 2 at the L stage, a packet as shown below is transmitted. Thus, the data transfer can be interrupted.
[0142]
[Table 20]
Figure 0003719253
[0143]
In such a case, both the data transmission node 1 and the data reception node 2 perform processing for notifying the control node 3 of the occurrence of an error.
As described above, when the second node does not receive the notification from the first node after the elapse of the predetermined time c after the notification of the first step ends, the second node A process for canceling data transfer is performed, or when the first node is not ready for transmission within a predetermined time d where c> d, the first node By transmitting a notification indicating an incapable transmission state to the second node, the second node shifts to a notification waiting state from the first node and repeats measurement of the predetermined time c. Even when a device on the data transmission side having a very low speed is used, it is possible to accurately distinguish between an error situation and a processing waiting state of the device.
[0144]
In the above embodiment, the case where the command and response are transmitted using the AV / C command has been described as an example, but other command transmission methods may be used.
Further, the case where IEEE 1394-1995 is used as the bus to which the node is connected has been described as an example. However, the present invention is not limited to this, and any bus can be used as long as a plurality of devices can be connected simultaneously.
[0145]
Further, the case where the data block data length is the same except for the last data block has been described as an example. However, the present invention is not necessarily limited to this, and for example, the data lengths of all the data blocks may be different. In such a case, the data length of the transmitted data block is set to be equal to or smaller than the receivable size transmitted in the first step, and the data packet exceeding this is ignored or rejected by the data receiving node 2.
[0146]
Further, the case where the control node exists independently from the node that performs data transmission / reception, the case where it is included in the data transmission node, and the case where it is included in the data reception node has been described. However, in the actual system configuration, independent control is performed. It is also possible to configure a system with three devices: a node, a data transmission node including a control node, and a data reception node including a control node. In such a case, the device on which the user performs an operation such as operating a button fulfills the function of the control node.
[0147]
In addition, the data transmission node and the data reception node do not necessarily indicate that each has a fixed function of data transmission and reception, but depending on the type of command issued by the control node, a certain node may A configuration of becoming a transmission node or a data reception node is also possible. For example, it goes without saying that a system that connects two digital still cameras and exchanges data with each other can be realized.
[0148]
【The invention's effect】
By using the data transfer method of the present invention, it is possible to realize a system that can flexibly cope with various system configurations, has high processing efficiency, and simple error processing.
[Brief description of the drawings]
FIG. 1 is a block diagram of a system using a data transfer method according to a first embodiment of the present invention. FIG. 2 is a diagram showing a data format of a data transmission command and a data transmission command response according to the first embodiment. FIG. 4 is a diagram showing a data format of a data reception command and a data reception command response according to the embodiment. FIG. 4 is a diagram showing a still image data division method according to the embodiment. FIG. 5 is a data transfer method according to the second embodiment of the invention. FIG. 6 is a block diagram of a system using the data transfer method according to the third embodiment. FIG. 7 is a block diagram of a system using the data transfer method according to the fourth embodiment. FIG. 8 is a diagram showing an operation of a system using the data transfer method according to the fifth embodiment. FIG. 9 is a data format for a data transmission command and a data transmission command response according to the fifth embodiment. FIG. 10 is a diagram showing a data format of a data reception command and a data reception command response according to the embodiment. FIG. 11 is a diagram showing a part of an operation of data transfer processing according to the embodiment. FIG. 13 is a diagram showing the end operation of the data transfer process according to the embodiment. FIG. 13 is a diagram showing the operation when the data transmission process is delayed and the data transmission process is impossible according to the embodiment. FIG. 15 is a block diagram illustrating a first example of a still image data system according to a conventional data transfer method. 16 is a block diagram illustrating a second example of a still image data system according to a conventional data transfer method. FIG. 17 is a block diagram illustrating a third example of a still image data system according to a conventional data transfer method. Block diagram illustrating an example of the still picture data system using a click view [18] Conventional improved data transfer method [EXPLANATION OF SYMBOLS]
1 Data transmission node 2 Data reception node 3 Control node 4 Data reception command 5 Data transmission command 6 Data 7 Data transmission command response 8 Data reception command response

Claims (13)

データ送信ノードと、データ受信ノードと、制御ノードとを有し、各ノードに対してノード識別子が割り当てられ前記各ノード間でそれぞれ通信を行うことが可能であり、
前記制御ノードが前記データ送信ノードに対して、前記データ受信ノードのノード識別子を含むデータ送信命令を発行した後、前記制御ノードが前記データ受信ノードに対して、前記データ送信ノードのノード識別子を含むデータ受信命令を発行することで、前記データ送信ノードから前記データ受信ノードにデータを1以上のデータブロックに分割して転送するバスシステムに用いられるデータ受信ノードであって、
前記データ受信ノードは、
(1)前記データ送信ノードに対して、データブロック受信可能な状態を表す通知を行い、
(2)前記データ送信ノードから転送されたデータブロックを受信し、
(3)前記データ送信ノードから送信された前記データブロックの転送の終了を表す通知を受信する、
上記(1)〜(3)の各処理を繰り返し行うことで、前記データ送信ノードから転送されるデータを受信し、
前記(1)の処理での通知には、データ受信ノード自体が前記(2)の処理で受信可能な最大データブロックデータ長を含み、
前記(3)の処理で受信する前記データブロックの転送の終了を表す通知には、前記(2)の処理での前記データ送信ノードが送信したデータブロックデータ長を含み、前記(2)の処理で転送されたデータブロック長は、前記受信可能な最大データブロックデータ長以下とすることを特徴とするデータ受信ノード。
It has a data transmission node, a data reception node, and a control node, a node identifier is assigned to each node, and it is possible to perform communication between each of the nodes,
After the control node issues a data transmission command including a node identifier of the data receiving node to the data transmitting node, the control node includes a node identifier of the data transmitting node to the data receiving node A data reception node used in a bus system that divides and transfers data into one or more data blocks from the data transmission node to the data reception node by issuing a data reception command,
The data receiving node is:
(1) Notifying the data transmission node that the data block can be received,
(2) receiving a data block transferred from the data transmission node;
(3) receiving a notification indicating the end of transfer of the data block transmitted from the data transmission node;
By repeating the processes (1) to (3) above, the data transferred from the data transmission node is received,
The notification in the process (1) includes the maximum data block data length that the data receiving node itself can receive in the process (2),
The notification indicating the end of transfer of the data block received in the process (3) includes the data block data length transmitted by the data transmission node in the process (2), and the process (2) A data receiving node characterized in that the data block length transferred in (1) is not more than the maximum receivable data block data length.
前記(3)の処理で受信する前記データブロックの転送の終了を表す通知は、データ転送終了指示の有無を含み、
前記データブロックの転送の終了を表す通知に、前記データ転送終了指示が含まれていたときには、前記データ送信ノードに対して転送終了を受信したことを通知し、前記制御ノードに対してデータ受信指示命令の応答を通知することを特徴とする請求項1記載のデータ受信ノード。
The notification indicating the end of the transfer of the data block received in the process (3) includes the presence / absence of a data transfer end instruction,
When the data transfer end instruction is included in the notification indicating the transfer end of the data block, the data transmission node is notified that the transfer end is received, and the control node is instructed to receive the data 2. The data receiving node according to claim 1, wherein a command response is notified.
前記(2)の処理でのデータブロック転送は、1個以上のパケットに分割されて転送されるものであり、前記(1)の処理での通知は、データ受信ノード自体が前記(2)の処理で受信可能な最大パケット長を含むことを特徴とする請求項1記載のデータ受信ノード。The data block transfer in the process (2) is divided and transferred into one or more packets, and the notification in the process (1) is performed by the data receiving node itself as described in (2). The data receiving node according to claim 1, comprising a maximum packet length that can be received by processing. 前記(1)の処理で通知する受信可能な最大データブロックデータ長は、データ受信ノード自体の内部処理状況に応じた可変の値を返すことを特徴とする請求項1記載のデータ受信ノード。The data receiving node according to claim 1, wherein the receivable maximum data block data length notified in the processing of (1) returns a variable value according to the internal processing status of the data receiving node itself. 前記(3)の処理でのデータブロックを受信した後、受信したデータブロックの処理を開始し、所定時間a>bである時間bが経過した後も、データの処理が完了できなかったときは、データ送信ノードに対して受信不可能状態の通知を発行し、前記受信不可能状態の通知から時間bが経過する前に、データ受信準備完了状態になった場合には、前記データ送信ノードに対して、前記(1)の処理で受信可能な最大データブロック長を通知することを特徴とする請求項1記載のデータ受信ノード。When the processing of the received data block is started after receiving the data block in the process (3) and the data processing cannot be completed even after the time b of the predetermined time a> b has elapsed. , A notification of an unreceivable state is issued to the data transmission node, and when the data reception ready state is reached before the time b elapses from the notification of the unreceivable state, the data transmission node 2. The data receiving node according to claim 1, wherein a maximum data block length receivable by the processing of (1) is notified. 前記(1)の処理での通知が終了した後、所定時間d(d<c)が経過した後、前記データ送信ノードからデータ送信不可能な状態の通知を受信し、かつ、
前記データ送信不可能な状態の通知から所定時間dが経過した後、前記データ送信ノードからデータ送信不可能な状態の再通知を受信し、かつ、
前記再通知を行った後、時間cが経過した後、データ送信ノードが反応不可能になったことを検出した場合には、前記制御ノードに受信が失敗したことを通知することを特徴とする請求項1記載のデータ受信ノード。
After the notification in the process (1) is completed, after a predetermined time d (d <c) has elapsed, a notification of a state in which data transmission is impossible is received from the data transmission node; and
Receiving a re-notification of a state incapable of data transmission from the data transmission node after a predetermined time d has elapsed from the notification of the state incapable of data transmission; and
After the re-notification, when it is detected that the data transmission node has become unresponsive after the elapse of time c, the control node is notified that the reception has failed. The data receiving node according to claim 1.
前記(1)の処理での通知が終了した後、所定時間cを経過した後に、前記データ送信ノードからのデータブロックを受信しなかったときは、データ受信を中止する、または、
前記(1)の処理での通知が終了した後、所定時間d(d<c)以内に、前記データ送信ノードからデータ送信不可能な状態を通知された場合は、前記データ受信ノードは前記データ送信ノードからの通知待ち状態に移行するとともに、所定時間cの計測をやり直すことを特徴とする請求項1記載のデータ受信ノード。
When the data block from the data transmission node is not received after a predetermined time c has elapsed after the notification in the process (1) is completed, the data reception is stopped, or
If the data transmission node notifies the data transmission node that the data transmission is impossible within a predetermined time d (d <c) after the notification in the process (1) is completed, the data reception node 2. The data receiving node according to claim 1, wherein the data receiving node shifts to a notification waiting state from the transmitting node and repeats the measurement of the predetermined time c.
データ受信命令に含まれているノード識別子と異なる識別子を持つノードから送信されたデータを無視することを特徴とする請求項1記載のデータ受信ノード。The data receiving node according to claim 1, wherein data transmitted from a node having an identifier different from the node identifier included in the data receiving command is ignored. 前記(3)の処理が終了した後であって、前記(2)の処理で受信したデータブロックの処理が終了した時点で、データ送信ノードに対して、次のデータブロックを受信する準備ができたことを通知することを特徴とする請求項1記載のデータ受信ノード。After the processing of (3) is completed and when the processing of the data block received in the processing of (2) is completed, the data transmission node is ready to receive the next data block. The data receiving node according to claim 1, wherein the data receiving node is notified. 前記データ受信ノードは、プリンタであることを特徴とする請求項1〜請求項9のいずれかに記載のデータ受信ノード。The data receiving node according to claim 1, wherein the data receiving node is a printer. 前記データ受信ノードは、プリンタであり、前記(3)の処理が終了した後であって、
前記(2)の処理で受信してバッファ領域に格納されたデータブロックをプリント印字エンジンに送出する処理を終了した段階で、データ送信ノードに対して、次のデータブロックを受信する準備ができたことを通知することを特徴とする請求項10記載のデータ受信ノード。
The data receiving node is a printer, and after the processing of (3) is completed,
When the process of sending the data block received in the process (2) and stored in the buffer area to the print / print engine is completed, the data transmission node is ready to receive the next data block. 11. The data receiving node according to claim 10, wherein the data receiving node is notified.
制御ノードと、データ送信ノードと、データ受信ノードが独立して存在する場合、または、
制御ノードがデータ送信ノードに含まれる場合、または、
制御ノードがデータ受信ノードに含まれる場合、または、
独立した制御ノードと、制御ノードを含むデータ送信ノードと、制御ノードを含むデータ受信ノードで構成される場合、
のいずれかであるバスシステム、に用いられることを特徴とする請求項1〜請求項11のいずれかに記載のデータ受信ノード。
When the control node, the data transmission node, and the data reception node exist independently, or
If the control node is included in the data sending node, or
If the control node is included in the data receiving node, or
When composed of an independent control node, a data transmission node including the control node, and a data reception node including the control node,
The data receiving node according to claim 1, wherein the data receiving node is used in a bus system which is any one of the following.
データ送信ノードとデータ受信ノードが、データ送信とデータ受信の固定機能を持つ構成、または、
制御ノードにより発行されるコマンドの種類によって、データ送信ノードもしくはデータ受信ノードになる構成、のいずれかであるバスシステム、
に用いられることを特徴とする請求項1〜請求項12のいずれかに記載のデータ受信ノード。
A configuration in which the data transmission node and the data reception node have a fixed function of data transmission and data reception, or
A bus system that is either a data transmission node or a data reception node, depending on the type of command issued by the control node,
The data receiving node according to claim 1, wherein the data receiving node is used for the data receiving node.
JP2003155080A 2003-05-30 2003-05-30 Data receiving node Expired - Fee Related JP3719253B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003155080A JP3719253B2 (en) 2003-05-30 2003-05-30 Data receiving node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003155080A JP3719253B2 (en) 2003-05-30 2003-05-30 Data receiving node

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP13945398A Division JP3460579B2 (en) 1998-05-21 1998-05-21 Data transfer method

Publications (2)

Publication Number Publication Date
JP2004056780A JP2004056780A (en) 2004-02-19
JP3719253B2 true JP3719253B2 (en) 2005-11-24

Family

ID=31944669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003155080A Expired - Fee Related JP3719253B2 (en) 2003-05-30 2003-05-30 Data receiving node

Country Status (1)

Country Link
JP (1) JP3719253B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7248600B2 (en) * 2020-01-21 2023-03-29 株式会社日立製作所 Computer system and data transfer control method

Also Published As

Publication number Publication date
JP2004056780A (en) 2004-02-19

Similar Documents

Publication Publication Date Title
KR100294960B1 (en) Data communication system, data communication method, and data communication apparatus
US6717694B1 (en) Data transmission apparatus, system and method, and recording medium
EP0939529B1 (en) Destination node, data communication system, method of controlling a destination node and method of operating a data communication system
JP2000049834A (en) System, device and method for communicating data and storage medium
EP1033657A2 (en) Packet communication apparatus provided with manager means for managing packet labels
JP3460579B2 (en) Data transfer method
JP3673473B2 (en) Data transfer method and data transfer system
US6678769B1 (en) Control apparatus and method for managing a logical connection between source and destination nodes
JP3719253B2 (en) Data receiving node
JP3678238B2 (en) Data transfer method
JP3714341B2 (en) Data transfer method
JP3767578B2 (en) Data transmission node
KR100431206B1 (en) Table management methode for distributed forwarding in high speed router
JPH11261613A (en) Data transfer method
JP3148733B2 (en) Signal processing device and signal processing system
JP2003122539A (en) Network printer and network printer system
JP3943698B2 (en) Data communication system and data communication apparatus
JP2658931B2 (en) Printer controller
JP2002281034A (en) Information transfer device
JPH11261608A (en) Data communication system, data communication equipment, data communication method and storage medium
JP2004153803A (en) Data communication device, data telecommunication system, data communication method, data communication program and information recording medium
JP2024018734A (en) Communication processing device and communication method
JP4028539B2 (en) Data communication apparatus and data communication method
JPH11313091A (en) System, device and method for data communication and storage medium
JPH11308255A (en) System, method and device for data communication and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050705

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050829

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

Free format text: PAYMENT UNTIL: 20080916

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100916

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110916

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120916

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130916

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees