elenco   
        corso   

Peer to Peer

Codice: AA547Crediti: 6Semestre: 2Sigla: P2P 
 
Settore disciplinare: INF/01 - Informatica

Docente

Laura Ricci   ricci@di.unipi.it  Stanza 348  Tel. 0502212768

Ultima versione disponibile: programma da confermare per l’a.a. 2008/2009

Prerequisiti

Reti, Laboratorio Programmazione di Rete

Obiettivi di apprendimento

L'obiettivo principale del corso e' quello di esporre i principi, gli algoritmi e le tecnologie fondamentali nella realizzazione di sistemi peer to peer.
Il corso e' strutturato in due parti. La prima parte espone i fondamenti relativi ai sistemi distribuiti, che vengono esemplificati attraverso algoritmi e soluzioni che fanno parte del bagaglio fondamentale di questo campo. Questa parte ha lo scopo di far comprendere allo studente i problemi fondamentali che vanno affrontati nella definizione di un sistema peer to peer, esaminandone le soluzioni.
Esempi di concetti base che verranno affrontati durante il corso sono: naming, sincronizzazione, consistenza e replicazione.
La seconda parte e' invece orientata alla presentazione sia di sistemi P2P esistenti sia sistemi attualmente studio di ricerca. In particolare verranno presenate le problematiche relative alla definizione di un opportuno middleware per questo tipo di sistemi, passando in rassegna sia tecnologie di uso comune come JXTA che proposte di ricerca (sistemi publish-subscribe, a spazi di tuple, application level multicast).
Verranno infine mostrati un insieme di sistemi P2P, sia sistemi classici per la condivisione di files come Gnutella, Kazaa, Freenet, che sistemi P2P meno convenzionali, come sistemi basati su Distributed Hash Tables, sistemi di supporto a giochi multiplayer massivi, CSCW, etc.

Descrizione

Il corso intende presentare le problematiche principali relative alla progettazione di applicazioni peer to peer.
Nella prima parte vengono introdotti i problemi relativi alla progettazione di sistemi distribuiti. La seconda
parte riguarda l'analisi di acune applicazioni P2P esistenti, sia applicazioni commerciali come Napster, Gnutella, Freenet, che
proposte di ricerca  (Chord, CAN, Tapestry). Nell'ultima parte del corso verra' introdotta la piattaforma JXTA, come
supporto per la realizzazione di sistemi peer to peer

Programma

Prima Parte. Sistemi Distribuiti: Fondamenti


Seconda Parte: Sistemi Peer to Peer
     

Bibliografia

  • Peer-to-Peer Systems and Applications, Lecture Notes in Computer Science, Volume 3485 Editori: Ralf Steinmetz, Klaus Wehrle, Settembre 2005
  • A. S. Tanenbaum, M. Van Steen, "Distributed Systems", Prentice Hall, 2002
  • Articoli Distribuiti a Lezione

Modalità di esame

Gli studenti possono scegliere se svolgere un compito scritto oppure sviluppare un piccolo progetto.
L'orale e' obbligatorio per tutti



L'orario definitivo del corso e' il seguente:
martedi' ore 14.00 -16.00 - aula B
venerdi' ore 14.00 - 16.00 - aula C
La prima lezione si terra' martedi' 21 febbraio


Ulteriore pagina web del corso: http://www.di.unipi.it/~ricci/peertopeer0506.html


home


email