BACKGROUND OF THE DISCLOSURE

1. Field of the Invention

The present disclosure relates to the art of computing, and more particularly to automated routing in a mesh network of wireless messaging devices.

2. Description of Related Art

Bluetooth is a popular wireless communication protocol for transmitting data over short distances. Bluetooth is commonly used with today's mobile electronic devices, connecting devices such as headphones, headsets, watches, keyboard, mice, mobile phones, tablets, and sporting equipment. While the above-described devices are a one-to-one connection, there can be a desire to couple together many devices in a mesh network. Today's mesh networks can send a message from a source node to a destination node of the mesh network by either flooding the mesh with messages to nodes that are not along a route of the message, or alternatively by using a routing table. The flooding method causes an abundance of unnecessary traffic and causes nodes not included in the route to consume power. However, too much traffic can cause collisions, and energy conservation can be a priority for battery powered devices. As for the routing table method, maintaining a routing table can be a complicated solution, particularly when the mesh network is reconfigured by adding, moving, or removing nodes of the mesh network, or when a node fails. Such reconfiguration can be routine for mobile nodes of the mesh network. The routing table can be stored by a head node that controls the other nodes of the mesh network, and possibly by other nodes of the mesh network. Thus, many copies may be stored, accessed, and require reconfiguration when the mesh network is reconfigured, all of which consumes power.

To avoid the unnecessary messages, some mesh networks use different node types—some nodes are high-powered routing nodes that can handle extra messages for routing purposes. Other nodes are low-power nodes that only receive messages that are specifically to be routed to the low power node. The low-power nodes do not participate in routing of messages because of their power constraints. Additionally, a routing table may be needed to route the messages through the high-powered routing nodes.

While conventional methods and systems have generally been considered satisfactory for their intended purpose, there is still a need in the art for efficient routing in a mesh network, including conserving energy when routing between battery powered devices.

SUMMARY OF THE INVENTION

In accordance with an aspect of the disclosure, a method of routing communication between nodes of at least one network including a mesh network. The method includes each node of the mesh network advertising a hop distance relative to a head node of the mesh network. The hop distance is a measure of how many hops the node is from the head node, the head node having a hop distance of zero. Respective subscriber nodes of at least one subscriber node of the mesh network each transmit via an upstream route to the head node a request to subscribe to a topic of a plurality of possible topics, the upstream route being determined based on the hop distance advertised by first routing nodes included in the upstream route. Each first routing node records routing information that identifies the first routing node's adjacent downstream first routing node. The respective subscriber nodes subscribe to the corresponding topic for which it transmitted a request to subscribe. Subscribing to the corresponding topic provides the respective subscriber nodes with the ability to access contents of a published message associated with the corresponding topic.

In accordance with still another aspect of the disclosure, a non-transitory computer readable storage medium and one or more computer programs embedded therein are provided. The computer programs include instructions, which when executed by a computer system, such as processors of the nodes of the mesh network and a communication network cause the computer system to perform the operations of the method.

