TY - GEN
T1 - Specification and complexity of collaborative text editing
AU - Attiya, Hagit
AU - Burckhardt, Sebastian
AU - Gotsman, Alexey
AU - Morrison, Adam
AU - Yang, Hongseok
AU - Zawirski, Marek
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/7/25
Y1 - 2016/7/25
N2 - Collaborative text editing systems allow users to concurrently edit a shared document, inserting and deleting elements (e.g., characters or lines). There are a number of protocols for collaborative text editing, but so far there has been no precise specification of their desired behavior, and several of these protocols have been shown not to satisfy even basic expectations. This paper provides a precise specification of a replicated list object, which models the core functionality of replicated systems for collaborative text editing.We define a strong list specification, which we prove is implemented by an existing protocol, as well as a weak list specification, which admits additional protocol behaviors. A major factor determining the efficiency and practical feasibility of a collaborative text editing protocol is the space overhead of the metadata that the protocol must maintain to ensure correctness. We show that for a large class of list protocols, implementing either the strong or the weak list specification requires a metadata overhead that is at least linear in the number of elements deleted from the list. The class of protocols to which this lower bound applies includes all list protocols that we are aware of, and we show that one of these protocols almost matches the bound.
AB - Collaborative text editing systems allow users to concurrently edit a shared document, inserting and deleting elements (e.g., characters or lines). There are a number of protocols for collaborative text editing, but so far there has been no precise specification of their desired behavior, and several of these protocols have been shown not to satisfy even basic expectations. This paper provides a precise specification of a replicated list object, which models the core functionality of replicated systems for collaborative text editing.We define a strong list specification, which we prove is implemented by an existing protocol, as well as a weak list specification, which admits additional protocol behaviors. A major factor determining the efficiency and practical feasibility of a collaborative text editing protocol is the space overhead of the metadata that the protocol must maintain to ensure correctness. We show that for a large class of list protocols, implementing either the strong or the weak list specification requires a metadata overhead that is at least linear in the number of elements deleted from the list. The class of protocols to which this lower bound applies includes all list protocols that we are aware of, and we show that one of these protocols almost matches the bound.
KW - Collaborative text editing
KW - Eventual consistency
UR - http://www.scopus.com/inward/record.url?scp=84984699020&partnerID=8YFLogxK
U2 - 10.1145/2933057.2933090
DO - 10.1145/2933057.2933090
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:84984699020
T3 - Proceedings of the Annual ACM Symposium on Principles of Distributed Computing
SP - 259
EP - 268
BT - PODC 2016 - Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing
PB - Association for Computing Machinery
T2 - 35th ACM Symposium on Principles of Distributed Computing, PODC 2016
Y2 - 25 July 2016 through 28 July 2016
ER -