Nested Transaction Isolation via Identifier Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data systems face challenges in ensuring isolation between nested transactions within a parent transaction, particularly in multi-version data systems, where operations within nested transactions may interfere with each other, leading to inconsistent data access and processing.

Innovation Solution

Implementing a mechanism where each nested transaction is assigned a begin transaction identifier and a completion transaction identifier, which serves as a statement identifier, allowing the parent transaction to manage visibility and isolation by comparing these identifiers to determine the visibility of object versions, ensuring that only changes made before the nested transaction started are visible to it.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If nested transactions are allowed to execute concurrently or interleaved within a parent transaction, then productivity is improved, but isolation between nested transactions deteriorates leading to inconsistent data access

Engineering Contradiction:
Improveexecution throughput of nested transactionsVSAvoidisolation between nested transactions
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the transaction execution by assigning distinct begin and completion transaction identifiers to each nested transaction. This segmentation allows the system to track which object versions are visible to which nested transactions, ensuring that concurrent or interleaved executions maintain proper isolation boundaries without requiring sequential processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces transaction identifiers (begin transaction identifier and completion transaction identifier) as intermediary mechanisms that mediate between nested transactions and object versions. These identifiers act as mediators that enable the visibility verification process, allowing nested transactions to access only appropriate object versions while maintaining isolation, thus resolving the contradiction between concurrent execution and data isolation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If strict isolation is enforced between nested transactions, then data consistency is improved, but device complexity increases due to version tracking and identifier management

Engineering Contradiction:
Improvedata consistencyVSAvoidcomplexity of transaction management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by assigning begin transaction identifiers to nested transactions before they execute and completion transaction identifiers after they complete. This advance preparation and subsequent finalization of identifiers simplifies the isolation enforcement mechanism, as the system only needs to compare these pre-assigned identifiers against object version timestamps rather than implementing complex real-time isolation protocols.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter representation of transaction states by using begin and completion transaction identifiers as key parameters for visibility verification. This parameter transformation converts the complex isolation problem into a simpler comparison operation between identifiers and object version timestamps, reducing the overall system complexity while maintaining data consistency.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If object versions are tracked with multiple identifiers, then measurement precision of transaction visibility is improved, but loss of time increases due to comparison operations

Engineering Contradiction:
Improvevisibility verification accuracyVSAvoidtime for identifier comparison operations
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts the essential visibility verification logic into a simple comparison operation between transaction identifiers and object version timestamps. By taking out the complex isolation enforcement logic and reducing it to a straightforward identifier comparison, the system achieves high measurement precision for visibility verification while minimizing the time cost of the operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10606830B2Multi-version data system nested transactions isolation
Publication Date: 2020.03.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10606830B2 patent drawing
  • US10606830B2 patent drawing
  • US10606830B2 patent drawing

AI summary

A data system in which a parent transaction that has multiple nested transactions has isolation between the nested transactions. Each of at least some of the plurality of operations are included within a nested transaction within the parent transaction. For each of at least some of the nested transactions, a begin transaction identifier is assigned to the nested transaction; and on or around completion of the nested transaction, a completion transaction identifier is assigned as a statement identifier at least one object version operated upon by the nested transaction. Visibility of a particular version of an object to an active nested transaction may be verified by comparing the begin transaction identifier of the active nested transaction to the statement identifier of the particular version of the object. The comparison is done such that visibility achieves the proper isolation between nested transactions.