Two-Tier DNS Routing for Domain-Specific Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing DNS services consume significant computation and memory resources due to distributing all records to all servers, and scaling up typically involves providing additional IP addresses, which can be inefficient and lack effective failure domain management.
Innovation Solution
A two-tier DNS service architecture with first and second tiers of service machines, where first-tier machines identify and forward DNS requests to specific second-tier groups responsible for different domain name subsets, using policy-based lookups and virtual IP addresses, and allowing for scalable deployment and failure domain management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all DNS records are distributed to all DNS servers, then DNS service coverage is improved, but computation and memory resources are consumed excessively
Solution Approach 1:
The patent segments DNS servers into two distinct tiers: first-tier DNS servers that handle client requests and second-tier DNS servers that perform actual record resolution. Each second-tier server is assigned a specific subset of domain names (zone data), preventing all records from being distributed to all servers. This segmentation resolves the contradiction by maintaining comprehensive DNS coverage while reducing the resource burden on individual servers.
2Productivity
If additional IP addresses are provided to scale up DNS service, then service capacity is improved, but scaling efficiency deteriorates and failure domain management becomes difficult
Solution Approach 1:
The patent introduces a hierarchical dimension to DNS server architecture, organizing servers into two tiers rather than simply adding more servers at the same level. First-tier servers are geographically distributed and handle client traffic, while second-tier servers are organized in groups associated with specific domain name subsets. This dimensional change enables scalable capacity improvement without proportionally increasing complexity, as the hierarchical structure provides built-in failure domain isolation.
Solution Approach 2:
First-tier DNS servers act as intermediaries between clients and second-tier DNS servers. They receive client requests, determine which second-tier server should handle the query based on domain name subset assignments, and forward requests accordingly. This intermediary layer simplifies scaling and failure domain management by decoupling client-facing services from record-resolution functions.
3Device complexity
If a single tier of DNS servers is used, then system simplicity is maintained, but resource consumption increases and failure domain isolation is insufficient
Solution Approach 1:
The patent segments DNS functionality into two tiers with distinct roles. First-tier servers handle client communication and request routing, while second-tier servers perform record resolution for specific domain name subsets. This segmentation reduces resource consumption by ensuring each server only processes relevant records, while the hierarchical structure provides automatic failure domain isolation without requiring complex additional components.
Data Source
AI summary
Some embodiments provide a two-tier DNS (Domain Name System) service for processing DNS requests. In some embodiments, the two-tier DNS service deploys first and second tiers of service machines, with the second-tier having several groups of service machines each of which is configured to resolve DNS requests for a different set of domain names than the other second-tier group(s). Each service machine in the first-tier is configured to identify the second-tier group responsible for each particular DNS request that the service machine receives for each particular domain name, and to forward the particular DNS request to the second-tier group that it identifies for the particular DNS request. The first-tier DNS service in some embodiments has only one group of service machines. Each first or second service machine group in some embodiments can have one or more service machines, and can be scaled up or down to add or remove service machines to the group (e.g., through an active/active layer 3 scaleout with BGP). In some embodiments, two different second-tier service groups can process DNS requests for two or more different FQDNs (fully qualified domain names) that are part of the same domain, and/or for two or more different FQDNs that are part of different domains.


