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