Central articles: * Sundar Balasubramaniam and Benjamin C. Pierce, "What is a File Synchronizer", Fourth Annual ACM/IEEE International Conference on Mobile Computing and Networking, 1998. * Norman Ramsey, Elod Csirmaz, "An Algebraic Approach to File Synchronization", Foundations of Software Engineering, 175-185, 2001. * Tancred Lindholm, "A 3-Way Merging Algorithm for Synchronizing Ordered Trees: The 3DM Merging and Differencing Tool for XML", Master's thesis, Helsinki University of Technology, 2001. Questions: (File synchronization) 1. A basic assumption in ``What is a File Synchronizer'' is that the two replicas are in the same state prior to synchronization. What changes are required to relax this assumption? 2. How long can chains be with respect to the <= ordering on file systems? 3. Suggest a method to allow the state-based synchronizer to synchronize more than two replicas. 4. Why does the reconciliation algorithm specify a lexicographic order? Does order matter? 5. How can one find a sequence of operations that transform a file system F into a file system F'? 6. Show that conflicts depend on a particular sequence of operations. 7. Give an example that shows that the algebra is not complete. (Can you make the algebra complete?) (Tree matching and merging) 8. The author claims that the use of a DTD would make his tool more powerful. In what ways could the DTD assist the tool? 9. Is there a cleaner solution than the 128 byte pruning of matching edges to avoid relating (small) unrelated data? 10.Would it have helped the author to work with DAGs instead of trees?