IP Library Granted Patent US 10,826,868
Granted Patent B2
US 10,826,868 · App. 15/084,357 · Granted Nov 3, 2020

NAT aware DNS

Inventor: Paul S. Farag (Renton, WA)
Assignee: T-Mobile USA, Inc.
H04L61/1511H04L61/2046
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,826,868
App. No.
15/084,357
Granted
Nov 3, 2020
Kind
B2
Abstract

Systems and methods are provided for resolving conflicting network addresses by utilizing a DNS server to configure an edge computing device. The DNS server may receive, from a client computing device, a request to resolve a hostname of a recipient computing device. The DNS server may determine a resolved network address corresponding to the hostname and may determine that the resolved network address conflicts with another network address. The DNS server may determine a substitute network address, provide the edge computing device with information for translating the substitute network address into the resolved network address, and provide the substitute network address to the client computing device. The edge computing device may receive the substitute network address from the client computing device, translate the substitute network address into the resolved network address of the recipient computing device, and send network data from the client computing device to the recipient computing device.

Claims (61)

1. A system comprising:

a domain-name-system (DNS) server comprising a first processor configured with processor-executable instructions to perform operations comprising:

receiving, at the DNS server from a client computing device, a request to resolve a hostname; and

responsive to the request,

obtaining, at the DNS server, a resolved network address associated with the hostname;

determining, at the DNS server, that the resolved network address conflicts with another network address;

determining, at the DNS server, a substitute network address associated with the resolved network address;

responsive to determining the substitute network address, providing an edge computing device with translation information for processing a subsequent request from the client computing device by translating the substitute network address into the resolved network address, wherein the subsequent request from the client computing device includes the substitute network address; and

after providing the edge computing device with the translation information, providing the substitute network address to the client computing device from the DNS server.

2. The system of claim 1 , wherein:

the system further comprises the edge computing device; and

the edge computing device comprises a second processor configured with processor-executable instructions to perform operations comprising:

receiving, from the DNS server, the translation information for translating the substitute network address into the resolved network address;

receiving, from the client computing device, the substitute network address and network data;

determining the resolved network address from the substitute network address and the translation information; and

providing the network data to a computing device at the resolved network address.

3. The system of claim 1 , wherein the edge computing device comprises one of an edge router device, a firewall device, or a network-address-translation device.

4. The system of claim 1 , wherein providing an edge computing device with translation information comprises:

generating instructions for updating a routing table with the translation information; and

providing the instructions to the edge computing device.

5. The system of claim 4 , wherein providing the instructions to the edge computing device comprises providing the instructions to the edge computing device via one of an application program interface of the edge computing device, a tool-command-language script, or a Simple Network Management Protocol message.

6. The system of claim 1 , wherein the first processor is configured with processor-executable instructions to perform operations further comprising receiving a set of conflicting network addresses, wherein each network address of the set of conflicting network addresses conflicts with another network address.

7. The system of claim 6 , wherein determining that the resolved network address conflicts with another network address comprises determining that the resolved network address is included in the set of conflicting network addresses.

8. The system of claim 7 , wherein the resolved network address is a network address in a local network of the client computing device.

9. A computer-implemented method comprising:

obtaining, at a domain-name-system (DNS) server, a resolved network address associated with a hostname;

determining, at the DNS server, that the resolved network address conflicts with another network address;

determining, at the DNS server, a substitute network address associated with the resolved network address;

responsive to determining the substitute network address, providing an edge computing device with translation information for processing a subsequent request from the client computing device by translating the substitute network address into the resolved network address, wherein the subsequent request from the client computing device includes the substitute network address; and

after providing the edge computing device with the translation information, providing the substitute network address to a client computing device from the DNS server.

10. The computer-implemented method of claim 9 further comprising:

generating time-to-live information related to the substitute network address; and

storing the time-to-live information.

11. The computer-implemented method of claim 10 further comprising:

determining that the time-to-live information has expired; and

causing the edge computing device to discard the translation information for translating the substitute network address into the resolved network address.

12. The computer-implemented method of claim 9 further comprising:

determining a domain associated with the resolved network address;

determining a routing rule associated with the domain; and

determining alternative translation information from the routing rule.

13. The computer-implemented method of claim 12 further comprising:

determining a network address of an intermediate computing device based on the alternative translation information; and

generating the translation information, wherein the translation information comprises information for translating the substitute address into the network address of the intermediate network.

14. The computer-implemented method of claim 12 , wherein the routing rule comprises at least one of information regarding a set of whitelisted domains or information regarding a set of blacklisted domains.

15. The computer-implemented method of claim 12 , wherein the intermediate computing device comprises one of a proxy server or an application-aware firewall device.

16. A non-transitory, computer-readable medium having stored thereon server-executable software instructions configured to cause a domain-name-system (DNS) server to perform operations comprising:

obtaining, at a domain-name-system (DNS) server, a resolved network address associated with a hostname;

determining, at the DNS server, that the resolved network address conflicts with another network address;

determining, at the DNS server, a substitute network address associated with the resolved network address;

responsive to determining the substitute network address, providing an edge computing device with translation information for processing a subsequent request from the client computing device by translating the substitute network address into the resolved network address, wherein the subsequent request from the client computing device includes the substitute network address; and

after providing the edge computing device with the translation information, providing the substitute network address to a client computing device from the DNS server.

17. The non-transitory, computer-readable medium of claim 16 , wherein providing the edge computing device with translation information comprises:

generating instructions for updating a routing table with the translation information; and

providing the instructions to the edge computing device.

18. The non-transitory, computer-readable medium of claim 16 , wherein the first processor is configured with processor-executable instructions to perform operations further comprising receiving a set of conflicting network addresses, wherein each network address of the set of conflicting network addresses conflicts with a network address located in one of a local network or an external network.

19. The non-transitory, computer-readable medium of claim 18 , wherein determining that the resolved network address conflicts with another network address comprises determining that the resolved network address is included in the set of conflicting network addresses.

20. The non-transitory, computer-readable medium of claim 16 further comprising:

generating time-to-live information related to the substitute network address;

storing the time-to-live information;

determining that the time-to-live information that was stored has expired; and

causing the edge computing device to discard the translation information for translating the substitute network address into the resolved network address.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2020
From: FARAG, PAUL S.
To: T-MOBILE USA, INC.
Reel/Frame 053346/0664 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2020
From: DEUTSCHE TELEKOM AG
To: T-MOBILE USA, INC.; IBSV LLC
Reel/Frame 052969/0381 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 30, 2016
From: T-MOBILE USA, INC.
To: DEUTSCHE TELEKOM AG
Reel/Frame 041225/0910 →