Petri Net Supervisory Control for Database Deadlock Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database deadlocks in database-centric applications lead to significant performance degradation and financial costs due to the complexity of detecting and resolving concurrency errors, which are exacerbated by the lack of clear indication of which applications may create deadlocks and the overhead of existing timeout mechanisms.

Innovation Solution

A method and system that retrieve and parse SQL statements and transactions to generate Petri net models, identifying potential deadlocks, and use augmented Petri net models to facilitate the removal of deadlocks through supervisory control, enabling proactive detection and resolution of database deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If timeout mechanisms are used to detect and resolve database deadlocks, then database deadlocks can be detected and resolved, but significant performance degradation occurs in the DCAs involved

Engineering Contradiction:
Improvedeadlock detection capabilityVSAvoidDCA performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary analysis of SQL statements by parsing them into syntax trees and generating Petri net models before execution. This allows potential deadlocks to be identified in advance through static analysis, avoiding the need for timeout mechanisms during runtime and preventing performance degradation while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If SQL statements are compiled with execution plan optimization to avoid deadlocks, then deadlock prevention capability is improved, but execution time of each SQL statement doubles due to significant overhead

Engineering Contradiction:
Improvedeadlock prevention capabilityVSAvoidSQL statement execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary static analysis of SQL statements by parsing them into syntax trees and generating Petri net models to identify potential deadlocks before execution. This upfront analysis allows the system to detect deadlock-prone patterns without incurring runtime overhead, thus preventing deadlocks without doubling execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates simplified Petri net models that copy the essential structure and resource access patterns of SQL statements. These models enable efficient static analysis of potential deadlocks without requiring full compilation and optimization of execution plans, avoiding the significant overhead that would double execution time.

Inventive Principle:
Principle #26Copying

3Reliability

If database users and programmers are responsible for preventing deadlocks, then database consistency is maintained, but it is difficult to determine in advance what SQL statements will execute and which users will share the same database

Engineering Contradiction:
Improvedatabase consistencyVSAvoiddeadlock detection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system enables automatic deadlock detection by parsing SQL statements and generating Petri net models that self-analyze resource access patterns. This eliminates the burden on database users and programmers to manually prevent deadlocks, while maintaining database consistency through automated analysis of which users and SQL statements will share database resources.

Inventive Principle:
Principle #25Self-service

4Difficulty of detecting and measuring

If source code analysis is used to identify potential deadlocks, then deadlock sources can be detected, but it is a time-consuming task especially for nontrivial DCAs with multiple levels of abstraction

Engineering Contradiction:
Improvedeadlock source identificationVSAvoidanalysis time
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The system extracts only the essential elements needed for deadlock analysis from SQL statements - specifically the syntax structure and resource access patterns - by parsing into syntax trees and generating Petri net models. This extraction approach avoids time-consuming analysis of entire source codebases with multiple abstraction levels, focusing only on the critical components that determine deadlock potential.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9323505B2Systems and methods for handling database deadlocks induced by database-centric applications
Publication Date: 2016.04.26 ACCENTURE GLOBAL SERVICES LTD
  • US9323505B2 patent drawing
  • US9323505B2 patent drawing
  • US9323505B2 patent drawing

AI summary

Systems and methods are provided for handling database deadlocks induced by database-centric applications (DCAs). SQL statements and transactions associated with the DCAs are analyzed and parsed to generate Petri net models. A supervisory modeler generates augmented Petri net models based on the Petri net models, which are used in generating supervisory control. The supervisory control is used in handling database deadlocks.