JXTA Overview

Objectives

  • JXTA ("juxta") was designed to permit implementation of P2P applications using Java.

Characteristics

  • Interoperability:  Enable peers to find and communicate with each other.
  • Platform independence:  Independent of programming language, platform, network technology.
  • Ubiquity:  designed to be implemented on every device (PDAs, servers, etc.).

Architecture

  • Core:  manages communication and peer establishment.
  • Middle:  handles services (indexing, searching, file sharing).

JXTA Objects and Details

  • Each peer is given a 128-bit (not guaranteed to be globally) unique identifier.
  • Advertisements:  XML documents describing existence of peers, peer groups, pipes, or services.
  • Peer:  entity that understands all required protocols.
  • Messages:  base unit of communication, composed of an envelope and a body.  Should operate on asynchronous, unreliable, uni-directional transport.
  • Peer Group:  virtual entity that "speaks" the set of peer group protocols.  The World Peer Group includes all.
  • Pipes:  communication channels for sending and receiving messages.  Unidirectional and asynchronous, their endpoints can be moved among peers.
    • Point-to-Point Pipe:  connects exactly two peers.
    • Propagate Pipe:  connects multiple peer endpoints.

Protocols

  • Peer Discovery:  allows peers to find advertisements on other peers; used to find peers, peer groups, advertisements.
  • Peer Resolver:  allows a peer to send and receive generic search queries.
  • Peer Information:  allows a peer to learn capabilities and status of other peers.
  • Peer Membership:  allows a peer to fetch membership requirements, and apply for, update, or cancel memberships.
  • Pipe Binding:  allows a peer to bind a pipe advertisement to a pipe endpoint; indicates where messages actually go when traversing a pipe.
  • Endpoint Routing:  allows a peer to query a peer router for available routes in order to send a message to a destination peer.

Discovery Mechanisms

  • LAN-based:  broadcast.
  • Peer can receive invitation message that tells about other peer.
  • Peer A can query another peer B about the peers that B knows about.
  • Rendezvous peer can act as source of information (directory) about peers.

Security

  • Hash, symmetric (RC4) and assymetric (RSA) algorithms.
  • PAM-like authentication framework.
  • Password-based login scheme.
  • Access control mechanism based on peer groups, where members share everything.
  • Transport mechanism based on SSL/TLS.

Adapted from Jose M. Vidal (http://jmvidal.cse.sc.edu/talks/jxta/).

  • No labels