slides - network systems lab @ sfu

Download Report

Transcript slides - network systems lab @ sfu

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: A JXTA node.
Peer
Peer
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
Peer
JXTA Virtual Mapping
Peer
JXTA
Virtual
Network
Peer
Peer
Peer
Peer
Peer
Peer
Peer
Virtual Mapping
Bluetooth
Firewall
Http
Firewall
Physical
Network
TCP/IP
JXTA Groups
Group A
Peer
Peer
Peer
• 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
Peer
• Group hierarchy
Group B
• At least one rendezvous for a group
Peer
Peer
Peer
Peer
JXTA Pipes
Output Pipe
Input Pipe
A JXTA Pipe
Peer
1
Peer
2
Actual Route
Peer
3
Peer
4
Peer
Peer
Peer
Peer
Peer
Point to Point
Propagate
• abstraction over peer routes
• Unidirectional
• Messages flow from the
output pipe into the input
pipes.
Firewall
Peer
• Virtual Communication Channels
• Two Types:
• (End) Point to (End) Point
• Propagate - multicast
JXTA Protocol Stack
Peer Discovery
Protocol
Via Peer Resolver Protocol
Peer Discovery
Protocol
Peer Information
Protocol
Via Peer Resolver Protocol
Peer Information
Protocol
Pipe Binding
Protocol
Via Peer Resolver Protocol
Pipe Binding
Protocol
Peer Resolver
Protocol
Via Enpoint Routing Protocol
Peer Resolver
Protocol
Rendezvous
Protocol
Via Enpoint Routing Protocol
Rendezvous
Protocol
Endpoint Routing
Protocol
Via installed Network Transports
Endpoint Routing
Protocol
Network Transport
Via Installed Network Transports
Network Transport
Peer Discovery
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 metadata format
Peer Information Protocol
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)
Pipe Binding
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
Output Pipe
Input Pipe
A JXTA Pipe
Peer
1
Peer
2
Actual Route
Peer
3
Firewall
Peer
4
The Peer Resolver
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
Rendezvous
• Allows a Peer to send messages to all the
listeners of the service
Peer Resolver
Protocol
Rendezvous
Protocol
Peer Endpoint
Protocol
•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.
Endpoint Routing Protocol
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
JXTA Project – Three Layer Cake
JXTA
Applications
JXTA
Services
JXTA Community Applications
JXTA Community
Services
Peer Groups
JXTA
Core
Standard
JXTA
Applications
Standard • Indexing
JXTA
• Searching
Services • File Sharing
Peer Pipes
Peer Monitoring
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 ?