Computer-implemented method, system and computer program product for deploying an application on a computing resource

US9639338B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9639338-B2
Application numberUS-201314650577-A
CountryUS
Kind codeB2
Filing dateNov 8, 2013
Priority dateDec 11, 2012
Publication dateMay 2, 2017
Grant dateMay 2, 2017

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.

A computer-implemented method for deploying an application on a computing resource includes: defining sets of groups of tenants for categorizing the plurality of tenants; assigning each tenant to at least one group of tenants; providing a deployment model for each combination of an application component of the plurality of application components and a tenant; determining constraint information for each combination of application component and tenant depending on the deployment model, wherein the deployment model is configured to enable each tenant to include and/or exclude entire groups of tenants from sharing one or more application components and/or infrastructure of the computing resource; determining a valid deployment configuration of the application depending on the constraint information associated with each application component; and deploying the application on the computing resource accordingly.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for deploying an application on a computing resource, wherein the application is provided remotely to a plurality of tenants of users, wherein the application comprises a plurality of application components, the computer-implemented method comprising: defining groups and sub-groups of tenants for categorizing the plurality of tenants, including defining a first group and a first plurality of sub-groups associated with the first group of tenants; assigning each tenant of the plurality of tenants to at least one group and/or at least one sub-group; providing a deployment model for each combination of: an application component of the plurality of application components and a tenant of the plurality of tenants; determining constraint information for each combination of application component and tenant depending on the deployment model, wherein the deployment model is configured to enable each tenant of the plurality of tenants to include and/or exclude entire groups and sub-groups of tenants from sharing one or more application components and/or infrastructure of the computing resource, wherein including or excluding the first group causes the first plurality of sub-groups associated with the first group of tenants to be included or excluded, respectively, wherein a hierarchical relationship between the plurality of application components corresponds to a directed graph without cycles, and wherein a further application component is associated with a higher level application component; determining a valid deployment configuration of the application on the computing resource depending on the constraint information associated with each application component of the plurality of application components; and deploying the application on the computing resource depending on the determined valid deployment configuration; wherein the valid deployment configuration is determined via an optimization method; wherein in a first step of the optimization method at least one initial deployment unit of a plurality of initial deployment units is generated per application component of the plurality of application components, the plurality of initial deployment units being associated with an initial deployment level of a sequence of deployment levels; wherein in a second step of the optimization method a plurality of further deployment units associated with a further deployment level is generated, the plurality of further deployment units being generated depending on a plurality of preceding deployment units associated with a preceding deployment level in the sequence of deployment levels; wherein the second step of the optimization method comprises determining a minimum number of further deployment units for deploying the plurality of preceding deployment units on the further deployment level depending on the constraint information. 2. The computer-implemented method according to claim 1 , wherein determining constraint information for each combination of application component and tenant comprises: deriving the constraint information associated with the application component from further constraint information associated with the further application component of the plurality of application components; or receiving the constraint information from the tenant of the plurality of tenants which is associated to the application component. 3. The computer-implemented method according to claim 1 , wherein the valid deployment configuration of the application is optimized by minimizing a total number of deployment units associated with all deployment levels. 4. The computer-implemented method according to claim 1 , further comprising: enabling each tenant of the plurality of tenants to include and/or exclude a module of an individual application component of the plurality of application components, wherein the module is a cryptographic module for encryption and/or decryption of data associated with the individual application component. 5. The computer-implemented method according to claim 1 , further comprising: enabling each tenant of the plurality of tenants to include and/or exclude the application component of the plurality of application components. 6. The computer-implemented method according to claim 1 , wherein determining a valid deployment configuration includes generating a number of instances of each application component of the plurality of application components depending on the constraint information. 7. The computer-implemented method according to claim 6 , wherein the computing resource includes a plurality of computing machines in a computing environment, and wherein deploying the application on the computing resource includes running at least one instance of the number of instances of each application component of the plurality of application components on at least one computing machine of the plurality of computing machines. 8. The computer-implemented method according to claim 7 , wherein determining a valid deployment configuration includes assigning each instance of the number of instances of the at least one application component to exactly one computing machine of the plurality of computing machines depending on the constraint information. 9. The computer-implemented method according to claim 7 , wherein determining a valid deployment configuration includes assigning each tenant to exactly one instance of the number of instances depending on the constraint information. 10. The computer-implemented method according to claim 1 , wherein providing a deployment model for each combination of tenant and application component includes: providing the tenant with a set of deployment models; enabling the tenant to assign exactly one deployment model of the set of deployment models to each application component of the plurality of application components; and enabling the tenant, for each application component of the plurality of application components, to determine constraint information for the assigned deployment model. 11. The computer-implemented method according to claim 10 , wherein enabling the tenant to assign exactly one deployment model to each application component of the plurality of application components includes assigning one of a private deployment model, a public deployment model, a white deployment model, a black deployment model and/or a gray deployment model; wherein the private deployment model is configured to disable the sharing of the application component with all other tenants; wherein the public deployment model is configured to enable the sharing of the application component with all other tenants; wherein the white deployment model is configured to enable the sharing of the application component with all other tenants of a whitelist specified by the tenant; wherein the black deployment model is configured to disable the sharing of the application component with all other tenants of a blacklist specified by the tenant; wherein the gray deployment model is configured to enable or disable the sharing of the application component with another tenant as specified by the tenant. 12. The computer-implemented method according to claim 1 , wherein determining the valid deployment configuration includes, for each tenant of the plurality of tenants, specifying a required resource for each application component of the plurality of application components, wherein the required resource includes size of memory and/or number of processors. 13. The computer-implemented method according to claim 1 , wherein determining the valid deployment configuration includes specifying available co

Assignees

Inventors

Classifications

  • G06F8/60Primary

    Software deployment · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · 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 US9639338B2 cover?
A computer-implemented method for deploying an application on a computing resource includes: defining sets of groups of tenants for categorizing the plurality of tenants; assigning each tenant to at least one group of tenants; providing a deployment model for each combination of an application component of the plurality of application components and a tenant; determining constraint information …
Who is the assignee on this patent?
Deutsche Telekom Ag
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 02 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).