IP Library Granted Patent US 7,707,314
Granted Patent B2
US 7,707,314 · App. 11/530,790 · Granted Apr 27, 2010

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 7,707,314
App. No.
11/530,790
Granted
Apr 27, 2010
Kind
B2
Abstract

A content delivery network (CDN) for delivering content over the Internet is disclosed in one embodiment. The CDN is configured to deliver content for others and includes a domain resolution service (DNS) server, caching servers and an Internet interface. The DNS server receives a first domain resolution request and produces a first DNS solution, and receives a second domain resolution request and produces a second DNS solution. The first and second domain resolution requests correspond to a same domain. The caching servers correspond to a plurality of addresses. The interface receives domain resolution requests, which include the first and second domain resolution requests, and transmits DNS solutions, which include the first and second DNS solutions. The first DNS solution comprises a first plurality of addresses corresponding to at least a first subset of the plurality of caching servers, and the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the plurality of caching servers. The first DNS solution is different from the second DNS solution in that the second subset includes an address for a caching server not in the first subset. The second subset is chosen to generally match a processing power of the first subset.

Claims (91)

1. A content delivery network (CDN) for delivering content over the Internet, the CDN comprising:

a domain resolution service (DNS) server, wherein:

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

the DNS server is configured to receive a second domain resolution request and to produce a second DNS solution,

the DNS server is configured to match processing power for caching servers referenced in domain resolution requests for a same domain, and

the first and second domain resolution requests correspond to the same domain;

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

an interface with the Internet, 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 and second DNS solutions,

the plurality of domain resolution requests comprise the first and second 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,

the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the plurality of caching servers,

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

the second subset is chosen to match a processing power of the first subset.

2. The CDN for delivering content over the Internet as recited in claim 1 , wherein the first subset has fewer of the plurality of caching servers than are available in the plurality of DNS solutions for the domain.

3. The CDN for delivering content over the Internet as recited in claim 1 , wherein the DNS server and the plurality of caching servers are at least part of a point of presence (POP).

4. 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.

5. 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.

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

the DNS server, the plurality of caching servers, and the interface are at least part of a POP;

the POP is one of a plurality of POPs; and

at least some of the plurality of POPs are geographically separated.

7. The CDN for delivering content over the Internet as recited in claim 1 , wherein the first and second DNS solutions choose their servers from a same subset of the plurality of caching servers.

8. The CDN for delivering content over the Internet as recited in claim 1 , wherein the DNS server and caching servers arc geographically co-located.

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

at least one of the plurality of caching servers is implemented with a plurality of computers; and

the at least one corresponds to a single address in a DNS solution.

10. The CDN for delivering content over the Internet as recited in claim 1 , 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.

11. A method for delivering content over the Interact, wherein the method comprises:

receiving a first domain resolution request;

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

returning the first DNS solution;

receiving a second domain resolution request;

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

returning the second DNS solution, wherein:

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

a plurality of hardware 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 hardware servers,

the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the plurality of hardware servers,

the first plurality of addresses includes at least one address that is different from the second plurality of addresses, and

the second subset is chosen to match a processing power of the first subset.

12. The method for delivering content over the Internet as recited in claim 11 , further comprising a step of determining that at least one of the first plurality of addresses should be removed from further DNS solutions, wherein the second DNS solution does not include the one.

13. The method for delivering content over the Internet as recited in claim 11 , wherein the first subset is chosen from a larger number of servers that could be selected for DNS solutions.

14. The method for delivering content over the Internet as recited in claim 11 , wherein the first subset is smaller than the second subset.

15. A machine-readable storage medium having machine-executable instructions for causing a computer to perform the method for delivering content over the Internet of claim 11 .

16. A system adapted to perform the method for delivering content over the Internet of claim 11 .

17. A method for delivering content over a network, wherein the method comprises:

receiving a first domain resolution request; determining a set of a plurality of hardware servers allocated to a domain; producing a first DNS solution corresponding to the first domain resolution request;

returning the first DNS solution; receiving a second domain resolution request; producing a second DNS solution corresponding to the second domain resolution request; and

returning the second DNS solution with the network interface, wherein: the first and second domain resolution requests indicate the domain,

the plurality of hardware 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 set,

the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the set,

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

the second subset is chosen to match a processing power of the first subset.

18. The method for delivering content over the network as recited in claim 17 , wherein the network interface and the plurality of hardware servers are geographically collocated.

19. The method for delivering content over the network as recited in claim 17 , wherein the first and second subsets match when a number of processing cores is equal.

20. A machine-readable storage medium having machine-executable instructions for causing a computer to perform the method for delivering content over the network of claim 17 .

21. A content delivery network (CDN) for delivering content over the Internet, the CDN comprising:

a plurality of caching servers, wherein the plurality of caching servers correspond to a first plurality of server addresses, wherein:

the first plurality of server addresses are used in DNS solutions;

a second plurality of server addresses are a first subset of the first plurality of server addresses, and

a third plurality of server addresses are a second subset of the first plurality of server addresses,

an interface with the Internet, wherein the interface is configured to:

receive a plurality of domain resolution requests, including domain resolution requests for a first domain and a second domain, and

transmit a plurality of DNS solutions corresponding to the plurality of domain resolution requests;

a first DNS solution function associated with the first domain, wherein:

the first DNS solution function produces a first plurality of DNS solutions corresponding to the first domain,

the first plurality of DNS solutions are different from each other, and

each of the first plurality of DNS solutions comprises two or more addresses from the second plurality of server addresses; and

a second DNS solution function associated with the second domain, wherein:

the second DNS solution function produces a second plurality of DNS solutions corresponding to the second domain,

the second plurality of DNS solutions are different from each other, and

each of the second plurality of DNS solutions comprises two or more addresses from the third plurality of server addresses, and

the first subset is chosen from the first plurality of server addresses based, at least in part, on processing power of the plurality of caching servers indicated by the first subset.

22. The CDN for delivering content over the Internet as recited in claim 21 , wherein a server address is included in both the second and third plurality of server addresses.

23. The CDN for delivering content over the Internet as recited in claim 21 , wherein the first plurality of DNS solutions differ from each other in that the first subset appear in a different order.

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

the first DNS solution function produces a DNS solution for the first domain; and

the DNS solution is not the same as any of the first plurality of DNS solutions.

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

a server address is included in both the second and third plurality of server addresses; and

the server address is assigned object requests as a result of being used in the first and second plurality of DNS solutions.

26. The CDN for delivering content over the Internet as recited in claim 21 , wherein the first subset includes the first plurality of server addresses.

27. The CDN for delivering content over the Internet as recited in claim 21 , wherein the first and second DNS solution functions are performed with a DNS server.

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 →