Delivery and transcoding for large scale live streaming systems
Diffusion et Transcodage à Grande Échelle de Flux Vidéo en Direct
Résumé
Today many devices are capable to capture full HD videos and use its
network connection to access Internet. The popularization of devices
and continuous efforts to increase network quality has brought a
proper environment for the rise of live streaming. Associated to the
large scale of Users Generated Content (UGC), live streaming presents
new challenges. In this thesis we target the delivery and
transcoding of live streaming systems.
First, we created a live streaming sessions data set. To study the
aspects we target of live streaming systems we need to characterize
them and evaluate the proposed solutions with relevant input traces.
Therefore our first contribution is a data set, and its analysis,
containing three months traces of two UGC live streaming services.
With millions of live sessions and hundreds of thousands broadcasters
we made it freely available for the community.
Second, we explored and developed solutions for the delivery of the
massive content produced by these platforms. One of the challenges is
the huge variation in the total number of viewers and the great
heterogeneity among streams popularity, which generally implies
over-provisioning and consequently an important resource waste. In
this thesis, we show that there is a trade-off between the number of
servers involved to broadcast the streams and the bandwidth usage
among the servers. We also stress the importance to predict streams
popularity in order to efficiently place them on the servers. We
explore three solutions, one based on platforms such as clouds or
distributed virtual machines and uses popularity predictions to map
live-streams on the servers, another based on assisted delivered
involving proprietary servers and Content Delivery Network (CDN), and
finally we discuss the economics aspects related to CDN based
delivery.
Lastly, we target the difficulties concerning transcoding of live
streams. The transcoding operations over streams are computing
consuming and are key operations on adaptive bit rate streaming. We
show that adaptive streaming is able to reduce the delivery bandwidth
cost and to increase viewer quality of experience at the cost of
computing resources for transcoding purposes. To address the trade-off
between benefits and costs, we formulate two management problems. The
first is a simplified version in which we design two strategies for
deciding which online channels should be delivered by adaptive bit
rate streaming. The second formulation we present an integer linear
program to maximize the average user quality of experience and a
heuristic algorithm that can scale to large number of videos and
users.
Aujourd'hui, de nombreux appareils sont capables de capturer des
vidéos en Full HD et d'utiliser une connexion réseau pour accéder à
Internet. La popularisation des dispositifs et les efforts continus
pour améliorer la qualité du réseau ont apporté un environnement
propice à l'essor de la diffusion en direct. De part la grande
quantité de contenu généré par les utilisateurs, la diffusion de flux
en direct présente de nouveaux défis. Dans cette thèse, nous
intêresons à la fois à distribution et du transcodage des systèmes de
diffusion en direct.
Nous avons commencé par créer un ensemble de données de sessions de
streaming en direct. Pour étudier les aspects que nous ciblons des
systèmes de diffusion en direct nous avons besoin de les caractériser
et d'évaluer les solutions proposées avec des traces pertinentes. Par
conséquent, notre première contribution est un ensemble de données et
son analyse, contenant trois mois traces de deux services de streaming
en direct généré par les utilisateurs. Avec des millions de sessions
en direct et des centaines de milliers d'utilisateurs nous avons
rendu ces données librement disponibles pour la communauté.
Ensuite, nous avons exploré et développé une solution pour la
distribution du contenu massif produit par ces platesformes. L'un des
défis est l'immense variation du nombre total de téléspectateurs et
la grande hétérogénéité des flux populaires. Ceci implique
généralement un surdimensioment des services et par conséquent un
important gaspillage de ressources. Nous proposons trois solutions:
(i) l'une basée sur une prévision de popularité afin de placer les
flux sur des plateformes telles que le nuage (cloud) ou des
machines virtuelles distribuées; (ii) l'autre utilisant une
distribution hybride entre les serveurs propriétaires et les reseaux
de distribution de contenu (CDN pour Content Delivery Network); (iii)
nous discutons des aspects economics sur la diffusion a basé de CDN.
Enfin, nous passé puis les difficultés posées par le transcodage des
flux en direct. Les opérations de transcodage sont coûteuses en
ressources CPU et sont des étapes clés pour le Streaming à Débit
Adaptatif (SDA). Nous présent que le SDA est capable de réduire le
coût en bande passante pour la distribution et d'augmenter la qualité
d'expérience des téléspectateurs en échange d'un coût en ressources
CPU pour transcodage. Pour comprendre le compromis entre les avantages
et les coûts, nous formulons deux problèmes de gestion. Le premier est
une version simplifiée dans laquelle nous concevons deux stratégies
pour décider quels flux devraient être livrés par SDA. Pour la
deuxième formulation, nous présentons une programmation linéaire en
nombres entiers pour maximiser la qualité moyenne de
l'expérience de l'utilisateur et un algorithme heuristique capable
de passer à échelle d'un grand nombre de vidéos et utilisateurs.