Browser Prefetching via Dynamic User Behavior Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web browsing technologies face inefficiencies in prefetching web page content, leading to slower performance due to incorrect object prefetching, missed objects, and the nested nature of web pages, which results in increased wait times and resource wastage.
Innovation Solution
A system that uses dynamic tracking of web page transactions and user actions to provide assisted browsing through a third-party assistance server, which analyzes user behavior and provides 'hint' information to the client to optimize prefetching, including a smart manifest that lists all expected objects and their dependencies, allowing for improved parallelism and prefetching of objects from different domains.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If HTTP prefetching is used to pre-request content before user selection, then web page load time is reduced, but resources are wasted on prefetching objects that are not later requested by the user
Solution Approach 1:
The system performs preliminary prefetching actions by pre-requesting content based on predictions about future user selections. The browser component analyzes user behavior patterns and predicts which objects will be requested, initiating prefetch operations in advance to reduce perceived load time while attempting to avoid wasting resources on incorrect predictions.
Solution Approach 2:
The system implements feedback mechanisms where the browser component monitors actual user selections and compares them against predicted selections. This feedback loop allows the system to learn from incorrect prefetching decisions and improve its prediction accuracy over time, reducing resource wastage while maintaining the time-saving benefits of prefetching.
2Productivity
If prefetching is performed based on predictions without actual user action, then web page transmission is accelerated, but incorrect objects may be prefetched repeatedly based on incorrect models
Solution Approach 1:
The system employs dynamic prediction models that adapt to changing user behavior patterns. The browser component continuously updates its understanding of user preferences and browsing habits, allowing the prefetching system to remain accurate even as user behavior evolves. This dynamic approach maintains high prefetching accuracy while preserving transmission speed improvements.
Solution Approach 2:
The browser component performs self-analysis of user behavior patterns without requiring external intervention. By autonomously monitoring and analyzing its own user's browsing habits, the system builds increasingly accurate prediction models that improve prefetching reliability over time while maintaining fast transmission speeds.
3Loss of information
If the nested nature of web pages is addressed by parsing container files to identify objects, then object discovery is improved, but the system is limited by the nested structure and needs one object to construct another
Solution Approach 1:
The system performs preliminary parsing of container files to identify embedded objects and their relationships before actual user requests are made. By pre-analyzing the nested structure and identifying all potential objects in advance, the system reduces the complexity of real-time parsing while ensuring complete object discovery for accurate prefetching decisions.
Data Source
AI summary
A method of loading a web page that includes: receiving, by a client computing device over a communications network, hint information that identifies a first plurality of child objects associated with a web page; prefetching, by the client computing device over the communications network, one or more of the first plurality of child objects identified in the hint information; and receiving, by the client computing device over the communications network, the web page, wherein the web page identifies a second plurality of child objects. The method further includes: loading, by the client computing device, the web page, the loading including: loading one or more of the second plurality of child objects that are prefetched child objects of the first plurality of child objects. The metho further includes fetching, over the communications network, and loading one or more of the second plurality of child objects that are non-prefetched child objects.


