Method and system for managing application deployment
First Claim
1. A method of managing deployment of an application using available hardware and software resources from a resource system, the method comprising:
- establishing a resource dependency characterization of the application to enable deployment, wherein the step of establishing a resource dependency characterization comprises obtaining resource dependency characteristics for the application and forming the resource dependency characterization as a hierarchical logical application structure based on the resource dependency characteristics, wherein the application is composed of a plurality of individually deployable elements, each of the plurality of elements having a type and wherein the logical application structure comprises;
a resource dependency characterization for each type of element in the application comprising;
interdependency characteristics indicating respective interdependencies of a respective element with respect to other of the deployable elements;
software dependency characteristics indicating software resources used to enable deployment for an element of the type;
software hosting characteristics indicating hardware and communication resources that are required for hosting the software resources;
hardware dependency characteristics indicating hardware resources used to enable deployment for an element of the type; and
relational characteristics indicating a relationship between an element of the type and other types of elements;
wherein the resource dependency characteristics for the application are obtained from embedded cues within the application that provide an indication of the hardware and software resources used by each element of the application;
establishing a logical characterization of a desired deployment, wherein the step ofestablishing a logical characterization comprises obtaining logical characteristics for the desired deployment and forming the logical characterization in the form of a hierarchical logical deployment template based on the logical characteristics, wherein the logical deployment template comprises;
a logical characterization for each type of element in the desired deployment comprising;
logical component characteristics indicating logical components to be used in the desired deployment; and
logical configuration characteristics indicating logical configurations for the logical components to be used in the desired deployment;
establishing a network characterization for the desired deployment, wherein the step of establishing a network characterization comprises obtaining network characteristics for the desired deployment and forming the network characterization in the form of a network topology template based on the network characteristics, wherein the network topology template comprises;
a network structure providing a general network topology having sub-networks with nodes therein and indicating types of elements that can be grouped together in sub- networks and types of elements to be placed in separate sub-networks; and
a definition for each type of node indicating types of elements supported by the node;
developing a deployment plan containing an outline of resources and configurations used for deployment based on (1) the resource dependency characterization, (2) the logical characterization, (3) the network characterization, and (4) a resource system model comprising (i) data on available system resources, including both hardware resources and software resources, that are currently un-deployed and available for use in execution of the application and (ii) relationships between the available system resources, wherein the step of developing a deployment plan comprises-comparing the resource dependency characterization with the logical characterization the network characterization and the resource system model, and producing the deployment plan indicating (a) hardware and software resources and hardware and software configurations that satisfy the resource dependency characterization of the application under constraints of the logical characteristics, (b) the network characteristics, and (c) the data on the available system resources;
processing the deployment plan for correlation with the available resources, wherein the step of processing the deployment plan comprises assembling a request of all the hardware and software resources and the hardware and software configurations identified in the deployment plan, evaluating the request against criteria and constraints of operating conditions for the resource system as well as a level of service to be provided by the application, evaluating the request against other requests for other applications and the available hardware and software resources to balance all requests for this application and the other applications, the hardware and software resources, and associating the request with the available hardware and software resources to form the processed deployment plan, wherein the data on the available system resources is updated in the resource system model to reflect a change in status of the hardware and software resources identified in the associated request, and wherein the processing of the development plan occurs after the development plan has been developed by the developing step; and
implementing the processed deployment plan, wherein the step of implementing the processed deployment plan comprises expanding a workflow framework to include the hardware and software resources and the hardware and software configurations identified in the associated request, and executing the expanded workflow to deploy the application, wherein the implementing of the processed development plan occurs after the processed development plan has been processed by the processing step.
4 Assignments
0 Petitions
Accused Products
Abstract
Deployment of an application is managed using available resources from a resource system. A resource dependency characterization of the application is established to enable deployment of the application. A logical characterization and a network characterization of a desired deployment are also established. A deployment plan containing an outline for resources and configurations used for deployment is developed based on the resource dependency characterization, the logical characterization and the network characterization. The deployment plan is processed for correlation with the available resources. The processed deployment plan is then implemented.
-
Citations
14 Claims
-
1. A method of managing deployment of an application using available hardware and software resources from a resource system, the method comprising:
- establishing a resource dependency characterization of the application to enable deployment, wherein the step of establishing a resource dependency characterization comprises obtaining resource dependency characteristics for the application and forming the resource dependency characterization as a hierarchical logical application structure based on the resource dependency characteristics, wherein the application is composed of a plurality of individually deployable elements, each of the plurality of elements having a type and wherein the logical application structure comprises;
a resource dependency characterization for each type of element in the application comprising;interdependency characteristics indicating respective interdependencies of a respective element with respect to other of the deployable elements; software dependency characteristics indicating software resources used to enable deployment for an element of the type; software hosting characteristics indicating hardware and communication resources that are required for hosting the software resources; hardware dependency characteristics indicating hardware resources used to enable deployment for an element of the type; and relational characteristics indicating a relationship between an element of the type and other types of elements; wherein the resource dependency characteristics for the application are obtained from embedded cues within the application that provide an indication of the hardware and software resources used by each element of the application;
establishing a logical characterization of a desired deployment, wherein the step ofestablishing a logical characterization comprises obtaining logical characteristics for the desired deployment and forming the logical characterization in the form of a hierarchical logical deployment template based on the logical characteristics, wherein the logical deployment template comprises; a logical characterization for each type of element in the desired deployment comprising; logical component characteristics indicating logical components to be used in the desired deployment; and logical configuration characteristics indicating logical configurations for the logical components to be used in the desired deployment; establishing a network characterization for the desired deployment, wherein the step of establishing a network characterization comprises obtaining network characteristics for the desired deployment and forming the network characterization in the form of a network topology template based on the network characteristics, wherein the network topology template comprises; a network structure providing a general network topology having sub-networks with nodes therein and indicating types of elements that can be grouped together in sub- networks and types of elements to be placed in separate sub-networks; and a definition for each type of node indicating types of elements supported by the node;
developing a deployment plan containing an outline of resources and configurations used for deployment based on (1) the resource dependency characterization, (2) the logical characterization, (3) the network characterization, and (4) a resource system model comprising (i) data on available system resources, including both hardware resources and software resources, that are currently un-deployed and available for use in execution of the application and (ii) relationships between the available system resources, wherein the step of developing a deployment plan comprises-comparing the resource dependency characterization with the logical characterization the network characterization and the resource system model, and producing the deployment plan indicating (a) hardware and software resources and hardware and software configurations that satisfy the resource dependency characterization of the application under constraints of the logical characteristics, (b) the network characteristics, and (c) the data on the available system resources;processing the deployment plan for correlation with the available resources, wherein the step of processing the deployment plan comprises assembling a request of all the hardware and software resources and the hardware and software configurations identified in the deployment plan, evaluating the request against criteria and constraints of operating conditions for the resource system as well as a level of service to be provided by the application, evaluating the request against other requests for other applications and the available hardware and software resources to balance all requests for this application and the other applications, the hardware and software resources, and associating the request with the available hardware and software resources to form the processed deployment plan, wherein the data on the available system resources is updated in the resource system model to reflect a change in status of the hardware and software resources identified in the associated request, and wherein the processing of the development plan occurs after the development plan has been developed by the developing step; and implementing the processed deployment plan, wherein the step of implementing the processed deployment plan comprises expanding a workflow framework to include the hardware and software resources and the hardware and software configurations identified in the associated request, and executing the expanded workflow to deploy the application, wherein the implementing of the processed development plan occurs after the processed development plan has been processed by the processing step. - View Dependent Claims (2, 3, 4, 5, 6)
- establishing a resource dependency characterization of the application to enable deployment, wherein the step of establishing a resource dependency characterization comprises obtaining resource dependency characteristics for the application and forming the resource dependency characterization as a hierarchical logical application structure based on the resource dependency characteristics, wherein the application is composed of a plurality of individually deployable elements, each of the plurality of elements having a type and wherein the logical application structure comprises;
-
7. A data processing system, having a memory hardware device, for
managing deployment of an application using available hardware and software resources from a resource system, the data processing system comprising: an application structure mechanism for establishing a logical application structure containing resource dependency characterization of the application to enable deployment, wherein the application is composed of a plurality of individually deployable elements, each of the plurality of elements having a type and wherein the data structure comprises; a resource dependency characterization for each type of element in the application comprising; interdependency characteristics indicating respective interdependencies of a respective element with respect to other of the deployable elements; software dependency characteristics indicating software resources used to enable deployment for an element of the type; software hosting characteristics indicating hardware and communication resources that are required for hosting the software resources;
hardware dependency characteristics indicating hardware resources used to enable deployment for an element of the type; andrelational characteristics indicating a relationship between an element of the type and other types of elements; wherein the resource dependency characteristics for the application are obtained from embedded cues within the application that provide an indication of the hardware and software resources used by each element of the application; a logical deployment template for establishing a logical deployment template containing logical characterization of a desired deployment, wherein the data structure further comprises;
a logical characterization for each type of element in the desired deployment comprising;logical component characteristics indicating logical components to be used in the desired deployment; and logical configuration characteristics indicating logical configurations for the logical components to be used in the desired deployment; a network topology template for establishing a network topology template containing network characterization for the desired deployment, wherein the data structure comprises; a network structure providing a general network topology having sub-networks with nodes therein and indicating types of elements that can be grouped together in sub- networks and types of elements to be placed in separate sub-networks; and
a definition for each type of node indicating types of elements supported by the node;a deployment mechanism for developing a deployment plan containing an outline of resources and configurations used for deployment based on (1) the resource dependency characterization, (2) the logical characterization, (3) the network characterization, and (4) a resource system model comprising (i) data on available system resources, including both hardware resources and software resources, that are currently un-deployed and available for use in execution of the application and (ii) relationships between the available system resources, wherein the deployment mechanism comprises a deployment plan production mechanism for comparing the resource dependency characterization of with the logical characterization the network characterization and the resource system model, and producing the deployment plan indicating (a) hardware and software resources and hardware and software configurations that satisfy the resource dependency characterization of the application under constraints of the logical characteristics, (b) the network characteristics and (c) the data on the available system resources; a request processing mechanism for processing the deployment plan, developed by the deployment mechanism, for correlation with the available resources, wherein the request processing mechanism comprises a request mechanism for assembling a request of all the hardware and software resources and the hardware and software configurations identified in the deployment plan, an evaluation mechanism for evaluating the request against criteria and constraints of operating conditions for the resource system as well as a level of service to be provided by the application, a balancing mechanism for evaluating the request against other requests for other applications and the available hardware and software resources to balance all resources for this application and the other applications;
a correlation mechanism for associating the request with the available hardware and software resources to form the processed deployment plan, wherein the data on the available system resources is updated in the resource system model to reflect a change in status of the hardware and software resources identified in the associated request; and
an implementation mechanism for implementing the processed deployment plan processed by the request processing mechanism, wherein the implementation mechanism comprises a workflow mechanism for expanding a workflow framework to include the hardware and software resources and the hardware and software configurations identified in the associated request, and a workflow execution mechanism for executing the expanded workflow to deploy the application.- View Dependent Claims (8, 9, 10)
-
11. A computer readable medium having stored thereon computer-executable instructions for managing deployment of an application using available hardware and software resources from a resource system, the computer-executable instructions comprising:
establishing a resource dependency characterization of the application to enable deployment, wherein the step of establishing a resource dependency characterization comprises obtaining resource dependency characteristics for the application, and forming the resource dependency characterization as a hierarchical logical application structure based on the resource dependency characteristics, wherein the application is composed of a plurality of individually deployable elements, each of the plurality of elements having a type and wherein the logical application structure comprises;
a resource dependency characterization for each type of element in the application comprising;interdependency characteristics indicating respective interdependencies of a respective element with respect to other of the deployable elements;
software dependency characteristics indicating software resources used to enable deployment for an element of the type;software hosting characteristics indicating hardware and communication resources for hosting the software resources; hardware dependency characteristics indicating hardware resources used to enable deployment for an element of the type; and relational characteristics indicating a relationship between an element of the type and other types of elements; wherein the resource dependency characteristics for the application are obtained from embedded cues within the application that provide an indication of the hardware and software resources used by each element of the application;
establishing a logical characterization of a desired deployment, wherein the step of establishing a logical characterization comprises obtaining logical characteristics for the desired deployment, andforming the logical characterization in the form of a hierarchical logical deployment template based on the logical characteristics, wherein the logical deployment template comprises; a logical characterization for each type of element in the desired deployment comprising; logical component characteristics indicating logical components to be used in the desired deployment; and logical configuration characteristics indicating logical configurations for the logical components to be used in the desired deployment; establishing a network characterization for the desired deployment, wherein the step of establishing a network characterization comprises obtaining network characteristics for the desired deployment, and forming the network characterization in the form of a network topology template based on the network characteristics, wherein the network topology template comprises; a network structure providing a general network topology having sub-networks with nodes therein and indicating types of elements that can be grouped together in sub-networks and types of elements to be placed in separate sub-networks; and a definition for each type of node indicating types of elements supported by the node; developing a deployment plan containing an outline of resources and configurations used for deployment based on (1) the resource dependency characterization, (2) the logical characterization, (3) the network characterization, and (4) a resource system model comprising (i) data on available system resources, including both hardware resources and software resources, that are currently un- deployed and available for use in execution of the application and (ii) relationships between the available system resources, wherein the step of developing a deployment plan comprises comparing the resource dependency characterization of with the logical characterization the network characterization and the resource system model, and producing the deployment plan indicating (a) hardware and software resources and hardware and software configurations that satisfy the resource dependency characterization of the application under constraints of the logical characteristics (b) the network characteristics, and (c) the data on the available system resources; processing the deployment plan for correlation with the available resources, wherein the step of processing the deployment plan comprises assembling a request of all the hardware and software resources and the hardware and software configurations identified in the deployment plan, evaluating the request against criteria and constraints of operating conditions for the resource system as well as a level of service to be provided by the application, evaluating the request against other requests for other applications and the available hardware and software resources to balance all requests for this application and the other applications, and associating the request with the available hardware and software resources to form the processed deployment plan, wherein the data on the available system resources is updated in the resource system model to reflect a change in status of the hardware and software resources identified in the associated request, and wherein the processing of the development plan occurs after the development plan has been developed by the developing step; and implementing the processed deployment plan, wherein the step of implementing the processed deployment plan comprises expanding a workflow framework to include the hardware and software resources and the hardware and software configurations identified in the associated request, and executing the expanded workflow to deploy the application, wherein the implementing of the processed development plan occurs after the processed development plan has been processed by the processing step. - View Dependent Claims (12, 13, 14)
Specification