Packet Scheduling TTL Mechanism Prevents Head-of-Line Blocking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing queuing systems in network devices face head-of-line blocking, where low-priority packets at the front of a queue can delay higher-priority packets, leading to undesirable packet reordering and latency issues, especially when packets from different streams are managed across multiple queues.
Innovation Solution
Assigning a time-to-live (TTL) value to packets based on their priority, allowing low-priority packets to be discarded when they block higher-priority ones, and implementing a 'packet killing' mechanism to ensure that higher-priority packets are processed without prolonged delays by moving them to the front of the queue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If packets are scheduled based on priority with multiple queues, then high-priority packets can be serviced faster, but low-priority packets at the head of the queue can block higher-priority packets behind them (head-of-line blocking)
Solution Approach 1:
The patent assigns a time-to-live (TTL) value to each packet when it is enqueued, which is a preliminary action taken before the packet can cause head-of-line blocking. This TTL value represents the maximum time a packet can spend at the head of the queue before being discarded. By setting this limit in advance, the system prevents low-priority packets from indefinitely blocking high-priority packets, thus resolving the contradiction between maintaining priority-based fast service and preventing head-of-line blocking delays.
Solution Approach 2:
The patent dynamically changes the TTL parameter of packets based on their priority level and the current queue state. High-priority packets are assigned longer TTL values while low-priority packets receive shorter TTL values. This parameter change mechanism allows the system to adaptively manage queue behavior, ensuring that high-priority packets can overcome head-of-line blocking when necessary, thereby balancing service speed and delay prevention.
2Loss of time
If virtual queues are assigned to each packet priority to prevent head-of-line blocking, then packet reordering is prevented within streams, but packets from the same stream may be serviced out of order across different queues
Solution Approach 1:
The patent segments the queue management by maintaining separate physical queues for different packet priorities while introducing a segmentation mechanism through TTL values that operate independently of the queue structure. This allows packets from the same stream to be distributed across multiple priority queues without requiring complex virtual queue mappings, thereby preventing head-of-line blocking while maintaining stream integrity through the TTL-based discarding mechanism.
Data Source
AI summary
Methods, systems, and computer program products for killing prioritized packets in multiple queues using time-to-live values to prevent head-of-line blocking. In one example, a method for scheduling prioritized packets in queuing system includes receiving a plurality of packets having a plurality of different priorities. The method can also include assigning the packets to the queues, wherein at least some of the queues include packets of a plurality of different priorities. In addition, the method can include assigning a first time-to-live (TTL) value to a first packet in a first queue. The method can also include altering the first TTL value of the first packet in response to a second packet of a second queue being scheduled. Further, the method can include discarding the first packet in response to the first TTL value having a predetermined relationship with respect to a predetermined value.


