Results 1 - 10
of
373
Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System
- In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles
, 1995
"... Bayou is a replicated, weakly consistent storage system designed for a mobile computing environment that includes portable machines with less than ideal network connectivity. To maximize availability, users can read and write any accessible replica. Bayou's design has focused on supporting apph ..."
Abstract
-
Cited by 512 (16 self)
- Add to MetaCart
(Show Context)
Bayou is a replicated, weakly consistent storage system designed for a mobile computing environment that includes portable machines with less than ideal network connectivity. To maximize availability, users can read and write any accessible replica. Bayou's design has focused on supporting apphcation-specific mechanisms to detect and resolve the update conflicts that naturally arise in such a system, ensuring that replicas move towards eventual consistency, and defining a protocol by which the resolution of update conflicts stabilizes. It includes novel methods for conflict detection, called dependency checks, and per-write conflict resolution based on client-provided merge procedures. To guarantee eventual consistency, Bayou servers must be able to rollback the effects of previously executed writes and redo them according to a global senalization order. Furthermore, Bayou permits clients to observe the results of all writes received by a server, Including tentative writes whose conflicts have not been ultimately resolved. This paper presents the motivation for and design of these mechanisms and describes the experiences gained with an initial implementation of the system.
Optimistic replication
- ACM COMPUTING SURVEYS
, 2005
"... Data replication is a key technology in distributed data sharing systems, enabling higher availability and performance. This paper surveys optimistic replication algorithms that allow replica contents to diverge in the short term, in order to support concurrent work practices and to tolerate failure ..."
Abstract
-
Cited by 290 (19 self)
- Add to MetaCart
Data replication is a key technology in distributed data sharing systems, enabling higher availability and performance. This paper surveys optimistic replication algorithms that allow replica contents to diverge in the short term, in order to support concurrent work practices and to tolerate failures in low-quality communication links. The importance of such techniques is increasing as collaboration through wide-area and mobile networks becomes popular. Optimistic replication techniques are different from traditional “pessimistic” ones. Instead of synchronous replica coordination, an optimistic algorithm propagates changes in the background, discovers conflicts after they happen and reaches agreement on the final contents incrementally. We explore the solution space for optimistic replication algorithms. This paper identifies key challenges facing optimistic replication systems — ordering operations, detecting and resolving conflicts, propagating changes efficiently, and bounding replica divergence — and provides a comprehensive survey of techniques developed for addressing these challenges.
Real time groupware as a distributed system: Concurrency control and its effect on the interface
, 1994
"... This paper exposes the concurrency control problem in groupware when it is implemented as a distributed system. Traditional concurrency control methods cannot be applied directly to groupware because system interactions include people as well as computers. Methods, such as locking, serialization, an ..."
Abstract
-
Cited by 179 (9 self)
- Add to MetaCart
This paper exposes the concurrency control problem in groupware when it is implemented as a distributed system. Traditional concurrency control methods cannot be applied directly to groupware because system interactions include people as well as computers. Methods, such as locking, serialization, and their degree of optimism, are shown to have quite different impacts on the interface and how operations are displayed and perceived by group members. The paper considers both human and technical considerations that designers should ponder before choosing a particular concurrency control method. It also reviews our work-in-progress designing and implementing a library of concurrency schemes in GROUPIUT, a groupware toolkit.
SEPIA: A Cooperative Hypermedia Authoring Environment
, 1992
"... In this paper, we report about the design, development, and implementation of the SEPIA cooperative hypermedia authoring environment. It provides results on the following aspects of SEPIA: persistent and shared data storage, hypermedia data model with composites, sophisticated and comprehensive auth ..."
Abstract
-
Cited by 120 (24 self)
- Add to MetaCart
In this paper, we report about the design, development, and implementation of the SEPIA cooperative hypermedia authoring environment. It provides results on the following aspects of SEPIA: persistent and shared data storage, hypermedia data model with composites, sophisticated and comprehensive authoring functionality, support for a new rhetoric and for cooperative work. We start by identifying the challenge of hypermedia authoring and production which serves as the driving force for our development. Using interacting problem spaces as the vehicle for modelling the dynamic aspects of authoring, we arrive at a set of requirements answered by the concept of "activity spaces". The design of coherent hyperdocuments is facilitated by our "construction kit". Furthermore, we describe the extensions and modifications necessary to support multiple authors with the cooperative version of SEPIA. The central issue of the paper is the system architecture and its implementation. We describe the basi...
Achieving Convergence, Causality-preservation, and Intention-preservation in Real-time Cooperative Editing Systems
- ACM Transactions on Computer-Human Interaction
, 1998
"... ing with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works, requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept, ACM Inc., 1515 Broadway, New York, N ..."
Abstract
-
Cited by 109 (18 self)
- Add to MetaCart
(Show Context)
ing with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works, requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept, ACM Inc., 1515 Broadway, New York, NY 10036 USA, fax 1 (212) 869-0481, or permissions@acm.org. ACM Transactions on Computer-Human Interactions, Vol.5, No.1, March 1998, Pages 63-108. 2 \Delta Chengzheng Sun, et al. 1. INTRODUCTION Cooperative editing systems are very useful groupware tools in the rapidly expanding areas of CSCW (Computer-Supported Cooperative Work) [Ellis et al. 1991], They can be used to allow physically dispersed people to edit a shared textual document [Ellis and Gibbs 1989
An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors
, 1996
"... Concurrency control and group undo are important issues in the design of groupware, especially for interactive group editors. We present an improved version of an existing distributed algorithm for concurrency control that is based on operation transformations. Since the usability of the algorithm r ..."
Abstract
-
Cited by 100 (0 self)
- Add to MetaCart
Concurrency control and group undo are important issues in the design of groupware, especially for interactive group editors. We present an improved version of an existing distributed algorithm for concurrency control that is based on operation transformations. Since the usability of the algorithm relies on its formal correctness, we present a set of necessary and sufficient conditions to be satisfied in order to ensure consistency in a replicated architecture. We identify desirable properties of operation transformations and show how our approach can be employed to implement group undo. The approach has been applied to build a prototypical group editor for text; some experiences gained are presented. Keywords Concurrency Control, Group Editors, Group Undo, Groupware, Interaction Model, Operation Transformation. INTRODUCTION Groupware systems, i.e., multi-user applications for cooperative work [2, 5], present remarkable challenges for application designers. Concurrency control and ...
Transparency and awareness in a real-time groupware system, UIST ’92
- Proceedings of the 5th annual ACM symposium on User interface software and technology, ACM
, 1992
"... This article explores real-time groupware systems from the perspective of both the users and the designer. This exploration is carried out through the description of GroupDesign, a real-time multi-user drawing tool that we have developed. From the perspective of the users, we present a number of fun ..."
Abstract
-
Cited by 87 (5 self)
- Add to MetaCart
This article explores real-time groupware systems from the perspective of both the users and the designer. This exploration is carried out through the description of GroupDesign, a real-time multi-user drawing tool that we have developed. From the perspective of the users, we present a number of functionalities that we feel necessary in any real-time groupware system: Graphic & Audio Echo, Localization, Identification, Age, and History. From the perspective of the designer, we demonstrate the possibility of creating a multi-user application from a single-user one, and we introduce the notion of purely replicated architecture.
Flexible Collaboration Transparency: Supporting Worker Independence in Replicated Application-Sharing Systems
, 1998
"... This dissertation analyzes the usefulness of existing "conventional" collaboration-transparency systems, which permit the shared use of legacy, single-user applications. I find that conventional collaboration-transparency systems do not use network resources efficiently, and they impose an ..."
Abstract
-
Cited by 87 (5 self)
- Add to MetaCart
This dissertation analyzes the usefulness of existing "conventional" collaboration-transparency systems, which permit the shared use of legacy, single-user applications. I find that conventional collaboration-transparency systems do not use network resources efficiently, and they impose an inflexible, tightly coupled style of collaboration because they do not adequately support important groupware principles: concurrent work, relaxed WYSIWIS, group awareness, and inherently collaborative tasks. This dissertation proposes and explores solutions to those deficiencies. The primary goal of this work is to maintain the benefits of collaboration transparency while relieving some of its disadvantages. To that end, I present an alternate implementation approach that provides many features previously seen only in applications specifically designed to support cooperative work, called collaboration-aware applications. The new approach uses a replicated architecture, in which a copy of the application resides on each user's machine, and the users' input events are broadcast to each copy. I discuss solutions to certain key problems in replicated architectures, such as maintaining consistency, unanticipated sharing, supporting late-joiners, and replicating system resources (e.g., files, sockets, and random number generators). To enhance the collaborative usability of a legacy application, the new approach transparently replaces selected single-user interface objects with multi-user versions at runtime. There are four requirements of an application platform needed to implement this approach: process migration, run-time object replacement, dynamic binding, and the ability to intercept and introduce low-level user input events. As an instance of this approach, I describe its incorpor...
Network text editor (NTE): A scalable shared text editor for the MBone
- ACM SIGCOMM Computer Communication Review
, 1997
"... IP Multicast, Lightweight Sessions and Application Level Framing provide guidelines by which multimedia conferencing tools can be designed, but they do not provide specific solutions. In this paper, we use these design principles to guide the design of a multicast based shared editor, and examine th ..."
Abstract
-
Cited by 81 (2 self)
- Add to MetaCart
(Show Context)
IP Multicast, Lightweight Sessions and Application Level Framing provide guidelines by which multimedia conferencing tools can be designed, but they do not provide specific solutions. In this paper, we use these design principles to guide the design of a multicast based shared editor, and examine the consequencesof taking a loose consistency approach to achieve good performance in the face of network failures and losses. 1
SPORC: Group Collaboration using Untrusted Cloud Resources
- 9TH USENIX SYMPOSIUM ON OPERATING SYSTEMS SYSTEMS DESIGN AND IMPLEMENTATION (OSDI ’10)
, 2010
"... Cloud-based services are an attractive deployment model for user-facing applications like word processing and calendaring. Unlike desktop applications, cloud services allow multiple users to edit shared state concurrently and in real-time, while being scalable, highly available, and globally accessi ..."
Abstract
-
Cited by 80 (6 self)
- Add to MetaCart
(Show Context)
Cloud-based services are an attractive deployment model for user-facing applications like word processing and calendaring. Unlike desktop applications, cloud services allow multiple users to edit shared state concurrently and in real-time, while being scalable, highly available, and globally accessible. Unfortunately, these benefits come at the cost of fully trusting cloud providers with potentially sensitive and important data. To overcome this strict tradeoff, we present SPORC, a generic framework for building a wide variety of collaborative applications with untrusted servers. In SPORC, a server observes only encrypted data and cannot deviate from correct execution without being detected. SPORC allows concurrent, low-latency editing of shared state, permits disconnected operation, and supports dynamic access control even in the presence of concurrency. We demonstrate SPORC’s flexibility through two prototype applications: a causally-consistent key-value store and a browser-based collaborative text editor. Conceptually, SPORC illustrates the complementary benefits of operational transformation (OT) and fork* consistency. The former allows SPORC clients to execute concurrent operations without locking and to resolve any resulting conflicts automatically. The latter prevents a misbehaving server from equivocating about the order of operations unless it is willing to fork clients into disjoint sets. Notably, unlike previous systems, SPORC can automatically recover from such malicious forks by leveraging OT’s conflict resolution mechanism.