Patent ID: 8843931

Claim:
A system comprising: a computer storage device and a computer processor configured to: for at least two computer programs in the system, for at least two transactions in the system, and for at least two database tables in the system, performing the steps of: (a) determine a frequency of execution of the computer programs in the system, and designate as critical, in a first sample space, frequently executed computer programs whose frequency of execution is above a first threshold; (b) determine a frequency of execution of the transactions in the system, and designate as critical, in a second sample space, frequently executed transactions whose frequency of execution is above a second threshold, and designate as critical, in the second sample space, sporadically executed transactions whose frequency of execution is below a third threshold; (c) determine a number of users who execute each of the transactions, and designate as critical, in a third sample space, the transactions having a large number of users whose number of users is above a fourth threshold and designate as critical, in the third sample space, the transactions having a small number of users whose number of users is below a fifth threshold; (d) determine from the computer programs and the transactions that are associated with each of the database tables, whether a change occurs in an amount of data in each of the database tables; identify database tables having a large change in the amount of data, and designate as critical, in a fourth sample space, computer programs and transactions that modify the database tables with the largest change in the amount of data above a sixth threshold, (e) determine an amount of time that each computer program is executed and an amount of time that each transaction is executed, and designate as critical, in a fifth sample space, the computer programs having an execution time above a seventh threshold and the transactions with a large amount of execution time above an eighth threshold; determine intersections of computer programs and transactions by: generating a plurality of particular groupings from selections of two or more sample spaces (a), (b), (c), (d), and (e) and for each grouping examining the identified critical computer programs or transactions of the sample spaces of the particular grouping to determine an intersection of computer programs or transactions; and assign a weighted value to each of the intersections; and determine an overall criticality for a particular computer program or a particular transaction, wherein the overall criticality for the particular computer program or the particular transaction comprises a function of a number of intersections in which the particular computer program or the particular transaction appears and the weighted values assigned to the intersections.