Global traffic management system using IP anycast routing and dynamic load-balancing
First Claim
1. A computer-implemented method for resolving a domain name resolution request, comprising:
- assigning a first IP address to each of a plurality of domain name servers distributed across a plurality of point of presences;
assigning a second IP address to a first subset of said plurality of domain name servers, wherein said second IP address is different than said first IP address;
assigning a third IP address to a second subset of said plurality of domain name servers, wherein said third IP address is different than said first and second IP addresses;
wherein said first subset is different than said second subset;
receiving said domain name resolution request on a domain name server in said first subset of said plurality of domain name servers using said second IP address when said domain name resolution request sent to said first IP address times out;
receiving said domain name resolution request on a domain name server in said second subset of said plurality of domain name servers using said third IP address when said domain name resolution request sent to said second IP address times out.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for serving content requests using global and local load balancing techniques is provided. Web site content is cached using two or more point of presences (POPs), wherein each POP has at least one DNS server. Each DNS server is associated with the same anycast IP address. A domain name resolution request is transmitted to the POP in closest network proximity for resolution based on the anycast IP address. Once the domain name resolution request is received at a particular POP, local load balancing techniques are performed to dynamically select the appropriate Web server at the POP for use in resolving the domain name resolution request. Approaches are described for handling bursts of traffic at a particular POP, security, and recovering from the failure of various components of the system.
322 Citations
48 Claims
-
1. A computer-implemented method for resolving a domain name resolution request, comprising:
-
assigning a first IP address to each of a plurality of domain name servers distributed across a plurality of point of presences; assigning a second IP address to a first subset of said plurality of domain name servers, wherein said second IP address is different than said first IP address; assigning a third IP address to a second subset of said plurality of domain name servers, wherein said third IP address is different than said first and second IP addresses; wherein said first subset is different than said second subset; receiving said domain name resolution request on a domain name server in said first subset of said plurality of domain name servers using said second IP address when said domain name resolution request sent to said first IP address times out; receiving said domain name resolution request on a domain name server in said second subset of said plurality of domain name servers using said third IP address when said domain name resolution request sent to said second IP address times out. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium storing one or more sequences of instructions for resolving a domain name resolution request, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps:
-
assigning a first IP address to each of a plurality of domain name servers distributed across a plurality of point of presences; assigning a second IP address to a first subset of said plurality of domain name servers, wherein said second IP address is different than said first IP address; assigning a third IP address to a second subset of said plurality of domain name servers, wherein said third IP address is different than said first and second IP addresses; wherein said first subset is different than said second subset; receiving said domain name resolution request on a domain name server in said first subset of said plurality of domain name servers using said second IP address when said domain name resolution request sent to said first IP address times out; and receiving said domain name resolution request on a domain name server in said second subset of said plurality of domain name servers using said third IP address when said domain name resolution request sent to said second IP address times out. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. An apparatus for resolving a domain name resolution request, comprising:
-
one or more processors; a machine-readable medium storing instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of; assigning a first IP address to each of a plurality of domain name servers distributed across a plurality of point of presences; assigning a second IP address to a first subset of said plurality of domain name servers, wherein said first IP address is different than said first IP address; assigning a third IP address to a second subset of said plurality of domain name servers, wherein said third IP address is different than said first and second IP addresses; wherein said first subset is different than said second subset; receiving said domain name resolution request on a domain name server in said first subset of said plurality of domain name servers using said second IP address when said domain name resolution request sent to said first IP address times out; and receiving said domain name resolution request on a domain name server in said second subset of said plurality of domain name servers using said third IP address when said domain name resolution request sent to said second IP address times out. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification