Abstract:
A wireless communication network, including a destination node, a first node transmitting a first routing message, wherein the first node has a first routing table including a first entry for the destination node, and the first entry includes a first list field for child node(s). The network further includes a second node generating and transmitting a second routing message according to the first routing message, wherein the second routing message includes a second parent node field, and the second parent node field is marked as the first node that transmitted the first routing message. The first node further receives the second routing message and stores a first mark in the first list field for child node(s) of the first entry after determining that the second parent node field of the second routing message is marked as the first node, and the first mark denotes the second node.

Description:
[0001]    This application claims priority of Taiwan Patent Application No. 97151209, filed on Dec. 29, 2008, the entirety of which is incorporated by reference herein. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The invention relates generally to wireless communication technology, and more particularly, to a wireless communication network and routing method that significantly reduces routing loads. 
         [0004]    2. Description of the Related Art 
         [0005]    For conventional wireless communication systems, routing messages are transmitted among mobile terminals (nodes) through the path arranged by a Destination-Sequenced Distance-Vector (DSDV) algorithm, so that each node may receive routing information with respect to specific destination nodes. To achieve efficient communication for nodes, the DSDV algorithm determines the shortest path to each specific destination node for every node in the network. However, when mobile users of a wireless communication system increase to an extreme level, the DSDV algorithmic calculations required and message flooding may paralyze the wireless communication system. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    The invention discloses a wireless communication network, comprising a first node transmitting a first routing message, wherein the first node has a first routing table comprising a first entry for a destination node, and the first entry comprises a first list field for child node(s). The wireless communication network further comprises a second node generating and transmitting a second routing message according to the first routing message, wherein the second routing message comprises a second parent node field, and the second parent node field is marked as the first node that transmitted the first routing message. The first node further receives the second routing message and stores a first mark in the first list field for child node(s) of the first entry after determining that the second parent node field of the second routing message is marked as the first node, and the first mark denotes the second node that transmitted the second routing message. 
         [0007]    Furthermore, the invention discloses a routing method. The method comprises transmitting a first routing message generated by a first node to a second node, wherein the first node has a first routing table comprising a first entry for a destination node, and the first entry comprises a first list field for child node(s). The method further comprises generating and transmitting a second routing message at the second node according to the first routing message, wherein the second routing message comprises a second parent node field, and the second parent node field is marked as the first node that generated the first routing message. The method further comprises storing a first mark in the first list field for child node(s) of the first entry after determining that the second parent node field of the second routing message is marked as the first node, wherein the first mark denotes the second node that transmitted the second routing message. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: 
           [0009]      FIG. 1A  shows a diagram of a wireless communication network; 
           [0010]      FIG. 1B  shows a routing table of the node MH 4  of the wireless communication network seen in  FIG. 1A ; 
           [0011]      FIG. 2  shows a format of a routing message; 
           [0012]      FIG. 3  shows a tree structure constructed by all nodes having the same destination node, according to an embodiment of the invention; 
           [0013]      FIG. 4A  shows a diagram of a wireless communication network according to an embodiment of the invention; 
           [0014]      FIG. 4B  shows a diagram of a wireless communication network according to another embodiment of the invention; 
           [0015]      FIG. 5  shows an operation flowchart of routing messages under a tree structure according to an embodiment of the invention; 
           [0016]      FIG. 6A  shows an event where a new node G is detected to enter the coverage of the node A; 
           [0017]      FIG. 6B  shows an operation of the node A in response to the detection of a new node G; and 
           [0018]      FIG. 6C  shows an operation of the node G in response to the detection of a new node A. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0019]    The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims. 
         [0020]      FIG. 1A  shows a diagram of a wireless communication network  10 . The wireless communication network  10  may comprise eight nodes MH 1  to MH 8 , wherein routing messages among the eight nodes MH 1  to MH 8  are transmitted by a DSDV mechanism. A routing table is initiated and maintained by each node to specify the routing information with respect to every node in the wireless communication network  10 . For example, a routing table of the node MH 4  is shown in  FIG. 1B . 
         [0021]    In  FIG. 1B , the routing table may comprise eight entries respectively as the eight nodes MH 1  to MH 8 . Each entry may comprise five fields: destination, nexthop, metric, sequence number and install. The destination field represents the destination node for transmitted data. The nexthop field represents the next transient node on the path to a specific destination node. The metric field represents the number of total transient nodes on the path to a specific destination node. The sequence number field represents the freshness for when a routing message is sent so that the most recent routing message is utilized. The install field represents the update time of a routing message. 
         [0022]    For example, if the node MH 1  is a destination node, then the next node from the node MH 4  to the node MH 1  is the node MH 2 . In addition, from the node MH 4  to the node MH 1 , there are two transient nodes MH 2  and MH 1 . Thus, a routing table maintained by each node specifies the routing information with respect to other nodes in the wireless communication network  10 . Note that the “destination” mentioned above refers to the destination terminal for transmitted data, not for the destination of the routing message. The routing message is transmitted in an opposite direction with the transmitted data. A routing message format is shown in  FIG. 2 . 
         [0023]      FIG. 2  shows a format of a routing message. A routing message may comprise four fields: relay, destination, metric and sequence number. The relay field represents a relay node of a routing message. The destination field represents a destination node that initializes a routing message. As for the metric and sequence number fields, they are the same as previously described for the routing table. For example, assume three nodes A, B and C in a wireless communication network, with node A being the destination node. In this case, when the destination node A starts and transmits an initial routing message to the node B, the destination node A fills the relay field of the initial routing message as the node A, the destination field as the node A, the metric field as 0, and the sequence number field as the current number plus 2. Upon reception of the initial routing message, the node B updates its routing table based on the filled contents and generates and transmits a corresponding routing message to the node C. In the routing message generated by the node B, the relay field is filled as the node B, the destination field as the node A, the metric field as 1, and the sequence number field remains the same. Thus, each node maintains its own routing table according to the received routing message, and further generates a routing message and passes the generated routing message on until the initial routing message started by the node A reaches all nodes within the network. 
         [0024]    Based on the current routing structure, the invention constructs all nodes having the same destination node as a tree structure. As a result, the root node of the tree will be the destination node, and other nodes with the root as a destination node will be the branch nodes of the tree, as shown in  FIG. 3 . 
         [0025]    In  FIG. 3 , a tree structure constructed by all nodes having the same destination node is shown.  FIG. 3  also shows the destination node A entries for all nodes. Herein, parent and child node(s) for individual nodes are recorded. Under the tree structure shown in  FIG. 3 , the node D is an intermediate node since it has nodes E and F as its child nodes. The nodes B, C, E and F are edge nodes since their list fields for child node(s) are empty. 
         [0026]      FIG. 4A  shows a diagram of a wireless communication network  20  according to another embodiment of the invention. In  FIG. 4A , four nodes A, B, C and D are shown. The node D is the destination node. Herein, parent and child node(s) for individual nodes are recorded. First, the destination node D broadcasts an initial routing message. In the initial routing message, the relay field is marked as the destination node D, the destination field as the destination node D, the metric field as 0, the sequence number field as the current destination node D sequence number plus 2, and the parent field appears empty (not marked). During the broadcast of the initial routing message, all nodes within the coverage of the destination node D may receive the initial routing message, including the node A. 
         [0027]    Upon reception of the initial routing message, the node A firstly identifies the destination node according to the destination field of the initial routing message, which is the node D in this embodiment. Next, the node A determines whether an entry with the node D destination already exists in its own routing table. If so, the entry is updated according to the received initial routing message. If not, an entry with the node D destination is created in its routing table. The created entry may comprise six fields: destination, nexthop, metric, sequence number, install, and child node list. After the new entry is created, the node A marks the nexthop field of the new entry as the node D that transmitted the initial routing message, the metric field of the new entry as the metric recorded in the initial routing message (0, currently) plus 1, the sequence number field of the new entry as the sequence number recorded in the initial routing message, and the install field of the new entry as the current system time of the node A. The list field for child node(s) still remains empty, as no child node is recorded as being corresponded to the node A. 
         [0028]    After the entry is updated, a routing message is generated from node A. The relay field of the routing message is marked as the node A, the destination field as the destination node D, the metric field as 1, the sequence number field as the same sequence number recorded in the entry of node D in the routing table, and the parent field as the destination node D that transmitted the initial routing message to the node A. Afterwards, the generated routing message is broadcast by the node A, and the nodes D and B may receive the routing message since they are both within the coverage of the node A. When the destination node D receives the routing message, the node D identifies the parent field of the routing message and determines that the destination node D itself has been regarded by the node A as its parent node. Therefore, the node D marks the list field for child node(s) of the entry with the node D destination as the node A. As a result, a parent-child relationship tree between the destination node D and the node A is created. As described above, the node B may also receive the routing message issued by the node A and update its routing table entry with the node D destination according to the received routing message. Note the metric value increases by 1 as the routing message is transmitted to a subsequent node. 
         [0029]    According to the above description, the destination node D is the root node and also the parent node of the node A, and the node A is the parent node of the node B. However, the parent-child relationship may change as the nodes move around the network. For example, assume that a new node C enters the coverage of the destination node D and becomes the child node of the destination node D, with the node A still being the parent node of the node B. In this case, the destination node D will need to broadcast its routing message again since its connection to the neighboring nodes has changed (or since the exceeding of a certain time period). Upon reception of the routing message issued by the destination node D, the node C transmits the routing message to all nodes within its coverage. In this regard, for (1) the node B is within the coverage of the node C and has lost its communication with the node A, or (2) the node B is within the coverage of the node C and also remains communication with the node A, but due to some reasons, the routing message relayed by the node C arrives the node B earlier than the routing message relayed by the node A, in both cases the node B would immediately update its routing table according to the received routing message from the node C and transmit the routing message again. During the broadcast, the parent node field of the routing message is modified as the current node C rather than the previous node A. Thus, when the node A receives the routing message broadcast by the node B, the node A identifies the parent node field of the routing message and determines that the node A itself is not regarded by the node B as its parent node anymore, thereby removing the node B from the list field for child node(s) of its routing table node D entry. Similarly, when the node C receives the routing message broadcast by the node B, the node C identifies the parent node field of the routing message and determines that the node C itself is regarded by the node B as its parent node, thereby marking the node B into the list field for child node(s) of its routing table node D entry. Consequently, the nodes D, C and B form a new parent-child relationship tree structure, as shown in  FIG. 4B . 
         [0030]    Referring to  FIG. 4B , based on the connection status among the nodes D, C and B, assume that the node B is out of reach. Thus, the node C will retrieve each entry from its routing table. If the retrieved entry is the one with the node B destination, the list field for child node(s) of the entry is completely cleared. If the retrieved entry is the one with the list field for child node(s) comprising the node B, then the node B is removed from the field. 
         [0031]      FIG. 5  shows an operation flowchart of routing messages under a tree structure according to an embodiment of the invention. First, assume that the node A receives a node D routing message from the node B, the node A firstly determines whether an entry for the node D destination exists in its routing table (step S 50 ). If not, an entry for the node D destination is created, and a routing message is generated by the node A and the routing message is further transmitted to downstream nodes (step S 51 ). If so, the procedure continues. In the next step, the node A determines whether the sequence number recorded in the routing message received from the node B is smaller than the one recorded in the entry (step S 52 ). If so, the routing message is old (i.e. the routing message is not the latest one), so it is discarded (step S 53 ). If not, the routing message is not old, so the procedure continues. In the next step, the node A determines whether the metric recorded in the routing message received from the node B is smaller than the one recorded in the entry (step S 54 ). If so, there exists a shorter path to the destination node D, so the node A updates the routing information contained in the entry, generates a corresponding routing message and transmits the routing message to downstream nodes (step S 55 ). If not, no shorter path to the destination node D exists, so the procedure continues. In the next step, the node A determines whether the sequence number recorded in the routing message received from the node B is equal to the one recorded in the entry (step S 56 ). If so, the node A has already received the routing message with the same sequence number from other nodes other than the node B, and no shorter path to the destination node D exists, so the procedure goes back to step S 53 , discarding the routing message. If not, the procedure continues. In the next step, the freshest routing message doesn&#39;t provide a shorter path, so the node A determines whether the node A itself is an intermediate node according to the list field for child node(s) of the entry (step S 57 ). If so, it indicates that there is a downstream child node(s) which requires the node A to transmit updated routing messages. Thus, the node A updates the routing information of the entry, generates a corresponding routing message and transmits the routing message to the following nodes (step S 55 ). If not, the procedure continues. In the next step, the node A is an edge node and the received freshest routing message doesn&#39;t provide a shorter path, so the node A determines whether the relay recorded in the routing message received from the node B is the same as the nexthop recorded in the entry (step S 58 ). If so, the node A continues its parent-child relationship with the node B, so the node A only needs to update the routing information contained in the entry, rather than transmit the routing message to the following nodes (step S 59 ). If not, the node A now regards the node B as its new parent node, so the node A not only updates the routing information contained in the entry but also transmits the routing message on (step S 55 ). The transmission of the routing message is to inform previous and current parent nodes of the node A to simultaneously update their list fields for child node(s) of the destination node entry. 
         [0032]    Referring to  FIG. 6A , with the same tree structure shown in  FIG. 3 , assume that a new node G is detected to enter the coverage of the node A. Thus, when a new node is found by the node A, the node A adds 2 to a current sequence number and broadcasts a routing message, as shown in  FIG. 6B . In  FIG. 6B , when a routing message is issued by the node A, only the intermediate node D and the new node G are required to transmit the routing message. In other words, the other edge nodes B, C, E and F are not required to do so. By the time the node A routing message reaches all nodes within the network and each node is triggered by the routing message to update their individual routing table entries with the node A destination, all paths towards the destination node A within the network will be re-converged as a new tree structure with the node A being the root node. As a result, the root node A has child nodes B, C, D and G. The node D has child nodes E and F, so the node D is an intermediate node. Other nodes B, C, E, F and G are edge nodes. In addition, when the node A broadcasts its routing message, from the node G, a new node A is found to enter its coverage. In response to the event, the node G adds 2 to a current sequence number and broadcasts a routing message again, as shown in  FIG. 6C . In  FIG. 6C , when the node G broadcasts its routing message, other nodes within the network are required to transmit the routing message since the node G is a new node. By the time the node G routing message reaches all nodes within the network and each node is triggered by the routing message to create individual routing table entries with the node G destination, all paths towards the destination node G within the network will be converged as a tree structure with the node G being the root node. As a result, the root node G has a child node A. The node A has child nodes B, C and D, so the node A is an intermediate node. The node D has child nodes E and F, so the node D is also an intermediate node. Other nodes B, C, E and F are edge nodes. 
         [0033]    Note that only the intermediate node(s) under the tree structure is required to transmit the routing message when the network topology changes. In comparison with the traditional DSDV algorithm where every node is required to transmit the routing message in an event of network topology change, the invention significantly reduces the transmission of routing messages; especially for a network having many nodes. 
         [0034]    While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.