8407531

Method of Collecting and Correlating Locking Data to Determine Ultimate Holders in Real Time

PublishedMarch 26, 2013
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, comprising: collecting a first information on a plurality of programs waiting on or holding a plurality of resources from computers in a multi-computer database system, the first information including a program identifier, a resource identifier, a hold time, and a wait time; creating a first table that includes the first information of programs from one of the multi-computer systems; creating a second table that includes the first information of programs from another of the multi-computer systems; sorting the first information by resource identifier, hold time, and wait time to generate a sorted list; determining an identifier for a program associated with a first row of the sorted list when the first row has a non-zero hold time for a particular resource; identifying a second row of the sorted list that has a non-zero wait time for the particular resource; linking a row of the second table corresponding to the second row of the sorted list with a row of the first table corresponding to the program associated with the first row of the sorted list using the identifier when the first information of the second row of the sorted list is stored in the second table; linking another row of the first table corresponding to the second row of the sorted list with the row of the first table corresponding to the program associated with the first row of the sorted list using the identifier when the first information of the second row of the sorted list is stored in the first table; repeating the determining, identifying, and linking for all rows of the sorted list with a non-zero hold time; identifying a first program of the plurality of programs, executing on a first computer of the multi-computer database system, that is waiting on a first resource of the plurality of resources; identifying a second program of the plurality of programs, executing on a second computer of the multi-computer database system, as the ultimate holder of the first resource by using the first table and the second table; and displaying a second information corresponding to the first program and the second program, wherein the method is performed on a periodic basis.

2

2. The method of claim 1 , wherein the act of collecting a first information comprises: receiving a first program information from a database program executing on the first computer; receiving a second program information from a database program executing on the second computer; and combining the first program information and the second program information as the first information.

3

3. The method of claim 1 , wherein the second program is a holder of a second resource.

4

4. The method of claim 1 , the periodic basis is a configurable periodic basis.

5

5. The method of claim 1 , wherein collecting the first information, identifying the first program, identifying the second program, and displaying the second information may also be performed upon demand.

6

6. The method of claim 1 , wherein collecting the first information comprises: collecting a status indicator information for each of the plurality of programs.

7

7. The method of claim 1 , further comprising: detecting a deadlock involving the first program, wherein the act of displaying a second information comprises: displaying a third information corresponding to the deadlock.

8

8. The method of claim 1 , wherein the wait time indicates how long the first program has been waiting on the first resource.

9

9. The method of claim 1 , wherein identifying the second program comprises: traversing, using the first table and the second table, a chain of programs of the plurality of programs that are both holding a resource of the plurality of resources and waiting on another resource of the plurality of resources until reaching the second program, which is not waiting on any resource of the plurality of resources; and identifying the second program as the ultimate holder of the first resource.

10

10. The method of claim 1 , wherein the rows of the first table and the second table comprise a forward pointer and a backward pointer and, for a particular row that is a holder of a certain resource and a waiter on another resource, the backward pointer points to a row for a program waiting on the certain resource and the forward pointer points to a row for a program that holds the another resource.

11

11. The method of claim 1 , wherein displaying the second information comprises: displaying a subset of the second information corresponding to the first program on first line; and displaying a subset of the second information corresponding to the second program on a second line.

12

12. The method of claim 1 , wherein displaying the second information comprises: displaying the second information on a single line.

13

13. The method of claim 1 , wherein displaying the second information comprises: formatting the second information as a multiline display; formatting the second information as a single line display; and displaying either the multiline display or the single line display responsive to receiving a display selection indication.

14

14. The method of claim 1 , wherein the first program is waiting on the first resource and a second resource of the plurality of resources, and the method further comprises: identifying an ultimate holder of the second resource; and displaying information corresponding to the ultimate holder of the second resource.

15

15. The method of claim 1 , wherein the act of identifying a second program fails to identify the second program, and wherein the act of displaying the second information comprises: displaying information corresponding to the first program.

16

16. The method of claim 1 , wherein the act of identifying the second program comprises: identifying a third program that is an immediate holder of the first resource using the first table and the second table, wherein the third program is executing on the second computer of the multi-computer database system and is waiting on a second resource; and wherein information corresponding to the third program is stored in a portion of a row of the first table corresponding to the first program.

17

17. The method of claim 16 , wherein the rows of the first table and the second table comprise at least one holder area portion for storing the identifier.

18

18. The method of claim 17 , wherein the act of identifying the second program comprises: using the links in the holder area portions to identify the second program as an immediate holder of the second resource.

19

19. A non-transitory computer-readable medium with instructions for a programmable control device stored thereon wherein the instructions cause a programmable control device to perform the method of claim 1 .

20

20. A networked computer system comprising: a plurality of computers communicatively coupled, at least one of the plurality of computers programmed to perform at least a portion of the method of claim 1 wherein the entire method of claim 1 is performed collectively by the plurality of computers.

Patent Metadata

Filing Date

Unknown

Publication Date

March 26, 2013

Inventors

Loc D. Tran
Gary B. Genest
Dale J. Stroyick

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD OF COLLECTING AND CORRELATING LOCKING DATA TO DETERMINE ULTIMATE HOLDERS IN REAL TIME” (8407531). https://patentable.app/patents/8407531

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.