Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications , Semester 1, JXTA (Juxtapose)
Cli/Serv.: JXTA/152 Contents 1.Principle Aims 2.JXTA Main Components 3.JXTA Concepts 4.Example Services and Apps. 5.JXTA Compared to Jini 6.More Information
Cli/Serv.: JXTA/ Principle Aims v JXTA provides core functionality so that developers can build P2P services and applications. v JXTA provides core functionality so that developers can build P2P services and applications. v JXTA can be implemented with any programming language and run on any software and hardware platform/device. continued
Cli/Serv.: JXTA/154 v It can be implemented on top of TCP/IP, HTTP, Bluetooth, and many other protocols. v Currently requires a platform that supports the JRE or JDK or later. v Available on Windows, Solaris, Linux, and Macintosh.
Cli/Serv.: JXTA/ JXTA Main Components v JXTA supports a three layer view of P2P development: –a core layer –a middle services layer –an application layer
Cli/Serv.: JXTA/156 Diagram
The Core Layer v 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
Cli/Serv.: JXTA/ The Services Layer v 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)
Cli/Serv.: JXTA/ The Application Layer v 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, Instant Messenger –e.g. InstantP2P (see below)
Cli/Serv.: JXTA/ JXTA Concepts v What is a Peer? v What are Peer Groups? v JXTA Pipes v Peer Monitoring v The Main JXTA Protocols
Cli/Serv.: JXTA/1511 A JXTA System peer group monitor join leave ask to join or query group dynamic pipes peer group comms.
Cli/Serv.: JXTA/ What is a Peer? v A peer is any device that runs some/all of the JXTA protocols. v A peer is any device that runs some/all of the JXTA protocols. v The peer needs to be connected to some kind of network, such as IP, Bluetooth. v Peers can be servers, PCs, PDAs, manufacturing and medical equipment, cellular phones, etc.
Cli/Serv.: JXTA/ What are Peer Groups? v 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. v Each peer group can establish its own membership policy –e.g. from open (anybody can join) to highly secure and protected
Cli/Serv.: JXTA/ JXTA pipes v JXTA pipes are inter-peer communication channels –similar to the UNIX idea of piping the output of one command to the input of another v Pipes are unidirectional and may be dynamically coupled and uncoupled for flexible connection of peers. continued
Cli/Serv.: JXTA/1515 v Piped messages are XML documents and so are platform, language, and protocol independent. v The contents of messages can be binary code, data strings, Java technology-based objects, and/or applets.
Cli/Serv.: JXTA/ Peer Monitoring v Peer monitoring is the policeman of the core –handles authentication/authorization, metering, etc.
Cli/Serv.: JXTA/ The Main JXTA Protocols v NetPeerGroup Protocol v Peer/PeerGroup Discovery Protocol v Peer Information and Management Protocol v PeerGroup Membership Protocol v PeerGroup Resolver Protocol –send and receive generic queries to find or search for peers, peer groups, pipes, and other information. v PeerGroup Sharing Protocol
Cli/Serv.: JXTA/ Example Services and Apps. v Service examples: –JXTA Shell –JXTA Search v Application: –InstantP2P
Cli/Serv.: JXTA/ JXTA Shell v Enables users to interact with the JXTA core through a command-line interpreter. v 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
Cli/Serv.: JXTA/ JXTA Search v Searches for content and services on JXTA nodes and the Web. v Uses a new XML search protocol for describing queries and responses.
Cli/Serv.: JXTA/ InstantP2P v InstantP2P implements a set of common P2P applications –includes peer-to-peer messaging (secure and plain text), peer group chat, and file sharing –includes peer-to-peer messaging (secure and plain text), peer group chat, and file sharing v It provides a simple graphical user interface to create and join groups. v The source code is available.
Cli/Serv.: JXTA/ JXTA Compared to Jini v Jini connects distributed services within a Java network using an object model and a centralized service location broker. v JXTA connects distributed services in a P2P-style network, using a loosely-coupled data model.
Cli/Serv.: JXTA/1523 A Jini System location broker printer database dynamic network of services mobile device 1.enquire 2. report 3. connect
Cli/Serv.: JXTA/ More Information v Project JXTA – –JXTA software, documents, etc.