DNS Pre-caching for Accelerated Application Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web browsers do not implement DNS pre-fetching due to concerns about network stack complexity and additional latency, resulting in user-perceived latency issues during Internet surfing.
Innovation Solution
Implementing DNS pre-caching by persistently storing URL hostnames and making DNS lookup calls before user requests, caching results in the operating system DNS cache to reduce latency, using parallel threads to perform hostname-to-IP address resolutions without actually rendering the pages, and discarding IP addresses to 'pre-warm' the cache.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If DNS pre-fetching is implemented, then user-perceived latency is reduced, but network stack complexity increases
Solution Approach 1:
The patent implements DNS pre-fetching by resolving hostnames in advance before they are actually needed for URL navigation. The system proactively queries DNS servers for hostnames that are likely to be accessed soon, storing the resolution results in a cache. This preliminary action eliminates the need for users to wait for DNS resolution when they actually navigate to a website, significantly reducing user-perceived latency.
Solution Approach 2:
The patent introduces an intermediary DNS cache management system that sits between the user's URL navigation requests and the actual DNS resolution process. This intermediary component handles the complexity of DNS pre-fetching, caching, and validation, allowing the rest of the network stack to remain relatively simple while still achieving reduced latency through the caching mechanism.
2Duration of action of moving object
If DNS pre-fetching is implemented, then application startup time is accelerated, but additional network code and processing complexity are introduced
Solution Approach 1:
The patent applies preliminary action by pre-resolving DNS hostnames during application startup or in the background before the user actually needs to access a website. The system identifies likely hostnames to be accessed and performs DNS resolution in advance, so that when the user navigates to a site, the IP address is already resolved and cached, dramatically reducing application startup time and initial page load time.
Solution Approach 2:
The patent implements self-service by allowing the DNS pre-fetching mechanism to operate autonomously based on usage patterns and predictions. The system automatically determines which hostnames to pre-resolve based on historical data and user behavior, without requiring manual configuration or complex external control. This self-service approach reduces the need for additional network code while still achieving the performance benefits.
3Reliability
If DNS resolution is performed through multiple intermediate servers, then DNS resolution completeness is improved, but latency time increases
Solution Approach 1:
The patent uses preliminary action to perform DNS resolution in advance through multiple intermediate servers, storing the complete resolution results in a local cache. By pre-resolving hostnames and saving the results, the system ensures that future DNS queries can be answered immediately from the cache without needing to re-query all intermediate servers, thus maintaining resolution completeness while eliminating the latency associated with multiple network round trips.
Solution Approach 2:
The patent applies copying by creating a local copy of DNS resolution results in a cache database. Instead of repeatedly querying the original DNS servers through multiple intermediate servers, the system stores copies of the resolution information locally. This copying approach maintains the completeness of DNS resolution (since the cache contains the full resolution results) while dramatically reducing latency for subsequent queries.
Data Source
AI summary
Embodiments of the present invention include methods and systems for accelerated application startup. A method for accelerating startup of an application is provided. The method includes persistently storing a number of uniform resource locator (URL) hostnames based on one or more hostname requests made by one or more users during use of the application. The method further includes, upon startup of the application, making a DNS lookup call for at least one of the stored hostnames prior to a hostname request initiated by the application, wherein a resolution result for at least one of the stored hostnames is cached in the operating system DNS cache in preparation for the hostname request. A system for accelerating startup of an application is provided. The system includes a hostname storage device, a DNS pre-fetcher and a startup DNS pre-cacher.


