Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
193 words
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.
Claim 2
Independent Claim
193 words
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.
Claim 3
Dependent Claim
30 words
The system of claim 1, wherein certain of said plurality of processors are designated server processors and wherein said means for selecting selects a coordinating processor from said server processors.
Claim 4
Dependent Claim
84 words
The system of claim 1, wherein said means for selecting includes: means for establishing a priority for each of said plurality of processors; means for querying each higher priority processor to determine which of said each higher priority processor will coordinate said update of said replicated data; means for detecting responses to said query; and means for signalling assumption of coordination role to processors of lesser priority upon selection of one of said plurality of processors to coordinate said update of said replicated data.
Claim 5
Independent Claim
137 words
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.
Claim 6
Independent Claim
137 words
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.
Claim 7
Dependent Claim
22 words
The method of claim 4, wherein said event includes a scheduled update, return to service of a server, and network link reconnection.
Claim 8
Dependent Claim
38 words
The method of claim 4, wherein said selected one of said two or more servers is controlled by an operating system that differs from an operating system of at least one other of said two or more servers.
Claim 9
Dependent Claim
54 words
The method of claim 4, wherein each of said two or more data replicas is stored on a physical file system and said selected one of said two or more servers maintains a physical file system that differs from a physical file system of at least one other of said two or more servers.
Claim 10
Dependent Claim
158 words
The method of claim 4, wherein said step of selecting one of said two or more servers to coordinate said reconciliation comprises the steps of: assigning a priority to each of said two or more servers; sending by each of said two or more servers a message to each server of a higher priority querying whether said higher priority server will become said selected one of said two or more servers to coordinate said reconciliation; detecting higher priority server responses to said querying messages sent to each of said two or more of said servers; and if no response from a higher priority server is detected by a particular one of said two or more of said servers, sending a message by said particular one of said two or more of said servers to each server of a lower priority signalling assumption of coordinator server role by said particular one of said two or more of said servers.
Claim 11
Dependent Claim
18 words
The method of claim 8, wherein one and only one coordinator server is selected for each system partition.
Claim 12
Dependent Claim
23 words
The method of claim 9, wherein at least two of said two or more of said servers are controlled by different operating systems.
Claim 13
Dependent Claim
29 words
The method of claim 10, further comprising: means for detecting coordinator server failure and causing said step of selecting one of said two or more servers to be repeated.