145
functionsareexamplesofcollaborationsupportfunctionsthatcanbeprovidedevenwith
thissimplechange-reportinginterface.
Thiskindofsimpleinterfaceiseasytoimplementforapplicationwriters.Application
writersneednotevenbeawareofthedatareplicationthatcanoccurasaresultofthedata
cloningcausedbythecopyoperation.Whentheapplicationregistersachangeinacopy
source,appropriateupdatesaregeneratedfortheentireeditingbuffer.Itisimportantto
notethatforcopyinparticular,thereareafewpotentialperformanceproblemswiththis
kindofparallelbufferingarrangement.Onerelativelyunimportantproblemisthatthepo-
tentialsizeofadocumentwithncopyoperationscanbeexponentialinn.Moreserious(be-
causemorelikely)istheoverheadofprocessingupdatespropagatedbymultiplecopiesof
datainlargedocuments.Mostoftheapplicationswheredynamiccopyisusefulinvolvethe
useofboilerplatetext,whichislikelytobereplicatedmanytimes.Ifaneditingbuffercon-
taininganentiredocumentisbeingupdated,theapplicationmayspendasignificant
amountoftimeapplyingupdatestoportionsofthedocumentthatareinvisible.Whilethis
wouldnotbewastedwork(becausetheusermightscrolltothosepartsofthedocument),it
isworkthatcouldberadicallylimitedifitwereconfinedtothevisibleportionsofthe
document.Forlargedocumentswherecopyisacommonoperation,apartialbufferingstrat-
egybasedondirectaccesstothePalimpsestaddressingmechanismsseemstobenecessary.
7.3 Summary
ThischapterdescribesanarchitectureforPalimpsest-basedapplicationsthattakesadvan-
tageoftheopportunitiesprovidedbyachange-orienteddatadistributionmodeltoincrease
theflexibilityandconfigurabilityofcollaborativeapplications.Thisarchitectureabstracts
networkconnectionmanagementfromconcurrencycontrol,basedonthemergeanddistri-
butionguaranteesofferedbytheunderlyingPalimpsestmodel.Italsoseparatesmanyas-
pectsofdistributionstrategyfromdataconsistencyandconnectionmanagement.
146
Wehavealsoseenhowaverysimpleevent-notificationinterfacecansimplifythejobof
applicationinterfacingtoPalimpsesteditingservices.Thissimpleinterfacingtechniquealso
offerssignificantpracticaladvantagesbyallowingthereuseofexistinguser-interfacecom-
ponents.
Previous Page Next Page