Determining an application delivery server based on geo-location information
First Claim
1. A method for geo-location based web service load balancing by a global load balancing computer, the method comprising:
- receiving by the global load balancing computer a request for a web service offered by a web site sent by a local domain name system (DNS) server to a global DNS server, the local DNS server being coupled to a web client requesting the web service, the request comprising local DNS server information and a domain name, the global load balancer being coupled between the local DNS server and the global DNS server;
determining a geographic location of the local DNS server based on the local DNS server information;
conditionally determining a web server from a plurality of web servers that serve the requested web service offered by the website based on a web server location entry from a web server location database;
determining a geographic location for the conditionally determined web server from the web server location entry;
comparing the geographic location of the local DNS server to the geographic location for the conditionally determined web server, the determining a web server that is able to serve the requested web service offered by the website from a plurality of web servers and the determining a geographic location for the conditionally determined web server comprising;
querying the web server location database using the domain name, wherein the web server location database comprises a plurality of entries, each entry comprising a domain name, a corresponding web server, and a corresponding geographic location, wherein the web server location database identifies one or more entries comprising a domain name matching the domain name from the request; and
receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, each entry further comprising a performance factor, the performance factor comprising a latency, wherein the determining one of the corresponding web servers based on the comparison of the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server comprises;
determining the corresponding web server with a smallest latency, wherein the web server location database identifies a plurality of entries comprising the domain name matching the domain name from the request, the receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, the determining that the geographic location of the local DNS server matches the geographic location for the conditionally determined web server, and the selecting the conditionally determined web server comprises;
receiving from the web server location database the corresponding web servers, the corresponding geographic locations, and the performance factors from the identified entries;
determining if any of the corresponding geographic locations match the geographic location of the local DNS server;
comparing the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server;
determining one of the corresponding web servers based on the comparison of the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server; and
selecting the conditionally determined web server;
if the geographic location of the local DNS server matches the geographic location for the conditionally determined web server based on the comparing;
selecting by the global load balancer the conditionally determined web server to serve the requested web service offered by the website;
modifying a response to the request for the web service to comprise information on the selected web server, the response being sent by the global DNS server to the global load balancer; and
sending the modified response to the local DNS server.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system to determine a web server based on geo-location information is disclosed. The system includes: a local DNS server coupled to a web client; a plurality of web servers; and a global load balancer coupled to the local DNS server. The global load balancer: receives a request for a web service sent by the web client, the request comprising local DNS server information; determines a geographic location for the local DNS server based on the local DNS server information; determines a web server from the plurality of web servers based on the requested web service; determines a geographic location for the determined web server; determines that the geographic location for the local DNS server matches the geographic location for the determined web server; selects the determined web server; and sends a response comprising information on the selected web server to the local DNS server.
449 Citations
40 Claims
-
1. A method for geo-location based web service load balancing by a global load balancing computer, the method comprising:
-
receiving by the global load balancing computer a request for a web service offered by a web site sent by a local domain name system (DNS) server to a global DNS server, the local DNS server being coupled to a web client requesting the web service, the request comprising local DNS server information and a domain name, the global load balancer being coupled between the local DNS server and the global DNS server; determining a geographic location of the local DNS server based on the local DNS server information; conditionally determining a web server from a plurality of web servers that serve the requested web service offered by the website based on a web server location entry from a web server location database; determining a geographic location for the conditionally determined web server from the web server location entry; comparing the geographic location of the local DNS server to the geographic location for the conditionally determined web server, the determining a web server that is able to serve the requested web service offered by the website from a plurality of web servers and the determining a geographic location for the conditionally determined web server comprising; querying the web server location database using the domain name, wherein the web server location database comprises a plurality of entries, each entry comprising a domain name, a corresponding web server, and a corresponding geographic location, wherein the web server location database identifies one or more entries comprising a domain name matching the domain name from the request; and receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, each entry further comprising a performance factor, the performance factor comprising a latency, wherein the determining one of the corresponding web servers based on the comparison of the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server comprises; determining the corresponding web server with a smallest latency, wherein the web server location database identifies a plurality of entries comprising the domain name matching the domain name from the request, the receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, the determining that the geographic location of the local DNS server matches the geographic location for the conditionally determined web server, and the selecting the conditionally determined web server comprises; receiving from the web server location database the corresponding web servers, the corresponding geographic locations, and the performance factors from the identified entries; determining if any of the corresponding geographic locations match the geographic location of the local DNS server; comparing the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server; determining one of the corresponding web servers based on the comparison of the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server; and selecting the conditionally determined web server; if the geographic location of the local DNS server matches the geographic location for the conditionally determined web server based on the comparing; selecting by the global load balancer the conditionally determined web server to serve the requested web service offered by the website; modifying a response to the request for the web service to comprise information on the selected web server, the response being sent by the global DNS server to the global load balancer; and sending the modified response to the local DNS server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20)
-
-
14. A method for geo-location based web service load balancing by a global load balancing computer, the method comprising:
-
receiving by the global load balancing computer a request for a web service offered by a web site sent by a local domain name system (DNS) server to a global DNS server, the local DNS server being coupled to a web client requesting the web service, the request comprising local DNS server information and a domain name, the global load balancer being coupled between the local DNS server and the global DNS server; determining a geographic location of the local DNS server based on the local DNS server information; conditionally determining a web server from a plurality of web servers that serve the requested web service offered by the website based on a web server location entry from a web server location database; determining a geographic location for the conditionally determined web server from the web server location entry; comparing the geographic location of the local DNS server to the geographic location for the conditionally determined web server, the determining a web server that is able to serve the requested web service offered by the website from a plurality of web servers and the determining a geographic location for the conditionally determined web server comprising; querying the web server location database using the domain name, wherein the web server location database comprises a plurality of entries, each entry comprising a domain name, a corresponding web server, and a corresponding geographic location, wherein the web server location database identifies one or more entries comprising a domain name matching the domain name from the request; and receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, each entry further comprising a performance factor, wherein the web server location database identifies a plurality of entries comprising the domain name matching the domain name from the request, the receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, the determining that the geographic location of the local DNS server matches the geographic location for the conditionally determined web server, and the selecting the conditionally determined web server comprises; receiving from the web server location database the corresponding web servers, the corresponding geographic locations, and the performance factors from the identified entries; determining if any of the corresponding geographic locations match the geographic location of the local DNS server; comparing the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server, at least one of the performance factors comprising a network capacity; determining one of the corresponding web servers based on the comparison of the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server, and determining the corresponding web server with a largest network capacity; and selecting the conditionally determined web server; if the geographic location of the local DNS server matches the geographic location for the conditionally determined web server based on the comparing; selecting by the global load balancer the conditionally determined web server to serve the requested web service offered by the website; modifying a response to the request for the web service to comprise information on the selected web server, the response being sent by the global DNS server to the global load balancer; and sending the modified response to the local DNS server. - View Dependent Claims (15, 16, 17, 18, 21, 22, 23, 24, 25, 26)
-
-
27. A method for geo-location based web service load balancing by a global load balancing computer, the method comprising:
-
receiving by the global load balancing computer a request for a web service offered by a web site sent by a local domain name system (DNS) server to a global DNS server, the local DNS server being coupled to a web client requesting the web service, the request comprising local DNS server information and a domain name, the global load balancer being coupled between the local DNS server and the global DNS server; determining a geographic location of the local DNS server based on the local DNS server information; conditionally determining a web server from a plurality of web servers that serve the requested web service offered by the website based on a web server location entry from a web server location database; determining a geographic location for the conditionally determined web server from the web server location entry; comparing the geographic location of the local DNS server to the geographic location for the conditionally determined web server, the determining a web server that is able to serve the requested web service offered by the website from a plurality of web servers and the determining a geographic location for the conditionally determined web server comprising; querying the web server location database using the domain name, wherein the web server location database comprises a plurality of entries, each entry comprising a domain name, a corresponding web server, and a corresponding geographic location, wherein the web server location database identifies one or more entries comprising a domain name matching the domain name from the request; and receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, each entry further comprising a performance factor, the performance factor comprising a processing capability, wherein the web server location database identifies a plurality of entries comprising the domain name matching the domain name from the request, the receiving from the web server location database a corresponding geographic location from the identified entry as the geographic location for the conditionally determined web server, the determining that the geographic location of the local DNS server matches the geographic location for the conditionally determined web server, and the selecting the conditionally determined web server comprises; receiving from the web server location database the corresponding web servers, the corresponding geographic locations, and the performance factors from the identified entries; determining if any of the corresponding geographic locations match the geographic location of the local DNS server; comparing the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server; determining one of the corresponding web servers based on the comparison of the performance factors for the corresponding geographic locations that match the geographic location of the local DNS server, the determining including selecting the corresponding web server with a best processing capability; and selecting the conditionally determined web server; if the geographic location of the local DNS server matches the geographic location for the conditionally determined web server based on the comparing; selecting by the global load balancer the conditionally determined web server to serve the requested web service offered by the website; modifying a response to the request for the web service to comprise information on the selected web server, the response being sent by the global DNS server to the global load balancer; and sending the modified response to the local DNS server. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification