37085 - PRINCIPLES, MODELS AND APPLICATIONS FOR DISTRIBUTED SYSTEMS M

Anno Accademico 2023/2024

  • Docente: Walter Cerroni
  • Crediti formativi: 6
  • SSD: ING-INF/05
  • Lingua di insegnamento: Inglese
  • Moduli: Walter Cerroni (Modulo 1) Franco Callegati (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/edge/fog computing e orchestrazione di servizi.
  2. Reti definite via software (SDN).
  3. Virtualizzazione delle funzioni di rete (NFV).

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 Franco Callegati

SDGs

Imprese innovazione e infrastrutture

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