Virtual Machine Isolation for Dynamic Program Robustness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic programming languages lack robustness in business applications environments, where programs from one user can inadvertently affect others or the server data, due to the inability to isolate processes at a thread level, as seen in Java and other languages.

Innovation Solution

Implementing a computer system with a virtual machine that executes dynamic programs within a structured environment, using a non-dynamic programming language to manage a stack and allowing controlled interaction pathways between dynamic and non-dynamic programs, ensuring thread-level isolation and robustness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dynamic programming languages are used to allow flexible runtime code changes and extensions, then adaptability and productivity are improved, but robustness and isolation between user programs deteriorate

Engineering Contradiction:
Improveruntime code flexibilityVSAvoidprogram isolation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the execution environment into multiple isolated virtual machines, each running a dynamic program in its own sandboxed context. This segmentation allows each user program to execute with full dynamic language capabilities while preventing interference with other programs, thus resolving the contradiction between adaptability and robustness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a non-dynamic programming language as an intermediary layer between the dynamic program and the underlying system. This intermediary provides controlled interaction pathways that enable necessary communication while maintaining isolation boundaries, allowing dynamic programs to benefit from flexibility without compromising system-wide robustness

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If dynamic languages allow programs to affect each other for integration purposes, then ease of operation and integration are improved, but harmful factors and security risks increase

Engineering Contradiction:
Improveintegration capabilityVSAvoidcross-program interference
Core Design Contradiction:
Ease of operationVSObject-generated harmful factors

Solution Approach 1:

The system applies different quality characteristics to different parts of the execution environment: dynamic programs receive full dynamic language capabilities within their own virtual machine contexts, while interactions between programs are constrained through controlled pathways in the intermediary language. This local differentiation allows integration where needed while preventing harmful cross-program effects

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8261248B2System and method of executing a dynamic program in a structured environment
Publication Date: 2012.09.04 SAP SE
  • US8261248B2 patent drawing
  • US8261248B2 patent drawing
  • US8261248B2 patent drawing

AI summary

In one embodiment the present invention includes a first virtual machine that executes a non-dynamic program, that implements a second virtual machine that executes a dynamic program. The dynamic program operates in the structured environment of the non-dynamic programming language via various allowed interaction pathways. In this manner, dynamic programs may be executed in a robust business applications environment.