270 likes | 511 Views
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
E N D
JXTAProject 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: OpenColaBlueFalconNetwork, Konitiki • P2P communications: AOL instant Messenger, Yahoo! Messenger, ICQ, Jabber, MSN Messenger • Collaboration application: Hive, Groove, myJXTA
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
JXTA (cont’d) • Peer • Peer Group • Endpoint • 溝通基本定址方法,實作通訊協定 • Pipe • Advertisement • Rendezvous Peer • 處理其他查詢要求的點 • relay • Router Peer • 支援endpoint protocol的peer • Gateway Peer • 中繼點 • 轉傳訊息而已
Advertisements • Module Class Advertisement • 定義module的行為 • Module Specification Advertisement • 定義module規格,定義實作資訊 • Module Implementation Advertisement • 特殊language的reference,可用此來執行程式碼 • Pipe Advertisement • PeerGroup Advertisement • Peer Advertisement • Endpoint Advertisement
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)
Peer Discovery Protocol • 允許Peer去探索其它點的advertisement (peer, peergroup, service, pipe) • Peer Resolver Protocol • 允許peer傳送search query給其他點 • Request/Response • Used by Peer Discovery Protocol
Peer Information Protocol • 允許peer了解其他peer的state information • Like ping • Peer Membership Protocol • 允許peer加入或退出peergroup • 識別及授權
Pipe Binding Protocol • 可定址的訊息傳送 • Virtual communication channel • Rendezvous Protocol • 負責在JXTA group內傳播訊息 • 讓group內的peer可以傳送及接收訊息,並且可以控制訊息的傳播方式 • Peer Endpoint Protocol • 用來建立連線徑,以傳送訊息至其它點 • 路由
API Module net.jxta.platform Service net.jxta.Service RendezvousService ResolverService EndpointService PeerInfoService PipeService DiscoveryService MembershipService
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.
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
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
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.
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.
A loosely-Consistent Rendezvous Network • Rendezvous super-peers organize themselves into a loosely-coupled network.
Edge Peer Rendezvous Connection • Local cache for any rendezvous advertisement • IP multicast / peergroup pipe • Query one of the seeding rendezvous • Become a rendezvous
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.
Message and Credentials • Message are the basic unit of data exchange between peers.
PeerGroup • Main motivations for creating peergroups • To create secure domain for exchanging secure contents • To create a scoping environment • To create a monitoring environment
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.
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.
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)