System and method for suppressing DNS requests

US10021065B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10021065-B2
Application numberUS-201514606566-A
CountryUS
Kind codeB2
Filing dateJan 27, 2015
Priority dateJan 27, 2015
Publication dateJul 10, 2018
Grant dateJul 10, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A virtual private router (VPR) intercepts DNS requests and returns a pseudo IP address to the requesting application and the pseudo IP address is mapped to a domain name in the request. Requests for content including the pseudo IP address are modified to include the corresponding domain name and transmitted to an intermediary server, which resolves the domain name to a real IP address and forwards the content request. The content is received by the intermediary server, which returns it to the requesting application, such as by way of the VPR. Real IP addresses may be returned by the intermediary server such that subsequent content requests to the domain name may bypass the intermediary server. Requests for certain domains, ports, and/or protocols may bypass the intermediary server such that the VPR resolves the domain names to real IP addresses.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for domain resolution suppression, the method comprising: intercepting from an application executing on a computing device by a module executing on the same computing device, a domain resolution request including a domain name, the domain resolution request addressed to a first external server; suppressing, by the module, transmission of the domain resolution request to the external server; returning, by the module to the application, a pseudo internet protocol (IP) address as a response to the domain resolution request; and storing, by the module, an entry mapping the pseudo IP address to the domain name of the domain resolution request; wherein the application is a first application, the domain resolution request is a first domain resolution request, the domain name is a first domain name, and the pseudo IP address is a first pseudo IP address, the method further comprising: intercepting from one of the first application and a second application executing on the computing device by the module, a second domain resolution request including a second domain name; determining, by the module, according to a domain name rule applied to the second domain name that the second domain name request should not be suppressed; in response to determining according to the domain name rule applied to the second domain name that the second domain name request should not be suppressed; returning, by the module, a second pseudo IP address to the one of the first application and the second application; and storing, by the module, an entry mapping the second pseudo IP address to the second domain name in a storage location; intercepting from the one of the first application and the second application by the module, a content request including the second pseudo IP address; obtaining from the storage location the second domain name corresponding to the second pseudo IP address; transmitting, by the module, a request to resolve the second domain name from the computing device to one of the first external server and a second external server; receiving, by the module, a response to the request to resolve the second domain name, the response including a real IP address corresponding to the second domain name; and mapping, by the module, the real IP address to the second pseudo IP address; generating a modified content request including the real IP address; and transmitting the modified content request to one of the first external server and a different external server. 2. The method of claim 1 , further comprising: intercepting from the application by the module, a content request including the pseudo IP address; in response to intercepting from the application by the module the content request including the pseudo IP address, generating a modified content request including the domain name mapped to the pseudo IP address in the entry; transmitting the modified content request to one of the first external server and a different external server. 3. The method of claim 2 , further comprising performing by the one of the first external server and the different external server: receiving the modified content request; obtaining a real IP address corresponding to the domain name; requesting content according to the modified content request from the real IP address; receiving the content according to the modified content request; transmitting the content according to the modified content request to the computing device. 4. The method of claim 3 , wherein returning, by the module to the application, the pseudo internet protocol (IP) address as a response to the domain resolution request comprises returning the pseudo IP address having a time to live (TTL) attribute set to a value larger than a TTL value used for the real IP address. 5. The method of claim 1 , wherein the application is a first application, the domain resolution request is a first domain resolution request, and the domain name is a first domain name, the method further comprising: intercepting from one of the first application and a second application executing on the computing device by the module, a second domain resolution request including a second domain name; determining, by the module, according to a domain name rule applied to the second domain name that the second domain name request should not be suppressed; transmitting, by the computing device, a request to resolve the second domain name from the computing device to one of the first external server and a second external server; receiving, by the computing device, a response to the request to resolve the second domain name; and returning, by the computing device, the response to the request to resolve the second domain name to the application. 6. The method of claim 1 , wherein the entry mapping the pseudo IP address to the domain name includes a smaller number of bits than a real IP address. 7. The method of claim 1 , wherein the domain resolution request is a hypertext transfer protocol (HTTP) request, the method further comprising extracting the domain name from a HOST header of the HTTP request. 8. The method of claim 1 , wherein the domain resolution request is transmission control protocol (TCP) request, the method further comprising extracting the domain name from a CONNECT header of the TCP request. 9. A system comprising: one or more processing devices and one or more memory devices operably coupled to the one or more processors, the one or more memory devices storing executable and operational data effective to cause the one or more processing devices to: intercept from an application executed by the system a domain resolution request including a domain name, the domain resolution request addressed to a first external server; suppress transmission of the domain resolution request to the external server; return, to the application, a pseudo internet protocol (IP) address as a response to the domain resolution request; and store an entry mapping the pseudo IP address to the domain name of the domain resolution request; wherein the application is a first application, the domain resolution request is a first domain resolution request, the domain name is a first domain name, and the pseudo IP address is a first pseudo IP address and wherein the executable and operational data are further effective to cause the one or more processing devices to: intercept from one of the first application and a second application executing on the system a second domain resolution request including a second domain name; determine according to a domain name rule applied to the second domain name that the second domain name request should not be suppressed; in response to determining according to the domain name rule applied to the second domain name that the second domain name request should not be suppressed: return a second pseudo IP address to the one of the first application and the second application; store an entry mapping the second pseudo IP address to the second domain name in a storage location; intercept from the one of the first application and the second application a content request including the second pseudo IP address; obtain, from the storage location, the second domain name corresponding to the second pseudo IP address; transmit a request to resolve the second domain name from the system to one of the first external server and a second external server; receive a response to the request to resolve the second domain name, the response including a real IP address corresponding to the second domain name; and map the real IP address to the second pseudo IP address; and in response to intercepting from the one of the first application and the second appl

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • Network architectures or network communication protocols for network security (cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00; network architectures or network communication protocols for wireless network security H04W12/00; security arrangements for protecting computers or computer systems against unauthorised activity G06F21/00) · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

  • Virtual private networks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10021065B2 cover?
A virtual private router (VPR) intercepts DNS requests and returns a pseudo IP address to the requesting application and the pseudo IP address is mapped to a domain name in the request. Requests for content including the pseudo IP address are modified to include the corresponding domain name and transmitted to an intermediary server, which resolves the domain name to a real IP address and forwa…
Who is the assignee on this patent?
Anchorfree Inc
What technology area does this patent fall under?
Primary CPC classification H04L61/1511. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 10 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).