Nonce-Based DNS Cache Control for Mapping Freshness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Domain Name System (DNS) caching issues lead to prolonged caching of DNS records beyond specified expiration times, resulting in delayed updates to domain name to IP address mappings, causing clients to experience delays, timeouts, or failures.

Innovation Solution

Introducing a nonce mechanism that generates unique identifiers for domain names to force propagation to authoritative servers, controlling caching by specifying when and how often the nonce changes, thereby managing load and responsiveness to changes in mappings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If DNS records are cached for extended periods to improve processing speed and reduce network load, then response time is improved and network resources are reduced, but responsiveness to changes in domain name to IP address mappings deteriorates

Engineering Contradiction:
ImproveDNS lookup speedVSAvoidResponsiveness to mapping changes
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary DNS lookups at authorized servers before caching, using nonce-bearing domain names to ensure fresh data is obtained in advance. This allows the cache to be populated with current mappings before changes occur, maintaining both speed and responsiveness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The caching system dynamically adjusts its behavior based on the nonce value in domain names. When nonces change, the system automatically invalidates or updates cached entries, making the cache adaptive to changes rather than static. This dynamic approach maintains responsiveness while preserving caching benefits.

Inventive Principle:
Principle #15Dynamics

2Productivity

If DNS records are cached beyond specified expiration times to maintain caching benefits, then processing efficiency is maintained, but system responsiveness to changes deteriorates and mappings become outdated

Engineering Contradiction:
ImproveDNS processing efficiencyVSAvoidOutdated mapping information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system uses nonce-bearing domain names as feedback mechanisms to indicate whether cached data is still valid. When nonces are updated in the authoritative DNS records, this feedback triggers cache invalidation or refresh operations, ensuring the cache contains current information without requiring extensions to caching periods.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the parameter of domain names by incorporating nonces that evolve over time. This parameter change in the domain name structure provides a clear signal for cache validation, allowing the system to maintain efficient caching while automatically detecting and responding to mapping changes through nonce updates.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If nonces change frequently to force fresh DNS lookups and improve responsiveness, then mapping updates are obtained promptly, but load on authoritative servers increases

Engineering Contradiction:
ImproveMapping update responsivenessVSAvoidServer load and processing demand
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system applies partial nonce changes rather than complete re-lookups for all domain names. By selectively updating nonces based on change detection mechanisms, the system obtains necessary mapping updates without forcing excessive fresh lookups across the entire DNS namespace, thus balancing responsiveness with server load management.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The nonce mechanism implements periodic changes rather than continuous or random changes. This periodic approach synchronizes with typical DNS update cycles, forcing fresh lookups at appropriate intervals to maintain responsiveness while avoiding unnecessary server load from overly frequent nonce changes.

Inventive Principle:
Principle #19Periodic action

4Reliability

If nonces are used to confound caching and force propagation to authoritative servers, then control over caching is restored and freshness is improved, but device complexity and system overhead increase

Engineering Contradiction:
ImproveCaching control precisionVSAvoidNonce generation and management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The nonce mechanism serves multiple functions simultaneously: it acts as a cache validation token, a change detection signal, and a propagation trigger. This multi-functionality consolidates several control mechanisms into a single simple parameter, reducing overall system complexity while maintaining precise caching control and freshness guarantees.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7958261B2Domain name cache control system generating series of varying nonce-bearing domain names based on a function of time
Publication Date: 2011.06.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7958261B2 patent drawing
  • US7958261B2 patent drawing
  • US7958261B2 patent drawing

AI summary

Domain name caching is controlled by adding a nonce to a domain name to force propagation of lookup to an authoritative server or service. Desired caching behavior is dictated by controlling when a new and unique nonce-bearing name is created. For example, caching can be completely eliminated by generating a new nonce-bearing name for every request. While a nonce can simply correspond to a random or pseudo random value, it can also be time based. Furthermore, nonces can be phase or time shifted to limit authoritative server load as well as improve response time.