Execution Engine for Generating Reports for Measuring Effectiveness of Advertising Campaigns

US2016078470A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016078470-A1
Application numberUS-201414488577-A
CountryUS
Kind codeA1
Filing dateSep 17, 2014
Priority dateSep 17, 2014
Publication dateMar 17, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Determining effectiveness of advertisements · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016078470A1 cover?
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-pl…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification G06Q30/0242. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Mar 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).