Dynamic Priority Queue Placement for Computing Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional prioritized queues often lead to lower priority requests being neglected or timing out due to higher priority items being serviced first, resulting in inefficiencies and potential system failures.
Innovation Solution
A method for dynamic queue placement that assigns a computed code to each item based on its priority type, incorporating a timeout period and safety margin interval, allowing items with the shortest computed time to be processed first, thereby preventing higher priority items from freezing out lower priority ones.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If items are processed based solely on priority levels, then high priority requests are serviced first, but low priority requests may not be processed and may timeout
Solution Approach 1:
The patent implements dynamic priority adjustment where the effective priority of items is not fixed but changes based on real-time queue conditions. The system calculates a dynamic priority value for each item based on its original priority, the number of higher priority items ahead in the queue, and a timeout parameter. This allows the processing order to adapt dynamically, ensuring that low priority items can be processed even when high priority items are present, thereby preventing timeouts while maintaining high priority processing efficiency.
Solution Approach 2:
The patent changes the parameter used for queue ordering from static priority levels to dynamic priority values. The dynamic priority value is calculated using the formula: (original priority * (1 - timeout_parameter)) + (number of higher priority items ahead). This parameter transformation allows the system to balance between processing high priority items quickly and ensuring low priority items are not indefinitely delayed, resolving the contradiction between processing speed and reliability.
2Productivity
If higher priority items are serviced before lower priority items, then processing efficiency for critical items is improved, but lower priority items may be frozen out
Solution Approach 1:
The patent introduces a feedback mechanism where the system continuously monitors the queue state and adjusts the effective priority of items based on the number of higher priority items ahead. The dynamic priority calculation incorporates feedback about the queue composition, allowing lower priority items to gain precedence when there are many high priority items ahead, thus preventing them from being frozen out while maintaining overall processing efficiency.
Solution Approach 2:
The system transitions from a static priority model to a dynamic one where the effective priority of each item is continuously adjusted based on real-time queue conditions. The dynamic priority value reflects the current state of the queue, allowing flexibility in processing order that prevents lower priority items from being permanently blocked, thereby maintaining ease of operation for all item types.
3Device complexity
If conventional priority queues are used, then simple implementation is maintained, but system degradation and DOS attacks can occur
Solution Approach 1:
The patent transforms the simple static priority parameter into a dynamic calculated value that incorporates timeout information and queue position. This parameter change adds system resilience without requiring complex hardware or multiple queue structures. The dynamic priority calculation inherently protects against DOS attacks by ensuring that even if many high priority items are injected, low priority items will eventually be processed, preventing system degradation while maintaining relatively simple implementation.
Data Source
AI summary
The present disclosure relates to dynamic queue placement. In one embodiment, a method includes receiving a plurality of items for processing by a computing device, wherein each item received by the computing device is associated with a priority type. The method also includes determining a computed code for the plurality of items to assign a processing order in a queue for each of the plurality of items. The computed code is based on a timeout period for a lowest priority item of the plurality of items, and a safety margin interval of each of the plurality of items, the safety margin level including a time period for processing an item. The method may also include placing the plurality of items into the queue based on the computed code of each item.


