Traffic Shaping With Rotating Gating Queues for Deterministic Packet Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional traffic shaping methods using the leaky bucket algorithm result in uncertain packet output times due to scheduling latency when multiple flows dequeue simultaneously, failing to meet the deterministic network's requirements for fixed bandwidth and latency.
Innovation Solution
A traffic shaping method utilizing a group of gating queues rotated by timing switches, where each queue is enabled cyclically, and packets are marked with a queue identifier to ensure fixed output times by controlling the enqueuing and outputting process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the leaky bucket algorithm is used for traffic shaping, then traffic can be limited and smoothed, but packet output time becomes uncertain due to scheduling latency
Solution Approach 1:
The system segments the single output channel into multiple virtual queues (gating queues), each with its own scheduled output time. This segmentation allows different flows to be assigned to different queues with predetermined output times, eliminating the scheduling latency that occurs when multiple flows compete for a single output channel in the conventional leaky bucket approach.
Solution Approach 2:
The system performs preliminary action by pre-assigning packets to specific gating queues based on their arrival time and the scheduled output times of the queues. This pre-assignment ensures that packet output times are determined in advance rather than being deferred to scheduling decisions made when packets reach the output channel, thereby eliminating scheduling latency.
2Productivity
If multiple flows are scheduled simultaneously at the output port, then all flows can be served, but some packets must wait causing uncertain output time
Solution Approach 1:
The system implements periodic action by cycling through multiple gating queues in a predetermined sequence, with each queue assigned a specific time window for output. This periodic cycling ensures that multiple flows are served systematically without simultaneous contention, and each packet's output time is determined by its assigned queue's schedule rather than by dynamic scheduling decisions.
Solution Approach 2:
The system applies dynamics by making the queue assignment flexible based on arrival time while maintaining fixed output times within each queue's time window. Packets are dynamically assigned to appropriate queues based on when they arrive, but once assigned, their output time is fixed by the queue's schedule, combining dynamic admission with deterministic output.
3Device complexity
If a single queue is used for traffic shaping, then implementation is simple, but multiple flows cannot be differentiated for deterministic output
Solution Approach 1:
The system segments a single queue into multiple gating queues, each dedicated to specific flows or time windows. This segmentation enables precise control over output times for different flows while maintaining a relatively simple overall structure based on cyclic queue activation. The segmentation is logical rather than physical, reducing implementation complexity compared to fully independent queue structures.
Solution Approach 2:
The gating queue structure serves multiple functions: it differentiates between multiple flows, provides deterministic output times, and maintains traffic shaping capabilities. A single gating queue can serve multiple flows by time-multiplexing, while multiple gating queues can be cyclically activated to handle different flow groups, providing universal functionality across different traffic shaping requirements.
Data Source
AI summary
A traffic shaping method and a traffic shaping apparatus are disclosed. The method includes: A packet marking apparatus receives a first packet; the packet marking apparatus determines an enqueuing queue of the first packet; and the packet marking apparatus marks a queue identifier of the first packet as a queue identifier of the enqueuing queue of the first packet, and then sends the queue identifier of the first packet to a packet output apparatus, where the packet output apparatus is configured to send, based on the queue identifier of the first packet, the first packet to a corresponding queue for outputting. Therefore, the packet output time after traffic shaping can be determined.


