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)
IS-MANET - Bologna O. Tomarchio 2
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 3
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 4
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 5
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 6
JXTA Network
NATHTTP
TCP/IPTCP/IP
PHYSICAL NETWORK
PEER
PEER
PEERPEER
PEER
peerID
peerIDpeerID
peerID
peerIDpeerID
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 un’architettura peer-to-peer.
IS-MANET - Bologna O. Tomarchio 7
L’architettura JXTA
Architettura a tre livelli dell’ambiente Jxta
Servizi indispensabiliper il funzionamentodell’ambiente.
Servizi che fornisconofunzionalità aggiuntive,personalizzabili.
Applicazioni che si basano sull’ambienteJxta.
Security Peer AdvertisementsPeer IDs
Peer Groups Peer Monitoring
Search
Jxta Core
Indexing
Jxta Service
Instant Messaging File Sharing
JXTA Application
Resource Sharing
Collaborative Apps Auctions
Discovery
Membership
Peer Pipes
IS-MANET - Bologna O. Tomarchio 8
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 9
Expeerience architectureUser applications
Expeerience middleware
Extended JXTA
SUN Jxta ApplicationsJxta Community
ApplicationsJXTA
APPLICATIONS
JXTASERVICES
JXTACORE
Peer Groups Peer Pipes Peer Monitoring
Security
Jxta CommunityServices
SUN JxtaServices
JxtaShell
PeerCommands
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
DEVICE
IS-MANET - Bologna O. Tomarchio 10
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 11
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 12
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 13
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 14
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 15
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
JXTA RELAY
JXTA RELAY
peerIDpeerID
JXTA VIRTUAL NETWORK
JXME VIRTUAL NETWORK
Jxta Relay: peer speciale addetto alla gestione delle connessioni con i peer JXME.
IS-MANET - Bologna O. Tomarchio 16
Funzionamento di JXME
Il funzionamento delle periferiche si fonda sull’utilizzo 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 vengonoarchiviati e gestiti dal JxtaRelay a cui il peer è collegato
IS-MANET - Bologna O. Tomarchio 17
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 RELAYINATTIVO
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 fisicamentecontigue
IS-MANET - Bologna O. Tomarchio 18
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 MessengerVirtual Messenger
GestioneAdvertisement
GestioneAdvertisement
GestioneID
GestioneID
GestionePeer
GestionePeer
GestioneGruppi
GestioneGruppi
RicercaRisorse
RicercaRisorse
Core
GestionePipes
GestionePipes
Service
InstantMessagingInstant
Messaging
FileSharingFile
SharingApplication
Java
2 M
icro
Edi
tion
CLD
C
La modularità del framework consente di modificare e sostituiretutti i servizi, compresi quelli del core, al fine di rendere in nostro
ambiente adattabile a qualsiasi esigenza.
IS-MANET - Bologna O. Tomarchio 19
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 20
Il Virtual MessengerInsieme 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 percomunicare con tutte le periferiche presenti nella rete.
E’ utilizzato nel nostro framework in sostituzione del multicast,che non è presente in J2ME CLDC
Virtual MessengerVirtual Messenger
EndpointServiceEndpointService
JxtaPropagateJxtaPropagate
HTTPHTTP TCPTCP DATAGRAMDATAGRAM
EndpointRoutingEndpointRouting
IS-MANET - Bologna O. Tomarchio 21
I servizi del Virtual Messenger
Endpoint Serviceregistrazione dei protocolli di trasporto
invio dei messaggi in partenzaricezione e smistamento dei messaggi in arrivo ai vari servizi
Jxta Propagateinvio dei messaggi con la tecnica
del flooding: per effettuare query e per propagare i messaggi nel
gruppo
Endpoint Routinggestione dell’algoritmo di routing
necessario per rendere possibile la comunicazione tra peer non
direttamente connessi.
Virtual Messenger
IS-MANET - Bologna O. Tomarchio 22
I servizi del Core
I servizi presenti nel core del nostro framework, e che sfruttanole 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 23
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
XmlAdvertisement
Service BIN Database
IS-MANET - Bologna O. Tomarchio 24
Advertisement Service
249
89
244
68
206
58
699
215
Xml 249 244 206 699
Binario 89 68 58 215
Peer Pipe Group Totale
Byte
La conversione degli Advertisement da Xml a Binario comportauna rilevante riduzione delle risorse necessarie per la loro memorizzazione.
PeerAdv - 64,2 %PipeAdv - 72,0 %GroupAdv - 71,8 %
Totale - 70,0 %
IS-MANET - Bologna O. Tomarchio 25
Resolver Service
Virtual Messenger
RESOLVERSERVICE
DiscoveryService
Virtual Messenger
RESOLVERSERVICE
DiscoveryService
Query Response
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.
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 forniscele funzionalità per la ricerca delle risorse standard della rete Jxta.
IS-MANET - Bologna O. Tomarchio 26
PeerGroup Service
Attivazione edisattivazione di
un servizio
Attivazione dei protocolli di
trasporto
Creazione delpeer 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.
IS-MANET - Bologna O. Tomarchio 27
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 28
Applicazione di esempio
Peer Jxta
PeerThree
PeerFour
PeerTwoPeerOne
PeerOne, PeerFour, PeerJxtaaderiscono al tavolo virtuale.
Viene creata una tabella con l’ordine di gioco e viene inviata a tutti i peer.
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.
PeerThree crea sessione di giocodiramando un messaggio datagram.
Players
Peer Jxta JxtaID
PeerOne JxtaIDPeeTthree JxtaID
PeerFour JxtaID
Su tale tabella i peer siauto-organizzano per la sequenza di gioco.
IS-MANET - Bologna O. Tomarchio 29
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 30
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 31
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