IE20080859A1 - Robust routing of data in wireless networks - Google Patents

Robust routing of data in wireless networks Download PDF

Info

Publication number
IE20080859A1
IE20080859A1 IE20080859A IE20080859A IE20080859A1 IE 20080859 A1 IE20080859 A1 IE 20080859A1 IE 20080859 A IE20080859 A IE 20080859A IE 20080859 A IE20080859 A IE 20080859A IE 20080859 A1 IE20080859 A1 IE 20080859A1
Authority
IE
Ireland
Prior art keywords
node
wireless network
nodes
network
topology
Prior art date
Application number
IE20080859A
Inventor
Jonathan Benson
Utz Roedig
Cormac J Sreenan
Original Assignee
Univ College Cork Nat Univ Ie
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ College Cork Nat Univ Ie filed Critical Univ College Cork Nat Univ Ie
Priority to IE20080859A priority Critical patent/IE20080859A1/en
Publication of IE20080859A1 publication Critical patent/IE20080859A1/en

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

A wireless network (1) comprises a base station (2) and sensor nodes (3). The base station (2) comprises a network interface (10), an application interface (11), topology control functions (12) a timer (13), and buffer (14). Each sensor node (3) comprises a network interface (20), route control functions (21), processing functions (22), sensors (23), flood mechanism programs (24), tree mechanism programs (25), and data forwarding programs (26). The network operates by establishing a conventional routing tree from the sink node that is used when the network is stable. But when a sending node detects a node or link failure it dynamically switches to sending its data packets using a flooding mechanism, rather than waiting for the routing tree to be re-established. This reduces the latency for data delivery. Also, when flooding the data packets, it allows the packets to be flooded to nodes that are an equal number of hops from the sink node as the send node is from the sink node. This approach is suitable in situations where an obstacle causes the path between the sending node and the sink to be blocked, thus requiring a strategy in which packets are routed by less direct means. It increases the probability of delivery.

Description

Filed of the Invention The invention relates to routing of data sucfTas sensor data in wireless networks.
Prior Art Discussion In many wireless sensor networks data is generated by the nodes and has to be forwarded to a given base-station. Generally, data is forwarded in a hop-by-hop fashion as nodes cannot communicate directly with the base-station. A “routing mechanism” is used to decide on which path(s) to use. The routing mechanism itself forms and uses a network topology which is constrained by the available communication links between nodes.
Most available routing mechanisms assume stable links between nodes. However, experiments show that wireless networks have a high fluctuation in link quality. Links might become frequently unavailable (or available) for longer time periods. The following two examples show conditions in which such link quality fluctuation is experienced.
A sensor network is used to monitor car park spaces, in which sensors are deployed on the ground in a parking lot and can detect the presence of a car. Due to the presence or absence of cars and the fact that nodes are deployed on the ground level, link availability fluctuates heavily. Therefore it is impossible to build a stable routing topology.
In another example, a sensor network is used to monitor maritime life. Sensors are attached to buoys monitoring water conditions. Depending on the condition of the sea I ο 80859 -2(waves), link availability between neighbouring buoys might change frequently. Again, it is impossible to obtain a constant routing topology.
Many routing protocols for sensor networks use a tree topology. The tree is formed by exchanging messages among nodes before data forwarding begins. The tree is normally formed in a way that each node can reach the base-station on the shortest possible path. However, due to the wireless channel characteristics (e.g. interferences), a link between two nodes used in the tree might become (temporarily) unavailable. Hence, data forwarding to the base station for nodes located below the broken link is not possible. Different mechanisms can be used to solve this problem. For example, the tree building process can be re-initiated to re-build a fully connected tree. Alternatively, each node in the tree can maintain a list of alternative parent nodes to use in case of link failures. The first solution is problematical as a broken link has to be detected before re-building can be initiated. Between detection and re-building packets cannot be forwarded. Also, tree-rebuilding might be frequently required, leading to a high network activity unrelated to data forwarding. The second solution is problematical as it increases the routing protocol complexity. Deployment and debugging in real-world scenarios would be difficult. Furthermore, alternative routes might also fail.
US2002/0150043 (Perlman et al) describes packet routing in which a packet which has not bee seen before is routed to all neighbouring nodes except the node from which the packet was received.
WO97/50211 (MCI Communications Corp.) describes use of a flooding technique to repair broken links.
US5007052 ( Flammer) describes use of sequence numbers at nodes to reduce traffic when employing a flooding mechanism.
The invention is therefore directed towards providing improved routing of data in real time. -3SUMMARY OF THE INVENTION According to the invention, there is provided a wireless network comprising a plurality of nodes having transmitters and receivers and being interconnected by links, the nodes being adapted for sending data so that it is routed through the network, wherein at least some nodes comprise means for: using either a routing mechanism based on a stored network topology or a flooding mechanism for sending data to a destination node in the network, and dynamically switching in real time for data delivery from the routing mechanism to the flooding mechanism if a link failure is detected.
In one embodiment, said nodes comprise means for dynamically employing the flooding mechanism without topology re-build allowing for use of the routing mechanism on the next occasion..
In one embodiment, the flooding mechanism of at least some nodes directs data laterally to nodes which are an equal number of links from a sink node as the sending node.
In one embodiment, at least some nodes maintain a count indicating lateral transmissions. In one embodiment, the lateral transmission count is included with transmitted data, and a receiving node is adapted to decide to re-transmit if the lateral count does not indicate that there have been an excessive number of lateral transmissions. In one embodiment, the lateral count is updated with each transmission. In one embodiment, the lateral count is updated by decrementing it if a lateral transmission is made.
In one embodiment, said receiving node is adapted to decide according to comparison of the lateral count value with a threshold which is common across all of the nodes. 859 -4In another embodiment, said receiving node is adapted to decide according to comparison of the lateral count value with a threshold which is per-node, being set according to the number of hops between the node and a destination node.
In one embodiment, said receiving node is adapted to determine the threshold according to the number of hops to the destination node for the data.
In one embodiment, at least some nodes comprise means for maintaining a link-break counter and at least some nodes are adapted to automatically perform topology rebuild if the link-break parameter value is exceeded. In one embodiment, the link-break parameter is per node and said nodes are adapted to update the counter upon each detection of a link break.
In one embodiment, the parameter is time, topology discovery being performed periodically. In one embodiment, said nodes maintain a sequence number of a current valid topology.
In one embodiment, at least some nodes are adapted to detect a link break if an acknowledgement is not received from a node to which it has sent data.
In one embodiment, at least some nodes maintain a variable, h, of the distance in links between the node and another node, and for using said parameter for the routing mechanism. In one embodiment, the other node is a base station.
In one embodiment, at least some nodes store an address of a parent node and means for using said address for the routing mechanism.
In one embodiment, the network comprises a base station node adapted to manage topology maintenance for the nodes.
In one embodiment, the base station node is adapted to transmit to each node via the network an address of a parent node and a maximum hop distance to the base station node.
J80859 -5In one embodiment, at least some nodes incorporate sensors and means for sending sensed data, and at least one node is a base station for collecting said data.
In one embodiment, the network comprises means for changing from a full mode in which there is dynamic switching from a routing mechanism to a flooding mechanism, to a flooding mode in which a flooding mechanism is always employed. In one embodiment, the flooding mechanism of the flooding mode is a restricted flooding mechanism in which there is no topology re-building. In one embodiment, the network is adapted to change to the flooding mode if an excessive number of link failures are detected. In one embodiment, at least one node is adapted to change mode individually on a per-node basis.
DETAILED DESCRIPTION OF THE INVENTION Brief Description of the Drawings The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which:Fig. 1 illustrates a sensor network; Fig. 2 illustrates base station components; Fig. 3 shows sensor node components; Fig. 4 is a flow diagram illustrating base station operation; Fig. 5 illustrates flow for receiving a topology discovery message; Fig. 6 illustrates flow for receiving a topology discovery message with local rebuild enabled. 859 -6Fig. 7 illustrates flow for receiving a sensor message with lateral transmission enabled; Fig. 8 illustrates receiving a sensor message with both lateral transmission and local rebuild enabled; and Fig. 9 illustrates flow for forwarding sensor messages.
Description of the Embodiments Referring to Fig. 1 a wireless network 1 comprises a base station 2 and sensor nodes 3. Wireless links are shown by arrows. As shown in Fig. 2, the base station 2 comprises a network interface 10, an application interface 11, topology control functions 12 a timer 13, and a buffer 14. Referring to Fig. 3, each sensor node 3 comprises: a network interface 20, route control functions 21, processing functions 22, sensors 23, flood mechanism programs 24, tree mechanism programs 25, and data forwarding programs 26.
In summary, the network operates by establishing a conventional routing tree from the sink node that is used when the network is stable. But when a sending node detects a node or link failure it dynamically switches to sending its data packets using a flooding mechanism, rather than waiting for the routing tree to be re-established. This reduces the latency for data delivery. This dynamic switching aspect is advantageous. Also, when flooding the data packets, it allows the packets to be flooded to nodes that are an equal number of hops from the sink node as the send node is from the sink node. This is different to directed flooding approaches in which packets are only handled by nodes that are closer to the destination. This approach is suitable in situations where an obstacle causes the path between the sending node and the sink to II 0 80 85S -7be blocked, thus requiring a strategy in which packets are routed by less direct means. It increases the probability of delivery.
In more detail, and referring also to the flow diagrams of Figs. 4 to 9, the protocol consists of two phases: topology discovery and data forwarding. For each step dedicated messages are used (called topology mt and data md messages). The variables needed in each node and the two phases are described below.
The protocol forms a tree structure that is used to forward messages to the base-station 2. A node will try to transmit a message to its parent node in the tree. If this fails indicated by a missing ACK (acknowledgement packet) from the parent node - the node will send the message as broadcast to all neighbouring nodes. There are a number of alternative methods of detecting a broken or poor link aside from missing acknowledgements. For example if traffic between a node pair is bi-directional a timer running since the last message was received for that neighbour can be used to detect that the link has failed. Alternatively signal data (RSSI, SNR, etc.) can be recorded and used to determine if the link quality has become sufficiently bad that the link is essentially unusable. A neighbouring node will only process this message if it considers itself to be closer to the base-station 2 or if it cannot determine its distance to the base-station (un-initialised node). Thus, a directed and selective flooding mechanism is implemented. The distribution of a data packet as broadcast is recorded in the packet itself. The base-station 2 uses this counter in incoming packets to decide if a new round of topology discovery must be initiated.
Routing Algorithm Local Variables Each node 3 stores a set of variables that are needed to operate the routing algorithm. The variable 5 contains the sequence number of the current valid topology. When the base-station initiates a new topology discovery phase a new sequence number is used and nodes should always use topology-forming messages carrying the highest sequence number (i.e. the most recent topology discovery phase). The variable h -8stores the distance in hops of the node to the base-station. This value is obtained during the topology discovery process. Initially h is set to-1 and is updated upon receipt of a topology discovery message. The variable p contains the address of the parent node in the tree, p is obtained during the topology discovery process. If p is set to NULL this indicates that the node has not yet received a topology discovery message. In this case the node is considered un-initialised. A variable MAXtx stores the maximum amount of attempts to send a message using a tree (“routing”) mechanism that a node can make before switching to a flood mechanism. This variable can be set at compile time but it is possible to set this dynamically using the Topology Discovery Message mt. A node may also be able to infer which value to use based on network conditions. The set of necessary routing variables and their initialisation values is shown in Algorithm. 1 below.
Algorithm 1 Routing variables (Implemented in each node) Routing Variables { = -1 h=-\ p = NULL MAXtx = } Topology Discovery to Establish the Routing Mechanism (Figs. 5 and 6) The base-station 2 broadcasts a topology message mt using the function TopologyDiscovery(Message mt). The message contains (among other fields not used for routing) the sender address mt.sa and receiver address mt.ra, a hop-counter mt.h, and a unique sequence number mt.s. The hop-counter is initially set to zero (mt.h=Q).
Each node receiving this broadcast checks first if the message sequence number is equal to the currently valid topology (if mt.s = s, then a message belonging to the current topology forming process was previously received). If this is the case, it is tested if this message travelled a shorter path from the base station to the current node -9(mt.h If the sequence number is greater than the current valid topology (mt.s>s), the topology information in the received message is memorised as it is the most up-todate information. The currently valid topology is memorised, s=mt.s. The new hop distance to the base station is memorised (h=mt.h) and the sender node of the message is memorised as the new parent node in the tree (p=mt.sa). Subsequently, the information in the message is updated and the message is re-broadcasted (mt,sa=localaddr, mt.da=bcaddr, mt.h=mt.h+\).
Thus, a tree topology is formed in the network and each node knows the address of the parent node p and the hop-distance h to the base-station. The topology discovery process is shown in Algorithm. 2 below.
Algorithm 2 Topology discovery (Implemented in each node) TopologyDiscovery(Message mt) if (mt.s = s) if (mt.h < h) h = mt.h p = mt.sa mt.sa = localaddr mt. da = bcadr mt.h - mt.h + 1 sender) else delete(mt) else if (mt.s > s) s = mt.s IE Ο 80 85 9 -10h - mt.h p = mt.sa mt.sa - localaddr mt.da = bcaddr mt.h - mt.h + 1 send(wz) else delete(mZ) Data Forwarding An incoming data message md is first processed by the function DataIncoming(Message md) which might call subsequently DataForwarding(Message md) to route the data message. If a node creates a data message md itself, the function DataForwarding(Message md) is called directly.
The data message md contains (among other fields not used for routing) the sender address mt.sa and receiver address mt.ra, the hop distance md.h of the last node that processed the message, a link-break-counter mt.i, and a unique sequence number mt.s (mt.s might be a combination of a monotonic increasing number and the node identifier to obtain a globally unique number). The hop distance is set initially to the hop distance of the current node to the base-station (md.h=K). The link-break-counter is initially set to zero (mi./=0).
An incoming data message, md, is processed by the function DataIncoming(Message md). It is first checked if the message was previously processed by the node using the sequence number mt.s. If so, the message is silently discarded. If the message was not processed before, it is checked if the hop distance of the previous node (md.h) is greater than the hop distance of the current node. If this is the case the data message is forwarded using DataForwarding; otherwise, the message is discarded.
I! 9 80551 -11In DataForwarding it is checked if the node has a valid parent node (p^NULL). If so, the hop distance of the current node is recorded (md.h=h) and DataForwardingTreeMechanism is called which will try to forward the message to the parent node. If the parent node is not known, the node is un-initialised (no topology building message was yet received) and the function DataForwardingFloodMechanism is called directly which will try to deliver the message using flooding. As the distance to the base-station is not known (node is uninitialised), the hop distance in the packet is set to a HMAX representing the maximum possible hop distance in the application scenario.
DataForwardingTreeMechanism (or “routing mechanism”) first updates the sender and receiver fields in the message. The destination address is the parent node in the tree. A temporary variable transmission is created to keep track of the number of transmissions used. A timer is created that will call the function ACKTimerExecuted in the time given by taCk· Subsequently the message is sent and the MAC layer is informed that an acknowledgement for the message is required. Such functionality is provided by most transceivers used in wireless sensor networks. If the message md is not acknowledged by the receiving node in time tack, the function ACKTimerExecuted is executed which either retries the transmission or if the variable MAXtransmissions is exceeded calls the function DataForwardingFloodMechanism which will try to deliver the message using a directed flooding mechanism. If the acknowledgement is received in time, the running timer for md is simply deleted.
DataForwardingFloodMechanism first updates the sender and receiver fields in the message. Thereafter, the link-break-counter is incremented to indicate that the message could not be delivered through the tree structure in the routing mechanism. Then, the message is sent without using the acknowledgement mechanism.
Directed Flooding with Lateral transmission (Fig. 7) In this embodiment, the protocol allows messages to fan-out laterally for directed flooding.. To achieve this, an extra variable, md.lt, is included in each packet (It signifies lateral transmission). Each time a lateral transmission occurs md.lt is -12decremented by 1. Should a transmission to a node further away from the current node occur md.lt is decremented by the relative hop difference plus 1, (h-md.h)+\. In order for a message to be transmitted the value of md.lt must be zero or greater after the operation, otherwise the packet will be discarded. In this manner duplicate messages can lateral transmission for a limited amount of hops to nodes both further away and equidistant from the base-station before resuming a direct course towards the basestation. This approach has clear advantages over alternative approaches. Firstly, it is extremely simple. Secondly, it is extremely robust to changing network conditions and does not rely on each node maintaining routing state tables for its neighbours, which is a considerable overhead. Thirdly, it is a far more energy efficient approach compared to simple flooding as the messages are limited in the scope of their flood. Finally, the behaviour of the lateral transmission mechanism is highly configurable.
Algorithm 3 Data Forwarding (Implemented in each node) DataIncoming(Message md) if (md is duplicate) delete(m h) DataF orwarding(w?i/) else delete(/w DataForwarding(Message md) dlpfNULL) md.h = h DataF orwrdingTreeMechanism(wJ) else md.h=HMAX D ataF orwardingFloodMechanismfmi/) DataForwardingTreeMechanism(Message md) md.sa = localaddr II 0 80 85 9 -13md.da - p new AckTimerfracfcWe/) send(mi, ACK) DataForwardingFloodMechanism(Message mt) md.sa = localaddr md.da = bcaddr md.l = md.l + 1 send(wf) ACKTimerExecuted(Message md) if (transmissions > = MAXtx) DataForwardingFloodMechanism(m<7) else transmissions = transmissions+i DataForwardingTreeMechanism(wi/) ACKMessageReceived(Message md) deleteACKTimer(tfid) There are a number of methods and approaches for assigning a good value for md.lt. Naturally there is a conflict between optimising for energy and reliability that must be resolved. A high value for md.lt will cause excessive lateral transmission and energy expenditure from redundant transmissions. A low value for md.lt will result in a decrease in the overall reliability obtained by flooding.
A globally common value for md.lt can be used. This method is reliant on a correct assessment of the network reliability prior to deployment and has the advantage of simplicity. Another approach is to increase md.lt with respect to hop distance from the base station. Thus, a node further away from the base station will have a greater md.lt value compared to another node which is closer to the base station. This is because a message that must traverse many hops is more likely to encounter adverse network condition than one that must traverse fewer hops. Again a correct assessment of the IS 0 8 0 8 5 9 -14network reliability must be made along with an analysis of how reliability varies with respect to hop distance. Finally it is possible to endow the network and the nodes therein with a heuristic so that it can effectively learn the correct value for md.lt at each individual node.
Base-station Operation Base-station Variables The base station stores a link-break-counter 1. The counter is used to determine when the topology used in the network should be refreshed.
Topology Re-building Because the nodes dynamically invoke a flooding mechanism in real time there is a strong likelihood that duplicate packets will arrive at the base station, or any sink node. Therefore the base station dynamically performs topology re-building for the entire network, so that the routing mechanism (which is more efficient) is more effective. In fact, by the invention’s flooding of data packets dynamically in response to detection of link failures, there is a learning process for the base station to trigger topology maintenance. An incoming data message, md, is first processed by the function DataIncoming(Message md). It is first checked if the message is a duplicate; duplicates are silently discarded. Duplicates can be detected using the md.s field. A message generated at node A and forwarded to the base station over disjoint paths (i.e. one message arrived at the base-station via node B, md.sa=B, and the other via node C, md.sa=C) will be initially treated as a non-duplicate by the routing protocol at the base-station. This is because duplicate messages arriving over multiple disjoint paths contain valuable information about the state of the other links in the network. However the link-break-counter, md.l, must be decremented by one since that linkbreak-event will have already been accounted for by another packet. Also, if the paths are convergent within the network any duplicate packets will be suppressed before reaching the base station. Ο 80 85« -15Algorithm 4 Data Forwarding with Lateral transmission DataIncoming(Message md) if (md is duplicate) delete(/W) else if (md.h > h) DataForwarding(zwiZ) else if (md.lt > 0) (md.lt=md.lt - ((h - md.h) + 1)) if (md.lt ^)) DataForwarding(zwiZ) else delete(wiZ) DataForwarding(Message md) if (pf NULL) md.h = h DataForwardingTreeMechanism(mJ) else md.h = UMAX DataForwardingFloodMechanism(wtZ) DataForwardingT reeMechanism(Message md) md.sa = localaddr md.da =p new AekTimer(iacfc/M£/) send(wf ACK) DataForwardingFloodMechanism(Message mt) md.sa = localaddr md.da = bcaddr md. I = md. I + 1 send(wZ) -16ACKTimerExecuted(Message md) if (transmissions >= MAXtx) DataForwardingFloodMechanism(mi/) else transmissions = transmissions+l D ataF orwardingTreeMechanism(mi/) ACKMessageReceived(Message md) deleteACKTimer(miZ) Algorithm 5 Routing variables (Implemented at the base-station) DataIncoming(Message md) / = 0 } Algorithm 6 Data reception (Implemented at the base-station) DataIncoming(Message md) if (md is duplicate AND mdsa ==duplicate md.sa) delete(md) else if (md is duplicate) md.l = (mdl- 1) = 1 + mdd if(/ > LMAX) = 0 TopologyDiscovery(new Message) if (md is duplicate) delete(m ProcessData(miZ) » ο 80 85 9 -17TopologyTimerExecutedO / = 0 new TopologyTimer(/wotos,) TopologyDiscovery(new Message) If the message is not a duplicate or has arrived via a disjoint path, the link-break counter is updated. The number of link-break events detected during the transmission of the packet is contained in the data message variable md.l. This variable is added to the base-station variable /. If the link-break-counter / reaches a threshold defined by LMAX, the topology is refreshed by calling the previously described function TopologyDiscovery. LMAX is used to control how badly a topology can be damaged before a topology rebuild is initiated.
Periodically, the function TopologyTimerExecuted is called. The frequency is defined by tiopoiogy- Thus, a periodic topology rebuild is initiated. This function is necessary as a broken topology might not deliver any message (not even through the directed flooding) and LMAX is not reached.
Finally it is checked again if the message md is a duplicate. All duplicated are silently discarded at this stage regardless of whether they arrived via disjoint path.
Local Rebuilding In a number of cases it may be more efficient to initiate a local rebuilding policy rather than rebuilding the entire network. This is particularly useful where the network is relatively stable but prone to localised failures and when the network is very large. The operation is essentially the same as that used by the base-station 2 to rebuild the topology. In this case a parent node must detect if a child node has become disconnected. This can be done by recording the time since the last communication from neighbour z was received whereupon the timer function LinkTimer(md.sa,TMAX) is called. TMAX is a predefined maximum and md.sa is the node identifier of a neighbouring node. At any given time there may be several timers running, one for each direct child node in the routing tree. A parent node discovers his -185 80 359 child nodes when non-flooded messages arrive from them. As the messages arrive a list is built. When more messages arrive from nodes already in the list their timer is reset. All timers in the list are deleted using the function deleteLinkTimers() whenever the topology undergoes a rebuild. Should the function LinkTimerExecuted() be called the route rebuilding should initiate and the function TopologyDiscovery {Message mt} is called. At this point all link timers are deleted. Unlike the base-station, the variable I is not used to determine if a topology rebuild should occur since this variable will not be incremented as flooded packets will not be successfully transmitted over the broken link. The topology discovery message variables are set as follows: mt.s=s and mt.h=h. Therefore the message will only be forwarded by child nodes and the current topology sequence number is used.
For clarity, the protocol as described above, using a routing mechanism and selectively using a flooding mechanism when failures are detected, is termed a “Full Mechanism”. However, frequent topology rebuilding is undesirable and in deteriorating network conditions a situation can arise where a routing tree is constantly rebuilding. In this case it is better to use a Flood Mode or a Restricted Flood Mode as discussed below.
Flood Mode The network operates in a Flood Mode, in which it does not employ a routing mechanism._Every message is forwarded using DataForwardingFloodMode directly. This might be necessary if the transceiver does not support an acknowledgement mechanism and link breaks can not be detected by other means. This operation method might also be useful if the link breaks are occurring frequently and a distribution of topology discovery messages along the tree is nearly impossible.
Algorithm 7 Local rebuilding (Implemented at each node) DataIncoming(Message md) if (md is duplicate) delete(wit/) else if (md.h > h) -19if (md.da = localaddr) LinkTimer(W.5fl, TMAX) DataForwarding(wiJ) else if (md.lt > 0) (md. lt=md. It -((h- md. h) + 1) if (md. It ^)) if (md.da = localaddr) LinkTimer(mi/.siz, TMAX) DataForwardingfW) else delete(miZ) LinkTimerExecutedO deleteLinkT imers() TopologyDiscovery(new Message) Restricted Flood Mode This mode includes the features of the Flood Mode, but additionally, the tree building mechanism used by the base station is not performed. Instead, the hop distance variable h in each node is set manually before deployment. In this case, the network can operate without periodically exchanging the topology building message. This would be particularly suitable for small networks.
Switching Operation Modes During Runtime It may be useful under deteriorating network conditions to switch operation modes during run-time. Consider the case where LMAX is frequently exceeded triggering topology rebuilding. If LMAX is exceeded excessively it is advisable to abandon the use of tree mode since it is apparent that the network conditions cannot support tree mode. Rather than constantly trying to rebuild the topology the network can be instructed via control message from the base-station to use Restricted Flood mode or Flood Mode as the mode of transmission. -20It is also possible for a node to individually switch modes during runtime. In this scenario a variable, hocai must be kept at each node to indicate how many link breaks have occurred since the last topology message. If this value exceeds another node variable LMAXiocai the node will switch into Flood Mode until a new topology message arrives whereupon it will revert to tree mode once more.
Algorithm 8 Topology discovery with local rebuild (Implemented at each node) TopologyDiscovery(Message mt) if (t.s = .s) ii(mt.h < h) h = mt.h p - mt.sa mt.sa = localaddr mt. da = bcaddr mt.h - mt.h + 1 scnd(mf) deleteLinkTimers() else delete(mt) else if (mt.s > 5) x = mt.s h = mt.h p = mt.sa mt.sa = localaddr mt.da = bcaddr mt.h - mt.h + 1 send(mt) deleteLinkTimers() else delete(«i/) ! 0 80 859 -21The communication method of the invention operates well in conditions with changing link qualities. In addition, the protocol is simple and easy to debug. The following are some potential problems and how they are solved.
Asymmetric Links A node A might be able to transmit a message to node B but B is unable to send a message to node A. In this case, acknowledgements might be lost and the link will be detected as broken. However, the original message will be delivered through the tree structure and additional copies of the message might be delivered using the flooding mechanism. Therefore, packets are not lost.
Local Rebuilding Use of local rebuilding can leave the network in an unstable state and may trigger off successive rounds of local rebuilding without end. Consider the following case. Node C has two possible parents’ nodes A and B, both of whom are equidistant to the base-station. Node C has node A as a parent when node B initiates a local rebuild. Node C will then switch parents to node B. Some time later node A will detect that node C has not communicated with it and initiate a local rebuild. Node C will again switch parents to node A. Node B will detect that node C has not communicated with it and initiate a local rebuild. This process will continue until a new Topology Discovery Message is sent from the base-station. This problem can be solved by limiting the amount of times a node can change parents in between each Topology Discovery Message sent from the base-station.
The invention is not limited to the embodiments described but may be varied in construction and detail.

Claims (21)

Claims
1. A wireless network comprising a plurality of nodes having transmitters and receivers and being interconnected by links, the nodes being adapted for sending data so that it is routed through the network, wherein at least some nodes comprise means for: using either a routing mechanism based on a stored network topology or a flooding mechanism for sending data to a destination node in the network, and dynamically switching in real time for data delivery from the routing mechanism to the flooding mechanism if a link failure is detected.
2. A wireless network as claimed in claim 1, wherein said nodes comprise means for dynamically employing the flooding mechanism without topology re-build allowing for use of the routing mechanism on the next occasion..
3. A wireless network as claimed in claims 1 or 2, wherein the flooding mechanism of at least some nodes directs data laterally to nodes which are an equal number of links from a sink node as the sending node.
4. A wireless network as claimed in claim 3, wherein at least some nodes maintain a count indicating lateral transmissions.
5. A wireless network as claimed in claim 4, wherein the lateral transmission count is included with transmitted data, and a receiving node is adapted to decide to re-transmit if the lateral count does not indicate that there have been an excessive number of lateral transmissions.
6. A wireless network as claimed in claim 5, wherein the lateral count is updated with each transmission. < 0 80 85 9 -23Ί. A wireless network as claimed in claim 6, wherein the lateral count is updated by decrementing it if a lateral transmission is made.
7. 8. A wireless network as claimed in any of claims 5 to 7, wherein said receiving node is adapted to decide according to comparison of the lateral count value with a threshold which is common across all of the nodes.
8. 9. A wireless network as claimed in any of claims 5 to 7, wherein said receiving node is adapted to decide according to comparison of the lateral count value with a threshold which is per-node, being set according to the number of hops between the node and a destination node.
9. 10. A wireless network as claimed in claim 9, wherein said receiving node is adapted to determine the threshold according to the number of hops to the destination node for the data.
10. 11. A wireless network as claimed in any preceding claim, wherein at least some nodes comprise means for maintaining a link-break counter and at least some nodes are adapted to automatically perform topology re-build if the link-break parameter value is exceeded.
11. 12. A wireless network as claimed in claim 11, wherein the link-break parameter is per node and said nodes are adapted to update the counter upon each detection of a link break.
12. 13. A wireless network as claimed in claim 11, wherein the parameter is time, topology discovery being performed periodically.
13. 14. A wireless network as claimed in any of claims 11 to 13, wherein said nodes maintain a sequence number of a current valid topology. -2415. A wireless network as claimed in any preceding claim, wherein at least some nodes are adapted to detect a link break if an acknowledgement is not received from a node to which it has sent data.
14. 16. A wireless network as claimed in any preceding claim, wherein at least some nodes maintain a variable, h, of the distance in links between the node and another node, and for using said parameter for the routing mechanism.
15. 17. A wireless network as claimed in claim 16, wherein the other node is a base station.
16. 18. A wireless network as claimed in any preceding claim, wherein at least some nodes store an address of a parent node and means for using said address for the routing mechanism.
17. 19. A wireless network as claimed in any preceding claim, wherein the network comprises a base station node adapted to manage topology maintenance for the nodes.
18. 20. A wireless network as claimed in claim 19, wherein the base station node is adapted to transmit to each node via the network an address of a parent node and a maximum hop distance to the base station node.
19. 21. A wireless network as claimed in any preceding claim, wherein at least some nodes incorporate sensors and means for sending sensed data, and at least one node is a base station for collecting said data.
20. 22. A wireless network as claimed in any preceding claim, wherein the network comprises means for changing from a full mode in which there is dynamic switching from a routing mechanism to a flooding mechanism, to a flooding mode in which a flooding mechanism is always employed. -2523. A wireless network as claimed in claim 22, wherein the flooding mechanism of the flooding mode is a restricted flooding mechanism in which there is no topology re-building. 5 24. A wireless network as claimed in claims 22 or 23, wherein the network is adapted to change to the flooding mode if an excessive number of link failures is detected.
21. 25. A wireless network as claimed in any of claims 22 to 24, wherein at least one 10 node is adapted to change mode individually on a per-node basis.
IE20080859A 2007-10-22 2008-10-22 Robust routing of data in wireless networks IE20080859A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IE20080859A IE20080859A1 (en) 2007-10-22 2008-10-22 Robust routing of data in wireless networks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IE20070766 2007-10-22
IE20080859A IE20080859A1 (en) 2007-10-22 2008-10-22 Robust routing of data in wireless networks

Publications (1)

Publication Number Publication Date
IE20080859A1 true IE20080859A1 (en) 2009-06-24

Family

ID=40908366

Family Applications (1)

Application Number Title Priority Date Filing Date
IE20080859A IE20080859A1 (en) 2007-10-22 2008-10-22 Robust routing of data in wireless networks

Country Status (1)

Country Link
IE (1) IE20080859A1 (en)

Similar Documents

Publication Publication Date Title
US20160072663A1 (en) Robust Routing of Data in Wireless Networks
US7961626B2 (en) Resilient network
US6990068B1 (en) Virtual path restoration scheme using fast dynamic mesh restoration in an optical network
US20080095058A1 (en) Data Transmission in a Communication Network
CN101711048B (en) Method for choosing gateway in integrating process of mobile self-organization network and Internet
EP1236314A2 (en) Route updating in ad-hoc networks
US7123908B2 (en) Routing algorithm for distributed telecommunication networks
KR20020083942A (en) Data link transmission control method, mobile communication system, data link transmission control apparatus, base station, mobile station, mobile station control program and computer readable rocording medium
JP2009542109A (en) Mobile ad hoc network (MANET) and method for implementing multiple paths for fault tolerance
KR20070094858A (en) Method and apparatus for responding to node abnormalities within an ad-hoc network
EP2045976A1 (en) System and method for routing a data packet in a wireless network, computing system in a system for routing a data packet in a wireless network and method for routing a data packet in a computing system
CN102480753A (en) Link state detecting method and device
Haas et al. Providing ad-hoc connectivity with the reconfigurable wireless networks
JP2004260262A (en) Radio base station apparatus and inter-network interface apparatus
WO2013081628A1 (en) Wireless communication system and its method, and device and program used for same
US20050254473A1 (en) Routing within a mobile communication network
JP4681653B2 (en) Mobile IP communication system
CN108476579B (en) Method for operating a communication device and communication device
US10489236B2 (en) Method and system for managing a communication network
IL187861A (en) Method and system for flooding and multicast routing in an ad-hoc network
IE20080859A1 (en) Robust routing of data in wireless networks
KR100862356B1 (en) The Adaptive MAC Protocol Based on Path-Diversity Routing in Ad hoc Networks and the communication node performing the same
Mirza et al. Reliable multipath multi-channel route migration over multi link-failure in wireless ad hoc networks
GB2440287A (en) Disjoint pair formation in a network using shortest path determination
Naushad et al. Analyzing link connectivity to ensure faster failure detection for qos routing in manets: A peculiar outline

Legal Events

Date Code Title Description
MM9A Patent lapsed through non-payment of renewal fee