Google voegt Brotli-compressie toe om snellere OTA-Android-updates te leveren

Google voegt ondersteuning toe voor het Brotli-compressie-algoritme om snellere OTA Android-updates te leveren. Google gebruikt Brotli al voor het downloaden van Play Store-apps

De omvang van een OTA-update is niet iets waar de meeste mensen echt over nadenken, aangezien updates over het algemeen plaatsvinden automatisch op de achtergrond gedownload via wifi, maar op de server is het eigenlijk een groot probleem einde. Het besparen van zelfs maar een paar megabytes aan gegevens kan een enorm verschil maken, aangezien de winst wordt vermenigvuldigd met mogelijk honderdduizenden gebruikers. Daartoe heeft Google dat gedaan werken naar brengen zijn Brotli compressie-algoritme naar Android voor snellere OTA-updates.

Wat is het Brotli-compressie-algoritme?

Brotli is een compressie-algoritme ontwikkeld door a enkele Google-medewerkers dat verbetert de compressieverhouding aanzienlijk ten opzichte van andere algoritmen zoals GZIP, terwijl het ook een indrukwekkende decompressiesnelheid laat zien. Het nadeel is dat het comprimeren van bestanden met het Brotli-algoritme nogal traag is, dus dit wordt over het algemeen vermeden bij het comprimeren van dynamische inhoud.

Compressiebenchmarks. Bron: Jeroen Ooms

Aan de andere kant kan elke statische inhoud zoals webpagina's zijn geschikt om te worden gecomprimeerd via het Brotli-algoritme. Dit geldt ook voor applicatiebestanden die zijn gedownload uit de Google Play Store. Aangezien er ruim voorbij zijn 2 miljard Android-apparaten daarbuiten kan het schrappen van zelfs kleine hoeveelheden gegevens bij het aanbieden van een patchbestand uit de Play Store enorme winsten voor Google opleveren. Het Brotli-algoritme, indien gebruikt voor Play Store-app-downloads, bespaart gebruikers Elke dag 1,5 petabyte (1,5 miljoen gigabyte) aan gegevens.

Brotli-compressiealgoritme versus GZIP voor Play Store-downloads. Credits: Google Studentenblog

Hoe zal Brotli OTA-updates verbeteren?

Nu worden OTA-updates niet zo vaak aan gebruikers aangeboden als een Play Store-app-update, maar ze zijn in vergelijking vaak veel groter. Een volledig OTA-pakket vóór compressie kan bijvoorbeeld 2 GB groot zijn. Hoeveel gegevens kunnen er met een OTA-pakket worden opgeslagen?

Een LineageOS-ontwikkelaar voor de Motorola Moto G4 meldt dat dit gelukt is bespaar 50 Megabytes op een onofficiële build. Gezien het feit dat de gemiddelde Moto G4 LineageOS build ongeveer is 350 Megabytes, dat is een behoorlijk dramatische verbetering. Als er zelfs maar 10 MB aan gegevens op elke OTA wordt opgeslagen, kan de algehele vermindering van de bandbreedte aanzienlijk zijn, aangezien Google het updatepakket aan honderdduizenden gebruikers moet aanbieden.

Omdat Brotli ook verbeterde decompressiesnelheden met zich meebrengt, betekent dit bovendien ook dat OTA-updates sneller kunnen worden toegepast. OTA-updates worden als archief naar elk apparaat verzonden, dus voordat de patches kunnen worden gemaakt bsdiff, moet het archief worden gedecomprimeerd. Omdat de decompressie van Brotli vrij snel is, betekent dit dat het decomprimeren van het archief ook snel zal zijn, wat resulteert in een snellere patching van systeembestanden.

Gebruikers van apparaten met A/B-partitieschema's zoals de Google Pixel/Pixel 2, Essential Phone, Razer Phone, Moto Z2 Force, En Xiaomi Mi A1 zal deze specifieke verbetering waarschijnlijk niet opmerken, aangezien de updates naadloos worden toegepast op de inactieve partitie op de achtergrond. Toch zal zelfs voor deze apparaten het kleinere OTA-updatepakket als gevolg van Brotli-compressie resulteren in verminderde bandbreedte voor de gebruiker.


Met dank aan XDA gepensioneerde forummoderator/erkende ontwikkelaar cybojenix voor de fooi!