24
• Itmustorderalloperationstemporally,notonlytoavoidconflictsbetweenoperations,
buttoensurethatthepropertransformationscanbecomputedforeachoperation.
• Itmusttransformallsucceedingoperationsinthishistorywheneveranewoperationis
receivedthathasanearliertimestamp,oranoldoperationisundone.
Theneedtomaintainaglobaltemporalordermeansthatrelativelyheavyweightdatadis-
tributionalgorithmsmustbeusedinordertoassureacorrecttotaltemporalorderisavail-
ableateachnode.Inaddition,thefactthatoperationsinteractmeansthatinformation
mustbetrackedaboutexactlywhatchangeshavebeenreceivedbyotherinstancesofthe
collaborativeapplication,inordertocalculatethecorrecttransformationfunctionateach
node.Thefactthatoperationsdonothaveaninvariantrepresentationmeansthateachcol-
laboratorneedstotransmitinformationaboutitsownstatealongwiththerepresentationof
achange,sothatthatchange’srepresentationcanbeproperlyinterpreted.
Inadditiontothebookkeepingrequiredtoenforceatotaltemporalorderonoperations,
andtodetermineenoughinformationabouttheeditinghistoryatotherinstancesofthe
collaborativeapplication,alargenumberofoperationsmayneedtobetransformed,de-
pendingonhowearlyinalocalinstance’shistorythechangehasoccurred.Justasconfigu-
rationmanagementsystemsthatuse“forwarddeltas”(theequivalentofeditingoperations)
mustrecapitulatethehistoryofanobjecttoretrieveaparticularversion,anoperational
transformationsystem,inordertotransformtheoperationsthathavebeenaffectedbya
changeinthehistory,mustrevisittheentirehistoryoftheobjectafteraparticularpointin
time
OneofthethingsIwillshowisthatitispossibletorepresentoperationsinaninvariant
way,sothattransformationsarenotrequired.Whiletheaddressingmechanismbecomes
morecomplicated,theabilitytoavoidtransformationsoversuccessorsinahistorywillturn
outtobeveryuseful,aswilltheabilitytosupportawidervarietyofdatadistribution
mechanisms.Thesebenefitscomedirectlyfromremovingthetotaltemporalorderingre-
• Itmustorderalloperationstemporally,notonlytoavoidconflictsbetweenoperations,
buttoensurethatthepropertransformationscanbecomputedforeachoperation.
• Itmusttransformallsucceedingoperationsinthishistorywheneveranewoperationis
receivedthathasanearliertimestamp,oranoldoperationisundone.
Theneedtomaintainaglobaltemporalordermeansthatrelativelyheavyweightdatadis-
tributionalgorithmsmustbeusedinordertoassureacorrecttotaltemporalorderisavail-
ableateachnode.Inaddition,thefactthatoperationsinteractmeansthatinformation
mustbetrackedaboutexactlywhatchangeshavebeenreceivedbyotherinstancesofthe
collaborativeapplication,inordertocalculatethecorrecttransformationfunctionateach
node.Thefactthatoperationsdonothaveaninvariantrepresentationmeansthateachcol-
laboratorneedstotransmitinformationaboutitsownstatealongwiththerepresentationof
achange,sothatthatchange’srepresentationcanbeproperlyinterpreted.
Inadditiontothebookkeepingrequiredtoenforceatotaltemporalorderonoperations,
andtodetermineenoughinformationabouttheeditinghistoryatotherinstancesofthe
collaborativeapplication,alargenumberofoperationsmayneedtobetransformed,de-
pendingonhowearlyinalocalinstance’shistorythechangehasoccurred.Justasconfigu-
rationmanagementsystemsthatuse“forwarddeltas”(theequivalentofeditingoperations)
mustrecapitulatethehistoryofanobjecttoretrieveaparticularversion,anoperational
transformationsystem,inordertotransformtheoperationsthathavebeenaffectedbya
changeinthehistory,mustrevisittheentirehistoryoftheobjectafteraparticularpointin
time
OneofthethingsIwillshowisthatitispossibletorepresentoperationsinaninvariant
way,sothattransformationsarenotrequired.Whiletheaddressingmechanismbecomes
morecomplicated,theabilitytoavoidtransformationsoversuccessorsinahistorywillturn
outtobeveryuseful,aswilltheabilitytosupportawidervarietyofdatadistribution
mechanisms.Thesebenefitscomedirectlyfromremovingthetotaltemporalorderingre-