Presentation is loading. Please wait.

Presentation is loading. Please wait.

Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network.

Similar presentations


Presentation on theme: "Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network."— Presentation transcript:

1 Project JXTA Kaarthik Sivashanmugam

2 JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network — from cell phone to PDA, from PC to server — to communicate and collaborate as peers. The JXTA protocols are independent of any programming language, and multiple implementations (called bindings in Project JXTA) exist.

3 Why JXTA?

4 P2P technologies: Napster and Gnutella for file sharing, SETI@home for distributed computing, IMs. - these applications perform different tasks, - they all share many of the same properties discovery of peers, searching, file or data transfer.

5 Problem: application development is inefficient (developers solving the same problems and duplicating similar infrastructure implementation. most applications are specific to a single platform and are unable to communicate and share data with other applications.

6 Solution: providing a platform with the basic functions necessary for a P2P network. Improved Solution: Interoperability Platform Independence Ubiquity

7 JXTA:Definition Project JXTA is an open network computing platform designed for peer-to- peer (P2P) computing. Its goal is to develop basic building blocks and services to enable innovative applications for peer groups.

8 The JXTA protocols standardize the manner in which peers: Discover each other Self-organize into peer groups Advertise and discover network services Communicate with each other Monitor each other

9 Uses Using JXTA technology, developers can write networked, interoperable applications that can: Find other peers on the network with dynamic discovery across firewalls Easily share documents with anyone across the network Find up to the minute content at network sites Create a group of peers that provide a service Monitor peer activities remotely Securely communicate with other peers on the network

10 JXTA Architecture

11 Platform Layer (JXTA Core) Encapsulates minimal and essential primitives that are common to P2P networking. discovery transport (including firewall handling) creation of peers and peer groups associated security primitives. Eg: - Creates an address space for Peers by providing unique peerID while bootstrapping each peer in a peer group - Can open a pipe to another Peer/Peer group

12 Services Layer Includes network services that may not be absolutely necessary for a P2P network to operate, but are common or desirable in the P2P environment. searching and indexing, directory, storage systems, file sharing, distributed file systems, resource aggregation and renting, protocol translation, authentication, and PKI (Public Key Infrastructure)

13 Applications Layer Implementation of integrated applications, such as P2P instant messaging document and resource sharing, entertainment content management and delivery, P2P Email systems, distributed auction systems

14 Components: Peers: - any networked device that implements one or more of the JXTA protocols. - uniquely identified by a Peer ID - publishes one or more network interfaces (peer endpoint) for use with the JXTA protocols.

15 Components contd. Peer groups: - collection of peers that have agreed upon a common set of services. - identified by a unique peer group ID. - can establish its own membership policy Reasons: Security, Scoping and Monitoring

16 Peer Group Services 1. Discovery Service: Search for peer group services 2. Membership Service: reject or accept a new group membership application. 3. Access Service: validate requests made by one peer to another. 4. Pipe Service: create and manage pipe connections 5. Resolver Service: send generic query requests to other peers. 6. Monitoring Service: one peer to monitor other members -two peers to interact via a service, they must both be part of the same peer group. - default group: NetPeerGroup

17 Components contd. Pipes: - asynchronous and unidirectional message transfer mechanism used for service communication between peers. - support the transfer of any object, including binary code, data strings, and Java technology-based objects. - virtual communication channels and may connect peers that do not have a direct physical link. - peer i/p pipe, o/p pipe, pipe end points - pipe endpoint => peer n/w interface(TCP port+IP)

18 Components contd. Messages: - object that is sent between JXTA peers - basic unit of data exchange between peers - sent and received by the Pipe Service and by theEndpoint Service. - a set of name/value pairs - types: XML and binary. - XML tags determine Peers implementation

19 Components contd. Advertisements: - JXTA network resources — such as peers, peer groups, pipes, and services — are represented by an advertisement. - metadata structures represented as XML documents. - used by Peers to discover resources - for peers, peer groups, pipes, content etc

20 Components contd. Secutrity: Confientiality Authentication Authorization Data integrity Refutability XML messages provide the ability to add metadata such as credentials, certificates, digests, and public keys to JXTA messages. Every peer has its own root certificate ie) Public key certificate part of each Peer advertisement

21 Components contd. IDs: Peers, peer groups, pipes and other JXTA resources need to be uniquely identifiable. Unique IDs are generated randomly by the JXTA J2SE platform binding. There are two special reserved JXTA IDs: the NULL ID and the Net Peer Group ID.

22 JXTA Protocol: Peer Discovery Protocol (PDP) Peer Information Protocol (PIP) Peer Resolver Protocol (PRP) Pipe Binding Protocol (PBP) Endpoint Routing Protocol (ERP) Rendezvous Protocol (RVP) JXTA peers are not required to implement all six protocols; they only need implement the protocols they will use.

23 Peer Discovery Protocol (PDP) — used by peers to advertise their own resources and discover resources from other peers Peer Information Protocol (PIP) — used by peers to obtain status information (uptime, state, recent traffic, etc.) from other peers. Peer Resolver Protocol (PRP) — enables peers to send a generic query to one or more peers and receive a response (or multiple responses) to the query. Unlike PDP and PIP, which are used to query specific pre- defined information, this protocol allows peer services to define and exchange any arbitrary information they need.

24 Pipe Binding Protocol (PBP) — used by peers to establish a virtual communication channel, or pipe, between one or more peers. Endpoint Routing Protocol (ERP) — used by peers to find routes (paths) to destination ports on other peers. Route information includes an ordered sequence of relay peer IDs that can be used to send a message to the destination. (For example, the message can be delivered by sending it to Peer A which relays it to Peer B which relays it to the final destination.) Rendezvous Protocol (RVP) — used by peers to propagate messages within a peer group.

25 Sample P2P Applications that can be/are being developed using JXTA – Collaboration tools – Searching, indexing and file sharing – Distributed storage & content delivery – Peer-to-peer messaging – Peer monitoring and metering – Distributed Computing and RMI – Auction – JXTA Shell

26 JXTA Vs JINI Jini network technology is a mechanism to connect distributed services within a Java network – Uses a Centralized Service Location Broker JXTA is a mechanism to connect distributed services in a peer-style network – Uses a loosely-coupled data model(XML) – Is a set of protocols – Can be implemented in ANY language

27 JXTA Vs SOAP Simple Object Access Protocol (SOAP) – Enables Remote Service Access – Uses XML JXTA – In addition to Remote Service access, provides additional protocol specs (Peer Discovery, Peer groups for clean peer organization, Peer pipes for secure, flexible communcation) to implement a full P2P application SOAP messages can be send thru JXTA

28 JXTA Services1:GISP GISP stands for Global Information Sharing Protocol, which provides a distributed index using a hash algorithm. It is intended to provide a world-wide information sharing system. GISP itself does not use broadcasting messages at all. It takes any data with a keyword, and selects one or several peers for each keyword. This is done by calculating a hash value of a keyword and a hash value of a peer ID, then calculating the numerical distance between these two hash values. A peer is selected if the distance is the smallest. When searching data, a peer sends a query to the selected peer for the search keyword. Data with the same keyword should be stored in the same peer so that other peers can search them. One of the interesting functions is "peer strength" which makes it possible to specify how cooperative a peer is. A peer in slower network can set its strength smaller, a peer in faster network can set its strength larger.

29 JXTA Services2: JXTA Search Distributed search service for JXTA and Web content and services JXTA Search consists of a new XML search protocol for describing queries and responses. In addition, JXTA Search provides a "Hub" searching service for both JXTA nodes and the web which allows consumer applications to efficiently find providers that can answer their requests. JXTA Search does not use web crawling with large indexes to provide search results. Instead JXTA Search specifies a simple XML protocol used by content providers to provide current, dynamic content in response to search requests. JXTA Search is ideally suited for environments where content is rapidly changing and is spread out across many different providers. Content providers can be other JXTA Search hubs, JXTA peer nodes, or web sites.

30 References, Sources http://www.jxta.org http://www.brendonwilson.com/projects/jxta/ http://www.jxta.org/docs/jxtaprogguide_final.pdf http://developer.java.sun.com/developer/onlineTraining/webcasts/20plus/pdf/sraju.pdf http://www.sun.com/developers/evangcentral/presentations/jxta.pdf http://www.jxta.org/project/www/white_papers.html http://www.oreilly.com/catalog/jxtaian/chapter/ch02.html http://www.openp2p.com/pub/a/p2p/2001/04/25/jxta_position.html http://www.openp2p.com/pub/a/p2p/2001/04/25/learning_jxta_shell.html http://www.onjava.com/pub/a/onjava/2001/04/25/jxta.html http://www.javaworld.com/javaworld/jw-10-2001/jw-1019-jxta.html http://www.javaworld.com/javaworld/javaone01/j1-01-jxta.html http://www.openp2p.com/pub/a/p2p/2001/06/05/jxtachat.html http://wwws.sun.com/software/jxta/ http://platform.jxta.org/java/workinprogress/ScalabilityOverview.pdf http://java.sun.com/features/2002/10/jxta_res.html http://www.onjava.com/pub/a/onjava/2001/04/25/jxta.html http://relativity.yi.org/jxta-bridge/


Download ppt "Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network."

Similar presentations


Ads by Google