External Browser Interpreter for Non-Native Language Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional web browsers do not support native execution of all programming languages, making it burdensome for developers to provide native support, as it requires access to the browser code base and significant coding efforts for each browser.

Innovation Solution

Loading an interpreter program written in a natively supported language to interpret and execute programs written in languages not natively supported by the browser, allowing for the execution of non-native programs within the browser.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a browser provides native support for a programming language, then execution capability for that language is improved, but device complexity and development burden increase

Engineering Contradiction:
Improvelanguage execution capabilityVSAvoidbrowser code base complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an interpreter program written in a natively supported language (JavaScript) that serves as an intermediary to execute programs in non-native languages (VBScript, Python, etc.). Instead of integrating multiple language engines directly into the browser, the browser only needs to execute the interpreter, which then handles the non-native language execution, thereby reducing browser complexity while maintaining multi-language support

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The interpreter program is designed with multi-functionality to handle multiple non-native programming languages through a single unified interface. The same interpreter infrastructure can interpret different language syntaxes and semantics, allowing the browser to support diverse languages without requiring separate native integration for each language

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

2Adaptability or versatility

If a developer integrates native support for a non-native language into a browser, then language execution capability is improved, but loss of time and productivity decrease due to extensive coding requirements

Engineering Contradiction:
Improvelanguage supportVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

By using an interpreter written in JavaScript as a mediator layer, developers no longer need to modify the browser's core codebase to add language support. The interpreter handles all language-specific parsing and execution logic, allowing developers to simply provide the interpreter program and target language code, dramatically reducing development time and effort

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent separates the language execution functionality into distinct modular components: the browser core (which only executes JavaScript), the interpreter program (which handles non-native language syntax), and the target language code (VBScript, Python, etc.). This segmentation allows independent development and deployment of language support without affecting the browser core, reducing overall development complexity and time

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7921415B1Externally loaded browser interpreter for non-native language support
Publication Date: 2011.04.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7921415B1 patent drawing
  • US7921415B1 patent drawing
  • US7921415B1 patent drawing

AI summary

An interpreter program is described that may be loaded from an external resource when needed by a host. In one implementation, the interpreter program is written in a first language and is capable of interpreting a second language. A program, written in the second language, is provided as data to the interpreter program. The interpreter program may then execute the program.