Reserved cache space in content delivery networks
First Claim
Patent Images
1. A content delivery system comprising:
- a non-transitory data store implementing a data cache to store data objects from at least two different providers providing content to the content delivery system, the data cache including a plurality of data objects previously accessed by end users of the content delivery system, wherein the plurality of data objects stored within the data cache includes data objects from the at least two different providers, the data cache further including information indicating a most recent access time for 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 from a first provider of the plurality of providers to reserve a portion of the data cache on the content delivery system for data objects within the data cache associated with the first provider, wherein the portion is associated with a data size;
identify, from the plurality of data objects stored within the data cache including data objects from the at least two different providers, one or more most-recently-accessed data objects associated with the first provider, wherein a collective size of the one or more most-recently-accessed data objects is not more than the specified data size;
mark as protected from eviction the one or more most-recently-accessed data objects associated with the first provider within the data cache including data objects from the at least two different providers;
determine that a collective size of the plurality of data objects from the at least two different providers within the data cache exceeds a cache size limit;
identify, within the plurality of data objects from the at least two different providers, one or more least-recently-accessed data objects that are not marked as protected from eviction; and
delete, from the data cache, the one or more least-recently-accessed data objects identified within the plurality of data objects from the at least two different providers.
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 mark those designated data objects within its cache as protected from eviction. When the CDN implements a cache eviction policy on the cache, the protected objects may be ignored for purposes of eviction, or may be evicted only after non-protected data objects.
-
Citations
20 Claims
-
1. A content delivery system comprising:
-
a non-transitory data store implementing a data cache to store data objects from at least two different providers providing content to the content delivery system, the data cache including a plurality of data objects previously accessed by end users of the content delivery system, wherein the plurality of data objects stored within the data cache includes data objects from the at least two different providers, the data cache further including information indicating a most recent access time for 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 from a first provider of the plurality of providers to reserve a portion of the data cache on the content delivery system for data objects within the data cache associated with the first provider, wherein the portion is associated with a data size; identify, from the plurality of data objects stored within the data cache including data objects from the at least two different providers, one or more most-recently-accessed data objects associated with the first provider, wherein a collective size of the one or more most-recently-accessed data objects is not more than the specified data size; mark as protected from eviction the one or more most-recently-accessed data objects associated with the first provider within the data cache including data objects from the at least two different providers; determine that a collective size of the plurality of data objects from the at least two different providers within the data cache exceeds a cache size limit; identify, within the plurality of data objects from the at least two different providers, one or more least-recently-accessed data objects that are not marked as protected from eviction; and delete, from the data cache, the one or more least-recently-accessed data objects identified within the plurality of data objects from the at least two different providers. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method comprising:
-
implementing, within a memory, a data cache storing a plurality of data objects that were previously accessed by end users, wherein the data cache indicates a most recent access time for data objects of the plurality of data objects, and wherein the plurality of data objects stored within the data cache includes data objects from at least two different providers; receiving a request to reserve a portion of the data cache for data objects within the data cache associated with a first provider of the at least two providers, wherein the portion is associated with a size; identifying, from the plurality of data objects stored within the data cache including data objects from the at least two different providers, one or more data objects associated with the first provider that have been accessed more recently than other data objects associated with the first provider that are within the plurality of data objects wherein a collective size of the one or more data objects is not more than the size; marking, within the data cache including data objects from the at least two different providers, the one or more data objects associated with the first provider as protected from eviction; determining that a collective size of the plurality of data objects from the at least two different providers within the data cache exceeds a cache size limit; identifying, within the plurality of data objects from the at least two different providers, at least one data object that is not marked as protected from eviction; and deleting, from the data cache, the at least one data object identified within the plurality of data objects from the at least two different providers. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. Non-transitory computer-readable media including instructions executable by a computing device to:
-
implement, within a memory, a data cache storing a plurality of data objects that were previously accessed by end users, wherein the data cache indicates access times for data objects of the plurality of data objects, and wherein the plurality of data objects stored within the data cache includes data objects from at least two different providers; obtain instructions to reserve a portion of the data cache for data objects within the data cache associated with a first provider of the at least two providers, wherein the portion is associated with a size; identify, from the plurality of data objects stored within the data cache including data objects from the at least two different providers, one or more data objects associated with the first provider, wherein a collective size of the one or more data objects is not more than the size; mark, within the data cache including data objects from the at least two different providers, the one or more data objects associated with the first provider as protected from removal; determine that a collective size of the plurality of data objects from the at least two different providers within the data cache exceeds a cache size limit; identify, within the plurality of data objects from the at least two different providers, at least one data object that is not marked as protected from removal; and delete, from the data cache, the at least one data object identified within the plurality of data objects from the at least two different providers. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification