Flow Congestion Management via Selective Flow Blocking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing congestion management techniques in router interfaces, such as tail-drop and random early discard, are inadequate for flow-based applications like voice and video, as they may discard packets across all flows when total traffic exceeds queue capacity, leading to suboptimal quality of service.
Innovation Solution
Implement a system that identifies active flows exceeding a blocking threshold, selectively discards packets from these flows, and monitors unblocked flows to dynamically block or unblock them based on specific criteria, ensuring optimal resource allocation and quality of service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tail-drop or random early discard is used to manage queue congestion, then packet loss is reduced when queue is full, but quality of service deteriorates for flow-based applications like voice and video because packets are discarded across all flows indiscriminately
Solution Approach 1:
The patent segments the queue management by flow, maintaining separate tracking structures for each active flow including packet counters and byte counters. This allows selective packet discarding at the flow level rather than applying tail-drop or RED uniformly across all flows, thereby preserving QoS for individual flows even when total queue capacity is exceeded
Solution Approach 2:
The patent implements local quality control by applying different congestion management policies to different flows based on their characteristics and requirements. Each flow can have its own packet loss probability calculated and applied, allowing voice flows to be treated differently from data flows, thus maintaining differentiated QoS levels locally for each flow type
2Quantity of substance
If packets are discarded when total traffic exceeds queue capacity, then queue overflow is prevented, but service quality deteriorates because legitimate flows are blocked unnecessarily
Solution Approach 1:
The patent implements dynamic congestion management where the packet loss probability for each flow is continuously adjusted based on current queue conditions and flow-specific metrics. The system dynamically selects which flows to discard packets from based on real-time calculations, rather than applying static discard policies, allowing legitimate flows to be preserved while still managing queue capacity
Solution Approach 2:
The patent incorporates feedback mechanisms by continuously monitoring queue depth, flow rates, and packet loss probabilities. This feedback is used to adjust congestion management decisions in real-time, ensuring that packet discarding is applied only when necessary and only to appropriate flows, thereby maintaining service quality while managing queue capacity
3Ease of operation
If selective flow blocking is implemented to maintain QoS, then service quality for unblocked flows is improved, but system complexity increases due to flow identification and monitoring requirements
Solution Approach 1:
The patent implements a universal congestion management framework that handles multiple flow types (voice, video, data) through a single integrated system. The same packet loss probability calculation and flow selection mechanisms apply universally across all flows, reducing the need for separate complex management systems for each flow type while maintaining differentiated QoS
Data Source
AI summary
Systems, methods, and devices are described for flow congestion management. A series of packets may be received at a routing or other device. A group of active flows may be identified from the received series of packets. A determination may be made that the measured rate associated with the group of active flows exceeds a blocking threshold. Flows to be blocked may be selected using a blocking criteria. Packets associated with the blocked flows may then be discarded, while packets of unblocked flows may be forwarded for distribution. The rate for the group may be monitored, and flows may be selected for unblocking using unblocking criteria.


