Claims
- 1. A method for executing change operations across a plurality of servers in a transaction-safe manner, the method comprising the steps of:
(a) specifying change operations for a collection of server objects in a transaction package, wherein the objects comprise at least one of files and configuration file entries; (b) identifying at least one target server for execution of the change operations specified in the transaction package; (c) specifying parameter values for each of the identified target servers; (d) communicating the transaction package to the identified target servers; and (e) executing the specified change operations on each of the identified target servers in a transaction-safe manner using the parameter values.
- 2. The method of claim 1, wherein the server objects comprise at least one of a primitive server object, a compound server object, an abstract configuration server object, and a component server object.
- 3. The method of claim 2, wherein the primitive server object comprises an elemental server object.
- 4. The method of claim 2, wherein the compound server object comprises at least one of the primitive server objects and the compound server objects.
- 5. The method of claim 2, wherein the abstract configuration server object comprises an entry in a configuration file mapped to a corresponding entry in a common abstract configuration file format.
- 6. The method of claim 2, wherein the component server object comprises a sequenced collection of server objects.
- 7. The method of claim 1, wherein the specifying step (a), the transaction package comprises an XML-based instruction set.
- 8. The method of claim 1, wherein the specifying step (a), the transaction package comprises a text-based instruction set.
- 9. The method of claim 1, in addition to the specified change operations in the transaction package, the transaction package in the specifying step (a) further comprises:
(i) a transaction context; (ii) a parameter file comprising the parameter values specific to each of the identified target servers; (iii) error handling actions; (iv) a sequencing instruction for the specified change operations; and (v) prerequisite information.
- 10. The method of claim 9, wherein the (i) transaction context in the transaction package comprises begin-transaction and end-transaction statements that encapsulate the specified change operations.
- 11. The method of claim 9, wherein the (ii) parameter file comprises group-level parameter values that are identical across the identified target servers.
- 12. The method of claim 11, wherein the (ii) parameter file comprises the parameter values that are distinct for each of the identified target servers and override the group-level parameter values if specified.
- 13. The method of claim 9, wherein the (iii) error handling actions comprise soft error and a hard error.
- 14. The method of claim 9, wherein the (iv) sequencing instruction for the server change operations is provided locally from the transaction package.
- 15. The method of claim 14, wherein the (iv) sequencing instruction for the server change operations is provided from an external dependency graph, if the sequencing instruction is not provided locally from the transaction package.
- 16. The method of claim 9, wherein the (v) prerequisite information comprises prerequisite information for the identified target servers to execute the specified change operations.
- 17. The method of claim 1 further comprising the steps of:
(i) maintaining a transaction log for the transaction package, wherein the transaction log comprises details of all steps performed during execution of the change operations specified in the transaction package; (ii) after a successful completion of the executing step (e), optionally reversing the executed change operations via an explicit user request; and (iii) automatically reversing the executed change operations, after detecting an occurrence of an error.
- 18. The method of claim 1 further comprising the steps of optionally performing a dry-run on the transaction package.
- 19. The method of claim 1 further comprising:
(i) assembling a plurality of transaction packages into a transaction project; and (ii) executing change operations specified in each transaction package in the transaction project in a transaction-safe manner.
- 20. A transaction package for executing change operations across a plurality of target servers in a transaction-safe manner, the transaction package comprising:
(a) an instruction set for specifying change operations for a plurality of server objects and identifying at least one target server for execution of the specified change operations on the identified target servers; and (b) a parameter file, in communication with the instruction set, for comprising parameter values specific to each of the identified target servers.
- 21. The transaction package of claim 20, wherein the (b) parameter file comprises group-level parameter values that are identical across the identified target servers.
- 22. The transaction package of claim 21, wherein the (b) parameter file comprises the parameter values that are distinct for each of the identified target servers and override the group-level parameter values if specified.
- 23. The transaction package of claim 20, wherein the server objects comprise at least one of a primitive server object, a compound server object, an abstract configuration server object, and a component server object.
- 24. The transaction package of claim 23, wherein the primitive server object comprises an elemental server object.
- 25. The transaction package of claim 23, wherein the compound server object comprises at least one of the primitive server objects and the compound server objects.
- 26. The transaction package of claim 23, wherein the abstract configuration server object comprises an entry in a configuration file mapped to a corresponding entry in a common abstract configuration file format.
- 27. The transaction package of claim 23, wherein the component server object comprises a sequenced collection of server objects.
- 28. The transaction package of claim 20, wherein the instruction set is an XML-based instruction set.
- 29. The transaction package of claim 20, wherein the instruction set is a text-based instruction set.
- 30. The transaction package of claim 20, in addition to the specified change operations in the instruction set, the instruction set further comprises:
(i) a transaction context; (ii) error handling actions; (iii) a sequencing instruction for the specified change operations; and (iv) prerequisite information.
- 31. The transaction package of claim 30, wherein the (i) transaction context comprises begin-transaction and end-transaction statements that encapsulate the specified change operations.
- 32. The transaction package of claim 30, wherein the (ii) error handling actions comprise a soft error and a hard error.
- 33. The transaction package of claim 30, wherein the (iii) sequencing instruction for the server change operations is provided locally from instruction set.
- 34. The transaction package of claim 33, wherein the (iii) sequencing instruction for the server change operations is provided from an external dependency graph, if the sequencing instruction is not provided locally from the instruction set.
- 35. The transaction package of claim 30, wherein the (iv) prerequisite information comprises prerequisite information for the identified target servers to execute the specified change operations.
- 36. The transaction package of claim 20, wherein a dry-run is optionally performed on the transaction package.
- 37. The transaction package of claim 20, wherein the transaction package and a second transaction package is assembled into a transaction project to execute the change operations specified in each transaction package in a transaction-safe manner.
- 38. The transaction package of claim 20, wherein the transaction package maintains:
(i) a transaction log comprising details of all steps performed during execution of the change operations specified in the transaction package; (ii) after a successful completion of at least one of the change operations, an explicit user request for optionally reversing the executed change operations using the details provided from the transaction log; and (iii) an error signal for automatically reversing the executed change operations using the details provided from the transaction log.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to and the benefit of U.S. Provisional Patent Application Serial No. 60/388,112 filed Jun. 12, 2002, entitled METHOD AND SYSTEM FOR SIMPLIFYING SERVER MANAGEMENT, and U.S. Provisional Patent Application having Attorney Docket No.: BLD-002PR (Serial Number not yet assigned) filed Mar. 10, 2003, entitled METHOD AND SYSTEM FOR SIMPLIFYING SERVER MANAGEMENT, the entire disclosures of which are hereby incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60388112 |
Jun 2002 |
US |
|
60453308 |
Mar 2003 |
US |