IP Library Granted Patent US 8,862,614
Granted Patent B2
US 8,862,614 · App. 13/808,691 · Granted Oct 14, 2014

Planning-based automated fusing of data from multiple heterogeneous sources

Inventors: Anu Raj Pradhan (Pittsburgh, PA); Burcu Akinci (Pittsburgh, PA)
Assignee: Carnegie Mellon University
G06F17/30424G06F17/30557
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,862,614
App. No.
13/808,691
Granted
Oct 14, 2014
Kind
B2
Abstract

Methods and software for automatedly answering dynamic queries requiring fusing of data from various ones of multiple available heterogeneous data sources. The data sources are characterized and interrelated using a suitable ontology. In one implementation, each dynamic query is analyzed to determine the data items required to answer that query, along with their levels of detail. The data items and levels of detail are used to determine which ones of the multiple data sources are needed to answer the query. The data items, levels of detail, and the ontology of the data sources are then used to automatedly develop a data-fusing plan for fusing data from the needed data sources in a manner that answers the query. The data-fusing plan is executed, and the query is answered.

Claims (100)

1. A machine-readable storage medium containing machine-executable instructions for performing a method of answering a dynamic query having an answer that requires the fusing of data from among multiple heterogeneous data sources, said machine-executable instructions comprising:

a first set of machine-executable instructions for receiving the dynamic query;

a second set of machine-executable instructions for automatedly evaluating the dynamic query to determine data items and levels of detail needed to provide the answer;

a third set of machine-executable instructions for automatedly developing a data-fusing plan based on an ontology of the multiple heterogeneous data sources as a function of the data items and levels of detail, wherein the data-fusion plan includes one or more steps for creating fused data;

a fourth set of machine-executable instructions for automatedly executing the one or more steps to create the fused data based on the data items; and

a fifth set of machine-executable instructions for automatedly generating the answer based on the fused data;

wherein:

said third set of machine-executable instructions includes machine-executable instructions for implementing a graph theoretic approach to determine which ones of the multiple heterogeneous data sources are needed to generate the answer;

said machine-executable instructions for implementing the graph theoretic approach includes machine-executable instructions for constructing a graph of the multiple heterogeneous data sources;

said machine-executable instructions for implementing the graph theoretic further includes machine-executable instructions for traversing the graph so as to determine a set needed data sources needed data to create the fused data; and

said machine-executable instructions for traversing the graph includes machine-executable instructions for:

starting with a needed data source:

next selecting an adjacent connected needed data source, if available; and

if none of the adjacent data sources is a needed data source, next selecting a more highly connected adjacent data source over a less highly connected adjacent data source.

2. A machine-readable storage medium according to claim 1 , wherein said third set of machine-executable instructions includes machine-executable instructions for developing from the multiple heterogeneous data sources a set of needed data sources needed to generate the answer.

3. A machine-readable storage medium according to claim 2 , wherein said third set of machine-executable instructions further includes machine-executable instructions for implementing an automated planning method to generate the data-fusing plan using the set of needed data sources.

4. A machine-readable storage medium according to claim 1 , wherein said machine-executable instructions for constructing a graph includes machine-executable instructions for identifying the multiple heterogeneous data sources as vertices and connecting ones of the vertices with edges as a function of common data items within ones of the multiple heterogeneous data sources.

5. A machine-readable storage medium according to claim 1 , wherein said machine-executable instructions for traversing the graph includes machine-executable instructions for identifying at least one auxiliary data source that links at least two of the needed data sources that do not share a common data element.

6. A machine-readable storage medium according to claim 1 , wherein said machine-executable instructions for traversing the graph includes machine-executable instructions for traversing the graph as a function of the data items determined from said automated evaluating.

7. A machine-readable storage medium according to claim 1 , wherein said third set of machine-executable instructions includes machine-executable instructions for determining a set of needed data sources needed for the fused data from among the multiple heterogeneous data sources as a function of the data items determined from said automatedly evaluating the dynamic query.

8. A machine-readable storage medium according to claim 1 , wherein said machine-executable instructions for developing the data-fusing plan includes machine-executable instructions for implementing a planner to develop the data-fusing plan.

9. A machine-readable storage medium according to claim 8 , wherein said machine-executable instructions for implementing the planner includes machine-executable instructions for creating a plan graph containing proposition levels and action levels between adjacent proposition levels.

10. A machine-readable storage medium according to claim 9 , wherein said machine-executable instructions for implementing the planner includes machine-executable instructions for performing a backward search within the plan graph to generate the data-fusing plan.

11. A machine-readable storage medium according to claim 8 , wherein said machine-executable instructions for implementing the planner includes machine-executable instructions for generating an abstract plan comprising a set of compound tasks.

12. A machine-readable storage medium according to claim 11 , wherein said machine-executable instructions for implementing the planner further includes machine-executable instructions for decomposing ones of the set of compound tasks into primitive tasks.

13. A machine-readable storage medium according to claim 11 , wherein said machine-executable instructions for generating an abstract plan includes machine-executable instructions for:

creating a graph structure having vertices representing a set of the multiple heterogeneous data sources;

creating edges between ones of the set of the multiple heterogeneous data sources having a common fusion type; and

finding an acyclic path connecting ones of the set of the multiple heterogeneous data sources.

14. A machine-readable storage medium according to claim 11 , wherein said machine-executable instructions for executing the planner further comprise machine-executable instructions for decomposing ones of the set of compound tasks into primitive tasks.

15. A machine-readable storage medium containing machine-executable instructions for performing a method of answering a dynamic query having an answer that requires the fusing of data from among multiple heterogeneous data sources, said machine-executable instructions comprising:

a first set of machine-executable instructions for receiving the dynamic query;

a second set of machine-executable instructions for automatedly evaluating the dynamic query to determine data items and levels of detail needed to provide the answer;

a third set of machine-executable instructions for automatedly developing a data-fusing plan based on an ontology of the multiple heterogeneous data sources as a function of the data items and levels of detail, wherein the data-fusion plan includes one or more steps for creating fused data;

a fourth set of machine-executable instructions for automatedly executing the one or more steps to create the fused data based on the data items; and

a fifth set of machine-executable instructions for automatedly generating the answer based on the fused data;

wherein:

said third set of machine-executable instructions includes machine-executable instructions for implementing a graph theoretic approach to determine which ones of the multiple heterogeneous data sources are needed to generate the answer;

said machine-executable instructions for implementing the graph theoretic approach includes machine-executable instructions for constructing a graph of the multiple heterogeneous data sources;

said machine-executable instructions for implementing the graph theoretic further includes machine-executable instructions for traversing the graph so as to determine a set of needed data sources needed to create the fused data; and

said machine-executable instructions for traversing the graph includes machine-executable instructions for identifying at least one auxiliary data source that links at least two of the needed data sources that do not share a common data element.

16. A machine-readable storage medium according to claim 15 , wherein said third set of machine-executable instructions includes machine-executable instructions for developing from the multiple heterogeneous data sources a set of needed data sources needed to generate the answer.

17. A machine-readable storage medium according to claim 16 , wherein said third set of machine-executable instructions further includes machine-executable instructions for implementing an automated planning method to generate the data-fusing plan using the set of needed data sources.

18. A machine-readable storage medium according to claim 15 , wherein said machine-executable instructions for constructing a graph includes machine-executable instructions for identifying the multiple heterogeneous data sources as vertices and connecting ones of the vertices with edges as a function of common data items within ones of the multiple heterogeneous data sources.

19. A machine-readable storage medium according to claim 15 , wherein said machine-executable instructions for traversing the graph includes machine-executable instructions for traversing the graph as a function of the data items determined from said automated evaluating.

20. A machine-readable storage medium according to claim 15 , wherein said third set of machine-executable instructions includes machine-executable instructions for determining a set of needed data sources needed for the fused data from among the multiple heterogeneous data sources as a function of the data items determined from said automatedly evaluating the dynamic query.

21. A machine-readable storage medium according to claim 15 , wherein said machine-executable instructions for developing the data-fusing plan includes machine-executable instructions for implementing a planner to develop the data-fusing plan.

22. A machine-readable storage medium according to claim 21 , wherein said machine-executable instructions for implementing the planner includes machine-executable instructions for creating a plan graph containing proposition levels and action levels between adjacent proposition levels.

23. A machine-readable storage medium according to claim 22 , wherein said machine-executable instructions for implementing the planner includes machine-executable instructions for performing a backward search within the plan graph to generate the data-fusing plan.

24. A machine-readable storage medium according to claim 21 , wherein said machine-executable instructions for implementing the planner includes machine-executable instructions for generating an abstract plan comprising a set of compound tasks.

25. A machine-readable storage medium according to claim 24 , wherein said machine-executable instructions for implementing the planner further includes machine-executable instructions for decomposing ones of the set of compound tasks into primitive tasks.

26. A machine-readable storage medium according to claim 24 , wherein said machine-executable instructions for generating an abstract plan includes machine-executable instructions for:

creating a graph structure having vertices representing a set of the multiple heterogeneous data sources;

creating edges between ones of the set of the multiple heterogeneous data sources having a common fusion type; and

finding an acyclic path connecting ones of the set of the multiple heterogeneous data sources.

27. A machine-readable storage medium according to claim 24 , wherein said machine-executable instructions for executing the planner further comprise machine-executable instructions for decomposing ones of the set of compound tasks into primitive tasks.

28. A machine-readable storage medium containing machine-executable instructions for performing a method of answering a dynamic query having an answer that requires the fusing of data from among multiple heterogeneous data sources, said machine-executable instructions comprising:

a first set of machine-executable instructions for receiving the dynamic query;

a second set of machine-executable instructions for automatedly evaluating the dynamic query to determine data items and levels of detail needed to provide the answer;

a third set of machine-executable instructions for automatedly developing a data-fusing plan based on an ontology of the multiple heterogeneous data sources as a function of the data items and levels of detail, wherein the data-fusion plan includes one or more steps for creating fused data;

a fourth set of machine-executable instructions for automatedly executing the one or more steps to create the fused data based on the data items; and

a fifth set of machine-executable instructions for automatedly generating the answer based on the fused data;

wherein:

said machine-executable instructions for developing the data-fusing plan includes machine-executable instructions for implementing a planner to develop the data-fusing plan; and

said machine-executable instructions for implementing the planner includes:

machine-executable instructions for creating a plan graph containing proposition levels and action levels between adjacent proposition levels; and

machine-executable instructions for generating an abstract plan comprising a set of compound tasks.

29. A machine-readable storage medium according to claim 28 , wherein said third set of machine-executable instructions includes machine-executable instructions for developing from the multiple heterogeneous data sources a set of needed data sources needed to generate the answer.

30. A machine-readable storage medium according to claim 29 , wherein said third set of machine-executable instructions further includes machine-executable instructions for implementing an automated planning method to generate the data-fusing plan using the set of needed data sources.

31. A machine-readable storage medium according to claim 28 , wherein said third set of machine-executable instructions includes machine-executable instructions for implementing a graph theoretic approach to determine which ones of the multiple heterogeneous data sources are needed to generate the answer.

32. A machine-readable storage medium according to claim 31 , wherein said machine-executable instructions for implementing the graph theoretic approach includes machine-executable instructions for constructing a graph of the multiple heterogeneous data sources.

33. A machine-readable storage medium according to claim 32 , wherein said machine-executable instructions for constructing a graph includes machine-executable instructions for identifying the multiple heterogeneous data sources as vertices and connecting ones of the vertices with edges as a function of common data items within ones of the multiple heterogeneous data sources.

34. A machine-readable storage medium according to claim 32 , wherein said machine-executable instructions for implementing the graph theoretic further includes machine-executable instructions for traversing the graph so as to determine a set of needed data sources needed to create the fused data.

35. A machine-readable storage medium according to claim 34 , wherein said machine-executable instructions for traversing the graph includes machine-executable instructions for traversing the graph as a function of the data items determined from said automated evaluating.

36. A machine-readable storage medium according to claim 28 , wherein said third set of machine-executable instructions includes machine-executable instructions for determining a set of needed data sources needed for the fused data from among the multiple heterogeneous data sources as a function of the data items determined from said automatedly evaluating the dynamic query.

37. A machine-readable storage medium according to claim 28 , wherein said machine-executable instructions for implementing the planner further includes machine-executable instructions for decomposing ones of the set of compound tasks into primitive tasks.

38. A machine-readable storage medium according to claim 28 , wherein said machine-executable instructions for generating an abstract plan includes machine-executable instructions for:

creating a graph structure having vertices representing a set of the multiple heterogeneous data sources;

creating edges between ones of the set of the multiple heterogeneous data sources having a common fusion type; and

finding an acyclic path connecting ones of the set of the multiple heterogeneous data sources.

39. A machine-readable storage medium according to claim 28 , wherein said machine-executable instructions for executing the planner further comprise machine-executable instructions for decomposing ones of the set of compound tasks into primitive tasks.

40. A machine-readable storage medium containing machine-executable instructions for performing a method of answering a dynamic query having an answer that requires the fusing of data from among multiple heterogeneous data sources, said machine-executable instructions comprising:

a first set of machine-executable instructions for receiving the dynamic query;

a second set of machine-executable instructions for automatedly evaluating the dynamic query to determine data items and levels of detail needed to provide the answer;

a third set of machine-executable instructions for automatedly developing a data-fusing plan based on an ontology of the multiple heterogeneous data sources as a function of the data items and levels of detail, wherein the data-fusion plan includes one or more steps for creating fused data;

a fourth set of machine-executable instructions for automatedly executing the one or more steps to create the fused data based on the data items; and

a fifth set of machine-executable instructions for automatedly generating the answer based on the fused data;

wherein:

said machine-executable instructions for developing the data-fusing plan includes machine-executable instructions for implementing a planner to develop the data-fusing plan; and

said machine-executable instructions for implementing the planner includes:

machine-executable instructions for generating an abstract plan comprising a set of compound tasks; and

machine-executable instructions for decomposing ones of the set of compound tasks into primitive tasks.

41. A machine-readable storage medium according to claim 40 , wherein said third set of machine-executable instructions includes machine-executable instructions for developing from the multiple heterogeneous data sources a set of needed data sources needed to generate the answer.

42. A machine-readable storage medium according to claim 41 , wherein said third set of machine-executable instructions further includes machine-executable instructions for implementing an automated planning method to generate the data-fusing plan using the set of needed data sources.

43. A machine-readable storage medium according to claim 40 , wherein said third set of machine-executable instructions includes machine-executable instructions for implementing a graph theoretic approach to determine which ones of the multiple heterogeneous data sources are needed to generate the answer.

44. A machine-readable storage medium according to claim 43 , wherein said machine-executable instructions for implementing the graph theoretic approach includes machine-executable instructions for constructing a graph of the multiple heterogeneous data sources.

45. A machine-readable storage medium according to claim 44 , wherein said machine-executable instructions for constructing a graph includes machine-executable instructions for identifying the multiple heterogeneous data sources as vertices and connecting ones of the vertices with edges as a function of common data items within ones of the multiple heterogeneous data sources.

46. A machine-readable storage medium according to claim 44 , wherein said machine-executable instructions for implementing the graph theoretic further includes machine-executable instructions for traversing the graph so as to determine a set of needed data sources needed to create the fused data.

47. A machine-readable storage medium according to claim 46 , wherein said machine-executable instructions for traversing the graph includes machine-executable instructions for traversing the graph as a function of the data items determined from said automated evaluating.

48. A machine-readable storage medium according to claim 40 , wherein said third set of machine-executable instructions includes machine-executable instructions for determining a set of needed data sources needed for the fused data from among the multiple heterogeneous data sources as a function of the data items determined from said automatedly evaluating the dynamic query.

Assignments (2)
CONFIRMATORY LICENSE Recorded Feb 13, 2025
From: CARNEGIE-MELLON UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 070204/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2013
From: PRADHAN, ANU RAJ; AKINCI, BURCU
To: CARNEGIE MELLON UNIVERSITY
Reel/Frame 029577/0141 →
Continuity (2)
Provisional Application 61400959 · Aug 5, 2010
Related Publication 20130124561A1 · May 16, 2013