- Docente: Davide Borsatti
- Credits: 6
- SSD: IINF-05/A
- Language: English
- 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)
-
from Sep 14, 2026 to Nov 23, 2026
-
from Nov 26, 2026 to Dec 17, 2026
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
- Introduction to Distributed Systems, architectures.
- Processes, threads, virtualization, scalability.
- DNS and HTTP protocols.
- Communications, socket programming, APIs, remote procedure call.
- Introduction to the Python programming language.
- Practical lab exercises on the above topics.
- Cloud computing and service orchestration, OpenStack, Kubernetes.
- Network Function Virtualization (NFV), Open RAN (O-RAN).
- Software-Defined Networking (SDN), NETCONF.
- Practical lab exercises on the above topics.
MODULE 2 - Laboratory Sessions Delivered by JMA Wireless
- Laboratory session on network automation using NETCONF.
- 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
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.