# US 10,484,461 B2 · Correlation across non-logging components

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

- Number: US 10,484,461 B2
- Document ID: US10484461B2
- Status: Granted
- Kind: B2
- Application number: 15/674,982
- Filed: 2017-08-11
- Published: 2019-02-14
- Granted: 2019-11-19
- Earliest claimed: 2017-08-11
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: David Christopher Wright; Arijit Chatterjee; Qingqing Yuan; Praveen Kumar Barli; Basaveshwar S. Hiremath; Nosheen M. Syed
- Web page: https://patentgrep.com/patent/US10484461B2

## CPC

- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 9/466: {Transaction processing}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 11/14: Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16)
- G06F 11/2205: {using arrangements specific to the hardware being tested}
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3404: {for parallel or distributed programming}
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 2201/87: Monitoring of transactions
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Systems are provided for logging transactions in heterogeneous networks that include a combination of one or more instrumented components and one or more non-instrumented components. The instrumented components are configured to generate impersonated log records for the non-instrumented components involved in the transaction processing hand-offs with the instrumented components. The impersonated log records are persisted with other log records that are generated by the instrumented components in a transaction log that is maintained by a central logging system to reflect a complete flow of the transaction processing performed on the object, including the flow through the non-instrumented component(s).

## Claims

### Claim 1

A computing system comprising a first component that is an instrumented component configured for generating log records for transaction processing associated with a transaction that is processed by multiple components, including at least one component that is not instrumented for logging, the computing system comprising:
one or more processors; and
one or more storage device having stored computer-executable instructions that are executable by the one or more processors for causing the first component to perform a method comprising:
receiving, at the first component, a transaction to process;
creating, at the first component, an initial first component log record;
sending the first component log record from the first component to a logging control system;
passing, from the first component, the transaction processing off to a next component;
determining, by the first component, that the next component is not instrumented for logging,
upon determining that the next component is not instrumented for logging, creating, at the first component, a new component log record associated with processing of the transaction by the next component, and sending the new component log record associated with processing of the transaction by the next component to the logging control system; and
the first component creating an additional log record for each different component that the first component passes the transaction processing off to, wherein each additional log record is a unique log record having a unique incremented component value.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the method further includes creating a secondary first component log record associated with passing the transaction processing off to the next component.

### Claim 3 (depends on 2)

The computing system of claim 2, wherein secondary log record is a unique log record having a unique incremented component value that distinguishes the secondary log record from at least one other secondary log record associated with passing the transaction processing off to a different next component.

### Claim 4 (depends on 3)

The computing system of claim 3, wherein the new component log record includes the transaction ID, the incremented component value and new extension component value that corresponds to processing of the transaction with the new component.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the determining that the next component is not instrumented for logging includes receiving a notification from a remote system other than the next component that the next component is a non-logging component.

### Claim 6

A computing system comprising a first component that is an instrumented component configured for generating log records for transaction processing associated with a transaction processed by multiple components, including at least one component that is not instrumented for logging, the computing system comprising:
one or more processors; and
one or more storage device having stored computer-executable instructions that are executable by the one or more processors for causing the first component to perform a method comprising:
receiving, at the first component, a transaction to process;
creating, at the first component, a first log record associated with processing the transaction, the first log record including a transaction ID and an initial component value that corresponds to processing of the transaction with the first component;
sending the first log record from the first component to a logging control system;
identifying, at the first component, a next component to pass off the transaction processing to;
determining, by the first component, whether the next component is a logging component that is instrumented for logging the transaction processes or, alternatively, a non-logging component that is not instrumented for logging the transaction processes;
passing, from the first component, the transaction processing off to the next component;
creating, at the first component, a second log record, the second log record including the transaction ID and an incremented component value associated with passing the transaction processing off to the next component;
wherein the first component is instrumented to further create, at the first component, a third log record and to send the third log record to the logging control system when it is determined that the next component is not instrumented for logging; and
wherein the first component is further configured to create an additional log record for each different component that the first component passes the transaction processing off to, wherein each additional log record is a unique log record having a unique incremented component value.

### Claim 7 (depends on 6)

The computing system of claim 6, wherein the first component is further configured to refrain from creating the third log record upon determining that the next component is instrumented for logging.

### Claim 8 (depends on 6)

The computing system of claim 6, wherein the third log record includes the transaction ID, the incremented component value and new extension component value that corresponds to processing of the transaction with the next component.

### Claim 9 (depends on 6)

The computing system of claim 6, wherein the determining that the next component is not instrumented for logging includes receiving a notification from a remote system other than the next component that the next component is a non-logging component.

### Claim 10 (depends on 9)

The method of claim 9, wherein the method further includes creating a secondary first component log record associated with passing the transaction processing off to the next component.

### Claim 11 (depends on 10)

The computing system of claim 10, wherein the new component log record includes the transaction ID, the incremented component value and new extension component value that corresponds to processing of the transaction with the next component.

### Claim 12 (depends on 9)

The computing system of claim 9, wherein secondary log record is a unique log record having a unique incremented component value that distinguishes the secondary log record from at least one other secondary log record associated with passing the transaction processing off to a different next component.

### Claim 13

A method implemented by a first component that is instrumented for logging transaction processes associated with a transaction that is processed by multiple components, including at least one component that is not instrumented for logging, the method comprising:
receiving, at the first component, a transaction to process;
creating, at the first component, an initial first component log record;
sending the first component log record from the first component to a logging control system;
passing, from the first component, the transaction processing off to a next component;
determining, by the first component, that the next component is not instrumented for logging,
upon determining that the next component is not instrumented for logging, creating, at the first component, a new component log record associated with processing of the transaction by the next component and sending the new component log record associated with the processing of the transaction by the next component to the logging control system; and
the first component creating an additional log record for each different component that the first component passes the transaction processing off to, wherein each additional log record is a unique log record having a unique incremented component value.

### Claim 14

A method implemented by a first component that is instrumented for logging transaction processes associated with a transaction that is processed by multiple components, including at least one component that is not instrumented for logging, the method comprising:
receiving, at the first component, a transaction to process;
creating, at the first component, a first log record associated with processing the transaction, the first log record including a transaction ID and an initial component value that corresponds to processing of the transaction with the first component;
sending the first log record from the first component to a logging control system;
identifying, at the first component, a next component to pass off the transaction processing to;
determining, by the first component, whether the next component is a logging component that is instrumented for logging the transaction processes or, alternatively, a non-logging component that is not instrumented for logging the transaction processes;
passing, from the first component, the transaction processing off to the next component;
creating, at the first component, a second log record, the second log record including the transaction ID and an incremented component value associated with passing the transaction processing off to the next component;
wherein the first component is instrumented to further create, at the first component, a third log record and to send the third log record to the logging control system when it is determined that the next component is not instrumented for logging; and
wherein the first component is further configured to create an additional log record for each different component that the first component passes the transaction processing off to, wherein each additional log record is a unique log record having a unique incremented component value.

### Claim 15 (depends on 14)

The method of claim 14, wherein the first component is further configured to refrain from creating the third log record upon determining that the next component is instrumented for logging.

### Claim 16 (depends on 14)

The method of claim 14, wherein the first component is further configured to create an additional log record for each different component that the first component passes the transaction processing off to, wherein each additional log record is a unique log record having a unique incremented component value.

### Claim 17 (depends on 14)

The method of claim 14, wherein the third log record includes the transaction ID, the incremented component value and new extension component value that corresponds to processing of the transaction with the next component.

### Claim 18 (depends on 14)

The method of claim 14, wherein the determining that the next component is not instrumented for logging includes receiving a notification from a remote system other than the next component that the next component is a non-logging component.
