Remote Binary Execution via UNIX Domain Sockets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In open-source container-orchestration systems like Kubernetes, the need to install the same binary or utility in multiple containers separately is cumbersome and often impossible to anticipate during the build phase, leading to inefficient resource allocation and communication overhead.
Innovation Solution
Implementing a cross-container binary execution method using UNIX domain sockets for inter-process communication, allowing a binary to be installed once in a shared file system and remotely executed across containers, ensuring resource isolation and transparent execution without encryption or authentication requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the same binary is installed in multiple containers separately, then each container has the binary available locally, but the installation process becomes cumbersome and resource allocation becomes inefficient
Solution Approach 1:
The patent merges the binary installation process by installing the binary once in a shared file system accessible by multiple containers, rather than installing it separately in each container. This is achieved through a unified installation mechanism that makes the binary available across container boundaries while maintaining individual container isolation.
Solution Approach 2:
The shared file system serves as a universal storage location that multiple containers can access simultaneously. The binary installed in the shared file system becomes universally accessible to all containers that need it, eliminating the need for duplicate installations and reducing the quantity of binary copies across the system.
2Adaptability or versatility
If binaries are remotely executed across containers using traditional IPC methods, then containers can share binaries, but communication overhead and latency increase
Solution Approach 1:
The shared file system acts as an intermediary that enables direct binary execution across container boundaries without requiring traditional inter-process communication mechanisms. By placing the binary in a shared location, containers can execute it directly with minimal communication overhead, as the binary is accessed through the shared file system rather than being transmitted or remotely invoked.
3Adaptability or versatility
If containers share a common file system, then binary sharing becomes possible, but resource isolation between containers is compromised
Solution Approach 1:
The patent applies local quality by allowing containers to access the shared file system with restricted permissions. Each container can only access specific directories or files within the shared file system based on its needs, maintaining resource isolation while enabling binary sharing. This is achieved through fine-grained access control mechanisms that preserve container boundaries.
Solution Approach 2:
The shared file system is segmented into distinct accessible regions for each container. Rather than providing full access to the entire shared file system, each container is granted access only to the specific segments or directories it requires, maintaining resource isolation while enabling the adaptability needed for cross-container binary execution.
Data Source
AI summary
The present disclosure involves systems, software, and computer implemented methods for remotely executing binaries in a containerized computing environment using a lightweight inter-process communications protocol (IPC) and UNIX domain sockets. One example method includes establishing, in a shared computing image comprising a plurality of containers, a listening UNIX domain socket, where the listening UNIX domain socket is shared between all containers in the shared computing image. A request to execute a binary in the target container is received at a target container and from a client container using the listening UNIX domain socket. A worker service is generated in the target container. The worker service executes the binary in the target container. A return exit code associated with the executed binary is received and sent to the client container using the UNIX domain socket.


