The present disclosure relates to a method used in a connectionless packet flooding mesh network, and more particularly, to a method of performing timing arrangement over the mesh network.
A mesh network is a communications network made up of radio nodes organized in a mesh topology. Mesh network can be implemented with various wireless technologies including IEEE 802.11, 802.15, 802.16, cellular technologies, Bluetooth, Zigbee, Bluetooth Low Energy (BLE) and need not be restricted to any one technology or protocol. Recently, mesh network is applied for Internet of Things (IoT) device connection. This makes it much simpler to build a network of connected things and is, as a bonus, relatively inexpensive.
However, there are several cons in packet flooding mesh network. First, flood routing implies that all devices must broadcast the data packet without timing synchronization with other devices, it will cause a packet collision and no device can receive the correct packet. One way to prevent the packet collision is showed by
Another drawback is that the shorter the time interval, the higher the packet collision probability, due to the random broadcast methodology. This drawback is much more serious when there is huge number of devices within the same area. One way to overcome this drawback is to increase the time interval, so there is enough time for the random broadcasting and avoiding collision with packet from other nodes. However, the more the device number, the more the time interval needed, and it causes a long latency since every device can only broadcasts one packet in a time interval.
It is therefore an objective to provide a method of performing a timing arrangement in a mesh network to solve the above problems.
The present disclosure provides a method of performing a timing arrangement for a first radio node of a mesh network. The method comprises broadcasting a synchronization packet including an information element for indicating a starting time and an ending time of an active period and a length of an interval, wherein the first node monitors a physical channel for data transmission and reception only in the active period of the interval, whereby other nodes of the mesh network receiving the synchronization packet comply with the time schedule indicated in the synchronization packet.
The present disclosure provides a method of performing a timing arrangement for a second radio node of a mesh network. The method comprises receiving a synchronization packet including an information element for indicating a starting time and an ending time of an active period and a length of an interval, from a first node of the mesh network, complying with the time schedule indicated in the synchronization packet by monitoring a physical channel for data transmission and reception only in the active period of the interval, and broadcasting the synchronization packet.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
For power-saving,
Reference is made to
Step 500: Start.
Step 510: Broadcast a synchronization packet including an information element for indicating a starting time and an ending time of an active period and a length of a scheduled interval, wherein the first node monitors a physical channel for data transmission/reception only in the active period of the scheduled interval.
Step 520: End.
According to the process 30, the node broadcasts the synchronization packet including timing information for the active period, sleep period and time interval. On the other hand, other nodes of the mesh network receiving the synchronization packet comply with the time schedule indicated in the synchronization packet. That is, the nodes receiving the synchronization packet will have the same active period, sleep period and time interval as the node broadcasting the synchronization packet, so as to realize timing synchronization.
Take an example for timing synchronization operation, and reference is made to
Since the “synchronization request packet” is transmitted periodically with the active period X within the time interval Y of the supervisor node 201, the supervisor node 201 will surely be active in one of the active period X within the interval Y and consequentially receives the “synchronization request packet” from the orphan node 202. In addition, because the “synchronization request packet” only contains the timing information and only is emitted out to let the supervisor node 201 to receive it, the transmission time period a of the “synchronization request packet” can be shorter than the active period X, so the sleep period can be increased for power saving. On the other hand, when the supervisor node 201 receives the “synchronization request packet” during the active period of the supervisor node 201, the supervisor node 201 is forced to be active in the active period Z to broadcast the “synchronization response packet” including the timing information, such as a starting time and an ending time of the active period and a length of the time interval. Since the “synchronization response packet” is transmitted at the active period Z, the “synchronization response packet” is ensured to be received by the orphan node 202. Thus, the orphan node 202 will be synchronizing with the supervisor node 201. With such manner, power consumption of the orphan node 202 can be saved as (X−a)/X. It is important if the orphan node 202 cannot find the supervisor node 201 for a long time.
Note that, since the operating hardware clock of every node will be slightly different from others due to the variation of hardware components, the time schedule mismatch may occur when time goes on. As shown in
In an embodiment, the member of upper group mesh network will keep active in the active period of every group mesh network, i.e. G1-G5, and thus is able to communicate with every group mesh network. In the other words, member of the upper group mesh network belong to a specific group mesh network at the specific active period of that group mesh network. Therefore, the upper group mesh network can be a link of the same group mesh network when some members are far away from the group. This methodology is useful for the moving node. For example, as shown in
Besides, with upper group mesh network, different group mesh networks can communicate with each other. For example, the nodes of group mesh network G1 cannot communicate with nodes of group mesh network G5 since they are in different active periods. However, by upper group mesh networks F1-F4, the group mesh network G1 can communicate with the group mesh network G5 linked to the upper group mesh network F4. In detail, the group mesh network G1 in the active period broadcasts the data packet and the upper group mesh network F1 with the same active period as the group mesh network G1 receives it. Then, the upper group mesh network F1 broadcasts the received data packet, and thus other upper group mesh networks F2-F4 receive the data packet. Finally, the upper group mesh network F4 broadcasts the received data packet to the group mesh network G5 during the active period of the group mesh network G5. In other words, even the group mesh network G2-G5 are in sleep period during data transmission of the group mesh network G1, the member of the upper group mesh network can be the bridge link between the different group mesh network.
In other embodiments, the upper group mesh network has its own active period for the mesh network to work. For example, the active period duration of the upper group mesh network and group mesh network is different. However, the sum of all the active period duration of every group mesh network is the time interval of the whole mesh network.
Referring back to
Moreover, if most of the nodes in the group mesh network are fixed, it is possible to create a tree routing table of the mesh network and use this table to simplify the re-broadcast from node to root, so as to prevent packet collision. By utilizing tree routing table, packet collision free is realized at first broadcast and preventing time waste for packet re-transmission. In addition, active period is minimized but still keeps the low packet collision rate since packet re-transmission in the mesh network is decreased.
In detail, the tree routing table for mesh network broadcast is focusing on simplifying data packet communication, so the new methodology is to hand over a portion of routing work from supervisor node to every node to minimize the time delay. At first, all nodes of the mesh network establish their own “neighbor list” (by setting the sleep period=0) with the same procedure in our previous patent application Ser. No. 15/334,294, then each node broadcasts its neighbor list to the supervisor node for the supervisor node to create the tree routing table.
Supervisor node establishes the only one tree routing table and sends every node the same tree routing table. The tree routing table only contains the upper link node information of every node of the tree. Since the tree routing table stored at every node is the same one, supervisor node only needs to broadcast it once, so it only occupies a little bit of bandwidth for this work. The tree routing table is a data structure to indicate the upper node ID of every node of the tree, so the size of the tree routing table equals to the (node number*ID size). Take an example of a group mesh with 105 nodes, the tree routing table size=105*1 byte=105 bytes. It is feasible for the mesh network to work on this algorithm since it only needs 1 packet broadcast with 105 bytes to spread this tree routing table to every node.
For an example of node-to-root transmission, the sender node 112 transmits a packet to the destination node 101. First, when the node 111 receive a packet from the node 112, the node 111 will checks the tree routing table to see if it is an uplink node of the node 112. If yes, the node 111 knows the packet is from its downlink node and it should re-broadcast the packet to the node 103. Finally, the node 103 broadcast the received packet to the destination node 101. At the same time, the node 110 receives the same packet from the sender node 112. However, the node 110 checks the tree routing table and finds that it is not the uplink node of the node 112, so that the node 110 will NOT re-broadcast this packet. Thus, the packet collision caused by the re-broadcast (i.e. from the nodes 110 and 111) can be prevented.
Since there is only one path from Node-to-Root in the tree routing table and every node will only re-broadcast the packet if it is the uplink of the sender of the packet, then the rebroadcast packet by the next node, the uplink node, can be treat also as the acknowledge packet to the sender node. If the node receives the ACK package, it knows that the uplink node has received the packet, so the node can stop the infinite re-broadcast of the same packet. This will also prevent the packet collision and also save power.
However, multiple trees for multi roots are possible when every node keep the tree routing table of each tree and will check multiple tables to decide whether to re-broadcast.
The abovementioned steps of the processes including suggested steps can be realized by means that could be a hardware, a firmware known as a combination of a hardware device and computer instructions and data that reside as read-only software on the hardware device or an electronic system. Examples of hardware can include analog, digital and mixed circuits known as microcircuit, microchip, or silicon chip. Examples of the electronic system can include a system on chip (SOC), system in package (SiP), a computer on module (COM) and the communication device 30.
In conclusion, the present invention aims at power saving with timing arrangement in the mesh network. In detail, with timing synchronization operation, every node of the mesh network is active and sleep at the same time, so as to save power by the sleep period and avoid transmission latency by the active period. In addition, under time synchronization method, nodes of the mesh network can be gathered into groups with different active periods, which reduces the packet collision possibility between different groups, so as to save power. Besides, tree routing table is applied for determining whether to re-broadcast data packets, so as to realize packet collision free and power saving.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application claims the benefit of U.S. Provisional Application No. 62/444,382, filed on Jan. 10, 2017 and entitled “Method of Power-saving & Packet-Collision-Prevention in a Broadcasting Mesh Network with huge number of crowded nodes”, the contents of which are incorporated herein in their entirety.
Number | Date | Country | |
---|---|---|---|
62444382 | Jan 2017 | US |