USRE43011EExpiredUtility

Method and apparatus for preventing overload using scaled recovery

59
Assignee: ZATLOUKAL PETERPriority: Apr 4, 2001Filed: Jul 2, 2009Granted: Dec 6, 2011
Est. expiryApr 4, 2021(expired)· nominal 20-yr term from priority
H04L 9/40H04L 67/62H04L 69/329H04L 69/28
59
PatentIndex Score
1
Cited by
15
References
38
Claims

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.

Claims

exact text as granted — not AI-modified
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. 
 
     
     
       2. The method of  claim 1 , wherein said second back off interval is less in duration than said first back off interval. 
     
     
       3. The method of  claim 2 , further comprising:
 successively determining additional back off intervals upon each successful access of the shared resource by the client, without regard to availability of the shared resource, each of said successive back off intervals being less in duration than each previous back off interval. 
 
     
     
       4. The method of  claim 1 , wherein said attempting to access a shared resource comprises attempting to access a server device coupled to the client. 
     
     
       5. The method of  claim 1 , wherein said attempting to access a shared resource further comprises attempting to access a shared network. 
     
     
       6. The method of  claim 5 , wherein said shared network further comprises an Ethernet network. 
     
     
       7. The method of  claim 5 , wherein said shared network further comprises a wireless network. 
     
     
       8. The method of  claim 1 , wherein said attempting to access a shared resource further comprises attempting to access a data bus. 
     
     
       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. 
 
     
     
       10. The apparatus of  claim 9 , wherein said second back off interval is less in duration than said first back off interval. 
     
     
       11. The apparatus of  claim 10 , further comprising:
 programming instructions to further facilitate the apparatus in successively determining additional back off intervals without regard to availability of the share resource upon each successful access of the shared resource by the client, each of said successive back off intervals being less in duration than each previous back off interval. 
 
     
     
       12. The apparatus of  claim 9 , wherein said shared resource comprises a server device coupled to the client. 
     
     
       13. The apparatus of  claim 9 , wherein said shared resource comprises a shared network. 
     
     
       14. The apparatus of  claim 13 , wherein said shared network comprises an Ethernet network. 
     
     
       15. The apparatus of  claim 13 , wherein said shared network comprises a wireless network. 
     
     
       16. The apparatus of  claim 9 , wherein said shared resource comprises a data bus. 
     
     
       17. The apparatus of  claim 9 , further comprising:
 a counter to determine how many unsuccessful access attempts of the shared resource have been made by the client, wherein the counter value is not reset to zero upon the client successfully accessing the shared resource. 
 
     
     
       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. 
 
     
     
       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. 
 
     
     
       21. The non-transitory machine accessible medium of  claim 18 , wherein the programming instructions are adapted to further configured to facilitate the client in successively determining additional back off intervals, upon each successful access of the shared resource by the client, each of said successive back off intervals being less in duration than each previous back off interval. 
     
     
       22. The method of  claim 19 , further comprising successively determining additional back off intervals, upon each successful access of the shared resource by the client, each of said successive back off intervals being less in duration than each previous back off interval. 
     
     
       23. The system of  claim 20 , wherein the determination module is further adapted configured to successively determine additional back off intervals for the access module, upon each successful access of the shared resource, each of said successive back off intervals being less in duration than each previous back off interval. 
     
     
       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.  
   
     
     
       25. The method of claim 24, wherein the shared resource is a wireless medium and the computing device is a wireless device.  
     
     
       26. The method of claim 24, wherein the shared resource is a networking medium and the computing device is a networking device.  
     
     
       27. The method of claim 24, wherein the shared resource is a local bus of the computing device and the client is a bus agent.  
     
     
       28. The method of claim 24, wherein the shared resource is a data/content server and the computing device is a data/content consuming agent.  
     
     
       29. The method of claim 24, wherein the client is a downloaded application.  
     
     
       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.    
     
     
       32. The method of claim 31, wherein said second time period is less in duration than said first time period.  
     
     
       33. The method of claim 31, wherein a duration of the new first time period and any successive first time periods are progressively incremented after further unsuccessful attempts to access the shared resource.  
     
     
       34. The method of claim 31, further comprising:
 successively determining additional time periods upon each successful access of the shared resource by the computing device, each of said successive additional time periods being less in duration than each such previous time period.    
     
     
       35. The method of claim 31, wherein a duration of the first time period and any successive first time periods are progressively incremented at a rate after further unsuccessful attempts to access the shared resource, the method further comprising:
 successively determining additional time periods upon each successful access of the shared resource by the computing device, each of said successive additional time periods being less in duration than each such previous time period; and   decrementing the additional time periods at the same rate as the first time periods were incremented.    
     
     
       36. The method of claim 31, wherein the computing device is a wireless device.  
     
     
       37. The method of claim 31, wherein the computing device is a cell phone, a personal digital assistant, a laptop computer, or a desktop computer.  
     
     
       38. The method of claim 25, wherein the wireless device is a cell phone, a personal digital assistant, a laptop computer, or a desktop computer.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.