Operational transformation in real-time group editors

Outline

Basic concepts, issues, and challenges

Alternative approaches and algorithms
–
–
–
–
–

GROVE and dOPT algorithm
Jupiter algorithm
adOPTed algorithm
REDUCE and GOT algorithm
GOTO algorithm
Major achievements and future directions
copyright 1998 Chengzheng Sun
2
What is a real-time CE system ?

Real-time CE (Cooperative Editing)
systems allow multiple geographically
dispersed users to view and edit a
shared document at the same time.

Major technological components:
– Distributed computing
 Computer networks/Internet
– Interactive computing:
 Human-Computer interaction
– Collaborative computing
 Human-Human interaction
copyright 1998 Chengzheng Sun
3
One significant challenge
Consistency maintenance under the
following constraints:

High responsiveness:
– the response to local operations
is as short as a single-user editor

High concurrency:
– multiple users are allowed to edit
any parts of the document at any
time.

High communication latency:
– the Internet environment
copyright 1998 Chengzheng Sun
4
Operation dependence relationship

Causal ordering relation “”
among operations based on
Lamport’s “happen before”
relation.

Ob is dependent on Oa iff
Oa Ob

Oa and Ob are independent, i.e.,
Oa || Ob, iff neither OaOb,
nor Ob Oa.
O 2
O1
O3
O1  O3, O2  O3,O1||
O2
copyright 1998 Chengzheng Sun
5
Three inconsistency problems
O2
 Divergence
Final document contents
are different at all sites.
O1
O3
 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., O1|| O2
A non-serializable problem
copyright 1998 Chengzheng Sun
6
Traditional approaches
 Turn-taking:
– Avoid problems by prohibiting concurrency.
 Locking:
– Unable to solve any of the three problems.
 Serialization:
– Unsuitable for resolving intention violation.
 Causal
ordering:
– Unsuitable for resolving divergence, or intention
violation.
copyright 1998 Chengzheng Sun
7
Operational transformation: an innovation
Basic idea: an operation is transformed before its execution
against previously executed independent operations.
O
OT Algorithm
O’
Executed independent operations
Major properties:
•Causally ordered execution and good responsiveness
•Convergence and intention preservation
copyright 1998 Chengzheng Sun
8
GROVE an dOPT algorithm
Ellis et al. (MCC, SIGMOD’89).

Causally ordered execution based
on state vector timestamping.
O2

Log: a linear data structure for
saving executed operations.
T(O1,O2)

dOPT algorithm:
For 0  i < N
If
O || Log[i]
Then T(O, Log[i])

Transformation property:
O1
O3
T(O2,O1)
T(O1,O2)
For Oa || Ob
Let O’a =T(Oa, Ob), O’b =T(Ob, Oa)
Then Oa o O’b  Ob o O’a
copyright 1998 Chengzheng Sun
9
The dOPT puzzle: O2 || (O3
 O1)
At site 3 and 1
dOPT
O3
O2
O2
T
T
Log
[ O3,
O1]
O2’
O2 is context-equivalent to O 3
O1
At site 2
dOPT
O1
T
Log
[ O2,
O1’
O3’ ]
O1 is context-deferent from O 2
Site 3
Site 1
copyright
Site 1998
2 Chengzheng Sun
10
The Jupiter approach
Nichols et al (Xerox PARC, UIST95)
Initial state
(0, 0)
client
(1, 0)
Server
(2, 0)
server
(0, 1)
(0, 2)
(1, 1)
(2, 1)
(1, 2)
(2, 2)
Star-like communication topology
2-dimentional state space
copyright 1998 Chengzheng Sun
11
The dOPT puzzle in another form
O2 || (O3  O1)
O3
O3
O1
O2
O1
client
copyright 1998 Chengzheng Sun
server
12
Jupiter solution to the puzzle
Initial state
client
O3
(0, 0)
O3
O2
server
O2
(1, 0)
(0, 1)
O2’
O1
(2, 0)
O3’
(1, 1)
O1
O1’
O2’’
(2, 1)
2-dimentional state space
client
server
copyright 1998 Chengzheng Sun
13
The adOPTed approach
Ressel et al (U. of Stuttgart, CSCW96)
Transformation Property 2:
Transformation Property 1:
T(T(O, Ob), Oa’) = T(T(O, Oa), Ob’)
Oa  Ob’  Ob o Oa’
Oa’=T(Oa, Ob)
S1
T(O,Ob)
S3
T(Ob,O)
Oa’=T(Oa,Ob)
Ob
T(Oa,O)
Ob’=T(Ob,Oa)
Ob’=T(Ob,Oa)
Ob
O
S0
S2
T(O,Oa)
Oa
Oa
N-dimentional Interaction Model
copyright 1998 Chengzheng Sun
14
adOPTed solution to the puzzle
Path taken by site 3 and 1
O2’’=T(O2’, O1)
O3
O2
O1’=T(O1, O2’)
O1
O1
Path taken by site 2
O2’=T(O2, O3)
O3
O3’=T(O3, O2)
O2
Site 3
Site 1
copyright
Site 1998
2 Chengzheng Sun
15
The REDUCE approach
Sun et al (Griffith Uni. TOCHI 5(1), 98)
Oa
•Inclusion Transformation (IT)
+
Oa’
Ob
Oa
•Exclusion Transformation (ET):
_
Oa’
Ob
•Reversibility of IT and ET:
Oa
Oa’ _
+
Oa
Ob
O
•GOT using 1-dimentional HB:
HB
copyright 1998 Chengzheng Sun
GOT
O’
(IT/ET)
16
REDUCE solution to the puzzle
O2 || (O3  O1)
GOT
O3
O2
O1
_
O3
O1’
O1
_
HB
[ O2, O3’ ]
+
copyright 1998 Chengzheng Sun
+
17
An optimized algorithm: GOTO
Sun and Ellis (CSCW98)
GOTO
O2
O3
+
O1
[ O3,
O2’ ]
O1’
O1
+
_
transpose
HB
copyright 1998 Chengzheng Sun
[ O2,
O3’ ]
18
Major achievements (1)

Identification of three major
inconsistency problems:
– divergence,
– causality violation, and
– intention violation (nonserializable).

Definition of three consistency
properties:
– convergence,
– causality preservation, and
– intention preservation (most
challenging to achieve).
copyright 1998 Chengzheng Sun
19
Major achievements (2)

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 Sun
20
Major achievements (3)

Two types of applicationdependent OT functions:
– IT: used by all OT algorithms
– ET: used by OT algorithms based
on 1-dimensional data structures

Two transformation properties:
– TP1: required by all OT systems
– TP2: required by OT systems with
arbitrary communication topology.
copyright 1998 Chengzheng Sun
21
Future directions (1)
Formalization, verification, and optimization of OT algorithms.
copyright 1998 Chengzheng Sun
22
Future directions (2)
Experimental evaluation of OT-based systems from end-users’
perspective.
copyright 1998 Chengzheng Sun
23
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 Sun
24
copyright 1998 Chengzheng Sun
25