IP Library Granted Patent US 7,546,292
Granted Patent B2
US 7,546,292 · App. 11/408,672 · Granted Jun 9, 2009

Master-detail provider and method of providing master-detail functionality

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 7,546,292
App. No.
11/408,672
Granted
Jun 9, 2009
Kind
B2
Abstract

A master-detail provider is provided for processing user requests for data stored in one or more data source. The master-detail provider has a query analyzer, a master-detail link handler, a master query handler and a detail query handler. The query analyzer analyzes one or more queries included in a user request, and determines any set of the queries in which the queries are linked by one or more master-detail links. The master-detail link handler relates the queries of each set that are linked by one or more master-detail links as a master query and one or more detail queries. The master query handler causes preparation of the master queries to generate master query plans, and generates provider queries by incorporating the master query plans with related detail queries and related master-detail links. The detail query handler handles the detail queries causing preparation of the detail queries to generate detail query plans.

Claims (53)

1. A master-detail provider apparatus comprising:

a query analyzer for analyzing one or more queries included in a user request for data stored in one or more data sources, and determining any set of the queries in which the queries are linked by one or more master-detail links;

a master-detail link handler for relating the queries of each set that are linked by one or more master-detail links as a master query and one or more detail queries;

a master query handler for causing preparation of the master queries to generate master query plans, and for generating provider queries by incorporating the master query plans with related detail queries and related master-detail links; and

a detail query handler for causing preparation of the detail queries to generate detail query plans.

2. The master-detail provider apparatus as recited in claim 1 , wherein

the detail query handler causes preparation of the detail queries to capture properties of parameters involved in the master-detail links and to generate detail query factory objects.

3. The master-detail provider apparatus as recited in claim 1 , wherein the master handler generates a provider query for each master query participating in the master-detail links.

4. The master-detail provider apparatus as recited in claim 1 , wherein the master handler extracts the master-detail links from the queries.

5. The master-detail provider apparatus as recited in claim 1 , wherein the master handler causes the provider queries executed.

6. The master-detail provider apparatus as recited in claim 1 , wherein the detail query handler has a filter generator for generating a detail filter for a detail query based on a respective master-detail link, and incorporating the detail filter into the detail query.

7. The master-detail provider apparatus as recited in claim 6 , wherein the filter generator generates the detail filter having a reference to a parameter for receiving a parameter value.

8. The master-detail provider apparatus as recited in claim 7 , wherein the detail query handler handles the detail queries using parameter values for execution of the detail queries.

9. A query framework system for processing user requests for data stored in one or more data sources, the query framework system comprising:

one or more query operation providers, each capable of preparing or executing relevant queries;

a coordination planner for coordinating communication between the query operation providers; and

a master-detail provider apparatus comprising:

a query analyzer for analyzing one or more queries included in a user request for data stored in one or more data sources, and determining any set of the queries in which the queries are linked by one or more master-detail links;

a master-detail link handler for relating the queries of each set that are linked by one or more master-detail links as a master query and one or more detail queries;

a master query handler for communicating with the coordination planner for preparation of the master queries to generate master query plans, and for generating provider queries by incorporating the master query plans with related detail queries and related master-detail links; and

a detail query handler for causing preparation of the detail queries to generate detail query plans.

10. The query framework system as recited in claim 9 , wherein the master handler communicates with the coordination planner for execution of the provider queries.

11. The query framework system as recited in claim 9 , wherein the detail query handler has a filter generator for generating a detail filter for a detail query based on a respective master-detail link, and incorporating the detail filter into the detail query.

12. The query framework system as recited in claim 11 , wherein the filter generator generates the detail filter having a reference to a parameter for receiving a parameter value.

13. The query framework system as recited in claim 12 , wherein the detail query handler communicates with the coordination planner for preparation and execution of the detail queries using parameter values.

14. A method of processing user requests for data stored in one or more data sources, the method comprising:

analyzing each set of the queries included in a user request for data stored in one or more data sources to locate any set of the queries in which the queries are linked by one or more master-detail links;

relating the queries of each set that are linked by one or more master-detail links as a master query and one or more detail queries;

causing preparation of the master queries to generate master query plans;

generating one or more provider queries by incorporating the master query plans with related detail queries and related master-detail links; and

sending the provider queries for execution.

15. The method as recited in claim 14 further comprising:

extracting the master-detail links from the queries.

16. The method as recited in claim 14 , wherein the generating also generates a provider query for each master query participating in the master-detail links.

17. The method as recited in claim 14 further comprising:

generating a detail filter for a detail query based on a respective master-detail link; and

incorporating the detail filter into the detail query.

18. The method as recited in claim 17 , wherein the filter generating generates the detail filter having a reference to a parameter for receiving a parameter value.

19. The method as recited in claim 18 further comprising:

causing preparation of each detail query by having the detail filter transformed; and

generating a detail provider query by incorporating the detail query and the transformed detail filter.

20. The method as recited in claim 19 further comprising:

causing execution of the detail provider query by resolving the detail filter to generate parameterized detail queries; and

generating an execution request using the parameterized detail queries.

21. The method as recited in claim 15 further comprising:

receiving parameters values for resolving the parameterized detail queries; and

rendering the detail queries using the parameters values.

22. A memory containing computer executable instructions that can be read and executed by a computer for caring out a method of processing user requests for data stored in one or more data source, the method comprising the steps of:

analyzing each set of the queries included in a user request for data stored in one or more data sources to locate any set of the queries in which the queries are linked by one or more master-detail links;

relating the queries of each set that are linked by one or more master-detail links as a master query and one or more detail queries;

causing preparation of the master queries to generate master query plans;

generating one or more provider queries by incorporating the master query plans with related detail queries and related master-detail links; and

sending the provider queries for execution.

Assignments (4)
CERTIFICATE OF AMALGAMATION Recorded Aug 15, 2008
From: COGNOS INCORPORATED
To: COGNOS ULC
Reel/Frame 021387/0813 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2008
From: COGNOS ULC
To: IBM INTERNATIONAL GROUP BV
Reel/Frame 021387/0837 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2008
From: IBM INTERNATIONAL GROUP BV
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021398/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2006
From: SIMIC, MIRJANA; MORDVINOV, VLADIMIR
To: COGNOS INCORPORATED
Reel/Frame 018188/0205 →