Google lägger till Brotli-komprimering för att leverera snabbare OTA Android-uppdateringar

Google lägger till stöd för Brotli-komprimeringsalgoritmen för att leverera snabbare OTA Android-uppdateringar. Google använder redan Brotli för nedladdning av appar i Play Butik

Storleken på en OTA-uppdatering är inte något som de flesta verkligen tänker på, eftersom uppdateringar i allmänhet automatiskt ladda ner i bakgrunden över WiFi, men det är faktiskt en stor sak på serverns baksida slutet. Att spara till och med några megabyte data kan göra en enorm skillnad eftersom vinsterna multipliceras med potentiellt hundratusentals användare. För det ändamålet har Google varit det arbetssätt till föra dess Brotli komprimeringsalgoritm till Android för snabbare OTA-uppdateringar.

Vad är Brotli Compression Algorithm?

Brotli är en komprimeringsalgoritm utvecklad av a få Google-anställda som avsevärt förbättrar kompressionsförhållandet jämfört med andra algoritmer som GZIP samtidigt som det visar en imponerande dekompressionshastighet. Nackdelen är att det går ganska långsamt att komprimera filer med Brotli-algoritmen, så det undviks i allmänhet när man komprimerar dynamiskt innehåll.

Kompressionsriktmärken. Källa: Jeroen Ooms

Å andra sidan kan eventuellt statiskt innehåll som t.ex webbsidor är lämpliga att komprimeras via Brotli-algoritmen. Detta inkluderar programfiler som laddats ner från Google Play Butik. Eftersom det finns väl över 2 miljarder Android-enheter Där ute kan rakning av även små mängder data när du visar en patchfil från Play Butik resultera i enorma vinster för Google. Brotli-algoritmen, när den används för Nedladdningar av appen Play Butik, sparar användare 1,5 petabyte (1,5 miljoner gigabyte) data varje dag.

Brotli Compression Algorithm kontra GZIP för nedladdningar från Play Store. Krediter: Google Studentblogg

Hur kommer Brotli att förbättra OTA-uppdateringar?

Nu serveras OTA-uppdateringar inte till användare lika ofta som en uppdatering av Play Store-appen, men de tenderar att vara mycket större i jämförelse. Till exempel kan ett helt OTA-paket före komprimering vara 2GBs stort. Hur mycket data kan sparas från ett OTA-paket?

En LineageOS-utvecklare för Motorola Moto G4 rapporterar att de kunde spara 50 megabyte på en inofficiell konstruktion. Med tanke på det faktum att det genomsnittliga Moto G4 LineageOS-bygget handlar om 350 megabyte, det är en ganska dramatisk förbättring. Om till och med 10 MB data sparas på varje OTA, kan den totala minskningen av bandbredd vara betydande eftersom Google behöver leverera uppdateringspaketet till hundratusentals användare.

Dessutom, eftersom Brotli också ger förbättrade dekompressionshastigheter, betyder det också att OTA-uppdateringar kan tillämpas snabbare. OTA-uppdateringar skickas till varje enhet som ett arkiv, så innan patcharna kan göras via bsdiff, måste arkivet dekomprimeras. Eftersom Brotli-dekomprimeringen är ganska snabb betyder det att dekomprimeringen av arkivet också kommer att gå snabbt, vilket resulterar i snabbare patchning av systemfiler.

Användare på enheter med A/B-partitionsscheman som Google Pixel/Pixel 2, Essential Phone, Razer Phone, Moto Z2 Force, och Xiaomi Mi A1 kommer förmodligen inte att märka denna speciella förbättring eftersom uppdateringarna appliceras sömlöst på den inaktiva partitionen i bakgrunden. Ändå, även för dessa enheter, kommer det mindre OTA-uppdateringspaketet på grund av Brotli-komprimering att resultera i minskad bandbredd för användaren.


Tack vare XDA pensionerad forummoderator/erkänd utvecklare cybojenix för tipset!