Resource Server Exposing System Resources to Web Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications executing in standard, non-extended browsers lack direct access to system resources due to security protocols, limiting their ability to interact with hardware components like telephony and camera hardware, and require time-consuming development of browser extensions or special APIs for platform-specific access.

Innovation Solution

A resource server operates outside the browser's security context, using standard HTTP connections to expose system resources to web applications, enabling them to monitor and control hardware components without relying on browser extensions or special APIs, thus providing a browser- and platform-independent architecture for two-way command protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If web applications use standard browsers without extensions, then platform independence and ease of deployment are improved, but access to system resources and hardware components is restricted due to security protocols

Engineering Contradiction:
Improveplatform independenceVSAvoidsecurity restrictions
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The patent introduces a resource server as an intermediary component that sits between the web application and system resources. The resource server receives HTTP requests from the web application, translates them into appropriate system resource operations, and returns results. This mediator architecture allows web applications to access system resources through a controlled interface without requiring browser extensions, maintaining both security and functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-generated harmful factors

If browser extensions or special APIs are developed to access system resources, then hardware component access capability is improved, but development time and platform specificity increase

Engineering Contradiction:
Improvehardware access capabilityVSAvoiddevelopment time
Core Design Contradiction:
Object-generated harmful factorsVSLoss of time

Solution Approach 1:

The resource server is designed as a universal platform-independent solution that can serve multiple web applications and access various system resources through a standardized HTTP interface. Instead of developing separate browser extensions for each application and platform, the same resource server architecture can be deployed across different platforms to provide consistent hardware access capabilities to web applications.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If web applications directly access system resources, then operational control capability is improved, but security risks and malicious operation potential increase

Engineering Contradiction:
Improveoperational control capabilityVSAvoidsecurity risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The resource server acts as a security intermediary that mediates all interactions between web applications and system resources. It validates requests, enforces security policies, and controls access permissions before allowing operations on system resources. This intermediary layer maintains operational control capability while filtering out malicious operations and protecting the system from security threats.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If resource server is introduced to mediate between web application and system resources, then security and platform independence are improved, but system architecture complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The resource server functionality is extracted as a separate, standalone component from both the web application and the system resources. This extraction allows the resource server to be developed, deployed, and maintained independently, reducing the complexity burden on the web application itself. The modular architecture enables the resource server to handle security and platform-specific concerns centrally, simplifying the overall system design despite the added component.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2603865B1Exposing resource capabilities to web applications
Publication Date: 2018.11.21 GOOGLE LLC
  • EP2603865B1 patent drawingFigure 1
  • EP2603865B1 patent drawingFigure 2
  • EP2603865B1 patent drawingFigure 3

AI summary

The subject matter of this document can be implemented in, among other things, a method that includes executing a web application within a web browser of a computing device. The method also includes executing a resource server with an interface for receiving HTTP messages from the web application and an interface for communicating with a system resource of the computing device. The method further includes receiving, at the web application, an input to affect an operation of the system resource. The method also includes transmitting, from the web application to the resource server, an HTTP message to affect the operation of the system resource. The method further includes processing the HTTP message into a resource control message that includes information about the operation. The method also includes transmitting the resource control message from the resource server to the system resource to affect the operation by the system resource.