banner
Centro de Noticias
Calidad premium, precios económicos.

Un sistema para mantener la nube

Jul 06, 2023

Las imágenes para descargar en el sitio web de la oficina de MIT News están disponibles para entidades no comerciales, prensa y público en general bajo una licencia Creative Commons Attribution Non-Commercial No Derivatives. No puede modificar las imágenes proporcionadas, excepto recortarlas al tamaño. Se debe utilizar una línea de crédito al reproducir imágenes; Si no se proporciona uno a continuación, acredite las imágenes a "MIT".

Imagen anterior Imagen siguiente

Los juegos en la nube, que implican jugar un videojuego de forma remota desde la nube, experimentaron un crecimiento sin precedentes durante los bloqueos y la escasez de hardware de juegos que se produjeron durante el corazón de la pandemia de Covid-19. Hoy en día, la floreciente industria abarca un mercado global de $6 mil millones de dólares y más de 23 millones de jugadores en todo el mundo.

Sin embargo, la sincronización entre dispositivos sigue siendo un problema persistente en los juegos en la nube y en el campo más amplio de las redes. En los juegos en la nube, el vídeo, el audio y la retroalimentación háptica se transmiten desde una fuente central a múltiples dispositivos, como la pantalla y el controlador de un jugador, que normalmente operan en redes separadas. Estas redes no están sincronizadas, lo que genera un retraso entre estas dos transmisiones separadas. Un jugador puede ver que sucede algo en la pantalla y luego escucharlo en su controlador medio segundo después.

Inspirándose en este problema, los científicos del MIT y Microsoft Research adoptaron un enfoque único para sincronizar las transmisiones transmitidas a dos dispositivos. Su sistema, llamado Ekho, agrega secuencias de ruido blanco inaudibles al audio del juego transmitido desde el servidor en la nube. Luego escucha esas secuencias en el audio grabado por el controlador del reproductor.

Ekho utiliza la falta de coincidencia entre estas secuencias de ruido para medir y compensar continuamente el retraso entre transmisiones.

En sesiones reales de juego en la nube, los investigadores demostraron que Ekho es muy fiable. El sistema puede mantener las transmisiones sincronizadas con menos de 10 milisegundos entre sí, la mayor parte del tiempo. Otros métodos de sincronización provocaron retrasos constantes de más de 50 milisegundos.

Y si bien Ekho fue diseñado para juegos en la nube, esta técnica podría usarse de manera más amplia para sincronizar transmisiones de medios que viajan a diferentes dispositivos, como en situaciones de entrenamiento que utilizan múltiples cascos de realidad virtual o aumentada.

“A veces, todo lo que se necesita para que surja una buena solución es pensar más allá de lo que se ha definido para ti. Toda la comunidad se ha fijado en cómo solucionar este problema mediante la sincronización a través de la red. Sincronizar dos transmisiones escuchando el audio en la sala parecía una locura, pero resultó ser una muy buena solución”, dice Pouya Hamadanian, estudiante de posgrado en ingeniería eléctrica e informática (EECS) y autor principal de un artículo que describe a Ekho.

A Hamadanian se unen en el artículo Doug Gallatin, desarrollador de software de Microsoft; Mohammad Alizadeh, profesor asociado de ingeniería eléctrica e informática y miembro del Laboratorio de Informática e Inteligencia Artificial (CSAIL); y el autor principal Krishna Chintalapudi, investigador principal de Microsoft Research. El artículo se presentará en la conferencia ACM SIGCOMM.

Fuera del reloj

En el corazón del retraso entre transmisiones en los juegos en la nube se encuentra un problema fundamental en las redes conocido como sincronización del reloj.

“Si el controlador y la pantalla pudieran mirar sus relojes y al mismo tiempo ver lo mismo, entonces podríamos sincronizar todo con el reloj. Pero gran parte del trabajo teórico sobre la sincronización del reloj muestra que hay ciertos límites que nunca se pueden superar”, dice Hamadanian.

Muchos enfoques intentan sincronizar el reloj mediante mensajes ping-pong, donde un dispositivo envía un mensaje ping al servidor, que a su vez devuelve un mensaje ping-pong. El dispositivo cuenta cuánto tiempo tarda en regresar el mensaje y reduce ese valor a la mitad para calcular el retraso de la red.

Pero la ruta a través de la red probablemente sea asimétrica, por lo que el mensaje puede tardar más en llegar al servidor que el mensaje de retorno. Por lo tanto, este método no es confiable y puede introducir cientos de milisegundos de error. Los humanos normalmente pueden percibir el retraso entre corrientes una vez que alcanza los 10 milisegundos.

"Entonces, si algo sucede en la pantalla, queremos que también suceda dentro de 10 milisegundos en el controlador", explica Hamadanian.

Él y sus colaboradores decidieron intentar escuchar el audio del juego para sincronizar estas transmisiones separadas.

En los juegos en la nube, el micrófono del controlador del jugador graba el audio de la sala, incluido el audio del juego reproducido por los parlantes en la pantalla, que envía de regreso al servidor. Pero usar esto para la sincronización no es confiable porque el audio de la sala contiene ruido de fondo.

Así que diseñaron Ekho para agregar secuencias idénticas de ruido blanco de volumen extremadamente bajo, conocido como pseudoruido, al audio del juego antes de transmitirlo a la pantalla del jugador. Utiliza estos segmentos de pseudoruido para la sincronización.

Antes de construir Ekho, los investigadores realizaron un estudio de usuarios para demostrar que los jugadores no podían escuchar el pseudoruido en el audio del juego. Estas secuencias de ruido también son resistentes a la compresión, lo cual es importante porque el audio enviado desde el controlador está altamente comprimido para acelerar la transferencia de datos.

Pseudo ruido, verdadero éxito

El módulo Ekho-Estimator agrega secuencias de pseudoruido al audio del juego. Cuando recibe el audio del juego grabado desde el controlador, escucha esos marcadores e intenta alinear las transmisiones. Esto le permite calcular con precisión el retraso entre transmisiones.

El Ekho-Estimator envía esa información al módulo Ekho-Compensator, que omite unos milisegundos de sonido o agrega unos milisegundos de silencio al audio del juego que envía el servidor, que sincroniza las transmisiones.

Probaron Ekho en sesiones reales de transmisión en la nube y descubrieron que era superior a otros métodos de sincronización, incluso cuando la calidad del micrófono era mala o la grabación captaba ruido de fondo.

Ekho limitó el retraso entre transmisiones a menos de 10 milisegundos durante casi el 87 por ciento del tiempo durante las transmisiones. Ningún otro método que el equipo probó pudo reducir ese retraso a menos de 50 milisegundos.

“La forma tradicional de hacer esto, que implica intentar medir el error de sincronización utilizando la red subyacente, los errores son significativamente mayores. Cuando comenzamos este proyecto, no estábamos seguros de si esto sería posible. Pero la precisión que podemos alcanzar con Ekho, en niveles inferiores a milisegundos, es inaudita”, afirma Chintalapudi.

Impresionados por estos resultados, los investigadores quieren ver qué tan bien se desempeña Ekho en situaciones más complejas, como sincronizar cinco controladores con el mismo dispositivo de pantalla. Además, dado que Ekho estaba destinado a juegos en la nube, tiene limitaciones de alcance. El trabajo futuro podría buscar mejorar Ekho para que pueda sincronizar dispositivos en cualquier extremo de una sala muy grande, como una sala de conciertos.

"El uso de ruido blanco inaudible como una especie de 'cronometrador' es un gran ejemplo de cómo el pensamiento innovador puede producir resultados inesperados", dice Alizadeh. "La técnica podría mejorar la experiencia del usuario, no sólo en los juegos en la nube sino potencialmente en cualquier escenario de transmisión multidispositivo".

Artículo anterior Artículo siguiente

Fuera del relojPseudo ruido, verdadero éxito