Database Key Permission Orchestration for Write Conflict Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern database systems with multiple active database nodes, there is a risk of concurrent writes to the same database key, leading to transactional isolation violations and potential application anomalies, as existing implementations lack effective mechanisms for coordinating database key permissions among nodes.

Innovation Solution

A permission orchestrator node orchestrates the distribution of database key permissions among worker nodes, ensuring that only one node has permission to write to a specific key at a time, using a 'tug-of-war' mechanism to redistribute permissions as needed, allowing for efficient load balancing and conflict prevention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple active database nodes are used to improve processing capacity, then productivity is improved, but the risk of concurrent writes to the same database key increases leading to transactional isolation violations

Engineering Contradiction:
Improvetransaction processing capacityVSAvoidtransactional isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A permission orchestrator node is introduced as an intermediary between worker nodes and the database keys. The orchestrator manages permission distribution, receiving permission requests from worker nodes and granting permissions selectively. This mediator mechanism allows multiple worker nodes to operate concurrently while maintaining transactional isolation by ensuring only the authorized node can write to each database key at any given time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a single node holds permission to a database key, then transactional isolation is maintained, but load balancing and workload distribution are limited

Engineering Contradiction:
Improvetransactional isolationVSAvoidworkload distribution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The permission assignment is made dynamic rather than static. The permission orchestrator can revoke permissions from one worker node and grant them to another based on current workload conditions. This dynamic permission redistribution enables load balancing while maintaining transactional isolation, as permissions are transferred through controlled orchestration rather than fixed assignment.

Inventive Principle:
Principle #15Dynamics

3Reliability

If permission requests are processed individually for each database key, then precise permission control is achieved, but processing overhead and system complexity increase

Engineering Contradiction:
Improvepermission control precisionVSAvoidpermission management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The permission orchestrator combines multiple permission management functions into a single centralized component. It handles permission requests, decisions, and distributions for all database keys through one coordination point, reducing system complexity compared to distributed permission management. The orchestrator maintains precise permission control by evaluating each request individually while managing the overall permission state centrally.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4217896B1Key permission distribution
Publication Date: 2025.12.31 SALESFORCE INC
  • EP4217896B1 patent drawingFigure 1
  • EP4217896B1 patent drawingFigure 2
  • EP4217896B1 patent drawingFigure 3

AI summary

Techniques are disclosed relating to the distribution of database key permissions. A database system may distribute first permission information to a plurality of database nodes that identifies a distribution of key range permissions to ones of the plurality of database nodes. A given key range permission being distributed to a given database node may permit that database node to write records whose keys fall within a key range associated with the given key range permission. The database system may receive, from a first database node, a request for a first key range permission provisioned to a second database node. The database system may modify the first permission information to derive second permission information that provisions the first key range permission to the first database node instead of the second database node. The database system may distribute the second permission information to ones of the plurality of database nodes.