Dependency-based container deployment

US9965261B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9965261-B2
Application numberUS-201514828564-A
CountryUS
Kind codeB2
Filing dateAug 18, 2015
Priority dateAug 18, 2015
Publication dateMay 8, 2018
Grant dateMay 8, 2018

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.

Embodiments of the present invention relate to a method, device and computer program product for container deployment. By comparing the target libraries required by a target container to be deployed and the libraries that have been loaded on the candidate hosts, the costs of deploying the target container on the candidate hosts can be estimated. Then a target host is selected from among the plurality of candidate hosts based on the determined costs.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system comprising: one or more processors; and one or more computer readable storage medium; wherein: program instructions stored on the computer readable storage medium for reading and execution by at least one of the one or more processors, the program instructions further comprising: program instructions programmed to obtain first information indicating a set of target libraries utilized by a target container to be deployed; program instructions programmed to determine a plurality of candidate hosts, wherein the plurality of candidate hosts: (i) utilize the same operating system as the target container to be deployed, and (ii) include at least one deployed container that utilizes at least one library in common with the set of libraries utilized by the target container to be deployed; program instructions programmed to obtain second information indicating a set of libraries that have been loaded for the at least one container deployed on the candidate host of the plurality of candidate hosts; program instructions programmed to determine a cost of deploying the target container on the plurality of candidate hosts based, at least in part, on the first information and the second information; program instructions programmed to select a target host from the plurality of candidate hosts based on the cost for deploying the target container; wherein the target container is a first container; and the target host is a first host selected from among the plurality of candidate hosts; and further comprising: program instructions programmed to deploy the first container to the first host; program instructions programmed to deploy a second container to a second host selected from the plurality of candidate hosts, the second container being associated with the first container, the second host being different from the first host; and program instructions programmed to deploy a bridge component operable to communicate data between the first container and the second container. 2. The computer system of claim 1 , wherein the program instructions programmed to obtain second information includes: program instructions programmed to analyze a construction history of a set of templates used to deploy the at least one container on the plurality of candidate hosts. 3. The computer system of claim 1 , wherein the program instructions programmed to determine the cost of deploying the target container includes, for a given candidate host from among the plurality of candidate hosts: program instructions programmed to determine, based, at least in part, on the first information and the second information, a degree of matching between the set of target libraries utilized by the target container and a set of libraries loaded on the given candidate host; and program instructions programmed to determine the cost of deploying the target container on the given candidate host based, at least in part, on the degree of matching between the set of target libraries utilized by the target container and the set of libraries loaded on the given candidate host. 4. The computer system of claim 3 , wherein: the program instructions programmed to determine the cost of deploying the target container further includes determining a cost of loading the set of target libraries utilized by the target container to the given candidate host; and the program instructions programmed to determine the cost of deploying the target container on the given candidate host is further based, at least in part, on the cost of loading the set of target libraries to the given candidate host. 5. The computer system of claim 4 , wherein determining a cost of loading the set of target libraries utilized by the target container to the given candidate host further comprising: program instructions programmed to determine that a cost associated with at least one library of the set of libraries utilized by the target container differs from another cost associated with another library utilized by the target container by more than a threshold; program instructions programmed to identify the cost associated with each library of the set of libraries utilized by the target container; and program instructions programmed to calculate the cost to load one or more target libraries of the set of target libraries utilized by the target container on the given candidate host, is based at least in part on, a cost associated with each target library utilized by the target container that is not already loaded on the given candidate host. 6. The computer system of claim 3 , wherein a library loaded to the given candidate host matches a target library utilized by the target container, if the library loaded to the given candidate host is functionally equal to the target library utilized by the target container. 7. The computer system of claim 1 , further comprising: program instructions programmed to obtain third information indicating a set of workloads of the plurality of candidate hosts; and wherein the program instructions programmed to select the target host further based, at least in part, on the third information such that a workload from the set of workloads corresponding to the selected target host is below a predetermined threshold. 8. The computer system of claim 7 : wherein the third information associated a given candidate host comprises: one or more workloads respectively associated with the candidate host and one or more metrics corresponding to the one or more workloads respectively associated with the candidate host; and wherein the one or more metrics associated with the workload of the candidate host are associated with respective threshold values. 9. The computer system of claim 1 , further comprising: program instructions programmed to determine a cost of deploying a second container on the plurality of candidate hosts; and wherein: the target container is a first container; and the program instructions programmed to select the target host include selecting the target host based, at least in part, on the cost of deploying the first container and the cost of deploying the second container such that a total cost of deploying the first container and the second container is below a predetermined threshold. 10. A computer program product comprising program instructions stored on a computer readable storage medium for reading and execution by at least one of one or more processors, the program instructions further comprising: program instructions programmed to obtain first information indicating a set of target libraries utilized by a target container to be deployed; program instructions programmed to determine a plurality of candidate hosts, wherein the plurality of candidate hosts: (i) utilize the same operating system as the target container to be deployed, and (ii) include at least one deployed container that utilizes at least one library in common with the set of libraries utilized by the target container to be deployed; program instructions programmed to obtain second information indicating a set of libraries that have been loaded for the at least one container deployed on the candidate host of the plurality of candidate hosts; program instructions programmed to determine a cost of deploying the target container on the plurality of candidate hosts based, at least in part, on the first information and the second information; program instructions programmed to select a target host from the plurality of candidate hosts based on the cost for deploying the target container; wherein the target container is a first container; and the target host is a first host selected from among the plurality of candidate hosts; and fu

Assignees

Inventors

Classifications

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • G06F8/60Primary

    Software deployment · CPC title

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

  • Hypervisor-specific management and integration aspects · 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 US9965261B2 cover?
Embodiments of the present invention relate to a method, device and computer program product for container deployment. By comparing the target libraries required by a target container to be deployed and the libraries that have been loaded on the candidate hosts, the costs of deploying the target container on the candidate hosts can be estimated. Then a target host is selected from among the plu…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 08 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).