martes, 21 de febrero de 2012

Como funciona Opera Mini y su compresion de Datos


Una de las cosas que hace a Opera Mini el navegador más utilizado mundialmente es su habilidad de comprimir los datos. Obviamente, ustedes ya saben que esto nos ahorra tiempo y dinero, ¿pero realmente saben cómo funciona la compresión de datos?






Por mucho que nos guste la idea de que esto se hace por el toque de una varita mágica de software  , resulta ser que la compresión de datos no es una simple acción sino es una serie de procesos que prepara el contenido.

Martin Nilsson, Arquitecto de Soluciones para Opera Mini, nos explica como es que Opera Mini es capaz de servir todo el sabor de la Web.

¿Cuándo surgió por primera vez la idea de la compresión de datos en Opera Mini?

Martin: El primer proyecto que implicaba compresión de datos en el cual Opera trabajó fue el Acelerador Móvil Opera (Nota ediorial: lanzado en 2004, este fue un servicio basado en suscripción, el cual tenía un costo de 12 Euros ¡por tres meses de servicio!). Ese proyecto fue descontinuado y en su lugar comenzamos a trabajar en Opera Mini. La idea con Opera Mini Gratis era hacer un navegador para (en ese tiempo) teléfonos que no tenían navegador.

¿Cómo funciona Opera Mini hoy?

Martin: A diferencia de los navegadores Web ordinarios, Opera Mini pasa todo el contenido a través de un servidor proxy que reformatea las páginas web en un formato más adecuado para pantallas pequeñas. La página es comprimida y entonces devuelta al teléfono en forma de un lenguaje de marcado llamado OBML(Lenguaje de Marcado Binario Opera). Este proceso de compresión hace que el tiempo de transferencia sea de dos a tres veces más rápida y el pre-procesamiento incrementa la compatibilidad con páginas web no diseñadas para teléfonos móviles.

¿Qué es lo que hacen los servidores en términos de reformateo?

Martin: Los dispositivos móviles difieren en muchas formas a los dispositivos de escritorio, diferentes tratamientos al texto pueden ser utilizados para mejorar su legibilidad. También entre los dispositivos móviles existen aquellos con solo teclado numérico, aquellos con teclado QWERTY, con control, stylus, touch, etc. Muchas de las cosas que funcionan en escritorio no funcionan en móviles, especialmente cuando no hay un puntero de ratón para deslizar los frames o realizar acciones de posar el puntero (mouseover). Para resolver todos estos problemas de usabilidad, se necesitan hacer algunos ajustes.



¿Qué pasa cuando los datos son comprimidos?

Martin: En primer lugar, y esto es muy importante, la compresión de datos en realidad no ayuda mucho en términos de velocidad. Lo que importa es la latencia, el tiempo desde la acción del usuario hasta que la primera respuesta es vista. Algunos de los primeros métodos para reducir la latencia incluyen:

Nuestro protocolo del lado del cliente mantiene la conexión establecida para mantenerse enviando peticiones. Aquí hay un 20-30% de beneficio para el usuario final en términos de latencia.
Debido a que utilizamos el protocolo una sola petición de usuario - una sola respuesta minimizamos la el uso de un alto radio de latencia en la red y en su lugar obtenemos todos los elementos, hojas de estilo, etc de nuestros rápidos servidores.
Nos conectamos directamente a los sitios de algunos socios como Facebook y Google, e incluso tenemos servidores de otras compañías en nuestros cuartos de servidores, por lo que la latencia de nuestros transcodificadores relativa al volumen del contenido es tan pequeño como es posible.
Existen también diferentes tipos de compresión y reducción de datos utilizados en Opera Mini

Los servidores mantienen información de los clientes, por lo que esta información sólo necesita ser enviada del cliente al servidor una vez, en lugar de cada petición.
Las huellas (cookies) son administradas completamente del lado del servidor, por lo que los datos nuca tienen que ir y venir para todo.
Las imágenes son escaladas para que se ajusten mejor a la pantalla del dispositivo para hacer su pantalla lo más eficiente posible mientras se hace a la página resultante luzca lo mejor posible como los ajustes de calidad del usuario lo permitan.
Finalmente, los datos resultantes son comprimidos en diferentes maneras. Normalmente mandamos el texto primero, seguido de los enlaces, los elementos de diseño esencial y finalmente todos los gráficos. También nos centramos en enviar los datos de donde el usuario comenzará a leer antes que otras partes de la página.

Dado que todos los datos tienen que pasar a través de los servidores de Opera ¿qué hay acerca de los riesgos de seguridad?

Martin: Opera Mini es como una computadora de escritorio. El navegador se ejecuta en la computadora mientras el usuario mira su pantalla. En Opera Mini el navegador se ejecuta en nuestros servidores mientras el usuario esta viendo la página en su dispositivo. Sabemos que el éxito de Opera Mini depende de que seamos capaces de ejecutar nuestros servidores seguramente. Hasta ahora no hemos tenido ningún incidente.

¿Los servidores de Opera Mini están en Noruega?

Hay algunos en Noruega, pero tenemos servidores en múltiples locaciones, donde tiene sentido desde una perspectiva de rendimiento y económica. Un ejemplo es nuestro centro de datos en Islandia, el cual se encuentra justo en medio de EUA y Europa, además de los beneficios de la energía termal.

0 comentarios:

Publicar un comentario