Report Execution Engine Using Recursive Column Generators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for generating reports on advertising campaign effectiveness are complex, expensive, and result in slow performance due to the need for expert knowledge in drafting database queries, making it difficult for advertisers to evaluate their campaigns efficiently.

Innovation Solution

A report execution engine that maintains multiple generators for creating execution plans for report columns, allowing for the recursive generation of sub-plans and combined execution plans to process report definitions, enabling efficient and rapid development of reports without requiring extensive modifications to existing code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If conventional techniques are used to generate reports, then reports can be generated, but the process is complex and expensive requiring expert knowledge

Engineering Contradiction:
Improveease of report generationVSAvoidquery complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system segments the report generation process into multiple independent query components, each handled by a separate query generator. Instead of requiring a single complex expert-crafted query, the system divides the query into smaller segments that can be independently generated and combined, reducing the complexity burden on any single component and making the overall process more accessible to non-experts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary layer (the query generation system with multiple specialized generators) that translates high-level report requirements into detailed SQL queries. This intermediary handles the complexity of query construction, allowing users to specify report needs without directly writing complex SQL, thus reducing the expertise required while maintaining query effectiveness.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If expert knowledge is used to draft complex queries, then accurate reports can be generated, but the process is slow and expensive

Engineering Contradiction:
Improvereport accuracyVSAvoidreport generation speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The query generation process is segmented into multiple parallel generators that work simultaneously on different aspects of the query. This parallelization maintains accuracy by having specialized generators for different query components while significantly improving speed by eliminating the sequential dependency of traditional expert-driven query drafting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements self-service query generation where the query generators automatically create optimized queries based on report requirements without requiring expert intervention. The generators autonomously handle query construction, optimization, and combination, maintaining high accuracy through built-in logic while dramatically improving productivity by eliminating manual expert processing time.

Inventive Principle:
Principle #25Self-service

3Loss of information

If monolithic queries are used, then all report data can be retrieved, but performance is slow

Engineering Contradiction:
Improvedata completenessVSAvoidquery execution speed
Core Design Contradiction:
Loss of informationVSSpeed

Solution Approach 1:

The monolithic query is segmented into multiple smaller query components generated by different query generators. Each generator produces a focused query for a specific aspect of the report, which can be executed independently and in parallel. This segmentation maintains data completeness by ensuring all necessary data points are covered across the segments while improving speed through parallel execution and reduced query complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of retrieving all report data through a single comprehensive query, the system uses multiple partial queries that each retrieve specific subsets of data. This partial action approach allows for optimized, targeted data retrieval that is faster than a monolithic query while collectively providing complete report data when the partial results are combined.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10115123B2Execution engine for generating reports for measuring effectiveness of advertising campaigns
Publication Date: 2018.10.30 META PLATFORMS INC
  • US10115123B2 patent drawing
  • US10115123B2 patent drawing
  • US10115123B2 patent drawing

AI summary

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.