Remote Browsing Session Management for Resource-Constrained Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing devices, especially those with limited resources like netbooks, tablets, and smartphones, experience performance and latency issues when loading and rendering web pages due to inefficiencies in processing network content and embedded resources, leading to a diminished user experience.
Innovation Solution
A remote application session is established between client computing devices and content providers through a network computing and storage provider, which processes and manages browse sessions, shifting certain processing actions from the client to the network side to optimize performance and reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If web page processing is performed locally on client computing devices with limited resources, then device autonomy and simplicity are maintained, but performance and rendering speed deteriorate
Solution Approach 1:
A gateway server is introduced as an intermediary between the content provider and the client computing device. The gateway server receives the web page from the content provider, processes it using its own browser software application, and transmits the processed page to the client. This intermediary approach allows resource-intensive processing to occur on the server side while maintaining simplicity on the client side, thereby resolving the contradiction between performance and device complexity.
Solution Approach 2:
The processing functionality is extracted from the client computing device and relocated to the gateway server. Instead of requiring the client device to parse HTML, process CSS, and execute JavaScript locally, these processing tasks are taken out and performed remotely by the gateway server's browser software application. This extraction of processing functions from the resource-constrained client resolves the performance bottleneck while maintaining client device simplicity.
2Loss of time
If resource-intensive processing tasks are performed on client computing devices, then processing capability is utilized, but latency and user experience deteriorate
Solution Approach 1:
The gateway server acts as an intermediary that assumes the energy-intensive processing tasks. By offloading HTML parsing, CSS processing, and JavaScript execution to the gateway server's more powerful processing resources, the client device avoids consuming energy for these operations. This reduces both the processing latency and the energy consumption on the client side, resolving the contradiction between time loss and energy usage.
Solution Approach 2:
The traditional model is inverted: instead of the client device requesting and processing content locally, the gateway server proactively processes the content and pushes it to the client. The gateway server's browser software application performs the processing tasks that would normally be performed by the client, effectively reversing the processing flow. This inversion reduces client device energy consumption and processing latency by performing tasks on more powerful server infrastructure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A browsing process is directed to the generation and management of a browse session at a network computing and storage provider, A client computing device requests a remote browse session instance at a network computing and storage provider. The browse session instance may correspond to requested network content. The network computing and storage provider determines a browse configuration. The browse configuration may identify a communication protocol and various processing actions. The network computing and storage provider retrieves the requested content through an instantiated network browse session instance, and performs a first set of processing actions to generate a processing result. The processing result may be provided to the client computing device for display, including performing a second set of processing actions on the processing result at the client computing device.