IP Library Granted Patent US 10,803,065
Granted Patent B1
US 10,803,065 · App. 16/569,091 · Granted Oct 13, 2020

Microcubes

Inventors: Justin Wong (Burnaby, CA); Houman Ghaemi (Vancouver, CA); Veljko Jovanovic (Vancouver, CA)
Assignee: BUSINESS OBJECTS SOFTWARE LTD
G06F16/24566G06F16/2458G06F16/285
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 10,803,065
App. No.
16/569,091
Granted
Oct 13, 2020
Kind
B1
Abstract

A system includes determination of a plurality of queries, each of the plurality of queries indicating a first object as a data source, generation of a first query on the first object based on a first two or more of the plurality of queries, modification of each of the first two or more queries to indicate the first query as the data source, requesting of execution of the first query and the modified first two or more queries, and reception of a result set associated with each of the first two or more queries.

Claims (69)

1. A system comprising:

a first computing system comprising:

a memory system storing processor-executable process steps; and

a processor to execute the processor-executable process steps to cause the first computing system to:

determine a plurality of queries, each of the plurality of queries indicating a first object as a data source;

generate a first query on the first object based on a first two or more of the plurality of queries, wherein the generation of the first query comprises applying a clustering algorithm that determines a clustering score associated with each pair of queries of the plurality of queries, the clustering score is based on: a processing overhead associated with each dimension of a plurality of dimensions of the each pair of queries, a total number of dimensions of the plurality of queries, and a total number of measures of the plurality of queries;

modify each of the first two or more queries to indicate the first query as the data source;

request execution of the first query and the modified first two or more queries; and

receive a result set associated with each of the first two or more queries.

2. A system according to claim 1 , wherein requesting of execution of the first query and the modified first two or more queries comprises requesting execution of a second one or more of the plurality of queries other than the first two or more queries, and

wherein reception of a result set associated with each of the first two or more queries comprises reception of a result set associated with each of the second one or more of the plurality of queries.

3. A system according to claim 1 , the processor to execute processor-executable process steps to cause the computing device to:

generate a second query on the first object based on a second two or more of the plurality of queries;

modify each of the second two or more queries to indicate the second query as the data source;

request execution of the second query and the modified second two or more queries; and

receive a result set associated with each of the second two or more queries.

4. A system according to claim 3 , wherein requesting of execution of the first query and the modified first two or more queries comprises requesting execution of a third one or more of the plurality of queries other than the first two or more queries and the second two or more queries, and

wherein reception of a result set associated with each of the first two or more queries comprises reception of a result set associated with each of the third one or more of the plurality of queries.

5. A system according to claim 1 , further comprising:

a second computing system comprising:

a second memory system storing second processor-executable process steps; and

a second processor to execute the second processor-executable process steps to cause the second computing system to:

receive the request for execution of the first query and the modified first two or more queries; and

in response to the request, execute the first query on the first object to generate an intermediate result set, and execute each of the modified first two or more queries on the intermediate result set to generate the result sets associated with each of the first two or more queries.

6. A method comprising:

determining a plurality of queries, each of the plurality of queries indicating a first object as a data source;

generating a first query on the first object based on a first two or more of the plurality of queries, wherein the generation of the first query comprises applying a clustering algorithm that determines a clustering score associated with each pair of queries of the plurality of queries, the clustering score is based on: a processing overhead associated with each dimension of a plurality of dimensions of the each pair of queries, a total number of dimensions of the plurality of queries, and a total number of measures of the plurality of queries;

modifying each of the first two or more queries to indicate the first query as the data source;

requesting execution of the first query and the modified first two or more queries; and

receiving a result set associated with each of the first two or more queries.

7. A method according to claim 6 , wherein requesting of execution of the first query and the modified first two or more queries comprises requesting execution of a second one or more of the plurality of queries other than the first two or more queries, and

wherein receiving a result set associated with each of the first two or more queries comprises receiving a result set associated with each of the second one or more of the plurality of queries.

8. A method according to claim 6 , further comprising:

generating a second query on the first object based on a second two or more of the plurality of queries;

modifying each of the second two or more queries to indicate the second query as the data source;

requesting execution of the second query and the modified second two or more queries; and

receiving a result set associated with each of the second two or more queries.

9. A method according to claim 8 , wherein requesting execution of the first query and the modified first two or more queries comprises requesting execution of a third one or more of the plurality of queries other than the first two or more queries and the second two or more queries, and

wherein receiving a result set associated with each of the first two or more queries comprises receiving a result set associated with each of the third one or more of the plurality of queries.

10. A method according to claim 6 , further comprising:

receiving the request for execution of the first query and the modified first two or more queries; and

in response to the request, executing the first query on the first object to generate an intermediate result set, and executing each of the modified first two or more queries on the intermediate result set to generate the result sets associated with each of the first two or more queries.

11. A computer-readable medium storing processor-executable process steps that when executed by a computing system cause the computing system to:

determine a plurality of queries, each of the plurality of queries indicating a first object as a data source;

generate a first query on the first object based on a first two or more of the plurality of queries, wherein the generation of the first query comprises applying a clustering algorithm that determines a clustering score associated with each pair of queries of the plurality of queries, the clustering score is based on: a processing overhead associated with each dimension of a plurality of dimensions of the each pair of queries, a total number of dimensions of the plurality of queries, and a total number of measures of the plurality of queries;

modify each of the first two or more queries to indicate the first query as the data source;

request execution of the first query and the modified first two or more queries; and

receive a result set associated with each of the first two or more queries.

12. A medium according to claim 11 , wherein requesting of execution of the first query and the modified first two or more queries comprises requesting of execution of a second one or more of the plurality of queries other than the first two or more queries, and

wherein receiving a result set associated with each of the first two or more queries comprises receiving a result set associated with each of the second one or more of the plurality of queries.

13. A medium according to claim 11 , further comprising processor-executable process steps that when executed by a computing system cause the computing system to:

generate a second query on the first object based on a second two or more of the plurality of queries;

modify each of the second two or more queries to indicate the second query as the data source;

request execution of the second query and the modified second two or more queries; and

receive a result set associated with each of the second two or more queries.

14. A medium according to claim 13 , wherein requesting of execution of the first query and the modified first two or more queries comprises requesting of execution of a third one or more of the plurality of queries other than the first two or more queries and the second two or more queries, and

wherein reception of a result set associated with each of the first two or more queries comprises reception of a result set associated with each of the third one or more of the plurality of queries.

15. A medium according to claim 11 , further comprising processor-executable process steps that when executed by a computing system cause the computing system to:

receive the request for execution of the first query and the modified first two or more queries; and

in response to the request, execute the first query on the first object to generate an intermediate result set, and execute each of the modified first two or more queries on the intermediate result set to generate the result sets associated with each of the first two or more queries.

16. A system according to claim 1 , the processor to execute processor-executable process steps to cause the computing device to:

compare the clustering score to a threshold value; and

in a case that the clustering score satisfies a threshold value, generate the first query on the first object.

17. A method according to claim 6 , further comprising:

comparing the clustering score to a threshold value; and

in a case that the clustering score satisfies a threshold value, generating the first query on the first object.

18. A medium according to claim 11 , further comprising processor-executable process steps that when executed by a computing system cause the computing system to:

compare the clustering score to a threshold value; and

in a case that the clustering score satisfies a threshold value, generate the first query on the first object.

Assignments (2)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2019
From: WONG, JUSTIN; GHAEMI, HOUMAN; JOVANOVIC, VELJKO
To: BUSINESS OBJECTS SOFTWARE LTD
Reel/Frame 050360/0690 →