19
Attheotherextremearesystemsthatfullyreplicateallapplicationdata.Thiscanen-
hanceperformance,sincethelocalapplicationhasallinformationavailablelocally,without
needtohaverecoursetothenetwork,greatlyreducingtheeffectsofloadissuesandnet-
workdelays.However,inanypessimisticconcurrencymodel,updatestothatlocalstatewill
havetobecontrolledbysomeglobalinteraction(usuallyalock)sothatthedifferentlocal
statesevolveinaconsistentway.Optimisticconcurrencycontrol,andespeciallydivergence,
comeintotheirownwhencombinedwithfully-replicatedarchitectures,sincethefreedom
fromglobalsynchronizationtaskscanpaydirectbenefitsinresponsetimeandflexibility.
MostWYSIWISapplicationsfullyreplicatethedatabeingeditedsothatresponsetimewillbe
fastenough,andusecomplexconcurrencyprotocolstoensurethattheillusionofasingle
editedobjectcanbemaintained.Muchoftheburdenofdistributedsystemsdesignisthe
preventionofdivergencebetweensites.Collaborationsupportisarealmwherethatburden
canbeliftedandreplacedwith(hopefully)simplermechanismsforsecuringeventualagree-
ment.
1.6 Generalizedundo
Onceanarchitectureisinplaceforimplementingadistributededitoratall,thenthe
problemsreallybegin.Nowthereisagroupofhumanbeingscollaboratingwitheachother
viaanewmedium,withouttheimplicitrestrictionsofface-to-faceinteractionthatnormally
provideinformalconcurrencycontrol.Forexample,noface-to-faceeditingscenario,nomat-
terhowcollaborativeorinformal,willinvolvetwoauthorssimultaneouslytryingtochange
thesameword.Whileallowingsuchtightinteractionmayofferconvenience,italsopresents
agroundforconflict.Exacerbatingtheseproblemsisthefactthattheinformalanduncon-
scioussocialcuesandprotocolsthatcontrolsuchinteractionareabsentduringcomputer-
onlycollaboration.
20
Iwillnotconsiderthesesocialproblemshere,butratherconcentrateonconsequences
andimplicationsforsystemsdesign.GreenbergandMarwood(GreenbergandMarwood1994)
haveexaminedtheinterfaceanomaliesthatarisewithanyformofgroupconcurrencycon-
trolforsynchronouseditors.Mostoftheseanomaliesinvolveeitherunexpectedscreenup-
dates,orinabilitytoeffectachange,despiteaninterfacestatethatseemstoallowit.This
problemisunavoidabletosomeextentsincethereisnowayforchangestobeinstantane-
ouslyshared.Sincetheirpaperexaminesonlyreal-timecollaborationtools,basedonthe
conceptofasinglesharedstate,itdoesnotconsiderthepotentialadvantagesofallowing
differentviewsatdifferentinstancesofaneditor.
Enablingcoordination,inthiscase,amountstogivingusersawaytoselectivelyundo
eachother’schangesandupdates.Thisessentiallymovestheresponsibilityforarbitrationof
userchangesfromtheapplicationbacktothecollaborators.Thismayactuallyimprovethe
possibilitiesforcollaboration,byallowingawidervarietyofpotentialworkingstyles,de-
pendingontheauthors’needs,andthestateofaproject.Infact,out-of-sequenceundo
turnsouttobenecessaryformulti-userediting,evenatalowlevel,sinceindividualusers
maywanttoundotheirownchangesevenaftertheirlocalapplicationhasreceivedfurther
updatesfromotherusers.Thegeneralproblemofmulti-userundoisreallytobeableto
undooperationsregardlessoftheirtemporalorderofoccurrence.
Avarietyofsingle-userundoschemeshavebeenimplementedovertheyears.(Vitter
1984)providesagoodsurveyofundomodels,whichhavereallynotchangedthatmuchin
theinterim.Whileundohasgenerallybeenanimplementer’sproblem,someundomodels
(Archer,Conwayetal.1984;Leeman1986)havebeenformalized.Mostoftheexplorationof
variationinundotechniqueshasbeenfocusedontheproperchoiceofundofacilitiestopro-
videasingleuserofatexteditor.Thequestionmostatissueiswhatlogicalmodelsaremost
directlyusefulascommandsforasingleusertoexecuteduringasingleeditingsession.
Previous Page Next Page