Decentralized Container Image Distribution via Host-Level Layer Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Centralized container image registries in cloud computing environments face bottlenecks and single points of failure due to high demand for image distribution, leading to congestion and impact on application workload, as hosts rely solely on a central registry for image retrieval.
Innovation Solution
Decentralizing container image distribution by allowing hosts to pull image layers from each other, with each host maintaining its own image registry and using a tracker module to manage layer availability and resource allocation, thereby reducing reliance on a central registry and distributing workload across hosts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a centralized container image registry is used, then image distribution can be managed centrally, but system reliability deteriorates due to single point of failure and bottlenecks
Solution Approach 1:
The patent segments the centralized image registry into multiple distributed image registries located at different hosts. Each host maintains its own image registry, dividing the single point of failure into multiple independent units. This segmentation eliminates the central bottleneck while maintaining manageable distribution through local hosting of images.
Solution Approach 2:
The patent implements copying by having multiple hosts maintain copies of container images in their respective local registries. Instead of relying on a single centralized registry, each host creates and maintains its own copy of images, enabling parallel retrieval and eliminating the single point of failure while distributing the management burden.
2Device complexity
If a centralized container image registry is used, then central control is maintained, but productivity deteriorates due to bottlenecks and congestion
Solution Approach 1:
The patent segments image retrieval operations from the centralized registry by allowing hosts to pull images from multiple local registries simultaneously. This segmentation enables parallel image distribution across different hosts, eliminating the bottleneck at the central registry and significantly improving image distribution speed.
Solution Approach 2:
The patent transitions from a single-dimensional centralized retrieval model to a multi-dimensional distributed model where hosts can retrieve images from multiple sources simultaneously. This dimensional expansion allows parallel processing of image retrieval operations across different hosts, improving overall productivity.
3Device complexity
If hosts rely solely on central registry for image retrieval, then system simplicity is maintained, but loss of time increases due to sequential retrieval
Solution Approach 1:
The patent segments the image retrieval process into parallel operations across multiple hosts, each maintaining its own registry. Hosts can simultaneously pull images from different local registries rather than sequentially accessing a central registry, dramatically reducing image retrieval time while maintaining manageable system complexity through local autonomy.
Solution Approach 2:
The patent enables continuous image retrieval operations by allowing multiple hosts to pull images simultaneously from different local registries. This eliminates the sequential dependency inherent in centralized systems, maintaining continuous productive action across the distributed system and reducing overall retrieval time.
Data Source
AI summary
A container image registry is maintained at each host device in a set of host devices in a container hosting environment. A container image is composed of one or more container image layers such that each container image registry of each host device is configured to be able to store one or more different layers of one or more different container images. The method tracks which container image registry at which host device contains which container image layers. At each host device, one or more container images are obtained for launching one or more application programs. For a given host device, the one or more container images are obtained from one or more of: (i) one or more container image layers stored in its container image registry; and (ii) one or more container image layers stored in the container image registry of another host device.


