Taskless Containers with Arbiter for Multi-Tenant Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Container virtualization technologies face challenges in isolating users within a multitenant architecture, as they cannot be switched within a single process without significant resource overhead and security risks.
Innovation Solution
Implementing taskless Containers with an arbiter component that controls permissions to switch between Containers, using an interpreter Virtual Machine to manage and switch between taskless Containers based on user requests, ensuring secure and efficient isolation without requiring super-user rights.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional Containers are used to isolate users in a multi-tenant architecture, then user isolation is improved, but the system cannot switch Containers within a single process without significant resource overhead and security risks
Solution Approach 1:
The patent implements dynamic Container switching within a single process by introducing an arbiter component that controls permission transitions. The system allows a process to switch between Containers based on execution context (trusted vs. untrusted), enabling flexible isolation without requiring process recreation. This dynamic switching capability resolves the contradiction by making the isolation mechanism adaptable to different operational scenarios.
Solution Approach 2:
The arbiter component serves as an intermediary between the process and multiple Containers. It mediates the switching process by verifying execution contexts and granting permission to switch only when appropriate. This intermediary layer enables secure Container switching within a single process while maintaining isolation guarantees, resolving the contradiction between reliability and adaptability.
2Reliability
If conventional Containers are created for each user to ensure isolation, then security is improved, but resource consumption increases due to the need to maintain multiple active Container processes
Solution Approach 1:
The patent extracts the essential isolation mechanism (Container namespaces) from the full Container process structure. Taskless Containers provide the isolation boundaries without requiring active processes, separating the security function from the computational overhead. This allows the system to maintain multiple isolated environments with minimal resource consumption, resolving the contradiction between security and resource usage.
Solution Approach 2:
The system uses taskless Containers that can be quickly activated and deactivated as needed, rather than maintaining permanent active processes for each user. These lightweight isolation structures can be created and destroyed efficiently, providing security when needed without the continuous resource burden of active Container processes, thus resolving the security-resource consumption contradiction.
3Quantity of substance
If access rights are used to restrict file system access for users, then resource protection is improved, but security is weakened because users can still access files through errors or vulnerabilities in access right assignments
Solution Approach 1:
The patent adds a new dimension of isolation by implementing Container namespaces that operate at the file system level. This creates a hierarchical structure where Container-level isolation (namespace dimension) supplements traditional access rights (permission dimension). The namespace boundaries prevent users from seeing or accessing files outside their designated Container, providing defense-in-depth that addresses vulnerabilities in access right management while maintaining file access control.
Data Source
AI summary
A system for managing Containers, including a hardware node running an OS; a multi-tenant application on the node; and a plurality of Containers under the OS. A process of the multi-tenant application uses only one Container at a time. Remaining Containers available to the process are taskless Containers. An arbiter controls permissions for the process to switch from one Container to another Container. The arbiter defines trusted and untrusted execution contexts. Code of the process executing in the untrusted context is not permitted to switch Containers, and the code of the process executing in the trusted context is permitted to switch Containers. The arbiter detects attempts to switch Containers, and prevents them when executing untrusted code. Upon a request to the multi-tenant application, the arbiter switches the process that will process the user request to one of the taskless Containers and executes the request in the untrusted context.


