Google tilføjer Brotli-komprimering for at levere hurtigere OTA Android-opdateringer

Google tilføjer understøttelse af Brotli-komprimeringsalgoritmen for at levere hurtigere OTA Android-opdateringer. Google bruger allerede Brotli til app-downloads i Play Butik

Størrelsen af ​​en OTA-opdatering er ikke noget, de fleste mennesker virkelig tænker over, da opdateringer generelt download automatisk i baggrunden over WiFi, men det er faktisk en stor ting på serveren tilbage ende. At spare selv et par megabyte data kan gøre en enorm forskel, da gevinsterne multipliceres med potentielt hundredtusindvis af brugere. Til det formål har Google været arbejder til tage med dens Brotli kompressionsalgoritme til Android for hurtigere OTA-opdateringer.

Hvad er Brotli-komprimeringsalgoritmen?

Brotli er en kompressionsalgoritme udviklet af en få Google-medarbejdere der væsentligt forbedrer kompressionsforholdet i forhold til andre algoritmer såsom GZIP, samtidig med at det viser en imponerende dekompressionshastighed. Ulempen er, at komprimering af filer med Brotli-algoritmen er ret langsom, så det undgås generelt ved komprimering af dynamisk indhold.

Kompression benchmarks. Kilde: Jeroen Ooms

På den anden side kan ethvert statisk indhold som f.eks web sider er egnede til at blive komprimeret via Brotli-algoritmen. Dette inkluderer applikationsfiler, der er downloadet fra Google Play Butik. Da der er godt overstået 2 milliarder Android-enheder derude kan barbering af selv små mængder data, når du serverer en patch-fil fra Play Butik, resultere i massive gevinster for Google. Brotli-algoritmen, når den bruges til Play Butik app downloads, sparer brugere 1,5 petabyte (1,5 millioner gigabyte) data hver dag.

Brotli Compression Algorithm versus GZIP til Play Store-downloads. Credits: Google Student Blog

Hvordan vil Brotli forbedre OTA-opdateringer?

Nu serveres OTA-opdateringer ikke til brugere så ofte som en Play Butik-appopdatering, men de har en tendens til at være meget større i sammenligning. For eksempel kan en fuld OTA-pakke før komprimering være 2 GBs stor. Hvor meget data kan der lige gemmes fra en OTA-pakke?

En LineageOS-udvikler til Motorola Moto G4 rapporterer, at de var i stand til det spar 50 megabyte på en uofficiel konstruktion. I betragtning af det faktum, at den gennemsnitlige Moto G4 LineageOS-bygning handler om 350 megabyte, det er en ret dramatisk forbedring. Hvis selv 10 MB data gemmes på hver OTA, så kan den samlede reduktion i båndbredde være betydelig, da Google skal levere opdateringspakken til hundredtusindvis af brugere.

Da Brotli også bringer forbedrede dekompressionshastigheder, betyder det også, at OTA-opdateringer kan anvendes hurtigere. OTA-opdateringer sendes til hver enhed som et arkiv, så før patcherne kan laves via bsdiff, skal arkivet dekomprimeres. Da Brotli-dekomprimering er ret hurtig, betyder det, at dekomprimering af arkivet også vil være hurtig, hvilket resulterer i hurtigere patching af systemfiler.

Brugere på enheder med A/B-partitionsordninger såsom Google Pixel/Pixel 2, Essential Phone, Razer Phone, Moto Z2 Force, og Xiaomi Mi A1 vil sandsynligvis ikke bemærke denne særlige forbedring, da opdateringerne anvendes problemfrit på den inaktive partition i baggrunden. Alligevel, selv for disse enheder, vil den mindre OTA-opdateringspakke på grund af Brotli-komprimering resultere i reduceret båndbredde for brugeren.


Tak til XDA pensioneret forummoderator/anerkendt udvikler cybojenix for tippet!