141
Bufferedonline.Thisisliketheonlineoption.Anychangesaddedtoaspecifiedver-
sionareimmediatelysentoutontheappropriatenetworkconnections,butincoming
changesareaddedtoadifferentversion.Thisisapolicythatwouldoftenbemoreuseful
inoff-linecollaborations,inwhichcollaboratorsseparatelymakechangesbutandaccu-
mulatethemfromothersindistinctworkingversions.Itissometimesusefultomonitor
acollaborator’sactivityevenifoneisnotreadytospendtimeonthecoordinationwork
requiredtoresolveproblemsbyexecutingamerge.
Thepolicymanagementmodulemayhaveseveraldifferentpoliciesinstantiatedatthe
sametime,correspondingtodifferentdocuments,orevendifferentmodesofcollaboration
onthesamedocument.Ofcourse,thetypicalapplicationwillpickoneortwopoliciescorre-
spondingtothesensiblemodesofinteractionforitsparticulartask,andselecttheproper
onestoactivateautomatically,orwithuserassistance.
7.1.3 Thenetworkmanager
Thepoliciespresentedaboveareratherweak,witheachpolicybeingasetofconnections
betweensourcesofchanges,andprocessesthatacceptchanges,alongwithaprogramtode-
cidewhichchangesgotowhichplaces.Thatdefinitionofpolicyignoresimportantaspects,
includingallofthetemporalandschedulingaspects,whatevernegotiationsarerequiredbe-
tweenserverstodeterminewhatwillbetransmitted,andthelike.Theseaspectsofpolicy
aredelegatedtoindividualnetworkconnections,becausetheseaspectsofcommunication
policyandthenetworkmediumareintimatelyrelated.Itisrarelysensibletouseapolling
architectureoveremail,especiallyifthepollingintervalisshort.
Theconceptofconnectionisquitegeneral;anythingthatcanacceptPalimpsestchanges
orproducethemcanbethoughtofasaconnection.Someconnectionsinvolvenonetwork
activityatall,insteadcreatingfilesforarchivalortransferby“sneakernet.”Somesignifi-
cantcharacteristicsofnetworkconnectionsinclude:
1. Directionality.Aconnectioncanbeincoming-only,outgoing-only,orbidirectional.
142
2. Minimalinteractiontime.Asinthecaseofemail,thereisfrequentlyaminimalpe-
riodoftimethatshouldelapsebetweenactivitiesonachannel.Foraninteractive
socketconnectionthisperiodoftimemightbeinstantaneous,whileforanemail
connection,itmightbeadayorlonger.
3. Autonomy.Someconnectionsspontaneouslyproducenewevents,whileotherspro-
ducethemonrequest.Autonomousconnectionshavetheirowntimetableforpro-
ducingevents.Forexample,mostlaptopsonlyhavenetworkconnectionsavailable
whentheuserhaschosentotakeaction.
4. Persistence.Someconnectionsguaranteethatinformationsentonthemwillpersist.
Thisistrueforaconnectionthatcreatesafilecontainingtheinformationsenttoit
andisoftentrue(orsupposedtobe)forremoteservermachines.
5. Interrupting.Someconnectionsproducechangesontheirown,andothersneedto
bepolled.Interruptingconnectionsproduceeventsontheirown.
6. Timed.Someconnectionsperiodicallyproducenewchanges,ortransmitchanges
thathavebeenacceptedbutnottransmitted.Timedconnectionstakeactionontheir
ownatspecificintervals.
7. Pullable.SomeconnectionstakerequestsforparticularchangeIDswhichtheywill
attempttoproduceatalatertime.Pullableconnections,whenavailable,allowcon-
flictresolutionpoliciestoautomaticallyrequestmissingchanges.
Thissetofpropertiesisexemplary,notexhaustive.Onlyafewoftheseproperties,pul-
labilityanddirectionality,affecttheinterfaceofaconnectionintermsofitavailableopera-
tions,asopposedtoitsbehavior.Theothersonlyaffectthewaythatconnectionwillinter-
actwithagivenpolicy.Considerthepushydistributionpolicydescribedintheprevious
section.Appliedtoadirectnetworkconnectionitwouldprovideservicesappropriatetoan
interactiveeditingapplication.Thesamepolicycommunicatingwith3collaboratorsover
emailchannelswith1-daytransmissiontimerswouldmaintainroughsynchronizationbe-
Previous Page Next Page