nps284

Post on 10-Apr-2018

225 views 2 download

Transcript of nps284

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 1/20

JXTA

Didier DONSEZUniversité Joseph Fourier (Grenoble 1)

IMA - IMAG / LSR / ADELE'LGLHU 'RQVH]#LPDJ IU

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 2/20

'

' R Q V H ] - ; 7 $

2

MotivationPlate- forme ouverte de développement P2P

I P2P :• Informatique Grand Public

• Terminal (PC)• Connexion quasi permanente (Forfait ADSL, Modem Cable, …)• Usage

A la fois clientA la fois serveur (de ressources)

• Exemple• Calcul massivement distribué

SETI

• Partage de fichiers

Napster, GnuTella, FreeNet, Gnapster, Publius• Plate-forme de développement

JXTA

I JXTA, Sun (prononcé « Juxta(pose) »)

• Pour des Java device (mais également non Java)

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 3/20

'

' R Q V H ] - ; 7 $

3

Architecture

+{WH 3HHU VXU OH :HE

6pFXULWp

3HHU *URXSV 3HHU 3LSHV 3HHU 0RQLWRULQ-;7$ &RUH

-;7$6HUYLFHV

-;7$$SSOLFDWLRQV

-;7$&RPPXQLW\ 6HUYLFHV

6XQ -;7$ 6HUYLFHV,QGH[DWLRQ 3DUWDJH GH)LFKLHUV 5HFKHUFKH

-;7$ 6KHOO

3HHU &RPPDQGV

-;7$&RPPXQLW\ $SSOLFDWLRQV

6XQ -;7$$SSOLFDWLRQV

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 4/20

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 5/20

' 'RQVH] -;7$

P e er P

i p e

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 6/20

'

' R Q V H ] - ; 7 $

6

JXTA ServicesI higher-level functions

• expand upon the capabilities of the core and facilitateapplication development.I mechanisms for searching, sharing, indexing, and

caching code and content to enable cross-applicationbridging and translation of files.

I Queries and Responses structured in XML

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 7/20

'

' R Q V H ] - ; 7 $

7

JXTA Applications

I built using peer services and the core layer

I P2P auctionsI Resource-sharing (SETI@home)I Instant messaging, mail, and calendaring servicesI …

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 8/20

'

' R Q V H ] - ; 7 $

8

Les projets JXTA

Cat égorie : CoreI jxme JXTA on J2ME (CDC/FP & CLDC / MIDP)I

jxtaperl An implementation of the core JXTA protocols inPerl 5.I platform JXTA P2P platform infrastructure building blocks

and protocols.I pocketjxta Porting the jxta platform to the PocketPCI security JXTA P2P Security ProjectI tini pour la plate- forme embarqué TINI de iButton

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 9/20

'

' R Q V H ] - ; 7 $

9

Les projets JXTA

Cat égorie : CoreI caservice Peer service that can validate certificate chainsI cms JXTA Content Management SystemI compute-power-market Economics driven P2P Computing Platform and marketplace!I gisp Global Information Sharing ProtocolI ipeers Artifical Intelligence in P2P networksI jxrtl XML language allowing Active Networks to be implemented in JXTAI jxta-grid distributed computing with varying workloads/runtimesI jxta-rmi RMI API on top of JXTAI jxta-wireProvide a set of tools to allow many to many JXTA pipesI jxta-xml-rpc JXTA transport binding implementation for XML-RPCI jxtaspaces A Distributed Shared Memory Service for JXTAI jxtavfsJxtaVFS organizes JXTA network resources as virtual file system.I monitoring Monitoring and MeteringI networkservices integrate Web Services Concepts into JXTAI p2p-email 2P email group discussions using JXTA eergroup technologyI payment Implement anonymous and secure financial ransactionsI rrs Service for local and remote administration of endezvous peersI rvmanager RendezVous ManagerI search Distributed search service for JXTA and Web content and services

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 10/20

'

' R Q V H ] - ; 7 $

10

Les projets JXTA

Cat égorie : ApplicationsI allhands Event Notification applicationI brando Brando P2P Java source code sharing toolI configurator A GUI configuration tool for the JXTA platformI dfwbase P2P network with a database at each peer - A knowledge baseI fuel-auction Demonstration application using JXTAI gasnet jxta-enabled GUI demo (aka fuel-auction 2)I instantp2p JXTA Demonstration GUII jnushare A file-sharing application of GISPI juxtaprose a news / discussion content sharing serviceI

parlor App framework for creating collaborative P2P spacesI project2p A peer to peer solution to share project documentI rosettachat Localized JXTA Peer Text MessagingI shell JXTA Command Line Shell for interactive access

I www A project for HTML documents and information

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 11/20

'

' R Q V H ] - ; 7 $

11

JXTA Shell

I Langage de commande semblable au Shell UNIX• Lancement de commandes en séquence ou en pipeline• Redirection des entrées et sorties des commandes• Lancement de commande en mode batch (batch file)

I Commandes de base

• man, exit,• whoami : affichage des informations concernant le peer• peers : decouverte et listage des peers• groups : decouverte et listage des groupes

• join/leave : joindre/quitter un groupe• talk : instant messaging point à point• search : recherche d’usagers• more/cat : affichage de messages (réponse XML à un avertissement, …)

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 12/20

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 13/20

'

' R Q V H ] - ; 7 $

13

Nouvelles Commandes Shell

I Ajout de nouvelles commandes au JXTA ShellSDFNDJHQHW M[WD LPSO VKHOO ELQP\+HOOR:RUOG

SXEOLF FODVV P\+HOOR:RUOG H[WHQGVQHW -;7$ LPS VKHOO 6KHOO$SS^SULYDWH 6KHOO(QY P\(QYSXEOLF LQW VWDUW$SS 6WULQJ>@ DUJV ^ DUJV KDV DUJXPHQWV WR

P\(QY JHW(QY UHWULHYH WKH FRPPDQG HQYLURQPHQW H[WUDFW WKH FXUUHQW SHHU*URXS IURP WKH HQYLURQPHQW

6KHOO2EMHFW REM P\(QY JHW VWGJURXS3HHU*URXS JURXS 3HHU*URXS REM JHW2EMHFWLI DUJV QXOO ^ SULQWOQ SULQW WR WKH FRQVROH

SULQWOQ +HOOR P\ SHHUJURXS LV JURXS WR6WULQJ` HOVH ^ QR DUJXPHQWV DUH DXWKRUL]HG

SULQWOQ 6RUU\ QR DUJXPHQW VXSSRUWHG`UHWXUQ 6KHOO$SS DSS1R(UURU (YHU\WKLQJ ZHQW 2.

`SXEOLF YRLG VWRS$SS ^ QRW PXFK WR EH GRQH KHUH `

`

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 14/20

'

' R Q V H ] - ; 7 $

14

Protocoles (i)

I 3HHU 'LVFRYHU\ 3URWRFRO(PDP)• Decouverte des ressources (peer groups, services, pipes, peers additionnels )• Avertissement de ses propres ressources

I 3HHU 5HVROYHU 3URWRFRO(PRP)• Envoi de requête vers un ou plusieurs peers connus• Réception de une ou plusieurs reponses• Chaque requête est identifié de manière unique

I3HHU ,QIRUPDWLRQ 3URWRFRO(PIP)• Demande d’information sur d’autres peers (état, uptime, traffic load, capabilities, …)

I 3HHU 0HPEHUVKLS 3URWRFRO(PMP)• Création de groupes (peer group)• Rejoindre et Quitter un ou plusieurs groupes

I 3LSH %LQGLQJ 3URWRFRO(PBP)• Etablissement d’un pipe de communication entre 2 ou plusieurs peers

I 3HHU (QGSRLQW 3URWRFRO(PEP)• Decouverte d’un itinéraire (route=séquence de saut(hops)) vers un peer quand le peer n’est

pas accessible directement

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 15/20

'

' R Q V H ] - ; 7 $

15

Protocoles (iii)

I Protocoles réseaux

• TCP, UDP, UDP Multicast• SSL/TLS• HTTP/HTTPS en cas de firewall et pour le NAT

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 16/20

'

' R Q V H ] - ; 7 $

16

Infrastructure r éseau

Peer

Peer

FireWall

Peer

RdV PeerUDP

TCP

UDPHTTPS

HTTP

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 17/20

'

' R Q V H ] - ; 7 $

17

Protocoles (ii)

I Messages• Utilisé par les protocoles

• Structuration XML• Peuvent être cachés pour optimiser les performancesquand le réseau est stable (PDP)

I Exemple"[PO YHUVLRQ HQFRGLQJ 87) "!M[WD 3HHU$GYHUWLVHPHQW!1DPH! QDPH RI WKH SHHU 1DPH!.H\ZRUGV!VHDUFK NH\ZRUGV .H\ZRUGV!3LG! 3HHU ,G 3LG!6HUYLFHV!M[WD 6HUYLFH$GYHUWLVHPHQW!

M[WD 6HUYLFH$GYHUWLVHPHQW!6HUYLFHV!

(QGSRLQWV!M[WD 6HUYLFH$GYHUWLVHPHQW!

M[WD 6HUYLFH$GYHUWLVHPHQW!(QGSRLQWV!

,QLWLDO$SS!M[WD 6HUYLFH$GYHUWLVHPHQW!

M[WD 6HUYLFH$GYHUWLVHPHQW!,QLWLDO$SS!M[WD 3HHU$GYHUWLVHPHQW!

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 18/20

'

' R Q V H ] - ; 7 $

18

S écurité

I Modèle de confiance de Poblano : Web of trusts

• Contrat social de confiance entre les pairs• Chaque pair a une réputation partagée par plusieurs pairs

I Virtual TLS• TLS sur les pipes JXTA

• Multi sauts et reversible

I Lecture• http://servlet.java.sun.com/javaone/resources/content/sf2002/c

onf/sessions/pdfs/3075.pdf

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 19/20

'

' R Q V H ] - ; 7 $

19

Comparaison

I JXTA / JINI /Salutation

8/8/2019 nps284

http://slidepdf.com/reader/full/nps284 20/20

'

' R Q V H ] - ; 7 $

20

Bibliographie et Webographie

I Project JAXP• http://www.jxta.org/

I Des livres• Sing Li , « Early Adopter JXTA », Wrox• Daniel Brookshier, Darren Govoni, Navaneeth Krishnan and Juan Carlos

Soto , « JXTA: Java P2P Programming », SAMS, ISBN 0672323664

• Brendon J. Wilson , « JXTA », disponible surhttp://www.brendonwilson.com/projects/jxta/pdf/JXTA.pdf.

• Joe Gradecki , « Mastering JXTA Development », Wiley Publishers,August 2002.

• Robert Flenner, Michael Abbott, Toufic Boubez, Navaneeth Krishnan,Alan Moffet, Rajam Ramamurti, Bilal Siddiqui, and Frank Sommers,«Java P2P Unleashed »,September 2002, SAMS, ISBN 0672323990.

• Scott Oaks, Bernard Traversat, and Li Gong , « JXTA in a Nutshell, ADesktop Quick Reference », O’Reilly, September 2002, ISBN 0-596-

00236-X