Web Server Extension Module Compressing Resources to Reduce Loading Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web page loading times are inefficient due to the high cost and time required for establishing Transmission Control Protocol (TCP) connections and the additional bandwidth used for HTTP requests and responses, especially for small files and numerous resources.
Innovation Solution
A web server extension module compresses resources into an archive file and sends them as a single package to a client-side agent, which intercepts subsequent requests for these resources, eliminating the need for new TCP connections to the server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple TCP connections are established for each resource of a web page, then reliable data transfer is ensured, but web page loading time increases significantly
Solution Approach 1:
The patent merges multiple separate TCP connections and HTTP requests into a single aggregated connection. The web server consolidates requests for multiple resources (images, CSS, JavaScript, etc.) into one connection, eliminating the need to establish separate TCP connections for each resource. This directly resolves the contradiction by maintaining reliable transfer through the single consolidated connection while dramatically reducing the time spent on connection establishment.
Solution Approach 2:
The patent implements preliminary action by pre-fetching and aggregating multiple resources into a single response before the client requests them individually. The server anticipates the need for multiple resources and prepares them in advance, bundling them together in one transmission. This approach ensures reliable delivery through the single pre-established connection while avoiding the time penalty of multiple sequential connection setups.
2Reliability
If separate TCP connections are created for each resource, then data transfer reliability is maintained, but network hardware cost and complexity increase
Solution Approach 1:
The patent applies merging by consolidating multiple resource transfers into a single TCP connection. Instead of creating separate connection pathways for each resource that would burden network switches and routers, the invention combines all resource requests into one connection, thereby reducing the complexity and processing burden on network hardware while preserving data transfer reliability through the unified connection.
3Adaptability or versatility
If multiple HTTP requests are sent for each resource, then complete web page functionality is achieved, but bandwidth consumption increases due to repeated meta-data transfer
Solution Approach 1:
The patent merges multiple HTTP requests and their associated meta-data into a single aggregated request-response cycle. By combining multiple resource requests into one HTTP transaction, the invention eliminates the redundant transmission of HTTP headers and meta-data that would otherwise be sent repeatedly with each individual request. This reduces bandwidth consumption while still delivering complete web page functionality through the consolidated response.
4Reliability
If individual TCP connections are established for each small file, then file transfer reliability is ensured, but connection establishment time exceeds file transfer time
Solution Approach 1:
The patent merges multiple small file transfers into a single TCP connection, eliminating the need to establish separate connections for each small file. The consolidation ensures that the overhead of connection establishment (handshaking, routing setup, etc.) is incurred only once rather than repeatedly for each file. This maintains transfer reliability through the established connection while making the total time spent on connection setup negligible compared to the actual file transfer time.
Data Source
AI summary
A backwards-compatible mechanism for reducing web page loading time is disclosed. A method includes forwarding, by a web server extension module of a server machine, a web page request to a web server component of the server machine, the web page request received from a client-side agent associated with the web server extension module. The method further includes receiving, from the web server component, page source code of a web page of the web page request, parsing the page source code to identify one or more resources associated with page source code, requesting the identified one or more resources from the web server component, compressing resources of the one or more resources that are received from the web server component into an archive file, and sending the page source code and the archive file to the client-side agent as one or more packages.


