IP Library Granted Patent US 12,113,877
Granted Patent B2
US 12,113,877 · App. 18/201,568 · Granted Oct 8, 2024

System and method for improvements to a content delivery network

Inventors: William R. Power (Boulder, CO); Pawel Jakobowski (Strzebowiska, PL)
Assignee: Sandpiper CDN, LLC
H04L67/5681H04L67/289H04L67/561H04L67/564H04L67/568H04L65/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,113,877
App. No.
18/201,568
Granted
Oct 8, 2024
Kind
B2
Abstract

Provided is a content delivery method and architecture for ways to improve the caching of content at one or more content providing devices of a Content Delivery Network (CDN). In particular, systems and methods are disclosed that vary the requirements to store resources or content within a caching device using a dynamic popularity threshold. This popularity threshold may be varied based on a measured fullness of the storage capacity of the cache device. In another example, the dynamic popularity threshold may be further varied based on a cache pressure, which is an indication of how often the cache replaces stored items with new items. The adjustment to the popularity threshold for caching particular content at the caching device may thus be based on a number of requests for content received at the device to tune the caching procedure for a particular region of the CDN.

Claims (47)

1. A method for operating a telecommunications network comprising:

determining a percentage of storage capacity at a cache node of a content delivery network (CDN);

determining lifetime available writes for the cache node, wherein lifetime available writes comprises a total amount of data that can be written to the cache node before the cache node must be replaced;

scaling a resource caching popularity threshold value based on both the determined percentage of storage capacity at the cache node and cache pressure for the cache node, wherein scaling the resource caching popularity threshold value comprises determining a threshold popularity above which a particular resource will be cached at the cache node, and wherein cache pressure for the cache node is a function of a ratio between total writes to the cache node and the lifetime available writes to the cache node;

caching the particular resource in a cache node storage system when a resource popularity counter exceeds the scaled resource caching threshold value, wherein the cache node storage system comprises a first type of storage drive and a second type of storage drive, the first type of storage drive different than the second type of storage drive;

storing a first resource in the first type of storage drive; and

storing a second resource different from the first resource in the second type of storage drive.

2. The method of claim 1 wherein the percentage of storage capacity at the cache node is within a first range of storage capacity percentages and scaling the resource caching popularity threshold value based on the determined percentage of storage capacity at the cache node comprises:

applying a first scaling factor to the resource caching popularity threshold value, the first scaling factor corresponding to the first range of storage capacity percentages.

3. The method of claim 2 wherein the percentage of storage capacity at the cache node is within a second range of storage capacity percentages and scaling the resource caching popularity threshold value based on the determined percentage of storage capacity at the cache node comprises:

applying a second scaling factor to the resource caching popularity threshold value, the second scaling factor corresponding to the second range of storage capacity percentages and different than the first scaling factor.

4. The method of claim 1 further comprising:

promoting the first resource from the first type of storage drive to the second type of storage drive when a popularity index for the first resource is greater than the resource caching popularity threshold value.

5. The method of claim 1 further comprising:

demoting the second resource from the second type of storage drive to the first type of storage drive when a popularity index for the second resource is less than or equal to the resource caching popularity threshold value.

6. The method of claim 1 further comprising:

applying a request for the particular resource available from the CDN to a statistical sampling filter; and

generating the resource popularity counter for the particular resource if the request succeeds the statistical sampling filter.

7. The method of claim 6 wherein the statistical sampling filter comprises generating a random number value and passing the request for the particular resource available from the CDN through the statistical sampling filter if the random number value is less than a filter threshold value.

8. A networking system comprising:

at least one communication port for receiving requests for content maintained by a content delivery network (CDN);

a storage system for storing content of the CDN, wherein the storage system comprises a first type of storage drive and a second type of storage drive, the first type of storage drive different than the second type of storage drive;

a processing device; and

a nontransitory computer-readable medium operably connected to the processing device, the nontransitory computer-readable medium configured to store instructions that, when executed by the processing device, cause the processing device to perform the operations of:

determining a percentage of storage capacity at the storage system;

determining lifetime available writes for the storage system, wherein lifetime available writes comprises a total amount of data that can be written to the storage system before the storage system must be replaced;

scaling a content caching popularity threshold value for the storage system based on both the determined percentage of storage capacity and cache pressure for the storage system, wherein scaling the content caching popularity threshold value comprises determining a threshold popularity above which particular content will be cached at the storage system, and wherein cache pressure for the cache node storage system is a function of a ratio between total writes to the cache node storage system and the lifetime available writes to the cache node storage system;

caching the particular content in the storage system when a content popularity counter exceeds the scaled content caching threshold value;

storing a first resource in the first type of storage drive; and

storing a second resource different from the first resource in the second type of storage drive.

9. The networking system of claim 8 wherein

the first type of storage drive is a solid state type memory drive storing the first resource;

the second type of storage drive is a hard disk type memory drive storing the second resource.

10. The networking system of claim 9 wherein the processing device further performs the operation of:

promoting the second resource from the hard disk type memory drive to the solid state type memory drive when a popularity index for the second resource is greater than the resource caching popularity threshold value.

11. The networking system of claim 9 wherein the processing device further performs the operation of:

demoting the first resource from the solid state type memory drive to the hard disk type memory drive when a popularity index for the first resource is less than or equal to the resource caching popularity threshold value.

12. The networking system of claim 8 wherein the percentage of storage capacity is within a first range of storage capacity percentages and scaling the content caching popularity threshold value comprises:

applying a first scaling factor to the content caching popularity threshold value, the first scaling factor corresponding to the first range of storage capacity percentages.

13. The networking system of claim 12 wherein scaling the content caching popularity threshold value with the first scaling factor results in a scaled content caching popularity threshold value that is less than an initial content caching popularity threshold value.

14. The networking of claim 12 wherein the percentage of storage is within a second range of storage capacity percentages and scaling the content caching popularity threshold value comprises:

applying a second scaling factor to the content caching popularity threshold value, the second scaling factor corresponding to the second range of storage capacity percentages and different than the first scaling factor.

15. The networking system of claim 14 wherein scaling the content caching popularity threshold value with the second scaling factor causes the scaled content caching popularity threshold value to increase.

16. The networking system of claim 8 wherein the processing device further performs the operations of:

applying a statistical sampling filter to a request for the particular content; and

generating the content popularity counter for the particular content if the request passes the statistical sampling filter.

17. The networking system of claim 16 wherein the statistical sampling filter comprises generating a random number value and passing the request for the particular content through the statistical sampling filter if the random number value is less than a filter threshold value.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 068256/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 067772/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2023
From: POWER, WILLIAM R.; JAKOBOWSKI, PAWEL
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 063847/0759 →