METHOD FOR SELECTING TTL FOR A MESH NETWORK
20170117978 ยท 2017-04-27
Inventors
Cpc classification
H04L47/35
ELECTRICITY
H04L5/0091
ELECTRICITY
H04H20/93
ELECTRICITY
International classification
H04H20/93
ELECTRICITY
Abstract
A method for a wireless mesh network is provided. The wireless mesh network comprises a first node and a second node. The method comprises the step of: broadcasting a packet by the first node, wherein the packet comprises an indicator of time to live (TTL) and an initial TTL. The second node receives the packet, wherein the received packet includes an adjusted TTL and the initial TTL. The second node then determines a new TTL by the second node according to the adjusted TTL and the initial TTL.
Claims
1. A method for a wireless mesh network, wherein the wireless mesh network comprises a first node and a second node, the method comprising: broadcasting a packet by the first node, wherein the packet comprises an indicator of time to live (TTL) and an initial TTL; receiving the packet by the second node, wherein the received packet includes an adjusted TTL and the initial TTL; and determining a new TTL by the second node according to the adjusted TTL and the initial TTL.
2. The method as claimed in claim 1, wherein the step of receiving the packet by the second node comprises: receiving a first copy of the packet through a first path; and receiving a second copy of the packet through a second path, wherein the first copy of the packet comprises a first adjusted TTL and the second copy of the packet comprises a second adjusted TTL.
3. The method as claimed in claim 1, wherein each node on the first path and the second path forwards the packet to a next node with a reduced TTL
4. The method as claimed in claim 1, wherein the response is an ACK packet and the TTL information is piggybacked to the ACK packet.
5. The method as claimed in claim 1, wherein the TTL information in the response comprises a message to increase, to reduce or the keep the TTL.
6. The method as claimed in claim 1, wherein the TTL information in the response comprises a suggested TTL.
7. The method as claimed in claim 1, wherein wireless mesh network is a flooding-based propagation mesh network.
8. The method as claimed in claim 1, wherein wireless mesh network is a Bluetooth mesh network.
9. A method for a node in a wireless mesh network, the method comprising: broadcasting a packet by the node, wherein the packet comprises an indicator of time to live (TTL); receiving a response by the node, wherein the response includes an adjusted TTL; and determining a new TTL by the node according to the adjusted TTL.
10. The method as claimed in claim 9, wherein the step of determining a new TTL comprises, comparing the adjusted TTL with an initial TTL to determine the new TTL.
11. The method as claimed in claim 9, wherein the adjusted TTL is adjusted by a plurality of nodes along a delivery of the packet to a peer node.
12. The method as claimed in claim 9, wherein the response is an ACK packet and the TTL information is piggybacked to the ACK packet.
13. The method as claimed in claim 9, wherein wireless mesh network is a flooding-based propagation mesh network.
14. The method as claimed in claim 9, wherein wireless mesh network is a Bluetooth mesh network.
15. A method for a wireless mesh network, wherein the wireless mesh network comprises a first node and a second node, the method comprising: broadcasting a first packet by the first node, wherein the packet comprises a first time to live (TTL); responding a second packet by the second node, wherein the second packet comprises an adjusted first TTL and a second TTL; and sending a third packet by the first node, wherein the packet comprises an adjusted second TTL; wherein the first node determines a new TTL according to the adjusted first TTL and a first initial TTL, and the second node determines a new TTL according to the adjusted second TTL and a second initial TTL.
16. The method as claimed in claim 15, wherein wireless mesh network is a flooding-based propagation mesh network.
17. The method as claimed in claim 15 wherein wireless mesh network is a Bluetooth mesh network.
18. The method as claimed in claim 15, wherein the second packet is a ACK packet and the adjusted first TTL is piggybacked to the ACK packet.
19. The method as claimed in claim 15, wherein the adjusted first TTL is adjusted by a plurality of nodes along a delivery of the first packet.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The application can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION OF THE APPLICATION
[0017] The following description is made for the purpose of illustrating the general principles of the application and should not be taken in a limiting sense. It should be understood that the embodiments may be realized in software, hardware, firmware, or any combination thereof. The Bluetooth specifications are used to teach the spirit of the application, and the application is not limited thereto.
[0018]
[0019] In a wireless mesh network 100 shown in
[0020] When node A transmits a packet that is destined to node L, node A broadcasts the packet to node B, node C, and node E. Inside the packet, a Time to Live (TTL) value is included therein. When node C receives the packet, node C checks the TTL value. If, for example, the TTL value included in the packet is set to 10, node C finds the TTL value to be larger than or equal to 2, node C thus forwards the packet and reduces the TTL value by 1 to node L. Therefore, node L receives a packet from node C with a TTL value of 9. Since node C can be established as a friend relay of node L, node C may store the packet while node L is in sleep mode and then forward the packet to node L when node L wakes up.
[0021] For another node E that also receives the packet from node A, node E also checks the TTL value inside the received packet and then forwards the packet to node D with a reduced TTL value. Node D hence receives the packet with a TTL value of 9 and decides to keep forwarding the packet to node L. As one can see from the aforementioned example, the relay nodes in a wireless mesh network would keep forwarding the packet until the packet reaches the destination, or until the TTL value becomes 2. So the present application provides efficient method to determine a reasonable TTL.
[0022] Please refer to
[0023] The initial TTL comprised in the message can be any number decided by node L. In this example, TTL is set as 10. However, the initial TTL can be set as any applicable numbers. As shown in
[0024] Regarding the other node D that also receives the message from node L, node D also performs a similar operation to decide whether to forward the message as node C does. Node D then forwards the message to node E and reduces the TTL to 9. Node E also checks the TTL and decides to forward the message to node A with a further reduced TTL. Therefore, node A receives another copy of the message originated from node L from node E. But the message forwarded by node E now comprises a TTL of 7 and an initial TTL of 10.
[0025] After receiving the two copies of the message from two different paths, one is through nodes L-C-A and the other path is through nodes L-D-E-A, node A can compare the initial TTL, 10, with the two TTL values, 7 and 8, obtained though different paths. Node A then concludes that a reasonable TTL for sending a packet from node A to node L would be 2 or 3. Therefore, when node A acts as a source node and has a packet that is destined to node L, node A can set TTL as 2 or 3 to prevent unnecessary overhead and flooding to the wireless mesh network 200 but at the same time make sure that node L can successfully receive the packet.
[0026] In addition to the aforementioned method, the present application provides another two way ping method to decide a reasonable TTL. Please refer to
[0027] In order to determine a reasonable TTL between the source node A and a wireless communication device L which acts as a target node L, node L can send a ping message to node A. In the ping message, node L includes a TTL as 10. Please note that this value is exemplary and can be set as any applicable number. This TTL can be set the same as an initial TTL. However, only the TTL is necessary in the message. According to another embodiment, the initial TTL may not be carried in the message. The ping message is transmitted from node L to node A through different paths. Two paths are taken as illustrated examples, one is through node C and the other path is through node D and node E. Therefore, when node A receives the ping message forwarded from node C, the TTL carried in the ping message is 8. Similarly, the ping message that node A receives from node E has a TTL of 7.
[0028] In response to the ping message, node A then sends a response to node L. In the response, node A reported the TTL in the received ping message. In an example, node A reported TTL to be the smaller of the received TTL values, which is 7. According to TTL received by node A and the initial TTL, node L can determine a reasonable TTL to transmit a packet/message/response from node L to node A according to the received TTL at node A and the initial TTL.
[0029] According to another embodiment of the present invention, a three-way ping can be used in a wireless mesh network to determine a reasonable TTL. Please refer to
[0030] After forwarding and relaying by the different nodes in the wireless mesh network, node A receives the second packet. From the received second packet, node A obtains the received TTL.sub.A.sub._.sub.to.sub._.sub.B and a received TTL value. By comparing the initial TTL.sub.A.sub._.sub.to.sub._.sub.B , and the received TTL.sub.A.sub._.sub.to.sub._.sub.B, node A can determine a reasonable TTL for sending a packet from node A to node B.
[0031] Afterwards, node A sends a third packet to node B. Within the third packet, node A includes the received TTL.sub.B.sub._.sub.to.sub._.sub.A to node B. Therefore, when node B receives the third packet that is forwarded by the nodes in the wireless mesh network, node B can determine a reasonable TTL for sending a packet from node B to node A according to the initial TTL.sub.B.sub._.sub.to.sub._.sub.A and the received TTL.sub.B.sub._.sub.to.sub._.sub.A . Since the paths that forward a packet from node A to node B may not be the same as the paths that forward a packet from node B to node A, the present application provides a method to determine the two TTL values in both direction with a three way ping method. With the three way ping method, unnecessary overhead and flooding to the wireless mesh network can be therefore prevented.
[0032] Please refer to
[0033] According to another method of the present application, instead of directly reporting the received TTL to the source node, the target/destination node can report to the source node whether the TTL should be increased, decreased for kept the same. Please again refer to
[0034] Please again refer to
[0035] In another example of the present application, please again refer to
[0036] According to another embodiment of the present invention, in order to further reduce traffic overhead, the TTL feedback can only be piggybacked with an ACK under specific circumstances. For example, only to piggyback TTL feedback when the received TTL is not 1. Or, only to piggyback TTL feedback when the received TTL is more than 2 or more than a pre-negotiated TTL. Or, only to piggyback TTL feedback when the received TTL is less than 2 or less than a pre-negotiated TTL. Or, only to piggyback TTL feedback whenever a certain number of packets are transmitted, for example 1000 packets. Or, only to piggyback TTL feedback after a predetermined period of time, for example 60 seconds.
[0037] In view of the forgoing embodiments, it will be appreciated that the present application provides methods to more efficiently determine a TTL in wireless mesh networks, by determining an initial TTL. Therefore, a lower traffic overhead can be achieved.
[0038] While the application has been described by way of example and in terms of preferred embodiment, it should be understood that the application is not limited thereto. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this application. Therefore, the scope of the present application shall be defined and protected by the following claims and their equivalents.