Virtual Machine Isolation for Dynamic Program Robustness
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
Data Source
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.


