Un système pour garder le cloud
Les images à télécharger sur le site Web du bureau MIT News sont mises à la disposition des entités non commerciales, de la presse et du grand public sous une licence Creative Commons Attribution Non-Commercial No Derivatives. Vous ne pouvez pas modifier les images fournies, sauf pour les recadrer à leur taille. Une ligne de crédit doit être utilisée lors de la reproduction d'images ; si aucune n'est fournie ci-dessous, créditez les images à « MIT ».
Image précédente Image suivante
Le cloud gaming, qui consiste à jouer à un jeu vidéo à distance depuis le cloud, a connu une croissance sans précédent lors des confinements et des pénuries de matériel de jeu survenus au cœur de la pandémie de Covid-19. Aujourd'hui, cette industrie en plein essor englobe un marché mondial de 6 milliards de dollars et plus de 23 millions d'acteurs dans le monde.
Cependant, la synchronisation entre appareils reste un problème persistant dans le cloud gaming et dans le domaine plus large des réseaux. Dans le cloud gaming, les retours vidéo, audio et haptiques sont diffusés depuis une source centrale vers plusieurs appareils, tels que l'écran et la manette d'un joueur, qui fonctionnent généralement sur des réseaux distincts. Ces réseaux ne sont pas synchronisés, ce qui entraîne un décalage entre ces deux flux distincts. Un joueur peut voir quelque chose se produire sur l’écran, puis l’entendre sur sa manette une demi-seconde plus tard.
Inspirés par ce problème, des scientifiques du MIT et de Microsoft Research ont adopté une approche unique pour synchroniser les flux transmis vers deux appareils. Leur système, appelé Ekho, ajoute des séquences de bruit blanc inaudibles à l'audio du jeu diffusé depuis le serveur cloud. Ensuite, il écoute ces séquences dans l'audio enregistré par le contrôleur du lecteur.
Ekho utilise la disparité entre ces séquences de bruit pour mesurer et compenser en continu le délai entre flux.
Lors de véritables sessions de cloud gaming, les chercheurs ont montré qu'Ekho est très fiable. Le système peut maintenir les flux synchronisés à moins de 10 millisecondes les uns des autres, la plupart du temps. D'autres méthodes de synchronisation entraînaient des retards constants de plus de 50 millisecondes.
Et même si Ekho a été conçu pour le cloud gaming, cette technique pourrait être utilisée plus largement pour synchroniser les flux multimédias transmis vers différents appareils, par exemple dans des situations de formation utilisant plusieurs casques de réalité augmentée ou virtuelle.
« Parfois, pour qu’une bonne solution émerge, il suffit de penser en dehors de ce qui a été défini pour vous. L'ensemble de la communauté a compris comment résoudre ce problème en se synchronisant via le réseau. Synchroniser deux flux en écoutant l’audio de la pièce semblait fou, mais cela s’est avéré être une très bonne solution », déclare Pouya Hamadanian, étudiant diplômé en génie électrique et informatique (EECS) et auteur principal d’un article décrivant Ekho.
Hamadanian est rejoint sur le papier par Doug Gallatin, développeur de logiciels chez Microsoft ; Mohammad Alizadeh, professeur agrégé de génie électrique et d'informatique et membre du Laboratoire d'informatique et d'intelligence artificielle (CSAIL) ; et l'auteur principal Krishna Chintalapudi, chercheur principal chez Microsoft Research. L'article sera présenté à la conférence ACM SIGCOMM.
Hors de l'horloge
Au cœur du retard entre flux dans le cloud gaming se trouve un problème fondamental de mise en réseau connu sous le nom de synchronisation d’horloge.
« Si le contrôleur et l’écran pouvaient regarder leur montre et voir en même temps la même chose, alors nous pourrions tout synchroniser avec l’horloge. Mais de nombreux travaux théoriques sur la synchronisation des horloges montrent qu’il existe certaines limites que l’on ne pourra jamais dépasser », explique Hamadanian.
De nombreuses approches tentent de synchroniser l'horloge par messagerie ping-pong, où un appareil envoie un message ping au serveur, qui renvoie un message pong. L'appareil compte le temps nécessaire au retour du message et réduit cette valeur de moitié pour calculer le délai du réseau.
