Automatic invalidation dependency capture in a web cache with dynamic content
First Claim
1. A software system supporting distributed web applications between a client and a server, wherein the server is equipped with a cache, and the software system comprises:
- a cache entry, which may be stored in the cache;
a metadata property, containing zero or more data IDs, each of which is uniquely associated with data upon which the cache entry depends; and
a cache invalidation instruction sequence, which, when invoked with one of the one or more data Ids contained in the metadata property, invalidates the cache entry.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are disclosed, according to which, the responsiveness of client/server-based distributed web applications operating in an object-oriented environment may be improved by effectively tracking dependencies between cached entries. In an exemplary embodiment, each cacheable data item is assigned a data ID, and each cache entry has an associated list of data IDs for data upon which it is dependent. The data ID list accounts for indirect dependence. A cache entry that indirectly depends on a data item (e.g., a JSP which calls a command that uses the data item) includes the item'"'"'s data ID among its dependencies. If the data item changes, all the dependent entries may be readily identified by means of their data ID list. Invalidation methods that utilize the data ID are contemplated herein, as an efficient mechanism for managing invalidation dependencies.
93 Citations
27 Claims
-
1. A software system supporting distributed web applications between a client and a server, wherein the server is equipped with a cache, and the software system comprises:
-
a cache entry, which may be stored in the cache;
a metadata property, containing zero or more data IDs, each of which is uniquely associated with data upon which the cache entry depends; and
a cache invalidation instruction sequence, which, when invoked with one of the one or more data Ids contained in the metadata property, invalidates the cache entry. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24)
-
-
17. A method for tracking data dependency in a software system supporting distributed web applications between a client and a server, wherein the server is equipped with a cache, and the method comprises:
-
storing a first entry in the cache, wherein the entry comprises data, a command or a server page;
attaching a metadata property to the first entry, comprising zero or more data IDs, each of which is uniquely associated with data upon which the cache entry depends;
adding to the data IDs in the metadata of the first cache entry, data IDs in the metadata of a second entry called by the first entry; and
invoking a cache invalidation instruction sequence with the data ID of invalidated data, to invalidate the first cache entry, if the metadata property contains the data ID.
-
-
25. A computer product, comprising a web server equipped with a cache and a software system, wherein the web server includes a processor, memory, mass storage and a network interface, and the software system is adapted to track data dependency of entries in the cache.
-
26. A computer program product in a computer readable medium for use in tracking data dependency of entries in a cache, the computer program product comprising:
-
instructions for storing a first entry in the cache, wherein the entry comprises data, a command or a server page;
instructions for attaching a metadata property to the first entry, comprising zero or more data IDs, each of which is uniquely associated with data upon which the cache entry depends;
instructions for adding to the data IDs in the metadata of the first cache entry, data IDs in the metadata of a second entry called by the first entry; and
instructions for invoking a cache invalidation instruction sequence with the data ID of invalidated data, to invalidate the first cache entry, if the metadata property contains the data ID.
-
-
27. A System including memory and processor for tracking data dependency of cache entries, comprising a cache;
-
means for storing a first entry in the cache, wherein the entry comprises data, a command or a server page;
means for attaching a metadata property to the first entry, comprising zero or more data IDs, each of which is uniquely associated with data upon which the cache entry depends;
means for adding to the data IDs in the metadata of the first cache entry, data IDs in the metadata of a second entry called by the first entry; and
means for invoking a cache invalidation instruction sequence with the data ID of invalidated data, to invalidate the first cache entry, if the metadata property contains the data ID.
-
Specification