/Computer-Networks

Napster is a peer-to-peer application. This project is made on java.

Primary LanguageJava

Napster-p2p

N|Solid

How the Old Napster Worked

In early 1999, Shawn Fanning began to develop an idea as he talked with friends about the difficulties of finding the kind of MP3 files they were interested in. He thought that there should be a way to create a program that combined three key functions into one. These functions are: Search engine: Dedicated to finding MP3 files only File sharing: The ability to trade MP3 files directly, without having to use a centralized server for storage Internet Relay Chat (IRC): A way to find and chat with other MP3 users while online Fanning, only 18 at the time, spent several months writing the code that would become the utility Napster. He uploaded the original beta version to download.com, where it quickly became one of the hottest downloads on the site. Shawn knew he had stumbled on to something big. Peer-to-Peer File Sharing Napster (Napster was Fanning’s nickname in high school, because of his hair) is a different way to distribute MP3 files. Instead of storing the songs on a central computer, the songs live on users’ machines. This is called peer-to-peer sharing, or P2P. When you want to download a song using Napster, you are downloading it from another person’s machine, and that person could be your next-door neighbor or someone halfway around the world.

Let’s take a look at what was necessary for you to download a song that you are interested in using the old Napster.com: You needed:

  • A copy of the Napster utility installed on your computer
  • A directory on your computer that has been shared so that remote users can access it
  • Some type of Internet connection The provider of the song needed:
  • A copy of the Napster utility installed on his computer
  • A directory on his computer that has been shared so that someone else could access it
  • Some type of Internet connection that was ”on”
  • A copy of the song in the designated, shared directory
  • Here is what happened when you decided to look for the song:
  • You opened the Napster utility.
  • Napster checked for an Internet connection.
  • If it found a connection, Napster logged you onto the central server. The main purpose of this central server was to keep an index of all the Napster users currently online and connect them to each other. It did not contain any of the MP3 files.
  • You typed in the title or artist of the song you were looking for.
  • The Napster utility on your computer queried the index server for other Napster computers online that had the song you requested.
  • Whenever a match was found, the Napster server informed your computer where to find the requested file.
  • When the server replied, Napster built a list of these systems in the results window.
  • You clicked on the file(s) that interested you and then chose Download.
  • Your copy of Napster attempted to establish a connection with the system hosting the file you selected.
  • If a connection was successfully made, the file began downloading.
  • Once the file was downloaded, the host computer broke the connection with your system.
  • You opened up your MP3 player software and listened to the song.