Eventually Linearizable Shared Objects
Shared objects are a useful abstraction in the design of concurrent systems. A concurrent system consists of a collection of sequential processes communicating through shared objects. A shared object can be made tolerant to process failures by storing a copy of the shared object at each process and by having the processes coordinate their actions to implement a certain degree of consistency. The more consistent the local copies are kept, the easier it is to design a distributed application using the replicated object.