Parallel DNS Pre-caching for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web browsers do not implement DNS pre-fetching due to concerns about network stack complexity and the need for adaptations for different network applications, resulting in significant latency during DNS resolution, which affects user experience.

Innovation Solution

Implementing DNS pre-caching by using parallel threads to perform hostname-to-IP address DNS resolution and storing results in the DNS cache before a user request, effectively 'pre-warming' the cache without adding complexity, thus reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If DNS pre-fetching is implemented to reduce latency, then user-perceived latency is reduced, but network stack complexity increases

Engineering Contradiction:
ImproveDNS resolution latencyVSAvoidnetwork stack complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements DNS pre-fetching by proactively resolving hostnames before they are actually needed by the user. The system identifies candidate hostnames from various sources (currently loaded pages, history, bookmarks) and initiates DNS resolution in advance, storing results in a cache. This preliminary action eliminates the need for users to wait for DNS resolution during actual navigation, directly reducing perceived latency without requiring complex real-time processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the DNS resolution process into distinct components: a pre-fetching module that identifies candidate hostnames, a DNS resolution module that performs actual lookups, and a caching module that stores results. This segmentation allows each component to operate independently with optimized logic, reducing overall system complexity while enabling effective pre-fetching functionality.

Inventive Principle:
Principle #1Segmentation

2Speed

If DNS pre-fetching is implemented to accelerate navigation, then URL navigation speed is improved, but browser complexity increases

Engineering Contradiction:
ImproveURL navigation speedVSAvoidbrowser complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a universal DNS pre-fetching mechanism that serves multiple functions: it accelerates navigation to linked pages, pre-loads hostnames from history and bookmarks, and caches results for future use. This single multi-functional system replaces what would otherwise require separate optimization mechanisms for different navigation scenarios, reducing overall browser complexity while improving various navigation pathways.

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

Solution Approach 2:

The DNS pre-fetching system operates autonomously by automatically identifying candidate hostnames, initiating resolutions, and caching results without user intervention. The system self-manages the entire pre-fetching workflow, reducing the complexity burden on the main browser architecture while delivering performance benefits.

Inventive Principle:
Principle #25Self-service

3Loss of time

If parallel DNS threads are used to pre-cache resolutions, then DNS resolution time is reduced, but processing overhead increases

Engineering Contradiction:
ImproveDNS resolution timeVSAvoidprocessing overhead
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent implements parallel DNS threads that perform more resolutions than immediately necessary, pre-fetching hostnames that may or may not be needed. While this excessive action consumes some processing overhead, it ensures that when users do navigate to pre-fetched hostnames, the resolution time is dramatically reduced. The system accepts partial waste in processing to achieve significant gains in user-perceived performance.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent maintains continuous DNS resolution operations through parallel threads that constantly identify and resolve candidate hostnames. Rather than waiting for explicit user requests, the system continuously performs useful DNS work in the background, keeping the resolution pipeline full and ready. This continuous action reduces idle time and improves overall system responsiveness despite the increased processing overhead.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10887418B1Parallel, side-effect based DNS pre-caching
Publication Date: 2021.01.05 GOOGLE LLC
  • US10887418B1 patent drawing
  • US10887418B1 patent drawing
  • US10887418B1 patent drawing

AI summary

Embodiments of the present invention include methods and systems for domain name system (DNS) pre-caching. A method for DNS pre-caching is provided. The method includes receiving uniform resource locator (URL) hostnames for DNS pre-fetch resolution prior to a user hostname request for any of the URL hostnames. The method also includes making a DNS lookup call for at least one of the URL hostnames that are not cached by a DNS cache prior to the user hostname request. The method further includes discarding at least one IP address provided by a DNS resolver for the URL hostnames, wherein a resolution result for at least one of the URL hostnames is cached in the DNS cache in preparation for the user hostname request. A system for DNS pre-caching is provided. The system includes a renderer, an asynchronous DNS pre-fetcher and a hostname table.