Optimal route selection in a content delivery network
First Claim
1. A method operative in a content delivery network having a set of edge servers organized into regions, wherein the edge servers provide delivery of content on behalf of participating content providers, comprising:
- for a given content provider, periodically generating a map identifying a set of alternate routes that may be used for edge server to content provider origin server communications;
in response to a request for a given file received at a given edge server, using the map to identify a direct route and a set of one or more alternate routes between the edge server and the content provider origin server;
executing a race by initiating a concurrent download of the file over each of the direct route and the set of one or more alternate routes; and
as a result of the race, determining an optimal route between the edge server and the content provider origin server.
2 Assignments
0 Petitions
Accused Products
Abstract
A routing mechanism, service or system operable in a distributed networking environment. One preferred environment is a content delivery network (CDN) wherein the present invention provides improved connectivity back to an origin server, especially for HTTP traffic. In a CDN, edge servers are typically organized into regions, with each region comprising a set of content servers that preferably operate in a peer-to-peer manner and share data across a common backbone such as a local area network (LAN). The inventive routing technique enables an edge server operating within a given CDN region to retrieve content (cacheable, non-cacheable and the like) from an origin server more efficiently by selectively routing through the CDN'"'"'s own nodes, thereby avoiding network congestion and hot spots. The invention enables an edge server to fetch content from an origin server through an intermediate CDN server or, more generally, enables an edge server within a given first region to fetch content from the origin server through an intermediate CDN region. As used herein, this routing through an intermediate server, node or region is sometimes referred to as “tunneling.”
-
Citations
20 Claims
-
1. A method operative in a content delivery network having a set of edge servers organized into regions, wherein the edge servers provide delivery of content on behalf of participating content providers, comprising:
-
for a given content provider, periodically generating a map identifying a set of alternate routes that may be used for edge server to content provider origin server communications;
in response to a request for a given file received at a given edge server, using the map to identify a direct route and a set of one or more alternate routes between the edge server and the content provider origin server;
executing a race by initiating a concurrent download of the file over each of the direct route and the set of one or more alternate routes; and
as a result of the race, determining an optimal route between the edge server and the content provider origin server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method operative in a content delivery network having a set of edge servers organized into regions, wherein the edge servers provide delivery of content on behalf of participating content providers, and wherein a given content provider origin server may be reached over a set of routes, comprising:
-
identifying one or more routes between the edge server and the content provider origin server;
in response to a request for a given file received at a given edge server, initiating a concurrent download of the given file over each of the routes; and
determining an optimal route between the edge server and the content provider origin server as a function of the concurrent downloads. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
12. A server for use in a content delivery network, comprising:
-
code executable in the server for initiating a performance metric test on a set of potential routes between the server and a given second server, wherein at least one of the potential routes passes through a server intermediate the server and the given server; and
code executable in the server for collecting and analyzing data generated as a result of the performance metric test and determining an optimal path between the server and the given server.
-
-
20. A method operative in a content delivery network having a set of content servers organized into regions, wherein the content servers provide delivery of content on behalf of participating content providers, and wherein a given content provider origin server may be reached over a set of routes including a first route as well as at least an ordered subset of the set of routes, wherein at least one route of the ordered subset includes an intermediate content server, comprising:
-
attempting to communicate data between a given one of the set of content servers and a given content provider origin server over the first route; and
if the attempt to communicate data between the given content server and the given content provider origin server over the first route fails, attempting to communicate data between the given content server and the given content provider origin server over one of the ordered subset of the set of routes.
-
Specification