IP Library Granted Patent US 10,700,969
Granted Patent B2
US 10,700,969 · App. 16/038,009 · Granted Jun 30, 2020

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,700,969
App. No.
16/038,009
Granted
Jun 30, 2020
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 (39)

1. A method comprising:

assigning multiple network addresses to a content server in a content delivery network, comprising assigning at least a first network address and a second network address to the content server, wherein the content server caches content on behalf of an origin;

providing a different one of the multiple network addresses to each of multiple Internet service providers that route content requests for the content from other Internet service providers to the content server, comprising:

announcing the first network address to only a first one of the multiple Internet service providers; and

announcing the second network address to only a second one of the multiple Internet service providers;

identifying a latency of a path taken by a subset of the content requests addressed to one of the multiple network addresses, wherein the path includes one of the other Internet service providers;

identifying a latency of one other path taken by one other subset of the content requests addressed to one other of the multiple network addresses, wherein the one other path includes the one of the other Internet service providers; and

providing translations for domain name requests associated with the origin and with the one of the other Internet service providers based at least on the latency of the path and the latency of the one other path, wherein the domain name requests associated with the origin and with the one of the other Internet service providers comprise any domain name requests that indicate a domain name associated with the origin and that are sent by end-user devices having network addresses that fall within a range of network addresses associated with the one of the other Internet service providers.

2. The method of claim 1 :

wherein the content requests originate from end-user devices associated with the one of the other Internet service providers;

wherein the path taken by the subset of the content request traverses at least the one of the other Internet service providers and a first one of the multiple Internet service providers, but not a second one of the multiple Internet service providers; and

wherein the one other path taken by the one other subset of the content requests traverses at least the one of the other Internet service providers and the second one of the multiple Internet service providers, but not the first one of the multiple Internet service providers.

3. The method of claim 1 wherein the subset of the content requests are addressed to the first network address and wherein the one other subset of the content requests are addressed to the second network address.

4. The method of claim 1 wherein providing the translations for the domain name requests comprises identifying a preferred address of at least the first network address and the second network address based on which one of at least the path and the one other path has a lowest latency.

5. The method of claim 4 wherein providing the translations for the domain name requests further comprises specifying that the domain name associated with the origin be translated to the preferred network address for each of the domain name requests that originate from end-user devices served by the one of the other Internet service providers.

6. The method of claim 5 further comprising:

receiving subsequent domain name requests associated with the origin and with the one of the other Internet service providers; and

translating the domain name in the domain name requests to only the preferred network address, until a change in a respective latency of at least the path and the one other path results in a change to the preferred network address.

7. The method of claim 1 wherein the multiple network addresses comprise Internet protocol (IP) addresses.

8. A computing apparatus comprising:

one or more computer readable storage media;

a processing system 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 processing system, direct the computing apparatus to at least:

assign at least a first network address and a second network address to a content server to assign multiple network addresses to a content server in a content delivery network, wherein the content server caches content on behalf of an origin;

announce the first network address to only a first one of multiple Internet service providers and announce a second network address to only a second one of the multiple Internet service providers to provide a different one of the multiple network addresses to each of the multiple Internet service providers that route content requests for the content from other Internet service providers to the content server;

identify a latency of a path taken by a subset of the content requests addressed to one of the multiple network addresses, wherein the path includes one of the other Internet service providers;

identify a latency of one other path taken by one other subset of the content requests addressed to one other of the multiple network addresses, wherein the one other path includes the one of the other Internet service providers; and

provide translations for domain name requests associated with the origin and with the one of the other Internet service providers based at least on the latency of the path and the latency of the one other path, the domain name requests associated with the origin and with the one of the other Internet service providers comprising any domain name requests that indicate a domain name associated with the origin and that are sent by end-user devices having network addresses that fall within a range of network addresses associated with the one of the other Internet service providers.

9. The method of claim 8 :

wherein the content requests originate from end-user devices associated with the one of the other Internet service providers;

wherein the path taken by the subset of the content request traverses at least the one of the other Internet service providers and a first one of the multiple Internet service providers, but not a second one of the multiple Internet service providers; and

wherein the one other path taken by the one other subset of the content requests traverses at least the one of the other Internet service providers and the second one of the multiple Internet service providers, but not the first one of the multiple Internet service providers.

10. The method of claim 8 wherein the subset of the content requests are addressed to the first network address and wherein the one other subset of the content requests are addressed to the second network address.

11. The method of claim 8 wherein to provide the translations for the domain name requests, the program instructions direct the computing apparatus to identify a preferred address of at least the first network address and the second network address based on which one of at least the path and the one other path has a lowest latency.

12. The method of claim 11 wherein to provide the translations for the domain name requests, the program instructions further direct the computing apparatus to specify that the domain name associated with the origin be translated to the preferred network address for each of the domain name requests that originate from end-user devices served by the one of the other Internet service providers.

13. The method of claim 12 wherein the program instructions, when executed by the processing system, further direct the computing apparatus to:

receive subsequent domain name requests associated with the origin and with the one of the other Internet service providers; and

translate the domain name in the domain name requests to only the preferred network address, until a change in a respective latency of at least the path and the one other path results in a change to the preferred network address.

14. The method of claim 8 wherein the multiple network addresses comprise Internet protocol (IP) 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 17, 2018
From: BERGMAN, ARTUR
To: FASTLY, INC.
Reel/Frame 046375/0536 →
Continuity (3)
Continuation 14488832 · Sep 17, 2014
Provisional Application 61935640 · Feb 4, 2014
Related Publication 20190014042A1 · Jan 10, 2019