Pre-establishing TCP Connections for Subresource Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile Internet applications experience significant delays in subresource loading due to unstable mobile network conditions, leading to poor user experience, as they require establishing new connections for each subresource, which can take several hundred milliseconds to several seconds.
Innovation Solution
A method and apparatus that utilize a hash table to store domain name trees for host and subresource domain names, allowing for simultaneous establishment of TCP connections for both, enabling direct HTTP requests through established connections when subresource loading is initiated.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a new TCP connection is established for each subresource loading request, then connection reliability is improved, but subresource loading speed deteriorates
Solution Approach 1:
The patent establishes TCP connections for subresource domain names in advance, before actual subresource loading requests are made. By pre-establishing connections when the main resource is downloaded, the system eliminates the need to perform DNS queries and TCP handshakes at the moment of subresource loading, thus resolving the contradiction between connection reliability and loading speed.
Solution Approach 2:
The patent performs DNS queries for subresource domain names beforehand, during the main resource download phase. This preliminary DNS resolution ensures that when subresource loading is needed, the domain name-to-IP mapping is already available, eliminating DNS query delays and improving overall loading speed while maintaining connection reliability.
2Measurement precision
If DNS query and TCP connection establishment are performed for each subresource, then connection accuracy is improved, but loading time increases
Solution Approach 1:
The patent performs DNS queries for subresource domain names in advance, during the main resource download phase. This preliminary DNS resolution ensures that when subresource loading is needed, the domain name-to-IP mapping is already available, eliminating DNS query delays and improving overall loading time while maintaining connection accuracy.
Solution Approach 2:
The patent merges the DNS query and TCP connection establishment processes for subresources with the main resource download process. By combining these operations temporally and spatially, the system performs DNS resolutions and connection setups during the main resource phase, thereby reducing the time loss for subresource loading while maintaining accurate connection establishment.
3Speed
If TCP connections are pre-established for multiple subresource domain names, then subresource loading speed is improved, but device complexity increases
Solution Approach 1:
The patent creates a universal domain name tree data structure that can store and manage multiple subresource domain names under a host domain. This multi-functional structure serves both as a storage mechanism and a management system, allowing the browser to efficiently handle multiple subresource connections without proportionally increasing complexity. The tree structure provides a standardized interface for connection management across different subresources.
Solution Approach 2:
The patent segments the management of subresource domain names by organizing them into a hierarchical tree structure based on their domain relationships. This segmentation allows the system to manage connections in an organized manner, grouping related subresources under their parent domain, which simplifies the overall management complexity while enabling efficient pre-establishment of multiple connections.
Data Source
AI summary
Provided are methods and apparatus for increasing subresource loading speed. A method may include receiving a page request initiated by a user, extracting the host domain name corresponding to the page URL, and querying if the hash table has a domain name tree corresponding to the host domain name; if the hash table has a domain name tree corresponding to the host domain name, traversing the domain name tree to extract a plurality of subresource domain names with the highest priority, and at the same time, establishing TCP connections for the host domain name and the plurality of subresource domain names; when the main document data of the host domain name is received, initiating a subresource loading request according to the subresource URL in the main document data; if the subresource domain name in the subresource loading request is a domain name in the above plurality of subresource domain names, directly initiating a HTTP request by using the previously established TCP connection, and completing the loading of the subresource. By establishing TCP connections for subresource domain names with high priority in advance, such methods and apparatus solve the problem that TCP connection needs to be established on site when a subresource loading is requested.


