56
Section 2.5. For permutational operations a range is subject only to duplication (copying
elsewhere) or deletion, while a point can only be affected by data being inserted at it
5
.
Point Range
Point
Conflict if equal; similar for all opera-
tions.
Range
Potential conflict when point in range;
varies by operation.
Potential conflict when regions overlap; var-
ies by operation.
etc.
T T T Ta a a ab b b b lll le e e e 3333....1111:::: SSSSttttrrrruuuuccccttttuuuurrrraaaallll ssssiiiittttuuuuaaaattttiiiioooonnnnssss tttthhhhaaaatttt mmmmaaaayyyy iiiinnnnddddiiiiccccaaaatttteeee aaaa ccccoooonnnnfffflllliiiicccctttt....
In all cases of interacting operations, a conflict is possible if the application’s semantics
require it, however, potential conflicts can be meaningfully grouped by structural configura-
tion, a number of which can be handled identically for all operations. For more extended
operation sets, applications must (in any case) be able to examine operation sets to look for
potential conflicts. The goal of Palimpsest’s operation model is to give well defined, logically
consistent, and practical results for as many cases as possible, so that applications are not
prevented from implementing whatever policies they require by adding restrictions on opera-
5
The other possible permutational operation is total replacement. However, this is not strictly
necessary, as we can model replacement as a coupled pair of deletion and insertion operations. Since
conflict detection is extensible (as required to support the full range of sensible application policies),
ignoring replacement will entail no loss of generality.
Section 2.5. For permutational operations a range is subject only to duplication (copying
elsewhere) or deletion, while a point can only be affected by data being inserted at it
5
.
Point Range
Point
Conflict if equal; similar for all opera-
tions.
Range
Potential conflict when point in range;
varies by operation.
Potential conflict when regions overlap; var-
ies by operation.
etc.
T T T Ta a a ab b b b lll le e e e 3333....1111:::: SSSSttttrrrruuuuccccttttuuuurrrraaaallll ssssiiiittttuuuuaaaattttiiiioooonnnnssss tttthhhhaaaatttt mmmmaaaayyyy iiiinnnnddddiiiiccccaaaatttteeee aaaa ccccoooonnnnfffflllliiiicccctttt....
In all cases of interacting operations, a conflict is possible if the application’s semantics
require it, however, potential conflicts can be meaningfully grouped by structural configura-
tion, a number of which can be handled identically for all operations. For more extended
operation sets, applications must (in any case) be able to examine operation sets to look for
potential conflicts. The goal of Palimpsest’s operation model is to give well defined, logically
consistent, and practical results for as many cases as possible, so that applications are not
prevented from implementing whatever policies they require by adding restrictions on opera-
5
The other possible permutational operation is total replacement. However, this is not strictly
necessary, as we can model replacement as a coupled pair of deletion and insertion operations. Since
conflict detection is extensible (as required to support the full range of sensible application policies),
ignoring replacement will entail no loss of generality.