Cross-Environment Application Loading via Shared Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application execution environments isolate applications into separate environments, preventing them from accessing or reusing each other's functionality without explicit inter-isolation-environment communication channels, which complicates the sharing of resources and functionality.
Innovation Solution
A method where a first application is loaded into a shared isolation environment with a second application, despite their designated isolation environments being different, allowing the first application to reference and use the second application's instructions and data while preventing modification, by determining consent through security policies and load types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications are isolated into separate environments, then security and stability are improved, but functionality sharing and resource reuse are worsened
Solution Approach 1:
The system segments applications into different isolation environments (first isolation environment for host application, second isolation environment for library application) while maintaining controlled access paths between them. This segmentation enables security through isolation while allowing selective functionality sharing through defined communication channels.
Solution Approach 2:
The patent introduces an intermediary mechanism (communication channel with calling conventions) that mediates interaction between isolated applications. The host application can reference library application instructions through this intermediary structure, enabling resource sharing while maintaining isolation boundaries.
2Adaptability or versatility
If explicit inter-isolation-environment communication channels are established, then functionality sharing is improved, but system complexity and implementation difficulty are worsened
Solution Approach 1:
The patent creates a universal reference mechanism where the host application can reference library application instructions using the same syntax and calling conventions as native instructions. This multi-functional approach allows different types of applications (host and library) to interact through a unified interface, reducing complexity.
Solution Approach 2:
Instead of requiring the library application to actively export interfaces, the system allows the host application to directly reference and call library instructions through established communication channels. This inversion simplifies the interface definition process by making references straightforward rather than requiring complex export/import mechanisms.
3Productivity
If applications share the same isolation environment, then resource access is improved, but security and isolation guarantees are worsened
Solution Approach 1:
The system maintains segmentation by loading the host application in the first isolation environment and the library application in the second isolation environment, even when they need to share resources. This segmentation preserves isolation guarantees while enabling controlled resource access through defined communication channels.
Solution Approach 2:
The patent enables the host application to reference and execute copies or references of library application instructions without directly accessing the original library application's memory space. This copying mechanism allows efficient resource access while maintaining isolation boundaries through indirect referencing.
Data Source
AI summary
This specification describes technologies relating to execution of applications and the management of an application's access to other applications. In general, a method can include loading a first application, designated to a first isolation environment, including first instructions using the first isolation environment provided by an application execution environment. A second application including second instructions is loaded using the first isolation environment despite the second application being designated to a second isolation environment provided by the application execution environment. The first application is prevented from modifying the second instructions of the second application. Data is processed using the first instructions of the first application and the second instructions of the second application, where the first instructions reference the second instructions. Information based on results of the processing is outputted.


