ES2555291T3 - Método para el seguimiento remoto y la reproducción de la interacción de un usuario con una página web - Google Patents

Método para el seguimiento remoto y la reproducción de la interacción de un usuario con una página web Download PDF

Info

Publication number
ES2555291T3
ES2555291T3 ES13003350.9T ES13003350T ES2555291T3 ES 2555291 T3 ES2555291 T3 ES 2555291T3 ES 13003350 T ES13003350 T ES 13003350T ES 2555291 T3 ES2555291 T3 ES 2555291T3
Authority
ES
Spain
Prior art keywords
user
tracking
server
computer
interaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13003350.9T
Other languages
English (en)
Inventor
Alexei R. White
Andre D. Charland
David C. Johnson
Mitchell A. Cohen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foresee Results Inc
Original Assignee
Foresee Results Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Foresee Results Inc filed Critical Foresee Results Inc
Application granted granted Critical
Publication of ES2555291T3 publication Critical patent/ES2555291T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Método implementado por ordenador para reproducir la interacción de un usuario con una página web (24), que comprende: solicitar (710) reproducción de un registro de seguimiento (36) desde un servidor de reproducción (30); solicitar (718) y recibir periódicamente datos de la interacción de del usuario desde el servidor de reproducción, donde los datos recibidos de la interacción del usuario son normalizados por el servidor de reproducción (30), incluyendo dicha normalización reescribir URLs de la imagen; recrear (720) una visualización de la interacción a partir de los datos de interacción del usuario; y reproducir (722) dicha visualización de la interacción basada en datos recibidos del servidor de reproducción (30).

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Metodo para el seguimiento remoto y la reproduccion de la interaccion de un usuario con una pagina web Reivindicacion de prioridad
La presente solicitud reivindica prioridad de conformidad con 35 U.S.C. § 119 sobre la Solicitud Provisional estadounidense con Numero de Serie 61/124,392, presentada el 15 de abril de 2008.
Antecedentes de la invencion
Las presentes invenciones hacen referencia en general a sistemas y metodos para monitorizar la interaccion de un usuario con un ordenador remoto. De manera mas espedfica, las presentes invenciones hacen referencia a sistemas y metodos para el seguimiento y reproduccion de la interaccion de un usuario con un ordenador o pagina web remotos.
Resulta deseable para las comparuas enfocadas a los negocios on-line, tal como funciona la operativa de paginas web relacionadas con negocios a traves de internet, poder observar y/o recoger y analizar la interaccion de ciertos usuarios con sus paginas web. Se conoce en el arte software comercial para recoger y analizar un resumen de aspectos de la interaccion de un usuario con paginas web. Sin embargo, tales herramientas conocidas no permiten de manera habitual la recoleccion o el analisis de detalles de las interacciones de un usuario individual con una pagina web, tales como, por ejemplo, como un usuario individual completa un formulario en una pagina web, o con que partes de una pagina web un usuario interacciona mas facilmente, o como un usuario navega de un elemento de una pagina web a otro.
Se conoce en el arte, un software para recoger y analizar de forma remota ciertos detalles adicionales de las interacciones de un usuario individual con una pagina web. Sin embargo, tal software conocido requiere, habitualmente, que el servidor o el proveedor del servicio recoja los detalles de la interaccion del usuario y tambien proporcione la pagina web al ordenador del usuario. Tales configuraciones aumentan la carga de procesamiento en el servidor de la pagina web y limita la habilidad de un tercer proveedor del servicio, tal como un proveedor del servicio de analisis de la interaccion de un usuario, de poder recoger los datos de la interaccion del usuario del servidor principal.
Como resultado de dichas limitaciones, sena deseable proporcionar sistemas y metodos que proporcionen seguimiento y reproduccion remota de la interaccion de un usuario con una pagina web que permita el hospedaje (hosting) y el servicio de la pagina web mediante un proveedor de servicios, y recoger y repetir/reproducir la interaccion del usuario con la pagina web de un usuario proporcionada por un proveedor de servicios distinto, utilizando ordenadores distintos del servicio que ofrece el hospedaje y que sirve la pagina web al usuario.
La patente US 6.877.007 B1 hace referencia a un metodo y un sistema previsto para el seguimiento de la interaccion de un usuario con un recurso o recursos suministrados por un ordenador servidor. Cuando un usuario solicita una pagina Web del servidor, el usuario es redirigido a un servidor de seguimiento. El servidor de seguimiento envfa la pagina Web solicitada, con un script incorporado al ordenador del usuario junto con un programa de aplicacion que puede grabar la interaccion del usuario con la pagina Web. A medida que el usuario interactua con la pagina Web, las entradas realizadas por el usuario, tales como movimientos del raton, la pulsacion de los botones, el mecanografiado, etc. son transmitidos de vuelta al servidor de seguimiento por el programa de aplicacion. La sesion grabada puede recuperarse mas tarde desde el servidor de seguimiento para su reproduccion. En base a los datos de entrada del usuario, el recurso rastreado puede ser modificado, de tal manera que se hace mas accesible al usuario o mas facilmente navegable.
El documento US 2007/0250618 A1 revela un metodo y sistema para rastrear la interaccion de un usuario con un recurso o recursos suministrados por un ordenador servidor. Cuando un usuario solicita una pagina web de un servidor para la visualizacion de dicha pagina web utilizando un navegador, el usuario es redirigido a un servidor de seguimiento. El servidor de seguimiento envfa la pagina web solicitada, con un script incorporado al ordenador del usuario junto con un programa de aplicacion que puede grabar la interaccion del usuario con la pagina web. A medida que el usuario interactua con la pagina web, las entradas realizadas por el usuario son transmitidos de vuelta al servidor de seguimiento. La sesion grabada puede recuperarse mas tarde desde el servidor de seguimiento para su reproduccion.
Resumen de la invencion
Es un objeto de la presente invencion proporcionar sistemas y metodos para el seguimiento remoto de la interaccion de usuarios con una pagina web que aborda algunas de las limitaciones del arte previo.
5
10
15
20
25
30
35
40
45
50
Otro objeto de la presente invencion consiste en proporcionar sistemas y metodos para la reproduccion de la interaccion de un usuario con una pagina web que aborda algunas de las limitaciones del arte previo.
Es un objeto adicional de la invencion proporcionar un medio legible por un ordenador y un metodo implementado por ordenador del seguimiento remoto y reproduccion de la interaccion de un usuario con una pagina web, que proporcione una transmision entre dominios de los datos de interaccion de los usuarios a un ordenador de seguimiento diferente del ordenador servidor que aloja la pagina web.
Incluso un objeto adicional de la presente invencion consisten en proporcionar un medio legible por ordenador y un metodo implementado por ordenador para el seguimiento remoto de la interaccion de un usuario con una pagina web u otro recurso multimedia que proporcione una transmision entre dominios en tiempo real de los datos de la interaccion de un usuario a un ordenador de seguimiento, y la reproduccion en tiempo real de los datos de la interaccion de un usuario en uno o mas ordenadores en un entorno colaborativo.
De acuerdo a un modo de realizacion de la presente invencion, se proporciona un medio legible por ordenador, que comprende instrucciones ejecutables para solicitar una pagina web de un servidor web, solicitar un script de seguimiento de un servidor de seguimiento, recibir la pagina web y hacer un script de seguimiento y ejecutar el script de seguimiento, para capturar, procesar y almacenar los datos de la interaccion de un usuario durante su navegacion por la pagina web, y para transmitir periodicamente los datos de la interaccion del usuario mediante una solicitud de script dinamico o tecnicas de transmision y compresion disponibles habitualmente, y para almacenar los datos de la interaccion del usuario en un servidor de seguimiento o de reproduccion.
De acuerdo con otro modo de realizacion, se proporciona un medio legible por ordenador, que comprende instrucciones ejecutables para identificar elementos de una pagina web, definir receptores para cada elemento, grabar la interaccion del usuario con la pagina web como datos de interaccion de usuarios utilizando los receptores, procesar y almacenar los datos en un almacenamiento de navegador web, paquetizar los datos y codificar los datos paquetizados como una solicitud de script dinamico, y transmitir la solicitud de script dinamico a un servidor de seguimiento.
De acuerdo con la invencion segun se define en la reivindicacion 1 adjunta, se proporciona un metodo implementado por ordenador para reproducir la interaccion de un usuario con una pagina web, que comprende una solicitud de reproduccion de una grabacion del seguimiento de un servidor de reproduccion, solicitar y recibir periodicamente los datos de la interaccion del usuario del servidor de reproduccion en donde los datos de interaccion del usuario son normalizados por el servidor de reproduccion, donde dicha normalizacion incluye reescribir las URL de imagenes, recrear una visualizacion de la interaccion de los datos de interaccion del usuario, y reproducir la visualizacion de la interaccion en base a los datos recibidos del servidor de reproduccion. Se define en la reivindicacion 12 un medio utilizable por ordenador que presenta, almacenado en el mismo, instrucciones utilizables por ordenador para que un procesador ejecute el metodo de la reivindicacion 1.
De acuerdo con un modo de realizacion adicional de la invencion, se proporciona un metodo implementado por ordenador para reproducir la interaccion de un usuario con una pagina web, que comprende solicitar la reproduccion de un archivo de video mediante la solicitud de un script de reproduccion del servidor, y construir el archivo de video mediante la solicitud del script de reproduccion del servidor, recibir y ejecutar el script de reproduccion, solicitar y recibir periodicamente los datos de la interaccion del usuario del servidor de seguimiento o reproduccion a traves de aplicaciones de transmision y compresion de datos disponibles habitualmente, recrear una visualizacion de la interaccion, tal como una pelfcula de los datos de la interaccion del usuario, y reproducir la visualizacion de la interaccion utilizando aplicaciones de reproduccion de video disponibles habitualmente, tales como Windows Media Player o QuickTime.
Ventajas adicionales de la presente invencion resultaran aparentes al considerar los dibujos en conjunto con la descripcion detallada.
Breve descripcion de las figuras
El sistema y metodo de la presente invencion sera descrito a continuacion en referencia a las figuras de los dibujos adjuntos, en los que:
La Figura 1 ilustra un entorno operativo en red a modo de ejemplo, para implementar un modo de realizacion de la presente invencion.
La Figura 2 ilustra un ejemplo de la arquitectura del ordenador de un usuario configurado segun un modo de realizacion de la invencion.
5
10
15
20
25
30
35
40
45
50
La Figura 3 ilustra un ejemplo de arquitectura de un ordenador servidor de web configurado segun un modo de realizacion de la invencion.
La figura 4 ilustra un ejemplo de la arquitectura de un ordenador servidor de seguimiento configurado segun un modo de realizacion de la invencion.
La Figura 5 ilustra una serie de operaciones de procesamiento asociadas con un modo de realizacion de la presente invencion.
La Figura 6 ilustra una serie de operaciones de procesamiento implementadas por el ordenador de un usuario asociadas a un modo de realizacion de la invencion.
La Figura 7 ilustra una serie de operaciones de procesamiento asociadas con un modo de realizacion de la reproduccion de la invencion.
Referencias numericas similares hacen referencia a partes correspondientes por todas las diferentes vistas de los dibujos.
Descripcion detallada de la invencion
La Figura 1 ilustra un ejemplo de entorno operativo en red en el que los modos de realizacion de la presente invencion pueden implementarse. El entorno en red incluye un ordenador del usuario 10 conectado a una red de comunicaciones 50, que puede incluir, por ejemplo, uno o mas de lo siguiente: una red de area local (LAN), red de area amplia (WAN), World Wide Web (WWW), Internet, de tal manera que el ordenador del usuario 10 pueda comunicarse con otros ordenadores conectados de forma similar a la red 50. Otros ordenadores conectados a la red 50 pueden incluir un servidor de web 20, un servidor de seguimiento 30, y un ordenador de analisis 40, cada uno de los cuales puede comunicarse con cualquier otro ordenador conectado a la red 50. El ordenador del usuario 10 incluye componentes informaticos habituales conocidos en el arte, para transmitir y recibir datos a o desde otros ordenadores conectados al ordenador del usuario 10 a traves de la red 50.
De manera similar, el servidor web 20 incluye componentes informaticos habituales conocidos en el arte para servir paginas web a otros ordenadores a traves de la red 50. En particular, el servidor web 20 se conecta a un repositorio de almacenamiento de la pagina web 22 que almacena uno o mas recursos de paginas web 24. El repositorio de almacenamiento de la pagina web 22 puede incluir un dispositivo de almacenamiento de datos convencional, tal como un disco duro o una memoria de estado solido ubicada con, y conectada directamente a, el servidor de web 20, o puede incluir un equipo de almacenamiento de datos remoto conectado al servidor de web 20. La pagina web 24 puede incluir un documento unico, tal como un documento de hipertexto escrito habitualmente en un lenguaje de marcas, tal como HTML o XML, o puede incluir multiples documentos tales como un sitio web de paginacion multiple, al cual puede acceder un ordenador del usuario 10 conectado al servidor de web 20 a traves de la red 50. La pagina web 24 puede tambien incluir uno o mas scripts o comandos para la ejecucion de operaciones expresadas en uno o mas lenguajes de programacion, tales como por ejemplo Javascript. Tales scripts pueden inluirse en la pagina web 24 cuando se sirve a otros ordenadores mediante el servidor de web 20.
El servidor de seguimiento 30 incluye componentes informaticos habituales conocidos en el arte, para enviar y recibir datos a y desde otros ordenadores conectados a la red 50. En particular, el servidor de seguimiento 30 se encuentra conectado a un repositorio de almacenamiento de seguimiento 32. El repositorio de almacenamiento de seguimiento 32 puede constar de un dispositivo de almacenamiento de datos convencional, tal como un disco duro o una memoria de estado solido, ubicado con, y conectado directamente a, el servidor de seguimiento 30, o puede constar de un servicio de almacenamiento de datos remoto conectado al servidor de seguimiento 30, tal como una base de datos.
El repositorio de almacenamiento de seguimiento 32 almacena un script 34 que puede expresarse en un lenguaje de comandos o de programacion de script conocido, tal como Javascript por ejemplo, y puede incluir instrucciones ejecutables del ordenador para grabar y transmitir datos de interaccion relacionados con la interaccion de un usuario con una pagina web, tal como se describe en mayor detalle en referencia a las Figuras 2-6. En algunos modos de realizacion, el script puede incluir una llamada a una funcion de una o mas aplicaciones que puede utilizarse para comunicar los datos de interaccion a traves de la red 50. Por ejemplo, una o mas aplicaciones que se encuentran de manera habitual, tal como Adobe Flash, puede utilizarse para comprimir y transmitir los datos (por ejemplo, en el formato de mensaje de accion (formato “AMF”, por sus siglas en ingles)).
El repositorio de almacenamiento de seguimiento 32, puede ademas almacenar uno o mas registros de seguimiento 36, incluyendo dichos datos de interaccion, que pueden recibirse desde o transmitirse a uno o mas ordenadores conectados al servidor de seguimiento 30 a traves de la red 50, tal como un ordenador del usuario 10 o un ordenador de analisis 40, por ejemplo.
5
10
15
20
25
30
35
40
45
50
Se podra apreciar de lo expuesto anteriormente que el servidor de seguimiento 30 y el almacenamiento de seguimiento 32 pueden construirse de muchas maneras (no se muestran). Por ejemplo, estos recursos pueden estar construidos a partir de plataformas multiples, ffsicamente en remoto, autonomas, con funciones que pueden distribuirse a traves de tales recursos o pueden integrarse en una o mas “plataformas unicas” configuradas para realizar las diversas funciones diferentes que se requieren, segun se describe en mas detalle en la presente patente (por ejemplo, a traves de una particion o de una asignacion logica).
Mas aun, se entendera ademas que el servidor 30 y el almacenamiento 32 pueden desempenar una variedad de funcionalidades. Por ejemplo, el servidor 30 y el almacenamiento 32 pueden recibir informacion del seguimiento en referencia a la interaccion de un usuario con una pagina web, tal como se describe en mas detalle en la presente patente. Sin embargo, el servidor 30 y el almacenamiento 32 pueden tambien realizar otras funciones tales como la reproduccion de los datos de interaccion en el almacenamiento 30 en respuesta a una peticion de reproduccion.
Por ejemplo, un analista de sistemas puede desear visualizar interacciones de los usuarios en un ordenador de analisis 40 en base a los datos de seguimiento almacenados en el almacenamiento 32. En este caso, el servidor de seguimiento 30 puede actuar como un “servidor de reproduccion” y recoger los registros de seguimiento del almacenamiento 32 y reproducirlos para su visualizacion en el ordenador de analisis 40. Por tanto, el servidor de seguimiento 30 y el almacenamiento de seguimiento 32 pueden denominarse, en algunas ocasiones en la presente patente, como “servidor de reproduccion” 30 o “almacenamiento de produccion” 32, dependiendo de la funcion que desempenen.
Adicionalmente, se debe entender que el servidor 30 y el almacenamiento 32 pueden desempenar funciones dobles, desempenando tanto la funcion de reproduccion como la de seguimiento, segun sea necesario. Sin embargo, otros pueden operar como basicamente servidores dedicados que realizan funciones de reproduccion o de almacenamiento (no se muestran).
De forma similar al ordenador del usuario 10, el ordenador de analisis 40 puede incluir componentes informaticos habituales para transmitir y recibir datos a y desde otros ordenadores conectados, al ordenador de analisis 40 a traves de la red 50.
La Figura 2 ilustra un ejemplo de arquitectura de ordenador para un ordenador del usuario 10 configurado de acuerdo con un modo de realizacion de la presente invencion. De acuerdo con un modo de realizacion de la invencion, el ordenador de analisis 40 segun se ha descrito anteriormente puede, ademas, estar configurado de forma similar al ejemplo de arquitectura del ordenador del usuario 10, tal como se ilustra en la Figura 2. El ordenador 10 puede incluir componentes informaticos, incluyendo una unidad de procesamiento central 102 y dispositivos de entrada y salida de datos 104, que estan enlazados mediante un bus 108. Los dispositivos de entrada/salida 104 pueden comprender un teclado, raton, pantalla tactil, monitor, impresora, y similares, por ejemplo. Una interfaz de red 106 se encuentra tambien conectada al bus 108. La interfaz de red 106 proporciona conectividad a una red 50, de tal manera que la red 50 a modo de ejemplo descrita anteriormente, permitiendo por tanto que el ordenador 100 opere en un entorno en red. Tambien conectado a un bus 108, se encuentra una memoria legible por ordenador 110. La memoria 110 almacena instrucciones ejecutables para implementar algunas o todas las funciones de la invencion. La memoria legible por ordenador 110 puede constar de cualquier medio o dispositivo legible por ordenador disponible al que el ordenador 100 pueda acceder.
En un modo de realizacion de la invencion, uno o mas de los siguientes modulos de programa y archivos de datos pueden ser almacenados en la memoria 110 del ordenador 10: un modulo del sistema operativo 112, un modulo de navegador 114 y un modulo de script de seguimiento 116.
El modulo del sistema operativo 112 puede ser adecuado para controlar la operacion de un ordenador del usuario o de analisis en red, y en particular puede incluir instrucciones para manejar diversos servicios del sistema, tales como servicios de ficheros o para realizar tareas dependientes de hardware. El modulo de sistema operativo 112 puede ademas comprender instrucciones para una operacion informatica estandar, que incluyen recibir datos de entrada de los dispositivos de entrada tales como un teclado o un raton, y para mostrar datos de salida en un formato grafico en un monitor, por ejemplo.
El modulo de navegador 114 puede incluir instrucciones para navegar por las paginas web proporcionadas por un servidor de web u otra fuente, tal como instrucciones para la solicitud y recibir una pagina web de un servidor de web y mostrar la pagina web en un dispositivo visualizador, tal como un monitor. El modulo del navegador web 114 ademas incluye instrucciones para recibir datos de entrada de la interaccion de un usuario con una pagina web, por ejemplo de dispositivos de entrada de datos como un teclado y un raton por ejemplo, y para transmitir tales datos de entrada a un servidor de web. El modulo del navegador 114 puede ademas comprender instrucciones para ejecutar comandos de procesamiento que se encuentran comprendidos en paginas web u otros archivos tales como scripts.
5
10
15
20
25
30
35
40
45
50
55
El modulo de script de seguimiento 116 puede incluir instrucciones para grabar la entrada de datos de interaccion por parte de un usuario en el proceso de interactuar con una pagina web, tal como los movimientos del raton, desplazamiento, clics y entradas del teclado, por ejemplo. En un modo de realizacion de la invencion, el modulo de script de seguimiento 116 puede incluir ademas instrucciones para el procesamiento de tales datos de interaccion, y para transmitir los datos de interaccion procesados a un servidor de seguimiento remoto 30, por ejemplo a traves de la red 50.
En algunos modos de realizacion, el modulo de script de seguimiento 116 puede incluir instrucciones para recibir datos de interaccion de un servidor de reproduccion remoto 30, y para recrear y mostrar una visualizacion de interaccion de los datos de interaccion recibidos (por ejemplo, utilizando ciertas aplicaciones multimedia conocidas, tales como Windows Media Player, QuickTime, Adobe Flash, etc.). Tales ejemplos de instrucciones asociadas con el modulo de script de seguimiento 116 se describen en mayor detalle a continuacion en referencia a las Figuras 5-7.
Los modulos de programa descritos anteriormente incorporan instrucciones para implementar operaciones de procesamiento asociadas con la invencion. Diversos modos de realizacion de las operaciones de procesamiento de los modulos de programa descritos anteriormente se describen a continuacion en referencia a las Figuras 5-7. Los modulos almacenados en la memoria 110 son ejemplos de modulos, y pueden incluirse modulos adicionales. Debe senalarse que las funciones de los presentes modulos pueden combinarse. Ademas, una funcion de un modulo no necesita ser realizada en una unica maquina, en vez de ello la funcion puede distribuirse a traves de una red a uno o mas ordenadores si se desea, por ejemplo. Son las funciones de la invencion lo que es significativo, no donde se lleven a cabo o la manera espedfica en la que se realizan.
La Figura 3 ilustra un ejemplo de arquitectura de ordenador para un servidor de web 20, tal como se ilustra en el sistema informatico de la Figura 1, configurado de acuerdo con un modo de realizacion de la invencion. El ordenador 20, puede incluir componentes habituales conocidos en el arte, que incluyen una unidad de procesamiento central 202 y dispositivos de entrada y salida de datos 204, que se encuentran enlazados mediante un bus 208. Los dispositivos de entrada y salida 204 pueden comprender un teclado, un raton, pantalla tactil, monitor, impresora, y similares, por ejemplo. Un interfaz de red 206 se encuentra tambien conectado al bus 208. Una interfaz de red 206 proporciona conectividad a una red 50, tal como la red 50 a modo de ejemplo descrita anteriormente, permitiendo de ese modo que el ordenador 20 opere en un entorno de en red. El servidor de web 20 ademas comprende un repositorio de almacenamiento de una pagina web 22 capaz de almacenar uno o mas recursos de paginas web. El repositorio de almacenamiento de la pagina web 22 puede comprender un dispositivo de almacenamiento de datos convencional, tal como un disco duro o una memoria de estado solido ubicada con, y conectada a, el servidor de web 20 por ejemplo mediante un bus 208 como se muestra en la Figura 3, o puede de manera alternativa comprender un servicio de almacenamiento de datos remoto conectado de forma que se pueda acceder a un servidor de web 20. Tambien conectado al bus 208 se encuentra una memoria legible por ordenador 210. La memoria 210 almacena instrucciones ejecutables para implementar las funciones de la invencion. La memoria legible por ordenador 210 puede comprender cualquier medio o dispositivo legible por ordenador al que el ordenador pueda acceder 20.
En un modo de realizacion de la invencion, uno o mas de los siguientes modulos y archivos de datos de programa pueden ser almacenados en la memoria 210 del ordenador servidor de web 20: un modulo del sistema operativo 212, un modulo del servidor de web 214, un modulo de codigo de etiqueta de seguimiento 216 y un modulo de almacenamiento de la pagina web 218. Otras aplicaciones tales como un reproductor multimedia, una aplicacion de flash player o de compresion y transmision, pueden incluirse en el sistema operativo 212 o en el modulo de servidor web 214, o instalarse como un modulo autonomo, si se desea (no se muestra).
De manera similar al modulo 112 descrito anteriormente, el modulo de sistema operativo 212 puede incluir instrucciones para gestionar diversos servicios de sistema para el ordenador servidor de web 20, tales como servicios de ficheros o para realizar tareas dependientes de hardware. El modulo del sistema operativo 212 puede ademas incluir instrucciones para una operacion informatica estandar, que incluye recibir datos de entrada desde dispositivos de entrada de datos tales como un teclado o raton, y para mostrar la salida de datos en un formato grafico en un monitor, por ejemplo.
El modulo de servidor web 214 incluye instrucciones para servir paginas web solicitadas por otro ordenador, tales como instrucciones para recibir una peticion para una pagina web de un ordenador usuario, que accede a la pagina web, y que sirve la pagina web al ordenador del usuario que la solicita, por ejemplo. El modulo servidor de web 214 puede ademas incluir instrucciones para recibir entrada de datos de la interaccion de un usuario con una pagina web, procesando dicha entrada de datos, y sirviendo contenido adicional de la pagina web a un ordenador del usuario en respuesta.
En un modo de realizacion, el modulo de codigo de etiqueta de seguimiento 216 puede ser almacenado como un sub-modulo del modulo del servidor de web 214, e incluye instrucciones para solicitar un script de seguimiento desde un servidor de seguimiento 30. El modulo de codigo de etiqueta de seguimiento puede incluir ademas,
5
10
15
20
25
30
35
40
45
50
55
instrucciones adicionales para anadir o adjuntar instrucciones para solicitar un script de seguimiento desde el servidor de seguimiento 30 a una o mas paginas web antes de que se sirvan a ordenadores de usuario.
El modulo de almacenamiento de pagina web 218 incluye instrucciones para acceder al repositorio de almacenamiento de pagina web 22, tal como por ejemplo para acceder y recuperar paginas web almacenadas y/u otros recursos almacenados, en respuesta a solicitudes de tales paginas web y/o recursos desde ordenadores de usuario, por ejemplo.
La Figura 4 ilustra un ejemplo de arquitectura de ordenador para un ordenador servidor de seguimiento 30, tal como se ilustra en el sistema informatico de la Figura 1, configurado de acuerdo con un modo de realizacion de la invencion. El ordenador 30 puede incluir componentes habituales conocidos en el arte, que incluyen una unidad de procesamiento central 302 y dispositivos de entrada/salida de datos 304, que se encuentran enlazados mediante un bus 308. Los dispositivos de entrada/salida de datos 304 pueden incluir un teclado, un raton, pantalla tactil, monitor, impresora, y similares, por ejemplo. Un interfaz de red 306 se encuentra tambien conectado al bus 308. La interfaz de red 306 proporciona conectividad a una red 50, tal como el ejemplo de red 50 descrita anteriormente, permitiendo de ese modo que el ordenador 30 opere en un entorno en red. El servidor de seguimiento 30 ademas comprende un repositorio de almacenamiento de seguimiento 32 capaz de almacenar uno o mas scripts de seguimiento y/o recursos de grabacion de seguimiento, por ejemplo. El repositorio de almacenamiento de seguimiento 32 puede incluir uno o mas dispositivos de almacenamiento de datos convencionales, tales como un disco duro, memoria optica o de estado solido ubicada con, y conectada directamente a, el servidor de web 30 tal como mediante un bus 308 como se muestra en la Figura 4, o puede de manera alternativa incluir un equipo de almacenamiento de datos remoto conectado de forma accesible al servidor de web 30. Tambien conectado a un bus 308 se encuentra una memoria legible por ordenador 310. La memoria 310 almacena instrucciones ejecutables para implementar funciones de la invencion. La memoria legible por ordenador 310 puede incluir cualquier medio o dispositivo legible por ordenador disponible al que el ordenador 30 pueda acceder.
En un modo de realizacion de la invencion, uno o mas de los siguientes modulos de programa y ficheros de datos pueden almacenarse en la memoria 310 del ordenador servidor de seguimiento 30: un modulo del sistema operativo 314, un modulo de grabacion de seguimiento 316, y un modulo de reproduccion de seguimiento 318.
De forma similar al modulo 112 descrito anteriormente, el modulo del sistema operativo 312 puede incluir instrucciones para manejar diversos servicios de sistemas para el servidor de seguimiento 30, tal como servicios de ficheros, o para realizar ciertas tareas que dependen de aplicaciones o hardware. El modulo de sistema operatico 312 puede ademas incluir instrucciones para una operacion informatica estandar, que incluye recibir datos de entrada desde dispositivos de entrada de datos tales como un teclado o raton, y para mostrar datos de salida en un formato grafico en un monitor, por ejemplo.
El modulo servidor de seguimiento 314 incluye instrucciones para recibir una solicitud para un script de seguimiento desde un ordenador del usuario, que accede al script de seguimiento, y que transmite un script de seguimiento al ordenador del usuario. En un modo de realizacion, el script de seguimiento u otro codigo de seguimiento adecuado, puede ser almacenado en un repositorio de almacenamiento de seguimiento 32. De manera adicional, el modulo servidor de seguimiento 314 incluye instrucciones para acceder al repositorio de almacenamiento de seguimiento 32 para recuperar el script de seguimiento u otro codigo de seguimiento adecuado.
Como se muestra en la Figura 4, el modulo servidor de seguimiento 314 puede ademas incluir el modulo servidro de seguimiento 316 como un sub-modulo o una aplicacion integrada. El modulo de grabacion del seguimiento 316 incluye instrucciones para recibir los datos de interaccion del usuario transmitidos por un ordenador del usuario, y para grabar tales datos como uno o mas registros de seguimiento o estructuras de datos. En un modo de realizacion, tales registros de seguimiento pueden ser almacenados en el repositorio de almacenamiento de seguimiento 32, por ejemplo. En otros modos de realizacion, el modulo de grabacion de seguimiento 316 puede incluir instrucciones para analizar los datos de interaccion de usuario recibido desde un ordenador del usuario.
El modulo servidor de seguimiento 314 puede ademas tambien incluir un modulo de reproduccion de seguimiento 318 como un sub-modulo o aplicacion integrada. El modulo de reproduccion de seguimiento 318 incluye instrucciones para recibir una solicitud para reproducir uno o mas registros de seguimiento desde un ordenador de analisis, que accede a uno o mas registros de seguimiento, como por ejemplo desde el repositorio de almacenamiento de seguimiento 32, y para transmitir datos de interaccion de usuario grabados al ordenador de analisis 40. En un modo de realizacion, el modulo de reproduccion de seguimiento 318 puede incluir adicionalmente instrucciones para procesar y/o transformar datos de interaccion del usuario recuperados de uno o mas registros de seguimiento, previamente a transmitir los datos al ordenador de analisis.
Por ejemplo, en algunos modos de realizacion, el modulo de reproduccion de seguimiento 318 puede incluir codigo o rutinas que faciliten la reproduccion de datos de interaccion capturados. Puede ademas incluir la habilidad para crear video o “pelfculas” a partir de los datos de interaccion. Por ejemplo, tales datos de interaccion pueden combinarse, modificarse, extrapolarse o de otro modo “atados entre sf” como se conoce en el arte, para generar una
5
10
15
20
25
30
35
40
45
50
55
representacion de video de la interaccion del usuario con la pagina web. Un video de ese tipo puede ser reproducido posteriormente utilizando reproductores de video conocidos disponibles de manera habitual, tales como Windows Media Player o QuickTime en un ordenador del usuario.
El modulo de reproduccion de seguimiento 318 puede ademas incluir codigo o rutinas que mejoran la calidad o la integridad de la experiencia de reproduccion. Por ejemplo, los datos capturados por el modulo de grabacion 316 pueden encontrarse en diferentes formatos y/o pueden ser capturados con metadatas limitados o informacion de fondo. Esto puede limitar la calidad y/o habilidad para reproducir de manera consistente o precisa los datos de la sesion del usuario. El modulo de reproduccion de seguimiento 318 puede incluir rutinas que normalizan los diferentes formatos de datos recibidos por el modulo 316, para permitir una reproduccion consistente o precisa, y puede ademas incluir ciertas rutinas “proxy” para recoger informacion para facilitar y mejorar aun mas la experiencia de reproduccion.
Tales funciones de normalizacion incluyen reescribir las URL de la imagen para senalar la localizacion correcta de una imagen; y pueden incluir que se eliminen o se enmascaren llamadas de escritura de documentos; las solicitudes de AJAX se reescriben para utilizar solicitudes del tipo AJAX personalizado mas que las solicitudes de HTTP del navegador nativo; los errores de JavaScript que se conoce causan errores se reescriben utilizando heunstica; los componentes de un tercero conocidos tales como JQuery se suplantan con versiones personalizadas que funcionan mejor en el entorno de reproduccion, etc.
Las rutinas proxy pueden recuperar cierta informacion tal como, entorno, contenido, fondo, controlador u otra informacion de la pagina web relacionada, tal como el modelo de objetos del documento “DOM” (por sus siglas en ingles, la informacion de “caractensticas adicionales”), no relacionada con la interaccion del usuario. Esta informacion puede no haber sido capturada junto con la interaccion del usuario debido al tamano de la informacion, en base a la naturaleza relativamente estatica de la informacion, debido a la informacion ya existente en el almacenamiento de seguimiento 32, debido a la codificacion espedfica del script de seguimiento, o en base a otros factores.
Durante el funcionamiento, tales rutinas proxy pueden buscar informacion de las caractensticas adicionales de diversas fuentes tales como Internet u otras ubicaciones de red para facilitar la reproduccion de los datos de interaccion del usuario. A esta caractenstica se le puede denominar como “proxy remoto”. En algunos modos de realizacion, tales datos de caractensticas adicionales pueden obtenerse automaticamente despues de los datos de interaccion del usuario asociados se transmitan al almacenamiento de seguimiento 32. En otros modos de realizacion, tales datos de caractensticas adicionales pueden obtenerse cuando la reproduccion de los datos de interaccion de ese usuario se solicita (o un poco antes, en base a la reproduccion esperada para evitar una latencia excesiva del sistema).
En algunos modos de realizacion, los datos de caractensticas adicionales pueden haber sido capturados en el momento en que los datos de la interaccion del usuario fueron capturados. En este caso, esta informacion puede ser recuperada del almacenamiento de seguimiento 32 cuando la reproduccion se solicita. A esta caractenstica se le denomina cono “proxy local”. En otros modos de realizacion, la informacion de algunas caractensticas adicionales puede ser capturada con los datos de la interaccion del usuario, mientras que otras no. En este caso, las rutinas proxy en el modulo de reproduccion de seguimiento 318 pueden primero consultar el almacenamiento 32 para los datos de caractensticas adicionales. Si no esta presente en el almacenamiento 32, la informacion puede ser solicitada automaticamente tal como se ha descrito anteriormente (es decir, empezando con un proxy local y continuar con un proxy remoto, si fuera necesario (o si se desea)).
La Figura 5 ilustra una serie de operaciones de procesamiento que pueden ser implementadas por el sistema ilustrado en la Figura 1, y los ejemplos de ordenadores ilustrados en las Figuras 2-4, de acuerdo con una realizacion de la invencion. En la primera operacion de procesamiento 510 de la Figura 5, un usuario solicita una pagina web 24 de un servidor de web 20. En un modo de realizacion de la invencion, el usuario solicita la pagina web 24 utilizando una aplicacion del navegador, que se ejecuta en el ordenador del usuario 10, tal como un modulo del navegador 114 en el ordenador 10, que comunica la solicitud de la pagina web 24 al servidor de web 20 mediante la red 50, de acuerdo a metodos conocidos. En un modo de realizacion, el servidor de web 20 almacena un codigo de etiqueta de seguimiento 216 que puede incorporarse en el codigo de marcado de la pagina web 24, como almacenado en el repositorio de almacenamiento de la pagina web 22, o de manera alternativa puede ser almacenado en cualquier otro sitio y es accesible para un servidor de web 20. El codigo de etiqueta de seguimiento 216 incluye instrucciones ejecutables para un navegador, tal como el modulo navegador de la web del usuario 114, para solicitar un archivo de un servidor de seguimiento 30.
En un modo de realizacion de ese tipo, cuando el servidor de web 20 recibe la solicitud de una pagina web 24 desde el modulo navegador 114 en el ordenador del usuario 10, el codigo de etiqueta de seguimiento 216 puede ser incorporado en la pagina web 24 antes de que sea enviado al ordenador del usuario 10. En un modo de realizacion
en particular, el codigo de etiqueta de seguimiento 216 puede comprender una etiqueta <script src=”......”> que
incluye instrucciones ejecutables para que un navegador solicite un fichero script de la ubicacion de una fuente en
5
10
15
20
25
30
35
40
45
50
55
particular, tal como un archivo de JavaScript de un localizador de recursos uniforme (URL, por sus siglas en ingles), o una direccion de protocolo de Internet (IP, por sus siglas en ingles). Sin embargo, cualquier otro script adecuado estructura de comando puede utilizarse, si se desea.
En la segunda operacion de procesamiento 512 de la Figura 5, el usuario recibe la pagina web 24 con un codigo de etiqueta de seguimiento 216 desde el servidor de web 20. La operacion de procesamiento 512 puede ser implementada utilizando el modulo de navegador del usuario 114 en el ordenador del usuario 10 para recibir la pagina web 24 que puede servirse utilizando el modulo de servidor de web 214. La pagina web 24 puede ser transmitida entre el servidor de web 20 y el ordenador del usuario 10 mediante la red 50, de acuerdo con metodos conocidos.
A continuacion, a la etapa de procesamiento 514, el navegador del usuario solicita el script de seguimiento 34 del servidor de seguimiento 30. La operacion de procesamiento 514 puede ser implementado utilizando el modulo del navegador del usuario 114 en el ordenador del usuario 10, que comunica la solicitud para el script de seguimiento 34 del ordenador del usuario 10 hacia el servidor de seguimiento 30, de acuerdo con metodos conocidos. En un modo de realizacion, el codigo de etiqueta de seguimiento 216 incorporado en la pagina web 24 segun se recibe desde el servidor de web 20, incluye instrucciones ejecutables por el modulo del navegador 114 para solicitar el script de seguimiento 34 desde el servidor de seguimiento 30.
En un modo de realizacion preferente, la solicitud del script de seguimiento 34 desde el servidor de seguimiento 30, segun la operacion 514, se realiza de forma automatica por parte del navegador del usuario, tal como por ejemplo el modulo de navegador 114, y es sustancialmente transparente para la persona usuaria del ordenador usuario 10. En un modo de realizacion alternativo, el script de seguimiento 34 puede ser almacenado separado del servidor de seguimiento 30, por ejemplo en otro ordenador o repositorio del almacenamiento al que se puede acceder mediante el servidor de seguimiento 34 desde el ordenador del usuario 10. De acuerdo con un modo de realizacion adicional alternativo, el script de seguimiento 34 puede ser almacenado en un ordenador diferente, y el servidor de web 20 puede solicitar y recibir el script de seguimiento 34 del ordenador diferente en lugar del servidor de seguimiento 30.
En la siguiente operacion de procesamiento 516 de la Figura 5, el navegador del usuario recibe el script de seguimiento 34 del servidor de seguimiento 30, y ejecuta el script de seguimiento 34. La operacion de procesamiento 516 puede ser implementada utilizando el modulo de navegador del usuario 114 que se ejecuta en el ordenador del usuario 10, el cual puede recibir el script de seguimiento 34 del servidor de seguimiento 30 mediante la red 50, de acuerdo con metodos conocidos. De manera preferente, pueden ejecutarse instrucciones ejecutables en el script de seguimiento 34, segun se reciben por parte del navegador en el ordenador del usuario 10, mediante cualquier aplicacion de navegador estandar que se ejecute en el ordenador del usuario 10, tal como se representa en el modulo de navegador 114. Un ejemplo de aplicaciones de navegador habituales pueden incluir Internet Explorer ® de Microsoft Corporation de Redmond WA, Firefox ® de Mozilla Corporation de Mountain View, CA, Safari (™) de Apple Inc. de Cupertino, CA, y Opera (™) de Opera Software de San Diego, CA, por ejemplo. En un modo de realizacion, las instrucciones ejecutables incluidas en el script de seguimiento 34, pueden ser implementadas mediante un sub-modulo, tal como un modulo de script 116 que se ejecuta dentro del modulo de navegador 114.
En un modo de realizacion, al recibir el script de seguimiento 34, el modulo de navegador 114 puede anadir el script de seguimiento 34 a la pagina web 24 anexionando las instrucciones ejecutables u otro codigo en el script de seguimiento 34 en la parte superior del codigo del lenguaje de marcas de la pagina web 24. El script de seguimiento 34 puede tambien anexarse a la pagina web 24 adjuntandolo a la pagina web 24 o referenciando el fichero script de seguimiento 34 en el codigo de lenguaje de marcas de la pagina web 24, y entonces ejecutar el script de seguimiento junto con la pagina web 24. En modos de realizacion alternos, el script de seguimiento 34 puede ser almacenado de manera independiente de la pagina web 24 mediante el modulo de navegador 114, y puede ejecutarse mediante el modulo de navegador 114, o el sub-modulo del script de seguimiento 116 independientemente de la ejecucion (o presentacion) de la pagina web 24, aunque dicha ejecucion independiente puede tener lugar de manera simultanea.
De acuerdo con un modo de realizacion adicional de la invencion, el script de seguimiento 34 incluye instrucciones ejecutables que pueden ser ejecutadas por una aplicacion de navegador para capturar y procesar los datos de interaccion del usuario generados por la interaccion del usuario con una pagina web, y para transmitir tales datos de interaccion del usuario al servidor de seguimiento 30. Detalles de las operaciones de procesamiento asociadas con tales instrucciones ejecutables de acuerdo con un modo de realizacion se describen a continuacion en referencia a la Figura 6.
Los ejemplos de datos de la interaccion del usuario que pueden ser capturados, procesados y transmitidos de acuerdo con las instrucciones en el script de seguimiento 34 pueden incluir, pero no se limitan a: movimientos y selecciones de un usuario (como por ejemplo clics de raton) de un dispositivo de senalizacion tal como un raton o un touchpad o panel tactil, desplazamiento, entrada de texto o seleccion de menus, botones, casillas de verificacion o checkboxes, campos de contrasena, campos de tablas o SELECCIONAR, datos relacionados con la terminacion de
5
10
15
20
25
30
35
40
45
50
55
formularios o recuadros de consulta que incluyen valores iniciales de campos de texto o de formulario, que pueden incluir coordinadas de p^xeles de tales campos de formularios, y navegacion (tales como desplazamiento o clics de los enlaces) mientras que un usuario interactua con una pagina web 24, por ejemplo. De manera adicional, uno o mas de: la direccion de red, ubicacion, URL o identidad del servidor de la pagina web 24 por la que navega el usuario, el tipo y version de la aplicacion del navegador y el software del sistema operativo que el usuario esta utilizando, y las dimensiones de la ventana de visualizacion del navegador del usuario, pueden tambien incorporarse en los datos de interaccion del usuario que son capturados, procesados y transmitidos.
De acuerdo con un modo de realizacion adicional, las interacciones del usuario con elementos dinamicos que pueden incluirse en la pagina web 24, como por ejemplo interacciones con elementos rich AJAX (que implican DHTML y JavaScript), elementos de Adobe Flash™, u otros elementos dinamicos que pueden ser parte de la pagina web 24 pueden ser tambien capturados como datos de interaccion de usuario. Tales datos pueden clasificarse como los datos de las caractensticas adicionales anteriores en conexion con la Figura 4.
En un modo de realizacion alternativo de la invencion, dirigido a rastrear la interaccion del usuario con video o con aplicaciones multimedia dinamicas, tales como Adobe Flash™ y aplicaciones Adobe Flex™ o pelfculas, la operacion de procesamiento 510 puede incluir una solicitud de usuario para una aplicacion Flash™ o Flex™ o una pagina web que comprende una aplicacion de ese tipo de un servidor de web 20. A continuacion de tal solicitud de usuario, el usuario puede recibir una aplicacion Flash™ o Flex™ o pelfcula (como por ejemplo de un archivo .swf) del servidor web 20 que incluye una porcion de codigo de seguimiento, analogo a un script de seguimiento 34 referenciado en las operaciones de procesamiento 512 y 514. Una porcion de codigo de seguimiento de ese tipo de una aplicacion Flash™ o Flex™ de la pelfcula recibida por el ordenador del usuario incluye instrucciones para rastrear la interaccion de un usuario con la aplicacion o la pelfcula, tal como se describe anteriormente en referencia al script de seguimiento 34, lo que puede ser ejecutado por el navegador del usuario, o una aplicacion adicional, tal como una aplicacion plug-in de Flash™ en el ordenador del usuario, por ejemplo.
En la siguiente operacion de procesamiento 518 de la Figura 5, el navegador captura, procesa y almacena datos de interaccion del usuario durante la navegacion de una pagina web 24. La operacion de procesamiento 518 puede ser implementada utilizando el modulo de navegador 114 en el ordenador del usuario 10, que puede ejecutar instrucciones en el script de seguimiento 34 para capturar, procesar y almacenar diversos tipos de datos de interaccion de usuario, tal como los ejemplos de tipos de datos de interaccion de usuario descritos anteriormente, generados mientras el usuario navega e interactua con la pagina web 24. La captura, el procesamiento y el almacenamiento de los datos de interaccion de usuario generado mientras un usuario navega por la pagina web 24 puede lograrse por cualquier metodo adecuado como por ejemplo los que son bien conocidos en el arte.
En un modo de realizacion preferente, las instrucciones en el script de seguimiento 34 para capturar, procesar y almacenar los datos de interaccion de usuario durante la navegacion de un usuario de la pagina web 24 pueden ser ejecutadas por una aplicacion de navegador estandar, y optimizadas para utilizar caractensticas estandar y conjuntos de instrucciones comunmente o universalmente soportadas por aplicaciones estandar de navegador de la industria. Ademas, los datos de interaccion de usuario procesados pueden almacenarse en la memoria cache de la aplicacion del navegador, como por ejemplo en el modulo de navegador 114 del ordenador del usuario 10. En un ejemplo de realizacion, el script de seguimiento 34 puede comprender instrucciones utilizando JavaScript, que se ejecutan mediante el modulo de navegador 114 para capturar, procesar y guardar en cache los datos de interaccion de usuario mientras el usuario navega por la pagina web 24.
En algunos modos de realizacion, el proceso de captura puede implicar la captura de suficientes datos para recrear el sitio web tal como lo ve realmente el usuario. Por ejemplo, si existiera un anuncio especial, promocion, panel emergente u otra animacion presente en el sitio, puede resultar deseable capturar esa informacion para recrearla por completo. Una manera de lograrlo es capturando un modelo de objetos del documento (DOM) que describe la propia pagina web. El DOM puede serializarse (por ejemplo, convertirse en una cadena de texto) y posteriormente transmitirse tal como se describe a continuacion en conexion con la etapa 520. En algunos modos de realizacion, para evitar transmitir la pagina web al completo repetidamente, el DOM puede comprimirse utilizando un algoritmo de calculo de clave o ser representado por una estructura de datos mas corta (por ejemplo, una estructura de datos de 32 bit) y ser comparado con otros dOm que se hayan grabado previamente. En el caso en que el DOM haya sido grabado previamente, es necesario transmitirlo de nuevo, y un indicador hacia la version grabada previamente puede ser utilizado en su lugar.
En un modo de realizacion alternativo de la invencion, dirigido a rastrear una interaccion de usuario con aplicaciones multimedia dinamicas, tales como aplicaciones o pelfculas de Adobe Flash™ y Adobe Flex™, la operacion de procesamiento 518 puede comprender que el navegador del usuario o una aplicacion adicional (tal como una aplicacion plug-in de Flash™), capture y procese los datos de interaccion del usuario durante la interaccion del usuario con una aplicacion o pelfcula de Flash™ o Flex™, por ejemplo.
En la operacion de procesamiento 520, el navegador del usuario transmite periodicamente datos de la interaccion del usuario en cache al servidor de seguimiento 30, mediante la solicitud del script. La operacion de procesamiento
5
10
15
20
25
30
35
40
45
50
55
520 puede ser implementada utilizando el modulo de navegador 114 en el ordenador del usuario 10, que puede transmitir periodicamente datos de la interaccion del usuario en cache a traves de la red 50 al servidor de seguimiento 30 mediante una solicitud de script.
Una solicitud de transmision de ese tipo puede ser iniciada por el navegador en base a criterios predefinidos, o puede ser lanzada por un determinado comportamiento del usuario. Por ejemplo, si el numero de maniobras de navegacion con una determinada pagina web excede un determinado umbral, o si el numero de paginas web visitadas excede un determinado numero, las paginas web del usuario pueden ser transmitidas y grabadas. En algunos modos de realizacion donde un evento de activacion tiene lugar, el navegador del usuario puede ser instruido para grabar los datos de interaccion en lugar de inmediatamente transmitir los datos, de manera que puedan recogerse posteriormente en el futuro.
En un modo de realizacion de la invencion, los datos pueden transmitirse al servidor 30 en un formato comprimido utilizando aplicaciones de transmision y compresion disponibles habitualmente. Por ejemplo, en un modo de realizacion, esta actuacion puede incluir el uso del software ADOBE Flash. Utilizando esta aproximacion, los datos de interaccion almacenados pueden ser convertidos a un formato FLASH (matriz de bytes AS3 a traves de Externallnterface) y comprimidos utilizando GZIP. Esta informacion puede entonces ser transmitida al servidor de seguimiento 30 utilizando un Formato de Mensaje de Accion (AMF). Desde una capa alta, esto puede verse como convertir los datos de interaccion del usuario en una pelfcula Flash y transmitirlo como tal al servidor 30.
En otro modo de realizacion de la invencion, la transmision de los datos de interaccion del usuario almacenados desde el modulo del navegador 114 hacia el servidor de seguimiento 30, puede lograrse utilizando una solicitud de script dinamico entre dominios (a la cual se le puede denominar tambien como una solicitud de programacion de script de sitio cruzado). Esta configuracion puede ser utilizada en casos en los que la aproximacion tecnica o aplicacion de compresion y transmision descrita anteriormente no resulte factible. Utilizando la aproximacion del dominio cruzado, las instrucciones ejecutables en el script de seguimiento 34 incluyen instrucciones para solicitar periodicamente un fichero script del ordenador de seguimiento 30, durante la interaccion del usuario con la pagina web 24. Las interacciones del usuario se envfan junto con la solicitud de script. En ambos casos de la transmision explicada anteriormente, si los datos no se enviaran, un indicador de error se devuelve al solicitante y los datos se enviaran nuevamente en un instante posterior.
Mientras se ejecutan tales instrucciones, los datos de interaccion del usuario almacenados durante la operacion 518 mientras el usuario navega por la pagina web 24, pueden incorporarse periodicamente en una solicitud de script, y transmitirse entonces al servidor de seguimiento 30 como parte de una solicitud de script dinamica. De acuerdo con la funcionalidad estandarizada soportada por aplicaciones de navegadores habituales en la industria, ejemplificados por el modulo del navegador 114, una solicitud de script dinamica de ese tipo puede ser transmitida a traves de dominios al servidor de seguimiento 30, incluso aunque el servidor de seguimiento 30 puede no estar ubicado habitualmente en el mismo dominio de red o sitio que el servidor de web 20. De tal manera, los datos de interaccion del usuario capturados mientras se navega la pagina web 24 recibidos del servidor de web 30, ubicados en un primer dominio en la red 50, pueden ser un dominio cruzado transmitido periodicamente al servidor de seguimiento 30 que puede estar ubicado en un segundo dominio en la red 50.
En un modo de realizacion, la pagina web 24 puede incluir contenido dinamico que puede, de manera habitual, cambiarse periodicamente de tal manera que si la pagina web 24 fuera recibida desde el servidor de web 20 en un instante posterior, el contenido de al menos una parte de la pagina web 24 puede cambiarse. En un modo de realizacion de ese tipo, una o mas partes de la pagina web 24, que contienen contenido dinamico susceptible de ser cambiado a lo largo del tiempo, pueden tambien transmitirse al servidor de seguimiento 30 junto con datos de interaccion del usuario de acuerdo a una operacion de procesamiento 520. Una o mas partes del codigo de marcado de la pagina web 24, tal como el codigo HTML y/o xMl, correspondiente a dicho contenido dinamico que cambia periodicamente puede ser transmitido al servidor de seguimiento 30, mientras que los elementos estaticos de la pagina web 24 tales como imagenes estaticas u otros contenidos estaticos no se transmiten al servidor de seguimiento 30, para reducir la cantidad de informacion que se requiere para ser transferida por la solicitud de script dinamico. Tal informacion puede ser obtenida por las rutinas del proxy o aplicaciones descritas en mas detalle en la presente patente.
En otro modo de realizacion, informacion adicional relacionada con el contenido y la estructura de la pagina web 24, como por ejemplo DOM, puede ser transmitida al servidor de seguimiento 30 junto con datos de interaccion del usuario en cache como parte de la operacion 520, tales como una copia de los elementos de JavaScript de la pagina web 24, coordenadas de pfxeles de uno o mas elementos de la pagina web 24, o una lista de formularios y campos de formularios y sus tipos y atributos, por ejemplo.
En un modo de realizacion alternativo de la invencion, dirigido a rastrear la interaccion de un usuario con aplicaciones multimedia dinamicas, tales como aplicaciones o pelfculas de Adobe Flash™ y Adobe Flex™, la operacion de procesamiento 520 puede comprender que el navegador transmita datos de interaccion del usuario al servidor de seguimiento 30 a traves de una aplicacion de navegador adicional, tal como un plu-in de Flash™, por
5
10
15
20
25
30
35
40
45
50
55
ejemplo. En un modo de realizacion de este tipo, los datos de interaccion pueden ser transmitidos al servidor de seguimiento 30 en tiempo real, o pueden almacenarse en el navegador o en una aplicacion adicional para su transmision en diferido y/o paquetizada al servidor de seguimiento 30. En un modo de realizacion de ese tipo, la siguiente operacion de procesamiento puede incluir que el servidor de seguimiento 30 almacene los datos de interaccion del usuario recibidos del navegador del usuario, sustancialmente analogo a la operacion de procesamiento 522 como se describe a continuacion.
En la ultima operacion de procesamiento 522 de la Figura 5, el servidor de seguimiento 30 puede almacenar datos de interaccion del usuario recibidos periodicamente del navegador del usuario. La operacion de procesamiento 522 puede ser implementada utilizando el modulo de grabacion de seguimiento 316 del ordenador servidor de seguimiento 30, que puede almacenar datos de interaccion del usuario periodicamente desde el navegador del ordenador del usuario 10. En un modo de realizacion, dichos datos de interaccion del usuario recibidos periodicamente pueden ser almacenados de forma persistente y recuperable en un repositorio de almacenamiento de seguimiento 32, como registro de seguimiento 36 (u otra estructura de datos), de acuerdo con cualquier metodo conocido adecuado, como por ejemplo mediante el uso de una base de datos, en donde el registro de seguimiento 36 puede ser almacenado en uno o mas registros de bases de datos accesibles, por ejemplo.
Los datos de interaccion del usuario almacenados como registros de seguimiento pueden, de manera alternativa, ser almacenados en un ordenador independiente o repositorio de almacenamiento al que pueda acceder el servidor de seguimiento 30. En modos de realizacion en los que se transmite informacion adicional aparte de los datos de interaccion de usuario, tal como contenido dinamico de la pagina web 24, u otros datos relacionados con el contenido o la estructura de la pagina web 24, al servidor de seguimiento 30, dicha informacion adicional puede tambien ser almacenada por el servidor de seguimiento en la operacion de procesamiento 522, y puede ser almacenada como parte de un registro de seguimiento 36 que incluye datos de interaccion del usuario, o de manera alternativa puede estar almacenada en un registro independiente de tales datos de interaccion del usuario.
De acuerdo con un modo de realizacion adicional, en un caso en que un usuario finalice una sesion de navegacion o interaccion con una pagina web 24, antes de que toda la interaccion del usuario con la pagina web 24 haya sido capturada, procesada y transmitida al servidor de seguimiento 30, el script de seguimiento 34 puede comprender adicionalmente instrucciones para guardar cualquier dato restante de interaccion del usuario en cache en una memoria de almacenamiento fuera de lmea del navegador, y guardar la informacion que identifica la sesion de navegacion del usuario de la que los datos de interaccion del usuario fueron capturados. Tal memoria de almacenamiento fuera de lmea del navegador puede estar comprendida en el modulo del navegador 114 del ordenador del usuario 10, o de manera alternativa, puede estar comprendido en la memoria 110 del ordenador del usuario 10.
En un modo de realizacion de ese tipo, el script de seguimiento 34 puede comprender ademas instrucciones para transmitir cualquier dato de interaccion del usuario restante de ese tipo guardado en el almacenamiento fuera de lmea del navegador al servidor de seguimiento 30, si el usuario visita posteriormente otra pagina web, y transmitir la informacion que identifica la sesion de navegacion del usuario guardada con otros datos de interaccion de la misma sesion de navegacion para su almacenamiento en el servidor de seguimiento 30.
En aun otro modo de realizacion, los datos de interaccion del usuario recibidos por el servidor de seguimiento 30 pueden estar sujetos al analisis de datos y/o de procesamiento antes o despues de ser almacenados como un registro de seguimiento 36. Los analisis de datos pueden incluir el calculo de determinada analftica que puede incluir, pero no limitarse a: calcular la distancia recorrida por el raton de un usuario en la pagina web 24, calcular el ratio de finalizacion y/o el tiempo empleado por el usuario en un formulario de una pagina web 24, calcular la cantidad acumulada de tiempo que el raton de un usuario empleo en diversas partes de una pagina web 24, y compilar una representacion visual de la interaccion del usuario con la pagina web 24, por ejemplo. Esto puede incluir ademas rastrear que partes de la pagina web fueron visibles para un usuario en que momentos.
El procesamiento de datos puede incluir, por ejemplo, formateando los datos de interaccion del usuario para el almacenamiento y/o la compresion de los datos de interaccion del usuario. En dichos modos de realizacion, los resultados de tales analisis y/o procesamiento de datos pueden ser almacenados como parte de o en asociacion con el registro de seguimiento 36, o de manera alternativa, puede ser almacenado independiente del registro de seguimiento 36. En un modo de realizacion en particular, una representacion visual de una grafica en gradientes de color de la interaccion del usuario, en donde se representa graficamente el conjunto de la interaccion de un usuario (o multiples usuarios) con la pagina web 24 como regiones coloreadas superpuestas en la pagina web 24, donde cada region corresponde a las concentraciones relativas de los movimientos del raton del usuario y/o clics en las partes subyacentes de la pagina web 24, puede compilarse a partir de los datos de interaccion del usuario recibidos por el servidor de seguimiento 30. De acuerdo con aun otro modo de realizacion adicional, dicho analisis de datos y/o procesamiento de datos puede ser realizado en un ordenador independiente del servidor de seguimiento 30, tal como un servidor de procesamiento, por ejemplo, que puede conectarse al servidor de seguimiento 30 para enviar y recibir los datos de interaccion del usuario, de una manera tal como mediante la red 50.
5
10
15
20
25
30
35
40
45
50
55
La Figura 6 ilustra una serie de operaciones de procesamiento que puede ser implementada por el modulo de navegador 114 del ordenador del usuario 10 ilustrado en la Figura 2, de acuerdo con un modo de realizacion de la invencion. Mas particularmente, el script de seguimiento 34 que puede ser recibido por el ordenador del usuario 10 del servidor de web 20, junto con o como parte de la pagina web 24, puede incluir instrucciones que son ejecutables por el modulo de navegador 114 para ejecutar las operaciones de procesamiento de la Figura 6. La operacion de procesamiento 610 de la Figura 6 identifica los elementos de la pagina web 24 recibidos del servidor de web 20. En un modo de realizacion, basicamente todos los elementos de la pagina web 24 que son visibles para un usuario que navega por una pagina web 24, pueden ser identificados como parte de la operacion 610. En otro modo de realizacion, un sub-conjunto de elementos de la pagina web 24 puede seleccionarse para su identificacion, de acuerdo con la operacion de procesamiento 610. Cualquier metodo adecuado conocido en el arte, puede ser utilizado para identificar cualquier elemento relevante de la pagina web 24, tal como, pero no limitado a cualquier metodo de DOM-crawling conocido adecuado, por ejemplo. Ejemplos de elementos del sitio web que pueden ser identificados de acuerdo a la operacion de procesamiento 610 pueden incluir, pero no se limitan a: graficos, texto, hiperenlaces, campos de formularios, campos SELECCIONAR, campos de contrasena, casillas de verificacion, botones, tablas, objetos dinamicos y estaticos integrados, y cursor/raton u otras rutas de la posicion del puntero, por ejemplo.
La siguiente operacion de procesamiento 612 de la Figura 6 es definir receptores u otros disparadores basados en eventos para cada elemento de la pagina web identificado en la operacion 610 anterior. En un modo de realizacion de la invencion, los receptores pueden implementarse de acuerdo a cualquier metodo conocido adecuado en el arte de la monitorizacion de cambios en estados y/o valores de los elementos indexados de la pagina web 24 que tiene lugar mientras un usuario se encuentra navegando por un sitio web 24. En un modo de realizacion preferente, tales receptores se implementan de acuerdo con caractensticas estandar y/o conjuntos de instrucciones soportadas habitualmente por aplicaciones de navegadores habituales, tales como Internet Explorer® de Microsoft Corporation de Redmond, WA, Firefox ® de Mozilla Corporation de Mountain View, CA, Safari™ de Apple Inc. de Cupertino, CA, y Opera ™ de Opera Software de San Diego, CA, por ejemplo.
La siguiente operacion de procesamiento 614 de la Figura 6 graba la interaccion de un usuario con una pagina web 24, como datos de interaccion, utilizando receptores definidos en la operacion 612 anterior. En un modo de realizacion de la invencion, a medida que un usuario interactua con la pagina web 24, como por ejemplo navegando o utilizando de otro modo la pagina web 24 mostrada en el ordenador del usuario 10, los datos detectados por receptores definidos pueden ser grabados como datos de interaccion del usuario por el modulo de navegador 114.
Los datos de interaccion pueden ser grabados en un bufer del modulo de navegador 114. Dicho bufer puede ser implementado como cookies, almacenamiento DOM, o cualquier otra configuracion del bufer adecuada conocida en el arte. Cuando los datos de interaccion se transmiten al servidor 30, una respuesta puede enviarse de vuelta al navegador, de tal manera que unicamente la parte de los datos de interaccion confirmada como recibida por el servidor 30 se elimina o se sobre-escribe. Si no se confirma que ciertos datos de interaccion se han recibido apropiadamente, se enviaran nuevamente en un instante posterior. Este hecho mejora la probabilidad de que sustancialmente todos los datos se reciben de manera adecuada en el servidor, asegurando que cualquier reproduccion de los datos reflejara de forma precisa la experiencia del usuario.
Debera entenderse que tales datos de interaccion pueden grabarse de manera continua, a medida que la interaccion del usuario con una pagina web 24 avanza en el tiempo, y que tales datos de interaccion pueden ser grabados en un bufer adecuado dentro del modulo de navegador 114 de manera continua. Un bufer de un navegador adecuado puede permitir que los datos de interaccion sean lefdos del bufer al mismo tiempo que los datos de interaccion adicionales pueden continuar siendo grabados en el bufer, tal como se conoce bien en el arte.
En un ejemplo de realizacion, un bufer adecuado dentro del modulo de navegador 114, puede ser implementado utilizando una matriz de JavaScript o una cadena de JavaScript, por ejemplo.
La siguiente operacion de procesamiento 616 de la Figura 6 es procesar los datos de interaccion y almacenarlos en un almacenamiento del navegador. En un modo de realizacion preferente, los datos de interaccion grabados previamente en un bufer en el modulo de navegador 114 durante la operacion 614, pueden ser procesados para reducir la cantidad total de datos de interaccion retenidos mientras se mantiene una representacion basicamente precisa de la interaccion del usuario con el sitio web 24, y los datos de interaccion retenidos resultantes pueden ser almacenados en un cache de memoria dentro del modulo de navegador 114.
De acuerdo a un modo de realizacion, los datos de interaccion pueden ser procesados de acuerdo a cualquier metodo o metodos conocidos en el arte para reducir la cantidad de datos de interaccion retenidos mientras se mantiene una representacion sustancialmente precisa de la interaccion, incluyendo, pero sin limitarse a: eliminar datos que hacen referencia a eventos redundantes, comprimir datos que hacen referencia a eventos sustancialmente similares (como por ejemplo mediante codificacion de longitud de cadenas o Run Length Encoding (RLE), u otras tecnicas por ejemplo), y datos recurrentes de estrangulamiento tales como datos de localizacion de trazado del raton/cursor/puntero a una tasa de datos seleccionada, por ejemplo. Los datos de interaccion retenidos
5
10
15
20
25
30
35
40
45
50
55
resultantes de un procesamiento de datos de ese tipo pueden ser almacenados en una memoria cache de un navegador estandar utilizado para almacenar otros tipos de datos relacionados con la navegacion del usuario y tal como se encuentran soportados por aplicaciones de navegador estandar conocidos en el arte.
La siguiente operacion de procesamiento 618 de la Figura 6 paquetiza datos de interaccion almacenados para su transmision. Los datos de interaccion almacenados pueden ser divididos o paquetizados en uno o mas paquetes de datos de interaccion utilizando cualquier tecnica o metodo conocido en el arte. En un modo de realizacion, los datos de interaccion almacenados en un cache de la memoria dentro del modulo de navegador 114 puede ser dividido o paquetizado en uno o mas paquetes de datos de interaccion en basicamente el orden en que fueron grabados durante la interaccion del usuario con la pagina web 24.
Por ejemplo, tales datos de interaccion pueden dividirse en uno o mas paquetes de datos, cada uno de ellos de un tamano adecuado para su transmision como una solicitud AMF comprimida. En algunos modos de realizacion, tales paquetes de datos pueden estar dispuestos de tal manera que puedan ser transmitidos como un contenido de flujo de datos. En aun otros modos de realizacion, los datos de interaccion almacenados pueden dividirse o paquetizarse en uno o mas paquetes de datos de interaccion, cada uno de ellos de un tamano adecuado para su transmision como una solicitud de script dinamico mediante la aplicacion del navegador en particular que se esta ejecutando en un ordenador del usuario 10.
A continuacion, en la etapa 619, si una o mas aplicaciones de transmision y compresion de datos disponibles habitualmente se encuentran presentes en el ordenador 10, tales datos de interaccion pueden comprimirse en la etapa 620 utilizando esas aplicaciones. Por ejemplo, en un modo de realizacion, este puede incluir el uso del software ADOBE Flash u otra aplicacion de transmision y compresion adecuada. Utilizando esta aproximacion, los datos de interaccion almacenados y paquetizados pueden convertirse a un formato FLASH (matriz de bytes AS3 a traves de Externallnterface) y comprimidos utilizando GZIP. En la etapa 622, esta informacion puede entonces ser transmitida al servidor de seguimiento 30 utilizando un formato de mensaje AMF. En algunos modos de realizacion, el servidor de seguimiento 30 puede ser un servidor que utilice BlazeDS o AMFPHP.
En otros modos de realizacion, en los que las aplicaciones de transmision y compresion adecuadas no se encuentran presente en el ordenador 10 en la etapa 619, tales datos de interaccion almacenados pueden ser paquetizados en uno o mas paquetes de datos, cada uno de ellos de un tamano sustancialmente estandar adecuados para su transmision como una solicitud de script dinamico por aplicaciones habituales de navegador conocidas comunmente, tales como Internet Explorer® de Microsoft Corporation de Redmond, WA, Firefox ® de Mozilla Corporation de Mountain View, CA, Safari™ de Apple Inc. de Cupertino, CA, y Opera ™ de Opera Software de San Diego, CA, por ejemplo.
Con esta aproximacion alterna, la operacion de procesamiento 621 codifica un paquete de datos de interaccion como una solicitud de script dinamico. El paquete de datos de interaccion puede ser codificado como un objeto de script mediante cualquier medio de codificacion conocido adecuado, y un servidor de seguimiento que identifica el URL 30 a medida que la ubicacion del objeto de script puede ser anadido para definir una solicitud de script dinamico. De esa manera, el paquete de datos de interaccion puede ser incorporado en una solicitud de script dinamico al servidor de seguimiento 30. El metodo de codificacion utilizado para codificar el paquete de datos de interaccion, y el formato de la solicitud de script dinamico creado en la operacion 621, puede ser soportado de manera preferente mediante aplicaciones de un navegador estandar, y el proceso de codificacion se implementa de manera preferente mediante un modulo de navegador 114 que se ejecuta en un ordenador del usuario 10.
La ultima operacion de procesamiento 623 de la Figura 6 transmite la peticion de script dinamico al servidor de seguimiento 30. Aplicaciones de un navegador estandar pueden permitir que la peticion de script dinamico creado en la operacion 620, y que incorpora el paquete de datos de interaccion, pueda ser transmitida al servidor de seguimiento 30 incluso aunque el servidor de seguimiento 30 pueda estar ubicado, habitualmente, en el mismo dominio de red que el servidor de web 20 desde el que la pagina web 24 se sirvio al ordenador del usuario 10. Aunque la transmision de datos mediante una aplicacion de un navegador a traves de dominios podna no estar soportada de forma habitual debido a poltticas de programacion de script entre dominios (o sitios cruzados) incluidas en todas las aplicaciones de navegador estandar conocidas en el arte, la transmision de los datos de interaccion del usuario mediante una solicitud de script dinamico entre dominios permite la transmision de los datos de interaccion del usuario, mediante la aplicacion de un navegador, a un servidor de seguimiento 30 que no se encuentra ubicado en el mismo dominio de red que el servidor de web 20.
En un modo de realizacion alternativo, un paquete de datos de interaccion puede ser codificado como una solicitud dinamica para un archivo de imagen oculto en la operacion de procesamiento 621, mas que una solicitud de script dinamico. En tal caso, el servidor de seguimiento 30 puede ser establecido como la fuente de ubicacion o URL para el archivo de imagen solicitado. En un modo de realizacion de ese tipo, la operacion de procesamiento 623 comprendena entonces transmitir la solicitud de imagen dinamica al servidor de seguimiento 30 como una solicitud de imagen dinamica entre dominios.
5
10
15
20
25
30
35
40
45
50
55
En un modo de realizacion adicional alternativo de la invencion dirigido a rastrear la interaccion del usuario con una pagina web 24 y reproducir la interaccion del usuario en tiempo real para mostrarla a uno o mas usuarios diferentes en un entorno colaborativo, las operaciones de procesamiento 618 y 620 pueden incluir codificar los datos de la interaccion del usuario como un flujo de datos en tiempo real para su transmision al servidor de seguimiento 30 utilizando metodos de transferencia de datos asmcrona con COMET, Adobe Flash™ o solicitudes HTTP “Get”.
En un modo de realizacion tal, la operacion de procesamiento 622 puede comprender transmitir los datos de interaccion del usuario codificados al servidor de seguimiento 30 en tiempo real tales como mediante transmision de datos utilizando metodos con comet o Adobe Flash. Al recibir los datos de interaccion transmitidos por el servidor de seguimiento 30, los datos de interaccion en tiempo real pueden ser reproducidos en tiempo real desde el servidor de seguimiento 30 a uno o mas ordenadores diferentes, de tal manera que la interaccion del usuario grabada con la pagina web 24 se muestra en los otros ordenadores, permitiendo la colaboracion. Un modo de realizacion de ese tipo puede ser particularmente apropiado para aplicaciones en las que uno o mas usuarios colaboradores deseen ver la interaccion de un unico usuario con la pagina web 24, por ejemplo para ayudar al usuario a completar una operacion en la pagina web 24 por ejemplo, o para aplicaciones colaboradoras en las que dos o mas usuarios desean visualizar su interaccion mutua con una pagina web 24 de forma simultanea en tiempo real, por ejemplo para colaborar en un juego en la pagina web 24 por ejemplo. De manera opcional, en un modo de realizacion de ese tipo, las instrucciones ejecutables para el seguimiento colaborativo y la reproduccion de la interaccion del usuario con una pagina web, tal como se ha descrito anteriormente, pueden proporcionarse o exponerse como una interfaz de programacion de aplicacion (API, por sus siglas en ingles), para su integracion en aplicaciones existentes, tales como aplicaciones web y/o paginas web, por ejemplo, para proporcionar la grabacion, transmision y reproduccion de datos de interaccion del usuario para fines de colaboracion entre dos o mas usuarios.
La Figura 7 ilustra una serie de operaciones de procesamiento que pueden ser implementadas por el sistema ilustrado en la Figura 1, y los ejemplos de ordenadores ilustrados en las Figuras 2-4, de acuerdo con un modo de realizacion de la invencion. En la primera operacion de procesamiento 710 de la Figura 7, la reproduccion de solicitudes de analisis del usuario de un registro de seguimiento 36 desde el servidor de reproduccion 30. En un modo de realizacion de la invencion, la reproduccion de las solicitudes del usuario de analisis del registro de seguimiento 36 desde el servidor de reproduccion 30 utilizando una aplicacion de reproductor multimedia disponible de forma habitual, tal como Windows Media Player que se ejecuta en un ordenador de analisis 40.
En otro modo de realizacion de la invencion, el usuario de analisis puede solicitar la reproduccion del registro de seguimiento 36 del servidor de reproduccion 30, utilizando una aplicacion de navegador disponible de manera habitual que se ejecuta en un ordenador de analisis 40 para acceder a una pagina web de reproduccion servida por el servidor de reproduccion 30 y seleccionar el registro de seguimiento 36 para su reproduccion.
El ordenador de analisis 40 puede ser basicamente configurado de manera similar al ordenador del usuario 10 mostrado en la Figura 2, y la referencia al ordenador 10 puede ser sustituida por el ordenador de analisis 40 de aqu en adelante. Por consiguiente, el modulo de navegador 114 puede ser utilizado para implementar la operacion de procesamiento 710, y para comunicar la solicitud para su reproduccion del registro de seguimiento 36 al servidor de seguimiento 30 mediante la red 50, de acuerdo a metodos conocidos. El registro de seguimiento 36 puede incluir datos de interaccion del usuario grabados a partir de la interaccion de un usuario mientras navega por la pagina web 24, y ha sido previamente transmitido al servidor de reproduccion 30 tal como se ha descrito anteriormente, y almacenado como un registro de seguimiento 36. El registro de seguimiento 36 puede ser almacenado en cualquier medio de almacenamiento adecuado al que pueda acceder el servidor de reproduccion 30, tal como el repositorio de almacenamiento de seguimiento 32, por ejemplo.
Si el registro de seguimiento existe en un formato multimedia, ese registro puede proporcionarse al ordenador 40 y ser reproducido como tal. Si el registro de seguimiento 36 permanece como un conjunto de datos de interaccion cuando la solicitud se realiza, esos datos pueden ser reproducidos y convertidos a un formato de archivo multimedia adecuado en un servidor reproduccion 30, y entonces proporcionado a un ordenador de analisis 40 despues de la conversion.
Por ejemplo, esto puede lograrse utilizando cualquier tecnica de conversion multimedia adecuada conocida o mediante una aplicacion de tipo “movie maker” que se encuentre configurada para reproducir el registro de seguimiento 36 en un navegador integrado que se hospeda en el servidor de reproduccion 30, como se describe mas adelante en las etapas 712-722. Pueden realizarse capturas de pantalla del navegador reproduciendo los datos de interaccion en intervalos seleccionados o predeterminados y pueden combinarse como se conoce en el arte para crear un archivo de video. Una vez convertido a un archivo de video, los datos de interaccion pueden ser posteriormente almacenados en el servidor de reproduccion 30 en dicho formato de manera que la futura conversion no se requiera. Una vez en dicho formato de video, la interaccion es sustancialmente independiente del servidor de reproduccion 30 y puede ser transferida libremente a dispositivos informaticos habituales para una reproduccion o un analisis adicional.
5
10
15
20
25
30
35
40
45
50
55
En el caso en que se lleva a cabo la reproduccion del navegador, la siguiente operacion de procesamiento 712 de la Figura 7, el navegador de analisis puede ser redirigido a solicitar la pagina web original 24 del servidor de web 20 si no se encuentra disponible del servidor de seguimiento 30. En la siguiente operacion de procesamiento 714 de la Figura 7, el navegador recibe la pagina web 24 del servidor de web 30 y solicita el script de seguimiento 34 del servidor de reproduccion 30. La operacion de procesamiento 714 corresponde sustancialmente a operaciones de procesamiento 512 y 514 como se describe en mayor detalle anteriormente en referencia a la Figura 5. El ordenador de analisis 40 puede recibir la pagina web 24 del servidor 30, y solicitar el script de seguimiento 34 del servidor de seguimiento 30 mediante la red 50, de acuerdo a metodos conocidos.
En la siguiente operacion de procesamiento 716 de la Figura 7, el navegador recibe el script de seguimiento 34 del servidor de seguimiento 30, y ejecuta el script de seguimiento 34. La operacion de procesamiento 716 puede ser implementada por el modulo de navegador 114 que se ejecuta en el ordenador de analisis 40. Tal como se describe anteriormente, de manera preferente, todas las instrucciones ejecutables comprendidas en el script de seguimiento 34 que se encuentran incluidas con la pagina web 24, a medida que son recibidas por el ordenador de analisis 40 pueden ser ejecutadas por cualquier aplicacion de navegador que se ejecute en el ordenador del usuario 10, tal como se representa por el modulo de navegador 114. Los ejemplos de aplicaciones de navegador habituales pueden incluir Internet Explorer ® de Microsoft Corporation de Redmond WA, y Firefox ® de Mozilla Corporation de Mountain View, CA, Safari™ de Apple Inc. de Cupertino, CA, y Opera™ de Opera Software de San Diego, CA, por ejemplo. De acuerdo con un modo de realizacion de la invencion, las instrucciones ejecutables comprendidas en el script de seguimiento 34 pueden ser implementadas por un sub-conjunto, tal como el modulo de script de seguimiento 116, que se ejecuta dentro del modulo de navegador 114 en el ordenador de analisis 40. En un modo de realizacion, cuando el script de seguimiento 34 es ejecutado por el navegador, un parametro almacenado en el navegador que indica que la reproduccion del registro de seguimiento 36 ha sido solicitada, lanza la ejecucion de las instrucciones de reproduccion incluidas en el script de seguimiento 34.
De acuerdo con un modo de realizacion de la invencion, el script de seguimiento 34 comprende instrucciones de reproduccion ejecutables que pueden ser ejecutadas por una aplicacion de navegador para: solicitar los datos de interaccion del usuario grabados almacenados en el registro de seguimiento 36 del servidor de seguimiento 30, recrear una visualizacion de interaccion de la interaccion del usuario con una pagina web a partir de los datos de interaccion recibidos del servidor de seguimiento 30, y reproducir una visualizacion de interaccion en un ordenador de analisis 40.
En la siguiente operacion de procesamiento 718 de la Figura 7, el navegador solicita y recibe periodicamente datos de interaccion del servidor de seguimiento 30 a traves de la solicitud de script dinamico. La operacion de procesamiento 718 puede ser implementada utilizando el modulo de navegador 114 en el ordenador de analisis 40, que puede solicitar y recibir periodicamente datos de interaccion del servidor de seguimiento 30 mediante la solicitud de script dinamico, y puede comunicarse con el servidor de seguimiento a traves de la red 50.
De acuerdo con un modo de realizacion, la solicitud de recepcion de datos de interaccion del servidor 30 por el modulo de navegador 114 en el ordenador de analisis 40 puede lograrse utilizando la aplicacion Adobe Flash tal como se ha descrito anteriormente o, de manera alternativa, mediante una solicitud de script dinamico entre dominios, que puede tambien denominarse como solicitud de programacion de script de sitio cruzado. De acuerdo a un modo de realizacion de ese tipo, las instrucciones de reproduccion ejecutables comprendidas en el script de seguimiento 34, recibidas con la pagina 24 desde el servidor 30 y ejecutadas por el modulo de navegador 114 en el ordenador de analisis 40, comprenden instrucciones para solicitar periodicamente un archivo de datos de interaccion del ordenador de seguimiento 30 mediante una solicitud de script dinamico, y recibir el archivo de datos de interaccion desde el servidor de seguimiento 30, que comprende una interaccion del usuario grabada previamente con la pagina web 24 que fue almacenada en el registro de seguimiento 36.
De acuerdo con la funcionalidad estandarizada soportada por las aplicaciones de navegador habituales en la industria, ejemplificadas por el modulo de navegador 114, se puede permitir que una solicitud de script dinamico tal sea transmitida a traves de dominios al servidor de seguimiento 30 y los datos de interaccion resultantes recibidos del servidor de seguimiento 30 pueden, habitualmente, no estar ubicados en el mismo dominio de red o sitio que el servidor de web 20, desde el que la pagina web 24 fue recibida por el ordenador del usuario 10.
De acuerdo con un modo de realizacion alternativo, el navegador en el ordenador de analisis 40 puede utilizar un dominio cruzado XMLHttpRequest (tal como el soportado para su uso en aplicaciones AJAX, por ejemplo), para solicitar y recibir datos de interaccion del servidor de seguimiento 30, en la operacion de procesamiento de implementacion 718. De manera opcional, cualquier solicitud de AJAX entre dominios puede ademas ser utilizada para implementar la operacion de procesamiento 718.
De acuerdo a otro modo de realizacion, los datos de interaccion solicitados y recibidos del servidor de seguimiento 30 de acuerdo a la operacion de procesamiento 718, puede comprender datos de interaccion de usuario sustancialmente como fueron recibidos transmitidos por un ordenador del usuario 10 durante la grabacion, y sustancialmente como fueron grabados como registro de seguimiento 36.
5
10
15
20
25
30
35
40
45
50
55
60
De acuerdo a un modo de realizacion alternativo preferente, los datos de interaccion solicitados y recibidos del servidor de seguimiento 30 de acuerdo con la operacion de procesamiento 718, pueden ser transformados o de otro modo procesados por el servidor de seguimiento 30 previamente a su recepcion por el navegador del ordenador de analisis 40. En un modo de realizacion preferente de ese tipo, el servidor de seguimiento 30 puede procesar los datos de interaccion del usuario almacenados como registro de seguimiento 36 previamente a su transmision al navegador del ordenador de analisis 40, para mejorar la calidad de la reproduccion de los datos de interaccion del usuario en el ordenador de analisis. Un procesamiento de ese tipo puede incluir uno o mas de: conversion del formato de datos de interaccion del usuario por ejemplo para mejorar la transmision o visualizacion de los datos de interaccion del usuario, una interpolacion de datos de interaccion del usuario discontinuos para mejorar la continuidad, por ejemplo utilizando diversos metodos conocidos (tales como metodos de interpolacion basados en curvas de Bezier), para interpolar datos del movimiento del raton/cursor/puntero para mejorar la continuidad del movimiento, por ejemplo. En un modo de realizacion de ese tipo en particular, los datos de interaccion del usuario almacenados como registro de seguimiento 36, pueden ser procesados por el servidor de seguimiento 30 previamente a su recepcion por el ordenador de analisis 40, convirtiendo los datos de interaccion del usuario en un formato de notacion de objetos JavaScript o JavaScript Object Notation (JSON, por sus siglas en ingles).
Debe senalarse que de acuerdo a aun un modo de realizacion adicional de la invencion, el servidor de seguimiento 30, del que los datos de interaccion se solicitan y se reciben durante la operacion de procesamiento 718, no tiene que ser el mismo ordenador servidor en el que los datos de interaccion se grabaron en primer lugar cuando se recibieron del ordenador del usuario. De manera opcional, los datos de interaccion del usuario pueden ser transferidos desde un primer ordenador de seguimiento de grabacion, a un segundo servidor de seguimiento de reproduccion 30, del que se solicitan dichos datos durante la operacion de procesamiento 718.
En la siguiente operacion de procesamiento 720 de la Figura 7, el navegador recrea una visualizacion de la interaccion de los datos de interaccion recibidos del servidor de seguimiento 30. La operacion de procesamiento 720 puede ser implementado utilizando el modulo de navegador 114 en un ordenador de analisis 40, que puede recrear una visualizacion de interaccion a partir de los datos de interaccion de acuerdo con cualquier metodo o tecnica adecuada conocida. En un modo de realizacion preferente, una visualizacion de interaccion de ese tipo comprende una recreacion considerablemente realista y precisa de los eventos de interaccion del usuario, sustancialmente segun se grabaron previamente del usuario original interactuando con la pagina web 24 en el momento de la grabacion. En un modo de realizacion, la visualizacion de interaccion recreada puede ser temporalmente almacenada en una memoria bufer del navegador, como por ejemplo en un modulo de navegador 114, de manera que una primera parte de la visualizacion de interaccion pueda ser lefda del bufer al mismo tiempo que una segunda parte de la visualizacion recreada a partir de los datos de interaccion subsiguientes recibidos periodicamente por el navegador, pueden ser escritos en el bufer, para proporcionar un flujo de datos de visualizacion continuo recreado a partir de las partes recibidas periodicamente de los datos de interaccion recibidos del servidor de seguimiento 30.
En la operacion de procesamiento final 722 de la Figura 7, el navegador reproduce la visualizacion de la interaccion en la pagina web 24 recreada a partir de un DOM almacenado en el servidor de seguimiento 30. La operacion de procesamiento 722 puede ademas ser implementada utilizando el modulo de navegador 114 en el ordenador de analisis 40, que puede reproducir la visualizacion de interaccion en la pagina web 24 de acuerdo con un metodo o tecnica adecuada conocida. En un modo de realizacion preferente, la visualizacion de la interaccion se reproduce en la pagina web 24 mostrada en el ordenador de analisis 40, para visualizar a interaccion del usuario con la pagina web 24 basicamente de manera exacta a como tuvo lugar en el momento de la grabacion en el ordenador del usuario 10. De acuerdo a un modo de realizacion, la reproduccion de la visualizacion de la interaccion del usuario en la pagina web 24 mostrada en el ordenador de analisis 40, puede proporcionar caractensticas tales como pausa, rebobinado, avance rapido de la visualizacion de la interaccion, para permitir un analisis detallado de la interaccion del usuario original durante la reproduccion en el ordenador de analisis 40. Un analisis de ese tipo puede utilizarse para entender la interaccion de los usuarios con la pagina web 24.
Un modo de realizacion de la presente invencion hace referencia a un producto de almacenamiento informatico con un medio legible por ordenador que presenta un codigo informatico en el mismo para realizar diversas operaciones implementadas por ordenador. Los medios legibles por ordenador y el codigo informatico pueden ser aquellos disenados y construidos especialmente para los propositos de la presente invencion, o pueden ser de un tipo bien conocidos y disponibles para los expertos en el arte del software informatico. Ejemplos de medios legibles por ordenador incluyen, pero no se limitan a: medios magneticos tales como discos duros, disquetes, y cintas magneticas; medios opticos tales como unidades de CD-ROM y dispositivos holograficos; medios magneto-opticos tales como discos opticos; y dispositivos de hardware que estan especialmente configurados para almacenar y ejecutar codigos de programa, tales como circuitos integrados de aplicacion espedfica (“ASICs”, por sus siglas en ingles), dispositivos logicos programables (“PLDs”, por sus siglas en ingles) y dispositivos ROM y RAM. Ejemplos de codigo informatico incluyen codigo de maquina, como por ejemplo el producido por un compilador, y archivos que contienen codigo de nivel superior que se ejecutan mediante un ordenador que utiliza un interprete. Por ejemplo, un modo de realizacion de la presente invencion puede ser implementado utilizando XML, JavaScript, C, C++, u otros lenguajes de script, de marcas y/o de programacion y herramientas de desarrollo. Otro modo de realizacion de la
invencion puede ser implementado en circuitos cableados en lugar de, o en combinacion con, instrucciones de software ejecutables por maquina.
Los ejemplos de modos de realizacion descritos en la presente patente no tienen la intencion de ser exhaustivos o limitar el alcance de la invencion a las formas precisas reveladas. Dichas formas han sido elegidas y descritas para 5 explicar los principios de la invencion y su aplicacion y uso practico para permitir que otros expertos en el arte comprendan sus contenidos.
Como resultara aparente para aquellos expertos en el arte en vista de la revelacion anterior, muchos cambios y modificaciones resultan posibles en la practica de la presente invencion sin apartarse del espmtu o alcance de la misma. Por consiguiente, el alcance de la invencion ha de interpretarse de acuerdo con el fundamento definido por 10 las siguientes reivindicaciones.

Claims (12)

  1. 5
    10
    15
    20
    25
    30
    35
    REIVINDICACIONES
    1. Metodo implementado por ordenador para reproducir la interaccion de un usuario con una pagina web (24), que comprende:
    solicitar (710) reproduccion de un registro de seguimiento (36) desde un servidor de reproduccion (30);
    solicitar (718) y recibir periodicamente datos de la interaccion de del usuario desde el servidor de reproduccion, donde los datos recibidos de la interaccion del usuario son normalizados por el servidor de reproduccion (30), incluyendo dicha normalizacion reescribir URLs de la imagen;
    recrear (720) una visualizacion de la interaccion a partir de los datos de interaccion del usuario; y
    reproducir (722) dicha visualizacion de la interaccion basada en datos recibidos del servidor de reproduccion (30).
  2. 2. Metodo implementado por ordenador segun la reivindicacion 1, donde recrear (720) una visualizacion de la interaccion se basa en un modelo de objetos del documento.
  3. 3. Metodo implementado por ordenador segun la reivindicacion 1, donde los datos de interaccion del usuario se solicitan utilizando una peticion de script dinamico.
  4. 4. Metodo implementado por ordenador segun la reivindicacion 1, donde recrear (720) una visualizacion de la interaccion incluye el uso de una tecnica proxy local o remota.
  5. 5. Metodo implementado por ordenador segun la reivindicacion 1 que ademas comprende recibir (712) una pagina web y solicitar el codigo de seguimiento del servidor de reproduccion.
  6. 6. Metodo implementado por ordenador segun la reivindicacion 5, donde recibir una pagina web y solicitar un codigo de seguimiento incluye recibir y ejecutar un script de seguimiento.
  7. 7. Metodo implementado por ordenador segun la reivindicacion 1 que ademas comprende generar informes estadfsticos basados en uno o mas registros de seguimiento.
  8. 8. Metodo implementado por ordenador segun la reivindicacion 1 que ademas comprende:
    crear un archivo de video basado en los datos de interaccion del usuario recibidos del servidor de reproduccion (30); e
    iniciar la reproduccion del archivo de video creado con una aplicacion de reproduccion multimedia.
  9. 9. Metodo implementado por ordenador segun la reivindicacion 8, donde crear el archivo de video incluye ademas recrear la pagina web tal como ha sido vista por el usuario.
  10. 10. Metodo implementado por ordenador segun la reivindicacion 8, donde el archivo de video se crea en base a capturas de pantalla adquiridas durante la reproduccion de los datos de interaccion del usuario en el servidor de reproduccion (30).
  11. 11. Metodo implementado por ordenador segun la reivindicacion 8, donde el archivo de video se crea en base a datos de interaccion del usuario normalizados.
  12. 12. Un medio utilizable por ordenador que presenta instrucciones utilizables por ordenador almacenadas en el mismo para un procesador, donde dichas instrucciones, al ser ejecutadas por el procesador, causan que el procesador ejecute un metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 11.
ES13003350.9T 2008-04-15 2009-04-10 Método para el seguimiento remoto y la reproducción de la interacción de un usuario con una página web Active ES2555291T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12439208P 2008-04-15 2008-04-15
US124392P 2008-04-15

Publications (1)

Publication Number Publication Date
ES2555291T3 true ES2555291T3 (es) 2015-12-30

Family

ID=40849182

Family Applications (2)

Application Number Title Priority Date Filing Date
ES13003350.9T Active ES2555291T3 (es) 2008-04-15 2009-04-10 Método para el seguimiento remoto y la reproducción de la interacción de un usuario con una página web
ES09747080T Active ES2423313T3 (es) 2008-04-15 2009-04-10 Método y medio para el rastreo remoto de la interacción de un usuario con una página web

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES09747080T Active ES2423313T3 (es) 2008-04-15 2009-04-10 Método y medio para el rastreo remoto de la interacción de un usuario con una página web

Country Status (7)

Country Link
US (1) US9418172B2 (es)
EP (2) EP2650790B1 (es)
DK (1) DK2291745T3 (es)
ES (2) ES2555291T3 (es)
HK (1) HK1155531A1 (es)
IL (3) IL208705A (es)
WO (1) WO2009139994A2 (es)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065410B1 (en) 2004-03-31 2011-11-22 Compuware Corporation Methods and apparatus for collecting performance metrics from a web site
US8095650B1 (en) * 2007-07-30 2012-01-10 Compuware Corporation Methods and apparatus for real user monitoring including flash monitoring
US8839116B2 (en) * 2008-08-22 2014-09-16 Siemens Aktiengesellschaft User interface in an information technology (IT) system
US20100088373A1 (en) * 2008-10-06 2010-04-08 Jeremy Pinkham Method of Tracking & Targeting Internet Payloads based on Time Spent Actively Viewing
WO2010070456A2 (en) * 2008-12-19 2010-06-24 F2Ware Inc. Method and apparatus for authenticating online transactions using a browser
US8245030B2 (en) * 2008-12-19 2012-08-14 Nai-Yu Pai Method for authenticating online transactions using a browser
US8219598B1 (en) * 2009-05-11 2012-07-10 Google Inc. Cross-domain communicating using data files
WO2010140160A2 (en) * 2009-06-05 2010-12-09 Hewlett-Packard Development Company, L. P. System and method for representing user interaction with a web service
US8571319B2 (en) 2009-07-28 2013-10-29 International Business Machines Corporation Enhanced screen capture for form manipulation
US20110153435A1 (en) * 2009-09-17 2011-06-23 Lexos Media Inc. System and method of cursor-based content delivery
JP5434435B2 (ja) * 2009-09-29 2014-03-05 ブラザー工業株式会社 インターネットに接続される端末装置
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8433733B2 (en) * 2010-01-13 2013-04-30 Vmware, Inc. Web application record-replay system and method
IL203628A (en) * 2010-01-31 2015-09-24 Verint Systems Ltd Systems and methods for decoding network traffic
US9785722B2 (en) * 2010-04-01 2017-10-10 Forsee Results, Inc. Systems and methods for remote replay of user interaction with a webpage
US11562013B2 (en) 2010-05-26 2023-01-24 Userzoom Technologies, Inc. Systems and methods for improvements to user experience testing
US11068374B2 (en) 2010-05-26 2021-07-20 Userzoom Technologies, Inc. Generation, administration and analysis of user experience testing
US20140052853A1 (en) * 2010-05-26 2014-02-20 Xavier Mestres Unmoderated Remote User Testing and Card Sorting
US11348148B2 (en) 2010-05-26 2022-05-31 Userzoom Technologies, Inc. Systems and methods for an intelligent sourcing engine for study participants
US10691583B2 (en) 2010-05-26 2020-06-23 Userzoom Technologies, Inc. System and method for unmoderated remote user testing and card sorting
US11544135B2 (en) 2010-05-26 2023-01-03 Userzoom Technologies, Inc. Systems and methods for the analysis of user experience testing with AI acceleration
US11494793B2 (en) 2010-05-26 2022-11-08 Userzoom Technologies, Inc. Systems and methods for the generation, administration and analysis of click testing
US11934475B2 (en) 2010-05-26 2024-03-19 Userzoom Technologies, Inc. Advanced analysis of online user experience studies
US9053241B2 (en) * 2010-06-11 2015-06-09 Hewlett-Packard Development Company, L.P. Scripting application with role identification
US8881110B2 (en) 2010-06-11 2014-11-04 Hewlett-Packard Development Company, L.P. Role-based automation scripts
US20120109931A1 (en) * 2010-10-29 2012-05-03 Fujitsu Limited Technique for compression of state information in the crawling of interactive client-server applications
US9400962B2 (en) 2010-10-29 2016-07-26 Fujitsu Limited Architecture for distributed, parallel crawling of interactive client-server applications
US8751930B2 (en) 2010-11-02 2014-06-10 International Business Machines Corporation Seamlessly sharing and reusing knowledge between an administrator console and user interaction
US9208054B2 (en) 2011-02-14 2015-12-08 Fujitsu Limited Web service for automated cross-browser compatibility checking of web applications
US8874525B2 (en) 2011-04-19 2014-10-28 Autodesk, Inc. Hierarchical display and navigation of document revision histories
US8533594B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc. Hierarchical display and navigation of document revision histories
US8533593B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc Hierarchical display and navigation of document revision histories
US8533595B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc Hierarchical display and navigation of document revision histories
US9465866B2 (en) * 2011-06-09 2016-10-11 International Business Machines Corporation Task context recovery
US8914496B1 (en) * 2011-09-12 2014-12-16 Amazon Technologies, Inc. Tracking user behavior relative to a network page
US9053319B2 (en) 2011-09-29 2015-06-09 Hewlett-Packard Development Company, L.P. Context-sensitive taint processing for application security
US8806574B2 (en) 2011-10-05 2014-08-12 Hewlett-Packard Development Company, L.P. System and method for policy conformance in a web application
CN102495869B (zh) * 2011-11-30 2013-11-20 中国航空工业集团公司第六三一研究所 高可靠航电文件系统远程浏览系统及浏览方法
US9679297B2 (en) * 2012-04-27 2017-06-13 Adobe Systems Incorporated Method and apparatus for isolating analytics logic from content creation in a rich internet application
WO2013169782A1 (en) 2012-05-10 2013-11-14 Clicktale Ltd. A method and system for monitoring and tracking browsing activity on handled devices
US9305268B2 (en) * 2012-06-12 2016-04-05 Connotate, Inc. Monitoring and replaying user behaviors on the web
US8977742B1 (en) * 2012-08-08 2015-03-10 Google Inc. Remote validation of user interactions for client-side scripting
US9448908B2 (en) * 2012-09-10 2016-09-20 Applitools Ltd. System and method for model based session management
US9904517B2 (en) * 2012-09-10 2018-02-27 Applitools Ltd. System and method for automatic modeling of an application
US9088767B2 (en) 2012-10-08 2015-07-21 International Business Machines Corporation Activities duplication via recorded video
US9594732B2 (en) * 2012-12-20 2017-03-14 Google Inc. Selectively replacing displayed content items based on user interaction
US10761672B2 (en) * 2012-12-28 2020-09-01 Facebook, Inc. Socialized dash
US10249007B2 (en) * 2012-12-28 2019-04-02 Facebook, Inc. Social cover feed interface
US10649607B2 (en) * 2012-12-28 2020-05-12 Facebook, Inc. Re-ranking story content
US9398071B1 (en) * 2013-01-29 2016-07-19 Amazon Technologies, Inc. Managing page-level usage data
US9577889B1 (en) 2013-01-29 2017-02-21 Amazon Technologies, Inc. Managing page-level usage data
US9438694B1 (en) 2013-01-29 2016-09-06 Amazon Technologies, Inc. Managing page-level usage data
US9961127B2 (en) * 2013-03-15 2018-05-01 Foresee Results, Inc. System and method for capturing interaction data relating to a host application
US20140358684A1 (en) * 2013-06-03 2014-12-04 Cloudwear, Inc. System for communicating primary and supplemental advertiser information using a server
US20140379466A1 (en) * 2013-06-20 2014-12-25 Lexos Media Ip, Llc System and method of cursor-based content delivery
US9697108B2 (en) * 2013-08-12 2017-07-04 International Business Machines Corporation System, method, and apparatus for automatic recording and replaying of application executions
US20150052256A1 (en) * 2013-08-15 2015-02-19 Unisys Corporation Transmission of network management data over an extensible scripting file format
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
WO2015041648A1 (en) * 2013-09-19 2015-03-26 Hewlett-Packard Development Company, L.P. Application menu modification recommendations
EP3053142A4 (en) * 2013-09-30 2017-07-19 Hewlett-Packard Development Company, L.P. Record and replay of operations on graphical objects
US9959255B2 (en) * 2014-01-31 2018-05-01 Yahoo Holdings, Inc. Dynamic streaming content provided by server and client-side tracking application
US10366140B2 (en) * 2014-03-26 2019-07-30 Lead Intelligence, Inc. Method for replaying user activity by rebuilding a webpage capturing content at each web event
US11263285B2 (en) * 2014-03-26 2022-03-01 Lead Intelligence, Inc. Replaying user activity by capturing content and rebuilding the webpage at each web event
WO2015195408A1 (en) * 2014-06-19 2015-12-23 Thomson Licensing Method and apparatus for detecting a state of selectable values of a web page
US10049141B2 (en) * 2014-10-10 2018-08-14 salesforce.com,inc. Declarative specification of visualization queries, display formats and bindings
US10659566B1 (en) * 2014-10-31 2020-05-19 Wells Fargo Bank, N.A. Demo recording utility
US10146752B2 (en) 2014-12-31 2018-12-04 Quantum Metric, LLC Accurate and efficient recording of user experience, GUI changes and user interaction events on a remote web document
US9766769B1 (en) 2014-12-31 2017-09-19 FullStory, Inc. Evaluation of interactions with a user interface
IL237986A0 (en) * 2015-03-26 2015-11-30 Yaron Peretz Method and system for broadcasting surfing activities
US10769351B2 (en) 2015-05-08 2020-09-08 Citrix Systems, Inc. Rendering based on a document object model
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US9996216B2 (en) * 2015-06-25 2018-06-12 medCPU, Ltd. Smart display data capturing platform for record systems
US10498842B2 (en) * 2015-07-13 2019-12-03 SessionCam Limited Methods for recording user interactions with a website
IL256893B (en) * 2015-07-16 2022-08-01 Quantum Metric Inc File capture using client-server delta encoding
US10810362B2 (en) * 2015-07-17 2020-10-20 Sap Se Page-based incident correlation for network applications
US10447761B2 (en) * 2015-07-31 2019-10-15 Page Vault Inc. Method and system for capturing web content from a web server as a set of images
US10158722B2 (en) 2015-07-31 2018-12-18 Jeffrey T Eschbach Method and systems for the scheduled capture of web content from web servers as sets of images
US20170147159A1 (en) * 2015-11-19 2017-05-25 International Business Machines Corporation Capturing and storing dynamic page state data
US10102306B2 (en) * 2016-05-03 2018-10-16 International Business Machines Corporation Patching base document object model (DOM) with DOM-differentials to generate high fidelity replay of webpage user interactions
US9807184B1 (en) 2016-06-02 2017-10-31 Tealium Inc. Configuration of content site user interaction monitoring in data networks
WO2018045312A1 (en) 2016-09-01 2018-03-08 Foresee Results, Inc. System and computer-implemented method for in-page reporting of user feedback on a website or mobile app
US11282091B2 (en) * 2016-09-30 2022-03-22 Transitiv, Inc. Systems, methods, and devices for dynamic page feed management
US11301477B2 (en) * 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
TWI768096B (zh) * 2017-08-25 2022-06-21 瑞士商西克帕控股有限公司 光學效果層、用於產生此光學效果層的裝置及進程、及此裝置的使用方法
LT3770773T (lt) 2017-08-28 2024-03-12 Bright Data Ltd. Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius
CN110020354B (zh) * 2017-09-30 2021-02-26 北京国双科技有限公司 点击热力图异常检测方法及装置
CN110161431B (zh) * 2018-02-12 2023-02-17 西门子公司 变频器监控数据的处理方法、装置和存储介质
US10846110B2 (en) * 2018-10-02 2020-11-24 Sap Se User interface usage measurement and user interface design using machine learning
CN109446025B (zh) * 2018-10-17 2022-08-23 北京字节跳动网络技术有限公司 一种操作行为的回放方法、装置、电子设备及可读介质
US11909100B2 (en) 2019-01-31 2024-02-20 Userzoom Technologies, Inc. Systems and methods for the analysis of user experience testing with AI acceleration
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
EP4027618A1 (en) 2019-04-02 2022-07-13 Bright Data Ltd. Managing a non-direct url fetching service
WO2020214412A2 (en) * 2019-04-13 2020-10-22 Speagle Michael A Theft monitoring and identification system for self-service point of sale
US10768885B1 (en) 2019-04-23 2020-09-08 Study Social Inc. Video conference with shared whiteboard and recording
US11093119B2 (en) * 2019-07-31 2021-08-17 FullStory, Inc. User interface engagement heatmaps
WO2021042006A1 (en) * 2019-08-30 2021-03-04 Amplo Global Inc. Data driven systems and methods for optimization of a target business
US20210272662A1 (en) * 2020-02-27 2021-09-02 Lawrence German Application, system, and method for a computer implemented medical electronic record management system
US11790028B2 (en) 2020-12-10 2023-10-17 International Business Machines Corporation Dynamic user interface enhancement based on user interactions
US11463499B1 (en) 2020-12-18 2022-10-04 Vr Edu Llc Storage and retrieval of virtual reality sessions state based upon participants
CN113553529A (zh) * 2021-07-26 2021-10-26 平安养老保险股份有限公司 记录网页行为方法、装置、计算机设备及存储介质
US11816175B2 (en) * 2021-12-20 2023-11-14 Content Square SAS Webpage element visibility evaluation based on position and scrolling actions
CN114422528A (zh) * 2022-01-19 2022-04-29 杭州笨马网络技术有限公司 基于桌面端和Web应用的请求数据同步的方法
US20240070630A1 (en) * 2022-08-24 2024-02-29 Truist Bank Techniques for generating transaction replays

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US7133834B1 (en) 1992-08-06 2006-11-07 Ferrara Ethereal Llc Product value information interchange server
US6842877B2 (en) * 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US6449636B1 (en) * 1999-09-08 2002-09-10 Nortel Networks Limited System and method for creating a dynamic data file from collected and filtered web pages
US6954783B1 (en) * 1999-11-12 2005-10-11 Bmc Software, Inc. System and method of mediating a web page
US6535909B1 (en) * 1999-11-18 2003-03-18 Contigo Software, Inc. System and method for record and playback of collaborative Web browsing session
US20010034638A1 (en) 2000-02-05 2001-10-25 John Kelley Server side processing of internet requests
DE60114999T2 (de) * 2000-03-14 2006-09-07 Speed-Trap.Com Ltd., Newbury Überwachung von und interaktion mit netzwerkdiensten
US20010054089A1 (en) * 2000-05-05 2001-12-20 Kevin Tso System and method for providing a guided tour of a web site
US20020038388A1 (en) * 2000-09-13 2002-03-28 Netter Zvi Itzhak System and method for capture and playback of user interaction with web browser content
US20020083145A1 (en) 2000-12-22 2002-06-27 Nortel Networks Limited Method and system for online/offline services
US20030046385A1 (en) * 2001-04-13 2003-03-06 Netiq Corporation, A Delaware Corporation User-side tracking of multimedia application usage within a web page
US7370269B1 (en) * 2001-08-31 2008-05-06 Oracle International Corporation System and method for real-time annotation of a co-browsed document
US6877007B1 (en) * 2001-10-16 2005-04-05 Anna M. Hentzel Method and apparatus for tracking a user's interaction with a resource supplied by a server computer
US10205623B2 (en) * 2002-06-28 2019-02-12 Adobe Systems Incorporated Custom event and attribute generation for use in website traffic data collection
US20040054715A1 (en) * 2002-09-16 2004-03-18 Paul Cesario Capturing and replaying internet application transactions using an embedded browser
US7203901B2 (en) * 2002-11-27 2007-04-10 Microsoft Corporation Small form factor web browsing
JP4282312B2 (ja) * 2002-11-27 2009-06-17 富士通株式会社 Webサーバ、Javaサーブレットの機能を有するWebサーバ、およびコンピュータプログラム
US20040119682A1 (en) * 2002-12-18 2004-06-24 International Business Machines Corporation Self-correcting autonomic mouse
US20040128534A1 (en) * 2002-12-18 2004-07-01 Walker Nicholas John Method and product for identifying a website visitor session by visitor e-mail address
US7529798B2 (en) * 2003-03-18 2009-05-05 Intercall, Inc. System and method for record and playback of collaborative web browsing session
US7694223B2 (en) * 2003-06-04 2010-04-06 Sony Computer Entertainment Inc. Methods and systems for recording user actions in computer programs
US20050060655A1 (en) * 2003-09-12 2005-03-17 Useractive Distance-learning system with dynamically constructed menu that includes embedded applications
US9032096B2 (en) * 2003-12-17 2015-05-12 Cisco Technology, Inc. Reducing the impact of network latency on application performance
US7373524B2 (en) * 2004-02-24 2008-05-13 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user behavior for a server application
US7584435B2 (en) 2004-03-03 2009-09-01 Omniture, Inc. Web usage overlays for third-party web plug-in content
US7792954B2 (en) * 2004-04-02 2010-09-07 Webtrends, Inc. Systems and methods for tracking web activity
US8225195B1 (en) * 2004-12-15 2012-07-17 Amazon Technologies, Inc. Displaying links at varying levels of prominence to reveal emergent paths based on user interaction
US7770068B2 (en) * 2005-06-01 2010-08-03 Neustar, Inc. Systems and methods for website monitoring and load testing via simulation
US7360166B1 (en) * 2005-08-17 2008-04-15 Clipmarks Llc System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US20070106692A1 (en) * 2005-11-10 2007-05-10 International Business Machines Corporation System and method for recording and replaying a session with a web server without recreating the actual session
US7941525B1 (en) * 2006-04-01 2011-05-10 ClickTale, Ltd. Method and system for monitoring an activity of a user
US8775919B2 (en) * 2006-04-25 2014-07-08 Adobe Systems Incorporated Independent actionscript analytics tools and techniques
US20080052392A1 (en) * 2006-05-18 2008-02-28 Jeff Webster System and Method for Monitoring a User's Online Activity
US9602613B2 (en) * 2006-08-03 2017-03-21 Flash Networks, Ltd Method and system for accelerating browsing sessions
US20080040473A1 (en) 2006-08-14 2008-02-14 Microsoft Corporation Enabling web analytics for interactive web applications
US7765295B2 (en) * 2006-10-25 2010-07-27 Compuware Corporation Methods and apparatus for real user monitoring
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
US20080120548A1 (en) * 2006-11-22 2008-05-22 Mark Morita System And Method For Processing User Interaction Information From Multiple Media Sources
US8024400B2 (en) * 2007-09-26 2011-09-20 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US7840523B2 (en) * 2007-03-09 2010-11-23 Yahoo! Inc. Method and system for time-sliced aggregation of data that monitors user interactions with a web page
US8042055B2 (en) * 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions

Also Published As

Publication number Publication date
IL208705A0 (en) 2010-12-30
IL244271A0 (en) 2016-04-21
US9418172B2 (en) 2016-08-16
US20100095208A1 (en) 2010-04-15
WO2009139994A2 (en) 2009-11-19
EP2291745A2 (en) 2011-03-09
EP2291745B1 (en) 2013-07-03
EP2650790A1 (en) 2013-10-16
WO2009139994A3 (en) 2010-01-21
IL255821A (en) 2018-02-28
HK1155531A1 (en) 2012-05-18
DK2291745T3 (da) 2013-08-19
EP2650790B1 (en) 2015-09-16
ES2423313T3 (es) 2013-09-19
IL255821B (en) 2020-01-30
IL244271A (en) 2017-11-30
IL208705A (en) 2016-03-31

Similar Documents

Publication Publication Date Title
ES2555291T3 (es) Método para el seguimiento remoto y la reproducción de la interacción de un usuario con una página web
US20190146616A1 (en) Systems And Methods For Remote Tracking And Replay Of User Interaction With A Webpage
JP5443513B2 (ja) ドメインにわたりクッキーを処理する方法およびシステム
US9235451B2 (en) Browser kernel switching method
US8843816B2 (en) Document collaboration by transforming and reflecting a document object model
US20090187825A1 (en) Annotating and Sharing Content
KR20090038894A (ko) 인터렉티브 웹 어플리케이션에 대한 웹 분석을 가능하게 하는 사용자-상호작용 추적 방법 및 그 방법을 수행하기 위한 컴퓨터-판독가능 매체
US20070006065A1 (en) Conditional event timing for interactive multimedia presentations
US20170185368A1 (en) Systems and methods for enabling replay of internet co-browsing
US20110119602A1 (en) Web server, web browser and web system
CN112074813A (zh) 捕获并处理与原生应用的用户界面的交互
US10629242B2 (en) Recording user activity on a computer
CN112148571A (zh) 一种网页操作过程记录与回放的方法及装置
TW561397B (en) A browser rewind and replay feature for transient messages wherein the messages are stored automatically when they are initially rendered and replayed when selected
US20130036374A1 (en) Method and apparatus for providing a banner on a website
US11711223B1 (en) Protecting user privacy in playback of user sessions
US20100082832A1 (en) Stream logging output via web browser
JP6199961B2 (ja) ネットワーク・ナビゲーションを管理するためのシステムおよび方法
JP2009087034A (ja) 仮想空間提供システム、仮想空間提供サーバ、仮想空間提供方法及び仮想空間提供プログラム
JP2009059091A (ja) 仮想空間提供システム、仮想空間提供サーバ、仮想空間提供方法及び仮想空間提供プログラム
US20070006062A1 (en) Synchronization aspects of interactive multimedia presentation management
JACOBS An Augmented Reality Museum Guide
JP2004310771A (ja) ディジタルコンテンツの行為を再生、編集、記録するシステム及びその方法
US10051300B1 (en) Multimedia progress tracker
CN115905661A (zh) 一种网页数据的自动爬取方法和装置、计算机设备和介质