IP Library › Granted Patent US 10,560,308
Granted Patent B2
US 10,560,308 · App. 15/675,028 · Granted Feb 11, 2020

Correlation across non-logging components

Inventors: David Christopher Wright (Seattle, WA); Arijit Chatterjee (Sammamish, WA); Qingqing Yuan (Sammamish, WA); Praveen Kumar Barli (Bothell, WA); Basaveshwar S. Hiremath (Redmond, WA); Nosheen M. Syed (Sammamish, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L41/0631G06F9/466G06F11/2221H04L43/04G06F16/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,560,308
App. No.
15/675,028
Granted
Feb 11, 2020
Kind
B2
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 (44)

1. A computing system comprising a receiving 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 receiving component to perform a method comprising:

receiving a transaction to process from a particular component;

determining that the particular component is a non-logging component which has not been instrumented for logging the transaction processes; and

in response to determining that the particular component is a non-logging component, creating an initial passing off log record associated with passing off of the transaction processing from the non-logging component to the receiving component.

2. The computing system recited in claim 1 , wherein the method further includes:

at the receiving component, creating a different passing off log record associated with passing off of the transaction processing from the receiving component to a new logging component.

3. The computing system recited in claim 1 , wherein the method further includes:

at the receiving component, creating a new log record associated with processing the transaction by the receiving component.

4. The computing system recited in claim 1 , wherein the determining that the particular component is a non-logging component includes receiving a notification from a remote system other than the particular component that the particular component is a non-logging component.

5. The method of claim 1 , wherein the determining that the particular component is a non-logging component includes receiving a notification from a remote system other than the particular component that the particular component is a non-logging component.

6. A computing system comprising a receiving 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 receiving component to perform a method comprising:

receiving a transaction to process from a caller component;

determining that the caller component is a non-logging component that is not instrumented for logging the transaction processes;

upon determining that the caller component is not instrumented for logging, creating a new log record associated with passing off of the transaction processing from the non-logging component to the receiving component, the new log record being based on a stored log record that includes a transaction ID and an initial component value associated with a previous component that passed processing of the transaction off to the non-logging component, the new log record including the transaction ID and an incremented component value that corresponds to the transaction processing being passed off by the non-logging component; and

creating a second new log record which is associated with processing of the transaction by the receiving component, the second new log record including the transaction ID, the incremented component value and a new extension component value that is associated with the receiving component.

7. The computing system recited in claim 6 , wherein the method further includes:

the receiving component refraining from creating another new log record for transaction processing received from a calling component upon determining that the calling component is capable of logging transaction processes.

8. The computing system recited in claim 6 , wherein the method further includes:

the receiving component creating a passing off log record associated with passing off of the transaction processing from the receiving component to a new logging component.

9. The computing system recited in claim 8 , wherein the passing off log record includes the transaction ID, the incremented component value and new value that increments and is based on the new extension component value.

10. The computing system recited in claim 6 , wherein the determining that the particular component is a non-logging component includes receiving a notification from a remote system other than the particular component that the particular component is a non-logging component.

11. A method implemented by a computing system having one or more hardware processors and hardware storage and further comprising a receiving 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:

the computing system receiving a transaction to process from a particular component;

the computing system determining that the particular component is a non-logging component which has not been instrumented for logging the transaction processes; and

the computing system, in response to determining that the particular component is a non-logging component, creating an initial passing off log record associated with passing off of the transaction processing from the non-logging component to the receiving component.

12. The method recited in claim 11 , wherein the method further includes:

at the receiving component, creating a different passing off log record associated with passing off of the transaction processing from the receiving component to a new logging component.

13. The method recited in claim 11 , wherein the method further includes:

at the receiving component, creating a new log record associated with processing the transaction by the receiving component.

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

15. A method implemented by a computing system having one or more hardware processors and hardware storage and further comprising a receiving 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:

the computing system receiving a transaction to process from a caller component;

the computing system determining that the caller component is a non-logging component that is not instrumented for logging the transaction processes;

the computing system, upon determining that the caller component is not instrumented for logging, creating a new log record associated with passing off of the transaction processing from the non-logging component to the receiving component, the new log record being based on a stored log record that includes a transaction ID and an initial component value associated with a previous component that passed processing of the transaction off to the non-logging component, the new log record including the transaction ID and an incremented component value that corresponds to the transaction processing being passed off by the non-logging component; and

the computing system creating a second new log record which is associated with processing of the transaction by the receiving component, the second new log record including the transaction ID, the incremented component value and a new extension component value that is associated with the receiving component.

16. The method recited in claim 15 , wherein the method further includes:

refraining from creating another new log record for transaction processing received from a calling component upon determining that the calling component is capable of logging transaction processes.

17. The method recited in claim 15 , wherein the method further includes:

creating a passing off log record associated with passing off of the transaction processing from the receiving component to a new logging component.

18. The method recited in claim 17 , wherein the passing off log record includes the transaction ID, the incremented component value and new value that increments and is based on the new extension component value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2017
From: WRIGHT, DAVID CHRISTOPHER; CHATTERJEE, ARIJIT; YUAN, QINGQING; BARLI, PRAVEEN KUMAR; HIREMATH, BASAVESHWAR S.; SYED, NOSHEEN M.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043336/0735 →
Continuity (1)
Related Publication 20190052516A1 · Feb 14, 2019