IP Library Granted Patent US 10,318,345
Granted Patent B2
US 10,318,345 · App. 14/691,512 · Granted Jun 11, 2019

Dynamic priority queue

Inventor: Roger Stringer (Suwanee, GA)
Assignees: HISENSE USA CORP.; HISENSE ELECTRIC CO., LTD.; HISENSE INTERNATIONAL CO., LTD.
G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,318,345
App. No.
14/691,512
Granted
Jun 11, 2019
Kind
B2
Abstract

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.

Claims (43)

1. A method for dynamic queue placement for a processor of a computing device, the method comprising:

receiving, by a computing device, a plurality of items for processing by the computing device, wherein each item received by the computing device is associated with a priority type;

determining a computed code, by the computing device, for the plurality of items, wherein the computed code is determined to assign a processing order in a queue for each of the plurality of items wherein the computed code is based on

a timeout period for a lowest priority item of the plurality of items, wherein the timeout period is a maximum time interval for delaying a lowest priority item, and

a safety margin interval of each of the plurality of items, the safety margin interval including a time period for processing an item;

determining an adjustment value to provide for items having the same maximum time interval and safety margin interval; and

placing the plurality of items into the queue, by the computing device, based on the computed code and the adjustment value of each item determined by the computing device.

2. The method of claim 1 , wherein items received by the computing device relate to one or more of a task, request, and process to be executed by a processor of the computing device.

3. The method of claim 1 , wherein each item is associated with one of a low priority, medium priority and high priority.

4. The method of claim 1 , wherein the computed code for each item determines a relative time frame to be determined for each received item, the relative time frame indicating a time interval to process the item, and wherein the computed code provides a length of time that higher priority items can safely preempt lower priority items, after being adjusted by a safety margin interval.

5. The method of claim 1 , wherein the computed code is determined relative to a computer time based on a universal time that is associated with a predetermined future time value.

6. The method of claim 1 , wherein the plurality of items for processing are placed in the queue based on the computed code such that items with a shortest computed time are computed first.

7. The method of claim 1 , wherein the timeout period corresponds to one of negative, zero and positive values.

8. The method of claim 1 , wherein the adjustment value is determined based on a difference between the maximum time interval and a safety margin interval, the safety margin interval including a time period for processing an item.

9. The method of claim 1 , wherein the computed code is based on a time system with unsigned values and the computed code is upshifted by a constant factor to ensure all values are adjusted.

10. The method of claim 1 , wherein items with duplicate computed code values are supported by the queue.

11. A device comprising:

an input/output block for receiving one or more items; and

a processor configured to

receive a plurality of items for processing, wherein each item received by the computing device is associated with a priority type;

determine a computed code for the plurality of items, wherein the computed code is determined to assign a processing order in a queue for each of the plurality of items wherein the computed code is based on

a timeout period for a lowest priority item of the plurality of items, wherein the timeout period is a maximum time interval for delaying a lowest priority item, and

a safety margin interval of each of the plurality of items, the safety margin level including a time period for processing an item;

determine an adjustment value to provide for items having the same maximum time interval and safety margin interval; and

place the plurality of items into the queue based on the computed code and the adjustment value of each item determined by the computing device.

12. The device of claim 11 , wherein items received by the computing device relate to one or more of a task, request, and process to be executed by a processor of the computing device.

13. The device of claim 11 , wherein each item is associated with one of a low priority, medium priority and high priority.

14. The device of claim 11 , wherein the computed code for each item determines a relative time frame to be determined for each received item, the relative time frame indicating a time interval to process the item, and wherein the computed code provides a length of time that higher priority items can safely preempt lower priority items, after being adjusted by a safety margin interval.

15. The device of claim 11 , wherein the computed code is determined relative to a computer time based on a universal time that is associated with a predetermined future time value.

16. The device of claim 11 , wherein the plurality of items for processing are placed in the queue based on the computed code such that items with a shortest computed time are computed first.

17. The device of claim 11 , wherein the timeout period corresponds to one of negative, zero and positive values.

18. The device of claim 11 , wherein the adjustment value is determined based on a difference between the maximum time interval and a safety margin interval, the safety margin interval including a time period for processing an item.

19. The device of claim 11 , wherein the computed code is for use with a time system with unsigned values and the computed code is upshifted by a constant factor to ensure all values are adjusted.

20. The device of claim 11 , wherein items with duplicate code values are supported by the queue.

21. A method for dynamic queue placement for a processor of a computing device, the method comprising:

receiving, by a processor of a computing device, a plurality of items for processing by the computing device, wherein each item received by the processor is associated with a priority type, and wherein the plurality of items received by the processor relate to one or more of a task, request, and process to be executed by the processor of the computing device;

determining a computed code, by the processor, for the plurality of items, wherein the computed code is determined to assign a processing order in a queue for each of the plurality of items wherein the computed code is based on

a timeout period for a lowest priority item of the plurality of items, wherein the timeout period is a maximum time interval for delaying a lowest priority item, and

a safety margin interval of each of the plurality of items, the safety margin interval including a time period for processing an item;

determining an adjustment value, by the processor, to provide for items having the same maximum time interval and safety margin interval;

placing, by the processor, the plurality of items into the queue based on the computed code and the adjustment value of each item determined by the computing device;

processing, by the processor, items in the queue based on processing order of the computed codes; and

updating, by the processor, the queue based on one or more additional items received for processing.

Assignments (6)
CHANGE OF NAME Recorded Dec 3, 2021
From: MAXELL HOLDINGS, LTD.
To: MAXELL, LTD.
Reel/Frame 058666/0407 →
MERGER Recorded Nov 29, 2021
From: MAXELL, LTD.
To: MAXELL HOLDINGS, LTD.
Reel/Frame 058255/0579 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2021
From: HISENSE VISUAL TECHNOLOGY CO., LTD.
To: MAXELL, LTD.
Reel/Frame 056681/0441 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2021
From: HISENSE USA CORP.; HISENSE INTERNATIONAL CO., LTD.
To: HISENSE VISUAL TECHNOLOGY CO., LTD.
Reel/Frame 056371/0391 →
CHANGE OF NAME Recorded May 27, 2021
From: HISENSE ELECTRIC CO., LTD.
To: HISENSE VISUAL TECHNOLOGY CO., LTD.
Reel/Frame 056408/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2015
From: STRINGER, ROGER
To: HISENSE USA CORP.; HISENSE ELECTRIC CO., LTD.; HISENSE INTERNATIONAL CO., LTD.
Reel/Frame 035469/0041 →
Continuity (1)
Related Publication 20160306657A1 · Oct 20, 2016