Abstract
Peer-sampling protocols constitute a fundamental mechanism for a number of large-scale distributed applications. The recent introduction of WebRTC facilitated the deployment of decentralized applications over a network of browsers. However, deploying existing peer-sampling protocols on top of WebRTC raises issues about their lack of adaptiveness to sudden bursts of popularity over a network that does not manage addressing or routing. Spray is a novel random peer-sampling protocol that dynamically, quickly, and efficiently self-adapts to the network size. Our experiments show the flexibility of Spray and highlight its efficiency improvements at the cost of small overhead. We embedded Spray in a real-time decentralized editor running in browsers and ran experiments involving up to 600 communicating Web browsers. The results demonstrate that Spray significantly reduces the network traffic according to the number of participants and saves bandwidth.















Similar content being viewed by others
Notes
A modified version of Scamp whose periodic protocol works properly when there is no connection failures. Available at https://github.com/justayak/peersim-spray.
References
Bailis, P., Ghodsi, A.: Eventual consistency today: Limitations, extensions, and beyond. Queue 11(3), 20:20–20:32 (2013)
Baquero, C., Almeida, P., Menezes, R., Jesus, P.: Extrema propagation: Fast distributed estimation of sums and network sizes. IEEE Trans. Parallel Distrib. Syst. 23(4), 668–675 (2012)
Bertier, M., Bonnet, F., Kermarrec, A.M., Leroy, V., Peri, S., Raynal, M.: D2ht: The best of both worlds, integrating rps and dht. In: Dependable Computing Conference (EDCC), 2010 European, pp. 135–144 (2010)
Birman, K.P., Hayden, M., Ozkasap, O., Xiao, Z., Budiu, M., Minsky, Y.: Bimodal multicast. ACM Trans. Comput. Syst. 17(2), 41–88 (1999)
Bonnet, F., Tronel, F., Voulgaris, S.: Brief Announcement: Performance Analysis of Cyclon, an Inexpensive Membership Management for Unstructured P2P Overlays, pp. 560–562. Springer Berlin Heidelberg, Berlin, Heidelberg (2006)
Camarillo, G., Maenpaa, J.: Self-tuning distributed hash table (dht) for resource location and discovery (reload) RFC 7363. Ericsson (2014)
Carvajal-Gómez, R., Frey, D., Simonin, M., Kermarrec, A.-M.: Web Information Systems Engineering – WISE 2015: 16th International Conference, Miami, FL, USA, Proceedings, Part II, chapter WebGC Gossiping on Browsers Without a Server, pp. 332–336. Springer International Publishing, Cham (2015)
DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazon’s highly available key-value store. SIGOPS Oper. Syst. Rev. 41(6), 205–220 (2007)
Demers, A., Greene, D., Hauser, C., Irish, W., Larson, J., Shenker, S., Sturgis, H., Swinehart, D., Terry, D.: Epidemic algorithms for replicated database maintenance. In: Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing, pp. 1–12. ACM (1987)
Erdős, P., Rényi, A.: On random graphs i. Publ. Math. Debrecen 6, 290–297 (1959)
Eugster, P.T., Guerraoui, R., Handurukande, S.B., Kouznetsov, P., Kermarrec, A.-M.: Lightweight probabilistic broadcast. ACM Trans. Comput. Syst. (TOCS) 21(4), 341–374 (2003)
Frey, D., Guerraoui, R., Kermarrec, A.-M., Monod, M., Quéma, V.: Stretching Gossip with Live Streaming. In: DSN (2009)
Frey, D., Guerraoui, R., Kermarrec, A.-M., Koldehofe, B., Mogensen, M., Monod, M., Quéma, V.: Heterogeneous Gossip. In: Middleware (2009)
Frey, D., Guerraoui, R., Kermarrec, A.-M., Monod, M.: Live Streaming with Gossip. Research report, Inria Rennes Bretagne Atlantique; RR-9039 (2017)
Ganesh, A., Kermarrec, A.-M., Massoulié, L.: Scamp: Peer-to-peer lightweight membership service for large-scale group communication. In: Crowcroft, J., Hofmann, M. (eds.) Networked Group Communication, volume 2233 of Lecture Notes in Computer Science, pp. 44–55. Springer Berlin Heidelberg (2001)
Ganesh, A., Kermarrec, A.-M., Massoulié, L.: Peer-to-peer membership management for gossip-based protocols. IEEE Trans. Comput. 52(2), 139–149 (2003)
Ganesh, A., Kermarrec, A.-M., Le Merrer, E., Massoulié, L.: Peer counting and sampling in overlay networks based on random walks. Distrib. Comput. 20(4), 267–278 (2007)
Jelasity, M., Guerraoui, R., Kermarrec, A.-M., Van Steen, M.: The peer sampling service: Experimental evaluation of unstructured gossip-based implementations. In: Jacobsen, H.-A. (ed.) Middleware 2004, volume 3231 of Lecture Notes in Computer Science, pp. 79–98. Springer-Verlag (2004)
Jelasity, M., Montresor, A.: Epidemic-style proactive aggregation in large overlay networks. In: Proceedings of the 24th International Conference on Distributed Computing Systems, pp. 102–109 (2004)
Jelasity, M., Voulgaris, S., Guerraoui, R., Kermarrec, A.-M., Van Steen, M.: Gossip-based peer sampling. ACM Trans. Comput. Syst. (TOCS) 25(3), 8 (2007)
Jelasity, M., Montresor, A., Babaoglu, O.: T-man: Gossip-based fast overlay topology construction. Comput. Netw. 53(13), 2321–2339 (2009). Gossiping in Distributed Systems
Kermarrec, A.-M., Massoulié, L., Ganesh, A.: Probabilistic Reliable Dissemination in Large-Scale Systems. TPDS 14(3), 248–258 (2003)
Kleinberg, J.: The small-world phenomenon: An algorithmic perspective. In: Proceedings of the Thirty-second Annual ACM Symposium on Theory of Computing, STOC ’00, pp. 163–170. ACM, NY, USA (2000)
Leitão, J., Pereira, J., Rodrigues, L.: Hyparview: A membership protocol for reliable gossip-based broadcast. In: 37th Annual IEEE/IFIP Intern ational Conference on Dependable Systems and Networks, 2007. DSN ’07, pp. 419–429 (2007)
Li, H., Clement, A., Marchetti, M., Kapritsos, M., Robinson, L., Alvisi, L., Dahlin, M.: FlightPath: Obedience vs. Choice in Cooperative Services. In: OSDI (2008)
Monod, M.: Live streaming with gossip. PhD thesis, IC, Lausanne (2010)
Montresor, A., Jelasity, M., Babaoglu, O.: Robust aggregation protocols for large-scale overlay networks. In: International Conference on Dependable Systems and Networks, pp. 19–28 (2004)
Montresor, A., Jelasity, M.: Peersim: A scalable P2P simulator. In: Proceedings of the 9th International Conference on Peer-to-Peer (P2P’09), pp. 99–100, Seattle, WA (2009)
Nédelec, B., Molli, P., Mostéfaoui, A., Desmontils, E.: LSEQ: An adaptive structure for sequences in distributed collaborative editing. In: ACM, editor, 13th ACM Symposium on Document Engineering (2013)
Nédelec, B., Molli, P., Mostefaoui, A.: Crate: Writing stories together with our browsers. In: Proceedings of the 25th International Conference Companion on World Wide Web, WWW’16 Companion, pp. 231–234. International World Wide Web Conferences Steering Committee, Republic and Canton of Geneva, Switzerland (2016)
Peerjs. http://peerjs.com
Roverso, R., Reale, R., El-Ansary, S., Haridi, S.: Smoothcache 2.0: Cdn-quality adaptive http live streaming on peer-to-peer overlays. In: Proceedings of the 6th ACM Multimedia Systems Conference, MMSys ’15, pp. 61–72. ACM, NY, USA (2015)
Roverso, R., Högqvist, M.: Hive.js Browser-based distributed caching for adaptive video streaming. In: 2014 IEEE International Symposium on Multimedia (ISM), pp. 143–146 (2014)
Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)
Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: Conflict-free replicated data types. Stabilization, Safety, and Security of Distributed Systems, pp. 386–400 (2011)
Tölgyesi, N., Jelasity, M.: Adaptive peer sampling with newscast. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009 Parallel Processing, volume 5704 of Lecture Notes in Computer Science, pp. 523–534. Springer Berlin Heidelberg (2009)
Voulgaris, S., Gavidia, D., Van Steen, M.: Cyclon: Inexpensive membership management for unstructured p2p overlays. J. Netw. Syst. Manag. 13(2), 197–217 (2005)
Voulgaris, S., Rivière, E., Kermarrec, A.-M., Van Steen, M.: Sub-2-Sub: Self-Organizing Content-Based Publish and Subscribe for Dynamic and Large Scale Collaborative Networks. Research Report RR-5772 INRIA (2005)
Voulgaris, S., Van Steen, M.: Epidemic-style management of semantic overlays for content-based searching. In: Cunha, J., Medeiros, P. (eds.) Euro-Par Parallel Processing, volume 3648 of Lecture Notes in Computer Science, p 2005. Springer Berlin Heidelberg (2005)
Watts, D.J., Strogatz, S.H.: Collective dynamics of ‘small-world’ networks. Nature 393(6684), 440–442, 06 (1998)
Webrtc. http://www.Webrtc.org
Wuhib, F., Dam, M., Stadler, R., Clem, A.: Robust monitoring of network-wide aggregates through gossiping. IEEE Trans. Netw. Serv. Manag. 6(2), 95–109 (2009)
Zhang, L., Zhou, F., Mislove, A., Sundaram, R.: Maygh: Building a cdn from client Web browsers. In: Proceedings of the 8th ACM European Conference on Computer Systems, EuroSys ’13, pp. 281–294. ACM, NY, USA (2013)
Zhang, M., Zhang, Q., Sun, L., Yang, S.: Understanding the power of pull-based streaming protocol can we do better?. JSAC 25(9), 1678–1694 (2007)
Acknowledgments
We thank the reviewers for their helpful comments, which led to significant improvements of this work.
This work was partially funded by the French ANR project SocioPlug (ANR-13-INFR-0003), and by the DeSceNt project granted by the Labex CominLabs excellence laboratory (ANR-10-LABX-07-01).
Experiments presented in this paper were carried out using the Grid’5000 testbed, supported by a scientific interest group hosted by Inria and including CNRS, RENATER and several Universities as well as other organizations (see https://www.grid5000.fr).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Nédelec, B., Tanke, J., Frey, D. et al. An adaptive peer-sampling protocol for building networks of browsers. World Wide Web 21, 629–661 (2018). https://doi.org/10.1007/s11280-017-0478-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11280-017-0478-5