Abstract: |
The Harmony system is a generic framework for reconciling disconnected
updates to heterogeneous, replicated XML data. It can be used, for
instance, to synchronize the bookmark files of several different web
browsers, allowing bookmarks and bookmark folders to be added,
deleted, edited, and reorganized by different users running different
browser applications on disconnected machines.
A central theme of the Harmony project is bringing ideas from
programming languages to bear on a set of problems more commonly
regarded as belonging to the purview of databases or distributed
systems. In particular, the issue of ALIGNMENT during
reconciliation---that is, of determining which parts of divergent
replicas are intended to represent ``the same information''---can be
addressed by focusing on the type structure of the data being
reconciled.
This talk discusses Harmony's synchronization algorithm, its
specification, and its applicability to synchronization of (trees
representing) a variety of specific forms of application data,
including sets, records, tuples, and relations.
Further information, live demos, and an open-source implementation can
be found on the Harmony home page: http://www.cis.upenn.edu/~harmony.
[Those who were at the Trusted Global Computation meeting at ETAPS '05
will find some of the talk familar, but I've added some new material
on synchronizing ordered data such as lists.]
|