Native Code Isolation Using Tenant-Specific Execution Processes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing platforms struggle to securely execute computer code with native code portions in intra-process execution environments without incurring high runtime overhead or breaking isolation between different tenants.
Innovation Solution
Implement a method where computer code is executed in a tenant-specific process for native code portions and a global process for non-native code, ensuring isolation through tenant-specific and global processes configured to handle different execution environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If code is executed in a global process without native code support, then resource overhead and cost per tenant are reduced, but secure execution of native code portions cannot be achieved
Solution Approach 1:
The execution environment is segmented into two distinct process types: global processes for executing code without native portions, and tenant-specific processes for executing code with native portions. This segmentation allows the system to minimize resource overhead by using lightweight global processes for most workloads while providing secure native code execution capabilities only when needed, thus resolving the contradiction between resource efficiency and secure native code execution.
2Reliability
If virtual machine based isolation is used, then secure execution of third-party code is achieved, but runtime overhead and complexity increase
Solution Approach 1:
Instead of applying uniform virtual machine isolation to all code executions, the system applies different isolation mechanisms locally: using lightweight intra-process isolation with private address spaces for code without native portions, and tenant-specific processes for code requiring native execution. This local differentiation reduces overall system complexity and runtime overhead while maintaining security where needed.
3Loss of energy
If intra-process isolation is used for all code, then runtime overhead is minimized, but native code portions cannot break isolation boundaries
Solution Approach 1:
The system dynamically selects the appropriate execution environment based on the code characteristics: using lightweight intra-process isolation for pure managed code to minimize overhead, and transitioning to tenant-specific processes when native code portions are detected. This dynamic adaptation allows the system to maintain low runtime overhead for most workloads while providing native code execution capability when required.
Data Source
AI summary
Example embodiments describe a computer-implemented method, comprising: i) receiving a request to execute a computer code for a tenant in an intra-process execution environment; ii) executing the computer code in a tenant-specific process when the computer code comprises a native code portion; ii) otherwise, executing the computer code in a global process or in the tenant-specific process. Wherein the tenant-specific process is configured to only execute computer codes associated with the same tenant in different intra-process execution environments, and the global process is configured to execute computer codes associated with different tenants in different isolated intra-process execution environments.


