Dynamic cache eviction
First Claim
Patent Images
1. A computer-implemented method for evicting cache entries from a cache node, the method comprising:
- under the control of one or more computing devices;
monitoring storage capacity levels of a cache node storing a plurality of cache entries;
determining a storage capacity threshold of the cache node has been reached;
upon determining that the storage capacity threshold has been reached;
identifying a cache reduction level, the cache reduction level indicating a target cache reduction;
identifying a first cache entry from the one or more cache entries;
configuring a plurality of time steps, each time step indicating a range of time, the plurality of time steps including a first time step beginning with the first cache entry and indicating a first range of time;
identifying one or more time steps of the plurality of time steps in which the plurality of cache entries are located;
evicting one or more cache entries within the first time step from the cache;
determining the cache reduction level has not been achieved upon evicting the one or more cache entries within the first time step;
altering a size of one or more additional time steps based at least on a percentage of the plurality cache entries within the first time step; and
evicting one or more cache entries within the one or more additional time steps until the cache reduction level is achieved.
4 Assignments
0 Petitions
Accused Products
Abstract
A cache manager monitors storage capacity levels of a cache node storing data as cache entries. Upon determining a storage capacity threshold is reached, the cache manager begins evicting cache entries. In evicting the cache entries, the cache manager identifies a reduction level, and configures one or more time steps. The cache manager evicts cache entries within the one or more time steps until the reduction level is achieved.
52 Citations
25 Claims
-
1. A computer-implemented method for evicting cache entries from a cache node, the method comprising:
under the control of one or more computing devices; monitoring storage capacity levels of a cache node storing a plurality of cache entries; determining a storage capacity threshold of the cache node has been reached; upon determining that the storage capacity threshold has been reached; identifying a cache reduction level, the cache reduction level indicating a target cache reduction; identifying a first cache entry from the one or more cache entries; configuring a plurality of time steps, each time step indicating a range of time, the plurality of time steps including a first time step beginning with the first cache entry and indicating a first range of time; identifying one or more time steps of the plurality of time steps in which the plurality of cache entries are located; evicting one or more cache entries within the first time step from the cache; determining the cache reduction level has not been achieved upon evicting the one or more cache entries within the first time step; altering a size of one or more additional time steps based at least on a percentage of the plurality cache entries within the first time step; and evicting one or more cache entries within the one or more additional time steps until the cache reduction level is achieved. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A system comprising:
-
one or more cache nodes configured to store a plurality of cache entries; and a computing device in communication with the one or more cache nodes, the computing device configured to; monitor a storage capacity level of at least one cache node; determine a storage capacity threshold of the at least one cache node has been reached; upon determining that the storage capacity threshold has been reached; identify a cache reduction level, the cache reduction level indicating a target reduction of cache entries in the cache node; configure a plurality of time steps, each time step indicating a range of time; evict one or more cache entries within a first time step of the plurality of time steps; determine the cache reduction level has not been achieved upon evicting the one or more cache entries within the first time step; alter a size of one or more additional time steps based at least on a percentage of the plurality cache entries within the first time step; and evict one or more cache entries within the one or more additional time steps until the cache reduction level is achieved. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable, non-transitory storage medium having a computer-executable component for evicting cache entries from a cache node, the computer-executable component comprising:
-
a cache manager component operable to; monitor a storage capacity level of a cache node storing one or more cache entries; determine if a storage capacity threshold of the cache node has been reached; upon determining that the storage capacity threshold has been reached; configure a plurality of time steps, each time step indicating a range of time; evict one or more cache entries within a first time step of the plurality of time steps; determine the cache reduction level has not been achieved upon evicting the one or more cache entries within the first time step; alter a size of one or more additional time steps based at least on a percentage of the plurality cache entries within the first time step; and evict each cache entry within the one or more additional time steps until a cache reduction level is achieved. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification