An implementation method of migratable distributed objects using an RPC technique integrated with virtual memory management

  • Kenji Kono
  • Kazuhiko Kato
  • Takashi Masuda
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1098)


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.


Address Space Runtime System Page Fault Distribute Shared Memory Virtual Address 
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.
    H. E. Bal, M. F. Kaashoek, and A. S. Tanenbaum. Orca: A language for parallel programming of distributed systems. IEEE Transactions on Software Engineering, Vol. 18, No. 3, March 1992.Google Scholar
  2. 2.
    John K. Bennett. The design and implementation of distributed smalltalk. In ACM OOPSLA'87, pp. 318–330, 1987.Google Scholar
  3. 3.
    A. D. Birrell and B. J. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, Vol. 2, No. 1, pp. 39–59, February 1984.CrossRefGoogle Scholar
  4. 4.
    Vinny Cahill, Sean Baker, Chris Horn, and Gradimir Starovic. The Amadeus GRT — generic runtime support for distributed persistent programming. In OOPSLA Proceedings 1993, pp. 144–161. ACM, 1993.Google Scholar
  5. 5.
    Craig Chambers and David Ungar. Making pure object-oriented languages practical. In ACM OOPSLA'91, pp. 1–15, 1991.Google Scholar
  6. 6.
    P. Dasgupta, R. LeBlanc Jr., M. Ahamad, and U. Ramachandran. The Clouds distributed operating system. IEEE Computer, Vol. 24, No. 11, pp. 34–44, Nov. 1991.Google Scholar
  7. 7.
    J. Dean, D. Grove, and C. Chambers. Optimization of object-oriented programs using static class hierarchy analysis. In European Conf. on Object-Oriented Programming (ECOOP), pp. 77–101, 1995.Google Scholar
  8. 8.
    Fred Douglis and John Ousterhout. Transparent process migration: Design alternatives and the Sprite implementation. Software Practice and Experience, Vol. 21, No. 8, pp. 757–785, August 1991.Google Scholar
  9. 9.
    J. Gosling and H. McGilton. The Java language environments: A White Paper. Technical report, Sun Microsystems, 1995.Google Scholar
  10. 10.
    Roger Hayes and Richard D. Schlichting. Faciliating mixed language programming in distributed systems. IEEE Transactions on Software Engineering, Vol. SE-13, No. 12, pp. 1254–1264, December 1987.Google Scholar
  11. 11.
    E. Jul, H. Levy, N. Hutchinson, and A. Black. Fine-grained mobility in the Emerald system. ACM Transactions on Computer Systems, Vol. 6, No. 1, pp. 109–133, February 1988.CrossRefGoogle Scholar
  12. 12.
    K. Kato, A. Ohori, T. Murakami, and T. Masuda. Distributed C language based on a higher-order remote procedure call technique. In Advances in Software Science and Technology, volume 5, pp. pp. 119–143. Academic Press, 1993.Google Scholar
  13. 13.
    K. Kono, K. Kato, and T. Masuda. Transparent pointers in remote procedure calls. In preparation for submission.Google Scholar
  14. 14.
    K. Kono, K. Kato, and T. Masuda. Smart remote procedure calls: Transparent treatment of remote pointers. In Proc. IEEE 14th Int. Conf. on Distributed Computing Systems, pp. 142–151, 1994.Google Scholar
  15. 15.
    D. Lenoski, J. Laudon, K. Gharachorloo, W. Weber, A. Gupta, J. Hennessy, M. Horowitz, and M. S. Lan. The Stanford dash multiprocessor. IEEE Computer, pp. 63–79, March 1992.Google Scholar
  16. 16.
    K. Li and P. Hudak. Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems, Vol. 7, No. 4, pp. 321–359, November 1989.CrossRefGoogle Scholar
  17. 17.
    A. Ohori and K. Kato. Semantics for communication primitives in a polymorphic language. In Proc. 20th ACM Symp. on Principles of Programming Languages, pp. 99–112, January 1993.Google Scholar
  18. 18.
    H. Okamura and Y. Ishikawa. Object location control using meta-level programming. In European Conf. on Object-Oriented Programing (ECOOP), pp. 299–319, 1994.Google Scholar
  19. 19.
    Marc Shapiro. Structure and encapsulation in distributed systems: the Proxy Principle. In Proc. IEEE Int. Conf. on Distributed Computing Systems, pp. 198–204, 1986.Google Scholar
  20. 20.
    Marc Shapiro, Philippe Gautron, and Laurence Mosseri. Persistence and migration for C++ objects. In European Conf. on Object-Oriented Programming (ECOOP), pp. 191–204, 1989.Google Scholar
  21. 21.
    Sun Microsystems Inc. External Data Representation Standard:Protocol Specification, March 1990.Google Scholar
  22. 22.
    J. E. White. Mobile Agents. MIT Press, 1996. To appear.Google Scholar
  23. 23.
    S. Zhou, S. Stumm, K. Li, and D. Wortman. Heterogeneous distributed shared memory. IEEE Transactions on Parallel and Distributed Systems, Vol. 3, No. 5, pp. 540–554, September 1992.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Kenji Kono
    • 1
  • Kazuhiko Kato
    • 2
  • Takashi Masuda
    • 1
  1. 1.Department of Information Science, Graduate School of ScienceUniversity of TokyoTokyoJapan
  2. 2.Institute of Information Sciences and ElectronicsUniversity of TsukubaIbarakiJapan

Personalised recommendations