Virtual Name Server Routing for DNS Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current DNS configurations, such as active/active setups, do not effectively handle failures like NXDOMAIN responses, leading to prolonged downtime and customer impact due to long TTL values and complex manual updates required to shift traffic away from unhealthy name servers.

Innovation Solution

Implementing a system with virtual name servers mapped to actual name servers, where a monitoring service identifies unhealthy servers and updates virtual name server mappings to healthy ones, allowing for quicker traffic diversion with lower TTL values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If active/active DNS configuration is used to provide fault tolerance, then protection against name server failures is improved, but the system cannot protect against NXDOMAIN response errors and client computers will not re-query other DNS servers

Engineering Contradiction:
Improveprotection against name server failuresVSAvoidability to handle NXDOMAIN response errors
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

A virtual name server is introduced as an intermediary between client computers and actual name servers. The virtual name server receives DNS queries, determines the health status of backend actual name servers, and selectively forwards queries only to healthy servers. This mediator architecture allows the system to handle NXDOMAIN errors by preventing queries from reaching unhealthy servers in the first place, while maintaining fault tolerance through the virtual server's intelligent routing decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual updates are used to shift traffic away from unhealthy name servers, then traffic diversion can be achieved, but the process is complex and time-consuming due to long TTL values

Engineering Contradiction:
Improvetraffic diversion capabilityVSAvoidtime required for manual updates
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The virtual name server implements self-service by automatically monitoring the health status of actual name servers and autonomously adjusting query routing without human intervention. When an actual name server becomes unhealthy, the virtual server detects this condition and automatically stops forwarding queries to it, eliminating the need for manual DNS record updates and reducing traffic diversion time from minutes to seconds.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops where the virtual name server monitors response patterns from actual name servers and adjusts routing decisions based on this feedback. When NXDOMAIN errors or other failure indicators are detected, the virtual server uses this feedback to dynamically reroute queries to healthy servers, achieving automatic and timely traffic diversion without manual intervention.

Inventive Principle:
Principle #23Feedback

3Reliability

If long TTL values are used in DNS records, then DNS cache effectiveness is improved, but the mean time to recovery (MTTR) for unhealthy name servers increases

Engineering Contradiction:
ImproveDNS cache effectivenessVSAvoidmean time to recovery
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The DNS resolution process is segmented into two independent layers: the virtual name server layer that handles routing decisions, and the actual name server layer that provides DNS records. This segmentation allows the virtual server to implement short TTL values for its own routing records while maintaining the effectiveness of long TTL values in the underlying DNS cache. The virtual server's rapid failover capability compensates for the shorter TTL, achieving both cache effectiveness and fast recovery.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11277372B2Name server management of domain name systems using virtual name servers
Publication Date: 2022.03.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11277372B2 patent drawing
  • US11277372B2 patent drawing
  • US11277372B2 patent drawing

AI summary

A method and system for managing domain name system (DNS) name servers using virtual name servers is disclosed. A plurality of virtual name servers are mapped to a plurality of actual name servers of the DNS. Each actual name server stores at least one record identifying a domain and an Internet Protocol (IP) address of a computer hosting that domain. Information is received from a monitoring service computer identifying which actual name servers are unhealthy and which actual name servers are healthy. Based on this information, the mapping of each virtual name server that is mapped to an unhealthy actual name server is updated to map to one of the healthy actual name servers.