Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20030079027 A1
Publication typeApplication
Application numberUS 09/982,721
Publication date24 Apr 2003
Filing date18 Oct 2001
Priority date18 Oct 2001
Also published asUS9021112, US20080235400, US20170163755
Publication number09982721, 982721, US 2003/0079027 A1, US 2003/079027 A1, US 20030079027 A1, US 20030079027A1, US 2003079027 A1, US 2003079027A1, US-A1-20030079027, US-A1-2003079027, US2003/0079027A1, US2003/079027A1, US20030079027 A1, US20030079027A1, US2003079027 A1, US2003079027A1
InventorsMichael Slocombe, Matthew Miller, Casey Ajalat, Vincent Fuller
Original AssigneeMichael Slocombe, Matthew Miller, Casey Ajalat, Fuller Vincent A.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Content request routing and load balancing for content distribution networks
US 20030079027 A1
Abstract
A content distribution mechanism that distributes content of a content provider at various sites across a network and selects the site that is nearest a content requestor using an anycast address that resides at each of the sites. The sites are configured as nodes (or clusters) and each node includes a content server and a DNS server. The DNS servers are so associated with the content servers at their respective nodes as to resolve the name of the content provider to the IP address of the content servers at the nodes. The DNS servers each are assigned the anycast address in addition to a unique address, and the anycast address is advertised to the network (in particular, the network routing infrastructure) using Border Gateway Protocol (BGP). Node selection occurs when the network routing infrastructure selects a shortest path to the anycast address during DNS name resolution.
Images(6)
Previous page
Next page
Claims(11)
What is claimed is:
1. A method of content delivery in a network, comprising:
associating devices in a Domain Name System (DNS) with content server systems located in the network, the content server systems maintaining and serving content of a content provider, each DNS device configured to resolve the name of the content provider to an address for the content server system with which such DNS device is associated; and
assigning to the DNS devices a common address, the common address being usable to resolve the name of the content provider such that a request for content of the content provider by a content requestor is sent to the content server system nearest the content requestor.
2. The method of claim 1, wherein the common address is an anycast address.
3. The method of claim 2, wherein routing information associated with the anycast address is advertised over the network by the DNS devices in accordance with the Border Gateway Protocol (BGP).
4. The method of claim 1, wherein the content server systems are geographically distributed across the network.
5. The method of claim 1, wherein the DNS devices are collocated with the content server systems with which the DNS devices are associated.
6. The method of claim 1, wherein each content server system and associated DNS device are located in a different Internet Service Provider Point of Presence.
7. The method of claim 1, wherein each content server system and associated DNS device is located at or near an entry point of the network.
8. The method of claim 1, where the content server systems comprise cache systems that cache content of the content provider.
9. The method of claim 8, wherein at least one of the cache systems comprises at least two cache servers connected in a cluster, and wherein the at least two cache servers are coupled to a switch usable to select from among the at least two cache servers based on a selection policy.
10. A computer program product residing on a computer-readable medium for managing a content delivery network, the computer program product comprising instructions causing a computer to:
maintain content server systems at different locations in the network to store content of a content provider and serve content to a content requester;
configure Domain Name System (DNS) devices to resolve a name of the content provider to an address for a corresponding one of the content server systems; and
assign to each of the DNS devices a common address, the common address being usable to allow a content request intended for the content provider to be sent to the content server system nearest the content requestor.
11. A content distribution system comprising:
content distribution nodes connected to a content provider, a content provider Domain Name System (DNS) server and a content requestor DNS server via the Internet, each content distribution node including a DNS server coupled to and associated with a content server system, the content server system operating to store content originating with the content provider and serve content to a content requester, and each DNS server being assigned an address common to all of the DNS servers in the content distribution nodes;
the common address being provided by the content provider DNS server to the content requestor DNS server in response to a DNS request from the content requestor DNS server, thereby enabling the content requestor DNS server to use the Internet to select a path to the content distribution node nearest the content requestor and forward the DNS request to the selected node; and
the DNS server in the selected node being configured to resolve the name of the content provider in the DNS request to an IP address of the associated content server system and cause the IP address to be returned to the content requester.
Description
    BACKGROUND
  • [0001]
    The invention relates generally to information retrieval in a network and, more particularly, to hosting and distributing content on a content delivery network such as the Internet.
  • [0002]
    The World Wide Web is the Internet's content retrieval system. In the Web environment, client systems effect transactions to Web servers using the Hypertext Transfer Protocol (HTTP), which provides clients with access to files (e.g., text, graphics, images, sound, video, etc.) using a standard page description language, for example, Hypertext Markup Language (HTML). A network path to a server is identified by a so-called Uniform Resource Locator (URL) having a special syntax for defining a network connection. Use of a Web browser at a client (end user) system involves specification of a link via the URL. In response, the client system makes a request to the server (sometimes referred to as a “Web site”) identified in the link and, in return, receives content from the Web server. The Web server can return different content data object types, such as .gif and jpeg files (graphics), .mpeg files (video), .wav files (audio) and the like.
  • [0003]
    As the Web server content provided by World Wide Web has continued to grow over time, so too has the number of users demanding access to such content. Unfortunately, the ever-increasing number of end users requesting Web content from Web sites has resulted in serious bandwidth and latency issues, which manifest themselves in delay to the end user.
  • [0004]
    To address these problems, many networking product and service providers have developed solutions that distribute Web site content across the network in some manner. One class of solutions involves replicating Web servers at multiple locations and directing traffic (by modifying the URL and forwarding, or using HTTP re-direct) to the “best” server based on a predefined selection policy, e.g., load balancing, network topology. Another class of solutions distributes content strategically and/or geographically, and often uses some type of centralized or hierarchical Domain Name System (DNS)-based site selection. The distributed sites include servers that perform reverse proxy with (or without) caching. One such technique routes traffic to a content distribution site nearest the requestor by modifying URLs in the top-level Web page. Other DNS techniques use a round robin traffic distribution to distribute load to the content sites, but do not take into account the location of the requester relative to those content sites.
  • SUMMARY
  • [0005]
    In one aspect, the invention provides a method of content delivery in a network. The method includes associating devices in a Domain Name System (DNS) with content server systems located in the network, the content server systems maintaining and serving content of a content provider, each DNS device configured to resolve the name of the content provider to an address for the content server system with which such DNS device is associated. The method further includes assigning to the DNS devices a common address, the common address being usable to resolve the name of the content provider such that a request for content of the content provider by a content requestor is sent to the content server system nearest the content requestor.
  • [0006]
    Particular implementations of the invention may provide one or more of the following advantages.
  • [0007]
    A performance benefit is gained because a content requestor can generally retrieve content from a content site closer than the origin server of the content provider. In addition, because there are multiple sites serving the content, the load from many end users is distributed among multiple systems and across different parts of the network. Also, an end user's DNS request can be routed to a content site nearest the requestor using pre-existing routing infrastructure. Because DNS uses a stateless protocol (UDP) for routing, the solution can handle anycast addressable caching without the problems associated with anycast service, namely, the protential packet-by packet load balancing site effects of protocols like TCP which maintain state information.
  • [0008]
    Other features and advantages of the invention will be apparent from the following detailed description and from the claims.
  • DESCRIPTION OF DRAWINGS
  • [0009]
    [0009]FIG. 1 is a depiction of a prior Web transaction.
  • [0010]
    [0010]FIG. 2 is a depiction of a prior Web transaction using reverse-proxy caching.
  • [0011]
    [0011]FIG. 3 is a block diagram of an exemplary content distribution network which includes content distribution nodes that support reverse-proxy caching and anycast address service to achieve distributed content delivery and load balancing.
  • [0012]
    [0012]FIG. 4 is a simplified block diagram of routing configuration software and associated table(s) (provided in the routing infrastructure of the content distribution network of FIG. 3) used to perform distributed content site selection based on anycast address routing and Border Gateway Protocol (BGP).
  • [0013]
    [0013]FIG. 5 is a depiction of an exemplary Web transaction using the content distribution network shown in FIG. 3.
  • [0014]
    Like reference numbers will be used to represent like elements.
  • DETAILED DESCRIPTION
  • [0015]
    The present invention features a content distribution mechanism for routing a content request to the nearest content distribution site in a content distribution network. It also provides for load sharing across multiple content distribution sites in a content distribution network. The content distribution mechanism has particular utility in and is therefore described within the context of an Internet-based, World Wide Web (“Web”) network infrastructure.
  • [0016]
    Hereinafter, the following terminology is used:
  • [0017]
    “Content provider” refers to an entity having a Web site on a network. Generally, the entity produces the content for the Web site. The entity may operate a Web server system or may use the services of a hosting provider.
  • [0018]
    “End user” refers to a person who wishes to view the Web content. Typically, an end user uses a Web browser, such as Netscape Navigator or Internet Explorer, executing on a computer system, e.g., a personal computer.
  • [0019]
    “Domain Name System” (DNS) refers to a collection of systems available on the public Internet that can resolve a domain name to a specific Internet Protocol (IP) address, as is known in the art.
  • [0020]
    It will be understood that reference to distance on the network, such as one server being “closer” to an end user than another server, refers to a network distance. Thus, a shorter distance implies a better path based on network criteria, and not necessarily a shorter geographic distance.
  • [0021]
    In the description to follow, a fictitious company “ABCD” is used as an example of a content provider having a Web site on a network.
  • [0022]
    [0022]FIG. 1 shows a conventional content delivery Web transaction 10. The transaction 10 involves a Web server 12 (also referred to as an “origin server”), an authoritative DNS system 14, an end-user system 16 and an end-user DNS system 18, all of which are coupled to a network 20, for example, the public Internet. The Web server 12 is a computer system containing content (e.g., Web pages) for a content provider, with the ability to provide this content in response to a Web request via the HTTP protocol. The authoritative DNS system 14 is a DNS system that can resolve domain names within the content provider's namespace.
  • [0023]
    For example, the DNS system 14 for the company “ABCD” would have information for host names ending in “.abcd.com” (such as “www.abcd.com”). Typically, the end-user system 16 is a computer being operated by an end user to perform Web “browsing” (that is, view Web pages). The end-user DNS system 18 is a DNS server that the end-user system 16 uses to resolve domain names to IP addresses.
  • [0024]
    When the end user wishes to view a Web page or object (such as “www.abcd.com/PriceList”), the transaction 10 occurs as follows. First, the end user using the end user system 16 enters the name of a Web page into a browser (not shown) executing on the end user system 16. The end-user system 16 requests a DNS resolution for the host name (“www.abcd.com”) from the end-user DNS system 18 (“DNS Req 22”). The end-user DNS system 18 determines which of the DNS systems that make up the DNS for the network 20 can resolve this host name by sending a DNS request to the authoritative DNS system 14 (“DNS Req 24”). The authoritative DNS system 14 resolves the name to an IP address and returns a response containing the IP address to the end-user 16 system via the end-user DNS system 18 (“DNS Resp 26”). The end-user DNS system 18, in turn, communicates the IP address to the end-user station 16 in a DNS response to the end-user system 16 (“DNS Resp 27”). The end-user system 16 contacts the Web server 12 at the specified IP address and requests the Web object (“www.abcd.comlPriceList”) (“HTTP Req 28”). The Web server 12 returns the Web page corresponding to the requested Web object to the end-user system 16 (“HTTP Resp” 30). The browser running on the end-user station 16 displays the returned Web page on the end-user system 16 for viewing by the end user.
  • [0025]
    [0025]FIG. 2 illustrates a Web transaction with reverse proxy caching 40. That is, the transaction 40 is the same basic Web transaction as shown in FIG. 1, but now employs a reverse proxy content server (shown as a cache server) 42 acting on behalf of the Web server 12. During reverse-proxy caching, the cache server 42 assumes the identity of the Web server 12 so that a Web request directed to the Web server 12 (in the example, “www.abcd.com”) is instead directed to the cache server 42. This re-direction is accomplished by changing the entry for the Web site (“www.abcd.com”) in the authoritative DNS system 14 so that the host name resolves to the address of the cache server 42 instead of the address of the original Web server 12. A new name is assigned to the address of the original Web server 12 (e.g., “origin.abcd.com”). Thus, 22, 24, 26 and 27 are the same as in FIG. 1. However, the IP address returned by the authoritative DNS system 14 is that of the cache server 42, not the Web server itself, as was previously described with reference to FIG. 1. Consequently, instead of sending the subsequent content request to and receiving a response from the Web server 12 (as was shown in steps 28 and 30 of FIG. 1), the end-user system 16 sends the content request to the cache server 22 (“HTTP Req 44”) and the cache server 22 fetches the requested content from the Web server (“HTTP Req 46”). The Web server 12 returns the requested content to the cache server 42 (“HTTP Resp 48”). The cache server 42 completes the transaction by serving the requested content to the end-user system 16 (“HTTP Resp 50”) and caching the content so the content will be readily available to support future requests for the same content (“store”52).
  • [0026]
    [0026]FIG. 3 shows a content distribution network (“CDN”) 60. The CDN 60 includes at least one Web server, shown as a Web server 62, a DNS system 64 for Web server 62, and end-user stations 66 a and 66 b, all connected to a network 72. The network 72 is implemented as the public Internet. The end-user stations execute Web browsers 68 a and 68 b, respectively. Each end-user station 66 has an associated end user DNS, however, only an end user DNS 70 a for the end-user station 66 a is shown. Of course, additional end-user stations may be connected to the network 72. Also connected to the network 72 are multiple content distribution nodes 76 a, 76 b and 76 c, which support distributed content delivery services for one or more Web sites on the network 72. The CDN nodes 76 interact with the origin server 62 containing the original Web content, the various DNS systems 64, 70 and, of course, the end-user systems 66.
  • [0027]
    Each of the CDN nodes 76 includes a DNS system 78 coupled to and associated with a Web content server system or site 80. In one embodiment, as described herein, each content server system 80 is implemented as a cache server system. The techniques described herein could also apply to other types of content servers, such as mirrored Web content servers, or Web content servers having different content (e.g., customized for geographic area). Each DNS system 78 in each node holds a table that includes an address entry which the DNS system 78 uses to map the domain name of the content provider to the IP address of the cache server in that same node. Although only one such Web site (Web site 62) is shown, it will be appreciated that other Web sites may be connected to the network 72 and use the DNS and content caching services of the nodes 76, as will be described. The nodes 76 are deployed at different locations in the network 72. Preferably, the nodes 76 are geographically distributed across the network 72.
  • [0028]
    Optionally, the CDN 60 may include a CDN manager 82 that can be used by a network administrator (for example, a CDN node hardware and/or CDN node service provider) to configure the CDN to use the CDN nodes.
  • [0029]
    The network 72 is intended to represent a simplified view of the Internet. In the simplified depiction of FIG. 3, the network 72 includes a plurality of interconnected routers or routing networks, e.g., routers 74 a. 74 b, . . . , 74 g, for routing packets from one domain to another within network 60. In actuality, the Internet is made up of many private “routing networks” (networks including one or more routers, and possibly other types of networking components as well), e.g., local, regional and centralized Internet Service Providers (ISPs), some of which are connected to Network Access Points (NAPs) or exchanges, or each other at public or private peering points. In the simplified Internet configuration shown in FIG. 3, routers 74 a, 74 b, 74 c 74 d and 74 e are located at network entry points. The end user station 66 a and end user DNS system 70 a connect to the network 72 via the router 74 a. The end user station 66 b is coupled to another router 74 i, which connects to the router 74 d. The Web Server 62 and associated DNS system 64 are connected to the network 72 via the router 74 b. Preferably, to the extent possible, and for reasons which will be discussed below, the end user DNS systems such as system 70 a are located near the end user systems with which they are associated.
  • [0030]
    Also, preferably, the geographically dispersed nodes 76 are located so as to be as close as possible to various network entry points, exchanges or both. The network entry points each may correspond to an ISP Point of Presence (POP). In FIG. 3, for illustrative purposes, the nodes 76 a, 76 b and 76 c are shown as being connected to entry point routers 74 c, 74 b and 74 d, respectively, but need not be directly connected to network access routers in this manner.
  • [0031]
    The caching servers 80 have unique IP addresses. The DNS systems 78 share a common IP address as well as have unique IP addresses. The end-user DNS systems, e.g., end user DNS system 70 a, resolve to the common address. That is, the end-user DNS system 70 a knows which DNS system (in this example, the DNS system 64) has an address for a high level domain server, e.g., .com, org, and maintains tables of all domain names and knows which server (authoritative DNS server) to consult for the address of the domain server. Thus, the address lookup table in the DNS system 64 is configured to indicate that a server corresponding to the common address can resolve the domain name of the content provider to an IP address.
  • [0032]
    One way to implement this content distribution configuration is to use an anycast address as the common address. An anycast address is a unicast address that is used in multiple places. Various Internet Engineering Task Force (IETF) Internet Requests for Comments (RFCs) describe implementations of anycast addresses in IP networks. The IETF is a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet. The following anycast-related RFCs are hereby incorporated by reference in their entirety for all purposes: RFC 1546 (November 1993); RFC 2372 (July 1998); RFC 2373 (August 1998); and RFC 2526 (March 1999).
  • [0033]
    As described in RFC 1546, an anycast address may include a subnet prefix identifier and an anycast identifier. The subnet prefix may be used to specify the network providing the anycast addresses. The anycast identifier is used to specify one of many possible anycast addresses on a particular subnet. A unicast address, or conventional IP address, specifies a single interface on a computer network. In contrast, an anycast address may specify more than one interface. For example, anycast addresses may be used to specify a group of one or more servers on a computer network. These servers may provide a redundant service. Routers forward packets destined to anycast addresses to the closest anycast destination for a particular address. Thus, anycast addresses provide a way to distribute load across one or more servers
  • [0034]
    The anycast address is advertised to the network 72 from each node 76 using a dynamic routing protocol, the Border Gateway Protocol (BGP). The BGP is a routing protocol used to exchange network reachability information between Internet border routers. It enables those routers to make intelligent routing decisions as to the best path. The BGP is used by such routers as their exterior routing protocol in order to advertise routes to other border routers. BGP uses TCP as its transport protocol for exchanging routing information. Adjacent routers running BGP set up a TCP connection to exchange entire routing tables. Each router has enough information to determine an optimal next hop to a destination. The BGP is also described in various RFCs, including RFC 1267 (October 1991) and RFC 1654 (July 1994), incorporated herein by reference.
  • [0035]
    Referring to FIG. 4, routing configuration support 90 in a router such as router 74 b includes a routing algorithm (software) 94 and a routing table 92. The router 74 b receives address path information from the nodes 76 in accordance with the BGP route information exchanges and updates 96, including the anycast address 98 and associated paths 100 for each of the nodes, and stores them in the routing table 92. As a result of the BGP table information exchanges and updates, routers in the network 72 maintain pointers (that is, the paths or routes) that allow it to determine the next hop to every unique address in the network, as well as multiple pointers to the anycast address. The routing algorithm 94, in response to receipt of a DNS request packet 102 from an end-user system 66 for resolution of a DNS name for the content provider, uses the path information 100 stored in the routing table 92 to a select a path to the nearest CDN node. Thus, a router may see multiple connections to the anycast address, but selects the path that represents the shortest network distance (e.g, the topologically shortest path). More specifically, as this routing occurs as part of a DNS resolution, the router selects a route to the closest DNS system 78. Because the selected DNS system resolves to the address of the cache server in the DNS system's node, the DNS anycast routing, in essence, serves to select the local content site (cache) from which content will be served.
  • [0036]
    Referring now to FIG. 5, a Web transaction 90 occurring over a CDN (such as the CDN 60 shown in FIG. 3) is illustrated for the running example of the “ABCD” Web site. To provide content distribution service for this site, the following configurations are implemented. The original Web server 62 is renamed in the DNS system 64 to reflect a change in its role from being the primary Web server to becoming the original content source for the cache servers 80. The domain “www.abcd.com” is renamed “origin.abcd.com”. In the end-user DNS system 70 a, an entry is made to indicate that the CDN DNS system 78 is the authoritative server for the end user web domain. For example, in the dns.abcd.com system, the entry for “www.abcd.com” no longer resolves to a specific address but instead refers the content requestor to the CDN DNS server 78 at the anycast address of 4.2.2.19. The CDN DNS server entry resolves to the address of the associated node's caching server 80. As a result, each node 76 resolves the Web site name to a different address. In the above example, DNS server 78 a in node 76 a (node 1) resolves the name “www.abcd.com” to 10.3.15.1, whereas in node 76 b (node 2), the DNS server 78 b resolves the same address to 10.3.15.2. In this manner, therefore, the entry made in the CDN DNS server 78 in each node enables distribution of the Web site among the cache servers 80 in their respective nodes and locations, as will be described in further detail below.
  • [0037]
    Once the appropriate configurations have been completed, it is assumed that the Web site www.abcd.com is being handled by the CDN nodes 76. Each node 76 advertises the anycast address of its own DNS server 78 to the network 72 using the BPG protocol, as discussed above. The address of the DNS server at each node is identical. That is, from a network point of view, the network “thinks” it is connected to a single host at multiple points.
  • [0038]
    Referring to FIGS. 3 and 5, the Web transaction operation 90 is as follows. When an end user of the end-user station 66 a requests an object from the now “accelerated” Web site, the end-user system 66 a first resolves the content provider name via DNS. That is, the end-user station (acting as a content requestor) sends a request to the local DNS server 70 a (“DNS Req 92”). That server 70 a resolves the name, ultimately by sending a request to the CDN DNS anycast address. The DNS server 70 a sends a request to the ABCD DNS server 64 (“DNS Req 94”), which returns the anycast address of the CDN nodes 76 to the requesting DNS server 70 a (DNS Resp 96). The DNS server 70 a then transmits a DNS name resolution request addressed to the anycast address and that request is generally routed (by various ones of the network routers 74 a-74 h) to the CDN node nearest the user's DNS system (“DNS Req 96”). In this instance, because the request enters the network via the router 74 b, the router 74 b determines that the shortest path to the anycast address is the path to the node 76 b (node 2). At that node, the DNS server 78 b resolves the name to the cache server address for that node, that is, IP address 10.3.15.2 assigned to the cache server 80 b, and returns the cache server address to the end-user DNS server 70 a (“DNS Resp 98”). The end-user DNS server 70 a forwards the address to the end-user system 66 a (“DNS Resp 100). From this point on, the remaining steps of the transaction are much the same as steps 44 through 52, shown in FIG. 2. That is, the end-user system 70 a requests the Web object from the cache server in the nearby node where the DNS name was resolved, i.e., node 76 b, and that node's cache server 80 b, in turn, checks for a cached version of the object (if cached content already resides on the cache server). If no content has yet been cached in the server, or the cached copy is stale or otherwise invalid, the cache server 80 b retrieves the Web object from the origin server 62, and serves the object to the end-user system that requested it.
  • [0039]
    Typically, as is known in the art, Web content can be marked with certain caching attributes, for example, whether or not the content is at all cacheable, how long the content may be held in cache. In the case of the former attribute, if the content is marked as uncacheable (e.g., dynamic or content containing sensitive information), the cache server discards the content after serving it to the requestor. Otherwise, if the content is cacheable, the cache server will store the content in local storage and maintain the cached content according to any other cache attributes. Content can be localized, for example, using ad insertions with local content. Content in the caches can be pre-loaded (all the cache servers receiving the same content). That is, the content can be replicated on all cache servers so that even the first request will have a fast response time. Preferably, the caches are not preloaded with content but instead build their cached content based on user requests/usage over time. Content is retrieved from the origin server 12 when a first user request is received, and then stored locally. If subsequent requests are received for the same content, the cached copy is used if it is still valid, as was mentioned earlier. Thus, the cache server need not retrieve the content from the origin server again. Each cache server contains a translation table so that it knows where to retrieve any particular Web page from the origin server. For example, the cache server 80 b would know that the page “www.abcd.com/PriceList” can be retrieved from “origin.abcd.com/PriceList”.
  • [0040]
    Preferably, the CDN node contains software to monitor the load in various parts of the node cache system (disk, CPU, I/O, et cetera) by determining at least one load metric value (based on metrics such as utilization, latency, etc.) and comparing each such metric value to a predefined overload threshold. Upon reaching a predefined overload threshold, the monitoring software informs the routing software in the CDN DNS server to withdraw its BGP routing advertisement.
  • [0041]
    Thus, under normal conditions, all CDN nodes are advertising the address of their DNS servers to the network, and so a DNS request will be directed to the nearest CDN node. If a node becomes heavily loaded and detects an overload condition through its internal monitoring, the node stops advertising its DNS address to the network so that no further requests will be directed to that node. Consequently, DNS requests that normally would have been routed to that node as a first choice are routed to the next closest active node.
  • [0042]
    This overload detection and load balancing mechanism has the advantage that Web transactions already in progress are not interrupted by a shift in resources. Any system that has already resolved a DNS name to the now inactive node will continue using that node until the DNS name expires. The load in that node will slowly decrease until such time as the node can start accepting new clients, at which time it will start advertising its DNS system address to the network again.
  • [0043]
    Other embodiments are contemplated. For example, it is possible to use an anycast scheme with the cache servers themselves. With reference to the system shown in FIG. 3, the network routing directs the DNS request from the end user's DNS system, such as system 70 a, to the closest of the CDN nodes 76. Although the node is the node closest to the end user's DNS system, it may not necessarily be the closest to the end-user system. In those cases where the end user's DNS system is a substantial distance from the end user, it is possible that the end user system will use a CDN node that is not the closest one to the end user system. Allowing the cache servers to use a common address would ensure that the end user's Web request is indeed routed to the nearest CDN node. There is a significant drawback associated with using the anycast-addressable cache server approach, however. The client/server portion of the transaction uses the TCP protocol, thus requiring multiple exchanges between the end user and the cache server to complete a transaction. With anycasting, there is no guarantee that subsequent packets in a transaction will be routed to the same server. In cases where the packets are split between two or more cache servers, a successful transaction cannot occur. In contrast, although requiring that the end user DNS system be located in close proximity to the end user system for optimal CDN performance, the anycast-based DNS resolution is completed using a single packet exchange with the stateless UDP protocol, thus eliminating the packet-by-packet load distribution problem seen with TCP.
  • [0044]
    In addition, the Web caches, i.e., the cache systems 80 each can be implemented to include multiple caches servers connected, for example, in a cluster configuration. There may be multiple servers available to support one customer (origin server) or, alternatively, one or more cache servers available to support multiple customers' content cached at one node (site). In yet another alternative, the cache server clusters can include a switch to select from among the cache servers in a given node/cluster based on a predetermined selection policy, for example, content-aware selection (which enables the clustered servers store different content, and maps requested objects to the appropriate servers), load balancing, and so forth, using known techniques.
  • [0045]
    Other embodiments are within the scope of the following claims.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4495570 *7 Jan 198222 Jan 1985Hitachi, Ltd.Processing request allocator for assignment of loads in a distributed processing system
US4726017 *21 May 198516 Feb 1988Fla.Multidrop data concentrator communication network
US4803641 *25 Nov 19877 Feb 1989Tecknowledge, Inc.Basic expert system tool
US4920432 *12 Jan 198824 Apr 1990Eggers Derek CSystem for random access to an audio video data library with independent selection and display at each of a plurality of remote locations
US5191573 *18 Sep 19902 Mar 1993Hair Arthur RMethod for transmitting a desired digital video or audio signal
US5287499 *16 May 199115 Feb 1994Bell Communications Research, Inc.Methods and apparatus for information storage and retrieval utilizing a method of hashing and different collision avoidance schemes depending upon clustering in the hash table
US5287537 *21 Sep 199215 Feb 1994Data General CorporationDistributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command
US5291554 *19 Aug 19921 Mar 1994Tv Answer, Inc.Shared-price custom video rentals via interactive TV
US5410343 *2 Apr 199325 Apr 1995Bell Atlantic Network Services, Inc.Video-on-demand services using public switched telephone network
US5508732 *22 Mar 199316 Apr 1996International Business Machines CorporationData server, control server and gateway architecture system and method for broadcasting digital video on demand
US5592611 *14 Mar 19957 Jan 1997Network Integrity, Inc.Stand-in computer server
US5594910 *26 Nov 199314 Jan 1997Ibm Corp.Interactive computer network and method of operation
US5603026 *7 Dec 199411 Feb 1997Xerox CorporationApplication-specific conflict resolution for weakly consistent replicated databases
US5619648 *30 Nov 19948 Apr 1997Lucent Technologies Inc.Message filtering techniques
US5623656 *15 Dec 199422 Apr 1997Lucent Technologies Inc.Script-based data communication system and method utilizing state memory
US5625781 *31 Oct 199529 Apr 1997International Business Machines CorporationItinerary list for interfaces
US5712979 *20 Sep 199527 Jan 1998Infonautics CorporationMethod and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
US5715453 *31 May 19963 Feb 1998International Business Machines CorporationWeb server mechanism for processing function calls for dynamic data queries in a web page
US5721914 *14 Sep 199524 Feb 1998Mci CorporationSystem and method for hierarchical data distribution
US5734831 *26 Apr 199631 Mar 1998Sun Microsystems, Inc.System for configuring and remotely administering a unix computer over a network
US5740423 *28 Dec 199514 Apr 1998Csg Systems, Inc.System and method for accessing distributed data on a plurality of databases
US5742762 *19 May 199521 Apr 1998Telogy Networks, Inc.Network management gateway
US5856974 *13 Feb 19965 Jan 1999Novell, Inc.Internetwork address mapping gateway
US5862339 *9 Jul 199619 Jan 1999Webtv Networks, Inc.Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server
US5867706 *19 Dec 19962 Feb 1999International Business Machines Corp.Method of load balancing across the processors of a server
US5867799 *4 Apr 19962 Feb 1999Lang; Andrew K.Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5870546 *23 Dec 19979 Feb 1999Infoseek CorporationMethod and apparatus for redirection of server external hyper-link reference
US5870559 *11 Apr 19979 Feb 1999Mercury InteractiveSoftware system and associated methods for facilitating the analysis and management of web sites
US5878212 *31 Jul 19952 Mar 1999At&T Corp.System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy
US5884038 *2 May 199716 Mar 1999Whowhere? Inc.Method for providing an Internet protocol address with a domain name server
US5890171 *6 Aug 199630 Mar 1999Microsoft CorporationComputer system and computer-implemented method for interpreting hypertext links in a document when including the document within another document
US5893116 *30 Sep 19966 Apr 1999Novell, Inc.Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
US5894554 *23 Apr 199613 Apr 1999Infospinner, Inc.System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5896533 *6 Jul 199520 Apr 1999Intel CorporationAccessing internets world-wide web through object linking and embedding technology
US6012090 *14 Mar 19974 Jan 2000At&T Corp.Client-side parallel requests for network services using group name association
US6014686 *20 Jun 199711 Jan 2000Telcordia Technologies, Inc.Apparatus and methods for highly available directory services in the distributed computing environment
US6014698 *11 Jun 199711 Jan 2000Matchlogic, Inc.System using first banner request that can not be blocked from reaching a server for accurately counting displays of banners on network terminals
US6018516 *14 Nov 199725 Jan 2000Packeteer, Inc.Method for minimizing unneeded retransmission of packets in a packet communication environment supporting a plurality of data link rates
US6026440 *27 Jan 199715 Feb 2000International Business Machines CorporationWeb server account manager plug-in for monitoring resources
US6029175 *7 Jun 199622 Feb 2000Teknowledge CorporationAutomatic retrieval of changed files by a network software agent
US6029176 *25 Nov 199722 Feb 2000Cannon Holdings, L.L.C.Manipulating and analyzing data using a computer system having a database mining engine resides in memory
US6035332 *6 Oct 19977 Mar 2000Ncr CorporationMethod for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants
US6038216 *1 Nov 199614 Mar 2000Packeteer, Inc.Method for explicit data rate control in a packet communication environment without data rate supervision
US6038310 *1 Aug 199514 Mar 2000British Telecommunications Public Limited CompanyService node for a telephony network
US6038610 *17 Jul 199614 Mar 2000Microsoft CorporationStorage of sitemaps at server sites for holding information regarding content
US6041324 *17 Nov 199721 Mar 2000International Business Machines CorporationSystem and method for identifying valid portion of computer resource identifier
US6044405 *12 Apr 199628 Mar 2000Wam!Net Inc.Service network incorporating geographically-remote hubs linked by high speed transmission paths
US6046980 *24 Nov 19974 Apr 2000Packeteer, Inc.System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US6049830 *13 May 199711 Apr 2000Sony CorporationPeripheral software download of a broadcast receiver
US6052718 *7 Jan 199718 Apr 2000Sightpath, IncReplica routing
US6052730 *9 Jan 199818 Apr 2000The Board Of Trustees Of The Leland Stanford Junior UniversityMethod for monitoring and/or modifying web browsing sessions
US6148410 *15 Sep 199714 Nov 2000International Business Machines CorporationFault tolerant recoverable TCP/IP connection router
US6173311 *13 Feb 19979 Jan 2001Pointcast, Inc.Apparatus, method and article of manufacture for servicing client requests on a network
US6173322 *5 Jun 19979 Jan 2001Silicon Graphics, Inc.Network request distribution based on static rules and dynamic performance data
US6178160 *23 Dec 199723 Jan 2001Cisco Technology, Inc.Load balancing of client connections across a network using server based algorithms
US6181867 *7 Jun 199530 Jan 2001Intervu, Inc.Video storage and retrieval system
US6185598 *10 Feb 19986 Feb 2001Digital Island, Inc.Optimized network resource location
US6185619 *7 Nov 19976 Feb 2001Genuity Inc.Method and apparatus for balancing the process load on network servers according to network and serve based policies
US6189030 *1 May 199813 Feb 2001Infoseek CorporationMethod and apparatus for redirection of server external hyper-link references
US6189039 *10 Apr 199713 Feb 2001International Business Machines CorporationSelective tunneling of streaming data
US6195680 *23 Jul 199827 Feb 2001International Business Machines CorporationClient-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6205120 *13 Mar 199820 Mar 2001Packeteer, Inc.Method for transparently determining and setting an optimal minimum required TCP window size
US6266339 *13 May 199924 Jul 2001Starguide Digital Networks, Inc.High bandwidth broadcast system having localized multicast access to broadcast content
US6338044 *17 Mar 19998 Jan 2002Loudeye Technologies, Inc.Personal digital content system
US6347085 *14 Aug 199712 Feb 2002Netspeak CorporationMethod and apparatus for establishing communications between packet-switched and circuit-switched networks
US6360256 *1 Jul 199619 Mar 2002Sun Microsystems, Inc.Name service for a redundant array of internet servers
US6505248 *24 Mar 19997 Jan 2003Gte Data Services IncorporatedMethod and system for monitoring and dynamically reporting a status of a remote server
US6529477 *2 Feb 19994 Mar 2003Mentat Inc.Internet over satellite system
US6614757 *23 Nov 19982 Sep 20033Com CorporationMethod of local flow control in an asynchronous transfer mode network utilizing PNNI routing protocol
US6687731 *8 Jun 19983 Feb 2004Telia AbArrangement for load sharing in computer networks
US6691148 *24 Dec 199810 Feb 2004Verizon Corporate Services Group Inc.Framework for providing quality of service requirements in a distributed object-oriented computer system
US6694358 *23 Aug 200017 Feb 2004Speedera Networks, Inc.Performance computer network method
US6699418 *14 Feb 20022 Mar 2004Kuraray Co., Ltd.Method for producing biaxially stretched film made of ethylene-vinyl alcohol copolymer
US6708137 *16 Jul 200116 Mar 2004Cable & Wireless Internet Services, Inc.System and method for providing composite variance analysis for network operation
US6711152 *6 Jul 199923 Mar 2004At&T Corp.Routing over large clouds
US6785704 *3 Jul 200031 Aug 2004Fastforward NetworksContent distribution system for operation over an internetwork including content peering arrangements
US6842604 *12 Oct 200111 Jan 2005Loudeye CorporationPersonal digital content system
US6870851 *26 May 200022 Mar 2005Savvis, Inc.Method and system for optimizing routing of data packets
US6874032 *15 Nov 200129 Mar 2005Verizon Laboratories Inc.Method and system for burst congestion control in an internet protocol network
US6996616 *17 Apr 20017 Feb 2006Akamai Technologies, Inc.HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7003572 *30 Apr 200121 Feb 2006Packeteer, Inc.System and method for efficiently forwarding client requests from a proxy server in a TCP/IP computing environment
US7007089 *6 Jun 200228 Feb 2006Akarnai Technologies, Inc.Content delivery network map generation using passive measurement data
US7010578 *21 Sep 20007 Mar 2006Akamai Technologies, Inc.Internet content delivery service with third party cache interface support
US7012900 *22 Aug 200114 Mar 2006Packeteer, Inc.Method for measuring network delay using gap time
US7075897 *20 Dec 200111 Jul 2006Nec CorporationMethod for resolving duplication of terminal identifiers in a wireless communication system
US7181523 *18 May 200120 Feb 2007Intel CorporationMethod and apparatus for managing a plurality of servers in a content delivery network
US7343422 *26 Apr 200111 Mar 2008Adara Networks, Inc.System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
US7653700 *16 Nov 200026 Jan 2010Microsoft CorporationSystem and method for performing client-centric load balancing of multiple globally-dispersed servers
US7808968 *29 Jan 20045 Oct 2010At&T Intellectual Property Ii, L.P.Method for determining non-broadcast multiple access (NBMA) connectivity for routers having multiple local NBMA interfaces
US20020018449 *27 Jul 200114 Feb 2002Digital Island, Inc.On-demand overlay routing for computer-based communication networks
US20020021675 *18 Jul 200121 Feb 2002At&T Corp.System and method for packet network configuration debugging and database
US20020023164 *29 Jan 200121 Feb 2002Lahr Nils B.Method and apparatus for client-side authentication and stream selection in a content distribution system
US20020023165 *29 Jan 200121 Feb 2002Lahr Nils B.Method and apparatus for encoder-based distribution of live video and other streaming content
US20020075836 *20 Dec 200120 Jun 2002Nec CorporationWireless communication system
US20030009444 *14 Jun 20029 Jan 2003Eidler Christopher WilliamSecured shared storage architecture
US20030018966 *19 Oct 200123 Jan 2003Cook David H.System and method for selective insertion of content into streaming media
US20030028623 *2 Aug 20026 Feb 2003Hennessey Wade L.Method and apparatus for facilitating distributed delivery of content across a computer network
US20030028626 *2 Aug 20026 Feb 2003Hennessey Wade L.Dynamically configuring network communication parameters for an application
US20030028777 *2 Aug 20026 Feb 2003Hennessey Wade L.Method and apparatus for facilitating secure distributed content delivery
US20030055972 *9 Jul 200220 Mar 2003Fuller William TracyMethods and systems for shared storage virtualization
US20030061263 *26 Sep 200127 Mar 2003Guy RiddleDynamic partitioning of network resources
US20030061280 *24 Sep 200227 Mar 2003Bulson Jason AndrewSystems and methods for enhancing streaming media
US20040022194 *30 Jul 20035 Feb 2004Digital Island, Inc.On-demand overlay routing for computer-based communication networks
US20040249960 *12 Mar 20029 Dec 2004Hardy William GeoffreyAccess networks
US20050010653 *5 Aug 200413 Jan 2005Fastforward Networks, Inc.Content distribution system for operation over an internetwork including content peering arrangements
US20050033858 *31 Aug 200410 Feb 2005Swildens Eric Sven-JohanLoad balancing service
US20050038851 *21 Sep 200417 Feb 2005Xcelera, A Delaware CorporationWeb serving system
US20080235400 *18 Mar 200825 Sep 2008Level 3 Communications, LlcContent request routing and load balancing for content distribution networks
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7257628 *23 Jun 200314 Aug 2007Cisco Technology, Inc.Methods and apparatus for performing content distribution in a content distribution network
US7373394 *30 Jun 200313 May 2008Cisco Technology, Inc.Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network
US7409439 *9 Dec 20025 Aug 2008Sun Microsystems Inc.Reducing overhead in reverse proxy servers when processing web pages
US7565423 *30 Jun 200421 Jul 2009Google Inc.System and method of accessing a document efficiently through multi-tier web caching
US7590119 *14 Mar 200515 Sep 2009Cisco Technology, Inc.Method and apparatus for context-based prefix updates in border gateway protocol
US7664864 *26 Mar 200216 Feb 2010Verisign, Inc.Meta content distribution network
US7756065 *10 Aug 200413 Jul 2010Samsung Electronics Co., Ltd.Domain name service system and method thereof
US78394153 Mar 200823 Nov 2010Verisign, Inc.Method and system for improved internet color
US792578527 Jun 200812 Apr 2011Microsoft CorporationOn-demand capacity management
US796263121 Dec 200714 Jun 2011Yahoo! Inc.Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US806527515 Feb 200722 Nov 2011Google Inc.Systems and methods for cache optimization
US8170010 *8 Jan 20061 May 2012Panasonic CorporationMultiple interface mobile node with simultaneous home- and foreign network connection
US819975226 Apr 201012 Jun 2012Limelight Networks, Inc.Enhanced anycast for edge server selection
US822496430 Jun 200417 Jul 2012Google Inc.System and method of accessing a document efficiently through multi-tier web caching
US8250175 *2 Aug 200621 Aug 2012Cisco Technology, Inc.Techniques for remapping content requests
US827040327 Sep 201118 Sep 2012Limelight Networks, Inc.Enhanced Anycast for edge server selection
US827579014 Oct 200825 Sep 2012Google Inc.System and method of accessing a document efficiently through multi-tier web caching
US829108323 Dec 201116 Oct 2012Limelight Networks, Inc.Distributed landing pad and brick topology for content storage in content delivery networks
US834506022 Nov 20101 Jan 2013Verisign, Inc.Method and system for improved internet color
US839697023 Dec 201112 Mar 2013Limelight Networks, Inc.Content processing between locations workflow in content delivery networks
US8452874 *22 Nov 201028 May 2013Amazon Technologies, Inc.Request routing processing
US845829030 Dec 20114 Jun 2013Limelight Networks, Inc.Multicast mapped look-up on content delivery networks
US84788585 Jan 20122 Jul 2013Limelight Networks, Inc.Policy management for content storage in content delivery networks
US849522015 Sep 201223 Jul 2013Amazon Technologies, Inc.Managing CDN registration by a storage provider
US851044813 Sep 201213 Aug 2013Amazon Technologies, Inc.Service provider registration by a content broker
US852066326 Feb 200827 Aug 2013At&T Intellectual Property I, L. P.Systems and methods to select peered border elements for an IP multimedia session based on quality-of-service
US852181323 Dec 201127 Aug 2013Limelight Networks, Inc.Content replication workflow in content delivery networks
US852185127 Mar 200927 Aug 2013Amazon Technologies, Inc.DNS query processing using resource identifiers specifying an application broker
US852188515 Sep 201227 Aug 2013Amazon Technologies, Inc.Dynamically translating resource identifiers for request routing using popularity information
US853329331 Mar 200810 Sep 2013Amazon Technologies, Inc.Client side cache management
US8539099 *8 Jan 201017 Sep 2013Alcatel LucentMethod for providing on-path content distribution
US854370215 Sep 201224 Sep 2013Amazon Technologies, Inc.Managing resources using resource expiration data
US85536893 Apr 20128 Oct 2013Panasonic CorporationHome agent acting as a proxy for a Mobile Node
US856059716 Oct 200915 Oct 2013At&T Intellectual Property I, L.P.Anycast transport protocol for content distribution networks
US856059822 Dec 200915 Oct 2013At&T Intellectual Property I, L.P.Integrated adaptive anycast for content distribution
US857799228 Sep 20105 Nov 2013Amazon Technologies, Inc.Request routing management based on network components
US85837766 Aug 201212 Nov 2013Amazon Technologies, Inc.Managing content delivery network service providers
US860109031 Mar 20083 Dec 2013Amazon Technologies, Inc.Network resource identification
US860699631 Mar 200810 Dec 2013Amazon Technologies, Inc.Cache optimization
US860701422 Dec 200910 Dec 2013At&T Intellectual Property I, L.P.Multi-autonomous system anycast content delivery network
US861262226 Apr 201017 Dec 2013Limelight Networks, Inc.Real-time message queuing for a processing ring
US861557723 Dec 201124 Dec 2013Limelight Networks, Inc.Policy based processing of content objects in a content delivery network using mutators
US8626950 *3 Dec 20107 Jan 2014Amazon Technologies, Inc.Request routing processing
US863974216 Jul 201228 Jan 2014Google Inc.Refreshing cached documents and storing differential document content
US863981719 Dec 201228 Jan 2014Amazon Technologies, Inc.Content management
US867691815 Sep 201218 Mar 2014Amazon Technologies, Inc.Point of presence management in request routing
US867692230 Jun 200418 Mar 2014Google Inc.Automatic proxy setting modification
US868883727 Mar 20091 Apr 2014Amazon Technologies, Inc.Dynamically translating resource identifiers for request routing using popularity information
US871315613 Feb 201329 Apr 2014Amazon Technologies, Inc.Request routing based on class
US873230917 Nov 200820 May 2014Amazon Technologies, Inc.Request routing utilizing cost information
US8745240 *11 Apr 20123 Jun 2014Edgecast Networks, Inc.Global load balancing on a content delivery network
US875632511 Mar 201317 Jun 2014Amazon Technologies, Inc.Content management
US875634020 Dec 200717 Jun 2014Yahoo! Inc.DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
US875634127 Mar 200917 Jun 2014Amazon Technologies, Inc.Request routing utilizing popularity information
US8762535 *24 Jan 201224 Jun 2014BitGravity, Inc.Managing TCP anycast requests
US878223616 Jun 200915 Jul 2014Amazon Technologies, Inc.Managing resources using resource expiration data
US878847528 Jun 201222 Jul 2014Google Inc.System and method of accessing a document efficiently through multi-tier web caching
US878867125 Jan 201222 Jul 2014Amazon Technologies, Inc.Managing content delivery network service providers by a content broker
US881265115 Feb 200719 Aug 2014Google Inc.Systems and methods for client cache awareness
US881928328 Sep 201026 Aug 2014Amazon Technologies, Inc.Request routing in a networked environment
US882575416 Jul 20122 Sep 2014Google Inc.Prioritized preloading of documents to client
US8838802 *26 Oct 200716 Sep 2014At&T Intellectual Property Ii, L.P.Proximity routing for session based applications using anycast
US885628122 Mar 20107 Oct 2014At&T Intellectual Property I, L.P.Internet protocol version 6 content routing
US885632922 Mar 20137 Oct 2014Limelight Networks, Inc.Multicast mapped look-up on content delivery networks
US892446630 Oct 200730 Dec 2014Level 3 Communications, LlcServer handoff in content delivery network
US892452828 Sep 201030 Dec 2014Amazon Technologies, Inc.Latency measurement in resource requests
US893051328 Sep 20106 Jan 2015Amazon Technologies, Inc.Latency measurement in resource requests
US893053821 Mar 20096 Jan 2015Level 3 Communications, LlcHandling long-tail content in a content delivery network (CDN)
US893054429 Oct 20136 Jan 2015Amazon Technologies, Inc.Network resource identification
US893852628 Sep 201020 Jan 2015Amazon Technologies, Inc.Request routing management based on network components
US8943193 *4 Apr 201227 Jan 2015Marlow Technologies, LLC.Unified web hosting and content distribution system and method for assuring predetermined performance levels
US8948050 *23 Aug 20123 Feb 2015Fujitsu LimitedDistribution system, distribution method, and memory medium thereof
US895454827 Aug 200810 Feb 2015At&T Intellectual Property Ii, L.P.Targeted caching to reduce bandwidth consumption
US896603317 Aug 200924 Feb 2015At&T Intellectual Property I, L.P.Integrated proximity routing for content distribution
US899665326 Oct 201231 Mar 2015Google Inc.Systems and methods for client authentication
US899666426 Aug 201331 Mar 2015Amazon Technologies, Inc.Translation of resource identifiers using popularity information upon client request
US900303528 Sep 20107 Apr 2015Amazon Technologies, Inc.Point of presence management in request routing
US900304029 Apr 20137 Apr 2015Amazon Technologies, Inc.Request routing processing
US90092866 May 201314 Apr 2015Amazon Technologies, Inc.Locality based content distribution
US90093304 Nov 201014 Apr 2015Cloudflare, Inc.Internet-based proxy service to limit internet visitor connection speed
US9021112 *18 Mar 200828 Apr 2015Level 3 Communications, LlcContent request routing and load balancing for content distribution networks
US902112714 Mar 201328 Apr 2015Amazon Technologies, Inc.Updating routing information based on client location
US902112817 May 201328 Apr 2015Amazon Technologies, Inc.Request routing using network computing components
US90211293 Jun 201328 Apr 2015Amazon Technologies, Inc.Request routing utilizing client location information
US902661617 May 20135 May 2015Amazon Technologies, Inc.Content delivery reconciliation
US90492474 Nov 20102 Jun 2015Cloudfare, Inc.Internet-based proxy service for responding to server offline errors
US90492685 May 20062 Jun 2015Microsoft Technology Licensing, LlcGlobal provisioning of millions of users with deployment units
US90836754 Jun 201314 Jul 2015Amazon Technologies, Inc.Translation of resource identifiers using popularity information upon client request
US908374320 Jun 201214 Jul 2015Amazon Technologies, Inc.Managing request routing information utilizing performance information
US910046215 Oct 20134 Aug 2015At&T Intellectual Property I, L.P.Anycast transport protocol for content distribution networks
US91067014 Nov 201311 Aug 2015Amazon Technologies, Inc.Request routing management based on network components
US912460327 Aug 20071 Sep 2015At&T Intellectual Property I., L.P.Methods and apparatus to select a peered voice over internet protocol (VoIP) border element
US913075611 Mar 20138 Sep 2015Amazon Technologies, Inc.Managing secure content in a content delivery network
US913504820 Sep 201215 Sep 2015Amazon Technologies, Inc.Automated profiling of resource usage
US9137302 *29 Dec 200915 Sep 2015The Directv Group, Inc.Content distribution network selector
US914848622 Nov 201129 Sep 2015Cisco Technology, Inc.Content distribution through blind-cache instantiation
US915455111 Jun 20126 Oct 2015Amazon Technologies, Inc.Processing DNS queries to identify pre-processing information
US916070310 Dec 201413 Oct 2015Amazon Technologies, Inc.Request routing management based on network components
US91670327 Oct 201420 Oct 2015At&T Intellectual Property I, L.P.Internet protocol version 6 content routing
US916703614 Feb 200220 Oct 2015Level 3 Communications, LlcManaged object replication and delivery
US917267420 Jun 201227 Oct 2015Amazon Technologies, Inc.Managing request routing information utilizing performance information
US917689414 Jul 20143 Nov 2015Amazon Technologies, Inc.Managing resources using resource expiration data
US918501221 Nov 201410 Nov 2015Amazon Technologies, Inc.Latency measurement in resource requests
US919129215 Oct 201317 Nov 2015At&T Intellectual Property I, L.P.Integrated adaptive anycast for content distribution
US919133825 Aug 201417 Nov 2015Amazon Technologies, Inc.Request routing in a networked environment
US91914585 Jun 201417 Nov 2015Amazon Technologies, Inc.Request routing using a popularity identifier at a DNS nameserver
US9203921 *7 Aug 20091 Dec 2015British Telecommunications Public Limited CompanyOperation of a content distribution network
US920809712 Nov 20138 Dec 2015Amazon Technologies, Inc.Cache optimization
US921023528 Aug 20138 Dec 2015Amazon Technologies, Inc.Client side cache management
US923711414 Mar 201312 Jan 2016Amazon Technologies, Inc.Managing resources in resource cache components
US924677610 Mar 201526 Jan 2016Amazon Technologies, Inc.Forward-based resource delivery network management techniques
US924682425 Jul 201326 Jan 2016At&T Intellectual Property I, L.P.Systems and methods to select peered border elements for an IP multimedia session based on quality-of-service
US925111226 Aug 20132 Feb 2016Amazon Technologies, Inc.Managing content delivery network service providers
US925306521 Nov 20142 Feb 2016Amazon Technologies, Inc.Latency measurement in resource requests
US925826827 Aug 20079 Feb 2016At&T Intellectual Property, I., L.P.Methods and apparatus to dynamically select a peered voice over internet protocol (VoIP) border element
US92943914 Jun 201322 Mar 2016Amazon Technologies, Inc.Managing network computing components utilizing request routing
US9298636 *29 Sep 201129 Mar 2016Emc CorporationManaging data storage
US932357720 Sep 201226 Apr 2016Amazon Technologies, Inc.Automated profiling of resource usage
US93320785 Mar 20153 May 2016Amazon Technologies, Inc.Locality based content distribution
US93426209 Oct 201217 May 2016Cloudflare, Inc.Loading of web resources
US9369437 *4 Nov 201014 Jun 2016Cloudflare, Inc.Internet-based proxy service to modify internet responses
US9385932 *26 Jan 20155 Jul 2016Marlow Technologies, LlcUnified web hosting and content distribution
US93919493 Dec 201012 Jul 2016Amazon Technologies, Inc.Request routing processing
US940085211 Jul 201226 Jul 2016Samsung Electronics Co., Ltd.Communication method of content requester, intermediate node, and content owner in content centric network
US940768128 Sep 20102 Aug 2016Amazon Technologies, Inc.Latency measurement in resource requests
US940769927 Jan 20142 Aug 2016Amazon Technologies, Inc.Content management
US940772925 Jun 20152 Aug 2016At&T Intellectual Property I, L.P.Anycast transport protocol for content distribution networks
US9426213 *11 Nov 200823 Aug 2016At&T Intellectual Property Ii, L.P.Hybrid unicast/anycast content distribution network system
US944475912 Aug 201313 Sep 2016Amazon Technologies, Inc.Service provider registration by a content broker
US945104622 Jul 201320 Sep 2016Amazon Technologies, Inc.Managing CDN registration by a storage provider
US947947613 Mar 201225 Oct 2016Amazon Technologies, Inc.Processing of DNS queries
US94851404 Feb 20141 Nov 2016Google Inc.Automatic proxy setting modification
US949533828 Jan 201015 Nov 2016Amazon Technologies, Inc.Content distribution network
US949725915 Sep 201215 Nov 2016Amazon Technologies, Inc.Point of presence management in request routing
US9503370 *22 Nov 201322 Nov 2016Cisco Technology, Inc.Optimized content routing distribution using proximity based on predictive client flow trajectories
US951594924 Oct 20136 Dec 2016Amazon Technologies, Inc.Managing content delivery network service providers
US95210814 Dec 201513 Dec 2016At&T Intellectual Property I, L.P.Systems and methods to select peered border elements for an IP multimedia session based on quality-of-service
US95256594 Sep 201220 Dec 2016Amazon Technologies, Inc.Request routing utilizing point of presence load information
US954439419 Nov 201410 Jan 2017Amazon Technologies, Inc.Network resource identification
US954896630 Sep 201417 Jan 2017Cloudflare, Inc.Validating visitor internet-based security threats
US9565166 *30 Sep 20117 Feb 2017Cloudflare, Inc.Internet-based proxy service to modify internet responses
US957138928 Apr 201414 Feb 2017Amazon Technologies, Inc.Request routing based on class
US957791927 Feb 201421 Feb 2017Yahoo! Inc.DNS wildcard beaconing
US959094621 Jan 20167 Mar 2017Amazon Technologies, Inc.Managing content delivery network service providers
US960259128 Apr 201421 Mar 2017Tata Communications (America) Inc.Managing TCP anycast requests
US96089579 Apr 201528 Mar 2017Amazon Technologies, Inc.Request routing using network computing components
US962166026 Apr 201611 Apr 2017Amazon Technologies, Inc.Locality based content distribution
US96285541 Dec 201418 Apr 2017Amazon Technologies, Inc.Dynamic content delivery
US96285812 Jun 201518 Apr 2017Cloudflare, Inc.Internet-based proxy service for responding to server offline errors
US96349934 Nov 201025 Apr 2017Cloudflare, Inc.Internet-based proxy service to modify internet responses
US96349941 Apr 201125 Apr 2017Cloudflare, Inc.Custom responses for resource unavailable errors
US966114825 Nov 201523 May 2017At&T Intellectual Property I, L.P.Methods and apparatus to dynamically select a peered voice over internet protocol (VoIP) border element
US96675162 Oct 201530 May 2017At&T Intellectual Property I, L.P.Integrated adaptive anycast for content distribution
US9680896 *14 Feb 201313 Jun 2017Blackberry LimitedMobile media content delivery
US971232515 Jul 201518 Jul 2017Amazon Technologies, Inc.Managing secure content in a content delivery network
US971248428 Sep 201018 Jul 2017Amazon Technologies, Inc.Managing request routing information utilizing client identifiers
US971264817 Jun 201618 Jul 2017At&T Intellectual Property I, L.P.Anycast transport protocol for content distribution networks
US973447219 May 201415 Aug 2017Amazon Technologies, Inc.Request routing utilizing cost information
US974279524 Sep 201522 Aug 2017Amazon Technologies, Inc.Mitigating network attacks
US976269213 Sep 201012 Sep 2017Level 3 Communications, LlcHandling long-tail content in a content delivery network (CDN)
US9762694 *10 Sep 201512 Sep 2017Cisco Technology, Inc.Content distributed through blind-cache instantiation
US976924016 May 201619 Sep 2017Cloudflare, Inc.Loading of web resources
US977461924 Sep 201526 Sep 2017Amazon Technologies, Inc.Mitigating network attacks
US97875995 Dec 201610 Oct 2017Amazon Technologies, Inc.Managing content delivery network service providers
US978777515 Sep 201210 Oct 2017Amazon Technologies, Inc.Point of presence management in request routing
US979421630 Sep 201517 Oct 2017Amazon Technologies, Inc.Request routing in a networked environment
US979428124 Sep 201517 Oct 2017Amazon Technologies, Inc.Identifying sources of network attacks
US980053923 Jul 201524 Oct 2017Amazon Technologies, Inc.Request routing management based on network components
US98006542 Oct 201524 Oct 2017At&T Intellectual Property I, L.P.Internet protocol version 6 content routing
US20020126135 *7 May 200212 Sep 2002Keith BallImage sharing for instant messaging
US20020161835 *26 Mar 200231 Oct 2002Keith BallMeta content distribution network
US20040111491 *9 Dec 200210 Jun 2004Sun Microsystems, Inc. A Delaware CorporationReducing overhead in reverse proxy servers when processing web pages
US20050036501 *10 Aug 200417 Feb 2005Samsung Electronics Co., Ltd.Domain name service system and method thereof
US20050076104 *23 Jun 20037 Apr 2005Barbara LiskovMethods and apparatus for performing content distribution in a content distribution network
US20050198269 *13 Feb 20048 Sep 2005Champagne Andrew F.Method and system for monitoring border gateway protocol (BGP) data in a distributed computer network
US20060031506 *30 Apr 20049 Feb 2006Sun Microsystems, Inc.System and method for evaluating policies for network load balancing
US20060164995 *14 Mar 200527 Jul 2006Martin DjernaesMethod and apparatus for context-based prefix updates in border gateway protocol
US20060206610 *9 Mar 200514 Sep 2006Yibei LingMethod, system and apparatus for location-aware content push service and location-based dynamic attachment
US20060277278 *6 Jun 20057 Dec 2006International Business Machines CorporationDistributing workload among DNS servers
US20060277303 *6 Jun 20057 Dec 2006Nikhil HegdeMethod to improve response time when clients use network services
US20070174463 *8 Mar 200726 Jul 2007Level 3 Communications, LlcManaged object replication and delivery
US20070276900 *5 May 200629 Nov 2007Microsoft CorporationGlobal provisioning of millions of users with deployment units
US20080040306 *2 Aug 200614 Feb 2008Cisco Technology, Inc. (A California Corporation)Techniques for remapping content requests
US20080201331 *15 Feb 200721 Aug 2008Bjorn Marius Aamodt EriksenSystems and Methods for Cache Optimization
US20080208967 *3 Mar 200828 Aug 2008Hilliard William JMethod and System for Improved Internet Color
US20080235400 *18 Mar 200825 Sep 2008Level 3 Communications, LlcContent request routing and load balancing for content distribution networks
US20080253382 *8 Jan 200616 Oct 2008Matsushita Electric Industrial Co., Ltd.Multiple Interface Mobile Node With Simultaneous Home- And Foreign Network Connection
US20090037393 *14 Oct 20085 Feb 2009Eric Russell FredricksenSystem and Method of Accessing a Document Efficiently Through Multi-Tier Web Caching
US20090052434 *21 Aug 200726 Feb 2009James JacksonMethods and apparatus to select a voice over internet protocol (voip) border element
US20090059894 *27 Aug 20075 Mar 2009James JacksonMethods and apparatus to select a peered voice over internet protocol (voip) border element
US20090059895 *27 Aug 20075 Mar 2009Mehrad YasrebiMethods and apparatus to dynamically select a peered voice over internet protocol (voip) border element
US20090113057 *26 Oct 200730 Apr 2009Jacobus Van Der MerweProximity Routing For Session Based Applications Using Anycast
US20090164614 *20 Dec 200725 Jun 2009Christian Michael FDns wildcard beaconing to determine client location and resolver load for global traffic load balancing
US20090164646 *21 Dec 200725 Jun 2009Christian Michael FMethod for determining network proximity for global traffic load balancing using passive tcp performance instrumentation
US20090245114 *1 Apr 20081 Oct 2009Jayanth VijayaraghavanMethods for collecting and analyzing network performance data
US20090248697 *31 Mar 20081 Oct 2009Richardson David RCache optimization
US20100057894 *27 Aug 20084 Mar 2010At&T Corp.Targeted Caching to Reduce Bandwidth Consumption
US20100088405 *8 Oct 20088 Apr 2010Microsoft CorporationDetermining Network Delay and CDN Deployment
US20100121945 *11 Nov 200813 May 2010At&T Corp.Hybrid Unicast/Anycast Content Distribution Network System
US20110029596 *16 Oct 20093 Feb 2011At&T Intellectual Property I, L.P.Anycast Transport Protocol for Content Distribution Networks
US20110040861 *17 Aug 200917 Feb 2011At&T Intellectual Property I, L.P.Integrated Proximity Routing for Content Distribution
US20110082916 *26 Apr 20107 Apr 2011Limelight Networks, Inc.Enhanced Anycast For Edge Server Selection
US20110082944 *26 Apr 20107 Apr 2011Limelight Networks, Inc.Real-Time Message Queuing For A Processing Ring
US20110145405 *23 Feb 201116 Jun 2011Jayanth VijayaraghavanMethods for Collecting and Analyzing Network Performance Data
US20110145437 *7 Aug 200916 Jun 2011Benjamin Paul Niven-JenkinsOperation of a content distribution network
US20110153719 *22 Dec 200923 Jun 2011At&T Intellectual Property I, L.P.Integrated Adaptive Anycast for Content Distribution
US20110153941 *22 Dec 200923 Jun 2011At&T Intellectual Property I, L.P.Multi-Autonomous System Anycast Content Delivery Network
US20110161461 *7 Aug 200930 Jun 2011Niven-Jenkins Benjamin PContent distribution network
US20110173248 *8 Jan 201014 Jul 2011Alcatel-Lucent Usa Inc.Method for providing on-path content distribution
US20110231475 *22 Mar 201022 Sep 2011At&T Intellectual Property I, L.P.Internet Protocol Version 6 Content Routing
US20120022942 *30 Sep 201126 Jan 2012Lee Hahn HollowayInternet-based proxy service to modify internet responses
US20120116896 *4 Nov 201010 May 2012Lee Hahn HollowayInternet-based proxy service to modify internet responses
US20120124191 *24 Jan 201217 May 2012BitGravity, Inc.Managing tcp anycast requests
US20120131192 *22 Nov 201024 May 2012Maccarthaigh ColmRequest routing processing
US20120198045 *11 Apr 20122 Aug 2012Edgecast Networks, Inc.Global load balancing on a content delivery network
US20120246306 *4 Apr 201227 Sep 2012At&T Intellectual Property Ii, L.P.Unified Web Hosting and Content Distribution System and Method for Assuring Predetermined Performance Levels
US20130064135 *23 Aug 201214 Mar 2013Fujitsu LimitedDistribution system, distribution method, and memory medium thereof
US20130227060 *14 Feb 201329 Aug 2013Research In Motion LimitedMobile media content delivery
US20140108674 *7 Oct 201317 Apr 2014Limelight Networks, Inc.Anycast redirect to unicast content download
US20140181263 *26 Dec 201226 Jun 2014Disney Enterprises, Inc.Intelligent Generation and Distribution of an Encoded Content Transport Stream According to Metadata
US20150146722 *22 Nov 201328 May 2015Cisco Technology, Inc.Optimized content routing distribution using proximity based on predictive client flow trajectories
US20150200831 *26 Jan 201516 Jul 2015Marlow Technologies, LlcUnified web hosting and content distribution
US20150350368 *11 Aug 20153 Dec 2015At&T Intellectual Property I, L.P.Network-optimized content delivery for high demand non-live contents
US20150381758 *10 Sep 201531 Dec 2015Cisco Technology, Inc.Content Distribution Through Blind-Cache Instantiation
US20170163755 *15 Feb 20178 Jun 2017Level 3 Communications, LlcContent request routing and load balancing for content distribution networks
CN103716251A *14 Jan 20149 Apr 2014三星电子(中国)研发中心Load balancing method and equipment for content distribution network
EP1885088A1 *4 Aug 20066 Feb 2008Alcatel LucentRouting device, routing module and routing method for an access network
WO2008015268A1 *3 Aug 20077 Feb 2008Alcatel LucentRouting device, routing module and routing method for an access network
WO2009086373A3 *23 Dec 200811 Sep 2009Yahoo! Inc.Mapless global traffic load balancing via anycast
WO2013078383A1 *21 Nov 201230 May 2013Cisco Technology, Inc.Content distribution through blind-cache instantiation
Classifications
U.S. Classification709/229, 709/217
International ClassificationH04L29/08, H04L29/06, H04L29/12
Cooperative ClassificationH04L29/12066, H04L61/2069, H04L67/288, H04L67/24, H04L29/12207, H04L29/06, H04L61/1511, H04L61/20, H04L67/2895, H04L67/2842
European ClassificationH04L61/15A1, H04L29/12A2A1, H04L29/06, H04L29/08N27X9, H04L29/08N27S, H04L29/08N27X4
Legal Events
DateCodeEventDescription
4 Jun 2002ASAssignment
Owner name: GENUITY INC., MASSACHUSETTS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SLOCOMBE, MICHAEL;FULLER, VINCENT A.;MILLER, MATTHEW;ANDOTHERS;REEL/FRAME:012951/0535;SIGNING DATES FROM 20020108 TO 20020515
29 Jul 2003ASAssignment
Owner name: LEVEL 3 COMMUNICATIONS, LLC, COLORADO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENUITY, INC.;REEL/FRAME:014324/0285
Effective date: 20030204
21 May 2004ASAssignment
Owner name: LEVEL 3 COMMUNICATIONS, INC., COLORADO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEVEL 3 COMMUNICATIONS, LLC;REEL/FRAME:014653/0859
Effective date: 20040520
6 Sep 2006ASAssignment
Owner name: MERRILL LYNCH CAPITAL CORPORATION, AS COLLATERAL A
Free format text: SECURITY AGREEMENT;ASSIGNORS:LEVEL 3 COMMUNICATIONS, INC.;ICG COMMUNICATIONS, INC.;REEL/FRAME:018207/0120
Effective date: 20060627
12 Mar 2007ASAssignment
Owner name: LEVEL 3 COMMUNICATIONS, LLC, COLORADO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEVEL 3 COMMUNICATIONS, INC.;REEL/FRAME:018989/0678
Effective date: 20070312
Owner name: LEVEL 3 COMMUNICATIONS, LLC,COLORADO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEVEL 3 COMMUNICATIONS, INC.;REEL/FRAME:018989/0678
Effective date: 20070312