Virtual Execution Environments for Seamless Non-Native App Migration
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Reliability
If Virtual Machines are used to run non-native applications, then compatibility is maintained, but resource overhead and performance degradation occur
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
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
3Ease of operation
If seamless integration is implemented, then user experience is improved, but security risks and system stability challenges increase
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
4Adaptability or versatility
If multiple Virtual Execution Environments are maintained, then application compatibility is improved, but memory consumption and storage requirements increase
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
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
Data Source
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.


