×

Multi-tenant throttling approaches

  • US 9,413,680 B1
  • Filed: 09/26/2012
  • Issued: 08/09/2016
  • Est. Priority Date: 09/26/2012
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of managing access to shared resources in a multi-tenant environment, comprising:

  • receiving, by one or more computer systems comprising at least a processor and a non-transitory storage medium storing code executable by the processor, a request associated with a customer, the request requesting an amount of usage of at least one shared resource;

    determining, by the processor of the one or more computer systems, a threshold amount based at least in part on an available amount of the at least one shared resource;

    comparing the amount of usage in the request to the threshold;

    when the amount of usage in the request exceeds the threshold, delaying processing of the request;

    when the amount of usage in the request is below the threshold, charging a number of tokens for the amount of usage against a global token bucket stored in the one or more computer systems, the tokens in the global token bucket associated with a unit of usage by a plurality of users in the multi-tenant environment;

    determining, by the one or more computer systems, a customer fill rate based at least in part upon a current fill level of the global token bucket, the customer fill rate indicating a rate associated with the customer at which a customer token bucket is filled with tokens, the customer fill rate being set to a maximum rate value when the current fill level is at or above a global maximum threshold and being set to a minimum rate value when the current fill level is at or below a global minimum threshold;

    determining a portion of the number of tokens for the request to be charged against the customer token bucket based at least in part upon the customer fill rate and a token utilization rate, the token utilization rate indicating a rate at which the customer utilizes the tokens for usage of the at least one shared resource, wherein the portion of the number of tokens is an improvement over the token utilization rate;

    charging the portion of the number of tokens against the customer token bucket; and

    allowing the usage of the at least one shared resource for the request when the number of tokens at least meeting the portion of the number of tokens for the request is available in the customer token bucket.

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