====== Peer to Peer 2007/08 ====== =====Docente: Laura Ricci ===== ===== Orario delle lezioni ===== ^ Giorno ^ Orario ^ Aula ^ | Martedì | 14-16 | C | | Venerdì | 14-16 | C | ===== Orario di Ricevimento ===== ^ Giorno ^ Orario ^ Luogo ^ |Giovedì | 15.00-18.00 | Studio Ricci (348DE) presso Dipartimento di Informatica | ===== Risultati Appello 12/9/08 e Calendario Orali ===== Cambria Giovanni **S** Pocci Edoardo **S** **Legenda:** **O** 28-30 **B** 25-27 **D** 22-24 **S** 18-21 **Orali** Cambria, Pocci, **Giovedi' 18 Settembre ore 12.00, presso il mio Studio** ===== Programma del Corso ===== **Introduzione** * Caratteristiche Generali di un Sistema P2P * Esempi di Applicazioni **Sistemi Non Strutturati** * Napster * Gnutella * Kazaa * e-Mule **Sistemi Strutturati** * Distributed Hash Tables: Caratteristiche Generali * Indirizzamento * Routing * Riconfigurazione in seguito a inseriento ed eliminazione di nodi * Bilinciamento del Carico * Esempi: Chord, CAN, Pastry, Kademlia * La rete KAD * Proximity Aware Overlays: Vivaldi **Modelli per reti P2P** * Small Worlds Networks * Scale Free Networks * Applicazioni ai sistemi P2P. Symphony **Content Distribution Networks** * BitTorrent * Tecniche di Cooperazione * Network Coding * Bloom Filters **JXTA** * Definizione dei Protocolli * Gruppi, Advertisements * Pipes, Sockets * I Protocolli * Esempi di Applicazioni **P2P Distributed Virtual Environments** * Ambienti Virtuali Distributi: Overlays Dinamici,Consistenza dello Stato **Grid Computing** **Ambienti e Strumenti per lo Sviluppo di Applicazioni P2P** * PlaneLab * Peersim ===== Materiale Didattico ===== * Peer-to-Peer Systems and Applications, Lecture Notes in Computer Science, Volume 3485 Editori: Ralf Steinmetz, Klaus Wehrle, Settembre 2005 * Lucidi del Corso * Materiale Distribuito a Lezione ===== Materiale Didattico Integrativo Distribuito a Lezione ===== [[http://www.di.unipi.it/~ricci/kazaa.pdf|Protocollo Kazaa: Tutorial]] [[http://www.di.unipi.it/~ricci/e-mule-report.pdf|Protocollo EMule: Tutorial]] [[http://www.di.unipi.it/~ricci/MasterThesisBrunner.pdf|La rete KAD: Tutorial]] [[http://www.di.unipi.it/~ricci/im2005b.pdf|Bloom Filters: Tutorial]] [[http://www.di.unipi.it/~ricci/codice.rar|L'applicazione RestoNet: JXTA code]] [[http://www.di.unipi.it/~ricci/p426-dabek111111.pdf|Vivaldi]] [[http://www.di.unipi.it/~ricci/nc_contentdist.pdf|Network Coding in CDN]] ===== Modalitá d'esame ===== L'esame prevede una prova scritta **oppure** un progetto. La prova orale è obbligatoria per tutti. Il progetto può riguardare * Lo sviluppo di un'applicazione in JXTA * La simulazione di un sistema P2P mediante il simulatore Peersim * Lo studente può proporre lo sviluppo di un'applicazione P2P che utilizzi altri strumenti. Ogni proposta di questo tipo dovrà essere approvata dal docente. I progetti proposti per l'anno accademico 2007/08 sono i seguenti: ^ Argomento ^ Testo del Progetto ^ Riferimenti ^ |Simulazione di Reti Peer to Peer Non Strutturate|[[http://www.di.unipi.it/~ricci/ProgettoUnstructuredNetworks0708.pdf|Reti Non Strutturate]]| [[http://www.di.unipi.it/~ricci/adamic.pdf|Power Laws]] [[http://www.di.unipi.it/~ricci/unstructurednetworks.pdf|Unstructured Network]] [[http://www.di.unipi.it/~ricci/scalablegnutella.pdf|Gnutella]]| |Kademlia: Valutazione di Strategie di Ricerca|[[http://www.di.unipi.it/~ricci/ProgettoKademlia0708.pdf | Kademlia]]|[[http://www.di.unipi.it/~ricci/kademlia.pdf|Specifica Kademlia]]| |Sistema di Rilevazione in JXTA | [[http://www.di.unipi.it/~ricci/ProgettoJXTA0708.pdf| Rilevazione JXTA]] | | Questi progetti rimangono validi fino al 30 aprile 2009. Il progetto può essere consegnato in uno qualsiasi dei seguenti periodi: **1/6/2008-20/7/2008** **1/9/2008-15/12/2008** **7/1/2009-30/4/2009** L'esame si svolgerà circa una settimana dopo la consegna del progetto. **Testi dei Compiti** ^ Data Esama ^ Testo del Compito ^ | 08/06/2006 |http://www.di.unipi.it/~ricci/P2P08062006.pdf | | 20/07/2006 |http://www.di.unipi.it/~ricci/P2P20072006.pdf | | 11/06/2007 |http://www.di.unipi.it/~ricci/p2p11062007.pdf | | 23/07/2006 |http://www.di.unipi.it/~ricci/p2p23072007.pdf | ===== Strumenti ===== [[http://peersim.sourceforge.net/ |Simulazione di reti P2P: Peersim]] ===== Proposte di tesi ===== * Sono disponibili tesi sugli argomenti trattati nel corso. Per maggiori informazioni, contattatemi durante l'orario di ricevimento oppure tramite e-mail ===== Registro delle lezioni ===== ^ Giorno ^ Argomenti ^ Riferimenti ^ |19/2/2008 |Introduzione al Corso, Sistemi P2P: Modelli generali| Introduzione | |19/2/2008 |Applicazioni P2P:classificazione| Applicazioni | |22/2/2008 |Sistemi non strutturati: Napster, NATs| Napster | |26/2/2008 |Sistemi non strutturati: Gnutella0.4| Gnutella0.4 | |29/2/2008 |Sistemi non strutturati: Gnutella 0.6, Kazaa| Gnutella0.6-Kazaa | |29/2/2008 |Introduzione alle DHT | DHT | |4/3/2008 |Chord | Chord | |7/3/2008 |CAN | CAN | |11/3/2008 |eMule ed2k | eMule ed2k | |14/3/2008 |Kademlia: la DHT utilizzata da eMule| Kademlia | |18/3/2008 |Simulazione di reti P2P: Peersim| Peersim | |4/4/2008 |Simulazione di reti P2P: Peersim Event Based| Peersim Event Based | |4/4/2008 | eMule KAD| La rete KAD | |8/4/2008 | Analisi Statistica di Reti Complesse| Reti Complesse | |18/4/2008 | Il Modello di Kleinberg| Il Modello di Kleinberg | |22/4/2008 | Reti Scale Free: web, Internet, Gnutella| Scale Free | |22/4/2008 | DHT: Load Balancing| Load Balancing | |29/4/2008 | Una Piattaforma Distribuita: Planet Lab| Planet Lab | |6/5/2008 | Presentazione delle Proposte di Progetto| | |9/5/2008 | JXTA: Concetti Generali| JXTA(1) | |13/5/2008 | JXTA: I Protocolli| JXTA(2) | |13/5/2008 | JXTA: il Servizio SRDI| JXTA(3) | |16/5/2008 | P2P Distributed Virtual Environments|P2P-DVE | |20/5/2008 | Content Distribution Networks: BitTorrent|BitTorrent | |23/5/2008 | Grid Computing|Grid Computing| |27/5/2008 | Internet Coordinates, Network Coding|Vivaldi,Network Coding | ===== Collegamenti ai corsi degli anni precedenti ===== [[Peer-to-Peer-2006-07]]