-Self-healing in WSN -andrei.clubcisco.ro/cursuri/f/f-sym/4si/l13.pdfde senzori de senzori de...
Transcript of -Self-healing in WSN -andrei.clubcisco.ro/cursuri/f/f-sym/4si/l13.pdfde senzori de senzori de...
- Self-healing in WSN -- Self-healing in WSN -
Cuprins
• Introducere.
• Istoric
• Descriere sistem.
• Considerente de Design si Fezabilitate.
• Aplicatii.
1-2
• Aplicatii.
• Probleme intalnite.
• Algoritmi de self-healing
• Concluzii
Introducere
• Ce sunt wireless sensor networks?
• Caracteristici unice.
• Concepte de baza si terminologie.
1-3
Ce sunt wireless sensor networks
(WSNs)?O WSN este o retea wireless alcatuita din device-uri autonome distibuite spatial ce utilizeaza senzori si coopereaza pentru a monitoriza conditii de mediu ca: temperatura, sunetul, vibratile, presiunea, miscarea sau poluarea la diferitelocatii.
Caracteristicile unui nod:Caracteristicile unui nod:•Procesare on-board ,•Comunicatie wireless ,•Capabilitati senzoriale.
Vedere de ansamblu� De ce WSN?
� Elimina conectivitateadin PC in lumea reala
� Milioane de senzoriraspanditi peste totraspanditi peste tot
� Nu avem nevoie de configurare
� Se construieste totul in interiorul CMOS –uluipentru a reduce costurile
� Notiunea de senzorcastiga noi intelesuri
� De ce wireless?
Istoric
• Primele retele de senzori au aparut in anii ‘70.– Retele cablate de senzori
– Arhitectura centralizata.
1-6
– Arhitectura centralizata.
• Astazi, datorita descoperirilor din VLSI retelistica si comunicatii wireless avemurmatoarele deziderate:� Capacitati de calcul universal disponibile
� Comunicatii ubicue.
Viitorul – Embedded WorldWSN:• Un numar mare de noduri raspandite pezone extinse• Imbunatatiri in domeniulfiabilitatii si reducerea
Smart DustNodurile dintr-o retea WSN vor ajunge la dimensiuni microscopice (graunte de praf)
fiabilitatii si reducereaconsumului de energie• Capacitati crescutede calcul si stocare.
Componentele unui nod� Procesor low-power.
� Putere de calcul limitata
� Memorie.� Capacitate limitata.
Radio.� Radio.� Low-power.
� Viteza de transmisie mica.
� Distanta de emisie redusa.
� Senzori.� Scalari: temperatura, lumina, etc.
� Camere video, microfoane etc.
� Sursa de alimentare.
Sisteme de operare� Sunt de obicei mai putin complexe decat sistemele de uz general
� Cerinte speciale ale aplicatiilor pentru retele de senzori� Sistemul de operare nu este necesar sa includa suort pentru interfetele
grafice
� Constrageri de resurse in platformele hardware� Memorie virtuala nenecesara sau greu de implementat
Hardware-ul senzorilor din WSN nu este diferit de cel al altor� Hardware-ul senzorilor din WSN nu este diferit de cel al altorsisteme embedded� eCos, uC/OS� Tiny OS – specific WSN� Programele Tiny OS compuse din:
� Event handlere� Task-uri� Scrise in nesC – extensie a C
� SO care supota programarea in C� Contiki, Mantis
Tiny OS
� TinyOS (TOS) = imagine binara, executabila peun procesor Atmega.
Arhitectura event-driven.� Arhitectura event-driven.
� Fara kernel, management al proceselor, management al memoriei sau memorievirtuala.
� Scheduling pe doua nivele.
� Planificare simpla, tip FIFO.
Review� Aplicatie TOS = componente utilizator + scheduler
Main (inclusiv Scheduler)
main {
// component initialization
while(1) {
Communication
Efectoare Senzori Comunicatii
Aplicatie (Componente utilizator)
Main (inclusiv Scheduler)
Abstractie Hardware
while(1) {
while(more_tasks)
schedule_task;
sleep;
} // while
} // main
Review
� Scheduling:� Scheduling pe doua nivele
(evenimente si task-uri)Task-uri Interne
Handler mesaje
Stari interne
(evenimente si task-uri)� Stiva partajata intre evenimente
si apelurile de functii
� Task-uri:� Pot fi preemptate de evenimente� Apeleaza comenzi� Semnalizeaza aparitia unui eveniment� Nu pot fi preemptate de alte task-uri
� Evenimente – cele de nivel jos sunt implementate de intreruperile hardware ale procesorului
Comenzi Evenimente
Review� Stiva pentru senzori:
� Componente pentru senzori fotosau de temperatura
� Foloseste un driver pentru ADC
� Abstractizarea Hardware:� LED (pinul unui anumit
port/cablat HW)
� CLOCK (counter interrupt) Foloseste un driver pentru ADC
� request data -> wait for data event
� Stiva pentru comunicatii:� Abstractizarea comunicatiei
radio la nivel de bit
� Functii pentru asamblarea bitilorin octeti si pachete de date
� Interpretarea pachetelor de date primite ca mesaje
CLOCK (counter interrupt)
� UART (controlul baud rate, transfer)
� ADC (ADC interrupt handling)
� RFM (abstractizarea transmisieide date, logica specifica de control)
Exemple de noduri WSN
FireFly WSN Platform Carnegie Mellon University
Berkeley Mica Node
Berkeley Spec Node
FezabilitateConsum de energie:
� Senzori
� Procesare digitala
Transceiver radio� Transceiver radio
� Cel mai mare consum : comunicatia radio
� Exemplu: Cu 3J un nod poate transmite 1 Kb la 100 de metri distanta sau sa execute 3 milioane de instructiuni
Considerente de Design
De ce WSN sunt un subiect interesant pentrucercetare?
• Constrangeri severe de consum de energie.– Surse foarte limitate de energie (baterii).
1-16
– Surse foarte limitate de energie (baterii).– Trade-off intre performanta si durata de viata.
• Auto-organizare si auto-vindecare.– Utile in locatii greu accesibile.
• Scalabilitate.– Pot avea un numar mare de noduri.
Considerente de Design Eterogenitate.•Device-uri cu capabilitati variate.•Senzori diferiti.•Arhitectura ierarhica.
Adaptabilitate.
1-17
Adaptabilitate.•Adjustarea la conditii de operare neprielnicesi la schimbarea specificatiilor.
Securitatea si confidentialitatea datelor.•Pot culege informatii confidentiale.•Pot opera in medii ostile.
WSN Aplicatii
• Monitorizare.– Aplicatii stiintifice, ecologice.
• Ne-intrusive.• Viziune spatiala asupra datelor culese.• Zone inaccesibile.
Supraveghere si urmarire.
1-18
• Supraveghere si urmarire.– Misiuni de recunoastere.– Supraveghearea unui perimetru.
• Dezvoltarea de medii “Inteligente”.– Agricultura.– Procese industriale.
WSN - Probleme� WSN, ca toate sistemele peer-to-peer sufera din cauza
descentralizarii.
� Retelele moderne au milioane de componente, fiecaredintre ele fiind susceptibile de defecte (caderea reteleidintre ele fiind susceptibile de defecte (caderea reteleiSkype din 2007)
� WSN sunt in special vulnerabile la caderi din cauzacerintelor de cost redus si consum redus de energie
� Trebuie inventati noi algoritmi de auto-configurare siauto-vindecare special pentru WSN
Proprietatile WSN
Self-configuration
Self-protection
WSN
Self-healing
Self-optimization Self-
awareness
Domenii de Cercetare in WSN� Hardware (2000)
� CPU, memorie, senzori, etc.
� Protocoale (2002)� Layer MAC
21
� Layer MAC
� Protocoale de rutare si transport
� Aplicatii (2004)� Aplicatii de localizare si pozitionare
� Management (2005)�� AcoperireAcoperire sisi conectivitateconectivitate
�� Power managementPower management
�� Energy HarvestingEnergy Harvesting
Probleme de acoperire� In general
� Determina cat de bine zona este monitorizata de senzorii instalati acolo
� Abordari posibile
22
� Abordari posibile
� Probleme Geometrice
� Nivelul de expunere
� Acoperirea unei arii
� Acoperire
� Conectivitate
� Probleme de mentinerea acoperirii si conservarea energiei
Probleme de acoperire� Amplasarea senzorilor este un factor critic in
determinarea costului si capablitatilor de detectie a retelei WSN
� In instalarea senzorilor trebuie tinut cont atat de acoperire cat si de conectivitate
23
acoperire cat si de conectivitate
Acoperire Conectivitate
Problema galeriei de arta� Care este numarul minim de camere de luat vederi
care pot fi plasate intr-o galerie de arta a.i. orice punctdin incinta este monitorizat de cel putin o camera.
24
Problema galeriei de arta� Rezultatele unei amplasari de tip Art Gallery
Problem (AGP) nu pot fi aplicate direct din cauzaparticularitatilor WSN� AGP presupune ca un senzor are un con de vizibilitate
25
� AGP presupune ca un senzor are un con de vizibilitateinfinit ca lungime� Distanta de captare pentru majoritatea senzorilor este finita
� AGP nu trateaza problema comunicatiei intre noduri� Amplasarea nodurilor WSN trebuie sa tina cont si de problemele
de conectivitate (obstacole, perturbatii, distanta maxima etc.)
Problema acoperirii prin cercuri� Folosind un numar dat de cercuri, trebuie sa gasesc
raza minima a cercurilor pentru care acoperirea estetotala
26
Pastrarea conectivitatii si conservarea
energiei
� Timpii de functionare ai senzorilor trebuie planificatiavand in vederea consumul de energie.� Timpul de viata al retelei este imbunatatit semnificativ.
� Se poate implementa usor daca unele noduri au regiuni comune.
27
a b
c d
a b
c d
e
f
Doua probleme la instalarea
senzorilor
� Amplasarea senzorilor:� Determina numarul minim de senzori care satisfac
cerintele de conectivitate si acoperire pentru un
28
cerintele de conectivitate si acoperire pentru un suprafata data
� Managementul senzorilor (clustering):� Alege un subset de senzori din multimea totala care sa
indeplineasca anumite functii, diferite de restul retelei
Ce inseamna clustering?Membru de cluster
Clusterhead
Nod gateway
29
• Nodurile sunt impartite in grupuri virtuale conform unor
reguli prestabilite
• Toate nodurile dintr-un grup pot executa functii diferite fata
de nodurile din alt grup.
Legatura Intra-Cluster
Legatura Cross-cluster
Clustering in WSN� Algoritmul grupeaza nodurile in custere si alege un cluster
head (CH) � Membrii unui cluster pot comunica direct intre ei si doar cu
CH-ul lor� Un CH poate sa faca forwarding la datele agregate catre statia de
baza folosind celelalte CH-uri
� Obiective Clustering
30
� Obiective Clustering� Permite agregarea� Limiteaza transmisia de date� Faciliteaza refolosirea resurselor� CH-urile si nodurile gateway formeaza backbone-ul retelei� Structura de cluster creeaza impresia unei retele mai mici si mai
stabile� Imbunatateste timpul de viata al retelei
� Reduce traficul in retea si aria de emisie a nodurilor dintr-un cluster� Agregarea datelor si eventualele configurari se fac local, la nivelul
clusterului si sunt coordonate de CH.
Problema amplasarii senzorilor
� Input: aria de acoperire A� A este de forma unui poligon oarecare
31
A este de forma unui poligon oarecare
�� AA poate sa contina unul sau mai multe
obstacole� Obstacolele sunt si ele tot poligoane
� Obstacolele nu partitioneaza AA
� Fiecare senzor are o raza de detectie rs o raza de comunicatie rc
� De cele mai multe ori rs != rc
Doua abordari in amplasare
rc3rs
32
rs
Coverage First Connectivity first
Trebuie adaugati senzori
in plus pentru a mentine
conectivitatea daca
3c sr r<
Trebuie adaugati senzori
in plus pentru a mentine
acoperirea daca
3c sr r>
Algoritm de amplasare� Partitioneaza aria de acoperire in doua tipuri de
sub-regiuni:�� SingleSingle--row row regionregion
� O zona de centura intre obstacolele a caror latime nu este mai
33
� O zona de centura intre obstacolele a caror latime nu este maimare decat , unde rmin= min(rs, rc)
�� MultiMulti--row row regionregion� Este nevoie de mai multe randuri de senzori pentru a acoperi
aceste zone
� In aceasta zona inca pot exista obstacole.
min3r
Pasul 1: Partitionarea ariei de acoperire� Se identifica regiunile single-row din aria de acoperire AA
� Extinde perimetrul obstacolelor in exterior pe o distantade
� Daca extinderea se suprapune pe alte obstacole folosi o min3r
34
� Daca extinderea se suprapune pe alte obstacole folosi o proiectie a acesteia pentru a obtine regiunile single-row
� Zonele ramase neacoperite sunt regiuni multi-row.
Exemplu de partitionare
Obstacol
2
7Obstacol
1
3 6
35
min3r
4 5
Pasul2: Amplasarea senzorilor in regiunile
single-row
� Amplaseaza senzorii de-a lungul bisectoarei poligonului
36
Pasul3: Pune senzorii in regiunile multi-row� Consideram un plan 2D fara limite sau obstacole
� Amplaseaza senzorii rand dupa rand� Un rand de senzori trebuie sa satisfaca constrangerile de
acoperire si conectivitate� Randurile adiacente trebuie sa ofere acoperire continua
37
� Randurile adiacente trebuie sa ofere acoperire continua
� Cazul 1: � Senzorii dintr-un rand sunt despartiti de distanta rc
� Randurile adiacente sunt la distanta de
� Cazul 2: � Distanta dintre senzori este
3c sr r≤
3c sr r>
22
4cr
s sr r+ −
3sr
Pasul 4:
� Dupa amplasare raman catevaprobleme� Unele zone de langa margini sunt
neacoperite� Avem nevoie de senzori intre
38
Obstacol
� Avem nevoie de senzori intreranduri pentru a mentineconectivitatea daca
� Conectivitatea regiunilorinvecinate trebuie mentinuta
3c sr r<
� Solutii� Amplaseaza senzori secvential
de-a lungul marginilorobstacolelor in zoneleneacoperite
Simulare� Zone de acoperire
39
Parametri de simulare� Patru perechi de valori (rs, rc) = (7,5), (5,5), (3.5,5), (2,5)
� Metrica de comparatie intre cele 4 cazuri
Numarul mediu de senzori folositi
, , 3 , 3s c s c s c s s cr r r r r r r r r> = < ≤ <
40
� Numarul mediu de senzori folositi
� Comparatie cu cele doua metode clasice de acoperire
rc
rc
Coverage-first Connectivity-first
Rezultate (rs vs. rc)
159
220
169
206
367
273 273 273
200
300
400
500
Number of Deployed Sensors Ours
Cov.-first
Conn.-first
193
275
201
253
470
328 340328
200
300
400
500
600
Number of Deployed Sensors Ours
Cov.-first
Conn.-first
178142
168
284
215 215 215
200
300
400
500
Number of Deployed Sensors
Ours
Cov.-first
Conn.-first
de
se
nzo
ri
de
se
nzo
ri
de
se
nzo
ri
41
227268
341
267315
500
360 361 386
0
100
200
300
400
500
600
700
800
Number of Deployed Sensors Ours
Cov.-first
Conn.-first
217254
323
253298
470
341341363
0
100
200
300
400
500
600
700
Number of Deployed Sensors Ours
Cov.-first
Conn.-first
141171
225
174
210
353
252 253 265
0
100
200
300
400
500
Number of Deployed Sensors Ours
Cov.-first
Conn.-first
126159169
0
100
200
Number of Deployed Sensors
148
193
0
100
200
Number of Deployed Sensors
111135142
168
0
100
200
Number of Deployed Sensors
Nu
ma
ruld
e
Nu
ma
ruld
e
Nu
ma
ruld
e
Nu
ma
ruld
e s
en
zori
Nu
ma
ruld
e s
en
zori
Nu
ma
rul
de
se
nzo
ri
WSN – Self-Healing
� Self-healing: WSN descopera, diagnosticheaza sireactioneaza la intreruperi in retea.
� Algoritmii de Self-healing pot detecta deficientele sau� Algoritmii de Self-healing pot detecta deficientele saudefectele din sistem si pot porni actiuni de recuperarea unui nod sau a intregii retele.
� Recuperarea automata a defectiunilor imbunatatestedisponibilitatea serviciului.
WSN – Algoritmi Self-healing� Forgiving Tree
� GS3
� SASHA
DASH� DASH
WSN – Forgiving Tree� Reteaua trece printr-o faza de initializare in care
fiecare nod v creeaza:
� Un Arbore de Reconstructie (SubRT(v)), care va inlocuinodul v atunci cand va fi eliminat din reteanodul v atunci cand va fi eliminat din retea
� Un nod delegat heir(v), ales din lista nodurilor fiu.
� Daca un nod sufera o cadere, rolul acestuia este preluatde catre mostenitorul delegat
WSN – Forgiving Tree
1. Retea cu opt noduri wireless distribuite aleator.2. La initializare, fiecare nod isi selecteaza un mostenitor din multimea nodurilor
direct vizibile3. Daca un nod parinte este eliminat, nodul mostenitor ii asuma rolul4. Daca un nod frunza sufera o defectiune, sarcinile lui sunt preluate de catre
nodul parinte
WSN - SASHA� Arhitectura self-healing hibrida inspirata de sistemul
imunitar uman.
� Roluri:� Roluri:
� Detectarea automata a erorilor sau a defectarii unui nod
� Monitorizare adaptativa a retelei. Reteaua evolueaza a.i. sa se adapteze la erori neprevazute.
� Coordonare . Entitatile din retea raspund coordonat la un atac.
WSN – Arhitectura SASHA
Sensing nodes: device-uri senzoriale de dimensiuni si consum redusMonitoring Nodes: fiecare nod de capacitate marita acopera o portiune din reteaLymph: emite scripturi-B care ruleaza pe nodurile monitor si are un rolsecundar de baza de date pentru atacuri si defecteThymus: coopereaza la descoperirea defectelor in reteaBase station: colecteaza datele de la senzori si furnizeaza strategia de recuperare in urma unui atac
WSN - DASHObiective:
� Dupa self-healing toate nodurile din retea ramanconectate.
� Evita pe cat posibil suprasolicitarea unui nod � Evita pe cat posibil suprasolicitarea unui nod (conexiuni si capacitate de calcul) dupa aplicareaalgoritmului de self-healing.
� Algoritmul este eficient prin prisma latentei de comunicatie si cresterii numarului de mesajediseminate in retea.
WSN - DASH� Asemanator cu Forgiving Tree
� Defectarea unui nod este detectata de toti veciniinodului respectiv.
� DASH conecteaza toti vecinii nodului respectiv intr-un � DASH conecteaza toti vecinii nodului respectiv intr-un arbore binar astfel incat nodurile cu numarul cel maimare de conexiuni sa fie noduri frunza.
� Nodurile mentin informatii despre aceasta reteavirtuala sub forma de arbore.
� Algoritmul incearca sa conecteze la reteaua principalaun numar minim de noduri (ideal unul singur) pentrua pastra la un nivel redus numarul de conexiuni/nod.
WSN – GS3� Nodurile din retea formeaza
o structura celulara hexagonala.� Structura se auto-repara
la aparitia diferitelor tipuri deperturbatii: alaturarea sau defectareaperturbatii: alaturarea sau defectareaunui nod din retea precum si miscarea acestuia in cadrul retelei.
� Informatiile despre retea sunt distribuite in toata reteaua si suntmentinute la nivel de celula. Astfel, un nod detine un set restransde informatii, doar cu privire la nodurile adiacente.
� Self-healing se face la nivel local; reteaua sufera un minim de perturbatii
� Pentru a executa algoritmii de self-healing este nevoie doar de coordonare locala, din partea celulei in care se afla nodul defect.
Concluzii� Proiectarea si executia unui WSN cu un numar mare
de noduri si care sa functioneze intr-un mediu “ostil” este o sarcina dificila si complexa.
� Sarcina devine si mai complicata daca se iau in calcul� Sarcina devine si mai complicata daca se iau in calculrestrictiile fizice ale nodurilor, in special cele de consum de energie sau latime de banda.
� Calea cea mai buna: algoritmi de auto-reparare si auto-configurare a retelei care sa mentina integritatearetelei in conditii de stress.