JPH10150435A - Method for controlling data transfer error - Google Patents

Method for controlling data transfer error

Info

Publication number
JPH10150435A
JPH10150435A JP8309344A JP30934496A JPH10150435A JP H10150435 A JPH10150435 A JP H10150435A JP 8309344 A JP8309344 A JP 8309344A JP 30934496 A JP30934496 A JP 30934496A JP H10150435 A JPH10150435 A JP H10150435A
Authority
JP
Japan
Prior art keywords
packet
data
transfer
sequence number
receiving side
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8309344A
Other languages
Japanese (ja)
Inventor
Arutountasch Onur
アルトゥンタシュ オヌル
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.)
Ultra High Speed Network and Computer Technology Laboratories
Original Assignee
Ultra High Speed Network and Computer Technology Laboratories
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 Ultra High Speed Network and Computer Technology Laboratories filed Critical Ultra High Speed Network and Computer Technology Laboratories
Priority to JP8309344A priority Critical patent/JPH10150435A/en
Publication of JPH10150435A publication Critical patent/JPH10150435A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide the method for controlling a data transfer error by which a high throughput is obtained even when a band width delay product is high without the need for a buffer of a large capacity. SOLUTION: Transfer object data from a transmitter side are all packet- processed as a main transfer phase (102), a sequence number is provided to the data and the resulting packet is transferred to a receiver side (103), the receiver side receives the packet and stores the packets sequentially through random access and stores the sequence number of the packet normally received and informs it to the transmitter side for each prescribed period during the reception of the packets. Then the transmitter side stores the sequence number informed from the receiver side during packet transfer to a packet group information(PGI) table (112), and reads the packet with the sequence number stored in the PGI table through random access in response to the end of the main transfer phase and transfers the packet again to the receiver side in the re-transfer phase.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データ転送エラー
制御方法に関し、特に所定の通信ネットワークを介して
大規模データを高速転送する場合に好適なデータ転送エ
ラー制御方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer error control method, and more particularly to a data transfer error control method suitable for high-speed transfer of large-scale data via a predetermined communication network.

【0002】[0002]

【従来の技術】一般に、信頼性の高いデータ転送を必要
とする大規模データ転送アプリケーションでは、転送す
るデータごと、例えばパケットごとに順に付与されたシ
ーケンス番号に基づいてエラー制御を行うシーケンス制
御手順を用いて、データ転送を行うものとなっている。
このようなデータ転送エラー制御方法では、通常、パケ
ット喪失などの転送エラーが発生した場合、シーケンス
制御手順により、データ転送が中断される。例えば、T
CPでは、喪失パケット以降のパケットの転送を中断
し、喪失パケットの再転送を行い、その転送成功に応じ
て後続するパケットの転送を再開するものとなってい
る。
2. Description of the Related Art In general, in a large-scale data transfer application requiring highly reliable data transfer, a sequence control procedure for performing error control based on a sequence number sequentially assigned to each data to be transferred, for example, to each packet, is described. The data transfer is performed by using the data transfer.
In such a data transfer error control method, usually, when a transfer error such as packet loss occurs, the data transfer is interrupted by a sequence control procedure. For example, T
In the CP, the transfer of the packet after the lost packet is interrupted, the lost packet is retransmitted, and the transfer of the subsequent packet is restarted in accordance with the success of the transfer.

【0003】一方、XTPでは選択的再転送手段が用い
られており、他のプロトコル、例えばRAP(Random A
ccess Protocol)では、端末装置のランダム・アクセス
手段を利用した選択再転送手段が用いられている。しか
し、RAPではエラー発生に応じて本来のパケット転送
中に送信側に割込みを行うため、全体としてのスループ
ットが低下する。また、最近提案されているNetwa
rp(NTT)も高いスループットを目標とするもので
あるが、そのエラー制御部分はまだ不明確である。
On the other hand, in XTP, a selective retransmission means is used, and another protocol such as RAP (Random A) is used.
ccess Protocol), a selective re-transfer unit using a random access unit of a terminal device is used. However, in the RAP, the transmission side is interrupted during the original packet transfer in response to the occurrence of an error, so that the overall throughput is reduced. Also, recently proposed Netwa
rp (NTT) also targets high throughput, but its error control part is still unclear.

【0004】[0004]

【発明が解決しようとする課題】信頼性の高いデータ転
送を必要とする大規模データ転送アプリケーションは、
その通信が転送データをランダム・アクセスできる端末
装置間で行われる場合、シーケンス制御手順を必要とし
ていない。しかしながら、汎用的な従来のデータ転送エ
ラー制御方法では、パケットの損傷や喪失が生じた場合
に転送を停止し、損傷あるいは喪失したパケットが回復
した後、転送を再開するものとなっている。このため、
通信を行う端末装置間の距離が短くデータ転送速度が遅
い場合には問題ないが、端末装置間の距離が長く、デー
タ転送速度が速い場合、すなわちデータ転送遅延とデー
タ転送に用いる伝送帯域幅との積(以下、帯域幅遅延積
という)が極めて大きい場合には、スループットが低下
するという問題点があった。
[0005] Large-scale data transfer applications that require highly reliable data transfer are:
When the communication is performed between terminal devices capable of randomly accessing transfer data, no sequence control procedure is required. However, in the conventional general-purpose data transfer error control method, the transfer is stopped when the packet is damaged or lost, and the transfer is restarted after the damaged or lost packet is recovered. For this reason,
There is no problem if the distance between the terminal devices performing communication is short and the data transfer speed is low, but if the distance between the terminal devices is long and the data transfer speed is high, that is, the data transfer delay and the transmission bandwidth used for data transfer (Hereinafter referred to as bandwidth delay product) is extremely large, there is a problem that the throughput is reduced.

【0005】特に、TCPなどで用いられているよう
に、データ転送中に定期的に送受信間で確認通知を行う
方法では、大規模データを長距離転送する場合、極めて
スループットが悪くなり、さらに予測した往復時間に大
きな変動がある場合には、送信側がしばしば停止すると
いう問題点があった。また、理論上、スループットを高
くするには、従来のデータ転送エラー制御方法では、端
末装置に極めて大きなバッファを設ける必要がある。こ
のため端末装置にてメモリが過剰に使用され、複数の通
信コネクションを同時に設定することが難しくなるとい
う問題点があった。本発明はこのような課題を解決する
ためのものであり、大容量のバッファを必要とすること
なく、帯域幅遅延積が大きい場合でも高いスループット
が得られるデータ転送エラー制御方法を提供することを
目的としている。
[0005] In particular, in a method of periodically performing confirmation notification between transmission and reception during data transfer as used in TCP or the like, when large-scale data is transferred over a long distance, the throughput becomes extremely poor, and furthermore, prediction is not possible. When there is a large fluctuation in the round trip time, the transmitting side often stops. Also, in theory, in order to increase the throughput, the conventional data transfer error control method needs to provide an extremely large buffer in the terminal device. For this reason, there is a problem that the memory is excessively used in the terminal device, and it is difficult to simultaneously set a plurality of communication connections. The present invention has been made to solve such a problem, and it is an object of the present invention to provide a data transfer error control method capable of obtaining a high throughput even when a bandwidth delay product is large without requiring a large-capacity buffer. The purpose is.

【0006】[0006]

【課題を解決するための手段】このような目的を達成す
るために、本発明によるデータ転送エラー制御方法は、
送信側にて、送信側データ蓄積手段に蓄積されている転
送対象データを順次読み出して分割し、一連のシーケン
ス番号を付与したパケットに順次格納して受信側に転送
し、受信側は、送信側からパケットを順次受信し、正常
受信したパケットに格納されているデータをランダム・
アクセスにより受信側データ蓄積手段に蓄積するととも
に、正常受信できなかったパケットのシーケンス番号を
保持してパケット受信中に所定期間ごとにシーケンス番
号を送信側に通知し、送信側は、パケット転送中に受信
側から通知されたシーケンス番号をテーブルに保持し、
一連のパケット転送終了後、テーブルにシーケンス番号
が格納されている場合には、そのシーケンス番号に対応
するデータを送信側データ蓄積手段に蓄積されている転
送対象データからランダム・アクセスにより読み出し、
そのシーケンス番号を付与したパケットに格納して受信
側に再転送するようにしたものである。したがって、送
信側から転送対象データすべてを主転送フェーズにより
受信側に送信し、その間に受信側から再送要求されたパ
ケットのみが主転送フェーズ終了後の再転送フェーズに
より送信側から受信側に再転送される。
To achieve the above object, a data transfer error control method according to the present invention comprises:
On the transmission side, the transfer target data stored in the transmission side data storage means is sequentially read and divided, sequentially stored in a series of packets with sequence numbers, and transferred to the reception side. , And the data stored in the normally received packet is randomized.
The access side accumulates the data in the data storage unit on the receiving side, holds the sequence number of the packet that could not be received normally and notifies the transmitting side of the sequence number at predetermined intervals during packet reception. Hold the sequence number notified from the receiving side in the table,
If a sequence number is stored in the table after the end of a series of packet transfer, data corresponding to the sequence number is read out by random access from transfer target data stored in the transmission side data storage means,
The packet is stored in the packet to which the sequence number is added, and is retransmitted to the receiving side. Therefore, all data to be transferred is transmitted from the transmitting side to the receiving side in the main transfer phase, and only packets for which retransmission is requested from the receiving side during that time are retransmitted from the transmitting side to the receiving side in the retransmitting phase after the main transfer phase ends. Is done.

【0007】[0007]

【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は本発明の一実施の形態であるデー
タ転送エラー制御方法による送信側制御手順を示すフロ
ーチャート、図2は本発明の一実施の形態であるデータ
転送エラー制御方法による受信側制御手順を示すフロー
チャートである。本発明の要旨は、送信側から転送対象
データすべてを主転送フェーズにより受信側に送信し、
その間に受信側から再送要求されたパケットのみを主転
送フェーズ終了後の再転送フェーズにより転送するもの
である。
Next, the present invention will be described with reference to the drawings. FIG. 1 is a flowchart showing a transmitting side control procedure according to a data transfer error control method according to one embodiment of the present invention, and FIG. 2 shows a receiving side control procedure according to a data transfer error control method according to one embodiment of the present invention. It is a flowchart. The gist of the present invention is to transmit all data to be transferred from a transmitting side to a receiving side in a main transfer phase,
During this time, only the packet requested to be retransmitted by the receiving side is transferred in the retransmission phase after the end of the main transfer phase.

【0008】特に送信側および受信側は、ハードディス
ク装置やメモリなどのデータ蓄積手段に蓄積された転送
対象データや受信データに対して、任意の一部分のみを
読み書き可能なランダム・アクセス手段を有している。
このランダム・アクセス手段は、従来と同様に一般的な
ものであり、詳細な説明は省略する。なお、本発明のラ
ンダム・アクセス手段は、1パケット分あるいは複数パ
ケット分のデータ長を単位として、転送対象データおよ
び受信データの任意の一部分を読み書きする。
[0008] In particular, the transmitting side and the receiving side have random access means capable of reading and writing only an arbitrary part of transfer target data and received data stored in data storage means such as a hard disk device and a memory. I have.
This random access means is common as in the prior art, and a detailed description is omitted. The random access means of the present invention reads and writes an arbitrary part of the transfer target data and the received data in units of the data length of one packet or a plurality of packets.

【0009】本発明のデータ転送エラー制御方法を用い
た場合のデータ転送速度は、通信当事者すなわち送信端
末装置および受信端末装置と通信ネットワークとの間で
行われるネゴシエーションにより決定される通信回線速
度(以下、折衝転送速度という)に依存している。な
お、レート制御がトランスポートプロトコルによっても
たらされるか、低レイヤ機構によって直接もたらされる
かは、本発明による機能と、直接、関係がない。
The data transfer rate when the data transfer error control method of the present invention is used is determined by a communication line speed (hereinafter referred to as a communication line speed) determined by a negotiation performed between a communication party, that is, a transmitting terminal device and a receiving terminal device, and a communication network. , Negotiated transfer speed). It should be noted that whether rate control is provided by a transport protocol or directly by a lower layer mechanism is not directly related to the function according to the present invention.

【0010】まず、送信側は、通信ネットワークを介し
て受信側との間で通信コネクションを確立するととも
に、通信ネットワークとの間で折衝転送速度を決定する
(ステップ101)。続いて、送信側データ蓄積手段か
ら転送対象データを順次読み出して、パケット化を開始
する(ステップ102)。図3に示すように、各パケッ
トはそれ自体のシーケンス番号とエラー検査情報を有し
ている。図3は本発明の一実施の形態であるデータ転送
エラー制御方法で用いられるパケットの構成を示す説明
図である。
First, the transmitting side establishes a communication connection with the receiving side via the communication network and determines a negotiated transfer speed with the communication network (step 101). Subsequently, the transfer target data is sequentially read from the transmission side data storage means, and packetization is started (step 102). As shown in FIG. 3, each packet has its own sequence number and error check information. FIG. 3 is an explanatory diagram showing the structure of a packet used in the data transfer error control method according to one embodiment of the present invention.

【0011】図3において、エラー検査情報31はパケ
ット自体の損傷を検査するための情報、データ32は転
送対象データが順に分割されて格納された情報、シーケ
ンス番号33は転送対象データの分割順に応じて各パケ
ットごとに付与された番号である。このようにして、転
送対象データが順次、分割されてパケット化され、受信
側に転送され(ステップ103)、最後のパケットの転
送が終了されるまで、繰り返し実施される(ステップ1
04:NO)。これが前述した主転送フェーズに相当す
る。
In FIG. 3, error check information 31 is information for checking the packet itself for damage, data 32 is information in which transfer target data is divided and stored, and a sequence number 33 is in accordance with the division order of transfer target data. Is a number assigned to each packet. In this manner, the data to be transferred is sequentially divided and packetized, transferred to the receiving side (step 103), and repeatedly performed until the transfer of the last packet is completed (step 1).
04: NO). This corresponds to the main transfer phase described above.

【0012】最後のパケットを識別する手段としては、
例えば、シーケンス番号33の最後のビットを「最終パ
ケット表示」フラグとして利用してもよいし、あるい
は、上位のファイル転送アプリケーションにより、どれ
くらいの量のデータを送信するのかを通知するようにし
てもよい。また、このことは、送信側から受信側に対し
て最後のパケットであることを通知する手段としても利
用できる。
As means for identifying the last packet,
For example, the last bit of the sequence number 33 may be used as a “last packet indication” flag, or a higher-level file transfer application may notify how much data is to be transmitted. . This can also be used as a means for notifying the receiving side of the last packet from the transmitting side to the receiving side.

【0013】一方、受信側は、図2(a)に示す主転送
フェーズにて、まず送信側と同様に通信ネットワークを
介して送信側との間で通信コネクションを確立するとと
もに、通信ネットワークとの間で折衝転送速度を決定す
る(ステップ120)。受信側には、物理的には存在し
ていないPG(パケット・グループ)という仮想バッフ
ァが設けられている。このPGは、n個分のパケットか
ら構成されており、このn個のパケットがエラー制御単
位として処理される。なお、nは転送対象データの大き
さおよび折衝転送速度などのパラメータによって決ま
る。
On the other hand, in the main transfer phase shown in FIG. 2A, the receiving side first establishes a communication connection with the transmitting side via the communication network in the same manner as the transmitting side, and establishes a connection with the communication network. A negotiated transfer rate is determined between the two (step 120). The receiving side is provided with a virtual buffer called PG (packet group) that does not physically exist. This PG is composed of n packets, and the n packets are processed as error control units. Note that n is determined by parameters such as the size of the transfer target data and the negotiated transfer speed.

【0014】また受信側では、PGに対してPG情報
(PGI)テーブルが設けられており、このPGIテー
ブルには、PG情報として、同一PGに含まれるパケッ
トのうち、データ検査情報31によりデータ損傷が確認
されたパケット、およびシーケンス番号33によりパケ
ット喪失が確認されたパケットのシーケンス番号が格納
される。そして、このPGIテーブルの内容は、タイマ
に設定された所定期間ごとにPGIパケットにて受信側
から送信側に通知される。なお、PGIパケット自体も
一連のシーケンス番号を有している。
On the receiving side, a PG information (PGI) table is provided for the PG. In the PGI table, among the packets contained in the same PG, data damage is performed by the data inspection information 31 as PG information. Are stored, and the sequence number of the packet whose packet loss has been confirmed by the sequence number 33 is stored. Then, the contents of the PGI table are notified from the receiving side to the transmitting side by PGI packets every predetermined period set in the timer. Note that the PGI packet itself has a series of sequence numbers.

【0015】この期間すなわちタイマ値tout は、折衝
転送速度に基づき、次の式(1)に基づいて計算され
る。 tout =(パケットの大きさ×PGの大きさ)/折衝転
送速度 したがって、受信側では、このようにして算出したタイ
マ値tout を設定してタイマを起動する(ステップ12
1)。この後、タイマがタイムアウトするまで、送信側
から転送されたパケットを順次受信して、元の転送対象
データを部分的に復元し、ランダム・アクセス手段によ
り受信側データ蓄積手段の受信データのうち、例えばシ
ーケンス番号に基づく位置に保存する(ステップ12
3)。また、データ損傷やパケット喪失が検出された場
合には、そのパケットのシーケンス番号をPGIテーブ
ルに格納する(ステップ124)。
This period, that is, the timer value t out is calculated based on the following formula (1) based on the negotiated transfer rate. t out = (packet size × PG size) / negotiation transfer speed Therefore, the receiving side sets the timer value t out calculated in this way and starts the timer (step 12).
1). Thereafter, until the timer times out, the packets sequentially transferred from the transmitting side are sequentially received, the original data to be transferred is partially restored, and among the received data of the receiving side data storage means by the random access means, For example, it is stored at a position based on the sequence number (step 12
3). If data damage or packet loss is detected, the sequence number of the packet is stored in the PGI table (step 124).

【0016】ステップ122において、タイマがタイム
アウトした場合には(ステップ122:YES)、PG
Iテーブル内のPG情報をPGIパケットにより送信側
に転送する。これにより、データ損傷やパケット喪失が
発生したパケットのシーケンス番号が送信側に通知され
る。なお、同一PGに含まれるすべてのパケットが正常
に受信された場合、空白のPG情報が送信側に転送され
る。一方、送信側では、パケット転送(ステップ10
3)と並列して、受信側からのPG情報を逐次受信し
(ステップ111)、PGIテーブルを更新する(ステ
ップ112)。
If the timer has timed out in step 122 (step 122: YES), the PG
The PG information in the I table is transferred to the transmitting side by a PGI packet. As a result, the sequence number of the packet in which data damage or packet loss has occurred is notified to the transmission side. When all packets included in the same PG are normally received, blank PG information is transferred to the transmission side. On the other hand, on the transmitting side, packet transfer (step 10)
In parallel with 3), PG information from the receiving side is sequentially received (step 111), and the PGI table is updated (step 112).

【0017】このようにして、転送対象データが主転送
フェーズにより、順次パケット化されて受信側に転送さ
れる。この後、送信側は、PGIテーブルをチェックし
て、受信側から再送要求されたパケットがあるか否か確
認し(ステップ105)、再送要求されたパケットがあ
る場合には(ステップ105:YES)、これらパケッ
トを再送するために再転送フェーズに移行する(ステッ
プ106)。
In this way, the transfer target data is sequentially packetized and transferred to the receiving side in the main transfer phase. Thereafter, the transmitting side checks the PGI table to determine whether there is a packet requested to be retransmitted by the receiving side (step 105). If there is a packet requested to be retransmitted (step 105: YES). Then, the process shifts to the retransmission phase to retransmit these packets (step 106).

【0018】再転送フェーズでは、まず、送信側データ
蓄積手段の転送対象データのうち、再送要求されたパケ
ットのシーケンス番号に対応する位置から所望のデータ
をランダム・アクセス手段により読み出してパケット化
し(ステップ102)、これらを順次受信側に転送する
とともに(ステップ103,104)、PGIテーブル
を更新する。一方、受信側では、送信側からの主転送フ
ェーズの終了の通知に応じて(ステップ126:YE
S)、再転送フェーズへ移行する(ステップ127)。
図2(b)は受信側の再転送フェーズを示しており、ま
ず、受信側はPGの大きさSPGを次の式(2)に基づい
て算出する(ステップ130)。
In the retransfer phase, first, of the data to be transferred by the transmission-side data storage means, desired data is read out from the position corresponding to the sequence number of the retransmission-requested packet by the random access means and packetized (step S1). 102), these are sequentially transferred to the receiving side (steps 103 and 104), and the PGI table is updated. On the other hand, the receiving side responds to the notification of the end of the main transfer phase from the transmitting side (step 126: YE
S), proceed to the retransfer phase (step 127).
FIG. 2B shows the retransmission phase on the receiving side. First, the receiving side calculates the size SPG of the PG based on the following equation (2) (step 130).

【0019】 SPG(i)=Rp −1 if Rp <SPG(i−1) SPG(i)=SPG(i−1)−1 if Rp ≧SPG(i−1) ただし、iは自然数、SPG(i)はi回目の再転送時の
PGサイズであり、RP は再転送されるパケット数であ
る。ここでは、前回のPGサイズが再転送されるパケッ
ト数より大きい場合、新たなPGサイズとして再転送さ
れるパケット数より1パケット分少ない数が設定され
る。また前回のPGサイズが再転送されるパケット数よ
り小さい場合、新たなPGサイズとして前回のPGサイ
ズより1パケット分少ない数が設定される。
S PG (i) = R p -1 if R p <S PG (i-1) S PG (i) = S PG (i-1) -1 if R p ≧ S PG (i-1) Here, i is a natural number, S PG (i) is the PG size at the i-th retransmission, and R P is the number of packets to be retransmitted. Here, if the previous PG size is larger than the number of packets to be retransmitted, a number smaller by one packet than the number of packets to be retransmitted is set as a new PG size. If the previous PG size is smaller than the number of packets to be retransmitted, a new PG size that is smaller by one packet than the previous PG size is set.

【0020】続いて受信側は、このPGサイズに基づい
て、前述の主転送フェーズと同様にタイマ値を算出して
タイマを起動する(ステップ131)。この後、受信側
はステップ132〜134にて順次、パケットを受信し
PGIテーブルを更新し、タイムアウトに応じて(ステ
ップ132:YES)、PGIテーブル内のPG情報を
送信側に転送する(ステップ135)。また、PGIテ
ーブルに再送要求するパケットが存在する場合には(ス
テップ136:YES)、ステップ130に戻って、再
度、再転送フェーズを実行し、再送要求するパケットが
存在しない場合には、切断処理を実施する(ステップ1
37)。
Subsequently, the receiving side calculates a timer value based on the PG size in the same manner as in the above-described main transfer phase and starts the timer (step 131). Thereafter, the receiving side sequentially receives the packets in steps 132 to 134, updates the PGI table, and transfers the PG information in the PGI table to the transmitting side in response to a timeout (step 132: YES) (step 135). ). If there is a packet for which a retransmission request is present in the PGI table (step 136: YES), the flow returns to step 130, where the retransmission phase is executed again. (Step 1)
37).

【0021】なお、エラー制御を容易とし、かつPG情
報の適正な転送が確実に行われるようにするために、前
進誤り訂正を逆方向に用いてもよい。PGIパケットの
サイズがきわめて小さいので、前進誤り訂正によって課
されるオーバヘッドは最小限のものとなる。また、PG
に十分なパケットがある場合、同一PG内の個々のパケ
ットの遅れの変動は統計的平均化特性により打ち消さ
れ、PG情報が重複する可能性が減少すると思われる。
Incidentally, forward error correction may be used in the reverse direction in order to facilitate error control and ensure proper transfer of PG information. Because the size of the PGI packet is very small, the overhead imposed by forward error correction is minimal. Also, PG
If there are enough packets, the variation in the delay of individual packets in the same PG will be canceled out by the statistical averaging property, and the possibility of overlapping PG information will be reduced.

【0022】なお、新しいPGに対応するパケットがす
べて正常であった場合、受信側は以前のPGに関するP
G情報を送信側に転送する。したがって、送信側で維持
されているPGIテーブルは順方向、すなわち送信側か
らのパケット転送終了に応じてクリアされるだけでな
く、逆方向でも毎回更新される。これにより、再転送フ
ェーズでの重複転送が回避される。また、すべてのPG
情報が転送中に失われたとしても、送信側は転送すべき
すべてのデータを転送した後に、PG情報の転送要求を
行うことにより、PG情報を適正に転送することができ
る。
If all the packets corresponding to the new PG are normal, the receiving side sets the P related to the previous PG.
The G information is transferred to the transmitting side. Therefore, the PGI table maintained on the transmission side is not only cleared in the forward direction, that is, in response to the end of the packet transfer from the transmission side, but also updated every time in the reverse direction. This avoids duplicate transfer in the retransfer phase. Also, all PG
Even if the information is lost during the transfer, the transmitting side can transfer the PG information properly by requesting the transfer of the PG information after transferring all the data to be transferred.

【0023】なお、送信側から受信側に対して、所定フ
ァイルに格納された転送対象データを転送する場合、す
なわちファイル転送の場合、受信側は正しいパケットを
受信して、元の転送対象データを部分的に逐次生成し、
ファイルとしてディスク装置などの所定の記憶媒体に書
き込むことになる。このことから、受信側のランダム・
アクセス手段によって、転送対象データの任意の部分を
保存することが可能となるため、受信パケットの順序は
重要ではない。
When transferring the transfer target data stored in a predetermined file from the transmission side to the reception side, that is, in the case of file transfer, the reception side receives a correct packet and deletes the original transfer target data. Partially generated sequentially,
The data is written to a predetermined storage medium such as a disk device as a file. From this, the random
The order of the received packets is not important, since the access means allows any part of the data to be transferred to be stored.

【0024】[0024]

【実施例】図4を参照して、本発明の一実施例について
説明する。図4は本発明の一実施例としてデータ転送エ
ラー制御方法を示すシーケンス図である。まず送信側か
ら、シーケンス番号「1」が割り当てられたパケット#
1から順に受信側に転送される。ここで、折衝転送速度
が100Mb/秒、PGサイズが1000、パケット・
サイズが1500バイトであるとした場合、タイマ値t
out は1500×8×1000)/100,000,0
00=0.12秒と計算される。
An embodiment of the present invention will be described with reference to FIG. FIG. 4 is a sequence diagram showing a data transfer error control method as one embodiment of the present invention. First, the packet # to which the sequence number “1” is assigned from the transmitting side
The data is transferred to the receiving side in order from 1. Here, the negotiated transfer speed is 100 Mb / sec, the PG size is 1000,
If the size is 1500 bytes, the timer value t
out is 1500 × 8 × 1000) / 100,000,000,0
It is calculated as 00 = 0.12 seconds.

【0025】受信側は、正常に到着したパケットからデ
ータを取り出して順次、保存する。これとともに、デー
タ損傷やパケット喪失が検出された場合には、そのパケ
ットに対応するシーケンス番号をPGIテーブルに格納
する。この場合には、シーケンス番号「5」および「3
42」が割り当てられたパケット#5,パケット#34
2が喪失している。タイマが1回目にタイムアウトした
場合、受信側はPGIパケットで、パケット#5とパケ
ット#342を受信していないと通知する。このPGI
パケットは、それ自体のシーケンス番号、この場合に
は、「1」を有している。その後、受信側はタイマを再
起動して、後続するパケットの受信処理を行い、タイム
アウトに応じて新たなPGIパケットを転送する。
The receiving side extracts data from packets that have arrived normally and stores them sequentially. At the same time, if data damage or packet loss is detected, the sequence number corresponding to the packet is stored in the PGI table. In this case, the sequence numbers “5” and “3”
Packet # 5, packet # 34 to which "42" is assigned
Two have been lost. When the timer times out for the first time, the receiving side notifies that a packet # 5 and a packet # 342 have not been received by a PGI packet. This PGI
The packet has its own sequence number, in this case "1". Thereafter, the receiving side restarts the timer, performs reception processing of the subsequent packet, and transfers a new PGI packet according to the timeout.

【0026】送信側は、このPGIパケットをパケット
転送中に受信して、PGIテーブルを更新する。なお、
転送すべきデータがある間は、新たな再転送フェーズは
始まらない。PGIパケットは受信側から送られてくる
たびに、逆方向および順方向の両方で更新される。換言
すると、喪失/エラー発生として以前に報告された各パ
ケットは、これがまだ到着しなければ、再度報告され
る。
The transmitting side receives this PGI packet during packet transfer and updates the PGI table. In addition,
As long as there is data to be transferred, no new retransmission phase starts. Each time a PGI packet is sent from the receiving side, it is updated in both the backward and forward directions. In other words, each packet previously reported as lost / errored is reported again if it has not yet arrived.

【0027】例えば、以前のPGIパケットにて再送要
求されたパケットが、しばらくして(例えば、次の期間
に)到着した場合、このパケットは受信側が保持してい
るPGIテーブルから削除される。続いて、このテーブ
ル内のPG情報が送信側へ通知されることから、送信側
においては、そのパケットが正常に転送されたことがこ
のPG情報から暗黙的にわかる。
For example, when a packet requested to be retransmitted in the previous PGI packet arrives after a while (for example, in the next period), this packet is deleted from the PGI table held by the receiving side. Subsequently, since the PG information in this table is notified to the transmitting side, the transmitting side can implicitly know from the PG information that the packet has been normally transferred.

【0028】主転送フェーズの終了時に、送信側は再転
送しなければならないパケットのリストをPGIテーブ
ル内に有している。したがって、直ちに再転送フェーズ
に移行する。受信側は、式(2)にしたがってタイマ値
を再計算し、送信側はパケット#5、パケット#342
〜パケット#zと番号の付いたパケットを転送し始め
る。これにより、主転送フェーズ終了後、送信側が受信
側からの再送要求通知を待つ必要がなくなり、この再送
要求通知に要する2×RTT(往復時間)という遊休期
間を短縮でき、全体的なスループットが向上する。受信
側はPGIテーブルに残っている項目がなくなったこと
を確認してから、接続切断の処理を開始する。
At the end of the main transfer phase, the sender has a list of packets in the PGI table that must be retransmitted. Therefore, the process immediately shifts to the retransmission phase. The receiving side recalculates the timer value according to the equation (2), and the transmitting side calculates the packet # 5 and the packet # 342.
To start transferring packets numbered packet #z. This eliminates the need for the transmitting side to wait for a retransmission request notification from the receiving side after the main transfer phase is completed, and can reduce an idle period of 2 × RTT (round trip time) required for the retransmission request notification, thereby improving the overall throughput. I do. After confirming that there are no more items remaining in the PGI table, the receiving side starts the disconnection process.

【0029】このように、まず主転送フェーズとして送
信側から転送対象データすべてをパケット化し一連のシ
ーケンス番号を付与して受信側に転送し、受信側はこれ
らパケットを受信してランダム・アクセスにより転送対
象データを順次保存し、正常に受信できなかったパケッ
トのシーケンス番号をPG情報として保持するととも
に、パケット受信中に所定期間ごとに送信側に通知する
ようにしたものである。そして、送信側はパケット転送
中に受信側からのPG情報を受信してPGIテーブルに
格納し、主転送フェーズの終了に応じてPGIテーブル
に格納されているシーケンス番号のパケットをランダム
・アクセスにより読み出して再転送フェーズとして受信
側に再転送するようにしたものである。
As described above, first, in the main transfer phase, all data to be transferred is packetized from the transmitting side, a series of sequence numbers are assigned and transferred to the receiving side, and the receiving side receives these packets and transfers them by random access. The target data is sequentially stored, the sequence number of the packet that has not been received normally is retained as PG information, and the packet is notified to the transmitting side at predetermined intervals during packet reception. Then, the transmitting side receives the PG information from the receiving side during the packet transfer, stores the PG information in the PGI table, and reads out the packet of the sequence number stored in the PGI table by random access at the end of the main transfer phase. In the retransmission phase, the data is retransmitted to the receiving side.

【0030】したがって、従来のように、パケットの損
傷や喪失が生じた場合に転送を停止し、損傷あるいは喪
失したパケットが回復した後、転送を再開する方法と比
較して、パケットの損傷や喪失などのエラーが発生した
場合でも、データ転送が中断されなくなり、大容量のバ
ッファを必要とすることなく、効率よくデータ転送を行
うことができる。これにより、エラー発生に応じて送受
信間で行われる再送要求通知に費やされる時間がなくな
り、端末装置間の距離が長く、データ転送速度が速い場
合、すなわち帯域幅遅延積が極めて大きい場合には、従
来と比較して全体的なスループットが飛躍的に改善され
る。
Therefore, as compared with the conventional method in which the transfer is stopped when the packet is damaged or lost, and the transfer is restarted after the damaged or lost packet is recovered, the packet is damaged or lost. Even when such an error occurs, data transfer is not interrupted, and data transfer can be performed efficiently without requiring a large-capacity buffer. This eliminates the time spent on retransmission request notification performed between transmission and reception in response to the occurrence of an error, the distance between terminal devices is long, and when the data transfer speed is fast, that is, when the bandwidth delay product is extremely large, The overall throughput is dramatically improved as compared to the prior art.

【0031】[0031]

【発明の効果】以上説明したように、本発明は、送信側
にて、転送対象データを一連のシーケンス番号を付与し
たパケットに順次格納して受信側に転送し、受信側は、
送信側から正常受信したパケットに格納されているデー
タをランダム・アクセスにより受信側データ蓄積手段に
蓄積するとともに、正常受信できなかったパケットのシ
ーケンス番号を保持してパケット受信中に所定期間ごと
にシーケンス番号を送信側に通知し、送信側は、パケッ
ト転送中に受信側から通知されたシーケンス番号をテー
ブルに保持し、一連のパケット転送終了後、テーブルに
シーケンス番号が格納されている場合には、そのシーケ
ンス番号に対応するデータを転送対象データからランダ
ム・アクセスにより読み出し、そのシーケンス番号を付
与したパケットに格納して受信側に再転送するようにし
たものである。したがって、従来のように、パケットの
損傷や喪失が生じた場合に転送を停止し、損傷あるいは
喪失したパケットが回復した後、転送を再開する方法と
比較して、パケットの損傷や喪失などのエラーが発生し
た場合でも、データ転送が中断されなくなり、大容量の
バッファを必要とすることなく、効率よくデータ転送を
行うことができる。さらに、エラー発生に応じて送受信
間で行われる再送要求通知に費やされる時間がなくな
り、端末装置間の距離が長く、データ転送速度が速い場
合、すなわち帯域幅遅延積が極めて大きい場合には、従
来と比較して全体的なスループットが飛躍的に改善され
る。
As described above, according to the present invention, on the transmitting side, data to be transferred is sequentially stored in a packet with a series of sequence numbers and transferred to the receiving side.
The data stored in the packet normally received from the transmitting side is stored in the data storing means of the receiving side by random access, and the sequence number of the packet which could not be received normally is retained, and the packet is sequenced at predetermined intervals during packet reception. The number is notified to the transmitting side, and the transmitting side holds the sequence number notified from the receiving side during the packet transfer in a table, and when the sequence number is stored in the table after a series of packet transfer ends, The data corresponding to the sequence number is read from the transfer target data by random access, stored in a packet to which the sequence number is assigned, and retransmitted to the receiving side. Therefore, compared to the conventional method of stopping transmission when a packet is damaged or lost and restarting transmission after the damaged or lost packet is recovered, errors such as packet damage or loss are compared. Even when the error occurs, data transfer is not interrupted, and data transfer can be performed efficiently without requiring a large-capacity buffer. Furthermore, the time spent for retransmission request notification performed between transmission and reception in response to the occurrence of an error is eliminated, and when the distance between terminal devices is long and the data transfer rate is high, that is, when the bandwidth delay product is extremely large, the conventional method is used. The overall throughput is dramatically improved as compared to.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の一実施の形態によるデータ転送エラ
ー制御方法の送信側制御手順を示すフローチャートであ
る。
FIG. 1 is a flowchart illustrating a transmission side control procedure of a data transfer error control method according to an embodiment of the present invention.

【図2】 本発明の一実施の形態によるデータ転送エラ
ー制御方法の受信側制御手順を示すフローチャートであ
る。
FIG. 2 is a flowchart showing a receiving side control procedure of the data transfer error control method according to one embodiment of the present invention.

【図3】 パケットの構成を示す説明図である。FIG. 3 is an explanatory diagram showing a configuration of a packet.

【図4】 データ転送エラー制御の一例を示すシーケン
ス図である。
FIG. 4 is a sequence diagram illustrating an example of data transfer error control.

【符号の説明】[Explanation of symbols]

101〜112…送信側制御手順、120〜127…受
信側制御手順(主転送フェーズ)、130〜137…受
信側制御手順(再転送フェーズ)、31…データ検査情
報、32…データ、33…シーケンス番号。
101 to 112: transmission side control procedure, 120 to 127 ... reception side control procedure (main transfer phase), 130 to 137 ... reception side control procedure (retransmission phase), 31 ... data inspection information, 32 ... data, 33 ... sequence number.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 通信ネットワークを介して転送対象デー
タを送信側から受信側にデータ転送する場合のデータ転
送エラー制御方法において、 送信側は、送信側データ蓄積手段に蓄積されている転送
対象データを順次読み出して分割し、一連のシーケンス
番号を付与したパケットに順次格納して受信側に転送
し、 受信側は、送信側からパケットを順次受信し、正常受信
したパケットに格納されているデータをランダム・アク
セスにより受信側データ蓄積手段に蓄積するとともに、
正常受信できなかったパケットのシーケンス番号を保持
してパケット受信中に所定期間ごとに前記シーケンス番
号を送信側に通知し、 送信側は、パケット転送中に受信側から通知された前記
シーケンス番号をテーブルに保持し、一連のパケット転
送終了後、前記テーブルにシーケンス番号が格納されて
いる場合には、そのシーケンス番号に対応するデータを
送信側データ蓄積手段に蓄積されている転送対象データ
からランダム・アクセスにより読み出し、そのシーケン
ス番号を付与したパケットに格納して受信側に再転送す
ることを特徴とするデータ転送エラー制御方法。
In a data transfer error control method for transferring data to be transferred from a transmission side to a reception side via a communication network, the transmission side stores the transfer target data stored in the transmission side data storage means. The packet is sequentially read and divided, sequentially stored in a series of packets with sequence numbers, and transferred to the receiving side. The receiving side sequentially receives the packets from the transmitting side, and randomizes the data stored in the normally received packet. -While being stored in the data storage means on the receiving side by access,
Holding the sequence number of the packet that could not be received normally, and notifying the sequence number to the transmitting side at predetermined intervals during packet reception, the transmitting side stores the sequence number notified from the receiving side during packet transfer in a table. If a sequence number is stored in the table after the end of a series of packet transfer, the data corresponding to the sequence number is randomly accessed from the transfer target data stored in the transmission side data storage means. A data transfer error control method, wherein the data is read out, stored in a packet provided with the sequence number, and retransmitted to a receiving side.
JP8309344A 1996-11-20 1996-11-20 Method for controlling data transfer error Pending JPH10150435A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8309344A JPH10150435A (en) 1996-11-20 1996-11-20 Method for controlling data transfer error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8309344A JPH10150435A (en) 1996-11-20 1996-11-20 Method for controlling data transfer error

Publications (1)

Publication Number Publication Date
JPH10150435A true JPH10150435A (en) 1998-06-02

Family

ID=17991885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8309344A Pending JPH10150435A (en) 1996-11-20 1996-11-20 Method for controlling data transfer error

Country Status (1)

Country Link
JP (1) JPH10150435A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003078580A (en) * 2001-08-31 2003-03-14 Sony Corp Communication method and communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003078580A (en) * 2001-08-31 2003-03-14 Sony Corp Communication method and communication system

Similar Documents

Publication Publication Date Title
US5664091A (en) Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol
US7283522B2 (en) Method and apparatus for offloading message segmentation to a network interface card
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
US20100232437A1 (en) Method and node for transmitting data over a communication network using negative acknowledgment
JPH07307977A (en) Communication method/device
WO1996017462A2 (en) A reliable connectionless network protocol
JPH11340986A (en) Device used for radio communication system and program recording medium
JPH09160858A (en) Data resending method and server
WO2006107423A2 (en) Error recovery mechanism and network element comprising same
JP4229807B2 (en) Data transfer method, TCP proxy device, and network system using the same
JP2006191368A (en) Network transmission device
JPH10150435A (en) Method for controlling data transfer error
JP2000022744A (en) Packet communication system, packet communication device and packet communication method
JPH0552106B2 (en)
JPH11177621A (en) Data transmission equipment and data communication system
JPH114259A (en) Virtual connection communication equipment and communication method
JPH09284343A (en) Method and device for transferring and reproducing store-type multi-media information
JPH0730543A (en) Frame re-transmission method
JPH11168525A (en) Data communication method and data communication equipment
JP3148733B2 (en) Signal processing device and signal processing system
JP3930842B2 (en) Packet transmitter
JPS63246055A (en) Packet transmitter-receiver
JPH04107660A (en) File transfer system
KR101298544B1 (en) Apparatus and method for processing of received packets in mobile communication system
JPH0685839A (en) System for avoiding missing packet between stations