IP Library Granted Patent US 8,412,734
Granted Patent B2
US 8,412,734 · App. 12/346,574 · Granted Apr 2, 2013

Unifying hetrogenous data

Inventors: Shrinivas Kulkarni (Bangalore, IN); Karin Murthy (San Jose, CA); Raha Debarshi (Madhyamgram, IN); Steffen Schaefer (Munich, DE)
Assignee: International Business Machines Corporation
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 8,412,734
App. No.
12/346,574
Granted
Apr 2, 2013
Kind
B2
Abstract

Techniques for unifying data are provided. The techniques include transforming a query into one or more sub-queries that can be answered by one or more types of data services, and wherein the query touches one or more joins across data residing in one or more enterprise systems, querying one or more target data services for each of the one or more sub-queries, aggregating one or more sets of results based on the one or more target data services, and unifying the one or more sets of aggregated results.

Claims (59)

1. A method for unifying data, the method comprising:

transforming a query into one or more sub-queries that can be answered by one or more types of data services, wherein the query correlates distributed data related to the query;

discovering one or more data service end points dynamically based on the one or more sub-queries wherein a location and type of at least one of the one or more data service end points is not initially known, and wherein the one or more data service end points corresponds with the one or more types of data services, wherein the one or more types of data services is located on one or more enterprise systems, the enterprise systems coupled over a network and distributed over one or more geographic boundaries and one or more organizational boundaries wherein the one or more sub-queries are mapped to the one or more data service endpoints discovered;

querying one or more data service endpoints discovered for each of the one or more sub-queries;

aggregating one or more sets of results based on the querying of the one or more data service endpoints, wherein only a subset of data available at the one or more data service endpoints is dynamically fetched from the data service endpoint that will be required to answer the query, the subset of data corresponding with the one or more sets or results; and

unifying the one or more sets of aggregated results.

2. The method of claim 1 , wherein each of one or more types of data service has a unique query interface.

3. The method of claim 1 , wherein transforming a query into one or more sub-queries that can be answered by one or more types of data services comprises:

segmenting the query across the one or more types of data services into one or more sub-queries;

identifying the one or more sub-queries that can be successfully queried against the type of data service; and

translating each of the one or more sub-queries into a query format of the data service endpoint.

4. The method of claim 1 , wherein discovering one or more data service end points dynamically based on each of the one or more sub-queries comprises:

extracting one or more search keys, wherein the search key forms part of the query;

transmitting the one or more search keys to a first discovery service; and

generating a list of one or more data service endpoints from the one or more search keys from the first discovery service, wherein each data service in the list of one or more data service endpoints configured to answer the one or more sub-queries.

5. The method of claim 4 , further comprising passing one or more security credentials in at least one of the data service and the query.

6. The method of claim 1 , wherein unifying the one or more sets of aggregated results comprises:

defining one or more views of remote data, wherein a view of remote data is defined for each of one or more types of entities and for each of one or more types of data services;

mapping the one or more sets of aggregated results to the one or more views of remote data to populate the one or more views of remote data; and

combining the one or more views of remote data.

7. The method of claim 6 , wherein the one or more view is a relational view.

8. The method of claim 1 , further comprising repeating the steps of determining one or more data service end points dynamically and querying the one or more data service endpoints for each of the one or more sub-queries to obtain one or more additional sets of aggregated results.

9. The method of claim 1 wherein the one or more data services correspond with trade data selected from the group consisting of: product code event data, transactional data, and master data.

10. A computer program product comprising a non-transitory computer readable medium having computer readable program code for unifying data, said computer program product including:

computer readable program code for transforming a query into one or more sub-queries that can be answered by one or more types of data services, wherein the query correlates distributed data related to the query;

computer readable program code for discovering one or more data service end points dynamically based on the one or more sub-queries wherein a location and type of at least one of the one or more data service end points is not initially known and wherein the one or more data service end points corresponds with the one or more types of data services, wherein the one or more types of data services is located on one or more enterprise systems, the enterprise systems coupled over a network and distributed over one or more geographic boundaries and one or more organizational boundaries wherein the one or more sub-queries are mapped to the one or more data service endpoints discovered;

computer readable program code for querying one or more data service endpoints discovered for each of the one or more sub-queries;

computer readable program code for aggregating one or more sets of results based on the querying of the one or more data service endpoints, wherein only a subset of data available at the one or more data service endpoints is dynamically fetched from the data service endpoint that will be eventually required to answer the query, the subset of data corresponding with the one or more sets or results; and

computer readable program code for unifying the one or more sets of aggregated results.

11. The computer program product of claim 10 , wherein the computer readable program code for transforming a query into one or more sub-queries that can be answered by one or more types of data services:

computer readable code for segmenting the query across the one or more types of data services into one or more sub-queries;

computer readable code for identifying the one or more sub-queries can be successfully queried against the type of data service; and

computer readable code for translating each of the one or more sub-queries into a query format of a data service endpoint.

12. The computer program product of claim 10 , wherein the computer readable code for discovering one or more data service end points is dynamically based on each of the one or more sub-queries is further configured to perform extracting one or more search keys, wherein the search key forms part of the query:

transmitting the one or more search keys to a first discovery service; and

generating a list of one or more data service endpoints from the one or more search keys from the first discovery service, wherein each data service endpoint in the list of one or more data service configured to answer the one or more sub-queries.

13. The computer program product of claim 10 , wherein the computer readable code for unifying the one or more sets of aggregated results comprises:

computer readable program code for defining one or more views of remote data wherein a view of remote data is defined for each of one or more types of entities and for each of one or more types of data services;

computer readable program code for mapping the one or more sets of aggregated results to the one or more views of remote data to populate the one or more views of remote data; and

computer readable program code for performing the query by executing a joins over the one or more views of remote data.

14. The computer program product of claim 10 , wherein the view is a relational view.

15. A system for unifying data, comprising:

a memory; and

at least one processor coupled to said memory and operative to:

transform a query into one or more sub-queries that can be answered by one or more types of data services, and wherein the query correlates distributed data that is related to the query;

dynamically discover one or more data service end points based on each of the one or more sub-queries wherein a location and type of at least one of the one or more data service end points is not initially known, and wherein the one or more data service end points corresponds with the one or more types of data services, wherein the one or more types of data services is located on one or more enterprise systems, the enterprise systems coupled over a network and distributed over one or more geographic boundaries and one or more organizational boundaries wherein the one or more sub-queries are mapped to the one or more data service endpoints discovered;

query one or more data service endpoints discovered for each of the one or more sub-queries;

aggregate one or more sets of results based on the querying of the one or more data service endpoints wherein only a subset of data available at the one or more data service endpoints is dynamically fetched from the data service endpoint that will be required to answer the query, the subset of data corresponding with the one or more sets or results; and

unify the one or more sets of aggregated results.

16. The system of claim 15 , wherein in transforming a query into one or more sub-queries that can be answered by one or more types of data services, the at least one processor coupled to said memory is further operative to:

segment the query across the one or more types of data services into one or more sub queries;

identify which of the one or more sub-queries can be successfully queried against which type of data service; and

translate each of the one or more sub-queries into a query format of the data service endpoint.

17. The system of claim 15 , wherein in querying one or more target data services for each of the one or more sub-queries, the at least one processor coupled to said memory is further operative to use a framework component to query each of the one or more data service end points, where the framework component traverses through a list of one or more servers, queries each server with the same query and aggregates the query results from the one or more servers.

18. The system of claim 15 , wherein in unifying the one or more sets of aggregated results, the at least one processor coupled to said memory is further operative to:

define the one or more views of remote data, wherein a view of remote data is defined for each of one or more types of entities and for each of one or more types of data services;

map the one or more sets of aggregated results to the one or more relational views of remote data to populate the one or more views of remote data; and

perform the query by executing a joins over the one or more views of remote data.

19. The system of claim 18 , wherein the view is a relational view.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE FIRST INVENTOR'S FIRST NAME PREVIOUSLY RECORDED ON REEL 022129 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF PATENT APPLICATION DOCUMENT INITIALLY RECORDED. Recorded Feb 18, 2009
From: KULKARNI, SHRINIVAS; MURTHY, KARIN; RAHA, DEBARSHI; SCHAEFER, STEFFEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022276/0622 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2009
From: KULKARNI, SHRNIVAS; MURTHY, KARIN; RAHA, DEBARSHI; SCHAEFER, STEFFEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022129/0386 →
Continuity (1)
Related Publication 20100169351A1 · Jul 1, 2010