Network Interface Adapter Preemptive Congestion Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Ethernet computer communication networks, dropped data packets due to buffer overflow in switches and routers lead to poor network utilization and increased latency, as retransmitted packets strain network resources.

Innovation Solution

A network interface adapter on a receiving server monitors queue depth and initiates preemptive actions, such as returning an explicit congestion notification to the sending server, increasing queue depth, or allocating more processor resources, to prevent packet drops by throttling data transmission rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TCP/IP retransmit algorithm is used to handle dropped packets, then packet delivery reliability is improved, but network utilization deteriorates and latency increases

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidnetwork utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The network interface adapter performs preliminary actions by monitoring queue depth and sending ECN notifications to the sending server before the receive queue overflows. This preemptive congestion notification allows the sending server to throttle transmission rate in advance, preventing packet drops and eliminating the need for retransmissions, thus maintaining both reliability and network utilization

Inventive Principle:
Principle #10Preliminary action

2Reliability

If TCP/IP retransmit algorithm is used to handle dropped packets, then packet delivery reliability is improved, but latency increases

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system sends ECN notifications in advance when the receive queue approaches capacity, allowing the sending server to reduce transmission rate before packet drops occur. This prevents the latency penalty associated with detecting drops and initiating retransmissions, maintaining low latency while ensuring reliable delivery

Inventive Principle:
Principle #10Preliminary action

3Reliability

If receive queue depth is increased to prevent overflow, then packet drop rate is reduced, but memory usage increases

Engineering Contradiction:
Improvepacket drop rateVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The network interface adapter continuously monitors the depth of the receive queue and provides feedback by sending ECN notifications to the sending server when the queue approaches capacity. This feedback mechanism allows the system to maintain a moderate buffer size while preventing packet drops through active congestion management, avoiding the need for excessively large buffers

Inventive Principle:
Principle #23Feedback

4Speed

If processor resources are increased to process packets faster, then packet processing speed is improved, but system resource consumption increases

Engineering Contradiction:
Improvepacket processing speedVSAvoidprocessor resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The ECN monitoring and notification mechanism performs preliminary action by detecting congestion conditions and notifying the sending server before the receive queue overflows. This prevents packet drops and reduces the need for high-speed reprocessing of dropped packets, allowing the system to maintain adequate processing speed with moderate resource allocation

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10425344B2Avoiding dropped data packets on a network transmission
Publication Date: 2019.09.24 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US10425344B2 patent drawing
  • US10425344B2 patent drawing
  • US10425344B2 patent drawing

AI summary

A method, system, and apparatus are provided to avoid dropping data packets between computers coupled on a network. In one example, the system receives a plurality of data packets from one or more sending servers into a receive queue of a first network interface device (e.g., Fiber Channel host bus adapter) in a receiving server. The receive queue includes addresses to data buffers to store a predetermined number of data packets. The system monitors the number of data packets stored in the data buffers waiting for read out by a software application. The system detects a potential overflow of the receive queue in response to a number of unused data buffers of the receive queue. In response to detecting the potential overflow, the system performs preemptive actions to avoid dropping at least one of the plurality of data packets.