Peer-to-Peer Middleware is an open source library implemented in Java by the members of the mTeam project.
The middleware consists of three main layers:
- generic peer-to-peer communication library
This layer is based on the Peer-to-Peer Protocol. Our implementation allows higher-layer applications to use Kademlia or a simple hierarchical routing. However it can be easily extended to provide a great variety of peer-to-peer routing algorithms.
- publish-subscribe protocol layer
It is built on top of Peer-to-Peer Protocol and aims to preserve its flexibility while most of the existing algorithms strongly depend on the underlying peer-to-peer routing algorithm (look here for details).
- synchronized collections
This layer provides a synchronized, distributed version of standard Java collections (look here for details).
Detailed user guide for the higher-layer applications developers is available here