Synchronization of configuration changes between applications and their platforms
First Claim
1. A computer implemented method for synchronizing between middleware configurations and application configurations, the method comprising:
- receiving a first middleware state variable from a middleware component;
processing, at a synchronization module at least stored in memory, the first middleware state variable to determine at least one application state variable that depends on a value of the first middleware state variable and corresponds to an online edition of at least one software application that relies upon the middleware component;
sending one or more changes corresponding to the at least one application state variable to an offline edition of the at least one software application;
determining whether the one or more changes in the at least one application state variable result in one or more other changes in the middleware component;
receiving a change in configurations of the middleware component;
storing the change or information thereof into the first middleware state variable of the middleware component at a first location of the memory of a computing system;
triggering one or more operations within the synchronization module;
obtaining, at a middleware listener module, the one or more changes corresponding to the change or information thereof of and including at least a topology change in the middleware component;
storing the one or more changes at a second location of the memory of the computer system;
determining, at a forward mapping module, whether or not the at least one software application is to receive the one or more changes;
determining, at the forward mapping module, whether or not the one or more changes are affected by the change or information thereof of the middleware component;
transmitting the one or more changes to the offline edition of the at least one software application at least by performing a forward mapping operation with the forward mapping module when the at least one software application is to receive the one or more changes;
applying the one or more changes to the offline edition of the at least one software application;
determining, at a reverse mapping module, one or more implied changes corresponding to the one or more changes to the offline edition of the at least one software application and storing the one or more implied changes as the one or more other changes at a third location of the memory;
transmitting the one or more other changes to an application listener module for the middleware component;
performing a reverse mapping for the one or more other changes for the middleware component into one or more middleware configuration changes;
storing the one or more middleware configuration changes at a fourth location of the memory;
transmitting the one or more middleware configuration changes to the middleware component;
preparing the offline edition of the at least one software application at least by applying the one or more middleware configuration changes to the middleware component;
creating runtime data, which change while the offline edition and the one or more middleware configuration changes are being applied, for the online edition of the at least one software application and storing the runtime data at a fifth location of the memory;
applying patch transformations to the runtime data stored at the fifth location of the memory;
shutting down the online edition of the at least one software application;
designating the offline edition of the at least one software application as a new online edition of the at least one software application; and
restarting the new online edition of the at least one software application.
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.
81 Citations
19 Claims
-
1. A computer implemented method for synchronizing between middleware configurations and application configurations, the method comprising:
-
receiving a first middleware state variable from a middleware component; processing, at a synchronization module at least stored in memory, the first middleware state variable to determine at least one application state variable that depends on a value of the first middleware state variable and corresponds to an online edition of at least one software application that relies upon the middleware component; sending one or more changes corresponding to the at least one application state variable to an offline edition of the at least one software application; determining whether the one or more changes in the at least one application state variable result in one or more other changes in the middleware component; receiving a change in configurations of the middleware component; storing the change or information thereof into the first middleware state variable of the middleware component at a first location of the memory of a computing system; triggering one or more operations within the synchronization module; obtaining, at a middleware listener module, the one or more changes corresponding to the change or information thereof of and including at least a topology change in the middleware component; storing the one or more changes at a second location of the memory of the computer system; determining, at a forward mapping module, whether or not the at least one software application is to receive the one or more changes; determining, at the forward mapping module, whether or not the one or more changes are affected by the change or information thereof of the middleware component; transmitting the one or more changes to the offline edition of the at least one software application at least by performing a forward mapping operation with the forward mapping module when the at least one software application is to receive the one or more changes; applying the one or more changes to the offline edition of the at least one software application; determining, at a reverse mapping module, one or more implied changes corresponding to the one or more changes to the offline edition of the at least one software application and storing the one or more implied changes as the one or more other changes at a third location of the memory; transmitting the one or more other changes to an application listener module for the middleware component; performing a reverse mapping for the one or more other changes for the middleware component into one or more middleware configuration changes; storing the one or more middleware configuration changes at a fourth location of the memory; transmitting the one or more middleware configuration changes to the middleware component; preparing the offline edition of the at least one software application at least by applying the one or more middleware configuration changes to the middleware component; creating runtime data, which change while the offline edition and the one or more middleware configuration changes are being applied, for the online edition of the at least one software application and storing the runtime data at a fifth location of the memory; applying patch transformations to the runtime data stored at the fifth location of the memory; shutting down the online edition of the at least one software application; designating the offline edition of the at least one software application as a new online edition of the at least one software application; and restarting the new online edition of the at least one software application. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system for synchronizing between middleware 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; receive a first middleware state variable from a middleware component; process, at a synchronization module at least stored in memory, the first middleware state variable to determine at least one application state variable that depends on a value of the first middleware state variable and corresponds to an online edition of at least one software application that relies upon the middleware component; send one or more changes corresponding to the at least one application state variable to an offline edition of the at least one software application; determine whether the one or more changes in the at least one application state variable result in one or more other changes in the middleware component; receive a change in configurations of the middleware component; store the change or information thereof into the first middleware state variable of the middleware component at a first location of the memory of a computing system; trigger one or more operations within the synchronization module; obtain, at a middleware listener module, the one or more changes corresponding to the change or information thereof of and including at least a topology change in the middleware component; store the one or more changes at a second location of the memory of the computer system; determine, at a forward mapping module, whether or not the at least one software application is to receive the one or more changes; determine, at the forward mapping module, whether or not the one or more changes are affected by the change or information thereof of the middleware component; transmit the one or more changes to the offline edition of the at least one software application at least by performing a forward mapping operation with the forward mapping module when the at least one software application is to receive the one or more changes; apply the one or more changes to the offline edition of the at least one software application; determine, at a reverse mapping module, one or more implied changes corresponding to the one or more changes to the offline edition of the at least one software application and storing the one or more implied changes as the one or more other changes at a third location of the memory; transmit the one or more other changes to an application listener module for the middleware component; perform a reverse mapping for the one or more other changes for the middleware component into one or more middleware configuration changes; store the one or more middleware configuration changes at a fourth location of the memory; transmit the one or more middleware configuration changes to the middleware component; prepare the offline edition of the at least one software application at least by applying the one or more middleware configuration changes to the middleware component; create runtime data, which change while the offline edition and the one or more middleware configuration changes are being applied, for the online edition of the at least one software application and storing the runtime data at a fifth location of the memory; apply patch transformations to the runtime data stored at the fifth location of the memory; shut down the online edition of the at least one software application; designate the offline edition of the at least one software application as a new online edition of the at least one software application; and restart the new online edition of the at least one software application. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A 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 middleware configurations and application configurations, the set of acts comprising:
-
receiving a first middleware state variable from a middleware component; processing, at a synchronization module at least stored in memory, the first middleware state variable to determine at least one application state variable that depends on a value of the first middleware state variable and corresponds to an online edition of at least one software application that relies upon the middleware component; sending one or more changes corresponding to the at least one application state variable to an offline edition of the at least one software application; determining whether the one or more changes in the at least one application state variable result in one or more other changes in the middleware component; receiving a change in configurations of the middleware component; storing the change or information thereof into the first middleware state variable of the middleware component at a first location of the memory of a computing system; triggering one or more operations within the synchronization module; obtaining, at a middleware listener module, the one or more changes corresponding to the change or information thereof of and including at least a topology change in the middleware component; storing the one or more changes at a second location of the memory of the computer system; determining, at a forward mapping module, whether or not the at least one software application is to receive the one or more changes; determining, at the forward mapping module, whether or not the one or more changes are affected by the change or information thereof of the middleware component; transmitting the one or more changes to the offline edition of the at least one software application at least by performing a forward mapping operation with the forward mapping module when the at least one software application is to receive the one or more changes; applying the one or more changes to the offline edition of the at least one software application; determining, at a reverse mapping module, one or more implied changes corresponding to the one or more changes to the offline edition of the at least one software application and storing the one or more implied changes as the one or more other changes at a third location of the memory; transmitting the one or more other changes to an application listener module for the middleware component; performing a reverse mapping for the one or more other changes for the middleware component into one or more middleware configuration changes; storing the one or more middleware configuration changes at a fourth location of the memory; transmitting the one or more middleware configuration changes to the middleware component; preparing the offline edition of the at least one software application at least by applying the one or more middleware configuration changes to the middleware component; creating runtime data, which change while the offline edition and the one or more middleware configuration changes are being applied, for the online edition of the at least one software application and storing the runtime data at a fifth location of the memory; applying patch transformations to the runtime data stored at the fifth location of the memory; shutting down the online edition of the at least one software application; designating the offline edition of the at least one software application as a new online edition of the at least one software application; and restarting the new online edition of the at least one software application. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification