Progetto IS-MANET:
Jxta Middleware for Mobile Ad-Hoc Networks
DIIT - Dip. di Ingegneria Informatica
e delle Telecomunicazioni
Università di Catania (Italy)
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.
IS-MANET - Bologna
O. Tomarchio
2
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
IS-MANET - Bologna
O. Tomarchio
3
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
IS-MANET - Bologna
O. Tomarchio
4
Il nostro approccio
Expeerience
E’ un middleware costruito a partire da un ambiente
P2P molto diffuso (JXTA) e adattato alle
caratteristiche MANET
IS-MANET - Bologna
O. Tomarchio
5
JXTA Network
Set di protocolli per la creazione di una piattaforma che renda possibile la
gestione di un’architettura peer-to-peer.
peerID
peerID
peerID
peerID
peerID
peerID
JXTA VIRTUAL NETWORK
PHYSICAL
NETWORK
TCP/IP
PEER
TCP/IP
PEER
PEER
PEER
PEER
HTTP
NAT
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.
IS-MANET - Bologna
O. Tomarchio
6
L’architettura JXTA
JXTA Application
Instant Messaging
File Sharing
Collaborative Apps
Resource Sharing
Auctions
Jxta Service
Search
Indexing
Discovery
Membership
Applicazioni che si
basano sull’ambiente
Jxta.
Servizi che forniscono
funzionalità aggiuntive,
personalizzabili.
Jxta Core
Peer Groups
Peer Pipes
Peer IDs
Security
Peer Monitoring
Peer Advertisements
Servizi indispensabili
per il funzionamento
dell’ambiente.
Architettura a tre livelli dell’ambiente Jxta
IS-MANET - Bologna
O. Tomarchio
7
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
IS-MANET - Bologna
O. Tomarchio
8
Expeerience architecture
User applications
Expeerience middleware
Engine: the entry point for the Expeerience platform
Extended JXTA
Il Mobile Code
Service
allow dynamic
code mobility
among peers
The new DiscoveryService will
deal with the highly dynamic
features of the mobile ad hoc
environment
JXTA
APPLICATIONS
Jxta Community
Applications
The new EndPoint
Service will support
multiple address
SUN Jxta Applications
Jxta
Shell
The new TcpTransport
Service is responsible for
managing intermittent
connections on multiple
addresses
IS-MANET - Bologna
JXTA
SERVICES
JXTA
CORE
Jxta Community
Services
Peer Groups
SUN Jxta
Services
Peer Pipes
Peer
Commands
D
E
V
I
C
E
Peer Monitoring
Security
O. Tomarchio
9
Expeerience: caratteristiche

Gestione delle connessioni intermittenti

Gestione delle interfacce di rete multiple

Miglioramento del resource discovery

Sviluppo di un Code mobility service
IS-MANET - Bologna
O. Tomarchio
10
Multiple network interfaces and
intermittent connectivity


La struttura dell’EndPoint 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
IS-MANET - Bologna
O. Tomarchio
11
Resource discovery

Anche il JXTA Discovery Service è stato migliorato
per soddisfare i requisiti delle MANET

Il lifetime degli advertisement è adesso configurabile a runtime
IS-MANET - Bologna
O. Tomarchio
12
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)
IS-MANET - Bologna
O. Tomarchio
13
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 l’ambiente JXTA

che non necessita di strutture centralizzate

funzionante su periferiche con risorse limitate

IS-MANET - Bologna
O. Tomarchio
14
JXME – Jxta For MicroEdition
Fornisce delle funzionalità compatibili con l’ambiente Jxta per le periferiche
portatili caratterizzate da risorse limitate e che utilizzano J2ME CLDC
JXME VIRTUAL NETWORK
JXTA VIRTUAL NETWORK
JXTA
RELAY
peerID
peerID
JXTA
RELAY
Jxta Relay: peer speciale addetto alla gestione delle connessioni
con i peer JXME.
IS-MANET - Bologna
O. Tomarchio
15
Funzionamento di JXME
Il funzionamento delle periferiche si fonda sull’utilizzo del JxtaRelay per
qualsiasi tipo di operazione
Creazione Risorse
Ricerca Risorse
Invio Messaggi
JxtaRelay
Ricezione Messaggi
Dati del
peer JXME
Tutti i dati relativi al peer JXME vengono
archiviati e gestiti dal JxtaRelay a cui il peer è collegato
IS-MANET - Bologna
O. Tomarchio
16
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
RETE JXME
ECLISSATA
RETE JXME
FUNZIONANTE
Nel caso di guasto al
JxtaRelay le periferiche
mobili ad esso connesse
non sono in grado di
comunicare tra loro
anche se fisicamente
contigue
GUASTO AL RELAY
JXTA NETWORK
JXTA NETWORK
JXTA RELAY
INATTIVO
IS-MANET - Bologna
O. Tomarchio
17
Il nuovo Framework
Java 2 MicroEdition CLDC
Struttura del nuovo framework, in grado di gestire reti peer-to-peer senza la
necessità del JxtaRelay ma mantenendo la interoperabilità con JXTA.
Application
Service
Core
Instant
Messaging
File
Sharing
Ricerca
Risorse
Gestione
Pipes
Gestione
Peer
Gestione
Gruppi
Gestione
Advertisement
Gestione
ID
Virtual Messenger
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.
IS-MANET - Bologna
O. Tomarchio
18
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 all’interno della rete
Organizzazione in gruppi dei peer
Modalità di ricerca delle risorse all’interno della rete
Creazione e distruzione delle risorse all’intero della rete
Modalità di routing in assenza di visibilità diretta delle periferiche
interessate.
Rispetto dei paradigmi delle reti MANet.
IS-MANET - Bologna
O. Tomarchio
19
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.
Virtual Messenger
JxtaPropagate
EndpointRouting
EndpointService
HTTP
TCP
DATAGRAM
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
IS-MANET - Bologna
O. Tomarchio
20
I servizi del Virtual Messenger
Virtual Messenger
Jxta Propagate
invio dei messaggi con la tecnica
del flooding: per effettuare query e
per propagare i messaggi nel
gruppo
Endpoint Routing
gestione dell’algoritmo di routing
necessario per rendere possibile la
comunicazione tra peer non
direttamente connessi.
Endpoint Service
registrazione dei protocolli di trasporto
invio dei messaggi in partenza
ricezione e smistamento dei messaggi in arrivo ai vari servizi
IS-MANET - Bologna
O. Tomarchio
21
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 l’utente.
IS-MANET - Bologna
O. Tomarchio
22
Advertisement Service
Si occupa di tutti gli aspetti per la gestione degli Advertisement
Xml
Advertisement
Service
BIN
Database
 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.
IS-MANET - Bologna
O. Tomarchio
23
Advertisement Service
La conversione degli Advertisement da Xml a Binario comporta
una rilevante riduzione delle risorse necessarie per la loro memorizzazione.
Byte
699
249
244
89
206
68
58
Group
215
Peer
Pipe
Xml
249
244
206
699
Binario
89
68
58
215
IS-MANET - Bologna
PeerAdv
PipeAdv
GroupAdv
- 64,2 %
- 72,0 %
- 71,8 %
Totale
- 70,0 %
Totale
O. Tomarchio
24
Resolver Service
Fornisce uno strumento base per la ricerca delle informazioni e si basa sull’invio 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.
Query
Il servizio è progettato in maniera tale da
costituire un punto di partenza per la
definizione di servizi di ricerca più
sofisticati.
Response
Discovery
Service
Discovery
Service
RESOLVER
SERVICE
RESOLVER
SERVICE
Virtual Messenger
Virtual Messenger
Il Discovery Service si basa su questo servizio del core e fornisce
le funzionalità per la ricerca delle risorse standard della rete Jxta.
IS-MANET - Bologna
O. Tomarchio
25
PeerGroup Service
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.
Creazione del
peer utente
Nuovo gruppo :
creazione, connessione
e disconnessione
Attivazione e
disattivazione di
un servizio
Attivazione dei
protocolli di
trasporto
IS-MANET - Bologna
O. Tomarchio
Pubblicazione degli
advertisement del
gruppo base
26
Applicazione di esempio
Si è scelta un’applicazione 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 all’interno della
stessa rete.
IS-MANET - Bologna
O. Tomarchio
27
Applicazione di esempio
 PeerThree crea sessione di gioco
diramando un messaggio datagram.
PeerOne, PeerFour, PeerJxta
aderiscono al tavolo virtuale.
PeerOn
e
PeerTwo
Players
PeerThree
Peer Jxta
JxtaID
PeerFour
JxtaID
PeerOne
JxtaID
PeeTthree
JxtaID
PeerFour
Peer Jxta
IS-MANET - Bologna
Viene creata una tabella con
l’ordine di gioco e viene inviata
a tutti i peer.
Su tale tabella i peer si
auto-organizzano per la
sequenza di gioco.
Per l’invio dei messaggi è sfruttato il
JxtaID superando la necessità di
conoscere l’indirizzo fisico dei peer.
Sarà l’EndpointService
a gestire il corretto invio dei messaggi.
O. Tomarchio
28
Valutazioni
La parte grafica occupa più di metà
dell’applicazione;
All’interno 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
l’utilizzo anche con le periferiche dalle
risorse più limitate.
IS-MANET - Bologna
O. Tomarchio
29
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 all’ambiente JxME e
soprattutto perché mantiene la totale compatibilità con l’ambiente Jxta.
IS-MANET - Bologna
O. Tomarchio
30
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
IS-MANET - Bologna
O. Tomarchio
31
Scarica

IS-MANET - Bologna