Distributed container image repository service

US10922118B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10922118-B2
Application numberUS-201815977597-A
CountryUS
Kind codeB2
Filing dateMay 11, 2018
Priority dateMay 11, 2018
Publication dateFeb 16, 2021
Grant dateFeb 16, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: obtaining, by a container host node, container image configuration data that defines a specified container image configuration, wherein the container host node includes an associated container image repository for storing container images; multicasting, by the container host node, a request for one or more image of first through Nth specified container images to a set of container host nodes; receiving, by the container host node, at least one container image from at least one container host node of the set of container host nodes in response to the multicasting; building, by the container host node, a specified container image according to the specified container image configuration using the at least one container image received by the receiving; and running, by the container host node, the specified container image built by the building to define a runtime container.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for use with a plurality of peer container host nodes, the plurality of peer container host nodes including a first container host node and a second container host node and defining a set of peer container host nodes of the first container host node, the method comprising: receiving, by a first container host node, container image configuration data, the container image configuration data referencing a plurality of images; determining, by the first container host node, that a first image of the plurality of images is not available at the first container host node; responsive to the determination that the first image of the plurality of images is not available at the first container host node, multicasting, by the first container host node, to the set of peer container host nodes of the first container host node, a request for the first image; responsive to the multicasting of the request, receiving, by the first container host node, from a second container host node, the first image; building, by the first container host node, a container image according to the container image configuration data, the building including using the first image received from the first container host node; and instantiating, by the first container host node, a container from the container image; wherein the method includes hashing container images downloaded from a container image repository to (a) the first container host node and (b) container host nodes of the set of peer container host nodes to provide image hash table data that associates container image IDs and container image hash IDs to timestamps that specify a time of performing the hashing, wherein the method includes sending, by the first container host node, an image pull request to pull a certain image from a certain container host node of the set of peer container host nodes, wherein the method includes determining the certain container host node using the image hash table data, the image hash table data including a timestamp that indicates that the certain container host node stores a most recent version of the certain image accessible from the set of peer container host nodes. 2. The method of claim 1 , wherein container image repositories of the second container host node and a third container host node store a certain image of the plurality of images, wherein the second container host node has a first level of physical association to the first container host node, and the third container host node has a second level of physical association to the first container host node, the first level being greater than the second level, wherein the method includes examining data indicating the first level of physical association of the second container host node to the first container host node and the second level of physical association of the third container host node to the first container host node, wherein the method includes determining that the second container host node is the container host node from which to request the certain image, wherein the determining is in dependence on the examining and wherein the method includes sending, by the first container host node, a container image pull request to the second container host node requesting pulling of the certain image from the second container host node to the first container host node. 3. The method of claim 1 , wherein the method includes determining a latency score for the container host nodes of the set of peer container host nodes, wherein the determining a latency score includes using a function based on multiple factors, the multiple factors including a CPU utilization factor, a memory utilization factor, an I/O utilization factor, and a historical factor based on container image download times from the container host nodes of the set of container host nodes. 4. The method of claim 1 , wherein the container image configuration data is defined by a text based container image build file that encodes a sequence of commands, and wherein the receiving, by the first container host node, at least one container image from at least one container host node of the set of peer container host nodes in response to the multicasting includes simultaneously receiving in parallel (a) a first image of the plurality of images from a first container host node of the set of peer container host nodes, and (b) a second image of the plurality of images from a second container host node of the set of peer container host nodes. 5. The method of claim 1 , wherein the method includes the first container host node obtaining performance metrics from the set of peer container host nodes of the first container host node, predicting based on an examining of the performance metrics that a certain container host node of the set of peer container host nodes satisfies one or more performance criterion and requesting a container image pull from the certain container host node of the set of peer container host nodes. 6. A method comprising: obtaining, by a container host node, container image configuration data that defines a specified container image configuration, the specified container image configuration referencing first through Nth container images that define layers of the specified container image configuration, wherein the container host node includes an associated container image repository for storing container images; multicasting, by the container host node, a request for one or more image of the first through Nth container images to a set of container host nodes, wherein each container host node of the set of container host nodes is a peer container host node of the container host node, wherein each container host node of the set of container host nodes is configured to launch containers and wherein each container host node of the set of container host nodes has a container image repository associated thereto for storing container images; receiving, by the container host node, at least one container image from at least one container host node of the set of container host nodes in response to the multicasting; building, by the container host node, a specified container image according to the specified container image configuration using the at least one container image received by the receiving; and running, by the container host node, the specified container image built by the building to define a runtime container; wherein the method includes hashing container images downloaded from a container image repository to (a) the container host node and (b) container host nodes of the set of container host nodes to provide image hash table data that associates container image IDs and container image hash IDs to timestamps that specify a time of performing the hashing, wherein the method includes sending, by the container host node, an image pull request to pull a certain image of the at least one container image to a certain container host node of the set of container host nodes, wherein the method includes determining the certain container host node using the image hash table data, the image hash table data including a timestamp that indicates that the certain container host node stores a most recent version of the certain image accessible from the set of container host nodes. 7. The method of claim 6 , wherein method includes sending a request for a specified image of the first through Nth container images to a central container image repository, wherein the method includes performing the sending in response to a determining subsequent to the multicasting, that there are remaining referenced container images of the first through Nth container images to be obtained, wherein the set of container host nodes are located in a first data center, and wherein the central container image

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • Creating, deleting, cloning virtual machine instances · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • Event management; Broadcasting; Multicasting; Notifications · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10922118B2 cover?
Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: obtaining, by a container host node, container image configuration data that defines a specified container image configuration, wherein the container host node includes an associated container image repository for storing container images; multicasting, by …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 16 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).