JP4429982B2 - Congestion control method and communication terminal thereof - Google Patents

Congestion control method and communication terminal thereof Download PDF

Info

Publication number
JP4429982B2
JP4429982B2 JP2005194573A JP2005194573A JP4429982B2 JP 4429982 B2 JP4429982 B2 JP 4429982B2 JP 2005194573 A JP2005194573 A JP 2005194573A JP 2005194573 A JP2005194573 A JP 2005194573A JP 4429982 B2 JP4429982 B2 JP 4429982B2
Authority
JP
Japan
Prior art keywords
rtt
packet
time
window size
abe
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
JP2005194573A
Other languages
Japanese (ja)
Other versions
JP2007013823A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005194573A priority Critical patent/JP4429982B2/en
Publication of JP2007013823A publication Critical patent/JP2007013823A/en
Application granted granted Critical
Publication of JP4429982B2 publication Critical patent/JP4429982B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はトランスポート層に実装される輻輳制御アルゴリズムにおいて、ネットワークの輻輳度に応じて、どの程度ウインドウサイズを増加させるかを計算する技術に関する。   The present invention relates to a technique for calculating how much a window size is increased in accordance with a congestion degree of a network in a congestion control algorithm implemented in a transport layer.

現在のインターネットで使用されている端末はトランスポートプロトコルにTCP(Transmission Control Protocol)を実装している。TCPにおける輻輳制御アルゴリズムは、スロースタート段階と輻輳回避段階に分けることができる(非特許文献1)。ここでは本発明に関係のある輻輳回避段階におけるアルゴリズムについてのみ述べる。   The terminals currently used on the Internet implement TCP (Transmission Control Protocol) as a transport protocol. The congestion control algorithm in TCP can be divided into a slow start stage and a congestion avoidance stage (Non-Patent Document 1). Here, only the algorithm in the congestion avoidance stage related to the present invention will be described.

TCPを使用している送信端末はパケットを送信する時、各パケットにシーケンス番号を付与する。受信端末はパケットを正しく受信すると、次に受信を期待するパケットのシーケンス番号が付与された受信確認パケットを送信する。図1はパケットに付与されるシーケンス番号を説明するための図であり、長方形がパケットを表し、その中の数字がシーケンス番号を表している。図1の例では、シーケンス番号100或いは101のパケットを受信すると、受信端末は次に受信を期待するパケットのシーケンス番号101或いは102が付与された受信確認パケットを送信している。   When a transmitting terminal using TCP transmits a packet, it assigns a sequence number to each packet. When receiving the packet correctly, the receiving terminal transmits a reception confirmation packet to which the sequence number of the packet expected to be received next is given. FIG. 1 is a diagram for explaining a sequence number assigned to a packet, in which a rectangle represents a packet, and a number therein represents a sequence number. In the example of FIG. 1, when a packet with a sequence number 100 or 101 is received, the receiving terminal transmits a reception confirmation packet to which the sequence number 101 or 102 of the packet expected to be received next is given.

また送信端末は、輻輳ウインドウ(cwnd)と呼ばれる変数を管理しており、cwndの値だけパケットを受信端末からの受信確認パケットの到着なしに送信することができる。例えばcwndの値が100の時、送信端末は100個のパケットを受信確認パケットの到着なしに送信することができる。送信端末はcwnd個の受信確認パケットを受信すると、ネットワークが輻輳状態ではないと判断し、cwndの値を1だけ増加させる。つまり先程の例では100個のパケットに対する受信確認パケットを受信すると、cwndの値を1だけ増加させ、101にする。一方、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値を半分にし、そのシーケンス番号のパケットを再送する。図2はパケットが再送される条件を説明するための図である。図2ではシーケンス番号101のパケットがネットワーク内で廃棄され、送信端末は次に受信を期待するパケットのシーケンス番号が101である受信確認パケットを3回受信したので、シーケンス番号が101のパケットを再送している。   The transmitting terminal manages a variable called a congestion window (cwnd), and can transmit a packet by the value of cwnd without arrival of a reception confirmation packet from the receiving terminal. For example, when the value of cwnd is 100, the transmitting terminal can transmit 100 packets without arrival of an acknowledgment packet. When the transmitting terminal receives cwnd number of acknowledgment packets, the transmitting terminal determines that the network is not congested and increases the value of cwnd by one. That is, in the previous example, when the reception confirmation packet for 100 packets is received, the value of cwnd is increased by 1 to 101. On the other hand, when the reception confirmation packet having the same sequence number of the packet expected to be received next is continuously received three times, it is determined that the network is in a congested state, the value of cwnd is halved, and the packet of that sequence number Will be resent. FIG. 2 is a diagram for explaining the conditions under which a packet is retransmitted. In FIG. 2, the packet with the sequence number 101 is discarded in the network, and the transmitting terminal receives the reception confirmation packet with the sequence number 101 that is expected to be received next three times, so the packet with the sequence number 101 is retransmitted. is doing.

上記がTCPにおける輻輳制御アルゴリズムの基本的動作であるが、近年このアルゴリズムでは、往復伝播遅延時間が長い場合、ギガビットレベルのスループットが実現不可能であることが報告され、新しくCUBIC−TCPが提案されている(非特許文献2)。CUBIC−TCPでは、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値をb倍に減少する。一方、3回連続して受信していない場合はネットワークが輻輳状態でないと判断し、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を   The above is the basic operation of the congestion control algorithm in TCP. Recently, it has been reported that when this round-trip propagation delay time is long, a gigabit-level throughput cannot be realized, and a new CUBIC-TCP is proposed. (Non-Patent Document 2). In CUBIC-TCP, if reception confirmation packets having the same sequence number of the next packet expected to be received are received three times in succession, it is determined that the network is in a congested state, and the value of cwnd is reduced by a factor of b. . On the other hand, if it is determined that the network is not in a congested state when it has not been received three times in succession, and the window size cwnd (t )

Figure 0004429982
Figure 0004429982

に設定する。ここでCは定数、Kは((b*W_max)/C)1/3、W_maxは前回輻輳状態にあると判断した時のcwndの値である。「*」は乗算を表す。図3は、CUBIC−TCPにおいて、ウインドウサイズが減少した後、再び増加し始めてからt時間経過した時のウインドウサイズ示したものである。 Set to. Here, C is a constant, K is ((b * W_max) / C) 1/3 , and W_max is the value of cwnd when it is determined that the previous congestion state. “*” Represents multiplication. FIG. 3 shows the window size when the time t has elapsed since the window size decreased and then increased again in CUBIC-TCP.

CUBIC−TCPは従来のTCPに比べて、cwndの増加率を高くし、且つ減少率を低くすることにより、往復遅延時間が長い場合でも、ギガビットレベルのスループットが実現可能であるようにしている。   CUBIC-TCP increases the increase rate of cwnd and lowers the decrease rate compared to conventional TCP, so that a gigabit-level throughput can be realized even when the round-trip delay time is long.

しかしCUBIC−TCPには様々な問題点がある。その中の1つは、あるフローがウインドウサイズが大きい状態で通信を行っている時に、別のフローが通信を始めると、通信を開始したフローのウインドウサイズがなかなか増加しないという問題である。以下にこの問題を確認するシミュレーションを行った結果を示す。図4にシミュレーションモデルを示す。送信端末、受信端末はそれぞれ2つで、リンク帯域は600Mbpsであり、送信・受信端末間の伝播遅延時間を50ミリ秒、パケットサイズを1500バイトとした。送信端末は常に送信するパケットを有しており、1つ目の送信端末は時刻0秒に通信を開始し、2つ目の送信端末は時刻100秒に通信を開始するとした。図5に時間毎の輻輳ウインドウサイズの変化を示す。図5において、縦軸はウインドウサイズであり、横軸は時間である。図5より、100秒に通信を開始したフローのウインドウサイズ(図5の点線)は、時刻が300秒になっても既に通信を開始してるフローのウインドウサイズ(図5の実線)と等しくなっていないことが確認できる。つまりCUBIC−TCPでは、新たに通信を開始したフローは広帯域のスループットを得るまでかなりの時間がかかるという問題がある。   However, CUBIC-TCP has various problems. One of the problems is that when a flow is communicating with a large window size and another flow starts communicating, the window size of the flow that has started communication does not increase easily. The results of a simulation to confirm this problem are shown below. FIG. 4 shows a simulation model. There are two transmission terminals and two reception terminals, the link bandwidth is 600 Mbps, the propagation delay time between the transmission and reception terminals is 50 milliseconds, and the packet size is 1500 bytes. The transmission terminal always has a packet to be transmitted, and the first transmission terminal starts communication at time 0 seconds, and the second transmission terminal starts communication at time 100 seconds. FIG. 5 shows changes in the congestion window size over time. In FIG. 5, the vertical axis represents the window size, and the horizontal axis represents time. From FIG. 5, the window size of the flow that started communication in 100 seconds (dotted line in FIG. 5) is equal to the window size of the flow that has already started communication (solid line in FIG. 5) even when the time reaches 300 seconds. It can be confirmed that it is not. In other words, CUBIC-TCP has a problem that it takes a considerable time to obtain a wide-band throughput for a flow for which communication is newly started.

CUBIC−TCPとは別にTCP Westwood+と呼ばれる方式が提案されている(非特許文献3)。Westwood+では、パケット送信時に現在の時刻now1をパケットに書き込み、受信端末はパケットを受信した時、パケットに書き込まれているnow1を読み取り、受信したパケットに対する受信確認パケットを送信する際、now1を受信確認パケットに書き込み、送信端末は受信確認パケットを受信した時、現在の時刻nowからnow1を減算した値を計算し、その最小値RTT_minを記憶し、また往復遅延時間内に受信した受信確認パケットから利用可能帯域ABEを次のように計算する。   In addition to CUBIC-TCP, a method called TCP Westwood + has been proposed (Non-Patent Document 3). In Westwood +, when the packet is transmitted, the current time now1 is written in the packet, and when the receiving terminal receives the packet, it reads now1 written in the packet, and when receiving the reception confirmation packet for the received packet, it confirms reception of now1. When the reception terminal receives the reception confirmation packet, it calculates the value obtained by subtracting now1 from the current time, stores the minimum value RTT_min, and uses it from the reception confirmation packet received within the round trip delay time. The possible bandwidth ABE is calculated as follows.

Figure 0004429982
Figure 0004429982

ここでlast_tは前回ABEを計算した時刻、dは(now−last_t)の間に受信確認されたパケット数、αは定数である。 Here, last_t is the time when the last ABE was calculated, d is the number of packets confirmed to be received during (now-last_t), and α is a constant.

Westwood+では、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを3回連続して受信すると、ネットワークが輻輳状態であると判断し、cwndの値をRTT_min*ABEに減少する。一方、3回連続して受信していない場合はネットワークが輻輳状態でないと判断し、従来のTCPと同様な方式を用いてウインドウサイズを増加させる。   In Westwood +, when the reception confirmation packet having the same sequence number of the next packet expected to be received is continuously received three times, it is determined that the network is in a congestion state, and the value of cwnd is reduced to RTT_min * ABE. On the other hand, if it is not received three times in succession, it is determined that the network is not in a congested state, and the window size is increased using a method similar to the conventional TCP.

Westwood+はこのように、ネットワークが輻輳状態であると判断した場合にウインドウサイズを減少させる時、値RTT_min*ABEを基にして、ウインドウサイズの減少幅を決定している。しかしながら、ウインドウサイズを増加する時には、ABEの値を用いていない。   In this way, Westwood + determines the window size reduction width based on the value RTT_min * ABE when reducing the window size when it is determined that the network is in a congested state. However, when increasing the window size, the value of ABE is not used.

村山他、“トランスポートプロトコル”、岩波書店、2001年4月6日、P174〜176Murayama et al., “Transport Protocol”, Iwanami Shoten, April 6, 2001, P174-176 I. Rhee, L. Xu,“CUBIC: A New TCP Friendly High-Speed TCP Variant”, PFLDnet 2005, Feb. 2005, [online], インターネット<http://www.ens-Iyon.fr/LIP/RESO/pfIdnet2005/>I. Rhee, L. Xu, “CUBIC: A New TCP Friendly High-Speed TCP Variant”, PFLDnet 2005, Feb. 2005, [online], Internet <http://www.ens-Iyon.fr/LIP/RESO / pfIdnet2005 / > L. A. Grieco, S. Nascolo,“Performance Evaluation and Comparion of Westwood+, New Reno. and Vegas TCP Congestion Control”, ACM SIGCOMM Computer Communication Review, PP.25-38, April 2004L. A. Grieco, S. Nascolo, “Performance Evaluation and Comparion of Westwood +, New Reno. And Vegas TCP Congestion Control”, ACM SIGCOMM Computer Communication Review, PP.25-38, April 2004

本発明はCUBIC−TCPの輻輳制御方式において、ウインドウサイズを減少し再び増加し始めてからt時間経過した時刻におけるウインドウサイズcwnd(t)の値を決定する時、値RTT_min*ABEとRTT_max*ABEを基にしてその値を決定することにより、CUBIC−TCPが持つ様々な問題点、例えば、新たに通信を開始したフローが広帯域のスループットを得るまでの時間が長くなるという問題を解決することを目的としている。   In the congestion control method of the CUBIC-TCP, when determining the value of the window size cwnd (t) at the time when t time has elapsed since the window size was decreased and started to increase again, the values RTT_min * ABE and RTT_max * ABE are set as follows. The purpose is to solve various problems of CUBIC-TCP, for example, the problem that the time until a newly started communication flow obtains a broadband throughput becomes longer by determining the value based on the value. It is said.

本発明は、値RTT_min*ABEとRTT_max*ABEを計算し、それら値を基にして、ウインドウサイズの増加幅を決定するものである。
すなわち、発明は、送信端末が、パケット送信時に現在の時刻now1をパケットに書き込むステップと、受信端末が、前記パケットを受信した時、前記パケットに書き込まれているnow1を読み取るステップと、前記受信端末が、受信した前記パケットに対する受信確認パケットを送信する際、now1を受信確認パケットに書き込むステップと、前記送信端末が、前記受信確認パケットを受信した時、現在の時刻nowから前記受信確認パケットに書き込まれているnow1を減算した値を計算し、その最小値である最小往復遅延時間RTT_min、及びその最大値である最大往復遅延時間RTT_maxを記憶するステップと、前記送信端末が、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算するステップと、前記送信端末が、ネットワークが輻輳状態でないと判断した場合にウインドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウインドウサイズを決定するステップと、を有し、前記送信端末が、前記ウインドウサイズを決定するステップにおいて、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を、C(t−K) +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定するものである。
In the present invention, the values RTT_min * ABE and RTT_max * ABE are calculated, and the increase width of the window size is determined based on these values.
That is, the present invention includes a step in which the transmitting terminal writes the current time now1 in the packet at the time of packet transmission, a step in which the receiving terminal reads now1 written in the packet when the packet is received, and the reception When the terminal transmits a reception confirmation packet for the received packet, a step of writing “now1” into the reception confirmation packet; and when the transmission terminal receives the reception confirmation packet, the terminal confirms the reception confirmation packet from the current time “now”. Calculating a value obtained by subtracting written “now1”, storing a minimum round-trip delay time RTT_min that is the minimum value, and a maximum round-trip delay time RTT_max that is the maximum value; Minimum round-trip delay time RTT_min has elapsed from the time ABE was calculated Calculating the available bandwidth ABE based on the number of acknowledged packets received during time, and when the transmitting terminal determines that the network is not congested, and increases the window size, RTT_min * based on the ABE and RTT_max * ABE, possess determining the window size, the transmitting terminal, in the step of determining the window size, currently, after the window size is reduced, from the start to increase again Assuming that time t has elapsed, the window size cwnd (t) is set to C (t−K) 3 + RTT_max * ABE, where C is a constant and K is (ABE * (RTT_max−RTT_min) / C) 1/3 . Is determined).

本発明と従来の技術との差異は次の通りである。本発明では、ウインドウサイズを減少し再び増加し始めてからt時間経過した時刻におけるウインドウサイズcwnd(t)の値を決定する時、値RTT_min*ABEとRTT_max*ABEを基にしてその値を決定している。しかし従来のCUBIC−TCPではそれらの値を用いていない。またWestwood+は、ウインドウサイズを減少する時は値RTT_min*ABEを用いているが、増加する時はそれらの値を用いていない。   The differences between the present invention and the prior art are as follows. In the present invention, when the value of the window size cwnd (t) at the time when t time has elapsed after the window size is decreased and started to increase again, the value is determined based on the values RTT_min * ABE and RTT_max * ABE. ing. However, those values are not used in the conventional CUBIC-TCP. Westwood + uses the value RTT_min * ABE when decreasing the window size, but does not use those values when increasing the window size.

本発明を用いれば、ギガビットレベルのスループットが実現可能なCUBIC−TCPの性能を向上させることができる。例えば公平な帯域を得るまでの時間を短縮することができる。   By using the present invention, it is possible to improve the performance of CUBIC-TCP capable of realizing a gigabit level throughput. For example, the time required to obtain a fair bandwidth can be shortened.

以下、本発明の実施例を図を参照して説明する。
実施例における送信端末の構成図を図6に、受信端末の構成図を図7に示す。図6(A)に示すように、送信端末600は現在時刻書込部601と時刻読取部602と往復遅延時間計算部603とシーケンス番号読取部604と利用可能帯域計算部605とウインドウサイズ決定部610とを備える。図6(B)に示すように、ウインドウサイズ決定部610は、サイズ増減判断部611とサイズ増加部612とサイズ減少部613とを備える。また、図7に示すように、受信端末700は時刻読取部701と情報書込部702とを備える。なお、図6、図7は本実施例を説明するために必要な部分のみを図示したものであり、本実施例の送信端末、受信端末が送信端末、受信端末として通常必要とされる手段を有することは当然である。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 6 shows a configuration diagram of the transmission terminal in the embodiment, and FIG. 7 shows a configuration diagram of the reception terminal. As shown in FIG. 6A, the transmission terminal 600 includes a current time writing unit 601, a time reading unit 602, a round trip delay time calculating unit 603, a sequence number reading unit 604, an available bandwidth calculating unit 605, and a window size determining unit. 610. As shown in FIG. 6B, the window size determination unit 610 includes a size increase / decrease determination unit 611, a size increase unit 612, and a size decrease unit 613. As shown in FIG. 7, the receiving terminal 700 includes a time reading unit 701 and an information writing unit 702. 6 and 7 show only the parts necessary for explaining the present embodiment. Means that the transmitting terminal and the receiving terminal of the present embodiment are normally required as the transmitting terminal and the receiving terminal are shown. It is natural to have.

送信端末600はパケットAを送信する時、現在時刻書込部601で現在の時刻now1を書き込んだ後、パケットAを送信する。受信端末700はパケットAを受信すると時刻読取部701でパケットAに書き込まれている時刻情報now1を読み取り、その値を情報書込部702に通知する。受信端末700はパケットAに対する受信確認パケットを送信する時、情報書込部702で、パケットAに書き込まれていた時刻情報now1を書き込み、パケットBを送信する。送信端末600はパケットBを受信すると時刻読取部602でパケットBに書き込まれている時刻情報now1を読み取り、現在の時刻now(パケットBを受信した時刻)と読み取ったnow1(パケットAを送信した時刻)を往復遅延時間計算部603に通知する。往復遅延時間計算部603は図8に示すフローチャートに従って、最小往復遅延時間(RTT_min)、最大往復遅延時間(RTT_max)を計算する。送信端末600はまたシーケンス番号読取部604でパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取り、その結果を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可能帯域計算部605では、図9に示すフローチャートに従って、利用可能帯域(ABE)を計算する。ウインドウサイズ決定部610は、サイズ増減判断部611、サイズ増加部612、サイズ減少部613から構成される。サイズ増減判断部611は、図10−1に示すフローチャートに従って、ウインドウサイズを増加するか減少するかを決定する。サイズ増加部612は、図10−2に示すフローチャートに従って、ウインドウサイズを増加する。サイズ減少部613は、図10−3に示すフローチャートに従って、ウインドウサイズを減少する。   When transmitting the packet A, the transmission terminal 600 writes the current time now1 in the current time writing unit 601 and then transmits the packet A. When receiving the packet A, the receiving terminal 700 reads the time information now1 written in the packet A by the time reading unit 701 and notifies the information writing unit 702 of the value. When receiving terminal 700 transmits a reception confirmation packet for packet A, information writing unit 702 writes time information now1 written in packet A and transmits packet B. When the transmission terminal 600 receives the packet B, the time reading unit 602 reads the time information now1 written in the packet B, and reads the current time now (the time when the packet B was received) and the read now1 (the time when the packet A was transmitted) ) To the round-trip delay time calculation unit 603. The round-trip delay time calculation unit 603 calculates a minimum round-trip delay time (RTT_min) and a maximum round-trip delay time (RTT_max) according to the flowchart shown in FIG. The transmission terminal 600 also reads the sequence number of the packet expected to be received next, which is given to the packet by the sequence number reading unit 604, and notifies the available bandwidth calculation unit 605 and the window size determination unit 610 of the result. The available bandwidth calculation unit 605 calculates an available bandwidth (ABE) according to the flowchart shown in FIG. The window size determination unit 610 includes a size increase / decrease determination unit 611, a size increase unit 612, and a size decrease unit 613. The size increase / decrease determination unit 611 determines whether to increase or decrease the window size according to the flowchart illustrated in FIG. The size increasing unit 612 increases the window size according to the flowchart shown in FIG. The size reducing unit 613 reduces the window size according to the flowchart shown in FIG.

図8に、往復遅延時間計算部603におけるアルゴリズム(フローチャート)を示す。往復遅延時間計算部603は次のようにして最大往復遅延時間(RTT_max)、最小往復遅延時間(RTT_min)を得て、これらを記憶装置に記憶する。まず、現在の時刻nowと時刻読取部602が受信したパケットから読み取ったnow1の差すなわちそのパケットの往復遅延時間T=now−now1を計算する(ステップ801)。T>RTT_maxの場合すなわちそのパケットの往復遅延時間がそれまで記憶されていた最大往復遅延時間より大きい場合は(ステップ802でYES)、RTT_maxにTの値を代入して、そのパケットの往復遅延時間を最大往復遅延時間として記憶する(ステップ803)。T<RTT_mixの場合すなわちそのパケットの往復遅延時間がそれまで記憶されていた最小往復遅延時間より小さい場合は(ステップ804でYES)、RTT_minにTの値を代入して、そのパケットの往復遅延時間を最小往復遅延時間として記憶する(ステップ805)。   FIG. 8 shows an algorithm (flow chart) in the round-trip delay time calculation unit 603. The round-trip delay time calculation unit 603 obtains the maximum round-trip delay time (RTT_max) and the minimum round-trip delay time (RTT_min) as follows, and stores them in the storage device. First, the difference between the current time now and the now1 read from the packet received by the time reading unit 602, that is, the round-trip delay time T = now-now1 of the packet is calculated (step 801). When T> RTT_max, that is, when the round-trip delay time of the packet is larger than the maximum round-trip delay time stored so far (YES in step 802), the value of T is substituted into RTT_max, and the round-trip delay time of the packet Is stored as the maximum round-trip delay time (step 803). If T <RTT_mix, that is, if the round trip delay time of the packet is smaller than the previously stored minimum round trip delay time (YES in step 804), the value of T is substituted into RTT_min, and the round trip delay time of the packet Is stored as the minimum round-trip delay time (step 805).

図9に、利用可能帯域計算部605におけるアルゴリズム(フローチャート)を示す。図9において、last_t_は前回ABEを計算した時刻である。Xはシーケンス番号読取部604から通知された番号である。Cはシーケンス番号読取部604から前回通知された番号である。dは確認応答されたパケット数である。ここで確認応答されたパケットとは、受信端末700が受信確認したパケットのことを指す。シーケンス番号Xを持った受信確認パケットは、この受信確認パケットを送る原因となったパケットによって(X−C)個のパケットを受信端末700が正しく受信したことを伝えている。よってそれらを加算したdはその間に受信確認されたパケット数となる。αは定数である。図9のステップ904のABEの式は背景技術の欄で述べたTCP Westwood+のABEの式と同じ式であり、また、図9全体のアルゴリズムもTCP Westwood+のアルゴリズムと同じである。したがって、図9の定数αもTCP Westwood+における定数αと同じであり、TCP Westwood+において定数αの推奨値として0.9が使われているので、図9の定数αの推奨値も0.9である。   FIG. 9 shows an algorithm (flow chart) in the available bandwidth calculation unit 605. In FIG. 9, last_t_ is the time when the previous ABE was calculated. X is a number notified from the sequence number reading unit 604. C is a number notified last time from the sequence number reading unit 604. d is the number of acknowledged packets. Here, the packet that has been acknowledged refers to a packet that has been acknowledged by the receiving terminal 700. The reception confirmation packet having the sequence number X indicates that the reception terminal 700 has correctly received (X-C) packets by the packet that caused the reception confirmation packet to be sent. Therefore, d obtained by adding them is the number of packets confirmed to be received during that time. α is a constant. The ABE equation in step 904 of FIG. 9 is the same as the TCP Westwood + ABE equation described in the background section, and the overall algorithm of FIG. 9 is also the same as the TCP Westwood + algorithm. Therefore, the constant α in FIG. 9 is the same as the constant α in TCP Westwood +, and 0.9 is used as the recommended value of constant α in TCP Westwood +. Therefore, the recommended value of the constant α in FIG. is there.

利用可能帯域計算部605は次のようにして利用可能帯域(ABE)を計算する。まず、利用可能帯域計算部605は、現在の時刻nowと前回ABEを計算した時刻last_t_との差すなわち前回ABEを計算した時刻から現在の時刻までの時間T=now−last_t_を計算する(ステップ901)。次に、確認されたパケット数dにd+(X−C)を代入する(ステップ902)。前回ABEを計算した時にd=0とされているから(ステップ905)、dは前回ABEを計算したときからカウントした確認応答されたパケット数である。T≧RTT_minの場合すなわち前回ABEを計算した時刻から現在の時刻までの時間が最小往復遅延時間以上の場合は(ステップ903でYES)、利用可能帯域ABE=α*ABE+(1−α)*d/Tを計算する(ステップ904)。dに0を代入してd(確認応答されたパケット数)をリセットし、last_t_に現在の時刻nowを代入してlast_t_(前回ABEを確認した時刻)をセットする(ステップ905)。CにXの値を代入してC(シーケンス番号読取部604から前回通知された番号)を更新し(ステップ906)、終了する。一方、ステップ903においてNOの場合はCにXの値を代入してC(シーケンス番号読取部604から前回通知された番号)を更新し(ステップ906)、終了する。   The available bandwidth calculator 605 calculates the available bandwidth (ABE) as follows. First, the available bandwidth calculation unit 605 calculates the difference between the current time now and the time last_t_ at which the previous ABE was calculated, that is, the time T = now-last_t_ from the time at which the previous ABE was calculated to the current time ( Step 901). Next, d + (X−C) is substituted for the confirmed number of packets d (step 902). Since d = 0 is set when the previous ABE was calculated (step 905), d is the number of acknowledged packets counted since the previous ABE was calculated. If T ≧ RTT_min, that is, if the time from the previous ABE calculation time to the current time is equal to or greater than the minimum round-trip delay time (YES in step 903), the available bandwidth ABE = α * ABE + (1−α) * d / T is calculated (step 904). Substituting 0 for d resets d (the number of packets that have been acknowledged), substitutes the current time now for last_t_, and sets last_t_ (the time when the previous ABE was confirmed) (step 905). By substituting the value of X into C, C (the number notified last time from the sequence number reading unit 604) is updated (step 906), and the process ends. On the other hand, if NO in step 903, the value of X is substituted into C to update C (the number notified last time from sequence number reading unit 604) (step 906), and the process ends.

図9のフローチャートからわかるように、ステップ903でT≧RTT_minの場合にステップ904でABEを計算しているので、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算していることになる。   As can be seen from the flowchart in FIG. 9, when T ≧ RTT_min in step 903, ABE is calculated in step 904, so that the minimum round trip delay time RTT_min has elapsed from the time when the available bandwidth ABE was calculated last time. Therefore, the available bandwidth ABE is calculated based on the number of acknowledged packets received at the same time.

次に、ウインドウサイズ決定部610におけるアルゴリズム(フローチャート)について詳細に説明する。
図10−1に、サイズ増減判断部611におけるアルゴリズム(フローチャート)を示す。Cはシーケンス番号読取部604から前回通知された番号であり、numは同じ番号のシーケンス番号を受信した回数である。図10−1に示すようにサイズ増減判断部611は、シーケンス番号読取部604から番号を通知されると(ステップ1011)、その値Xとメモリに記録してある値Cを比較する(ステップ1012)。もしXとCが等しくなければ(ステップ1012でNO)、シーケンス番号が同じ受信確認パケットを連続して受信していないということなので、num(同じ番号のシーケンス番号を受信した回数)を1に、C(シーケンス番号読取部604から前回通知された番号)をXの値に更新し(ステップ1013)、numとCの値をメモリに保存し、サイズ増加部612に向かう(図10−2)。XとCが等しければ(ステップ1012でYES)、シーケンス番号が同じ受信確認パケットを連続して受信しているということなので、メモリに保存してあるnum(同じ番号のシーケンス番号を受信した回数)の値に1を加算する(ステップ1014)。そしてnumが3、つまりシーケンス番号が同じである受信確認パケットを3回連続して受信したならば(ステップ1015でYESの場合)、numを1に、CをXの値に更新し、numとCの値をメモリに保存し(ステップ1016)、サイズ減少部613に向かう(図10−3)。numが3でなければ(ステップ1015でNOの場合)、numの値をメモリに保存し、サイズ増加部612に向かう(図10−2)。
Next, an algorithm (flow chart) in the window size determination unit 610 will be described in detail.
FIG. 10A shows an algorithm (flow chart) in the size increase / decrease determination unit 611. C is a number previously notified from the sequence number reading unit 604, and num is the number of times the same sequence number is received. As illustrated in FIG. 10A, when the number is notified from the sequence number reading unit 604 (step 1011), the size increase / decrease determination unit 611 compares the value X with the value C recorded in the memory (step 1012). ). If X and C are not equal (NO in step 1012), it means that reception packets having the same sequence number have not been received continuously, so num (number of times the same sequence number has been received) is set to 1. C (the number notified last from the sequence number reading unit 604) is updated to the value of X (step 1013), the values of num and C are stored in the memory, and the process proceeds to the size increasing unit 612 (FIG. 10-2). If X and C are equal (YES in step 1012), it means that the reception confirmation packets having the same sequence number are continuously received, so num stored in the memory (the number of times the sequence number having the same number is received). 1 is added to the value of (step 1014). Then, if reception confirmation packets having num = 3, that is, the same sequence number are received three times in succession (in the case of YES at step 1015), num is updated to 1 and C is updated to the value of X. The value of C is stored in the memory (step 1016), and the process proceeds to the size reduction unit 613 (FIG. 10-3). If num is not 3 (NO in step 1015), the value of num is stored in the memory, and the process proceeds to the size increasing unit 612 (FIG. 10-2).

図10−2に、サイズ増加部612におけるアルゴリズム(フローチャート)を示す。tはウインドウサイズを減少し再び増加し始めてからの時間であり、t_decは前回、ウインドウサイズを減少した時刻であり、ABEは利用可能帯域計算部605から通知された値であり、W_max、W_minは往復遅延時間計算部603から通知された値であり、Cは定数である。図10−2の定数Cは背景技術の欄で述べたCUBIC−TCPにおけるcwnd(t)を求める式の定数Cと同じ定数を用いることができる。CUBIC−TCPにおける定数Cの推奨値は0.4であるから、図10−2の定数Cの推奨値も0.4である。図10−2に示すようにサイズ増加部612では、メモリに記憶してある前回ウインドウサイズが減少した時刻t_decを基にして、値tを計算する(ステップ1021)。そして利用可能帯域計算部605から通知されたABE、往復遅延時間計算部603から通知されたRTT_min、RTT_max、メモリに記憶してあるCを基にして、値K=(ABE*(RTT_max−RTT_min)/C)1/3を計算する。これらの値からウインドウサイズcwnd(t)=C(t−K)+RTT_max*ABEを計算し、新しいウインドウサイズを決定する(ステップ1022)。 FIG. 10-2 shows an algorithm (flow chart) in the size increasing unit 612. t is the time since the window size was decreased and started increasing again, t_dec is the time when the window size was decreased last time, ABE is the value notified from the available bandwidth calculator 605, and W_max and W_min are The value notified from the round-trip delay time calculation unit 603, and C is a constant. The constant C in FIG. 10-2 can be the same as the constant C in the equation for calculating cwnd (t) in CUBIC-TCP described in the background art section. Since the recommended value of the constant C in CUBIC-TCP is 0.4, the recommended value of the constant C in FIG. 10-2 is also 0.4. As shown in FIG. 10-2, the size increasing unit 612 calculates a value t based on the time t_dec when the previous window size stored in the memory is decreased (step 1021). The value K = (ABE * (RTT_max−RTT_min)) based on ABE notified from the available bandwidth calculator 605, RTT_min and RTT_max notified from the round-trip delay time calculator 603, and C stored in the memory. / C) Calculate 1/3 . The window size cwnd (t) = C (t−K) 3 + RTT_max * ABE is calculated from these values, and a new window size is determined (step 1022).

図10−3に、ウインドウサイズ決定部610のサイズ減少部613におけるアルゴリズム(フローチャート)を示す。図10−3に示すようにサイズ減少部613では、利用可能帯域計算部605から通知されたABE、往復遅延時間計算部603から通知されたRTT_minを基にして、ウインドウサイズcwnd=RTT_min*ABEを計算し、新しいウインドウサイズを決定する(ステップ1031)。そしてウインドウサイズを減少した時刻を、ウインドウ増加部のメモリに記憶されているt_decに代入する(1032)。   FIG. 10C shows an algorithm (flow chart) in the size reduction unit 613 of the window size determination unit 610. As shown in FIG. 10-3, the size reduction unit 613 sets the window size cwnd = RTT_min * ABE based on the ABE notified from the available bandwidth calculation unit 605 and the RTT_min notified from the round trip delay time calculation unit 603. Calculate and determine a new window size (step 1031). Then, the time when the window size is decreased is substituted into t_dec stored in the memory of the window increasing unit (1032).

以下、図11に示す例を用いて、本実施例の動作を説明する。送信端末600は図11に示すように、パケット1から3を受信端末700に向けてそれぞれ時刻10.000、10.001、10.002秒に送信し、受信端末700からの受信確認パケット1から3をそれぞれ時刻10.101、10.102、10.103秒に受信するとする。受信確認パケット1から3は、時刻情報now1として、それぞれ10.000、10.001、10.002秒、次に受信を期待するパケットのシーケンス番号として、それぞれ100、101、102を有しているとする。受信確認パケット1を受信する直前、図8のRTT_max(最大往復遅延時間)は0.2秒、RTT_min(最小往復遅延時間)は0.1秒、図9のlast_t_(前回ABEを計算した時刻)は10.003秒、d(確認応答されたパケット数)は100、C(シーケンス番号読取部604から前回通知された番号)は99、α(定数)は0.9、図10−1のnum(同じ番号のシーケンス番号を受信した回数)は1、C(シーケンス番号読取部604から前回通知された番号)は99、図10−2のt_dec(前回、ウインドウサイズを減少した時刻)は9秒、C(定数)は0.4、ABE(利用可能帯域計算部605から通知された値)は1000とする。   Hereinafter, the operation of this embodiment will be described with reference to the example shown in FIG. As shown in FIG. 11, the transmitting terminal 600 transmits packets 1 to 3 to the receiving terminal 700 at times 10.000, 10.001, and 10.002 seconds, respectively, and from the reception confirmation packet 1 from the receiving terminal 700. 3 are received at times 10.101, 10.102, and 10.103 seconds, respectively. The reception confirmation packets 1 to 3 have 10.000, 10.001, 10.002 seconds as time information now1, respectively, and 100, 101, 102 as the sequence numbers of packets expected to be received next. And Immediately before receiving the reception confirmation packet 1, RTT_max (maximum round trip delay time) in FIG. 8 is 0.2 seconds, RTT_min (minimum round trip delay time) is 0.1 seconds, and last_t_ in FIG. 9 (time when the previous ABE was calculated). Is 10.003 seconds, d (number of packets acknowledged) is 100, C (number previously notified from the sequence number reading unit 604) is 99, α (constant) is 0.9, and num in FIG. (Number of times the same sequence number is received) is 1, C (number previously notified from the sequence number reading unit 604) is 99, and t_dec in FIG. 10-2 (previous time when the window size is decreased) is 9 seconds. , C (constant) is 0.4, and ABE (value notified from the available bandwidth calculator 605) is 1000.

送信端末600がパケット1の受信確認パケットを受信すると、時刻読取部602でそのパケットに書き込まれている時刻情報now1を読み取る。そしてnow1(=10.000)と現在の時刻now(=10.101)を往復遅延時間計算部603に通知する。往復遅延時間部603では、Tを計算する(図8のステップ801)。Tは0.101(=10.101−10.000)であり、この値はRTT_min(=0.1)より小さくなく(ステップ804でNO)、RTT_max(=0.2)より大きくもないので(ステップ802でNO)、RTT_max、RTT_minの値は更新されない。シーケンス番号読取部604ではパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取る。その値は100であり、その値を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可帯域能計算部605では、T及びdを計算する(図9のステップ901、902)。Tは0.098(=10.101−10.003)、dは101(=100+(100−99))となる。T(=0.098)はRTT_min(=0.1)以上ではないので(ステップ903でNO)、新しいABEは計算されない。値Cは100に更新される(ステップ906)。ウインドウサイズ決定部610では、まずサイズ増減判断部611でウインドウサイズを増加するかしないかを決定する。今回はXが100、Cが99なので(図10−1のステップ1012でNO)、numを1に、Cを100に更新して(ステップ1013)、サイズ増加部612に移動する。サイズ増加部ではまずtを計算する(図10−2のステップ1021)。tは1.101(=10.101−9)となる。次にKを計算する。   When the transmission terminal 600 receives the packet 1 reception confirmation packet, the time reading unit 602 reads the time information now1 written in the packet. Then, it notifies now1 (= 10.0000) and the current time now (= 10.101) to the round-trip delay time calculation unit 603. The round-trip delay time unit 603 calculates T (step 801 in FIG. 8). T is 0.101 (= 10.101-10.000), and this value is not smaller than RTT_min (= 0.1) (NO in step 804) and is not larger than RTT_max (= 0.2). (NO in step 802), the values of RTT_max and RTT_min are not updated. The sequence number reading unit 604 reads the sequence number of the packet expected to be received next given to the packet. The value is 100, and the available bandwidth calculation unit 605 and the window size determination unit 610 are notified of the value. The available bandwidth calculation unit 605 calculates T and d (steps 901 and 902 in FIG. 9). T is 0.098 (= 10.101-10.003), and d is 101 (= 100 + (100-99)). Since T (= 0.098) is not greater than or equal to RTT_min (= 0.1) (NO in step 903), no new ABE is calculated. The value C is updated to 100 (step 906). In the window size determination unit 610, first, the size increase / decrease determination unit 611 determines whether or not to increase the window size. Since X is 100 and C is 99 this time (NO in step 1012 of FIG. 10-1), num is updated to 1, C is updated to 100 (step 1013), and the process proceeds to the size increasing unit 612. In the size increasing unit, t is first calculated (step 1021 in FIG. 10-2). t is 1.101 (= 10.101-9). Next, K is calculated.

Figure 0004429982
Figure 0004429982

よって、ウインドウサイズは

Figure 0004429982
となる(ステップ1022)。 So the window size is
Figure 0004429982
(Step 1022).

送信端末600がパケット2の受信確認パケットを受信すると、時刻読取部602でそのパケットに書き込まれている時刻情報now1を読み取る。そしてnow1(=10.001)と現在の時刻now(=10.102)を往復遅延時間計算部603に通知する。往復遅延時間部603では、Tを計算する(図8のステップ801)。Tは0.101(=10.102−10.001)であり、この値はRTT_min(=0.1)より小さくなく(ステップ804でNO)、RTT_max(=0.2)より大きくもないので(ステップ802でNO)、RTT_max、RTT_minの値は更新されない。シーケンス番号読取部604ではパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取る。その値は101であり、その値を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可能帯域計算部605では、T及びdを計算する(図9のステップ901、902)。Tは0.099(=10.102−10.003)、dは102(=101+(101−100))となる。T(=0.099)はRTT_min(=0.1)以上ではないので(ステップ903でNO)、新しいABEは計算されない。値Cは101に更新される(ステップ906)。ウインドウサイズ決定部610では、まずサイズ増減判断部611でウインドウサイズを増加するかしないかを決定する。Xが101、Cが100なので(図10−1のステップ1012でNO)、numを1に、Cを101に更新して(ステップ1013)、サイズ増加部612に移動する。サイズ増加部612ではまずtを計算する(図10−1の1021)。tは1.102(=10.102−9)となる。次にKを計算する。   When the transmission terminal 600 receives the packet 2 reception confirmation packet, the time reading unit 602 reads the time information now1 written in the packet. Then, now1 (= 10.0001) and the current time now (= 10.102) are notified to the round trip delay time calculation unit 603. The round-trip delay time unit 603 calculates T (step 801 in FIG. 8). T is 0.101 (= 10.102-10.001), and this value is not smaller than RTT_min (= 0.1) (NO in step 804) and is not larger than RTT_max (= 0.2). (NO in step 802), the values of RTT_max and RTT_min are not updated. The sequence number reading unit 604 reads the sequence number of the packet expected to be received next given to the packet. The value is 101, and the value is notified to the available bandwidth calculation unit 605 and the window size determination unit 610. The available bandwidth calculation unit 605 calculates T and d (steps 901 and 902 in FIG. 9). T is 0.099 (= 10.102-10.003), and d is 102 (= 101 + (101-100)). Since T (= 0.099) is not greater than or equal to RTT_min (= 0.1) (NO in step 903), no new ABE is calculated. The value C is updated to 101 (step 906). In the window size determination unit 610, first, the size increase / decrease determination unit 611 determines whether or not to increase the window size. Since X is 101 and C is 100 (NO in step 1012 in FIG. 10A), num is updated to 1, C is updated to 101 (step 1013), and the process proceeds to the size increasing unit 612. The size increasing unit 612 first calculates t (1021 in FIG. 10-1). t is 1.102 (= 10.102-9). Next, K is calculated.

Figure 0004429982
Figure 0004429982

よって、ウインドウサイズは

Figure 0004429982
となる(ステップ1022)。 So the window size is
Figure 0004429982
(Step 1022).

送信端末600がパケット3の受信確認パケットを受信すると、時刻読取部602でそのパケットに書き込まれている時刻情報now1を読み取る。そしてnow1(=10.002)と現在の時刻now(=10.103)を往復遅延時間計算部603に通知する。往復遅延時間部603では、Tを計算する(図8のステップ801)。Tは0.101(=10.103−10.002)であり、この値はRTT_min(=0.1)より小さくなく(ステップ804でNO)、RTT_max(=0.2)より大きくもないので(ステップ802でNO)、RTT_max、RTT_minの値は更新されない。シーケンス番号読取部604ではパケットに付与されている次に受信を期待するパケットのシーケンス番号を読み取る。その値は102であり、その値を利用可能帯域計算部605、及びウインドウサイズ決定部610に通知する。利用可能帯域計算部605では、T及びdを計算する(図9のステップ901、902)。Tは0.1(=10.103−10.003)、dは103(=102+(102−101))となる。T(=0.1)はRTT_min(=0.1)以上なので(ステップ903でYES)、新しいABEを計算する(ステップ904)。   When the transmission terminal 600 receives the packet 3 reception confirmation packet, the time reading unit 602 reads the time information now1 written in the packet. Then, now1 (= 10.0002) and the current time now (= 10.103) are notified to the round trip delay time calculation unit 603. The round-trip delay time unit 603 calculates T (step 801 in FIG. 8). T is 0.101 (= 10.103-10.002), and this value is not smaller than RTT_min (= 0.1) (NO in step 804) and is not larger than RTT_max (= 0.2). (NO in step 802), the values of RTT_max and RTT_min are not updated. The sequence number reading unit 604 reads the sequence number of the packet expected to be received next given to the packet. The value is 102, and the value is notified to the available bandwidth calculation unit 605 and the window size determination unit 610. The available bandwidth calculation unit 605 calculates T and d (steps 901 and 902 in FIG. 9). T is 0.1 (= 10.103-10.003) and d is 103 (= 102 + (102-101)). Since T (= 0.1) is RTT_min (= 0.1) or more (YES in step 903), a new ABE is calculated (step 904).

Figure 0004429982
Figure 0004429982

dは0に、last_tは10.103に、Cは102に更新される(ステップ905、906)。ウインドウサイズ決定部610では、まずサイズ増減判断部611でウインドウサイズを増加するかしないかを決定する。Xが102、Cが101なので(図10−1のステップ1012)、numを1に、Cを102に更新して(ステップ1013)、サイズ増加部612に移動する。サイズ増加部612ではまずtを計算する(図10−2のステップ1021)。tは1.103(=10.103−9)となる。次にKを計算する。 d is updated to 0, last_t is updated to 10.103, and C is updated to 102 (steps 905 and 906). In the window size determination unit 610, first, the size increase / decrease determination unit 611 determines whether or not to increase the window size. Since X is 102 and C is 101 (step 1012 in FIG. 10A), num is updated to 1, C is updated to 102 (step 1013), and the process proceeds to the size increasing unit 612. The size increasing unit 612 first calculates t (step 1021 in FIG. 10-2). t is 1.103 (= 10.103-9). Next, K is calculated.

Figure 0004429982
Figure 0004429982

よって、ウインドウサイズは

Figure 0004429982
となる(ステップ1022)。 So the window size is
Figure 0004429982
(Step 1022).

次に本実施例の効果を確認するシミュレーションを行った結果を示す。シミュレーションの条件は背景技術(図4、図5参照)で述べたものとまったく同じである。図12に時間毎の輻輳ウインドウサイズの変化を示す。図5と図12を比較すると、本実施例を用いた場合、100秒に通信を開始したフローのウインドウサイズが既に通信を開始してるフローのウインドウサイズと等しくなるまでの時間が大幅に短縮できていることが確認できる。   Next, the result of having performed the simulation which confirms the effect of a present Example is shown. The simulation conditions are exactly the same as those described in the background art (see FIGS. 4 and 5). FIG. 12 shows changes in the congestion window size over time. Comparing FIG. 5 and FIG. 12, when this embodiment is used, the time until the window size of the flow that has started communication in 100 seconds becomes equal to the window size of the flow that has already started communication can be greatly reduced. Can be confirmed.

以上説明した実施例において、送信端末および受信端末の各部はコンピュータと記憶装置に記憶されたプログラムで実現することができる。プログラム中に使用される変数名は、本実施例における変数名に限定されず、任意の変数名を使用することができる。   In the embodiment described above, each unit of the transmission terminal and the reception terminal can be realized by a program stored in a computer and a storage device. The variable name used in the program is not limited to the variable name in this embodiment, and any variable name can be used.

以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。   As mentioned above, the invention made by the present inventor has been specifically described based on the above embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be made without departing from the scope of the invention. Of course.

パケットに付与されるシーケンス番号Sequence number given to the packet パケットが再送される条件Conditions for packet retransmission ウインドウサイズが減少した後、再び増加し始めてからt時間経過した時のウインドウサイズWindow size when t time has passed since the window size decreased and then increased again シミュレーションモデルSimulation model 従来方式を用いた場合のシミュレーション結果Simulation results when using the conventional method 送信端末のシステム構成System configuration of sending terminal 受信端末のシステム構成System configuration of receiving terminal 往復遅延時間計算部603におけるアルゴリズム(フローチャート)Algorithm in the round-trip delay time calculation unit 603 (flow chart) 利用可能帯域計算部605におけるアルゴリズム(フローチャート)Algorithm (Flowchart) in Available Bandwidth Calculation Unit 605 サイズ増減判断部611におけるアルゴリズム(フローチャート)Algorithm in the size increase / decrease determination unit 611 (flow chart) サイズ増加部612におけるアルゴリズム(フローチャート)Algorithm in the size increase unit 612 (flow chart) サイズ減少部613におけるアルゴリズム(フローチャート)Algorithm in the size reduction unit 613 (flow chart) 実施例におけるパケットの送受信の流れFlow of packet transmission / reception in the embodiment 実施例を用いた場合のシミュレーション結果Simulation results when using examples

符号の説明Explanation of symbols

600…送信端末、601…現在時刻書込部、602…時刻読取部、603…往復遅延時間計算部、604…シーケンス番号読取部、605…利用可能帯域計算部、610…ウインドウサイズ決定部、611…サイズ増減判断部、612…サイズ増加部、613…サイズ減少部、700…受信端末、701…時刻読取部、702…情報書込部

600 ... transmitting terminal, 601 ... current time writing unit, 602 ... time reading unit, 603 ... round-trip delay time calculating unit, 604 ... sequence number reading unit, 605 ... usable bandwidth calculating unit, 610 ... window size determining unit, 611 ... Size increase / decrease determination unit, 612 ... Size increase unit, 613 ... Size decrease unit, 700 ... Receiving terminal, 701 ... Time reading unit, 702 ... Information writing unit

Claims (2)

ネットワークが輻輳状態であると判断した時にウインドウサイズを減少し、そうでないと判断した時にウインドウサイズを増加する輻輳制御方法において、
送信端末が、パケット送信時に現在の時刻now1をパケットに書き込むステップと、
受信端末が、前記パケットを受信した時、前記パケットに書き込まれているnow1を読み取るステップと、
前記受信端末が、受信した前記パケットに対する受信確認パケットを送信する際、now1を受信確認パケットに書き込むステップと、
前記送信端末が、前記受信確認パケットを受信した時、現在の時刻nowから前記受信確認パケットに書き込まれているnow1を減算した値を計算し、その最小値である最小往復遅延時間RTT_min、及びその最大値である最大往復遅延時間RTT_maxを記憶するステップと、
前記送信端末が、前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算するステップと、
前記送信端末が、ネットワークが輻輳状態でないと判断した場合にウインドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウインドウサイズを決定するステップと、
を有し、
前記送信端末が、前記ウインドウサイズを決定するステップにおいて、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を、C(t−K) +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定することを特徴とする輻輳制御方法。
In the congestion control method of decreasing the window size when it is determined that the network is congested, and increasing the window size when it is determined that it is not,
The transmitting terminal writes the current time now1 in the packet at the time of packet transmission;
When the receiving terminal receives the packet, reads the now1 written in the packet;
When the receiving terminal transmits a reception confirmation packet for the received packet, writing now1 into the reception confirmation packet;
When the transmission terminal receives the reception confirmation packet, it calculates a value obtained by subtracting now1 written in the reception confirmation packet from the current time now, and the minimum round-trip delay time RTT_min, which is the minimum value, and Storing a maximum round trip delay time RTT_max which is a maximum value;
Calculating the available bandwidth ABE based on the number of acknowledged packets received during the time that the minimum round-trip delay time RTT_min has elapsed since the time when the transmitting terminal calculated the available bandwidth ABE last time;
Determining a window size based on RTT_min * ABE and RTT_max * ABE when the transmitting terminal determines that the network size is not congested and increases the window size;
I have a,
In the step of determining the window size by the transmitting terminal, if t time has elapsed since the window size decreased and then increased again, the window size cwnd (t) is set to C (t−K ) 3 + RTT_max * ABE, ( C is a constant, K is (ABE * (RTT_max-rTT_min) / C) congestion control method characterized by determining which is the 1/3).
ネットワークが輻輳状態であると判断した時にウインドウサイズを減少し、そうでないと判断した時にウインドウサイズを増加する輻輳制御を行う通信端末において、
パケット送信時に現在の時刻now1をパケットに書き込む現在時刻書込部と、
前記パケットの受信確認パケットを受信した時、現在の時刻nowから前記受信確認パケットに書き込まれているnow1を減算した値を計算し、その最小値である最小往復遅延時間RTT_min、及びその最大値である最大往復遅延時間RTT_maxを記憶する往復時間計算部と、
前回利用可能帯域ABEを計算した時刻から最小往復遅延時間RTT_minを経過する時間の間に受信した確認応答されたパケット数を基にして利用可能帯域ABEを計算する利用可能帯域計算部と、
ネットワークが輻輳状態でないと判断した場合にウインドウサイズを増加させる時、RTT_min*ABEとRTT_max*ABEを基にして、ウインドウサイズを決定するウインドウサイズ決定部と、
を備え
前記ウインドウサイズ決定部が、現在、ウインドウサイズが減少した後、再び増加し始めてからt時間経過しているとすると、ウインドウサイズcwnd(t)を、C(t−K) +RTT_max*ABE、(Cは定数、Kは(ABE*(RTT_max−RTT_min)/C) 1/3 である)に決定することを特徴とする通信端末。
In a communication terminal that performs congestion control that decreases the window size when it is determined that the network is in a congestion state and increases the window size when it is determined that the network is not,
A current time writing unit for writing the current time now1 to the packet at the time of packet transmission;
When the reception confirmation packet of the packet is received, a value obtained by subtracting now1 written in the reception confirmation packet from the current time now is calculated, and the minimum round-trip delay time RTT_min that is the minimum value and the maximum value are calculated. A round trip time calculation unit for storing a certain maximum round trip delay time RTT_max;
An available bandwidth calculation unit for calculating the available bandwidth ABE based on the number of acknowledged packets received during the time when the minimum round-trip delay time RTT_min has elapsed from the time when the previous available bandwidth ABE was calculated;
A window size determination unit for determining a window size based on RTT_min * ABE and RTT_max * ABE when increasing the window size when it is determined that the network is not in a congestion state;
Equipped with a,
Assuming that t time has elapsed since the window size determination unit started to increase again after the window size has decreased, the window size cwnd (t) is set to C (t−K) 3 + RTT_max * ABE, ( communication terminal C is a constant, K is characterized that you determined (ABE * (RTT_max-rTT_min) / C) is 1/3).
JP2005194573A 2005-07-04 2005-07-04 Congestion control method and communication terminal thereof Expired - Fee Related JP4429982B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005194573A JP4429982B2 (en) 2005-07-04 2005-07-04 Congestion control method and communication terminal thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005194573A JP4429982B2 (en) 2005-07-04 2005-07-04 Congestion control method and communication terminal thereof

Publications (2)

Publication Number Publication Date
JP2007013823A JP2007013823A (en) 2007-01-18
JP4429982B2 true JP4429982B2 (en) 2010-03-10

Family

ID=37751652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005194573A Expired - Fee Related JP4429982B2 (en) 2005-07-04 2005-07-04 Congestion control method and communication terminal thereof

Country Status (1)

Country Link
JP (1) JP4429982B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726508B2 (en) 2006-01-19 2014-05-20 Modine Manufacturing Company Flat tube, flat tube heat exchanger, and method of manufacturing same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4778453B2 (en) * 2007-01-24 2011-09-21 株式会社エヌ・ティ・ティ・ドコモ Communication terminal, congestion control method, and congestion control program
JP5337263B2 (en) * 2012-02-03 2013-11-06 東芝Itサービス株式会社 Information transmission system and information transmission method
JP5867160B2 (en) * 2012-02-28 2016-02-24 富士通株式会社 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
JP6145190B1 (en) * 2016-03-02 2017-06-07 チエル株式会社 Relay device, relay method, and relay program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726508B2 (en) 2006-01-19 2014-05-20 Modine Manufacturing Company Flat tube, flat tube heat exchanger, and method of manufacturing same

Also Published As

Publication number Publication date
JP2007013823A (en) 2007-01-18

Similar Documents

Publication Publication Date Title
US7720959B2 (en) Method and apparatus for characterizing the quality of a network path
US7706274B2 (en) High performance TCP for systems with infrequent ACK
JP4283589B2 (en) COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
US7839859B2 (en) Voice adaptive gateway pacing methods and systems for wireless multi-hop networks
US7577097B2 (en) Compound transmission control protocol
US7376737B2 (en) Optimised receiver-initiated sending rate increment
US20040190540A1 (en) Transmission control method and system
WO2002033896A2 (en) Method and apparatus for characterizing the quality of a network path
US10715442B2 (en) Congestion control
US10075382B2 (en) Communication device, relay device, and communication method for a plurality of packets
JP2009077036A (en) Communication apparatus and communication method
US20040017773A1 (en) Method and system for controlling the rate of transmission for data packets over a computer network
KR101141160B1 (en) Method for buffer control for network device
JP4429982B2 (en) Congestion control method and communication terminal thereof
US20170331744A1 (en) Combined delay and loss based congestion control algorithms
US10986030B2 (en) Congestion control
US8279756B2 (en) Communication terminal, communication control method, and communication control program
US11570117B2 (en) Congestion control
Man et al. ImTCP: TCP with an inline measurement mechanism for available bandwidth
JP4435817B2 (en) Communication terminal, communication control method, and communication control program
JP4186893B2 (en) Packet communication device, packet communication method, data receiving device, and data receiving method
JP2006217235A (en) Congestion control method and transmitting terminal
JP3853784B2 (en) Data communication management method
Ahmad et al. EXPERIMENTAL EVALUATION OF TCP CONGESTION CONTORL MECHANISMS IN SHORT AND LONG DISTANCE NETWORKS.
Vyakaranal et al. Performance evaluation of TCP using AQM schemes for congestion control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091023

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

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

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

Free format text: PAYMENT UNTIL: 20121225

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees