12
canalsogainrealvaluebyprovidingdurableeditinghistories,somethingthatmanydata-
basescanlivewithout.Authoringhistoriesalsomustbeabletorepresentandhandlecon-
flictingandbranchinglinesofdevelopment,sincetheyareinherenttotheauthoringproc-
ess,whiletheanalogoussituationsindatabasesareruledoutaprioribytheconsistency
requirements.Isolationisaconceptthatreallyonlyappliesinthecontextofatransaction
basedsystem.Infact,wewillseethatforcollaborationwewanttoincreasetheabilityto
mergechangesproductively,somethingthatwillactuallyincreasethepotentialforinterac-
tionsbetweenchanges.
Theforgoingpointsaremoregenerallytrueincollaborativesystems,wheremoreliberal
optimisticmethodsaresometimesusedtocompensateorproceed,eveninthepresenceof
non-serializable(conflicted)executionhistories.Thisispossiblebecauseofthepresenceof
thehumanauthors,acriticalfactorinvolvedincollaborationthatisnotavailableintypical
databasesystems.Beyondautomaticpolicies,thereisalwaysalastresortincollaboration:a
humanbeingthatcanbetrustedtocorrectlyresolveaconflict(ifsheiswillingandauthor-
izedtodoso).Furthermore,formostapplications,theneedforabsoluteconsistencyiscon-
siderablyless.Dourish(Dourish1996)hasproposedtwolevelsofconsistencyforcollabora-
tionsupportsystems:syntacticconsistencyandapplicationconsistency.Syntactic
consistencyisconsistencyinthedatastructuresthatsupporttheimplementationofapplica-
tions;iftheseareinconsistent,thereisabuginthesystemandthesoftwarewillfailto
workcorrectlyoratall.Applicationinconsistencyisdifferent.Itreferstotheconsistencyof
thedatamodelimpliedbyanapplication,whetherthatisamodelforatext,astructured
drawing,orsomeotherapplicationobject.Aninfrastructurethatcansupportdivergence
fromacompletelyconsistentdatamodelisessentiallyanoptimisticconcurrencycontrol
model,wherehumancollaboratorsareresponsibleforresolvingconflicts.Theadvantageof
suchdatamodelsisthesameasthatforoptimisticconcurrencycontrol:greateravailability
toupdates,atthecostofgreatertimeexpendedresolvingconflicts.
13
Thismayseemanunacceptablepricetopayintermsofconsistency,butsuchproblems
areunavoidable,becauseinfact,someconsistencyproblemsareinherentlyundetectableby
acomputersystem.Forexample,assumetwoauthorsarecollaboratingonadocumentin
whichtherearetworedundantparagraphs.Eachcollaboratorcouldseparatelyattemptto
repairtheinconsistencybydeletingadifferentparagraph.Thesyntacticallyconsistentresult
wouldhaveanundetectablesemanticinconsistency,sinceanapplication’smodelofthetext
doesnotincludeknowledgeofthetext’scontent.Furthermore,anylock-basedprotocolsup-
portingagranularityfinerthantheregioncoveringbothparagraphscouldcreatethesame
kindofinconsistency.Theoppositionofconsistencyandopportunisticworkisinherent,
evenintheabsenceofautomaticallydetectableconflicts.
Thissoundsworsethanitreallyis,sincethiskindofproblemhappensevenwhenpeople
collaboratewithoutcomputersupport.Ontheotherhand,manyactualorpotentialsemantic
inconsistenciescanbecheckedbyspecializedapplications.Thelevelofcheckingthatisap-
propriatemayevenvarysignificantlyforthesameapplicationdependingonhowitisbeing
used.Duringaninteractivesession,thesemanticconsistencyofeditingoperationsbycol-
laboratorsmaybeofminimalimportance,solongasbothcanseesomesyntacticallyconsis-
tentresultinatimelyfashion.Inanasynchronouscollaborationwherepotentiallyhundreds
ofchangesmadebydifferentauthorsarebeingcombined,muchmorerigoroustestingfor
potentialconflictsmaybeanessentialqualitycontrolmeasurefortheresulttobeuseful.
Avarietyofsystemsarenowbeingcreatedtoexploretheissuesinvolvedinrelaxingcon-
sistencyrequirementsinordertocreatemoreflexiblecollaborations.Prospero,forinstance,
providesanapplicationframeworkthatallowsloosely-coupledcollaboration.Applicationde-
signersusingtheProsperotoolkitdefineobjectsthatrepresentatomicoperationsona
shareddatastructure(whichisreplicatedateachsite).Theseoperationshavemethodsto
checkforconflicts,andresolvedivergences,underthecontrolofthetoolkit.Evensome
softwareengineeringsystems(whichhavegenerallybeenwillingtopaythepriceofensur-
Previous Page Next Page