Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4249049B2 - COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD - Google Patents
[go: Go Back, main page]

JP4249049B2 - COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD - Google Patents

COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD Download PDF

Info

Publication number
JP4249049B2
JP4249049B2 JP2004026127A JP2004026127A JP4249049B2 JP 4249049 B2 JP4249049 B2 JP 4249049B2 JP 2004026127 A JP2004026127 A JP 2004026127A JP 2004026127 A JP2004026127 A JP 2004026127A JP 4249049 B2 JP4249049 B2 JP 4249049B2
Authority
JP
Japan
Prior art keywords
window size
transmission
data packet
packet
transmission unit
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.)
Expired - Fee Related
Application number
JP2004026127A
Other languages
Japanese (ja)
Other versions
JP2005218069A (en
Inventor
健太郎 齋藤
健 五十嵐
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2004026127A priority Critical patent/JP4249049B2/en
Publication of JP2005218069A publication Critical patent/JP2005218069A/en
Application granted granted Critical
Publication of JP4249049B2 publication Critical patent/JP4249049B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信システム、通信装置、プログラム及び通信方法に関する。   The present invention relates to a communication system, a communication device, a program, and a communication method.

TCP(Transmission Control Protocol)における輻輳制御方式には、TCP Renoのようなリアクティブな輻輳制御方式や、TCP Vegasのようなプロアクティブな輻輳制御方式がある。TCP Renoでは、送信端末はネットワークの輻輳に伴うパケットロスが発生するまでデータパケットの送信速度を徐々に増加させ、パケットロスを検出すると送信速度を大きく減少させる。そのため、TCP−Renoでは、結局、輻輳が発生してしまい、ネットワークを有効に利用できない欠点がある。   As a congestion control method in TCP (Transmission Control Protocol), there are a reactive congestion control method such as TCP Reno and a proactive congestion control method such as TCP Vegas. In TCP Reno, the transmission terminal gradually increases the transmission rate of data packets until packet loss due to network congestion occurs, and greatly reduces the transmission rate when a packet loss is detected. For this reason, TCP-Reno has a drawback in that congestion eventually occurs and the network cannot be used effectively.

TCP Vegasでは、送信端末は、送信端末と受信端末との間のラウンドトリップタイム(Round Trip Time、以下「RTT」と表す)の増加を、輻輳検出に用いる。具体的には、ネットワークが輻輳し始めると、ネットワーク上のルータに蓄積され、待ち行列に入る蓄積パケット量が増加することによるキューイング遅延が増大し、RTTが増加し始める。そのため、送信端末は、RTTが増加し始めた時点で、データパケットの送信速度を抑える。よって、TCP Vegasでは、輻輳を防止し、ネットワークを有効に利用できる(例えば、非特許文献1、非特許文献2参照)。   In TCP Vegas, the transmission terminal uses an increase in round trip time (Round Trip Time, hereinafter referred to as “RTT”) between the transmission terminal and the reception terminal for congestion detection. Specifically, when the network starts to congest, the queuing delay due to the increase in the amount of stored packets that are stored in the routers on the network and enter the queue increases, and the RTT starts to increase. Therefore, the transmission terminal suppresses the transmission rate of the data packet when the RTT starts to increase. Therefore, in TCP Vegas, congestion can be prevented and the network can be used effectively (see, for example, Non-Patent Document 1 and Non-Patent Document 2).

TCP Vegasでは、輻輳回避フェーズ(Congestion Avoidance Phase)に移行後、送信端末は1RTT毎に、以下に示す(1)式、(2)式を用いて輻輳ウィンドウサイズ(Congestion Window Size、以下「cwnd」と表す)を変更し、輻輳制御を行う。   In TCP Vegas, after shifting to the Congestion Avoidance Phase, the transmission terminal uses the following Expressions (1) and (2) for each RTT, and the Congestion Window Size (hereinafter “cwnd”) is used. And the congestion control is performed.

Queued_packet<α のとき、
cwnd_next=cwnd+1データパケット (1)式
Queued_packet>β のとき、
cwnd_next=cwnd−1データパケット (2式)
When Queued_packet <α,
cwnd_next = cwnd + 1 data packet (1)
When Queued_packet> β,
cwnd_next = cwnd-1 data packet (2 formulas)

(1)、(2)式において、「Queued_packet」は蓄積パケット量、「cwnd」は現在のcwnd、「cwnd_next」は次にデータパケットを送信する際のcwndである。α、βは定数であり、αのデフォルト値は1データパケット、βのデフォルト値は3データパケットである。
Charalampos (Basis) Samios and Mark K. Vernon, “Modeling the Throughput of TCP Vegas”, Proceedings of the 2003 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, volume 31 Issue 1, June 2003 長谷川 剛、倉田 謙二、村田 正幸、「バージョン間の公平性を考慮したTCP Vegasの改善方式」、電子情報通信学会技術研究報告(SSE2000-31),2000年5月
In Equations (1) and (2), “Queued_packet” is the amount of accumulated packets, “cwnd” is the current cwnd, and “cwnd_next” is the cwnd when the next data packet is transmitted. α and β are constants. The default value of α is 1 data packet, and the default value of β is 3 data packets.
Charalampos (Basis) Samios and Mark K. Vernon, “Modeling the Throughput of TCP Vegas”, Proceedings of the 2003 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, volume 31 Issue 1, June 2003 Takeshi Hasegawa, Kenji Kurata, Masayuki Murata, “Improvement method of TCP Vegas considering fairness between versions”, IEICE Technical Report (SSE2000-31), May 2000

しかしながら、従来のTCP Vegasにおける輻輳制御方法では、cwndは1RTT毎に1データパケット分しか増減できず、cwndの変更量は固定的である。即ち、cwndの変更の早さは、1RTTにつき1データパケット分だけであり、固定的である。そのため、従来の輻輳制御方法では、ネットワークのトラフィック状況の急激な変化に十分に追従することができなかった。   However, in the congestion control method in the conventional TCP Vegas, cwnd can be increased or decreased by one data packet every RTT, and the change amount of cwnd is fixed. That is, the change speed of cwnd is only one data packet per RTT, and is fixed. For this reason, the conventional congestion control method cannot sufficiently follow a rapid change in the traffic state of the network.

具体的には、図7(a)に示すように、送信端末210の通信中に他の端末装置も通信している場合、ネットワーク上には送信端末210による送信端末トラフィック201aと、他の端末装置による他トラフィック201bとが存在する。そして、ネットワーク上のルータ230の送信バッファ231には、送信端末210や他の端末装置からのデータパケット201が蓄積され、待ち行列に入っている。   Specifically, as shown in FIG. 7 (a), when other terminal devices are also communicating during the communication of the transmission terminal 210, the transmission terminal traffic 201a by the transmission terminal 210 and other terminals are placed on the network. Other traffic 201b by the device exists. In the transmission buffer 231 of the router 230 on the network, data packets 201 from the transmission terminal 210 and other terminal devices are accumulated and queued.

図7(a)において、他トラフィック201bが少ない、あるいは、他の端末装置が通信をしておらず、他トラフィック201bが存在しないとする。このとき、図7(b)に示すように、他の端末装置が送信するデータパケット量が増加したり、他の端末装置が通信を開始したりすると、他トラフィック201bが増加し、ネットワークが輻輳し始める。そして、ルータ230の送信バッファ231に大量のデータパケット201が蓄積され始める。この場合に、従来の輻輳制御方法では、cwndを1RTT毎に1データパケット分しか減少させることができず、送信速度の低下が遅いため、送信端末210や他の端末装置のデータパケットの送信速度を速やかに抑えることができない。その結果、送信バッファ231からデータパケット201が溢れ、パケットロスが発生する。   In FIG. 7A, it is assumed that there is little other traffic 201b, or other terminal devices are not communicating and there is no other traffic 201b. At this time, as shown in FIG. 7B, when the amount of data packets transmitted by other terminal devices increases or when other terminal devices start communication, the other traffic 201b increases and the network is congested. Begin to. Then, a large amount of data packets 201 starts to be accumulated in the transmission buffer 231 of the router 230. In this case, according to the conventional congestion control method, cwnd can be reduced by only one data packet every 1 RTT, and the transmission rate decreases slowly. Therefore, the transmission rate of the data packet of the transmission terminal 210 or another terminal device is slow. Cannot be quickly suppressed. As a result, the data packet 201 overflows from the transmission buffer 231 and packet loss occurs.

一方、図7(a)において、ある程度の他トラフィック201bが存在するとする。このとき、図7(c)に示すように、他の端末装置が通信を終了すると、他トラフィック201bはなくなり、送信端末トラフィック201aだけになる。そして、ルータ230の送信バッファ231にデータパケットが蓄積されなくなり、ネットワークの通信帯域に空きが生じる。この場合に、従来の輻輳制御方法では、cwndを1RTT毎に1データパケット分しか増加させることができず、送信速度の向上が遅いため、送信端末210のデータパケットの送信速度を速やかに向上させることができない。その結果、ネットワークの通信帯域を有効に利用できない。   On the other hand, in FIG. 7A, it is assumed that some other traffic 201b exists. At this time, as shown in FIG. 7C, when the other terminal device ends the communication, the other traffic 201b disappears and only the transmitting terminal traffic 201a exists. Then, data packets are not accumulated in the transmission buffer 231 of the router 230, and a vacant network communication band is generated. In this case, in the conventional congestion control method, cwnd can be increased only by one data packet for each RTT, and the transmission speed is not improved rapidly. Therefore, the data packet transmission speed of the transmission terminal 210 is quickly increased. I can't. As a result, the network communication band cannot be used effectively.

そこで、本発明は、ネットワークのトラフィック状況の変化に追従したデータパケットの送信を可能にすることを目的とする。   In view of the above, an object of the present invention is to enable transmission of a data packet following a change in the traffic situation of a network.

本発明に係る通信システム、通信装置は、ネットワークのトラフィック状況を取得する取得手段と、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段と、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段とを備えることを特徴とする。   A communication system and a communication device according to the present invention include an acquisition unit that acquires a traffic state of a network, a window size control unit that determines a window size change amount based on the traffic state, and a window size change amount. And transmission control means for controlling transmission of the data packet.

このような通信システム、通信装置によれば、トラフィック状況を取得し、取得したトラフィック状況に応じてウィンドウサイズの変更量を動的に変更できる。そして、通信システム、通信装置は、動的に変更されたウィンドウサイズの変更量に基づいて動的に変更されたウィンドウサイズを用いて、データパケットを送信できる。そのため、通信システム、通信装置は、ネットワークのトラフィック状況の変化に追従してデータパケットを送信できる。   According to such a communication system and communication apparatus, it is possible to acquire the traffic situation and dynamically change the window size change amount according to the acquired traffic situation. And a communication system and a communication apparatus can transmit a data packet using the window size changed dynamically based on the change amount of the window size changed dynamically. Therefore, the communication system and the communication device can transmit data packets following changes in the traffic situation of the network.

更に、取得手段は、トラフィック状況としてネットワーク上のルータに蓄積されているデータパケットの蓄積パケット量を計算し、ウィンドウサイズ制御手段は、蓄積パケット量に基づいて変更量を計算することが好ましい。これによれば、通信システム、通信装置は、蓄積パケット量を用いて変更量を計算することにより、容易に適切なウィンドウサイズの変更量を決定できる。よって、通信システム、通信装置は、ネットワークのトラフィック状況の変化に、より適切に、かつ、容易に追従してデータパケットを送信できる。   Further, it is preferable that the acquisition unit calculates the amount of stored data packets stored in a router on the network as a traffic situation, and the window size control unit calculates the amount of change based on the amount of stored packets. According to this, the communication system and the communication apparatus can easily determine an appropriate change amount of the window size by calculating the change amount using the accumulated packet amount. Therefore, the communication system and the communication device can transmit the data packet more appropriately and easily following the change in the traffic situation of the network.

本発明に係るプログラムは、コンピュータをネットワークのトラフィック状況を取得する取得手段と、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段と、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段として機能させるためのプログラムである。このようなプログラムによれば、上記通信システムや通信装置を実現できる。本発明に係る通信方法は、ネットワークのトラフィック状況を取得し、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定し、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御することを特徴とする。   The program according to the present invention includes an acquisition unit for acquiring a network traffic status from a computer, a window size control unit for determining a window size change amount based on the traffic status, and a data based on the window size change amount. A program for causing a packet to function as a transmission control unit that controls transmission of a packet. According to such a program, the communication system and the communication device can be realized. The communication method according to the present invention acquires a traffic state of a network, determines a change amount of a window size based on the traffic state, and controls transmission of a data packet based on the change amount of the window size. And

以上説明したように、本発明によれば、ネットワークのトラフィック状況の変化に追従したデータパケットの送信が可能になる。   As described above, according to the present invention, it is possible to transmit a data packet following a change in the network traffic situation.

図1に示すように、通信システム100は、送信端末10と、受信端末20と、複数のルータ30a,30bと、ネットワーク40を備える。通信システム100では、輻輳制御方式としてTCP Vegasを用いる。送信端末10、受信端末20は、ネットワーク40に接続する通信装置である。送信端末10は、ネットワーク40を介して受信端末20にデータパケット1を送信する。受信端末20は、データパケット1を受信すると、ネットワーク40を介して送信端末10に肯定応答(Acknowledge、以下「Ack」と表す)2を送信する。   As illustrated in FIG. 1, the communication system 100 includes a transmission terminal 10, a reception terminal 20, a plurality of routers 30 a and 30 b, and a network 40. In the communication system 100, TCP Vegas is used as a congestion control method. The transmission terminal 10 and the reception terminal 20 are communication devices connected to the network 40. The transmission terminal 10 transmits the data packet 1 to the reception terminal 20 via the network 40. When receiving the data packet 1, the receiving terminal 20 transmits an acknowledgment (Acknowledge, hereinafter referred to as “Ack”) 2 to the transmitting terminal 10 via the network 40.

ルータ30a,30bは、送信端末10と受信端末20との間のネットワーク40上に設けられる。ルータ30aは、データパケット1を送信端末10から受信端末20まで転送する。ルータ30aは、送信バッファ31を備える。ルータ30aは、送信端末10からデータパケット1を受信し、送信バッファ31に蓄積して待ち行列に入れる。ルータ30aは、送信バッファ31からデータパケット1を取り出して受信端末20に転送する。ルータ30bもルータ30aと同様に送信バッファを備える。ルータ30bは、受信端末20からAck2を受信し、送信端末10に転送する。   The routers 30 a and 30 b are provided on the network 40 between the transmission terminal 10 and the reception terminal 20. The router 30 a transfers the data packet 1 from the transmission terminal 10 to the reception terminal 20. The router 30 a includes a transmission buffer 31. The router 30a receives the data packet 1 from the transmission terminal 10, accumulates it in the transmission buffer 31, and puts it in a queue. The router 30 a extracts the data packet 1 from the transmission buffer 31 and transfers it to the receiving terminal 20. Similarly to the router 30a, the router 30b includes a transmission buffer. The router 30b receives Ack2 from the receiving terminal 20 and transfers it to the transmitting terminal 10.

次に、送信端末10について詳細に説明する。送信端末10は、送信バッファ11と、送信制御部12と、通信インタフェース13と、送信記録テーブル14と、時計部15と、パケット量計算部16と、ウィンドウサイズ制御部17とを備える。   Next, the transmission terminal 10 will be described in detail. The transmission terminal 10 includes a transmission buffer 11, a transmission control unit 12, a communication interface 13, a transmission record table 14, a clock unit 15, a packet amount calculation unit 16, and a window size control unit 17.

通信インタフェース13は、送信制御部12からデータパケットを取得する。通信インタフェース13は、送信制御部12の指示に従ってデータパケットを受信端末20に送信する。通信インタフェース13は、受信端末20からAckを受信する。通信インタフェース13は、受信したAckを送信制御部12とパケット量計算部16に入力する。送信バッファ11は、送信端末10が送信するデータパケットを保持する。送信記録テーブル14は、送信端末10によるデータパケットの送信状況を記憶する。送信記録テーブル14は、送信状況として、送信端末10が送信したデータパケットのシーケンス番号と、データパケットを送信した送信時刻とを対応付けて保持する。   The communication interface 13 acquires a data packet from the transmission control unit 12. The communication interface 13 transmits a data packet to the receiving terminal 20 in accordance with an instruction from the transmission control unit 12. The communication interface 13 receives Ack from the receiving terminal 20. The communication interface 13 inputs the received Ack to the transmission control unit 12 and the packet amount calculation unit 16. The transmission buffer 11 holds a data packet transmitted from the transmission terminal 10. The transmission record table 14 stores the transmission status of data packets by the transmission terminal 10. The transmission record table 14 stores the sequence number of the data packet transmitted by the transmission terminal 10 and the transmission time at which the data packet is transmitted in association with each other as the transmission status.

パケット量計算部16は、ネットワーク40のトラフィック状況を取得する取得手段である。パケット量計算部16は、トラフィック状況として、ネットワーク40上のルータ30aに蓄積されているデータパケットの蓄積パケット量を計算し、トラフィック状況を取得する。パケット量計算部16は、ネットワーク40上のルータのうち、送信端末10から受信端末20へのデータパケットの転送経路上にあり、送信バッファ31にデータパケットが蓄積し、データパケット転送のボトルネックとなっているルータ30aの蓄積パケット量を計算する。パケット量計算部16は、蓄積パケット量として、送信端末10以外の端末装置が送信したデータパケットを除いた、送信端末10がボトルネックのルータ30aに蓄積させているパケット量を計算してもよい。   The packet amount calculation unit 16 is an acquisition unit that acquires the traffic status of the network 40. The packet amount calculation unit 16 calculates the stored packet amount of the data packet stored in the router 30a on the network 40 as the traffic state, and acquires the traffic state. The packet amount calculation unit 16 is on the data packet transfer path from the transmission terminal 10 to the reception terminal 20 among the routers on the network 40, accumulates the data packets in the transmission buffer 31, and is a bottleneck for data packet transfer. The accumulated packet amount of the router 30a is calculated. The packet amount calculation unit 16 may calculate, as the accumulated packet amount, the packet amount that the transmission terminal 10 accumulates in the bottleneck router 30a, excluding data packets transmitted by terminal devices other than the transmission terminal 10. .

パケット量計算部16は、通信インタフェース13からAckを取得する。パケット量計算部16は、Ackを取得すると時計部15を参照し、Ackの受信時刻を取得する。時計部15は現在時刻を提供する。Ackは、受信端末20が受信したデータパケットのシーケンス番号を含む。パケット量計算部16は、Ackに含まれるシーケンス番号に基づいて送信記録テーブル14を検索し、送信端末10がAckを受信したデータパケットの送信時刻を取得する。パケット量計算部16は、Ackを受信したデータパケットの送信状況を、送信記録テーブル14から削除する。パケット量計算部16は、Ackの受信時刻、データパケットの送信時刻を用いて、蓄積パケット量を計算する。パケット量計算部16は、計算により取得した蓄積パケット量を、ウィンドウサイズ制御部17に入力する。   The packet amount calculation unit 16 acquires Ack from the communication interface 13. When acquiring Ack, the packet amount calculation unit 16 refers to the clock unit 15 and acquires the reception time of Ack. The clock unit 15 provides the current time. Ack includes the sequence number of the data packet received by the receiving terminal 20. The packet amount calculation unit 16 searches the transmission record table 14 based on the sequence number included in Ack, and acquires the transmission time of the data packet at which the transmission terminal 10 received Ack. The packet amount calculation unit 16 deletes the transmission status of the data packet that received Ack from the transmission record table 14. The packet amount calculation unit 16 calculates the accumulated packet amount using the Ack reception time and the data packet transmission time. The packet amount calculation unit 16 inputs the accumulated packet amount obtained by the calculation to the window size control unit 17.

ウィンドウサイズ制御部17は、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段である。ウィンドウサイズ制御部17は、トラフィック状況として蓄積パケット量を用い、変更量を計算する。ウィンドウサイズ制御部17は、パケット量計算部16からトラフィック量として蓄積パケット量を取得する。   The window size control unit 17 is a window size control unit that determines a change amount of the window size based on the traffic situation. The window size control unit 17 calculates the change amount using the accumulated packet amount as the traffic state. The window size control unit 17 acquires the accumulated packet amount as the traffic amount from the packet amount calculation unit 16.

通信システム100においてウィンドウサイズを制御する制御周期を「Round」と表す。ウィンドウサイズを制御した直後から、次にウィンドウサイズを制御するまでの期間が制御周期(Round)となる。ウィンドウサイズ制御部17は、制御周期(Round)毎にウィンドウサイズの変更量を決定する。具体的には、ウィンドウサイズ制御部17は、1RTT毎にウィンドウサイズの変更量を決定する。よって、制御周期(Round)の長さは1RTTになる。ウィンドウサイズ制御部17は、ウィンドウサイズとしてcwndの変更量を決定する。   A control cycle for controlling the window size in the communication system 100 is represented as “Round”. A period from immediately after the window size is controlled until the next window size is controlled is a control period (Round). The window size control unit 17 determines a window size change amount for each control period (Round). Specifically, the window size control unit 17 determines the amount of change in the window size every 1 RTT. Therefore, the length of the control cycle (Round) is 1 RTT. The window size control unit 17 determines the change amount of cwnd as the window size.

ウィンドウサイズ制御部17は、決定したウィンドウサイズの変更量を用いて、ウィンドウサイズを決定する。ウィンドウサイズ制御部17は、現在の制御周期(Round)よりも後の制御周期(Round)の変動量及びウィンドウサイズであれば、どの制御周期(Roudnd)について決定してもよい。そのため、ウィンドウサイズ制御部17は、次の制御周期(Round)の変動量及びウィンドウサイズを決定してもよく、更に後の制御周期(Round)の変更量及びウィンドウサイズを決定してもよい。ウィンドウサイズ制御部17は、決定したウィンドウサイズを送信制御部12に入力する。又、ウィンドウサイズ制御部17は、ウィンドウサイズを決定せずに、ウィンドウサイズの変更量を送信制御部12に入力してもよい。   The window size control unit 17 determines the window size using the determined window size change amount. The window size control unit 17 may determine any control cycle (Roundnd) as long as it is a variation amount and window size of a control cycle (Round) after the current control cycle (Round). Therefore, the window size control unit 17 may determine a variation amount and window size of the next control cycle (Round), and may further determine a change amount and window size of the subsequent control cycle (Round). The window size control unit 17 inputs the determined window size to the transmission control unit 12. Further, the window size control unit 17 may input the window size change amount to the transmission control unit 12 without determining the window size.

送信制御部12は、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段である。送信制御部12は、ウィンドウサイズ制御部17からウィンドウサイズ又はウィンドウサイズの変更量を取得する。送信制御部12は、ウィンドウサイズの変更量を取得した場合には、まず、変更量を用いてウィンドウサイズを決定する。   The transmission control unit 12 is a transmission control unit that controls the transmission of the data packet based on the window size change amount. The transmission control unit 12 acquires the window size or the window size change amount from the window size control unit 17. When acquiring the window size change amount, the transmission control unit 12 first determines the window size using the change amount.

送信制御部12は、取得、又は、決定したウィンドウサイズのデータパケットを送信バッファ11から取得する。そして、送信制御部12は、取得したデータパケットを通信インタフェース13に入力し、制御周期(Round)を指定してウィンドウサイズのデータパケットを送信するよう指示する。   The transmission control unit 12 acquires the data packet having the window size determined or acquired from the transmission buffer 11. Then, the transmission control unit 12 inputs the acquired data packet to the communication interface 13 and designates a control period (Round) to transmit a window size data packet.

又、送信制御部12は、データパケットの送信状況を送信記録テーブル14に記録する。送信制御部12は、通信インタフェース13にデータパケットの送信を指示する際に時計部15を参照し、データパケットの送信時刻を取得する。送信制御部12は、データパケットのシーケンス番号と送信時刻を対応付けて、送信記録テーブル14に記録する。更に、送信制御部12は、通信インタフェース13からAckを取得する。送信制御部12は、一定時間経過してもAckを受信できないデータパケットについては、通信インタフェース13に再送を指示する。   The transmission control unit 12 records the transmission status of the data packet in the transmission record table 14. The transmission control unit 12 refers to the clock unit 15 when instructing the communication interface 13 to transmit a data packet, and acquires the transmission time of the data packet. The transmission control unit 12 records the sequence number of the data packet in association with the transmission time in the transmission record table 14. Further, the transmission control unit 12 acquires Ack from the communication interface 13. The transmission control unit 12 instructs the communication interface 13 to retransmit a data packet that cannot receive an Ack after a certain period of time.

次に、ウィンドウサイズの変更量、ウィンドウサイズの決定方法について詳細に説明する。以下、制御周期(Round)の順番を「#i」、「#i」番目の制御周期を「Round(#i)」と表す。通信開始後1回目の制御周期(Round)が「Rouund(#1)」となる。Round(#i)におけるcwndを「cwnd(#i)」、cwndの変更量を「V(#i)」と表す。又、データパケットのシーケンス番号を「Si」、シーケンス番号が「Si」のデータパケットを「データパケット(Si)」、シーケンス番号が「Si」のデータパケットに対するAckを「Ack(Si)」と表す。更に、ネットワーク40が輻輳していないときの送信端末10と受信端末20との間のRTTを「RTTbase」と定義する。図3〜5を用いて、TCP Vegasにおける輻輳回避フェーズ(Congestion Avoidance Phase)移行後の送信端末10と受信端末20との間のデータパケットの送受信を例にとって説明する。   Next, the change amount of the window size and the method for determining the window size will be described in detail. Hereinafter, the order of the control cycle (Round) is represented as “#i”, and the “#i” -th control cycle is represented as “Round (#i)”. The first control cycle (Round) after the start of communication is “Round (# 1)”. In Round (#i), cwnd is expressed as “cwnd (#i)”, and the change amount of cwnd is expressed as “V (#i)”. Further, the sequence number of the data packet is represented by “Si”, the data packet having the sequence number “Si” is represented by “data packet (Si)”, and the Ack for the data packet having the sequence number “Si” is represented by “Ack (Si)”. . Furthermore, RTT between the transmission terminal 10 and the reception terminal 20 when the network 40 is not congested is defined as “RTTbase”. An example of data packet transmission / reception between the transmission terminal 10 and the reception terminal 20 after transition to the congestion avoidance phase in TCP Vegas will be described with reference to FIGS.

まず、図3に示すように、Round(#i)において、送信端末10がcwnd(#i)のデータパケット、データパケット(S4)1a、データパケット(S5)1b、データパケット(S6)1c、データパケット(S7)1dを受信端末20に送信する。尚、既にRound(#i)におけるデータパケット(S1)〜データパケット(S3)は送信済みである。このとき、送信端末12の送信制御部12は、送信した全てのデータパケットの送信時刻を送信記録テーブル14に記録する。又、送信端末10は、Round(#i)において既に送信したデータパケットに対するAck(S1)2a、Ack(S2)2b、Ack(S3)2cを受信端末20から受信する。   First, as shown in FIG. 3, in Round (#i), the transmitting terminal 10 sends a data packet of cwnd (#i), a data packet (S4) 1a, a data packet (S5) 1b, a data packet (S6) 1c, The data packet (S7) 1d is transmitted to the receiving terminal 20. Note that the data packets (S1) to (S3) in Round (#i) have already been transmitted. At this time, the transmission control unit 12 of the transmission terminal 12 records the transmission times of all transmitted data packets in the transmission record table 14. The transmitting terminal 10 receives from the receiving terminal 20 Ack (S1) 2a, Ack (S2) 2b, and Ack (S3) 2c for the data packet already transmitted in Round (#i).

Round(#i+1)が開始すると、図4に示すように、受信端末20が、Round(#i)において送信したデータパケットに対するAck(S4)2d、Ack(S5)2eを送信端末10に送信する。送信端末10のパケット量計算部16は、送信端末10が受信したAck(S4)、Ack(S5)のシーケンス番号を用いて、送信記録テーブル14から、データパケット(S4)の送信時刻t4、データパケット(S5)の送信時刻t5を取得する。   When Round (# i + 1) is started, the receiving terminal 20 transmits Ack (S4) 2d and Ack (S5) 2e for the data packet transmitted in Round (#i) to the transmitting terminal 10, as shown in FIG. . The packet amount calculation unit 16 of the transmission terminal 10 uses the sequence number of Ack (S4) and Ack (S5) received by the transmission terminal 10 from the transmission record table 14 to transmit the data packet (S4) at the transmission time t4. The transmission time t5 of the packet (S5) is acquired.

パケット量計算部16は、Ackの受信時刻、データパケットの送信時刻を用いて、Round(#i)において送信した全てのデータパケットのRTTを計算する。即ち、パケット量計算部16は、送信端末10がデータパケットを送信してからそのAckを受信するまでの時間を、送信端末10と受信端末20との間のRTTとして計算する。例えば、パケット量計算部16は、データパケット(S4)の送信時刻t4とAck(S4)の受信時刻との差分を計算し、そのデータパケットのRTTを計算する。このようにして、パケット量計算部16はRTTを常に計算することにより、測定する。そして、パケット量計算部16は、測定したRTTの中で最小のRTTをRTTbaseとして用いる。   The packet amount calculation unit 16 calculates the RTTs of all data packets transmitted in Round (#i) using the Ack reception time and the data packet transmission time. That is, the packet amount calculation unit 16 calculates the time from when the transmitting terminal 10 transmits a data packet until it receives the Ack as the RTT between the transmitting terminal 10 and the receiving terminal 20. For example, the packet amount calculation unit 16 calculates the difference between the transmission time t4 of the data packet (S4) and the reception time of Ack (S4), and calculates the RTT of the data packet. In this way, the packet amount calculator 16 measures the RTT by always calculating it. Then, the packet amount calculation unit 16 uses the smallest RTT among the measured RTTs as the RTT base.

Round(#i+1)開始直後は、図4の点線Aよりも矢印B側に示すように、Round(#i)において送信端末10が送信したデータパケット(S6)1c、データパケット(S7)1dは、まだ受信端末20に到達していない。更に、Round(#i+1)では、送信端末10はcwnd(#i+1)のデータパケットを受信端末20に送信する。そのため、図4の点線Aよりも矢印C側に示すように、Round(#i+1)におけるデータパケット(S8)1e、データパケット(S9)1fの送信が開始される。尚、送信端末10のウィンドウサイズ制御部17は、輻輳回避フェーズ移行直後のRound(#2)ではcwnd(#2)としてcwnd(#1)をそのまま用いる。   Immediately after the start of Round (# i + 1), the data packet (S6) 1c and the data packet (S7) 1d transmitted by the transmitting terminal 10 in Round (#i) are as shown on the arrow B side from the dotted line A in FIG. The terminal 20 has not yet been reached. Further, in Round (# i + 1), the transmitting terminal 10 transmits a data packet of cwnd (# i + 1) to the receiving terminal 20. Therefore, as shown on the arrow C side from the dotted line A in FIG. 4, transmission of the data packet (S8) 1e and data packet (S9) 1f in Round (# i + 1) is started. Note that the window size control unit 17 of the transmission terminal 10 uses cwnd (# 1) as it is as cwnd (# 2) in Round (# 2) immediately after the transition to the congestion avoidance phase.

図5に示すように、送信端末10が、データパケット(S11)1g、データパケット(S12)1h、データパケット(S13)1i、データパケット(S14)1jを受信端末20に送信し、Round(#i+1)におけるデータパケットが全て送信され、Round(#i+1)が終了する頃になると、送信端末10は、Round(#i)において送信した全てのデータパケットのAckを受信端末20から受信し終わる。そして、受信端末20は、Round(#i+1)において送信したデータパケットに対するAck(S8)2f、Ack(S9)2g、Ack(S10)2hを送信端末10に送信し始める。   As shown in FIG. 5, the transmitting terminal 10 transmits a data packet (S11) 1g, a data packet (S12) 1h, a data packet (S13) 1i, and a data packet (S14) 1j to the receiving terminal 20, and a Round (# When all the data packets in i + 1) are transmitted and Round (# i + 1) ends, the transmitting terminal 10 finishes receiving Ack of all the data packets transmitted in Round (#i) from the receiving terminal 20. Then, the receiving terminal 20 starts to transmit Ack (S8) 2f, Ack (S9) 2g, and Ack (S10) 2h to the transmitting terminal 10 for the data packet transmitted in Round (# i + 1).

送信端末10のパケット量計算部16は、Round(#i)において送信した全てのデータパケットのRTTの平均値を計算する。そして、パケット量計算部16は、以下に示す(3)式を用いて蓄積パケット量を計算する。「Round(#i)」における蓄積パケット量を「Queued_packet(#i)」、Round(#i)において送信したデータパケットのRTTの平均値を「RTT_ave(#i)」と表す。
Queued_packet(#i)=(cwnd(#i)/RTT_ave(#i))×(RTT_ave(#i)―RTTbase) (3)式
The packet amount calculation unit 16 of the transmission terminal 10 calculates an average value of RTTs of all data packets transmitted in Round (#i). Then, the packet amount calculation unit 16 calculates the accumulated packet amount using the following equation (3). The accumulated packet amount in “Round (#i)” is represented as “Queued_packet (#i)”, and the average RTT value of data packets transmitted in Round (#i) is represented as “RTT_ave (#i)”.
Queued_packet (#i) = (cwnd (#i) / RTT_ave (#i)) × (RTT_ave (#i) −RTTbase) (3)

次に、ウィンドウサイズ制御部17は、求めた蓄積パケット量と、以下に示す(4)式、(5)式を用いて、Round(#i+2)におけるV(#i+2)を計算する。
Queued_packet(#i)<α、又は、Queued_packet(#i)>βのとき、
V(#i+2)=ε(δ―Queued_packet(#i)) (4式)
α≦Queued_packet(#i)≦βのとき、
V(#i+2)=0 (5)式
Next, the window size control unit 17 calculates V (# i + 2) in Round (# i + 2) using the obtained accumulated packet amount and the following expressions (4) and (5).
When Queued_packet (#i) <α or Queued_packet (#i)> β,
V (# i + 2) = ε (δ−Queued_packet (#i)) (Formula 4)
When α ≦ Queued_packet (#i) ≦ β,
V (# i + 2) = 0 Formula (5)

そして、ウィンドウサイズ制御部17は、求めたV(#i+2)と、以下に示す(6)式を用いて、Round(#i+2)におけるcwnd(#i+2)を計算する。
cwnd(#i+2)=cwnd(#i)+V(#i+2) (6)式
Then, the window size control unit 17 calculates cwnd (# i + 2) in Round (# i + 2) using the obtained V (# i + 2) and the following equation (6).
cwnd (# i + 2) = cwnd (#i) + V (# i + 2) (6)

あるいは、ウィンドウサイズ制御部17は、求めた蓄積パケット量と、以下に示す(7)式、(8)式を用いて、ウィンドウサイズの変更量に基づいたcwnd(#i+2)を直接計算してもよい。
Queued_packet(#i)<α、又は、Queued_packet(#i)>βのとき、
cwnd(#i+2)=cwnd(#i)+ε(δ―Queued_packet(#i)) (7式)
α≦Queued_packet(#i)≦βのとき、
cwnd(#i+2)=cwnd(#i) (8)式
Alternatively, the window size control unit 17 directly calculates cwnd (# i + 2) based on the amount of change in the window size using the obtained accumulated packet amount and the following equations (7) and (8). Also good.
When Queued_packet (#i) <α or Queued_packet (#i)> β,
cwnd (# i + 2) = cwnd (#i) + ε (δ−Queued_packet (#i)) (Expression 7)
When α ≦ Queued_packet (#i) ≦ β,
cwnd (# i + 2) = cwnd (#i) (8) Formula

(4)〜(8)式において、α、β、εは定数である。δ=(α+β)/2である。定数α、βは、ウィンドウサイズの変更の可否を判断するための定数である。蓄積パケット量が少なく、ネットワークの通信帯域に空きが生じている場合には、データパケットの送信速度を速やかに向上させて、ネットワークの通信帯域を有効に利用する必要がある。そのため、定数αとして、蓄積パケット量が少ない場合にウィンドウサイズの変更を適切に行えるように、ウィンドウサイズの変更の可否を判断する蓄積パケット量の下限値を設定する。又、蓄積パケット量が多く、輻輳が生じている場合には、データパケットの送信速度を速やかに抑え、輻輳を抑制する必要がある。そのため、定数βとして、蓄積パケット量が多い場合にウィンドウサイズの変更を適切に行えるように、ウィンドウサイズの変更の可否を判断する蓄積パケット量の上限値を設定する。   In the equations (4) to (8), α, β, and ε are constants. δ = (α + β) / 2. The constants α and β are constants for determining whether the window size can be changed. When the amount of stored packets is small and there is a vacancy in the communication band of the network, it is necessary to increase the data packet transmission speed quickly and effectively use the communication band of the network. Therefore, as the constant α, a lower limit value of the accumulated packet amount for determining whether or not the window size can be changed is set so that the window size can be changed appropriately when the accumulated packet amount is small. In addition, when there is a large amount of accumulated packets and congestion occurs, it is necessary to quickly suppress the data packet transmission rate and suppress congestion. Therefore, an upper limit value of the accumulated packet amount for determining whether or not the window size can be changed is set as the constant β so that the window size can be appropriately changed when the accumulated packet amount is large.

更に、キューイング遅延の変動が大きくなると、ウィンドウサイズや蓄積パケット量が一定の値に収束せずに振動が生じるおそれがある。そのため、定数αとβは、ウィンドウサイズの変更によるデータパケットの送信速度の抑制と向上が適切に行えるように、かつ、振動が生じないように決定することが好ましい。具体的には、定数αとβの間隔を振動が生じない程度に大きくして、ウィンドウサイズの変更を行わない安定な領域を増やすように定数α、βを設定する。   Furthermore, if the fluctuation of the queuing delay becomes large, the window size and the amount of stored packets may not converge to a constant value and vibration may occur. Therefore, it is preferable to determine the constants α and β so that the transmission rate of the data packet can be appropriately suppressed and improved by changing the window size and vibration is not generated. Specifically, the constants α and β are set so that the interval between the constants α and β is increased to such an extent that no vibration is generated, and the stable region where the window size is not changed is increased.

定数εは、0<ε<2の範囲で設定することが好ましい。例えば、N個の送信端末が、あるボトルネックとなっているルータ30aを経由して、データパケットを送信しているとする。ルータ30aがn番目にデータパケットを転送する送信端末に注目し、その送信端末のRound(#i)におけるcwndを「cwnd_n(#i)」、その送信端末と受信端末との間のRTTを「RTT_n」、そのRTTbaseを「RTTbase_n」として(7)式に代入すると、以下に示す(9)式になる。   The constant ε is preferably set in the range of 0 <ε <2. For example, it is assumed that N transmitting terminals transmit data packets via a router 30a that is a bottleneck. The router 30a pays attention to the transmitting terminal to which the data packet is transferred nth, cwnd in Round (#i) of the transmitting terminal is “cwnd_n (#i)”, and RTT between the transmitting terminal and the receiving terminal is “ By substituting RTT_n ”and RTTbase as“ RTTbase_n ”into equation (7), the following equation (9) is obtained.

cwnd_n(#i+2)
=cwnd_n(#i)+ε(δ―Queued_packet(#i))
=cwnd_n(#i)+ε{δ―〔cwnd_n(#i)×D/(RTTbase_n+D)〕}
={1―〔εD/(RTTbase_n+D)〕}×cwnd_n(#i)+εδ(9)式
cwnd_n (# i + 2)
= Cwnd_n (#i) + ε (δ−Queued_packet (#i))
= Cwnd_n (#i) + ε {δ− [cwnd_n (#i) × D / (RTTbase_n + D)]}
= {1- [εD / (RTTbase_n + D)]} × cwnd_n (#i) + εδ (9)

(9)式より、cwnd_n(#i+2)が発散しないためには、(10)式を満たす必要がある。
|{1―〔εD/(RTTbase_n+D)〕}|<1
0<{εD/(RTTbase_n+D)}<2 (10)式
From equation (9), it is necessary to satisfy equation (10) so that cwnd_n (# i + 2) does not diverge.
| {1− [εD / (RTTbase_n + D)]} | <1
0 <{εD / (RTTbase_n + D)} <2 (10)

「D」は、ボトルネックとなるルータ30aによるデータパケットのキューイング遅延時間である。キューイング遅延時間Dは、ネットワーク40等の状況に応じて変動する。そのため、定数εを、0<ε<2の範囲で設定することにより、キューイング遅延時間Dがどのような値をとっても、(10)式を満たすことができる。   “D” is a queuing delay time of the data packet by the router 30a which is a bottleneck. The queuing delay time D varies depending on the situation of the network 40 or the like. Therefore, by setting the constant ε within the range of 0 <ε <2, the expression (10) can be satisfied regardless of the value of the queuing delay time D.

例えば、定数α、β、εを、α=1、β=3、ε=1に設定し、(7)式、(8)式を用いてウィンドウサイズを決定する場合、以下に示す(7’)式、(8’)式のようになる。
Queued_packet(#i)<1、又は、Queued_packet(#i)>3のとき、
cwnd(#i+2)=cwnd(#i)+1×(2―Queued_packet(#i)) (7’)式
1≦Queued_packet(#i)≦3のとき、
cwnd(#i+2)=cwnd(#i) (8’)式
For example, when the constants α, β, and ε are set to α = 1, β = 3, and ε = 1, and the window size is determined using the equations (7) and (8), the following (7 ′ ) And (8 ′).
When Queued_packet (#i) <1 or Queued_packet (#i)> 3,
cwnd (# i + 2) = cwnd (#i) + 1 × (2-Queued_packet (#i)) (7 ′) When Expression 1 ≦ Queued_packet (#i) ≦ 3,
cwnd (# i + 2) = cwnd (#i) (8 ′) Formula

このような(4)式〜(6)式、又は、(7)式及び(8)式を用いてウィンドウサイズの変動量およびウィンドウサイズを決定することにより、蓄積パケット量Queued_packetと、定数α、βとのずれが大きい程、制御周期毎のウィンドウサイズの変更量を大きくできる。よって、蓄積パケット量が少なく、ネットワークの通信帯域に空きが生じ、その利用効率が低い場合や、蓄積パケット量が多く、輻輳が生じている場合に、制御周期毎のウィンドウサイズの変更量を大きくできる。更に、ウィンドウサイズの変更量を大きくし過ぎると、ウィンドウサイズや蓄積パケット量が一定値に収束せずに振動が生じ、ネットワーク40が不安定になるおそれがある。しかし、(4)式〜(6)式、又は、(7)式及び(8)式を用いてウィンドウサイズの変動量およびウィンドウサイズを決定した場合には、以下に示すように、ネットワーク40が安定な範囲内でウィンドウサイズを制御できる。上記(9)式を変形すると、(11)式が得られる。   By determining the window size variation amount and the window size using the equations (4) to (6) or the equations (7) and (8), the accumulated packet amount Queued_packet and the constant α, The larger the deviation from β, the larger the window size change amount for each control cycle. Therefore, if the amount of stored packets is small, the network communication bandwidth is vacant, and its usage efficiency is low, or if the amount of stored packets is large and congestion occurs, the window size change amount for each control cycle is increased. it can. Furthermore, if the amount of change in the window size is too large, the window size and the amount of stored packets do not converge to a constant value, causing vibration and the network 40 becoming unstable. However, when the window size variation and the window size are determined using the equations (4) to (6), or the equations (7) and (8), the network 40 is configured as shown below. The window size can be controlled within a stable range. When the equation (9) is modified, the equation (11) is obtained.

cwnd_n(#i+2)―{δ(RTTbase_n+D)/D}
={1―〔εD/(RTTbase_n+D)〕}×{cwnd_n(#i)―〔δ(RTTbase_n+D)/D〕} (11)式
ここで、a=1―{εD/(RTTbase_n+D)}、b=δ(RTTbase_n+D)/Dとおくと、(12)式が得られる。
cwnd_n(#i+2)―b=a(cwnd_n(#i)―b) (12)式
cwnd_n (# i + 2)-{δ (RTTbase_n + D) / D}
= {1- [εD / (RTTbase_n + D)]} × {cwnd_n (#i)-[δ (RTTbase_n + D) / D]} (11) where a = 1− {εD / (RTTbase_n + D)}, b = When δ (RTTbase_n + D) / D is set, equation (12) is obtained.
cwnd_n (# i + 2) −b = a (cwnd_n (#i) −b) (12)

キューイング遅延時間Dが大きく変動しない場合、a、bは大きく変動しない。又、(10)式より、|a|<1である。そのため、時間の経過と共に、cwnd_n(#i+2)は、bに近づいていく。よって、以下に示す(13)式が得られる。
cwnd_n(#i+2)→δ(RTTbase_n+D)/D
D×cwnd_n(#i+2)/(RTTbase+D)=Queued_packet(#i)→δ (13)式
When the queuing delay time D does not vary greatly, a and b do not vary greatly. Further, from the formula (10), | a | <1. Therefore, as time passes, cwnd_n (# i + 2) approaches b. Therefore, the following expression (13) is obtained.
cwnd_n (# i + 2) → δ (RTTbase_n + D) / D
D × cwnd_n (# i + 2) / (RTTbase + D) = Queued_packet (#i) → δ (13)

このように蓄積パケット量Queued_packet(#i)がδに近づいていく。よって、送信端末10は、(4)式〜(6)式、又は、(7)式及び(8)式を用いてウィンドウサイズの変動量およびウィンドウサイズを決定することにより、蓄積パケット量が一定値に収束せずに発散してしまうことを防止できる。そのため、送信端末10は、ネットワーク40が、蓄積パケット量が発散しない安定な範囲内でウィンドウサイズを制御できる。   Thus, the accumulated packet amount Queued_packet (#i) approaches δ. Therefore, the transmission terminal 10 determines the amount of variation in the window size and the window size using the equations (4) to (6) or the equations (7) and (8), so that the accumulated packet amount is constant. It is possible to prevent divergence without converging on the value. Therefore, the transmission terminal 10 can control the window size within a stable range in which the network 40 does not diverge the accumulated packet amount.

又、(3)式を用いて蓄積パケット量を計算することにより、以下に示すように、パケット量計算部16は、蓄積パケット量として、送信端末10がボトルネックのルータ30aに蓄積させているパケット量を計算できる。キューイング遅延時間Dが発生すると、(14)式に示すようにRTTが増大する。
RTT=RTTbase+D (14)式
このようにキューイング遅延時間Dは、RTTの変動から測定できる。(3)式に(14)式を代入する。このとき、送信端末10のデータパケットの送信速度を「T」とする。T=cwnd(#i)/RTT_ave(#i)である。
Further, by calculating the accumulated packet amount using the expression (3), as shown below, the packet amount calculating unit 16 causes the transmitting terminal 10 to accumulate the accumulated packet amount in the bottleneck router 30a. The amount of packets can be calculated. When the queuing delay time D occurs, the RTT increases as shown in the equation (14).
RTT = RTTbase + D (14) Thus, the queuing delay time D can be measured from the variation of the RTT. Substitute equation (14) into equation (3). At this time, the transmission rate of the data packet of the transmission terminal 10 is “T”. T = cwnd (#i) / RTT_ave (#i).

Queued_packet(#i)
=(cwnd(#i)/RTT_ave(#i))×(RTT_ave(#i)―RTTbase)
={(cwnd(#i)/RTTbase)―(cwnd(#i)/(RTT_ave(#i))}×RTTbase
={(cwnd(#i)/RTTbase)―〔cwnd(#i)/(RTTbase+D)〕}×RTTbase
=(cwnd(#i)/RTT_ave(#i))×D
=T×D (15)式
Queued_packet (#i)
= (Cwnd (#i) / RTT_ave (#i)) × (RTT_ave (#i) −RTTbase)
= {(Cwnd (#i) / RTTbase) − (cwnd (#i) / (RTT_ave (#i))} × RTTbase
= {(Cwnd (#i) / RTTbase)-[cwnd (#i) / (RTTbase + D)]} × RTTbase
= (Cwnd (#i) / RTT_ave (#i)) × D
= T × D (15) Formula

キューイング遅延時間Dは、送信端末10以外の端末装置が送信したデータパケットも含めた全てのトラフィック量によって決まる。しかし、TCPコネクションを確立した送信端末10は、送信速度Tでデータパケットを常に送信する。そのため、送信端末10からの全てのデータパケットがキューイング遅延時間Dの間、送信バッファ31に蓄積され、待ち行列に入ってから、送信されると考えられる。よって、結局、T×Dで示されるQueued_packet(#i)は、送信端末10が送信バッファ31に蓄積させている蓄積パケット量に相当する。   The queuing delay time D is determined by the amount of all traffic including data packets transmitted by terminal devices other than the transmitting terminal 10. However, the transmission terminal 10 that has established the TCP connection always transmits the data packet at the transmission speed T. For this reason, it is considered that all data packets from the transmission terminal 10 are accumulated in the transmission buffer 31 during the queuing delay time D, transmitted after entering the queue. Therefore, in the end, Queued_packet (#i) indicated by T × D corresponds to the accumulated packet amount accumulated in the transmission buffer 31 by the transmission terminal 10.

そして、送信制御部12は、Round(#i+2)になると、ウィンドウサイズ制御部17が決定したcwnd(#i+2)に従って、データパケットを受信端末20に送信する。その後、同様にして、パケット量計算部16、ウィンドウサイズ制御部17は、蓄積パケット量Queued_packet(#i+1)を計算し、cwnd(#i+3)を決定する。以降、パケット量計算部16、ウィンドウサイズ制御部17は、蓄積パケット量Queued_packet(#i+2)を計算し、cwnd(#i+4)を決定するというように、2つ前の周期制御における蓄積パケット量を用いて、ウィンドウサイズの変更量及びウィンドウサイズを決定する。   When the transmission control unit 12 becomes Round (# i + 2), the transmission control unit 12 transmits the data packet to the receiving terminal 20 according to cwnd (# i + 2) determined by the window size control unit 17. Thereafter, similarly, the packet amount calculation unit 16 and the window size control unit 17 calculate the accumulated packet amount Queued_packet (# i + 1) and determine cwnd (# i + 3). Thereafter, the packet amount calculation unit 16 and the window size control unit 17 calculate the accumulated packet amount Queued_packet (# i + 2) and determine cwnd (# i + 4), so that the accumulated packet amount in the previous cycle control is calculated. Used to determine the window size change amount and window size.

尚、ウィンドウサイズ制御部17は、ボトルネックとなっているルータ30aの送信バッファ31の蓄積パケット量が、1〜3パケットに維持できるようにcwndを制御することが好ましい。又、送信制御部12は、ウィンドウサイズ制御部17からウィンドウサイズの変更量を取得した場合には、(6)式を用いてウィンドウサイズを決定できる。   Note that the window size control unit 17 preferably controls cwnd so that the amount of packets stored in the transmission buffer 31 of the router 30a serving as a bottleneck can be maintained at 1 to 3 packets. In addition, when the transmission control unit 12 obtains the window size change amount from the window size control unit 17, the transmission control unit 12 can determine the window size using Equation (6).

このような送信端末10は、コンピュータに、コンピュータを、ネットワークのトラフィック状況を取得する取得手段と、トラフィック状況に基づいて、ウィンドウサイズの変更量を決定するウィンドウサイズ制御手段と、ウィンドウサイズの変更量に基づいて、データパケットの送信を制御する送信制御手段として機能させるためのプログラムを実行させることにより実現できる。このようなプログラムは記録媒体に格納しておき、コンピュータが記録媒体から読み出して実行する。   Such a transmission terminal 10 includes, in the computer, an acquisition unit that acquires a network traffic state, a window size control unit that determines a window size change amount based on the traffic state, and a window size change amount. This can be realized by executing a program for functioning as transmission control means for controlling transmission of data packets. Such a program is stored in a recording medium, and the computer reads the program from the recording medium and executes it.

次に、通信システム100を用いた通信方法について説明する。図6に示すように、Round(#i)において、送信端末10は、cwnd(#i)でデータパケットを送信する(S101)。このとき、送信端末10は、各データパケットの送信時刻を記録する(S102)。Round(#i+1)になると、送信端末10は、cwnd(#i+1)でデータパケットを送信する(S103)。更に、送信端末10は、Round(#i)において送信したデータパケットのAckを受信する。そして、送信端末10は、Round(#i)において送信した各データパケットのRTTを、ステップ(S102)で記録した送信時刻を用いて計算する(S104)。   Next, a communication method using the communication system 100 will be described. As shown in FIG. 6, in Round (#i), the transmission terminal 10 transmits a data packet using cwnd (#i) (S101). At this time, the transmission terminal 10 records the transmission time of each data packet (S102). When it becomes Round (# i + 1), the transmitting terminal 10 transmits a data packet by cwnd (# i + 1) (S103). Furthermore, the transmission terminal 10 receives the Ack of the data packet transmitted in Round (#i). Then, the transmission terminal 10 calculates the RTT of each data packet transmitted in Round (#i) using the transmission time recorded in step (S102) (S104).

送信端末10は、Round(#i)において送信したデータパケットのAckを全て受信すると、Round(#i)におけるRTTの平均値、RTT_ave(#i)を計算する(S105)。そして、送信端末10は、RTT_ave(#i)を用いて、Round(#i)における蓄積パケット量Queued_packet(#i)を計算する(S106)。更に、送信端末10は、蓄積パケット量Queued_packet(#i)を用いて、Round(#i+2)におけるcwnd(#i+2)を計算し、ウィンドウサイズの変更量に基づくウィンドウサイズを決定する(S107)。そして、送信端末10は、Round(#i+2)になると、cwnd(#i+2)でデータパケットを送信する(S108)。   When the transmitting terminal 10 receives all the Ack of the data packet transmitted in Round (#i), it calculates the average value of RTT, RTT_ave (#i) in Round (#i) (S105). Then, the transmitting terminal 10 calculates the accumulated packet amount Queued_packet (#i) in Round (#i) using RTT_ave (#i) (S106). Further, the transmission terminal 10 calculates cwnd (# i + 2) in Round (# i + 2) using the accumulated packet amount Queued_packet (#i), and determines the window size based on the window size change amount (S107). When the transmission terminal 10 becomes Round (# i + 2), the transmission terminal 10 transmits a data packet using cwnd (# i + 2) (S108).

このような通信システム100、送信端末10、送信端末10を実現するプログラム及び通信方法によれば、ネットワーク40のトラフィック状況を取得し、取得したトラフィック状況に応じてウィンドウサイズの変更量を動的に変更できる。そして、通信システム100、送信端末10は、動的に変更されたウィンドウサイズの変更量に基づいて動的に変更されたウィンドウサイズを用いて、データパケットを送信できる。しかも、通信システム100、送信端末10は、蓄積パケット量を用いて変更量を計算することにより、容易に適切なウィンドウサイズの変更量を決定できる。そのため、通信システム100、通信装置10は、ネットワーク40のトラフィック状況の変化に、適切に追従してデータパケットを送信できる。   According to the communication system 100, the transmission terminal 10, and the program and the communication method for realizing the transmission terminal 10, the traffic situation of the network 40 is acquired, and the window size change amount is dynamically changed according to the acquired traffic situation. Can change. And the communication system 100 and the transmission terminal 10 can transmit a data packet using the window size dynamically changed based on the change amount of the dynamically changed window size. Moreover, the communication system 100 and the transmission terminal 10 can easily determine an appropriate window size change amount by calculating the change amount using the accumulated packet amount. Therefore, the communication system 100 and the communication apparatus 10 can appropriately follow the change in the traffic status of the network 40 and transmit the data packet.

より具体的には、通信システム100、通信装置10は、1RTTの長さを持つ制御周期(Round)毎のcwndの増減量を、トラフィック状況に合わせて動的に変更できる。そのため、通信システム100、通信装置10は、トラフィック状況の変化に対する追従性を向上できる。よって、通信システム100、通信装置10は、輻輳が発生した場合には速やかに輻輳を緩和し、ネットワークの通信帯域に空きが生じた場合には、速やかに空いた通信帯域を有効に利用できる。   More specifically, the communication system 100 and the communication device 10 can dynamically change the increase / decrease amount of cwnd for each control period (Round) having a length of 1 RTT according to the traffic situation. Therefore, the communication system 100 and the communication apparatus 10 can improve the followability with respect to the change of a traffic condition. Therefore, the communication system 100 and the communication device 10 can quickly relieve the congestion when congestion occurs, and can effectively use the free communication band when the network communication band becomes empty.

尚、本発明は上記実施形態に限定されるものではなく、種々の変更が可能である。例えば、通信装置として、ウィンドウサイズを制御する制御装置を通信システムに設けてもよい。そして、制御装置が、ネットワーク40のトラフィック状況を取得して、ウィンドウサイズの変更量やそれに基づくウィンドウサイズを決定し、各送信端末に通知することにより、データパケットの送信を制御してもよい。又、例えば、パケット量計算部16、ウィンドウサイズ制御部17、送信制御部12が、別々の通信装置に設けられてもよい。   In addition, this invention is not limited to the said embodiment, A various change is possible. For example, a control device that controls the window size may be provided in the communication system as the communication device. Then, the control device may control the transmission of the data packet by acquiring the traffic status of the network 40, determining the change amount of the window size and the window size based thereon, and notifying each transmitting terminal. For example, the packet amount calculation unit 16, the window size control unit 17, and the transmission control unit 12 may be provided in different communication devices.

本発明の第1の実施の形態に係る通信システムの構成を示す図である。It is a figure which shows the structure of the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係る送信端末の構成を示すブロック図である。It is a block diagram which shows the structure of the transmission terminal which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るRound(#i)における通信システムの状況を示す図である。It is a figure which shows the condition of the communication system in Round (#i) which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るRound(#i+1)開始時の通信システムの状況を示す図である。It is a figure which shows the condition of the communication system at the time of Round (# i + 1) start which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るRound(#i+1)終了時の通信システムの状況を示す図である。It is a figure which shows the condition of the communication system at the time of Round (# i + 1) completion | finish which concerns on the 1st Embodiment of this invention. 本発明の本発明の第1の実施の形態に係る通信方法の手順を示すフロー図である。It is a flowchart which shows the procedure of the communication method which concerns on the 1st Embodiment of this invention. 従来の輻輳制御方法を示す図である。It is a figure which shows the conventional congestion control method.

符号の説明Explanation of symbols

100 通信システム
10,210 送信端末
11 送信バッファ
12 送信制御部
13 通信インタフェース
14 送信記録テーブル
15 時計部
16 パケット量計算部
17 ウィンドウサイズ制御部
20 受信端末
30a,30b,230 ルータ
31,231 送信バッファ
40 ネットワーク
DESCRIPTION OF SYMBOLS 100 Communication system 10,210 Transmission terminal 11 Transmission buffer 12 Transmission control part 13 Communication interface 14 Transmission recording table 15 Clock part 16 Packet amount calculation part 17 Window size control part 20 Receiving terminal 30a, 30b, 230 Router 31 and 231 Transmission buffer 40 network

Claims (7)

送信端末と、ルータと、受信端末とがネットワークを介して互いに接続されており、前記送信端末から所定の送信単位で送信されたデータパケットが前記ルータによって前記受信端末に転送される通信システムであって、
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算手段と、
前記トラフィック状況計算手段により計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御手段と、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御手段と
を備え、
前記トラフィック状況計算手段は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算手段を有し、
前記送信制御手段により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御手段は、
所定の閾値と、前記トラフィック状況計算手段によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御手段は、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とする通信システム。
A communication system in which a transmission terminal, a router, and a reception terminal are connected to each other via a network, and a data packet transmitted from the transmission terminal in a predetermined transmission unit is transferred to the reception terminal by the router. And
Traffic status calculation means for calculating the amount of data packets stored in the router;
Window size control means for determining a window size that is the transmission unit of data packets to be transmitted to the network based on the accumulated packet amount calculated by the traffic status calculation means;
Transmission control means for controlling transmission of data packets based on the window size determined by the window size control means,
The traffic condition calculation means includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the above, it has an accumulated packet amount calculation means for calculating a round trip time of the data packet,
While the data packet of the second transmission unit following the one transmission unit is being transmitted by the transmission control means, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control means includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic condition calculation means, and then the data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control means includes
A communication system, wherein data packets of three transmission units following the second transmission unit are transmitted with the window size determined by the window size control means.
前記送信端末から前記ネットワークに向けて送信される全データパケットのシーケンス番号と、前記全データパケットの各々の送信時刻とを関連付けて記憶する記憶手段を有することを特徴とする請求項1に記載の通信システム。   The storage unit according to claim 1, further comprising: a storage unit that associates and stores sequence numbers of all data packets transmitted from the transmission terminal toward the network and transmission times of all the data packets. Communications system. 前記蓄積パケット量計算手段は、一の送信単位において送信したデータパケットの各々に対して算出したラウンドトリップタイムの中で最小のラウンドトリップタイムを前記一の送信単位における前記輻輳が無い場合のラウンドトリップタイムとすることを特徴とする請求項1に記載の通信システム。   The accumulated packet amount calculating means calculates a round trip time in a case where there is no congestion in the one transmission unit as a minimum round trip time among round trip times calculated for each data packet transmitted in one transmission unit. The communication system according to claim 1, wherein time is set. 前記蓄積パケット量計算手段は、前記一の送信単位において送信した全データパケットの各々に対して算出したラウンドトリップタイムの平均値を前記実測のラウンドトリップタイムの平均値とすることを特徴とする請求項1に記載の通信システム。   The accumulated packet amount calculation means sets an average value of round trip times calculated for all data packets transmitted in the one transmission unit as an average value of the actually measured round trip times. Item 12. The communication system according to Item 1. ネットワークを介して互いに接続されており、前記ネットワークに接続されたルータを介して他の端末に所定の送信単位でデータパケットを送信する又はネットワークから前記データパケットを受信する通信装置であって、
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算手段と、
前記トラフィック状況計算手段により計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御手段と、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御手段と
を備え、
前記トラフィック状況計算手段は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算手段を有し、
前記送信制御手段により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御手段は、
所定の閾値と、前記トラフィック状況計算手段によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御手段は、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とする通信装置。
A communication device that is connected to each other via a network, transmits a data packet in a predetermined transmission unit to another terminal via a router connected to the network, or receives the data packet from the network,
Traffic status calculation means for calculating the amount of data packets stored in the router;
Window size control means for determining a window size that is the transmission unit of data packets to be transmitted to the network based on the accumulated packet amount calculated by the traffic status calculation means;
Transmission control means for controlling transmission of data packets based on the window size determined by the window size control means,
The traffic condition calculation means includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the above, it has an accumulated packet amount calculation means for calculating a round trip time of the data packet,
While the data packet of the second transmission unit following the one transmission unit is being transmitted by the transmission control means, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control means includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic condition calculation means, and then the data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control means includes
The communication apparatus transmits a data packet of three transmission units following the second transmission unit with the window size determined by the window size control means.
コンピュータを、ネットワークに接続されたルータを介して他の端末に所定の送信単位でデータパケットを送信する又はネットワークから前記データパケットを受信する通信装置として機能させるプログラムであって、
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算手段と、
前記トラフィック状況計算手段により計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御手段と、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御手段と
を備え、
前記トラフィック状況計算手段は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算手段を有し、
前記送信制御手段により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御手段は、
所定の閾値と、前記トラフィック状況計算手段によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御手段は、
前記ウィンドウサイズ制御手段により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とするプログラム。
A program that causes a computer to function as a communication device that transmits a data packet in a predetermined transmission unit to another terminal via a router connected to the network or receives the data packet from the network,
Traffic status calculation means for calculating the amount of data packets stored in the router;
Window size control means for determining a window size that is the transmission unit of data packets to be transmitted to the network based on the accumulated packet amount calculated by the traffic status calculation means;
Transmission control means for controlling transmission of data packets based on the window size determined by the window size control means,
The traffic condition calculation means includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the above, it has an accumulated packet amount calculation means for calculating a round trip time of the data packet,
While the data packet of the second transmission unit following the one transmission unit is being transmitted by the transmission control means, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control means includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic condition calculation means, and then the data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control means includes
A program that transmits data packets of three transmission units following the second transmission unit with the window size determined by the window size control means.
送信端末と、ルータと、受信端末とがネットワークを介して互いに接続された通信システムにおいて、前記送信端末によって所定の送信単位で送信されたデータパケットを前記ルータによって前記受信端末に転送する通信方法であって、
前記ルータに蓄積されているデータパケットの蓄積パケット量を計算するトラフィック状況計算工程と、
前記トラフィック状況計算工程で計算された前記蓄積パケット量に基づいて前記ネットワークに向けて送信するデータパケットの前記送信単位であるウィンドウサイズを決定するウィンドウサイズ制御工程と、
前記ウィンドウサイズ制御工程で決定された前記ウィンドウサイズに基づいてデータパケットの送信を制御する送信制御工程と
を有し、
前記トラフィック状況計算工程は、
前記ネットワークに向けて送信された前記データパケットが前記受信端末で受信されたことを示す応答信号を受信する毎に、前記応答信号の受信時刻と、前記応答信号に該当するデータパケットの送信時刻とから、前記データパケットのラウンドトリップタイムを計算する蓄積パケット量計算工程を有し、
前記送信制御工程により一の送信単位に続く二の送信単位のデータパケットが送信されている間に、前記一の送信単位において送信したデータパケットに対する前記応答信号を前記ネットワークから受け取り、
受け取った前記応答信号から前記ルータに蓄積されている前記一の送信単位に含まれるデータパケットの蓄積パケット量を、輻輳が無い場合のデータパケットのラウンドトリップタイムに対する実測のラウンドトリップタイムの平均値の比の値と、現在のウィンドウサイズとの積として計算し、
前記ウィンドウサイズ制御工程は、
所定の閾値と、前記トラフィック状況計算工程によって計算された前記蓄積パケット量との差に基づいて前記ウィンドウサイズの変化量を決定し、現在のウィンドウサイズと前記変化量とに基づいて、次にデータパケットを送信する際のウィンドウサイズを決定し、
前記送信制御工程は、
前記ウィンドウサイズ制御工程により決定された前記ウィンドウサイズで前記二の送信単位に続く三の送信単位のデータパケットを送信する
ことを特徴とする通信方法。
In a communication system in which a transmitting terminal, a router, and a receiving terminal are connected to each other via a network, a communication method for transferring a data packet transmitted by the transmitting terminal in a predetermined transmission unit to the receiving terminal by the router There,
A traffic status calculation step of calculating the amount of stored data packets stored in the router;
A window size control step of determining a window size that is the transmission unit of the data packet to be transmitted to the network based on the accumulated packet amount calculated in the traffic situation calculation step;
A transmission control step for controlling transmission of data packets based on the window size determined in the window size control step, and
The traffic situation calculation step includes:
Each time a response signal indicating that the data packet transmitted to the network is received by the receiving terminal is received, a reception time of the response signal, a transmission time of a data packet corresponding to the response signal, and From the accumulated packet amount calculation step of calculating the round trip time of the data packet,
While the data packet of two transmission units following one transmission unit is being transmitted by the transmission control step, the response signal for the data packet transmitted in the one transmission unit is received from the network,
From the received response signal, the accumulated amount of data packets included in the one transmission unit accumulated in the router is expressed as an average value of actually measured round trip times with respect to the round trip time of the data packets when there is no congestion. Calculate as the product of the ratio value and the current window size,
The window size control step includes:
A change amount of the window size is determined based on a difference between a predetermined threshold value and the accumulated packet amount calculated by the traffic situation calculation step, and then data is determined based on the current window size and the change amount. Determine the window size when sending packets,
The transmission control step includes
A communication method of transmitting data packets of three transmission units following the second transmission unit with the window size determined by the window size control step.
JP2004026127A 2004-02-02 2004-02-02 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD Expired - Fee Related JP4249049B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004026127A JP4249049B2 (en) 2004-02-02 2004-02-02 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004026127A JP4249049B2 (en) 2004-02-02 2004-02-02 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD

Publications (2)

Publication Number Publication Date
JP2005218069A JP2005218069A (en) 2005-08-11
JP4249049B2 true JP4249049B2 (en) 2009-04-02

Family

ID=34908285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004026127A Expired - Fee Related JP4249049B2 (en) 2004-02-02 2004-02-02 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD

Country Status (1)

Country Link
JP (1) JP4249049B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480059B1 (en) * 2009-04-07 2015-01-13 에스케이 텔레콤주식회사 Data packet transmission method and system therefor, service box device and access box device
JP5521559B2 (en) * 2010-01-07 2014-06-18 日本電気株式会社 Parallel computing network device and control method thereof
JP6464911B2 (en) * 2015-05-01 2019-02-06 富士通株式会社 Information processing system, information processing system control method, and receiving apparatus

Also Published As

Publication number Publication date
JP2005218069A (en) 2005-08-11

Similar Documents

Publication Publication Date Title
US7869365B2 (en) System and program storage device for controlling data packet flows by manipulating data packets according to an actual manipulation rate
US9112799B2 (en) Network packet loss processing method and apparatus
JP4632874B2 (en) Communication terminal
EP1393508B1 (en) Data transport acceleration and management within a network communication system
US7839859B2 (en) Voice adaptive gateway pacing methods and systems for wireless multi-hop networks
US7760633B2 (en) Transmission control protocol (TCP) congestion control using transmission delay components
CN110808884B (en) Network congestion control method
US20040246895A1 (en) Bandwidth-limited supervisory packet transmission to control congestion and call establishment in packet-based networks
US8995268B2 (en) Method for controlling a flow in a packet switching network
JP2004253934A (en) Radio communication system, server, base station, mobile terminal, and retransmit time out determining method therefor
EP2538630B1 (en) High-speed communication system and high-speed communication method
Li et al. Buffer sizing for 802.11-based networks
US9510354B2 (en) Method and a device for low intrusive fast estimation of the bandwidth available between two IP nodes
Chatranon et al. A survey of TCP-friendly router-based AQM schemes
CN101816153A (en) Improved utilization of data links
JP2006157918A (en) High-throughput communications system, communications terminal, session relay device, and communication protocol
Briscoe et al. Scaling tcp's congestion window for small round trip times
CN1914872B (en) Session relay device, session relay method
JP4249049B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD
JP2009105662A (en) Multi-hop communication system, multi-hop communication method, terminal device and repeating device
JP2008236709A (en) Communication quality control method, communication quality control apparatus, communication system, and program
JP2005184494A (en) Data communication management method
Dukkipati Rcp: Congestion control to make flows complete quickly
JP2004056328A (en) Router, router dynamic quality control method, program, and recording medium
JP7687449B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080929

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090114

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

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140123

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees