System and method for multicast over highly mobile mesh networks
Systems, devices, and methodology for removing echo and reducing congestion in multicast (broadcast) over a dynamic self-healing mobile mesh network, by use of discrete embedded computers synchronously tracking mesh connections and link quality across multiple RF connections, keeping multicast both efficient and effective in a highly kinetic, ever changing, mesh topology.
1. A method for multicasting over a mesh network, the mesh network comprising a plurality of nodes, the method comprising:
maintaining, in each of the nodes, a list of nearby nodes with good links;
broadcasting, from each of the nodes, the maintained list to other ones of the nodes within range; and
relaying a multicast from each of the nodes only if the node can reach at least one node not seen as good by the node sending the multicast.
2. The method as in claim 1 , further comprising using mesh management/routing data to optimize selection of good link lists.
3. The method as in claim 1 , further comprising using a randomized delay on the good link list broadcast, that prevents multiple nodes from transmitting on top of each other when a peer goes on or off the mesh network.
4. The method as in claim 1 , operating at OSI Network Layer 2, in which all network addressing is done using MAC-level addresses.
5. The method as in claim 1 , wherein total path traversal time is used to help establish a cost metric for each link into the local node, and wherein each good link is determined using the cost metric.
6. The method as in claim 1 , wherein the broadcasting is performed periodically.
7. The method as in claim 1 , wherein the relaying of the multicast from each of the nodes is performed only if the node can reach a plurality of nodes not seen as good by the node sending the multicast.
8. A node for multicasting over a mesh network, the network comprising a plurality of other nodes, the node comprising:
a communication component for connecting to the mesh network; and
a processor configured for:
maintaining a list of nearby nodes with good links;
broadcasting the maintained list to other ones of the nodes within range; and
relaying a multicast only if the node can reach at least one node not seen as good by the node sending the multicast.
9. The node as in claim 8 , wherein the processor is further configured for mesh management/routing data to optimize selection of good link lists.
10. The node as in claim 8 , wherein the processor is further configured for using a randomized delay on the good link list broadcast that prevents multiple nodes from transmitting on top of each other when a common neighbor goes on or off the mesh network.
11. The node as in claim 8 , operating at OSI Network Layer 2, in which all network addressing is done using MAC-level addresses.
12. The node as in claim 8 , wherein the processor is further configured for:
establishing a cost metric for each link into the local node using total path traversal time; and
determining each good link using the cost metric.
13. The node as in claim 8 , wherein the broadcasting is performed periodically.
14. The node as in claim 8 , wherein the relaying of the multicast is performed only if the node can reach a plurality of nodes not seen as good by the node sending the multicast.