Unstructured P2P:
Napster central query server; distributed data server
Gnutella decentralized flooding
Freenet inteligent routing
Advantages:
Algorithms tend to be simple
Can optimize for properites such as locality
Disadvantages:
Hard to make performance guarantee
Failture even when files exist
Structured P2P:
DHT
Chord Search by routing on a virtual ring
BitTorrent Last-block problem
1) Periodically calculate data-receiving rates from all peers
2) Upload to the fastest (4)
3) Periodically select a peer at random and upload to it
Advantages:
Guarantee lookup success for data in system
Provable bounds on search time
Provable scalability too millions of nodes