Google ajoute la compression Brotli pour fournir des mises à jour Android OTA plus rapides

Google ajoute la prise en charge de l'algorithme de compression Brotli pour fournir des mises à jour OTA Android plus rapides. Google utilise déjà Brotli pour les téléchargements d'applications Play Store

La taille d'une mise à jour OTA n'est pas une chose à laquelle la plupart des gens pensent vraiment, car les mises à jour en général télécharger automatiquement en arrière-plan via WiFi, mais c'est en fait un gros problème sur le serveur arrière fin. Économiser ne serait-ce que quelques mégaoctets de données peut faire une énorme différence puisque les gains sont potentiellement multipliés par des centaines de milliers d’utilisateurs. À cette fin, Google a été fonctionnement à apporter c'est Brotli algorithme de compression vers Android pour des mises à jour OTA plus rapides.

Qu'est-ce que l'algorithme de compression Brotli?

Brotli est un algorithme de compression développé par un quelques employés de Google qui améliore considérablement le taux de compression par rapport à d'autres algorithmes tels que GZIP tout en démontrant une vitesse de décompression impressionnante. L'inconvénient est que la compression de fichiers avec l'algorithme Brotli est plutôt lente, elle est donc généralement évitée lors de la compression de contenu dynamique.

Benchmarks de compression. Source: Jeroen Ooms

En revanche, tout contenu statique tel que les pages Web peuvent être compressés via l’algorithme Brotli. Cela inclut les fichiers d'application téléchargés depuis le Google Play Store. Puisqu'il y en a bien plus 2 milliards d'appareils Android là-bas, supprimer même de petites quantités de données lors de la diffusion d'un fichier de correctif à partir du Play Store peut entraîner des gains énormes pour Google. L'algorithme Brotli, lorsqu'il est utilisé pour Téléchargements d'applications Play Store, enregistre les utilisateurs 1,5 pétaoctets (1,5 million de gigaoctets) de données chaque jour.

Algorithme de compression Brotli par rapport à GZIP pour les téléchargements Play Store. Crédits: Blog étudiant Google

Comment Brotli améliorera-t-il les mises à jour OTA?

Désormais, les mises à jour OTA ne sont pas proposées aux utilisateurs aussi fréquemment que les mises à jour d'applications Play Store, mais elles ont tendance à être beaucoup plus volumineuses en comparaison. Par exemple, un package OTA complet avant compression peut avoir une taille de 2 Go. Quelle quantité de données peut être sauvegardée à partir d’un package OTA ?

Un développeur LineageOS pour le Motorola Moto G4 rapporte qu'il a pu économiser 50 mégaoctets sur une version non officielle. Compte tenu du fait que la version moyenne du Moto G4 LineageOS est d'environ 350 mégaoctets, c'est une amélioration assez spectaculaire. Si même 10 Mo de données sont enregistrés sur chaque OTA, la réduction globale de la bande passante peut être significative puisque Google doit proposer le package de mise à jour à des centaines de milliers d'utilisateurs.

De plus, puisque Brotli apporte également des vitesses de décompression améliorées, cela signifie également que les mises à jour OTA peuvent être appliquées plus rapidement. Les mises à jour OTA sont envoyées à chaque appareil sous forme d'archive, donc avant que les correctifs puissent être effectués via bsdiff, l'archive doit être décompressée. Étant donné que la décompression de Brotli est plutôt rapide, cela signifie que la décompression de l'archive sera également rapide, ce qui entraînera une correction plus rapide des fichiers système.

Cependant, les utilisateurs d'appareils dotés de schémas de partition A/B tels que Google Pixel/Pixel 2, Essential Phone, Razer Phone, Moto Z2 Force, et Xiaomi Mi A1 Je ne remarquerai probablement pas cette amélioration particulière puisque les mises à jour sont appliquées de manière transparente sur la partition inactive en arrière-plan. Néanmoins, même pour ces appareils, le package de mise à jour OTA plus petit en raison de la compression Brotli entraînera une réduction de la bande passante pour l'utilisateur.


Merci au modérateur du forum retraité XDA/développeur reconnu Cybojenix pour le conseil !