TCP Segment Reordering via NIC Buffer Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional TCP/IP offload engines inefficiently handle out-of-order TCP segments, leading to dropped segments, retransmissions, and reduced bandwidth utilization, especially in high-speed networks, due to insufficient memory and processing delays.

Innovation Solution

A method and system that maps TCP sequence numbers to buffer addresses, allowing out-of-order TCP segments to be stored and reordered efficiently on a network interface card (NIC) without requiring extensive buffering, enabling immediate processing and reducing retransmissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional offload engines drop out-of-order TCP segments, then processing delay is reduced, but bandwidth utilization decreases due to retransmissions

Engineering Contradiction:
Improveprocessing delayVSAvoidbandwidth utilization
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent extracts the out-of-order TCP segment handling function from the conventional offload engine by implementing a separate buffering mechanism on the NIC. This allows the main processing path to continue without delay while isolated buffering handles reordering, resolving the contradiction between processing speed and bandwidth efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary buffering of out-of-order segments on the NIC before they reach the host processor. By preparing the buffering structure in advance and pre-mapping sequence numbers to buffer addresses, the system avoids processing delays while maintaining bandwidth efficiency through proactive segment management

Inventive Principle:
Principle #10Preliminary action

2Reliability

If NIC stores out-of-order TCP segments in dedicated buffers, then retransmissions are reduced, but memory requirements increase

Engineering Contradiction:
Improveretransmission rateVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic buffer allocation where the buffering structure adapts to the actual number and size of out-of-order segments. The buffer addresses and sizes are determined dynamically based on TCP sequence numbers rather than pre-allocating fixed large buffers, reducing memory requirements while maintaining reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter representation from storing actual segment data in fixed buffers to storing metadata (buffer addresses, sequence numbers, lengths) in a dynamic structure. This parameter transformation allows the system to handle variable memory requirements efficiently while maintaining segment integrity for retransmission prevention

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If host processor processes out-of-order segments, then buffering requirements are reduced, but processing speed decreases

Engineering Contradiction:
Improvebuffering requirementsVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces an intermediary buffering structure on the NIC that acts as a mediator between the network interface and the host processor. This intermediary handles the complex reordering and buffering operations, allowing the host processor to focus on high-level protocol processing while maintaining low buffering requirements and high processing speed

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical approach of extensive host-side buffering with a software-based metadata management system on the NIC. By substituting physical buffer management with intelligent data structure management, the system reduces actual memory requirements while maintaining processing speed through efficient metadata operations

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7397800B2Method and system for data placement of out-of-order (OOO) TCP segments
Publication Date: 2008.07.08 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US7397800B2 patent drawing
  • US7397800B2 patent drawing
  • US7397800B2 patent drawing

AI summary

Certain aspects of the invention provide handling out-of-order TCP segments and may include placing a first received segment in a host buffer and determining whether a second received segment is an in-order or out-of-order (OOO) segment. Control information associated with OOO segments may be stored locally on a network interface card (NIC) and the OOO segment placed in a host buffer rather than on the NIC. An address or location occupied by an end of the first received segment may be recorded and stored on the NIC. As in-order and/or OOO segments are received, control information associated with a starting address and/or end address may be stored on the NIC. Accordingly, as subsequent in-order and/or OOO segments are received, they may be correctly placed within the host buffer based on the recorded and/or stored control information without being buffered on the NIC.