22C:196:001 Peer-to-peer Networks
Spring 2008

Instructor

Sukumar Ghosh, 201P Maclean Hall, 319-335-0738, ghosh@cs.uiowa.edu
Class meeting time: 9:30P - 10:45P TTh 109 EPB
Semester hours: 3
Office hours: 11:00-12:00 PM TTh

TA

Fang Yang, 101N MLH, fang-yang@uiowa.edu, office hours 2-4 PM Mondays.

Textbook Ralf Steinmetz and Klaus Wehrle (Eds.) Peer-to-Peer Systems and Applications. LNCS 3485, Springer 2005.

In addition to this, we will read a collection of original papers from the following list:

List of Readings

List of Projects

List of Presentations

Project Presentations

Course Outline

Peer-to-Peer (P2P) systems are an exciting development in Internet information systems and its popularity is growing. In addition to common examples of file sharing, P2P systems are also deployed for distributed computation, long-term file storage, chatting etc. This course will address the evolution of P2P networks, the early and the modern trends, and some of the major issues in this area. Topics will include:

Tests and Assignments

One midterm (30%), three assignments (30%), a project (30%) and class presentation (10%). The class presentation is mandatory for graduate students, but optional for undergraduate students who will be evaluated using a more lenient scale. There is no final examination.

Homework

Homework 1
Solution to Homework 1
Homework 2
Sample Solution to Exam 1 Questions
Homework 3
Solution to Homework 3
Guidelines about the Project Report
Final grades will be posted on ICON on May 18.

Lecture Notes

January 22, 2008
Lecture 1. Introduction to P2P Networks
Read Chapter 2, 3, 4 of the textbook.
January 24, 2008
Lecture 2. Unstructured P2P network: Gnutella
Read Chapter 5 of the textbook, and paper [3] from the readings list..
January 29, 2008
Lecture 3. Plaxton routing
Read paper [5] from the readings list.
January 31, 2008
Lecture 4. Tapestry
Read paper [26] from the readings list.
February 5, 2008
Lecture 5. Chord
Read paper [2] from the readings list. Also read section 8.1 from the textbook
February 7, 2008
Lecture 6. Chord (continued)
Read paper [2] and the technical report from the readings list.
February 12, 2008
Lecture 7. Skip Graph
Read paper [12] from the readings list.
February 14, 2008
Lecture 8. Skip Graph (continued)
Read paper [12] from the readings list.
February 19, 2008
Lecture 9. The small-world phenomenon
Read paper [8] from the readings list.
February 21, 2008
Lecture 10. The small-world phenomenon
Read paper [9] from the readings list.
February 26, 2008
Slides of the Freenet paper presented by Udaya Pisipati
Slides of the CAN paper presented by Kyle Barkmeier
February 28, 2008
Lecture 11. Partial slides of the Neighbor of Neighbor paper.
Read paper [16] from the readings list.
March 4, 2008
Lecture 12. Measurement, modeling, analysis of P2P file-sharing workload .
Read paper [25] from the readings list.
March 6, 2008
Lecture 13. Autonomic distributed systems: Examples from self-stabilization.
March 25, 2008
Lecture 14. Replication in unstructured p2p networks
Using the original SIGCOMM slides by Cohen and Shenker.
April 1, 2008
Lecture 15. Pastry P2P network
Read paper [6] from the reading list.
April 8, 2008
Lecture 16. The Bittorrent Protocol
Read paper [15] from the reading list. There are several other articles on Bittorrent protocol that are available on the web. A recent paper "Exploiting BitTorrent for Fun" discusses three methods of getting around the tit-for-tat rule. It appeared in IPTPS 2006 . A 2008 journal version of the paper appeared in Concurrency and Computation: Practice and Experience, Vol 20, pp 179-189.
April 10, 2008
Presentation on Oceanstore by Stanley Ziewacz
April 15, 2008
Lecture 17. Network Creation Game
Read paper [34] from the reading list.
April 24, 2008
Lecture 18. Dealing with Churn
Read paper [36] from the reading list.
April 24, 2008
Lecture 19. Kademlia
Read paper [35] from the reading list.