18
executionhistory,whilemanyrevisioncontrolsystemsallowmultipleversionsandbranch-
ingexecutionhistories,eventhoughtheyareimplementedbyacentralrepository.
Theextentandvisibilityofdatareplicationisanimportantarchitecturaldifference
amongcollaborationsystems.Decisionsaboutdatareplicationexertpressureontheformsof
collaborationthatwillbepermitted,sincethedatareplicationarchitecturewillmakesome
operationseasierandsomeharder.Furthermore,theperformanceandavailabilitycharacter-
isticsofsomearchitecturesaffectthekindofusersupportthatcaneffectivelybeoffered.
Atoneextremearesystemsthatreplicatenodata.Suchasystemcanuseseveralpossible
architectures.Aserver-basedsystemisrelativelysimpletoimplement,andcanprovideany
formofconsistency-guaranteethatisdesired,butitalsoimpliessomeseverepracticallimi-
tations.Aserver-basedapproachonlyworkswhenthenetworkisreliablyavailablemostof
thetime,sinceallsynchronizationoperationsmustusethenetworktoaccesstheserver.
Networkdelayscanaffecttheinteractivityoftheresponse,ascantheconcentratedwork-
loadofallusers,ifthetransactionrateishigh.
Manyobject-orienteddatadistributionstrategiesusesomeformofobjectmigrationor
remoteprocedurecall,sothatobjectidentityisnevercompromisedbythecreationofrepli-
cas.Objectsmustbemovedacrossthenetwork,on-demand,tobeupdated,oraremotecall
mustbeforwardedtowhateverCPUtheobjectresideson.Thisisthemosttransparentmodel
foranapplicationprogrammer,sincetheunderlyingobjectsystemmanagesallthe
concurrencydetailsautomatically.Thisapproach,however,hasmanyofthesamedrawbacks
astheclient/serverarchitecturewhenusedasamethodofcollaborationsupport,sincepo-
tentialwriteconflictsonthesameobjectarerelativelylikelyincollaborativeediting.Dis-
connectedoperationisalsoparticularlydifficult,asrelativelyfine-grainedobjectmodels
maybehardtopartitionfordisconnectedoperations.Whileobjectreplicascanbeusedto
provideread-onlyaccesstounavailableobjects,theneedforapplicationawarenessof
concurrencyissuesanddivergentstatesresurfaces.
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.
Previous Page Next Page