Title: The Multiversion and Singledisplay Strategy in Undo Scheme
1The Multi-version and Single-display Strategy in
Undo Scheme
- Jiangming Yang
- Department of Computing and Information
TechnologyFudan University220 Handan Rd,
Shanghai 200433, P.R.China86 21 55664465
2CONTENT OUTLINE
- Introduction Motivation
- A generic Mark Retrace algorithm
- Achieve CCI model
- Intention violation puzzle
- Related works
- Conclusions
3CONTENT OUTLINE
- Introduction Motivation
- A generic Mark Retrace algorithm
- Achieve CCI model
- Intention violation puzzle
- Related works
- Conclusions
4INTRODUCTION
- Whats Group Editors?
- Group editors are one of the most commonly used
groupware applications ?. It allows multiple
users to participate in the editing and
modification of shared data objects, such as
word, graphics, and media documents, using a
computer network.
?C. A. Ellis and S. J. Gibbs. Concurrency control
in groupware systems. In Proceedings of the ACM
SIGMOD 1989, pages 399407, Portland Oregon, May
1989.
5INTRODUCTION
- Whats Group Editors?
- Techniques for building group editors have been
widely applied and practiced. Group editors have
also been acknowledged as powerful research
vehicles in exploring solution to consistency
problems.
6INTRODUCTION
- Whats undo operation?
- Undo is a common operation ?, which can help user
to quickly recover from the incorrect execution
in document editor system and make the work more
safe and efficient. - Why we need undo operation in group editors?
- The effect of incorrect execution will be more
extensive for it is done in distributed group
editors, so the user will have more dependence on
Undo
?G.D. Abowd and A.J. Dix. Giving undo attention.
Interacting with Computers, 4(3)317-342, 1992.
7MOTIVATION CHALLENGE
- Intention Maintenance
- The introduction of undo operation makes it more
necessary to do the intention maintenance in
group editors. - Other undo puzzles
- Executing undo operation together with insert
and delete will leads to some new puzzles.
8INTENTION MAINTENANCE
- Intention maintenance is becoming more urgent and
harder to avoid and it especially concentrates on
the concurrency intention-violation. - Illustrated as figure, user U1 wants to delete
a while user U2 want to reserve it. We cant
execute all the operations for they are violated. - We have to analyze the violated operations,
separate them into two or more operation lists
without internal violation and select a suitable
one to execute.
9CONTENT OUTLINE
- Introduction Motivation
- A generic Mark Retrace algorithm
- Achieve CCI model
- Intention violation puzzle
- Related works
- Conclusions
10ADDRESS SPACE TRANSFORMATION
- The operation's intention is achieved by
transforming the address space, rather than the
operation itself. - We shall re-trace the document's address space to
the state at the time of operations generation.
In this way, the operation can be executed
directly in this address space.
11A Mark Retrace FRAMEWORK
- Any document is a liner structure composed by
characters. Without loss of generality, assume
each character is indivisible and each operation
only aims at one character. - We save the operation together with its
timestamping to the characters liner node. - we have also added the visible/invisible mark
information on every liner structure of document,
which shows whether the current node is visible
or invisible.
12RETRACING PROCEDURE
- Scan all character nodes
- Set Counter0
- If a operation is effective
- Counter, when operation wants the node to be
ineffective. - Counter--, when operation wants the node to be
effective. - If the insert operation is effective and
counter0, set node effective, otherwise set node
ineffective.
13RETRACING PROCEDURE
- Delete and Undo operation toward Insert mean
want the node to be ineffective - Undo operation toward Delete means want the
node to be effective.
14CONTROL ALGORITHM
- The definition of operation position is obtained
by counting the number of effective character
nodes on the left side of linear structure at the
time of its generation. When the order of any two
character nodes is certain, Retracing(DocS, SVO)
ensures that the address space (effective
character nodes) of the current document's liner
structure is the same as the one at the time of
the operation's generation.
15RANGE-SCAN
- Given two character nodes CNa and CNb. The
attached operations are generated at site a and
site b, and are timestamped by SVa and SVb.
Consider - We have TOrder(CNa) lt TOrder(CNb), iff
- sum(SVa) lt sum(SVb)
- a lt b when sum(SVa) sum(SVb)
16RANGE-SCAN
- Scan all ineffective character nodes in the
insert range and save the insert position in
variable P. - When P is empty, a operation is causality before
the new operation, return this position. - When P is empty, a operation is concurrent with
the new operation and the TOrder is bigger, save
it in P. - When a operation is causality before P and the
TOrder is bigger then the new operation, empty
the P.
17CONTENT OUTLINE
- Introduction Motivation
- A generic Mark Retrace algorithm
- Achieve CCI model
- Intention violation puzzle
- Related works
- Conclusions
18CAUSALITY PRESERVATION
- To achieve causality preservation, we only need
to ensure that every remote operation is
causally-ready before its execution, which we
call execution condition. - It should be noted that even if causality is
preserved, the execution order of the operations
would still be different because of their
different orders of arrival at different sites.
19CONVERGENCE
- The Proof ?
- 2 operations
- Same Scan-Ranges
- Different Scan-Ranges
- n operations
?N. Gu, J. Yang, and Q. Zhang. Consistency
maintenance based on the mark retrace technique
in groupware systems. ACM GROUP 2005 Conference,
Sanibel Island, USA, Nov 2005.
20INTENTION PRESERVATION
- Since a Insert operation can find the correct
scan-range and a Delete operation can find its
corresponding character node at any sites and
they do not interfere with other operations,
those satisfy operations definition. - However, there are still some arguments about the
proof of achieving intention preservation, we
plan to present more about intentions formal
definition and the complete proof in the next
future.
21CONTENT OUTLINE
- Introduction Motivation
- A generic Mark Retrace algorithm
- Achieve CCI model
- Intention violation puzzle
- Related works
- Conclusions
22INTENTION VIOLATION PUZZLE
- When there are several Delete operations in the
algorithm, the character node is effective only
when all the Delete operations are undone,
otherwise it will keep ineffective. - When there exists intention violation, the
algorithm maintains the intention of users who
want character node to be ineffective
23INTENTION VIOLATION PUZZLE
- Separate Process
- Scan operations list toward two violation
operations. - Two operations set R1 and R2. operations
causality before O1 saved in R1 operations
causality befor O2 saved in R2 operations
concurrent with O1 and O2 saved in both R1 and R2.
24CONTENT OUTLINE
- Introduction Motivation
- A generic Mark Retrace algorithm
- Achieve CCI model
- Intention violation puzzle
- Related works
- Conclusions
25RELATED WORKS
- The initial concept of Mark Retrace was
proposed early in ?? ? but was not able to solve
the dOPT puzzle.
?X. Wu and N. GU. A concurrency control method
based on document marking. Journal of Computer
Research and Development, 39(12)16621667,
2002. ?H. He, Q. Wu, and L. Luo. Document
marking scheme for preserving intention of
operation in cooperative editing system. Journal
of Software, 10(2)160164, Feb 1999.
26RELATED WORKS
- dOPT, adOPTed and GOTO cannot fully satisfy TP2.
- NICE and SOCT3/4 is not able to resolve the
false-tie (ERV) puzzle. - GOT fail in the case of complicated false-tie
(ERV) scenarios. - Imine et al. tried to support TP2 by expanding IT
function but fails in solving dOPT puzzle. - A solution of false-tie (ERV) has been realized
in Co-Word system, it is still not published. - Li et al. also reported a solution and gave the
proof.
27RELATED WORKS
- Only REDUCE can maintain convergence in the
intention violation and obtain the effect of
Multi-version and Single-display strategy, but it
lacks related examining method and enough hints
to users.
28CONTENT OUTLINE
- Introduction Motivation
- A generic Mark Retrace algorithm
- Achieve CCI model
- Intention violation puzzle
- Related works
- Conclusions
29CONCLUTIONS
- In this paper we propose a strategy which can
maintain CCI model in fully replicated
architecture, which is different from OT. It does
not ensure the operations execution correctness
by modifying the operation but by Retracing
process. - Mark Retrace can not only achieve CCI model,
but can support any undo in replicated
architecture as well.
30Thank You!