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
 |
- The client tries to connect to the Napster
directory server.
- The directory server accepts the connection.
- 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.
- The directory server processes the query and sends a
response, containing the hosts that have music files
matching the query, back to the client.
- The client disconnects from the directory server.
- The client connects to one or more of the hosts
that have the music file.
- Hopefully at least one of the hosts accepts the
connection.
- The client requests the music file.
- The other host (or possibly hosts) respond by
sending the music file.
- 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: Decentralized peer-to-peer: Gnutella
Up: Examples on different services
Previous: Client/server: browsing the web
  Contents
  Index
Marcus Bergner
2003-06-10