Abstract:
A routing method in a wireless network and a communication device using the same is provided. The routing method in the tree-based wireless network includes acquiring an optimal route using a table which is recorded based on received information on neighbor nodes and received information on lower nodes of the neighbor nodes, and transmitting a packet through the optimal route. Accordingly, tree-based mesh routing which performs route discovery block by block is used in order to increase the efficiency of route discovery, and a packet is transmitted through an optimal route so that communication costs can be reduced.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims priority from U.S. Provisional Application Nos. 60/679,225 and 60/680,014, filed May 10, 2005 and May 12, 2005, respectively, in the United States Patents and Trademark Office, and Korean Patent Application No. 10-2006-0034538, filed Apr. 17, 2006 in the Korean Intellectual Property Office, the entire contents of which are incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     Apparatuses and methods consistent with the present invention relate to routing in a wireless network, and more particularly, to efficiently transmitting and receiving data in a wireless network by tree-based mesh routing.  
         [0004]     2. Description of the Related Art  
         [0005]     Generally, a route discovery in wireless networks, which is used to set a routing path, is performed for one node. Recently, the wireless networks have all the devices in the area cluster-tree structured. Devices joining with the cluster tree structure are allocated with an address according to the tree structure. The allocated address is used for routing in each network environment.  
         [0006]      FIG. 1  illustrates a tree structure of a related art wireless network.  
         [0007]     In  FIG. 1 , the related art network includes a parent node A  110  and child nodes B through J,  112  through  142 , respectively.  
         [0008]     The child node B  112  is associated with the parent node A  110  and the child nodes E  120 , F  122  and G  124 . The child node C  114  is associated with the parent node A  110  and the child node H  130 . The child node D  116  is associated with the parent node A and the child nodes I  140  and J  142 . In  FIG. 1 , each node may be implemented as a device, and each parent node may include table-form address information on the child nodes.  
         [0009]     When data is transmitted from the node H  130  to the node F  122  in the wireless network of  FIG. 1 , the node H  130  is a source node and the node F  122  is a destination node. A data packet transmitted from the node H  130  is transmitted along the only tree structure to the node F  122 . The data packet is transmitted necessarily through the parent node thereof, so that it can be transmitted to neighboring nodes along the tree structure.  
         [0010]     Accordingly, the data packet transmitted from the node H  130  is sent to node F  122  via the nodes C  114 , A  110  and B  112  along the tree structure. In the tree structure of the related art wireless network, the data packet is transmitted along the tree structure from the source node to the destination node, resulting in an inconveniently lengthened routing path and subsequent rise in the communication costs.  
       SUMMARY OF THE INVENTION  
       [0011]     Illustrative, non-limiting embodiments of the present invention overcome the above disadvantages and other disadvantages not described above. Also, the present invention is not required to overcome the disadvantages described above, and an illustrative, non-limiting embodiment of the present invention may not overcome any of the problems described above.  
         [0012]     The present invention provides a routing method using tree-based mesh routing in a wireless network to efficiently search for and set a route from a source node to a destination node.  
         [0013]     According to an aspect of the present invention, there is provided a routing method in a tree-based wireless network comprising acquiring an optimal route using a table which is recorded based on received information on neighbor nodes and received information on lower nodes of the neighbor nodes, and transmitting a packet through an optimal route.  
         [0014]     In acquiring the optimal route, the table may be searched to acquire the optimal route. That is, when an address of a node to receive the packet matches one of beginning addresses recorded in the table, a route through an address of a next hop corresponding to the beginning address recorded in the table is acquired as the optimal route.  
         [0015]     Additionally, in acquiring the optimal route, when an address of a node to transmit the packet matches one of the beginning addresses recorded in the table, the route through the address of the next hop corresponding to the beginning address recorded in the table may be acquired as the optimal route.  
         [0016]     Acquiring the optimal route may comprise transmitting the acquired optimal route to the node to transmit the packet; and transmitting the packet through the auxiliary route.  
         [0017]     The routing method in the tree-based wireless network may further comprise acquiring an auxiliary route using the table recorded based on the received information on the neighbor nodes and the received information on the lower nodes of the neighbor nodes.  
         [0018]     Additionally, in acquiring the auxiliary route, when an address of a node to receive the packet does not match one of the beginning addresses recorded in the table, the auxiliary route may be acquired by determining if the address of the node is between an address which is added with “1” to the beginning address recorded in the table, and a last address corresponding to the beginning address.  
         [0019]     Additionally, in acquiring the auxiliary route, if the address of the node to receive the packet is between an address which is added with “1” to the beginning address recorded in the table, and the last address corresponding to the beginning address, a route through a node corresponding to the beginning address recorded in the table, and lower nodes of the node corresponding to the beginning address may be acquired as the auxiliary route.  
         [0020]     Further, in acquiring the auxiliary route, when the address of the node to transmit the packet does not match one of the beginning addresses recorded in the table, the auxiliary route may be acquired by determining if the address of the node is between an address which is added with “1” to the beginning address recorded in the table, and a last address corresponding to the beginning address.  
         [0021]     Additionally, in acquiring the auxiliary route, if the address of the node to receive the packet is between an address which is added with “1” to the beginning address recorded in the table, and the last address corresponding to the beginning address, a route through a node corresponding to the beginning address recorded in the table, and lower nodes of the node corresponding to the beginning address may be acquired as the auxiliary route.  
         [0022]     Also, acquiring the auxiliary route may further comprise transmitting the acquired auxiliary route to the node to transmit the packet.  
         [0023]     Additionally, acquiring the auxiliary route may further comprise transmitting the acquired auxiliary route to the node to transmit the packet.  
         [0024]     Furthermore, in acquiring the optimal route, the table may comprise topology information on the plurality of nodes. The topology information comprises at least one of a beginning address of the node, an ending address of the node, a next hop via which the node can be routed, hops to the beginning address of the node, costs to the beginning address of the node, and time when the node is created or refreshed. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0025]     The above and other aspects of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawing figures, wherein;  
         [0026]      FIG. 1  illustrates a tree structure of a related art wireless network;  
         [0027]      FIG. 2  is a flow chart describing a method of allocating an address in a wireless network according to an exemplary embodiment of the present invention;  
         [0028]      FIG. 3  is a chart depicting a route discovery process in the wireless network according to an exemplary embodiment of the present invention;  
         [0029]      FIGS. 4A and 4B  are views describing an exemplary route request (RREQ) and route replay (RREP) used to set a routing route according to an exemplary embodiment of the present invention;  
         [0030]      FIG. 5  is a view describing an exemplary non-tree-table (NTT) written during the route discovery process of  FIG. 4 ;  
         [0031]      FIG. 6  is a flow chart describing a method of setting a routing route between a source node and a destination node after route discovery according to an exemplary embodiment of the present invention;  
         [0032]      FIG. 7A  is a view describing a routing method when a ‘source node’ already knows an optimal route to a ‘destination node’ after route discovery;  
         [0033]      FIG. 7B  is a view describing a routing method when a ‘destination node’ already knows an optimal route to a ‘source node’ after route discovery; and  
         [0034]      FIGS. 8A and 8B  are views describing a recovery process when connection between nodes is broken in the wireless network according to an exemplary embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS  
       [0035]     Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.  
         [0036]     In the following description, same drawing reference numerals are used for the same elements even in different drawings. The matters defined in the description, such as detailed construction and element descriptions are provided to assist in a comprehensive understanding of the invention. Also, functions or constructions that are well known to those skilled in the art are not described in detail since they would obscure the invention in unnecessary detail.  
         [0037]     In a routing method in the wireless network according to an exemplary embodiment of the present invention, there are an adaptive robust tree (ART) and meshed ART (MART) methods for a tree-based routing method, and also non-tree routing methods. Each of the nodes used for routing communicates bi-directionally.  
         [0038]      FIG. 2  is a flow chart depicting a method of allocating an address in a wireless network according to an exemplary embodiment of the present invention. Referring to  FIG. 2 , in the initialization phase, a plurality of nodes are connected to each other to form a cluster-tree structure (S 210 ). More specifically, if node A is a root node start connection, a neighbor node transmits an association request to node A. If node A intends to be connected to the neighbor node, node A replies to the neighbor node. As a result, node A and each node are connected. Each node can be connected to its lower nodes in the same way.  
         [0039]     If the cluster-tree structure is formed this way, each node in the bottom level or next upper level bottom-up requests an address block of a certain size to its upper node (S 220 ).  
         [0040]     Meanwhile, a node which receives the address block of a certain size determines whether to be in the top level (S 230 ). If the node is not in the top level, the node requests its upper node for an address block of a certain size to use (S 240 ).  
         [0041]     The root node allocates address blocks of the requested size to each branch (S 250 ). In this case, the address blocks are sequentially allocated according to the connection order of lower nodes corresponding to each branch.  
         [0042]     If each lower node is not in the bottom level (S 260 ), the address block allocated to itself is allocated again to its lower node (S 270 ). In this case, the address blocks of a certain size that its lower nodes requested are sequentially allocated. Accordingly, addresses can be allocated down to each node in the bottom level. Consequently, each node writes an adaptive robust tree table (ARTT) using the address allocated to itself, and performs the routing operation according to the ARTT. The ARTT includes topology information.  
         [0043]      FIG. 3  is a diagram depicting a route discovery process in a wireless network according to another exemplary embodiment of the present invention, and  FIGS. 4A and 4B  are views describing an exemplary route request (RREQ) and route reply (RREP) used to set a routing route according to an exemplary embodiment of the present invention.  
         [0044]     Referring to  FIGS. 3-4B , for example, when a packet is transmitted from source node I to destination node O, source node I unicasts an RREQ to destination node O to set a route to destination node O. That is, the routing route of the RREQ is I-H-K-O. The RREQ is a message type used in order for a source node to find a destination node, that is, to request that a route be generated.  
         [0045]     As shown in  FIG. 4A , the RREQ includes a route_type, dst_beg_addr, src_beg_addr, src_end_addr, max_link_cost, hops_traveled, cost_accumed, and time to live (TTL). A description of each of the fields of the RREQ is also shown in  FIG. 4A .  
         [0046]     If destination node O receives the RREQ from source node I, destination node O broadcasts the RREQ to find an optimal route to source node I.  
         [0047]     Subsequently, source node I receives the RREQ broadcasted from destination node O, so that the optimal route to destination node O can be found. Accordingly, source node I transmits an RREP through the optimal route to destination node O. That is, the optimal route to transmit the RREP from source node I to destination node O becomes I-L-O. In this case, as source node I and destination node O can exchange route information with each other, destination node O can also know the optimal route to source node I.  
         [0048]     The RREP is a reply to the RREQ. As shown in  FIG. 5B , the RREP includes a route_type, dst_beg_addr, dst_end_addr, src_beg_addr, src_end_addr, hops_traveled, hops_total, cost_accumed, total_cost, and TTL. A description of each of the fields of the RREP is shown in  FIG. 5B .  
         [0049]     Additionally, source node I, which receives the RREQ broadcasted from destination node O, can also find routes to child nodes of destination node O.  
         [0050]     For example, the broadcasted RREQ includes information such as the beg_addr and end_addr of destination node O. Accordingly, source node I can find auxiliary routes to child nodes of destination node O. The auxiliary route is a second best route, instead of the optimal route from a source node to a destination node.  
         [0051]      FIG. 5  is a view describing an exemplary non-tree-table (NTT) written during the route discovery process of  FIG. 3 .  
         [0052]     Referring to  FIG. 5 , each node writes the NTT to record the optimal route and auxiliary route between each node through route discovery using the RREQ and RREP, and the NTT is used for performing a routing operation. Each node searches for the optimal route and auxiliary route by referring to the information in its NTT, and performs the routing operation along the searched route. The beg_addr i  recorded in the NTT is the optimal route of node I, and the auxiliary routes are from beg_addr i +1 to end_addr i .  
         [0053]      FIG. 67  is a flow chart depicting a method of setting a routing route between a source node and a destination node after route discovery according to an exemplary embodiment of the present invention.  
         [0054]     Referring to  FIG. 6 , first the source node determines if an optimal route to the destination node is recorded in its NTT generated upon route discovery (S 610 ).  
         [0055]     That is, the source node determines if the address of the destination node to transmit a packet matches one of a plurality of beg_addr recorded in the NTT of the source node. If the address of the destination node matches one of a plurality of beg_addr recorded in the NTT, the source node determines that an optimal route to the destination node is recorded.  
         [0056]     Subsequently, if an optimal route to the destination node is not recorded in the NTT, the source node determines if an optimal route to the destination node is recorded in the ARTT initially generated upon generating a tree (S 620 ). That is, the source node determines if the address of the destination node matches one of a plurality of beg_addr recorded in the ARTT of the source node. If the address of the destination node matches one of a plurality of beg_addr recorded in the ARTT, the source node determines that an optimal route to the destination node is recorded.  
         [0057]     If an optimal route to the destination node is not recorded in the ARTT, the source node determines if an auxiliary route to the destination node is recorded in the NTT (S 630 ).  
         [0058]     More specifically, if the address of the destination node does not match one of a plurality of beg_addr recorded in the NTT and ARTT of the source node, the source node determines if an auxiliary route to the destination node is recorded in the NTT. That is, the source node determines if the address of the destination node is between beg-addr i +1 recorded in the NTT of the source node and end-addr i . If the address of the destination node is between beg-addr i +1 recorded in the NTT of the source node and end-addr i , the source node determines that an auxiliary route to the destination node is recorded in the NTT.  
         [0059]     If an optimal route or auxiliary route to the destination node is determined in operation S 610 , S 620  or S 630 , the source node transmits the packet through the optimal route or auxiliary route to the destination node (S 640 ).  
         [0060]     In detail, if the source node determines that an optimal route to the destination node is recorded in its NTT in the operation of S 610 , the source node transmits the packet through the optimal route to the destination node. That is, the source node transmits the packet through the address of the next hop corresponding to the beg_addr searched in operation S 610  as the optimal route.  
         [0061]     However, if the source node determines that an optimal route to the destination node is not recorded in its NTT in operation S 610 , the source node determines whether an optimal route to the destination node is recorded in the ARTT as in operation S 630 . If the source node determines that an optimal route to the destination node is recorded in the ARTT, the source node transmits the packet through the optimal route to the destination node.  
         [0062]     Meanwhile, if the source node determines that an optimal route to the destination node is not recorded in the ARTT in operation S 620 , the source node determines whether an auxiliary route to the destination node is recorded in the NTT as in operation S 630 . If an auxiliary route to the destination node is recorded in the NTT, the source node transmits the packet through the auxiliary route to the destination node.  
         [0063]     Next, if the source node determines that neither an optimal nor auxiliary route to the destination node is recorded in the ARTT and NTT, the source node uses a tree route (S 650 ).  
         [0064]     For example, when a packet is transmitted from source node I to destination node O, if neither an optimal nor auxiliary route to destination node O is recorded in the NTT and ARTT of source node I, source node I transmits the packet to destination node O using the tree route (ART/MART) generated when the address is initially allocated. That is, the route is I-H-K-I.  
         [0065]     In operation S 650 , if neither an optimal nor auxiliary route to the destination node is recorded in the ARTT and NTT, the source node performs the route discovery again to record an optimal route to the destination node in the NTT.  
         [0066]     Meanwhile, in a routing method in the wireless network, the process of operations S 610  through S 650  used to set an optimal route between the source node and destination node can be performed in the destination node as well as in the source node.  
         [0067]     More specifically, when the source node performs operations S 610  through S 650 , if the source node does not transmit a packet through an optimal route, the destination node can transmit the packet through an optimal or auxiliary route to the source node by performing operations S 610  through S 650 .  
         [0068]     That is, the destination node determines if an optimal or auxiliary route to the source node is recorded in the NTT and ARTT of the destination node. If an optimal or auxiliary route to the source node is in the tables of the destination node, the packet is transmitted through the searched route to the source node. If an optimal or auxiliary route to the source node is not in the tables of the destination node, the destination node uses either the tree route or the route discovery to transmit the packet from the destination node to the source node, as described in operation S 650 .  
         [0069]      FIGS. 7A and 7B  are views depicting a routing method according to an another exemplary embodiment of the present invention.  FIG. 7A  is a view describing a routing method when a ‘source node’ already knows an optimal route to a ‘destination node’ after route discovery. The case of not knowing an optimal route is that an optimal or auxiliary route to the destination node or the source node is not recorded in the NTT and ARTT.  
         [0070]     First, referring to  FIG. 7A , for example, when a packet is transmitted from source node F to destination node I, source node F determines if an optimal route to destination node I is recorded in its NTT. As an optimal route to destination node I is already recorded in the NTT of source node F generated upon route discovery, the routing route to transmit the packet from source node F is F-G-I.  
         [0071]     More specifically, connection of source node F and destination node I is not tree-based, but source node F can transmit a packet through an optimal route to destination node I using neighbor node G. Node G exchanges information on lower nodes of neighbor nodes F and I with its neighbor nodes F and I. That is, node G provides information on its connection with nodes E and F to node I, and node I provides information on its connection with nodes L and M to node G. Accordingly, source node F can transmit the packet to destination node I along the optimal route F-G-I recorded in the NTT.  
         [0072]      FIG. 7B  is a view describing a routing method when a ‘destination node’ already knows an optimal route to a ‘source node’ after route discovery.  
         [0073]     Referring to  FIG. 7B , for example, when a packet is transmitted from source node F to destination node I, source node F determines if an optimal or auxiliary route to destination node I is recorded in its ARTT and NTT. In the example shown in  FIG. 8B , it is determined that an optimal or auxiliary route to destination node I is not recorded in the ARTT and NTT of source node F. Source node F unicasts an RREQ to destination node I.  
         [0074]     Meanwhile, destination node I which received the RREQ knows an optimal route to source node F. That is, an optimal route to source node F is recorded in the NTT of destination node I. Accordingly, destination node I transmits an RREP through the optimal route to source node F. The routing route to transmit the RREP is I-G-F. Destination node I provides information on the optimal route from destination node I to source node F to source node F. Accordingly, a source node can know an optimal route to a destination node, and the source node can transmit a packet through the optimal route to the destination node.  
         [0075]     That is, if an optimal route to each node is recorded in the NTT or ARTT of the source node or destination node, the destination node provides information on the optimal route to the source node without performing route discovery again, so that the packet can be transmitted through the optimal route.  
         [0076]      FIGS. 8A and 8B  are views describing a recovery process when connection between nodes is broken in the wireless network according to an exemplary embodiment of the present invention.  
         [0077]     Referring to  FIG. 8A , for example, if node K is broken and source node C transmits a packet to destination node M, source node C first transmits the packet to destination node M along the route C-B-J-K-L-M. However, as node K is broken and a connection between node J and node K is broken, destination node M can not receive the packet transmitted from source node C.  
         [0078]     Node J detects that node K is broken, and broadcasts an RREQ to its lower nodes. As node J receives an RREP from its lower nodes, connection between node J and lower nodes of node K is recovered. If node J first receives the RREP from one of node I and node L which are upper nodes of destination node M, connection to destination node M is recovered.  
         [0079]     That is, if node J first receives the RREP from node L of upper nodes I and L of destination node M, node J recovers connection to node L and destination node M. Node L changes and records its parent node from node K to node H in the tree. That is, the parent node of node L becomes newly-connected node H instead of broken node K.  
         [0080]     In addition, if node J receives the RREP from its lower nodes, node J selects as a routing route the node closest to node K among nodes which has transmitted the RREP, and can recover connection to destination node M. That is, if node J receives the RREP from nodes I and L, node J selects as a routing route node L closer to node K, and can recover connection to destination node M.  
         [0081]     Meanwhile, referring to  FIG. 8B , when node J detects that node K is broken, node J receives the RREP only from lower nodes of node K, so that connection to destination node M can be recovered. That is, node J receives the RREP only from node L, a lower node of node K, instead of all the lower nodes of node J, so that connection to destination node M and lower nodes of node K can be recovered.  
         [0082]     While the invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.