MSIT 491: Special Topics - Peer-to-Peer Computing
Winter 2008

[Description | Location/Time |Topics | Schedule]


Remember to check this regularly!

Administrative Information


Fabián E. Bustamante
2145 Sheridan Road, Room 345
+1 847 491-2745

Course Description

Peer-to-peer (P2P) computing can be defined as the sharing of computer resources and services by direct exchange between the participating machines. The term took center stage of the computing field in the late 1990s, with systems such as Napster, SETI@home and Guntella, becoming the favorite topic in IT-related forums. Today, a Google search for "peer-to-peer" quickly returns over 50,000,000 hits!

While P2P became famous mostly in the context of (legal and illegal) file sharing, the model has been successfully applied in a number of other contexts from telephony to media streaming and naming services. Of course, not everybody think is such a great idea. Reportedly representing over 60% of the total Internet traffic, P2P is challenging our understanding of intellectual properties, putting the jobs of censors at risk, and forcing Internet service providers to revisit key assumptions underlying their management techniques.

In this course, we will start with an overview of key distributed systems concepts, before introducing some of the basic ideas behind P2P and analyzing the potential, limitations and implications of this disruptive technology.

Course goals

The course introduces some of the basic ideas behind peer-to-peer computing, focusing on the potential, limitations and implications of this disruptive technology.

Course Objectives

After finishing this course, students will be able to:

Location and Time

Saturdays - 2:00-5:00PM, place Tech M164.

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all programming. Students with disabilities seeking accommodations are encouraged to contact the office of Services for Students with Disabilities (SSD) at +1 847 467-5530 or SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

Course Prerequisites

I will assume you have a basic understanding of computer systems and networking; we will review some basic concepts (e.g. processes and inter-process communication) in the first meeting.

Communication Channels

We will use the course web site ( to post announcements related to the course. You should check this regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.


There are not textbook required for this course; we will rely on a set of course notes and papers that I will be made available in the course website.

Course Organization

The course is organized around a set of lecture, in-class discussions, homework assignment and essays. Assignments will focus on gaining some practical experience with peer-to-peer system (e.g. BitTorrent), acquiring an understanding of the related research context through readings and delving into some key topics through short essays on key topics.

  1. Reading: You will select three of the papers listed for the week and write a summary report.
  2. Short in-class questions: You will gather in groups of 2-3 to answer a given question; you will provide common answer for the group, but any dissenting opinion will be noted properly.
  3. Essay: You will write a 2-page essay examining a related topic of your choice (subject to approval by the instructor). Potential topics include self-adaptation, censorship, new applications for P2P, legal challenges for P2P.

All assignments are individual efforts although you are encouraged to discuss the problems and issues with the group.

This is my first time teaching an MSIT course. I will attempt to modulate the difficulty and expectations to keep you challenged. Your feedback is encouraged!

Reading Papers

When reading papers it is normally useful to write down a summary of about a page. Your summary should include at least:

  1. Paper title and its author(s).
  2. Brief one-line summary.
  3. A paragraph of the most important ideas: perhaps a combination of their motivations, observations, interesting parts of the design, or clever parts of their implementation.
  4. A paragraph of the largest flaws; maybe an experiment was poorly designed or the main idea had a narrow scope or applicability. Being able to assess weaknesses as well as strengths is an important skill for this course and beyond.
  5. A last paragraph where you state the relevance of the ideas today, potential future research suggested by the article, etc.

You may find the following brochure useful: Efficient reading of papers in Science and Technology by Michael J. Hanson, 1990, revised 2000 Dylan McNamee.


Grading will be based on class participation (50%) and homework assignments (50%).


[Description | Location/Time |Topics | Schedule]

Last modified: Thu Nov 6 09:51:36 CST 2008