Proxy Server Pre-fetching via JavaScript Execution

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

VSEngineering 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

Engineering Contradiction:
Improvepage loading speedVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImproveURL generation adaptabilityVSAvoidURL generation consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
ImprovelatencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

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

Data Source

PatentEP2533162B1Proxy Server Apparatus for pre-fetching content using browser specifics
Publication Date: 2022.10.26 HUGHES NETWORK SYST
  • EP2533162B1 patent drawingFigure 1
  • EP2533162B1 patent drawingFigure 2(a)~2(b)
  • EP2533162B1 patent drawingFigure 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.