Files
praca_inzynierska/Thesis/Bibliography.bib
T

157 lines
10 KiB
BibTeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@article{replicated_abstract_data_types,
title = {Replicated abstract data types: Building blocks for collaborative applications},
journal = {Journal of Parallel and Distributed Computing},
volume = {71},
number = {3},
pages = {354-368},
year = {2011},
issn = {0743-7315},
doi = {https://doi.org/10.1016/j.jpdc.2010.12.006},
url = {https://www.sciencedirect.com/science/article/pii/S0743731510002716},
author = {Hyun-Gul Roh and Myeongjae Jeon and Jin-Soo Kim and Joonwon Lee},
keywords = {Distributed data structures, Optimistic replication, Replicated abstract data types, Optimistic algorithm, Collaboration},
abstract = {For distributed applications requiring collaboration, responsive and transparent interactivity is highly desired. Though such interactivity can be achieved with optimistic replication, maintaining replica consistency is difficult. To support efficient implementations of collaborative applications, this paper extends a few representative abstract data types (ADTs), such as arrays, hash tables, and growable arrays (or linked lists), into replicated abstract data types (RADTs). In RADTs, a shared ADT is replicated and modified with optimistic operations. Operation commutativity and precedence transitivity are two principles enabling RADTs to maintain consistency despite different execution orders. Especially, replicated growable arrays (RGAs) support insertion/deletion/update operations. Over previous approaches to the optimistic insertion and deletion, RGAs show significant improvement in performance, scalability, and reliability.}
}
@article{verifying_strong_eventual_consistency,
author = {Gomes, Victor B. F. and Kleppmann, Martin and Mulligan, Dominic P. and Beresford, Alastair R.},
title = {Verifying strong eventual consistency in distributed systems},
year = {2017},
issue_date = {October 2017},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {1},
number = {OOPSLA},
url = {https://doi.org/10.1145/3133933},
doi = {10.1145/3133933},
abstract = {Data replication is used in distributed systems to maintain up-to-date copies of shared data across multiple computers in a network. However, despite decades of research, algorithms for achieving consistency in replicated systems are still poorly understood. Indeed, many published algorithms have later been shown to be incorrect, even some that were accompanied by supposed mechanised proofs of correctness. In this work, we focus on the correctness of Conflict-free Replicated Data Types (CRDTs), a class of algorithm that provides strong eventual consistency guarantees for replicated data. We develop a modular and reusable framework in the Isabelle/HOL interactive proof assistant for verifying the correctness of CRDT algorithms. We avoid correctness issues that have dogged previous mechanised proofs in this area by including a network model in our formalisation, and proving that our theorems hold in all possible network behaviours. Our axiomatic network model is a standard abstraction that accurately reflects the behaviour of real-world computer networks. Moreover, we identify an abstract convergence theorem, a property of order relations, which provides a formal definition of strong eventual consistency. We then obtain the first machine-checked correctness theorems for three concrete CRDTs: the Replicated Growable Array, the Observed-Remove Set, and an Increment-Decrement Counter. We find that our framework is highly reusable, developing proofs of correctness for the latter two CRDTs in a few hours and with relatively little CRDT-specific code.},
journal = {Proc. ACM Program. Lang.},
month = oct,
articleno = {109},
numpages = {28},
keywords = {verification, strong eventual consistency, replication, distributed systems, convergence, automated theorem proving, CRDTs}
}
@article{eventually_consistent,
author = {Vogels, Werner},
title = {Eventually consistent},
year = {2009},
issue_date = {January 2009},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {52},
number = {1},
issn = {0001-0782},
url = {https://doi.org/10.1145/1435417.1435432},
doi = {10.1145/1435417.1435432},
abstract = {Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability.},
journal = {Commun. ACM},
month = jan,
pages = {4044},
numpages = {5}
}
@inproceedings{convergence_in_distributed_real_time_collaborative_environment,
author = {Vidot, Nicolas and Cart, Michelle and Ferri\'{e}, Jean and Suleiman, Maher},
title = {Copies convergence in a distributed real-time collaborative environment},
year = {2000},
isbn = {1581132220},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/358916.358988},
doi = {10.1145/358916.358988},
abstract = {In real-time collaborative systems, replicated objects, shared by users, are subject to concurrency constraints. In order to satisfy these, various algorithms, qualified as op?timistic, [3, 5, 13, 17, 14, 15, 18], have been proposed that exploit the semantic properties of operations to serialize concurrent operations and achieve copy con?vergence of replicated objects. Their drawback is that they either re?quire a condition on user's operations which is hard to verify when possible to ensure, or they need undo?ing then redoing operations in some situations. The main purpose of this paper is to present two new algorithms that over?come these drawbacks. They are based upon the imple?mentation of a continuous global order which enables that condition to be released, and simplifies the operation inte?gration process. In the second algorithm, thanks to de?ferred broadcast of operations to other sites, this process becomes even more simplified.},
booktitle = {Proceedings of the 2000 ACM Conference on Computer Supported Cooperative Work},
pages = {171180},
numpages = {10},
location = {Philadelphia, Pennsylvania, USA},
series = {CSCW '00}
}
@inproceedings{windowing_in_jupiter,
author = {Nichols, David A. and Curtis, Pavel and Dixon, Michael and Lamping, John},
title = {High-latency, low-bandwidth windowing in the Jupiter collaboration system},
year = {1995},
isbn = {089791709X},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/215585.215706},
doi = {10.1145/215585.215706},
booktitle = {Proceedings of the 8th Annual ACM Symposium on User Interface and Software Technology},
pages = {111120},
numpages = {10},
keywords = {CSCW, UIMS, groupware toolkits, optimistic currency control, window toolkits},
location = {Pittsburgh, Pennsylvania, USA},
series = {UIST '95}
}
@inproceedings{transformation_functions_consistency_ces,
author={Oster, G{\'e}rald and Molli, Pascal and Urso, Pascal and Imine, Abdessamad},
booktitle={2006 International Conference on Collaborative Computing: Networking, Applications and Worksharing},
title={Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems},
year={2006},
pages={1-10},
keywords={Collaboration;Delay;Collaborative work;Convergence;Information systems;Data structures;Broadcasting;Internet;Mechanical factors;Transaction databases},
doi={10.1109/COLCOM.2006.361867}
}
@inproceedings{data_consistency_p2p_collaborative_editing,
author = {Oster, G{\'e}rald and Urso, Pascal and Molli, Pascal and Imine, Abdessamad},
title = {Data consistency for P2P collaborative editing},
year = {2006},
isbn = {1595932496},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1180875.1180916},
doi = {10.1145/1180875.1180916},
abstract = {Peer-to-peer (P2P) networks are very efficient for distributing content. We want to use this potential to allow not only distribution but collaborative editing of this content. Existing collaborative editing systems are centralised or depend on the number of sites. Such systems cannot scale when deployed on P2P networks. In this paper, we propose a new model for building a collaborative editing system. This model is fully decentralised and does not depend on the number of sites.},
booktitle = {Proceedings of the 2006 20th Anniversary Conference on Computer Supported Cooperative Work},
pages = {259268},
numpages = {10},
keywords = {CSCW, collaborative editing, concurrency control, optimistic replication},
location = {Banff, Alberta, Canada},
series = {CSCW '06}
}
@inproceedings{commutative_replicated_data_type,
author={Preguica, Nuno and Marques, Joan Manuel and Shapiro, Marc and Letia, Mihai},
booktitle={2009 29th IEEE International Conference on Distributed Computing Systems},
title={A Commutative Replicated Data Type for Cooperative Editing},
year={2009},
volume={},
number={},
pages={395-403},
keywords={Binary trees;Concurrency control;History;Convergence;Concurrent computing;Compaction;Distributed computing;Delay;Automatic control;Writing;commutative replicated data type;distributed algorithms;replicated data;co-operative editing;dense identifier space},
doi={10.1109/ICDCS.2009.20}}
@online{paxos_document_editor,
author = {Yu, Weixin and Xie, Kaylee},
title = {A Paxos-Based Strongly Consistent Live Document Editor},
url = {https://www.scs.stanford.edu/26wi-cs244c/proj/live_document_editor.pdf}
}
@online{google_docs_ot,
author = {Day-Richter, John},
title = {What's Different About New Google Docs},
url = {https://drive.googleblog.com/2010/09/whats-different-about-new-google-docs.html},
}
@online{figma_multiplayer,
author = {Wallace, Evan},
title = {How Figma's Multiplayer Technology Works},
url = {https://www.figma.com/blog/how-figmas-multiplayer-technology-works/}
}
@online{apache_cassandra_documentation,
author = {Apache},
title = {Data versioning - Apache Cassandra Documentation},
url = {https://cassandra.apache.org/doc/latest/cassandra/architecture/dynamo.html#data-versioning}
}
@online{microsoft_sql_server_p2p_replication_documentation,
author = {Microsoft},
title = {Peer To Peer Transactional Replication - Microsoft SQL Server documentation},
url = {https://learn.microsoft.com/en-us/sql/relational-databases/replication/transactional/peer-to-peer-transactional-replication?view=sql-server-ver17}
}