Dynamic Flow Queue Arbitration for Network Packet Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in efficiently prioritizing and managing multiple flows, leading to suboptimal transmission times and resource utilization, especially when dealing with bursts of traffic and varying quality of service requirements.
Innovation Solution
A communication apparatus with control circuitry that dynamically prioritizes packets across flow-specific queues, ensuring that packets from the highest priority queue are transmitted first until empty, then shifting priority to the next queue, using criteria such as queue age, flow importance, or round-robin, to optimize transmission efficiency and reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If packets are prioritized based on flow-specific queues with dynamic priority assignment, then transmission time for critical flows is reduced, but device complexity increases due to multiple queues and arbitration logic
Solution Approach 1:
The patent segments the packet transmission system into multiple flow-specific queues (first through Nth queues) with distinct priority levels. Each queue handles specific traffic flows independently, allowing critical flows to be transmitted before non-critical flows. This segmentation enables differentiated service quality without requiring complete redesign of the transmission system.
Solution Approach 2:
The patent implements dynamic priority assignment where the highest priority is assigned to the first queue initially, then sequentially to subsequent queues as higher priority queues are emptied. This dynamic reassignment of priorities based on queue state allows the system to adapt to changing traffic conditions and maintain optimal transmission efficiency.
2Productivity
If highest priority is assigned to one queue until empty before moving to the next, then transmission efficiency for prioritized flows improves, but other queues may experience starvation
Solution Approach 1:
The patent implements periodic priority assignment where the highest priority is cycled through different queues in a predetermined sequence. After the first queue is emptied, the highest priority is assigned to the second queue, then to the Nth queue, and so on. This periodic redistribution ensures that all queues eventually receive service while maintaining high transmission efficiency during each priority phase.
Solution Approach 2:
The patent establishes a predetermined sequence for priority assignment before execution begins. The control circuitry is pre-configured with the sequence in which queues will receive highest priority, allowing it to proactively manage queue service without complex real-time decisions. This preliminary arrangement ensures fair distribution of service opportunities while maintaining efficiency.
3Loss of time
If adaptive flow prioritization is applied based on queue lengths, then latency is reduced and bufferbloat is fought, but the system requires complex arbitration logic
Solution Approach 1:
The patent changes the priority parameter dynamically based on queue characteristics such as queue length and flow importance. By adjusting the priority assignment according to these parameters, the system adapts to current traffic conditions, reducing latency for critical flows while maintaining overall system stability without requiring complex arbitration algorithms.
Data Source
AI summary
One embodiment includes a communication apparatus, including multiple interfaces including at least one egress interface to transmit packets belonging to multiple flows to a network, and control circuitry to queue packets belonging to the flows in respective flow-specific queues for transmission via a given egress interface, and to arbitrate among the flow-specific queues so as to select packets for transmission responsively to dynamically changing priorities that are assigned such that all packets in a first flow-specific queue, which is assigned a highest priority among the queues, are transmitted through the given egress interface until the first flow-specific queue is empty, after which the control circuitry assigns the highest priority to a second flow-specific queue, such that all packets in the second flow-specific queue are transmitted through the given egress interface until the second flow-specific queue is empty, after which the control circuitry assigns the highest priority to another flow-specific queue.


