UDP Receive Offloading via Packet Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current communication systems face increased UDP overhead processing as demand for communication access grows, leading to inefficiencies in handling multiple packets with identical headers in UDP protocols.

Innovation Solution

Implementing a method to group packets with similar metadata into a container for processing at a first layer, and then ungroup them when ready to traverse to a second layer, reducing the need for multiple header processing and minimizing UDP/IP stack load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple packets with identical headers are processed individually through the UDP/IP stack, then each packet can be handled with complete protocol compliance, but the processing overhead and system load increase significantly

Engineering Contradiction:
Improveprotocol complianceVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple packets with identical UDP and IP headers into a single aggregated data structure for joint processing. This merging eliminates redundant header parsing and validation operations, reducing processing overhead while maintaining protocol compliance through a single validation performed on the aggregated data.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal processing mechanism that handles multiple packets simultaneously through a single UDP header validation and a single IP header validation. This multi-functional approach allows the system to process n packets with the same headers through one set of validation operations rather than repeating the process n times.

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

2Measurement precision

If UDP headers are validated for each packet individually, then protocol accuracy is maintained, but the time and computational resources consumed increase

Engineering Contradiction:
Improveheader validation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary validation of UDP and IP headers on aggregated packets before individual packet processing. By validating the headers once for the entire group rather than repeatedly for each packet, the system maintains validation accuracy while significantly reducing the total time and computational resources required.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the UDP/IP stack processes each packet separately, then packet integrity is ensured, but the overall throughput and system performance decrease

Engineering Contradiction:
Improvepacket integrityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple packets into an aggregated data structure that preserves the integrity of individual packets while enabling efficient batch processing. The aggregation maintains packet boundaries and allows the system to process multiple packets through a single UDP and IP header validation, thereby improving throughput without compromising integrity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10447598B2User datagram protocol (UDP) receive offloading
Publication Date: 2019.10.15 QUALCOMM INC
  • US10447598B2 patent drawing
  • US10447598B2 patent drawing
  • US10447598B2 patent drawing

AI summary

Certain aspects of the present disclosure relate to methods and apparatus for providing UDP receive offloading using the communications systems. For example, a method generally includes grouping, into a container, the datasets from the same source and destination arriving at a receiver based on datasets metadata, and ungrouping the datasets from the container once network layer processing on the container is completed and datasets are ready to traverse to a next destination.