×

Method and system for managing application deployment

  • US 7,478,361 B2
  • Filed: 06/17/2004
  • Issued: 01/13/2009
  • Est. Priority Date: 06/17/2004
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×