In-Process Intermediary for Virtual Process Creation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application virtualization techniques face challenges in creating new virtual processes efficiently, relying on out-of-process surrogates that are complex to maintain and require extensive functionality to handle various parameters and metadata, leading to difficulties in launching virtual processes without fidelity and requiring separate surrogates for each process.
Innovation Solution
An in-process intermediary module intercepts process creation requests within the initiating process, identifies and adds a corresponding virtual process to a virtual environment, allowing the request to be fulfilled without relying on out-of-process surrogates, thereby simplifying the creation of virtual processes and maintaining intended behavior.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If out-of-process surrogates are used to intercept process creation requests, then virtual processes can be created, but the system complexity increases and maintenance becomes difficult
Solution Approach 1:
An in-process intermediary module is introduced within the parent process to intercept process creation requests. This intermediary acts as a mediator between the parent process and the virtualization infrastructure, eliminating the need for separate out-of-process surrogates. The intermediary captures creation requests, translates them into appropriate virtual process creation operations, and manages the lifecycle of virtual processes directly within the parent process context, thereby reducing system complexity while maintaining reliable virtual process creation.
2Manufacturing precision
If separate surrogates are created for each process, then process creation fidelity is maintained, but the overhead of maintaining multiple surrogates increases
Solution Approach 1:
A single in-process intermediary module is designed to handle process creation requests for multiple different virtual processes. Rather than creating separate surrogates for each process, the universal intermediary module can intercept and manage creation requests for any virtual process type, reducing the quantity of surrogate components from multiple process-specific surrogates to a single multi-functional intermediary that maintains fidelity across all process creations.
Solution Approach 2:
Multiple process-specific surrogate functions are merged into a single in-process intermediary module. This consolidation combines the capabilities of what would otherwise be separate surrogates for different processes into one unified component that resides within the parent process, thereby reducing the number of separate components while maintaining the ability to create multiple virtual processes with proper fidelity.
3Device complexity
If in-process intermediary is used to intercept process creation requests, then surrogate complexity is reduced, but the intermediary module must handle all process creation logic
Solution Approach 1:
The intermediary module's functionality is segmented into distinct operational components: request interception, virtual process identification, creation parameter translation, and lifecycle management. This segmentation allows the intermediary to handle diverse process creation logic in a structured manner, where each segment can be independently maintained and adapted. The segmented architecture enables the single intermediary to manage multiple virtual process types without becoming an unmanageable monolithic component.
Data Source
AI summary
In one embodiment, the tools and techniques can include intercepting with an intermediary module in a running non-virtual process a request from the running non-virtual process to create a requested non-virtual process. In response to the request being intercepted, an appropriate virtual process corresponding to the requested non-virtual process can be identified. In addition, a virtual environment that is configured to host the virtual process can be prepared and the virtual process can be added to the virtual environment. Finally, the request can be fulfilled with the virtual process.


