Reserved cache space in content delivery networks
AssigneeAmazon Technologies, Inc.
InventorMatthew Graham Baldwin
Life of this patent
Estimating the term…
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.
Claims16
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.
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.
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.
Dependencies are inferred from the claim text.