Home DNS Cluster Persistence in GSLB
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In global server load balancing (GSLB) systems, maintaining client persistence information across geographically distributed sites is inefficient due to the need for every DNS server to store persistence entries for every client, leading to a large volume of redundant data copies and increased latency in updating obsolete entries.
Innovation Solution
Assigning each client a home DNS server cluster, where DNS requests are forwarded to a local persistence table for VIP assignment and storage, eliminating the need for other clusters to store persistence entries, with backup clusters for redundancy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If every DNS server stores persistence entries for every client, then client persistence information is available at all sites, but the volume of redundant data copies increases significantly
Solution Approach 1:
The patent segments the persistence information storage responsibility by designating specific DNS servers as 'home DNS servers' for particular clients based on client ID hashing. Instead of every DNS server storing all client persistence entries, each client's persistence information is stored only at its designated home DNS server, reducing redundant copies while ensuring availability through the deterministic routing mechanism.
Solution Approach 2:
The patent implements local quality by having each DNS server store only the persistence entries relevant to its designated client population. Each DNS server maintains a localized persistence table containing entries for clients that hash to that server, rather than maintaining a complete copy of all persistence entries system-wide. This reduces storage requirements while maintaining local access capability.
2Reliability
If persistence entries are distributed to all GSLB sites, then client persistence is maintained across migrations, but the time and complexity of updating obsolete entries increases
Solution Approach 1:
The patent segments the update propagation burden by restricting persistence entry updates to only the home DNS server responsible for that client. When a client's persistence information needs updating (e.g., VIP reassignment), only the home DNS server performs the update, eliminating the need to propagate changes to all other DNS servers in the system.
Solution Approach 2:
The patent enables self-service through deterministic client-to-DNS-server mapping using client ID hashing. Each client is automatically routed to its home DNS server based on its identifier, eliminating the need for centralized coordination or manual update propagation. The system self-organizes updates locally at the appropriate home DNS server without affecting other servers.
3Adaptability or versatility
If each DNS cluster manages all persistence entries, then any cluster can service any client, but lookup efficiency decreases due to larger persistence tables
Solution Approach 1:
The patent segments the persistence table content across different DNS servers based on client ID hashing. Each DNS server maintains a smaller, specialized persistence table containing only entries for clients that hash to that server. This segmentation reduces the lookup time at each server while maintaining system-wide adaptability through deterministic routing.
Solution Approach 2:
The patent introduces client ID hashing as an intermediary mechanism that maps clients to their home DNS servers. This hashing function acts as a mediator that enables flexible client routing to the appropriate specialized DNS server, maintaining adaptability while improving lookup efficiency by directing queries to servers with smaller, more focused persistence tables.
Data Source
AI summary
Some embodiments provide a method that, at a first domain name system (DNS) cluster of a set of DNS clusters, receives a DNS request from a client. The first DNS cluster identifies, based on an identifier of the client in the DNS request, a home DNS cluster of the client. The method forwards the DNS request to the home DNS cluster. The home DNS cluster supplies a DNS response to the client. Identifying the home DNS cluster, in some embodiments, includes performing a hash on the identifier of the client. Supplying the DNS response, in some embodiments, includes receiving a virtual IP (VIP) address associated with one of a plurality of sets of application servers to the client and providing the received VIP address to the client in the DNS response.


