DYNAMIC PRIORITY QUEUING
First Claim
1. A method for scheduling operations, comprising:
- maintaining a queue of to-be-executed operations, wherein the to-be-executed operations are executed in an order based on relative positions of the to-be-executed operations within the queue;
receiving, from an operation requester, one or more first requests for execution of a plurality of operations;
wherein each operation of the plurality of operations has an initial priority designation specified by the operation requester in the one or more first requests;
in response to the one or more first requests, placing the plurality of operations in a corresponding first plurality of positions within the queue;
wherein the first plurality of positions are selected based at least in part on the initial priority designations of the corresponding operations;
after the plurality of operations have been placed in the queue and before the plurality of operations have been executed, receiving, from the operation requester, one or more priority-change messages for the plurality of operations;
wherein each operation of the plurality of operations has a second priority designation specified by the operation requester in the one or more priority-change messages;
wherein, for at least one operation of the plurality of operations, the second priority designation is different than the initial priority designation;
in response to the one or more priority-change messages that indicate a different priority for the at least one operation, changing the position, within the queue, of said least one operation;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for dynamically re-ordering operation requests that have previously been submitted to a queue management unit. After the queue management unit has placed multiple requests in a queue to be executed in an order that is based on priorities that were assigned to the operations, the entity that requested the operations (the “requester”) sends one or more priority-change messages. The one or more priority-change messages include requests to perform operations that have already been queued. For at least one of the operations, the priority assigned to the operation in the subsequent request is different from the priority that was assigned to the same operation when that operation was initially queued for execution. Based on the change in priority, the operation whose priority has change is placed at a different location in the queue, relative to the other operations in the queue that were requested by the same requester.
-
Citations
22 Claims
-
1. A method for scheduling operations, comprising:
-
maintaining a queue of to-be-executed operations, wherein the to-be-executed operations are executed in an order based on relative positions of the to-be-executed operations within the queue; receiving, from an operation requester, one or more first requests for execution of a plurality of operations; wherein each operation of the plurality of operations has an initial priority designation specified by the operation requester in the one or more first requests; in response to the one or more first requests, placing the plurality of operations in a corresponding first plurality of positions within the queue; wherein the first plurality of positions are selected based at least in part on the initial priority designations of the corresponding operations; after the plurality of operations have been placed in the queue and before the plurality of operations have been executed, receiving, from the operation requester, one or more priority-change messages for the plurality of operations; wherein each operation of the plurality of operations has a second priority designation specified by the operation requester in the one or more priority-change messages; wherein, for at least one operation of the plurality of operations, the second priority designation is different than the initial priority designation; in response to the one or more priority-change messages that indicate a different priority for the at least one operation, changing the position, within the queue, of said least one operation; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 22)
-
-
12. A computer-readable storage storing instructions for scheduling operations, said instructions including instructions which, when executed by one or more processors, cause:
-
maintaining a queue of to-be-executed operations, wherein the to-be-executed operations are executed in an order based on relative positions of the to-be-executed operations within the queue; receiving, from an operation requester, one or more first requests for execution of a plurality of operations; wherein each operation of the plurality of operations has an initial priority designation specified by the operation requester in the one or more first requests; in response to the one or more first requests, placing the plurality of operations in a corresponding first plurality of positions within the queue; wherein the first plurality of positions are selected based at least in part on the initial priority designations of the corresponding operations; after the plurality of operations have been placed in the queue and before the plurality of operations have been executed, receiving, from the operation requester, one or more priority-change messages for the plurality of operations; wherein each operation of the plurality of operations has a second priority designation specified by the operation requester in the one or more priority-change messages; wherein, for at least one operation of the plurality of operations, the second priority designation is different than the initial priority designation; in response to the one or more priority-change messages that indicate a different priority for the at least one operation, changing the position, within the queue, of said least one operation; wherein the method is performed by one or more computing devices. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for scheduling operations, comprising:
-
sending, from on operation requestor to a queue management unit, one or more first requests for execution of a plurality of operations to cause the queue management unit to place the plurality of operations in a corresponding first plurality of positions within a queue; wherein to-be-executed operations in the queue are executed in an order based on relative positions of the to-be-executed operations within the queue; wherein each operation of the plurality of operations has an initial priority designation specified by the operation requester in the one or more first requests; wherein the first plurality of positions are selected by the queue management unit based at least in part on the initial priority designations of the corresponding operations; after sending the one or more first requests, the operation requestor sending to the queue management unit one or more priority-change messages for execution of the plurality of operations; wherein each operation of the plurality of operations has a second priority designation specified by the operation requester in the one or more priority-change messages; wherein, for at least one operation of the plurality of operations, the second priority designation is different than the initial priority designation; wherein the one or more priority-change messages cause the queue management unit to change the position, within the queue, of said least one operation; wherein the method is performed by one or more computing devices.
-
Specification