380 likes | 647 Views
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
E N D
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 • 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
Typische P2P-Anwendungen • Content Sharing • Instant Messaging • Distributed Computing
Praktische Anwendungen • Open-Source Projekte • Kommerzielle Anwendungen
Open-Source Projekte • gnougat • p2pconference • jxtachess • picshare
gnougat • File-sharing Anwendung • Inhaltbasierte Dateisuche
p2pconference • Anwendung zur Durchführung von textbasierten Konferenzen • 3 Konferenztypen • Treffen • Präsentation • Panel
jxtaChess • Netzwerkschachspiel • Erlaubt Suchen von Gegner und Spielen mit Ihnen oder • Beobachten eines Spiels
picshare • Anwendung zur Veröffentlichung von Bildern unter einer Gruppe • Jedes Bild kann mit Kommentaren versehen werden
Kommerzielle Anwendungen • VistaRepository • Topology • IamDeveloping
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
Topology • XML/SGML/HTML – editor • Fördert Zusammenarbeit • Vereinfacht Verwaltung • Kann mit anderen JXTA-Anwendungen arbeiten
IamDeveloping • Erweiterbares IDE • Erlaubt gleichzeitige Arbeit von 2 oder mehreren Nutzern • Starten von Anwendungen in einem gemeinsamen Terminal
Zukunft von JXTA • Content Addressable Network • Remote Method Invocation • Core Reference Implementations