DIFS: A Distributed Index for Features in Sensor Networks
Seminar: Data Management in Wireless Sensor Networks
Sebastian Knebel
DIFS: A Distributed Index for Features in Sensor Networks 2
Gliederung
1. Einleitung
2. Events und Queries
3. Grundlagen und Voraussetzungen
3.1. GHT: A Geographic Hash Table
4. DIFS
4.1. Überblick
4.2. Design
4.3. Einfügen von Events
4.4. Queries für Events
4.5. Löschen von Events
DIFS: A Distributed Index for Features in Sensor Networks 3
Gliederung
5. Analyse und Bewertung
6. Verbesserungsansätze
DIFS: A Distributed Index for Features in Sensor Networks 4
1. Einleitung
1. Einleitung
DIFS: A Distributed Index for Features in Sensor Networks 5
1. Einleitung
Szenario: Beobachtung eines aktiven Vulkans
DIFS: A Distributed Index for Features in Sensor Networks 6
1. Einleitung
• Temperatur-
messung unter-
halb der
Oberfläche
• Sensorknoten
verteilt um den
Vulkan
DIFS: A Distributed Index for Features in Sensor Networks 7
1. Einleitung
• bekannt: Energieverbrauch wesentlich in Sensornetzwerken
• größter Verbrauch durch Übertragung und Empfang von Daten
• Zugriff auf große Mengen an gesammelten Daten:
– herkömmlich: Datenspeicherung in externem Punkt, außerhalb Sensorumgebung
Problem: viel Dynamik, bottleneck am Gateway
– besser: lokale Speicherung beim oder in der Nähe des Sensors
DIFS: A Distributed Index for Features in Sensor Networks 8
1. Einleitung
• Lösung: Daten lokal gespeichert, Queries über Knoten laufen lassen und Knoten antworten ggf.
• ein möglicher Ansatz zur Energieerhaltung mittels:
daten-centrischer Speicherung
• daten-zentrischer Speicherung (DCS):
– alle Events bekannt, an einem Punkt im Netzwerk basierend auf Namen gespeichert
– Queries werden zum dazugehörigen Knoten mit Daten bzw. Pointern geroutet
DIFS: A Distributed Index for Features in Sensor Networks 9
1. Einleitung
– unterstützt logische Zusammenführung Daten mit Queries, verhindert Überfluten
– Geographic Hash Table beschreibt spezielle Lösung zur Archivierung
– solange DCS recht generell, wird berichtet, wenn High-Level Event auftrat
– Problem: wenn Event aus mehreren Attributen besteht,
schwierig Werte abzugrenzen
Lösung: DCS erweitern, damit Queries bestimmt Reichweiten/Wertebereiche unterstützen
DIFS: A Distributed Index for Features in Sensor Networks 10
1. Einleitung
• DIFS:
– verteilter Index
– stellt für niedrige Such- und Speicherkommunikation Anforderungen bereit
– versucht Anforderungen über beteiligte Knoten zu balancieren
DIFS: A Distributed Index for Features in Sensor Networks 11
2. Events und Queries
DIFS: A Distributed Index for Features in Sensor Networks 12
2. Events und Queries
• High-Level Events:
– verschiedene Möglichkeiten der Kategorisierung,
hier vier mögliche vorgestellt:
Sensorwerte:
- grob
- umfasst High-Level Events, sowie zusammengesetzte Maßeinheiten (Durchschnitt, Median,...)
- Vulkanbsp.: Höchsttemperatur, Mengen austretender Gase, Stärke an Erschütterung,...
DIFS: A Distributed Index for Features in Sensor Networks 13
2. Events und Queries
Timing-Parameter:- meist nicht ausreichend, wie Wert aussieht, sondern der zeitliche VerlaufBsp.: Temperaturverläufe in einem Bereich des Vulkans
räumliche Dimensionen:- gemeint physikalische Form und Standort des Events- Bsp.: Regionen unterschiedlicher TemperaturenWo sind die „heißen“ Bereiche am Vulkan?Wo ist das Risiko eines Ausbruchs am größten?
DIFS: A Distributed Index for Features in Sensor Networks 14
2. Events und Queries
Beziehungen zwischen Events:– Beziehungen bestehen letztendlich zwischen Events– z.B. wird der Wertebereich in die Umgebung oder
Schnitt umgewandelt– Bsp.: Ein Gebiet mit Gas-Konzentration kann auch ein
Gebiet hoher Temperatur sein.
• oftmals auch Kombination• Queries durch einfache Komparatoren bewertet oder
durch komplexe Berechnungsfunktion nach Gewichtung generiert
DIFS: A Distributed Index for Features in Sensor Networks 15
3. Grundlagen und Voraussetzungen
DIFS: A Distributed Index for Features in Sensor Networks 16
3. Grundlagen und Voraussetzungen
DIFS: A Distributed Index for Features in Sensor Networks 17
3.1. GHT: A Geographic Hash Table
• liefert schlüssel-/wertbasierten, verteilten Index
• Events mit Schlüsseln benannt, Speicherung und Suche nutzen diese
• Schlüssel werden zu einer geographischen Position gehashed
• Geographisches Routing zur Bestimmung des Knotens in der Nähe der Position
• Knoten dienen dann als Rendevous-Punkt
DIFS: A Distributed Index for Features in Sensor Networks 18
3.1. GHT: A Geographic Hash Table
• Events mit gleichen Schlüsseln Vermeidung eines Schwerpunktes auf dem Rendevous-Punkt durch structured replication
• structured replication:– benutzt hierarchische Zerlegung des geographischen
Raumes– Event-Name wird zu einem geographischen Ort gehasht– Events werden nun in assoziierten Ort gespeichert in
der Nähe des Lokalisierungsortes
DIFS: A Distributed Index for Features in Sensor Networks 19
4. DIFS
DIFS: A Distributed Index for Features in Sensor Networks 20
4.1. Überblick
• DIFS erweitert GHT um effiziente Bereichs-Queries
• balancierte Last über Knoten bleibt erhalten
• Grund: Nutzung eines vielfach hierarchischen Index
• DIFS enthält hierarchische Strukturen wie structured replication und Histogramme
• dabei: Nichtwurzelknoten können verschiedene Eltern haben
• Knoten speichern Events für eine Reihe von Werten, die in bestimmten geographischen Region erfasst wurden
• Schlüsselidee: Einbeziehung Schlüsselwert, Name des Events, Standort des Erfassungsknotens
DIFS: A Distributed Index for Features in Sensor Networks 21
4.2. Design
• DIFS für folgende Ziele entwickelt:
– balancierte Suchlösungen auch bei gestiegenem Gesamtverkehr bei Nachrichten und Speicherung
– Suche von Daten mittels Name, Wertebereich, Standort sollen kommunikationseffizient und schnell sein
– effiziente Antworten-Queries für verteilte Daten
– sichere Transaktionen
DIFS: A Distributed Index for Features in Sensor Networks 22
4.2. Design
• geographischen Hash innerhalb eines hierarchisch zerlegten Schlüsselraumes
• konstruiert Suchhierarchie• jeder Kinderknoten hat num Eltern, wobei num = 2i, i >= 1
Je weiter die räumliche Ausdehnung ist, über die der Index-Knoten bescheid weiß, um so mehr hängt der Wertebereich von Abdeckung ab.
• Neu: Attribut Flussdichte, repräsentiert, wie oft ein Phänomen in einem bestimmten Zeitraum an einem bestimmten Ort auftritt
DIFS: A Distributed Index for Features in Sensor Networks 23
4.2. Design
• um Hierarchie aufzubauen, speichert Knoten Event-Vorinformationen in lokalen Index mit knappster räumlicher Überdeckung, aber größtem Wertebereich
• DIFS begrenzt Output der Hashfunktion auf ein Gebiet, das einen Knoten der Hierarchie abdeckt
DIFS: A Distributed Index for Features in Sensor Networks 24
4.2. Design
• Bounding Box:– geographisch begrenzte Hashfunktion mit
• Input: Standort, Schlüssel, Bounding Box• Output: Standort (innerhalb der Bounding Box)
– Partitionierung des Netzes:• Netzwerk rechteckig, in 4 gleichgroße Quadranten
unterteilt, dies wiederum jeweils in 4 Subquadranten usw.
• Zuerst Hash-Standort (xh, yh) generiert• Nutzung 2 separater Hashfunktionen um Output-x-
und y-Koordinaten zu generieren
DIFS: A Distributed Index for Features in Sensor Networks 25
4.2. Design
Länge l
Breite w
DIFS: A Distributed Index for Features in Sensor Networks 26
4.3. Einfügen von Events
• Berechnung des gehash-ten Standortes auf die verketteten Attribute und den Wertebereich
• Dimension der ersten Bounding Box ist die Minimumüberdeckungsregion des Indexknotens
Bsp: Netzwerk Länge l, Breite w, DIFS-Level h
Minimum-Bounding Box mit
Breite und Höhe h 1
l
2 h 1
w
2
DIFS: A Distributed Index for Features in Sensor Networks 27
4.3. Einfügen von Events
• Blatt leitet periodisch Informationen als Histogramm zu num Eltern
• jeder für 1 / num der Werte verantwortlich• Eltern haben jeweils vier Kinder• alle Knoten vier Kinder (außer Blätter), num Eltern (außer
Wurzel)• Beispiel - ein wiederholt starker Temperaturanstieg:
– Event bei Koordinaten (14, 37) und Flussdichte sei 57– erwartete Aufteilung der Flussdichte [0,255]– minimale Bounding Box-Breite 8 Einheiten– num = 2
DIFS: A Distributed Index for Features in Sensor Networks 28
4.3. Einfügen von Events
Level-0-Knoten (14,37)
Level-1-Knoten
Zählerwerte [0,127]
(0,32) – (16,47)
Level-2-Knoten
Zählerwerte [0,63]
(0,32) – (32,63)
usw.
Event(Temperaturanstieg) Koordinaten (14,37) und Wert 57
[0,255]
DIFS: A Distributed Index for Features in Sensor Networks 29
4.4. Queries für Events
• Queries über Wertebereich oder Verteilung beschrieben1) durch Wert:
– Vulkanologe interessiert an Flussdichtenbereich [47,68]– Querie zerlegt und übermittelt an die Knoten– Knoten behandeln diese wie folgt:
• wie bisher durch num Indexwertebereich reduziert• Beispiel:
– num = 4, quadratisches Netzwerk der Breite 128,minimale Indexüberdeckung der Breite 8,
DIFS: A Distributed Index for Features in Sensor Networks 30
4.4. Queries für Events
Wertebereich [0,255]
• Level-0-Knoten überdeckt 256 Werten über einer Breite von 8
• jeder Level-1-Knoten 64 Werte mit Breite 16
• jeder Level-2-Knoten 16 Werte mit Breite 32
• jeder Level-3-Knoten 4 Werte mit Breite 64
• jeder Level-4-Knoten 1 Wert mit Breite 128
DIFS: A Distributed Index for Features in Sensor Networks 31
4.4. Queries für Events
daraus ergibt sich minimaler Satz von Indexknoten, die exakt den Wertebereich überdecken
– Zerlegung wählt dann diese kleinste Anzahl
– durch Verwendung derselben Hashfunktion, wie bei Speichung, wird die Query bei diesen Indexknoten starten und sich zu jedem Event ausbreiten
DIFS: A Distributed Index for Features in Sensor Networks 32
4.4. Queries für Events
2) durch Verteilung:
– Queries auf der Verteilung der Daten aufwandsfrei ausführbar
– Bedingung: Jedes Histogramm beinhaltet totale Anzahl an Werten über und unter dem Histogrammbereich und Zähler für jeden
DIFS: A Distributed Index for Features in Sensor Networks 33
4.5. Löschen von Events
• Temperaturänderung ist unwichtig, Daten werden zu alt
• Blätterknoten kontrollieren das Einfügen, d.h. kommunizieren als einzige mit Speicherelementen
• Kontrollieren auch speicherinitierte Löschung von Indizes
• 2 Mechnismen vom Index aus:
– explicit deletion
– timeout
• explicit deletion erfordert einfach Entfernen der Pointer zum Speicherort der Events
DIFS: A Distributed Index for Features in Sensor Networks 34
4.5. Löschen von Events
• timeout deletion erfordert einen time stamp zu jedem Pointer
• Periodische Überprüfung des Zeitstempels und Löschung, wenn größer als system-definiertes Alter
• weitere Möglichkeit search-initiated
• Knoten leitet Löschnachricht für einen Wertebereich weiter
• Pointer für Wertebereich werden gelöscht und ein flag, damit der Bereich nicht wieder indiziert wird
DIFS: A Distributed Index for Features in Sensor Networks 35
5. Analyse und Bewertung
DIFS: A Distributed Index for Features in Sensor Networks 36
5. Analyse und Bewertung
• bedeutet höhere Speicherkommunikationskosten als bei nicht-indizierte Techniken
• nach der Registierung entstehen weitere Kosten
• gleichförmige Verteilung führt zu hohen Suchkosten, da Suche zu allen Blättern
• Queries mit beschränkten Suchkriterien führen zu Beschneidung der Äste in Suchbäumen => niedrigere Suchkosten
• bottleneck Auslastung größtenteils reduziert
DIFS: A Distributed Index for Features in Sensor Networks 37
5. Analyse und Bewertung
• bei kompletten Datenbereich keine bessere Leistung
• verbessert großbemessene Netzwerke durch Verwendung eines vielfach-gerooteten Baumes und der Balancierung des Kommunikations-Overhead über viele Knoten
DIFS: A Distributed Index for Features in Sensor Networks 38
6. Verbesserungsansätze
DIFS: A Distributed Index for Features in Sensor Networks 39
6. Verbesserungsansätze
• Toleranz bis zu einem bestimmten Grad an Datenverlust
• Indizierung mehrerer Attribute:
– verschiedene Indizes für jedes Attribut
– mehrere Attribute auf einen Index
– n-dimensionale Histogramme für n Attribute über einen Index verbreitet
– Verwendung einer Auswertung-/Schätzfunktion statt separater Attributbehandlung
produziert Ranking, das indiziert wird
DIFS: A Distributed Index for Features in Sensor Networks 40
6. Verbesserungsansätze
• Wie beeinflusst Indizierung von Teilen der Wertebereiche die Systemleistung?
• Suchkostenminimierung durch:
– Hierarchische Ausbreitung durch Unicasts zu steuern
– Routing zu den Knoten im höchsten Baum-Level, die Query Bereich vollständig abdecken, als Bereich zu zerlegen
Top Related