Cached data replication for cache recovery
First Claim
1. A system for cache recovery, the system comprising:
- computer memory storing a caching structure, the caching structure including a plurality of entries for cached data; and
one or more processors configured to;
identify portions of the cached data deemed most valuable based in part on a deterministic evaluation algorithm;
store the portions of the cached data in a snapshot file on persistent non-transitory storage, the persistent non-transitory storage separate from the computer memory; and
update the cached data stored in the snapshot file based, at least in part, on when a time-to-live value associated with a determined number of entries stored in the snapshot file is above a threshold value;
wherein, in response to a restart of the system, the one or more processors are configured to load the portions of the cached data from the snapshot file stored on the persistent non-transitory storage into the caching structure on the computer memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Processes are disclosed for embodiments of a caching system to utilize a snapshot file or other limited size data structure to store a portion of the data stored in a cache. The snapshot file can be stored on persistent or otherwise non-transitory storage so that, even in case of a restart, crash or power loss event, the data stored in the snapshot file persists and can be used by the caching system after starting up. The snapshot file can then be used to restore at least some data into the cache in cases where the cached data in the cache is lost. For example, in cases of a cold-start or restart, the caching system can load data from the snapshot file into the empty cache. This can increase the number of cache hits since the cache is repopulated with useful data at startup.
45 Citations
25 Claims
-
1. A system for cache recovery, the system comprising:
-
computer memory storing a caching structure, the caching structure including a plurality of entries for cached data; and one or more processors configured to; identify portions of the cached data deemed most valuable based in part on a deterministic evaluation algorithm; store the portions of the cached data in a snapshot file on persistent non-transitory storage, the persistent non-transitory storage separate from the computer memory; and update the cached data stored in the snapshot file based, at least in part, on when a time-to-live value associated with a determined number of entries stored in the snapshot file is above a threshold value; wherein, in response to a restart of the system, the one or more processors are configured to load the portions of the cached data from the snapshot file stored on the persistent non-transitory storage into the caching structure on the computer memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for cache recovery, the method comprising:
-
identifying, by a computing system, portions of cached data in a caching structure deemed most valuable, the caching structure residing in memory on the computing system; storing the identified portions of the cached data in a snapshot file on persistent non-transitory storage, the non-transitory storage separate from the memory on the computing system; updating the cached data stored in the snapshot file based, at least in part, on when a time-to-live value associated with a determined number of entries stored in the snapshot file is above a threshold value; and in response to a restart of the computing system, loading data from the snapshot file stored on the non-transitory storage into the caching structure residing in the memory on the computing system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. Non-transitory computer storage having stored thereon instructions that, when executed by a computer system, cause the computer system to perform operations comprising:
-
identifying, by a computing system, a subset of cached data in a caching structure, the caching structure residing in memory on the computing system; storing the identified subset of the cached data in a snapshot file in persistent non-transitory storage, the persistent non-transitory storage separate from the memory on the computing system; updating the cached data stored in the snapshot file based, at least in part, on when a time-to-live value associated with a determined number of entries stored in the snapshot file is above a threshold value; and in response to a restart of the computing system, loading data from the snapshot file stored on the persistent non-transitory storage into the caching structure residing in memory on the computing system. - View Dependent Claims (22, 23, 24, 25)
-
Specification