Virtual Machine Execution in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems and software applications face challenges in security due to unauthorized use and the need for separate code development for multiple operating systems and hardware platforms, which is expensive and inefficient.

Innovation Solution

A method involving a non-volatile memory device that executes a virtual operating system and software applications independently of the host operating system, using a virtual engine and authentication to create a secure, platform-independent execution environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate code is created for each operating system and hardware platform, then software compatibility is improved, but development cost and complexity increase

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidcode management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal virtual machine environment that can execute software applications across multiple operating systems and hardware platforms without requiring separate code versions. The virtual machine acts as a universal execution layer that translates and runs application code regardless of the underlying host environment, eliminating the need to create and maintain separate codebases for different platforms.

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

Solution Approach 2:

The virtual machine serves as an intermediary layer between the host operating system and the software application. This mediator translates application instructions into host-specific operations, allowing the application to run on different platforms without modification. The virtual machine handles platform-specific variations, shielding the application developer from complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If applications run directly on the host operating system, then execution speed is improved, but security against unauthorized access deteriorates

Engineering Contradiction:
Improveapplication execution speedVSAvoidsystem security
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the system into distinct layers: the host operating system, the virtual machine environment, and the software application. This segmentation isolates the application within a controlled virtual environment that enforces security policies, preventing direct access to host system resources. The virtual machine acts as a security boundary that maintains both execution efficiency and protective isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual machine functions as a security intermediary that mediates all interactions between the application and the host system. It controls and filters access requests, blocking unauthorized operations while allowing legitimate ones. This intermediary layer maintains security without significantly impacting execution speed, as it operates at a higher abstraction level than direct hardware access.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If a virtual environment is introduced to execute applications, then security is improved, but system complexity increases

Engineering Contradiction:
Improveexecution securityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The virtual machine is designed to be self-contained, managing its own execution environment, resource allocation, and security policies without requiring complex external management infrastructure. The virtualization layer handles its own configuration and operation autonomously, reducing the burden on system administrators and simplifying deployment compared to more manual security architectures.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7890723B2Method for code execution
Publication Date: 2011.02.15 SANDISK TECHNOLOGIES LLC
  • US7890723B2 patent drawing
  • US7890723B2 patent drawing
  • US7890723B2 patent drawing

AI summary

Method for executing a software application is provided. The method includes detecting a host operating system; executing a virtual operating system in a virtual environment, wherein the virtual operating system is stored in a non-volatile memory device; and executing a software application in the virtual environment, wherein the software application is stored in the non-volatile memory device; and the virtual operating system and the software application are executed independently of the host operating system execution.