Fault tolerance approaches for DNS server failures
First Claim
1. A method in a first communication client device, comprising:
- receiving a request to resolve an address for a domain name corresponding to a second communication device;
accessing a time-to-live (TTL)-based cache of the first communication client device for the address;
accessing a negative cache of the first communication client device for a negative entry corresponding to the domain name if the address is not present in the TTL-based cache;
accessing a long term store cache of the first communication client device for the address if the negative entry is present in the negative cache, wherein the long term store cache is configured to store addresses corresponding to respective domain names for an indefinite time period; and
enabling a communication signal to be transmitted to the second communication device according to the address if the address is present in at least one of the TTL-based cache or the long term store cache.
7 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for handling failures of DNS (domain name system) servers to respond to DNS queries. A DNS resolver is configured to resolve domain names, and includes a time-to-live (TTL)-based cache, a negative cache, and a long term store cache. The TTL-based cache is configured to temporarily store domain names with resolved IP addresses. The negative cache is configured to store negative entries that include information indicating domain names that were failed to be resolved. The long term store cache is configured to store domain names with resolved IP address for an indefinite time period. The caches are accessed in a manner that enables fewer DNS query retries to be performed when a DNS server is non-responsive, to reduce delays and network traffic. Furthermore, the DNS resolver may reduce a number of DNS queries performed the longer the DNS server stays non-responsive.
33 Citations
20 Claims
-
1. A method in a first communication client device, comprising:
-
receiving a request to resolve an address for a domain name corresponding to a second communication device; accessing a time-to-live (TTL)-based cache of the first communication client device for the address; accessing a negative cache of the first communication client device for a negative entry corresponding to the domain name if the address is not present in the TTL-based cache; accessing a long term store cache of the first communication client device for the address if the negative entry is present in the negative cache, wherein the long term store cache is configured to store addresses corresponding to respective domain names for an indefinite time period; and enabling a communication signal to be transmitted to the second communication device according to the address if the address is present in at least one of the TTL-based cache or the long term store cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A first communication client device, comprising:
-
a DNS (domain name system) resolver configured to process a request to resolve an address for a domain name corresponding to a second communication device, the DNS resolver including a time-to-live (TTL)-based cache of the first communication client device; a negative cache of the first communication client device; a long term store cache of the first communication client device; and a cache access logic module configured to access the TTL-based cache for the address; wherein the cache access logic module is configured to access the negative cache for a negative entry corresponding to the domain name if the address is not present in the TTL-based cache; wherein the cache access logic module is configured to access the long term store cache for the address if the negative entry is present in the negative cache, wherein the long term store cache is configured to store addresses corresponding to respective domain names for an indefinite time period; and wherein the cache access logic module is configured to enable the communication signal to be transmitted to the second communication device according to the address if the address is present in at least one of the TTL-based cache or the long term store cache. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer readable storage device having computer program logic embodied in said computer readable storage medium for enabling a processor to process a request to resolve an address for a domain name corresponding to a communication device, the computer program logic including program code executable to perform operations comprising:
-
accessing a time-to-live (TTL)-based cache of the first communication client device for the address; accessing a negative cache of the first communication client device for a negative entry corresponding to the domain name if the address is not present in the TTL-based cache; accessing a long term store cache of the first communication client device for the address if the negative entry is present in the negative cache, wherein the long term store cache is configured to store addresses corresponding to respective domain names for an indefinite time period; and enabling a communication signal to be transmitted to the communication device according to the address if the address is present in at least one of the TTL-based cache or the long term store cache.
-
Specification