1 / 24

Client/Server Distributed Systems

Client/Server Distributed Systems. 240-322, Semester 1, 2005-2006. Objective explain JXTA, a support environment for P2P services and applications. 15. JXTA (Juxtapose). Contents. 1. Principle Aims 2. JXTA Main Components 3. JXTA Concepts 4. Example Services and Apps.

zandra
Download Presentation

Client/Server Distributed Systems

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. Client/Server Distributed Systems 240-322, Semester 1, 2005-2006 • Objective • explain JXTA, a support environment for P2P services and applications 15. JXTA (Juxtapose)

  2. Contents 1. Principle Aims 2. JXTA Main Components 3. JXTA Concepts 4. Example Services and Apps. 5. JXTA Compared to Jini 6. More Information

  3. 1. Principle Aims • JXTA provides core functionality so that developers can build P2Pservices and applications. • JXTA can be implemented with any programming language and run on any softwareand hardware platform/device. continued

  4. It can be implemented on top of TCP/IP, HTTP, Bluetooth, and many other protocols. • Currently requires a platform that supports the JRE or JDK 1.3.1 or later. • Available on Windows, Solaris, Linux, and Macintosh.

  5. 2. JXTA Main Components • JXTA supports a three layer view of P2P development: • a core layer • a middle services layer • an application layer

  6. Diagram

  7. 2.1. The Core Layer • The core layer includes protocols and building blocks to enable key mechanisms for P2P networking • these include discovery, transport (e.g. firewall handling and limited security), and the creation of peers and peer groups • the protocols use XML-encoded messages

  8. 2.2. The Services Layer • The services layer provides P2P services, tools, and commands • e.g. searching, sharing and added security • e.g. the JXTA Shell, the JXTA Search (see below)

  9. 2.3. The Application Layer • The application layer supports the implementation of integrated applications • e.g. file sharing, resource sharing, monetary systems, distributed storage • reimplementations of programs like Gnutella, Napster, Groove, InstantMessenger • e.g. InstantP2P (see below)

  10. 3. JXTA Concepts • What is a Peer? • What are Peer Groups? • JXTA Pipes • Peer Monitoring • The Main JXTA Protocols

  11. A JXTA System peer group comms. ask to join or query group monitor dynamic pipes join leave peer group

  12. 3.1. What is a Peer? • A peer is any device that runs some/all of the JXTA protocols. • The peer needs to be connected to some kind of network, such as IP, Bluetooth. • Peers can be servers, PCs, PDAs, manufacturing and medical equipment, cellular phones, etc.

  13. 3.2. What are Peer Groups? • A peer group is a collection of peers that have agreed upon a common set of rules to publish, share and access their data, and communicate between themselves. • Each peer group can establish its own membership policy • e.g. from open (anybody can join) to highly secure and protected

  14. 3.3. JXTA pipes • JXTA pipes are inter-peer communication channels • similar to the UNIX idea of piping the output of onecommand to the input of another • Pipes are unidirectional and maybe dynamically coupled and uncoupled for flexible connection ofpeers. continued

  15. Piped messages are XML documents and so are platform, language, and protocolindependent. • The contents of messages can be binary code, data strings, Java technology-based objects, and/or applets.

  16. 3.4. Peer Monitoring • Peer monitoring is the policeman of the core • handles authentication/authorization, metering, etc.

  17. 3.5. The Main JXTA Protocols • NetPeerGroup Protocol • Peer/PeerGroup Discovery Protocol • Peer Information and Management Protocol • PeerGroup Membership Protocol • PeerGroup Resolver Protocol • send and receive generic queries to find or search for peers,peer groups, pipes, and other information. • PeerGroup Sharing Protocol

  18. 4. Example Services and Apps. • Service examples: • JXTA Shell • JXTA Search • Application: • InstantP2P

  19. 4.1. JXTA Shell • Enables users to interact with the JXTA core through a command-line interpreter. • Useful for: • accessing and managing core platform objects (peers, groups, pipes) • setting up pipes • debugging communications • checking the status of peers and/or peer groups

  20. 4.2. JXTA Search • Searches for content and services on JXTA nodes and the Web. • Uses a new XML search protocol for describingqueries and responses.

  21. 4.3. InstantP2P • InstantP2P implements a set of common P2P applications • includes peer-to-peer messaging (secure and plain text), peer group chat, and file sharing • It provides a simple graphical user interface to create and join groups. • The source code is available.

  22. 5. JXTA Compared to Jini • Jini connects distributed services within a Java network using an object model and a centralized service location broker. • JXTA connects distributed services in a P2P-style network,using a loosely-coupled data model.

  23. A Jini System location broker 1.enquire 2. report mobile device database 3. connect dynamic network of services printer

  24. 6. More Information • Project JXTA • http://www.jxta.org • JXTA software, documents, etc.

More Related