Prototyping and Evaluating SDN-based Multicast Architectures for Live Video Streaming
Ahmed Khalid, Ahmed H. Zahran and Cormac J. Sreenan “Prototyping and Evaluating SDN-based Multicast Architectures for Live Video Streaming” In the 42nd IEEE Conference on Local Computer Networks (LCN), October 9-12, 2017, Singapore. [Poster]
Software Defined Networking (SDN) is an emerging approach for network programmability, with the capacity to initialize, control, change, and manage network behavior dynamically via open interfaces. The rise of SDN presents an opportunity to overcome the limitations of rigid and static traditional Internet architecture and provide services like inter-domain network layer multicast for live video streaming.
In this demonstration we present a platform to evaluate and compare SDN-based multicast architectures for live streaming and benchmark their performance against standard IP unicast. The platform is equipped with two graphical user interfaces (GUI). A Panoramic UI provides a mechanism to modify various evaluation parameters and monitor the effect on output in form of graphs and live statistics. An Animator UI displays traffic flows over the chosen network topology and offers packet level information for the ongoing video streams.
We also present a prototype of mCast implemented on our platform. mCast is a novel SDN-based multicast architecture for live video streaming over the Internet. The feedback from our platform and its GUIs showcases how mCast can save network and system resources while improving the video quality for clients.
Here we outline the steps needed to setup and run the platform for evaluation. The scripts and Virtual Machines (VM) will be made available after the proceedings of the conference.
- The platform works by running a separate VM for each architecture on a host machine. Begin by creating a VM named Unicast in VirtualBox using the latest Ubuntu release.
- Install guest box additions on the VM.
- Install Mininet and Ryu controller on the VM from source.
- Download the source code and place the following scripts in your work directory:
- UnicastISP.py: For the SDN controller of ISP
- UnicastCDN.py: For the SDN controller of CDN
- Network.py: For creating the network topology and logging statistics
- MiniNAM.py: For using MiniNAM to display network topology and flows
To implement and evaluate your own algorithm or architecture for any component of ISP or CDN, modify the relevant code in mCastISP.py or mCastCDN.py.
This work has emanated from research conducted with the financial support of Science Foundation Ireland (SFI) under Grant Number 13/IA/1892.