37085 - PRINCIPLES, MODELS AND APPLICATIONS FOR DISTRIBUTED SYSTEMS M

Anno Accademico 2024/2025

  • Docente: Walter Cerroni
  • Crediti formativi: 6
  • SSD: ING-INF/05
  • Lingua di insegnamento: Inglese
  • Moduli: Walter Cerroni (Modulo 1) Davide Borsatti (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Telecommunications Engineering (cod. 9205)

Conoscenze e abilità da conseguire

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

Contenuti

MODULO 1 - PRINCIPI E MODELLI PER I SISTEMI DISTRIBUITI

  1. Introduzione ai sistemi distribuiti, architetture.
  2. Processi, thread, virtualizzazione, scalabilità.
  3. Protocolli DNS e HTTP.
  4. Comunicazioni, programmazione di socket, API, remote procedure call.
  5. Introduzione al linguaggio di programmazione Python.
  6. Esercitazioni pratiche in laboratorio sugli argomenti di cui sopra.

MODULO 2 - APPLICAZIONI DEI SISTEMI DISTRIBUITI NELLE TELECOMUNICAZIONI

  1. Cloud computing e orchestrazione di servizi, OpenStack, Kubernetes.
  2. Virtualizzazione delle funzioni di rete (NFV), Open Source MANO.
  3. Reti definite via software (SDN), NETCONF.
  4. Esercitazioni pratiche in laboratorio sugli argomenti di cui sopra.

Testi/Bibliografia

  • M. van Steen, A. S. Tanenbaum, "Distributed Systems," 4th Edition, 2023, ISBN: 978-90-815406-3-6.
  • Altro materiale fornito dai docenti.

Metodi didattici

Il corso consiste in lezioni frontali, per introdurre concetti, principi e modelli, a cui fanno seguito esercitazioni pratiche o sessioni in laboratorio. Le esercitazioni sono pensate anche per stimolare la capacità degli studenti a lavorare in gruppo.

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, in modalità e-learning.


Modalità di verifica e valutazione dell'apprendimento

E' prevista una prova finale che intende valutare la capacità dello studente di comprendere i principi e le applicazioni dei sistemi distribuiti. La verifica dell'apprendimento avviene tramite una prova orale su tutti gli argomenti del corso e la presentazione delle attività svolte durante le esercitazioni pratiche o le sessioni di laboratorio.

Strumenti a supporto della didattica

Ambiente di programmazione Python.

Strumenti software per la gestione delle reti e l'analisi dei protocolli.

PC dotati di sistema operativo Linux e software di gestione di macchine virtuali e/o container.

Piattaforme software per l'orchestrazione di servizi.

Orario di ricevimento

Consulta il sito web di Walter Cerroni

Consulta il sito web di Davide Borsatti

SDGs

Imprese innovazione e infrastrutture

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.