Transient Object Field Synchronization in Database Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face challenges in synchronizing field values across objects, leading to potential data corruption when custom code executes before dependencies are updated, resulting in incorrect or unknown states being introduced into the system.

Innovation Solution

Implementing a method to detect changes in one field and update dependent fields in other transient data objects before committing any data to storage, ensuring all dependencies are updated during a multistep save process, which can occur before or after executing triggers or workflows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If custom code executes before dependencies are updated in the database, then the code can run faster with fewer synchronization steps, but data corruption occurs because the code accesses outdated or unknown field values

Engineering Contradiction:
Improvetransaction processing speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary field synchronization by detecting changes in source fields and automatically updating all dependent fields in transient data objects before the transaction is committed to the database. This ensures that when custom code executes, all field values are already synchronized and up-to-date, eliminating data corruption while maintaining efficient single-step transactions.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple save operations are performed to ensure field synchronization, then data integrity is maintained, but the transaction process becomes slower and more complex

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Field synchronization is performed preliminarily during the transaction building phase, before the save operation occurs. Change detection mechanisms monitor field modifications and automatically update dependent fields in memory, so that when the single save operation executes, all data is already consistent. This eliminates the need for multiple save operations while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary field synchronization mechanism that acts as a mediator between field changes and database commits. This intermediary layer detects changes, calculates dependent field values, and updates transient objects before the actual database save, allowing single-step transactions to maintain integrity without requiring multiple save operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If field values are synchronized before committing changes, then data corruption is prevented, but additional processing steps are required

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service field synchronization where the database system automatically detects field changes and updates dependent fields without requiring external intervention or complex manual synchronization processes. The change detection mechanisms and dependency resolution are built into the system, allowing automatic field synchronization to occur transparently during normal transaction operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An intermediary field synchronization layer is introduced that automatically manages the complexity of field dependency tracking and updates. This intermediary mechanism handles change detection, dependency resolution, and field value propagation, shielding users from the underlying complexity while ensuring data integrity through automatic pre-commit synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8447745B2Synchronizing field values in an on-demand database prior to committing a change
Publication Date: 2013.05.21 SALESFORCE INC
  • US8447745B2 patent drawing
  • US8447745B2 patent drawing
  • US8447745B2 patent drawing

AI summary

Methods and systems are provided for synchronizing field values in transient data objects, such as JAVA® objects, before saving a transaction to a database. A dependency from one data object to another data object is detected, and changes which affect the second data object's fields through the dependency are flowed through to the second data object. This is performed between each step of a multistep save process, such between triggers, validation rules, workflows, and the final committing of data to the database.