Patent Document ID: 9898382
Application ID: 14634473
Patent Status: 1

Claim One:
1. A method comprising: executing a computing device for a predetermined time interval and recording data related to the execution of the computing device into a log; analyzing the data recorded into the log to identify blocking relationships between processes executing on the computing device, wherein blocking relationships comprise lock contention information related to a first process being blocked by a second process due to the first process being unable to acquire a lock on an object because the second process is holding the lock on the object; plotting the data into a graph data structure comprising: a plurality of nodes, each node representing one of the processes executing on the computing device; and links between the nodes that indicate the blocking relationships between the processes; setting a predetermined initial criminal score for each node; setting a predetermined initial victim score for each node; based on the identified blocking relationships, updating the predetermined initial criminal score and the predetermined initial victim score of each node to generate a criminal score and a victim score of each node; iteratively updating the criminal score and the victim score of each node until predetermined criteria for terminating the iterations are met, wherein the criminal score indicates the tendency of the node to block other nodes and the victim score indicates the tendency of the node to be blocked by other nodes, and wherein the criminal score is updated based on the victim scores of the nodes that the node blocks and the victim score is updated based on the criminal scores of the nodes that block the node; displaying one or more nodes of the plurality of nodes on a visual display, including an indication related to impact on efficiency of operation of the computing device based on a most recently updated criminal score and victim score of each of the one or more nodes; and after the predetermined criteria for terminating the iterations are met, identifying a process to be optimized based on a most recently updated criminal score and victim score of the node associated with the process.