# US 10,321,514 B2 · Acknowledgment packet sending method and device

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

- Number: US 10,321,514 B2
- Document ID: US10321514B2
- Status: Granted
- Kind: B2
- Application number: 15/868,824
- Filed: 2018-01-11
- Published: 2018-05-10
- Granted: 2019-06-11
- Earliest claimed: 2013-05-20
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Lingli Pang; Xiaoxiao Zheng
- Web page: https://patentgrep.com/patent/US10321514B2

## CPC

- 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 1/1854: {Scheduling and prioritising arrangements}
- H04L 69/163: In-band adaptation of TCP data exchange; In-band control procedures
- H04L 69/321: Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
- H04W 80/04: Network layer protocols, e.g. mobile IP [Internet Protocol]
- H04W 80/02: Data link layer protocols
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An acknowledgment packet sending method and device are provided, so as to reduce sending of acknowledgment packets on an air interface, and improve efficiency of air interface resource utilization. After receiving a TCP acknowledgment packet that is sent by a TCP protocol entity unit of a communications device and does not carry data information, an RLC protocol entity unit of the communications device discards the received TCP acknowledgment packet; or determines, according to a sending status of an RLC acknowledgment packet, whether to send a TCP acknowledgment packet to a peer communications device, and performs corresponding processing according to a result of the determining.

## Claims

### Claim 1

A non-transitory machine-readable medium having stored thereon, a computer program comprising at least one code section for distributing data, the at least one code section being executable by one or more processors, and when executed, causes the one or more processors to:
receive at least one data packet from a peer communications device;
send a first transfer control protocol (TCP) acknowledgment packet in response to the at least one data packet;
when the first TCP acknowledgment packet does not carry data information, discard the first TCP acknowledgment packet; and
when the first TCP acknowledgment packet does carry data information, determine, according to a sending status of a first radio link control (RLC) acknowledgment packet sent by a second processor, whether to send the first TCP acknowledgment packet to the peer communications device, and perform corresponding processing according to a result of the determining whether to send the first TCP acknowledgment packet to the peer communications device, including:
when a current moment is a sending occasion of the first RLC acknowledgment packet, determine not to send the first TCP acknowledgment packet to the peer communications device, add first TCP acknowledgment information in the first TCP acknowledgment packet to the first RLC acknowledgment packet whose sending occasion is the current moment, and send, to the peer communications device, the first RLC acknowledgment packet to which the first TCP acknowledgment information is added; or
when a current moment is not a sending occasion of the first RLC acknowledgment packet, determine to send the first TCP acknowledgment packet to the peer communications device, and send, to the peer communications device, the first TCP acknowledgment packet or the first TCP acknowledgment packet that is obtained after information deletion is performed on the first TCP acknowledgment packet,
wherein the RCL acknowledgment packet includes a protocol data unit (PDU) Type field that indicates that the RLC acknowledgment packet includes TCP acknowledgment information, a superfield (SUFI) field that is used to carry RLC layer acknowledgment information, and padding information; and
after at least one data packet is sent to the peer communications device, receive a second RLC acknowledgment packet sent by the peer communications device, and send a second TCP acknowledgment packet according to the second RLC acknowledgment packet when it is determined, according to the second RLC acknowledgment packet, that the second TCP acknowledgment packet needs to be sent.

### Claim 2 (depends on 1)

The non-transitory machine-readable medium according to claim 1, wherein the at least one code section when executed further causes the one or more processors to:
when the TCP acknowledgement packet does not carry data information, send a first RLC acknowledgment packet to the peer communications device after the first TCP acknowledgment packet is discarded.

### Claim 3 (depends on 1)

The non-transitory machine-readable medium according to claim 1, wherein the at least one code section when executed further causes the one or more processors to:
discard the first TCP acknowledgment packet when it is acknowledged, according to the first TCP acknowledgment packet, that the first RLC acknowledgment packet is sent; and
send the first TCP acknowledgment packet to the peer communications device when it is acknowledged, according to the first TCP acknowledgment packet, that the first RLC acknowledgment packet is not sent.

### Claim 4 (depends on 3)

The non-transitory machine-readable medium according to claim 3, wherein the at least one code section when executed further causes the one or more processors to:
when it is acknowledged that the first RLC acknowledgment packet that is not sent exists in acknowledgment packets of all RLC data packets corresponding to the first TCP acknowledgment packet, not send the first RLC acknowledgment packet;
send the first TCP acknowledgment packet to the peer communications device; and
determine a next RLC acknowledgment packet according to a sequence number of a RLC data packet corresponding to the first TCP acknowledgment packet.

### Claim 5 (depends on 1)

The non-transitory machine-readable medium according to claim 1, wherein the at least one code section when executed further causes the one or more processors to:
when a sending occasion of the first RLC acknowledgment packet arrives, when the first TCP acknowledgment packet is received and does not carry data information is currently buffered, determine not to send the first TCP acknowledgment packet to the peer communications device;
add TCP acknowledgment information in the buffered first TCP acknowledgment packet to the first RLC acknowledgment packet that needs to be sent at a current moment; and
send, to the peer communications device, the first RLC acknowledgment packet to which the TCP acknowledgment information is added.

### Claim 6 (depends on 1)

The non-transitory machine-readable medium according to claim 1, wherein the at least one code section when executed further causes the one or more processors to:
when it is acknowledged, according to the second RLC acknowledgment packet, that a corresponding TCP data packet is correctly received, send the second TCP acknowledgment packet responding to the correctly received TCP data packet.

### Claim 7 (depends on 6)

The non-transitory machine-readable medium according to claim 6, wherein the at least one code section when executed further causes the one or more processors to:
determine, according to a RLC data packet corresponding to the second RLC acknowledgment packet, and a correspondence between a TCP data packet and a RLC data packet, whether the TCP data packet corresponding to the second RLC acknowledgment packet is correctly received.

### Claim 8 (depends on 1)

The non-transitory machine-readable medium according to claim 1, wherein the at least one code section when executed further causes the one or more processors to:
generate the second TCP acknowledgment packet according to the second RLC acknowledgment packet, and
send the generated second TCP acknowledgment packet.

### Claim 9 (depends on 8)

The non-transitory machine-readable medium according to claim 8, wherein the second TCP acknowledgment packet carries indication information for indicating that the second TCP acknowledgment packet is generated.

### Claim 10

An apparatus, comprising at least one processor coupled with a non-transitory storage medium storing executable instructions; wherein the executable instructions, when executed by the processor, cause the apparatus to:
receive at least one data packet from a peer communications device;
send a first transfer control protocol (TCP) acknowledgment packet in response to the at least one data packet;
when the first TCP acknowledgment packet does not carry data information, discard the first TCP acknowledgment packet; and
when the first TCP acknowledgment packet does carry data information, determine, according to a sending status of a first radio link protocol (RLC) acknowledgment packet sent by a second processor, whether to send the first TCP acknowledgment packet to the peer communications device, and perform corresponding processing according to a result of the determining whether to send the first TCP acknowledgment packet to the peer communications device, including:
when a current moment is a sending occasion of the first RLC acknowledgment packet, determine not to send the first TCP acknowledgment packet to the peer communications device, add first TCP acknowledgment information in the first TCP acknowledgment packet to the first RLC acknowledgment packet whose sending occasion is the current moment, and send, to the peer communications device, the first RLC acknowledgment packet to which the first TCP acknowledgment information is added; or
when a current moment is not a sending occasion of the first RLC acknowledgment packet, determine to send the first TCP acknowledgment packet to the peer communications device, and send, to the peer communications device, the first TCP acknowledgment packet or the first TCP acknowledgment packet that is obtained after information deletion is performed on the first TCP acknowledgment packet,
wherein the RCL acknowledgment packet includes a protocol data unit (PDU) Type field that indicates that the RLC acknowledgment packet includes TCP acknowledgment information, a superfield (SUFI) field that is used to carry RLC layer acknowledgment information, and padding information; and
after the at least one data packet is sent to the peer communications device, receive a second RLC acknowledgment packet sent by the peer communications device, and send a second TCP acknowledgment packet according to the second RLC acknowledgment packet when it is determined, according to the second RLC acknowledgment packet, that the second TCP acknowledgment packet needs to be sent.

### Claim 11 (depends on 10)

The apparatus according to claim 10, wherein the at least one processor is further configured to, when the TCP acknowledgement packet does not carry data information, send a first RLC acknowledgment packet to the peer communications device after discarding the first TCP acknowledgment packet.

### Claim 12 (depends on 10)

The apparatus according to claim 10, wherein the executable instructions, when executed by the processor, cause the apparatus to:
discard the first TCP acknowledgment packet when it is acknowledged, according to the first TCP acknowledgment packet, that the first RLC acknowledgment packet is sent; and
send the first TCP acknowledgment packet to the peer communications device when it is acknowledged, according to the first TCP acknowledgment packet, that the first RLC acknowledgment packet is not sent.

### Claim 13 (depends on 12)

The apparatus according to claim 12, wherein the executable instructions, when executed by the processor, cause the apparatus to:
when it is acknowledged that the first RLC acknowledgment packet that is not sent exists in acknowledgment packets of all RLC data packets corresponding to the first TCP acknowledgment packet, do not send the first RLC acknowledgment packet;
send the first TCP acknowledgment packet to the peer communications device; and
determine a next RLC acknowledgment packet according to a sequence number of a RLC data packet corresponding to the first TCP acknowledgment packet.

### Claim 14 (depends on 10)

The apparatus according to claim 10, wherein the executable instructions, when executed by the processor, cause the apparatus to:
when a sending occasion of the first RLC acknowledgment packet arrives, when the first TCP acknowledgment packet is received and does not carry data information is currently buffered, determine not to send the first TCP acknowledgment packet to the peer communications device;
add TCP acknowledgment information in the buffered first TCP acknowledgment packet to the first RLC acknowledgment packet that needs to be sent at a current moment; and
send, to the peer communications device, the first RLC acknowledgment packet to which the TCP acknowledgment information is added.

### Claim 15 (depends on 10)

The apparatus according to claim 10, wherein the executable instructions, when executed by the processor, cause the apparatus to:
if it is acknowledged, according to the second RLC acknowledgment packet, that a corresponding TCP data packet is correctly received, send the second TCP acknowledgment packet responding to the correctly received TCP data packet.

### Claim 16 (depends on 15)

The apparatus according to claim 15, wherein the at least one processor is further configured to
determine, according to a RLC data packet corresponding to the second RLC acknowledgment packet, and a correspondence between a TCP data packet and a RLC data packet, whether the TCP data packet corresponding to the second RLC acknowledgment packet is correctly received.

### Claim 17 (depends on 10)

The apparatus according to claim 10, wherein the executable instructions, when executed by the processor, cause the apparatus to:
generate the second TCP acknowledgment packet according to the second RLC acknowledgment packet; and
send the generated second TCP acknowledgment packet.

### Claim 18 (depends on 17)

The apparatus according to claim 17, wherein the second TCP acknowledgment packet carries indication information for indicating that the second TCP acknowledgment packet is generated.

### Claim 19

An apparatus for communicating with a peer communications device, the apparatus comprising:
a transmitter;
a receiver configured to receive at least one data packet from the peer communications device;
a first processor configured to send a first transfer control protocol (TCP) acknowledgment packet to a second processor in response to the at least one data packet;
wherein the second processor is configured to:
when the first TCP acknowledgment packet does not carry data information, discard the first TCP acknowledgment packet, and
when the first TCP acknowledgment packet does carry data information, determine, according to a sending status of a first radio link protocol (RLC) acknowledgment packet sent by the second processor of the communications device, whether to send the first TCP acknowledgment packet to the peer communications device, and perform corresponding processing according to a result of the determining whether to send the first TCP acknowledgment packet to the peer communications device, including:
when a current moment is a sending occasion of the first RLC acknowledgment packet, determine not to send the first TCP acknowledgment packet to the peer communications device, and add first TCP acknowledgment information in the first TCP acknowledgment packet to the first RLC acknowledgment packet whose sending occasion is the current moment, and wherein the transmitter is configured to send, to the peer communications device, the first RLC acknowledgment packet to which the first TCP acknowledgment information is added; or
when a current moment is not a sending occasion of the first RLC acknowledgment packet, determine to send the first TCP acknowledgment packet to the peer communications device, and wherein the transmitter is configured to send, to the peer communications device, the first TCP acknowledgment packet or the first TCP acknowledgment packet that is obtained after information deletion is performed on the first TCP acknowledgment packet,
wherein the RCL acknowledgment packet includes a protocol data unit (PDU) Type field that indicates that the RLC acknowledgment packet includes TCP acknowledgment information, a superfield (SUFI) field that is used to carry RLC layer acknowledgment information, and padding information; and
wherein after the transmitter sends at least one data packet to the peer communications device, the receiver is further configured to receive a second RLC acknowledgment packet sent by the peer communications device, and the second processor is further configured to send a second TCP acknowledgment packet to the first processor according to the second RLC acknowledgment packet when it is determined, according to the second RLC acknowledgment packet, that the second TCP acknowledgment packet needs to be sent.

### Claim 20 (depends on 19)

The apparatus according to claim 19, wherein, when the TCP acknowledgement packet does not carry data information, the transmitter is further configured to send a first RLC acknowledgment packet to the peer communications device after discarding the first TCP acknowledgment packet.
