IP Library Granted Patent US 10,218,813
Granted Patent B2
US 10,218,813 · App. 15/420,226 · Granted Feb 26, 2019

Automatic surge protection of system resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,218,813
App. No.
15/420,226
Granted
Feb 26, 2019
Kind
B2
Abstract

A method for the managing access to a software resource is disclosed. The method may include receiving, from a particular consumer, a request for a number of permits corresponding to units of a software resource. The numbers of permits may be compared to a total number of available permits. In response to determining that the number of permits is greater than the total number of available permits, rejecting the request in response to determining the number of permits requested is within a threshold value of permits requested by another consumer who has requested the largest number of permits in a preceding time period.

Claims (40)

1. A method, comprising:

receiving, by a computer system, at a current time point, a request for a first number of permits from a particular consumer of a plurality of consumers, wherein each permit corresponds to a specified portion of a software resource;

comparing the requested number of permits to a total number of available permits; and

in response to determining that the requested first number of permits is greater than the total number of available permits:

determining that a different consumer of the plurality of consumers was granted a third number of permits during a period of time to the current time point, wherein the third number of permits is the largest number of permits granted to one of the plurality of consumers during the period of time;

comparing a second number of permits granted to the particular consumer during the period of time to the third number of permits granted to the different consumer during the period of time prior to the current time point;

rejecting access to the software resource by the particular consumer based on a comparison of a difference between the second number of permits and the third number of permits to a threshold value.

2. The method of claim 1 , further comprising:

receiving, by the computer system, at the current time point, a request for a fourth number of permits from another consumer of the plurality of consumers; and

in response to determining the requested fourth number of permits is greater than the total number of available permits, granting access to the software resource to the another consumer in response to determining that the difference between the fourth and third number of permits is greater than the threshold value.

3. The method of claim 1 , further comprising, granting access to the software resource by the particular consumer in response to determining the particular consumer has been previously identified as having unrestricted access to the software resource.

4. The method of claim 1 , further comprising, rejecting access to the software resource by the particular consumer in response to determining the number of permits is greater than a burst threshold value.

5. The method of claim 1 , further comprising, in response to receiving the request for the number of permits, updating an activity record associated with the particular consumer that includes a plurality of data points, wherein each data point of the plurality of data points includes a number of granted permits, and a time at which the number of granted permits was granted.

6. The method of claim 5 , wherein updating the activity record includes deleting a particular data point of the plurality of data points in response to determining the time at which the number of granted permits included in the particular data point is older than an oldest time point of the period of time prior to the current time point.

7. A non-transitory computer-accessible storage medium having program instructions stored therein that, in response to execution by a computer system including one or more computers, cause the computer system to perform operations including:

receiving, by a computer system, at a current time point, a request for a first number of permits from a particular consumer of a plurality of consumers, wherein each permit corresponds to a specified portion of a software resource;

comparing the requested first number of permits to a total number of available permits; and

in response to determining that the requested first number of permits is greater than the total number of available permits:

determining that a different consumer of the plurality of consumers was granted a third number of permits during a period of time to the current time point, wherein the third number of permits is the largest number of permits granted to one of the plurality of consumers during the period of time;

comparing a second number of permits granted to the particular consumer during the period of time to the third number of permits granted to the different consumer during the period of time prior to the current time point;

rejecting access to the software resource by the particular consumer based on a comparison of a difference between the second number of permits and the third number of permits to a threshold value.

8. The non-transitory computer-accessible storage medium of claim 7 , wherein the operations further include granting access to the software resource by the particular consumer in response to determining the particular consumer has been previously identified as having unrestricted access to the software resource.

9. The non-transitory computer-accessible storage medium of claim 7 , wherein the operations further include rejecting access to the software resource by the particular consumer in response to determining the number of permits is greater than a burst threshold value.

10. The non-transitory computer-accessible storage medium of claim 7 , wherein the operations further include, in response to receiving the request for the number of permits, updating an activity record associated with the particular consumer that includes a plurality of data points, wherein each data point of the plurality of data points includes a number of granted permits, and a time at which the number of granted permits was granted.

11. The non-transitory computer-accessible storage medium of claim 10 , wherein updating the activity record includes deleting a particular data point of the plurality of data points in response to determining the time at which the number of granted permits included in the particular data point is older than an oldest time point of the period of time prior to the current time point.

12. The non-transitory computer-accessible storage medium of claim 7 , wherein the operations further include rejecting access to the software resource by the particular consumer in response to determining available storage in a memory structure associated with the software resource is less than a storage threshold value.

13. The non-transitory computer-accessible storage medium of claim 7 , wherein the resource unit of the software resource corresponds to a character included in a log file.

14. A method, comprising:

receiving, by a computer system, at a current time point, a request for a first number of permits from a particular consumer of a plurality of consumers, wherein each permit corresponds to a specified portion of a software resource;

comparing the requested first number of permits to a total number of available permits; and

in response to determining that the requested first number of permits is greater than the total number of available permits:

determining that a different consumer of the plurality of consumers was granted a third number of permits during a period of time to the current time point, wherein the third number of permits is the largest number of permits granted to one of the plurality of consumers during the period of time;

comparing a second number of permits granted to the particular consumer during the period of time to the third number of permits granted to the different consumer during the period of time prior to the current time point;

in response to determining that a difference between the second number of permits and the third number of permits is less than a threshold value, rejecting access to the software resource by the particular consumer.

15. The method of claim 14 , wherein the operations further include granting access to the software resource by the particular consumer in response to determining the particular consumer has been previously identified as having unrestricted access to the software resource.

16. The method of claim 14 , wherein the operations further include rejecting access to the software resource by the particular consumer in response to determining the number of permits is greater than a burst threshold value.

17. The method of claim 14 , wherein the operations further include, in response to receiving the request for the number of permits, updating an activity record associated with the particular consumer that includes a plurality of data points, wherein each data point of the plurality of data points includes a number of granted permits, and a time at which the number of granted permits was granted.

18. The method of claim 17 , wherein updating the activity record includes deleting a particular data point of the plurality of data points in response to determining the time at which the number of granted permits included in the particular data point is older than an oldest time point of the period of time prior to the current time point.

19. The method of claim 14 , wherein the operations further include rejecting access to the software resource by the particular consumer in response to determining available storage in a memory structure associated with the software resource is less than a storage threshold value.

20. The method of claim 14 , wherein the resource unit of the software resource corresponds to a character included in a log file.

Assignments (3)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0164 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2017
From: DOWNS, TRAVIS
To: SALESFORCE.COM, INC.
Reel/Frame 043747/0932 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2017
From: PESCHANSKY, OLGA; DUVUR, SREERAM
To: SALESFORCE.COM, INC.
Reel/Frame 041130/0325 →
Cited By (1)
US 12,360,760