Andrea Marin's Homepage
Corso di Sistemi Distribuiti (page available only in Italian)

Slides del corso

Se si individuano errori/imprecisioni o parti non chiaramente illustrate nelle slides, sono apprezzati commenti che possono essere inviati per mail a marin _AT_ dsi.unive.it.
  • Introduzione ai sistemi peer to peer. Prima e seconda Generazione. Napster e Gnutella. [Ver. 0.1] Download
  • Introduzione ai sistemi peer to peer di terza generazione. Definizioni fondamentali su DHT e DOLR. Download
  • PASTRY: presentazione. Nuova versione con aggiustamenti. Download
  • PAST: presentazione. Download
  • Spanning Tree Protocol: laboratorio virtuale visto a lezione. Scarica
  • Spanning Tree Protocol: illustrazione dell'algoritmo, Slides

Esercitazioni ed Esame

La prova d'esame consiste nello svolgimento di tre esercitazioni ed una loro discussione.
  1. Studio di un sistema P2P di seconda generazione. assignment1.pdf. Questa risorsa ha lo scopo di fornire un esempio-guida. Non va assolutamente considerata risolutiva dell'esercitazione: tutte le classi possono essere alterate o riscritte ecc... e lo studente può anche ignorare completamente l'esempio fornito e scrivere l'applicazione da zero. Aggiornamento 15/10/09: L'esempio è stato aggiornato tenendo conto dell'osservazione di A. Tolomio. A riga 82 di SimplePeer.java il controllo corretto è:
    if (fwdPing.field2 != fwdPing.getDestination())
    Ovvero si evita di spedire un PING al mittente originale nel flooding. Ringrazio per la segnalazione.
  2. Confronto tra due sistemi P2P. assignment2.pdf
  3. Falut-tolerance e server web. assignment3.pdf

Materiali di approfondimento

I materiali di approfondimento proposti hanno lo scopo di integrare parti trattate a lezione ma non adeguatamente affrontate nel libro di testo. Pertanto, lo studio di questi documenti è importante.

Libro di testo

  • G. Coulouris, J. Dollimore, T. Kindberg, Distributed Systems: concepts and design. 4th Edition. Addison Wesley

Orario delle lezioni

Le lezioni si svolgono il venerdì dalle 9:00 alle 11:00 in Aula A c/o il Dipartimento di Informatica, via Torino, 155, Mestre

Registro delle lezioni

  • 1/10/2009. Introduzione al corso. Definizione di sistema peer to peer. Generazioni. Prima e seconda generazione: caratteristiche generali
  • 9/10/2009. Gnutella. Versioni dei protocolli e loro confronto.
  • 16/10/2009. Assegnazione prima esercitazione. Programmazione multi-thread in Java. Introduzione ai P2P di terza generazione.
  • 23/10/2009. PASTRY.
  • 30/10/2009. File system distribuito con PAST. Richiami di sicurezza (crittografia, certificati, smartcards).
  • 06/11/2009. Introduzione alla fault-tolerance. Concetti generali.
  • 13/11/2009. Applicazione pratica di fault tolerance a livello Data-link. Lo STP. (Uso di Netkit)
  • 20/11/2009. Studio dello STP. Algoritmo per il calcolo distribuito dell'albero di copertura.
  • 27/11/2009. Definizioni formali di Reliability ed Availability. Applicazioni in caso di semplici sistemi di ridondanza.
  • 04/12/2009. Algoritmi di fault-tolerance nel broadcasting. Proprietà dei broadcast.
  • 11/12/2009. Multimedia nei sistemi distributi. Specifiche della QoS.

Avvisi

  • 11/12/09:La lezione conclusiva del corso si terrà martedì 15 dicembre. A gennaio è pevista una lezione di approfondimento sulle esercitazioni assegnate.
  • 06/10/09:Viste le richieste degli studenti del corso, motivate da problemi di coordinamento con altri corsi e di trasporti, informo che le lezioni di Sistemi Distribuiti di Giovedì pomeriggio (16-18) saranno spostate il Venerdi mattina (9-11) in Aula A a partire da questa settimana (pertanto la lezione di giovedì 8 sarà la prima ad essere posticipata a venerdi 9).
  • 21/09/09: La lezione di giovedì 24 Settembre è rinviata a data da destinarsi