Sistemi distribuiti e pervasivi

A.A. 2018/2019
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
Obiettivo del corso e' quello di illustrare i fondamenti dei sistemi distribuiti moderni permettendo una profonda comprensione delle problematiche coinvolte nella progettazione di sistemi di cloud computing e più in generale di sistemi complessi formati da nodi eterogenei con capacità di calcolo e comunicazione.

Il corso si propone anche di introdurre gli studenti ai sistemi pervasivi come particolari sistemi distribuiti ai quali partecipano come nodi smart objects e reti di sensori.
Risultati apprendimento attesi
Non definiti
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Programma e organizzazione didattica

Linea Milano

Responsabile
Periodo
Secondo semestre

STUDENTI FREQUENTANTI
Programma
Introduzione
Definizione di sistema distribuito e sistema pervasivo.
Concetti di Trasparenza e scalabilità.
Tipi di sistemi distribuiti (Cluster, Grid, Cloud, Edge, ...)

1a parte: le basi dei sistemi distribuiti
Architetture dei sistemi distribuiti e pervasivi. Sistemi client-server multilivello. Sistemi peer-to-peer, Reti di sensori e smart objects
Le basi della comunicazione in ambiente distribuito. Modelli di comunicazione. Comunicazione orientata ai messaggi; RPC/RMI; Web Service, comunicazione orientata agli stream.
Cooperazione e sincronizzazione: orologi fisici e logici; algoritmi di elezione e mutua esclusione
Consenso distribuito e Distributed Ledger (blockchain e sue applicazioni)

Case study: Google distributed system technologies

2a parte: sistemi pervasivi e applicazioni
Tipologie e architetture di sistemi pervasivi
Rappresentazione e trattamento di dati provenienti da sensori
Context-awareness e adattività

3a parte: Sicurezza e Privatezza nei sistemi distribuiti e pervasivi

ESERCITAZIONI
Sviluppo di sistemi distribuiti (Java, Web service REST, gRPC)
Sviluppo di semplici sistemi distribuiti pervasivi
Guida al progetto.
Propedeuticità
Sistemi operativi, programmazione, reti, mobile computing, reti wireless e mobili
Prerequisiti
Esame scritto con domande a risposta multipla su tutti gli argomenti principali del programma, oltre ad una parte a risposte aperte con domande ed esercizi.
Per conseguire il voto finale lo studente deve prima passare l'esame di teoria e poi consegnare e discutere un progetto software. La progettazione e lo sviluppo del progetto viene guidato nelle fasi iniziali durante le esercitazioni in aula. In questo modo il superamento dell'esame accerta sia l'apprendimento dei concetti logici fondamentali che l'acquisizione di abilità pratiche di progettazione e sviluppo di sistemi distribuiti e pervasivi.
Metodi didattici
Lezioni frontali ed esercitazioni al computer per lo sviluppo guidato di un progetto.
Materiale di riferimento
Distributed Systems: Concepts and Design, 5/e, Coulouris, Dollimore, Kindberg & Blair, Addison-Wesley, 2012, ISBN-10: 0132143011
STUDENTI NON FREQUENTANTI
Programma
Il programma non cambia per i non frequentanti.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente: Bettini Claudio
Docente/i
Ricevimento:
su appuntamento via email
stanza 7021, via Celoria 18