Napster
Embora já houvesse sites que disponibilizassem músicas àquele tempo, era comum encontrar links quebrados e informações desatualizadas. Esses problemas foram rapidamente resolvidos pelo Napster.
Dado que estava distribuindo um produto ilegal, a fraqueza principal do Napster original residia em sua arquitetura - a existência de um servidor central que gerenciava os arquivos ilegais tornava impossível dizer que o Napster não tinha poder de controlar o que era baixado na rede. Quando a justiça decidiu que o Napster estava promovendo violação de direitos autorais, foi muito fácil para uma ordem judicial fechar o site.
O fato do Napster promover violações de direitos autorais não importava para seus usuários. A maioria deles se voltaram para um arquivo de compartilhamento de nova arquitetura conhecida como Gnutella. O Napster foi relançado por uma nova companhia Roxio em 2003, e hoje vende músicas respeitando os direitos autorais dos seus produtores.
Arquitetura do Napster
O computador se conecta ao servidor central do Napster e, na rede de computadores, há vários servidores que processam os pedidos de usuários e respondem esses pedidos quando necessários. Os navegadores da Web permitem que os usuários se conectem a servidores e visualizem as respostas dos pedidos ou seja os pedidos processadas pelos servidores. Os grandes sites com muito tráfego podem ter que comprar e manter milhares de máquinas para apoiar todas as solicitações dos usuários.
Napster inaugurou o conceito de peer-to-peer de compartilhamento de arquivos. As pessoas armazenavam os arquivos que queria compartilhar (normalmente arquivos de música MP3 ) em seus discos rígidos e compartilhado diretamente com outras pessoas . O sistema de buscas dependia do servidor central. Cada máquina do usuário tornou-se um mini-servidor.
O Napster procura por arquivos usando um protocolo cliente/servidor. Se um usuário deseja certo arquivo, ele faz um requerimento ao servidor central do Napster ao qual ele está conectado. O servidor verifica em seu diretório se existe um arquivo que corresponda ao requerimento feito pelo usuário. O servidor então envia ao usuário todos os arquivos encontrados (se existirem) juntamente com o endereço IP, nome do usuário, tamanho do arquivo e taxa de transferência de cada um. Depois o usuário escolhe o arquivo desejado da lista correspondente ao requerimento e tenta estabelecer uma comunicação direta com o local onde se localiza o arquivo escolhido. O usuário tenta fazer isto enviando uma mensagem ao outro computador cliente juntamente com seu próprio endereço IP e o nome do arquivo desejado. Se a conexão é estabelecida então o computador cliente inicia a transferência do arquivo para o usuário. Este protocolo utiliza o protocolo de comunicação TCP/IP. O servidor mantém uma lista com os endereços de todos os nós conectados a ele, e então faz a busca por arquivos . O Napster permite transferência de arquivos que sejam independentes do servidor central. Esta transferência ocorre entre computadores cliente.