Semantics-Based Reconciliation for Collaborative and Mobile Environments

  • Nuno Preguiça
  • Marc Shapiro
  • Caroline Matheson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2888)


IceCube is a system for optimistic replication, supporting collaborative work and mobile computing. It lets users write to shared data with no mutual synchronisation; however replicas diverge and must be reconciled. IceCube is a general-purpose reconciliation engine, parameterised by “constraints” capturing data semantics and user intents. IceCube combines logs of disconnected actions into near-optimal reconciliation schedules that honour the constraints. IceCube features a simple, high-level, systematic API . It seamlessly integrates diverse applications, sharing various data, and run by concurrent users. This paper focus on the IceCube API and algorithms. Application experience indicates that IceCube simplifies application design, supports a wide variety of application semantics, and seamlessly integrates diverse applications. On a realistic benchmark, IceCube runs at reasonable speeds and scales to large input sets.


Execution Time Static Constraint Mobile Environment Dynamic Constraint Object Constraint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Balasubramaniam, S., Pierce, B.C.: What is a file synchronizer? In: Int. Conf. on Mobile Comp. and Netw. (MobiCom 1998), October 1998, ACM/IEEE (1998),
  2. 2.
    Cederqvist, P., Pesch, R., et al.: Version management with CVS, date unknown,
  3. 3.
    Fages, F.: A constraint programming approach to log-based reconciliation problems for nomadic applications. In: Proc. 6th Annual W. of the ERCIM Working Group on Constraints (June 2001)Google Scholar
  4. 4.
    Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Tatcher, J.W. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum, New York (1972)Google Scholar
  5. 5.
    Kawell Jr., L., Beckhart, S., Halvorsen, T., Ozzie, R., Greif, I.: Replicated document management in a group communication system. In: 2nd. Conf. on Comp.-Supported Coop. Work, Portland OR (USA) (September 1988)Google Scholar
  6. 6.
    Keleher, P.J.: Decentralized replicated-object protocols. In: 18th Symp. on Princ. of Distr. Comp. (PODC), Atlanta, GA, USA (May 1999),
  7. 7.
    Kermarrec, A.-M., Rowstron, A., Shapiro, M., Druschel, P.: The IceCube approach to the reconciliation of divergent replicas. In: 20th Symp. on Principles of Dist. Comp. (PODC), Newport RI (USA) (August 2001), ACM SIGACTSIGOPS,
  8. 8.
    Kumar, P., Satyanarayanan, M.: Flexible and safe resolution of file conflicts. In: Usenix Tech. Conf., New Orleans, LA, USA (January 1995),
  9. 9.
    Lippe, E., van Oosterom, N.: Operation-based merging. ACM SIGSOFT Software Engineering Notes 17(5), 78–87 (1992)CrossRefGoogle Scholar
  10. 10.
    Phatak, S., Badrinath, B.R.: Transaction-centric reconciliation in disconnected databases. In: ACM MONET (July 2000)Google Scholar
  11. 11.
    Preguiça, N., Shapiro, M., Matheson, C.: Efficient semantics-aware reconciliation for optimistic write sharing. Technical Report MSR-TR-2002-52, Microsoft Research, Cambridge (UK) (May 2002),
  12. 12.
    Ramsey, N., Csirmaz, E.: An algebraic approach to file synchronization. In: 9th Foundations of Softw. Eng., pp. 175–185, Austria (September 2001)Google Scholar
  13. 13.
    Saito, Y., Shapiro, M.: Replication: Optimistic approaches. Technical Report HPL-2002-33, Hewlett-Packard Laboratories (March 2002),
  14. 14.
    Schwartz, P.M., Spector, A.Z.: Synchronizing shared abstract types. ACM Transactions on Computer Systems 2(3), 223–250 (1984)CrossRefGoogle Scholar
  15. 15.
    Sun, C., Ellis, C.: Operational transformation in real-time group editors: issues, algorithms, and achievements. In: Conf. on Comp.-Supported Cooperative Work (CSCW), p. 59, Seattle WA (USA) (November 1998),
  16. 16.
    Terry, D.B., Theimer, M., Petersen, K., Spreitzer, M.: An examination of conflicts in a weakly-consistent, replicated application. Personal Communication (2000)Google Scholar
  17. 17.
    Terry, D.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., Hauser, C.H.: Managing update conflicts in Bayou, a weakly connected replicated storage system. In: Proc. 15th ACM Symposium on Operating Systems Principles, Copper Mountain CO (USA), ACM SIGOPS (December 1995),
  18. 18.
    Weihl, W.E.: Commutativity-based concurrency control for abstract data types. IEEE Transactions on Computers 37(12), 1488–1505 (1988), zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Yu, H., Vahdat, A.: Combining generality and practicality in a Conitbased continuous consistency modelfor wide-area replication. In: 21st Int. Conf. on Dist. Comp. Sys (ICDCS) (April 2001),

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Nuno Preguiça
    • 1
  • Marc Shapiro
    • 2
  • Caroline Matheson
    • 2
  1. 1.Dep. Informática, FCTUniversidade Nova de LisboaPortugal
  2. 2.Microsoft Research Ltd.CambridgeUK

Personalised recommendations