9. Chapter 9: Peer-to-peer networks
9.9. Peer-to-Peer Networks: KaAzA
Peer-to-Peer
Networks: KaAzA

KaZaA history
- 2001: created by Dutch company (Kazaa BV)
- Single network called FastTrack used by other clients as well
- Eventually the protocol changed so other clients could no longer talk to it
Smart query flooding
- Join: on start, the client contacts a super-node (and may later become one)
- Publish: client sends list of files to its super-node
- Search: send query to super-node, and the super-nodes flood queries among themselves
- Fetch: get file directly from peer(s); can fetch from multiple peers at once
KaZaA: Exploiting Heterogeneity
- Each peer is either a group leader or assigned to a group leader
- TCP connection between peer and its group leader
- TCP connections between some pairs of group leaders
- Group leader tracks the content in all its children

KaZaA: Motivation for Super-Nodes
- Query consolidation
- Many connected nodes may have only a few files
- Propagating query to a sub-node may take more time than for the super-node to answer itself
- Stability
- Super-node selection favors nodes with high up-time
- How long you’ve been on is a good predictor of how long you’ll be around in the future