IP Library Granted Patent US 8,583,801
Granted Patent B2
US 8,583,801 · App. 13/756,642 · Granted Nov 12, 2013

DNS outage avoidance method for recursive DNS servers

Inventors: Robert M. Fleischman (Concord, NH); William Thomas Waters (Clifton Park, NY); Robert Alton Wyatt (Windham, NH)
Assignee: Xerocole, Inc.
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 8,583,801
App. No.
13/756,642
Granted
Nov 12, 2013
Kind
B2
Abstract

This disclosure describes systems, methods, and apparatus to protect users of the Internet from DNS outages. In particular, an outage avoidance system is provided that includes query processing, outage avoidance processing, and a local cache, all configured to extend the TTL of expired answers to DNS queries or to ignore the expiration of an answer's TTL value, and thereby provide the expired answer in response to a client request when a DNS server is unable to obtain an answer from a remote DNS server.

Claims (38)

1. A proxy DNS server system comprising:

a local cache storing cached DNS answers from previous queries, each of the cached DNS answers having a TTL value, cached DNS answers having an expired TTL value are considered expired answers;

an outage avoidance system configured to handle empty answers and errors from DNS server systems in a DNS server cluster that are not equipped with an outage avoidance system, and comprising:

a query processing module that:

is configured to receive a DNS query from a client;

checks the local cache for a non-expired answer to the DNS query; and upon not finding one,

is configured to pass the DNS query to a remote DNS server system via one of the DNS server systems;

an outage avoidance processing module that is configured to, upon indication that the one of the DNS server systems received an empty answer, an error message, or no response from the remote DNS server system:

check the local cache for an expired answer to the DNS query; and

return the expired answer to the client, and

wherein the proxy DNS server system is configured to route various DNS queries to the DNS server systems in the DNS server cluster.

2. The proxy DNS server system of claim 1 , wherein the proxy DNS server system is configured to select which DNS server system to route a DNS query to based on load balancing considerations.

3. The proxy DNS server system of claim 1 , wherein the proxy DNS server system selects which DNS server system to route a DNS query to based on attempts to match DNS queries with one of the DNS server systems most likely to have an answer to the DNS query.

4. The proxy DNS server system of claim 1 , wherein the proxy DNS server system is configured to have firewall functionality.

5. The proxy DNS server system of claim 1 , wherein the proxy DNS server system is configured to filter queries based on security considerations.

6. A method of handling a DNS query from a client comprising:

receiving a DNS query from a client via a proxy DNS server system that distributes DNS queries to a DNS server system and other DNS server systems in a DNS server cluster, wherein the DNS server system does not have an outage avoidance system;

checking a first local cache of the DNS server system handling the DNS query for a non-expired answer to the DNS query;

forwarding the DNS query to a remote DNS server system;

receiving an empty answer, an error, or no answer from the remote DNS server system;

checking a second local cache of a proxy DNS server system for an expired answer to the DNS query; and

returning the expired answer to the client in response to the DNS query.

7. The method of claim 6 , further comprising checking the second local cache of the proxy DNS server system for a non-expired answer to the DNS query before forwarding the DNS query to the DNS server system.

8. The method of claim 7 , wherein the DNS server system checks the first local cache for a non-expired answer to the DNS query before forwarding the DNS query to the remote DNS server system.

9. A method of operating a DNS proxy server system comprising:

routing various DNS queries to a plurality of DNS server systems in a DNS server cluster wherein at least one of the DNS server systems is not equipped with an outage avoidance system;

receiving a DNS query from a client;

checking a local cache of the DNS proxy server system for a non-expired answer to the DNS query;

upon not finding a non-expired answer, passing the DNS query to one of the DNS server systems in the DNS server cluster;

receiving an empty answer, an error, or no answer from the at least one of the DNS server systems not equipped with an outage avoidance system;

check the local cache of the DNS proxy server system for an expired answer to the DNS query; and

return the expired answer to the client.

10. The method of claim 9 , wherein at least one of the DNS server systems in the DNS server cluster is equipped with an outage avoidance system.

11. The method of claim 10 , wherein the at least one of the DNS server systems in the DNS server cluster equipped with an outage avoidance system returns another expired answer to the client via the DNS proxy server system in response to another DNS query where an answer to the another DNS query cannot be found on a local cache of the at least one of the DNS server systems in the DNS server cluster equipped with an outage avoidance system, and where a remote DNS server system returns an empty answer, an error message, or no response in response to the another DNS query.

12. The method of claim 11 , wherein the remote DNS server system comprises one or more authoritative DNS servers.

13. The DNS server system of claim 9 , further comprising modifying a TTL value of the expired answer as part of the return the expired answer to the client.

14. The method of claim 9 , further comprising ignoring a TTL value of the expired answer as part of the return the expired answer to the client.

15. The method of claim 9 , wherein at least one of the DNS server systems in the DNS server cluster is a recursive DNS server system.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY ANDTHE RECEIVING PARTY DATA PREVIOUSLY RECORDED AT REEL: 035993 FRAME: 0664. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 3, 2016
From: TESSA ACQUISITION CORP.
To: XEROCOLE, INC.
Reel/Frame 037981/0396 →
MERGER Recorded Jun 22, 2015
From: XEROCOLE, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 035993/0664 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2013
From: FLEISCHMAN, ROBERT M.; WATERS, WILLIAM THOMAS; WYATT, ROBERT ALTON
To: XEROCOLE, INC.
Reel/Frame 029875/0919 →
Continuity (2)
Provisional Application 61593663 · Feb 1, 2012
Related Publication 20130198269A1 · Aug 1, 2013