View
108
Download
0
Category
Preview:
Citation preview
Datenmanagement in Sensornetzen
PRESTO
- Feedback gesteuertes Datenmanagement -
SS 2007
Sören Wenzlaff
2
Übersicht PRE(dictive)STO(rage)
Teil 1: Aufbau von PRESTO
Teil 2: Umsetzung & Ergebnisse
Teil 3: Zusammenfassung
• Unterschiede zu bestehenden Ansätzen
• Skalierbarkeit
PRESTO – Sören Wenzlaff
3
Teil 1: Aufbau von PRESTO
• Anforderungen an ein Sensornetzwerk
• Idee von PRESTO
• Unterschiede zu bestehenden Ansätzen
• Komponenten & deren Aufgaben
PRESTO – Sören Wenzlaff
4
Anforderungen an Sensornetzwerke
• langlebig (effiziente Nutzung der Ressourcen)rechnen ~ speichern << kommunizieren
möglichst wenig Kommunikation der Sensorknoten
• schnelle Anfrage-Bearbeitunginteraktive Anwendungen: Antwortzeiten < 10 sek.
• fehlertolerantSensorknoten kaputt / nicht erreichbar / Batterie leer
• skalierbarje nach Anwendung 10 – 10.000 Knoten auf kleiner Fläche
PRESTO – Sören Wenzlaff
5
Ansatz 1: Sensor-zentriert
• Beispiel: Cougar
• Vorteile:
• Nachteile:
Proxy
Qu
ery
Dat
a
- hohe „Intelligenz“ der Sensorknoten
- Weiterleitung von Anfragen tief ins Sensornetz
+ effiziente Kommunikation nahe an Datenquelle
+ Antwort liefert genaue Daten
- sehr lange Antwortzeiten
- Sensorknoten senden häufig
PRESTO – Sören Wenzlaff
6
Ansatz 2: Proxy-zentriert
• Beispiel: BBQ
• Vorteile:
• Nachteile:
- Proxy beantwortet Anfragen direkt, solange das
- Sonst Anforderung der Daten aus Sensornetz
raum-zeitliche Modell ausreicht
+ im Schnitt schnelle Antwortzeiten
+ Komplexität im leistungsstarken Proxy
- kurze Abweichungen vom Modell können
- Energieeffizienz + Datengüte geht nicht
übersehen werden
Qu
ery
Dat
a
ModellProxy
PRESTO – Sören Wenzlaff
7
Ansatz 3: PRESTO
Idee:
Qu
ery
Dat
a
ModellProxy
Proxy beantwortet die meisten Anfragen direkt mit Modell (~BBQ)
Knoten senden nur bei besonderen Ereignissen
Genauigkeit der Daten ~ Cougar
einen Weg gespart zu „pull“ bei BBQ
PRESTO – Sören Wenzlaff
8
Was noch?
Speichern von Daten im Proxy & Sensorknoten für spätere Anfragen
Veränderungen der Umgebung führen zur:
- Anpassung des Modells im Proxy (viel Rechnen)
- Aktualisierung des Modells bei allen Sensorknoten
- kann für die Rekonstruktion von Ereignissen
(Einbruch, Ausbruch...) hilfreich sein
PRESTO – Sören Wenzlaff
9
Vorhersagemodell: SARIMA
Seasonal AutoRegressive Integrated Moving Average
• Einsatz in z.B. Wetter- und Börsenkursprognosen
• Vorhersage eines Wertes zum Zeitpunkt t
mit Wissen des aktuellen Trends (Tagestemp.)
zus. mit längerfristigen Tendenzen (Jahreszeit)
°C
Zeit
PRESTO – Sören Wenzlaff
10
Modell: Bestimmung & Test
• Bestimmung der Modellparameter aus Messreihen ist
• Aber: Einen Wert für Zeitpunkt t berechnen ist leicht - nur 3 Multiplikationen & 3 Additionen
aufwändig (früher aufwendig ;)
• Arbeitsteilung:
- Proxy bestimmt Modell und teilt es den Knoten mit
- Jeder Knoten kann leicht Prognosewerte berechnen
und mit gemessenem Wert vergleichen
• Also?
PRESTO – Sören Wenzlaff
11
Proxy: Aufgaben
Anfrage-Bearbeitung:
• statistisches Modell kann den Wert Xt aus
• ist Abweichung > geforderte Genauigkeit:
• Annahme: jede Anfrage fordert eine Genauigkeit
vergangenen Daten mit Konfidenz berechnen
Daten bei Sensorknoten anfordern
(Stichwort: model-driven pull bei BBQ)
PRESTO – Sören Wenzlaff
12
Proxy: Aufgaben II
Pflege Datenbasis & Modell:
• Jeder neue Wert
bewirkt die Interpolation aller zeitlich benachbarten Werte
berechnet für eine Anfrage
empfangen vom Knoten
• zyklische Adaption der Modell-Parameter und
Übermittlung an betroffene Sensorknoten
PRESTO – Sören Wenzlaff
13
Sensor: Aufgaben
Test und Speicherung der Messwerte:
• Für jeden gemessenen Wert Xt Modellwert Xt* berechnen
• wenn Xt - Xt* > Grenzwert
Messwert Xt an Proxy weiterleiten
• Speicherung aller Messwerte in lokalem Flash-Speicher
PRESTO – Sören Wenzlaff
14
Anfrage – Bearbeitung I
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
ProxyQuery Prozessor
Welche Knoten?Zeitpunkt d. Messung?
PRESTO – Sören Wenzlaff
15
Anfrage – Bearbeitung I
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
Proxy
Cache3
Modell3
Xt = f(t) = ... = 3 °C Abweichung < 5
PRESTO – Sören Wenzlaff
16
Anfrage – Bearbeitung I
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
Proxy
Modell3
Cache3
Speichern von Xtt = 3 = 3
im Cacheim Cache
PRESTO – Sören Wenzlaff
17
Anfrage – Bearbeitung I
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
Proxy
Antwort: Xtt = 3 = 3
PRESTO – Sören Wenzlaff
18
Anfrage – Bearbeitung II
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
ProxyQuery Prozessor
Welche Knoten?Zeitpunkt d. Messung?
PRESTO – Sören Wenzlaff
19
Anfrage – Bearbeitung II
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
Proxy
Cache3
Modell3
Xt = f(t) = ... = 10 °C Abweichung > 5
PRESTO – Sören Wenzlaff
20
Anfrage – Bearbeitung II
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
Proxy
Anforderung des exakten Werts Xt
*
Antwort: Xt* = 4 °C
PRESTO – Sören Wenzlaff
21
Anfrage – Bearbeitung II
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Qu
ery SELECT temp FROM Nodes
WHERE location = ``Lager`` AND time = NOWAND error < 5
Proxy
Antwort: Xtt = 4 = 4
PRESTO – Sören Wenzlaff
22
Anfrage – Bearbeitung II
Modell1
Cache1
Query Prozessor
Modell NAND
Sensor1
Modell NAND
Sensor2
Modell NAND
Sensor3
Modell3
Cache3
Modell2
Cache2
Proxy
Speichern von Xtt** = 4 = 4
im Cache und im Cache und Korrektur der Nachbar-Korrektur der Nachbar-werte von werte von Xtt
**
PRESTO – Sören Wenzlaff
23
Push & Interpolation
M1
C1
Query Prozessor
Modell NAND
Sensor3
Modell3
Cache3
Proxy
0
5
10
15
20
25
30
t = 1 t = 2 t = 3 t = 4
Messung
Modell
...
Push
: X4 =
18
0
5
10
15
20
25
30
Messung
Modell
Modell'
Interpolation
PRESTO – Sören Wenzlaff
24
Teil 2: Umsetzung & Ergebnisse
• PRESTO am Beispiel Temperatursensoren
• gemessene und simulierte Ergebnisse
PRESTO – Sören Wenzlaff
25
Hardware
• Proxy: Crossbow Stargate
- 400 MHz Intel Xscale® (auch in PDAs)
- Linux Kernel 2.4
- 64 MB RAM
- Preis: ca. 800 $
• Sensor: Crossbow TelosB Mote
- 8 MHz microcontroller mit 10 kB RAM
- TinyOS 1.1.14
- 1 MB Flash für Messwerte
- IEEE 802.15.4 (ZigBee)
- Preis: ca. 150 $
PRESTO – Sören Wenzlaff
26
Versuchsaufbau
Emulator
20 TelosB Motes
1 Stargate• Trainingsphase:
- Datenreihe Reservat
• Testphase:
- # Nachrichten
- Anfrage – Wartezeit
- Fehlerrate
PRESTO – Sören Wenzlaff
27
Vergleich PRESTO - BBQ
10
100
1000
10000
20 50 70 100
Anzahl der Nachrichten
Grenzwert
PRESTO
BBQ
Faktor 2-20 Energie-effizienter
wegen ger. Kommunikation
PRESTO – Sören Wenzlaff
28
Skalierbarkeit I
10
100
1000
0.5
Anfrage- Wartezeit
Anfragen/s
Durchschnitt
Maximal
0.25
1
1 2 4 8 16 32 64
schnell bis 4 Anfragen/s
Danach Pufferung im Proxy bis Überlauf
PRESTO – Sören Wenzlaff
29
Skalierbarkeit II
10
20
30
Anfrage- Wartezeit
# Sensorknoten40 80 100 120
Sende-/Empfangseinheit bricht zusammen
60
Anfragen werden zurückgewiesen
PRESTO – Sören Wenzlaff
30
Teil 3: Zusammenfassung
• model-driven push & adaptive feedback
• asynchrone Verteilung der Rechenlast
• schnelle Antwortzeiten & hohe Datengüte
PRESTO – Sören Wenzlaff
31
Noch da?
Danke für die Aufmerksamkeit!
PRESTO – Sören Wenzlaff
Recommended