An Implementation Method of Migratable Distributed Objects Using an RPC Technique Integrated with Virtual Memory Management

Object abstraction is indispensable to construction of distributed applications to encapsulate the details of execution entities. By applying an RPC technology integrated with virtual memory management, this paper presents a novel approach to implementing migratable distributed objects. The novelties of the approach are transparency achieved at the instruction code level, distributed dynamic methods, and applicability to heterogeneous environments. The instruction code level transparency naturally accomplishes object migration and enables efficient manipulation of migrated objects. The distributed dynamic methods provide the programmers with flexible control of activities.

[1]  Yutaka Ishikawa,et al.  Object Location Control Using Meta-level Programming , 1994, ECOOP.

[2]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[3]  P. R. Wilson,et al.  Pointer swizzling at page fault time: efficiently and compatibly supporting huge address spaces on standard hardware , 1992, [1992] Proceedings of the Second International Workshop on Object Orientation in Operating Systems.

[4]  Takashi Masuda,et al.  Distributed C Language Based on a Higher-Order RPC Technique , 1993 .

[5]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

[6]  David Grove,et al.  Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis , 1995, ECOOP.

[7]  Vivek Singhal,et al.  Texas: An Efficient, Portable Persistent Store , 1992, POS.

[8]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[9]  Craig Chambers,et al.  Making pure object-oriented languages practical , 1991, OOPSLA '91.

[10]  Fred Douglis,et al.  Transparent process migration: Design alternatives and the sprite implementation , 1991, Softw. Pract. Exp..

[11]  Munindar P. Singh,et al.  Agents on the Web: Mobile Agents , 1997, IEEE Internet Comput..

[12]  Paul R. Wilson,et al.  Pointer swizzling at page fault time: efficiently supporting huge address spaces on standard hardware , 1991, CARN.

[13]  Marc Shapiro,et al.  Structure and Encapsulation in Distributed Systems: The Proxy Principle , 1986, ICDCS.

[14]  Anoop Gupta,et al.  The Stanford Dash multiprocessor , 1992, Computer.

[15]  Kazuhiko Kato,et al.  Semantics for communication primitives in a polymorphic language , 1993, POPL '93.

[16]  Kai Li,et al.  Heterogeneous Distributed Shared Memory , 1992, IEEE Trans. Parallel Distributed Syst..

[17]  Partha Dasgupta,et al.  The Clouds distributed operating system: functional description, implementation details and related work , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[18]  Takashi Masuda,et al.  Smart remote procedure calls: transparent treatment of remote pointers , 1994, 14th International Conference on Distributed Computing Systems.

[19]  Richard D. Schlichting,et al.  Facilitating Mixed Language Programming in Distrbuted Systems , 1987, IEEE Transactions on Software Engineering.

[20]  Marc Shapiro,et al.  Persistence and Migration for C++ Objects , 1989, ECOOP.

[21]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[22]  John K. Bennett,et al.  The design and implementation of distributed Smalltalk , 1987, OOPSLA '87.

[23]  Vinny Cahill,et al.  The Amadeus GRT: generic runtime support for distributed persistent programming , 1993, OOPSLA '93.

[24]  Henri E. Bal,et al.  Orca: A Language For Parallel Programming of Distributed Systems , 1992, IEEE Trans. Software Eng..