Client Proxy and Surrogate Browser for Web Resource Pushing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of modern web pages with dynamic features leads to increased round-trip communications between browsers and origin servers, resulting in inefficient delivery of web pages due to the need for multiple requests and responses to fetch dependent resources.

Innovation Solution

A client proxy system and a push server system work together to reduce round trips by pre-fetching dependent resources from a surrogate browser located closer to the origin servers, allowing these resources to be pushed back to the client in a single or few transmissions, thereby minimizing the need for subsequent requests to the origin servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a browser requests a web page and all dependent resources from an origin server, then the web page can be fully displayed, but multiple round-trip communications are required resulting in increased latency

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

Solution Approach 1:

A surrogate browser is introduced as an intermediary component that runs on the origin server or a server closer to the client. The surrogate browser pre-loads dependent resources (CSS, JavaScript, images) and makes them available locally, eliminating the need for multiple round-trip communications between the client browser and origin server. This mediator resolves the contradiction by reducing latency through local resource availability while maintaining system functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The surrogate browser performs preliminary actions by pre-loading and caching dependent resources before the actual web page request is processed. By anticipating and preparing resources in advance, the system eliminates waiting time during resource fetching, directly addressing the latency issue without requiring complex client-side modifications.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a surrogate browser pre-fetches dependent resources, then the number of round trips is reduced, but the system complexity increases due to additional components

Engineering Contradiction:
Improveweb page delivery efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The surrogate browser is designed to perform multiple functions: it acts as a resource pre-loader, a local cache server, and a response generator. By consolidating these functions into a single component running on the origin server, the system achieves improved web page delivery efficiency without proportionally increasing overall system complexity. The surrogate browser's multi-functionality allows it to handle various resource types and request scenarios uniformly.

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

Solution Approach 2:

The surrogate browser autonomously identifies and pre-loads dependent resources without requiring explicit client requests for each resource. It self-manages the resource loading process, making decisions about which resources to fetch based on the web page structure. This self-service capability improves delivery efficiency while minimizing the need for complex client-server coordination protocols.

Inventive Principle:
Principle #25Self-service

3Reliability

If multiple requests are sent to fetch dependent resources, then complete web page functionality is achieved, but the number of communications between client and server increases

Engineering Contradiction:
Improveweb page completenessVSAvoidcommunication time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The surrogate browser serves as a mediator that consolidates multiple resource requests into a single response. Instead of the client browser making separate requests for HTML, CSS, JavaScript, and images, the surrogate browser on the origin server prepares all these resources in advance and delivers them together, maintaining web page completeness while eliminating multiple communication rounds.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system merges multiple resource delivery operations into a single coordinated response. The surrogate browser combines the main web page content with all dependent resources (stylesheets, scripts, images) into one comprehensive delivery cycle. This merging approach ensures complete web page functionality is achieved while minimizing communication time by eliminating sequential request-response cycles.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10868881B1Loading web resources using remote resource pushing
Publication Date: 2020.12.15 CHANG MINGTAI
  • US10868881B1 patent drawing
  • US10868881B1 patent drawing
  • US10868881B1 patent drawing

AI summary

This specification describes systems, methods, devices, and other techniques for transmitting electronic resources to a client device. In some implementations, a computing system includes a client proxy system and a push server system. The client proxy system is configured to obtain requests issued from a client device and responses to requests issued by a surrogate browser of a push server system. The client proxy system matches responses from the push server system with requests from the client device to determine responses to the requests from the client device.