US 12,277,174 B2
Label propagation in a distributed system
Matthew H. Austern, Palo Alto, CA (US); James C. Dehnert, Palo Alto, CA (US); Aart J. c. Bik, Union City, CA (US); Grzegorz J. Czajkowski, Mountain View, CA (US); and Grzegorz Malewicz, Menlo Park, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Jun. 1, 2023, as Appl. No. 18/327,340.
Application 18/327,340 is a continuation of application No. 17/650,933, filed on Feb. 14, 2022, granted, now 11,698,931.
Application 17/650,933 is a continuation of application No. 16/707,033, filed on Dec. 9, 2019, granted, now 11,263,265, issued on Mar. 1, 2022.
Application 16/707,033 is a continuation of application No. 15/594,888, filed on May 15, 2017, granted, now 10,504,255, issued on Dec. 10, 2019.
Application 15/594,888 is a continuation of application No. 14/339,040, filed on Jul. 23, 2014, granted, now 9,652,876, issued on May 16, 2017.
Application 14/339,040 is a continuation of application No. 13/452,275, filed on Apr. 20, 2012, granted, now 8,793,283, issued on Jul. 29, 2014.
Claims priority of provisional application 61/483,183, filed on May 6, 2011.
Claims priority of provisional application 61/477,559, filed on Apr. 20, 2011.
Prior Publication US 2023/0306060 A1, Sep. 28, 2023
Int. Cl. G06F 16/901 (2019.01); G06F 8/41 (2018.01); G06F 9/46 (2006.01); G06F 9/50 (2006.01); G06F 11/14 (2006.01); G06F 15/173 (2006.01); G06F 16/00 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/27 (2019.01); G06N 20/00 (2019.01); G06N 99/00 (2019.01); G06T 11/20 (2006.01); H04L 5/00 (2006.01); H04L 67/10 (2022.01); G06F 7/00 (2006.01); G06F 11/20 (2006.01); G06F 21/10 (2013.01)
CPC G06F 16/9024 (2019.01) [G06F 8/457 (2013.01); G06F 9/46 (2013.01); G06F 9/5005 (2013.01); G06F 11/1451 (2013.01); G06F 11/1464 (2013.01); G06F 11/1469 (2013.01); G06F 15/17312 (2013.01); G06F 16/00 (2019.01); G06F 16/2282 (2019.01); G06F 16/23 (2019.01); G06F 16/2365 (2019.01); G06F 16/27 (2019.01); G06N 20/00 (2019.01); G06N 99/00 (2013.01); G06T 11/206 (2013.01); H04L 5/0032 (2013.01); H04L 67/10 (2013.01); G06F 7/00 (2013.01); G06F 11/1448 (2013.01); G06F 11/2082 (2013.01); G06F 16/9027 (2019.01); G06F 21/1087 (2023.08); G06F 2201/84 (2013.01); G06T 2210/32 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method that when executed on data processing hardware causes the data processing hardware to perform operations comprising:
maintaining data in a distributed computing system, the data representing a directed graph comprising a plurality of vertices connected by a plurality of directed edges representing relationships among the plurality of vertices, each respective vertex of the plurality of vertices comprising a set of label values indicating a strength of association between the respective vertex and a set of labels, each respective directed edge comprising a set of label weights for influencing label values traversing the respective directed edge;
receiving, from a first computing system via a network, an incoming message comprising a user-defined parameter and one or more weighted label values for a first label in the set of labels for a respective source vertex of the plurality of vertices;
determining an updated label value for the first label using the user-defined parameter and a sum of the one or more weighted label values;
determining that the updated label value satisfies a threshold value;
based on determining that the updated label value satisfies the threshold value, sending an outgoing message comprising the updated label value to a second computing system via the network, wherein the outgoing message is configured to cause the second computing system to update a respective set of label values associated with a respective target vertex of the plurality of vertices based on the updated label value of the outgoing message; and
updating the data representing the directed graph in the distributed computing system based on the updated respective set of label values associated with the respective target vertex.