A Lightweight Reliable Object Migration Protocol
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 http://www.mozart-oz.org). 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.
KeywordsState Pointer Access Structure Failure Detection Network Behavior Distribution Graph
Unable to display preview. Download preview PDF.
- 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.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.Iliès Alouini and Peter Van Roy. An open distributed fault-tolerant transactional store in Mozart. In preparation, 2000.Google Scholar
- 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.Luca Cardelli. A language with distributed scope. In Principles of Programming Languages (POPL), pages 286–297, January 1995.Google Scholar
- 6.Douglas E. Comer. Internetworking with TCP/IP. Vol. 1: Principles, Protocols, and Architecture. Prentice-Hall, Englewood Cliffs, N.J., 1995.Google Scholar
- 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.Seif Haridi and Nils Franz’en. Tutorial of Oz. Technical report, 1999. Draft. In Mozart documentation, available at http://www.mozart-oz.org.
- 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
- 11.Mozart Consortium (DFKI, SICS, UCL, UdS). The Mozart programming system (Oz 3), January 1999. Available at http://www.mozart-oz.org.
- 12.James D. Solomon. Mobile IP-The Internet Unplugged. PTR Prentice Hall, Upper Saddle River, New Jersey, 1998.Google Scholar
- 13.Sun Microsystems. The Java Series. Mountain View, Calif., 1996. Available at http://www.aw.com/cp/javaseries.html.
- 16.Peter Van Roy. Eliminating manager dependency in mobile cell protocol, August 1999. Message on internal Mozart mailing list.Google Scholar
- 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.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 http://www.mozart-oz.org.