57
tioncombination.Thereareonlythreestructuralcasestoconsider,givingatriangularma-
trixofpossibilities,allofwhichareinherentlypossibleforanysystemthatallowsdiver-
gence:
Point-pointconflicts.Theseareallessentiallythesame,andtheyallrepresentapotential
conflict.Whenmorethanoneinsertionismadeatthesamepointeitheranapplication
conflictmustbereported,orthetwoitemsmustbeorderedrelativetooneanother—in
suchawaythatthesamepairofoperationswillalwaysbeorderedthesameway.
Point-rangeconflicts.Theseareessentiallyallofasimilarform,withsomedatabeing
insertedinaregionthatisreadoraffectedbyanotheroperation.Iftherangeisonly
read,noconflictshouldoccur,asthetwochangesareindependent;whenbothareac-
tive,theoperationthatreadstherangeshouldreceivearesultincludingtheaddeddata.
Inthecasewheretherangeistobemodifiedbytheoperation,asemanticconflictis
possible,dependingontheeffecttobeperformedontherange.Formostoperations,the
conflictshouldberesolvedinthesamewayasintheread-onlycase.Oneimplicationof
thisisthattheresultsofaninsertionarelostifarangecontainingtheinsertionpointis
deleted.
Range-rangeconflicts.Thesepresentvaryingproblems,dependingonwhethertheopera-
tionschangethepositionofcontentsoftheranges,orwhethertheoperationssimply
readthecontentsoftheranges.Inthecaseofoverlapswherebothoperationsmerely
readthecontentsoftheranges,thereisnoinherentconflict.Butincaseswhereeven
oneoftherangesisaffectedbyoneoftheoperations,aninherentconflictexists.Ifthe
applicationdoesnotdisallowthecombination,thesystemmustbeabletoordertheop-
erationsinordertodeterminewhateffectoccursintheregionoftheoverlap.Evenmore
thaninthecaseofmultipleinsertionsatasinglepoint,thisisastructuralsituation
wherethesystemmustmakeadecisionabouthowtoorderchanges.Furthermore,this
58
orderingwillnotnecessarilybebasedonatotaltemporalorderingasavailabletosys-
temsthatarenotchange-complete.
Thisstructuraltaxonomyofpotentialzonesofconflictwillallowfocusedconsiderationof
interactingoperationswithouthavingtoexamineeachpossiblestructuralcombinationindi-
vidually,foreachpossiblepairofoperations.Thisisimportantbecausetherearealarge
numberofpossiblepairwiseinteractionsamongevenasmallsetofoperations.Fortunately,
weneednotexhaustivelyexamineallpossiblecases.
3.2 ThePalimpsestsetofbasicsequenceoperations
ThissectiondescribesthebasicoperationschosenforPalimpsest.Iwilldescribethemand
brieflyreviewsomeoftheimplicationsoftheirdefinitionasdynamicoperations.InSection
3.3Iwillexaminetheconflictsthatcanoccurwiththisoperationset,anddevelopsomein-
tuitionastowhatkindsofsolutionsaremostdesirable.InSection3.4,Iconsidertheques-
tionofhowapersistentaddressingmechanismcansimplifytherepresentationandresolu-
tionofconflictsbetweendynamicoperations.WhendescribingPalimpsestoperationsIwill
dependontheabilitytodesignaterangeswithinasequencebymeansofstartandend
points,andtodeterminewhetherapointisinsideoroutsideofsucharange.Sincetheop-
erationsinquestioninfactpermutesequenceelements,andchangetheorderofitems,the
assumptionthatthisispossibleis,strictlyspeaking,unwarranted.Section3.4willredeem
thisassumptionbyshowinghowtousetheinsightsdevelopedinconsideringoperational
conflictresolutiontodefineanappropriatemeaningforsuchanordering.
Palimpsestsequencessupport4primitiveoperations:
Insert.Thistakesapositioninasequenceandaddsitemstothatsequenceatthatloca-
tion.Apositionisagapbetweentwoitemsofasequence.
Previous Page Next Page