Enhancing dependability of cooperative applications in partitionable environments

  • François J. N. Cosquer
  • Pedro Antunes
  • Paulo Veríssimo
Session 8 Replication and Distribution
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1150)


This paper presents a pragmatic approach to providing partition processing system support for cooperative applications. A method for specifying and programming application-level partition processing strategies is described. The system support is based on a partition typing mechanism which allows the application programmer to model the relative importance of partitions. This is combined with a split/merge rules configuration table through which the partition processing strategy is defined. In the context of cooperative application semantics, our approach combines the correctness of the pessimistic, and the availability of the optimistic approaches for data management in partitionable environments. The paper focuses on the practical issues linked with, firstly, the specification, and secondly, the support at runtime, of the partition processing strategies. This approach is relevant in the context of large-scale asynchronous distributed systems such as the Internet, which, as a result of current technology and topology, are inevitably prone to partitions. Examples are given, illustrating how the partition support is used and combined with new feedback techniques in order to implement more robust cooperative environments.


Fault-Tolerance Cooperative Applications Tool Configuration Interconnected Networks 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aleta Ricciardi, Andre Schiper, and Kenneth Birman. Understanding Partitions and the No Partition Assumption. In Proceedings of the 4th Workshop on Future Trends of Distributed Computing Systems, pages 354–360, September 1993.Google Scholar
  2. 2.
    François J.N. Cosquer and Paulo Veríssimo. Survey of Selected Groupware Applications and Supporting Platforms. Technical Report 2nd Year-Vol. 1, BROADCAST, Rua Alves Redol 9-6o, 1000 Lisboa, Portugal, September 1994. (Also available as INESC Report RT-21-94).Google Scholar
  3. 3.
    Hector Garcia-Molina Susan B. Davidson and Dale Skeen. Consistency in partitioned networks. Computing Surveys, 17(3):341–370, September 1985.Google Scholar
  4. 4.
    James J. Kistler and M. Satyanarayanan. Disconnected Operation in the Coda File System. ACM Transactions on Computer Systems, 10(1):3–25, February 1992.Google Scholar
  5. 5.
    François J.N. Cosquer and Paulo Veríssimo. The Impact of Group Communication Paradigms in Groupware Support. In Proceedings of the 5th Workshop on Future Trends of Distributed Computing Systems, Cheju Island, August 1995.Google Scholar
  6. 6.
    Kenneth P. Birman and Thomas A. Joseph. Exploiting Virtual Synchrony in Distributed Systems. In 11th Symposium on Operating Systems Principles, pages 123–138, November 1987.Google Scholar
  7. 7.
    A. Shiper and A. Ricciardi. Virtually Synchronous Communication based on a weak failure suspector. In Proceedings of the 23rd Int. Conf. on Fault Tolerant Computing Systems, June 1993.Google Scholar
  8. 8.
    Danny Dolev, Dalia Malki, and Ray Strong. An Asynchronous Membership Protocol that Tolerates Partition. Technical report, Institute of Computer Science, The Hebrew University of Jerusalem, Israel, 1995.Google Scholar
  9. 9.
    François J.N. Cosquer, Luís Rodrigues, and Paulo Veríssimo. Using Tailored Failure Suspectors to Support Distributed Cooperative Applications. In Proceedings of the 7th International Conferenceon Parallel and Distributed Computingand Systems, Washington D.C., October 1995.Google Scholar
  10. 10.
    Luís Rodrigues and Paulo Veríssimo. Causal Separators for Large-Scale Multicast Communication. In Proceedings of the 15th International Conference on Distributed Computing Systems, June 1995.Google Scholar
  11. 11.
    L. Rodrigues, H. Fonseca, and P. Veríssimo. Totally ordered multicast in large-scale systems. In Proceedings of the 16th International Conference on Distributed Computing Systems, pages 503–510, Hong Kong, May 1996. IEEE.Google Scholar
  12. 12.
    M. J. Fischer, N. A. Lynch, and M. S. Paterson. Impossibility of Distributed Consensus with One Faulty Process. Journal of the Association for Computing Machinery, 32(2):374–382, April 1985.Google Scholar
  13. 13.
    Kenneth P. Birman and Robbert van Renesse. Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, 1994.Google Scholar
  14. 14.
    R. van Renesse, Ken Birman, Robert Cooper, Brad Glade, and Patrick Stephenson. The Horus System. Technical report, Cornell University, July 1993.Google Scholar
  15. 15.
    Y Amir, L. Moser, P. Melliar-Smith, D. Agarwal, and P. Ciarfella. Fast Message Ordering and Membership Using a Logical Token-Passing Ring. In Proceedings of the 13th International Conference on Distributed Computing Systems, pages 551–560, Pittsburgh, Pennsylvania, USA, May 1993.Google Scholar
  16. 16.
    Danny Dolev, Dalia Malki, and Ray Strong. A Framework for Partitionable Membership Service. Technical Report CS95-4, The Hebrew University of Jerusalem, Jerusalem, Israel, 1995.Google Scholar
  17. 17.
    Matti A. Hiltunen and Richard D. Schlichting. A Configurable Membership Service. Technical Report TR 94-37, University of Arizona, Tucson, AZ 85721, December 1994.Google Scholar
  18. 18.
    L.E. Moser, Y. Amir, P.M. Melliar-Smith, and D.A. Argawal. Extended Virtual Synchrony. In Proceedings of the 14th International Conference on Distributed Computing Systems, pages 56–65, Poland, June 1994.Google Scholar
  19. 19.
    Flaviu Cristian. Understanding fault-tolerant distributed systems. Communications of the ACM, 34(2):56–78, February 1991.Google Scholar
  20. 20.
    D. Powell, editor. Delta-4 — A Generic Architecture for Dependable Distributed Computing. ESPRIT Research Reports. Springer Verlag, 1991.Google Scholar
  21. 21.
    David K. Gifford. Weighted Voting for Replicated Data. In Proceeding of the Symposium on Operating Systems Principles (SOSP), pages 150–163, 1979.Google Scholar
  22. 22.
    Luís Rodrigues and Paulo Veríssimo. xAMp: a Multi-primitive Group Communications Service. In 11th Symposium on Reliable Distributed Systems, pages 112–121, October 1992.Google Scholar
  23. 23.
    Paulo Veríssimo and Luís Rodrigues. The NavTech Large-Scale Distributed Computing Platform. Technical Report RT-95, Broadcast Project, INESC, Rua Alves Redol 9-6o, 1000 Lisboa, Portugal (in preparation).Google Scholar
  24. 24.
    Pedro Antunes and Nuno Guimarães. Structuring Elements for Group Interation. In Second Conference on Concurrent Engineering, Research and Applications (CE95), Washington D.C., August 1995.Google Scholar
  25. 25.
    P. Antunes and N. Guimaraes. NGTool — exploring mechanisms of support to interaction. In First CYTED-RITOS International Workshopon Groupware CRIWG '5, Lisboa, Portugal, August 1995. CYTED-RITOS.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • François J. N. Cosquer
    • 1
    • 2
  • Pedro Antunes
    • 1
    • 2
  • Paulo Veríssimo
    • 3
  1. 1.Institute Superior TécnicoTechnical University of LisboaPortugal
  2. 2.Instituto de Engenharia de Sistemas e ComputadoresLisboaPortugal
  3. 3.Faculdade de Ciências da Universidade de LisboaLisboaPortugal

Personalised recommendations