System and method for maintaining replicated data coherency in a data processing system
First Claim
1. A system for maintaining coherency of replicated data in a distributed data processing system having a plurality of processors interconnected by a communications medium and a plurality of storage devices, each of said storage devices controlled by at least one of said plurality of processors, said replicated data being replicated on two or more of said plurality of storage devices, said system comprising:
- means for detecting an event occurring in said data processing system;
means for initiating an update of said replicated data in response to said detected event;
means for selecting one of said plurality of processors to coordinate said update of said replicated data;
said selected one of said plurality of processors to coordinate said update of said replicated data including means for updating said replicated data, said means for updating causing each copy of said replicated data to become a duplicate of all other copies of said replicated data, said updating means including;
means for requesting modification logs from said plurality of processors;
means for receiving all requested modification logs;
means for merging all received modification logs; and
means for sending said merged modification logs to said plurality of processors.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for maintaining data coherency in a system in which data is replicated on two or more servers. Each server is able to update the data replica present on the server. Updates are logged for each server. Reconciliation of server data replicas is aggressively initiated upon the occurrence of predefined events. These events include arrival at a scheduled time, a request for data by a client system, server and network failure recovery. Reconciliation is managed by a coordinator server selected to ensure that at most one coordinator server per network partition is selected. Logged updates are merged and transmitted to each server containing a data replica. The logged updates are applied unless a conflict is detected. Conflicts are collected and distributed for resolution. Reconciliation is managed between servers without regard to operating system or physical file system type.
764 Citations
11 Claims
-
1. A system for maintaining coherency of replicated data in a distributed data processing system having a plurality of processors interconnected by a communications medium and a plurality of storage devices, each of said storage devices controlled by at least one of said plurality of processors, said replicated data being replicated on two or more of said plurality of storage devices, said system comprising:
-
means for detecting an event occurring in said data processing system; means for initiating an update of said replicated data in response to said detected event; means for selecting one of said plurality of processors to coordinate said update of said replicated data; said selected one of said plurality of processors to coordinate said update of said replicated data including means for updating said replicated data, said means for updating causing each copy of said replicated data to become a duplicate of all other copies of said replicated data, said updating means including;
means for requesting modification logs from said plurality of processors;
means for receiving all requested modification logs;
means for merging all received modification logs; and
means for sending said merged modification logs to said plurality of processors. - View Dependent Claims (2, 3)
-
-
4. A method of aggressively maintaining data coherency between two or more replicas of data distributed between two or more servers, said method comprising the steps of:
-
logging changes to one of said two or more data replicas; detecting an event occurring in one or more of said two or more servers; initiating reconciliation of said two or more replicas; selecting one of said two or more servers to coordinate said reconciliation; determining changes needed to each of said two or more replicas based on said logged changes to said one or said two or more data replicas; making said determined changes to said each of said two or more replicas and detecting any data conflicts; and recording data conflicts associated with said determined changes made to said each of said two or more replicas for later resolution. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
Specification