Reserved cache space in content delivery networks
First Claim
Patent Images
1. A content delivery system comprising:
- a non-transitory data store implementing a shared data cache for storing data objects from multiple providers, the shared data cache including a plurality of data objects previously accessed by end users of the content delivery system and information indicating a most recent access time for individual data objects of the plurality of data objects;
a computing device comprising a processor and memory, the processor configured with specific computer-executable instructions that, when executed, cause the processor to;
receive a request to create a reserved cache on the content delivery system for data objects associated with a first provider of a plurality of providers;
implement a provider-specific cache, on the non-transitory data store, associated with a threshold size, wherein the provider-specific cache is separated from the shared data cache and is designated to store data objects associated with the first provider;
migrate one or more data objects associated with the first provider from the shared data cache to the provider-specific cache;
obtain, from a computing device of the first provider, provider-supplied code executable to implement a cache eviction policy by which data objects are selected for eviction from the provider-specific cache;
determine that a collective size of data objects within the provider-specific cache exceeds the threshold size;
select at least one data object for eviction from the provider-specific cache based at least in part on execution of the provider-supplied code; and
remove the at least one data object from the provider-specific cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described to reserve cache space of points of presence (“POPs”) within a content delivery network (“CDN”). A provider may submit a request to the CDN to reserve cache space on one or more POPs for data objects designated by that provider. Thereafter, the CDN may implement a provider-specific cache on the POPs of the CDN, which is distinct from a shared cache space on the POPs. The provider may further select a custom cache eviction policy for the provider-specific cache, which causes the POPs to manage data objects within the provider-specific cache according to the custom cache eviction policy, independently of a cache eviction policy applied to the shared cache.
1357 Citations
16 Claims
-
1. A content delivery system comprising:
-
a non-transitory data store implementing a shared data cache for storing data objects from multiple providers, the shared data cache including a plurality of data objects previously accessed by end users of the content delivery system and information indicating a most recent access time for individual data objects of the plurality of data objects; a computing device comprising a processor and memory, the processor configured with specific computer-executable instructions that, when executed, cause the processor to; receive a request to create a reserved cache on the content delivery system for data objects associated with a first provider of a plurality of providers; implement a provider-specific cache, on the non-transitory data store, associated with a threshold size, wherein the provider-specific cache is separated from the shared data cache and is designated to store data objects associated with the first provider; migrate one or more data objects associated with the first provider from the shared data cache to the provider-specific cache; obtain, from a computing device of the first provider, provider-supplied code executable to implement a cache eviction policy by which data objects are selected for eviction from the provider-specific cache; determine that a collective size of data objects within the provider-specific cache exceeds the threshold size; select at least one data object for eviction from the provider-specific cache based at least in part on execution of the provider-supplied code; and remove the at least one data object from the provider-specific cache. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method comprising:
-
implementing a shared data cache for storing data objects from multiple providers, the shared data cache identifying a plurality of data objects, stored within a non-transitory memory, that were previously accessed by end users; receiving a request to create a provider-specific cache for data objects associated with a first provider; generating the provider-specific cache on the non-transitory data store, wherein the provider-specific cache is at least partially different from the shared data cache and is designated to store data objects associated with the first provider; receiving, from a computing device of the first provider, provider-supplied code executable to implement a cache eviction policy by which data objects are selected for eviction from the provider-specific cache; determining that a collective size of data objects within the provider-specific cache exceeds a threshold size; selecting at least one data object for eviction from the provider-specific cache based at least in part on execution of the provider-supplied code; and removing the at least one data object from the provider-specific cache. - View Dependent Claims (8, 9, 10, 11)
-
-
12. Non-transitory computer-readable media including instructions executable by a computing device to:
-
implement a shared data cache for storing data objects from multiple providers, the shared data cache identifying a plurality of data objects, stored within a non-transitory memory, that were previously accessed by end users; obtain instructions to create a provider-specific cache for data objects associated with a first provider; generate the provider-specific cache, wherein the provider-specific cache is at least partially different from the shared data cache and is designated to store data objects associated with the first provider; obtain, from a computing device of the first provider, provider-supplied code executable to implement a cache eviction policy by which data objects are selected for eviction from the provider-specific cache; determine that a collective size of data objects within the provider-specific cache exceeds a threshold size; select at least one data object for eviction from the provider-specific cache based at least in part on execution of the provider-supplied code; and remove the at least one data object from the provider-specific cache. - View Dependent Claims (13, 14, 15, 16)
-
Specification