IP Library Granted Patent US 10,044,609
Granted Patent B2
US 10,044,609 · App. 14/488,832 · Granted Aug 7, 2018

Communication path selection for content delivery

Inventor: Artur Bergman (San Francisco, CA)
Assignee: Fastly, Inc.
H04L45/70H04L43/0852H04L43/16H04L61/1511
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,044,609
App. No.
14/488,832
Granted
Aug 7, 2018
Kind
B2
Abstract

Disclosed herein are methods, systems, and software for modifying a communication path based on content delivery performance data. In one example, a method of operating a content server that hosts content to be provided to a plurality of end user devices includes identifying latency data for a plurality of end user devices communicating with the content server, and identifying that the one or more end user devices in the plurality of end user devices exceed a latency threshold based on the latency data. The method further includes, in response to identifying that the one or more end user devices in the plurality of end user devices exceed the latency threshold, modifying the communication path between the content server and the one or more end user devices by modifying a domain name system (DNS) configuration for the content server.

Claims (80)

1. A method of operating a content server that hosts network content, the method comprising:

identifying, latency data associated with communication between the content server and a first content delivery internet service provider (CDISP) and communication between the first CDISP and a plurality of end user devices;

identifying an end user device in the plurality of end user devices that exceeds a latency threshold based on the latency data; and

in response to identifying the end user device in the plurality of end user devices that exceeds the latency threshold:

identifying a second CDISP; and

modifying a domain name system (DNS) configuration for the content server, such that the communication path from the end user device to the content server goes through the second CDISP.

2. The method of claim 1 wherein the content server comprises an origin server.

3. The method of claim 1 wherein modifying the DNS configuration for the content server comprises modifying an Internet Protocol (IP) address provided to the end user device.

4. The method of claim 1 further comprising:

identifying an additional end user device in the plurality of end user devices; and

responsive to identifying the additional end user device, modifying the DNS configuration for the content server, such that a second communication path between the content server and the additional end user device goes through the second CDISP.

5. The method of claim 4 wherein altering the DNS configuration for the content server comprises altering an Internet Protocol (IP) address provided to the additional end user device for the content server.

6. The method of claim 4 wherein identifying the additional end user device in the plurality of end user devices comprises identifying the additional end user device using the same Internet Service Provider as the end user device.

7. The method of claim 4 wherein the end user device and the additional end user device comprise end user devices within a range of IP addresses.

8. The method of claim 1 wherein the latency data comprises at least timing information for satisfying content requests.

9. The method of claim 1 wherein the latency threshold comprises a predefined latency time for satisfying content requests.

10. A method of claim 1 , further comprising:

receiving a content request from an end user device from the plurality of end user devices;

delivering the requested content through the second CDISP.

11. A computer apparatus to operate a content server that hosts network content, the computer apparatus comprising:

processing instructions that direct the content server, when executed by the content server, to:

identify latency data from communication between the content server and a first content delivery internet service provider (CDISP) and communication between the first CDISP and the plurality of end user devices;

identify that an end user device in the plurality of end user devices that exceeds a latency threshold based on the latency data; and

in response to identifying, that the end user device in the plurality of end user device that exceeds the latency threshold:

identify a second CDISP; and

modify a domain name system (DNS) configuration for the content server, such that a communication path from the end user device to the content server goes through the second CDISP; and

non-transitory computer readable media that store the processing instructions.

12. The computer apparatus of claim 11 wherein the processing instructions to modify the DNS configuration for the content server, such that the communication path between the content server and the end user device to the content server goes through the second CDSIP further direct the content server to modify an Internet Protocol (IP) address provided to the end user device.

13. The computer apparatus of claim 11 wherein the processing instructions further direct the content server to:

identify an additional end user device in the plurality of end user devices; and

modify the DNS configuration for the content server, such that a second communication path between the content server and the additional end user device goes through the second CDISP.

14. The computer apparatus of claim 13 wherein the processing instructions to modify the DNS configuration for the content server, such that the second communication path between the content server and the additional end user device goes through the second CDISP further direct the content server to modify an Internet Protocol (IP) address provided to the additional end user device.

15. The computer apparatus of claim 13 wherein the processing instructions to identify the additional end user device in the plurality of end user devices direct the content server to identify the additional end user device using the same Internet Service Provider as the end user device.

16. The computer apparatus of claim 13 wherein the end user device and the additional end user device comprise end user devices within a range of IP addresses.

17. The computer apparatus of claim 11 wherein the latency data comprises at least timing information for satisfying content requests.

18. The computer apparatus of claim 11 wherein the latency threshold comprises a predefined latency time for satisfying content requests.

19. The computer apparatus of claim 11 wherein the processing instructions further direct the content server to:

receive a content request from an end user device from the plurality of end user devices;

deliver the requested content through the second CDISP.

20. A system having a content server that hosts content to be provided to a plurality of end user devices, the system comprising:

a domain name system (DNS) configured to provide Internet Protocol (IP) addresses to the plurality of end user devices based on a DNS configuration for the content server; and

the content server configured to:

identify content delivery performance data from communication between the content server and a first content delivery internet service provider (CDISP) and communication between the first CDISP and the plurality of end user devices;

identify an end user device in the plurality of end user devices that meets a performance condition based on the content delivery performance data; and

in response to identifying that the end user device in the plurality of end user devices meets the performance condition:

identify a second CDISP; and

transferring to the DNS, a DNS modification notification regarding the DNS configuration for the content server, the DNS modification notification comprises instructing the DNS to modify the DNS configuration for the content server, such that a communication path from the end user device to the content server goes through the second CDISP by.

21. The system of claim 20 wherein the content delivery performance data comprises at least timing information for satisfying content requests.

22. The system of claim 20 wherein the DNS modification notification comprises a notification to change the IP address provided to the end user device.

23. The system of claim 20 , wherein the content server configured to:

receive a content request from an end user device from the plurality of end user devices;

deliver the requested content through the second CDISP.

24. A method of operating a content server that hosts network content, the method comprising:

Identifying latency data from communication between the content server and a first content delivery internet service provider (CDISP) and communication between the first CDISP and the plurality of end user devices, wherein a first Internet Protocol (IP) address is associated with the first CDISP;

receiving a content request from an end user device from the plurality of end user devices;

identifying an end user device in the plurality of end user devices that exceeds a latency threshold based on the latency data; and

in response to identifying the end user device in the plurality of end user devices that exceeds the latency threshold:

identifying a second IP address associated with a second CDISP; and

modifying a domain name system (DNS) configuration for the content server, such that the communication path from the end user device to the content server goes through the second CDISP;

delivering the requested content through the second CDISP.

25. A computer apparatus to operate a content server that hosts network content, the computer apparatus comprising:

processing instructions that direct the content server, when executed by the content server, to:

identify latency data from communication between the content server and a first content delivery internet service provider (CDISP) and communication between the first CDISP and the plurality of end user devices;

receive a content request from an end user device from the plurality of end user devices;

identify an end user device in the plurality of end user devices that exceeds a latency threshold based on the latency data; and

in response to identifying the end user device in the plurality of end user device that exceeds the latency threshold:

identify a second CDISP; and

modify a domain name system (DNS) configuration for the content server, such that a communication path from the end user device to the content server goes through the second CDISP; and

deliver the requested content through the second CDISP; and

non-transitory computer readable media that store the processing instructions.

26. A system having a content server that hosts content to be provided to a plurality of end user devices, the system comprising:

a domain name system (DNS) configured to provide Internet Protocol (IP) addresses to the plurality of end user devices based on a DNS configuration for the content server; and

the content server configured to:

identify content delivery performance data from communication between the content server and a first content delivery internet service provider (CDISP) and communication between the first CDISP and the plurality of end user devices;

receive a content request from an end user device from the plurality of end user devices;

identify an end user device in the plurality of end user devices that meets a performance condition based on the content delivery performance data; and

in response to identifying that the end user device in the plurality of end user devices meets the performance condition:

identify a second CDISP; and

transferring to the DNS, a DNS modification notification regarding the DNS configuration for the content server, the DNS modification notification comprises instructing the DNS to modify the (DNS) configuration for the content server, such that a communication path from the end user device to the content server goes through the second (CDISP); and

deliver the requested content through the second CDISP.

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 Sep 17, 2014
From: BERGMAN, ARTUR
To: FASTLY, INC.
Reel/Frame 033758/0879 →
Continuity (2)
Provisional Application 61935640 · Feb 4, 2014
Related Publication 20150222536A1 · Aug 6, 2015