Scalable network object caching
First Claim
1. A scalable distributed caching system for users on a network with data objects having network addresses, comprising a receiving cache that receives a request for an object from a user, said receiving cache comprising a data bus connecting a receiving cache processor, a receiving cache computer readable memory and a receiving cache port adapted to be coupled to a network, wherein said receiving cache carries out a directory locator function that uses the user request for a data object as an input and provides a pointer to a directory cache as an output, said directory cache comprising a directory cache data bus connecting a directory cache processor, a directory cache computer readable memory and a directory cache port adapted to be coupled to a network, wherein said directory cache stores a directory list for the requested object in said directory cache computer readable memory, said directory list comprising the network address of the requested object and a network address of an object cache on the network, said object cache comprising an object cache data bus connecting an object cache processor, an object cache computer readable memory and an object cache port adapted to be coupled to a network, and wherein said object cache is adapted to store a copy of the requested object in said object cache computer readable memory of said object cache.
3 Assignments
0 Petitions
Accused Products
Abstract
A scalable distributed caching system on a network receives a request for a data object from a user. The caching system carries out a locator function that locates a directory cache for the object. The directory cache stores a directory list that identifies the locations of object caches that purport to store copies of the object requested by the user. The object caches on the object directory list are polled, and in response send messages to the cache that received the user request indicating if each object cache stores a copy of the requested object. The receiving cache sends a message requesting a copy of the object to the object cache that sent the message first received by the receiving cache indicating that an object cache stores the requested object. The object cache that sent the first received message then sends a copy of the object to the receiving cache, which stores a copy and then sends a copy to the user. The directory list for the object is then updated by adding the network address of the receiving cache. Outdated copies of objects stored on object caches are deleted in a distributed fashion to maintain the coherence of the cached copies. This is further reinforced by the association of time-to-live parameters with the each copy and each object cache address on directory lists.
-
Citations
21 Claims
- 1. A scalable distributed caching system for users on a network with data objects having network addresses, comprising a receiving cache that receives a request for an object from a user, said receiving cache comprising a data bus connecting a receiving cache processor, a receiving cache computer readable memory and a receiving cache port adapted to be coupled to a network, wherein said receiving cache carries out a directory locator function that uses the user request for a data object as an input and provides a pointer to a directory cache as an output, said directory cache comprising a directory cache data bus connecting a directory cache processor, a directory cache computer readable memory and a directory cache port adapted to be coupled to a network, wherein said directory cache stores a directory list for the requested object in said directory cache computer readable memory, said directory list comprising the network address of the requested object and a network address of an object cache on the network, said object cache comprising an object cache data bus connecting an object cache processor, an object cache computer readable memory and an object cache port adapted to be coupled to a network, and wherein said object cache is adapted to store a copy of the requested object in said object cache computer readable memory of said object cache.
-
3. A method for implementing a scalable distributed caching system on a network that receives a request from a user for a data object stored on the network, comprising the steps of:
-
storing a copy of a data object on a first object cache on the network, said object cache having an object cache network address; storing a directory list on a directory cache on the network, said directory list including the network address of an object and a network address of an object cache on which a copy of the object is purportedly stored; receiving a request for an object from a user at a receiving cache, wherein the request includes a network address of the object; performing a locator function at a receiving cache that receives a request for an object from a user, the request including a network address of the object, the locator function using the network address of the object as an input and providing a pointer to the directory cache as an output, wherein the directory cache stores a directory list for the object, where the directory list is a list of addresses of object caches that purport to store a copy of the object; and sending a request for the object to an object cache on the directory list. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A scalable distributed caching system on a network, comprising:
-
a. means for storing a copy of a data object; b. means for storing a directory list for the object, the directory list identifying the network locations at which copies of the object are purportedly stored; c. means for determining the network location at which the directory list for an object is stored; d. means for selecting a location from which a copy of the object is to be requested; and e. means for sending to a user a copy of the object from a selected location at which the copy is stored. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification