Distributed Packet Scheduling via Virtual Packets
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
Figure 1A
Figure 1B
Figure 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.