37085 - Principles, Models and Applications for Distributed Systems M

Academic Year 2023/2024

  • Docente: Walter Cerroni
  • Credits: 6
  • SSD: ING-INF/05
  • Language: English
  • Moduli: Walter Cerroni (Modulo 1) Franco Callegati (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/edge/fog computing and service orchestration.
  2. Software-Defined Networking.
  3. Network Function Virtualization.

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.

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.

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 Walter Cerroni

See the website of Franco Callegati

SDGs

Industry, innovation and infrastructure

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