====== Sistemi Peer to Peer 2012/13 ====== =====Docente: Laura Ricci ===== {{:informatica:p2p:new.gif?50|}} ====I lucidi dell'anno accademico 2012/13 possono essere reperiti inviando una mail a ricci@di.unipi.it==== ===== Informazioni Generali ===== Il programma dell'anno accademico 2012/2013 prevede alcune parti nuove rispetto a quelle degli anni precedenti, in particolare: * P2P Live video Streaming: Spotify * P2P Multiplayer Games **Oltre a quello pubblicato sulla pagina del corso, ulteriore materiale didattico è stato consegnato direttamente agli studenti. Chi fosse interessato a ricevere questo materiale può contattarmi via e-mail** ===== Regolamento per studenti dei vecchi corsi di laurea ===== Gli studenti che hanno frequentato le vecchie Lauree Specialistiche possono comunque sostenere l'esame che verrà verbalizzato con il vecchio codice Gli studenti della vecchia laurea triennale(26) possono inserire l'esame nel proprio piano di studi utilizzando i crediti a scelta Gli studenti della vecchia laurea triennale(26) che hanno gia' utilizzato i crediti a scelta e che intendono sostenere l'esame sono pregati di contattarmi ===== Orario delle lezioni ===== ^ Giorno ^ Orario ^ Aula ^ | Mercoledì | 16.00-18.00 | C | | Venerdì | 11.00-13.00| C | ===== Orario di Ricevimento ===== ^ Giorno ^ Orario ^ Luogo ^ |Giovedì | 15.00-18.00 | Studio Ricci (348DE) presso Dipartimento di Informatica | Per qualsiasi problema, e per la richiesta di tesi/tirocini riguardanti gli argomenti del corso, potete contattatemi via e-mail (ricci@di.unipi.it) oppure su skype (contatto lauraemiliaricci) oppure durante l'orario di ricevimento. =====Prerequisiti===== Reti di Calcolatori, Algoritmica ===== Materiale Didattico ===== * **Lucidi delle Lezioni + Materiale Integrativo + Dispensa del Corso** * **I lucidi delle lezioni verranno pubblicati su questa pagina nel giorno successivo alla lezione** * **Testi di Riferimento** * //Overlay Networks, Toward Information Networking//, Sasu Takoma, Taylor and Francis, ‏ 2010 * //Graph Theory and Complex Networks//, M. Van Steen, 2010 Per ottenere i testi di riferimento, contattare il docente * **Testi di Consultazione** * //P2P: Networking and Applications//, J. Buford, H. Yu, E.K.Lua, Morgan Kaufmann, 2009 * //Peer to Peer Systems and Applications//, R.Steinmetz, K. Wehrle, LNCS. 3485, Springer Verlag, 2005 * //Peer to Peer Computing, Principles and Applications//, Q.Hieu Vu, M.Lupu, B. Chin Ooi, Springer Verlag, 2010 ===== Modalitá d'esame ===== L'esame prevede una **prova scritta** oppure **un progetto** ed una prova orale. La prova orale può essere rimpiazzata da alcune prove proposte durante il corso. Durante il corso verranno infatti consegnati degli esercizi e verrà indicata, per ogni esercizio, una **deadline** entro cui l'esercizio dovrà essere consegnato. Lo studente **non dovrà sostenere la prova orale** nel caso in cui tutti gli esercizi consegnati entro la deadline risultino sufficienti. Altrimenti lo studente dovrà sostenere la prova orale sia nel caso in cui abbia svolto il progetto che in quello in cui abbia sostenuto la prova scritta. ===== Progetti proposti ====== I progetti proposti per l'anno accademico 2012/13 sono i seguenti: ^ Argomento ^ Testo del Progetto ^ Riferimenti ^ |Symphony: Distributed Hashing in a Small World|[[http://www.di.unipi.it/~ricci/DHT-Symphony-1112.pdf|Symphony-DHT]]|[[http://www.di.unipi.it/~ricci/symphony.pdf|Symphony]]| |Pandemic Mobile Flu: Diffusioni di Virus in Ambienti Mobili|[[http://www.di.unipi.it/~ricci/PandemicMobileFlu.pdf|Mobile Flu]]| [[http://www.di.unipi.it/~ricci/BarabasiModel.pdf|Barabasi]][[http://www.di.unipi.it/~ricci/Survey-Mobility.pdf|SurveyMobility]][[http://www.di.unipi.it/~ricci/legtchenko_et_al-dsn10.pdf|SecondLifeMobility]]| Potete scaricare il codice per la generazione di tracce di mobilità e la relativa documentazione a questo link: [[http://pomino.isti.cnr.it/~carlini/wg/readme.html|Mobility Traces Generator]]. Per eventuali problemi relativi alla utilizzazione del tool potete contattare Emanuele Carlini (emanuele.carlini@isti.cnr.it) Lo studente che intende proporre progetti su temi diversi deve inviarmi una breve descrizione (1-2 pagine) che illustrino chiaramente il progetto proposto. * I progetti rimangono validi fino alla fine di Aprile 2014. * L'esame è su appuntamento per gli studenti che svolgono il progetto. La discussione del progetto e l'eventuale orale si tengono circa una settimana dopo la consegna del progetto. * Gli appelli di esame per chi decide di sostenere lo scritto sono pubblicati nella pagina della didattica ===== Verifiche Intermedie ===== **Il FinalTerm è stato assegnato in data 24/5/2013 e deve essere consegnato entro l'11/06/2013.** Per qualsiasi problema relativo alla comprensione del testo, potete contattarmi via e-mail, durante l'orario di ricevimento o via skype (contatto:lauraemiliaricci). ^ Testo ^ Riferimenti ^ |[[http://www.di.unipi.it/~ricci/mid-term-27-03-2013.pdf|Mid Term]]| [[http://www.di.unipi.it/~ricci/pastry.pdf|Pastry]] [[http://www.di.unipi.it/~ricci/model.pdf|RoutingModel]] | |[[http://www.di.unipi.it/~ricci/Final-Term-24-05-13.pdf|Final Term]]|[[http://www.di.unipi.it/~ricci/ChurnDetect.pdf|ChurnDetect]][[http://www.di.unipi.it/~ricci/Thicket.pdf|Thicket]][[http://www.di.unipi.it/~ricci/BoundedGossip.pdf|BoundedGossip]]| ^ Cognome ^ Valutazione MidTerm ^ Valutazione FinalTerm ^ | Antuzi Daniele | Ottimo e Lode | Ottimo | | Atzei Nicola | Ottimo e Lode | Buono | | Bernabei Andrea | Buono |Ottimo | | Biggi Mattia | Buono | Buono | | Caporale Alessio | Buono | Ottimo | | Delfino Filippo | Buono | Buono | | Ibba Veronica | Sufficiente | Buono | | Licari Gianluca | Sufficiente | ---| | Luisi Marco | Discreto | Buono | | PanascÌ Giovanni | Ottimo | Ottimo e Lode| | Ponza Marco | Ottimo | Ottimo | | Marin Stefano | Ottimo e Lode | Ottimo e Lode | | Sabbadin Manuele |Discreto | --- | | Salvadori Francesco| Buono | Ottimo | | Sulas Roberto | Discreto | Discreto | Gli elaborati possono essere visionati durante l'orario di ricevimento. **Valutazione:** OTTIMO 28-30 BUONO 25-27 DISCRETO 22-24 SUFFICIENTE 18-21 ===== Appelli di Esame ===== ^ Data ^ Risultati ^ Testo ^ |12/6/2013| Marco Ponza: **Ottimo e Lode** | [[http://www.di.unipi.it/~ricci/p2p120613.pdf|Compito 12/6/13]] | =====Programma del Corso===== * Introduzione * Sistemi P2P : caratteristiche generali * Applicazioni P2P: file sharing, voice over P2P, content distribution networks, P2P video e music streaming * Overlay Non strutturati * Sistemi Centalizzati: Napster, e-Mule: la rete dei server * Tecniche di attraversamento di NAT * Sistemi Completamente Distribuiti: Gnutella 0.4 * Sistemi Ibridi: Gnutella 0.6, Kazaa * Overlay strutturati: Distributed Hash Tables * Chord * CAN, Proximity Aware Overlays: Vivaldi * Prefix Based DHT: Kademlia * Applicazione di DHT: * Implementazione di Kademlia in EMule e Bitorrent: la rete KAD * Sistemi Distribuiti Basati su DHT: Amazon Dynamo * Strumenti Formali: Catene di Markov * Distribuzione dei cammini per routing Chord * Modelli Epidemici * il Modello SI (anti entropy) * il Modello SIR (rumor mongering) * Algoritmi di gossip * Random Peer Sampling * Diffusione dell'informazione * Calcolo di funzioni di aggregazione via gossip * Network Dynamics: processi random su reti complesse, random walks * Analisi di overlay P2P come reti complesse * Random Graphs * Small Worlds: Modelli di Watts Strogatz, Kleinberg * d-lattice: coefficente di clusterizzazione * Symphony: una DHT basata sul modello di Kleinberg * Analisi di overlay: * Chord: coefficente di clusterizzazione, grado dei nodi, diametro * Analisi reti generate da random peer sampling * Scale Free Networks: Gnutella * Content Distribution Networks: BitTorrent * Elementi di teoria dei giochi * Chocking: cooperazione tra peer * Algoritmi per la scelta dei pezzi * P2P Audio/Video Streaming: Spotify * Ambienti Virtuali Distribuiti: Massively Multiplayer Online Games su cloud e P2P * Reti P2P in Ambienti Mobili * Opportunistic Networks * Modelli di mobilità * Strumenti per la simulazione di reti P2P: Peersim, PerfactSim ===== Registro delle lezioni ===== **IMPORTANTE: ** Il corso è in continua evoluzione, per cui si devono utilizzare i lucidi pubblicati in questa sezione, **non quelli degli anni precedenti!** ^ Data ^ Argomenti ^ Lucidi ^ Materiale Integrativo ^ |20/2/2013|Introduzione| | | |22/2/2013|Napster, Attraversamento NAT| |{{http://www.di.unipi.it/~ricci/p2pnat.pdf| Tutorial Hole Punching }} | |27/2/2013|Reti P2P non strutturate: Gnutella 0.4| | | |01/3/2013|Reti P2P non strutturate ibride| | {{http://www.di.unipi.it/~ricci/TutorialKazaa.pdf|Tutorial Kazaa}} | |06/3/2013|DHT: Introduzione| | | |08/3/2013|Chord:Routing Tables, join, leave| | | |13/3/2013|CAN, Proximity aware DHT| | |15/3/2013|Plaxton Routing Based DHT: Kademlia| | | |20/3/2013|Strutture Dati Probabilistiche per Sistemi P2P| |{{http://www.di.unipi.it/~ricci/im2005b.pdf| Tutorial Bloom Filter}} | |20/3/2013|EMule: Sisteme dai Crediti, Gestione Code, Corruption Handling| |{{http://www.di.unipi.it/~ricci/e-mule-report.pdf| Tutorial eMule}} | |22/3/2013|Implementazione di Kademlia in EMule e Bitorrent: la rete KAD| | | |27/3/2013|Modellazione Routing Chord con Catene di Markov| | | |10/4/2013|Algoritmi Epidemici: Modelli SI e SIR, Random Peer Sampling| |{{http://www.di.unipi.it/~ricci/Jelasity.pdf|Capitolo Gossip}} | |12/4/2013|Algoritmi Epidemici: Applicazioni| | | |17/4/2013|P2P in Data Centers: Dynamo| | {{http://www.di.unipi.it/~ricci/nosqldbs.pdf|Tutorial NoSQL Databases}} | |19/4/2013|Analisi di Reti Complesse: Random Graph| | | |24/4/2013|I modelli di Watts-Strogatz e Kleinberg| | | |26/4/2013|Kleinberg Based DHT; Analisi di Overlays| | {{http://www.di.unipi.it/~ricci/GossipBasedPeerSampling.pdf|Gossip Sampling}} | |3/5/2013|Content Distribution Networks: Bittorrent | | | |8/5/2013| Massively Multiplayer Games: Client/Server, Cloud e P2P| | | |10/5/2013| Consegna e Discussione del Progetto Finale| | | |17/5/2013| Mobile P2P, Guest Lecture Franca Del Mastro, CNR| | Guest Lecture | |22/5/2013| Scale Free Networks| | |24/5/2013| P2P streaming, Spotify| | |24/5/2013| Simulatori di Reti P2P: Peersim| | |24/5/2013| Simulatori di Reti P2P: Peerfactsim| | ==== Link ai Corsi degli Anni Precedenti ==== [[Peer to Peer 2011-2012]]