IP Library › Granted Patent US 11,226,974
Granted Patent B2
US 11,226,974 · App. 16/041,557 · Granted Jan 18, 2022

Remote data blending

Inventors: Houman Ghaemi (Vancouver, CA); Darryl Eckstein (Vancouver, CA); Mark Obad (Vancouver, CA)
Assignee: SAP SE
G06F16/2471G06F16/22G06F16/27
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 11,226,974
App. No.
16/041,557
Granted
Jan 18, 2022
Kind
B2
Abstract

The present disclosure provides improved systems, methods, and computer readable media for blending data from data sets that reside on different systems. This is done by generating subqueries from a main data model blend query, sending the subqueries to respective separate systems, accessing the results to all subqueries at a primary system, and performing a blend based on the main data model blend query at the primary system.

Claims (48)

1. A method, comprising:

receiving input at a client system in communication with a primary system and with one or more remote systems, the primary system having at least one data set and the one or more remote systems having separate data sets, wherein the input specifies a main data model blend query for a main data model blend that blends data from separate data sets at the primary system and at least one of the one or more remote systems;

generating, at the client system, one or more subqueries from the main data model blend query, wherein each subquery corresponds to a different remote system having a remote system data set that is to be blended in the main data model blend;

sending, from the client system, each of the one or more subqueries to a corresponding remote system of a plurality of corresponding remote systems for execution on the remote system data set at the corresponding remote system;

receiving, at the client system from each corresponding remote system, information regarding a respective set of subquery results from executing the respective subquery on the remote system data set at the corresponding remote system, the information regarding a set of subquery results including a location in the corresponding remote system where the subquery results are stored; and

sending, from the client system to the primary system, the main data model blend query, wherein the main data model blend query comprises the location in the corresponding remote system for each corresponding remote system, wherein the primary system retrieves the subquery results from the location included in the received information and blends the subquery results, and the blending the subquery results utilizes a subset of columns or rows in each of the separate data sets in accordance with the main data model blend query.

2. The method of claim 1 , further comprising:

retrieving at the primary system each set of subquery results from its corresponding remote system using the location in the corresponding remote system; and

performing a data blend operation at the primary system based on the main data model blend query and the retrieved sets of subquery results from each of the remote systems.

3. The method of claim 1 , wherein a data provisioning agent facilitates communication between the primary system and at least one of the corresponding remote systems, the data provisioning agent being separate from the client system.

4. The method of claim 1 , further comprising:

executing each of the one or more subqueries on a remote system data set at the subqueries' corresponding remote system to provide a set of subquery results; and

storing each set of subquery results on each respective corresponding remote system.

5. The method of claim 4 , wherein each set of subquery results is stored in a serialized data format.

6. The method of claim 5 , further comprising receiving, in the primary system, metadata describing each subquery result.

7. The method of claim 6 , wherein the metadata is configured to allow a reconstruction of the subquery results from the serialized data format to a cube format for data blending operations on the primary system.

8. The method of claim 1 , further comprising:

sending from the client system to the primary system a subquery for execution on a primary data set at the primary system.

9. The method of claim 8 , wherein the results of the subquery to be performed at the primary system are not to be converted into a serialized data format.

10. The method of claim 1 , wherein the information regarding a set of subquery results comprises information that the subquery results are done.

11. The method of claim 1 , further comprising generating, on the client system, a table associating each subquery with a particular remote system.

12. The method of claim 1 , wherein the received information includes the set of subquery results.

13. The method of claim 12 , wherein the client system sends to the primary system each set of subquery results.

14. The method of claim 13 , wherein no communication takes place between the primary system and any of the one or more remote systems.

15. The method of claim 1 , wherein each corresponding remote system provides the information regarding the respective set of subquery results after executing the respective subquery.

16. A non-transitory machine-readable medium storing a program executable by at least one processing unit of a device, the program comprising sets of instructions for:

receiving input at a client system in communication with a primary system and with one or more remote systems, the primary system having at least one data set and the one or more remote systems having separate data sets, wherein the input specifies a main data model blend query for a main data model blend that blends data from separate data sets at the primary system and at least one of the one or more remote systems;

generating, at the client system, one or more subqueries from the main data model blend query, wherein each subquery corresponds to a different remote system having a remote system data set that is to be blended in the main data model blend;

sending, from the client system, each of the one or more subqueries to a corresponding remote system of a plurality of corresponding remote systems for execution on the remote system data set at the corresponding remote system;

receiving, at the client system from each corresponding remote system, information regarding a respective set of subquery results from executing the respective subquery on the remote system data set at the corresponding remote system, the information regarding a set of subquery results including a location in the corresponding remote system where the subquery results are stored, and each corresponding remote system providing the information regarding the respective set of subquery results after executing the respective subquery; and

sending, from the client system to the primary system, the main data model blend query, wherein the main data model blend query comprises the location in the corresponding remote system for each corresponding remote system, wherein the primary system retrieves the subquery results from the location included in the received information and blends the subquery results.

17. The non-transitory machine-readable medium of claim 16 , the program further comprising sets of instructions for:

executing each of the one or more subqueries on a remote system data set at the subqueries' corresponding remote system to provide a set of subquery results; and

storing each set of subquery results on each respective corresponding remote system.

18. The non-transitory machine-readable medium of claim 16 , the program further comprising sets of instructions for:

retrieving at the primary system each set of subquery results from its corresponding remote system using the location in the corresponding remote system; and

performing a data blend operation at the primary based on the main data model blend query and the retrieved sets of subquery results from each of the remote systems.

19. The non-transitory machine-readable medium of claim 16 , further comprising:

sending from the client system to the primary system a subquery for execution on a primary data set at the primary system, wherein a set of subquery results from the primary data set are used to perform the data blend operation.

20. A computer system comprising:

one or more processors;

at least one memory; and

computer program code comprising instructions, executable on said one or more processors, the computer program code configured to:

receive input at a client system in communication with a primary system and with one or more remote systems, the primary system having at least one data set and the one or more remote systems having separate data sets, wherein the input specifies a main data model blend query for a main data model blend that blends data from separate data sets at the primary system and at least one of the one or more remote systems;

generate, at the client system, one or more subqueries from the main data model blend query, wherein each subquery corresponds to a different remote system having a remote system data set that is to be blended in the main data model blend;

send, from the client system, each of the one or more subqueries to a corresponding remote system of a plurality of corresponding remote systems for execution on the remote system data set at the corresponding remote system;

receive, at the client system from each corresponding remote system, information regarding a respective set of subquery results from executing the respective subquery on the remote system data set at the corresponding remote system, the information regarding a set of subquery results including a location in the corresponding remote system where the subquery results are stored; and

send, from the client system to the primary system, the main data model blend query, wherein the main data model blend query comprises the location in the corresponding remote system for each corresponding remote system, wherein the primary system retrieves the subquery results from the location included in the received information and blends the subquery results, and the blending the subquery results utilizes a subset of columns or rows in each of the separate data sets in accordance with the main data model blend query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: GHAEMI, HOUMAN; ECKSTEIN, DARRYL; OBAD, MARK
To: SAP SE
Reel/Frame 046418/0292 →
Continuity (2)
Provisional Application 62669835 · May 10, 2018
Related Publication 20190347350A1 · Nov 14, 2019