Home
Knowledge Base
Credits
Site Map
 


Exploiting Heterogeneity


KaZaA, which used both types of P2P file-sharing applications, is the best known example of this type of P2P application

KaZaA resembles Gnutella in the sense that it does not use a dedicated server for tracking and locating content, but not all peers are equal; the more powerful peers - those with high bandwidth connections and high Internet connectivity - are designated as group leaders and have greater responsibilities

KaZaA resembles Napster in the sense that, once the peer establishes a TCP connection with a group leader, the group leader maintains a database that includes the identifiers of all the files its children are sharing, meta data about the files. and the IP addresses of the children holding the files, but the group user is still just an ordinary user, not a dedicated server



 

The group leaders interconnect themselves with
TCP connections creating an overlay network
among the group leaders, thus allowing the individual groups (hubs) to query each other for files, and creating a large network from many
small ones

 


Performance-improving techniques

  • Request queing
    • The user can configure its peer to limit the number of simultaneous uploads,
      and will place any more requests into a local queue, which ensures that each transferred file receives a non-negligible amount of bandwidth from the uploading node
  • Incentive priorities
    • Priority is given to a user who has uploaded more files than they have downloaded, which helps to enhance the overall scalability of KaZaA
  • Parallel downloading
    • Different portions of a file can be requested from different peers, which can decrease download time as these downloads are done simultaneously

Some reverse-engineering efforts have been aimed at KaZaA

KaZaA-lite

  • Eliminates KaZaA's imbedded advertising
  • Gives all users the highest priority
  • Performs supernode hopping
    • Hopping from one group leader to another with a single keyword query