B8410 - DISTRIBUTED SYSTEMS AND NETWORK AUTOMATION M

Academic Year 2026/2027

  • Moduli: Davide Borsatti (Modulo 1) (Modulo 2)
  • Teaching Mode: In-person learning (entirely or partially) In-person learning (entirely or partially) (Modulo 1); In-person learning (entirely or partially) (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Communications Engineering (cod. 6712)

Learning outcomes

This course intends to provide a solid foundation in distributed systems and their applications to network automation, covering key concepts like architectures, scalability, and communication protocols. Students will also gain practical skills in areas such as socket programming, APIs, virtualization and network automation, with hands-on experience on relevant open-source software platforms.

Course contents

MODULE 1 - DISTRIBUTED SYSTEMS AND NETWORK AUTOMATION

  1. Introduction to Distributed Systems, architectures.
  2. Processes, threads, virtualization, scalability.
  3. DNS and HTTP protocols.
  4. Communications, socket programming, APIs, remote procedure call.
  5. Introduction to the Python programming language.
  6. Practical lab exercises on the above topics.
  7. Cloud computing and service orchestration, OpenStack, Kubernetes.
  8. Network Function Virtualization (NFV), Open RAN (O-RAN).
  9. Software-Defined Networking (SDN), NETCONF.
  10. Practical lab exercises on the above topics.

MODULE 2 - Laboratory Sessions Delivered by JMA Wireless

  1. Laboratory session on network automation using NETCONF.
  2. Advanced laboratory session on Kubernetes.

Readings/Bibliography

  • M. van Steen, A. S. Tanenbaum, "Distributed Systems," 4th Edition, 2023, ISBN: 978-90-815406-3-6.
  • Other material provided by the instructors.

Teaching methods

The course consists of lectures to introduce concepts, principles, and models, followed by some practical or lab-based hands-on sessions. Lab exercises are also intended to stimulate teamwork skills.

The second module will be given by a professional from an external company.

In view of the type of activity and teaching methods adopted, the attendance of this course requires the prior participation of all students in Modules 1 and 2 of the Health and Safety Training, in e-learning mode.

Assessment methods

The final examination will assess the student's ability to understand the principles and applications of distributed systems. Students will be asked to answer a few questions on the whole set of course topics, and report on the practical exercises or hands-on sessions performed during the course. Alternatively, students may complete and present a project agreed upon with the instructor.


Students with learning disabilities or temporary or permanent disabilities: please contact the relevant University office promptly (https://site.unibo.it/studenti-con-disabilita-e-dsa/en). They will be responsible for suggesting any accommodations to the students concerned. However, these accommodations must be submitted to the instructor for approval 15 days in advance, who will evaluate their suitability in relation to the educational objectives of the course.

Teaching tools

Python language programming environment.

Software tools for network management and protocol analysis.

Linux-based workstations and virtual machine hypervisors and/or container management systems.

Software platforms for service orchestration.

Office hours

See the website of Davide Borsatti

See the website of

SDGs

Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.