Asynchronous cache refresh for systems with a heavy load
First Claim
Patent Images
1. A method comprising:
- locating, by a computing system, a data entry in a cache in response to a first request to access the data entry, wherein the cache has an expiration timeout that, when exceeded by an amount of time since a last update of a particular data entry, indicates that the particular data entry is to be updated before being provided, and wherein the cache has a refresh timeout that is shorter than the expiration timeout, and wherein when an amount of time since a last update of a particular data entry exceeds the refresh timeout but does not exceed the expiration timeout, the particular data entry can be provided once before being updated;
receiving by the computing system, at a particular time that occurs after the first request, a second request to access the data entry, wherein a difference between the particular time and a time at which the data entry was last updated exceeds the refresh timeout but does not exceed the expiration timeout;
in response to the second request, providing the data entry and transmitting a refresh request to refresh the data entry;
receiving by the computing system, after the transmitting of the refresh request but before the data entry has been refreshed, a third request to access the data entry; and
in response to the third request, providing the data entry after the data entry has been refreshed.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system to refresh a data entry in a cache before the data entry expires. The system includes a client computing system coupled to a server via a network connection. In response to a request for data access, the client computing system locates a data entry in a cache and determines whether the data entry in the cache has exceeded a refresh timeout since a last update of the data entry. If the data entry in the cache has exceeded the refresh timeout, the client computing system retrieves the data entry found in the cache in response to the request without waiting for the data entry to be refreshed, and requests a refresh of the data entry from the server via the network connection.
-
Citations
17 Claims
-
1. A method comprising:
-
locating, by a computing system, a data entry in a cache in response to a first request to access the data entry, wherein the cache has an expiration timeout that, when exceeded by an amount of time since a last update of a particular data entry, indicates that the particular data entry is to be updated before being provided, and wherein the cache has a refresh timeout that is shorter than the expiration timeout, and wherein when an amount of time since a last update of a particular data entry exceeds the refresh timeout but does not exceed the expiration timeout, the particular data entry can be provided once before being updated; receiving by the computing system, at a particular time that occurs after the first request, a second request to access the data entry, wherein a difference between the particular time and a time at which the data entry was last updated exceeds the refresh timeout but does not exceed the expiration timeout; in response to the second request, providing the data entry and transmitting a refresh request to refresh the data entry; receiving by the computing system, after the transmitting of the refresh request but before the data entry has been refreshed, a third request to access the data entry; and in response to the third request, providing the data entry after the data entry has been refreshed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable storage medium including instructions that, when executed by a computing system, cause the computing system to perform operations comprising:
-
locating, by the computing system, a data entry in a cache in response to a first request to access the data entry, wherein the cache has an expiration timeout that, when exceeded by an amount of time since a last update of a particular data entry, indicates that the particular data entry is to be updated before being provided, and wherein the cache has a refresh timeout that is shorter than the expiration timeout, and wherein when an amount of time since a last update of a particular data entry exceeds the refresh timeout but does not exceed the expiration timeout, the particular data entry can be provided once before being updated; receiving by the computing system, at a particular time that occurs after the first request, a second request to access the data entry, wherein a difference between the particular time and a time at which the data entry was last updated exceeds the refresh timeout but does not exceed the expiration timeout; in response to the second request, providing the data entry and transmitting a refresh request to refresh the data entry; receiving by the computing system, after the transmitting of the refresh request but before the data entry has been refreshed, a third request to access the data entry; and in response to the third request, providing the data entry after the data entry has been refreshed. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a network interface device; and a processor to; receive, via the network interface device, a first request to access a data entry in a cache, wherein the cache has an expiration timeout that, when exceeded by an amount of time since a last update of a particular data entry, indicates that the particular data entry is to be updated before being provided, and wherein the cache has a refresh timeout that is shorter than the expiration timeout, and wherein when an amount of time since a last update of a particular data entry exceeds the refresh timeout but does not exceed the expiration timeout, the particular data entry can be provided once before being updated, locate the data entry in the cache, receive via the network interface device, at a particular time that occurs after the first request, a second request to access the data entry, wherein a difference between the particular time and a time at which the data entry was last updated exceeds the refresh timeout but does not exceed the expiration timeout, in response to the second request, provide the data entry and transmit a refresh request to refresh the data entry, receive via the network interface device, after the transmitting of the refresh request but before the data entry has been refreshed, a third request to access the data entry, and in response to the third request, provide the data entry after the data entry has been refreshed. - View Dependent Claims (14, 15, 16, 17)
-
Specification