×

Prioritized throttling in a multiusage environment

  • US 9,992,301 B2
  • Filed: 06/26/2013
  • Issued: 06/05/2018
  • Est. Priority Date: 06/26/2013
  • Status: Active Grant
First Claim
Patent Images

1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

  • applying one or more prioritization criteria to assign a priority ranking to each of a plurality of server processes being executed by a backend server;

    quantifying a utilization of the backend server by a plurality of server demands, the plurality of server demands comprising the plurality of server processes being executed by the backend server;

    first determining that the quantified utilization of the backend server has reached or exceeded one or more determined limits on backend utilization;

    throttling, in response to the first determining, at least a lowest priority server process of the plurality of server processes based on a first throttling parameter of one or more throttling parameters, wherein the throttling comprises allocating a first nonzero amount of one or more resources of the backend server to the lowest priority server process, wherein the first nonzero amount is smaller than a first amount of the one or more resources allocated to the lowest priority server process before throttling, and wherein the first throttling parameter is based on a utilization metric of the backend server with the lowest priority server process comprising a longest duration of utilization of the backend server;

    assigning, in response to the throttling of at least the lowest priority server process, a different priority ranking to each of the plurality of server processes;

    second determining, in response to the throttling of at least the lowest priority server process, whether a current utilization of the backend server is still at or above the one or more determined limits on backend utilization, wherein the different priority ranking is assigned based on whether a server process of the plurality of server processes has been throttled within a certain time period prior to the second determining; and

    throttling, in response to the second determining and when the current utilization of the backend server is still at or above the one or more determined limits on backend utilization after the second determining, a next to lowest priority server process of the plurality of server processes by allocating a second nonzero amount of the one or more resources to the next to lowest priority server process, the throttling of the next to lowest priority server process based on a second throttling parameter of the one or more throttling parameters, wherein the second nonzero amount is smaller than a second amount of the one or more resources allocated to the next to lowest priority server process before throttling, wherein the next to lowest priority server process is determined based on the different priority ranking assigned to each of the plurality of server processes.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×