Blockchain Cache Object Event Aggregation for Block Addition Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The overhead in time and processor cycles associated with adding blocks to a blockchain, due to the need for network consensus and storage, makes it inefficient for frequent data updates, insertions, or deletions in a blockchain-based system.

Innovation Solution

Implementing a cache to store events related to database changes, allowing for bulk processing and reducing the frequency of direct blockchain additions by aggregating multiple events into a single block, thereby minimizing the number of blockchain transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If blocks are added frequently to store every database change in the blockchain, then data integrity and immutability are maintained, but system performance deteriorates due to high overhead in network consensus and block addition operations

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data storage function into two parts: a database for frequent writes and a blockchain for periodic bulk storage. This segmentation allows the system to maintain data integrity in the blockchain without requiring frequent block additions, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-processing database changes into event objects and storing them in a buffer before bulk-adding to the blockchain. This preliminary preparation reduces the frequency of blockchain operations while ensuring data integrity is maintained through structured event objects containing all necessary information.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the frequency of adding blocks to the blockchain is reduced to improve performance, then system productivity increases, but the timeliness of data availability in the blockchain deteriorates

Engineering Contradiction:
Improvetransaction efficiencyVSAvoiddata availability time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-processing database changes into standardized event objects with timestamps and change types, storing them in a buffer ready for bulk addition. This preparation ensures that when blocks are added to the blockchain, the data is immediately available in a structured format, reducing the time loss despite reduced addition frequency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of block addition from frequent individual additions to periodic bulk additions. This parameter change improves productivity by reducing the overhead of frequent network consensus operations, while the use of event objects with timestamps ensures data availability timeliness is maintained through efficient batch processing.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple database changes are aggregated into a single block to reduce overhead, then system productivity improves, but the complexity of managing block contents increases

Engineering Contradiction:
Improveblock addition efficiencyVSAvoidblock management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments each database change into a discrete event object with clear structure (change type, timestamp, data before/after). This segmentation allows multiple changes to be aggregated into a single block while maintaining manageability through standardized, independent event units, thus improving productivity without excessive complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the organization parameter from individual blocks per change to bulk blocks containing multiple event objects. This parameter change improves block addition efficiency by reducing overhead, while the use of structured event objects with consistent parameters keeps the complexity of managing block contents manageable through standardization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11405183B2Using cache objects to store events for adding corresponding objects in a blockchain
Publication Date: 2022.08.02 SALESFORCE INC
  • US11405183B2 patent drawing
  • US11405183B2 patent drawing
  • US11405183B2 patent drawing

AI summary

Methods and systems are described for using cache objects to store events for adding corresponding objects in a blockchain. In one implementation, a first cache object is identified. The cache object stores events published responsive to updates, insertions, or deletions of records in a database object. An identifier for the cache object is based on a time window with which the cache object is associated, and an identifier for the database object. Events are retrieved from a cache that includes the cache object, based on the identifier for the cache object. The events were stored in the cache object during the time window. A block is added to a blockchain. The block's payload includes objects corresponding to a subset of the events.