Table Of ContentLive Streaming in P2P
and Hybrid P2P-Cloud
Environments for the
Open Internet
AMIR H. PAYBERAH
Doctoral Thesis in Information
and Communication Technology
Stockholm, Sweden 2013
Live Streaming in P2P and Hybrid P2P-Cloud
Environments for the Open Internet
AMIR H. PAYBERAH
Doctoral Thesis in
Information and Communication Technology
Stockholm, Sweden 2013
TRITA-ICT/ECS AVH 13:05 KTH School of Information and
ISSN 1653-6363 Communication Technology
ISRN KTH/ICT/ECS/AVH-13/05-SE SE-164 40 Kista
ISBN 978-91-7501-686-3 SWEDEN
Akademisk avhandling som med tillstånd av Kungl Tekniska högskolan framlägges
till offentlig granskning för avläggande av teknologie licentiatesexamen i datalogi
Torsdag den 13 Juni 2013 klockan 13:00 i sal E i Forum IT-Universitetet, Kungl
Tekniskahögskolan, Isajordsgatan 39, Kista.
Swedish Institute of Computer Science
SICS Dissertation Series 60
ISRN SICS-D–60–SE
ISSN 1101-1335.
© Amir H. Payberah, June 13, 2013
Tryck: Universitetsservice US AB
iii
Abstract
Peer-to-Peer (P2P) live media streaming is an emerging technology that
reduces the barrier to stream live events over the Internet. However, providing
a high quality media stream using P2P overlay networks is challenging and
gives raise to a number of issues: (i) how to guarantee quality of the service
(QoS) in the presence of dynamism, (ii) how to incentivize nodes to partici-
pate in media distribution, (iii) how to avoid bottlenecks in the overlay, and
(iv) how to deal with nodes that reside behind Network Address Translators
gateways (NATs).
In this thesis, we answer the above research questions in form of new algo-
rithms and systems. First of all, we address problems (i) and (ii) by presenting
our P2P live media streaming solutions: Sepidar, which is a multiple-tree
overlay, and Glive, which is a mesh overlay. In both models, nodes with
higher upload bandwidth are positioned closer to the media source. This
structure reduces the playback latency and increases the playback continuity
at nodes, and also incentivizes the nodes to provide more upload bandwidth.
We use a reputation model to improve participating nodes in media distri-
bution in Sepidar and Glive. In both systems, nodes audit the behaviour of
their directly connected nodes by getting feedback from other nodes. Nodes
who upload more of the stream get a relatively higher reputation, and pro-
portionally higher quality streams.
To construct our streaming overlay, we present a distributed market model
inspired by Bertsekas auction algorithm, although our model does not rely
on a central server with global knowledge. In our model, each node has
only partial information about the system. Nodes acquire knowledge of the
system by sampling nodes using the Gradient overlay, where it facilitates the
discovery of nodes with similar upload bandwidth.
We address the bottlenecks problem, problem (iii), by presenting Clive
that satisfies real-time constraints on delay between the generation of the
stream and its actual delivery to users. We resolve this problem by borrowing
some resources (helpers) from the cloud, upon need. In our approach, helpers
are added on demand to the overlay, to increase the amount of total available
bandwidth, thus increasing the probability of receiving the video on time.
As the use of cloud resources costs money, we model the problem as the
minimization of the economical cost, provided that a set of constraints on
QoS is satisfied.
Finally, we solve the NAT problem, problem (iv), by presenting two NAT-
aware peer sampling services (PSS): Gozar and Croupier. Traditional
gossip-based PSS breaks down, where a high percentage of nodes are be-
hind NATs. We overcome this problem in Gozar using one-hop relaying to
communicate with the nodes behind NATs. Croupier similarly implements
a gossip-based PSS, but without the use of relaying.
To Fatemeh, my beloved wife,
to Farzaneh and Ahmad, my parents, who I always adore,
and to Azadeh, Aram, and Kaveh my lovely sister and brothers.
vii
Acknowledgements
I am deeply grateful to Professor Seif Haridi, my advisor, for giving me the oppor-
tunity to work under his supervision. I appreciate his invaluable help and support
during my work. His deep knowledge in various fields of computer science, fruitful
discussions, and enthusiasm have been a tremendous source of inspiration for me.
I would like to express my deepest gratitude to Dr. Jim Dowling for his excellent
guidance and caring. I feel privileged to have worked with him and I am grateful
for his support. He worked with me side by side and helped me with every bit of
this research.
I would never have been able to finish my dissertation without the help and
support of Fatemeh Rahimian, who contributed to many of the algorithms and
papers in this thesis.
I would also like to thank Professor Alberto Montresor, Professor Vladimir
Vlassov, Dr. Sarunas Girdzijauskas, Dr. Ali Ghodsi, Professor Christian Schulte,
and Dr. Johan Montelius for their valuable feedbacks on my work during the course
of my graduate studies. I am also grateful to Dr. Sverker Janson for giving me the
chance to work as a member of CSL group at SICS. I acknowledge the help and
support by Thomas Sjöland, the head of software and computer systems unit at
KTH.
I would like to thank Cosmin Arad for providing KOMPICS, the simulation envi-
ronment that I used in my work. I also thank Hanna Kavalionak, Tallat Mahmood
Shafaat, Ahmad Al-Shishtawy, Roberto Roverso, Raul Jimenez, Flutra Osmani,
Niklas Ekström, Martin Neumann, and Alex Averbuch for the fruitful discussions
and the knowledge they shared with me. Besides, I am grateful to the people of
SICS that provided me with an excellent atmosphere for doing research.
Finally, I am most grateful to my parents for helping me to be where I am now.