JP2002044128A - データ転送方法 - Google Patents
データ転送方法Info
- Publication number
- JP2002044128A JP2002044128A JP2000225439A JP2000225439A JP2002044128A JP 2002044128 A JP2002044128 A JP 2002044128A JP 2000225439 A JP2000225439 A JP 2000225439A JP 2000225439 A JP2000225439 A JP 2000225439A JP 2002044128 A JP2002044128 A JP 2002044128A
- Authority
- JP
- Japan
- Prior art keywords
- size
- packet
- data
- sdu
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】
【課題】 1つのアプリケーションデータを転送する場
合に、まず、複数の第1分割パケットに分割する手段
と、第1分割パケットをさらに複数の第2分割パケット
に分割する手段を備え、第2分割パケット単位で、通信
路上を伝送する構成において、第1分割パケットのサイ
ズが第2分割パケットのサイズで割り切れない場合、ト
ータルの転送速度に不効率が生じる。これを以下の解決
手段により転送速度の効率化を図ること。 【解決手段】 ノード間におけるSDUレジスタサイズ
のネゴシエーションに手続きを追加することにより、第
1分割パケットサイズが第2分割パケットサイズで割り
切れるように設定する。
合に、まず、複数の第1分割パケットに分割する手段
と、第1分割パケットをさらに複数の第2分割パケット
に分割する手段を備え、第2分割パケット単位で、通信
路上を伝送する構成において、第1分割パケットのサイ
ズが第2分割パケットのサイズで割り切れない場合、ト
ータルの転送速度に不効率が生じる。これを以下の解決
手段により転送速度の効率化を図ること。 【解決手段】 ノード間におけるSDUレジスタサイズ
のネゴシエーションに手続きを追加することにより、第
1分割パケットサイズが第2分割パケットサイズで割り
切れるように設定する。
Description
【0001】
【発明の属する技術分野】本発明は、2つ以上の装置間
で互いにデータを送受信するデータ転送方法に係り、特
に、通信路上でデータを複数のパケットに分割して転送
する、静止画像等のデジタルデータの送受信技術に関す
るものである。
で互いにデータを送受信するデータ転送方法に係り、特
に、通信路上でデータを複数のパケットに分割して転送
する、静止画像等のデジタルデータの送受信技術に関す
るものである。
【0002】
【従来の技術】近年、IEEE1394と呼ばれるシリ
アルデータ転送プロトコルを使い、さまざまな装置間
で、データを送受信する仕組みが開発されている。
アルデータ転送プロトコルを使い、さまざまな装置間
で、データを送受信する仕組みが開発されている。
【0003】その中で、非同期通信によるファイル転送
を実現するプロトコルの一つとして、1394TA(Tr
ade Association)と呼ばれる標準化団体で制定されたD
irect Print Protocol(以下、DPPと称す)がある。
DPPを使うと、デジタルカメラ、プリンタ等の機器を
PCを通さずに直接接続して、静止画像のファイル転
送、印刷を行うことが出来る。
を実現するプロトコルの一つとして、1394TA(Tr
ade Association)と呼ばれる標準化団体で制定されたD
irect Print Protocol(以下、DPPと称す)がある。
DPPを使うと、デジタルカメラ、プリンタ等の機器を
PCを通さずに直接接続して、静止画像のファイル転
送、印刷を行うことが出来る。
【0004】ここで、DPPにおけるデータ転送方法
を、図1と図4を用いて簡単に説明する。
を、図1と図4を用いて簡単に説明する。
【0005】図4は、DPP及びIEEE1394の概
略構成図、図1はDPP及びIEEE1394の概略動
作モデル(ファイル転送の場合)である。
略構成図、図1はDPP及びIEEE1394の概略動
作モデル(ファイル転送の場合)である。
【0006】図4において、上方は上位層、下方は下位
層を示す。400は前記DPP、409はアプリケーシ
ョン層、401は、各種のコマンドセットを管理するコ
マンドセット層、402は、データ転送プロトコルを管
理するTHINプロトコル層、403は、1394通信
路上を管理する1394プロトコル層、404は、ファ
イル転送するためのコマンドセットであるFTC(File
Transfer Command set)、405は、プリンタ接続す
るためのコマンドセットであるDPC(DirectPrint Co
mmand set)、406は、アプリケーションデータの分
割、再構成を行うTHINセッション層、407は、1
394トランザクション層408との間でデータ送受信
を管理するTHINトランザクション層、408は13
94トランザクション層である。
層を示す。400は前記DPP、409はアプリケーシ
ョン層、401は、各種のコマンドセットを管理するコ
マンドセット層、402は、データ転送プロトコルを管
理するTHINプロトコル層、403は、1394通信
路上を管理する1394プロトコル層、404は、ファ
イル転送するためのコマンドセットであるFTC(File
Transfer Command set)、405は、プリンタ接続す
るためのコマンドセットであるDPC(DirectPrint Co
mmand set)、406は、アプリケーションデータの分
割、再構成を行うTHINセッション層、407は、1
394トランザクション層408との間でデータ送受信
を管理するTHINトランザクション層、408は13
94トランザクション層である。
【0007】また、図1において、101は、ファイル
データとFTCコマンドから構成されるアプリケーショ
ンデータ、102は、THINセッション層で付加され
るアプリケーションヘッダ、100は、アプリケーショ
ンデータ101とアプリケーションヘッダ102から構
成される転送データ、103はTHINプロトコルでの
転送単位となるSegment Data Unit(以下SDUと称
す)、104は各々のSDUの内容を示すセッションヘ
ッダ、105は、転送データ100を分割して格納する
セグメントデータ、106は1394トランザクション
層のデータ送信バッファ、107は相手ノードへ送信さ
れる1394パケット、108はそのヘッダ、109は
受信側ノードである。
データとFTCコマンドから構成されるアプリケーショ
ンデータ、102は、THINセッション層で付加され
るアプリケーションヘッダ、100は、アプリケーショ
ンデータ101とアプリケーションヘッダ102から構
成される転送データ、103はTHINプロトコルでの
転送単位となるSegment Data Unit(以下SDUと称
す)、104は各々のSDUの内容を示すセッションヘ
ッダ、105は、転送データ100を分割して格納する
セグメントデータ、106は1394トランザクション
層のデータ送信バッファ、107は相手ノードへ送信さ
れる1394パケット、108はそのヘッダ、109は
受信側ノードである。
【0008】上記のように構成されたDPPでファイル
転送する方法について、具体的に説明すると以下のよう
な順序になる。
転送する方法について、具体的に説明すると以下のよう
な順序になる。
【0009】(1)FTC404において、ファイルデ
ータとFTCコマンドからアプリケーションデータ10
1を構成する。
ータとFTCコマンドからアプリケーションデータ10
1を構成する。
【0010】(2)THINセッション層406におい
て、アプリケーションデータ101のサイズと送信先の
識別IDに応じた、アプリケーションヘッダ102を付
加して、転送データ100を構成する。
て、アプリケーションデータ101のサイズと送信先の
識別IDに応じた、アプリケーションヘッダ102を付
加して、転送データ100を構成する。
【0011】(3)THINセッション層406におい
て、前記転送データ100を、セグメントデータ105
に分割し、その各々にセッションIDや、データサイズ
等を含むセッションヘッダ104を付加して、THIN
プロトコルでの転送単位であるSDU103を構成す
る。
て、前記転送データ100を、セグメントデータ105
に分割し、その各々にセッションIDや、データサイズ
等を含むセッションヘッダ104を付加して、THIN
プロトコルでの転送単位であるSDU103を構成す
る。
【0012】(4)THINトランザクション層407
において、このSDUを受信側ノード109へ転送し、
終了した時点で、転送の終了を示すSDU Compを
発行する。
において、このSDUを受信側ノード109へ転送し、
終了した時点で、転送の終了を示すSDU Compを
発行する。
【0013】(5)受信側ノード109は、受信したS
DUの処理をTHINセッション層において行った上
で、次のSDUの受信許可を示すSDU Readyを
発行する。
DUの処理をTHINセッション層において行った上
で、次のSDUの受信許可を示すSDU Readyを
発行する。
【0014】(6)送信側ノードは、次のSDUの送信
を行い、終了後SDU Compを発行する。
を行い、終了後SDU Compを発行する。
【0015】(7)以下(5)、(6)の処理を繰り返
し、全てのデータを受信した時点で、受信側ノードにお
いてデータの再構築を行う。
し、全てのデータを受信した時点で、受信側ノードにお
いてデータの再構築を行う。
【0016】また、SDUの転送以降を管理するTHI
Nトランザクション層407、及び、下位層の1394
トランザクション層408の振る舞いは、以下のように
なる。
Nトランザクション層407、及び、下位層の1394
トランザクション層408の振る舞いは、以下のように
なる。
【0017】(11)THINトランザクション層40
7において、SDU103を1394トランザクション
層408におけるデータ送信バッファ106のサイズに
分割する。
7において、SDU103を1394トランザクション
層408におけるデータ送信バッファ106のサイズに
分割する。
【0018】(12)THINトランザクション層40
7における前記分割データを、1394トランザクショ
ン層408における前記データ送信バッファ106に格
納する。
7における前記分割データを、1394トランザクショ
ン層408における前記データ送信バッファ106に格
納する。
【0019】(13)1394パケット107のヘッダ
情報(108)を設定する。
情報(108)を設定する。
【0020】(14)相手ノードとのarbitration手続
き。
き。
【0021】(15)Asynchronousパケットを生成して
送信。
送信。
【0022】(16)Acknowledgeの受信。
【0023】(17)以降、SDUがなくなるまで(1
2)〜(16)を繰り返し、受信側ノード109では、
SDUの再構築を行う。
2)〜(16)を繰り返し、受信側ノード109では、
SDUの再構築を行う。
【0024】ここで、SDU103のサイズと1394
パケット107のデータ部分、つまり、データ送信バッ
ファー106のサイズの定量的関係は、従来技術では、
明確にされていない。
パケット107のデータ部分、つまり、データ送信バッ
ファー106のサイズの定量的関係は、従来技術では、
明確にされていない。
【0025】
【発明が解決しようとする課題】パケット送信を行う送
信側ノードの1394トランザクション層408におい
て、各々のパケットの送信(前記(15))とは別に、
前記(12)、(13)、(14)、(16)のような
処理が、パケットサイズに無関係に行われる。したがっ
て、SDU103のサイズがデータ送信バッファ106
のサイズで割り切れない場合、最後に余ったサイズの小
さい分割データを送るためにも、他のパケットと同様に
前記(12)、(13)、(14)、(16)の処理が
必要となり、無駄が生じる。つまり、トータルの転送速
度は、SDUサイズと1394パケットのデータ部分の
サイズとの間の関係に依存する。
信側ノードの1394トランザクション層408におい
て、各々のパケットの送信(前記(15))とは別に、
前記(12)、(13)、(14)、(16)のような
処理が、パケットサイズに無関係に行われる。したがっ
て、SDU103のサイズがデータ送信バッファ106
のサイズで割り切れない場合、最後に余ったサイズの小
さい分割データを送るためにも、他のパケットと同様に
前記(12)、(13)、(14)、(16)の処理が
必要となり、無駄が生じる。つまり、トータルの転送速
度は、SDUサイズと1394パケットのデータ部分の
サイズとの間の関係に依存する。
【0026】例えば、SDU103のサイズが64キロ
バイト+α(0<α<2キロバイト)、データ送信バッ
ファ106のサイズが2キロバイトとすると、トータル
の1394パケット数は33個となり、最後のパケット
はデータサイズ(=αバイト)が小さいにもかかわら
ず、他のパケットと同様の処理(前記(12)、(1
3)、(14)、(16))が必要となる。その結果、
トータルの転送速度に対して不効率が生じる。
バイト+α(0<α<2キロバイト)、データ送信バッ
ファ106のサイズが2キロバイトとすると、トータル
の1394パケット数は33個となり、最後のパケット
はデータサイズ(=αバイト)が小さいにもかかわら
ず、他のパケットと同様の処理(前記(12)、(1
3)、(14)、(16))が必要となる。その結果、
トータルの転送速度に対して不効率が生じる。
【0027】本発明は上記の点に鑑みなされたもので、
その目的とするところは、DPPによるデータ通信にお
いて、トータルの転送速度の効率化を図ることにある。
その目的とするところは、DPPによるデータ通信にお
いて、トータルの転送速度の効率化を図ることにある。
【0028】
【課題を解決するための手段】本発明では、上記した目
的を達成するため、1つのデータを転送する場合に、ま
ず、複数の第1分割パケット(従来例で示したSDU1
03)に分割する手段と、第1分割パケットをさらに複
数の第2分割パケットに分割する手段を備え、第2分割
パケット(データ送信バッファ106)単位で、通信路
上を伝送するシステムにおいて、第1分割パケットのサ
イズが第2分割パケットのサイズで割り切れるように定
義する。
的を達成するため、1つのデータを転送する場合に、ま
ず、複数の第1分割パケット(従来例で示したSDU1
03)に分割する手段と、第1分割パケットをさらに複
数の第2分割パケットに分割する手段を備え、第2分割
パケット(データ送信バッファ106)単位で、通信路
上を伝送するシステムにおいて、第1分割パケットのサ
イズが第2分割パケットのサイズで割り切れるように定
義する。
【0029】また、第1分割パケットのサイズが要求機
器と応答機器との調停で決定される方法において、要求
機器側では、まず要求機器が、第1分割パケットのサイ
ズを第2パケットの整数倍となるような値(A)を要求
し、応答機器が(A)より小さく第2パケットの整数倍
ではない値(B)を応答して来た場合、一旦接続を切断
し、要求側が(B)より小さく第2パケットの整数倍と
なるような値(C)を再度要求することで、確実に第1
分割パケットのサイズが第2パケットの整数倍となるよ
うに制御する。このとき、第2パケットの整数倍となる
ような値(C)は、要求機器と応答機器の双方で実現可
能な最大値となるようにする。
器と応答機器との調停で決定される方法において、要求
機器側では、まず要求機器が、第1分割パケットのサイ
ズを第2パケットの整数倍となるような値(A)を要求
し、応答機器が(A)より小さく第2パケットの整数倍
ではない値(B)を応答して来た場合、一旦接続を切断
し、要求側が(B)より小さく第2パケットの整数倍と
なるような値(C)を再度要求することで、確実に第1
分割パケットのサイズが第2パケットの整数倍となるよ
うに制御する。このとき、第2パケットの整数倍となる
ような値(C)は、要求機器と応答機器の双方で実現可
能な最大値となるようにする。
【0030】また、応答機器側では、要求機器が、第1
分割パケットのサイズを第2パケットの整数倍とならな
い値(D)を要求してきた場合、応答機器が(D)より
小さく第2パケットの整数倍となるような値(E)を応
答することで、確実に第1分割パケットのサイズが第2
パケットの整数倍となるように制御する。このとき、第
2パケットの整数倍となるような値(E)が、要求機器
と応答機器の双方で実現可能な最大値となるようにす
る。
分割パケットのサイズを第2パケットの整数倍とならな
い値(D)を要求してきた場合、応答機器が(D)より
小さく第2パケットの整数倍となるような値(E)を応
答することで、確実に第1分割パケットのサイズが第2
パケットの整数倍となるように制御する。このとき、第
2パケットの整数倍となるような値(E)が、要求機器
と応答機器の双方で実現可能な最大値となるようにす
る。
【0031】上記した手段によれば、要求機器側、応答
機器側のどちらになった場合でも、第1分割パケット
(SDU)のサイズを、第2分割パケット(データ送信
バッファ106)のサイズで割り切れるように定義でき
るため、効率的な転送を行うことができる。
機器側のどちらになった場合でも、第1分割パケット
(SDU)のサイズを、第2分割パケット(データ送信
バッファ106)のサイズで割り切れるように定義でき
るため、効率的な転送を行うことができる。
【0032】また、第1分割パケット(SDU)のサイ
ズを、要求機器と応答機器の双方で実現可能な最大値と
することで、SDUを送受信するために、必要な手続き
(例えば、従来例の(3)、(4)など)を最小限に抑
えることができるため、効率的な転送を行うことができ
る。
ズを、要求機器と応答機器の双方で実現可能な最大値と
することで、SDUを送受信するために、必要な手続き
(例えば、従来例の(3)、(4)など)を最小限に抑
えることができるため、効率的な転送を行うことができ
る。
【0033】
【発明の実施の形態】以下、本発明の実施の形態を、図
1〜図4を参照して説明する。
1〜図4を参照して説明する。
【0034】図1は、ファイル転送を行う場合のDPP
及びIEEE1394の概略動作モデルであり、送信側
ノードにおける転送ファイルデータの制御動作を表して
いる。なお、図1中の構成要素に付した符号についての
説明は、従来の技術の項で先に記述したので、その説明
は重複を避けるため省略する。
及びIEEE1394の概略動作モデルであり、送信側
ノードにおける転送ファイルデータの制御動作を表して
いる。なお、図1中の構成要素に付した符号についての
説明は、従来の技術の項で先に記述したので、その説明
は重複を避けるため省略する。
【0035】図2は、受信側ノード(図1の109に相
当)における制御動作を表している。図2において、2
01は、ファイルデータとFTCコマンドから構成され
るアプリケーションデータ、202はTHINセッショ
ン層で付加されるアプリケーションヘッダ、200は、
アプリケーションデータ201とアプリケーションヘッ
ダ202から構成される転送データ、203は、データ
受信バッファ206に格納されたデータを再構成して作
られるSDU、204は各々のSDUの内容を示すセッ
ションヘッダ、205はSDUのデータを格納するセグ
メントデータ、206は1394トランザクション層の
データ受信バッファ、207は送信側ノードから送信さ
れた1394パケット、208はそのヘッダ、209は
送信側ノードである。
当)における制御動作を表している。図2において、2
01は、ファイルデータとFTCコマンドから構成され
るアプリケーションデータ、202はTHINセッショ
ン層で付加されるアプリケーションヘッダ、200は、
アプリケーションデータ201とアプリケーションヘッ
ダ202から構成される転送データ、203は、データ
受信バッファ206に格納されたデータを再構成して作
られるSDU、204は各々のSDUの内容を示すセッ
ションヘッダ、205はSDUのデータを格納するセグ
メントデータ、206は1394トランザクション層の
データ受信バッファ、207は送信側ノードから送信さ
れた1394パケット、208はそのヘッダ、209は
送信側ノードである。
【0036】まず、全体の動作について説明する。送信
側の動作については、従来の技術の項で説明した通りで
あるため省略し、受信側の動作のみ簡単に説明する。
側の動作については、従来の技術の項で説明した通りで
あるため省略し、受信側の動作のみ簡単に説明する。
【0037】図2において、送信側ノード209から送
信された1394パケット207から、そのヘッダ20
8の内容を解析して、データ部をデータ受信バッファ2
06に格納し、さらに、データ受信バッファ206から
SDU203を再構成する。このように再構成されたS
DU203から、転送データ200を再構築し、その中
のアプリケーションヘッダ202とアプリケーションデ
ータ201からファイルデータを抽出する。
信された1394パケット207から、そのヘッダ20
8の内容を解析して、データ部をデータ受信バッファ2
06に格納し、さらに、データ受信バッファ206から
SDU203を再構成する。このように再構成されたS
DU203から、転送データ200を再構築し、その中
のアプリケーションヘッダ202とアプリケーションデ
ータ201からファイルデータを抽出する。
【0038】また、送信側と受信側でのTHINトラン
ザクション層407、及び、下位層の1394トランザ
クション層408の振る舞いは、以下のようになる。
ザクション層407、及び、下位層の1394トランザ
クション層408の振る舞いは、以下のようになる。
【0039】(1)送信側ノードは、THINトランザ
クション層407において、SDU103を、1394
トランザクション層408におけるデータ送信バッファ
106のサイズに分割する。
クション層407において、SDU103を、1394
トランザクション層408におけるデータ送信バッファ
106のサイズに分割する。
【0040】(2)THINトランザクション層407
における前記分割データを、1394トランザクション
層408における前記データ送信バッファ106に格納
する。
における前記分割データを、1394トランザクション
層408における前記データ送信バッファ106に格納
する。
【0041】(3)1394パケットのヘッダ(10
8)情報を設定する。
8)情報を設定する。
【0042】(4)相手ノード(受信側ノード109)
とのarbitration手続き。
とのarbitration手続き。
【0043】(5)Asynchronousパケットを生成して送
信。
信。
【0044】(6)受信側ノード(図2)は、送信側ノ
ード209より1394パケット207を受信して、ヘ
ッダを解析、データをデータ受信バッファ206に格
納。
ード209より1394パケット207を受信して、ヘ
ッダを解析、データをデータ受信バッファ206に格
納。
【0045】(7)受信側ノードはAcknowledgeを送信
側ノードに送信。
側ノードに送信。
【0046】(8)送信側ノードがAcknowledgeの受
信。
信。
【0047】(9)受信側ノードは、1394トランザ
クション層408におけるデータ受信バッファ206の
データをTHINトランザクション層407に送る。
クション層408におけるデータ受信バッファ206の
データをTHINトランザクション層407に送る。
【0048】(10)以降、最初の送信SDU103が
なくなるまで(2)〜(9)を繰り返し、受信側ノード
のTHINトランザクション層407では、SDUの再
構築を行う。
なくなるまで(2)〜(9)を繰り返し、受信側ノード
のTHINトランザクション層407では、SDUの再
構築を行う。
【0049】ところで、IEEE1394では、データ
の転送を行うために、IEEE1212で規定されてい
るCSR(Control and Status Register Architectur
e)のアドレス空間を利用する。THINプロトコルで
は、接続確立時に用いるConnectionレジスタ、データ転
送に用いるSDUレジスタ、データ転送の制御に用いる
SDUマネジメントレジスタという3つの領域を設けて
おり、これらのアドレス空間に対してIEEE1394
のWriteトランザクションを発行することにより動作す
る。THINプロトコルでは、接続確立時にSDUレジ
スタのベースアドレスとサイズ、およびSDUマネジメ
ントレジスタのベースアドレスを決定する、ダイナミッ
クアロケーションと呼ばれる手法を用いる。このとき、
レジスタサイズのネゴシエーションはTHINプロトコ
ルの接続手順にて、以下のように行われる。
の転送を行うために、IEEE1212で規定されてい
るCSR(Control and Status Register Architectur
e)のアドレス空間を利用する。THINプロトコルで
は、接続確立時に用いるConnectionレジスタ、データ転
送に用いるSDUレジスタ、データ転送の制御に用いる
SDUマネジメントレジスタという3つの領域を設けて
おり、これらのアドレス空間に対してIEEE1394
のWriteトランザクションを発行することにより動作す
る。THINプロトコルでは、接続確立時にSDUレジ
スタのベースアドレスとサイズ、およびSDUマネジメ
ントレジスタのベースアドレスを決定する、ダイナミッ
クアロケーションと呼ばれる手法を用いる。このとき、
レジスタサイズのネゴシエーションはTHINプロトコ
ルの接続手順にて、以下のように行われる。
【0050】以下、図3を用いてSDUレジスタのサイ
ズのネゴシエーションについて説明する。
ズのネゴシエーションについて説明する。
【0051】図3において、接続要求を発行する機器を
Initiatorノード、接続要求を受信し、応答を返送する
機器をResponderノードと記述してあり、300は、Ini
tiatorノードで確保可能なSDUレジスタB(サイズは
Size Bl)、302は、Responderノードにて確保してほ
しいSDUレジスタD(サイズはSize Dl)、301は
接続要求、303は、ネゴシエーションにより決定され
るInitiatorノードのSDUレジスタB(サイズはSize
B2)、305は、同じくネゴシエーションにより決定さ
れるResponderノードのSDUレジスタD(サイズはSiz
e D2)、304は接続応答である。
Initiatorノード、接続要求を受信し、応答を返送する
機器をResponderノードと記述してあり、300は、Ini
tiatorノードで確保可能なSDUレジスタB(サイズは
Size Bl)、302は、Responderノードにて確保してほ
しいSDUレジスタD(サイズはSize Dl)、301は
接続要求、303は、ネゴシエーションにより決定され
るInitiatorノードのSDUレジスタB(サイズはSize
B2)、305は、同じくネゴシエーションにより決定さ
れるResponderノードのSDUレジスタD(サイズはSiz
e D2)、304は接続応答である。
【0052】まず第1に、Initiatorノードは、図3の
(a)のように、Initiatorノードで確保可能なSDU
レジスタのサイズ(Size Bl)300、Responderノード
にて確保してほしいSDUレジスタのサイズ(Size D
l)302の2つの情報を含む接続要求301を発行す
る。
(a)のように、Initiatorノードで確保可能なSDU
レジスタのサイズ(Size Bl)300、Responderノード
にて確保してほしいSDUレジスタのサイズ(Size D
l)302の2つの情報を含む接続要求301を発行す
る。
【0053】第2に、図3の(b)にあるように、Resp
onderノードがその接続要求を受信し、内部処理とし
て、SDUレジスタのサイズを、接続要求時に要求され
たSizeDl以内で、Responderノードが確保できる最大の
サイズ(Size D2)305に設定し、Initiatorノードの
SDUレジスタのサイズを、接続要求時に要求されたSi
ze Bl以内で、Responderノードが送信しようとしている
SDUのサイズ(SizeB2)303に設定する。そして、
ResponderノードでのSDUの送信バッファ(Size B2)
を確保する。
onderノードがその接続要求を受信し、内部処理とし
て、SDUレジスタのサイズを、接続要求時に要求され
たSizeDl以内で、Responderノードが確保できる最大の
サイズ(Size D2)305に設定し、Initiatorノードの
SDUレジスタのサイズを、接続要求時に要求されたSi
ze Bl以内で、Responderノードが送信しようとしている
SDUのサイズ(SizeB2)303に設定する。そして、
ResponderノードでのSDUの送信バッファ(Size B2)
を確保する。
【0054】第3に、Responderノードは、図3の
(b)のように、ResponderノードのSDUレジスタの
サイズ(Size D2)、InitiatorノードのSDUレジスタ
のサイズ(Size B2)の2つの情報を含む接続応答30
4を発行する。
(b)のように、ResponderノードのSDUレジスタの
サイズ(Size D2)、InitiatorノードのSDUレジスタ
のサイズ(Size B2)の2つの情報を含む接続応答30
4を発行する。
【0055】第4に、Initiatorノードは接続応答を受
信し、内部処理として、InitiatorノードでのSDUの
送信バッファ(Size D2)を確保する。
信し、内部処理として、InitiatorノードでのSDUの
送信バッファ(Size D2)を確保する。
【0056】上記のように決定された、前記Initiator
ノードのSDUレジスタのサイズ(Size B2)、前記Res
ponderノードのSDUレジスタのサイズ(Size D2)
は、1394トランザクション層におけるデータ送信バ
ッファ106のサイズで割り切れるとは限らない。ここ
で例えば、自ノードがInitlatorノードである場合に、
接続要求としてのSDUレジスタサイズ(Size Dl)
が、1394トランザクション層におけるデータ送信バ
ッファ106のサイズで割り切れるように設定した場
合、Responderノードが確保できるSDUレジスタサイ
ズが、要求されたSize Dl以上であるときは、Size Dlが
そのまま、前記Size D2になり、前記データ送信バッフ
ァ106で割り切れるサイズのままであるが、Responde
rノードが確保できるSDUレジスタサイズが要求され
たSize Dlより小さい場合、前記Size D2として設定され
るサイズは、前記データ送信バッファ106のサイズで
割り切れるとは限らない値になってしまう。よって、こ
の場合、Initiatorノードで改めて接続要求サイズを決
定し、接続要求を再度発行するような手続きが必要にな
る。
ノードのSDUレジスタのサイズ(Size B2)、前記Res
ponderノードのSDUレジスタのサイズ(Size D2)
は、1394トランザクション層におけるデータ送信バ
ッファ106のサイズで割り切れるとは限らない。ここ
で例えば、自ノードがInitlatorノードである場合に、
接続要求としてのSDUレジスタサイズ(Size Dl)
が、1394トランザクション層におけるデータ送信バ
ッファ106のサイズで割り切れるように設定した場
合、Responderノードが確保できるSDUレジスタサイ
ズが、要求されたSize Dl以上であるときは、Size Dlが
そのまま、前記Size D2になり、前記データ送信バッフ
ァ106で割り切れるサイズのままであるが、Responde
rノードが確保できるSDUレジスタサイズが要求され
たSize Dlより小さい場合、前記Size D2として設定され
るサイズは、前記データ送信バッファ106のサイズで
割り切れるとは限らない値になってしまう。よって、こ
の場合、Initiatorノードで改めて接続要求サイズを決
定し、接続要求を再度発行するような手続きが必要にな
る。
【0057】そこで、Initiatorノード、Responderノー
ドそれぞれを、下記のように動作させる。
ドそれぞれを、下記のように動作させる。
【0058】本実施形態では、自ノードがInitiatorノ
ードである場合、どちらか一方でも割り切れない値を受
け取ると、すぐに、接続遮断要求を発行し、接続を一旦
切断する。次に、Size Blを前記Size B2と同じ又は小さ
くて、かつ、前記データ送信バッファのサイズの整数倍
で最大となる値、また、Size Dlを前記Size D2と同じ又
は小さくて、かつ、前記データ送信バッファのサイズの
整数倍で最大となる値となるように設定し、再度、接続
要求を発行する。このような設定で接続要求すると、Re
sponderノードからの接続応答に含まれるSize B2とSize
D2は、それぞれ、Size BlとSize Dlと同じ値となるた
め、確実に、SDUレジスタのサイズをデータ送信バッ
ファのサイズで割り切れる値に設定することができる。
ードである場合、どちらか一方でも割り切れない値を受
け取ると、すぐに、接続遮断要求を発行し、接続を一旦
切断する。次に、Size Blを前記Size B2と同じ又は小さ
くて、かつ、前記データ送信バッファのサイズの整数倍
で最大となる値、また、Size Dlを前記Size D2と同じ又
は小さくて、かつ、前記データ送信バッファのサイズの
整数倍で最大となる値となるように設定し、再度、接続
要求を発行する。このような設定で接続要求すると、Re
sponderノードからの接続応答に含まれるSize B2とSize
D2は、それぞれ、Size BlとSize Dlと同じ値となるた
め、確実に、SDUレジスタのサイズをデータ送信バッ
ファのサイズで割り切れる値に設定することができる。
【0059】また、自ノードがResponderノードである
場合は、Initiatorノードから設定されたSize Bl及びSi
ze Dlに対して、Size Blと同じ又は小さくて、前記デ
ータ送信バッファのサイズの整数倍で自ノードが準備で
きる最大の値をSize B2に設定し、Size Dlと同じ又は小
さくて、前記データ送信バッファのサイズの整数倍でノ
ードが準備できる最大の値をSize D2を設定し、接続応
答をすることで、確実に、SDUレジスタのサイズをデ
ータ送信バッファのサイズで割り切れる値に設定するこ
とができる。
場合は、Initiatorノードから設定されたSize Bl及びSi
ze Dlに対して、Size Blと同じ又は小さくて、前記デ
ータ送信バッファのサイズの整数倍で自ノードが準備で
きる最大の値をSize B2に設定し、Size Dlと同じ又は小
さくて、前記データ送信バッファのサイズの整数倍でノ
ードが準備できる最大の値をSize D2を設定し、接続応
答をすることで、確実に、SDUレジスタのサイズをデ
ータ送信バッファのサイズで割り切れる値に設定するこ
とができる。
【0060】以下、具体的な値を用いて説明する。ここ
では、1394トランザクションにおけるデータ送信バ
ッファのサイズを2キロバイトとする。
では、1394トランザクションにおけるデータ送信バ
ッファのサイズを2キロバイトとする。
【0061】まず、自ノードがInitiatorノードである
とき、Initiatorノード及びResponderノードのSDUレ
ジスタが確保できる最大サイズを、それぞれ64キロバ
イト、63キロバイトとする。
とき、Initiatorノード及びResponderノードのSDUレ
ジスタが確保できる最大サイズを、それぞれ64キロバ
イト、63キロバイトとする。
【0062】接続時、自ノード(Initiatorノード)か
ら要求する前記Size Bl、Size Dlを、共に64キロバイ
トとすると、Responderノードにおいて、前記SizeB 2、
SizeD2は共に、63キロバイトに設定される。このSize
B2、Size D2がInitiatorノードへ接続応答として返さ
れ、このサイズでのSDUの送受信は可能になる。しか
し、これらの値は、いずれも前記1394トランザクシ
ョン層におけるデータ送信バッファのサイズ(2キロバ
イト)では割り切れない。よって、ここでは前述のよう
に、一旦接続を遮断し、応答されたSize B2とSize D2の
値を前記2キロバイトで割り切れるように修正し、それ
らを改めてSize B1、Size Dlとして設定する。つまり
Size Blを62キロバイト、Size Dlも62キロバイトと
して設定し、再度、接続要求を発行する。それに対して
Responderノードが応答する最終的なSize B2とSize D2
は、共に62キロバイトになる。つまり、それぞれのS
DUレジスタサイズ、および、それに対応して確保され
るSDUデータ送信バッファサイズは、前記1394ト
ランザクションにおけるデータ送信バッファのサイズで
割り切れる値に設定されたことになる。
ら要求する前記Size Bl、Size Dlを、共に64キロバイ
トとすると、Responderノードにおいて、前記SizeB 2、
SizeD2は共に、63キロバイトに設定される。このSize
B2、Size D2がInitiatorノードへ接続応答として返さ
れ、このサイズでのSDUの送受信は可能になる。しか
し、これらの値は、いずれも前記1394トランザクシ
ョン層におけるデータ送信バッファのサイズ(2キロバ
イト)では割り切れない。よって、ここでは前述のよう
に、一旦接続を遮断し、応答されたSize B2とSize D2の
値を前記2キロバイトで割り切れるように修正し、それ
らを改めてSize B1、Size Dlとして設定する。つまり
Size Blを62キロバイト、Size Dlも62キロバイトと
して設定し、再度、接続要求を発行する。それに対して
Responderノードが応答する最終的なSize B2とSize D2
は、共に62キロバイトになる。つまり、それぞれのS
DUレジスタサイズ、および、それに対応して確保され
るSDUデータ送信バッファサイズは、前記1394ト
ランザクションにおけるデータ送信バッファのサイズで
割り切れる値に設定されたことになる。
【0063】一方、自ノードがResponderノードである
とき、Initiatorノード及びResponderノードのSDUレ
ジスタが確保できる最大サイズを、それぞれ、63キロ
バイト、64キロバイトとする。接続時、相手側ノード
(Initiatorノード)から要求される前記Size Bl、Size
Dlを、共に63キロバイトとすると、Responderノード
において、64キロバイト確保できる能力に対して63
キロバイトの要求であるので、前記Size B2、Size D2は
共に、63キロバイトに設定することは可能であるが、
あえて、データ送信バッファのサイズの整数倍である、
62キロバイトに設定する。このSize B2、Size D2がIn
itiatorノードヘ接続応答として返され、それぞれのS
DUレジスタサイズ、および、それに対応して確保され
るSDUデータ送信バッファサイズは、前記1394ト
ランザクションにおけるデータ送信バッファのサイズで
割り切れる値に設定されたことになる。
とき、Initiatorノード及びResponderノードのSDUレ
ジスタが確保できる最大サイズを、それぞれ、63キロ
バイト、64キロバイトとする。接続時、相手側ノード
(Initiatorノード)から要求される前記Size Bl、Size
Dlを、共に63キロバイトとすると、Responderノード
において、64キロバイト確保できる能力に対して63
キロバイトの要求であるので、前記Size B2、Size D2は
共に、63キロバイトに設定することは可能であるが、
あえて、データ送信バッファのサイズの整数倍である、
62キロバイトに設定する。このSize B2、Size D2がIn
itiatorノードヘ接続応答として返され、それぞれのS
DUレジスタサイズ、および、それに対応して確保され
るSDUデータ送信バッファサイズは、前記1394ト
ランザクションにおけるデータ送信バッファのサイズで
割り切れる値に設定されたことになる。
【0064】以上のようにSDUレジスタサイズおよび
対応する送信SDUバッファサイズを決定すれば、送信
されるSDUデータは、常に、前記1394トランザク
ション層におけるデータ送信バッファのサイズで割り切
れるので、効率のよい転送を行うことができ、転送速度
を速めることができる。
対応する送信SDUバッファサイズを決定すれば、送信
されるSDUデータは、常に、前記1394トランザク
ション層におけるデータ送信バッファのサイズで割り切
れるので、効率のよい転送を行うことができ、転送速度
を速めることができる。
【0065】
【発明の効果】以上説明したように、請求項1、請求項
2、および請求項4に記載の発明によれば、自ノードが
要求機器側、応答機器側のどちらになった場合でも、前
記第1分割パケット(SDU)のサイズを、第2分割パ
ケット(データ送信バッファ106)のサイズで割り切
れるように定義できるため、効率的な転送を行うことが
できる。
2、および請求項4に記載の発明によれば、自ノードが
要求機器側、応答機器側のどちらになった場合でも、前
記第1分割パケット(SDU)のサイズを、第2分割パ
ケット(データ送信バッファ106)のサイズで割り切
れるように定義できるため、効率的な転送を行うことが
できる。
【0066】また、請求項3、請求項5の発明によれ
ば、前記第1分割パケット(SDU)のサイズを、要求
機器と応答機器の双方で実現可能な最大値とすること
で、SDUを送受信するために、必要な手続き(例え
ば、従来の技術の(3)、(4)など)を最小限に抑え
ることができるため、効率的な転送を行うことができ
る。
ば、前記第1分割パケット(SDU)のサイズを、要求
機器と応答機器の双方で実現可能な最大値とすること
で、SDUを送受信するために、必要な手続き(例え
ば、従来の技術の(3)、(4)など)を最小限に抑え
ることができるため、効率的な転送を行うことができ
る。
【図1】ファイル転送を行う場合のDPP及びIEEE
1394の送信概略動作モデルを示す説明図である。
1394の送信概略動作モデルを示す説明図である。
【図2】ファイル転送を行う場合のDPP及びIEEE
1394の受信概略動作モデルを示す説明図である。
1394の受信概略動作モデルを示す説明図である。
【図3】接続要求時及び接続応答時のSDUレジスタの
ダイナミックレジスタアロケーションを示す説明図であ
る。
ダイナミックレジスタアロケーションを示す説明図であ
る。
【図4】DPP及びIEEE1394の概略構成を示す
説明図である。
説明図である。
100 転送データ 101 アプリケーションデータ 102 アプリケーションヘッダ 103 SDU(Segment Data Unit) 104 セッションヘッダ 105 セグメントデータ 106 1394トランザクションの送信バッファ 107 1394パケット 108 1394ヘッダ 109 受信側ノード 200 転送データ 201 アプリケーションデータ 202 アプリケーションヘッダ 203 SDU(Segment Data Unit) 204 セッションヘッダ 205 セグメントデータ 206 1394トランザクションの受信バッファ 207 1394パケット 208 1394ヘッダ 209 送信側ノード 300 SDUレジスタB(サイズはSize Bl) 301 接続要求 302 SDUレジスタD(サイズはSize Dl) 303 SDUレジスタB(サイズはSize B2) 304 接続応答 305 SDUレジスタD(サイズはSize D2) 400 DPP 401 コマンドセット群 402 THINプロトコル層 403 1394プロトコル層 404 FTC(File Transfer Command set) 405 DPC(Direct Print Command set) 406 THINセッション層 407 THINトランザクション層 408 1394トランザクション層 409 アプリケーション層
Claims (5)
- 【請求項1】 1つのデータを転送する場合に、まず、
複数の第1分割パケットに分割する手段と、前記第1分
割パケットをさらに複数の第2分割パケットに分割する
手段を備え、前記第2分割パケット単位で、通信路上を
伝送する構成において、 前記第1分割パケットのサイズが前記第2分割パケット
のサイズで割り切れるように定義することを特徴とする
データ転送方法。 - 【請求項2】 前記第1分割パケットのサイズが要求機
器と応答機器との調停で決定される方法において、要求
機器が、前記第1分割パケットのサイズを前記第2パケ
ットの整数倍となるような値(A)を要求し、応答機器
が(A)より小さく前記第2パケットの整数倍ではない
値(B)を応答して来た場合、一旦接続を切断し、要求
側が(B)より小さく第2パケットの整数倍となるよう
な値(C)を要求することで、前記第1分割パケットの
サイズが前記第2パケットの整数倍となるように制御す
ることを特徴とする請求項1に記載のデータ転送方法。 - 【請求項3】 請求項2に記載の前記第2パケットの整
数倍となるような前記した値(C)が、要求機器と応答
機器の双方で実現可能な最大値であることを特徴とする
請求項2記載のデータ転送方法。 - 【請求項4】 前記第1分割パケットのサイズが要求機
器と応答機器との調停で決定される方法において、要求
機器が、前記第1分割パケットのサイズを前記第2パケ
ットの整数倍とならない値(D)を要求してきた場合、
応答機器が(D)より小さく前記第2パケットの整数倍
となるような値(E)を応答することで、前記第1分割
パケットのサイズが前記第2パケットの整数倍となるよ
うに制御することを特徴とする請求項1に記載のデータ
転送方法。 - 【請求項5】 請求項4に記載の前記第2パケットの整
数倍となるような前記した値(E)が、要求機器と応答
機器の双方で実現可能な最大値であることを特徴とする
請求項4記載のデータ転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000225439A JP2002044128A (ja) | 2000-07-26 | 2000-07-26 | データ転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000225439A JP2002044128A (ja) | 2000-07-26 | 2000-07-26 | データ転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002044128A true JP2002044128A (ja) | 2002-02-08 |
Family
ID=18719210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000225439A Pending JP2002044128A (ja) | 2000-07-26 | 2000-07-26 | データ転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002044128A (ja) |
-
2000
- 2000-07-26 JP JP2000225439A patent/JP2002044128A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6757746B2 (en) | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory | |
EP0996069B1 (en) | Method of transferring image data using a IEEE 1394 bus | |
US9325810B2 (en) | Thin network protocol | |
US6941386B2 (en) | Protocol processing stack for use with intelligent network interface device | |
JP4477613B2 (ja) | AXIプロトコルを適用したNoCシステム | |
US7817634B2 (en) | Network with a constrained usage model supporting remote direct memory access | |
US9081905B2 (en) | Low latency interconnect bus protocol | |
WO2004040819A2 (en) | An apparatus and method for receive transport protocol termination | |
JPH10308791A (ja) | データ通信方法、データ通信装置、およびデータ通信プログラム記録媒体 | |
JP4098910B2 (ja) | パケット転送制御装置及びパケット転送方法 | |
JP2002044128A (ja) | データ転送方法 | |
JP4264924B2 (ja) | データ転送方法 | |
CN100464511C (zh) | 一种以太网通信***及方法 | |
JPH11249978A (ja) | データ転送方法および装置 | |
JP2003289315A (ja) | パケット転送装置およびパケット転送方法 | |
US20060034269A1 (en) | Action list for a split media access and control layer communications system | |
JP3678238B2 (ja) | データ転送方法 | |
JP3719253B2 (ja) | データ受信ノード | |
JP3767578B2 (ja) | データ送信ノード | |
JP3714341B2 (ja) | データ転送方法 | |
JP2002281034A (ja) | 情報転送装置 | |
JPH10164176A (ja) | 通信方法 | |
JP2003023471A (ja) | パケット送受信処理回路 | |
JP2004357250A (ja) | バスに接続されるコントローラ機器とそのデータ転送速度決定方法 |