LCN 2017

 LCN 2017

Demonstration Details

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.

  1. 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.
  2. Install guest box additions on the VM.
  3. Install Mininet and Ryu controller on the VM from source.
  4. 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
  5. Download the SVEF folder that contains the server and client binaries as well as the video files to be streamed. Place SVEF in your work directory and make the binaries executable sudo chmod +x streamer and sudo chmod +x receiver.
  6. The VM is now ready. Clone the VM using VirtualBox and name it mCast.
  7. Download mCastISP.py and mCastCDN.py and place them in the work directory of mCast
  8. Create a shared folder between host machine and VMs for logging statistics. This can be done by going in settings of the VM and adding path of a folder in the shared folders.
  9. Download Panoramic_GUI.py in the host machine. Run this script and it will launch a GUI.
  10. Use the configuration panels in the GUI to modify evaluation parameters and start the emulation. The statistics and comparison of mCast and Unicast will be shown in real-time on the Panoramic_GUI in the host machine. The network topology and traffic flows will be shown in the MiniNAM GUI in each virtual/guest machine. 

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.

Enjoy. 

This work has emanated from research conducted with the financial support of Science Foundation Ireland (SFI) under Grant Number 13/IA/1892.

Mobile and Internet Systems Laboratory

Department of Computer Science, Western Gateway Building, University College Cork, Western Road, Cork, Ireland.

Top