106
need to be translated, and what operations have transformations that need to be applied.
Palimpsest, by dealing with the whole history and using immutable pointers, does not re-
quire such knowledge, since operations are expressed using “static pointers” that do not
need to be updated when the context changes.
5.2 Distributed implementations
Persistent addressing minimizes the amount of knowledge an application needs to have
about the state of its collaborators. Any set of updates can be extracted and packaged in the
form of operations using Palimpsest addresses and then transmitted to any other instance of
the application. The changes in such an update package are suitable for processing by any
instance of the application that gets access to them. In fact, an instance of an application
needs to know nothing about a collaborator’s state to send its changes in a usable form.
Even if an update is sent to an instance of an application that has never previously seen the
document in question, it is still possible to allow work to proceed without resending any up-
dates. As long as IDs are assigned in a way that allows for discovery of the location where a
change was created, an application can request all or some of the missing information re-
quired to create a complete (or sufficient) instance. The original changes would never have
to be retransmitted. Even if the state an application finally retrieved is significantly diver-
gent from the sender’s state at the time of transmission of the original changes, the invari-
ant addresses will still be meaningful and they can still be applied.
For link maintenance in distributed hypertext systems, this property is a critical one. One
of the higher-cost tasks for hyperbase systems (Campbell and Goodman 1987; Schnase, Leg-
gett et al. 1993), is the management of change and versioning (Hicks, Leggett et al. 1998),
and the insurance of link integrity. When applying such systems to collaboration over wide
area networks, link tracking becomes considerably more expensive and problematic. When it
is done at all, link consistency is usually maintained using some form of distributed data-
need to be translated, and what operations have transformations that need to be applied.
Palimpsest, by dealing with the whole history and using immutable pointers, does not re-
quire such knowledge, since operations are expressed using “static pointers” that do not
need to be updated when the context changes.
5.2 Distributed implementations
Persistent addressing minimizes the amount of knowledge an application needs to have
about the state of its collaborators. Any set of updates can be extracted and packaged in the
form of operations using Palimpsest addresses and then transmitted to any other instance of
the application. The changes in such an update package are suitable for processing by any
instance of the application that gets access to them. In fact, an instance of an application
needs to know nothing about a collaborator’s state to send its changes in a usable form.
Even if an update is sent to an instance of an application that has never previously seen the
document in question, it is still possible to allow work to proceed without resending any up-
dates. As long as IDs are assigned in a way that allows for discovery of the location where a
change was created, an application can request all or some of the missing information re-
quired to create a complete (or sufficient) instance. The original changes would never have
to be retransmitted. Even if the state an application finally retrieved is significantly diver-
gent from the sender’s state at the time of transmission of the original changes, the invari-
ant addresses will still be meaningful and they can still be applied.
For link maintenance in distributed hypertext systems, this property is a critical one. One
of the higher-cost tasks for hyperbase systems (Campbell and Goodman 1987; Schnase, Leg-
gett et al. 1993), is the management of change and versioning (Hicks, Leggett et al. 1998),
and the insurance of link integrity. When applying such systems to collaboration over wide
area networks, link tracking becomes considerably more expensive and problematic. When it
is done at all, link consistency is usually maintained using some form of distributed data-