For an offline-first collaborative application to operate in true peer-to-peer fashion, its collaborative features must function even in environments where internet connectivity is limited or unavailable. Each peer may only be interested in a subset of the application data relevant to its workload, and this subset can overlap in different ways with those of other peers. Limitations imposed by access control and mesh network technologies often result in peers being sparsely connected. Reasoning about consistency in these systems is hard, especially when considering transactional updates that may alter different sets of data in the same transaction. We present \textsc{IntersectionAtomicity} and \textsc{IntersectionCC} as models to reason about offline-first collaborative applications that are sparsely-connected and rely on partially replicating different subsets of a broader set of data. We then use these models to propose a set of guidelines to help developers design their application with atomicity and consistency guarantees.
翻译:为使离线优先的协作应用能够以真正的点对点方式运行,其协作功能必须在互联网连接受限或不可用的环境中正常工作。每个节点可能仅对与其工作负载相关的应用数据子集感兴趣,且这些子集可能以不同方式与其他节点的子集重叠。访问控制与网状网络技术所施加的限制常导致节点呈现稀疏连接状态。在此类系统中进行一致性推理十分困难,尤其是在考虑可能在同一事务中修改不同数据集的交易性更新时。本文提出 \textsc{IntersectionAtomicity} 与 \textsc{IntersectionCC} 模型,用于推理稀疏连接且依赖部分复制不同数据子集的离线优先协作应用。随后基于这些模型提出一套设计准则,以帮助开发者在应用设计中实现原子性与一致性保证。