170 likes | 188 Views
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
E N D
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 Terms Peer Peer Peer Peer Peer: A JXTA node. Peer JXTA Group: a group is a set of JXTA nodes who share a common interest A Rendezvous Peer: a meeting place e.g. gateway for JXTA groups Peer Peer Peer Peer Peer Peer Peer Peer Peer Peer Peer
JXTA Virtual Mapping Peer Peer JXTA Virtual Network Peer Peer Peer Peer Peer Peer Virtual Mapping Firewall NAT Bluetooth TCP/IP NAT Physical Network Firewall Http NAT Firewall
JXTA Groups Group A • 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 Peer Peer Peer Group B Peer Peer Peer Peer
JXTA Pipes Output Pipe Input Pipe Peer 1 Peer 2 A JXTA Pipe Actual Route Peer 3 Peer 4 Firewall • 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 Peer Peer Peer Peer Peer Point to Point Propagate
JXTA Protocol Stack Peer Discovery Protocol Peer Discovery Protocol Via Peer Resolver Protocol Peer Information Protocol Peer Information Protocol Via Peer Resolver Protocol Pipe Binding Protocol Pipe Binding Protocol Via Peer Resolver Protocol Peer Resolver Protocol Peer Resolver Protocol Via Enpoint Routing Protocol Rendezvous Protocol Rendezvous Protocol Via Enpoint Routing Protocol Endpoint Routing Protocol Endpoint Routing Protocol Via installed Network Transports Network Transport Via Installed Network Transports Network Transport
Peer Discovery • 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
Peer Information 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 Discovery Protocol Peer Information Protocol Pipe Binding Protocol
Pipe Binding Output Pipe Input Pipe Peer 1 Peer 2 A JXTA Pipe Actual Route Peer 3 Peer 4 Firewall Peer Discovery 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 Information Protocol Pipe Binding Protocol
The Peer Resolver • 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 Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol
Rendezvous • 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. Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol
Endpoint Routing Protocol Peer Resolver 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 Rendezvous Protocol Endpoint Routing Protocol
JXTA Project – Three Layer Cake JXTA Community Applications Standard JXTA Applications JXTA Applications Standard JXTA Services • Indexing • Searching • File Sharing JXTA Community Services JXTA Services Peer Groups Peer Pipes Peer Monitoring JXTA Core Security (authentication, authorization) Any Peer on the extended Web
The Verdict • JXTA is an open network computing platform designed for Peer-to-Peer computing • Interoperability • Heterogeneous peer • Autonomous P2P System
References • JXTA v2.0 Protocols Specification • http://jxta-spec.dev.java.net • JXTA Development Community • http://www.jxta.org • JXTA Programmer Guide • https://jxta-guide.dev.java.net
Thank you • Question ?