Copyright 1998 Chengzheng Sun1 Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements Chengzheng Sun Charence (Skip)

Slides:



Advertisements
Similar presentations
ACM Group 2005 Conference Consistency Maintenance Based on the Mark & Retrace Technique in Groupware Systems Ning Gu, Jiang-Ming Yang and Qi-Wei Zhang.
Advertisements

DCV: A Causality Detection Approach for Large- scale Dynamic Collaboration Environments Jiang-Ming Yang Microsoft Research Asia Ning Gu, Qi-Wei Zhang,
Lock-Free Consistency Control for Web 2.0 Applications Jiang-Ming Yang, Hai-Xun Wang, Ning Gu, Yi-Ming Liu, Chun- Song Wang, Qi-Wei Zhang 25 April 2008.
Database Tuning Principles, Experiments and Troubleshooting Techniques Baseado nos slides do tutorial com o mesmo nome da autoria de: Dennis Shasha
Provenance-Aware Storage Systems Margo Seltzer April 29, 2005.
New Organisational Forms and CSCW (part 2) M. Baptista Nunes 14/03/2000.
Serializability in Multidatabases Ramon Lawrence Dept. of Computer Science
1 Integrity Ioan Despi Transactions: transaction concept, transaction state implementation of atomicity and durability concurrent executions serializability,
School of Information Technologies Hyungsoo Jung (presenter) Hyuck Han* Alan Fekete Uwe Röhm Serializable Snapshot Isolation for Replicated Databases in.
Cs4432concurrency control1 CS4432: Database Systems II Lecture #23 Concurrency Control Professor Elke A. Rundensteiner.
D u k e S y s t e m s Time, clocks, and consistency and the JMM Jeff Chase Duke University.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
0 General information Rate of acceptance 37% Papers from 15 Countries and 5 Geographical Areas –North America 5 –South America 2 –Europe 20 –Asia 2 –Australia.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Distributed Systems Fall 2009 Logical time, global states, and debugging.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
©Silberschatz, Korth and Sudarshan15.1Database System ConceptsTransactions Transaction Concept Transaction State Implementation of Atomicity and Durability.
Database Management Systems I Alex Coman, Winter 2006
An Optimization Problem in Adaptive Virtual Environments Ananth I. Sundararaj Manan Sanghi Jack R. Lange Peter A. Dinda Prescience Lab Department of Computer.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Clock Synchronization Physical clocks Clock synchronization algorithms –Cristian’s.
BACS 485—Database Management Concurrency Control Overview of Database Concurrency Control.
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Slide Systems of Linear Equations A system of linear equations consists two or more linear equations.
Mobile Databases: a Selection of Open Issues and Research Directions Authors: Rachid Guerraoui et al. Sources: SIGMOD Record, 33(2), pp.78-83, 2004 Adviser:
TEMPLATE DESIGN © GroupNotes: Encouraging Proactive Student Engagement in Lectures through Collaborative Note-taking on.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
On the Scale and Performance of Cooperative Web Proxy Caching University of Washington Alec Wolman, Geoff Voelker, Nitin Sharma, Neal Cardwell, Anna Karlin,
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
COLLABORATIVE TEXT EDITOR Multiple users distributed geographically can access the same document simultaneously. CHARACTERISTICS – high concurrency –
Glasgow 02/02/04 NN k networks for content-based image retrieval Daniel Heesch.
TRANSACTIONS. Objectives Transaction Concept Transaction State Concurrent Executions Serializability Recoverability Implementation of Isolation Transaction.
Transaction Lectured by, Jesmin Akhter, Assistant professor, IIT, JU.
CS370 Spring 2007 CS 370 Database Systems Lecture 1 Overview of Database Systems.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Chapter 6.5 Distributed File Systems Summary Junfei Wen Fall 2013.
©Silberschatz, Korth and Sudarshan15.1Database System Concepts Chapter 15: Transactions Transaction Concept Transaction State Implementation of Atomicity.
TOOL5100: CSCL Issues in CSCW and groupware A. Mørch, Issues in CSCW and Groupware: Anders Mørch TOOL 5100,
Fall 2002CS/PSY Computer Support Cooperative Work (CSCW) Facilitating work by more than one person Computer Supported Cooperative Work  Study of.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
Transactions and Concurrency Control. Concurrent Accesses to an Object Multiple threads Atomic operations Thread communication Fairness.
Topics Paths and Circuits (11.2) A B C D E F G.
Computing & Information Sciences Kansas State University Wednesday, 05 Nov 2008CIS 560: Database System Concepts Lecture 28 of 42 Wednesday, 05 November.
Chapter 14 Transactions Yonsei University 1 st Semester, 2015 Sanghyun Park.
Privacy Preserving Payments in Credit Networks By: Moreno-Sanchez et al from Saarland University Presented By: Cody Watson Some Slides Borrowed From NDSS’15.
A Convergent Solution to Tensor Subspace Learning.
©Silberschatz, Korth and Sudarshan14.1Database System Concepts - 6 th Edition Chapter 14: Transactions Transaction Concept Transaction State Concurrent.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 14: Transactions.
Optional and responsive locking in collaborative graphics editing systems By School of Computing and Information Technology Griffith University Brisbane,
CSE 486/586 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
Kalman Filter and Data Streaming Presented By :- Ankur Jain Department of Computer Science 7/21/03.
Web Development & Design Foundations with HTML5 7th Edition
How to Think about Today’s Readings
Semantic Concurrency Control for Real-Time Diagramming
Kevin Barnes dOPT Kevin Barnes
CSCW Facilitating work by more than one person
On the Scale and Performance of Cooperative Web Proxy Caching
Consistency in Distributed Systems
Fundamentals of Databases
Non-Distributed Excercises
Smart Content Delivery in Large Networks: En-Route Caching
Slides for Chapter 11: Time and Global State
C. Faloutsos Transactions
Game Programming Algorithms and Techniques
Presentation transcript:

copyright 1998 Chengzheng Sun1 Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements Chengzheng Sun Charence (Skip) Ellis School of Computing and IT Dept. of Computer Science Griffith University University of Colorado Brisbane, Queensland 4111 Boulder, CO Australia United States

copyright 1998 Chengzheng Sun2 Outline u u Basic concepts, issues, and challenges u u Alternative approaches and algorithms – –GROVE and dOPT algorithm – –Jupiter algorithm – –adOPTed algorithm – –REDUCE and GOT algorithm – –GOTO algorithm u u Major achievements and future directions

copyright 1998 Chengzheng Sun3 What is a real-time CE system ? u u Real-time CE (Cooperative Editing) systems allow multiple geographically dispersed users to view and edit a shared document at the same time. u u Major technological components: – –Distributed computing F F Computer networks/Internet – –Interactive computing: F F Human-Computer interaction – –Collaborative computing F F Human-Human interaction

copyright 1998 Chengzheng Sun4 One significant challenge Consistency maintenance under the following constraints: u u High responsiveness: – –the response to local operations is as short as a single-user editor u u High concurrency: – –multiple users are allowed to edit any parts of the document at any time. u u High communication latency: – –the Internet environment

copyright 1998 Chengzheng Sun5 Operation dependence relationship  Causal ordering relation “  ” among operations based on Lamport’s “happen before” relation.  O b is dependent on O a iff O a  O b  O a and O b are independent, i.e., O a || O b, iff neither O a  O b, nor O b  O a  O1  O3,  O2  O3  || O2 O 1 O 2 O 3

copyright 1998 Chengzheng Sun6 Three inconsistency problems u Divergence Final document contents are different at all sites.  Causality-violation Execution order is different from the cause-effect order. E.g., O1  O3  Intention-violation The actual effect is different from the intended effect. E.g.,  || O2 A non-serializable problem O1 O 2 O3

copyright 1998 Chengzheng Sun7 Traditional approaches u u Turn-taking: – –Avoid problems by prohibiting concurrency. u u Locking: – –Unable to solve any of the three problems. u u Serialization: – –Unsuitable for resolving intention violation. u u Causal ordering: – –Unsuitable for resolving divergence, or intention violation.

copyright 1998 Chengzheng Sun8 Operational transformation: an innovation Basic idea: an operation is transformed before its execution against previously executed independent operations. OT Algorithm O Executed independent operations O’ Major properties : Causally ordered execution and good responsiveness Convergence and intention preservation

copyright 1998 Chengzheng Sun9 GROVE an dOPT algorithm Ellis et al. (MCC, SIGMOD’89). u Log: a linear data structure for saving executed operations. u dOPT algorithm: For 0  i < N If O || Log[i] Then T(O, Log[i]) O1 O2 O3 T(O2,O1) T(O1,O2) u Causally ordered execution based on state vector timestamping.  Transformation property: For O a  || O b Let O’ a  O a  O b ), O’ b  O b  O a ) Then O a  o O’ b  O b o O’ a

copyright 1998 Chengzheng Sun10 The dOPT puzzle: O2 || (O3  O1) O2 O1 O3 Site 3 Site 1 Site 2 O1’ O1 [ O2, O3’ ] Log dOPT T At site 2 At site 3 and 1 O2’ O2 [ O3, O1] Log dOPT T T O2 is context-equivalent to O 3 O1 is context-deferent from O 2

copyright 1998 Chengzheng Sun11 The Jupiter approach Nichols et al (Xerox PARC, UIST95) Server Star-like communication topology (0, 0) (2, 0) (0, 1) (1, 0) (2, 2) (2, 1) (0, 2) (1, 1) (1, 2) server client Initial state 2-dimentional state space

copyright 1998 Chengzheng Sun12 The dOPT puzzle in another form O1 O3 O2 client server O1 O3 O2 || (O3  O1)

copyright 1998 Chengzheng Sun13 Jupiter solution to the puzzle (0, 0) (2, 0) (0, 1) (1, 0) server client Initial state 2-dimentional state space O1 O3 O2 client server O3 O2 (2, 1) O2’’ O1’ O1 O2’ (1, 1) O3’

copyright 1998 Chengzheng Sun14 The adOPTed approach Ressel et al (U. of Stuttgart, CSCW96) Transformation Property 2: T(T(O, Ob), Oa’) = T(T(O, Oa), Ob’) Transformation Property 1: Oa  Ob’  Ob o Oa’ O a Ob’=T(Ob,Oa) O O b Oa’=T(Oa,Ob) T(O,Ob) T(Ob,O) T(O,Oa) T(Oa,O) N-dimentional Interaction Model S0 S1 S2 Ob’=T(Ob,Oa) Oa’=T(Oa, Ob) S3 Oa Ob

copyright 1998 Chengzheng Sun15 adOPTed solution to the puzzle O2 O1 O3 O1 O 2 O3 O2’’=T(O2’, O1) O1’=T(O1, O2’) O3’=T(O3, O2) O2’=T(O2, O3) Path taken by site 3 and 1 Path taken by site 2 Site 3 Site 1 Site 2

copyright 1998 Chengzheng Sun16 The REDUCE approach Sun et al (Griffith Uni. TOCHI 5(1), 98) Inclusion Transformation (IT) Exclusion Transformation (ET): Reversibility of IT and ET: GOT using 1-dimentional HB: Oa Oa’ Ob + Oa Oa’ Ob _ Oa _ Oa’ Oa + Ob GOT (IT/ET) O HB O’

copyright 1998 Chengzheng Sun17 REDUCE solution to the puzzle O2 O2 || (O3  O1) O1 [ O2, O3’ ] O1’ + + HB GOT O1 O3 _ _

copyright 1998 Chengzheng Sun18 An optimized algorithm: GOTO Sun and Ellis (CSCW98) O1 [ O2, O3’ ] O1’ HB GOTO O1 O3 O2 + [ O3, O2’ ] _ transpose +

copyright 1998 Chengzheng Sun19 Major achievements (1) u u Identification of three major inconsistency problems: – –divergence, – –causality violation, and – –intention violation (non- serializable). u u Definition of three consistency properties: – – convergence, – –causality preservation, and – – intention preservation (most challenging to achieve).

copyright 1998 Chengzheng Sun20 Major achievements (2) u u Three types of generic OT algorithms : – –Based on a 1-dimensional history buffer: dOPT, GOT, GOTO – –Based on a 2-dimensional state space graph: Jupiter – –Based on an N-dimensional interaction graph: adOPTed

copyright 1998 Chengzheng Sun21 Major achievements (3) u u Two types of application- dependent OT functions: – –IT: used by all OT algorithms – –ET: used by OT algorithms based on 1-dimensional data structures u u Two transformation properties: – –TP1: required by all OT systems – –TP2: required by OT systems with arbitrary communication topology.

copyright 1998 Chengzheng Sun22 Future directions (1) Formalization, verification, and optimization of OT algorithms.

copyright 1998 Chengzheng Sun23 Future directions (2) Experimental evaluation of OT-based systems from end-users’ perspective.

copyright 1998 Chengzheng Sun24 Future directions (3) Generalization and application of the OT technology to other groupware and distributed systems, e.g: – –collaborative hypertext/graphics/image/multimedia editors – –collaborative CAD, CASE, and database applications – –Internet-based multi-player games

copyright 1998 Chengzheng Sun25