(57)【要約】【課題】制御信号とデータを混在させて通信することが可能なデータ通信バスを用いて複数の電子機器間を接続して、各機器間でデータ通信を行うデータ通信を行うことができるようにする。【解決手段】複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１のＩＤ情報と、該Ｎ個の機器間において通信される情報データを判別する第２のＩＤ情報とを用いて前記情報データの通信を行うようにして、従来の通信方式の不便利性を解決し、リアルタイム性を必要としないデータ転送においても、簡便にかつ高速にマルチキャスト転送を実現できるようにする。【選択図】図１
2006311614.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器により構成されたデータ通信システムにおいて、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて前記情報データの通信を行うことを特徴とするデータ通信システム。
【請求項２】
請求項１に記載のデータ通信システムにおいて、
前記データ通信システムは、前記第１及び第２の情報を管理する機能を具備する管理機器を含み、該管理機器を用いて前記Ｎ個の機器間の通信を制御することを特徴とするデータ通信システム。
【請求項３】
請求項２に記載のデータ通信システムにおいて、
前記管理機器は、前記Ｎ個の機器のそれぞれに、前記第１及び第２の情報を送信することを特徴とするデータ通信システム。
【請求項４】
請求項３に記載のデータ通信システムにおいて、
前記管理機器は、前記第１及び第２の情報とともに、該管理機器に固有のユニークＩＤ情報を前記Ｎ個の機器のそれぞれに送信することを特徴とするデータ通信システム。
【請求項５】
請求項４に記載のデータ通信システムにおいて、
前記Ｎ個の機器は、前記ユニークＩＤ情報を用いて前記第１及び第２の情報を設定した管理機器を識別することを特徴とするデータ通信システム。
【請求項６】
請求項２〜５の何れか１項に記載のデータ通信システムにおいて、
前記管理機器は、ＩＥＥＥ１３９４規格に準拠したAsynchronous転送方式を用いて、前記Ｎ個の機器のそれぞれとの通信を行うことを特徴とするデータ通信システム。
【請求項７】
請求項２〜６の何れか１項に記載のデータ通信システムにおいて、
前記管理機器は、前記第１及び第２の情報に関する付加情報をテーブルを用いて管理することを特徴とするデータ通信システム。
【請求項８】
請求項２〜７の何れか１項に記載のデータ通信システムにおいて、
前記Ｎ個の機器は、前記第１及び第２の情報により構成される通信パケットを用いて前記情報データを送信することを特徴とするデータ通信システム。
【請求項９】
請求項８に記載のデータ通信システムにおいて、
前記第１の情報は、前記通信パケットのヘッダ部に格納され、前記第２の情報は、該通信パケットのデータ部に格納されていることを特徴とするデータ通信システム。
【請求項１０】
請求項２〜９の何れか１項に記載のデータ通信システムにおいて、
前記情報データは、第２の情報に対応するメモリ空間に格納されていることを特徴とするデータ通信システム。
【請求項１１】
請求項１〜１０の何れか１項に記載のデータ通信システムにおいて、
前記第１の情報は、一つの送信機器と複数の受信機器とにより構成される論理的な接続関係を示すことを特徴とするデータ通信システム。
【請求項１２】
請求項１〜１１の何れか１項に記載のデータ通信システムにおいて、
前記第２の情報は、前記Ｎ個の機器間において通信される複数の異なる情報データのそれぞれを判別する情報であることを特徴とするデータ通信システム。
【請求項１３】
請求項１〜１２の何れか１項に記載のデータ通信システムにおいて、
前記Ｎ個の機器のそれぞれから出力される情報データは、前記データ通信システムを構成する全ての機器に転送されることを特徴とするデータ通信システム。
【請求項１４】
請求項１〜１３の何れか１項に記載のデータ通信システムにおいて、
前記Ｎ個の機器のそれぞれから出力される情報データは、ＩＥＥＥ１３９４規格に準拠したAsynchronous転送方式を用いて転送されることを特徴とするデータ通信システム。
【請求項１５】
請求項２〜１４の何れか１項に記載のデータ通信システムにおいて、
前記管理機器は、前記情報データを送信する機器から送信された終了フラグにより、該情報データの通信が終了したことを特徴とするデータ通信システム。
【請求項１６】
請求項２〜１５の何れか１項に記載のデータ通信システムにおいて、
前記仮想的な通信関係の開放は、前記管理機器或いは前記情報データを受信する機器により行われることを特徴とするデータ通信システム。
【請求項１７】
請求項１〜１６の何れか１項に記載のデータ通信システムにおいて、
前記情報データを受信する機器は、前記仮想的な通信関係を構成する要求に対して、受信バッファのサイズ、メモリ空間内の所定の領域を示すアドレス情報、データ開始のポインタを示すシーケンシャル番号、準備完了を示す情報のうち、少なくとも一つの情報を含むパケットを送信することを特徴とするデータ通信システム。
【請求項１８】
請求項１〜１７の何れか１項に記載のデータ通信システムにおいて、
前記情報データを送信する機器は、該情報データを受信する機器からのレスポンスを所定期間計時し、該期間により通信異常を検出することを特徴とするデータ通信システム。
【請求項１９】
請求項１８に記載のデータ通信システムにおいて、
前記情報データを送信する機器は、前記通信異常を検出した場合に、前記情報データの再送動作を自動的に開始することを特徴とするデータ通信システム。
【請求項２０】
複数の機器により構成されたデータ通信システムにおいて、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを用いて前記情報データの通信を行うことを特徴とするデータ通信システム。
【請求項２１】
複数の機器により構成されたデータ通信システムにおいて、
複数のＩＤ情報を用いて仮想的な通信環境を設定することを特徴とするデータ通信システム。
【請求項２２】
複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを設定する設定手段と、
前記設定手段により設定された前記第１及び第２の情報を用いて前記情報データの通信を行う通信手段とを具備することを特徴とするデータ通信装置。
【請求項２３】
複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを含む前記情報データを受信する受信手段と、
前記第１及び第２の情報の情報を用いて前記受信手段により受信された情報データが自己に送信されたデータであるか否かを判別する判別手段とを具備することを特徴とするデータ通信装置。
【請求項２４】
複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを設定する設定手段と、
前記設定手段により設定された前記第１及び第２の情報を用いて前記情報データの通信を行う通信手段とを具備することを特徴とするデータ通信装置。
【請求項２５】
複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを含む情報データを受信する受信手段と、
前記第１及び第２の情報を用いて前記受信手段により受信された情報データが自己に送信されたデータであるか否かを判別する判別手段とを具備することを特徴とするデータ通信装置。
【請求項２６】
複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて前記情報データの通信を行うことを特徴とするデータ通信方法。
【請求項２７】
複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを含む通信パケットを用いて前記情報データの通信を行うことを特徴とするデータ通信方法。
【請求項２８】
複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、
複数のＩＤ情報を用いて仮想的な通信環境を設定することを特徴とするデータ通信方法。
【請求項２９】
複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて、前記情報データが自己に送信されたデータであるか否かを判別することを特徴とするデータ通信方法。
【請求項３０】
複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを用いて、前記情報データが自己に送信されたデータであるか否かを判別することを特徴とするデータ通信方法。
【請求項３１】
請求項２２〜２５の何れか１項に記載の各手段としてコンピュータを機能させるためのプログラムを格納したことを特徴とする記憶媒体。
【請求項３２】
請求項２６〜２９の何れか１項に記載のデータ通信方法の手順をコンピュータに実行させるためのプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信システム、データ通信装置、データ通信方法及び記憶媒体に関し、特に、制御信号とデータを混在させて通信することが可能なデータ通信バスを用いて複数の電子機器（以下、機器）間を接続して、各機器間でデータ通信を行うデータ通信システム、及びデータ通信システムを構成する装置及び方法に関するものである。
【背景技術】
【０００２】
パソコン周辺機器の中で、最も利用頻度が高いのはハードディスクやプリンタであり、これらの周辺装置は小型コンピュータ用の汎用型インターフェイスで代表的なデジタルインターフェイス( 以下、デジタルI/F)であるSCSI等をもってパソコン間との接続がなされ、データ通信が行われている。
【０００３】
また、デジタルカメラやデジタルビデオカメラといった記録再生装置もパソコン( 以下、PC) への入力手段として、周辺装置の１つであり、近年、デジタルカメラやビデオカメラで撮影した静止画や動画といった映像をPCへ取り込み、ハードディスクに記憶したり、またはPCで編集した後、プリンタでカラープリントするといった分野の技術が進んでおり、ユーザーも増えている。
【０００４】
そして、取り込んだ画像データをPCからプリンタやハードディスクへ出力する際などに、前記のSCSI等を経由してデータ通信がされるものであり、そのようなとき画像データのようにデータ量の多い情報を送るためにも、こういったデジタルI/F には転送データレートの高い、かつ汎用性のあるものが必要とされる。
【０００５】
図８に、従来の例としてデジタルカメラ、PC及びプリンタを接続したときのブロック図を示す。図８において、101 はデジタルカメラ、102 はパソコン(PC)、103 はプリンタである。さらに、104 はデジタルカメラの記録部であるメモリ、105 は画像データ復号化回路、106 は画像処理部、107 はD/A コンバータ、108 は表示部であるEVF 、109 はデジタルカメラのデジタルI/O 部、110 はPCのデジタルカメラとのデジタルI/O 部、111 はキーボードやマウスなどの操作部、112 は画像データの復号化回路である。
【０００６】
113 はディスプレイ、114 はハードディスク装置、115 はRAM 等のメモリ、116 は演算処理部のMPU 、117 はPCI バス、118 はデジタルI/F のSCSIインターフェイス( ボード) 、119 はPCとSCSIケーブルで繋がったプリンタのSCSIインターフェイス、120 はメモリ、121 はプリンタヘッド、122 はプリンタ制御部のプリンタコントローラ、123 はドライバである。
【０００７】
デジタルカメラで撮像した画像をPCに取り込み、またPCからプリンタへ出力するときの手順の説明を行う。デジタルカメラ101 のメモリ104 に記憶されている画像データが読みだされると、読み出された画像データのうち一方は復号化回路105 で復号化され、画像処理回路106 で表示するための画像処理がなされ、D/A コンバータ107 を経て、EVF108で表示される。また一方では、外部出力するためにデジタルI/O 部109 から、ケーブルを伝わってPC102 のデジタルI/O 部110 へ至る。
【０００８】
PC102 内では、PCI バス117 を相互伝送のバスとして、デジタルI/O 部110 から入力した画像データは、記憶する場合はハードディスク114 で記憶され、表示する場合は復号化回路112 で復号化された後、表示画像としてメモリ115 に記憶され、ディスプレイ113 でアナログ信号に変換されてから表示される。PC102 での編集時等の操作入力は操作部111 から行い、PC102 全体の処理はMPU116で行うようになされている。
【０００９】
また、画像をプリント出力する際は、PC102 内のSCSIインターフェイスボード118 から画像データをSCSIケーブルにのせて伝送し、プリンタ103 側のSCS I インターフェイス119 で受信し、メモリ120 でプリント画像として形成され、プリンタコントローラ122 の制御でプリンタヘッド121 とドライバ123 が動作して、メモリ120 から読み出したプリント画像データをプリントする。以上が、従来の画像データをPC取り込み、またはプリントするまでの手順である。
【００１０】
このように、従来はホストであるPCにそれぞれの機器が接続され、PCを介してから、記録再生装置で撮像した画像データをプリントしている。また、ディジタルVTR 、TV、チューナなどのAV機器や、パーソナルコンピュータ（以下、PCと称する）等をIEEE 1394 シリアルバス（以下、1394と称する）を用いて相互に接続し、れらの間においてディジタルビデオ信号、ディジタルオーディオ信号などを送受信する通信システムが提案されている。
【００１１】
これらのシステムにおいては、リアルタイムにデータ転送することが重要となるため、いわゆる同期通信( 以下、Isochronous 通信と称する) によって、データ通信を行なっている。この場合には、データ転送のリアルタイム性は保証されるが、通信が確実に行なわれるかは保証されない。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前記従来例で挙げたデジタルインターフェイスの問題点として、SCSIには転送データレートの低いものや、パラレル通信のためケーブルが太いもの、接続される周辺機器の種類や数、接続方式などにも制限があり、多くの面での不便利性も指摘されている。
【００１３】
また、従来のIEEE 1394 通信の場合には、同期通信を行なうため、通信が確実に行なわれるかは保証されない。したがって、確実にデータ転送を行ないたい場合には、従来の1394 Isochronous通信を使用することはできない。
【００１４】
また、従来の1394 Isochronous通信では、通信帯域に空きがある場合にも、通信の総数が64に制限される。このため、通信帯域をあまり要求しないような通信を多数行ないたい場合には、従来の1394 Isochronous通信を使用することはできないといった問題点があった。また、従来の1394通信方式では、データ転送の間に、バスリセットやエラーによる、データ転送の中断が生じることが考えられる。
【００１５】
この場合、従来の1394通信方式では、どのようなデータ内容が失われたのかを知ることができない。そのため、従来の1394通信方式では、該データ転送中断からの復帰を行なうためには、非常に繁雑な通信手順を踏むことを要求されるという問題点があった。
【００１６】
本発明は、前記問題点を解決するためになされたもので、従来の通信方式の不利便性を解決し、簡便に高速にデータを転送するとともに、確実にデータ転送を可能にすることを第１の目的とする。
また、本発明は、通信帯域をあまり使用しない場合に、多数の通信を同時に可能にすることを第２の目的とする。
また、本発明は、データ転送中断により失われたデータを容易に検出することが可能で、前記データ転送中断からの復帰を、確実に、かつ簡単に可能にすることを第３の目的とする。
また、本発明は、複数のコントロールノードがネットワーク上に存在する場合に、個々のコントロールノードが設定した論理的コネクションを識別する手段がなかった。１つのソースノードから複数のデスティネーションノードに対してデーターを送信する手段を提供できるようにすることを第４の目的とする。
また、本発明は、マルチキャスト転送を実現するにあたり、マルチキャストのパケットが従来の1394規格の装置において、受け取らないようにすることを第５の目的とする。
【課題を解決するための手段】
【００１７】
従来抱えている問題を解決するため、本発明は、従来からあるデジタルI/F の問題点を極力解消した、各デジタル機器に統一されて搭載されるような汎用型デジタルI/F(例えばIEEE1394-1995 ハイパフォーマンス・シリアルバス) を用いて、PCやプリンタ、その他周辺装置、またデジタルカメラやデジタルVTR の記録再生装置等をネットワーク構成で接続したときの機器間データ通信を実現し、記録再生装置からビデオデータ等のPCへの取り込み、また、映像データをプリンタへ直接転送しプリントなどを実現する。このようなネットワークにおいて、各種のデーターをAsynchronousトランザクションによりそれぞれのデータを複数に分割して伝送するプロトコルを提供するものである。
【００１８】
ペイロード内に、バスリセット等によっても変化しない、コントロールノードが有する固有のノード情報であるＩＤを付加する。コントロールノードは、ソースに対して論理的に接続されたデスティネーション数を告知する。
【００１９】
ソースノードは、デスティネーションからのバッファサイズごとに該デスティネーションからの受信確認応答パケットを待って、次のセグメントパケットを送信する。ソースノードからの送信データー終了を示すパケットに対してそれぞれのデスティネーションは、受信確認応答パケットを返す。
【００２０】
マルチキャスト伝送におけるソースノードからの送信Destination Bus IDバスアドレスをローカルバスである3 ＦＦ( ｈ) としない、０から3 ＦＥ以下のアドレスを設定する。
【００２１】
本発明のデータ通信システムは、複数の機器により構成されたデータ通信システムにおいて、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて前記情報データの通信を行うことを特徴としている。ここで、第１の情報とは、実施の形態に記載されたマルチキャストＩＤに相当する。また、第２の情報とは、本実施の形態に記載されたコネクションＩＤに相当する。
また、本発明のデータ通信システムの他の特徴とするところは、前記データ通信システムは、前記第１及び第２の情報を管理する機能を具備する管理機器を含み、該管理機器を用いて前記Ｎ個の機器間の通信を制御することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記管理機器は、前記Ｎ個の機器のそれぞれに、前記第１及び第２の情報を送信することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記管理機器は、前記第１及び第２の情報とともに、該管理機器に固有のユニークＩＤ情報を前記Ｎ個の機器のそれぞれに送信することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記Ｎ個の機器は、前記ユニークＩＤ情報を用いて前記第１及び第２の情報を設定した管理機器を識別することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記管理機器は、ＩＥＥＥ１３９４規格に準拠したAsynchronous転送方式を用いて、前記Ｎ個の機器のそれぞれとの通信を行うことを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記Ｎ個の機器は、前記第１及び第２の情報に関する付加情報をテーブルを用いて管理することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記Ｎ個の機器は、前記第１及び第２の情報により構成される通信パケットを用いて前記情報データを送信することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記第１の情報は、前記通信パケットのヘッダ部に格納され、前記第２の情報は、該通信パケットのデータ部に格納されていることを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記情報データは、第２の情報に対応するメモリ空間に格納されていることを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記第１の情報は、一つの送信機器と複数の受信機器とにより構成される論理的な接続関係を示すことを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記第２の情報は、前記Ｎ個の機器間において通信される複数の異なる情報データのそれぞれを判別する情報であることを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記Ｎ個の機器のそれぞれから出力される情報データは、前記データ通信システムを構成する全ての機器に転送されることを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記Ｎ個の機器のそれぞれから出力される情報データは、ＩＥＥＥ１３９４規格に準拠したAsynchronous転送方式を用いて転送されることを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記管理機器は、前記情報データを送信する機器から送信された終了フラグにより、該情報データの通信が終了したことを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記仮想的な通信関係の開放は、前記管理機器或いは前記情報データを受信する機器により行われることを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記情報データを受信する機器は、前記仮想的な通信関係を構成する要求に対して、受信バッファのサイズ、メモリ空間内の所定の領域を示すアドレス情報、データ開始のポインタを示すシーケンシャル番号、準備完了を示す情報の少なくとも一つの情報を含むパケットを送信することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記情報データを送信する機器は、該情報データを受信する機器からのレスポンスを所定期間計時し、該期間により通信異常を検出することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記情報データを送信する機器は、前記通信異常を検出した場合に、前記情報データの再送動作を自動的に開始することを特徴としている。
また、本発明のデータ通信システムのその他の特徴とするところは、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを用いて前記情報データの通信を行うことを特徴としている。ここで、仮想的な通信関係を示す情報とは、本実施の形態に記載されたマルチキャストＩＤに相当する。また、仮想的なメモリ空間を指定する情報とは、本実施の形態に記載されたdestination offsetに相当する。
また、本発明のデータ通信システムのその他の特徴とするところは、複数のＩＤ情報を用いて仮想的な通信環境を設定することを特徴としている。ここで、複数のＩＤ情報には、本実施の形態に記載されたマルチキャストＩＤ、コネクションＩＤ、destination offsetの内の何れかが含まれている。
【００２２】
本発明のデータ通信装置は、複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを設定する設定手段と、前記設定手段により設定された前記第１及び第２の情報を用いて前記情報データの通信を行う通信手段とを具備することを特徴としている。ここで、第１の情報とは、実施の形態に記載されたマルチキャストＩＤに相当する。また、第２の情報とは、本実施の形態に記載されたコネクションＩＤに相当する。
また、本発明のデータ通信装置の他の特徴とするところは、複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを含む前記情報データを受信する受信手段と、前記第１及び第２の情報の情報を用いて前記受信手段により受信された情報データが自己に送信されたデータであるか否かを判別する判別手段とを具備することを特徴としている。
また、本発明のデータ通信装置のその他の特徴とするところは、複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを設定する設定手段と、前記設定手段により設定された前記第１及び第２の情報を用いて前記情報データの通信を行う通信手段とを具備することを特徴としている。ここで、仮想的な通信関係を示す情報とは、本実施の形態に記載されたマルチキャストＩＤに相当する。また、仮想的なメモリ空間を指定する情報とは、本実施の形態に記載されたdestination offsetに相当する。
また、本発明のデータ通信装置のその他の特徴とするところは、複数の機器により構成されたデータ通信システムに接続可能なデータ通信装置において、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを含む情報データを受信する受信手段と、前記第１及び第２の情報を用いて前記受信手段により受信された情報データが自己に送信されたデータであるか否かを判別する判別手段とを具備することを特徴としている。ここで、仮想的な通信関係を示す情報とは、本実施の形態に記載されたマルチキャストＩＤに相当する。また、仮想的なメモリ空間を指定する情報とは、本実施の形態に記載されたdestination offsetに相当する。
【００２３】
本発明のデータ通信方法は、複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて前記情報データの通信を行うことを特徴としている。ここで、第１の情報とは、実施の形態に記載されたマルチキャストＩＤに相当する。また、第２の情報とは、本実施の形態に記載されたコネクションＩＤに相当する。
また、本発明のデータ通信方法のその他の特徴とするところは、複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを含む通信パケットを用いて前記情報データの通信を行うことを特徴としている。ここで、仮想的な通信関係を示す情報とは、本実施の形態に記載されたマルチキャストＩＤに相当する。また、仮想的なメモリ空間を指定する情報とは、本実施の形態に記載されたdestination offsetに相当する。
また、本発明のデータ通信方法のその他の特徴とするところは、複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、複数のＩＤ情報を用いて仮想的な通信環境を設定することを特徴としている。
また、本発明のデータ通信方法のその他の特徴とするところは、複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて、前記情報データが自己に送信されたデータであるか否かを判別することを特徴としている。ここで、複数のＩＤ情報には、本実施の形態に記載されたマルチキャストＩＤ、コネクションＩＤ、destination offsetの内の何れかが含まれている。
また、本発明のデータ通信方法のその他の特徴とするところは、複数の機器により構成されたデータ通信システムに適用可能なデータ通信方法において、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す情報と、該Ｎ個の機器間で通信される情報データを格納する仮想的なメモリ空間を指定する情報とを用いて、前記情報データが自己に送信されたデータであるか否かを判別することを特徴としている。ここで、仮想的な通信関係を示す情報とは、本実施の形態に記載されたマルチキャストＩＤに相当する。また、仮想的なメモリ空間を指定する情報とは、本実施の形態に記載されたdestination offsetに相当する。
【００２４】
本発明の記憶媒体の特徴とするところは、前記各手段としてコンピュータを機能させるためのプログラムを格納したことを特徴とする記憶媒体。ここで、第１の情報とは、実施の形態に記載されたマルチキャストＩＤに相当する。
本発明の記憶媒体の他の特徴とするところは、前記データ通信方法の手順をコンピュータに実行させるためのプログラムを格納したことを特徴とする記憶媒体。
本発明は前記技術手段を有するので、コントローラノードにより、ネットワーク内に一意に決めた独立したコネクションIDを設定し、ソース、デスティネーションノード間に論理的なコネクションをはり、それぞれの論理的なコネクションに前記コネクションIDをあてる。それ以後は、ソース、デスティネーションノード間のハンドシェイク通信においては、前記コントローラが設定したコネクションIDナンバーをペイロード内のフィールドに含む、いわゆるブロードキャストAsynchronousトランザクションを用いて通信する。
【００２５】
それぞれのノードは、ペイロード内のコネクションIDを判別して、自身のノード間に設定されたコネクションであるか否かを判別し、設定されたコネクションID以外は、すべて自分自身で排除する。
【００２６】
ソースノードは、デスティネーションノードに対して、コネクション要求フラグを有するブロードキャストパケットを送信し、デスティネーションノードは、そのノードがデータの受信準備が終了しだい、受信できるバッファサイズ情報、および、データパケットの開始順番を示すデータシークエンス番号を含み、Ack ビットを設定して、いわゆるブロードキャストAsynchronousトランザクションを用いて通信する。
【００２７】
ソースノードは、ブロードキャストで送信されたパケットを受信して、コネクションIDを判別し、デスティネーションノードからのAck レスポンスであることを確認する。以上により、データ転送が開始される。
【００２８】
また、ペイロード内のコントロールノードの固有情報であるワールドワイドユニークＩＤとコンロトールノードの設定したコネクションＩＤにより、ソース、デスティネーションノードは、ソースデスティネーション間に個別に設定された論理的コネクションを識別する。
【００２９】
また、複数接続されたデスティネーションに単一のコネクションＩＤによりデーターを送信する。従来の１３９４デバイスは、デスティネーションバスＩＤがローカルであることを示す3 ＦＦ( ｈ) でないため、デスティネーションフィジカルＩＤがたとえ、3 Ｆ( ｈ) であっても簡易にマルチキャストで転送されたパケットを削除できる。
【発明の効果】
【００３０】
本発明によれば、従来の通信方式による不便利性を解決することができる効果が得られる。
また、リアルタイム性を必要としないデータ転送においても、簡便に高速にデータを転送することが可能となる効果が得られる。
また、本発明によれば、通信帯域をあまり使用しない場合に、多数の通信を同時に行なうことができる効果が得られる。
また、本発明によれば、データ転送中断により失われたデータを容易に検出することが可能であるとともに、該データ転送の中断からの復帰を、確実に、かつ、簡単に行なうことができる効果が得られる。
また、本発明によれば、複数のコントロール間でコネクションＩＤが重複しないように調整する必要がないので、コントローラは、簡単に確実にコネクションを設定できる効果が得られる。
また、本発明によれば、複数のコントロールノードが個別に複数の論理的コネクションをソース、デスティネーション間に設定した場合も、個々のノードは、コネクションを設定したコントローラを上記ノード固有の情報であるワールドワイドユニークＩＤなどの固有のノードＩＤにて判別することが可能となるので、個々のノードは、確実に論理的コネクションを識別できる効果が得られる。
また、本発明によれば、１個の論理的コネクションＩＤにより、容易に複数のデスティネーションに対してデーターを単一セグメントパケットで送信することができるため、バス上のトラフィックを低減する効果が得られる。
また、コネクションＩＤを複数設定する必要がないためコントローラのコネクションＩＤの初期設定が容易となる効果が得られる。
また、本発明によれば、それぞれのデスティネーションの受信バッファが異なっていても、ソースは、それぞれのデスティネーションの受信バッファサイズのみを管理して送信するだけで良いため、ソースは、同一のデーターフローでよく、実装が容易となる効果が得られる。
また、本発明によれば、１個のソースノードからＮ個の複数のデスティネーションに対して同一オブジェクトを転送する場合も、Ｎ個のセグメントをそれぞれのデスティネーションに送付する必要がなく単一のセグメントで効率よく転送できるため、１３９４バス上のトラフィックを増大させることがないという効果が得られる。
また、本発明によれば、マルチキャスト用にローカルバス以外のBus ＩＤを使用するため、従来の1394規格の機器がローカルのブロードキャストとして認識し、受信してしまいうという不要な処理がなくなるので、従来の機器への影響がないという効果が得られる。
また、本発明によれば、個別のマルチキャストＩＤを使用するため、本発明に準拠した機器は、ブロードキャストAsynchronous  Write トランザクションを使用する場合に比較して、Asynchronous  Write パケットのdestination ID にかかれたマルチキャストＩＤとコントローラから通知されたマルチキャストＩＤを比較するだけでパケットを取り込むかどうかを判断できるため、処理が低減去れるという効果が得られる。
また、本発明によれば、デスティネーションのoffsetアドレスをコネクションＩＤを対応させたことにより、63以上の論理的コネクションを設定できるという効果が得られる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を用いて、本発明の実施の形態について説明する。
図１において、10はcomputerであり、12は演算処理装置(MPU) 、14は第一の1394インターフェイス、16はキーボードなど第一の操作部、18は第一のデコーダ、20はCRT ディスプレイなどの表示装置、22はハードディスク、24は第一のメモリであり本発明に係るcomputer10の内部メモリ、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はプリンタヘッド、である。
【００３４】
computer10と、VCR28 、及び、プリンタ60とは、第一から第三の1394インターフェイス14,44,62によって1394シリアルバスのノードを構成するとともに、該第一から第三の1394インターフェイス14,44,62を介して相互に接続されており、データの授受や、コマンドによるコントロール等が可能になっている。
【００３５】
本実施の形態では、例えば、computer10は、1394シリアルバス上における、画像信号送受信のコントローラとして動作する。本実施の形態に係るcomputer10においては、例えば、PCI バスなどのコンピュータ内部バス26によって、12は演算処理装置(MPU) と、1394インターフェイス14、キーボード16、デコーダ18、CRT ディスプレイ20、ハードディスク22、内部メモリ24などの、内部の各デバイスとが相互に接続されている。
【００３６】
12は演算処理装置(MPU) は、ハードディスク22に記録されているソフトウェアを実行するとともに、様々なデータを内部メモリ24に移動させる。また、12は演算処理装置(MPU) は、PCI バス26によって接続されている各デバイスの調停動作なども合わせて行なう。1394インターフェイス14は、1394シリアルバス上に転送される画像信号を受信するとともに、ハードディスク22に記録されている画像信号や、内部メモリ24に記憶される画像信号を送信する。
【００３７】
また、1394インターフェイス14は、1394シリアルバス上に接続された他の機器に対するコマンドデータを送信する。また、1394インターフェイス14は、1394シリアルバス上に転送される信号を他の1394ノードに転送する。
【００３８】
操作者は、キーボード16などの操作部を通じて、MPU12 に、ハードディスク22に記録されているソフトウェアを実行させる。該ソフトウェア等の情報は、CRT ディスプレイなどの表示装置20によって操作者に提示される。
【００３９】
デコーダ18は、前記のソフトウェアを通じて、1394シリアルバス上から受信した画像信号をデコードする。デコードされた画像信号も、また、CRT ディスプレイなどの表示装置20によって操作者に提示される。
【００４０】
本実施の形態では、例えば、VCR28 は、画像信号の入力装置として動作する。撮像光学系30から入力された映像の輝度信号（Y ）と色差信号（C ）は各々A/D 変換器32にてディジタルデータに変換される。
【００４１】
前記ディジタルデータは、ビデオ処理部34にて多重化される。その後、圧縮伸長回路36にて該画像情報のデータ量を圧縮する。一般に、YC独立に該圧縮処理回路を備えているが、ここでは説明の簡略化の為にYC時間分割での圧縮処理の例を示す。
【００４２】
次に、前記画像データを伝送路誤りに強くする目的でシャフリング処理を施す。この処理の目的は連続的な符号誤りであるところのバーストエラーを修整や補間の行いやすい離散的な誤りであるところのランダムエラーに変換する事である。加えて、画像の画面内の粗密による情報量の発生の偏りを均一化する目的を重視する場合には前記圧縮処理の前に本処理工程を持ってくると、ランレングス等の可変長符号を用いた場合の都合が良い。
【００４３】
これを受けて、データ・シャフリングの復元の為のデータ識別（ID）情報を付加する。このID付加動作にて付加されたIDは、同時に記録しておいた前記システムのモード情報等と共に再生時の逆圧縮処理（情報量伸張処理）の際に補助情報として利用する。これらのデータの再生時の誤りを低減する為にエラー訂正（ECC ）情報を付加する。この様な冗長信号の付加までを、映像と音声等の情報毎に対応する独立の記録エリア毎に処理する。
【００４４】
前記のように、ID情報やECC 情報が付加された画像信号は、記録部58により、磁気テープ等の記録媒体に記録されるとともに、後述する第一のメモリ38に一時的に記憶される。
【００４５】
一方、ビデオ処理部34にて多重化された画像データは、D/A 変換器56によって、ディジタル- アナログ変換され、電子ビューファインダ54で操作者により観察される。
【００４６】
また、操作者は第二の操作部52を介して、様々な操作情報をシステムコントローラ50に送信し、システムコントローラ50は、該操作情報によって、VCR 全体を制御するようになっている。
【００４７】
また、ビデオ処理部34にて多重化された画像データは、第二のメモリ40に出力され、一時的に記憶される。前述した第一のメモリ38と、二のメモリ40とは、それぞれ、第一のメモリ制御回路46と、第二のメモリ制御回路48とを介し、システムコントローラ50により動作制御されている。
【００４８】
第一のデータセレクタ42は、前述した第一のメモリ38と、二のメモリ40からのデータを選択して、第二の1394インターフェイス44に受け渡す、あるいは、第二の1394インターフェイス44からのデータを選択して、第一のメモリ38と、二のメモリ40とのどちらかに受け渡す。
【００４９】
前記動作により、VCR28 における第二の1394インターフェイス44からは、圧縮された画像データと非圧縮の画像データとが、操作者により選択されて出力できるようになっている。
【００５０】
第二の1394インターフェイス44は、1394シリアルバスを通じて、VCR28 を制御するためのコマンドデータを受信する。受信されたコマンドデータは、第一のデータセレクタ42を通じて、システムコントローラ50に入力される。
【００５１】
システムコントローラ50は、前記のコマンドデータに対するレスポンスデータを作成して、第一のデータセレクタ42、及び、第二の1394インターフェイス44を通じ、1394シリアルバスに該データを送出する。
【００５２】
本実施の形態では、例えば、プリンタ60は、画像の印刷出力装置として動作する。第三の1394インターフェイス62は、1394シリアルバス上に転送される画像信号と、1394シリアルバスを通じて該プリンタ60を制御するためのコマンドデータとを受信する。また、第三の1394インターフェイス62は、該コマンドに対するレスポンスデータを送信する。
【００５３】
受信された画像データは、第二のデータセレクタ64を通じて、第二のデコーダ70に入力される。第二のデコーダ70は、該画像データをデコードして、画像処理部74に出力する。画像処理部74は、デコードされた画像データを第三のメモリ72に一時的に記憶する。
【００５４】
一方、受信されたコマンドデータは、第二のデータセレクタ64を通じて、プリンタコントローラ68に入力される。プリンタコントローラ68は、該コマンドデータによりドライバ76による紙送り制御や、プリンタヘッド78の位置制御など、様々な印刷に関する制御を行なう。
【００５５】
また、プリンタコントローラ68は、第三のメモリ72に一時的に記憶された画像データを、印刷データとして、プリンタヘッド78に送信し、印刷動作を行わせる。前述したように、本実施の形態に係る、第一から第三の1394インターフェイス14,44,62は、それぞれ、1394シリアルバスのノードを構成する。
【００５６】
第一1394インターフェイス14は、コントロールノード、または、コントローラとして動作し、第二1394インターフェイス44は、画像データのソースノードとして動作し、第三1394インターフェイス44は、デスティネーションノードとして動作する。
【００５７】
以下に、図２を用いて、本実施の形態に係る各ノードの動作を示す。図２において、200 はコントローラ、202 はソースノード、204 はデスティネーションノード、206 はソースノード内部のサブユニット、208 は画像データ等のobject、210 はデスティネーションノード内部の第一のメモリ空間、212 は第一のコネクション、214 はデスティネーションの第n のメモリ空間、216 は第n のコネクションである。
【００５８】
コントローラ200 は、データ転送を行うソースノード202 とデスティネーションノード204 とのコネクションを確立するためのコネクションIDを管理するノードである。
【００５９】
コントローラ200 は、ソースノード202 、及びデスティネーションノード204 と独立したノードであってもよいし、ソースノード、または、デスティネーションノードとコントローラとが同じであってもかまわない。後者の場合、コントローラと同じノードであるソースノード、または、デスティネーションノードと、コントローラとの間のトランザクションは、不要である。
【００６０】
本実施の形態では、コントローラ200 がソースノード202 、及びデスティネーションノード204 とは別のノードに存在する場合の例を示す。本実施の形態の通信装置においては、複数のコネクションを確立することが可能である。
【００６１】
ソースノード202 は、内部のサブユニット206 から画像データ等のobject208 を、例えば、第一のコネクション212 を通じて、デスティネーションノード内部の第一のメモリ空間210 に書き込む。また、前述のコネクションによるデータの授受は、例えば、Asynchronousパケットを用いて行なわれる。
【００６２】
次に、図３(a) を用いて、前述した、コントローラ200 、ソースノード202 、デスティネーションノード204 の、各ノードの動作について説明する。コントローラは、ユーザーが選択したソースノードとデスティネーションノードに対して、接続を行うためのデータパケットを送信する。
【００６３】
このパケットはAsynchronousパケットで、ペイロードにはこのコネクションを識別するためのコネクションIDが書かれている。このパケットに続いて、コントローラはソースノードに送信コマンドパケットを送信する。送信コマンドパケットを受け取ると、ソースノードとデスティネーションノードは割り当てられたコネクションIDを使用してブロードキャストトランザクションを行い、データ転送を開始する。
【００６４】
データ転送が終了するとソースはsegment end を示すブロードキャストパケットを送出し、このパケットを受け取ったコントローラはコネクションIDを解放して、データ転送が終了する。
【００６５】
ここで、コネクションＩＤとは、ソースノードとデスティネーションノードとの論理的なコネクションを示すとともに、ソースノードの具備するサブユニットから送信される複数のオブジェクトを判別する意味を有する。したがって、複数の異なったオブジェクトが同一のソースノードから同一のデスティネーションノードに送信される場合、デスティネーションノードはAsynchronousパケット内に含まれるコネクションＩＤを検出することにより、各オブジェクトを判別することができる。
【００６６】
また、同一のオブジェクトが同一のソースノードから異なる複数のデスティネーションノードに送信される場合も、各デスティネーションノードは、このコネクションＩＤにより受信すべきAsynchronousパケットを判別することができる。
【００６７】
コントローラからコネクションID通知のパケットと送信コマンドパケットを受け取ったソースノードは、デスティネーションノードに対する問い合わせのAsynchronousブロードキャストパケットを送信する。
【００６８】
このパケットにはコントローラに指定されたコネクションIDが書き込まれている。デスティネーションノードはこのパケットを受け取ってレスポンスのブロードキャストパケットを送出する。このパケットにも同一のコネクションIDが書き込まれており、ソースノードはこのIDを照合してこのソースノード宛のパケットであるかをどうかを識別する。
【００６９】
レスポンスパケットには、デスティネーションノードのバッファサイズとオフセットアドレスが書き込まれており、これ以後のデータ転送はそのアドレスに対するライトトランザクションによって行われる。
【００７０】
ソースノードはデスティネーションノードから受け取ったオフセットアドレスに対して、Asynchronousブロードキャストパケットを使用して書き込みを行う。このパケットには前記コネクションIDとデータのシークエンス番号が書き込まれている。
【００７１】
ブロードキャストパケットを送信した後、ソースノードはデスティネーションノードからのレスポンスを待機する。デスティネーションノードからはコネクションIDとシークエンス番号が書かれたレスポンスパケットがAsynchronousブロードキャストパケットで送信され、このパケットを受け取るとソースノードはシークエンス番号をインクリメントし、次のデータを同様に送信する。
【００７２】
この手順を繰り返して、ソースノードはデータ転送を行う。デスティネーションノードからのレスポンスを待機する最大の時間はあらかじめ決められており、その時間を過ぎてもレスポンスが帰ってこない場合は、同一シークエンス番号を用いて、同一データを再送する。また、デスティネーションノードから再送要求のレスポンスパケットが送信された場合は、指定されたシークエンス番号のデータをブロードキャストで再送する。全てのデータの転送が終了したら、ソースノードはsegment end を示すブロードキャストパケットを送信して、データ転送を終了する。
【００７３】
コントローラからコネクションID通知のパケットを受け取ったデスティネーションノードは、ソースノードからの問い合わせのAsynchronousブロードキャストパケットを待機する。ブロードキャストパケットを受け取ったデスティネーションノードは、そのパケットに書かれているコネクションIDとコントローラから通知されたコネクションIDを照合して、このパケットがソースノードからのパケットであるかどうかを判別する。
【００７４】
ソースノードからの問い合わせパケットを受信すると、デスティネーションノードはコネクションID、データ受信用のバッファサイズとオフセットアドレスを書き込んだレスポンスパケットをブロードキャストで送信する。ソースノードからのデータは、このアドレスに対して書き込まれる。
【００７５】
ソースノードからデータが書き込まれると、デスティネーションノードはペイロード中のコネクションIDの照合を行う。このIDがコントローラから通知されたIDと一致する場合はデータを受け取って、コネクションIDと受信データ中のシークエンス番号を書き込んだレスポンスパケットをブロードキャストで送信する。受信データのシークエンス番号に不整合が検出された場合、再送要求を示すレスポンスを送出し、ソースノードに再度データを要求することができる。全てのデータ転送が終了すると、ソースノードからsegment end を示すブロードキャストパケットが送信され、このパケットを受信するとデータ転送プロセスを終了する。
【００７６】
確実にデータを転送するためには、バスリセットの発生や何らかのエラーの発生により、データ転送中が中断した場合にも、速やかに該データ転送が再開されることが望ましい。本実施の形態では、再送要求の手順を設けることで該問題点を解決している。
【００７７】
次に、該再送要求の手順を図３(b) を用いて説明する。
データ転送中にバスリセットが発生した場合、各ノードは規格で定められた手順で例えば、シークエンス番号がi であった時に、データ転送が中断した場合、まず、各ノードは規格で定められた手順でバスの再構築を行う。
【００７８】
バスの再構築が完了した後、デスティネーションノードはコネクションIDとシークエンス番号i を書き込んだ再送要求パケット(resend request)を、ブロードキャストパケットで送信する。データ転送の再開が可能な場合には、ソースノードは、ack レスポンスを返す。その後、ソースノードは受信したパケットのコネクションIDを照合し、要求されたシークエンス番号の以降、すなわち、シークエンス番号(i+1) 出始まるデータ列のデータを順次ブロードキャストパケットで送信する。
【００７９】
前述の手順により、ソースノード、デスティネーションノード、コントローラノードはそれぞれノードIDを考慮することなく、データ転送が中断しても、その後のデータ転送を容易に、かつ、確実に再開することができる。また、前述のように、本実施の形態では、データ転送が中断した場合にも、コントローラの制御手順が簡略化できる効果がある。
【００８０】
次に、図４を用いて、前述のAsynchronousパケットについて説明する。本実施の形態に係るAsynchronousパケットは、例えば、4 byte,(32 bits 、以下クアッドレットと称する) を単位とするデータパケットである。Asynchronousパケットにおいて、最初の16 bits はdestination IDフィールドであり、該フィールドは受信先のノードIDを示す。
【００８１】
最初の16bitsは、1394-1995 規格においては、上位10bitsは、destination   Bus   IDを示し、下位の6bits は、destination   Physical  IDいわゆるノードＩＤを示す。上位10bitsは、3FFhである場合は、ローカルバス宛てへの送信を示し、0hから3Fe h までは、他のバス宛てへの送信を示す。
【００８２】
下位6bits は、3Fh である場合は、ブロードキャストパケットであることを示し、0 h から3Eh までは、特定のノードＩＤへの送信を示す。本実施の形態のように、ローカルバスへのブロードキャストを行なう場合には、このフィールドの値はFFFF 16 である。
【００８３】
次の6 bitsのフィールドは、トランザクション・ラベル(tl)フィールドであり、各トランザクション固有のタグである。
次の2 bitsのフィールドは、リトライ(rt)コードであり、パケットがリトライを試みるかどうかを指定する。
【００８４】
次の4 bitsのフィールドは、トランザクションコード(tcode) である。tcode は、パケットのフォーマットや、実行しなければならないトランザクションのタイプを指定する。
【００８５】
本実施の形態においては、例えば、この値が0001 2 である、データブロックの書き込みリクエストのトランザクションを用いる。
次の4 bitsのフィールドは、プライオリティ(pri) フィールドであり、優先順位を指定する。本実施の形態においては、Asynchronousパケットを用いているので、このフィールドの値は0000 2 である。
【００８６】
次の16 bits はsource IDフィールドであり、送信側のノードIDを示す。
次の48 bits はdestination offsetフィールドであり、パケットの受信先ノードアドレスの、下位48 bits がこのフィールドによって指定される。
【００８７】
次の16 bits はdata lengthフィールドであり、後述するデータフィールドの長さを、バイト単位で示している。
次の16 bits はextended tcode フィールドであり、本実施の形態に用いられるデータブロックの書き込みリクエストトランザクションにおいては、この値は$0000 16 $ である。
【００８８】
次の32 bits はheader CRC フィールドであり、前述したdestination IDフィールドからextended tcode フィールドまでを、パケットヘッダと称し、該ヘッダパケットのエラー検出に用いられる。
次のフィールドは可変長のデータフィールドであり、該データフィールドをパケットのペイロードと称する。本実施の形態においては、該データフィールドがクアッドレットの倍数でない場合、クアッドレットに満たないビットには0 が詰められる。
【００８９】
次の32 bits のフィールドはdata CRC フィールドであり、前記のheader CRC フィールドと同様に、該データフィールドのエラー検出に用いられる。図５は、前述したフィールドにおいて、本実施の形態にていられるAsynchronousパケットヘッダにおいて、固定のデータを書き加えた図である。また、図６は、本実施の形態にて用いられるAsynchronousパケットのデータフィールドの構造を示す図である。
【００９０】
図６において、図４と同じ機能を持つデータについては説明しない。最初の６クアッドレットはヘッダ・インフォメーションであり、前述したコネクションを識別するためのコネクションIDなどが書かれる。
【００９１】
６クアッドレット目以降は、可変長のデータブロックである。本実施の形態において、該データブロックがクアッドレットの倍数でない場合、クアッドレットに満たないビットには0 が詰められる。
【００９２】
図７は、前記ヘッダ・インフォメーションの構造を示した図である。最初の２クワドレットは、コントロールノードのワールドワイドユニークＩＤであり、該データーにより、ソース、デスティネーションは、コネクションを設定したコントロールノードを識別する。このワールドワイドユニークＩＤは、1394- 1995規格に準拠する。
【００９３】
ここでは、個々のコントロールノードを識別するために1394- 1995に準拠したワールドワイドユニークＩＤを用いたが、バスリセットなどが発生しても、変化しない個々のノードを識別できる固有の情報であればなんでもよい。
次の16 bits は、前述したコネクションID(connection ID) フィールドであり、該データによってコネクションを識別する。
【００９４】
複数のコントローラが同一のコネクションＩＤを設定した場合も、個々のノードは、前記コントロールノードのユニークなＩＤと前記コネクションＩＤにより、絶対的な論理的コネクションを識別する。
【００９５】
また、個々のコントローラは、他のコントローラの設定したコネクションＩＤ番号の重複を許し、コントローラは、他のコントローラの設定したＩＤを使用してもよい。
【００９６】
次の8 bitsは、プロトコルタイプ(protocol type) フィールドであり、該ヘッダ・インフォメーションを用いたデータ授受の手順を示す。図では、Reservedとして示されている。
【００９７】
本実施の形態の授受手順には、例えば、01 16 の値が用いられる。次の8 bitsは、コントールフラグ(control flags)フィールドであり、制御データが書かれる。コントールフラグフィールドの最上位ビットは、例えば、再送要求(resend request)フラグであり、このビットの値が1 の時、データの再送要求が生じていることを示す。
【００９８】
次の16 bits は、シークエンス番号(sequence number) フィールドである。前述したように、該シークエンス番号フィールドは、特定のコネクションIDにて送受信されるデータパケットに対し、連続的な値が使用される。デスティネーションノードは、該シークエンス番号フィールドによって、有意なデータの連続性を監視し、不一致が生じた場合には、ソースノードに対して再送要求を行なう。
【００９９】
次の16 bits は、確認応答番号(reconfirmation number) フィールドである。このフィールドは、前述の再送要求フラグの値が1 の時のみ、意味を持つフィールドである。
【０１００】
前述の再送要求フラグの値が1 の時、このフィールドは、再送要求が生じている開始パケットのシークエンス番号を示す。次の１６ビットは、デスティネーションノードの有するバッファサイズを示す。次の48ビットは、デスティネーションノードのIEEE1212規格に準拠した仮想的なアドレス空間（CRS 空間）のオフセットアドレスを示す。
【０１０１】
（用語の説明）
なお、前述した実施の形態において、以下のセグメントとは、ソースノードのデーターをペイロードのデーター値から、ペイロード内に設けたヘッダーサイズ値を減算した値を単位として分割したものをいい、セグメントのデーターをセグメントデーターという。そのセグメントデーターサイズをセグメントデーターサイズという。
【０１０２】
図９は、２つのコントローラがネットワーク上にそれぞれ同一のコネクションＩＤを設定した構成を示す。図９中のコントローラノード１は、バスリセットなどが発生しても変化しないノードユニークな識別ＩＤを有することを示す。ここでは、IEEE1394-1995 規格のワールドワイドユニークＩＤ＝１とする。
【０１０３】
同じく、図中のコントローラノード２は、前記コントローラノード１同様にバスリセットなどが発生しても変化しないノードユニークな識別ＩＤを有することを示す。ここでは、IEEE1394-1995 規格のワールドワイドユニークＩＤ＝４とする。それぞれのコントローラは、ソースデスティネーション間に論理的なコネクションを設定しており、ここでは、それぞれの論理的コネクションＩＤが０となっている。
【０１０４】
このように、同一のコネクションＩＤをそれぞれのコントローラが設定した場合も、コントロールノード間で、コネクションＩＤが重複しないようにするネゴシエーションは必要ない。
【０１０５】
コントローラは、コネクション設定にあたり、あらかじめソースデスティネーション間にそれぞれコネクションＩＤとコントローラのノードユニークな識別ＩＤを告知しておく。ソース、デスティネーションそれぞれは、コネクションを設定したコントローラを前記手順によりここに識別する。
【０１０６】
図１０は、図３(a) にて説明した、フローを補足する本実施の形態の全体のコントローラとソース、デスティネーション間の大まかなフローを示す。
（１）コントローラは、まず、各デスティネーションに各デスティネーションが許容できる最大のAsynchronous  Write トランザクションのペイロードサイズを表すIEEE1394-1995 規格に準拠したmax ＿rec サイズを問い合わせると同時にコントローラが設定したユニークなコネクションＩＤを告知する。各デスティネーションは、前記コントローラからのコマンドに対して、それぞれmax rec サイズを通知し、かつコネクションＩＤが設定されたことをレスポンスとして返す。
【０１０７】
（２）次に、コントローラは、ソースに対して前記コントローラが設定したユニークなコネクションＩＤと、コントローラがソース、デスティネーション間で論理的に接続するデスティネーションの総数Ｎと、ソースが送信するブロードキャストAsynchronous  Write トランザクションのペイロードのサイズを告知する。このコントローラからソースノードへ告知されるペイロードのサイズは、各デスティネーションからの前記max rec サイズの中でもっとも小さいmax rec サイズをソースノードからのペイロードサイズとする。
【０１０８】
ソースノードは、コントローラからのペイロードサイズから、各Asynchronous  Write トランザクションのペイロード内に設けられている固定データーサイズのヘッダーのサイズだけを減算したデーターサイズを１セグメントのデーターサイズとし、このデーターサイズにて選択されたオブジェクトを分割する。
【０１０９】
ここでは、コントローラがペイロードのデーターサイズをソースに対して告知し、ソースノードがセグメントのデーターサイズを演算したが、コントローラがこれらセグメントのサイズをあらかじめ演算した結果をソースノードに告知するようにしてもよい。ソースは、前記コントローラからのコマンドに対して、それぞれが設定されたことをレスポンスとして返す。
【０１１０】
（３）コントローラは、ソースに対して送信を希望するソースの有するオブジェクトデーターの中から１つのオブジェクトを選択する。ソースは、コントローラに対して該オブジェクトが選択されたことをレスポンスとして返す。該選択されたオブジェクトは、静止画でも動画でもよい。また、テキストデーターや、バイナリーデーターでもよい。
【０１１１】
（４）コントローラは、前記ソースからのレスポンスに対してソースがオブジェクトを送信できることを知ると、コントローラは、ソースに対して選択したオブジェクトをデスティネーションに対して送信開始を指示するコマンドを送信する。
【０１１２】
（５）ソースは、コントローラからの前記送信開始コマンドを受信すると、選択したオブジェクトを送信開始する。
【０１１３】
（６）ソースからのオブジェクトの送信が終了するとコントローラは、ソースに対して選択したオブジェクトを開放する。
【０１１４】
（７）この時点で、コントローラは、更に他のオブジェクトを送信したいのであれば、前記の手順（３）から手順（６）を繰り返す。
【０１１５】
（８）すべてのオブジェクトを送信し終えると、コントローラは先に設定したユニークなコネクションIDをリリースしてもよい。
【０１１６】
図１１は、１つのコントローラがネットワーク上に同一のコネクションＩＤを１つのソースとＮ個のデスティネーション間に設定した構成を示す。ここでは、ユニークなコネクションＩＤをFFFF(h) としているが、他の番号でもよい。コントローラは、図１０に示した全体のフローの手順（１）をそれぞれのデスティネーションに対して行い、都合Ｎ回繰り返す。
【０１１７】
図１２は、前記図１１に示したようなネットワークの構成において、それぞれのデスティネーションが同一の受信バッファサイズを有し、オブジェクトデーターサイズが該受信バッファに等しい場合を示す。ここでは、簡単のためデスティネーションの数をＮ＝３としている。ソースは、コントローラから同一のコネクションＩＤで接続されているデスティネーション数＝３であることをすでに、コントローラから告知されている。
【０１１８】
（イ）コントローラからの送信開始コマンドがソースに対して送信されると、ソースは、図３(a) にて説明した手順に従い接続要求を送信する。
（ロ）３個のデスティネーションは、それぞれ受信準備が完了した時点で、それぞれ自身の有する受信バッファサイズを付加したAck レスポンスを返す。
（ハ）ソースは、３個のAck が帰ってきたことを確認した後、Ack レスポンス内の受信バッファサイズから、オブジェクトを指定されたペイロードサイズに分割して前記該デスティネーションのバッファサイズになるまで送信する。
【０１１９】
（ニ）すべてのデーターが送信し終わる最後のセグメントにセグメントの終わりを示すセグメントエンドフラグを立てて送信する。
（ホ）各デスティネーションは、セグメントエンドのパケットを受信すると、それぞれすべてのデーターを受信完了したことを示すセグメントエンドレシーブレスポンスを返す。
（ヘ）コントローラ、ソースは、前記セグメントエンドレシーブレスポンスがすべてのデスティネーションから帰ったことを認識しデーター転送が終了した個を認識する。
【０１２０】
図１３は、前記図１２で説明したオブジェクトデーターの転送のモデルを示す。この図では、オブジェクトデーターは、データーサイズ128Kbyteの静止画であり、セグメントサイズは、256byte で500 分割されてデスティネーションに転送されることを示す例である。
【０１２１】
図１４は、図１１において、３個のそれぞれのデスティネーションが異なる受信バッファサイズを有するネットワークにおけるデーター転送のフローを示す。ここでは、簡単のためデスティネーションの数をＮ＝３としている。ソースは、コントローラから同一のコネクションＩＤで接続されているデスティネーション数＝３であることをすでに、コントローラから告知されている。
【０１２２】
（ト）コントローラからの送信開始コマンドがソースに対して送信されると、ソースは、図３(a) にて説明した手順に従い接続要求を送信する。
（チ）３個のデスティネーションは、それぞれ受信準備が完了した時点で、それぞれ自身の有する受信バッファサイズを付加したAck レスポンスを返す。
【０１２３】
（リ）ソースは、３個のAck が帰ってきたことを確認したのち、それぞれのAck レスポンス内の受信バッファサイズを示すフィールドから、オブジェクトを指定されたペイロードサイズに分割して前記該デスティネーションの中で最小のバッファサイズになるまで送信し、最小バッファサイズを有するデスティネーションからのレシーブレスポンスが送信されるのを待つ。
（ヌ）最小受信バッファを有するデスティネーションからのレシーブレスポンスを受信したら、ソースは、引き続き次に大きい受信バッファを有するデスティネーションノードのバッファサイズまで送信し、該デスティネーションからのレシーブレスポンスが送信されるのを待機する。
【０１２４】
（ル）該デスティネーションからのレシーブレスポンスを受信したら、ソースは、引き続き次に大きい受信バッファを有するデスティネーションノードのバッファサイズまで送信し、該デスティネーションからのレシーブレスポンスが送信されるのを待機する。
（ヲ）ソースは、すべてのデーターを送信し終えるとセグメントエンドフラグをつけた最終セグメントを送信し、それぞれのデスティネーションからのセグメントエンドレシーブレスポンスを受信するまで待機する。
【０１２５】
（ワ）すべての前記セグメントエンドレシーブレスポンスを受信したら、コントローラとソースは、データー送信が終了したことを認識する。図１５は、前記図１４に示した異なる受信バッファの場合を示したものであり、ここでは、簡単のためデスティネーションの数Ｎ＝２としている。
【０１２６】
ソースのオブジェクトは、ここでは、データーサイズは128Kbyteの静止画ととなっているが、データーサイズは、可変可能であり、規定するものではない。また、オブジェクトも静止画だけでなく、動画、テキスト、バイナリーデーターなどなにでもよい。
【０１２７】
ソースは、セグメントサイズ256Byte に前記オブジェクトを500 に分割し、デスティネーション＃１のバッファサイズまで送信し、該デスティネーションは、レシーブレスポンスを返し、ソースが引き続き＃２のデスティネーションの受信バッファになるまで送信をつづける。ここでは、＃２のデスティネーションのバッファサイズが＃１のバッファサイズの2 倍となっているが、デスティネーション間のバッファサイズについて相互に何ら規定するものではない。
【０１２８】
＃１のデスティネーションは、都合３個のセンドレシーブレスポンスを返し、＃２のデスティネーションは、1 個のセンドレシーブレスポンスを返すことになる。
【０１２９】
（第２の実施の形態）
この実施の形態は、マルチキャストにおけるブロードキャストに関する。
図５にて示される第一の実施の形態では、Asynchronous  Write パケットにおいて、最初の16 bits はdestination IDフィールドであり、該フィールドは受信先のノードIDを示す。第一実施の形態のように、ローカルバスへのブロードキャストを行なう場合には、このフィールドの値はFFFF 16 である。
【０１３０】
図１６に前記destination IDフィールドを示す。先に説明したとおり、この最初のフィールドの最初の16bit は、IEEE1394-1995 規格においては、上位10bit は、destination Bus IDを示し、下位の6bitは、destination Physical IDいわゆるノードＩＤを示す。
【０１３１】
上位10bit は、3FFhである場合は、ローカルバス宛てへの送信を示し、0hから3Fehまでは、他のバス宛てへの送信を示す。下位6bitは、3Fh である場合は、ブロードキャストパケットであることを示し、0hから3Eh までは、特定のノードＩＤへの送信を示す。
【０１３２】
ここで、他のバス宛てへの送信を示すために用いていた 0h から3FEhのなかの、特定の１つの値を用いて定義された上位10bit のdestination Bus IDと下位destination Physical IDの合計16bit をマルチキャストＩＤと定義する。本実施の形態２では、下位6bitがブロードキャストを示す3Fh を用いている。下位6bitが3Fh の場合は、ブロードキャストＩＤと定義する。
【０１３３】
第２の実施の形態では、先に説明した最初の16bit のフィールドうち、上記10bit のdestination Bus IDを、従来は、他のバス宛てへの送信を示すために用いていた  0hから3FEhの中の、特定の１つの値をマルチキャストデーター転送専用とし、下位の6bitは、destination Physical ID いわゆるノードＩＤは、ブロードキャストパケットであることを示す3Fh を用いる。この例を図１８に示す。
【０１３４】
（第３の実施の形態）
ここで、前記第２の実施の形態において、他のバス宛てへの送信を示すために用いていた  0hから3FEhのなかの、特定の１つの値を用いて定義された上位10bit のdestination Bus IDと下位destination Physical IDの組み合わせた合計16bit のフィールドで示されるものをマルチキャストＩＤと定義するのは、第２の実施の形態と同じである。
【０１３５】
第３の実施の形態は、先に説明した最初の16bit のフィールドうち、第２の実施の形態で示した下位6bitのdestination Physical IDいわゆるノードＩＤは、特定のノード宛てのＩＤを示す値を用いる。これは、1394においては、バスリセット後に決定されるノードＩＤを示すものでである。0hから3Eh までの値を取り、都合63個のノードＩＤが指定できる。
【０１３６】
ここで、この上位10bit を前記第2 の実施の形態にて示したように、マルチキャストデーター転送専用のdestination Bus IDを指定しているため、下位6bitの示すＩＤは、マルチキャストデーター転送用の特定のノードＩＤを示すこととする。これを図１８に示す。
【０１３７】
第１の実施の形態と同様に、図１０に示すように、コントローラは、コネクション設定にあたり、あらかじめソースとデスティネーションにそれぞれ本実施の形態にて説明した１６bit で示されたマルチキャストＩＤとを通知する。また、上位10bit は、マルチキャストを指定するため値は固定であるから、下位6bitのみを通知することも可能である。
【０１３８】
また、同時に、コントローラは、ソース、デスティネーションそれぞれに、デスティネーションの任意のCSR 空間の48 bits のdestination offsetフィールドを通知する。コントローラは、マルチキャストＩＤ1 個につき、複数の任意のCSR 空間の48 bits のdestination offsetフィールドを指定できる。
【０１３９】
これらデスティネーションのCSR 空間の48 bits のdestination offsetフィールドは、コントローラがテーブルとして有していてもよい。コントローラは、これら複数のデスティネーションのCSR 空間の48 bits のdestination offsetフィールド毎にコネクションをソースとデスティネーション間で設定する。
【０１４０】
以上により、パケットの受信先ノードアドレスの、下位48 bits がこのフィールドによって指定される。このように、設定することにより各デスティネーションは、自分がコントローラから設定された6bitのＩＤとCSR 空間の48 bits のdestination offsetフィールドを認識しデーターを取り込む。
【０１４１】
これら、マルチキャストＩＤとデスティネーションのオフセットアドレスは、コントローラがそれぞれコネクションＩＤとしてマルチキャストＩＤとオフセットアドレスの組み合せを管理する。これを、図１９にテーブルフォーマットの例を示す。また、図２０にコントローラがソース、デスティネーション間に独立したコネクションを５個設定している場合のコントローラが有するコネクションテーブルを示す。
【０１４２】
ここでは、コントローラが都合３つのマルチキャストＩＤを確保しており、マルチキャストＩＤ＝3FE00 (h)には、それぞれ異なるデスティネーションOffsetアドレスを設定していることがわかる。
【０１４３】
マルチキャストＩＤ＝3FE01(h)には、一つのデスティネーションOffsetアドレスが設定されている。マルチキャストＩＤ＝3fE04(h)も、同様に一つのデスティネーションOffsetアドレスが設定されている。
【０１４４】
このように、一つのマルチキャストＩＤについて複数のデスティネーションOffsetアドレスが設定が設定されるしくみを提供している。このため、マルチキャストＩＤが６３しかなくても、複数のコネクションを設定できる。
【０１４５】
デスティネーションからのソースに返信するレスポンスパケットは、前記コントローラが設定した前記16bit のマルチキャストＩＤとデスティネーションOffsetアドレスを設定して、図４に示すAsynchのWrite のdestination IDに書き込み、Asynchronous  Write トランザクションで送信する。
【０１４６】
コントローラは、あらかじめソースノードのCSR 空間の48 bits のdestination offsetフィールドをコネクション毎に設定しており、コネクション設定時にデスティネーションにソースノードの上記CSR 空間の48 bits のdestination offsetを通知していることは、すでに説明している。
【０１４７】
コントローラは、あわせて、コントローラのＷＷＵＩＤをそれぞれのソース、デスティネーションに通知することは、第１の実施の形態及び第２の実施の形態と同じである。また、それぞれのコネクションＩＤ毎に同コネクションＩＤで設定されているデスティネーションの総数がワード長 6bit にて、Total number of destination field にコネクション設定が終了されているそれぞれの総数が示されている。
【０１４８】
図２１に示すところのＷＷＵＩＤを示すフィールドにコントローラが管理するコネクションＩＤを書き込み、かつ、マルチキャストＩＤをもちいることにより、バスリセットが発生した場合も実施の形態１に示すようにソース、デスティネーションは、図３（ｂ）に示すように自動的にコネクションを復帰できる。
【０１４９】
（第４の実施の形態）
本実施の形態では、マルチキャストＩＤテーブルを有するノードがIsochronous resouce マネージャーである場合である。コネクションを設定するコントローラは、前記Isochronous resouce マネージャーに対して、特定のオフセットアドレスに保持されているマルチキャストＩＤをいったんAsynchronous Read トランザクションにて読み込み、希望するマルチキャストＩＤをコンペア・スワップロックトランザクションにて書きこむことにより、希望するマルチキャストＩＤを得る。
【０１５０】
これらの手順は、IEEE1394-1995 規格におけるIsochrnous Ch の獲得手順と同じである。マルチキャストＩＤを有するノードがＲＯＯＴノードである場合も、同様にに、コントローラがマルチキャストＩＤを獲得する手順は同じである。
【０１５１】
このような、マルチキャストＩＤを管理するノードをバス上に１個に限定し、コネクションを希望するコントローラが前記マルチキャストＩＤを管理するノードに前記ＩＤを確保するようにしているため、マルチキャストIDが重複することがなくなる。
【０１５２】
それぞれのコネクション毎に、マルチキャストＩＤと、ソース、デスティネーションのそれぞれのCSR 空間の48 bits のdestination offsetを指定しているため、図７に示すようなパケット内のペイロードに設けるヘッダーなかのコネクションＩＤおよび、ＷＷＵＩＤを付加してソースおよび、デスティネーションは、付加しなくてもよい。本実施の形態４の場合のヘッダーを図２２に示す。
【０１５３】
図２３に示すヘッダーの例は、ここでは、図１０にて述べたゼネラルフローにて、デスティネーションのバッファサイズをコントローラがデスティネーションに問い合わせて、ソースに通知するようにした場合を示している。この場合は、各ペイロード内のヘッダーに  デスティネーションのＢｕｆｆｅｒサイズを示すフィールドを設ける必要がない。
【０１５４】
図２４に示す例は、コントローラとソースデスティネーションの接続構成を示す。コントローラは、ソース、デスティネーション間にコネクションを設定しており、コネクションＩＤによって管理される。ソース、デスティネーションは、あらかじめ通知されたコネクションＩＤによって、コネクションを判別することは、第１の実施の形態と同じである。
【０１５５】
それぞれのデスティネーションは、図に示すようにそれぞれが設定されたコネクションＩＤとマルチキャストＩＤとオフセットアドレスをテーブルとして有している。図２４には示していないが、ソースも同様なテーブルを有することはいうまでもない。
【０１５６】
図２４は、コントローラーとソースデスティネーションの接続構成を示す。ソース、デスティネーションは、あらかじめ通知されたコネクションＩＤによって、コネクションを判別することは、第１の実施の形態と同じである。
【０１５７】
コントローラは、ソース１個と、Ｎ個のデスティネーション間にコネクションを設定していることを示す。コントローラは、現在コントローラが設定しているすべてのコネクションをテーブルとして有している。
【０１５８】
コントローラは、コネクションＩＤ＝０（ｈ）でデスティネーションノード０、１、２の合計３個のノードに対して、ソースノードとコネクションを設定いしている。同一コネクションＩＤで接続されているデスティネーションの総数＝３（ｈ）をテーブルのTotal number of destination field に記録しておく。また、デスティネーションノード＃n に別のコネクションＩＤ＝４（ｈ）でもコネクションを設定している。同様に、接続されているデスティネーションの総数＝１（ｈ）をテーブルのTotal nuber of destination fieldに記録しておく。
【０１５９】
図２４に示すデスティネーションノード０、１、２はそれぞれのデスティネーションは、コントローラがそれぞれのデスティネーションに設定したコネクションをテーブルとして有していることを示している。
【０１６０】
図２４に示すように、それぞれのデスティネーションノード０、１、２は、同一のコネクションＩＤが設定されているため、デスティネーションノード０、１、２が有するコネクションテーブルは、すべて同一となっている。
【０１６１】
ソースは、デスティネーションノード０、１、２に同時に同一データを送信する場合は、ソースが有するコネクションテーブルのコネクションＩＤ＝０（ｈ）から、Asynchronous WriteパケットのヘッダーのデスティネーションＩＤに、コネクションＩＤ＝０（ｈ）のマルチキャストＩＤ＝３ＦＥ００（ｈ）を付加し、デスティネーションオフセットアドレスに同じくテーブルのデスティネーションオフセットアドレスフィールド＝ＦＦＦＦ  Ｅ０００  ００００（ｈ）を付加して、本実施の形態で定義したペイロード内のヘッダーにコネクションＩＤ＝０（ｈ）を付加して同一のAsynchoronous White パケットを送信する。
【０１６２】
受信時は、デスティネーションノード０、１、２は、自身が有するコネクションテーブルから、マルチキャストＩＤ＝３ＦＥ００（ｈ）と取り込んだAsynchronous WriteパケットのデスティネーションＩＤ＝３ＦＥ００（ｈ）を比較し、同一であるので、自身宛のパケットとしてデータを取り込む。
【０１６３】
次に、同パケットのデスティネーションオフセットアドレスを自身のテーブルのデスティネーションオフセットアドレスフィールド＝ＦＦＦＦ  Ｅ０００  ００００（ｈ）と比較し、同一であるので、自身宛のパケットとしてデータを取り込み、設定されているコネクションであることを判別しデータをコネクションＩＤ＝０（ｈ）用の内部バファに取り込む。
【０１６４】
デスティネーションノード＃ｎは、自分の有するコネクションテーブルから、マルチキャストＩＤ＝３ＦＥ０４（ｈ）と、取り込んだAsynchronous WriteパケットのデスティネーションＩＤ＝３ＦＥ００（ｈ）を比較し、同一でないので、パケットとしてデータを取り込まない。
【０１６５】
また、ソースから、デスティネーションノード＃ｎにデータを送信する場合は、ソースが有するコネクションテーブルのコネクションＩＤ＝４（ｈ）から、Asynchronous WriteパケットのヘッダーのデスティネーションＩＤに、コネクションＩＤ＝４（ｈ）のマルチキャストＩＤ＝３ＦＥ０４（ｈ）を付加して、デスティネーションオフセットアドレスに同じくテーブルのデスティネーションオフセットアドレスフィールド＝ＦＦＦＦ  Ｅ０００  ００００（ｈ）を付加して、本提案で定義したペイロード内のヘッダーにコネクションＩＤ＝４（ｈ）を付加してAsynchronous Writeパケットを送信する。
【０１６６】
受信デスティネーションノード＃ｎは、自身が有するコネクションテーブルから、マルチキャストＩＤ＝３ＦＥ０４（ｈ）と取り込んだAsynchronous WriteパケットのデスティネーションＩＤ＝３ＦＥ０４（ｈ）を比較する。次に、同パケットのデスティネーションオフセットアドレスを自身のテーブルのデスティネーションオフセットアドレスフィールド＝ＦＦＦＦ  Ｅ０００  ００００（ｈ）と比較し、同一であるので、自身宛のパケットとしてデータを取り込み、コネクションＩＤ＝４（ｈ）用のデータをバッファに取り込む。
【０１６７】
この時、デスティネーションノード０、１、２は、自分の有するコネクションテーブルから、マルチキャストＩＤ＝３ＦＥ００（ｈ）と、取り込んだAsynchronous WriteパケットのデスティネーションＩＤ＝３ＦＥ０４（ｈ）を比較し、同一でないので、パケットとしてデータを取り込まない。図２４には示していないが、ソースも同様なテーブルを有することはいうまでもない。
【０１６８】
図２５に、コントローラとソースデスティネーションの接続構成を示す。ソース、デスティネーションは、あらかじめ通知されたコネクションＩＤによって、コネクションを判別することは、第１の実施の形態と同じである。
【０１６９】
コントローラは、１個のソースと、１個のデスティネーション間に複数の異なるコネクションを設定していることを示す。コントローラは、現在コントローラが設定しているすべてのコネクションをテーブルとして有している。
【０１７０】
コントローラは、合計３個のコネクションＩＤ＝０（ｈ）、１（ｈ）、２（ｈ）でデスティネーションノードに対して、ソースノードとコネクションを設定している。それぞれのコネクションＩＤで接続されているデスティネーションの総数＝１（ｈ）をテーブルのそれぞれのTotal number of destination field 記録しておく。
【０１７１】
図２５に示すデスティネーションノードは、コントローラがデスティネーションに設定したコネクションをテーブルとして有していることを示している。
図２５に示すように、デスティネーションノードは、コネクションＩＤ＝０（ｈ）、１（ｈ）、２（ｈ）が設定されているため、デスティネーションノードが有するコネクションテーブルは、コネクションＩＤ毎にマルチキャストＩＤは、同一であるが、デスティネーションオフセットアドレスが異なっている。
【０１７２】
ソースは、デスティネーションノードにコネクション毎に異なるデータを送信する場合がある。以下、このような場合について説明する。
まず、ソースが有するコネクションテーブルのコネクションＩＤ＝０（ｈ）を用いて、データを送信する場合は、Asynchronous WriteパケットのヘッダーのデスティネーションＩＤに、コネクションＩＤ＝０（ｈ）のマルチキャストＩＤ＝３ＦＥ００（ｈ）を付加して、デスティネーションオフセットアドレスに同じくテーブルのデスティネーションオフセットアドレスフィールド＝ＦＦＦＦ  Ｅ０００  ００００（ｈ）を付加して、本実施の形態で定義したペイロード内のヘッダーにコネクションＩＤ＝０（ｈ）を付加して同一のAsynchronous Writeパケットを送信する。
【０１７３】
受信時は、デスティネーションノードは、自身が有するコネクションテーブルから、マルチキャストＩＤ＝３ＦＥ００（ｈ）と取り込んだAsynchronous WriteパケットのデスティネーションＩＤ＝３ＦＥ００（ｈ）を比較し、同一であるので、自身宛のパケットとしてデータを取り込む。次に同パケットのデスティネーションオフセットアドレスを自身のテーブルのデスティネーションオフセットアドレスフィールド＝ＦＦＦＦ  Ｅ０００  ００００（ｈ）と比較し、コネクションＩＤ＝０と同一であるので、設定されているコネクションであることを判別しデータをコネクションＩＤ＝０（ｈ）用のバファに取り込む。
以下、コネクションＩＤ＝１（ｈ）、２（ｈ）は同様に処理される。
【０１７４】
（本発明の他の実施形態）
本発明は複数の機器（例えば、ホストコンピュータ、インターフェイス機器、リーダ、プリンタ等）から構成されるシステムに適用しても１つの機器からなる装置に適用しても良い。
【０１７５】
また、前述した実施形態の機能を実現するように各種のデバイスを動作させるように、前記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【０１７６】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１７７】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等の共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１７８】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【０１７９】
【図１】本発明の実施の形態を表すブロック図である。
【図２】本発明に係る各ノードの動作を示すブロック図である。
【図３】本発明に係る各ノード間のコマンドやデータの授受を示すダイアグラムを示す図である。
【図４】本発明にかかるAsynchronousパケットを示す図である。
【図５】本発明の実施の形態で用いられるAsynchronousパケットを示す図である。
【図６】本発明の実施の形態で用いられるAsynchronousパケットのデータフィールドの構造を示す図である。
【図７】本発明の実施の形態で用いられるデータフィールド中のヘッダの構造を示す図である。
【図８】従来例を示す図である。
【図９】本発明の実施の形態で用いられるコントロールノードの有する固有識別情報を示す図である。
【図１０】本発明の実施の形態で用いられる図３(a) にて説明した、フローを補足する全体のフローを示す図である。
【図１１】本発明の実施の形態で用いられる１つのコントローラがネットワーク上に同一のコネクションＩＤを１つのソースとＮ個のデスティネーション間に設定した構成を示す図である。
【図１２】本発明の実施の形態で用いられるそれぞれのデスティネーションが同一の受信バッファサイズを有し、オブジェクトデーターサイズが該受信バッファに等しい場合を示す図である。
【図１３】本発明の実施の形態で用いられるオブジェクトデーターの転送のモデルを示す図である。
【図１４】本発明の実施の形態で用いられる３個のそれぞれのデスティネーションが異なる受信バッファサイズを有するネットワークにおけるデーター転送のフローを示す図である。
【図１５】本発明の実施の形態で用いられる異なる受信バッファの場合を示したものであり、ここでは、簡単のためデスティネーションの数Ｎ＝２としていることを示す図である。
【図１６】IEEE1394-1995 にて示されているAsnchronous のDestinationID を示す図である。
【図１７】本発明の第２の実施の形態で用いられるマルチキャストにおけるブロードキャストＩＤの例を示す図である。
【図１８】本発明の実施の形態で用いられるマルチキャストＩＤを示す図である。
【図１９】本発明の第２〜４の実施の形態で用いられるコントローラ、ソース、ターゲットの有するコネクションＩＤテーブルを示す図である。
【図２０】本発明の第２〜４の実施の形態で用いられるコントローラの有するコネクションＩＤテーブルを示す図である。
【図２１】本発明の第１〜３実施の形態で用いられるペイロード内のヘッダー構成を示す図である。
【図２２】本発明の第４の実施の形態で用いられるペイロード内のヘッダー構成を示す図である。
【図２３】本発明の第４の実施の形態で用いられるペイロード内のヘッダーを示す図である。
【図２４】本発明の第２〜４の実施の形態で用いられるコントローラとデスティネーションの有するコネクションＩＤとマルチキャストＩＤとデスティネーションオフセットアドレスのテーブルを示す図である。
【図２５】コントローラとソースデスティネーションの接続構成を示す図である。
【符号の説明】
【０１８０】
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 のコネクション
【図１】
2006311614.tif 000003
【図２】
2006311614.tif 000004
【図３】
2006311614.tif 000005
【図４】
2006311614.tif 000006
【図５】
2006311614.tif 000007
【図６】
2006311614.tif 000008
【図７】
2006311614.tif 000009
【図８】
2006311614.tif 000010
【図９】
2006311614.tif 000011
【図１０】
2006311614.tif 000012
【図１１】
2006311614.tif 000013
【図１２】
2006311614.tif 000014
【図１３】
2006311614.tif 000015
【図１４】
2006311614.tif 000016
【図１５】
2006311614.tif 000017
【図１６】
2006311614.tif 000018
【図１７】
2006311614.tif 000019
【図１８】
2006311614.tif 000020
【図１９】
2006311614.tif 000021
【図２０】
2006311614.tif 000022
【図２１】
2006311614.tif 000023
【図２２】
2006311614.tif 000024
【図２３】
2006311614.tif 000025
【図２４】
2006311614.tif 000026
【図２５】
2006311614.tif 000027
【手続補正書】
【提出日】平成18年8月30日(2006.8.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の機器により構成されたデータ通信システムにおいて、
前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて前記情報データの通信を行うことを特徴とするデータ通信システム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明はデータ通信システムに関し、特に、制御信号とデータを混在させて通信することが可能なデータ通信バスを用いて複数の電子機器（以下、機器）間を接続して、各機器間でデータ通信を行うデータ通信システムに関するものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
本発明のデータ通信システムは、複数の機器により構成されたデータ通信システムにおいて、前記複数の機器に含まれるＮ個の機器により構成される仮想的な通信関係を示す第１の情報と、該Ｎ個の機器間において通信される情報データを判別する第２の情報とを用いて前記情報データの通信を行うことを特徴としている。ここで、第１の情報とは、実施の形態に記載されたマルチキャストＩＤに相当する。また、第２の情報とは、本実施の形態に記載されたコネクションＩＤに相当する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明は前記技術手段を有するので、コントローラノードにより、ネットワーク内に一意に決めた独立したコネクションＩＤを設定し、ソース、デスティネーションノード間に論理的なコネクションをはり、それぞれの論理的なコネクションに前記コネクションＩＤをあてる。それ以後は、ソース、デスティネーションノード間のハンドシェイク通信においては、前記コントローラが設定したコネクションＩＤナンバーをペイロード内のフィールドに含む、いわゆるブロードキャストAsynchronousトランザクションを用いて通信する。