IP Library Granted Patent US 10,757,068
Granted Patent B2
US 10,757,068 · App. 16/232,516 · Granted Aug 25, 2020

Enhanced domain name translation in content delivery networks

Inventors: Sean Leach (Denver, CO); Artur Bergman (San Francisco, CA); Tyler McMullen (San Francisco, CA); Alan Kasindorf (Mountain View, CA)
Assignee: Fastly, Inc.
H04L61/1511H04L61/1552H04L67/18H04L67/2842
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 10,757,068
App. No.
16/232,516
Granted
Aug 25, 2020
Kind
B2
Abstract

Systems, methods, apparatuses, and software for operating content delivery networks are provided herein. In one example, a method of operating a domain name translation node in a first point-of-presence of a content delivery network is presented. The method includes receiving a translation message issued by an end user device for translation of a domain name into a content network address, and processing the translation message to identify a network address of a node that transferred the translation message. The method also includes selecting the content network address based at least in part on correlations between network addresses and performance factors to direct the end user device to a target cache node at a point-of-presence different than the point-of-presence of the domain name translation node, and transferring a response message indicating the content network address which directs the end user device to the target cache node at the second point-of-presence.

Claims (49)

1. A method of operating a content delivery network, the method comprising:

receiving, in a first local domain name server (DNS) in a first point-of-presence (PoP), a message from a first regional DNS, wherein the message comprises a request to translate a domain name to a network address of a cache node that caches content requested by an end user device;

in the first local DNS, determining to serve the content to the end user device from a cache node in a second PoP, wherein the second PoP includes a second local DNS; and

providing the network address of the cache node from the first local DNS to the end user device.

2. The method of claim 1 , further comprising, prior to providing the end user device with the network address of the cache node, translating the domain name to the network address of the cache node.

3. The method of claim 2 , wherein providing the end user device with the network address of the cache node comprises:

in the first local DNS, redirecting the message to a second local DNS in the second PoP; and

in the second local DNS, providing the end user device with the network address of the cache node.

4. The method of claim 1 , further comprising:

identifying a network address of the first regional DNS; and

identifying the cache node based on the network address of the first regional DNS.

5. The method of claim 1 , further comprising:

evaluating performance factors of multiple PoPs based at least on latencies of domain name translations; and

generating a data structure relating network addresses of the multiple PoPs and the performance factors.

6. The method of claim 5 , wherein determining to serve the content to the end user device from a cache node in a second PoP is based on the data structure.

7. The method of claim 1 , further comprising:

embedding code in content delivered to end user device that, when executed by the end user device, causes the end user device to monitor data latency statistics;

receiving the data latency statistics from the end user device; and

determining the cache node to serve the content based on the latency statistics.

8. A method of operating a first local domain name system (DNS) in a first point-of-presence (PoP), the method comprising:

receiving, at the first local DNS, a request from an end user device to translate a domain name to a network address of a cache server that stores content requested by the end user device;

determining, at the first local DNS, that the content should be served to the end user device from a cache server in a second PoP, wherein the second PoP includes a second local DNS;

providing the network address of the cache server in the second PoP to the end user device from the first local DNS.

9. The method of claim 8 , wherein providing the network address of the cache server in the second PoP to the end user device does not involve the second local DNS.

10. The method of claim 8 , wherein the first PoP and the second PoP are in the same content delivery network and each comprise cache nodes, wherein the cache nodes cache content originating from origin servers.

11. The method of claim 8 , further comprising:

identifying a network address of the first regional DNS; and

determining that content should be served to end user device from the cache server in the second PoP based on the network address of the first regional DNS.

12. The method of claim 8 , further comprising:

evaluating relative performances of a plurality of PoPs based at least on latencies of domain name translations; and

generating a data structure relating network addresses of the plurality of PoPs and their relative performances.

13. The method of claim 12 , wherein determining that the content should be served to the end user device from the cache server in the second PoP is based on the data structure.

14. The method of claim 8 , further comprising:

embedding code in content delivered to end user device that, when executed by the end user device, causes the end user device to monitor data latency statistics;

receiving the data latency statistics from the end user device; and

determining the cache node to serve the content based on the latency statistics.

15. A content delivery network comprising:

a means for receiving a message at a first local domain name server (DNS) of a first point-of-presence (PoP), wherein the message comprises a request to translate a domain name to a network address of a cache node that caches content requested by an end user device;

a means for determining to serve the content to the end user device from a cache node in a second PoP, wherein the second PoP includes a second local DNS; and

a means for providing the network address of the cache node from the first PoP to the end user device, wherein the cache node comprises a server in the second PoP.

16. The content delivery network of claim 15 , further comprising a means for translating the domain name to the network address of the cache node prior to providing the end user device with the network address of the cache node.

17. The content delivery network of claim 16 , wherein the means for providing the end user device with the network address of the cache node comprises a means in the first PoP for providing the end user device with the network address, without involving the second local DNS.

18. The content delivery network of claim 15 , further comprising:

a means for identifying a network address of a first regional DNS from which the message is received at the first PoP; and

a means for identifying the cache node based on the network address of the first regional DNS.

19. The content delivery network of claim 15 , further comprising:

a means for evaluating performance factors of multiple PoPs based at least on latencies of domain name translations; and

a means for generating a data structure relating network addresses of the multiple PoPs and the performance factors.

20. The content delivery network of claim 19 , wherein determining to serve the content to the end user device from a cache node in a second PoP is based on the data structure.

Assignments (2)
SECURITY INTEREST Recorded Feb 17, 2021
From: FASTLY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AND COLLATERAL AGENT
Reel/Frame 055316/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2018
From: LEACH, SEAN; BERGMAN, ARTUR; MCMULLEN, TYLER; KASINDORF, ALAN
To: FASTLY, INC.
Reel/Frame 047853/0239 →
Continuity (3)
Continuation 14989493 · Jan 6, 2016
Provisional Application 62235866 · Oct 1, 2015
Related Publication 20190273713A1 · Sep 5, 2019