Back to results
US 9,177,036 B2Granted
Efficient assignment of query requests between analytical engines of differing complexity
AssigneeSap SE
InventorsDirk Baumgaertel, Uwe Schwerk, Karl-Peter Nos
Life of this patent
Estimating the term…
Abstract
Runtime performance of report generation and other response to query requests can be improve using a report analyzer that can parse the query request and distribute the necessary analytical task among two or more analytical engines of varying levels of complexity.
Claims17
A non-transitory computer program product comprising a machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
- receiving a query request from a single user interface via which a user selects a desired set of analytical functions from a presented full range of levels of analytical complexity supported by the plurality of analytical reporting engines;
- analyzing the received query request at runtime to determine a level of analytical complexity required to generate a report responsive to the query request;
- distributing, based on the determined level of analytical complexity, the one or more analysis tasks among a plurality of analytical reporting engines of differing analytical complexity such that a full complexity analytical engine of the plurality of analytical reporting engines is used only for those of the one or more analysis tasks that require capabilities of the full complexity analytical engine;
- distributing, based on the determined level of analytical complexity, those of the one or more analysis tasks that do not require capabilities of the full complexity analytical engine to one or more reduced complexity analytical engines of the plurality of analytical reporting engines, the one or more reduced complexity analytical reporting engines comprising fewer capabilities than the full complexity analytical engine;
- and
- generating the report based at least in part on output from each of the plurality of analytical engines to which the one or more analytical tasks were distributed.
3 more elements
A system comprising:
- at least one programmable processor;
- and
- a machine-readable medium storing instructions that, when executed by the at least one processor, cause the at least one programmable processor to perform operations comprising:
- receiving a query request from a single user interface via which a user selects a desired set of analytical functions from a presented full range of levels of analytical complexity supported by the plurality of analytical reporting engines;
- analyzing the received query request at runtime to determine a level of analytical complexity required to generate a report responsive to the query request;
- distributing, based on the determined level of analytical complexity, the one or more analysis tasks among a plurality of analytical reporting engines of differing analytical complexity such that a full complexity analytical engine of the plurality of analytical reporting engines is used only for those of the one or more analysis tasks that require capabilities of the full complexity analytical engine;
- distributing, based on the determined level of analytical complexity, those of the one or more analysis tasks that do not require capabilities of the full complexity analytical engine to one or more reduced complexity analytical engines of the plurality of analytical reporting engines, the one or more reduced complexity analytical reporting engines comprising fewer capabilities than the full complexity analytical engine;
- and
- generating the report based at least in part on output from each of the plurality of analytical engines to which the one or more analytical tasks were distributed.
6 more elements
A computer-implemented method comprising:
- receiving, by at least one processor, a query request from a single user interface via which a user selects a desired set of analytical functions from a presented full range of levels of analytical complexity supported by the plurality of analytical reporting engines;
- analyzing, by the least one processor, the received query request at runtime to determine a level of analytical complexity required to generate a report responsive to the query request;
- distributing, by the least one processor and based on the determined level of analytical complexity, the one or more analysis tasks among a plurality of analytical reporting engines of differing analytical complexity such that a full complexity analytical engine of the plurality of analytical reporting engines is used only for those of the one or more analysis tasks that require capabilities of the full complexity analytical engine;
- distributing, by the least one processor and based on the determined level of analytical complexity, those of the one or more analysis tasks that do not require capabilities of the full complexity analytical engine to one or more reduced complexity analytical engines of the plurality of analytical reporting engines, the one or more reduced complexity analytical reporting engines comprising fewer capabilities than the full complexity analytical engine;
- and
- generating, by the at least one processor, the report based at least in part on output from each of the plurality of analytical engines to which the one or more analytical tasks were distributed.
3 more elements
Dependencies are inferred from the claim text.