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;
in response to the one or more first requests, placing the plurality of operations in a corresponding first plurality of positions within the queue;
after the plurality of operations have been placed in the queue and before receiving one or more priority-change messages for the plurality of operations, providing, to the operation requester, information about operations, within the queue, that have been requested by the operation requester;
wherein providing the information includes providing, to the operation requester, a current priority designation for each of the plurality of 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, the 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 an 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.
7 Citations
24 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; in response to the one or more first requests, placing the plurality of operations in a corresponding first plurality of positions within the queue; after the plurality of operations have been placed in the queue and before receiving one or more priority-change messages for the plurality of operations, providing, to the operation requester, information about operations, within the queue, that have been requested by the operation requester; wherein providing the information includes providing, to the operation requester, a current priority designation for each of the plurality of 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, the 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 an 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. A non-transitory 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; in response to the one or more first requests, placing the plurality of operations in a corresponding first plurality of positions within the queue; after the plurality of operations have been placed in the queue and before receiving one or more priority-change messages for the plurality of operations, providing, to the operation requester, information about operations, within the queue, that have been requested by the operation requester; wherein providing the information includes providing, to the operation requestor, a current priority designation for each of the plurality of 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 an 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 (11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
one or more processors; and a non-transitory computer-readable medium storing instructions executable by the one or more processors to perform 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; in response to the one or more first requests, placing the plurality of operations in a corresponding first plurality of positions within the queue; after the plurality of operations have been placed in the queue and before receiving one or more priority-change messages for the plurality of operations, providing, to the operation requester, information about operations, within the queue, that have been requested by the operation requester; wherein providing the information includes providing, to the operation requester, a current priority designation for each of the plurality of 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, the 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 an initial priority designation; and 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. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification