Conditional Parallel Report Execution Based on Estimated Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional reporting techniques in computing environments face limitations in performance and usability, particularly in generating and provisioning reports efficiently.

Innovation Solution

The method involves conditionally executing related reports in parallel based on an estimated execution time, allowing for reduced overhead by selecting between sequential and parallel execution based on predetermined time-based criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallel execution of related reports is implemented, then productivity is improved, but device complexity increases due to overhead management

Engineering Contradiction:
Improvereport execution speedVSAvoidexecution management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes the parameter of execution mode (sequential vs. parallel) based on the estimated total execution time parameter. When the estimated time exceeds a threshold, parallel execution is selected; otherwise, sequential execution is used. This dynamic parameter adjustment resolves the contradiction by adapting the execution strategy to the specific characteristics of each report set.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The execution mode is made dynamic rather than static. The system evaluates the estimated execution time and dynamically selects between sequential and parallel execution modes. This dynamic adaptation allows the system to maximize productivity when parallel execution is beneficial while avoiding the overhead complexity when sequential execution suffices.

Inventive Principle:
Principle #15Dynamics

2Productivity

If parallel execution is always used, then productivity is improved, but loss of time increases due to overhead when time-based criteria are not met

Engineering Contradiction:
Improvereport execution speedVSAvoidoverhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system changes the execution mode parameter based on the estimated total execution time. When the estimate indicates that parallel execution would complete faster than sequential execution, parallel mode is activated. Otherwise, sequential mode is used to avoid overhead. This resolves the contradiction by ensuring parallel execution is only used when it actually saves time.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs a preliminary estimation of the total execution time before actually executing the reports. This preliminary action allows the system to determine in advance whether parallel execution would be beneficial, thereby avoiding the overhead of parallel execution setup when it would not result in time savings.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If sequential execution is used, then device complexity is reduced, but productivity decreases due to slower report generation

Engineering Contradiction:
Improveexecution management overheadVSAvoidreport execution speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The execution mode is made dynamic, allowing the system to switch between sequential and parallel execution based on the estimated total execution time. This dynamic approach ensures that parallel execution is utilized when it can improve productivity, while sequential execution is used when the overhead would outweigh the benefits, thus resolving the contradiction adaptively.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system adjusts the execution mode parameter based on the estimated execution time parameter. When the estimate shows that parallel execution would complete the task faster, the system switches to parallel mode to improve productivity. Otherwise, it remains in sequential mode with lower complexity, resolving the contradiction through parameter-based adaptation.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If conditional execution based on time estimation is implemented, then productivity is optimized, but device complexity increases due to estimation and selection logic

Engineering Contradiction:
Improvereport execution efficiencyVSAvoidexecution selection logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs a preliminary estimation of the total execution time before selecting the execution mode. This preliminary action of time estimation enables the system to make an informed decision about whether parallel execution would be beneficial, optimizing productivity while managing complexity through a structured decision process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses the estimated execution time as a parameter to determine the execution mode. This parameter-driven approach allows the system to automatically optimize productivity by selecting parallel execution when the estimate indicates it would be faster, while avoiding unnecessary complexity when sequential execution is sufficient.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8745625B2System, method and computer program product for conditionally executing related reports in parallel based on an estimated execution time
Publication Date: 2014.06.03 SALESFORCE INC
  • US8745625B2 patent drawing
  • US8745625B2 patent drawing
  • US8745625B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for conditionally executing related reports in parallel based on an estimated execution time. These mechanisms and methods for conditionally executing related reports in parallel based on an estimated execution time can provide parallel execution of related reports when predetermined time-based criteria are met. The ability to conditionally provide parallel execution of related reports can reduce overhead caused by such parallel execution when the time-based criteria is met.