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
Application number
MX2013014800A
Other languages
English (en)
Inventor
Anthony Nino Bice
Hariharan Sivaramakrishnan
David Michael Robinson
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2013014800A publication Critical patent/MX2013014800A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering 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)

REIVINDICACIONES
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.
MX2013014800A 2011-06-14 2012-06-05 Recomendacion de enriquecimientos de datos. MX2013014800A (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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