## 1 Introduction  
Recently, the demands of remote medical monitoring [1] keep growing. WiFi and Bluetooth are the most popular wireless media for wireless remote monitoring. For example, [PERSON] _et al._ used Bluetooth for emergency medical services [2]. To overcome the disadvantage of Bluetooth's limited coverage, a WiFi-based medical monitor system was developed [3]. With the increasing popularity of smart phones, the design of medical monitoring systems on Android mobile terminal equipment is also proposed [4]. Furthermore, a wearable health monitoring sensor integrated with a body-area network [5] is also gaining market attention. Patients are sensitive to high radio transmission power devices supported by WiFi, whose transmission power is usually 100 mW [6]. Compared with WiFi, Zigbee's low transmission power (1 mW) [6] constitutes a healthier network solution for medical sensor devices, which usually have a short distance to the human body and require low radio emissions [7]. To overcome the short wireless coverage problem, the Zigbee stack [8] supports mesh routing by adopting the so-called Ad hoc On-demand Distance Vector (AODV) [9] method to automatically construct an _ad hoc_ network as routes are needed. To collect medical data through wireless transmissions from long-distance remote sites, AODV mesh routing can extend sensor coverage with multi-hop transmission. Since Zigbee has advantages regarding body-health and remote-transmission aspects, numerous Zigbee-based medical monitoring systems have been developed [10; 11; 12], allowing patients to maintain their independence and mobility, but without addressing potential bottleneck problems. What is _\"bottleneck\"_? In general, medical monitoring systems such as electrocardiography (ECG), with its continuous sample transfer, involve transmission of large amounts of data, and can easily cause a point of transmission failure when nodes become jammed with excessive data which cannot be processed in time, then bottlenecks happen. In Zigbee, during the process of data aggregation towards a data collection gateway, nodes near the gateway may experience more network traffic than others and thus become bottlenecks and cause unreliable data delivery, such as packet drops due to the network congestion at the bottlenecks. To solve bottlenecks, load balancing is critical for avoiding data congestion at pre-known busy nodes, especially for data-intensive applications. However, the design of Zigbee's AODV routing, which has been used for numerous medical monitoring systems [10; 11; 12], only focuses on optimizing routing paths to be the shortest without seriously considering load balancing issues. In addition, bottlenecks may cause broken links to trigger AODV Route Error (RERR) messages. Once RERRs are generated, nodes receiving RERR messages subsequently generate more REER messages. Eventually, the enormous volume of AODV RERR messages can paralyze the entire network, especially the links close to the gateway. Therefore, as the network demands of medical monitoring applications grow, Zigbee's routing service can become very unreliable. This is the problem our research intends to solve. To avoid bottlenecks, many load-balance wireless routing systems have been proposed. Pure cluster solutions [13; 14] aim at building as uniformly small-sized clusters as possible to achieve cluster load-balancing. Advanced cluster solutions [15; 16] balance energy consumption on each node and indirectly achieve load balancing. [PERSON] [15] built a balanced clustering structure and thus avoided forming large clusters. In each cluster, the node with the highest energy is elected as the cluster head for aggregating inter-cluster data to the base station. [PERSON] [16] proposed a centralized power efficient routing algorithm to determine cluster heads and build a multi-hop routing protocol among all cluster heads. ME-AODV [17] adds the _multipath_ concept to energy-aware load-balancing solutions.