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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, 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)
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.
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)
| 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)
| 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 |
-
2014
- 2014-04-16 US US14/254,773 patent/US8924429B1/en active Active
- 2014-04-16 US US14/254,757 patent/US8935201B1/en active Active
- 2014-12-23 US US14/581,902 patent/US9292388B2/en active Active
-
2015
- 2015-03-17 EP EP15159520.4A patent/EP2921975B1/en active Active
- 2015-03-17 EP EP19185519.6A patent/EP3570185A1/en not_active Ceased
- 2015-03-17 ES ES15159520T patent/ES2755924T3/es active Active
- 2015-03-17 DK DK15159520T patent/DK2921975T3/da active
-
2016
- 2016-03-10 US US15/066,970 patent/US9449074B1/en active Active
- 2016-07-26 US US15/220,021 patent/US10180977B2/en active Active
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 |