Das Ziel des Frameworks für Fehlertoleranz ist es, eine generische und
flexible Architektur bereitszustellen, mit der fehlertolerante verteilte
Anwendungen entwickelt werden können. Dabei wird es nahtlos in die
EDAS-Plattform integriert, und bietet
bedarfsgerechte Mechanismen, die entsprechend den Anforderungen der
Anwedung konfiguriert werden können.
Folglich ist das Ziel, dass die Fehlertoleranz-Mechanismen die dynamische Rekonfiguration
von verteilten Diensten durch Migration, Partitionierung oder Replikation
unterstützen. Darüberhinaus sollen die angebotenen Mechanismen selbst
anpassbar sein, zum Beispiel in Bezug auf Anzahl und Art der tolerierbaren
Fehler. Neben Ausfällen werden dabei auch Byzantinische Fehler in Teilen
des verteilten System behandelt. Dadurch kann unvorhergesehenes Fehlverhalten
der Hardware oder Software genauso wie gezielte Angriffe auf das System
toleriert werden.
Der Kern des Frameworks ist
AGC, eine fehlertolerante Gruppenkommunikationsschicht
die eine Instanz eines verteilten Einigungsalgorithmus verwendet, um eine
vollständig geordnete Kommunikation zu ermöglichen.
Die Gruppenkommunikationsschicht wird zur Implementierung von passiven und
aktiven Replikationsmechanismen eingesetzt. Bei byzantinischer Fehlertoleranz
wird nur aktive Replikation unterstützt.
Zur Vereinfachung der Anwendungsentwicklung wird der für replizierte Dienste
zusätztlich notwendige Code automatisch generiert. Der Dienst muss lediglich
eine generische Schnittstellle implementieren, die eine Zustandsübertragung
ermöglicht.