Column-Level Locking for Batch Dataset Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server interaction methods are inefficient for large datasets, leading to high latency and computational overload when updating multiple cells, as they require individual locking operations, which are not scalable and result in poor user experience.

Innovation Solution

Implementing a system that locks entire columns instead of individual cells, allowing for batch updates of multiple cells during a single locking session, which reduces latency and increases computational efficiency by performing updates asynchronously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual cell locking operations are used for updating multiple cells, then data consistency is maintained, but latency increases and computational efficiency deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple individual cell locking operations into a single column-level locking operation. When a cell update is triggered, the system identifies the entire column containing that cell and locks the whole column, allowing batch processing of multiple cell updates within the same locking session. This combining approach maintains data consistency across all cells in the column while significantly reducing the number of locking operations and associated latency.

Inventive Principle:
Principle #5Merging (Combining)

2Ease of operation

If individual cell locking operations are used for updating multiple cells, then precise control over each cell is achieved, but computational overhead increases and scalability worsens

Engineering Contradiction:
Improveprecise controlVSAvoidcomputational overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent transitions from a fine-grained, cell-level locking dimension to a coarser, column-level locking dimension. Instead of managing locks at the individual cell level, the system elevates the locking granularity to the column level, which contains multiple cells. This dimensional change reduces computational overhead by minimizing the number of locking operations while still providing precise control over data consistency through the batch processing of updates within each locked column.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If synchronous batch updates are performed on locked columns, then data consistency is ensured, but processing speed decreases due to blocking operations

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic action by performing batch updates at specific intervals or triggers rather than continuously. When update triggers are detected within a locked column, the system accumulates the updates and processes them in periodic batch operations. This approach maintains data consistency through structured batch processing while improving processing speed by avoiding continuous synchronous operations and allowing the system to handle multiple updates efficiently in scheduled intervals.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11409956B1Asynchronous and synchronous locking mechanism
Publication Date: 2022.08.09 MONDAY COM LTD
  • US11409956B1 patent drawing
  • US11409956B1 patent drawing
  • US11409956B1 patent drawing

AI summary

There is provided a system for dynamically updating data in dataset, comprising: at least one processor executing a code for: receiving an indication of trigger for a change of a first cell of cells of a dataset, updating the first cell according to the trigger, determining a second cell dependent on the first cell, sending to the second cell, an event message indicating the update of the first cell, locking a column of cells that include the second cell and other cells, and re-computing values of the second cell and other cells of the locked column, by performing a batch update of the cells of the locked column according to the event message, and according to additional event messages sent to the cells of the locked column that received before the locking and/or received during the locking.