9
involvedindifferentsortsofauthoring.Asanyasynchronouscollaborationsystemmust,
Prepdealswiththeproblemofdivergence.Prepappliesaspecializeddifferencingalgorithm
(Neuwirth,Chandhoketal.1992)thatcanproducereportsaboutthepointsofdivergence
betweenseparatelyediteddocuments.Theiruseofparalleldisplaysprovidesagoodinterface
basisfortheworkofconflictresolution.Theirexperimentalresultshavealsoshownthat
displayingchangesatdifferentlevelsofdetailisacrucialaidforauthors’understandingof
thedifferencesbetweenversions.ThedifferencingalgorithmsappliedbyPreparebasedon
thoseusedbythatstandardUNIX“diff”command,withspecializedmodificationstohandle
alackoffixedlinebreaks,andtoenablereportingatdifferentlevelsofdetail.Basedonthe
changereportsproducedbythealgorithm,Prepallowsachange-by-changemergeofdiffer-
ingversionstocreateanewcoordinatedversion.Thismergeprocessisagainbasedonex-
istingtools,inthiscaseanadaptationoftheUnixprogram“diff3”.
Essentially,thePrepapproachtodivergenceistoadapttheexistingdifferencetech-
niquesdevelopedforsoftwareengineeringtothedifferentproblemofcomparingtexts.This
approachisworkable,buthassomeinherentdrawbacks.Itisnotsuitableforon-linework,
sinceitisbasedonusingwholedocumentstates.Thus,Prepgeneratesdifferencesintwo
separateways,astheresultofacomputationalprocess,andbymonitoringeditingopera-
tions.DivergenceisaccommodatedbytheparalleldocumentfacilitiesofPrep:updatescan
beappliedtoproduceanewstateinanewcolumn.OneverysignificantfactisthatPrepis
abletousetheleveragegainedbydirectlymanipulatingeditingoperations,gainingflexibil-
ityinupdatedistributionaswellasinformativehistoricaldisplaysforco-authors.Thede-
pendenceondiffalgorithmsimpliescertainlimitations,sincetheycanonlyeffectivelyde-
tectcertaintypesofchanges.Inparticular,thedetectionofmovingblocksoftextis
difficult,andbecomesevenmoredifficultiftheblocksarethenfurtherchanged.Therehas
beenrecentprogressinaddressingthisproblem(Chawathe,Rajaramanetal.1996).How-
ever,thesesolutionsarebasedoncomparisonheuristics,ratherthanchangelogs,soeven
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.
Previous Page Next Page