Mekanismer för mediadistribution Slutrapport David Erman, <david.erman@bth.se> Revision: 1121 1 Inledning Detta dokument beskriver kort resultaten för projektet Mekanismer för mediadistribution, som finansierats av Internetfonden under 2008 och 2009. Projektet inleddes 2008-08-01 och avslutades 2009-08-31, en månad försenat. 2 Mål och Syfte Huvudsyftet med projektet är att utröna huruvida de modifikationer av BitTorrent-protokollet beskrivna i [1] kan resultera i signifikant bandbreddsreducering. Det huvudsakliga målet med projektet är att dels leverera mjukvara för videodistribution med BitTorrent-protokollet som transportmekanism, samt även en mätstudie av dessa förändringar. 3 Projektbeskrivning Projektet är en avknoppning från projektet ROVER, som 2007 beviljades 380000 kr av Internetfonden. Projektet utfördes av avdelningen för Telekommunikationssystem, Sektionen för Teknik på Blekinge Tekniska Högskola. ROVER har hitintills resulterat i ett antal vetenskapliga publikationer, inklusive två doktorsavhandlingar. Ett av huvudresultaten från ROVER var en uppsättning modifikationer av distributionssystemet BitTorrent, som var ägnade att göra Bit- Torrent till ett lämpligt alternativ för att distribuera strömmande media, med särskild fokus på strömmande video. Dessa modifikationer utvärderades i det föregående projektet med hjälp av simuleringar, vilka indikerade att en verklig implementation av modifikationerna skulle markant (runt 98 % enligt vår tidigare studie) kunna minska bandbreddsbehovet på distributionsservern för strömmande video. Det nuvarande projektet har ämnat bekräfta detta genom en verklig implementation av dessa modifikationer. 1
4 Organisation Projektgruppen för projektet har bestått av: Dr. David Erman, projektledare. Yong Yao, doktorand. 5 Leverabler Projektet har levererat 6 leverabler, denna slutrapport inkluderat. Dessa är som följer: Förstudie Förstudie och kravspecifikation. Leveras i dokumentform, PDF eller DOC. Leveransdatum: 2008-08-31. Design Designdokument för implementation. Leveras i dokumentform, PDF eller DOC. Leveransdatum: 2008-09-30. Metadata Implementation av mjukvara för tidsstämplar i BitTorrent-metadata. Levereras i form av mjukvarukällkod samt kompilerad binärfil. Leveransdatum: 2008-11-30. Algoritm Implementation av algoritmer för strömmande mediadistribution. Levereras i form av mjukvarukällkod samt kompilerad binärfil. Leveransdatum: 2009-03-31. Mätstudie Dokumentation som beskriver mätstudien som utförs för att testa och validera leverabel 5, Algoritm. Innehåller experimentbeskrivning, detaljerad information om mätningarna, samt dataanalys. Levereras i form av vetenskaplig rapport, PDF eller LaTeXformat. Leveransdatum: 2009-08-31. Försenat en månad. Slutrapport Slutrapport för projektet. Avrapporteras enligt stycke 8.3, Slutrapport. Leveras i dokumentform, PDF eller DOC. Leveransdatum: 2009-07-31. 6 Resultat Projektet har utmynnat i ett antal resultat, i form av mjukvaror, arkitekturer samt mätresultat. 6.1 Positiva resultat Vi har fullföljt våra åtaganden gentemot projektbeskrivningen, vilket innebär att vi: Implementerat mjukvara för att analysera videoströmmar, extrahera bildinformation, och generera en lista med bildrutetider, associerade med position i filen. Implementerat mjuvara för att utöka metadataformatet för BitTorrent att innehålla ovanstående videoinformation. Vi har implementerat en fungerande BitTorrent-klient, som utöver standardfunktionaliteten för BitTorrent, även tar våra förändringar av metadataformatet i beaktande. 2
Vi har utfört omfattande mätstudier på våra förändringar, som i huvudsak bekräftar tidigare resultat. Utöver de våra åtaganden, har vi även utvecklat och implementerat ett automatiserat system för att starta mätningar som använts för att drifta mätexperiment både i vårt lokala laboratorium, samt i det globala PlanetLab. Detta system kommer att vidare utvecklas i framtiden för andra typer av mätningar än bara BitTorrent. 6.2 Mindre positiva resultat Vissa av mätresultaten är inte fullt tillfredställande. Framförallt gäller detta det s.k. Continuity Index (CI), ett mått på hur mycket data som laddas ner i tid. Detta når inte fullt ut upp till 100 %, vilket är nödvändigt för att kunna spela upp video utan avbrott. Vi attribuerar detta till två faktorer: för kort buffer i vår BitTorrent-klient, samt variationer i nedladdningshastighet hos deltagande noder i mätstudien.. På grund av förseningar i projektet, hann vi inte med att utveckla en videouppspelare som använder sig av vår mjukvara. Förseningen gjorde också att vi inte hunnit bygga om mätapplikationen till ett länkbart bibliotek. 6.3 Andra resultat Under vår mätstudie på PlanetLab, har vi upptäckt mycket intressanta resultat, vad gäller PlanetLabnoders upptid, samt bandbreddsbegränsningar som sker i dessa noder. Vi kommer troligen att publicera dessa resultat i lämpligt forum. 7 Vetenskapliga resultat De vetenskapliga resultaten består huvudsakligen av att vi lyckats återskapa tidigare resultat [1], men i en verklig miljö, och därmed ytterligare stärker giltigheten i dessa. Dessa resultat är primärt: 1. Fördelningen av data i en BitTorrent-svärm har visats överensstämma väl med tidigare studier, och bedöms inte vara markant sämre än den som en icke-modifierad BitTorrentklient generar. 2. Lasten på mediaservern minskas markant, i både lokal nätverksmiljö såväl som den globala testmiljön PlanetLab. 7.1 Vetenskapliga publikationer På grund av förseningar av implementationen av mjukvaran, har inga vetenskapliga publikationer ännu publicerats. Vi ämnar sammanställa alla leverabler till en vetenskaplig rapport samt två artiklar. 3
8 Utvärdering och analys 8.1 Utvärdering av resultat Projektet har i stort presterat som förväntat. På grund av hårdvaruproblem och licensieringsproblem, blev projektet förskjutet en månad. Resultatens primära värde ligger i att vi bekräftar tidigare studier, samt att vi testat dem i en global laborationsmiljö. Resultaten indikerar att det är värt att fortsätta med att skarpt drifta våra förändringar i ett större system, och att testa med riktiga användare. 8.2 Förslag på förbättringar Som mjukvaran ser ut nu, är den ännu i ett beta-stadium, och bör städas upp och kommenteras för att tillfullo kunna komma Internetgemenskapen till nytta. Vidare bör mjukvaran byggas ut med ett grafiskt användargränssnitt och paketeras på ett lämpligt sätt för att enkelt kunna låta mindre tekniska användare begagna sig av mjukvaran, och bidra till dess utveckling. En ytterligare förbättring vore att utöka funktionaliteten hos den s.k. trackern, och låta den kunna gör bättre informerade beslut om hur den delar ut noder i svärmen. Detta skulle kunna kopplas till en utökning av själva BitTorrent-protokollet med QoS-relaterade meddelanden, som skulle kunna förbättra den s.k. tit-for-tat-algoritmen till att ta bättre beslut kring vilka klienter som uppför sig korrekt m.a.p. prestandan på den strömmande videon. 9 Framtida arbeten Enligt förslagen på förbättringar ovan, ämnar vi att: Utöka BitTorrent-protokollet till att omfatta QoS-information. Detta kommer att låta klienter ta bättre beslut kring vilka andra klienter som kan tillhandahålla god nod prestanda för en given videoström. Utöka trackermjukvaran med QoS-relaterad information. Utveckla en applikation som utnyttjar alla ovanstående teknologier och implementerar dem som ett proof-of-concept. Vi ämnar huvudsakligen utföra dessa arbeten som examensarbeten på magisternivå. Referenser [1] David Erman. On BitTorrent Media Distribution. PhD thesis, Blekinge Institute of Technology, March 2008. 4
Förkortningar CI Continuity Index 5