IP Library › Granted Patent US 9,235,402
Granted Patent B2
US 9,235,402 · App. 14/532,128 · Granted Jan 12, 2016

Dynamic release control of software application version changes

Inventors: Robert L. Carpenter (Beaver, PA); Gary R. Gulasky (Oakdale, PA)
Assignee: CA, Inc.
G06F8/65G06F9/44505
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 9,235,402
App. No.
14/532,128
Granted
Jan 12, 2016
Kind
B2
Abstract

Dynamic release control is performed by identifying a plurality of software application instances installed on a mainframe system, identifying a compatibility level for each software application instance, designating a common execution level based upon a lowest one of the identified compatibility levels, configuring each software application instance to conform to the common execution level, receiving a software update indication that at least one software application instance has been updated and performing a compatibility level switch across the plurality of software application instances after receiving the software update indication if a lowest one of the compatibility levels is different from the common execution level by adjusting the common execution level based upon the lowest one of the compatibility levels and by reconfiguring each software application instance to operate in a mode that constrains the corresponding software application instance to conform to the adjusted common execution level.

Claims (73)

1. A method of performing dynamic release control, comprising:

identifying software application instances on a mainframe system;

identifying a compatibility level for each identified software application instance, where the compatibility level corresponds with at least one execution characteristic of the corresponding software application instance;

designating a common execution level based upon a select one of the identified compatibility levels;

configuring each identified software application instance to conform to the common execution level;

receiving a software update indication that a select identified software application instance has been updated to a version that has a new compatibility level, where the select identified software application instance, when executed, continues to conform to the common execution level after the corresponding update; and

performing a compatibility level switch across the identified software application instances after receiving the software update indication if a lowest one of the compatibility levels is different from the common execution level by:

adjusting the common execution level based upon the lowest one of the compatibility levels; and

reconfiguring each identified software application instance to conform to the adjusted common execution level.

2. The method of claim 1 further comprising:

identifying subcomponents for at least one software application instance;

wherein:

identifying a compatibility level for each identified software application instance comprises:

identifying a compatibility level of each subcomponent;

identifying a lowest compatibility level among the identified subcomponents; and

establishing the compatibility level of the software application instance as the identified lowest compatibility level among the identified subcomponents.

3. The method of claim 1 further comprising:

identifying at least one software application dependency associated with a corresponding one of the identified software application instances; and

identifying a compatibility level for each identified software application dependency;

wherein:

identifying a compatibility level for each identified software application instance comprises:

establishing the compatibility level of the software application instance based upon the compatibility level among the software application instance and each identified software application dependency.

4. The method of claim 1 , wherein:

performing a compatibility level switch across the identified software application instances comprises:

automatically executing the compatibility switch after receiving the software update indication if a lowest one of the compatibility levels is different from the common execution level.

5. The method of claim 1 , further comprising:

providing a graphical user interface that allows a user to selectively control when the compatibility level switch is performed.

6. The method of claim 1 , wherein:

identifying a compatibility level for each identified software application instance comprises:

receiving a communication from the corresponding software application instance identifying its compatibility level.

7. The method of claim 1 further comprising:

storing for each software application instance that has been updated at least once or has at least one pending update ready for installation, an installation library comprising:

a backout file in order to restore the software application instance back to a previous version;

a backout policy flow requirement to direct a restore of the software application instance back to a previous version;

an upgrade policy flow to direct an update to a new version of the software application instance; and

a capability pending file that stores the capabilities available for a compatibility level that is higher than the common execution level.

8. The method of claim 7 further comprising:

automatically verifying that the backout file, the backout policy flow requirements and the upgrade policy requirements are in place on the mainframe system to support an implemented upgrade of a software application instance before performing the compatibility level switch.

9. The method of claim 1 , wherein:

performing a compatibility level switch across the identified software application instances comprises:

executing at least one policy rule that determines when to perform the compatibility switch.

10. The method of claim 1 , wherein identifying a compatibility level for each software application instance, configuring each software application instance, and performing a compatibility level switch across the plurality of software application instances further comprise:

communicating with a registration component integrated with each software application instance to receive information programmed by a developer of the software application instance.

11. The method of claim 1 further comprising:

queuing up version changes without actually implementing the changes by installing updates without turning on new features; and

manually determining, by a system programmer, when to perform the actual version change.

12. The method of claim 1 further comprising:

performing a system wide rollout by implementing version change across multiple instances of a select software application on at least one of the same platform or same mainframe computer.

13. The method of claim 1 further comprising:

performing a system wide rollout by implementing version change across multiple instances of a select software application on at least one of a different platform or a different mainframe computer.

14. The method of claim 1 further comprising:

utilizing a release control engine for managing separate plans for a rollout of new software version changes that are appropriate for an associated executing environment.

15. The method of claim 1 further comprising:

utilizing a release control engine to prepare a software application for a version change on multiple mainframe systems by individually preparing each software application instance for the version change on its corresponding mainframe computer; and

utilizing the release control engine to switch on the version change across all targeted mainframe computers when all software application instances across all mainframe computers targeted for the version change are verified to be compatible for the version change, in a single activity.

16. The method of claim 1 , wherein:

receiving a software update indication that a select identified software application instance has been updated to a version that has a new compatibility level, where the select identified software application instance, when executed, continues to conform to the common execution level after the corresponding update, comprises:

comparing the identified compatibility level of the received version update with the compatibility level of each instance of the software application executing on the mainframe; and

switching on new compatibility level features if the compatibility level of the instance of the software application is not greater than the common execution level.

17. The method of claim 1 further comprising:

using a registration processor to interact with each identified software application instance to discover the installed components and to register the installed components and their dependencies in an upgrade repository.

18. The method of claim 1 , wherein:

reconfiguring each identified software application instance to conform to the adjusted common execution level, comprises:

utilizing a policy language to define interactions that have to be validated against in order to implement an update.

19. The method of claim 1 further comprising:

performing when a version change is implemented:

automatically constructing a map for implementing a conditional back-out of a version change; and

backing up files necessary to restore the mainframe system back to its default state.

20. The method of claim 1 further comprising:

generating a dashboard view having:

details on execution libraries associated with the identified software application instances;

compatibility level information; and

compatibility status information.

Continuity (2)
Continuation 13940777 · Jul 12, 2013
Related Publication 20150095899A1 · Apr 2, 2015