Patent EA-004193-B1 (EA)
Title: Data mirroring restoration in a distributed system
Inventor: KATZ IGOR
IPC: G06F11/14
Filed: 2001-11-09
Abstract: 1. A method for data mirroring restoration at a client freshly reconnected to the server after a communication downtime period for use in a distributed system including a server managing a master volume of data including a plurality of at least one static attribute and at least one dynamic attribute whose prevailing values in the master volume of data are respectively updated and not updated as a consequence of a command from a client, and at least two clients C1 and C2 each managing a volume of data intended to mirror the master volume of data, the method comprising the step of: (a) storing prevailing values of dynamic attributes of the master volume of data in temporary storage at the server; (b) storing prevailing values of static attributes of the master volume of data in persistent storage at the server; (c) providing the server with a master synchronization counter VS incremented by the updating of the prevailing values of one or more static attributes in the master volume of data as a consequence of a command from a first client C1 of the at least two clients; (d) providing each client with a synchronization counter VC, the synchronization counter VC2 of a second client C2 of the at least two clients only being synchronized with the master synchronization counter VS on the successful uploading of the prevailing values of the static attributes updated in the master volume of data as a consequence of the command from the first client C1 whereby its volume of data mirrors the master volume of data; and (e) uploading from the master volume of data to the freshly reconnected client's volume of data, the prevailing values of all its dynamic attributes and, in the case that its synchronization counter VC2<VS, the prevailing values of at least all of its static attributes whose prevailing values were updated during the communication downtime period, otherwise in the case that VS=VC2, taking no data mirroring restoration action in respect of the static attributes. 2. The method according to claim 1 wherein step (e) includes the uploading the prevailing values of all the static attributes from the master volume of data to the freshly reconnected client's volume of data in the case that its synchronization counter VC2<VS. 3. The method according to claim 1 wherein step (c) includes providing the server with a transaction log for listing up to N data object identifiers of data objects containing at least one static attribute on a First In First Out (FIFO) basis in respect of the updating of the prevailing values of one or more of their static attributes, and step (e) includes the uploading from the master volume of data to the freshly reconnected client's volume of data the prevailing values of either all the static attributes in the case that VS-VC2>N, or all the static attributes of the last VS-VC2 data objects listed in the transaction log in the case that VS-VC2<=N. 4. The method according to claim 3 further comprising the step of: (f) when the transaction log is full, deleting an earlier listing of a data object therefrom, if it exists, on adding the same data object thereto, whereby the transaction log contains at most only a single listing of a data object, if at all.