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.

Slides:



Advertisements
Similar presentations
0 McLean, VA August 8, 2006 SOA, Semantics and Security.
Advertisements

peer-to-peer and agent-based computing
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
ScaLAB seminar 21st October Intrinsic References in Distributed Systems Presented by: Nimish Pachapurkar.
Network Layer and Transport Layer.
Service Oriented Architectures in Heterogeneous Environments
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
JXTA P2P Platform Denny Chen Dai CMPT 771, Spring 08.
JXTA Protocol Introduction Student : Jia-Hui Huang Adviser : Kai-Wei Ke Date : 2005/11/22.
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Networking Theory (part 2). Internet Architecture The Internet is a worldwide collection of smaller networks that share a common suite of communication.
JXTA Selo TE Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed.
A. Frank 1 Internet Resources Discovery (IRD) Peer-to-Peer (P2P) Technology (1) Thanks to Carmit Valit and Olga Gamayunov.
Peer-to-Peer Networks & JXTA by Madhurasmitha Chakravarthy & Priti Sabadra.
Fionn Murtagh Dimitri Zervas Pedro Contreras Royal Holloway, University of London Munich, 24 of June 2005 JXTA P2P, Web Services and WS-Talk.
Project Jxta Prepared by: Sameh El-Ansary SICS AB.
JXTA Lecture 1.JXTA Overview a) Background to Project JXTA b) Design Constraints c) Terminology d) Overview and Architecture e) Introducing the Concepts.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
IT 210 The Internet & World Wide Web introduction.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Cmpe 494 Peer-to-Peer Computing Anıl Gürsel Didem Unat.
思科网络技术学院理事会. 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Sun’s Project JXTA Technical Overview Presented by Sergei Kovalenko Red Team: Janhavi James A. Davis Fernando D. Diaz.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
An XMPP (Extensible Message and Presence Protocol) based implementation for NHIN Direct 1.
Peer To Peer Applications
1 A P2P Collaborative System Using JXTA Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Rev PA102/03/20041 Communication Between Peer Wireless Sensor Networks over 2.5G/3G Mobile Networks Srdjan Krco R&D Ericsson Ireland
KEx objectives Supporting distributed and heterogeneous organizations in managing their knowledge processes, by technologically implementing the basic.
3-1 JXTA Platforms. 3-1 Learning Objectives ● Learn about the different platform implementations of the JXTA protocols – Features provided by each implementation.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Dr. Ian Wang Cardiff University, U.K.. Ian Wang, Cardiff University Peer-to-Peer and Grids What does the Peer-to-Peer paradigm offer Grids? Scalable Decentralized.
9-1 JXTA Discovery Learning Objectives This module will help you... – Understand how JXTA advertisements are published, cached, and.
13-1 Monitoring and Metering Learning Objectives ● This module will help you... – Understand the JXTA monitoring and metering functionality – Gain.
XML and Web Services (II/2546)
Internet Architecture and Governance
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
1.Registration block send request of registration to super peer via PRP. Process re-registration will be done at specific period to info availability of.
Kemal Baykal Rasim Ismayilov
CS1001 Lecture 7. Overview Computer Networks Computer Networks The Internet The Internet Internet Services Internet Services Markup Languages Markup Languages.
18-1 Summary (Day 2) Learning Summary – What is JXTA ? – Understand the fundamental concepts of JXTA – Learn about the various implementations of.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Peer to Peer Network Design Discovery and Routing algorithms
REST By: Vishwanath Vineet.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
6-1 How to Write JXTA Applications. 6-1 Learning Objectives ● This module will help you... – Gain familiarity with guidelines and design conventions that.
DHCP Vrushali sonar. Outline DHCP DHCPv6 Comparison Security issues Summary.
Speaker : 童耀民 MA1G /3/21 1 Authors: Phone Lin and Pai-Chun Chung, National Taiwan University Yuguang Fang, University of Florida.
Project JXTA By Jude Mercado.
M. Ranganathan ITG/ANTD/NIST
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
University of Technology
Ch 17 - Binding Protocol Addresses
New Tools In Education Minjun Wang
Presentation transcript:

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 — 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.

Why JXTA?

P2P technologies: Napster and Gnutella for file sharing, 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.

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.

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

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.

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

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

JXTA Architecture

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

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)

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

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.

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

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

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)

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

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

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

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.

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.

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.

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.

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

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

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

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.

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.

References, Sources