Hierarchical Scheduling Tree for QoS Differentiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional packet scheduling mechanisms in data routing networks lack the flexibility to control Quality of Service (QoS) differentiation across multiple granularities, such as Internet service providers, business entities, and user groups, and fail to manage traffic effectively during congestion.

Innovation Solution

A user-configurable hierarchical scheduling process, or scheduling tree, is employed to allocate data packets across multiple queues, allowing for dynamic priority updates and propagation across levels, ensuring that the latest priority information is used for scheduling decisions, thereby enabling flexible QoS differentiation and traffic management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single-level scheduling process is used, then the scheduling mechanism is simple, but it lacks the ability to control QoS in multiple granularities

Engineering Contradiction:
ImproveQoS control flexibilityVSAvoidscheduling mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scheduling mechanism is divided into multiple hierarchical levels (first level, second level, third level), where each level handles different granularity of QoS control. This segmentation allows the system to control QoS at multiple granularities (service category, business entity, user group) while keeping each individual scheduling level relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention adds a hierarchical dimension to the scheduling process by introducing multiple levels of scheduling. Instead of a single flat scheduling layer, the system now operates across three hierarchical levels, enabling multi-granularity QoS control without proportionally increasing complexity at each level.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If priority information is not propagated across scheduling levels, then the scheduling process is faster, but it cannot utilize latest priority information for scheduling decisions

Engineering Contradiction:
Improvescheduling decision accuracyVSAvoidpriority propagation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Priority information is propagated from lower levels to upper levels in advance of scheduling decisions. The system performs preliminary priority propagation so that when scheduling decisions are made at upper levels, the latest priority information is already available, ensuring accurate scheduling without time loss during the actual scheduling process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback loops where priority information flows bidirectionally between scheduling levels. Updated priority information from lower levels is fed back to upper levels, ensuring that scheduling decisions at all levels are based on the most current priority data, thereby maintaining high reliability without significant time penalty.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10447608B2Packet scheduling using hierarchical scheduling process with priority propagation
Publication Date: 2019.10.15 MARVELL ASIA PTE LTD
  • US10447608B2 patent drawing
  • US10447608B2 patent drawing
  • US10447608B2 patent drawing

AI summary

System and method of data routing according to a hierarchical scheduling process. Incoming data traffic is allocated to various queues of a buffer. A scheduling tree has a top level for queues, a bottom level for egress ports, and a plurality of intermediate levels corresponding to different granularities with respect to service categories. Each queue is assigned to a particular node in each intermediate level of the scheduling tree. The scheduling tree traverses through multiple scheduling stages from the bottom to the top level to select a winner node in each level based on a variety of fairness and differentiating variables. A queue associated with the winner nodes in various levels is selected for outgoing transmission at the selected egress port. Priority information is dynamically propagated from upper nodes to lower nodes such that a subsequent scheduling process uses the updated priority information.