Queue Sets for Network Packet Scheduling Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If conventional queue management processes each packet individually, then scheduling precision can be maintained, but the number of operations increases significantly

Engineering Contradiction:
Improvequeue operation rateVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If queue size varies with packet length, then scheduling accuracy is improved, but predictability of queue operations decreases

Engineering Contradiction:
Improvescheduling accuracyVSAvoidqueue size predictability
Core Design Contradiction:
Measurement precisionVSStability of the object's composition

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multicast packets are replicated at the scheduler, then service level requirements are met, but head of line blocking increases

Engineering Contradiction:
Improveservice level enforcementVSAvoidhead of line blocking
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7782885B1System and method for queue management using queue sets
Publication Date: 2010.08.24 CISCO TECHNOLOGY INC
  • US7782885B1 patent drawing
  • US7782885B1 patent drawing
  • US7782885B1 patent drawing

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.