Proxy Pre-fetching for High Latency Web Browsing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High network latency, particularly in satellite networks, leads to increased response times for web content retrieval due to the need for multiple TCP connections for each embedded object in web pages, consuming network resources and causing user delays.
Innovation Solution
A transparent parsing and pre-fetching service using downstream and upstream proxies that modify HTTP requests to pre-fetch web content from web servers, reducing the need for multiple connections and optimizing bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple TCP connections are established for each embedded object in web pages, then complete web content can be retrieved, but network resources are consumed and response times increase
Solution Approach 1:
The proxy server performs preliminary actions by pre-fetching embedded objects (images, stylesheets, scripts) before the actual web page is fully loaded or before the user requests them. The proxy analyzes the HTML structure, identifies embedded objects, and proactively retrieves them from remote servers, storing them in a local cache. This preliminary action eliminates the need for subsequent separate TCP connections when the user interacts with the page, significantly reducing response time while maintaining complete content retrieval.
2Reliability
If multiple TCP connections are established for each embedded object, then all web content can be accessed, but network bandwidth is consumed and efficiency decreases
Solution Approach 1:
The proxy server performs preliminary actions by pre-fetching embedded objects (images, stylesheets, scripts) before the actual web page is fully loaded or before the user requests them. The proxy analyzes the HTML structure, identifies embedded objects, and proactively retrieves them from remote servers, storing them in a local cache. This preliminary action eliminates the need for subsequent separate TCP connections when the user interacts with the page, significantly reducing response time while maintaining complete content retrieval.
Solution Approach 2:
The proxy server acts as an intermediary between the user's browser and the remote web servers. It receives HTTP requests from the browser, analyzes the HTML content, identifies embedded objects, and retrieves them from remote servers on behalf of the browser. The proxy then serves these pre-fetched objects from its local cache, eliminating the need for multiple direct TCP connections to remote servers and significantly improving network efficiency while maintaining complete content accessibility.
3Loss of time
If a transparent parsing and pre-fetching service is implemented, then response times are reduced and bandwidth is conserved, but system complexity increases
Solution Approach 1:
The proxy server is designed as a universal multi-functional component that handles multiple tasks: it serves as an HTTP client to communicate with web servers, an HTML parser to analyze page structure, an object identifier to recognize embedded resources, a pre-fetching mechanism to proactively retrieve content, a local cache to store retrieved objects, and a server to deliver content to the browser. By consolidating these multiple functions into a single proxy system, the patent reduces overall system complexity compared to having separate specialized components for each function, while still achieving significant response time reduction and bandwidth conservation.
Data Source
AI summary
An approach is provided for supporting retrieval of web content over a meshed communication network (111). A first server (105) receives a request from a browser application (103) for the content resident in the web server (109). The first server (105) includes a downstream proxy (401) configured to modify the request to include information specifying support of a parse and pre-fetch service within an optional header field of the request as to permit handling of the modified request by the web server (109) in absence of an upstream proxy (403) that is communicating with the web server (109). A second server (107) is configured as the upstream proxy (403) to intercept the modified request and pre-fetch the content from the web server (109). The second server (107) forwards the pre-fetched content over the communication network (111) to the first server (105). This approach has particular applicability in relatively high latency networks, such as a satellite communications system.


