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?