US 11,841,873 B2
Dynamic filter and projection push down
Daniel Bos, Beijing (CN); Qing Liu, Beijing (CN); and Tobias Maximilian Karpstein, Eschelbronn (DE)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on Feb. 15, 2022, as Appl. No. 17/672,141.
Prior Publication US 2023/0259519 A1, Aug. 17, 2023
Int. Cl. G06F 16/25 (2019.01); G06F 16/11 (2019.01)
CPC G06F 16/254 (2019.01) [G06F 16/116 (2019.01); G06F 16/258 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by one or more processors and from an application, a first data request for first data from a first source, the first data request comprising a transformation request for a first transformation;
accessing, by the one or more processors, first capability information for the first source, the first capability information indicating that the first source does not support the first transformation;
based on the first capability information, the first transformation, and the first data request, generating a second data request to the first source for second data;
receiving, via a network and in response to the second data request, the second data;
performing, by the one or more processors, the first transformation on the second data to generate the requested first data;
providing, to the application, a response to the first data request, the response comprising the requested first data;
receiving, from the application, a third data request for third data from a second source, the third data request comprising a second transformation request for a second transformation;
accessing second capability information for the second source, the second capability information indicating that the second source supports the second transformation;
based on the second capability information, the second transformation, the third data request, and a determination that requesting the second source to perform the requested second transformation would increase net consumption of computing resources, generating a fourth data request to the second source for fourth data, the fourth data request not comprising a fourth transformation request for the second transformation;
receiving, via the network and in response to the fourth data request, the fourth data;
performing the second transformation on the fourth data to generate the requested third data; and
providing, to the application, the requested third data.