# US 2019/0174356 A1 · Data transmission method, data receiving device, and data sending device

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

- Number: US 2019/0174356 A1
- Document ID: US20190174356A1
- Status: Published application
- Kind: A1
- Application number: 16/267,982
- Filed: 2019-02-05
- Published: 2019-06-06
- Earliest claimed: 2016-08-11
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Nizhong LIN; Lingli PANG; Xiaoxiao ZHENG; Mingzeng DAI; Chenguang QIAN
- Web page: https://patentgrep.com/patent/US20190174356A1

## CPC

- H04L 47/193: at the transport layer, e.g. TCP related
- H04W 28/10: Flow control {between communication endpoints}
- H04L 47/27: Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
- H04W 28/0273: {adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP] (wireless network protocols or protocol adaptations to wireless operation, e.g. wireless application protocol H04W80/00)}
- H04W 28/06: Optimizing {the usage of the radio link}, e.g. header compression, information sizing {, discarding information (system modifying transmission characteristic according to link quality by modifying frame length H04L1/0007; dynamic adaptation of the packet size for flow control or congestion control H04L47/365)}
- H04W 80/06: Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless {(transmission control protocol/Internet protocol [TCP/IP] or user datagram protocol [UDP] H04L69/16)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A data transmission method, a data receiving device, and a data sending device are disclosed. An RLC protocol entity unit of a data receive end receives a TCP acknowledgement from a TCP protocol entity unit of the data receive end; and the RLC protocol entity unit sends indication information to an RLC protocol entity unit of a data transmit end, where the indication information is used to indicate whether the RLC protocol entity unit needs to generate a TCP acknowledgement. The RLC protocol entity unit receives the indication information from the RLC protocol entity unit, and sends the TCP acknowledgement to a TCP protocol entity unit of the data transmit end based on the indication information, to ensure that the TCP protocol entity unit ultimately receives only one TCP ACK for one TCP data packet.

## Claims

### Claim 1

A data transmission method, comprising:
receiving, by a radio link control (RLC) protocol entity unit of a data receive end, a transmission control protocol (TCP) acknowledgement from a TCP protocol entity unit of the data receive end; and
sending, by the RLC protocol entity unit of the data receive end, indication information to an RLC protocol entity unit of a data transmit end, wherein the indication information is used to indicate whether the RLC protocol entity unit of the data transmit end needs to generate a TCP acknowledgement.

### Claim 2 (depends on 1)

The method according to claim 1, wherein before sending the indication information to the RLC protocol entity unit of the data transmit end, the method further comprises:
determining whether the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement, and generating the indication information indicating whether the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement; and
if the TCP acknowledgement comprises data content, a header of the TCP acknowledgement comprises indication information used to indicate that the TCP acknowledgement is a synchronization data packet, the header of the TCP acknowledgement comprises indication information used to indicate that the TCP acknowledgement is a finish data packet, the header of the TCP acknowledgement comprises window size information, or a TCP option in the header of the TCP acknowledgement comprises at least one of multipath TCP information, selective acknowledgement information, a selective acknowledgement permitted option, or time stamp information, determining that the RLC protocol entity unit of the data transmit end does not need to generate the TCP acknowledgement, and generating indication information indicating that the RLC protocol entity unit of the data transmit end does not need to generate the TCP acknowledgement; or
if the TCP acknowledgement does not comprise data content, a header of the TCP acknowledgement does not comprise indication information used to indicate that the TCP acknowledgement is a synchronization (SYN) packet, the header of the TCP acknowledgement does not comprise indication information used to indicate that the TCP acknowledgement is a finish data packet, the header of the TCP acknowledgement does not comprise window size information, and a TCP option in the header of the TCP acknowledgement does not comprise multipath TCP information, selective acknowledgement information, a selective acknowledgement permitted option, or time stamp information, determining that the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement, and generating indication information indicating that the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the sending the indication information to the RLC protocol entity unit of the data transmit end comprises:
sending, by the RLC protocol entity unit of the data receive end, the indication information by using an RLC control protocol data unit or a media access control (MAC) control element.

### Claim 4 (depends on 1)

The method according to claim 1, wherein if the indication information is used to indicate that the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement, the indication information further comprises:
indication information used to determine an acknowledgement number of the TCP acknowledgement that needs to be generated by the RLC protocol entity unit of the data transmit end.

### Claim 5 (depends on 4)

The method according to claim 4, wherein the indication information is:
a sequence number that is of an acknowledgement of an RLC protocol data unit (PDU) and that is sent by the RLC protocol entity unit of the data receive end to the RLC protocol entity unit of the data transmit end.

### Claim 6 (depends on 5)

The method according to claim 5, wherein before sending the indication information to the RLC protocol entity unit of the data transmit end, if the RLC protocol entity unit of the data receive end does not finish sending the sequence number of the acknowledgement of the RLC PDU to the RLC protocol entity unit of the data transmit end, the indication information is further used to indicate that the RLC PDU is correctly received.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the sending the indication information to the RLC protocol entity unit of the data transmit end comprises:
if the RLC protocol entity unit of the data receive end determines that the RLC protocol entity unit of the data transmit end does not need to generate the TCP acknowledgement, sending, by the RLC protocol entity unit of the data receive end, the indication information by using an RLC data PDU, wherein the RLC data PDU carries content of the TCP acknowledgement.

### Claim 8

A data receiving device, comprising:
a processor, configured to determine whether a radio link control (RLC) protocol entity unit of the data receiving device receives a transmission control protocol (TCP) acknowledgement from a TCP protocol entity unit of the data receiving device; and
a transmitter, configured to: when the processor determines that the RLC protocol entity unit of the data receiving device receives the TCP acknowledgement from the TCP protocol entity unit of the data receiving device, send indication information to an RLC protocol entity unit of a data transmit end, wherein the indication information is used to indicate whether the RLC protocol entity unit of the data transmit end needs to generate a TCP acknowledgement.

### Claim 9 (depends on 8)

The data receiving device according to claim 8, wherein the processor is further configured to:
before the transmitter sends the indication information to the RLC protocol entity unit of the data transmit end, determine whether the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement, and generate the indication information indicating whether the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement; and
if the TCP acknowledgement comprises data content, a header of the TCP acknowledgement comprises indication information used to indicate that the TCP acknowledgement is a synchronization data packet, the header of the TCP acknowledgement comprises indication information used to indicate that the TCP acknowledgement is a finish data packet, the header of the TCP acknowledgement comprises window size information, or a TCP option in the header of the TCP acknowledgement comprises at least one of multipath TCP information, selective acknowledgement information, a selective acknowledgement permitted option, or time stamp information, determine that the RLC protocol entity unit of the data transmit end does not need to generate the TCP acknowledgement, and generate indication information indicating that the RLC protocol entity unit of the data transmit end does not need to generate the TCP acknowledgement; or
if the TCP acknowledgement does not comprise data content, a header of the TCP acknowledgement does not comprise indication information used to indicate that the TCP acknowledgement is a synchronization (SYN) packet, the header of the TCP acknowledgement does not comprise indication information used to indicate that the TCP acknowledgement is a finish data packet, the header of the TCP acknowledgement does not comprise window size information, and a TCP option in the header of the TCP acknowledgement does not comprise multipath TCP information, selective acknowledgement information, a selective acknowledgement permitted option, or time stamp information, determine that the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement, and generate indication information indicating that the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement.

### Claim 10 (depends on 8)

The data receiving device according to claim 8, wherein the transmitter sends the indication information to the RLC protocol entity unit of the data transmit end in the following manner:
sending the indication information by using an RLC control protocol data unit or a media access control (MAC) control element.

### Claim 11 (depends on 8)

The data receiving device according to claim 8, wherein if the indication information is used to indicate that the RLC protocol entity unit of the data transmit end needs to generate the TCP acknowledgement, the indication information further comprises:
indication information used to determine an acknowledgement number of the TCP acknowledgement that needs to be generated by the RLC protocol entity unit of the data transmit end.

### Claim 12 (depends on 11)

The data receiving device according to claim 11, wherein the indication information used to determine the acknowledgement number of the TCP acknowledgement that needs to be generated by the RLC protocol entity unit of the data transmit end is:
a sequence number that is of an acknowledgement of an RLC protocol data unit (PDU) and that is sent by the RLC protocol entity unit of the data receiving device to the RLC protocol entity unit of the data transmit end.

### Claim 13 (depends on 12)

The data receiving device according to claim 12, wherein before the transmitter sends the indication information to the RLC protocol entity unit of the data transmit end, if the transmitter does not finish sending the sequence number of the acknowledgement of the RLC PDU to the RLC protocol entity unit of the data transmit end, the indication information is further used to indicate that the RLC PDU is correctly received.

### Claim 14 (depends on 8)

The data receiving device according to claim 8, wherein the transmitter sends the indication information to the RLC protocol entity unit of the data transmit end in the following manner:
if the RLC protocol entity unit of the data transmit end does not need to generate the TCP acknowledgement, sending the indication information by using an RLC data PDU, wherein the RLC data PDU carries content of the TCP acknowledgement.

### Claim 15

A data sending device, comprising:
a receiver, configured to receive indication information from a radio link control (RLC) protocol entity unit of a data receive end, wherein the indication information is used to indicate whether an RLC protocol entity unit of the data sending device needs to generate a transmission control protocol (TCP) acknowledgement; and
a transmitter, configured to send a TCP acknowledgement to a TCP protocol entity unit of the data sending device based on the indication information received by the receiver.

### Claim 16 (depends on 15)

The data sending device according to claim 15, wherein the data sending device further comprises a processor,
the processor is configured to generate the TCP acknowledgement based on the indication information, and the transmitter is further configured to send the generated TCP acknowledgement to the TCP protocol entity unit of the data sending device.

### Claim 17 (depends on 15)

The data sending device according to claim 15, wherein the transmitter is configured to: before the receiver receives the indication information from the RLC protocol entity unit of the data receive end, send an RLC protocol data unit (PDU) to the RLC protocol entity unit of the data receive end; and
the data sending device further comprises a processor, configured to: when the RLC PDU is a last fragment of an RLC service data unit (SDU), add a poll indication to the RLC PDU, and trigger the RLC protocol entity unit of the data receive end to send an RLC acknowledgement.

### Claim 18 (depends on 16)

The data sending device according to claim 16, wherein the processor generates the TCP acknowledgement based on the indication information in the following manner:
generating the TCP acknowledgement based on indication information that is comprised in the indication information and that is used to determine an acknowledgement number of the TCP acknowledgement that needs to be generated by the RLC protocol entity unit of the data sending device.

### Claim 19 (depends on 18)

The data sending device according to claim 18, wherein the processor generates the TCP acknowledgement in the following manner based on the indication information that is comprised in the indication information and that is used to determine the acknowledgement number of the TCP acknowledgement that needs to be generated by the RLC protocol entity unit of the data sending device:
determining, based on a sequence number that is of an acknowledgement of an RLC protocol data unit (PDU) and that is comprised in the indication information, the acknowledgement number of the TCP acknowledgement that needs to be generated, wherein the RLC PDU is sent by the RLC protocol entity unit of the data receive end to the RLC protocol entity unit of the data sending device; and
generating the TCP acknowledgement based on the acknowledgement number of the TCP acknowledgement.

### Claim 20 (depends on 18)

The data sending device according to claim 18, wherein the processor is further configured to:
after the receiver receives the indication information from the RLC protocol entity unit of the data receive end, if the RLC protocol entity unit of the data receive end does not finish sending a sequence number of an acknowledgement of an RLC PDU, acknowledge, based on the indication information, that the RLC PDU is correctly received.
