
The web application paradigm has become a dominant choice due to the ubiquity of web browsers across PCs and mobile devices, and the layer of abstraction that they provide. However, browsers have traditionally communicated only with servers, never from one browser to another. The WebRTC API overcomes this limitation, providing further avenues for the web application paradigm to evolve. In this paper we present Cyclon.p2p an implementation of the Cyclon peer sampling protocol using the WebRTC API. We provide a detailed overview of our system, and conduct a thorough evaluation of the implementation in real-world and simulated experiments. Our results strongly suggest that our implementation is feasible for large scale deployment in real world Web applications.
Video streaming constitutes the dominant portion of today's traffic on the Internet and will grow in the coming years. In order to provide for a low cost distribution of bulky video content, Peer-to-Peer (P2P) approaches are a viable way to cut down server bandwidth cost by utilizing user's upstream bandwidth to redistribute data. However, users need an incentive to participate in such a system. The related work on incentive schemes has focused on using bandwidth contribution as a measure for contribution to the system's performance, ignoring that user perceived Quality of Experience (QoE) is not necessarily maximized by maximizing bandwidth, but by delivering the right data in the right order. Consequently, this work presents QTrade, a topology agnostic incentive scheme for adaptive P2P video streaming systems based on user-validated video quality metrics. QTrade is evaluated on top of an existing adaptive streaming overlay. The results show that QTrade utilizes bandwidth more efficiently by providing incentive to distribute parts of the video with a high QoE. Moreover, up to 70% less and shorter rebuffering events are observed for cooperative peers while maintaining a 10 to 11 times worse performance in terms of rebuffering events for non-cooperative peers.
In the recent years, the P2P file sharing systems have adopted rating systems in the hope to stop the propagation of bad files. In a rating system, users rate files after downloading and a file with positive feedback is considered a good file. However, a dishonest rater can undermine the rating system by giving positive rating to bad files and negative rating to good files. In this paper, we design two filters based on probabilistic models such that the good files with negative feedback are not completely kept out of the system. The first filter is based on the binomial distribution of the ratings of a file, and the second filter considers the confidence of the downloading peer and the difference of positive and negative ratings of a file to calculate the probability to take a risk to download the file or reject it. Our filters only need the ratings of a file and this makes them suitable for popular torrent sharing websites that rank the files using a binary rating system without any information about raters. In addition, we can implement them entirely on the client side without any modification to the content sharing sites.
A distributed doubly linked list (or bidirectional ring) is a fundamental distributed data structure commonly used in structured peer-to-peer networks. This paper presents DDLL, a novel decentralized algorithm for constructing distributed doubly linked lists. In the absence of failure, DDLL maintains consistency with regard to lookups of nodes, even while multiple nodes are simultaneously being inserted or deleted. Unlike existing algorithms, DDLL adopts a novel strategy based on conflict detection and sequence numbers. A formal description and correctness proofs are given. Simulation results show that DDLL outperforms conventional algorithms in terms of both time and number of messages.
Many decentralized online social networks (DOSNs) have been proposed due to an increase in awareness related to privacy and scalability issues in centralized social networks. Such decentralized networks transfer processing and storage functionalities from the service providers towards the end users. DOSNs require individualistic implementation for services, (i.e., search, information dissemination, storage, and publish/subscribe). However, many of these services mostly perform social queries, where OSN users are interested in accessing information of their friends. In our work, we design a socially-aware distributed hash table (DHTs) for efficient implementation of DOSNs. In particular, we propose a gossip-based algorithm to place users in a DHT, while maximizing the social awareness among them. Through a set of experiments, we show that our approach reduces the lookup latency by almost 30% and improves the reliability of the communication by nearly 10% via trusted contacts.