Robust domain name resolution
First Claim
1. A computer-implemented method of processing domain name system requests, comprising:
- storing at a recursive nameserver domain name records for a plurality of domain names including a first domain name;
issuing a domain name system (DNS) request for the first domain name to one or more authoritative nameservers associated with the first domain name after said storing;
in response to a failure associated with the DNS request for the first domain name, identifying a subset of the plurality of domain names that are associated with the one or more authoritative nameservers, the subset including the first domain name and at least one additional domain name of the plurality of domain names;
in response to the failure associated with the DNS request for the first domain name, modifying the domain name records at the recursive nameserver for the subset of domain names to indicate that the domain name records at the recursive nameserver for the subset of domain names are not to be deleted; and
in response to receiving a reply to a DNS request for a second domain name of the subset of domain names, modifying the domain name records at the recursive nameserver for the subset of domain names to indicate that the domain name records at the recursive nameserver for the subset of domain names are to be deleted.
3 Assignments
0 Petitions
Accused Products
Abstract
A recursive DNS nameserver system and related domain name resolution techniques are disclosed. The DNS nameservers utilize a local cache having previously retrieved domain name resolution to avoid recursive resolution processes and the attendant DNS requests. If a matching record is found with a valid (not expired) TTL field, the nameserver returns the cached domain name information to the client. If the TTL for the record in the cache has expired and the nameserver is unable to resolve the domain name information using DNS requests to authoritative servers, the recursive DNS nameserver returns to the cache and accesses the resource record having an expired TTL. The nameserver generates a DNS response to the client device that includes the domain name information from the cached resource record. In various embodiments, subscriber information is utilized to resolve the requested domain name information in accordance with user-defined preferences.
-
Citations
20 Claims
-
1. A computer-implemented method of processing domain name system requests, comprising:
-
storing at a recursive nameserver domain name records for a plurality of domain names including a first domain name; issuing a domain name system (DNS) request for the first domain name to one or more authoritative nameservers associated with the first domain name after said storing; in response to a failure associated with the DNS request for the first domain name, identifying a subset of the plurality of domain names that are associated with the one or more authoritative nameservers, the subset including the first domain name and at least one additional domain name of the plurality of domain names; in response to the failure associated with the DNS request for the first domain name, modifying the domain name records at the recursive nameserver for the subset of domain names to indicate that the domain name records at the recursive nameserver for the subset of domain names are not to be deleted; and in response to receiving a reply to a DNS request for a second domain name of the subset of domain names, modifying the domain name records at the recursive nameserver for the subset of domain names to indicate that the domain name records at the recursive nameserver for the subset of domain names are to be deleted. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for processing domain name system requests, comprising:
-
a cache configured to store domain name information including a first domain name for a domain and a second domain name; and one or more processors in communication with the cache, the one or more processors configured to issue a domain name system (DNS) request to one or more authoritative nameservers for the first domain name and the second domain name, identify the first domain name and the second domain name and modify the domain name information at the cache to indicate that the domain name information for the first domain name and the second domain name is not to be deleted in response to a failure to receive a response to the DNS request from the one or more authoritative nameservers for the first domain name, and modify the domain name information at the cache to indicate that the domain name information is to be deleted in response to receiving a response to a DNS request from the one or more authoritative nameservers for the second domain name. - View Dependent Claims (8, 9, 10, 11)
-
-
12. One or more processor readable storage devices having processor readable code stored thereon, the processor readable code for programming one or more processors to perform a method comprising:
-
storing at a recursive nameserver domain name records for a plurality of domain names including a first domain name; issuing a domain name system (DNS) request for the first domain name to one or more authoritative nameservers associated with the first domain name after said storing; in response to a failure associated with the DNS request for the first domain name, identifying a subset of the plurality of domain names that are associated with the one or more authoritative nameservers, the subset including the first domain name and at least one additional domain name of the plurality of domain names; in response to the failure associated with the DNS request for the first domain name, modifying the domain name records at the recursive nameserver for the subset of domain names to indicate that the domain name records at the recursive nameserver for the subset of domain names are not to be deleted; and in response to receiving a reply to a DNS request for a second domain name of the subset of domain names, modifying the domain name records at the recursive nameserver for the subset of domain names to indicate that the domain name records at the recursive nameserver for the subset of domain names are to be deleted. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. An apparatus comprising:
-
a communication interface configured to enable network communications; a memory configured to store domain name records for a plurality of domain names including a first domain name; and one or more processors coupled to the communication interface, wherein the one or more processors are configured to; issue a domain name system (DNS) request for the first domain name to one or more authoritative nameservers associated with the first domain name; in response to a failure associated with the DNS request for the first domain name, identify a subset of the plurality of domain names that are associated with the one or more authoritative nameservers, the subset including the first domain name and at least one additional domain name of the plurality of domain names; in response to the failure associated with the DNS request for the first domain name, modify the domain name records for the subset of domain names to indicate that the domain name records for the subset of domain names are not to be deleted; and in response to receiving a reply to a DNS request for a second domain name of the subset of domain names, modify the domain name records for the subset of domain names to indicate that the domain name records at a recursive nameserver for the subset of domain names are to be deleted. - View Dependent Claims (19, 20)
-
Specification