Distributed Relational Catalog Deadlock Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems lack the ability to predictively identify potential deadlocks between catalog access statements at runtime, leading to inefficiencies and performance issues, as they often require simulation which may not expose all deadlocks and can be time-consuming.
Innovation Solution
A deadlock testing module that analyzes lock schedules ahead of time to determine potential deadlocks by transforming catalog access statements into lock schedules, exploring all timing combinations, and utilizing blocking locks to prevent deadlocks from occurring, thus avoiding runtime interference and improving system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If runtime deadlock detection is used to identify potential deadlocks between catalog access statements, then system reliability is improved by preventing deadlocks, but system performance deteriorates due to runtime interference and detection overhead
Solution Approach 1:
The patent performs deadlock detection at compile time rather than runtime by analyzing lock schedules and transforming catalog access statements into lock schedules. This preliminary action identifies potential deadlocks before the system runs, allowing the generation of deadlock-free code without runtime detection overhead, thus maintaining both reliability and performance
2Reliability
If simulation is used to test catalog access statements for deadlocks, then potential deadlocks can be identified, but the testing process becomes time-consuming and may not expose all deadlocks
Solution Approach 1:
The patent transforms catalog access statements into lock schedules at compile time and performs static analysis to identify potential deadlocks. This preliminary transformation and analysis eliminates the need for time-consuming runtime simulation while ensuring all potential deadlocks are identified through comprehensive lock schedule analysis
Solution Approach 2:
The patent replaces dynamic simulation (mechanical testing approach) with static analysis of lock schedules. By transforming the testing mechanism from runtime simulation to compile-time analysis, the system achieves complete deadlock identification without the time loss and incompleteness issues of simulation
Data Source
AI summary
A first and a second catalog access statement are obtained. For the first catalog access statement, a first lock schedule which includes a catalog resource being locked and a lock strength is obtained. For the second catalog access statement, a second lock schedule which includes a catalog resource being locked and a lock strength are obtained. A potential deadlock between the first and the second catalog access statement is identified, including by comparing the first lock schedule and the second lock schedule.


