Parallel Dequeuing and Dropping for Network Congestion Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network devices face challenges in efficiently managing congestion by determining which sources to notify and when, leading to global synchronization and delayed notifications, which can result in reduced throughput.
Innovation Solution
The system separates data dropping and dequeuing mechanisms to operate in parallel, using multiple queues, a dequeue engine, a drop engine, and an arbiter to control access, allowing for efficient congestion control and data processing in network devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional congestion control notifies all sources simultaneously, then congestion notification is achieved, but global synchronization occurs reducing throughput
Solution Approach 1:
The patent segments the congestion notification process by separating the drop mechanism from the dequeue mechanism, allowing them to operate independently and in parallel. This segmentation prevents global synchronization by enabling different sources to be notified at different times based on their queue states, rather than all sources receiving notifications simultaneously.
Solution Approach 2:
The patent implements preliminary congestion notification by dropping packets at the head of the buffer before they are dequeued. This preliminary action notifies sources of congestion in advance, allowing them to adjust their transmission rates before the queues become fully congested, thereby preventing global synchronization while maintaining reliable congestion notification.
2Productivity
If data is enqueued faster than dequeued, then queue building occurs, but congestion occurs reducing efficiency
Solution Approach 1:
The patent implements feedback control by continuously monitoring queue lengths and using this information to trigger packet drops when congestion thresholds are exceeded. The drop engine receives feedback about queue states and adjusts dropping behavior accordingly, creating a closed-loop control system that maintains congestion control effectiveness even when enqueue rates exceed dequeue rates.
Solution Approach 2:
The patent applies preliminary anti-action by proactively dropping packets when queue lengths approach congestion thresholds, before actual congestion occurs. This preemptive measure counteracts the tendency for queues to build up excessively by removing packets in advance, thereby preventing congestion while allowing high enqueue rates.
3Measurement precision
If delayed notification is sent to sources, then congestion is detected, but throughput is reduced
Solution Approach 1:
The patent performs preliminary congestion notification by dropping packets at the head of the buffer before queues become fully congested. This early notification occurs at the precise moment when congestion thresholds are approached, providing accurate congestion detection without delay. Sources receive immediate notification and can adjust their transmission rates promptly, avoiding throughput reduction.
Data Source
AI summary
A system provides congestion control in a network device. The system includes multiple queues, a dequeue engine, a drop engine, and an arbiter. The queues temporarily store data. The dequeue engine selects a first one of the queues and dequeues data from the first queue. The drop engine selects a second one of the queues to examine and selectively drop data from the second queue. The arbiter controls selection of the queues by the dequeue engine and the drop engine.


