HOW TO SYNCHRONIZE A LIST

Benjamin C. Pierce
University of Pennsylvania

Increased mobility -- of programs between computers, computers between locations, and computers between users -- leads to increased replication, which leads to inconsistency, which leads to a broad (and growing) range of synchronization technologies. These technologies are not only a fact of life; they are intellectually fascinating and raise a host of challenging questions.

Some friends and I have spent a good part of the last few years on building and specifying a very specific and particular sort of synchronizer -- a file synchronizer called Unison. More recently, I've been trying to generalize intuitions from this domain to richer domains such as XML synchronization. I'll describe some initial steps in this direction.