# US 11,307,958 B2 · Data collection in transaction problem diagnostic

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,307,958 B2
- Document ID: US11307958B2
- Status: Granted
- Kind: B2
- Application number: 16/135,025
- Filed: 2018-09-19
- Published: 2020-03-19
- Granted: 2022-04-19
- Earliest claimed: 2018-09-19
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Xin Zheng; Si Bin Fan; Xue Yong Zhang; Li Xiang; Li Li; Ting Xie; Chang Zhi GZ Zhang; Yan Wang; Hai He
- Web page: https://patentgrep.com/patent/US11307958B2

## CPC

- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/0745: {in an input/output transactions management context (input/output processing in general G06F13/00)}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/0775: {Content or structure details of the error report, e.g. specific table structure, specific error fields}
- G06F 11/1402: {Saving, restoring, recovering or retrying}
- G06F 11/3419: {by assessing time}
- G06F 16/1865: {Transactional file systems}
- G06F 2201/87: Monitoring of transactions
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Data collection is provided, in which one or more affected transactions related to one or more transaction exceptions are determined. Based on one or more features of the one or more affected transactions, one or more trace features are determined. Based on the one or more trace features, a data collection rule is generated. Data of a subsequent transaction complying with the data collection rule is collected.

## Claims

### Claim 1

A computer-implemented method comprising:
determining, based on a transaction exception resulting from execution of a transaction, multiple affected transactions that are affected by the transaction exception, wherein a transaction is a unit of work performed within a system to satisfy a request, and wherein each affected transaction of the multiple affected transactions is affected by the transaction exception resulting from execution of the transaction;
determining one or more features of the multiple affected transactions, wherein a feature of an affected transaction of the multiple affected transactions comprises a name of a data field in a data block corresponding to the affected transaction and a value of the data field;
determining one or more trace features based on the one or more features determined for the multiple affected transactions, wherein the determining a trace feature of the one or more trace features comprises selecting, from the one or more features determined for the multiple affected transactions, a selected feature that is in common for the multiple affected transactions in that each affected transaction of the multiple affected transactions has the selected feature and that selected feature for each affected transaction has a same data field with a same name and a same value and that selected feature is different for one or more successful transactions that occur concurrently with the multiple affected transactions in that at least a value of the same data field is different for the one or more successful transactions, the one or more trace features being one or more selected features common to the multiple affected transactions, and wherein the determining the one or more trace features further comprises:
determining the one or more successful transactions that occur concurrently with the multiple affected transactions; and
determining at least one feature in common with the multiple affected transactions that is different from at least one corresponding feature of the one or more successful transactions to be included in the one or more trace features;
generating, by one or more processors, a data collection rule based on the one or more trace features that are in common with the multiple affected transactions, the data collection rule including the one or more trace features that are in common with the multiple affected transactions; and
collecting data of a subsequent transaction complying with the data collection rule.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
predicting available resources for the collecting;
predicting resources requested for tracing subsequent transactions having different sets of features, wherein each of the different sets of features comprises at least one feature selected from the one or more features of the multiple affected transactions; and
determining, based on resources requested for tracing subsequent transactions having a set of features being satisfied by the available resources, the set of features to be included in the one or more trace features.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the collecting comprises collecting data of a subsequent transaction comprising one or more features matching with the one or more trace features.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining a time slot for the data collection rule; and
adding the time slot to the data collection rule, wherein data of a subsequent transaction complying with the data collection rule is collected during the time slot.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining a priority for the data collection rule; and
adding the priority to the data collection rule, wherein data of a subsequent transaction complying with the data collection rule is collected with a higher priority than data of another subsequent transaction complying with another data collection rule during a time slot shared by both the data collection rule and the other data collection rule based on the priority of the data collection rule being higher than the priority of the other data collection rule.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
disabling the collecting based on detecting the data collection rule is invalid.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein a transaction exception of the one or more transaction exceptions comprises at least one transaction exception selected from a group consisting of: transaction recovery, transaction rollback, database rollback, program abend, and transaction logical failure.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the one or more features of the multiple affected transactions comprise at least one feature selected from a group consisting of: user identifiers, account identifiers, operations, proxy identifiers, programs, domain stacks, filenames, and addresses related to the one or more affected transactions.

### Claim 9

A computer system comprising:
a processor; and
a memory coupled to the processor, the computer system configured to perform a method, the method comprising:
determining, based on a transaction exception resulting from execution of a transaction, multiple affected transactions that are affected by the transaction exception, wherein a transaction is a unit of work performed within a system to satisfy a request, and wherein each affected transaction of the multiple affected transactions is affected by the transaction exception resulting from execution of the transaction;
determining one or more features of the multiple affected transactions, wherein a feature of an affected transaction of the multiple affected transactions comprises a name of a data field in a data block corresponding to the affected transaction and a value of the data field;
determining one or more trace features based on the one or more features determined for the multiple affected transactions, wherein the determining a trace feature of the one or more trace features comprises selecting, from the one or more features determined for the multiple affected transactions, a selected feature that is in common for the multiple affected transactions in that each affected transaction of the multiple affected transactions has the selected feature and that selected feature for each affected transaction has a same data field with a same name and a same value and that selected feature is different for one or more successful transactions that occur concurrently with the multiple affected transactions in that at least a value of the same data field is different for the one or more successful transactions, the one or more trace features being one or more selected features common to the multiple affected transactions, and wherein the determining the one or more trace features further comprises:
determining the one or more successful transactions that occur concurrently with the multiple affected transactions; and
determining at least one feature in common with the multiple affected transactions that is different from at least one corresponding feature of the one or more successful transactions to be included in the one or more trace features;
generating a data collection rule based on the one or more trace features that are in common with the multiple affected transactions, the data collection rule including the one or more trace features that are in common with the multiple affected transactions; and
collecting data of a subsequent transaction complying with the data collection rule.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein the one or more features of the multiple affected transactions comprise at least one feature selected from a group consisting of: user identifiers, account identifiers, operations, proxy identifiers, programs, domain stacks, filenames, and addresses related to the one or more affected transactions.

### Claim 11 (depends on 9)

The computer system of claim 9, further comprising:
predicting available resources for the collecting;
predicting resources requested for tracing subsequent transactions having different sets of features, wherein each of the different sets of features comprises at least one feature selected from the one or more features of the multiple affected transactions; and
determining, based on resources requested for tracing subsequent transactions having a set of features being satisfied by the available resources, the set of features to be included in the one or more trace features.

### Claim 12 (depends on 9)

The computer system of claim 9, wherein the collecting comprises collecting data of a subsequent transaction comprising one or more features matching with the one or more trace features.

### Claim 13 (depends on 9)

The computer system of claim 9, wherein the method further comprises:
determining a time slot for the data collection rule; and
adding the time slot to the data collection rule, wherein data of a subsequent transaction complying with the data collection rule is collected during the time slot.

### Claim 14 (depends on 9)

The computer system of claim 9, wherein the method further comprises:
determining a priority for the data collection rule; and
adding the priority to the data collection rule, wherein data of a subsequent transaction complying with the data collection rule is collected with a higher priority than data of another subsequent transaction complying with another data collection rule during a time slot shared by both the data collection rule and the other data collection rule based on the priority of the data collection rule being higher than the priority of the other data collection rule.

### Claim 15

A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to perform a method comprising:
determining, based on a transaction exception resulting from execution of a transaction multiple affected transactions that are affected by the transaction exception, wherein a transaction is a unit of work performed within a system to satisfy a request, and wherein each affected transaction of the multiple affected transactions is affected by the transaction exception resulting from execution of the transaction;
determining one or more features of the multiple affected transactions, wherein a feature of an affected transaction of the multiple affected transactions comprises a name of a data field in a data block corresponding to the affected transaction and a value of the data field;
determining one or more trace features based on the one or more features determined for the multiple affected transactions, wherein the determining a trace feature of the one or more trace features comprises selecting, from the one or more features determined for the multiple affected transactions, a selected feature that is in common for the multiple affected transactions in that each affected transaction of the multiple affected transactions has the selected feature and that selected feature for each affected transaction has a same data field with a same name and a same value and that selected feature is different for one or more successful transactions that occur concurrently with the multiple affected transactions in that at least a value of the same data field is different for the one or more successful transactions, the one or more trace features being one or more selected features common to the multiple affected transactions, and wherein the determining the one or more trace features further comprises:
determining the one or more successful transactions that occur concurrently with the multiple affected transactions; and
determining at least one feature in common with the multiple affected transactions that is different from at least one corresponding feature of the one or more successful transactions to be included in the one or more trace features;
generating a data collection rule based on the one or more trace features that are in common with the multiple affected transactions, the data collection rule including the one or more trace features that are in common with the multiple affected transactions; and
collecting data of a subsequent transaction complying with the data collection rule.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the one or more features of the multiple affected transactions comprise at least one feature selected from a group consisting of: user identifiers, account identifiers, operations, proxy identifiers, programs, domain stacks, filenames, and addresses related to the one or more affected transactions.

### Claim 17 (depends on 15)

The computer program product of claim 15, further comprising:
predicting available resources for the collecting;
predicting resources requested for tracing subsequent transactions having different sets of features, wherein each of the different sets of features comprises at least one feature selected from the one or more features of the multiple affected transactions; and
determining, based on resources requested for tracing subsequent transactions having a set of features being satisfied by the available resources, the set of features to be included in the one or more trace features.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the collecting comprises collecting data of a subsequent transaction comprising one or more features matching with the one or more trace features.

### Claim 19 (depends on 16)

The computer program product of claim 16, wherein the method further comprises:
determining a priority for the data collection rule; and
adding the priority to the data collection rule, wherein data of a subsequent transaction complying with the data collection rule is collected with a higher priority than data of another subsequent transaction complying with another data collection rule during a time slot shared by both the data collection rule and the other data collection rule based on the priority of the data collection rule being higher than the priority of the other data collection rule.

### Claim 20 (depends on 15)

The computer program product of claim 15, wherein the method further comprises:
determining a time slot for the data collection rule; and
adding the time slot to the data collection rule, wherein data of a subsequent transaction complying with the data collection rule is collected during the time slot.
