×

Systems and methods for distance and performance based load balancing

  • US 9,740,708 B2
  • Filed: 03/15/2013
  • Issued: 08/22/2017
  • Est. Priority Date: 05/01/2012
  • Status: Active Grant
First Claim
Patent Images

1. A distance-based routing method of translating queries for domain names into internet protocol (IP) addresses, comprising:

  • determining performance information associated with applications hosted by available server nodes, wherein the performance information includes metrics representative of actual routing and performance of the available server nodes as experienced by client devices using the applications hosted by the available server nodes, wherein the metrics representative of the actual routing and performance of the available server nodes as experienced by the client devices include metrics accounting for;

         1) actual routing and performance of data exchanged between the client devices and the available server nodes during use of the applications hosted by the available server nodes; and

         2) actual routing and performance of data exchanged between the available server nodes and external systems responsive to the data exchanged between the client devices and the available server nodes during use of the applications hosted by the available server nodes;

    receiving a request from a client device for an IP address associated with a domain name, the client device having a client IP address;

    querying a database of IP address location records to determine a geographic location of the client device;

    determining geographic distance to available server nodes based on the geographic location of the client device; and

    determining a first list of domain name system (DNS) records associated with the available server nodes, wherein the first list of DNS records is ordered based on the geographic proximity of the available server nodes to the geographic location of the client device;

    determining a second list of DNS records associated with the available server nodes, wherein the second list of DNS records is ordered based on the performance of the available server nodes as determined by the performance information;

    comparing the performance of the server nodes identified in the first list of DNS records and the performance of the server nodes identified in the second list of DNS records to determine whether performance of the server nodes identified in the second list of DNS records provides a threshold performance improvement over the server nodes identified in the first list of DNS records; and

    delivering the first list of DNS records to the client device when the performance of the server nodes identified in the second list of DNS records does not provide a threshold performance improvement over the server nodes identified in the first list of DNS records; and

    delivering the second list of DNS records to the client device when the performance of the server nodes identified in the second list of DNS records provides a threshold performance improvement over the server nodes identified in the first list of DNS records.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×