Network Interface Controller Packet Coalescing Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network protocols, such as TCP/IP, incur significant processing overhead by handling and processing multiple packets individually, even if they belong to the same data flow, due to parsing headers, updating flow state information, and generating acknowledgment messages.

Innovation Solution

Implementing a network interface controller (NIC) with logic to coalesce multiple packets belonging to the same flow into a single packet, combining TCP payloads and preparing a single IP and TCP header, thereby reducing per-packet processing overhead by batching packets and optimizing header preparation and acknowledgment management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple packets are handled individually by the protocol stack, then each packet can be processed with complete protocol compliance, but processing overhead increases significantly

Engineering Contradiction:
Improveprotocol complianceVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple packets belonging to the same flow into a single coalesced packet. The NIC combines packets that share the same source/destination IP addresses and TCP ports, creating one aggregated packet that contains multiple original packets' data. This reduces the number of individual protocol processing operations while maintaining TCP compliance through proper sequence number management and flow identification.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary coalescing of packets at the NIC before they reach the protocol stack. By pre-combining packets and preparing their headers in advance, the system reduces the processing burden on the protocol stack. The NIC maintains flow state information and pre-processes header information, so that when coalesced packets are passed to the protocol stack, minimal additional processing is required.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If packets are coalesced into fewer larger packets, then processing overhead is reduced, but packet handling complexity increases

Engineering Contradiction:
Improveprocessing overheadVSAvoidpacket handling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces the NIC as an intermediary device between the network interface and the protocol stack. The NIC contains dedicated coalescing logic that manages the complexity of packet merging, flow tracking, and header preparation. This intermediary handles the complex operations of monitoring incoming packets, identifying flows, combining packets, and managing TCP sequence numbers, thereby shielding the protocol stack from this complexity while still achieving reduced processing overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If individual packets are processed separately, then acknowledgment accuracy is maintained, but processing time increases

Engineering Contradiction:
Improveacknowledgment accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent changes the parameter of packet aggregation at the NIC, combining multiple individual packets into coalesced packets while maintaining TCP sequence number tracking. The NIC monitors and manages sequence numbers across coalesced packets, ensuring that acknowledgment accuracy is preserved even though packets are processed in batches rather than individually. This parameter change enables batch processing without sacrificing measurement precision.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8718096B2Packet coalescing
Publication Date: 2014.05.06 INTEL CORP
  • US8718096B2 patent drawing
  • US8718096B2 patent drawing
  • US8718096B2 patent drawing

AI summary

In general, in one aspect, the disclosures describes a method that includes receiving multiple ingress Internet Protocol packets, each of the multiple ingress Internet Protocol packets having an Internet Protocol header and a Transmission Control Protocol segment having a Transmission Control Protocol header and a Transmission Control Protocol payload, where the multiple packets belonging to a same Transmission Control Protocol/Internet Protocol flow. The method also includes preparing an Internet Protocol packet having a single Internet Protocol header and a single Transmission Control Protocol segment having a single Transmission Control Protocol header and a single payload formed by a combination of the Transmission Control Protocol segment payloads of the multiple Internet Protocol packets. The method further includes generating a signal that causes receive processing of the Internet Protocol packet.