Determining an application delivery server based on geo-location information
First Claim
1. A system for web service load balancing, the system comprising:
- a plurality of web servers;
a global load balancer coupled to a local domain name system (DNS) server, wherein the global load balancer is configured to;
receive, from the local DNS server, a request for a web service, the local DNS server being coupled to a web client requesting the web service, the request including local DNS server information and a requested domain name;
based on the local DNS server information, determine a local DNS server geographic location associated with the local DNS server;
based on the web service, select one or more web servers from the plurality of web servers;
based on the requested domain name, query a web server location database, wherein the web server location database includes a plurality of entries, each entry of the plurality of entries including a domain name, a network address of one of the plurality of web servers, a geographic location of the one of the plurality of web servers, and a performance factor associated with the one of the plurality of web servers;
based on the querying, identify, in the web server location database, one or more entries including the domain name that matches the requested domain name;
based on the identified one or more entries and the one or more web servers selected based on the web service, receive, from the web server location database, network addresses of the one or more web servers, geographic locations of the one or more web servers, and performance factors associated with the one or more web servers;
determine if any of the geographic locations of the one or more web servers matches the local DNS server geographic location;
based on the match, select, from the one or more web servers, a web server based on the performance factors of the one or more web servers, wherein the performance factor of each of the one or more web servers includes a processing capability, wherein the selecting the web server includes determining the web server with a best processing capability, the web server being associated with a network address; and
send a response to the local DNS server, the response including at least the network address of the web server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for web service load balancing may commence with receiving, from a local DNS server, a request for a web service. The local DNS server may be coupled to a web client requesting the web service. The request may include local DNS server information. The method may continue with determining a geographic location of the local DNS server based on the local DNS server information. The method may further include selecting a web server from a plurality of web servers based on the web service. The method may continue with determining a geographic location of the web server and determining that the geographic location of the local DNS server matches the geographic location of the web server. The method may further include selecting the web server based on the match. The method may continue with sending a response to the local DNS server.
435 Citations
18 Claims
-
1. A system for web service load balancing, the system comprising:
-
a plurality of web servers; a global load balancer coupled to a local domain name system (DNS) server, wherein the global load balancer is configured to; receive, from the local DNS server, a request for a web service, the local DNS server being coupled to a web client requesting the web service, the request including local DNS server information and a requested domain name; based on the local DNS server information, determine a local DNS server geographic location associated with the local DNS server; based on the web service, select one or more web servers from the plurality of web servers; based on the requested domain name, query a web server location database, wherein the web server location database includes a plurality of entries, each entry of the plurality of entries including a domain name, a network address of one of the plurality of web servers, a geographic location of the one of the plurality of web servers, and a performance factor associated with the one of the plurality of web servers; based on the querying, identify, in the web server location database, one or more entries including the domain name that matches the requested domain name; based on the identified one or more entries and the one or more web servers selected based on the web service, receive, from the web server location database, network addresses of the one or more web servers, geographic locations of the one or more web servers, and performance factors associated with the one or more web servers; determine if any of the geographic locations of the one or more web servers matches the local DNS server geographic location; based on the match, select, from the one or more web servers, a web server based on the performance factors of the one or more web servers, wherein the performance factor of each of the one or more web servers includes a processing capability, wherein the selecting the web server includes determining the web server with a best processing capability, the web server being associated with a network address; and send a response to the local DNS server, the response including at least the network address of the web server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for web service load balancing, the method comprising:
-
receiving, by a global load balancer, from a local domain name system (DNS) server, a request for a web service, the local DNS server being coupled to a web client requesting the web service, the request including local DNS server information and a requested domain name; based on the local DNS server information, determining, by the global load balancer, a local DNS server geographic location associated with the local DNS server; based on the web service, determining, by the global load balancer, one or more web servers from a plurality of web servers; based on the requested domain name, querying a web server location database, wherein the web server location database includes a plurality of entries, each entry of the plurality of entries including a domain name, a network address of one of the plurality of web servers, a geographic location of the one of the plurality of web servers, and a performance factor associated with the one of the plurality of web servers; based on the querying, identifying, in the web server location database, one or more entries including the domain name that matches the requested domain name; based on the identified one or more entries and the one or more web servers selected based on the web service, receiving, from the web server location database, network addresses of the one or more web servers, geographic locations of the one or more web servers, and performance factors associated with the one or more web servers; determining, by the global load balancer, if any of the geographic locations of the one or more web servers matches the local DNS server geographic location; based on the matching, selecting, by the global load balancer, from the one or more web servers, a web server based on the performance factors of the one or more web servers wherein the performance factor of each of the one or more web servers includes a processing capability, wherein the selecting the web server includes determining the web server with a best processing capability, the web server being associated with a network address; and sending, by the global load balancer, a response to the local DNS server, the response including at least the network address of the web server. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system for web service load balancing, the system comprising:
-
a plurality of web servers; a web server location database; and a global load balancer coupled to a local domain name system (DNS) server, wherein the global load balancer is configured to; receive, from the local DNS server, a request for a web service, the local DNS server being coupled to a web client requesting the web service, the request including local DNS server information, wherein the request further includes a requested domain name; based on the local DNS server information, determine a local DNS server geographic location associated with the local DNS server; based on the web service, select one or more web servers from the plurality of web servers; determine a geographic location of the one or more web servers, wherein the determining the geographic location of the one or more web servers includes; querying the web server location database using the requested domain name, wherein the web server location database includes a plurality of entries, each entry of the plurality of entries including a domain name, a network address of one of the plurality of web servers, a geographic location of the one of the plurality of web servers, and a performance factor associated with the one of the plurality of web servers, wherein the web server location database identifies one or more entries including the domain name that matches the requested domain name; and receiving, from the web server location database, network addresses of the one or more web servers, geographic locations of the one or more web servers, and performance factors associated with the one or more web servers; determine if any of the geographic locations of the one or more web servers matches the local DNS server geographic location; based on the match, select, from the one or more web servers, a web server based on the performance factors of the one or more web servers, wherein the performance factor of each of the one or more web servers includes a processing capability, wherein the selecting the web server includes determining the web server with a best processing capability, the web server being associated with a network address; and send a response to the local DNS server, the response including at least the network address of the web server.
-
Specification