Presentation is loading. Please wait.

Presentation is loading. Please wait.

Department of Communications, Optics & Materials Technical University of Denmark JXTA protocols Colin Chaballier 34352-Advanced.

Similar presentations


Presentation on theme: "Department of Communications, Optics & Materials Technical University of Denmark JXTA protocols Colin Chaballier 34352-Advanced."— Presentation transcript:

1 Department of Communications, Optics & Materials Technical University of Denmark JXTA protocols Colin Chaballier s051081@student.dtu.dk 34352-Advanced Protocols 18/04/2006

2 JXTA Peer-to-Peer Networking ? Peer-to-peer networks are dedicated to their application a well-known subject (File Exchange, Instant Messaging ….) … a lack of inter-operability … a lack of independence with platforms - Transport Networks - Operating System & programming language A real need for an independent, adhoc, pervasive p2p network >> JXTA !

3 1. Context & Overview - What Jxta is - Jxta’s philosophy - An overlay network 2. Protocols - Protocol stack overview - Protocols description - Peer Discovery Protocol - Peer Resolver Protocol - Rendez Vous Protocol - Endpoint Routing Protocol - Pipe Binding Protocol - Peer Information Protocol - Jxta 2 improvements 3. Discussion - Jxta’s issues - Implementations, applications and future JXTA Agenda

4 1. Context & Overview - What Jxta is - JXTA’s philosophy - An overlay network 2. Protocols 3. Discussion JXTA

5 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk5 What Jxta is A set of specifications by Sun Microsystems Version 1 in June 2001 Version 2 in June 2003 Still improving … Objective: to define protocols for generic peer-to-peer networking Implementations proposed by Sun Microsystems on the Java platforms

6 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk6 JXTA’s philosophy (1/2) Jxta enables to build p2p applications on a common platform (JXTA) with the following characteristics: > scalability > Robustness & fault-resistance > Dynamic behavior & spontaneity > self-organization >> Creation of a new set of applications

7 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk7 JXTA’s philosophy (2/2) Organization of these applications: > Services offered within peergroups > Each peer is able to “provide” or “consume” a service

8 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk8 An overlay network (1/2) Illustration copied from the paper “Project JXTA: A Loosely-Consistent DHT Rendezvous Walker”, B.Traversat and al., Sun Microsystems.

9 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk9 An overlay network (2/2) The basics elements of a JXTA network: > Advertisement Way to provide descriptions of every resources in the network. > Pipe High level mean of transport between endpoints. > Endpoint Abstraction of peers’ network interfaces. An endpoint can matches with more than one peer (broadcast). > Service Peers can proposes services within their peergroups. > Peergroup A group of peers with a common interest. Peers must be part of the same peergroup to communicate. > Peer The basic element, could be a PC, a cluster, a sensor …

10 1. Context & Overview 2. Protocols - Protocol stack overview - Protocols description - Peer Discovery Protocol - Peer Resolver Protocol - Rendez Vous Protocol - Endpoint Routing Protocol - Pipe Binding Protocol - Peer Information Protocol - Jxta 2 enhancements 3. Discussion JXTA

11 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk11 The Jxta protocol stack (1/2) 6 defined protocols for adhoc and p2p networking to : Route Discover Organize Monitor and communicate … between peers Without any assumptions on the underlying transport network

12 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk12 The Jxta protocol stack (2/2) 1 23 4 5 6

13 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk13 The Peer Discovery Protocol (1/2) Publish and discover ressources using advertisements No guarantee of response to a query 2 messages types : Discovery Query Message lookup for a keyword for example Discovery Response Message reply matching advertisements A very simple and generic mechanism Every network resources represented by an advertisement (peer, peergroup, pipe, module …) Description

14 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk14 The Peer Discovery Protocol (2/2) The Discovery Query Message structure :... Name *sidus* The Discovery Response Message structure :... Name. *sidus* Messages

15 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk15 The Peer Discovery Protocol - Summary 1 How to publish and discover network resources with advertisements 2 > Next step: Peer Resolver Protocol

16 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk16 The Peer Resolver Protocol (1/2) Spread generic queries to one or more peer inside a peergroup And matches responses to them A unique ID for each query Best effort behaviour … any guarantee to get a response to a query 2 messages types : Resolver Query Message Resolver Response Message Description

17 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk17 The Peer Resolver Protocol (2/2) The Resolver Query Message structure :... The Resolver Response Message structure :... Messages

18 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk18 1 2 The Peer Resolver Protocol - Summary How to send query-based messages through the network 3 > Next step: Rendez Vous Protocol

19 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk19 The RendezVous Protocol (1/3) Propagation of messages within a peergroup And control of propagation (TTL, loopback detection) Notion of rendezvous peers Explicit connection between a simple peer and a rendezvous peer 3 types of messages : LeaseRequest LeaseGranted LeaseCancelRequest LeaseCancelled Description

20 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk20 The RendezVous Protocol (2/3) XML element …... …... The rendezvous Propagate Message element: MessageId : time in ms since propagation start DestSName & DestSParam : name & parameters of the destination service TTL : current TTL of the propagated message Path: peer Ids of peer already visited

21 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk21 The RendezVous Protocol (3/3) Propagation Control Loops: With the path element, messages already processed on a peer are discarded. Expiration: With the TTL element, messages are propagated until the TTL reach zero. Duplication: With the unique identifier, duplicated messages can be detected on peers. > modification with version 2

22 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk22 RendezVous Peer Peer 2 3. Send query Peer 1 Peer 4 Peer 3 4. Propagate query with RVP Partial summary: how to discover resources ? Using the Peer Discovery Protocol, Peer Resolver Protocol, and Rendez Vous Protocol Animation inspired from the book “JXTA” page 127, Brendon Wilson, New Riders Edition. No Yes 5. Peers look for the asked resource 7. Unpack the Resolver Response 8. Get Discovery Response 1. Prepare the Discovery query... Name *sidus* 2. Pack it with a Resolver Query......... Name. *sidus* 6. Positive replies are sent back

23 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk23 1 2 3 4 > Next step: Endpoint Routing Protocol

24 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk24 The EndPoint Routing Protocol (1/4) Description Any assumption on the underlying transport network (even TCP/IP) … … need to define a own routing protocol. > A routing protocol > A transport protocol

25 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk25 The EndPoint Routing Protocol (2/4) A Routing Protocol The Route Query Message: RouteQuery... The Route Response Message: RouteResponse... … @gw1 @gw2 … Route Query/Response Messages to find routes Best path decision: dependent of the application, not specified in JXTA. Allow NAT traversal (use of HTTP for transport)

26 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk26 The EndPoint Routing Protocol (3/4) A Transport Protocol The Endpoint Router Message element: … @gwForward1 @gwForward2 … @gwReverse1 @gwReverse2 … Add routers path (as an XML element) to the sent message

27 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk27 private network http transport The Endpoint Routing Protocol (4/4) Within the same PeerGroup Message exchanges Animation inspired from the book “JXTA” page 278, Brendon Wilson, New Riders Edition. Peer 2 Peer 3 Peer Router Route Query Message No Yes No Route Response Message Message to sent + Endpoint Router Message Peer Router Peer 4Peer 1

28 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk28 1 2 3 4 The EndPoint Routing Protocol - Summary How to reach a peer in the network 5 > Next step: Pipe Binding Protocol

29 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk29 The Pipe Binding Protocol (1/2) Description Used to bind network Endpoint and pipes input/output Pipes: abstraction to allow easy communication between endpoints 3 types of pipes: unicast, broadcast, and secure Only mandatory support of unicast & asynchronous pipe type Unicast pipe broadcast pipe Peer 2 Peer 3 Peer 4 Peer 1

30 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk30 The Pipe Binding Protocol (2/2) Pipe Binding Query: To discover listening peer endpoints to a particular pipe advertisement Query … Pipe Binding Response: Optional response to a Pipe Binding Query Answer …

31 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk31 1 2 3 5 The Pipe Binding Protocol - Summary 4 How to realize a high-level abstraction communication between endpoints 6 > Next step: Pipe Binding Protocol

32 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk32 The Peer Information Protocol A generic protocol to obtain peer status and monitoring information > help load balancing in the network A simple Query/Answer mechanism Peer Info Query and Peer Info Response Messages PeerInfoResponse Message fields: Peer uptime Information timestamp Response string (unspecified format) Timestamp of last incoming and outgoing messages Details on inbound and outbound traffic seen Number of processed bytes

33 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk33 Protocols description - Summary (1/2) 1 How to Publish and discover network resources with advertisements 2 How to send query-based messages through the network 3 How to propagate messages within a peergroup 4 How to reach a peer wherever in the network 5 How to realize a high-level abstraction communication between endpoints 6 How to monitor peers status

34 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk34 Protocols description - Summary (2/2) The “service” view

35 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk35 Jxta 2 improvements Version 1 since June 2001 Version 2 since February 2003 (now v2.3.5) Improvement of overall performance and scalability with: New mechanisms for advertisement discovery (Rendezvous Super-peers) New mechanisms for NAT traversal (Relay Super-peers) Specification of a binary message format …

36 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk36 Jxta 2 improvements Advertisement discovery with Rendezvous Super-peers Loosely-consistent Distributed Hash Table Rendezvous Peer View Illustration copied from the paper “Project JXTA 2.0 Super-Peer Virtual Network“, B.Traversat and al., Sun Microsystems, 2003.

37 1. Context & Overview 2. Protocols 3. Discussion - Jxta’s issues - Implementations, applications and future JXTA

38 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk38 Jxta’s issues + Abstraction: generic, multi-platform, multi-language … + Use of XML: - easy understand & debug for developers - flexibility - No definition for services invocation - Not optimized for application oriented: cost of the XML overhead - Not optimized if usage of a reliable transport network (TCP/IP) Trade-off: Performance vs. Flexibility -> Not suitable for a short-term particular p2p application -> But provide the flexibility for a long-term solution requiring scalability

39 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk39 Implementations, applications and future 1/ Developing a new application based on JXTA > Choose an existing implementation of the JXTA specifications: J2SE, J2ME, C, Perl, PocketPC … or do your proper implementation > And fit the implementation to your application Which components are useless ? What services to deploy ? Topology of rendez-vous peers … etc. And now, what to do with JXTA protocols ? 2/ Contribute to the Project JXTA > an open-source intiative still needing contributions … 3/ Or simply use a current application based on JXTA from the Jxta community: myJXTA, Gnougat, … more and more adopted by companies (Boeing, Verizon …)

40 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk40 Summary Specifications for a generic p2p network  A global adhoc overlay network  Peer group organization  Any assumption on underlying transport network  6 key protocols  XML based  Performance/flexibility trade-off  Still in improvement - open source community

41 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk41 References > Official web site for project JXTA: www.jxta.org > Books: "JXTA in a nutshell", S. Oaks, B.Traversat and L.Gong, O'reilly. "JXTA", Brendon J. Wilson, New Riders Edition. Freely available online at http://www.brendonwilson.com/projects/jxta-book/ > Articles and reports: "JXTA Technology Brings the Internet Back to Its Origin”. Available at http://java.sun.com/developer/technicalArticles/JXTA/ "Project JXTA Virtual Network", B. Traversat et al., Sun Microsystems, 2002. "Project JXTA 2.0 Super-Peer Virtual Network", B. Traversat et al., Sun Microsystems, 2003. "Project JXTA: A Loosely-Consistent DHT Rendezvous Walker ", B. Traversat et al., Sun Microsystems. "The JXTA performance model and evaluation", Emir Halepovic and Ralph Deters, Department of Computer Science, University of Saskatchewan, Canada, published in the Elsevier database "Future Generation Computer Systems", 2004.

42 34352-Advanced Protocols 18/04/2006Colin Chaballier, s051081@student.dtu.dk42 Thank you for your attention … Questions ?


Download ppt "Department of Communications, Optics & Materials Technical University of Denmark JXTA protocols Colin Chaballier 34352-Advanced."

Similar presentations


Ads by Google