# Patent

## Title
System and method for identifying potential hidden node problems in multi-hop wireless ad-hoc networks for the purpose of avoiding such potentially problem nodes in route selection

## Abstract

A system and method for identifying potential hidden node problems in a multi-hop wireless ad-hoc communication network, such as an 802.11 network. The system and method evaluates the relationship between the neighbors of each respective node to identify nodes of a wireless ad-hoc communication network whose capabilities of receiving data packets can be adversely affected by hidden node problems in order to avoid selecting paths containing those potentially problem nodes for routing data packets. Specifically, for each node, the system and method generates a node metric identifying the relationship between the neighbors of a node. Each node can then transmit its respective metric with its routing advertisement data, so that other nodes can assess the degree of potential hidden node problem that may be experienced by that node, and can choose to avoid using that potentially problem node for routing data packets to other nodes.

## Background
This application claims benefit under 35 U.S.C. §119(e) from U.S. provisional patent application Ser. No. 60/371,718 entitled “A System And Method For Identifying Potential Hidden Node Problems in Multi-Hop Wireless Ad-Hoc Networks For The Purpose Of Avoiding Such Potentially Problem Nodes In Route Selection”, filed Apr. 12, 2002, the entire contents of which is incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a system and method for identifying potential hidden node problems in a multi-hop wireless ad-hoc communication network, such as an 802.11 network. More particularly, the present invention relates to a system and method for identifying nodes of a wireless ad-hoc communication network whose capabilities of receiving data packets can be adversely affected by hidden node problems, in order to avoid selecting paths containing those potentially problem nodes for routing data packets.
2. Description of the Related Art
In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed. In this type of network, each user terminal (hereinafter “mobile node”) is capable of operating as a base station or router for the other mobile nodes, thus eliminating the need for a fixed infrastructure of base stations. Accordingly, data packets being sent from a source mobile node to a destination mobile node are typically routed through a number of intermediate mobile nodes before reaching the destination mobile node.
More sophisticated ad-hoc networks are also being developed which, in addition to enabling mobile nodes to communicate with each other as in a conventional ad-hoc network, further enable the mobile nodes to access a fixed network and thus communicate with other types of user terminals, such as those on the public switched telephone network (PSTN) and on other networks such as the Internet. Details of these types of ad-hoc networks are described in U.S. patent application Ser. No. 09/897,790 entitled “Ad Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networks”, filed on Jun. 29, 2001, in U.S. patent application Ser. No. 09/815,157 entitled “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel,” filed on Mar. 22, 2001, now U.S. Pat. No. 6,807,165, and in U.S. patent application Ser. No. 09/815,164 entitled “Prioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access System”, filed on Mar. 22, 2001, now U.S. Pat. No. 6,873,839 the entire content of each of said patent applications being incorporated herein by reference.
As can be appreciated by one skilled in the art, when a node sends packetized data to a destination node, the node typically checks its routing table to determine whether the destination node is contained in its routing table. If the destination node is contained in the node's routing table, the data is transmitted via a path that leads to the destination node. If the destination node is not listed in the node's routing table, then the packet is sent to one or more other nodes listed in the node's routing table, and those other nodes determine if the destination table is listed in their routing tables. The process continues until the data packet eventually reaches the destination node.
As can further be appreciated by one skilled in the art, the “hidden node” problem is a classic problem for Medium Access Protocols (MACs) in these types of ad-hoc networks. The problem occurs when two radios (nodes) are transmitting outside the effective communication range of each other, but both are within the effective communication range of an intermediate node that is also participating in the network. If both of the two radios in the network attempt to communicate with the intermediate node at or near the same time, their signals can collide and/or cause packet corruption at the intermediate node which is the intended receiver. In this case, the two extremal nodes are “hidden” from each other.
The hidden node problem therefore reduces successful packet delivery at the intermediate node. Also, the more hidden nodes there are around the intermediate node, the more severe the packet corruption can be.
Accordingly, a need exists for a system and method for effectively and efficiently identifying nodes experiencing hidden node problems in a wireless ad-hoc communication network, so that routing through those nodes can be avoided if possible.
SUMMARY OF THE INVENTION
An object of the present invention is to provide a system and method for effectively and efficiently identifying nodes experiencing hidden node problems in a wireless ad-hoc communication network.
Another object of the present invention is to provide a system and method for locating and evaluating multiple neighbor node sets for each node, and calculating a degree of hidden nodes present at each node.
Still another object of the present invention is to provide a system and method for communicating a degree of hidden nodes present at each node as a routing advertisement for use in transmission route selection.
Still another object of the present invention is to provide a system and method for calculating at least one transmission route through a network avoiding nodes which advertise a high degree of hidden nodes present.
These and other objects of the present invention are substantially achieved by providing a system and method for identifying potential hidden node problems in a multi-hop wireless ad-hoc communication network, such as an 802.11 network. The system and method evaluates the relationship between the neighbors of each respective node to identify nodes of a wireless ad-hoc communication network whose capabilities of receiving data packets can be adversely affected by hidden node problems, in order to avoid selecting paths containing those potentially problem nodes for routing data packets.
Specifically, for each node, the system and method generates a node metric identifying the relationship between the neighbors of a node. A first neighbor node set is calculated for a node of interest, and thereafter, a neighbor node set is then calculated for each node included in the first neighbor node set. Nodes present in the first neighbor node set, but not present in each subsequent neighbor node sets, respectively, are included in a set of potentially hidden nodes about the node of interest. This value can be communicated with other nodes as a metric in a routing advertisement, so that other nodes can assess the degree of potential hidden node problems that may be experienced by that node, and can choose to avoid using that potentially problem node for routing data packets to other nodes.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects, advantages and novel features of the invention will be more readily appreciated from the following detailed description when read in conjunction with the accompanying drawings, in which:
FIG. 1 is a conceptual block diagram of an example of an ad-hoc wireless communications network employing a system and method for identifying the degree of hidden node problems that may be experienced by the respective nodes in the network according to an embodiment of the present invention;
FIG. 2 is a block diagram illustrating an example of components of a node employed in the network shown in FIG. 1;
FIG. 3 is a conceptual diagram depicting an example of the relationship between a node and its neighboring nodes in the network shown in FIG. 1 to demonstrate an example of the technique for evaluating the degree of potential hidden node problem that may be experienced by that node according to an embodiment of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 is a block diagram illustrating an example of an ad-hoc packet-switched wireless communications network 100 employing an embodiment of the present invention. Specifically, the network 100 includes a plurality of mobile wireless user terminals 102-1 through 102-n (referred to generally as nodes or mobile nodes 102), and a fixed network 104 having a plurality of access points 106-1, 106-2, . . . 106-n (referred to generally as nodes or access points 106), for providing the nodes 102 with access to the fixed network 104. The fixed network 104 includes, for example, a core local access network (LAN), and a plurality of servers and gateway routers, to thus provide the nodes 102 with access to other networks, such as other ad-hoc networks, the public switched telephone network (PSTN) and the Internet. The network 100 further includes a plurality of fixed routers 107-1 through 107-n (referred to generally as nodes or fixed routers 107) for routing data packets between other nodes 102, 106 or 107.
As can be appreciated by one skilled in the art, the nodes 102,106 and 107 are capable of communicating with each other directly, or via one or more other nodes 102, 106 or 107 operating as a router or routers for data packets being sent between nodes 102, as described in U.S. Pat. No. 5,943,322 to Mayor, which is incorporated herein by reference, and in U.S. patent application Ser. Nos. 09/897,790, 09/815,157, now U.S. Pat. No. 6,807,165; and Ser. No. 09/815,164, now U.S. Pat. No. 6,873,839: referenced above. Specifically, as shown in FIG. 2, each node 102, 106 and 107 includes a transceiver 108 which is coupled to an antenna 110 and is capable of receiving and transmitting signals, such as packetized data signals, to and from the node 102, 106 or 107, under the control of a controller 112. The packetized data signals can include, for example, voice, data or multimedia.
Each node 102, 106 and 107 further includes a memory 114, such as a random access memory (RAM), that is capable of storing, among other things, routing information pertaining to itself and other nodes 102, 106 or 107 in the network 100. In addition, certain nodes, especially nodes 102, can include a subscriber device host (not shown), which can consist of any number of devices, such as a notebook computer terminal, mobile telephone unit, mobile data unit, personal computer (PC), personal data assistant (PDA), or any other suitable device.
In addition to, voice, data and multimedia packetized data signals, the nodes 102, 106 and 107 exchange respective routing information, referred to as routing advertisements or routing table information, with each other via a broadcasting mechanism periodically, for example, when a new node 102 enters the network 100, or when existing nodes 102 in the network 100 move. A node 102, 106 or 107 will broadcast it's routing table updates, and nearby nodes 102, 106 or 107 will only receive the broadcast routing table updates if within broadcast range (e.g., radio frequency (RF) range) of the broadcasting node 102, 106 or 107. For example, assuming that nodes 102-1 and 102-6 are within the RF broadcast range of node 102-3, when node 102-3 broadcasts routing table information, the current table information is received and filed by both nodes 102-1 and 102-6. However, if nodes 102-2, 102-4 and 102-5 are beyond the broadcast range of node 102-3, these nodes will not receive the current table information broadcast.
Each node 102, 106 or 107 in the network 100 can also experience the hidden node problem as discussed in the Background section above. As will now be discussed with regard to FIG. 3, an embodiment of the present invention provides a technique for identifying the degree of the potential hidden node problem that can be experienced by a node 102, 106 or 107, such that other nodes 102, 106 and 107 can avoid including such nodes in selected routing paths for routing data packets through the network 100.
According to an embodiment of the present invention, the wireless ad-hoc network 100 may use certain metrics to avoid degenerate areas of the network demonstrating decreased performance. Optimally, a multi-hop ad-hoc routing network 100 can be configured so that a routing path chosen from a source node to a destination node will ensure the highest bandwidth, lowest latency, and greatest probability for packet delivery. The embodiment of the present invention enables the nodes of network 100 to establish a routing metric, which prevents the nodes from routing packets through areas of the network 100 that contain high degrees of hidden nodes. For this embodiment, the descriptive term “degree of hidden nodes” at a node of interest refers to the number of hidden nodes present about the node.
As discussed above, in a multi-hop wireless ad-hoc routing network 100, a routing advertisement transmitted by a node 102, 106 and 107 may advertise all of the other nodes 102, 106 and 107, or neighbor nodes, with which that node can directly communicate. In addition, the routing advertisement transmitted by a node 102, 106 and 107 typically advertises all of the destinations that can be reached from the node directly, and destinations that can be reached indirectly, listing the intermediate nodes to which the packet must be delivered to in order to reach the destination. As will now be described, an embodiment of the present invention examines the neighbor node routing advertisements transmitted by a node to evaluate the potential hidden problem experienced by that node.
FIG. 3 is a conceptual diagram illustrating an exemplary relationship 116 between four nodes, consisting of any combination of nodes 102, 106 and 107, in the network 100, which are identified as nodes a, b, c and d. The lines between the nodes a, b, c and d indicate a neighbor relationship. For example, node a is neighbors with nodes b and c, node b is neighbors with nodes a and c, node d is neighbors with node c, and node c is neighbors with nodes a, b and d. The set of neighbors of node a is indicated as set A. The entity a is included in the list of neighbors indicated in set A. So for the portion of the network 100 shown in FIG. 3, the neighbor lists of each node are:

A={a,b,c}

B={a,b,c}

C={a,b,c,d}

D={c,d}

If we consider node c as the node of interest, an example of the technique of identifying the hidden nodes about node c according to an embodiment of the present invention is as follows:
First, the embodiment of the present invention identifies all of the nodes that are neighbors to the node of interest, node c, based on the routing advertisements transmitted by node c, which in this case, includes the node set C. For each neighbor node, a comparison is made between the routing advertisements transmitted by node c and the neighbor lists at each neighbor node. Specifically, as the neighbor list is received from node c at node a, Set A is compared with Set C. As the neighbor list is received from node c at node b, Set B is compared with Set C, and as the neighbor list is received from node c at node d, Set D is compared with Set C. Based upon each comparison, the nodes of each set not shared is then determined. This is the symmetric difference of each set comparison which in this example, is as follows:

C⊕A={d}

C⊕B={d}

C⊕D={a,b}

The union of these sets represents all of the potentially hidden nodes of node c. This set of potentially hidden nodes of node c for the network shown above is known as Pc, and it contains:

Pc={a,b,d}

The number of elements in the set is the determined, which in this example is determined as |Pc|=3, which represents the number of potentially hidden nodes of node c for the network.
All elements of the potentially hidden node set Pc which are neighbors of each other, or sub-neighbors, are then determined. In this example, nodes a, b and d are elements of the potentially hidden node set Pc. Of nodes a, b and d, only nodes a and b are sub-neighbors. These nodes are now treated as a single entry a_b in the new set of hidden nodes around node c:

Hc={a_b, d}

so |Hc|=2

Therefore, the degree of hidden nodes about node c is 2.

Since nodes a, b and c are all neighbors of each other, normal coordination can occur between them and they should not attempt to access the medium simultaneously. Therefore, the hidden node contribution made by nodes a and b is reduced to the hidden node contribution of a single node since they are coordinated. The degree of hidden nodes about c (i.e. 2) represents the number of mobile nodes, or radios, that are unaware of each other and which may cause interference at node c.
In the embodiment of the present invention described above, the degree of hidden nodes of each node 102, 106 and 107 in the network 100 is determined in the manner described above. Each node then advertises it's respective metric along with its other routing information in the manner described above. Routing algorithms performed by, for example, the controller 112 of each of the nodes, can use the metric of each node to select transmission paths comprised of nodes having lower degrees of hidden nodes. This will thus minimize the likelihood that the packet will be corrupted or delayed due to the contribution of a hidden node along the route.
As can be appreciated from the above, the embodiment of the present invention can identify and help avoid routes in wireless ad-hoc routing networks that may be degenerate due to a large degree of hidden nodes along the route, as opposed to previous techniques which focused on direct measures of link quality among routes. The embodiment of the present invention can therefore predict areas of high hidden node interference in networks containing radios that cannot directly evaluate link quality.
In addition, some radio standards in use by mobile node, such as 802.11, may perform much more poorly than other standards in the presence of a high degree of hidden nodes. Specifically, the 802.11 standard, while in ad-hoc power-save mode, can experience the inability or greatly diminished capacity to transmit data in the presence of hidden nodes. In such an event, traditional direct measurements of link quality may not reflect the full degenerate condition in existence along a chosen route. Thus, it may be possible for such an area to appear to have a high capacity when in fact the synergy between the ad-hoc power-save algorithm and the hidden nodes may prevent most traffic from being successfully forwarded through the area. However, since the embodiment of the present invention discussed above can specifically identify the areas having high degrees hidden nodes, a routing algorithm may use such determinations to avoid routes through such areas, even though the areas can appear to have high node capacity.
As can be appreciated by one skilled in the art, the embodiment of the present invention can be employed in other wireless routing networks that can suffer from the classic hidden node problem, as well as to 802.11 devices in peer-to-peer mode and any other wireless device that allows direct peer-to-peer communication.
Although only a few exemplary embodiments of the present invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention as defined in the following claims.

## Claims

1. A method for route selection in an ad-hoc communications network utilizing medium access protocols (MAC), said network including a plurality of nodes wherein each of the plurality of nodes includes a transceiver for transmitting and receiving signals to and from other nodes in said network, the method comprising:
identifying hidden nodes which adversely affect communication between nodes comprising:
calculating a first neighbor node set for at least one node of said plurality, and calculating a second neighbor node set for at least one neighbor node contained in said first neighbor node set, and
calculating a degree of hidden nodes value for said at least one node based on said first and second neighbor node sets and communicating said value as part of a routing advertisement; and
selecting a routing path which avoids an area containing a high degree of said hidden nodes.

2. A method as claimed in claim 1, wherein said identifying hidden nodes step further comprises:
calculating said first neighbor node set to include each neighbor node of said at least one node, said each neighbor node comprising a node of said plurality with which said at least one node can directly communicate.

3. A method as claimed in claim 1, wherein said identifying hidden nodes step further comprises:
communicating said first neighbor node set to said at least one neighbor node.

4. A method as claimed in claim 1, wherein said identifying hidden nodes step further comprises:
calculating said second neighbor node set to include each neighbor node of said at least one neighbor node, said each neighbor node comprising a node of said plurality with which said at least one neighbor node can directly communicate.

5. A method as claimed in claim 1, wherein said identifying hidden nodes step further comprises:
communicating said second neighbor node set to said at least one node.

6. A method as claimed in claim 1, wherein said identifying hidden nodes step further comprises:
calculating a third neighbor node set to include each neighbor node that is included in said first neighbor node set which is not also a neighbor node that is included in said second neighbor node set.

7. A method as claimed in claim 6, wherein said identifying hidden nodes step further comprises:
locating each neighbor node that is contained in said third neighbor node set which is a sub-neighbor node, said sub-neighbor node comprising at least one neighbor node that is contained in said third node set which can directly communicate with at least one other neighbor node contained in said third neighbor node set; and
combining at least one sub-neighbor node plurality into a single representative neighbor node in said third neighbor node set.

8. A method as claimed in claim 7, wherein said identifying hidden nodes step further comprises:
calculating said degree of hidden nodes value based on said third neighbor node set.

9. A method as claimed in claim 1,
wherein said identifying hidden nodes step further comprises:
calculating said degree of hidden nodes value for each node of said plurality; and

further wherein said selecting a routing path step further comprises:
calculating at least one transmission route from a source node to a destination node based upon at least one said degree of hidden nodes value.

10. A method as claimed in claim 1, wherein said selecting a routing path step further comprises:
calculating at least one transmission route via a routing algorithm based upon said degree of hidden nodes value.

11. A system for route selection in an ad-hoc communications network utilizing medium access protocols (MAC), said network including a plurality of nodes wherein each of the plurality of nodes includes a transceiver for transmitting and receiving signals to and from other nodes in said network, the system comprising:
a first node, wherein said first node calculates a first neighbor node set for at least one node of said plurality;
wherein said first node further calculates a second neighbor node set for at least one neighbor node contained in said first neighbor node set;
wherein said first node further calculates a degree of hidden nodes value for said at least one node based on said first and second neighbor node sets and communicate said value as part of a routing advertisement; and
wherein said first node further selects a routing path which avoids an area containing a high degree of said hidden nodes.

12. A system as claimed in claim 11, wherein:
said first node is calculates said first neighbor node set to include each neighbor node of said at least one node, said each neighbor node comprising a node of said plurality with which said at least one node can directly communicate.

13. A system as claimed in claim 11, wherein:
said first node communicates said first neighbor node set to said at least one neighbor node.

14. A system as claimed in claim 11, wherein:
said first node calculates said second neighbor node set to include each neighbor node of said at least one neighbor node, said each neighbor node comprising a node of said plurality with which said at least one neighbor node can directly communicate.

15. A system as claimed in claim 11, wherein:
said first node communicates said second neighbor node set to said at least one node.

16. A system as claimed in claim 11, wherein:
said first node calculates a third neighbor node set to include each neighbor node that is included in said first neighbor node set which is not also a neighbor node that is included in said second neighbor node set.

17. A system as claimed in claim 16, wherein:
said first node locates each neighbor node that is contained in said third neighbor node set which is a sub-neighbor node, said sub-neighbor node comprising at least one neighbor node that is contained in said third node set which can directly communicate with at least one other neighbor node contained in said third neighbor node set; and
said first node combines at least one sub-neighbor node plurality into a single representative neighbor node in said third neighbor node set.

18. A system as claimed in claim 17, wherein:
said first node calculates said degree of hidden nodes value based on said third neighbor node set.

19. A system as claimed in claim 11, wherein:
said first node calculates said degree of hidden nodes value for each node of said plurality; and
said first node calculates at least one transmission route from a source node to a destination node based upon at least one said degree of hidden nodes value for selecting said routing path.

20. A system as claimed in claim 11, wherein:
said first node calculates at least one transmission route via a routing algorithm based upon said degree of hidden nodes value for selecting said routing path.