# US 9,882,767 B1 · Distributed cloud-based dynamic name server surrogation systems and methods

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,882,767 B1
- Document ID: US9882767B1
- Status: Granted
- Kind: B1
- Application number: 13/948,362
- Filed: 2013-07-23
- Granted: 2018-01-30
- Earliest claimed: 2013-07-23
- Assignees: Zscaler, Inc.
- Applicants: Patrick Foxhoven; John Chanak; Bill Fehring
- Inventors: Patrick Foxhoven; John Chanak; Bill Fehring
- Web page: https://patentgrep.com/patent/US9882767B1

## CPC

- G06F 12/0815: Cache consistency protocols
- G06F 12/0837: with software control, e.g. non-cacheable data
- G06F 12/0842: for multiprocessing or multitasking
- H04L 61/4511: using domain name system [DNS]
- H04L 61/4552: Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
- H04L 63/0227: {Filtering policies (mail message filtering H04L51/212)}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L 67/1036: Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
- Y02B 70/10: Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02B: CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS

## Abstract

A Dynamic Name Server (DNS) surrogation method, a DNS system, and a DNS server provide DNS surrogation which is the idea that if a user device sends a DNS resolution request to a given DNS server that server does not need to actually perform the recursion itself. A policy can be defined telling the server that first received the request to take other factors into account and “relay” or “surrogate” that request to another node. This additional node is called a “surrogate” and it actually performs the recursion therefore allowing the resolving party to perform proper localization, optimization, or any other form of differentiated resolution. This surrogation also distributes the job of actually performing resolution, which adds scalability to the DNS server or service itself. A network of “surrogate” resolvers is possible as well as the concept of every client needing DNS resolution can also become a surrogate.

## Claims

### Claim 1

A Dynamic Name System (DNS) surrogation method, comprising:
receiving a DNS request at a DNS server;
performing a policy look up based on a plurality of factors related to the DNS request;
surrogating the DNS request to a surrogate DNS server of a plurality of surrogates based on the policy look up, wherein the DNS request is directed to the DNS server which performs the surrogating to the surrogate DNS to maintain geographic localization whiling minimizing deployment of DNS servers, and wherein the surrogate DNS server is separate and distinct from an authoritative DNS server;
performing DNS resolution of the DNS request by the surrogate DNS server, wherein the DNS resolution comprises recursion by the surrogate DNS server;
providing a result of the DNS resolution by the surrogate DNS server in response to the DNS request to the DNS server, wherein the providing is independent of the DNS server performing the receiving,
wherein the plurality of surrogates are geographically diverse and communicatively coupled to a distributed cloud network, and wherein one or more of the plurality of surrogates comprise clients connected to the distributed cloud network.

### Claim 2 (depends on 1)

The DNS surrogation method of claim 1, further comprising:
configuring a user device to use the DNS server for DNS resolution; and
performing the DNS resolution for the user device by the surrogate DNS server.

### Claim 3 (depends on 1)

The DNS surrogation method of claim 1, further comprising:
determining surrogation is required for the DNS request based on the policy look up.

### Claim 4 (depends on 3)

The DNS surrogation method of claim 3, further comprising:
performing the policy look up to determine a location of a user device associated with the DNS request, configuration policy, status of the plurality of surrogates, and locality of the plurality of surrogates.

### Claim 5 (depends on 1)

The DNS surrogation method of claim 1, further comprising:
providing a request from the surrogate DNS server to an authoritative DNS server associated with a domain name of the DNS request.

### Claim 6 (depends on 5)

The DNS surrogation method of claim 5, further comprising:
receiving the result of the DNS resolution based on a location or source Internet Protocol address of the surrogate DNS server instead of based on the DNS server.

### Claim 7 (depends on 1)

The DNS surrogation method of claim 1, wherein the surrogate DNS server comprises a user device associated with the DNS request.

### Claim 8

A Dynamic Name System (DNS) system, comprising:
a DNS server implemented through a server comprising a processor, memory, and a network interface communicatively coupled to a user device;
a policy data store communicatively coupled to the DNS server; and
a surrogate DNS server of a plurality of surrogate DNS servers, the surrogate DNS server comprising a processor, memory, and a network interface communicatively coupled to the DNS server;
wherein the DNS server is configured to:
receive a DNS request from the user device;
perform a policy look up based on a plurality of factors related to the DNS request; and
transmit the DNS request to the surrogate DNS server based on the policy look up, wherein the DNS request is directed to the DNS server which determines the surrogate DNS to maintain geographic localization whiling minimizing deployment of DNS servers; and
wherein the surrogate DNS server is configured to:
perform DNS resolution of the DNS request, wherein the surrogate DNS is separate and distinct from an authoritative DNS server, wherein the DNS resolution comprises recursion by the surrogate DNS server; and
provide a result of the DNS resolution to the user device in response to the DNS request received by the DNS server, wherein the result is provided independent of the DNS server which received the DNS request,
wherein the plurality of surrogates are geographically diverse and communicatively coupled to a distributed cloud network, and wherein one or more of the plurality of surrogates comprise user devices connected to the distributed cloud network.

### Claim 9 (depends on 8)

The DNS system of claim 8, wherein the user device is configured to use the DNS server for DNS resolution, and wherein the DNS resolution is performed by the surrogate DNS server in a distributed cloud-based security system.

### Claim 10 (depends on 8)

The DNS system of claim 8, wherein the DNS server determines surrogation is required for the DNS request based on the policy look up.

### Claim 11 (depends on 10)

The DNS system of claim 10, wherein the policy look up determines a location of the user device associated with the DNS request, configuration policy, status of a plurality of surrogates comprising the surrogate DNS server, and locality.

### Claim 12 (depends on 8)

The DNS system of claim 8, wherein the surrogate DNS server is configured to provide a request to an authoritative DNS server associated with a domain name of the DNS request.

### Claim 13 (depends on 12)

The DNS system of claim 12, wherein the result of the DNS resolution is based on a location or source Internet Protocol address of the surrogate DNS server instead of based on the DNS server.

### Claim 14 (depends on 8)

The DNS system of claim 8, wherein the surrogate DNS server comprises the user device associated with the DNS request.

### Claim 15

A Dynamic Name System (DNS) server, comprising:
a network interface;
a processor communicatively coupled to the network interface;
memory storing instructions that, when executed, cause the processor to:
receive a DNS request from a user device through the network interface, wherein the user device is configured with an Internet Protocol address of the DNS server for providing DNS resolution such that the DNS request is directed to the DNS server;
perform a policy look up based on a plurality of factors related to the DNS request;
surrogate the DNS request to a surrogate DNS server of a plurality of surrogates based on the policy look up, wherein the surrogate DNS server performs the DNS resolution instead of the DNS server, wherein the DNS resolution comprises recursion by the surrogate DNS server, and wherein the surrogate DNS server is separate and distinct from an authoritative DNS server, and wherein the surrogate DNS server provides a response to the DNS request to the user device instead of the DNS server, wherein the response is provided independent of the DNS server which received the DNS request,
wherein the plurality of surrogates are geographically diverse and communicatively coupled to a distributed cloud network, and wherein one or more of the plurality of surrogates comprise user devices connected to the distributed cloud network.

### Claim 16 (depends on 15)

The DNS server of claim 15, wherein the policy look up determines a location of the user device, configuration policy, status of the plurality of surrogates, and locality of the plurality of surrogates such that the surrogate DNS server is chosen based thereon.

### Claim 17 (depends on 15)

The DNS server of claim 15, wherein the surrogate DNS server comprises the user device associated with the DNS request.
