Method and apparatus for peer-to-peer data replication
First Claim
1. A computer-implemented method for peer-to-peer data replication comprising the steps of:
- performing a first modification to a first data value in a first computer and a second modification to a second data value in a second computer, said first and second data values being consistent prior to said first and second modifications;
generating first modification information in said first computer that is indicative of said first modification and second modification information in said second computer that is indicative of said second modification;
communicating said first modification information from said first computer to said second computer in response to performing the first modification;
communicating said second modification information from said second computer to said first computer in response to performing said second modification; and
modifying during a first time interval said first data value in said first computer and said second data value in said second computer based on said second modification information and said first modification information, respectively, to restore consistency between said first and second data values, said first and second computers being operational throughout said first time interval.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides the ability to replicate modifications made at a local site to multiple remote sites in a peer-to-peer environment. Information regarding these replicated modifications (e.g., insert, delete, or update) are contained in a set of replication tables. Thus, modifications can be duplicated at other sites immediately after the original modification, or deferred until the remote site is available. The replication tables of the present invention include a transactions table, transaction nodes table, calls table, call nodes table, and an exceptions table. The present invention further provides a logic-oriented procedure-level replication. Procedure-level replication modifies a remote site based on the logical operations used to modify the data at the originating site. Procedure-level replication provides the ability to identify conflicting updates as well. Information concerning conflicts identified by the present invention can be retained in the replication tables. The information contained in the replication tables can be used immediately, or subsequently, to address any conflicts detected by the present invention. The present invention provides the ability to rollback any modifications made once a conflict is identified. Further, the present invention provides the ability to address these conflicts within an application program. The present invention provides a row-oriented replication. A trigger associated with a table queues deferred remote procedures. The remote procedures use the old and new values from the original modification to replicate the modification at remote sites and detect conflicting updates.
405 Citations
47 Claims
-
1. A computer-implemented method for peer-to-peer data replication comprising the steps of:
-
performing a first modification to a first data value in a first computer and a second modification to a second data value in a second computer, said first and second data values being consistent prior to said first and second modifications; generating first modification information in said first computer that is indicative of said first modification and second modification information in said second computer that is indicative of said second modification; communicating said first modification information from said first computer to said second computer in response to performing the first modification; communicating said second modification information from said second computer to said first computer in response to performing said second modification; and modifying during a first time interval said first data value in said first computer and said second data value in said second computer based on said second modification information and said first modification information, respectively, to restore consistency between said first and second data values, said first and second computers being operational throughout said first time interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus for peer-to-peer data replication comprising:
-
means for performing a first modification to a first data value in a first computer and a second modification to a second data value in a second computer, said first and second data values being consistent prior to said first and second modifications; means for generating first modification information in said first computer that is indicative of said first modification and second modification information in said second computer that is indicative of said second modification; means for communicating said first modification information from said first computer to said second computer in response to performing the first modification; means for communicating said second modification information from said second computer to said first computer in response to performing the second modification; and means for modifying during a first time interval said first data value in said first computer and said second data value in said second computer based on said second modification information and said first modification information, respectively, to restore consistency between said first and second data values, said first and second computers being operational throughout said first time interval. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. An article of manufacture comprising a computer usable mass storage medium having computer readable program code embodied therein which, when executed by a first computer and a second computer, causes said first and second computers to perform computer-implemented peer-to-peer data replication, said computer readable program code in said article of manufacture comprising:
-
computer readable program code which, when executed by said first and second computers, causes said first computer to perform a first modification to a first data value stored in said first computer and said second computer to perform a second modification to a second data value stored in said second computer, said first and second data values being consistent prior to said first and second modifications; computer readable program code which, when executed by said first and second computers, causes said first computer to generate first modification information indicative of said first modification and said second computer to generate second modification information indicative of said second modification; computer readable program code which, when executed by said first and second computers, causes said first computer to communicate said first modification information to said second computer in response to performing the first modification and said second computer to communicate said second modification information to said first computer in response to performing the second modification; and computer readable program code which, when executed by said first and second computers, causes said first and second computers to modify during a first time interval said first data value and said second data value based on said second modification information and said first modification information, respectively, to restore consistency between said first and second data values, said first and second computers being operational throughout said first time interval. - View Dependent Claims (26, 27, 28)
-
-
29. A method for maintaining duplication between a first data value and a second data value stored in respective first and second computers, the first and second computers remaining operational throughout a time interval over which said method is performed, said method comprising the computer-implemented steps of:
-
modifying the first data value so that the first data value is different from the second data value; communicating to the second computer information indicative of said step of modifying the first data value in response to said step of modifying the first data value; receiving in the second computer the information indicative of said step of modifying the first data value; modifying the second data value to duplicate the first data value in response to said step of receiving in the second computer; modifying the second data value so that the second data value is different from the first data value; communicating to the first computer information indicative of said step of modifying the second data value so that the second data value is different from the first data value, said step of communicating to the first computer being in response to said step of modifying the second data value so that the second data value is different; receiving in the first computer the information indicative of said step of modifying the second data value; and modifying the first data value to duplicate the second data value in response to said step of receiving in the first computer.
-
-
30. A computer-implemented method for peer-to-peer data replication comprising the steps of:
-
storing first and second copies of a first data value in respective first and second computers, each copy of the first and second copies of the first data value being modifiable prior to modification of the other copy of the first and second copies of the first data value; performing a modification to any one of the first and second copies of the first data value to produce a second data value in a respective one of the first and second computers; communicating modification information indicative of said modification from the respective one of the first and second computers to the other computer of the first and second computers in response to said modification; and modifying the remaining copy of the first and second copies of the first data value to produce a copy of the second data value in the other computer based on the modification information. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A computer system for peer-to-peer data replication, said computer system comprising:
-
means for storing first and second copies of a first data value in respective first and second computers of said computer system, each copy of the first and second copies of the first data value being modifiable prior to modification of the other copy of the first and second copies of the first data value; means for performing a modification to any one of the first and second copies of the first data value to produce a second data value in a respective one of the first and second computers; means for communicating modification information indicative of said modification from the respective one of the first and second computers to the other computer of the first and second computers in response to said modification; and means for modifying the remaining copy of the first and second copies of the first data value to produce a copy of the second data value in the other computer based on the modification information.
-
-
40. An article of manufacture comprising a computer-usable mass storage medium having computer readable program code embodied therein which, when executed by a first computer and a second computer, causes the first and second computers to perform computer-implemented peer-to-peer data replication by performing the steps of:
-
storing first and second copies of a first data value in the first and second computers, respectively, each copy of the first and second copies of the first data value being modifiable prior to modification of the other copy of the first and second copies of the first data value; performing a modification to any one of the first and second copies of the first data value to produce a second data value in a respective one of the first and second computers; communicating modification information indicative of said modification from the respective one of the first and second computers to the other computer of the first and second computers in response to said modification; and modifying the remaining copy of the first and second copies of the first data value to produce a copy of the second data value in the other computer based on the modification information.
-
-
41. A computer-implemented method for peer-to-peer data replication comprising the steps of:
-
storing a plurality of copies of a first data value in respective computers of a plurality of networked computers, each copy of the plurality of copies of the first data value being modifiable prior to modification of the others of the plurality of copies of the first data value; performing a modification to any one of the plurality of copies of the first data value to produce a second data value in a respective one of the plurality of networked computers; storing in a transaction table modification information indicating one or more database transactions executed to perform said modification, the transaction table including a transaction identifier field storing information uniquely identifying each of the one or more database transactions executed; storing in a nodes table information indicating at least one other computer of the plurality of networked computers at which the one or more database transactions are to be executed; communicating the modification information stored in the transaction table to each of the computers indicated by the information stored in the nodes table in response to said modification; and modifying remaining copies of the plurality of copies of the first data value to produce copies of the second data value based on the modification information.
-
-
42. A method for peer-to-peer data replication comprising the steps of:
-
storing first and second copies of a first data value in respective first and second computers, each copy of the first and second copies of the first data value being modifiable prior to modification of the other copy of the first and second copies of the first data value; performing a modification to any one of the first and second copies of the first data value to produce a second data value in a respective one of the first and second computers; communicating information that identifies a procedure for performing said modification from the respective one of the first and second computers to the other computer of the first and second computers; and executing the procedure in the other computer to modify the remaining copy of the first and second copies of the first data value to produce a copy of the second data value. - View Dependent Claims (43, 44, 45)
-
-
46. An article of manufacture comprising a computer-usable mass storage medium having computer readable program code embodied therein which, when executed by a first computer and a second computer, causes the first and second computers to perform peer-to-peer data replication by performing the steps of:
-
storing first and second copies of a first data value in the first and second computers, respectively, each copy of the first and second copies of the first data value being modifiable prior to modification of the other copy of the first and second copies of the first data value; performing a modification to any one of the first and second copies of the first data value to produce a second data value in a respective one of the first and second computers; communicating information that identifies a procedure for performing said modification from the respective one of the first and second computers to the other computer of the first and second computers; and executing the procedure in the other computer to modify the remaining copy of the first and second copies of the first data value to produce a copy of the second data value. - View Dependent Claims (47)
-
Specification