# US 12,010,602 B2 · Flood fill mesh radio network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,602 B2
- Document ID: US12010602B2
- Status: Granted
- Kind: B2
- Application number: 17/467,607
- Filed: 2021-09-07
- Published: 2022-05-05
- Granted: 2024-06-11
- Earliest claimed: 2018-11-28
- Applicants: Guy McIlroy
- Inventors: Guy McIlroy
- Web page: https://patentgrep.com/patent/US12010602B2

## CPC

- H04W 56/0015: {one node acting as a reference for the others}
- H04L 1/0013: {Rate matching, e.g. puncturing or repetition of code symbols}
- H04L 1/08: by repeating transmission, e.g. Verdan system {(H04L1/1858 and H04L1/189 take precedence)}
- H04L 1/1621: {Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers}
- H04L 45/02: Topology update or discovery
- H04L 45/32: {Flooding (denial of service attacks H04L63/1458)}
- H04W 4/06: Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W 8/26: Network addressing or numbering for mobility support
- H04W 40/005: {Routing actions in the presence of nodes in sleep or doze mode}
- H04W 40/023: {Limited or focused flooding to selected areas of a network}
- H04W 40/246: {Connectivity information discovery}
- H04W 52/0216: {using a pre-established activity schedule, e.g. traffic indication frame}
- H04W 56/002: {Mutual synchronization}
- H04W 56/0075: {based on arrival time vs. expected arrival time}
- H04L 2001/0093: {Point-to-multipoint}
- H04W 84/18: Self-organising networks, e.g. ad-hoc networks or sensor networks
- Y02D 30/70: in wireless communication networks
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Disclosed is an improved implementation of a flood fill mesh network that utilizes low power and does not require any network addressing or routing protocol for network message delivery. Network messages are only communicated to a network node's correspondents using broadcast network messages over a wireless network. Network messages propagate throughout the network based on each correspondent node rebroadcasting received messages to its correspondent nodes, and so on. Coordinated synchronization across network nodes can be achieved by each network node broadcasting synchronization frames to its correspondents within a synchronization window time period and thereafter adjusting its own start time for the next synchronization period to converge synchronization. A guard band may also be utilized to account for any clock drift and signal path delays between any two communicating network nodes.

## Claims

### Claim 1

A method for implementing a mesh network comprising:
configuring a network node of a plurality of network nodes in a wireless radio network to wake up at a first scheduled wakeup time to synchronize communications with neighbor network nodes during a synchronization interval time period comprising an interval between successive time periods in which the network node is scheduled to wake up, wherein the network node includes a processor and a memory and is configured to communicate with the neighbor network nodes in the plurality of network nodes;
at a time before a synchronization window expires, receiving a second synchronization frame comprising second state information broadcast from a neighbor network node, the second state information including a second time lapse between a second scheduled wakeup time for the neighbor network node and timing of broadcasting the second synchronization frame from the neighbor network node;
determining the second scheduled wakeup time of the neighbor network node based on the second state information;
calculating a time difference between the second scheduled wakeup time of the network node and the first scheduled wakeup time of the network node; and
adjusting timing of the synchronization interval time period of the network node based on the time difference.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
scheduling a next wakeup time for the network node to initiate a next synchronization interval time period based on the timing of the synchronization interval time period; and
entering a sleep state until the next wakeup time for the network node.

### Claim 3 (depends on 2)

The method of claim 2, wherein adjusting the timing of the synchronization interval for the next synchronization interval time period includes:
dividing the time difference by a factor of two; and
adjusting the timing of the synchronization interval time period for the network node by one-half of the time difference.

### Claim 4 (depends on 1)

The method of claim 1, wherein adjusting the timing of the synchronization interval time period includes:
subtracting one-half of the time difference from the synchronization interval time period based on the second scheduled wakeup time occurring before the first scheduled wakeup time; and
adding one-half of the time difference to the synchronization interval time period based on the second scheduled wakeup time occurring after the first scheduled wakeup time.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
providing a guard interval to account for clock drift between the network nodes communicating on the wireless radio network.

### Claim 6 (depends on 5)

The method of claim 5, wherein the guard interval is set equal to double the clock drift between the network nodes.

### Claim 7 (depends on 5)

The method of claim 5, wherein the synchronization window initiates upon expiration of the guard interval.

### Claim 8 (depends on 1)

The method of claim 1, wherein receiving the second synchronization frame includes:
broadcasting a first synchronization frame comprising first state information of the network node to the neighbor network nodes, the first state information including a first time lapse between the first scheduled wakeup time and timing of broadcasting the first synchronization frame.

### Claim 9 (depends on 8)

The method of claim 8, wherein timing of broadcasting the first synchronization frame is distributed randomly within the synchronization window.

### Claim 10

A system configured for implementing a network node in a mesh network, the system comprising:
a processor;
a memory;
an internal clock; and
a radio for communicating with a plurality of network nodes over a wireless radio network, wherein each network node on the wireless radio network communicates with neighbor network nodes using broadcast network messages, and each network node is configured for rebroadcasting network messages it receives to the neighbor network nodes on the wireless radio network, wherein the system is configured to implement a network node for performing operations comprising:
configuring the network node to wake up at a first scheduled wakeup time to synchronize communications with the neighbor network nodes during a synchronization interval time period comprising an interval between successive time periods in which the network node is scheduled to wake up;
at a time before a synchronization window expires, receiving a second synchronization frame comprising second state information broadcast from a neighbor network node, the second state information including a second time lapse between a second scheduled wakeup time for the neighbor network node and timing of broadcasting the second synchronization frame from the neighbor network node;
determining the second scheduled wakeup time of the neighbor node based on the second state information;
calculating a time difference between the second scheduled wakeup time of the network node and the first scheduled wakeup time of the network node; and
adjusting timing of the synchronization interval time period of the network node based on the time difference.

### Claim 11 (depends on 10)

The system of claim 10, wherein the operations further comprise:
scheduling a next wakeup time for the network node to initiate a next synchronization interval time period based on the timing of the synchronization interval time period; and
entering a sleep state until the next scheduled wakeup time for the network node.

### Claim 12 (depends on 11)

The system of claim 11, wherein timing of the next synchronization interval is determined based on averaging the time difference between the first scheduled wakeup time and the second scheduled wakeup time.

### Claim 13 (depends on 10)

The system of claim 10, wherein the operation of adjusting the timing of the synchronization interval time period comprises:
dividing the time difference by a factor of two; and
adjusting the timing of the synchronization interval time period for the network node by one-half of the time difference.

### Claim 14 (depends on 10)

The system of claim 10, wherein the operation of adjusting the timing of the synchronization interval time period includes:
subtracting one-half of the time difference from the synchronization interval time period based on the second scheduled wakeup time occurring before the first scheduled wakeup time; and
adding one-half of the time difference to the synchronization interval time period based on the second scheduled wakeup time occurring after the first scheduled wakeup time.

### Claim 15 (depends on 10)

The system of claim 10, wherein the operations further comprise:
providing a guard interval to account for clock drift between the network nodes.

### Claim 16 (depends on 15)

The system of claim 15, wherein the synchronization window initiates upon expiration of the guard interval.

### Claim 17 (depends on 10)

The system of claim 10, wherein the operation of receiving the second synchronization frame includes:
broadcasting a first synchronization frame comprising first state information of the network node to the neighbor network nodes, the first state information including a first time lapse between the first scheduled wakeup time and timing of broadcasting the first synchronization frame.

### Claim 18

A non-transitory computer readable storage medium storing programmed computer code, which when executed by a processor performs operations comprising:
configuring a network node of a plurality of network nodes in a wireless radio network to wake up at a first scheduled wakeup time to synchronize communications with neighbor network nodes during a synchronization interval time period comprising an interval between successive time periods in which the network node is scheduled to wake up, wherein the network node includes a processor and a memory and is configured to communicate with the neighbor network nodes in the plurality of network nodes;
at a time before a synchronization window expires, receiving a second synchronization frame comprising second state information broadcast from a neighbor network node, the second state information including a second time lapse between a second scheduled wakeup time for the neighbor network node and timing of broadcasting the second synchronization frame from the neighbor network node;
determining the second scheduled wakeup time of the neighbor node based on the second state information;
calculating a time difference between the second scheduled wakeup time of the network node and the first scheduled wakeup time of the network node; and
adjusting timing of the synchronization interval time period of the network node based on the time difference.

### Claim 19 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein the operations further comprise:
scheduling a next wakeup time for the network node to initiate a next synchronization interval time period based on the adjusted timing of the synchronization interval time period; and
entering a sleep state until the next scheduled wakeup time for the network node.

### Claim 20 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein the operation of receiving the second synchronization frame includes:
broadcasting a first synchronization frame comprising first state information of the network node to the neighbor network nodes, the first state information including a first time lapse between the first scheduled wakeup time and timing of broadcasting the first synchronization frame.
