Docker Image Layer Distribution via Edge Node Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In edge and hybrid cloud scenarios, the existing Docker image deployment methods face challenges with large network transmission overhead and long deployment times due to repeated pulling of identical image layers by different edge nodes, leading to inefficient network bandwidth usage and prolonged deployment processes.
Innovation Solution
Implementing a method where a Docker repository server detects common layers among images requested by multiple nodes, establishes a transmission path to distribute the common layer efficiently, and allows nodes to acquire the common layer from other nodes, reducing redundant transmissions and optimizing the deployment process through a pipeline stage followed by independent retrieval of remaining layers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If different edge nodes pull images independently from the repository server, then each node can obtain required image layers, but network transmission overhead increases and deployment time extends due to repeated transmission of common layers
Solution Approach 1:
The patent merges the image layer transmission process by having multiple edge nodes share common image layers through peer-to-peer transmission. Instead of each node independently pulling from the repository server, nodes that have already downloaded common layers transmit them to other nodes, combining the transmission effort and eliminating redundancy.
Solution Approach 2:
The patent introduces an intermediary mechanism where edge nodes act as intermediaries for each other. When a node needs a common layer, it can obtain it from another node that already has it, rather than both nodes independently fetching from the repository server. This intermediary transmission through edge nodes reduces overall network overhead.
2Reliability
If different edge nodes pull images independently from the repository server, then each node can obtain required image layers, but total deployment time increases due to repeated pulling of common layers
Solution Approach 1:
The patent applies preliminary action by having edge nodes download and cache common image layers in advance. When other nodes need these layers, they can obtain them quickly from the cached sources rather than waiting for repeated downloads from the repository server, significantly reducing total deployment time.
Solution Approach 2:
The patent ensures continuity of useful action by maintaining a persistent network connection among edge nodes, allowing them to continuously share and transmit image layers. This continuous peer-to-peer transmission mechanism keeps the deployment process flowing without interruptions for repeated repository server connections.
3Reliability
If the repository server transmits common layers to multiple edge nodes separately, then each node receives complete images, but network bandwidth usage becomes inefficient
Solution Approach 1:
The patent uses copying by allowing edge nodes to create and share copies of common image layers among themselves. Instead of the repository server transmitting the same data multiple times over the network, nodes copy the layers from their local storage and distribute them peer-to-peer, dramatically improving bandwidth efficiency.
Data Source
AI summary
A method includes: receiving, by a repository server, requests for pulling images from a plurality of nodes, wherein an image requested to be pulled by a first node is a first image; detecting, by the repository server, that layers of a plurality of images requested to be pulled by the plurality of nodes all include a common layer; generating, by the repository server, a transmission path of data of the common layer, wherein the transmission path includes that the repository server transmits the data of the common layer to a second node, and the second node distributes the data of the common layer to other nodes; sending, by the repository server, setting information to the first node according to the transmission path; sending, by the repository server, the data of the common layer to the second node; and acquiring, by the first node, the data of the common layer from a third node according to the setting information.


