Distributed Packet Scheduling via Virtual Packets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network packet scheduling algorithms are CPU-intensive due to expensive heap/sort operations and are not designed for parallel operation, leading to issues when multiple packet schedulers send packets simultaneously towards the same bottleneck link.

Innovation Solution

The implementation of virtual packets for synchronization among multiple packet schedulers, where virtual packets are broadcasted periodically to maintain a synchronized packet scheduling hierarchy across instances, allowing for distributed packet scheduling and Quality of Service (QoS) control, even in the presence of external load balancers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple packet schedulers operate in parallel to increase throughput, then productivity is improved, but synchronization problems occur causing packets to be sent simultaneously towards the same bottleneck link

Engineering Contradiction:
ImprovethroughputVSAvoidpacket scheduling coordination
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces virtual packets as intermediary elements that mediate between multiple parallel packet scheduler instances and the bottleneck link. These virtual packets act as synchronization tokens that coordinate the actual packet transmission, preventing simultaneous sends while maintaining parallel processing capability. The virtual packets traverse through all scheduler instances to propagate scheduling decisions across the distributed system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual copies of packet scheduling information through virtual packets that replicate the scheduling hierarchy and queue state across multiple scheduler instances. Instead of having each instance independently manage real packets, they work with virtual representations that can be synchronized and coordinated before actual transmission occurs.

Inventive Principle:
Principle #26Copying

2Manufacturing precision

If traditional packet scheduling algorithms use heap/sort operations to prioritize traffic, then manufacturing precision is improved, but use of energy increases due to CPU intensity

Engineering Contradiction:
Improvetraffic prioritization accuracyVSAvoidCPU intensity
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The patent replaces expensive, CPU-intensive heap and sort operations with simpler, lighter-weight virtual packet insertion and queue management. The virtual packets use basic queue operations instead of complex sorting algorithms, significantly reducing computational overhead and energy consumption while maintaining adequate prioritization functionality for distributed scheduling.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the operational parameters of packet scheduling from centralized complex sorting to distributed simple queueing. By transforming the scheduling mechanism to work with virtual packets in parallel instances, the system achieves comparable prioritization accuracy with fundamentally different (simpler) operations that consume less CPU energy.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If packet schedulers are distributed across geographically disparate sites to enable cloud service deployment, then adaptability is improved, but measurement precision deteriorates due to delay in broadcasting virtual packets

Engineering Contradiction:
Improvedistributed deployment capabilityVSAvoidpacket scheduling information synchronization
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent accepts that perfect synchronization across geographically disparate sites is unattainable due to network delays. Instead of requiring exact synchronization, the system uses partial synchronization where virtual packets are broadcast approximately simultaneously, and the error margin remains low enough to maintain effective traffic regulation and prioritization across distributed locations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3369224B1Systems and methods for distributed packet scheduling
Publication Date: 2019.07.31 CITRIX SYSTEMS INC
  • EP3369224B1 patent drawingFigure 1A
  • EP3369224B1 patent drawingFigure 1B
  • EP3369224B1 patent drawingFigure 1C

AI summary

A method comprising: receiving, by a first network packet scheduler, from each other network packet scheduler of a plurality of network packet schedulers, a virtual packet for each traffic class of a plurality of traffic classes defining relative transmission priority of network packets; receiving, by the first network packet scheduler, a network packet of a first traffic class of the plurality of traffic classes; transmitting, by the first network packet scheduler, each virtual packet into a virtual connection of a plurality of virtual connections created for each traffic class; scheduling, by the first network packet scheduler, a network packet or a virtual packet as a next packet in a buffer for transmission; determining, by the first network packet scheduler, that the next packet in the buffer is a virtual packet; and discarding, by the first network packet scheduler, the virtual packet, responsive to the determination that the next packet in the buffer is a virtual packet.