MEMOIZATION BUCKETS FOR CACHED FUNCTION RESULTS
First Claim
1. A method of caching computational results, comprising:
- issuing a cache grouping command in conjunction with an invocation of function resulting in a cached function result;
associating the cached function result with a cache group;
issuing an invalidate command indicative of the cache group; and
invalidating all cached function results in the cache group.
2 Assignments
0 Petitions
Accused Products
Abstract
A memoization system and method arranges cached function results into groups, or buckets, to identify related cache values to invalidate upon obsolescence (staleness) of any one of the cached values in the group. A wrapper function in coded invocations to the cached functions identifies a group to which the function result belongs. Values in a cache group are denoted as a bucket, and subsequent functions that render the cached values obsolete are also invoked via a wrapper function indicating the bucket. The invalidate wrapper results in invalidation of all of the obsolete values in the bucket such that subsequent invocations will not attempt to employ the outdated values.
-
Citations
20 Claims
-
1. A method of caching computational results, comprising:
-
issuing a cache grouping command in conjunction with an invocation of function resulting in a cached function result; associating the cached function result with a cache group; issuing an invalidate command indicative of the cache group; and invalidating all cached function results in the cache group. - View Dependent Claims (2, 3)
-
-
4. In a managed application environment, a method of managed application environment comprising:
-
identifying a cached entity, the cached entity generated by execution of a function; labeling the cached entity with a group, the group indicative of a plurality of related cached entities; receiving a request to invalidate at least one cached entity in the labeled group; and invalidating the cached entity and each related cached entity in the labeled group. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer apparatus for caching function results, comprising:
-
a cache memory configured to store a cached entity, the cached entity generated by execution of a function; a wrapper function operable to label the cached entity with a group, the group indicative of a plurality of related cached entities; and a cache server configured to receive a request to invalidate at least one cached entity in the labeled group, the cache server operable to invalidate the cached entity and each related cached entity in the labeled group.
-
-
20. A computer program product on a non-transitory computer readable storage medium having instructions for performing a method for caching computed results, the method comprising:
-
identifying a set of cached entities as a group, the group related by usage of cached values in the group; determining that at least one of the cached entities is stale; and invalidating all of the cached entities in the group corresponding to the determined stale entity.
-
Specification