Synchronization of configuration changes between applications and their platforms
First Claim
1. A non-transitory computer program product embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a set of acts to implement synchronizing between intermediate software component configurations and application configurations, the set of acts comprising:
- processing, at a synchronization module stored at least partially in memory of one or more computing systems, an intermediate software component state variable of an intermediate software component to determine at least one application state variable that depends on a value of the intermediate software component state variable and corresponds to an online edition for at least one software application that relies upon the intermediate software component, and the online edition is currently executing;
determining, based at least in part upon results of processing the intermediate software component state variable, whether one or more changes in the at least one application state variable result in one or more implied changes in the intermediate software component at least by performing a first mapping for an offline edition for the at least one software application, and undergoing a patch or an upgrade corresponding to the one or more changes;
determining the one or more implied changes for the intermediate software component for the offline edition with the first mapping based in part or in whole upon the one or more changes in the at least one application state variable;
determining at least one additional application change for the at least one software application for the offline edition at least by performing a second mapping based in part or in whole upon the one or more implied changes for the intermediate software component;
determining at least one implied application change for the at least one software application for the offline edition based in part or in whole upon the at least one additional application change for the at least one software application;
transforming, by performing the first mapping, the at least one additional application change of the offline edition and the at least one implied application change of the offline edition into one or more application configuration changes for the offline edition of the at least one software application; and
performing the upgrade or the patch on the offline edition of the at least one software application and the intermediate software component at least by;
performing the upgrade or the patch on the intermediate software component based at least in part upon the at least one implied application change; and
performing a cutover from the online edition to the offline edition, the cutover comprising starting up the offline edition that corresponds to at least the one or more application configuration changes, setting the offline edition as a new online edition corresponding to the intermediate software component that has been patched or upgraded for the at least one software application, and shutting down the online edition.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and computer program product for handling synchronization of configuration changes between applications and their platforms. A computer implemented method synchronizes middleware configurations with application configurations using a reciprocating protocol. The protocol includes receiving a middleware state variable from a middleware component, then processing the middleware state variable to determine any application configuration state variables that depend on a value of the middleware state variable. The application (or agent) further processes the application configuration state variable to determine any affected middleware state variables and then sends the affected middleware state variable to the middleware component. The determinations can be performed using a forward mapper or reverse mapper, and the determinations can reciprocate repeatedly between applications and their middleware platforms until quiescence. The techniques can be used during an online patch cycle to maintain synchronization of configuration changes between applications and their platforms even while components are being patched.
101 Citations
20 Claims
-
1. A non-transitory computer program product embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a set of acts to implement synchronizing between intermediate software component configurations and application configurations, the set of acts comprising:
-
processing, at a synchronization module stored at least partially in memory of one or more computing systems, an intermediate software component state variable of an intermediate software component to determine at least one application state variable that depends on a value of the intermediate software component state variable and corresponds to an online edition for at least one software application that relies upon the intermediate software component, and the online edition is currently executing; determining, based at least in part upon results of processing the intermediate software component state variable, whether one or more changes in the at least one application state variable result in one or more implied changes in the intermediate software component at least by performing a first mapping for an offline edition for the at least one software application, and undergoing a patch or an upgrade corresponding to the one or more changes; determining the one or more implied changes for the intermediate software component for the offline edition with the first mapping based in part or in whole upon the one or more changes in the at least one application state variable; determining at least one additional application change for the at least one software application for the offline edition at least by performing a second mapping based in part or in whole upon the one or more implied changes for the intermediate software component; determining at least one implied application change for the at least one software application for the offline edition based in part or in whole upon the at least one additional application change for the at least one software application; transforming, by performing the first mapping, the at least one additional application change of the offline edition and the at least one implied application change of the offline edition into one or more application configuration changes for the offline edition of the at least one software application; and performing the upgrade or the patch on the offline edition of the at least one software application and the intermediate software component at least by; performing the upgrade or the patch on the intermediate software component based at least in part upon the at least one implied application change; and performing a cutover from the online edition to the offline edition, the cutover comprising starting up the offline edition that corresponds to at least the one or more application configuration changes, setting the offline edition as a new online edition corresponding to the intermediate software component that has been patched or upgraded for the at least one software application, and shutting down the online edition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer implemented method for synchronizing between middleware configurations and application configurations, the method comprising:
-
processing, at a synchronization module stored at least partially in memory of one or more computing systems, an intermediate software component state variable of an intermediate software component to determine at least one application state variable that depends on a value of the intermediate software component state variable and corresponds to an online edition for at least one software application that relies upon the intermediate software component, and the online edition is currently executing; determining, based at least in part upon results of processing the intermediate software component state variable, whether one or more changes in the at least one application state variable result in one or more implied changes in the intermediate software component at least by performing a first mapping for an offline edition for the at least one software application, and undergoing a patch or an upgrade corresponding to the one or more changes; determining the one or more implied changes for the intermediate software component for the offline edition with the first mapping based in part or in whole upon the one or more changes in the at least one application state variable; determining at least one additional application change for the at least one software application for the offline edition at least by performing a second mapping based in part or in whole upon the one or more implied changes for the intermediate software component; determining at least one implied application change for the at least one software application for the offline edition based in part or in whole upon the at least one additional application change for the at least one software application; transforming, by performing the first mapping, the at least one additional application change of the offline edition and the at least one implied application change of the offline edition into one or more application configuration changes for the of the offline edition at least one software application; and performing the upgrade or the patch on the offline edition of the at least one software application and the intermediate software component at least by; performing the upgrade or the patch on the intermediate software component based at least in part upon the at least one implied application change; and performing a cutover from the online edition to the offline edition, the cutover comprising starting up the offline edition that corresponds to at least the one or more application configuration changes, setting the offline edition as a new online edition corresponding to the intermediate software component that has been patched or upgraded for the at least one software application, and shutting down the online edition.
-
-
20. A computer system for synchronizing between intermediate software component configurations and application configurations, comprising:
-
a computer processor to execute a set of program code instructions; and a memory to hold the program code instructions, in which the program code instructions comprises program code which, when executed by the computer processor, causes the computer processor to; process, at a synchronization module stored at least partially in memory of one or more computing systems, an intermediate software component state variable of an intermediate software component to determine at least one application state variable that depends on a value of the intermediate software component state variable and corresponds to an online edition for at least one software application that relies upon the intermediate software component, and the online edition is currently executing; determine, based at least in part upon results of processing the intermediate software component state variable, whether one or more changes in the at least one application state variable result in one or more implied changes in the intermediate software component at least by performing a first mapping for an offline edition for the at least one software application, and undergoing a patch or an upgrade corresponding to the one or more changes; determine the one or more implied changes for the intermediate software component for the offline edition with the first mapping based in part or in whole upon the one or more changes in the at least one application state variable; determine at least one additional application change for the at least one software application for the offline edition at least by performing a second mapping based in part or in whole upon the one or more implied changes for the intermediate software component; determine at least one implied application change for the at least one software application for the offline edition based in part or in whole upon the at least one additional application change for the at least one software application; transform, by performing the first mapping, the at least one additional application change of the offline edition and the at least one implied application change of the offline edition into one or more application configuration changes for the of the offline edition at least one software application; and perform the upgrade or the patch on the offline edition of the at least one software application and the intermediate software component at least by; performing the upgrade or the patch on the intermediate software component based at least in part upon the at least one implied application change; and performing a cutover from the online edition to the offline edition, the cutover comprising starting up the offline edition that corresponds to at least the one or more application configuration changes, setting the offline edition as a new online edition corresponding to the intermediate software component that has been patched or upgraded for the at least one software application, and shutting down the online edition.
-
Specification