next up previous contents
Next: Overview of Thesis Up: Introduction Previous: Shared Data Spaces

Weakly Ordered Eventual Consistency

Eventual consistency is a weak cache consistency protocol that guarantees that replicas that see the same set of updates will reflect the same final state. Intermediate states may be inconsistent across distributed caches depending on the updates seen by each cache. Our implementation of eventual consistency differs from others in that it allows servers to deliver updates in an arbitrary order. Updates are exposed immediately to the application and to the user. The accepting server of an update (the first server to see the update) timestamps the update using a logical clock, and updates with newer timestamps supersede all earlier updates for an object because updates include the entire state of the modified object. This makes merging updates trivial and rolling back updates unnecessary because the latest update to an object is always applied and deemed the current state.

Weakly ordered eventual consistency is acceptable and easy to implement for graphical applications. The kind of graphical applications that can tolerate transient inconsistencies can take advantage of the efficiency and scalability of weakly ordered eventual consistency. For graphical applications, this weak consistency policy is based on the idea that caches of graphical data should not be concerned with the relationship between cached objects. The semantic relationships between cached data are left to the DCA and/or user. As cached data is changed, applications are notified to update their visual representations.

Chapters 3 and 4 explain this form of eventual consistency in more detail.



Carmine F. Greco
Wed Mar 26 23:44:38 EST 1997