Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements


Published on

Presentation by Chengzheng Sun and Clarence (Skip) Ellis. Real-time CE (Cooperative Editing) systems allow multiple geographically dispersed users to view and edit a shared document at the same time. The Sun and Ellis presentation discusses the Major technological components of an Operational transformation System for CE, including: Distributed computing (Computer networks/Internet), Interactive computing (Human-Computer interaction), and, Collaborative computing (Human-Human interaction). Google established Operational Transformation as the heart and soul of the Collaborative Computing Age when they used the Operational Transformation as the Wave/Federation protocol. Florian Reuter pushed OT technology further when he developed OTXML, a flowing but very rich and complex document model for Collaborative Computing.

Published in: Technology
  • The authors of this presentation are Chengzheng Sun and Clarence (Skip) Ellis. Original Operational Transformation concept was presented in a 1995 white paper titled: 'Original Operational Transform and Jupiter Collaboration System', concept and research by DA Nichols and Pavel Curtis, of Xerox PARC, 1995. White papers concerning the Google Wave Federation Protocol can be found here:
    Are you sure you want to  Yes  No
    Your message goes here

Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements

  1. 1. 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 80309-0430 Australia United States [email_address]
  2. 2. Outline <ul><li>Basic concepts, issues, and challenges </li></ul><ul><li>Alternative approaches and algorithms </li></ul><ul><ul><li>GROVE and dOPT algorithm </li></ul></ul><ul><ul><li>Jupiter algorithm </li></ul></ul><ul><ul><li>adOPTed algorithm </li></ul></ul><ul><ul><li>REDUCE and GOT algorithm </li></ul></ul><ul><ul><li>GOTO algorithm </li></ul></ul><ul><li>Major achievements and future directions </li></ul>
  3. 3. What is a real-time CE system ? <ul><li>Real-time CE (Cooperative Editing) systems allow multiple geographically dispersed users to view and edit a shared document at the same time. </li></ul><ul><li>Major technological components: </li></ul><ul><ul><li>Distributed computing </li></ul></ul><ul><ul><ul><li>Computer networks/Internet </li></ul></ul></ul><ul><ul><li>Interactive computing: </li></ul></ul><ul><ul><ul><li>Human-Computer interaction </li></ul></ul></ul><ul><ul><li>Collaborative computing </li></ul></ul><ul><ul><ul><li>Human-Human interaction </li></ul></ul></ul>
  4. 4. One significant challenge <ul><li>Consistency maintenance under the following constraints: </li></ul><ul><li>High responsiveness: </li></ul><ul><ul><li>the response to local operations is as short as a single-user editor </li></ul></ul><ul><li>High concurrency: </li></ul><ul><ul><li>multiple users are allowed to edit any parts of the document at any time. </li></ul></ul><ul><li>High communication latency: </li></ul><ul><ul><li>the Internet environment </li></ul></ul>
  5. 5. Operation dependence relationship <ul><li>Causal ordering relation “  ” among operations based on Lamport’s “ happen before ” relation. </li></ul><ul><li>O b is dependent on O a iff O a  O b </li></ul><ul><li>O a and O b are independent, i.e., O a || O b , iff neither O a  O b, nor O b  O a  </li></ul><ul><li>O1  O3,  O2  O3  || O2  </li></ul>O 1 O 2 O 3
  6. 6. Three inconsistency problems <ul><li>Divergence Final document contents are different at all sites. </li></ul><ul><li>Causality-violation Execution order is different from the cause-effect order. E.g., O1  O3  </li></ul><ul><li>Intention-violation The actual effect is different from the intended effect . E.g.,  || O2 </li></ul><ul><li>A non-serializable problem </li></ul>O1 O 2 O3
  7. 7. Traditional approaches <ul><li>Turn-taking: </li></ul><ul><ul><li>Avoid problems by prohibiting concurrency. </li></ul></ul><ul><li>Locking: </li></ul><ul><ul><li>Unable to solve any of the three problems. </li></ul></ul><ul><li>Serialization: </li></ul><ul><ul><li>Unsuitable for resolving intention violation. </li></ul></ul><ul><li>Causal ordering: </li></ul><ul><ul><li>Unsuitable for resolving divergence, or intention violation. </li></ul></ul>
  8. 8. Operational transformation: an innovation <ul><li>Basic idea: an operation is transformed before its execution against previously executed independent operations. </li></ul><ul><li>Major properties : </li></ul><ul><ul><li>Causally ordered execution and good responsiveness </li></ul></ul><ul><ul><li>Convergence and intention preservation </li></ul></ul>OT Algorithm O Executed independent operations O’
  9. 9. GROVE an dOPT algorithm Ellis et al. (MCC, SIGMOD’89). <ul><li>Log: a linear data structure for saving executed operations. </li></ul><ul><li>dOPT algorithm: For 0  i < N If O || Log[i] Then T(O, Log[i]) </li></ul>O1 O2 O3 T(O2,O1) T(O1,O2) T(O1,O2) <ul><li>Causally ordered execution based on state vector timestamping. </li></ul><ul><li>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 </li></ul>
  10. 10. The dOPT puzzle: O2 || (O3  O1) O2 O2 is context-equivalent to O 3 O1 is context-deferent from O 2 O1 O3 Site 3 Site 1 Site 2 O1’ O1 [ O2, O3’ ] Log dOPT T At site 2 No At site 3 and 1 O2’ O2 [ O3, O1] Log dOPT T T Yes
  11. 11. 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
  12. 12. The dOPT puzzle in another form O2 || (O3  O1) O1 O3 O2 client server O1 O3
  13. 13. 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 O1 (2, 1) O2’’ O1’ O2’ (1, 1) O3’
  14. 14. 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) N -dimentional Interaction Model S0 S1 S2 Oa Ob T(O,Ob) T(Ob,O) T(O,Oa) T(Oa,O) Ob’=T(Ob,Oa) Oa’=T(Oa, Ob) S3
  15. 15. adOPTed solution to the puzzle O2 O1 O 2 O3 Path taken by site 3 and 1 Path taken by site 2 Site 3 Site 1 Site 2 O1 O3 O2’’=T(O2’, O1) O1’=T(O1, O2’) O3’=T(O3, O2) O2’=T(O2, O3)
  16. 16. The REDUCE approach Sun et al (Griffith Uni. TOCHI 5(1), 98) <ul><li>Inclusion Transformation ( IT ) </li></ul><ul><li>Exclusion Transformation ( ET ): </li></ul><ul><li>Reversibility of IT and ET : </li></ul><ul><li>GOT using 1 -dimentional HB: </li></ul>GOT (IT/ET) O HB O’ Oa Oa’ Ob + Oa Oa’ Ob _ Oa _ Oa’ Oa + Ob
  17. 17. REDUCE solution to the puzzle O2 O2 || (O3  O1) O1 [ O2, O3’ ] O1’ HB GOT + + O1 O3 O3 _ _
  18. 18. An optimized algorithm: GOTO Sun and Ellis (CSCW98) O1 [ O2, O3’ ] O1’ HB GOTO O2 O1 O3 + [ O3, O2’ ] _ transpose +
  19. 19. Major achievements (1) <ul><li>Identification of three major inconsistency problems: </li></ul><ul><ul><li>divergence, </li></ul></ul><ul><ul><li>causality violation, and </li></ul></ul><ul><ul><li>intention violation (non-serializable). </li></ul></ul><ul><li>Definition of three consistency properties: </li></ul><ul><ul><li>convergence, </li></ul></ul><ul><ul><li>causality preservation, and </li></ul></ul><ul><ul><li>intention preservation (most challenging to achieve). </li></ul></ul>
  20. 20. Major achievements (2) <ul><li>Three types of generic OT algorithms : </li></ul><ul><ul><li>Based on a 1 -dimensional history buffer: dOPT, GOT, GOTO </li></ul></ul><ul><ul><li>Based on a 2- dimensional state space graph: Jupiter </li></ul></ul><ul><ul><li>Based on an N -dimensional interaction graph: adOPTed </li></ul></ul>
  21. 21. Major achievements (3) <ul><li>Two types of application-dependent OT functions: </li></ul><ul><ul><li>IT : used by all OT algorithms </li></ul></ul><ul><ul><li>ET : used by OT algorithms based on 1 -dimensional data structures </li></ul></ul><ul><li>Two transformation properties: </li></ul><ul><ul><li>TP1 : required by all OT systems </li></ul></ul><ul><ul><li>TP2 : required by OT systems with arbitrary communication topology. </li></ul></ul>
  22. 22. Future directions (1) <ul><li>Formalization, verification, and optimization of OT algorithms. </li></ul>
  23. 23. Future directions (2) <ul><li>Experimental evaluation of OT-based systems from end-users’ perspective. </li></ul>
  24. 24. Future directions (3) <ul><li>Generalization and application of the OT technology to other groupware and distributed systems, e.g: </li></ul><ul><ul><li>collaborative hypertext/graphics/image/multimedia editors </li></ul></ul><ul><ul><li>collaborative CAD, CASE, and database applications </li></ul></ul><ul><ul><li>Internet-based multi-player games </li></ul></ul>
  25. 25. The End