A Lightweight Reliable Object Migration Protocol

  • Peter Van Roy
  • Per Brand
  • Seif Haridi
  • Raphaël Collet
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1686)


This paper presents a lightweight reliable object migration protocol that preserves the centralized object semantics, allows for precise prediction ofnet work behavior, and permits construction of fault tolerance abstractions in the language. Each object has a “home site” to which all migration requests are directed. Compared to the standard technique of creating and collapsing forwarding chains, this gives a better worst-case network behavior and it limits dependencies on third-party sites. The protocol de.nes “freely mobile” objects that have the interesting property of always executing locally, i.e., each method executes in the thread that invokes it. This makes them dual, in a precise sense, to stationary objects. The protocol is designed to be as efficient as a nonreliable protocol in the common case of no failure, and to provide sufficient hooks so that common fault tolerance algorithms can be programmed completely in the Oz language. The protocol is fully implemented in the network layer of the Mozart platform for distributed application development, which implements Oz (see This paper defines the protocol in an intuitive yet precise way using the concept of distribution graph to model distributed execution oflanguage entities. Formalization and proofofproto col properties are done elsewhere.


State Pointer Access Structure Failure Detection Network Behavior Distribution Graph 
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.
    Mack W. Alford, Leslie Lamport, and Geo. P. Mullery. chapter 2. Lecture Notes in Computer Science, vol. 190. Springer Verlag, 1985. Basic Concepts, in Distributed Systems-Methods and Tools for Specification, An Advanced Course.Google Scholar
  2. 2.
    Iliès Alouini and Peter Van Roy. Le protocole r’eparti de Distributed Oz (The distributed protocol of Distributed Oz) (in French). In Colloque Francophone sur l’Ing’enierie des Protocoles (CFIP 99), pages 283–298. Hermès Science Publications, April 1999.Google Scholar
  3. 3.
    Iliès Alouini and Peter Van Roy. An open distributed fault-tolerant transactional store in Mozart. In preparation, 2000.Google Scholar
  4. 4.
    Per Brand, Peter Van Roy, Raphaël Collet, and Erik Klintskog. A fault-tolerant mobile-state protocol and its language interface. In preparation, 1999.Google Scholar
  5. 5.
    Luca Cardelli. A language with distributed scope. In Principles of Programming Languages (POPL), pages 286–297, January 1995.Google Scholar
  6. 6.
    Douglas E. Comer. Internetworking with TCP/IP. Vol. 1: Principles, Protocols, and Architecture. Prentice-Hall, Englewood Cliffs, N.J., 1995.Google Scholar
  7. 7.
    Donatien Grolaux. Editeur graphique r’eparti bas’e sur un modèle transactionnel (A distributed graphic editor based on a transactional model) (in French). Technical report, Universit’e catholique de Louvain, June 1998. M’emoire de fin d’’etudes (Master’s project).Google Scholar
  8. 8.
    Seif Haridi and Nils Franz’en. Tutorial of Oz. Technical report, 1999. Draft. In Mozart documentation, available at
  9. 9.
    Seif Haridi, Peter Van Roy, Per Brand, and Christian Schulte. Programming languages for distributed applications. New Generation Computing, 16(3), May 1998.Google Scholar
  10. 10.
    Eric Jul, Henry Levy, Norman Hutchinson, and Andrew Black. Fine-grained mobility in the Emerald system. ACM Transactions on Computer Systems, 6(1):109–133, February 1988.CrossRefGoogle Scholar
  11. 11.
    Mozart Consortium (DFKI, SICS, UCL, UdS). The Mozart programming system (Oz 3), January 1999. Available at
  12. 12.
    James D. Solomon. Mobile IP-The Internet Unplugged. PTR Prentice Hall, Upper Saddle River, New Jersey, 1998.Google Scholar
  13. 13.
    Sun Microsystems. The Java Series. Mountain View, Calif., 1996. Available at
  14. 14.
    Sun Microsystems. The Remote Method Invocation Specification. Sun Microsystems, Mountain View, Calif., 1997. Available at Scholar
  15. 15.
    Tommy Thorn. Programming languages for mobile code. ACM Computing Surveys, 29(3):213–239, September 1997.CrossRefGoogle Scholar
  16. 16.
    Peter Van Roy. Eliminating manager dependency in mobile cell protocol, August 1999. Message on internal Mozart mailing list.Google Scholar
  17. 17.
    Peter Van Roy. On the separation ofasp ects in distributed programming: Application to distribution structure and fault tolerance in Mozart. In International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA 99), Tohoku University, Sendai, Japan, July 1999.Google Scholar
  18. 18.
    Peter Van Roy, Seif Haridi, and Per Brand. Distributed programming in Mozart — A tutorial introduction. Technical report, Mozart Consortium, 1999. Draft. In Mozart documentation, available at
  19. 19.
    Peter Van Roy, Seif Haridi, Per Brand, Gert Smolka, Michael Mehl, and Ralf Scheidhauer. Mobile objects in Distributed Oz. ACM Transactions on Programming Languages and Systems, 19(5):804–851, September 1997.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Peter Van Roy
    • 1
    • 2
  • Per Brand
    • 2
  • Seif Haridi
    • 2
  • Raphaël Collet
    • 1
  1. 1.Universit’e catholique de LouvainLouvain-la-NeuveBelgium
  2. 2.Swedish Institute of Computer ScienceKistaSweden

Personalised recommendations