×

Determining an application delivery server based on geo-location information

  • US 9,960,967 B2
  • Filed: 10/21/2009
  • Issued: 05/01/2018
  • Est. Priority Date: 10/21/2009
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×