Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


SISTEMI DISTRIBUITI
DISTRIBUTED SYSTEMS

A.A. CFU
2023/2024 6
Docente Email Ricevimento studenti
Stefano Ferretti Lunedì ore 14-16
Didattica in lingue straniere
Insegnamento con materiali opzionali in lingua straniera Inglese
La didattica è svolta interamente in lingua italiana. I materiali di studio e l'esame possono essere in lingua straniera.

Assegnato al Corso di Studio

Informatica e Innovazione Digitale (LM-18)
Curriculum: PERCORSO COMUNE
Giorno Orario Aula
Giorno Orario Aula

Obiettivi Formativi

Scopo del corso è fornire allo studente i fondamenti e gli strumenti per la progettazione e implementazione dei sistemi distribuiti. Verranno introdotte le principali metriche per l'analisi di un sistema distribuito. Verranno introdotti gli aspetti sistemistico-architetturali dei sistemi distribuiti, analizzando vari modelli (client-server, multi-tier, peer-to-peer, etc). Inoltre, il corso tratterà i principali algoritmi distribuiti utilizzati in diversi contesti applicativi. Infine, verranno descritti e analizzate le principali soluzioni per la realizzazione delle moderne applicazioni distribuite.

Programma

01. Introduzione ai sistemi distribuiti
01.01 Concetti principali
01.02 Metriche di riferimento
01.03 Modelli di sistemi distribuiti: asincrono, asincrono temporizzato, sincrono

02 Modelli di sistemi distribuiti
02.01 Modello Client/server
02.02 Modello Peer-to-Peer
02.03 Architetture ibride e edge computing
02.04 Sistemi complessi

03 Principali problematiche di sistemi distribuiti 
03.01 Tempo e stati globali
03.02 Comunicazioni, coordinazione e consenso
03.03 Tolleranza ai guasti
03.04 Replicazione e modelli di consistenza dei dati

04 Transazioni Distribuite e sincronizzazione
04.01 Lock distribuiti
04.02 Ordinamento dei messaggi
04.03 Distributed Commit (2PC, 3PC)
04.04 Deadlock distribuito: definizione, rilevamento, prevenzione
04.05 Tecniche di sincronizzazione

05 Sistemi Peer-to-Peer
05.01 Overlay topologies and decentralization
05.02 Distributed Hash Tables
05.03 Meccanismi basati su disseminazione 
05.04 Esempi di moderni sistemi p2p: BitTorrent
05.05 Esempi di moderni sistemi p2p: Spotify
05.06 Web Real Time Communication (WebRTC) Technologies

06 Distributed Ledgers, Blockchain, Decentralized File Systems
06.01 Modelli di registri distribuiti
06.02 Applicazioni
06.03 Meccanismi di consenso 
06.04 Smart Contracts
06.05 Inter-Planetary File System (IPFS) e altri file system decentralizzati

07 Attività di Laboratorio
07.01 WebRTC
07.02 Smart contracts

Eventuali Propedeuticità

Nessuna

Risultati di Apprendimento (Descrittori di Dublino)

Conoscenze e comprensione: lo studente acquisirà le principali conoscenze sui modelli architetturali, le principali problematiche, e gli aspetti peculiari dei sistemi distribuiti.

Capacità di applicare conoscenze e comprensione: lo studente sarà in grado di applicare le conoscenze acquisite con l'obiettivo di progettare applicazioni distribuite. Sarà anche in grado progettare ed implementare sistemi distribuiti prototipali.

Autonomia di giudizio: lo studente sarà in grado di valutare l'efficienza di un sistema distribuito.

Abilità comunicative: Lo studente sarà in grado di usare in modo appropriato la terminologia dei sistemi distribuiti. Inoltre, lo studente sarà in grado di illustrare le caratteristiche descrittive e funzionalità di un sistema e di applicazioni distribuite.

Capacità di apprendimento: lo studente apprenderà la capacità di progettare e implementare sistemi sulla base di requisiti e specifiche descrittive che specificano la tipologia di contenuti ed operazioni necessarie alla gestione di una applicazione distribuita.

Materiale Didattico

Il materiale didattico predisposto dalla/dal docente in aggiunta ai testi consigliati (come ad esempio diapositive, dispense, esercizi, bibliografia) e le comunicazioni della/del docente specifiche per l'insegnamento sono reperibili all'interno della piattaforma Moodle › blended.uniurb.it

Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento

Modalità didattiche

Lezioni frontali ed esercitazioni di laboratorio.

Obblighi

Sebbene fortemente consigliata, la frequenza non è obbligatoria.

Testi di studio

Materiale fornito dal docente.

Peer to Peer Systems and Applications, R. Steinmetz, K.Wehrle, LNCS 3485, Springer Verlag, 2005 (available online)

G. S. Coulouris, J. Dollimore, T. Kindberg, G. Blair; Distributed Systems Concepts and Design (5th ed.); Addison-Wesley; 2012

Modalità di
accertamento

Realizzazione di un progetto su un argomento riguardante le tematiche del corso e concordato preventivamente con il docente. Il progetto viene valutato sia per mezzo di una dimostrazione, con annessa disussione orale,  sia per mezzo di una documentazione consegnata alcuni giorni prima della data dell'esame. 

Il voto è determinato sulla base della qualità del progetto e della discussione orale.
La qualità del progetto è valutata in base al raggiungimento degli obiettivi dello studio, la capacità di focalizzarsi sugli aspetti centrali e strettamente inerenti al corso, la capacità di individuare le metriche prestazionali di interesse rispetto al caso di studio e alla loro valutazione. (Ad esempio, nella progettazione di un sistema distribuito non verrà valutata la "bellezza" dell'interfaccia grafica, quanto la capacità di misurare le metriche prestazionali del sistema).
La discussione orale verterà sugli argomenti relativi al progetto, ma potrà spaziare su tutti gli argomenti trattati durante il corso.

Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

Informazioni Aggiuntive per Studenti Non Frequentanti

Modalità didattiche

Materiale derivante dalle lezioni frontali ed esercitazioni di laboratorio.

Obblighi

Nessuno

Testi di studio

Materiale fornito dal docente.

Peer to Peer Systems and Applications, R. Steinmetz, K.Wehrle, LNCS 3485, Springer Verlag, 2005 (available online)

G. S. Coulouris, J. Dollimore, T. Kindberg, G. Blair; Distributed Systems Concepts and Design (5th ed.); Addison-Wesley; 2012

Modalità di
accertamento

Realizzazione di un progetto su un argomento riguardante le tematiche del corso e concordato preventivamente con il docente. Il progetto viene valutato sia per mezzo di una dimostrazione, con annessa disussione orale,  sia per mezzo di una documentazione consegnata alcuni giorni prima della data dell'esame. 

Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

« torna indietro Ultimo aggiornamento: 24/07/2023


Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

15 22

Se sei vittima di violenza o stalking chiama il 1522, scarica l'app o chatta su www.1522.eu

Il numero, gratuito è attivo 24 h su 24, accoglie con operatrici specializzate le richieste di aiuto e sostegno delle vittime di violenza e stalking.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top