OS Support for P2P Programming: a Case for TPS

Just like Remote Procedure Call (RPC) turned out to be a very effective OS ab-straction in building client-server applications over LANs, Type-based Publish-Sub-scribe (TPS) can be viewed as a high-level candidate OS 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: an analogous to the sockets for P2P infrastructures. 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 flex-ibility (inherent to the use of any high level abstraction) and the performance over-head, are negligible with respect to the simplicity gained by using TPS.

Related material