Events
The Taub Faculty of Computer Science Events and Talks
Alexander Libov (Ph.D. Thesis Seminar)
Wednesday, 21.10.2015, 14:30
Advisor: Prof. Roy Friedman
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.
In this work we present StreamAid, a modular framework for rapid
development and evaluation of P2P live streaming systems.
StreamAid allows P2P streaming protocols to be decomposed
into basic blocks, each associated with a standard functional
specification. 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.
Our framework provides 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.
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 freely available as an open-source project at
https://github.com/alibov/StreamAid.