====== 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| [[http://www.di.unipi.it/~ricci/19-02-2008-Introduzione.pdf|Introduzione]] | |19/2/2008 |Applicazioni P2P:classificazione| [[http://www.di.unipi.it/~ricci/19-02-2008-Applicazioni.pdf|Applicazioni]] | |22/2/2008 |Sistemi non strutturati: Napster, NATs| [[http://www.di.unipi.it/~ricci/22-02-2008-Napster.pdf|Napster]] | |26/2/2008 |Sistemi non strutturati: Gnutella0.4| [[http://www.di.unipi.it/~ricci/26-02-2008-Gnutella0.4.pdf|Gnutella0.4]] | |29/2/2008 |Sistemi non strutturati: Gnutella 0.6, Kazaa| [[http://www.di.unipi.it/~ricci/29-02-2008-Gnutella0.6-Kazaa.pdf|Gnutella0.6-Kazaa]] | |29/2/2008 |Introduzione alle DHT | [[http://www.di.unipi.it/~ricci/29-02-2008-DHT.pdf|DHT]] | |4/3/2008 |Chord | [[http://www.di.unipi.it/~ricci/04-03-2008-Chord.pdf|Chord]] | |7/3/2008 |CAN | [[http://www.di.unipi.it/~ricci/07-03-2008-CAN.pdf|CAN]] | |11/3/2008 |eMule ed2k | [[http://www.di.unipi.it/~ricci/11-03-2008-Emule-E2k.pdf|eMule ed2k]] | |14/3/2008 |Kademlia: la DHT utilizzata da eMule| [[http://www.di.unipi.it/~ricci/14-03-2008-Emule-Kademlia.pdf|Kademlia]] | |18/3/2008 |Simulazione di reti P2P: Peersim| [[http://www.di.unipi.it/~ricci/18-03-2008-Peersim.pdf|Peersim]] | |4/4/2008 |Simulazione di reti P2P: Peersim Event Based| [[http://www.di.unipi.it/~ricci/04-04-2008-EDPeersim.pdf|Peersim Event Based]] | |4/4/2008 | eMule KAD| [[http://www.di.unipi.it/~ricci/04-04-2008-EmuleKAD.pdf|La rete KAD]] | |8/4/2008 | Analisi Statistica di Reti Complesse| [[http://www.di.unipi.it/~ricci/08-04-2008-SmallWorlds.pdf|Reti Complesse]] | |18/4/2008 | Il Modello di Kleinberg| [[http://www.di.unipi.it/~ricci/18-04-2008-Kleinberg.pdf|Il Modello di Kleinberg]] | |22/4/2008 | Reti Scale Free: web, Internet, Gnutella| [[http://www.di.unipi.it/~ricci/22-04-2008-Scale-Free.pdf|Scale Free]] | |22/4/2008 | DHT: Load Balancing| [[http://www.di.unipi.it/~ricci/22-04-2008-Load-Balancing.pdf|Load Balancing]] | |29/4/2008 | Una Piattaforma Distribuita: Planet Lab| [[http://www.di.unipi.it/~ricci/29-04-2008-PlanetLab.pdf|Planet Lab]] | |6/5/2008 | Presentazione delle Proposte di Progetto| | |9/5/2008 | JXTA: Concetti Generali| [[http://www.di.unipi.it/~ricci/09-05-2008-JXTA-concetti-generali.pdf|JXTA(1)]] | |13/5/2008 | JXTA: I Protocolli| [[http://www.di.unipi.it/~ricci/13-05-2008-JXTA-protocols.pdf|JXTA(2)]] | |13/5/2008 | JXTA: il Servizio SRDI| [[http://www.di.unipi.it/~ricci/13-05-2008-JXTA-srdi.pdf| JXTA(3)]] | |16/5/2008 | P2P Distributed Virtual Environments|[[http://www.di.unipi.it/~ricci/16-05-2008-DVE.pdf|P2P-DVE ]] | |20/5/2008 | Content Distribution Networks: BitTorrent|[[http://www.di.unipi.it/~ricci/20-05-2008-Bittorrent-Bloom-Filters.pdf|BitTorrent ]] | |23/5/2008 | Grid Computing|[[http://www.di.unipi.it/~ricci/23-05-2008-grid.pdf|Grid Computing]]| |27/5/2008 | Internet Coordinates, Network Coding|[[http://www.di.unipi.it/~ricci/27-05-2008-Vivaldi-Network-Coding.pdf|Vivaldi,Network Coding ]] | ===== Collegamenti ai corsi degli anni precedenti ===== [[Peer-to-Peer-2006-07]]