CACHE EVICTION SCHEME FOR ACCEPTABLE SUBSTITUTES IN ONLINE MEDIA
First Claim
1. A cache eviction method performed by a network cache, the method comprising:
- storing first and second objects in a network cache, each of the first and second objects corresponding to a different version of a media object and being available to requesting clients from the network cache;
determining to evict content from the network cache, the determination based at least in part on an amount of available storage space in the network cache;
in response to said determination, selecting the first object for eviction and keeping the second object stored in the cache, the selection being based at least in part on a versatility attribute of the second object, wherein versatility comprises a property allowing the network cache to substitute the second object for the first object when responding to a client request for the first object; and
,evicting the first object from the network cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Among other things, this document describes systems, devices, and methods for improving cache performance when caching multiple versions of an object. In some embodiments, a network cache can execute a cache eviction algorithm that considers the versatility of object versions when making eviction decisions. The techniques described herein can be applied to wide variety of media objects, such as an original image and a set of derivative images in various formats, sizes, or compression levels. A versatile version is versatile because it can be substituted for one or more other versions requested by a client. Hence, the techniques described herein may prefer, under certain conditions, to evict from a network cache less versatile versions prior to evicting more versatile versions.
-
Citations
19 Claims
-
1. A cache eviction method performed by a network cache, the method comprising:
-
storing first and second objects in a network cache, each of the first and second objects corresponding to a different version of a media object and being available to requesting clients from the network cache; determining to evict content from the network cache, the determination based at least in part on an amount of available storage space in the network cache; in response to said determination, selecting the first object for eviction and keeping the second object stored in the cache, the selection being based at least in part on a versatility attribute of the second object, wherein versatility comprises a property allowing the network cache to substitute the second object for the first object when responding to a client request for the first object; and
,evicting the first object from the network cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus, comprising:
a network cache, comprising; circuitry providing at least one processor; a storage device providing space for storing objects; a non-transitory computer readable medium storing instructions that, when executed by the at least one processor, cause the network cache to; store first and second objects in a network cache, each of the first and second objects corresponding to a different version of a media object and being available to requesting clients from the network cache; determine to evict content from the network cache, the determination based at least in part on an amount of available storage space in the network cache; in response to said determination, select the first object for eviction and keeping the second object stored in the cache, the selection being based at least in part on a versatility attribute of the second object, wherein versatility comprises a property allowing the network cache to substitute the second object for the first object when responding to a client request for the first object; and
,evict the first object from the network cache. - View Dependent Claims (14, 15, 16, 17)
-
18. A cache eviction method for a network cache, comprising:
-
storing first and second objects in a network cache, each of the first and second objects corresponding to a different version of a media object and being available to requesting clients from the network cache; determining to evict content from the network cache, the determination being based at least in part on an amount of available storage space in the network cache; in response to said determination, selecting the first object for eviction and keeping the second object stored in the cache, the selection being based at least in part on a versatility attribute of the second object, wherein versatility of the second object is a function of proportion of clients that can decode the second object; and
,evicting the first object from the network cache. - View Dependent Claims (19)
-
Specification