ES2755924T3 - Determinación y extracción de datos modificados procedentes de una fuente de datos - Google Patents

Determinación y extracción de datos modificados procedentes de una fuente de datos Download PDF

Info

Publication number
ES2755924T3
ES2755924T3 ES15159520T ES15159520T ES2755924T3 ES 2755924 T3 ES2755924 T3 ES 2755924T3 ES 15159520 T ES15159520 T ES 15159520T ES 15159520 T ES15159520 T ES 15159520T ES 2755924 T3 ES2755924 T3 ES 2755924T3
Authority
ES
Spain
Prior art keywords
data
data units
units
modified
grouping
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
ES15159520T
Other languages
English (en)
Inventor
William Fisher
Peter Maag
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.)
Palantir Technologies Inc
Original Assignee
Palantir Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Palantir Technologies Inc filed Critical Palantir Technologies Inc
Application granted granted Critical
Publication of ES2755924T3 publication Critical patent/ES2755924T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un procedimiento (400a, 400b) para obtener datos modificados (340) procedentes de una fuente (110, 210) de datos y remitir los datos modificados obtenidos a un sistema (170, 270) de destino, comprendiendo el procedimiento (400a): obtener (401a, 401b), mediante uno o más procesadores (504) de soporte físico de ordenador, información (310) que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros (110b, 210b) o bases (110a, 210a) de datos en una fuente (110, 210) de datos, en el que la pluralidad de agrupamientos se basa en la fecha y la hora de los sellos de tiempo de unidades respectivas de datos, de forma que las unidades de datos se distribuyan de manera no uniforme en la pluralidad de agrupamientos, cada uno de los agrupamientos asociado con un distinto atributo de unidad de datos, de forma que cada uno de los agrupamientos respectivos incluya unidades de datos que tienen el atributo correspondiente de unidad de datos, en el que la información (310) indica una cantidad actual de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos en un momento actual, en el que se obtiene la información (310) utilizando una consulta de un atributo de sello de tiempo de la unidad de datos; acceder, mediante los uno o más procesadores (504) de soporte físico de ordenador, información histórica (315) de agrupamiento que indica una cantidad histórica de unidades de datos incluidas en al menos algunos de la pluralidad de agrupamientos en un momento anterior, en el que para un primer subconjunto (320) de los agrupamientos una cantidad actual de unidades de datos en el momento actual y una cantidad histórica de unidades de datos no son idénticas, y para otro subconjunto de los agrupamientos una cantidad actual de unidades de datos y una cantidad histórica de unidades de datos son idénticas; comparar, mediante los uno o más procesadores (504) de soporte físico de ordenador, la cantidad de unidades de datos en cada uno de los agrupamientos correspondientes en el momento anterior y el momento actual; determinar (402a, 402b), mediante los uno o más procesadores (504) de soporte físico de ordenador para cada agrupamiento (330) en el primer subconjunto (320), en función de dicha comparación, que una cantidad actual de unidades de datos incluidas en un agrupamiento correspondiente (330) y una cantidad histórica de unidades de datos incluidas en un agrupamiento histórico (335) de unidades de datos no son idénticas, lo que indica que una o más unidades de datos del agrupamiento correspondiente (330) han sido modificadas; y en respuesta a la determinación de que la cantidad actual de unidades de datos es mayor o menor que la cantidad histórica de unidades de datos, se llevan a cabo las siguientes etapas del procedimiento para cada agrupamiento (330) en el primer subconjunto (320); acceder (403a, 403b), mediante los uno o más procesadores (504) de soporte físico de ordenador, a unidades de datos incluidas en un agrupamiento (330) en el primer subconjunto (320) procedente de la fuente (110, 210) de datos; comparar (404a, 404b), mediante los uno o más procesadores (504) de soporte físico de ordenador, las unidades de datos incluidas en el agrupamiento (330) en el primer subconjunto (320) con unidades de datos de una versión local correspondiente del agrupamiento (335) para determinar qué unidades de datos del agrupamiento (330) en el primer subconjunto (320) procedente de la fuente (110, 210) de datos han sido modificadas; extraer (405a, 405b), mediante los uno o más procesadores (504) de soporte físico de ordenador, las unidades modificadas (340) de datos del agrupamiento (330) en el primer subconjunto (320); y remitir, mediante los uno o más procesadores (504) de soporte físico de ordenador, las unidades modificadas extraídas (340) de datos al sistema (170, 270) de destino.

Description

DESCRIPCIÓN
Determinación y extracción de datos modificados procedentes de una fuente de datos
Solicitudes de prioridad
La presente solicitud reivindica el beneficio de la solicitud U.S. n° 14/254.757, presentada el 16 de abril de 2014, de la solicitud U.S. n° 14/254.773, presentada el 16 de abril de 2014 y de la solicitud provisional U.S. n° 61/955054, presentada el 18 de marzo de 2014.
Campo técnico
La presente divulgación versa acerca de sistemas y de técnicas para la integración y el análisis de datos. Más específicamente, la presente divulgación versa acerca de la identificación de modificaciones en los datos de una fuente de datos.
Antecedentes
Las organizaciones y/o empresas producen cantidades cada vez más grandes de datos. Tales datos pueden ser almacenados en distintas fuentes de datos. Las fuentes de datos pueden ser actualizadas, por ejemplo, de forma periódica.
El documento WO 2013/030595 A1 da a conocer un sistema para identificar unidades de datos con el fin de sincronizar las unidades de datos entre una pluralidad de dispositivos en función de una asignación de un testigo de actualización que es revocado por un sucesivo testigo de actualización.
Sumario
La invención está definida por las reivindicaciones independientes, teniendo en cuenta debidamente cualquier elemento que sea equivalente a un elemento especificado en las reivindicaciones. Las reivindicaciones dependientes versan acerca de características opcionales de algunas realizaciones de la invención.
Cada uno de los sistemas, procedimientos y dispositivos descritos en la presente memoria tiene varios aspectos, ninguno de los cuales es responsable único de sus atributos deseables. Sin limitar el alcance de la presente divulgación, se expondrán ahora brevemente varias características no limitantes.
En una realización, un sistema de ordenador configurado para obtener datos modificados de una fuente de datos comprende: uno o más procesadores de ordenador de soporte físico configurados para ejecutar código para provocar que el sistema: obtenga información que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros o bases de datos en una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determine un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han cambiado comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un primer número histórico de unidades de datos incluidas en una versión local correspondiente del primer agrupamiento, en el que se crea la versión local correspondiente del primer agrupamiento en función de las unidades de datos incluidas en el primer agrupamiento en un primer momento antes de dicha obtención de la información que indica la pluralidad de agrupamientos de los datos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de la versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
En otra realización, un procedimiento para obtener datos modificados de una fuente de datos comprende: obtener, mediante uno o más procesadores de ordenador de soporte físico, información que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros o bases de datos en una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determinar, mediante los uno o más procesadores de ordenador de soporte físico, un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han cambiado comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un primer número histórico de unidades de datos incluidas en una versión local correspondiente del primer agrupamiento, en el que se crea la versión local correspondiente del primer agrupamiento en función de las unidades de datos incluidas en el primer agrupamiento en un primer momento antes de dicha obtención de la información que indica la pluralidad de agrupamientos de los datos; acceder, mediante los uno o más procesadores de ordenador de soporte físico, unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; comparar, mediante los uno o más procesadores de ordenador de soporte físico, las unidades de datos incluidas en el primer agrupamiento con unidades de datos de la versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas; extraer, mediante los uno o más procesadores de ordenador de soporte físico, las unidades modificadas de datos del primer agrupamiento; y remitir, mediante los uno o más procesadores de ordenador de soporte físico, las unidades modificadas extraídas de datos a un sistema de destino.
En otra realización más, un medio transitorio o no transitorio legible por un ordenador comprende instrucciones para obtener datos modificados procedentes de una fuente de datos que provocan que un procesador de ordenador: obtenga información que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros o bases de datos en una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determinar un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un primer número histórico de unidades de datos incluidas en una versión local correspondiente del primer agrupamiento, en el que se crea la versión local correspondiente del primer agrupamiento en función de unidades de datos incluidas en el primer agrupamiento en un primer momento antes de dicha obtención de la información que indica la pluralidad de agrupamientos de los datos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de la versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
En algunas realizaciones, un sistema de ordenador configurado para obtener datos modificados procedentes de una fuente de datos comprende: uno o más procesadores de ordenador de soporte físico configurados para ejecutar código para provocar que el sistema: obtenga información que indica una pluralidad de agrupamientos de datos de una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determine un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un número histórico de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de una versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas, en el que la versión local correspondiente del primer agrupamiento de unidades de datos es una versión comprimida del primer agrupamiento de unidades de datos; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
En ciertas realizaciones, un procedimiento para obtener datos modificados procedentes de una fuente de datos comprende: obtener, mediante uno o más procesadores de ordenador de soporte físico, información que indica una pluralidad de agrupamientos de datos de una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determinar, mediante los uno o más procesadores de ordenador de soporte físico, un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un número histórico de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; acceder, mediante los uno o más procesadores de ordenador de soporte físico, a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; comparar, mediante los uno o más procesadores de ordenador de soporte físico, las unidades de datos incluidas en el primer agrupamiento con unidades de datos de una versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas, en el que la versión local correspondiente del primer agrupamiento de unidades de datos es una versión comprimida del primer agrupamiento de unidades de datos; extraer, mediante los uno o más procesadores de ordenador de soporte físico, las unidades modificadas de datos del primer agrupamiento; y remitir, mediante los uno o más procesadores de ordenador de soporte físico, las unidades modificadas extraídas de datos a un sistema de destino.
En otras realizaciones, un medio transitorio o no transitorio legible por un ordenador comprende instrucciones para obtener datos modificados procedentes de una fuente de datos que provoca que un procesador de ordenador: obtenga información que indica una pluralidad de agrupamientos de datos de una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determine un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un número histórico de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de una versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas, en el que la versión local correspondiente del primer agrupamiento de unidades de datos es una versión comprimida del primer agrupamiento de unidades de datos; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques que ilustra una realización de un sistema de determinación de modificaciones configurado para determinar y obtener modificaciones en los datos de una pluralidad de fuentes de datos.
La Figura 2A es un diagrama de flujo de datos ilustrativo de la interacción entre los diversos componentes de un sistema de determinación de modificaciones configurados para determinar y obtener las modificaciones en los datos de una pluralidad de fuentes de datos, según una realización.
La Figura 2B es un diagrama de flujo de datos ilustrativo de la interacción entre los diversos componentes de un sistema de determinación de modificaciones configurados para determinar y obtener las modificaciones en los datos de una pluralidad de fuentes de datos, según otra realización.
La Figura 3 es un ejemplo de información obtenida de una fuente de datos y/o de información procesada por el sistema de determinación de modificaciones.
La Figura 4A es un diagrama de flujo que ilustra una realización de un procedimiento para determinar y obtener modificaciones en los datos de una pluralidad de fuentes de datos.
La Figura 4B es un diagrama de flujo que ilustra otra realización de un procedimiento para determinar y obtener modificaciones en los datos de una pluralidad de fuentes de datos.
La Figura 5 es un diagrama de bloques que ilustra un sistema de ordenador con el que pueden implementarse ciertos procedimientos expuestos en la presente memoria.
Descripción detallada
Visión general
Las empresas pueden necesitar obtener datos de una o más fuentes de datos. A menudo, los datos para un marco temporal particular son descargados de una fuente de datos. Por ejemplo, una fuente de datos puede contener ficheros de registros, y se pueden descargar ficheros de registros de los últimos dos días. Sin embargo, algunos de los datos pueden haber sido obtenidos ya en un momento anterior, y es posible que el sistema que está solicitando los datos no pueda distinguir entre datos que ya tiene y datos nuevos o modificados que aún no ha obtenido. Por ejemplo, el sistema peticionario puede simplemente almacenar los datos que descarga cada vez sin considerar si se duplican algunos datos. Algunos datos pueden ser descargados de nuevo aunque ya existan en el sistema. En consecuencia, existe la necesidad de identificar ni de extraer datos modificados de una fuente de datos de una forma eficaz.
Según se divulga en la presente memoria, un sistema de determinación de modificaciones puede estar configurado para identificar y obtener las modificaciones en los datos procedentes de una o más fuentes de datos. Por ejemplo, el sistema puede determinar que existen modificaciones a los datos de una fuente de datos (por ejemplo, los datos para un marco temporal particular, tal como un día) en función de cierta información de resumen para un conjunto actual de datos de la fuente de datos (por ejemplo, líneas de datos asociadas con un día particular en un conjunto de datos recibido anteriormente) en comparación con un conjunto actual de datos de la fuente de datos (por ejemplo, líneas de datos asociadas con el día particular en un conjunto actual de datos). Una vez se identifican los datos con modificaciones (por ejemplo, días con distintas cantidades de líneas de datos), se pueden obtener los datos modificados y ser comparados con una versión local de los datos (o alguna representación de los datos) para identificar las unidades particulares de datos (por ejemplo, líneas particulares de datos) que han sido modificadas, de forma que la fuente de datos solo necesite proporcionar esas unidades particulares de datos.
Una fuente de datos puede ser una o más bases de datos y/o uno o más ficheros. Las modificaciones reales pueden ser remitidas a un sistema de destino para su almacenamiento. El sistema de determinación de modificaciones puede actuar como un intermediario entre fuentes de datos y uno o más sistemas de destino para identificar datos modificados y remitir únicamente los datos modificados a los sistemas de destino.
Puede llevar mucho tiempo una descarga de una fuente de datos (por ejemplo, debido a la velocidad reducida, la cantidad de datos, etc.), y la nueva descarga de datos que ya existen en el sistema de destino puede dar lugar a un gasto de tiempo y de recursos innecesarios. Además, el almacenamiento de datos duplicados puede ocupar un espacio innecesario de almacenamiento en el sistema de destino. Al identificar y remitir únicamente los datos modificados, el sistema de determinación de modificaciones puede proporcionar una forma de obtener datos de una fuente de datos de una forma inteligente y puede ahorrar tiempo y/o recursos para el sistema de destino. Esto puede ser muy útil especialmente cuando una fuente de datos contiene grandes cantidades de datos, y únicamente se ha modificado una porción reducida de los datos. El sistema de determinación de modificaciones también puede identificar las modificaciones rápidamente, por ejemplo, llevando a cabo una operación de agrupamiento de los datos explicada en detalle a continuación.
Sistema de determinación de modificaciones
La Figura 1 es un diagrama de bloques que ilustra una realización de un sistema 100 de determinación de modificaciones configurado para determinar y obtener las modificaciones en los datos de una pluralidad de fuentes 110 de datos. Una fuente 110 de datos puede incluir una o más bases 110a de datos, uno o más ficheros 110b (por ejemplo, un fichero o un sistema de ficheros planos), cualquier otro tipo de estructura de datos, o una combinación de múltiples estructuras de datos. Los datos en la base 110a de datos pueden organizarse en una o más tablas, que incluyen filas y columnas. Los datos en el fichero 110b pueden organizarse como líneas con diversos campos. Por ejemplo, un fichero 110b puede tener un formato CSV. Se puede hacer referencia a los datos en los ficheros, en las bases de datos o en cualquier otra estructura de datos, en términos de “líneas”, siendo una línea un subconjunto del fichero. Por ejemplo, las líneas de un fichero pueden ser grupos de datos entre marcas de salto de línea o divisiones de texto del fichero en grupos de tamaño predeterminado (por ejemplo, cada línea incluye 255 caracteres) y las líneas de una base de datos pueden ser una fila o algún otro subconjunto de información en la base de datos. Los datos en una base 110a de datos y en un fichero 110b pueden ser gestionados o procesados de una forma similar por el sistema 100 de determinación de modificaciones (“CDS”). En ciertas realizaciones, el CDS 100 obtiene las modificaciones de una única fuente 110 de datos, en vez de de múltiples fuentes 110 de datos.
El CDS 100 puede incluir uno o más componentes (no mostrados) que llevan a cabo funciones relacionadas con la determinación y la obtención de modificaciones en los datos de las fuentes 110 de datos. El CDS 100 también puede incluir un almacenamiento local 150, que puede almacenar cualquier versión local de los datos en una fuente 110 de datos, tal como una versión resumida y/o comprimida de los datos. La versión local de los datos puede ser utilizada para identificar las modificaciones reales en los datos de la fuente 210 de datos y/o las porciones de los datos (por ejemplo, líneas de los datos) que incluyen modificaciones. La versión local puede incluir algunos de los datos, o todos ellos, de una fuente de datos, dependiendo de la realización.
Uno o más sistemas 270 de destino pueden solicitar datos modificados del CDS 100. Los sistemas 270 de destino pueden enviar una solicitud de forma periódica (por ejemplo, programada), bajo petición, etc. El CDS 100 también puede comprobar periódicamente una o más fuentes 210 de datos y remitir cualquier modificación sin recibir una solicitud procedente de un sistema 270 de destino. Por ejemplo, se puede programar el CDS 100 para que compruebe las fuentes 210 de datos cada 2 horas. Tal programación puede definirse como una o más directrices. En una realización, un sistema 270 de destino incluye el CDS 100, de forma que se pueda llevar a cabo la funcionalidad descrita en la presente memoria con referencia al CDS 100 por medio del propio sistema 270 de destino.
La Figura 2A es un diagrama de flujo de datos ilustrativo de la interacción entre los diversos componentes de un sistema 200a de determinación de modificaciones configurado para determinar y obtener las modificaciones en los datos de una pluralidad de fuentes de datos, según una realización. El CDS 200a y los componentes correspondientes de la Figura 2A pueden ser similares o iguales al CDS 100 y a los componentes denominados de forma similar de la Figura 1.
En la acción 1 de flujo de datos, el CDS 200a lleva a cabo una consulta en los datos en una fuente 210 de datos agrupar por un atributo particular, tal como una columna de información en una tabla. Con fines de la exposición de la presente memoria, se exponen muchos ejemplos con referencia a un agrupamiento en función de una o más “columnas”, estando asociada cada columna con un atributo particular. En otras realizaciones, los atributos pueden asociarse con distintas características de visualización de una estructura de datos (por ejemplo, además de columnas). Por ejemplo, si la fuente 210 de datos es una base 210a de datos, el CDS 200a puede llevar a cabo una consulta SQL y agrupar por una columna particular en una tabla, por ejemplo, utilizando la cláusula AGRUPAR POR, que se utiliza en SQL para agrupar filas que tienen valores comunes en un conjunto más pequeño de filas. Los conjuntos más pequeños de filas pueden ser denominados particiones o grupos. Cada partición incluye filas que tienen el mismo valor para la columna designada. A menudo se utiliza AGRUPAR POR junto con funciones de agregación SQL o para eliminar filas duplicadas de un conjunto de resultados.
La columna que se designa como la columna para AGRUPAR POR debería poder proporcionar alguna indicación de qué filas son nuevas o modificadas con respecto a la anterior vez que el CDS 200a obtuvo datos de la fuente 210 de datos. En un ejemplo, una tabla en la base 210a de datos incluye una columna actualizada por última vez, que incluye un sello de tiempo de cuando se actualizaron por última vez los datos en la fila, y los datos en la base 210a de datos pueden ser agrupados por la columna actualizada por última vez. Dado que el sello de tiempo puede incluir la hora, el minuto, el segundo, etc. además de la fecha, solo la fecha del sello de tiempo podría ser utilizada para AGRUPAR POR. En tal caso, una partición estaría basada en un día, y cada partición contendría las filas de cada día. Se puede aplicar una función de agregación, tal como RECUENTO a los resultados de AGRUPAR POR para obtener el número de filas para cada partición. Los resultados de la consulta de la fuente 210 de datos pueden incluir una o más particiones del AGRUPAR POR y el número de filas incluidas en cada partición. El CDS 200a puede almacenar los resultados o hacer un seguimiento de los resultados localmente, de forma que se puedan comparar los resultados con la siguiente vez que el CDS 200a solicita este tipo de información de la fuente 210 de datos.
Los datos de una fuente 210b de datos de fichero también pueden ser consultados de una forma similar. El CDS 200a puede utilizar distintos adaptadores para acceder a los datos que residen en una o más bases 210a de datos y a los datos que residen en uno o más ficheros 210b, pero una vez se obtienen los datos, pueden ser gestionados de la misma forma por el CDS 200a, con independencia de si la fuente de datos tiene la forma de una base 210a de datos o de un fichero 210b. Los detalles expuestos con respecto a una fuente 210a de datos de base de datos pueden generalizarse a otros tipos de fuentes 210 de datos, incluyendo una fuente 210b de datos de fichero. Por ejemplo, una partición puede hacer referencia a un agrupamiento utilizado en un texto (u otro tipo de campo) resultante de una operación que es similar al SQL AGRUPAR POR. También se puede denominar a una partición un “agrupamiento”. Un agrupamiento puede incluir datos de una base 210a de datos o de un fichero 210b. Se puede denominar “unidad de datos” a una unidad de datos incluida en un agrupamiento. Una unidad de datos puede ser una fila en el caso de una base 210a de datos o una línea en el caso de un fichero 210b. La columna o el campo agrupar por puede ser cualquier tipo que pueda proporcionar particiones de tamaño apropiado para la comparación (por ejemplo, proporcionar una distribución no homogénea o no uniforme). A continuación se explican algunos detalles relativos al grupo por columna/campo.
En la acción 2 de flujo de datos, el CDS 200a determina qué partición o particiones han sido modificadas. El número de filas para las particiones obtenidas en la acción 1 de flujo de datos puede compararse con el número de filas para particiones correspondientes obtenidas en un momento anterior. El número actual de filas en particiones puede ser denominado “datos actuales de agrupamiento”, y el número de filas para diversas particiones de un momento anterior puede ser denominado “datos históricos de agrupamiento”. El CDS 200a puede comparar los datos actuales de agrupamiento con los datos históricos de agrupamiento para determinar si se modificó el número de filas para una partición particular. Por ejemplo, si el número de filas para el Día 1 es 1.000 en los datos históricos de agrupamiento, pero el número de filas para el Día 1 es 1.050 en los datos actuales de agrupamiento, la partición para el Día 1 es un candidato para verificar si se modificaron los datos reales. Es probable que se añadieran 50 nuevas filas para el Día 1, y el CDS 200a puede determinar qué filas de las 1.050 son nuevas y extraerlas para remitirlas a un sistema 270 de destino. De esta forma, el CDS 200a puede identificar una o más particiones que han sido modificadas.
En la acción 3 de flujo de datos, el CDS 200a obtiene datos para cualquier partición modificada identificada. En particular, una vez que el CDS 200a identifica una partición modificada, el CDS 200a obtiene los datos para la partición particular de la fuente 210 de datos. En el anterior ejemplo, el CDS 200a solicita las 1.050 filas para el Día 1. El CDS 200a puede almacenar las 1.050 filas localmente, por ejemplo, en el almacenamiento local 250a. Entonces, se pueden utilizar las 1.050 filas para una comparación la siguiente vez que se modifican los datos para esta partición.
En la acción 4 del flujo de datos, el CDS 200a compara los datos obtenidos con la versión local de la partición modificada. El CDS 200a puede comparar los datos descargados con una versión local correspondiente de los datos. Por ejemplo, el CDS 200a puede haber almacenado las 1.000 filas para el Día 1 a partir de un momento anterior en el almacenamiento local 250a. Los datos para la partición de un momento anterior pueden ser denominados “datos históricos de partición”. De forma similar, los datos actuales para la partición pueden ser denominados “datos actuales de partición”. La versión local de los datos puede incluir datos para una partición o un número de particiones. Al comparar las 1.050 filas actuales para el Día 1 en los datos actuales de partición con las 1.000 filas anteriores para el Día 1 en los datos históricos de partición, el CDS 200a puede identificar qué 50 filas han sido modificadas. Estas 50 filas pueden ser marcadas o colocadas en un fichero, de forma que puedan ser enviadas a cualquier sistema relevante 270 de destino.
En la acción 5 de flujo de datos, el CDS 200a remite los datos modificados al sistema 270 de destino. Según se ha explicado anteriormente, los datos modificados pueden ser extraídos de los datos actuales de partición, guardados en un fichero, y enviados al sistema 270 de destino. Entonces, el sistema 270 de destino puede almacenar los datos recibidos en su o sus dispositivos de almacenamiento sin tener que comprobar si existe cualquier duplicado en los datos recibidos. Debido a que el CDS 210a puede enviar los datos modificados exactos, el sistema 270 de destino puede simplemente almacenar lo que recibe del CDS 210a y no necesita implementar mucha funcionalidad en su extremo.
En la Figura 2A, para compara los datos actuales de partición con los datos históricos de partición, el CDS 200a puede mantener localmente todos los datos, o un subconjunto de los mismos, de una fuente 210 de datos. Sin embargo, en algunos casos, el almacenamiento local 250a puede tener un espacio limitado de almacenamiento, y el CDS 200a puede no poder almacenar todos los datos utilizados en la comparación. En consecuencia, en tales casos, el c Ds 200a puede mantener una versión comprimida de los datos procedentes de una fuente 210 de datos para su comparación. En algunas realizaciones, la versión comprimida de los datos puede ser uno o más filtros de Bloom. Tales realizaciones se describen con más detalle en conexión con la Figura 2B.
La Figura 2B es un diagrama de flujo de datos ilustrativo de la interacción entre los diversos componentes de un sistema 200b de determinación de modificaciones configurado para determinar y obtener las modificaciones en datos de una pluralidad de fuentes de datos, según otra realización. El CDS 200b y los componentes correspondientes de la Figura 2B pueden ser similares o iguales que el CDS 100, 200a y los componentes denominados de forma similar de las Figuras 1 y 2A.
Las acciones 1-5 de flujo de datos pueden ser similares a las acciones 1-5 de flujo de datos en la Figura 2A. Anteriormente se han explicado con más detalle ciertos detalles relativos al CDS 200b en conexión con la Figura 2A. En general, no obstante, en la acción 1 de flujo de datos, el CDS 200b lleva a cabo una consulta de los datos en una fuente 210 de datos para agrupar por una columna particular. En la acción 2 de flujo de datos, el CDS 200b determina qué partición ha sido modificada. En la acción 3 de flujo de datos, el CDS 200b obtiene datos para la partición modificada.
Según se ha explicado anteriormente, se pueden utilizar uno o más filtros de Bloom en comparación con los datos actuales de partición y con los datos históricos de partición. Un filtro de Bloom puede hacer referencia a una estructura probabilística de datos que ahorra espacio que se utiliza para comprobar si un elemento es un miembro de un conjunto (por ejemplo, las unidades de datos son parte de una partición). Son posibles coincidencias de falsos positivos, pero no lo son los falsos negativos. Por ejemplo, una consulta puede devolver bien “posiblemente en el conjunto” o “definitivamente no en el conjunto”. Se pueden añadir elementos al conjunto, pero, en general, no pueden ser eliminados. Según se añaden más elementos al conjunto, la probabilidad de falsos positivos se vuelve mayor.
En una realización, un filtro de Bloom utilizado por el CDS 200b es una matriz de bits de m bits y tiene k distintas funciones de comprobación aleatoria que se utilizan para añadir un elemento al filtro de Bloom. Para añadir un elemento al filtro de Bloom, se suministra un elemento a cada una de las k funciones de comprobación aleatoria para obtener k posiciones de matriz. Los bits en estas k posiciones están puestos a 1. Para consultar un elemento para determinar si se encuentra en el conjunto, se suministra el elemento a cada una de las k funciones de comprobación aleatoria para obtener las k posiciones de matriz. Si cualquier de los bits en estas posiciones es 0, el elemento no está definitivamente en el conjunto. Si todos los bits en estas posiciones son 1, el elemento se encuentra bien en el conjunto, o los bits fueron puestos a 1 por casualidad cuando se añadieron otros elementos. Si los bits fueron puestos a 1 por casualidad, esto puede dar lugar a un falso positivo. No se requiere el filtro de Bloom para almacenar los propios elementos.
Aunque existe un riesgo de falsos positivos, los filtros de Bloom pueden proporcionar una gran ventaja de espacio con respecto a otras estructuras de datos para representar conjuntos, tales como árboles autorregulados de búsqueda binaria, tablas de direcciones calculadas, matrices sencillas, listas enlazadas, etc. Otras estructuras de datos pueden requerir almacenar al menos las propias unidades de datos, lo que puede requerir una longitud cualquiera desde un número reducido de bits (por ejemplo, para números enteros pequeños) hasta un número arbitrario de bits (por ejemplo, para cadenas). Por otra parte, un filtro de Bloom con un error de 1% y un valor óptimo de k puede requerir únicamente aproximadamente 9,6 bits por elemento (por ejemplo, unidad de datos), con independencia del tamaño de los elementos. La ventaja de espacio puede ser parcialmente debida a la compacidad del filtro de Bloom, heredada de las matrices, y parcialmente debida a la naturaleza probabilística del filtro de Bloom. Se puede reducir la tasa de falsos positivos de 1% en un factor de diez añadiendo únicamente aproximadamente 4,8 bits por elemento.
En la acción 4 de flujo de datos, el CDS 200b compara los datos actuales de partición con datos históricos de partición utilizando uno o más filtros 255 de Bloom. Se pueden almacenar uno o más filtros 255 de Bloom en un almacenamiento local 250b. Se puede crear un filtro de Bloom para la versión local de los datos. Por ejemplo, en el momento de una descarga anterior, el CDS 200b pudo haber añadido las unidades de datos procedentes de la fuente 210 de datos a un filtro de Bloom. Aunque el filtro de Bloom no almacena las unidades reales de datos (por ejemplo, las unidades reales de datos pueden ser borradas después de que se generan los filtros de Bloom correspondientes), puede determinar con una probabilidad elevada si se incluyó una unidad de datos en la anterior versión de los datos o no. El filtro de Bloom puede ocupar mucho menos espacio que el almacenamiento de los datos históricos de partición o actuales y puede servir de versión comprimida de los datos. Para cada unidad de datos incluida en los datos actuales de partición, el CDS 200b puede consultar el filtro de Bloom que incluye los datos históricos de partición correspondientes para comprobar si se incluyó la unidad de datos en los datos históricos de partición o si es nueva. En una realización, si se definen n número de funciones de comprobación aleatoria para el filtro de Bloom, el filtro de Bloom aplica las n funciones de comprobación aleatoria a la unidad de datos para devolver n número de posiciones de matriz. Si cualquiera de las posiciones de matriz es 0, no se incluyó la unidad de datos en los datos históricos de partición. Si todas las posiciones de matriz son 1, probablemente se incluyó la unidad de datos en los datos históricos de partición, aunque existe una pequeña probabilidad de falsos positivos.
Los datos de partición obtenidos de una fuente 210 de datos pueden incluir un número de unidades individuales de datos (por ejemplo, filas, líneas, etc.), y el número real de unidades de datos incluidas en los datos de una partición puede variar; algunas particiones pueden incluir un número pequeño de unidades de datos, y otras particiones pueden incluir un gran número de unidades de datos. En una realización, el tamaño de un filtro de Bloom es predeterminado, y puede no ser óptimo utilizar el mismo filtro de Bloom para una cantidad reducida de datos y para una gran cantidad de datos. La probabilidad de que el filtro de Bloom devuelva falsos positivos aumenta con el número de elementos añadidos al filtro de Bloom. Por lo tanto, si se añaden demasiados elementos, el filtro de Bloom puede quedar saturado y la precisión del filtro de Bloom puede deteriorarse, por ejemplo, hasta un punto de devolver casi un 100% de falsos positivos. En consecuencia, se pueden utilizar los filtros de Bloom de distintos tamaños para acomodar datos de tamaño variable. Por ejemplo, un filtro de Bloom tiene un tamaño predeterminado de m bits cuando se crea y es posible que no pueda acomodar datos que incluyan más de un número específico de elementos (por ejemplo, x número de elementos) sin un deterioro de la precisión. Para datos que incluyen más de x elementos, se puede utilizar un filtro de Bloom que tiene un tamaño mayor que m bits. Debido a que puede variar el tamaño de los datos de distintas fuentes de datos, el CDS 200b puede utilizar una serie de filtros de Bloom de tamaño creciente para acomodar distintos tamaños de datos. Por ejemplo, el CDS 200b puede tener un número de filtros de Bloom de tamaños variables disponibles para ser utilizados, o puede crear uno según sea necesario. En un ejemplo, el CDS 200b puede comenzar con un filtro de Bloom que tiene un tamaño de m bits, y si este filtro de Bloom es demasiado pequeño para los datos, el CDS 200b puede seleccionar o crear un filtro de Bloom que tenga un tamaño de m y bits, etcétera, hasta que el CDS 200b encuentre un filtro de Bloom que tenga el tamaño correcto para los datos. Los datos de diversas fuentes 210 de datos pueden compartir el mismo conjunto de filtros de Bloom. O en ciertas realizaciones, el CDS 200b puede mantener los filtros de Bloom para distintas fuentes 210 de datos separados entre sí.
En una realización, el CDS 200b puede almacenar los filtros 255 de Bloom en el almacenamiento que proporciona una accesibilidad elevada. Por ejemplo, el almacenamiento local 250b puede aumentar el almacenamiento que es un tipo que es más accesible que el almacenamiento utilizado por un sistema 270 de destino. Por ejemplo, el almacenamiento local 250b puede utilizar un almacenamiento conectado en red (NAS), dado que es muy accesible a dispositivos conectados. Un tipo más accesible de almacenamiento puede ser más costoso que un tipo de almacenamiento menos accesible, y dado que los filtros de Bloom pueden ahorrar espacio, el CDS 200b puede reducir los costes asociados con el almacenamiento local 250b.
En la acción 5 de flujo de datos, el CDS 200b extrae y remite los datos modificados al sistema 270 de destino. Esta etapa puede ser similar a la acción 5 de flujo de datos de la Figura 2A. El CDS 200b puede remitir los datos modificados a uno o más sistemas 270 de destino.
La Figura 3 es un ejemplo de información obtenido de una fuente de datos y/o información procesada por el sistema de determinación de modificaciones. Se explicará un ejemplo ilustrativo específico con respecto a la Figura 3. Se explicarán diversos aspectos con referencia al CDS 200a en la Figura 2A, pero el ejemplo también se puede aplicar al CDS 100, 200b de las Figuras 1 y 2B. El ejemplo hará referencia a datos de una fuente 210 de datos en el instante T0 y a datos de la fuente 210 de datos en el instante T1, siendo T0 anterior a T1.
En el instante T1, el CDS 200a lleva a cabo una consulta en los datos de la fuente 210 de datos para agrupar los datos por la columna o el campo actualizado o modificado por última vez. Los datos pueden ser agrupados en uno o más agrupamientos en función de la fecha. La fuente 210 de datos puede devolver un resultado que incluye agrupamientos 310 organizados por fecha. El resultado puede denominarse “datos actuales de agrupamiento”. Los datos actuales 310 de agrupamiento pueden enumerar la fecha para un agrupamiento y el número de unidades de datos incluidos en ese agrupamiento. Los datos actuales 310 de agrupamiento muestran que el Agrupamiento 1 es para 10/2/14, y el número de unidades de datos en el Agrupamiento 1 es de 400; el Agrupamiento 2 es para 11/2/14, y el número de unidades de datos en el Agrupamiento 2 es de 310; y el Agrupamiento 3 es para 12/2/14, y el número de unidades de datos en el Agrupamiento 3 es de 175.
El CDS 200a compara los datos actuales 310 de agrupamiento con los datos históricos 315 de agrupamiento. Los datos históricos 315 de agrupamiento pueden incluir los datos de agrupamiento obtenidos de la fuente 210 de datos en diversos momentos del pasado. Los datos históricos 315 de agrupamiento pueden incluir datos de agrupamiento para uno o más días. En la Figura 3, los datos históricos 315 de agrupamiento muestran los datos de agrupamiento en T0. Los datos históricos 315 de agrupamiento muestran que el Agrupamiento 1 es para 10/2/14, y el número de unidades de datos en el Agrupamiento 1 es de 380; el Agrupamiento 2 es para 11/2/14, y el número de unidades de datos en el Agrupamiento 2 es de 310; y el Agrupamiento 3 es para 12/2/14, y el número de unidades de datos en el Agrupamiento 3 es de 165.
Al comparar el número de unidades de datos en los mismos agrupamientos en distintos instantes, el CDS 200 puede identificar que ciertos agrupamientos han sido modificados o son candidatos potenciales que tienen unidades modificadas de datos. El número de unidades de datos para el Agrupamiento 1 en T1 es de 400, y el número de unidades de datos para el Agrupamiento 1 en T0 es de 380. El número de unidades de datos para el Agrupamiento 2 en T1 es de 310, y el número de unidades de datos para el Agrupamiento 2 en T0 es de 310. El número de unidades de datos para el Agrupamiento 3 en T1 es de 175, y el número de unidades de datos para el Agrupamiento 3 en T0 es de 165. El CDS 200a puede ver que el número de unidades de datos en los Agrupamientos 1 y 3 modificados de T0 a T1, mientras que el número de unidades de datos en el Agrupamiento 2 permaneció igual de T0 a T1. A partir de esta comparación, el CDS 200a puede determinar que los datos para el Agrupamiento 1 y el Agolpamiento 3 pueden haber sido modificados y deberían obtenerse de la fuente 210 de datos. El CDS 200a puede hacer un seguimiento de los agrupamientos modificados 320, por ejemplo, para solicitar datos de estos agrupamientos de la fuente 210 de datos. Por ejemplo, la información de los agrupamientos modificados 320 puede enumerar los Agrupamientos 1 y 3.
El CDS 200a obtiene los datos para el Agrupamiento 1 de la fuente 210 de datos, y también obtiene los datos para el Agrupamiento 3 de la fuente 210 de datos (o cierto sumario de los agrupamientos, tales como los filtros de Bloom, en otras realizaciones). Se explicará adicionalmente el ejemplo con los datos obtenidos 330 del Agrupamiento 3. Los datos 330 del Agrupamiento 3 incluye la totalidad de las 175 unidades de datos incluidas en el agrupamiento. La fuente 210 de datos puede ser una base 210a de datos, y los datos 330 del Agrupamiento 3 pueden incluir filas como unidades de datos. Cada fila en los datos 330 del Agrupamiento 3 puede incluir la fecha y el momento para la fila (por ejemplo, el sello de tiempo de la columna actualizada por última vez) y los datos de esa fila.
El CDS 200a compara los datos 330 del Agrupamiento 3 con los datos históricos 335 del Agrupamiento 3. Los datos 330 del Agrupamiento 3 pueden asociarse con T1, y los datos históricos 335 del Agrupamiento 3 pueden asociarse con T0. Por ejemplo, los datos históricos 335 del Agrupamiento 3 pueden ser datos del Agrupamiento 3 que fueron obtenidos en T0. Los datos históricos del Agrupamiento 3 también pueden incluir filas como unidades de datos. Cada fila en los datos históricos 335 del Agrupamiento 3 también puede incluir la fecha y el momento para la fila y los datos de esa fila. Al comparar los datos 330 del Agrupamiento 3 y los datos históricos 335 del Agrupamiento 3, el CDS 200a puede determinar que la Fila 3 modificada, por ejemplo, la Fila 3 puede haber sido insertada después de T0. El CDS 200a marca la Fila 3 como una unidad de datos que ha de enviarse a un sistema 270 de destino. Al pasar por el resto de los datos 330 del Agrupamiento 3 y de los datos históricos 335 del Agrupamiento 3, el CDS 200a identifica 10 filas en este ejemplo que fueron añadidas. El CDS 200a puede hacer un seguimiento de las unidades modificadas de datos en una lista, tal como una lista 340 de unidades modificadas del Agrupamiento 3. En algunas realizaciones, en vez de comparar las unidades de datos con la anterior versión de las unidades de datos, el CDS 200a utiliza un filtro de Bloom al que se han añadido las unidades de datos en la anterior versión. El CDS 200a consulta el filtro de Bloom para determinar si una unidad de datos se encuentra en el conjunto.
El CDS 200a puede obtener información de agrupamiento para todas las fechas para las cuales hay disponible datos en la fuente 210 de datos. Por ejemplo, una fuente 210 de datos contiene datos de 1.000 días, el CDS 200a puede obtener la información de agrupamiento de la totalidad de los 1.000 días. O el CDS 200a puede especificar un marco temporal para el cual desea obtener información de agrupamiento, tal como 60 días. La información de agrupamiento puede obtenerse con facilidad de una fuente 210 de datos sin sobrecargar los recursos de la fuente 210 de datos. Al comparar la información histórica de agrupamiento, el CDS 200a puede identificar con facilidad qué agrupamientos pueden haber modificado datos.
Debido a que la comparación de la información de agrupamiento puede hacer que sea sencillo identificar fácilmente datos modificados durante un periodo prolongado de tiempo, el CDS 200a puede capturar todas las modificaciones en los datos. Por ejemplo, en un sistema que descarga datos para los últimos 5 días puede saltarse cualquier unidad de datos cuyo sello de tiempo actualizado por última vez haya sido modificado para encontrarse fuera de esta ventana de 5 días. Sin embargo, el CDS 200a puede detectar que se ha eliminado o añadido una unidad de datos a un agrupamiento particular en cualquier ventana de tiempo. Por ejemplo, un usuario modifica accidentalmente el sello de tiempo actualizado por última vez para la Fila 1 al Día 1 del Día 1.000. El sistema que solo descarga los últimos 5 días de datos se saltará la Fila 1, pero el CDS 200a reconocerá la Fila 1 como una modificación debido a que se reflejará en el número de unidades de datos para el Día 1 en la información de agrupamiento.
Se pueden seleccionar la unidad o el tamaño del agrupamiento y la columna de agrupamiento, de forma que la mayoría de los nuevos datos añadidos a la fuente 210 de datos se encuentre en una de las unidades de agrupamiento. En una realización, la unidad o el tamaño del agrupamiento puede estar relacionado con la latencia deseada del proceso, y la columna del agrupamiento puede relacionarse con la distribución. Se puede seleccionar la unidad o el tamaño del agrupamiento en distintos niveles de granularidad. Por ejemplo, un agrupamiento puede estar basado en una unidad de múltiples días, un día, múltiples horas, una hora, etc. Se puede seleccionar la unidad o el tamaño de un agrupamiento según sea apropiado, por ejemplo, en función de los requisitos de la fuente 210 de datos, del CDS 200a y/o del sistema 270 de destino. Se puede especificar la unidad o el tamaño de un agrupamiento a un nivel que proporciona una comparación significativa de agrupamientos. En algunas realizaciones, la unidad de agrupamiento que da lugar a una distribución homogénea de unidades de datos en agrupamientos puede no ser muy útil dado que cada agrupamiento tendrá una modificación al número de unidades de datos, y el CDS 200a tiene que comprobar casi todos los agrupamientos. Por ejemplo, si AGRUPAR POR era por una hora, en vez de un día, la partición para cada hora probablemente incluirá algunas filas, y casi todas las particiones tendrían que ser comprobadas, lo que puede dar lugar a obtener datos para la mayoría de las particiones. Por otra parte, AGRUPAR POR por un día dará lugar, probablemente, a datos añadidos recientemente que se encuentren en las particiones más recientes. Con un razonamiento similar, la columna o el campo utilizado para el agrupamiento por un criterio puede tener una característica que dé lugar a una distribución más “sesgada” que una distribución homogénea. En un ejemplo, si las unidades de datos fueron agrupadas por la primera letra del apellido de una persona, el agrupamiento para cada letra del alfabeto contendrá principalmente nuevas unidades de datos, y se tendrán que comprobar los agrupamientos para todas las letras del alfabeto. En otras realizaciones, puede desearse una distribución homogénea de unidades de datos y, en consecuencia, se puede seleccionar la unidad o el tamaño del agrupamiento y la columna del agolpamiento para proporcionar una distribución homogénea de unidades de datos. Por ejemplo, esto puede hacerse de forma que no se coloque en un agrupamiento la mayoría de las unidades de datos que han de ser procesadas.
En el ejemplo en el que los datos son agrupados por la columna actualizada por última vez, el CDS 200s puede no diferenciar entre una unidad de datos que ha sido añadida y una unidad de datos existente que ha sido actualizada. En ciertas realizaciones, el CDS 200a puede implementar una forma de diferenciar entre los dos tipos de modificación. Por ejemplo, se puede asignar a cada unidad de datos un identificador único, por ejemplo, cuando se almacena la unidad de datos localmente en el almacenamiento local 250a. El identificador único puede ser utilizado para hacer un seguimiento de si se ha actualizado una unidad de datos. En este caso, es posible que el CDS 200a no pueda utilizar filtros de Bloom dado que no se almacenan los datos reales en filtros de Bloom.
En algunas realizaciones, el CDS 200a puede reconocer que se han borrado algunas unidades de datos. Por ejemplo, se puede reducir el número de unidades de datos para un agrupamiento en comparación con el anterior número de unidades de datos para ese agrupamiento. El CDS 200a puede identificar los datos borrados comparando los datos para el agrupamiento con la versión local de los datos para el agrupamiento. El CDS 200a puede enviar información al sistema 270 de destino de que se han borrado las unidades identificadas de datos, y el sistema 270 de destino puede borrar las unidades de datos de su almacenamiento en función de la información enviada por el CDS 200a.
Según se ha descrito anteriormente, el CDS 200a puede ofrecer muchas ventajas. El CDS 200a puede identificar un subconjunto modificado de datos en una fuente 210 de datos sin descargar todos los datos. El CDS 200a puede hacerlo para grandes cantidades, lo que puede ser muy eficaz. Solo se descarga una porción de los datos que puede incluir modificaciones para extraer la modificación real. El CDS 200a también puede identificar modificaciones de una forma genérica y puede funcionar con diversas fuentes 210 de datos. A menudo, el CDS 200a puede no tener cualquier información acerca de los datos de una fuente 210 de datos. Por ejemplo, el CDS 200a puede no saber cómo se estructuran los datos (por ejemplo, esquema de la base de datos, formato del fichero, etc.), cuán frecuentemente se actualizan los datos, formas en las que se actualizan los datos, o cómo se actualizan los datos. El CDS 200a puede identificar una columna, tal como la columna actualizada por última vez que puede indicar si una unidad de datos podría ser nueva y proceder a identificar modificaciones llevando a cabo un agrupamiento por un criterio en la columna seleccionada. El CDS 200a también puede gestionar datos en distintos formatos, tales como bases de datos y ficheros, de la misma forma, o similar. Debido a que el CDS 200a solo obtiene o capta datos modificados de una fuente 210 de datos para enviarlos a un sistema 270 de destino, el CDS 200a también puede ser denominado “captador”.
La Figura 4A es un diagrama de flujo que ilustra una realización de un procedimiento 400a para determinar y obtener las modificaciones en los datos de una pluralidad de fuentes de datos. El procedimiento 400a puede ser implementado por uno o más sistemas descritos con respecto a las Figuras 1-2 y 5. Con fines ilustrativos, se explica a continuación el procedimiento 400a en conexión con el CDS 200a en la Figura 2A. Con respecto a las Figuras 1-5 se explican con más detalle ciertos detalles relativos al procedimiento 400a. Dependiendo de la realización, el procedimiento 400a puede incluir menos bloques, o adicionales, y se pueden llevar a cabo los bloques en un orden que es distinto de lo ilustrado.
En el bloque 401a, el CDS 200a obtiene información que indica agrupamientos de datos de una fuente 210 de datos. Los datos pueden ser almacenados en uno o más ficheros o bases de datos en la fuente 210 de datos. La información puede indicar un número de unidades de datos incluidas en cada uno de los agrupamientos. Los agrupamientos pueden estar basados en sellos de tiempo de unidades respectivas de datos. Los sellos de tiempo pueden indicar momentos respectivos en los que se actualizaron por última vez las unidades de datos. En ciertas realizaciones, los sellos de tiempo de las unidades respectivas de datos incluyen la fecha y el momento en el que se actualizaron por última vez las unidades respectivas de datos, y los agrupamientos se basan únicamente en la fecha de los sellos de tiempo de las unidades respectivas de datos. Por ejemplo, se lleva a cabo una operación de agrupamiento únicamente en función de la fecha de los sellos de tiempo asociados con las unidades de datos. En tal caso, cada agrupamiento se asocia con una fecha específica. En algunas realizaciones, los agrupamientos se basan en el campo de unidades respectivas de datos que pueden proporcionar una distribución no homogénea de unidades de datos incluidas en cada agrupamiento.
El CDS 200a puede obtener la información que indica los agrupamientos de los datos en un intervalo. El CDS 200a también puede obtener la información que indica los agrupamientos de los datos en respuesta a la recepción de una solicitud procedente de un sistema 270 de destino. El CDS 200a puede obtener información que indica los agrupamientos de los datos almacenados en uno o más ficheros en la fuente 210 de datos utilizando un primer adaptador. El CDS 200a puede obtener información que indica los agrupamientos de los datos almacenados en una o más bases de datos en la fuente 210 de datos utilizando un segundo adaptador. El primer adaptador y el segundo adaptador pueden ser distintos.
En el bloque 402a, el CDS 200a determina un agolpamiento cuyas unidades de datos han sido modificadas. El CDS 200a puede determinar si las unidades de datos de un agrupamiento han sido modificadas al comparar un número de unidades de datos incluidas en el agrupamiento y un número histórico de unidades de datos incluidas en una versión local correspondiente de ese agrupamiento. La versión local correspondiente del primer agrupamiento puede ser creada en función de las unidades de datos incluidas en el agrupamiento en un momento anterior a la obtención de la información que indica los agrupamientos de los datos. Se puede denominar a este momento instante T0. En el bloque 403a, el CDS 200a obtiene unidades de datos en el agrupamiento modificado procedentes de la fuente 210 de datos. Una unidad de datos incluida en el agrupamiento puede ser una fila en las una o más bases de datos de la fuente 210 de datos o una línea en los uno o más ficheros en la fuente 210 de datos. En ciertas realizaciones, si la fuente 210 de datos incluye uno o más ficheros, el CDS 200a puede comprobar el sello de tiempo de un fichero y compararlo con el sello de tiempo de la versión anterior del fichero para determinar si el fichero puede incluir nuevos datos. Al comparar los sellos de tiempo del fichero actual y de la versión anterior del fichero, el CDS 200a no necesita analizar los datos en el fichero para determinar si se han añadido nuevos datos. En tales realizaciones, el CDS 200a puede no obtener información de agrupamiento. Además, con respecto a los bloques 402a y 403a, el CDS 200a puede comparar directamente las unidades de datos en el fichero actual y las unidades de datos en la versión anterior del fichero, en vez de determinar uno o más agrupamientos modificados y/u obtener las unidades de datos en el agrupamiento modificado de la fuente 210 de datos.
En el bloque 404a, el CDS 200a compara las unidades de datos en el agrupamiento con las unidades de datos de la versión local correspondiente del agrupamiento. Al comparar las unidades de datos, el CDS 200 puede determinar qué unidades de datos del agrupamiento de la fuente 210 de datos han sido modificadas. La versión local correspondiente del agrupamiento puede incluir una copia de las unidades de datos incluidas en el agrupamiento en T0. En ciertas realizaciones, cuando la fuente 210 de datos incluye uno o más ficheros, el CDS 200a puede tratar cada nueva línea en el fichero como una unidad de datos y comparar las unidades de datos en el fichero actual y las unidades de datos en la versión anterior del fichero para identificar las unidades modificadas de datos.
En el bloque 405a, el CDS 200a extrae las unidades modificadas de datos del agrupamiento. El CDS 200a puede remitir las unidades modificadas extraídas de datos a uno o más sistemas 270 de destino.
Si el número de unidades de datos incluidas en el agrupamiento es superior al número histórico de unidades de datos incluidas en la versión local correspondiente del agrupamiento, el CDS 200a puede identificar las unidades modificadas de datos como unidades añadidas o actualizadas de datos, y remitir las unidades modificadas de datos al sistema 270 de destino para ser almacenadas. Si el número de unidades de datos incluidas en el agrupamiento es menor que el número histórico de unidades de datos incluidas en la versión local correspondiente del agrupamiento, el CDS 200a puede identificar las unidades modificadas de datos como unidades borradas de datos, y remitir las unidades modificadas de datos al sistema 270 de destino para que sean eliminadas.
En algunas realizaciones, el CDS 200a asigna un identificador único a cada una de las unidades de datos incluidas en el agrupamiento. El CDS 200a puede determinar si una unidad modificada es una nueva unidad de datos o una unidad actualizada de datos en función del identificador único asociado con la unidad modificada de datos.
La Figura 4B es un diagrama de flujo que ilustra otra realización de un procedimiento 400b para determinar y obtener las modificaciones en los datos de una pluralidad de fuentes de datos. El procedimiento 400b puede implementarse mediante uno o más sistemas descritos con respecto a las Figuras 1-2 y 5. Con fines ilustrativos, se explica a continuación el procedimiento 400b en conexión con el CDS 200b en la Figura 2B. Se explican con más detalle con respecto a las Figuras 1-5 ciertos detalles relativos al procedimiento 400b. Dependiendo de la realización, el procedimiento 400b puede incluir menos bloques, o adicionales, y los bloques pueden llevarse a cabo en un orden distinto al ilustrado.
En el bloque 401b, el CDS 200b obtiene información que indica los agrupamientos de datos de una fuente 210 de datos. La fuente 210 de datos puede ser una base de datos o un fichero. La información puede indicar un número de unidades de datos incluidas en cada uno de los agrupamientos. Los agrupamientos pueden estar basados en los sellos de tiempo de unidades respectivas de datos. Los sellos de tiempo pueden indicar momentos respectivos en los que se actualizaron por última vez las unidades de datos.
En el bloque 402b, el CDS 200b determina un agrupamiento cuyas unidades de datos han sido modificadas. El CDS 200b puede determinar si las unidades de datos de un agrupamiento han sido modificadas comparando un número de unidades de datos incluidas en el agrupamiento y un número histórico de unidades de datos incluidas en cada uno de los agrupamientos. Por ejemplo, el número histórico de unidades de datos incluidas en cada uno de los agrupamientos puede ser almacenado en datos históricos 315 de agrupamiento expuestos con respecto a la Figura 3.
En el bloque 403b, el CDS 200b obtiene unidades de datos en el agrupamiento modificado procedente de la fuente 210 de datos. Si la fuente 210 de datos es una base 210a de datos, una unidad de datos incluida en el agrupamiento puede ser una fila, y si la fuente 210 de datos es un fichero 210b, una unidad de datos incluida en el agrupamiento puede ser una línea.
En el bloque 404b, el CDS 200b compara las unidades de datos en el agrupamiento con una versión comprimida de los datos. El CDS 200b puede comparar las unidades de datos en el agrupamiento con una versión local correspondiente del agrupamiento, que puede ser una versión comprimida de los datos. En función de la comparación, el CDS 200b puede determinar qué unidades de datos del agrupamiento procedente de la fuente 210 de datos han sido modificadas. La versión comprimida de los datos puede ser una estructura probabilística de datos que ahorra espacio, tal como un filtro de Bloom. La estructura probabilística de datos que ahorra espacio puede incluir información acerca de unidades de datos incluidas en el agrupamiento en un momento anterior a la obtención de la información que indica los agolpamientos de los datos de la fuente 210 de datos. Este momento puede ser denominado instante T0. La estructura probabilística de datos que ahorra espacio puede identificar si se incluyó una unidad de datos incluida en el agrupamiento en el momento anterior (por ejemplo, el instante T0). En algunas realizaciones, la estructura probabilística de datos que ahorra espacio es un filtro de Bloom. Se puede seleccionar el filtro de Bloom entre múltiples filtros de Bloom, teniendo cada uno un tamaño distinto. La versión comprimida de los datos puede no comprender una copia del agrupamiento.
La versión comprimida de los datos se almacena en el almacenamiento local 250b, y las unidades modificadas de datos extraídas remitidas al sistema 270 de destino son almacenadas en el almacenamiento en el sistema 270 de destino. En ciertas realizaciones, el almacenamiento local 250b tiene una menor capacidad de almacenamiento que el almacenamiento del sistema 270 de destino. En una realización, el almacenamiento local 250b incluye un NAS. En el bloque 405b, el CDS 200b extrae las unidades modificadas de datos del agrupamiento. En el bloque 406b, el CDS 200b remite las unidades modificadas de datos al sistema 270 de destino. Los bloques 405b y 406b pueden ser similares a los bloques 405a en la Figura 4A.
Mecanismos de implementación
Según una realización, las técnicas descritas en la presente memoria son implementadas por uno o más dispositivos informáticos de uso especial. Los dispositivos informáticos de uso especial pueden ser cableados para llevar a cabo las técnicas, o pueden incluir circuitería o dispositivos electrónicos digitales tales como uno o más circuitos integrados para aplicaciones específicas (ASIC) o matrices de puertas de campo programable (FPGA) que son programados de manera persistente para llevar a cabo las técnicas, o pueden incluir uno o más procesadores de soporte físico programados para llevar a cabo las técnicas de acuerdo con instrucciones del programa en soporte lógico inalterable, en memoria, en otro almacenamiento, o una combinación. Tales dispositivos informáticos de uso especial también pueden combinar lógica cableada a medida, ASIC, FPGA con programación a medida para lograr las técnicas. Los dispositivos informáticos de uso especial pueden ser sistemas de ordenador de sobremesa, sistemas de ordenador servidor, sistemas de ordenador portátil, dispositivos portátiles, dispositivos de red o cualquier otro dispositivo o combinación de dispositivo que incorpore soporte físico y/o soporte lógico para implementar las técnicas.
El o los dispositivos informáticos están controlados y coordinados, en general, mediante soporte lógico de sistema operativo, tal como iOS, Android, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, iOS, Blackberry OS, Vx-Works u otros sistemas operativos compatibles. En otras realizaciones, se puede controlar el dispositivo informático mediante un sistema operativo patentado. Los sistemas operativos convencionales controlan y planifican procedimientos de ordenador para su ejecución, llevar a cabo una gestión de la memoria, proporcionar un sistema de ficheros, conexión de red, servicios de I/O y proporcionar una funcionalidad de interfaz de usuario, tal como una interfaz gráfica de usuario (“GUI”), entre otros.
Por ejemplo, la Figura 8 es un diagrama de bloques que ilustra un sistema 500 de ordenador en el que se puede implementar una realización. Por ejemplo, el sistema informático 500 puede comprender un sistema servidor que accede a datos de cuerpos policiales y proporciona datos de interfaz de usuario a uno o más usuarios (por ejemplo, administradores) que permite a esos usuarios visualizar sus paneles de control administrativos deseados e interactuar con los datos. Otros sistemas informáticos divulgados en la presente memoria, tales como el usuario (por ejemplo, administrador), puede incluir cualquier porción de la circuitería y/o la funcionalidad expuesta con referencia al sistema 500.
El sistema 500 de ordenador incluye un bus 502 u otro mecanismo de comunicación para comunicar información, y un procesador, o múltiples procesadores, 504 de soporte físico acoplado con el bus 502 para procesar información. El o los procesadores 504 de soporte físico pueden ser, por ejemplo, uno o más microprocesadores de uso general. El sistema 500 de ordenador también incluye una memoria principal 506, tal como una memoria de acceso aleatorio (RAM), una memoria intermedia y/u otros dispositivos de almacenamiento dinámico, acoplada con el bus 502 para almacenar información e instrucciones que han de ser ejecutadas por el procesador 504. La memoria principal 506 también puede ser utilizada para almacenar variables temporales u otra información intermedia durante la ejecución de instrucciones que han de ser ejecutadas por el procesador 504. Tales instrucciones, cuando son almacenadas en medios de almacenamiento accesibles al procesador 504, convierten al sistema 500 de ordenador en una máquina de uso especial que se personaliza para llevar a cabo las operaciones especificadas en las instrucciones.
El sistema 500 de ordenador incluye, además, una memoria 808 de solo lectura (ROM) u otro dispositivo de almacenamiento estático acoplado con el bus 502 para almacenar información estática e instrucciones para el procesador 504. Se proporciona un dispositivo 510 de almacenamiento, tal como un disco magnético, disco óptico, o unidad de lápiz de USB (unidad flash), etc., y se acopla con el bus 502 para almacenar información e instrucciones.
El sistema 500 de ordenador puede estar acoplado mediante el bus 502 con un medio 512 de visualización, tal como un tubo de rayos catódicos (CRT) o pantalla LCD (o pantalla táctil), para representar visualmente información a un usuario del ordenador. Un dispositivo 514 de entrada, que incluye teclas alfanuméricas y otras, está acoplado con el bus 502 para comunicar información y selecciones de instrucciones al procesador 504. Otro tipo de dispositivo de entrada de usuario es un control 516 del cursor, tal como un ratón, una bola de desplazamiento o teclas de dirección del cursor para comunicar información de dirección y selecciones de instrucciones al procesador 504 y para controlar el movimiento del cursor en el medio 512 de visualización. Normalmente, el dispositivo de entrada tiene dos grados de libertad en dos ejes, un primer eje (por ejemplo, x) y un segundo eje (por ejemplo, y), lo que permite al dispositivo especificar las posiciones en un plano. En algunas realizaciones, se puede implementar la misma información de dirección y las selecciones de instrucciones como un control del cursor mediante la recepción de toques en una pantalla táctil sin un cursor.
El sistema informático 500 puede incluir un módulo de interfaz de usuario para implementar una GUI que puede ser almacenada en un dispositivo de almacenamiento masivo como códigos ejecutables de soporte lógico que son ejecutados por el o los dispositivos informáticos. Este y otros módulos pueden incluir, a modo de ejemplo, componentes, tales como componentes de soporte lógico, componentes de soporte lógico orientados a objetos, componentes de clases y componentes de tareas, procesos, funciones, atributos, procedimientos, subrutinas, segmentos de código de programa, controladores, soporte lógico inalterable, microcódigo, circuitería, datos, bases de datos, estructuras de datos, tablas, matrices y variables.
En general, según se utiliza en la presente memoria, la palabra “módulo”, hace referencia a lógica implementada en soporte físico o en soporte lógico inalterable, o a una colección de instrucciones de soporte lógico, que tienen, posiblemente, puntos de entrada y de salida, escritas en un lenguaje de programación, tal como, por ejemplo, Java, Lua, C o C++. Se puede compilar y enlazar un módulo de soporte lógico en un programa ejecutable, instalado en una biblioteca de enlace dinámico, o puede escribirse en un lenguaje interpretado de programación tal como, por ejemplo, BASIC, Perl o Python. Se apreciará que los módulos de soporte lógico pueden ser susceptibles de ser llamados desde otros módulos o desde ellos mismos, y/o pueden ser invocados en respuesta a eventos o interrupciones detectados. Los módulos de soporte lógico configurados para su ejecución en dispositivos informáticos pueden proporcionarse en un medio legible por un ordenador, tal como un disco compacto, un disco de vídeo digital, una unidad flash, un disco magnético, o cualquier otro medio tangible, o como una descarga digital (y puede ser almacenada originalmente en un formato comprimido o instalable que requiere su instalación, descompresión o decodificación antes de su ejecución). Tal código de soporte lógico puede ser almacenado, parcial o completamente, en un dispositivo de memoria del dispositivo informático ejecutante, para su ejecución por el dispositivo informático. Las instrucciones de soporte lógico pueden ser embebidas en el soporte lógico inalterable, tal como una EPROM. Se apreciará, además, que los módulos de soporte físico pueden comprender unidades lógicas conectadas, tales como puertas y circuitos eléctricos biestables, y/o pueden comprender unidades programables, tales como procesadores o matrices de puertas programables. La funcionalidad de los módulos o del dispositivo informático descrita anteriormente en la presente memoria puede implementarse, preferentemente, como módulos de soporte lógico, pero puede representarse en soporte físico o en soporte lógico inalterable. En general, los módulos descritos en la presente memoria hacen referencia a módulos lógicos que pueden combinarse con otros módulos o ser divididos en submódulos a pesar de su organización física o almacenamiento.
El sistema 500 de ordenador puede implementar las técnicas descritas en la presente memoria utilizando soporte físico a medida, uno o más ASIC o FPGa , soporte lógico inalterable y/o soporte lógico que, en combinación con el sistema de ordenador, provoca o programa el sistema 500 de ordenador para que sea una máquina de uso especial. Según una realización, las técnicas se llevan a cabo en la presente memoria mediante el sistema 500 de ordenador en respuesta al o a los procesadores 504 que ejecutan una o más secuencias de una o más instrucciones contenidas en la memoria principal 506. Tales instrucciones pueden ser leídas en la memoria principal 506 desde otro medio de almacenamiento, tal como el dispositivo 510 de almacenamiento. La ejecución de las secuencias de instrucciones contenidas en la memoria principal 506 provoca que el o los procesadores 504 lleven a cabo las etapas del procedimiento descritas en la presente memoria. En realizaciones alternativas, se puede utilizar circuitería cableada en vez de instrucciones de soporte lógico, o en combinación con las mismas.
Según se utiliza en la presente memoria, la expresión “medios no transitorios” y expresiones similares hacen referencia a cualquier medio que almacene datos y/o instrucciones que provocan que una máquina opere de una forma específica. Tales medios no transitorios pueden comprender medios no volátiles y/o medios volátiles. Los medios no volátiles incluyen, por ejemplo, discos ópticos o magnéticos, tales como el dispositivo 510 de almacenamiento. Los medios volátiles incluyen memoria dinámica, tal como la memoria principal 506. Formas comunes de medios no transitorios incluyen, por ejemplo, un disquete, un disco duro, una unidad de estado sólido, una cinta magnética o cualquier otro medio de almacenamiento magnético de datos, un CD-ROM, cualquier otro medio de almacenamiento óptico de datos, cualquier medio físico con patrones de agujeros, una RAM, una PROM, una EPROM, una FLASH-EPROM, una NVRAM, cualquier otro chip o cartucho de memoria, y versiones en red de los mismos.
Los medios no transitorios son distintos de los medios de transmisión, pero pueden ser utilizados junto con los mismos. Los medios de transmisión participan transfiriendo información entre medios no transitorios. Por ejemplo, los medios de transmisión incluyen cables coaxiales, hilo de cobre y fibra óptica, incluyendo los hilos que comprenden el bus 502. Los medios de transmisión también pueden adoptar la forma de ondas acústicas o de luz, tales como las generadas durante comunicaciones de datos por ondas de radio y por infrarrojos.
Diversas formas de medios pueden estar implicadas en la realización de una o más secuencias de una o más instrucciones al procesador 504 para su ejecución. Por ejemplo, las instrucciones pueden ser portadas, inicialmente, en un disco magnético o en una unidad de estado sólido de un ordenador remoto. El ordenador remoto puede cargar las instrucciones en su memoria dinámica y enviar las instrucciones por una línea telefónica utilizando un módem. Un módem local al sistema 500 de ordenador puede recibir los datos en la línea telefónica y utilizar un transmisor de rayos infrarrojos para convertir los datos en una señal de rayos infrarrojos. Un detector de rayos infrarrojos puede recibir los datos portados en la señal infrarroja y una circuitería apropiada puede situar los datos en el bus 502. El bus 502 transporta los datos hasta la memoria principal 506, desde la que el procesador 504 recupera y ejecuta las instrucciones. Las instrucciones recibidas por la memoria principal 506 puede recuperar y ejecutar las instrucciones. Las instrucciones recibidas por la memoria principal 506 pueden ser almacenadas, opcionalmente, en el dispositivo 510 de almacenamiento, bien antes o bien después de su ejecución por el procesador 504.
El sistema 500 de ordenador también incluye una interfaz 518 de comunicaciones acoplada con el bus 502. La interfaz 518 de comunicaciones proporciona un acoplamiento bidireccional de comunicaciones de datos con un enlace 520 de red que está conectado con una red local 522. Por ejemplo, la interfaz 518 de comunicaciones puede ser una tarjeta de red digital de servicios integrados (ISDN), un módem de cable, un módem por satélite, o un módem para proporcionar una conexión de comunicaciones de datos con un tipo correspondiente de línea telefónica. Como otro ejemplo, la interfaz 518 de comunicaciones puede ser una tarjeta de una red de área local (LAN) para proporcionar una conexión de comunicaciones de datos con una LAN compatible (o componente de WAN que ha de comunicarse con una WAN). También se pueden implementar enlaces inalámbricos. En cualquier implementación tal, la interfaz 518 de comunicaciones envía y recibe señales eléctricas, electromagnéticas u ópticas que transportan corrientes de datos digitales que representan diversos tipos de información.
Normalmente, el enlace 520 de red proporciona una comunicación de datos a través de una o más redes a otros servicios de datos. Por ejemplo, el enlace 520 de red puede proporcionar una conexión a través de la red local 522 con un ordenador anfitrión 524 o con equipos de datos operados por un proveedor de servicios de Internet (ISP) 526. A su vez, el ISP 526 proporciona servicios de comunicaciones de datos a través de la red mundial de comunicaciones de paquetes de datos denominada ahora, habitualmente, “Internet” 525. Tanto la red local 522 como Internet 525 utilizan señales eléctricas, electromagnéticas u ópticas que transportan corrientes de datos digitales. Las señales a través de las diversas redes y las señales en el enlace 520 de red y a través de la interfaz 518 de comunicaciones, que transporta los datos digitales al sistema 500 de ordenador, y desde el mismo, son formas ejemplares de medios de transmisión.
El sistema 500 de ordenador puede enviar mensajes y recibir datos, incluyendo código de programa, a través de la o las redes, del enlace 520 de red y de la interfaz 518 de comunicaciones. En el ejemplo de Internet, un servidor 530 podría transmitir un código solicitado para un programa de aplicación a través de Internet 525, del ISP 526, de la red local 522 y de la interfaz 518 de comunicaciones.
El código recibido puede ser ejecutado por el procesador 504 como es recibido y/o almacenado en el dispositivo 510 de almacenamiento, u otro almacenamiento no volátil para una ejecución posterior.
Cada uno de los procedimientos, procedimientos y algoritmos descritos en las secciones precedentes puede ser implementado en módulos de código, y automatizado completa o parcialmente en los mismos, ejecutado por uno o más sistemas de ordenador o procesadores de ordenador que comprenden soporte físico de ordenador. Los procedimientos y algoritmos pueden ser implementados parcial o completamente en circuitería para aplicaciones específicas.
Los diversos procedimientos y características descritos anteriormente pueden ser utilizados con independencia mutua, o pueden combinarse de diversas formas. Se concibe que todas las posibles combinaciones y subcombinaciones se encuentren dentro del alcance de la presente divulgación. Además, se pueden omitir en algunas implementaciones ciertos bloques de procedimiento o de proceso. Los procedimientos y procesos descritos en la presente memoria tampoco están limitados a ninguna secuencia particular, y los bloques o estados relativos a la misma pueden llevarse a cabo en otras secuencias que sean apropiadas. Por ejemplo, los bloques o estados descritos pueden llevarse a cabo en un orden distinto del divulgado específicamente, o se pueden combinar múltiples bloques o estados en un único bloque o estado. Los bloques o estados ejemplares pueden llevarse a cabo en serie, en paralelo o de alguna otra forma. Se pueden añadir bloques o estados a las realizaciones ejemplares divulgadas, o pueden ser eliminados de las mismas. Los sistemas y componentes ejemplares descritos en la presente memoria pueden estar configurados de forma distinta a lo descrito. Por ejemplo, se pueden añadir elementos a las realizaciones ejemplares divulgadas, o pueden ser eliminados de las mismas o reordenados en comparación con las mismas.
El lenguaje condicional, tal como, entre otros, “puede”, “podría”, “pudiera” o “puede que”, a no ser que se indique específicamente lo contrario, o se comprenda lo contrario en el contexto usado, se concibe, en general, que transmita que ciertas realizaciones incluyen, ciertos elementos, características y/o etapas, mientras que otras realizaciones no lo hacen. Por lo tanto, no se concibe, en general, que no se requiera de ninguna manera que tal lenguaje condicional implique que los elementos, características y/o etapas para una o más realizaciones o que una o más realizaciones incluyan necesariamente lógica para decidir, con o sin una entrada o indicación por parte del usuario, si se incluyen estos elementos, características y/o etapas o deben ser llevados a cabo en cualquier realización particular.
Se debería comprender que cualquier descripción, elemento o bloque del procedimiento en los diagramas de flujo descritos en la presente memoria y/o mostrados en las figuras adjuntas representa potencialmente módulos, segmentos o porciones de código que incluyen una o más instrucciones ejecutables para implementar funciones o etapas lógicas específicas en el procedimiento. Se incluyen implementaciones alternativas en el alcance de las realizaciones descritas en la presente memoria en las que se pueden borrar, ejecutar fuera del orden mostrado o expuesto o presentado elementos o funciones, incluyendo de forma sustancialmente simultánea o en un orden inverso, dependiendo de la funcionalidad implicada, según comprenderán los expertos en la técnica.
Diversos aspectos de la presente invención pueden estar relacionados con una o más de las siguientes realizaciones ejemplares enumeradas (EEE), cada una de las cuales son ejemplos. Como con cualquier otra exposición relacionada proporcionada en el presente documento, no se debería interpretar que las EEE limitan cualquier reivindicación.
EEE1: Un sistema de ordenador configurado para obtener datos modificados de una fuente de datos, comprendiendo el sistema de ordenador: uno o más procesadores de soporte físico de ordenador configurados para ejecutar código para provocar que el sistema: obtenga información que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros o bases de datos en una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determine un primer agrupamiento de la pluralidad de agrupamientos que incluyen una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un primer número histórico de unidades de datos incluidas en una versión local correspondiente del primer agrupamiento, en el que se crea la versión local correspondiente del primer agrupamiento en función de las unidades de datos incluidas en el primer agrupamiento en un primer momento anterior a dicha obtención de la información que indica la pluralidad de agrupamientos de los datos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de la versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
EEE2: El sistema de la EEE 1, en el que la pluralidad de agrupamientos está basada en sellos de tiempo de unidades respectivas de datos, indicando los sellos de tiempo los momentos respectivos en los que se actualizaron por última vez las unidades de datos.
EEE 3: El sistema de la EEE 1 o EEE 2, en el que los sellos de tiempo de las unidades respectivas de datos incluyen una fecha y un momento en los que se actualizaron por última vez las unidades respectivas de datos, y en el que la pluralidad de agrupamientos se basa únicamente en la fecha de los sellos de tiempo de las unidades respectivas de datos.
EEE 4: El sistema de la EEE 3, en el que cada uno de la pluralidad de agrupamientos está asociado con una fecha distinta.
EEE 5: El sistema de la EEE 3 o EEE 4, en el que las fechas asociadas con cada uno de la pluralidad de agrupamientos se encuentran en un intervalo de fechas.
EEE 6: El sistema de cualquiera de las EEE 1-5, en el que la pluralidad de agrupamientos se basa en un primer campo de unidades respectivas de datos, configurado el primer campo para proporcionar una distribución no homogénea de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos.
EEE 7: El sistema de cualquiera de las EEE 1-6, en el que la versión local correspondiente del primer agrupamiento comprende una copia de las unidades de datos incluidas en el primer agrupamiento en el primer momento.
EEE 8: El sistema de cualquiera de las EEE 1-7, en el que, en respuesta a la determinación de que el primer número de unidades de datos es mayor que el primer número histórico de unidades de datos, el código está configurado, además, para provocar que el sistema: identifique las unidades modificadas de datos como unidades añadidas o modificadas de datos; y remita las unidades modificadas de datos al sistema de destino para ser almacenadas. EEE 9: El sistema de cualquiera de las EEE 1-8, en el que, en respuesta a la determinación de que el primer número de unidades de datos es menor que el primer número histórico de unidades de datos, el código está configurado, además, para provocar que el sistema: identifique las unidades modificadas de datos como unidades borradas de datos; y remita las unidades modificadas de datos al sistema de destino para ser eliminadas.
EEE 10: El sistema de cualquiera de las EEE 1-9, en el que el código está configurado adicionalmente para: asignar un identificador único a cada una de las unidades de datos incluidas en el primer agrupamiento; y determinar si una primera unidad modificada de datos de las unidades modificadas de datos es una nueva unidad de datos o una unidad actualizada de datoss en función del identificador único asociado con la primera unidad modificada de datos. EEE 11: El sistema de cualquiera de las EEE 1-10, en el que una unidad de datos incluida en el primer agrupamiento es una fila en una o más bases de datos o una línea en los uno o más ficheros.
EEE 12: El sistema de cualquiera de las EEE 1-11, en el que el código está configurado, además, para provocar que el sistema: obtenga la información que indica la pluralidad de agrupamientos de los datos almacenados en los uno o más ficheros en la fuente de datos utilizando un primer adaptador; y obtenga la información que indica la pluralidad de agrupamientos de los datos almacenados en las una o más bases de datos en la fuente de datos utilizando un segundo adaptador.
EEE 13: El sistema de cualquiera de las EEE 1-12, en el que el código está configurado, además, para provocar que el sistema obtenga la información que indica la pluralidad de agrupamientos de los datos en un intervalo.
EEE 14: El sistema de cualquiera de las EEE 1-13, en el que el código está configurado, además, para provocar que el sistema obtenga la información que indica la pluralidad de agrupamientos de los datos en respuesta a la recepción de una solicitud procedente del sistema de destino.
EEE 15: Un procedimiento para obtener datos modificados de una fuente de datos, comprendiendo el procedimiento: obtener, mediante uno o más procesadores de soporte físico de ordenador, información que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros o bases de datos en una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determinar, mediante los uno o más procesadores de soporte físico de ordenador, un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un primer número histórico de unidades de datos incluidas en una versión local correspondiente del primer agrupamiento, en el que la versión local correspondiente del primer agrupamiento se crea en función de unidades de datos incluidas en el primer agrupamiento en un primer momento antes de dicha obtención de la información que indica la pluralidad de agrupamientos de los datos; acceder, mediante los uno o más procesadores de soporte físico de ordenador, unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; comparar, mediante los uno o más procesadores de soporte físico de ordenador, las unidades de datos incluidas en el primer agrupamiento con unidades de datos de la versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas; extraer, mediante los uno o más procesadores de soporte físico de ordenador, las unidades modificadas de datos del primer agrupamiento; y remitir, mediante los uno o más procesadores de soporte físico de ordenador, las unidades modificadas extraídas de datos a un sistema de destino. EEE 16: El procedimiento de la EEE 15, en el que la pluralidad de agrupamientos se basa en sellos de tiempo de unidades respectivas de datos, indicando los sellos de tiempo momentos respectivos en los que se actualizaron por última vez las unidades de datos.
EEE 17: El procedimiento de la EEE 15 o de la EEE 16, en el que la pluralidad de agrupamientos se basa en un primer campo de unidades respectivas de datos, el primer campo configurado para proporcionar una distribución no homogénea de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos.
EEE 18: El procedimiento de cualquiera de las EEE 15-17, en el que la versión local correspondiente del primer agrupamiento comprende una copia de las unidades de datos incluidas en el primer agrupamiento en el primer momento.
EEE 19: El procedimiento de cualquiera de las EEE 15-18, en el que una unidad de datos incluida en el primer agrupamiento es una fila en las una o más bases de datos o una línea en los uno o más ficheros.
EEE 20: Un medio transitorio o no transitorio legible por un ordenador que comprende instrucciones para obtener datos modificados de una fuente de datos que provoca que un procesador de ordenador: obtenga información que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros o bases de datos en una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determine un primer agrupamiento de la pluralidad de agolpamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un primer número histórico de unidades de datos incluidas en una versión local correspondiente del primer agrupamiento, creándose la versión local correspondiente del primer agrupamiento en función de las unidades de datos incluidas en el primer agrupamiento en un primer momento antes de dicha obtención de la información que indica la pluralidad de agrupamientos de los datos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de la versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
EEE 21: Un sistema de ordenador configurado para obtener datos modificados de una fuente de datos, comprendiendo el sistema de ordenador: uno o más procesadores de soporte físico de ordenador configurados para ejecutar código para provocar que el sistema: obtenga información que indica una pluralidad de agrupamientos de datos de una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determine un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un número histórico de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de una versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas, en el que la versión local correspondiente del primer agrupamiento de unidades de datos es una versión comprimida del primer agrupamiento de unidades de datos; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
EEE 22: El sistema de la EEE 21, en el que la versión comprimida del primer agrupamiento de unidades de datos es una estructura probabilística de datos que ahorra espacio que incluye información acerca de las unidades de datos incluidas en el primer agrupamiento en un primer momento antes de dicha obtención de la información que indica la pluralidad de agrupamientos de los datos de la fuente de datos.
EEE 23: El sistema de la EEE 22, en el que la estructura probabilística de datos que ahorra espacio está configurada para determinar si una unidad particular de datos incluida en el primer agrupamiento fue incluida en el primer agrupamiento en el primer momento.
EEE 24: El sistema de la EEE 22 o de la EEE 23, en el que la estructura probabilística de datos que ahorra espacio es un filtro de Bloom.
EEE 25: El sistema de la EEE 23 o de la EEE 24, en el que el filtro de Bloom se selecciona de una pluralidad de filtros de Bloom cada uno de los cuales puede incluir un número distinto de unidades de datos.
EEE 26: El sistema de cualquiera de las EEE 21-25, en el que la versión comprimida de los datos no comprende una copia de las unidades de datos del primer agrupamiento.
EEE 27: El sistema de cualquiera de las EEE 21-26, en el que la versión local correspondiente de los datos se almacena en un primer almacenamiento y las unidades modificadas extraídas de datos remitidas al sistema de destino son almacenadas en un segundo almacenamiento, teniendo el primer almacenamiento una menor capacidad de almacenamiento que el segundo almacenamiento.
EEE 28: El sistema de la EEE 27, en el que el primer almacenamiento es un almacenamiento conectado en red (NAS).
EEE 29: El sistema de cualquiera de las EEE 21-28, en el que la fuente de datos es una base de datos o un fichero. EEE 30: El sistema de cualquiera de las EEE 21-29, en el que la pluralidad de agrupamientos se basa en sellos de tiempo de unidades respectivas de datos, indicando los sellos de tiempo momentos respectivos en los que se actualizaron por última vez las unidades de datos.
EEE 31: Un procedimiento para obtener datos modificados de una fuente de datos, comprendiendo el procedimiento: obtener, mediante uno o más procesadores de soporte físico de ordenador, información que indica una pluralidad de agrupamientos de datos de una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determinar, mediante los uno o más procesadores de soporte físico de ordenador, un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un número histórico de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; acceder, mediante los uno o más procesadores de soporte físico de ordenador, unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; comparar, mediante los uno o más procesadores de soporte físico de ordenador, las unidades de datos incluidas en el primer agrupamiento con unidades de datos de una versión local correspondiente del primer agolpamiento para determinar qué unidades de datos del primer agrupamiento de la fuente de datos han sido modificadas, en el que la versión local correspondiente del primer agrupamiento de unidades de datos es una versión comprimida del primer agrupamiento de unidades de datos; extraer, mediante los uno o más procesadores de soporte físico de ordenador, las unidades modificadas de datos del primer agrupamiento; y remitir, mediante los uno o más procesadores de soporte físico de ordenador, las unidades modificadas extraídas de datos a un sistema de destino.
EEE 32: El procedimiento de la EEE 31, en el que la versión comprimida del primer agrupamiento de unidades de datos es una estructura probabilística de datos que ahorra espacio que incluye información acerca de las unidades de datos incluidas en el primer agrupamiento en un primer momento antes de dicha obtención de la información que indica la pluralidad de agrupamientos de los datos de la fuente de datos.
EEE 33: El procedimiento de la EEE 32, en el que la estructura probabilística de datos que ahorra espacio determina si una unidad particular de datos incluida en el primer agrupamiento fue incluida en el primer agrupamiento en un primer momento.
EEE 34: El procedimiento de la EEE 31 o de la EEE 32, en el que la estructura probabilística de datos que ahorra espacio es un filtro de Bloom.
EEE 35: El procedimiento de cualquiera de las EEE 31-34, en el que la versión comprimida de los datos no comprende una copia del primer agrupamiento.
EEE 36: El procedimiento de cualquiera de las EEE 31-35, en el que la versión local correspondiente de los datos se almacena en un primer almacenamiento y las unidades modificadas extraídas de datos remitidas al sistema de destino se almacenan en un segundo almacenamiento, teniendo el primer almacenamiento una menor capacidad de almacenamiento que el segundo almacenamiento.
EEE 37: El procedimiento de la EEE 36, en el que el primer almacenamiento es un almacenamiento conectado en red (NAS).
EEE 38: El procedimiento de cualquiera de las EEE 31-37, en el que la fuente de datos es una base de datos o un fichero.
EEE 39: El procedimiento de cualquiera de las EEE 31-38, en el que la pluralidad de agrupamientos se basa en sellos de tiempo de unidades respectivas de datos, indicando los sellos de tiempo los momentos respectivos en los que se actualizaron por última vez las unidades de datos.
EEE 40: Un medio transitorio o no transitorio legible por un ordenador que comprende instrucciones para obtener datos modificados de una fuente de datos que provoca que un procesador de ordenador: obtenga información que indica una pluralidad de agrupamientos de datos de una fuente de datos, indicando la información un número de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; determine un primer agrupamiento de la pluralidad de agrupamientos que incluye una o más unidades de datos que han sido modificadas comparando un primer número de unidades de datos incluidas en el primer agrupamiento y un número histórico de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos; acceda a unidades de datos incluidas en el primer agrupamiento procedente de la fuente de datos; compare las unidades de datos incluidas en el primer agrupamiento con unidades de datos de una versión local correspondiente del primer agrupamiento para determinar qué unidades de datos del primer agrupamiento procedente de la fuente de datos han sido modificadas, en el que la versión local correspondiente del primer agrupamiento de unidades de datos es una versión comprimida del primer agrupamiento de unidades de datos; extraiga las unidades modificadas de datos del primer agrupamiento; y remita las unidades modificadas extraídas de datos a un sistema de destino.
Se debería hacer hincapié en que se pueden realizar muchas variaciones y modificaciones a las realizaciones descritas anteriormente, debiendo entenderse que sus elementos se encuentran entre otros ejemplos aceptables. Se concibe que todas las modificaciones y variaciones tales estén incluidas en la presente memoria dentro del alcance de la presente divulgación. La anterior descripción detalla ciertas realizaciones de la invención. Sin embargo, se apreciará que no importa cuán detallado parezca lo anterior en el texto, la invención puede ser puesta en práctica de muchas formas. Como también se ha indicado anteriormente, se debería hacer notar que el uso de terminología particular cuando se describen ciertas características o aspectos de la invención no debería interpretarse que implique que la terminología está siendo redefinida en la presente memoria para estar restringida a incluir cualquier característica específica de los rasgos o aspectos de la invención con la que está asociada esa terminología. Por lo tanto, se debería interpretar el alcance de la invención según las reivindicaciones adjuntas y cualquier equivalente de las mismas.

Claims (15)

REIVINDICACIONES
1. Un procedimiento (400a, 400b) para obtener datos modificados (340) procedentes de una fuente (110, 210) de datos y remitir los datos modificados obtenidos a un sistema (170, 270) de destino, comprendiendo el procedimiento (400a):
obtener (401a, 401b), mediante uno o más procesadores (504) de soporte físico de ordenador, información (310) que indica una pluralidad de agrupamientos de datos almacenados en uno o más ficheros (110b, 210b) o bases (110a, 210a) de datos en una fuente (110, 210) de datos, en el que la pluralidad de agrupamientos se basa en la fecha y la hora de los sellos de tiempo de unidades respectivas de datos, de forma que las unidades de datos se distribuyan de manera no uniforme en la pluralidad de agrupamientos, cada uno de los agrupamientos asociado con un distinto atributo de unidad de datos, de forma que cada uno de los agrupamientos respectivos incluya unidades de datos que tienen el atributo correspondiente de unidad de datos, en el que la información (310) indica una cantidad actual de unidades de datos incluidas en cada uno de la pluralidad de agrupamientos en un momento actual, en el que se obtiene la información (310) utilizando una consulta de un atributo de sello de tiempo de la unidad de datos;
acceder, mediante los uno o más procesadores (504) de soporte físico de ordenador, información histórica (315) de agrupamiento que indica una cantidad histórica de unidades de datos incluidas en al menos algunos de la pluralidad de agrupamientos en un momento anterior, en el que para un primer subconjunto (320) de los agrupamientos una cantidad actual de unidades de datos en el momento actual y una cantidad histórica de unidades de datos no son idénticas, y para otro subconjunto de los agrupamientos una cantidad actual de unidades de datos y una cantidad histórica de unidades de datos son idénticas;
comparar, mediante los uno o más procesadores (504) de soporte físico de ordenador, la cantidad de unidades de datos en cada uno de los agrupamientos correspondientes en el momento anterior y el momento actual; determinar (402a, 402b), mediante los uno o más procesadores (504) de soporte físico de ordenador para cada agrupamiento (330) en el primer subconjunto (320), en función de dicha comparación, que una cantidad actual de unidades de datos incluidas en un agrupamiento correspondiente (330) y una cantidad histórica de unidades de datos incluidas en un agrupamiento histórico (335) de unidades de datos no son idénticas, lo que indica que una o más unidades de datos del agrupamiento correspondiente (330) han sido modificadas; y
en respuesta a la determinación de que la cantidad actual de unidades de datos es mayor o menor que la cantidad histórica de unidades de datos, se llevan a cabo las siguientes etapas del procedimiento para cada agrupamiento (330) en el primer subconjunto (320);
acceder (403a, 403b), mediante los uno o más procesadores (504) de soporte físico de ordenador, a unidades de datos incluidas en un agrupamiento (330) en el primer subconjunto (320) procedente de la fuente (110, 210) de datos;
comparar (404a, 404b), mediante los uno o más procesadores (504) de soporte físico de ordenador, las unidades de datos incluidas en el agrupamiento (330) en el primer subconjunto (320) con unidades de datos de una versión local correspondiente del agrupamiento (335) para determinar qué unidades de datos del agrupamiento (330) en el primer subconjunto (320) procedente de la fuente (110, 210) de datos han sido modificadas;
extraer (405a, 405b), mediante los uno o más procesadores (504) de soporte físico de ordenador, las unidades modificadas (340) de datos del agrupamiento (330) en el primer subconjunto (320); y
remitir, mediante los uno o más procesadores (504) de soporte físico de ordenador, las unidades modificadas extraídas (340) de datos al sistema (170, 270) de destino.
2. El procedimiento (400a, 400b) de la Reivindicación 1,
en el que la pluralidad de agrupamientos se basa en los sellos de tiempo de las unidades respectivas de datos, en el que los sellos de tiempo indican momentos respectivos en los que se actualizaron por última vez las unidades de datos.
3. El procedimiento (400a, 400b) de la Reivindicación 2,
en el que los sellos de tiempo de las unidades respectivas de datos incluyen una fecha y un momento en el que se actualizaron por última vez las unidades respectivas de datos, y en el que la pluralidad de agrupamientos se basa únicamente en la fecha de los sellos de tiempo de las unidades respectivas de datos.
4. El procedimiento (400a, 400b) de la Reivindicación 3,
en el que cada uno de la pluralidad de agolpamientos está asociado con una fecha distinta y/o las fechas asociadas con cada uno de la pluralidad de agolpamientos se encuentran en un intervalo de fechas.
5. El procedimiento (400a, 400b) de cualquiera de las Reivindicaciones 1-4,
en el que, en respuesta a la determinación de que la cantidad actual de unidades de datos es superior a la cantidad histórica correspondiente de unidades de datos, el procedimiento comprende, además:
identificar las unidades modificadas (340) de datos como unidades añadidas o actualizadas de datos; y
remitir las unidades modificadas (340) de datos al sistema (170, 270) de destino para ser almacenadas, y/o
en el que, en respuesta a la determinación de que la cantidad actual de unidades de datos es menor que la cantidad histórica correspondiente de unidades de datos, el procedimiento comprende, además:
identificar las unidades modificadas (340) de datos como unidades borradas de datos; y
remitir las unidades modificadas (340) de datos al sistema (170, 270) de destino para ser eliminadas.
6. El procedimiento (400a, 400b) de cualquiera de las Reivindicaciones 1-5,
en el que el procedimiento comprende, además:
asignar un identificador único a cada una de las unidades de datos incluidas en cada agrupamiento (330) en el primer subconjunto, y
determinar si una primera unidad modificada de datos de las unidades modificadas (340) de datos es una nueva unidad de datos o una unidad actualizada de datos en función del identificador único asociado con la primera unidad modificada de datos,
y/o
en el que una unidad de datos incluida en un agrupamiento (330) en el primer subconjunto es una fila en las una o más bases (110a, 210a) de datos o una línea en los uno o más ficheros (110b, 210b).
7. El procedimiento (400a, 400b) de cualquiera de las Reivindicaciones 1-6,
en el que el procedimiento comprende, además:
obtener (401a, 401b) la información (310) que indica la pluralidad de agrupamientos de los datos almacenados en los uno o más ficheros (110b, 210b) en la fuente (110, 210) de datos utilizando un primer adaptador, y
obtener (401a, 401b) la información (310) que indica la pluralidad de agrupamientos de los datos almacenados en las una o más bases (110a, 210a) de datos en la fuente (110, 210) de datos utilizando un segundo adaptador, y/u
obtener (401a, 401b) la información (310) que indica la pluralidad de agrupamientos de los datos en un intervalo, y/u
obtener (401a, 401b) la información (310) que indica la pluralidad de agrupamientos de los datos en respuesta a la recepción de una solicitud procedente del sistema (170, 270) de destino.
8. El procedimiento (400a, 400b) de cualquiera de las Reivindicaciones 1-7,
en el que la versión local correspondiente del agrupamiento (335) comprende una copia de unidades de datos incluidas en el agrupamiento (335) en un primer momento antes de dicha obtención (401a) de la información (310) que indica la pluralidad de agrupamientos de los datos,
y/o
en el que una unidad de datos incluida en el agrupamiento (330) en el primer subconjunto (320) es una fila en las una o más bases (110a, 210a) de datos o una línea en los uno o más ficheros (110b, 210b).
9. El procedimiento (400b) de cualquiera de las Reivindicaciones 1-8, en el que la versión local correspondiente del agrupamiento (330) de unidades de datos es una versión comprimida del agrupamiento (330) de unidades de datos.
10. El procedimiento (400b) de la Reivindicación 9, en el que la versión comprimida del agrupamiento (330) de unidades de datos es una estructura probabilística de datos que ahorra espacio que incluye información (315) acerca de unidades de datos incluidas en el agrupamiento (335) en un primer momento antes de dicha obtención (401b) de la información (310) que indica la pluralidad de agrupamientos de los datos de la fuente (110, 210) de datos.
11. El procedimiento (400b) de la Reivindicación 10,
en el que la estructura probabilística de datos que ahorra espacio determina si una unidad particular de datoss incluida en el agrupamiento (330) fue incluida en el agrupamiento (335) en el primer momento,
y/o
en el que la estructura probabilística de datos que ahorra espacio es un filtro de Bloom (255), en el que, en algunas realizaciones, se selecciona el filtro de Bloom (255) entre una pluralidad de filtros de Bloom, cada uno de los cuales puede incluir un número distinto de unidades de datos.
12. El procedimiento (400b) de cualquiera de las Reivindicaciones 9-11,
en el que la versión comprimida de los datos no comprende una copia del agrupamiento (330),
y/o
en el que la versión local correspondiente de los datos se almacena en un primer almacenamiento y las unidades modificadas extraídas (340) de datos remitidas al sistema (170, 270) de destino son almacenadas en un segundo almacenamiento, teniendo el primer almacenamiento una menor capacidad de almacenamiento que el segundo almacenamiento, en el que, en algunas realizaciones, el primer almacenamiento es un almacenamiento conectado en red (NAS).
13. El procedimiento (400b) de cualquiera de las Reivindicaciones 9-12,
en el que la fuente (110, 210) de datos es una base (110a, 210a) de datos o un fichero (110b, 210b),
y/o
en el que la pluralidad de agrupamientos se basa en sellos de tiempo de unidades respectivas de datos, indicando los sellos de tiempo momentos respectivos en los que se actualizaron por última vez las unidades de datos.
14. Un sistema (100, 200a, 200b) de ordenador configurado para obtener datos modificados (340) procedentes de una fuente (110, 210) de datos y remitir los datos modificados obtenidos a un sistema (170, 270) de destino, comprendiendo el sistema (100, 200a, 200b) de ordenador:
uno o más procesadores (504) de soporte físico de ordenador configurados para ejecutar código para provocar que el sistema (100, 200a, 200b) lleve a cabo operaciones que incluyen las operaciones enumeradas en cualquiera de las Reivindicaciones 1-13.
15. Un medio legible por un ordenador que comprende instrucciones para obtener datos modificados (340) procedentes de una fuente (110, 210) de datos que provocan que un procesador (504) de ordenador lleve a cabo operaciones que incluyen las operaciones enumeradas en cualquiera de las Reivindicaciones 1-13.
ES15159520T 2014-03-18 2015-03-17 Determinación y extracción de datos modificados procedentes de una fuente de datos Active ES2755924T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461955054P 2014-03-18 2014-03-18
US14/254,757 US8935201B1 (en) 2014-03-18 2014-04-16 Determining and extracting changed data from a data source
US14/254,773 US8924429B1 (en) 2014-03-18 2014-04-16 Determining and extracting changed data from a data source

Publications (1)

Publication Number Publication Date
ES2755924T3 true ES2755924T3 (es) 2020-04-24

Family

ID=52112614

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15159520T Active ES2755924T3 (es) 2014-03-18 2015-03-17 Determinación y extracción de datos modificados procedentes de una fuente de datos

Country Status (4)

Country Link
US (5) US8924429B1 (es)
EP (2) EP2921975B1 (es)
DK (1) DK2921975T3 (es)
ES (1) ES2755924T3 (es)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US8560494B1 (en) 2011-09-30 2013-10-15 Palantir Technologies, Inc. Visual data importer
US9378526B2 (en) 2012-03-02 2016-06-28 Palantir Technologies, Inc. System and method for accessing data objects via remote references
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9471370B2 (en) 2012-10-22 2016-10-18 Palantir Technologies, Inc. System and method for stack-based batch evaluation of program instructions
US9367463B2 (en) 2013-03-14 2016-06-14 Palantir Technologies, Inc. System and method utilizing a shared cache to provide zero copy memory mapped database
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US9898167B2 (en) 2013-03-15 2018-02-20 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US9740369B2 (en) 2013-03-15 2017-08-22 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
US20160026923A1 (en) 2014-07-22 2016-01-28 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US10176032B2 (en) 2014-12-01 2019-01-08 Uptake Technologies, Inc. Subsystem health score
US9348880B1 (en) 2015-04-01 2016-05-24 Palantir Technologies, Inc. Federated search of multiple sources with conflict resolution
US10579750B2 (en) 2015-06-05 2020-03-03 Uptake Technologies, Inc. Dynamic execution of predictive models
US10176279B2 (en) 2015-06-05 2019-01-08 Uptake Technologies, Inc. Dynamic execution of predictive models and workflows
US10254751B2 (en) 2015-06-05 2019-04-09 Uptake Technologies, Inc. Local analytics at an asset
US10878385B2 (en) 2015-06-19 2020-12-29 Uptake Technologies, Inc. Computer system and method for distributing execution of a predictive model
US9514205B1 (en) 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US10558339B1 (en) 2015-09-11 2020-02-11 Palantir Technologies Inc. System and method for analyzing electronic communications and a collaborative electronic communications user interface
US9772934B2 (en) 2015-09-14 2017-09-26 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
AU2016324159A1 (en) 2015-09-17 2018-04-05 Uptake Technologies, Inc. Computer systems and methods for sharing asset-related information between data platforms over a network
WO2017100306A1 (en) 2015-12-07 2017-06-15 Uptake Technologies, Inc. Local analytics device
US11570188B2 (en) * 2015-12-28 2023-01-31 Sixgill Ltd. Dark web monitoring, analysis and alert system and method
US9652510B1 (en) 2015-12-29 2017-05-16 Palantir Technologies Inc. Systems and user interfaces for data analysis including artificial intelligence algorithms for generating optimized packages of data items
US11295217B2 (en) 2016-01-14 2022-04-05 Uptake Technologies, Inc. Localized temporal model forecasting
US10510006B2 (en) 2016-03-09 2019-12-17 Uptake Technologies, Inc. Handling of predictive models based on asset location
US20170280201A1 (en) * 2016-03-22 2017-09-28 Le Holdings (Beijing) Co., Ltd. Method and electronic device for updating program guide
US10796235B2 (en) 2016-03-25 2020-10-06 Uptake Technologies, Inc. Computer systems and methods for providing a visualization of asset event and signal data
US10489401B2 (en) * 2016-05-31 2019-11-26 International Business Machines Corporation Efficient aggregation in a parallel system
US10333775B2 (en) 2016-06-03 2019-06-25 Uptake Technologies, Inc. Facilitating the provisioning of a local analytics device
US10554516B1 (en) 2016-06-09 2020-02-04 Palantir Technologies Inc. System to collect and visualize software usage metrics
US9678850B1 (en) 2016-06-10 2017-06-13 Palantir Technologies Inc. Data pipeline monitoring
US10019456B2 (en) 2016-06-29 2018-07-10 Microsoft Technology Licensing, Llc Recovering free space in nonvolatile storage with a computer storage system supporting shared objects
US10692015B2 (en) 2016-07-15 2020-06-23 Io-Tahoe Llc Primary key-foreign key relationship determination through machine learning
US10133782B2 (en) 2016-08-01 2018-11-20 Palantir Technologies Inc. Techniques for data extraction
US10621314B2 (en) 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US11256762B1 (en) 2016-08-04 2022-02-22 Palantir Technologies Inc. System and method for efficiently determining and displaying optimal packages of data items
US10552531B2 (en) 2016-08-11 2020-02-04 Palantir Technologies Inc. Collaborative spreadsheet data validation and integration
US10373078B1 (en) 2016-08-15 2019-08-06 Palantir Technologies Inc. Vector generation for distributed data sets
EP3282374A1 (en) 2016-08-17 2018-02-14 Palantir Technologies Inc. User interface data sample transformer
US10210037B2 (en) 2016-08-25 2019-02-19 Uptake Technologies, Inc. Interface tool for asset fault analysis
US10474932B2 (en) 2016-09-01 2019-11-12 Uptake Technologies, Inc. Detection of anomalies in multivariate data
US10650086B1 (en) 2016-09-27 2020-05-12 Palantir Technologies Inc. Systems, methods, and framework for associating supporting data in word processing
US10152306B2 (en) 2016-11-07 2018-12-11 Palantir Technologies Inc. Framework for developing and deploying applications
US10261763B2 (en) 2016-12-13 2019-04-16 Palantir Technologies Inc. Extensible data transformation authoring and validation system
US11157951B1 (en) 2016-12-16 2021-10-26 Palantir Technologies Inc. System and method for determining and displaying an optimal assignment of data items
US11036730B2 (en) * 2016-12-19 2021-06-15 Business Objects Software Limited Business intelligence language type representing result structure
US10228925B2 (en) 2016-12-19 2019-03-12 Uptake Technologies, Inc. Systems, devices, and methods for deploying one or more artifacts to a deployment environment
US10509844B1 (en) 2017-01-19 2019-12-17 Palantir Technologies Inc. Network graph parser
US10579961B2 (en) 2017-01-26 2020-03-03 Uptake Technologies, Inc. Method and system of identifying environment features for use in analyzing asset operation
US10180934B2 (en) 2017-03-02 2019-01-15 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US11657407B1 (en) * 2017-03-13 2023-05-23 Amazon Technologies, Inc. Filtering data with probabilistic filters for content selection
US10581696B2 (en) 2017-03-29 2020-03-03 International Business Machines Corporation Intelligent information adapter generation for service management
US10572576B1 (en) 2017-04-06 2020-02-25 Palantir Technologies Inc. Systems and methods for facilitating data object extraction from unstructured documents
US10169408B1 (en) * 2017-04-06 2019-01-01 The Travelers Indemnity Company Systems and methods for non-disruptive complex variable calculation in online environments
US10922319B2 (en) 2017-04-19 2021-02-16 Ebay Inc. Consistency mitigation techniques for real-time streams
US10671039B2 (en) 2017-05-03 2020-06-02 Uptake Technologies, Inc. Computer system and method for predicting an abnormal event at a wind turbine in a cluster
CN108874825B (zh) * 2017-05-12 2021-11-02 北京京东尚科信息技术有限公司 一种异常数据的校验方法和装置
US10824604B1 (en) 2017-05-17 2020-11-03 Palantir Technologies Inc. Systems and methods for data entry
US10255526B2 (en) 2017-06-09 2019-04-09 Uptake Technologies, Inc. Computer system and method for classifying temporal patterns of change in images of an area
US10534595B1 (en) 2017-06-30 2020-01-14 Palantir Technologies Inc. Techniques for configuring and validating a data pipeline deployment
CN107392764A (zh) * 2017-07-17 2017-11-24 联动优势科技有限公司 一种数据核对的方法、装置及计算机存储介质
US10204119B1 (en) 2017-07-20 2019-02-12 Palantir Technologies, Inc. Inferring a dataset schema from input files
US9934287B1 (en) 2017-07-25 2018-04-03 Capital One Services, Llc Systems and methods for expedited large file processing
US11074235B2 (en) * 2017-08-10 2021-07-27 Io-Tahoe Llc Inclusion dependency determination in a large database for establishing primary key-foreign key relationships
US10754820B2 (en) 2017-08-14 2020-08-25 Palantir Technologies Inc. Customizable pipeline for integrating data
US11016936B1 (en) 2017-09-05 2021-05-25 Palantir Technologies Inc. Validating data for integration
US11232371B2 (en) 2017-10-19 2022-01-25 Uptake Technologies, Inc. Computer system and method for detecting anomalies in multivariate data
US10552246B1 (en) 2017-10-24 2020-02-04 Uptake Technologies, Inc. Computer system and method for handling non-communicative assets
US10379982B2 (en) 2017-10-31 2019-08-13 Uptake Technologies, Inc. Computer system and method for performing a virtual load test
US11379525B1 (en) 2017-11-22 2022-07-05 Palantir Technologies Inc. Continuous builds of derived datasets in response to other dataset updates
US10635519B1 (en) 2017-11-30 2020-04-28 Uptake Technologies, Inc. Systems and methods for detecting and remedying software anomalies
US10552524B1 (en) 2017-12-07 2020-02-04 Palantir Technolgies Inc. Systems and methods for in-line document tagging and object based data synchronization
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US10360252B1 (en) 2017-12-08 2019-07-23 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets
US11176116B2 (en) 2017-12-13 2021-11-16 Palantir Technologies Inc. Systems and methods for annotating datasets
US10769114B2 (en) * 2017-12-14 2020-09-08 Google Llc Database syncing
US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management
GB201800595D0 (en) 2018-01-15 2018-02-28 Palantir Technologies Inc Management of software bugs in a data processing system
US10599762B1 (en) 2018-01-16 2020-03-24 Palantir Technologies Inc. Systems and methods for creating a dynamic electronic form
US10815966B1 (en) 2018-02-01 2020-10-27 Uptake Technologies, Inc. Computer system and method for determining an orientation of a wind turbine nacelle
US10691485B2 (en) 2018-02-13 2020-06-23 Ebay Inc. Availability oriented durability technique for distributed server systems
US10169135B1 (en) 2018-03-02 2019-01-01 Uptake Technologies, Inc. Computer system and method of detecting manufacturing network anomalies
US10554518B1 (en) 2018-03-02 2020-02-04 Uptake Technologies, Inc. Computer system and method for evaluating health of nodes in a manufacturing network
JP2019185512A (ja) * 2018-04-13 2019-10-24 富士通株式会社 制御方法、制御プログラム、及び情報処理装置
US10635095B2 (en) 2018-04-24 2020-04-28 Uptake Technologies, Inc. Computer system and method for creating a supervised failure model
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US11263263B2 (en) 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
US10860599B2 (en) 2018-06-11 2020-12-08 Uptake Technologies, Inc. Tool for creating and deploying configurable pipelines
US10795909B1 (en) 2018-06-14 2020-10-06 Palantir Technologies Inc. Minimized and collapsed resource dependency path
US10579932B1 (en) 2018-07-10 2020-03-03 Uptake Technologies, Inc. Computer system and method for creating and deploying an anomaly detection model based on streaming data
US11449499B1 (en) * 2018-08-16 2022-09-20 Yellowbrick Data, Inc. System and method for retrieving data
US11119472B2 (en) 2018-09-28 2021-09-14 Uptake Technologies, Inc. Computer system and method for evaluating an event prediction model
US11181894B2 (en) 2018-10-15 2021-11-23 Uptake Technologies, Inc. Computer system and method of defining a set of anomaly thresholds for an anomaly detection model
CN109564567B (zh) * 2018-10-17 2023-07-25 北京算能科技有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
CN111435346B (zh) * 2019-01-14 2023-12-19 阿里巴巴集团控股有限公司 离线数据的处理方法、装置及设备
US11480934B2 (en) 2019-01-24 2022-10-25 Uptake Technologies, Inc. Computer system and method for creating an event prediction model
US11030067B2 (en) 2019-01-29 2021-06-08 Uptake Technologies, Inc. Computer system and method for presenting asset insights at a graphical user interface
US11797550B2 (en) 2019-01-30 2023-10-24 Uptake Technologies, Inc. Data science platform
US11208986B2 (en) 2019-06-27 2021-12-28 Uptake Technologies, Inc. Computer system and method for detecting irregular yaw activity at a wind turbine
US10975841B2 (en) 2019-08-02 2021-04-13 Uptake Technologies, Inc. Computer system and method for detecting rotor imbalance at a wind turbine
CN111198766B (zh) * 2020-01-06 2021-02-05 中科驭数(北京)科技有限公司 数据库访问操作部署方法、数据库访问方法及装置
US11829334B2 (en) * 2020-06-12 2023-11-28 International Business Machines Corporation Per row database resynchronization
CN111930505B (zh) * 2020-08-10 2021-07-02 建投数据科技(山东)有限公司 大数据平台的数据资源管理方法及系统、服务器及介质
US11892830B2 (en) 2020-12-16 2024-02-06 Uptake Technologies, Inc. Risk assessment at power substations
GB2602460A (en) * 2020-12-23 2022-07-06 Vocalink Ltd A method, apparatus and computer program product for reporting an exchange of messages between nodes in a network
US12314240B1 (en) * 2021-03-18 2025-05-27 Amazon Technologies, Inc. Incremental partition index update using bloom filters
US12505240B2 (en) * 2023-03-24 2025-12-23 Dell Products L.P. Application-aware DCF data authentication

Family Cites Families (1054)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109399A (en) 1989-08-18 1992-04-28 Alamo City Technologies, Inc. Emergency call locating system
US5241625A (en) 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
AU660451B2 (en) 1991-03-12 1995-06-29 Wang Laboratories, Inc. Database management system graphical query front end
US5426747A (en) 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5414838A (en) 1991-06-11 1995-05-09 Logical Information Machine System for extracting historical market information with condition and attributed windows
US5428737A (en) 1991-10-16 1995-06-27 International Business Machines Corporation Comprehensive bilateral translation between SQL and graphically depicted queries
FR2684214B1 (fr) 1991-11-22 1997-04-04 Sepro Robotique Carte a indexation pour systeme d'information geographique et systeme en comportant application.
JP3374977B2 (ja) 1992-01-24 2003-02-10 株式会社日立製作所 時系列情報の検索方法および検索システム
JPH0689307A (ja) 1992-05-04 1994-03-29 Internatl Business Mach Corp <Ibm> データベース内の情報を表示する装置および方法
JPH05342191A (ja) 1992-06-08 1993-12-24 Mitsubishi Electric Corp 経済時系列データ予測及び解析システム
US5819226A (en) 1992-09-08 1998-10-06 Hnc Software Inc. Fraud detection using predictive modeling
US5454104A (en) 1993-02-25 1995-09-26 Steidlmayer Software, Inc. Financial data event flow analysis system with study conductor display
JP2710548B2 (ja) 1993-03-17 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを検索する方法およびブール代数文表現と図形表現を互いに変換する方法
US5794228A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with buffer manager providing per page native data compression and decompression
US5794229A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with methodology for storing a database table by vertically partitioning all columns of the table
US5918225A (en) 1993-04-16 1999-06-29 Sybase, Inc. SQL-based database system with improved indexing methodology
US5608899A (en) 1993-06-04 1997-03-04 International Business Machines Corporation Method and apparatus for searching a database by interactively modifying a database query
US5911138A (en) 1993-06-04 1999-06-08 International Business Machines Corporation Database search facility having improved user interface
US5613105A (en) 1993-06-30 1997-03-18 Microsoft Corporation Efficient storage of objects in a file system
JP3385657B2 (ja) 1993-08-10 2003-03-10 トヨタ自動車株式会社 車載用ナビゲーション装置
US5632009A (en) 1993-09-17 1997-05-20 Xerox Corporation Method and system for producing a table image showing indirect data representations
US5670987A (en) 1993-09-21 1997-09-23 Kabushiki Kaisha Toshiba Virtual manipulating apparatus and method
US5437032A (en) 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
US6877137B1 (en) 1998-04-09 2005-04-05 Rose Blush Software Llc System, method and computer program product for mediating notes and note sub-notes linked or otherwise associated with stored or networked web pages
US5742806A (en) 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US5560005A (en) 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
JPH09505681A (ja) 1994-05-10 1997-06-03 シーメンス アクチエンゲゼルシヤフト リアルタイムシステムにおけるデータ管理システム
US5542089A (en) 1994-07-26 1996-07-30 International Business Machines Corporation Method and apparatus for estimating the number of occurrences of frequent values in a data set
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5777549A (en) 1995-03-29 1998-07-07 Cabletron Systems, Inc. Method and apparatus for policy-based alarm notification in a distributed network management environment
US5999911A (en) 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
US6012042A (en) 1995-08-16 2000-01-04 Window On Wallstreet Inc Security analysis system
US5872973A (en) 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US6366933B1 (en) 1995-10-27 2002-04-02 At&T Corp. Method and apparatus for tracking and viewing changes on the web
US5832218A (en) 1995-12-14 1998-11-03 International Business Machines Corporation Client/server electronic mail system for providng off-line client utilization and seamless server resynchronization
US5819238A (en) 1996-12-13 1998-10-06 Enhanced Investment Technologies, Inc. Apparatus and accompanying methods for automatically modifying a financial portfolio through dynamic re-weighting based on a non-constant function of current capitalization weights
JP3410271B2 (ja) 1995-12-28 2003-05-26 アルパイン株式会社 ナビゲーション装置
US6006242A (en) 1996-04-05 1999-12-21 Bankers Systems, Inc. Apparatus and method for dynamically creating a document
TW343317B (en) 1996-05-01 1998-10-21 Casio Computer Co Ltd Document output apparatus
US8725493B2 (en) 2004-01-06 2014-05-13 Neuric Llc Natural language parsing method to provide conceptual flow
US5845300A (en) 1996-06-05 1998-12-01 Microsoft Corporation Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items
US6094643A (en) 1996-06-14 2000-07-25 Card Alert Services, Inc. System for detecting counterfeit financial card fraud
US6321274B1 (en) 1996-06-28 2001-11-20 Microsoft Corporation Multiple procedure calls in a single request
US5897636A (en) 1996-07-11 1999-04-27 Tandem Corporation Incorporated Distributed object computer system with hierarchical name space versioning
US5878434A (en) 1996-07-18 1999-03-02 Novell, Inc Transaction clash management in a disconnectable computer and network
US5798769A (en) 1996-08-15 1998-08-25 Xerox Corporation Method and apparatus for maintaining links between graphic objects in a free-form graphics display system
US5826021A (en) 1996-09-17 1998-10-20 Sun Microsystems, Inc. Disconnected write authorization in a client/server computing system
US6072942A (en) 1996-09-18 2000-06-06 Secure Computing Corporation System and method of electronic mail filtering using interconnected nodes
CA2187704C (en) 1996-10-11 1999-05-04 Darcy Kim Rossmo Expert system method of performing crime site analysis
US5870559A (en) 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US5974572A (en) 1996-10-15 1999-10-26 Mercury Interactive Corporation Software system and methods for generating a load test using a server access log
US7711598B2 (en) 1996-10-25 2010-05-04 Ipf, Inc. Web-based consumer product marketing communication network for managing and delivering consumer product marketing communications to consumers along e-commerce (EC) enabled web sites on the world wide web (WWW), using multi-mode virtual kiosks (MMVKS) driven by server=side components embodying consumer product identifiers and driven by consumer product information (CPI) links managed by product manufacturer team members and/or their agents
CA2190043C (en) 1996-11-12 2001-10-16 Don E. Hameluck Buffered screen capturing software tool usability testing of computer applications
US6430305B1 (en) 1996-12-20 2002-08-06 Synaptics, Incorporated Identity verification methods
US5845530A (en) 1996-12-30 1998-12-08 The Boeing Company Cam and roller overcenter handle mechanism
US6065026A (en) 1997-01-09 2000-05-16 Document.Com, Inc. Multi-user electronic document authoring system with prompted updating of shared language
US5966706A (en) 1997-02-19 1999-10-12 At&T Corp Local logging in a distributed database management computer system
US5857329A (en) 1997-03-14 1999-01-12 Deere & Company One-piece combined muffler exhaust outlet and exhaust gas deflector
US6084510A (en) 1997-04-18 2000-07-04 Lemelson; Jerome H. Danger warning and emergency response system and method
US6026233A (en) 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6091956A (en) 1997-06-12 2000-07-18 Hollenberg; Dennis D. Situation information system
US6104401A (en) 1997-06-12 2000-08-15 Netscape Communications Corporation Link filters
US6208985B1 (en) 1997-07-09 2001-03-27 Caseventure Llc Data refinery: a direct manipulation user interface for data querying with integrated qualitative and quantitative graphical representations of query construction and query result presentation
US7403922B1 (en) 1997-07-28 2008-07-22 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
US6463404B1 (en) 1997-08-08 2002-10-08 British Telecommunications Public Limited Company Translation
US20020138390A1 (en) 1997-10-14 2002-09-26 R. Raymond May Systems, methods and computer program products for subject-based addressing in an electronic trading system
US6236994B1 (en) 1997-10-21 2001-05-22 Xerox Corporation Method and apparatus for the integration of information and knowledge
US6094650A (en) 1997-12-15 2000-07-25 Manning & Napier Information Services Database analysis using a probabilistic ontology
JP3636272B2 (ja) 1998-02-09 2005-04-06 富士通株式会社 アイコン表示方法、その装置、及び記録媒体
US6247019B1 (en) 1998-03-17 2001-06-12 Prc Public Sector, Inc. Object-based geographic information system (GIS)
US6134582A (en) 1998-05-26 2000-10-17 Microsoft Corporation System and method for managing electronic mail messages using a client-based database
US7168039B2 (en) 1998-06-02 2007-01-23 International Business Machines Corporation Method and system for reducing the horizontal space required for displaying a column containing text data
US6742003B2 (en) 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
US6243706B1 (en) 1998-07-24 2001-06-05 Avid Technology, Inc. System and method for managing the creation and production of computer generated works
US6577304B1 (en) 1998-08-14 2003-06-10 I2 Technologies Us, Inc. System and method for visually representing a supply chain
US6189005B1 (en) 1998-08-21 2001-02-13 International Business Machines Corporation System and method for mining surprising temporal patterns
US6243717B1 (en) 1998-09-01 2001-06-05 Camstar Systems, Inc. System and method for implementing revision management of linked data entities and user dependent terminology
US6161098A (en) 1998-09-14 2000-12-12 Folio (Fn), Inc. Method and apparatus for enabling small investors with a portfolio of securities to manage taxable events within the portfolio
US6532449B1 (en) 1998-09-14 2003-03-11 Ben Goertzel Method of numerical times series prediction based on non-numerical time series
US6232971B1 (en) 1998-09-23 2001-05-15 International Business Machines Corporation Variable modality child windows
US7213030B1 (en) 1998-10-16 2007-05-01 Jenkins Steven R Web-enabled transaction and collaborative management system
US6313833B1 (en) 1998-10-16 2001-11-06 Prophet Financial Systems Graphical data collection and retrieval interface
US6178519B1 (en) 1998-12-10 2001-01-23 Mci Worldcom, Inc. Cluster-wide database system
US6279018B1 (en) 1998-12-21 2001-08-21 Kudrollis Software Inventions Pvt. Ltd. Abbreviating and compacting text to cope with display space constraint in computer software
US6957191B1 (en) 1999-02-05 2005-10-18 Babcock & Brown Lp Automated financial scenario modeling and analysis tool having an intelligent graphical user interface
US6513019B2 (en) 1999-02-16 2003-01-28 Financial Technologies International, Inc. Financial consolidation and communication platform
US7111231B1 (en) 1999-02-24 2006-09-19 Intellisync Corporation System and methodology for dynamic application environment employing runtime execution templates
US7353194B1 (en) 1999-03-02 2008-04-01 Alticor Investments, Inc. System and method for managing recurring orders in a computer network
KR100313198B1 (ko) 1999-03-05 2001-11-05 윤덕용 압축된 히스토그램 정보를 사용한 다차원 선택율 추정 방법
US7418399B2 (en) 1999-03-10 2008-08-26 Illinois Institute Of Technology Methods and kits for managing diagnosis and therapeutics of bacterial infections
US6631496B1 (en) 1999-03-22 2003-10-07 Nec Corporation System for personalizing, organizing and managing web information
US6748481B1 (en) 1999-04-06 2004-06-08 Microsoft Corporation Streaming information appliance with circular buffer for receiving and selectively reading blocks of streaming information
US6369835B1 (en) 1999-05-18 2002-04-09 Microsoft Corporation Method and system for generating a movie file from a slide show presentation
US6714936B1 (en) 1999-05-25 2004-03-30 Nevin, Iii Rocky Harry W. Method and apparatus for displaying data stored in linked nodes
JP2000349646A (ja) 1999-06-02 2000-12-15 Japan Science & Technology Corp ウェーブレット系数列を用いた時系列予測方法及びその装置
EP1183635A2 (en) 1999-06-02 2002-03-06 Algorithmics International Corp. Risk management system, distributed framework and method
US6307573B1 (en) 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
US7039863B1 (en) 1999-07-23 2006-05-02 Adobe Systems Incorporated Computer generation of documents using layout elements and content elements
US7373592B2 (en) 1999-07-30 2008-05-13 Microsoft Corporation Modeless child windows for application programs
US6560620B1 (en) 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
US6976210B1 (en) 1999-08-31 2005-12-13 Lucent Technologies Inc. Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality
US6560774B1 (en) 1999-09-01 2003-05-06 Microsoft Corporation Verifier to check intermediate language
GB2371901B (en) 1999-09-21 2004-06-23 Andrew E Borthwick A probabilistic record linkage model derived from training data
US6523019B1 (en) 1999-09-21 2003-02-18 Choicemaker Technologies, Inc. Probabilistic record linkage model derived from training data
US6519627B1 (en) 1999-09-27 2003-02-11 International Business Machines Corporation System and method for conducting disconnected transactions with service contracts for pervasive computing devices
US20020174201A1 (en) 1999-09-30 2002-11-21 Ramer Jon E. Dynamic configuration of context-sensitive personal sites and membership channels
US6990238B1 (en) 1999-09-30 2006-01-24 Battelle Memorial Institute Data processing, analysis, and visualization system for use with disparate data types
WO2001025906A1 (en) 1999-10-01 2001-04-12 Global Graphics Software Limited Method and system for arranging a workflow using graphical user interface
US7246090B1 (en) 1999-10-25 2007-07-17 Measuredmarkets Inc. Method for detecting aberrant behavior of a financial instrument
US6674434B1 (en) 1999-10-25 2004-01-06 Navigation Technologies Corp. Method and system for automatic generation of shape and curvature data for a geographic database
US6876981B1 (en) 1999-10-26 2005-04-05 Philippe E. Berckmans Method and system for analyzing and comparing financial investments
US7831494B2 (en) 1999-11-01 2010-11-09 Accenture Global Services Gmbh Automated financial portfolio coaching and risk management system
US7716077B1 (en) 1999-11-22 2010-05-11 Accenture Global Services Gmbh Scheduling and planning maintenance and service in a network-based supply chain environment
US6370538B1 (en) 1999-11-22 2002-04-09 Xerox Corporation Direct manipulation interface for document properties
FR2806183B1 (fr) 1999-12-01 2006-09-01 Cartesis S A Dispositif et procede pour la consolidation instantanee, l'enrichissement et le "reporting" ou remontee d'information dans une base de donnees multidimensionnelle
US6944821B1 (en) 1999-12-07 2005-09-13 International Business Machines Corporation Copy/paste mechanism and paste buffer that includes source information for copied data
US7194680B1 (en) 1999-12-07 2007-03-20 Adobe Systems Incorporated Formatting content by example
EP1109116A1 (en) 1999-12-14 2001-06-20 Sun Microsystems, Inc. Method for visually filtering a database
US7043449B1 (en) 1999-12-17 2006-05-09 Prosticks.Com Limited Method for charting financial market activities
KR100344530B1 (ko) 1999-12-20 2002-07-24 한국과학기술원 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법
US20040117387A1 (en) 2000-02-25 2004-06-17 Vincent Civetta Database sizing and diagnostic utility
US20020032677A1 (en) 2000-03-01 2002-03-14 Jeff Morgenthaler Methods for creating, editing, and updating searchable graphical database and databases of graphical images and information and displaying graphical images from a searchable graphical database or databases in a sequential or slide show format
US6859909B1 (en) 2000-03-07 2005-02-22 Microsoft Corporation System and method for annotating web-based documents
JP2001283120A (ja) 2000-03-31 2001-10-12 Oki Electric Ind Co Ltd 取引支援システム
US7562042B2 (en) 2000-04-07 2009-07-14 Massachusetts Institute Of Technology Data processor for implementing forecasting algorithms
US6456997B1 (en) 2000-04-12 2002-09-24 International Business Machines Corporation System and method for dynamically generating an invisible hierarchy in a planning system
US6745382B1 (en) 2000-04-13 2004-06-01 Worldcom, Inc. CORBA wrappers for rules automation technology
JP4325075B2 (ja) 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
US7356504B2 (en) 2000-05-01 2008-04-08 The Olsen Group Methods for determining value at risk
US6915289B1 (en) 2000-05-04 2005-07-05 International Business Machines Corporation Using an index to access a subject multi-dimensional database
US7269786B1 (en) 2000-05-04 2007-09-11 International Business Machines Corporation Navigating an index to access a subject multi-dimensional database
US6642945B1 (en) 2000-05-04 2003-11-04 Microsoft Corporation Method and system for optimizing a visual display for handheld computer systems
WO2001086557A1 (en) 2000-05-09 2001-11-15 Mount Lucas Management Corp. A method and system for generating an index of investment returns
ATE297571T1 (de) 2000-05-16 2005-06-15 Garrett O'carroll System und verfahren zur dokumentverarbeitung
US8386945B1 (en) 2000-05-17 2013-02-26 Eastman Kodak Company System and method for implementing compound documents in a production printing workflow
FR2809514A1 (fr) 2000-05-25 2001-11-30 Ibm Corp Internat Business Mac Systeme et methode pour la gestion des marches boursiers
US6594672B1 (en) 2000-06-01 2003-07-15 Hyperion Solutions Corporation Generating multidimensional output using meta-models and meta-outlines
US7877312B2 (en) 2000-06-22 2011-01-25 Wgal, Llp Apparatus and method for displaying trading trends
WO2001099015A2 (en) 2000-06-22 2001-12-27 Stock Decision Software Co., Inc. Apparatus and method for displaying trading trends
US20020059126A1 (en) 2000-06-27 2002-05-16 John Ricciardi System and method for a selecting an investment item
US6839745B1 (en) 2000-07-19 2005-01-04 Verizon Corporate Services Group Inc. System and method for generating reports in a telecommunication system
US7278105B1 (en) 2000-08-21 2007-10-02 Vignette Corporation Visualization and analysis of user clickpaths
GB2366498A (en) 2000-08-25 2002-03-06 Copyn Ltd Method of bookmarking a section of a web-page and storing said bookmarks
US6795868B1 (en) 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
US7861174B2 (en) 2000-09-08 2010-12-28 Oracle International Corporation Method and system for assembling concurrently-generated content
TWI244617B (en) 2000-09-16 2005-12-01 Ibm A client/server-based data processing system for performing transactions between clients and a server and a method of performing the transactions
US20020065708A1 (en) 2000-09-22 2002-05-30 Hikmet Senay Method and system for interactive visual analyses of organizational interactions
AUPR033800A0 (en) 2000-09-25 2000-10-19 Telstra R & D Management Pty Ltd A document categorisation system
US6640231B1 (en) 2000-10-06 2003-10-28 Ontology Works, Inc. Ontology for database design and application development
US6829621B2 (en) 2000-10-06 2004-12-07 International Business Machines Corporation Automatic determination of OLAP cube dimensions
US8707185B2 (en) 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
US8117281B2 (en) 2006-11-02 2012-02-14 Addnclick, Inc. Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content
US7185065B1 (en) 2000-10-11 2007-02-27 Buzzmetrics Ltd System and method for scoring electronic messages
US6976024B1 (en) 2000-10-12 2005-12-13 International Buisness Machines Corporation Batch submission API
JP2002123530A (ja) 2000-10-12 2002-04-26 Hitachi Ltd 多次元データの可視化方法及び装置
US6754640B2 (en) 2000-10-30 2004-06-22 William O. Bozeman Universal positive pay match, authentication, authorization, settlement and clearing system
US6857120B1 (en) 2000-11-01 2005-02-15 International Business Machines Corporation Method for characterizing program execution by periodic call stack inspection
US20020087570A1 (en) 2000-11-02 2002-07-04 Jacquez Geoffrey M. Space and time information system and method
US6738770B2 (en) 2000-11-04 2004-05-18 Deep Sky Software, Inc. System and method for filtering and sorting data
US6978419B1 (en) 2000-11-15 2005-12-20 Justsystem Corporation Method and apparatus for efficient identification of duplicate and near-duplicate documents and text spans using high-discriminability text fragments
US7370040B1 (en) 2000-11-21 2008-05-06 Microsoft Corporation Searching with adaptively configurable user interface and extensible query language
US7058648B1 (en) 2000-12-01 2006-06-06 Oracle International Corporation Hierarchy-based secured document repository
US6961943B2 (en) 2000-12-06 2005-11-01 Microsoft Corporation Multimedia processing system parsing multimedia content from a single source to minimize instances of source files
US7114162B2 (en) 2000-12-06 2006-09-26 Microsoft Corporation System and methods for generating and managing filter strings in a filter graph
US20020103705A1 (en) 2000-12-06 2002-08-01 Forecourt Communication Group Method and apparatus for using prior purchases to select activities to present to a customer
US7529698B2 (en) 2001-01-16 2009-05-05 Raymond Anthony Joao Apparatus and method for providing transaction history information, account history information, and/or charge-back information
US20030187761A1 (en) 2001-01-17 2003-10-02 Olsen Richard M. Method and system for storing and processing high-frequency data
US7536332B2 (en) 2001-02-02 2009-05-19 Rhee Thomas A Real life implementation of modern portfolio theory (MPT) for financial planning and portfolio management
US9053222B2 (en) 2002-05-17 2015-06-09 Lawrence A. Lynn Patient safety processor
WO2002063535A2 (en) 2001-02-07 2002-08-15 Exalt Solutions, Inc. Intelligent multimedia e-catalog
AUPR313301A0 (en) 2001-02-15 2001-03-08 Topshop Holdings Pty Ltd Method & system for avoiding channel conflict in electronic commerce
US6516268B2 (en) 2001-02-16 2003-02-04 Wizeguides.Com Inc. Bundled map guide
US20100057622A1 (en) 2001-02-27 2010-03-04 Faith Patrick L Distributed Quantum Encrypted Pattern Generation And Scoring
US7809650B2 (en) 2003-07-01 2010-10-05 Visa U.S.A. Inc. Method and system for providing risk information in connection with transaction processing
US6985950B1 (en) 2001-03-06 2006-01-10 Microsoft Corporation System for creating a space-efficient document categorizer for training and testing of automatic categorization engines
US20060265397A1 (en) 2001-03-06 2006-11-23 Knowledge Vector, Inc. Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution
US7043702B2 (en) 2001-03-15 2006-05-09 Xerox Corporation Method for visualizing user path through a web site and a path's associated information scent
US20030078827A1 (en) 2001-03-23 2003-04-24 Hoffman George Harry System, method and computer program product for strategic supply chain data collection
US7818224B2 (en) 2001-03-22 2010-10-19 Boerner Sean T Method and system to identify discrete trends in time series
US9256356B2 (en) 2001-03-29 2016-02-09 International Business Machines Corporation Method and system for providing feedback for docking a content pane in a host window
US6775675B1 (en) 2001-04-04 2004-08-10 Sagemetrics Corporation Methods for abstracting data from various data structures and managing the presentation of the data
US6920453B2 (en) 2001-12-31 2005-07-19 Nokia Corporation Method and system for finding a query-subset of events within a master-set of events
US7499922B1 (en) * 2001-04-26 2009-03-03 Dakota Software Corp. Information retrieval system and method
IL158696A0 (en) 2001-05-11 2004-05-12 Computer Ass Think Inc Method and system for transforming legacy software applications into modern object-oriented systems
US6980984B1 (en) 2001-05-16 2005-12-27 Kanisa, Inc. Content provider systems and methods using structured data
US6907426B2 (en) 2001-05-17 2005-06-14 International Business Machines Corporation Systems and methods for identifying and counting instances of temporal patterns
US6496774B1 (en) 2001-05-24 2002-12-17 Prc Inc. Automatic vehicle routing and recommendation system
US7877421B2 (en) 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US7865427B2 (en) 2001-05-30 2011-01-04 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
US6828920B2 (en) 2001-06-04 2004-12-07 Lockheed Martin Orincon Corporation System and method for classifying vehicles
US6665683B1 (en) 2001-06-22 2003-12-16 E. Intelligence, Inc. System and method for adjusting a value within a multidimensional aggregation tree
US8001465B2 (en) 2001-06-26 2011-08-16 Kudrollis Software Inventions Pvt. Ltd. Compacting an information array display to cope with two dimensional display space constraint
US7100147B2 (en) 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
US7155728B1 (en) 2001-06-28 2006-12-26 Microsoft Corporation Remoting features
US6643613B2 (en) 2001-07-03 2003-11-04 Altaworks Corporation System and method for monitoring performance metrics
US7133409B1 (en) 2001-07-19 2006-11-07 Richard Willardson Programmable packet filtering in a prioritized chain
US20040205492A1 (en) 2001-07-26 2004-10-14 Newsome Mark R. Content clipping service
US20030023620A1 (en) 2001-07-30 2003-01-30 Nicholas Trotta Creation of media-interaction profiles
US20030039948A1 (en) 2001-08-09 2003-02-27 Donahue Steven J. Voice enabled tutorial system and method
US7028223B1 (en) 2001-08-13 2006-04-11 Parasoft Corporation System and method for testing of web services
US7835966B2 (en) 2001-09-17 2010-11-16 Recognia Inc. Technical analysis formation recognition using pivot points
CA2404288A1 (en) 2001-09-17 2003-03-17 Recognia Inc. A method for categorizing pivot points in technical analysis
US20030172021A1 (en) 2001-10-03 2003-09-11 Chih-Wei Huang System and method using trading value for weighting instruments in an index
US7636680B2 (en) 2001-10-03 2009-12-22 Starmine Corporation Methods and systems for measuring performance of a security analyst
CA2462165A1 (en) 2001-10-11 2003-04-17 Visual Sciences, Llc System, method, and computer program product for processing and visualization of information
JP3521194B2 (ja) 2001-10-11 2004-04-19 有限会社増田経済研究所 株価チャート
US6877136B2 (en) 2001-10-26 2005-04-05 United Services Automobile Association (Usaa) System and method of providing electronic access to one or more documents
US6799173B2 (en) 2001-11-14 2004-09-28 Sun Microsystems, Inc. Method and apparatus for sharing code containing references to non-shared objects
NO316480B1 (no) 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
US7089541B2 (en) 2001-11-30 2006-08-08 Sun Microsystems, Inc. Modular parser architecture with mini parsers
US7165101B2 (en) 2001-12-03 2007-01-16 Sun Microsystems, Inc. Transparent optimization of network traffic in distributed systems
CA2413887A1 (en) 2001-12-11 2003-06-11 Recognia Inc. Method of providing a financial event identification service
US7611602B2 (en) 2001-12-13 2009-11-03 Urban Mapping, Llc Method of producing maps and other objects configured for presentation of spatially-related layers of data
US20070203771A1 (en) 2001-12-17 2007-08-30 Caballero Richard J System and method for processing complex orders
US7970240B1 (en) 2001-12-17 2011-06-28 Google Inc. Method and apparatus for archiving and visualizing digital images
CA2414620C (en) 2001-12-17 2011-04-19 Recognia Inc. A method for chart markup and annotation in technical analysis
US7475242B2 (en) 2001-12-18 2009-01-06 Hewlett-Packard Development Company, L.P. Controlling the distribution of information
US20030130996A1 (en) 2001-12-21 2003-07-10 International Business Machines Corporation Interactive mining of time series data
US7454466B2 (en) 2002-01-16 2008-11-18 Xerox Corporation Method and system for flexible workflow management
US7139800B2 (en) 2002-01-16 2006-11-21 Xerox Corporation User interface for a message-based system having embedded information management capabilities
US7174377B2 (en) 2002-01-16 2007-02-06 Xerox Corporation Method and apparatus for collaborative document versioning of networked documents
US7640173B2 (en) 2002-01-17 2009-12-29 Applied Medical Software, Inc. Method and system for evaluating a physician's economic performance and gainsharing of physician services
US7546245B2 (en) 2002-01-17 2009-06-09 Amsapplied Medical Software, Inc. Method and system for gainsharing of physician services
US7305444B2 (en) 2002-01-23 2007-12-04 International Business Machines Corporation Method and system for controlling delivery of information in a forum
US7146000B2 (en) 2002-01-25 2006-12-05 Level (3) Communications Routing engine for telecommunications network
AU2003217737A1 (en) 2002-01-25 2003-12-12 Bdellium Inc. Method of analyzing investments using overlapping periods
US7225183B2 (en) 2002-01-28 2007-05-29 Ipxl, Inc. Ontology-based information management system and method
WO2003065258A2 (en) 2002-01-29 2003-08-07 Andrey Duka Method of processing, displaying and trading financial instruments and an electronic trading system therefor
AU2003214975A1 (en) 2002-02-01 2003-09-02 John Fairweather System and method for navigating data
US7519589B2 (en) 2003-02-04 2009-04-14 Cataphora, Inc. Method and apparatus for sociological data analysis
JP3946057B2 (ja) 2002-03-01 2007-07-18 富士通株式会社 整合性検査支援方法および整合性検査支援システム
US7406435B2 (en) 2002-03-18 2008-07-29 Demantra Ltd. Computer implemented method and system for computing and evaluating demand information
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
CA3077873A1 (en) 2002-03-20 2003-10-02 Catalina Marketing Corporation Targeted incentives based upon predicted behavior
AU2003223353A1 (en) 2002-03-25 2003-10-13 Andrew H. Bensky Collective hierarchical decision making system
US7284204B2 (en) 2002-03-29 2007-10-16 International Business Machines Corporation System, method, and visual user interface for evaluating and selecting suppliers for enterprise procurement
US20050021397A1 (en) 2003-07-22 2005-01-27 Cui Yingwei Claire Content-targeted advertising using collected user behavior data
US7747502B2 (en) 2002-06-03 2010-06-29 Research Affiliates, Llc Using accounting data based indexing to create a portfolio of assets
US7587352B2 (en) 2002-04-10 2009-09-08 Research Affiliates, Llc Method and apparatus for managing a virtual portfolio of investment objects
US7533026B2 (en) 2002-04-12 2009-05-12 International Business Machines Corporation Facilitating management of service elements usable in providing information technology service offerings
US7162475B2 (en) 2002-04-17 2007-01-09 Ackerman David M Method for user verification and authentication and multimedia processing for interactive database management and method for viewing the multimedia
US20040126840A1 (en) 2002-12-23 2004-07-01 Affymetrix, Inc. Method, system and computer software for providing genomic ontological data
US20040012633A1 (en) 2002-04-26 2004-01-22 Affymetrix, Inc., A Corporation Organized Under The Laws Of Delaware System, method, and computer program product for dynamic display, and analysis of biological sequence data
US7171427B2 (en) 2002-04-26 2007-01-30 Oracle International Corporation Methods of navigating a cube that is implemented as a relational object
US7237192B1 (en) 2002-04-30 2007-06-26 Oracle International Corporation Methods and systems for naming and indexing children in a hierarchical nodal structure
US7426559B2 (en) 2002-05-09 2008-09-16 International Business Machines Corporation Method for sequential coordination of external database application events with asynchronous internal database events
US7127467B2 (en) 2002-05-10 2006-10-24 Oracle International Corporation Managing expressions in a database system
US7539680B2 (en) 2002-05-10 2009-05-26 Lsi Corporation Revision control for database of evolved design
US7703021B1 (en) 2002-05-24 2010-04-20 Sparta Systems, Inc. Defining user access in highly-configurable systems
JP2003345810A (ja) 2002-05-28 2003-12-05 Hitachi Ltd 文書検索方法、文書検索システム及び文書検索結果示方システム
US20030229848A1 (en) 2002-06-05 2003-12-11 Udo Arend Table filtering in a computer user interface
WO2004006046A2 (en) 2002-06-24 2004-01-15 Xymphonic Systems As Method for data-centric collaboration
US7103854B2 (en) 2002-06-27 2006-09-05 Tele Atlas North America, Inc. System and method for associating text and graphical views of map information
US6996583B2 (en) 2002-07-01 2006-02-07 International Business Machines Corporation Real-time database update transaction with disconnected relational database clients
JP2004038428A (ja) 2002-07-02 2004-02-05 Yamatake Corp 制御対象モデル生成方法、制御パラメータ調整方法、制御対象モデル生成プログラムおよび制御パラメータ調整プログラム
US20040006523A1 (en) 2002-07-08 2004-01-08 Coker Don W. System and method for preventing financial fraud
US8244895B2 (en) 2002-07-15 2012-08-14 Hewlett-Packard Development Company, L.P. Method and apparatus for applying receiving attributes using constraints
GB2407894A (en) 2002-07-23 2005-05-11 Tamaru Internat Inc Stock-jobbing support device and stock-jobbing support system
US7461158B2 (en) 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US7076508B2 (en) 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
US8719074B2 (en) 2002-08-13 2014-05-06 Sap Ag Editor and method for editing formulae for calculating the price of a service and a system for automatic costing of a service
CA2398103A1 (en) 2002-08-14 2004-02-14 March Networks Corporation Multi-dimensional table filtering system
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
GB0221257D0 (en) 2002-09-13 2002-10-23 Ibm Automated testing
US7383513B2 (en) 2002-09-25 2008-06-03 Oracle International Corporation Graphical condition builder for facilitating database queries
US7127352B2 (en) 2002-09-30 2006-10-24 Lucent Technologies Inc. System and method for providing accurate local maps for a central service
AU2003284118A1 (en) 2002-10-14 2004-05-04 Battelle Memorial Institute Information reservoir
US20040078251A1 (en) 2002-10-16 2004-04-22 Demarcken Carl G. Dividing a travel query into sub-queries
US20040143602A1 (en) 2002-10-18 2004-07-22 Antonio Ruiz Apparatus, system and method for automated and adaptive digital image/video surveillance for events and configurations using a rich multimedia relational database
US20040083466A1 (en) 2002-10-29 2004-04-29 Dapp Michael C. Hardware parser accelerator
US20040085318A1 (en) 2002-10-31 2004-05-06 Philipp Hassler Graphics generation and integration
US20040088177A1 (en) 2002-11-04 2004-05-06 Electronic Data Systems Corporation Employee performance management method and system
AU2003298616A1 (en) 2002-11-06 2004-06-03 International Business Machines Corporation Confidential data sharing and anonymous entity resolution
WO2004046957A2 (en) 2002-11-15 2004-06-03 Creo Inc. Methods and systems for sharing data
US7546607B2 (en) 2002-11-19 2009-06-09 Microsoft Corporation Native code exposing virtual machine managed object
US7162501B2 (en) 2002-11-26 2007-01-09 Microsoft Corporation Hierarchical differential document representative of changes between versions of hierarchical document
US7243093B2 (en) 2002-11-27 2007-07-10 International Business Machines Corporation Federated query management
AU2003293132A1 (en) 2002-11-27 2004-06-23 Sra International, Inc. Integration of gene expression data and non-gene data
US20040111480A1 (en) 2002-12-09 2004-06-10 Yue Jonathan Zhanjun Message screening system and method
AU2003303250A1 (en) 2002-12-20 2004-07-14 Accenture Global Services Gmbh Quantification of operational risks
US8589273B2 (en) 2002-12-23 2013-11-19 Ge Corporate Financial Services, Inc. Methods and systems for managing risk management information
US7752117B2 (en) 2003-01-31 2010-07-06 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US20040153418A1 (en) 2003-02-05 2004-08-05 Hanweck Gerald Alfred System and method for providing access to data from proprietary tools
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7099888B2 (en) 2003-03-26 2006-08-29 Oracle International Corporation Accessing a remotely located nested object
US7493614B2 (en) 2003-03-31 2009-02-17 Microsoft Corporation System architecture and related methods for dynamically adding software components to extend functionality of system processes
US7086028B1 (en) 2003-04-09 2006-08-01 Autodesk, Inc. Simplified generation of design change information on a drawing in a computer aided design (CAD) environment
US7280038B2 (en) 2003-04-09 2007-10-09 John Robinson Emergency response data transmission system
KR100996029B1 (ko) 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
US9607092B2 (en) 2003-05-20 2017-03-28 Excalibur Ip, Llc Mapping method and system
US20050027705A1 (en) 2003-05-20 2005-02-03 Pasha Sadri Mapping method and system
US7369912B2 (en) 2003-05-29 2008-05-06 Fisher-Rosemount Systems, Inc. Batch execution engine with independent batch execution processes
US7437728B2 (en) 2003-06-12 2008-10-14 Microsoft Corporation System and method for CPU bandwidth allocation
US7620648B2 (en) 2003-06-20 2009-11-17 International Business Machines Corporation Universal annotation configuration and deployment
US20040267746A1 (en) 2003-06-26 2004-12-30 Cezary Marcjan User interface for controlling access to computer objects
FI118102B (fi) 2003-07-04 2007-06-29 Medicel Oy Informaationhallintajärjestelmä työvirtojen hallitsemiseksi
US8412566B2 (en) 2003-07-08 2013-04-02 Yt Acquisition Corporation High-precision customer-based targeting by individual usage statistics
US7055110B2 (en) 2003-07-28 2006-05-30 Sig G Kupka Common on-screen zone for menu activation and stroke input
US7216133B2 (en) * 2003-07-29 2007-05-08 Microsoft Corporation Synchronizing logical views independent of physical storage representations
US20050027632A1 (en) 2003-07-31 2005-02-03 Ubs Financial Services, Inc. Financial investment advice system and method
AU2003903994A0 (en) 2003-07-31 2003-08-14 Canon Kabushiki Kaisha Collaborative editing with automatic layout
US7363581B2 (en) 2003-08-12 2008-04-22 Accenture Global Services Gmbh Presentation generator
WO2005036319A2 (en) 2003-09-22 2005-04-21 Catalina Marketing International, Inc. Assumed demographics, predicted behaviour, and targeted incentives
US7516086B2 (en) 2003-09-24 2009-04-07 Idearc Media Corp. Business rating placement heuristic
US7334195B2 (en) 2003-10-14 2008-02-19 Microsoft Corporation System and process for presenting search results in a histogram/cluster format
US7584172B2 (en) 2003-10-16 2009-09-01 Sap Ag Control for selecting data query and visual configuration
US7441182B2 (en) 2003-10-23 2008-10-21 Microsoft Corporation Digital negatives
US7966246B2 (en) 2003-10-23 2011-06-21 Alphacet, Inc. User interface for correlation of analysis systems
US20050091186A1 (en) 2003-10-24 2005-04-28 Alon Elish Integrated method and apparatus for capture, storage, and retrieval of information
US8627489B2 (en) 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
WO2005050625A2 (en) * 2003-11-14 2005-06-02 Senvid, Inc. Managed peer-to-peer applications in a secure network
US20050131935A1 (en) 2003-11-18 2005-06-16 O'leary Paul J. Sector content mining system using a modular knowledge base
US20050125715A1 (en) 2003-12-04 2005-06-09 Fabrizio Di Franco Method of saving data in a graphical user interface
US7818658B2 (en) 2003-12-09 2010-10-19 Yi-Chih Chen Multimedia presentation system
US8433703B1 (en) 2003-12-22 2013-04-30 Google Inc. Recording user actions
US6948656B2 (en) 2003-12-23 2005-09-27 First Data Corporation System with GPS to manage risk of financial transactions
US7917376B2 (en) 2003-12-29 2011-03-29 Montefiore Medical Center System and method for monitoring patient care
US20050154769A1 (en) 2004-01-13 2005-07-14 Llumen, Inc. Systems and methods for benchmarking business performance data against aggregated business performance data
US20050154628A1 (en) 2004-01-13 2005-07-14 Illumen, Inc. Automated management of business performance information
CA2553628A1 (en) 2004-01-15 2005-07-28 Algotec Systems Ltd. Targeted marching
US20050166144A1 (en) 2004-01-22 2005-07-28 Mathcom Inventions Ltd. Method and system for assigning a background to a document and document having a background made according to the method and system
US7872669B2 (en) 2004-01-22 2011-01-18 Massachusetts Institute Of Technology Photo-based mobile deixis system and related techniques
GB2410575A (en) 2004-01-30 2005-08-03 Nomura Internat Plc Analysing and displaying associated financial data
US7343552B2 (en) 2004-02-12 2008-03-11 Fuji Xerox Co., Ltd. Systems and methods for freeform annotations
US20060053097A1 (en) 2004-04-01 2006-03-09 King Martin T Searching and accessing documents on private networks for use with captures from rendered documents
US20050180330A1 (en) 2004-02-17 2005-08-18 Touchgraph Llc Method of animating transitions and stabilizing node motion during dynamic graph navigation
US20050182793A1 (en) 2004-02-18 2005-08-18 Keenan Viktor M. Map structure and method for producing
US7085890B2 (en) 2004-02-19 2006-08-01 International Business Machines Corporation Memory mapping to reduce cache conflicts in multiprocessor systems
US7596285B2 (en) 2004-02-26 2009-09-29 International Business Machines Corporation Providing a portion of an electronic mail message at a reduced resolution
US7853533B2 (en) 2004-03-02 2010-12-14 The 41St Parameter, Inc. Method and system for identifying users and detecting fraud by use of the internet
US20050210409A1 (en) 2004-03-19 2005-09-22 Kenny Jou Systems and methods for class designation in a computerized social network application
CA2560386C (en) 2004-03-23 2013-09-24 Google Inc. A digital mapping system
US7599790B2 (en) 2004-03-23 2009-10-06 Google Inc. Generating and serving tiles in a digital mapping system
US7865301B2 (en) 2004-03-23 2011-01-04 Google Inc. Secondary map in digital mapping system
US20060026120A1 (en) 2004-03-24 2006-02-02 Update Publications Lp Method and system for collecting, processing, and distributing residential property data
US7269801B2 (en) 2004-03-30 2007-09-11 Autodesk, Inc. System for managing the navigational usability of an interactive map
US20050226473A1 (en) 2004-04-07 2005-10-13 Subramanyan Ramesh Electronic Documents Signing and Compliance Monitoring Invention
US20060031779A1 (en) 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US8086607B2 (en) 2004-04-26 2011-12-27 Right90, Inc. Annotation of data in an operating plan data aggregation system
US20050246327A1 (en) 2004-04-30 2005-11-03 Yeung Simon D User interfaces and methods of using the same
US8041701B2 (en) 2004-05-04 2011-10-18 DG FastChannel, Inc Enhanced graphical interfaces for displaying visual data
US7689601B2 (en) 2004-05-06 2010-03-30 Oracle International Corporation Achieving web documents using unique document locators
US20050251786A1 (en) 2004-05-07 2005-11-10 International Business Machines Corporation System and method for dynamic software installation instructions
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7542934B2 (en) 2004-05-14 2009-06-02 Omnicharts, Llc System and method for analyzing a waveform to detect specified patterns
US7415704B2 (en) 2004-05-20 2008-08-19 Sap Ag Sharing objects in runtime systems
US7587721B2 (en) 2004-05-20 2009-09-08 Sap Ag Sharing objects in runtime systems
US20050262057A1 (en) 2004-05-24 2005-11-24 Lesh Neal B Intelligent data summarization and visualization
WO2005116887A1 (en) 2004-05-25 2005-12-08 Arion Human Capital Limited Data analysis and flow control system
US8037144B2 (en) 2004-05-25 2011-10-11 Google Inc. Electronic message source reputation information system
NZ551930A (en) 2004-06-01 2008-05-30 Transcon Securities Pty Ltd A system and method for analysing risk associated with an investment portfolio
US8055672B2 (en) 2004-06-10 2011-11-08 International Business Machines Corporation Dynamic graphical database query and data mining interface
GB2415317B (en) 2004-06-15 2007-08-15 Orange Personal Comm Serv Ltd Provision of group services in a telecommunications network
US7599867B1 (en) 2004-06-30 2009-10-06 Trading Technologies International, Inc. System and method for chart pattern recognition and analysis in an electronic trading environment
FR2872653B1 (fr) 2004-06-30 2006-12-29 Skyrecon Systems Sa Systeme et procedes de securisation de postes informatiques et/ou de reseaux de communications
US20060010130A1 (en) 2004-07-09 2006-01-12 Avraham Leff Method and apparatus for synchronizing client transactions executed by an autonomous client
WO2006012645A2 (en) 2004-07-28 2006-02-02 Sarnoff Corporation Method and apparatus for total situational awareness and monitoring
US7870487B2 (en) 2004-07-29 2011-01-11 International Business Machines Corporation Inserting into a document a screen image of a computer software application
US7552116B2 (en) 2004-08-06 2009-06-23 The Board Of Trustees Of The University Of Illinois Method and system for extracting web query interfaces
US7842222B2 (en) 2004-08-06 2010-11-30 Resilux Preform for blowing a container and process for manufacturing thereof
WO2006018843A2 (en) 2004-08-16 2006-02-23 Beinsync Ltd. A system and method for the synchronization of data across multiple computing devices
JP2006058976A (ja) 2004-08-17 2006-03-02 Fujitsu Ltd 最適化解析装置、最適化解析方法及び最適化解析プログラム
US7603229B2 (en) 2004-08-25 2009-10-13 Microsoft Corporation Efficiently finding shortest paths using landmarks for computing lower-bound distance estimates
US7290698B2 (en) 2004-08-25 2007-11-06 Sony Corporation Progress bar with multiple portions
US20060047590A1 (en) 2004-08-26 2006-03-02 Timothy Anderson Real-time risk management trading system for professional equity traders with adaptive contingency notification
US7617232B2 (en) 2004-09-02 2009-11-10 Microsoft Corporation Centralized terminology and glossary development
US7493333B2 (en) 2004-09-03 2009-02-17 Biowisdom Limited System and method for parsing and/or exporting data from one or more multi-relational ontologies
US20060059423A1 (en) 2004-09-13 2006-03-16 Stefan Lehmann Apparatus, system, and method for creating customized workflow documentation
US20060059072A1 (en) 2004-09-14 2006-03-16 Ameritrade Ip Company, Inc. Pattern matcher
US7406592B1 (en) 2004-09-23 2008-07-29 American Megatrends, Inc. Method, system, and apparatus for efficient evaluation of boolean expressions
US7933862B2 (en) 2004-09-27 2011-04-26 Microsoft Corporation One click conditional formatting method and system for software programs
US7788589B2 (en) 2004-09-30 2010-08-31 Microsoft Corporation Method and system for improved electronic task flagging and management
US7512738B2 (en) 2004-09-30 2009-03-31 Intel Corporation Allocating call stack frame entries at different memory levels to functions in a program
US7712049B2 (en) 2004-09-30 2010-05-04 Microsoft Corporation Two-dimensional radial user interface for computer software applications
US8170901B2 (en) 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
US20060074881A1 (en) 2004-10-02 2006-04-06 Adventnet, Inc. Structure independent searching in disparate databases
US7366723B2 (en) 2004-10-05 2008-04-29 Sap Ag Visual query modeling for configurable patterns
US7284198B2 (en) 2004-10-07 2007-10-16 International Business Machines Corporation Method and system for document draft reminder based on inactivity
US20060080316A1 (en) 2004-10-08 2006-04-13 Meridio Ltd Multiple indexing of an electronic document to selectively permit access to the content and metadata thereof
US8892571B2 (en) 2004-10-12 2014-11-18 International Business Machines Corporation Systems for associating records in healthcare database with individuals
GB0422750D0 (en) 2004-10-13 2004-11-17 Ciphergrid Ltd Remote database technique
US20060080616A1 (en) 2004-10-13 2006-04-13 Xerox Corporation Systems, methods and user interfaces for document workflow construction
CA2484694A1 (en) 2004-10-14 2006-04-14 Alcatel Database ram cache
US7757220B2 (en) 2004-10-21 2010-07-13 Discovery Machine, Inc. Computer interchange of knowledge hierarchies
US7904913B2 (en) * 2004-11-02 2011-03-08 Bakbone Software, Inc. Management interface for a system that provides automated, real-time, continuous data protection
US7574409B2 (en) 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
US20060129992A1 (en) 2004-11-10 2006-06-15 Oberholtzer Brian K Software test and performance monitoring system
US7529734B2 (en) 2004-11-12 2009-05-05 Oracle International Corporation Method and apparatus for facilitating a database query using a query criteria template
US7797197B2 (en) 2004-11-12 2010-09-14 Amazon Technologies, Inc. Method and system for analyzing the performance of affiliate sites
US20060116943A1 (en) 2004-11-30 2006-06-01 Pascal Willain Method to determine price inflections of securities
US7620628B2 (en) 2004-12-06 2009-11-17 Yahoo! Inc. Search processing with automatic categorization of queries
US20060129746A1 (en) 2004-12-14 2006-06-15 Ithink, Inc. Method and graphic interface for storing, moving, sending or printing electronic data to two or more locations, in two or more formats with a single save function
US7849395B2 (en) 2004-12-15 2010-12-07 Microsoft Corporation Filter and sort by color
US7451397B2 (en) 2004-12-15 2008-11-11 Microsoft Corporation System and method for automatically completing spreadsheet formulas
US9020887B2 (en) 2004-12-21 2015-04-28 Proofpoint, Inc. Managing the status of documents in a distributed storage system
US20060143079A1 (en) 2004-12-29 2006-06-29 Jayanta Basak Cross-channel customer matching
US8700414B2 (en) 2004-12-29 2014-04-15 Sap Ag System supported optimization of event resolution
US7660823B2 (en) 2004-12-30 2010-02-09 Sas Institute Inc. Computer-implemented system and method for visualizing OLAP and multidimensional data in a calendar format
US7783679B2 (en) 2005-01-12 2010-08-24 Computer Associates Think, Inc. Efficient processing of time series data
US9436945B2 (en) 2005-02-01 2016-09-06 Redfin Corporation Interactive map-based search and advertising
JP3981387B2 (ja) 2005-02-04 2007-09-26 有限会社増田経済研究所 株式指数の表示装置
US8271436B2 (en) 2005-02-07 2012-09-18 Mimosa Systems, Inc. Retro-fitting synthetic full copies of data
US7614006B2 (en) 2005-02-11 2009-11-03 International Business Machines Corporation Methods and apparatus for implementing inline controls for transposing rows and columns of computer-based tables
US8646080B2 (en) 2005-09-16 2014-02-04 Avg Technologies Cy Limited Method and apparatus for removing harmful software
US20080249957A1 (en) 2005-03-07 2008-10-09 Hiroaki Masuyama Stock Portfolio Selection Device, Stock Portfolio Selection Method and Medium Storing Stock Portfolio Selection Program
US20060242630A1 (en) 2005-03-09 2006-10-26 Maxis Co., Ltd. Process for preparing design procedure document and apparatus for the same
US8091784B1 (en) 2005-03-09 2012-01-10 Diebold, Incorporated Banking system controlled responsive to data bearing records
US7483028B2 (en) 2005-03-15 2009-01-27 Microsoft Corporation Providing 1D and 2D connectors in a connected diagram
US7630931B1 (en) 2005-03-17 2009-12-08 Finanalytica, Inc. System and method for the valuation of derivatives
WO2006102270A2 (en) 2005-03-22 2006-09-28 Cooper Kim A Performance motivation systems and methods for contact centers
US7725728B2 (en) 2005-03-23 2010-05-25 Business Objects Data Integration, Inc. Apparatus and method for dynamically auditing data migration to produce metadata
US7676845B2 (en) 2005-03-24 2010-03-09 Microsoft Corporation System and method of selectively scanning a file on a computing device for malware
US20060218491A1 (en) 2005-03-25 2006-09-28 International Business Machines Corporation System, method and program product for community review of documents
US7596528B1 (en) 2005-03-31 2009-09-29 Trading Technologies International, Inc. System and method for dynamically regulating order entry in an electronic trading environment
US7369961B2 (en) 2005-03-31 2008-05-06 International Business Machines Corporation Systems and methods for structural clustering of time sequences
US20080183639A1 (en) 2005-04-14 2008-07-31 Disalvo Dean F System and Method for Securities Liquidity Flow Tracking, Display and Trading
US20060235786A1 (en) 2005-04-14 2006-10-19 Disalvo Dean System and method for securities liquidity flow tracking, display and trading
US7426654B2 (en) 2005-04-14 2008-09-16 Verizon Business Global Llc Method and system for providing customer controlled notifications in a managed network services system
US7525422B2 (en) 2005-04-14 2009-04-28 Verizon Business Global Llc Method and system for providing alarm reporting in a managed network services environment
US20060242040A1 (en) 2005-04-20 2006-10-26 Aim Holdings Llc Method and system for conducting sentiment analysis for securities research
US8639757B1 (en) 2011-08-12 2014-01-28 Sprint Communications Company L.P. User localization using friend location information
US20060241856A1 (en) 2005-04-25 2006-10-26 The Boeing Company Geo-infosphere as applied to dynamic routing system
US8082172B2 (en) 2005-04-26 2011-12-20 The Advisory Board Company System and method for peer-profiling individual performance
US8145686B2 (en) 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US7958120B2 (en) 2005-05-10 2011-06-07 Netseer, Inc. Method and apparatus for distributed community finding
US7672968B2 (en) 2005-05-12 2010-03-02 Apple Inc. Displaying a tooltip associated with a concurrently displayed database object
US20060265311A1 (en) 2005-05-20 2006-11-23 Whitney Education Group Threshold trading method
US8024778B2 (en) 2005-05-24 2011-09-20 CRIF Corporation System and method for defining attributes, decision rules, or both, for remote execution, claim set I
US8020110B2 (en) 2005-05-26 2011-09-13 Weisermazars Llp Methods for defining queries, generating query results and displaying same
US8825370B2 (en) 2005-05-27 2014-09-02 Yahoo! Inc. Interactive map-based travel guide
US7962842B2 (en) 2005-05-30 2011-06-14 International Business Machines Corporation Method and systems for accessing data by spelling discrimination letters of link names
US8578500B2 (en) 2005-05-31 2013-11-05 Kurt James Long System and method of fraud and misuse detection
US20060277460A1 (en) 2005-06-03 2006-12-07 Scott Forstall Webview applications
US8161122B2 (en) 2005-06-03 2012-04-17 Messagemind, Inc. System and method of dynamically prioritized electronic mail graphical user interface, and measuring email productivity and collaboration trends
EP1732034A1 (en) 2005-06-06 2006-12-13 First Data Corporation System and method for authorizing electronic payment transactions
US8341259B2 (en) 2005-06-06 2012-12-25 Adobe Systems Incorporated ASP for web analytics including a real-time segmentation workbench
US7571192B2 (en) 2005-06-15 2009-08-04 Oracle International Corporation Methods and apparatus for maintaining consistency during analysis of large data sets
US20070005582A1 (en) 2005-06-17 2007-01-04 Honeywell International Inc. Building of database queries from graphical operations
US20100199167A1 (en) 2005-06-24 2010-08-05 Justsystems Corporation Document processing apparatus
US8042110B1 (en) 2005-06-24 2011-10-18 Oracle America, Inc. Dynamic grouping of application components
EP1904965A4 (en) 2005-06-24 2009-06-17 Fair Isaac Corp ANALYTICAL DETECTION OF SIGNIFICANT INTEGRITY INTEGRITY / INTEGRITY INTEGRITY ATTACK AND SYSTEM OF CARD PORTFOLIO MANAGEMENT WHICH INTEGRITY IS REACHED
US7565318B2 (en) 2005-06-28 2009-07-21 Trading Technologies International, Inc. System and method for calculating and displaying volume to identify buying and selling in an electronic trading environment
CA2613782A1 (en) 2005-06-28 2007-01-04 Metacarta, Inc. User interface for geographic search
US8645175B1 (en) 2005-07-12 2014-02-04 Open Text S.A. Workflow system and method for single call batch processing of collections of database records
US8560413B1 (en) 2005-07-14 2013-10-15 John S. Quarterman Method and system for detecting distributed internet crime
US20070016363A1 (en) 2005-07-15 2007-01-18 Oracle International Corporation Interactive map-based user interface for transportation planning
IN2005MU00878A (es) 2005-07-22 2009-06-29
US20070178501A1 (en) 2005-12-06 2007-08-02 Matthew Rabinowitz System and method for integrating and validating genotypic, phenotypic and medical information into a database according to a standardized ontology
JP3989527B2 (ja) 2005-08-04 2007-10-10 松下電器産業株式会社 検索物品推定装置及び方法、並びに、検索物品推定装置用サーバ
US7421429B2 (en) 2005-08-04 2008-09-02 Microsoft Corporation Generate blog context ranking using track-back weight, context weight and, cumulative comment weight
CN1913441A (zh) * 2005-08-09 2007-02-14 张永敏 连续变化数据集传输及更新方法
US7529726B2 (en) 2005-08-22 2009-05-05 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
WO2007024892A2 (en) 2005-08-23 2007-03-01 R.A. Smith & Associates, Inc. High accuracy survey-grade gis system
US7917841B2 (en) 2005-08-29 2011-03-29 Edgar Online, Inc. System and method for rendering data
JP2007079641A (ja) 2005-09-09 2007-03-29 Canon Inc 情報処理装置及び情報処理方法及びプログラム及び記憶媒体
US8095866B2 (en) 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a data summary table
CN101263540B (zh) 2005-09-12 2010-08-04 松下电器产业株式会社 地图显示装置
US7958147B1 (en) 2005-09-13 2011-06-07 James Luke Turner Method for providing customized and automated security assistance, a document marking regime, and central tracking and control for sensitive or classified documents in electronic format
US8468441B2 (en) 2005-09-15 2013-06-18 Microsoft Corporation Cross-application support of charts
WO2007035632A2 (en) 2005-09-16 2007-03-29 Dalal Pankaj B Financial decision systems
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US7672833B2 (en) 2005-09-22 2010-03-02 Fair Isaac Corporation Method and apparatus for automatic entity disambiguation
US20070094248A1 (en) 2005-09-26 2007-04-26 Bea Systems, Inc. System and method for managing content by workflows
US7716226B2 (en) 2005-09-27 2010-05-11 Patentratings, Llc Method and system for probabilistically quantifying and visualizing relevance between two or more citationally or contextually related data objects
US20070078832A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Method and system for using smart tags and a recommendation engine using smart tags
US7870493B2 (en) 2005-10-03 2011-01-11 Microsoft Corporation Distributed clipboard
WO2007041709A1 (en) 2005-10-04 2007-04-12 Basepoint Analytics Llc System and method of detecting fraud
US7574428B2 (en) 2005-10-11 2009-08-11 Telmap Ltd Geometry-based search engine for navigation systems
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US7487139B2 (en) 2005-10-12 2009-02-03 International Business Machines Corporation Method and system for filtering a table
US8666780B2 (en) 2005-10-18 2014-03-04 Walgreen Co. System for separating and distributing pharmacy order processing
US20070094389A1 (en) 2005-10-23 2007-04-26 Bill Nussey Provision of rss feeds based on classification of content
US7627812B2 (en) 2005-10-27 2009-12-01 Microsoft Corporation Variable formatting of cells
US20090168163A1 (en) 2005-11-01 2009-07-02 Global Bionic Optics Pty Ltd. Optical lens systems
US7716227B1 (en) 2005-11-03 2010-05-11 Hewlett-Packard Development Company, L.P. Visually representing series data sets in accordance with importance values
AU2006314882A1 (en) 2005-11-21 2007-05-24 Saxo Bank A/S A financial trading system
US20100198858A1 (en) 2005-11-21 2010-08-05 Anti-Gang Enforcement Networking Technology, Inc. System and Methods for Linking Multiple Events Involving Firearms and Gang Related Activities
US20070118527A1 (en) 2005-11-22 2007-05-24 Microsoft Corporation Security and data filtering
US8185819B2 (en) 2005-12-12 2012-05-22 Google Inc. Module specification for a module to be incorporated into a container document
US7725530B2 (en) 2005-12-12 2010-05-25 Google Inc. Proxy server collection of data for module incorporation into a container document
US7730109B2 (en) 2005-12-12 2010-06-01 Google, Inc. Message catalogs for remote modules
US7730082B2 (en) 2005-12-12 2010-06-01 Google Inc. Remote module incorporation into a container document
US20070136115A1 (en) 2005-12-13 2007-06-14 Deniz Senturk Doganaksoy Statistical pattern recognition and analysis
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8726144B2 (en) 2005-12-23 2014-05-13 Xerox Corporation Interactive learning-based document annotation
US20070150369A1 (en) 2005-12-28 2007-06-28 Zivin Michael A Method and system for determining the optimal travel route by which customers can purchase local goods at the lowest total cost
US7870512B2 (en) 2005-12-28 2011-01-11 Sap Ag User interface (UI) prototype using UI taxonomy
US7801912B2 (en) 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
US7831917B1 (en) 2005-12-30 2010-11-09 Google Inc. Method, system, and graphical user interface for identifying and communicating with meeting spots
US8712828B2 (en) 2005-12-30 2014-04-29 Accenture Global Services Limited Churn prediction and management system
CN100481077C (zh) 2006-01-12 2009-04-22 国际商业机器公司 用于增强搜索结果导航的可视化方法及装置
US20070168269A1 (en) 2006-01-17 2007-07-19 Kuo-Yu Chuo Method for analyzing financial stock market trend
US7657478B2 (en) 2006-01-18 2010-02-02 Standard & Poor's Financial Services Llc Method for estimating expected cash flow of an investment instrument
US7634717B2 (en) 2006-01-23 2009-12-15 Microsoft Corporation Multiple conditional formatting
US8018322B2 (en) 2006-01-31 2011-09-13 Oracle International Corporation Graphical interface for RFID edge server
US20070192281A1 (en) 2006-02-02 2007-08-16 International Business Machines Corporation Methods and apparatus for displaying real-time search trends in graphical search specification and result interfaces
US7818291B2 (en) 2006-02-03 2010-10-19 The General Electric Company Data object access system and method using dedicated task object
US20070185867A1 (en) 2006-02-03 2007-08-09 Matteo Maga Statistical modeling methods for determining customer distribution by churn probability within a customer population
US8769127B2 (en) 2006-02-10 2014-07-01 Northrop Grumman Systems Corporation Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
US7770100B2 (en) 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats
US20070208498A1 (en) 2006-03-03 2007-09-06 Inrix, Inc. Displaying road traffic condition information and user controls
US7899611B2 (en) 2006-03-03 2011-03-01 Inrix, Inc. Detecting anomalous road traffic conditions
US8698809B2 (en) 2006-03-03 2014-04-15 Donya Labs Ab Creation and rendering of hierarchical digital multimedia data
US7579965B2 (en) 2006-03-03 2009-08-25 Andrew Bucholz Vehicle data collection and processing system
US20080052142A1 (en) 2006-03-13 2008-02-28 Bailey Maurice G T System and method for real-time display of emergencies, resources and personnel
US7512578B2 (en) 2006-03-30 2009-03-31 Emc Corporation Smart containers
ATE409307T1 (de) 2006-03-31 2008-10-15 Research In Motion Ltd Benutzerschnittstellenverfahren und vorrichtung zur steuerung der visuellen anzeige von karten mit auswählbaren kartenelementen bei mobilen kommunikationsvorrichtungen
US8176179B2 (en) 2006-04-03 2012-05-08 Secure64 Software Corporation Method and system for data-structure management
US8060391B2 (en) 2006-04-07 2011-11-15 The University Of Utah Research Foundation Analogy based workflow identification
US20070240062A1 (en) 2006-04-07 2007-10-11 Christena Jennifer Y Method and System for Restricting User Operations in a Graphical User Inerface Window
US7490298B2 (en) 2006-04-12 2009-02-10 International Business Machines Corporation Creating documentation screenshots on demand
US8739278B2 (en) 2006-04-28 2014-05-27 Oracle International Corporation Techniques for fraud monitoring and detection using application fingerprinting
US7853573B2 (en) 2006-05-03 2010-12-14 Oracle International Corporation Efficient replication of XML data in a relational database management system
US20070260582A1 (en) 2006-05-05 2007-11-08 Inetsoft Technology Method and System for Visual Query Construction and Representation
US7756843B1 (en) 2006-05-25 2010-07-13 Juniper Networks, Inc. Identifying and processing confidential information on network endpoints
US9195985B2 (en) 2006-06-08 2015-11-24 Iii Holdings 1, Llc Method, system, and computer program product for customer-level data verification
US7657626B1 (en) 2006-09-19 2010-02-02 Enquisite, Inc. Click fraud detection
US7468662B2 (en) 2006-06-16 2008-12-23 International Business Machines Corporation Method for spatio-temporal event detection using composite definitions for camera systems
US7720789B2 (en) 2006-06-23 2010-05-18 International Business Machines Corporation System and method of member unique names
US7933955B2 (en) 2006-07-11 2011-04-26 Igor Khalatian One-click universal screen sharing
US8290943B2 (en) 2006-07-14 2012-10-16 Raytheon Company Geographical information display system and method
US7571109B2 (en) 2006-07-14 2009-08-04 Fawls Robert A System and method for assessing operational process risk and quality by calculating operational value at risk
WO2008022051A2 (en) 2006-08-10 2008-02-21 Loma Linda University Medical Center Advanced emergency geographical information system
US20130150004A1 (en) 2006-08-11 2013-06-13 Michael Rosen Method and apparatus for reducing mobile phone usage while driving
US20080040684A1 (en) 2006-08-14 2008-02-14 Richard Crump Intelligent Pop-Up Window Method and Apparatus
US7747562B2 (en) 2006-08-15 2010-06-29 International Business Machines Corporation Virtual multidimensional datasets for enterprise software systems
US20080077597A1 (en) 2006-08-24 2008-03-27 Lance Butler Systems and methods for photograph mapping
US20080051989A1 (en) 2006-08-25 2008-02-28 Microsoft Corporation Filtering of data layered on mapping applications
JP4778865B2 (ja) 2006-08-30 2011-09-21 株式会社ソニー・コンピュータエンタテインメント 画像ビューワ、画像表示方法及びプログラム
US8230332B2 (en) 2006-08-30 2012-07-24 Compsci Resources, Llc Interactive user interface for converting unstructured documents
US7725547B2 (en) 2006-09-06 2010-05-25 International Business Machines Corporation Informing a user of gestures made by others out of the user's line of sight
US8271429B2 (en) 2006-09-11 2012-09-18 Wiredset Llc System and method for collecting and processing data
US8054756B2 (en) 2006-09-18 2011-11-08 Yahoo! Inc. Path discovery and analytics for network data
US20080082486A1 (en) 2006-09-29 2008-04-03 Yahoo! Inc. Platform for user discovery experience
KR101380936B1 (ko) 2006-10-05 2014-04-10 스플렁크 인코퍼레이티드 시계열 검색 엔진
US9183321B2 (en) 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
US20080103798A1 (en) 2006-10-25 2008-05-01 Domenikos Steven D Identity Protection
US7698336B2 (en) 2006-10-26 2010-04-13 Microsoft Corporation Associating geographic-related information with objects
US8943332B2 (en) 2006-10-31 2015-01-27 Hewlett-Packard Development Company, L.P. Audit-log integrity using redactable signatures
US20080148398A1 (en) 2006-10-31 2008-06-19 Derek John Mezack System and Method for Definition and Automated Analysis of Computer Security Threat Models
US7792353B2 (en) 2006-10-31 2010-09-07 Hewlett-Packard Development Company, L.P. Retraining a machine-learning classifier using re-labeled training samples
US8229902B2 (en) 2006-11-01 2012-07-24 Ab Initio Technology Llc Managing storage of individually accessible data units
US8027871B2 (en) * 2006-11-03 2011-09-27 Experian Marketing Solutions, Inc. Systems and methods for scoring sales leads
US20080109714A1 (en) 2006-11-03 2008-05-08 Sap Ag Capturing screen information
US7657497B2 (en) 2006-11-07 2010-02-02 Ebay Inc. Online fraud prevention using genetic algorithm solution
US7792868B2 (en) 2006-11-10 2010-09-07 Microsoft Corporation Data object linking and browsing tool
US7962495B2 (en) 2006-11-20 2011-06-14 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US7853614B2 (en) 2006-11-27 2010-12-14 Rapleaf, Inc. Hierarchical, traceable, and association reputation assessment of email domains
US20080133310A1 (en) 2006-12-01 2008-06-05 Edward Kim Methods and systems for forecasting product demand for slow moving products
US8117022B2 (en) 2006-12-07 2012-02-14 Linker Sheldon O Method and system for machine understanding, knowledge, and conversation
US8126848B2 (en) 2006-12-07 2012-02-28 Robert Edward Wagner Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster
US7680939B2 (en) 2006-12-20 2010-03-16 Yahoo! Inc. Graphical user interface to manipulate syndication data feeds
US7809703B2 (en) 2006-12-22 2010-10-05 International Business Machines Corporation Usage of development context in search operations
US20080162616A1 (en) 2006-12-29 2008-07-03 Sap Ag Skip relation pattern for graph structures
US8290838B1 (en) 2006-12-29 2012-10-16 Amazon Technologies, Inc. Indicating irregularities in online financial transactions
US8799871B2 (en) 2007-01-08 2014-08-05 The Mathworks, Inc. Computation of elementwise expression in parallel
US20080177782A1 (en) 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
US7900142B2 (en) 2007-01-15 2011-03-01 Microsoft Corporation Selective undo of editing operations performed on data objects
WO2008092147A2 (en) 2007-01-26 2008-07-31 Information Resources, Inc. Analytic platform
US8171418B2 (en) 2007-01-31 2012-05-01 Salesforce.Com, Inc. Method and system for presenting a visual representation of the portion of the sets of data that a query is expected to return
US8249932B1 (en) 2007-02-02 2012-08-21 Resource Consortium Limited Targeted advertising in a situational network
US8368695B2 (en) 2007-02-08 2013-02-05 Microsoft Corporation Transforming offline maps into interactive online maps
CN101246486B (zh) 2007-02-13 2012-02-01 国际商业机器公司 用于改进的表达式处理的方法和装置
US7920963B2 (en) 2007-02-22 2011-04-05 Iac Search & Media, Inc. Map interface with a movable marker
US20080208820A1 (en) 2007-02-28 2008-08-28 Psydex Corporation Systems and methods for performing semantic analysis of information over time and space
US7873557B2 (en) 2007-02-28 2011-01-18 Aaron Guidotti Information, document, and compliance management for financial professionals, clients, and supervisors
US7689624B2 (en) 2007-03-01 2010-03-30 Microsoft Corporation Graph-based search leveraging sentiment analysis of user comments
US8352881B2 (en) 2007-03-08 2013-01-08 International Business Machines Corporation Method, apparatus and program storage device for providing customizable, immediate and radiating menus for accessing applications and actions
US8180717B2 (en) 2007-03-20 2012-05-15 President And Fellows Of Harvard College System for estimating a distribution of message content categories in source data
US20080243799A1 (en) 2007-03-30 2008-10-02 Innography, Inc. System and method of generating a set of search results
JP5268274B2 (ja) 2007-03-30 2013-08-21 キヤノン株式会社 検索装置、方法、プログラム
US8036971B2 (en) 2007-03-30 2011-10-11 Palantir Technologies, Inc. Generating dynamic date sets that represent market conditions
US8229458B2 (en) 2007-04-08 2012-07-24 Enhanced Geographic Llc Systems and methods to determine the name of a location visited by a user of a wireless device
US20080255973A1 (en) 2007-04-10 2008-10-16 Robert El Wade Sales transaction analysis tool and associated method of use
US8959448B2 (en) 2007-04-17 2015-02-17 Emd Millipore Corporation Graphical user interface for analysis and comparison of location-specific multiparameter data sets
US20090164387A1 (en) 2007-04-17 2009-06-25 Semandex Networks Inc. Systems and methods for providing semantically enhanced financial information
US8312546B2 (en) 2007-04-23 2012-11-13 Mcafee, Inc. Systems, apparatus, and methods for detecting malware
US20090024939A1 (en) 2007-04-27 2009-01-22 Bea Systems, Inc. Web based application constructor using querying across data
US20080267107A1 (en) 2007-04-27 2008-10-30 Outland Research, Llc Attraction wait-time inquiry apparatus, system and method
US7880921B2 (en) 2007-05-01 2011-02-01 Michael Joseph Dattilo Method and apparatus to digitally whiteout mistakes on a printed form
DE102008010419A1 (de) 2007-05-03 2008-11-13 Navigon Ag Vorrichtung und Verfahren zur Erstellung eines Textobjekts
US7962904B2 (en) 2007-05-10 2011-06-14 Microsoft Corporation Dynamic parser
US8090603B2 (en) 2007-05-11 2012-01-03 Fansnap, Inc. System and method for selecting event tickets
US20080288471A1 (en) 2007-05-18 2008-11-20 Business Objects, S.A. Apparatus and method for providing a data marketplace
US8010507B2 (en) 2007-05-24 2011-08-30 Pado Metaware Ab Method and system for harmonization of variants of a sequential file
US8515207B2 (en) 2007-05-25 2013-08-20 Google Inc. Annotations in panoramic images, and applications thereof
WO2009038822A2 (en) 2007-05-25 2009-03-26 The Research Foundation Of State University Of New York Spectral clustering for multi-type relational data
US8739123B2 (en) 2007-05-28 2014-05-27 Google Inc. Incorporating gadget functionality on webpages
US7809785B2 (en) 2007-05-28 2010-10-05 Google Inc. System using router in a web browser for inter-domain communication
US7840456B2 (en) 2007-05-30 2010-11-23 Intuit Inc. System and method for categorizing credit card transaction data
US9058449B2 (en) 2007-05-30 2015-06-16 Credit Suisse Securities (Usa) Llc Simulating machine and method for determining sensitivity of a system output to changes in underlying system parameters
US20080301559A1 (en) 2007-05-31 2008-12-04 Microsoft Corporation User Interface That Uses a Task Respository
EP2012261A1 (en) 2007-06-13 2009-01-07 Sap Ag Processing and exchanging data of collaborative tasks
US7930547B2 (en) 2007-06-15 2011-04-19 Alcatel-Lucent Usa Inc. High accuracy bloom filter using partitioned hashing
US8386996B2 (en) 2007-06-29 2013-02-26 Sap Ag Process extension wizard for coherent multi-dimensional business process models
US20090006150A1 (en) 2007-06-29 2009-01-01 Sap Ag Coherent multi-dimensional business process model
US7991672B2 (en) 2007-06-29 2011-08-02 William Rory Crowder System and method of visual illustration of stock market performance
US20090125359A1 (en) 2007-07-09 2009-05-14 Robert Knapic Integrating a methodology management system with project tasks in a project management system
US20090027418A1 (en) 2007-07-24 2009-01-29 Maru Nimit H Map-based interfaces for storing and locating information about geographical areas
US8234298B2 (en) 2007-07-25 2012-07-31 International Business Machines Corporation System and method for determining driving factor in a data cube
US8600872B1 (en) 2007-07-27 2013-12-03 Wells Fargo Bank, N.A. System and method for detecting account compromises
US8549520B2 (en) 2007-07-31 2013-10-01 Sap Ag Distributed task handling
US9405792B2 (en) 2007-08-14 2016-08-02 John Nicholas and Kristin Gross Trust News aggregator and search engine using temporal decoding
US20090055251A1 (en) 2007-08-20 2009-02-26 Weblistic, Inc., A California Corporation Directed online advertising system and method
US7761525B2 (en) 2007-08-23 2010-07-20 International Business Machines Corporation System and method for providing improved time references in documents
US20130066673A1 (en) 2007-09-06 2013-03-14 Digg, Inc. Adapting thresholds
US20090083275A1 (en) 2007-09-24 2009-03-26 Nokia Corporation Method, Apparatus and Computer Program Product for Performing a Visual Search Using Grid-Based Feature Organization
US8494941B2 (en) 2007-09-25 2013-07-23 Palantir Technologies, Inc. Feature-based similarity measure for market instruments
EP2051173A3 (en) 2007-09-27 2009-08-12 Magix Ag System and method for dynamic content insertion from the internet into a multimedia work
US20090088964A1 (en) 2007-09-28 2009-04-02 Dave Schaaf Map scrolling method and apparatus for navigation system for selectively displaying icons
US8849728B2 (en) 2007-10-01 2014-09-30 Purdue Research Foundation Visual analytics law enforcement tools
US8484115B2 (en) 2007-10-03 2013-07-09 Palantir Technologies, Inc. Object-oriented time series generator
US20090138307A1 (en) 2007-10-09 2009-05-28 Babcock & Brown Lp, A Delaware Limited Partnership Automated financial scenario modeling and analysis tool having an intelligent graphical user interface
CN101409614B (zh) * 2007-10-12 2011-04-13 华为技术有限公司 一种数据同步方法、系统和设备
US8060421B1 (en) 2007-10-17 2011-11-15 The Mathworks, Inc. Object oriented financial analysis tool
US20090106308A1 (en) 2007-10-18 2009-04-23 Christopher Killian Complexity estimation of data objects
US8554719B2 (en) 2007-10-18 2013-10-08 Palantir Technologies, Inc. Resolving database entity information
US8214308B2 (en) 2007-10-23 2012-07-03 Sas Institute Inc. Computer-implemented systems and methods for updating predictive models
US20090125369A1 (en) 2007-10-26 2009-05-14 Crowe Horwath Llp System and method for analyzing and dispositioning money laundering suspicious activity alerts
WO2009055814A1 (en) 2007-10-26 2009-04-30 Ingram Micro Inc. System and method for knowledge management
US7650310B2 (en) 2007-10-30 2010-01-19 Intuit Inc. Technique for reducing phishing
US8140549B2 (en) 2007-10-31 2012-03-20 Juan Carlos Barinaga Methods and arrangements of processing and presenting information
US8510743B2 (en) 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
US8200618B2 (en) 2007-11-02 2012-06-12 International Business Machines Corporation System and method for analyzing data in a report
WO2009061501A1 (en) 2007-11-09 2009-05-14 Telecommunication Systems, Inc. Points-of-interest panning on a displayed map with a persistent search on a wireless phone
US20090126020A1 (en) 2007-11-09 2009-05-14 Norton Richard Elliott Engine for rule based content filtering
US9898767B2 (en) 2007-11-14 2018-02-20 Panjiva, Inc. Transaction facilitating marketplace platform
US8626618B2 (en) 2007-11-14 2014-01-07 Panjiva, Inc. Using non-public shipper records to facilitate rating an entity based on public records of supply transactions
KR20090050577A (ko) 2007-11-16 2009-05-20 삼성전자주식회사 멀티미디어 컨텐츠를 표시 및 재생하는 사용자인터페이스및 그 장치와 제어방법
US8145703B2 (en) 2007-11-16 2012-03-27 Iac Search & Media, Inc. User interface and method in a local search system with related search results
US20090132953A1 (en) 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in local search system with vertical search results and an interactive map
US20090143052A1 (en) 2007-11-29 2009-06-04 Michael Bates Systems and methods for personal information management and contact picture synchronization and distribution
US20090144262A1 (en) 2007-12-04 2009-06-04 Microsoft Corporation Search query transformation using direct manipulation
US20090150868A1 (en) 2007-12-10 2009-06-11 Al Chakra Method and System for Capturing Movie Shots at the Time of an Automated Graphical User Interface Test Failure
US8417715B1 (en) * 2007-12-19 2013-04-09 Tilmann Bruckhaus Platform independent plug-in methods and systems for data mining and analytics
US20090161147A1 (en) 2007-12-20 2009-06-25 Sharp Laboratories Of America, Inc. Personal document container
US8001482B2 (en) 2007-12-21 2011-08-16 International Business Machines Corporation Method of displaying tab titles
US8230333B2 (en) 2007-12-26 2012-07-24 Vistracks, Inc. Analysis of time-based geospatial mashups using AD HOC visual queries
US20090172674A1 (en) 2007-12-28 2009-07-02 International Business Machines Corporation Managing the computer collection of information in an information technology environment
US7865308B2 (en) 2007-12-28 2011-01-04 Yahoo! Inc. User-generated activity maps
US8010886B2 (en) 2008-01-04 2011-08-30 Microsoft Corporation Intelligently representing files in a view
US8055633B2 (en) 2008-01-21 2011-11-08 International Business Machines Corporation Method, system and computer program product for duplicate detection
US7877367B2 (en) 2008-01-22 2011-01-25 International Business Machines Corporation Computer method and apparatus for graphical inquiry specification with progressive summary
US8239245B2 (en) 2008-01-22 2012-08-07 International Business Machines Corporation Method and apparatus for end-to-end retail store site optimization
KR100915295B1 (ko) 2008-01-22 2009-09-03 성균관대학교산학협력단 검색 결과 자동 분류 시스템 및 그 방법
US8856182B2 (en) 2008-01-25 2014-10-07 Avaya Inc. Report database dependency tracing through business intelligence metadata
US20090193012A1 (en) 2008-01-29 2009-07-30 James Charles Williams Inheritance in a Search Index
US20090199047A1 (en) 2008-01-31 2009-08-06 Yahoo! Inc. Executing software performance test jobs in a clustered system
US20090199106A1 (en) 2008-02-05 2009-08-06 Sony Ericsson Mobile Communications Ab Communication terminal including graphical bookmark manager
US7805457B1 (en) 2008-02-14 2010-09-28 Securus Technologies, Inc. System and method for identifying members of a gang or security threat group
WO2009115921A2 (en) 2008-02-22 2009-09-24 Ipath Technologies Private Limited Techniques for enterprise resource mobilization
US8606807B2 (en) 2008-02-28 2013-12-10 Red Hat, Inc. Integration of triple tags into a tagging tool and text browsing
US20090222760A1 (en) 2008-02-29 2009-09-03 Halverson Steven G Method, System and Computer Program Product for Automating the Selection and Ordering of Column Data in a Table for a User
US8191766B2 (en) 2008-03-04 2012-06-05 Mastercard International Incorporated Methods and systems for managing merchant identifiers
WO2009111581A1 (en) 2008-03-04 2009-09-11 Nextbio Categorization and filtering of scientific data
US20090234720A1 (en) 2008-03-15 2009-09-17 Gridbyte Method and System for Tracking and Coaching Service Professionals
US9830366B2 (en) 2008-03-22 2017-11-28 Thomson Reuters Global Resources Online analytic processing cube with time stamping
JP5581309B2 (ja) 2008-03-24 2014-08-27 スー カン,ミン 放送サービスシステムの情報処理方法、その情報処理方法を実施する放送サービスシステム及びその情報処理方法に関する記録媒体
US9274923B2 (en) 2008-03-25 2016-03-01 Wind River Systems, Inc. System and method for stack crawl testing and caching
US8856088B2 (en) 2008-04-01 2014-10-07 Microsoft Corporation Application-managed file versioning
US20090254970A1 (en) 2008-04-04 2009-10-08 Avaya Inc. Multi-tier security event correlation and mitigation
US20090292626A1 (en) 2008-04-22 2009-11-26 Oxford J Craig System and method for interactive map, database, and social networking engine
US8121962B2 (en) 2008-04-25 2012-02-21 Fair Isaac Corporation Automated entity identification for efficient profiling in an event probability prediction system
US20090282068A1 (en) 2008-05-12 2009-11-12 Shockro John J Semantic packager
US8620641B2 (en) 2008-05-16 2013-12-31 Blackberry Limited Intelligent elision
US20090307049A1 (en) 2008-06-05 2009-12-10 Fair Isaac Corporation Soft Co-Clustering of Data
US8301593B2 (en) 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US8452790B1 (en) 2008-06-13 2013-05-28 Ustringer LLC Method and apparatus for distributing content
US8341163B2 (en) 2008-06-17 2012-12-25 Microsoft Corporation Techniques for filter sharing
US8860754B2 (en) 2008-06-22 2014-10-14 Tableau Software, Inc. Methods and systems of automatically generating marks in a graphical view
US8499287B2 (en) 2008-06-23 2013-07-30 Microsoft Corporation Analysis of thread synchronization events
US8301904B1 (en) 2008-06-24 2012-10-30 Mcafee, Inc. System, method, and computer program product for automatically identifying potentially unwanted data as unwanted
US7908521B2 (en) 2008-06-25 2011-03-15 Microsoft Corporation Process reflection
EP2308024A4 (en) 2008-07-02 2016-03-30 Pacific Knowledge Systems Pty Ltd METHOD AND SYSTEM FOR GENERATING TEXT
US8364698B2 (en) 2008-07-11 2013-01-29 Videosurf, Inc. Apparatus and software system for and method of performing a visual-relevance-rank subsequent search
AU2009201514A1 (en) 2008-07-11 2010-01-28 Icyte Pty Ltd Annotation system and method
US8301464B1 (en) 2008-07-18 2012-10-30 Cave Consulting Group, Inc. Method and system for producing statistical analysis of medical care information
US20110131082A1 (en) 2008-07-21 2011-06-02 Michael Manser System and method for tracking employee performance
JP2011530138A (ja) 2008-08-04 2011-12-15 クイッド インコーポレイテッド 事業体の業績分析エンジン
US8010545B2 (en) 2008-08-28 2011-08-30 Palo Alto Research Center Incorporated System and method for providing a topic-directed search
US20110078055A1 (en) 2008-09-05 2011-03-31 Claude Faribault Methods and systems for facilitating selecting and/or purchasing of items
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US20100070427A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Dynamic indexing
US8041714B2 (en) 2008-09-15 2011-10-18 Palantir Technologies, Inc. Filter chains with associated views for exploring large data sets
US20100070426A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Object modeling for exploring large data sets
US20100070845A1 (en) 2008-09-17 2010-03-18 International Business Machines Corporation Shared web 2.0 annotations linked to content segments of web documents
KR101495132B1 (ko) * 2008-09-24 2015-02-25 삼성전자주식회사 휴대 단말기 및 그 휴대 단말기에서 데이터 표시 방법
CN101685449B (zh) 2008-09-26 2012-07-11 国际商业机器公司 一种用于连接多个异构分布式数据库中的表的方法和系统
US8214361B1 (en) 2008-09-30 2012-07-03 Google Inc. Organizing search results in a topic hierarchy
US8108138B2 (en) 2008-10-02 2012-01-31 The Boeing Company Optimal vehicle router with energy management system
US8554579B2 (en) 2008-10-13 2013-10-08 Fht, Inc. Management, reporting and benchmarking of medication preparation
US20100114887A1 (en) 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US8391584B2 (en) 2008-10-20 2013-03-05 Jpmorgan Chase Bank, N.A. Method and system for duplicate check detection
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US9032254B2 (en) 2008-10-29 2015-05-12 Aternity Information Systems Ltd. Real time monitoring of computer for determining speed and energy consumption of various processes
US7974943B2 (en) 2008-10-30 2011-07-05 Hewlett-Packard Development Company, L.P. Building a synchronized target database
US8306947B2 (en) 2008-10-30 2012-11-06 Hewlett-Packard Development Company, L.P. Replication of operations on objects distributed in a storage system
US8103962B2 (en) 2008-11-04 2012-01-24 Brigham Young University Form-based ontology creation and information harvesting
US20100131502A1 (en) 2008-11-25 2010-05-27 Fordham Bradley S Cohort group generation and automatic updating
US20100131457A1 (en) 2008-11-26 2010-05-27 Microsoft Corporation Flattening multi-dimensional data sets into de-normalized form
US8805861B2 (en) 2008-12-09 2014-08-12 Google Inc. Methods and systems to train models to extract and integrate information from data sources
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US8312038B2 (en) 2008-12-18 2012-11-13 Oracle International Corporation Criteria builder for query builder
US8719350B2 (en) 2008-12-23 2014-05-06 International Business Machines Corporation Email addressee verification
US8712453B2 (en) 2008-12-23 2014-04-29 Telecommunication Systems, Inc. Login security with short messaging
US8762869B2 (en) 2008-12-23 2014-06-24 Intel Corporation Reduced complexity user interface
US20100169376A1 (en) 2008-12-29 2010-07-01 Yahoo! Inc. Visual search engine for personal dating
US10115153B2 (en) 2008-12-31 2018-10-30 Fair Isaac Corporation Detection of compromise of merchants, ATMS, and networks
US20100262688A1 (en) 2009-01-21 2010-10-14 Daniar Hussain Systems, methods, and devices for detecting security vulnerabilities in ip networks
US20100191563A1 (en) 2009-01-23 2010-07-29 Doctors' Administrative Solutions, Llc Physician Practice Optimization Tracking
WO2010085773A1 (en) 2009-01-24 2010-07-29 Kontera Technologies, Inc. Hybrid contextual advertising and related content analysis and display techniques
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8601401B2 (en) 2009-01-30 2013-12-03 Navico Holding As Method, apparatus and computer program product for synchronizing cursor events
US9357384B2 (en) 2009-02-09 2016-05-31 International Business Machines Corporation System and method to support identity theft protection as part of a distributed service oriented ecosystem
US20100205108A1 (en) 2009-02-11 2010-08-12 Mun Johnathan C Credit and market risk evaluation method
US8073857B2 (en) 2009-02-17 2011-12-06 International Business Machines Corporation Semantics-based data transformation over a wire in mashups
US9177264B2 (en) 2009-03-06 2015-11-03 Chiaramail, Corp. Managing message categories in a network
US8473454B2 (en) 2009-03-10 2013-06-25 Xerox Corporation System and method of on-demand document processing
US20100235915A1 (en) 2009-03-12 2010-09-16 Nasir Memon Using host symptoms, host roles, and/or host reputation for detection of host infection
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
IL197961A0 (en) 2009-04-05 2009-12-24 Guy Shaked Methods for effective processing of time series
US9767427B2 (en) 2009-04-30 2017-09-19 Hewlett Packard Enterprise Development Lp Modeling multi-dimensional sequence data over streams
US8719249B2 (en) 2009-05-12 2014-05-06 Microsoft Corporation Query classification
US8484549B2 (en) 2009-05-26 2013-07-09 Palantir Technologies, Inc. Visualizing data model sensitivity to variations in parameter values
US20100306285A1 (en) 2009-05-28 2010-12-02 Arcsight, Inc. Specifying a Parser Using a Properties File
US8856691B2 (en) 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US8495151B2 (en) 2009-06-05 2013-07-23 Chandra Bodapati Methods and systems for determining email addresses
US9268761B2 (en) 2009-06-05 2016-02-23 Microsoft Technology Licensing, Llc In-line dynamic text with variable formatting
US20100313239A1 (en) 2009-06-09 2010-12-09 International Business Machines Corporation Automated access control for rendered output
US20100321399A1 (en) 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
KR101076887B1 (ko) 2009-06-26 2011-10-25 주식회사 하이닉스반도체 반도체 메모리소자의 랜딩플러그 형성방법
US8554742B2 (en) 2009-07-06 2013-10-08 Intelligent Medical Objects, Inc. System and process for record duplication analysis
US20120191446A1 (en) 2009-07-15 2012-07-26 Proviciel - Mlstate System and method for creating a parser generator and associated computer program
US9104695B1 (en) 2009-07-27 2015-08-11 Palantir Technologies, Inc. Geotagging structured data
US8635223B2 (en) 2009-07-28 2014-01-21 Fti Consulting, Inc. System and method for providing a classification suggestion for electronically stored information
US8606804B2 (en) 2009-08-05 2013-12-10 Microsoft Corporation Runtime-defined dynamic queries
WO2011020101A2 (en) 2009-08-14 2011-02-17 Telogis, Inc. Real time map rendering with data clustering and expansion and overlay
US8560548B2 (en) 2009-08-19 2013-10-15 International Business Machines Corporation System, method, and apparatus for multidimensional exploration of content items in a content store
CN101996215B (zh) 2009-08-27 2013-07-24 阿里巴巴集团控股有限公司 一种应用于电子商务网站的信息匹配方法和系统
US8334773B2 (en) 2009-08-28 2012-12-18 Deal Magic, Inc. Asset monitoring and tracking system
JP5431235B2 (ja) 2009-08-28 2014-03-05 株式会社日立製作所 設備状態監視方法およびその装置
US10242540B2 (en) 2009-09-02 2019-03-26 Fair Isaac Corporation Visualization for payment card transaction fraud analysis
US20110066933A1 (en) 2009-09-02 2011-03-17 Ludwig Lester F Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization
US9280777B2 (en) 2009-09-08 2016-03-08 Target Brands, Inc. Operations dashboard
US20110066497A1 (en) 2009-09-14 2011-03-17 Choicestream, Inc. Personalized advertising and recommendation
US8214490B1 (en) 2009-09-15 2012-07-03 Symantec Corporation Compact input compensating reputation data tracking mechanism
US8756489B2 (en) 2009-09-17 2014-06-17 Adobe Systems Incorporated Method and system for dynamic assembly of form fragments
US20110074811A1 (en) 2009-09-25 2011-03-31 Apple Inc. Map Layout for Print Production
US20110078173A1 (en) 2009-09-30 2011-03-31 Avaya Inc. Social Network User Interface
EP2483640B1 (en) 2009-09-30 2018-05-09 Videojet Technologies, Inc. Thermal ink jet ink composition
US8595058B2 (en) 2009-10-15 2013-11-26 Visa U.S.A. Systems and methods to match identifiers
US20110119100A1 (en) 2009-10-20 2011-05-19 Jan Matthias Ruhl Method and System for Displaying Anomalies in Time Series Data
US9158816B2 (en) 2009-10-21 2015-10-13 Microsoft Technology Licensing, Llc Event processing with XML query based on reusable XML query template
US8321360B2 (en) 2009-10-22 2012-11-27 Symantec Corporation Method and system for weighting transactions in a fraud detection system
GB2487027A (en) 2009-10-23 2012-07-04 Cadio Inc Analyzing consumer behavior using electronically-captured consumer location data
CN102054015B (zh) 2009-10-28 2014-05-07 财团法人工业技术研究院 使用有机物件数据模型来组织社群智能信息的系统及方法
US20110099133A1 (en) 2009-10-28 2011-04-28 Industrial Technology Research Institute Systems and methods for capturing and managing collective social intelligence information
US8312367B2 (en) 2009-10-30 2012-11-13 Synopsys, Inc. Technique for dynamically sizing columns in a table
US8417409B2 (en) 2009-11-11 2013-04-09 Google Inc. Transit routing system for public transportation trip planning
WO2011060388A1 (en) 2009-11-13 2011-05-19 Zoll Medical Corporation Community-based response system
US11122009B2 (en) 2009-12-01 2021-09-14 Apple Inc. Systems and methods for identifying geographic locations of social media content collected over social networks
US8412605B2 (en) 2009-12-01 2013-04-02 Bank Of America Corporation Comprehensive suspicious activity monitoring and alert system
US20110131547A1 (en) 2009-12-01 2011-06-02 International Business Machines Corporation Method and system defining and interchanging diagrams of graphical modeling languages
US8645478B2 (en) 2009-12-10 2014-02-04 Mcafee, Inc. System and method for monitoring social engineering in a computer network environment
GB2476121A (en) 2009-12-14 2011-06-15 Colin Westlake Linking interactions using a reference for an internet user's web session
US20110153384A1 (en) 2009-12-17 2011-06-23 Matthew Donald Horne Visual comps builder
US8676597B2 (en) 2009-12-28 2014-03-18 General Electric Company Methods and systems for mapping healthcare services analytics for volume and trends
CN102906686A (zh) 2010-01-11 2013-01-30 潘吉瓦公司 针对金融投资决策而评估供应交易的公共记录
US8564596B2 (en) 2010-01-12 2013-10-22 Palantir Technologies, Inc. Techniques for density mapping
US8271461B2 (en) 2010-01-18 2012-09-18 Battelle Memorial Institute Storing and managing information artifacts collected by information analysts using a computing device
US9026552B2 (en) 2010-01-18 2015-05-05 Salesforce.Com, Inc. System and method for linking contact records to company locations
US8290926B2 (en) 2010-01-21 2012-10-16 Microsoft Corporation Scalable topical aggregation of data feeds
US8683363B2 (en) 2010-01-26 2014-03-25 Apple Inc. Device, method, and graphical user interface for managing user interface content and user interface elements
US8291472B2 (en) 2010-01-28 2012-10-16 International Business Machines Corporation Real-time adjustments to authentication conditions
US20110208822A1 (en) 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US20110208565A1 (en) 2010-02-23 2011-08-25 Michael Ross complex process management
US20110218934A1 (en) 2010-03-03 2011-09-08 Jeremy Elser System and methods for comparing real properties for purchase and for generating heat maps to aid in identifying price anomalies of such real properties
US8478709B2 (en) 2010-03-08 2013-07-02 Hewlett-Packard Development Company, L.P. Evaluation of client status for likelihood of churn
US8863279B2 (en) 2010-03-08 2014-10-14 Raytheon Company System and method for malware detection
US8752054B2 (en) 2010-03-11 2014-06-10 Avaya Inc. Intelligent merging of transactions based on a variety of criteria
US20110225482A1 (en) 2010-03-15 2011-09-15 Wizpatent Pte Ltd Managing and generating citations in scholarly work
US20110231296A1 (en) 2010-03-16 2011-09-22 UberMedia, Inc. Systems and methods for interacting with messages, authors, and followers
US20110231305A1 (en) 2010-03-19 2011-09-22 Visa U.S.A. Inc. Systems and Methods to Identify Spending Patterns
US8577911B1 (en) 2010-03-23 2013-11-05 Google Inc. Presenting search term refinements
US8739118B2 (en) 2010-04-08 2014-05-27 Microsoft Corporation Pragmatic mapping specification, compilation and validation
US8306846B2 (en) 2010-04-12 2012-11-06 First Data Corporation Transaction location analytics systems and methods
US20110251951A1 (en) 2010-04-13 2011-10-13 Dan Kolkowitz Anti-fraud event correlation
US8572023B2 (en) 2010-04-14 2013-10-29 Bank Of America Corporation Data services framework workflow processing
US20110258216A1 (en) 2010-04-20 2011-10-20 International Business Machines Corporation Usability enhancements for bookmarks of browsers
US8255399B2 (en) 2010-04-28 2012-08-28 Microsoft Corporation Data classifier
US8874432B2 (en) 2010-04-28 2014-10-28 Nec Laboratories America, Inc. Systems and methods for semi-supervised relationship extraction
US8489331B2 (en) 2010-04-29 2013-07-16 Microsoft Corporation Destination maps user interface
US8799812B2 (en) 2010-04-29 2014-08-05 Cheryl Parker System and method for geographic based data visualization and extraction
US8626770B2 (en) 2010-05-03 2014-01-07 International Business Machines Corporation Iceberg query evaluation implementing a compressed bitmap index
US8473415B2 (en) 2010-05-04 2013-06-25 Kevin Paul Siegel System and method for identifying a point of compromise in a payment transaction processing system
US8595234B2 (en) 2010-05-17 2013-11-26 Wal-Mart Stores, Inc. Processing data feeds
US20110289407A1 (en) 2010-05-18 2011-11-24 Naik Devang K Font recommendation engine
US20110289397A1 (en) 2010-05-19 2011-11-24 Mauricio Eastmond Displaying Table Data in a Limited Display Area
JP5161267B2 (ja) 2010-05-19 2013-03-13 株式会社日立製作所 画面カスタマイズ支援システム、画面カスタマイズ支援方法、および画面カスタマイズ支援プログラム
US8723679B2 (en) 2010-05-25 2014-05-13 Public Engines, Inc. Systems and methods for transmitting alert messages relating to events that occur within a pre-defined area
US20110295649A1 (en) 2010-05-31 2011-12-01 International Business Machines Corporation Automatic churn prediction
US8799867B1 (en) 2010-06-08 2014-08-05 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for synchronizing software verification flows
US8756224B2 (en) 2010-06-16 2014-06-17 Rallyverse, Inc. Methods, systems, and media for content ranking using real-time data
US20110310005A1 (en) 2010-06-17 2011-12-22 Qualcomm Incorporated Methods and apparatus for contactless gesture recognition
US8380719B2 (en) 2010-06-18 2013-02-19 Microsoft Corporation Semantic content searching
US8352908B2 (en) 2010-06-28 2013-01-08 International Business Machines Corporation Multi-modal conversion tool for form-type applications
US8364642B1 (en) 2010-07-07 2013-01-29 Palantir Technologies, Inc. Managing disconnected investigations
US8489641B1 (en) 2010-07-08 2013-07-16 Google Inc. Displaying layers of search results on a map
US8407341B2 (en) 2010-07-09 2013-03-26 Bank Of America Corporation Monitoring communications
CN102483767B (zh) 2010-07-09 2015-10-21 松下电器(美国)知识产权公司 对象关联装置、对象关联方法、程序及记录介质
CA2707916C (en) * 2010-07-14 2015-12-01 Ibm Canada Limited - Ibm Canada Limitee Intelligent timesheet assistance
US20120019559A1 (en) 2010-07-20 2012-01-26 Siler Lucas C Methods and Apparatus for Interactive Display of Images and Measurements
WO2012025915A1 (en) 2010-07-21 2012-03-01 Sqream Technologies Ltd A system and method for the parallel execution of database queries over cpus and multi core processors
US8554653B2 (en) 2010-07-22 2013-10-08 Visa International Service Association Systems and methods to identify payment accounts having business spending activities
DE102010036906A1 (de) 2010-08-06 2012-02-09 Tavendo Gmbh Konfigurierbares Pie-Menü
US20120036013A1 (en) 2010-08-09 2012-02-09 Brent Lee Neuhaus System and method for determining a consumer's location code from payment transaction data
US8775530B2 (en) 2010-08-25 2014-07-08 International Business Machines Corporation Communication management method and system
US20120050293A1 (en) 2010-08-25 2012-03-01 Apple, Inc. Dynamically smoothing a curve
US20120066166A1 (en) 2010-09-10 2012-03-15 International Business Machines Corporation Predictive Analytics for Semi-Structured Case Oriented Processes
US8661335B2 (en) 2010-09-20 2014-02-25 Blackberry Limited Methods and systems for identifying content elements
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US20120078595A1 (en) 2010-09-24 2012-03-29 Nokia Corporation Method and apparatus for ontology matching
US8549004B2 (en) 2010-09-30 2013-10-01 Hewlett-Packard Development Company, L.P. Estimation of unique database values
US8463036B1 (en) 2010-09-30 2013-06-11 A9.Com, Inc. Shape-based search of a collection of content
US20120084118A1 (en) 2010-09-30 2012-04-05 International Business Machines Corporation Sales predication for a new store based on on-site market survey data and high resolution geographical information
EP2444134A1 (en) 2010-10-19 2012-04-25 Travian Games GmbH Methods, server system and browser clients for providing a game map of a browser-based online multi-player game
US8666861B2 (en) 2010-10-21 2014-03-04 Visa International Service Association Software and methods for risk and fraud mitigation
WO2012054860A1 (en) 2010-10-22 2012-04-26 Daniel Paul Miranker Accessing relational databases as resource description framework databases
US8781169B2 (en) 2010-11-03 2014-07-15 Endeavoring, Llc Vehicle tracking and locating system
US8316030B2 (en) 2010-11-05 2012-11-20 Nextgen Datacom, Inc. Method and system for document classification or search using discrete words
JP5706137B2 (ja) 2010-11-22 2015-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数の投稿(データのグループ)を複数の軸に沿ってリアルタイムにコンピュータ画面に表示する方法およびコンピュータ・プログラム
AU2011332881B2 (en) 2010-11-24 2016-06-30 LogRhythm Inc. Advanced intelligence engine
WO2012071571A2 (en) 2010-11-26 2012-05-31 Agency For Science, Technology And Research Method for creating a report from radiological images using electronic report templates
US20120137235A1 (en) 2010-11-29 2012-05-31 Sabarish T S Dynamic user interface generation
US20120136804A1 (en) 2010-11-30 2012-05-31 Raymond J. Lucia, SR. Wealth Management System and Method
US8839133B2 (en) 2010-12-02 2014-09-16 Microsoft Corporation Data visualizations including interactive time line representations
CN102546446A (zh) 2010-12-13 2012-07-04 太仓市浏河镇亿网行网络技术服务部 一种电子邮件设备
US9141405B2 (en) 2010-12-15 2015-09-22 International Business Machines Corporation User interface construction
US20120159449A1 (en) 2010-12-15 2012-06-21 International Business Machines Corporation Call Stack Inspection For A Thread Of Execution
US8719166B2 (en) 2010-12-16 2014-05-06 Verizon Patent And Licensing Inc. Iterative processing of transaction information to detect fraud
US20120159399A1 (en) 2010-12-17 2012-06-21 International Business Machines Corporation System for organizing and navigating data within a table
US9378294B2 (en) 2010-12-17 2016-06-28 Microsoft Technology Licensing, Llc Presenting source regions of rendered source web pages in target regions of target web pages
US9881257B2 (en) 2010-12-29 2018-01-30 Tickr, Inc. Multi-dimensional visualization of temporal information
US20120173381A1 (en) 2011-01-03 2012-07-05 Stanley Benjamin Smith Process and system for pricing and processing weighted data in a federated or subscription based data source
US8510154B2 (en) 2011-01-27 2013-08-13 Leroy Robinson Method and system for searching for, and monitoring assessment of, original content creators and the original content thereof
US8447263B2 (en) 2011-01-28 2013-05-21 Don Reich Emergency call analysis system
US8437731B2 (en) 2011-01-28 2013-05-07 Don Reich Emergency call analysis system
IL211163A0 (en) 2011-02-10 2011-04-28 Univ Ben Gurion A method for generating a randomized data structure for representing sets, based on bloom filters
KR101950529B1 (ko) 2011-02-24 2019-02-20 렉시스넥시스, 어 디비젼 오브 리드 엘서비어 인크. 전자 문서를 검색하는 방법 및 전자 문서 검색을 그래픽적으로 나타내는 방법
WO2012119008A2 (en) 2011-03-01 2012-09-07 Early Warning Services, Llc System and method for suspect entity detection and mitigation
US20120246148A1 (en) 2011-03-22 2012-09-27 Intergraph Technologies Company Contextual Display and Scrolling of Search Results in Graphical Environment
WO2012127023A1 (en) 2011-03-23 2012-09-27 Detica Patent Limited An automated fraud detection method and system
US9449010B2 (en) 2011-04-02 2016-09-20 Open Invention Network, Llc System and method for managing sensitive data using intelligent mobile agents on a network
US20120278249A1 (en) 2011-04-29 2012-11-01 American Express Travel Related Services Company, Inc. Generating an Identity Theft Score
US8966486B2 (en) 2011-05-03 2015-02-24 Microsoft Corporation Distributed multi-phase batch job processing
US10185932B2 (en) 2011-05-06 2019-01-22 Microsoft Technology Licensing, Llc Setting permissions for links forwarded in electronic messages
JP5516550B2 (ja) 2011-05-09 2014-06-11 株式会社デンソー 車両用ナビゲーション装置
US20130231862A1 (en) 2011-06-03 2013-09-05 Microsoft Corporation Customizable route planning
US20120310830A1 (en) 2011-06-03 2012-12-06 Uc Group Limited Systems and methods for managing chargeback requests
US9104765B2 (en) 2011-06-17 2015-08-11 Robert Osann, Jr. Automatic webpage characterization and search results annotation
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8640246B2 (en) 2011-06-27 2014-01-28 Raytheon Company Distributed malware detection
US8725307B2 (en) 2011-06-28 2014-05-13 Schneider Electric It Corporation System and method for measurement aided prediction of temperature and airflow values in a data center
US20130006725A1 (en) 2011-06-30 2013-01-03 Accenture Global Services Limited Tolling integration technology
EP2710542A4 (en) 2011-07-01 2015-04-29 Truecar Inc METHOD AND SYSTEM FOR SELECTION, FILTERING OR PRESENTATION OF AVAILABLE SALES TRANSACTIONS
US9026944B2 (en) 2011-07-14 2015-05-05 Microsoft Technology Licensing, Llc Managing content through actions on context based menus
US8751399B2 (en) 2011-07-15 2014-06-10 Wal-Mart Stores, Inc. Multi-channel data driven, real-time anti-money laundering system for electronic payment cards
US8982130B2 (en) 2011-07-15 2015-03-17 Green Charge Networks Cluster mapping to highlight areas of electrical congestion
US8726379B1 (en) 2011-07-15 2014-05-13 Norse Corporation Systems and methods for dynamic protection from electronic attacks
US20130024268A1 (en) 2011-07-22 2013-01-24 Ebay Inc. Incentivizing the linking of internet content to products for sale
US8666919B2 (en) 2011-07-29 2014-03-04 Accenture Global Services Limited Data quality management for profiling, linking, cleansing and migrating data
US9280532B2 (en) 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
US9996807B2 (en) 2011-08-17 2018-06-12 Roundhouse One Llc Multidimensional digital platform for building integration and analysis
EP2560134A1 (en) 2011-08-19 2013-02-20 Agor Services BVBA A platform and method enabling collaboration between value chain partners
US20130046635A1 (en) 2011-08-19 2013-02-21 Bank Of America Corporation Triggering offers based on detected location of a mobile point of sale device
US20130054551A1 (en) 2011-08-24 2013-02-28 Sap Ag Global product database
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8630892B2 (en) 2011-08-31 2014-01-14 Accenture Global Services Limited Churn analysis system
GB201115083D0 (en) 2011-08-31 2011-10-19 Data Connection Ltd Identifying data items
US8533204B2 (en) 2011-09-02 2013-09-10 Xerox Corporation Text-based searching of image data
US10031646B2 (en) 2011-09-07 2018-07-24 Mcafee, Llc Computer system security dashboard
US8949164B1 (en) 2011-09-08 2015-02-03 George O. Mohler Event forecasting system
US10140620B2 (en) 2011-09-15 2018-11-27 Stephan HEATH Mobile device system and method providing combined delivery system using 3D geo-target location-based mobile commerce searching/purchases, discounts/coupons products, goods, and services, or service providers-geomapping-company/local and socially-conscious information/social networking (“PS-GM-C/LandSC/I-SN”)
WO2013044141A2 (en) 2011-09-22 2013-03-28 Capgemini U.S. Llc Process transformation and transitioning apparatuses, methods and systems
CA2791350C (en) 2011-09-26 2019-10-01 Solacom Technologies Inc. Answering or releasing emergency calls from a map display for an emergency services platform
US8433702B1 (en) 2011-09-28 2013-04-30 Palantir Technologies, Inc. Horizon histogram optimizations
US20130086482A1 (en) 2011-09-30 2013-04-04 Cbs Interactive, Inc. Displaying plurality of content items in window
US8560494B1 (en) 2011-09-30 2013-10-15 Palantir Technologies, Inc. Visual data importer
US20130096988A1 (en) 2011-10-05 2013-04-18 Mastercard International, Inc. Nomination engine
US20130097482A1 (en) 2011-10-13 2013-04-18 Microsoft Corporation Search result entry truncation using pixel-based approximation
US8849776B2 (en) 2011-10-17 2014-09-30 Yahoo! Inc. Method and system for resolving data inconsistency
US8626545B2 (en) 2011-10-17 2014-01-07 CrowdFlower, Inc. Predicting future performance of multiple workers on crowdsourcing tasks and selecting repeated crowdsourcing workers
US20130101159A1 (en) 2011-10-21 2013-04-25 Qualcomm Incorporated Image and video based pedestrian traffic estimation
US9460218B2 (en) 2011-10-26 2016-10-04 Google Inc. Indicating location status
US9411797B2 (en) 2011-10-31 2016-08-09 Microsoft Technology Licensing, Llc Slicer elements for filtering tabular data
US8918424B2 (en) 2011-10-31 2014-12-23 Advanced Community Services Managing homeowner association messages
US8843421B2 (en) 2011-11-01 2014-09-23 Accenture Global Services Limited Identification of entities likely to engage in a behavior
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US20130124193A1 (en) 2011-11-15 2013-05-16 Business Objects Software Limited System and Method Implementing a Text Analysis Service
US8498984B1 (en) 2011-11-21 2013-07-30 Google Inc. Categorization of search results
US9159024B2 (en) 2011-12-07 2015-10-13 Wal-Mart Stores, Inc. Real-time predictive intelligence platform
CN103167093A (zh) 2011-12-08 2013-06-19 青岛海信移动通信技术股份有限公司 手机邮箱地址的填充方法
US20130151305A1 (en) 2011-12-09 2013-06-13 Sap Ag Method and Apparatus for Business Drivers and Outcomes to Enable Scenario Planning and Simulation
US20130151388A1 (en) 2011-12-12 2013-06-13 Visa International Service Association Systems and methods to identify affluence levels of accounts
US9026364B2 (en) 2011-12-12 2015-05-05 Toyota Jidosha Kabushiki Kaisha Place affinity estimation
US20130157234A1 (en) 2011-12-14 2013-06-20 Microsoft Corporation Storyline visualization
US9026480B2 (en) 2011-12-21 2015-05-05 Telenav, Inc. Navigation system with point of interest classification mechanism and method of operation thereof
US20130166550A1 (en) 2011-12-21 2013-06-27 Sap Ag Integration of Tags and Object Data
US8880420B2 (en) 2011-12-27 2014-11-04 Grubhub, Inc. Utility for creating heatmaps for the study of competitive advantage in the restaurant marketplace
US9189556B2 (en) 2012-01-06 2015-11-17 Google Inc. System and method for displaying information local to a selected area
WO2013102892A1 (en) 2012-01-06 2013-07-11 Technologies Of Voice Interface Ltd A system and method for generating personalized sensor-based activation of software
US9116994B2 (en) 2012-01-09 2015-08-25 Brightedge Technologies, Inc. Search engine optimization for category specific search results
US8843431B2 (en) 2012-01-16 2014-09-23 International Business Machines Corporation Social network analysis for churn prediction
US8909648B2 (en) 2012-01-18 2014-12-09 Technion Research & Development Foundation Limited Methods and systems of supervised learning of semantic relatedness
WO2013126262A1 (en) 2012-02-21 2013-08-29 Maritz Holdings Inc. System and method for managing customer experience when purchasing a product or service
US8965422B2 (en) 2012-02-23 2015-02-24 Blackberry Limited Tagging instant message content for retrieval using mobile communication devices
CA2838068A1 (en) 2012-02-24 2013-06-24 Jerry Wolfe System and method for providing flavor advisement and enhancement
US20130226944A1 (en) 2012-02-24 2013-08-29 Microsoft Corporation Format independent data transformation
WO2013130633A1 (en) 2012-02-29 2013-09-06 Google Inc. Interactive query completion templates
US9378526B2 (en) 2012-03-02 2016-06-28 Palantir Technologies, Inc. System and method for accessing data objects via remote references
US20130232045A1 (en) 2012-03-04 2013-09-05 Oracle International Corporation Automatic Detection Of Fraud And Error Using A Vector-Cluster Model
US8620963B2 (en) 2012-03-08 2013-12-31 eBizprise Inc. Large-scale data processing system, method, and non-transitory tangible machine-readable medium thereof
JP2013191187A (ja) 2012-03-15 2013-09-26 Fujitsu Ltd 処理装置,プログラム及び処理システム
US8787939B2 (en) 2012-03-27 2014-07-22 Facebook, Inc. Dynamic geographic beacons for geographic-positioning-capable devices
US10616782B2 (en) 2012-03-29 2020-04-07 Mgage, Llc Cross-channel user tracking systems, methods and devices
US20130262328A1 (en) 2012-03-30 2013-10-03 CSRSI, Inc. System and method for automated data breach compliance
US20130263019A1 (en) 2012-03-30 2013-10-03 Maria G. Castellanos Analyzing social media
US8738665B2 (en) 2012-04-02 2014-05-27 Apple Inc. Smart progress indicator
US8983936B2 (en) 2012-04-04 2015-03-17 Microsoft Corporation Incremental visualization for structured data in an enterprise-level data store
US9071653B2 (en) 2012-04-05 2015-06-30 Verizon Patent And Licensing Inc. Reducing cellular network traffic
US8792677B2 (en) 2012-04-19 2014-07-29 Intelligence Based Integrated Security Systems, Inc. Large venue security method
US9298856B2 (en) 2012-04-23 2016-03-29 Sap Se Interactive data exploration and visualization tool
US8798354B1 (en) 2012-04-25 2014-08-05 Intuit Inc. Method and system for automatic correlation of check-based payments to customer accounts and/or invoices
US9043710B2 (en) 2012-04-26 2015-05-26 Sap Se Switch control in report generation
US8742934B1 (en) 2012-04-29 2014-06-03 Intel-Based Solutions, LLC System and method for facilitating the execution of law enforcement duties and enhancing anti-terrorism and counter-terrorism capabilities
US10304036B2 (en) 2012-05-07 2019-05-28 Nasdaq, Inc. Social media profiling for one or more authors using one or more social media platforms
EP2662782A1 (en) 2012-05-10 2013-11-13 Siemens Aktiengesellschaft Method and system for storing data in a database
US8788471B2 (en) 2012-05-30 2014-07-22 International Business Machines Corporation Matching transactions in multi-level records
US20140032506A1 (en) 2012-06-12 2014-01-30 Quality Attributes Software, Inc. System and methods for real-time detection, correction, and transformation of time series data
US9032531B1 (en) 2012-06-28 2015-05-12 Middlegate, Inc. Identification breach detection
US8966441B2 (en) 2012-07-12 2015-02-24 Oracle International Corporation Dynamic scripts to extend static applications
US8698896B2 (en) 2012-08-06 2014-04-15 Cloudparc, Inc. Controlling vehicle use of parking spaces and parking violations within the parking spaces using multiple cameras
US8554875B1 (en) 2012-08-13 2013-10-08 Ribbon Labs, Inc. Communicating future locations in a social network
US20140047319A1 (en) 2012-08-13 2014-02-13 Sap Ag Context injection and extraction in xml documents based on common sparse templates
US8645332B1 (en) 2012-08-20 2014-02-04 Sap Ag Systems and methods for capturing data refinement actions based on visualized search of information
US10311062B2 (en) 2012-08-21 2019-06-04 Microsoft Technology Licensing, Llc Filtering structured data using inexact, culture-dependent terms
US8676857B1 (en) 2012-08-23 2014-03-18 International Business Machines Corporation Context-based search for a data store related to a graph node
US10163158B2 (en) 2012-08-27 2018-12-25 Yuh-Shen Song Transactional monitoring system
JP5904909B2 (ja) 2012-08-31 2016-04-20 株式会社日立製作所 サプライヤ検索装置およびサプライヤ検索プログラム
US20140068487A1 (en) 2012-09-05 2014-03-06 Roche Diagnostics Operations, Inc. Computer Implemented Methods For Visualizing Correlations Between Blood Glucose Data And Events And Apparatuses Thereof
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US20140074855A1 (en) 2012-09-13 2014-03-13 Verance Corporation Multimedia content tags
US20140081685A1 (en) 2012-09-17 2014-03-20 Salesforce.com. inc. Computer implemented methods and apparatus for universal task management
WO2014052493A1 (en) 2012-09-25 2014-04-03 Moneydesktop, Inc. Aggregation source routing
US20140095273A1 (en) 2012-09-28 2014-04-03 Catalina Marketing Corporation Basket aggregator and locator
US20140095509A1 (en) 2012-10-02 2014-04-03 Banjo, Inc. Method of tagging content lacking geotags with a location
WO2014058900A1 (en) 2012-10-08 2014-04-17 Fisher-Rosemount Systems, Inc. Dynamically reusable classes
US9104786B2 (en) 2012-10-12 2015-08-11 International Business Machines Corporation Iterative refinement of cohorts using visual exploration and data analytics
US8688573B1 (en) 2012-10-16 2014-04-01 Intuit Inc. Method and system for identifying a merchant payee associated with a cash transaction
US20140108068A1 (en) 2012-10-17 2014-04-17 Jonathan A. Williams System and Method for Scheduling Tee Time
US9471370B2 (en) 2012-10-22 2016-10-18 Palantir Technologies, Inc. System and method for stack-based batch evaluation of program instructions
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US8914886B2 (en) 2012-10-29 2014-12-16 Mcafee, Inc. Dynamic quarantining for malware detection
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US9501799B2 (en) 2012-11-08 2016-11-22 Hartford Fire Insurance Company System and method for determination of insurance classification of entities
US9378030B2 (en) 2013-10-01 2016-06-28 Aetherpal, Inc. Method and apparatus for interactive mobile device guidance
US10504127B2 (en) 2012-11-15 2019-12-10 Home Depot Product Authority, Llc System and method for classifying relevant competitors
US20140143009A1 (en) 2012-11-16 2014-05-22 International Business Machines Corporation Risk reward estimation for company-country pairs
US9146969B2 (en) 2012-11-26 2015-09-29 The Boeing Company System and method of reduction of irrelevant information during search
US20140157172A1 (en) 2012-11-30 2014-06-05 Drillmap Geographic layout of petroleum drilling data and methods for processing data
US20140156527A1 (en) 2012-11-30 2014-06-05 Bank Of America Corporation Pre-payment authorization categorization
US10672008B2 (en) 2012-12-06 2020-06-02 Jpmorgan Chase Bank, N.A. System and method for data analytics
US9497289B2 (en) 2012-12-07 2016-11-15 Genesys Telecommunications Laboratories, Inc. System and method for social message classification based on influence
US10108668B2 (en) 2012-12-14 2018-10-23 Sap Se Column smart mechanism for column based database
US9195506B2 (en) 2012-12-21 2015-11-24 International Business Machines Corporation Processor provisioning by a middleware processing system for a plurality of logical processor partitions
US9294576B2 (en) 2013-01-02 2016-03-22 Microsoft Technology Licensing, Llc Social media impact assessment
US20140195515A1 (en) 2013-01-10 2014-07-10 I3 Analytics Methods and systems for querying and displaying data using interactive three-dimensional representations
US8639552B1 (en) 2013-01-24 2014-01-28 Broadvision, Inc. Systems and methods for creating and sharing tasks
US9805407B2 (en) 2013-01-25 2017-10-31 Illumina, Inc. Methods and systems for using a cloud computing environment to configure and sell a biological sample preparation cartridge and share related data
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US20140222521A1 (en) 2013-02-07 2014-08-07 Ibms, Llc Intelligent management and compliance verification in distributed work flow environments
US20140222793A1 (en) 2013-02-07 2014-08-07 Parlance Corporation System and Method for Automatically Importing, Refreshing, Maintaining, and Merging Contact Sets
US9264393B2 (en) 2013-02-13 2016-02-16 International Business Machines Corporation Mail server-based dynamic workflow management
US8744890B1 (en) 2013-02-14 2014-06-03 Aktana, Inc. System and method for managing system-level workflow strategy and individual workflow activity
US20140244388A1 (en) 2013-02-28 2014-08-28 MetroStar Systems, Inc. Social Content Synchronization
US9367463B2 (en) 2013-03-14 2016-06-14 Palantir Technologies, Inc. System and method utilizing a shared cache to provide zero copy memory mapped database
US10140664B2 (en) 2013-03-14 2018-11-27 Palantir Technologies Inc. Resolving similar entities from a transaction database
US8763078B1 (en) 2013-03-14 2014-06-24 Palantir Technologies, Inc. System and method for monitoring authentication attempts
US8937619B2 (en) 2013-03-15 2015-01-20 Palantir Technologies Inc. Generating an object time series from data objects
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8924388B2 (en) 2013-03-15 2014-12-30 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US9898167B2 (en) 2013-03-15 2018-02-20 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
GB2513721A (en) 2013-03-15 2014-11-05 Palantir Technologies Inc Computer-implemented systems and methods for comparing and associating objects
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9501202B2 (en) 2013-03-15 2016-11-22 Palantir Technologies, Inc. Computer graphical user interface with genomic workflow
US8788405B1 (en) 2013-03-15 2014-07-22 Palantir Technologies, Inc. Generating data clusters with customizable analysis strategies
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8917274B2 (en) 2013-03-15 2014-12-23 Palantir Technologies Inc. Event matrix based on integrated data
US9740369B2 (en) 2013-03-15 2017-08-22 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
GB2513720A (en) 2013-03-15 2014-11-05 Palantir Technologies Inc Computer-implemented systems and methods for comparing and associating objects
US9372929B2 (en) 2013-03-20 2016-06-21 Securboration, Inc. Methods and systems for node and link identification
US20140310266A1 (en) 2013-04-10 2014-10-16 Google Inc. Systems and Methods for Suggesting Places for Persons to Meet
GB2542517B (en) 2013-05-07 2018-01-24 Palantir Technologies Inc Interactive Geospatial map
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US20140358789A1 (en) 2013-05-30 2014-12-04 B. Scott Boding Acquirer facing fraud management system and method
US9576248B2 (en) 2013-06-01 2017-02-21 Adam M. Hurwitz Record linkage sharing using labeled comparison vectors and a machine learning domain classification trainer
DE102014213036A1 (de) 2013-07-05 2015-01-22 Palantir Technologies, Inc. Datenqualitätsmonitore
US8601326B1 (en) 2013-07-05 2013-12-03 Palantir Technologies, Inc. Data quality monitors
US20150019394A1 (en) 2013-07-11 2015-01-15 Mastercard International Incorporated Merchant information correction through transaction history or detail
US8620790B2 (en) 2013-07-11 2013-12-31 Scvngr Systems and methods for dynamic transaction-payment routing
US9335897B2 (en) 2013-08-08 2016-05-10 Palantir Technologies Inc. Long click display of a context menu
GB2518745A (en) 2013-08-08 2015-04-01 Palantir Technologies Inc Template system for custom document generation
US9223773B2 (en) 2013-08-08 2015-12-29 Palatir Technologies Inc. Template system for custom document generation
US9477372B2 (en) 2013-08-08 2016-10-25 Palantir Technologies Inc. Cable reader snippets and postboard
US9565152B2 (en) 2013-08-08 2017-02-07 Palantir Technologies Inc. Cable reader labeling
US8713467B1 (en) 2013-08-09 2014-04-29 Palantir Technologies, Inc. Context-sensitive views
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
US8689108B1 (en) 2013-09-24 2014-04-01 Palantir Technologies, Inc. Presentation and analysis of user interaction data
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US8812960B1 (en) 2013-10-07 2014-08-19 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US9792194B2 (en) 2013-10-18 2017-10-17 International Business Machines Corporation Performance regression manager for large scale systems
US8924872B1 (en) 2013-10-18 2014-12-30 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US8786605B1 (en) 2013-10-24 2014-07-22 Palantir Technologies Inc. Systems and methods for distance and congestion-aware resource deployment
US8832594B1 (en) 2013-11-04 2014-09-09 Palantir Technologies Inc. Space-optimized display of multi-column tables with selective text truncation based on a combined text width
US9021384B1 (en) 2013-11-04 2015-04-28 Palantir Technologies Inc. Interactive vehicle information map
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9235638B2 (en) 2013-11-12 2016-01-12 International Business Machines Corporation Document retrieval using internal dictionary-hierarchies to adjust per-subject match results
US10586234B2 (en) 2013-11-13 2020-03-10 Mastercard International Incorporated System and method for detecting fraudulent network events
US9356937B2 (en) 2013-11-13 2016-05-31 International Business Machines Corporation Disambiguating conflicting content filter rules
US20150161611A1 (en) 2013-12-10 2015-06-11 Sas Institute Inc. Systems and Methods for Self-Similarity Measure
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
EP2884440A1 (en) 2013-12-16 2015-06-17 Palantir Technologies, Inc. Methods and systems for analyzing entity performance
US10025834B2 (en) 2013-12-16 2018-07-17 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US20150178825A1 (en) 2013-12-23 2015-06-25 Citibank, N.A. Methods and Apparatus for Quantitative Assessment of Behavior in Financial Entities and Transactions
US10356032B2 (en) 2013-12-26 2019-07-16 Palantir Technologies Inc. System and method for detecting confidential information emails
US20150186821A1 (en) 2014-01-02 2015-07-02 Palantir Technologies Inc. Computer-implemented methods and systems for analyzing healthcare data
US8832832B1 (en) 2014-01-03 2014-09-09 Palantir Technologies Inc. IP reputation
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US9483162B2 (en) 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US9009827B1 (en) 2014-02-20 2015-04-14 Palantir Technologies Inc. Security sharing system
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
CA2943745C (en) 2014-03-29 2022-07-26 Thomson Reuters Global Resources Improved method, system and software for searching, identifying, retrieving and presenting electronic documents
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9009171B1 (en) 2014-05-02 2015-04-14 Palantir Technologies Inc. Systems and methods for active column filtering
US20150324868A1 (en) 2014-05-12 2015-11-12 Quixey, Inc. Query Categorizer
US9129219B1 (en) 2014-06-30 2015-09-08 Palantir Technologies, Inc. Crime risk forecasting
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US9021260B1 (en) 2014-07-03 2015-04-28 Palantir Technologies Inc. Malware data item analysis
US20160026923A1 (en) 2014-07-22 2016-01-28 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system

Also Published As

Publication number Publication date
US8935201B1 (en) 2015-01-13
US9449074B1 (en) 2016-09-20
EP3570185A1 (en) 2019-11-20
US8924429B1 (en) 2014-12-30
EP2921975B1 (en) 2019-08-21
DK2921975T3 (da) 2019-10-28
US9292388B2 (en) 2016-03-22
US20160335342A1 (en) 2016-11-17
EP2921975A1 (en) 2015-09-23
US20150269030A1 (en) 2015-09-24
US10180977B2 (en) 2019-01-15

Similar Documents

Publication Publication Date Title
ES2755924T3 (es) Determinación y extracción de datos modificados procedentes de una fuente de datos
US10970262B2 (en) Multiple versions of triggers in a database system
US11023204B2 (en) Hardware implementation of a tournament tree sort algorithm using an external memory
US10642515B2 (en) Data storage method, electronic device, and computer non-volatile storage medium
CN111309760A (zh) 数据检索方法、系统、设备及存储介质
US20160070739A1 (en) Batch processed data structures in a log repository referencing a template repository and an attribute repository
CN105760418B (zh) 用于对关系数据库表进行交叉列搜索的方法和系统
US10296662B2 (en) Stratified sampling of log records for approximate full-text search
US10885029B2 (en) Parallel execution of merge operations
US10296656B2 (en) Managing database
WO2010132624A2 (en) Method and system for analyzing ordered data using pattern matching in a relational database
CN110019199A (zh) 数据存储、查询方法、装置、设备、计算机可读存储介质
US10031936B2 (en) Database table data fabrication
EP3388960A1 (en) Systems and methods for constraint driven database searching
US20200133491A1 (en) Efficient space accounting mechanisms for tracking unshared pages between a snapshot volume and its parent volume
US11520794B2 (en) Data ingestion with spatial and temporal locality
US11250002B2 (en) Result set output criteria
US20160314170A1 (en) SQL Join Plan Representation
US10832144B2 (en) Event sequence management
US20180074970A1 (en) Cache-Efficient Fragmentation of Data Structures
US20180074967A1 (en) Paging Mechanism for In-Memory Data Management System
US20170097848A1 (en) Relating user action flows by storing relationships between threads and objects
Mihova Query Performance Monitoring Using Query Store in SQL Server 2016