JXTA P2P Platform Denny Chen Dai CMPT 771, Spring 08
Motivations Standardize – Peer discovery, communication – Advertise, discover network resources Absence of centralized infrastructure – Self-organized, self-configured groups Independent of underlying implementation – Language, OS, network environment
JXTA Group: a group is a set of JXTA nodes who share a common interest Peer: A JXTA node. Peer A Rendezvous Peer: a meeting place e.g. gateway for JXTA groups Peer JXTA Terms
Bluetooth TCP/IP NAT Firewall Physical Network Http Peer JXTA Virtual Network Virtual Mapping JXTA Virtual Mapping
Collection of cooperating peers providing a common set of services e.g. file sharing peer group, a CPU sharing peer group. Peer group boundaries define content search scope Group hierarchy At least one rendezvous for a group Peer Group B Group A JXTA Groups
Virtual Communication Channels abstraction over peer routes Unidirectional Messages flow from the output pipe into the input pipes. Two Types: (End) Point to (End) Point Propagate - multicast Peer 1 Peer 2 Peer 3 Peer 4 A JXTA Pipe Firewall Actual Route Output PipeInput Pipe Peer Point to PointPropagate JXTA Pipes
Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol Peer Resolver Protocol Rendezvous Protocol Endpoint Routing Protocol Network Transport Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol Peer Resolver Protocol Rendezvous Protocol Endpoint Routing Protocol Network Transport Via Peer Resolver Protocol Via Enpoint Routing Protocol Via installed Network Transports Via Installed Network Transports JXTA Protocol Stack
Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol Allows a peer to discover & publish JXTA resources Using this protocol, peers can advertise their own resources, network service, identity, and discover the resources from other peers Peer resources are published using XML-based meta- data format Peer Discovery
Protocol Peer Information Protocol Pipe Binding Protocol Allows peers to learn about the capabilities & status of other peers e.g. uptime, traffic load, capabilities, state etc Query a peer’s properties: e.g. (name, value) Peer Information Protocol
Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol Allows a peer to establish a virtual communication channel (i.e. a pipe) between peers Allows the binding of the two or more ends of the pipe endpoints forming the connection Peer 1 Peer 2 Peer 3 Peer 4 A JXTA Pipe Firewall Actual Route Output PipeInput Pipe Pipe Binding
Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol Enables a peer to implement high-level search capabilities PDP, PIP, PBP Allows a peer to send and receive generic queries to find or search for peers, peer groups, pipes, and other information The Peer Resolver
Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol Allows a Peer to send messages to all the listeners of the service The rendezvous protocol defines how a peer can subscribe or be a subscriber to a propagation service allowing larger communities to form A rendezvous nodes’ scope is a peer group e.g. propagate messages. Rendezvous
Peer Resolver Protocol Rendezvous Protocol Endpoint Routing Protocol Allows a peer to find information about the available routes for sending a message to destination peer Allows a peer to respond to queries with available route information Allows the implementation of routing algorithms into JXTA Endpoint Routing Protocol
JXTA Project – Three Layer Cake JXTA Community Applications JXTA Applications JXTA Community Services JXTA Services Standard JXTA Services Indexing Searching File Sharing Peer Groups JXTA Core Any Peer on the extended Web Peer PipesPeer Monitoring Security (authentication, authorization) Standard JXTA Applications
JXTA is an open network computing platform designed for Peer-to-Peer computing Interoperability – Heterogeneous peer Autonomous P2P System The Verdict
References JXTA v2.0 Protocols Specification – JXTA Development Community – JXTA Programmer Guide –
Thank you Question ?