# US 2023/0053744 A1 · Reliable transport offloaded to network devices

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

- Number: US 2023/0053744 A1
- Document ID: US20230053744A1
- Status: Published application
- Kind: A1
- Application number: 17/981,255
- Filed: 2022-11-04
- Published: 2023-02-23
- Earliest claimed: 2021-02-03
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Shaopeng HE; Cunming LIANG; Jiang YU; Ziye YANG; Ping YU; Bo CUI; Jingjing WU; Liang MA; Hongjun NI; Zhiguo WEN; Changpeng LIU; Anjali Singhai JAIN; Daniel DALY; Yadong LI
- Web page: https://patentgrep.com/patent/US20230053744A1

## CPC

- H04L 49/9057: Arrangements for supporting packet reassembly or resequencing
- H04L 1/1841: {Resequencing}
- H04L 47/34: ensuring sequence integrity, e.g. using sequence numbers
- H04L 47/56: implementing delay-aware scheduling
- H04L 49/552: by ensuring the integrity of packets received through redundant connections
- H04L 63/0272: {Virtual private networks}
- H04L 63/0485: {Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up}
- H04L 63/166: {at the transport layer}
- H04L 49/9094: {Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Examples described herein relate to offload reliable transport management to a network interface device and store packets to be resent, based on received packet receipt acknowledgements (ACKs), into one or more kernel space queues that are also accessible in user space.

## Claims

### Claim 1

An apparatus comprising:
at least one processor;
at least one memory comprising instructions stored thereon, that if executed by the at least one processor, cause the at least one processor to:
offload reliable transport management to a network interface device and track packets to be resent, based on received packet receipt acknowledgements (ACKs), into one or more kernel space queues that are also accessible in user space.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the at least one memory comprising instructions stored thereon, that if executed by the at least one processor, cause the at least one processor to:
identify descriptors available for reuse into the one or more kernel space queues that are also accessible in user space.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein content stored in the one or more kernel space queues are also accessible in user space without copying from memory accessible to user space to a memory accessible kernel space.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein:
a socket is to connect a service with a driver for the network interface device,
the one or more kernel space queues are associated with the socket, and
at least one of the one or more kernel space queues comprises a waiting queue for received packet receipt acknowledgements (ACKs).

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the one or more kernel space queues are based on an Address Family of an eXpress Data Path (AF_XDP) queue framework.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein:
at least one of the one or more kernel space queues is to identify one or more packets for which one or more ACKs have been received.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is to execute a service that is to request transmission of at least one packet that is subject to receipt of an ACK.

### Claim 8 (depends on 1)

The apparatus of claim 1, comprising the network interface device to transmit at least one packet based on a request from the at least one processor.

### Claim 9

A non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
offload reliable transport management to a network interface device and track packets to be resent, based on received packet receipt acknowledgements (ACKs), into one or more kernel space queues that are also accessible in user space.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein the one or more kernel space queues that are also accessible in user space are to identify descriptors available for reuse.

### Claim 11 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein:
a socket is to connect a service with a driver for the network interface device,
the one or more kernel space queues are associated with the socket, and
at least one of the one or more kernel space queues comprises a waiting queue for received packet receipt acknowledgements (ACKs).

### Claim 12 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein:
the one or more kernel space queues are based on an Address Family of an eXpress Data Path (AF_XDP) queue framework.

### Claim 13

An apparatus comprising:
a network interface device comprising circuitry to perform offloaded reliable transport for packet transmission based on a queue framework comprising one or more kernel space queues that are also accessible in user space.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the one or more kernel space queues that are also accessible in user space are to track packets to be resent, based on received packet receipt acknowledgements (ACKs).

### Claim 15 (depends on 13)

The apparatus of claim 13, wherein:
the network interface device is to re-transmit a packet based on non-receipt of an acknowledgement (ACK) of packet receipt.

### Claim 16 (depends on 13)

The apparatus of claim 13, wherein:
at least one of the one or more kernel space queues is to identify at least one available descriptor that is available to associated with a received packet.

### Claim 17 (depends on 13)

The apparatus of claim 13, wherein the network interface device comprises circuitry to:
based on receipt of a packet having a sequence number corresponding to a non-received packet sequence number, provide access to one or more packet payloads associated with one or more received packet sequence numbers.

### Claim 18 (depends on 13)

The apparatus of claim 13, wherein the network interface device comprises one or more of: a network interface controller (NIC), a smart NIC, an infrastructure processing unit (IPU), and/or a data processing unit (DPU).

### Claim 19 (depends on 13)

The apparatus of claim 13, comprising a server comprising at least one processor that is to execute a service that is to request transmission of at least one packet that is subject to receipt of an acknowledgement (ACK).

### Claim 20 (depends on 13)

The apparatus of claim 13, comprising a server comprising at least one processor that is to execute a service that is to process at least one payload of at least one packet associated with a received packet sequence number.
