JPH10164176A - 通信方法 - Google Patents

通信方法

Info

Publication number
JPH10164176A
JPH10164176A JP9271642A JP27164297A JPH10164176A JP H10164176 A JPH10164176 A JP H10164176A JP 9271642 A JP9271642 A JP 9271642A JP 27164297 A JP27164297 A JP 27164297A JP H10164176 A JPH10164176 A JP H10164176A
Authority
JP
Japan
Prior art keywords
request
transmission
reception
data
terminal
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
JP9271642A
Other languages
English (en)
Other versions
JP3436100B2 (ja
Inventor
Ryuichi Ono
隆一 大野
Mitsuo Asai
光男 浅井
Yoji Yamashita
洋史 山下
Yoshihiro Takiyasu
美弘 滝安
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP27164297A priority Critical patent/JP3436100B2/ja
Publication of JPH10164176A publication Critical patent/JPH10164176A/ja
Application granted granted Critical
Publication of JP3436100B2 publication Critical patent/JP3436100B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】本発明はコンピュータ通信のネットワーク使用
効率を高め、送受信要求におけるバイトストリームの制
約を軽減する方法を提供することにある。 【解決手段】アプリケーション等のソフトウェア間での
通信機能を提供するプロトコルモジュールにおいて、論
理コネクションを張り、一つの送信要求を一つの受信要
求と対応付ける。各要求を単位としてACKを送り返す
ことで無駄なACKを避け、非同期送受信の際にも送受
信を終えた要求は即座に終了させることができ、効率的
なデータ転送が可能となる。また、対応する送信要求、
受信要求間では送信要求長、受信要求長の異なる場合に
も小さい方の要求長分に関しては信頼性のある通信を行
う。さらに、同期送受信の際には送信バッファの後半部
分のみをコピーし、前半部分の受信完了時に仮ACKを
送信側に返すことで、ACKを待つ必要が無くなるた
め、効率的なデータ転送が可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータ通信に
おける通信方法に関し、特にOSI参照モデルで規定さ
れるプロトコル階層においてトランスポート層及びネッ
トワーク層に好適な通信方法に関する。
【0002】
【従来の技術】ネットワークを介して文字情報から画像
情報まで様々な種類のデータがコンピュータ間でやり取
りされている。これらのコンピュータ間通信においては
物理的な伝送路としては従来10Mbps以下の比較的
低速なネットワークが用いられてきたが、近年、ATM
(Asynchronous Transfer Mo
de)のように100Mbpsから1Gbpsにも及ぶ
高速なネットワークが用いられるようになってきた。
このような物理的な伝送路の高速化に伴い、各コンピュ
ータ上でのプロトコル処理の際のデータコピー、割り込
み処理などのオーバヘッドが伝送路の帯域を使い切るた
めのボトルネックとなってきている。
【0003】トランスポート層の代表的なプロトコルと
してTCP(Transmission Contro
l Protocol)がある。このプロトコルは、
“INTERNETWORKING WITH TCP
/IP”(D.Comer著、Prentice−Ha
ll International、 Inc.、19
88)pp.129−151に具体的に記載されてい
る。TCPは信頼性のあるコネクション指向のストリー
ム型プロトコルであり、2つのコンピュータ間に張られ
た論理的なコネクション上を流れる各バイト単位にシー
ケンシャルに順序番号を与えることで全ての送信データ
が順序通り、誤り無く受信されることを保証している。
TCPでは上位層からの送出要求時に渡されたデータは
パケット紛失時の再送に備えてTCP内のバッファに一
旦コピーされる。上位層からの送信要求はこのコピーが
終了した時点で成功する。
【0004】この送出要求時に渡されたデータはデータ
長が最大転送長(MTU)よりも大きい場合、MTU毎
に複数のパケットに分割され、このパケットごとにタイ
マがセットされる。パケットが正しく受信されると受信
側から送信側にバイトストリーム中でどこまでのバイト
を全て正しく受け取ったかを示す位置を含む確認応答
(ACK)が返り、送信側ではACK中の情報に従って
TCP内の送信バッファの対応部分を解放する。また、
受信側では受け取ったデータを上位層からの受信要求が
来るまでTCP内のバッファに保持する。図2にTCP
の送受信時のパケットのやりとりを示す。図2において
送信側は図4においてコンピュータ400を送信側コン
ピュータ、コンピュータ460を受信側コンピュータと
した場合の中位プロトコルモジュール404に相当し、
図2の受信側は同様に受信側コンピュータ460中の中
位プロトコルモジュール464に相当する。また、図2
においてSEQ=9は図4中の送信側中位プロトコルモ
ジュール404から受信側中位プロトコルモジュール4
64への送受信バイトストリーム空間において9バイト
目からのデータを送信側から受信側に受け渡すことを示
す。また、ACK=21は送受信バイトストリーム空間
において20バイト目までのデータが受信されたことを
示す確認応答に相当する。図2ではまず順序番号9〜2
0に相当する12バイトのデータパケット(SEQ=
9)が送信側から受信側に向けて送信され、同時に送信
側ではパケット紛失に備えてタイマをセットする。受信
側ではこのデータパケットを受け取ると同時に順序番号
21よりも前のパケットは受け取ったという情報を含む
確認応答(ACK=21)を送信側に送り返す。以下同
様に、順序番号21〜34、35〜38に相当するデー
タが送信され、受信確認が返送される。ここで、順序番
号39〜48に相当するデータが送信中に失われるとそ
の送信時にセットされたタイマがタイムアウトを起こし
た時点で順序番号39以降のデータが再送される。
【0005】
【発明が解決しようとする課題】かかる従来の方法にお
いては、次のような問題がある。
【0006】すなわち、TCPにおいては送信要求時に
上位層から渡されたデータを必ず一度コピーする必要が
あり、動画転送などの高速通信を行う際にはかなり大き
なオーバヘッドとなる。そこで、この送出時コピーを避
け、かつ信頼性のある通信を行おうとする場合、上位層
から渡されたデータバッファをそのままパケット紛失時
の再送に備えて保持する必要がある。このデータバッフ
ァはACKにより全てのデータが正しく受信されたこと
が確認できるまでトランスポート層中に保持する必要が
ある。この場合、TCPのようにパケット毎にACKが
返ってもトランスポート層内の送信用バッファを解放す
ることはできず、送信要求時に渡されたデータが全て正
しく受信されたことを確認できた時点ではじめて送信用
バッファが不要になる。つまり、TCPのようなパケッ
トごとのACKは無駄になる。
【0007】また、送出時コピーをせずに非同期送信を
行う場合、TCPのようなストリームベースのやり方で
はバイトストリーム中でどこまでのバイトを全て正しく
受け取ったかを示す位置よりも前に行われた送信要求は
成功し、終了するが、その位置よりも後に行われた送信
要求でその要求時に渡されたデータに関しては正しく受
信されていてもその送信要求を終了させることができな
い。非同期受信の際にも同様に、ある受信要求に関して
そのデータは全て正しく受信されたにもかかわらず終了
させることができないといったことが起こりうる。図3
に非同期送受信時の送受信要求と送受信バイトストリー
ムの関係を示す。図3において送信要求は図4において
コンピュータ400を送信側コンピュータ、コンピュー
タ460を受信側コンピュータとした場合に中位プロト
コルモジュール404がアプリケーション又は上位プロ
トコルモジュール402から受け取る各送信要求に相当
し、受信要求は受信側中位プロトコルモジュール464
がアプリケーション又は上位プロトコルモジュール46
2から受け取る各受信要求に相当する。また、送信バイ
トストリームは中位プロトコルモジュール404が下位
プロトコルモジュール406に対してデータを送信する
場合に送信バイト空間上で送信データが占めるバイト位
置を示し、受信バイトストリームは中位プロトコルモジ
ュール464が下位プロトコルモジュール466からデ
ータを受信する場合に受信バイト空間上で受信データが
占めるバイト位置を示す。図3においてバイトストリー
ム上で320、324に相当する部分は送受信が完了し
ているものとすると送受信要求#6、#7は終了させる
ことができる。ここでバイトストリーム上で326に相
当する部分が受信されていないとすると、TCPの場
合、それよりも後の328に相当する部分が受信されて
いてもその部分に対応する送受信要求を終了させること
はできない。
【0008】また、TCPにおいては受信要求が来るま
で受け取ったデータをTCP内のバッファに保持する必
要があるが、動画転送などの高速通信を行う際にはこの
受信データを保持するためにかなり大きなバッファが必
要となる。
【0009】また、TCPのようなストリーム型のプロ
トコルではバイト単位で送受信データの位置を合わせる
ため、1バイトでも送受信位置がずれることは許され
ず、20バイトの送信要求に対して最初の5バイトのみ
を受信したいとか、10バイト〜30バイトまでのいず
れの値を取るか分からない送信要求に対して30バイト
の受信要求で受信を行う、などといった送信要求の長さ
と受信要求の長さの異なる場合には対応できない。
【0010】また、送信側でコピーせずに同期送信を行
う場合には、送信要求中のすべてのデータを送り終わっ
てからACKが返ってくるまでの間、次のデータを送る
ことができない。
【0011】このように従来の方法では、動画転送など
の高速通信を行う場合に高速かつCPU使用率の低い効
率的な通信ができないという問題と、送受信間でバイト
位置をきちんと合わせる必要があるという問題があっ
た。
【0012】本発明の目的は、動画転送などの高速通信
においても高速かつCPU使用率の低い効率的なデータ
の送受信を可能にする通信方法を提供することにある。
【0013】本発明の他の目的は、要求データ長の異な
る送信要求と受信要求のペア間での通信方法を提供する
ことにある。
【0014】
【課題を解決するための手段】本発明は、送信端末と受
信端末との間で論理コネクションを張り、上記送信端末
では上記論理コネクションに対し送信要求を発行し、上
記受信端末では上記論理コネクションに対し受信要求を
発行することによりネットワークを介してデータ転送を
行う通信システムにおける通信方法に関するものであ
る。
【0015】本通信方法においては、受信要求と送信要
求を対応付けるために識別子を上記受信要求及び上記送
信要求に付加する。
【0016】ここで、本通信方法においては、受信要求
と対応する送信要求と同じ識別子を上記受信要求に付加
する。つまり、送信要求と対応する受信要求と同じ識別
子を上記送信要求に付加する。
【0017】このようにすることで、論理コネクション
の送信端末側と受信端末側で同じ識別子を持つ送信要求
と受信要求がペアとなり、このペア間でデータのやり取
りを行う。
【0018】この識別子としては、例えば、論理コネク
ションを張る際にコネクションの両端で同じ値に初期化
され、各送信要求時、受信要求時毎にインクリメントさ
れ、これらの要求番号が「コネクションの両端で同じ値
を取る上限値」を超えた場合には0に戻される整数値を
想定できる。以下、この整数値のことを要求番号と呼
び、識別子としてこのような整数値をとる場合について
述べる。
【0019】これらの要求番号は各送信要求時、受信要
求時に更新される前、及び、更新された後のいずれかの
時点で各送信要求、受信要求に与えられる。送受信はコ
ネクションの両端で送信要求番号と受信要求番号が等し
い要求の間で行われる。送信側では送信要求により渡さ
れたデータが最大転送長(MTU)ごとに分割されて送
信される。受信側では各受信要求ごとにどの部分が受信
されたかを示すデータ構造を持ち、このデータ構造を用
いて同じ要求番号を持つペアー間でのデータ受信の終了
を判断し、受信終了時にACKを送り返す。送信側でコ
ピーを行わない場合には、各分割単位ごとにACKを送
り返しても送信側のバッファを開放できず、無駄となる
が、このように、各要求を単位としてACKを送り返せ
ば、このような無駄なACKを避けることができる。ま
た、非同期送受信の際には要求が行われた順番に関係な
く送受信を終えた要求は即座に終了させることができ
る。このような特徴により、本通信方法では高速かつC
PU使用率の低い効率的なデータ転送が可能となる。
【0020】また、受信要求により受信バッファが渡さ
れる前に対応する送信要求によるデータが到着した場
合、そのデータは捨てられるが、受信側が持つ何番目の
送信要求まで到着したかを示すデータ構造にこの送信要
求番号がセットされる。後でその受信要求が実際に行わ
れた時にはこのデータ構造により既に対応する送信要求
が行われていることがわかるため、送信側に対して再送
要求(NACK)を返送することで即座にデータの再送
を行う。このように、受信要求される前に対応する送信
要求データが到着した場合、そのデータを保持せずに、
後に実際に受信要求が行われたときに再送してもらうこ
とで動画転送などの高速通信においてもトランスポート
層内部に大きなバッファを持つ必要を無くすことができ
る。
【0021】さらに、送信パケット中にリクエスト中の
最後のパケットであることを示すフィールドを設け、送
信要求の要求データ長が対応する受信要求の要求データ
長よりも小さい場合にはこのフィールドを用いて送信要
求データの終りを受信側に知らせ、送信要求の要求デー
タ長分のデータについては信頼性のある通信を行う。ま
た、送信要求の要求データ長が対応する受信要求の要求
データ長よりも大きい場合には受信要求データ長分のデ
ータについては信頼性のある通信を行う。この場合、A
CK中に実際に受信されたデータ長を入れるフィールド
を設け、そのフィールドにより送信側も実際に送られた
データ長を知ることができる。このように、対応する送
信要求、受信要求間では送信要求長、受信要求長の異な
る場合にも小さい方の要求長に相当するデータ分に関し
ては信頼性のある通信が行われるため、20バイトの送
信要求に対して最初の5バイトのみを受信することや、
10バイト〜30バイトまでのいずれの値を取るか分か
らない送信要求に対して30バイトの受信要求で受信を
行うことなども可能となる。
【0022】また、同期送受信の場合には送信要求中の
送信バッファ中の後半部分のデータを送信端末上のバッ
ファにコピーして保持する。送信パケット中に仮ACK
要求を行うことを示すフィールドを設け、コピーしない
部分の最後のパケットを送出する際にこのフィールドを
セットする。受信側では仮ACK要求を行うことを示す
フィールドがセットされたパケットを受信した際にその
パケット以前のすべてのパケットを既に受信していれば
仮ACKを返送する。送信側ではこの仮ACK受信時に
論理コネクションに対する次の送信要求を行うことがで
きる。さらに、ACK受信時に上記送信端末上のコピー
データ保持用バッファを開放する。
【0023】このように、同期送受信の場合には送信要
求中の送信バッファ中の後半部分のデータを送信端末上
のバッファにコピーして保持することでACKを待つこ
と無く次々と送信要求を発行できる。また、このコピー
部分の大きさはパケットのラウンドトリップ時間に相当
する大きさよりも大きくしてもACK待ち時間の削減に
は効果が無い。そこで、上記ラウンドトリップ時間に相
当する大きさをコピー部分の大きさとすると、この大き
さは送信要求中の送信バッファサイズに依存しない値と
なるため、送信バッファサイズを十分`大きくとればコ
ピー部分の比率を低く抑えることができる。従って、本
通信方法により、高速かつCPU使用率の低い効率の良
いデータ転送が可能となる。
【0024】また、この場合にも仮ACK中に受信要求
中で指定されたデータ長を入れることで、対応する送信
要求、受信要求間で送信要求長、受信要求長の異なる場
合にも小さいほうの要求長分に関しては信頼性のある通
信を行うことができる。
【0025】
【発明の実施の形態】以下、本発明の実施の形態を詳細
に説明する。
【0026】まず、第1の実施の形態を示す。第1の実
施の形態の目的は送信側でコピーを行わない場合に高速
かつCPU使用率の低い効率的なデータの送受信を可能
にすること、及び、要求データ長の異なる送信要求と受
信要求のペア間での通信方法を提供することにある。
【0027】図1は、第1の実施の形態の処理手順を示
すフローチャートであり、図4は、本発明に係るシステ
ム構成、及び、プロトコルモジュール階層を示すブロッ
ク図である。図8は図4の中位プロトコルモジュールの
ブロック図であり、図5、図6、図7はそれぞれ中位プ
ロトコルモジュールにおける送受信要求を格納するデー
タ構造、データパケットフォーマット、受信確認パケッ
トフォーマットを示す。
【0028】図4において、コンピュータ400、46
0はネットワーク430を介して接続されている。ここ
でネットワーク430はATMスイッチ、ルータなどの
接続装置も含む。
【0029】コンピュータ400、460はディスプレ
イ418、478、キーボード416、476、CPU
414,474、磁気ディスク412、472、ネット
ワークカード408、468、主メモリ410,470
から構成される。ディスプレイ418、478、キーボ
ード416、476、磁気ディスク412、472、ネ
ットワークカード408、468、主メモリ410,4
70はCPU414,474よりバスを介してアクセス
される。主メモリ410、470には下位プロトコルモ
ジュール406、466、中位プロトコルモジュール4
04、464、アプリケーション又は上位プロトコルモ
ジュール402、462がロードされ、ワークエリア4
07、467が確保される。
【0030】ネットワークインタフェースカード40
8、468はATMカードのようなネットワークインタ
フェース用のハードウェアに相当する。ただし、ネット
ワークインタフェースカード408、468に相当する
機能の一部もしくは全部はコンピュータ400、460
中ではなく、コンピュータ400、460に付属する装
置としてネットワーク430中におかれるような構成を
取ることも可能である。また、ネットワークインタフェ
ースカード408、468中で下位プロトコルモジュー
ル406,466、及び、中位プロトコルモジュール4
04,464に相当する機能の一部をハードウェアとし
て実現する場合もある。
【0031】下位プロトコルモジュール406、466
はOSI参照モデルで規定されるプロトコル階層におい
て主に物理層、データリンク層、ネットワーク層に相当
するプロトコルモジュールであり、2つのコンピュータ
間でのデータ伝送を行うための機能を提供する。中位プ
ロトコルモジュール404、464は下位プロトコルモ
ジュール406、466に対して受信側のコンピュータ
の識別子(IPアドレス、MACアドレス等)又はAT
Mのようにコネクションが張られる場合にはその識別子
(VPI/VCI番号等)を指定することでデータの宛
先等を指定し、さらに送受信用バッファ、バッファ長な
どを指定することで送受信されるデータの格納場所を指
定する。
【0032】中位プロトコルモジュール404、464
はOSI参照モデルで規定されるプロトコル階層におい
て主にトランスポート層、ネットワーク層に相当するプ
ロトコルモジュールであり、下位プロトコルモジュール
406、466の機能を利用して2つのコンピュータ上
のアプリケーション等のソフトウェアモジュール間の通
信を行うための機能を提供する。アプリケーション又は
上位プロトコルモジュール402、462は中位プロト
コルモジュール404、464に対して受信側のコンピ
ュータの識別子及び受信側のコンピュータ上での受信相
手を識別するための識別子(TCPやUDPのポート番
号等)、または、これらの識別子からコネクションを張
る際などに得られるコネクション識別子を指定すること
で論理コネクションの接続、データの宛先の指定等を行
い、さらに送受信用バッファ、バッファ長などを指定す
ることで送受信されるデータの格納場所を指定する。
【0033】アプリケーション又は上位プロトコルモジ
ュール402、462は中位プロトコルモジュール40
4、464の上位に位置するモジュールである。
【0034】ワークエリア407、467はモジュール
間でのデータのやりとりの際に使用されるメモリ領域で
ある。
【0035】図5において、コネクションデータ構造5
00は中位プロトコルモジュール404、464中に存
在する。コネクションデータ構造500は論理コネクシ
ョンを張る際に各コネクションごとに割り当てられるデ
ータ構造であり、送信キュー502はアプリケーション
又は上位プロトコルモジュール402、462からの送
信要求の際に使用されるデータ構造を格納するためのキ
ュー、受信キュー504はアプリケーション又は上位プ
ロトコルモジュール402、462からの受信要求の際
に使用されるデータ構造を格納するためのキューであ
る。また、送信要求データ構造は送信要求番号、送信要
求データ長、送信要求用バッファなどからなり、受信要
求データ構造は受信要求番号、受信要求データ長、受信
要求用バッファ、受信要求用バッファ中で実際に受信し
たデータ部分を示すリストなどからなる。送信キュー5
02中の送信要求の内、Ack待ちの送信要求は既に送
信を終え、確認応答待ち状態の送信要求であり、送信中
の送信要求は現在送信中の送信要求を示す。また、送信
待ちの送信要求はまだ送信されずに送信待ち状態にある
送信要求を示す。受信キュー504中の受信要求は全
て、受信要求されたがまだ受信を完了していない受信要
求を示す。
【0036】図6は図4の中位プロトコルモジュール4
04、464間で受け渡されるデータパケットのフォー
マットを示す。コネクション識別子600は中位プロト
コルモジュール404、464においてコネクションを
張る際に各コネクションを識別するために割り当てられ
る識別子であり、要求番号602はこのデータパケット
がどの送信要求データ構造に属するかを示す。オフセッ
ト604はこのデータパケットが属する送信要求中のど
の位置からのデータを含んでいるかを示す。オフセット
604はバイト単位で指定してもよいが、最大転送長
(MTU)がコネクションの両端で予め合意されている
場合には送信要求はMTU単位に分割されるため送信要
求中で何個目の分割単位(UNIT)かを示すUNIT
単位での番号を指定してもよい。パケット長606はこ
のパケットのバイト単位の長さを示す。Last Pa
cket Flagはこのデータパケットが送信要求の
最後のデータを含むパケットである場合にセットされる
フラグであり、受信側はこのフラグがセットされたパケ
ットを受信した際に送信要求の長さを知ることができ、
送信要求長の方が要求長よりも短い場合には送信要求長
分のデータを受け取った際にACKを返し受信要求を終
了する。
【0037】図6のデータパケットフォーマットの具体
例を次に示す。コネクション識別子600はTCPやU
DPにおけるポート番号と同様に、60番などといった
番号を割り振る。要求番号602は送信要求が発行され
た際に割り当てられる各要求に固有の番号であり、16
ビットなら0〜65535までの間の適当な値を取る。
例えば、8などといった値が割り当てられる。オフセッ
ト604はUNIT単位での番号で示す場合、3UNI
T目などといったように、各分割単位に対して0から順
番にUNIT番号が振られていく。パケット長606は
512バイトなどといった値で指定される。Last
Packet Flagは通常0か1のどちらかの値を
取る。
【0038】図7は図4の中位プロトコルモジュール4
04、464間で受け渡される受信確認パケットのフォ
ーマットを示す。コネクション識別子700は中位プロ
トコルモジュール404、464においてコネクション
を張る際に各コネクションごとに割り当てられるデータ
構造であり、要求番号702はこの受信確認パケットが
どの送信要求に対する確認応答(ACK)であるかを示
す。受信長704は受信要求が実際に受信したデータ長
を示す。受信長704により送信側は受信要求長が送信
要求長よりも短い場合にも実際に送信されたデータ長を
送信要求終了時にアプリケーション又は上位プロトコル
モジュール402、462に知らせることができる。
【0039】図7の受信確認パケットフォーマットの具
体例を次に示す。コネクション識別子700はTCPや
UDPにおけるポート番号と同様に、60番などといっ
た番号を割り振る。要求番号702はこの受信確認パケ
ットにより受信が確認される送信要求、受信要求のペア
の要求番号であり、8などといった値が割り当てられ
る。受信長704は受信要求が実際に受信したデータ長
であり、3584バイトなどといった値で指定される。
【0040】次に、図1のフローチャートに基いて図
4、図5、図6、図7の各部の動作を説明する。
【0041】まず、アプリケーション又は上位プロトコ
ルモジュール402、462が送信要求又は受信要求を
中位プロトコルモジュール404、464に対して行う
(ステップ100)と、送信要求の場合は送信要求デー
タ構造を作成(ステップ104)し、送信キュー502
に送信要求データ構造が挿入(ステップ106)され、
受信要求の場合は受信要求データ構造を作成(ステップ
130)し、受信キュー504に受信要求データ構造が
挿入(ステップ132)される。
【0042】この際に、各送信要求、受信要求に送信要
求番号、受信要求番号が付加される。ただし、送信要求
番号、受信要求番号はコネクションの開設時にコネクシ
ョンの両端で各方向ごとに同じ値に初期化され、各送信
要求、受信要求の度にそれらの要求番号がインクリメン
トされて各要求に与えられる。つまり、コネクション上
の一つのコンピュータ上で一度目に出された受信要求の
受信要求番号はもう一方のコンピュータ上で一度目に出
された送信要求の送信要求番号と同じ値となり、2度
目、3度目にコネクションの両端のコンピュータで出さ
れた送信要求と受信要求に関しても同様に同じ値を取る
ため、コネクション上で対応する送信要求と受信要求の
ペアが決まり、その間でデータのやりとりを行うことに
なる。ここで、要求番号をインクリメントするのは各送
信要求、受信要求の度としたが、各送信要求完了時、受
信要求完了時にインクリメントしてもよい。また、要求
番号を際限なく大きくすることはできないため、その上
限値を設け、要求番号がその上限値を超えた場合には0
に戻すこととする。もちろんこの上限値は送信要求と受
信要求で同じ値を取る必要がある。
【0043】送信要求の場合、以前に送信キューに挿入
された送信要求が全て送出を終えるまで待ち(ステップ
108)、以前に送信キューに挿入された送信要求が全
て送出を終えた時点で送出処理が行われ、タイマがセッ
トされる(ステップ110)。送出処理において送信要
求時に渡されたデータは最大転送長(MTU)よりも大
きい場合、複数のパケットに分割して送出される。送信
要求データの送出後、この送信要求に対するNACKパ
ケットを受信した場合(ステップ112)、NACK受
信時の処理(ステップ118)としてNACKパケット
により再送するように要求された送信要求データの一部
を再送する(ステップ114)。また、タイムアウトが
発生した(ステップ116)場合、タイムアウト時の処
理としてACK要求パケットを送信し、タイマの再設定
を行う(ステップ118)。この送信要求に対するAC
Kパケットを受信した場合(ステップ120)、送信キ
ューからこの送信要求を取り出し(ステップ122)、
アプリケーションまたは上位プロトコルモジュール40
2、460に送信要求の完了を通知する。また、この際
に実際に受信側のコンピュータで受け取った受信長も同
時に知らせる。
【0044】受信要求の場合、この受信要求に対して既
に送信データが到着しているかどうかチェック(ステッ
プ134)し、既に受け取っていた場合、NACKパケ
ットを送信することで再送を促す(ステップ136)。
受信したデータパケットはパケットヘッダのオフセット
とパケット長に従い受信データ用バッファの適当な位置
にそのデータを受け取る。ネットワーク430としてA
TMのようにネットワーク上でのパケットの追い越しが
無いものを用いる場合、次に来るはずのパケットを予測
でき、予測よりも先のデータを持つパケットが到着した
場合にはそのパケットは失われたものと考えることがで
きるため(ステップ138)、そのような場合にはNA
CKパケットを送信することで失われたと考えられる部
分のデータの再送を要求できる(ステップ140)。デ
ータパケット又はACK要求を受信した際には、対応す
る受信要求が、受信要求長と送信側がLast Pac
ket Flagをセットすることで知らせてきた送信
要求長の小さい方の長さ分のデータを全て受け取ったか
どうかチェックされる(ステップ142、146)。こ
のチェックにより受信要求の完了が確認できた場合、A
CKパケットが送信側に向けて送出され(ステップ15
0)、受信キューからこの受信要求を取り出し(ステッ
プ152)、アプリケーションまたは上位プロトコルモ
ジュール402、462に受信要求の完了を通知する。
また、この際に実際に受信側のコンピュータで受け取っ
た受信長も同時に知らせる。ACK要求を受け取った際
に受信要求が完了していなければ、未到着のデータ部分
を知らせるために送信側に対してNACKが送信され
る。
【0045】このように受信要求の完了が確認できた場
合のみACKを送出することで、無駄なACKを省いて
いる。
【0046】送信要求または受信要求は送信キューまた
は受信キューから取り出されるとそのデータ構造は解放
される(ステップ154)。
【0047】以上説明した処理の流れを、さらに具体例
を用いて説明する。本例では要求番号8を持つ送信要求
と受信要求のペア間でのデータ送受信について処理の流
れを示す。
【0048】まず、送信側では3584バイトのデータ
を送信するとする。最大転送長(MTU)を1024バ
イトとすると、送信要求時に渡されたデータは最大転送
長よりも大きいため、4つのパケットに分割して次々と
送出される。図5のデータパケットはこの際に送出され
る4番目のデータパケットを示している。ここで、1番
目、2番目、3番目のデータパケットに関してはパケッ
ト長1024バイト、Last Packet Fla
gは0となる。4番目のデータパケットが最後のパケッ
トとなるため、残りのパケット長である512バイトが
パケット長となり、Last Packet Flag
は1となる。コネクション識別子、要求番号などのフィ
ールドは4つのデータパケットとも全て同じ値を取る。
オフセットは4番目のパケットであるため、3UNIT
分のオフセットが必要となる。
【0049】次に、受信側でも3584バイトの受信要
求長で受信要求が行われるものとする。送信側から送出
されたデータパケットはデータパケットヘッダ中のコネ
クション識別子60番、コネクション上の要求番号8に
より受信要求を識別し、さらにオフセット、パケット長
により受信要求中の受信データ用バッファの適切な位置
にデータがコピーされる。例えば、図5に示した4番目
のデータパケットはオフセットが3であるため、受信デ
ータ用バッファ上の3072バイト目から512バイト
の位置にコピーされる。全てのデータを受信した際には
受信確認パケットが送信側に向けて送出される。図7の
受信確認パケットはこの際に送信側に向けて送出される
受信確認パケットを示している。受信側では全てのデー
タを受信した時点で、送信側では受信確認パケットを受
信した時点で処理を完了することができる。
【0050】第1の実施の形態の効果としては、送信要
求と受信要求のペア間で送受信制御を行うことで送信側
でコピーを行う場合の無駄なACKを省くことができ、
また、非同期送受信時には要求順序に関係無く送受信要
求を終わらせることができるため、高速かつCPU使用
率の低い効率的なデータ送受信が可能となる。
【0051】また、要求データ長の異なる送信要求と受
信要求のペア間では小さい方の要求データ長分に関して
は信頼性のある送受信を保証するため、例えば、予め送
信要求データ長が分かっていない場合には大き目のデー
タ長で受信要求をすることで対応するなどといったこと
も可能となる。
【0052】次に、第2の実施の形態を示す。第2の実
施の形態の目的は第1の実施の形態の目的に加え、同期
送受信の場合にも高速かつCPU使用率の低い効率的な
データの送受信を可能にすることである。
【0053】図9は、第2の実施の形態を示すフローチ
ャートであり、図10は図9中で仮ACKに係る処理の
流れを抽出した送受信処理の流れである。また、図5、
図11、図12はそれぞれ中位プロトコルモジュールに
おける送受信要求を格納するデータ構造、データパケッ
トフォーマット、受信確認パケットフォーマットを示
す。
【0054】図5は第1の実施例の場合と同様、コネク
ションデータ構造を示す。ただし、同期送受信の場合、
各送受信キュー中にはそれぞれ一つ以下の送信中の送信
要求、データ待ちの受信要求しか同時に存在し得ない。
【0055】図11は図6のデータパケットのフォーマ
ットに仮ACK要求Flag1150が追加されたもの
である。仮ACK要求Flagはこのデータパケットが
受信側に対して仮ACK要求を行う場合にセットされる
フラグである。具体的な値としては通常0か1のどちら
かの値を取る。
【0056】図12は図4の中位プロトコルモジュール
404、464間で受け渡される仮ACKパケットのフ
ォーマットを示す。コネクション識別子1200は中位
プロトコルモジュール404、464においてコネクシ
ョンを張る際に各コネクションごとに割り当てられるデ
ータ構造であり、要求番号1202はこの仮ACKパケ
ットがどの送信要求に対する仮ACKであるかを示す。
受信要求長1204は受信要求中で指定された受信デー
タ長を示す。受信要求長1204により送信側は受信要
求長が送信要求長よりも短い場合にも実際に送信される
データ長を送信要求終了時にアプリケーション又は上位
プロトコルモジュール402、462に知らせることが
できる。
【0057】図12の仮ACKパケットフォーマットの
具体例を次に示す。コネクション識別子1200はTC
PやUDPにおけるポート番号と同様に、60番などと
いった番号を割り振る。要求番号1202はこの仮AC
Kパケットにより送信バッファのコピーされない部分の
受信が確認される送信要求、受信要求のペアの要求番号
であり、8などといった値が割り当てられる。受信要求
長1204は受信要求中で指定された受信データ長であ
り、3584バイトなどといった値で指定される。
【0058】次に、図9のフローチャート、及び、図1
0の処理の流れを示す図に基いて同期送受信の場合の追
加事項の動作を説明する。
【0059】まず、ステップ1020では、送信側でア
プリケーション又は上位プロトコルモジュール402、
462から送信要求1が中位プロトコルモジュール40
4、464に対して発行される。送信要求1中の送信バ
ッファの前半部(コピーされない部分)は最大転送長で
分割され、次々と送り出される。ステップ1022で
は、コピーされない部分の最後のパケットを送出するた
め、図11中の仮ACK要求Flag1150がセット
される。これと同時にステップ1024では、送信バッ
ファの後半部を中位プロトコルモジュール中のバッファ
にコピーし、それ以降の送出はこの中位プロトコルモジ
ュール中のバッファから行う。受信側で仮ACK要求フ
ラグがセットされたパケットを受信した際には、そのパ
ケット以前のすべてのパケットを既に受信しているか検
査し、受信していた場合、ステップ1026に示したよ
うに仮ACKパケットを送信側に返送する。また、この
際に仮ACKパケットの受信要求長1204に受信要求
で指定された受信長を入れる。この処理は図9のフロー
チャートではステップ980、982に相当する。送信
側でこの仮ACKパケットを受信した際にはコピーしな
い部分はすべて受信されていることがわかるため、上位
プロトコルモジュールから渡されたバッファは必要なく
なる。そこで、ステップ1028ではアプリケーション
又は上位プロトコルモジュール404、464に対して
送信終了を通知する。また、この際に仮ACKパケット
中で指定される受信要求長1204が送信要求長よりも
小さい場合、この受信要求長1204を実際に送受信さ
れるデータ長として同時に通知する。この処理は図9の
フローチャートではステップ970、972に相当す
る。ステップ1030では、この時点で、アプリケーシ
ョン又は上位プロトコルモジュール404、464が次
の送信要求2を中位プロトコルモジュール404、46
4に対して発行している。また、ステップ1052で
は、送信側の中位プロトコルモジュール中のバッファを
対応する送信要求に対するACKパケットを受信した際
に解放している。
【0060】このように、同期送受信の場合に送信バッ
ファの後半部分のみをコピーすることでACKを待つこ
となく次の送信要求を行うことができるため、高速かつ
CPU使用率の低い効率的なデータ送受信が可能とな
る。
【0061】以上説明した処理の流れを、さらに具体例
を用いて説明する。本例では要求番号8を持つ送信要求
と受信要求のペア間でのデータ送受信について処理の流
れを示す。
【0062】まず、送信側では3584バイトのデータ
を送信するとする。最大転送長(MTU)を1024バ
イトとすると、送信要求時に渡されたデータは最大転送
長よりも大きいため、4つのパケットに分割して次々と
送出される。図11のデータパケットはこの際に送出さ
れる4番目のデータパケットを示している。ここで、1
番目、2番目、3番目のデータパケットに関してはパケ
ット長1024バイト、Last Packet Fl
agは0となる。4番目のデータパケットが最後のパケ
ットとなるため、残りのパケット長である512バイト
がパケット長となり、Last Packet Fla
gは1となる。コネクション識別子、要求番号などのフ
ィールドは4つのデータパケットとも全て同じ値を取
る。オフセットは4番目のパケットであるため、3UN
IT分のオフセットが必要となる。また、1番目、2番
目のデータパケットはコピーされないが、3番目、4番
目に関しては中位プロトコルモジュール中のバッファに
コピーされたデータが送出されるとすると、2番目のデ
ータパケット中の仮Ack要求Flagは1となる。
【0063】次に、受信側でも3584バイトの受信要
求長で受信要求が行われるものとする。送信側から送出
されたデータパケットはデータパケットヘッダ中のコネ
クション識別子60番、コネクション上の要求番号8に
より受信要求を識別し、さらにオフセット、パケット長
により受信要求中の受信データ用バッファの適切な位置
にデータがコピーされる。例えば、図5に示した4番目
のデータパケットはオフセットが3であるため、受信デ
ータ用バッファ上の3072バイト目から512バイト
の位置にコピーされる。2番目のデータパケットを受信
した際には仮Ack要求Flagが1であるため、0番
目のデータパケットの受信を確認し、送信側に向けて仮
Ackパケットを送出する。図12の仮Ackパケット
はこの際に送信側に向けて送出される仮Ackパケット
を示している。
【0064】送信側では受信側から仮Ackパケットを
受信した時点でアプリケーションまたは上位プロトコル
モジュールに対して送信終了を通知する。この時点でア
プリケーションまたは上位プロトコルモジュールは次の
送信要求を発行できる。
【0065】受信側で全てのデータを受信した際には受
信確認パケットが送信側に向けて送出される。受信側で
は全てのデータを受信した時点で処理を完了することが
できる。また、送信側では受信確認パケットを受け取っ
た時点で中位プロトコルモジュール中のバッファを開放
できる。
【0066】第2の実施の形態の効果としては、同期送
受信の場合に送信バッファの後半部分のみをコピーする
ことでコピーレスの同期送信の場合に避けられないAC
K待ちに伴う待ち時間を減らすことが可能となり、高速
かつCPU使用率の低い効率的なデータ送受信が可能と
なることである。
【0067】また、第2の実施の形態においても、第1
の実施の形態と同様、要求データ長の異なる送信要求と
受信要求のペア間では小さい方の要求データ長分に関し
ては信頼性のある送受信を保証する。
【0068】
【発明の効果】以上述べたように、本発明によれば、送
信要求と受信要求のペア間で送受信制御を行うことで送
信側でコピーを行う場合の無駄なACKを省くことがで
き、また、非同期送受信時には要求順序に関係無く送受
信要求を終わらせることができるため、高速かつCPU
使用率の低い効率的なデータ送受信が可能となる。
【0069】また、要求データ長の異なる送信要求と受
信要求のペア間では小さい方の要求データ長分に関して
は信頼性のある送受信を保証することが可能となる。そ
のため、例えば、予め送信要求データ長が分かっていな
い場合にも想定される最大送信要求データ長で受信要求
をすることで対応することも可能となる。
【0070】また、予め先頭に近い程重要度の大きいデ
ータを配置する送受信要求のフォーマットを定めてお
き、受信側では受信要求長を調整することでどの優先度
までのデータを取得するかを決め、送信側でも送信要求
長を調節することでどの優先度までのデータを送出する
か決めるようにすれば、予め送受信間で送受信されるデ
ータ長を決めなくても、優先度に応じたデータの送受信
が可能となる。これにより、例えば送信側でCPUやネ
ットワークの負荷に応じて送出長を変える、受信側で受
信者の必要に応じて受信長を変えるなどといったことも
可能となり、画像データの送受信やデータベース検索な
どに適用できる。
【0071】さらに、同期送受信の場合には送信バッフ
ァの後半部分のみをコピーすることで、コピーレスの同
期送信を行う場合に避けられないACK待ちに伴う待ち
時間を減らすことが可能となり、高速かつCPU使用率
の低い効率的なデータ送受信が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の処理手順を示すフ
ローチャートである。
【図2】従来例(TCP)の送受信時のパケットのやり
取りを示す図である。
【図3】従来例の非同期送受信時の送受信要求とバイト
ストリームの関係を示す図である。
【図4】本発明の実施の形態のシステムブロック図であ
る。
【図5】本発明の実施の形態の送受信要求を格納するデ
ータ構造を示す図である。
【図6】本発明の第1の実施の形態のデータパケットフ
ォーマットを示す図である。
【図7】本発明の実施の形態の確認応答パケットフォー
マットを示す図である。
【図8】本発明の実施の形態の中位プロトコルモジュー
ルを示す図である。
【図9】本発明の第2の実施の形態の処理手順を示すフ
ローチャートである。
【図10】本発明の第2の実施の形態の仮ACKに関係
する処理の流れを示す図である。
【図11】本発明の第2の実施の形態のデータパケット
フォーマットを示す図である。
【図12】本発明の第2の実施の形態の仮ACKパケッ
トフォーマットを示す図である。
【符号の説明】
600…コネクション識別子、 602…送信要求の番号、 604…送信要求中でのオフセット位置、 606…パケットの長さ、 608…送信要求の最後のデータを含むことを示すフラ
グ、 610…データ、 700…コネクション識別子、 702…受信確認を行う要求の要求番号、 704…実際に受信したパケットの長さ、 1100…コネクション識別子、 1102…送信要求の番号、 1104…送信要求中でのオフセット位置、 1106…パケットの長さ、 1108…送信要求の最後のデータを含むことを示すフ
ラグ、 1150…仮ACK要求を行うことを示すフラグ、 1200…コネクション識別子、 1202…仮ACKの対象となる要求の要求番号、 1204…受信要求中に指定されたパケット長。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 滝安 美弘 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】送信端末と受信端末とを備え、上記送信端
    末と上記受信端末とを接続するネットワークを備え、送
    信端末と受信端末との間で論理コネクションを張り、上
    記送信端末では上記論理コネクションに対し送信要求を
    発行し、上記受信端末では上記論理コネクションに対し
    受信要求を発行することにより上記ネットワークを介し
    て上記送信端末から上記受信端末へデータの転送を行う
    通信システムにおける通信方法において、 上記受信要求と上記送信要求とを対応付けるための識別
    子を上記受信要求及び上記送信要求に付加し、上記受信
    要求と上記送信要求とを対応付け、上記送信端末から上
    記受信端末へ上記データの転送を行うことを特徴とする
    通信方法。
  2. 【請求項2】請求項1において、受信要求と対応する送
    信要求と同じ識別子を上記受信要求に付加することを特
    徴とする通信方法。
  3. 【請求項3】請求項1において、送信要求と対応する受
    信要求と同じ識別子を上記送信要求に付加することを特
    徴とする通信方法。
  4. 【請求項4】請求項1において、受信側で各受信要求ご
    とにどの部分が受信されたかを示すデータ構造を持ち、
    このデータ構造を用いて同じ要求番号を持つペアー間で
    のデータ受信の終了を判断し、受信終了時に受信確認
    (ACK)を送り返すことを特徴とする通信方法。
  5. 【請求項5】請求項1において、受信要求より前に対応
    する送信要求によるデータが到着した場合、そのデータ
    を捨て、そのデータが来たことを記憶しておき、後でそ
    の受信要求が実際に行われた際に送信側に対して再送要
    求(NACK)を返送することで即座にデータの再送を
    行うことを特徴とする通信方法。
  6. 【請求項6】請求項1において、送信パケット中にリク
    エスト中の最後のパケットであることを示すフィールド
    を設け、送信要求の要求データ長が対応する受信要求の
    要求データ長よりも小さい場合にはこのフィールドを用
    いて送信要求データの終りを受信側に知らせ、送信要求
    の要求データ長分のデータについては信頼性のある通信
    を行うことを特徴とする通信方法。
  7. 【請求項7】請求項6において、送受信終了時に送信要
    求データ長が送信要求元及び受信要求元に通知されるこ
    とを特徴とする通信方法。
  8. 【請求項8】請求項1において、送信要求の要求データ
    長が対応する受信要求の要求データ長よりも大きい場合
    には受信要求データ長分のデータについては信頼性のあ
    る通信を行うことを特徴とする通信方法。
  9. 【請求項9】請求項8において、ACK中に実際に受信
    されたデータ長を入れるフィールドを設け、そのフィー
    ルドにより送信側に実際に送られたデータ長を知らせる
    ことで送受信終了時に受信要求データ長が送信要求元及
    び受信要求元に通知されることを特徴とする通信方法。
  10. 【請求項10】請求項1において、同期送受信の場合に
    は送信要求中の送信バッファ中の後半部分のデータを送
    信端末上のバッファにコピーして保持し、送信パケット
    中に仮ACK要求を行うことを示すフィールドを設け、
    コピーしない部分の最後のパケットを送出する際にこの
    フィールドをセットし、受信側では仮ACK要求を行う
    ことを示すフィールドがセットされたパケットを受信し
    た際にそのパケット以前のすべてのパケットを既に受信
    していれば仮ACKを返送し、送信側ではこの仮ACK
    受信時に論理コネクションに対する次の送信要求を行う
    ことができ、ACK受信時に上記送信端末上のコピーデ
    ータ保持用バッファを開放することを特徴とする通信方
    法。
  11. 【請求項11】請求項10において、仮ACK中に受信
    要求中で指定されたデータ長を入れるフィールドを設
    け、そのフィールドにより送信側に実際に送受信される
    データ長を知らせることで受信要求データ長が送信要求
    元及び受信要求元に通知されることを特徴とする通信方
    法。
  12. 【請求項12】送信端末と受信端末とを備え、上記送信
    端末と上記受信端末とを接続するネットワークを備え、
    送信端末と受信端末との間で論理コネクションを張り、
    上記送信端末では上記論理コネクションに対し送信要求
    を発行し、上記受信端末では上記論理コネクションに対
    し受信要求を発行することにより上記ネットワークを介
    して上記送信端末から上記受信端末へデータの転送を行
    う通信システムにおける上記送信端末の通信方法におい
    て、 上記受信要求と上記送信要求を対応付けるための識別子
    を上記送信要求に付加し、上記受信要求と上記送信要求
    を対応付け、受信端末へ上記データを出力することを特
    徴とする通信方法。
  13. 【請求項13】送信端末と受信端末とを備え、上記送信
    端末と上記受信端末とを接続するネットワークを備え、
    送信端末と受信端末との間で論理コネクションを張り、
    上記送信端末では上記論理コネクションに対し送信要求
    を発行し、上記受信端末では上記論理コネクションに対
    し受信要求を発行することにより上記ネットワークを介
    して上記送信端末から上記受信端末へデータの転送を行
    う通信システムにおける上記受信端末の通信方法におい
    て、 上記受信要求と上記送信要求を対応付けるための識別子
    を上記受信要求に付加し、上記受信要求と上記送信要求
    を対応付け、送信端末から送られた上記データを受け取
    ることを特徴とする通信方法。
  14. 【請求項14】送信端末と受信端末とを備え、上記送信
    端末と上記受信端末とを接続するネットワークを備え、
    送信端末と受信端末との間で論理コネクションを張り、
    上記送信端末では上記論理コネクションに対し送信要求
    を発行し、上記受信端末では上記論理コネクションに対
    し受信要求を発行することにより上記ネットワークを介
    して上記送信端末から上記受信端末へデータの転送を行
    う通信システムにおける上記送信端末の通信プログラム
    を格納した記憶媒体において、 上記通信プログラムでは、上記受信要求と上記送信要求
    を対応付けるための識別子を上記送信要求に付加し、上
    記受信要求と上記送信要求を対応付け、受信端末へ上記
    データを出力することを特徴とする通信プログラムを格
    納した記憶媒体。
  15. 【請求項15】送信端末と受信端末とを備え、上記送信
    端末と上記受信端末とを接続するネットワークを備え、
    送信端末と受信端末との間で論理コネクションを張り、
    上記送信端末では上記論理コネクションに対し送信要求
    を発行し、上記受信端末では上記論理コネクションに対
    し受信要求を発行することにより上記ネットワークを介
    して上記送信端末から上記受信端末へデータの転送を行
    う通信システムにおける上記受信端末の通信プログラム
    を格納した記憶媒体において、 上記通信プログラムでは、上記受信要求と上記送信要求
    を対応付けるための識別子を上記受信要求に付加し、上
    記受信要求と上記送信要求を対応付け、送信端末から送
    られた上記データを受け取ることを特徴とする通信プロ
    グラムを格納した記憶媒体。
JP27164297A 1996-10-04 1997-10-03 通信方法 Expired - Fee Related JP3436100B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27164297A JP3436100B2 (ja) 1996-10-04 1997-10-03 通信方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP26407696 1996-10-04
JP8-264076 1996-10-04
JP27164297A JP3436100B2 (ja) 1996-10-04 1997-10-03 通信方法

Publications (2)

Publication Number Publication Date
JPH10164176A true JPH10164176A (ja) 1998-06-19
JP3436100B2 JP3436100B2 (ja) 2003-08-11

Family

ID=26546336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27164297A Expired - Fee Related JP3436100B2 (ja) 1996-10-04 1997-10-03 通信方法

Country Status (1)

Country Link
JP (1) JP3436100B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012182551A (ja) * 2011-02-28 2012-09-20 Toshiba Corp データ送信装置、データ通信装置および通信プログラム
JP2016134718A (ja) * 2015-01-19 2016-07-25 富士通株式会社 通信装置、通信制御プログラム、および通信制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012182551A (ja) * 2011-02-28 2012-09-20 Toshiba Corp データ送信装置、データ通信装置および通信プログラム
US9100332B2 (en) 2011-02-28 2015-08-04 Kabushiki Kaisha Toshiba Data transmitting device, data communicating device, and computer readable medium
JP2016134718A (ja) * 2015-01-19 2016-07-25 富士通株式会社 通信装置、通信制御プログラム、および通信制御方法

Also Published As

Publication number Publication date
JP3436100B2 (ja) 2003-08-11

Similar Documents

Publication Publication Date Title
US7817634B2 (en) Network with a constrained usage model supporting remote direct memory access
US6034962A (en) Communication method with attaching identifiers to receive request and transmit request
US6738821B1 (en) Ethernet storage protocol networks
US7818362B2 (en) Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms
US7031904B1 (en) Methods for implementing an ethernet storage protocol in computer networks
US8458280B2 (en) Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations
US6724762B2 (en) System and method for implementing multi-pathing data transfers in a system area network
CN100520758C (zh) 提高tcp重发处理速度
US5446868A (en) Network bridge method and apparatus
EP1629656B1 (en) Processing data for a tcp connection using an offload unit
US6337852B1 (en) Flow control system using control information of a message for initiating retransmission of data portion when buffer is available
US7953817B2 (en) System and method for supporting TCP out-of-order receive data using generic buffer
US20070208820A1 (en) Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations
US20180004705A1 (en) Selective acknowledgment of RDMA packets
CN115941616A (zh) 多路径rdma传输
US20030051076A1 (en) Methods and system for pre-fetching descriptors
EP1323264A2 (en) Mechanism for completing messages in memory
JPWO1997033227A1 (ja) 高速一括ファイル転送方法及び装置並びに転送方法を実行するためのプログラムを記憶した記憶媒体
JP2000151664A (ja) デ―タ伝送方法
US6996105B1 (en) Method for processing data packet headers
JP7653040B2 (ja) 中間装置、通信方法、プログラム、および中継システム
EP1826968B1 (en) Methods and devices for transmitting data between storage area networks
JP2986798B2 (ja) データ伝送制御方法およびデータ通信装置
CN119892953A (zh) 一种网络传输层协议的交互建立及传输方法
EP1225741A1 (en) High speed interconnection for embedded systems within a computer network

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees