Browser Plug-in Client Resource Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Browser applications restrict the capabilities of markup language documents to prevent malicious access to client device resources, limiting functionality and performance for legitimate web applications that need to access user files, such as image sharing applications.

Innovation Solution

A browser plug-in that enhances the capabilities of browser applications by allowing access to local resources and performing computationally intensive tasks on the client device, using a general-purpose programming language like Java or ActiveX, while ensuring authenticity through hash verification and user permission mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If browser applications restrict the capabilities of markup language documents to prevent malicious access, then security is improved, but functionality and performance for legitimate web applications deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidfunctionality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments the execution environment into two distinct layers: a restricted sandbox environment for markup language documents and an elevated privilege environment for native code plugins. This segmentation allows legitimate applications to access local resources through the plugin interface while malicious documents remain confined to the restricted sandbox, thus resolving the contradiction between security and functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The native code plugin acts as an intermediary between the restricted markup language environment and the client device's local resources. The plugin provides a controlled interface that allows legitimate web applications to access file system, perform computations, and utilize hardware acceleration without compromising the sandbox security model, thereby enabling enhanced functionality while maintaining security boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If markup language documents are allowed unrestricted access to the file system, then functionality for accessing user files is improved, but security against malicious websites deteriorates

Engineering Contradiction:
Improveaccess to user filesVSAvoidmalicious access
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system implements dynamic privilege management where the markup language documents operate with restricted privileges in the sandbox, but can dynamically invoke native code plugins that run with elevated privileges. This dynamic approach allows legitimate applications to access user files when needed through the plugin interface, while malicious documents remain blocked due to lacking the necessary plugin invocations, thus balancing functionality and security.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If computationally intensive tasks are performed using scripting capabilities in markup language documents, then ease of implementation is improved, but performance deteriorates

Engineering Contradiction:
Improveease of implementationVSAvoidperformance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system merges the ease of implementation of markup language scripting with the high performance of native code execution. Web developers can continue to use familiar scripting languages for application logic while integrating native code plugins for computationally intensive operations such as image processing, video encoding, and cryptographic operations. This combination allows legitimate applications to achieve both ease of implementation and high performance, resolving the contradiction between these two parameters.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10241980B2Rendering a web page using content communicated to a browser application from a process running on a client
Publication Date: 2019.03.26 META PLATFORMS INC
  • US10241980B2 patent drawing
  • US10241980B2 patent drawing
  • US10241980B2 patent drawing

AI summary

The functionality of a browser application is enhanced using a browser plug-in, which enables the browser application to access portions of a file system not otherwise accessible to the browser application. The enhanced functionality provided by the browser plug-in is used in one example by an image uploading web application. The browser application may also start a task in the background, such as a task for uploading several images, and then monitor the progress of the task even when the browser application navigates away from the page that initiated the task. The browser application may use a local web server running on the client device to perform tasks, including the rendering of images and monitoring progress of long running tasks.