Department of Computer and
Information Science
University of Pennsylvania
2pm Friday 22 August 2003
Room 2511, JCMB, King's Buildings
Increased use of optimistic data replication has led to increased interest in SYNCHRONIZATION technologies. These technologies are not only a fact of life in present-day networks; they are fascinating, and they raise a host of challenging scientific questions.
The goal of the Harmony project is to develop a generic framework for synchronizing tree-structured data---i.e., a tool for propagating updates between different copies, possibly stored in different formats, of tree-shaped data structures. For example, Harmony can be used to synchronize the bookmark files of several different web browsers, allowing bookmarks and bookmark folders to be added, deleted, edited, and reorganized by users running different browsers on disconnected machines. Other Harmony instances under development include synchronizers for calendars (Palm DateBook, ical, and iCalendar formats), address books, Keynote presentations, structured documents, file systems, and generic XML and HTML.
This talk offers a guided tour of the Harmony system, touching on
- basic design issues (in particular, the tradeoffs between Harmony's
``state-based'' architecture and ``operation-based'' alternatives);
- the core synchronization engine and its properties, and
- the domain-specific programming language used to transform
``concrete data'' from the real world into abstracted forms
suitable for synchronization
Harmony is joint work with Michael Greenwald, Jonathan Moore, and Alan Schmitt.