# US 11,909,660 B2 · Out-of-order packet processing

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

- Number: US 11,909,660 B2
- Document ID: US11909660B2
- Status: Granted
- Kind: B2
- Application number: 17/987,911
- Filed: 2022-11-16
- Published: 2023-03-09
- Granted: 2024-02-20
- Earliest claimed: 2021-01-21
- Assignees: Mellanox Technologies, Ltd.
- Applicants: Mellanox Technologies, Ltd.
- Inventors: Yamin Friedman; Daniel Marcovitch; Gil Levy
- Web page: https://patentgrep.com/patent/US11909660B2

## CPC

- H04L 47/34: ensuring sequence integrity, e.g. using sequence numbers
- H04L 1/18: Automatic repetition systems, e.g. Van Duuren systems
- H04L 1/1848: {Time-out mechanisms}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In one embodiment, a communication apparatus, including 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 instead of multiple missing data packets according to the defined packet order, a timer, and packet processing circuitry configured to activate the timer responsively to receiving the out-of-order data packet, and set the time period over which the tinier is activated responsively to a quantity of the multiple missing data packets.

## Claims

### Claim 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;
a timer; and
packet processing circuitry configured to:
activate the timer for a first time period responsively to receiving the out-of-order data packet; and
extend the first time period over which the timer is activated to a second time period different to the first time period, responsively to receiving a missing data packet while at least one other missing data packet is still missing.

### Claim 2 (depends on 1)

The apparatus according to claim 1, wherein the packet processing circuitry is configured to extend the time period responsively to a difference between arrival times of two out-of-order data packets.

### Claim 3 (depends on 1)

The apparatus according to claim 1, wherein the packet processing circuitry is configured: to check for receipt of the at least one other missing data packet while the timer is activated; and upon expiration of the extended time period over which the timer is activated without having received the at least one other missing data packet, to perform a given operation.

### Claim 4 (depends on 3)

The apparatus according to claim 3, wherein the packet processing circuitry is configured upon expiration of the extended time period over which the timer is activated without having received the at least one other missing data packet to request retransmission of the at least one other missing data packet from a sending node.

### Claim 5 (depends on 4)

The apparatus according to claim 4, wherein the packet processing circuitry is configured to not request retransmission of the at least one other missing data packet prior to the expiration of the extended time period.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 6)

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

### Claim 8

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;
activating the timer for a first time period responsively to receiving the out-of-order data packet; and
extending the first time period over which the timer is activated to a second time period different to the first time period, responsively to receiving a missing data packet while at least one other missing data packet is still missing.

### Claim 9 (depends on 8)

The method according to claim 8, wherein the extending includes extending the time period responsively to a difference between arrival times of two out-of-order data packets.

### Claim 10 (depends on 8)

The method according to claim 8, further comprising:
checking for receipt of the at least one other missing data packet while the timer is activated; and
upon expiration of the extended time period over which the timer is activated without having received the at least one other missing data packet, performing a given operation.

### Claim 11 (depends on 10)

The method according to claim 10, further comprising, upon expiration of the extended time period over which the timer is activated without having received the at least one other missing data packet, requesting retransmission of the at least one other missing data packet from a sending node.

### Claim 12 (depends on 11)

The method according to claim 11, further comprising not requesting retransmission of the at least one other missing data packet prior to the expiration of the extended time period.

### Claim 13 (depends on 8)

The method according to claim 8, wherein the receiving 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.

### Claim 14 (depends on 13)

The method according to claim 13, further comprising deactivating the timer responsively to receiving all missing ones of the data packets.
