Pre-establishing TCP Connections for Subresource Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveconnection reliabilityVSAvoidsubresource loading speed
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If DNS query and TCP connection establishment are performed for each subresource, then connection accuracy is improved, but loading time increases

Engineering Contradiction:
Improveconnection accuracyVSAvoidloading time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If TCP connections are pre-established for multiple subresource domain names, then subresource loading speed is improved, but device complexity increases

Engineering Contradiction:
Improvesubresource loading speedVSAvoidconnection management complexity
Core Design Contradiction:
SpeedVSDevice complexity

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.

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

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10250526B2Method and apparatus for increasing subresource loading speed
Publication Date: 2019.04.02 ALIBABA GROUP HOLDING LTD
  • US10250526B2 patent drawing
  • US10250526B2 patent drawing
  • US10250526B2 patent drawing

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.