21
Theproblemwithundoingroupworkisthatmanyofthesimplifyingassumptionspossi-
bleinasingle-usereditoraresimplyunreasonableinamulti-usersituation.Forinstance,
onethingthatrequiresmodificationisthenotionthatauser’schangescanbeundonein
thereverseorderthattheywereperformed,eventhoughonegoodwaytoresolveaconflict
amongusersistosimplyundosomeoftheproblematicchanges.Thelinearundomodelfails
becauseauser’sownchangesmayhavebeenfollowedbychangesmadebyotherusers,so
thatundoingone’sownchangesisimpossiblewithoutalsoundoingthosemadebyanother
user,eveniftheyoccurinanotherpartoftheobjectbeingedited.Thesamesituationcan
occuranytimeauserattemptstoundoanychange,infact,sincetheorderofusernotifica-
tionofchangesnotinfrequentlyvariesfromeditinginstancetoeditinginstance.
Asinanumberofotherareasofcollaborativeediting,synchronousandasynchronous
editinghavebeenhandleddifferently,andmostsystemshaveconcentratedononeorthe
other.Thesynchronouscasehasreceivedthemostattention,asundoisoneoftheproblems
thatcropsupimmediatelyoncesimultaneouseditingisenabled.Oneapproachistorewinda
historicallogofchangesandthenreplaythem,withoutthechangetobeundone,andthen
broadcastachangecancellationtotheotherinstancesoftheeditor.Thisapproachistaken
in(PrakashandKnister1992;ChoudharyandDewan1995).Thesesystemsextendopera-
tionaltransformationtosupportthis,byusingittotransformoperationsbeforeredoing
them.Localeditorsmustretainenoughhistorytobacktrackandundospecificoperations.
Thistechniquedoesnotworksowellifoff-lineaswellason-linecollaborationissupported
bythesystem,sincethenumberofchangesinvolvedcanbequitelarge,evenforarelatively
shorteditingperiod.
Infact,algorithmicsolutionshavebeenrathersparinglyappliedtothisprobleminthe
asynchronouscase,exactlybecausethetypicaldivergencebetweenseparatelong-term
transactionsislarge.Thefocushasgenerallybeenonpreventingconflictsbymeansof
lockingorversioning(asinthesoftware-engineeringdomain)oronthedetectionof
22
changessothatauthorialawarenessofchangescanbemaintained.Sincelockingoften
provestorequiretoorigidadisciplineformanycollaborations,Prep’sflexibledifffeature
probablyrepresentsthestateoftheartinasynchronouscollaborationondocuments.Inthe
contextofimplementingundooperations,automaticallygenerateddifferenceshavedistinct
drawbacks,since,intheworstcase,onecouldendupundoingachange(determinedbythe
diffalgorithm)thatwasneveractuallyexecuted(inthatform).Forexample,itwouldbe
possibletoundoaninsertionthatwaspartofatext-moveoperationwithoutundoingthe
deletionoftheoriginalsourcematerial.Theuser’sunitarymoveoperationwouldbesplit
intotwoindependentoperations,withtheiressentiallinkagehidden.Thisobjectionhasre-
centlybecomelesssignificantbecauseofrecentwork(Chawathe,Rajaramanetal.1996)on
comparisonalgorithmsspecificallytargetedtothedetectionofchangesindocuments.These
newalgorithmscanefficientlydetectoperationslike“move”and“copy”.Whiletheydonot
preserveuserintentionaswellasalogofauser’sactualoperations,thesealgorithmswould
probablyworkverywellifintegratedintoaPrep-stylesystem.Technically,suchchangelogs
givethesamekindofinformationastrackingusereditingoperationswould,exceptthatthe
algorithmwouldmakeanarbitrarydecisionamongthepossibleoperationsthatmighthave
createdthedivergencebetweenstates.Theresultinghistorymightwellviolateauser’sex-
pectationsbasedonhermemoryofwhatoperationssheactuallyperformed.
1.7 Operationaltransformation
Operationaltransformationisthenamegiventothebest-knownoptimisticcollaborative
editingapproach.Whiletherearemanyvariationsofthebasictechnique,theyareallbased
onareal-timecollaborativeeditingalgorithmduetoEllisandGibbs(EllisandGibbs1989).
Variationsandextensionsofthisbasicalgorithm(PrakashandKnister1992;Choudharyand
Dewan1995;PalmerandCormack1998)havebeenproposed,aswellasimprovedversions
(Ressel,Nitsche-Ruhlandetal.1996)and(Sun,Jiaetal.1997).Thecurrentstateofthis
Previous Page Next Page