A method for processing data synchronization messages in a data processing system, comprising: developing a processing timeline from nodes contained in a received synchronization message and from a plurality of stored data records, the nodes and the stored data records identifying respective start and end dates for data contained therein, for each node of the synchronization message, determining whether the start and end dates of the node overlap start and end dates of stored data records, and for the overlapping data records, deriving actions to be taken upon the respective data records based on an action identified for the node and an overlap condition detected between the data record and the node's start and end dates, and executing the identified actions upon the data records, wherein, if one of the dates for the node falls between the start and end dates of a stored data record, splitting the respective data record into a pair of new data records, one of which is fully overlapped by the node of the synchronization message and the other of which is not overlapped by the node of the synchronization message; and wherein, if the node's action is an update: for the new record that is fully overlapped by the node, determining whether the respective record stores a node corresponding to the node of the synchronization message, and if so, causing an update operation to be performed on the respective new record, if not, causing an insert operation to be performed on the respective new record. developing a processing timeline from nodes contained in a received synchronization message and from a plurality of stored data records, the nodes and the stored data records identifying respective start and end dates for data contained therein, for each node of the synchronization message, determining whether the start and end dates of the node overlap start and end dates of stored data records, and for the overlapping data records, deriving actions to be taken upon the respective data records based on an action identified for the node and an overlap condition detected between the data record and the node's start and end dates, and executing the identified actions upon the data records, determining whether the start and end dates of the node overlap start and end dates of stored data records, and for the overlapping data records, deriving actions to be taken upon the respective data records based on an action identified for the node and an overlap condition detected between the data record and the node's start and end dates, and executing the identified actions upon the data records, wherein, if one of the dates for the node falls between the start and end dates of a stored data record, splitting the respective data record into a pair of new data records, one of which is fully overlapped by the node of the synchronization message and the other of which is not overlapped by the node of the synchronization message; and wherein, if the node's action is an update: for the new record that is fully overlapped by the node, determining whether the respective record stores a node corresponding to the node of the synchronization message, and if so, causing an update operation to be performed on the respective new record, if not, causing an insert operation to be performed on the respective new record. for the new record that is fully overlapped by the node, determining whether the respective record stores a node corresponding to the node of the synchronization message, and if so, causing an update operation to be performed on the respective new record, if not, causing an insert operation to be performed on the respective new record.