Systems and methods for application deployment
AssigneeBEA Systems, Inc.
InventorsSriram Srinivasan, Mark Spotswood
Life of this patent
Estimating the term…
Loading patent…
AssigneeBEA Systems, Inc.
InventorsSriram Srinivasan, Mark Spotswood
Estimating the term…
Applications can be deployed concurrently across a network cluster by utilizing a phased approach to deployment. A preparation operation is invoked each node on which an application is to be deployed. The preparation operation can utilize two phases, in which the deployment descriptors for an application are analyzed and in which each node is initialized for deployment. For each node that is successfully initialized, an activation phase is started in which the node is informed that it should prepare for requests on the application. The deployed application is then started on each successful node. For each node on which the preparation operation was unsuccessful, the deployment can be rolled back or attempted again. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
A system for deploying applications, comprising:
A method for deploying an application, comprising:
A method for concurrently deploying an application on multiple nodes, comprising:
A system for deploying an application, comprising:
A computer-readable medium, comprising:
A computer program product for execution by a server computer for deploying an application, comprising:
A computer system comprising:
A computer data signal embodied in a transmission medium, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
Term end not estimated
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document of the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The following co-pending U.S. Patent documents are assigned to BEA Systems, Inc., the assignee of the present application, and these documents are hereby incorporated herein by reference:
U.S. patent application filed Oct. 10, 2001, to Dean Jacobs et al. and entitled, “Data Replication Protocol”.
FIG. 1 is a diagram of a system in accordance with one embodiment of the present invention.
FIG. 2 is a diagram showing phases that can be used with the system of FIG. 1.
FIG. 3 is a phase diagram showing phases that each managed server in FIG. 1 can undergo in accordance with one embodiment.
Systems and methods in accordance with one embodiment of the present invention can utilize a phased approach to deployment. The deployment of an application can happen in at least two phases, referred to in this embodiment as a “preparation” phase and an “activation” phase. This is similar to a two-phase approach for transactions, such as is described in U.S. patent application No. 09/975,590 entitled “Data Replication Protocol”. A system administration component can drive the deployment across a domain, cluster, or network, for example.
Such a component can invoke a preparation operation on an application container for network or cluster nodes on which the application is to be deployed. The preparation of these nodes can either succeed, fail, or in some cases partially succeed. The preparation can also succeed on some nodes and fail on others. A system administration component can be used to control whether or not the deployment continues if the deployment fails for any of the nodes.
One of the problems overcome by systems in accordance with the present invention involves heterogeneous deployments, or concurrent deployments of different applications. In such a situation, different nodes can end up with different versions or packages of software when some deployments succeed on some nodes but fail on others. While it may be desirable in some situations to allow for partial deployments, there can be a need to ensure consistency between the nodes.