Domain name resolution using a distributed DNS network
First Claim
1. A method for dynamically distributing Domain Name System (DNS) name resolution requests from a client, comprising:
- mapping a virtual DNS server IP address to a plurality of edge DNS cache servers, the plurality of edge DNS cache servers caching DNS content from an origin DNS server;
wherein DNS content comprises one or more DNS records;
publishing the virtual DNS server IP address as the authoritative DNS server for a domain;
receiving a domain name resolution request directed to the virtual DNS server IP address from a client; and
in response to receiving the domain name resolution request, selecting one of the plurality of edge DNS cache servers to serve the request;
wherein when the client is a known client and the selected edge DNS cache server does not have DNS content needed to serve the domain name resolution request cached, the selected edge DNS cache server obtains the DNS content needed to answer the DNS name resolution request from the origin DNS server;
wherein the steps are performed by one or more computing devices.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed DNS network includes a central origin server that actually controls the zone, and edge DNS cache servers configured to cache the DNS content of the origin server. The edge DNS cache servers are published as the authoritative servers for customer domains instead of the origin server. When a request for a DNS record results in a cache miss, the edge DNS cache servers get the information from the origin server and cache it for use in response to future requests. Multiple edge DNS cache servers can be deployed at multiple locations. Since an unlimited number of edge DNS cache servers can be deployed, the system is highly scalable. The disclosed techniques protect against DoS attacks, as DNS requests are not made to the origin server directly.
413 Citations
42 Claims
-
1. A method for dynamically distributing Domain Name System (DNS) name resolution requests from a client, comprising:
-
mapping a virtual DNS server IP address to a plurality of edge DNS cache servers, the plurality of edge DNS cache servers caching DNS content from an origin DNS server; wherein DNS content comprises one or more DNS records; publishing the virtual DNS server IP address as the authoritative DNS server for a domain; receiving a domain name resolution request directed to the virtual DNS server IP address from a client; and in response to receiving the domain name resolution request, selecting one of the plurality of edge DNS cache servers to serve the request; wherein when the client is a known client and the selected edge DNS cache server does not have DNS content needed to serve the domain name resolution request cached, the selected edge DNS cache server obtains the DNS content needed to answer the DNS name resolution request from the origin DNS server; wherein the steps are performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable storage medium storing one or more sequences of instructions for dynamically distributing Domain Name System (DNS) name resolution requests from client, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform steps comprising:
-
mapping a virtual DNS server IP address to a plurality of edge DNS cache servers, the plurality of edge DNS cache servers caching DNS content from an origin DNS server; wherein DNS content comprises one or more DNS records; publishing the virtual DNS server as the authoritative DNS server for a domain; receiving a domain name resolution request from a client directed to the virtual DNS server IP address; and in response to receiving the domain name resolution request, selecting one of the plurality of edge DNS cache servers to serve the request; wherein when the client is a known client and the selected edge DNS cache server does not have DNS content needed to serve the domain name resolution request;
cached, the selected edge DNS cache server obtains the DNS content needed to answer the DNS name resolution request from the origin DNS server.
-
-
21. A distributed Domain Name System (DNS) network system comprising:
-
at least one origin DNS server; a plurality of edge DNS cache servers, each edge DNS cache server caching DNS content from the origin DNS server, the DNS content comprising DNS records; a DNS server load balancing component; at least one probe; wherein the DNS server load balancing component selects an edge DNS cache server to serve a domain name resolution request received from a client based on information from the at least one probe; wherein when the client is a known client and the selected edge DNS cache server does not have DNS content needed to serve the domain name resolution request cached, the selected edge DNS cache server obtains the DNS content needed to answer the DNS name resolution request from the origin DNS server. - View Dependent Claims (22, 23)
-
-
24. An apparatus for dynamically distributing DNS name resolution requests from a client, comprising:
-
mapping logic configured to map a virtual DNS server IP address to a plurality of edge DNS cache servers, the plurality of edge DNS cache servers caching DNS content from an origin DNS server; wherein DNS content comprises one or more DNS records; publishing logic configured to publish the virtual DNS server as the authoritative DNS server for a domain; receiving logic configured to receive a domain name resolution request from a client directed to the virtual DNS server IP address; and selecting logic configured to select, in response to receiving the domain name resolution request, one of the plurality of edge DNS cache servers to serve the request; wherein when the client is a known client and the selected edge DNS cache server does not have DNS content needed to serve the domain name resolution request cached, the selected edge DNS cache server obtains the DNS content needed to answer the DNS name resolution request from the origin DNS server. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification