Java Virtual Machine Code Migration Between Secure and Non-Secure Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovesecurityVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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

Engineering Contradiction:
Improvedistributed application capabilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8321861B2Non-native program execution across multiple execution environments
Publication Date: 2012.11.27 ARM LTD
  • US8321861B2 patent drawing
  • US8321861B2 patent drawing
  • US8321861B2 patent drawing

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.