Abstract:
Multiple routes from a data source node to multiple data destination nodes in a large scale multi-hop mesh network are discovered. Nodes discover multiple routes to two destinations in an initial discovery phase that includes only two network-wide flooding of packets. The method can also work with one destination. The method can be extended to include more destinations with a proportional increase in the communication overhead. After the completion of the discovery phase, nodes can communicate or forward their own or received data by using any of the available routes.

Description:
FIELD OF THE INVENTION 
     This invention relates generally to routing of packets in wireless sensor networks, and particularly to routing in a smart meter network. 
     BACKGROUND OF THE INVENTION 
     With rapid advances in wireless networking technologies, it is becoming increasingly feasible to deploy wireless multi-hop mesh networks, including distribution networks of utilities such as electricity, water, and gas, for real-time monitoring, reliability, and better resource management. 
     The emergence of smart grids offers a formidable challenge in deploying a distributed network of renewable power generation sources and then managing a distribution network for smooth, reliable, and optimized energy management over large geographic areas. A crucial component needed for the successful operation of the overall grid is to collect real-time data on resource consumption in different geographic areas. 
     A smart meter network typically includes a set of data sources in the form smart meters, and one or more data sinks, connected wirelessly, or through a wired network, such as power line communications (PLC) system. The smart meter acts as communication routers to relay source data, as well as data received from adjacent neighboring nodes. 
     Smart meters and data sinks are fixed in terms of geographical locations. Unlike conventional wireless sensor network and mobile ad hoc network, there are only two types of data flows in the smart meter network. The smart meters periodically send data to one or more designated data sinks. Data sinks can send control data to one or more smart meters as needed. The data sinks can be multiple hops away from some smart meters. Therefore, the data from these smart meters must travel over multiple hops before actually reaching the data sink. 
     The smart meter can possibly aggregate its own data and the data received from several of its neighbors before forwarding the aggregate data to the next hop neighbor, which can be a smart meter or a data sink. The data sinks can include processors and transceivers for processing received data, and sending the aggregate data to the operation centers of utility companies. 
     Routing is one of key functions in smart meter networks. Routes between smart meters and data sinks must be discovered before data communication can proceed. Routing in a real time smart meter network provides more challenges. 
     A number of routing methods are known for wireless sensor networks and mobile ad hoc networks based on different requirements, such as ad-hoc on-demand distance vector routing, dynamic source routing, temporally-ordered routing, and routing method for low power and lossy network. 
     However, conventional routing methods do not suit smart meter network well. Therefore, it is desirable to develop a routing method that satisfies the requirements of smart meter networks. 
     Routing in Smart Meter Network 
     In modern utility distribution networks, every smart meter is expected to periodically send its data to the operation center of the utility provider. A meter can also respond to abnormal events, such as a safety and security events by generating asynchronous data traffic. The collected data are then processed, analyzed, and utilized for better demand-response, resource management, and dealing with hazardous situations. 
     It is imperative that the data be communicated to data sinks in a reliable and efficient manner. Lost or excessively delayed data packets can cause waste of resources or, even worse, endanger human life and property. Therefore, the smart meter network must deploy a well-defined, efficient, and extremely reliable routing methods to satisfy the stringent performance requirements of smart meter network. 
     Problem with Routing in Smart Meter Network 
     A number of routing methods for wireless sensor networks and mobile ad-hoc networks are known. The smart meter networks, however, have very distinct requirements based on pronounced architectural differences from general wireless sensor networks, and mobile ad-hoc networks. 
     In contrast with peer-to-peer communications in wireless sensor networks, the smart meter network has only few data sinks, and almost all the traffic is directed towards the data sinks points. Also, the number of nodes in a smart meter network can run to thousands. Interference could be severe in such a large and dense network. Mobile objects, such as vehicles, can also cause communication link to fail. Data sending interval can be as short as very few minutes. Control data latency can be in seconds. 
     In peer to peer communications, each pair of communicating nodes generally discovers a route between the nodes. Route discovery in many such networks is done through a network-wide flooding. In a large scale network, communication overhead for route discovery would be huge, especially when many nodes communicate in peer-to-peer fashion. Such an excessive overhead must be avoided in large smart meter networks. Also, meter data and control data must be reliably delivered to destination. Therefore, nodes must have multiple alternate routes already discovered for use when the primary route to a sink point fails. 
     Furthermore, a node may need to discover routes to multiple data sinks. All these multiple routes must be discovered with minimal communication overhead during the initial discovery or setup phase. A failed route must be repaired without causing network-wide flooding of packets and without disrupting the regular periodic data communications. 
     One of commonly used routing methods for wireless ad hoc networks is ad-hoc on-demand distance vector (AODV) routing. AODV has its advantages, such as discovering a route only when it is needed and repairing a failed route automatically. However, AODV has excessive transmission of control messages. In AODV routing algorithm, each route discovery between a source node and a destination node causes one network-wide flooding. Route rediscovery takes considerably long time. It is a single path routing method. AODV suits peer-to-peer networks. 
     Dynamic source routing (DSR) is another routing method commonly used for wireless ad hoc networks. It is similar to AODV in that it forms a route on-demand. However, it does not rely on a routing table. Rather, the sender/source node includes the path to the destination in the packet being transmitted. DSR performs well in small and static networks with low mobility. However, its performance degrades rapidly with mobility increasing. Route maintenance does not repair a failed route. Connection setup delay is higher. Considerable routing overhead is involved due to the route information included in the data packet. 
     There are two well known routing methods based on directed acyclic graph (DAG). One is the temporally-ordered routing algorithm (TORA), which attempts to achieve a high degree of scalability using a non-hierarchical routing method. TORA constructs and maintains a DAG rooted at a destination. It achieves loop-free multipath routing by only allowing message flowing from nodes with higher heights to nodes with lower heights. TORA is good for dense networks. However, control message overhead in TORA is even higher. As number of nodes increases, control message overhead increases considerably. Also, TORA does not use a shortest path solution. 
     Routing for low power and lossy network (RPL) is another routing method using the DAG. RPL is under development by the Internet Engineering Task Force (IETF). RPL aims to provide providing reliable and low latency support for large scale smart grid networks. In RPL, each node maintains its position in a DAG structure by using a rank property. However, many important issues are left unresolved by RPL. Rank computation is not described for the RPL. Selection of parents is only based on receipt of a control message from a gateway. If no stable link exists, then this can cause delivery failures. There is no broadcast mechanism in RPL. RPL is tightly related to IPv6, which can cause RPL not suitable for non-IP networks. 
     Better approach to mobile ad hoc network (BATMAN) is also a routing method for a wireless ad hoc network. The crucial point of BATMAN is the decentralization of knowledge about the best route through the network. No single node has all the data. On a regular basis, each node broadcasts originator message to inform its neighbors about its existence. Neighbors then relay this originator message to their neighbors. In order to find the best way to a certain node, BATMAN counters the originator messages received and records which neighbor the message came in through. BATMAN exhibits high level of stability. However, BATMAN has slow convergence time. Periodic originator messages increases control message overhead, especially for large scale networks such as smart meter networks. Ant agents for hybrid multipath routing (AntHocNet) is an adaptive routing method for wireless ad hoc networks. It is a hybrid method by combining reactive route setup with proactive route probing, maintenance and improvement. AntHocNet discovers multiple paths and continuously searches for new paths. But, route repair takes multiple broadcasts that floods network. Periodic neighbor control messages adds control message overhead, which results in reliability and latency issues in large scale networks. 
     SUMMARY OF THE INVENTION 
     The embodiments of the invention provide a method for discovering multiple routes from a data source node to multiple data destination nodes in a large scale multi-hop mesh network. The limited storage capacity and communication bandwidth pose sever restrictions on the nodes for route discovery, and route repair. 
     In the example network, nodes discover multiple routes to two destinations in the initial discovery phase that includes only two network-wide flooding of packets. The method can also work with one destination. The method can be extended to include more destinations with a proportional increase in the communication overhead. After the completion of the discovery phase, nodes can communicate or forward their own or received data by using any of the available routes. 
     During the discovery phase, the discovered routes are enumerated based on a cost function, and only the best routes are retained. It ensures that routes have no cycles. The method also facilitates local route repair without disrupting normal data communications being carried on by using alternate routes. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic of a smart meter network in which embodiments of the invention operate; 
         FIG. 2  is a schematic of a method for discovering multiple routes in the network of  FIG. 1 ; 
         FIG. 3  is a schematic of an example route request (RREQ) packet; and 
         FIG. 4  is a schematic of an example route reply (RREP) packet. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       FIG. 1  shows a wireless smart meter network  100  in which embodiments of the invention operate. Primary and backup destination nodes D  101 - 102  connect to an operation center  110  via a core network  120  via high speed wired or wireless links  103  (solid). 
     A typical smart meter is a source node S  121 , which is connected to the destination nodes with one or more primary routes  122  and one or more backup routes  123  using wireless links  124  (dashed). The destination nodes can be concentrator nodes connected to an operation center of a utility company. 
     The embodiment of the invention provides a method for discovering routes in the network  100  to one or more destination nodes in an efficient and optimal manner. The communication and storage overhead is minimized and confined only to the initial discovery phase during the process of setting up or recovery of large network. 
     At the end of route discovery phase, which only uses network-wide broadcasts, all the source nodes in the network have discovered multiple routes to both destination nodes D. 
       FIG. 2  shows a schematic of a method for discovering multiple routes in the network of  FIG. 1 . A source node S  201  initiates a route discovery to the destination node D  202  by broadcasting a route request packet RREQ  201 . The route discovery can be performed periodically or non-periodically. 
     An example format of a RREQ packet is shown in  FIG. 3 . The RREQ packet includes a transmitting node address  301 , a RREQ Id.  302 , the source address  303 , the destination address  304 , the forward cost  305 , the hop count  306 , and other fields  308 - 309 . However, an actual RREQ packet may have more fields as needed or deemed appropriate for the deployment. This format specifies only the fields that are of interest for this application. Also, the destination node address field  304  in RREQ packet  300  can specify the address of one particular destination node or it may specify all destination nodes (for example, by having the broadcast address 0xFFFF) in the network. Alternately, the destination address field may consist of a list of addresses of a subset of destination nodes in the network. 
     Every immediate neighbor node  205  of the source node S  201  receives the RREQ  203  packet and checks if the destination node&#39;s address  304  for the destination node D  202 , in the received RREQ packet, matches to its own address. If the addresses do not match, then the receiving node is not the destination node D  202 . In that case, the receiving node acts as an intermediate node  205 . 
     Every intermediate node  205  calculates the forward cost associated with RREQ packet  203  by adding the link cost for the link  204  between the broadcasting node S  201  and receiving node  205  (i.e., itself). This forward cost field  305  indicates if the route back to the node S  201  is viable. 
     The link cost may be calculated by an appropriate function based on a combination of some or all of the following set of factors: hop count  306 , link quality, and average packet drop rate, buffering capacity, and expected transmission delay. This set may not be confined just to the listed factors. 
     Rather, any other relevant performance parameter may be included in this set. The node then records related information in a local database. The information can include the RREQ Id  302 , the source node address  303 , which is the address of originating node S  201 , of RREQ packet  203 , the destination node address, i.e., the address (Trans.Node Addr?) of node D  202 , the address  301  of neighbor, i.e., node S  201 , that transmitted the RREQ packet, and the updated cost field. 
     The node re-broadcasts the RREQ packet  206  that contains the updated cost field  305 . Every immediate neighbor node  207  of the transmitting node  205  receives the RREQ packet  206 . The intermediate node  207  follows the same procedure as done by the intermediate node  205  until the RREQ packet  208  reaches the destination node D  202 . 
     Intermediate nodes  205  and  207  can receive multiple copies of the same RREQ packet  203  from neighboring nodes. Every intermediate node  207  records information of all or only a pre-fixed limited number (i.e., k≧1) of the RREQ packets it receives for the same REQ Id. The recorded information, in fact, specifies k best routes back to the originating node S  201 . 
     In order to reduce overhead, an intermediate node re-broadcasts the first RREQ packet it receives and any subsequently received copies of the same RREQ packet, i.e. RREQ packets having the same RREQ id, that have lower updated forward cost than that of the RREQ packet that it did previously broadcast. 
     When the destination node D  202  receives a RREQ packet  208  from its neighboring node  207 , it responds by constructing and broadcasting a RREP packet  250 . 
     An example format of a RREP packet is shown in  FIG. 4 . The RREP packet includes a transmitting node address  401 , a RREP Id.  402 , the source address  403 , the destination address  404 , the forward cost  405 , the reverse cost  406 , the hop count  306 , and other fields  408 - 409 . However, an actual RREP packet may have more fields as needed or deemed appropriate for the deployment. 
     The RREP packet  250 , constructed and broadcasted by the destination node D  202 , may include both the updated forward cost and zero reverse cost. Every intermediate node  251  (and  253 ) that receives a RREP packet  250  (or  252 ), updates the reverse cost field  406 , by calculates the cost of the receiving link and then adding it to the reverse cost field  406  in the received RREP packet. Like RREQ packets, the intermediate nodes may receive more than one copies of the same RREP packet  250 . 
     Every intermediate node can record related information for all, or up to a pre-fixed number j,j≦1, RREP packets for the same RREP Id. The recorded information, in fact, specifies j best routes to the destination node D  202 . Every intermediate node can easily calculate the cost of each route (from itself to the destination node D  202 ) by using the value of forward cost field  405  in the received RREP packet by subtracting the stored value of the reverse cost field  306  for the corresponding RREQ packet. 
     Like the intermediate nodes, the destination node S  202  may receive multiple copies of the same RREQ packet  203  from its neighboring nodes. Similarly, the source node S  201  may receive multiple copies of the same RREP packet  250  from its neighboring nodes. These nodes can record the related information for all or some of the received RREQ and RREP packets, respectively. 
     Preventing Cyclic Paths 
     In the method as described in  FIG. 2 , there is a possibility of routes being discovered having cyclic paths. That can be a problem because any packet that enters a cycle may potentially never leave the cycle. It is therefore imperative to avoid the formation of cycles in the routes being discovered. The problem becomes even more acute in case when every node tries to discover multiple routes to a destination node. 
     Nodes can prevent formation of these cyclic paths by including extra information in the RREQ/RREP packets. That information can be utilized by the receiving nodes while decided if a received RREQ/RREP packet needs to be discarded. The goal is to make sure that the union of all discovered routes to a destination node forms a logical tree structure. 
     Every intermediate node discards a RREP packet that may cause violation or falls out of the logical tree structure. To achieve that, every RREQ and RREP packet may contain a list of nodes that it has so far passed through. Every node, while transmitting a RREQ or RREP packet, appends its unique ID (that is, its address) to the list inside the packet. This information is used by the receiving node to decide if it should accept or reject the route (specified by the list in the received packet) to the origin of the packet. That condition will result in non-intersecting routes to the destination node. 
     Moreover, a node can drop a RREQ or RREP packet if the size of the list reaches to a pre-defined threshold. That will not only help in controlling the packer size, but, rather more importantly, will filter out excessively long routes being discovered. Those long routes will potentially fail to satisfy the stringent latency constraints set for high performance networks. 
     It is, however, worth noting that non-intersecting route condition will severely restrict the nodes&#39; ability to have multiple optimal routes. Less number of available routes reduces the flexibility of the node to deal with broken routes. It is, in fact, a trade off between the flexibility and degree of non-intersecting routes. 
     In an extreme case, a node can reject a route to a destination node as specified in just received RREP packet if this route intersects an existing route, discovered previously, to the same destination node. This will force all routes from a given node to the destination node to form non-overlapping paths between that node and the destination node. 
     It can, therefore, be allowed for the routes to intersect. But the intersection point should be at a safe distance (in terms of number of hops) so that there are plenty of choices for alternate routes if an intersecting node (of multiple routes) breaks down. 
     Effect of the Invention 
     The invention is advantageous for a very large smart meter network that must deploy a well-defined, efficient, and extremely reliable routing methods to satisfy the stringent performance requirements of smart meter network. The method is resilient to link and node failures by providing alternate routes from a source to a destination. The method minimizes overhead control messages, which results in reliability and latency issues in large scale networks. The method also avoids cycles in routes. 
     Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications may be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.