B 1

Werbung
Universität
Karlsruhe
Konzeption eines auf lokalen,
hierarchisch organisierten Ringen
basierenden Dienstsuche-Verfahrens
Studienarbeitsvortrag Erik Koop
Betreuer: Birgitta König-Ries, Michael Klein
Universität Karlsruhe
Institut für Programmstrukturen und Datenorganisation
DIANE Projekt
http://www.ipd.uni-karlsruhe.de/DIANE
1/20
Einführung
• Wie findet man bestimmte Dienste in einem Ad-hoc-Netz?
.PS
Brauche
Unbekanntes
Umwandlung
von
Dateiformat
PS -> PDF
Dateien:
[...]
SQL.PS
[...]
2/20
?
Angebotener Dienst
->
Lösungsvorschlag: lokale, hierarchisch organisierte Ringe
Idee
• Zusammenschluss von Diensten, die geographisch benachbart
und semantisch ähnlich sind, zu Ringen
• Zusammenschluss von Ringen zu Ringen höherer Ordnung
(World Ring) über SAPs (Service Access Points)
3/20
Semantische Ähnlichkeit durch eine Ontologie
• Gebrauch einer gemeinsamen Ontologie zur Dienstbeschreibung
und als Maß für semantische Nähe
• Annahme: Jedes Gerät liefert ein Dokument das als Blatt einer
Ontologie beschrieben werden kann
Datenbanken
Relationales Model
SQL
Rel. Algebra
Objektorientiertes Model
OQL
Zwei Dienste/Ringe sind semantisch ähnlich, wenn sie zu dem
selben ontologischen Ausdruck gehören
4/20
Struktur eines lokalen, logischen Ringes
• Jeder Ring hat genau einen
SAP
• Jeder Knoten bietet genau
einen Dienst an
• Jeder Knoten hat einen
Vorgänger und einen
Nachfolger
• Die Knoten müssen nur
auf logischer Ebene
benachbart sein
• Jeder Knoten „pflegt“
die Verbindung zu
seinen Nachbarn
5/20
Struktur eines lokalen, logischen Ringes
• Ein neuer Knoten
sucht zunächst Ringe
die sich in seiner
Funkreichweite befinden
• Unter den gefundenen
Ringen wählt er einen
aus dem er beitritt
• Das Diensteangebot der
so entstehenden Ringe
kann sehr heterogen sein
• Mit der Zeit werden
einigermaßen stabile
Ringe optimiert
6/20
Datenstruktur
•Information in jedem Knoten
- Ring ID
- Vorgänger, Nachfolger im Ring
- eigene Dienstbeschreibung
Dienstsuche
- Entfernungen (in #Hops) zu
„naheliegenden“ Knoten
RingOptimierung
• Zusätzliche Informationen im SAP
7/20
- Überblick über das gesamte
Dienstangebot im Ring
- Nachfolger und Vorgänger auf
höherer Ebene
Dienstsuche
- Alle gemessenen Entfernungen
im Ring
RingOptimierung
Probleme
Strukturelle Verschlechterungen durch Mobilität
–
Knoten bewegen sich
–
Die einstmaligen logischen Zuordnungen von
Vorgänger und Nachfolger werden dadurch
ineffizient
8/20
1.
Die Knoten innerhalb des Ringes haben sich bewegt, so
dass eine neue Reihenfolge der Knoten im Ring sinnvoll
ist (Neupositionierung)
2.
Ein Knoten hat sich soweit von seinem Ring entfernt,
dass die Kosten für den Verbleib in diesem Ring so groß
sind, dass eine Wechsel in einen anderen Ring sinnvoll
ist (Ringwechsel)
Probleme
Ringe werden zu groß
Wenn ein Ring zu viele Knoten aufnimmt, wird er zu groß
– Die Durchlaufzeit wird zu hoch
– Der Verwaltungsaufwand im SAP wird zu groß,
insbesondere wird die Dienstbeschreibung zu komplex
Wird ein Ring zu groß, muss er geteilt werden
– In möglichst semantisch gleiche Ringe
– Die neuen Ringe sollten eine bestimmte Mindestgröße
erreichen
9/20
Neupositionierung
• Knoten hören Nachrichten
Neue Ringstruktur
zu mit, die sie routen oder in
A – C – B – D - E Entfernung
ihrer Nachbarschaft gesendet
AIch
(2 höre
Hops)
Nachricht
A
->
B
B (1 Hop)
werden
A
• Aufgrund der Ring-ID im
Header erkennen sie
Nachrichten aus dem eigenen
Ring
B
C
E
D
B
Ich höre zu
Entfernung
Nachricht
A -> B
A (2 Hops)
B (1 Hop)
10/20
• Hört er den Knoten, der die
Nachricht sendet zum ersten
Mal, oder ist die Kombination
Absender -> Empfänger neu,
ermittelt er die Distanz zu
Absender und Empfänger
• Mit den neuen Distanzen
kann der SAP Knoten im Ring
neu positionieren
Neupositionierung
Hintergrund
• Die Distanzen, die die Knoten ermitteln werden an den SAP
gesendet
• Der SAP verwaltet eine Matrix mit allen gemessenen
Entfernungen und kann die Knoten gegebenenfalls neu
positionieren
11/20
A
B
C
D
E
A
-
1
-
-
-
B
1
-
1
-
-
C
-
1
-
1
-
D
-
-
1
-
1
E
2
-
-
1
-
A
B
C
E
D
Ringwechsel
• Nach demselben Prinzip können Knoten auch einen
Ringwechsel durchführen
• Indem sie auch Nachrichten überprüfen, die mit einer anderen
Ring-ID gesendet werden
Nein!
Nachrichten
Entfernung
Ich
Kann
empfange
ich invon
zu
Nachrichten
euren
A (1AHop)
Ringaus
eurem
wechseln?
E und
(1 Hop)
Ring
E
Ja!
A
B
Braucht ihr
mich noch?
C
E
12/20
D
Ringteilung
Ring zu groß
Teilungsaufruf
Ringausgleich
=2
Prüfung der
Teilung
Ungültige
Aufteilung
Anzahl der
geplanten
Ringe
Gültige Aufteilung
Vollzug der
Teilung
13/20
=1
Teilung durch
SAP
>2
Ringauflösung
Gültige Aufteilung:
Alle neue Ringe erreichen
die Mindestgröße
Ringteilung
• Ist ein Ring zu groß geworden, sendet sein SAP einen
Teilungsaufruf durch den Ring
• Jeder Teilnehmer kann in diesem Teilungsaufruf entweder
einen neuen Ring eröffnen oder dem Ring eines anderen
Teilnehmers beitreten
• Jeder Teilnehmer trägt zusätzlich eine Beschreibung seines
Dienstes ein
• Die darauffolgenden Teilnehmer orientieren sich anhand
dieser Beschreibung welchem Ring sie beitreten wollen
Teilungsaufruf
14/20
#1 #3 #6 #8 #2 #4 #5 #7
Ringteilung
Im idealen Fall haben die Knoten die
neuen Ringe so geplant, dass
– es mindestens 2 neue Ringe gibt
– alle Ringe hinreichend groß sind
Im ersten Fall einer fehlerhaften
Aufteilung (Ringauflösung)
– gibt es mehr als 2 neue Ringe
– nicht alle neuen Ringe sind
hinreichend groß
Im zweiten Fall einer fehlerhaften
Aufteilung (Ringausgleich)
– gibt es genau 2 neue Ringe
– einer der beiden Ringe ist zu klein
15/20
Ringteilung
Ringauflösung
Der Ringauflösungsaufruf enthält nur die beiden größten geplanten
Ringe
Ringauflösung
#2 #4 #7 #1 #3
Alle Knoten die jetzt ohne Ring sind schließen sich einem der beiden
Ringe an
Ringauflösung
16/20
#2 #4 #7 #8 #1 #3 #5 #6
Ringteilung
Ringausgleich
Der Ringausgleichsaufruf enthält den kleineren geplanten Ring
Ringausgleich
#2 #4
Alle Knoten die nicht in dem Ring enthalten sind überprüfen eine
entferntere Verwandtschaft mit dem kleineren Ring
Ringausgleich
#2 #4 #7 #8
Solange der kleine Ring die Mindestgröße noch nicht erreicht
hat, treten verwandte Knoten ihm bei
Teilung durch SAP
Wenn der Teilungsaufruf nur einen Ring produziert teilt der SAP den
Ring in zwei Ringe und ordnet die Knoten diesen Ringen zu
17/20
Implementierung
Implementierung des Ringteilungsalgorithmus unter
QualNet
QualNet ist ein Netzwerksimulator
- der auch Ad-hoc-Netzwerke simuliert
- für den eigene Protokolle implementiert
werden können
18/20
Fazit
Zusammenfassung:
Die Konzepte für
• Aufbau
• Optimierung
• Suche
für hierarchisch organisierte Ringe stehen
Die Implementierungen dafür sind zum Teil fertig
Was bleibt noch zu tun:
Fertigstellung der Implementierungen
Definition einer passenden Ontologie
19/20
Vielen Dank
Danke für ihre Aufmerksamkeit!
Mehr Informationen finden sie im Netz
http://www.ipd.uni-karlsruhe.de/DIANE
Irgendwelche Fragen?
20/20
Herunterladen