Wireless Sensor Networks Introduzione
Transcript
Wireless Sensor Networks Introduzione
Wireless Sensor Networks Corso di Sistemi Real-Time Prof.ssa L. Lo Bello Ing. E. Toscano Introduzione Una Wireless Sensor Network è una rete ad-hoc statica costituita da un elevato numero di nodi in grado di monitorare un determinato fenomeno e inoltrare i dati ad una stazione base, mediante un nodo particolare, detto Sink node. I nodi in una WSN in genere sono collocati in prossimità o direttamente all’interno del fenomeno da monitorare. Una WSN deve essere autonoma, in grado di configurarsi automaticamente e di funzionare senza l'intervento umano più a lungo possibile. E. Toscano 2 1 Introduzione Applicazioni su WSN: – Tutti i nodi cooperano per un unico task – In-network data processing Alcuni esempi tipici: – – – – – – Monitoraggio ambientale Monitoraggio delle abitazioni Sorveglianza Sicurezza Agricoltura ecc. E. Toscano 3 Requisiti di una WSN Scalabilità Bassi Costi di Produzione Fault-Tolerance Elevata Autonomia Vincoli di QoS E. Toscano 4 2 Problematiche da affrontare nel design delle WSN Energia – I nodi sono dotati di energia limitata; – Non è possibile sostituire le batterie; Risorse hardware limitate – CPU low-power; – Bassi quantitativi di memoria. I nodi sprecano più energia nelle comunicazioni che nelle computazioni. E. Toscano 5 Cause di inefficienza energetica nelle trasmissioni Collisioni – Carrier sense – Ritrasmissioni Overhearing Protocol overheads – Pacchetti dedicati ad altri Inefficient routes Duplicate packets Reporting redundant data – Packet overheads – Pacchetti di controllo Idle listening – Tempi di recezione non noti a priori Overemitting – Il nodo di destinazione non è pronto per la ricezione E. Toscano 6 3 Basso consumo VS QoS Applicazioni tempo-critiche richiedono politiche di QoS volte a minimizzare il ritardo tra il tempo in cui si individua un evento e il tempo in cui esso viene riportato alla stazione base. I requisiti di consumo di potenza e di velocità di consegna dei dati sono in contrapposizione. La maggior parte dei protocolli di comunicazione sviluppati per le WSN si dividono in due categorie: – protocolli mirati a minimizzare il consumo di energia; – protocolli mirati a fornire il QoS desiderato al traffico soft real-time. Attualmente la ricerca mira a trovare un trade-off tra efficienza energetica e QoS E. Toscano 7 Principali obiettivi della ricerca sulle WSN Minimizzazione dei consumi energetici Gestione della QoS Possibili strategie per limitare i consumi: – – – – Energy-efficient MAC Protocols Energy-efficient routing Protocols Cross-layer approaches Topology control mechanisms E. Toscano 8 4 Protocolli di MAC Contention-based protocols: – Il trasmettitore effettua il carrier sense per verificare se il canale è idle. – In caso di canale impegnato bisogna eseguire una procedura di back-off prima di poter ritentare la trasmissione. – Possono verificarsi collisioni. Pro: – Bassa complessità implementativa, – Scalabilità, – Flessibilità. Contro: – Bassa efficienza energetica per via di collisioni, idle listening e overhearing. E. Toscano 9 Protocolli di MAC Schedule-based protocols: – I trasferimenti di dati vengono schedulati anticipatamente – I nodi riceventi sanno esattamente quando devono accendere il transceiver e quando possono andare in sleep. Pro: – Efficienza energetica, poiché evitano le collisioni ed è facile abbassare il duty cycle. Contro: – Più complessi da implementare. – La trasmissione anticipata degli schedule richiede una coordinazione tra i nodi, limitando inoltre la scalabilità e la flessibilità nella gestione di nodi mobili e di cambiamenti nella topologia. – Mantenere la lista degli schedule dei vicini richiede un quantitativo di memoria non indifferente. E. Toscano 10 5 Protocolli di MAC Medium Access Mechanism Contention-based Schedule-based CSMA 1998 TDMA PAMAS 2002 S-MAC 2003 T-MAC TRAMA 2004 D-MAC LMAC WISEMAC B-MAC Year MS-MAC 2005 2006 PMAC CC-MAC MMAC Z-MAC FLAMA Sift MMSN MCMAC 2007 PEDAMAC LMAC m.c. Crankshaft 2008 MHMAC E. Toscano 11 Protocolli di MAC Standard WLAN/WPAN: Standard Data rate Wi-Fi 54 Mbps Bluetooth 1 Mbps IEEE 802.15.4 250 Kbps Power consumption 400+ mA TX 20 mA standby 40 mA TX 200 uA standby 30 mA TX 3 uA standby Protocol stack size Battery life 100+ KB Hours 100+ KB Days 4-32 KB Years Tra i protocolli standard, attualmente IEEE 802.15.4 è quello maggiormente utilizzato per la realizzazione di WSN. E. Toscano 12 6 Protocolli di routing Optimization-based Data-centric Cluster-based Location-based (routing geografico) E. Toscano 13 Optimization-based routing La selezione del percorso viene modellata con un problema di ottimizzazione lineare o non lineare. Il routing ottimo è quello che massimizza (o minimizza) una determinata metrica: – Energia consumata – Energia residua nei nodi – Network Lifetime Pro: Contro: – Il path utilizzato è “ottimo”. – L’efficacia dell’algoritmo di routing dipende dall’accuratezza del modello. – Solitamente l’algoritmo di ottimizzazione opera off-line (e una volta trovato il path “ottimo” utilizza sempre quello). E. Toscano 14 7 Data-centric routing Mirano a ridurre lo spreco di energia dovuto a: – Pacchetti duplicati – Ridondanza nei dati Associano ai dati dei descrittori di alto livello (metadati). Tramite i metadati negoziano la trasmissione dei dati. Usano tecniche di data aggregation (o data fusion) per ridurre l’overlap. E. Toscano 15 SPIN (Sensor Protocols for Information via Negotiation) Tre fasi: 1. ADV stage: un nodo che ha nuovi dati da comunicare, invia un messaggio ADV contenente i metadati a tutti i vicini. 2. REQ stage: i vicini che ricevono l’ADV, verificano se i relativi dati sono già stati ricevuti (o richiesti). In caso contrario, i nodi inviano alla sorgente un messagio REQ. 3. DATA stage: il nodo sorgente infine invia i propri dati ai nodi che li hanno richiesti tramite la REQ. – Ricevuti i dati, un nodo può applicare tecniche di data aggregation e annunciare mediante un ADV i dati aggregati. E. Toscano 16 8 SPIN (Sensor Protocols for Information via Negotiation) ADV A B E. Toscano 17 SPIN (Sensor Protocols for Information via Negotiation) A RE Q B E. Toscano 18 9 SPIN (Sensor Protocols for Information via Negotiation) DAT A A B E. Toscano 19 SPIN (Sensor Protocols for Information via Negotiation) V ADV A A DV AD AD V B AD V E. Toscano 20 10 SPIN (Sensor Protocols for Information via Negotiation) R EQ A B RE Q RE Q Q RE E. Toscano 21 SPIN (Sensor Protocols for Information via Negotiation) DAT A A A B TA TA DA DA DA T E. Toscano 22 11 SPIN (Sensor Protocols for Information via Negotiation) Pro: – Risolve i tre problemi principali del flooding: Message implosion. Overlap. Resource blindness. – Ritardi inferiori rispetto a flooding e gossiping Contro: – Risulta efficiente solo se la dimensione dei dati è significativamente minore di quella dei metadati. E. Toscano 23 Directed Diffusion Directed Diffusion introduce un naming schema per la descrizione di – sensing task. – dati. Un “interest” specifica la lista di coppie attributo-valore che descrive un sensing task. Esempio: type = four-legged animal // detect animal location interval = 20 ms // send back events every 20 ms duration = 10 seconds // .. for the next 10 seconds rect = [-100, 100, 200, 400] // sensing area E. Toscano 24 12 Directed Diffusion Un naming scheme simile è usato per descrivere i dati. Esempio: type = four-legged animal // type of animal seen instance = elephant // instance of this type location = [125, 220] // node location intensity = 0.6 // signal amplitude measure confidence = 0.85 // confidence in the match timestamp = 01:20:40 // event generation time I nodi indicano mediante gli interest a quali sensing task partecipano (a quali dati sono interessati). I dati sono diretti verso gli interest corrispondenti. E. Toscano 25 Directed Diffusion Per ciascun sensing task, il Sink invia periodicamente un messaggio di interest in broadcast ai suoi vicini Ogni nodo mantiene una interest cache, contenente per ciascun interest – – – – timestamp, data rate, durata, gradiente. I dati vengono consegnati attraverso i gradienti, che specificano gli indirizzi dei vicini da cui è stato ricevuto l’interest Per far sì che gli interest si diffondano lungo tutta la rete, nel momento in cui viene ricevuto un interest, un nodo può decidere di inviarlo a sua volta a tutti o a parte dei propri vicini. E. Toscano 26 13 Directed Diffusion Quando un nodo riceve dei dati da un vicino, cerca innanzitutto un interest corrispondente nella propria interest cache. – Se lo trova, il messaggio può essere forwardato a tutti i nodi indicati dal gradiente. – In caso contrario, il messaggio viene scartato. E. Toscano 27 Directed Diffusion Per migliorare l’efficienza viene introdotto un meccanismo di reinforcement: – Inizialmente il Sink invia in broadcast un interest con basso data rate. – Dopo la fase di set-up (quando il sink comincia a ricevere i dati a basso data rate), opera il reinforcement di un link, innalzando il data rate verso uno dei vicini. – Quando un nodo si accorge che è stato operato un reinforcement nei propri confronti, opera a sua volta un reinforcement verso almeno uno dei propri vicini. – Dalla sequenza di reinforcement sui singoli hop, si stabilisce un unico path ad elevato data rate dalla sorgente al sink. E. Toscano 28 14 Directed Diffusion E. Toscano 29 Directed Diffusion Pro: – Non richiede una negoziazione esplicita – Fault tolerance (mantiene path multipli) Contro: – Mantenere path multipli implica anche un maggiore overhead. E. Toscano 30 15 Cluter-based routing Nei protocolli di tipo cluster-based i dispositivi si autoorganizzano in una struttura gerarchica raggruppandosi in cluster. I nodi sono divisi in due categorie: – Cluster Head: gestiscono la comunicazione all’interno del cluster. costituiscono un punto di aggregazione per i dati generati da sorgenti vicine. – Non-cluster-head: nodi ordinari associati ad un cluster. Tutti i pachetti originati all’interno di un cluster vengono forwardati al cluster head. Il cluster head si occupa in seguito di forwardare i pacchetti verso la destinazione. E. Toscano 31 LEACH (Low Energy Adaptive Clustering Hiearchy) LEACH è un protocollo cluster-based volto alla minimizzazione dei consumi energetici. I Cluster Head sono eletti a rotazione per un determinato periodo di tempo, detto round. Per tutto il round i Cluster Head rimangono sempre attivi, mentre i membri del cluster possono rimanere in standby e attivarsi soltanto nel momento in cui i loro dati devono essere trasmessi. E. Toscano 32 16 LEACH (Low Energy Adaptive Clustering Hiearchy) Dynamic Cluster Formation Clusters at time t Clusters at time t+d E. Toscano 33 LEACH (Low Energy Adaptive Clustering Hiearchy) La comunicazione fra CH e gli altri nodi nel cluster avviene tramite TDMA; Per ridurre l'interferenza radio fra diversi cluster, viene utilizzato CDMA in cui ogni cluster usa un codice differente. I Cluster Head, una volta raccolti i dati da tutti i nodi del loro cluster, li trasmettono direttamente alla stazione base. E. Toscano 34 17 LEACH (Low Energy Adaptive Clustering Hiearchy) LEACH è organizzato in round, ciascun round può essere suddiviso in quattro differenti fasi. Advertisement phase – Una frazione predefinita di nodi p si autoelegge cluster head. – La decisione è presa casualmente da ciascun nodo, la probabilità di essere cluster head vale p/[1-p(r mod(1/p)))] se il nodo non è stato CH negli ultimi 1/p round, altrimenti vale 0; – Una volta presa la decisione, i cluster head inviano il loro id utilizzando un CSMA. E. Toscano 35 LEACH (Low Energy Adaptive Clustering Hiearchy) Cluster setup phase – – Schedule creation – I nodi non-cluster-head selezionano il cluster a cui associarsi in base al rapporto segnale-rumore dei cluster head vicini. Il cluster head selezionato viene avvisato mediante un CSMA. Il cluster head crea lo schedule TDMA delle trasmissioni e lo comunica ai membri del cluster assieme al codice CDMA da utilizzare nel cluster. Data transmission – – I membri del cluster comunicano i loro dati nel loro time-slot e vanno in sleep nei time slot non propri. Il cluster head trasmette i dati direttamente al sink. E. Toscano 36 18 LEACH (Low Energy Adaptive Clustering Hiearchy) Timeline showing LEACH operation Next TDMA Schedule Cluster members -› CH CH -›BS direct transmission E. Toscano 37 LEACH (Low Energy Adaptive Clustering Hiearchy) Pro – Elevata efficienza dal punto di vista energetico. Contro – Problemi di scalabilità; – E' richiesta la sincronizzazione del clock al livello di rete; – Nessuna gestione della QoS. E. Toscano 38 19 TEEN (Threshold-Sensitive Energy-Efficient Sensor Network) Pensato per WSN di tipo “reactive”. Estende l’architettura di LEACH introducendo il clustering gerarchico: Base Station – I nodi ordinari spediscono i dati ai propri CH (di primo livello). – I CH a loro volta forwardano i dati verso i propri CH di livello superiore, finché non si raggiunge il Sink. Second Level Cluster Simple Sensor Node First Level Cluster Head First Level Cluster Second Level Cluster Head E. Toscano 39 TEEN (Threshold-Sensitive Energy-Efficient Sensor Network) Cluster set-up e trasmissione si basano su LEACH. Trasmissione dati regolata da due parametri: – Hard Threshold (hT) – Soft Threshold (sT) Quando i valori monitorati superano hT per la prima volta il valore viene memorizzato e spedito nel proprio time slot. Successivamente i dati verranno trasmessi ogni volta che il valore monitorato differisce di almeno sT dal valore memorizzato. E. Toscano 40 20 TEEN (Threshold-Sensitive Energy-Efficient Sensor Network) Pro: – Minore numero di trasmissioni in WSN di tipo reactive. – Multi-hop forwarding tramite la gerarchia di CH. Contro: – I problemi di scalabilità di LEACH non vengono risolti, ma solo spostati al livello superiore: Non vi è garanzia che avanzando di livello i CH si trovino più vicini al Sink. Man mano che i CH aumentano di livello, devono coprire un’area maggiore. – Nessuna gestione della QoS E. Toscano 41 Routing Geografico I nodi della rete sono location aware; Il forwarding dei pacchetti è funzione della posizione dei nodi. Elevata Scalabilità Possibile gestione della QoS E. Toscano 42 21 SPEED Protocollo di tipo geografico con il supporto ad una QoS di tipo soft real-time. In una rete wireless multihop, per via del range trasmissivo ridotto, il ritardo end-toend dipende non solo dalla latenza dei nodi vicini, ma anche dalla distanza fisica dei nodi. È possibile mantenere predicibile il delay dei pacchetti imponendo una delivery speed minima da mantenere. E. Toscano 43 SPEED Design Goals: – – – – – – – Soft Real-Time Minimal State Architecture Minimum MAC Layer Support QoS Routing and Congestion Management Traffic Load Balancing Localized Behaviour Void Avoidance E. Toscano 44 22 Tipi di comunicazione definiti in SPEED Unicast real-time – Quando una parte della rete deve rilevare una certa attività che deve segnalare a una stazione remota. Area-multicast real-time – Quando una stazione invia un ordine o una domanda per zona. – La fine del percorso è una zona invece che un nodo specico. Area-anycast real-time – Quando i sensori devono misurare delle informazioni altamente ridondanti. E. Toscano 45 SPEED Ciascun nodo mantiene una tabella dei vicini. Una entry della tabella dei vicini è costituita da: – NeighborID; – Position; – SendToDelay; – ExpireTime. E. Toscano 46 23 SPEED I componenti principali di SPEED sono: – La strategia di scambio dei beacon; – La strategia per la stima del ritardo; – Nondeterministic Geographic Forwarding (NGF); – Neighborhood Feedback Loop (NFL). E. Toscano 47 SPEED - Scambio dei beacon Beacon periodici – Vengono utilizzati esclusivamente per lo scambio di informazioni sulla posizione dei vicini. Backpressure beacon – Contengono il delay medio dei nodi vicini. – Vengono inviati quando la rete è congestionata per informarne i nodi che hanno inviato i pacchetti. E. Toscano 48 24 SPEED - Stima del ritardo Quando un nodo deve inoltrare un pacchetto: – Nel momento in cui riceve il pacchetto, il nodo vi appone un timestamp Tarrival ; – Nel momento in cui è stato spedito l’ultimo bit del pacchetto da forwardare (Tdeparture), la stima del ritardo del prossimo hop viene aggiornata secondo la formula Delay(k) = α Delaynew+(1- α) Delay(k-1), dove Delaynew = Tdeparture- Tarrival ; Quando un nodo riceve un Backpressure Beacon: – In tal caso, la stima del ritardo del nodo da cui proviene il beacon viene sostituita con il valore indicato nello stesso backpressure beacon. E. Toscano 49 SPEED - NGF Definizioni: – Neighbor Set del nodo i (NSi) Insieme dei nodi entro il range radio di i. NSi = {node | distance(node , node i ) ≤ R } – Forwarding Candidate Set del nodo i: L’insieme dei nodi appartenenti a NSi che sono più vicini alla destinazione di quanto lo sia il nodo corrente. FSi (Destination) = {node ∈ NSi | L – L_next > 0 } ⊂ NSi E. Toscano 50 25 SPEED - NGF – Relay Speed Viene calcolata dividendo l’avanzamento in termini di distanza del prossimo hop per il ritardo stimato. Lac A Lec E S aec = C Lac − Lec Tae E. Toscano 51 SPEED - NGF Sulla base della destinazione del pacchetto e dell'FS corrente, l'NGF indirizza il pacchetto secondo le seguenti regole: I pacchetti vengono forwardati solo ai nodi che appartengono all'insieme FSi(Destinazione). Se non c'è nessun nodo all'interno di questo insieme, i pacchetti vengono scartati. I nodi di FSi(Destinazione) sono divisi in due gruppi. – Nodi che hanno una Relay Speed superiore al valore desiderato Ssetpoint. – Nodi che hanno una Relay Speed inferiore al valore desiderato Ssetpoint. E. Toscano 52 26 SPEED - NGF Il prossimo hop viene selezionato tra i nodi del primo insieme, ciascun nodo può essere selezionato con probabilità: K P( x = i ) = ( Speed i ) N ∑ (Speed ) i =0 K i Se non vi sono nodi appartenenti al primo gruppo, viene calcolato il relay ratio mediante il NFL. – Il pacchetto verrà forwardato con una probabilità pari al relay ratio (o scartato con probabilità 1-relay_ratio). – Viene inviato un backpressure beacon al mittente. E. Toscano 53 SPEED - NFL Viene attivato quando tutti i nodi all’interno del FSi(Destination) hanno una Relay Speed inferiore alla Ssetpoint. Il suo compito è quello di calcolare il relay ratio e comunicarlo al NGF. Il relay ratio viene calcolato con la formula: u = 1− K ∑e i N u = 1 if ∃ei = 0 if ∀ei > 0 E. Toscano 54 27 SPEED Pro – Buone performance per il traffico soft real-time – Elevata scalabilità Contro – Consumi energetici elevati E. Toscano 55 RPAR RPAR è un protocollo di routing geografico che cerca di conciliare la gestione del traffico real-time con l’efficienza energetica. Obiettivo principale di RPAR è minimizzare il deadline miss ratio. La potenza trasmissiva dei nodi viene adattata dinamicamente. E. Toscano 56 28 RPAR Prove sperimentali indicano che la velocità di consegna (e quindi il delay) di un singolo hop varia al variare della potenza trasmissiva. E. Toscano 57 RPAR L’idea di base del protocollo è di bilanciare la potenza trasmissiva e la latenza delle comunicazioni. In presenza di deadline stringenti la potenza trasmissiva viene aumentata per diminuire la latenza. In presenza di deadline non stringenti i dati vengono trasmessi a una potenza minore per diminuire i consumi energetici. E. Toscano 58 29 RPAR Componenti di RPAR: – Velocity assignment policy – Forwarding policy – Delay estimator – Neighborhood manager E. Toscano 59 RPAR - Dynamic Velocity Assigment Policy Trasforma i requisiti di latenza (dati dalle deadline) dei pacchetti in requisiti di velocità. Se il nodo S deve forwardare un pacchetto al nodo D, la velocità minima per non violare la deadline vale: vreq ( S , D) = d ( S , D) slack dove d(S,D) è la distanza Euclidea dei nodi. Lo slack rappresenta il tempo residuo prima della scadenza della deadline. E. Toscano 60 30 RPAR - Dynamic Velocity Assigment Policy Se ad ogni hop la vreq(Si,Di) è soddisfatta la deadline sarà anch’essa soddisfatta. RPAR mappa il problema globale del soddisfacimento della deadline end-toend sul problema locale del mantenimento di una velocità di forwarding sul singolo hop. E. Toscano 61 RPAR - Forwarding Policy Il forwarding viene sempre effettuato verso il nodo più efficiente dal punto di vista energetico tra quelli che raggiungono la velocità desiderata. La velocità fornita da una scelta di forwarding (N,p) è: v ( S , D, ( N , p )) = prov E. Toscano d ( S , D) − d ( N , D ) delay ( S , ( N , p )) 62 31 RPAR - Forwarding Policy Il consumo associato ad una scelta di forwarding (N,p) è d ( S , D) d ( S , D) − d ( N , D) – E ( p ) è l’energia richiesta per trasmettere il pacchetto alla potenza p; – R( S , ( N , p)) è una stima del numero di ritrasmissioni; d ( S , D) – è una stima del numero E ( S , D, ( N , p )) = E ( p ) ⋅ R ( S , ( N , p )) ⋅ d ( S , D ) − d ( N , D) complessivo di hop. E. Toscano 63 RPAR - Forwarding Policy La forwarding policy calcola velocità e consumo di ogni scelta di forwarding. Tra le scelte aventi velocità maggiore o uguale alla vreq, viene selezionata quella caratterizzata dai consumi più bassi. Se la forwarding policy non trova alcuna scelta di forwarding con velocità adeguata, il neighborhood manager tenta di trovare nuove scelte di forwarding valide. E. Toscano 64 32 RPAR - Delay Estimator Il ritardo di un singolo hop dipende da: – Tempo di contesa; – Tempo di trasmissione dei dati e dell’ack; – Stima del numero di tentativi di ritrasmissione. delay( S , ( N , p )) = ( delay ( S ) + delay ) ⋅ R( S , ( N , P)) cont tran E. Toscano 65 RPAR - Delay Estimator Il tempo di trasmissione del pacchetto e dell’ack è noto a priori (dipende dalla lunghezza del pacchetto e dalla bandwidth). Il ritardo di contesa non dipende dalla scelta di forwarding e viene stimato a partire dai valori osservati in precedenza. Il numero dei tentativi di ritrasmissione deve essere stimato per ogni coppia (N,p) a partire dai valori osservati in precedenza. E. Toscano 66 33 RPAR - Neighborhood Manager Ogni nodo contiene una tabella delle scelte di routing. – Per risparmiare memoria vengono mantenute solo le scelte più frequenti. Il Neighborhood Manager viene invocato on-demand, quando un pacchetto non può soddisfare i propri vincoli di velocità. Due tecniche distinte per trovare nuove scelte di routing: – Power adaptation; – Neighbor discovery. E. Toscano 67 RPAR - Power Adaptation Incremento: – Un vicino è candidato per l’incremento della potenza trasmissiva quando: La link quality di tutte le scelte di routing che lo attraversano è minore di una determinata soglia, Non ci sono altre scelte di routing che trasmettono a quel nodo con la massima potenza. – La potenza di trasmissione verso il vicino con la massima velocità tra tutti i candidati viene aumentata, moltiplicandola per un valore di poco superiore all’unità. – Questo processo viene ripetuto finché non si trova una scelta che soddisfa i vincoli di velocità oppure finché non vi sono più candidati per l’incremento. In tal caso viene invocato il Neighbor Discovery. E. Toscano 68 34 RPAR - Power Adaptation Decremento: – Quando la tabella dei vicini contiene scelte di routing che soddisfano i requisiti di velocità, viene decrementata di una quantità predefinita la potenza della scelta più efficiente dal punto di vista energetico. – La potenza non può essere decrementata quando: È stata raggiunta la potenza minima; La link quality scende al di sotto di una soglia predefinita; Esistono due valori contigui di potenza tali che soltanto il maggiore dei due soddisfi i requisiti di velocità. E. Toscano 69 RPAR - Neighbor Discovery Viene attivato quando RPAR non riesce a trovare scelte di routing che soddisfano i requisiti di velocità utilizzando il meccanismo di Power Adaptation. Il nodo in questione invia in broadcast un messaggio Request To Route (RTR) e colleziona le risposte dei vicini. – La potenza trasmissiva della RTR è quella di default nel caso in cui la tabella dei vicini non contenga nodi più vicini alla destinazione, mentre è massima nel caso in cui siano già presenti dei nodi più vicini. Un nodo vicino risponde soltanto se soddisfa le seguenti condizioni: – realizza progressi verso la destinazione; – esso non è già nella tabella delle vicinanze del nodo; – la massima velocità che può essere realizzata selezionandolo come hop seguente è superiore alla velocità richiesta. E. Toscano 70 35 RPAR Pro – Buone QoS per il traffico real-time. – Protocollo di tipo energy-aware. Contro – I nodi non vanno mai in sleep (dunque i consumi rimangono elevati). – Predisposizione al congestionamento della rete. E. Toscano 71 Topology Control Protocols Il consumo energetico nelle WSN è per larga parte dovuto al sottosistema di comunicazione dei nodi. – Può essere ridotto in maniera significativa solo diminuendo il duty cycle dei nodi (mandandoli in sleep). L’obiettivo dei protocolli di topology control (o topology management) è quello di selezionare ad ogni istante quali nodi possano entrare in sleep senza che la capacità della rete risulti compromessa. Per ottenere una comunicazione real-time ed energy-efficient: – Real-time routing protocol (non necessariamente energy-efficient). – Energy efficient topology control protocol (che non comprometta le performance!). E. Toscano 72 36 RTPAW Obiettivi del framework RTPAW: – Supporto al traffico real-time – Bassi consumi energetici – Elevata scalabilità – Elevata fault tolerance E. Toscano 73 Protocol Stack Application Layer – raggruppa i nodi in cluster, le Aggregated Unit (AU); Routing Layer – fornisce al Routing Layer una vista unitaria dell’insieme di nodi sensore che costituiscono la AU. Topology Control MAC Layer Tra i livelli di MAC e di routing viene inserito un Topology Control Protocol, che L’unità di indirizzamento per il Routing Layer non è il singolo nodo sensore bensì la singola AU. Physical Layer E. Toscano 74 37 PHY & MAC Layers Sono stati adottati i livelli PHY e MAC di IEEE 802.15.4: – Bassi costi; – Bassi consumi energetici; – Elevata diffusione dello standard. Architettura radio di tipo cellulare: – Vengono sfruttati i 16 differenti canali offerti dallo standard nelle frequenze dei 2.4GHz. – In questo modo si evitano le interferenze tra nodi operanti su AU differenti. Viene utilizzata la modalità non-beacon enabled del MAC 802.15.4: – Superframe e sleep sono regolati dal Topology Control Protocol E. Toscano 75 Topology Control Cluster-based approach – Nodi raggruppati in Aggregated Units (AUs) Architettura di rete gerarchica (due livelli): – Primo livello: all’interno della AU TDMA-based transmission schema Super-frame structure – Duty cycle ridotto – Bounded delay – Secondo livello: esternamente alla AU Backbone di nodi sempre attivi QoS-enabled multi-hop forwarding (Routing Layer) I due livelli di rete operano in parallelo e interagiscono. E. Toscano 76 38 Topology Control Second-Level Network First- RN Level Netwk CH AU CN CN 1. I dati vengono raccolti dal nodo master della AU 2. I dati vengono forwardati verso il Sink attraverso la rete di secondo livello. Sink AU AU Two-steps data forwarding: AU CN AU AU AU Bilanciamento dei consumi energetici – I nodi che costituiscono la backbone vengono eletti a rotazione E. Toscano 77 Topology Control I nodi sono organizzati in cluster: – in RTPAW vengono chiamati Aggregated Unit (AU) FE_Result = CH All’interno di una AU esistono tre tipologie di nodi: – Relay Node (RN), – Common Node (CN), colleziona i dati dai CN e periodicamente li inoltra al nodo RN; – InitState Cluster Head (CH), effettua il forwarding dei dati verso altri RN o verso il nodo Sink; FE_Result = CN == lapsed H Round_e xtC CH or d e n Threshol n. gy er o en < c energy ea b CH CN acquisisce i dati e li inoltra al CH; In ogni AU è presente un CH, un RN ed un numero variabile di CN. I ruoli di CH e RN sono a rotazione. CH dr. Ad my RNRound_elapsed or energy < energyThresh. RN CHbeacon.nextRN == myAddress E. Toscano 78 39 Initialization In fase di inizializzazione, i nodi eseguono tre task: AU Identification – Basata sulla posizione (TC statico) – Basata su un algoritmo di clustering distribuito (TC dinamico) Radio Channel set-up – Basato su AU_ID ed una tabella di canali (TC statico) – Basato su un agreement dei nodi (TC dinamico) First Election – Algoritmo distribuito – Diversa dalle successive elezioni (centralizzate) E. Toscano 79 Data Transmission SupLength Tbeacon TSCH B S CH CN1 1. B 2. D CN2 D D CN3 TSCN RN F F 3. Routing Protocol Legend Node activity in the AU radio channel. Node activity in the Broadcast radio channel. Node Sleeping. 4. E. Toscano Il CH notifica l’inizio della super-frame mediante una beacon frame. I CN possono rimanere in sleep fino all’istante di inizio del proprio time-slot, inviare i propri dati e tornare in sleep. Il CH invia al RN i dati ottenuti in forma aggregata. Il RN effettua il data forwarding. 80 40 Routing Layer Effettua il forwarding dei pacchetti dalla AU sorgente verso la loro destinazione ultima (il nodo Sink). – In esecuzione esclusivamente sui RN. Virtualmente qualunque protocollo di routing potrebbe essere usato al di sopra del Topology Control Protocol… …ma i nostri requisiti sono: – Supporto del traffico di tipo soft real-time; – Scalabilità; – Fault Tolerance. Attualmente viene utilizzato il protocollo di routing SPEED. E. Toscano 81 RTPAW - Conclusioni Pro: – Consumi energetici ridotti, grazie al basso duty cycle dei nodi; – Buone prestazioni Real-Time Il TDMA introduce un ritardo predicibile. Il protocollo di routing impone una minima velocità di forwarding. – Fault Tolerance, grazie all’indirizzamento per AU anziché per singolo nodo. Contro: – Gli RN non vanno mai in sleep E. Toscano 82 41