Method and system for synchronizing data in peer to peer networking environments
First Claim
1. A method in a data processing system having peer-to-peer replicated data stores, comprising:
- receiving, by a first data store, a plurality of values sent from a plurality of other data stores; and
updating a value in the first data store based on one or more of the received values for replication.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems in accordance with the present invention provide a peer-to-peer replicated hierarchical data store that allows the synchronization of the contents of multiple data stores on a computer network without the use of a master data store. The synchronization of a replicated data store stored on multiple locations is provided even when there is constantly evolving set of communications partitions in the network. Each computer in the network may have its own representation of the replicated data store and may make changes to the data store independently without consulting a master authoritative date store or requiring a consensus among other computers with representations of the data store. Changes to the data store may be communicated to the other computers by broadcasting messages in a specified protocol to the computers having a representation of the replicated data store. The computers receive the messages and process their local representation of the data store according to a protocol described below. As such, each computer has a representation of the replicated database that is consistent with the representations of the data store on the other computers. This allows computers to make changes to the data store even when disconnected via a network partition.
165 Citations
28 Claims
-
1. A method in a data processing system having peer-to-peer replicated data stores, comprising:
-
receiving, by a first data store, a plurality of values sent from a plurality of other data stores; and
updating a value in the first data store based on one or more of the received values for replication. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method in a data processing system having a first data store and a plurality of other data stores, the first data store having a plurality of entries, each entry having a value, the method comprising the steps of:
-
receiving by the first data store a plurality of values from the other data stores for one of the entries;
determining by the first data store which of the values is an appropriate value for the one entry; and
storing the appropriate value in the one entry to accomplish replication. - View Dependent Claims (8, 9)
-
-
10. A data processing system having peer-to-peer replicated data stores, comprising:
-
a memory comprising program instructions that receive, by a first data store, a plurality of values sent from a plurality of other data stores, and update a value in the first data store based on one or more of the received values for replication; and
a processor for running the program. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A data processing system having a first data store and a plurality of other data stores, the first data store having a plurality of entries, each entry having a value, the data processing system comprising:
-
a memory comprising a program that receives by the first data store a plurality of values from the other data stores for one of the entries, determines by the first data store which of the values is an appropriate value for the one entry, and stores the appropriate value in the one entry to accomplish replication; and
a processor for running the program. - View Dependent Claims (17, 18)
-
-
19. A computer-readable medium containing instructions for controlling a data processing system having peer-to-peer replicated data stores to perform a method comprising the steps of:
-
receiving, by a first data store, a plurality of values sent from a plurality of other data stores; and
updating a value in the first data store based on one or more of the received values for replication. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having a first data store and a plurality of other data stores, the first data store having a plurality of entries, each entry having a value, the method comprising the steps of:
-
receiving by the first data store a plurality of values from the other data stores for one of the entries;
determining by the first data store which of the values is an appropriate value for the one entry; and
storing the appropriate value in the one entry to accomplish replication. - View Dependent Claims (26, 27)
-
-
28. A data processing system having peer-to-peer replicated data stores, comprising:
-
means for receiving, by a first data store, a plurality of values sent from a plurality of other data stores; and
means for updating a value in the first data store based on one or more of the received values for replication.
-
Specification