IP Library › Granted Patent US 10,681,001
Granted Patent B2
US 10,681,001 · App. 15/993,774 · Granted Jun 9, 2020

High precision mapping with intermediary DNS filtering

Inventors: David Tang (Medford, MA); Charles E. Gero (Quincy, MA)
Assignee: Akamai Technologies, Inc.
H04L61/1511H04L41/0813H04L43/0864H04L61/2007H04L67/02H04L67/2842
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,681,001
App. No.
15/993,774
Granted
Jun 9, 2020
Kind
B2
Abstract

Among other things, this document describes systems, devices, and methods for improving the mapping of end user clients to content servers. In one embodiment, an intermediary DNS server receives a DNS answer with multiple IP addresses. The intermediary DNS server modifies this answer before passing it on to the end user client—that is the end user client that originally requested name resolution of the hostname. Modification can involve filtering the list to remove low-performing IP addresses, re-ordering the list, blocking certain IPs according to policy, or other things. The intermediary DNS server can be operated by a internet service provider (carrier) or an enterprise, for example, or provided on their behalf by a third party as a service. The modification can be based on knowledge of the client-side network, including the location and connectivity of the end user client.

Claims (33)

1. A method for improving the network performance of an end user client to server connection, comprising:

at an intermediary DNS server operated by any of (i) an enterprise and (ii) a service provider on behalf of the enterprise, the intermediary DNS server configured to recursively resolve domain names for end user clients in the enterprise:

receiving a request to resolve a domain name from an end user client in the enterprise;

in response to receipt of the request to resolve the domain name from the end user client, the intermediary DNS server sending a request to resolve the domain name towards an upstream DNS server, the upstream DNS server being outside of the enterprise, wherein the intermediary DNS server is configured to, in making such request, any of: strip client subnet information for the end user client and not append client subnet information for the end user client;

receiving a DNS response comprising a plurality of IP addresses generated by the upstream DNS server in response to the request to resolve the domain name;

receiving performance measurement data from measured by a ping proxy on behalf of the intermediary DNS server, the ping proxy located in the enterprise, the performance measurement data being associated with one or more IP addresses of the plurality of IP addresses and reflecting performance to the one or more IP addresses from any of: the end user client location and an approximation of the end user location;

modifying the DNS response, said modification being based at least in part on the performance measurement data and the client subnet information, the modification comprising at least one of:

(i) re-ordering the plurality of IP addresses;

(ii) filtering the plurality of IP addresses;

(iii) substituting an IP address for one of the plurality of IP addresses;

sending the modified DNS response towards the end user client.

2. The method of claim 1 , wherein the performance measurement data comprises one or more performance measurements of round trip time (RTT).

3. A system for improving the network performance of an end user client to server connection, comprising:

A. an end user client device in the enterprise, the end user client device having circuitry providing one or more processors and a memory device holding computer program instructions to operate the end user client device to:

send a request to resolve a domain name;

receive a modified DNS response to the request from an intermediary DNS server;

B. the intermediary DNS server operated by any of (i) the enterprise and (ii) a service provider on behalf of the enterprise, the intermediary DNS server configured to recursively resolve domain names for end user clients in the enterprise, the intermediary DNS server having circuitry providing one or more processors and a memory device holding computer program instructions to operate the intermediary DNS server to:

receive the request to resolve a domain name from the end user client in the enterprise;

in response to receipt of the request to resolve the domain name from the end user client, the intermediary DNS server sending a request to resolve the domain name towards an authoritative DNS server, the authoritative DNS server being external to the enterprise, wherein the intermediary DNS server is configured to, in making such request, any of: strip client subnet information for the end user client and not append client subnet information for the end user client;

B. the authoritative DNS server having circuitry providing one or more processors and a memory device holding computer program instructions to operate the authoritative DNS server to:

receive the request to resolve the domain name from the intermediary DNS server;

generate and send a DNS response having a plurality of IP addresses associated with the domain name;

wherein each of the plurality of IP addresses is a valid IP address pointing to a live server that is available to serve content hosted under the domain name;

C. the intermediary DNS server having circuitry providing one or more processors and a memory device holding computer program instructions to operate the intermediary DNS server to:

receive performance measurement data measured by a ping proxy on behalf of the intermediary DNS server, the ping proxy located in the enterprise, the performance measurement data being associated with one or more IP addresses of the plurality of IP addresses and reflecting performance to the one or more IP addresses from any of: the end user client location and an approximation of the end user location;

modify the DNS response from the authoritative DNS server, said modification being based at least in part on the performance measurement data and the client subnet information, the modification comprising at least one of:

(i) re-ordering the plurality of IP addresses;

(ii) filtering the plurality of IP addresses;

(iii) substituting an IP address for one of the plurality of IP addresses;

send the modified DNS response towards the end user client.

4. The system of claim 3 , wherein the performance measurement data comprises one or more performance measurements of round trip time (RTT).

5. The method of claim 1 , wherein the intermediary DNS server any of strips and not appends client subnet information so as to enable the enterprise to avoid exposing aspects of its addressing scheme.

6. The system of claim 3 , wherein the intermediary DNS server any of strips and not appends client subnet information so as to enable the enterprise to avoid exposing aspects of its addressing scheme.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2018
From: TANG, DAVID; GERO, CHARLES E.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 046787/0497 →
Continuity (2)
Provisional Application 62650193 · Mar 29, 2018
Related Publication 20190306111A1 · Oct 3, 2019