Browser Desktop Bridge for Secure Resource Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web-based applications cannot interact directly with operating systems or access a full range of computer resources, limiting their functionality and user experience, as they are restricted to running in a browser environment 'sandbox' separated from the operating system APIs.

Innovation Solution

A bridge system is introduced to facilitate communication between web-based applications in a browser environment and desktop applications, allowing requests and responses to be sent and received while maintaining security, using a bridge message client and server components that establish a local connection for data exchange.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If web apps are run in a browser environment sandbox, then security is improved, but functionality and access to computer resources deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidfunctionality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a bridge system comprising a bridge message client in the web app and a bridge server component in the desktop environment that acts as an intermediary. The bridge message client opens a local connection to communicate with the bridge server, which then facilitates controlled access to desktop resources and processes. This mediator approach allows web apps to extend functionality beyond the browser sandbox while maintaining security through the bridge server's control over what resources can be accessed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If web apps access desktop resources, then adaptability is improved, but security deteriorates

Engineering Contradiction:
Improveaccess to desktop resourcesVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The bridge server component serves as a secure intermediary that mediates all interactions between web apps and desktop resources. It receives requests from the bridge message client, validates them, and controls access to processes and resources in the desktop environment. This ensures that web apps can access desktop resources adaptively while security is maintained through the bridge server's authorization and control mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements local quality by providing different access characteristics to different resources. The bridge system allows selective access to specific processes and resources based on what is needed, rather than providing blanket access. Each resource interaction can be controlled individually, allowing the system to be secure for sensitive resources while being adaptable for less sensitive ones.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If a bridge system is introduced, then functionality is improved, but device complexity increases

Engineering Contradiction:
Improvecommunication capabilityVSAvoidsystem structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

While the bridge system does add components, the complexity is managed by using standardized communication protocols and well-defined interfaces. The bridge message client uses standard web technologies, and the bridge server provides a uniform interface for resource access. This modular approach with clear boundaries keeps the system manageable despite the added functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9390172B2Communication channel between web application and process outside browser
Publication Date: 2016.07.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9390172B2 patent drawing
  • US9390172B2 patent drawing
  • US9390172B2 patent drawing

AI summary

One or more techniques and/or systems are disclosed herein for relaying a request to a process running on a computing device from a web client and receiving a response from the process. A bridge message client disposed in a web application, running in a browser on a computer, opens a local connection to a process running outside the browser. The bridge message client comprises a communication channel ID that identifies a communication channel to host the local connection to a bridge server, and a bridge message client ID facilitates communications from the bridge server to the web application. The bridge server is disposed outside of the browser environment, and can receive a request from the bridge message client and forward it to the process, and/or can receive a response to the request from the process and forward it to the bridge message client over the local connection.