IP Library Granted Patent US 11,544,229
Granted Patent B1
US 11,544,229 · App. 16/861,771 · Granted Jan 3, 2023

Enhanced tracking of data flows

Inventors: Jeremy D. Seideman (Brooklyn, NY); Amartya Roy (Monmouth Junction, NJ); Anna Korsakova Bain (East Northport, NY); Jaime Amanda Spahr (Peoria, AZ); Paramjit Singh (Scottsdale, AZ); Pratiti Shrivastava (Jersey City, NJ); Siva Nidamarthy (Phoenix, AZ); Tami Sue Sargeant (Glendale, AZ); George Kassabov (Lakewood Ranch, FL)
Assignee: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC
G06F16/1837G06F11/3086H04L9/0637
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 11,544,229
App. No.
16/861,771
Granted
Jan 3, 2023
Kind
B1
Abstract

Disclosed are various embodiments for tracking the flow of data through a network environment. A monitor can detect that a data transaction event has occurred. Then, the monitor can identify data involved in the data transaction event. Next, a trace identifier can be assigned to the data involved in the data transaction event. Subsequently, a transaction data subset representing a subset of the data involved in the data transaction event that is subject to a common data processing event can be identified. Then, a span identifier can be assigned to the transaction data subset. Next, a correlation identifier can be link to a combination of the span identifier and the trace identifier. Finally, a transaction event record can be written to a distributed ledger, the transaction event record comprising the span identifier and the transaction data subset.

Claims (86)

1. A system, comprising:

a computing device comprising a processor and a memory; and

machine-readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:

detect that a data transaction event has occurred at a data store;

identify data involved in the data transaction event at the data store;

assign a trace identifier to the data involved in the data transaction event, wherein the trace identifier uniquely identifies a transaction event record with respect to other transaction event records;

identify a transaction data subset, the transaction data subset representing a subset of the data involved in the data transaction event that is subject to a common data processing event;

assign a span identifier to the transaction data subset, wherein the span identifier uniquely identifies the transaction data subset with respect to other transaction data subsets;

link a correlation identifier to a combination of the span identifier and the trace identifier;

search a distributed ledger for the transaction data subset to identify a previous span identifier and a previous trace identifier;

identify a correlation record based on the previous span identifier and the previous trace identifier;

write the transaction event record to the distributed ledger that is globally accessible by a user, the transaction event record comprising the trace identifier and the transaction data subset; and

write or update the correlation record at the distributed ledger, the correlation record comprising the correlation identifier, the previous span identifier, the span identifier, the previous trace identifier, and the trace identifier, wherein the correlation record is configured to maintain a history of operations performed on the transaction data subset across different data stores.

2. The system of claim 1 , wherein the machine-readable instructions that cause the computing device to detect that the data transaction event has occurred further cause the computing device to at least:

receive, through an application programming interface or a message passing interface provided by the machine-readable instructions, a notification from a data store or an application accessing the data store; and

determine from the notification that the data transaction event has occurred.

3. The system of claim 1 , wherein the machine-readable instructions that cause the computing device to detect that the data transaction event has occurred further cause the computing device to at least:

monitor a log associated with the data store; and

determine from the log that the data transaction event has occurred.

4. The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least:

generate a data identifier that identifies the subset of the data by indicating a name or location of an object or file involved in the data transaction event; and

assign the data identifier to the transaction data subset.

5. The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least:

identify metadata associated with the transaction data subset; and

link the metadata to the transaction data subset.

6. The system of claim 5 , wherein the machine-readable instructions that cause the computing device to identify the metadata associated with the transaction data subset further cause the computing device to at least:

identify a user account that initiated the data transaction event; and

include an identity of the user account in the metadata.

7. The system of claim 5 , wherein the machine-readable instructions that cause the computing device to identify the metadata associated with the transaction data subset further cause the computing device to at least:

identify a destination data store for the data in the transaction data subset; and

include an identifier of the destination data store in the metadata.

8. A computer-implemented method, comprising:

detecting that a data transaction event has occurred at a data store;

identifying data involved in the data transaction event at the data store;

assigning a trace identifier to the data involved in the data transaction event, wherein the trace identifier uniquely identifies a transaction event record with respect to other transaction event records;

identifying a transaction data subset, the transaction data subset representing a subset of the data involved in the data transaction event that is subject to a common data processing event;

assigning a span identifier to the transaction data subset, wherein the span identifier uniquely identifies the transaction data subset with respect to other transaction data subsets;

linking a correlation identifier to a combination of the span identifier and the trace identifier;

searching a distributed ledger for the transaction data subset to identify a previous span identifier and a previous trace identifier;

identifying a correlation record based on the previous span identifier and the previous trace identifier;

writing the transaction event record to the distributed ledger that is globally accessible by a user, the transaction event record comprising the trace identifier and the transaction data subset; and

writing or updating the correlation record at the distributed ledger, the correlation record comprising the correlation identifier, the previous span identifier, the span identifier, the previous trace identifier, and the trace identifier, wherein the correlation record is configured to maintain a history of operations performed on the transaction data subset across different data stores.

9. The method of claim 8 , wherein detecting that the data transaction event has occurred further comprises:

receiving, through an application programming interface or a message passing interface provided by machine-readable instructions, a notification from a data store or an application accessing the data store; and

determining from the notification that the data transaction event has occurred.

10. The method of claim 8 , wherein detecting that the data transaction event has occurred further comprises:

monitoring a log associated with the data store; and

determining from the log that the data transaction event has occurred.

11. The method of claim 8 , further comprising:

generating a data identifier that identifies the subset of the data by indicating a name or location of an object or file involved in the data transaction event; and

assigning the data identifier to the transaction data subset.

12. The method of claim 8 , further comprising:

identifying metadata associated with the transaction data subset; and

linking the metadata to the transaction data subset.

13. The method of claim 12 , wherein identifying the metadata associated with the transaction data subset further comprises:

identifying a user account that initiated the data transaction event; and

including an identity of the user account in the metadata.

14. The method of claim 12 , wherein identifying the metadata associated with the transaction data subset further comprises:

identifying a destination data store for the data in the transaction data subset; and

including an identifier of the destination data store in the metadata.

15. A non-transitory, computer-readable medium, comprising machine-readable instructions that, when executed by a processor of a computing device, cause the computing device to at least:

detect that a data transaction event has occurred at a data store;

identify data involved in the data transaction event at the data store;

assign a trace identifier to the data involved in the data transaction event, wherein the trace identifier uniquely identifies a transaction event record with respect to other transaction event records;

identify a transaction data subset, the transaction data subset representing a subset of the data involved in the data transaction event that is subject to a common data processing event;

assign a span identifier to the transaction data subset, wherein the span identifier uniquely identifies the transaction data subset with respect to other transaction data subsets;

link a correlation identifier to a combination of the span identifier and the trace identifier;

search a distributed ledger for the transaction data subset to identify a previous span identifier and a previous trace identifier;

identify a correlation record based on the previous span identifier and the previous trace identifier;

write the transaction event record to the distributed ledger that is globally accessible by a user, the transaction event record comprising the trace identifier and the transaction data subset; and

write or update the correlation record at the distributed ledger, the correlation record comprising the correlation identifier, the previous span identifier, the span identifier, the previous trace identifier, and the trace identifier, wherein the correlation record is configured to maintain a history of operations performed on the transaction data subset across different data stores.

16. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions that cause the computing device to detect that the data transaction event has occurred further cause the computing device to at least:

receive, through an application programming interface or a message passing interface provided by the machine-readable instructions, a notification from a data store or an application accessing the data store; and

determine from the notification that the data transaction event has occurred.

17. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions that cause the computing device to detect that the data transaction event has occurred further cause the computing device to at least:

monitor a log associated with the data store; and

determine from the log that the data transaction event has occurred.

18. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions further cause the computing device to at least:

generate a data identifier that identifies the subset of the data by indicating a name or location of an object or file involved in the data transaction event; and

assign the data identifier to the transaction data subset.

19. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions further cause the computing device to at least:

identify a user account that initiated the data transaction event; and

include an identity of the user account in metadata for the transaction data subset included in the transaction event record.

20. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions further cause the computing device to at least:

identify a destination data store for the data in the transaction data subset; and

include an identifier of the destination data store in metadata for the transaction data subset included in the transaction event record.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2020
From: SEIDEMAN, JEREMY D.; ROY, AMARTYA; BAIN, ANNA KORSAKOVA; SPAHR, JAIME AMANDA; SINGH, PARAMJIT; SHRIVASTAVA, PRATITI; NIDAMARTHY, SIVA; SARGEANT, TAMI SUE; KASSABOV, GEORGE
To: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
Reel/Frame 052580/0886 →
Cited By (8)
US 12,210,882 US 12,450,683 US 12,645,455 US 12,657,024 US 12,669,996 US 12,688,545 US 12,700,056 US 12,701,153