Support for Emulation of Services and Applications in Mobile Environments with Bluetooth Gruppo: Davide Bonomo Salvatore Baglieri Referente: Ing. Dario Bottazzi Presentazione a cura di Davide Bonomo
Introduzione Diffusione dispositivi portatili (limitati) Sviluppo tecnologie di MANET connessioni instabili banda limitata ambienti sconosciuti eterogeneità Utenti mobili: Condividono obiettivi ed interessi Collaborano per svolgere attività
Sviluppo di applicazioni collaborative Sviluppo di applicazioni e servizi distribuiti in ambienti Ad-Hoc complicato Difficoltà nel deployment di testbed Mezzo trasmissivo sensibile alle interferenze Poche macchine a disposizione degli sviluppatori Necessità di supporti al testing facilmente integrabile e facile da usare BlueSesame Supporto per l’emulazione di reti bluetooth in scenari di mobile ad-hoc network
Stato dell'arte Simulatore Componente software che, dato un modello della rete, ne simula il comportamento permettendo di ricavare dei risultati statistici. Emulatore strumento HW/SW a cui sono connessi fisicamente i nodi della rete l’applicazione deve essere scritta ad-hoc per l’emulatore (API non standard!!!!)
BLUESESAME Supporto per il testing di applicazioni e servizi in ambiente MANET Facilmente configurabile attraverso file di testo JSR-82 compliant: passaggio da ambiente reale ad ambiente emulato immediato Supporto al logging integrato (log4j) GUI semplice ed intuitiva Modello C/S
Device Requirements 512K minimo di memoria totale disponibile per Java Hardware di comunicazione Bluetooth con Bluetooth stack. Implementazione della configurazione J2ME (CLDC) o sup. JSR-82 Requirements Dipendenza esclusivamente dalle librerie CLDC. Scalabilità – Deve essere runnable su qualsiasi piattaforma Java 2 che fornisce il Generic Connection Framework (GCF). Le API devono permettere l'esecuzione sia di server che client. Bluetooth System Requirements Service Discovery Protocol (SDP) RFCOMM (type 1 device support) Logical Link Control and Adaptation Protocol (L2CAP) BLUESESAME – Linee Guida
BLUESESAME – Architettura Nodo Jsr-82 Compliant Discovery dispositivi e servizi Richieste sincrone vs callback Gestore della rete Stato della rete Dinamicità della rete Controllo utente Stack Protocollare Name service Emulazione della connessione Supporto RMI per la distribuzione
UUID e Url L’UUID è un identificativo univoco a 16, 32 o 128 bit, che identifica un servizio. Per i servizi standard l’UUID è noto a priori Service Discovery : UUID Url URL = scheme://host:port;parameters scheme: protocollo di comunicazione Host :indirizzo Bluetooth del dispositivo port: multiplexer del servizio; parameters: parametri opzionali del servizio
BlueTooth stack: SDDB e SDP Un ServiceRecord contiene una serie di attributi del servizio dove ogni attributo è una copia (ID, valore)
Rmi ES: SDP Client ES: SDP Server
JSR82
Retrieve Devices/Services() (bloccante) Caching dei risultati StartInquiry() (NON bloccante) Discovery Listener /Notifier (callback) Discovery
Test The symbol rate is 1 Megasymbol per second (Ms/s) supporting the bit rate of 1 Megabit per second (Mb/s) or, with Enhanced Data Rate, a gross air bit rate of 2 or 3Mb/s.
Test
Sviluppi Futuri Consumo di energia Perturbazioni frequenza radio Ambienti misti (emulati/reali) Integrazione con driver nativi JNI Bluetooth Stack in condice nativo Scatternet (Chi fa il Master? Statico o dinamico)