Calculating priority indicators for requests in a queue
First Claim
Patent Images
1. A method for use in a database system, comprising:
- receiving, in the database system including at least one processor, requests to be executed in the database system;
providing, in the database system, a plurality of the requests in at least one queue, the plurality of the requests including preemptive requests and timeshare requests;
calculating, in the database system, first priority indicators for assignment to corresponding ones of the preemptive requests in the at least one queue, wherein the first priority indicators are calculated based on delay times, estimated execution times, and predefined priority levels of corresponding ones of the preemptive requests;
calculating, in the database system, second priority indicators for assignment to corresponding ones of the timeshare requests, wherein the second priority indicators are calculated in a different manner from the first priority indicators and are based on delay times and predefined priority levels of corresponding ones of the timeshare requests;
executing the plurality of the requests from the at least one queue in an order according to the calculated first and second priority indicators, wherein executing the timeshare requests comprises;
selecting, based on the calculated second priority indicators, a highest priority one of the timeshare requests for execution; and
selecting another of the timeshare requests to execute with the selected highest priority timeshare request, wherein selecting the another timeshare request is based on a determination that the another timeshare request shares resources by greater than some predefined amount with the selected highest priority timeshare request;
monitoring, in the database system, progress of execution of a particular one of the plurality of the requests;
adjusting, in the database system, resource estimates for the particular request based on the monitored progress, wherein the resource estimates include estimates of usage of at least one resource in the database system; and
based on the adjusted resource estimates, adjusting, in the database system, a priority setting of the particular request to affect the execution of the particular request.
1 Assignment
0 Petitions
Accused Products
Abstract
Requests to be executed in the database system are received, where a plurality of the requests are provided in a queue for later execution. Priority indicators are calculated for assignment to corresponding ones of the plurality of requests in the queue, where the priority indicators are calculated based on delay times and predefined priority levels of the requests. The requests in the queue are executed in order according to the calculated priority indicators.
119 Citations
17 Claims
-
1. A method for use in a database system, comprising:
-
receiving, in the database system including at least one processor, requests to be executed in the database system; providing, in the database system, a plurality of the requests in at least one queue, the plurality of the requests including preemptive requests and timeshare requests; calculating, in the database system, first priority indicators for assignment to corresponding ones of the preemptive requests in the at least one queue, wherein the first priority indicators are calculated based on delay times, estimated execution times, and predefined priority levels of corresponding ones of the preemptive requests; calculating, in the database system, second priority indicators for assignment to corresponding ones of the timeshare requests, wherein the second priority indicators are calculated in a different manner from the first priority indicators and are based on delay times and predefined priority levels of corresponding ones of the timeshare requests; executing the plurality of the requests from the at least one queue in an order according to the calculated first and second priority indicators, wherein executing the timeshare requests comprises; selecting, based on the calculated second priority indicators, a highest priority one of the timeshare requests for execution; and selecting another of the timeshare requests to execute with the selected highest priority timeshare request, wherein selecting the another timeshare request is based on a determination that the another timeshare request shares resources by greater than some predefined amount with the selected highest priority timeshare request; monitoring, in the database system, progress of execution of a particular one of the plurality of the requests; adjusting, in the database system, resource estimates for the particular request based on the monitored progress, wherein the resource estimates include estimates of usage of at least one resource in the database system; and based on the adjusted resource estimates, adjusting, in the database system, a priority setting of the particular request to affect the execution of the particular request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A database system comprising:
-
at least one processor; at least one delay queue; a workload management subsystem executable on the at least one processor to; provide delayed requests in the at least one delay queue, the delayed requests including preemptive requests and timeshare requests; calculate, based on delay times, execution times, and predefined priority levels of the respective preemptive requests, first priority indicators for corresponding ones of the preemptive requests, wherein the predefined priority levels include service level goals of corresponding ones of the preemptive requests;
calculate, based on delay times and predefined priority levels of the respective timeshare requests, second priority indicators for corresponding ones of the timeshare requests, the second priority indicators calculated in a different manner from the first priority indicators;schedule, for execution, the delayed requests in the at least one delay queue according to an order defined by the calculated first and second priority indicators, wherein scheduling of the timeshare requests comprises; selecting, based on the second priority indicators, a highest priority one of the timeshare requests for execution; and selecting another of the timeshare requests to execute with the selected highest priority timeshare request, wherein selecting the another timeshare request is based on a determination that the another timeshare request shares resources by greater than some predefined amount with the selected highest priority timeshare request wherein the workload management subsystem includes a regulator to; monitor progress of execution of a particular one of the delayed requests; adjust resource estimates for the particular delayed request based on the monitored progress, wherein the resource estimates include estimates of usage of at least one resource in the database system; and based on the adjusted resource estimates, adjust a priority setting of the particular delayed request to allow the particular delayed request to satisfy the corresponding service level goal. - View Dependent Claims (11, 12, 13)
-
-
14. An article comprising at least one non-transitory machine-readable storage medium storing instructions that upon execution cause a database system having at least one processor to:
-
receive requests to be executed in the database system; provide a plurality of the requests in at least one queue, the plurality of the requests including preemptive requests and timeshare requests; calculate first priority indicators for assignment to corresponding ones of the preemptive requests in the at least one queue, wherein the first priority indicators are calculated based on delay times, execution times, and predefined priority levels of corresponding ones of the preemptive requests; calculate second priority indicators for assignment to corresponding ones of the timeshare requests, wherein the second priority indicators are calculated in a different manner from the first priority indicators and are based on delay times and predefined priority levels of corresponding ones of the timeshare requests; execute the plurality of the requests from the at least one queue in an order according to the calculated first and second priority indicators, wherein executing the timeshare requests comprises; selecting, based on the calculated second priority indicators, a highest priority one of the timeshare requests for execution; and selecting another of the timeshare requests to execute with the selected highest priority timeshare request, wherein selecting the another timeshare request is based on a determination that the another timeshare request shares resources by greater than some predefined amount with the selected highest priority timeshare request; monitor progress of execution of a particular one of the plurality of the requests; adjust resource estimates for the particular request based on the monitored progress, wherein the resource estimates include estimates of usage of at least one resource in the database system; and based on the adjusted resource estimates, adjust a priority setting of the particular request to affect the execution of the particular request. - View Dependent Claims (15, 16, 17)
-
Specification