• No se han encontrado resultados

Técnicas para obtención de datos

2. Estado del arte

2.2. Técnicas para obtención de datos

Se ha resaltado la diferencia entre objetos web y páginas web. Sin em- bargo, las cachés almacenan sólo objetos web. Para plantear el análisis dife- renciado objetos web versus páginas web hace falta explicar qué tecnicas se recogen en la literatura para este fin. Esta sección recoge tales técnicas y son la base que permite luego calcular la presencia y forma de la función Zipf en las trazas recogidas. La sección no hace una revisión minuciosa de técnicas pero se ha tomado como referencia trabajos más extensos, como Calzarossa et al. (2016), que recoge un análisis completo de todas las técnicas para el lado del cliente y del servidor.

2.2.1.

Análisis en el servidor

En la bibliografía se encuentran muchas referencias de cómo analizan los datos en el lado del servidor con diferentes fines. En esta sección se va a describir cuál es el proceso habitual en la bibliografía que se sigue para determinar la función de distribución que sigue una muestra.

Como se describe en la sección 2.3.1, hay dos técnicas para recoger los datos del servidor: el uso de proxies y utilizar los access.log del servidor. En cualquiera de los dos casos, el formato de log que suele emplearse es el formato CLF (Apache, 2004). Usando dicho formato, cada línea del log tiene el siguiente aspecto (Grace et al., 2011):

127.0.0.1 - - [10/Oct/2000:13:55:36 +0200] "GET /apache.gif HTTP/1.0"200 2326 http://apache.org "Mozilla/5.0 (Windows NT 6.1)"

Utilizando ficheros con el formato CLF es relativamente sencillo realizar análisis de muchos tipos: URLs más demandas, volumen total distribuido por un servidor, dispositivos que acceden, etc.

Muchos sistemas emplean múltiples nodos para distribuir las páginas y recursos. En estos casos es de utilidad el timestamp, ya que permiten ordenar las peticiones tal y como llegaron al servicio, con independencia de qué nodo respondió la petición. Esto es útil para hacer análisis del tráfico, así como para poder hacer simulaciones sobre el tráfico real.

Una vez que se tiene un log, el siguiente paso es el filtrado de los datos (Arlitt y Jin, 2000; Breslau et al., 1999; Nair y Jayarekha, 2010). Para ello, dependiendo del propósito del análisis, se utilizan técnicas diferentes. En el caso que ocupa esta tesis, lo que se hace es elegir sólo aquellas peticiones que son cacheables (ver sección 2.1.1).

2.2. Técnicas para obtención de datos 23

Para determinar la función de distribución existen muchas variantes de- pendiendo del lenguaje, algoritmos, etc. En esta tesis se emplean dos esti- madores diferentes: el estimador de Clauset (Clauset et al., 2009) que está disponible para descarga en Clauset et al. (2013), y el paquete estadístico powerlaw (Gillespie, 2014).

Ambos estimadores analizan si una muestra es una powerlaw (sección 2.3), y si es así, dan una estimación del exponente η. A partir de este valor y utilizando la ecuación 2.6 se puede determinar el valor de α, en el caso de que la distribución sea una Zipf.

Para determinar si una distribución sigue una powerlaw, los estimadores utilizan una aproximación basada en mínimos cuadráticos, calculando los posibles valores a partir de los cuales la muestra sigue una powerlaw, esto es, los posibles valores que puede tomar xmin (sección 2.3). Para cada uno de estos valores, se emplea el test Kolmogorov-Smirnov, el cuál seleccionará el valor que más se ajusta a una powerlaw. Para esta estimación, los algoritmos devuelven el porcentaje de aproximación y el exponente de la powerlaw.

2.2.2.

Análisis en la capa del cliente

Tradicionalmente el análisis de un sitio se ha desarrollado sobre la capa de servidor, siguiendo las técnicas que han descrito en el apartado anterior. Este análisis permite obtener una perspectiva técnica de la interacción entre el usuario y el sitio web, aunque se ha empleado para extrapolar conocimiento sobre el usuario.

Sin embargo, un análisis más sofisticado puede ser llevado a cabo utilizan- do analítica web en la capa de cliente. Este tipo de analítica, aplicada a un sitio web, recaba información sobre las acciones del usuario cuando accede a él, cuando navega a otras páginas del sitio o cuando el usuario interacciona con sus páginas. La información obtenida es enviada a sistemas especializados en este tipo de adquisición (Google, 2016; Cloud, 2016). Entre otros datos, se manda la URL y un código de tiempo, para que a posteriori se puedan hacer análisis centrados en el contenido o en el usuario. En la bibliografía esta metodología se llama page tagging (Mahanti et al., 2009).

A diferencia del análisis en el servidor, que analiza todos los recursos de un sitio web, el análisis de la vista se centra sólo en las páginas web. El concepto página web engloba los objetos de negocio de un sitio. Por ejemplo, para un canal de televisión, las páginas web son noticias, vídeos, audios, fotogalerías, etc.

Existe una relación entre la vista y el servidor, ya que la petición de una página web en un navegador provoca la petición de múltiples recursos al

24 Capítulo 2. Estado del arte

servidor, recursos que quedarán registrados en el access.log: se registrará la URL de la página web y las de los objetos auxiliares que estén referenciados en dicha página web.

Las métricas más básicas que se suelen obtener en cliente son las 3 siguien- tes: usuarios/visitantes únicos, número de visitas y páginas vistas Mahanti et al. (2009). Estas métricas están definidas como sigue (Cloud, 2016; Mahanti et al., 2009; Calzarossa et al., 2016):

Definición 4. Una página vista es toda página web (ver definición 1) que es pedida por un usuario final. Cada vez que un usuario pide una página web un contador asociado a la URL es incrementado.

Definición 5. Un visitante es la persona física que entra en un sitio Web a través de un navegador.

Definición 6. El concepto de visitante único está relacionado con un factor temporal. Un visitante o usuario único se refiere a un visitante que visita un sitio por primera vez durante un período específico de tiempo.

Definición 7. Se define una visita o sesión como una serie de peticiones a recursos dentro de un marco temporal. Cuando un usuario llega a un sitio web se computa una nueva visita o sesión. Mientras esté navegando se irán sumando páginas vistas a esa sesión hasta que cierre el navegador o pasen más de 30 minutos sin ninguna actividad (no se envía ninguna página vista). En caso de haber pasado 30 minutos y enviar una nueva página vista, se computa como nueva sesión.

El mecanismo técnico que se emplea para calcular las métricas anteriores se basa en dos identificadores que se calculan cuando un usuario accede a un sitio web: el de usuario (id_usuario en adelante) y el de sesión (id_sesion). La primera vez que un usuario accede a un sitio web, se crea una cookie (Fielding et al., 1999) conteniendo un número que será el identificar único de ese usuario. Esta cookie no caduca, así que la próxima vez que el usuario utilice el navegador, dicho valor seguirá vigente (salvo si limpia las cookies). Al tratarse de un mecanismo basado en cookies puede haber cierto sesgo ya que las cookies no se comparten entre navegadores, y al final, si un usuario usa más de un navegador, computará como más de un usuario (Calzarossa et al., 2016).

En cualquier caso, cuando un usuario accede a un sitio web, siempre se genera un id de sesión y se guarda en la cookie. Este valor tiene una duración

2.2. Técnicas para obtención de datos 25

de 30 minutos, con lo que la cookie y por tanto el id_sesion será borrado si el usuario no hace ninguna navegación en ese tiempo.

Finalmente, y para completar el mecanismo de contabilización, cuando un usuario navega por las páginas de un portal, cada navegación implica el envío a un servicio de analítica web de la URL, el código de tiempo y las cookies, y por tanto el id_usuario y el id_sesion. El servicio de analítica recibe las peticiones y almacena la información para realizar informes o para auditar audiencias.

Respecto de los servicios de analíticas web, hay muchos servicios dispo- nibles, algunos gratuitos y otros de pago. Los sitios web suelen utilizar más de uno para contrastar la información que se genera. En el mercado español, la práctica habitual es la de utilizar Comscore, Adobe Omniture y/o Google Analytics. A la hora de auditar y validar los datos que recogen estos servicios, en España hay una empresa a la que se le ha encomendado dicha tarea, OJD (2016). Esto garantiza la calidad de los datos recogidos en los sistemas de analítica de cliente.

2.2.3.

Conclusiones sobre técnicas de obtención de da-

tos

Como en otras áreas, un sistema (servicio web) puede contemplarse desde ópticas distintas. En el caso de la web, un servicio se puede analizar desde la perspectiva del cliente o desde la del servidor. El hecho de elegir una perspectiva u otra nos puede llevar a diferentes resultados. Cada una de las aproximaciones tiene ventajas y desventajas. Mahanti et al. (2009) analiza ambos enfoques encontrando que las principales diferencias son:

La analítica del lado de cliente no permite medir el volumen de tráfico, ya que se enfoca en elementos de negocio y en qué consumen los usua- rios. El lado de servidor, al enfocarse en la parte más técnica, sí que lo permite.

La analítica del lado de cliente permite hacer un seguimiento del usuario gracias al uso de cookies, mientras que en el lado de servidor dicho seguimiento se hace con la Internet Protocol (IP) del usuario. El uso de de la dirección IP tiene el hándicap de que los proxies pueden hacer que muchos usuarios la compartan y haya un sesgo importante. Por su lado, las cookies no siguen al usuario a todos los dispositivos y navegadores desde los que un usuario pueda acceder, con lo que tampoco está libre de sesgo.

26 Capítulo 2. Estado del arte

El análisis de servidor es afectado por las cachés y no permite distinguir a humanos de robots.

Finalmente, sólo con analíticas de cliente se puede obtener informa- ción tales como el sistema operativo del usuario, capacidades de los navegadores, etc.