OS support for P2P programming: a case for TPS

Just as the remote procedure call (RPC) turned out to be a very effective OS abstraction in building client-server applications over LANs, type-based publish-subscribe (TPS) can be viewed as a high-level candidate abstraction for building peer-to-peer (P2P) applications over WANs. This paper relates our preliminary, though positive, experience of implementing and using TPS over JXTA, which can be viewed as the P2P counterpart to sockets. We show that, at least for P2P applications with the Java type model, TPS provides a high-level programming support that ensures type safety and encapsulation, without hampering the decoupled nature of these applications. Furthermore, the loss of flexibility (inherent to the use of any high level abstraction) and the performance overhead, are negligible with respect to the simplicity gained by using TPS.

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

[2]  Dale Skeen,et al.  The Information Bus: an architecture for extensible distributed systems , 1994, SOSP '93.

[3]  Martin Odersky,et al.  Making the future safe for the past: adding genericity to the Java programming language , 1998, OOPSLA '98.

[4]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[5]  Marcos K. Aguilera,et al.  Matching events in a content-based subscription system , 1999, PODC '99.

[6]  John A. Zinky,et al.  PASS-a service for efficient large scale dissemination of time varying data using CORBA , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[7]  David S. Rosenblum,et al.  Achieving scalability and expressiveness in an Internet-scale event notification service , 2000, PODC '00.

[8]  Rachid Guerraoui,et al.  Type-Based Publish/Subscribe , 2000 .

[9]  Patrick Th. Eugster,et al.  Distributed Asynchronous Collections: Abstractions for Publish/Subscribe Interaction , 2000, ECOOP.

[10]  Dennis Shasha,et al.  Publish/Subscribe on the Web at Extreme Speed , 2000, VLDB.

[11]  Ian Clarke,et al.  Freenet: A Distributed Anonymous Information Storage and Retrieval System , 2000, Workshop on Design Issues in Anonymity and Unobservability.

[12]  Alberto Montresor Anthill: a Framework for the Design and the Analysis of Peer-to-Peer Systems , 2001 .

[13]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.

[14]  Andy Oram,et al.  Peer-to-Peer: Harnessing the Power of Disruptive Technologies , 2001 .

[15]  Dennis Heimbigner,et al.  Adapting publish/subscribe middleware to achieve Gnutella-like functionality , 2001, SAC.

[16]  Dennis Shasha,et al.  Filtering algorithms and implementation for very fast publish/subscribe systems , 2001, SIGMOD '01.

[17]  Margaret Weatherford P2P Acclaimed by a Jury of Peers , 2001, IEEE Distributed Syst. Online.

[18]  Patrick Th. Eugster,et al.  On objects and events , 2001, OOPSLA '01.

[19]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[20]  James F. Doyle,et al.  Peer-to-Peer: harnessing the power of disruptive technologies , 2001, UBIQ.

[21]  Martin Suter,et al.  Small World , 2002 .