84
oneaddress—eachonecorrespondingtoalocationtowhichthatdatawascopiedormoved.
Deletionsarenotexplicitlymentionedhere,becausetheirIDsneverappearinaddresses.
InworkingwithaddressesthefunctionIdsprovesuseful.Foranaddressp = (I
1 …I
n-1 ,i)
wehavethefollowing:
Ids(p) = {I
j | 1 < j < n}.
4.2.3 Consistentchangesetsandcausalordering
ThesetoflegaladdressesinaPalimpsestsequenceandthetotalordertheytakeinthe
resultingsequencearedefinedbyasetofchanges.However,noteverysetofchangeswill
produceawell-orderedsetofaddresses.Asetofchangesmustsatisfycertainminimalcondi-
tions,whichturnouttohaveanaturalrelationshiptothenotionofcausalorderingof
changes.Theusualnotionofcausalorderingwasfirstdefinedin(Lamport1978),inthecon-
textofdestructivedatabaseupdates.Lamport’scausalorderingwasapartialorderonopera-
tions,inwhichanoperationprecededanotheroperationifitoccurredearlierandaffected
thesamelocation.Lamport’sorderingrelaxedtheconstraintsoftotaltemporalorderingby
recognizingthatnon-interferingoperationsneednotbeorderedwithrespecttoeachother.
Palimpsestneedsasimilarnotion(apartialorderonoperations,derivedfrombutmore
relaxedthanatemporalorder).WhilePalimpsestdoesnothavethesamekindsofconflicts
betweenchanges,itdoeshaveaddressingdependenciesbetweenchanges.Inasystem,Pal-
impsestchangeswillbecreatedeverytimethatauserperformsanewoperation,andthose
changesmustreferencePalimpsestaddresses.Some(likemove,copy,andinsert)willcreate
newaddresses.However,therearesignificantrestrictionsontherelationsofthesechanges
totheaddressestheyuse,becausethechangesmustbecreatedinsometemporalorder,and
becauseeachaddressisconstructedfromtheIDsofpreviouslyconstructedchanges.Thecriti-
calobservationisthattheaddressesreferencedbyachangeshouldalreadyexistatthetime
thatchangeiscreated.
oneaddress—eachonecorrespondingtoalocationtowhichthatdatawascopiedormoved.
Deletionsarenotexplicitlymentionedhere,becausetheirIDsneverappearinaddresses.
InworkingwithaddressesthefunctionIdsprovesuseful.Foranaddressp = (I
1 …I
n-1 ,i)
wehavethefollowing:
Ids(p) = {I
j | 1 < j < n}.
4.2.3 Consistentchangesetsandcausalordering
ThesetoflegaladdressesinaPalimpsestsequenceandthetotalordertheytakeinthe
resultingsequencearedefinedbyasetofchanges.However,noteverysetofchangeswill
produceawell-orderedsetofaddresses.Asetofchangesmustsatisfycertainminimalcondi-
tions,whichturnouttohaveanaturalrelationshiptothenotionofcausalorderingof
changes.Theusualnotionofcausalorderingwasfirstdefinedin(Lamport1978),inthecon-
textofdestructivedatabaseupdates.Lamport’scausalorderingwasapartialorderonopera-
tions,inwhichanoperationprecededanotheroperationifitoccurredearlierandaffected
thesamelocation.Lamport’sorderingrelaxedtheconstraintsoftotaltemporalorderingby
recognizingthatnon-interferingoperationsneednotbeorderedwithrespecttoeachother.
Palimpsestneedsasimilarnotion(apartialorderonoperations,derivedfrombutmore
relaxedthanatemporalorder).WhilePalimpsestdoesnothavethesamekindsofconflicts
betweenchanges,itdoeshaveaddressingdependenciesbetweenchanges.Inasystem,Pal-
impsestchangeswillbecreatedeverytimethatauserperformsanewoperation,andthose
changesmustreferencePalimpsestaddresses.Some(likemove,copy,andinsert)willcreate
newaddresses.However,therearesignificantrestrictionsontherelationsofthesechanges
totheaddressestheyuse,becausethechangesmustbecreatedinsometemporalorder,and
becauseeachaddressisconstructedfromtheIDsofpreviouslyconstructedchanges.Thecriti-
calobservationisthattheaddressesreferencedbyachangeshouldalreadyexistatthetime
thatchangeiscreated.