615 PAPER 63 The measurement paper compares the true-P2p system Gnutella and the more  centralized Napster.  Unfortunately, the paper does little comparison of the  two protocols themselves and instead focuses on comparing characteristics of  the user populations of both systems.  This does allow them to draw some  interesting conclusions, however.  The primary contribution is to suggest that  since hosts on the Internet differ greatly (by many orders of magnitude) in  bandwidth, latency, processing power, etc. future P2P networks should be  designed to make optimal use of this.  (and in fact KaZaa and Grokster do this)   They also observe that hosts tend to lie about their statistics, and therefore  there needs to be incentives for hosts to be truthful or measurements  (bandwidth, latency) need to be actively taken. Kleinberg's small world paper presents background on the small world conjecture  and discusses Milgram's original experiment.  Milgram's original work claims  that the diameter of social networks is small (< 6) and furthermore that a path  from any individual to another can be recovered using only "local" knowledge of  each person.  This translates to many other networks and the hope is that we  can design these overlay networks to behave like small worlds and thus allow  for bounded (and small) routing times.  Kleinberg discusses how to design and  grow networks so that this small world property emerges.  This paper seems to  suggest that an unstructured network (if it behaves like a small world) is  similar to a structured one and, in theory, might perform just as well. The P2P Performance chapter from O'Reilly quickly dismisses any system that is  in any way centralized and gives a comparison of the "true P2P" systems  Gnutella and Freenet.  They too discuss the small world property and its  application to these systems.  Freenet has the small world property as one of  its design goals and this chapter discusses it at length.  The Gnutella  discussion suggests that the network can be quickly flooded and unreliable.   Furthermore, Gnutella can't really play the small world card to help its case.   This paper also discusses "free-riding" (removing resources from the network  without donating any in return) and even goes so far as to call it a failure  mode.  Clearly something needs to be done to incentivize nodes to share. Design constraints that exist in P2P networks are as follows: (1) There is a limited amount of network power underneath the overlay network.   Bandwidth, latency, etc. need to be used efficiently. (2) A certain percentage of hosts are unwilling or at least reluctant to share  resources with the rest of the network.  A scheme needs to be designed  to provide the necessary incentive. (3) Some nodes have much more bandwidth, lower latency, more compute cycles,  etc. than others.  This heterogenity needs to be exploited by having some nodes  do more work, maintain more connections, etc.  This can further be supported by  the incentive scheme of #2