Virtual Execution Environments for Seamless Non-Native App Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need for seamless integration of non-native operating system applications into native operating system environments, as users desire interoperability between applications written for different operating systems, with a significant gap in the number of software titles available for Microsoft Windows versus Apple Macintosh platforms.

Innovation Solution

The method involves launching a Virtual Machine (VM) with a non-native application, replacing the original guest OS, migrating the application to another VM, and displaying it on the host OS desktop, allowing for seamless integration and operation of non-native applications within the native environment, including drag-and-drop functionality and transparent copy/paste operations, while maintaining security and compatibility through various Virtual Execution Environments (VEEs).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If non-native applications are integrated into native operating system environments, then interoperability and user experience are enhanced, but system complexity and compatibility challenges increase

Engineering Contradiction:
ImproveinteroperabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements nested virtual execution environments where VEEs are contained within the host operating system, and applications are contained within VEEs. This nesting structure allows non-native applications to run within isolated VEEs that emulate their native environment, while the VEEs themselves run within the host OS, creating a hierarchical containment that enables interoperability without direct integration complexity

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces Virtual Execution Environments as intermediary layers between the host operating system and non-native applications. These VEEs act as mediators that translate and adapt application requests, providing compatibility without requiring direct modification of either the host OS or the applications, thus managing system complexity while enhancing adaptability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If Virtual Machines are used to run non-native applications, then compatibility is maintained, but resource overhead and performance degradation occur

Engineering Contradiction:
ImprovecompatibilityVSAvoidresource overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the virtualization functionality into lightweight Virtual Execution Environments that are divided into modular components. Each VEE is segmented to provide only the specific emulation capabilities needed for particular applications, rather than full-blown virtual machines, reducing overall resource overhead while maintaining compatibility for specific workloads

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameters of virtualization by transitioning from heavy-weight Virtual Machines with complete hardware emulation to lightweight VEEs with selective software emulation. This parameter change reduces memory consumption and CPU overhead by only emulating the specific system calls and environments needed for application compatibility, rather than providing full virtual machine functionality

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If seamless integration is implemented, then user experience is improved, but security risks and system stability challenges increase

Engineering Contradiction:
Improveuser experienceVSAvoidsystem stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent uses Virtual Execution Environments as intermediary layers that provide seamless integration while maintaining security boundaries. The VEEs act as mediators between the host OS and applications, allowing transparent operation and unified user experience while isolating applications within controlled environments that prevent direct access to host system resources, thus maintaining stability

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If multiple Virtual Execution Environments are maintained, then application compatibility is improved, but memory consumption and storage requirements increase

Engineering Contradiction:
Improveapplication compatibilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements universal VEE components that can serve multiple applications simultaneously. Rather than creating dedicated VEE instances for each application, the system uses multi-functional VEE infrastructure that can adapt to support different application types and operating systems, reducing overall memory consumption while maintaining broad application compatibility

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

Solution Approach 2:

The patent implements dynamic allocation and deallocation of VEE resources. When applications are launched, VEE resources are allocated as needed, and when applications terminate, resources are recovered and reused for other applications. This discard-and-recover approach reduces peak memory consumption by reusing VEE infrastructure rather than maintaining permanent separate environments for all applications

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8910163B1Seamless migration of non-native application into a virtual machine
Publication Date: 2014.12.09 PARALLELS INT GMBH
  • US8910163B1 patent drawing
  • US8910163B1 patent drawing
  • US8910163B1 patent drawing

AI summary

A method, system and computer program product for implementing a first Virtual Machine (VM) and a first guest OS in the VM, on a computing system that has a host OS and a host desktop. The first VM has a non-native application associated with the first VM and the first guest OS; means for replacing the first guest OS in the first VM with a different guest OS; a second VM and a second guest OS in the second VM running on the processor; upon a user attempting to launch the non-native application, means for associating the non-native application with the second VM; and means for determining compatibility of the non-native application with the second guest OS; The non-native application is launched inside the second VM.