Container Runtime Orchestration With Push-Based Lightweight Agents
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container orchestration systems rely on complex software clients that consume resources and are tied to specific orchestration platforms, limiting portability across different runtime environments and increasing management overhead.
Innovation Solution
A container universal runtime descriptor (CURD) defines the desired state of a containerized workload in a standardized format, interpreted by a centralized control plane to generate a state machine definition language (SMDL), allowing a lightweight agent to perform operations as instructed by a workload manager on the control plane.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a thick software client is used on each server to orchestrate containers, then the orchestrator can manage the provisioning and configuration of container runtime environments, but the server resources are consumed and management overhead increases
Solution Approach 1:
The patent extracts the orchestration logic from the thick software client running on each server and relocates it to a centralized control plane. The control plane receives container deployment requests, determines the operations needed to achieve the desired container runtime environment state, and pushes these operations to lightweight agents on the servers. This extraction eliminates the need for complex thick clients on each server while maintaining full orchestration capability.
Solution Approach 2:
The system segments the orchestration functionality into two distinct components: a centralized control plane that handles the complex orchestration logic and determination of operations, and lightweight agents on servers that simply execute the pushed operations. This segmentation separates the heavy computational burden from the edge nodes, reducing server resource consumption and simplifying the on-server software footprint.
2Adaptability or versatility
If orchestrator-specific thick software clients are deployed on each server, then each orchestrator can manage its own container workloads, but portability across different runtime environments is limited
Solution Approach 1:
The patent creates a universal control plane that can receive container deployment requests from multiple different orchestrators (Kubernetes, Nomad, ECS, etc.) and a universal lightweight agent that can execute operations for any orchestrator. The control plane translates orchestrator-specific deployment requests into a common operation format that the lightweight agent can understand and execute, enabling a single agent implementation to serve multiple orchestrators without requiring orchestrator-specific thick clients on each server.
3Productivity
If thick software clients run on each container instance, then the clients can poll for work and execute orchestration locally, but resource consumption and management burden increase
Solution Approach 1:
Instead of having thick software clients on servers that proactively poll the orchestrator for work and execute orchestration locally, the patent inverts the approach: the centralized control plane proactively determines the operations needed and pushes them directly to lightweight agents on the servers. This inversion eliminates the need for continuous polling and local decision-making on servers, significantly reducing their resource consumption while maintaining orchestration execution speed through direct push-based communication.
Data Source
AI summary
Disclosed are systems and methods that offload the work traditionally performed by a thick software client operating on each container instance of a cloud provider network with a thin and generalized agent that can be instructed in a piece-wise manner to perform operations as instructed by a workload manager executing on a control plane that is separate from the container instance. The workload manager, executing on the control plane of a cloud provider network, may precompute a set of operations and order of execution of those operations in the control plane and present those operations in a controlled manner to the agent that executes each operation as instructed. The agent executing on the data plane, rather than polling an orchestrator for work and then establishing the runtime environment based on a received Application Specification, awaits an operation or task that is pushed to the agent from the control plane.


