Un programa a escala de Internet usando TAIGA

Visión general

WebView es una visualización de cómo se está utilizando actualmente la web. Está diseñado para monitorear los sitios web que se están navegando actualmente y acumular esta información por categoría en una visualización significativa (e interesante). Al mismo tiempo, es una demostración del potencial del sistema de programación TAIGA .
Para que esta visualización sea interesante y efectiva, necesitamos que la gente la use. Por lo tanto, le recomendamos que descargue, instale y ejecute el software.

La pantalla

Desde el punto de vista de los usuarios, webview es un simple script que presenta una visualización categorizada de lo que las personas están navegando actualmente. A continuación se muestra una muestra de muestra:
La pantalla consta de anillos concéntricos, cada uno de los cuales representa un período de tiempo que va desde un minuto hasta varios días. Cada anillo se divide en regiones que reflejan una sola categoría de páginas web. (Actualmente utilizamos la clasificación de OpenDirectory, pero cualquier categorización funcionaría). Las categorías están ordenadas alfabéticamente, en sentido contrario a las agujas del reloj desde la posición de las 3 en punto (lo que tiene sentido para los matemáticos al menos). Los colores son arbitrarios, pero se eligen para maximizar la diferencia entre categorías posiblemente adyacentes. Dentro de cada área de categoría hay una línea ondulada que codifica información sobre las páginas que se están viendo en esa categoría. La pantalla se actualiza cada minuto más o menos.
La pantalla proporciona al usuario varios tipos de información. El intervalo de arco para cada categoría es proporcional al número de vistas (páginas solicitadas por un navegador) de las páginas de esa categoría durante el intervalo de tiempo. El matiz de la región denota la categoría; La saturación de la coloración refleja el número relativo de vistas. Por lo tanto, si un intervalo tiene relativamente pocas vistas (donde relativo se basa en la cantidad de tiempo que cubre el intervalo frente al historial general), entonces la región será más clara; Si el intervalo tiene muchas vistas, el intervalo será más oscuro. La propia línea ondulada puede codificar el número relativo de direcciones URL distintas durante el intervalo de tiempo en la frecuencia de la línea. Por lo tanto, si todas las páginas vistas para una sola categoría fueran de una sola URL, la línea sería plana; Si cada uno fuera distinto, la línea sería bastante ondulada. El grosor de la línea se utiliza para reflejar el número relativo de usuarios que navegan por las páginas de esa categoría. Si toda la navegación fuera realizada por un solo usuario, la línea sería bastante delgada; si corresponde a muchos usuarios distintos, la línea sería gruesa.
La pantalla también puede codificar información en el brillo (atenuado a negro) de los tramos y en la amplitud de las líneas. El usuario tiene la opción de cambiar las distintas propiedades de visualización a través de los cuadros de diálogo apropiados. Esto incluye cambiar la estadística asociada con cada propiedad gráfica, cambiar los colores asociados con las diferentes categorías, las categorías de mapeo y cambiar los diferentes intervalos.

Recopilación de información

Para poder mostrar información sobre lo que está sucediendo en la web, necesitamos recopilar la información. Por lo tanto, este programa es el software espía. Supervisa su historial de navegación e informa de las páginas que navega a un servidor central donde se clasifican y se registran las categorías. Sin embargo, el programa no registra información personal o de identificación. Los "usuarios" están representados por un ID aleatorio único que solo se utiliza para obtener los recuentos de usuarios. Las ID son arbitrarias y no se pueden rastrear hasta la fuente (que yo sepa). El software espía solo funciona cuando está ejecutando el visor y solo para el usuario que realiza la ejecución. Se proporciona la fuente completa si no cree lo que está sucediendo.
Tenga en cuenta que nuestra herramienta funciona en Windows, Linux y Mac OS / X con safari, Mozilla, IE y Opera en varias combinaciones. Si desea contribuir a los datos del proyecto pero no desea ejecutar el visualizador, le proporcionamos un script que solo ejecuta el monitor de historial.

Clasificación

El sistema nunca guarda URL o ID de usuario. En cambio, a medida que aprende sobre una página, encuentra la categoría adecuada y guarda periódicamente información sobre la cantidad de páginas, usuarios y URL para cada categoría. El sistema no descarga ni accede a una página para encontrar su categoría. En su lugar, intenta encontrar la categoría solo utilizando la URL.
Usando el framework TAIGA, permitimos múltiples implementaciones de clasificadores. Actualmente ofrecemos tres diferentes. Nuestro primer categorizador usó el servicio web de Google, y le pedimos a Google que buscara una página en particular y examinó la clasificación de Open Directory que Google devuelve como parte del resultado. Esto es limitado porque Google no quiere que llamemos al servicio web más de 1000 veces al día y porque no siempre reportan la clasificación, incluso para páginas relativamente comunes. Una alternativa es el MeURLin.proyecto. Tenemos un clasificador que habla con su página web de demostración (aún no tienen un servicio web configurado) y extrae el resultado. Esto es bastante efectivo (con diversos grados de precisión), pero aún es un poco lento para nuestros propósitos. Nuestro tercer clasificador lee la base de datos de directorio abierto al inicio y crea un árbol de clasificación para una URL. Una vez que se construye el árbol (que toma 15 minutos y 2G de memoria), la búsqueda es bastante rápida. Si bien los tres clasificadores están disponibles, y TAIGA es libre de elegir cuál es la mejor en un momento dado, la más probable es que se use uno en este momento.
Si alguien tiene un mejor clasificador o uno que le gustaría probar, me complacería integrarlo rápidamente en el sistema. Taiga permite que la implementación sea una biblioteca, un servicio de tipo cliente-servidor o un servicio web.

Almacenamiento de datos

Estamos utilizando las propiedades del sistema de archivos global de TAIGA para proporcionar el repositorio de información inicial. Los resultados acumulados de la recopilación de información se agregan periódicamente a un archivo de datos actual. Debido a que este archivo puede llegar a ser bastante grande, en realidad mantenemos un conjunto de archivos de datos donde los archivos están vinculados entre sí. Se proporciona un servidor separado para identificar el archivo actual para una hora de inicio determinada, para crear nuevos archivos a medida que los archivos de datos se vuelven demasiado grandes y para vincular los archivos entre sí. Este servicio se iniciará automáticamente (si aún no se está ejecutando) en una máquina en Brown.

Red

En el corazón de este proyecto se encuentra el sistema TAIGA. Cuando ejecute el visualizador, también estará ejecutando el kernel TAIGA en su máquina. Taiga utiliza el paquete JXTA peer-to-peer para proporcionar comunicación entre los distintos núcleos y servicios. En el inicio inicial probablemente verá (al menos por ahora) un cuadro de diálogo de configuración de JXTA. Si las cosas están funcionando, basta con hacer clic en Aceptar. Si está familiarizado con jxta, siéntase libre de modificar las distintas configuraciones. Usando JXTA, webview debería poder ejecutarse dentro de firewalls y en máquinas de arbitray. Si desea obtener un registro del kernel TAIGA mientras se ejecuta en su máquina, establezca la variable de entorno TAIGASHOW (en Windows) o establezca la variable de entorno TAIGALOG en la ruta completa de un archivo de registro apropiado.

Papeles

Aún no se ha escrito nada sobre este proyecto. Valoramos cualquier experiencia que tenga con él y agradecemos cualquier comentario por el momento (y si) escribimos un informe.

Realimentación

Este software es (muy) experimental. Hemos intentado realizar una variedad de instalaciones diferentes, pero solo tenemos una gama limitada de sistemas disponibles. Hay muchas cosas que pueden salir mal tanto en el kernel, en la aplicación, como en la red que une todo. Queremos arreglar las cosas, pero para hacerlo necesitamos saber qué no funciona (y posiblemente qué funciona). Agradecemos todos los comentarios, informes de fallos, sugerencias, comentarios, consultas, etc. Envíe un correo electrónico a spr@cs.brown.edu .

Software

Si se encuentra en ciencias informáticas de Brown, la última versión del software se puede obtener en / home / spr / tryview (Y: \ home \ spr \ tryview en windows).
Si está fuera de la red de Brown CS, puede obtener el software de nuestro servidor ftp en formato (tar.gz) o (zip) .
La instalación es simple: descargue y amplíe el software. Ejecutarlo también es simple: simplemente ejecute el script runview (o runview.bat en windows) para obtener el visualizador (para ejecutar solo el software de monitoreo use los scripts runspy).
Otra vez. Para descargar el software:

No comments:

Post a Comment

The Rise and Fall of Android Tablets

One of the most exciting stories in the modern tech industry is that of tablets. Back in 2010, when the touchscreen smartphone revolution ...