JPH11308255A - データ通信システム、方法及び装置並びに記憶媒体 - Google Patents

データ通信システム、方法及び装置並びに記憶媒体

Info

Publication number
JPH11308255A
JPH11308255A JP10111681A JP11168198A JPH11308255A JP H11308255 A JPH11308255 A JP H11308255A JP 10111681 A JP10111681 A JP 10111681A JP 11168198 A JP11168198 A JP 11168198A JP H11308255 A JPH11308255 A JP H11308255A
Authority
JP
Japan
Prior art keywords
data
node
connection
packet
information
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.)
Pending
Application number
JP10111681A
Other languages
English (en)
Inventor
Shinji Onishi
慎二 大西
Shinichi Hatae
真一 波多江
Mitsuhisa Araida
光央 新井田
Takashi Kobayashi
崇史 小林
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP10111681A priority Critical patent/JPH11308255A/ja
Priority to US09/253,783 priority patent/US7590133B2/en
Priority to EP99301305A priority patent/EP0984601A3/en
Priority to MYPI99000653A priority patent/MY135481A/en
Priority to KR1019990006186A priority patent/KR100294960B1/ko
Priority to CNB991056108A priority patent/CN1184787C/zh
Publication of JPH11308255A publication Critical patent/JPH11308255A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 簡便にかつ高速にデータを転送できるように
するとともに、確実にデータ転送を実行できるようにす
る。 【解決手段】 所定の機器に固有の固有情報と、送信機
器と1つ以上の受信機器との間の論理的な接続を示すコ
ネクション情報とを用いて、情報データの送受信を行う
データ通信システムにおいて、上記1つ以上の受信機器
の受信能力のうち、最も低い受信能力に従って上記情報
データの送受信を行うようにすることにより、各デステ
ィネーションに設けられているバッファサイズに関係な
く、ソースは通知されたバッファサイズ以下のサイズ単
位でデータ転送を行い、通信を確実に実行することが可
能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ通信システ
ム、方法及び装置並びに記憶媒体に関し、特に、制御信
号とデータを混在させて通信することが可能なデータ通
信バスを用いて複数電子機器(以下、機器)間を接続し
て、各機器間でデータ通信を行うシステムを所有する装
置に用いて好適なものである。
【0002】
【従来の技術】パソコン周辺機器の中で、最も利用頻度
が高いのはハードディスクやプリンタであり、これらの
周辺装置は小型コンピュータ用汎用型インターフェイス
で代表的なデジタルインターフェイス(以下、デジタル
I/F)であるSCSI等を介してパソコン間との接続がなさ
れ、データ通信が行われている。
【0003】また、デジタルカメラやデジタルビデオカ
メラといった記録再生装置もパソコン(以下、PC)への
入力手段として用いられる周辺装置の1つであり、近
年、デジタルカメラやビデオカメラで撮影した静止画や
動画といった映像をパソコンPCへ取り込み、ハードディ
スクに記憶したり、またはパソコンPCで編集した後、プ
リンタでカラープリントするといった分野の技術が進ん
でおり、ユーザーも増えている。
【0004】取り込んだ画像データをパソコンPCからプ
リンタやハードディスクへ出力する際などに、上記のSC
SI等を経由してデータ通信がされるものであり、そのよ
うなときに画像データのようなデータ量の多い情報を送
るためにも、こういったデジタルI/F には転送データレ
ートの高い、かつ汎用性のあるものが必要とされる。
【0005】図21に、従来の例としてデジタルカメ
ラ、パソコンPC及びプリンタを接続したときのブロック
図を示す。図21において、101 はデジタルカメラ、10
2 はパソコン(PC)、103 はプリンタである。さらに、10
4 はデジタルカメラの記録部であるメモリ、105 は画像
データの復号化回路、106 は画像処理部、107 はD/A コ
ンバータ、108 は表示部であるEVF 、109 はデジタルカ
メラのデジタルI/O 部、110 はパソコンPCのデジタルカ
メラとのデジタルI/O 部、111 はキーボードやマウスな
どの操作部である。
【0006】112 は画像データの復号化回路、113 はデ
ィスプレイ、114 はハードディスク装置、115 はRAM 等
のメモリ、116 は演算処理部のMPU 、117 はPCI バス、
118はデジタルI/F のSCSIインタフェース(ボード) 、1
19 はパソコンPCとSCSIケーブルで繋がったプリンタのS
CSIインターフェイス、120 はメモリ、121 はプリンタ
ヘッド、122 はプリンタ制御部のプリンタコントロー
ラ、123 はドライバである。
【0007】先ず、デジタルカメラで撮像した画像をパ
ソコンPCに取り込み、またパソコンPCからプリンタへ出
力するときの手順の説明を行う。デジタルカメラ101 の
メモリ104 に記憶されている画像データが読み出される
と、上記読み出された画像データのうちの一方は復号化
回路105 で復号化され、画像処理回路106 で表示するた
めの画像処理がなされ、D/A コンバータ107 を経て、EV
F108で表示される。
【0008】また一方では、外部出力するためにデジタ
ルI/O 部109 から、ケーブルを伝わってPC102 のデジタ
ルI/O 部110 へ至る。PC102 内では、PCI バス117 を相
互伝送のバスとして、デジタルI/O 部110 から入力した
画像データは、記憶する場合はハードディスク114 で記
憶され、表示する場合は復号化回路112 で復号化された
後、メモリ115 で表示画像としてメモリされて、ディス
プレイ113 でアナログ信号に変換されてから表示され
る。パソコンPC102 での編集時等の操作入力は操作部11
1 から行い、パソコンPC102 全体の処理はMPU116で行
う。
【0009】また、画像をプリント出力する際は、パソ
コンPC102 内のSCSIインターフェイスボード118 から画
像データをSCSIケーブルを介して伝送し、プリンタ103
側のSCSIインターフェイス119 で受信し、メモリ120 で
プリント画像として形成され、プリンタコントローラ12
2 の制御でプリンタヘッド121 とドライバ123 が動作し
て、メモリ120 から読み出したプリント画像データをプ
リントする。
【0010】以上が、従来の画像データをパソコンPC取
り込み、またはプリントするまでの手順である。このよ
うに、従来はホストであるパソコンPCにそれぞれの機器
が接続され、パソコンPCを介してから、記録再生装置で
撮像した画像データをプリントしている。
【0011】また、ディジタルVTR 、TV、チューナなど
のAV機器や、パーソナルコンピュータ(以下、PCと称す
る)等をIEEEP1394 シリアルバス(以下、1394と称す
る)を用いて相互に接続し、これらの間においてディジ
タルビデオ信号、ディジタルオーディオ信号などを送受
信するデータ通信システムが提案されている。
【0012】これらのシステムにおいては、リアルタイ
ムにデータ転送することが重要となるため、いわゆる同
期通信(以下、Isochronous 通信と称する)によって、
データ通信を行なっている。この場合には、データ転送
のリアルタイム性は保証されるが、通信が確実に実行さ
れることは保証されない。
【0013】
【発明が解決しようとする課題】しかしながら、上記従
来例で挙げたデジタルインターフェイスの問題点とし
て、SCSIには転送データレートの低いものや、パラレル
通信のためケーブルが太いもの、接続される周辺機器の
種類や数、接続方式などにも制限があり、多くの面での
不便利性も指摘されている。
【0014】また、従来の1394通信の場合には、同期通
信を行なうため、通信が確実に実行されることは保証さ
れない。したがって、確実にデータ転送を行ないたい場
合には、従来の1394 Isochronous通信を使用することは
できなかった。
【0015】また、従来の1394 Isochronous通信では、
通信帯域に空きがある場合にも、通信の総数が64に制限
される。このため、通信帯域をあまり要求しないような
通信を多数行ないたい場合には、従来の1394 Isochrono
us通信を使用することはできないといった問題点があっ
た。
【0016】また、従来の1394通信方式では、データ転
送の間に、バスリセットやエラーによる、データ転送の
中断が生じることが考えられる。この場合、従来の1394
通信方式では、どのようなデータ内容が失われたのかを
知ることができない問題があった。そのため、従来の13
94通信方式では、該データ転送中断からの復帰を行なう
ためには、非常に繁雑な通信手順を踏むことを要求され
るという問題点があった。
【0017】本発明は、上記問題点を解決するためにな
されたもので、従来の通信方式の不利便性を解決し、簡
便にかつ高速にデータを転送できるようにするととも
に、確実にデータ転送を実行できるようにすることを第
1の目的とする。また、本発明は、通信帯域をあまり使
用しない場合に、多数の通信を同時に行なえるようにす
ることを第2の目的とする。また、本発明は、データ転
送中断により失われたデータを容易に検出することが可
能で、上記データ転送中断からの復帰を、確実に、かつ
簡単に行なえるようにすることを第3の目的とする。ま
た、本発明は、情報データの転送を管理する複数のコン
トロールノードがネットワーク上に存在する場合に、個
々のコントロールノードにより管理される通信を識別で
きる機能を提供することを第4の目的とする。さらに、
本発明は、同じ情報データを1つのソースノードから複
数のデスティネーションノードに対して転送することの
できる機能を提供することを第4の目的とする。
【0018】
【課題を解決するための手段】従来抱えている問題を解
決するために、本発明は、従来からあるデジタルI/Fの
問題点を極力解消した、各デジタル機器に統一されて搭
載されるような汎用型デジタルI/F(例えばIEEE1394-199
5 ハイパフォーマンス・シリアルバス) を用いて、パソ
コンPCやプリンタ、その他周辺装置、またデジタルカメ
ラやデジタルVTR の記録再生装置等をネットワーク構成
で接続したときの機器間データ通信を実現し、記録再生
装置からビデオデータ等のパソコンPCへの取り込み、ま
た、映像データをプリンタへ直接転送しプリントなどを
実現する。このようなネットワークにおいて、各種のデ
ーターをAsynchronousトランザクションによりそれぞれ
のデータを複数に分割して伝送するプロトコルを提供す
るものである。ペイロード内に、バスリセット等によっ
ても変化しない、ソースノード固有のノード情報とソー
スノードが管理するID番号を組み合わせた識別データを
付加する。コントローラノードは、ソースに対して論理
的に接続されたデスティネーション数を通知する。コン
トローラノードはデスティネーションノードが複数存在
する場合は、各デスティネーションノードが持つバッフ
ァサイズの中で最小のバッファサイズをソースノードに
通知する。ソースノードは、コントローラノードから通
知されたデスティネーションノードのバッファサイズご
とに該デスティネーションからの受信確認応答パケット
をまって、次のデータパケットを送信する。ソースノー
ドからの送信データー終了を示すパケットに対してそれ
ぞれのデスティネーションは、受信確認応答パケットを
返すようにしている。
【0019】本発明のデータ通信システムは、所定の機
器に固有の固有情報と、送信機器と1つ以上の受信機器
との間の論理的な接続を示すコネクション情報とを用い
て、情報データの送受信を行うデータ通信システムにお
いて、上記1つ以上の受信機器の受信能力のうち、最も
低い受信能力に従って上記情報データの送受信を行うこ
とを特徴としている。また、本発明のデータ通信システ
ムの他の特徴とするところは、上記所定の機器は、上記
コネクション情報を設定する管理機器であることを特徴
としている。また、本発明のデータ通信システムのその
他の特徴とするところは、上記管理機器は、上記情報デ
ータの送信に先立って、上記固有情報と上記コネクショ
ン情報とを上記送信機器と上記1つ以上の受信機器とに
通知することを特徴としている。また、本発明のデータ
通信システムのその他の特徴とするところは、上記送信
機器と上記1つ以上の受信機器とは、上記管理機器を介
することなく、上記固有情報と上記コネクション情報と
を用いて上記情報データの送受信を行うことを特徴とし
ている。また、本発明のデータ通信システムのその他の
特徴とするところは、上記データ通信システムの接続構
成が初期化された後、上記送信機器と上記1つ以上の受
信機器とは、上記管理機器を介することなく上記情報デ
ータの送受信を再開することを特徴としている。また、
本発明のデータ通信システムのその他の特徴とするとこ
ろは、上記データ通信システムの接続構成が初期化され
た後、上記送信機器と上記1つ以上の受信機器とは、上
記固有情報と上記コネクション情報とを用いて上記情報
データの送受信を再開することを特徴としている。ま
た、本発明のデータ通信システムのその他の特徴とする
ところは、上記受信機器の受信能力は、上記受信機器の
具備する受信バッファのサイズを含むことを特徴として
いる。また、本発明のデータ通信システムのその他の特
徴とするところは、上記管理機器は、上記送信機器から
送信される情報データを受信する受信機器の数を、上記
コネクション情報と共に管理することを特徴としてい
る。また、本発明のデータ通信システムのその他の特徴
とするところは、上記情報データは、特定の受信機器を
指定しない情報と共に送信されることを特徴としてい
る。また、本発明のデータ通信システムのその他の特徴
とするところは、上記固有情報と上記コネクション情報
とは、上記データ通信システムの接続構成が初期化され
ても変化しないことを特徴としている。
【0020】本発明のデータ通信方法は、所定の機器に
固有の固有情報と、送信機器と1つ以上の受信機器との
間の諭理的な接続を示すコネクション情報とを用いて、
情報データの送受信を行うデータ通信システムに適用可
能なデータ通信方法において、上記1つ以上の受信機器
の受信能力のうち、最も低い受信能力に従って上記情報
データの送受信を実行させることを特徴としている。
【0021】本発明のデータ通信装置は、所定の機器に
固有の固有情報と、1つ以上の受信機器との間の論理的
な接続を示すコネクション情報とを用いて情報データの
送受信を行う通信手段と、上記1つ以上の受信機器の受
信能力のうち、最も低い受信能力に従って上記通信手段
の動作を制御する制御手段とを具備することを特徴とし
ている。
【0022】本発明の記憶媒体は、上記データ通信方法
の手順をコンピュータに実行させるためのプログラムを
格納したことを特徴としている。また、本発明の記憶媒
体の他の特徴とするところは、上記各手段としてコンピ
ュータを機能させるためのプログラムを格納したことを
特徴としている。
【0023】
【作用】本発明は上記技術手段を有するので、コントロ
ーラノードによって設定されたコネクション識別データ
を使用してソース、デスティネーション間でデータ転送
を行うことにより、バスリセットが発生して各ノードの
ノードIDが変化してもデータ転送を簡単な手順で再開す
ることができる。また、複数のデスティネーションが異
なるサイズのデータバッファを持つ場合には、コントロ
ーラノードがその中の最小のバッファサイズをソースに
通知することにより、各デスティネーションの持つバッ
ファサイズに関係なく、ソースは上記通知されたバッフ
ァサイズ以下のサイズ単位でデータ転送を行うことによ
り、通信を確実に実行することが可能となる。
【0024】
【発明の実施の形態】以下、図面を参照しながら、本発
明のデータ通信システム、方法及び装置並びに記憶媒体
の実施の形態について説明する。図1において、10はco
mputerであり、12は演算処理装置(MPU) 、14は第1の13
94インターフェイス、16はキーボードなど第1の操作
部、18は第1のデコーダ、20はCRT ディスプレイなどの
表示装置、22はハードディスク、24は第1のメモリであ
り本発明に係るcomputer10の内部メモリ、26はPCI バス
などのコンピュータ内部バスである。
【0025】また、28はVCR であり、30は撮像光学系、
32はアナログ−デジタル(A/D) 変換器、34はビデオ処理
部、36は圧縮伸長回路、38は第1のメモリ、40は第2の
メモリ、42は第1のデータセレクタ、44は第2の1394イ
ンターフェイス、46は第1のメモリ制御回路、48は第2
のメモリ制御回路、50はシステムコントローラ、52は第
2の操作部、54はファインダ、56はD/A 変換器、58は記
録部である。
【0026】さらに、60はプリンタであり、62は第3の
1394インターフェイス、64は第2のデータセレクタ、66
は第3の操作部、68はプリンタコントローラ、70は第2
のデコーダ、72は第3のメモリ、74は画像処理部、76は
ドライバ、78はプリンタヘッドである。
【0027】computer10と、VCR28 、及び、プリンタ60
とは、第1から第3の1394インターフェイス14,44,62に
よって1394シリアルバスのノードを構成するとともに、
該第1から第3の1394インターフェイス14,44,62を介し
て相互に接続されており、データの授受や、コマンドに
よるコントロール等が可能になっている。
【0028】本実施の形態では、例えば、computer10
は、1394シリアルバス上における、画像信号送受信のコ
ントローラとして動作する。本実施の形態に係るcomput
er10においては、例えば、PCI バスなどのコンピュータ
内部バス26によって、演算処理装置12と、1394インター
フェイス14、キーボード16、デコーダ18、CRT ディスプ
レイ20、ハードディスク22、内部メモリ24などの、内部
の各デバイスとが相互に接続されている。
【0029】演算処理装置(MPU)12 は、ハードディスク
22に記録されているソフトウェアを実行するとともに、
様々なデータを内部メモリ24に移動させる。また、演算
処理装置(MPU)12 は、PCI バス26によって接続されてい
る各デバイスの、調停動作なども合わせて行なう。
【0030】1394インターフェイス14は、1394シリアル
バス上に転送される画像信号を受信するとともに、ハー
ドディスク22に記録されている画像信号や、内部メモリ
24に記憶される画像信号を送信する。また、1394インタ
ーフェイス14は、1394シリアルバス上に接続された他の
機器に対するコマンドデータを送信する。また、1394イ
ンターフェイス14は、1394シリアルバス上に転送される
信号を他の1394ノードに転送する。
【0031】操作者は、キーボード16などの操作部を通
じて、MPU12 に、ハードディスク22に記録されているソ
フトウェアを実行させる。該ソフトウェア等の情報は、
CRTディスプレイなどの表示装置20によって、操作者に
提示される。デコーダ18は、上記のソフトウェアを通じ
て、1394シリアルバス上から受信した画像信号をデコー
ドする。デコードされた画像信号も、また、CRT ディス
プレイなどの表示装置20によって、操作者に提示され
る。
【0032】本実施の形態では、例えば、VCR28 は、画
像信号の入力装置として動作する。撮像光学系30から入
力された映像の輝度信号(Y)と色差信号(C)は各々
A/D変換器32にてディジタルデータに変換される。上記
ディジタルデータは、ビデオ処理部34にて多重化され
る。その後、圧縮伸長回路36にて該画像情報のデータ量
を圧縮する。
【0033】一般に、YC独立に該圧縮処理回路を備えて
いるが、ここでは説明の簡略化の為にYC時間分割での圧
縮処理の例を示す。次に、上記画像データを伝送路誤り
に強くする目的でシャフリング処理を施す。この処理の
目的は連続的な符号誤りであるところのバーストエラー
を、修整や補間の行い易い離散的な誤りであるところの
ランダムエラーに変換することである。
【0034】加えて、画像の画面内の粗密による情報量
の発生の偏りを均一化する目的を重視する場合には上記
圧縮処理の前に本処理工程を持ってくると、ランレング
ス等の可変長符号を用いた場合の都合が良い。
【0035】これを受けて、データ・シャフリングの復
元のためのデータ識別(ID)情報を付加する。このID付
加動作にて付加されたIDは、同時に記録しておいた上記
システムのモード情報等と共に再生時の逆圧縮処理(情
報量伸張処理)の際に補助情報として利用する。これら
のデータの再生時の誤りを低減するためにエラー訂正
(ECC)情報を付加する。
【0036】このような冗長信号の付加までを、映像と
音声等の情報毎に対応する独立の記録エリア毎に処理す
る。上記のように、ID情報やECC 情報が付加された画像
信号は、記録部58により、磁気テープ等の記録媒体に記
録されるとともに、後述する第1のメモリ38に一時的に
記憶される。
【0037】一方、ビデオ処理部34にて多重化された画
像データは、D/A 変換器56によって、ディジタル−アナ
ログ変換され、電子ビューファインダ54で操作者により
観察される。また、操作者は第2の操作部52を介して、
様々な操作情報をシステムコントローラ50に送信し、シ
ステムコントローラ50は、該操作情報によって、VCR全
体を制御するようになっている。
【0038】また、ビデオ処理部34にて多重化された画
像データは、第2のメモリ40に出力され、一時的に記憶
される。前述した第1のメモリ38と、二のメモリ40と
は、それぞれ、第1のメモリ制御回路46と、第2のメモ
リ制御回路48とを介し、システムコントローラ50により
動作制御されている。
【0039】第1のデータセレクタ42は、前述した第1
のメモリ38と、第2のメモリ40からのデータを選択し
て、第2の1394インターフェイス44に受け渡す、あるい
は、第2の1394インターフェイス44からのデータを選択
して、第1のメモリ38と、第2のメモリ40とのどちらか
に受け渡す。
【0040】上記動作により、VCR28 における第2の13
94インターフェイス44からは、圧縮された画像データと
非圧縮の画像データとが、操作者により選択されて出力
できるようになっている。
【0041】第2の1394インターフェイス44は、1394シ
リアルバスを通じて、VCR28 を制御するためのコマンド
データを受信する。受信されたコマンドデータは、第1
のデータセレクタ42を通じて、システムコントローラ50
に入力される。システムコントローラ50は、上記のコマ
ンドデータに対するレスポンスデータを作成して、第1
のデータセレクタ42、及び、第2の1394インターフェイ
ス44を通じ、1394シリアルバスに該データを送出する。
【0042】本実施の形態では、例えば、プリンタ60
は、画像の印刷出力装置として動作する。第3の1394イ
ンターフェイス62は、1394シリアルバス上に転送される
画像信号と、1394シリアルバスを通じて該プリンタ60を
制御するためのコマンドデータとを受信する。また、第
3の1394インターフェイス62は、該コマンドに対するレ
スポンスデータを送信する。
【0043】受信された画像データは、第2のデータセ
レクタ64を通じて、第2のデコーダ70に入力される。第
2のデコーダ70は、該入力された画像データをデコード
して、画像処理部74に出力する。画像処理部74は、デコ
ードされた画像データを第3のメモリ72に一時的に記憶
する。
【0044】一方、受信されたコマンドデータは、第2
のデータセレクタ64を通じて、プリンタコントローラ68
に入力される。プリンタコントローラ68は、該コマンド
データによりドライバ76による紙送り制御や、プリンタ
ヘッド78の位置制御など、様々な印刷に関する制御を行
なう。また、プリンタコントローラ68は、第3のメモリ
72に一時的に記憶された画像データを、印刷データとし
て、プリンタヘッド78に送信し、印刷動作を行わせる。
【0045】上述したように、本実施の形態に係る、第
1から第3の1394インターフェイス14,44,62は、それぞ
れ、1394シリアルバスのノードを構成する。第1の1394
インターフェイス14は、コントロールノード、または、
コントローラとして動作し、第2の1394インターフェイ
ス44は、画像データのソースノードとして動作し、第3
の1394インターフェイス62は、デスティネーションノー
ドとして動作する。
【0046】以下に、図2を用いて、本実施の形態のデ
ータ転送動作の概要を説明する。図2において、200 は
コントローラ、202 はソースノード、204 はデスティネ
ーションノード、206 はソースノード内部のサブユニッ
ト、208 は画像データ等のobject、210 はデスティネー
ションノード内部の第1のメモリ空間、212 は第1のコ
ネクション、214 はデスティネーションの第nのメモリ
空間、216 は第nのコネクション、である。
【0047】コントローラ200 は、データ転送を行うソ
ースノード202 と、1つ以上のデスティネーションノー
ド204 との間の論理的な接続(以下、コネクション)を
確立するためのコネクション識別データを設定するノー
ドである。コントローラ200は、ソースノード202 、及
び、デスティネーションノード204 と独立したノードで
あってもよいし、ソースノード、または、デスティネー
ションノードとコントローラとが同じであってもかまわ
ない。
【0048】後者の場合、コントローラと同じノードで
ある、ソースノード、または、デスティネーションノー
ドと、コントローラとの間のトランザクションは、不要
である。本実施の形態では、コントローラ200 がソース
ノード202 、及び、デスティネーションノード204 とは
別のノードに存在する場合の例を示す。
【0049】本実施の形態のデータ通信装置において
は、複数のコネクションを確立することが可能である。
コントローラはユーザが選択したデスティネーションノ
ードとソースノードに同一のコネクション識別データを
Asynchronousパケットを使用して設定する。
【0050】ソースノード202 は、内部のサブユニット
206 から画像データ等のobject208を、例えば、第1の
コネクション212 を通じて、デスティネーションノード
内部の第1のメモリ空間210 にAsynchronousパケットを
使用して書き込む。このときに使用するAsynchronousパ
ケットは、例えば特定のノードIDを指定するデータを持
たず、マルチキャスト用のIDを指定したパケットであ
る。
【0051】このパケットにはコントローラによって設
定されたコネクション識別データがデータヘッダ情報と
して書き込まれており、デスティネーションノードは第
1のメモリ空間に書き込まれたデータのデータヘッダを
解析し、コントローラによって設定されたコネクション
識別情報を持つデータパケットである場合、データヘッ
ダ情報を取り除いたデータを内部バッファに書き込んで
いく。
【0052】デスティネーションノードが複数存在する
場合も、例えば、特定のノードIDを指定しないマルチキ
ャスト用のIDを使用していることにより、同時に複数の
ノードに対してデータ転送を行うことができる。
【0053】データの転送が終了すると、コントローラ
200 はソースノード202 、デスティネーションノード20
4 に設定したコネクション識別データをクリアしてデー
タ転送を終了する。
【0054】次に、図3を用いて、Asynchronousパケッ
トについて説明する。本実施の形態に係るAsynchronous
パケットは、例えば、4 byte,(32 bits 、以下クアッド
レットと称する) を単位とするデータパケットである。
Asynchronousパケットは、送信先のノードIDを指定する
パケットフォーマットと、Asynchronous Stream と呼ば
れるチャンネル番号を指定するパケットフォーマットの
2種類のフォーマットが存在する。本実施の形態では、
オブジェクトデータを転送するパケットフォーマットと
していずれか一方のフォーマットを選択することができ
る。
【0055】図3(a) に示すパケットフォーマットは、
ノードIDを指定するフォーマットである。最初の16 bit
s はdestination _IDフィールドであり、該フィールド
は受信先のノードIDを示す。次の6 bitsのフィールド
は、トランザクション・ラベル(tl)フィールドであり、
各トランザクション固有のタグである。
【0056】次の2 bitsのフィールドは、リトライ(rt)
コードであり、パケットがリトライを試みるかどうかを
指定する。次の4 bitsのフィールドは、トランザクショ
ンコード(tcode) である。tcodeは、パケットのフォー
マットや、実行しなければならないトランザクションの
タイプを指定する。
【0057】本実施の形態においては、例えば、この値
が00012 である、データブロックの書き込みリクエスト
のトランザクションを用いる。次の4 bitsのフィールド
は、プライオリティ(pri) フィールドであり、優先順位
を指定する。本実施の形態においては、Asynchronousパ
ケットを用いているので、このフィールドの値は00002
である。
【0058】次の16 bits はsource_IDフィールドであ
り、送信側のノードIDを示す。次の48 bits はdestinat
ion _offsetフィールドであり、パケットの受信先ノー
ドアドレスの、下位48 bits がこのフィールドによって
指定される。
【0059】次の16 bits はdata_lengthフィールドで
あり、後述するデータフィールドの長さを、バイト単位
で示している。次の16 bits はextended_tcode フィー
ルドであり、本実施の形態に用いられるデータブロック
の書き込みリクエストトランザクションにおいては、こ
の値は000016である。
【0060】次の32 bits はheader_CRC フィールドで
あり、上述したdestination _IDフィールドからextend
ed_tcode フィールドまでを、パケットヘッダと称し、
該ヘッダパケットのエラー検出に用いられる。
【0061】次のフィールドは可変長のデータフィール
ドであり、該データフィールドをパケットのペイロード
と称する。本実施の形態においては、該データフィール
ドがクアッドレットの倍数でない場合、クアッドレット
に満たないビットには0 が詰められる。次の32 bits の
フィールドはdata_CRC フィールドであり、上記のhead
er_CRC フィールドと同様に、該データフィールドのエ
ラー検出に用いられる。
【0062】図3(b) に示すパケットフォーマットは、
チャンネル番号を指定するAsynchronous stream フォー
マットである。最初の16 bits はdata_lengthフィール
ドであり、後述するデータフィールドの長さを、バイト
単位で示している。
【0063】次の2 bitsはtag フィールドであり、この
値は002 である。次の6 bitsはchannel フィールドであ
り、このパケットのチャンネル番号を表す。受信ノード
はこのチャンネル番号を用いてパケットを識別する。次
の4 bitsはトランザクションコード(tcode) である。As
ynchronous streamパケットでは、A16 である。
【0064】次の4 bitsはSynchronization code(sy)フ
ィールドであり、このパケットを使用するアプリケーシ
ョンによって、この値は決定される。次の32 bits はhe
ader_CRC フィールドであり、上述したdata_lengthフ
ィールドからsyフィールドフィールドまでを、パケット
ヘッダと称し、該ヘッダパケットのエラー検出に用いら
れる。
【0065】次のフィールドは可変長のデータフィール
ドであり、該データフィールドをパケットのペイロード
と称する。本実施の形態においては、該データフィール
ドがクアッドレットの倍数でない場合、クアッドレット
に満たないビットには 0が詰められる。
【0066】次の32 bits のフィールドはdata_CRC フ
ィールドであり、上記のheader_CRC フィールドと同様
に、該データフィールドのエラー検出に用いられる。次
に、図4を用いて、上述した、コントローラ200 、ソー
スノード202 、デスティネーションノード204 の間で行
われるAsynchronousトランザクションについて説明す
る。本実施の形態では1つのソースノードと1つのデス
ティネーションノードの間にコネクションを設定した場
合を説明する。
【0067】コントローラはユーザーが選択したデステ
ィネーションノードに対して、コネクションを設定する
ためのSET DESTINATION コマンドパケットを送信する。
このパケットにはコントローラノードのROM 内に書き込
まれているnode_vendor_id,chip _id_hi,chip _id
_loのデータとこのコネクションに割り当てられたconn
ection_id が書き込まれている。
【0068】1394ノードが持つnode_vendor_id,chip
_id_hi,chip _id_loを組み合わせた64ビットのデー
タはEUI-64(Extended Unique Identifier, 64bits)と呼
ばれ、そのノード固有のデータであり、1つの通信シス
テム内に同じEUI-64を持つ1394ノードは存在しない。本
実施の形態ではEUI-64とconnection_idを組み合わせた
データをコネクション識別データとして使用する。
【0069】バス上に複数のコントローラが存在する場
合でも各コントローラのEUI-64とconnection_idの組み
合わせをコネクション識別データとすることにより、各
コントローラは各コントローラがコネクションに割り当
てたconnection_idのみを管理することでバス上で一意
に定まるコネクション識別データを管理することができ
る。
【0070】図5に、上記コマンドパケットのフォーマ
ット例を示す。ここに示すフォーマットのデータは図3
(a) のデータフィールドにAsynchronousパケットのペイ
ロードとしてセットされてデスティネーションノードに
送信される。
【0071】ctype フィールドはコマンドの種類を示す
物であり、表1に示すコマンドタイプを指定する。SET
DESTINATION コマンドの場合はControl を指定する。su
bunit _type,subunit ID フィールドは、指定したノー
ド内のどのユニットに対してのコマンドなのかを示すフ
ィールドである。opcode,operandフィールドは実際のコ
マンドを内容を指定するフィールドである。
【0072】
【表1】
【0073】図7に、上記SET DESTINATION コマンドパ
ケットに使用されるopcode,operandの例を示す。opcode
フィールドには、デスティネーションに対してコネクシ
ョン識別データを設定するためのパケットであることを
示すコードがセットされる。
【0074】operand[0]〜operand[2],operand[3],oper
and[4]〜operand[7]のフィールドにはそれぞれコントロ
ーラノードのROM 内に書き込まれているnode_vendor_
id,chip _id_hi,chip _id_loのデータがセットされ
る。operand[8]にはコントローラによって管理されるco
nnection_id 値がセットされる。コントローラからデ
スティネーションに対してこのパケットを送信する場合
は残りのoperand のフィールドにはダミーデータをセッ
トする。
【0075】上記SET DESTINATION コマンドパケットを
受け取ったデスティネーションノードは、コントローラ
ノードにSET DESTINATION レスポンスパケットを送信す
る。図6に、このレスポンスパケットのフォーマット例
を示す。ここに示すフォーマットのデータは図3のデー
タフィールドにAsynchronousパケットのペイロードとし
てセットされてコントローラノードに送信される。
【0076】responseフィールドは、レスポンスの種類
を示す物であり、表2に示すレスポンスタイプを指定す
る。subunit _type,subunit ID フィールドは、ノード
内のどのユニットからのレスポンスなのかを示すフィー
ルドである。opcode,operandフィールドはレスポンスデ
ータを指定するフィールドである。
【0077】
【表2】
【0078】デスティネーションがデータトランザクシ
ョンのコネクションを設定することが可能な場合は、re
sponseフィールドにInterim を設定し(ソースノードと
のデータトランザクションが終了した時点でAcceptedの
レスポンスを再度コントローラノードに送信する)、不
可能な場合はRejectedを設定する。opcode,operandフィ
ールドは図7に示すフォーマットで、opcodeにはSET DE
STINATION レスポンスパケットであることを示すコード
を、node_vendor_id,chip _id_hi,chip _id_lo,c
onnection _idフィールドはコントローラから指定され
たデータを設定する。
【0079】コネクション設定が可能な場合はmax _re
c フィールドにIEEE1394で規定されるデスティネーショ
ンノードのmax _rec 値(Asyncronous の1パケットで
受信できるデータサイズを示すデータである)を設定
し、buffer_size フィールドにデータ受信に使用でき
るバッファサイズを設定する。
【0080】コネクション設定が不可能な場合、max _
rec,buffer_size フィールドはコントローラからのコ
ントロールコマンドパケットに設定されていたダミーデ
ータと同じデータを設定する。status_infoフィールド
にはコマンドの実行状況を設定する。表3にSET DESTIN
ATION レスポンスパケットのstatus値の例を示す。コネ
クション設定可能な場合はSuccess を、不可能な場合は
Busyを設定する。
【0081】
【表3】
【0082】デスティネーションノードからInterim の
SET DESTINATION レスポンスパケットを受信した後、コ
ントローラノードはユーザが選択したソースノードに対
して、コネクションを設定するためのSET SOURCEコマン
ドパケットを送信する。
【0083】このパケットには上記デスティネーション
ノードに設定したnode_vendor_id,chip _id_hi,chi
p _id_lo,connection _idが書き込まれている。この
コマンドパケットのフォーマットも図5に示すものでct
ype フィールドにはControlが設定される。また上記フ
ォーマットのデータは図3(a) のデータフィールドにAs
ynchronousパケットのペイロードとしてセットされてソ
ースノードに送信される。
【0084】図8に上記SET SOURCEコマンドパケットに
格納するデータの一例を示す。opcodeフィールドには、
ソースノードに対してコネクション識別データを設定す
るためのパケットであることを示すコードがセットされ
る。
【0085】operand[0]〜operand[2],operand[3],oper
and[4]〜operand[7],operand[8] のフィールドには上記
デスティネーションノードに設定したnode_vendor_i
d,chip _id_hi,chip _id_lo,connection _idのデ
ータがセットされる。
【0086】operand[9]のmax _rec フィールド及びop
erand[10] 〜operand[12] のbuffer_size には、デス
ティネーションノードからのSET DESTINATION レスポン
スパケットにセットされていたmax _rec,buffer_size
のデータがセットされる。operand[13] のnumber_of
_destinationsフィールドにはデスティネーションの数
がセットされる。
【0087】図4に示すフローでは、1対1のトランザ
クションなので、この場合は1がセットされる。operan
d[14] のstatus_infoにはダミーデータがセットされ
る。上記SET SOURCEコマンドパケットを受け取ったソー
スノードは、コントローラノードにSET SOURCEレスポン
スパケットを送信する。SET SOURCEレスポンスパケット
のフォーマットは図6に示すフォーマットである。ま
た、上記フォーマットのデータは図3(a) のデータフィ
ールドにAsynchronousパケットのペイロードとしてセッ
トされてコントローラノードに送信される。
【0088】ソースノードがデータトランザクションの
コネクションを設定することが可能な場合は、response
フィールドにAcceptedを設定し、不可能な場合はReject
edを設定する。opcode,operandフィールドは図8に示す
データが格納される。opcodeにはSET SOURCEレスポンス
パケットであることを示すコードを、node_vendor_i
d,chip _id_hi,chip _id_lo,connection _idフィ
ールドはコントローラから指定されたデータを設定す
る。
【0089】データトランザクションのコネクションを
設定できる場合、パケットからコネクション識別データ
を取りだしてノード内部のバッファに記憶する。max _
rec,buffer_sizeフィールドはSET SOURCEコマンドパケ
ットにセットされていたデータを設定する。
【0090】本実施の形態では、ソースノードと複数の
デスティネーションノード間でのコネクションを設定で
きるが、Asynchronous受信用のFIFO容量等の関係で、各
ソースノードは同時に接続できるデスティネーションノ
ードの数が制限される。
【0091】SET SOURCEコマンドパケットのnumber_of
_destinationsフィールドの値を調べて、接続可能な数
値以下の場合はその値をSET SOURCEレスポンスパケット
のnumber_of_destinationsフィールドにセットする。
接続可能な数値を超える場合は、接続可能なノード数の
値をセットする。
【0092】status_infoフィールドはコマンドの実行
状況を設定する。表4にSET SOURCEレスポンスパケット
のstatus値の例を示す。コネクション設定可能な場合
で、デスティネーションノード数が接続可能なノード数
以下の場合はSuccess を、接続可能なノード数を超えて
いる場合はToo many destinations を設定する。コネク
ション設定不可能な場合はBusyを設定する。
【0093】
【表4】
【0094】ソースノードからAcceptedのSET SOURCEレ
スポンスパケットを受信した後、コントローラノードは
SET _SOURCEレスポンスパケットのstatus_infoフィー
ルドを調べてSuccess であることを確認すると、ソース
ノードに対してOBJECT SENDコマンドパケットを送信す
る。
【0095】ソースノードでは本実施の形態で示されな
い何らかの手段によって、あらかじめ送信を行うデータ
が選択されているものとする。このパケットには上記ソ
ースノードに設定したnode_vendor_id,chip _id_h
i,chip _id_lo,connection_idが書き込まれている。
【0096】このコマンドパケットのフォーマットも図
5に示すものでctype フィールドにはControl が設定さ
れる。また、上記フォーマットのデータは図3(a) のデ
ータフィールドにAsynchronousパケットのペイロードと
してセットされてソースノードに送信される。
【0097】図9に、上記OBJECT SEND コマンドパケッ
トに格納されるデータの一例を示す。opcodeフィールド
には、ソースノードに対して選択されているオブジェク
トデータの送信開始を指示するパケットであることを示
すコードがセットされる。
【0098】operand[0]〜operand[2],operand[3],oper
and[4]〜operand[7],operand[8] のフィールドには上記
ソースノードに設定したnode_vendor_id,chip _id_
hi,chip _id_lo,connection _idのデータ、すなわ
ち、コントローラのEUI-64がセットされる。operand[9]
のsubfunction フィールドにはこのコマンドパケットで
指示される実際の動作を表すコードがセットされる。こ
のコードは表5に示すようなコードで、データ送信の開
始を指示する場合はsendがセットされる。operand[10]
のstatus_infoにはダミーデータがセットされる。
【0099】
【表5】
【0100】上記OBJECT SEND コマンドパケットを受け
取ったソースノードは、コントローラノードにOBJECT S
END レスポンスパケットを送信する。OBJECT SEND レス
ポンスパケットのフォーマットも図6に示すフォーマッ
トである。また上記フォーマットのデータは図3(a) の
データフィールドにAsynchronousパケットのペイロード
としてセットされてコントローラノードに送信される。
【0101】ソースノードはOBJECT SEND コマンドパケ
ットに設定されているコネクション識別データを調べ
て、自ノードに設定されているデータと一致する場合で
データ送信開始が可能な場合はresponseフィールドにIn
terim を設定し(デスティネーションノードとのデータ
トランザクションが終了した時点でAcceptedのレスポン
スを再度コントローラノードに送信する)、そうでない
場合はRejectedを設定する。
【0102】opcode,operandフィールドは、図9に示す
データが格納される。opcodeにはOBJECT SEND レスポン
スパケットであることを示すコードを、node_vendor_
id,chip _id_hi,chip _id_lo,connection _id,sub
functionフィールドにはコントローラからのOBJECT SEN
D コマンドパケットに設定されていたデータを設定す
る。
【0103】status_infoフィールドはコマンドの実行
状況を設定する。表6にOBJECT SEND レスポンスパケッ
トのstatus値の例を示す。データ送信開始が可能な場合
はSuccess を設定し、そうでない場合は送信開始が不可
能な理由に応じたデータを設定する。
【0104】
【表6】
【0105】以上のAsynchronousトランザクションをコ
ントローラノード、デスティネーションノード、ソース
ノードの間で行うことにより、コネクションの設定が完
了し、オブジェクトデータのトランザクションが開始さ
れる。上記SET DESTINATION,SET SOURCE,OBJECT SENDパ
ケットはそれぞれ図3(a) のdestination _IDフィール
ドに受信ノードのノードIDを指定したパケットを使用し
て各ノードから送信が行われる。
【0106】コントローラノードはconnection_id管理
用のテーブルを持ち、コネクションに使用されているco
nnection_idを管理している。例えば、図19に示すよ
うな、connection_idに対応したフラグレジスタ及びma
x _rec,buffer_sizeを記憶するためのバッファを持
ち、使用中のconnection_idのflagレジスタに使用中の
ビットをセットして、そのconnection_idに対するmax
_rec 値及びbuffer_size値を保持する。このflagレジ
スタを調べて、使用されていないconnection_idを割り
当てることにより、同時に複数のコネクションを設定す
ることができる。
【0107】次に、ソースノードとデスティネーション
間で行われるオブジェクトデータのトランザクションに
ついて説明する。図10に示すように、ソースノードで
は送信オブジェクトとして128KB の静止画像データが選
択されており、デスティネーションノードは32KBのデー
タ受信用のバッファを持つものとする。また、デスティ
ネーションノードは512 バイトまでのAsynchronousパケ
ットを受信できるものとする。
【0108】この場合、デスティネーションノードは上
述のSET DESTINATION レスポンスでmax _rec フィール
ドに512 バイト、buffer_sizeフィールドに32KBを示す
データをセットしてコントローラにレスポンスを送信
し、コントローラはこのデータをSET SOURCEコマンドを
使用してソースノードに通知する。
【0109】ソースノードは、選択されているオブジェ
クトをmax _rec 値を超えないsegment データに分割し
て(本実施の形態では256byte のsegment データ)各セ
グメントをデスティネーションに送信する。図10で
は、オブジェクトデータを等しいサイズのsegment に分
割している。
【0110】図4のフローに示すように、セグメント単
位でソースノードはオブジェクトデータを送信する。こ
の送信にはAsynchronousトランザクションを使用する
が、図3(a) のAsynchronousパケットを使用する場合、
destination _idフィールドには特定のデスティネーシ
ョンノードを示すノードIDではなく、マルチキャスト用
のIDが設定される。
【0111】本実施の形態では、例えばFFDF16が設定さ
れ、オブジェクトデータの通信を行うために、destinat
ion _idがこの値にセットされているパケットをソース
ノードとデスティネーションノードとの間で送受信す
る。また、図3(b) のフォーマットのAsynchronous str
eam パケットフォーマットを使用する場合、特定のデス
ティネーションノードを示すノードIDではなく、所定の
ノードにより管理されたチャンネル番号がchannel フィ
ールドにセットされる。
【0112】この場合、コントローラがオブジェクトデ
ータの転送前に、上記チャンネル番号をソースノードと
デスティネーションに通知する。ソースノードとデステ
ィネーションとは、このチャンネル番号がセットされた
パケットを用いてオブジェクトデータの通信を行う。
【0113】以下では、図3(a) のパケットフォーマッ
トを使用した例を説明する。図11に、Segment に分割
されたオブジェクトデータの送信パケットフォーマット
例を示す。このフォーマットのデータは図3(a) に示す
destination _idフィールドにマルチキャスト用のIDが
設定されたAsynchronousパケットのData fieldにセット
されてソースノードから送信される。
【0114】node_vendor_id,chip _id_hi,chip _
id_lo,connection _idフィールドには、コントローラ
から設定されたコネクション識別データが設定される。
control _flags は、このデータパケットのタイプを示
す情報がセットされる。表7にソースノードで設定する
control _flags の値の例を示す。
【0115】
【表7】
【0116】sequence_numberフィールドには、このパ
ケットで送信されるsegment データの通し番号がセット
される。Segmented object data の部分に、segment 分
割されたオブジェクトのデータがセットされる。また、
図3(b) に示すパケットを使用する場合も同様に、図1
1に示すフォーマットがdata fieldにセットされる。
【0117】まず、ソースノードの動作について説明す
る。ソースノードは、送信したsegment データのトータ
ルサイズをカウントし、コントローラからSET SOURCEコ
マンドで通知されたデスティネーションのバッファサイ
ズに達するまで順次データの送信を行う。
【0118】この場合の各パケットのcontrol _flags
フィールドにはNormal data がセットされる。送信デー
タのトータルサイズがデスティネーションのバッファサ
イズを超えない適当なサイズに達した場合、そのパケッ
トのcontrol _flags フィールドにBuffer endをセット
してデータを送信する。
【0119】図10の例では、トータルサイズがデステ
ィネーションのバッファサイズと等しくなるsequence n
umber が127 のsegment の送信時に、control _flags
をBuffer_end にセットする。その後、デスティネーシ
ョンノードからレシーブレスポンスパケットが送信され
るのを待機する。
【0120】図12にレシーブレスポンスのパケットフ
ォーマット例を示す。このフォーマットのデータは、図
3(a) に示すdestination _idフィールドにマルチキャ
スト用のIDが設定されたAsynchronousパケットのData f
ieldにセットされてデスティネーションノードから送信
される。
【0121】node_vendor_id,chip _id_hi,chip _
id_lo,connection _idフィールドには、コントローラ
から設定されたコネクション識別データが設定される。
control _flags は、このデータパケットのタイプを示
す情報がセットされる。表8にデスティネーションノー
ドで設定するcontrol _flags の値の例を示す。
【0122】
【表8】
【0123】control _flags の値がReceive success
の場合は正しく受信できたデータのシーケンス番号が、
Resend requestの場合は再送を希望するデータのシーケ
ンス番号がセットされる。
【0124】ソースノードは、destination _idにマル
チキャスト用のIDが設定されているAsynchronousパケッ
トを受信して、ペイロード中のコネクション識別データ
を調べて、自ノードに設定されているデータと一致する
場合にcontrol _flags の値を調べる。この値がReceiv
e success の場合、送信segment データのトータルカウ
ントをクリアして次のsegment からデータ送信を開始す
る。
【0125】図10の例では、sequence number が255,
383 のsegment データの送信時にcontrol _flags をBu
ffer endにセットして、同様にデスティネーションから
のレスポンスを受け取った後にデータ送信を再開する。
【0126】オブジェクトの最終データの送信時にはco
ntrol _flags をObject endに設定してソースノードは
データを送信する。Buffer endの場合と同様にソースノ
ードはレシーブレスポンスを待機し、デスティネーショ
ンからのレシーブレスポンスのcontrol _flags がRece
ive success の場合、コントローラノードに対して、OB
JECT SEND レスポンスパケットを送信する。
【0127】このAsynchronousパケットのdestination
_idにはコントローラノードのノードIDを設定して送信
する。図6のresponseフィールドにはAcceptedをセット
し、図9のopcode,operand[0] 〜operand[9]にはOBJECT
SEND コマンドを受け取った直後にコントローラに対し
て送信したInterim のOBJECT SEND レスポンスと同一の
データを設定する。
【0128】operand[10] のstatus_infoフィールドに
はデータ送信の終了状態を示すコードをセットする。正
常に終了した場合はSuccess がセットされる。次に、デ
スティネーションノードの動作について説明する。
【0129】デスティネーションノードは、destinatio
n _idフィールドにマルチキャスト用のIDが設定されて
いるAsynchronousパケットを受信するとデータフィール
ド中のコネクション識別データを調べて、自ノードに設
定されているデータと一致した場合、受信用バッファの
先頭アドレスから順次segment データを書き込んでい
く。また、このときsequence number フィールドを調べ
て、欠落データの検出を行うことができる。
【0130】データパケットのcontrol _flags を調べ
て、この値がNormal data の場合は次のデータパケット
が送信されるのを待つ。control _flags の値がBuffer
endの場合、受信用バッファに書き込んだデータを別の
バッファ(ハードディスク等)にコピーして、バッファ
をクリアした後に、図12に示すフォーマットのレシー
ブレスポンスパケットをマルチキャスト用IDを使用して
送信する。
【0131】このとき、control _flags にはReceive
success を、sequence number にはBuffer endが設定さ
れたデータパケットのsequence number をセットする。
図10の例では127 がセットされる。
【0132】レシーブレスポンスを送信した後、デステ
ィネーションノードはソースノードからデータの送信が
再開されるのを待機し、データを受信すると再び受信用
バッファの先頭から順次segment データを書き込んでい
く。図10の例の場合、sequence number が255,383 の
segment データを受信すると、同様にレシーブレスポン
スを送信する。
【0133】control _flags の値がObject endのsegm
ent データを受信すると、デスティネーションノードは
同様にレシーブレスポンスを送信する。Object endに対
するレシーブレスポンスをマルチキャスト用IDを使用し
て送信した後、デスティネーションノードはコントロー
ラノードに対してSET DESTINATION レスポンスパケット
を送信する。
【0134】このAsynchronousパケットのdestination
_idにはコントローラノードのノードIDを設定して送信
する。図6のresponseフィールドにはAcceptedをセット
し、図7のopcode,operand[0] 〜operand[12] にはSET
DESTINATION コマンドを受け取った直後にコントローラ
に対して送信したInterim のSET DESTINATION レスポン
スと同一のデータを設定する。
【0135】operand[13] のstatus_info フィールド
にはデータ送信の終了状態を示すコードをセットする。
正常に終了した場合はSuccess がセットされる。上述の
手順でソースノードとデスティネーションノードの間の
オブジェクト転送が完了する。
【0136】ソースノードとデスティネーションノード
からそれぞれOBJECT SEND,SET DESTINATION のレスポン
スパケットを受信した後、コントローラノードはソース
ノード、デスティネーションノードに対してコネクショ
ンを解除するためのCLEAR CONNECTIONコマンドパケット
を送信する。
【0137】このコマンドパケットのフォーマットは図
5に示すものでctype フィールドにはControl が設定さ
れる。また上記フォーマットのデータは図3(a) のデー
タフィールドにAsynchronousパケットのペイロードとし
てセットされてソースノード、デスティネーションノー
ドに送信される。
【0138】図13に、上記CLEAR CONNECTIONコマンド
パケットのopcode,operandフィールドに格納するデータ
の一例を示す。opcodeフィールドには、コネクションの
解除パケットであることを示すコードがセットされる。
operand[0]〜operand[2],operand[3],operand[4]〜oper
and[7],operand[8] のフィールドには解除を行うコネク
ション識別データに使用されているnode_vendor_id,c
hip _id_hi,chip _id_lo,connection _idのデータ
がセットされる。
【0139】operand[9]のstatus_infoにはコネクショ
ン解除の理由を示すコードがセットされる。表9にデス
ティネーションノードに対してCLEAR CONNECTIONコマン
ドを送信する場合のstatus_infoの値の例を示す。
【0140】
【表9】
【0141】また、表10にソースノードに対してCLEA
R CONNECTIONコマンドを送信する場合のstatus_infoの
値の例を示す。
【0142】
【表10】
【0143】正常にデータ転送が終了している場合はソ
ースノード、デスティネーションノードのどちらに対し
てもstatus_infoフィールドにはTransfer is overがセ
ットされる。
【0144】上記CLEAR CONNECTIONコマンドを受信した
ソースノード及びデスティネーションノードはコネクシ
ョン識別データがそれぞれ自ノードに設定されているデ
ータと一致する場合、それぞれのノードが内部バッファ
に記憶していたコネクション識別データをクリアして、
コントローラノードに対してCLEAR CONNECTIONレスポン
スパケットを送信する。
【0145】このレスポンスパケットのフォーマットは
図6に示すもので正常にコネクションの解除が行われた
場合はresponseフィールドにはAcceptedが設定される。
また上記フォーマットのデータは図3(a) のデータフィ
ールドにAsynchronousパケットのペイロードとしてセッ
トされてコントローラノードに送信される。
【0146】上記CLEAR CONNECTIONレスポンスパケット
のopcode,operandフィールドに格納されるデータの一例
を図13に示す。opcodeにはCLEAR CONNECTIONレスポン
スパケットであることを示すコードを、node_vendor_
id,chip _id_hi,chip _id_lo,connection _id,sub
functionフィールドには解除したコネクション識別デー
タに使用していたnode_vendor_id,chip _id_hi,chi
p _id_lo,connection _idを設定する。
【0147】status_infoフィールドはコマンドの実行
状況を設定する。表11にCLEAR CONNECTIONレスポンス
パケットのstatus値の例を示す。正常にコネクションを
解除した場合はSuccess をセットする。
【0148】
【表11】
【0149】ソースノード、デスティネーションノード
からAcceptedのCLEAR CONNECTIONレスポンスパケットを
受信したコントローラノードは、コネクションを解除し
たconnection_idフラグレジスタの使用中のビットをク
リアする。以上の手順で、ソースノードとデスティネー
ションノードの間に設定された論理的なコネクションが
解除され、全てのトランザクションが終了する。
【0150】このように、コントローラが同一のコネク
ション識別データをデスティネーションノード及びソー
スノードに設定することによって、ソースノードとデス
ティネーションノード間に論理的なコネクションを設定
することができ、データ転送処理はコントローラーが介
在しない、ソース・デスティネーション間のみのトラン
ザクションで行うことができる。
【0151】(第2の実施の形態)次に、図14を用い
て第2の実施の形態を説明する。本実施の形態では図2
に示したコントローラ200 、ソースノード202 、デステ
ィネーションノード204 との間でコネクションを設定し
てデータ転送を行う。
【0152】コントローラはユーザーが選択したデステ
ィネーションノードに対して、コネクションを設定する
ためのSET DESTINATION コマンドパケットを送信する。
このパケットにはコントローラノードのROM 内に書き込
まれているnode_vendor_id,chip _id_hi,chip _id
_loのデータとこのコネクションに割り当てられたconn
ection_idが書き込まれている。
【0153】上記SET DESTINATION コマンドパケットの
フォーマットは図5に示すものでctype フィールドには
Control が設定される。また上記フォーマットのデータ
は図3(a) のデータフィールドにAsynchronousパケット
のペイロードとしてセットされてデスティネーションノ
ードに送信される。
【0154】図15に、上記SET DESTINATION コマンド
パケットに使用されるopcode,operandの例を示す。opco
deフィールドには、デスティネーションに対してコネク
ション識別データを設定するためのパケットであること
を示すコードがセットされる。
【0155】operand[0]〜operand[2],operand[3],oper
and[4]〜operand[7]のフィールドにはそれぞれコントロ
ーラノードのROM 内に書き込まれているnode_vendor_
id,chip _id_hi,chip _id_loのデータがセットされ
る。
【0156】operand[8]にはコントローラによって管理
されるconnection_id値がセットされる。コントローラ
からデスティネーションに対してこのパケットを送信す
る場合は残りのoperand のフィールドにはダミーデータ
をセットする。
【0157】上記SET DESTINATION コマンドパケットを
受け取ったデスティネーションノードは、コントローラ
ノードにSET DESTINATION レスポンスパケットを送信す
る。上記SET DESTINATION レスポンスパケットのフォー
マットは図6に示すもので、図3(a) のデータフィール
ドにAsynchronousパケットのペイロードとしてセットさ
れてコントローラノードに送信される。
【0158】デスティネーションがデータトランザクシ
ョンのコネクションを設定することが可能な場合はresp
onseフィールドにInterim を設定し(ソースノードとの
データトランザクションが終了した時点でAcceptedのレ
スポンスを再度コントローラノードに送信する)、不可
能な場合はRejectedを設定する。
【0159】opcode,operandフィールドは図15に示す
フォーマットで、opcodeにはSET DESTINATION レスポン
スパケットであることを示すコードを、node_vendor_
id,chip _id_hi,chip _id_lo,connection _idフィ
ールドはコントローラから指定されたデータを設定す
る。destination _node_vendor_id,destination_ch
ip_id_hi,destination_chip_id_loフィールドには
デスティネーションノードのROM に書き込まれているno
de_vendor_id,chip _id_hi,chip _id_loを設定す
る。
【0160】コネクション設定が可能な場合はmax _re
c フィールドにIEEE1394で規定されるデスティネーショ
ンノードのmax _rec 値(Asyncronous の1パケットで
受信できるデータサイズを示すデータである)を設定
し、buffer_size フィールドにデータ受信に使用でき
るバッファサイズを設定する。
【0161】コネクション設定が不可能な場合、max _
rec,buffer_size フィールドはコントローラからのコ
ントロールコマンドパケットに設定されていたダミーデ
ータと同じデータを設定する。status_infoフィールド
にはコマンドの実行状況を設定する。SET DESTINATION
レスポンスパケットのstatus値の例は表3に示した通り
である。コネクション設定可能な場合はSuccess を、不
可能な場合はBusyを設定する。
【0162】デスティネーションノードからInterim の
SET DESTINATION レスポンスパケットを受信した後、コ
ントローラノードはユーザが選択したソースノードに対
して、コネクションを設定するためのSET SOURCEコマン
ドパケットを送信する。このパケットには上記デスティ
ネーションノードに設定したnode_vendor_id,chip_i
d_hi,chip _id_lo,connection _idが書き込まれて
いる。
【0163】このコマンドパケットのフォーマットは図
5に示すもので、ctype フィールドにはControl が設定
される。また上記フォーマットのデータは図3(a) のデ
ータフィールドにAsynchronousパケットのペイロードと
してセットされてソースノードに送信される。
【0164】図16に上記SET SOURCEコマンドパケット
の一例を示す。opcodeフィールドには、ソースノードに
対してコネクション識別データを設定するためのパケッ
トであることを示すコードがセットされる。
【0165】node_vendor_id,chip _id_hi,chip _
id_lo,connection _idフィールドには上記デスティネ
ーションノードに設定したnode_vendor_id,chip _id
_hi,chip _id_lo,connection _idのデータがセット
される。max _rec フィールド及びbuffer_size フィ
ールドには、デスティネーションノードからのSET DEST
INATION レスポンスパケットにセットされていたmax _
rec,buffer_sizeのデータがセットされる。number_of
_destinationsフィールドにはデスティネーションの数
がセットされる。
【0166】図14に示すフローでは1対1のトランザ
クションなので、この場合は1がセットされる。source
_node_vendor_id,source _chip_id_hi,source _
chip_id_lo,status _infoにはダミーデータがセット
される。
【0167】上記SET SOURCEコマンドパケットを受け取
ったソースノードは、コントローラノードにSET SOURCE
レスポンスパケットを送信する。SET SOURCEレスポンス
パケットのフォーマットは図6に示すフォーマットであ
る。また上記フォーマットのデータは図3(a) のデータ
フィールドにAsynchronousパケットのペイロードとして
セットされてコントローラノードに送信される。
【0168】ソースノードがデータトランザクションの
コネクションを設定することが可能な場合はresponseフ
ィールドにAcceptedを設定し、不可能な場合はRejected
を設定する。opcode,operandフィールドは図16に示す
フォーマットで、opcodeにはSET SOURCEレスポンスパケ
ットであることを示すコードを、node_vendor_id,chi
p _id_hi,chip _id_lo,connection _idフィールド
はコントローラから指定されたデータを設定する。
【0169】データトランザクションのコネクションを
設定できる場合、パケットからコネクション識別データ
を取りだしてノード内部のバッファに記憶する。source
_node_vendor_id,source _chip_id_hi,source _
chip_id_loフィールドにはソースノードのROM に書き
込まれているnode_vendor_id,chip _id_hi,chip_i
d_loを設定する。
【0170】max _rec,buffer_sizeフィールドはSET
SOURCEコマンドパケットにセットされていたデータを設
定する。本実施の形態ではソースノードと複数のデステ
ィネーションノード間でのコネクションを設定できる
が、Asynchronous受信用のFIFO容量等の関係で、各ソー
スノードは同時に接続できるデスティネーションノード
の数が制限される。
【0171】SET SOURCEコマンドパケットのnumber_of
_destinationsフィールドの値を調べて、接続可能な数
値以下の場合はその値をSET SOURCEレスポンスパケット
のnumber_of_destinationsフィールドにセットする。
接続可能な数値を超える場合は、接続可能なノード数の
値をセットする。status_infoフィールドはコマンドの
実行状況を設定する。
【0172】SET SOURCEレスポンスパケットのstatus値
の例は表4に示す通りである。コネクション設定可能な
場合で、デスティネーションノード数が接続可能なノー
ド数以下の場合はSuccess を、接続可能なノード数を超
えている場合はToo many destinations を設定する。コ
ネクション設定不可能な場合はBusyを設定する。
【0173】ソースノードからAcceptedのSET SOURCEレ
スポンスパケットを受信した後、コントローラノードは
SET _SOURCEレスポンスパケットのstatus_infoフィー
ルドを調べてSuccess であることを確認すると、ソース
ノードに対してOBJECT SENDコマンドパケットを送信す
る。OBJECT SEND コマンドの動作については第1の実施
の形態と同様であるので説明を省略する。
【0174】以上のAsynchronousトランザクションをコ
ントローラノード、デスティネーションノード、ソース
ノードの間で行うことにより、コネクションの設定が完
了し、オブジェクトデータのトランザクションが開始さ
れる。上記SET DESTINATION,SET SOURCE,OBJECT SENDパ
ケットはそれぞれ図3(a) のdestination _IDフィール
ドに受信ノードのノードIDを指定したパケットを使用し
て各ノードから送信が行われる。
【0175】コントローラノードはconnection_id管理
用のテーブルを持ち、コネクションに使用されているco
nnection_idを管理している。たとえば図20に示すよ
うな、connection_idに対応したflagレジスタ及びmax
_rec,buffer_size, デスティネーションノード数, デ
スティネーションノード・ソースノードのEUI-64の値を
記憶するためのデータバッファを持ち、使用中のconnec
tion_idのflagレジスタに使用中のビットをセットし
て、そのconnection_idに対する上述の各データを保持
する。このフラグレジスタを調べて、使用されていない
connection_idを割り当てることにより、同時に複数の
コネクションを設定することができる。
【0176】OBJECT SEND コマンドに従って、第1の実
施の形態と同様にオブジェクトデータの転送が開始され
る。図14中のData Segment _m+1 のデータをデステ
ィネーションノードが受信した後にバスリセットが発生
した場合、バス上の各ノードはIEEE1394の規格に定めら
れた手順でバスの再構築を行う。これにより、ソースノ
ードとデスティネーションノードのノードIDは再設定さ
れる。
【0177】バスの再構築が終了すると、デスティネー
ションノードはマルチキャストIDをdestination _idフ
ィールドに設定したAsynchronousパケット(図3(a) に
示す)を使用して、図12に示すフォーマットのレシー
ブレスポンスパケットを送信する。また、オブジェクト
データのトランザクションを図3(b) に示すパケットフ
ォーマットにて行っている場合、デスティネーション
は、所定のチャンネル番号をchannel フィールドに格納
したパケットを用いてレシーブレスポンスパケットを送
信する。
【0178】node_vendor_id,chip _id_hi,chip _
id_lo,connection _idフィールドには、それぞれバス
リセット前にコントローラノードによって設定されたno
de_vendor_id,chip _id_hi,chip _id_lo,connect
ion _idの値をセットする。control _flags にはRese
nd requestを、sequence number にはバスリセット前に
受信できたsegment のシーケンス番号に1を加えたm+2
をセットする。
【0179】バスリセット後、ソースノードはデスティ
ネーションノードからResend requestが設定されたレシ
ーブレスポンスパケットが送信されるのを待機する。受
信したレシーブレスポンスパケットのnode_vendor_i
d,chip _id_hi,chip _id_lo,connection _idを調
べて、バスリセット前に使用していたデータと一致した
場合、要求されたsequense_numberのsegment データか
らデータの送信を再開する。
【0180】バスリセット後、コントローラノードはソ
ースノードとデスティネーションノードIDを管理するた
めに、connection_idの管理用テーブルと、connection
_idに対応したデータバッファからコネクションが設定
されているデスティネーションノードとソースノードの
EUI-64の値を読み出して、バスリセットによって変更さ
れたデスティネーションノードとソースノードのノード
IDを検出する。
【0181】このノードIDの検出は、例えばバス上の全
てのノードに対して、そのノードのROM に書き込まれて
いるEUI-64値をAsynchronousReadトランザクションを使
用して読み出すことによって行うことができる。
【0182】各ノードIDの検出が終了すると、コントロ
ーラノードはコネクションの再設定のためデスティネー
ションノードに対してSET DESTINATION コマンドパケッ
トを、ソースノードに対してOBJECT SEND コマンドパケ
ットを送信する。各コマンドパケットを受信したデステ
ィネーションノード及び、ソースノードはそれぞれ対応
するレスポンスパケットをコントローラに対して送信す
る。このときのresponseフィールドはInterim が設定さ
れる。
【0183】上記の手順により、バスリセット後にデー
タ転送及び、コネクションの再設定が行われ、以後のデ
ータ転送及びコネクションの解除は第1の実施の形態と
同様の手順で行うことができる。
【0184】本実施の形態では、SET DESTINATION,SET
SOURCEコマンドによってデスティネーションノード及び
ソースノードのEUI-64の値を取得しているが、SET DEST
INATION,SET SOURCEコマンドは第1の実施の形態と同様
のフォーマットのものを用いて、別のAsynchronousRead
トランザクション等を使用してEUI-64の値を取得するこ
とも可能である。
【0185】このように、コントローラが同一のバスリ
セットによって変化しないコネクション識別データをデ
スティネーションノード及びソースノードに設定するこ
とによって、ソースノードとデスティネーションノード
間に論理的なコネクションを設定することができ、バス
リセットが発生した場合も迅速にデータ転送の再開を行
うことができる。
【0186】(第3の実施の形態)次に、図17に示す
ように、ソースノードと複数のデスティネーションとの
間にコネクションを設定してデータ転送を行う場合につ
いて説明する。各デスティネーションは異なるサイズの
受信バッファを持っている。デスティネーション_1 は
32KB、デスティネーション_2 は48KB、デスティネーシ
ョン_3 は64KBの受信バッファを持つ。また、それぞれ
のmax _rec 値は、デスティネーション_1 が512byte,
デスティネーション_2 が1024byte, デスティネーショ
ン_3 が1024byteを示している。
【0187】図18を用いて、本実施の形態のデータ転
送の手順について説明する。コントローラはユーザーが
選択したデスティネーションノードに対して順次、コネ
クションを設定するためのSET DESTINATION コマンドパ
ケットを送信する。このコマンドパケットは第1の実施
の形態に示したパケットと同様のフォーマットである。
各デスティネーションノードに対して送信されるSET DE
STINATION コマンドパケットのnode_vendor_id,chip
_id_hi,chip _id_lo,connection_idフィールドは
全て同じ値がセットされている。
【0188】SET DESTINATION コマンドパケットを受信
した各デスティネーションノードはパケットからコネク
ション識別データを自ノード内のバッファにセットし
て、コントローラノードに対して第1の実施の形態と同
様にSET DESTINATION レスポンスパケットを送信する。
【0189】このとき、デスティネーション_1 は図7
中のmax _rec フィールドに512byte を示すデータを、
buffer_sizeフィールドに32KBを示すデータをセットし
て、Interim のレスポンスパケットを送信する。
【0190】同様に、デスティネーション_2 はmax _
rec フィールドに1024byteを示すデータを、buffer_si
zeフィールドに48KBを示すデータを、デスティネーショ
ン_3 はmax _rec フィールドに1024byteを示すデータ
を、buffer_sizeフィールドに64KBを示すデータをセッ
トして、Interim のレスポンスパケットを送信する。
【0191】各デスティネーションノードからInterim
のSET DESTINATION レスポンスパケットを受信した後、
コントローラノードはユーザが選択したソースノードに
対して、コネクションを設定するためのSET SOURCEコマ
ンドパケットを送信する。
【0192】このSET SOURCEコマンドパケットは、第1
の実施の形態に示したパケットと同様のフォーマットで
ある。このパケットには上記各デスティネーションノー
ドに設定したnode_vendor_id,chip _id_hi,chip _
id_lo,connection _idが書き込まれている。max _re
c フィールドには、各ディスティネーションから受信し
たmax _rec 値の中で最小のデータをセットする。
【0193】本実施の形態の場合、3つのデスティネー
ションから受信したmax _rec が示す値はそれぞれ512b
yte,1024byte,1024byte であるので、512byte を示すデ
ータをセットする。また、buffer_sizeフィールドにも
各ディスティネーションから受信したbuffer_size値の
中で最小のデータをセットする。本実施の形態の場合、
3つのデスティネーションから受信したbuffer_sizeが
示す値はそれぞれ32KB,48KB,64KBであるので、32KBを示
すデータをセットする。number_of_destinationsフィ
ールドにはデスティネーションの数を示す3がセットさ
れる。
【0194】上記SET SOURCEコマンドパケットを受け取
ったソースノードは、コントローラノードにSET SOURCE
レスポンスパケットを送信する。SET SOURCEレスポンス
パケットは第1の実施の形態に示したパケットと同様の
フォーマットであり、第1の実施の形態と同様に各フィ
ールドにデータを設定してレスポンスパケットを送信す
る。
【0195】ソースノードからAcceptedのSET SOURCEレ
スポンスパケットを受信した後、コントローラノードは
SET _SOURCEレスポンスパケットのstatus_infoフィー
ルドを調べてSuccess であることを確認すると、ソース
ノードに対してOBJECT SENDコマンドパケットを送信す
る。OBJECT SEND コマンドの動作については第1の実施
の形態と同様であるので説明を省略する。
【0196】以上のAsynchronousトランザクションをコ
ントローラノード、各デスティネーションノード、ソー
スノードの間で行うことにより、ソースノードと複数の
デスティネーションノード間のコネクションの設定が完
了し、オブジェクトデータのトランザクションが開始さ
れる。上記SET DESTINATION,SET SOURCE,OBJECT SENDパ
ケットはそれぞれ図3(a) のdestination _IDフィール
ドに受信ノードのノードIDを指定したパケットを使用し
て各ノードから送信が行われる。
【0197】OBJECT SEND コマンドに従って、第1の実
施の形態と同様にオブジェクトデータの転送が開始され
る。第1の実施の形態と同様にソースノードはdestinet
ion_idフィールドにマルチキャスト用のIDを設定した
コネクション識別データを含むsegment データパケット
をAsynchronous送信する。各デスティネーションノード
は受信したマルチキャスト用IDを持つパケットのコネク
ション識別データを判別し、自ノードに設定されている
コネクション識別データと一致する場合segment データ
を内部の受信バッファに順次書き込んでいく。
【0198】ソースノードは第1の実施の形態と同様
に、送信したsegment データのトータルサイズをカウン
トし、コントローラからSET SOURCEコマンドで通知され
たデスティネーションのバッファサイズに達するまで順
次データの送信を行う。
【0199】この場合の各パケットのcontrol _flags
フィールドにはNormal data がセットされる。送信デー
タのトータルサイズがデスティネーションのバッファサ
イズを超えない適当なサイズに達した場合、そのパケッ
トのcontrol _flags フィールドにBuffer endをセット
してデータを送信する。
【0200】図17の例では、トータルサイズがSET SO
URCEコマンドパケットで通知されたデスティネーション
のバッファサイズと等しくなるsequence number が127
のsegment の送信時に、control _flags をBuffer_en
d にセットする。その後、各デスティネーションノード
からレシーブレスポンスパケットが送信されるのを待機
する。
【0201】各デスティネーションノードはデータパケ
ットを受信するとパケット中のcontrol _flags を調べ
て、この値がNormal data の場合は次のデータパケット
が送信されるのを待つ。control _flags の値がBuffer
endの場合、受信用バッファに書き込んだデータを別の
バッファ(ハードディスク等)にコピーして、バッファ
をクリアした後に、図12に示すフォーマットのレシー
ブレスポンスパケットをマルチキャスト用IDを使用して
送信する。このとき、control _flags にはReceive su
ccess を、sequence number にはBuffer endが設定され
たデータパケットのsequence number をセットする。図
17の例では127 がセットされる。
【0202】control _flags にBuffer endをセットし
たsegment データを送信した後、ソースノードは各デス
ティネーションノードからレシーブレスポンスパケット
を受信して第1の実施の形態と同様に、続きのsegment
データの転送を再開する。オブジェクトの最終segment
データの送信時には、第1の実施の形態と同様にcontro
l _flags フィールドにObject endをセットして同様に
デスティネーションからのレシーブレスポンスを待機す
る。
【0203】各デスティネーションはObject endがセッ
トされたsegment データを受信すると、同様にレシーブ
レスポンスを送信する。Object endに対するレシーブレ
スポンスをマルチキャスト用IDを使用して送信した後、
各デスティネーションノードはコントローラノードに対
して第1の実施の形態と同様にSET DESTINATION レスポ
ンスパケットを送信する。
【0204】また、各デスティネーションからObject e
ndのsegment データに対するレシーブレスポンスパケッ
トを受信した後、ソースノードは第1の実施の形態と同
様にコントローラノードに対してOBJECT SEND レスポン
スパケットを送信する。上述の手順でソースノードと複
数のデスティネーションノードの間のオブジェクト転送
が完了する。
【0205】ソースノードと各デスティネーションノー
ドからそれぞれOBJECT SEND,SET DESTINATION のレスポ
ンスパケットを受信した後、第1の実施の形態と同様に
コントローラノードは各デスティネーションノードとソ
ースノードに対してコネクションを解除するためのCLEA
R CONNECTIONコマンドパケットを送信する。このCLEAR
CONNECTIONコマンドパケットのは第1の実施の形態で示
したパケットと同様のフォーマットである。
【0206】CLEAR CONNECTIONコマンドパケットを受信
した各デスティネーションノードとソースノードは第1
の実施の形態と同様の手順でコネクションの解除を行っ
て、CLEAR CONNECTIONレスポンスパケットをコントロー
ラノードにそれぞれ送信する。
【0207】各デスティネーションノード、ソースノー
ドからAcceptedのCLEAR CONNECTIONレスポンスパケット
を受信したコントローラノードは、コネクションを解除
したconnection_idフラグレジスタの使用中のビットを
クリアする。以上の手順で、ソースノードと複数のデス
ティネーションノードの間に設定された論理的なコネク
ションが解除され、全てのトランザクションが終了す
る。
【0208】なお、第3の実施の形態では、第1の実施
の形態と同様に、図3(b) に示すパケットフォーマット
を用いてオブジェクトデータのトランザクションを行う
こもとできる。
【0209】また、第3の実施の形態において、オブジ
ェクトデータの転送中にバスリセットが発生しても、各
デスティネーションノードが第2の実施の形態と同様の
処理を行うことによって、オブジェクトデータの転送を
再開させることもできる。この場合、ソースノードは各
デスティネーションノードのレシーブレスポンスパケッ
トを受信し、最小となるシーケンス番号を加えた番号の
セグメントデータから転送を再開する。また、コントロ
ーラは、ソースノードと全てのデスティネーションノー
ドのノードIDを問い合わせて管理する。
【0210】このように、コントローラが同一のコネク
ション識別データを複数のデスティネーションノード及
びソースノードに設定することによって、ソースノード
と複数のデスティネーションノード間に論理的なコネク
ションを設定することができ、データ転送処理はコント
ローラーが介在しない、ソース・デスティネーション間
のみのトランザクションで行うことができる。
【0211】また、各デスティネーションの持つ受信能
力が異なる場合でも、その中の最も低い能力にあわせて
データ転送を行うことにより、複数のデスティネーショ
ンに対してデータ転送を行う場合も、煩雑な処理を必要
としないデータ転送を行うことができる。
【0212】(本実施の形態の他の実施形態)本実施の
形態は複数の機器(例えば、ホストコンピュータ、イン
タフェース機器、リーダ、プリンタ等)から構成される
システムに適用しても1つの機器からなる装置に適用し
ても良い。
【0213】また、上述した実施形態の機能を実現する
ように各種のデバイスを動作させるように、上記各種デ
バイスと接続された装置あるいはシステム内のコンピュ
ータに対し、上記実施形態の機能を実現するためのソフ
トウェアのプログラムコードを供給し、そのシステムあ
るいは装置のコンピュータ(CPUあるいはMPU)に
格納されたプログラムに従って上記各種デバイスを動作
させることによって実施したものも、本実施の形態の範
疇に含まれる。
【0214】また、この場合、上記ソフトウェアのプロ
グラムコード自体が上述した実施形態の機能を実現する
ことになり、そのプログラムコード自体、およびそのプ
ログラムコードをコンピュータに供給するための手段、
例えばかかるプログラムコードを格納した記憶媒体は本
実施の形態を構成する。かかるプログラムコードを記憶
する記憶媒体としては、例えばフロッピーディスク、ハ
ードディスク、光ディスク、光磁気ディスク、CD−R
OM、磁気テープ、不揮発性のメモリカード、ROM等
を用いることができる。
【0215】また、コンピュータが供給されたプログラ
ムコードを実行することにより、上述の実施形態の機能
が実現されるだけでなく、そのプログラムコードがコン
ピュータにおいて稼働しているOS(オペレーティング
システム)あるいは他のアプリケーションソフト等の共
同して上述の実施形態の機能が実現される場合にもかか
るプログラムコードは本実施の形態の実施形態に含まれ
ることは言うまでもない。
【0216】さらに、供給されたプログラムコードがコ
ンピュータの機能拡張ボードやコンピュータに接続され
た機能拡張ユニットに備わるメモリに格納された後、そ
のプログラムコードの指示に基づいてその機能拡張ボー
ドや機能拡張ユニットに備わるCPU等が実際の処理の
一部または全部を行い、その処理によって上述した実施
形態の機能が実現される場合にも本実施の形態に含まれ
ることは言うまでもない。
【0217】
【発明の効果】上記説明したように、本発明において
は、従来の通信方式による不便利性を解決することがで
きる効果が得られる。また、リアルタイム性を必要とし
ないデータの転送においても、高速にデータを転送する
ことを簡便に可能とする効果が得られる。また、本発明
の他の特徴によれば、通信帯域をあまり使用しない場合
に、多数の通信を同時に行なうことができる効果が得ら
れる。また、本発明の他の特徴によれば、データ転送中
断により失われたデータを容易に検出することが可能で
あるとともに、該データ転送の中断からの復帰を、確実
に、かつ、簡単に行なうことができる効果が得られる。
また、本発明によれば、複数のコントロール間でコネク
ション識別データが重複しないように調整する必要がな
いので、コントローラは、簡単に確実にコネクションを
設定できる効果が得られる。また、本発明の他の特徴に
よれば、複数のコントロールノードが個別に複数の論理
的コネクションをソース、デスティネーション間に設定
した場合も、個々のノードは、コネクションを設定した
コントローラを上記ノード固有の情報であるEUI-64など
の固有のノードIDにて判別することが可能となるの
で、個々のノードは、確実に論理的コネクションを識別
できる効果が得られる。本発明の他の特徴によれば、1
個のコネクション識別データにより、容易に複数のデス
ティネーションに対してデーターを単一セグメントパケ
ットで送信することができるため、バス上のトラフィッ
クを低減する効果が得られる。また、本発明のの他の特
徴によれば、それぞれのデスティネーションの受信バッ
ファが異なっていても、ソースは、それぞれのコントロ
ーラから指示された単一のバッファサイズのみを管理し
てデータ送信を行うことができるため、実装が容易とな
る効果が得られる。
【図面の簡単な説明】
【図1】第1の実施の形態の実施の形態を表すブロック
図である。
【図2】第1の実施の形態に係るデータ転送動作の概要
を説明するための図である。
【図3】Asynchronous トランザクションに使用される
パケットを示す図である。
【図4】第1の実施の形態に係る各ノード間のコマンド
やデータの授受のダイアグラムを示す図である。
【図5】第1の実施の形態のコマンドパケットに用いら
れるデータフォーマットを示す図である。
【図6】第1の実施の形態のコマンドパケットに対する
レスポンスパケットに用いられるデータフォーマットを
示す図である。
【図7】第1の実施の形態においてデスティネーション
に対して設定を行うコマンドパケットに用いられるデー
タを示す図である。
【図8】第1の実施の形態においてソースに対して設定
を行うコマンドパケットに用いられるデータを示す図で
ある。
【図9】第1の実施の形態のソースに対してデータ送信
の指示を行うコマンドパケットに用いられるデータを示
す図である。
【図10】第1の実施の形態のオブジェクトデータの転
送を説明するための図である。
【図11】第1の実施の形態のオブジェクトデータの送
信パケットのフォーマットを示す図である。
【図12】第1の実施の形態のオブジェクトデータの受
信確認パケットのフォーマットを示す図である。
【図13】第1の実施の形態のコネクション解除を行う
コマンドパケットに用いられるデータを示す図である。
【図14】第2の実施の形態に係る各ノード間のコマン
ドやデータの授受を説明するダイアグラムを示す図であ
る。
【図15】第2の実施の形態においてデスティネーショ
ンに対して設定を行うコマンドパケットに用いられるデ
ータを示す図である。
【図16】第2の実施の形態においてソースに対して設
定を行うコマンドパケットに用いられるデータを示す図
である。
【図17】第3の実施の形態のオブジェクトデータの転
送を説明するための図である。
【図18】本発明の第3の実施の形態に係る各ノード間
のコマンドやデータの授受を説明するダイアグラムを示
す図である。
【図19】第1の実施の形態の情報を管理用テーブルの
説明図である。
【図20】第2の実施の形態の情報を管理用テーブルの
説明図である。
【図21】従来例の説明図である。
【符号の説明】
10 computer 12 演算処理装置(MPU) 14 第一の1394インターフェイス 16 キーボードなど第一の操作部 18 第一のデコーダ 20 CRT ディスプレイなどの表示装置 22 ハードディスク 24 第一のメモリ 26 PCI バスなどのコンピュータ内部バス 28 VCR 30 撮像光学系 32 A/D 変換器 34 ビデオ処理部 36 圧縮伸長回路 38 第一のメモリ 40 第二のメモリ 42 第一のデータセレクタ 44 第二の1394インターフェイス 46 第一のメモリ制御回路 48 第二のメモリ制御回路 50 システムコントローラ 52 第二の操作部 54 電子ビューファインダ 56 D/A 変換器 58 記録部 60 プリンタ 62 第三の1394インターフェイス 64 第二のデータセレクタ 66 第三の操作部 68 プリンタコントローラ 70 第二のデコーダ 72 第三のメモリ 74 画像処理部 76 ドライバ 78 プリンタヘッド 200 コントロールノード 202 ソースノード 204 デスティネーションノード 206 ソースノード内部のサブユニット 208 画像データ等のobject 210 デスティネーションノード内部の第一のメモリ空間 212 第一のコネクション 214 デスティネーションノード内部の第n のメモリ空間 216 第nのコネクション
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 崇史 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 所定の機器に固有の固有情報と、送信機
    器と1つ以上の受信機器との間の論理的な接続を示すコ
    ネクション情報とを用いて、情報データの送受信を行う
    データ通信システムにおいて、 上記1つ以上の受信機器の受信能力のうち、最も低い受
    信能力に従って上記情報データの送受信を行うことを特
    徴とするデータ通信システム。
  2. 【請求項2】 上記所定の機器は、上記コネクション情
    報を設定する管理機器であることを特徴とする請求項1
    に記載のデータ通信システム。
  3. 【請求項3】 上記管理機器は、上記情報データの送信
    に先立って、上記固有情報と上記コネクション情報とを
    上記送信機器と上記1つ以上の受信機器とに通知するこ
    とを特徴とする請求項1または2に記載のデータ通信シ
    ステム。
  4. 【請求項4】 上記送信機器と上記1つ以上の受信機器
    とは、上記管理機器を介することなく、上記固有情報と
    上記コネクション情報とを用いて上記情報データの送受
    信を行うことを特徴とする請求項2または3に記載のデ
    ータ通信システム。
  5. 【請求項5】 上記データ通信システムの接続構成が初
    期化された後、上記送信機器と上記1つ以上の受信機器
    とは、上記管理機器を介することなく上記情報データの
    送受信を再開することを特徴とする請求項1〜4の何れ
    か1項に記載のデータ通信システム。
  6. 【請求項6】 上記データ通信システムの接続構成が初
    期化された後、上記送信機器と上記1つ以上の受信機器
    とは、上記固有情報と上記コネクション情報とを用いて
    上記情報データの送受信を再開することを特徴とする請
    求項1〜5の何れか1項に記載のデータ通信システム。
  7. 【請求項7】 上記受信機器の受信能力は、上記受信機
    器の具備する受信バッファのサイズを含むことを特徴と
    する請求項1〜6の何れか1項に記載のデータ通信シス
    テム。
  8. 【請求項8】 上記管理機器は、上記送信機器から送信
    される情報データを受信する受信機器の数を、上記コネ
    クション情報と共に管理することを特徴とする請求項2
    または3に記載のデータ通信システム。
  9. 【請求項9】 上記情報データは、特定の受信機器を指
    定しない情報と共に送信されることを特徴とする請求項
    1〜8の何れか1項に記載のデータ通信システム。
  10. 【請求項10】 上記固有情報と上記コネクション情報
    とは、上記データ通信システムの接続構成が初期化され
    ても変化しないことを特徴とする請求項1〜9の何れか
    1項に記載のデータ通信システム。
  11. 【請求項11】 所定の機器に固有の固有情報と、送信
    機器と1つ以上の受信機器との間の諭理的な接続を示す
    コネクション情報とを用いて、情報データの送受信を行
    うデータ通信システムに適用可能なデータ通信方法にお
    いて、 上記1つ以上の受信機器の受信能力のうち、最も低い受
    信能力に従って上記情報データの送受信を実行させるこ
    とを特徴とするデータ通信方法。
  12. 【請求項12】 所定の機器に固有の固有情報と、1つ
    以上の受信機器との間の論理的な接続を示すコネクショ
    ン情報とを用いて情報データの送受信を行う通信手段
    と、 上記1つ以上の受信機器の受信能力のうち、最も低い受
    信能力に従って上記通信手段の動作を制御する制御手段
    とを具備することを特徴とするデータ通信装置。
  13. 【請求項13】 請求項11に記載のデータ通信方法の
    手順をコンピュータに実行させるためのプログラムを格
    納したことを特徴とする記憶媒体。
  14. 【請求項14】 請求項12に記載の各手段としてコン
    ピュータを機能させるためのプログラムを格納したこと
    を特徴とする記憶媒体。
JP10111681A 1998-02-24 1998-04-22 データ通信システム、方法及び装置並びに記憶媒体 Pending JPH11308255A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP10111681A JPH11308255A (ja) 1998-04-22 1998-04-22 データ通信システム、方法及び装置並びに記憶媒体
US09/253,783 US7590133B2 (en) 1998-02-24 1999-02-22 Data communication system, data communication method, and data communication apparatus
EP99301305A EP0984601A3 (en) 1998-02-24 1999-02-23 Data communication system and method for connection setup
MYPI99000653A MY135481A (en) 1998-02-24 1999-02-24 Data communication system, data communication method, and data communication apparatus
KR1019990006186A KR100294960B1 (ko) 1998-02-24 1999-02-24 데이타 통신 시스템, 데이타 통신 방법, 및 데이타 통신 장치
CNB991056108A CN1184787C (zh) 1998-02-24 1999-02-24 数据通信系统,数据通信方法和数据通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10111681A JPH11308255A (ja) 1998-04-22 1998-04-22 データ通信システム、方法及び装置並びに記憶媒体

Publications (1)

Publication Number Publication Date
JPH11308255A true JPH11308255A (ja) 1999-11-05

Family

ID=14567492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10111681A Pending JPH11308255A (ja) 1998-02-24 1998-04-22 データ通信システム、方法及び装置並びに記憶媒体

Country Status (1)

Country Link
JP (1) JPH11308255A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614792A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 1394事务层数据包存储管理方法及电路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614792A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 1394事务层数据包存储管理方法及电路

Similar Documents

Publication Publication Date Title
KR100294960B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 및 데이타 통신 장치
US7430660B2 (en) Data transmission apparatus, system and method, and image processing apparatus
US6334161B1 (en) System for reverse data transmission flow control wherein command is transferred by asynchronous transfer mode while data is transferred by isochronous transfer mode
US6603737B1 (en) Data transmission apparatus, system and method, and image processing 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
JP4181688B2 (ja) データ通信システム及びデータ通信装置
KR100312276B1 (ko) 데이터 통신 시스템, 데이터 통신 방법, 데이터 통신 장치 및디지털 인터페이스
US20060170779A1 (en) Image data transfer system, method of generating image data file, and computer program
US6678769B1 (en) Control apparatus and method for managing a logical connection between source and destination nodes
KR100491675B1 (ko) 데이터 전송방법, 데이터 전송시스템, 데이터전송제어장치 및 프로그램 기록매체
JP3814407B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JPH11308255A (ja) データ通信システム、方法及び装置並びに記憶媒体
JP3943698B2 (ja) データ通信システム及びデータ通信装置
JP3943697B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP3862403B2 (ja) データ通信システムおよびデータ通信装置
JPH11261608A (ja) データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JPH11313091A (ja) データ通信システム、装置及び方法並びに記憶媒体
JP4065466B2 (ja) データ通信システム
JP4143205B2 (ja) データ通信システム
JPH11298509A (ja) データ通信システム、データ通信方法、データ通信装置及び記憶媒体
JP2006311614A (ja) データ通信システム
JP2002044097A (ja) データ通信システム及びその制御方法、及びデータ通信制御装置
JPH11317755A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタ―フェイス

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080430