ComputingCloud ComputingComputer ScienceDistributed SystemsFault ToleranceFault-tolerant SystemsConsistency ModelsData SynchronizationDistributed ComputingDistributed SynchronizationPeer-to-peer SystemsReliable Distributed SystemsConsistency In Peer-to-peer SystemsConsistency ManagementFunctional Reactive ProgrammingNat TraversalPeer-to-peer ArchitecturesPeer-to-peer ComputingPeer-to-peer SynchronizationReactive Programming
Fully peer-to-peer application software promises many benefits over cloud software, in particular, being able to function indefinitely without requiring servers. Research on distributed consistency mechanisms such as CRDTs has laid the foundation for P2P data synchronisation and collaboration. In this paper we report on our experience in taking these technologies beyond research prototypes, and working towards commercial-grade P2P collaboration software. We identify approaches that work well in our experience, such as the functional reactive programming paradigm, and highlight areas in need of further research, such as the reliability of NAT traversal and usability challenges.
13
Peer-to-Peer Communication Across Network Address Translators
Bryan Ford, P. Srisuresh, Dan Kegel · ArXiv.org · 2006 · 333 citations · Full text
Asynchronous functional reactive programming for GUIs
Evan Czaplicki, Stephen Chong · 2013 · 164 citations · Full text
Local-first software: you own your data, in spite of the cloud
Martin Kleppmann, Adam B. Wiggins, Peter van Hardenberg et al. · 2019 · 95 citations · Full text