IP Library Granted Patent US 11,477,129
Granted Patent B2
US 11,477,129 · App. 17/006,196 · Granted Oct 18, 2022

Data transmission method, computing device, network device, and data transmission system

Inventors: Kun Tan (Beijing, CN); Shuihai Hu (Shenzhen, CN); Binzhang Fu (Beijing, CN); Kai Chen (Hong Kong, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L47/283H04L47/11H04L47/31H04L47/32H04L47/6275
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,477,129
App. No.
17/006,196
Granted
Oct 18, 2022
Kind
B2
Abstract

A data transmission method implemented by a network device, where the data transmission method includes receiving a first data packet sent by a transmit end, buffering the first data packet to a low-priority queue when the first data packet is sent by the transmit end during a first round-trip time (RTT) of a data transmission phase between the transmit end and a receive end, receiving a second data packet from the transmit end, buffering the second data packet to a high-priority queue when the second data packet is not sent by the transmit end during the first RTT, and forwarding the second data packet in the high-priority queue before the first data packet in the low-priority queue.

Claims (49)

1. A data transmission method implemented by a network device, wherein the data transmission method comprises:

receiving a first data packet from a transmit end;

buffering the first data packet to a low-priority queue when the first data packet is sent by the transmit end during a first round-trip time (RTT) of a data transmission phase between the transmit end and a receive end;

receiving a second data packet from the transmit end;

buffering the second data packet to a high-priority queue when the second data packet is not sent by the transmit end during the first RTT; and

forwarding the second data packet in the high-priority queue before the first data packet in the low-priority queue.

2. The data transmission method of claim 1 , further comprising determining whether the first data packet and the second data packet are sent by the transmit end during the first RTT.

3. The data transmission method of claim 2 , wherein the first data packet carries a first tag from the transmit end indicating that the first data packet was sent during the first RTT, and wherein the data transmission method further comprises determining, based on the first tag, that the first data packet is sent by the transmit end during the first RTT.

4. The data transmission method of claim 2 , wherein the second data packet carries a second tag from the transmit end indicating that the second data packet was not sent during the first RTT, and wherein the data transmission method further comprises determining, based on the second tag, that the second data packet is not sent by the transmit end during the first RTT.

5. The data transmission method of claim 2 , further comprising:

searching a flow table based on first characteristic information of the first data packet to determine whether the first data packet is sent by the transmit end during the first RTT; and

searching the flow table based on second characteristic information of the second data packet to determine whether the second data packet is not from the transmit end during the first RTT.

6. A network device comprising:

a memory configured to store an executable program; and

a processor coupled to the memory, wherein when executed by the processor, the executable program causes the network device to be configured to:

receive a first data packet from a transmit end;

buffer the first data packet to a low-priority queue when the first data packet is sent by the transmit end during a first round-trip time (RTT) of a data transmission phase between the transmit end and a receive end;

receive a second data packet from the transmit end;

buffer the second data packet to a high-priority queue when the second data packet is not sent by the transmit end during the first RTT; and

forward the second data packet in the high-priority queue before the first data packet in the low-priority queue.

7. The network device of claim 6 , wherein when executed by the processor, the executable program further causes the network device to be configured to determine whether the first data packet and the second data packet are sent by the transmit end during the first RTT.

8. The network device of claim 7 , wherein the first data packet carries a first tag from the transmit end indicating that the first data packet was sent during the first RTT, and wherein when executed by the processor, the executable program further causes the network device to be configured to determine, based on the first tag, that the first data packet is sent by the transmit end during the first RTT.

9. The network device of claim 7 , wherein the second data packet carries a second tag from the transmit end indicating that the second data packet was not sent during the first RTT, and wherein when executed by the processor, the executable program further causes the network device to be configured to determine, based on the second tag, that the second data packet is not sent by the transmit end during the first RTT.

10. The network device of claim 7 , wherein the memory is further configured to store a flow table, wherein the flow table comprises characteristic information of one or more data flows, and wherein when executed by the processor, the executable program further causes the network device to be configured to:

search the flow table based on first characteristic information of the first data packet to determine whether the first data packet is sent by the transmit end during the first RTT; and

search the flow table based on second characteristic information of the second data packet to determine whether the second data packet is not from the transmit end during the first RTT.

11. A network device comprising:

a memory configured to store an executable program; and

a processor coupled to the memory, wherein when executed by the processor, the executable program causes the network device to be configured to:

receive a data packet from a transmit end;

discard the data packet when the data packet is sent by the transmit end during a first round-trip time (RTT) of a data transmission phase between the transmit end and a receive end and when a quantity of data packets in a receive queue of the network device exceeds a threshold; and

add the data packet to the receive queue when the data packet is not sent by the transmit end during the first RTT and the receive queue is not full.

12. The network device of claim 11 , wherein when executed by the processor, the executable program further causes the network device to be configured to discard the data packet when the data packet was not sent by the transmit end during the first RTT and the receive queue is full.

13. The network device of claim 11 , wherein when executed by the processor, the executable program further causes the network device to be configured to discard one data packet in the receive queue that is sent by the transmit end during the first RTT when the data packet was not sent by the transmit end during the first RTT and the receive queue is full.

14. The network device of claim 11 , wherein when executed by the processor, the executable program further causes the network device to be configured to determine whether the data packet was sent by the transmit end during the first RTT.

15. The network device of claim 11 , wherein the data packet carries a first tag from the transmit end indicating that the data packet was sent during the first RTT, and wherein when executed by the processor, the executable program further causes the network device to be configured to determine, based on the first tag, that the data packet was sent by the transmit end during the first RTT.

16. The network device of claim 11 , wherein the data packet carries a second tag from the transmit end indicating that the data packet was not sent during the first RTT, and wherein when executed by the processor, the executable program further causes the network device to be configured to determine, based on the second tag, that the data packet was not sent by the transmit end during the first RTT.

17. The network device of claim 11 , wherein the memory is further configured to store a flow table, wherein the flow table comprises characteristic information of one or more data flows, and wherein when executed by the processor, the executable program further causes the network device to be configured to search the flow table based on characteristic information of the data packet to determine whether the data packet was sent by the transmit end during the first RTT.

18. A network interface card comprising:

an input/output port; and

a processor coupled to the input/output port and configured to cause the network interface card to:

send a plurality of first data packets during a first round-trip time (RTT) of a data transmission phase between a transmit end and a receive end through the input/output port;

add a first tag to each of the first data packets before sending the first data packets to enable a network device to buffer the first data packets to a low-priority queue or to discard the first data packets after receiving the first data packets; and

send a plurality of second data packets to the network device to enable the network device to buffer the second data packets to a high-priority queue of the network device, wherein the second data packets do not carry the first tag.

19. The network interface card of claim 18 , wherein the processor is further configured to cause the network interface card to:

determine a quantity of third data packets that are successfully received by the receive end and that are in the first data packets;

determine, based on the quantity of the third data packets, a quantity or a sending rate of fourth data packets sent during a second RTT; and

send one or more fifth data packets during the second RTT based on the quantity or the sending rate of the fourth data packets.

20. The network interface card of claim 19 , wherein the processor is further configured to cause the network interface card to add a second tag to the fifth data packets to enable the network device to buffer the fifth data packets to the high-priority queue after receiving the fifth data packets, and wherein the first data packets do not carry the second tag.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2021
From: TAN, KUN; HU, SHUIHAI; FU, BINZHANG; CHEN, KAI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 055688/0348 →
Priority Claims (1)
CN 201810711997.X · Jun 29, 2018 · national
Continuity (2)
Continuation PCTCN2019087382 · May 17, 2019
Related Publication 20200396169A1 · Dec 17, 2020