SKR 5302: Advanced Distributed Computing

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