Clustering (hierarchische Algorithmen) Hauptseminar Kommunikation in drahtlosen Sensornetzen WS 2006/07 Benjamin Mies 1
Übersicht Clustering Allgemein Clustering in Sensornetzen Clusterheads Cluster basiertes Routing Clustering Algorithmen Zusammenfassung 2
Clustering Allgemein Definition: Beim Clustering geht es darum, eine chaotische verteilte Menge zu gruppieren Entstehende Gruppen werden als Cluster bezeichnet Vaterknoten einer Gruppe nennt man auch Clusterhead Die Struktur der Cluster wird fest vorgegeben oder zur Laufzeit bestimmt 3
Clustering Allgemein Verschiedene Arten: exklusives Clustering überlappendes Clustering Wahrscheinlichkeitstheoretisches Clustering Hierarchisches Clustering flache Hierarchie mehrstufige Hierarchie 4
Clustering in Sensornetzen Sensoren werden über einem Gebiet abgeworfen Daher kann man keine feste Netzwerkstruktur vorgeben Vorteile Energieverbrauch kann gesenkt werden Kommunikation über größere Distanz möglich Datenakkreditierung 5
Clusterheads Aufgaben Daten sammeln Daten zusammenfassen Datenübertragung (Routing) Organisation des Sleeping Schedule Gruppe kann über Clusterhead identifiziert werden 6
Clusterheads Clusterheads mit gleicher Hardware Neukonfiguration der Netzwerkstruktur zur Laufzeit Clusterheads mit spezieller Hardware schnellere CPU größerer Speicher größerer Energievorrat Dadurch ist keine Neukonfiguration mehr nötig 7
Cluster 8
Clusterbasiertes Routing komplette Kommunikation über Clusterhead für die Zeit einer Neukonfiguration ist keine Kommunikation möglich bei fester Netzwerkstruktur bricht die Kommunikation zusammen, sobald der Clusterhead keine Energie mehr hat 9
Algorithmen Übersicht Minimum Dominating Set Clustering Maximal Independent Set Clustering Low-Energy Adaptive Clustering Hierarchy Estrin et al Max-Min d-cluster Treecast 10
Minimum Dominatin Set Clustering Algorithmus Clusterhead wird durch die Wahrscheinlichkeit auf einem Kanal eine Nachricht zu senden bestimmt Sensoren lauschen direkt nach dem Aufwachen ob es einen Clusterhead in der Nachbarschaft gibt Nachricht empfangen -> Zugehörigkeit zu dieser Gruppe Keine Nachricht -> Konkurieren um Position als Clusterhead Die Wahrscheinlichkeit eine Nachricht zu senden erhöht sich jede Runde Wer nach Ablauf einer bestimmten Zeit keine Nachricht gesendet oder empfangen hat wird Clusterhead 11
Maximal Independent Set Clustering Algorithmus 1. Phase des Algorithmus Nach aufwachen lauschen auf allen Kanälen Empfangen einer Nachricht führt zum Neustart des Algorithmus Aus senden einer Nachricht auf Kanal 1 folgt der Eintritt in Phase 2 2. Phase des Algorithmus Bei jedem senden einer Nachricht auf Kanal 2 wird ein Zähler inkrementiert und mitgeschickt 12
Maximal Independent Set Clustering Algorithmus Bei empfangener Nachricht wird der Zähler mit dem eigenen verglichen. Wenn der empfangen ungefähr gleich oder größer dem eigenen ist, wird dieser auf Null gesetzt Erreicht der eigene Zähler einen bestimmten Grenzwert folgt Eintritt in Phase 3 3. Phase des Algorithmus Sensor wird in die unabhängige Menge aufgenommen Sendet Nachrichten auf Kanal 3 um seine Nachbarn in Kenntnis zu setzen Wartet auf Sensoren die sich dem Cluster anschließen 13
Low-Energy Adaptive Clustering Hierarchy Algorithmus Hoher Engergieverbrauch als Clusterhead wird auf alle Sensoren verteilt Advertisement Phase: Zufallszahl wird bestimmt Zufallszahl kleiner Schwellwert und Sensor in Menge G -> Sensor wird Clusterhead und aus Menge G entfernt Setup Phase: Neuer Clusterhead wartet Sensoren die sich dem Cluster anschließen Zuteilen von Zeitschlitzen zur Datenübertragung Sensoren schließen sich dem Clusterhead an, den sie mit niedrigstem Energieaufwand erreichen können 14
Low-Energy Adaptive Clustering Hierarchy Algorithmus Steady State Phase: Netzwerk ist jetzt fertig konfiguriert Sensoren sammeln Daten und kommunizieren über Clusterhead mit der Basisstation Nach vorbestimmter Zeit startet wieder Advertisement Phase Wenn jeder Sensor einmal Clusterhead war (Menge G leer) startet der Algorithmus von vorne 15
Low-Energy Adaptive Clustering Hierarchy Algorithmus 16
Estrin et al Algorithmus Sensoren sind in Stufen eingeteilt (starten in Stufe 0) Senden einer Nachricht mit ID, Vaterknoten und Energiereserven Danach Wartetimer welche proportional zum Radius ist Aktivieren eines Beförderungstimers Antiproportional zu Engergiestatus und empfangenen Nachricht Wenn der Timer abgelaufen, und noch kein Clusterhead in der Nachbarschaft ist wird der Sensor Clusterhead Senden einer Nachricht mit neuem Status Warten auf Sensoren die sich anschließen Danach wieder eine Wartetimer Nach Ablauf starten des Beförderungstimers für Stufe 2 17
Max-Min d-cluster Algorithmus Floodmax-Phase Eigene ID wird auf eine Liste gesetzt und an alle direkten Nachbarn gesendet Am Ende wird aus allen Listen die höchste ID ausgewählt und auf die eigene Liste gesetzt Liste an alle Nachbarn senden Floodmin-Phase Warten auf Antworten aus Floodmax-Phase Die kleinste ID wird auf die eigene Liste übernommen Liste an alle Nachbarn senden 18
Max-Min d-cluster Algorithmus Regeln zur Bestimmung der Clusterheads 1. Sensor wird Clusterführer wenn er seine Idee während der Floodmin-Phase erhalten hat 2.Falls ein Sensor seine Idee kein einziges mal in der Floodmin-Phase erhalten hat, schließt er sich dem Clusterhead an, welche in beiden Phasen auf der Liste stand 3.Wenn 2. zu keinem Ergebnis führt wird der Sensor mit der höchsten ID in der Floodmax-Phase zum Clusterhead 19
Treecast Algorithmus Sensoren werden in einer Baumstruktur gruppiert Jeder Sensor bekommt eine eindeutige Adresse in diesem Baum Adressen werden von einem Sensor zugewiesen, welcher auch für die gesamte Kommunikation verantwortlich ist Neukonfiguration des Netzwerks nur in Sonderfällen vorgesehen Ausfall eines Sensors mit Kindknoten Neuer Sensor im Netzwerk 20
Treecast Algorithmus 21
Zusammenfassung Vorteile von Clustern Überbrücken von größeren Strecken Datenaggregation Energie sparen durch wechselnde Clusterheads zuteilen von Sendezeiten Nachteile von Clustern Konfiguration benötigt auch Energie während Konfiguration keine Kommunikation möglich 22