Università degli studi di Modena e Reggio Emilia Facoltà d’Ingegneria Corso di Laurea in Ingegneria Informatica TINYDB: GESTIONE DEI DATI IN RETI DI SENSORI Relatore: Chiar.mo Prof. Sonia Bergamaschi Candidato: Giorgia Loschi materiale disponibile all’url http://www.dbgroup.unimo.it/tesi/indexNod.html 1 Reti di sensori: generalità Mote: è un dispositivo di elaborazione in miniatura dotato di Rete di sensori: retememorie costituita numeroricetrasmittente; elevato di nodi collegati microprocessore, e didaunun apparato tra loro mediante multipli. nodo diè dati dotato di un e una presenta inoltre cavi sensori per la Ogni rilevazione ambientali microprocessore e di uno o più sensori collegati mediante interfacce batteria per l’alimentazione proprietarie. Rete di sensori wireless: le WSN sono reti formate da tanti piccoli Memoria di lavoro elementi chiamati mote, dal nome utilizzato per i primi prototipi di WSN sviluppati dall’Università della California Berkeley (USA) Scopo di una rete di sensori: monitoraggio e/o controllo di un ambiente Memoria di massa Microprocessore: Capacità di elaborazione Ottimizzazione dell’energia Sensori: Temperatura Umidità Rumore … 2 Applicazioni - 1 Applicazioni militari: -Primo utilizzo: Guerra Fredda - controllo campi di battaglia - rilevazione spostamenti truppe nemiche - operazioni di localizzazione dei bersagli - Riconoscimento di agenti chimico fisici nell’ambito di battaglie chimico biologiche Applicazioni industriali: - Controllo processi produttivi Controllo ambientale: - sistemi di previsione degli incendi - agricoltura di precisione - controllo dell’inquinamento - statistiche relative alla fauna protetta 3 Applicazioni - 2 Applicazioni mediche: - trasmissione dei parametri fisiologici dei pazienti all’interno di ospedali - attività diagnostiche - somministrazione di medicinali - personal healtcare Home and Building Automation: - sistema human centered - sistema technology centered - sistema Heating, Ventilation and Hair Conditioning 4 Reti cablate Vantaggi Non presentano limitazioni di potenza Buoni livelli di sicurezza Svantaggi Impossibilità o difficoltà d’installazione in ambienti inospitali per l’uomo Alti costi d’installazione Struttura rigida: difficoltà d’installazione di nuovi nodi o modifica di quelli esistenti 5 Reti Wireless Soluzione ai problemi delle reti cablate: Riduzione dei costi d’installazione dei sensori I cavi necessitano dell’utilizzo di connettori, soggetti ad usura Realizzazione di ambienti con alta densità di sensori Ma… Presentano svantaggi in termini di: Problemi di propagazione del segnale Interferenze Sicurezza Requisiti di Potenza Norme legislative Aumento della complessità della rete 6 Scelte tecnologiche Tolleranza al guasto: capacità della rete di riconfigurarsi a seguito di guasti o malfunzionamenti in alcuni nodi Scalabilità: capacità della rete di acquisire nuovi nodi Costi produttivi: non devono superare quelli di una normale struttura cablata Ambienti operativi: è necessario tener conto dell’ambiente, spesso inospitale nel quale sarà dispiegata la rete Topologia della rete: posizione che i diversi dispositivi vengono ad occupare nello spazio (rete a stella, peer to peer, mesh) Mezzi trasmissivi: - sistemi induttivi - sistemi ottici - ultrasuoni - Radio Frequenza (RF) 7 Software dei mote Mote: risorse hardware limitate Sistemi operativi ad hoc TinyOS e Nesc: Primo sistema operativo e primo linguaggio di programmazione per reti di sensori, sviluppati dall’Università di Berkeley. 8 TinyDB Applicazione per la gestione dei dati in reti di sensori, sviluppata presso l’Intel Research Laboratory Berkeley e UC Berkeley. Al progetto hanno collaborato il ricercatore dell’Intel Wei Hong insieme a Samuel Madden, Micheal J. Franklin e Joseph M. Hellerstein dell’UC Berkeley. Caratteristiche: il sistema fornisce un’interfaccia che consente di recuperare informazioni dai sensori eseguendo interrogazioni espresse in un linguaggio SQL-like Sensor Network = Database Una semplice API Java per la scrittura di applicazioni che consentono di interrogare la rete ed estrarre i dati dai sensori Scopo: facilitare il compito del programmatore Scrittura di centinaia di linee di codice C per ogni dispositivo Query SQL-like su tutta la rete 9 Architettura Il sistema è costituito da due macrosezioni: - Software eseguito sui singoli sensori (sviluppato in NesC) Interfaccia client (sviluppata in Java) Componenti: Sensor Catalog: tiene traccia delle misure disponibili e di alcune proprietà caratteristiche del singolo sensore Query Processor: gestisce tutte le fasi di esecuzione della query (ottimizzazione, disseminazione e raccolta dati, elaborazione) Network Topology Manager: interfaccia per i componenti di livello sottostante 10 Linguaggio e Modello dei dati Unica tabella Sensors Righe: contengono i dati letti da ciascun dispositivo in un certo istante Colonne: identificano i vari attributi (tipo di misurazione, nodeid, timestamp,..) Impossibili operazioni di join e •Illimitata, costituita da un flusso continuo di ordinamento di tuple •Distribuita sull’intero insieme di nodi Materialization Point CREATE STORAGE POINT recentlight SIZE 8 AS (SELECT nodeid, light FROM sensors SAMPLE PERIOD 10s) TinySQL Operatori di SELECT, FROM, WHERE, GROUP BY per operazioni di selezione, proiezione, join e aggregazione Ulteriori clausole rispetto a SQL SAMPLE PERIOD, FOR SELECT nodeid, temp FROM sensors SAMPLE INTERVAL 1s FOR 10s LIFETIME SELECT … LIFETIME 10 days MIN SAMPLE INTERVAL 1s 11 Interrogazioni SRT build request 1) Ottimizzazione dell’interrogazione (basestation) Parent selection message: Problema: ridurre le operazioni costose (campionamento) •Random Ordinamento delle operazioni ( capionamento, predicati e operatori) in base a: Ordine parziale •Closest parent Selettività •Clustered Costo di acquisizione (metadati) Mantenimento: 2) Disseminazione dell’interrogazione nella rete Nuovi nodi Problema: riconoscimento dei nodi che non forniscono risultati per l’interrogazione Guasti Soluzione: Costruzione di un SRT (Semantic Routing Tree) Scelte di nuovi padri Campo di applicazione: predicati di selezione applicati ad attributi costanti (nodeid, location) Problemi: Attributi non costanti Alto tasso di cambiamenti 12 Interrogazioni 3) Esecuzione delle interrogazioni 1. sensori in stato di sleep 2. si svegliano (evento o dati in arrivo) 3. Campionano i sensori 4. Applicazione degli operatori Eseguite da ogni sensore In ogni epoch Gestione della sincronizzazione tra padri e figli: suddivisione delle epoch in intervalli Priorità di consegna dei dati e identificazione dei dati rilevanti: Interrogazioni di selezione: Naive Winavg Delta Aggregazioni: Snooping Adattamento al traffico e al livello energetico 13 Conclusioni e Sviluppi Vantaggi di TinyDB: Fornisce un linguaggio semplice per l’interrogazione della rete Dettagli implementativi nascosti all’utente Ottimizzazione dei consumi Limiti: Difficilmente riutilizzabile in nuove tipologie di ambiente Linguaggio molto semplice: non adatto per applicazioni sofisticate Si ignora la possibilità di inserire la rete in vasti ecosistemi di raccolta dati Non supporta le reti mobili Obiettivi futuri per le reti di sensori: Migliorare le risorse energetiche Sviluppo di reti di sensori intelligenti (video sorveglianza) 14