23
workhasbeensummarizedwellin(SunandEllis1998;Sun,Jiaetal.1998).Allretainthe
basicapproachoftheoriginal.Theideaistotracktheupdatestateofaninstanceofacol-
laborativeeditorintermsofthechangesthatithasseenfromothereditorinstances.Each
instancethentransmitsamessagecontainingtimestampinformationandtheoperationsit
hasprocessed.Otherinstancescancorrectlyupdatethemselvesgiventheincomingmessage,
andtheirownstate.Onarrival,theoperationsmustbetransformedsothattheoffsetsthey
representinthedocumentbeingedited(essentiallyastring)correspondtotheproperposi-
tionsinthereceivingeditorinstance.Whiletheinitialalgorithmwasfocuseddirectlyonthe
problemofimplementingtexteditors,thebasicideaofoperationaltransformationcanobvi-
ouslybegeneralized.Recentworkisjuststartingtoextendthetechniquetootherdata
structures,suchasspreadsheets(PalmerandCormack1998).
Thisbasictechniquehasbeenappliedtotheimplementationofanumberofdifferent
collaborativeeditingfeatures,includingcollaborativeundo.Thefundamentalgoalisto
achieveconsistent(i.e.identical)displaysatallclients(onceeachclienthasseeneveryop-
eration),andnotnecessarilytoguaranteethatsuchviewsarenecessarilysensibleinterms
ofuseroperations.Thisweakerconsistencyconditionischaracteristicofon-linecollabora-
tion,andmeans,forexample,thatadeterministicwayofresolvingeditingconflictsissuffi-
cient,eveniftheresolutiondoesnotpreservetheuser’snotionofdocumentconsistency.It
isperhapstheweakestnotionofapplicationconsistencypossible.Forareal-timeeditorthis
isacceptablebecauseuserswillbeabletodetectandcorrectsucherrorsimmediately.For
off-linecollaborations,thispolicycanalsobeacceptablewhentheabilitytomakeprogress
andworkwithoutbeingblockedoutweighsthecoordinationcostofhandlingconflicts.
Oneoftherealproblemswithoperationaltransformationistheneedfortransformations
oftheoperations.Sinceaffectedregionsofoperationsarerepresentedbyoffsets,anopera-
tionmustbetransformedwheneveranearlieroperationinthehistoryisdetected,orun-
done.Anoperationaltransformationenginemustsatisfytwoconditions:
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-
Previous Page Next Page