Virtualized Application Isolation via Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The installation of applications on computing devices is complex and often requires administrator privileges, leading to security compromises, especially on secured systems, and can result in errors due to interactions between shared components and different versions of the same application.
Innovation Solution
The development of virtualized applications that are pre-configured as single-executable files, allowing execution without installation on the host device, using a virtual operating system to isolate the application from the host OS and eliminate the need for setup or administrative privileges.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications are installed traditionally on computing devices, then the applications can execute with full functionality, but the installation process becomes complex and requires administrator privileges, compromising security on secured systems
Solution Approach 1:
The application is segmented into a virtualized execution environment that encapsulates all necessary components (runtime libraries, dependencies, configuration files) within a self-contained virtual machine image. This segmentation allows the application to execute without traditional installation processes while maintaining full functionality and avoiding conflicts with host system components.
Solution Approach 2:
A virtualization layer acts as an intermediary between the application and the host operating system. This intermediary provides the necessary system calls and resource access mechanisms, allowing the application to execute with full functionality while eliminating the need for administrator privileges and complex installation procedures.
2Adaptability or versatility
If multiple applications are installed on the same computing device, then users can access diverse software functionality, but interactions between shared components and different versions of the same application introduce errors
Solution Approach 1:
Each application is packaged in its own isolated virtual machine image with dedicated copies of runtime libraries and system components. This segmentation ensures that different versions of the same application or its dependencies cannot interfere with each other, eliminating compatibility errors while allowing diverse software functionality to coexist on the same device.
Solution Approach 2:
Each virtualized application environment has its own localized copy of necessary system components and libraries, tailored specifically to that application's requirements. This local quality ensures that each application runs with its optimal configuration without being affected by other applications, maintaining both versatility and reliability.
3Reliability
If traditional application installation is performed on secured, locked-down desktops, then network security is maintained, but applications do not function properly
Solution Approach 1:
The virtualization layer serves as a secure intermediary that mediates all interactions between the application and the host operating system. This intermediary can be configured to provide controlled access to system resources, allowing applications to function properly while maintaining network security policies. The virtualized environment can be sandboxed to prevent unauthorized access or modifications to the host system.
Solution Approach 2:
All necessary configuration, component registration, and security settings are performed in advance during the creation of the virtual machine image. This preliminary action ensures that when the virtualized application executes on a secured system, it can function properly without requiring administrative privileges or compromising security policies, as all necessary permissions are pre-configured within the isolated environment.
4Reliability
If virtualized applications are created with complete isolation from the host operating system, then security is improved and conflicts are eliminated, but the complexity of preparing and configuring virtual machine images increases
Solution Approach 1:
The virtual machine image format is designed as a universal container that can encapsulate applications with different isolation requirements. The same virtualization infrastructure can accommodate both highly isolated applications and those requiring controlled interaction with the host, reducing the complexity of preparing different types of virtualized images for different security requirements.
Solution Approach 2:
The virtualized application environment is designed to be self-contained with all necessary components, dependencies, and configuration files included within the image itself. This self-service approach eliminates the need for complex post-installation configuration and reduces the complexity of preparing virtual machine images, as the application brings its own execution environment rather than requiring external configuration.
Data Source
AI summary
A method of virtualizing an application to execute on a plurality of operating systems without installation. The method includes creating an input configuration file for each operating system. The templates each include a collection of configurations that were made by the application during installation on a computing device executing the operating system. The templates are combined into a single application template having a layer including the collection of configurations for each operating system. The collection of configurations includes files and registry entries. The collections also identifies and configures environmental variables, systems, and the like. Files in the collection of configurations and references to those files may be replaced with references to files stored on installation media. The application template is used to build an executable of the virtualized application. The application template may be incorporated into a manifest listing other application templates and made available to users from a website.


