IP Library › Granted Patent US 12,177,296
Granted Patent B2
US 12,177,296 · App. 18/094,922 · Granted Dec 24, 2024

Lightweight node synchronization protocol for ad-hoc peer-to-peer networking of on-body combat systems

Inventors: Charles R. Barker, Jr. (Orlando, FL); Keith Joseph Goldberg (Winter Park, FL); Ian Jay Kalin (San Francisco, CA); Matthew Warren Amacker (Santa Clara, 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,177,296
App. No.
18/094,922
Granted
Dec 24, 2024
Kind
B2
Abstract

Embodiments may relate to synchronizing nodes in a peer-to-peer network. A method comprises listening for a first multicast beacon during a duration of a discovery interval. The discovery interval comprises time intervals configured for a plurality of nodes in a squad. The method further comprises, in response to receiving the first multicast beacon during the duration of the discovery interval, transmitting a unicast synchronization request to a transmitter of the first multicast beacon. The unicast synchronization request comprises a node list. The method further comprises comparing the node list in the unicast synchronization request to a stored node list comprising node information for the squad, determining node information differences based on the comparison, and in response to determining the one or more node information differences, requesting node information from nodes associated with the node information differences and transmitting a second multicast beacon comprising the one or more node information differences.

Claims (72)

1. A method of synchronizing nodes in a peer-to-peer network, the method comprising:

listening for a first multicast beacon during a duration of a discovery interval, the discovery interval comprising one or more time intervals configured for a plurality of nodes in a squad;

transmitting, in response to receiving the first multicast beacon during the duration of the discovery interval, a unicast synchronization request to a transmitter of the first multicast beacon, the unicast synchronization request comprising a node list;

comparing the node list in the unicast synchronization request to a stored node list of the transmitter of the first multicast beacon, the node list in the unicast synchronization request and the stored node list each comprising node information for the squad;

determining one or more node information differences based on the comparison;

requesting, in response to determining the one or more node information differences, node information from one or more nodes associated with the one or more node information differences; and

transmitting a second multicast beacon comprising the one or more node information differences.

2. The method of claim 1 , wherein the discovery interval is configured according to a discovery interval data structure, wherein the discovery interval data structure is stored on the plurality of nodes in the squad, and wherein the discovery interval data structure comprises:

a first pool of time slots reserved for nodes to transmit the unicast synchronization request during a synchronization window; and

a second pool of time slots reserved for nodes to transmit the first multicast beacon during a beacon window.

3. The method of claim 2 , wherein the first pool of time slots and the second pool of time slots comprise contention free slots and contention slots.

4. The method of claim 1 , wherein the node information comprises:

one or more identifiers for each node; and

one or more characteristics for each node.

5. The method of claim 1 , further comprising:

receiving the node information from the one or more nodes associated with the one or more node information differences.

6. The method of claim 1 , wherein the first multicast beacon comprises a first hash of node information of the stored node list of the transmitter of the first multicast beacon.

7. The method of claim 1 , further comprising:

updating the stored node list using the node information from the one or more nodes associated with the one or more node information differences; and

generating a second hash of node information of the stored node list of the transmitter of the first multicast beacon after the updating.

8. The method of claim 7 , further comprising:

generating the second multicast beacon comprising the second hash; and

transmitting the second multicast beacon to the plurality of nodes in the squad.

9. The method of claim 1 , further comprising:

transmitting the first multicast beacon comprising a first node count;

receiving the unicast synchronization request comprising a second node count;

merging the first node count and the second node count to form a third node count;

generating the second multicast beacon comprising the third node count; and

transmitting the second multicast beacon.

10. The method of claim 1 , further comprising:

transmitting the first multicast beacon during a beacon window; and

receiving the unicast synchronization request during a synchronization window.

11. The method of claim 1 , further comprising:

receiving the unicast synchronization request from a first node in the plurality of nodes in the squad, the first node being different from the one or more nodes associated with the one or more node information differences;

receiving a response to the request for the node information from the one or more nodes associated with the one or more node information differences, the response comprising the one or more node information differences; and

transmitting the second multicast beacon comprising the one or more node information differences.

12. The method of claim 1 , wherein the one or more node information differences comprise a node removal, and wherein the method further comprises:

determining a failure in the request for the node information from the one or more nodes associated with one or more node information differences at a node relating to the node removal; and

transmitting the second multicast beacon comprising the node removal.

13. A non-transitory computer-readable storage medium storing instructions, the instructions when executed by a processor cause the processor to:

listen for a first multicast beacon during a duration of a discovery interval, the discovery interval comprising one or more time intervals configured for a plurality of nodes in a squad;

in response to receiving the first multicast beacon during the duration of the discovery interval, transmit a unicast synchronization request to a transmitter of the first multicast beacon, the unicast synchronization request comprising a node list;

compare the node list in the unicast synchronization request to a stored node list of the transmitter of the first multicast beacon, the node list in the unicast synchronization request and the stored node list each comprising node information for the squad;

determine one or more node information differences based on the comparison;

in response to determining the one or more node information differences, request node information from one or more nodes associated with the one or more node information differences; and

transmit a second multicast beacon comprising the one or more node information differences.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the discovery interval is configured according to a discovery interval data structure, wherein the discovery interval data structure is stored on the plurality of nodes in the squad, and wherein the discovery interval data structure comprises:

a first pool of time slots reserved for nodes to transmit the unicast synchronization request during a synchronization window; and

a second pool of time slots reserved for nodes to transmit the first multicast beacon during a beacon window.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the first pool of time slots and the second pool of time slots comprise contention free slots and contention slots.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the node information comprises:

one or more identifiers for each node; and

one or more characteristics for each node.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further cause the processor to:

receive the node information from the one or more nodes associated with the one or more node information differences.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the first multicast beacon comprises a first hash of node information of the stored node list of the transmitter of the first multicast beacon.

19. A system comprising:

a beacon node, the beacon node comprising:

a first set of one or more processors;

a discovery interval data structure; and

a first non-transitory computer-readable medium storing instructions, the instructions when executed by the first set of one or more processors cause the first set of one or more processors to:

compare a node list in a unicast synchronization request to a stored node list, the node list in the unicast synchronization request and the stored node list each comprising node information for a squad;

determine one or more node information differences based on the comparison;

in response to determining the one or more node information differences, request node information from one or more nodes associated with the one or more node information differences; and

transmit a second multicast beacon comprising the one or more node information differences.

20. The system of claim 19 further comprising:

a synch node, the synch node comprising:

a second set of one or more processors;

the discovery interval data structure; and

a second non-transitory computer-readable medium storing instructions, the instructions when executed by the second set of one or more processors cause the second set of one or more processors to:

listen for a multicast beacon during a duration of a discovery interval of the discovery interval data structure, the discovery interval comprising one or more time intervals configured for the squad; and

in response to receiving the multicast beacon during the duration of the discovery interval, transmit the unicast synchronization request to the beacon node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2023
From: BARKER, CHARLES R., JR.; GOLDBERG, KEITH JOSEPH; KALIN, IAN JAY; AMACKER, MATTHEW WARREN
To: TURBINEONE, INC.
Reel/Frame 062772/0814 →
Continuity (3)
Provisional Application 63401004 · Aug 25, 2022
Provisional Application 63299828 · Jan 14, 2022
Related Publication 20230261776A1 · Aug 17, 2023
Cited By (1)
US 12,574,280