IP Library Granted Patent US 11,089,128
Granted Patent B2
US 11,089,128 · App. 16/528,009 · Granted Aug 10, 2021

Content node selection using network performance profiles

Inventor: Artur Bergman (San Francisco, CA)
Assignee: Fastly, Inc.
H04L67/2842H04L45/14H04L45/70H04L47/283H04L61/1511H04L67/16
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,089,128
App. No.
16/528,009
Granted
Aug 10, 2021
Kind
B2
Abstract

A communication system exchanges communications between end user devices, content delivery nodes (CDN) of a content delivery system, and a control system that selects CDNs of the content delivery system. The control system receives a domain name lookup request issued by an end user device for retrieving content cached by one or more CDNs of the content delivery system. The control system associates the end user device with a network performance profile to select a CDN of the content delivery system. The control system transfers a network address associated with the selected CDN for receipt by the end user device responsive to the domain name lookup request.

Claims (48)

1. A method of operating an edge network comprising:

in one or more cache servers, caching content obtained from one or more content origins served by the edge network;

receiving address requests from end user devices for network addresses with which to request the content;

for at least an address request of the address requests:

identifying a network performance profile, the network performance profile comprising an Internet Service Provider (ISP) and transfer performance data, to which an end user device belongs based at least on a user ISP through which the end user device connects to the edge network matching the Internet service provider (ISP);

identifying a network address based at least on the transfer performance data of the network performance profile identified for the end user device; and

replying to the address request with the network address identified for the end user device;

receiving content requests at the network addresses sent to the end user devices; and

responding to the content requests with the content.

2. The method of claim 1 wherein identifying the network performance profile to which the end user device belongs comprises selecting the network performance profile from possible network performance profiles corresponding to address ranges of the end user devices.

3. The method of claim 2 wherein the address ranges correspond to different available Internet service providers that provide Internet access to the end user devices.

4. The method of claim 3 wherein each of the possible network performance profiles identifies a predicted network performance between a given one of the available Internet service providers and a given one of the network addresses.

5. The method of claim 4 wherein the predicted network performance comprises a latency of traffic.

6. The method of claim 5 further comprising tracking the latency of traffic for each unique pairing of the available Internet service providers with the network addresses.

7. The method of claim 6 further comprising populating each of the possible network performance profiles with the latency of traffic tracked for a given pairing of an available Internet service provider with a network address.

8. The method of claim 1 wherein the address requests comprise domain name system (DNS) lookup requests.

9. The method of claim 8 wherein the network addresses comprise Internet protocol addresses.

10. A system comprising:

a means for caching content obtained from one or more content origins served by an edge network;

a means for receiving address requests from end user devices for network addresses with which to request the content;

for at least an address request of the address requests:

a means for identifying a network performance profile, the network performance profile comprising an Internet Service Provider (ISP) and transfer performance data, to which an end user device belongs based at least on a user ISP through which the end user device connects to the edge network matching the Internet service provider (ISP);

a means for identifying a network address based at least on the transfer performance data of the network performance profile identified for the end user device; and

a means for replying to the address request with the network address identified for the end user device;

a means for receiving content requests at the network addresses sent to the end user devices; and

a means for responding to the content requests with the content.

11. The system of claim 10 wherein the address requests comprise domain name system (DNS) lookup requests.

12. The system of claim 11 wherein the network addresses comprise Internet protocol addresses.

13. A computing apparatus comprising:

one or more computer readable storage media;

one or more processors operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when executed by the one or more processors, direct the computing apparatus to at least:

receive address requests from end user devices for network addresses with which to request content cached by cache nodes in an edge network on behalf of one or more content origins served by the edge network; and

for at least an address request of the address requests:

identify a network performance profile, the network performance profile comprising an Internet Service Provider (ISP) and transfer performance data, to which an end user device belongs based at least on a user ISP through which the end user device connects to the edge network matching the Internet service provider (ISP);

identify a network address based at least on the transfer performance data of the network performance profile identified for the end user device; and

reply to the address request with the network address identified for the end user device.

14. The computing apparatus of claim 13 wherein the program instructions further direct the computing apparatus to:

receive content requests at the network addresses sent to the end user devices; and

respond to the content requests with the content.

15. The computing apparatus of claim 13 wherein to identify the network performance profile to which the end user device belongs, the program instructions direct the computing apparatus to select the network performance profile from possible network performance profiles corresponding to address ranges of the end user devices.

16. The computing apparatus of claim 15 wherein the address ranges correspond to different available Internet service providers that provide Internet access to the end user devices.

17. The method of claim 16 wherein each of the possible network performance profiles identifies a predicted network performance between a given one of the available Internet service providers and a given one of the network addresses.

18. The computing apparatus of claim 17 wherein the predicted network performance comprises a latency of traffic.

19. The computing apparatus of claim 18 wherein the program instructions further direct the computing apparatus to:

track the latency of traffic for each unique pairing of the available Internet service providers with the network addresses; and

populate each of the possible network performance profiles with the latency of traffic tracked for a given pairing of an available Internet service provider with a network address.

20. The computing apparatus of claim 13 wherein the address requests comprise domain name system (DNS) lookup requests and wherein the network addresses comprise Internet protocol addresses.

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 Jul 31, 2019
From: BERGMAN, ARTUR
To: FASTLY, INC.
Reel/Frame 049921/0150 →
Continuity (3)
Continuation 14485174 · Sep 12, 2014
Provisional Application 61900481 · Nov 6, 2013
Related Publication 20190356752A1 · Nov 21, 2019