Research of Improved ZigBee-based AODVjr Routing Algorithm in Cloud Manufacturing

—Resource accessing is one of the key issues in Cloud Manufacturing, which is a latest mode of network manufacturing. In this paper, a framework of resource accessing in Cloud Manufacturing based on ZigBee is proposed. In the framework, an improved AODVjr routing algorithm of ZigBee is studied. In the improved routing algorithm, limitations of the transmission direction and hops of RREQ packet are added into Cluster-Tree routing algorithm. As a result, broadcasting-storm is avoided and overall performance of ZigBee network is optimized. It is indicated in the results of simulation that the improved AODVjr algorithm is better than original AODVjr algo-rithm in dead node number, total energy consumption, success rate transmission for.


INTRODUCTION
Cloud computing (CComputing) is a model for enabling ubiquitous, convenient and on-demand network access to a shared pool of configurable computing resources (e.g. Networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interactions [1][2]. Many successful CComputing business cases are found world-widely [2]. As an excellent business service model, there are various characteristics, such as pay-as-you-go, on-demand service and multi-renter, which is very suitable for the business environment of network manufacturing. Thus, on the basis of CComputing model, Cloud Manufacturing (CM) is a new concept extending and adopting the concept of cloud computing for manufacturing [4][5]. A CM system, which serves for companies to deploy and manage manufacturing information and sustainable management services for accessing and exploiting over the Internet, can provide a cost-effective, flexible and scalable solution to global manufacturing enterprises by sharing complex database, software and various manufacturing resource with lower support costs [6].
Interoperation between manufacturing resources is one of the key issues in CM, which includes connecting, sensing and communicating between manufacturing resources. The precondition of interoperation between manufacturing resources is the transforming from physical resource to cloud resource, which is called resource accessing in CM.
ZigBee based wireless accessing technology is one of the important resource accessing methods in CM. ZigBee [7] is a radio frequency (RF) communications standard based on IEEE 802.15.4, which is applied to various occasions of automation and remote control in wireless personal area network (WPAN). There are many advantages of ZigBee, such as low-power, short-distance, lowcomplexity, self-organization, low-speed, low-cost [9][10]. Its maximal transmission rate is 250kbps, which meets the communication demand of CM [15]. There are three routing packets: RREQ (Route Request), RREP (Route Reply) and RERR (Route Error) in ZigBee network. Routing strategy of ZigBee is the key issue to its performance. A new method is put forward to limit the flooding RREQ transmission base on the residual energy of node. The nodes with lower residual energy will be ignored in routing strategy [11]. As a result, the RREQ forward range is reduced with the increasing of network latency. Dynamic threshold of the residual energy [13] is proposed to avoid the involving of lower depth nodes in the routing process. It is because of the network partitioning with the increasing of threshold that this method cannot be applied to data acquisition network.
In this paper, a new cloud accessing method based on ZigBee is put forward, which consist of three layers: physical resource layer, resource monitoring layer and resource accessing layer. The address allocation of manufacturing resource is based on the mechanism of address allocation of ZigBee network. It is ineluctability that routing algorithm becomes one of the most key issues in the ZigBeebased cloud accessing. On the basis of Cluster-tree algorithm, the improved AODVjr routing algorithm is present by the limitations of direction and hops of the RREQ transmission, which will reduce the invalid RREQ transmission and improve CM service quality.
The rest of the paper is organized as follows: In Section II, the ZigBee-based Mesh topology of cloud accessing and the allocation address method is discussed. In Section III, the improved AODVjr routing algorithm is present after analyzing its performance as a Mesh topology. In Section IV, the simulations of improved AODVjr routing algorithm are studied and compared with its original algorithm. Some conclusions are made in Section V.

A. Network Topology of ZigBee
ZigBee standard defines three types of nodes [9], coordinator, end device and router. There are three network topologies in ZigBee, which are Star topology, Tree topology and Mesh topology. The structure of three topologies is shown in Fig.1. In Star topology coordinator is responsible for the network. All other devices are end devices and communicate directly with the coordinator [17]. With the increasing of devices, only partial messages will be processed, latency and instability will be inevitable.
In Tree topology there is a logical tree based on IEEE 802.15.4 MAC Layer, which enhances the scalability of the network. Adjacent devices can communicate directly, other devices communicate with each other through logical tree. One node failure will make all communication through it be paralyzed. Transmitting latency between nodes is proportionate to their distance of logical relationship.
Mesh topology is the combination of Tree topology and Star topology. In Mesh topology, data transmitting can be made not only between adjacent devices directly, but also through other available paths. Redundant path will be enabled according to designed recovery procedure to ensure data transmitting, when the network devices are not available. So Mesh topology is not only more reliability than Star topology, but also more recovery than Tree topology. Meanwhile, Mesh topology is high-grade redundant network with less network latency than Star and Tree topology.

B. Resource accessing framework
Physical manufacture resource including all kinds of distributive and heterogeneous equipment is the bottom layer of CM. There are various kinds of physical manufacture resources. Even the same kind of equipment is great variety in implementation. Equipment instrumentation into network node makes possible the centralization management and resource sharing which are the foundation of large scale collaborative manufacturing. In addition, equipment instrumentation improves the efficiency of company management and equipment maintenance. Therefor a framework of cloud resource accessing is propose, which is shown in Fig.2. The framework is divided into three layers, which are physical resource layer, resource monitoring layer and resource accessing layer. 1

) The Physical Resource Layer
The task of physical resource layer includes resource awareness, identification and connection. Wireless Personal Area Network (WPAN) is built for physical cloud resource provider based on Mesh topology of ZigBee, which is shown in Fig.2. When a new node of resource with ZigBee joins WPAN, WPAN address will be coded basing on its ZigBee address. Manufacturing process will be conducted as instructed from its upper layer through the ZigBee communication. 2

) The Resource Monitoring Layer
Resource monitoring layer is designed to manage dispersed resources by monitoring their status. As a result, management efficiency will be enhanced with the advantages of maintaining and resource sharing. As shown in Fig.2, resource monitoring layer includes a ZigBee coordinator and an embedded management system. The main task of ZigBee coordinator is to collect status data of the resources in Mesh network. Meanwhile, embedded management system is responsible for the processing of those status data. 3

) The Resource Accessing Layer
The main task of resource accessing layer is the packaging of manufacturing resources to make it possible for remote control. Local service interface is provided cloud terminal to simplify service deployment and resource calling. Resource information including property, function, capacity and status will be stored in database as standard data packet.

C. Resource IP Address assignment
In CM, every manufacturing resource of the ZigBee network will be assigned an IP address, which is permanent and saved in the ROM of the ZigBee module. The IP address will be the key solution of the resource identification and resource coding. New equipment with ZigBee model will be assigned a hexadecimal address based on ZigBee network IP address assignment mechanism [15]. The IP address with location information will be the device ID of the equipment. ZigBee IP addresses assignment mechanism is as follow: m C is defined as the maximum number of child nodes, among which the limitation of routing nodes is m R . m L is the maximum depth of the network.
( ) skip C d is the address offset between a parent node with network depth d and its child nodes.
( ) skip C d can be calculated according to the following formula (1): k R represents the address of the kth routing node, which is calculated as formula (2): k P represents the address of k's parent node. n A represents the address of nth end device, which is calculated as formula (3):

A. The AODVjr routing algorithm
AODVjr algorithm is one of the earliest AODV simplified versions as the routing algorithm for ZigBee Mesh topology. In AODVjr algorithm, the list of pioneer nodes, node serial number and the HELLO message of AODV are ignored. In AODVjr algorithm, routing packets (RREQ and RREP) are transferred between tow nodes to determine the routing list of least energy consumption. The routing list will be maintained by transferring the KEEP_ALIVE message. Fig.3 shows an example of address assignment in ZigBee network, where m C = 4, m R = 4, m L = 3 and d represents the depth of the network.
Round rectangle stands for ZigBee node, whose IP address is represented in hexadecimal number. Assuming the source node (address 0x0041) trying to communicate with the target node (address 0x0016). In AODVjr, there are 3 hops from source node to destination node, which is 6-3-1-4. Without broadcast hop counts limitation, the RREQ packet will still be broadcasted. That will not improve the routing path and leads to overall energy consumption of the network. In the path searching, RREQ sent to the child nodes of source node or below their child nodes will consume network energy and evoke broadcast storm.

B. The Improved AODVjr Routing Algorithm
The improved AODVjr routing algorithm is on the basis of Cluster-Tree routing algorithm, in which command broadcast direction Flag is added into the EERQ packet for the broadcast direction. When a routing node (address A) with the depth of d transmits routing packet to the destination node (address D), the destination node is one of its descendant nodes if it meets the formula (4).
If the destination node is its child node, the Flag will be set to 0 instead of 1. That flag equals to 0 indicates the current node's parent node should not transmit RREQ. That flag equals to 1 indicates its child node should not transmit RREQ. If the destination node is the child node of node A, address of next-hop node (address N) can be described as formula 5-1 or 5-2 if node D is or is not the child node of node N. Otherwise address of next-hop node will be its parent node's address.
The transmission hops are limited to the sum of network depth d L and network depth of the destination node. As the network depth of the destination node is unknown, the largest network depth is m L according to the Cluster-Tree routing algorithm. The conclusion can be made that the transmission counts should be no bigger than ( m L + d L ). If hops number are bigger than , RREQ packet will be discarded. Under the assumption that each node's initial energy is 0 E , minimum energy is min E , J E represents the energy consumption of each transmission between adjacent nodes, the energy consumption of receiving RREQ packet and RREP PAPER RESEARCH OF IMPROVED ZIGBEE-BASED AODVJR ROUTING ALGORITHM IN CLOUD MANUFACTURING packet are equal every time, the improved algorithm is described as follows: (1) Source node determines the value of the flag according to the equation (4) by searching for the destination node. After that, RREQ packet will be repackaged and transmitted.
(2) RREQ packet will be unpackaged after it is received by the routing node to determine whether it is the destination node. If it is the destination node, a RREP packet will be replied. Otherwise, continue to the next step.
(3) Update energy status of the node.
(4) As long as the original and the improved algorithm are under the same environment parameters and testing operations, the energy changes from the node itself during the course of the working can be ignored, the node's residual energy P can be described as formula (6). 1 k and 2 k represents the number of received RREP and RREQ. If min P E < , the RREQ packets should be discarded. Otherwise, continue to the next step.
(5) Check hops number of the node. According to previous section, it should be no bigger than ( m L + d L ). If it is, the RREQ should be discarded. Otherwise, continue to the next step. (6) Check the flag value of RREQ packet. If the flag=0, turn to the step (7). Otherwise, turn to step (8).
(7) Determine whether the node is the parent node of the previous node with formula (4). If it is true, the RREQ packet should be discarded. Otherwise, determine whether the node is parent node of the destination node with formula (4). If it is not true, reset flag to 1 and transmit the RREQ packet after repackaging it. (8) Determine whether the node is the child node of the previous node with formula (4). If it is true, the RREQ packet should be discarded. Otherwise, determine whether the node is the parent node of the destination node with formula (4). If it is true, reset flag to 0 and transmit the RREQ packet after repackaging it.
(9) Continue step (2), until the RREQ packet reach its destination node or being discarded.
Program flow chart is shown in Fig. 4.  Table I, there are three  algorithms (original AODVjr, direction limitation AODVjr, direction and hops limitation AODVjr) to be compared. The simulation results are shown in Fig.5 ~  Fig.7, which indicate the additional limitations such as direction and hops make the AODVjr algorithm perform better in the death node number, total energy consumption and transmitting success rate. Fig.5 shows a comparison of the death node number in three cases (original AODVjr, direction limitation AODVjr, direction and hops limitation AODVjr). As is shown, death node number increases with time, because of excessive energy consumption of the nodes by transmitting the RREQ packet in the process of the routing path searching. The comparison indicates that the death node number of direction limitation AODVjr is less than the original AODVjr at the same time. Because in the direction limitation AODVjr, transmitting direction of RREQ (to its parent node or child node) will largely reduce the number of RREQ transmitting times. The improvement of direction and hops limitation AODVjr is similar to direction limitation AODVjr. The most probable cause is that the hops limitation is insignificant in the small scale network as designed. Fig.6 shows a comparison of total energy consumption of the original AODVjr and the direction and hops limitation AODVjr. It is indicated by the figure that energy consumption is proportional to the number of nodes. It also indicated the energy consumption of direction and hops limitation AODVjr is less than the original AODVjr, which is the result of the reduction of RREQ transmitting number. Fig.7 shows a comparison on transmitting success rate of the original AODVjr and the improved AODVjr (direction and hops limitation). The success rate of a node routing path searching for 50 destination nodes is simulated in the network of 200 nodes, 300 nodes and 400 nodes respectively. In Fig.7, success rate is reduced over time. In the routing path searching, some nodes become death node as energy consuming. As a result, the number of optional paths is decreased to reduce the success rate of searching. The success rate of searching in improved AODVjr is higher, because in original AODVjr algorithm broadcasting EERQ arbitrarily leads to more energy consumption and death node number increasing. Also the success rate is higher in the bigger network, because of the routing paths increasing in bigger network of Mesh topology.

V. CONCLUSION
In this paper, ZigBee wireless network is studied to propose the resource accessing framework of CM. Then an improved AODVjr routing algorithm is proposed to improve the performance of ZigBee network based on the application in resource accessing of CM. Finally the original AODVjr algorithm and the improved AODVjr algorithm are simulated under the same environment parameters. Experimental results show that the improved AODVjr algorithm is of better performance.