IP Library Granted Patent US 12,457,192
Granted Patent B2
US 12,457,192 · App. 18/517,660 · Granted Oct 28, 2025

Dynamic binding and load determination in a content delivery network

Inventor: Christopher Newton (Westlake Village, CA)
Assignee: Sandpiper CDN, LLC
H04L61/4511H04L61/25H04L61/3025H04L61/50H04L67/02H04L67/1004H04L2101/355
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,457,192
App. No.
18/517,660
Granted
Oct 28, 2025
Kind
B2
Abstract

A content provider has a plurality of content provider domain names, and a content delivery network (CDN) allocates a plurality of CDN domain names to the particular content provider. The content provider domain names are mapped to the CDN domain names. CDN domain names are bound to corresponding CDN clusters. The binding of the of CDN domain names to corresponding CDN clusters is modified.

Claims (44)

1 . A computer-implemented method, in a network, wherein said network delivers data on behalf of a data provider, and wherein the data provider has a first plurality of provider domain names associated therewith, and wherein said network allocates a first plurality of network domain names to said data provider, and wherein said first plurality of provider domain names are mapped to said first plurality of network domain names, wherein said network comprises a plurality of clusters, the method comprising:

(A) maintaining a binding of said first plurality of network domain names to corresponding clusters, wherein each of said first plurality of network domain names is bound to at least one cluster;

(B) maintaining, for at least some of said clusters, a first mapping; and then

(C) determining a second mapping, based on at least correlating the first plurality of provider domain names included in one or more data requests received at one or more clusters with the one or more clusters receiving such requests and using the first mapping to correlate the first plurality of provider domain names to the first plurality of network domain names; and

(D) determining an amount of traffic or load associated with a particular domain name of said data provider; and

(E) based at least in part on said amount of traffic or load determined in (D) and the second mapping, modifying said binding of said first plurality of network domain names to corresponding clusters.

2 . The method of claim 1 , wherein said plurality of provider domain names are mapped in a many-to-one relationship to a plurality of network hostnames.

3 . The method of claim 1 , wherein said plurality of provider domain names are mapped using canonical names (CNAMEs) to said plurality of network domain names.

4 . The method of claim 1 , wherein each of said first plurality of network domain names has a corresponding unique identifier associated therewith.

5 . The method of claim 4 , wherein a set of cluster/VIP pairs associated with each network domain name is determined based on a hash function applied to the unique identifier associated with that network domain name.

6 . The method of claim 1 , wherein a set of cluster/VIP pairs associated with each network domain name is unique for each network domain name.

7 . The method of claim 1 , wherein each network domain name has a unique VIP at each of a plurality of clusters.

8 . The method of claim 1 , wherein the binding of said first plurality of network domain names to corresponding clusters is maintained in a rendezvous system of said network.

9 . The method of claim 1 , wherein, for said determining in (C), the one or more requests comprise one or more requests for data of said data provider.

10 . The method of claim 1 , wherein said modifying in (E) increases the number of clusters associated with a particular network domain name.

11 . The method of claim 1 , wherein said modifying in (E) decreases the number of clusters associated with a particular network domain name.

12 . The method of claim 1 , wherein at least one of said clusters comprises multiple marker clusters.

13 . A nontransitory article of manufacture comprising a computer-readable medium having program instructions stored thereon, the program instructions, operable on a computer system in a network,

wherein said network delivers data on behalf of a data provider, and

wherein the data provider has a first plurality of provider domain names associated therewith, and wherein said network allocates a first plurality of network domain names to said data provider, and wherein said first plurality of provider domain names are mapped to said first plurality of network domain names, wherein said network comprises a plurality of clusters,

wherein execution of the program instructions by one or more processors of said computer system causes the one or more processors to carry out the acts of:

(A) maintaining a binding of said first plurality of network domain names to corresponding clusters, wherein each of said first plurality of network domain names is bound to at least one cluster;

(B) maintaining, for at least some of said clusters, a first mapping; and then

(C) determining a second mapping, based on at least correlating the first plurality of provider domain names included in one or more data requests received at one or more clusters with the one or more clusters receiving such requests and using the first mapping to correlate the first plurality of provider domain names to the first plurality of network domain names; and

(D) determining an amount of traffic or load associated with a particular domain name of said data provider; and

(E) based at least in part on said amount of traffic or load determined in (D) and the second mapping, modifying said binding of said first plurality of network domain names to corresponding clusters.

14 . The nontransitory article of manufacture of claim 13 , wherein said plurality of content provider domain names are mapped in a many-to-one relationship to a plurality of network hostnames.

15 . The nontransitory article of manufacture of claim 13 , wherein said plurality of provider domain names are mapped using canonical names (CNAMEs) to said plurality of network domain names.

16 . The nontransitory article of manufacture of claim 13 , wherein each of said first plurality of network domain names has a corresponding unique identifier associated therewith.

17 . The nontransitory article of manufacture of claim 16 , wherein a set of cluster/VIP pairs associated with each network domain name is determined based on a hash function applied to the unique identifier associated with that network domain name.

18 . The nontransitory article of manufacture of claim 13 , wherein a set of cluster/VIP pairs associated with each network domain name is unique for each network domain name.

19 . The nontransitory article of manufacture of claim 13 , wherein each network domain name has a unique VIP at each of a plurality of clusters.

20 . The nontransitory article of manufacture of claim 13 , wherein the binding of said first plurality of network domain names to corresponding clusters is maintained in a rendezvous system of said network.

21 . The nontransitory article of manufacture of claim 13 , wherein, for said determining in (C), the one or more requests comprise one or more requests for data of said data provider.

22 . The nontransitory article of manufacture of claim 13 , wherein at least one of said clusters comprises multiple marker clusters.

23 . A device in a network, wherein said network delivers data on behalf of a data provider, wherein the data provider has a first plurality of provider domain names associated therewith, wherein said network allocates a first plurality of network domain names to said data provider, wherein said first plurality of provider domain names are mapped to said first plurality of network domain names, wherein said network comprises a plurality of clusters, and wherein the device comprises:

at least one processor; and

memory, operatively connected to the at least one processor storing instructions that, when executed by the at least one processor, cause the device to:

(a) maintain a binding of said first plurality of network domain names to corresponding clusters, wherein each of said first plurality of network domain names is bound to at least one cluster;

(b) maintain, for at least some of said clusters, a first mapping; and then

(c) determine a second mapping, based on at least correlating the first plurality of provider domain names included in one or more data requests received at one or more clusters with the one or more clusters receiving such requests and using the first mapping to correlate the first plurality of provider domain names to the first plurality of network domain names; and

(d) determine an amount of traffic or load associated with a particular domain name of said data provider; and

(e) based at least in part on said amount of traffic or load determined in (d) and the second mapping, modify said binding of said first plurality of network domain names to corresponding clusters.

24 . The device of claim 23 , wherein said plurality of provider domain names are mapped in a many-to-one relationship to said plurality of network hostnames.

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 Nov 25, 2023
From: NEWTON, CHRISTOPHER
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 065659/0974 →
Continuity (6)
Continuation 18117191 · Mar 3, 2023
Continuation 17884612 · Aug 10, 2022
Continuation 17402678 · Aug 16, 2021
Continuation 16882930 · May 26, 2020
Continuation 15721500 · Sep 29, 2017
Related Publication 20240089233A1 · Mar 14, 2024
References Cited (39)
US 9628436B1 · Britt · 2017 [cited by applicant]
US 10616179B1 · McCarriar · 2020 [cited by applicant]
US 10673805B2 · Newton · 2020 [cited by examiner]
US 11102168B2 · Newton · 2021 [cited by examiner]
US 11418482B2 · Newton · 2022 [cited by examiner]
US 11601394B2 · Newton · 2023 [cited by examiner]
US 11831603B2 · Newton · 2023 [cited by examiner]
US 20020097724A1 · Halme et al. · 2002 [cited by applicant]
US 20040194102A1 · Neerdaels · 2004 [cited by applicant]
US 20090276842A1 · Yevmenkin et al. · 2009 [cited by applicant]
US 20090307485A1 · Weniger · 2009 [cited by examiner]
US 20110276679A1 · Newton et al. · 2011 [cited by applicant]
US 20120066360A1 · Ghosh · 2012 [cited by applicant]
US 20120124184A1 · Sakata et al. · 2012 [cited by applicant]
US 20120198043A1 · Hesketh et al. · 2012 [cited by applicant]
US 20120290693A1 · Karasaridis et al. · 2012 [cited by applicant]
US 20130246612A1 · Leighton · 2013 [cited by applicant]
US 20140149578A1 · Goldman · 2014 [cited by applicant]
US 20140173030A1 · Varney et al. · 2014 [cited by applicant]
US 20140173061A1 · Lipstone et al. · 2014 [cited by applicant]
US 20140173066A1 · Newton et al. · 2014 [cited by applicant]
US 20140173067A1 · Newton et al. · 2014 [cited by applicant]
US 20140344400A1 · Varney et al. · 2014 [cited by applicant]
US 20150046593A1 · Newton · 2015 [cited by applicant]
US 20150281367A1 · Nygren · 2015 [cited by applicant]
US 20170279805A1 · Diaz-Cuellar · 2017 [cited by examiner]
US 20180376411A1 · Rinne · 2018 [cited by examiner]
US 20190104103A1 · Newton · 2019 [cited by examiner]
US 20200287864A1 · Newton · 2020 [cited by applicant]
US 20210377209A1 · Newton · 2021 [cited by applicant]
US 20220385626A1 · Newton · 2022 [cited by applicant]
US 20230208802A1 · Newton · 2023 [cited by applicant]
Canadian Examination Report, dated Jun. 6, 2023, pplication No. 3,077,302, filed May 31, 2018; 3 pgs. [cited by applicant]
European Examination Report, dated Mar. 11, 2022, Application No. 18863729.2, filed May 31, 2018; 6 pgs. [cited by applicant]
Extended European Search Report, dated Apr. 29, 2021, Application No. 18863729.2, filed May 31, 2018; 9 pgs. [cited by applicant]
International Search Report and Written Opinion of the International Searching Authority, dated Aug. 9, 2018, Int'l Appl. No. PCT/US18/035381, Int'l Filing Date May 31, 2018; 16 pgs. [cited by applicant]
Summons to attend oral proceedings, dated Dec. 20, 2022, Application No. 18863729.2, filed May 31, 2018; 7 pgs. [cited by applicant]
Barbir, A. et al., “Known CDN Request-Routing Mechanisms draft-cain-cdnp-known-request-routing-03.txt”, Internet Engineering Task Force, IETF; StandardWorkingDraft, Internet Society (ISOC) Geneva, Switzerland; No. 3 Nov… [cited by applicant]
Douglis, F. et al., “Known Mechanisms for Content Internetworking draft-douglis-cdi-known-mech-00.txt”, Internet Engineering Task Force, IETF; StandardWorkingDraft, Internet Society (ISOC), Geneva Switzerland Nov. 8, 20… [cited by applicant]