10
theseimprovedmachinecalculateddifferenceswillsometimesdifferfromtheactualediting
operationsappliedbyanauthor,makingthemlessusefulforasystemattemptingtorespect
theauthors’intentions.
LikePrep,whenchangedistributionisenabled,LotusNotesusesalooselycoupleddis-
tributedupdateprotocolthatsynchronizesvaluesbetweenseparateserversatregularinter-
vals(GreifandSarin1987).Thisprotocolguaranteeseventualconsistency,butdoesnotpro-
tectagainstdatalossineverysituation.Serverscanbeconfiguredtoenforcevaryinglevels
ofsecurity,dependingontheimportanceofparticulardataandthepatternorworkonthat
data.
TheBayousystem(Edwards1997)implementsadifferentmethodofsupportingloosely
coupledcollaboration.Bayoubuildsonthetraditionalconcurrencyanalysisusedindatabase
theory.Everyoperationiseitherawriteorareadofashareddataobject.Writeoperations
arepropagatedbetweencollaboratinginstancesofanapplication,alongwithinformation
aboutdependenciesbetweenoperations.Inadditiontodependencyinformation,whichal-
lowsthedetectionofconflicts,Bayoualsotransmitsmergeprocedures,codefragmentsthat
canbeexecutedtoresolveconflictsbetweenoperations.Conflictsandresolutionsarede-
tectedandresolvedintermsoftheupdatesetoffieldsaffectedbyanoperation.Inaddition
tomergeproceduresandtheoperationalinformationaboutconflictsandcollaborativeac-
tions,applicationscancontroldistributionpolicies,askforsessionguaranteespromising
variouslevelsofconsistency,andpickparticularreplicateddatastoresasprimarysynchroni-
zationpoints.Whilethearchitectureisnominallyclient-server,Bayou’ssupportforoff-line
operationandlocaldatereplicascauseittofunctionlikemorelikeapeertopeerapplica-
tion,sinceanexternalserverisnotalwaysrequiredtobeavailable.
11
1.4 Concurrency
Concurrencycontrolisanissueforallofthesystemsdiscussedabove,andsomeofthe
basicapproacheshavealreadybeenmentioned.Thistopichasalonghistory,withmany
proposedmethodsofdealingwithproblemsofpreventingdatainconsistencyinthepresence
ofmultipleindependentprocessesmodifyingthesamedata.Themostmajordistinctionin
traditionalconcurrencycontrolisthatbetweenoptimisticandpessimisticmethods.Pessimis-
ticalgorithmsuselocksorproactivelyabortupdateoperationsthatmightleadtoinconsis-
tencyinadatastructure.Thisalwaysguaranteesthatthedataisconsistent,butdoesnot
guaranteethatallupdatescanbeperformedataparticulartime.Theguaranteeofconsis-
tencyisenforcedbyensuringthatthehistoryofoperationsisserializable:thatthefinal
stateofthedatastructureisthesameaswouldresultfromsomeserialexecutionoftheac-
ceptedoperations.Inthegeneralcase,apessimisticalgorithmmayblockoneupdateen-
tirelyinfavorofanother,thusabortinganupdatethatwouldconflictwithanotherupdate.
Optimisticalgorithmsallowupdatestoproceed,determiningaslateaspossiblewhethera
serializabilityconflicthasoccurred.Onecommonthreadleadingthroughallthetraditional
methodsofconcurrencycontrolisthatdataisalwaysmaintainedinaconsistentstate.This
reflectstheACIDpropertiesrequiredofdatabasesystems:transactionsshouldbeAtomic,
Consistent,IsolatedandDurable.
However,collaborationsupporthasratherdifferentrequirementsthanadatabaseback-
end.Formanyphasesoftheauthoringprocess,theAtomicityofcomplexchanges,andrigid
enforcementofConsistencyconstraintsinintermediateandworkingversionsarelowerpri-
oritytasks.Whilethefinalproductsofcollaborativeeffortsmayhavequiterigidrequire-
ments,theauthoringprocessisnotpermanentlydamagedbysloppydrafting,intheway
thatadatabasecanbecomecorruptedbytheconsequencesofevenasmallinconsistency.
Durabilityofresultsisimportantinbothcases.Systemstosupportauthorsanddesigners
Previous Page Next Page