Container Snapshot Cloning for Predictable Service Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The deployment of software services within containers in computing environments is bottlenecked by variable and unpredictable startup times, leading to latency and performance issues, as the startup process cannot be accurately predicted or preemptively accounted for.
Innovation Solution
The use of container snapshots that capture the runtime environment of a software service after startup is complete, allowing for the creation of clones that skip the startup process and utilize pre-generated runtime data, and freezing the template container to prevent modification of this data, enabling rapid deployment of additional clones.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If container startup process is executed completely, then software service is in ready state, but deployment time is variable and unpredictable
Solution Approach 1:
The patent executes the container startup process in advance during image build time, so that when the container is deployed, the software service is already in a ready state. This preliminary execution of startup operations eliminates the need for runtime startup, making deployment time predictable and consistent.
Solution Approach 2:
The patent separates the container startup process into two distinct phases: build time (where startup is executed) and runtime (where the container is deployed). This segmentation allows the startup overhead to be incurred during image construction rather than during deployment, resolving the contradiction between ensuring ready state and minimizing deployment time.
2Quantity of substance
If runtime data is shared among container clones, then memory efficiency is improved, but data modification safety is compromised
Solution Approach 1:
The patent merges the read-only runtime data from multiple container clones into a single shared memory region. By combining these identical data sets into one shared resource, memory usage is reduced while the read-only nature of the data ensures integrity is maintained across all clones.
Solution Approach 2:
The patent applies different quality characteristics to different parts of the memory structure: the shared runtime data portion is made read-only to ensure integrity, while separate writable memory regions are allocated to each container clone for their specific runtime modifications. This local differentiation resolves the contradiction between sharing and safety.
3Loss of time
If container startup process is skipped, then deployment time is reduced, but software service may not be in ready state
Solution Approach 1:
The startup process is executed in advance during container image build time, so when the container is deployed without executing startup again, the software service is already configured and ready. This preliminary action ensures readiness is achieved before deployment occurs.
Solution Approach 2:
The patent creates container images that are copies of the ready state, including all runtime data and configuration. When containers are deployed from these images, they inherit the ready state directly without needing to execute the startup process, thus maintaining reliability while reducing deployment time.
Data Source
AI summary
Deployment times for container clones may be reduced by implementing some examples described herein. In one example, a system can receive a container snapshot including runtime data for a software service executed inside a container at a prior point in time. The system can deploy a template container from the container snapshot at least in part by assigning a memory region to the template container and loading the runtime data from container snapshot into the memory region. The system can freeze the template container to prevent modification of the runtime data in the memory region. While the template container is frozen, the system can deploy a container clone using the runtime data in the memory region, such that the container clone includes the software service in at least a substantially ready state by default based on the runtime data.


