Queue Sets for Network Packet Scheduling Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional queue management systems face challenges in managing large numbers of queues with high network packet rates, leading to increased operations and undesirable head of line blocking, especially when handling multicast packets.
Innovation Solution
The implementation of queue sets, where a group of packets or packet references are processed as a single entity, reducing the number of operations by maintaining a predictable quantity of packet bytes, thereby streamlining scheduling and reducing storage and decision time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional queue management processes each packet individually, then scheduling precision can be maintained, but the number of operations increases significantly
Solution Approach 1:
The patent merges multiple packets into a single queue set entity for processing. Instead of scheduling each packet individually, the queue manager schedules the entire queue set as one unit, reducing the number of scheduling operations from N (number of packets) to 1 (number of queue sets), thereby improving productivity while maintaining acceptable scheduling precision through the predictable size design.
Solution Approach 2:
The patent segments the stream of packets into discrete queue sets with predictable sizes. By organizing packets into fixed-size or predictably-sized queue sets, the system creates manageable units that can be scheduled efficiently, reducing the operational burden on the queue manager while preserving scheduling control.
2Measurement precision
If queue size varies with packet length, then scheduling accuracy is improved, but predictability of queue operations decreases
Solution Approach 1:
The patent changes the sizing parameter from variable packet length to fixed or predictable queue set size. Each queue set is designed to contain a predictable quantity of packet bytes, regardless of the actual number or size of individual packets within it. This parameter change provides stability and predictability for queue operations while still allowing accurate scheduling through the known size characteristics of queue sets.
3Reliability
If multicast packets are replicated at the scheduler, then service level requirements are met, but head of line blocking increases
Solution Approach 1:
The patent performs preliminary multicast replication at the queue set level before scheduling occurs. By replicating the entire queue set to multiple destination queues in advance, the system eliminates the need for repeated replication operations at the scheduler for each individual packet. This preliminary action reduces head of line blocking because the replicated queue sets can be serviced independently without waiting for scheduler intervention on each packet.
Data Source
AI summary
The disclosure describes queue management based on queue sets. A queue set comprises a group of packets or packet references that are processed as a single entity or unit. For example, when a queue set reaches the head of a queue in which it is stored, the entire queue set including its packets or packet references is passed for scheduling as a single unit. A queue set provides the benefit of a single operation associated with enqueuing and a single operation associated with dequeuing. Since only one operation on a queue is required for the typical case of several packets in a queue set rather than for every packet, the rate of queue operations may be significantly reduced. A queue set has a target data unit size, for example, a roughly equal number of packet bytes represented by each queue set, regardless of the number of packets referenced by a queue set. This means that a scheduler of a queue manager, which is tasked with metering the number of packet bytes transmitted from each queue per time unit, is provided with a list of packets which represents a predictable quantity of packet bytes, and this predictability streamlines the scheduling task and significantly reduces the number of operations.


