106
needtobetranslated,andwhatoperationshavetransformationsthatneedtobeapplied.
Palimpsest,bydealingwiththewholehistoryandusingimmutablepointers,doesnotre-
quiresuchknowledge,sinceoperationsareexpressedusing“staticpointers”thatdonot
needtobeupdatedwhenthecontextchanges.
5.2 Distributedimplementations
Persistentaddressingminimizestheamountofknowledgeanapplicationneedstohave
aboutthestateofitscollaborators.Anysetofupdatescanbeextractedandpackagedinthe
formofoperationsusingPalimpsestaddressesandthentransmittedtoanyotherinstanceof
theapplication.Thechangesinsuchanupdatepackagearesuitableforprocessingbyany
instanceoftheapplicationthatgetsaccesstothem.Infact,aninstanceofanapplication
needstoknownothingaboutacollaborator’sstatetosenditschangesinausableform.
Evenifanupdateissenttoaninstanceofanapplicationthathasneverpreviouslyseenthe
documentinquestion,itisstillpossibletoallowworktoproceedwithoutresendinganyup-
dates.AslongasIDsareassignedinawaythatallowsfordiscoveryofthelocationwherea
changewascreated,anapplicationcanrequestallorsomeofthemissinginformationre-
quiredtocreateacomplete(orsufficient)instance.Theoriginalchangeswouldneverhave
toberetransmitted.Evenifthestateanapplicationfinallyretrievedissignificantlydiver-
gentfromthesender’sstateatthetimeoftransmissionoftheoriginalchanges,theinvari-
antaddresseswillstillbemeaningfulandtheycanstillbeapplied.
Forlinkmaintenanceindistributedhypertextsystems,thispropertyisacriticalone.One
ofthehigher-costtasksforhyperbasesystems(CampbellandGoodman1987;Schnase,Leg-
gettetal.1993),isthemanagementofchangeandversioning(Hicks,Leggettetal.1998),
andtheinsuranceoflinkintegrity.Whenapplyingsuchsystemstocollaborationoverwide
areanetworks,linktrackingbecomesconsiderablymoreexpensiveandproblematic.Whenit
isdoneatall,linkconsistencyisusuallymaintainedusingsomeformofdistributeddata-
107
base,sothatlinkscanbeupdatedastheirdestinationsthemselvesareupdated.TheWWW
simplyallowslinkstogobad,anddoesnotprovidefine-grainedlinkanchorsandanchor
trackingatanylevel.
Versionmanagementhasbeenonetraditionalapproachtothisproblem,asdiscussed,e.g.
byHicksandCampbell.However,version-completesystemsonlyallowretrievalofthepar-
ticularpaststatewhenalinkwasmade.Withoutfine-grainedtrackingoftheregionsand
thechangesthataffectthem,thecurrentstateoflinkanchorsisunavailable,asisitsstatus
inothersignificantversions.TheRHYTHMsystem(Maioli,Solaetal.1994),andNelson’s
proposalforXanadu(Nelson1987)bothsupplementversionmanagementsystemswithfine-
grainedtrackingoperationstoallowupdatedviewsoflinkanchors.Palimpsestfollowsthis
generalapproach,bykeepingeditinghistoriesandprovidingpersistentpointersintoevolv-
ingobjects.
Theideaofaglobalchangesetisrelevantinadistributedsystemaswell.Itcanbeuseful
tothinkoftheunionofthechangesetsatallcollaboratingsitesasrepresentingtheglobal
historyofanentiredatastructure.Thisglobalchangesetmaywellneverbepresentonany
singlesystem.Manycollaboratorswillhavechangesintheirlocalhistoriesthatwereimme-
diatelyundone,andthatmayneverbetransmittedaspartofanyversionoftheshareddata.
Inanonlineeditingsystem,anycommunicationstrategythatensurestheeventualconver-
genceofallcollaboratorstothatglobalchangesetwillalsoensurethattheyallhaveidenti-
calviewsofthedata.
5.3 UndoinginPalimpsest
Theproblemof(collaborative)undoisdiscussedinSection1.6.Changeorientationmakes
itpossibletomanipulatechangesindividually,andPalimpsestspecifiestheeffectthatre-
movingaparticularchangefromaP-sequencewillhaveonitsstate,regardlessofitshistory.
Changescanberemovedfromchangesetsaswellasadded,andtheabilitytodothiswith-
Previous Page Next Page