Computing in Communication Networks: From Theory to Practice

 
        

 

This book is the result of a series of tutorials, generally on the topic of Computing in Communication Networks, that we offered at several IEEE conferences over the last years. Furthermore, parts of this book are outcomes of our lecture series in Dresden, such as Communication Networks I, II, and III, Network Coding, and Cooperation in Communication Networks. These particular courses are based on classical lecture elements and aligned with several problem-based learning course elements, where the students work on their individual (mini) projects. Therefore, we hope that other educators will find this book helpful in providing easy access to the topic. We similarly hope that students in courses related to computing in communication networks will find this book helpful to provide valuable learning experiences, particularly by means of the examples presented in this book.

This book features several tutorial-style chapters in its beginning to provide (student) readers with a basic understanding of communication systems and technologies, assuming a basic familiarity with the overall content domain. We keep this introductory content to a minimum and focus directly on applied examples for an intuitive approach to the subject matter. Whenever possible, we provide the interested reader with additional background references for further studies. We similarly note that the examples provided in this book are optimized for teaching purposes and are not suited for production. This book is also the outcome of direct requests from our students over the last years to have a complete lecture script rather than a set of, hopefully nice, slides. It is always difficult to aim at a moving target, and the topic of this book is so current, that we had to make a choice of the content to include, selection what will likely have the highest possible impact in the future. We maintain a companion website for this book, in order to improve the provided examples, introduce additional content over time, and to collect your feedback. Furthermore, we provide presentation slide decks to aid educators and students of Computing in Communication Networks in utilizing this book in their educational endeavors.

Computing in Communication Networks

There are several ways to read this book. Its structure consists of eight major parts and 27 chapters, as illustrated in the following Figure. For students, we propose to read the book sequentially from the beginning to the end. Chapter 1 provides a
solid introduction to the topic and connects all necessary technologies that will be discussed in greater detail in the subsequent chapters. Chapter 2 lists several standardization activities, completing Part 1. Parts 2 and 3 describe the underlying
concepts and enabling technologies for computing in communication networks, while Part 4 describes current innovations that are made possible and are likely to be implemented at scale in the near future. The first four parts are helpful information
for the reader to understand the examples and to motivate the need for computing in future communication networks.
The core of this book is the ComNets emulator described in Part 5 together with the underlying software implementations mininet and docker. Experts that are familiar with the underlying theoretical topics could directly start with this part. In Part 6, examples are provided to deploy the various technologies described in the prior parts of the book. Part 7 contains extensions to the ComNets emulator. The last part, namely Part 8, introduces the basic tools used in the aforementioned examples.
Now we wish all students a lot of fun reading this book and trying out the examples. We look forward to new examples that will be generated in our Problem-Based Learning courses in the future.

The Editors,
Frank H.P. Fitzek
Fabrizio Granelli
Patrick Seeling
2020

 
 

Chapter List

PART 1. FUTURE COMMUNICATION NETWORKS AND SYSTEMS

Chapter 1. On the Need of Computing in Future Communication Networks

Powerpoint Slides

Chapter 2. Standardization Activities for Future Communication Networks

Powerpoint Slides

PART 2. CONCEPTS

Chapter 3. Network Slicing

Powerpoint Slides

Chapter 4. Mobile Edge Cloud

Powerpoint Slides

Chapter 5. Content Distribution

Powerpoint Slides

PART 3. ENABLING TECHNOLOGIES

Chapter 6. Software-Defined Networks

Powerpoint Slides

Chapter 7. Network Function Virtualization

Chapter Video
Powerpoint Slides

PART 4. INNOVATION TRACK

Chapter 8. Machine Learning

Powerpoint Slides

Chapter 9. Network Coding

Powerpoint Slides

Chapter 10. Compressed Sensing

Powerpoint Slides

PART 5. BUILDING THE TESTBED

Chapter 11. Mininet: An Instant Virtual Network on Your Computer

Powerpoint Slides

Chapter 12. Docker: Containerize Your Application

Powerpoint Slides

Chapter 13. ComNetsEmu: A Lightweight Emulator

Chapter Video
Powerpoint Slides

PART 6. EXAMPLES

Chapter 14. Realizing Network Slicing

Chapter Video
Powerpoint Slides

Chapter 15. Realizing Mobile Edge Clouds

Chapter Video
Powerpoint Slides

Chapter 16. Machine Learning for Routing

Chapter Video
Powerpoint Slides

Chapter 17. Machine Learning for Flow Compression

Chapter Video
Powerpoint Slides

Chapter 18. Machine Learning for Congestion Control

Powerpoint Slides

Chapter 19. Machine Learning for Object Detection

Powerpoint Slides

Chapter 20. Network Coding for Transport

Powerpoint Slides

Chapter 21. Network Coding for Storage

Powerpoint Slides

Chapter 22. In-Network Compressed Sensing

Chapter Video – Part 1
Chapter Video – Part 2
Powerpoint Slides

Chapter 23. Security for Mobile Edge Cloud

Powerpoint Slides

PART 7. EXTENSIONS

Chapter 24. Connecting to the Outer World

Powerpoint Slides

Chapter 25. Integrating Time-Sensitive Networking

Chapter Video
Powerpoint Slides

Chapter 26. Integrating Software-Defined Radios

Chapter Video
Powerpoint Slides

PART 7. TOOLS

Chapter 27. Networking Tools

Powerpoint Slides