1 / 37

Project JXTA

Project JXTA. Chao Wu, Boian Tzonev Tutor: Elfriede Kelp. Outline-JXTA. Why JXTA? What ’ s JXTA? JXTA Protocols Conclusion Problem. Why JXTA?. Most of P2P solutions overlap in some shape of form ICQ provides instant messaging plus a bit of file sharing

brit
Download Presentation

Project JXTA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Project JXTA Chao Wu, Boian Tzonev Tutor:Elfriede Kelp

  2. Outline-JXTA • Why JXTA? • What’s JXTA? • JXTA Protocols • Conclusion • Problem

  3. Why JXTA? • Most of P2P solutions overlap in some shape of form • ICQ provides instant messaging plus a bit of file sharing • Napster provides file sharing plus a bit of instant messaging • But current Applications of P2P tend to use protocols that are proprietary and incompatible in nature,each network forms a closed community

  4. Why JXTA? • A MSN messenger cannot communicate with a Yahoo messenger,and vice versa • To evolve P2P into a mature solution platform, developers need to refocus their efforts from programming P2P network fundamentals to creating P2P applications on a solid, well-defined base. To do this, P2P developers need a common language to allow peers to communicate and perform the fundamentals of P2P networking

  5. What is JXTA? - Introduction • A P2P network programming and computing platform • No algorithms is defined in JXTA project • No service or application is required in JXTA • The name comes from JuXTApose • Juxtapose means to place two entities side by side or in proximity. By choosing this name, the development team at Sun recognized that P2P solutions would always exist alongside the current client/server solutions rather than replacing them completely • Set up by SUN Microsystems

  6. What is JXTA? – Design principlesInteroperability • JXTA technology is designed to enable interconnected peers to • Easily locate each other • Communicate with each other • Participate in community-based activities • Offer services to each other seamlessly across different P2P system an different communities

  7. What is JXTA? – Design principlesPlatform independence • JXTA technology is designed to be independent of • Programming language • C/C++,Java • System platform • Linux,Windows • Network platform • TCP/IP,Bluetooth

  8. What is JXTA? – Design principlesUbiquity • JXTA technology is designed to be implementable on every device with a digital heartbeat • P2P does not stand for PC-To-PC • PDA-PC-enterprise system • Betting on any particular segment of the hardware or software system is not future proof

  9. What is JXTA? – Architecture

  10. What is JXTA? - Term Definition • Identifiers • Use UUIP to refer to an entity( a peer, an advertisement, a service. etc.) • Advertisements • An XML document that names,desribes,and publishes the existence of a resource, such as a peer, a peer group, a pipe, or a service • Peers • A peer is any entity that can speak the protocols required of a peer

  11. What is JXTA? - Term Definition • Messages • Rely on asynchronous, unreliable, and unidirectional transport • The message format is very like UDP datagram • Peer Groups • A peer group is a virtual entity that speaks the set of peer group protocols • Participation is the World Peer Group is by default • Pipes • Pipes are communication channels for sending and receiving messages, and are asynchronous, unidirectional • Input pipes/Output pipes

  12. What is JXTA – Protocols • Peer Endpoint Protocol • By which a peer can discover a route (sequence of hops) used to send a message to another peer • If a peer A wants to send a message to peer C, and there is no direct route between A and C, then peer A needs to find the intermediary relay peer (s) to route the message to C. PEP is used to determine the routing information • If the network topology has changed such that the route to C can no longer be used, the peer can use PEP to find routes known by other peers to construct a new route to C

  13. What is JXTA – Protocols • Rendezvous Protocol (RVP) • by which peers can subscribe or be a subscriber to a propagation service • Within a peergroup, peers can be rendezvous peers, or peers that are listening to rendezvous peers • RVP allows messages to be sent to all of the listeners of the service • RVP is used by the Peer Resolver Protocol in order to propagate messages

  14. What is JXTA – Protocols • Peer Resolver Protocol (PRP) • by which a peer can send a generic resolver query to one or more peers, and receive a response (or multiple responses) to the query • The PRP protocol permits the dissemi-nation of generic queries to one or more handlers within the group and to match them with responses • Each query is addressed to a specific handler name. This handler name defines the particular semantics of the query and its responses, but is not associated with any specific peer

  15. What is JXTA – Protocols • Peer Discovery Protocol (PDP) • by which a peer publishes its own advertisements, and discovers advertisements from other peers (peer, peergroup, module, pipe and content) • PDP uses the Peer Resolver Protocol for sending and propagating discovery advertisement requests

  16. What is JXTA – Protocols • Peer Information Protocol (PIP) • by a which a peer may obtain status information about other peers, such as state, uptime, traffic load, capabilities, etc • PIP uses the PRP for sending and propagating peer information requests

  17. What is JXTA – Protocols • Pipe Binding Protocol (PBP) • by which a peer can establish a virtual communication channel or pipe between one or more peers • The PBP is used by a peer to bind the two or more pipe ends of the connection (input and output pipe) to a physical peer endpoint • PBP uses the PRP for sending and propagating pipe binding requests

  18. Conclusion • JXTA define a series of protocols • JXTA DOES NOT define or force what algorithm should be used • JXTA is designed to be independent of transport protocols

  19. Problems • In an individual application, the network overhead of XML messaging might be more trouble than it’s worth • Why not specify TCP as the assumed network transport and eliminate the overhead? • If most P2P applications today rely on the Transport Control Protocol (TCP) to provide a network transport, why does JXTA go to such lengths to avoid tying the protocols to a specific network transport?

  20. Problems • JXTA might not be the best or most efficient solution for implementing a particular P2P application • However, JXTA provides the most well-rounded platform for producing P2P applications that have the flexibility required to grow in the future • The capability to leverage other P2P services and enable widespread development of P2P communities is the core value of the JXTA platform

  21. Praktische Anwendungen

  22. Typische P2P-Anwendungen • Content Sharing • Instant Messaging • Distributed Computing

  23. Content Sharing

  24. Content Sharing

  25. Instant Messaging

  26. Instant Messaging

  27. Praktische Anwendungen • Open-Source Projekte • Kommerzielle Anwendungen

  28. Open-Source Projekte • gnougat • p2pconference • jxtachess • picshare

  29. gnougat • File-sharing Anwendung • Inhaltbasierte Dateisuche

  30. p2pconference • Anwendung zur Durchführung von textbasierten Konferenzen • 3 Konferenztypen • Treffen • Präsentation • Panel

  31. jxtaChess • Netzwerkschachspiel • Erlaubt Suchen von Gegner und Spielen mit Ihnen oder • Beobachten eines Spiels

  32. picshare • Anwendung zur Veröffentlichung von Bildern unter einer Gruppe • Jedes Bild kann mit Kommentaren versehen werden

  33. Kommerzielle Anwendungen • VistaRepository • Topology • IamDeveloping

  34. VistaRepository • Anwendung für verteiltes oder zentralisiertes Speichern von Ressourcen • Gemeinsamer Zugriff auf Ressourcen • Erlaubt Transfer, Suche, Blockierung von Ressourcen • Lokalisierung der letzten und nahesten Version einer Ressource

  35. Topology • XML/SGML/HTML – editor • Fördert Zusammenarbeit • Vereinfacht Verwaltung • Kann mit anderen JXTA-Anwendungen arbeiten

  36. IamDeveloping • Erweiterbares IDE • Erlaubt gleichzeitige Arbeit von 2 oder mehreren Nutzern • Starten von Anwendungen in einem gemeinsamen Terminal

  37. Zukunft von JXTA • Content Addressable Network • Remote Method Invocation • Core Reference Implementations

More Related