28 juni 2011

Daniel Johansson: Spotify – ett effektivt fildelningsnätverk

Ordet ”fildelning” har fått utstå mycket spott och spe, liksom ordet "nedladdning", sedan Napster, Kazaa och dess gelikar kidnappade orden. För en tekniker som jag själv har orden dock alltid stått för vad de ursprungligen användes till, för att beskriva en dataöverföringsprocess.

Begreppet ”file sharing” användes redan i början av 70-talet, när grundarna av Arpanet beskrev nyttan av ett "interconnected network". (Se den mycket intressanta videon Computer Networks – The Heralds of Resource Sharing, på http://video.google.com/videoplay?docid=4989933629762859961# – för övrigt producerad av Stephen King!/reds.anm).

Hur begreppet "nedladdning" har kommit att stå för illegal verksamhet synes mig mer eller mindre obegripligt med tanke på att all form av internetaktivitet är en form av nedladdning, det är lite som att säga att "cykling" eller "bilkörning" per definition bryter mot våra lagar.

Hur som helst, begreppen fildelning, nedladdning och kanske framför allt P2P (peer-to-peer) har kommit att representera den mörka aktiviteten att illegalt framställa eller dela med sig av upphovsrättsskyddade kopior.

Så kom Spotify. Ett fildelningsnätverk. Som också möjliggör nedladdning. Ett P2P-nätverk i ordets absolut korrekta betydelse. Och ett effektivt sådant.

Nyligen släppta siffror från Spotify visar att endast cirka 10 procent av all uppspelning medelst progressiv nedladdning kommer från deras servrar, medan resten av uppspelningarna sker från cachade kopior lokalt eller från P2P-svärmen. Närmare bestämt, cirka 60 procent av alla uppspelningar görs från lokala kopior.

Cirka 80 procent av datahämtningen sker alltså från fildelningsnätverket och cirka 20 procent från Spotifys servrar. Spotify, ett av världens största fildelningsnätverk, är också ett av de absolut bäst konstruerade. I genomsnitt finns det en latency på 265 millisekunder vid uppspelning, trots att alltså den allra största merparten av data hämtas från andra fildelare.

Spotify har självklart hämtat inspiration från andra fildelningsnätverks tekniker, Gnutella, Bittorrent etc. Ludvig Strigeus, en av de viktigaste utvecklarna på Spotify, skapade uTorrent en gång i tiden, en av de största BitTorrent-klienterna.

Så, med tanke på vad Spotify har gjort med fildelningstekniken, är det inte dags att skrota de gamla föreställningarna om att orden fildelning och nedladdning implicit skulle betyda något olagligt? Med tanke på den senaste rapporten från Mediavision är det uppenbart att de lever kvar, där används ordet ”nedladdning” fortfarande med den implicita betydelsen ”illegalt”.

Fildelningstekniken i kombination med cloud computing gör det möjligt för alla former av innehåll att distribueras på ett kostnadseffektivt och resursoptimerat sätt. Det är dags att ordet fildelning faktiskt får den positiva betydelse som det alltid har haft, som ett av de absolut bästa sätten att överföra data på.

Daniel Johansson

Fakta:

Överföring av data sker främst på tre sätt:
1) Nedladdning, 2) Streaming, 3) Progressiv nedladdning.

Vid nedladdning hämtar man först hem data innan man använder den. Vid streaming kopplar man upp en klient (t.ex. Windows Media Player eller Real Player) mot en dedikerad streamingserver som överför data "strömmande". Vid progressiv nedladdning spelar man upp materialet samtidigt som man laddar ned (ett mellanting mellan streaming och nedladdning).

YouTube är t.ex. progressiv nedladdning, medan att lyssna på Sveriges Radio P3 live på nätet är streaming. Att titta på en video på YouTube eller lyssna på en låt på Spotify upplevs som streaming av användaren, men är alltså i själva verket progressiv nedladdning.

Svärm = Alla de klienter som ingår i ett fildelningsnätverk, i Spotifys fall alla användare som kör Spotify på sina datorer och som därmed också delar ut musik, d.v.s. är fildelare.
Molnet = Lagring som sker utspridd snarare än centralt.
Distribuerad intelligens = Istället för att beräkningskapacitet och funktionalitet finns centralt, i en programvara på en central server, är själva funktionaliteten, "intelligensen", spridd i nätverket.