Caching protocol method and system based on request frequency and relative storage duration
First Claim
1. A method of caching objects and replacing cached objects comprising:
- receiving a plurality of objects from remote sites via network connections, the objects being directed to target devices, storing at least some of the objects in local cache, thereby providing cached objects that are accessible without reconnecting to the remote sites;
maintaining dynamic indicators for at least some of the cached objects, where different dynamic indicators correspond to different cached objects, each dynamic indicator being responsive to a frequency of requests for a corresponding cached object by the target devices and being indicative of a time of storing the corresponding cached object in the local cache relative to storing other cached objects in the local cache such that a determination for each dynamic indicator is at least partially based on a storage occurrence of the corresponding cached object relative to storage occurrences of other cached objects; and
selectively replacing cached objects with recently received objects based upon the dynamic indicators such that the cached objects are removed from the local cache on the basis of frequencies of requests and relative times of storing said cached objects.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for caching objects and replacing cached objects in an object-transfer environment maintain a dynamic indicator (Pr(f)) for each cached object, with the dynamic indicator being responsive to the frequency of requests for the object and being indicative of the time of storing the cached object relative to storing other cached objects. In a preferred embodiment, the size of the object is also a factor in determining the dynamic indicator of the object. In the most preferred embodiment, the cost of obtaining the object is also a factor. A count of the frequency of requests and the use of the relative time of storage counterbalance each other with respect to maintaining a cached object in local cache. That is, a high frequency of requests favors maintaining the object in cache, but a long period of cache favors evicting the object. Thus, cache pollution is less likely to occur.
-
Citations
25 Claims
-
1. A method of caching objects and replacing cached objects comprising:
-
receiving a plurality of objects from remote sites via network connections, the objects being directed to target devices, storing at least some of the objects in local cache, thereby providing cached objects that are accessible without reconnecting to the remote sites;
maintaining dynamic indicators for at least some of the cached objects, where different dynamic indicators correspond to different cached objects, each dynamic indicator being responsive to a frequency of requests for a corresponding cached object by the target devices and being indicative of a time of storing the corresponding cached object in the local cache relative to storing other cached objects in the local cache such that a determination for each dynamic indicator is at least partially based on a storage occurrence of the corresponding cached object relative to storage occurrences of other cached objects; and
selectively replacing cached objects with recently received objects based upon the dynamic indicators such that the cached objects are removed from the local cache on the basis of frequencies of requests and relative times of storing said cached objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of caching objects and replacing cached objects comprising:
establishing a protocol for replacing objects stored in local cache, the protocol being dependent upon indications of frequency of requests (Fr) for an object (f), cost (Cost) of acquiring the object from at least one source, and a time (Clock) of accessing the object in the local cache, such that each object has a priority key (Pr(f)) that is indicative of - View Dependent Claims (12, 13)
-
14. A method of caching objects and replacing cached objects comprising:
establishing a protocol for replacing objects stored in local cache, the protocol being dependent upon indications of frequency of requests (Fr) for an object (f) and a time (Clock) of accessing the object in the local cache, such that each object has a priority key (Pr(f)) that is indicative of - View Dependent Claims (15, 16)
-
17. A method of caching objects and replacing cached objects comprising:
-
establishing a protocol for replacing objects stored in local cache of a proxy cache, the protocol being dependent upon indications of frequency of requests (Fr) for an object (f), size (Size) of the object and duration (Clock) of storing the object in the local cache, such that each object has a priority key (Pr(f)) that is indicative of storing a plurality of the objects in the local cache, each object having an assigned priority key Pr(f);
adjusting the indication of frequency Fr(f) for a specific object upon receiving a request for the specific object; and
selectively replacing the objects in the local cache with recently received objects based upon the replacement protocol. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A system for caching objects and replacing cached objects comprising:
-
switching means for providing connectivity between a plurality of remote servers of objects and a plurality of clients requesting the objects;
local cache means for selectively storing objects requested by the clients via the switching means; and
replacement protocol controller means for governing caching of objects based on values of dynamic indicators that are specific to corresponding objects in the local cache means, each dynamic indicator being responsive to a frequency of requests for the corresponding object by the plurality of clients and a clock indicative of a relative time of storing the corresponding object in the local cache means in relation to storing other objects, the replacement protocol controller means replacing cached objects with recently requested objects in an order determined by the dynamic indicators. - View Dependent Claims (24, 25)
-
Specification