JXTA: Protocols JXTA definisce una formati per messaggi XML (aka protocolli) per la comunicazione fra peer: Peer Discovery Protocol (PDP) utilizzato dai.

Slides:



Advertisements
Presentazioni simili
Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks
Advertisements

Socket Java Alberto Ferrari.
Oggetti Java.
Costruttori e Distruttori
Package Utilizzo classi.
26/10/2004Laboratorio di Programmazione - Luca Tesei1 Variabili e Oggetti Lo spazio di memoria di Java Le API di Java.
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
Web Services.
Java Enterprise Edition (JEE)
Programmazione Ingegneria TLC
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
Università degli Studi di Modena e Reggio Emilia
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Appunti di Java Da: Concetti di informatica e Fondamenti di Java2 - 2Ed. - Cay Horstmann.pdf.
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
Progetto e Sviluppo di un algoritmo per la gestione della Federazione Interdominio in unarchitettura di Service Discovery Candidato: XXX Roma, Febbraio.
Soluzione Esercizio - Classe Vettore
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
Programming with JXTA Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
Selezione (=scelta) con “if-else”
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
P2P (o quasi): Peer To Peer (o quasi) Gennaro Cordasco.
Lezione 6 JXTA. JXTA: Cosè? JXTA (JuXTAppose) è una piattaforma di rete, realizzata per lo sviluppo di applicazioni P2P. JXTA fornisce un insieme di building.
JXTA: Protocols JXTA definisce una formati per messaggi XML (aka protocolli) per la comunicazione fra peer: Peer Discovery Protocol (PDP) utilizzato dai.
ICMP - PING - TRACEROUTE
Elaborazione di Franco Grivet Chin
Argomenti della lezione
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Distributed File System Service Dario Agostinone.
Programmazione in Java
Corso di Informatica per Giurisprudenza Lezione 7
Java Contardi Carlo A.S. 2008/09.
Sistemi Informativi sul Web
Java come linguaggio di programmazione
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Conversione da base 10 a base X (Utilizzo della pila)
1 Applet ed HTML Fondamenti di Informatica Corso D.
Le eccezioni F. Bombi 01/11/ Errori e situazioni impreviste situazioni eccezionali In un programma situazioni eccezionali possono.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
Lezione 8.
Vannucci Roberto (5BM), De Nardin Axel (5AM)
Programmazione ad oggetti
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Gestione dei thread in Java
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
B3Discovery Supporto al discovery distribuito di servizi personalizzati Lavoro di Paolo Burgio Matr Reti di Calcolatori L-S.
LIP: 22 Marzo 2005 Eccezioni. Eccezioni-Richiami Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
Routing Overview Routing Protocol: protocollo di costruzione delle tavole di routing nei router. Routed Protocol: protocollo di instradamento dei messaggi,
B3Discovery: Infrastruttura di Discovery distribuita utilizzando l’architettura JXTA Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2005/2006.
Servizi Internet Claudia Raibulet
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 -Instradamento statico Ernesto Damiani Lezione 2 – ICMP.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Ernesto Damiani Lezione 5 – Gnutella Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri.
JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
Monitoring applicativo SaaS Tutorial 30/09/2015. Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Eccezioni in Java. Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel linguaggio allo scopo.
Transcript della presentazione:

JXTA: Protocols JXTA definisce una formati per messaggi XML (aka protocolli) per la comunicazione fra peer: Peer Discovery Protocol (PDP) utilizzato dai peer per pubblicare le loro risorse (peers, peer groups, pipes o services) e scoprire risorse presso altri peer. Ogni risorsa è descritta e pubblicata tramite un advertisement Peer Discovery Protocol (PDP) utilizzato dai peer per pubblicare le loro risorse (peers, peer groups, pipes o services) e scoprire risorse presso altri peer. Ogni risorsa è descritta e pubblicata tramite un advertisement Peer Information Protocol (PIP) usato per ottenere informazioni di stato da altri peer (uptime, state, recent traffic…) Peer Information Protocol (PIP) usato per ottenere informazioni di stato da altri peer (uptime, state, recent traffic…) Peer Resolver Protocol (PRP) permette ai peer di inviare richieste e di ricevere risposte da altri peer. Le richieste (query) possono essere dirette a tutti i peer di un gruppo oppure a uno specifico peer. PRP differisce da PDP e da PIP perché permette la richiesta di informazioni generiche (non solo query predefinite) Peer Resolver Protocol (PRP) permette ai peer di inviare richieste e di ricevere risposte da altri peer. Le richieste (query) possono essere dirette a tutti i peer di un gruppo oppure a uno specifico peer. PRP differisce da PDP e da PIP perché permette la richiesta di informazioni generiche (non solo query predefinite) Pipe Binding Protocol (PBP) usate per creare pipes. In particolare PBP permette a un peer di legare fra loro due o più endpoints. Pipe Binding Protocol (PBP) usate per creare pipes. In particolare PBP permette a un peer di legare fra loro due o più endpoints.

JXTA: Protocols JXTA definisce una formati per messaggi XML (aka protocolli) per la comunicazione fra peer: Peer Discovery Protocol (PDP) Peer Discovery Protocol (PDP) Peer Information Protocol (PIP) Peer Information Protocol (PIP) Peer Resolver Protocol (PRP) Peer Resolver Protocol (PRP) Pipe Binding Protocol (PBP) Pipe Binding Protocol (PBP) Endpoint Routing Protocol (ERP) usato dai peer per instradare i messaggi. Le informazioni relative allinstradamento contengono una seguenza di relay peer che può essere usata per raggiungere la destinazione. Endpoint Routing Protocol (ERP) usato dai peer per instradare i messaggi. Le informazioni relative allinstradamento contengono una seguenza di relay peer che può essere usata per raggiungere la destinazione. Rendezvous Protocol (RVP) meccanismo utilizzato per la propagazione dei messaggi Rendezvous Protocol (RVP) meccanismo utilizzato per la propagazione dei messaggi Tutti i protocolli si basano su un modello domanda/risposta. Ad ogni domanda possono corrispondere 0, 1 o più risposte.

JXTA: PDP Type 0 peer 0 peer 1 group 1 group 2 adv generico 2 adv genericoThreshold num max risposte che ogni peer può fornire num max risposte che ogni peer può fornire Attribute, Value Condizioni da verificare (Es Attribute = name, Value = test*) Condizioni da verificare (Es Attribute = name, Value = test*)PeerAdv Può contenere ladvertisement del peer che effettua la query Può contenere ladvertisement del peer che effettua la query

JXTA: PDP

TypeCount num risposte num risposte Attribute, Value Condizioni verificatesi Condizioni verificatesiPeerAdv ladvertisement del peer che risponde alla query ladvertisement del peer che risponde alla query Response (contiene una scadenza)

JXTA: PDP

JXTA: PIP Fornisce una serie di query predefinite per ottenere informazioni sui peer (Es. il messaggio PIP ping, serve a stabilire se un peer è attivo). sourcePid Lid del peer che effettua la richiesta. Lid del peer che effettua la richiesta.targetPid Lid del peer che riceve la richiesta. Lid del peer che riceve la richiesta.request Una struttura che descrive la richiesta. Una struttura che descrive la richiesta.

JXTA: PIP

sorcePidtargetPiduptime tempo di attività del servizio tempo di attività del serviziotimestamp Tempo in ms dal 1/1/1970 GMT Tempo in ms dal 1/1/1970 GMTresponse risposta a una PIP query precedente e deve contenere la query id della precedente query (query id fa parte del protocollo PRP) risposta a una PIP query precedente e deve contenere la query id della precedente query (query id fa parte del protocollo PRP)traffic contiene informazioni sul traffico effettuato dal target peer contiene informazioni sul traffico effettuato dal target peer

JXTA: PRP Permette ai peer di inviare query generiche ad altri peer Le query possono essere inviate direttamente ad altri peer o propagate attraverso rendezvous PIP and PDP si basano su PRP Può anche utilizzare il servizio SRDI (Shared Resource Distributed Index).

JXTA: PRP Le credenziali di chi genera la query Una stringa che specifica la destinazione della query (quale modulo deve processare la query). L id del peer che genera la query. Lidentificatore della query. Deve essere incluso nel messaggio di risposta alla query Rappresenta il numero di hop già attraversati dalla query. Deve essere incrementato ogni volta che un peer inoltra la query

JXTA: PRP

credenziali del nodo che risponde alla query. Lid del peer che risponde alla query Lid della query alla quale si sta rispondendo.

JXTA: PRP

JXTA: PBP Una pipe può essere vista come una coda di messaggi che supporta le operazioni di create, open(bind), close(unbind), delete, send e receive. Loperazione create è loperazione effettuata dal peer per legare un pipe endpoint con un protocollo di trasporto. Le pipe vengono pubblicate attraverso pipe advetisement JxtaUnicast JxtaUnicastSecure JxtaPropagate (Non deve essere necessariamente univoco)

JXTA: PBP query o answer. (non viene più usato). +

JXTA: ERP Il protocollo ERP (Endpoint routing protocol) fornisce una serie di query/risposte che permette a un peer di instradare messaggi. Quando un peer riceve un messaggio da instradare, controllo se nella propria cache ha una entry verso la destinazione, in caso contrario, invia una route resolver query verso un peer routers per ottenere informazioni relative allinstradamento del messaggio. Ogni gruppo di solito utilizza una serie di peer come routers, i quali dispongono di una ampia cache per la memorizzazione di informazioni di instradamento. Ogni messaggio mantiene informazioni su tutti i peer che ha attraversato. Tali informazioni permenttono di evitare cicli e di scoprire nuove rotte.

JXTA: ERP Route information Il peer ID associato alla destinazione. Il peer ID associato alla destinazione. Contiene una lista di endpoint addresses associati alla destinazione. Contiene una lista di endpoint addresses associati alla destinazione. Una lista di Access Point Advertisements che descrive una rotta verso la destinazione. Una lista di Access Point Advertisements che descrive una rotta verso la destinazione.

JXTA: ERP Route query message Il peer ID associato alla destinazione. Il peer ID associato alla destinazione. Route advertisement del peer che richiede informazioni. Route advertisement del peer che richiede informazioni.

JXTA: ERP Route response message Route advertisement del peer di cui abbiamo richiesto info. Route advertisement del peer di cui abbiamo richiesto info. Route advertisement del peer che ha richiesto informazioni. Route advertisement del peer che ha richiesto informazioni.

JXTA: RVP Il RendezVous Protocol viene utilizzato per la propagazione di messaggi allinterno di un gruppo. Ogni rendezvous peer collabora con altri rendezvous nella propagazione dei messaggi fra peer. I rendezvous peer formano una struttura dinamica detta Peer View che permette la propagazione dei messaggi in maniera consistente senza lutilizzo di una componente centralizzata. Il Peer View protocol permette ai peer rendezvous di organizzarsi in maniera decentralizzata.

JXTA: RVP RendezVous Advertisement L ID del gruppo per il quale il peer fa da rendezvous. L ID del peer che fa da rendezvous. Informazioni relative alla PeerView Nome del rendezvous peer. Può anche essere uguale al nome del peer. Una rotta verso il Rendezvous Peer. Contiene al suo interno una Route advertisement

JXTA: RVP Propagation control Un peer rendezvous inoltra tutti i messaggi a meno che: si è verificato un ciclo TTL = 0 Il messaggio è un duplicato Il controllo è effettuato includento in ogni messaggio inoltrato alcune informazioni

JXTA: Hello World Requirement Java SDK ( Java SDK ( JXTA ( JXTA ( Documentation ( Esempi (

JXTA: Hello World Compilare usando JXTA javac -classpath.\lib\jxta.jar SimpleJxtaApp.java Lanciare un applicazione java -classpath.\lib\jxta.jar;.\lib\log4j.jar;.\lib\bcprov-jdk14.jar;. SimpleJxtaApp

JXTA: Hello World import net.jxta.peergroup.PeerGroup; import net.jxta.peergroup.PeerGroupFactory; import net.jxta.exception.PeerGroupException; public class SimpleJxtaApp { // This is a simple example of how an application would start jxta static PeerGroup netPeerGroup = null; public static void main(String args[]) { System.out.println("Starting JXTA...."); SimpleJxtaApp myapp = new SimpleJxtaApp(); myapp.startJxta(); System.out.println("Hello from JXTA group " + netPeerGroup.getPeerGroupName() ); System.out.println(" Group ID = " + netPeerGroup.getPeerGroupID().toString()); System.out.println(" Peer name = " + netPeerGroup.getPeerName()); System.out.println(" Peer ID = " + netPeerGroup.getPeerID().toString()); System.out.println( "Good Bye...."); myapp.netPeerGroup.stopApp(); System.exit(0); } private void startJxta() { try { // create and start the default JXTA NetPeerGroup netPeerGroup = PeerGroupFactory.newNetPeerGroup(); } catch (PeerGroupException e) { // could not instantiate the group, print the stack and exit System.out.println("fatal error : group creation failure"); e.printStackTrace(); System.exit(1); } } }

JXTA: Configurazione

Demo