Information and Computer Science 280:
Peer-to-Peer Architectures

Fall Quarter, 2001
Location: SST 220B (Need a map?)
Monday and Wednesday, 2:00 — 3:20
Course code: 36607
(Last modified Wednesday, November 28, 2001)


[November 19, 2001] Schedule updated. Due date for final paper posted.

[October 29, 2001] Some new links added to the list of commercial vendors.

[October 25, 2001] A few updates to the schedule.

[October 15, 2001] A variety of small changes to the schedule, plus addition of the Citations section.

[October 8, 2001] Art Hitomi's slides are now available.

[October 4, 2001] .pdf versions of intro slides and Greg's slides now available.

[October 2, 2001] Greg Bolcer's slides from Monday, October 1, are now available.

[September 27, 2001] Posted my lecture slides from week one, and updated a few more of the references.

[September 25, 2001] Added links to some Gnutella items

[September 20, 2001] Public unveiling of the website.

Overview | Textbook | Schedule | Academic Dishonesty | Citations



We will examine the peer-to-peer phenomenon, looking at the underlying technical issues and notional applications. We will attempt to identify the key open topics, assess their importance in the long term, and develop a research agenda for tackling those issues.

The class will operate as a research seminar: I will lecture occasionally, but there will be numerous presentations by students. The focus of class time will be discussion of what's been learned outside of class.

Grading will be based on participation in the class, and a term paper +/- a project. (That means, you'll almost assuredly have to write a term paper, and that paper in many cases will reflect work you've done in a project.) Projects can certainly be worked on in teams. We might even be using p2p technologies to support the teams! It is highly unlikely that there will be a final exam.

Prerequisite Knowledge

Students should have some background in software engineering including exposure to the basic ideas of software architecture. This is a research seminar and students will be expected to participate actively in class discussions and presentations. Some form of project will take place and to be successful with that students will need to be able to independently acquire, install, adapt, and experiment with externally developed p2p systems. Students will also need to independently discover, obtain, and analyze publications germane to the topic, and present the results of those investigations to the class.

Research Issues

There's a lot of research issues in this domain. The following list gives you some idea.

Comparison Factors

The following list is incomplete, but illustrates the kinds of factors we'll be looking at in evaluating peer-to-peer architectures

Example P2P systems and infrastructure

We'll categorize and examine several of these...



You might be interested in looking at:


Schedule (Subject to change)

Week Week Date Date Lecture topic Lecture Topic Schedule items Discussion Topic Assignments Assignments Readings
1 September 24

Introduction to the P2P concept

Intro slides in pdf

    Chapters 1-4
-- September 26 Napster, Gnutella, and other early uses    

The Gnutella protocol

Steven Bellovin's slides

The Wired article

2 October 1

Greg Bolcer, Endeavors Technology, Inc.

Greg's slides in .pdf

    Chapter 8
-- October 3        
3 October 8

Art Hitomi, and the Magi SDK.

In ICS2-136!

-- October 10 Discussion of the projects, papers and assignment of some journal and conference papers to be read and reported back to the class.      
4 October 15 Project proposals presented   Detailed project proposals due.  
-- October 17 Continuation of project proposals; discussion of what's expected on the survey      
5 October 22 Collaborative workflow discussion   Proposal for survey portion of paper due (with list of papers to be included)  
-- October 24 (Class was cancelled)      
6 October 29

Ad hoc, collaborative workflow discussion, continued, with Peter Kammer, ETI, guest.

Survey presentations begin (if there are volunteers --- hint!)

-- October 31

Rohit Khare, CTO

KnowNow, Inc.

7 November 5        
-- November 7        
8 November 12 NO CLASS Veteran's Day    
-- November 14 Project presentations begin      
9 November 19


Maulik Oza & Mukesh Rajan

-- November 21 No class      
10 November 26

Adrita Bhor,

Rob and Girish

James Yeung


-- November 28

Emily Oh

Veronica, John, and Salvador

Eugen Nistor

Exams   Final paper/project report due 9:00a.m., December 6th.  


Academic Dishonesty

I've never had an instance of cheating in a graduate seminar in my life. Nonetheless I suppose someone might plagiarize sooner or later. Thus: "Cheating in ICS 280 will be punished in accordance with University policy and ICS policy. Please familiarize yourself with those documents. Note that University policy states that faculty have the responsibility of "assigning an appropriate grade to a student who engages in academic dishonesty." That appropriate grade, for this class, is an F. Cheating is wrong. Don't do it."


Here's some background documents that may be relevant to your projects.

  1. "Peer-to-peer: A security nightmare or a secure opportunity" The Magi folks.
  2. "An efficient and open implementation of the Minstrel broadcasting infrastructure" Stefan Haberl, TU Wien. (I have this document... let me know if you want to borrow it.)
  3. "An implementation of the Millicent micro-payment protocol and its application in a pay-per-view business model." Michael Puhrerfellner. TU Wien. (Ditto)
  4. "The JEDI event-based infrastructure and its application to the development of the OPSS WFMS" G. Cugola, E. DiNitto, and A. Fuggetta. IEEE TSE. (If you want the real article, you'll have to do to the IEEE TSE site.)
  5. The February issue of CACM. It has a set of articles on securing network software applications (like p2p) and on intellectual property (yes, less relevant to the class).
  6. "P2P Networking: An information-sharing alternative" IEEE Computer, July 2001, vo. 34. no. 7.
  7. Two KnowNow whitepapers on Event-based Notification. ISENS and EBI


Department of Information and Computer Science,
University of California, Irvine CA 92697-3425