Project Jxta Prepared by: Sameh El-Ansary SICS AB.

Slides:



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

peer-to-peer and agent-based computing
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
ScaLAB seminar 21st October Intrinsic References in Distributed Systems Presented by: Nimish Pachapurkar.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
Service Oriented Architectures in Heterogeneous Environments
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
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.
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.
Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p Framework Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p.
JXTA Selo TE Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed.
Web Services By Ethan Justin Yuli. Web Services in Action Information through Integration (Google Example)Google Example What do Web.
Peer-to-Peer Networks & JXTA by Madhurasmitha Chakravarthy & Priti Sabadra.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
JXTA Lecture 1.JXTA Overview a) Background to Project JXTA b) Design Constraints c) Terminology d) Overview and Architecture e) Introducing the Concepts.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Project JXTA Instructor: Dr. Erdogan Dogdu Presented by: Liu Shuai
Getting Started with JXTA for J2ME Advisor : Dr. Ching-Long Yeh Report : DI.2, 洪泰昌 ( ) Course: XML 文件管理.
Sun’s Project JXTA Technical Overview Presented by Sergei Kovalenko Red Team: Janhavi James A. Davis Fernando D. Diaz.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
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.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
Project JXTA : An Open Peer-to-Peer Network Environment Gene Kan Project JXTA Sun Microsystems, Inc.
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.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Web Services Description Language CS409 Application Services Even Semester 2007.
Java Security Pingping Ma Nov 2 nd, Overview Platform Security Cryptography Authentication and Access Control Public Key Infrastructure (PKI)
Lec 3: Infrastructure of Network Management Part2 Organized by: Nada Alhirabi NET 311.
Project Proposal for Integrated Control and Connection management Robby Gurdan and Richard Foss.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
2-1 JXTA Concepts. 2-1 Learning Objectives ● This module will help you... – Understand P2P principles – Learn about JXTA virtual network core building.
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,
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
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.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
13-1 Monitoring and Metering Learning Objectives ● This module will help you... – Understand the JXTA monitoring and metering functionality – Gain.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Enterprise Integration Patterns CS3300 Fall 2015.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
JXTAJXTA By Fawaz AlSulaiman
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.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Jini Architecture Introduction System Overview An Example.
Kemal Baykal Rasim Ismayilov
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
18-1 Summary (Day 2) Learning Summary – What is JXTA ? – Understand the fundamental concepts of JXTA – Learn about the various implementations of.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
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.
Department of Communications, Optics & Materials Technical University of Denmark JXTA protocols Colin Chaballier Advanced.
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.
Project JXTA By Jude Mercado.
Building Distributed Educational Applications using P2P
WEB SERVICES.
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
Data Communication Systems and Network
Distributed System using Web Services
#01 Client/Server Computing
Presentation transcript:

Project Jxta Prepared by: Sameh El-Ansary SICS AB

What is Jxta? Sun’s proposed standard for P2P computing Open-source project with contributions from the industry and the academia Peer-to-peer computing is juxtaposed to the hierarchical client-server model, Pronounced “Juxta”

Jxta Objectives Interoperability –Conquer the mess of file-sharing applications incompatibilities, closed communities and duplication of efforts Platform Independence –Language, OS, Transport, Auth., Security, Encryption. Ubiquity –Not only PCs but: sensors, consumer electronics, PDAs, network routers, desktops, storage systems, etc …

Jxta Architecture

Jxta Abstractions Peer – Device with a digital heart beat Peer Groups - Peers providing a common service Pipes – uni-directional, asynchronous, virtual channels Network Services- Peer & Peer group services Content – files, code, executed processes UUID – internal ID for JXTA entities Advertisements – publish existence of resources Messages – XML envelopes Credentials – Tokens for protection & Authentication

JXTA Core Protocols Membership –Peer Membership Protocol Discovery –Peer Discovery Protocol –Peer Resolver Protocol Pipe –Pipe Binding Protocol –Peer Endpoint Protocol Monitoring –Peer Information Protocol

Protocols Stack

Jxta Peer A peer is any networked device that implements one or more of the JXTA protocols. Each peer operates independently and asynchronously from all other peers, and is uniquely identified by a Peer ID. Peers publish one or more network interfaces for use with the JXTA protocols, a peer endpoint. Peer endpoints are used for direct point-to-point connections. Intermediary peers may be used to route messages

Jxta Peer (contd.) Minimal peer –Sends and receivec messages, but does not cache advertisements or route messages. Simple peer –Sends and receives messages, and will typically cache advertisements. –Replies to discovery requests with info in its cached advertisements, but does not forward any discovery requests. Rendezvous peer –Forwards discovery requests to help other peers discover resources. –Any simple peer can configure itself as a rendezvous peer. –A peer can be configured to use one or more rendezvous peers. –Each rendezvous peer maintains a list of other known rendezvous peers and also the peers that are using it as a rendezvous. Relay peer –A relay peer maintains information about the routes to other peers and routes messages to peers. –A peer first looks in its local cache for route information. If it isn’t found, the peer sends queries to relay peers asking for route information. –Relay peers also forward messages on the behalf of peers that cannot directly address another peer (e.g., NAT environments

Jxta Peers (contd.) - Relaying

Jxta Peer Groups A collection of peers that have agreed upon a common set of services. Peers self-organize into peer groups, each identified by a unique peer group ID. Each peer group can establish its own membership policy Peers may belong to more than one peer group simultaneously. All peers belong to the Net Peer Group. The JXTA protocols describe how peers may publish, discover, join, and monitor peer groups; they do not dictate when or why peer groups are created. Motivations for creating peer groups: –To create a secure environment –To create a scoping environment –To create a monitoring environment A group may contain peers or other groups

Jxta Peer Groups (contd.) In order for two peers to interact via a service, they must both be part of the same peer group. Core peer group services include: –Discovery Service –Membership Service –Access Services –Pipe Service –Resolver Service –Monitoring Service

Jxta Pipes Peers use pipes to send messages to one another. Pipes are an asynchronous and unidirectional message transfer channels. They support the transfer of any object, including binary code, data strings, and Java technology- based objects. The pipe endpoints are referred to as the input pipe (the receiving end) and the output pipe (the sending end). Pipe endpoints are dynamically bound to peer endpoints at runtime.

Jxta Pipes (Contd.) Intermediary peer endpoints could be used to relay messages between the two pipe endpoints. Pipes offer two modes of communication, point-to-point and propagate

Jxta Network Services Peers cooperate and communicate to publish, discover, and invoke network services. Peers can publish multiple services. Peers discover network services via the Peer Discovery Protocol. Two levels of network services: –Peer Services –Peer Group Services Services can be either pre-installed or loaded from the network. Invocation of services is out of the scope of Jxta, possibly soap, or some XML-RPC

Jxta IDs JXTA resources need to be uniquely identifiable JXTA ID types defined: peers, peer group, pipes, service, contents URNs are used to express JXTA IDs. URNs are a form of URI that is persistent and location independent

Jxta Ids (Contd.) An example JXTA peer ID is: – urn:jxta:uuid A F3BC76F F13C2414CBC0AB663666DA53903 An example JXTA pipe ID is: – urn:jxta:uuid E E3E EA460DADC1A176B69B Unique IDs are generated randomly by the JXTA J2SE platform binding. Reserved JXTA IDs: –the NULL ID –the Net Peer Group ID.

Jxta Content Could be text, binaries, loadable code or executable process A content may belong to one group If replicated within one group, then same ID else different ID, logically another content

Jxta Advertisments Language-Neutral meta-data encoded in XML to describe resources such as: –Peers, PeerGroups, Pipes, Services, Content, Endpoint

Jxta Advertisments (Contd.) urn:jxta:uuid E E3E786229EA460DADC1A176B69B JxtaUnicast TestPipe.end1

Jxta Messages XML enveloped Binary data included using Base64 enconding Every service is responsible for its marshalling format

Jxta Credentials Credentials are for Authorization, messages included a specified place for them Encryption for Confidentiality Digests for data integrity, also a place for them in the messages Signatures for Refutability

The Peer Discovery Protocol (PDP) Used to discover any published peer resources. represented as advertisements. The default discovery protocol for all user defined peer groups and the default net peer group. Custom discovery services may choose to leverage the PDP. If a peer group does not have its own discovery service, the PDP is used to probe peers for advertisements.

Peer Discovery Protocol (contd.) There are multiple ways to discover distributed information: –IP multicast to the local subnet –use of rendezvous peers, networkcrawling. –Invitations Other techniques, CANs or Chord, could also be added to perform resource discovery. DiscoveryQuery request messages are sent to discover advertisements within a peer group with supplied credentials. A peer may receive zero, one, or more responses to a discovery query request.

PDP elaborated (contd.) Peers send search and discovery requests to rendezvous peers, which in turn forward requests they cannot answer to other known rendezvous peers. They also forward discovery requests to other peers which are using them as a rendezvous. The discovery process continues until one peer has the answer or the request dies. Messages have a default time-to-live (TTL) of seven hops. Loopbacks are prevented by maintaining the list of peers along the message path.

PDP elaborated

The Peer Resolver Protocol (PRP) The mechanism by which a peer can send a query to one or more peers, and receive a response (or multiple responses) to the query. The PRP implements a query/response protocol. The response message is matched to the query via a unique id included in the message body. When a peer is discovered via PDP, a query can be sent to that peer.

The Peer Information Protocol (PIP) The mechanism by a which a peer may obtain status information about other peers, such as state, uptime, traffic load, capabilities, etc.

The Pipe Binding Protocol (PBP) The mechanism 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 ends of the connection (pipe endpoints).

The Peer Endpoint Protocol (PEP) The mechanism 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 peer(s) to route the message to C.

The Peer Membership Protcol (PMP) The technique by which peers can self- organize and group themselves into peer groups Used by a peer to join or leave an existing Peergroup discovered via the PDP

Activities in Jxta Core Di Distributed Indexing [Note] Jxme JXTA for J2ME (CLDC / MIDP ) jxta-c C language binding for JXTA core Jxtaperl A Perl 5 binding. Jxtapy JXTA Python binding Jxtaruby Ruby implementation objc-jxta An objective-c binding Platform JXTA platform Java 2 SE Pocketjxta Porting the PocketPC Security JXTA P2P Security Project [Note] Tini TINI binding for JXTA platform

Activities in Jxta Services caservice Peer service that can validate certificate chains cms JXTA Content Management System compute-power-market Economics driven P2P Computing Platform and marketplace! edutella RDF-based Metadata Infrastructure for P2P Applications gisp Global Information Sharing Protocol [Note] ipeers Artifical Intelligence in P2P networks [Note] jxrtl XML language allowing Active Networks to be implemented in JXTA jxta-rmi RMI API on top of JXTA jxta-wire Provide a set of tools to allow many to many JXTA pipes jxta-xml-rpc JXTA transport binding implementation for XML-RPC jxtaspaces A Distributed Shared Memory Service for JXTA [Note] jxtavfs JxtaVFS organizes JXTA network resources as virtual file system. [Note] monitoring Monitoring and Metering networkservices Integrate Web Services Concepts into JXTA p2p- P2P group discussions using JXTA Peergroup technology payment Implement anonymous and secure financial transactions replication Replication/synch engine [Note] rrs Service for local and remote administration of rendezvous peers rvmanager RendezVous Manager search Distributed search service for JXTA and Web content and services [Note]

Activities in Jxta Apps allhands Event Notification application brando Brando P2P Java source code sharing tool configurator A GUI configuration tool for the JXTA platform dfwbase P2P network with a database at each peer - A knowledge base gnougat Gnougat: Fully decentralised file caching halu JXTA media distribution application instantp2p JXTA Demonstration GUI jnushare A set of application of GISP (fileshare, messageboard) juxtaprose a web / discussion content sharing application jxauction Develop a auction software using jxta myjxta myJXTA - JXTA Demonstration Application (aka InstantP2P) parlor App framework for creating collaborative P2P spaces radiojxta delivering audio content over JXTA networks rosettachat Localized JXTA Peer Text Messaging shareddiary Shared Diary for a Small workgroup shell JXTA Command Line Shell for interactive access vop2p voice over P2P network

Summary Absractions: –Peer, Peer Group, Pipe,... Protocols: –PDP, PRP, PMP,... Many areas are left open: security, search,.... The target is only to standardize the abstractions and the set of protocols needed for P2P platforms