IP Library Granted Patent US 8,296,755
Granted Patent B2
US 8,296,755 · App. 11/768,094 · Granted Oct 23, 2012

Method and system for executing and undoing distributed server change operations

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,296,755
App. No.
11/768,094
Granted
Oct 23, 2012
Kind
B2
Abstract

A method and system for executing and undoing distributed server change operations for a collection of server objects across multiple target servers in a transaction-safe manner is provided. In one embodiment, server change operations for a collection of server objects, such as files and configuration file entries, are specified in a transaction package. The target servers to which the specified change operation are directed are also identified in the transaction package. Parameter values for each of the identified target servers are specified through a parameter file in the transaction package. The transaction package is sent to the identified target servers, which execute the change operations on the target servers in a transaction-safe manner using these parameter values.

Claims (37)

1. A method for executing change operations across a plurality of servers, the method comprising:

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;

identifying a plurality of target servers for execution of the change operations specified in the transaction package, wherein the plurality of target servers comprises servers having different operating systems;

specifying parameter values for each of the plurality of target servers; and

communicating the transaction package to the plurality of target servers using a virtual client and one or more virtual agents associated with each of the plurality of target servers, wherein the transaction package comprises instructions for executing the specified change operations on each of the plurality of target servers using the parameter values and instructions for reversing the specified change operations using a transaction log for each of the plurality of target servers if an error occurs when executing the specified change operations, wherein the transaction log is used to record executed operations and to track changes made by the executed operations.

2. The method of claim 1 further comprising:

receiving an indication of an error executing the specified change operations on at least one of the plurality of target servers; and

undoing, on each of the plurality of target servers, any of the specified change operations applied to that particular server.

3. The method of claim 2 wherein the indication of an error comprises indication of a hard error.

4. The method of claim 2 wherein the act of undoing the specified change operations is performed using information provided in the transaction package.

5. The method of claim 1 further comprising:

receiving an indication of a soft error when executing the specified change operations on at least one of the plurality of target servers;

presenting information regarding the soft error to a user; and

querying the user to determine whether or not to undo the specified change operations across each of the plurality of target servers.

6. The method of claim 1 wherein the transaction package further comprises a transaction context.

7. The method of claim 1 wherein the transaction package further comprises a plurality of transaction contexts with each transaction context containing independently specified change operations, the method further comprising:

receiving an indication of an error executing a first transaction context containing a first set of specified change operations on at least one of the plurality of target servers; and

undoing, on each of the plurality of target servers, any of the specified change operations from the first transaction context applied to that particular server.

8. The method of claim 7 further comprising not undoing any specified change operations from a second transaction context in the transaction package.

9. 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.

10. The method of claim 9 wherein the primitive server object comprises an elemental server object.

11. The method of claim 9 wherein the compound server object comprises at least one of the primitive server objects and the compound server objects.

12. The method of claim 9 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.

13. The method of claim 9 wherein the component server object comprises a sequenced collection of server objects.

14. The method of claim 1 wherein the specified transaction package comprises an extensible markup language (XML) based instruction set.

15. The method of claim 1 wherein the specified transaction package comprises a text based instruction set.

16. The method of claim 1 further comprising performing a dry-run on the transaction package.

17. The method of claim 1 wherein the transaction package further comprises prerequisite information.

18. The method of claim 1 wherein the transaction package further comprises error handling instructions.

19. The method of claim 1 wherein the transaction package further comprises sequencing information for the specified change operations.

20. The method of claim 1 wherein the transaction package further comprises group-level parameter values, identical across the plurality of target servers, and at least one server-specific parameter value wherein the at least one server-specific parameter value over-rides a corresponding group-level parameter value.

21. The method of claim 20 wherein the transaction package contains server-specific parameter values for only a subset of the plurality of target servers.

22. A computer-readable medium containing instructions stored thereon to instruct a processor to perform the method of claim 1 .

23. A computer system comprising one or more processors communicatively coupled to each other and to a computer network, wherein the one or more processors are configured to perform the method of claim 1 .

24. A computer network comprising:

a plurality of processing units communicatively coupled to a computer network; and

a first processor configured to perform at least a portion of the method of claim 1 wherein the entire method of claim 1 is performed collectively by the plurality of processing units.

Assignments (14)
CHANGE OF NAME Recorded Jan 10, 2025
From: BLADELOGIC, INC.
To: BMC HELIX, INC.
Reel/Frame 069870/0796 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2014
From: SRINIVASA, BALAJI; MANWANI, VIJAY G.; KRAUS, THOMAS MARTIN
To: BLADELOGIC, INC.
Reel/Frame 032904/0317 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →