Parallel Virtual Port Scheduling for Router Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet scheduling techniques in routers are limited by memory bandwidth and contention overhead, leading to inefficiencies in selecting packets for transmission on high-speed communication links.

Innovation Solution

The method involves segmenting packets into multiple scheduling domains represented by separate scheduling trees, each managed by a virtual port scheduling engine, with a top-level engine making the final transmission decision, allowing for parallel and independent operation to reduce shared state considerations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single scheduling engine traverses a scheduling tree to select packets for transmission, then the scheduling process can be implemented with simple structure, but the scheduling performance is limited by memory bandwidth and contention overhead

Engineering Contradiction:
Improvepacket scheduling rateVSAvoidscheduling engine complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling system is segmented into multiple independent scheduling engines, each responsible for a specific scheduling tree. This segmentation allows parallel processing of packet scheduling operations, increasing the overall scheduling rate by eliminating the bottleneck of a single engine traversing the entire scheduling tree sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-dimensional sequential scheduling approach to a multi-dimensional parallel scheduling architecture. Multiple scheduling engines operate simultaneously on different scheduling trees, adding a temporal and spatial dimension to the scheduling process, thereby increasing productivity without proportionally increasing complexity.

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

2Quantity of substance

If multiple packets are queued and scheduled for a single outgoing physical communications link, then packet queues can temporarily store received packets, but the queued packets compete for the common outgoing link reducing scheduling efficiency

Engineering Contradiction:
Improvenumber of packets in queueVSAvoidpacket transmission rate
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The common outgoing physical communications link is segmented into multiple virtual outgoing links, each associated with a separate scheduling tree and scheduling engine. This segmentation allows multiple packet queues to be served simultaneously without competition, as each scheduling engine independently manages its own tree and can transmit packets without waiting for others.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs more scheduling engines than there are physical outgoing links, creating a surplus of scheduling capacity. This excessive action allows the system to handle multiple packet queues in parallel, ensuring that packet transmission rate is not limited by the number of physical links but by the available scheduling engine capacity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2695334B1Packet scheduling method and apparatus
Publication Date: 2019.08.07 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • EP2695334B1 patent drawingFigure 1
  • EP2695334B1 patent drawingFigure 2
  • EP2695334B1 patent drawingFigure 3

AI summary

Improved packet scheduling methods and apparatuses for use in, among other things, a network interface of a router (or other network element) are described herein. In one such improved method, packets buffered in a network interface are segmented for transmission on a communications link into multiple scheduling domains each being represented by a scheduling tree, each scheduling tree is assigned to a separate virtual port scheduling engine, and a top level scheduling engine is employed to schedule between the outputs of the virtual port scheduling engines to make the final choice of which buffered packet to transmit on the communications link (e.g., to move to the transmit queue of the network interface). By having the virtual port scheduling engines operate in parallel and substantially independently of each other, the rate at which packet can be moved into the transmit queue may increase greatly, thereby increasing the bandwidth of the network interface of the router.