Proxy Server Pre-fetching via JavaScript Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Satellite communication systems experience high latency, leading to slow loading of web pages that require multiple round trips, as existing methods do not effectively address the latency issues in parsing and executing JavaScript within HTTP responses.
Innovation Solution
A system and method that involves receiving and executing JavaScript within HTTP responses, where a device with a processor and memory generates and sends HTTP GET requests for dynamically generated URLs, and uses modified JavaScript to ensure consistent URL generation across different devices, reducing the need for additional requests to web servers and improving page loading speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If JavaScript is executed in the browser after receiving HTTP response, then the web page can display dynamic content, but the page loading speed is slow due to multiple round trips over satellite link
Solution Approach 1:
The proxy server executes JavaScript code and generates URLs before the browser receives the HTTP response. This preliminary action allows the proxy to anticipate and pre-fetch content that the browser would otherwise request after receiving the page, thereby reducing the number of round trips and improving loading speed over the high-latency satellite connection.
Solution Approach 2:
The proxy server acts as an intermediary between the browser and the web server. It intercepts JavaScript execution, generates URLs locally, and pre-fetches content before the browser's actual requests reach the web server over the satellite link, effectively mediating the communication to reduce latency impact.
2Adaptability or versatility
If JavaScript uses browser-specific information to generate URLs, then the URLs can be dynamically adapted to user context, but different devices may generate different URLs leading to inconsistent content delivery
Solution Approach 1:
The proxy server modifies the JavaScript code by replacing browser-specific parameter references with standardized parameters. This parameter change ensures that different devices executing the same JavaScript through the proxy will generate consistent URLs, while still maintaining adaptability through controlled parameter substitution.
Solution Approach 2:
The proxy server creates a standardized version of the URL generation logic by copying and adapting the JavaScript behavior. Instead of relying on device-specific browser properties, the proxy replicates the URL generation process using consistent, standardized parameters that yield identical results across different devices.
3Loss of time
If the proxy server executes JavaScript and generates URLs locally, then content can be pre-fetched to reduce latency, but the system complexity increases with additional processing components
Solution Approach 1:
The proxy server is designed with multi-functionality, handling HTTP request interception, JavaScript execution, URL generation, and content pre-fetching within a single system. This universal approach consolidates multiple functions that could otherwise require separate components, thereby managing system complexity while achieving latency reduction.
Data Source
Figure 1
Figure 2(a)~2(b)
Figure 3(a)~3(b)
AI summary
An apparatus, method, and non-transitory computer-readable medium comprising program code which when executed by an apparatus causes the apparatus to effect the method, for pre-fetching web content. Preferably, a proxy server performs the pre-fetching. Techniques such, for example, as executing Javascript in pre-fetched pages, modifying pre-fetched pages to address URL generation involving random numbers or dates, using cookie information or browser specifics when performing pre-fetching of pages, and injecting Javascript to measure response time may be performed, by way of example.