Apr 27, 2007

Peer-to-Peer (P2P) Simplified protocol

P2PS (Peer-to-Peer Simplified) is a lightweight infrastructure for peer-to-peer service discovery and pipe-based communication. As its names suggests, P2PS aims to provide a simple platform on which to develop peer-to-peer style applications, hiding the complexity of other similar architectures such as JXTA.

The P2PS protocols allow ad-hoc peer networks to be created containing everything from super-computer peers to PDAs. P2PS peers can create and advertise services within the network and discover the services offered by other peers. Services usually have at least one pipe associated, an abstract communication channel used to contact the service. Pipes are only bound to specific transport protocols (e.g. TCP/IP) at connection time and allow peers to communicate over multiple protocols.

The current P2PS reference implementation is written using Java, however as P2PS is based on XML protocols interoperability should exist with other implementations. The Java implementation provides a straightforward API for creating and advertising a peer within a network and for discovering the capabilities of other peers. Pluggable endpoint resolvers allow additional transport protocols to be inserted transparently to the application.

P2PS is an open-source project.

The source code is available from the download section of this website.

tags: , , , , , , , , ,

No comments: