Resource Server Exposing System Resources to Web Applications
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Ease of operation
If web applications directly access system resources, then operational control capability is improved, but security risks and malicious operation potential increase
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.
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
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.
Data Source
Figure 1
Figure 2
Figure 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.