Semantics for parameter passing in a type-complete persistent RPC

Current RPC mechanisms for persistent languages are either pass by reference-in which case they do not scale-or pass by copy-in which case they duplicate objects and destroy sharing relationships. In this paper we argue that to build very large distributed persistent applications a compromise between these two mechanisms is needed. The ultimate goal of our research is to build a scalable persistent RPC while still maintaining object sharing type safety, type completeness and semantics that are readily understood by application programmers.

[1]  Phillip B. Gibbons A Stub Generator for Multilanguage RPC in Heterogeneous Environments , 1987, IEEE Transactions on Software Engineering.

[2]  David S. Munro On the integration of concurrency, distribution and persistence , 1994 .

[3]  BlackAndrew,et al.  Fine-grained mobility in the Emerald system , 1988 .

[4]  Miguel Mira da Silva,et al.  Automating Type-safe RPC , 1995, RIDE-DOM.

[5]  Frank Kappe,et al.  A Scalable Architecture for Maintaining Referential Integrity in Distributed Information Systems , 1995, J. Univers. Comput. Sci..

[6]  James G. Mitchell,et al.  Subcontract: a flexible base for distributed programming , 1994, SOSP '93.

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

[8]  Michael Burrows,et al.  Performance of Firefly RPC , 1989, SOSP '89.

[9]  Edward Wobber,et al.  Network objects , 1994, SOSP '93.

[10]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[11]  Larry Carter,et al.  Distrbution and Abstract Types in Emerald , 1987, IEEE Transactions on Software Engineering.

[12]  Alan Dearle,et al.  Cache Coherency and Storage Management in a Persistent Object System , 1990, POS.

[13]  James A. Gosling,et al.  The java language environment: a white paper , 1995 .

[14]  Liuba Shrira,et al.  Promises: linguistic support for efficient asynchronous procedure calls in distributed systems , 1988, PLDI '88.

[15]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[16]  Steve Wilbur,et al.  Building distributed systems with remote procedure call , 1987, Softw. Eng. J..

[17]  Jochen Liedtke,et al.  Improving IPC by kernel design , 1994, SOSP '93.

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

[19]  Malcolm P. Atkinson Programming Languages and Databases , 1978, VLDB.

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

[21]  David S. Munro,et al.  The Napier88 Standard Library Reference Manual , 1997 .

[22]  Andrew P. Black,et al.  Interconnecting heterogeneous computer systems , 1988, CACM.

[23]  Maurice Herlihy,et al.  A Value Transmission Method for Abstract Data Types , 1982, TOPL.

[24]  Brian N. Bershad,et al.  Lightweight remote procedure call , 1989, TOCS.

[25]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[26]  Florian Matthes,et al.  Scaling Database Languages to Higher-Order Distributed Programming , 1995, DBPL.

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