Operational Transformation in Real-Time Group Editors : Issues, Algorithms, and Achievements Chengzheng Sun  Charence (Ski...
Outline <ul><li>Basic concepts,  issues, and challenges </li></ul><ul><li>Alternative approaches and algorithms </li></ul>...
What is a real-time CE system ? <ul><li>Real-time CE (Cooperative Editing)  systems allow multiple geographically disperse...
One significant challenge <ul><li>Consistency maintenance  under the following  constraints: </li></ul><ul><li>High respon...
Operation dependence relationship <ul><li>Causal ordering relation “  ” among operations  based on Lamport’s “ happen b...
Three inconsistency problems <ul><li>Divergence  Final document contents  are different at all sites.   </li></ul><ul><li>...
Traditional approaches <ul><li>Turn-taking:  </li></ul><ul><ul><li>Avoid problems by prohibiting concurrency. </li></ul></...
Operational transformation: an innovation <ul><li>Basic idea:  an operation is transformed before its execution against pr...
GROVE an dOPT algorithm   Ellis et al. (MCC, SIGMOD’89). <ul><li>Log: a linear data structure for saving executed operatio...
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 ...
The Jupiter approach Nichols et al (Xerox PARC, UIST95) Server Star-like communication topology (0, 0) (2, 0) (0, 1) (1, 0...
The dOPT puzzle in another form O2 || (O3     O1) O1 O3 O2 client server O1 O3
Jupiter solution to the puzzle (0, 0) (2, 0) (0, 1) (1, 0) server client Initial state 2-dimentional state space O1 O3 O2 ...
The adOPTed approach   Ressel et al (U. of Stuttgart, CSCW96) Transformation Property 2: T(T(O, Ob), Oa’)  = T(T(O, Oa), O...
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’...
The REDUCE approach  Sun et al (Griffith Uni. TOCHI 5(1), 98) <ul><li>Inclusion Transformation  ( IT ) </li></ul><ul><li>E...
REDUCE solution to the puzzle  O2 O2 || (O3     O1) O1 [ O2,  O3’ ] O1’ HB GOT + + O1 O3 O3 _ _
An optimized algorithm: GOTO Sun and Ellis (CSCW98) O1 [ O2,  O3’ ] O1’ HB GOTO O2 O1 O3 + [ O3,  O2’ ] _ transpose +
Major achievements (1)  <ul><li>Identification of  three major inconsistency problems: </li></ul><ul><ul><li>divergence, <...
Major  achievements (2)  <ul><li>Three types of  generic  OT algorithms :  </li></ul><ul><ul><li>Based on   a  1 -dimensio...
Major  achievements (3)  <ul><li>Two types of  application-dependent  OT functions: </li></ul><ul><ul><li>IT : used by all...
Future directions (1) <ul><li>Formalization, verification, and optimization of  OT algorithms.   </li></ul>
Future directions (2) <ul><li>Experimental evaluation of OT-based systems from  end-users’  perspective. </li></ul>
Future directions (3) <ul><li>Generalization and application of the OT technology  to other groupware and distributed syst...
The End
Upcoming SlideShare
Loading in...5
×

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

3,760

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
1 Comment
4 Likes
Statistics
Notes
  • 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: http://www.waveprotocol.org/whitepapers.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
3,760
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
100
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

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 C.Sun@cit.gu.edu.au [email_address] http://www.cit.gu.edu.au/~scz http://www.cs.colorado.edu/~skip/Home.html
  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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×