Communication primitives for ubiquitous systems or RPC considered harmful

RPC is widely used to access and modify remote state. Its procedural call semantics are argued as an efficient unifying paradigm for both local and remote access. Our experience with ubiquitous device control systems has shown otherwise. RPC semantics of a synchronous, blocking invocation on a statically typed interface are overly restrictive, inflexible, and fail to provide an efficient unifying abstraction for accessing and modifying state in ubiquitous systems. This paper considers other alternatives and proposes the use of comvets (conditional, mobility aware events) as the unifying generic communication paradigm for such systems.

[1]  Andrew S. Tanenbaum,et al.  A Critique of the Remote Procedure Call Paradigm , 1988 .

[2]  Randy H. Katz,et al.  Composable ad-hoc mobile services for universal interaction , 1997, MobiCom '97.

[3]  David Wong,et al.  Concordia: An Infrastructure for Collaborating Mobile Agents , 1997, Mobile Agents.

[4]  W. Keith Edwards,et al.  Core Jini , 1999 .

[5]  S. Wray,et al.  The Medusa applications environment , 1994, 1994 Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[6]  David J. Greaves,et al.  Warren: a low-cost ATM home area network , 1998 .

[7]  D. Woolley The White Paper. , 1972, British medical journal.

[8]  B. R. Badrinath,et al.  M-RPC: a remote procedure call service for mobile clients , 1995, MobiCom '95.

[9]  Benjamin C. Pierce,et al.  Location-Independent Communication for Mobile Agents: A Two-Level Architecture , 1998, ICCL Workshop: Internet Programming Languages.

[10]  Michael Koch,et al.  Ubiquitous Computing , 2001, CSCW-Kompendium.

[11]  Anand R. Tripathi,et al.  Mobile agent programming in Ajanta , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[12]  Randy H. Katz,et al.  Universal Inbox: providing extensible personal mobility and service mobility in an integrated communication network , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[13]  Umar Saif,et al.  Internet Access to a Home Area Network , 2001, IEEE Internet Comput..

[14]  Jean Bacon,et al.  Generic Support for Distributed Applications , 2000, Computer.

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

[16]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[17]  David A. Maltz,et al.  A performance comparison of multi-hop wireless ad hoc network routing protocols , 1998, MobiCom '98.

[18]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[19]  Jean Bacon,et al.  Using events for the scalable federation of heterogeneous components , 1998, ACM SIGOPS European Workshop.

[20]  Douglas C. Schmidt,et al.  The design and performance of a CORBA audio/video streaming service , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[21]  Robbert van Renesse,et al.  Experiences with the Amoeba distributed operating system , 1990, CACM.

[22]  M. Weiser,et al.  Hot topics-ubiquitous computing , 1993 .

[23]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.