La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks"— Transcript della presentazione:

1 Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks
DIIT - Dip. di Ingegneria Informatica e delle Telecomunicazioni Università di Catania (Italy)

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 auto-organizzarsi in maniera indipendente.
JXTA Network Set di protocolli per la creazione di una piattaforma che renda possibile la gestione di un’architettura peer-to-peer. 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. IS-MANET - Bologna O. Tomarchio

7 L’architettura JXTA Architettura a tre livelli dell’ambiente Jxta
Servizi indispensabili per il funzionamento dell’ambiente. Servizi che forniscono funzionalità aggiuntive, personalizzabili. Applicazioni che si basano sull’ambiente Jxta. Security Peer Advertisements Peer 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 Architettura a tre livelli dell’ambiente Jxta 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 architecture
User applications Expeerience middleware Engine: the entry point for the Expeerience platform D E V I C 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 The new EndPoint Service will support multiple address The new TcpTransport Service is responsible for managing intermittent connections on multiple addresses 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 peerID JXTA VIRTUAL NETWORK JXME VIRTUAL NETWORK JXTA JXME 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 vengono archiviati 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 RELAY INATTIVO GUASTO AL RELAY 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 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 Messenger Gestione Advertisement ID Peer Gruppi Ricerca Risorse Core Pipes Service Instant Messaging 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. 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 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 EndpointService JxtaPropagate HTTP TCP DATAGRAM EndpointRouting 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

21 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 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 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

23 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

24 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 % IS-MANET - Bologna O. Tomarchio

25 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. Virtual Messenger RESOLVER SERVICE Discovery Service Query Response 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. IS-MANET - Bologna O. Tomarchio

26 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. 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 Servizio PeerGroup 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
PeerThree crea sessione di gioco diramando un messaggio datagram. PeerOne PeerTwo PeerOne, PeerFour, PeerJxta aderiscono al tavolo virtuale. Viene creata una tabella con l’ordine di gioco e viene inviata a tutti i peer. PeerThree Players Peer Jxta JxtaID PeerOne JxtaID PeeTthree JxtaID PeerFour JxtaID Su tale tabella i peer si auto-organizzano per la sequenza di gioco. PeerFour 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. Peer Jxta 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 IS-MANET - Bologna O. Tomarchio


Scaricare ppt "Progetto IS-MANET: Jxta Middleware for Mobile Ad-Hoc Networks"

Presentazioni simili


Annunci Google