Assignment of application models to deployment targets
First Claim
Patent Images
1. A computer-implemented method for determining whether and how one or more modules of a distributed application may be distributed to one or more machines in a distributed computing environment, the method comprising:
- storing in a model repositorydeployment data for each module of the distributed application, the deployment data of each module identifying deployment requirements for the respective module of the distributed application, anddeployment data for a plurality of machines in the distributed environment, the deployment data for a given machine identifying at least one characteristic of the machine and at least one characteristic of a runtime for the given machine;
a distributed application deployment engine accessing from the model repositorydeployment data for at least one module of the distributed application, anddeployment data for said plurality of machines in the distributed environment, each of said machines representing a potential deployment target for deployment of the at least one module of the distributed application;
the distributed application deployment engine thereafter automatically performing a matching operation for the at least one module using the deployment data accessed from the model repository for the at least one module and using the deployment data accessed from the model repository for said potential deployment targets;
if the deployment data for the at least one module cannot be matched to a deployment target, returning a message indicating one or more reasons why the deployment data cannot be matched,but if the deployment data for the at least one module is matched to one or more potential deployment targets, then selecting one of the targets and deploying the at least one module to that deployment target;
thereafter redeploying the distributed application by performing the following;
identifying that a redeployment event has occurred for at least one module of the distributed application; and
upon determining that the redeployment event has occurred, performing the following for each of the plurality of modules in the distributed application;
the deployment engine accessing from the model repository the deployment data for each of the modules;
the deployment engine accessing from the model repository deployment data for a plurality of potential redeployment targets;
the deployment engine automatically performing a matching operation for one or more of the modules using the deployment data stored for each of the modules and using the deployment data for the potential redeployment targets to identify whether one or more of the potential redeployment targets match one or more of the modules; and
if so, causing the modules which have a match to be redeployed on one of the matched redeployment targets.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed application deployment engine uses declarative deployment data that describes deployment characteristics for application modules, and potential target environments. The engine uses the deployment data to potentially match a module to a deployment target. At some point, the modules may then be actually deployed on the identified deployment target. This may be performed for multiple modules in the distributed application, thereby deploying the distributed application in a distributed environment.
-
Citations
12 Claims
-
1. A computer-implemented method for determining whether and how one or more modules of a distributed application may be distributed to one or more machines in a distributed computing environment, the method comprising:
-
storing in a model repository deployment data for each module of the distributed application, the deployment data of each module identifying deployment requirements for the respective module of the distributed application, and deployment data for a plurality of machines in the distributed environment, the deployment data for a given machine identifying at least one characteristic of the machine and at least one characteristic of a runtime for the given machine; a distributed application deployment engine accessing from the model repository deployment data for at least one module of the distributed application, and deployment data for said plurality of machines in the distributed environment, each of said machines representing a potential deployment target for deployment of the at least one module of the distributed application; the distributed application deployment engine thereafter automatically performing a matching operation for the at least one module using the deployment data accessed from the model repository for the at least one module and using the deployment data accessed from the model repository for said potential deployment targets; if the deployment data for the at least one module cannot be matched to a deployment target, returning a message indicating one or more reasons why the deployment data cannot be matched, but if the deployment data for the at least one module is matched to one or more potential deployment targets, then selecting one of the targets and deploying the at least one module to that deployment target; thereafter redeploying the distributed application by performing the following; identifying that a redeployment event has occurred for at least one module of the distributed application; and upon determining that the redeployment event has occurred, performing the following for each of the plurality of modules in the distributed application; the deployment engine accessing from the model repository the deployment data for each of the modules; the deployment engine accessing from the model repository deployment data for a plurality of potential redeployment targets; the deployment engine automatically performing a matching operation for one or more of the modules using the deployment data stored for each of the modules and using the deployment data for the potential redeployment targets to identify whether one or more of the potential redeployment targets match one or more of the modules; and if so, causing the modules which have a match to be redeployed on one of the matched redeployment targets. - View Dependent Claims (2)
-
-
3. A computer program product comprising a computer system hardware memory having thereon one or more computer-executable instructions which, when executed by one or more processors of the computing system, implements a method for determining whether and how one or more modules of a distributed application may be distributed to one or more machines in a distributed computing environment, and wherein the method comprises:
-
storing in a model repository deployment data for each module of the distributed application, the deployment data of each module identifying deployment requirements for the respective module of the distributed application, and deployment data for a plurality of machines in the distributed environment, the deployment data for a given machine identifying at least one characteristic of the machine and at least one characteristic of a runtime for the given machine; a distributed application deployment engine accessing from the model repository deployment data for at least one module of the distributed application, and deployment data for said plurality of machines in the distributed environment, each of said machines representing a potential deployment target for deployment of the at least one module of the distributed application; and the distributed application deployment engine thereafter automatically performing a matching operation for the at least one module using the deployment data accessed from the model repository for the at least one module and using the deployment data accessed from the model repository for said potential deployment targets; and if the deployment data for the at least one module cannot be matched to a deployment target, returning a message indicating one or more reasons why the deployment data cannot be matched, but if the deployment data for the at least one module is matched to one or more potential deployment targets, then selecting one of the targets and deploying the at least one module to that deployment target; thereafter redeploying the distributed application by performing the following; identifying that a redeployment event has occurred for at least one module of the distributed application; and upon determining that the redeployment event has occurred, performing the following for each of the plurality of modules in the distributed application; the deployment engine accessing from the model repository the deployment data for each of the modules; the deployment engine accessing from the model repository deployment data for a plurality of potential redeployment targets; the deployment engine automatically performing a matching operation for one or more of the modules using the deployment data stored for each of the modules and using the deployment data for the potential redeployment targets to identify whether one or more of the potential redeployment targets match one or more of the modules; and if so, causing the modules which have a match to be redeployed on one of the matched redeployment targets. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12)
-
Specification