Tree-based model algorithm for maintaining consistency in real-time collaborative editing systems
- C. Ignat, M. C. Norrie
Tree-based model algorithm for maintaining consistency in real-time - - PowerPoint PPT Presentation
Tree-based model algorithm for maintaining consistency in real-time collaborative editing systems C. Ignat, M. C. Norrie Institute for Information Systems Swiss Federal Institute of Technology (ETH) ETH-Zentrum, CH-8092 Zurich, Switzerland
Existing algorithms – linear representation of the
large number of transformations (low efficiency,
all operations “interfere” with each other
Existing algorithms – enforce syntactic consistency,
Example 1 (working at character level):
First user: inserts an “l”
Second user: deletes “Helo” and writes “Bye”
Example 2 (working at word level)
First user: deletes “go”, inserts “goes”
Second user: inserts “can”.
Supports a hierarchical structure of the
Allows working at any level of granularity
Pa 1 Document
… … …
Pa 2 Pa n Se 1.m Se 1.1
…
W 1.1.1 W 1.1.p C 1.1.1.1
…
C 1.1.1.q
… … …
Improves efficiency Step towards semantic consistency
… … Document Pa 1 Pa 2 Pa 3 Se 3.1 Se 3.2 W 3.1.1 W 3.1.2 C 3.1.2.1 “C” Document History Pa3 History Se 3.1 History W3.1.2 History … … … W 3.1.3 C 3.1.2.2 “A” C 3.1.2.3 “R”
History for
paragraph level History for
sentences in paragraph Pa3 History for operations
Se3.1 History for operations
W3.1.2
i
Composite operation - a structure of the form
level - granularity level, level , {1, 2, 3, 4} type - type of the operation, type , {Insertion, Deletion} position - vector of positions
position[i] = position for the ith granularity level, i , {1, ..., level}
content - a node, representing the content of the operation statevector - state vector of the generating site initiator –initiator site identifier
Example: cOp(2, Insertion, [3,1,x,x], sentence, statevector)
Pa 1 Pa 2 Pa 3 Se 3.1 Se 3.2 W 3.1.1 W 3.1.2 Document Document History Pa3 History Se 3.1 History W 3.1.3 “love” Word “love” “l” “o” “v” “e” Empty History
Pa 1 Pa 2 Pa 3 Se 3.1 Se 3.2 W 3.1.1 W 3.1.2 Document Document History Pa3 History Se 3.1 History W 3.1.3 New Pa 1 Pa 2 Pa4 Se 4.1 Se 4.2 W 4.1.1 W 4.1.2 Document Document History Pa4 History Se 4.1 History W 4.1.3 “love” New