Chapter 7: Architectural Implications
In this chapter, I will briefly consider how the Palimpsest model can be used to create an
effective collaboration architecture. This chapter proposes an architecture to take advantage
of the facilities provided by Palimpsest. The fundamental concerns are:
• Global architecture. Palimpsest lends itself to use in architectures that support highly
abstracted interfaces to system facilities. In great part, this is due to the de-coupling of
communication and distribution issues from the management of consistency. To take full
advantage of Palimpsest’s relaxed synchronization requirements, a loosely coupled archi-
tecture is needed.
• Application interface and performance issues. For application developers, the structure of
the software interface and its interactive performance are among the most critical issues.
The advantages of a Palimpsest-based architecture must not come at too high a price for
the application programmer. This means that the complexity of the model must be hid-
den behind a simple, convenient interface.
• Communication issues. In all collaborative applications communication is obviously a
critical factor. Much of the motivation for this approach is the observation that much
human collaboration involves ad hoc and opportunistic scheduling and control of the
work process. Similarly, human communication channels are also chosen opportunisti-
cally. A collaboration architecture should be able to easily accommodate a wide variety
of communication channels, with widely varying policies and response characteristics.
7.1 A framework architecture
A global architecture for Palimpsest applications is shown in Figure 7.1. This shows two
kinds of interactions. Solid arrows indicate channels along which change events are dis-
patched. Any editing operation that an application wishes to reflect to the data model is an
In this chapter, I will briefly consider how the Palimpsest model can be used to create an
effective collaboration architecture. This chapter proposes an architecture to take advantage
of the facilities provided by Palimpsest. The fundamental concerns are:
• Global architecture. Palimpsest lends itself to use in architectures that support highly
abstracted interfaces to system facilities. In great part, this is due to the de-coupling of
communication and distribution issues from the management of consistency. To take full
advantage of Palimpsest’s relaxed synchronization requirements, a loosely coupled archi-
tecture is needed.
• Application interface and performance issues. For application developers, the structure of
the software interface and its interactive performance are among the most critical issues.
The advantages of a Palimpsest-based architecture must not come at too high a price for
the application programmer. This means that the complexity of the model must be hid-
den behind a simple, convenient interface.
• Communication issues. In all collaborative applications communication is obviously a
critical factor. Much of the motivation for this approach is the observation that much
human collaboration involves ad hoc and opportunistic scheduling and control of the
work process. Similarly, human communication channels are also chosen opportunisti-
cally. A collaboration architecture should be able to easily accommodate a wide variety
of communication channels, with widely varying policies and response characteristics.
7.1 A framework architecture
A global architecture for Palimpsest applications is shown in Figure 7.1. This shows two
kinds of interactions. Solid arrows indicate channels along which change events are dis-
patched. Any editing operation that an application wishes to reflect to the data model is an