The application be that November 9, application number in 2005 are 200580052021.7 the applying date, denomination of invention divides an application for the application for a patent for invention of " Route Selection in wireless network ".
Embodiment
When source node/grid point wished data packets/frames is sent to certain destination node, it checked route in its routing table.If there is effective routing, it is sent to down hop (hop) in the routing table appointment that is used for this destination node with described packet/frame.If there is no effective routing, source node starts route discovery by Flood routing request (RREQ) message on wireless mesh/self-organizing network.Described data packets/frames can be in this node/initiated by this node, if perhaps this node is WAP (wireless access point), described data packets/frames can be risen in the station (station) that is associated with this node.The route/path that source node need to be found to a plurality of destinations node is possible.Source node can scatter RREQ to each destination, perhaps, in order to reduce routing cost, utilizes the single RREQ message with the list that wherein comprises a plurality of destinations node address that network is flooded.
Fig. 1 is example RREQ message format, and other form is possible.RREQ message comprises for example initiation/source node address, promoter's sequence number, destination node address and destination sequence number (the perhaps list of destination number and destination-address and sequence number thereof), RREQ ID, message id, message-length, useful life (TTL), hop count, routing metric, sign and out of Memory.Except sign " only destination " (' D ') and " unconditional RREP " (' G '), also be included in here in RREQ message and be called as new sign that " the middle answer " (IR) indicates.Carry ' D ' and ' G ' sign as the legacy of traditional AODV.Source node does not arrange/uses this two signs, and intermediate node and destination node are ignored this two signs.An alternative embodiment is that RREQ message does not comprise ' D ' and ' G ' sign.If RREQ message is carried the list of destination-address, a plurality of " the middle answer " sign is included in RREQ message, each indicates corresponding to a destination-address.When source node wished to be found to the route of one or more destination-address, it arranged one or more " middle answers " corresponding with described one or more destination-address (IR) sign.It should be noted that: described one or more destinations node address can be one or more Internet Protocols (IP) address or one or more the 2nd layer (media interviews control-MAC) address.For the change that adapts to network state and keep best metric route between (maintain) node, each movable source node can randomly utilize the periodicity RREQ message (keeping RREQ) of going to (for) its one or more destination-address of communicating by letter just with it that wireless mesh/self-organizing network is flooded." IR " sign of keeping in RREQ is not set.Intermediate node and destination node are followed and are used for processing this in the regular identical rule of finding the non-RREQ of keeping of phase process and keep RREQ.
This shows, the non-RREQ of the keeping message in wireless mesh/self-organizing network makes at intermediate node and destination Nodes with the distribution of keeping RREQ message and sets up/be updated to promoter's's (source node) of RREQ reverse route.The distribution of the non-RREQ of keeping message has also triggered from the RREP message of destination node and may be from the RREP message of intermediate node.The distribution of keeping RREQ message has triggered the RREP message from the destination node.
When intermediate node or destination node receive RREQ message, it is created to the reverse route of source node, if perhaps RREQ message is through providing the route/path of better measuring than the current reverse route to source node, it upgrades its current reverse route.It should be noted that: each node can receive a plurality of copies (initiated and had an identical RREQ ID by identical source node) of identical RREQ message, and each RREQ message passes from source node to reception/centre/the different paths of destination node.If create or revise reverse path or this is RREQ message " first authentic copy ", forwarding (again flooding) this RREQ message.Use " first authentic copy " to represent that this copy of this RREQ message is that this receptions/centre/source node receives or sees the first authentic copy of this specific RREQ message that originator address and RREQ ID by this specific RREQ message identify or for the first time here.When intermediate node forwards RREQ message, upgrade the metrics field in this RREQ message, so that the cumulative metric of the route of the source node of reflection from intermediate node to this RREQ.In addition, have to the active path of this destination node if be provided with " IR " sign and the intermediate node of the destination node in the destination node listing of the RREQ message that receives, intermediate node is answered RREP message with route and is responded this RREQ message.This route answer message is sent to source node in clean culture, and is established to the forward path of destination node.Then, source node can send to the destination node with this route with data frames/packets immediately.If intermediate node responds RREQ message with the RREP message of the destination node that is used for RREQ destination node listing, before its RREQ message after utilizing renewal floods again to network, " IR " sign that is used for this destination node in the RREQ message of resetting/remove.The reason of replacement " IR " sign is any RREP message of forbidding from downstream intermediary nodes after sending RREP message.The route of only passing along the RREQ message that is flooded by this, have to the first intermediate node of the effective routing of destination node and answer with the RREP message that is used for this destination node.Be reset/remove if be used for " IR " sign of destination in RREQ message, even intermediate node has to the effective routing of destination node, it should not respond with RREP message yet.
After creating/set up or be updated to the reverse route of source node, the destination node sends it back source node with clean culture RREP message.When receiving this RREP message, intermediate node is created to the forward route of described one or more destinations node, and forwards this RREP message to source node.When source node received this RREP message, it was created to the forward route of destination node.Have if the destination node receives another RREQ message of better measuring, this destination node is this new route with its routing update to source node, and the route after upgrading sends it back source node with new RREP message.This new RREP message is in intermediate node and final better (after renewal) forward route of setting up in source node from source node to the destination node.In case set up this better forward route, source node just sends data with it.Finally, set up two-way, the best end-to-end route of measuring between source node and destination node.Use the method, source node can obtain fast to utilize that the RREP message of answering to the intermediate node of the effective routing of destination node is set up by having, to the route of destination node.If this route is not the end-to-end route of measuring of the best between source node and destination node, be described best route subsequently with this routing update.
Referring now to Fig. 2, Fig. 2 shows to utilize route requests (RREQ) message that wireless mesh/self-organizing network is flooded and have to the intermediate node B of the effective routing of destination node E and utilizes RREP message to respond this RREQ message.Consider the try to find out example of route of destination node E of source node A.Source node A floods in wireless mesh/self-organizing network and is provided with route requests (RREQ) message of " IR " sign.Suppose that intermediate node B has had to the effective routing B-C-D-E of destination node E.When intermediate node B received RREQ, it was created to the reverse route that it therefrom receives the source node of down hop (source node A) described RREQ, the reverse route/path of conduct.Intermediate node B responds this RREQ with clean culture RREP, and this is to indicate because it has to the effective routing of destination E and " IR " that is provided with in RREQ.This RREP is established to the forward route of destination node E in source node A.Source node A one is used to be created to from the RREP of intermediate node B the route/path of destination node E, and source node A just can begin via route A-B-C-D-E, data packets/frames to be sent to destination node E." IR " sign in intermediate node B replacement RREQ message, and further forward this RREQ message.The reason of " IR " sign reset is will be with response limits that RREQ is flooded for only to have to the first intermediate node of the active path of destination node.Other intermediate node in downstream (for example C and D) need to not answered this RREQ with RREP, because " IR " sign is not set.Suppose that intermediate node F, G and H do not have to the effective routing of destination node E.When intermediate node F, G and H received the RREQ message that floods, they were created to the reverse route of source node A, and each in wherein said intermediate node F, G and H therefrom receives the node of RREQ as the down hop of this reverse route.Then, each in intermediate node F, G and H further forwards this RREQ message.
In this example, destination node E receives two copies of this RREQ, and each copy passes different paths: A-B-C-D-E, A-F-G-H-E.Suppose these two RREQ in the following order A-B-C-D-E then A-F-F-G-E arrive destination node E, destination node E one receives along the RREQ of route/path A-B-C-D-E, and at first destination node E just creates by intermediate node D the route to source node A.At this moment, set up the reverse route of source node A in intermediate node B, C and D.Destination node E sends RREP along route E-D-C-B-A.This RREP refreshes route A-B-C-D-E just.If there are one or more any other destination nodes in the RREQ communication identifier list, node I for example, node E in destination ownly removes it from communication identifier list, then this RREQ is further forwarded (for example, continuing to be forwarded to node I).If do not have one or more other destination nodes in the communication identifier list of RREQ, do not forward this RREQ.
Referring now to Fig. 3, Fig. 3 illustrates wireless local area mesh networks, this wireless local area mesh networks shows destination node E and answer RREP (1) when receiving RREQ by A-B-C-D-E, and sends new RREP (2) in order to set up better forward route/path after receiving RREQ by A-F-G-H-E.When destination node E received the RREQ that arrives along A-F-G-H-E, destination node E determined that this RREQ is along having than interim forward route/path A-B-C-D-E better to the path of the measuring arrival of A.Therefore, destination node E revises/is updated to intermediate node H with down hop from intermediate node D, and upgrades described measuring.Then, destination node E sends it back source node A with clean culture RREP by intermediate node H, and if exist one or more other destination nodes to upgrade in the RREQ communication identifier list and forward RREQ.Described RREP sets up the route to source node A via intermediate node H, G and F.When source node A receives this RREP, it will be gone to the down hop of destination node E and revise/be updated to intermediate node F from intermediate node B.Route to destination node E is changed to A-F-G-H-E.
Referring now to Fig. 4, Fig. 4 is the flow chart for the treatment of RREQ message.When node received RREQ message, 410, at first it created/set up or be updated to where necessary the reverse route that this node therefrom receives the previous dive of described RREQ message.Then, this intermediate node/receiving node can following establishment or is updated to the promoter's of this RREQ reverse route.If do not exist in routing table or invalid in the 415 and 420 reverse routes to the promoter of RREQ message, create or upgrade this reverse route.Down hop in the routing table of the reverse route that is used for going to the RREQ promoter becomes previous dive (therefrom receiving the node of described RREQ message).If there is RREQ promoter's effectively oppositely route, 425, with the source sequence number in RREQ message and the routing table that is used for reverse route the sequence number of route entry compare.If the sequence number in RREQ message is older, 445, abandons it and be not further processed.Otherwise, if newly measure better to measuring of promoter's current route than in routing table 430, be modified to promoter's current reverse route.Described newly measuring is defined as measuring in RREQ message and adds at described node and therefrom receive the node of this RREQ message and the link metric between described node self.If described newly measure better unlike measuring of the current reverse route in routing table entry, but the source sequence number in 435RREQ is than the sequence number larger (newly) of the routing table that is used for described reverse route, 450, intermediate node checks whether described grid network is supported to lag behind and the optional treatment function of optimal candidate route cache.If do not support the processing capacity that these are optional, 455, be updated to RREQ promoter's reverse route.When creating or revising reverse route, be set to source sequence number in RREQ message for the sequence number of the routing table of this reverse route, down hop becomes the node that therefrom receives RREQ message, to measure and be set to describedly newly measure, and hop count is set to than the hop count in RREQ message large 1.
If created or revised 420 and 440 the reverse route that arrives source node, the perhaps described RREQ message first authentic copy (do not see from the source in the past and be this RREQ ID) that is new RREQ message, 475, carry out RREQ forwarding described here and RREP and produce routine.When node is carried out RREQ forwarding described here and RREP generation routine, may there be other situation.For example, in certain optimal candidate route cache method, during candidate's route cache, can be with the RREQ message stores in having the waiting list of timer., carry out described RREQ forwarding and RREP and produce routine to constantly when the waiting list timer.
Source node can send periodically keeps RREQ message, in order to refresh its movable forward and reverse route.The source send keep RREQ message be called as each time a route refresh bout.Had that but to receive the sequence number with renewal have to the RREQ message of the more residual quantity degree route of source node before receiving RREQ message by current best metric route to the node of the optimal reverse route of source node be possible.In addition, during flooding, may lose along the copy of the RREQ message of current best metric route propagation.These events can cause route fluctuation (flapping).In order to reduce the route fluctuation and select best route during each route refresh bout, can use a kind of hysteresis and optimal candidate route cache mechanism.If realized described hysteresis and optimal candidate route cache option at 460 definite grid networks, if the source sequence number in RREQ message is than the value of the sequence number in routing table entry large (newly) greater than threshold value, intermediate node upgrades routing table and revises reverse route.Otherwise, in 465, can be that potential candidate replaces route with this reverse route cache.
If this node is learnt variation and become poorer than the reverse route of candidate of current reverse route subsequently, it can change into candidate's route of before having learnt in refreshing bout identical.The invention describes a kind of for not causing the method and system of large route discovery delay/stand-by period in wireless mesh network repeating RREQ message and generation RREP message in order to find best route.Method of the present invention is in the situation that have or do not have and lag behind and optimal candidate/replacement route cache is worked.
Referring now to Fig. 5, Fig. 5 is the flow chart that RREQ forwarding of the present invention and RREP production method are shown, 505, it is the destination node for node determination, that is, one or more addresses (self_addr) of this node whether with the communication identifier list of RREQ message in the destination-address rreq.dest that asks coupling.It should be noted that: node self can have a plurality of addresses or it can be the agency of other node.For example, node can be access point, and the succession station (legacy station) that representative is associated with it produces/management route messages (wherein it is the agency at described station).Be used for the functional similar to the situation when node has a plurality of address of this situation.The destination-address at the station that is associated can be used as another name (alias) address of access point treats.If one or more addresses of appointment belong to node or use node as one of node of acting on behalf of in RREQ message communication identifier list, this node is the destination node.When to receive destination node wherein be RREQ message by the destination node of its agency's node, it should process this RREQ message when node, was its address during as the destination node address.In addition, node can be the destination node of the address of asking in RREQ message communication identifier list, or the intermediate node of another address of asking in RREQ message communication identifier list.
If the coupling of the destination-address of asking in the communication identifier list of one or more addresses of this node and RREQ message, 510, this node produces clean culture RREP message, and this clean culture RREP message is sent to the promoter of the RREQ message of the destination-address of going to these couplings.515, the destination node remove from RREQ message communication identifier list its oneself/one or more addresses of agency.After this, if there is no remaining address of asking in RREQ message communication identifier list 520, abandon this RREQ message 525.If this node be not any request in RREQ message communication identifier list the address destination node (505) or have the destination-address of other request except this address of node in RREQ message communication identifier list, namely, this node is the intermediate node of the one or more addresses in RREQ message communication identifier list, the address space left in the following inspection of this node RREQ message communication identifier list.Suppose rreq.dest[i] represent (i+1) the individual address in RREQ message communication identifier list.This node 545 with index (for example i) initialization, and check rreq.dest[i 550] be that the first address in RREQ message communication identifier list exists by rreq.dest[i determining whether] the forward route of the activity of the destination node of representative.If intermediate node have to the active ways of destination by, to the route of destination node be effectively (555), described sequence number at least with at the sequence number the same large (560) of former RREQ message indicating and be provided with " middle answer (IR) " sign (570), 575, intermediate node produces the RREP message of the destination-address that is used for this request, and the RREP message that produces is sent to the promoter of RREQ message in clean culture along current reverse route.580, " IR " sign of the destination that is used for this request in replacement RREQ message.590, this node increases described index (for example, increasing 1) and checks whether there is any other address in RREQ message communication identifier list.If there is any other address in RREQ message communication identifier list, 550, the execution of above-mentioned circulation repeats beginning.That is to say, if need to send RREP message for the destination of next one request, repeat described circulation.Repeat described circulation, until checked all addresses in RREQ message communication identifier list.
530, check the RREQ message of original input, to determine that whether useful life (TTL) value is greater than 1.If ttl value is greater than 1, the information in 535 upgrade former RREQ message comprises that ttl value in will the RREQ message of output for example reduces 1.535, also source sequence number, measure with hop count and be set to corresponding informance for the route entry after the renewal in described source.540, forward the RREQ message after upgrading.
Attention: the destination node can have/act on behalf of one or more addresses, and intermediate node can have the one or more effective routings to one or more destination-address.RREQ message can be carried one or more destination-address in its destination-address list.Processing/centre/destination node can satisfy above condition, and sends the RREP message of a plurality of addresses of asking that are used for RREQ message communication identifier list.If node sends the RREP message that is used for a plurality of destinations, it can send a plurality of RREP message, one of each destination RREP message, and perhaps it can be sent in the RREP message of the single polymerization that has a plurality of destination-address in address list.
Fig. 6 is the block diagram of the details of diagram node 600 of the present invention.This node comprises link-quality and load measurement module 605, routing metric computing module 610, routing selecting module 615 and communication module 620.Link-quality and load measurement module 605 measure quality and the load of its each neighbours' link/channel.It offers routing metric computing module 610 with this measurement result, makes routing metric computing module 610 can determine its each neighbours' link cost/tolerance.Attention: node can have a plurality of neighbours, a plurality of radio interface and a plurality of physical/logical channels/links.They all need to be measured.The measurement that routing metric computing module 610 use link-qualities and the load measurement module of each node carried out and out of Memory calculate the routing metric of each node that it communicates by letter with it.This routing metric is updated periodically.Routing selecting module 615 is determined/selects to be used for data retransmission/the be sent to route/path of destination node based on the routing metric that calculates.Routing selecting module 615 via communication module 620 with grid network in other node switching route control message and data.It should be noted that: node can have one or more radio communications interface and other communication interface.Be to be understood that: routing selecting module in fact can by some less unit form or can with other module combinations described here.It should also be understood that: (especially for Fig. 3 and Fig. 4) processing of describing here can be software, hardware, firmware or their any combination of carrying out in routing selecting module or by routing selecting module.
Be to be understood that: can with the various forms of hardware, software, firmware, application specific processor or their combination, for example realize the present invention in mobile terminal, access point or cellular network.Preferably, the combination as hardware and software realizes the present invention.In addition, realize described software preferably as the application program that visibly is included on program storage device.Described application program can be uploaded to the machine that comprises any suitable framework and by its execution.Preferably, can realize described machine on the computer platform that has such as the hardware of one or more CPU (CPU), random access memory (RAM) and one or more I/O (I/O) interface.This computer platform also comprises operating system and micro-instruction code.Various processing described here and function can be via the part of the described micro-instruction code of operating system execution or the part (perhaps their combination) of described application program.In addition, various other ancillary equipment can be connected to described computer platform, for example extra data storage device and printing device.
It should also be understood that: because some in composition system component illustrated in the accompanying drawings and method step preferably realize with software, so the actual connection between these system components (or treatment step) may be according to the present invention by the mode of layout and difference.After providing the instruction here, those of ordinary skills can expect of the present invention these and similarly realize or configuration.