Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks DIIT - Dip. di Ingegneria Informatica...
of 31/31
Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks DIIT - Dip. di Ingegneria Informatica e delle Telecomunicazioni Università di Catania (Italy)
Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks DIIT - Dip. di Ingegneria Informatica e delle Telecomunicazioni Università di Catania (Italy)
Text of Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks DIIT - Dip. di Ingegneria Informatica...
Slide 1
Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks
DIIT - Dip. di Ingegneria Informatica e delle Telecomunicazioni
Universit di Catania (Italy)
Slide 2
IS-MANET - BolognaO. Tomarchio2 Il nostro approccio Analisi e
confronto critico tra sistemi peer-to-peer (P2P) e reti MANET:
Varie differenze, ma anche punti in comune Idea di base: Perch non
partire da un ambiente per il P2P computing e cercare di estenderlo
per utilizzarlo in ambito di mobile P2P computing e quindi anche di
MANET? Necessit di disporre di ambienti software dove poter
sperimentare, confrontare prestazioni di algoritmi diversi,
etc.
Slide 3
IS-MANET - BolognaO. Tomarchio3 MANET vs. P2P Similarities
Decentralization Frequently changing topology (due to different
reasons) In MANET, due to terminal mobility and limited radio
coverage area In P2P systems, due to explicit log-on and log-off
procedures of the user Naming schemes Routing issues
Slide 4
IS-MANET - BolognaO. Tomarchio4 MANET vs. P2P Differences
Connection reliability Mobile device limitations Reasons for
creating a network MANET are created when no existing fixed network
infrastructures are present and there is the need to communicate or
cooperate P2P systems are created over existing fixed network to
allow users to exchange data Resource discovery In P2P it is an
application issue In MANET it is primarily a network issue
Slide 5
IS-MANET - BolognaO. Tomarchio5 Il nostro approccio Expeerience
E un middleware costruito a partire da un ambiente P2P molto
diffuso (JXTA) e adattato alle caratteristiche MANET
Slide 6
IS-MANET - BolognaO. Tomarchio6 JXTA Network NAT HTTP TCP/IP
PHYSICAL NETWORK PEER peerID JXTA VIRTUAL NETWORK Crea un network
virtuale al di sopra della reale struttura fisica delle reti e
permette ai peer di interagire direttamente e di auto-organizzarsi
in maniera indipendente. Set di protocolli per la creazione di una
piattaforma che renda possibile la gestione di unarchitettura
peer-to-peer.
Slide 7
IS-MANET - BolognaO. Tomarchio7 Larchitettura JXTA Architettura
a tre livelli dellambiente Jxta Servizi indispensabili per il
funzionamento dellambiente. Servizi che forniscono funzionalit
aggiuntive, personalizzabili. Applicazioni che si basano
sullambiente Jxta. SecurityPeer AdvertisementsPeer IDs Peer Groups
Peer Monitoring Search Jxta Core Indexing Jxta Service Instant
MessagingFile Sharing JXTA Application Resource Sharing
Collaborative AppsAuctions Discovery Membership Peer Pipes
Slide 8
IS-MANET - BolognaO. Tomarchio8 Expeerience Expeerience un
middleware costruito a partire da JXTA Estende alcune delle
funzionalit di JXTA (e ne aggiunge altre) per permettere di
lavorare in ambienti MANET. Un prototipo gi stato implementato
usando JXTA 1.x
Slide 9
IS-MANET - BolognaO. Tomarchio9 Expeerience architecture User
applications Expeerience middleware Extended JXTA The new
DiscoveryService will deal with the highly dynamic features of the
mobile ad hoc environment The new EndPoint Service will support
multiple address Il Mobile Code Service allow dynamic code mobility
among peers The new TcpTransport Service is responsible for
managing intermittent connections on multiple addresses Engine: the
entry point for the Expeerience platform DEVICEDEVICE
Slide 10
IS-MANET - BolognaO. Tomarchio10 Expeerience: caratteristiche
Gestione delle connessioni intermittenti Gestione delle interfacce
di rete multiple Miglioramento del resource discovery Sviluppo di
un Code mobility service
Slide 11
IS-MANET - BolognaO. Tomarchio11 Multiple network interfaces
and intermittent connectivity La struttura dellEndPoint di JXTA
stata cambiata in modo da permettere la gestione dinamica delle
interfacce multiple Il TCPTransport service stato modificato a
basso livello per adattare il middleware alle caratteristiche
dinamiche delle MANET
Slide 12
IS-MANET - BolognaO. Tomarchio12 Resource discovery Anche il
JXTA Discovery Service stato migliorato per soddisfare i requisiti
delle MANET Il lifetime degli advertisement adesso configurabile a
runtime
Slide 13
IS-MANET - BolognaO. Tomarchio13 Code Mobility Un nuovo
servizio Mobile Code Service stato aggiunto ai servizi di base Esso
permette il download/upload di un servizio da/a un altro peer.
Mantenimento dello stato (weak migration): diventa possibile lo
sviluppo di applicazioni pi complesse e flessibili. Tutti i
benefici della programmazione con codice mobile possono essere
sfruttati negli ambienti MANET (mobile agent systems, etc)
Slide 14
IS-MANET - BolognaO. Tomarchio14 Analisi critica Limiti
Expeerience disponibile solo per dispositivi che supportano JXTA
1.x e J2SE (1.4.x) Lavori avviati per superare tali limiti Analisi
di JXTA 2 Utilizzo di dispositivi mobili (PDA, etc) Analisi di
progetti JXTA esistenti per dispositivi mobili (JXME) Primi
risultati Creazione di un framework per lo sviluppo di applicazioni
in reti Peer-to-Peer mobili compatibile con lambiente JXTA che non
necessita di strutture centralizzate funzionante su periferiche con
risorse limitate
Slide 15
IS-MANET - BolognaO. Tomarchio15 JXME Jxta For MicroEdition
Fornisce delle funzionalit compatibili con lambiente Jxta per le
periferiche portatili caratterizzate da risorse limitate e che
utilizzano J2ME CLDC JXTA RELAY peerID JXTA VIRTUAL NETWORK JXME
VIRTUAL NETWORK Jxta Relay: peer speciale addetto alla gestione
delle connessioni con i peer JXME.
Slide 16
IS-MANET - BolognaO. Tomarchio16 Funzionamento di JXME Il
funzionamento delle periferiche si fonda sullutilizzo del JxtaRelay
per qualsiasi tipo di operazione JxtaRelay Creazione Risorse
Ricerca Risorse Invio Messaggi Ricezione Messaggi Dati del peer
JXME Tutti i dati relativi al peer JXME vengono archiviati e
gestiti dal JxtaRelay a cui il peer collegato
Slide 17
IS-MANET - BolognaO. Tomarchio17 Limiti di JXME Il ruolo
fondamentale svolto dal JXTA Relay nella rete JXME rappresenta una
forte limitazione nella realizzazione di una struttura peer-to-peer
pura JXTA NETWORK JXTA RELAY INATTIVO GUASTO AL RELAY JXTA NETWORK
RETE JXME FUNZIONANTE RETE JXME ECLISSATA Nel caso di guasto al
JxtaRelay le periferiche mobili ad esso connesse non sono in grado
di comunicare tra loro anche se fisicamente contigue
Slide 18
IS-MANET - BolognaO. Tomarchio18 Il nuovo Framework Struttura
del nuovo framework, in grado di gestire reti peer-to-peer senza la
necessit del JxtaRelay ma mantenendo la interoperabilit con JXTA.
Virtual Messenger Gestione Advertisement Gestione Advertisement
Gestione ID Gestione ID Gestione Peer Gestione Peer Gestione Gruppi
Gestione Gruppi Ricerca Risorse Ricerca Risorse Core Gestione Pipes
Gestione Pipes Service Instant Messaging Instant Messaging File
Sharing File Sharing Application Java 2 MicroEdition CLDC La
modularit del framework consente di modificare e sostituire tutti i
servizi, compresi quelli del core, al fine di rendere in nostro
ambiente adattabile a qualsiasi esigenza.
Slide 19
IS-MANET - BolognaO. Tomarchio19 Problematiche di sviluppo
Definizione delle modalit di connessione dei peer, del livello di
trasporto e dei messaggi per la comunicazione Identificazione
univoca di un peer Identificazione univoca delle risorse allinterno
della rete Organizzazione in gruppi dei peer Modalit di ricerca
delle risorse allinterno della rete Creazione e distruzione delle
risorse allintero della rete Modalit di routing in assenza di
visibilit diretta delle periferiche interessate. Rispetto dei
paradigmi delle reti MANet.
Slide 20
IS-MANET - BolognaO. Tomarchio20 Il Virtual Messenger Insieme
di protocolli di trasporto e di servizi che si occupano di gestire
le comunicazioni del peer con il resto della rete. Datagram:
protocollo di trasporto che sfrutta il broadcast per comunicare con
tutte le periferiche presenti nella rete. E utilizzato nel nostro
framework in sostituzione del multicast, che non presente in J2ME
CLDC Virtual Messenger EndpointService JxtaPropagate HTTP TCP
DATAGRAM EndpointRouting
Slide 21
IS-MANET - BolognaO. Tomarchio21 I servizi del Virtual
Messenger Endpoint Service registrazione dei protocolli di
trasporto invio dei messaggi in partenza ricezione e smistamento
dei messaggi in arrivo ai vari servizi Jxta Propagate invio dei
messaggi con la tecnica del flooding: per effettuare query e per
propagare i messaggi nel gruppo Endpoint Routing gestione
dellalgoritmo di routing necessario per rendere possibile la
comunicazione tra peer non direttamente connessi. Virtual
Messenger
Slide 22
IS-MANET - BolognaO. Tomarchio22 I servizi del Core I servizi
presenti nel core del nostro framework, e che sfruttano le
potenzialit del Virtual Messenger, sono: Advertisement Service
Resolver Service PeerGroup Service La modularit del nostro
framework permette di modificare, sostituire o aggiungere i servizi
in base alle necessit in cui si trova ad operare lutente.
Slide 23
IS-MANET - BolognaO. Tomarchio23 Advertisement Service
Conversione da XML a Binario: necessaria per ottimizzare le risorse
utilizzate per la memorizzazione dei dati; Conversione da Binario a
XML: necessaria per poter garantire la compatibilit con JXTA;
Creazione degli Advertisement; Inserimento degli Advertisement nel
database locale; Eliminazione degli Advertisement scaduti. Si
occupa di tutti gli aspetti per la gestione degli Advertisement Xml
Advertisement Service BIN Database
Slide 24
IS-MANET - BolognaO. Tomarchio24 Advertisement Service La
conversione degli Advertisement da Xml a Binario comporta una
rilevante riduzione delle risorse necessarie per la loro
memorizzazione. PeerAdv- 64,2 % PipeAdv- 72,0 % GroupAdv- 71,8 %
Totale- 70,0 %
Slide 25
IS-MANET - BolognaO. Tomarchio25 Resolver Service Virtual
Messenger RESOLVER SERVICE Discovery Service Virtual Messenger
RESOLVER SERVICE Discovery Service QueryResponse Fornisce uno
strumento base per la ricerca delle informazioni e si basa
sullinvio e sulla ricezione di specifici messaggi, che racchiudono
al loro interno un messaggio di richiesta o un messaggio di
risposta, la cui sintassi definita dal servizio che lo utilizza. Il
servizio progettato in maniera tale da costituire un punto di
partenza per la definizione di servizi di ricerca pi sofisticati.
Il Discovery Service si basa su questo servizio del core e fornisce
le funzionalit per la ricerca delle risorse standard della rete
Jxta.
Slide 26
IS-MANET - BolognaO. Tomarchio26 PeerGroup Service Attivazione
e disattivazione di un servizio Attivazione dei protocolli di
trasporto Creazione del peer utente Pubblicazione degli
advertisement del gruppo base Nuovo gruppo : creazione, connessione
e disconnessione Questo servizio rappresenta il punto centrale del
nostro ambiente, in quanto mediante esso possibile attivare i
servizi e i protocolli che si desidera che vengano utilizzati dal
nostro peer.
Slide 27
IS-MANET - BolognaO. Tomarchio27 Applicazione di esempio Si
scelta unapplicazione che esalti le caratteristiche di
auto-organizzazione e di assenza di strutture centralizzate del
nostro framework, creando un gioco di carte che sfrutta sia le
potenzialit offerte dalla nostra architettura che le nuove librerie
grafiche fornite dal Java 2 MicroEdition CLDC. Compatibile con Jxta
standard. Sfrutta gli indirizzi Jxta per identificare i giocatori.
Pi sessioni di gioco allinterno della stessa rete.
Slide 28
IS-MANET - BolognaO. Tomarchio28 Applicazione di esempio Peer
Jxta PeerThree PeerFour PeerTwo PeerOn e PeerOne, PeerFour,
PeerJxta aderiscono al tavolo virtuale. Viene creata una tabella
con lordine di gioco e viene inviata a tutti i peer. Per linvio dei
messaggi sfruttato il JxtaID superando la necessit di conoscere
lindirizzo fisico dei peer. Sar lEndpointService a gestire il
corretto invio dei messaggi. PeerThree crea sessione di gioco
diramando un messaggio datagram. Players Peer Jxta JxtaID PeerOne
JxtaID PeeTthree JxtaID PeerFour JxtaID Su tale tabella i peer si
auto-organizzano per la sequenza di gioco.
Slide 29
IS-MANET - BolognaO. Tomarchio29 Valutazioni La parte grafica
occupa pi di met dellapplicazione; Allinterno delle istruzioni
concernenti la logica applicativa, quelle riguardanti in
particolare la comunicazione tra le periferiche mediante il nostro
framework non superano il 6%; Il framework occupa in totale 150
Kbyte, dimensione che permette lutilizzo anche con le periferiche
dalle risorse pi limitate.
Slide 30
IS-MANET - BolognaO. Tomarchio30 Valutazioni La modularit
consente al nostro ambiente di essere sempre in evoluzione e di
essere modificato agevolmente da ogni singolo utente; Il nostro
framework gestisce una rete Peer-to-Peer pura, per cui il vincolo
di JXME, e cio la necessit di avere un JxtaRelay a cui collegarsi,
stata superata, permettendo ai nostri peer di poter comunicare
direttamente tra di loro; La nostra architettura utilizzabile su
ogni periferica attualmente in commercio che sia in grado di
supportare il Java 2 MicroEdition Connected, Limited Device
Configuration; Questa architettura rappresenta una soluzione unica
in questo momento, perch presenta degli aspetti innovativi rispetto
allambiente JxME e soprattutto perch mantiene la totale
compatibilit con lambiente Jxta.
Slide 31
IS-MANET - BolognaO. Tomarchio31 Future work Test del framework
su dispositivi J2ME enabled con configurazione CDC (uso di Personal
Profile per dispositivi PDA (ex PersonalJava)) Routing Utilizzo di
algoritmi di routing progettati per reti MANET ed analisi dei loro
effetti a livello applicativo Discovery Utilizzo di algoritmi di
discovery pi efficienti (quando eseguiti su MANET) Sicurezza
Implementazione di meccanismi di sicurezza partendo sia da quelli
offerti da JXTA che da altre soluzioni specifiche per MANET facenti
uso di concetti quali trust e reputation