  Distributed storage systems employ replication to improve performance and
reliability. To provide low latency data access, replicas are often required to
accept updates without coordination with each other, and the updates are then
propagated asynchronously. This brings the critical challenge of conflict
resolution among concurrent updates. Conflict-free Replicated Data Type (CRDT)
is a principled approach to addressing this challenge. However, existing CRDT
designs are tricky, and hard to be generalized to other data types. A design
framework is in great need to guide the systematic design of new CRDTs.
  To address this challenge, we propose RWF -- the Remove-Win design Framework
for CRDTs. RWF leverages the simple but powerful remove-win strategy to resolve
conflicting updates, and provides generic design for a variety of data
container types. Two exemplar implementations following RWF are given over the
Redis data type store, which demonstrate the effectiveness of RWF. Performance
measurements of our implementations further show the efficiency of CRDT designs
following RWF.
