System and method for managing cachable entities

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06725333

ABSTRACT:

BACKGROUND
1. Technical Field
The present invention relates generally to caching information in a data processing system and, in particular, to a system and method for managing cachable entities by analyzing program (source) code to detect one or more statements which may affect a desirability of performing one or more cache transactions such as storing an entity in cache and/or invalidating or updating cached entities.
2. Description of Related Art
Caching is a technique which is commonly utilized for improving performance on many computer systems. For example, in an object-oriented computing environment, caching an object can minimize the cost for fetching or creating an object since it is only incurred once. Specifically, subsequent requests for a cached object can be satisfied from the cache, a process which incurs significantly less overhead than recalculating the object or fetching it from a remote location.
Object-oriented and other database applications often issue queries to databases. These queries can be expensive to make in terms of, e.g., computation time and memory. Caching techniques may be utilized for reducing the overhead associated with issuing queries by caching query results such that the query need only be issued once. Subsequent requests for the same query would be able to access the corresponding query results from the cache.
A key problem associated with caching query results in many data processing environments is keeping the cache information updated after the database content is modified. In particular, if the database modification affects one or more cached query results, the cache should be updated to reflect the changes, otherwise, incorrect data could be returned. Due to the difficulty in efficiently keeping the cache updated, database systems typically do not cache query results. Therefore, there is a need for a system and method for automatically maintaining and updating cache content in a data processing system in response to a change in the underlying data content.
SUMMARY OF THE INVENTION
The present invention is directed to a system and method for managing cachable entities (i.e., entities stored in a cache and/or entities which may be stored in a cache) in a data processing application. In one aspect of the present invention, a method for managing cachable entities comprises the steps of:
analyzing program code to determine if there is at least one statement which affects a desirability of performing at least one cache transaction; and
performing the at least one cache transaction if it is desired.
In another aspect, the present invention provides a program analysis tool for statically analyzing program code to locate points where object state changes occur, where objects are created and where objects are deleted, and then generating regularized dependencies at such points for and employing the dependencies to invalidate dependent cached queries.
In yet another aspect, the present invention provides a mechanism for generating query specific keys which are employed to insert query results into and retrieve query results from a dependency managed cache.
In another aspect, the present invention provides a mechanism for selected cache repopulation of invalidated queries.
In yet another aspect, the present invention provides a mechanism for generation of regularized dependencies at the object query points and for attaching them to query results inserted into a dependency managed cache.
In another aspect, the present invention provides a mechanism to insert/retrieve query results into/from a dependency managed cache.
In yet another aspect, the present invention provides a mechanism to delegate requests for query results to an underlying object query service when necessary.
In another aspect, the present invention provides a mechanism for selected cache initial population of anticipated queries.
One advantage of the present invention is that it improves response time for queries issued multiple times. Improvement is accomplished by obtaining results more efficiently from a dependency managed cache, thus bypassing the normally used but usually less efficient object query machinery.


REFERENCES:
patent: 5572703 (1996-11-01), MacWilliams et al.
patent: 5655122 (1997-08-01), Wu
patent: 5668987 (1997-09-01), Schneider
patent: 5787287 (1998-07-01), Bharadwaj
patent: 5940622 (1999-08-01), Patel
patent: 5940857 (1999-08-01), Nakanishi et al.
patent: 6009271 (1999-12-01), Whatley
patent: 6021470 (2000-02-01), Frank et al.
patent: 6049866 (2000-04-01), Earl
patent: 6055621 (2000-04-01), Puzak
patent: 6295608 (2001-09-01), Parkes et al.
patent: 6401192 (2002-06-01), Schroter et al.
Choi et al. Techniques for Compiler-Directed Cache Coherence. IEEE Parallel & Distributed Technology, pp. 23-34, Winter 1996.*
Cytron, R. et al., Automatic management of programmable caches, Proceedings of the 1988 International Conference on Parallel Processing, 1988, pp. 229-238.*
Mounes-Toussi, F. et al., An evaluation of a compiler optimization for improving the performance of a coherence directory, International Conference on Supercomputing, 1994; pp. 75-84.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for managing cachable entities does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for managing cachable entities, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for managing cachable entities will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3265714

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.