Cooperative Locking Between DBMS and Distributed Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data locking mechanisms in databases integrated with distributed programming environments face challenges in coordinating locks between database management systems (DBMS) and distributed applications, leading to inconsistencies and simultaneous access issues.

Innovation Solution

Implementing a cooperative data locking method where a DBMS and a distributed application lock corresponding database elements and data tuples in an operator graph, transmitting lock indications between each other to ensure synchronized locking and unlocking, thereby maintaining data integrity and preventing simultaneous access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data locking is implemented in databases integrated with distributed programming environments, then data consistency is improved, but coordination complexity between DBMS and distributed applications increases

Engineering Contradiction:
Improvedata consistencyVSAvoidcoordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a lock manager as an intermediary component that mediates between the DBMS and distributed applications. The lock manager receives lock requests from distributed applications, translates them into appropriate DBMS lock operations, and manages the coordination of locks across both systems. This intermediary layer abstracts the complexity of coordination, allowing distributed applications to work with data tuples in the operator graph while the lock manager handles the intricate details of synchronizing with DBMS locks, thereby improving data consistency without exposing the full coordination complexity to end users.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cooperative locking is implemented between DBMS and distributed applications, then simultaneous access issues are prevented, but system operation complexity increases

Engineering Contradiction:
Improveaccess controlVSAvoidsystem operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements self-service mechanisms where the lock manager automatically performs lock coordination without requiring manual intervention from developers or operators. When a distributed application requests access to data, the lock manager automatically checks for existing locks, acquires appropriate locks, and releases them when done. The system also includes automatic conflict detection and resolution, where the lock manager can detect potential conflicts and automatically manage lock acquisition order to prevent deadlocks. This automation reduces the operational burden on users while maintaining strict access control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where the lock manager continuously monitors the state of locks in both the DBMS and distributed application components. When a lock is acquired or released, the lock manager provides feedback to all relevant components to update their state. This feedback loop ensures that all parts of the system have consistent information about lock status, enabling automatic conflict resolution and simplifying the operation for users who don't need to manually track lock states.

Inventive Principle:
Principle #23Feedback

3Reliability

If lock indications are transmitted between DBMS and distributed applications, then synchronized locking is achieved, but communication overhead increases

Engineering Contradiction:
Improvelocking synchronizationVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements preliminary action by having the lock manager pre-establish communication channels and lock protocols between the DBMS and distributed applications before actual data operations begin. Lock metadata and communication pathways are prepared in advance, allowing the system to quickly exchange lock indications during runtime without establishing connections on-demand. This preliminary setup reduces the communication overhead during actual locking operations, as the infrastructure is already in place and optimized for the specific DBMS-application pairing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10528544B2Cooperative locking between databases integrated with distributed programming environments
Publication Date: 2020.01.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10528544B2 patent drawing
  • US10528544B2 patent drawing
  • US10528544B2 patent drawing

AI summary

Systems, methods, and computer program products to perform an operation comprising locking, by a first one of a database management system (DBMS) and a distributed application, one of a first database element and a first data tuple, wherein the first data tuple is of a plurality of tuples in an operator graph of the distributed application, transmitting an indication of the locking by the first one of the DBMS and the streams computing application to a second one of the DBMS and the distributed application, identifying, by the second one of the DBMS and the distributed application, one of a second database element and a second data tuple corresponding to the one of the first database element and the first data tuple, and locking, by the second one of the DBMS and the streams computing application, the identified one of the second database element and the second data tuple.