61
Thissimplemodelofinsertionsanddeletionsistrivial,butstillhasagreatdealofpower
inexpandingthenumberofmergeandundopossibilitiesforsequenceediting.Itisalsosus-
ceptibleofverysimpleimplementation,simplybytreatingthetreeofinsertionsanddele-
tionsasadatastructure,thatcanbetraversedtoextractanydesiredversionondemand.
Comparingdifferentstatesisalsoeasy,sinceallchangesarerelatedtotheircontextofef-
fect,andastateisspecifiedintermsofitsconstituentchanges.Thesametraversalthatcan
generateaparticularstateofadocumentcanalsogenerateadetailedcomparisonoftwo
statesthatindicatestheexactoperationstakenduringtheeditingprocess.
3.3 Operationalconflicts
Inthissectionweshallexamineallpossibleoperation/operationconflictsandwhatkinds
ofresolutionarepossible.Wewillfirstexamineconflictresolutionintermsoflocalstruc-
turalconfigurations;manyrelativelyunproblematicquestionscanberesolvedpurelyin
theseterms.Then,wewillreconsidertheactualoperations,becausetherearealsomore
complexconflictswhichdependessentiallyontheoperationitself.Localconflictsituations
dependonlyontherelationsofspecificregionsofeffectforanoperation.Globalconflicts
willbeconsideredinSection,butareinstanceswhereanoperationalconflictexistseven
thoughthelocalconflictisofatypethatwouldnormallyhaveasensibleresolution.
Table3.2presentsagridarrangementofthefourtypesofPalimpsestoperation,with
notesastowhichlocalconflicttypestheycanrepresent.
62
T T T Ta a a ab b b b lll le e e e 3333....2222:::: Conflict matrix for Palimpsest operations
3.3.1 Point/pointconflicts(foralloperations)
Thisisthesimplestsortofconflict,sincetheoperations’effectsonpointsareallessen-
tiallyinterchangeable;alloperationsthataffectpointlocationsinsertdataatthem,sothis
conflictisthesameforanypairofoperations.Thereareessentiallythreepossiblesolutions
tomergingmultipleattemptstoinsertatthesameplace.
Disallowthecombination.Thisisthemostdrasticpossibility,andonethatwereserve
forapplication-specificpolicy.Ingeneral,thisoptionisavailableforallconflicts,andwe
assumethatanysystemusingPalimpsestoperationalsemanticswillallowapplicationsto
defineconditionstodetermineifaconflictshouldberegardedasthisdrasticaconsis-
tencyproblem.Ourgoalistodefinethebestpossibledefaultresolution,forapplications
thatdonotrequiresuchrigidconsistencyguarantees.Therefore,Iwillnotmentionthis
optionexplicitlyagainforanyoftheconflictcasesdiscussed.
Relaxthestrictorderingconditiononsequences.Thischangesthedefinitionofsequence
sothatapositioninthesequencecouldholdasetofvalues,ratherthanjustasingle
value.Userresolutionofsuchconflictswouldthenrequiresomeadditionaloperation
thatwouldallowtherelativeorderingoftwoidenticalpointstobespecified.Whilethis
Insert Delete Move Copy
Insert Point/Point
Delete Point/Range Range/Range
Move Point/Point
Point/Range
Point/Range
Range/Range
Point/Point
Point/Range
Range/Range
Copy Point/Point
Point/Range
Range/Range
Point/Point
Point/Range
Range/Range
Point/Point
Point/Range
Range/Range
Point/Point
Point/Range
Range/Range
Previous Page Next Page