Flow Regulation Switch for Network Congestion Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network switches face data traffic congestion issues due to the inability to manage traffic flow efficiently at the flow granularity, leading to performance degradation and head-of-line blocking, especially when the receiving device's processing capacity is exceeded.
Innovation Solution
A flow regulation switch that includes a flow monitor and a flow regulation engine to measure and regulate traffic flow attributes, such as flow rate, burst rate, and data type, allowing for targeted reduction of traffic from congesting devices to prevent excessive data input, thereby avoiding the need for costly central arbiters and minimizing head-of-line blocking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtual output queuing (VOQ) with central arbiter is used, then traffic management efficiency is improved, but device complexity and cost increase significantly
Solution Approach 1:
The patent segments the traffic management function by dividing the switch fabric into multiple independent crossbars, each capable of autonomous operation. This eliminates the need for a centralized arbiter by distributing arbitration functions to individual crossbars, thereby reducing overall system complexity while maintaining traffic management efficiency.
Solution Approach 2:
Each crossbar is designed to be self-sufficient with its own input buffers and arbitration logic, allowing it to independently manage its traffic flows without requiring centralized coordination. This self-service capability reduces the messaging overhead and complexity associated with central arbiters while preserving efficient traffic management.
2Reliability
If link level pause is used to halt input traffic, then data input exceeding threshold is prevented, but head-of-line blocking occurs and switch performance degrades
Solution Approach 1:
The patent implements per-flow input buffers that allow differential treatment of different traffic flows within the same input port. When congestion is detected for a specific flow, only that flow's buffer is managed differently, while other flows continue uninterrupted. This local quality approach prevents head-of-line blocking by isolating congestion effects to individual flows rather than halting all traffic from an input port.
Solution Approach 2:
Instead of applying a blanket pause to all traffic from an input port when congestion occurs, the patent applies partial action by selectively managing only the congested flow's packets. This allows non-congested flows to continue processing, maintaining overall switch performance while still effectively controlling the congested flow to prevent excessive data input.
3Device complexity
If simple input buffers are used, then device complexity is reduced, but ability to manage traffic at flow granularity is lost
Solution Approach 1:
The patent segments input buffers into multiple per-flow buffers within each input port, allowing independent management of different traffic flows. This segmentation enables flow-granularity control while keeping the implementation simple by using basic buffer structures that are independently addressable and manageable without requiring complex centralized coordination.
Data Source
AI summary
A network switch includes a plurality of egress ports configured to send packets of data traffic to at least one receiving network device and a plurality of ingress ports configured to receive the packets of data traffic from at least one sending network device. The switch further includes a switch logic engine configured to define multiple flows of data through the switch from a sending network device to a receiving network device and to route the flows from the ingress port to the egress port, a flow monitor configured to measure at least one flow attribute of the flows, and a flow regulation engine configured to regulate a flow rate of flows sent by a sending network device based at least in part on a measurement by the flow monitor of the at least one flow attribute of the packets.


