Dynamic management of real-time multimedia services in SDN-enabled cloud infrastructures
Creators: name: Castaldi, Tobia
Publisher: name: Università degli Studi di Napoli Federico II
Year: 2015

description: This thesis has been carried out in the field of Computer Networks and has been conducted in collaboration with my colleague Lorenzo Miniero.

We have looked after a challenging and popular application family over the Internet, namely Real-time Multimedia Applications.
The proliferation of new network technologies that characterizes the last years has led to the birth of a variegated set of new complex services on top of the Internet. 
The network, which in its early days was mainly aimed at distributing static contents, is rapidly evolving toward a paradigm based on dynamic or even real time information. 
One of the most appealing services is the streaming of real time multimedia contents over the Internet. In this context, the most challenging goal for operators is to provide users with services that are comparable in terms of perceived quality to the traditional TV broadcasting system. At the time of this writing the whole portfolio of real time multimedia streaming services is characterized by some common issues. First of all the need for users to install third party software or plugins for web browsers in order to be able to reproduce multimedia streams. It's worth noting that different services rely upon different software solutions and in most of the cases they are not inter-operable.  Furthermore, existing streaming services are afflicted by high transmission delay. This fact can be very annoying when users are provided with  a feedback channel to interact with the source of the streaming. For example, if during a webinar (online seminar) participants can interact with the current speaker, even a few seconds delay could cause misunderstandings and slow down the progress of the event. 
As another example, it must be said that one of the most common use cases when it comes to streaming is the broadcast of sport events. In this case, someone in the neighbourhood watching the same event on television could rejoice and scream, hence spoiling the surprise for a scored goal.

To cope with such issues, we have worked on a novel architecture aimed to provide a web-based real-time multimedia streaming service capable to serve a very large number of users. 
The framework we propose leverages techniques that have been successfully exploited in Content Delivery Networks (CDN) at the application level and in the field of the so called Software Defined Networking (SDN) for what concerns the underlying network infrastructure.
Our platform envisages the cloud-based deployment of several elements cooperating to deliver the service to end users. More specifically, the server side of our architecture is based on an overlay network of application level components configured to create a self-organized tree topology. Each node of the tree plays one of the following roles: (i) root (ii) relay (iii) leaf. The source of the stream, i.e. the broadcaster, sends multimedia flows to the root node which transcodes them in order to generate different quality replicas of the original flows. When new users try to access the stream (by simply opening a web page) they are directed by the framework to one of the leaves of the tree depending on the overall status of the network and/or on particular client side constraints (type of device, available bandwidth, etc.). A distributed algorithm is used to provide the root node with information about the overall load status of the network and to allow it to dynamically manage the content distribution chain (by adding or removing nodes).
As for the real time requirement, communication among broadcaster, internal nodes and final users relies entirely upon the upcoming WebRTC/RtcWeb (Real-Time Communication in Web-browsers) technology, which guarantees pure web based access to multimedia streams, as well as support for real time delivery of multimedia contents. 

In the second part of the thesis, we focus on SDN enabled networks, once again basing our work on a study of current architectural and performance challenges. The acronym SDN stands for Software Defined Networks and it represents an innovative approach to networking, attempting to keep the pace of the substantial diffusion and utilization we are experiencing in the latest years. By developing an application on the top of an SDN, a network administrator can obtain a substantial degree of scalability and reconfiguration that they would not be able to reach in any other way.
We hence propose a framework for the performance optimization of the above mentioned streaming platform, as well as for the simplification of its management and administration.