Distributed Extension Execution Offloading to Remote Facilities
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The execution of website extensions in web browsers is difficult to scale and lacks flexibility, leading to increased consumption of network bandwidth, processor time, and memory resources, which can cause performance deterioration and render devices inoperable, especially on resource-constrained devices like smartphones.
Innovation Solution
Relocating some or all of the extension execution to a remote computing facility, such as a datacenter with multiple servers, allowing the web browser to initiate extensions remotely, execute them on virtual machines, and provide results back to the client device, thereby offloading resource-intensive tasks and optimizing network bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If extensions are executed locally in the web browser, then execution flexibility is improved, but device resources (processor time, memory, network bandwidth) are excessively consumed
Solution Approach 1:
The system segments extension execution into two parts: local initiation and control remains on the client device, while actual extension code execution is moved to remote computing facilities. This segmentation allows flexibility to be maintained locally while resource-intensive operations are performed remotely, resolving the contradiction between execution flexibility and device resource consumption.
Solution Approach 2:
A remote computing facility acts as an intermediary between the client device and extension execution. The intermediary handles the resource-intensive extension code execution, freeing up client device resources while maintaining the ability to initiate and control extensions locally, thus resolving the resource consumption problem while preserving execution flexibility.
2Adaptability or versatility
If the number of active extensions increases, then functionality is improved, but client device performance deteriorates
Solution Approach 1:
The system extracts the resource-intensive extension execution process from the client device and relocates it to remote computing facilities. This extraction allows multiple extensions to be executed simultaneously without impacting client device performance, as the computational load is removed from the device entirely, resolving the contradiction between extension functionality and device performance reliability.
3Ease of operation
If extensions are executed on resource-constrained devices, then local execution capability is improved, but device operability is compromised
Solution Approach 1:
The system creates a copy of the extension execution environment on remote computing facilities rather than requiring it to exist on the resource-constrained device. The client device maintains the ability to initiate and control extensions locally, while the actual execution occurs in a copied environment remotely, preserving local operational capability without compromising device operability.
Data Source
AI summary
Computing systems, devices, and associated processes for distributed execution of extensions are disclosed herein. In one embodiment, a method includes receiving a user input at a client device for initiating an extension in a web page associated with a web site. In response to the received user input, a communication link between the client device and a remote computing facility can be established. The method can also include transmitting a request for initiating the extension, from the client device, to the remote computing facility via the established communication link and receiving, at the client device, data representing execution results of the requested extension from the remote computing facility.


