Remote Browsing Session Offloads Rendering to Reduce Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing devices with limited resources, such as netbooks, tablets, and smartphones, experience performance and latency issues when accessing and rendering web content due to inefficiencies in processing and rendering web pages, especially when connected to networks with limited bandwidth.

Innovation Solution

A remote browsing session is established between a client computing device and a network computing and storage provider, which processes and renders web content, shifting processing tasks from the client to the provider to optimize performance and reduce latency, using a remote session browsing configuration that specifies communication protocols and processing actions to be performed on the network side.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If web content is processed and rendered locally on client computing devices, then user interactions can be processed immediately with low latency, but resource-constrained devices experience performance limitations and high latency when accessing network content

Engineering Contradiction:
Improvecontent rendering speedVSAvoidclient device processing capability
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the content processing and rendering functions from the client computing device and relocates them to a remote server. The client device only handles user input and displays rendered output, while the server performs HTML parsing, CSS processing, JavaScript execution, and layout calculation. This extraction resolves the contradiction by eliminating the need for complex processing capabilities on client devices while maintaining fast content rendering through server-side computation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a remote server as an intermediary between the client device and the web content. This intermediary handles all processing-intensive tasks including parsing HTML, processing CSS, executing JavaScript, and calculating layouts. The server acts as a mediator that receives user inputs from the client, processes them along with the web content, and returns rendered results to the client for display, thereby resolving the performance limitations of resource-constrained devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple embedded resources are fetched and processed on the client device, then complete web pages with all resources can be displayed, but network bandwidth is consumed and latency increases

Engineering Contradiction:
Improvecontent display completenessVSAvoidcontent loading latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by having the server process and render the complete web page including all embedded resources before transmitting the final rendered output to the client device. The server fetches and processes HTML, CSS, JavaScript, and other embedded resources in advance, performs layout calculations, and generates the complete rendered page. This preliminary processing ensures content display completeness while reducing client-side latency since the client only needs to receive and display the pre-rendered result.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by having the server create a complete copy of the web page with all embedded resources integrated and rendered. Instead of transmitting separate HTML files, CSS files, JavaScript files, and images to the client, the server generates a single complete rendered representation that includes all content and resources. This copying approach ensures that the client receives a complete, self-contained rendered page that displays reliably without requiring the client to fetch and assemble multiple separate resources.

Inventive Principle:
Principle #26Copying

3Ease of operation

If resource-intensive processing is performed on client devices with limited resources, then local processing autonomy is maintained, but performance and user experience deteriorate

Engineering Contradiction:
Improveuser experience qualityVSAvoidclient device processing load
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent extracts all resource-intensive processing tasks from the client device including HTML parsing, CSS processing, JavaScript execution, and layout calculation. These extracted functions are relocated to the server which has abundant computational resources. The client device is relieved of processing loads and only performs lightweight operations of sending user inputs and displaying rendered output, thereby dramatically improving ease of operation and user experience quality while minimizing energy consumption on client devices.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The server performs self-service by autonomously handling all processing-intensive tasks without requiring client device computational resources. The server independently parses HTML, processes CSS, executes JavaScript, calculates layouts, and generates rendered output. This self-service approach allows the system to maintain high performance and excellent user experience while client devices with limited resources consume minimal energy, as the heavy processing is self-managed by the server.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10116487B2Management of interactions with representations of rendered and unprocessed content
Publication Date: 2018.10.30 AMAZON TECH INC
  • US10116487B2 patent drawing
  • US10116487B2 patent drawing
  • US10116487B2 patent drawing

AI summary

A browsing process is directed to the management of interactions with representations of rendered and unprocessed content. A client computing device requests a first network resource from a network computing component. The network computing component processes the requested content for display, and provides a processing result corresponding to a processed representation of the requested content to the client computing device. The client computing device may send user interaction data based on user interactions with the representation to the network computing component for processing. The client computing device may receive an unprocessed second network resource, and process a user interaction with a representation of the second network resource locally.