ES2373297T3 - Procedimientos y sistemas para la captura y la recuperación de información. - Google Patents

Procedimientos y sistemas para la captura y la recuperación de información. Download PDF

Info

Publication number
ES2373297T3
ES2373297T3 ES05731427T ES05731427T ES2373297T3 ES 2373297 T3 ES2373297 T3 ES 2373297T3 ES 05731427 T ES05731427 T ES 05731427T ES 05731427 T ES05731427 T ES 05731427T ES 2373297 T3 ES2373297 T3 ES 2373297T3
Authority
ES
Spain
Prior art keywords
event
article
user
events
search
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
ES05731427T
Other languages
English (en)
Inventor
Stephen R. Lawrence
David Marmaros
Niniane Wang
Omar Habib Khan
Mihai Florin Ionescu
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.)
Google LLC
Original Assignee
Google LLC
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 claimed from US10/814,773 external-priority patent/US7941439B1/en
Application filed by Google LLC filed Critical Google LLC
Application granted granted Critical
Publication of ES2373297T3 publication Critical patent/ES2373297T3/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/951Indexing; Web crawling techniques
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results

Abstract

Procedimiento, que comprende: capturar (202) un evento en tiempo real cuando se produce el evento, en el que el evento comprende una interacción del usuario con un artículo en un dispositivo del cliente, en el que el artículo es susceptible de ser asociado con al menos uno de una pluralidad de aplicaciones del cliente (120); determinar (204) si el evento debe ser indexado o si el evento es un evento no indexable; si el evento debe ser indexado, indexar (208) el evento y almacenar (208) el evento y al menos una porción del contenido asociado con el artículo, en respuesta al evento que determina un evento no indexable, actualizar un estado de usuario actual para el usuario basado en el evento; generar automáticamente una consulta de búsqueda implícita basada en el estado del usuario actual para producir un resultado de búsqueda que contiene artículos asociados con los eventos capturados; y mostrar al menos una porción del resultado de la búsqueda en el dispositivo del cliente.

Description

Procedimientos y sistemas para la captura y la recuperación de información
Campo de la invención
La invención se refiere, en general, a motores de búsqueda. Más particularmente, la invención se refiere a procedimientos y sistemas para la captura y recuperación de información.
Antecedentes de la invención
Los usuarios generan y acceden a un gran número de artículos, tales como correos electrónicos, páginas web, documentos de texto, hojas de cálculo, mensajes de mensajería instantánea, y los documentos de presentación, usando un dispositivo del cliente, tal como un ordenador personal, asistente personal digital, o teléfono móvil. Algunos artículos se almacenan en uno o más dispositivos de almacenamiento acoplados a, accesible mediante, o asociados de otra manera con el dispositivo(s) cliente. Los usuarios a veces desean buscar artículos en el dispositivo(s) de almacenamiento.
Las aplicaciones de búsqueda de dispositivo del cliente convencionales pueden perjudicar de manera significativa el funcionamiento del dispositivo del cliente. Por ejemplo, ciertas aplicaciones de búsqueda de dispositivo del cliente convencionales típicamente usan el procesamiento por lotes para indexar todos los artículos, lo cual puede resultar en un rendimiento notablemente más lento del dispositivo del cliente durante el procesamiento por lotes. Además, el procesamiento por lotes sólo se realiza periódicamente. Por lo tanto, cuando un usuario realiza una búsqueda, los artículos más recientes a veces no se incluyen en los resultados. Por otra parte, si el procesamiento por lotes está previsto para un momento en que el dispositivo del cliente no está en funcionamiento y, por lo tanto, no se realiza durante un período prolongado de tiempo, el índice de artículos relacionados con el dispositivo del cliente puede llegar a ser obsoleto. Las aplicaciones de búsqueda del dispositivo del cliente convencionales también pueden tener que reconstruir el índice en cada proceso por lotes o construir nuevos índices parciales y realizar una operación de fusión que pueden usar importantes recursos del dispositivo del cliente. Las aplicaciones de búsqueda del dispositivo del cliente convencionales a veces también usan una gran cantidad de recursos del sistema cuando están operativas, resultando en un rendimiento más lento del dispositivo del cliente.
Además, las aplicaciones de búsqueda del dispositivo del cliente convencionales pueden requerir una consulta de búsqueda explícita de un usuario para generar resultados, y puede limitarse a examinar los nombres del archivo o el contenido de los archivos de una aplicación particular.
El documento US 6 532 023 B1 (SCHUMACHER DANIEL M [US] et al publicado el 11 de marzo de 2003) divulga un sistema para registrar los eventos derivados de la interacción del usuario con applets, y posteriormente, para la reproducción de los eventos registrados. El sistema genera los objetos del evento para los eventos detectados y además genera valores del índice de los componentes para los eventos de interacción. El sistema indexa todos los eventos de interacción registrados. El documento US 6 662 226 B1 (Wang Jinsheng [US] et al publicado el 9 diciembre de 2003) divulga un sistema para registrar los eventos derivados de la interacción del usuario con applets, y, posteriormente, para la reproducción de los eventos registrados. Enseña la indexación de la información capturada y el uso de dicha información indexada para la reproducción de los eventos capturados. El documento US 2002/103664 A1 (OLSSON ANDERS [US] et al publicado el 1 de agosto de 2002) divulga un servidor de seguimiento de eventos para el seguimiento de la interacción del usuario con un sitio web. El sistema de seguimiento de eventos determina la información de seguimiento de eventos y recupera un conjunto de instrucciones que corresponden a la información determinada. En el documento "Spector CNE" (XP002332115 publicado en 2003) divulga un software de usuario (Spector) que registra las actividades del usuario. Esencialmente, el software Spector supervisa las actividades de un determinado equipo mediante el registro de eventos que ocurrieron en ese equipo cada vez que un usuario inicia una sesión en el mismo. Ninguno de estos documentos implica la etapa de determinar si el evento es un evento indexable o un evento no indexable y no divulgan la generación automática de una consulta implícita o producir o mostrar un resultado de la búsqueda.
Sumario
Las realizaciones de la presente invención comprenden procedimientos y sistemas para la captura y la recuperación de información. En una realización, un motor de búsqueda implementa un procedimiento que comprende la captura de un evento en tiempo real cuando se produce el evento, en el que el evento comprende una interacción del usuario con un artículo en un dispositivo del cliente, en el que el artículo es susceptible de ser asociado con al menos uno de una pluralidad de aplicaciones del cliente, para determinar si el evento debe ser indexado, y si el evento debe ser indexado, indexar los eventos y almacenar el evento y al menos una parte de los contenidos relacionados con el artículo. En otra realización, un motor de búsqueda implementa un procedimiento que comprende la captura de una pluralidad de eventos que ocurren en un dispositivo del cliente, en el que los eventos están asociados con al menos uno de una pluralidad de aplicaciones del cliente, en el que por lo menos algunos de los eventos se capturan en tiempo real cuando se produce el evento, indexando y almacenando al menos algunos de los eventos, en el que los eventos que se indexan y almacenan tienen un artículo asociado, recibiendo una consulta de búsqueda, y localizando los artículos relevantes de los eventos relevantes para la consulta de búsqueda.
Estos ejemplos de realización no se mencionan para limitar o definir la invención, sino para dar ejemplos de realizaciones de la invención para facilitar la comprensión de las mismas. Los ejemplos de realización se discuten en la descripción detallada y una descripción adicional de la invención se proporciona ahí. Las ventajas ofrecidas por las diversas realizaciones de la presente invención pueden entenderse también mediante el examen de esta memoria.
Breve descripción de los dibujos
Estas y otras características, aspectos y ventajas de la presente invención se entienden mejor cuando se lee la siguiente descripción detallada con referencia a los dibujos adjuntos, en los que:
La figura 1 es un diagrama que ilustra un ambiente de ejemplo en el que una realización de la presente invención puede funcionar;
La figura 2 es un diagrama de flujo que ilustra un procedimiento de ejemplo de captura y procesamiento de datos de eventos asociados con un dispositivo del cliente en una realización de la presente invención; y
La figura 3 es un diagrama de flujo que ilustra un procedimiento de ejemplo de la recuperación de los artículos relacionados con los eventos en una realización de la presente invención.
Descripción detallada de realizaciones específicas
Haciendo referencia ahora a los dibujos, en los que números similares indican elementos similares a lo largo de las diversas figuras, la figura 1 es un diagrama de bloques que ilustra un ambiente de ejemplo para la implementación de una realización de la presente invención. Aunque el ambiente que se muestra refleja una realización de la arquitectura del motor de búsqueda en el lado del cliente, son posibles otras realizaciones. El sistema 100 que se muestra en la figura 1 incluye múltiples dispositivos del cliente 102a-n que pueden comunicarse con un dispositivo de servidor 150 en una red 106. La red 106 que se muestra comprende Internet. En otras realizaciones, otras redes, tales como una intranet, se pueden usar en su lugar. Además, los procedimientos de acuerdo con la presente invención pueden operar dentro de un dispositivo de un solo cliente que no se comunica con un dispositivo de servidor o una red.
Los dispositivos del cliente 102a-n que se muestran en la figura 1, incluyen, cada uno, un medio legible por ordenador 108. La realización mostrada en la figura 1 se incluye una memoria de acceso aleatorio (RAM) 108 acoplada a un procesador 110. El procesador 110 ejecuta instrucciones de programa ejecutables por ordenador almacenadas en la memoria 108. Los procesadores pueden incluir un microprocesador, un ASIC, máquinas de estado, u otro procesador, y puede ser cualquiera de un número de procesadores informáticos adecuados, tales como procesadores de Intel Corporation de Santa Clara, California y Motorola Corporation de Schaumburg, Illinois. Los procesadores incluyen, o pueden estar en comunicación con medios, por ejemplo, medios que se puede leer por ordenador, que almacenan las instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador realice las etapas descritas en este documento. Las realizaciones de medios legibles por ordenador incluyen, pero no están limitados a, un almacenamiento electrónico, óptico, magnético, u otros dispositivos de transmisión, capaces de proporcionar a un procesador, tal como el procesador 110 del cliente 102a, instrucciones legibles por ordenador. Otros ejemplos de los medios adecuados incluyen, pero no se limitan a, un disquete, CD-ROM, DVD, disco magnético, chip de memoria, ROM, RAM, un ASIC, un procesador configurado, cualquier medio óptico, cualquier cinta magnética u otro medio magnético, o cualquier otro medio del cual un procesador de ordenador pueda leer instrucciones. Además, varias otras formas de un medio legible por ordenador pueden transmitir o comunicar instrucciones a un ordenador, incluyendo un enrutador, red privada o pública, u otro dispositivo de transmisión o canal, tanto con cable como inalámbrico. Las instrucciones pueden comprender código de cualquier lenguaje de programación adecuado para ordenadores, incluyendo, por ejemplo, C, C++, C#, Visual Basic, Java, Python, Perl y JavaScript.
Los dispositivos del cliente 102a-n pueden ser acoplados a una red 106, o, alternativamente, pueden ser máquinas independientes. Los dispositivos del cliente 102a-n también pueden incluir una serie de dispositivos externos o internos, tales como un ratón, un CD-ROM, DVD, un teclado, un dispositivo de visualización, u otros dispositivos de entrada y de salida. Ejemplos de dispositivos del cliente 102a-n son ordenadores personales, asistentes digitales, asistentes digitales personales, teléfonos celulares, teléfonos móviles, teléfonos inteligentes, localizadores, tabletas digitales, ordenadores portátiles, dispositivos de Internet y otros dispositivos basados en procesadores. En general, los dispositivos del cliente 102a-n pueden ser cualquier tipo de plataforma basado en un procesador que funciona en cualquier sistema operativo adecuado, tal como Microsoft® Windows® o Linux, capaz de soportar uno o más programas de aplicación del cliente. Por ejemplo, el dispositivo del cliente 102 puede comprender un ordenador personal que ejecuta los programas de aplicación del cliente, también conocido como aplicaciones del cliente 120. Las aplicaciones del cliente 120 pueden estar contenidas en la memoria 108 y pueden incluir, por ejemplo, un procesador de textos, una hoja de cálculo, una aplicación de correo electrónico, una aplicación de mensajería instantánea, una aplicación de presentaciones, una aplicación de navegador de Internet, una aplicación de calendario/organizador, una aplicación de reproducción de vídeo, una aplicación de reproducción de audio, una aplicación de visualización de imágenes, un programa de gestión de archivos, una consola del sistema operativo y
otras aplicaciones capaces de ser ejecutadas por un dispositivo del cliente. Las aplicaciones del cliente también pueden incluir aplicaciones del cliente que interactúan con o acceden a otras aplicaciones (como, por ejemplo, un navegador web que se ejecuta en el dispositivo del cliente 102 que interactúa con un servidor de correo remoto para acceder a correo electrónico).
El usuario 112a puede interactuar con varias aplicaciones del cliente 120 y los artículos asociados con las aplicaciones de cliente 120 a través de varios dispositivos de entrada y de salida del dispositivo del cliente 102a. Los artículos incluyen, por ejemplo, documentos de un procesador de textos, hojas de cálculo, documentos de presentación, correos electrónicos, mensajes de mensajería instantánea, entradas de la base de datos, entradas de calendario, entradas de citas, entradas del administrador de tareas, archivos de código fuente y otros archivos de contenido del programa de aplicación del cliente, mensajes, artículos, páginas web de diversos formatos, tal como HTML, XML, XHTML, archivos de Formato de Documento Portátil (PDF) y archivos multimedia, tal como archivos de imágenes, archivos de audio, y archivos de vídeo, o cualquier otro documento o artículos o grupos de documentos o artículos o informaciones de cualquier tipo adecuado.
La interacción del usuario 112a con los artículos, las aplicaciones del cliente 120, y el dispositivo del cliente 102a crean datos de eventos que pueden ser observados, registrados, analizados o usados de otra manera. Un evento puede ser cualquier posible aparición asociada con un artículo, aplicación del cliente 120, o el dispositivo del cliente 102, tal como introducir texto en un artículo, mostrar un artículo sobre un dispositivo de visualización, enviar un artículo, recibir un artículo; manipular un dispositivo de entrada, abrir un artículo, guardar un artículo, imprimir un artículo, cerrar un artículo, abrir un programa de aplicación del cliente, cerrar un programa de aplicación del cliente, tiempo de inactividad, carga del procesador, acceso al disco, uso de la memoria, llevar un programa de aplicación del cliente a primer plano, cambiar detalles de la presentación visual de la aplicación (por ejemplo, cambiar el tamaño o minimizar) y cualquier otro evento apto asociado con un artículo, un programa de aplicación del cliente o el dispositivo del cliente que sea. Además, los datos de eventos se pueden generar cuando el dispositivo del cliente 102a interactúa con un artículo independiente del usuario 112a, como cuando se recibe un correo electrónico o se realiza una tarea programada.
La memoria 108 del dispositivo del cliente 102 también puede contiene un procesador de captura 124, una cola 126, y un motor de búsqueda 122. El dispositivo del cliente 102 también puede contener o estar en comunicación con un almacén de datos 140. El procesador de captura 124 puede capturar eventos y los pasa a la cola 126. La cola 126 puede pasar los eventos capturados en el motor de búsqueda 122 o el motor de búsqueda 122 puede recuperar los nuevos eventos de la cola 126. En una realización, la cola 126 notifica al motor de búsqueda 122 cuando un nuevo evento llega a la cola 126 y el motor de búsqueda 122 recupera el evento (o eventos) de la cola 126 cuando el motor de búsqueda 122 está listo para procesar el evento (o eventos). Cuando el motor de búsqueda recibe un evento, puede ser procesado y pueda ser almacenado en el almacén de datos 140. El motor de búsqueda 122 puede recibir una consulta explícita de un usuario 112a o generar una consulta implícita y se puede recuperar la información del almacén de datos 140 en respuesta a la consulta. En otra realización, la cola se encuentra en el motor de búsqueda
122. En otra realización, el dispositivo del cliente 102 no tiene una cola y los eventos se transmiten desde el procesador de captura 124 directamente al motor de búsqueda 122. De acuerdo con otras realizaciones, los datos del evento se transfieren por medio de un protocolo de intercambio de información. El protocolo de intercambio de información puede comprender, por ejemplo, una regla o convención adecuada para facilitar el intercambio de datos, y puede incluir, por ejemplo, uno de los siguientes mecanismos de comunicación: protocolo de lenguaje de marcado extensible-llamada de procedimiento remoto (XML/RPC), protocolo de transferencia de hipertexto (HTTP), protocolo de acceso de objeto simple (SOAP), memoria compartida, conexiones, llamada de procedimiento local o remoto, o cualquier otro mecanismo adecuado de intercambio de información.
El procesador de captura 124 puede capturar un evento mediante la identificación y la recopilación de datos de eventos asociados con un evento. Ejemplos de eventos incluyen enviar o recibir un mensaje de correo electrónico, un usuario que visualiza una página web, guardar un documento de procesamiento de texto, la impresión de una hoja de cálculo, la entrada de texto para componer o editar un correo electrónico, la apertura de una aplicación de presentaciones, el cierre de una aplicación de mensajería instantánea, pulsar una tecla, mover el ratón, copiar texto al portapapeles, y pasar el ratón sobre un hipervínculo. Un ejemplo de datos de eventos capturados por el procesador de captura 124 para un evento que involucra la visualización de una página web por un usuario puede incluir la URL de la página web, la hora y la fecha en que el usuario visita la página web, el contenido de la página web en forma original o elaborada, el tamaño del documento original, una captura de pantalla de la página web tal como se muestra al usuario, una versión en miniatura de la captura de pantalla y un icono asociado a la página web
o al sitio web.
En la realización mostrada en la figura 1, el procesador de captura 124 comprende varios componentes de captura. Por ejemplo, el procesador de captura 124 que se muestra en la figura 1 comprende un componente de captura separado para cada aplicación del cliente con el fin de capturar los eventos asociados a cada aplicación. El procesador de captura 124 puede comprender también un componente de captura independiente que supervisa la actividad global de la red para capturar datos de los eventos relacionados con la actividad de la red, tales como la recepción o el envío de un mensaje de mensajería instantánea. El procesador de captura 124 que se muestra en la figura 1 también puede comprender un componente de captura del dispositivo del cliente separado que monitoriza todos los datos de rendimiento del dispositivo del cliente, tales como la carga del procesador, el tiempo de
inactividad, el acceso al disco, las aplicaciones del cliente en uso y la cantidad de memoria disponible. El procesador de captura 124 que se muestra en la figura 1 también incluye un componente de captura separado para controlar y capturar las pulsaciones del teclado de entrada por el usuario y un componente de captura separado para controlar y capturar los artículos, tal como texto, que aparecen en un dispositivo de visualización asociado con el dispositivo del cliente 102. Un componente de captura individual puede controlar la aplicación de varios clientes y varios componentes de captura pueden controlar diferentes aspectos de una única aplicación del cliente.
En una realización, el procesador de captura 124, a través de los componentes individuales de captura, puede monitorizar la actividad en el dispositivo del cliente y puede capturar los eventos mediante una definición de eventos generalizados y el mecanismo de registro, tal como un esquema de eventos. Cada componente de la captura puede definir su propio esquema de eventos o puede usar uno predefinido. El esquema de eventos puede variar dependiendo de la aplicación del cliente o de la actividad del componente de la captura que se monitoriza. En general, el esquema de eventos puede describir el formato de un evento, por ejemplo, proporcionando los campos de datos de eventos asociados con el evento (por ejemplo, la hora del evento) y los campos relacionados con cualquier artículo relacionado (como el título), así como el contenido de cualquier artículo relacionado (por ejemplo, el cuerpo del documento). Un esquema de eventos puede describir el formato de los datos de eventos adecuado que se refiere a un evento. Por ejemplo, un esquema de eventos para un evento de mensaje de correo electrónico recibido por el usuario 112a puede incluir el remitente, el destinatario o la lista de destinatarios, la hora de envío, la fecha de envío, y el contenido del mensaje. Un esquema de eventos de una página web que está viendo actualmente un usuario puede incluir el Localizador Uniforme de Recursos (URL) de la página web, el tiempo que la página web fue vista, la cantidad de tiempo que el usuario emplea en visualizar la página web, y el contenido de la página web. Un esquema de eventos de un documento de texto que se guarda por un usuario puede incluir el título del documento, el tiempo guardado, el formato del documento, el texto del documento, y la ubicación del documento. En términos más generales, un esquema de eventos puede describir el estado del sistema en todo el tiempo del evento. Por ejemplo, un esquema de eventos puede contener una URL para un evento de la página web asociada a una página web anterior, de la que el usuario navega. Además, el esquema de eventos puede describir los campos con una estructura más complicada, tal como listas. Por ejemplo, un esquema de eventos puede contener campos que listan destinatarios múltiples. Un esquema de eventos también puede contener campos opcionales, para que una aplicación pueda incluir datos adicionales del evento si así se desea. Un evento puede ser capturado mediante la compilación de datos de eventos en los campos descritos en el esquema de eventos asociado.
El procesador de captura 124 puede capturar eventos que ocurren en la actualidad (o "eventos en tiempo real") y puede capturar eventos que han ocurrido en el pasado (o "eventos históricos"). Los eventos en tiempo real pueden ser "reversibles" o "no indexables". En una realización, el motor de búsqueda 122 indexa los eventos indexables en tiempo real, pero no indexa eventos no indexables en tiempo real. El motor de búsqueda 122 puede determinar si indexar un evento basado en la importancia del evento. Los eventos indexables en tiempo real pueden ser eventos más importantes relacionados con un artículo, como la visualización de una página web, cargar o guardar un archivo, y recibir o enviar un mensaje instantáneo o de correo electrónico. Los eventos no indexables se pueden considerar no suficientemente importantes como para que el motor de búsqueda 122 indexe y guarde el evento, tales como mover el ratón o la selección de una porción de texto en un artículo. Por otra parte, el procesador de captura 124 puede ser capaz de determinar que los eventos no son lo suficientemente importantes, y no los envía a la cola 126. En esta realización, la carga en la cola 126 puede ser reducida y la velocidad del sistema puede aumentar. Los eventos no indexables y/o reversibles pueden ser usados por el motor de búsqueda 122 para actualizar el estado del usuario actual. Mientras que todos los eventos en tiempo real pueden relacionarse con lo que el usuario está haciendo (o el estado del usuario actual), los eventos indexables en tiempo real pueden ser indexados y almacenados en el almacén de datos 140. Por otra parte, el motor de búsqueda 122 puede indexar todos los eventos en tiempo real. Los eventos en tiempo real pueden incluir, por ejemplo, enviar o recibir un artículo, como un mensaje instantáneo, el examen de una parte de un artículo, tal como la selección de una porción de texto
o mover el ratón sobre una porción de una página web, cambiar un artículo, tal como escribir una palabra en un correo electrónico o pegar una frase en un documento de texto, cerrar un artículo, tal como el cierre de una ventana de mensajería instantánea o cambiar un mensaje de correo electrónico que se está viendo, cargar, guardar, abrir o ver un artículo, tal como un documento de texto, página web o correo electrónico, escuchar o guardar un archivo MP3 u otro archivo de audio/vídeo, o la actualización de los metadatos de un artículo, tal como guardar en los favoritos una página web, la impresión de un documento de presentación, la eliminación de un documento de texto,
o mover un documento de hoja de cálculo.
Los eventos históricos son similares a los eventos indexables en tiempo real, salvo que el evento ocurrido antes de la instalación del motor de búsqueda 122 o no fue capturado de otra manera, porque, por ejemplo, el motor de búsqueda 122 no estaba en funcionamiento durante un período de tiempo, mientras que el dispositivo del cliente 102a estaba en funcionamiento o porque no existía el componente de captura para un tipo específico de evento histórico en el momento de realizarse el evento. Ejemplos de eventos históricos incluyen los documentos de texto guardados por los usuarios, archivos multimedia, documentos de presentación, entradas del calendario, y hojas de cálculo, los mensajes de correo electrónico en la bandeja de entrada del usuario, las páginas web en la memoria caché del usuario, las conversaciones de mensajería instantánea del pasado y las páginas web marcadas por el usuario. El procesador de captura 124 puede capturar los eventos históricos periódicamente rastreando la memoria 108 y cualquier dispositivo de almacenamiento de datos para los eventos no previamente capturados por el
procesador de captura 124. El procesador de captura 124 también puede capturar los eventos históricos mediante la solicitud de determinadas aplicaciones, como por ejemplo un navegador web o una aplicación de correo electrónico, para recuperar los artículos y otra información relacionada. Por ejemplo, el procesador de captura 124 puede solicitar que la aplicación del navegador web obtenga todas las páginas web visitadas por el usuario o solicitar que la aplicación de correo electrónico obtenga todos los mensajes de correo electrónico asociados con el usuario. Estos artículos no existentes en la memoria 108 o en un dispositivo de almacenamiento del dispositivo del cliente 102a. Por ejemplo, la aplicación de correo electrónico puede tener que recuperar mensajes de correo electrónico desde un dispositivo del servidor. En una realización, el motor de búsqueda 122 indexa los eventos históricos.
En una realización, el motor de búsqueda 122 puede capturar selectivamente e indexar los eventos históricos. Por ejemplo, datos de artículos relacionados con el artículo para el evento puede usarse en parte para determinar si se captura y se indexa el evento. Los datos del artículo pueden comprender, por ejemplo, la ubicación del artículo, el tipo de archivo del artículo, y los datos de acceso para el artículo. En una realización, los datos del artículo se usan para determinar una puntuación de captura y la puntuación de captura se compara con un valor de umbral. Si la puntuación de captura para un evento en particular está por encima del valor umbral, entonces el evento se captura y es indexado. Si la puntuación de captura para un artículo es inferior al valor umbral, entonces el evento no es capturado o indexado. Del mismo modo, el motor de búsqueda 122 puede capturar e indexar de manera selectiva los eventos en tiempo real.
En una realización que se muestra en la figura 1, los eventos capturados por el procesador de captura 124 se envían a la cola 126 en el formato descrito por un esquema de eventos. El procesador de captura 124 también puede enviar los datos de rendimiento a la cola 126. Algunos ejemplos de datos de rendimiento incluyen la carga del procesador actual, la carga del procesador promedio durante un período de tiempo predeterminado, el tiempo de inactividad, el acceso al disco, las aplicaciones del cliente en uso y la cantidad de memoria disponible. Los datos de rendimiento también pueden proporcionarse mediante componentes específicos de supervisión del rendimiento, algunos de los cuales pueden ser parte del motor de búsqueda 122, por ejemplo. Los datos de rendimiento en la cola 126 pueden recuperarse mediante el motor de búsqueda 122 y los componentes de captura del procesador de captura 124. Por ejemplo, los componentes de captura se pueden recuperar los datos de rendimiento para alterar la cantidad de eventos que se envían a la cola 126 o el grado de detalle de los eventos que se envían (menos o más eventos, cuando el sistema está ocupado) o con qué frecuencia se envían los eventos (los eventos se envían con menor frecuencia cuando el sistema está ocupado o no hay demasiados eventos en espera para ser procesados). El motor de búsqueda 122 puede usar los datos de rendimiento para determinar cuándo se indexan los diversos eventos y cuándo y con qué frecuencia se emiten consultas implícitas.
En una realización, la cola 126 contiene eventos hasta que el motor de búsqueda 122 está listo para procesar un evento o eventos. Por otra parte, la cola 126 usa los datos de rendimiento para ayudar a determinar la rapidez para proporcionar los eventos al motor de búsqueda 122. La cola 126 puede comprender una o más colas separadas incluyendo una cola de estado de usuario y una cola de índice. La cola de índice puede poner en la cola eventos indexables, por ejemplo. Alternativamente, la cola 126 puede tener colas adicionales o incluir una sola cola. La cola 126 se puede implementar como una cola de prioridad circular usando archivos de memoria asignada. La cola puede ser una cola de prioridad múltiple en la que varios eventos de prioridad más alta se sirven antes de los eventos de menor prioridad, y otros componentes pueden ser capaces de especificar el tipo de eventos que interesen. En general, a los eventos en tiempo real se les puede dar una mayor prioridad que los eventos históricos y a los eventos indexables se les puede dar una mayor prioridad que a los que a los eventos no indexables en tiempo real. Otras implementaciones de la cola 126 son posibles. En otra realización, el dispositivo del cliente 102 no tiene una cola 126. En esta realización, los eventos se transmiten directamente desde el procesador de captura al motor de búsqueda 122. En otras realizaciones, los eventos pueden ser transferidos entre los componentes de captura y el motor de búsqueda usando los mecanismos adecuados de intercambio de información, tales como: protocolo de lenguaje de marcado extensible - llamada de procedimiento remoto (XML/RPC), protocolo de transferencia de hipertexto (HTTP), protocolo de acceso de objeto simple (SOAP), memoria compartida, conexiones, llamada de procedimiento local o remoto, o cualquier otro mecanismo que permita el intercambio de información.
El motor de búsqueda 122 puede contener un indizador 130, un sistema de consulta 132, y un formateador 134. El sistema de consulta 132 puede recuperar eventos en tiempo real y datos del rendimiento de la cola 126. El sistema de consulta 132 puede usar los datos de rendimiento y los eventos en tiempo real para actualizar el estado actual del usuario y generar una consulta implícita. Una consulta implícita puede ser una consulta generada automáticamente en función del estado del usuario actual. El sistema de consulta 132 también puede recibir y procesar consultas explícitas del usuario 112a. Los datos de rendimiento también pueden ser recuperados por el motor de búsqueda 122 de la cola 126 para su uso en la determinación de la cantidad de actividad posible gracias al motor de búsqueda 122.
En la realización mostrada en la figura 1, los eventos indexables en tiempo real y los eventos históricos (eventos indexables) se recuperan de la cola 126 mediante el indizador 130. Por otra parte, la cola 126 puede enviar los eventos indexables al indizador 130. El indizador 130 puede indexar los eventos indexables y puede enviarlos al almacén de datos 140, donde se almacenan. El almacén de datos 140 puede ser cualquier tipo de medio legible por ordenador y se puede integrar con el del dispositivo del cliente 102a, como por ejemplo un disco duro, o externo al del dispositivo del cliente 102a, como por ejemplo un disco duro externo o en otro dispositivo de almacenamiento de
datos que se accede a través de la red 106. El almacén de datos puede ser una o más áreas de almacenamiento físico o lógico. En una realización, el almacén de datos 140 puede estar en la memoria 108. El almacén de datos 140 puede usar uno o una combinación de procedimientos para el almacenamiento de datos, incluyendo, sin limitación, los arreglos, tablas hash, listas, y pares, y pueden incluir compresión y encriptación. En la realización mostrada en la figura 1, el almacén de datos comprende un índice 142, una base de datos 144 y un depósito 146.
En una realización, cuando el indizador 130 recibe un evento, el indizador 130 puede determinar, a partir del evento, las condiciones (si existen) asociadas con el evento, la hora del evento (si está disponible), las imágenes (si las hay) asociadas con el evento, y/o cualquier otra información que definen el evento. El indizador 130 puede determinar si el evento es un duplicado de un evento recibido con anterioridad. El indizador 130 también puede determinar si el evento se relaciona con otros eventos y asociar el evento con los eventos relacionados. Por ejemplo, para un evento de correo electrónico recibido, el indizador 130 puede asociar el mensaje con otros eventos de mensaje de la misma conversación. Como ejemplos, el indizador 130 puede asociar un evento con otros eventos basados en texto que figura en los eventos o sobre la base del tiempo de los eventos. Los correos electrónicos de la misma conversación se pueden asociar con otros en un objeto del evento relacionado, que se pueden almacenar en el almacén de datos
140.
El indizador 130 puede enviar e incorporar la información de los términos y la ubicación, asociada con el evento en el índice 142 del almacén de datos 140. El evento puede ser enviado a la base de datos 144 para el almacenamiento y el contenido del artículo asociado y las imágenes asociadas pueden ser almacenadas en el depósito 146. El objeto de conversación asociada con los mensajes de correo electrónico puede ser almacenado en la base de datos 144.
En la realización mostrada en la figura 1, un usuario 112a puede introducir una consulta explícita en una interfaz de motor de búsqueda que aparece en el dispositivo del cliente 102, que es recibida por el motor de búsqueda 122. El motor de búsqueda 122 también puede generar una consulta implícita sobre la base de un estado actual del usuario, que puede ser determinada por el sistema de consulta 132 a partir de los eventos en tiempo real. Con base en la consulta, el sistema de consulta 132 puede localizar la información relevante en el almacén de datos 140 y proporcionar un conjunto de resultados. En una realización, el conjunto de resultados incluye los identificadores de artículos para los artículos relacionados con las aplicaciones de cliente 120 o los artículos del cliente. Los artículos del cliente incluyen artículos relacionados con el usuario 112a o el dispositivo del cliente 102a, tales como mensajes de correo electrónico del usuario, documentos de texto, mensajes de mensajería instantánea, páginas web vistas anteriormente y cualquier otro artículo o parte de un artículo relacionado con el dispositivo del cliente 102a o con el usuario 112a. Un identificador de artículos puede ser, por ejemplo, un localizador de recursos uniforme (URL), un nombre de archivo, un enlace, un icono, una ruta de un archivo local, u otra información pertinente que pueda identificar un artículo. En otra realización, el conjunto de resultados incluye también los identificadores de artículo de los artículos ubicados en la red 106 o los artículos de la red situados en un motor de búsqueda en un dispositivo de servidor. Los artículos de la red incluyen los artículos ubicados en la red 106 no vistos anteriormente o referenciados de otra manera por parte del usuario 112a, tales como páginas web no vistas anteriormente por el usuario 112a.
El formateador 134 puede recibir el resultado de la búsqueda por medio del sistema de consulta 132 del motor de búsqueda 122 y dar formato a los resultados de salida a un procesador de visualización 128. En una realización, el formateador 134 puede formatear los resultados en XML, HTML o texto delineado de tabulador. El procesador de visualización 128 puede estar contenido en la memoria 108 y puede controlar la visualización del conjunto de resultados en un dispositivo de visualización asociado con el dispositivo del cliente 102. El procesador de visualización 128 puede comprender varios componentes. Por ejemplo, en una realización, el procesador de visualización 128 comprende un protocolo de transferencia de hipertexto (HTTP) que recibe las solicitudes de información y responde mediante la construcción y transmisión de páginas de lenguaje de marco de hipertexto (HTML). En esta realización, el servidor HTTP comprende una versión a escala reducida del servidor Web Apache. El procesador de visualización 128 puede estar asociado con un conjunto de APIs para permitir que varias aplicaciones reciban los resultados y los muestren en distintos formatos. Los APIs de visualización se pueden implementar de distintas maneras, incluyendo, por ejemplo, mensajería de Windows, exportaciones DLL, interfaz COM, VB, JAVA o. librerías .NET, o un servicio web.
A través de los dispositivos del cliente 102a-n, los usuarios 112a-n pueden comunicarse a través de la red 106, entre sí y con otros sistemas y dispositivos de acoplamiento a la red 106. Como se muestra en la figura 1, un dispositivo de servidor 150 se puede acoplar a la red 106. En la realización mostrada en la figura 1, el motor de búsqueda 122 puede transmitir una consulta de búsqueda que comprende una consulta explícita o implícita, o ambas, al dispositivo de servidor 150. El usuario 112a también puede realizar una búsqueda en una interfaz de motor de búsqueda, que puede ser transmitida al dispositivo de servidor 150 mediante el dispositivo del cliente 102a a través de la red 106. En otra realización, la señal de consulta, por el contrario, puede ser enviada a un servidor proxy (no mostrado), que transmite la señal al dispositivo de búsqueda del servidor 150. Otras configuraciones son posibles.
El dispositivo de servidor 150 puede incluir un servidor de la ejecución de un motor de búsqueda de programas de aplicación, tales como el motor de búsqueda de Google™. En otras realizaciones, el dispositivo de servidor 150 puede comprender un servidor de información relacionada o un servidor de publicidad. Similar a los dispositivos del cliente 102a-n, el dispositivo de servidor 150 puede incluir un procesador 160, junto con una memoria legible por
ordenador 162. El dispositivo de servidor 150, representado como un solo sistema de computación, se puede implementar como una red de procesadores informáticos. Ejemplos de un dispositivo de servidor 150 son servidores, ordenadores centrales, ordenadores en red, un dispositivo basado en el procesador, y otros tipos similares de sistemas y dispositivos. El procesador del servidor 160 puede ser cualquiera de una serie de procesadores de ordenador, tales como procesadores de Intel Corporation de Santa Clara, California y Motorola Corporation de Schaumburg, Illinois. En otra realización, el dispositivo de servidor 150 puede existir en un dispositivo del cliente. En otra realización, puede haber varios dispositivos de servidor 150.
La memoria 162 contiene el programa de aplicación del motor de búsqueda, también conocido como un motor de búsqueda de la red 170. El motor de búsqueda 170 puede localizar la información relevante de la red 106 en respuesta a una consulta de búsqueda de un dispositivo del cliente 102a. El motor de búsqueda 170 puede proporcionar un conjunto de resultados al dispositivo del cliente 102a a través de la red 106. El conjunto de resultados puede comprender uno o más identificadores de artículos. Un identificador de artículo puede ser, por ejemplo, un localizador de recursos uniforme (URL), un nombre de archivo, un enlace, un icono, una ruta de un archivo local, o cualquier otra cosa que identifica a un artículo. En una realización, un identificador de artículo puede comprender una URL asociada con un artículo.
En una realización, el dispositivo de servidor 150, o el dispositivo relacionado, ha realizado previamente un rastreo de la red 106 para localizar artículos, tales como páginas web, almacenados en otros dispositivos o sistemas acoplados a la red 106, y los artículos indexados en la memoria 162 o en otro dispositivo de almacenamiento de datos. Debe tenerse en cuenta que se pueden usar otros procedimientos para la indización de artículos en lugar o en combinación con el rastreo, tales como la presentación manual.
Cabe señalar que otras realizaciones de la presente invención pueden comprender sistemas con arquitectura diferente a la que se muestra en la figura 1. Por ejemplo, en algunas otras realizaciones de la presente invención, el dispositivo del cliente 102 es un dispositivo independiente que no está permanentemente unido a una red. El sistema 100 que se muestra en la figura 1 no es más que un ejemplo, y se usa para explicar los procedimientos de ejemplo mostrados en las figuras 2 y 3.
Varios procedimientos de acuerdo con las realizaciones de la presente invención pueden llevarse a cabo. Por ejemplo, en una realización de un motor de búsqueda de captura de un evento en tiempo real cuando se produce el evento, en el que el evento comprende la interacción del usuario con un artículo sobre un dispositivo del cliente, en el que el artículo es susceptible de ser asociado con al menos uno de una pluralidad de aplicaciones del cliente, se actualiza un estado del usuario actual, basado en parte en el evento, determina si el evento debe ser indexado, y si el evento debe ser indexado, indexa el evento y almacena el evento y por lo menos una parte del contenido relacionado con el artículo.
En otra realización, un motor de búsqueda pueden captar una pluralidad de eventos que ocurren en un dispositivo del cliente, en el que los eventos están asociados con al menos uno de una pluralidad de aplicaciones del cliente, en el que por lo menos algunos de los eventos se capturan en tiempo real cuando se produce el evento, se indexan y se almacenan por lo menos algunos de los eventos, en el que los eventos que se indexan y se almacenan tienen un artículo asociado, reciben una consulta de búsqueda, y se localizan los artículos pertinentes de los eventos relevantes para la consulta de búsqueda. El motor de búsqueda también puede generar un resultado de búsqueda fijado a partir de los artículos relevantes. En una realización, la consulta de búsqueda es introducida por el usuario. En otra realización, la consulta de búsqueda es generada por el motor de búsqueda basado en un estado de usuario actual determinado a partir de eventos en tiempo real.
En otra realización, una pluralidad de eventos en tiempo real se capturan en tiempo real ante la ocurrencia de los eventos en tiempo real, en donde cada evento en tiempo real comprende una interacción del usuario con un artículo sobre un dispositivo del cliente, en el que el artículo es capaz de estar asociado con al menos uno de una pluralidad de aplicaciones de cliente, una pluralidad de eventos históricos que se produjeron en el pasado son capturados, en el que cada evento histórico comprende la interacción del usuario con un artículo sobre un dispositivo del cliente, en el que el artículo es capaz de estar asociado con al menos uno de una pluralidad de aplicaciones del cliente, para cada caso, se determina si el evento debe ser indexado, y si el evento debe ser indexado, el evento se indexa y se almacenan el evento y por lo menos una parte del contenido relacionado con el artículo.
En otra realización, un evento se captura en tiempo real cuando se produce el evento, en el que el evento comprende la interacción del usuario con un artículo sobre un dispositivo del cliente, en el que el artículo es susceptible de ser asociado con al menos uno de la pluralidad de las aplicaciones del cliente, un estado de usuario se actualiza basado en parte en el evento, el evento se indexa y se almacenan el evento y al menos una parte de los contenidos relacionados con el artículo. En esta realización, el evento puede ser un evento en tiempo real o puede ser un evento histórico.
En otra realización, una pluralidad de eventos que se producen en un dispositivo del cliente son capturados, en el que cada evento se asocia con al menos uno de una pluralidad de aplicaciones de cliente, por lo menos algunos de los eventos son indexados y almacenados, en el que los eventos que son indexados y almacenados tienen un artículo del cliente asociado, una pluralidad de artículos de la red se indexan, se recibe una consulta de búsqueda, y
los artículos de clientes relevantes y los artículos basados en la red se encuentran, al menos en parte, en la consulta de búsqueda. En esta realización, por lo menos algunos de los eventos pueden ser eventos en tiempo real capturados en tiempo real. La consulta de búsqueda puede ser implícita basada generada al menos en parte al menos en eventos en tiempo real.
La figura 2 muestra un procedimiento de ejemplo 200 que proporciona un procedimiento para la captura y el procesamiento de un evento, de acuerdo con una realización de la invención. Este procedimiento de ejemplo se proporciona a modo de ejemplo, tal como se apreciará a partir de la descripción anterior de realizaciones de ejemplo, hay una variedad de formas para llevar a cabo los procedimientos en otras realizaciones de la presente invención. El procedimiento 200 que se muestra en la figura 2 puede ser ejecutado o realizado de otra manera por cualquiera de los diversos sistemas. El procedimiento 200 a continuación se describe como realizado por el sistema 100 que se muestra en la figura 1 a modo de ejemplo, y los distintos elementos del sistema 100 se hacen referencia en la explicación del procedimiento de ejemplo de la figura 2.
En 202, el procesador de captura 124 captura de un evento. El evento puede ser un evento en tiempo real o puede ser un evento histórico. El procesador de captura 124 puede capturar un evento en tiempo real mediante la identificación y la recopilación de datos de eventos asociados con el evento cuando se produce el evento. El procesador de captura 124 puede capturar un evento histórico, por ejemplo, rastreando periódicamente la memoria 108 o un dispositivo de almacenamiento de datos asociados del dispositivo del cliente 112a para artículos previamente capturados o recibir los artículos o los datos de las aplicaciones del cliente y la identificación y la recopilación de datos de eventos asociados con el evento. El procesador de captura 124 pueden tener distintos componentes de captura para cada aplicación del cliente, monitorización de la red, rendimiento de captura de datos, captura de pulsaciones de teclas, y captura de pantalla. En una realización, el componente de captura puede usar un mecanismo de eventos de definición generalizada, tal como un esquema de eventos que ya se ha definido y registrado en el dispositivo del cliente 102a, para capturar o expresar el evento.
En 204, el procesador de captura 124 se determina si el evento que se captura es un evento indexable. Como se explicó anteriormente, algunos eventos en tiempo real no pueden ser indexados (eventos no indexables en tiempo real). En una realización, los eventos no indexable en tiempo real se usan para actualizar el estado actual del usuario y son, por ejemplo, el examen de una parte de un artículo, el cambio de un artículo, y el cierre de un artículo. En esta realización, los eventos no indexables no son indexados o enviados para su almacenamiento por el indizador 130. Los eventos indexables pueden ser eventos indexables en tiempo real o eventos históricos. Ejemplos de eventos indexables incluyen la recepción de un mensaje de correo electrónico, la visualización de una página web, guardar un documento de procesamiento de textos, y el envío de un mensaje de mensajería instantánea.
Si se determina un evento indexable, entonces, en 206, el evento puede ser enviado por el procesador de captura 124 a la cola 126 con una indicación de que se trata de un evento indexable. En la realización mostrada en la figura 2, los eventos indexables en tiempo real se envían a una cola de estado del usuario y a una cola de índice en la cola 126 y los eventos históricos se envían a la cola de la cola en índice 126. Por otra parte, los eventos indexables en tiempo real no pueden ser enviados a la cola de estado del usuario para ahorrar tiempo de cálculo. El procesador de captura 124 puede enviar el evento en una forma descrita por un esquema de eventos a la cola 126. Si el evento está determinado que es un evento no indexable, y luego, en el 206, el evento no indexable puede ser enviado por el procesador de captura 124 a la cola de estado del usuario de la cola 126 con una indicación de que no es para que se indexe. En una realización alternativa, el bloque 204 se puede realizar después y/o antes del bloque 206. Por ejemplo, algunos eventos pueden ser determinados para ser indexables o no indexables por el procesador de captura 124 y otros eventos se pueden determinar que son indexables o no indexables mediante el indizador 130.
En una realización, la cola 126 contiene el evento hasta que el motor de búsqueda está listo para recibirla. Con base en los datos del evento, al evento se le puede dar prioridad en la cola 126 para su manejo. Por ejemplo, a los eventos históricos se les da una prioridad más baja para el procesamiento de la cola 126 que los eventos en tiempo real. En una realización, cuando el indizador 130 está listo para procesar otro evento, se puede recuperar un evento
o eventos de la cola de índice de la cola126. El sistema de consulta 132 puede recuperar un evento o eventos de la cola de estado del usuario de la cola 126, cuando esté listo para actualizar el estado del usuario. La información de la ubicación de un evento capturado puede ser usada para actualizar el estado del usuario. En otro ejemplo, una cola no se usa y los eventos son enviados directamente al motor de búsqueda 122 del procesador de captura 124.
En 208, el indizador 130 indexa y almacena el evento. El indizador 130 puede recuperar un evento de la cola 126 cuando está listo para procesar el evento. En una realización, el indizador 130 determina si el evento es un evento duplicado y si no se asigna un ID de evento para el evento. El indizador 130 también puede asociar el evento con los eventos relacionados. En la realización mostrada en la figura 2, el indizador 130 puede determinar los términos indexables asociados con el evento, las fechas y tiempos asociados con el evento, y otros datos relacionados con el evento desde el esquema de eventos. El indizador 130 puede asociar el evento con los términos indexables que se encuentran en el índice 142. El evento se pueden almacenar en la base de datos 144 y el contenido del evento se puede almacenar en el depósito 146. La captura de los eventos que están indexados y almacenados por el motor de búsqueda 122 permite al usuario 122a buscar artículos en el dispositivo del cliente 102a y permite que el motor de búsqueda busque automáticamente los artículos en el dispositivo del cliente 102a.
La figura 3 muestra un procedimiento 300 de ejemplo que proporciona un procedimiento para localizar y recuperar los artículos en un dispositivo del cliente, de acuerdo con una realización. Este procedimiento de ejemplo se proporciona a modo de ejemplo, ya que hay una gran variedad de formas para llevar a cabo los procedimientos según la presente invención. El procedimiento 300 que se muestra en la figura 3 se puede ejecutar o realizar de otra manera mediante cualquiera de los diversos sistemas. El procedimiento 300 a continuación se describe como llevado a cabo por el sistema 100 que se muestra en la figura 1 a modo de ejemplo, los diversos elementos del sistema 100 se hacen referencia en el procedimiento de ejemplo de la figura 3.
En 302, el sistema de consulta 132 recibe una consulta de búsqueda. La consulta puede ser una consulta explícita o una consulta implícita. Una consulta explícita puede ser generada por un usuario introduciendo términos de búsqueda en una interfaz de motor de búsqueda que aparece en el dispositivo del cliente 102a. Una consulta implícita pueden ser generada por el sistema de consulta 132 sobre la base de un estado de usuario actual. Por ejemplo, el usuario 112a puede introducir los términos "agenda de la reunión mensual del presupuesto" en una interfaz de búsqueda. Alternativamente, el usuario puede introducir 112a los términos "agenda de la reunión mensual del presupuesto" en un correo electrónico que el usuario 112a está redactando. El procesador de captura 124 puede capturar este evento contextual y puede ser recibido por el sistema de consulta 132. El sistema de consulta 132 puede generar una consulta de búsqueda basado en los términos capturados en este evento contextual.
En 304, el sistema de consulta 132 localiza los artículos relacionados con la consulta de búsqueda. El sistema de consulta 132 puede localizar los artículos relevantes haciendo coincidir los términos de la consulta de búsqueda con los términos ubicados en el índice 142. Por ejemplo, el sistema de consulta 132 puede hacer coincidir los términos de la consulta con los términos en el índice 142. A partir de los términos coincidentes, el sistema de consulta 132 puede determinar los eventos almacenados en la base de datos 144 relacionados con los términos en los identificadores de eventos asociados con los términos coincidentes. A partir de estos eventos, el sistema de consulta 132 puede determinar artículos relacionados con los eventos. Los artículos pueden ser almacenados en el depósito
146. Para la consulta de búsqueda "agenda para la reunión sobre el presupuesto mensual", por ejemplo, el sistema de consulta 132 puede localizar varios artículos de distintas aplicaciones del cliente que contienen los términos de la consulta, como por ejemplo, correos electrónicos, documentos de presentación, documentos de texto, hojas de cálculo y otros artículos coincidentes con los términos de la consulta. La consulta también puede designar un tiempo y el sistema de consulta 132 puede localizar artículos que son relevantes para el tiempo de consulta. La consulta también puede designar un evento del tipo y el sistema de consulta 132 puede localizar artículos de un tipo específico, tal como, por ejemplo, archivos de texto o mensajes de correo electrónico. El sistema de consulta 132 también puede recuperar los artículos de la red de un motor de búsqueda de 170 que son relevantes para la consulta.
En 306, el sistema de consulta 132 genera un resultado de búsqueda establecido sobre la base de los artículos localizados. En una realización, el sistema de consulta 132 puede ordenar y clasificar los artículos localizados sobre la base de una variedad de señales que indican la preferencia del usuario 112a para los artículos. El conjunto de resultados de búsqueda puede contener una lista ordenada de identificadores de artículos para los artículos relacionados con una variedad de diferentes aplicaciones del cliente 120 y los identificadores de artículos de los artículos de la red. Cada enlace puede contener también un resumen del artículo, así como una imagen asociada con el artículo.
En 308, el conjunto de resultados de búsqueda se formatea con el formateador 134. En una realización, el formateador 134 puede formatear el conjunto de resultados en XML o HTML. En 310, el conjunto de resultados de la búsqueda se muestra en el dispositivo del cliente 102 por el procesador de visualización 128. Por ejemplo, el conjunto de resultados de búsqueda se pueden visualizar en el dispositivo de visualización asociado con el dispositivo del cliente 102. Si el conjunto de resultados de la búsqueda se generó en respuesta a una consulta implícita, el procesador de visualización 128 puede determinar el momento oportuno para mostrar el conjunto de resultados de la búsqueda implícita. El usuario 112a puede seleccionar un identificador del artículo para un artículo y mostrar el artículo asociado en el dispositivo de visualización.
El ambiente que se muestra refleja la realización de la arquitectura del motor de búsqueda del lado del cliente. Son posibles otras realizaciones, tal como por ejemplo un dispositivo del cliente independiente o un motor de búsqueda de la red.
Aunque la descripción anterior contiene muchos detalles, estos detalles no se deben interpretar como limitaciones en el alcance de la invención, sino meramente como ejemplificaciones de las realizaciones descritas. Por ejemplo, los ejemplos de los artículos y los eventos son ilustrativos y no pretenden ser limitativos. Los expertos en la materia prevén muchas otras variantes posibles que están dentro del alcance de la invención.

Claims (20)

  1. REIVINDICACIONES
    1.
    Procedimiento, que comprende:
    capturar (202) un evento en tiempo real cuando se produce el evento, en el que el evento comprende una interacción del usuario con un artículo en un dispositivo del cliente, en el que el artículo es susceptible de ser asociado con al menos uno de una pluralidad de aplicaciones del cliente (120); determinar (204) si el evento debe ser indexado o si el evento es un evento no indexable; si el evento debe ser indexado, indexar (208) el evento y almacenar (208) el evento y al menos una porción del contenido asociado con el artículo, en respuesta al evento que determina un evento no indexable, actualizar un estado de usuario actual para el usuario basado en el evento; generar automáticamente una consulta de búsqueda implícita basada en el estado del usuario actual para producir un resultado de búsqueda que contiene artículos asociados con los eventos capturados; y mostrar al menos una porción del resultado de la búsqueda en el dispositivo del cliente.
  2. 2.
    Procedimiento según la reivindicación 1, en el que el artículo está asociado con una aplicación del cliente.
  3. 3.
    Procedimiento según la reivindicación 1 o la reivindicación 2, en el que el evento se captura en forma de un esquema de eventos predefinidos.
  4. 4.
    Procedimiento según una cualquiera de las reivindicaciones anteriores, en el que la interacción del usuario con el artículo comprende la carga del artículo.
  5. 5.
    Procedimiento según una cualquiera de las reivindicaciones anteriores, en el que la interacción del usuario con el artículo comprende guardar el artículo.
  6. 6.
    Procedimiento según una cualquiera de las reivindicaciones anteriores, en el que la interacción del usuario con el artículo comprende ver el artículo.
  7. 7.
    Procedimiento según una cualquiera de las reivindicaciones anteriores, en el que la interacción del usuario con el artículo comprende actualizar los metadatos del artículo.
  8. 8.
    Procedimiento según la reivindicación 7 , en el que la actualización de los metadatos de un artículo comprende marcar el artículo como favorito.
  9. 9.
    Procedimiento según la reivindicación 7 o la reivindicación 8, en el que la actualización de los metadatos del artículo comprende la impresión del artículo.
  10. 10.
    Procedimiento según una cualquiera de las reivindicaciones 7 a 9, en el que la actualización de los metadatos del artículo comprende la eliminación del artículo.
  11. 11.
    Procedimiento según una cualquiera de las reivindicaciones 7 a 9, en el que la actualización de los metadatos del artículo comprende mover el artículo.
  12. 12.
    Procedimiento según una cualquiera de las reivindicaciones anteriores, que también comprende:
    responder al evento que se determina en un evento indexable, indexando el evento en un índice.
  13. 13.
    Procedimiento según la reivindicación 12, que también comprende:
    recibir una segunda consulta de búsqueda; determinar si el evento está asociado con la segunda consulta de búsqueda buscando en el índice; y responder al evento que se asocia con la segunda consulta de búsqueda, generando (306) un segundo resultado de búsqueda basado en el artículo.
  14. 14.
    Procedimiento según la reivindicación 13, en el que la segunda consulta de búsqueda es introducida por un usuario.
  15. 15.
    Procedimiento según la reivindicación 13 o la reivindicación 14, que también comprende la localización de los artículos de la red relevantes para la segunda consulta de búsqueda.
  16. 16.
    Procedimiento según una cualquiera de las reivindicaciones 13 a 15, en el que la generación del resultado de la búsqueda basado en el artículo comprende la generación del resultado de la búsqueda basado en el artículo y el artículo de la red.
  17. 17.
    Procedimiento según una cualquiera de las reivindicaciones anteriores, que también comprende:
    capturar (202) un evento histórico que ocurrió en el pasado, en el que el evento histórico comprende la interacción del usuario con un segundo artículo en el dispositivo del cliente;
    determinar (204) si el evento histórico es un evento indexable; responder al evento histórico que es un evento indexable, indexando los datos de eventos asociados con el evento histórico en el índice, comprendiendo los datos de eventos asociados con el evento histórico al menos una porción del segundo artículo;
    5 determinar si el evento histórico está asociado con la consulta de búsqueda buscando el índice; y responder al evento histórico que está asociado con la consulta de búsqueda, generar el resultado de la búsqueda que incluye el segundo artículo.
  18. 18. Medio legible por ordenador codificado con un programa de ordenador ejecutable, comprendiendo el programa
    informático el código del programa para realizar el procedimiento según una cualquiera de las reivindicaciones 10 anteriores.
  19. 19. Sistema para la generación automática de consultas de búsqueda, comprendiendo el sistema:
    un procesador de captura configurado para capturar un evento en tiempo real, en el que el evento comprende una interacción del usuario con un artículo en un dispositivo del cliente, estando el procesador de captura también configurado para determinar si el evento es un evento no indexable, actualizando un estado del
    15 usuario actual para el usuario basado en el evento de respuesta al evento que determina un evento no indexable, y generando automáticamente una consulta de búsqueda basada en el estado del usuario actual; un motor de búsqueda configurado para producir un resultado de búsqueda para la consulta de búsqueda; y el dispositivo del cliente está configurado para mostrar al menos una porción de los resultados de búsqueda.
  20. 20. Sistema según la reivindicación 19, en el que el motor de búsqueda está también configurado para indexar el 20 evento en un índice en respuesta al evento que determina un evento indexable.
ES05731427T 2004-03-31 2005-03-30 Procedimientos y sistemas para la captura y la recuperación de información. Active ES2373297T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US814773 2004-03-31
US10/814,773 US7941439B1 (en) 2004-03-31 2004-03-31 Methods and systems for information capture
US881584 2004-06-30
US10/881,584 US7725508B2 (en) 2004-03-31 2004-06-30 Methods and systems for information capture and retrieval
PCT/US2005/010985 WO2005098594A2 (en) 2004-03-31 2005-03-30 Methods and systems for information capture and retrieval

Publications (1)

Publication Number Publication Date
ES2373297T3 true ES2373297T3 (es) 2012-02-02

Family

ID=35456163

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05731427T Active ES2373297T3 (es) 2004-03-31 2005-03-30 Procedimientos y sistemas para la captura y la recuperación de información.

Country Status (6)

Country Link
US (1) US7725508B2 (es)
EP (1) EP1745360B1 (es)
JP (1) JP4812747B2 (es)
AT (1) ATE509319T1 (es)
ES (1) ES2373297T3 (es)
WO (1) WO2005098594A2 (es)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US7814155B2 (en) 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US8712986B2 (en) * 2004-04-07 2014-04-29 Iac Search & Media, Inc. Methods and systems providing desktop search capability to software application
US8838591B2 (en) 2005-08-23 2014-09-16 Ricoh Co., Ltd. Embedding hot spots in electronic documents
US8856108B2 (en) 2006-07-31 2014-10-07 Ricoh Co., Ltd. Combining results of image retrieval processes
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US8156115B1 (en) 2007-07-11 2012-04-10 Ricoh Co. Ltd. Document-based networking with mixed media reality
US8176054B2 (en) 2007-07-12 2012-05-08 Ricoh Co. Ltd Retrieving electronic documents by converting them to synthetic text
US8868555B2 (en) 2006-07-31 2014-10-21 Ricoh Co., Ltd. Computation of a recongnizability score (quality predictor) for image retrieval
US8825682B2 (en) 2006-07-31 2014-09-02 Ricoh Co., Ltd. Architecture for mixed media reality retrieval of locations and registration of images
US7702673B2 (en) 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US8965145B2 (en) 2006-07-31 2015-02-24 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US8156116B2 (en) 2006-07-31 2012-04-10 Ricoh Co., Ltd Dynamic presentation of targeted information in a mixed media reality recognition system
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US7812986B2 (en) 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
US8949287B2 (en) 2005-08-23 2015-02-03 Ricoh Co., Ltd. Embedding hot spots in imaged documents
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US20060259511A1 (en) * 2005-05-13 2006-11-16 Yahoo! Inc. Media object organization across information management services
WO2007002820A2 (en) * 2005-06-28 2007-01-04 Yahoo! Inc. Search engine with augmented relevance ranking by community participation
US8533199B2 (en) * 2005-12-14 2013-09-10 Unifi Scientific Advances, Inc Intelligent bookmarks and information management system based on the same
ES2303422B1 (es) * 2005-12-19 2009-06-23 Universidad De Zaragoza Sistema y procedimiento de registro y certificacion de la actividad y/o comunicacion entre terminales.
US7680763B2 (en) * 2005-12-21 2010-03-16 International Business Machines Corporation Administration of resources in system-wide search systems
US20070174384A1 (en) * 2006-01-25 2007-07-26 John Abd-El-Malek Sidebar communication system and method
US7478182B2 (en) * 2006-01-31 2009-01-13 Schweig Marc E Keyboard, mouse, and video (KVM) session capture system that stores and can playback portions of live KVM session via forensic capture module
US20080016023A1 (en) * 2006-07-17 2008-01-17 The Mathworks, Inc. Storing and loading data in an array-based computing environment
US20080021902A1 (en) * 2006-07-18 2008-01-24 Dawkins William P System and Method for Storage Area Network Search Appliance
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US8201076B2 (en) 2006-07-31 2012-06-12 Ricoh Co., Ltd. Capturing symbolic information from documents upon printing
US8676810B2 (en) * 2006-07-31 2014-03-18 Ricoh Co., Ltd. Multiple index mixed media reality recognition using unequal priority indexes
US7849079B2 (en) * 2006-07-31 2010-12-07 Microsoft Corporation Temporal ranking of search results
AU2011253732B2 (en) * 2006-07-31 2012-09-20 Microsoft Corporation Temporal ranking of search results
US9020966B2 (en) 2006-07-31 2015-04-28 Ricoh Co., Ltd. Client device for interacting with a mixed media reality recognition system
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US7945434B2 (en) * 2007-03-22 2011-05-17 Progress Software Corporation Non-intrusive event capturing for event processing analysis
US10747952B2 (en) * 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US9378472B2 (en) * 2008-12-22 2016-06-28 Adobe Systems Incorporated Systems and methods for enabling and configuring tracking of user interactions on computer applications
US8296276B2 (en) * 2008-12-22 2012-10-23 Microsoft Corporation Scope based indexing prioritization
US8667026B1 (en) 2009-01-22 2014-03-04 American Express Travel Related Services Company, Inc. Method and system for ranking multiple data sources
CN102467365A (zh) * 2010-10-29 2012-05-23 国际商业机器公司 提供帮助信息的方法和装置
US9465866B2 (en) * 2011-06-09 2016-10-11 International Business Machines Corporation Task context recovery
CN102880618A (zh) * 2011-07-15 2013-01-16 国际商业机器公司 用于网页文档搜索的方法及系统
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
US8972409B2 (en) * 2011-07-27 2015-03-03 Google Inc. Enabling search for conversations with two messages each having a query team
US9558292B2 (en) * 2012-04-10 2017-01-31 Empire Technology Development Llc Distilling popular information of a web page
US9805078B2 (en) * 2012-12-31 2017-10-31 Ebay, Inc. Next generation near real-time indexing
US9659043B2 (en) * 2013-02-07 2017-05-23 Enigma Technologies, Inc. Data system and method
US9372898B2 (en) * 2014-07-17 2016-06-21 Google Inc. Enabling event prediction as an on-device service for mobile interaction
CN113626462B (zh) * 2021-07-15 2022-11-15 北京百度网讯科技有限公司 即时通讯对象的搜索方法、装置、电子设备和存储介质
US11797486B2 (en) 2022-01-03 2023-10-24 Bank Of America Corporation File de-duplication for a distributed database

Family Cites Families (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US669738A (en) * 1898-08-06 1901-03-12 Elihu Thomson Vapor-generator.
US4410957A (en) 1980-11-20 1983-10-18 International Business Machines Corporation Keystroke queueing system
US6978277B2 (en) 1989-10-26 2005-12-20 Encyclopaedia Britannica, Inc. Multimedia search system
US5321838A (en) 1991-02-28 1994-06-14 Hensley Billy W Event capturing for computer software evaluation
US5555346A (en) 1991-10-04 1996-09-10 Beyond Corporated Event-driven rule-based messaging system
US5280612A (en) 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system
JPH06237300A (ja) 1992-12-23 1994-08-23 American Teleph & Telegr Co <Att> 電気通信網内における位置に固有なメッセージサービス
JP3147572B2 (ja) 1993-03-22 2001-03-19 株式会社日立製作所 プログラム生成方法
US5623652A (en) 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US5592378A (en) 1994-08-19 1997-01-07 Andersen Consulting Llp Computerized order entry system and method
JP2626598B2 (ja) 1994-11-25 1997-07-02 日本電気株式会社 グラフィカルユーザインタフェースを有する対話システムの操作性評価装置
US5748954A (en) * 1995-06-05 1998-05-05 Carnegie Mellon University Method for searching a queued and ranked constructed catalog of files stored on a network
US5701469A (en) * 1995-06-07 1997-12-23 Microsoft Corporation Method and system for generating accurate search results using a content-index
US5907836A (en) 1995-07-31 1999-05-25 Kabushiki Kaisha Toshiba Information filtering apparatus for selecting predetermined article from plural articles to present selected article to user, and method therefore
US6477585B1 (en) 1995-08-18 2002-11-05 International Business Machines Corporation Filter mechanism for an event management service
US5881315A (en) 1995-08-18 1999-03-09 International Business Machines Corporation Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive
US5742816A (en) 1995-09-15 1998-04-21 Infonautics Corporation Method and apparatus for identifying textual documents and multi-mediafiles corresponding to a search topic
DE19547210A1 (de) * 1995-12-18 1997-06-19 Basf Ag 1,7-Disubstituierte Perylen-3,4,9-10-tetracarbonsäuren, deren Dianhydride und Diimide
US5964839A (en) 1996-03-29 1999-10-12 At&T Corp System and method for monitoring information flow and performing data collection
US6581056B1 (en) 1996-06-27 2003-06-17 Xerox Corporation Information retrieval system providing secondary content analysis on collections of information objects
US5961610A (en) 1996-08-13 1999-10-05 General Electric Company Systems, methods and apparatus for generating and controlling display of medical images
US6370563B2 (en) 1996-09-30 2002-04-09 Fujitsu Limited Chat system terminal device therefor display method of chat system and recording medium
GB2331166B (en) 1997-11-06 2002-09-11 Ibm Database search engine
US6199073B1 (en) 1997-04-21 2001-03-06 Ricoh Company, Ltd. Automatic archiving of documents during their transfer between a peripheral device and a processing device
JP3008872B2 (ja) 1997-01-08 2000-02-14 日本電気株式会社 Guiシステム自動操作装置および操作マクロ実行装置
US6006222A (en) 1997-04-25 1999-12-21 Culliss; Gary Method for organizing information
US6282548B1 (en) * 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
US5893093A (en) 1997-07-02 1999-04-06 The Sabre Group, Inc. Information search and retrieval with geographical coordinates
US6078916A (en) 1997-08-01 2000-06-20 Culliss; Gary Method for organizing information
US6014665A (en) 1997-08-01 2000-01-11 Culliss; Gary Method for organizing information
US6182068B1 (en) 1997-08-01 2001-01-30 Ask Jeeves, Inc. Personalized search methods
US6865715B2 (en) 1997-09-08 2005-03-08 Fujitsu Limited Statistical method for extracting, and displaying keywords in forum/message board documents
US5956722A (en) 1997-09-23 1999-09-21 At&T Corp. Method for effective indexing of partially dynamic documents
US6073130A (en) 1997-09-23 2000-06-06 At&T Corp. Method for improving the results of a search in a structured database
US5970249A (en) 1997-10-06 1999-10-19 Sun Microsystems, Inc. Method and apparatus for performing byte-code optimization during pauses
US6779030B1 (en) 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
US6061678A (en) 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
EP1038368B1 (en) 1997-11-13 2013-07-31 Intellectual Ventures I LLC File transfer system
US6055579A (en) 1997-11-17 2000-04-25 Silicon Graphics, Inc. Distributed control and synchronization of multiple data processors using flexible command queues
US6289342B1 (en) 1998-01-05 2001-09-11 Nec Research Institute, Inc. Autonomous citation indexing and literature browsing using citation context
US6346952B1 (en) 1999-12-01 2002-02-12 Genesys Telecommunications Laboratories, Inc. Method and apparatus for summarizing previous threads in a communication-center chat session
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
US7372976B2 (en) 1998-04-16 2008-05-13 Digimarc Corporation Content indexing and searching using content identifiers and associated metadata
US6263348B1 (en) 1998-07-01 2001-07-17 Serena Software International, Inc. Method and apparatus for identifying the existence of differences between two files
US6604236B1 (en) 1998-06-30 2003-08-05 Iora, Ltd. System and method for generating file updates for files stored on read-only media
US6275820B1 (en) * 1998-07-16 2001-08-14 Perot Systems Corporation System and method for integrating search results from heterogeneous information resources
US6226630B1 (en) 1998-07-22 2001-05-01 Compaq Computer Corporation Method and apparatus for filtering incoming information using a search engine and stored queries defining user folders
US6119147A (en) 1998-07-28 2000-09-12 Fuji Xerox Co., Ltd. Method and system for computer-mediated, multi-modal, asynchronous meetings in a virtual space
RU2138076C1 (ru) 1998-09-14 1999-09-20 Закрытое акционерное общество "МедиаЛингва" Система поиска информации в компьютерной сети
US6275957B1 (en) 1998-09-21 2001-08-14 Microsoft Corporation Using query language for provider and subscriber registrations
JP2000099441A (ja) * 1998-09-25 2000-04-07 Fujitsu Ltd 情報を調整して提示する情報提示装置および方法
US6363373B1 (en) 1998-10-01 2002-03-26 Microsoft Corporation Method and apparatus for concept searching using a Boolean or keyword search engine
US6380924B1 (en) 1998-10-22 2002-04-30 Young Yee Mouse/keyboard capture recorder (MCR) apparatus and methodology
US6446076B1 (en) 1998-11-12 2002-09-03 Accenture Llp. Voice interactive web-based agent system responsive to a user location for prioritizing and formatting information
US6826553B1 (en) 1998-12-18 2004-11-30 Knowmadic, Inc. System for providing database functions for multiple internet sources
US6199067B1 (en) 1999-01-20 2001-03-06 Mightiest Logicon Unisearch, Inc. System and method for generating personalized user profiles and for utilizing the generated user profiles to perform adaptive internet searches
US6341371B1 (en) 1999-02-23 2002-01-22 International Business Machines Corporation System and method for optimizing program execution in a computer system
US6401239B1 (en) 1999-03-22 2002-06-04 B.I.S. Advanced Software Systems Ltd. System and method for quick downloading of electronic files
US6490577B1 (en) 1999-04-01 2002-12-03 Polyvista, Inc. Search engine with user activity memory
US6175830B1 (en) 1999-05-20 2001-01-16 Evresearch, Ltd. Information management, retrieval and display system and associated method
US7225182B2 (en) 1999-05-28 2007-05-29 Overture Services, Inc. Recommending search terms using collaborative filtering and web spidering
US6467052B1 (en) 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system
US6592627B1 (en) 1999-06-10 2003-07-15 International Business Machines Corporation System and method for organizing repositories of semi-structured documents such as email
US6560655B1 (en) 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US6873982B1 (en) 1999-07-16 2005-03-29 International Business Machines Corporation Ordering of database search results based on user feedback
JP3791879B2 (ja) 1999-07-19 2006-06-28 富士通株式会社 文書要約装置およびその方法
US6853950B1 (en) 1999-07-20 2005-02-08 Newsedge Corporation System for determining changes in the relative interest of subjects
US6631345B1 (en) * 1999-08-12 2003-10-07 International Business Machines Corporation Recording, storing, and emulating user interaction events
US6532023B1 (en) 1999-08-12 2003-03-11 International Business Machines Corporation Recording selected applet events of a user interaction sequence
US6513036B2 (en) 1999-08-13 2003-01-28 Mindpass A/S Method and apparatus for searching and presenting search result from one or more information sources based on context representations selected from the group of other users
US6321228B1 (en) 1999-08-31 2001-11-20 Powercast Media, Inc. Internet search system for retrieving selected results from a previous search
US6681247B1 (en) 1999-10-18 2004-01-20 Hrl Laboratories, Llc Collaborator discovery method and system
US6526405B1 (en) 1999-12-17 2003-02-25 Microsoft Corporation Determining similarity between event types in sequences
US6480837B1 (en) 1999-12-16 2002-11-12 International Business Machines Corporation Method, system, and program for ordering search results using a popularity weighting
US6981040B1 (en) 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US6662226B1 (en) * 2000-01-27 2003-12-09 Inbit, Inc. Method and system for activating and capturing screen displays associated with predetermined user interface events
US6834308B1 (en) 2000-02-17 2004-12-21 Audible Magic Corporation Method and apparatus for identifying media content presented on a media playing device
US6877027B1 (en) 2000-02-19 2005-04-05 Hewlett-Packard Development Company, L.P. System and method for providing synchronization verification of multiple applications across remote systems
US6691175B1 (en) 2000-02-25 2004-02-10 Sun Microsystems, Inc. Method and apparatus for managing data propagation between software modules
US20020049608A1 (en) 2000-03-03 2002-04-25 Hartsell Neal D. Systems and methods for providing differentiated business services in information management environments
US6728763B1 (en) 2000-03-09 2004-04-27 Ben W. Chen Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins
US6665715B1 (en) 2000-04-03 2003-12-16 Infosplit Inc Method and systems for locating geographical locations of online users
GB2361555A (en) 2000-04-17 2001-10-24 Apama Inc Method of evaluating queries against received event information
AU2001262970A1 (en) 2000-05-02 2001-11-12 Sun Microsystems, Inc. Event service method and system
US6697838B1 (en) 2000-05-03 2004-02-24 Software Leader, Llc Method and system for annotating information resources in connection with browsing, in both connected and disconnected states
GB0012354D0 (en) 2000-05-22 2000-07-12 Nokia Networks Oy A method and system for providing location dependent information
JP5105456B2 (ja) 2000-05-30 2012-12-26 株式会社ホットリンク 知識サービスを提供する分散型モニタリングシステム
US6711572B2 (en) 2000-06-14 2004-03-23 Xosoft Inc. File system for distributing content in a data network and related methods
CN1300677C (zh) 2000-06-22 2007-02-14 微软公司 分布式计算服务平台
GB0016974D0 (en) 2000-07-12 2000-08-30 Univ Salford The Document retrieval system
US7035852B2 (en) * 2000-07-21 2006-04-25 International Business Machines Corporation Implementing a message queuing interface (MQI) indexed queue support that adds a key to the index on put commit
US7080073B1 (en) 2000-08-18 2006-07-18 Firstrain, Inc. Method and apparatus for focused crawling
US6907577B2 (en) 2000-09-06 2005-06-14 Trace Tervo System and method for accessing screen fields, functions and programs using a simple single key stroke
US6934740B1 (en) 2000-09-19 2005-08-23 3Com Corporation Method and apparatus for sharing common data objects among multiple applications in a client device
US6614729B2 (en) 2000-09-26 2003-09-02 David D. Griner System and method of creating digital recordings of live performances
US20020042789A1 (en) 2000-10-04 2002-04-11 Zbigniew Michalewicz Internet search engine with interactive search criteria construction
US7680672B2 (en) 2000-10-20 2010-03-16 Adobe Systems, Incorporated Event collection architecture
US20020073076A1 (en) 2000-12-11 2002-06-13 Yongjie Xu System and method for enabling off-line database functionality
US7136881B2 (en) 2000-12-15 2006-11-14 International Business Machines Corporation Method and system for processing directory events
US7143088B2 (en) 2000-12-15 2006-11-28 The Johns Hopkins University Dynamic-content web crawling through traffic monitoring
US7440943B2 (en) 2000-12-22 2008-10-21 Xerox Corporation Recommender system and method
US6983310B2 (en) 2000-12-29 2006-01-03 International Business Machines Corporation System and method for providing search capabilties on a wireless device
US6772143B2 (en) 2001-01-02 2004-08-03 Sprint Spectrum L.P. Method and system for managing messages
US20020091972A1 (en) 2001-01-05 2002-07-11 Harris David P. Method for predicting machine or process faults and automated system for implementing same
US6714939B2 (en) 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
US20020091568A1 (en) 2001-01-10 2002-07-11 International Business Machines Corporation Personalized profile based advertising system and method with integration of physical location using GPS
US6658423B1 (en) 2001-01-24 2003-12-02 Google, Inc. Detecting duplicate and near-duplicate files
US7168093B2 (en) 2001-01-25 2007-01-23 Solutionary, Inc. Method and apparatus for verifying the integrity and security of computer networks and implementation of counter measures
US20030055828A1 (en) 2001-03-29 2003-03-20 Koch Kevin S. Methods for synchronizing on-line and off-line transcript projects
US7856420B2 (en) 2001-04-19 2010-12-21 Hewlett-Packard Development Company, L.P. Zero latency enterprise enriched publish/subscribe
US20020184406A1 (en) 2001-05-29 2002-12-05 International Business Machines Corporation Method and system for handling window-based graphical events
US7293014B2 (en) 2001-06-18 2007-11-06 Siebel Systems, Inc. System and method to enable searching across multiple databases and files using a single search
US20040230572A1 (en) 2001-06-22 2004-11-18 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
EA008675B1 (ru) 2001-06-22 2007-06-29 Нервана, Инк. Система и способ поиска, управления, доставки и представления знаний
US6802055B2 (en) 2001-06-27 2004-10-05 Microsoft Corporation Capturing graphics primitives associated with any display object rendered to a graphical user interface
US20030028506A1 (en) 2001-06-29 2003-02-06 Lin Yu Deferred index building systems, methods and computer program products for storing temporally spaced apart bursts of data records in a database
US20030088433A1 (en) 2001-07-05 2003-05-08 Computer Associates Think, Inc. System and method for generating and propagating business events
US20030018521A1 (en) 2001-07-17 2003-01-23 International Business Machines Corporation Advertising based upon events reported from a GPS enabled event report system
US8285701B2 (en) 2001-08-03 2012-10-09 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator remote content crawler
US7082365B2 (en) 2001-08-16 2006-07-25 Networks In Motion, Inc. Point of interest spatial rating search method and system
JP2003067306A (ja) * 2001-08-24 2003-03-07 Hitachi Ltd 電子メールの蓄積管理方法
US7076483B2 (en) 2001-08-27 2006-07-11 Xyleme Sa Ranking nodes in a graph
US7328242B1 (en) 2001-11-09 2008-02-05 Mccarthy Software, Inc. Using multiple simultaneous threads of communication
WO2003044698A1 (en) 2001-11-15 2003-05-30 Visto Corporation System and methods for asychronous synchronization
US7363590B2 (en) 2001-11-27 2008-04-22 International Business Machines Corporation Calendar bar interface for electronic mail interaction
US20030131061A1 (en) 2001-11-28 2003-07-10 Active Buddy, Inc. Transparent proxy server for instant messaging system and methods
JP2003242176A (ja) * 2001-12-13 2003-08-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US20030123442A1 (en) 2001-12-27 2003-07-03 Drucker Benjamin T. Distributed usage metering of multiple networked devices
US6947924B2 (en) 2002-01-07 2005-09-20 International Business Machines Corporation Group based search engine generating search results ranking based on at least one nomination previously made by member of the user group where nomination system is independent from visitation system
CN1186737C (zh) 2002-02-05 2005-01-26 国际商业机器公司 对尚未访问的网页进行基于路径的排队的方法和系统
US20030154071A1 (en) 2002-02-11 2003-08-14 Shreve Gregory M. Process for the document management and computer-assisted translation of documents utilizing document corpora constructed by intelligent agents
US7062592B2 (en) * 2002-03-25 2006-06-13 Intel Corporation Selecting a queue for service in a queuing system
JP4082059B2 (ja) * 2002-03-29 2008-04-30 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7016919B2 (en) 2002-03-29 2006-03-21 Agilent Technologies, Inc. Enterprise framework and applications supporting meta-data and data traceability requirements
US7096255B2 (en) 2002-05-21 2006-08-22 Bellsouth Intellectual Property Corp. System and method for providing a roster list of temporary contacts having expiration periods designated by a user in an instant messaging environment
US6968509B1 (en) 2002-06-05 2005-11-22 Microsoft Corporation Recording of user-driven events within a computer application
US7016914B2 (en) * 2002-06-05 2006-03-21 Microsoft Corporation Performant and scalable merge strategy for text indexing
US20040002959A1 (en) 2002-06-26 2004-01-01 International Business Machines Corporation Method and system for providing context sensitive support for data processing device user search requests
US20040003038A1 (en) 2002-06-27 2004-01-01 Microsoft Corporation Live content processing for online presentation
JP4452012B2 (ja) 2002-07-04 2010-04-21 ヒューレット・パッカード・カンパニー 文書の特有性評価方法
JP2004062451A (ja) * 2002-07-26 2004-02-26 Sharp Corp 情報提示方法、情報提示装置、情報提示プログラム、情報提示プログラムを記録したコンピュータ読み取り可能な記録媒体、スケジュール管理方法
US20040031027A1 (en) 2002-08-08 2004-02-12 Hiltgen Daniel K. System for updating diverse file versions
US7099887B2 (en) 2002-08-08 2006-08-29 International Business Machines Corporation Hierarchical environments supporting relational schemas
US20070022155A1 (en) 2002-08-22 2007-01-25 Owens David H Method and system for integrating enterprise software applications with desktop software applications
WO2004023243A2 (en) 2002-09-03 2004-03-18 X1 Technologies, Llc Apparatus and methods for locating data
US7933957B2 (en) 2002-09-17 2011-04-26 At&T Intellectual Property Ii, L.P. Tracking email and instant messaging (IM) thread history
US7529752B2 (en) * 2002-09-18 2009-05-05 Netezza Corporation Asymmetric streaming record data processor method and apparatus
US20040064447A1 (en) 2002-09-27 2004-04-01 Simske Steven J. System and method for management of synonymic searching
US7254573B2 (en) 2002-10-02 2007-08-07 Burke Thomas R System and method for identifying alternate contact information in a database related to entity, query by identifying contact information of a different type than was in query which is related to the same entity
US7360096B2 (en) 2002-11-20 2008-04-15 Microsoft Corporation Securely processing client credentials used for Web-based access to resources
GB0228447D0 (en) 2002-12-06 2003-01-08 Nicholls Charles M System for detecting and interpreting transactions events or changes in computer systems
US20040133560A1 (en) 2003-01-07 2004-07-08 Simske Steven J. Methods and systems for organizing electronic documents
US20040187075A1 (en) 2003-01-08 2004-09-23 Maxham Jason G. Document management apparatus, system and method
US6864901B2 (en) 2003-02-11 2005-03-08 Academia Sinica Real-time screen recording system
US20040193596A1 (en) * 2003-02-21 2004-09-30 Rudy Defelice Multiparameter indexing and searching for documents
US7930301B2 (en) 2003-03-31 2011-04-19 Microsoft Corporation System and method for searching computer files and returning identified files and associated files
US7467390B2 (en) 2003-04-01 2008-12-16 International Business Machines Corporation Enhanced staged event-driven architecture
US7480716B2 (en) 2003-04-28 2009-01-20 International Business Machines Corporation Non-invasive collection of data
US7412491B2 (en) 2003-04-30 2008-08-12 International Business Machines Corporation Method and apparatus for enhancing instant messaging systems
US7694223B2 (en) 2003-06-04 2010-04-06 Sony Computer Entertainment Inc. Methods and systems for recording user actions in computer programs
US7668888B2 (en) 2003-06-05 2010-02-23 Sap Ag Converting object structures for search engines
US20040255301A1 (en) 2003-06-13 2004-12-16 Andrzej Turski Context association schema for computer system architecture
US7162473B2 (en) 2003-06-26 2007-01-09 Microsoft Corporation Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US7577939B2 (en) 2003-06-27 2009-08-18 International Business Machines Corporation Method, system and program product for sharing source code over a network
US7565425B2 (en) * 2003-07-02 2009-07-21 Amazon Technologies, Inc. Server architecture and methods for persistently storing and serving event data
US7330536B2 (en) 2003-09-05 2008-02-12 Emc Corporation Message indexing and archiving
US7454417B2 (en) 2003-09-12 2008-11-18 Google Inc. Methods and systems for improving a search ranking using population information
US20050060719A1 (en) 2003-09-12 2005-03-17 Useractive, Inc. Capturing and processing user events on a computer system for recording and playback
US7487235B2 (en) 2003-09-24 2009-02-03 Dell Products L.P. Dynamically varying a raid cache policy in order to optimize throughput
US7499974B2 (en) 2003-09-30 2009-03-03 International Business Machines Corporation Instant message user management
US20050080866A1 (en) 2003-10-14 2005-04-14 Kent Larry G. Selectively displaying time indications for instant messaging (IM) messages
US7457872B2 (en) 2003-10-15 2008-11-25 Microsoft Corporation On-line service/application monitoring and reporting system
US8150923B2 (en) 2003-10-23 2012-04-03 Microsoft Corporation Schema hierarchy for electronic messages
US20050114487A1 (en) 2003-11-12 2005-05-26 Jin Peng Notification framework and method of distributing notification
US7475406B2 (en) 2003-12-15 2009-01-06 International Business Machines Corporation Event notification structure for dynamically aggregated logical components
US7383307B2 (en) 2004-01-07 2008-06-03 International Business Machines Corporation Instant messaging windowing for topic threads
US7194451B2 (en) 2004-02-26 2007-03-20 Microsoft Corporation Database monitoring system

Also Published As

Publication number Publication date
US20050234848A1 (en) 2005-10-20
EP1745360A2 (en) 2007-01-24
WO2005098594A3 (en) 2007-06-28
EP1745360B1 (en) 2011-05-11
JP2007534057A (ja) 2007-11-22
US7725508B2 (en) 2010-05-25
JP4812747B2 (ja) 2011-11-09
ATE509319T1 (de) 2011-05-15
WO2005098594A2 (en) 2005-10-20
EP1745360A4 (en) 2008-04-23

Similar Documents

Publication Publication Date Title
ES2373297T3 (es) Procedimientos y sistemas para la captura y la recuperación de información.
AU2005231112B2 (en) Methods and systems for structuring event data in a database for location and retrieval
ES2421141T3 (es) Componente de captura basado en perfiles para controlar los eventos en aplicaciones
US10180980B2 (en) Methods and systems for eliminating duplicate events
US8275839B2 (en) Methods and systems for processing email messages
US9836544B2 (en) Methods and systems for prioritizing a crawl
US7580568B1 (en) Methods and systems for identifying an image as a representative image for an article
US9672232B1 (en) Systems and methods for selectively storing event data
US20050234929A1 (en) Methods and systems for interfacing applications with a search engine
US7707142B1 (en) Methods and systems for performing an offline search
US7412708B1 (en) Methods and systems for capturing information
US20090150507A1 (en) System and method for prioritizing delivery of communications via different communication channels
US20090276408A1 (en) Systems And Methods For Generating A User Interface
US20080059419A1 (en) Systems and methods for providing search results
US7680888B1 (en) Methods and systems for processing instant messenger messages
US7499958B1 (en) Systems and methods of replicating all or part of a data store
US7581227B1 (en) Systems and methods of synchronizing indexes