CS 264. Peer-to-Peer Systems

Lectures (Spring 2006): Tuesdays and Thursdays 11:30-1:00 pm
Location: Maxwell-Dworkin 319

Name E-mail Office Office Hours
Professor Mema Roussopoulos cs264-staff@eecs.harvard.edu Maxwell Dworkin 227 Thursdays, 2:00-4:00 pm
Prashanth Bungale cs264-staff@eecs.harvard.edu Maxwell Dworkin 209 Tuesdays 2:30-4:00 pm


1) Please make sure you subscribe to the Cs264-class@eecs.harvard.edu mailing list. We will use this list to make important announcements as the semester proceeds. See directions below for how to subscribe.

2) Project suggestions are now available here.

3) The proposal format and a sample proposal are now available.

4) A Latex template for writing your paper and status report is available here

5) Here is the description of what your status report should contain.

Course Description

Peer-to-peer systems have recently gained a lot of attention in the social, academic, and commercial communities. One of the early driving forces behind the peer-to-peer concept is that there are many PCs in homes and offices that lie idle for large chunks of time. Why not leverage these idle resources to do something useful, like share computation or share content? In fact, peer-to-peer systems have become synonymous with file-sharing systems as systems like Napster, Gnutella, Kazaa and BitTorrent have enjoyed explosive popularity over the last few years.

While file-sharing has been very successful, peer-to-peer systems are important and useful for more than just (illegal) sharing of song files. In this class, we will study peer-to-peer systems in depth to understand what they are, what they are good for, and how to improve them. The class will be primarily based on discussions of recent research papers on peer-to-peer systems. Topics include: routing, search, caching, security, reputation and trust, incentives, and applications.

This class is geared toward graduate students at all levels as well as advanced undergraduates (Computer Science 161 or Computer Science 143 are required).


This course will involve reading papers, participating in class discussions, and completing a research project.

Students will be required to write reviews for papers they read. Look here to get information on how to write a review. Reviews are due before each class by email. (Send these as a single email with the current lecture date in the subject line, to cs264-staff@eecs. Please send reviews in plain text.)

Students will actively participate in class discussions. For each paper, we will study the contribution of the paper, place this contribution in context of previous literature, critique the methodology used and the evaluation presented. Be prepared to come to class having read the paper carefully and ready to discuss questions or comments you have in detail.

Note: NO LAPTOPS ALLOWED IN CLASS. You must have access to a printer so you may download, print copies of the papers (available below), and bring them to class for the discussions. I recommend you scribble directly on a paper any notes or questions that arise as you are reading. In fact, taking detailed notes on the paper and then reading through them before writing your review and before coming to class is a good idea. You are also welcome to send any questions about the paper to the staff mailing list before class if you feel shy asking about a particular detail in the paper.

Students will be required to undertake a major research project of their choice. Students are to work in groups of two or three (two preferred). The goal is to identify a problem that you think is not currently addressed in the peer-to-peer literature, to propose a solution to the problem, and to evaluate the solution using analysis, simulation, and/or experimental results. At the end of the course, students will present their work to the class in a short talk. The goal is to help students gain experience in research and to produce a result that might lead to a publishable paper in the future. Here is a list of suggested projects posted in previous years. We will update this as the semester progresses.

Class Mailing Lists

Staff mailing list: cs264-staff@eecs.harvard.edu . Students will use this list to send their paper reviews as well as any private questions/concerns to the staff.

Class discussion mailing list: Cs264-class@eecs.harvard.edu . Students can use this list to discuss concepts covered in class and questions/issues arising from the assignments. We will also be using this list to send out any important announcements, so please be sure to subscribe. You can subscribe to this list by clicking here and filling out the form provided.


Reviews: 15%
Class Participation: 15%
Project: 70%

Syllabus & Schedule

Date Topic Readings
2/2 Course Overview,
P2P Overview
-- No reading --
2/7 Routing A Scalable Content Addressable Network
2/9 Routing Chord,
Serving DNS Using a Peer-to-Peer Lookup Service
2/14 Applications: OpenDHT,
Applications: Stream Processing
OpenDHT: A Public DHT Service and Its Uses
Network-Aware Operator Placement for Stream-Processing Systems
2/16 Routing, Incentives Making Gnutella-like P2P Systems Scalable ,
Designing Incentives for Peer-to-Peer Routing
2/21 Applications: Samsara Samsara: Honor Among Thieves in Peer-to-Peer Storage
2/23 Measurement Measurement, Modeling, and Analysis of a Peer-to-Peer File-Sharing Workload
2/28 Applications: LOCKSS Preserving Peer Replicas By Rate-Limited Sampled Voting
3/2 Legal issues in P2P
Peer-to-Peer File Sharing and Copyright Law: A Primer for Developers ,
Are Contributions to P2P Technical Forums Private or Public Goods? - An Empirical Investigation
3/7 Legal and Security Issues in P2P SPIES: Secret Protection Incentive-based Escrow System,
A Survey of Peer-to-Peer Security Issues
3/9 Incentives Incentives Build Robustness in Bit Torrent
Faithfulness in Internet Algorithms
3/14 Security The Sybil Attack ,
Vigilante: End-to-End Containment of Internet Worms
3/16 Overlay Structure,
Applications: Network Measurement
Debunking some myths about structured and unstructured overlays ,
Network Measurement as a Cooperative Enterprise
Project Proposals Due
3/21 Applications: FreeHaven The Free Haven Project: Distributed Anonymous Storage Service
3/23 Applications: Tor
Tor: The Second-Generation Onion Router
Reputation in P2P Anonymity Systems
3/28 Spring Break -- No Reading --
3/30 Spring Break -- No Reading --
4/4 Incentives, Applications Robust Incentive Techniques for Peer-to-Peer Networks ,
P2P Content Search: Give the Web Back to the People
4/6 Applications: Skype An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol
An Experimental Study of the Skype Peer-to-Peer VoIP System
4/11 Applications: Application-level Multicast Chunkyspread: Multi-tree Unstructured Peer-to-Peer Multicast ,
Incentives-Compatible Peer-to-Peer Multicast
4/13 Security Eclipse Attacks on Overlay Networks: Threats and Defenses ,
ConChord: Cooperative SDSI Certificate Storage and Name Resolution
4/18 Applications: Information Retrieval Mercury: Supporting Scalable Multi-Attribute Range Queries
Status Reports Due
4/20 Applications Experiences in building and operating ePOST, a reliable peer-to-peer application
4/25 Incentives, Applications SWIFT: A System With Incentives For Trading ,
SmartSeer:Using a DHT to Process Continuous Queries over Peer-to-Peer Networks
4/27 Exploring Design Spaces,
2 P2P or Not 2 P2P?
Exploring the Design Space of Distributed and P2P Systems ,
2 P2P or Not 2 P2P?
5/2 Project Presentations -- No Reading --
5/4 Project Presentations -- No Reading --
5/9 No Class (Reading Period) -- No Reading --
5/11 No Class (Reading Period) -- No Reading --
5/15 No Class (Reading Period) Final Project Due at 5 pm!

  • SmartSeer:Using a DHT to Process Continuous Queries over Peer-to-Peer Networks. Kannan, Yang, Shenker, Sharma, Banerjee, Basu, Lee. Infcocom, April 2006.

  • Previous Years

    Spring 2005
    Spring 2004