Network Adapter Packet Reordering Handling via Adaptive Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data networks, packet reordering due to congestion and flow collisions leads to unacceptable performance for small flows, as large flows dominate data transmission, causing small flow packets to wait longer and resulting in packet loss and latency issues.
Innovation Solution
A method at the network adapter that aggregates in-sequence packets into segments, uses an adaptive timeout timer for out-of-sequence packets, and merges missing packets upon arrival, allowing for more complete segments to be pushed up the protocol stack, reducing partial segments and CPU overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets are transmitted over congested network links, then data transmission capacity is utilized, but packet reordering and latency occur causing unacceptable performance for small flows
Solution Approach 1:
The patent segments the packet reassembly process into two distinct phases: (1) initial segment formation at the network adapter using received packets, and (2) subsequent segment completion at the host system. This segmentation allows the network adapter to push partial segments immediately rather than waiting for complete packet sequences, thereby improving small flow performance while maintaining overall data transmission capacity.
2Stability of the object's composition
If the network adapter waits for complete packet sequences before pushing segments, then packet ordering is maintained, but latency increases and small flow performance deteriorates
Solution Approach 1:
The network adapter performs preliminary packet aggregation and creates initial segments before the complete packet sequence is received. Instead of waiting for all packets to arrive in order, the adapter proactively forms segments with available packets and pushes them to the host system, which then completes the reassembly process. This preliminary action significantly reduces latency while maintaining eventual packet order integrity.
3Loss of time
If partial segments are pushed to the protocol stack, then latency is reduced, but the number of partial segments increases CPU overhead
Solution Approach 1:
The patent extracts the computationally intensive segment management and reassembly logic from the host CPU and relocates it to the network adapter's firmware or dedicated hardware components. The network adapter independently manages segment formation, tracking, and pushing to the protocol stack, thereby reducing CPU overhead while still enabling partial segment transmission to reduce latency.
4Productivity
If packets are aggregated into larger segments, then network throughput is improved, but packet reordering within segments becomes more problematic
Solution Approach 1:
The patent applies different quality requirements to different parts of the segmentation process. At the network adapter level, segments are formed with local completeness (containing all packets received so far for that segment). At the host system level, global completeness is achieved through subsequent reassembly. This local quality approach allows larger segments to be transmitted efficiently while maintaining overall segment integrity through the two-phase process.
Data Source
AI summary
A network adapter for handling packet reordering receives a set of packets. The network adapter is configured to aggregate a subset of in-sequence packets from the set of packets into at least one segment before passing the at least one segment from the network adapter to a next layer in a protocol stack. An in-sequence packet from the set of packets is stored into a first segment. Responsive to receiving an out of sequence packet in the set of packets, the out of sequence packet is stored in a second segment. An adaptive timeout timer is activated responsive to receiving the out of sequence packet, and the first segment is held at the network adapter while the adaptive timeout timer runs. Prior to the adaptive timeout timer expiring, a missing packet is received and included in the first segment. The network adapter sends the first segment to the next layer.


