In dieser Arbeit betrachten wir Probleme im Bereich verteilter Systeme und lokaler Algorithmen. Wir betrachten verteilte Systeme, die gegeben sind durch bestimmte Topologien miteinander vernetzter Knoten, und stellen die Frage, ob solche Topologien wiederhergestellt werden können, wenn das Netzwerk durch den Ausfall oder Hinzukommen von Knoten oder Kanten verändert wird. Dabei sollen lokale verteilte Algorithmen entwickelt werden, die das Netzwerk von einer beliebigen schwach zusammenhängenden Starttopologie in eine Zieltopologie überführen. Diese Eigenschaft eines Algorithmus nennen wir topologische Selbststabilisierung. Motiviert wird diese Betrachtung durch die zunehmende Nutzung von Peer-to-Peer Systemen und von Cloud Dienstleistern, also Szenarien in denen das System aus Ressourcen besteht, für die Ausfälle nicht mehr kontrolliert werden können. Zur Analyse von topologisch selbststabilisierenden Algorithmen oder Protokollen führen wir geeignete Modelle ein. Wir präsentieren dann für einige bestimme Topologien mit welchen topologisch selbststabilisierenden Protokollen diese erreicht werden können. Wir betrachten dabei als einführendes Beispiel eine sortierte Liste von Knoten und fahren dann mit komplexeren Topologien wie einem Small-World Netzwerk und einem vollständigem Graphen fort. Als nächstes wenden wir die Idee von topologisch selbststabilisierenden Protokollen auf das Konzept von verteilten Hashtabellen an. Dabei zeigen wir, dass eine solche Lösung für bereits existierende verteilte Hashtabellen möglich ist und entwickeln dann eine weitere verteilte Hashtabelle, die heterogene Kapazitäten unterstützt. Zum Schluss betrachten wir, wie verteilte Hashtabellen erweitert werden können, sodass nicht nur exakte Suchanfragen sondern auch Suchanfragen nach ähnlichen Schlüsseln unterstützt werden.
|