Shared Memory Deallocation Across Software Trust Boundaries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cross-domain communication mechanisms across trust boundaries in software components are expensive in terms of compute cycles and introduce latency, making it difficult to efficiently deallocate memory across these boundaries.
Innovation Solution
Implementing an in-memory message passing facility using shared memory to allow software components to allocate and deallocate memory efficiently without cross-domain communication, by using local deallocation mechanisms and validating memory access within the shared memory region.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cross-domain communication mechanism is used to deallocate memory across trust boundary, then memory deallocation can be performed, but compute cycles increase and latency is introduced
Solution Approach 1:
The patent introduces an intermediary message passing facility implemented through shared memory structures that mediate between software components on different sides of the trust boundary. This intermediary mechanism allows deallocation requests to be transmitted and processed without requiring direct cross-domain system calls, thereby reducing latency while maintaining security isolation.
Solution Approach 2:
The patent replaces the traditional mechanical cross-domain communication mechanism (which involves expensive system calls and scheduler intervention) with an in-memory message passing system. This substitution eliminates the need for costly cross-trust boundary calls by implementing deallocation through shared memory operations that are much faster and more efficient.
2Reliability
If cross-domain communication mechanism is used to deallocate memory across trust boundary, then memory deallocation can be performed, but compute cycles increase
Solution Approach 1:
The message passing facility acts as an intermediary that processes deallocation requests locally on each side of the trust boundary without requiring expensive cross-domain communication. This reduces the compute cycle overhead by eliminating the need for repeated system calls and scheduler interventions that would otherwise be required.
Solution Approach 2:
The patent substitutes the expensive cross-domain communication mechanism with an in-memory message passing system that operates through shared memory operations. This replacement dramatically reduces compute cycle consumption by avoiding the overhead of cross-trust boundary system calls while maintaining secure memory deallocation functionality.
3Productivity
If local deallocation mechanism is used within shared memory, then deallocation efficiency improves, but validation of memory access becomes required
Solution Approach 1:
The patent applies local quality by implementing deallocation operations locally within the shared memory region rather than requiring cross-domain validation. Each software component performs deallocation using its own local mechanisms within the shared memory boundaries, which improves efficiency while the trust boundary itself provides the necessary validation and security guarantees.
Data Source
Figure 1
Figure 2A~2D
Figure 3
AI summary
A computer-implemented method comprises receiving, by a thread on a first software component, a request to construct an object in a shared memory between the first software component and a second software component, wherein a trust boundary separates the first software component from the second software component. The first software component has a higher trust level than the second software component. The method determines, by the thread, that a local allocator for the thread is not present in a private memory, wherein the local allocator maps to physical memory and instructs, by the thread based on determining that the local allocator is not present in the private memory, the local allocator to construct the object in the shared memory.