# US 11,909,642 B2 · Offload of acknowledgements to a network device

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

- Number: US 11,909,642 B2
- Document ID: US11909642B2
- Status: Granted
- Kind: B2
- Application number: 17/011,964
- Filed: 2020-09-03
- Published: 2020-12-24
- Granted: 2024-02-20
- Earliest claimed: 2020-09-03
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Bo Cui; Stephen Doyle
- Web page: https://patentgrep.com/patent/US11909642B2

## CPC

- H04L 69/164: Adaptation or special uses of UDP protocol
- H04L 1/1671: {the supervisory signal being transmitted together with control information}
- H04L 1/1812: Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L 47/196: {Integration of transport layer protocols, e.g. TCP and UDP}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 69/22: Parsing or analysis of headers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Examples described herein relate to a network device apparatus that includes a network interface card to process a received packet. In some examples, based on the received packet only including one or more frames for which acknowledgement of receipt is offloaded to the network interface card, generate an acknowledgement (ACK) message to acknowledge receipt of the received packet. In some examples, a frame for which acknowledgement of receipt is offloaded to the network interface card comprises a STREAM frame compatible with quick User Datagram Protocol (UDP) Internet Connections (QUIC). In some examples, a computing platform is coupled to the network interface card. In some examples, based on the received packet only including any frame for which acknowledgement of receipt is not offloaded to the network interface, the computing platform is to generate an ACK message for the received packet.

## Claims

### Claim 1

A method performed at a network interface, the method comprising:
for a received packet:
based on the received packet only including one or more frames for which acknowledgement of receipt is offloaded to the network interface, generating an acknowledgement (ACK) message to acknowledge receipt of the received packet and
based on the received packet including a frame for which acknowledgement of receipt is not offloaded to the network interface, providing the received packet to a computing platform.

### Claim 2 (depends on 1)

The method of claim 1, wherein a frame of the one or more frames for which acknowledgement of receipt is offloaded to the network interface comprises a STREAM frame compatible with quick User Datagram Protocol (UDP) Internet Connections (QUIC).

### Claim 3 (depends on 1)

The method of claim 1, comprising:
based on the received packet including a frame for which acknowledgement of receipt is not offloaded to the network interface, the computing platform generating an ACK message for the received packet.

### Claim 4 (depends on 1)

The method of claim 1, wherein the generating the ACK message to acknowledge receipt of the received packet comprises generating the ACK message based at least in part on a connection context for a connection associated with the received packet and wherein the connection context comprises a crypto context and a packet number of at least one received packet.

### Claim 5 (depends on 4)

The method of claim 4, comprising:
decrypting the received packet based on the crypto context from the connection context.

### Claim 6 (depends on 4)

The method of claim 4, comprising:
updating the connection context based on a packet number associated with the received packet.

### Claim 7 (depends on 1)

The method of claim 1, comprising:
based on the received packet only including one or more frames for which acknowledgement of receipt is offloaded to the network interface:
decrypting the received packet;
providing decrypted content of the received packet to the computing platform; and
indicating that an acknowledgement has been sent for the received packet to the computing platform to avoid a duplicate acknowledgement.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating an ACK message to acknowledge receipt of the received packet comprises:
generating one or more header fields for the ACK message based on metadata accessible to the network interface and
providing the generated ACK message with the one or more header fields for transmission to a source of the received packet.

### Claim 9

An apparatus comprising:
an interface
a network interface device coupled to the interface, the network interface device comprising:
circuitry to:
for a received packet:
based on the received packet only including one or more frames for which acknowledgement of receipt is offloaded to the network interface device, generate an acknowledgement (ACK) message to acknowledge receipt of the received packet.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein a frame of the one or more frames for which acknowledgement of receipt is offloaded to the network interface device comprises a STREAM frame compatible with quick User Datagram Protocol (UDP) Internet Connections (QUIC).

### Claim 11 (depends on 9)

The apparatus of claim 9, comprising a computing platform coupled to the network interface device, wherein:
based on the received packet including a frame for which acknowledgement of receipt is not offloaded to the network interface device, the computing platform is to generate an ACK message for the received packet.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein the generate the ACK message to acknowledge receipt of the received packet comprises generate the ACK message based at least in part on a connection context for a connection associated with the received packet and wherein the connection context comprises a crypto context and a packet number of at least one received packet.

### Claim 13 (depends on 12)

The apparatus of claim 12, comprising circuitry to decrypt the received packet based on the crypto context.

### Claim 14 (depends on 12)

The apparatus of claim 12, comprising circuitry to update the connection context based on a packet number of the received packet.

### Claim 15 (depends on 9)

The apparatus of claim 9, comprising a computing platform coupled to the network interface device, wherein the circuitry is to:
based on the received packet only including one or more frames for which acknowledgement of receipt is offloaded to the network interface device:
decrypt the received packet;
provide decrypted content of the received packet to the computing platform; and
indicate that an acknowledgement has been sent for the received packet to the computing platform to avoid a duplicate acknowledgement.

### Claim 16 (depends on 9)

The apparatus of claim 9, wherein to generate an acknowledgement (ACK) message to acknowledge receipt of the received packet, the circuitry is to
generate one or more header fields for the ACK message based on metadata accessible to the network interface device and
provide the generated ACK message with the one or more header fields for transmission to a source of the received packet.

### Claim 17

A system comprising:
a server and
a network interface device communicatively coupled to the server, the network interface device comprising circuitry to:
for a received packet:
based on the received packet only including one or more frames for which acknowledgement of receipt is offloaded to the network interface device, generate an acknowledgement (ACK) message to acknowledge receipt of the received packet and
based on the received packet including a frame for which acknowledgement of receipt is not offloaded to the network interface device, provide the received packet to the server.

### Claim 18 (depends on 17)

The system of claim 17, wherein a frame of the one or more frames for which acknowledgement of receipt is offloaded to the network interface device comprises a STREAM frame compatible with quick User Datagram Protocol (UDP) Internet Connections (QUIC).

### Claim 19 (depends on 17)

The system of claim 17, wherein the network interface device comprises circuitry to:
based on the received packet only including one or more frames for which acknowledgement of receipt is offloaded to the network interface device:
decrypt the received packet;
provide decrypted content of the received packet to the server; and
indicate that an acknowledgement has been sent for the received packet to the server to avoid a duplicate acknowledgement.

### Claim 20 (depends on 17)

The system of claim 17, wherein the network interface device is to coalesce multiple ACK messages for transmission to a peer source device.

### Claim 21

A network interface device comprising:
circuitry to decrypt content of a received packet;
circuitry to generate an acknowledgement (ACK) message to acknowledge receipt of a received packet that includes only STREAM frames compatible with quick User Datagram Protocol (UDP) Internet Connections (QUIC); and
circuitry to send the ACK message to a sender.

### Claim 22 (depends on 21)

The network interface device of claim 21, comprising circuitry to:
based on the received packet only including STREAM frames:
decrypt the received packet;
provide decrypted content of the received packet to a processor; and
indicate that an acknowledgement has been sent for the received packet to the processor to avoid a duplicate acknowledgement.

### Claim 23 (depends on 21)

The network interface device of claim 21, comprising circuitry to coalesce multiple ACK messages for transmission to a source device.

### Claim 24 (depends on 21)

The network interface device of claim 21, comprising circuitry to:
based on the received packet including a frame for which acknowledgement of receipt is not offloaded to the network interface device, a processor to generate an ACK message for the received packet.
