IP Library Granted Patent US 10,454,879
Granted Patent B2
US 10,454,879 · App. 15/912,372 · Granted Oct 22, 2019

Methods and systems for processing a DNS request

Inventors: Alex Wing Hong Chan (Tai Tam, HK); Ho Ming Chan (Quarry Bay, HK); Kit Wai Chau (Kowloon, HK); Chi Pan Yip (Kowloon, HK); Min-Fu Tsai (Taipei, TW)
Assignee: PISMO LABS TECHNOLOGY LIMITED
H04L61/1511G06F16/29H04L12/4633H04L12/6418H04L12/66H04L61/2053H04L61/609
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,454,879
App. No.
15/912,372
Granted
Oct 22, 2019
Kind
B2
Abstract

A method and system for processing Domain Name Services (DNS) request in a gateway. The gateway receives a DNS request from a host from its local area network. The gateway then selects DNS server(s) and transmits a new DNS request to at least one DNS server(s). DNS server(s) may or may not be accessible through a first tunnel. The contents of the new DNS request are the same as the content of the received DNS request. Further, when the gateway receives a DNS response corresponding to the DNS request, it determines a decision whether to transfer data to the host whose IP address is specified in the DNS response through a second tunnel. The decision may be based on a geographical location of an IP address.

Claims (34)

1. A method for processing a Domain Name Services (DNS) request in a gateway, wherein the gateway comprises a plurality of wide area network (WAN) interfaces, comprising:

a. sending, via one or more WAN interfaces in the plurality of WAN interfaces, a first plurality of DNS requests to a plurality of DNS servers through a plurality of connections, wherein the first plurality of DNS requests are created based on a second DNS request;

b. receiving one or more first DNS responses within a time threshold;

c. selecting a second DNS response from the one or more first DNS responses; and

d. creating and transmitting a third DNS response, wherein the third DNS response is based on the second DNS response and corresponds to the second DNS request.

2. The method of claim 1 , wherein the selecting of the second DNS response from the one or more first DNS responses is based on at least one predefined DNS response selection policy.

3. The method of claim 1 , wherein the plurality of connections is established through one or more WAN interfaces in the plurality of WAN interfaces.

4. The method of claim 1 , wherein the plurality of connections comprises at least one tunnel.

5. The method of claim 1 , wherein the plurality of connections comprises at least one access network and at least one tunnel.

6. The method of claim 1 , further comprising determining a number of DNS requests in the first plurality of DNS requests wherein the number of DNS requests in the first plurality of DNS requests is equal to number of connections in the plurality of connections.

7. The method of claim 1 , wherein the plurality of DNS servers is selected based on accessibility of the plurality of connections.

8. The method of claim 1 , wherein the plurality of DNS servers is selected based on at least one predefined DNS server selection policy.

9. The method of claim 1 , wherein the first plurality of DNS requests include at least two DNS requests for a DNS server in the plurality of DNS servers.

10. The method of claim 1 , wherein at least two DNS requests in the first plurality of DNS requests are sent through different connections in the plurality of connections.

11. A gateway, comprising:

a plurality of network interfaces;

at least one processing unit coupled to the plurality of network interfaces;

at least one main memory coupled to the at least one processing unit;

at least one non-transitory computer readable storage medium coupled to the at least one processing unit and storing program instructions configured to cause the at least one processing unit to perform the steps of:

a. sending a first plurality of DNS requests to a plurality of DNS servers through a plurality of connections wherein the first plurality of DNS requests are created based on a second DNS request;

b. receiving one or more first DNS responses within a time threshold;

c. selecting a second DNS response from the one or more first DNS responses; and

d. creating and transmitting a third DNS response, wherein the third DNS response is based on the second DNS response and corresponds to the second DNS request.

12. The gateway of claim 11 , wherein the selecting of the second DNS response from the one or more first DNS responses is based on at least one predefined DNS response selection policy.

13. The gateway of claim 11 , wherein the plurality of connections is established through one or more WAN interfaces in the plurality of network interfaces.

14. The gateway of claim 11 , wherein the plurality of connections comprises at least one tunnel.

15. The gateway of claim 11 , wherein the plurality of connections comprises at least one access network and at least one tunnel.

16. The gateway of claim 11 , wherein the at least one non-transitory computer readable storage medium further stores program instructions configured to cause the at least one processing unit to perform the steps of:

receiving a DNS request through at least one network interface in the plurality of network interfaces; and

sending the second DNS request through a different connection in the plurality of connections.

17. The gateway of claim 11 , wherein the plurality of DNS servers is selected based on accessibility of the plurality of connections.

18. The gateway of claim 11 , wherein the plurality of DNS servers is selected based on at least one predefined DNS server selection policy.

19. The gateway of claim 11 , wherein the first plurality of DNS requests includes at least two DNS requests for a DNS server in the plurality of DNS servers.

20. The gateway of claim 11 , wherein at least two DNS requests in the first plurality of DNS requests are sent through different connections in the plurality of connections.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2018
From: TSAI, MIN-FU
To: PISMO LABS TECHNOLOGY LIMITED
Reel/Frame 046244/0432 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2018
From: CHAN, WING HONG ALEX; CHAN, HO MING; CHAU, KIT WAI; YIP, CHI PAN
To: PISMO LABS TECHNOLOGY LIMITED
Reel/Frame 046163/0682 →
Continuity (2)
Continuation 14410107
Related Publication 20180262461A1 · Sep 13, 2018
Cited By (1)
US 12,445,408