Main lecturer:Professor Frank Fitzek
Co-lecturer:M.Sc. Juan Cabrera
Co-lecturer:Dipl.-Ing. Zuo Xiang
From July the course will take place in room BAR/I15.
This course introduces the students to the challenges and approaches of the state of the art implementations of network coding. The course is taught not just through lectures, but also with hands-on exercises using the Kodo software library. Kodo is available as a C++ and Python library, and also as a web tool. Therefore, students with different programming preferences will be able to approach it.
The initial lectures refresh the knowledge of the students of the theoretical background of network coding, e.g., the min-cut max-flow of a network, inter-flow network coding, and intra-flow Random Linear Network Coding (RLNC). The student is then introduced to the state of the art software library Kodo and the advanced implementations of network coding such as systematic, sparse, tunable sparse, sliding window, etc. The course also covers the benefits of network coding in distributed storage applications. By the end of the course, the student will be introduced to advanced applications of network coding, e.g., Coded TCP, MORE, FULCRUM.
The exercises will teach the students how to use sockets in python as well as the python bindings of the Kodo software library for implementing unicast and broadcast communication applications.
Language of the course and exam: English
Optional course, 8th semester
It will be a written exam.
Examination schedule for the SS 2019:
Time: 9:20 – 10:50 (2./3. DS) 90 Min.
Wednesday 6DS (16:40 – 18:10)
Thursday (Only 1.WO) 5DS (14:50 – 16:20)
[Please check the timetable and there may be new updates during the semester.]
Lectures and exercises:
Exercises (PDF files) can be downloaded here.
You can access the online Jupyter Notebook use this. address. Examples are in folder NetCod-Lecture-Series.
You require a valid Kodo license in order to build and use the library. Please request a license by filling out the license request form. Kodo is available under a research and education-friendly license, you can see the details here.
Once you obtain a valid license, please go to the Kodo Python repository here and follow the instructions to build it on your PC.
The lecturers can give you better support if you are building and running Kodo in a GNU/Linux system. Therefore, if you only have Windows or macOS installed, please install a GNU/Linux virtual machine first. You could use Virtualbox to install Ubuntu. You can also download an zipped VM image named ubuntu-18.04-kodovm.ova.zip (Ubuntu server 18.04 LTS with essential build tools and Python3 dependencies installed.) here and import the OVA file into Virtualbox. Please check the SHA256SUM and read the REAME.md file for usage.
A video of different encoders-decoders pairs can be found here.
A emulation of placement of recoder in a chain topology with ComNetsEmu network emulator is introduced in E5 and E6. ComNetsEmu extends the famous Mininet emulator to support docker-in-docker setup (lightweight nested emulation) and to enable emulating NFV/SDN applications on a single laptop. You can find the detailed README and all source codes here.