Ph.D Thesis

Ph.D StudentLibov Alexander
SubjectEfficient Content Delivery in P2P Networks
DepartmentDepartment of Computer Science
Supervisor PROF. Roy Friedman
Full Thesis textFull thesis text - English Version


Internet video streaming already accounts for over 64% all global IP traffic and is projected to increase in the foreseeable future. Consequently, improving the delivery mechanisms of video streaming is an important challenge with real-world consequences that has seen a plethora of protocols and systems been published and made available by industry and academia over the years. Of these systems, peer-to-peer (P2P) delivery, either between client machines, set-top boxes, middle-boxes, or intermediate (possibly software defined) routers, is compelling as it relieves much of the congestion off the video source or networks controlled by the video provider. Further, if done correctly, distributed delivery spreads the network load in a more balanced and localized manner among participants than centralized solutions.

We first present MOLStream, a modular framework for rapid development and evaluation of P2P live streaming systems. MOLStream allows P2P streaming protocols to be decomposed into basic blocks, each associated with a standard functional specification. By exposing structural commonalities between these components, MOLStream enables specific implementations of these building blocks to be combined in order to devise, refine and evaluate new P2P live streaming protocols.

Next, we introduce the notion of ingredients: a novel abstraction denoting the smallest inter-operable units of code that each express a single design choice. We re-implement our framework, now called StreamAid, to provide tools for designing protocols in terms of ingredients, systematically testing the impact of every design decision in a simulator, and deploying them in a wide-area testbed such as PlanetLab for evaluation. We show how to decompose popular P2P live streaming systems, such as CoolStreaming, BitTorrent Live and others, into ingredients and how StreamAid can help optimize and adapt these protocols.

Finally, we explore how to dynamically join multiple systems to adapt to variable environments. We implement a multi-armed bandits (MAB) algorithm component in our framework that adjusts to changing environments and demonstrate how the performance of an autonomous adaptive approach outperforms each part in isolation.

StreamAid is written in Java and is available as an open-source project at

We then take a step back and discuss incentive mechanisms. Lately, internet usage is shifting toward mobile devices. A person can connect to the internet or web applications using different mobile devices. Tit-for-tat like incentive mechanisms in P2P networks are incapable of dealing with such usage patterns. A centralized incentive mechanism can keep track of specific users, but, such incentive mechanisms will not scale well for large P2P networks. We propose a new approach to mobile P2P networks coupled with a new P2P advertisement mechanism. In particular, we explore several advertisement dissemination schemes combined with a few payments models and compare between them. The reported results are encouraging for this direction.