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, the subscriber information for the first client indicates a preference to receive expired domain name information and the subscriber information for the second client indicates a preference not to receive expired domain name information;
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.
79 Citations
17 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, the subscriber information for the first client indicates a preference to receive expired domain name information and the subscriber information for the second client indicates a preference not to receive expired domain name information; 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. 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; when the domain name record is expired, transmitting a first response based on the domain name record for the first domain name to a first client in accordance with subscriber information for the first client, the subscriber information for the first client including a preference to receive expired domain name information; and when the domain name record is expired, transmitting a second response indicating a failure to obtain domain name information for the first domain name to a second client in accordance with subscriber information for the second client, the subscriber information for the second client including a preference not to receive expired domain name information. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a communications interface configured to exchange data with a communications network; a local cache configured to store domain name information for domain names; and one or more processors in communication with the communications interface and the local cache, the one or more processors configured to store subscriber information for a first client and a second client, the subscriber information for the first client indicates a preference to receive expired domain name information and the subscriber information for the second client indicates a preference not to receive expired domain name information, the one or more processors configured to receive 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, the one or more processors configured to determine 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, the one or more processors configured to transmit 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 to transmit 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 (14, 15, 16, 17)
-
Specification