37085 - Principles, Models and Applications for Distributed Systems M

Academic Year 2025/2026

  • Moduli: Davide Borsatti (Modulo 1) Davide Borsatti (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Telecommunications Engineering (cod. 9205)

Learning outcomes

Knowledge related to the technologies needed for management and usage of computer networks and distributed systems.

Course contents

MODULE 1 - PRINCIPLES AND MODELS FOR DISTRIBUTED SYSTEMS

  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.

MODULE 2 - APPLICATIONS OF DISTRIBUTED SYSTEMS IN TELECOMMUNICATIONS

  1. Cloud computing and service orchestration, OpenStack, Kubernetes.
  2. Network Function Virtualization (NFV), Open RAN (O-RAN).
  3. Software-Defined Networking (SDN), NETCONF.
  4. Practical lab exercises on the above topics.

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.

Part of 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.


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

SDGs

Industry, innovation and infrastructure

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