1 Introduction

With wireless networking technologies permeating nearly every aspect of our working and living environments, simple appliances and numerous traditional wired services can now be efficiently connected wirelessly. This provides simple yet effective control/monitoring convenience, while allowing very interesting applications to be developed on top of these wireless network-enabled gadgets. The ZigBee standard [3], which is designed to interconnect simple devices, represents the latest attempt to realize this wireless network vision. In the business environment, ZigBee wireless technology can facilitate better automated control/management of facilities and assets. Additionally, there are many ZigBee applications for home-appliance networks, as well as in the areas of home healthcare, medical monitoring, consumer electronics, and environmental sensors.

ZigBee is a network and application layer specification developed by a multi-vendor consortium called the ZigBee Alliance. Backed by more than 150 member companies, the ZigBee standard was ratified in late 2004, and released for public non-commercial use in June 2005. Although various ZigBee compliant product prototypes and application scenarios have been developed or defined by the industry, the performance and support facilities of ZigBee networks have not been thoroughly evaluated.

In an environment richly connected/embedded with ZigBee devices, major topological changes can occur due to device failures, mobility, and other factors. Device mobility is unavoidable in certain applications, such as the health monitoring application for the elderly described in [4, 6], where a ZigBee enabled health monitoring sensor alerts the hospital, through a home ZigBee wireless network, if a health-related emergency occurs. The consequences could be disastrous if the ZigBee home network failed to relay the alert message as intended. Therefore, understanding the fundamental behavior of ZigBee networks is important for determining the feasibility/suitability of various applications. In particular, knowledge of how nodal mobility affects the performance of ZigBee routing protocols is essential.

Mobility is undoubtedly a part of the ZigBee vision, and it is important for the proper functioning of many envisioned ZigBee applications. Since mobility is anticipated and unavoidable, adequate mobility support is necessary to ensure ubiquitous connections among mobile devices. However, without a publicly available ZigBee routing implementation, no evaluation or additional development can be carried out by the research community. Furthermore, without ZigBee simulator support, it is difficult to analyze and evaluate the suitability of mobile applications in ZigBee networks.

The contribution of this paper is threefold. First, to address the research needs mentioned above, we present an original ZigBee network layer implementation (implemented in the NS-2 [2] network simulator) to facilitate additional research, evaluation, and development in this area. Second, we identify existing provisions for accommodating ZigBee device mobility and assess their adequacy for dealing with different mobility scenarios. Third, we conduct a comprehensive set of preliminary simulations to demonstrate the inefficacy of the current standard for handling mobility. Our results show that the current ZigBee provisions for mobility are inadequate, and that the standard does not consider the mobility problem thoroughly. Moreover, we find that the current recovery mechanisms are not reliable, or responsive enough, in every mobility scenario. The situation deteriorates when there are multiple instances of mobility in a ZigBee network; however, the routing performance of such networks is closely tied to the types of ZigBee nodes used.

The remainder of this paper is organized as follows. Section 2 provides an overview of the IEEE 802.15.4 and the ZigBee specifications. In Section 3, we discuss the routing and address allocation mechanisms deployed in ZigBee mesh routing, and analyze the response of the routing protocol in basic mobility cases. In Section 4, we consider the ZigBee tree routing mechanism, and analyze the behavior of tree routing in basic mobility scenarios. Section 5 contains our simulation results and a discussion of the properties of both routing protocols under more intricate mobility cases, including multiple instances of mobility and multiple data flows. Finally, in Section 6, we discuss the tradeoff between the two routing mechanisms for dealing with mobility, and also summarize our conclusions.

2 Overview

2.1 IEEE 802.15.4

Based on the PHY and MAC layers specified by the IEEE 802.15.4 WPAN standard [1], the ZigBee specification establishes a framework for the Network and Application layers. The protocol stack of ZigBee networks is shown in Fig. 1.

Figure 1
figure 1

ZigBee protocol Stack in relation to IEEE 802.15.4 standard.

In the PHY layer, IEEE 802.15.4 defines a total of 27 channels, namely: 16 channels with a data rate of 250 kbps on the license-free industrial scientific medical (ISM) 2.4–2.4835 GHz band; 10 channels with a maximum data rate of 40 kbps on the ISM 902–928 MHz band; and 1 channel with a data rate of 20 kbps on the 868.0–868.6 MHz band. Meanwhile, in the MAC layer, IEEE 802.15.4 controls access to the radio channel by using the Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) mechanism or the optional slotted CSMA/CA mechanism in the beaconless and beaconed modes respectively. Table 1 summarizes the characteristics of the IEEE 802.15.4 standard.

Table 1 Characteristics of the IEEE 802.15.4 Standard.

Two types of devices are specified in the IEEE 802.15.4 framework: a full function device (FFD) and a reduced function device (RFD). An FFD generally has more responsibilities than an RFD because it must maintain routing tables, participate in route discovery and repair, maintain the beacon framework, and handle joining nodes. Moreover, an FFD can communicate with any other devices in its transmission range. In contrast, an RFD only needs to maintain a minimum amount of knowledge to stay in the network, and it does not participate in routing. Note that RFDs can only communicate with FFDs. Beyond these basic properties, IEEE 802.15.4 provides scanning, beaconing, and security functionalities for ZigBee. Implementation of these functionalities on the MAC layer simplifies the ZigBee design in that ZigBee does not have to implement these features itself. In an IEEE 802.15.4 enabled network, at least one FFD operates as the PAN coordinator; and FFDs and RFDs can interconnect to form star or peer-to-peer networks, as shown in Fig. 2.

Figure 2
figure 2

Examples of IEEE 802.15.4 star and peer-to-peer topologies.

2.2 ZigBee Network Layer

Based on IEEE 802.15.4, the ZigBee Alliance specifies the standards for the network layer and the application layer. Specifically, the ZigBee network layer defines how the network is formed and how the network address is assigned to each participating ZigBee node. Note that the assigned address is the only address for routing and data transmission in ZigBee networks. Three types of devices are defined in ZigBee: the ZigBee coordinator, ZigBee routers, and ZigBee end devices. An RFD can only be a ZigBee end device; whereas an FFD can be either a ZigBee coordinator or a ZigBee router. The ZigBee coordinator is responsible for starting a new network. The coordinator and routers are “routing capable”. However, ZigBee end devices cannot participate in routing and have to rely on their corresponding ZigBee parent routers for that functionality.

Every node in a ZigBee network has two addresses: a 16-bit short network address and a 64-bit IEEE extended address. The 16-bit network address is assigned to each node dynamically by its parent coordinator/router when the node joins the network. This address is the only address used for routing and data transmission; it is analogous to the IP addresses used on the Internet. The extended address, on the other hand, is similar to an MAC address, which is a unique identification of each device, and is usually fixed when the device is manufactured.

There are two address allocation schemes for the 16-bit short network address in ZigBee networks: the static address allocation scheme and the tree address allocation scheme. Both schemes work in a similar fashion in that the parent node assigns an address “block” to each of their child routers, which in turn allocate it to their respective descendent nodes. The coordinator/router is responsible for maintaining the remaining number of free address spaces, the address block size, and the address to be assigned next. Usage of the two address allocation schemes depends on the routing protocol selected.

The ZigBee standard accommodates both mesh and tree topologies, which deploy different routing mechanisms, and respond differently to nodal mobility. Two routing schemes are available, namely ZigBee mesh routing and ZigBee tree routing, which we discuss in Sections 3 and 4 respectively.

3 Mobility Support in the ZigBee Mesh Topology

As mentioned in Section 2, coordinators/routers (FFDs) can actively participate in mesh routing, but end devices (RFDs) must rely on their parent nodes to perform the function on their behalf. Because of the unique properties of IEEE 802.15.4 and ZigBee networks (i.e., the address allocation structure and service assumptions), the performance bound of ZigBee mesh routing is expected to differ from the bounds of previous AODV [8] studies. We consider the effect of this recovery mechanism in more detail in Section 5.

3.1 Mobile End Device

Since a ZigBee end device does not have routing capabilities, problems arise if it moves outside the range of its current parent router, and acquires another network address from a new parent router. Figure 3 illustrates two instances of the issue.

Figure 3
figure 3

a The source transmits data to the mobile destination, which moves at time (1), and acquires a new network address in the new location. The network/application recovery mechanism is triggered and recovers the path. b The mobile source transmits data to a stationary destination. It then moves at time (1), and acquires a new network address in the new location, but data transmission is only interrupted temporally.

In Fig. 3a, the mobile end device moves outside the range of its parent router, but the source node continues sending data to it. When the device fails to find its original parent router, it will associate with a new parent router and acquire a new network address. Since the end device can no longer be found via its “old” network address, data reception ceases completely, and it can not be recovered by any available ZigBee mesh routing mechanisms (i.e., route discovery). When the route cannot be found, a route error message will be delivered to the source node, and trigger the Device Discovery process in the application layer. After the source node discovers the end device’s new network address, the data transmission will resume (after another route discovery procedure, and assuming the end device does not move again). In this simple case, the data flow is only interrupted while the source receives the route error message and completes the device discovery process.

Figure 3b shows a scenario where the mobile end node acquires a new network address while it is sending data. In this case, data transmission will be temporally disrupted until the mobile end node finds a new parent router to associate with. If the data flow is two-way, a route discovery and Device Discovery process would be triggered at the receiver (since the source has changed its network address), and the disruption would be compounded. Even so, the situation would be recoverable, so long as the mobile end device does not move out of range again.

3.2 Mobile Router

ZigBee routers actively participate in mesh routing by providing functionalities that maintain/repair routes that fail. Because of the built-in route recovery mechanism (via route discovery and route error identification), ZigBee routers are robust to the effects of most mobility cases, regardless of whether the failed node is sending or receiving data. After the router is assigned an initial network address, there is no need to change the address unless the tree address allocation scheme is used with the backup tree routing option enabled. However, this only occurs if the routing table runs out of capacity. In this work, we assume that the routing table’s capacity is not a major concern in a properly tuned time-out/entry replacement method; hence, we do consider the scenario where tree routing is used in a mesh network.

4 Mobility Support in the ZigBee Tree Topology

In the ZigBee tree topology, the network address is assigned according to a hierarchical tree structure, as specified in the tree address allocation method. Let C m denote the maximum number of children allowed for each router, R m denote the maximum number of routers a parent may have as child nodes, and L m denote the maximum depth of the network. Suppose the network depth is d; then the n-th network address, A n , can be derived as follows:

$$ A_{n}=A_{\rm parent}+C_{\rm skip}(d)\times R_{m}+n, \label{eq:address} $$
(1)

where C skip(d) is the maximum size of the allocated sequential addresses for the subtree rooted at the node of A n and

$$ C_{\rm skip}(d)=\left\{ \begin{array}{cl} 1+C_{m}(L_{m}-d-1) &, \text{if } R_{m} = 1 \\ \frac{1+C_{m}-R_{m}-C_{m}(R_{m})^{L_{m}-d-1}}{1-R_{m}} &, \text{otherwise}.\\ \end{array} \right. \label{eq:cskip} $$
(2)

After the network addresses have been assigned, each node can route packets to its upstream and downstream tree neighbors (parents and direct children) with the cluster tree routing algorithm, which is similar to the cluster tree routing algorithm described in [5]. Trivially, every device in the network is a descendant of the ZigBee coordinator, and no device in the network is a descendant of any ZigBee end device. Each node checks the destination address of an incoming packet against its own address to determine if the destination is a descendent of the tree, or if the packet should be forwarded to its parent node. More specifically, for a ZigBee tree node with address A at depth d, if the logical expression in Eq. 3 is true, then a destination device with address D is a descendant. Equation 4 will then be utilized to find the appropriate descendant node to forward the packet to; otherwise, the packet will be routed through A’s parent node.

$$ A < D < A + C_{\rm skip}(d-1) \label{eq:routing} $$
(3)
$$ N = A+1+ \lfloor \frac{D-(A+1)}{C_{\rm skip}(d)}\rfloor \times C_{\rm skip}(d) \label{eq:nexthop} $$
(4)

When a node changes its parent router due to mobility, a new 16-bit network address will be assigned to the node automatically to preserve the tree address/routing structure. In many cases, the mobility of a router may cause cascading address changes across entire tree branches, and the effort required to maintain the tree address structure may create various problems for ZigBee mobile devices. For example, the Device Discovery service in the application layer may have difficulty accommodating some of the network changes, resulting in various levels of performance penalty. We discuss this point further in the evaluation section.

4.1 Mobile End Device

In tree routing, end devices rely heavily on their parents to relay packets to the final destination. The routing nodes along the tree path use the tree routing algorithm to determine how to forward a packet. Whenever an end device moves outside the range of its current parent, it will seek a new parent node to associate with and obtain a new network address.

In simple mobility scenarios, if the end device is mobile while transmitting data, it will resume the transmission as soon as it acquires a new network address. If the data flow is two-way, a route discovery and Device Discovery process will be triggered at the receiver (since the source has changed its network address). If the end device is receiving data, the data flow will eventually recover if the application is successful in using the Device Discovery mechanism to rediscover the node’s new network address. However, the Device Discovery mechanism will only work as intended under a very limited mobility scenario (e.g., where only one or two nodes are moving within the network). When there are persistent or multiple occurrences of mobility, the longer routes and slower throughput (caused by multi-hopping) of tree routing tends to hinder the responsiveness of the recovery scheme, causing a substantial degradation in performance.

4.2 Mobile Router

ZigBee routers acting as parent nodes are responsible for forwarding packets to/from their descendant nodes, and thus play an important role in hierarchical tree routing. In ZigBee tree topologies, new network addresses are assigned in accordance with Eq. 1 to ensure that the hierarchical tree structure is correct. The stability of this hierarchical addressing structure is crucial for the proper forwarding/delivery of packets. For the above reasons, when a ZigBee router acquires a new parent router and a new network address, it may send a cascading network address change to all of its descendant nodes on the impacted branches. Depending on the number of affected nodes, cascading address changes could cause various levels of inconsistency in the tree address allocation scheme, which would reduce the routing protocol’s ability to function properly.

Figure 4a shows a scenario where the mobile router moves outside the range of its original parent router and acquires a new network address. The mobile router can no longer be reached via its “old” network address; hence data reception will cease completely, and it will not be recoverable by any available ZigBee tree routing mechanisms. Sometimes, these simple movements trigger major structural changes among the descendent nodes, and influence other flows as a consequence. Even with the Device Discovery process in the application layer, the tree topology still encounters serious difficulties in recovering the path in more intricate mobility scenarios. This is because longer routes and slower throughput by the tree routing structure tends to hinder the responsiveness of the recovery scheme, as mentioned earlier.

Figure 4
figure 4

a The source transmits data to a mobile destination, which moves at time (1), and acquires a new network address in the new location. Descendants of the “old” mobile destination must obtain new network addresses at time (2). b The mobile source transmits data to a stationary destination. It then moves at time (1) and acquires a new network address in the new location. The descendants of the “old” source need to acquire new network addresses at time (2).

If the mobile router is sending data while it changes its parent router and acquires a new address, its “old” descendants must also change their network addresses, as shown in Fig. 4b. Depending on the number of nodes affected, a similar route failure to that in the cases mentioned would be experienced. Except in the simple mobility case, where only one or two nodes are moving within the network, the mobile router should be able to continue the data transmission after it acquires a new network address. However, when there are persistent or multiple occurrences of mobility, the complexity of tree routing increases. Once the constant changes in the tree’s addresses outpace the network’s address recovery facilities, the tree routing performance will deteriorate dramatically.

5 Evaluation

In this section, we present preliminary simulation results to illustrate the properties of the ZigBee mesh and ZigBee tree routing schemes. Specifically, we compare the performance and the tradeoff between the two routing schemes under different ZigBee network configurations. We use the NS-2 simulator with Samsung’s IEEE 802.15.4 extension [10], and implement the ZigBee tree routing and ZigBee mesh routing schemes according to ZigBee Specification v1.0 [3]. The delivery ratio and routing overheads of the two protocols are compared under various simulation scenarios, with the focus on the impact caused by various types of nodes.

The simulation mimics the settings of a household and/or factory deployment. Nodes are initially aligned in an equally spaced grid before a pre-determined percentage of nodes become mobile. Nodes move within the set topology according to the random waypoint model described in [7], and all results are averaged across 10 independent trials of the same configuration. We use the static address allocation scheme described in Section 3 for mesh routing and the cluster tree address allocation scheme described in Section 4 for tree routing. The parameters L m , C m , and R m are set to the suggested values of nwkMaxDepth, nwkMaxChildren and nwkMaxRouter respectively, as defined in [3]. Since ZigBee networks are intended to operate at low data rates, our simulation uses CBR flows of 10Kbps. In all the simulations, the network is comprised of 70% routers and 30% end devices, which are all randomly chosen. Other standard ZigBee network settings apply. The parameters used are summarized in Table 2.

Table 2 Simulation parameters.

We use the packet delivery ratio and the relative routing overhead as our performance evaluation matrices. The packet delivery ratio is averaged over the number of flows in the network to reflect the mean per-flow delivery ratio; and the routing overhead is denoted by a normalized value of the total overhead of the network with respect to the amount of traffic in the network.

The application Device Discovery mechanism is run during the setup phase to obtain the network address of the destination. The mechanism is also run when route error packets are received, and attempts to re-establish the connection with the destination device once the new address is acquired.

5.1 Scenarios with Various Percentages of Mobile Nodes

We now consider the performance of the two ZigBee routing schemes when there are various numbers of mobile nodes in the network. The nodes move at a speed of 1m/s randomly. We simulate two general mobility scenarios: 1) the sender remains stationary and the receiver is mobile; and 2) the receiver remains stationary and the sender is mobile. We repeat the simulations with two types of nodes, i.e., ZigBee routers and end devices. The source and destination nodes are randomly chosen, but the network settings remain the same in all simulations. We vary the percentage of mobile nodes from 0 to 50% to observe the response of the two routing protocols to increasing the percentages of mobile nodes in the network.

From the results shown in Figs. 5a and 6a, it is clear that the device type plays a critical role in determining the delivery ratio of mobile senders. ZigBee routers can typically transmit about twice as much data as ZigBee end devices; and ZigBee end devices are more influenced by the percentage of mobile nodes in the network than ZigBee routers. This is because an end device needs to associate with a new parent when it moves, so the extra association time degrades the packet delivery ratio. On the other hand, from Figs. 5b and 6b, we observe that ZigBee routers incur more routing overhead compared to the end devices. The additional overhead is generated by route repair messages that routers send/receive to repair a route.

Figure 5
figure 5

Comparison of mesh routing and tree routing when data is sent from mobile ZigBee routers to a stationary destination with various percentages of mobile nodes (a, b).

Figure 6
figure 6

Comparison of mesh routing and tree routing when data is sent from mobile ZigBee end devices to a stationary destination with various percentages of mobile nodes (a, b).

Figures 5a and 6a also show that mesh routing achieves a better packet delivery ratio than tree routing. The performance gap is especially evident when the mobile sender is a ZigBee router. It is clear that the rigid routing scheme demanded by tree routing is less robust to increasing amounts of mobility in the network, as it lacks an effective route recovery method when a route fails; thus, the delivery ratio suffers. When the network experiences multiple instances of mobility, the application recovery mechanism has minimal effect in repairing broken routes. As a result, the tree routing performance is quite poor when 20% or more of the network’s nodes are mobile. Even so, tree routing incurs a much smaller amount of routing overhead than mesh routing, as shown in Figs. 5b and 6b.

As the destination of data streams, all ZigBee receivers encounter some performance degradation (in terms of the data delivery ratio) when a device is mobile, as illustrated in Figs. 7a and 8a. The type of device differentiates between the services received by the two routing schemes. A mobile receiver would clearly benefit if it is a ZigBee router in mesh routing. However, the type of device is irrelevant when tree routing is employed, since movement in our tree topology causes approximately the same amount of change regardless of whether the node is a router or an end device.

Figure 7
figure 7

Comparison of mesh routing and tree routing when data is sent from a stationary source to mobile ZigBee routers with various percentages of mobile nodes (a, b).

Figure 8
figure 8

Comparison of mesh routing and tree routing when data is sent from a stationary source to mobile ZigBee end devices with various percentages of mobile nodes (a, b).

Figure 7a shows that mesh routing performs much better than tree routing. This is because the route repair mechanism in mesh routing can repair some of the mobility induced damage. The results also confirm our intuition that mesh routing consumes more overhead when there are more mobile nodes in the network. On the other hand, tree routing consistently consumes less overhead than mesh routing, regardless of the number of mobile nodes in the network.

The only scenario in which tree routing outperforms mesh routing occurs when ZigBee end devices act as receivers. In such cases, the performance of the ZigBee end device deteriorates in mesh routing because it must constantly acquire new network addresses, and the Device Discovery service cannot recover the addresses in a timely manner. However, since the ZigBee end device selects the lowest ID node as its initial parent, tree routing tends to pick a parent node that is farther away. Thus, when there are more mobile nodes in the network, there is a good chance the end device will get closer to its original parent node. This explains the superior performance of tree routing over mesh routing, as shown in Fig. 8a.

The above results suggest that 1) mesh routing is more suitable for ZigBee networks that have many instances of mobile nodes; 2) in most scenarios, ZigBee routers achieve better delivery ratios than end devices; and 3) because of its low overhead, tree routing is more effective than mesh routing in static ZigBee networks with low data rate applications.

5.2 Scenarios in which the Speed of Mobile Nodes Varies

Following the methodology described in the previous subsection, we now consider the routing performance of the two ZigBee routing schemes when mobile nodes in a network move at various speeds. The ZigBee network in question is comprised of 70% routers and 30% end devices, and 20% of the nodes are selected randomly as mobile nodes. Specifically, we evaluate the packet delivery ratio in 1 m/s increments when the nodes are moving between 1 m/s and 5 m/s.

Figures 9a and 10a show that the type of device plays a critical role in determining the delivery ratio in mesh routing. ZigBee routers can typically transmit more data, while ZigBee end devices can only send out half the amount transmitted by the routers. However, ZigBee routers incur more routing overhead than the end devices. The additional overhead is generated by the various route repair messages that routers send/receive to repair routes. We also observe that the delivery ratio decreases as the node speed increases.

Figure 9
figure 9

Comparison of mesh routing and tree routing when data is sent from mobile ZigBee routers to a stationary destination with various levels of node mobility (a, b).

Figure 10
figure 10

Comparison of mesh routing and tree routing when data is sent from mobile ZigBee end devices to a stationary destination with various levels of node mobility (a, b).

Additionally, Figs. 9a and 10a show that mesh routing achieves a better packet delivery ratio than tree routing. As in the previous subsection, the performance gap is especially evident when the mobile sender is a ZigBee router. Once again, this is due the ineffectiveness of tree routing’s rigid routing scheme, and the ZigBee router’s ability to route itself. The route repair mechanism in mesh routing makes the method far more robust to mobility then the tree routing method. When the network’s speed increases, the application’s Device Discovery mechanism provides minimal help in re-establishing the route. As a result, we find the same amount of performance degradation in the two tree routing scenarios. Even so, tree routing again incurs much less routing overhead than mesh routing, as shown in Figs. 9b and 10b.

In most scenarios, a ZigBee receiver encounters more severe performance degradation when it travels at high speeds, as shown in Figs. 11a and 12a. Again, the type of device differentiates between the services received by the two routing schemes. A mobile receiver would clearly benefit if it is a ZigBee router in mesh routing. In contrast, the type of device is irrelevant when tree routing is employed, for the same reason mentioned earlier.

Figure 11
figure 11

Comparison of mesh routing and tree routing when data is sent from a stationary source to mobile ZigBee routers with various levels of node mobility (a, b).

Figure 12
figure 12

Comparison of mesh routing and tree routing when data is sent from a stationary source to mobile ZigBee end devices with various levels of node mobility (a, b).

Figure 11a shows that mesh routing with ZigBee routers is more resilient against high-speed mobile nodes, even though it consumes more overhead than tree routing, as illustrated in Figs. 11b and 12b. As in the previous subsection, the only scenario where tree routing outperforms mesh routing is when ZigBee end devices act as receivers. The reason is the same as that given in the previous subsection, and it also illustrates the inefficiency of the application’s Device Discovery mechanism in recovering a route.

Overall, the above results suggest the suitability of mesh routing for ZigBee networks that have high-speed mobile nodes. They also show that tree routing is more effective for static ZigBee networks with low rate applications, due to its low overhead (i.e., it uses less energy). However, mesh routing is clearly more robust to nodal mobility, which echoes the findings reported in the previous sections.

6 Conclusion

Mobility is a critical component of various envisaged ZigBee applications. To ensure that mobile ZigBee devices can achieve ubiquitous connections to/from the ZigBee network, additional analyzes and evaluations must be performed. Our contribution in this paper is threefold. First, we provide an original implementation of the ZigBee network layer in NS-2, which will allow additional research to be conducted in this area. Second, we assess the adequacy of current provisions for dealing with different mobility cases. Third, we conduct a comprehensive set of preliminary tests, which demonstrate the inefficacy of the current standard for handling mobility.

Our results indicate that when a network is static, both the mesh and the tree routing schemes work as intended, without incurring much packet loss. ZigBee end devices experience detrimental packet loss in almost all mobility scenarios. The situation deteriorates further when there are multiple instances of mobility in the network, and when mobile nodes are traveling at high speed. In contrast, ZigBee routers typically suffer less packet loss when there is an intensive amount of mobility in the ZigBee network. However, the additional service overhead of ZigBee (such as the association with parent devices) still degrades the performance of ZigBee routers in almost all scenarios. This is because ZigBee routers are routing capable, but ZigBee end devices are not. Mesh routing is usually more robust than tree routing. The rigid hierarchical address allocation structure of tree routing severely hinders its ability to accommodate mobile ZigBee devices. The fact that, in tree routing, a mobile node needs to acquire a new address every time it changes its parent node drastically reduces the efficiency of the application. We also find that the current recovery mechanism cannot accommodate multiple instances of rapid node mobility.