Dependency-based container deployment

US9959104B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9959104-B2
Application numberUS-201615142493-A
CountryUS
Kind codeB2
Filing dateApr 29, 2016
Priority dateAug 18, 2015
Publication dateMay 1, 2018
Grant dateMay 1, 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-implemented method comprising: obtaining first information indicating a set of target libraries utilized by a target container to be deployed; determining 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; obtaining second information indicating a set of libraries that have been loaded for the at least one container deployed on the plurality of candidate hosts; determining 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; selecting 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: deploying the first container to the first host; deploying 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 deploying a bridge component operable to communicate data between the first container and the second container. 2. The computer-implemented method of claim 1 , wherein obtaining second information includes: analyzing 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-implemented method of claim 1 , wherein determining the cost of deploying the target container includes, for a given candidate host from among the plurality of candidate hosts: determining, 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 determining 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-implemented method of claim 3 , wherein: determining 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 determining the cost of deploying the target container on the given candidate host is further based, at least in part, on the cost of loading libraries to the given candidate host. 5. The computer-implemented method of claim 4 , wherein determining the cost of loading the set of target libraries utilized by the target container to the given candidate host further comprising: determining that a cost associated with each library of the set of libraries utilized by the target container is similar; in response to determining the cost associated with each library of the set of libraries utilized by the target container is similar within a threshold, determining a value for the difference between a number libraries utilized by the target container and a number of libraries utilized by the target container that have matching libraries on the given candidate host; and calculating 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 a target library utilized by the target container, and the determined value for the difference between a number of libraries with set of libraries utilized by the target container and another number of libraries utilized by the target container that have matching libraries on the given candidate host. 6. The computer-implemented method of claim 4 , wherein determining the cost of loading the set of target libraries utilized by the target container to the given candidate host further comprising: determining 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; identifying the cost associated with each library of the set of libraries utilized by the target container; and calculating 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. 7. The computer-implemented method of claim 4 , wherein determining the cost of deploying the target container to the given candidate host is further based on one or more workload metrics associated with the given candidate host. 8. The computer-implemented method 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. 9. The computer-implemented method of claim 1 , further comprising: obtaining third information indicating a set of workloads of the plurality of candidate hosts; and wherein selecting the target host is further based, at least in part, on the third information such that a workload from the set of workloads corresponding to the target host is below a predetermined threshold. 10. The computer-implemented method of claim 9 : 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. 11. The method of claim 10 , wherein the one or more metrics associated with the one or more workloads of the candidate host are selected from the group consisting of processor usage, memory usage, and network bandwidth usage. 12. The method of claim 10 , further comprising: comparing the one or more metrics and the respective threshold values of the one or more metrics corresponding to the one or more workloads of the candidate host to determine a workload burden of the candidate host. 13. The computer-implemented method of claim 9 : wherein selecting the target host from among the plurality of candidate hosts is further based, at least in part, on one or more characterizes of the given candidate host; and wherein the on one or more characterizes of the given candidate host are selected from the group comprising performance, network domain, and manufacturer. 14. The computer-implemented method of claim 1 , further comprising: determining a cost of deploying a second container on the plurality of candidate hosts; and wherein: the target container is a first container; and selecting the target host includes 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.

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 US9959104B2 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 01 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).