Smeikal, R. (2004). Trading consistency for availability in a replicated System [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-11812
Verteilte Systeme sind heutezutage von großem Interesse und einer noch nie da gewesenen Wichtigkeit. Ihre Allgegenwart durchdringt viele Aspekte unseres täglichen Lebens, und das wiederum führt zu einem steigenden Bedürfnis nach Zuverlässigkeit solcher Systeme, bisweilen sehr kritisch wie in Systemen zur Flugsicherung oder zur öffentlichen Sicherheit. Es wird von solchen Systemen erwartet, auch in Gegenwart von Fehlern weiter korrekt zu funktionieren, und daher ist Fehlertoleranz als ein wichtiges Mittel zur Steigerung der Zuverlässigkeit von besonderem Interesse.<br />Es ist üblich, solche Systeme mit Hilfe verteilter Objekte zu bauen, deren Replikation die nötige Fehlertoleranz ermöglicht.<br />Weiters werden Datenintegritätsbedingungen auf diesen Objekten definiert. Da gleichzeitiger Zugriff durch verschiedene Benutzer eine Basisanforderung darstellt, muß auch für eine Isolation dieser Zugriffe gesorgt werden, die eine nachvollziehbare Systemsicht für den Benutzer bewirkt. Das System bietet all diese Funktionalität.<br />Diesbezüglich müssen drei Typen von Konsistenz analysiert, definiert und verglichen werden: Konsistenz der Replikation, die die Korrektheit der replizierten Daten definiert, Konsistenz der gleichzeitigen Zugriffe, die die Korrektheit der gleichzeitigen Zugriffe auf einen einzelnen Satz an Kopien definiert, und Konsistenz bezüglich der Integritätsbedingungen, die die Korrektheit des Systemzustandes unter Berücksichtigung der Integritätsbedingungen definiert.<br />Unter Anwendung dieser Überlegungen untersucht diese Arbeit einen sehr speziellen Aspekt fehlertoleranter verteilter Systeme: Die explizite gegenseitige Abhängigkeit von Verfügbarkeit und Konsistenz bezüglich der Integritätsbedingungen. Der Typ der Konsistenz der Replikation wird als Mittel verwendet, um diese gegenseitige Abhängigkeit zu konfigurieren. Wird das System mit dem Absturz von Knoten oder der Trennung des Netzwerkes in Teilbereiche konfrontiert, so wird eine geringere und kontrollierte Konsistenz bezüglich der Integritätsbedingungen akzeptiert, um höhere Verfügbarkeit zu erlangen. Weiters wird ein Model vorgestellt, das ein Ausnützen dieser gegenseitigen Anhängigkeit in einem verteilten System ermöglicht: Das "Fault-tolerant Naming Service" (FTNS). Die Schlüsselidee der zugehörigen Systemarchitektur ist es, asynchrone Replikation von bereits permanent gespeicherten Objekt-Zuständen zu betreiben, während auf den eigentlichen Objekt-Instanzen synchron gearbeitet wird. Im normalen Betrieb arbeitet das System wie ein konventionelles verteiltes System, während das Verteilen von permanent gespeicherten Objekt-Zuständen auf Fehlerszenarien vorbereitet.<br />Zusätzlich wird eine Implementierung des vorgestellten Konzepts präsentiert: Das "Distributed Telecommunication Management System" (DTMS). Dies ist eine objekt-orientierte, verteilte und hochverfügbare Software zur Steuerung von einem Telekommunikations-Netzwerk, das in der Flugsicherung Verwendung findet.<br />
de
Distributed systems are of unprecedented interest and importance today. Their omnipresence pervades many aspects of our daily lives leading to an increasing demand for dependability of such systems, sometimes very critically as in systems for air traffic control or public safety. As systems are expected to continue functioning even in the presence of failures, fault-tolerance as one means to enhance dependability is of particular interest.<br />It is common to build such systems using distributed objects, which are replicated to provide the redundancy necessary for fault-tolerance. Furthermore, data integrity rules called constraints are defined among them. As concurrent access from different clients is a basic requirement, the isolation necessary to offer a comprehensible view to clients has to be provided. The system takes care of all those functions.<br />In this regard, there are three types of consistency to be analyzed, defined, and compared: Replica consistency, which defines the correctness of replicated data, concurrency consistency, which defines the correctness of concurrent access to a single set of replicas, and constraint consistency, which defines the correctness of the system state with respect to the set of constraint conditions.<br />Deploying these considerations, this thesis examines a very specific aspect of fault-tolerant distributed systems: the explicit trade-off between availability and constraint consistency. The type of replica consistency is used as a means of configuring the trade-off between constraint consistency and replica availability. If the system faces site crashes or network partitions, less but well controlled constraint consistency is accepted to gain higher availability of objects. Furthermore, a model for enabling this trade-off within a distributed system is introduced, the fault-tolerant naming service (FTNS). The key idea of the respective system architecture is to use asynchronous replication of persistent object-states, while operating on objects synchronously. During normal operation the system is set up like a conventional distributed system, while propagating persistent object-states prepares for degraded scenarios.<br />Additionally, a proof of concept implementation is presented, the Distributed Telecommunication Management System (DTMS): It is an object-oriented, distributed and highly available software for managing a telecommunication network to be used in air traffic control.