System and method for detecting, collecting, analyzing, and communicating event-related information
US-9746985-B1 · Aug 29, 2017 · US
US2016078470A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016078470-A1 |
| Application number | US-201414488577-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 17, 2014 |
| Priority date | Sep 17, 2014 |
| Publication date | Mar 17, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A report execution engine processes reports for evaluating advertising campaigns. The report execution engine maintains a plurality of generators, each generator including instructions to generate execution plans for one or more columns of a report. The report execution engine uses different generators for generating sub-plans for processing columns of the report. A generator generates a sub-plan for processing a column of the report and invokes other generators for generating sub-plans for remaining columns of the report. The generator receives a sub-plan for the remaining columns of the report from another generator and generates a combined execution plan based on the sub-plans. An execution plan comprises a hierarchical structure of nodes, each node representing a portion of computation of the report. The report execution engine generates the report based on the execution plan and sends the results for presentation.
Opening claim text (preview).
What is claimed is: 1 . A computer-implemented method comprising: maintaining a plurality of generators, each generator configured to generate a sub-plan including instructions to generate execution plans for one or more columns of reports comprising information of an advertising campaign; receiving, by a report execution engine, a report definition specifying one or more columns that include one or more metrics for evaluating the advertising campaign; sending the report definition to a first generator of the plurality of generators, the first generator configured to generate execution plan for at least a column of the report definition; generating, by the first generator, a first sub-plan for processing at least a first column of the report definition by the generator, the first generator incapable of processing a set of remaining columns of the report definition; sending information describing the remaining columns of the report definition to a second generator for processing; receiving a second sub-plan from the second generator, the second sub-plan for processing the remaining columns of the report definition; generating a combined execution plan comprising the first sub-plan and the second sub-plan and an operator combining the first sub-plan and the second sub-plan; executing the combined execution plan to generate results based on the report definition; and sending the generated results for presentation. 2 . The computer-implemented method of claim 1 , further comprising: identifying the first generator, the identifying comprising, sending the report definition to each of a series of generators from the plurality of generators until a generator returns information indicating the generator includes instructions to generate execution plan for at least a column of the report definition; and using the generator as the first generator. 3 . The computer-implemented method of claim 2 , further comprising: providing information identifying the remaining columns of the report definition to one or more of the remaining generators from the plurality of generators for identifying the second generator. 4 . The computer-implemented method of claim 1 , wherein processing the remaining columns of the report definition by the second generator comprises: generating, by the second generator, a sub-plan for a second column of the report definition; and providing the remaining columns other than the first and the second column to a third generator for generating a third sub-plan. 5 . The computer-implemented method of claim 4 , further comprising: receiving, from the third generator, a third sub-plan for processing the columns of the report definition other than the first column and the second column; and generating the second sub-plan by combining the sub-plan for processing the second column with the third sub-plan. 6 . The computer-implemented method of claim 1 , wherein the operator for combining the first sub-plan and the second sub-plan is one of: a concatenate operator, a join operator, a cross product operator, or a union operator. 7 . The computer-implemented method of claim 1 , further comprising: selecting the operator for combining the first sub-plan with the second sub-plan based on the results returned by the first sub-plan and the second sub-plan, the results comprising a first result set generated by the first sub-plan and a second result set generated by the second sub-plan. 8 . The computer-implemented method of claim 7 , further comprising: responsive to determining that the first result set is distinct from the second result set, selecting a concatenate operator for combining the first sub-plan and the second sub-plan. 9 . The computer-implemented method of claim 7 , further comprising: responsive to determining that the first result set and the second result set comprise partial rows, selecting a join operator for combining the first sub-plan and the second sub-plan. 10 . The computer-implemented method of claim 9 , further comprising: responsive to determining that the report requires empty values of columns from one of the result sets, selecting an outer join operator for combining the first sub-plan and the second sub-plan. 11 . The computer-implemented method of claim 9 , further comprising: responsive to determining that the report requires full data for columns from both the result sets, selecting an inner join operator for combining the first sub-plan and the second sub-plan. 12 . The computer-implemented method of claim 1 , further comprising: receiving a new report definition using a first metric defined by the new generator and a second metric defined by an existing generator; and generating an execution plan for the new report definition based on a sub-plan generated by the new generator and a sub-plan generated by the existing generator. 13 . The computer-implemented method of claim 1 , wherein the metrics associated with the advertising campaign comprise one or more of: information describing impressions of advertisements shown to users and information describing conversions. 14 . The computer-implemented method of claim 1 , wherein the report definition specifies a column comprising information identifying advertising campaigns. 15 . The computer-implemented method of claim 1 , further comprising: introducing in the first sub-plan and the second sub-plan, additional columns not specified by the report definition; and using the additional columns to combine intermediate results generated by first sub-plan with intermediate results generated by the second sub-plan. 16 . A non-transitory computer readable storage medium storing instructions for: maintaining a plurality of generators, each generator configured to generate execution plans for one or more columns of reports comprising information of an advertising campaign; receiving, by a report execution engine, a report definition specifying one or more columns that include one or more metrics for evaluating the advertising campaign; sending the report definition to a first generator of the plurality of generators, the first generator configured to generate execution plan for at least a column of the report definition; generating, by the first generator, a first sub-plan for processing at least a first column of the report definition by the generator, the first generator incapable of processing a set of remaining columns of the report definition; sending information describing the remaining columns of the report definition to a second generator for processing; receiving a second sub-plan from the second generator, the second sub-plan for processing the remaining columns of the report definition; generating a combined execution plan comprising the first sub-plan and the second sub-plan and an operator combining the first sub-plan and the second sub-plan; executing the combined execution plan to generate results based on the report definition; and sending the generated results for presentation. 17 . The non-transitory computer readable storage medium of claim 16 , further comprising: identifying the first generator, the identifying comprising, sending the report definition to each of series of generators from the plurality of generators until a generator returns information indicating the generator includes instructions to generate execution plan for at least a column of the report definition; and using the generator as the first generator. 18 . The non-transitory computer readable storage medium of
Determining effectiveness of advertisements · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.