View Consistency

We have argued that optimistism is essential for successful mobile work. However it causes problems because it does not offer a simple view of data. One must deal with conflicting updates and stale reads, both of which are introduced by replication. We will examine the instantaneous consistency guarantees that can be provided when updates are made in optimistic systems. View consistency provides consistent views on a per user basis. Optimistic systems which incorporate the view consistency model offer enhanced consistency guarantees at a low cost without affecting availability significantly.

The model

The view consistency model provides a consistent view of replicated data to a logical entity. A view is consistent with the actions of an entity if it provides a data version that is not older than what an entity has seen previously. This condition for a consistent view is called the consistency criterion.

Different from Other Models

Unlike in a pessimistic scheme where each access yeilds the latest data, view consistency may provide different data to different entities. However it provides consistency for each entity. For example, a user on a mobile computer sees data that is always later than what the user has seen previously. View consistency does not guarantee anything about the data. It does not attempt to maintain or achieve data consistency. Thus it must be built on top of an optimistic system.

Entity Types

Different types of entities can see a consistent view of data.

The Basic Algorithm

The algorithm for providing view consistency requires keeping track of the last version of each file that is accessed.

Finally

What does view consistency do for you?