Systems and methods for handling database deadlocks induced by database-centric applications

US9323505B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9323505-B2
Application numberUS-201414312548-A
CountryUS
Kind codeB2
Filing dateJun 23, 2014
Priority dateAug 13, 2010
Publication dateApr 26, 2016
Grant dateApr 26, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for generating a program for accessing a database, the method comprising: retrieving one or more structure query language (SQL) statements associated with one or more database-centric applications for accessing the database; generating a syntax tree based on the one or more SQL statements, the syntax tree identifying a data structure of an SQL statement of the one or more SQL statements; generating a petri net model based on the syntax tree and a schema for the database; generating an augmented petri net model, based on the petri net model, that enforces mutual exclusion properties of the petri net model for identifying a deadlock caused by the one or more database-centric applications for accessing the database; and generating the program based on the augmented petri net model, the program being configured to receive first transactions from the one or more database-centric applications, predict a deadlock, and provide second transactions to the database based on predicting the deadlock. 2. The computer-implemented method of claim 1 , wherein generating the augmented petri net model comprises: augmenting the petri net model by generating mutual exclusion supervisors to enforce the mutual exclusion properties of the petri net model, and wherein generating the program comprises: generating a supervisory control to enforce liveness of the augmented petri net model; and generating the program by translating the supervisory control into executable code. 3. The computer-implemented method of claim 1 , further comprising inserting the program into a database management system. 4. The computer-implemented method of claim 1 , wherein the program prevents the predicted deadlock by serializing the first transactions to create the second transactions. 5. The computer-implemented method of claim 1 , wherein capturing the one or more SQL statements are created during development of a database-centric application of the one or more database-centric applications. 6. The computer-implemented method of claim 1 , wherein capturing the one or more SQL statements are recovered from source code of a database-centric application, of the one or more database-centric applications, using static analysis. 7. The computer-implemented method of claim 1 , wherein one or more SQL statements are intercepted during runtime monitoring of a database-centric application of the one or more database-centric applications. 8. The computer-implemented method of claim 1 , wherein the one or more SQL statements are captured before a database-centric application, of the one or more database-centric applications, is released to customers. 9. A non-transitory computer-readable storage medium storing instructions, the instructions comprising: one or more instructions that, when executed by at least one processor, cause the at least one processor to: retrieve one or more structure query language (SQL) statements associated with one or more database-centric applications for accessing a database; generate a syntax tree based on the execution profile one or more SQL statements, the syntax tree identifying a data structure of an SQL statement of the one or more SQL statements; generate a petri net model based on the syntax tree and a schema for a database; generate an augmented petri net model, based on the petri net model, that enforces mutual exclusion properties of the petri net model for identifying a deadlock caused by the one or more database-centric applications for accessing the database; and generate a program based on the augmented petri net model, the program being configured to receive first transactions from the one or more database-centric applications, predict a deadlock, and provide second transactions to the database based on predicting the deadlock. 10. The non-transitory computer-readable storage medium of claim 9 , wherein the one or more instructions to generate the augmented petri net model comprise: one or more instructions that, when executed by the at least one processor, cause the at least one processor to: augment the petri net model by generating mutual exclusion supervisors to enforce the mutual exclusion properties of the petri net model, and wherein the one or more instructions to generate the program comprise: one or more instructions that, when executed by the at least one processor, cause the at least one processor to: generate a supervisory control to enforce liveness of the augmented petri net model; and generate the program by translating the generated supervisory control into executable code. 11. The non-transitory computer-readable storage medium of claim 9 , where the instructions further comprise: one or more instructions that, when executed by the at least one processor, cause the at least one processor to: insert the program into a database management system. 12. The non-transitory computer-readable storage medium of claim 9 , wherein the program prevents the predicted deadlock by serializing the first transactions to create the second transactions. 13. The non-transitory computer-readable storage medium of claim 9 , wherein the one or more SQL statements are created during development of a database-centric application of the one or more database-centric applications. 14. The non-transitory computer-readable storage medium of claim 9 , wherein the one or more SQL statements are recovered from source code of a database-centric application, of the one or more database-centric applications, using static analysis. 15. The non-transitory computer-readable storage medium of claim 9 , wherein the one or more SQL statements are intercepted during runtime monitoring of a database-centric application of the one or more database-centric applications. 16. A system comprising: a memory to store a database; and a processor to: retrieve one or more structure query language (SQL) statements associated with one or more database-centric applications for accessing the database; generate a syntax tree based on the execution profile one or more SQL statements, the syntax tree identifying a data structure of an SQL statement of the one or more SQL statements; identify a schema for the database; generate a petri net model based on the syntax tree and the schema for the database; generate an augmented petri net model, based on the petri net model, that enforces mutual exclusion properties of the petri net model for identifying a deadlock caused by the one or more database-centric applications for accessing the database; and generate a program based on the augmented petri net model, the program being configured to receive first transactions from the one or more database-centric applications, predict a deadlock, and provide second transactions to the database based on predicting the deadlock. 17. The system of claim 16 , wherein, when generating the augmented petri net model, the processor is to: generate the augmented petri net model by augmenting the petri net model to enforce the mutual exclusion properties of the petri net model. 18. The system of claim 16 , wherein the program prevents the predicted deadlock by serializing the first transactions to create the second transactions. 19. The system of claim 16 , wherein one or more SQL statements are recovered from source code of a database-centric application, of the one or more database-centric applications, using static analysis. 20. The system of claim 16 , one or more SQL statements ar

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9323505B2 cover?
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 …
Who is the assignee on this patent?
Accenture Global Services Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/35. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).