ES2272529T3 - Sistema de metodo para captar sesiones de navegacion y acciones de usuario. - Google Patents

Sistema de metodo para captar sesiones de navegacion y acciones de usuario. Download PDF

Info

Publication number
ES2272529T3
ES2272529T3 ES01963348T ES01963348T ES2272529T3 ES 2272529 T3 ES2272529 T3 ES 2272529T3 ES 01963348 T ES01963348 T ES 01963348T ES 01963348 T ES01963348 T ES 01963348T ES 2272529 T3 ES2272529 T3 ES 2272529T3
Authority
ES
Spain
Prior art keywords
user
data
device
event
storage
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
ES01963348T
Other languages
English (en)
Inventor
Itay Grushka
Omri Hayner
Ilan Yosef
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.)
NICE Ltd
Original Assignee
NICE Ltd
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
Priority to US22747800P priority Critical
Priority to US227478P priority
Application filed by NICE Ltd filed Critical NICE Ltd
Application granted granted Critical
Publication of ES2272529T3 publication Critical patent/ES2272529T3/es
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Abstract

Método para recoger datos relativos a una sesión de usuario interactiva en una red, que comprende: determinar el establecimiento de dicha sesión de usuario interactiva; detectar y captar mediante un dispositivo computador de usuario, a través de funciones nativas del sistema operativo de dicho dispositivo computador de usuario las acciones del dispositivo de entrada del usuario de un determinado usuario y las reacciones de la interfaz del usuario de dicha sesión de usuario interactiva; separar dicha acción del dispositivo de entrada del usuario y dicha reacción de la interfaz de usuario como mínimo en un evento y datos asociados, conformando dichos datos asociados los parámetros para dicho evento o eventos; y enviar dicho evento o eventos y datos asociados a través de un cortafuegos externo de una DMZ (zona desmilitarizada) que comprende un cortafuegos interno y dicho cortafuegos externo, para almacenamiento en asociación con un servidor intermedio accesible para el usuario dentro de dichaDMZ, de modo que dichos datos pueden ser recuperados desde dentro de dicho cortafuegos interno mediante un dispositivo computador de almacenamiento, comprendiendo dicha asociación una organización de dicho evento o eventos y datos asociados de manera de permitir una reconstrucción remota de dicha sesión de usuario interactiva, comprendiendo dicha reconstrucción tanto la acción del dispositivo de entrada del usuario como dicha reacción de la interfaz del usuario, estando compuesta dicha reconstrucción por dicho evento o eventos y datos asociados.

Description

Sistema y método para captar sesiones de navegador y acciones de usuario.

Sector de la invención

La presente invención se refiere a un sistema y a un método para captar acciones de usuario, sesiones de navegador, y en particular, para un sistema y un método en los que son captadas las actividades del dispositivo de entrada del usuario y las respuestas de la interfaz de usuario.

Antecedentes de la invención

Internet, así como otras redes locales u otro tipo de redes restringidas tales como las intranets, es utilizada de manera creciente para proporcionar experiencias interactivas a los usuarios de ordenadores. Por ejemplo, en lugar de proporcionar páginas Web estáticas a los usuarios, se pones a disposición a través de los sitios web o aplicaciones web experiencias interactivas, tales como los "chats" o capacidades de mensajería en tiempo real, funciones de videoconferencia y/o audioconferencia y otras interacciones con el usuario. Estas funciones sofisticadas de manera creciente permiten que el usuario interactúe con un operador en el sitio web y/u otros usuarios de manera
realista.

El deseo de disminuir los costes de soporte técnica y/u otros tipos de atención al cliente, así como aumentar la disponibilidad de dichos servicios, ha conducido a un rápido y marceado crecimiento de las actividades de "trade floor" (parqué o sala de operaciones) y "call center" (central de llamadas) a través de dichas aplicaciones/sitios web y/u otros tipos de funciones de red. Sin embargo, estos agentes humanos deben ser monitoreados con respecto a sus interacciones con los usuarios, a efectos de proporcionar una garantía de calidad (QA) apropiada para dichos agentes y servicios.

Este cambio hacia el suministro de servicios de atención al cliente a través de sitios web en Internet y/u otros tipos de redes establece la necesidad de tecnología y herramientas de garantía de calidad, que permiten a los operadores de sitios web y a los encargados del centro de (contacto) atención al cliente comprender las necesidades de los usuarios como clientes, y garantizar la calidad de rendimiento de sus sitios web y sus servicios de red.

Por otro lado, los usuarios de dichos sitios web también están llevando a cabo una creciente cantidad de acciones en la web, tales como compras, ventas e introduciendo información en distintos formularios. En la actualidad, el único mecanismo para logra dichas acciones es imprimir copias en papel de cada página web, o guardar páginas web individuales sin tener en cuenta la secuencia de acciones que produjeron dichas paginas web. Además, para las comunicaciones en "tiempo real", tales como las funciones de chat o conversación por mensajería instantánea, la tecnología de navegación web actualmente disponibles no permite ningún mecanismo apropiado para guardar datos relacionada con la conversación real. Por lo tanto, ni los usuarios de dichos sitios web (usuarios finales) ni los operadores de dichos sitios web tienen, en la actualidad, herramientas útiles para recoger información acerca de las sesiones interactivas entre el usuario y el sitio web.

El documento de Sastry, Ch. y otros: "Webtour: a system to record and playback dynamic multimedia annotations on web document content" ("Webtour: un sistema para grabar y reproducir anotaciones dinámicas multimedia sobre contenidos de documentos web"), ACM MULTIMEDIA, PROCEEDINGS OF THE INTERNATIONAL CONFERENCE, NUEVA YORK, Octubre 1999, páginas 175-178, XP002175313, se refiere a un sistema para grabar, reproducir, almacenar, buscar, y distribuir anotaciones multimedia, dinámicas y personalizadas sobre documentos web con forma de visitas guiadas de la web.

El documento de Al-Qaimari, G. y otros: "KALDI: a computer-aided usability engineering tool for supporting testing and analysis of human-computer interaction" ("KALDI: herramienta de ingeniería asistida por ordenador para pruebas y análisis de interacciones entre seres humanos y ordenador"), PROCEEDINGS OR CADUI'99: INTERNATIONAL EUROCONFERENCE ON COMPUTER-AIDED DESIGN OF USER INTERFACES; LOUVAI, páginas 337-355, XP008014033, se refiere a una herramienta llamada KALDI, que está estrechamente integrada con el conjunto de herramientas gráficas Java y utiliza sólo técnicas de software para registrar acciones de usuario precisas así como captar una grabación de tipo vídeo de la interfaz de usuario que está en proceso de
prueba.

El documento de Kishi, N.: "SimUI: Graphical User Interface Evaluation", IEEE COMP. SOC. PRESS, 21 de septiembre de 1992, páginas 121-127, se refiere a un conjunto de herramientas para evaluar diseños de interfaz gráfica de usuario durante el desarrollo del software. Dichas herramientas registran las operaciones realizadas con el ratón y el teclado por los usuarios y las comparan para detectar problemas de utilización potenciales.

El documento de Mrkor, K.-U.: "Nachgehakt, Windows-Nachrichten filtern mit Hook-Funktionen", CT MAGAZIN, 1 de marzo de 1999, vol. nº 5, páginas 272-274, 276, 278, 280-281, se refiere a métodos para filtrar mensajes de ventana con "funciones de gancho".

Características de la invención

La técnica anterior no da a conocer ni sugiere una solución para el problema de recoger información acerca de una sesión interactiva dentro de una red de comunicaciones. La técnica anterior tampoco da a conocer ni sugiere una solución para el problema de lograr sesiones de sitio web. Además, la técnica anterior no da a conocer ni sugiere una solución para el problema de la garantía de calidad/control de calidad para interacciones entre un usuario y un agente a través de un sitio web y/u otro tipo de interacciones de red.

La presente invención supera dichos problemas de la técnica anterior dando a conocer un sistema y un método para recoger datos con respecto a las acciones del usuario durante una sesión interactiva dentro de una red. La presente invención describe un cliente que es operado por un dispositivo de computación del usuario, y que recoge información acerca de las acciones del dispositivo de entrada del usuario y reacciones que son visualizadas a través de la interfaz de usuario. De manera preferente, la interfaz de usuario es GUI (interfaz de usuario gráfica), pero de manera opcional y de manera más preferente es una interfaz de navegador web. De manera alternativa, la interfaz de usuario es cualquier tipo de interfaz que quede alterada al recibir entradas del usuario a través de un dispositivo de entrada de usuario.

De manera preferente, el cliente recoge estos distintos tipos de datos y luego envía dichos datos que serán almacenados en una base de datos central. De manera opcional y preferente, los datos son organizados de acuerdo con una estructura particular antes de ser almacenados en la base de datos. También de manera opcional, dicha organización de datos es llevada a cabo por el cliente, de modo que los datos son organizados en un mensaje que es enviado al dispositivo de computación de almacenamiento que opera la base de datos. De manera alternativa, los datos son enviados al dispositivo de computación de almacenamiento antes de ser organizados de acuerdo con la estructura final, de modo que el dispositivo computador de almacenamiento y/o una tercera entidad lleva a cabo la organización de acuerdo con la estructura de almacenamiento.

De acuerdo con la realización de la presente invención, el cliente está fuera de una red de organización, de modo que los datos recogidos deben pasar a través de un cortafuegos o "firewall". De manera preferente, los datos recogidos son enviados a un servidor proxy antes de entrar en la red de organización. De manera más preferente, dicho servidor proxy está localizado en la DMZ (zona desmilitarizada) entre un cortafuegos externo y un cortafuegos interno, de modo que el cliente no puede acceder de manera directa a un dispositivo computador dentro de la red de organización. Por el contrario, el servidor proxy procesa como mínimo de manera parcial los datos recogidos, que entonces pueden ser recuperados por el dispositivo computador de almacenamiento desde dentro del cortafuegos interno para almacenamiento en la base de datos.

La presente invención es apropiada para interactuar substancialmente con cualquier tipo de dispositivo de entrada de usuario. Ejemplos de dichos dispositivos de entrada de usuario incluyen, pero no están limitados a, dispositivos de puntero tales como, por ejemplo, un ratón; un teclado y/o botonera; escritura manuscrita y/o entrada basada en estilos; o cualquier tipo de mecanismo que pueda ser controlado como mínimo de manera parcial por el usuario.

A continuación, el término "botonera" se refiere a cualquier teclado en el que como mínimo una tecla o botón presenta una serie de caracteres alfanuméricos y/o partes de símbolos, que también puede ser denominado "botonera reducida". Un ejemplo no limitativo de este tipo de botonera es encontrada de forma típica en los teléfonos móviles, para entrar caracteres numéricos y/o alfanuméricos, y/o partes de símbolos para idiomas que un sistema de escritura ideográfica.

Entre los ejemplos de aplicaciones apropiadas para la implementación con la presente invención se incluyen, pero no están limitados a los mismos, el análisis de las acciones de los usuarios en un sitio web con respecto a los operadores del sitio web, por ejemplo, para otorgar garantías de calidad; y lograr sesiones interactivas de un usuario con un sitio web con sus propios propósitos.

A continuación, el término "dispositivo computador" se refiere a cualquier tipo de sistema de hardware informático y/o cualquier tipo de sistema de software operativo, o teléfonos móviles o cualquier tipo de dispositivo manual tal como una PDA (asistente de datos personal), y además cualquier tipo de dispositivo que tenga un procesador de datos y/o cualquier tipo de microprocesador, o cualquier tipo de dispositivo que sea capaz de llevar a cabo cualquier función de un ordenador.

Para la presente invención, una aplicación o programa de software podría estar escrita substancialmente en cualquier lenguaje de programación, que podría ser seleccionado manera sencilla por una persona especializada en la técnica. El lenguaje de programación elegido debe ser compatible con el dispositivo computador de acuerdo con el que es ejecutada la aplicación de software. Ejemplos de lenguajes de programación apropiados se incluyen, pero no están limitados a, Delphi, C#, C, C++ y Java.

A continuación, el término "navegador web" se refiere a cualquier programa software que pueda visualizar texto, gráficos, o ambos, de las páginas web de sitios de la Word Wide Web. A continuación, el término "página web" se refiere a cualquier documento escrito en un lenguaje de marcas incluyendo, pero sin estar limitado a, HTML (lenguaje de marcas de hipertexto) o VRML (lenguaje para modelado de realidad virtual), HTML dinámico, XML (lenguaje de marcas extendido) o lenguajes de programación relacionados con los mismos, como también cualquier recolección de este tipo de documentos accesibles a través de una dirección de Internet específica o en un sitio World Wide Web específico, o cualquier documento obtenible a través de un URL particular (localizador uniforme de recursos). A continuación, el término "sitio web" se refiere como mínimo a una página web, y de manera preferente a una serie de páginas web, conectadas de manera virtual para conformar un grupo coherente. A continuación, el término "servidor web" se refiere a un ordenador u otro dispositivo electrónico que sea capaz de enviar archivos y datos de acuerdo con el protocolo HTTP a un navegador web.

A continuación, el término "applet" (o "pequeña aplicación") se refiere a un módulo de software autocontenido, escrito en un lenguaje para applets, tal como, por ejemplo, Java o construido como un control ActiveX^{TM}. A continuación, el término "cliente" se refiere a cualquier tipo de programa de software y/o código y/u otras instrucciones, que son operadas y/o llevadas a cabo por el dispositivo computador del usuario.

A continuación, el término "red" se refiere a una conexión entre dos o más ordenadores cualesquiera, que permite la transmisión de datos.

A continuación, la frase "visualizar una página Web" incluye todas las acciones necesarias para interpretar como mínimo una parte de la información de la página Web disponible para el usuario de un ordenador. Como tal, la frase incluye la presentación visual estática de información gráfica estática, la reproducción sonora de información de audio, la presentación visual animada de animaciones y la presentación visual de datos de transmisión de vídeo, pero no está limitada a las mismas.

A continuación, el término "usuario" se refiere a la persona que utiliza el navegador Web u otra interfaz GUI e interactúa con el sistema de la presente invención utilizando un dispositivo computador.

Breve descripción de los dibujos

La presente invención se describe en el presente documento, sólo a modo de ejemplo, haciendo referencia a los dibujos acompañantes, en lo que:

la figura 1 es un diagrama de bloques esquemático de de un sistema, dado a modo de ejemplo, de acuerdo con la presente invención;

las figuras 2A y 2B son diagramas de flujo de métodos, dados a modo de ejemplo, para captar datos de acuerdo con la presente invención;

la figura 3 es un diagrama de flujo de un método, dado a modo de ejemplo, para reproducir datos de acuerdo con la presente invención; y

la figura 4 es un diagrama de bloques esquemático de un segundo sistema, dado a modo de ejemplo, de acuerdo con la presente invención.

Descripción de las realizaciones preferentes

La presente invención da a conocer un sistema y un método para recogida de datos referentes a las acciones de un usuario durante una sesión interactiva en una red. La presente invención describe un cliente que es operado por el dispositivo computador del usuario, y que recoge información acerca de las acciones del dispositivo de entrada del usuario y reacciones que son visualizadas a través de la interfaz de usuario. De manera preferente, la interfaz de usuario es de tipo GUI (interfaz gráfica de usuario), pero, de manera opcional y más preferente, es una interfaz de navegador Web. De manera alternativa, la interfaz de usuario es cualquier tipo de interfaz que resulta alterada por la recepción de datos de entrada de usuario a través del dispositivo de entrada del usuario.

De manera preferente, el cliente recoge estos distintos tipos de datos y luego, de manera más preferente, envía los datos que serán almacenados en una base de datos central. De manera opcional y preferente, los datos son organizados de acuerdo con una estructura particular antes de ser almacenados en la base de datos. También de manera opcional, dicha organización de los datos es llevada a cabo por el cliente, de modo que los datos son organizados en un mensaje que es enviado al dispositivo computador de almacenamiento que opera la base de datos. De manera alternativa, los datos son enviados al dispositivo computador de almacenamiento antes de ser organizados de acuerdo con la estructura final, de modo que el dispositivo computador de almacenamiento y/o una tercera entidad lleva a cabo la organización de acuerdo con la estructura de almacenamiento.

De acuerdo con la realización de la presente invención, el cliente está fuera de una red de organización (Intranet o VPN (red privada virtual)), de modo que los datos recogidos deben pasar como mínimo a través de un cortafuegos. De manera preferente, los datos recogidos son enviados a un servidor proxy antes de entrar en la red de organización. De manera más preferente, dicho servidor proxy está localizado en la DMZ (zona desmilitarizada) entre un lado exterior y un lado interior de la DMZ, de modo que el cliente no puede acceder de forma directa a un dispositivo computador dentro de la red de organización. En cambio, el servidor proxy procesa como mínimo de manera parcial los datos recogidos, que entonces pueden ser recuperados de manera opcional por el dispositivo computador de almacenamiento desde dentro del cortafuegos interno para almacenamiento en la base de datos.

La presente invención es apropiada para interactuar substancialmente con cualquier tipo de dispositivo de entrada de usuario. Entre los ejemplos de dichos dispositivos de entrada de usuario se incluyen, pero no están limitados a, un dispositivo puntero tal como, por ejemplo, un ratón; un teclado y/o botonera; escritura manuscrita y/o entrada basada en estilos; o cualquier tipo de mecanismo que pueda ser controlado como mínimo de manera parcial por el usuario.

Además, la presente invención es útil para la recogida de datos substancialmente acerca de cualquier tipo de función de interfaz de usuario. Entre los ejemplos de dichas funciones de interfaz se incluyen, pero no están limitadas a ellos, cualquier tipo de actividad de ventana GUI; actividad con dispositivos GUI tales como botones, barras de desplazamiento o cualquier función proporcionada a través de una ventana GUI; la visualización de cualquier imagen y/o texto, incluyendo, sin estar limitada a, páginas Web y/o cualquier componente de las mismas; información proporcionada a través de una interfaz sonora tal como una voz sintetizada; información proporcionada a través de la visualización de datos de vídeo; y cualquier tipo de información que es proporcionada a través del sistema operativo del dispositivo computador del usuario, o que puede ser detectada por el mismo.

Los principios y el funcionamiento del método de acuerdo con la presente invención pueden ser comprendidos de mejor manera haciendo referencia a los dibujos y la descripción acompañantes. Debe notarse que la presente invención es descrita haciendo referencia a navegadores Web por razones de claridad solamente y sin intención alguna de constituir una limitación de la presente invención.

Haciendo referencia a continuación a los dibujos, la figura 1 muestra un sistema (10) a modo de ejemplo para recogida de datos con respecto a las acciones del usuario. Un usuario interactúa con un navegador Web (12) que es operado por un dispositivo computador del usuario (14). Dichas interacciones pueden incluir de manera opcional, pero no estar limitadas a, acciones del dispositivo de entrada del usuario, visualización de páginas Web y cualquier tipo de actividades GUI (interfaz gráfica de usuario). Como tales, dichas interacciones incluyen preferentemente ambas acciones de usuario, tal como introducir a través del teclado y/o "cliqueando" o seleccionando de algún otro modo un dispositivo GUI a través del dispositivo puntero; y reacciones a dichas acciones del usuario, tales como la visualización de una página Web, por ejemplo. Dichas interacciones son recogidas de manera preferente por un cliente (16) que es operado por el dispositivo computador del usuario (14).

Dicho cliente (16) está implementado de manera opcional como un applet, tal como, por ejemplo, un applet Java o un control ActiveX^{TM} (el navegador Web (12) conforma el contenedor); o de manera alternativa como una aplicación de software. De manera opcional, el control ActiveX^{TM} y la aplicación de software pueden utilizar la interfaz COM del navegador Web o llevar a cabo una acción de enganche en el OS, a efectos de captar la acción del usuario y buscar en la capa de red a efectos de captar las sesiones de navegador Web.

El dispositivo computador del usuario (14) está conectado a una red (18). La red (18) puede ser Internet, por ejemplo, tal como se muestra con respecto a la realización del sistema (10) en la figura 1. El dispositivo computador del usuario (14) es capaz de comunicar, de manera directa o indirecta, con un dispositivo computador de almacenamiento (20) para transmitir los datos recogidos por dicho cliente (16). De manera preferente, el dispositivo computador de almacenamiento (20) es capaz de operar una base de datos (22) para almacenar los datos recogidos.

De acuerdo con una realización preferente de la presente invención, dada a modo de ejemplo, el dispositivo computador de almacenamiento (20) organiza los datos de acuerdo con una estructura particular antes de que los datos sean almacenados en la base de datos (22). De manera alternativa, dicha organización pude ser llevada a cabo de manera opcional por el cliente (16) antes de la transmisión al dispositivo computador de almacenamiento (20). En cualquier caso, dicha organización incluye de manera preferente la descomposición de los datos captados en una serie de componentes. De manera más preferente, dicha organización incluye la introducción de tipos específicos de datos en campos particulares, de modo que cada tipo de evento tiene dato relacionados para entrar en dichos campos.

De manera opcional y más preferente, el cliente (16) es capaz de detectar substancialmente cualquier tipo de actividad de los dispositivos de entrada del usuario incluyendo, pero sin estar limitado a, actividades del dispositivo puntero tales como acciones de "cliqueado" o seleccionado de otro modo un dispositivo GUI o cualquier otra parte de la GUI, por ejemplo, con un ratón. Otros tipos de actividades para las que los datos pueden ser recogidos incluyen la detección de pulsaciones del teclado y/o botonera, y también información entrada de manera manuscrita o basada en estilos. Además, de manera opcional se pueden recoger entradas de voz, y también entradas de cualquier tipo de mecanismo que pueda ser controlado como mínimo de manera parcial por el usuario.

Además, la presente invención es útil para la recolección de datos substancialmente acerca de cualquier tipo de función de interfaz del usuario. Entre los ejemplos de dichas funciones de interfaz del usuario se incluyen, pero no están limitadas a, cualquier tipo de actividad de ventana GUI; actividad con dispositivos GUI tales como botones, barras de desplazamiento o cualquier función proporcionada a través de una ventana GUI; la visualización de cualquier imagen y/o texto, incluyendo pero no estando limitada a páginas Web y/o cualquier componente de las mismas; información proporcionada a través de una interfaz sonora tal como una voz sintetizada; información proporcionada a través de la visualización de datos de vídeo; y cualquier tipo de información que es proporcionada a través de, o que puede ser detectada por, el sistema operativo del dispositivo computador del usuario (14). Ejemplos de actividades de ventana GUI incluyen, pero no están limitadas a, desplazamientos a través de la ventana, y datos acerca de la ventana activa y sus propiedades, tales como tamaño, posición y demás características.

De manera preferente, el cliente (16) es capaz de filtrar los datos recogidos, de manera más preferente a efectos de separar los datos recogidos en componentes para la transmisión al dispositivo computador de almacenamiento (20). Además, de manera preferente el cliente (16) también recoge y transmite información de sincronización al dispositivo computador de almacenamiento (20), tal como, por ejemplo, una marca de tiempo, a efectos de que el dispositivo computador de almacenamiento (20) sea capaz de sincronizar los distintos tipos de eventos y datos asociados.

De manera más preferente, el dispositivo computador de almacenamiento (20) capta cada acción del usuario y cada reacción de la interfaz del usuario como eventos separados, mientras que los datos asociados son almacenados como parámetros para dicho evento. Por lo tanto, el dispositivo computador de almacenamiento (20) no capta de manera más preferente una imagen instantánea de la pantalla como un mapa de bits u otro tipo de imagen. En cambio, de manera preferente los metadatos son captados y organizados. De manera más preferente, sólo son captados los metadatos. Por ejemplo, una página Web podría ser captada de manera opcional como código HTML y una o más imágenes, de modo que dicha página Web pudiera ser reconstruida, pero resulta más preferente que no sea captada como una sola imagen completa.

De manera más preferente, el dispositivo computador de almacenamiento (20) es capaz de organizar y visualizar los datos almacenados a efectos de ser capaz de reconstruir la sesión interactiva con el usuario. De la manera más preferente, el dispositivo computador de almacenamiento (20) es capaz de proporcionar dichos datos organizados de modo que es posible reproducir la sesión interactiva. De manera opcional y más preferente, la sesión interactiva puede ser reproducida en cualquier navegador Web, dado que los datos de reconstrucción son proporcionados de manera más preferente en un formato que es apropiado para ser reproducido por cualquier navegador Web. Para esta realización preferente, los datos son almacenados como una serie de eventos, para lo cual los datos almacenados en el campo o campos conforman los parámetros de cada evento, de modo que el navegador Web puede ser utilizado de manera opcional para "leer" los datos evento por evento, para repetir la sesión interactiva.

Un cliente de visualización distinto (no mostrado) puede ser suministrado de manera opcional para visualizar los eventos y de este modo reproducir la sesión. De manera alternativa, el cliente (16) puede ser utilizado de manera opcional para reproducir la sesión. Dicho cliente de visualización podría ser implementado de manera opcional como un control ActiveX, que preferentemente se conecta con el dispositivo computador de almacenamiento (20) y recupera datos del mismo. Dicho control ActiveX separaría de manera opcional los datos HTML de los eventos, enviaría las páginas HTML a un componente del navegador Web del cliente de visualización, y luego simularía los eventos del usuario de manera sincronizada con las páginas HTML. La reproducción de las sesiones basadas en la Web podría llevarse a cabo de manera opcional utilizando un nombre de usuario y una palabra clave para conectarse con el dispositivo computador de almacenamiento (20).

De acuerdo con la realización de la presente invención, las acciones del dispositivo de entrada del usuario y las reacciones de la interfaz del usuario son captadas a través del sistema operativo del dispositivo computador del usuario (14). Un ejemplo de un método de captación de este tipo de datos es descrito a continuación haciendo referencia al sistema operativo Windows^{TM} (Microsoft Inc., USA), dando por comprendido que es sólo un ejemplo ilustrativo y que no tiene carácter limitativo alguno. Las llamadas API y las funciones WIN32 que están siendo utilizadas son funciones nativas del sistema operativo que son soportadas por todos los entornos de sistema operativo
Windows^{TM}.

Para cada instancia de ejecución del Microsoft Internet Explorer, como un ejemplo del navegador Web (12), se establece una función de gancho a efectos de captar las pulsaciones en el teclado y los movimientos y clicks del ratón. Los datos captados son colocados en un archivo binario con una estructura que contiene los detalles relativos a la actividad y la marca de tiempo de la operación. Dichas acciones de captación se producen de manera preferente sólo después de que la página Web ha sido cargada completamente por el navegador Web (12).

La función de gancho para teclados es implementada de manera opcional y preferente llamando a la función Win32 "SetWindowsHookEx" con el conjunto de parámetros WH_GETMESSAGE. La función de gancho para el ratón es implementada de manera opcional y preferente llamando a la función Win32 "SetWindowsHookEx" con el conjunto de parámetros WH_MOUSE.

De manera preferente, el procedimiento de rellamada automática o "callback" del teclado recibe todas las acciones de navegación del teclado (y otros mensajes de ventana), que luego espera para el siguiente mensaje de ventana, que es WM_SYSKEYDOWN; WM_KEYDOWN; WM_SYSKEYUP; o WM_KEYUP. Cada uno de dichos mensajes contiene datos acerca de la tecla que fue presionada y cuál fue la ventana que recibió el carácter. Mediante la detección y captación de dichos mensajes, se reconoce el carácter, así como el lugar en el que escribió el usuario. Las diferencias entre SYSKEY y KEY es que los comandos SYSKEY contienen información acerca de las teclas de sistemas CRTL, SHIFT, etc.

Para el procedimiento de rellamada automática del ratón, de manera preferente todas las acciones de navegación del ratón son enviadas a dicho rellamada automática que espera las siguientes mensajes de ventana, que es preferentemente uno de los siguientes mensajes: WM_MOUSEMOVE; WM_LBUTTONDOWN; WM_LBUTTONUP; WM_MOUSEWHEEL; WM_RBUTTONDOWN; WM_RBUTTONUP; WM_MBUTTONDOWN;
WM_MBUTTONUP; ó WM_LBUTTONDBLCLK.

Los datos captados son entonces almacenados preferentemente de acuerdo con una estructura de organización particular tal como ha sido descrito previamente. Por ejemplo, la estructura de eventos de ratón incluye de manera preferente los siguientes campos: _timeb now; DWORD dwFlags; DWORD dx; DWORD dy; DWORD dwData; y LPARAM dwExtraInfo. La estructura de eventos de teclado incluye de manera preferente los siguientes campos: timeb now; BYTE bVk; BYTE bScan; DWORD dwFlags; y LPARAM dwExtraInfo. Éstas son estructuras de Win32 estándar que guardan datos acerca de los eventos del ratón. Esta estructura se describe en la documentación de Win32 de Microsoft.

Con la finalidad de repetir la sesión y/o reproducir de algún otro modo los datos almacenados, de manera preferente para cada instancia de ejecución del Internet Explorer (tomado como ejemplo del navegador Web (12)), después de que la página Web ha sido cargada, puede utilizarse de manera preferente un archivo de gancho relacionado con dicha página Web. Los datos reproducidos son obtenidos preferentemente del archivo tal como fue registrado por el componente de captación y que contiene la estructura descrita anteriormente. Las marcas de tiempo que fueron introducidas en la etapa de grabación son utilizadas de manera preferente para sincronizar la operación de reproducción. Cada evento almacenado contiene información acerca de la acción ocurrida correspondiente. Por ejemplo, un evento de ratón describe la posición del ratón en la pantalla y si fue realizada o no una acción, tal como, por ejemplo, si fue presionado el botón izquierdo del ratón. Si se coloca una marca de tiempo en cada evento en la etapa de captación, dichos eventos pueden ser simulados (reproducidos) de acuerdo con el intervalo de tiempo que transcurrió entre un evento y el siguiente, tal como queda determinado por las marcas de tiempo.

A efectos de controlar las funciones del ratón y del teclado del dispositivo computador utilizado para reproducir o visualizar los datos almacenados, se utilizan de manera preferente las siguientes funciones API: mouse_event: hace funcionar el ratón como si el usuario final lo estuviera accionando; keybd_event: hace funcionar el teclado como si el usuario final lo estuviera accionando.

Volviendo a la figura 1, de acuerdo con la realización de la presente invención, el dispositivo computador de almacenamiento (20) y la base de datos (22) están separados de manera preferente del dispositivo computador del usuario (14) y las funciones relacionadas. De manera más preferente, dicha separación es llevada a cabo como mínimo con un cortafuegos (24). De acuerdo con la realización mostrada, se utilizan dos cortafuegos (24), un primer cortafuegos externo (24) para producir una separación entre una entidad de organización (26) y la red (18); y un segundo cortafuegos interno (24) para producir una separación entre una DMZ (28) y el resto de la entidad de organización (26). De manera preferente, la DMZ (28) contiene un servidor de registro (30) que recibe los datos del dispositivo computador de usuario (14) y para organizar de manera opcional dichos datos, y un servidor Web (32). En esta implementación preferente, el dispositivo computador de almacenamiento (20) obtendrá los datos recibidos del servidor de registro (30).

La figura 2 muestra un diagrama de flujo de un método, dado a modo de ejemplo, para recogida de datos de acuerdo con la presente invención. Este método está dividido en dos partes sólo para clarificar la explicación: la figura 2A muestra la parte de captación del método, mientras que la figura 2B muestra la parte de almacenamiento de dicho método.

Tal como se muestra en la figura 2A, de manera preferente en la etapa 1, el usuario se conecta mediante el navegador Web con el sitio Web solicitado de acuerdo con la URL del sitio Web. De manera opcional y más preferente, el sitio Web es servido por el servidor Web de la entidad de organización de la figura 1, a pesar de que esto no es necesario. En la etapa 2, de manera preferente un servidor de algún tipo, operado a través del servidor Web o proporcionado de algún otro modo, determina si el cliente de la figura 1 está instalado o no en el dispositivo computador del usuario. En caso negativo, entonces se descarga el cliente. De lo contrario, en la etapa 3, el cliente se conecta de manera preferente con un servidor de registro en el puerto 80. De manera opcional, el servidor de registro puede ser el dispositivo computador de almacenamiento de la figura 1.

En la etapa 4, el cliente determina si ha sido establecida o no una sesión entre el dispositivo computador del usuario y el servidor Web que está siendo monitorizado. Si dicha sesión no ha sido establecida y/o se ha interrumpido, entonces de manera preferente el cliente se desconecta del servidor de registro. De lo contrario, en la etapa 5, las acciones del usuario y las reacciones GUI (tales como las páginas Web visualizadas, por ejemplo) son captadas de manera preferente; se construyen los mensajes; y se añade una marca de tiempo. En la etapa 6, los datos captados son enviados por el cliente al servidor de registro. Las etapas 5 y 6 son repetidas de manera opcional como mínimo una vez más, y de manera más preferente son repetidas hasta que la sesión ha terminado.

La figura 2B muestra un método de archivamiento, dado a modo de ejemplo, de acuerdo con la presente invención. El servidor de registro espera en el puerto 80 la entrada de datos en la etapa 1, preferentemente con forma de mensajes tal como ha sido descrito anteriormente. Además, tal como ha sido descrito previamente, el servidor de registro puede ser de manera opcional el dispositivo computador de almacenamiento de la figura 1. Sin embargo, si el servidor de registro es distinto al dispositivo computador de almacenamiento de la figura 1, en la etapa 2, de manera más preferente el servidor de registro se conecta con el dispositivo computador de almacenamiento.

En la etapa 3, el servidor de registro determina si han llegado o no datos nuevos. Si no han llegado datos nuevos, preferentemente el servidor de registro espera. De lo contrario, el servidor de registro determina de manera preferente si se ha recibido o no una solicitud para iniciar la grabación de una sesión en la etapa 4. Si dicha solicitud ha sido recibida, entonces en la etapa 5 el servidor de registro inserta de manera preferente datos en memoria de captación, de modo que el servidor de registro conserva los datos recibidos en una memoria de almacenamiento temporario, o memoria de "captación".

En la etapa 6, el dispositivo computador de almacenamiento determina de manera preferente si los datos pueden ser extraídos o no del servidor de registro. Si estos datos están disponibles en la memoria de captación del servidor de registro, entonces el dispositivo de computación de almacenamiento recupera y almacena de manera preferente los datos en la base de datos, en la etapa 7. Este proceso es repetido de manera opcional, preferentemente tantas veces como sean necesarias para recuperar todos los datos recibidos.

La figura 3 muestra un método, dado a modo de ejemplo, para reproducir datos de acuerdo con la presente invención. Tal como se muestra en la etapa 1, de manera preferente el usuario utiliza un navegador Web para conectarse con la dirección (URL) del servidor de registro, que, en este ejemplo, está funcionando como servidor de reproducción. En la etapa 2, el servidor de registro determina si el cliente de reproducción está instalado o no en el dispositivo computador del usuario, para la reproducción de los datos captados. En caso negativo, y si el usuario está autorizado, entonces el cliente de reproducción es descargado de manera preferente.

En la etapa 3, una vez que el cliente de reproducción está disponible, entonces el usuario selecciona una sesión basada en Web para la reproducción. En la etapa 4, el cliente de reproducción se conecta con el servidor de registro, por ejemplo, a través del puerto 80. En la etapa 5, el servidor de registro notifica de manera opcional al dispositivo computador de almacenamiento, si los dos servidores son componentes distintos, y entonces espera la recepción de datos.

En cualquier caso, el servidor de registro envía los datos al cliente de reproducción en la etapa 6. En la etapa 7, el cliente de reproducción comprueba de manera preferente el estado de los datos. Si no existen datos, entonces el cliente de reproducción se desconecta de manera preferente del servidor de registro, y de manera más preferente determina además si existe o no una sesión aún presente. De lo contrario, en la etapa 8, el cliente de reproducción envía de manera preferente páginas Web al navegador Web del dispositivo computador del usuario y reproduce los datos para simular las acciones previamente realizadas por el usuario para reproducir la sesión.

Los métodos de las figuras 2 y 3 pueden ser llevados a cabo de manera opcional en presencia o ausencia de una DMZ y/o uno o más cortafuegos, con un funcionamiento similar, excepto por la necesidad de dos servidores separados para recibir y almacenar datos en el caso de una implementación con la DMZ tal como se muestra en la figura 1.

De acuerdo con ejemplos de la presente invención, las funciones de captación y almacenamiento pueden ser llevadas a cabo de manera opcional por el mismo dispositivo computador. En esta implementación, el cliente de captación, el servidor de almacenamiento y las funciones de reproducción pueden, todas ellas, ser implementadas de manera opcional como procesos separados que son operados por el mismo dispositivo computador. Esta implementación es mostrada, por ejemplo, haciendo referencia a la figura 4, un sistema (34) presenta un servidor Web (36) para servir páginas Web a través de Internet (38) u otro tipo de red. Dichas páginas Web son descargadas a un dispositivo computador de usuario (40), que presenta un navegador Web (42) para visualizar dichas páginas Web.

De manera preferente, el dispositivo computador del usuario (40) presenta además un componente de captación (44) para captar las acciones de usuario y las reacciones de la interfaz del usuario anteriormente descritas; y un componente de reproducción (46) para reproducir los datos captados, también tal como ha sido descrito previamente. En lugar de enviar los datos captados a un servidor remoto, el componente de capta (44) almacena de manera preferente los datos captados en una base de datos (48). El dispositivo computador del usuario (40) puede ser utilizado de este modo de manera preferente para captar y reproducir los datos.

De manera opcional y más preferente, el navegador Web (42) contiene de manera preferente el componente de captación (44) y el componente de reproducción (46), para permitir al cliente que reproduzca las sesiones relevantes grabadas por dicho cliente.

A pesar de que la presente invención ha sido descrita con respecto a una cantidad limitada de realizaciones, se apreciará que pueden realizarse numerosas variaciones, modificaciones y otras aplicaciones de la misma.

Claims (15)

1. Método para recoger datos relativos a una sesión de usuario interactiva en una red, que comprende:
determinar el establecimiento de dicha sesión de usuario interactiva;
detectar y captar mediante un dispositivo computador de usuario, a través de funciones nativas del sistema operativo de dicho dispositivo computador de usuario las acciones del dispositivo de entrada del usuario de un determinado usuario y las reacciones de la interfaz del usuario de dicha sesión de usuario interactiva;
separar dicha acción del dispositivo de entrada del usuario y dicha reacción de la interfaz de usuario como mínimo en un evento y datos asociados, conformando dichos datos asociados los parámetros para dicho evento o even-
tos; y
enviar dicho evento o eventos y datos asociados a través de un cortafuegos externo de una DMZ (zona desmilitarizada) que comprende un cortafuegos interno y dicho cortafuegos externo, para almacenamiento en asociación con un servidor intermedio accesible para el usuario dentro de dicha DMZ, de modo que dichos datos pueden ser recuperados desde dentro de dicho cortafuegos interno mediante un dispositivo computador de almacenamiento, comprendiendo dicha asociación una organización de dicho evento o eventos y datos asociados de manera de permitir una reconstrucción remota de dicha sesión de usuario interactiva, comprendiendo dicha reconstrucción tanto la acción del dispositivo de entrada del usuario como dicha reacción de la interfaz del usuario, estando compuesta dicha reconstrucción por dicho evento o eventos y datos asociados.
2. Método, según la reivindicación 1, en el que existe una etapa adicional de reproducción como mínimo de una parte de la sesión de usuario interactiva a través de una simulación a partir de dicho evento o eventos y datos asociados.
3. Método, según la reivindicación 1 ó 2, en el que dicho dispositivo de entrada de usuario es seleccionado del grupo compuesto por un dispositivo puntero, un teclado, y una entrada de estilo.
4. Método, según cualquiera de las reivindicaciones 1 a 3, en el que dicha reacción de interfaz de usuario es llevada a cabo a través de una GUI (interfaz gráfica de usuario).
5. Método, según la reivindicación 4, en el que dicha GUI presenta una ventana, y dicha reacción de interfaz de usuario incluye una actividad de ventana.
6. Método, según la reivindicación 5, en el que dicha GUI es proporcionada a través de un navegador Web, y dicha reacción de interfaz de usuario incluye la visualización de una página Web.
7. Método, según la reivindicación 6, en el que los datos de dicha página Web son separados como mínimo en código de lenguaje de marcas para la reconstrucción de dicha página Web.
8. Método, según cualquiera de las reivindicaciones 1 a 7, en el que dicho evento o eventos y datos asociados son filtrados.
9. Método, según cualquiera de las reivindicaciones 2 a 8, en el que dicha reproducción es llevada a cabo de acuerdo con una marca de tiempo de cada evento.
10. Método, según cualquiera de las reivindicaciones 1 a 9, en el que dicha acción o acciones del dispositivo de entrada de usuario y dicha reacción o reacciones de la interfaz de usuario son parte de una interacción entre dicho usuario y un agente humano, permitiendo de este modo una evaluación remota de la garantía de calidad y/o control de calidad en relación con dicha interacción.
11. Sistema para recoger datos relativos a una sesión de usuario interactiva en una red, que comprende:
(a) un dispositivo computador de usuario (14); y
(b) un cliente (16) operado por dicho dispositivo computador de usuario, configurado para determinar el establecimiento de dicha sesión de usuario interactivo y detectar y captar tanto una acción del dispositivo de entrada como una reacción de interfaz de usuario;
(c) un servidor remoto (32) para llevar a cabo la sesión de usuario interactiva con dicho dispositivo computador de usuario; y
(d) un dispositivo computador de almacenamiento (20) asociado con dicho servidor remoto, para separar dicha acción del dispositivo de entrada del usuario y dicha reacción de interfaz de usuario como mínimo en un evento y datos asociados, siendo dichos datos asociados datos de parametrización de dicho evento o eventos, comprendiendo dicha asociación una organización de dicho evento y datos asociados de modo que dicha acción del dispositivo de entrada de usuario y dicha reacción de interfaz de usuario pueden ser reconstruidas de manera remota a partir de dicho evento o eventos y datos asociados; y
caracterizado porque dicho cliente está configurado para llevar a cabo dicha detección y captación a través de las funciones nativas del sistema operativo del dispositivo computador de usuario; y caracterizado de manera adicional por:
(e) una DMZ (zona desmilitarizada) (28) dispuesta entre un cortafuegos interno y un cortafuegos externo, que separa dicho dispositivo computador de almacenamiento de dicho dispositivo computador de usuario; y
(f) un servidor intermedio colocado en dicha DMZ, siendo operativo dicho servidor intermedio para recibir de dicho cliente dicha acción de usuario detectada y una reacción de interfaz de usuario y estando configurado para permitir la recuperación de dicha acción de usuario detectada y la reacción de interfaz de usuario desde dentro de dicho cortafuegos interno mediante dicho dispositivo computador de almacenamiento.
12. Sistema, según la reivindicación 11, que comprende de manera adicional:
(f) un servidor de registro (32) para organizar dicha acción de usuario y dicha reacción de interfaz de usuario.
13. Sistema, según las reivindicaciones 11 ó 12, en el que dicho servidor está localizado en dicha DMZ.
14. Sistema, según las reivindicaciones 12 ó 13, en el que dicho servidor de registro está localizado en dicha DMZ.
15. Sistema, según la reivindicación 11, que comprende de manera adicional:
(g) un proceso de almacenamiento para organizar dicha serie de componentes de datos para llevar a cabo el almacenamiento en dicho dispositivo computador de almacenamiento; y
(h) una base de datos operada por dicho dispositivo computador de almacenamiento para recibir dicha serie de componentes de datos para almacenamiento.
ES01963348T 2000-08-24 2001-08-24 Sistema de metodo para captar sesiones de navegacion y acciones de usuario. Active ES2272529T3 (es)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US22747800P true 2000-08-24 2000-08-24
US227478P 2000-08-24

Publications (1)

Publication Number Publication Date
ES2272529T3 true ES2272529T3 (es) 2007-05-01

Family

ID=22853261

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01963348T Active ES2272529T3 (es) 2000-08-24 2001-08-24 Sistema de metodo para captar sesiones de navegacion y acciones de usuario.

Country Status (9)

Country Link
EP (1) EP1377907B1 (es)
AT (1) AT342546T (es)
AU (2) AU8436801A (es)
CA (1) CA2420394C (es)
DE (1) DE60123843T2 (es)
ES (1) ES2272529T3 (es)
HK (1) HK1059661A1 (es)
WO (1) WO2002017165A2 (es)
ZA (1) ZA200302232B (es)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204378A1 (en) * 2004-03-10 2005-09-15 Shay Gabay System and method for video content analysis-based detection, surveillance and alarm management
US7714878B2 (en) 2004-08-09 2010-05-11 Nice Systems, Ltd. Apparatus and method for multimedia content based manipulation
EP1672572A1 (en) * 2004-12-15 2006-06-21 Agilent Technologies, Inc. Presentation engine
US8094803B2 (en) 2005-05-18 2012-01-10 Mattersight Corporation Method and system for analyzing separated voice data of a telephonic communication between a customer and a contact center by applying a psychological behavioral model thereto
US8094790B2 (en) 2005-05-18 2012-01-10 Mattersight Corporation Method and software for training a customer service representative by analysis of a telephonic interaction between a customer and a contact center
US7995717B2 (en) 2005-05-18 2011-08-09 Mattersight Corporation Method and system for analyzing separated voice data of a telephonic communication between a customer and a contact center by applying a psychological behavioral model thereto
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8127000B2 (en) 2006-06-30 2012-02-28 Tealeaf Technology, Inc. Method and apparatus for monitoring and synchronizing user interface events with network data
US8023639B2 (en) 2007-03-30 2011-09-20 Mattersight Corporation Method and system determining the complexity of a telephonic communication received by a contact center
US7869586B2 (en) 2007-03-30 2011-01-11 Eloyalty Corporation Method and system for aggregating and analyzing data relating to a plurality of interactions between a customer and a contact center and generating business process analytics
US8718262B2 (en) 2007-03-30 2014-05-06 Mattersight Corporation Method and system for automatically routing a telephonic communication base on analytic attributes associated with prior telephonic communication
US8042055B2 (en) 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US8949406B2 (en) 2008-08-14 2015-02-03 International Business Machines Corporation Method and system for communication between a client system and a server system
US8583772B2 (en) 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
US8930818B2 (en) 2009-03-31 2015-01-06 International Business Machines Corporation Visualization of website analytics
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
DE112012000944B4 (de) 2011-02-22 2017-02-09 International Business Machines Corporation Auf einer Webseite selbst erfolgende Bearbeitung und Austausch von Webinhalt in Echtzeit
EP2713290A3 (en) * 2012-09-28 2014-09-17 Orange System and method for screencast creation and abridging based on user web browsing
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US9535720B2 (en) 2012-11-13 2017-01-03 International Business Machines Corporation System for capturing and replaying screen gestures
US9191510B2 (en) 2013-03-14 2015-11-17 Mattersight Corporation Methods and system for analyzing multichannel electronic communication data

Also Published As

Publication number Publication date
DE60123843T2 (de) 2007-05-24
WO2002017165A3 (en) 2003-10-23
WO2002017165A2 (en) 2002-02-28
ZA200302232B (en) 2004-04-22
AU2001284368B2 (en) 2007-05-17
HK1059661A1 (en) 2007-05-25
CA2420394A1 (en) 2002-02-28
AT342546T (de) 2006-11-15
AU8436801A (en) 2002-03-04
EP1377907B1 (en) 2006-10-11
CA2420394C (en) 2010-05-11
EP1377907A2 (en) 2004-01-07
DE60123843D1 (de) 2006-11-23

Similar Documents

Publication Publication Date Title
US6463460B1 (en) Interactive communication system permitting increased collaboration between users
US7058892B1 (en) Displaying content from multiple servers
EP0960377B1 (en) Method of accessing information on a host computer from a client computer
CN1617558B (zh) 顺序多模输入
US7076546B1 (en) Browser for use in accessing hypertext documents in a multi-user computer environment
JP4718747B2 (ja) ユーザインターフェイスを生成するためのエキスパートシステム
EP0921486B1 (en) Network-based document review tool
CN1163831C (zh) 将一管理区中的信息图像文件提供到另一管理区的方法
CN100373377C (zh) 用于检索来自多个不同数据库的搜索结果的方法
JP4233759B2 (ja) マークアップ言語ベースのマンマシンインターフェイスを備えた無線通信装置
Minneman et al. A confederation of tools for capturing and accessing collaborative activity
US7954049B2 (en) Annotating multimedia files along a timeline
Greenberg et al. Groupware toolkits for synchronous work
JP3283018B2 (ja) htmlファイル取得方法、情報端末支援装置、htmlファイルを取得するソフトウエア・プロダクトを格納した記憶媒体
EP1488353B1 (en) Recording user interaction with an application
US20070124737A1 (en) System, method, and computer program product for concurrent collaboration of media
US20100325174A1 (en) Method, system, and computer program product for simulating an online session
US20140026095A1 (en) Enhanced Widget Composition Platform
Bigham et al. WebAnywhere: a screen reader on-the-go
JP4203657B2 (ja) コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム
US7406659B2 (en) Smart links
US6144991A (en) System and method for managing interactions between users in a browser-based telecommunications network
US7657872B2 (en) Product testing and bug tracking system
Rice et al. Using the Web Instead of a Window System.
US20060265662A1 (en) System and method for generating and updating user interfaces of web-based applications