Native OS API Projection for Web Browser Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current client-side JavaScript programs running in web browsers cannot access native OS APIs, limiting their ability to utilize OS-supported features such as user interface, user input/output, data access, and multimedia capabilities, which are available to native applications.

Innovation Solution

A 'native-to-browser' projection component is introduced to expose native OS APIs to non-native software programs running in a web browser, acting as an intermediary between native OS APIs and the JavaScript engine, allowing JavaScript programs to invoke these APIs and leverage OS-supported features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If JavaScript programs run in a web browser using standard browser APIs, then cross-platform compatibility and ease of operation are improved, but access to native OS features and functionality are limited

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoidaccess to native OS features
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces a projection component as an intermediary layer between the JavaScript runtime environment and the native OS API. This component receives API calls from JavaScript, translates them into native OS API calls, and returns results to the JavaScript program. This mediator enables web applications to access native OS features while maintaining the cross-platform compatibility of the browser environment, as the projection component handles OS-specific translations transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If native OS APIs are exposed to web browsers, then functionality and feature access are improved, but system complexity and security risks increase

Engineering Contradiction:
Improvefunctionality accessVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the API exposure mechanism into distinct modular components: a projection component that handles API translation, a runtime environment that manages JavaScript execution, and the native OS API layer. This segmentation allows each component to be developed, maintained, and secured independently, reducing overall system complexity while enabling comprehensive native feature access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The projection component serves as a controlled intermediary that manages all interactions between JavaScript programs and native OS APIs. It implements security policies, validates API calls, and translates between different API paradigms, thereby enabling functionality access while containing and managing system complexity through a standardized interface layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If native OS APIs are made accessible to JavaScript programs, then application capability and feature parity with native applications are improved, but security constraints and sandbox isolation are weakened

Engineering Contradiction:
Improveapplication capabilityVSAvoidsandbox security isolation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The projection component acts as a security-mediated intermediary that sits between the JavaScript sandbox and the native OS API. It enforces security policies by filtering, validating, and authorizing API calls before they reach the native system. This allows web applications to access native features with enhanced capability while maintaining sandbox security isolation, as the mediator controls and monitors all cross-boundary interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements local quality by allowing different security policies and API access permissions for different contexts or origins. The projection component can apply granular security rules specific to each web application or user context, enabling capability access where appropriate while maintaining strict isolation where needed, thus balancing application capability with security requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10866845B2Exposing native OS APIS in a web browser
Publication Date: 2020.12.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10866845B2 patent drawing
  • US10866845B2 patent drawing
  • US10866845B2 patent drawing

AI summary

According to one set of embodiments, a computer system can expose, to a non-native software program running in a web browser of the computer system, one or more native OS APIs implemented by an OS of the computer system, where the exposing enables the non-native software program to invoke the one or more native OS APIs as part of its execution within a runtime environment provided by the web browser.