Method and apparatus for updating application databases used in a distributed transaction processing environment
First Claim
1. A method for updating from a first version of a database residing within a memory device associated with a first node to a second version thereof and accessible by a processor connected to a second node, said first and second nodes being connected by a communication path so that transactional messages can be sent between said first and second nodes for conversational transaction processing, said method comprising the steps of, at said first node,processing transactional messages of each first transaction that has been initiated prior to the start of a predefined transfer time period using the first version of said database regardless of whether any of the transactional messages of a first transaction occurs after the start of the transfer period;
- loading the second version of said database onto said memory device prior to the start of said transfer time period;
initiating said transfer time period;
processing transactional messages of each second transaction that is initiated after the start and before the expiration of said transfer time period using said second version of said data base;
said processing steps each further comprising the step of setting a pre-defined field in a next subsequently occurring transactional message of the first or second transaction to a pre-defined value to specify whether said first or said second version of the database is to be used in processing the transaction of the next transactional message; and
transmitting the value of said pre-defined field in the next subsequent occurring transactional message from the first node to the second node; and
said method further comprising at said second node the step ofechoing from said second node to said first node said value of said pre-defined field in succeeding transactional messages,whereby the echoed pre-defined field assures that sequential access for successive transactional messages of a first and second transaction are processed only by said first and second databases respectively.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for updating application databases in real time in a distributed transaction processing environment, such as a service control point, without adversely affecting the throughput of transaction processing or losing substantially any conversational transactions that are being processed while updating is occurring. Specifically, two versions, e.g. an old and a new version, of the application databases exist within a memory device, e.g. a shared disk farm. After the start of a "transfer time period", all transactional messages associated with transactions that were initiated after the start of this period are processed using only the new versions of the application databases, while all transactional messages that are associated with transactions that were initiated prior to the start of this period are processed using the old versions thereof. At the expiration of this period, no such transactions will be processed using the old versions of the application databases, at which time, the old version of each such database can be deleted, if desired, from the memory device.
-
Citations
11 Claims
-
1. A method for updating from a first version of a database residing within a memory device associated with a first node to a second version thereof and accessible by a processor connected to a second node, said first and second nodes being connected by a communication path so that transactional messages can be sent between said first and second nodes for conversational transaction processing, said method comprising the steps of, at said first node,
processing transactional messages of each first transaction that has been initiated prior to the start of a predefined transfer time period using the first version of said database regardless of whether any of the transactional messages of a first transaction occurs after the start of the transfer period; -
loading the second version of said database onto said memory device prior to the start of said transfer time period; initiating said transfer time period; processing transactional messages of each second transaction that is initiated after the start and before the expiration of said transfer time period using said second version of said data base; said processing steps each further comprising the step of setting a pre-defined field in a next subsequently occurring transactional message of the first or second transaction to a pre-defined value to specify whether said first or said second version of the database is to be used in processing the transaction of the next transactional message; and transmitting the value of said pre-defined field in the next subsequent occurring transactional message from the first node to the second node; and
said method further comprising at said second node the step ofechoing from said second node to said first node said value of said pre-defined field in succeeding transactional messages, whereby the echoed pre-defined field assures that sequential access for successive transactional messages of a first and second transaction are processed only by said first and second databases respectively. - View Dependent Claims (2)
-
-
3. A method for updating from a first version to a second version a database residing within a memory device and accessible by a plurality of processors connected to a network for conversational transaction processing and said network comprising a responding node to which said processors are connected and an originating node, said responding and originating nodes being connected by a communication path extending therebetween so that transactional messages can be sent between said originating and said responding nodes, said method comprising the steps of, at said processing transactional messages of each first transaction that has been initiated prior to a start of a pre-defined transfer time period using the first version of said database regardless of whether any of the transactional messages of a first transaction occurs after the start of the transfer period responding node,
processing said transactional messages, received from said originating node, of each second transaction that is initiated after the start and before the expiration of said transfer period using said second version of said database; -
loading the second version of said database onto said memory device prior to the start of said transfer time period; initiating said transfer time period; and processing transactional messages, received form said originating node, of each second transaction that is initiated after the start and before the expiration of said transfer period using said second version of said database; said processing steps each further comprising the steps of setting a pre-defined field in a next successively occurring transactional message to a pre-defined value to specify whether said first or second version of the database is to be used in processing the transaction of said next transaction message of said first or second transaction; and said method further comprising the steps of, at said responding node; placing the value in a first pre-defined field in an originating transaction identifier that forms part of a subsequent outgoing transactional message; transmitting said subsequent outgoing transactional message to said originating node; and processing a subsequent incoming transactional message received over said communication path from said originating node using the specific version of the database specified by a value in a second field in a responding transaction identifier contained within said subsequent incoming transactional message; and
, at said originating node;receiving said outgoing transactional message transmitted over said communication path from said responding node; echoing the value of the first field located within said originating transaction identifier contained within said outgoing transactional message as the value of the second field within the responding transaction identifier contained within a next successive transactional message of said first or second transaction; and transmitting said next successive transactional message of said first or second transaction to said responding node as said subsequent incoming message, whereby the echoed value determines for said responding node which version of the data based is to be used. - View Dependent Claims (4, 5)
-
-
6. In a conversational transaction processing system having a plurality of processors connected to a network and which access information from a database residing within a memory device to incrementally process a conversation transaction a responding node to which said processors are connected, and an originating node, said responding and originating nodes being connected by a communication path extending therebetween so that transactional messages can be sent between said originating and said responding nodes, a method for updating the databases from a first to a second version thereof comprising the steps of:
-
at said responding node, first processing transactional messages transmitted form said originating node and of each first transaction that has been initiated prior to a start of pre-defined transfer time period using the first version of said database regardless of whether any of the transactional messages of any of the first transactions occurs after the start of a transfer time period; loading the second version of said database onto said memory device prior to the start of the transfer time period; initiating the transfer time period, said transfer time period being longer than the time required for processing any transactions using the first version of the database; maintaining said first and second version of the database in an on-line condition during said transfer time period; at said responding node, second processing each transactional message transmitted form said originating node and of each second transaction that is initiated after the start and before the expiration of the transfer time period using the second version of said database such that said first and second transactions are processed only using said first or second versions, respectively, of said database; said first and second processing steps each further comprising at said responding node the steps of setting a pre-defined field in a next successively occurring transactional message of each of said transactions to a pre-defined value to specify whether said first or second version of the database is to be used in processing the transaction of said next transactional message of said first or second transaction; and deleting the first version of said database from said memory device after the transfer time period has expired; and the method further comprising the steps of, at said responding node; placing the value in a first pre-defined field situated in an originating transaction identifier that forms a part of a subsequent outgoing transactional message; transmitting said subsequent outgoing transactional message to said originating node; and processing a subsequent incoming transactional message received over said communication path from said originating node using the specific version of the database specified by a value in a second field in a responding transaction identifier contained within said subsequent incoming transactional message; and at said originating node; receiving said outgoing transactional message appearing over said communication path and transmitted from said responding node; echoing the value of the first field located within said originating transaction identifier contained within said outgoing transactional message as the value of the second field situated within the responding transaction identifier contained within a next successive transactional message over said communication path to said originating node as said subsequent incoming message, whereby the echoed value determines the version of the database to be employed at the responding node. - View Dependent Claims (7, 8)
-
-
9. In a conversation transaction processing system having a processor which accesses information from a database residing within a memory device to incrementally process a conversational transaction, a responding node to which said processor is connected and an originating node, said responding and originating nodes being connected by a communication path therebetween so that transactional messages can be sent between said originating and responding nodes, an arrangement for updating the database from a first to a second version thereof comprising,
means at said responding node for loading a second version of a database onto said memory device while a first version is also resident therein; -
means for deleting the first version of said database from said memory device after expiration of a pre-defined updating transfer period; means at said responding node for setting a pre-defined field in next successively occurring conversational messages prior to expiration of said transfer period, wherein the pre-defined field is set to a first value for processing transactions using the first version of the database and to a second value for processing transactions using the second version of the database; means at said responding node for transmitting an outgoing conversational message containing the pre-defined value to said originating node; and means at said originating node for echoing said predefined value to said responding node for determining the one of said first and second databases to be used for processing subsequent conversational messages.
-
-
10. In a conversation transaction processing system having a plurality of processors connected to a network and which access information from a database residing within a memory device to incrementally process a conversational transaction, a responding node to which said processors are connected and an originating node, said responding and originating nodes being connected by a communication path extending therebetween so that transactional messages can be sent between said originating and responding nodes, an arrangement for updating the database from a first to a second version thereof comprising:
-
first means at said responding node for processing transactional messages of each first transaction that has been initiated prior to a start of a pre-defined transfer time period using the first version of said database regardless of whether any of the first transactions occurs after the start of a transfer time period; means for loading the second version of said database onto said memory device prior to the start of the transfer period; means for initiating the transfer time period, said first and second versions of the database being maintained in an on-line condition during said transfer time period; second means at said responding node for processing each transactional message of each second transaction that is initiated after the start and before the expiration of the transfer time period using the second version of said database whereby said first and second transactions are processed only using said first or second versions, respectively, of said database and sequential access into the first and second versions of said versions of said database for successive transactional messages of the same transaction is avoided; and means for deleting the first version of said database from said memory device after the transfer time period has expired; said first and second processing means each further comprises means for setting a pre-defined field in a next successively occurring conversational message associated with each of said transactions to a pre-defined value to specify whether said first or second version of the database is to be used in processing the transaction that is associated with said next conversational message; and the arrangement further comprising at said responding node; means for placing the value in a first pre-defined field situated in an originating transaction identifier that forms part of a subsequent outgoing transactional message; means for transmitting said subsequent outgoing transactional message to said originating node; and means for processing a subsequent incoming transactional message received over said communication path from said originating node using the specific version of the database specified by a value in a second field in a responding transaction identifier contained within said subsequent incoming transactional message; and at said originating node; means for receiving said outgoing transactional message appearing over said communication path and transmitted from said responding node; means for echoing the value of the first field located within said originating transaction identifier contained within said outgoing transactional message as the value of the second field situated within the responding transaction identifier contained within a next successive transaction message of said first or second transaction; and means for transmitting said next successive transactional message of said first or second transaction over said communication path to said responding node as said subsequent incoming message, whereby the echoed value determines the version of the database to be used at the responding node. - View Dependent Claims (11)
-
Specification