Peer Groups

In P2P networks its difficult to control rogue peers. There is also an obvious need to limit access to resources for security and privacy reasons.

In typical application development, the application controls authentication/authorization and credentials. In P2P the application is distributed. Should this be the model each node would need to be responsible for implementing security.

In JXTA the peer group gives peers an application context. It is therefore also the logical place to implement application security and credentials.

Example Authorizations Schemes:
  • UserID/Password  (possible WebServices hybrid architecture?)
  • Voting by other peers

Groups can also contain any number of the standard set of "Peer Group Services". These services implement the JXTA protocols to provide a framework for the functionality a group may need.

  • Discovery Service - Access to the Peer Discovery Protocol
  • Membership Service - Access to a group-specific version of the Peer Membership Protocol. Performs authentication/authorization and issues credentials
  • Access Service - Part of the membership service used to ensure that peers are valid members of the group
  • Peer Authentication Service - uses credentials created by the PMP to verify validity of messages
  • Pipe Service - Implements the Pipe Binding Protocol.
  • Resolver Service - Implements Resolver Protocol. Distributes queries to other resolver services.
  • Monitoring Service - Monitors other peers on the network (logging, grant exra access based on usage, monitor security, etc).
[next]