Dynamic Packet Queue Segmentation for Router Flow Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional packet scheduling methods in routers face challenges with complexity increasing with the number of flows and burst events causing non-uniform packet distribution, which can disrupt packet processing elements.
Innovation Solution
A method using a single packet queue dynamically divided into variable-sized sections with section load thresholds for each flow, allowing packets to be stored and extracted based on flow-specific criteria, ensuring fair scheduling and minimizing complexity and burst events.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional WFQ (Weighted Fair Queuing) is used for fair scheduling, then fair bandwidth allocation is achieved, but device complexity increases with the number of flows
Solution Approach 1:
The patent segments the packet queue into multiple sub-queues, where each sub-queue corresponds to a specific flow. This segmentation allows the router to manage multiple flows independently while reducing the overall scheduling complexity by applying simple FIFO queuing within each sub-queue rather than complex global scheduling algorithms.
Solution Approach 2:
The patent dynamically creates and removes sub-queues based on flow establishment and termination. When a new flow is detected, a corresponding sub-queue is created; when a flow ends, its sub-queue is removed. This dynamic adaptation allows the system to maintain fair scheduling without requiring pre-configuration for all possible flows.
2Device complexity
If DRR (Deficit Round Robin) algorithm is used for scheduling, then implementation complexity is reduced, but burst events occur causing non-uniform packet distribution
Solution Approach 1:
By segmenting the single queue into multiple flow-specific sub-queues, the patent eliminates the burst behavior inherent in DRR algorithms. Each sub-queue processes packets of a single flow in FIFO order, ensuring uniform packet distribution across flows without requiring complex round-robin scheduling mechanisms.
3Device complexity
If a single packet queue is used for all flows, then device complexity is minimized, but fair scheduling cannot be achieved
Solution Approach 1:
The patent introduces a hierarchical queue structure where a single external queue is segmented into multiple internal sub-queues, each dedicated to a specific flow. This segmentation enables fair scheduling by ensuring each flow receives proportional bandwidth while maintaining simple FIFO queuing operations at both the external and internal levels.
Solution Approach 2:
The patent adds a new dimension to the queue structure by organizing packets not only in temporal order (single queue) but also in flow-specific groups (sub-queues). This multi-dimensional organization allows the system to achieve fair scheduling across multiple flows while maintaining simple first-come-first-served processing within each dimension.
Data Source
AI summary
The invention concerns a method for scheduling packets belonging to a plurality of flows received at a router. It is also provided the system for carrying out the method. According to the invention, a single packet queue is used for storing said packets, said single packet queue being adapted to be divided into a variable number of successive sections which are created and updated dynamically as a function of each received packet, each section being of variable size and a section load threshold for each flow of said plurality of flows being allocated to each section. The method further comprises insertion (S11; S22; S210; S222; S230) of each received packet of a given flow in one of said successive sections as a function of said given flow and of the corresponding section load threshold.


