Cache Management
First Claim
1. A method for managing cache elements in a data processing system having at least one processor and at least one cache, each cache element having associated therewith data, Time to Live (TTL), frequency of change (nchange), and frequency of access (naccess), the method comprising:
- setting a polling interval and a refining interval;
storing each cache element in the cache and assigning a base value to the TTL for each cache element fetched for a first time;
managing each cache element according to the following steps;
(a) setting nchange and naccess to zero for the cache element;
(b) tracking historical data, comprising nchange and naccess, for the cache element by incrementing nchange each time the cache element is changed and incrementing constaccess each time the cache element is accessed;
(c) in response to expiration of the TTL for the cache element, marking the cache element invalid;
(d) in response to expiration of the polling interval and to the cache element being marked invalid, polling for the cache element to obtain new data for the cache element and updating the cache element with the new data;
(e) in response to expiration of the refining interval, computing a new TTL for the cache element based on the historical data and current TTL for the cache element and returning to step a; and
(f) returning to step b.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for cache management in an environment based on Common Information Model is described. Cache elements in the cache are associated with a time attribute and historical data. Cache elements having a time attribute lying in a certain range are polled for from the server and updated at predetermined time points. A new time attribute is calculated for each cache element based on its historical data and this new time attribute assists in adapting the polling frequency for the cache element to its importance and change characteristics. Asynchronous notifications from the server preempt the polling based on the time attribute for a cache element and instead, polling for the cache element is based on the asynchronous notification. A system for cache management includes a client and a server, the client having a cache that is managed based on each cache element'"'"'s importance and change characteristics.
123 Citations
16 Claims
-
1. A method for managing cache elements in a data processing system having at least one processor and at least one cache, each cache element having associated therewith data, Time to Live (TTL), frequency of change (nchange), and frequency of access (naccess), the method comprising:
-
setting a polling interval and a refining interval; storing each cache element in the cache and assigning a base value to the TTL for each cache element fetched for a first time; managing each cache element according to the following steps; (a) setting nchange and naccess to zero for the cache element; (b) tracking historical data, comprising nchange and naccess, for the cache element by incrementing nchange each time the cache element is changed and incrementing constaccess each time the cache element is accessed; (c) in response to expiration of the TTL for the cache element, marking the cache element invalid; (d) in response to expiration of the polling interval and to the cache element being marked invalid, polling for the cache element to obtain new data for the cache element and updating the cache element with the new data; (e) in response to expiration of the refining interval, computing a new TTL for the cache element based on the historical data and current TTL for the cache element and returning to step a; and (f) returning to step b. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for managing cache elements, having associated with each cache element data, Time to Live (TTL), frequency of change (nchange), and frequency of access (naccess), the system comprising:
-
a server having data elements stored in a memory; a client; a cache in the client configured to store at least one cache element; and a processor in the client configured to perform the following steps for managing each cache element; (a) setting a polling interval and a refining interval; (b) assigning a base value to the TTL for the cache element fetched for a first time; (c) setting nchange and naccess to zero for the cache element; (d) tracking historical data, comprising nchange and naccess, relating to the cache element by incrementing nchange by one each time the cache element is changed and incrementing constaccess by one each time the cache element is accessed; (e) in response to expiration of the TTL for the cache element, marking the cache element invalid; (f) in response to expiration of the polling interval and to the cache element being marked invalid, polling the memory in the server to obtain new data for the cache element and updating the cache element with the new data; (g) in response to expiration of the refining interval, computing a new TTL for the cache element based on the historical data and a current TTL for the cache element and returning to step c; and (h) returning to step d. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification