×

Methods and systems for processing a DNS request

  • US 9,912,630 B2
  • Filed: 04/22/2014
  • Issued: 03/06/2018
  • Est. Priority Date: 12/13/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method for processing Domain Name Services (DNS) request in a gateway, wherein the gateway comprises at least one local area network (LAN) interface and at least one wide area network (WAN) interface, the method comprising:

  • (a) receiving a first DNS request from a first host via one of the at least one LAN interface of the gateway;

    (b) selecting, according to at least one predefined selection policy, at least one DNS server;

    (c) transmitting a plurality of new DNS requests, containing all the contents of the first DNS request to the at least one DNS server through at least one tunnel via the at least one WAN interface if the at least one DNS server is accessible through the at least one tunnel;

    (d) transmitting the plurality of new DNS requests to the at least one DNS server without using a tunnel via the at least one WAN interface if the at least one DNS server is not accessible through any of the at least one tunnel;

    (e) receiving a plurality of DNS responses corresponding to the plurality of new DNS requests within a first predefined time period;

    (f) storing the plurality of DNS responses;

    (g) when the first predefined time period has expired;

    selecting a first DNS response from the received plurality of DNS responses according to at least one predefined DNS response selection policy;

    wherein when at least one of the plurality of DNS responses is valid, the selection policy is to select one of the at least one valid DNS response based on time of arrival, contents of each of the plurality of DNS responses, identity of DNS servers from which each of the plurality of DNS responses are received, or source of each of the plurality of DNS responses;

    wherein when none of the DNS responses are valid;

    the selection policy is to select one of the DNS responses randomly, statistically, according to the time of receiving or according to the order of receiving;

    (h) transmitting a new DNS response to the host wherein the content of the new DNS response is based on the content of the first DNS response;

    wherein if the first DNS response is not a valid DNS response, setting return code (RCODE) of the new DNS response to an RCODE contained in a majority of the plurality of DNS responses; and

    (i) when the gateway has information to respond to the first DNS request;

    responding to the DNS request; and

    not transmitting the plurality of new DNS requests.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×