Virtual Execution Environment for Non-Native Application Integration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a need for seamless integration of non-native operating system applications into native environments, as users desire interoperability between different operating systems, with a significant gap in the number of software titles available for Microsoft Windows versus Apple Macintosh platforms.
Innovation Solution
The system employs Virtual Execution Environments (VEEs) to launch and integrate non-native applications into the host operating system, allowing seamless display and interaction of applications across different OS environments, including Virtual Machines and Hypervisor-based systems, enabling drag-and-drop functionality, transparent copy/paste operations, and secure data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If non-native applications are integrated into the host OS using Virtual Execution Environments, then interoperability between different operating systems is improved, but system complexity increases due to the need for multiple VEE layers and configuration management
Solution Approach 1:
The patent implements nested Virtual Execution Environments where a first VEE (compatible with host OS) contains a second VEE (incompatible with host OS but compatible with the application). This nested structure allows the application to run in the second VEE while the first VEE mediates interactions with the host OS, effectively resolving the interoperability issue without requiring complete system redesign.
Solution Approach 2:
The first VEE acts as an intermediary layer between the host OS and the second VEE. It handles file system integration, drag-and-drop operations, and security rules, translating between the host OS environment and the application's native environment. This mediator approach enables seamless interoperability while managing the complexity of multiple OS environments.
2Ease of operation
If the second VEE window is made invisible to show only the application window, then the user experience is improved by creating a seamless appearance, but the ability to access VEE controls and desktop functionality is reduced
Solution Approach 1:
The VEE desktop visibility is made dynamic rather than static. The second VEE desktop can be hidden when not needed to provide a clean application view, but can be revealed on user request to access desktop controls, menus, and other VEE functionality. This dynamic switching allows the system to adapt between providing a seamless appearance and providing full access to VEE controls.
3Ease of operation
If drag-and-drop and transparent copy/paste operations are enabled between host OS and VEE, then ease of operation is improved, but security risks increase due to potential unauthorized data access
Solution Approach 1:
The system implements security rules that act as feedback mechanisms for drag-and-drop and copy/paste operations. When a user attempts such an operation between the host OS and VEE, the first VEE evaluates the operation against defined security rules and either permits or blocks it. This feedback loop enables seamless ease of operation for authorized actions while preventing unauthorized data access.
Data Source
AI summary
A method, system and computer program product recorded on a computer-readable medium for execution on at least one processor, for seamless integration of a non-native application into a host OS, including launching a first Virtual Execution Environment (VEE) on a computing system that has a host operating system and a host desktop displayed to a user; displaying a window corresponding to the VEE on the host desktop; upon a user invoking a user application that is non-native to both the host OS and the first VEE, (a) installing a second VEE that is compatible with the user application, (b) installing the user application into the second VEE, (c) launching the application inside the second VEE, and (d) displaying the non-native application window within a window of the second VEE. The VEE can be a Virtual Private Server or a Virtual Machine.


