Robust Domain Name Resolution
First Claim
1. 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 subscriber information for a first client and a second client;
receiving a request from the first client for domain name information of a first domain name and a request from the second client for domain name information of the first domain name;
determining that a domain name record for the first domain name is expired and that one or more authoritative nameservers for the first domain name are unavailable;
transmitting a first response based on the domain name record for the first domain name to the first client in accordance with the subscriber information for the first client; and
transmitting a second response indicating a failure to obtain domain name information for the first domain name to the second client in accordance with the subscriber information for the second client.
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.
9 Citations
19 Claims
-
1. 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 subscriber information for a first client and a second client; receiving a request from the first client for domain name information of a first domain name and a request from the second client for domain name information of the first domain name; determining that a domain name record for the first domain name is expired and that one or more authoritative nameservers for the first domain name are unavailable; transmitting a first response based on the domain name record for the first domain name to the first client in accordance with the subscriber information for the first client; and transmitting a second response indicating a failure to obtain domain name information for the first domain name to the second client in accordance with the subscriber information for the second client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of processing domain name system requests, comprising:
-
monitoring one or more authoritative nameservers for one or more anomalies, the one or more authoritative nameservers containing domain name information for a first domain name; storing at a recursive nameserver a domain name record including at least a portion of the domain name information for the first domain name, the domain name record including a TTL value; and in response to the one or more anomalies at the one or more authoritative nameservers, modifying the domain name record for the first domain name at the recursive nameserver. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method of processing domain name system requests, comprising:
-
storing at a recursive nameserver domain name information 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; modifying the domain name information at the recursive nameserver for the subset of domain names in response to the failure associated with the DNS request for the first domain name. - View Dependent Claims (15, 16)
-
-
17. A computer-implemented method of processing domain name system requests, comprising:
-
storing at a recursive nameserver domain name information for a domain name using a first hashing parameter; issuing a domain name system request to one or more authoritative nameservers for the domain name after said storing; and storing the domain name information at the recursive nameserver using a second hashing parameter in response to a failure to receive a response from the one or more authoritative nameservers for the domain name information. - View Dependent Claims (18, 19)
-
Specification