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
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
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
20
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