150
modelprovidessemanticsforasynchronouswork,itprovidesabasicmergefacilitywithwell-
definedsemantics,thusmeetingmergerequirement4.
Requirement5isthatchangeinformationshouldbeeasilyaccessibleforanarbitrarypor-
tionofadocument.Thisismetbythepropertiesoftheaddressingfunction,whichenables
thedeterminationofthesetofallchangesaffectingaparticularregion(orcontributingany
datatoitscontents).Thisinformationisalsoavailableforanyversionofthesequence.We
havealsoseenthatitispossibletocomparesub-sequencesofadocumentaseasilyaswhole
documents,thusprovidingfine-graineddiffinformationforarbitraryregionsofasequence.
Requirement6asksthatchangesbecommutative,inthesensethattheynothaveanin-
herentorderwithrespecttoeachother.Strictlyspeaking,thisistrue,sincePalimpsestop-
erationscanbeeitheractiveorinactive,andorderofarrivalisneveranissueincorrectly
interpretingachange.However,asnotedintherequirement,someorderingofmove
changesisunavoidable(eventhoughitisnottemporal).Inthemodel,Palimpsestmoveop-
erationsareorderedrelativetoeachotherbyanarbitrarypriorityfunction.Inpractice,that
functionismosteffectivelyimplementedbyusingtherelativepositionsoftherightend-
pointsofthesourceregionsoftheconflictingmoves.Despitethefactthatthisfunctionis
notatemporalordering,movesdonotcommutewhenoperationalprioritiesareinter-
changed,justastheywouldfailtocommuteinatraditionaltemporalordering.Therequire-
mentfortime-independenceismet,whichenablesthetransportandtimingindependenceof
Palimpsest-basedsystems,buttheattractivenotionoffullyre-combinablechangesisnot
met.
Requirement7isforsimple,quickconflicttests.Whileperformanceisanimplementation
issue,thetypesofinconsistencyinPalimpsestmodelsarefew:thereferencerelationmight
notbeacausalordering,ortheremightbetwochangeswiththesamedestination.Under
therestrictionsposedbychangesactuallybeingcreatedatparticulartimes,acausalorder-
ingfailurecanonlyoccurfortworeasons.Itcouldoccurbecauseofamissingchange,which
151
wouldleavesomechangescausallydisconnected;suchaproblemwillbedetectedonreceipt
ofthechangewhosedestinationismissing.Adestinationcollisioncouldoccurastheresult
ofamergeofchangescreatedatdisconnectedsites,butisalsoeasilydetectedatthetime
thattheconflictingchangeisaddedtothelocalchangestore.Allothercasesthatmightbe
interpretedasconflictshavePalimpsest-definedresolutions.Detectionisasimplematterof
checkingnewchangesforcollisionsorbadreferenceswhentheyarrive.
Requirement8asksforaguaranteeofsensibleresults.Thisisthelowestpriorityre-
quirementbecauseitisobviouslyimpossibletomeetfully.Asanyonewhohasevercollabo-
ratedonadocumentwouldagree,someconflictsarenotpossibleevenforahumantodisen-
tangle.ThePalimpsestoperationshavebeencarefullydesignedtointeractinthemostuseful
possiblefashion,butnomachine-generatedanswertoconcurrencyproblemswillbeperfect.
Sometasksremaintothehumansengagedinanycollaboration.
Inconclusion,Palimpsestmeetsalmostallofthegoalsgiveninchapterone.Wherea
goalisnotcompletelymet,Palimpsestprovidesfeaturesthatleastpartiallyaddressit.The
modelitselfisbasedonanewandthoroughanalysisofsequenceeditingandchangecon-
flictsincludingtheoperationsmoveandcopy,notpreviouslyconsidered.
8.2 Conclusion
TheoverallapproachofthePalimpsestmodelistoturnatrickyalgorithmicandsynchro-
nizationproblemintoacomplex,butnonethelessrelativelystandarddatastructureproblem.
Thisisaccomplishedbytransformingatemporalproblemintoanatemporalone.Thekeyis
torepresentcompletehistoriesinawaythatenablesalternatehistoriesandtheirresultsto
bereliablymanipulatedandexamined.Thistransformationhasseveralinterestingsideef-
fects.Itprovidesimmutablerepresentationsforoperationsonpotentiallyverydifferent
statesofasharedobject,anditprovidesaglobaladdressspacethatisrobustacrosschanges
intheobjectinquestion.
Previous Page Next Page