Flow-Aware Congestion Notification in Network Interface Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network congestion control mechanisms, such as ECN, fail to differentiate between different types of data flows, leading to unnecessary throttling of latency-sensitive traffic and inefficient network resource allocation in high-throughput, low-latency applications like AI and HPC.
Innovation Solution
A network interface device selectively determines congestion notifications based on flow information, message size, and phase of communication, using hints in packet headers to prioritize certain flows and adjust congestion window settings, thereby avoiding unnecessary throttling of latency-sensitive traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECN is used to proactively reduce network congestion and packet drops, then network reliability is improved, but latency-sensitive traffic is unnecessarily throttled
Solution Approach 1:
The patent applies local quality by differentiating congestion control behavior based on flow characteristics. The system identifies latency-sensitive flows versus throughput-oriented flows and applies selective ECN marking only to non-latency-sensitive flows. This allows the network to maintain low latency for critical traffic while still managing congestion through targeted congestion control on other flows.
Solution Approach 2:
The patent segments network traffic into different categories based on flow characteristics and applies different congestion control mechanisms to each segment. By segmenting flows and applying selective ECN marking, the system avoids uniformly throttling all traffic while maintaining reliability improvements through targeted congestion management.
2Device complexity
If ECN marks all packets to indicate congestion, then congestion control is simplified, but network resource allocation becomes inefficient
Solution Approach 1:
The patent implements local quality by applying different congestion control strategies to different flows based on their characteristics. The system determines whether a flow is latency-sensitive and applies ECN marking selectively, thereby optimizing network resource allocation efficiency without uniformly applying complex control to all traffic.
Solution Approach 2:
The patent introduces dynamic congestion control where the ECN marking behavior changes based on real-time flow characteristics and network conditions. The system dynamically adjusts its congestion control approach by monitoring flow patterns and adapting its marking strategy, which improves resource allocation efficiency while managing complexity through automated decision-making.
3Reliability
If the egress buffer is made larger to store more packets, then packet drops are reduced, but network throughput is limited by buffer occupancy thresholds
Solution Approach 1:
The patent extracts the congestion notification function from the buffer occupancy mechanism. Instead of relying solely on buffer fullness to trigger congestion control, the system uses ECN markings to proactively notify senders of congestion conditions. This allows the buffer to be sized appropriately for packet storage while maintaining throughput through proactive congestion management before buffers become overloaded.
Data Source
AI summary
Examples described herein relate to a switch, when operational, that is configured to receive in a packet an indicator of number of remaining bytes in a flow and to selectively send a congestion message based on a fullness level of a buffer and indication of remainder of the flow. In some examples, the indicator is received in an Internet Protocol version 4 consistent Options header field or Internet Protocol version 6 consistent Flow label field. In some examples, the congestion message comprises one or more of: an Explicit Congestion Control Notification (ECN), priority-based flow control (PFC), and/or in-band telemetry (INT). In some examples, to selectively send a congestion message to a transmitter based on a fullness level of a buffer that stored the packet and the number of remaining bytes in flow, the switch is to determine whether the buffer is large enough to store the remaining bytes in the flow.


