SWISSQM S tephan Wagner Seminar Datenmanagement in Sensornetzen SS 2007, Prof. Ulf Leser, Dipl-Inf. Timo Mika Gläßer
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Eckpunkte SWISSQM Entwicklung im Rahmen des XTream Projektes an ETH Zürich SWISSQM = Scalable Wireless Sensor Network Query Machine auf Stack basierende integer VM ist Turingvollständig Unterstützung benutzerdefinierter Funktionen
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Motivation 1.Trennung der Sensoren vom externen Interface - Knoten sollen keine anwendungsspezifische Funktionalität beinhalten (z.B. Parsen) 2.Dynamische multi-user- und multi-programing- Umgebung 3.Effiziente Benutzung der Sensoren - Empfangen, Berechnen und Senden von Daten 4.Erweiterbarkeit - benutzerdefinierte Funktionen - Benutzung von higher data processing layers
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Anwendungsmöglichkeit: Der Vesuv letzter Ausbruch ereignete sich im Jahre 1944 gilt als gefährlichster Vulkan Europas es wird ein baldiger Ausbruch befürchtet (ca Jahre) am Fuß des Vulkans liegt die Stadt Neapel mit mehr als einer Million Menschen
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Beispiel SWISSQM: Sensorknoten Netzwerk von Sensorknoten am Vesuv Sensoren messen Tektonik und Hitze Zweck: Vorwarnung
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Netzwerktopologie: Koten Knoten sind in Baum angeordnet und senden Daten zum Gateway Unterstützt werden verschiedene Bäume und Adressierungen auf Sensoren läuft eine QM multi-hop routing (TinyOS)
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Netzwerktopologie: Gateway Gateway generiert Bytecodeprogramme Speichert Daten die Effizienz des Netzes beeinträchtigen würden du liefert diese bei Bedarf aus Interface zur Kontrolle der Knoten (reset, stop, Code senden usw.) Funktionsweise: - Gateway wandelt Benutzerquerys über virtuelle Querys in Netzwerk-Querys um (liegen in Bytecode vor)
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Beispiel SWISSQM: Gateway Netzwerktopologie: Koten SELECT parent, MAX(temp), MAX(uschall) WHERE temp > 400 AND beben > 5 FROM Sensoren GROUP BY parent SAMPLE PERIOD 5s Gateway übersetzt folgenden Querys in Bytecode Programme und sendet diese an Sensorknoten: 1.section delivery, 2 get_parent 3 istore 0 4 get_temp 5 istore 1 6 iload 1 7 ipushw if_icmpge 9 9 get_uschall 10 istore 2 11 iload 2 12 ipushb 5 13 if_icmpge iconst_2 15 Iconst_2 16 iconst_2 17 iconst_2 18 merge 19 send_sy section reception 22 iconst_2 23 iconst_2 24 iconst_2 25 iconst_2 26 merge
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM: Speicheraufbau SWISSQM und Benutzerprogramme sind im FLASH-Memory jedes Sensorknotens gespeichert SRAM speichert nichtbeständigen globalen Zustand von SWISSQM aus FLASH-Memory während des Bootens SWISSQM benötigt 3KB + 1KB für Stack für Programme werden 384 byte alloziert pro Programm: - 16byte Stack - 16byte Übertragungspuffer - 16byte * #Elemente Synopsis
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM: Virtuelle Maschine Virtuelle Maschine besteht aus: 1. Stack (beinhaltet Operanten und Befehle) 2. Übertragungspuffer (speichert Daten für Forwarding) 3. Synopsis ermöglicht Ausführung von Aggregationen 4. Sensoren 5. QM-Programme
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM: Querymaschine Bytcodeinterpreter Übertragungspuffer Stack Synopsis - raw mode: Array wird benutzt wie Übertragungspuffer - managed mode: ermöglicht Kombination von Daten des Übertragungspuffers und Synopsis - hat Tabellenstruktur
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Beispiel SWISSQM: QM parentMAX(temp)MAX(uschall) id 1wert 1 id 2wert id kwert k Synopsis 1.section delivery, 2 get_parent 3 istore 0 4 get_temp 5 istore 1 6 iload 1 7 ipushw if_icmpge 9 9 get_uschall 10 istore 2 11 iload 2 12 ipushb 5 13 if_icmpge iconst_2 15 Iconst_2 16 iconst_2 17 iconst_2 18 merge 19 send_sy section reception 22 iconst_2 23 iconst_2 24 iconst_2 25 iconst_2 26 merge
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM: Querymaschine QM Programm besteht aus 3 Sektionen: init section: wird nur beim Programmstart ausgeführt und initialisiert Synopsis delivery section: wird einmal pro Samplingperiode ausgeführt, tastet Sensoren ab, sammelt Daten, mergen mit localer Synopsis reception section: beinhaltet Daten vom Kindknoten, leitet Daten weiter 1.section init istore section delivery, 6 get_parent 7 istore 0 8 get_temp 9 istore 1 10 iload 1 11 iload 2 12 if_icmpge iconst_2 14 iconst_1 15 iconst_1 16 merge 17 send_sy section reception 20 iconst_2 21 iconst_1 22 iconst_1 23 merge
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM: Befehlssatz Befehlssatz ermöglicht: Manipulation, Logik, Arithmetik, Jumps und Kontrolle pro Befehl 1 byte -> 256 Befehle möglich Befehlssatz sind modular und dadurch leicht erweiterbar 7 verschiedene Sensorbefehle
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM: Merge-Befehl ermöglicht komplexe Berechnung trotz einfacher Bytecodebefehle merge-Syntax: merge(n,m,aggop 1,aggop 2,…,aggop m ) n = Anzahl der Gruppen m = Anzahl der Aggregationen aggop = Aggregation
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Beispiel SWISSQM: Beispielrechnung für 2. Knoten 0temp443 uschall9 1temp450 uschall8 2temp417 uschall8 3temp4154temp4105temp413 uschall temp401 uschall5 parentMAX(temp)MAX(uschall) parentMAX(temp)MAX(uschall) parenttempuschall merge GATEWAY
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks Beispiel SWISSQM: Synopsis für 0. Knoten parentMAX(temp)MAX(uschall) gateway4439 0temp443 uschall9 1temp450 uschall8 2temp417 uschall8 3temp4154temp4105temp413 uschall temp401 uschall5 GATEWAY
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM GATEWAY Evakuieren Abschalten
Timo Mika Gläßer & Ulf Leser - Data Management in Wireless Sensor Networks SWISSQM: Vor- und Nachteile VorteileNachteile hohes AbstraktionslevelBaumstruktur leichte ProgrammierungUpdates werden über jeden Knoten gesendet MultiprogramingAusfall eines Knotens führt zum Ausfall seiner Kindknoten Aktuallisierung der Knoten per Funk