Patent ID: 9639338
Date: 2017-05-02
CPC Classifications: G06F,H04L

Claim:
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.