Optimalisatie door communicatie: Verbeteren van videostreaming door cross-layer communicatie

Arno
Verstraete

​​Kamer vol robots die tegen elkaar praten. Afbeelding gegenereerd met Midjourney. Inleiding

 

Communicatie over een netwerk wordt afgehandeld in lagen. Vaak wordt er verwezen naar de OSI-structuur bij het beschrijven van deze lagen. Het opdelen van communicatie gaat uit van het verdeel-en-heers principe. Als applicatieontwikkelaar wil je je bijvoorbeeld niet bezighouden met hoe een pakket met informatie correct gerouteerd moet worden over het complexe internet. Een ontwikkelaar wil zich met zijn applicatie bezighouden en gebruikt software van het besturingssysteem om communicatie tussen apparaten af te handelen. Zo moet de software voor die communicatie maar één keer geschreven worden.

Toch is die opdeling van het netwerk soms nadelig. Sommige applicaties zijn zo complex en zijn zo druk met netwerkcommunicatie bezig dat het voordelig zou zijn om te weten wat de onderliggende laag aan het doen is. Dit is het geval bij videostreaming. 

Adaptief streamen


Videostreaming is vandaag verantwoordelijk voor het grootste deel van het internetgebruik. In 2021 was 53,72% van al het internetverkeer videostreaming. De populariteit van streamingservices zoals YouTube en Netflix zijn hier onder andere verantwoordelijk voor. Omdat er zoveel gebruikers zijn, is de diversiteit van apparaten en netwerken die ondersteund moeten worden enorm groot. Tegenwoordig streamen we ook graag video op de smartphone of laptop via draadloze of mobiele netwerken. Deze zijn niet altijd stabiel, waardoor de stream soms vastloopt. De oplossing hiervoor is Adaptive Bitrate Streaming (ABR). ABR deelt een video op in kleine stukjes van vaak één of twee seconden. Wanneer een apparaat de video wil streamen zal het segment per segment downloaden en afspelen. Het is dus niet zo dat de hele video in één keer wordt gedownload, maar telkens slechts een aantal segmenten. 

Smartphones, laptops, TV's etc. ondersteunen allemaal andere beeldformaten. Een smartphone zal vaak ook geen even goede netwerkverbinding hebben op een mobiel netwerk als een smart TV heeft op een bedraad thuisnetwerk. Een smart TV zal video's dus niet alleen in andere beeldformaten willen, maar ook van een hogere kwaliteit. In tegenstelling tot een smartphone op een mobielnetwerk, die vaak zoveel mogelijk data wil sparen. Om deze redenen biedt een streamingplatform verschillende versies aan van die kleine segmenten video. Dit noemen we verschillende representaties van eenzelfde video. Een apparaat dat video wil streamen zal dus segment per segment downloaden en telkens beslissen welke versie van dat segment het beste is voor het apparaat en de huidige internetverbinding. 

Adaptieve algoritmes


Telkens een segment gedownload wordt, moet er dus een beslissing gemaakt worden over welke representatie er gekozen moet worden. Deze beslissing gebeurt door middel van een ABR-algoritme. Het algoritme houdt een reeks metrieken bij tijdens het streamen om een inschatting te maken over de snelheid van de internetverbinding. Zo zal het algoritme segmenten van een hogere kwaliteit kiezen als er een goede verbinding is. Als de verbinding plots heel slecht wordt, dan zal het algoritme overschakelen naar segmenten van een lagere kwaliteit. Er bestaan veel ABR-algoritmes waarvan de ene al wat complexer dan de andere. Videostreamingsoftware is ook een applicatie dat gebruikmaakt van de software van het besturingssysteem voor communicatie. Dat is handig omdat een ABR-algoritme gewoon tegen het besturingssysteem moet zeggen welk segment hij gekozen heeft om te downloaden. Het effectief downloaden van het segment wordt dan door het besturingssysteem afgehandeld. 

Het nadeel is dat het ABR-algoritme geen idee heeft van wat het netwerk aan het doen is wanneer het aan het wachten is op het segment dat het heeft aangevraagd aan het besturingssysteem. Het heeft geen idee of de internetverbinding plots heel slecht is geworden en het segment pas over een aantal minuten gedownload zal zijn, of dat het segment over 10ms klaar is met downloaden. Dit is een probleem. Videosegmenten worden gedownload terwijl de stream aan het spelen is. Het ABR-algoritme moet de videospeler dus voor blijven. Als de videospeler een segment wil afspelen dat nog niet klaar is met downloaden zal de video haperen. Dat willen we ten alle kosten voorkomen. 

Communiceren over de lagen heen


Het opdelen van het netwerk in lagen is in het geval van videostreaming zowel een zegen als een vloek. Als er echter een manier zou zijn voor het ABR-algoritme om te weten wat er op het netwerkniveau gebeurt, dan zou het ABR-algoritme veel beter geïnformeerde beslissingen kunnen maken. Dit noemt cross-layer metrics sharing. De verschillende lagen van het netwerk gaan informatie met elkaar uitwisselen. We hebben op deze manier een nieuw soort ABR-algoritme ontwikkeld dat informatie krijgt van de software die netwerkcommunicatie afhandelt. Dat algoritme noemen we BBA-XL. Dit is genoemd naar het ABR-algoritme waar het op gebaseerd is, BBA. XL staat voor cross-layer. 

BBA-XL heeft een communicatiekanaal met de laag die netwerkcommunicatie afhandelt waarover metrieken worden gestuurd. Hiervoor hebben we een nieuw netwerkprotocol moeten gebruiken genaamd QUIC. BBA-XL kan door deze informatie zien wat er aan het gebeuren is op het netwerk tijdens het downloaden van een segment. BBA-XL gebruikt deze informatie om tijdens de download van een segment te controleren of de netwerkverbinding niet plots te traag is geworden voor dat segment. Als dat het geval is dan zal BBA-XL de download afbreken en onmiddellijk het segment opnieuw downloaden in een lagere kwaliteit die wel door het netwerk gedownload kan worden. Hierdoor komt het met BBA-XL minder vaak voor dat de video zal haperen omdat het segment niet op tijd gedownload was. 

Conclusie


Cross-layer communicatie staat nog in zijn kinderschoenen. BBA-XL gebruikt nog maar het topje van de ijsberg aan informatie die het communicatiekanaal voorziet. In toekomstig onderzoek kunnen we bekijken wat voor metrieken we nog meer kunnen gebruiken voor het optimaliseren van videostreaming. Mogelijks zijn deze optimalisaties zelfs van toepassing op andere applicaties. 

Bibliografie

Sandvine. The Global Internet Phenomena Report 2022. Tech. rap. Jan 2022. 

Download scriptie (3.33 MB)
Winnaar mtech+prijs
Universiteit of Hogeschool
Universiteit Hasselt
Thesis jaar
2022
Promotor(en)
Prof. Dr. Peter Quax, Joris Herbots