# US 10,374,958 B2 · Method and apparatus for TCP-based transmission control in communication system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,374,958 B2
- Document ID: US10374958B2
- Status: Granted
- Kind: B2
- Application number: 15/735,012
- Filed: 2016-06-08
- Published: 2018-06-07
- Granted: 2019-08-06
- Earliest claimed: 2015-06-08
- Assignees: Samsung Electronics Co., Ltd.; Ulsan National Institute of Science and Technology
- Applicants: Samsung Electronics Co., Ltd.; Ulsan National Institute of Science and Technology
- Inventors: Jin-Sung Lee; Kyunghan Lee; Jung-Shin Park; Han-Na Lim; Joo-Hyung Lee; Hyung-Ho Lee
- Web page: https://patentgrep.com/patent/US10374958B2

## CPC

- H04L 47/193: at the transport layer, e.g. TCP related
- H04L 47/11: Identifying congestion
- H04L 47/225: {Determination of shaping rate, e.g. using a moving window}
- H04L 47/27: Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04L 47/37: {Slow start}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present disclosure relates to a 5G or pre-5G communication system for supporting a higher data rate beyond a 4G communication system such as LTE. In addition, the present disclosure relates to a TCP-based transmission control method and apparatus which can reduce a delay time while improving a transmission rate in a communication system. A method for TCP-based transmission control in a communication system according to an embodiment of the present disclosure comprises the steps of: determining a maximum target transmission rate for TCP control using maximum congestion windows (CWNDs) estimated at predetermined times; determining a minimum target round trip time (RTT) for the TCP control using minimum RTTs estimated at the predetermined times; and updating at least one of a congestion window (CWND) and a receive window (RWND) in an RTT time slot, using the maximum target transmission rate and the minimum target RTT.

## Claims

### Claim 1

A method for performing transmission control protocol (TCP)-based transmission control in a communication system, the method comprising:
determining a target maximum transmission rate for TCP control, using a maximum congestion window (CWND) estimated at each interval of round trip time (RTT) time slots;
determining a target minimum RTT for the TCP control, using a minimum RTT estimated at each interval of the RTT time slots;
determining an RTT factor using the target minimum RTT and an ith RTT in an ith RTT time slot, and determining a throughput factor using the target maximum transmission rate and an ith transmission rate in the ith RTT time slot and
updating at least one of a first CWND or a first reception window (RWND) in the ith RTT time slot by applying the RTT factor and the throughput factor to either a second CWND or a second RWND in an (i−1)th RTT time slot.

### Claim 2 (depends on 1)

The method of claim 1, wherein the updating comprises updating a maximum transmission rate observed until the ith RTT time slot and a minimum RTT observed until the ith RTT time slot.

### Claim 3 (depends on 1)

The method of claim 1, further comprising estimating respective RTTs at each interval of the RTT time slots.

### Claim 4 (depends on 1)

The method of claim 1, wherein the throughput factor is used for increasing the ith transmission rate decreased with respect to the target maximum transmission rate.

### Claim 5 (depends on 1)

The method of claim 1, wherein the RTT factor is used for decreasing the ith RTT increased with respect to the target minimum RTT.

### Claim 6 (depends on 1)

The method of claim 1, wherein the target maximum transmission rate is further set to a value increased by a predetermined ratio with respect to a maximum available transmission rate.

### Claim 7 (depends on 1)

The method of claim 1, wherein the updating is performed by a following equation,
(TCP transmission end) CWND(i)=CWND(i−1)*RTT_factor(i)+Tput_factor(i)
CWND(i)=CWND(i−1) (if RTT(i)≥1.5*min_RTT)
(TCP reception end) RWND(i)=RWND(i−1)*RTT_factor(i)+Tput_factor(i)
where CWND(i) is the first CWND updated in the ith RTT time slot, RWND(i) is the first RWND updated in the ith RTT time slot, RTT_factor(i) is the RTT factor in the ith RTT time slot, Tput_factor(i) is the throughput factor in the ith RTT time slot, min_RTT(i) means min(min_RTT(i−1), current_RTT), min_RTT(i−1) is the target minimum RTT in an (i−1)th RTT time slot, and current_RTT is the ith RTT.

### Claim 8 (depends on 7)

The method of claim 7, wherein RTT_factor(i) and Tput_factor(i) are calculated by a following equation,
RTT_factor(i)=G1*(RTT_target−current_RTT)/current_RTT
Tput_factor(i)=G2*(Tput_target−current_Tput)/Tput_target
where RTT_target is the target minimum RTT, Tput_target is the target maximum transmission rate, current_RTT is the ith RTT, current_Tput is the ith transmission rate, and G1 and G2 are constants.

### Claim 9 (depends on 8)

The method of claim 8,
wherein RTT_factor(i) has a negative value, and
wherein Tput_factor(i) has a positive value.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first CWND is updated by at least one of following equations;
CWND(i)=CWND(i−1)+G*RTT_factor(i)+G*Tput_factor(i) in additive increase additive decrease (AIAD) transmission control;
CWND(i)=α*CWND(i−1)*RTT−factor(i)+(i−α)*CWND(i−1)+G*Tput gain(i) in the AIAD transmission control;
CWND(i)=CWND(i−1)*RTT_factor(i)+G*Tput gain(i) in the AIAD transmission control;
CWND(i)=α*CWND(i−1)*RTT_factor(i)+(i−α)*CWND*Tput gain(i) in multiplicative increase multiplicative decrease (MIMD transmission control;
CWND(i)=α*CWND(i−1)+G*RTT_factor(i)+(i−α)*CWND(i−1)*Tput gain(i) in MIMD transmission control; or
CWND(i)=G*RTT_factor(i)+CWND*Tput gain(i) in MIMD transmission control,
where 0<α<1, G is a constant, CWND(i) is the first CWND updated in the ith RTT time slot, RTT_factor(i) is the RTT factor in the ith RTT time slot, Tput gain(i) is a throughput gain in the ith RTT time slot and Tput_factor(i) is the throughput factor in the ith RTT time slot.

### Claim 11 (depends on 1)

The method of claim 1, wherein the determining of the RTT factor comprises determining a first difference between the target minimum RTT and the ith RTT, and determining the RTT factor using the first difference, and
wherein the determining of the throughput factor comprises determining a second difference between the target maximum transmission rate and the ith transmission rate, and determining the throughput factor using the second difference.

### Claim 12

An apparatus for performing transmission control protocol (TCP)-based transmission control in a communication system, the apparatus comprising:
a transceiver configured to transmit and receive data through a network; and
at least one processor configured to control the transceiver and configured to:
determine a target maximum transmission rate for TCP control, using a maximum congestion window (CWND) estimated at each interval of round trip time (RTT) time slots,
determine a target minimum RTT for the TCP control, using a minimum RTT estimated at each interval of the RTT time slots,
determine an RTT factor using the target minimum RTT and an ith RTT in an ith RTT time slot, and determine a throughput factor using the target maximum transmission rate and an ith transmission rate in the ith RTT time slot, and
update at least one of a first CWND or a first reception window (RWND) in the ith RTT time slot by applying the RTT factor and the throughput factor to either a second CWND or a second RWND in an (i−1)th RTT time slot.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the at least one processor is configured to update a maximum transmission rate observed until the ith RTT time slot and a minimum RTT observed until the ith RTT time slot.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein the at least one processor is further configured to estimate respective RTTs at each interval of the RTT time slots.

### Claim 15 (depends on 12)

The apparatus of claim 12, wherein the throughput factor is used for increasing the ith transmission rate decreased with respect to the target maximum transmission rate.

### Claim 16 (depends on 12)

The apparatus of claim 12, wherein the RTT factor is used for decreasing the ith RTT increased with respect to the target minimum RTT.

### Claim 17 (depends on 12)

The apparatus of claim 12, wherein the target maximum transmission rate is further set to a value increased by a predetermined ratio with respect to a maximum available transmission rate.

### Claim 18 (depends on 12)

The apparatus of claim 12, wherein the at least one processor is configured to update using following equation,
(TCP transmission end) CWND(i)=CWND(i−1)*RTT_factor(i)+Tput_factor(i)
CWND(i)=CWND(i−1) (if RTT(i)≥1.5*min_RTT)
(TCP reception end) RWND(i)=RWND(i−1)*RTT_factor(i)+Tput_factor(i)
where CWND(i) is the first CWND updated in the ith RTT time slot, RWND(i) is the first RWND updated in the ith RTT time slot, RTT_factor(i) is the RTT factor in the ith RTT time slot, Tput_factor(i) is the throughput factor in the ith RTT time slot, min_RTT(i) means min(min_RTT(i−1), current_RTT), min RTT(i−1) is the target minimum RTT in the (i−1)th RTT time slot, and current_RTT is the ith RTT.

### Claim 19 (depends on 12)

The apparatus of claim 12, wherein RTT_factor(i) and Tput_factor(i) are calculated by a following equation,
RTT_factor(i)=G1*(RTT_target−current_RTT)/current_RTT
Tput_factor(i)=G2*(Tput_target−current_Tput)/Tput_target
where RTT_target is the target minimum RTT, Tput_target is the target maximum transmission rate, current_RTT is the ith RTT, current Tput_is the ith transmission rate, and G1 and G2 are constants.

### Claim 20 (depends on 19)

The apparatus of claim 19,
wherein RTT_factor(i) has a negative value, and
wherein Tput_factor(i) has a positive value.

### Claim 21 (depends on 12)

The apparatus of claim 12, wherein the first CWND is updated by at least one of following equations;
CWND(i)=CWND(i−1)+G*RTT_factor(i)+G*Tput_factor(i) in additive increase additive decrease (AIAD) transmission control;
CWND(i)=α*CWND(i−1)*RTT_factor(i)+(i−α)*CWND(i−1)+G*Tput gain(i) in the AIAD transmission control;
CWND(i)=CWND(i−1)*RTT_factor(i)+G*Tput gain(i) in the AIAD transmission control;
CWND(i)=α*CWND(i−1)*RTT_factor(i)+(i−α)*CWND*Tput gain(i) in multiplicative increase multiplicative decrease (MIMD transmission control;
CWND(i)=α*CWND(i−1)+G*RTT_factor(i)+(i−α)*CWND(i−1)*Tput gain(i) in MIMD transmission control; or
CWND(i)=G*RTT_factor(i)+CWND*Tput gain(i) in multiplicative increase multiplicative decrease (MIMD) transmission control,
where 0<α<1, G is a constant, CWND(i) is the first CWND updated in the ith RTT time slot, RTT_factor(i) is the RTT factor in the ith RTT time slot, Tput gain(i) is a throughput gain in the ith RTT time slot and Tputfactor(i) is the throughput factor in the ith RTT time slot.

### Claim 22 (depends on 12)

The apparatus of claim 12, wherein the at least one processor is further configured to:
determine a first difference between the target minimum RTT and the ith RTT, and determine the RTT factor using the first difference, and
determine a second difference between the target maximum transmission rate and the ith transmission rate, and determine the throughput factor using the second difference.
