Packet Scheduling via Flow Type Classification and FIFO Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional fair queuing scheduling methods, such as work conserving stateless fair queuing, face challenges in implementing flow protection due to high average delay times and difficulty in maintaining queues for each flow, especially when operating in a non-work conserving manner, which can lead to delayed service of packets with small finish times.
Innovation Solution
A scheduling device that classifies flows by type and allocates one queue to each flow type, using a work conserving FIFO queue to calculate and compare finish times of head-of-queue packets, ensuring that packets with the earliest finish time are transmitted first, thereby simplifying implementation and enhancing flow protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional CSFQ maintains a queue for each flow, then flow protection can be achieved, but implementation becomes difficult and average delay time increases
Solution Approach 1:
The patent segments flows into different flow types (e.g., elastic flows, inelastic flows, real-time flows) and maintains separate FIFO queues for each flow type instead of maintaining individual queues for every single flow. This segmentation approach reduces the number of queues from potentially thousands of individual flow queues to a manageable number of flow-type queues, making implementation feasible while still providing flow protection through type-based classification and scheduling.
Solution Approach 2:
The patent makes the flow type classifier and scheduling mechanism universal by designing a system that can handle multiple flow types through a common framework. The flow type classifier universally classifies incoming packets into predefined flow types, and the scheduling mechanism universally applies finish time calculation and comparison across all flow types using the same FIFO queues, providing a multi-functional solution that handles diverse traffic patterns through a unified approach.
2Productivity
If work conserving scheduling is implemented, then resource utilization improves, but packets with small finish times may be delayed due to HoQ packets
Solution Approach 1:
The patent implements feedback by continuously calculating finish times for packets in FIFO queues and using these finish times to determine scheduling decisions. The scheduler constantly monitors the finish times of head-of-queue packets across different flow type queues and dynamically selects which packet to transmit next based on the earliest finish time, ensuring that work conserving operation does not delay packets that are ready for transmission. This feedback mechanism allows the system to adapt to changing conditions and prevent unnecessary delays.
Solution Approach 2:
The patent introduces dynamics into the scheduling system by making the scheduling decisions adaptive rather than static. Instead of rigidly following FIFO order or fixed priority schemes, the system dynamically adjusts transmission order based on real-time finish time calculations. The scheduler can switch between different flow type queues dynamically, selecting the packet with the earliest finish time regardless of which queue it comes from, thereby optimizing resource utilization while minimizing delays for packets ready for transmission.
3Measurement precision
If PIFO queue is used to solve HoQ delay problem, then packet scheduling accuracy improves, but implementation difficulty increases
Solution Approach 1:
The patent uses copying by maintaining virtual representations of finish time information for packets in FIFO queues without requiring complex PIFO queue structures. Instead of implementing the complex PIFO queue data structure that would be needed for precise scheduling, the system copies and stores finish time metadata for packets and uses these copied values to make scheduling decisions through simple comparisons, achieving scheduling accuracy without the implementation complexity of true PIFO queues.
Data Source
AI summary
A method and apparatus for scheduling are disclosed. An apparatus for packet scheduling includes a flow type classifier configured to classify a flow by type and to allocate at least one queue to each flow type; and a scheduler configured to calculate finish times of packets in the queue and to compare finish times of HoQ packets in the queue with each other to output an HoQ packet with an earliest finish time.


