Project JXTA 2.0 Super
Download
Report
Transcript Project JXTA 2.0 Super
JXTA
Project JXTA 2.0 Super-Peer Virtual Network
Presented by Chin-Yi Tsai
P2P
Peer-to-Peer Computing
• 運算風格
• 使網路更具對稱性
P2P example
• Gnutella (分散式)
• Napster (集中式)
P2P Application
• Consumer file sharing: Gnutella, FastTrack, Napster
• Distributed resource sharing: SET@Home, Avaki, Entropia
• Content distributed networks: OpenColaBlue Falcon Network,
Konitiki
• P2P communications: AOL instant Messenger, Yahoo!
Messenger, ICQ, Jabber, MSN Messenger
• Collaboration application: Hive, Groove, myJXTA
2
JXTA
Projext JXTA was initiated to standardize a common set of
protocols for building P2P application.
JXTA目標
• 作業系統獨立性 (Windows and UNIX)
• 語言的獨立性 (C or Java Programming Language)
• 提供P2P應用程式可用的服務及基礎架構 (RMI and WSDL)
Software Architecture
3
JXTA (cont’d)
Peer
Peer Group
Endpoint
• 溝通基本定址方法,實作通訊協定
Pipe
Advertisement
Rendezvous Peer
• 處理其他查詢要求的點
• relay
Router Peer
• 支援endpoint protocol的peer
Gateway Peer
• 中繼點
• 轉傳訊息而已
4
Advertisements
Module Class Advertisement
• 定義module的行為
Module Specification Advertisement
• 定義module規格,定義實作資訊
Module Implementation Advertisement
• 特殊language的reference,可用此來執行程式碼
Pipe Advertisement
PeerGroup Advertisement
Peer Advertisement
Endpoint Advertisement
5
JXTA Communication Protocol
Peer Discovery Protocol (PDP)
Peer Resolver Protocol (PRP)
Peer Information Protocol (PIP)
Peer Membership Protocol (PMP)
Pipe Binding Protocol (PBP)
Rendezvous Protocol (RVP)
Peer Endpoint Protocol (PEP)
6
Peer Discovery Protocol
• 允許Peer去探索其它點的advertisement (peer,
peergroup, service, pipe)
Peer Resolver Protocol
• 允許peer傳送search query給其他點
• Request/Response
• Used by Peer Discovery Protocol
7
Peer Information Protocol
• 允許peer了解其他peer的state information
• Like ping
Peer Membership Protocol
• 允許peer加入或退出peergroup
• 識別及授權
8
Pipe Binding Protocol
• 可定址的訊息傳送
• Virtual communication channel
Rendezvous Protocol
• 負責在JXTA group內傳播訊息
• 讓group內的peer可以傳送及接收訊息,並且可以控制訊
息的傳播方式
Peer Endpoint Protocol
• 用來建立連線徑,以傳送訊息至其它點
• 路由
9
API
Module
net.jxta.platform
Service
net.jxta.Service
RendezvousService
ResolverService
EndpointService
PipeService
PeerInfoService
DiscoveryService
MembershipService
10
11
Super-Peer Virtual Network
The Project JXTA protocols establish a virtual network overlay
on top of the Internet, allowing peers to directly interact and
self-organize independently of their network connectivity and
domain topology.
To discover and interact with each other in an ad hoc and
decentralized manner.
12
Super-Peer Virtual Network (cont’d)
The JXTA 2.0 release is making a stronger
differentiation in the way super-peers as relay and
rendezvous behave and interact with edge peers.
The JXTA 2.0 implementation build upon 5 virtual
network abstraction in JXTA 1.0.
JXTA IDs
• 128-bits random UUID
Advertisements
• All network resources in JXTA network, such as peers,
peergroup, pipes, and services are represented by
advertisements.
• XML documents
13
Virtual network abstraction
Uniform peer addressing
• Peer ID, and its associated peer endpoint
Peergroup
• Dynamically self-organize into protected domain called peergroup
Advertisement
• XML document
• Publish and discover
Resolver
• Universal binding mechanism
• Peer name -> DNS
• All binding operations are implemented as discovery or search of one or
more XML documents
• Project JXTA does not specify how the search of advertisement is
performed
Pipe
• Virtual communication channel
Point-to-point pipe
Propagate pipe
14
Rendezvous Super-Peers
The core resolver infrastructure provides the ability to send
and propagate queries, and receive responses.
The Projext JXTA provides a default resolver policy based on
Rendezvous super-peers.
15
Rendezvous just maintain an index of advertisements
published by their edge peers.
• Scalable
• Reduce the problem of caching out-of-data advertisement
Edge peer maintain special relationship with their
rendezvous peers.
The Shared Resource Distributed Index (SRDI) service
is used by edge peers to index their advertisements
on rendezvous.
Only rendezvous peers are involved in the propagation
of advertisement queries.
16
A loosely-Consistent Rendezvous Network
Rendezvous super-peers organize
themselves into a loosely-coupled network.
17
Edge Peer Rendezvous Connection
Local cache for any rendezvous
advertisement
IP multicast / peergroup pipe
Query one of the seeding rendezvous
Become a rendezvous
18
Rendezvous Propagation
19
Relay Super-Peers
The Projext JXTA network introduces the notation of super-peers called
relay peers for bridging peers that do not have direct physical
connectivity.
Relay peers provide the ability to spool messages for unreachable or
temporarily unavailable edge peers.
Rely peers play the role of landmarks facilitating the routing of
messages between far away, and non-reachable peers.
Relays only maintain states for their edge peers and agreed upon lease
period.
20
Message and Credentials
Message are the basic unit of data exchange
between peers.
21
PeerGroup
Main motivations for creating peergroups
• To create secure domain for exchanging secure contents
• To create a scoping environment
• To create a monitoring environment
22
Pipes
Pipes are virtual communication channels used to
send and receive messages between services and
applications.
• Input pipe
• Output pipe
The pipe binding consists of searching and
connecting the two or more ends of a pipe.
23
JXTA J2SE Reference Implementation
24
Conclusion
To standardize a common set of protocols
needed to build peer-to-peer applications.
Virtual network
Abstraction
•
•
•
•
•
Uniform peer ID addressing
Peergroups
Advertisement
Resolver
Pipes
that provide a generic infrastructure to
deploy P2P service and application.
25
Various P2P system
DHT (Distributed Hash Table)
RDF / metadata and search problem
Network topology for super-peers when
searching or querying
UML <-> Metadata(RDF, Ontology)
26