Options
1999
Doctoral Thesis
Titel
Transactional support for cooperative applications
Abstract
Eine Vielzahl von Tätigkeiten, die in heutigen Unternehmen anfallen, werden nicht mehr von Einzelpersonen bearbeitet, sondern gemeinsam in der Gruppe gelöst. Beispiele sind das gemeinsame Erstellen von Dokumenten, Designprozesse, Softwareentwicklung und unternehmensweite Geschäftsprozesse. Allerdings werden kooperative Abläufe von heutigen Anwendungsprogrammen nicht bzw. nur unzureichend unterstützt, so daß die Anwender selbst für einen korrekten Arbeitsablauf und die Konsistenz gemeinsam benutzter Dokument- und Informationsbestände verantwortlich sind. Die Erhaltung der Konsistenz von Daten bei gleichzeitigem Zugriff mehrerer Benutzer ist die klassische Aufgabe des Transaktionsmanagements in Datenbankverwaltungssystemen. Das traditionelle Transaktionsmodell basiert dabei auf der Annahme einer hohen Zahl relativ kurzer Transaktionen, die atomar und isoliert voneinander ablaufen. Kooperative Anwendungen haben allerdings stark abweichende Anforderungen an Transaktionsunterstützung. Ein kooperatives Transaktionsmodell muß strukturierte Arbeitsprozesse von langer Dauer unterstützen und dabei eine flexible, interaktive und konsistenzerhaltende Kooperation der Gruppenmitglieder auf gemeinsam genutzten Datenbeständen ermöglichen. In dieser Dissertation beschreiben wir ein neuartiges Transaktionsmodell (COACT), das Kooperation zwischen mehreren Benutzern ermöglicht, gleichzeitig aber transaktionsartige Ausführungsgarantien sowohl für die Arbeit der Gruppe als auch für die Arbeit des einzelnen Benutzers gibt. Ausgangspunkt der Dissertation ist eine umfassende Anforderungsanalyse verschiedener kooperativer Anwendungen. Das Spektrum reicht dabei von routinemäßiger Vorgangsbearbeitung bis zu unstrukturierten, kreativen Aufgaben, die stark interaktiv und kooperativ durchgeführt werden. Alle untersuchten Anwendungen sind durch abwechselnde Phasen individueller und gemeinsamer Arbeit gekennzeichnet. Um unabhängige Arbeit zu ermöglichen, wird im COACT Modell jedem Benutzer ein privater Arbeitsbereich zugeordnet. Zusätzlich existiert ein gemeinsamer Arbeitsbereich für die gesamte kooperative Aktivität, der allen Kooperationsteilnehmern zugänglich ist. Die Kooperation der Benutzer untereinander, d.h. der kontrollierte Austausch von Informationen zwischen den verschiedenen Arbeitsbereichen, wird durch spezielle Austauschprimitive ermöglicht. Zentraler Aspekt dabei ist die nahtlose Integration der Arbeitsergebnisse einzelner Benutzer in einem Arbeitsbereich. Dazu wird ein neuer leistungsfähiger Integrationsmechanismus entwickelt, das sogenannte History Merging Verfahren. Dieses ist in der Lage scheinbar bestehende Integrationskonflikte auf einer semantisch höheren Ebene aufzulösen. Hierbei verfolgt COACT einen operationsbasierten Ansatz. Alle in einem Arbeitsbereich ausgeführten Operationen werden in einer Historie des Arbeitsbereichs protokolliert. Der Austausch von Informationen zwischen Arbeitsbereichen erfolgt nicht durch den Austausch von Datenobjekten, sondern durch die erneute Ausführung ausgewählter Operationen im Zielarbeitsbereich. Die Datenkonsistenz wird dabei durch das History Merging Verfahren unter Ausnutzung der Semantik von Operationen sichergestellt. Dazu verwenden wir sowohl Vorwärts als auch Rückwärtskommutativitiät von Operationen in den Historien. Die Flexibilität unseres Ansatzes ergibt sich dabei aus der Berücksichtigung von Kommutativitätsrelationen zur dynamischen Bestimmung konsistenter Arbeitseinheiten, zur Erkennung und Auflösung von relevanten Konflikten bei der Integration von Arbeitsergebnissen und zur selektiven Kompensation von Operationen in Arbeitsbereichen. Formal betrachtet garantiert das History Merging Verfahren die Legalität von Operationen in den Historien der einzelnen Arbeitsbereiche. Eine Operation ist legal, falls ihr beobachtbares Verhalten ihrer funktionalen Spezifikation genügt. Das Korrektheitskriterium der Legalität garantiert die Konsistenz der Daten in den einzelnen Arbeitsbereichen, während die Isolations- und Atomaritätseigenschaft des traditionellen Transaktionsmodells gezielt abgeschwächt werden. Somit wird Kooperation zwischen parallel arbeitenden Kooperationspartnern ermöglicht. Neben der Unterstützung kooperativer Anwendungen ist das COACT Modell auch zur Datenverwaltung und Kooperationsunterstützung in mobilen Umgebungen geeignet. Die privaten Arbeitsbereiche ermöglichen es mobilen Benutzern, trotz Verbindungsunterbrechung zum stationären System weiterzuarbeiten. Zur korrekten Integration der während dieser Zeit erstellten Arbeitsergebnisse können wiederum auf dem History Merging Verfahren basierende Synchronisationsprimitive verwendet werden. Um die Anwendbarkeit der entwickelten Konzepte zu demonstrieren wurde das COACT Modell als Erweiterung des objektorientierten Datenbanksystems VODAK implementiert. Das auf VODAK aufbauenende Hypermedia-Autorensystem SEPIA wurde um die von COACT angebotenen Kooperationsmechanismen erweitert und mit zusätzlichen Koordinationsmechanismen integriert. Wir glauben, daß die Integration des kooperativen Transaktionsmodells COACT mit moderner Datenbanktechnologie die Konzeption und Realisierung kooperativer Anwendungen erheblich vereinfacht. Dabei reicht das Anwendungsgebiet der in dieser Arbeit entwickelten Konzepte über die untersuchten kooperativen Anwendungen hinaus. Mögliche Einsatzbereiche sind etwa die teilautomatisierte Kombination von Versionen in Repositorysystemen und die semantische Re-integration von Replikaten in mobilen und asynchron replizierten Umgebungen.
;
The rapid growth of the global information infrastructure opens new opportunities to perform joint work in areas such as cooperative authoring, distributed software development, and business workflows. Cooperative work on shared data requires computer support to coordinate the work of multiple users and to ensure the consistency of data processed within a cooperative application. Maintaining data consistency in multi-user systems is the classical problem of transaction management. The traditional transaction model addresses environments in which a large number of relatively short-lived transactions access a shared database. It is based on the fundamental properties of atomicity, consistency, isolation, and durability of transactions. However, this transaction model does not meet the requirements of cooperative applications. Isolation of transactions, as guaranteed by the ACID properties, contradicts the need to cooperate. Atomicity of transactions is too strict for interactive environments, where activities are of long duration. A cooperative transaction model needs to support the interactive execution of longrunning activities in which competition for resources, on which the locking protocols are based, is replaced by the need to cooperate. The emphasis, therefore, is not on preventing access to resources, but rather on the semantically correct exchange of information among concurrent activities of cooperating users. In this dissertation, we present a semantics-based cooperative transaction model, called COACT, that addresses the key features of cooperative applications, i.e., interactive user control, long-duration activities, and multiuser cooperation on shared persistent data. The concepts presented in this thesis are preceded by a thorough analysis of requirements derived from a broad spectrum of cooperative applications, ranging from cooperative hypermedia authoring to workflow applications. The COACT cooperative transaction model builds on the observation that cooperative work is characterized by alternating periods of individual and joint work. Therefore, COACT combines a workspace concept with a new synchronization mechanism, called history merging. To allow for individual work, we assign a private workspace to every user participating in a cooperative activity. Additionally, there is a common workspace accessible by all participants. To enable joint work, COACT provides a set of information exchange primitives that are all based on history merging. These primitives allow group members to exchange information among workspaces in order to combine their work into a coherent whole. To that end, we take an operation-oriented view in COACT. State transitions on workspaces are modeled as operations and are recorded in workspace histories. Information exchange among workspaces is realized by the exchange of operations among workspaces, instead of data objects. The consistency of common work results is determined on the basis of the semantics of operations performed in the workspaces. COACT utilizes both backward and forward commutativity relations for this. The flexibility of our approach is mainly achieved by its consideration of operations semantics for dynamically determining consistent units of work, for detecting and resolving conflicts during a merge, and for selective compensation of operations in workspaces. Merging histories with pre-specified commutativity relations provides transactional guarantees to a cooperative activity. In particular, we guarantee in COACT that all workspace histories remain legal. Using legality as correctness criterion, history merging relaxes the isolation and atomicity properties of the traditional transaction model, while ensuring consistency of the workspaces. History merging also provides a basis for management of consistency between disconnected or mobile users who operate independently and, yet, must occasionally reconcile their work with each other or with the stationary system. We show in this thesis how to adapt the COACT cooperative transaction model to the special characteristics of mobile environments in order to support disconnected operation mode. Besides the conceptual development of a formal transaction model, a proof-of-concept demonstrator has been implemented. We describe in this dissertation how the COACT cooperative transaction model has been implemented using an object-oriented database management system and how the new cooperation facilities can be integrated into a hypermedia authoring system. We believe that the integration of a cooperative transaction model like COACT with advanced database technology can ease the development and deployment of cooperative applications. Furthermore, history merging provides directions for solving open research problems, like semi-automatic merging of versions and re-integration support in mobile environments and asynchronous replication.
ThesisNote
Zugl.: Darmstadt, TU, Diss., 1999
Tags
-
kooperatives Transaktionsmodell
-
Computerunterstützte Gruppenarbeit
-
Datenkonsistenz
-
Datenbankverwaltungssystem
-
Kommutativitätsrelation
-
Datenverwaltung
-
Kooperation
-
Umgebung
-
cooperative transaction model
-
computer supported cooperative work
-
data consistency
-
database management system
-
operation semantic
-
commutativity relation
-
history merging
-
data management
-
cooperation
-
mobile computing