Java Virtual Machine Code Migration Between Secure and Non-Secure Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems requiring distinct development processes for secure and non-secure execution environments introduce complexity and expense, especially when executing non-native program instructions like Java instructions, and existing techniques such as Java RMI require explicit coding and additional server-side installations, increasing development complexity.
Innovation Solution
A method that utilizes two execution environments within a data processing apparatus to execute non-native program instructions, where one environment identifies and triggers marked instructions for execution in the other, allowing for simplified code development and enhanced security by controlling code migration between environments, particularly suited for secure and non-secure modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If distinct development processes are used for secure and non-secure execution environments, then security is improved, but device complexity and development expense increase
Solution Approach 1:
The patent merges the development processes for secure and non-secure execution environments by enabling a single Java program to be compiled once and executed in both environments. The Java Virtual Machine is configured to automatically migrate code between secure and non-secure execution environments based on security requirements, eliminating the need for separate development processes while maintaining security distinctions through runtime environment switching.
2Adaptability or versatility
If Java RMI techniques are used to split applications across multiple virtual machines, then distributed application capability is improved, but development complexity increases due to explicit coding requirements and additional server-side installations
Solution Approach 1:
The system implements self-service by enabling the Java Virtual Machine to automatically handle code migration between execution environments without requiring explicit RMI programming. The JVM identifies when code should be executed in secure versus non-secure environments and automatically migrates the appropriate code segments, eliminating the need for developers to manually code remote interfaces and install additional server-side components.
Data Source
AI summary
A data processing system 2 executes non-native program instructions using either a first execution environment 14 or a second execution environment 22. The first execution environment identifies at runtime if non-native program instructions to be executed are marked as intended for execution by the second execution environment. When such instructions are encountered the first execution environment triggers performance of data processing operations as specified by the one or more marked program instructions performed by the second execution environment. When those processing operations as specified by the one or more marked program instructions have been completed, a return is made to the first execution environment.


