Topologiekontrolle in Ad-hoc und Sensornetzwerken Alexander Manecke Institut für Informatik FU Berlin 15.06.2006 Einleitung • Was ist ein Ad-Hoc und Sensorsnetzwerk? • Welche Probleme haben Ad-Hoc und Sensornetzwerke? • begrenzte Ressourcen • Wie kann man diese Probleme lösen? • Topologiekontrolle Doch was ist Topologiekontrolle? Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 2 Definition: Topologiekontrolle • • • • Gegeben: Graph G={V,E} Gesucht: G‘={V,E‘E} so dass wir effizient Routen und Laufzeit des Netzwerks erhöht wird Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 3 Geforderte Eigenschaften an Algorithmen der Topologiekontrolle Eigenschaft/Problem Graphentheorie Zusammenhang Zusammenhang Symmetrie Symmetrie Interferenz z.B. Sparse Planarität Planarität Stretch Factors Stretch Factors Durchsatz ? Anpassbarkeit Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 4 Stretch factors • Energy Stretch Factor = max E u, v V E • Distance Stretch Factor • Hop Stretch Factor (u, v) ( u , v ) G G' Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 5 Beispiel: Energy Stretch Factor Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 6 Energie Stretch Factor Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 7 Energie Stretch Factor Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 8 Energy Stretch Factor u w v Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 9 Energy Stretch Factor w u Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke v 10 Energy Stretch Factor Aus 1 folgt: Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 11 Energy Stretch Factor Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 12 Stretch factors Analog Distance- und Hop Stretch Factor: Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 13 Verwendete Graphen • Kommunikationsgraph • Unit Disc Graph • • • • • Yao Graph Cone-Covering Graph Delaunay Triangulierung Gabriel Graph Relative Neighborhood Graph Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 14 Kommunikationsgraph, Unit Disc Graph Kommunikationsgraph: • beschreibt welche anderen Zwischenstationen jeweils erreichbar sind Unit Disc Graph: • u, v E u, v 1 Im Beispiel: • u ist zu v adjazent • w ist zu v adjazent • aber w ist nicht adjazent zu u Die folgenden Algorithmen werden immer eingeschränkt auf den Unit Disc Graph betrachtet. Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 15 Yao Graph • • • • Gegeben: Punktmenge Erzeuge für jeden Punkt k Kegel mit dem Winkel α<pi/3 Cuv := Kegel vom Knoten u in dem v liegt E {(u, v) | u, v V , w Cuv : d (u, w) d (u, v)} Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 16 Yao Graph • Gegeben: Punktmenge • Erzeuge für jeden Punkt k Kegel mit dem Winkel α<pi/3 • Cuv := Kegel vom Knoten u in dem v liegt E {(u, v) | u, v V , w Cuv : d (u, w) d (u, v)} Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 17 Yao Graph • Gegeben: Punktmenge • Erzeuge für jeden Punkt k Kegel mit dem Winkel α<pi/3 • Cuv := Kegel vom Knoten u in dem v liegt E {(u, v) | u, v V , w Cuv : d (u, w) d (u, v)} Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 18 Yao Graph • Gegeben: Punktmenge • Erzeuge für jeden Punkt k Kegel mit dem Winkel α<pi/3 • Cuv := Kegel vom Knoten u in dem v liegt E {(u, v) | u, v V , w Cuv : d (u, w) d (u, v)} Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 19 Yao Graph • Gegeben: Punktmenge • Erzeuge für jeden Punkt k Kegel mit dem Winkel α<pi/3 • Cuv := Kegel vom Knoten u in dem v liegt E {(u, v) | u, v V , w Cuv : d (u, w) d (u, v)} • Nur ungerichtete Kanten in den Yao Graph aufnehmen Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 20 Yao Graph • Gegeben: Punktmenge • Erzeuge für jeden Punkt k Kegel mit dem Winkel α<pi/3 • Cuv := Kegel vom Knoten u in dem v liegt E {(u, v) | u, v V , w Cuv : d (u, w) d (u, v)} • Nur ungerichtete Kanten in den Yao Graph aufnehmen Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 21 Cone Covering Graph • Gegeben: Punktmenge • Nachbarn von u: • alle zu u adjazenten Knoten im Unit Disc Graph Ordne Nachbarn nach ihrem Abstand zu u Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 22 Cone Covering Graph • Gegeben: Punktmenge • Nachbarn von u: • • alle zu u adjazenten Knoten im Unit Disc Graph Ordne Nachbarn nach ihrem Abstand zu u Prüfe, ob der Kegel bereits abgedeckt wird u v Bsp: v ist der nächste Nachbar zu u u betrachtet v als erstes Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 23 Cone Covering Graph • Gegeben: Punktmenge • Nachbarn von u: • • alle zu u adjazenten Knoten im unit disc graph Ordne Nachbarn nach ihrem Abstand zu u Prüfe, ob der Kegel bereits abgedeckt wird u α v Füge Kante ein, falls der Kegel von v noch nicht abgedeckt wird. Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 24 Cone Covering Graph • Gegeben: Punktmenge • Nachbarn von u: • • alle zu u adjazenten Knoten im Unit Disc Graph Ordne Nachbarn nach ihrem Abstand zu u Prüfe, ob der Kegel bereits abgedeckt wird u v α v u Füge Kante ein, falls der Kegel von v noch nicht abgedeckt wird. Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 25 Cone Covering Graph • Gegeben: Punktmenge • Nachbarn von u: • • alle zu u adjazenten Knoten im Unit Disc Graph Ordne Nachbarn nach ihrem Abstand zu u Prüfe, ob der Kegel bereits abgedeckt wird v u Kegel von v bereits abgedeckt, Kante nicht hinzunehmen Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 26 Cone Covering Graph • Gegeben: Punktmenge • Nachbarn von u: • • alle zu u adjazenten Knoten im Unit Disc Graph Ordne Nachbarn nach ihrem Abstand zu u Prüfe, ob der Kegel bereits abgedeckt wird • Definiere dazu: Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 27 Ergebnis für einen kompletten Graphen Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 28 Delaunay Triangulierung • Gegeben: Punktmenge • Prüfe, jede 3-elementige Teilmenge X von Knoten: • Kante einfügen: X erfüllt die Umkreisbedingung • Sonst: verwerfen • nicht lokal! Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 29 k-lokalisierte Delaunay Triangulierung • Gegeben: Punktmenge • Prüfe, für die k-Nachbarschaft von jedem Knoten: • Kante einfügen: X erfüllt die lokale Umkreisbedingung, d.h., kein anderer Knoten der k-Nachbarschaft liegt im Umkreis des berechneten Dreiecks • Sonst: verwerfen • Üblicherweise k=1 oder k=2 • ist lokal! Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 30 1-DT nicht planar • xyz und uvw erfüllen 1-DT Eigenschaft • nicht k-lokalisierte DT würde uwv verwerfen Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 31 Gabriel Graph • Kante, falls die Umkreisbedingung nicht verletzt wird Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 32 Relative Neighborhood Graph • Im Schnitt der Umkreise von je zwei Knoten darf kein anderer Knoten liegen: Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 33 Verwendete Graphen • Kommunikationsgraph • Unit Disc Graph • • • • • Yao Graph Cone-Covering Graph Delaunay Triangulierung Gabriel Graph Relative Neighborhood Graph Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 34 Lokale Algorithmen der Topologiekontrolle • Cone Based Topology Control (CBTC) • Delaunay Based Topology Control • Relative Neighbor Topology Control (XTC) Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 35 Was sind lokale Algorithmen? • Knoten kann auf Grund seiner Informationen • • • Entscheidung treffen Betrachtet höchstens seine Nachbarn Nachbarn sind adjazente Knoten im Unit Disc Graph Betrachten Algorithmen eingeschränkt auf den Unit Disc Graph • Gegenteil: zentraler Algorithmus • Ein Knoten trifft für alle Knoten die Entscheidung Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 36 Cone Based Topology Control • Jeder Knoten teilt Ebene in k Sektoren • Nächsten Nachbarn in jedem Sektor suchen • Nach und nach Sendestärke erhöhen • Keine Position nötig • Nur Richtung und Sendestärke Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 37 Delaunay Based Topology Control • Lokalisierte Delaunay Triangulierung • Grund: nur Nachbarn eines Knoten betrachten Im Beispiel: • ABC werden berechnet • BCD nicht • ABD nicht • ACD nicht B A D C • Weil D kennt nur C • Problem: Kante CD soll nicht verloren gehen Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 38 Delaunay Based Topology Control • • • • • Schaue Nachbarn an (Entfernung k im Unit Disc Graph) Berechne k-lokalisierte Delaunay Triangulierung Tausche Ergebnisse mit Nachbarn Wenn bestätigt, dann Kante einfügen Für 1-Zshg. Knoten Gabriel Graph Kante einfügen • Benötigt Position seiner Nachbarn! Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 39 Delaunay Based Topology Control • Für 1-Zshg. Knoten Gabriel Graph Kante einfügen: • Grund: Triangulierung nicht möglich • Aber: keine Informationsverlust, deshalb GG-Kante Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 40 Relative Neighbor Topology Control • • • • Ermittle Nachbarn von u Speicher Nachbarn aufsteigend nach Entfernung zu u Tausche Liste mit Nachbarn Prüfe Bedingung mit erhaltenen Listen • Bedingung: w u v Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 41 Relative Neighbor Topology Control • u , :v Ordnung der Nachbarschaft von u und v • Wie geht’s? Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 42 Relative Neighbor Topology Control A B D C NA:={C,B,D} NB:={D,C,A} NC:={A,B,D} ND:={B,C,A} NA(D)ND(A)={C,B} -> keine Kante von A nach D NB(D)ND(B)={} A NA(D): Teilmenge der Nachbarschaftsliste von A bis zum Element D B D C Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 43 Vielen Dank! Seminar über Algorithmen: Topologiekontrolle, Alexander Manecke 44