La infraestructura online para NX

Las tres patas de todo fabricante de consolas son:

  • Software (Juegos).
  • Hardware (Consola)
  • Servicios

Dado que en el mundo Nintendo la tercera pata ha sido deficiente no se habla mucho de ella, más que nada porque en el tema servicios Nintendo ha sido muy deficitaria y no ha desarrollado jamás una infraestructura sólida. Las motivaciones de ello no las voy a hablar ahora porque sería repetirme en temas ya comentados en el pasado. En todo caso hace unos días apareció la siguiente patente:

Captura de pantalla 2016-04-20 a las 11.14.52

La patente japonesa original es de Octubre de 2014, veamos ahora de que se trata y veréis como tiene relación con el tema servicios.

Captura de pantalla 2016-04-20 a las 11.16.18

Es decir, por un lado tenemos un servidor y por otro lado tenemos múltiples aparatos de procesamiento de la información que es una manera vedada de decir consolas. ¿Y que es lo que hace el servidor? La descripción es la de un matchmaking de toda la vida, pero mejor profundizar en la imagen principal de la patente:

Captura de pantalla 2016-04-20 a las 11.19.00

El Game Apparatus es una consola de videojuegos, el hecho de tener varias de sobremesa en un mismo espacio y un servidor es un sinsentido, el hecho de tener varias consolas portátiles en un mismo espacio físico que el servidor es un sinsentido por lo que podemos deducir que ambos aparatos no se encuentran en el mismo espacio físico. Por lo que por lógica la comunicación es a través de internet:

Captura de pantalla 2016-04-20 a las 11.22.17

Ahora bien, nos interesa saber información sobre el Game Apparatus 1, el diagrama descriptivo es el siguiente:

Captura de pantalla 2016-04-20 a las 11.23.46

¿Su descripción?

Captura de pantalla 2016-04-20 a las 11.27.46 Captura de pantalla 2016-04-20 a las 11.28.13

Si miráis la descripción es muy general por lo que puede ser tanto de una sobremesa como de una portátil… ¿Y que hay del servidor?

Captura de pantalla 2016-04-20 a las 11.32.14

Veamos su descripción:

Captura de pantalla 2016-04-20 a las 11.33.42

Captura de pantalla 2016-04-20 a las 11.35.17Captura de pantalla 2016-04-20 a las 11.35.32

¿Que significa esto? Pues que el llamado “servidor” es otra consola haciendo las tareas de servidor en la función de poder utilizar el procesador de las consolas en stand-by para hacer correr otro Sistema Operativo encargado de la gestión online. No se si os acordaréis del famoso WiiConnect24 de la Wii original porque lo que voy a hablar ahora es una evolución del mismo, la descripción del servicio era la siguiente:

Para jugar La principal función de WiiConnect24 fue que la consola pueda conectarse a internet con la condición de que tenga una conexión activa a Internet y recibir datos en segundo plano, o incluso en stand-by. La información recibida en la Wii, podían ser noticias, pronósticos del tiempo, mensajes publicados y enviados al tablón de mensajes Wii, o cualquier mensaje enviado por Nintendo acerca de nuevas funciones de la consola. La ranura de discos ópticos de la Wii se iluminará con un color azul si se está recibiendo nueva información de WiiConnect24.

WiiConnect24 dispone de una opción para el modo ahorro de energía (Standby) que se aplica cuando el servicio es utilizado las 24 horas del día para recibir nuevos datos.

Wii al igual que Wii U tiene un pequeño núcleo ARM, una segunda CPU encargada de la E/S en el juego normal pero que toma el poder de la consola en modo de muy bajo consumo. ¿Y que ha ocurrido con los chips para móviles? Pues que estos con la irrupción de los smartphones han tenido una evolución espectacular en lo que a potencia se refiere. El siguiente gráfico es de Apple pero es aplicable a toda evolución de los núcleos ARM:

launcher09-12-14-at-02.53-PM.JPG

¿Acaso con el aumento de potencia no podría realizar el pequeño núcleo ARM las funciones de servidor? Hay que tener en cuenta que en Wii los juegos se ejecutaban a nivel de metal pero había un SO aparte que se ejecutaba en el núcleo ARM, perdonad si os pongo la tabla de la anterior entrada pero me gustaría que os fijarais en la segunda fila, la que habla del IOS de Wii y el IOSU de Wii U.

WiiUOS

La fuente es failoverflow, el grupo de hacking que obtuvo información sobre la consola, en WiiUBrew el IOSU es descrito de la siguiente manera:

IOSU es el sitema operativo ejecutandose en el ARM en modo Wii U. Es el equivalente en Wii U al IOS en la Wii, y similar en algunos aspectos, pero ha sido completamente re-escrito con algunos cambios. El IOSU implementa la política de seguridad de Wii U, la cual incluye los títulos/juegos y el acceso al hardware. Una de sus principales responsabilidades es la forzar el código firmado, verificando  todos los títulos antes de su instalación y ejecución. Otra tarea de su trabajo es manejar el acceso a la mayoría del hardware, como es el almacenamiento, la red, USB, el Gamepad. El PowerPC puede hablarle al IOSU a través de una interfaz IPC, y hacer peticiones de seguridad y hardware.

Es decir, el núcleo ARM junto al IOSU da el acceso al hardware de E/S y lo bloquea o da acceso dependiendo si el software esta firmado o no. Este concepto no solo lo lleva a cabo Nintendo y el IOSU no es el Café OS, simplemente se encarga de hacer de guardan de la puerta. Es decir,si el software no esta firmado no da acceso a donde se encuentra el software al procesador o incluso a la red… Es un “Eh, no puedes porque no te doy permiso”. Este tipo de procesadores son los llamados “Platform Security Processor” y no se encuentran solo en las consolas de Nintendo:

CHKoP7oUAAAkUj6.png-large

En Xbox One el Platform Security Processor se encuentra en el Southbridge, hace el mismo trabajo que el núcleo ARM de Wii U.

Captura de pantalla 2016-04-20 a las 12.01.02

¿Y que hay de PS4?
Sony-PS4-Event-134

Sabemos que el SoC principal no tiene ninguna interfaz de E/S pero mejor ver la foto de la placa base para entenderlo:

Captura de pantalla 2016-04-20 a las 12.03.48

¿Su trabajo? El mismo que el resto… ¿Su arquitectura? Se trata de un chip ARM como el resto haciendo las mismas funcione exactas. Es decir, se trata de un sistema paralelo al sistema principal en los tres casos… Pero… ¿Que ocurrirá si hiciesemos evolucionar sus capacidades para que puedan hacer de servidores de los juegos por si mismos? Es decir, ya que controlan el acceso a la red del sistema que puedan realizar las tareas de servidor online en las partidas de forma paralela y desde su propio SO sin molestar al procesador principal de la consola. Es decir, y con ello vuelvo a la patente de Nintendo, que el núcleo ARM sea el encargado de hacer de servidor de la partida en el juego online. Esto le permitiría a Nintendo tener una infraestructura online sólida porque todas y cada una de las consolas estaría preparada para hacer de servidor de entrada gracias al entorno secundario que se ejecutaría en el núcleo ARM y que haría la gestión del juego online, es decir… Se trata de incorporar un server online de bajo coste en la consola.

No solo eso, sino que además puede ser posible el hecho de dejar la potencia de la consola en Stand-By para poder hacer de servidor, solo haría falta el núcleo ARM y una parte de la memoria. Si el usuario quiere solo tiene que prestar su consola como servidor de un juego y esto le ahorra a Nintendo el hecho de tener una infraestructura online. Esto explicaría porque en la patente se habla de dos entornos distintos en lo que el programa servidor y el programa juego se refieren. ¿Y que interés puede tener Nintendo en hacer algo así? Obviamente esto es un escenario especulatorio a partir de la patente, pero no hay que olvidar que uno de los núcleos principales de Nintendo son los críos.

kids2

Es decir, Nintendo con esto puede ofrecer online gratis y creedme, he oído varios padres quejosos del online de pago de PS4 y Xbox One.

Anuncios