A Peer-to-Peer Approach to Enhance Middleware Connectivity

One of the problems of middleware for shared state is that they are designed, explicitly or implicitly, for symmetric networks. However, since the Internet is not symmetric, end-to-end process connectivity cannot be guaranteed. Our solution to this is to provide the middleware with a network abstraction layer that masks the asymmetry of the network and provides the illusion of a symmetric network. We describe the communication service of our middleware, the Distribution Subsystem (DSS), which carefully separates connections to remote processes from the protocols that communicate over them. This separation is used to plug-in a peer-to-peer module to provide symmetric and persistent connectivity. The P2P module can provide both up-to-date addresses for mobile processes as well as route discovery to overcome asymmetric links.

[1]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[2]  Scott Shenker,et al.  Internet indirection infrastructure , 2004, TNET.

[3]  Maurice Herlihy,et al.  A tale of two directories: implementing distributed shared objects in Java , 1999, JAVA '99.

[4]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[5]  Mark Handley,et al.  Application-Level Multicast Using Content-Addressable Networks , 2001, Networked Group Communication.

[6]  Jason Maassen,et al.  Efficient replicated method invocation in Java , 2000, JAVA '00.

[7]  Charles E. Perkins,et al.  IP Mobility Support , 1996, RFC.

[8]  Seif Haridi,et al.  The Design and Evaluation of a Middleware Library for Distribution of Language Entities , 2003, ASIAN.

[9]  Hari Balakrishnan,et al.  Reconsidering Internet mobility , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[10]  Jim Waldo,et al.  A Note on Distributed Computing , 1996, Mobile Object Systems.

[11]  David K. Gifford,et al.  Names should mean what, not where , 1992, EW 5.

[12]  Jon Crowcroft,et al.  Networked Group Communication , 2001, Lecture Notes in Computer Science.

[13]  Seif Haridi,et al.  DKS(N, k, f): a family of low communication, scalable and fault-tolerant infrastructures for P2P applications , 2003, CCGrid 2003. 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 2003. Proceedings..

[14]  Jan Vitek,et al.  Mobile Object Systems Towards the Programmable Internet , 1996, Lecture Notes in Computer Science.

[15]  Y. Smaragdakis,et al.  NRMI: natural and efficient middleware , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[16]  David A. Maltz,et al.  MSOCKS: an architecture for transport layer mobility , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[17]  Hari Balakrishnan,et al.  The design and implementation of an intentional naming system , 1999, SOSP.

[18]  Michael Factor,et al.  cJVM: a single system image of a JVM on a cluster , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[19]  Israel Ben-Shaul,et al.  Dynamic layout of distributed applications in FarGo , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).