Methods and systems for distributed caching in presence of updates and in accordance with holding times
AssigneeInternational Business Machines Corporation
InventorsArun Kwangil Iyengar, Isabelle M. Rouvellou
Life of this patent
Estimating the term…
Abstract
Techniques for improved cache management including cache replacement are provided. In one aspect, a distributed caching technique of the invention comprises the use of a central cache and one or more local caches. The central cache communicates with the one or more local caches and coordinates updates to the local caches, including cache replacement. The invention also provides techniques for adaptively determining holding times associated with data storage applications such as those involving caches.
Claims28
A method for managing cached data objects, the method comprising the steps of:
- storing at least one data object in a central cache;
- replicating the at least one data object in at least one local cache, the at least one local cache being in communication with the central cache;
- maintaining, in accordance with the central cache, a directory describing content of the at least one local cache;
- and
- in response to a change to cached data, the central cache updating at least a portion of content stored thereon and coordinating an update of at least a portion of content replicated on the at least one local cache using the directory to determine at least one data object in the at least one local cache which should be updated in accordance with the change.
A method of determining a time for an event to occur, comprising the steps of:
- determining a threshold time value t1;
- determining if a frequency of an event occurring is low;
- in response to the frequency being low, causing the event to occur;
- and
- in response to the event not occurring after t1 has elapsed, causing the event to occur.
A system for managing cached data objects, the system comprising:
- a central cache for storing at least one data object and maintaining a directory describing content of at least one local cache;
- and
- at least one local cache in communication with the central cache for replicating the at least one data object;
- wherein, in response to a change to cached data, the central cache updates at least a portion of content stored thereon and coordinates an update of at least a portion of content replicated on the at least one local cache using the directory to determine at least one data object in the at least one local cache which should be updated in accordance with the change.
Apparatus for determining a time for an event to occur, the apparatus comprising:
- at least one processor operative to:
- (i) determine a threshold time value t1;
- (ii) determine if a frequency of an event occurring is low;
- (iii) in response to the frequency being low, cause the event to occur;
- and (iv) in response to the event not occurring after t1 has elapsed, cause the event to occur;
- and
- memory, operatively coupled to the at least one processor, for storing at least a portion of results of one or more operations performed by the at least one processor.
An article of manufacture for managing cached data objects, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
- storing at least one data object in a central cache;
- replicating the at least one data object in at least one local cache, the at least one local cache being in communication with the central cache;
- maintaining, in accordance with the central cache, a directory describing content of the at least one local cache;
- and
- in response to a change to cached data, the central cache updating at least a portion of content stored thereon and coordinating an update of at least a portion of content replicated on the at least one local cache using the directory to determine at least one data object in the at least one local cache which should be updated in accordance with the change.
An article of manufacture for determining a time for an event to occur, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
- determining a threshold time value t1;
- determining if a frequency of an event occurring is low;
- in response to the frequency being low, causing the event to occur;
- and
- in response to the event not occurring after t1 has elapsed, causing the event to occur.
Dependencies are inferred from the claim text.