US 11,809,294 B1
Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
Lisa Lippincott, Berkeley, CA (US); David Hindawi, Berkeley, CA (US); Orion Hindawi, Piedmont, CA (US); and Peter Lincroft, Albany, CA (US)
Assigned to TANIUM INC., Kirkland, WA (US)
Filed by Tanium Inc., Kirkland, WA (US)
Filed on Oct. 3, 2022, as Appl. No. 17/959,177.
Application 17/959,177 is a continuation of application No. 15/930,342, filed on May 12, 2020, granted, now 11,461,208.
Application 15/930,342 is a continuation in part of application No. 15/878,286, filed on Jan. 23, 2018, granted, now 10,649,870, issued on May 12, 2020.
Application 15/878,286 is a continuation of application No. 15/136,790, filed on Apr. 22, 2016, granted, now 9,910,752, issued on Mar. 6, 2018.
Claims priority of provisional application 62/152,709, filed on Apr. 24, 2015.
Int. Cl. G06F 11/30 (2006.01); G06F 11/00 (2006.01); H04L 45/121 (2022.01); H04L 45/12 (2022.01); H04L 43/0864 (2022.01); H04L 41/0803 (2022.01); H04L 41/12 (2022.01)
CPC G06F 11/30 (2013.01) [G06F 11/00 (2013.01); H04L 45/12 (2013.01); H04L 45/121 (2013.01); G06F 11/3006 (2013.01); H04L 41/0803 (2013.01); H04L 41/12 (2013.01); H04L 43/0864 (2013.01)] 26 Claims
OG exemplary drawing
 
1. A method of organizing a non-static collection of machines into an ordered sequence in accordance with respective first addresses of the non-static collection of machines, each machine in the ordered sequence having a respective channel number that is distinct from the respective first address of said machine, and the method comprising:
at a first machine that is in the ordered sequence of the non-static collection of machines:
receiving a request for a second machine to join the ordered sequence of the non-static collection of machines; and
in response to receiving the request for the second machine to join the ordered sequence of the non-static collection of machines:
providing, to the second machine, a respective channel number that is assigned to the second machine;
sending a first query, including the respective channel number that is assigned to the second machine, to the non-static collection of machines through at least a subset of a set of forward contacts and a set of backward contacts of the first machine, wherein the set of forward contacts of the first machine includes a first set of machines distributed in a forward direction from the first machine along the ordered sequence of the non-static collection of machines, and the set of backward contacts of the first machine includes a second set of machines distributed in a backward direction from the first machine along the ordered sequence of the non-static collection of machines;
collecting answers for the first query from the non-static collection of machines, wherein the answers include respective machine addresses of a set of forward contacts of the second machine and a set of backward contacts of the second machine, wherein:
the set of forward contacts of the second machine are distributed along the ordered sequence in the forward direction away from the second machine in an order of increasing similarity between the respective channel number for the second machine and a respective channel number for each machine of the set of forward contacts of the second machine; and
the set of backward contacts of the second machine are distributed along the ordered sequence in the backward direction away from the second machine in an order of increasing similarity between the respective channel number for the second machine and a respective channel number for each machine of the set of backward contacts of the second machine; and
sending, to the second machine, the respective machine addresses of the set of forward contacts of the second machine and the set of backward contacts of the second machine, wherein the second machine establishes respective direct communication channels between the second machine and at least one of the set of forward contacts of the second machine and at least one of the set of backward contacts of the second machine.