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

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

Info

Publication number
JP2000049834A
JP2000049834A JP9816399A JP9816399A JP2000049834A JP 2000049834 A JP2000049834 A JP 2000049834A JP 9816399 A JP9816399 A JP 9816399A JP 9816399 A JP9816399 A JP 9816399A JP 2000049834 A JP2000049834 A JP 2000049834A
Authority
JP
Japan
Prior art keywords
data
communication
source node
node
communication system
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.)
Granted
Application number
JP9816399A
Other languages
English (en)
Other versions
JP4181688B2 (ja
JP2000049834A5 (ja
Inventor
Mitsuhisa Araida
光央 新井田
Shinichi Hatae
真一 波多江
Takashi Kobayashi
崇史 小林
Shinji Onishi
慎二 大西
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 JP09816399A priority Critical patent/JP4181688B2/ja
Priority to MYPI99001360A priority patent/MY126621A/en
Priority to US09/288,038 priority patent/US7123621B1/en
Priority to CN99107676A priority patent/CN1132395C/zh
Publication of JP2000049834A publication Critical patent/JP2000049834A/ja
Publication of JP2000049834A5 publication Critical patent/JP2000049834A5/ja
Application granted granted Critical
Publication of JP4181688B2 publication Critical patent/JP4181688B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 複数の異なる通信プロトコルが混在する場合
でも、システム全体の操作性を著しく損なうことなく、
利用可能な通信プロトコルに適応的に選択することがで
きるようにすることである。 【解決手段】 少なくとも1回の非同期通信を用いて1
つ以上のセグメントからなるオブジェクトデータを転送
するソース・ノードと、前記ソース・ノードから転送さ
れたオブジェクトデータを受信する1つ以上のデスティ
ネーション・ノードと、前記ソース・ノードと前記1つ
以上のデスティネーション・ノードとの間に論理的な接
続関係を設定するコントローラとを備え、前記コントロ
ーラは、複数の異なる通信プロトコルの中から、前記ソ
ース・ノードと前記デスティネーション・ノードとの間
で使用される通信プロトコルを選択する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ通信システ
ム、装置及び方法並びに記憶媒体に関し、特に、情報デ
ータ(画像データを含む)とコマンドデータとを混在さ
せて高速に通信するネットワークとそのネットワークに
適用可能な通信プロトコルに関するものである。
【0002】
【従来の技術】従来、パーソナルコンピュータ(以下、
PC)の周辺機器の中で、最も利用頻度が高かったのは
ハードディスクやプリンタであった。これらの周辺機器
は、専用の入出力インタフェース或いはSCSI(smal
l computer system interface)インタフェース等の汎
用性のあるデジタルインタフェースによってPCと接続
されていた。
【0003】一方、近年、デジタルカメラ、デジタルビ
デオカメラ等のAV(Audio/Visual)機器もPCの周辺
装置の1つとして注目を浴びている。これらのAV(Au
dio/Visual)機器も専用インタフェースを介してPCと
接続されていた。
【0004】ところが、従来の周辺機器の有するデジタ
ルインタフェースとAV機器の有するデジタルインタフ
ェースとは互換性がなく、それらを直接接続することは
できなかった。そのため、例えば、AV機器が周辺機器
に、例えば、静止画像を通信したい場合、必ずPCを介
す必要があった。
【0005】又、従来の専用インタフェースやSCSI
インタフェースでは、特にAV機器の有する静止画像や
動画像のような大容量のデータを扱う場合において、デ
ータ転送レートが低い、パラレル通信のため通信ケーブ
ルが太い、接続できる周辺機器の数と種類が少ない、接
続方式に制限がある、リアルタイムなデータ転送が行え
ない等の多くの問題があった。
【0006】このような問題点を解決する次世代の高
速、高性能デジタルインタフェースの1つとして、IE
EE(The Institute of Electrical and Electronics
Engineers,Inc.)1394−1995規格が知られて
いる。
【0007】IEEE1394−1995規格に準拠し
たデジタルインタフェース(以下、1394インタフェ
ース)には、次のような特徴がある。 (1)データ転送速度が高速である。 (2)リアルタイムなデータ転送方式(即ち、Isoc
hronous転送方式)とAsynchronous
転送方式をサポートしている。 (3)自由度の高い接続構成(トポロジ)を構築でき
る。 (4)プラグ・アンド・プレイ機能と活線挿抜機能をサ
ポートしている。
【0008】
【発明が解決しようとする課題】しかしながら、IEE
E1394−1995規格では、コネクタの物理的、電
気的な構成、最も基本的な2つのデータ転送方式等につ
いては定義しているが、どのような種類のデータを、ど
のようなデータ・フォーマットで、どのような通信プロ
トコルに基づいて送受信するのかについては定義してい
なかった。
【0009】又、IEEE1394−1995規格のI
sochronous転送方式では、送出パケットに対
する応答が規定されていないため、各Isochron
ousパケットが確実に受信されたかは保証されない。
従って、連続性のある複数のデータを確実に転送したい
場合、或いは1つのファイルデータを複数のデータに分
割して確実に転送したい場合、Isochronous
転送方式を使用することはできなかった。
【0010】又、IEEE1394−1995規格のI
sochronous転送方式では、転送帯域に空きが
ある場合でも、通信の総数が64個に制限される。この
ため、少ない転送帯域で数多くの通信を行いたい場合、
Isochronous転送方式を使用することはでき
なかった。
【0011】又、IEEE1394−1995規格で
は、ノードの電源のON/OFF、ノードの接続/切り
離し等に応じてバスリセットが生じた場合、データの転
送を中断しなければならない。ところが、IEEE13
94−1995規格では、バスリセットや伝送時のエラ
ーによってデータ転送が中断した場合、どのような内容
のデータを失ったのかについては知ることができなかっ
た。更に、一度中断した転送を復帰するためには、非常
に煩雑な通信手順を踏む必要があった。ここで、バスリ
セットとは、新たなトポロジの認識と各ノードに割り当
てられるアドレス(ノードID)の設定とを自動的に行
う機能である。この機能により、IEEE1394−1
995規格では、プラグ・アンド・プレイ機能と活線挿
抜機能とを提供することができる。
【0012】又、IEEE1394−1995規格に準
拠した通信システムにおいて、リアルタイム性は必要と
されないが、信頼性が要求される比較的データ量の多い
オブジェクトデータ(例えば、静止画像データ、グラフ
ィックスデータ、テキストデータ、ファイルデータ、プ
ログラムデータ等)を、1以上のセグメントに分割し、
各セグメントを1つ以上のAsynchronous転
送を用いて順次転送するための通信プロトコルは具体的
に提案されていなかった。
【0013】特に、IEEE1394−1995規格に
準拠した通信システムにおいて、複数の機器間のデータ
通信を、Asynchronous転送方式によるブロ
ードキャスト通信を用いて実現するための通信プロトコ
ルも具体的に提案されていなかった。
【0014】又、このような通信プロトコルが複数個提
案された場合、通信相手の使用する通信プロトコルを自
動的に判別し、使い分けるようにできることが望まし
い。しかしながら、複数の異なる通信プロトコルを使い
分けるための仕組みについても具体的には何も提案され
ていなかった。
【0015】本発明は上述の如き問題を解決することを
目的とする。本発明の他の目的データ通信システム、装
置及び方法並びに記憶媒体において、リアルタイム性の
必要としないオブジェクトデータを確実に転送すること
のできる技術を提供する。又、本発明の他の目的は、デ
ータ通信システム、装置及び方法並びに記憶媒体におい
て、複数の異なる通信プロトコルが存在する場合でも、
使用可能な通信プロトコルを適応的に選択することので
きる技術を提供する。
【0016】
【課題を解決するための手段】本発明のデータ通信シス
テムは、少なくとも1回の非同期通信を用いて1つ以上
のセグメントからなるオブジェクトデータを転送するソ
ース・ノードと、前記ソース・ノードから転送されたオ
ブジェクトデータを受信する1つ以上のデスティネーシ
ョン・ノードと、前記ソース・ノードと前記1つ以上の
デスティネーション・ノードとの間に論理的な接続関係
を設定するコントローラとを備え、前記コントローラ
は、複数の異なる通信プロトコルの中から、前記ソース
・ノードと前記デスティネーション・ノードとの間で使
用される通信プロトコルを選択することを特徴とする。
【0017】本発明のデータ通信方法は、ソース・ノー
ドと1つ以上のデスティネーション・ノードとの間に論
理的な接続関係を設定するステップと、複数の異なる通
信プロトコルの中から、前記ソース・ノードと前記デス
ティネーション・ノードとの間で使用される通信プロト
コルを選択するステップと、1つ以上のセグメントから
なるオブジェクトデータを少なくとも1回の非同期通信
を用いて前記デスティネーション・ノードに転送するス
テップとを有することを特徴とする。
【0018】本発明のデータ通信装置は、1つ以上のセ
グメントからなるオブジェクトデータを少なくとも1つ
の通信パケットにパケッタイズする手段と、1つ以上の
デスティネーション・ノードとの間に設定された論理的
な接続関係と複数の異なる通信プロトコルの1つとを用
いて、前記通信パケットを非同期転送する手段とを備え
ることを特徴とする。
【0019】本発明のデータ通信方法は、1つ以上のセ
グメントからなるオブジェクトデータを少なくとも1つ
の通信パケットにパケッタイズするステップと、1つ以
上のデスティネーション・ノードとの間に設定された論
理的な接続関係と複数の異なる通信プロトコルの1つと
を用いて、前記通信パケットを非同期転送するステップ
とを有することを特徴とする。
【0020】本発明のデータ通信装置は、ソース・ノー
ドとの間に設定された論理的な接続関係と複数の異なる
通信プロトコルの1つとを用いて非同期転送された少な
くとも1つの通信パケットを受信する手段と、前記通信
パケットに含まれるデータを該通信パケットの指定する
メモリ空間に書き込む手段とを備えることを特徴とす
る。
【0021】本発明のデータ通信方法は、ソース・ノー
ドとの間に設定された論理的な接続関係と複数の異なる
通信プロトコルの1つとを用いて非同期転送された少な
くとも1つの通信パケットを受信するステップと、前記
通信パケットに含まれるデータを該通信パケットの指定
するメモリ空間に書き込むステップとを有することを特
徴とする。
【0022】本発明のデータ通信装置は、ソース・ノー
ドと1つ以上のデスティネーション・ノードとの間に論
理的な接続関係を設定する手段と、前記論理的な接続関
係において使用可能な通信プロトコルを、複数の異なる
通信プロトコルの中から選択する手段とを備えることを
特徴とする。
【0023】本発明のデータ通信方法は、ソース・ノー
ドと1つ以上のデスティネーション・ノードとの間に論
理的な接続関係を設定するステップと、前記論理的な接
続関係において使用可能な通信プロトコルを、複数の異
なる通信プロトコルの中から選択するステップとを有す
ることを特徴とする。
【0024】本発明のデータ通信システムは、情報デー
タを送信するソース・ノードと、該情報データを受信す
るデスティネーション・ノードとを含むデータ通信シス
テムにおいて、1つ以上の特定された転送先或いは不特
定多数の転送先に応じて異なる複数の通信プロトコルの
何れかを選択し、上記情報データを転送することを特徴
とする。
【0025】本発明のデータ通信システムは、情報デー
タを送信するソース・ノードと、該情報データを受信す
るデスティネーション・ノードとを含むデータ通信シス
テムにおいて、上記ソース・ノードと上記デスティネー
ション・ノードとの間の接続を設定する迄の動作を共用
する複数の通信プロトコルの何れかを選択し、前記情報
データを転送することを特徴とする。
【0026】本発明のデータ通信方法は、情報データを
送信するソース・ノードと、該情報データを受信するデ
スティネーション・ノードとを含むデータ通信システム
に適用可能なデータ通信方法において、1つ以上の特定
された転送先或いは不特定多数の転送先に応じて異なる
複数の通信プロトコルの何れかを選択し、上記情報デー
タを転送することを特徴とする。
【0027】本発明のデータ通信方法は、情報データを
送信するソース・ノードと、該情報データを受信するデ
スティネーション・ノードとを含むデータ通信方法にお
いて、 上記ソース・ノードと上記デスティネーション
・ノードとの間の接続を設定する迄の動作を共用する複
数の通信プロトコルの何れかを選択し、前記情報データ
を転送することを特徴とする。
【0028】本発明のデータ通信装置において、情報デ
ータを送信するソース・ノードと、該情報データを受信
するデスティネーション・ノードとを含むデータ通信シ
ステムに適用可能なデータ通信装置において、1つ以上
の特定された転送先或いは不特定多数の転送先に応じて
異なる複数の通信プロトコルの何れかを選択する選択手
段と、上記選択手段により選択された通信プロトコルに
基づいて情報データの転送を行う転送手段とを具備する
ことを特徴とする。
【0029】
【発明の実施の形態】以下、本発明の好適な実施例につ
いて図面を参照して詳細に説明する。図1は、データ通
信システムの構成の一例を示す図である。本実施例のデ
ータ通信システムは、図1に示すように、コンピュータ
10、カメラ一体型デジタルビデオレコーダ28、プリ
ンタ60により構成されている。
【0030】まず、コンピュータ10の構成について説
明する。12はコンピュータ10の動作を制御する演算
処理装置(MPU)である。14はIEEE1394−
1995規格に準拠した機能と本実施例において規定す
る通信プロトコルに関する機能とを有する1394イン
タフェースである。16はキーボード、マウスなどから
なる操作部である。18は圧縮符号化されたディジタル
データ(動画像データ、静止画像データ、音声データ
等)を復号するデコーダである。20はCRTディスプ
レイや液晶パネルなどの表示装置からなる表示部(ディ
スプレイ)である。22は各種のディジタルデータ(動
画像データ、静止画像データ、音声データ、グラフィッ
クスデータ、テキストデータ、プログラムデータ等)を
記録するハードディスク(HD)である。24は内部メ
モリである。26はPCIバスなどのコンピュータ10
内部の各処理部を相互に接続する内部バスである。
【0031】次に、カメラ一体型デジタルビデオレコー
ダ(以下、DVCRと称する)28の構成について説明
する。30は被写体の光学像を電気信号に変換し、その
電気信号をに変換する撮像部(opt)である。32は
アナログ-デジタル(A/D)変換器である。34はデ
ィジタル化された動画像、静止画像を所定のフォーマッ
トのディジタル画像データに変換する画像処理部であ
る。36は圧縮/伸長処理部であり、圧縮符号化された
ディジタルデータ(動画像データ、静止画像データ、音
声データ等)を復号する機能と、デジタル画像データを
高能率符号化する(例えば、MPEG方式やDV方式の
ように、所定の画像単位に直交変換後、量子化し、可変
長符号化する)機能とを有する。38は高能率符号化さ
れたディジタル画像データを一時的に格納するメモリで
ある。40は高能率符号化されていないディジタル画像
データを一時的に格納するメモリである。42はデータ
セレクタである。44はIEEE1394−1995規
格に準拠した機能と本実施例において規定する通信プロ
トコルに関する機能とを有する1394インタフェース
である。46、48はメモリ38とメモリ40の書き込
みと読み出しとを制御するメモリ制御部である。50は
DVCR28の動作を制御する制御部(システムコント
ローラ)であり、マイクロコンピュータを有する。52
はリモコンや操作パネル等からなる操作部である。54
は電子ビューファインダ(EVF)である。56はD/
A変換器である。58は磁気テープ、磁気ディスク、光
磁気ディスク等の記録媒体からなる記録再生部で、各種
のディジタルデータ(動画像データ、静止画像データ、
音声データ等)を記録再生する。
【0032】次に、プリンタ60の構成について説明す
る。62はIEEE1394−1995規格に準拠した
機能と本実施例において規定する通信プロトコルに関す
る機能とを有する1394インタフェースである。64
はデータセレクタである。66は操作ボタンやタッチパ
ネル等からなる操作部である。68はプリンタ60の動
作を制御するプリンタコントローラである。70はデコ
ーダである。72は内部メモリである。74は1394
インタフェースを介して受信された静止画像データ、テ
キストデータ、グラフィックスデータ等を処理する画像
処理部である。76はドライバである。78はプリンタ
ヘッドである。
【0033】図1に示すように、コンピュータ10、D
VCR28及びプリンタ60の各通信装置(以下、ノー
ドと称する)は、1394インタフェース14、44、
62を介して相互に接続されている(以下、1394イ
ンタフェースによって構成されたネットワークを139
4シリアルバスと称する)。各ノードは、所定の通信プ
ロトコルを定義することによって、各種のオブジェクト
データ(例えば、動画像データ、静止画像データ、音声
データ、グラフィックスデータ、テキストデータ、プロ
グラムデータ等)の授受、コマンドデータによる遠隔操
作が可能となる。
【0034】次に、図1を用いて本実施例の通信システ
ムを構成する各ノードの動作について説明する。まず、
コンピュータ10を構成する各処理部の機能と動作につ
いて説明する。本実施例においてコンピュータ10は、
例えば、DVCR28とプリンタ60との間における画
像データの送受信を制御するコントローラ、或いはDV
CR28やプリンタ60を遠隔操作するコントローラと
して動作する。
【0035】MPU12は、ハードディスク22に記録
されているソフトウェアを実行するとともに、様々なデ
ータを内部メモリ24に移動させる。又、MPU12
は、内部バス26によって接続されている各処理部の調
停動作なども合わせて行なう。
【0036】1394インタフェース14は、1394
シリアルバス上に転送された画像データを受信するとと
もに、ハードディスク22や内部メモリ24に記録され
ている画像データを1394シリアルバス上に送信する
ことができる。又、1394インタフェース14は、1
394シリアルバス上の他のノードを遠隔操作するため
のコマンドデータを送信することも可能である。更に、
1394インタフェース14は、1394シリアルバス
を介して転送された信号を他のノードに転送する機能も
有している。
【0037】ユーザは、操作部16を介して所望のソフ
トウェアを選択し、MPU12にハードディスク22に
記録されているソフトウェアを実行させる。ここで、こ
のソフトウェアに関する情報は、表示部20によってユ
ーザに提示される。デコーダ18は、このソフトウェア
に基づいて、1394シリアルバス上から受信した画像
データをデコードする。デコードされた画像データは、
表示部20によってユーザに提示される。
【0038】次に、DVCR28を構成する各処理部の
機能と動作について説明する。本実施例においてDVC
R28は、本実施例の通信プロトコルに基づいて画像デ
ータを転送する画像送信装置(ソース・ノード)として
動作する。
【0039】撮像部30は、被写体の光学像を輝度信号
(Y)と色差信号(C)とからなる電気信号に変換し、
その電気信号をA/D変換器60に供給する。A/D変
換器32は、その電気信号をディジタル化する。
【0040】画像処理部34は、ディジタル化された輝
度信号と色差信号とに対して所定の画像処理を施すと共
に、それらを多重化する。圧縮/伸長処理部36は、デ
ィジタル化された輝度信号と色差信号のデータ量を圧縮
する。ここで、圧縮/伸長処理部36は、独立した圧縮
処理回路を用いて輝度信号と色差信号と並列に処理して
もよい。又、共通の圧縮処理回路を用いてそれらを時分
割に処理してもよい。又、圧縮/伸長処理部36では、
伝送路誤りに強くするために、圧縮画像データに対して
シャフリング処理を施す。これにより、連続的な符号誤
り(即ち、バーストエラー)を、修整や補間の行いやす
い離散的な誤り(即ち、ランダムエラー)に変換するこ
とができる。ここで、画像の画面内の粗密による情報量
の偏りを均一化したい場合、圧縮処理の前に本処理工程
を持ってくると、ランレングス等の可変長符号化を用い
た場合の都合が良い。
【0041】圧縮/伸長処理部36では、圧縮画像デー
タに対して、シャフリングを復元するためのデータ識別
情報(ID)を付加する。圧縮/伸長処理部36は、記
録再生時の誤りを低減する為に、圧縮画像データに対し
てエラー訂正符号(ECC)を付加する。
【0042】圧縮/伸長処理部36にて圧縮された画像
データは、メモリ38と記録再生部58とに供給され
る。記録再生部58は、IDやECCの付加された圧縮
画像データを磁気テープ等の記録媒体に記録する。ここ
で、圧縮画像データは、音声データとは異なる独立の記
録エリアに記録される。
【0043】一方、画像処理部34からD/A変換器5
6へ供給された画像データは、D/A変換される。EV
F54は、D/A変換器56から供給されたアナログ画
像信号を表示する。又、画像処理部34にて処理された
画像データは、メモリ40にも供給される。ここで、メ
モリ40には、非圧縮の画像データが格納される。
【0044】データセレクタ42は、ユーザの指示に基
づいてメモリ38或いはメモリ40を選択し、圧縮画像
データ或いは非圧縮画像データを1394インタフェー
ス44に供給する。又、データセレクタ42は、139
4インタフェース44から供給された画像データをメモ
リ38或いはメモリ40に供給する。
【0045】1394インタフェース44は、後述する
本実施例の通信プロトコルに基づいて、圧縮画像データ
或いは非圧縮画像データを転送する。又、1394イン
タフェース44は、1394シリアルバスを介して、D
VCR28を制御するための制御コマンドを受信する。
受信された制御コマンドは、データセレクタ42を介し
て、制御部50に供給される。1394インタフェース
44は、上記の制御コマンドに対するレスポンスを返送
する。
【0046】次に、プリンタ60を構成する各処理部の
機能と動作について説明する。本実施例においてプリン
タ60は、本実施例の通信プロトコルに基づいて転送さ
れた画像データを受信して印刷する画像受信装置(デス
ティネーション・ノード)として動作する。
【0047】1394インタフェース62は、1394
シリアルバスを介して転送された画像データや制御コマ
ンドを受信する。又、1394インタフェース62は、
制御コマンドに対するレスポンスを送信する。
【0048】受信された画像データは、データセレクタ
64を介して、デコーダ70に供給される。デコーダ7
0は、該画像データをデコードし、その結果を画像処理
部74に出力する。画像処理部74は、デコードされた
画像データをメモリ72に一時的に記憶する。
【0049】又、画像処理部74は、メモリ72に一時
的に記憶された画像データを印刷用のデータに変換し、
それをプリンタヘッド78に供給する。プリンタヘッド
78は、プリンタコントローラ68の制御に基づき、印
刷を実行する。
【0050】一方、受信された制御コマンドは、データ
セレクタ64を介して、プリンタコントローラ68に入
力される。プリンタコントローラ68は、該制御データ
に基づいて印刷に関する様々な制御を行なう。例えば、
ドライバ76による紙送り、プリンタヘッド78の位置
等を制御する。
【0051】次に、図2を用いて本実施例の1394イ
ンタフェース14、44、62の構成について詳細に説
明する。1394インタフェースは、機能的に複数のレ
イヤ(階層)から構成されている。図2において、13
94インタフェースは、IEEE1394−1995規
格に準拠した通信ケーブル201を介して他のノードの
1394インタフェースと接続される。又、1394イ
ンタフェースは、1つ以上の通信ポート202を有し、
各通信ポート802はハードウェア部に含まれるフィジ
カル・レイヤ203と接続される。
【0052】図2において、ハードウェア部は、フィジ
カル・レイヤ203とリンク・レイヤ204とから構成
されている。フィジカル・レイヤ203は、他のノード
との物理的、電気的なインタフェース、バスリセットの
検出とそれに伴う処理、入出力信号の符号化/復号化、
バス使用権の調停等を行う。又、リンク・レイヤ204
は、通信パケットの生成、各種の通信パケットの送受
信、サイクルタイマの制御等を行なう。更に、リンク・
レイヤ204は、後述する第1、第2の通信プロトコル
で使用するデータパケットの生成及び送受信の機能を提
供する。
【0053】又、図2において、ファームウェア部は、
トランザクション・レイヤ205とシリアル・バス・マ
ネージメント206とを含んでいる。トランザクション
・レイヤ205は、Asynchronous転送方式
を管理し、各種のトランザクション(リード、ライト、
ロック)を提供する。更に、トランザクション・レイヤ
205は、後述する第1、第2の通信プロトコルの機能
を提供する。シリアル・バス・マネージメント206
は、後述するIEEE1212CSR規格に基づいて、
自ノードの制御、自ノードの接続状態の管理、自ノード
のID情報の管理、シリアルバスネットワークの資源管
理を行う機能を提供する。
【0054】図2に示すハードウェア部及びファームウ
ェア部が実質的に1394インタフェースを構成するも
のであり、それらの基本構成はIEEE1394−19
95規格により規定されている。
【0055】又、ソフトウェア部に含まれるアプリケー
ション・レイヤ207は、使用するアプリケーションソ
フトによって異なり、どのようなオブジェクトデータを
第1、第2の通信プロトコルを用いてどのように転送す
るかを制御する。
【0056】後述する本実施例の第1、第2の通信プロ
トコルは、1394インタフェースを構成するハードウ
ェア部及びファームウェア部の機能を拡張するものであ
り、ソフトウェア部に対して新規な転送手順を提供する
ものである。
【0057】次に、図3を用いて、本実施例の第1、第
2の通信プロトコルの基本構成について説明する。本実
施例において、第1の通信プロトコルは、マルチキャス
ト通信を実現する通信プロトコルである。又、第2の通
信プロトコルは、ユニキャスト通信を実現する通信プロ
トコルである。
【0058】図3において、300はコントローラ、3
02はソース・ノード、304はn(n≧1)個のデス
ティネーション・ノード、306はソース・ノードの有
するサブユニット(subunit)、308は動画像
データ、静止画像データ、グラフィックスデータ、テキ
ストデータ、ファイルデータ、プログラムデータ等のオ
ブジェクトデータ(object)である。
【0059】310はデスティネーション・ノード30
4内部にある第1のメモリ空間であり、所定のデスティ
ネーション・オフセット(destination_o
ffset_0)により指定される。312はソース・
ノード302とデスティネーション・ノード304との
間の論理的な接続関係(以下、コネクションと称する)
を示す第1のコネクションである。ここで、デスティネ
ーション・オフセットとは、n個のデスティネーション
・ノード304の有するメモリ空間を共通に指定するア
ドレスである。
【0060】314はデスティネーション・ノード30
4内部にある第nのメモリ空間であり、所定のデスティ
ネーション・オフセット(destination_o
ffset_n)により指定される。316はソース・
ノード302とデスティネーション・ノード304との
間のコネクションを示す第nのコネクションである。
【0061】本実施例において、各ノードは、第1のメ
モリ空間310〜第nのメモリ空間314を、IEEE
1212 CSR(ControlandStatus
RegisterArchitecture)規格(又
は、ISO/IEC 13213:1994規格)に準
拠した64ビットのアドレス空間により管理している。
IEEE1212 CSR規格とは、シリアルバス向け
の制御、管理、アドレス割り振りを規定した規格であ
る。
【0062】図4は、各ノードの有するアドレス空間に
ついて説明する図である。図4(a)は、各ノードのメ
モリ空間をアドレッシングする64ビットのアドレス空
間である。64ビットアドレスの上位16ビットは、あ
るバス内のあるノードを指定するために使用される。
又、図4(b)は、図4(a)に示すアドレス空間の一
部であり、例えば、上位16ビットで指定されたノード
のもつあるアドレス空間を指定するために使用される。
【0063】図3に示す第1のメモリ空間310〜第n
のメモリ空間314は、図4(b)に示す48ビットの
アドレス(以下、デスティネーション・オフセットと称
する)により指定される。図4(b)において、例え
ば、000000000000 16〜000000000
3FF16は予約された領域であり、実際にオブジェクト
データ308の書き込まれる領域は、アドレスの下位4
8ビットがFFFFF000040016以降となる領域
である。
【0064】図3において、ソース・ノード302と
は、第1或いは第2の通信プロトコルに従ってオブジェ
クトデータ308を転送する機能をもつノードであり、
デスティネーション・ノード304とは、ソース・ノー
ド302から転送されたオブジェクトデータ308を受
信する機能をもつノードである。又、コントローラ30
0とは、ソース・ノード302と1つ或いは複数のデス
ティネーション・ノード304との間のコネクション
(即ち、論理的な接続関係)を設定、管理する機能と、
そのコネクションにて使用される通信プロトコルを選択
する機能をもつノードである。
【0065】ここで、コントローラ300、ソース・ノ
ード302、デスティネーション・ノード304は、夫
々独立した別々のノードにおいて機能してもよい。又、
コントローラ300とソース・ノード302とが、1つ
の同じノードにおいて機能してもよい。又、コントロー
ラ300とデスティネーション・ノード304とが、1
つの同じノードにおいて機能してもよい。この場合、コ
ントローラ300とソース・ノード302或いはデステ
ィネーション・ノード304との間のトランザクション
が不要となり、通信手順が簡略化される。
【0066】本実施例では、コントローラ300、ソー
ス・ノード302、デスティネーション・ノード304
の夫々が、独立した別々のノードにおいて機能する場合
について説明する。例えば、1394インタフェース1
4を具備するコンピュータ10が、コントローラ300
として機能する。又、1394インタフェース44を具
備するDVCR28がソース・ノード302、1394
インタフェース62を具備するプリンタ60がデスティ
ネーション・ノード304として機能する。
【0067】本実施例では、図3に示すように、ソース
・ノード302と1つ以上のデスティネーション・ノー
ド304との間に、1つ以上のコネクションを設定する
ことができる。各コネクションは、あるオブジェクトデ
ータの転送要求が生じた場合に、後述するソース・ノー
ド302の出力レジスタ(図5参照)、デスティネーシ
ョン・ノード304の入力レジスタ(図6参照)に基づ
いてコントローラ300が設定する。
【0068】尚、本実施例において、コントローラ30
0であるコンピュータ10は、デスティネーション・ノ
ード304として動作してもよい。この場合、1つのソ
ース・ノード302と2つのデスティネーション・ノー
ド304との間にコネクションが設定され、オブジェク
トデータ308の転送が行われることになる。
【0069】又、本実施例において、コンピュータ10
がコントローラ300として動作する場合について説明
したが、コンピュータ10が必ずコントローラ300に
なる必要はない。DVCR28或いはプリンタ60がコ
ントローラ300として動作してもよい。
【0070】次に、図5、6を用いて、本実施例のソー
ス・ノード302の有するレジスタ空間とデスティネー
ション・ノード304の有するレジスタ空間とについて
説明する。図5は、ソース・ノード302の有する出力
レジスタの構成を説明する図である。又、図6は、デス
ティネーション・ノード304の有する入力レジスタの
構成を説明する図である。
【0071】各レジスタ空間は、図4に示すアドレス空
間上の所定の領域に用意されており、コントローラ30
0がソース・ノード302とデスティネーション・ノー
ド304との間にコネクションを設定する場合、該コネ
クションに第1、第2の通信プロトコルの何れを割り当
てるかを選択する場合に使用される。
【0072】図5(a)は、出力マスターコネクション
レジスタ(以下、oMCR)である。OMCRは、主に、ソース
・ノード302の有する通信能力について記述している
レジスタ空間(または、メモリ空間)である。
【0073】oMCRの最上位フィールド501(2ビッ
ト)は、max data rateフィールドであり、ソース・ノ
ード302の最大の出力ビットレートを示す。該max da
ta rateフィールドにセットされる値の一例を「表1」
に示す。
【0074】次のフィールド502(1ビット)は、fl
ow control flagであり、本実施例の第1の通信プロト
コル(即ち、ブロードキャスト送信を用いたプロトコ
ル)が使用可能か否かを示す。例えば、該フィールドの
値が「1」のとき、第1の通信プロトコルが使用可能で
あることを示す。「0」のときは、第2の通信プロトコ
ルが使用可能である。次のフィールド503(5ビッ
ト)は、reservedフィールドであり、将来のために予約
されている。
【0075】
【表1】
【0076】次のフィールド504(6ビット)は、ex
tension fieldであり、後述するoutput FIFO sizeフィ
ールドを将来拡張する場合に用いる。次のフィールド5
05(10ビット)は、output FIFO sizeフィールドで
あり、データ出力に用いられる先入れ先出し型のバッフ
ァメモリ(以下、FIFOメモリ)の容量を示す。
【0077】次のフィールド506(3ビット)は、re
servedフィールドであり、将来のために予約されてい
る。最下位フィールド507(5ビット)は、number o
f CCRsフィールドであり、後述する出力コネクションコ
ントロールレジスタ(図5(b)参照)の数、即ち、ソ
ース・ノード302に設定することのできるコネクショ
ンの数を示す。
【0078】図5(b)は、出力コネクションコントロ
ールレジスタ(以下、oCCR)である。oCCRは、ソース・
ノード302に設定されたコネクションの1つについて
記述するレジスタ空間(又は、メモリ空間)である。ソ
ース・ノード302は、上記oCCRを、唯一つだけ有して
いても良いし、複数有していても良い。
【0079】oCCRの最上位フィールド510(2ビッ
ト)は、data rateフィールドであり、該oCCRに設定さ
れたコネクションにて用いられる出力ビットレートを示
す。「表2」に該data rateフィールドにセットされる
値の一例を示す。
【0080】
【表2】
【0081】次のフィールド511(1ビット)は、br
oadcast flagフィールドであり、該oCCRに設定されたコ
ネクションにてどの通信プロトコルが使用されているか
を示すフラグである。該broadcast flagフィールドの値
が「1」のとき、例えば、第1の通信プロトコルが用い
られていることを示す。
【0082】次のフィールド512(1ビット)は、on
-lineフィールドであり、該oCCRが使用されているか否
かを示す。該on-lineフィールドの値が「1」のとき、
該oCCRは使用されていることを示す。
【0083】次のフィールド513(18ビット)は、
reservedフィールドであり、将来のために予約されてい
る。次のフィールド514(10ビット)は、payload
sizeフィールドであり、一回のデータ転送で転送される
データパケットのデータ量を示す。該データ量はデータ
パケットのペイロードサイズを示し、パケットヘッダな
どの付加データは含まれていない。
【0084】次のフィールド515(16ビット)は、
connection IDフィールドであり、該oCCRに設定された
コネクションを一意に識別するための識別情報、即ちコ
ネクションIDが格納される。最後のフィールド516
(48ビット)は、offset addressフィールドであり、
デスティネーション・ノード304に確保した所定のメ
モリ空間の先頭アドレスを示す。
【0085】図6(a)は、入力マスターコネクション
レジスタ(以下、iMCR)である。iMCRは、主に、デステ
ィネーション・ノード304の有する通信能力について
記述しているレジスタ空間(又は、メモリ空間)であ
る。
【0086】iMCRの最上位フィールド601(2ビッ
ト)は、max data rateフィールドであり、デスティネ
ーション・ノード304の最大の入力ビットレートを示
す。該max data rateフィールドにセットされる値は、
例えば、上記「表1」と同じで良い。
【0087】次のフィールド602(1ビット)は、fl
ow control flagフィールドであり、本実施例の第1の
通信プロトコル(即ち、ブロードキャスト送信を用いた
プロトコル)が使用可能か否かを示す。例えば、該フィ
ールドの値が「1」のとき、第1の通信プロトコルが使
用可能であり、「0」のときは、第2の通信プロトコル
が使用可能であることを示す。次のフィールド603
(5ビット)は、reservedフィールドであり、将来のた
めに予約されている。
【0088】次のフィールド604(6ビット)は、ex
tension fieldであり、後述するmaximum receive buffe
r sizeフィールドを将来拡張する場合に用いる。次のフ
ィールド605(10ビット)は、maximum receive bu
ffer sizeフィールドであり、データ入力に用いられる
受信バッファの最大メモリを示す。ここで、maximumrec
eive buffer sizeフィールドは、1セグメントの最大デ
ータ量を示す。
【0089】次のフィールド606(3ビット)は、re
servedフィールドであり、将来のために予約されてい
る。最下位フィールド607(5ビット)は、number o
f CCRsフィールドであり、後述する入力コネクションコ
ントロールレジスタ(図6(b)参照)の数、すなわ
ち、デスティネーション・ノード304に設定すること
のできるコネクションの数を示す。
【0090】図6(b)は、入力コネクションコントロ
ーラレジスタ(以下、iCCR)である。iCCRは、デスティ
ネーション・ノード304に設定されたコネクションの
1つについて記述するレジスタ空間(又は、メモリ空
間)である。デスティネーション・ノード304は、上
記iCCRを、唯一つだけ有していても良いし、複数有して
いても良い。
【0091】iCCRの最上位フィールド610(2ビッ
ト)は、data rateフィールドであり、該iCCRに設定さ
れたコネクションにて用いられる入力ビットレートを示
す。該data rateフィールドにセットされる値は、例え
ば、「表2」と同じでよい。
【0092】次のフィールド611(1ビット)は、br
oadcast flagフィールドであり、該iCCRに設定されたコ
ネクションにてどの通信プロトコルが使用されているか
を示すフラグである。該broadcast flagフィールドの値
が「1」のとき、例えば、第1の通信プロトコルが用い
られていることを示す。
【0093】次のフィールド612(1ビット)は、on
-lineフィールドであり、該iCCRが使用されているか否
かを示す。該on-lineフィールドの値が「1」のとき、
該iCCRは使用されていることを示す。次のフィールド6
13(18ビット)は、reservedフィールドであり、将
来のために予約されている。
【0094】次のフィールド614(10ビット)は、
receive buffer sizeフィールドであり、デスティネー
ション・ノード304に確保したメモリ空間のサイズ、
即ち、1セグメントのデータ量を示す。次のフィールド
615(16ビット)は、connection IDフィールドで
あり、該iCCRに設定されたコネクションを一意に識別す
るための識別情報、即ちコネクションIDが格納される。
【0095】最後のフィールド616(48ビット)
は、offset addressフィールドであり、デスティネーシ
ョン・ノード304に確保した所定のメモリ空間の先頭
アドレスを示す。
【0096】次に、図5、図6に示す各レジスタの内容
を読み出すためのコマンドと、各レジスタに所定の値を
書き込むコマンドについて説明する。各コマンドは、I
EEE1394−1995規格のAsynchrono
us転送方式に準拠するAsynchronousパケ
ットにパケッタイズされ、指定されたノードに転送され
る。ここで、Asynchronousパケットは、図
7に示すように、1Quadlet(4bytes=3
2bits)を単位とするデータパケットである。
【0097】本実施例のコントローラ300は、図7に
示すREAD MCR status commandを用いて、図5(a)のo
MCR或いは図6(a)のiMCRの値を読み出すことができ
る。図7において、フィールド701(16bits)
は、destination_IDフィールドであり、通信相手のノー
ドIDを指定する。フィールド702(6bits)
は、トランザクション・ラベル(tl)フィールドであり、
各トランザクション固有のタグを指定する。
【0098】フィールド703(2bits)は、リト
ライ(rt)コードであり、パケットがリトライを試みるか
どうかを指定する。フィールド704(4bits)
は、トランザクションコード(tcode)を示す。tcodeは、
パケットのフォーマットや、実行しなければならないト
ランザクションのタイプを指定する。本実施例では、こ
のフィールドの値を例えば「00012」とし、このパ
ケットのデータ・フィールドをdestination_offsetフィ
ールド707の示すメモリ空間に書き込む処理(即ち、
ライト・トランザクション)をリクエストする。また、
「00052」とした場合は、読み出し処理(即ち、リ
ード・トランザクション)をリクエストする。
【0099】フィールド705(4bits)は、プラ
イオリティ(pri)を示し、優先順位を指定する。本実施
例では、このフィールドの値は「00002」とする。
フィールド706(16bits)は、source_IDフィ
ールドであり、送信元のノードIDを指定する。
【0100】フィールド707(48bits)は、de
stination_offsetを示し、destination_IDフィールド7
01で指定されたノードのアドレス空間を指定する。フ
ィールド708(16bits)は、data_lengthを示
し、後述するデータフィールドの長さをバイト単位で示
す。
【0101】フィールド709(16bits)は、ex
tended_tcodeを示す。本実施例では、このフィールドの
値を「00002」とする。フィールド710(32b
its)は、header_CRCであり、上述したフィールド7
01〜709のエラーを検出するためのエラー検出コー
ドを格納する。
【0102】次に、データ・フィールド(data field)
の構成を説明する。本実施例において、データ・フィー
ルドに格納されるデータ量がQuadletの倍数に満
たない場合、Quadletの倍数となるまで「0」が
セットされる。
【0103】フィールド711(4bits)は、Comm
and/Transaction Set(以下、CTSと称する)フィー
ルドである。本実施例では、AV/C Digital Interface C
ommand Set General Specification規格(以下、AV/C C
ommand Set規格と称する)において定義されているCT
Sを使用するため、このフィールドには「016」がセッ
トされる。
【0104】フィールド712(4bits)は、ctyp
e/responseフィールドであり、各種のコマンドやそのコ
マンドに対するレスポンスを指定する。例えば、status
commandを指定する場合、このフィールドには「116
がセットされる。又、このstatus commandに対応するレ
スポンス(即ち、status response)を指定する場合、
このフィールドには「C16」がセットされる。
【0105】フィールド713(5bits)は、subu
nit_typeフィールドであり、あるノードの有する仮想的
な機能単位(即ち、subunit)を指定する。ここでsubun
itとは、AV/C Command Set規格において規定されてお
り、例えば、VTRサブユニット、プリンタサブユニッ
ト等がある。
【0106】フィールド714(3bits)は、subu
nit_IDフィールドであり、subunit_typeフィールド71
3で指定された機能単位が1つ以上ある場合に、それら
を識別するためのID番号を指定する。
【0107】フィールド715(8bits)は、opco
deフィールドであり、コマンドの種類を指定する。本実
施例のREAD MCR commandを指定する場合、このフィール
ドには、例えば「0616」がセットされる。
【0108】フィールド716(8bits)〜719
(8bits)は、operand[0]〜operand[3]フィール
ドであり、その内容は、ctype/responceフィールド71
2、opcodeフィールド715の内容によって異なる。例
えば、READ MCR status commandの場合、各フィールド
には、「FF16」がセットされる。又、READ MCR statu
s responseの場合、各フィールドには、図5(a)のoM
CRの値、或いは図6(b)のiMCRの値がセットされる。
【0109】フィールド720(8bits)には、
「0」がセットされる。フィールド721(32bit
s)は、data_CRCであり、上記のheader_CRCと同様に、
フィールド711〜720のエラーを検出するためのエ
ラー検出コードを格納する。
【0110】又、本実施例のコントローラ300は、図
8に示すSET CCR control commandを用いて、図5
(b)のoCCR或いは図6(b)のiCCRに所定の値を書き
込むことができる。図8において、パケット・ヘッダ
(packet header)に含まれるフィールド701〜71
0は、図7と同様に構成される。従って、以下、SET CC
R control commandのデータ・フィールド(data fiel
d)の構成について説明する。
【0111】フィールド801(4bits)は、CT
Sフィールドであり、図7のREAD MCR status command
と同様に、「016」がセットされる。
【0112】フィールド802(4bits)は、ctyp
e/responseフィールドであり、各種のコマンドやそのコ
マンドに対するレスポンスを指定する。例えば、contro
l commandを指定する場合、このフィールドには
「016」がセットされる。このcontrol commandが受け
付けられたことを示すレスポンスを返す場合、このフィ
ールドにはACCEPTED responseを示す「916」がセット
される。又、このcontrol commandが受け付けられなか
ったことを示すレスポンスを返す場合、このフィールド
にはREJECTED responseを示す「A16」がセットされ
る。
【0113】フィールド803(5bits)は、subu
nit_typeフィールドであり、図7のREAD MCR status co
mmandと同様に、所定のsubunitを指定する。フィールド
804(3bits)は、subunit_IDフィールドであ
り、図7のREAD MCR status commandと同様に、所定のs
ubunitを識別するためのID番号を指定する。
【0114】フィールド805(8bits)は、opco
deフィールドであり、コマンドの種類を指定する。本実
施例のSET CCR commandを指定する場合、このフィール
ドには、例えば「0716」がセットされる。
【0115】フィールド806(2bits)は、data
_rateフィールドであり、所望のoCCR(或いはiCCR)に
設定されたコネクションが用いる入力ビットレートを示
す。該data_rateフィールドにセットされる値は、例え
ば、「表2」と同じである。フィールド807(1bi
ts)は、broadcast_flagフィールドであり、所望のoC
CR(或いはiCCR)に設定されたコネクションが、どの通
信プロトコルを使用するかを示すフラグである。該broa
dcast_flagフィールドが「1」のとき、例えば、第1の
通信プロトコルが設定される。
【0116】フィールド808(1bits)は、on_l
ineフィールドであり、所望のoCCR(或いはiCCR)の使
用を要求するために「1」をセットする。ここで、所望
のoCCR(或いはiCCR)のon_lineフィールド512(6
12)が「1」であれば、該oCCR(或いはiCCR)は既に
使用されているため、このSET CCR control commandを
受信したノードはREJECTED responseを返す。
【0117】フィールド809(4bits)は、例え
ば、固定値「F16」を設定する。フィールド810(8
bits)は、例えば、固定値「FF16」を設定する。
フィールド811(6bits)は、例えば、固定値
「3F16」を設定する。
【0118】フィールド812(10bits)は、oC
CRをセットする場合、payload_sizeフィールドであり、
iCCRをセットする場合は、receive_buffer_sizeフィー
ルドである。payload_sizeフィールドには、一回のデー
タパケットで転送可能なデータ量が設定される。又、re
ceive_buffer_sizeフィールドには、1セグメントのデ
ータ量が設定される。
【0119】フィールド813(8bits)は、図5
(b)、図6(b)に示すconnection_IDフィールドの
上位8ビットを指定するフィールド、フィールド814
(8bits)は、connection_IDフィールドの下位8
ビットを指定するフィールドである。コントローラ30
0は、この2つのフィールドにより、所定のconnection
_IDを所望のoCCR(或いはiCCR)にセットすることがで
きる。
【0120】フィールド815(48bits)は、of
fset_addressフィールドであり、デスティネーション・
ノード304に確保した所定のメモリ空間の先頭アドレ
スを設定する。フィールド816(8bits)は、CC
R_numberフィールドであり、1つ又は複数個あるoCCR
(或いはiCCR)から、所望のoCCR(或いはiCCR)を指定
するための番号を設定する。
【0121】フィールド817(32bits)は、da
ta_CRCであり、フィールド801〜816のエラーを検
出するためのエラー検出コードを格納する。
【0122】次に図9を用いて、コントローラ300
が、ソース・ノード302とデスティネーション・ノー
ド304との間に論理的な接続関係を設定し、各ノード
間で使用する通信プロトコルを設定するまでの手順につ
いて説明する。図9において、コントローラ300、ソ
ース・ノード302、デスティネーション・ノード30
4の三者は、以下に示すネゴシエーションを行う。
【0123】まず、コントローラ300が、図7に示す
READ MCR status commandパケットを、ソース・ノード
302に対して発行する(901)。ソース・ノード3
02は、該ノードが有しているoMCRの各フィールド50
1〜507の値をセットしたresponseパケットを、コン
トローラ300に返す(901)。
【0124】次にコントローラ300は、図7に示すRE
AD MCR status commandパケットを、デスティネーショ
ン・ノード304に対して発行する(902)。デステ
ィネーション・ノード304は、該ノードが有している
iMCRの各フィールド601〜607の値をセットしたre
sponseパケットを、コントローラ300に返す(90
2)。
【0125】上記動作により、ソース・ノード302の
oMCRとデスティネーション・ノード304のiMCRとを読
み出したコントローラ300は、各レジスタの内容から
各ノードの主要な通信能力を判断し、使用可能な通信プ
ロトコルを選択する。
【0126】例えば、oMCRのflow control flag502
とiMCRのflow control flag602の夫々が「1」であ
った場合、コントローラ300は、ソース・ノード30
2とデスティネーション・ノード304の夫々が後述す
る第1の通信プロトコル(即ち、ブロードキャストによ
るデータ転送を行うプロトコル)に対応可能であると判
断する。その場合、コントローラ300は、第1の通信
プロトコルの使用を選択する。
【0127】第1の通信プロトコルの選択後、コントロ
ーラ300は、ソース・ノード302とデスティネーシ
ョン・ノード304との間に論理的な接続関係を設定す
るために、図8に示すSET CCR control commandを生成
する。
【0128】ソース・ノード302のoCCR(或いは、デ
スティネーション・ノード304のiCCR)をセットする
SET CCR control commandにおいて、コントローラ30
0は、broadcast_flagフィールド807に「1」を、on
_lineフィールド808に「1」を、connection_IDフィ
ールド812、813にコントローラ300が管理する
使用可能なコネクションIDを、offset_addressフィー
ルド814にデスティネーション・ノード304の使用
可能なデスティネーション・オフセットを、CCR_number
フィールド815に未使用のoCCR(又は、iCCR)を指定
するCCR番号を夫々設定する。
【0129】又、oMCRのflow control flag502とiMC
Rのflow control flag602のどちらか一方、或いは両
方が「0」であった場合、コントローラ300は、ソー
ス・ノード302とデスティネーション・ノード304
の夫々が後述する第1の通信プロトコル(即ち、ブロー
ドキャストによるデータ転送を行うプロトコル)に対応
できないと判断する。その場合、コントローラ300
は、後述する第2の通信プロトコルの使用を選択する。
【0130】第2の通信プロトコルの選択後、コントロ
ーラ300は、ソース・ノード302とデスティネーシ
ョン・ノード304との間に論理的な接続関係を設定す
るために、図8に示すSET CCR control commandを生成
する。
【0131】ソース・ノード302のoCCRをセットする
SET CCR control commandにおいて、コントローラ30
0は、SET CCR control commandにおいて、broadcast_f
lagフィールド807に「0」を、on_lineフィールド8
08に「1」を、payload_sizeフィールド811に一回
のデータパケットで転送可能なデータ量を設定する。
又、デスティネーション・ノード304のiCCRをセット
するSET CCR controlcommandにおいて、receive_buffer
_sizeフィールド811に1セグメントのデータ量を設
定する。
【0132】更に、コントローラ300は、oCCR(又
は、iCCR)をセットするSET CCR control commandにお
いて、offset_addressフィールド814にデスティネー
ション・ノード304の使用可能なデスティネーション
・オフセットを、CCR_numberフィールド815に未使用
のoCCR(又は、iCCR)を指定するCCR番号を夫々設定す
る。
【0133】本実施例において、コントローラ300
は、receive_buffer_sizeフィールドに設定する値を、p
ayload_sizeフィールドに設定する値の整数倍とする。
このように構成することにより、データ転送の効率を向
上させることができる。
【0134】次に、コントローラ300は、oCCRを設定
するために、ソース・ノード302に対して、上述のSE
T CCR control commandを発行する(903)。該SET C
CR control commandには、コントローラ300にて選択
された通信プロトコルを示す値や、通信プロトコルに必
要な値が含まれている。
【0135】ソース・ノード302の状態が、上記SET
CCR control commandに対応可能であった場合には、ソ
ース・ノード302は、コントローラ300に対してAC
CEPTED responseを返す(903)。その後、ソース・
ノード302は、選択された通信プロトコルに基づき、
データ転送を開始する。
【0136】一方、ソース・ノード302の状態が、上
記SET CCR control commandに対応できない場合には、
ソース・ノード302は、コントローラ300に対して
REJECTED responseを返す。この場合、データ転送は開
始されず、論理的な接続も開放され、各ノードは始めか
ら再びネゴシエーションを開始する。
【0137】次に、コントローラ300は、iCCRを開始
するために、デスティネーション・ノード304に対し
て、上述のSET CCR control commandを発行する(90
4)。該SET CCR control commandには、コントローラ
300にて選択された通信プロトコルを示す値や、通信
プロトコルに必要な値が含まれている。
【0138】デスティネーション・ノード304の状態
が、上記SET CCR control commandに対応可能であった
場合には、デスティネーション・ノード304は、コン
トローラ300に対してACCEPTED responseを返す(9
04)。その後、デスティネーション・ノード304
は、選択された通信プロトコルに基づき、データ転送を
開始する。
【0139】一方、デスティネーション・ノード304
の状態が、上記SET CCR control commandに対応できな
い場合には、デスティネーション・ノード304は、コ
ントローラ300に対してREJECTED responseを返す。
この場合、データ転送は開始されず、論理的な接続も開
放され、各ノードは始めから再びネゴシエーションを開
始する。
【0140】以上の手順からなるネゴシエーションによ
り、コントローラ300は、ソース・ノード302とデ
スティネーション・ノード304との間のコネクション
と、該コネクションが使用する通信プロトコルとを設定
することができる。尚、図9では、デスティネーション
・ノードが1つの場合について説明したが、デスティネ
ーション・ノードが複数個の場合には、上述の処理を各
デスティネーション・ノードに対して行えばよい。この
場合、コントローラ300は、対象となる全てのノード
の通信能力に応じて使用可能な通信プロトコルを選択す
る。
【0141】次に、本実施例の第1の通信プロトコルに
基づくデータ転送について説明する。第1の通信プロト
コルは、ブロードキャスト通信を利用し、マルチキャス
ト通信を実現する通信プロトコルである。
【0142】第1の通信プロトコルにおいて、1つのオ
ブジェクトデータは1つ以上のセグメントに分割され、
各セグメントは1つ以上の「Asynchronous broadcast p
acket」にパケッタイズされ、各Asynchronous broadcas
t packetは「Asynchronous broadcast transaction」に
よりブロードキャスト転送される。ここで、Asynchrono
us broadcast packetとAsynchronous broadcast transa
ctionとは、本実施例の第1の通信プロトコルにおいて
規定する全く新規なパケット・フォーマットであり、転
送方法である。
【0143】以下、図10、12を用いて、第1の通信
プロトコルに基づく転送手順について詳細に説明する。
図10は、1つのソース・ノードと1つのデスティネー
ション・ノードとの間の転送手順を説明するシーケンス
チャートである。又、図12は、1つのソース・ノード
と3つのデスティネーション・ノード304との間の転
送手順を説明するシーケンスチャートである。
【0144】上述のネゴシエーションの終了後、コント
ローラ300は、ソース・ノード302に対してオブジ
ェクトデータ308の転送を開始するように指示する
(図10、12の1001)。転送開始の指示を受けた
後、ソース・ノード302は、1つ以上のデスティネー
ション・ノード304に対して、send request packet
をAsynchronous broadcast transactionにより転送する
(図10、12の1002)。このsend request packe
tには、コントローラ300によりセットされたコネク
ションIDが格納されている。
【0145】send request packetを受信したデスティ
ネーション・ノード304は、そのsend request packe
tのもつコネクションIDを、先のネゴシエーションに
おいてiCCRにセットされたコネクションIDと比較す
る。両者が一致する場合、デスティネーション・ノード
304はそのsend request packetを受信し、それに対
応するack response packetをAsynchronous broadcast
transactionにより転送する(図10、12の100
3)。ここで、このack response packetには、各デス
ティネーション・ノード304の確保できる内部バッフ
ァのサイズが格納されている。
【0146】ack response packetの受信後、ソース・
ノード302は、Asynchronous broadcast transaction
を実行し、1つ以上のセグメントからなるオブジェクト
データ308を順次ブロードキャストする(図10、1
2の1004〜1007)。
【0147】ここで、図13を用いて、オブジェクトデ
ータ308の転送手順の一例を説明する。図13におい
て、オブジェクトデータ308は、例えばデータサイズ
が128Kbyteとなる静止画像データである。
【0148】ソース・ノード302は、send request p
acketを用いて認識した各デスティネーション・ノード
304の受信能力に応じてオブジェクトデータ308を
1つ以上のセグメントに分割する。ここで、1セグメン
トのデータサイズは、各デスティネーション・ノード3
04の有する内部バッファのサイズによりソース・ノー
ド302が可変的に設定する。例えば、図13のよう
に、オブジェクトデータ308と同じサイズの内部バッ
ファを各デスティネーション・ノードに確保できた場
合、ソース・ノード302は、オブジェクトデータ30
8を1つのセグメントに分割する。
【0149】次に、ソース・ノード302は、各セグメ
ントを1つ以上のセグメントデータに分割する。図13
には、1セグメントを例えば500個のセグメントデー
タ(1セグメントデータは256byte)に分割する
例を示す。
【0150】ソース・ノード302は、各セグメントを
少なくとも一回のAsynchronous broadcast transaction
を用いて順次ブロードキャストする。図13には、1セ
グメントデータを一回のAsynchronous broadcast trans
actionを用いて転送する例を示す。
【0151】1セグメントの全てを転送した後、次のセ
グメントがあれば、ソース・ノード302はそのセグメ
ントの転送を準備し、なければ各デスティネーション3
04とのデータ通信を終了する(図10、12の100
8、1009)。
【0152】次に、図10、12を用いて、コントロー
ラ300の動作について詳細に説明する。コントローラ
300は、ソース・ノード302に対して送信コマンド
パケット(transaction command packet)をAsync
hronous転送する(図10、12の1001)。
【0153】送信コマンドパケットを受信したソース・
ノード302は、コントローラ300から通知されたコ
ネクションIDを用いて初期設定を行い(図10、12
の1002、1003)、Asynchronous broadcast tra
nsactionを実行する(図10、12の1004〜100
7)。このAsynchronous broadcast transactionによ
り、ソース・ノード302は、1つ以上のセグメントか
らなるオブジェクトデータ308を順次転送することが
できる。
【0154】尚、本実施例の第1の通信プロトコルにお
いて、コントローラ300は、コネクションの接続、非
接続を管理する機能を提供するものである。従って、コ
ネクション設定後におけるオブジェクトデータ308の
転送は、ソース・ノード302とデスティネーション・
ノード304との間のネゴシエーションにより実行され
る。
【0155】一連のAsynchronous broadcast transacti
onが終了した後、ソース・ノード302は、segment en
dを示すAsynchronous broadcast packet(以下、segmen
t end packet)をブロードキャストする(図10、12
の1008)。
【0156】コントローラ300は、ソース・ノード3
02からのsegment end packetを受け取った後、コネク
ションを解放してデータ転送を終了する。ここで、segm
ent end packetは、ブロードキャストされるため、その
パケットの内容はデスティネーション・ノード304に
おいても検出することができる。従って、コントローラ
300ではなく、デスティネーション・ノード304自
体が、ソース・ノード302とのコネクションを解放す
るように構成してもよい。
【0157】次に、図10、12を用いて、ソース・ノ
ード302の動作について詳細に説明する。コントロー
ラ300からのtransaction command packetを受け取っ
たソース・ノード302は、各デスティネーション・ノ
ード304に対して上述のsend request packetを送出
する(図10、12の1002)。
【0158】ここで、send request packetは、オブジ
ェクトデータ308のAsynchronousbroadcast transact
ionを開始する前に必要な初期情報を得るためのリクエ
ストパケットである。このパケットには、コントローラ
300によって指定されたコネクションIDが書き込ま
れている。
【0159】デスティネーション・ノード304は、se
nd request packetに対応するレスポンスであるack res
ponse packetをブロードキャストする(図10、12の
1003)。ここで、ack response packetには、send
request packetと同じコネクションIDが格納されてい
る。従って、ソース・ノード302は、受信パケットの
コネクションIDを確認することによって、どのコネク
ションを介して転送されたack response packetである
かを識別することができる。
【0160】ここで、ack response packetには、各デ
スティネーション・ノード304に確保されている内部
バッファのサイズが格納されている。ack response pac
ketの受信後、ソース・ノード302は、各デスティネ
ーション・ノード304のメモリ空間を共通に指定する
デスティネーション・オフセットを用いて、Asynchrono
us broadcast transactionを開始する。ここで、このデ
スティネーション・オフセットは、上述のネゴシエーシ
ョン時に、コントローラ300から指示されたアドレス
である。
【0161】次にソース・ノード302は、最初のAsyn
chronous broadcast packetを、上述のデスティネーシ
ョン・オフセットが示すメモリ空間に対して書き込む
(図10、12の1004)。このパケットには、コネ
クションID、セグメントデータのシークエンス番号が
格納されている。
【0162】最初のAsynchronous broadcast packetを
送信した後、ソース・ノード302は、デスティネーシ
ョン・ノード304からのレスポンス・パケットを待機
する。デスティネーション・ノード304からは、コネ
クションIDとシークエンス番号とを格納したレスポン
ス・パケットがAsynchronous broadcast packetの形式
で送出される。このレスポンス・パケットを受け取った
後、ソース・ノード302は、シークエンス番号をイン
クリメントし、次のセグメントデータを含むAsynchrono
us broadcast packetを転送する(図10、12の10
05)。
【0163】この手順を繰り返して、ソース・ノード3
02は順次Asynchronous broadcasttransactionを行う
(図10、12の1006〜1007)。デスティネー
ション・ノード304からのレスポンスを待機する最大
の時間はあらかじめ決められており、その時間を過ぎて
もレスポンスが帰ってこない場合は、同一シークエンス
番号を用いて、同一データを再送する。
【0164】又、デスティネーション・ノード304か
ら再送を要求するレスポンス・パケットが転送された場
合、ソース・ノード302は、指定されたシークエンス
番号のデータを再度ブロードキャストすることもでき
る。
【0165】オブジェクトデータ308の全てをAsynch
ronous broadcast transactionを用いて転送した後、ソ
ース・ノード302は、segment end packetをブロード
キャストし、データ転送を終了する(図10、12の1
008)。
【0166】尚、上述の実施例では、1セグメントデー
タのAsynchronous broadcast transactionに伴って必ず
レスポンス・パケットを送出するように規定している
が、それに限るものではない。デスティネーション・ノ
ード304の有するデータバッファが、複数の連続する
セグメントデータによって満たされた後に、デスティネ
ーション・ノード304がレスポンス・パケットの送信
を行うように構成してもよい。
【0167】次に、図10、12を用いて、デスティネ
ーション・ノード304の動作について詳細に説明す
る。上述のネゴシエーション後、デスティネーション・
ノード304は、ソース・ノード302からのsend req
uest packetを待機する(図10、12の1002)。
【0168】send request packetを受け取ったデステ
ィネーション・ノード304は、そのパケットに書かれ
ているコネクションIDとコントローラから通知された
コネクションIDを確認し、このパケットがソース・ノー
ド302からのパケットであるかどうかを判別する。
【0169】ソース・ノード302からのsend request
packetを受信した後、各デスティネーション・ノード
304は、コネクションID、確保できる内部バッファ
のサイズを書き込んだack response packetをブロード
キャストする(図10、12の1003)。
【0170】ソース・ノード302から転送されたAsyn
chronous broadcast packetをメモリ空間に書き込んだ
後、デスティネーション・ノード304は、そのパケッ
トのコネクションIDを確認する。そのパケットに含ま
れるコネクションIDが自己のコネクションIDと一致
する場合、コネクションIDとそのパケットに含まれる
シークエンス番号とを格納したレスポンス・パケットを
ブロードキャストする(図10、12の1004〜10
07)。この場合、受信パケットに含まれるセグメント
データは、内部バッファに格納される。ここで、受信パ
ケットに含まれるコネクションIDが自己のコネクショ
ンIDと異なる場合、デスティネーション・ノード30
4は、その受信パケットを廃棄する。
【0171】又、デスティネーション・ノード304
は、受信パケットのシークエンス番号の不整合を検出し
た場合に、再送要求を示すレスポンス・パケットを送出
することもできる。その場合、デスティネーション・ノ
ード304は、再送を要求するシークエンス番号をソー
ス・ノード302に通知する。
【0172】全てのAsynchronous broadcast transacti
onを終了すると、ソース・ノード302からsegment en
d packetがブロードキャストされる。このパケットを受
信すると、デスティネーション・ノード304はデータ
転送プロセスを終了する(図10、12の1008)。
【0173】segment end packetを受信した後、デステ
ィネーション・ノード304は、segment end packetを
正常に受信したことを示すレスポンス・パケットをブロ
ードキャストする(図10、12の1009)。
【0174】以上説明したように本実施例の通信システ
ムは、従来の通信方式の不便利性を解決することができ
る。又、リアルタイム性を必要としないデータ転送にお
いても、簡便に高速にデータを転送することができる。
【0175】又、本実施例では、コントローラ300が
コネクションを設定した後、オブジェクトデータの転送
処理は、コントローラ300に制御されることなくソー
ス・ノード300と各デスティネーション・ノード30
4との間において実行される。これにより、コントロー
ラ300の負荷を減らし、複雑な通信手順を踏むことの
ない簡単な通信プロトコルを提供することができる。
【0176】又、本実施例では、デスティネーション・
ノード304は、各Asynchronous broadcast transacti
onに対して必ずレスポンスを返すように構成されてい
る。これにより、リアルタイム性の必要としないデータ
を確実に転送することのできる通信プロトコルを提供す
ることができる。
【0177】より確実なデータ転送を実現するために
は、バスリセットや何らかの伝送エラーの発生によって
データ転送が中断した場合において、データを欠落させ
ることなく速やかにデータ転送を再開させることが必要
である。以下、図11を用いて、本実施例の通信プロト
コルで規定する再開手順について説明する。
【0178】例えば、シークエンス番号iのAsynchronou
s broadcast packetを受信した後にバスリセットが発生
した場合、各ノードは転送処理を中断し、IEEE13
94−1995規格で定められた手順に従ってバスの初
期化、接続構成の認識、ノードIDの設定等を実行する
(図11の1010、1011)。
【0179】バスの再構築が完了した後、各デスティネ
ーション・ノード304は、コネクションIDとシーク
エンス番号iとを格納した再開要求パケット(resend r
equest packet)をブロードキャストする(図11の1
012)。
【0180】Asynchronous broadcast transactionの再
開が可能な場合、ソース・ノード302は、受信したre
send request packetのコネクションIDを確認し、こ
のコネクションIDを格納したack response packetを
ブロードキャストする(図11の1013)。
【0181】その後、ソース・ノード302は、受信し
たresend request packetにより要求されたシークエン
ス番号以降のセグメントデータ、すなわち、シークエン
ス番号(i+1)で始まるセグメントデータを順次ブロード
キャストする(図11の1014)。
【0182】前述の手順により、コントローラ300、
ソース・ノード302、デスティネーション・ノード3
04は、それぞれのノードIDを考慮することなく、デ
ータ転送が中断しても、その後のデータ転送を容易に、
かつ、確実に再開することができる。
【0183】又、前述のように、本実施例では、データ
転送が中断した場合にも、コントローラ300の制御手
順が簡略化できる効果がある。
【0184】次に、図14を用いて第1の通信プロトコ
ルで使用するAsynchronous broadcast packetの構成に
ついて説明する。Asynchronous broadcast packetは、
例えば、1Quadlet(4bytes=32bit
s)を単位とするデータパケットである。
【0185】まず、パケット・ヘッダ(packeth
eader)1219の構成を説明する。図14におい
て、フィールド1201(16bits)は、destinat
ion_IDを示し、受信先(即ち、デスティネーション・ノ
ード304)のノードIDを示す。本実施例の通信プロ
トコルでは、オブジェクトデータ308のAsynchronous
broadcast transactionを実現するため、このフィール
ドの値をブロードキャスト用ID(即ち、「FFF
16」)とする。
【0186】フィールド1202(6bits)は、ト
ランザクション・ラベル(tl)フィールドを示し、各トラ
ンザクション固有のタグである。フィールド1203
(2bits)は、リトライ(rt)コードを示し、パケッ
トがリトライを試みるかどうかを指定する。
【0187】フィールド1204(4bits)は、ト
ランザクションコード(tcode)を示す。tcodeは、パケッ
トのフォーマットや、実行しなければならないトランザ
クションのタイプを指定する。本実施例では、このフィ
ールドの値を例えば「00012」とし、このパケット
のデータ・ブロック522をdestination_offsetフィー
ルド1207の示すメモリ空間に書き込む処理(即ち、
ライト・トランザクション)をリクエストする。
【0188】フィールド1205(4bits)は、プ
ライオリティ(pri)を示し、優先順位を指定する。本実
施例では、このフィールドの値は「00002」とす
る。フィールド1206(16bits)は、source_I
Dを示し、送信側(即ち、ソース・ノード302)のノ
ードIDを示す。
【0189】フィールド1207(48bits)は、
destination_offsetを示し、各デスティネーション・ノ
ード304の有するアドレス空間の下位48bitsを
共通に指定する。フィールド1208(16bits)
は、data_lengthを示し、後述するデータフィールドの
長さをバイト単位で示す。
【0190】フィールド1209(16bits)は、
extended_tcodeを示す。本実施例では、このフィールド
の値を「00002」とする。フィールド1210(3
2bits)は、header_CRCを示し、上述したフィール
ド1201〜1209のエラーを検出するためのエラー
検出コードが格納される。
【0191】次に、データ・ブロック(datablo
ck)1220の構成を説明する。データ・ブロック1
220は、ヘッダ・インフォメーション(packet
information)1221とデータ・フィール
ド(datafield)1222とにより構成され
る。
【0192】ヘッダ・インフォメーション1221に
は、各ノード間の論理的な接続関係(即ち、コネクショ
ン)を識別するためのコネクションIDなどが格納され
る。尚、ヘッダ・インフォメーション1221の構成
は、使用目的に応じて異なる。
【0193】又、データ・フィールド1222は可変長
なフィールドであり、上述のセグメントデータが格納さ
れる。ここで、データ・フィールド1222に格納され
るセグメントデータがクアッドレットの倍数でない場
合、クアッドレットに満たない分には「0」が詰められ
る。
【0194】フィールド1211(16bits)は、
connection_IDを示し、本実施例のコネクションIDを
格納する。本実施例の1394インタフェースは、この
フィールドに格納されたコネクションIDに基づいてソ
ース・ノード302と1つ以上のデスティネーション・
ノード304との間に設定されたコネクションを識別す
る。本実施例では、216×(ノード数)のコネクション
を確立することが可能となる。これにより、各コネクシ
ョンの使用する通信帯域の総量が伝送路の容量に達する
まで、複数のコネクションを設定することが可能とな
る。
【0195】フィールド1212(8bits)は、pr
otocol_typeを示し、ヘッダ・インフォメーション12
21に基づく通信手順(即ち、通信プロトコルの種類)
を示す。本実施例の通信プロトコルを示す場合、このフ
ィールドの値は例えば「01 16」となる。
【0196】フィールド1213(8bits)は、co
ntrol_flagsを示し、本実施例の通信プロトコルの通信
手順等を制御する所定の制御データが設定される。本実
施例では、このフィールドの最上位ビットを、例えば、
再送要求(resend_request)フラグとする。従って、この
フィールドの最上位ビットの値が「1」となる場合、本
実施例の通信プロトコルに基づく再送要求が生じている
ことを示す。
【0197】フィールド1214(16bits)は、
sequence_numberを示し、特定のコネクションID(フ
ィールド511で指定されたコネクションID)に基づ
いて転送されるパケットに対して連続的な値(即ち、シ
ークエンス番号)を設定する。このシークエンス番号に
よって、デスティネーション・ノード304は、順次As
ynchronous broadcast transactionされるセグメントデ
ータの連続性を監視することができる。不一致が生じた
場合、デスティネーション・ノード304は、このシー
クエンス番号に基づいて再送を要求することもできる。
【0198】フィールド1215(16bits)は、
reconfirmation_numberを示す。本実施例においてこの
フィールドは、上述の再送要求フラグの値が1である場
合にのみ意味を持つ。例えば、上述の再送要求フラグの
値が1である場合、このフィールドには、再送を要求す
るパケットのシークエンス番号が設定される。
【0199】フィールド1216(16bits)は、
buffer_sizeを示す。このフィールドには、デスティネ
ーション・ノード304のバッファ・サイズが設定され
る。フィールド1217(16bits)は、reserved
フィールドである。このフィールドは、将来のために予
約されている。
【0200】フィールド1218(32bits)は、
data_CRCを示し、上記のheader_CRCと同様に、フィール
ド1211〜1217のエラーを検出するためのエラー
検出コードが格納される。
【0201】尚、本実施例の第1の通信プロトコルで
は、図14に示すAsynchronous broadcast packetを用
いて、上述のAsynchronous broadcast transactionを実
現したがそれに限るものではない。例えば、図15に示
すAsynchronous stream packetを用いて実現することも
可能である。この場合、上述のオブジェクトデータは、
1つ以上のセグメントに分割され、各セグメントは1つ
以上のAsynchronous stream packetにパケッタイズされ
る。そして、ソース・ノード302は、各Asynchronous
stream packetを、Asynchronous転送期間内において順
次ブロードキャスト転送する。ここで、Asynchronous s
tream packetのフォーマットと転送方法とは、IEEE
1394−1995規格の拡張規格であるIEEE13
94.a規格において規定されている。
【0202】図15において、フィールド1240(1
6bits)は、data_lengthフィールドである。この
フィールドには、後述するデータ・フィールド1246
の長さをバイト単位にデータが格納される。フィールド
1241(2bits)は、tagフィールドである。こ
のフィールドには、「002」が格納される。
【0203】フィールド1242(6bits)は、ch
annelフィールドである。このフィールドには、このパ
ケットを含む一連のAsynchronous stream packetに割り
当てられたチャネル番号がセットされる。フィールド1
243(4bits)は、トランザクション・コード
(tcode)フィールドであり、Asynchronous stream pac
ketであることを示す「A16」を指定する。
【0204】フィールド1244(4bits)は、sy
nchronization code(sy)フィールドである。このフィ
ールドには、使用するアプリケーションによって決定さ
れた制御コードが格納される。フィールド1245(3
2bits)は、header_CRCである。このフィールドに
は、上述したフィールド1241〜1244のエラーを
検出するためのエラー検出コードが格納される。
【0205】フィールド1246(可変長)は、データ
・フィールドである。このフィールドには、図14に示
すフィールド1211〜1217の値とセグメントデー
タとが格納される。ここで、フィールド1246に格納
されるセグメントデータがクアッドレットの倍数でない
場合、クアッドレットに満たない分には「0」が詰めら
れる。フィールド1247(32bits)は、data_C
RCである。このフィールドには、上記のheader_CRCと同
様に、フィールド1246のエラーを検出するためのエ
ラー検出コードが格納される。
【0206】次に、本実施例の第2の通信プロトコルに
ついて説明する。第2の通信プロトコルは、通信相手を
特定した通信方式を利用し、ユニキャスト通信を実現す
る通信プロトコルである。第2の通信プロトコルにおい
て、1つのオブジェクトデータは1つ以上のセグメント
に分割され、各セグメントは1つ以上の「Asynchronous
write request packet」にパケッタイズされ、各Async
hronous write request packetは「Asynchronous write
transaction」により転送される。ここで、Asynchrono
us write request packetとAsynchronous write transa
ctionとは、IEEE1394−1995規格において
規定するパケット・フォーマットであり、転送方法であ
る。
【0207】以下、図16を用いて、第2の通信プロト
コルに基づく転送手順について詳細に説明する。上記ネ
ゴシエーション(図9参照)が終わると、最初に、コン
トローラ300は、デスティネーション・ノード304
に、Receive Segment commandを発行する(130
1)。受信準備ができ次第、デスティネーション・ノー
ド304は、コントローラ300に、INTERIM response
を発行して待機状態に入る(1302)。
【0208】次に、コントローラ300は、ソース・ノ
ード302に、Send Segment commandを発行する(13
03)。ソース・ノード302は、コントローラ300
に、INTERIM responseを発行してデータ送信状態に入る
(1304)。
【0209】データ送信状態に入った後、ソース・ノー
ド302は、Asynchronous write transactionを用い
て、所望のオブジェクトデータ308をデスティネーシ
ョン・ノード304に送信する(1305〜130
8)。
【0210】ここで、図13を用いて、オブジェクトデ
ータ308の転送手順の一例を説明する。図13におい
て、オブジェクトデータ308は、例えばデータサイズ
が128Kbyteとなる静止画像データである。
【0211】ソース・ノード302は、オブジェクトデ
ータ308を1つ以上のセグメントに分割する。例え
ば、オブジェクトデータ308と同じサイズの内部バッ
ファをデスティネーション・ノード304に確保できた
場合、ソース・ノード302は、オブジェクトデータ3
08を1つのセグメントに分割する。
【0212】次に、ソース・ノード302は、コントロ
ーラ300から指示されたoCCRのpayload_sizeフィール
ド514の内容を検出し、各セグメントを1つ以上のセ
グメントデータに分割する。図13には、1セグメント
を500個のセグメントデータ(1セグメントデータは
256byte)に分割する例を示す。ここで、payloa
d_sizeフィールド514の内容は、コントローラ300
によりセットされる。
【0213】次に、ソース・ノード302は、各セグメ
ントを少なくとも一回のAsynchronous write transacti
onを用いて順次転送する。図13には、1セグメントデ
ータを一回のAsynchronous write transactionを用いて
転送する例を示す。
【0214】1回以上のAsynchronous write transacti
onにより順次転送されたデータの総量が、receive_buff
er_sizeフィールド614に設定された値(即ち、内部
バッファの容量)に達した場合、ソース・ノード302
は、上記Send Segment commandに対するACCEPTED respo
nseをコントローラ300に対して発行する(130
9)。
【0215】次に、デスティネーション・ノード304
は、上記Receive Segment commandに対するACCEPTED re
sponseをコントローラ300に対して発行し、1セグメ
ント分のデータ転送が完了したことを通知する(131
0)。次のセグメントがある場合、コントローラ30
0、ソース・ノード302、及びデスティネーション・
ノード304は、上述の手順を繰り返し行う。
【0216】これにより、ソース・ノード302は、As
ynchronous write transactionを用いて、所望のオブジ
ェクトデータ308をデスティネーション・ノード30
4に対して確実に送信することができる。
【0217】以上説明したように上述の各実施例では、
物理的な接続形態に依存しない論理的な接続関係をIE
EE1394−1995規格のようなバス型ネットワー
ク内に構築することができる。
【0218】又、本実施例では、IEEE1394−1
995規格に準拠した通信システムにおいて、リアルタ
イム性は必要とされないが、信頼性が要求される比較的
データ量の多いオブジェクトデータ(例えば、静止画像
データ、グラフィックスデータ、テキストデータ、ファ
イルデータ、プログラムデータ等)を、1以上のセグメ
ントに分割し、各セグメントを1つ以上のAsynch
ronous転送を用いて順次転送する全く新規な通信
プロトコルを提供することができる。
【0219】又、本実施例では、IEEE1394−1
995規格に準拠した通信システムにおいて、複数の機
器間のデータ通信を、Asynchronous転送方
式によるブロードキャスト通信を用いて実現する全く新
規な通信プロトコルを提供することもできる。
【0220】更に本実施例では、IEEE1394−1
995規格に準拠した通信システムにおいて、複数の異
なる通信プロトコルが存在した場合でも、使用可能な通
信プロトコルを自動的に判別し、使い分けることができ
る。
【0221】なお、上述の各実施例において説明した通
信プロトコル及びそれを実現するために必要な各種の処
理動作は、ソフトウェアによって実現することも可能で
ある。例えば、上述の実施例の機能を実現するためのプ
ログラムコードを記憶した記憶媒体を、各実施例の通信
システムを構成する機器の制御部(例えば、図1のMP
U12、システムコントローラ50、プリンタコントロ
ーラ68)に供給するように構成する。そして、その制
御部が、該記憶媒体に格納されたプログラムコードを読
み出し、そのプログラムコードに従って各実施例の機能
を実現するように通信システム或いは機器自体の動作を
制御するように構成しても、上述の実施例を実現するこ
とができる。
【0222】又、上述の実施例の機能を実現するための
プログラムコードを記憶した記憶媒体を、各機器の具備
する1394インタフェース14、44、62に供給
し、該1394インタフェース14、44、62の動作
を制御する制御部(例えば、図2のシリアル・バス・マ
ネージメント206)が、該記憶媒体に記憶されたプロ
グラムコードに従って各実施例の機能を実現するように
処理動作を制御するように構成してもよい。
【0223】この場合、上述の記憶媒体から読み出され
たプログラムコード自体が各実施例の機能を実現するこ
とになり、そのプログラムコード自体及びそのプログラ
ムコードを制御部に供給するための手段(例えば、記憶
媒体自体)は本発明を構成する。
【0224】かかるプログラムコードを記憶する記憶媒
体としては、例えば、フロッピディスク、ハードディス
ク、光ディスク、光磁気ディスク、CD−ROM、磁気
テープ、不揮発性のメモリカード、ROMなどを用いる
ことができる。
【0225】又、上述の記憶媒体から読み出されたプロ
グラムコードが、上述の制御部上で稼動しているOS
(オペレーティングシステム)或いは各種のアプリケー
ションソフト等と共同して、各実施例の機能を実現する
場合も本発明に含まれることは言うまでもない。
【0226】更に、上述の記憶媒体から読み出されたプ
ログラムコードを、上述の制御部に接続された機能拡張
ユニットに備わるメモリに格納した後、その機能拡張ユ
ニットに備わる制御部が、該メモリに格納したプログラ
ムコードに従って実際の処理の一部或いは全てを行い、
その処理によって各実施例の機能を実現する場合も本発
明に含まれることは言うまでもない。
【0227】尚、本発明はその精神、又は主要な特徴か
ら逸脱することなく、他の様々な形で実施することがで
きる。例えば、本実施例のコントローラ300は、ソー
ス・ノード302のoMCRとデスティネーション・ノード
304のiMCRとを読み出す際、図7に示すREAD MCR sta
tus commandを各ノードに発行するように構成したがそ
れに限るものではない。oMCR、iMCRのアドレスを予め特
定のアドレスとなるように構成しておけば、コントロー
ラ300は、各レジスタの内容を、IEEE1394−
1995規格のAsynchronousリード・トランザクション
を用いて読み出すこともできる。
【0228】このように構成した場合、本実施例の13
94インタフェースは、図9に示すネゴシエーションの
処理の一部を、図2に示すトランザクション・レイヤよ
りも上位のレイヤに影響を与えることなく実現すること
ができる。これにより、本実施例の1394インタフェ
ースは、アプリケーション・レイヤに対する負荷を少な
くすることができ、ハードウェア化が容易になる。
【0229】又、本実施例のコントローラ300は、ソ
ース・ノード302のoCCRとデスティネーション・ノー
ド304のiCCRに所定の値を書き込む際、図8に示すSE
T CCR control commandを各ノードに発行するように構
成したがそれに限るものではない。oCCR、iCCRのアドレ
スを予め特定のアドレスとなるように構成しておけば、
コントローラ300は、各レジスタの内容を、IEEE
1394−1995規格のAsynchronousリード・ライト
・コンペア・スワップ・ロック・トランザクションを用
いて書き込むこともできる。
【0230】このように構成した場合、本実施例の13
94インタフェースは、ロック・トランザクションに対
する応答により、図9に示すネゴシエーションの処理の
一部を実現することができる。これにより、本実施例の
1394インタフェースは、トランザクション・レイヤ
における応答により上述の処理を実現できるため、処理
速度をより一層向上されることができる。又、アプリケ
ーション・レイヤに対する負荷を少なくすることがで
き、ハードウェア化が容易になる。
【0231】又、本実施例では、コントローラ300が
2種類の異なる通信プロトコルを選択する構成及び手順
について説明したが、2種類以上の通信プロトコルの中
から選択するように構成してもよい。この場合、各ノー
ドは、oMCRのreservedフィールド503或いはiMCRのre
servedフィールド506を用いて各通信プロトコルのサ
ポート状態を示すことができる。
【0232】更に、本実施例では、IEEE1394−
1995規格に準拠したネットワークに適用可能な通信
プロトコルについて説明したがそれに限るものではな
い。本実施例の通信プロトコルは、IEEE1394−
1995規格のようなバス型ネットワークやバス型ネッ
トワークを仮想的に構成できるネットワークに適用する
こともできる。
【0233】従って、前述の各実施例ではあらゆる点で
単なる例示に過ぎず、限定的に解釈してはならない。本
発明の範囲は特許請求の範囲によって示すものであっ
て、明細書本文には何等拘束されない。更に、特許請求
の範囲の均等範囲に属する変形や変更はすべて本発明の
範囲のものである。
【0234】
【発明の効果】本発明によれば、複数の異なる通信プロ
トコルが混在する場合でも、システム全体の操作性を著
しく損なうことなく、利用可能な通信プロトコルに適応
的に選択することができる。
【図面の簡単な説明】
【図1】本実施例の通信システムの構成例を示すブロッ
ク図である。
【図2】本実施例の1394インターフェースの構成を
説明する図である。
【図3】本実施例の第1、第2の通信プロトコルの基本
構成を説明する概念図である。
【図4】各ノードの有するアドレス空間を説明する図で
ある。
【図5】本実施例のソース・ノードの有する出力レジス
タ(oMCRとoCCR)の構成を説明する図である。
【図6】本実施例のデスティネーション・ノードの有す
る入力レジスタ(iMCRとiCCR)の構成を説明する図であ
る。
【図7】MCR、iMCRの内容を読み出すためのコマンドの
構成を示す図である。
【図8】CCR、iCCRに所定の値を書き込むためのコマン
ドの構成を示す図である。
【図9】ソース・ノードとデスティネーション・ノード
との間で使用する通信プロトコルを設定するまでの手順
について説明するシーケンスチャートである。
【図10】本実施例の第1の通信プロトコルについて説
明するシーケンスチャートで、1つのソース・ノードと
1つのデスティネーション・ノードとの間の転送手順を
説明する図である。
【図11】本実施例の第1の通信プロトコルについて説
明するシーケンスチャートで、通信プロトコルで規定す
る再開手順について説明する図である。
【図12】本実施例の第1の通信プロトコルについて説
明するシーケンスチャートで、1つのソース・ノードと
3つのデスティネーション・ノード304との間の転送
手順を説明する図である。
【図13】第1の通信プロトコルによる通信オブジェク
トデータの転送手順を説明する図である。
【図14】第1の通信プロトコルにて使用されるデータ
パケットの構成を示す図である。
【図15】第1の通信プロトコルにて使用されるデータ
パケットの構成を示す図である。
【図16】本実施例の第2の通信プロトコルについて説
明するシーケンスチャートである。
【符号の説明】
10 コンピュータ 12 演算処理装置 14 1394インターフェース 16 操作部 18 デコーダ 20 表示部 22 ハードディスク 24 内部メモリ 26 内部バス 28 カメラ一体型デジタルビデオレコーダ 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 プリンタヘッド 300 コントローラ 302 ソース・ノード 304 デスティネーション・ノード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 崇史 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 大西 慎二 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (37)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1回の非同期通信を用いて1
    つ以上のセグメントからなるオブジェクトデータを転送
    するソース・ノードと、 前記ソース・ノードから転送されたオブジェクトデータ
    を受信する1つ以上のデスティネーション・ノードと、 前記ソース・ノードと前記1つ以上のデスティネーショ
    ン・ノードとの間に論理的な接続関係を設定するコント
    ローラとを備え、 前記コントローラは、複数の異なる通信プロトコルの中
    から、前記ソース・ノードと前記デスティネーション・
    ノードとの間で使用される通信プロトコルを選択するこ
    とを特徴とするデータ通信システム。
  2. 【請求項2】 前記通信プロトコルの1つは、ブロード
    キャスト通信を用いて前記オブジェクトデータを転送す
    る通信プロトコルであることを特徴とする請求項1記載
    のデータ通信システム。
  3. 【請求項3】 前記通信プロトコルの1つは、マルチキ
    ャスト通信の可能な通信プロトコルであることを特徴と
    する請求項1記載のデータ通信システム。
  4. 【請求項4】 前記通信プロトコルは、Asynchronousブ
    ロードキャストトランザクションを用いた通信プロトコ
    ルであることを特徴とする請求項2又は3記載のデータ
    通信システム。
  5. 【請求項5】 前記通信プロトコルの1つは、通信相手
    を特定する通信方式を用いて前記オブジェクトデータを
    転送する通信プロトコルであることを特徴とする請求項
    1記載のデータ通信システム。
  6. 【請求項6】 前記通信プロトコルの1つは、ユニキャ
    スト通信の可能な通信プロトコルであることを特徴とす
    る請求項1記載のデータ通信システム。
  7. 【請求項7】 前記通信プロトコルは、Asynchronousラ
    イトトランザクションを用いた通信プロトコルであるこ
    とを特徴とする請求項5又は6記載のデータ通信システ
    ム。
  8. 【請求項8】 前記ソース・ノードとデスティネーショ
    ン・ノードとは、自己の通信能力を記述するレジスタ空
    間を有することを特徴とする請求項1〜7のいずれか1
    項に記載のデータ通信システム。
  9. 【請求項9】 前記コントローラは、前記レジスタ空間
    の内容により前記通信プロトコルを選択することを特徴
    とする請求項8記載のデータ通信システム。
  10. 【請求項10】 前記ソース・ノードとデスティネーシ
    ョン・ノードとは、前記論理的な接続関係に関する情報
    を記述するレジスタ空間を有することを特徴とする請求
    項1〜9のいずれか1項に記載のデータ通信システム。
  11. 【請求項11】 前記コントローラは、前記論理的な接
    続関係を設定する毎に、前記通信プロトコルを選択する
    ことを特徴とする請求項1〜10のいずれか1項に記載
    のデータ通信システム。
  12. 【請求項12】 前記ソース・ノードは、1セグメント
    分のデータを少なくとも1回の非同期通信を用いて順次
    転送することを特徴とする請求項1〜11のいずれか1
    項に記載のデータ通信システム。
  13. 【請求項13】 前記1つ以上のデスティネーション・
    ノードは、前記非同期通信を用いて転送されたデータに
    対してレスポンスを返すことを特徴とする請求項1〜1
    2のいずれか1項に記載のデータ通信システム。
  14. 【請求項14】 前記コントローラは、前記ソース・ノ
    ードと前記1つ以上のデスティネーション・ノードとの
    間に1つ以上の論理的な接続関係を設定可能であること
    を特徴とする請求項1〜13のいずれか1項に記載のデ
    ータ通信システム。
  15. 【請求項15】 前記ソース・ノードは、前記1つ以上
    のデスティネーション・ノードのメモリ空間を共通に指
    定するアドレスを用いて前記オブジェクトデータを書き
    込むことを特徴とする請求項1〜14のいずれか1項に
    記載のデータ通信システム。
  16. 【請求項16】 前記通信プロトコルは、Asynchronous
    Stream packetを用いた通信プロトコルであることを
    特徴とする請求項2又は3記載のデータ通信システム。
  17. 【請求項17】 前記データ通信システムは、バス型ネ
    ットワークであることを特徴とする請求項1〜16のい
    ずれか1項に記載のデータ通信システム。
  18. 【請求項18】 前記データ通信システムは、IEEE
    1394−1995規格に準拠したネットワークである
    ことを特徴とする請求項1〜17のいずれか1項に記載
    のデータ通信システム。
  19. 【請求項19】 前記オブジェクトデータは、静止画像
    データ、グラフィックスデータ、テキストデータ、ファ
    イルデータ、プログラムデータの少なくとも1つである
    ことを特徴とする請求項1〜18のいずれか1項に記載
    のデータ通信システム。
  20. 【請求項20】 ソース・ノードと1つ以上のデスティ
    ネーション・ノードとの間に論理的な接続関係を設定す
    るステップと、 複数の異なる通信プロトコルの中から、前記ソース・ノ
    ードと前記デスティネーション・ノードとの間で使用さ
    れる通信プロトコルを選択するステップと、 1つ以上のセグメントからなるオブジェクトデータを少
    なくとも1回の非同期通信を用いて前記デスティネーシ
    ョン・ノードに転送するステップとを有することを特徴
    とするデータ通信方法。
  21. 【請求項21】 1つ以上のセグメントからなるオブジ
    ェクトデータを少なくとも1つの通信パケットにパケッ
    タイズする手段と、 1つ以上のデスティネーション・ノードとの間に設定さ
    れた論理的な接続関係と複数の異なる通信プロトコルの
    1つとを用いて、前記通信パケットを非同期転送する手
    段とを備えることを特徴とするデータ通信装置。
  22. 【請求項22】 1つ以上のセグメントからなるオブジ
    ェクトデータを少なくとも1つの通信パケットにパケッ
    タイズするステップと、 1つ以上のデスティネーション・ノードとの間に設定さ
    れた論理的な接続関係と複数の異なる通信プロトコルの
    1つとを用いて、前記通信パケットを非同期転送するス
    テップとを有することを特徴とするデータ通信方法。
  23. 【請求項23】 ソース・ノードとの間に設定された論
    理的な接続関係と複数の異なる通信プロトコルの1つと
    を用いて非同期転送された少なくとも1つの通信パケッ
    トを受信する手段と、 前記通信パケットに含まれるデータを該通信パケットの
    指定するメモリ空間に書き込む手段とを備えることを特
    徴とするデータ通信装置。
  24. 【請求項24】 ソース・ノードとの間に設定された論
    理的な接続関係と複数の異なる通信プロトコルの1つと
    を用いて非同期転送された少なくとも1つの通信パケッ
    トを受信するステップと、 前記通信パケットに含まれるデータを該通信パケットの
    指定するメモリ空間に書き込むステップとを有すること
    を特徴とするデータ通信方法。
  25. 【請求項25】 ソース・ノードと1つ以上のデスティ
    ネーション・ノードとの間に論理的な接続関係を設定す
    る手段と、 前記論理的な接続関係において使用可能な通信プロトコ
    ルを、複数の異なる通信プロトコルの中から選択する手
    段とを備えることを特徴とするデータ通信装置。
  26. 【請求項26】 ソース・ノードと1つ以上のデスティ
    ネーション・ノードとの間に論理的な接続関係を設定す
    るステップと、 前記論理的な接続関係において使用可能な通信プロトコ
    ルを、複数の異なる通信プロトコルの中から選択するス
    テップとを有することを特徴とするデータ通信方法。
  27. 【請求項27】 情報データを送信するソース・ノード
    と、該情報データを受信するデスティネーション・ノー
    ドとを含むデータ通信システムにおいて、 1つ以上の特定された転送先或いは不特定多数の転送先
    に応じて異なる複数の通信プロトコルの何れかを選択
    し、上記情報データを転送することを特徴とするデータ
    通信システム。
  28. 【請求項28】 上記異なる複数の通信プロトコルの夫
    々に関する情報は、上記ソース・ノード及び上記デステ
    ィネーション・ノードの具備する記憶手段に記憶されて
    いることを特徴とする請求項27記載のデータ通信シス
    テム。
  29. 【請求項29】 上記異なる複数の通信プロトコルの1
    つは、IEEE1394−1995規格に準拠したAs
    ynchronousライトトランザクションを用いた
    通信プロトコルであることを特徴とする請求項27又は
    28記載のデータ通信システム。
  30. 【請求項30】 上記異なる複数の通信プロトコルの1
    つは、IEEE1394−1995規格に準拠したAs
    ynchronousブロードキャストトランザクショ
    ンを用いた通信プロトコルであることを特徴とする請求
    項27〜29のいずれか1項に記載のデータ通信システ
    ム。
  31. 【請求項31】 上記異なる複数の通信プロトコルの1
    つは、IEEE1394−1995規格に準拠したAs
    ynchronous Streamsを用いた通信プ
    ロトコルであることを特徴とする請求項27〜29のい
    ずれか1項に記載のデータ通信システム。
  32. 【請求項32】 情報データを送信するソース・ノード
    と、該情報データを受信するデスティネーション・ノー
    ドとを含むデータ通信システムにおいて、 上記ソース・ノードと上記デスティネーション・ノード
    との間の接続を設定する迄の動作を共用する複数の通信
    プロトコルの何れかを選択し、前記情報データを転送す
    ることを特徴とするデータ通信システム。
  33. 【請求項33】 情報データを送信するソース・ノード
    と、該情報データを受信するデスティネーション・ノー
    ドとを含むデータ通信システムに適用可能なデータ通信
    方法において、 1つ以上の特定された転送先或いは不特定多数の転送先
    に応じて異なる複数の通信プロトコルの何れかを選択
    し、上記情報データを転送することを特徴とするデータ
    通信方法。
  34. 【請求項34】 情報データを送信するソース・ノード
    と、該情報データを受信するデスティネーション・ノー
    ドとを含むデータ通信方法において、 上記ソース・ノードと上記デスティネーション・ノード
    との間の接続を設定する迄の動作を共用する複数の通信
    プロトコルの何れかを選択し、前記情報データを転送す
    ることを特徴とするデータ通信方法。
  35. 【請求項35】 情報データを送信するソース・ノード
    と、該情報データを受信するデスティネーション・ノー
    ドとを含むデータ通信システムに適用可能なデータ通信
    装置において、 1つ以上の特定された転送先或いは不特定多数の転送先
    に応じて異なる複数の通信プロトコルの何れかを選択す
    る選択手段と、 上記選択手段により選択された通信プロトコルに基づい
    て情報データの転送を行う転送手段とを具備することを
    特徴とするデータ通信装置。
  36. 【請求項36】 請求項20、22、24、26、3
    3、34のいずれか1項に記載のデータ通信方法の手順
    をコンピュータに実行させるためのプログラムを格納し
    たことを特徴とする記憶媒体。
  37. 【請求項37】 請求項21、23、25、35のいず
    れか1項に記載の各手段としてコンピュータを機能させ
    るためのプログラムを格納したことを特徴とする記憶媒
    体。
JP09816399A 1998-04-09 1999-04-05 データ通信システム及びデータ通信装置 Expired - Fee Related JP4181688B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP09816399A JP4181688B2 (ja) 1998-04-09 1999-04-05 データ通信システム及びデータ通信装置
MYPI99001360A MY126621A (en) 1998-04-09 1999-04-08 Communication system, controller and method therefor
US09/288,038 US7123621B1 (en) 1998-04-09 1999-04-08 Data communication system, data communication method and data communication apparatus
CN99107676A CN1132395C (zh) 1998-04-09 1999-04-09 数据通信系统和数据通信方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9798998 1998-04-09
JP10-97989 1998-04-09
JP09816399A JP4181688B2 (ja) 1998-04-09 1999-04-05 データ通信システム及びデータ通信装置

Publications (3)

Publication Number Publication Date
JP2000049834A true JP2000049834A (ja) 2000-02-18
JP2000049834A5 JP2000049834A5 (ja) 2006-06-08
JP4181688B2 JP4181688B2 (ja) 2008-11-19

Family

ID=26439105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09816399A Expired - Fee Related JP4181688B2 (ja) 1998-04-09 1999-04-05 データ通信システム及びデータ通信装置

Country Status (4)

Country Link
US (1) US7123621B1 (ja)
JP (1) JP4181688B2 (ja)
CN (1) CN1132395C (ja)
MY (1) MY126621A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002009110A1 (fr) * 2000-07-21 2002-01-31 Sony Corporation Dispositif d'enregistrement, dispositif de lecture, et systeme d'enregistrement/lecture
US7388864B2 (en) 2002-10-11 2008-06-17 Ricoh Company, Ltd. Data communication apparatus, data communication system, data communication method, data communication program and information recording medium

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068674B1 (en) * 1999-08-23 2006-06-27 Lg Electronics Inc. Method of controlling connection between nodes in digital interface
US7346582B2 (en) * 1999-12-21 2008-03-18 Sony Corporation Electronic money, electronic use right, charging system, information processing apparatus, and reproducing method and reproduction control method of contents data
US20030128686A1 (en) * 2001-12-06 2003-07-10 Hur Nam Chun Variable delay buffer
US7188182B2 (en) * 2002-03-20 2007-03-06 Microsoft Corporation Selecting an appropriate transfer mechanism for transferring an object
KR100547849B1 (ko) * 2003-12-05 2006-01-31 삼성전자주식회사 고속 개인용 무선 네트워크에서의 브릿지 디바이스를선정하기 위한 프레임 구조와 그에 따른 선정 방법
US8325768B2 (en) * 2005-08-24 2012-12-04 Intel Corporation Interleaving data packets in a packet-based communication system
US7849243B2 (en) * 2008-01-23 2010-12-07 Intel Corporation Enabling flexibility of packet length in a communication protocol
JP2010109530A (ja) * 2008-10-29 2010-05-13 Sony Corp 無線通信装置および無線通信方法
US20100323725A1 (en) * 2009-06-18 2010-12-23 Yigang Cai Individualized retry configurations for messages having failed delivery
KR101667020B1 (ko) * 2011-08-03 2016-10-17 에스케이텔레콤 주식회사 관리장치 및 관리장치의 동작 방법
CN104331028B (zh) * 2013-07-22 2017-11-28 上海联影医疗科技有限公司 控制装置和总线系统
WO2016018262A1 (en) * 2014-07-29 2016-02-04 Hewlett-Packard Development Company, L.P. Storage transactions

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04154242A (ja) * 1990-10-17 1992-05-27 Nec Corp ネットワーク障害回復方式
US5222125A (en) * 1991-09-03 1993-06-22 At&T Bell Laboratories System for providing personalized telephone calling features
JPH0698041A (ja) 1992-09-14 1994-04-08 Ricoh Co Ltd ファクシミリ通信システム
US5586117A (en) * 1992-11-02 1996-12-17 National Semiconductor Corporation Method and apparatus which allows devices with multiple protocol capabilities to configure to a common protocol configuration
US5440613A (en) * 1992-12-30 1995-08-08 At&T Corp. Architecture for a cellular wireless telecommunication system
CA2159383C (en) * 1994-12-22 1999-01-12 Bruce Merrill Bales Automatic call back under control of a telephone terminal
US5541930A (en) 1995-01-10 1996-07-30 Klingman; Edwin E. Byte aligned communication system for transferring data from one memory to another memory over an ISDN
US5680589A (en) 1995-06-08 1997-10-21 Klingman; Edwin E. Ring communication system using ISDN
US5802057A (en) * 1995-12-01 1998-09-01 Apple Computer, Inc. Fly-by serial bus arbitration
US6006286A (en) * 1996-04-26 1999-12-21 Texas Instruments Incorporated System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions
US6058433A (en) * 1996-07-23 2000-05-02 Gateway 2000, Inc. System and method for providing increased throughput through a computer serial port to a modem communications port
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6246759B1 (en) * 1996-09-26 2001-06-12 Rockwell International Corporation Call overflow system and method for overflowing telephone calls between telephonic switches
US5999525A (en) * 1996-11-18 1999-12-07 Mci Communications Corporation Method for video telephony over a hybrid network
KR100194813B1 (ko) * 1996-12-05 1999-06-15 정선종 멀티채널/멀티캐스트 스위칭 기능을 갖는 패킷 스위칭장치 및 이를 이용한 패킷 스위칭 시스템
DE69837356T2 (de) * 1997-02-14 2007-11-29 Canon K.K. Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung
US5907678A (en) * 1997-05-07 1999-05-25 International Business Machines Corporation Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request
US6058115A (en) * 1997-08-04 2000-05-02 Motorola, Inc. Communication method and apparatus utilizing protocol options
JPH1188355A (ja) * 1997-09-09 1999-03-30 Fujitsu Ltd 伝送セルの通過制御方法および装置
USH1917H (en) * 1997-09-26 2000-11-07 Dsc/Celcore, Inc. Signal-processing module for a telecommunications switching platform
US5938735A (en) * 1997-10-21 1999-08-17 Ricoh Company, Ltd. System for establishing optimized ISDN communication by identifying common communication attributes of destination and source terminals prior to establishing communication link therebetween
US6134628A (en) * 1998-01-30 2000-10-17 Ricoh Company, Ltd. Method and computer-based system for rewriting a nonvolatile rewritable memory
US6690648B2 (en) 1998-02-24 2004-02-10 Canon Kabushiki Kaisha Data communication apparatus, method, and system utilizing reception capability information of a destination node
US20030179719A1 (en) 1998-05-22 2003-09-25 Takashi Kobayashi Method and apparatus for transmitting packets at a transfer rate that depends on a response from a destination

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002009110A1 (fr) * 2000-07-21 2002-01-31 Sony Corporation Dispositif d'enregistrement, dispositif de lecture, et systeme d'enregistrement/lecture
US7388864B2 (en) 2002-10-11 2008-06-17 Ricoh Company, Ltd. Data communication apparatus, data communication system, data communication method, data communication program and information recording medium

Also Published As

Publication number Publication date
CN1132395C (zh) 2003-12-24
JP4181688B2 (ja) 2008-11-19
MY126621A (en) 2006-10-31
CN1238625A (zh) 1999-12-15
US7123621B1 (en) 2006-10-17

Similar Documents

Publication Publication Date Title
US7590133B2 (en) Data communication system, data communication method, and data communication apparatus
EP0938218B1 (en) Data communication system, method of communicating data and data communication apparatus
EP0939529B1 (en) Destination node, data communication system, method of controlling a destination node and method of operating a data communication system
JP2000049834A (ja) デ―タ通信システム、装置及び方法並びに記憶媒体
US6363428B1 (en) Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network
KR100312276B1 (ko) 데이터 통신 시스템, 데이터 통신 방법, 데이터 통신 장치 및디지털 인터페이스
JPH10229410A (ja) データ処理装置、電子機器および通信システム
US6678769B1 (en) Control apparatus and method for managing a logical connection between source and destination nodes
JP3862371B2 (ja) 電子機器及び制御方法
JP3814407B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP3862403B2 (ja) データ通信システムおよびデータ通信装置
JP3943698B2 (ja) データ通信システム及びデータ通信装置
JP4143205B2 (ja) データ通信システム
JP3943697B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP2000253463A (ja) ネットワーク制御システム及びこのネットワーク制御システムに用いるターゲット、コントローラ、並びにコンシューマ
JPH11317755A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタ―フェイス
JPH11261608A (ja) データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP2000032005A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置、デジタルインタフェ―ス及び記憶媒体
JPH11313091A (ja) データ通信システム、装置及び方法並びに記憶媒体
JPH11355319A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタフェ―ス
JP4065466B2 (ja) データ通信システム
JPH11298509A (ja) データ通信システム、データ通信方法、データ通信装置及び記憶媒体
JP2000032010A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置、デジタルインタフェ―ス及び記憶媒体
JPH11308255A (ja) データ通信システム、方法及び装置並びに記憶媒体
JP2006311614A (ja) データ通信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080826

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080901

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees