UDP Segmentation Offload via IP Header Sequencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

UDP traffic segmentation offload is challenging due to the lack of inherent sequencing in UDP payloads, leading to inaccurate reconstruction of original payloads at the receiver, especially in high bandwidth networks, where CPU utilization is high and conventional solutions require application awareness and rewriting.

Innovation Solution

Modifying legacy header fields in Ethernet and IP headers to encode sequencing information, allowing the network stack to process sequenced frames transparently, reducing CPU utilization without requiring application updates, and enabling seamless communication across configured and unconfigured receivers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If segmentation offload is implemented for UDP traffic, then CPU utilization is reduced, but accurate reconstruction of original payloads becomes impossible due to lack of sequencing information

Engineering Contradiction:
ImproveCPU utilizationVSAvoidpayload reconstruction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides a large UDP payload into multiple MTU-sized segments for transmission, with each segment being processed independently by network hardware. This segmentation enables offload processing while maintaining the ability to reconstruct the original payload through sequence numbers embedded in each segment's IP header.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent embeds sequence numbers in the IP header fields before segmentation occurs. This preliminary encoding of sequencing information allows the receiver to correctly reassemble segments even when they arrive out of order or are lost, without requiring application-layer intervention.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If metadata is encoded in the payload to enable out-of-order detection, then payload reconstruction accuracy improves, but application rewriting is required and processing complexity increases

Engineering Contradiction:
Improvepayload reconstruction accuracyVSAvoidapplication awareness requirement
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses the IP header as an intermediary to carry sequencing information. Instead of requiring applications to embed metadata in the payload, the network stack automatically inserts sequence numbers into IP header fields, transparently enabling reliable reconstruction without application modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The network stack automatically performs segmentation, sequence number insertion, and reassembly operations without requiring application-layer awareness or intervention. This self-service approach maintains reliability while avoiding the complexity of application rewriting.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If legacy header fields are modified to encode sequencing information, then transparency to applications is maintained and CPU utilization is reduced, but compatibility with unconfigured receivers may be affected

Engineering Contradiction:
Improveapplication transparencyVSAvoidreceiver compatibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent reuses existing IP header fields (such as identification and fragment offset fields) for dual purposes: both their original functions and for carrying sequencing information. This multi-functionality maintains compatibility with standard receivers while enabling segmentation offload with sequencing for configured receivers.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20210337048A1Techniques for enhancing the UDP network protocol to efficiently transmit large data units
Publication Date: 2021.10.28 NVIDIA CORP
  • US20210337048A1 patent drawing
  • US20210337048A1 patent drawing
  • US20210337048A1 patent drawing

AI summary

A user datagram protocol (UDP) is a well-known protocol for transferring data between two nodes of a network. When data is too large to fit within a single UDP packet that can be transmitted between the two nodes, the data needs to be segmented and transmitted with multiple packets and reassembled on the receiving node. Techniques are disclosed herein, for example, for offloading such segmentation, transmission, and reassembly from the central processing units (CPUs) of the nodes. Such offloading is performed efficiently, for example, by repurposing legacy protocol fields used in UDP transmission such as the internet protocol (IP) identification (ID), time to live (TTL), type of service (TOS), and/or EtherType fields to encode information needed for efficient segmentation, out of order reception, and reassembly.