JP2010206608A - Transmission apparatus, transmission rate calculation method and transmission rate calculation program - Google Patents

Transmission apparatus, transmission rate calculation method and transmission rate calculation program Download PDF

Info

Publication number
JP2010206608A
JP2010206608A JP2009050739A JP2009050739A JP2010206608A JP 2010206608 A JP2010206608 A JP 2010206608A JP 2009050739 A JP2009050739 A JP 2009050739A JP 2009050739 A JP2009050739 A JP 2009050739A JP 2010206608 A JP2010206608 A JP 2010206608A
Authority
JP
Japan
Prior art keywords
transmission rate
transmission
change
acknowledgment signal
ack
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
JP2009050739A
Other languages
Japanese (ja)
Other versions
JP5387058B2 (en
Inventor
Ichiro Yamaguchi
一郎 山口
Norito Fujita
範人 藤田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009050739A priority Critical patent/JP5387058B2/en
Publication of JP2010206608A publication Critical patent/JP2010206608A/en
Application granted granted Critical
Publication of JP5387058B2 publication Critical patent/JP5387058B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a transmission apparatus, transmission rate calculation method and transmission rate calculation program in which a transmission rate corresponding to a congestion state of a network can be determined even if a frequency of ACK is decreased. <P>SOLUTION: The transmission apparatus 10 is configured to perform transmission rate control by receiving an acknowledgement signal from a receiving apparatus 20 which transmits the acknowledgement signal each time M pieces of (M is an integer of ≥2) data packets are received. The transmission apparatus 10 comprises: a transmission rate change estimation section 11 for estimating a transmission rate change in the case where the acknowledgement signal is returned from the receiving apparatus 20 each time N pieces of (N is an integer smaller than M) data packets are received; and a transmission rate calculation section 12 for calculating a transmission rate based on the transmission rate change estimated by the transmission rate change estimation section 11. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は送信装置、送信レート算出方法及び送信レート算出プログラムに関し、特に確認応答信号を用いた送信レートの設定に関する。   The present invention relates to a transmission apparatus, a transmission rate calculation method, and a transmission rate calculation program, and more particularly to setting of a transmission rate using an acknowledgment signal.

送受信端末間で、データパケットの送達確認を行いながら送信レート制御を行って通信するプロトコルとしてTCP(Transmission Control Protocol)が挙げられる。TCPのレート制御方法は、受信端末からのACK(Acknowledgement)パケットを送信端末が受信するが、送信端末はACKパケットの受信を待たずに送出可能なデータパケット量を制御する。送信が成功すれば送出量を増加させ、失敗すると送出量を減少させる。   TCP (Transmission Control Protocol) is an example of a protocol for performing transmission rate control while performing transmission confirmation of data packets between transmission and reception terminals. In the TCP rate control method, the transmitting terminal receives an ACK (Acknowledgement) packet from the receiving terminal. The transmitting terminal controls the amount of data packet that can be transmitted without waiting for the reception of the ACK packet. If the transmission is successful, the transmission amount is increased, and if the transmission is unsuccessful, the transmission amount is decreased.

非特許文献1に記載されているTCPの制御について図12、図13を用いて説明する。図12はTCP通信を行う送信端末100、受信端末200の構成図である。   TCP control described in Non-Patent Document 1 will be described with reference to FIGS. FIG. 12 is a configuration diagram of the transmission terminal 100 and the reception terminal 200 that perform TCP communication.

最初に、送信端末100について説明する。データ送信部101は、送信データ蓄積部104からデータを取り出して、送信レート決定部103から通知される送信レートでデータパケットを送信する。ACK受信部102は、受信端末200からACKパケットを受信して、受信端末200におけるパケットロスを検出すると、データ送信部101へ再送を要求する。また、送信レート決定部103に対して、データパケットの送信に成功したかどうか通知する。   First, the transmission terminal 100 will be described. The data transmission unit 101 extracts data from the transmission data storage unit 104 and transmits data packets at the transmission rate notified from the transmission rate determination unit 103. When ACK receiving section 102 receives an ACK packet from receiving terminal 200 and detects a packet loss at receiving terminal 200, ACK receiving section 102 requests retransmission to data transmitting section 101. Further, it notifies the transmission rate determining unit 103 whether or not the data packet has been successfully transmitted.

送信レート決定部103は、ACKパケットを受信し、ACKパケットに含まれるACK番号が進んでデータパケットの送信に成功したことがわかると、送出量を増加させる。増加させる方法としては、図13に示すように現在の送出量が予め定めたssthresh(slow start threshold)よりも小さい場合、ACKパケット受信毎に送信レートを2倍にする。現在の送出量がssthreshよりも大きい場合は、ACKパケット受信毎に1/(現在の送出レート)分増加させる。   The transmission rate determining unit 103 receives the ACK packet, and when the ACK number included in the ACK packet advances and it is found that the data packet has been successfully transmitted, the transmission rate determining unit 103 increases the transmission amount. As a method of increasing, as shown in FIG. 13, when the current transmission amount is smaller than a predetermined ssthresh (slow start threshold), the transmission rate is doubled every time an ACK packet is received. When the current transmission amount is larger than ssthresh, it is increased by 1 / (current transmission rate) every time an ACK packet is received.

また、同じACK番号のACKパケットを重複して受信した場合には、受信端末200においてパケットロスしたと判断して、送出量を半減させる。一定時間ACKパケットを受け取らない場合は、送出量を1データパケットまで減少させる。送信データ蓄積部104は、送信するデータを蓄積している。   Further, when ACK packets with the same ACK number are received repeatedly, it is determined that the receiving terminal 200 has lost the packet, and the transmission amount is halved. If no ACK packet is received for a certain period of time, the transmission amount is reduced to one data packet. The transmission data storage unit 104 stores data to be transmitted.

次に、受信端末200の説明をする。データ受信部201は、送信端末100からのデータを受信して、ACK送信部202へ受信で進んだシーケンス番号を通知し、データを受信データ蓄積部204へ蓄積する。ACK送信部202は、ACK頻度決定部203から通知される頻度で、データ受信部201から通知されるシーケンス番号から次に受信を期待するシーケンス番号をACK番号としてACKパケットを作成し、返信する。ACK頻度決定部203は、データパケットX(Xは1以上の整数)個受信毎にACKパケットの返信および一定時間経過すればACKパケットの返信をACK送信部201へ指示する。TCPでは、X=2が推奨されている。   Next, the receiving terminal 200 will be described. The data reception unit 201 receives data from the transmission terminal 100, notifies the ACK transmission unit 202 of the sequence number that has been received, and accumulates the data in the reception data accumulation unit 204. The ACK transmission unit 202 creates an ACK packet with the frequency notified from the ACK frequency determination unit 203 as an ACK number from the sequence number notified from the data reception unit 201 as an ACK number, and returns the ACK packet. The ACK frequency determination unit 203 instructs the ACK transmission unit 201 to return an ACK packet every time a data packet X (X is an integer equal to or greater than 1) is received and to return an ACK packet after a predetermined time has elapsed. In TCP, X = 2 is recommended.

M.Allman,V.Paxson,W.Stevens,"RFC2581 TCP congestion Control"IETF,April1999M.M. Allman, V .; Paxson, W.M. Stevens, "RFC2581 TCP congestion control" IETF, April 1999

ACKパケットの頻度を決めるXが大きな値をとる場合や、一定時間が大きくなる場合、ACKパケットの頻度が減少し、送信レート制御の粒度が粗くなり、ネットワークの込み具合の変化に応じた送信レート制御が困難になる。   When X that determines the frequency of ACK packets takes a large value, or when a certain period of time increases, the frequency of ACK packets decreases, the granularity of transmission rate control becomes coarse, and the transmission rate according to changes in network congestion Control becomes difficult.

具体的に図14を用いて説明する。図14は、ACKの頻度が減少したときのレートの変化を表したものである。丸印のプロットは、データパケット受信毎にACKパケットを返信した場合の送信レートの変化を表し、四角印のプロットは、データパケット3個受信毎にACKパケットを返信した場合の送信レートの変化表している。図14に示したように、データパケット3個受信毎にACKパケットを返信した場合は、ネットワークの輻輳に反応してレート減少させるタイミングが遅れるという問題や、送信レートの増加が鈍化するという問題がある。   This will be specifically described with reference to FIG. FIG. 14 shows a change in rate when the frequency of ACK decreases. A circled plot represents a change in transmission rate when an ACK packet is returned every time a data packet is received, and a square mark plot represents a change in transmission rate when an ACK packet is returned every 3 data packets are received. ing. As shown in FIG. 14, when an ACK packet is returned every time three data packets are received, there is a problem that the timing of rate reduction is delayed in response to network congestion, and a problem that the increase in transmission rate is slowed down. is there.

本発明は、このような問題点を解決するためになされたものであり、ACKの頻度が減少しても、ネットワークの輻輳状態に応じた送信レートを決定するができる送信装置、送信レート算出方法及び送信レート算出プログラムを提供することを目的とする。   The present invention has been made to solve such problems, and a transmission apparatus and a transmission rate calculation method capable of determining a transmission rate according to a congestion state of a network even if the frequency of ACKs is reduced. An object of the present invention is to provide a transmission rate calculation program.

本発明の第1の態様にかかる送信装置は、M個(Mは2以上の整数)のデータパケット受信毎に確認応答信号を送信する受信装置から前記確認応答信号を受信して送信レート制御を行う送信装置であって、前記確認応答信号受信時に、前記確認応答信号が前記受信装置からN個(NはMよりも小さい整数)のデータパケット受信毎に返信された場合の送信レート変化を推定する送信レート変化推定部と、前記送信レート変化推定部によって推定された送信レート変化に基づいて送信レートを計算する送信レート計算部を備えたものである。   The transmitting apparatus according to the first aspect of the present invention receives the acknowledgment signal from a receiving apparatus that transmits the acknowledgment signal every time M (M is an integer of 2 or more) data packets are received, and performs transmission rate control. A transmission apparatus that performs transmission, and estimates a change in transmission rate when the acknowledgment signal is returned for each reception of N (N is an integer smaller than M) data packets when the acknowledgment signal is received. And a transmission rate calculation unit that calculates a transmission rate based on the transmission rate change estimated by the transmission rate change estimation unit.

また、本発明の第2の態様にかかる送信レート算出方法は、M個(Mは2以上の整数)のデータパケット受信毎に生成される確認応答信号に基づいて、送信レートの算出を行う送信レート算出方法であって、前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、前記推定された送信レート変化に基づいて送信レートを計算するステップを備えることである。   The transmission rate calculation method according to the second aspect of the present invention is a transmission rate calculation based on an acknowledgment signal generated every time M (M is an integer of 2 or more) data packets are received. A rate calculation method, wherein when the acknowledgment signal is generated every N data packets (N is an integer smaller than M), a transmission rate change is estimated based on the acknowledgment signal; Calculating a transmission rate based on the estimated transmission rate change.

また、本発明の第3の態様にかかる送信レート算出プログラムは、M個(Mは2以上の整数)のデータパケット受信毎に生成される確認応答信号に基づいて、送信レートの算出を行う送信レート算出プログラムであって、前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、前記推定された送信レート変化に基づいて送信レートを計算するステップを送信装置の制御コンピュータに実行させるものである。   The transmission rate calculation program according to the third aspect of the present invention is a transmission that calculates a transmission rate based on an acknowledgment signal generated every time M (M is an integer of 2 or more) data packets are received. A rate calculation program for estimating a change in transmission rate based on the acknowledgment signal when the acknowledgment signal is generated every N (N is an integer smaller than M) data packets; The step of calculating a transmission rate based on the estimated transmission rate change is executed by a control computer of the transmission apparatus.

本発明により、ACKの頻度が減少しても、ネットワークの輻輳状態に応じた送信レートを決定するができる送信装置、送信レート算出方法及び送信レート算出プログラムを提供することができる。   According to the present invention, it is possible to provide a transmission apparatus, a transmission rate calculation method, and a transmission rate calculation program that can determine a transmission rate according to the congestion state of the network even if the frequency of ACKs decreases.

実施の形態1にかかる送信装置の構成図である。1 is a configuration diagram of a transmission device according to a first exemplary embodiment; 実施の形態1にかかる送信装置及び受信装置の構成図である。1 is a configuration diagram of a transmission device and a reception device according to a first embodiment. 実施の形態1にかかるパケットロスの検出方法を示す図である。FIG. 3 is a diagram illustrating a packet loss detection method according to the first exemplary embodiment. 実施の形態1にかかるACKパケットの構成図である。FIG. 3 is a configuration diagram of an ACK packet according to the first embodiment. 実施の形態1にかかる送信レート変化を示す図である。FIG. 6 is a diagram showing a change in transmission rate according to the first exemplary embodiment. 実施の形態1にかかる送信装置及び受信装置のフローチャートである。4 is a flowchart of a transmission device and a reception device according to the first exemplary embodiment. 実施の形態1にかかる送信レート変化の制御を示す図である。FIG. 6 is a diagram illustrating transmission rate change control according to the first exemplary embodiment; 実施の形態2にかかる送信装置及び受信装置の構成図である。FIG. 3 is a configuration diagram of a transmission device and a reception device according to a second exemplary embodiment. 実施の形態2にかかる送信レート変化を示す図である。It is a figure which shows the transmission rate change concerning Embodiment 2. FIG. 実施の形態2にかかる送信レート変化を示す図である。It is a figure which shows the transmission rate change concerning Embodiment 2. FIG. 実施の形態2にかかる送信装置及び受信装置のフローチャートである。6 is a flowchart of a transmission device and a reception device according to a second exemplary embodiment. 従来の送信装置及び受信装置の構成図である。It is a block diagram of the conventional transmitter and receiver. 従来の送信レート変化を示す図である。It is a figure which shows the conventional transmission rate change. 従来の送信レート変化を示す図である。It is a figure which shows the conventional transmission rate change.

(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1は本発明の実施の形態1にかかる送信装置の構成図である。ここで、送信装置10は、受信装置20に対して送信したデータパケットの送達結果を確認するために、受信装置20から確認応答信号(ACKパケット)を受信する。受信装置20は、M個(Mは2以上の整数)のデータパケットを受信する毎に確認応答信号を送信装置10に送信する。送信装置10は、受信した確認応答信号に基づいて、送信レート制御を実施する。送信装置10は、送信レート変化推定部11と、送信レート計算部12を備えている。
(Embodiment 1)
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a configuration diagram of a transmission apparatus according to Embodiment 1 of the present invention. Here, the transmitting device 10 receives an acknowledgment signal (ACK packet) from the receiving device 20 in order to confirm the delivery result of the data packet transmitted to the receiving device 20. The reception device 20 transmits an acknowledgment signal to the transmission device 10 every time M data packets (M is an integer of 2 or more) are received. The transmission device 10 performs transmission rate control based on the received acknowledgment signal. The transmission device 10 includes a transmission rate change estimation unit 11 and a transmission rate calculation unit 12.

送信レート変化推定部11は、受信装置20からの確認応答信号受信時に、確認応答信号が受信装置20からN個(NはMよりも小さい整数)のデータパケットを受信する毎に返信された場合の送信レートの変化を推定する。具体的には、受信装置20がデータパケットの受信に成功した場合は、送信レートを増加させ、受信装置20がデータパケットの受信に失敗した場合は、送信レートを減少させるとした場合の送信レート変化を推定する。受信装置20がデータパケットの受信に成功したか否かの情報は、送信装置10が受信装置20から受信する確認信号に基づいて確認することができる。   When the transmission rate change estimation unit 11 receives an acknowledgment signal from the receiving device 20, the acknowledgment signal is returned every time N data packets (N is an integer smaller than M) are received from the receiving device 20. Estimate the change in transmission rate. Specifically, the transmission rate is increased when the reception device 20 has successfully received the data packet, and the transmission rate is decreased when the reception device 20 has failed to receive the data packet. Estimate changes. Information regarding whether or not the reception device 20 has successfully received the data packet can be confirmed based on a confirmation signal received by the transmission device 10 from the reception device 20.

送信レート計算部12は、送信レート変化推定部11によって推定された送信レート変化に基づいて送信レートを計算する。   The transmission rate calculation unit 12 calculates the transmission rate based on the transmission rate change estimated by the transmission rate change estimation unit 11.

次に、図2を用いて本発明の実施の形態1にかかる送信装置と受信装置の構成について詳細に説明する。送信装置10は、パケットを一意に識別するシーケンス番号を含んだデータパケットを送信し、受信装置20は、TCP SACK(Selective ACK)オプションを用いて、ACK番号として次に受信を期待するシーケンス番号を設定し、また、受信したデータパケットのシーケンス番号を含んだACKパケットを送信装置10へ返信する。   Next, the configuration of the transmission apparatus and the reception apparatus according to the first embodiment of the present invention will be described in detail with reference to FIG. The transmitting device 10 transmits a data packet including a sequence number that uniquely identifies the packet, and the receiving device 20 uses the TCP SACK (Selective ACK) option to set a sequence number that is expected to be received next as an ACK number. The ACK packet including the sequence number of the received data packet is returned to the transmitting apparatus 10.

送信装置10は、送信レート変化推定部11と、送信レート計算部12と、データ送信部13と、ACK受信部14と、RTT(Round Trip Time)計測部15と、送信データ蓄積部16を備えている。   The transmission device 10 includes a transmission rate change estimation unit 11, a transmission rate calculation unit 12, a data transmission unit 13, an ACK reception unit 14, an RTT (Round Trip Time) measurement unit 15, and a transmission data storage unit 16. ing.

データ送信部13は、送信データ蓄積部16からデータを取得し、取得したデータをパケット化する。そして、送信レート計算部12から通知される送信レートに従ってパケットを送信する。また、データパケットを送信したときにRTT計測部15に送信時刻を通知する。   The data transmission unit 13 acquires data from the transmission data storage unit 16 and packetizes the acquired data. Then, the packet is transmitted according to the transmission rate notified from the transmission rate calculation unit 12. In addition, when the data packet is transmitted, the RTT measuring unit 15 is notified of the transmission time.

ACK受信部14は、ACKパケット受信時にRTT計測部15に受信時刻を通知する。さらに、受信したACKパケットに含まれる情報からパケットロス発生を検出すると、データ送信部13に対して、パケットロスしたパケットの再送を指示する。パケットロスの判定は、同じACK番号のACKパケットを一定数以上受信するか、一定時間以上ACKパケットを受信しない場合である。パケットロス発生の検出方法は後に詳述する。また、ACK受信部14は、ACKパケットを送信レート変化推定部11へ通知する。   The ACK receiver 14 notifies the RTT measuring unit 15 of the reception time when receiving the ACK packet. Furthermore, when occurrence of packet loss is detected from information included in the received ACK packet, the data transmission unit 13 is instructed to retransmit the packet lost. The packet loss is determined when a certain number or more of ACK packets having the same ACK number are received or when no ACK packet is received for a certain time. A method for detecting occurrence of packet loss will be described in detail later. Further, the ACK receiving unit 14 notifies the transmission rate change estimating unit 11 of the ACK packet.

RTT計測部15は、データ送信部13からデータパケットの送信時刻、ACK受信部14からACKパケット受信時刻を取得する。これにより、データパケットを送信してから、当該データパケットに対するACKを受信するまでの時間を示すRTT値を計算する。これにより求められたRTT値を送信レート変化推定部11へ通知する。   The RTT measurement unit 15 obtains the data packet transmission time from the data transmission unit 13 and the ACK packet reception time from the ACK reception unit 14. As a result, an RTT value indicating the time from when a data packet is transmitted to when an ACK for the data packet is received is calculated. The transmission rate change estimation unit 11 is notified of the RTT value thus obtained.

送信レート変化推定部11は、ACK受信部14から通知されるACKパケットから、受信装置20がデータパケットを正常に受信したか否かの情報を取得する。さらに、RTT計測部15から取得するRTT値に基づいて、受信装置20がデータパケット受信毎にACKパケットが返信された場合に、変化する送信レートの変化を推定する。推定結果を送信レート計算部12へ通知する。   The transmission rate change estimation unit 11 acquires information on whether or not the reception device 20 has normally received the data packet from the ACK packet notified from the ACK reception unit 14. Further, based on the RTT value acquired from the RTT measurement unit 15, the receiving device 20 estimates a change in the transmission rate that changes when an ACK packet is returned every time a data packet is received. The estimation result is notified to the transmission rate calculation unit 12.

次に、図3、図4、図5を用いて送信レート変化の推定方法について説明する。受信装置20が、データパケットを受信するたびにACKパケットを返信し、送信装置10がACKパケットを受信した場合の送信レートの変化を推定する。   Next, a method for estimating a change in transmission rate will be described with reference to FIGS. The receiving device 20 returns an ACK packet each time it receives a data packet, and estimates a change in transmission rate when the transmitting device 10 receives the ACK packet.

図3は、データパケットとACKパケットの送信の様子を示しており、送信装置10は、データパケットのサイズ100Byteでシーケンス番号100から2400までのデータパケットを送信している(実線の矢印)。例えば、送信装置10から送信するデータパケット100は、シーケンス番号100から199までのデータより構成される。図3は、データパケット600、700、800、1900をロスしている様子を示している。   FIG. 3 shows how data packets and ACK packets are transmitted. The transmitting apparatus 10 transmits data packets with sequence numbers 100 to 2400 with a data packet size of 100 bytes (solid line arrows). For example, the data packet 100 transmitted from the transmission device 10 is composed of data with sequence numbers 100 to 199. FIG. 3 shows that data packets 600, 700, 800, 1900 are lost.

受信装置20は、送信装置10から20個のデータパケットを受信して、図4に示すACKパケットを送信装置10へ返信する(図3の受信装置20から送信装置10へ向かう実線の矢印)。具体的には、データパケット2400を取得した時点で、データパケットが20個に達するため、ACKパケットを返信する。受信装置20が連続して受信できている最新のシーケンス番号が599までなので、ACKパケットのACK番号は600と設定される。また、受信できているデータパケットのシーケンス番号として900〜1899、2000〜2499が含まれる。   The receiving device 20 receives 20 data packets from the transmitting device 10 and returns the ACK packet shown in FIG. 4 to the transmitting device 10 (solid line arrow from the receiving device 20 to the transmitting device 10 in FIG. 3). Specifically, when the data packet 2400 is acquired, since 20 data packets are reached, an ACK packet is returned. Since the latest sequence number that the receiving device 20 can continuously receive is up to 599, the ACK number of the ACK packet is set to 600. Further, 900 to 1899 and 2000 to 2499 are included as sequence numbers of data packets that can be received.

送信レート変化推定部11は、ACK受信部14から、ACKパケットを受信すると、送信レート計算部12から現在の送信レートを取得し、RTT計測部15からRTT値を取得する。さらに、ACKパケットに示されるシーケンス番号から、データパケット受信毎にACKが返信された場合の送信レートを推測する。図5は、受信装置20がデータパケットを1個受信する毎にACKを返信した場合の送信レートの変化を示している。ACKパケット受信の時点で送信レートは図5に示すようにrate_aで、送信レート閾値よりも大きい値とする。図4に示すACKパケットからシーケンス番号100から599までの5個のデータパケットが送信成功していることが分かるので、図5の送信レートrate_aから一定量で5回送信レートを増加させる。送信装置10の送信レート制御は、データ送信が成功すれば送信レートを増加させ、データ送信が失敗すれば、送信レートを減少させる。   When the transmission rate change estimation unit 11 receives the ACK packet from the ACK reception unit 14, the transmission rate change estimation unit 11 acquires the current transmission rate from the transmission rate calculation unit 12 and acquires the RTT value from the RTT measurement unit 15. Further, the transmission rate when an ACK is returned every time a data packet is received is estimated from the sequence number indicated in the ACK packet. FIG. 5 shows changes in the transmission rate when the receiving apparatus 20 returns an ACK every time it receives one data packet. As shown in FIG. 5, the transmission rate at the time of receiving the ACK packet is rate_a, which is larger than the transmission rate threshold. Since it can be seen that five data packets with sequence numbers 100 to 599 from the ACK packet shown in FIG. 4 have been successfully transmitted, the transmission rate is increased by a fixed amount five times from the transmission rate rate_a in FIG. The transmission rate control of the transmission apparatus 10 increases the transmission rate if the data transmission is successful, and decreases the transmission rate if the data transmission fails.

送信レートの増加方法は、送信レートの閾値を設定して、閾値以下であれば、データ送信が成功したACKパケット受信毎に送信データレートを例えば2倍にし、指数関数的に増加させる。送信レートが閾値以上になると、データ送信が成功したACKパケット受信毎に一定量増加させ、線形的に増加させる。   The transmission rate is increased by setting a threshold for the transmission rate, and if it is equal to or less than the threshold, the transmission data rate is doubled, for example, every time an ACK packet for which data transmission has been successful is received, and exponentially increased. When the transmission rate is equal to or higher than the threshold value, the transmission rate is increased by a certain amount every time an ACK packet having been successfully transmitted is received, and is increased linearly.

ここで、送信装置10における受信装置20のパケットロス検出方法とレート制御について説明する。受信装置20が、データパケット受信毎にACKパケットを返信する場合のパケットロス検出方法は(1)同じACK番号のACKパケットを複数受信した場合(2)一定時間ACKパケットを受信しない場合(再送タイムアウトの検出)、の2通りある。送信レート制御は、(1)の場合、パケットロス検出の直前の送信レートを半分にし、(2)の場合、次のACKを受信するまでに少なくとも1個のデータパケットを送信できるレートまで下げる。再送タイムアウト時間は、RTT+4×(RTTの平均偏差)で求める。ここでは、同じACK番号のACKパケットを3つ受信するとロスしたと判断すると、送信装置10が、図3の(7)のACKパケットを受信すると、3回連続でACK番号600のACKパケットを受信することになる。これにより、シーケンス番号600番のデータパケットのロスが発生したと検知してシーケンス番号1300のデータパケット送信に割り込んで再送を実施する。この再送パケットのデータ送信が成功するまで、ACKパケット受信毎に送信レートを一定量増加させる(図5の区間A)。シーケンス番号600のデータパケットの再送成功は、ACK番号が700に設定されている図3の(10)のACKパケット受信により検知する。このとき送信レートを半減させる(図5のタイミングB)。このとき、送信レート閾値を、半減させた送信レート値に更新する。   Here, the packet loss detection method and rate control of the receiving device 20 in the transmitting device 10 will be described. When the receiving device 20 returns an ACK packet every time a data packet is received, the packet loss detection method is (1) when a plurality of ACK packets with the same ACK number are received (2) when an ACK packet is not received for a certain period of time (retransmission timeout) Detection). In the case of (1), the transmission rate control halves the transmission rate immediately before the packet loss detection, and in the case of (2), the transmission rate is reduced to a rate at which at least one data packet can be transmitted before the next ACK is received. The retransmission timeout time is obtained by RTT + 4 × (average deviation of RTT). Here, if it is determined that three ACK packets having the same ACK number have been received and lost, the transmitting apparatus 10 receives the ACK packet having the ACK number 600 three times consecutively when receiving the ACK packet (7) in FIG. Will do. As a result, it is detected that a data packet with the sequence number 600 has been lost, and the data packet transmission with the sequence number 1300 is interrupted to perform retransmission. The transmission rate is increased by a certain amount every time an ACK packet is received until data transmission of this retransmission packet is successful (section A in FIG. 5). Successful retransmission of the data packet with the sequence number 600 is detected by the reception of the ACK packet (10) in FIG. At this time, the transmission rate is halved (timing B in FIG. 5). At this time, the transmission rate threshold value is updated to a transmission rate value halved.

次に、図3の(12)のACKパケットを受信した時点で、3回連続でACK番号700のACKパケットを受信することになる。これにより、シーケンス番号700のデータパケットのロスが発生したと検知してシーケンス番号1800のデータ送信に割り込んで再送を実施する。図3の(14)のACKパケット受信までは、ACKパケット受信毎に一定量送信レートを増加させる(図5の区間C)。図3の(15)のACKパケットを受信により、シーケンス番号700番の再送が成功したと検知し、シーケンス番号2200の送信レートを半減させる(図5のタイミングD)。このとき、送信レート閾値を半減させた送信レート値に更新する。   Next, when the ACK packet (12) in FIG. 3 is received, the ACK packet with the ACK number 700 is received three times in succession. As a result, it is detected that a loss of the data packet with the sequence number 700 has occurred, and the retransmission is performed by interrupting the data transmission with the sequence number 1800. Until the reception of the ACK packet of (14) in FIG. 3, the transmission rate is increased by a certain amount every time the ACK packet is received (section C in FIG. 5). By receiving the ACK packet of (15) in FIG. 3, it is detected that the retransmission of sequence number 700 is successful, and the transmission rate of sequence number 2200 is halved (timing D in FIG. 5). At this time, the transmission rate threshold value is updated to a half of the transmission rate threshold value.

次に、シーケンス番号2200のデータパケット送信直前に、800番のACKパケットを一定時間受信しなかったため、再送タイムアウトが発生したとする。このとき、送信レートを次のACKパケットを受信するまで少なくとも1個のデータパケットが送出可能な送信レートまで低減させる(図5のタイミングE)。その後、図3の(19)のACKパケットを受信するまで送信レートを増加させる。送信レートは、送信レート閾値よりも小さいため、ACKパケット受信毎に送信レートを2倍する(図5の区間F)。   Next, it is assumed that the retransmission timeout occurred because the 800th ACK packet was not received for a certain period of time immediately before the data packet having the sequence number 2200 was transmitted. At this time, the transmission rate is reduced to a transmission rate at which at least one data packet can be transmitted until the next ACK packet is received (timing E in FIG. 5). Thereafter, the transmission rate is increased until the ACK packet (19) in FIG. 3 is received. Since the transmission rate is smaller than the transmission rate threshold, the transmission rate is doubled every time an ACK packet is received (section F in FIG. 5).

前述のようにACKパケットの情報とRTTから、データパケット送信成功の場合は、送信レート閾値よりも大きいかどうかを判断して、送信レートの増加幅を推定する。データパケットロスの場合、再送タイムアウトが発生するかどうかをRTTから判断して減少幅を推定する。このようにして推定した送信レート変化の推定結果を送信レート計算部12へ通知する。   As described above, from the information of the ACK packet and the RTT, when the data packet transmission is successful, it is determined whether or not it is larger than the transmission rate threshold value, and the increase rate of the transmission rate is estimated. In the case of a data packet loss, it is judged from the RTT whether or not a retransmission timeout occurs, and the reduction width is estimated. The transmission rate calculation unit 12 is notified of the estimation result of the transmission rate change thus estimated.

1データパケット毎にACKパケットが返信される場合の送信レート変化を推定することで、送信装置10は、単純にレートを増減させるのではなく、データパケットの送信成功および失敗からネットワークの輻輳状況に応じたレート制御を可能とさせる。つまり、ACKパケットの頻度は少ないにもかかわらず、制御粒度の細かいレート制御を実現することが可能となる。   By estimating the change in transmission rate when an ACK packet is returned for each data packet, the transmission apparatus 10 does not simply increase or decrease the rate, but instead of the data packet transmission success and failure to the network congestion situation. It is possible to control the rate accordingly. That is, it is possible to realize rate control with fine control granularity despite the low frequency of ACK packets.

送信レート計算部12は、送信レート変化推定部11から送信レート変化の推定情報を取得する。推定した送信レートの変化から、データパケット毎にACKパケットが返信された場合における、送信装置10がデータパケットを送信してから、ACKパケットを受信するまでの送信データ量を算出することができる。このようにして算出した送信データ量を、次のACKパケットが到着するまでに送出できる送信データ量として推定する。この送信データ量を、次のACKパケットが到着するまでに、送信できるよう、送信レートを設定する。設定したレートは、データ送信部13へ通知する。   The transmission rate calculation unit 12 acquires transmission rate change estimation information from the transmission rate change estimation unit 11. From the estimated change in the transmission rate, it is possible to calculate the transmission data amount from when the transmission device 10 transmits the data packet to when the ACK packet is received when the ACK packet is returned for each data packet. The amount of transmission data calculated in this way is estimated as the amount of transmission data that can be transmitted before the arrival of the next ACK packet. The transmission rate is set so that this transmission data amount can be transmitted before the next ACK packet arrives. The set rate is notified to the data transmission unit 13.

また、送信レートは、送信レート変化推定部11が推定した送信レートの平均送信レートを送信レートとしてもよく、ネットワークの帯域を使い切る指標値としてロス直前の送信レートの平均を計算し、送信レートとしてもよい。ロス直前の送信レートは、図5の丸で囲んだときの送信レートである。   The transmission rate may be the average transmission rate of the transmission rate estimated by the transmission rate change estimation unit 11, and the average of the transmission rates immediately before the loss is calculated as an index value that uses up the network bandwidth. Also good. The transmission rate immediately before the loss is the transmission rate when circled in FIG.

送信データ蓄積部16は、送信するデータを蓄積する。   The transmission data storage unit 16 stores data to be transmitted.

以上説明したように、送信装置10は、データパケットの送信成功時には、送信レートを増加させ、失敗時には送信レートを減少させる制御で説明したが、上記以外にもACKパケットをトリガーに送信レート制御している方式にも適用できる。また、以上の説明においては、送信装置10における処理について説明したが、データパケットを受信した受信装置20でも、生成するACKパケットの情報に基づいて、送信装置10と同様の処理を行うことが可能である。   As described above, the transmission apparatus 10 has been described with the control of increasing the transmission rate when the data packet transmission is successful and decreasing the transmission rate when the data packet fails, but in addition to the above, the transmission apparatus 10 controls the transmission rate using the ACK packet as a trigger. It can also be applied to existing methods. In the above description, the processing in the transmission device 10 has been described. However, the reception device 20 that has received the data packet can perform the same processing as the transmission device 10 based on the information of the generated ACK packet. It is.

次に、図2の受信装置20の構成について説明する。受信装置20は、データ受信部21、ACK送信部22、ACK頻度決定部23、受信データ蓄積部24を備えている。   Next, the configuration of the receiving device 20 in FIG. 2 will be described. The reception device 20 includes a data reception unit 21, an ACK transmission unit 22, an ACK frequency determination unit 23, and a reception data storage unit 24.

データ受信部21は、送信装置10からのデータパケットを受信する。データ受信部21は、受信したデータの情報をACK送信部22へ通知する。具体的には、データパケットのシーケンス番号等である。さらに、データ受信部21は、データパケットを受信データ蓄積部24へ蓄積する。   The data reception unit 21 receives a data packet from the transmission device 10. The data reception unit 21 notifies the ACK transmission unit 22 of information on the received data. Specifically, it is the sequence number of the data packet. Further, the data receiving unit 21 stores the data packet in the received data storage unit 24.

ACK送信部22は、図4に示すように、受信したデータパケットを一意に識別するシーケンス番号を含んだACKパケットを作成して、ACK頻度度決定部23から通知される頻度に従って送信装置10へ送信する。   As illustrated in FIG. 4, the ACK transmission unit 22 creates an ACK packet including a sequence number that uniquely identifies the received data packet, and transmits the ACK packet to the transmission device 10 according to the frequency notified from the ACK frequency degree determination unit 23. Send.

ACK頻度決定部23は、送信装置10に対して、ACKを送信する頻度を決定し、ACK送信部22へ通知する。前述のACKの頻度とは、データパケットX(Xは1以上の整数)個受信毎にACKパケットを送信装置10へ返信するもしくは時間周期的にACKパケットを返信する。ACK送信部22へは、Xの値もしくは周期的にACKパケットを返信する時間を決定して、ACK送信部22に通知する。   The ACK frequency determination unit 23 determines the frequency of transmitting ACK to the transmission device 10 and notifies the ACK transmission unit 22 of the frequency. The frequency of ACK described above is that an ACK packet is returned to the transmission apparatus 10 every time data packet X (X is an integer of 1 or more) is received, or an ACK packet is returned periodically. To the ACK transmission unit 22, the value of X or the time for periodically returning the ACK packet is determined and notified to the ACK transmission unit 22.

次に、図6を用いて本発明の実施の形態1にかかる送信装置と受信装置の処理の流れにつき説明を行う。   Next, the processing flow of the transmitting apparatus and the receiving apparatus according to the first embodiment of the present invention will be described with reference to FIG.

はじめに、送信装置10は、送信データ蓄積部16からデータを取り出してパケット化する。さらに、送信レート計算部12から通知される送信レートに従ってデータパケットを送信する。このとき、パケットサイズは100Byteとしている。また、データパケットには、データパケットを一意に識別するシーケンス番号を含める(S100)。   First, the transmission apparatus 10 extracts data from the transmission data storage unit 16 and packetizes it. Further, the data packet is transmitted according to the transmission rate notified from the transmission rate calculation unit 12. At this time, the packet size is 100 bytes. The data packet includes a sequence number that uniquely identifies the data packet (S100).

次に、受信装置20では、ACK頻度決定部23から、データパケットを20個受信毎にACKパケットを生成して送出するよう通知がなされる。受信装置20は、図3に示すように、シーケンス番号2400のデータパケットを受信時にACKパケットを作成して返信し、送信装置10はACKパケットを受信する(S101)。   Next, in the receiving device 20, the ACK frequency determining unit 23 is notified to generate and send an ACK packet every time 20 data packets are received. As shown in FIG. 3, the receiving device 20 creates and returns an ACK packet when receiving the data packet with the sequence number 2400, and the transmitting device 10 receives the ACK packet (S101).

次に、ACK受信部14は送信レート変化推定部11へ、ACK番号、受信したデータのシーケンス番号等を含むACKパケットの情報を通知する。また、ACK受信部14は、データ送信部13へロスしたパケットの再送を指示する。RTT計測部15は、RTTを計算して送信レート変化推定部11へRTTを通知する(S102)。   Next, the ACK receiving unit 14 notifies the transmission rate change estimating unit 11 of ACK packet information including an ACK number, a sequence number of received data, and the like. In addition, the ACK receiver 14 instructs the data transmitter 13 to retransmit the lost packet. The RTT measurement unit 15 calculates the RTT and notifies the transmission rate change estimation unit 11 of the RTT (S102).

次に、送信レート変化推定部11は、送信レートの変化を推定し、送信レート計算部12へ通知する(S103)。送信レート変化の推定方法は、図3乃至図5で説明したものと同様であるため、説明を省略する。   Next, the transmission rate change estimation unit 11 estimates a change in the transmission rate and notifies the transmission rate calculation unit 12 (S103). The method for estimating the transmission rate change is the same as that described with reference to FIGS.

次に、送信レート計算部12は、送信レート変化推定部11から通知された送信レート変化と、次にACKパケットを受信するまでに送信する送信データ量から、送信レートを算出し(S104)、データ送信部13に通知する(S105)。   Next, the transmission rate calculation unit 12 calculates the transmission rate from the transmission rate change notified from the transmission rate change estimation unit 11 and the transmission data amount to be transmitted until the next reception of the ACK packet (S104), The data transmission unit 13 is notified (S105).

次に、図7を用いて本発明の実施の形態1にかかる送信レート変化の推定処理の流れにつき説明を行う。ACK受信部14は、ACKパケットを受信してから受信装置20におけるデータパケットのロスがあるか確認する(S200)。データパケットのロスがあれば、再送タイムアウトが発生するかどうか確認する(S201)。再送タイムアウトが発生すれば送信レートを最小にする(S202)。再送タイムアウトが発生しないようであれば、送信レートを半減させる(S203)。   Next, a flow of transmission rate change estimation processing according to the first exemplary embodiment of the present invention will be described with reference to FIG. The ACK receiving unit 14 checks whether there is a data packet loss in the receiving device 20 after receiving the ACK packet (S200). If there is a data packet loss, it is checked whether a retransmission timeout occurs (S201). If a retransmission timeout occurs, the transmission rate is minimized (S202). If retransmission timeout does not occur, the transmission rate is halved (S203).

次に、S200において、ロスがなければ、現在の送信レートが送信レート閾値よりも大きいか確認する(S204)。閾値よりも大きければ、送信レートを一定量増加させる(S205)。閾値よりも小さければ、送信レートを例えば2倍にする(S206)。   Next, in S200, if there is no loss, it is confirmed whether the present transmission rate is larger than a transmission rate threshold value (S204). If it is larger than the threshold, the transmission rate is increased by a certain amount (S205). If it is smaller than the threshold, the transmission rate is doubled, for example (S206).

以上説明したように、本発明の実施の形態1にかかる送信装置をもちいることにより、ACKの頻度が減少しても、ACKが例えば1データパケット毎に返信される場合の送信レートの変化を推測して、送信レートを決定することで、よりネットワークの輻輳状態に応じた送信レート制御を実現できる。つまり、ACKの頻度を減少させることによりネットワークに送出されるACKパケットを減少させることが可能であり、送信装置及び受信装置のACKパケット処理に伴う処理負荷を軽減させることができる。さらに、ACKパケットが例えば1データパケット毎に返信された場合と同様に高精度な送信レート制御を行うことができる。   As described above, by using the transmission apparatus according to the first embodiment of the present invention, even if the frequency of ACK decreases, the change in transmission rate when ACK is returned for each data packet, for example. By estimating and determining the transmission rate, transmission rate control according to the congestion state of the network can be realized. That is, by reducing the frequency of ACK, it is possible to reduce the number of ACK packets sent to the network, and the processing load associated with the ACK packet processing of the transmission device and the reception device can be reduced. Furthermore, highly accurate transmission rate control can be performed as in the case where an ACK packet is returned for each data packet, for example.

(実施の形態2)
図8を用いて本発明の実施の形態2にかかる送信装置10の構成について説明する。送信装置10は、図1の送信装置10の構成に、送信レート変化制御部17を加えた構成となる。その他の構成は図1と同様である。
(Embodiment 2)
The configuration of the transmission apparatus 10 according to the second embodiment of the present invention will be described with reference to FIG. The transmission apparatus 10 has a configuration in which a transmission rate change control unit 17 is added to the configuration of the transmission apparatus 10 of FIG. Other configurations are the same as those in FIG.

送信レート変化制御部17は、送信レート計算部12から送信レートを取得する。また、ACK受信部14からACKパケットの受信時刻とACKパケット到着までに送出するデータパケット数を取得し、次のACKパケットを受信するまでに、ACK受信部14から取得したデータパケット数を送信できるように、到達送信レート、送信レートの増減およびタイミングを決定する。到達送信レートとは、次のACKパケットを受信する時に設定する送信レートである。送信レートが、現在の送信レートの値よりも一定値以上の場合、急激に送信レートを増加させるとネットワーク内で輻輳が発生する可能性があるため線形的に増加させる。ここで、送信レートの増減とタイミング制御方法について2つの場合に分けて説明する。   The transmission rate change control unit 17 acquires the transmission rate from the transmission rate calculation unit 12. In addition, the reception time of the ACK packet and the number of data packets to be sent before the arrival of the ACK packet can be acquired from the ACK reception unit 14, and the number of data packets acquired from the ACK reception unit 14 can be transmitted until the next ACK packet is received. Thus, the arrival transmission rate, the increase / decrease of the transmission rate, and the timing are determined. The arrival transmission rate is a transmission rate set when the next ACK packet is received. When the transmission rate is a certain value or more than the value of the current transmission rate, if the transmission rate is rapidly increased, congestion may occur in the network, so that the transmission rate is increased linearly. Here, the increase / decrease of the transmission rate and the timing control method will be described separately in two cases.

(1)現在の送信レート+α≦送信レート計算部12で計算される送信レート、の場合。αは任意の送信レート値を示す。   (1) In the case of current transmission rate + α ≦ transmission rate calculated by the transmission rate calculation unit 12. α represents an arbitrary transmission rate value.

前述にあるとおり、この場合、送信レートが急激に増加し、ネットワーク中で輻輳が発生する可能性がある。このため、急激なレート増加による輻輳を抑制するため線形的に送信レートを増加させる。まず、増加させるタイミングについて説明する。送信レートを増加させるタイミングは、受信装置20が、1データパケット受信毎にACKパケットを返信している場合の送信レート制御タイミングと合わせる。ACKパケットを受信するまでに送出しているデータパケット数に等しい回数のタイミングで増加させる。図9では、ACKパケットを受信するまでに4個のデータパケットを送信している場合の様子を示している。従って、増加させるタイミングは、ACK受信部14から通知される時刻から算出されるACKパケット到着間隔を4で除算した値となる。図9ではその値をTとしている。   As described above, in this case, the transmission rate increases rapidly, and congestion may occur in the network. For this reason, the transmission rate is increased linearly to suppress congestion due to a rapid rate increase. First, the increase timing will be described. The timing for increasing the transmission rate is matched with the transmission rate control timing when the receiving device 20 returns an ACK packet every time one data packet is received. The number is increased at the same number of times as the number of data packets transmitted until the ACK packet is received. FIG. 9 shows a state in which four data packets are transmitted until an ACK packet is received. Therefore, the increase timing is a value obtained by dividing the ACK packet arrival interval calculated from the time notified from the ACK receiver 14 by 4. In FIG. 9, the value is T.

次に、4回の送信レート増加で到達させる送信レートについて説明する。次のACKパケットが到着するまで、送信レート計算部12から通知される送信レートrate_cで送信した場合のデータパケット量(図11の斜線部の面積)を送信するため、次のACKパケット受信時までに到達する送信レートは2×rate_c−rate_aとなる。従って、1回での送信レート増加量βはβ=2(rate_c−rat_a)/4となる。図9は、現在の送信レートrate_a+αが、送信レート計算部12で計算されたrate_cよりも小さい値であることを示している。前述より、T時間毎に2(rate_c−rat_a)/4送信レートを増加させる。本情報をデータ送信部13へ通知する。   Next, the transmission rate reached by increasing the transmission rate four times will be described. Until the next ACK packet arrives, the data packet amount (area of the shaded area in FIG. 11) transmitted at the transmission rate rate_c notified from the transmission rate calculation unit 12 is transmitted. The transmission rate to reach is 2 × rate_c-rate_a. Therefore, the transmission rate increase amount β at one time is β = 2 (rate_c−rat_a) / 4. FIG. 9 shows that the current transmission rate rate_a + α is smaller than the rate_c calculated by the transmission rate calculation unit 12. As described above, 2 (rate_c-rat_a) / 4 transmission rate is increased every T time. This information is notified to the data transmission unit 13.

(2)送信レート計算部12で計算される送信レート<現在の送信レート+α、の場合。αは任意の送信レート値を示す。   (2) When the transmission rate calculated by the transmission rate calculation unit 12 <the current transmission rate + α. α represents an arbitrary transmission rate value.

この場合、現在の送信レートを、送信レート計算部12で計算される送信レートに変更しても、ネットワークにおいて輻輳が発生する可能性は低いため、図10に示すように送信レートrate_cで送信するようにデータ送信部13へ通知する。   In this case, even if the current transmission rate is changed to the transmission rate calculated by the transmission rate calculation unit 12, it is unlikely that congestion will occur in the network, so transmission is performed at the transmission rate rate_c as shown in FIG. Thus, the data transmission unit 13 is notified.

次に、図11を用いて、本発明の実施の形態2にかかる送信装置と受信装置の処理の流れにつき説明する。なお、S304までは、図6のS104までと同様であるため、説明を省略する。   Next, with reference to FIG. 11, the processing flow of the transmitting apparatus and the receiving apparatus according to the second embodiment of the present invention will be described. The process up to S304 is the same as that up to S104 in FIG.

送信レート計算部12は、送信レート変化推定部11から通知された送信レート変化と、次にACKパケットを受信するまでに送信する送信データ量から、送信レートを算出し送信レート変化制御部17に出力する。送信レート変化推定部11から送信レート、ACK受信部14からACKパケット受信時刻とACKパケット到着までに送信したデータパケット数を取得し、前述のとおり、送信レートの増加量およびタイミングを求めて(S205)、データ送信部13へ通知する(S206)。   The transmission rate calculation unit 12 calculates the transmission rate from the transmission rate change notified from the transmission rate change estimation unit 11 and the transmission data amount to be transmitted until the next ACK packet is received, and sends it to the transmission rate change control unit 17. Output. The transmission rate change estimation unit 11 obtains the transmission rate, the ACK reception unit 14 obtains the ACK packet reception time and the number of data packets transmitted until the arrival of the ACK packet, and obtains the increase amount and timing of the transmission rate as described above (S205). ), And notifies the data transmitter 13 (S206).

以上説明したように、本発明の実施の形態2にかかる送信装置を用いることにより、現在の送信レートよりも算出された送信レートが大きい場合、急激に送信レートを増加させるのではなく、線形的に徐々に増加させることで、ネットワークの輻輳を回避することができる。   As described above, by using the transmission apparatus according to the second embodiment of the present invention, when the calculated transmission rate is larger than the current transmission rate, the transmission rate is not increased suddenly but linearly. By gradually increasing the network congestion, network congestion can be avoided.

以上の説明は、本発明の実施の形態を説明するものであり、本発明が以上の実施の形態に限定されるものではない。また、当業者であれば、以上の実施の形態の各要素を本発明の範囲において容易に変更、追加、変換することが可能である。   The above description describes the embodiment of the present invention, and the present invention is not limited to the above embodiment. Moreover, those skilled in the art can easily change, add, and convert each element of the above embodiments within the scope of the present invention.

10 送信装置
11 送信レート変化推定部
12 送信レート計算部
13 データ送信部
14 ACK受信部
15 RTT計測部
16 送信データ蓄積部
17 送信レート変化制御部
20 受信装置
21 データ受信部
22 ACK送信部
23 ACK頻度決定部
24 受信データ蓄積部
DESCRIPTION OF SYMBOLS 10 Transmission apparatus 11 Transmission rate change estimation part 12 Transmission rate calculation part 13 Data transmission part 14 ACK reception part 15 RTT measurement part 16 Transmission data storage part 17 Transmission rate change control part 20 Reception apparatus 21 Data reception part 22 ACK transmission part 23 ACK Frequency determination unit 24 Received data storage unit

Claims (17)

M個(Mは2以上の整数)のデータパケット受信毎に確認応答信号を送信する受信装置から前記確認応答信号を受信して送信レート制御を行う送信装置であって、
前記確認応答信号受信時に、前記確認応答信号が前記受信装置からN個(NはMよりも小さい整数)のデータパケット受信毎に返信された場合の送信レート変化を推定する送信レート変化推定部と、
前記送信レート変化推定部によって推定された送信レート変化に基づいて送信レートを計算する送信レート計算部を備えた送信装置。
A transmission apparatus that receives the confirmation response signal from a reception apparatus that transmits an acknowledgment signal every time M data packets are received (M is an integer of 2 or more), and performs transmission rate control;
A transmission rate change estimator for estimating a change in transmission rate when the acknowledgment signal is returned every N (N is an integer smaller than M) data packets received from the receiving device when receiving the acknowledgment signal; ,
A transmission apparatus comprising: a transmission rate calculation unit that calculates a transmission rate based on a transmission rate change estimated by the transmission rate change estimation unit.
前記送信レート計算部は、前記送信レート変化から次の確認応答信号を受信するまでに送信できるデータパケット量を計算し、前記データパケット量に応じて送信レートを計算することを特徴とする請求項1記載の送信装置。   The transmission rate calculation unit calculates an amount of data packets that can be transmitted from the change in the transmission rate until a next acknowledgment signal is received, and calculates a transmission rate according to the amount of data packets. 1. The transmission device according to 1. 現在の送信レートと前記送信レート計算部によって計算された送信レートの大小関係に基づいて、次に設定する送信レートの増減量と前記現在の送信レートの変更タイミングを決定する送信レート変化制御部、をさらに備える請求項1又は2記載の送信装置。   A transmission rate change control unit that determines the amount of increase / decrease of the transmission rate to be set next and the change timing of the current transmission rate based on the magnitude relationship between the current transmission rate and the transmission rate calculated by the transmission rate calculation unit; The transmission device according to claim 1, further comprising: 前記送信レート変化推定部は、前記現在の送信レートと、あらかじめ定められた送信レート閾値と、データパケット送信後確認応答信号を受信するまでのタイミングと、確認応答信号に含まれるデータパケット受信の成功もしくは失敗の情報とに基づいて、前記受信装置がN個のデータパケット受信毎に確認応答信号を返信する場合の前記送信レート変化を推定することを特徴とする請求項1乃至3のいずれか1項に記載の送信装置。   The transmission rate change estimation unit includes the current transmission rate, a predetermined transmission rate threshold, a timing until receiving an acknowledgment signal after transmitting the data packet, and a successful reception of the data packet included in the acknowledgment signal. Alternatively, the transmission rate change in the case where the receiving apparatus sends back an acknowledgment signal every time N data packets are received is estimated based on failure information. The transmitter according to the item. 前記送信レート変化推定部は、前記受信装置において、前記データパケットの受信が成功した場合に送信レートが増加すると推定することを特徴とする請求項1乃至4のいずれか1項に記載の送信装置。   The transmission apparatus according to any one of claims 1 to 4, wherein the transmission rate change estimation unit estimates that a transmission rate increases when the reception apparatus successfully receives the data packet. . 前記送信レート変化推定部は、前記送信レートが増加すると推定した場合に、前記送信レート閾値と比較し、推定中の送信レートが前記送信レート閾値以上の場合には、送信レートは線形的に増加し、推定中の送信レートが前記送信レート閾値よりも小さい場合には、送信レートは指数関数的に増加すると推定することを特徴とする請求項1乃至5のいずれか1項に記載の送信装置。   The transmission rate change estimation unit compares the transmission rate with the transmission rate threshold when the transmission rate is estimated to increase, and increases linearly when the estimated transmission rate is equal to or higher than the transmission rate threshold. 6. The transmission apparatus according to claim 1, wherein when the transmission rate being estimated is smaller than the transmission rate threshold, the transmission rate is estimated to increase exponentially. . 前記送信レート変化推定部は、前記受信装置において、前記データパケットの受信に失敗した場合に送信レートが減少すると推定することを特徴とする請求項1乃至4のいずれか1項に記載の送信装置。   The transmission apparatus according to any one of claims 1 to 4, wherein the transmission rate change estimation unit estimates that a transmission rate decreases when the reception apparatus fails to receive the data packet. . 前記送信レート変化推定部は、前記送信レートが減少すると推定した場合に、前記送信レートの減少に基づいて、前記送信レート閾値も減少すると推定することを特徴とする請求項1乃至4及び請求項7のいずれか1項に記載の送信装置。   5. The transmission rate change estimation unit, when estimating that the transmission rate is decreased, estimates that the transmission rate threshold is also decreased based on the decrease in the transmission rate. 8. The transmission device according to any one of items 7. 前記送信レート変化推定部は、前記送信レートが減少すると判定した場合に、前記データパケット送信後確認応答信号を受信するまでのタイミングに基づいて再送タイムアウト値を推定し、前記再送タイムアウトが発生しなければ前記推定中の送信レートが半減すると推定し、前記再送タイムアウトが発生すれば、送信レートが最小値になると推定することを特徴とする請求項1乃至4、請求項7及び請求項8のいずれか1項に記載の送信装置。   When the transmission rate change estimation unit determines that the transmission rate is decreased, the transmission rate change estimation unit estimates a retransmission timeout value based on a timing until receiving an acknowledgment signal after transmitting the data packet, and the retransmission timeout must occur. The transmission rate is estimated to be halved, and if the retransmission timeout occurs, the transmission rate is estimated to be a minimum value. The transmission device according to claim 1. 前記送信レート計算部は、前記送信レート変化の推定から前記推定した送信レートの平均値を算出し、送信レートを計算することを特徴とする請求項1乃至4のいずれか1項に記載の送信装置。   The transmission according to any one of claims 1 to 4, wherein the transmission rate calculation unit calculates an average value of the estimated transmission rates from the estimation of the transmission rate change, and calculates a transmission rate. apparatus. 前記送信レート計算部は、前記送信レート変化の推定から推定した送信レートが減少する直前の前記推定した送信レート値の平均を送信レートとすることを特徴とする請求項1乃至4、及び請求項10のいずれか1項に記載の送信装置。   5. The transmission rate calculation unit, wherein the transmission rate is an average of the estimated transmission rate values immediately before the transmission rate estimated from the estimation of the transmission rate change is reduced. The transmission device according to any one of 10. 前記送信レート変化制御部は、前記送信レート計算部から通知される送信レートが、現在の送信レートよりも大きくかつ前記送信レートと現在の送信レートとの差分が一定以上ある場合、前記送信レート増加量と前記送信レート変更タイミングを決定することを特徴とする請求項3記載の送信装置。   The transmission rate change control unit increases the transmission rate when the transmission rate notified from the transmission rate calculation unit is greater than the current transmission rate and the difference between the transmission rate and the current transmission rate is equal to or greater than a certain value. 4. The transmission apparatus according to claim 3, wherein an amount and the transmission rate change timing are determined. 前記送信レート変化制御部は、前記送信レート変更タイミングを、前記受信装置が、確認応答信号を返信してから次の確認応答信号を返信するまでの推定タイミングに基づいて決定することを特徴とする請求項3又は請求項12に記載の送信装置。   The transmission rate change control unit determines the transmission rate change timing based on an estimated timing from when the receiving apparatus returns an acknowledgment signal to when the next acknowledgment signal is returned. The transmission device according to claim 3 or 12. 前記送信レート変化制御部は、前記送信レート計算部から通知される送信レートが、現在の送信レートよりも大きくかつ前記送信レートと現在の送信レートとの差分が一定以上ある場合、次に確認応答信号が到着するまでに前記送信レート計算部から通知される送信レートで送信可能なデータパケット数に基づいて、次に確認応答信号が到着する時の到達送信レートを決定することを特徴とする請求項3又は請求項12又は請求項13に記載の送信装置。   When the transmission rate notified from the transmission rate calculation unit is greater than the current transmission rate and the difference between the transmission rate and the current transmission rate is greater than or equal to a certain value, the transmission rate change control unit The arrival transmission rate at which the next acknowledgment signal arrives is determined based on the number of data packets that can be transmitted at the transmission rate notified from the transmission rate calculation unit until the signal arrives. The transmission device according to claim 3 or claim 12 or claim 13. 前記送信レート変化制御部は、前記送信レート変更タイミングと前記到達送信レートから送信レート増加量を決定することを特徴とする請求項14に記載の送信装置。   The transmission apparatus according to claim 14, wherein the transmission rate change control unit determines a transmission rate increase amount from the transmission rate change timing and the arrival transmission rate. M個(Mは2以上の整数)のデータパケット受信毎に生成される確認応答信号に基づいて、送信レートの算出を行う送信レート算出方法であって、
前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、
前記推定された送信レート変化に基づいて送信レートを計算するステップを備えた送信レート算出方法。
A transmission rate calculation method for calculating a transmission rate based on an acknowledgment signal generated every time M data packets are received (M is an integer of 2 or more),
Estimating the transmission rate change based on the acknowledgment signal when the acknowledgment signal is generated for each reception of N (N is an integer smaller than M) data packets;
A transmission rate calculation method comprising a step of calculating a transmission rate based on the estimated transmission rate change.
M個(Mは2以上の整数)のデータパケット受信毎に生成される確認応答信号に基づいて、送信レートの算出を行う送信レート算出プログラムであって、
前記確認応答信号がN個(NはMよりも小さい整数)のデータパケット受信毎に生成された場合に当該確認応答信号に基づいて送信レート変化を推定するステップと、
前記推定された送信レート変化に基づいて送信レートを計算するステップを送信装置の制御コンピュータに実行させる送信レート算出プログラム。
A transmission rate calculation program for calculating a transmission rate based on an acknowledgment signal generated every time M data packets are received (M is an integer of 2 or more),
Estimating the transmission rate change based on the acknowledgment signal when the acknowledgment signal is generated for each reception of N (N is an integer smaller than M) data packets;
A transmission rate calculation program for causing a control computer of a transmission apparatus to execute a step of calculating a transmission rate based on the estimated transmission rate change.
JP2009050739A 2009-03-04 2009-03-04 Transmission device, transmission rate calculation method, and transmission rate calculation program Expired - Fee Related JP5387058B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009050739A JP5387058B2 (en) 2009-03-04 2009-03-04 Transmission device, transmission rate calculation method, and transmission rate calculation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009050739A JP5387058B2 (en) 2009-03-04 2009-03-04 Transmission device, transmission rate calculation method, and transmission rate calculation program

Publications (2)

Publication Number Publication Date
JP2010206608A true JP2010206608A (en) 2010-09-16
JP5387058B2 JP5387058B2 (en) 2014-01-15

Family

ID=42967615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009050739A Expired - Fee Related JP5387058B2 (en) 2009-03-04 2009-03-04 Transmission device, transmission rate calculation method, and transmission rate calculation program

Country Status (1)

Country Link
JP (1) JP5387058B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014014126A (en) * 2013-08-29 2014-01-23 Intel Corp Storage medium and system for access point congestion detection and reduction
JP2014222464A (en) * 2013-05-14 2014-11-27 株式会社東芝 Control device
JP2018535582A (en) * 2015-09-21 2018-11-29 華為技術有限公司Huawei Technologies Co.,Ltd. Packet transmission method and user equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102356912B1 (en) * 2017-06-16 2022-01-28 삼성전자 주식회사 Method and apparatus for transmitting a TCP ACK in a communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180158A (en) * 2002-11-28 2004-06-24 Ntt Docomo Inc Base station controller, data transmission method and program
JP2005086375A (en) * 2003-09-05 2005-03-31 Ntt Docomo Inc Packet volume control method, communication system, communication apparatus, and program
JP2008053888A (en) * 2006-08-23 2008-03-06 Matsushita Electric Ind Co Ltd Communication equipment, program, information storage medium and communication control method
JP2008085950A (en) * 2006-09-29 2008-04-10 Kddi Corp Rate control method using tcp, server and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180158A (en) * 2002-11-28 2004-06-24 Ntt Docomo Inc Base station controller, data transmission method and program
JP2005086375A (en) * 2003-09-05 2005-03-31 Ntt Docomo Inc Packet volume control method, communication system, communication apparatus, and program
JP2008053888A (en) * 2006-08-23 2008-03-06 Matsushita Electric Ind Co Ltd Communication equipment, program, information storage medium and communication control method
JP2008085950A (en) * 2006-09-29 2008-04-10 Kddi Corp Rate control method using tcp, server and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014222464A (en) * 2013-05-14 2014-11-27 株式会社東芝 Control device
JP2014014126A (en) * 2013-08-29 2014-01-23 Intel Corp Storage medium and system for access point congestion detection and reduction
JP2018535582A (en) * 2015-09-21 2018-11-29 華為技術有限公司Huawei Technologies Co.,Ltd. Packet transmission method and user equipment
US10601554B2 (en) 2015-09-21 2020-03-24 Huawei Technologies Co., Ltd. Packet transmission method and user equipment
US11153041B2 (en) 2015-09-21 2021-10-19 Huawei Technologies Co., Ltd. Packet transmission method and user equipment

Also Published As

Publication number Publication date
JP5387058B2 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
JP4778453B2 (en) Communication terminal, congestion control method, and congestion control program
KR100597425B1 (en) Method for preventing unnecessary retransmission caused by transmission delay in wireless network and communication apparatus using the same
JP4708978B2 (en) Communication system, communication terminal, session relay device, and communication protocol realizing high throughput
JP5867188B2 (en) Information processing apparatus, congestion control method, and congestion control program
US20080239953A1 (en) Method and apparatus for minimizing congestion in gateways
US20070177502A1 (en) Communication system, communication apparatus, congestion control method used therefor, and program for the method
US20060209838A1 (en) Method and system for estimating average bandwidth in a communication network based on transmission control protocol
WO2007141643A1 (en) Dynamically adjusting the amount of packets to be acknowledged in an asymmetric communication system
JP2007534194A5 (en)
CN107800638B (en) Congestion control method and device
US20080239948A1 (en) Speculative congestion control system and cross-layer architecture for use in lossy computer networks
US8565249B2 (en) Queue management system and methods
CN113014505B (en) Transmission control method for time delay differentiation in high dynamic topology satellite network
CN111193577B (en) Network system communication method and communication device using transmission timeout
Waghmare et al. Comparative Analysis of different TCP variants in a wireless environment
JP5387058B2 (en) Transmission device, transmission rate calculation method, and transmission rate calculation program
KR100922472B1 (en) Communication terminal, communication control method, and communication control program
US11405148B2 (en) Communication system, communication device, method, and recording medium of program
JP6011813B2 (en) COMMUNICATION DEVICE AND ITS COMMUNICATION CONTROL METHOD
US10003470B2 (en) Method and terminal for transmitting and receiving data
Hurtig et al. Tcp and stream control transmission protocol (sctp) rto restart
KR100518000B1 (en) Method for transmitting a delayed ack
KR100915996B1 (en) Method and Terminal for Controlling Transmission according Bandwidth Change
JP2008283523A (en) Data transmitter, data transmitting method, and data transmission program
WO2013011638A1 (en) Communication device and communication control method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130826

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: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130923

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees