SOMMARIO
3
SOMMARIO
Il lavoro svolto in questa tesi di laurea ha avuto come oggetto l’ottimizzazione e la valutazione sperimentale di un protocollo MAC (Medium Access Control) per reti di sensori wireless. I dispositivi della rete sono comunemente alimentati da batterie con capacità limitata e spesso, per motivi logistici, di difficile sostituzione. Per questo motivo il fattore energetico è il parametro di maggior interesse nella ricerca e sviluppo di protocolli usati per le reti di sensori ed è quindi, anche l’obbiettivo che guida tutta il mio lavoro svolto. La caratteristica peculiare del protocollo implementato che andremo a studiare, chiamato Adaptive B‐MAC+, è rappresentata dall’utilizzo di un meccanismo adattivo che a run time ottimizza l’efficienza energetic dei nodi sensore e garantisce anche una buona gestione della latenza. L’ Adaptive B‐MAC+ è un protocollo asincrono che fornisce le classiche funzionalità presenti in tutti i protocolli MAC, quali l’effettiva gestione delle collisioni, cura delle operazioni di trasmissione e ricezione, minimo overhead, scalabilità, buon utilizzo della banda disponibile e criteri di equità. Il protocollo per risolvere il problema dell’
idle listening (che accade quando la radio è tenuta accesa in ricezione ad aspettare possibili trasmissioni che in realtà non sono presenti nel canale) fa uso del duty cycling: i nodi tengono le loro radio spente per la maggior parte del tempo e periodicamente la accendono per cercare trasmissioni in arrivo.
Il protocollo Adaptive B‐MAC+ già implementato precedentemente a questo lavoro, è stato studiato e modificato in alcune sue funzionalità, per ottimizzarlo dal punto di vista del consumo energetico e per ottenere un corretto funzionamento del protocollo in ogni situazione verificabile. Per caratterizzare le differenti condizioni di traffico a cui un nodo può essere sottoposto, si sono scelti diversi intervalli di rate trasmissivo e si è valutato analiticamente il check interval ottimo da utilizzare in ciascuno di questi intervalli. A run time, ciascun nodo mantiene una statistica del traffico entrante e setta il check interval
SOMMARIO
4
corrispondente al giusto inervallo di rate trasmissivo. Ciascun nodo mantiene una tabella dove, per ogni vicino, è indicato la lunghezza corrente del check interval. Per svolgere una trasmissione, un nodo deve selezionare la lunghezza appropriata del preambolo da inviare prima del pacchetto dati. Questa scelta, adesso, si basa sul massimo valore del check interval presente nella tabella dei vicini, invece che sul check interval del nodo destinatario (come nella precedente versione). L’informazione riguardante la lunghezza del proprio check interval è inviata dentro i chunks (una sequenza di pacchetti corti che formano il preambolo) trasmessi prima del pacchetto dati. In questo modo, tutti I nodi che ricevono i chunks possono leggere l’ informazione e riempire la propria raballa dei vicini con queste informazioni. E’ stato aggiunta una funzionalità che cancella dalla tabella dei vicini le informazioni riguardanti un vicino che non trasmetta più per un tempo uguale alla valore in secondi contenuto nella variabile lifetime. Inoltre, si sono aggiunte alcune variabili per settare e modificare il comportamento del protocollo: “guardia” (contenente il numero di millisecondi da aggiungere alla lunghezza del preambolo scelto, per ragioni di precauzione), “radice” (contenente l’indirizzo del nodo da considerare come root). In fine, il protocollo è stato modificato in modo che il nodo considerate root, invii automaticamente un pacchetto (con destinatario lui stesso) ogni volta che il valore del proprio check interval si reduce, cosi da avvisare i suoi vicini che, viceversa, non sarebbero mai stati a conoscenza di questa informazione visto che un modo root potrebbe non spedirebbe mai pacchetti dati.
Nella parte finale di questo lavoro si è implementato il nostro protocollo su nodi reali e lo si è valutato tramite differenti scenari di test. I risultati ottenuti, dimostrano come l’ adaptive BMAC+ riesca a far risparmiare energia ad un nodo, consumando fino al 41.6% in meno di rispetto ad un protocollo non adattivo, ed inoltre riesca a diminutire la latenza di circa l’80% quando il traffico diventa sostenuto. Il nostro protocollo risulta, quindi, reattivo ai cambiamenti della rete, adattando il check interval alle condizioni di traffico, garantendo così, più efficienza energetica, un aumentando del tempo di vita dei nodi, ed una migliore latenza nelle comunicazioni.
SOMMARIO
5
Il primo capitolo di questa tesi è d’introduzione al problema con breve illustrazione di una rete di sensori wireless e problematiche associate.
Il secondo capitolo analizza gli aspetti legati ai protocolli di livello MAC in relazione alle reti di sensori, ed espone una panoramica dei protocolli attualmente esistenti.
Il terzo capitolo approfondisce gli aspetti del protocollo per reti di sensori implementato e studiato in questa tesi, mettendo in evidenza le modifiche e le migliorie apportate in relazione alla versione precedente ed ai protocolli già esistenti.
Nel quarto capitolo sono presenti tutti gli esperimenti fatti sul protocollo implementato, per analizzarlo e scoprire eventuali comportamenti anomali.
Sono stati utilizzati diversi scenari sviluppati ad hoc, realizzati sempre con nodi reali di tipo Tmote sky, usando diversi settaggi del protocollo. In ultimo vengono evidenziati, i benefici ottenuti sul Round Trip Time e sul tempo di trasmissione dei pacchetti.
Il quinto capitolo riporta lo studio energetico fatto in relazione ai risultati sperimentali ottenuti sul nostro protocollo, evidenziando il grosso guadagno energetico che si può ottenere rispetto all’utilizzo di un normale protocollo non adattivo.
Il sesto ed ultimo capitolo riassume i risultati ottenuti dalle analisi e dalle sperimentazioni fatte, sottolineando tutti i vantaggi che il protocollo Adaptive B‐MAC+ apporta alle prestazioni di una rete di sensori.
Il materiale utilizzato per questa tesi, consiste in un portatile con installato il software TinyOs 1.x, per lo sviluppo del protocollo e la raccolta dei dati provenienti dalla rete di sensori; quattro moduli wireless Tmote Sky della famiglia Telos, conformi agli standard industriali IEEE 802.15.4; pacchetto office per l’elaborazione dei dati ottenuti, la loro presentazione; documenti scaricati dal sito dell’IEEE per le informazioni necessarie alle specifiche del progetto ed alla stesura della tesi.