IP Library › Granted Patent US 12,205,109
Granted Patent B2
US 12,205,109 · App. 17/120,150 · Granted Jan 21, 2025

Generating sequences of network nodes

Inventors: Li Zhang (Beijing, CN); Shi Lei Zhang (Beijing, CN); Toyotaro Suzumura (New York City, NY); Keith Coleman Houck (Rye, NY); Ryo Kawahara (Tokyo, JP)
Assignee: International Business Machines Corporation
G06Q20/382H04L63/1425H04L63/1483
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 12,205,109
App. No.
17/120,150
Filed
Dec 12, 2020
Granted
Jan 21, 2025
Kind
B2
Art Unit
3621
USPC
705/64
Abstract

A suspicious pattern can be detected within a transaction network of nodes. Nodes of the network are walked by determining if any adjacent node to a current node is within the suspicious pattern. If an adjacent node is within the suspicious pattern, that node is walked to. Based on the walk, a node sequence can be generated.

Claims (113)

1. A method, comprising:

selecting a subnet of a transaction network, the subnet comprising nodes and transactions represented by connections between the nodes, wherein the nodes in the subnet comprise a start node, an end node, and all nodes between the start node and the end node;

comparing, by a pattern matching algorithm, patterns of the connections between the nodes in the subnet with suspicious patterns of connections representing transactions between nodes in a database, wherein the suspicious patterns of connections are associated with fraudulent activity;

detecting at least one suspicious pattern of the connections between the nodes in the subnet based on the comparing;

walking nodes in the subnet based on the at least one suspicious pattern, wherein the walking comprises:

selecting the start node;

analyzing transactions carried out by the start node;

identifying, based on the analyzing the transactions carried out by the start node, a first set of nodes adjacent to the start node;

determining, based on connections representing transactions between the start node and the first set of nodes, that a first adjacent node of the first set of nodes is included in a first suspicious pattern from the at least one suspicious pattern;

selecting the first adjacent node in response to the determining; and

analyzing transactions carried out by the first adjacent node;

generating, based on the walking, a first node sequence of the subnet, the first node sequence including nodes selected based on the at least one suspicious pattern; and

outputting the first node sequence packaged with information associated with the included nodes.

2. The method of claim 1 , wherein the selecting the first adjacent node comprises:

calculating a magnitude of transactions associated with the first suspicious pattern;

comparing the magnitude to an importance threshold;

determining, based on the comparing, that the magnitude exceeds the importance threshold; and

determining, based on the determining that the magnitude exceeds the importance threshold, that the first suspicious pattern is a first important suspicious pattern.

3. The method of claim 2 , wherein the selecting the first adjacent node further comprises:

determining that a second suspicious pattern from the at least one suspicious pattern is a second important suspicious pattern;

determining that a second adjacent node of the first set of nodes is included in the second suspicious pattern;

calculating a first node importance of the first adjacent node and a second node importance of the second adjacent node; and

determining that the first node importance is greater than the second node importance.

4. The method of claim 1 , wherein the walking further includes updating an identifier registry to indicate that the first adjacent node has been selected.

5. The method of claim 1 , wherein the walking further comprises:

identifying, based on the analyzing the transactions of the first adjacent node, a second set of nodes adjacent to the first adjacent node, the second set of nodes comprising a second adjacent node and a third adjacent node;

calculating a first degree of the second adjacent node and a second degree of the third adjacent node, wherein the calculating performed in response to determining that:

the second adjacent node is included in a second suspicious pattern from the at least one suspicious pattern and not included in the first suspicious pattern;

the second suspicious pattern is not an important suspicious pattern; and

the third adjacent node is not included in either the first or second suspicious patterns;

determining, based on the calculating, that the second degree is greater than the first degree; and

selecting, based on the second degree being greater than the first degree, the third adjacent node.

6. The method of claim 1 , wherein the detecting includes:

receiving an example suspicious pattern from the suspicious patterns of connections;

performing, by the pattern matching algorithm, pattern matching based on the example suspicious pattern and the subnet;

identifying, based on the pattern matching, a potential suspicious pattern in the subnet; and

determining a pattern importance of the potential suspicious pattern.

7. The method of claim 1 , wherein the first suspicious pattern is a fan-out pattern.

8. A system comprising:

a memory; and

a central processing unit (CPU) coupled to the memory, the CPU configured to:

select a subnet of a transaction network, the subnet comprising nodes and transactions represented by connections between the nodes, wherein the nodes in the subnet comprise a start node, an end node, and all nodes between the start node and the end node;

compare, by a pattern matching algorithm, patterns of the connections between the nodes in the subnet with suspicious patterns of connections representing transactions between nodes in a database, wherein the suspicious patterns of connections form arrangements associated with fraudulent activity;

detect at least one suspicious pattern of the connections between the nodes in the subnet based on the comparing;

walk nodes in the subnet based on the at least one suspicious pattern, wherein the walking comprises:

selecting the start node;

analyzing transactions carried out by the start node;

identifying, based on the analyzing the transactions carried out by the start node, a first set of nodes adjacent to the start node;

determining, based on connections representing transactions between the start node and the first set of nodes, that a first adjacent node of the first set of nodes is included in a first suspicious pattern from the at least one suspicious pattern; and

selecting the first adjacent node in response to the determining;

generate, based on the walking, a first node sequence of the subnet, the first node sequence including nodes selected based on the at least one suspicious pattern; and

output the first node sequence packaged with information associated with the included nodes.

9. The system of claim 8 , wherein the selecting the first adjacent node comprises:

calculating a magnitude of transactions associated with the first suspicious pattern;

comparing the magnitude to an importance threshold;

determining, based on the comparing, that the magnitude exceeds the importance threshold; and

determining, based on the determining that the magnitude exceeds the importance threshold, that the first suspicious pattern is a first important suspicious pattern.

10. The system of claim 9 , wherein the selecting the first adjacent node further comprises:

determining that a second suspicious pattern from the at least one suspicious pattern is a second important suspicious pattern;

determining that a second adjacent node of the first set of nodes is included in the second suspicious pattern;

calculating a first node importance of the first adjacent node and a second node importance of the second adjacent node; and

determine that the first node importance is greater than the second node importance.

11. The system of claim 8 , wherein the walking further includes recording account information of an account associated with the first adjacent node.

12. The system of claim 8 , wherein the walking further comprises:

identifying, based on the analyzing the transactions of the first adjacent node, a second set of nodes adjacent to the first adjacent node, the second set of nodes comprising a second adjacent node and a third adjacent node;

calculating a first degree of the second adjacent node and a second degree of the third adjacent node, wherein the calculating performed in response to determining that:

the second adjacent node is included in a second suspicious pattern from the at least one suspicious pattern and not included in the first suspicious pattern;

the second suspicious pattern is not an important suspicious pattern;

the third adjacent node is not included in either the first or second suspicious patterns; and

determining, based on the calculating, that the second degree is greater than the first degree; and

selecting, based on the second degree being greater than the first degree, the third adjacent node.

13. The system of claim 8 , wherein the detecting includes:

receiving an example suspicious pattern from the suspicious patterns of connections;

performing pattern matching based on the example suspicious pattern and the subnet;

identifying, based on the pattern matching, a potential suspicious pattern in the subnet; and

determining a pattern importance of the potential suspicious pattern.

14. The system of claim 8 , wherein the first suspicious pattern is a fan-out pattern.

15. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:

select a subnet of a transaction network, the subnet comprising nodes and transactions represented by connections between the nodes, wherein the nodes in the subnet comprise a start node, an end node, and all nodes between the start node and the end node;

compare, by a pattern matching algorithm, patterns of the connections between the nodes in the subnet of suspicious patterns of connections representing transactions between nodes in a database, wherein the suspicious patterns of connections form arrangements associated with fraudulent activity;

detect at least one suspicious pattern of the connections between the nodes in the subnet based on the comparing, wherein the at least one suspicious pattern forms an arrangement of the connections between the nodes in the subnet matching an arrangement from the arrangements associated with the fraudulent activity;

walk nodes in the subnet based on the at least one suspicious pattern, wherein the walking comprises:

selecting the start node;

analyzing transactions carried out by the start node;

identifying, based on the analyzing the transactions carried out by the start node, a first set of nodes adjacent to the start node;

determining, based on connections representing transactions between the start node and the first set of nodes, that a first adjacent node of the first set of nodes is included in a first suspicious pattern from the at least one suspicious pattern; and

selecting the first adjacent node in response to the determining;

generate, based on the walking, a first node sequence of the subnet, the first node sequence including nodes selected based on the at least one suspicious pattern; and

output the first node sequence packaged with information associated with the included nodes.

16. The computer program product of claim 15 , wherein the selecting the first adjacent node comprises:

calculating a magnitude of transactions associated with the first suspicious pattern;

comparing the magnitude to an importance threshold;

determining, based on the comparison, that the magnitude exceeds the importance threshold; and

determining, based on the determining that the magnitude exceeds the importance threshold, that the first suspicious pattern is a first important suspicious pattern.

17. The computer program product of claim 16 , wherein the selecting the first adjacent node further comprises:

determining that a second suspicious pattern from the at least one suspicious pattern is a second important suspicious pattern;

determining that a second adjacent node of the first set of nodes is included in the second suspicious pattern;

calculating a first node importance of the first adjacent node and a second node importance of the second adjacent node; and

determine that the first node importance is greater than the second node importance.

18. The computer program product of claim 15 , wherein the walking further includes recording account information of an account associated with the first adjacent node.

19. The computer program product of claim 15 , wherein the walking further comprises:

identifying, based on the analyzing the transactions of the first adjacent node, a second set of nodes adjacent to the first adjacent node, the second set of nodes comprising a second adjacent node and a third adjacent node;

calculating a first degree of the second adjacent node and a second degree of the third adjacent node, wherein the calculating is performed in response to determining that:

the second adjacent node is included in a second suspicious pattern from the at least one suspicious pattern and not included in the first suspicious pattern;

the second suspicious pattern is not an important suspicious pattern; and

the third adjacent node is not included in either the first or second suspicious patterns;

determining, based on the calculating, that the second degree is greater than the first degree; and

selecting, based on the second degree being greater than the first degree, the third adjacent node.

20. The computer program product of claim 15 , wherein the detecting includes:

receiving an example suspicious pattern from the suspicious patterns of connections;

performing pattern matching based on the example suspicious pattern and the subnet;

identifying, based on the pattern matching, a potential suspicious pattern in the subnet; and

determining a pattern importance of the potential suspicious pattern.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2020
From: ZHANG, LI; ZHANG, SHI LEI; SUZUMURA, TOYOTARO; HOUCK, KEITH COLEMAN; KAWAHARA, RYO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054623/0730 →
Continuity (1)
Related Publication 20220188813A1 · Jun 16, 2022
References Cited (13)
US 8779921B1 · Curtiss · 2014 [cited by examiner]
US 11556636B2 · Neil · 2023 [cited by examiner]
US 20160042355A1 · Wang · 2016 [cited by examiner]
US 20160364794A1 · Chari et al. · 2016 [cited by applicant]
US 20180196694A1 · Banerjee · 2018 [cited by examiner]
US 20190207960A1 · Chu et al. · 2019 [cited by applicant]
US 20190259033A1 · Reddy · 2019 [cited by examiner]
US 20210117978A1 · Silva · 2021 [cited by examiner]
CN 110400220A · 2019 [cited by applicant]
CN 111090780A · 2020 [cited by applicant]
Kumar et al., “2Scent: An Efficient Algorithm for Enumerating All Simple Temporal Cycles,” Proceedings of the VLDB Endowment, vol. 11, No. 11, Aug. 2018, pp. 1441-1453. [cited by applicant]
Cai et al., “A Comprehensive Survey of Graph Embedding: Problems, Techniques, and Applications”, IEEE Transactions on Knowledge and Data Engineering, vol. 30, No. 9, Sep. 2018, Digital Object Identifier No. 10.1109/TKDE… [cited by applicant]
Grover et al., “node2vec: Scalable Feature Learning for Networks”, KDD '16, Aug. 13-17, 2016, San Francisco, CA, USA, DOI: http://dx.doi.org/10.1145/2939672.2939754, pp. 855-864. [cited by applicant]