CONTENT REQUEST ROUTING AND LOAD BALANCING FOR CONTENT DISTRIBUTION NETWORKS
First Claim
1. A method of content delivery in a network, the method comprising:
- (A) providing a plurality of Domain Name System (DNS) servers, said DNS servers all sharing a common anycast address;
(B) providing a plurality of content servers, each of said content servers associated with at least one of said plurality of DNS servers, and each DNS server of said plurality of DNS servers having at least one content server associated therewith;
(C) causing said plurality of DNS servers to be authoritative for at least one content provider domain by causing said common anycast address to be associated with said at least one content provider domain;
(D) responsive to a request to resolve a hostname in said content provider domain,(d1) causing said hostname to be resolved to said common anycast address by at least one other DNS server, said at least one other DNS server being authoritative for said content provider'"'"'s domain; and
then(d1) by one of said plurality of DNS servers sharing said common anycast address, resolving said hostname to identify at least one of said content servers sites associated with said one of said DNS servers.
2 Assignments
0 Petitions
Accused Products
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.
396 Citations
12 Claims
-
1. A method of content delivery in a network, the method comprising:
-
(A) providing a plurality of Domain Name System (DNS) servers, said DNS servers all sharing a common anycast address; (B) providing a plurality of content servers, each of said content servers associated with at least one of said plurality of DNS servers, and each DNS server of said plurality of DNS servers having at least one content server associated therewith; (C) causing said plurality of DNS servers to be authoritative for at least one content provider domain by causing said common anycast address to be associated with said at least one content provider domain; (D) responsive to a request to resolve a hostname in said content provider domain, (d1) causing said hostname to be resolved to said common anycast address by at least one other DNS server, said at least one other DNS server being authoritative for said content provider'"'"'s domain; and
then(d1) by one of said plurality of DNS servers sharing said common anycast address, resolving said hostname to identify at least one of said content servers sites associated with said one of said DNS servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of content delivery for delivering content on behalf of a plurality of content providers, the method comprising:
-
(A) providing a plurality of CDN Domain Name System (DNS) servers, said CDN DNS servers all sharing a common anycast address; (B) providing a plurality of content server sites, each of said content server sites being associated with one of said CDN DNS servers, and each CDN DNS server having at least one content server site associated therewith; (C1) causing said common anycast address to be associated with a first domain associated with a first content provider of said plurality of content providers so that said CDN DNS servers are authoritative for said first domain, and (C2) causing said common anycast address to be associated with a second domain associated with a second content provider of said plurality of content providers so that said CDN DNS servers are authoritative for said second domain; (D1) responsive to a first request for first content associated with said first content provider, said first request including a first hostname in said first domain, (d11) causing said first hostname to be resolved to said common anycast address; and
then(d12) by one of said plurality of CDN DNS servers sharing said common anycast address, resolving said first hostname to identify a first content server site associated with said one of said CDN DNS servers; and
then(d13) attempting to serve said first content from a server in said content server site; and (D2) responsive to a second request for second content associated with said second content provider, said second request including a second hostname in said second domain, (d21) causing said second hostname to be resolved to said common anycast address; and
then(d22) by one of said plurality of CDN DNS servers sharing said common anycast address, resolving said second hostname to identify a second content server site associated with said one of said CDN DNS servers; and
then(d23) attempting to serve said second content from a server in said second content server site.
-
-
11. A content delivery system for delivering content on behalf of a plurality of content providers, each of said content providers having at least one content provider domain associated therewith, the system comprising:
-
(A) a plurality of CDN Domain Name System (DNS) servers, said CDN DNS servers all sharing a common anycast address, and said CDN DNS servers being authoritative for said content provider domains associated with said plurality of content providers; and (B) a plurality of content server sites, each of said content server sites associated with at least one of said plurality of DNS servers, and each DNS server of said plurality DNS servers having at least one content server site associated therewith, wherein (C) responsive to a request to resolve a hostname in a particular content provider domain of said content provider domains, said particular content provider domain corresponding to a particular content provider, said request to resolve a hostname being associated with an end-user request for content from said particular content provider domain, one of said plurality of CDN DNS servers sharing said common anycast address resolves said hostname to identify at least one of said content server sites associated with said one of said one of said CDN DNS servers, and wherein said content is served to said end-user from said identified content server site.
-
-
12. A method of content delivery, the method comprising:
-
(A) providing a plurality of CDN Domain Name System (DNS) servers, said DNS servers all sharing a common anycast address, at least some of said plurality of DNS servers being located at network Points of Presence (POPs); (B) providing a plurality of content servers, each of said content servers associated with at least one of said plurality of CDN DNS servers, and each CDN DNS server of said plurality CDN DNS servers having at least one content server associated therewith, and each of said plurality of content servers being associated with a network Point of Presence (POP); (C) causing said plurality of DNS servers to be authoritative for at least one content provider domain by causing said common anycast address to be associated with said at least one content provider domain; (D) responsive to a request to resolve a hostname in said content provider domain, (d1) causing said hostname to be resolved to said common anycast address by at least one other DNS server, said at least one other DNS server being authoritative for said content provider'"'"'s domain; and
then(d2) by one of said plurality of DNS servers sharing said common anycast address, resolving said hostname to identify at least one of said content servers sites associated with said one of said DNS servers; (E) at one of said identified content servers, (e1) attempting to serve an object associated with the content provider by; (e11) if a valid version of said object is available on said one of said identified content servers, serving said object;
otherwise(e12) obtaining the object from a content source and then serving the object.
-
Specification