74
3.4.3 ThestructureofPalimpsestaddresses
Theaddresseswewillusearebasedontheassignmentofuniqueidentifierstoeach
change.Eachchangehasagloballyuniqueidentifier.Everyelementofasequenceisgiven
anidentifierconsistingofthenameoftheinsertionthatoriginallyinsertedit,augmented
withitspositioninthesubsequencecreatedbythatinsertionchange.Whenamoveorcopy
operationcreatesanewsubsequenceatadifferentpoint,newaddressesarecreated,pre-
fixedwiththeidentifierofthemoveorcopyoperation.Thesenewaddressesretainthesame
relativeorderwithrespecttoeachotherastheiroriginal,non-prefixedformsdo.Withre-
specttoallotheraddresses,theyareorderedasthedestinationofthemoveorcopyopera-
tion.
Thisaddressformatisquitesimple,andensuresthataddressesareinvariant,as,rather
thanbeingbasedonchangingoffsetswithrespecttosomeparticularstateofthesequence,
theydependonlyontheidentifiersofchanges,whichareinvariant.Thisturnsouttobea
usefulpropertywhenimplementingdistributedsystems,sincetheaddressesneededtorep-
resentanoperationdonotneedtobetransformedinordertoexecutethatoperation.The
invarianceoftheaddressesandtheoperationsrepresentedwiththemareinvariant.
Whileuniquenessofidentifierscanbehardtoensure,methodsforcreatinguniqueIds
arerelativelywellknown(CoulourisandDollimore1988).CryptographichashcodeslikeMD5
(Rivest1992)alsoallowindependentassignmentofuniqueidentifiersbasedonthecontents
ofadataobjectitself.ThemostbasicformofaddressinthesystemwillthechangeIDofan
insertionchange,plustheoffsetofaninsertionpointwithinthedatainsertedbythat
change.Theinitialstateofadocumentisdefinedbyaninitialinsertionoperation,which
unlikealltheotherinsertionsinadocument,doesnothaveanaddressidentifyingthein-
sertionpoint.
75
3.5 Merging
Usingserializabilitytoguaranteesimplehistoriescanbeexpensivetoenforceintermsof
systemresources,butmoreimportantly,itisexpensiveinitsimpactontheabilityofusers
tomaintainaneffectiveworkflowwithoutbeingblocked.Therefore,avarietyof“merge”
toolshavebeendeveloped(GoldsteinandBobrow1984;Tichy1985;Neuwirth,Chandhoket
al.1992;MunsonandDewan1994;ZellerandSnelting1995).Thesetoolshavethebasictask
ofreconcilingapairofeditinghistoriestocreateasingleresultanthistory.Sometimesthe
operationsinahistoryaretheresultofadifferencingprocessthatcalculatesthechanges
betweenonestateandanother.
Mostmergetoolshaveadoptedasimplemodelofthebasicoperationsonasequence.The
operationsofinsertionanddeletionsufficetoexpressallpossibletransformationsfromone
sequencetoanothersequence,andalsocorrespondtotheeditinghistoriesconstructedby
mostdifference-findingtools.Onlyaveryfewsystemscandetectoperationsthatmovetext,
eventhoughmosteditingsystemsprovidesuchoperations,andmostusersrelyheavilyon
suchoperations.Recentworkonthedifferenceproblemhascomeupwithgoodapproxima-
tionalgorithmsthatfinddifferencesthatusemoveandcopyoperations,forexample,see
(Chawathe,Rajaramanetal.1996).
Palimpsestmakestwoalternativechoicestothistraditionofsystemdesign.First,ithasa
“contextualhistory”whichdoesnotdirectlyreflectthetemporalorderofoperations,but
capturesaparticulartypeofcontextualdependency.Thedependenciesinthenewmodel
canbethoughtofasavariationofcausalorderings(Lamport1978).Whileallinter-change
dependenciescannotbeeliminated,itturnsoutthatthetotallyorderedtimelineofmost
standardapproachescanbeconsiderablyrelaxedtoapartialorder.The“change-oriented”
versioncontroltechniqueinsoftwareengineering(Kruskal1984;Lie,Conradietal.1989;
Previous Page Next Page