Presentation on theme: "Copyright 1998 Chengzheng Sun1 Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements Chengzheng Sun Charence (Skip)"— 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 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