US2019073612A1PendingUtilityA1
System, method and computer program product for progressive rendering of report results
Est. expiryJul 27, 2031(~5 yrs left)· nominal 20-yr term from priority
Inventors:Thomas J. TobinVladislav EroshinZuye ZhengPatrick LouieJeremiah LuArunkumaran Varadharajan
G06F 40/166G06Q 10/06G06F 17/2247G06F 17/24G06F 16/9577
54
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
In accordance with embodiments, there are provided mechanisms and methods for progressive rendering of report results. These mechanisms and methods for progressive rendering of report results can enable embodiments to render report results in portions as they are received. The ability of embodiments to render report results in portions as they are received can enable report results to be progressively rendered such that delay is avoided Which would otherwise occur when rendering only in response to receipt of an entirety of the report results.
Claims
exact text as granted — not AI-modified1 - 21 . (canceled)
22 . A method, comprising:
a first computer system receiving, from a second computer system, a request to generate a report having a plurality of data sets, wherein the plurality of data sets are obtained by executing a plurality of queries, wherein at least two of the plurality of queries are each associated with one or more data sets and executable in accordance with a local definition associated with that query, wherein the local definition defines a set of parameters that affect a selection of data to be included in those one or more data sets; the first computer system generating the report, including by:
determining a global definition defining a set of parameters that affect a selection of data to be included in the plurality of data sets;
replicating, for a given one of the plurality of queries, one or more parameters of the set of parameters from the global definition to the local definition associated with that given query, wherein that local definition includes one or more unique parameters and one or more parameters in common with local definitions of other one or more queries of the plurality of queries;
executing the plurality of queries in accordance with the local definitions of the plurality of queries; and
aggregating results of the execution to form the report; and
the first computer system providing the report to the second computer system for presenting to a user of the second computer system.
23 . The method of claim 22 , further comprising:
making a determination, based at least in part on the plurality of queries, whether to serialize or parallelize execution of the plurality of queries, wherein the plurality of queries are executed in accordance with the determination.
24 . The method of claim 23 , wherein making the determination further includes determining an estimated amount of time to execute all of the plurality of queries.
25 . The method of claim 24 , wherein the estimated amount of time is determined by summing, for each of the plurality of queries, an estimated amount of time to execute that query, wherein the estimated amount of time for executing a particular query is based at least in part on an amount of time taken to previously execute that particular query.
26 . The method of claim 24 , wherein the plurality of queries are serially executed in response to the estimated amount of time to execute the plurality of queries not satisfying a threshold amount of time.
27 . The method of claim 24 , wherein the plurality of queries are executed in parallel in response to the estimated amount of time to execute the plurality of queries satisfying a threshold amount of time.
28 . The method of claim 27 , further comprising:
in response to determining to parallelize execution, distributing, from a memory shared by a plurality of processors of the first computer system, the local definitions of the plurality of queries to at least two of the plurality of processors, wherein the at least two processors are each configured to execute a given one of the plurality of queries according to the corresponding local definition and to store query results from executing the given query in a standard format.
29 . The method of claim 28 , wherein the at least two processors are each further configured to convert the query results from a format particular to that processor to the standard format.
30 . The method of claim 22 , wherein replicating ones of the set of parameters from the global definition to the local definition associated with the given query includes:
determining that a particular one of the set of parameters from the global definition maps to a particular column of a data set associated with the local definition that is associated with the given query; converting the particular parameter to indicate the particular column of the data set that is associated with the local definition associated with the given query; and storing the particular parameter in the local definition associated with the given query.
31 . The method of claim 22 , wherein providing the report includes:
progressively providing portions of the report to a first window created by an application executing on the second computer system, wherein the first window is operable to provide ones of the portions to a second window created by the application, wherein the second window is operable to progressively display portions of the report as they are received from the first window.
32 . The method of claim 31 , wherein determining the global definition includes receiving, via the first window, the global definition from a user of the second computer system.
33 . The method of claim 22 , wherein the set of parameters that is defined by the global definition includes a particular parameter defining a filtering criteria for filtering data in ones of the plurality of data sets.
34 . A non-transitory computer-readable medium having program instructions stored thereon that are capable of causing a computer system to perform operations comprising:
receiving a request to generate a composite report that has a plurality of data sets, wherein the plurality of data sets are retrieved from a database by executing a plurality of queries, wherein a given one of the plurality of queries is executable in accordance with a local definition associated with the given query to retrieve one or more data sets, wherein the local definition defines a set of parameters that affect a selection of data to be included in the one or more data sets; determining a global definition defining a set of parameters that affect a selection of data to be included in the plurality of data sets; replicating one or more parameters of the set of parameters from the global definition to the local definition, wherein the local definition includes one or more unique parameters and one or more parameters in common with local definitions associated with other one or more queries of the plurality of queries; executing the plurality of queries, wherein the given query is executed in accordance with the local definition; aggregating results of the execution to form the composite report; and causing the composite report to be presented to a user.
35 . The medium of claim 34 , wherein the operations further comprise:
making a determination, based at least in part on an estimated amount of time to execute all of the plurality of queries, on whether to serialize or parallelize execution of the plurality of queries, wherein the plurality of queries are executed in accordance with the determination.
36 . The medium of claim 35 , wherein the estimated amount of time is determined by:
estimating, for each of the plurality of queries, an amount of time to execute that query that is based at least in part on a processing capacity of a processing source to which that query can be scheduled; and summing the amount of time for each of the plurality of queries to determine the estimated amount of time to execute all of the plurality of queries.
37 . The medium of claim 35 , wherein the operations further comprise:
in response to the estimated amount of time to execute all of the plurality of queries being less than a threshold amount of time, making a determination to serialize execution of the plurality of queries.
38 . The medium of claim 34 , wherein causing the composite report to be presented to the user includes:
progressively providing portions of the composite report to a first window created by an application executing on a second computer system associated with the user, wherein the first window is operable to provide ones of the portions to a second window created by the application, wherein the second window is operable to progressively display portions of the composite report as they are received from the first window.
39 . A system, comprising:
one or more processors; and memory having program instructions stored thereon that are executable by the one or more processors to cause the system to perform operations comprising:
receiving a request to generate a report having a plurality of data sets, wherein the plurality of data sets are generated by executing a plurality of queries in accordance with a plurality of local definitions, each of which is respective to one of the plurality of queries and defines a set of parameters that affect a selection of data to be included in one or more data sets generated by the query;
accessing a global definition that defines a set of parameters that affect a selection of data to be included in the plurality of data sets generated by executing the plurality of queries;
replicating, for a given one of the plurality of local definitions, one or more of the set of parameters defined in the global definition to the given local definition, wherein the given local definition includes one or more parameters unique to the local definition and one or more parameters in common with other one or more local definitions of the plurality of local definitions;
executing the plurality of queries in accordance with the plurality of local definitions.
aggregating results of the execution to form the report; and
causing the report to be presented to a user.
40 . The system of claim 39 , the operations further comprising:
determining an estimated amount of time to execute all of the plurality of queries; and based at least in part on the estimated amount of time, making a determination on whether to serialize or parallelize execution of the plurality of queries, wherein the executing of the plurality of queries is in accordance with the determination.
41 . The system of claim 39 , wherein aggregating the results of the execution includes:
joining results from each of the plurality of queries using a grouping parameter replicated from the global definition to each of the plurality of local definitions.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.