Check out the new USENIX Web site. next up previous
Next: Optimistic Replication Up: Combining Adaptation-Aware Editing and Previous: Combining Adaptation-Aware Editing and


Pessimistic Replication

Figure 4: State transition diagrams for individual components of client replicas that support partial document editing and progressive update propagation based on pessimistic (A) and optimistic (B) replication models.
\begin{figure*}\centering\epsfig{file=plots/combo.epsi,width=6.5in}\\
\end{figure*}

Figure 4 (A) shows the state transition diagram for components at the client replica for a pessimistic replication system that supports adaptation-aware editing and progressive update propagation. The state transition diagram for components at the primary replica is the same as the one shown in Figure 3 (B).

The diagram in Figure 4 (A) is similar to that of Figure 3 (A) and most states have similar semantics. The semantics of Partial-Clean and Partial-Dirty are, however, a little different. A component may be in the Partial-Clean state because the client requested a partial-fidelity version to reduce its network usage, or because only a partial-fidelity version of the component is available at the primary replica. As was the case in Section 2.2.1, if other replicas are to obtain access to a partial-fidelity version, it is imperative that the writer relinquishes exclusive access rights. Moreover, if another replica is to replace the partial-fidelity version with a later version with new data, the current writer should relinquish all access.

Because adaptation-aware editing is supported, a second client replica can read and modify a component as soon as a partial-fidelity version is available at the primary replica. Two scenarios are possible. First, the second client replica can delete or completely overwrite the component. In this case, the second writer propagates the new version of the component to the primary replica (in either full or partial fidelity), where it supersedes all previous versions, including any version propagated by the first writer. Based on the implementation, any further versions propagated by the first writer are either stored for archival purposes or discarded. Second, the second client replica modifies just a portion of the component. As was the case in Section 2.1.3, propagating the modifications to the partial-fidelity version requires data-type specific instrumentation. This instrumentation may or may not require waiting for the first writer to propagate a full-fidelity version of its modifications. Alternatively, for some data types it may be possible to propagate the second writer's modifications to the primary replica, and merge them lazily with the first writer's modification as they arrive.


next up previous
Next: Optimistic Replication Up: Combining Adaptation-Aware Editing and Previous: Combining Adaptation-Aware Editing and
Eyal de Lara 2003-03-04