Why so aggressive? On the support for Background Transfers in WebRTC

Authors: Riccardo Reale, Anton Blomberg and Roberto Roverso The WebRTC framework enables direct browser-to-browser communication for VoIP, video-conferencing but also generic javascript-based peer-to-peer (P2P) applications. In this paper, we address a major deficiency of the framework, that is the absence of a background transfer protocol. In doing so, we enable the development of un intrusive data intensive P2P applications, such as file-sharing and content delivery, on top of WebRTC. This work constitutes the first step in the process of studying and improving WebRTC’s network stack in the context of a real use-case, that is a commercial distributed content delivery...

RankSlicing: A decentralized protocol for supernode selection

Authors: Giovanni Simoni, Roberto Roverso and Alberto Montresor In peer-to-peer applications deployed on the Internet, it is common to assign greater responsibility to supernodes, which are usually peers with high computational power, large amount of memory, or high network bandwidth capacity. In this paper, we describe a practical solution to the problem of supernode selection, that is the process of discovering the best peers in the network by some application-specific metric. We provide a distributed heuristic that allows to identify the best K nodes in the P2P overlay, by taking into consideration the realities of actual deployments, such as the presence of NATs. Our approach consists of an epidemic protocol which does not require new connections to be established, but rather relies on established connections, such as the ones provided by a NAT- resilient peer sampling framework. We support our claims with a thorough evaluation of our solution in simulation and in a real deployment on thousands of consumer machines. Download...

Through the Wormhole: Low Cost, Fresh Peer Sampling for the Internet

Authors: Roberto Roverso, Jim Dowling, Mark Jelasity State of the art gossip protocols for the Internet are based on the assumption that connection establishment between peers comes at negligible cost. Our experience with commercially deployed P2P systems has shown that this cost is much higher than generally assumed.As such, peer sampling services often cannot provide fresh samples because the service would require too high a connection establishment rate. In this paper, we present the wormhole-based peer sampling service (WPSS). WPSS overcomes the limitations of existing protocols by executing short random walks over a stable topology and by using shortcuts (wormholes), thus limiting the rate of connection establishments and guaranteeing freshness of samples, respectively. We show that our approach can decrease the connection establishment rate by one order of magnitude compared to the state of the art while providing the same levels of freshness of samples. This, without sacrificing the desirable properties of a PSS for the Internet, such as robustness to churn and NAT-friendliness. We support our claims with a thorough measurement study in our deployed commercial system as well as in simulation....

Hive.js: Browser-Based Distributed Caching for Adaptive Video Streaming

Authors: Roberto Roverso and Mikael Hoegqvist Peer-to-peer (P2P) technology has long been considered a natural complement to standard CDN infrastructure for video distribution since it greatly reduces costs and improves quality of user experience. However, P2P solutions have traditionally required the installation of additional software or plugins to be deployed, which significantly hinders adoption. In this paper, we present Hive.js, a browser-based plugin-less distributed caching platform for video streaming. Hive.js is layered over WebRTC, a new set of HTML5 APIs for direct browser-to-browser communication, and it is designed to transport adaptive HTTP streaming protocols, specifically MPEG-DASH. Initial results obtained by evaluating Hive.js in a controlled test environment show that our approach significantly reduces the load on CDN infrastructure and does not sacrifice quality of user experience. Download...

On the Optimality and Speed of the Deep Greedy Switching Algorithm for Linear Assignment Problems

Authors: Amgad Naiem, Mohammed El-Beltagy The Deep Greedy Switching algorithm is a fast heuristic for solving large instances of the linear sum assignment problem whilst sacrificing very little in terms of optimality. In this paper we explore the worst case performance aspects of the algorithm. We prove that the algorithm is finite and analyze its computational complexity. We also discuss a number of simplified variations of the algorithm that shed some light on how the algorithm works. The basic algorithm is also extended to problems involving partial assignment. Computational results on a number of problem types show that the solutions reached by our algorithm are only slightly worse than those obtained by the auction algorithm. A parallelized version of the basic algorithm is presented. Our algorithm is significantly faster than other methods with approaching a comparable quality of solution....

Mesmerizer: A Effective Tool for a Complete Peer-to-Peer Software Development Life-cycle

Authors: Roberto Roverso, Sameh El-Ansary, Alexandros Gkogkas, Seif Haridi In this paper we present what are, in our experience, the best practices in Peer-To-Peer(P2P) application development and how we combined them in a middleware platform called Mesmerizer. We explain how simulation is an integral part of the development process and not just an assessment tool. We then present our component-based event-driven framework for P2P application development, which can be used to execute multiple instances of the same application in a strictly controlled manner over an emulated network layer for simulation/testing, or a single application in a concurrent environment for deployment purpose. We highlight modeling aspects that are of critical importance for designing and testing P2P applications, e.g. the emulation of Network Address Translation and bandwidth dynamics. We show how our simulator scales when emulating low-level bandwidth characteristics of thousands of concurrent peers while preserving a good degree of accuracy compared to a packet-level simulator....