Recommending data enrichments

US9244956B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9244956-B2
Application numberUS-201113159654-A
CountryUS
Kind codeB2
Filing dateJun 14, 2011
Priority dateJun 14, 2011
Publication dateJan 26, 2016
Grant dateJan 26, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present invention extends to methods, systems, and computer program products for recommending data sources. A request to provide recommendations of data enrichments for a database is received at a recommendation engine. The recommendation engine may perform static and dynamic analysis of data associated with the database and may further refine recommendations based on policies. The recommendation engine may then provide the recommendations, if any, of data enrichments to allow a software developer, for example, to indicate whether the data enrichments are to be used.

First claim

Opening claim text (preview).

What is claimed is: 1. At a computer system, the computer system including a processor, a method for recommending data enrichments for a database, the method comprising the processor: receiving a request to provide data enrichment recommendations for the database; analyzing metadata for the database, the metadata defining the structure of the database; recommending a first data enrichment for the database based on the analysis of the metadata, the first data enrichment to supplement the database; suggesting a second data enrichment for the database based on a similarity between the first data enrichment and the second data enrichment, the second data enrichment to supplement the database; and identifying a data source capable of providing the second data enrichment by: comparing a characteristic of a first query and a second query that obtain enrichment data for the second data enrichment from two different enriching data sources; selecting an appropriate query based on the comparison of the characteristic of the first query and the second query; and determining an identifier for the enriching data source associated with the appropriate query. 2. The method of claim 1 , further comprising identifying a data source capable of providing the first data enrichment by: finding an identifier within the metadata; and mapping the identifier to the data source using a data structure that associates the identifier with the first data enrichment. 3. The method of claim 2 , wherein finding an identifier within the metadata comprises finding a column name within the metadata and wherein mapping the identifier to the first enriching data source comprises using a table that associates identifiers with data enrichments. 4. The method of claim 2 , wherein finding an identifier within the metadata comprises finding a table name within the metadata and wherein mapping the identifier to the first enriching data source comprises using a table that associates identifiers with data enrichments. 5. The method of claim 2 , wherein finding an identifier within the metadata comprises finding a stored procedure name within the metadata and wherein mapping the identifier to the first enriching data source comprises using a table that associates identifiers with data enrichments. 6. The method of claim 2 , wherein finding an identifier within the metadata comprises finding a data type of a column of the database and wherein mapping the identifier to the first enriching data source comprises searching a table that associates data types with data enrichments. 7. The method of claim 1 , wherein recommending the first data enrichment comprises sending a name of the first data enrichment as well as an input data type for the first data enrichment and an output data type for the first data enrichment, the name, the input data type, and the output data type for use in developing software to reference data enrichments through the database. 8. The method of claim 1 , wherein selecting an appropriate query based on the comparison comprises selecting the fastest query depending on which of the first query and the second query have the smallest latency. 9. The method of claim 1 , further comprising displaying an indication of the first data enrichment at a graphical interface. 10. The method of claim 1 , wherein comparing a characteristic of a first query and a second query that obtain enrichment data for the second data enrichment from two different enriching data sources comprises comparing query times of the first query and the second query; and wherein selecting an appropriate query based on the comparison of the characteristic of the first query and the second query comprises selecting the fastest query of the first query and the second query based on comparison of the query times. 11. The method of claim 10 , wherein selecting the fastest query of the first query and the second query based on comparison of the query times comprises selecting the fastest query of the first query and the second query depending on which of the first query and the second query have the smallest latency in obtaining enrichment data for the second data enrichment. 12. A system, the system comprising: a processor; system memory; a database storing data and metadata regarding the data, the metadata defining the structure of the database; one or more computer storage devices having stored thereon computer-executable instructions representing a recommendation engine, the recommendation engine configured to: receive a request to provide data enrichment recommendations for the database; analyze the metadata; recommend a first data enrichment for the database based on the analysis of the metadata, the first data enrichment to supplement the database; suggest a second data enrichment for the database based on a similarity between the first data enrichment and the second data enrichment to supplement the database; and identify a data source capable of providing the second data enrichment by: selecting a fastest query from a first query and a second query that obtain enrichment data for the second data enrichment from different data sources based on query times of the first query and the second query; and determining an identifier for the data source associated with the fastest query. 13. The system of claim 12 , wherein the DBMS, the database, and the recommendation engine are hosted on one or more servers located remotely from the software component, and wherein the software component is used by a software developer to augment the database. 14. The system of claim 12 , wherein the DBMS, the database, the recommendation engine, and the software component are hosted on a computer, and wherein the software component is an application. 15. The system of claim 12 , wherein the recommendation engine being configured to recommend the first data enrichment comprises the recommendation engine being configured to: find an identifier within the metadata; and map the identifier to the first data enrichment using a data structure that associates the identifier with the first data enrichment. 16. The system of claim 12 , wherein the recommendation engine being configured to select a fastest query from a first query and a second query comprises the recommendation engine being configured to select the fastest query depending on which of the first query and the second query have the smallest latency. 17. A computer storage medium having computer-executable instructions, which when executed perform actions, comprising: receiving a request to provide data enrichment recommendations for the database; analyzing metadata for the database, the metadata defining the structure of the database; recommending a first data enrichment for the database based on the analysis of the metadata, the first data enrichment to supplement the database; suggesting a second data enrichment for the database based on a similarity between the first data enrichment and the second data enrichment to supplement the database; and identifying a data source capable of providing the second data enrichment by: selecting a query with the fastest query time from among a first query and a second query that access the second enrichment data from different data sources; and determining an identifier for data source associated with the query. 18. The computer storage medium of claim 17 , further comprising receiving a data structure that associates recommendations with enriching data sources and displaying at least a portion of the reco

Assignees

Inventors

Classifications

  • Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors · CPC title

  • Updating · CPC title

  • Search customisation based on user profiles and personalisation · CPC title

  • G06F16/335Primary

    Filtering based on additional data, e.g. user or group profiles (filtering in web context G06F16/9535, G06F16/9536) · CPC title

  • G06F16/245Primary

    Query processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9244956B2 cover?
The present invention extends to methods, systems, and computer program products for recommending data sources. A request to provide recommendations of data enrichments for a database is received at a recommendation engine. The recommendation engine may perform static and dynamic analysis of data associated with the database and may further refine recommendations based on policies. The recommen…
Who is the assignee on this patent?
Bice Anthony Nino, Robinson David Michael, Sivaramakrishnan Hariharan, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F16/335. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).