Method and apparatus for preventing overload using scaled recovery
First Claim
Patent Images
1. A method comprising:
- attempting by a client to access a shared resource;
detecting by the client that the shared resource is unavailable;
determining by the client a first back off interval for the client to delay before reattempting to access the shared resource;
successfully accessing the shared resource by the client, upon expiration of the first back off interval; and
determining by the client, based on the successful access of the shared resource by the client, a second back off interval for the client to delay before reattempting to access the shared resource after said successful access, wherein the second back off interval is based at least in part on the number of unsuccessful attempts by the client prior to the successful access and/or on the determined first back off interval.
4 Assignments
0 Petitions
Accused Products
Abstract
In the scaled recovery system of the present invention, clients delay for an additional period of time prior to attempting to access a previously unavailable resource that has since become available, rather than accessing the shared resource at full speed once an initial back off interval is over. Through the continual increment and decrement of client back off intervals, the present invention provides dynamic tuning of overall system load in the case of overloaded shared resources.
-
Citations
38 Claims
-
1. A method comprising:
-
attempting by a client to access a shared resource; detecting by the client that the shared resource is unavailable; determining by the client a first back off interval for the client to delay before reattempting to access the shared resource; successfully accessing the shared resource by the client, upon expiration of the first back off interval; and determining by the client, based on the successful access of the shared resource by the client, a second back off interval for the client to delay before reattempting to access the shared resource after said successful access, wherein the second back off interval is based at least in part on the number of unsuccessful attempts by the client prior to the successful access and/or on the determined first back off interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
-
a storage medium having stored therein a plurality of programming instructions for facilitating the apparatus in attempting to access a shared resource, detecting that the shared resource is unavailable, determining by a client a first back off interval for the client to delay before reattempting access to the shared resource, successfully accessing the shared resource upon expiration of the first back off interval, and determining by the client, based on the successful access of the shared resource by the client, a second back off interval for the client to delay before reattempting access to the shared resource after said successful access, wherein the programming instructions facilitate a determination of a second back off interval based at least in part on the number of unsuccessful attempts by the client prior to the successful access and/or on the determined first back off interval; and one or more processors coupled to the storage medium to execute the programming instructions. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
- 18. A non-transitory machine accessible medium having stored therein a plurality of programming instructions for facilitating a client in attempting to access a shared resource, detecting by the client that the shared resource is unavailable, determining by the client a first back off interval for the client to delay before reattempting access to the shared resource, successfully accessing the shared resource by the client upon expiration of the first back off interval, and determining by the client, based on the successful access of the shared resource by the client, a second back off interval for the client to delay before reattempting access to the shared resource after said successful access, wherein the programming instructions facilitate the client in determining the second back off interval based at least in part on the number of unsuccessful attempts by the client prior to the successful access and/or on the determined first back off interval.
-
19. A method comprising:
-
detecting by a client that a shared resource is unavailable; determining by the client a first time period for the client to delay before attempting to access the shared resource; upon expiration of the first time period, determining a new first time period for the client to delay before attempting to access the shared resource if the shared resource remains unavailable, and determining by the client, based on a successful access of the shared resource by the client, a second time period for the client to delay before reattempting to access the shared resource after the successful access of the shared resource by the client, wherein the second time period is based at least in part on the number of unsuccessful attempts by the client prior to the successful access, on the determined first time period and/or on the determined new first time period. - View Dependent Claims (22)
-
-
20. A system comprising:
-
a system bus; a processor; an access module coupled to the system bus, and operated by the processor to access a shared resource; and a determination module operated by the processor to determine a first back off interval, based on an unsuccessful attempt to access the shared resource, for the access module to delay before reattempting access to the shared resource, and a second back off interval for the access module to delay before reattempting access to the shared resource after said successful access, the second back off interval being determined based on the successful access of the shared resource by the access module and based at least in art on the number of unsuccessful attempts by the client prior to the successful access and/or on the determined first back off interval. - View Dependent Claims (23)
-
-
24. A method comprising:
-
attempting by a client operated by a computing device to access a shared resource; detecting by the client that the shared resource is unavailable; determining by the client a first back off interval for the client to delay before reattempting to access the shared resource; successfully accessing the shared resource by the client, upon expiration of the first back off interval; and determining by the client, based on the successful access of the shared resource by the client, a second back off interval for the client to delay before reattempting to access the shared resource after said successful access, wherein the second back off interval is based at least in part on the number of unsuccessful attempts by the client prior to the successful access, or the determined first back off interval. - View Dependent Claims (25, 26, 27, 28, 29, 38)
-
-
30. An article of manufacture including a non-transitory computer-readable medium having instructions stored thereon that, if executed by a computing device, cause the computing device to perform a method comprising:
-
attempting by a computing device to access a shared resource; detecting by the computing device that the shared resource is unavailable; determining by the computing device a first back off interval for the computing device to delay before reattempting to access the shared resource; successfully accessing the shared resource by the computing device, upon expiration of the first back off interval; and determining by the computing device, based on the successful access of the shared resource by the computing device, a second back off interval for the computing device to delay before reattempting to access the shared resource after said successful access, wherein the second back off interval is based at least in part on the number of unsuccessful attempts by the computing device prior to the successful access, or the determined first back off interval.
-
-
31. A method comprising:
-
detecting by a computing device that a shared resource is unavailable; determining by the computing device a first time period for the computing device to delay before attempting to access the shared resource; upon expiration of the first time period, determining a new first time period for the computing device to delay before attempting to access the shared resource if the shared resource remains unavailable, and determining by the computing device, based on a successful access of the shared resource by the computing device, a second time period for the computing device to delay before reattempting to access the shared resource after the successful access of the shared resource by the computing device, wherein the second time period is based at least in part on the number of unsuccessful attempts by the computing device prior to the successful access, the determined first time period, or the determined new first time period. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
Specification