Departmental Papers (CIS)

Date of this Version

June 2007

Document Type

Journal Article


Postprint version. Published in Journal of Computer and System Sciences, Volume 73, Issue 4, June 2007, pages 669-689.
Publisher URL:


Increased reliance on optimistic data replication has led to burgeoning interest in tools and frameworks for synchronizing disconnected updates to replicated data. But good data synchronizers are challenging both to specify and to build.

We have implemented a generic synchronization framework, called Harmony, that can be used to build state-based synchronizers for a wide variety of tree-structured data formats. A novel feature of this framework is that the synchronization process— in particular, the recognition of conflicts—is driven by the schema of the structures being synchronized.

We formalize Harmony’s synchronization algorithm, prove that it obeys a simple and intuitive specification, and illustrate, using simple address books as a case study, how it can be used to synchronize trees representing a variety of specific forms of application data, including sets, records, tuples, and relations.


synchronization, optimistic reconciliation, xml, harmony



Date Posted: 27 August 2007

This document has been peer reviewed.