TCP Connection Aggregation for Faster Web Browsing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web browsing technologies face performance issues due to the slow start algorithm in TCP, which slows down the transfer of small objects over multiple connections, leading to degraded performance and 'head of line blocking' problems, especially with HTTP 1.x browsers.
Innovation Solution
Implementing TCP connection modeling and aggregation to optimize web page transactions by identifying fast connections, scheduling object downloads efficiently, and using prefetching to reduce the number of round trips and minimize rendering time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP slow start algorithm is used to ensure reliable data transmission, then data delivery reliability is improved, but web page loading speed deteriorates due to exponential growth phase delays
Solution Approach 1:
The system performs preliminary actions by predicting which objects will be requested before the user actually requests them. The prediction module analyzes user behavior patterns, page structure, and object dependencies to preemptively download objects during idle periods or using background connections, so that when the user actually needs the objects, they are already available or nearly available, bypassing the TCP slow start delay for critical objects.
Solution Approach 2:
The system segments the web page transaction into multiple independent object downloads using multiple TCP connections. Instead of downloading all objects sequentially over a single connection (which would suffer from TCP slow start), the system opens multiple connections to download different objects in parallel. Each connection independently goes through slow start, but the overall page load time is reduced because objects are fetched simultaneously rather than sequentially.
2Productivity
If multiple TCP connections are used to download small objects simultaneously, then object download parallelism is improved, but TCP slow start phase time increases for each connection
Solution Approach 1:
The system performs preliminary actions by establishing multiple TCP connections in advance before the actual object download begins. These connections are kept alive and ready, and object download requests are queued or buffered. When objects need to be downloaded, the system can immediately utilize the pre-established connections without going through the connection establishment and initial slow start phase for each object, significantly reducing the effective slow start time for parallel downloads.
Solution Approach 2:
The system merges multiple object download operations into a coordinated parallel transfer using multiple TCP connections. By managing multiple connections simultaneously and allocating objects to different connections based on predicted needs and connection status, the system achieves efficient parallelism where the aggregate download throughput exceeds what would be possible with sequential downloads, while the time spent in slow start phase is amortized across multiple connections rather than repeated for each object.
3Loss of time
If HTTP prefetching is used to pre-request content, then web page rendering time is reduced, but network bandwidth consumption increases
Solution Approach 1:
The system applies local quality by making prefetching decisions specific to each object based on its characteristics, importance, and predicted likelihood of being requested. Not all objects are prefetched with the same priority; instead, the system analyzes object attributes such as size, type, dependency relationships, and user behavior patterns to determine which objects deserve prefetching resources. This selective approach ensures that bandwidth is consumed only for objects that will actually improve rendering time, avoiding wasteful prefetching of objects that would not be immediately needed.
Solution Approach 2:
The system implements partial prefetching by downloading only a subset of predicted objects in advance, rather than all possible objects. The prediction module estimates which objects are most likely to be requested and prioritizes prefetching those with high probability and high impact on rendering time. This partial action approach balances the trade-off between rendering time reduction and bandwidth consumption by being sufficiently aggressive to improve performance but not so aggressive as to waste excessive bandwidth on low-priority objects.
Data Source
AI summary
The present invention relates to systems, apparatus, and methods of using connection models to optimize web page transactions. In certain embodiments, latency and download speed data may be associated with a unique identifier for a connection to create a model, and this information may be used to assign certain objects that are part of a web page transaction to certain connections based on the connection model for each connection. In further potential embodiments, dependency structures in a web transaction may further be identified and used with connection models to optimize web page transactions.


