Workflow Field Formula Evaluation in Multi-Tenant Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large database systems face inefficiencies in evaluating formulas due to dispersed data and increased computing resource demands, leading to unnecessary evaluations and waste of resources, especially in multi-tenant environments where data is shared across customers.

Innovation Solution

Implementing techniques such as classifying formulas, synchronous and asynchronous evaluation methods, providing default values, and executing actions only after validation, allowing for efficient formula evaluation and data manipulation in multi-tenant databases by determining the optimal evaluation approach based on the formula's type and resource availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If formulas are evaluated in large database systems with dispersed data, then formula computation can be performed, but computing resource consumption increases significantly

Engineering Contradiction:
Improveformula evaluation capabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system pre-evaluates formulas when records are inserted or updated, storing the results in advance. This preliminary action avoids the need to re-evaluate formulas repeatedly during queries, significantly reducing computing resource consumption while maintaining reliable formula evaluation capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements selective formula evaluation by determining whether a formula requires re-evaluation based on changes in specific dependent fields. Only formulas affected by actual data changes are re-evaluated, while others use cached results, optimizing resource usage while ensuring computational accuracy where needed.

Inventive Principle:
Principle #3Local quality

2Reliability

If formulas are evaluated frequently to ensure data accuracy, then data reliability improves, but system performance deteriorates due to unnecessary evaluations

Engineering Contradiction:
Improvedata accuracyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements a feedback mechanism that tracks which fields a formula depends on and only re-evaluates the formula when those specific fields change. This selective approach maintains data accuracy by evaluating formulas when necessary while preventing unnecessary re-evaluations that would degrade system performance.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If data is shared across multiple tenants in a multi-tenant environment, then resource utilization improves, but data dispersion increases making formula evaluation less efficient

Engineering Contradiction:
Improvemulti-tenant sharing capabilityVSAvoiddata retrieval time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

In multi-tenant environments, the system pre-evaluates and caches formula results when data is inserted or updated, regardless of which tenant owns the data. This preliminary action eliminates the need to retrieve and re-evaluate dispersed data across multiple tenants during queries, reducing data retrieval time while maintaining the ability to share resources efficiently.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8738590B2Implementing workflow field formulas
Publication Date: 2014.05.27 SALESFORCE INC
  • US8738590B2 patent drawing
  • US8738590B2 patent drawing
  • US8738590B2 patent drawing

AI summary

The efficiency and versatility for the implementation of formulas in an on-demand database is improved. Workflow field formulas are triggered by actions in a workflow, to produce values in fields. Resulting values are protected by preventing a subsequent reevaluation of the workflow field formula from taking place when values of input fields used in the workflow field formula change.