US 11,854,091 B1
Systems and methods for transaction tracing
Robert Ying, South San Francisco, CA (US); Cale Horeff, South San Francisco, CA (US); Miguel Flores, South San Francisco, CA (US); Jeremiah Clemenson, South San Francisco, CA (US); and Andy Zhang, South San Francisco, CA (US)
Assigned to STRIPE, INC., South San Francisco, CA (US)
Filed by Stripe, Inc., South San Francisco, CA (US)
Filed on Nov. 28, 2022, as Appl. No. 18/070,204.
Application 18/070,204 is a continuation of application No. 16/938,686, filed on Jul. 24, 2020, granted, now 11,514,534.
This patent is subject to a terminal disclaimer.
Int. Cl. G06Q 40/12 (2023.01); G06Q 40/02 (2023.01); G06Q 10/107 (2023.01); G06F 16/901 (2019.01); G06Q 20/40 (2012.01); G06F 16/23 (2019.01); G06Q 30/018 (2023.01); G06Q 20/10 (2012.01)
CPC G06Q 40/12 (2013.12) [G06F 16/2379 (2019.01); G06F 16/9024 (2019.01); G06Q 10/107 (2013.01); G06Q 20/405 (2013.01); G06Q 30/0185 (2013.01); G06Q 40/02 (2013.01)] 20 Claims
OG exemplary drawing
 
20. A server system for enforcing one or more policies using transaction tracing, comprising:
a memory; and
one or more processors coupled with the memory configured to:
for each of a plurality of accounts of the server system, map, by distributed processing resources of the server system, one or more funds flow transactions into each account to one or more funds flow transactions out of said each account, wherein the distributed processing resources comprise a plurality of different computer processing systems, and wherein mappings are performed for the plurality of accounts in parallel by the plurality of different computer processing systems of the distributed processing resources,
generate an initial graph from the mappings of the transactions for said each account, where the graph comprises nodes and edges, where each node represents at least an amount of funds flowing through the node for a transaction and each edge connected to the node represents a transfer of the amount of funds to the node, out of the node, or a combination thereof,
transform, in-memory of a single computer processing system from the distributed processing resources, the initial graph to a directed graph where each node has an out degree of at most one, and wherein the directed graph is generated incrementally by splitting each node in the initial graph having an out degree greater than one,
for a node in the directional graph, the node representing at least part of the transaction, perform a trace of the transaction generating a set of transactions that contributed to the transaction, and
determine when the transaction, a second transaction associated with the transaction, or a combination thereof violates a rule that defines permissible source and destination account relationships for funds flowing into and out of a server system account associated with the transaction.