×

Calculating priority indicators for requests in a queue

  • US 8,924,981 B1
  • Filed: 11/12/2010
  • Issued: 12/30/2014
  • Est. Priority Date: 11/12/2010
  • Status: Active Grant
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.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×