MX2013014800A - Recomendacion de enriquecimientos de datos. - Google Patents
Recomendacion de enriquecimientos de datos.Info
- Publication number
- MX2013014800A MX2013014800A MX2013014800A MX2013014800A MX2013014800A MX 2013014800 A MX2013014800 A MX 2013014800A MX 2013014800 A MX2013014800 A MX 2013014800A MX 2013014800 A MX2013014800 A MX 2013014800A MX 2013014800 A MX2013014800 A MX 2013014800A
- Authority
- MX
- Mexico
- Prior art keywords
- data
- enrichment
- database
- recommendation
- identifier
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
Abstract
Los aspectos de la materia objeto aquí descritos se refieren a la recomendación de fuentes de datos. En los aspectos, una solicitud para proporcionar recomendaciones de enriquecimientos de datos para una base de datos es recibida en un motor de recomendación. El motor de recomendación puede realizar un análisis estático y dinámico de los datos asociados con la base de datos y además puede refinar recomendaciones basándose en políticas. El motor de recomendaciones entonces puede proporcionar las recomendaciones, si hay alguna, de enriquecimientos de datos para permitir a un desarrollador de software, por ejemplo, a indicar si los enriquecimientos de datos van a ser utilizados.
Description
RECOMENDACION DE ENRIQUECIMIENTOS DE DATOS
ANTECEDENTES
Las bases de datos son un artículo común en los negocios actuales. Aún las aplicaciones muy simples de software de negocios por lo regular incluirán el uso de una base de datos. A medida que el uso de bases de datos crece, las fuentes de datos que proporcionan datos que aumentan los datos encontrados en los negocios y otras bases de datos también han crecido. Por ejemplo, un desarrollador de software puede crear una aplicación de software que tiene acceso a una base de datos para determinar direcciones. Varias fuentes de datos en Internet están disponibles que generan un mapa que incluye direcciones para ir a un destino. Como otro ejemplo, existen varios sitios en Internet que proporcionan información sobre el clima. En realidad, existen demasiadas fuentes de datos disponibles, que están retando a los desabolladores de software a descubrir y utilizar estas fuentes de datos.
La materia objeto aquí reclamada no está limitada a las modalidades que resuelven cualquiera de las desventajas o que operan solo en ambientes tales como aquellos descritos anteriormente. Más bien, estos antecedentes solo se proporcionan para ilustrar un área de tecnología ilustrativa en donde algunas de las modalidades aquí descritas pueden ser practicadas.
BREVE DESCRIPCION DE LA INVENCION
En resumen, los aspectos de la materia objeto aquí descrita se refieren a la recomendación de fuentes de datos. En aspecto, una solicitud para proporciona recomendaciones de enriquecimientos de datos para una base de datos se recibe en un motor de recomendación. El motor de recomendación puede realizar análisis estático y dinámico de datos asociados con la base de datos y además puede refinar las recomendaciones basándose en políticas. El motor de recomendaciones entonces puede proporcionar las recomendaciones, si hay alguna, de enriquecimientos de datos para permitir que un desarrollador de software, por ejemplo, indique si los enriquecimientos de datos van a ser utilizados.
BREVE DESCRIPCION DE LOS DIBUJOS
La Figura 1 es un diagrama de bloques representando un ambiente de cómputo de propósito general ilustrativo en donde lós aspectos de la materia objeto aquí descrita pueden ser incorporados;
La Figura 2 es un diagrama de bloques que representa un ambiente ilustrativo en donde los aspectos de la materia objeto aquí descrita pueden ser implementados; y
Las Figuras 3 y 4 son diagramas de flujo que generalmente representan acciones ilustrativas que pueden ocurrir de acuerdo con los aspectos de la materia objeto aquí descrita.
DESCRIPCION DETALLADA
Definiciones
Como se utiliza aquí, el término "incluye" y sus variantes se leerán como términos de extremo abierto que significa "incluye, pero no se limita a". El término "o" se leerá como "y/o" a menos que el contexto claramente dicte lo contrario. El término "basado en" se leerá como "basado al menos en parte en". Los términos "una modalidad" y "modalidad" se leerán como "al menos una modalidad". El término "otra modalidad" se leerá como "al menos otra modalidad".
Como se utiliza aquí, los términos "un", "uno(a)", " e I ( I a ) " son inclusivos de uno o más del artículo o acción indicada. En particular en las reivindicaciones una referencia a un artículo generalmente significa al menos dicho un artículo está presente y una referencia a una acción significa al menos que se realiza un caso de la acción.
Algunas veces aquí los términos "primero", "segundo", "tercero" y así sucesivamente pueden ser utilizados. Sin contexto adicional, el uso de estos términos en las reivindicaciones no pretende implicar un orden sino que más bien se usa para propósitos de identificación. Por ejemplo, la frase "primera versión" y "segunda versión" no necesariamente significa que la primera versión sea la muy primera versión o fue creada antes de la segunda versión o aún que la primera versión es solicitada u operada antes de las segundas Versiones. Más bien, estas frases se utilizan para identificar diferentes versiones.
Los títulos son solo para conveniencia; la información sobre un tópico dado puede ser encontrada fuera de la sección cuyo encabezado indica ese tópico.
Otras definiciones, explícitas e implícitas, pueden ser incluidas a continuación.
Ambiente Operativo Ilustrativo
La Figura 1 muestra un ejemplo de un ambiente de sistema de cómputo 100 adecuado en donde se pueden implementar aspectos dé la materia objeto aquí descrita. El ambiente de sistema de cómputo 100 es solo un ejemplo de un ambiente de cómputo adecuado y no pretende sugerir ninguna limitación en cuanto al alcance de uso o funcionalidad de los aspectos de la materia objeto aquí descrita. Ni él ambiente de cómputo 100 debe ser interpretado como teniendo ninguna dependencia o requerimiento con relación a cualquiera de uno o una combinación de componentes ilustrados en el ambiente operativo 100 ilustrativo.
Los aspectos de la materia objeto aquí descritos son operacionales con numerosos otros ambientes on configuraciones de sistema de cómputo de propósito general o de propósito especial. Ejemplos de sistemas, ambientes o configuraciones de cómputo bien conocidos que pueden ser adecuados para usarse con los aspectos de la materia objeto aquí descrita comprenden computadoras personales, computadoras de servidor, dispositivos portátiles o laptops, sistemas de multi-procesador, sistemas basados en
microcontrolador, cajas de tv por cable, electrónica de consumidor programable, PCs de red, minicomputadoras, ordenadores centrales, asistentes digitales personales (PDA), dispositivos de juego, impresoras, aparatos incluyendo cajas de tv por cable, centros de medios, u otros aparatos, dispositivos de cómputo integrados o unidos a automóviles, otros dispositivos móviles, ambientes de cómputo distribuido que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares.
Los aspectos de la materia objeto aquí descritos se pueden describir en el contexto general de instrucciones ejecutables por computadora, tales como módulos de programa, que se ejecutan por una computadora. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., los cuales realizan o implementan tipos de datos abstractos particulares. Los aspectos de la materia objeto aquí descritos también pueden ser practicados en ambientes de cómputo distribuidos en donde se realizan tareas a través de dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden ser ubicados en medios de almacenamiento por computadora, tanto locales como remotos, incluyendo dispositivos de almacenamiento de memoria.
Con referencia a la Figura 1, un sistema ilustrativo para implementar los aspectos de la materia objeto aquí descrita incluye un dispositivo de cómputo de propósito general en la forma de una
computadora 110. Una computadora puede incluir cualquier dispositivo electrónico que sea capaz de ejecutar una instrucción. Los componentes de la computadora 110 pueden incluir una unidad de procesamiento 120, una memoria de sistema 130, un conductor común de sistema 121 que acopla varios componentes de sistema incluyendo la memoria de sistema a la unidad de procesamiento 120. El conductor común de sistema 121 puede ser cualquiera de los varios tipos de estructuras de conductor común incluyendo un conductor común de memoria o un controlador de memoria, un conductor común periférico, y un conductor común local utilizando cualquiera de una variedad de arquitecturas de conductor común. A manera de ejemplo, y no de limitación, dichas arquitecturas incluyen un conductor común de Arquitectura Estándar de Industria (ISA), un conductor común de Arquitectura de Micro Canal (MCA), un conductor común de ISA Mejorado (EISA), un conductor común local de Asociación de Estándares de Electrónica (VESA), un conductor común de Interconexión de Componente Periférico (PCI) también conocido como un un conductor común de Mezanine, un conductor común Extendido de Interconexión de Componente Periférico (PQI-X), un Puerto de Gráficos Avanzado (AGP), y exprés PCT (PCIe).
La computadora 110 típicamente incluye una variedad de medios legibles por computadora. Los medios legibles por computadora pueden ser cualquiera de los medios disponibles que pueden ser accedidos por la computadora 110 e incluyen medios tanto volátiles como no volátiles, y medios removibles como no
removióles. A manera de ejemplo, y no de limitación, los medios Ibgibles por computadora pueden comprender medios de almacenamiento en computadora y medios de comunicación.
Los medios de almacenamiento en computadora incluyen medios tanto volátiles como no volátiles, removibles y no removiblés implementados en cualquier método o tecnología para el almacenamiento de información tales como instrucciones legibles por computadora, estructuras de datos, módulos de programa, u otros datos. Los medios de almacenamiento en computadora incluyen RAM, ROM, EPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD), u otro almacenamiento de disco óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético, u otros dispositivos de almacenamiento magnético, o cualquier otro medio el cual pueda ser utilizado para almacenar la información de destino y el cual pueda ser accedido por la computadora 110.
Los medios de comunicación típicamente modalizan instrucciones legibles por computadora, estructuras de datos, módulos de programa, u otros datos en una señal de datos modulada, tal como una onda portadora u otro mecanismo de transporte e incluye cualquier información de medios de suministro. El término "señal de datos modulada" significa una señal que tiene una o más de sus características fijadas o cambiadas de tal manera que codifica la información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen medios de cable
tales como una red por cable o conexión de cable directo, y medios inalámbricos tales como medios acústicos, RF, infrarrojos y otros medios inalámbricos. También se pueden incluir combinaciones de cualquiera de los anteriores dentro del alcance de los medios legibles por computadora.
La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como memoria de solo lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. Un sistema de entrada/salida básico 133 (BIOS) conteniendo las rutinas básicas que ayudan a transferir Ta información entre elementos dentro de la computadora 110, tal como durante el arranque, está típicamente almacenada en la ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles a y/o son en realidad operados por la unidad de procesamiento 120. A manera de ejemplo, y no de limitación, la Figura 1 muestra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137.
La computadora 110 también puede incluir otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles. A manera de ejemplo, la Figura 1 muestra una unidad de disco duro 141 que lee de o escribe a medios magnéticos no removibles, no volátiles, una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible, no volátil, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico
removible, no removible 156 tal como un CD ROM u otros medios ópticos. Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que pueden ser utilizados en el ambiente operativo ilustrativo incluyen casetes dé cinta magnética, tarjetas de memoria flash, discos versátiles digitales, otros discos ópticos, cinta de video digital, RAM de estado sólido, ROM de estado sólido, y similares. La unidad de disco duro 141 puede ser conectada al conductor común de sistema 121 a través de la interfase 140, y la unidad de disco magnético 151 y la unidad de disco óptico 155 pueden ser conectadas al conductor común de sistema 121 a través de una interfase para memoria removible y no volátil tal como la interfase 150.
Las unidades y sus medios de almacenamiento por computadora asociados, discutidos anteriormente e ilustrados en la Figura 1, proporcionan el almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa, y otros datos para la computadora 110. En la Figura 1, por ejemplo, la unidad de disco duro 141 se ilustra como el sistema operativo de almacenamiento 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147. Observar que estos componentes pueden ser ya sea iguales a o diferentes al sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. El sistema operativo 144,
: G los programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 se les dan diferentes número aquí para
ilustrar que, a un mínimo, son copias diferentes.
Un usuario puede introducir comandos e información en la computadora 110 a través de dispositivos de entrada tales como un teclado 162 y un dispositivo de señalamiento 161, comúnmente denominado como un ratón, seguibola, o almohadilla táctil. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de juego, almohadilla de luego, antena parabólica, escáner, una pantalla, una pantalla sensible al tacto, una tableta de escritura, o similares. Estos y otros dispositivos de entrada por lo regular están conectados a la unidad de procesamiento 120 a través de una interfase de entrada 160 que está acoplada al conductor común de sistema, pero puede estar conectada a través de otra interfase y estructuras de conductor común, tales como un puerto paraleló, puerto de juegos o un conductor común en serie universal (USB).
Un monitor 191 u otro tipo de dispositivo de presentación también está conectado al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190. Además del monitor, las computadoras también pueden incluir otros dispositivos periféricos tales como bocinas 197 y una impresora 196, las cuales pueden estar conectadas a través de una interfase periférica de salida 195.
La computadora 110 puede operar en un ambiente en red utilizando conexiones lógicas a una o más computadoras, tales como una computadora remota 180. La computadora remota 180 puede ser una computadora personal, un servidor, un enrutador, una PC de red,
un dispositivo par, u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente con relación a la computadora 110, aunque solo un dispositivo de almacenamiento de memoria 181 ha sido ilustrado en la Figura 1. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 171 y una red de área ancha (WAN) 173, pero también pueden incluir otras redes. Dichos ambientes en red con lugares comunes en oficinas, redes de computadora amplias en empresas, intranets, e
Internet.
1 Cuando se utilizan en un ambiente en red LAN, la computadora 110 esta conectada a la LAN 171 a través de un interfase de red o adaptador 170. Cuando se utiliza en un ambiente en red WAN, la computadora 110 puede incluir un módem 172 u otros medios para establecer comunicaciones a través de la WAN 173, tal como Internet. El módem 172, el cual puede ser interno o externo, puede ser conectado al conductor común de sistema 121 a través de ja interfase de entrada de usuario 160 u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados con relación a la computadora 110, o porciones de la misma, pueden, ser almacenados en el dispositivo de almacenamiento de memoria remoto. A manera de ejemplo, y no de limitación, la Figura 1 muestra programas de aplicación remotos 185 residiendo en el dispositivo de memoria 181. Se apreciará que las conexiones de red mostradas son ilustrativas y se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras.
Enriquecimiento de Datos
Como se mencionó anteriormente, es un reto para los desarrolladores de software descubrir y utilizar el aumento de fuentes de datos. La Figura 2 es un diagrama de bloques que representan un ambiente ilustrativo en donde se pueden implementar aspectos de la materia objeto aquí descrita. Los componentes ilustrados en la Figura 2 son ilustrativos y no significa que todos sean inclusivos de los componentes que pueden ser necesarios o incluidos. En otras modalidades, los componentes descritos junto con la Figura 2 pueden ser incluidos en otros componentes (mostrados o no mostrados) o colocados en sub-componentes sin apartarse del espíritu o alcance de los aspectos de la materia objeto aquí descrita.
Como se utiliza aquí, el término componente incluye hardware tal como todo o una porción de un dispositivo, una colección de uno o más módulos de software o sus porciones, alguna combinación de uno o más módulos de software o porciones de los mismos y uno o más módulos o porciones de los mismos, y similares.
Regresando a la Figura 2, el ambiente incluye una aplicación 205, un sistema de manejo de base de datos (DBMS) 206, enriquecimiento de fuente(s) de datos 207, un motor de enriquecimiento 208, almacenamientos de datos 210 y 211, y otros componentes (no mostrados).
Los varios componentes pueden ser ubicados relativamente cerca uno de los otros (por ejemplo, en la misma máquina o en máquinas en la misma red) o pueden estar distribuidos a través del
mundo. Los varios componentes pueden comunicarse entre sí a través de varias redes incluyendo redes intra- e inter-oficina.
La aplicación 205, el DBMS 206, el enriquecimiento de fuente(s) de datos 207, y el motor de recomendación 208 pueden comprender o residir en uno o más dispositivos de cómputo. Dichos dispositivos pueden incluir, por ejemplo, computadoras personales, computadoras de servidor, dispositivos portátiles o laptop, sistemas de procesador múltiple, sistemas basados en microcontrolador, cajas de tv por cable, electrónica de consumidor programable, PCs de red, minicomputadoras, ordenadores centrales, teléfonos celulares, asistentes digitales personales (PDA), dispositivos de juegos, impresoras, aparatos incluyendo cajas de tv por cable, centros de medios, u otros aparatos, dispositivos de cómputo integrados o unidos en automóviles, u otros dispositivos móviles, amientes de cómputo distribuidos que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares. Un dispositivo ilustrativo que puede ser configurado para actuar como uno de los anteriores comprende la computadora 110 de la Figura 1.
La aplicación 205 puede incluir un proceso que sea capaz de comunicarse con una o más de las otras entidades de la Figura 2. El término "proceso" y sus variantes como se utiliza aquí pueden incluir uno o más procesos, secuencias, componentes, bibliotecas, objetos que realizan tareas, y similares. Un proceso puede ser implementado en hardware, software, o una combinación de hardware y software. Én una modalidad, un proceso en cualquier mecanismo, sin embargo,
denominado, capaz de o usado para realizar una acción. Un procedimiento puede ser distribuido a través de múltiples dispositivos o un dispositivo individual. Asimismo, la aplicación 205 puede tener componentes que sean distribuidos a través de uno o más dispositivos.
En una modalidad, la aplicación 205 puede incluir una herramienta de desarrollo de software. La herramienta de desarrollo de software puede implementar un ambiente de desarrollo integrado (IDE) que permite a un desarrollador de software entrar y actualizar un código, depurar un código, crear y actualizar bases de datos, asociar el código con una o más bases de datos, compilar el código, crear un paquete, hacer otras acciones, y similares.
Los datos en un almacenamiento de datos 210 pueden ser accedidos a través de DBMS 206. Un DBMS puede comprender uno o más programas que controlan la organización, almacenamiento, manejo, y recuperación de datos de una base de datos. Un DBMS puede recibir solicitudes para tener acceso a datos en una base de datos y puede realizar las operaciones necesarias para proporcionar este acceso. El acceso, como se utiliza aquí, puede incluir leer lós datos, escribir datos, eliminar datos, actualizar datos, una combinación que incluye dos o más de los anteriores, y similares.
Una base de datos almacenada en el almacenamiento de datos 210 puede comprender una base de datos de relación, base de datos orientada a objeto, base de datos jerárquica, base de datos de red, otros tipos de base de datos, alguna combinación o extensión de lós
anteriores, y similares. Los datos almacenados en una base de datos pueden ser organizados en tablas, registros, objetos, otras estructuras de datos, y similares. Los datos almacenados en una base de datos pueden ser almacenados en archivos de base de datds dedicados, divisiones de unidad dura dedicadas, archivos HTML, archivos XML, hojas de cálculo, archivos planos, archivos de documento, archivos de configuración, otros archivos, y similares.
Una base de datos puede hacer referencia a un grupo de datos que es de solo lectura a la base de datos o puede tener la habilidad de leer y escribir al grupo de datos.
Al describir los aspectos de la materia objeto aquí descrita, para simpleza, la terminología asociada con bases de datos de relación es algunas veces usada aquí. Aunque la terminología de la base de datos de relación algunas veces se utiliza aquí, las enseñanzas de la presente también pueden ser aplicadas a otros tipos de bases de datos incluyendo aquellas que han sido mencionadas previamente.
El enriquecimiento de fuente(s) de datos 207 puede incluir cualquier entidad que sea capaz de suministrar datos. Por ejemplo, el enriquecimiento de fuente(s) de datos 207 puede incluir un servicio que recibe datos (por ejemplo, un código zip) y proporciona datos (por ejemplo, información del clima) en respuesta a esto. Corrió otro ejemplo, el enriquecimiento de fuente(s) de datos 207 puede incluir un servicio que proporciona precios de producto reales o retrasados. Cada enriquecimiento de fuente de datos puede ser
implementado a través de un proceso ejecutado por una o más computadoras.
Una base de datos almacenada en el almacenamiento de datos 210 puede ser enriquecida por el enriquecimiento de fuente(s) de datos 207. El DBMS 206 puede obtener datos del enriquecimiento de fuente(s) de datos 207 y hacer que los datos aparezcan (por ejemplo, en la aplicación 205) como si vinieran de una base de datos manejada por el DBMS 206. Los datos obtenidos del enriquecimiento de fuente(s) de datos 207 son algunas veces denominados como enriquecimientos de datos. Por ejemplo, el DBMS 206 puede utilizar información de código zip encontrado en la base de datos para obtener información de clima de un enriquecimiento de fuente de datos. La información de clima puede ser accesible a través de una o más columna de una tabla expuesta por el DBMS 206.
El DBMS 206 puede almacenar información que indica los enriquecimientos de datos que se van a proporcionar con la base de datos del almacenamiento de datos 210. Para proporcionar los datos de la base de datos, el DBMS 206 también puede hacer disponible los enriquecimientos de datos.
En una modalidad, el motor de recomendación 208 puede proporcionar recomendaciones de enriquecimientos de datos al DBMS 206 que después puede proporcionar estas recomendaciones a la aplicación 205. En otra modalidad, el motor de recomendaciones 208 puede proporcionar recomendaciones de enriquecimientos de datos directamente a la aplicación 205. Una recomendación puede
incluir un nombre u otro identificador de una recomendación, un tipo de datos de entrada necesarios por el enriquecimiento de datos asociados con la recomendación, y un tipo de datos de salida provistos por el enriquecimiento de datos.
El motor de enriquecimiento 208 puede determinar estás recomendaciones en una variedad de formas. Algunas de estás formas incluyen, por ejemplo: ! 1. Análisis Dinámico. El DBMS 206 puede recolectar i
información estadística sobre consultas que son ejecutadas por el DBMS 206. Esta información puede ser provista para el motor de recomendación 208, el cual puede utilizar la información para sugerir nuevos enriquecimientos y fuentes de datos. Por ejemplo, si una consulta utiliza un enriquecimiento de COMAÑIAFINANCIERA, el motor de enriquecimiento 208 puede recomendar también un enriquecimiento de NOTICIASDECOMPAÑIA. Esta recomendación puede ser provista porque ambos enriquecimientos utilizan el nombre de compañía como entrada.
Para determinar un enriquecimiento utilizando el análisis dinámico, el motor de recomendación 208 puede utilizar una estructura de datos que hace trazos entre los enriquecimientos. Por ejemplo, el motor de recomendación 208 puede mantener o ser provisto con una tabla que incluye filas, en donde cada fila incluye un campo de un primer enriquecimiento y un segundo enriquecimiento. El segundo enriquecimiento es el enriquecimiento de datos que va a ser recomendado basándose en el primer
enriquecimiento. A través del uso de cero o más filas, esta tabla puede utilizarse para trazar un primer enriquecimiento a cero o más de otros enriquecimientos que pueden ser recomendados con base en el primer enriquecimiento.
Se pueden utilizar estadísticas tales como tiempo de consulta para recomendar fuentes de datos que son indexadas de manera diferente de la fuente de datos que actualmente se está utilizando. Por ejemplo, una fuente de datos de cotización de bolsa puede ser capaz de proporcionar precios de cotización de bolsa actualizados utilizando un nombre de compañía o símbolo de cotización (por ejemplo, MSFT). Cuando se proporciona un nombre de compañía, la fuente de datos de cotización de bolsa necesita buscar un símbolo de cotización a través del cual la compañía es conocida al mercado de bolsa. La fuente de datos después puede utilizar esta símbolo de cotización para obtener los datos de cotización.
En lugar de utilizar la metodología anterior para obtener los datos de cotización, una fuente de datos que reciba el símbolo de cotización solo puede obtener los datos de cotización directamente y de esta forma ser capaz de obtener los datos más rápido que una fuente de datos que tiene que traducir desde el nombre de la compañía a un nombre de cotización. Si una tabla de compañía tiene un campo de símbolo de cotización pero está utilizando un enriquecimiento de datos de nombre de compañía para obtener los datos de cotización, el motor de recomendación 208 puede recomendar que el enriquecimiento de datos que utiliza el campo de
símbolo de cotización sea más bien utilizado. Alternativamente, e\ motor de recomendación 208 puede recomendar una entidad de símbolo de cotización que incluya el símbolo de cotización para cada compañía de la tabla de compañía y después puede recomendar enriquecimientos basándose en la entidad de símbolo de cotización..
2. Análisis Estadístico. Los datos que son almacenados en una base de datos tienen metadatos estructurales con respecto a objetos de base de datos que incluyen tablas, columnas, procedimientos, lenguaje de marcación extensible (XML), y similares. Estos metadatos estructurales pueden ser examinados para determinar el tipo de datos que son almacenados y procesados por ja base de datos. Algunos ejemplos de metadatos estructurales incluyan nombres de tabla, nombres de columna, nombres de procedimientos almacenados, tipos de datos de columna, otros nombres de objeto, y similares.
Por ejemplo, una compañía con el nombre de tabla puede indicar que la tabla tiene información de compañía. Dentro de la compañía con el nombre de tabla, un nombre con el nombre de columna puede indicar el nombre de la compañía. Estos metadatos pueden ser utilizados para determinar que la columna de nombre dentro de la tabla de compañía es el nombre de una compañía. Esto después puede ser utilizado para proporcionar recomendaciones de enriquecimiento para compañías tales como un enriquecimiento de GOMAÑIAFINANCIERA, un enriquecimiento de NOTICIASDECOMPAÑIA, un enriquecimiento de
COMAÑIAREDESSOCIALES, y otros enriquecimientos de compañía..,
Para facilitar la determinación de enriquecimientos de datos para análisis estadísticos, se puede utilizar una estructura de datos que traza a partir de un identificador (por ejemplo, un nombre) a uno o más enriquecimientos asociados con el nombre. Por ejemplo, él motor de recomendación 208 puede mantener o ser provisto con una tabla que incluye filas en donde cada fila incluye uno o más campos de atributos de metadatos (por ejemplo, nombre de tabla, columna, nombre, tipo de datos) y un enriquecimiento de datos que va a ser recomendado basándose en los atributos de los metadatos. A través del uso de cero o más filas, esta tabla puede ser utilizada para trazar un atributo(s) de metadatos a cero o más de otros enriquecimientos que pueden ser recomendados con base en los atributos de los metadatos.
Como un ejemplo, de un enriquecimiento de datos que pueden ser recomendados basándose en un tipo de datos de columna, los metadatos pueden indicar que una columna utiliza un tipo de datos de GEOMETRIA. En respuesta, el motor de recomendación 208 puede recomendar una entidad de UBICACIÓN y enriquecimientos que son asociados con la entidad de UBICACIÓN (por ejemplo, clima, índice de crimen, densidad de población, demografía, estadística doméstica, y similares).
El tipo de datos de columna también pueden ser determinados examinando los datos en la misma base de datos. Por ejemplo, al examinar las columnas en una tabla, el motor de recomendación 20,8
puede ser capaz de determinar que las columnas representan una dirección. Esto puede hacerse, por ejemplo, al intentar buscar una dirección utilizando los datos en las columnas. Una vez que el motor de recomendación 208 determina que las columnas representan una dirección, el motor de recomendación 208 puede utilizar las técnicas de trazado aquí mencionadas para recomendar enriquecimientos de datos basándose en la dirección.
Similarmente, el análisis estadístico de datos dentro de la base de datos puede ser capaz de producir información adicional con respecto a datos contenidos dentro de la base de datos. Esta información también puede ser utilizada para recomendar enriquecimientos de datos.
3. Política. Se pueden hacer recomendaciones con base en políticas. Estas políticas pueden ser definidas por la aplicación 205 o de otra manera. Se puede pensar que una política es una regla que tiene una o más condiciones que restringen una recomendación basada en la evaluación de la condición(es). Por ejemplo, una política puede basarse en un costo de transacción, un rango de fuente de datos, un acuerdo de licencia de servicio (SLA), si los datos persisten en la base de datos, u otras condiciones. Por ejemplo, una política puede indicar que mientras el precio del enriquecimiento de datos sea menor que cierta cantidad, se permite una recomendación para el enriquecimiento de datos.
4. Un directorio. Los enriquecimientos de datos disponibles se pueden buscar. Por ejemplo, el motor de recomendación 208
1
puede proporcionar una lista de enriquecimientos de datos y sus fuentes de datos correspondientes en una tabla que un desarrollador de software o similares puede consultar. La tabla puede indicar el tipo de datos aceptados como entrada y producidos como salida. La tabla también puede incluir restricciones de licencia, costos (si los hay), otros datos sobre los enriquecimientos de datos, y similares.
El almacenamiento de datos 211 es un almacenamiento que almacena datos usados para las recomendaciones. Los datos pueden incluir, por ejemplo, datos de trazo, un directorio de enriquecimientos de datos disponibles, precios, desempeño, y datos de confiabilidad, acuerdos de licencia con respecto a fuentes de
-í datos, y similares.
Los almacenamientos de datos 210-211 pueden ser implementados utilizando cualquier medio de almacenamiento capaz de almacenar datos. Un almacenamiento puede incluir memoria volátil (por ejemplo, una memoria caché) y memoria no volátil (por
I
ejemplo, un almacenamiento persistente). Un almacenamiento puede ser implementado utilizando un sistema de archivo, base de datos, memoria volátil tal como RAM, otro almacenamiento, alguna combinación de los anteriores, y similares y puede ser distribuido a través de múltiples dispositivos.
El término datos va a ser leído ampliamente para incluir cualquier cosa que pueda ser representada por uno o más elementos de almacenamiento por computadora. Lógicamente, los datos pueden ser representados como una serie de 1 y 0 en memoria volátil o no
volátil. En computadoras que tienen un medio de almacenamiento no binario, los datos pueden ser representados de acuerdo con las capacidades del medio de almacenamiento. Los datos pueden ser organizados en diferentes tipos de estructuras de datos incluyendo tipos de datos simples tales como números, letras, y similares, datos jerárquicos, enlazados, u otros tipos de datos relacionados, estructuras de datos que incluyen múltiples otras estructuras o tipos de datos imples, y similares.
Las Figuras 3-4 son diagramas de flujo que generalmente representan acciones ilustrativas que pueden ocurrir de acuerdo con aspectos de la materia objeto aquí descrita. Para simplificar la explicación, la metodología descrita junto con las Figuras 3-4 se muestra y describe como una serie de actos. Se debe entender y apreciar que los aspectos de la materia objeto aquí descrita no está limitada por los actos ilustrados y/o por el orden de los actos. En una modalidad, los actos ocurren en un orden como se describe más adelante. En otras modalidades, sin embargo, los actos pueden ocurrir en paralelo, en otro orden y/o con otros actos presentados y descrito aquí. Además, no todos los actos ilustrados pueden ser requeridos para implementar la metodología de acuerdo con los aspectos de la materia objeto aquí descrita. Además, aquellos expertos en la técnica entenderán y apreciarán que la metodología alternativamente puede ser representada como una serie dé estados interrelacionados a través de un diagrama de estado o como eventos.
Volviendo a la Figura 3, en el bloque 305, las acciones
comienzan. En el bloque 310, se recibe una solicitud para proporcionar recomendaciones de enriquecimientos de datos para una base de datos. Por ejemplo, haciendo referencia a la Figura 2, la aplicación 205, el DBMS 206, o algún otro componente puede solicitar que el motor de recomendación 208 proporcione recomendaciones de enriquecimientos de datos para una base de datos manejada por el DBMS.
En el bloque 315, puede realizarse un análisis de metadatos. Por ejemplo, haciendo referencia a la Figura 2, el motor de recomendación 208 puede utilizar los metadatos sobre una base de datos suministrada por el DBMS 206 junto con información de trazo en el almacenamiento de datos 211 para determinar la proporción de una o más recomendaciones. Además, el motor de recomendación 208 puede evaluar condiciones de políticas para restringir las recomendaciones a aquellas que no violen las políticas.
Aunque en una modalidad, el análisis de metadatos puede ser realizado después de recibir la solicitud para proporcionar recomendaciones, en otras modalidades, el análisis puede ser realizado antes de recibir la solicitud. En una modalidad, el análisis en un procedimiento, en curso que continua para actualizar las recomendaciones a medida que los metadatos con respecto a una base de datos cambian.
En una im plementación, el análisis de metadatos puede incluir las siguientes acciones ilustrativas:
1. Obtener metadatos asociados con la base de datos. Esto
puede involucrar solicitar los datos del DBMS, recibir (sin solicitar) los datos del DBMS, o algún otro mecanismo.
2. encontrar un identif icador dentro de los metadatos. Esto puede involucrar encontrar nombres de una o más tablas, columnas, procedimientos almacenados, u otros objetos de base de datos.
3. Trazar el identificador a un enriquecimiento de datos utilizando una estructura de datos que asocia el identificador con el enriquecimiento de datos. Esto puede involucrar el uso de una tabla u otra estructura de datos que incluye uno o más identif icadorés como una clave para identificar uno o más identificadores. Por ejemplo, un nombre "compañía" de una tabla o columna puede ser utilizado para encontrar enriquecimientos asociados en la estructura de datos. Como otro ejemplo, el nombre "compañía" de una tabla junto con el nombre "símbolo de cotización" de una columna de la tabla puede ser utilizado en conjunto para encontrar enriquecimiento de cotización de bolsa asociado. .
En el bloque 320, se puede realizar un análisis dinámico. Por ejemplo, haciendo referencia a la Figura 2, el motor de recomendación 208 puede analizar una o más consultas emitidas a una base de datos para determinar recomendaciones para enriquecimientos de datos. Por ejemplo, si una consulta indica un enriquecimiento de datos, este enriquecimiento de datos puede ser utilizado para identificar otros enriquecimientos de datos utilizando una estructura de dato de trazo o similares. Además, el motor de recomendación 208 puede evaluar las condiciones de políticas para
restringir las recomendaciones de aquellas que no violen las políticas.
En una implementación, el análisis dinámico puede incluir el análisis de consultas emitidas al a base de datos. En esta implementación, la determinación de una recomendación puede ser realizada a través de las siguientes acciones:
1. Obtención de un primer identif icador de un primer enriquecimiento de datos referenciado por al menos una consulta. Por ejemplo, si la consulta incluye un identificador (por ejemplo, nombre) de un enriquecimiento de datos (#COMPAÑIAFI ANCIERA"), el identificador puede ser obtenido.
2. Trazar el primer identificador a un segundo identificador de un segundo enriquecimiento de datos utilizando una estructura de datos que asocia los identificadores de enriquecimientos de datos.
Otros análisis dinámicos ilustrativos pueden involucrar las siguientes acciones ilustrativas:
i
i 1. Comparar tiempos de consulta de una primera consulta y
I
una segunda consulta que obtienen un tipo idéntico (por ejemplo, precio de cotización) de datos de enriquecimiento de dos diferentes fuentes de datos;
2. Seleccionar una consulta más rápida de la primera consulta y la segunda consulta dependiendo de cual de la primera y segunda consulta tienen la latencia más pequeña para obtener los datos de salida;
3. Determinar un identificador del enriquecimiento de datos
asociados con la consulta más rápida.
El enriquecimiento de datos entonces puede ser recomendado para mejorar el desempeño, por ejemplo.
Aunque en una modalidad, el análisis de consultas puede ser realizado después de recibir la solicitud para proporcionar recomendaciones, en otra modalidad, el análisis puede ser realizado antes de recibir la solicitud. En una modalidad, el análisis en un procedimiento en curso que continua para actualizar las recomendaciones a medida que las consultas a la base de datos son recibidas.
En el bloque 325, se proporcionan recomendaciones basadas en el análisis de los metadatos. Por ejemplo, haciendo referencia a la Figura 2, el motor de recomendación 208 puede proporcionar recomendaciones de enriquecimientos de datos para el DBMS 206, la aplicación 205, o algún otro componente.
En el bloque 330, se proporcionan recomendaciones basadas n análisis dinámicos. Por ejemplo, haciendo referencia a la Figura 2, el motor de recomendación 208 puede proporcionar recomendaciones de enriquecimientos de datos al DBMS 206, la aplicación 205, o algún otro componente.
Las recomendaciones basadas en metadatos y las recomendaciones basadas en análisis dinámicos pueden proporcionarse conjuntamente o en forma separada sin apartarse del espíritu o alcance de los aspectos de la materia objeto aquí descrita. En algunos casos, solo puede haber recomendaciones basadas en
análisis dinámicos. En otros casos, solo puede haber recomendaciones basadas en análisis estáticos.
En el bloque 335, se pueden realizar otras acciones, si las hay. Otras acciones pueden incluir, por ejemplo, proporcionar un directorio que se puede buscar que identifica enriquecimientos de datos y los enriquecimientos de datos correspondientes a fuentes de datos.
Regresando a la Figura 4, en el bloque 405, las acciones comienzan. En el bloque 410, se recibe una recomendación de enriquecimiento de datos. La recomendación se basa en uno o más análisis de metadatos de la base de datos y el análisis de consultas emitidas a un DBMS que proporciona acceso a la base de datos. Por ejemplo, haciendo referencia a la Figura 2, el DBMS 206 puede recibir una recomendación de un enriquecimiento de NOTICIASCOMPAÑIA del motor de recomendación 208. Subsecuentemente, el DBMS 206 puede proporcionar la recomendación a la aplicación 205. En otra modalidad, la aplicación 205 puede recibir la recomendación directamente del motor de recomendación 208.
En el bloque 415, se puede proporcionar una indicación de la recomendación a través de una interfase gráfica. Por ejemplo, haciendo referencia a la Figura 2, la aplicación 205 puede proporcionar un desarrollador de software, un usuario, o similar, con una indicación de la recomendación al presentar la recomendación en una presentación de computadora junto con elementos de
interfase de usuario que permiten que el desarrollador de software indique si el desarrollador de software desee utilizar el enriquecimiento de datos.
En el bloque 420, se permite que el desarrollador de software indique si el desarrollador de software desea utilizar él enriquecimiento de datos. Por ejemplo, haciendo referencia a la
Figura 2, el desarrollador de software puede indicar a la aplicación 205 si el enriquecimiento de datos de recomendación va a ser utilizados a través de los elementos de interfase presentados. En respuesta, la aplicación 205 puede informar al DBMS 206 si el enriquecimiento de datos recomendados va a ser utilizado.
En el bloque 425, se pueden realizar otras acciones, si las hay. Por ejemplo, en lugar de recibir un grupo de recomendaciones, se puede recibir un directorio de enriquecimientos de datos, sus fuentes de datos asociadas y otra información (por ejemplo, costo, velocidad, contabilidad, o similares). Este directorio o por lo menos una porción del mismo puede ser presentado a través de una interfase gráfica. Un desarrollador de software también puede emitir consultas contra este directorio para encontrar enriquecimientos en donde el desarrollador tiene interés en utilizar.
Como otro ejemplo, un desarrollador de software puede ser capaz de definir (por ejemplo, a través de una interfase gráfica) una o más políticas que se van a satisfacer junto con la provisión de una recomendación. Estas políticas entonces pueden ser provistas a un motor de recomendación para usarse en recomendar
enriquecimientos de datos que no violen las políticas.
Como se puede ver a partir de la descripción detallada anterior, se han descrito aspectos relacionados con la recomendación dé enriquecimientos de datos. Aunque los aspectos de la materia objeto aquí descritos son susceptibles a varias modificaciones y construcciones alternativas, se muestran en los dibujos ciertas modalidades ilustrativas de las mismas y han sido descritas con detalle anteriormente. Sin embargo, se debe entender que no hay intención en limitar los aspectos de la materia objeto reclamada a las formas específicas descritas, sino de lo contrario, la intención es cubrir todas las modificaciones, construcciones alternativas y equivalentes que caigan dentro del espíritu y alcance de los varios aspectos de la materia objeto aquí descrita.
Claims (10)
1. Un método ¡mplementado al menos en parte por una I computadora, el método comprende: recibir una solicitud para proporcionar recomendaciones de enriquecimientos de datos para una base de datos; proporcionar una primera recomendación basándose en el análisis de metadatos de la base de datos, si la primera recomendación existe y no viola una política; y proporcionar una segunda recomendación basándose en el análisis de al menos una consulta emitida a la base de datos, si la segunda recomendación existe y no viola una política.
2. El método de acuerdo con la reivindicación 1, que además comprende determinar la primera recomendación al realizar acciones, que comprenden: obtener metadatos asociados con una base de datos; encontrar un identificador dentro de la base de datos; y trazar el identificador a un enriquecimiento de datos utilizando una estructura de datos que asocia el identificador con el enriquecimiento de datos.
3. El método de acuerdo con la reivindicación 2, en donde el encontrar un identificador dentro de los metadatos comprende éncontrar un nombre de columna dentro de los metadatos y en donde el trazar el identificador a un enriquecimiento de datos comprende utilizar una tabla que asocia identif icadores con enriquecimientos de datos.
4. El método de acuerdo con la reivindicación 1, que además comprende determinar la segunda recomendación al realizar acciones, que comprende: obtener un primer identificador de un primer enriquecimiento de datos referenciados por al menos una consulta; y trazar el primer identificador a un segundo identificador de un segundo enriquecimiento de datos utilizando una estructura de datos que asocia identificadores de enriquecimientos de datos.
5. El método de acuerdo con la reivindicación 1, que además comprende determinar la segunda recomendación al realizar acciones, que comprenden: comparar tiempos de una primera consulta y una segunda consulta que obtienen un tipo idéntico de datos de enriquecimiento a partir de dos diferentes fuentes de datos; seleccionar una consulta más rápida de la primera consulta y la segunda consulta dependiendo de cual de la primera consulta y la segunda consulta tienen la latencia más pequeña para obtener los datos de salida; y determinar un identificador de un enriquecimiento de datos asociado con la consulta más rápida.
6. En un ambiente de cómputo, un sistema que comprende: una base de datos operable para almacenar datos y metadatos con respecto a los datos; un sistema de manejo de base de datos (DBMS) operable para proporcionar acceso a la base de datos; y un motor de recomendación operable para proporcionar recomendaciones para enriquecimientos de datos con base en el análisis de los metadatos y/o análisis de consultas emitidas al DBMS, siempre que cualquier recomendación provista no viole una política.
7. El sistema de acuerdo con la reivindicación 6, en donde el motor de recomendación que es operable para proporcionar recomendaciones para enriquecimientos de datos basándose en el análisis de metadatos comprende el motor de recomendación que es operable para realizar acciones, que comprenden: obtener metadatos asociados con la base de datos; encontrar un identificador dentro de los metadatos; y trazar el identificador a un enriquecimiento de datos utilizando una estructura da datos que asocia al identificador con el enriquecimiento de datos.
8. El sistema de acuerdo con la reivindicación 6, en donde el motor de recomendación que es operable para proporcionar recomendaciones para enriquecimientos de datos basándose en el análisis de las consultas emitidas al DBMS comprende el motor de recomendación que es operable a realizar acciones, que comprenden: identificar un primer enriquecimiento de datos referenciados por las consultas; y trazar el primer enriquecimiento de datos a un segundo enriquecimiento de datos utilizando una estructura de datos que asocia enriquecimientos de datos.
9. Un medio de almacenamiento por computadora que tiene instrucciones ejecutables por computadora, las cuales cuando se ejecutan realizan acciones, que comprenden: recibir una recomendación para un enriquecimiento de datos ,para una base de datos, la recomendación basándose en uno o más 'análisis de metadatos de la base de datos y análisis de consultas emitidas de un sistema de manejo de base de datos (DBMS) que proporciona acceso a la base de datos; y en respuesta a recibir la recomendación, proporcionar una indicación de la recomendación a través de una interfase gráfica.
10. El medio de almacenamiento por computadora de acuerdo con la reivindicación 9, que además comprende recibir una estructura de datos que asocia las recomendaciones con fuentes de datos y presentar al menos una porción de las recomendaciones y sus fuentes de datos asociadas a través de la interfase gráfica.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/159,654 US9244956B2 (en) | 2011-06-14 | 2011-06-14 | Recommending data enrichments |
PCT/US2012/040950 WO2012173825A2 (en) | 2011-06-14 | 2012-06-05 | Recommending data enrichments |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2013014800A true MX2013014800A (es) | 2014-01-24 |
Family
ID=47354526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2013014800A MX2013014800A (es) | 2011-06-14 | 2012-06-05 | Recomendacion de enriquecimientos de datos. |
Country Status (11)
Country | Link |
---|---|
US (3) | US9244956B2 (es) |
EP (1) | EP2721531A4 (es) |
JP (1) | JP5986195B2 (es) |
KR (2) | KR102035984B1 (es) |
CN (1) | CN103608809B (es) |
AU (1) | AU2012271085B2 (es) |
BR (1) | BR112013032101B1 (es) |
CA (1) | CA2838502A1 (es) |
MX (1) | MX2013014800A (es) |
RU (1) | RU2611966C2 (es) |
WO (1) | WO2012173825A2 (es) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9147195B2 (en) | 2011-06-14 | 2015-09-29 | Microsoft Technology Licensing, Llc | Data custodian and curation system |
US10073858B2 (en) | 2013-05-16 | 2018-09-11 | Oracle International Corporation | Systems and methods for tuning a storage system |
US10629086B2 (en) | 2015-06-09 | 2020-04-21 | International Business Machines Corporation | Providing targeted, evidence-based recommendations to improve content by combining static analysis and usage analysis |
US11456885B1 (en) | 2015-12-17 | 2022-09-27 | EMC IP Holding Company LLC | Data set valuation for service providers |
US10528522B1 (en) | 2016-03-17 | 2020-01-07 | EMC IP Holding Company LLC | Metadata-based data valuation |
US10838946B1 (en) | 2016-03-18 | 2020-11-17 | EMC IP Holding Company LLC | Data quality computation for use in data set valuation |
US10671483B1 (en) | 2016-04-22 | 2020-06-02 | EMC IP Holding Company LLC | Calculating data value via data protection analytics |
US10789224B1 (en) * | 2016-04-22 | 2020-09-29 | EMC IP Holding Company LLC | Data value structures |
US10838965B1 (en) | 2016-04-22 | 2020-11-17 | EMC IP Holding Company LLC | Data valuation at content ingest |
US10210551B1 (en) | 2016-08-15 | 2019-02-19 | EMC IP Holding Company LLC | Calculating data relevance for valuation |
CN106372133A (zh) * | 2016-08-19 | 2017-02-01 | 苏州七彩部落网络科技有限公司 | 一种基于大数据的用户行为分析处理方法及系统 |
US11093564B1 (en) | 2016-09-26 | 2021-08-17 | Splunk Inc. | Identifying configuration parameters for a query using a metadata catalog |
US11157498B1 (en) | 2016-09-26 | 2021-10-26 | Splunk Inc. | Query generation using a dataset association record of a metadata catalog |
CN110140118B (zh) * | 2016-11-09 | 2024-02-02 | 起元技术有限责任公司 | 用于确定数据元素之间的关系的系统和方法 |
US10719480B1 (en) | 2016-11-17 | 2020-07-21 | EMC IP Holding Company LLC | Embedded data valuation and metadata binding |
US10936599B2 (en) | 2017-09-29 | 2021-03-02 | Oracle International Corporation | Adaptive recommendations |
US11392578B1 (en) | 2018-04-30 | 2022-07-19 | Splunk Inc. | Automatically generating metadata for a metadata catalog based on detected changes to the metadata catalog |
US11573955B1 (en) | 2018-04-30 | 2023-02-07 | Splunk Inc. | Data-determinant query terms |
US11238049B1 (en) | 2018-04-30 | 2022-02-01 | Splunk Inc. | Revising catalog metadata based on parsing queries |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649181A (en) * | 1993-04-16 | 1997-07-15 | Sybase, Inc. | Method and apparatus for indexing database columns with bit vectors |
US5623652A (en) | 1994-07-25 | 1997-04-22 | Apple Computer, Inc. | Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network |
US5608904A (en) | 1995-02-13 | 1997-03-04 | Hewlett-Packard Company | Method and apparatus for processing and optimizing queries having joins between structured data and text data |
US5615264A (en) | 1995-06-08 | 1997-03-25 | Wave Systems Corp. | Encrypted data package record for use in remote transaction metered data system |
US5960194A (en) * | 1995-09-11 | 1999-09-28 | International Business Machines Corporation | Method for generating a multi-tiered index for partitioned data |
JP4150425B2 (ja) * | 1996-05-23 | 2008-09-17 | シティバンク,エヌ.エイ. | グローバル金融サービスの統合システム |
US5913214A (en) | 1996-05-30 | 1999-06-15 | Massachusetts Inst Technology | Data extraction from world wide web pages |
US6016348A (en) | 1996-11-27 | 2000-01-18 | Thomson Consumer Electronics, Inc. | Decoding system and data format for processing and storing encrypted broadcast, cable or satellite video data |
JP3836928B2 (ja) * | 1997-02-26 | 2006-10-25 | 株式会社日立製作所 | データベース処理方法 |
US7092914B1 (en) | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
JP3648051B2 (ja) * | 1998-02-02 | 2005-05-18 | 富士通株式会社 | 関連情報検索装置及びプログラム記録媒体 |
US6763496B1 (en) | 1999-03-31 | 2004-07-13 | Microsoft Corporation | Method for promoting contextual information to display pages containing hyperlinks |
JP2000293590A (ja) | 1999-04-12 | 2000-10-20 | Sony Corp | 情報処理装置および方法、並びに提供媒体 |
US6343287B1 (en) | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
US7472349B1 (en) | 1999-06-01 | 2008-12-30 | Oracle International Corporation | Dynamic services infrastructure for allowing programmatic access to internet and other resources |
US7007275B1 (en) | 1999-10-21 | 2006-02-28 | Unisys Corporation | Method and apparatus for automatic execution of concatenated methods across multiple heterogeneous data sources |
US7124101B1 (en) | 1999-11-22 | 2006-10-17 | Accenture Llp | Asset tracking in a network-based supply chain environment |
US7213005B2 (en) | 1999-12-09 | 2007-05-01 | International Business Machines Corporation | Digital content distribution using web broadcasting services |
US6618822B1 (en) | 2000-01-03 | 2003-09-09 | Oracle International Corporation | Method and mechanism for relational access of recovery logs in a database system |
WO2002001416A2 (en) | 2000-06-23 | 2002-01-03 | The Johns Hopkins University | Architecture for distributed database information access |
JP3567861B2 (ja) * | 2000-07-07 | 2004-09-22 | 日本電信電話株式会社 | 情報源所在推定方法及び装置及び情報源所在推定プログラムを格納した記憶媒体 |
JP2002149459A (ja) * | 2000-11-10 | 2002-05-24 | Mitsubishi Electric Corp | 冗長化データベース管理・検索システム |
JP4543563B2 (ja) | 2001-02-28 | 2010-09-15 | 株式会社日立製作所 | 統合データベースシステムにおける問合せ最適化方法 |
US20030009424A1 (en) | 2001-05-31 | 2003-01-09 | Contentguard Holdings, Inc. | Method for managing access and use of resources by verifying conditions and conditions for use therewith |
US7546602B2 (en) | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
US6928425B2 (en) | 2001-08-13 | 2005-08-09 | Xerox Corporation | System for propagating enrichment between documents |
US7133862B2 (en) | 2001-08-13 | 2006-11-07 | Xerox Corporation | System with user directed enrichment and import/export control |
WO2003058399A2 (en) | 2001-12-28 | 2003-07-17 | Sv Trycos, Llc | Method and system for adaptive software system interface and external database synchronization |
US20040139089A1 (en) | 2002-03-29 | 2004-07-15 | Wells Ronald B. | Method and system for managing information on a network |
US7233939B1 (en) * | 2002-04-30 | 2007-06-19 | Oracle International Corporation | Systems and methods of optimizing database queries for efficient delivery of query data subsets |
US6993534B2 (en) | 2002-05-08 | 2006-01-31 | International Business Machines Corporation | Data store for knowledge-based data mining system |
US7966311B2 (en) | 2002-06-17 | 2011-06-21 | Kenneth Haase | Systems and methods for processing queries |
US7493311B1 (en) * | 2002-08-01 | 2009-02-17 | Microsoft Corporation | Information server and pluggable data sources |
EP1403764A1 (en) | 2002-09-26 | 2004-03-31 | Sap Ag | Method and computer system for dynamic data type enrichment |
ZA200302281B (en) * | 2002-09-30 | 2003-09-29 | Microsoft Corp | Accessibility system events mechanism and method. |
US7849016B2 (en) | 2002-12-18 | 2010-12-07 | Vincent So | Internet-based data content rental system and method |
US7177874B2 (en) | 2003-01-16 | 2007-02-13 | Jardin Cary A | System and method for generating and processing results data in a distributed system |
US20040148278A1 (en) | 2003-01-22 | 2004-07-29 | Amir Milo | System and method for providing content warehouse |
US7146356B2 (en) | 2003-03-21 | 2006-12-05 | International Business Machines Corporation | Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine |
JP2004304304A (ja) | 2003-03-28 | 2004-10-28 | Fujitsu Ltd | 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム |
JP2004326250A (ja) | 2003-04-22 | 2004-11-18 | Nec Corp | 代金情報管理サーバ、代金情報管理方法、及び代金情報管理プログラム |
US20040215656A1 (en) | 2003-04-25 | 2004-10-28 | Marcus Dill | Automated data mining runs |
EP1482418A1 (en) | 2003-05-28 | 2004-12-01 | Sap Ag | A data processing method and system |
US7739223B2 (en) | 2003-08-29 | 2010-06-15 | Microsoft Corporation | Mapping architecture for arbitrary data models |
US7594109B2 (en) | 2003-12-23 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Digital content distribution system |
CN100418074C (zh) | 2004-03-05 | 2008-09-10 | 菲尼萨公司 | 光学收发机中的分级和字节可配置存储器 |
US8521687B2 (en) * | 2004-08-03 | 2013-08-27 | International Business Machines Corporation | Apparatus, system, and method for selecting optimal replica sources in a grid computing environment |
US7451357B2 (en) | 2004-11-18 | 2008-11-11 | International Business Machines Corporation | Apparatus and system for adjusting trace data granularity |
US7427349B2 (en) | 2004-12-16 | 2008-09-23 | Chevron U.S.A. Inc. | Fuels hydrocracking and distillate feed hydrofining in a single process |
US20130104251A1 (en) | 2005-02-01 | 2013-04-25 | Newsilike Media Group, Inc. | Security systems and methods for use with structured and unstructured data |
WO2006096939A1 (en) | 2005-03-18 | 2006-09-21 | Kwok Kay Wong | Remote access of heterogeneous data |
US20060271575A1 (en) | 2005-05-25 | 2006-11-30 | Harris Steven T | Clustered object state using field set operations |
WO2007014325A2 (en) | 2005-07-27 | 2007-02-01 | Doug Carson & Associates, Inc. | Verifying provenance data associated with digital content |
US20070056042A1 (en) | 2005-09-08 | 2007-03-08 | Bahman Qawami | Mobile memory system for secure storage and delivery of media content |
US7668821B1 (en) | 2005-11-17 | 2010-02-23 | Amazon Technologies, Inc. | Recommendations based on item tagging activities of users |
KR100656402B1 (ko) | 2005-11-26 | 2006-12-11 | 한국전자통신연구원 | 디지털 콘텐츠를 안전하게 배포하는 방법 및 그 장치 |
US7716240B2 (en) | 2005-12-29 | 2010-05-11 | Nextlabs, Inc. | Techniques and system to deploy policies intelligently |
US9277295B2 (en) | 2006-06-16 | 2016-03-01 | Cisco Technology, Inc. | Securing media content using interchangeable encryption key |
US20100138652A1 (en) | 2006-07-07 | 2010-06-03 | Rotem Sela | Content control method using certificate revocation lists |
US8005832B2 (en) | 2006-08-29 | 2011-08-23 | Switchbook, Inc. | Search document generation and use to provide recommendations |
US20080091613A1 (en) | 2006-09-28 | 2008-04-17 | Microsoft Corporation | Rights management in a cloud |
US8312036B2 (en) * | 2006-09-29 | 2012-11-13 | Apple Inc. | Recommended systems |
US20100293048A1 (en) | 2006-10-19 | 2010-11-18 | Taboola.Com Ltd. | Method and system for content composition |
US20080104542A1 (en) | 2006-10-27 | 2008-05-01 | Information Builders, Inc. | Apparatus and Method for Conducting Searches with a Search Engine for Unstructured Data to Retrieve Records Enriched with Structured Data and Generate Reports Based Thereon |
GB2446199A (en) | 2006-12-01 | 2008-08-06 | David Irvine | Secure, decentralised and anonymous peer-to-peer network |
US7571069B1 (en) | 2006-12-22 | 2009-08-04 | Hewlett-Packard Development Company, L.P. | Data assurance workflow derivation and execution |
US20080222132A1 (en) | 2007-03-07 | 2008-09-11 | Jiangyi Pan | Personalized shopping recommendation based on search units |
JP4539712B2 (ja) * | 2007-12-03 | 2010-09-08 | ソニー株式会社 | 情報処理端末、情報処理方法、およびプログラム |
US20080228716A1 (en) | 2007-03-13 | 2008-09-18 | Dettinger Richard D | System and method for accessing unstructured data using a structured database query environment |
US8219523B2 (en) | 2007-03-23 | 2012-07-10 | Sap Ag | Data quality enrichment integration and evaluation system |
US7970943B2 (en) | 2007-08-14 | 2011-06-28 | Oracle International Corporation | Providing interoperability in software identifier standards |
US8972518B2 (en) | 2007-09-20 | 2015-03-03 | Flash Networks Ltd. | Integrated data-model and flow based policy system |
US20110029520A1 (en) | 2007-12-18 | 2011-02-03 | Bae Systems Plc | Data curation |
US7984056B1 (en) * | 2007-12-28 | 2011-07-19 | Amazon Technologies, Inc. | System for facilitating discovery and management of feeds |
GB2456184A (en) | 2008-01-07 | 2009-07-08 | Cvon Innovations Ltd | System for selecting an information provider or service provider |
ITTO20080434A1 (it) | 2008-06-05 | 2009-12-06 | Accenture Global Services Gmbh | Sistema di raccolta e di analisi di dati relativi agli acquisti di consumatori e acquirenti |
JP2010020524A (ja) | 2008-07-10 | 2010-01-28 | Id Solution:Kk | Dna認証システム |
US7991650B2 (en) | 2008-08-12 | 2011-08-02 | Amazon Technologies, Inc. | System for obtaining recommendations from multiple recommenders |
NO330101B1 (no) | 2008-12-23 | 2011-02-21 | Microsoft Int Holdings B V | Fremgangsmåte for human-sentrisk informasjonsaksess og presentasjon |
US8495005B2 (en) * | 2009-01-14 | 2013-07-23 | International Business Machines Corporation | Methods for matching metadata from disparate data sources |
US8452794B2 (en) | 2009-02-11 | 2013-05-28 | Microsoft Corporation | Visual and textual query suggestion |
EP2230612A1 (fr) | 2009-03-19 | 2010-09-22 | France Telecom | Génération de recommandations pour un serveur de contenus |
US8103681B2 (en) | 2009-05-29 | 2012-01-24 | Clear Channel Management Services, Inc. | Associating works with unique identifiers |
US8122031B1 (en) * | 2009-06-11 | 2012-02-21 | Google Inc. | User label and user category based content classification |
WO2011004380A1 (en) | 2009-07-09 | 2011-01-13 | Xeround Systems Ltd. | Database system with query interception and redirection |
KR101672454B1 (ko) * | 2009-10-30 | 2016-11-04 | 삼성전자 주식회사 | 컨텐트 이용 이력에 기반한 네트워크 컨텐트 서비스 관리 방법 및 장치 |
US8812490B1 (en) * | 2009-10-30 | 2014-08-19 | Microstrategy Incorporated | Data source joins |
NO331571B1 (no) | 2009-10-30 | 2012-01-30 | Uni I Stavanger | System for a beskytte en kryptert informasjonsenhet |
US9208230B2 (en) * | 2010-10-29 | 2015-12-08 | Google Inc. | Enriching search results |
US9077462B2 (en) * | 2010-12-21 | 2015-07-07 | Cox Communications, Inc. | Systems and methods for measuring audience participation over a distribution network |
US9147195B2 (en) | 2011-06-14 | 2015-09-29 | Microsoft Technology Licensing, Llc | Data custodian and curation system |
US9122720B2 (en) | 2011-06-14 | 2015-09-01 | Microsoft Technology Licensing, Llc | Enriching database query responses using data from external data sources |
CN106134142A (zh) | 2013-02-08 | 2016-11-16 | 汤姆逊许可公司 | 对抗大数据的推断攻击的隐私 |
US10445062B2 (en) * | 2016-09-15 | 2019-10-15 | Oracle International Corporation | Techniques for dataset similarity discovery |
-
2011
- 2011-06-14 US US13/159,654 patent/US9244956B2/en active Active
-
2012
- 2012-06-05 KR KR1020197012452A patent/KR102035984B1/ko active IP Right Grant
- 2012-06-05 MX MX2013014800A patent/MX2013014800A/es active IP Right Grant
- 2012-06-05 EP EP12800161.7A patent/EP2721531A4/en not_active Ceased
- 2012-06-05 JP JP2014515868A patent/JP5986195B2/ja active Active
- 2012-06-05 KR KR1020137033103A patent/KR101976220B1/ko active IP Right Grant
- 2012-06-05 RU RU2013155626A patent/RU2611966C2/ru active
- 2012-06-05 CA CA2838502A patent/CA2838502A1/en not_active Abandoned
- 2012-06-05 WO PCT/US2012/040950 patent/WO2012173825A2/en active Application Filing
- 2012-06-05 CN CN201280029266.8A patent/CN103608809B/zh active Active
- 2012-06-05 AU AU2012271085A patent/AU2012271085B2/en active Active
- 2012-06-05 BR BR112013032101-6A patent/BR112013032101B1/pt active IP Right Grant
-
2016
- 2016-01-25 US US15/005,352 patent/US10540349B2/en active Active
-
2019
- 2019-10-11 US US16/599,989 patent/US11093490B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN103608809B (zh) | 2017-11-24 |
US9244956B2 (en) | 2016-01-26 |
US20200042517A1 (en) | 2020-02-06 |
AU2012271085B2 (en) | 2017-01-05 |
RU2611966C2 (ru) | 2017-03-01 |
US20160140170A1 (en) | 2016-05-19 |
US10540349B2 (en) | 2020-01-21 |
KR20190049924A (ko) | 2019-05-09 |
BR112013032101A2 (pt) | 2016-12-13 |
WO2012173825A2 (en) | 2012-12-20 |
JP2014523013A (ja) | 2014-09-08 |
KR20140041546A (ko) | 2014-04-04 |
EP2721531A4 (en) | 2014-11-26 |
EP2721531A2 (en) | 2014-04-23 |
CA2838502A1 (en) | 2012-12-20 |
KR101976220B1 (ko) | 2019-05-07 |
JP5986195B2 (ja) | 2016-09-06 |
CN103608809A (zh) | 2014-02-26 |
US11093490B2 (en) | 2021-08-17 |
RU2013155626A (ru) | 2015-06-20 |
WO2012173825A3 (en) | 2013-03-21 |
BR112013032101B1 (pt) | 2021-04-20 |
US20120323843A1 (en) | 2012-12-20 |
KR102035984B1 (ko) | 2019-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093490B2 (en) | Recommending data enrichments | |
AU2012271085A1 (en) | Recommending data enrichments | |
US10942926B2 (en) | Identification, and query, of semantically-related database tables | |
US11354332B2 (en) | Enabling data access by external cloud-based analytics system | |
US8156144B2 (en) | Metadata search interface | |
US10366081B2 (en) | Declarative partitioning for data collection queries | |
US10503743B2 (en) | Integrating search with application analysis | |
US9430528B2 (en) | Grid queries | |
EP1383055A2 (en) | Map and data location provider | |
CN112286964A (zh) | 一种sql语句优化方法、装置、设备及存储介质 | |
US11423098B2 (en) | Method and apparatus to generate a simplified query when searching for catalog items | |
CN110888839A (zh) | 数据存储及数据搜索方法和装置 | |
JP2009015511A (ja) | メタデータ管理装置、プログラムおよびメタデータ管理方法 | |
CN116257876A (zh) | 一种数据分级访问的处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GB | Transfer or rights |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC |
|
FG | Grant or registration |