55
addressingschemeenablesthenotionofthelocationofdatawithinasequencetobealmost
completelydecoupledfromthestateofthesequenceatanapplicationinstance.Withinvari-
antaddresses,therepresentationofoperationsthemselvescanalsobeinvariant.Thisleads
toamoreflexibleandmodulararchitecturethatcantreatdatatransmissionandconflict
detectionandresolutioncompletelyindependently.Italsoallowsthesemanticsofopera-
tionalconflictstoberesolvedseparatelyfromtheissuesofdatatransmission,notification,
relativetimingofuseroperationsandsynchronization.
Themoreobviousproblemistheproblemofconflictingchanges.Changesmayconflict
whentheirscopescoincideinsomewayandthesemanticsoftheoperationmakethein-
tendedresultunclear.Asimplemotivatingexample(tobeexaminedfullyincontextinSec-
tion3.3)istheoverlappingofthesourceregionsoftwoseparatemovechanges.Theques-
tioniswheretoputtheregionoverlappedbybothchanges.Thereareseveralpossibilities:If
onechangeisgivenpriority,theeffectislikeatemporalordering,inwhichthehigherpri-
orityoperation“gottherefirst.”Ifneitheroperationweretobegivenpriority,thecommon
textwouldappearatthedestinationofeachchange(effectivelyduplicated),oratneither
(effectivelydeletingit).Whetheroverlappingscopescreateaconflict,thekindsofresolu-
tionsthatarepossibledependcriticallyonthesemanticsoftheoperationsinvolved,andthe
specificrelationshipsofthechanges’zonesofeffect.
Table3.1structurallyclassifiestypesofpotentialconflict.Thereareessentiallytwokinds
ofregionofeffectforachange:apointbetweentwoelementsofthesequence(atwhich
datamightbeinserted),orarangecoveringsomenumberofelementsofthesequence
(whosedatamightbereadbytheoperation,orwithinwhichthecontentsmightbe
changed).Thesestructuralconditionsmaycauseconflictsforanysetofoperations.Thefol-
lowingtablelistspossibilitiesforpermutationaloperations,accordingtothetaxonomyof
56
Section2.5.Forpermutationaloperationsarangeissubjectonlytoduplication(copying
elsewhere)ordeletion,whileapointcanonlybeaffectedbydatabeinginsertedatit
5
.
Point Range
Point
Conflictifequal;similarforallopera-
tions.
Range
Potentialconflictwhenpointinrange;
variesbyoperation.
Potentialconflictwhenregionsoverlap;var-
iesbyoperation.
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....
Inallcasesofinteractingoperations,aconflictispossibleiftheapplication’ssemantics
requireit,however,potentialconflictscanbemeaningfullygroupedbystructuralconfigura-
tion,anumberofwhichcanbehandledidenticallyforalloperations.Formoreextended
operationsets,applicationsmust(inanycase)beabletoexamineoperationsetstolookfor
potentialconflicts.ThegoalofPalimpsest’soperationmodelistogivewelldefined,logically
consistent,andpracticalresultsforasmanycasesaspossible,sothatapplicationsarenot
preventedfromimplementingwhateverpoliciestheyrequirebyaddingrestrictionsonopera-

5
Theotherpossiblepermutationaloperationistotalreplacement.However,thisisnotstrictly
necessary,aswecanmodelreplacementasacoupledpairofdeletionandinsertionoperations.Since
conflictdetectionisextensible(asrequiredtosupportthefullrangeofsensibleapplicationpolicies),
ignoringreplacementwillentailnolossofgenerality.
Previous Page Next Page