IP Library Granted Patent US 8,380,851
Granted Patent B2
US 8,380,851 · App. 13/462,899 · Granted Feb 19, 2013

Domain name resolution resource allocation

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 8,380,851
App. No.
13/462,899
Granted
Feb 19, 2013
Kind
B2
Abstract

A content delivery network (CDN) for delivering content over the Internet is disclosed in one embodiment. The CDN includes a domain resolution service (DNS) server, caching servers and an Internet interface. The caching servers correspond to a plurality of addresses. The DNS server receives two domain resolution requests corresponding to a same domain and produces two different DNS solutions, each corresponding to a subset of caching servers. The interface receives domain resolution requests, including the two domain resolution requests, and transmits DNS solutions, including the two DNS solutions. The processing power is generally matched between the two DNS solutions.

Claims (94)

1. A content delivery network (CDN) for delivering content over the Internet using a plurality of points of presence (PoPs) that are geographically distributed, wherein the CDN is configured to deliver content for others, the CDN comprising:

a domain resolution service (DNS) server, wherein:

the plurality of PoPs include a first PoP, a second PoP and a third PoP;

the DNS server is located in the first PoP;

the DNS server is configured to receive a first domain resolution request and produces a first DNS solution, the first domain resolution request corresponding to a first domain,

the DNS server is configured to receive a second domain resolution request and produces a second DNS solution, the second domain resolution request corresponding to a second domain, the first and second domains being the same, and

the DNS server is configured to receive a third domain resolution request and produces a third DNS solution, the third domain resolution request corresponding to a third domain, the first and third domains being different;

a plurality of caching servers located within the plurality of PoPs, wherein the plurality of caching servers correspond to a plurality of addresses; and

an interface with the Internet for the first PoP, wherein:

the interface is configured to:

receive a plurality of domain resolution requests, and

transmit a plurality of DNS solutions,

the plurality of DNS solutions comprise the first, second and third DNS solutions,

the plurality of domain resolution requests comprise the first, second and third domain resolution requests,

the first DNS solution comprises a first plurality of addresses corresponding to at least a first subset of the plurality of caching servers, wherein a first number characterizes how many caching servers are in the first subset, and wherein the first plurality of addresses includes a first address,

the first DNS solution is provided at a first time,

the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the plurality of caching servers, wherein a second number characterizes how many caching servers are in the second subset, the second number being the same as the first number,

the second DNS solution is provided at a second time, the second time being different than the first time,

the third DNS solution comprises a third plurality of addresses corresponding to at least a third subset of the plurality of caching servers, wherein a third number characterizes how many caching servers are in the third subset, the third number being different than the first number,

the first DNS solution is different from the second DNS solution in that the first subset includes the first address for a first caching server, wherein the first address is not in the second subset.

2. The CDN for delivering content over the Internet as recited in claim 1 , wherein the first caching server not in the second subset is no longer allocated for DNS solutions corresponding to the domain is based, at least in part, on one or more of:

a content originator and/or content object; and

an associated service level.

3. The CDN for delivering content over the Internet as recited in claim 1 , wherein the first number is determined based on activity associated with the first domain relative to one or more thresholds.

4. The CDN for delivering content over the Internet as recited in claim 1 , wherein the second subset includes a second caching server not in the first subset to replace the first caching server not in the second subset.

5. The CDN for delivering content over the Internet as recited in claim 4 , wherein the second caching server not in the first subset is chosen to generally match a processing power of the first caching server not in the second subset.

6. The CDN for delivering content over the Internet as recited in claim 5 , wherein:

the processing power is determined using one or more figures of merit; and

the one or more figures of merit characterize the plurality of caching servers in a subset.

7. The CDN for delivering content over the Internet as recited in claim 1 , wherein:

the first and second DNS solutions list common addresses in the first and second subsets in a different order; and

the different order varies in at least one of a mixed-up fashion, a round-robin fashion, or a random fashion.

8. The CDN for delivering content over the Internet as recited in claim 1 , further comprising a wide area network coupling the plurality of caching servers together, wherein at least one of the plurality of caching servers is geographically remote from the others in the plurality of caching servers.

9. A method for delivering content over the Internet using a plurality of points of presence (PoPs) that are geographically distributed, wherein the method comprises:

receiving a first domain resolution request with a PoP from the plurality of PoPs;

producing a first DNS solution with the PoP corresponding to the first domain resolution request;

returning the first DNS solution from the PoP;

receiving a second domain resolution request with the PoP;

producing a second DNS solution with the PoP corresponding to the second domain resolution request;

returning the second DNS solution from the PoP;

receiving a third domain resolution request with the PoP;

producing a third DNS solution with the PoP corresponding to the third domain resolution request; and

returning the third DNS solution from the PoP, wherein:

the first and-second domain resolution requests correspond to a same domain or content originator,

the first and-third domain resolution requests correspond to a different domain or content originator,

a plurality of servers corresponding to a plurality of addresses,

the first DNS solution comprises a first plurality of addresses corresponding to at least a first subset of the plurality of servers, wherein a first number characterizes how many caching servers are in the first subset,

the first DNS solution is produced at a first time,

the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the plurality of servers, wherein a second number characterizes how many caching servers are in the second subset, the second number being the same as the first number,

the second DNS solution is produced at a second time,

the third DNS solution comprises a third plurality of addresses corresponding to at least a third subset of the plurality of caching servers, wherein a third number characterizes how many caching servers are in the third subset, the third number being different than the first number, and

the first subset includes at least one server that is different from the second subset, based, at least in part, on a change in allocation of a first server for DNS solutions corresponding to the domain or content originator.

10. The method for delivering content over the Internet, as recited in claim 9 , wherein the first and third numbers are each determined based, at least in part, on one or more of:

an activity level associated with a corresponding domain;

a content originator and/or content object; and

an associated service level.

11. The method for delivering content over the Internet, as recited in claim 9 , wherein the second subset includes a replacement server chosen to replace the first server of the first subset that is not in the second subset.

12. The method for delivering content over the Internet, as recited in claim 11 , wherein the replacement server is chosen to generally match a processing power of the first server it was chosen to replace.

13. The method for delivering content over the Internet, as recited in claim 9 , wherein the second subset generally matches the processing power of the first subset of the plurality of servers.

14. The method for delivering content over the Internet, as recited in claim 13 , wherein a number of processing cores of the second subset is equal to the number of processing cores of the first subset.

15. A non-transitory machine-readable medium having machine-executable instructions for performing the machine-implementable method for delivering content over the network of claim 9 .

16. A method for delivering content over the Internet using a plurality of points of presence (PoPs) that are geographically distributed across the Internet, wherein the method comprises:

associating a first domain, a first content originator or a first content object with a first number of servers;

associating a second domain, a second content originator or a second content object with a second number of servers, the second number being different than the first number;

receiving a first domain resolution request within a PoP of the plurality of PoPs, the first domain resolution request corresponding to the first domain, the first content originator or the first content object;

determining a first set of a plurality of servers allocated to a first domain with the PoP;

producing a first DNS solution corresponding to the first domain resolution request with the PoP;

returning the first DNS solution from the PoP;

receiving a second domain resolution request with the PoP, the second domain resolution request corresponding to the first domain, the first content originator or the first content object;

determining a second set of the plurality of servers allocated to the first domain with the PoP;

producing a second DNS solution corresponding to the second domain resolution request with the PoP;

returning the second DNS solution from the PoP;

receiving a third domain resolution request with the PoP the third domain resolution request corresponding to the second domain, the second content originator or the second content object;

determining a third set of the plurality of servers allocated to the third domain with the PoP;

producing a third DNS solution corresponding to the third domain resolution request with the PoP;

returning the third DNS solution from the PoP, wherein:

a plurality of servers corresponding to a plurality of addresses,

the first DNS solution comprises a first plurality of addresses corresponding to at least a first subset of the first set, wherein the first number characterizes how many caching servers are in the first subset,

the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the second set, wherein the first number characterizes how many caching servers are in the second subset,

the third DNS solution comprises a third plurality of addresses corresponding to at least a third subset of third set, wherein the third number characterizes how many caching servers are in the third subset,

the first DNS solution includes an first address absent from the second DNS solution, and

the first and second sets are different in that they reflect change in the plurality of servers allocated to the first domain.

17. The method for delivering content over the Internet, as recited in claim 16 , further comprising determining the first number based, at least in part, on one or more of:

an activity level associated with the first domain;

a content originator and/or content object; and

an associated service level.

18. The method for delivering content over the Internet, as recited in claim 16 , wherein the first domain is associated with the first number and the second domain is associated with the second number in a look-up table.

19. The method for delivering content over the Internet, as recited in claim 18 , wherein look-up table is updated periodically.

20. The method for delivering content over the Internet, as recited in claim 16 , wherein:

the first domain is associated with the first number of servers,

the second domain is associated with the second number of servers,

the first domain resolution request corresponds to the first domain,

the second domain resolution request corresponds to the first domain, and

the third domain resolution request corresponds to the second domain.

Assignments (8)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 070071/0327 →
CHANGE OF NAME Recorded Sep 9, 2024
From: LIMELIGHT NETWORKS, INC.
To: EDGIO, INC.
Reel/Frame 068898/0281 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →