IP Library Granted Patent US 12,430,312
Granted Patent B1
US 12,430,312 · App. 18/741,391 · Granted Sep 30, 2025

Determining relationships between nodes within connected graphs

Inventors: Yulin Bao (Hefei, CN); Justin Bryce Betteridge (Boise, ID); Rongan Chen (Hefei, CN); Zian Fang (Hangzhou, CN); Libin He (Hefei, CN); Gang Liu (Hefei, CN); Yike Liu (Santa Clara, CA); Yuan Hung Lo (Mountain View, CA); Jiyue Ma (Hangzhou, CN); Arvin Damien Seifipour (Mission Viejo, CA); Hao Zhang (Hefei, CN); Huilian Zhao (Hangzhou, CN)
Assignee: Zoom Communications, Inc.
G06F16/2282G06F16/242G06F16/2456G06F16/9024H04L65/403H04L65/1093
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,430,312
App. No.
18/741,391
Granted
Sep 30, 2025
Kind
B1
Abstract

One example method includes generating, from a relevancy graph, a first table and a second table, the relevancy graph comprising a plurality of nodes and a plurality of edges, wherein each node represents an individual and each edge connects two nodes and represents a relationship between the respective two nodes, the first table comprising information about each node in the relevancy graph and the second table comprising information about each edge in the relevancy graph; selecting a seed node from the plurality of nodes; generating a database query to obtain data for a relevancy table based on a set of neighbor nodes to the seed node and a set of corresponding edges connecting the seed node to each neighbor node of the set of neighbor nodes; distributing, to a plurality of computing nodes, portions of the database query to determine, in parallel, probability information for the relevancy table; generating the relevancy table comprising the seed node, the set of neighbor nodes, and, for the seed node and each neighbor node, a corresponding probability based on the probability information; receiving, from a remote computing device, a request related to an individual and a software service offered by a service provider; and determining and providing, to the remote computing device based on the relevancy table, information about a relationship between the individual and one or more individuals represented in the relevancy graph/.

Claims (53)

1. A method comprising:

generating, from a relevancy graph, a first table and a second table, the relevancy graph comprising a plurality of nodes and a plurality of edges, wherein each node represents an individual and each edge connects two nodes and represents a relationship between the respective two nodes, the first table comprising information about each node in the relevancy graph and the second table comprising information about each edge in the relevancy graph;

selecting a seed node from the plurality of nodes;

generating a database query to obtain data for a relevancy table based on a set of neighbor nodes to the seed node and a set of corresponding edges connecting the seed node to each neighbor node of the set of neighbor nodes;

distributing, to a plurality of computing nodes, portions of the database query to determine, in parallel, probability information for the relevancy table;

generating the relevancy table comprising the seed node, the set of neighbor nodes, and, for the seed node and each neighbor node, a corresponding probability based on the probability information;

receiving, from a remote computing device, a request related to an individual and a software service offered by a service provider; and

determining and providing, to the remote computing device based on the relevancy table, information about a relationship between the individual and one or more individuals represented in the relevancy graph.

2. The method of claim 1 , further comprising, iteratively:

generating a subsequent database query to obtain a further set of neighbor nodes to the set of neighbor nodes and further set of corresponding edges connecting the set of neighbor nodes to each neighbor node of the further set of neighbor nodes,

distributing, to the plurality of computing nodes, a portion of the database query to determine, in parallel, further probability information for the relevancy table,

updating the relevancy table based on the further probability information.

3. The method of claim 2 , further comprises repeating the method at a predetermined time interval to generate new probability information.

4. The method of claim 1 , further comprising sorting, for each node in the relevancy graph, the edges corresponding to the node, and wherein the database query limits a number of edges to a predetermined limit.

5. The method of claim 4 , wherein the predetermined limit is based on Dunbar's number.

6. The method of claim 1 , wherein selecting a seed node comprises iteratively selecting every node in the relevancy graph as the seed node.

7. The method of claim 1 , wherein the database query comprises a plurality of JOIN statements corresponding to different neighbor nodes, and wherein distributing, to a plurality of computing nodes, the portions of the database query comprises distributing JOIN statements corresponding to a respective neighbor node of the set of neighbor nodes to one of the computing nodes of the plurality of computing nodes.

8. The method of claim 1 , wherein each corresponding probability is based on a predetermined probability of returning to the seed node during a random walk.

9. A system comprising:

a communications interface;

a non-transitory computer-readable medium; and

one or more processors configured to execute processor-executable instructions stored in the non-transitory computer-readable medium to:

generate, from a relevancy graph, a first table and a second table, the relevancy graph comprising a plurality of nodes and a plurality of edges, wherein each node represents an individual and each edge connects two nodes and represents a relationship between the respective two nodes, the first table comprising information about each node in the relevancy graph and the second table comprising information about each edge in the relevancy graph;

select a seed node from the plurality of nodes;

generate a database query to obtain data for a relevancy table based on a set of neighbor nodes to the seed node and a set of corresponding edges connecting the seed node to each neighbor node of the set of neighbor nodes;

distribute, to a plurality of computing nodes, portions of the database query to determine, in parallel, probability information for the relevancy table;

generate the relevancy table comprising the seed node, the set of neighbor nodes, and, for the seed node and each neighbor node, a corresponding probability based on the probability information; and

receive, from a remote computing device, a request related to an individual and a software service offered by a service provider; and

determine and provide, to the remote computing device based on the relevancy table, information about a relationship between the individual and one or more individuals represented in the relevancy graph.

10. The system of claim 9 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to, iteratively:

generate a subsequent database query to obtain a further set of neighbor nodes to the set of neighbor nodes and further set of corresponding edges connecting the set of neighbor nodes to each neighbor node of the further set of neighbor nodes,

distribute, to the plurality of computing nodes, a portion of the database query to determine, in parallel, further probability information for the relevancy table,

update the relevancy table based on the further probability information.

11. The system of claim 10 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to repeat at a predetermined time interval to generate new probability information.

12. The system of claim 9 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to sort, for each node in the relevancy graph, the edges corresponding to the node, and wherein the database query limits a number of edges to a predetermined limit.

13. The system of claim 12 , wherein the predetermined limit is based on Dunbar's number.

14. The system of claim 9 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to iteratively select every node in the relevancy graph as the seed node.

15. The system of claim 9 , wherein the database query comprises a plurality of JOIN statements corresponding to different neighbor nodes, and wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to distribute JOIN statements corresponding to a respective neighbor node of the set of neighbor nodes to one of the computing nodes of the plurality of computing nodes.

16. The system of claim 9 , wherein each corresponding probability is based on a predetermined probability of returning to the seed node during a random walk.

17. A non-transitory computer-readable medium comprising processor-executable instructions configured to cause one or more processors to:

generate, from a relevancy graph, a first table and a second table, the relevancy graph comprising a plurality of nodes and a plurality of edges, wherein each node represents an individual and each edge connects two nodes and represents a relationship between the respective two nodes, the first table comprising information about each node in the relevancy graph and the second table comprising information about each edge in the relevancy graph;

select a seed node from the plurality of nodes;

generate a database query to obtain data for a relevancy table based on a set of neighbor nodes to the seed node and a set of corresponding edges connecting the seed node to each neighbor node of the set of neighbor nodes;

distribute, to a plurality of computing nodes, portions of the database query to determine, in parallel, probability information for the relevancy table;

generate the relevancy table comprising the seed node, the set of neighbor nodes, and, for the seed node and each neighbor node, a corresponding probability based on the probability information; and

receive, from a remote computing device, a request related to an individual and a software service offered by a service provider; and

determine and provide, to the remote computing device based on the relevancy table, information about a relationship between the individual and one or more individuals represented in the relevancy graph.

18. The non-transitory computer-readable medium of claim 17 , further comprising processor-executable instructions configured to cause the one or more processors to, iteratively:

generate a subsequent database query to obtain a further set of neighbor nodes to the set of neighbor nodes and further set of corresponding edges connecting the set of neighbor nodes to each neighbor node of the further set of neighbor nodes,

distribute, to the plurality of computing nodes, a portion of the database query to determine, in parallel, further probability information for the relevancy table,

update the relevancy table based on the further probability information.

19. The non-transitory computer-readable medium of claim 17 , further comprising processor-executable instructions configured to cause the one or more processors to sort, for each node in the relevancy graph, the edges corresponding to the node, and wherein the database query limits a number of edges to a predetermined limit.

20. The non-transitory computer-readable medium of claim 17 , further comprising processor-executable instructions configured to cause the one or more processors to iteratively select every node in the relevancy graph as the seed node.

Assignments (2)
CHANGE OF NAME Recorded Apr 28, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 071096/0660 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2025
From: BAO, YULIN; BETTERIDGE, JUSTIN BRYCE; CHEN, RONGAN; FANG, ZIAN; HE, LIBIN; LIU, GANG; LIU, YIKE; LO, YUAN HUNG; MA, JIYUE; SEIFIPOUR, ARVIN DAMIEN; ZHANG, HAO; ZHAO, HUILIAN
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 071125/0001 →
References Cited (6)
US 20150026120A1 · Chrapko · 2015 [cited by examiner]
US 20170097741A1 · Liang · 2017 [cited by examiner]
US 20190303494A1 · Meyer · 2019 [cited by examiner]
US 20210209500A1 · Hu · 2021 [cited by examiner]
US 20220172090A1 · Zheng · 2022 [cited by examiner]
US 20240193440A1 · Shrivastava · 2024 [cited by examiner]