IP Library Granted Patent US 11,533,267
Granted Patent B2
US 11,533,267 · App. 17/153,914 · Granted Dec 20, 2022

Out-of-order packet processing

Inventors: Yamin Friedman (Haifa, IL); Daniel Marcovitch (Yokneam Illit, IL); Gil Levy (Hod Hasharon, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
H04L47/34H04L1/18
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,533,267
App. No.
17/153,914
Granted
Dec 20, 2022
Kind
B2
Abstract

In one embodiment, a communication apparatus includes a network interface configured to receive over a network a sequence of data packets of a network flow having a defined packet order, wherein the network interface is configured to receive an out-of-order data packet, a timer, and packet processing circuitry configured to activate the timer responsively to receiving the out-of-order data packet.

Claims (57)

1. A communication apparatus, comprising:

a network interface configured to receive over a network a sequence of data packets of a network flow having a defined packet order, wherein the network interface is configured to receive an out-of-order data packet, which is flagged as being rerouted by a switch in the network;

a timer; and

packet processing circuitry configured to:

set a time period over which the timer is activated responsively to the out-of-order data packet being flagged as being rerouted to a time value which is different than if the out-of-order packet was not flagged as being rerouted;

activate the timer responsively to receiving the out-of-order data packet;

check for receipt of a missing data packet while the timer is activated; and

upon expiration of the time period over which the timer is activated without having received the missing data packet, request retransmission of the missing data packet from a sending node.

2. The apparatus according to claim 1 , wherein the packet processing circuitry is configured to not request retransmission of the missing data packet prior to the expiration of the time period.

3. The apparatus according to claim 1 , wherein the network interface is configured to receive the out-of-order data packet instead of an expected, but missing, one of the data packets according to the defined packet order.

4. The apparatus according to claim 3 , wherein the packet processing circuitry is configured to deactivate the timer responsively to receiving the missing data packet.

5. The apparatus according to claim 1 , wherein:

the timer is flow-specific;

the network interface is configured to receive over the network another sequence of data packets of another network flow having a defined packet order; and

the packet processing circuitry is configured to activate another timer responsively to receiving an out-of-order data packet instead of an expected, but missing data packet of the other network flow.

6. The apparatus according to claim 1 , wherein:

the network interface is configured to receive at least one out-of-order data packet instead of multiple missing data packets according to the defined packet order;

the packet processing circuitry is configured to:

activate the timer responsively to receiving the at least one out-of-order data packet instead of the multiple missing data packets;

check for receipt of the multiple missing data packets while the timer is activated; and

upon expiration of a time period over which the timer is activated without having received all of the multiple missing data packets, request retransmission of at least one of the multiple missing data packets not yet received.

7. The apparatus according to claim 6 , wherein the packet processing circuitry is configured to deactivate the timer responsively to receiving all of the multiple missing data packets.

8. The apparatus according to claim 6 , wherein the packet processing circuitry is configured to not request retransmission of any of the multiple missing data packets prior to the expiration of the time period.

9. The apparatus according to claim 6 , wherein the packet processing circuitry is configured to extend the time period over which the timer is activated.

10. The apparatus according to claim 1 , further comprising a controller configured to collect statistics of a quantity of packet retransmission requests made by the packet processing circuitry and a quantity of duplicate packets received by the packet processing circuitry.

11. The apparatus according to claim 10 , wherein the controller is configured to adjust a time period over which the timer is activated responsively to the quantity of packet retransmission requests and the quantity of duplicate packets received.

12. The apparatus according to claim 10 , wherein the controller is configured to:

reduce a time period over which the timer is activated responsively to a ratio of the quantity of packet retransmission requests to the quantity of duplicate packets received exceeding a given limit; and

increase the time period over which the timer is activated responsively to a ratio of the quantity of packet retransmission requests to the quantity of duplicate packets received being less than a given limit.

13. A communication method, comprising:

receiving over a network a sequence of data packets of a network flow having a defined packet order;

receiving an out-of-order data packet, which is flagged as being rerouted by a switch in the network; and

setting a time period over which a timer is activated responsively to the out-of-order data packet being flagged as being rerouted to a time value which is different than if the out-of-order packet was not flagged as being rerouted;

activating the timer responsively to receiving the out-of-order data packet;

checking for receipt of a missing data packet while the timer is activated; and

upon expiration of the time period over which the timer is activated without having received the missing data packet, requesting retransmission of the missing data packet from a sending node.

14. The method according to claim 13 , further comprising not requesting retransmission of the missing data packet prior to the expiration of the time period.

15. The method according to claim 13 , wherein the receiving the sequence of the data packets includes receiving the out-of-order data packet instead of an expected, but missing, one of the data packets according to the defined packet order.

16. The method according to claim 15 , further comprising deactivating the timer responsively to receiving the missing data packet.

17. The method according to claim 13 , wherein:

the timer is flow-specific;

the method further comprises:

receiving over the network another sequence of data packets of another network flow having a defined packet order; and

activating another timer responsively to receiving an out-of-order data packet instead of an expected, but missing data packet of the other network flow.

18. The method according to claim 13 , further comprising:

receiving at least one out-of-order data packet instead of multiple missing data packets according to the defined packet order;

activating the timer responsively to receiving the at least one out-of-order data packet instead of the multiple missing data packets;

checking for receipt of the multiple missing data packets while the timer is activated; and

upon expiration of a time period over which the timer is activated without having received all of the multiple missing data packets, requesting retransmission of at least one of the multiple missing data packets not yet received.

19. The method according to claim 18 , further comprising deactivating the timer responsively to receiving all of the multiple missing data packets.

20. The method according to claim 18 , further comprising not requesting retransmission of any of the multiple missing data packets prior to the expiration of the time period.

21. The method according to claim 18 , further comprising extending the time period over which the timer is activated.

22. The method according to claim 13 , further comprising collecting statistics of a quantity of packet retransmission requests and a quantity of duplicate packets received.

23. The method according to claim 22 , further comprising adjusting a time period over which the timer is activated responsively to the quantity of packet retransmission requests and the quantity of duplicate packets received.

24. The method according to claim 22 , further comprising:

reducing a time period over which the timer is activated responsively to a ratio of the quantity of packet retransmission requests to the quantity of duplicate packets received exceeding a given limit; and

increasing the time period over which the timer is activated responsively to a ratio of the quantity of packet retransmission requests to the quantity of duplicate packets received being less than a given limit.

Assignments (2)
MERGER Recorded Dec 15, 2021
From: MELLANOX TECHNOLOGIES TLV LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 058517/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2021
From: FRIEDMAN, YAMIN; MARCOVITCH, DANIEL; LEVY, GIL
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 054976/0014 →
Continuity (1)
Related Publication 20220231957A1 · Jul 21, 2022
Cited By (2)
US 12,218,852 US 12,218,860