Mapless Global Traffic Load Balancing Via Anycast
Abstract
Techniques are described for directing connections between clients and the closest web server. Authoritative DNS resolvers of a network are placed at edges of the network. Using anycast, the authoritative DNS resolvers advertise routes of their destination netblock to the Internet. A request from a client to connect to the network is routed, based upon BGP tables, to the closest particular authoritative DNS resolver. Once the request is received, a response is sent to the client with the IP address of the closest web server. The closest web server is determined through in-network health check measurements, with the authoritative DNS resolvers dynamically selecting IP addresses closest to themselves. Routing protocols that directed the packet to the closest authoritative DNS resolver also dictate the route of subsequent traffic to the network. Thus, the closest web server selected by the authoritative DNS resolver is also the closest web server to the client.
Claims
exact text as granted — not AI-modified1 . A method to connect to a server, comprising:
announcing to a first network, from a first plurality of servers in a second network, a route to the second network; receiving, from a client, a request routed to a first particular server, of the first plurality of servers,
wherein the request is routed to the first particular server based at least in part on the announcements from the first plurality of servers;
upon receiving the request at the first particular server, selecting a second particular server, of a second plurality of servers in the second network, based upon at least one criterion; and in response to selecting the second particular server, outputting, to the client, an IP address of the second particular server for the client to connect to the second particular server.
2 . The method of claim 1 , wherein each of the first plurality of servers are located on edges of the second network.
3 . The method of claim 1 , wherein the request is routed based upon anycast.
4 . The method of claim 3 , wherein anycast is implemented using the border gateway protocol.
5 . The method of claim 1 , wherein the first plurality of servers comprises DNS servers associated with a domain of the second network.
6 . The method of claim 5 , wherein the first plurality of servers further comprises global load balancing servers.
7 . The method of claim 1 , wherein selecting the second particular server is based upon determining which server, among the second plurality of servers, is closest to the first particular server.
8 . The method of claim 1 , wherein selecting the second particular server further comprises each of the first plurality of servers monitoring availability and health of the second plurality of servers.
9 . A system comprising,
a first plurality of servers located on edges of a second network, wherein the first plurality of servers in the second network are configured to announce to a first network, a route to the second network; and a second plurality of servers in the second network; a first particular server, of the first plurality of servers, is configured to receive a request from a client,
wherein the request is routed to the first particular server based at least in part on the announcements from the first plurality of servers;
upon receiving the request, the first particular server is configured to select a second particular server, of the second plurality of connection servers in the second network, based upon at least one criterion; in response to selecting the second particular server, the first particular server is configured to output, to the client, an IP address of the second particular server.
10 . The system of claim 9 , wherein the request is routed based upon anycast.
11 . The system of claim 9 , wherein the first plurality of servers comprises DNS servers associated with a domain of the second network.
12 . The system of claim 9 , wherein selecting the second particular server is based upon determining which server, among the second plurality of servers, is closest to the first particular server.
13 . A computer-readable storage medium storing instructions to connect to a server, the instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
announcing to a first network, from a first plurality of servers in a second network, a route to the second network; receiving, from a client, a request routed to a first particular server, of the first plurality of servers,
wherein the request is routed to the first particular server based at least in part on the announcements from the first plurality of servers;
upon receiving the request at the first particular server, selecting a second particular server, of a second plurality of servers in the second network, based upon at least one criterion; and in response to selecting the second particular server, outputting, to the client, an IP address of the second particular server for the client to connect to the second particular server.
14 . The computer-readable storage medium of claim 13 , wherein each of the plurality of servers are located on edges of the second network.
15 . The computer-readable storage medium of claim 13 , wherein the request is routed based upon anycast.
16 . The computer-readable storage medium of claim 15 , wherein anycast is implemented using the border gateway protocol.
17 . The computer-readable storage medium of claim 13 , wherein the plurality of servers comprises DNS servers associated with a domain of the second network.
18 . The computer-readable storage medium of claim 17 , wherein the plurality of servers further comprises global load balancing servers.
19 . The computer-readable storage medium of claim 13 , wherein selecting the particular connection server is based upon determining the connection server closest to the particular server.
20 . The computer-readable storage medium of claim 13 , wherein selecting the particular connection server further comprises each of the plurality of servers monitoring availability and health of the plurality of connection servers.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.