Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
A language with distributed scope
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Programming languages for mobile code
ACM Computing Surveys (CSUR)
Mobile IP: the Internet unplugged
Mobile IP: the Internet unplugged
Mobile objects in distributed Oz
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming languages for distributed applications
New Generation Computing
Internetworking with TCP/IP: Principles, Protocols, and Architecture
Internetworking with TCP/IP: Principles, Protocols, and Architecture
Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985 Munich
Hi-index | 0.00 |
This paper presents a lightweight reliable object migration protocol that preserves the centralized object semantics, allows for precise prediction of network 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 ofcreating and collapsing forwarding chains, this gives a better worst-case network behavior and it limits dependencies on third-party sites. The protocol defines "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.