US12450047B2ActiveUtilityA1

Automatic container image registry selection

58
Assignee: IBMPriority: Apr 28, 2023Filed: Apr 28, 2023Granted: Oct 21, 2025
Est. expiryApr 28, 2043(~16.8 yrs left)· nominal 20-yr term from priority
G06F 11/3419G06F 11/301G06F 2201/815G06F 2201/865G06F 11/3452G06F 11/302G06F 11/3006G06F 8/63
58
PatentIndex Score
0
Cited by
23
References
20
Claims

Abstract

Automatic container image registry selection is provided. A predefined number of top performing container image registries is selected from a top of a sorted list of a plurality of container image registries listed in descending order. A cluster of host nodes where a container is deployed is enabled to pull a same container image corresponding to the container utilizing different predefined pulling percentages from the predefined number of top performing container image registries. The cluster of host nodes utilizes a different predefined pulling percentage to pull the same container image from each respective top performing container image registry. A current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries is recorded over a defined time period.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method for automatic container image registry selection, the computer-implemented method comprising:
 selecting, by a computer, a predefined number of top performing container image registries from a top of a sorted list of a plurality of container image registries listed in descending order; 
 enabling, by the computer, a cluster of host nodes where a container is deployed to pull a same container image corresponding to the container utilizing different predefined pulling percentages from the predefined number of top performing container image registries, the cluster of host nodes utilizes a different predefined pulling percentage to pull the same container image from each respective top performing container image registry; and 
 recording, by the computer, a current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries over a defined time period. 
 
     
     
       2. The computer-implemented method of  claim 1 , further comprising:
 selecting, by the computer, a top performing container image registry for the cluster of host nodes that allows the cluster of host nodes to have a fastest current real time average pulling speed based on recorded current real time average pulling speeds of the cluster of host nodes for the same container image from each of the predefined number of top performing container image registries over the defined time period. 
 
     
     
       3. The computer-implemented method of  claim 1 , further comprising:
 generating, by the computer, the sorted list of the plurality of container image registries that are listed in descending order from a fastest performing container image registry at a top to a slowest performing container image registry at a bottom of the sorted list based on historical performance data corresponding to respective container image registries in the sorted list; 
 identifying, by the computer, the cluster of host nodes where a scheduler is deploying the container that corresponds to the same container image included in each of the plurality of container image registries; 
 determining, by the computer, whether the cluster of host nodes has current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period; and 
 selecting, by the computer, the predefined number of top performing container image registries from the top of the sorted list of the plurality of container image registries in response to the computer determining that the cluster of host nodes does not have current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period. 
 
     
     
       4. The computer-implemented method of  claim 3 , further comprising:
 generating, by the computer, a new sorted list of the plurality of container image registries from a fastest performing container image registry at the top to the slowest performing container image registry at the bottom of the new sorted list based on historical real time average pulling speeds of the cluster of host nodes where the container is deployed from the plurality of container image registries, the current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period, a historical real time average pulling speed weight, and a current real time average pulling speed weight in response to the computer determining that the cluster of host nodes does have the current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period. 
 
     
     
       5. The computer-implemented method of  claim 4 , further comprising:
 selecting, by the computer, the predefined number of top performing container image registries from the top of the new sorted list of the plurality of container image registries; 
 enabling, by the computer, the cluster of host nodes where the container is deployed to pull the same container image corresponding to the container utilizing the different predefined pulling percentages from the predefined number of top performing container image registries selected from the top of the new sorted list; and 
 recording, by the computer, the current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries selected from the top of the new sorted list over the defined time period. 
 
     
     
       6. The computer-implemented method of  claim 5 , further comprising:
 generating, by the computer, a sorted list of the predefined number of top performing container image registries from the fastest performing container image registry at the top to the slowest performing container image registry at the bottom of the sorted list based on the current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries over the defined time period; and 
 performing, by the computer, a comparison between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries. 
 
     
     
       7. The computer-implemented method of  claim 6 , further comprising:
 determining, by the computer, whether an order of container image registries matches between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries based on the comparison; 
 identifying, by the computer, a change in the order of container image registries between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries in response to the computer determining that the order of container image registries does not match between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries based on the comparison; and 
 adjusting, by the computer, at least one of the historical real time average pulling speed weight or the current real time average pulling speed weight corresponding to the cluster of host nodes based on the change in the order of container image registries between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries. 
 
     
     
       8. A computer system for automatic container image registry selection, the computer system comprising:
 a communication fabric; 
 a storage device connected to the communication fabric, wherein the storage device stores program instructions; and 
 a processor connected to the communication fabric, wherein the processor executes the program instructions to:
 select a predefined number of top performing container image registries from a top of a sorted list of a plurality of container image registries listed in descending order; 
 enable a cluster of host nodes where a container is deployed to pull a same container image corresponding to the container utilizing different predefined pulling percentages from the predefined number of top performing container image registries, the cluster of host nodes utilizes a different predefined pulling percentage to pull the same container image from each respective top performing container image registry; and 
 record a current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries over a defined time period. 
 
 
     
     
       9. The computer system of  claim 8 , wherein the processor further executes the program instructions to:
 select a top performing container image registry for the cluster of host nodes that allows the cluster of host nodes to have a fastest current real time average pulling speed based on recorded current real time average pulling speeds of the cluster of host nodes for the same container image from each of the predefined number of top performing container image registries over the defined time period. 
 
     
     
       10. The computer system of  claim 8 , wherein the processor further executes the program instructions to:
 generate the sorted list of the plurality of container image registries that are listed in descending order from a fastest performing container image registry at a top to a slowest performing container image registry at a bottom of the sorted list based on historical performance data corresponding to respective container image registries in the sorted list; 
 identify the cluster of host nodes where a scheduler is deploying the container that corresponds to the same container image included in each of the plurality of container image registries; 
 determine whether the cluster of host nodes has current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period; and 
 select the predefined number of top performing container image registries from the top of the sorted list of the plurality of container image registries in response to determining that the cluster of host nodes does not have current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period. 
 
     
     
       11. The computer system of  claim 10 , wherein the processor further executes the program instructions to:
 generate a new sorted list of the plurality of container image registries from a fastest performing container image registry at the top to the slowest performing container image registry at the bottom of the new sorted list based on historical real time average pulling speeds of the cluster of host nodes where the container is deployed from the plurality of container image registries, the current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period, a historical real time average pulling speed weight, and a current real time average pulling speed weight in response to determining that the cluster of host nodes does have the current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period. 
 
     
     
       12. The computer system of  claim 11 , wherein the processor further executes the program instructions to:
 select the predefined number of top performing container image registries from the top of the new sorted list of the plurality of container image registries; 
 enable the cluster of host nodes where the container is deployed to pull the same container image corresponding to the container utilizing the different predefined pulling percentages from the predefined number of top performing container image registries selected from the top of the new sorted list; and 
 record the current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries selected from the top of the new sorted list over the defined time period. 
 
     
     
       13. The computer system of  claim 12 , wherein the processor further executes the program instructions to:
 generate a sorted list of the predefined number of top performing container image registries from the fastest performing container image registry at the top to the slowest performing container image registry at the bottom of the sorted list based on the current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries over the defined time period; and 
 perform a comparison between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries. 
 
     
     
       14. A computer program product for automatic container image registry selection, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:
 select a predefined number of top performing container image registries from a top of a sorted list of a plurality of container image registries listed in descending order; 
 enable a cluster of host nodes where a container is deployed to pull a same container image corresponding to the container utilizing different predefined pulling percentages from the predefined number of top performing container image registries, the cluster of host nodes utilizes a different predefined pulling percentage to pull the same container image from each respective top performing container image registry; and 
 record a current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries over a defined time period. 
 
     
     
       15. The computer program product of  claim 14 , wherein the program instructions further cause the computer to:
 select a top performing container image registry for the cluster of host nodes that allows the cluster of host nodes to have a fastest current real time average pulling speed based on recorded current real time average pulling speeds of the cluster of host nodes for the same container image from each of the predefined number of top performing container image registries over the defined time period. 
 
     
     
       16. The computer program product of  claim 14 , wherein the program instructions further cause the computer to:
 generate the sorted list of the plurality of container image registries that are listed in descending order from a fastest performing container image registry at a top to a slowest performing container image registry at a bottom of the sorted list based on historical performance data corresponding to respective container image registries in the sorted list; 
 identify the cluster of host nodes where a scheduler is deploying the container that corresponds to the same container image included in each of the plurality of container image registries; 
 determine whether the cluster of host nodes has current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period; and 
 select the predefined number of top performing container image registries from the top of the sorted list of the plurality of container image registries in response to determining that the cluster of host nodes does not have current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period. 
 
     
     
       17. The computer program product of  claim 16 , wherein the program instructions further cause the computer to:
 generate a new sorted list of the plurality of container image registries from a fastest performing container image registry at the top to the slowest performing container image registry at the bottom of the new sorted list based on historical real time average pulling speeds of the cluster of host nodes where the container is deployed from the plurality of container image registries, the current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period, a historical real time average pulling speed weight, and a current real time average pulling speed weight in response to determining that the cluster of host nodes does have the current real time average pulling speeds for the same container image corresponding to the container from the plurality of container image registries over the defined time period. 
 
     
     
       18. The computer program product of  claim 17 , wherein the program instructions further cause the computer to:
 select the predefined number of top performing container image registries from the top of the new sorted list of the plurality of container image registries; 
 enable the cluster of host nodes where the container is deployed to pull the same container image corresponding to the container utilizing the different predefined pulling percentages from the predefined number of top performing container image registries selected from the top of the new sorted list; and 
 record the current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries selected from the top of the new sorted list over the defined time period. 
 
     
     
       19. The computer program product of  claim 18 , wherein the program instructions further cause the computer to:
 generate a sorted list of the predefined number of top performing container image registries from the fastest performing container image registry at the top to the slowest performing container image registry at the bottom of the sorted list based on the current real time average pulling speed of the cluster of host nodes for the same container image from each respective top performing container image registry of the predefined number of top performing container image registries over the defined time period; and 
 perform a comparison between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries. 
 
     
     
       20. The computer program product of  claim 19 , wherein the program instructions further cause the computer to:
 determine whether an order of container image registries matches between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries based on the comparison; 
 identify a change in the order of container image registries between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries in response to determining that the order of container image registries does not match between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries based on the comparison; and 
 adjust at least one of the historical real time average pulling speed weight or the current real time average pulling speed weight corresponding to the cluster of host nodes based on the change in the order of container image registries between the new sorted list of the plurality of container image registries and the sorted list of the predefined number of top performing container image registries.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.