Konzeption und Implementierung eines Rahmenwerkes für adaptiv-dynamische Replikationsstrategien
Konzeption und Implementierung eines Rahmenwerkes für adaptiv-dynamische Replikationsstrategien
Ansprechpartner
Themengebiete
- Replikation
Hintergrund
Datenreplikation wird eingesetzt, um ein eventuelles Fehlschlagen von Zugriffen auf dringend benötigte Daten möglichst auszuschliessen (hohe Zugriffsverfügbarkeit), aber auch um die Zugriffszeiten auf diese Daten zu reduzieren. In der Abteilung wurde ein CORBA-basierter Prototyp zur konsistenten Datenreplikation erstellt, der zur Verwaltung replizierter WWW-Dokumente eingesetzt wird. Dieser Prototyp beinhaltet eine Komponente, die es erlaubt, beliebige, sogenannte statische Coterie-basierte Replikationsverfahren zu spezifizieren und damit Dokumente im WWW zu verwalten. Die Spezifikation einer gewünschten speziellen Repikationsstrategie wird durch Angabe eines azyklischenen Graphen (in Textform gemäss einer formalen Sprache) vorgenommen. Die Erweiterung dieser Komponente zur Erfassung und Verarbeitung einer weiteren Klasse von Coterie-basierten Replikationsstrategien wurde ebenfalls implementiert: die Erweiterung bezieht sich auf die sogenannten dynamischen Replikationsstrategien. Diese zeichnen sich in der Regel durch höhere Zugriffskosten auf der einen Seite und durch höhere Zugriffsverfügbarkeiten des replizierten WWW-Dokuments auf der anderen Seite aus. Beiden Ansätzen ist jedoch gemein, dass sie von einer zum Designzeitpunkt festen Anzahl bzw. Obergrenze von Replikaten ausgehen. Diese Vorgehensweise bietet einige Vorteile, hat jedoch auch den Nachteil, die Anzahl der Replikate nicht mehr erhöhen zu können, sollte dies durch das derzeite Benutzerprofil denoch eigentlich nötig sein. Abhilfe schaffen könnten hier Replikationsstrategien, die eine dynamische Anzahl von Replikaten unterstützen, also neben dem Lesen und Schreiben der replizierten Daten auch zwei Operationenen a la create_replica() bzw. delete_replica() besitzen, die ein weiteres Replikat zur Laufzeit konsistent anlegen bzw. zur Laufzeit konsistent löschen. Konsistent heisst in diesem Zusammenhang, dass die alle übrigen Operationen korrekt weiterarbeiten.
Aufgabenbeschreibung
Die Aufgabe, die im Rahmen der Arbeit gelöst werden soll, ist die Konzeption der Operationen create_replica() und delete_replica() für eine allgemeine Anwendung auf statische, quorenbasierte Replikationsstrategien und deren prototypische Implementierung in unseren oben beschriebenen Forschungsprototypen zur Verwaltung replizierter WWW-Dokumente. Mittels analytischer als auch experimenteller Untersuchungen soll der Nutzen bzw. der Aufwand der beiden Operationen auf die Laufzeitkosten einer Replikationsstrategie anschliessend aufgezeigt und qualitativ als auch quantitativ bewertet werden.
Vorkenntnisse
- Kenntnisse in C/C++ sowie im Bereich Betriebssysteme und verteilte Systeme sind wünschenswert