IP Library › Granted Patent US 12,701,160
Granted Patent B2
US 12,701,160 · App. 18/909,541 · Granted Aug 4, 2026

Synchronizing nodes in a network

Inventors: Charles R. Barker, Jr. (Orlando, FL); Keith Joseph Goldberg (Winter Park, FL); Matthew Warren Amacker (Santa Clara, CA); Ian Jay Kalin (San Francisco, CA)
Assignee: TurbineOne, Inc.
H04L67/1095H04J3/0638H04L12/18H04L41/0654H04L67/104H04W4/06H04W40/24H04W84/18
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,701,160
App. No.
18/909,541
Filed
Oct 8, 2024
Granted
Aug 4, 2026
Kind
B2
Art Unit
2444
USPC
709/224
Abstract

A first node may transmit a first multicast beacon to one or more nodes of a squad that form a network. The first node may receive a unicast synchronize request from a second node of the squad. The unicast synchronize request initiates a synchronization process between the first node and the second node and includes a first node list of nodes in the squad. The first node may compare the first node list in the unicast synchronization request to a second node list stored by the first node. The first node may determine one or more node information differences based on the comparison. The first node may transmit a second multicast beacon with the one or more node information differences to the one or more nodes of the squad.

Claims (95)

1 . A non-transitory computer-readable storage medium storing instructions that, when executed by a computer system, causes the computer system to:

receive, by a first node of a plurality of nodes in a network and storing a first grouping of nodes specifying nodes of the plurality of nodes, a first multicast beacon from a second node separate from nodes in the plurality of nodes, the first multicast beacon being a broadcast signal and including a first count of nodes;

update, by the first node, the first grouping of nodes to include the second node in response to receipt of the first multicast beacon;

start, by the first node, a backoff timer for transmission of a unicast synchronization request to the second node, the unicast synchronization request configured to initiate a synchronization service of the second node;

transmit, by the first node, the unicast synchronization request to the second node in response to the backoff timer expiring, the unicast synchronization request including the updated first grouping of nodes; and

receive, by the first node, a second multicast beacon from the second node, the second multicast beacon being a broadcast signal and including a second count of nodes.

2 . The non-transitory computer-readable storage medium of claim 1 :

wherein the second multicast beacon further includes a first hash of node information in a second grouping of nodes (a) specifying nodes in the plurality of nodes and (b) stored by the second node; and

wherein the instructions, when executed by the computer system, further cause the computer system to:

confirm, by the first node, a third count of nodes based on the updated first grouping of nodes matches the second count of nodes;

generate, by the first node, a second hash of node information in the updated first grouping of nodes; and

confirm, by the first node, the first hash matches the second hash.

3 . The non-transitory computer-readable storage medium of claim 1 :

wherein the second multicast beacon includes a node information difference set representative of one or more differences between the updated first grouping of nodes a second grouping of nodes (a) specifying nodes in the plurality of nodes and (b) stored by the second node;

wherein the second multicast beacon further includes a first hash of node information in the second grouping of nodes; and

wherein the instructions, when executed by the computer system, further cause the computer system to:

revise, by the first node, the updated first grouping of nodes according to the node information difference set;

generate, by the first node, a third count of nodes based on the revised first grouping of nodes;

generate, by the first node, a second hash of node information in the revised first grouping of nodes;

confirm, by the first node, the second count of nodes matches the third count of nodes; and

confirm, by the first node, the first hash matches the second hash.

4 . The non-transitory computer-readable storage medium of claim 1 , wherein the instructions, when executed by the computer system, further cause the computer system to:

subsequent to receipt of the second multicast beacon from the second node, transmit, by the first node, a third multicast beacon, wherein the third multicast beacon is a broadcast signal and includes the second count of nodes.

5 . The non-transitory computer-readable storage medium of claim 1 , wherein the instructions, when executed by the computer system, further cause the computer system to:

receive, by a third node in the plurality of nodes, the first multicast beacon from the second node; and

responsive to receipt of the first multicast beacon, start, by the third node, a second backoff timer for transmission of the unicast synchronization request, the second backoff timer being longer than the backoff timer of the first node.

6 . The non-transitory computer-readable storage medium of claim 5 , wherein the instructions, when executed by the computer system, further cause the computer system to:

receive, by the third node, the second multicast beacon from the second node; and

cancel, by the third node, the second backoff timer in response to receipt of the first multicast beacon.

7 . The non-transitory computer-readable storage medium of claim 1 , wherein at least one of:

the first node transmits the unicast synchronization request to the second node responsive to the backoff timer expiring and further responsive to the first node not receiving another multicast beacon from the second node; or

the first node starts the backoff timer responsive to the first node determining the second node is not in the plurality of nodes.

8 . A method comprising:

receiving, by a first node of a plurality of nodes in a network and storing a first grouping of nodes specifying nodes of the plurality of nodes, a first multicast beacon from a second node separate from nodes in the plurality of nodes, the first multicast beacon being a broadcast signal and including a first count of nodes;

updating, by the first node, the first grouping of nodes to include the second node in response to receiving the first multicast beacon;

starting, by the first node, a backoff timer for transmission of a unicast synchronization request to the second node, the unicast synchronization request configured to initiate a synchronization service of the second node;

transmitting, by the first node, the unicast synchronization request to the second node in response to the backoff timer expiring, the unicast synchronization request including the updated first grouping of nodes; and

receiving, by the first node, a second multicast beacon from the second node, the second multicast beacon being a broadcast signal and including a second count of nodes.

9 . The method of claim 8 :

wherein the second multicast beacon further includes a first hash of node information in a second grouping of nodes (a) specifying nodes in the plurality of nodes and (b) stored by the second node; and

further comprising:

confirming, by the first node, a third count of nodes based on the updated first grouping of nodes matches the second count of nodes;

generating, by the first node, a second hash of node information in the updated first grouping of nodes; and

confirming, by the first node, the first hash matches the second hash.

10 . The method of claim 8 :

wherein the second multicast beacon includes a node information difference set representative of one or more differences between the updated first grouping of nodes a second grouping of nodes (a) specifying nodes in the plurality of nodes and (b) stored by the second node; and

wherein the second multicast beacon further includes a first hash of node information in the second grouping of nodes; and

further comprising:

revising, by the first node, the updated first grouping of nodes according to the node information difference set;

generating, by the first node, a third count of nodes based on the revised first grouping of nodes;

generating, by the first node, a second hash of node information in the revised first grouping of nodes;

confirming, by the first node, the second count of nodes matches the third count of nodes; and

confirming, by the first node, the first hash matches the second hash.

11 . The method of claim 8 , further comprising:

subsequent to receiving the second multicast beacon from the second node, transmitting, by the first node, a third multicast beacon, wherein the third multicast beacon is a broadcast signal and includes the second count of nodes.

12 . The method of claim 8 , further comprising:

receiving, by a third node in the plurality of nodes, the first multicast beacon from the second node; and

responsive to receiving the first multicast beacon, starting, by the third node, a second backoff timer for transmission of the unicast synchronization request, the second backoff timer being longer than the backoff timer of the first node.

13 . The method of claim 12 , further comprising:

receiving, by the third node, the second multicast beacon from the second node; and

canceling, by the third node, the second backoff timer in response to receiving the first multicast beacon.

14 . The method of claim 8 , wherein at least one of:

the first node transmits the unicast synchronization request to the second node responsive to the backoff timer expiring and further responsive to the first node not receiving another multicast beacon from the second node; or

the first node starts the backoff timer responsive to the first node determining the second node is not in the plurality of nodes.

15 . A system comprising:

a set of one or more processors; and

a computer-readable storage medium storing instructions that, when executed by the set of one or more processors, causes the set of one or more processors to:

receive, by a first node of a plurality of nodes in a network and storing a first grouping of nodes specifying nodes of the plurality of nodes, a first multicast beacon from a second node separate from nodes in the plurality of nodes, the first multicast beacon being a broadcast signal and including a first count of nodes;

update, by the first node, the first grouping of nodes to include the second node in response to receiving the first multicast beacon;

start, by the first node, a backoff timer for transmission of a unicast synchronization request to the second node, the unicast synchronization request configured to initiate a synchronization service of the second node;

transmit, by the first node, the unicast synchronization request to the second node in response to the backoff timer expiring, the unicast synchronization request including the updated first grouping of nodes; and

receive, by the first node, a second multicast beacon from the second node, the second multicast beacon being a broadcast signal and including a second count of nodes.

16 . The system of claim 15 :

wherein the second multicast beacon further includes a first hash of node information in a second grouping of nodes (a) specifying nodes in the plurality of nodes and (b) stored by the second node; and

wherein the instructions, when executed by the set of one or more processors, further cause the set of one or more processors to:

confirm, by the first node, a third count of nodes based on the updated first grouping of nodes matches the second count of nodes;

generate, by the first node, a second hash of node information in the updated first grouping of nodes; and

confirm, by the first node, the first hash matches the second hash.

17 . The system of claim 15 :

wherein the second multicast beacon includes a node information difference set representative of one or more differences between the updated first grouping of nodes a second grouping of nodes (a) specifying nodes in the plurality of nodes and (b) stored by the second node;

wherein the second multicast beacon further includes a first hash of node information in the second grouping of nodes; and

wherein the instructions, when executed by the set of one or more processors, further cause the set of one or more processors to:

revise, by the first node, the updated first grouping of nodes according to the node information difference set;

generate, by the first node, a third count of nodes based on the revised first grouping of nodes;

generate, by the first node, a second hash of node information in the revised first grouping of nodes;

confirm, by the first node, the second count of nodes matches the third count of nodes; and

confirm, by the first node, the first hash matches the second hash.

18 . The system of claim 15 , wherein the instructions, when executed by the set of one or more processors, further cause the set of one or more processors to:

subsequent to receipt of the second multicast beacon from the second node, transmit, by the first node, a third multicast beacon, wherein the third multicast beacon is a broadcast signal and includes the second count of nodes.

19 . The system of claim 15 , wherein the instructions, when executed by the set of one or more processors, further cause the set of one or more processors to:

receive, by a third node in the plurality of nodes, the first multicast beacon from the second node; and

responsive to receipt of the first multicast beacon, start, by the third node, a second backoff timer for transmission of the unicast synchronization request, the second backoff timer being longer than the backoff timer of the first node.

20 . The system of claim 19 , wherein the instructions, when executed by the set of one or more processors, further cause the set of one or more processors to:

receive, by the third node, the second multicast beacon from the second node; and

cancel, by the third node, the second backoff timer in response to receipt of the first multicast beacon.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2025
From: AMACKER, MATTHEW WARREN; KALIN, IAN JAY
To: TURBINEONE, INC.
Reel/Frame 070841/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2024
From: BARKER, CHARLES R., JR.; GOLDBERG, KEITH JOSEPH
To: TURBINEONE, INC.
Reel/Frame 069094/0339 →
Continuity (5)
Continuation 18608514 · Mar 18, 2024
Continuation 18094914 · Jan 9, 2023
Provisional Application 63401004 · Aug 25, 2022
Provisional Application 63299828 · Jan 14, 2022
Related Publication 20250141959A1 · May 1, 2025
References Cited (74)
US 6122255A · Bartholomew et al. · 2000 [cited by applicant]
US 7031288B2 · Ogier · 2006 [cited by applicant]
US 7835301B1 · Maufer · 2010 [cited by examiner]
US 7869413B2 · Zuniga · 2011 [cited by applicant]
US 8645454B2 · Mathew · 2014 [cited by examiner]
US 8880941B1 · Reiss et al. · 2014 [cited by applicant]
US 9197546B2 · Kang et al. · 2015 [cited by applicant]
US 9875448B2 · Shahraray et al. · 2018 [cited by applicant]
US 10098081B2 · Kim et al. · 2018 [cited by applicant]
US 10298715B2 · Aikoh et al. · 2019 [cited by applicant]
US 10419293B1 · She · 2019 [cited by examiner]
US 10848200B2 · Alexander · 2020 [cited by applicant]
US 11327811B2 · Lewis · 2022 [cited by applicant]
US 11436054B1 · Zad et al. · 2022 [cited by applicant]
US 11683774B2 · Oteri et al. · 2023 [cited by applicant]
US 20040199804A1 · Rathunde et al. · 2004 [cited by applicant]
US 20050063419A1 · Schrader et al. · 2005 [cited by applicant]
US 20050094574A1 · Han et al. · 2005 [cited by applicant]
US 20090059799A1 · Friskney et al. · 2009 [cited by applicant]
US 20090161578A1 · Yeung et al. · 2009 [cited by applicant]
US 20090232034A1 · Li et al. · 2009 [cited by applicant]
US 20090252165A1 · Zhang · 2009 [cited by examiner]
US 20100061292A1 · Weinstein · 2010 [cited by applicant]
US 20120044864A1 · Zhang et al. · 2012 [cited by applicant]
US 20120063397A1 · Abedi · 2012 [cited by examiner]
US 20120166514A1 · Mathew · 2012 [cited by examiner]
US 20120254280A1 · Parker, II · 2012 [cited by applicant]
US 20120310395A1 · El-Hoiydi · 2012 [cited by examiner]
US 20130016727A1 · Tazzari et al. · 2013 [cited by applicant]
US 20130094536A1 · Hui · 2013 [cited by examiner]
US 20130107999A1 · Mainaud · 2013 [cited by examiner]
US 20140047341A1 · Breternitz et al. · 2014 [cited by applicant]
US 20140269637A1 · Banister et al. · 2014 [cited by applicant]
US 20140313966A1 · Shukla · 2014 [cited by examiner]
US 20150234845A1 · Moore et al. · 2015 [cited by applicant]
US 20150256435A1 · Sum et al. · 2015 [cited by applicant]
US 20160182298A1 · Brooks et al. · 2016 [cited by applicant]
US 20170127369A1 · Liu et al. · 2017 [cited by applicant]
US 20170127464A1 · Liu et al. · 2017 [cited by applicant]
US 20170201866A1 · Liu et al. · 2017 [cited by applicant]
US 20170245120A1 · Huang · 2017 [cited by examiner]
US 20170265153A1 · Grady · 2017 [cited by examiner]
US 20170303187A1 · Crouthamel et al. · 2017 [cited by applicant]
US 20170337241A1 · Newbern et al. · 2017 [cited by applicant]
US 20170364602A1 · Reitz · 2017 [cited by examiner]
US 20180213580A1 · Taskin et al. · 2018 [cited by applicant]
US 20180287904A1 · Brummel et al. · 2018 [cited by applicant]
US 20180332547A1 · Liu · 2018 [cited by examiner]
US 20180359778A1 · Splitz et al. · 2018 [cited by applicant]
US 20190373438A1 · Amir · 2019 [cited by examiner]
US 20200117513A1 · Li et al. · 2020 [cited by applicant]
US 20200120607A1 · Kim · 2020 [cited by examiner]
US 20200169954A1 · Namba · 2020 [cited by examiner]
US 20200210243A1 · Li · 2020 [cited by applicant]
US 20210084566A1 · Kuenzi · 2021 [cited by applicant]
US 20210271516A1 · Hs et al. · 2021 [cited by applicant]
US 20220141635A1 · Menon · 2022 [cited by applicant]
US 20220164240A1 · Kim et al. · 2022 [cited by applicant]
US 20230171578A1 · Nachmany · 2023 [cited by examiner]
US 20230231910A1 · Barker et al. · 2023 [cited by applicant]
US 20230359491A1 · Nordin · 2023 [cited by examiner]
US 20240357498A1 · Sandhu · 2024 [cited by examiner]
CN 107395308A · 2017 [cited by examiner]
CN 109076104A · 2018 [cited by applicant]
CN 107251620B · 2020 [cited by examiner]
DE 102020201209A1 · 2021 [cited by applicant]
WO WO2003105499A1 · 2003 [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2022/018025, Aug. 16, 2022, 19 pages. [cited by applicant]
PCT Invitation to Pay Additional Fees, PCT Application No. PCT/US2022/018025, Jun. 16, 2022, two pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/681,590, filed Aug. 18, 2022, 12 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/681,474, filed Feb. 7, 2023, 21 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/681,598, filed Apr. 24, 2025, 18 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/681,598, filed Oct. 2, 2025, 21 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/681,598, filed Sep. 9, 2024, 21 pages. [cited by applicant]