Remote data blending
AssigneeSap SE
InventorsHouman Ghaemi, Darryl Eckstein, Mark Obad
Life of this patent
Estimating the term…
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.
Claims20
A method, comprising:
- receiving input at a client system in communication with a primary system and with one or more remote systems, a user of the client system having predefined access privileges to data on the primary system and the 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;
- storing, at the client system, a landscape definition specifying where different data sets are stored on the one or more remote systems, the landscape definition including URLs for each corresponding remote system;
- 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, wherein the client system uses data location information from the landscape definition to determine which of the different remote systems to send each of the one or more subqueries to;
- 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 the respective 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, wherein the landscape definition specifies locations in the corresponding remote systems where subquery results are stored using the information regarding the respective set of subquery results received from each corresponding remote system;
- 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 client system uses the data location information from the landscape definition to include the location in the main data model blend query, wherein the primary system retrieves the subquery results from the location included in the received information and blends the subquery results.
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, a user of the client system having predefined access privileges to data on the primary system and the 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;
- storing, at the client system, a landscape definition specifying where different data sets are stored on the one or more remote systems, the landscape definition including URLs for each corresponding remote system;
- 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, wherein the client system uses data location information from the landscape definition to determine which of the different remote systems to send each of the one or more subqueries to;
- 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 the respective 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, wherein the landscape definition specifies locations in the corresponding remote systems where subquery results are stored using the information regarding the respective set of subquery results received from each corresponding remote system;
- 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 client system uses the data location information from the landscape definition to include the location in the main data model blend query, wherein the primary system retrieves the subquery results from the location included in the received information and blends the subquery results.
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, a user of the client system having predefined access privileges to data on the primary system and the 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;
- store, at the client system, a landscape definition specifying where different data sets are stored on the one or more remote systems, the landscape definition including URLs for each corresponding remote system;
- 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, wherein the client system uses data location information from the landscape definition to determine which of the different remote systems to send each of the one or more subqueries to;
- 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 the respective 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, wherein the landscape definition specifies locations in the corresponding remote systems where subquery results are stored using the information regarding the respective set of subquery results received from each corresponding remote system;
- 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 client system uses the data location information from the landscape definition to include the location in the main data model blend query, wherein the primary system retrieves the subquery results from the location included in the received information and blends the subquery results.
Dependencies are inferred from the claim text.