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

  • Upload
    orli

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

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

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

Networks

DIIT - Dip. di Ingegneria Informatica e delle Telecomunicazioni

Università di Catania (Italy)

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

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.

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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.

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

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

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

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

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

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.

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

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.

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

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

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

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

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

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.

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

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

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

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 %

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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