IP Library › Granted Patent US 9,336,253
Granted Patent B2
US 9,336,253 · App. 14/507,805 · Granted May 10, 2016

Semantic discovery and mapping between data sources

Inventors: Alexander Gorelik (Palo Alto, CA); Lingling Yan (Morgan Hill, CA)
Assignee: International Business Machines Corporation
G06F17/30315G06F17/30G06F17/30292G06F17/30324G06F17/30466G06F17/30542Y10S707/99942Y10S707/99943Y10S707/99944Y10S707/99945
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,336,253
App. No.
14/507,805
Filed
Oct 6, 2014
Granted
May 10, 2016
Kind
B2
Examiner
WOO, ISAAC M
Art Unit
2155
USPC
707/791
Abstract

An apparatus and method are described for the discovery of semantics, relationships and mappings between data in different software applications, databases, files, reports, messages, or systems. In one aspect, semantics and relationships and mappings are identified between a first and a second data source. A binding condition is discovered between portions of data in the first and the second data source. The binding condition is used to discover correlations between portions of data in the first and the second data source. The binding condition and the correlations are used to discover a transformation function between portions of data in the first and the second data source.

Claims (44)

1. A method for determining a functional correlation between columns of a first data source and a second data source, the method comprising:

combining the first data source and the second data source into a combined data source based on a binding condition;

identifying a correlation count for columns of the first data source and the second data source in the combined data source;

comparing the correlation count to a threshold value; and

determining the functional correlation between columns of the first data source and the second data source, when the correlation count is more than the threshold value.

2. The method of claim 1 , wherein the binding condition comprises an expression on attributes of data objects in the first and second data sources that identifies which instances of the data objects in the first data source map to instances of the data objects in the second data source.

3. The method of claim 1 , wherein the combining the first and second data source based on a binding condition comprises an outer join between the first and the second data sources.

4. The method of claim 1 , wherein the correlation count identifies different data objects in the first and second data sources that correspond to each other in the first and second data sources.

5. The method of claim 1 , wherein the functional correlation is defined by a stateless transformation function that transforms data objects in the first data source to different data objects in the second data source.

6. The method of claim 1 , further comprising:

determining correlation counts for all binding conditions;

determining whether a highest correlation count of the binding conditions is greater than the threshold value; and

indicating that there is no binding between the first and second data sources in response to determining that the highest correlation count is less than the threshold value.

7. The method of claim 6 , wherein the binding condition having the highest correlation count is selected as a primary binding condition to use to determine the functional correlation in response determining that the highest correlation count is greater than the threshold value.

8. A system in communication with a first data source and a second data source, comprising:

a processor; and

a computer storage device having program instructions executed by the processor to determine a functional correlation between columns of the first data source and the second data source by perform operations comprising:

combining the first data source and the second data source into a combined data source based on a binding condition;

identifying a correlation count for columns of the first data source and the second data source in the combined data source;

comparing the correlation count to a threshold value; and

determining the functional correlation between columns of the first data source and the second data source, when the correlation count is more than the threshold value.

9. The system of claim 8 , wherein the binding condition comprises an expression on attributes of data objects in the first and second data sources that identifies which instances of the data objects in the first data source map to instances of the data objects in the second data source.

10. The system of claim 8 , wherein the combining the first and second data source based on a binding condition comprises an outer join between the first and the second data sources.

11. The system of claim 8 , wherein the correlation count identifies different data objects in the first and second data sources that correspond to each other in the first and second data sources.

12. The system of claim 8 , wherein the functional correlation is defined by a stateless transformation function that transforms data objects in the first data source to different data objects in the second data source.

13. The system of claim 8 , wherein the operations further comprise:

determining correlation counts for all binding conditions;

determining whether a highest correlation count of the binding conditions is greater than the threshold value; and

indicating that there is no binding between the first and second data sources in response to determining that the highest correlation count is less than the threshold value.

14. The system of claim 13 , wherein the binding condition having the highest correlation count is selected as a primary binding condition to use to determine the functional correlation in response determining that the highest correlation count is greater than the threshold value.

15. A computer readable storage device comprising executable program instructions executed by a processor to determine a functional correlation between columns of a first data source and a second data source by performing operations, the operations comprising:

combining the first data source and the second data source into a combined data source based on a binding condition;

identifying a correlation count for columns of the first data source and the second data source in the combined data source;

comparing the correlation count to a threshold value; and

determining the functional correlation between columns of the first data source and the second data source, when the correlation count is more than the threshold value.

16. The computer readable storage device of claim 15 , wherein the binding condition comprises an expression on attributes of data objects in the first and second data sources that identifies which instances of the data objects in the first data source map to instances of the data objects in the second data source.

17. The computer readable storage device of claim 15 , wherein the combining the first and second data sources based on a binding condition comprises an outer join between the first and the second data sources.

18. The computer readable storage device of claim 15 , wherein the correlation count identifies different data objects in the first and second data sources that correspond to each other in the first and second data sources.

19. The computer readable storage device of claim 15 , wherein the functional correlation is defined by a stateless transformation function that transforms data objects in the first data source to different data objects in the second data source.

20. The computer readable storage device of claim 15 , wherein the operations further comprise:

determining correlation counts for all binding conditions;

determining whether a highest correlation count of the binding conditions is greater than the threshold value; and

indicating that there is no binding between the first and second data sources in response to determining that the highest correlation count is less than the threshold value.

21. The computer readable storage device of claim 20 , wherein the binding condition having the highest correlation count is selected as a primary binding condition to use to determine the functional correlation in response determining that the highest correlation count is greater than the threshold value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WORKDAY, INC.
Reel/Frame 046311/0942 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2014
From: GORELIK, ALEXANDER; YAN, LINGLING
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033929/0869 →
Continuity (6)
Division 13891130 · May 9, 2013
Division 13267292 · Oct 6, 2011
Division 12283477 · Sep 12, 2008
Continuation 10983205 · Sep 9, 2004
Provisional Application 60502043 · Sep 10, 2003
Related Publication 20150074117A1 · Mar 12, 2015