IP Library Granted Patent US 11,272,028
Granted Patent B2
US 11,272,028 · App. 16/861,290 · Granted Mar 8, 2022

Speculative caching in a content delivery network

Inventors: Daniel Lee Jensen (Lake Balboa, CA); William Crowder (Camarillo, CA); Christopher Newton (Westlake Village, CA); William R. Power (Boulder, CO)
Assignee: Level 3 Communications, LLC
H04L67/2842H04L67/42
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 11,272,028
App. No.
16/861,290
Granted
Mar 8, 2022
Kind
B2
Abstract

A server in a content delivery (CD) network that distributes content on behalf of one or more subscribers. Responsive to a request from a client for a particular resource, if the particular resource is already in a cache on the server, serving the particular to the client from the cache; otherwise if the particular resource is not already cached on the server, when a count value exceeds a first threshold value, obtaining, caching, and serving the particular resource. When the count value is less than a second threshold value, obtaining and serving the particular resource. When the count value is: (i) not less than the second threshold value, and (ii) not greater than the first threshold value, then obtaining the particular resource and selectively caching the particular resource; and serving the particular resource to the client.

Claims (23)

1. A computer-implemented method operable on a server in a content delivery (CD) network, wherein said CD network (CDN) distributes content on behalf of one or more subscribers, the method comprising, at said server:

(A) setting a first threshold value (min_uses) and a second threshold value (min_uses_floor), said second threshold value being less than or equal to said first threshold value; and

(B) in response to a request from a client for a particular resource (R),

(B)(1) if said particular resource is already in a cache on said server, serving said particular to said client from said cache; otherwise

(C) if said particular resource (R) is not already cached on said server,

(C)(1) scaling said first threshold value to produce a scaled first threshold value based on (i) said second threshold value, and (ii) an amount of space available in cache, and

(C)(2) determining whether a count value (Count(R)) associated with said particular resource exceeds said scaled first threshold value (min_uses), and,

(C)(3) based on said determining in (C)(2), when said count value (Count(R)) exceeds said scaled first threshold value,

(C)(3)(1) obtaining said particular resource (R);

(C)(3)(2) caching said particular resource (R) obtained in (C)(3)(1); and

(C)(3)(3) serving said particular resource (R) to said client; and,

(C)(4) based on said determining in (C)(2), when said count value (Count(R)) is does not exceed said scaled second threshold value,

(C)(4)(1) obtaining said particular resource (R); and

(C)(4)(2) serving said particular resource (R) to said client,

wherein said cache is divided into multiple parts, and wherein said particular resource (R) maps to one of said parts for caching, and wherein said amount of space available in cache comprises an amount of space in the one of said parts into which the particular resource (R) maps for caching.

2. The method of claim 1 , wherein said obtaining in (C)(3)(1) and in (B)(4)(1) obtains said particular resource from a location distinct from said server.

3. The method of claim 2 , wherein said location is selected from: (i) an origin server; and (ii) a peer server of said server.

4. The method of claim 1 , wherein said request from said client comprises a uniform resource locator (URL) associated with said particular resource (R).

5. The method of claim 4 , wherein said method further comprises:

modifying a request header associated with said request from said client prior to said obtaining in (C)(3)(1).

6. The method of claim 5 , wherein said request header is modified to remove at least one range header item.

7. The method of claim 1 , further comprising:

incrementing said count value (Count(R)) associated with said particular resource.

Assignments (2)
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 May 8, 2020
From: JENSEN, DANIEL LEE; CROWDER, WILLIAM; NEWTON, CHRISTOPHER; POWER, WILLIAM R.
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 052609/0122 →
Continuity (2)
Continuation 15960393 · Apr 23, 2018
Related Publication 20200259915A1 · Aug 13, 2020