next up previous contents index
Next: Decentralized peer-to-peer: Gnutella Up: Examples on different services Previous: Client/server: browsing the web   Contents   Index


Centralized peer-to-peer: Napster

Figure fig:napstersession shows a Napster client locating and downloading a music file from another host on the Internet. The following steps occur:

Illustration 2.2: Napster client querying directory server and downloading file
Napster Session


  1. The client tries to connect to the Napster directory server.
  2. The directory server accepts the connection.
  3. The client sends a query to the directory server describing the music file wanted. This could for example include the name of the song, the artist performing it or the name of the album where it resides.
  4. The directory server processes the query and sends a response, containing the hosts that have music files matching the query, back to the client.
  5. The client disconnects from the directory server.
  6. The client connects to one or more of the hosts that have the music file.
  7. Hopefully at least one of the hosts accepts the connection.
  8. The client requests the music file.
  9. The other host (or possibly hosts) respond by sending the music file.
  10. When the client has downloaded the file it disconnects.

The most important part of the Napster system is the directory server. It contains a large database with available music files. A host connecting to the Napster directory server adds descriptions for all its' music files to the database. Queries to the directory server can then be processed efficiently. To make good use of bandwidth the actual download takes place directly between the client and the host storing the file.


next up previous contents index
Next: Decentralized peer-to-peer: Gnutella Up: Examples on different services Previous: Client/server: browsing the web   Contents   Index
Marcus Bergner 2003-06-10