System and method for providing a congestion-aware routing metric for selecting a route between nodes in a multihopping communication network

A system and method for calculating a routing metric that can select the route providing the best throughput in a multihopping network (100), based on one or more parameters including completion rates, data rates, MAC overhead and congestion. The system and method are capable of selecting a route in a multihopping network (100) having a high throughput, comprising calculating a routing metric at one or more nodes (102, 106, 107), wherein the routing metric enables the one or more nodes (102, 106, 107) to select the route in the network (100). The routing metric can include network information such as the raw data rate, the completion rate, and the media access control overhead and congestion.

FIELD OF THE INVENTION

The present invention relates to wireless communication networks and, more particularly, to a system and method for calculating a routing metric for selecting a route providing the best throughput in a multihopping network.

BACKGROUND

In recent years, a type of mobile communications network known as an ad-hoc network has been developed. In this type of network, each 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. As can be appreciated by one skilled in the art, network nodes transmit and receive data packet communications in a multiplexed format, such as time-division multiple access (TDMA) format, code-division multiple access (CDMA) format, or frequency-division multiple access (FDMA) format.

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 mobile nodes, such as those on the public switched telephone network (PSTN), and on other networks such as the Internet. Details of these advanced 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, now U.S. Pat. No. 7,072,650, 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 being incorporated herein by reference.

Ad-hoc networks typically comprise a plurality of nodes that collectively define a path from a mobile client to a destination node, or another network node by way of one or more wireless network nodes. Generally, a “channel” is established from each node to another defining the path to the network access node, which, in turn, provides access to an external network, such as the Internet. The channel may also be from one node to another in the same network when the destination is a user associated with the node.

As can be appreciated from the nature of wireless “ad hoc” networks such as those discussed above, a careful assignment of frequencies and channels is important for minimizing interference between nodes using the same frequency or channels in a network, and for maximizing the performance and efficiency of the network. In this regard, traditional methods of frequency channel assignment become difficult, for example, when only a small number of channels are available. Moreover, frequency channel assignments become difficult when the number of nodes exceeds the number of available channels.

Several techniques exist which address frequency channel assignment in the context of wireless “ad-hoc” networks. U.S. Patent Application 2004/0157613, for example, discloses a method for reducing co-channel and adjacent channel interference via self-selection of Radio Frequency Channels. Moreover, a publication by DeCouto et al. entitled “A High-Throughput Path Metric for Multihop Wireless Routing,” M.I.T. Computer Science and Artificial Intelligence Laboratory, 2003, discloses an expected transition count (ETX) metric which identifies a relationship that is inversely proportional to the packet completion rate, but it does not account for variable data rates or signaling overhead.

DETAILED DESCRIPTION

Before describing in detail embodiments that are in accordance with the present invention, it should be observed that the embodiments reside primarily in combinations of method steps and apparatus components related to calculating a routing metric that can select the route providing the best throughput in a multihopping network. Accordingly, the apparatus components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

As discussed in more detail below, the embodiments of the present invention described herein provide a system and method for calculating a routing metric that can select the route providing the best throughput in a multihopping network, based on one or more parameters including completion rates, data rates, media access control (MAC) overhead and congestion. The system and method are capable of selecting a route in a multihopping network having a high throughput, comprising calculating a routing metric at one or more nodes, wherein the routing metric enables the one or more nodes to select the route in the network. The routing metric can include network information such as the raw data rate, the completion rate, and the media access control (MAC) overhead and congestion.

FIG. 1is a block diagram illustrating an example of an ad-hoc wireless communications network100employing an embodiment of the present invention. Specifically, the network100includes a plurality of mobile wireless user terminals102-1through102-n(referred to generally as nodes102or mobile nodes102), and can, but is not required to, include a fixed network104having a plurality of access points106-1,106-2, . . .106-n(referred to generally as nodes106, access points (APs)106or intelligent access points (IAPs)106), for providing nodes102with access to the fixed network104. The fixed network104can include, for example, a core local area network (LAN), and a plurality of servers and gateway routers to provide network nodes with access to other networks, such as other ad-hoc networks, the public switched telephone network (PSTN) and the Internet. The network100further can include a plurality of fixed routers107-1through107-n(referred to generally as nodes107, wireless routers (WRs)107or fixed routers107) for routing data packets between other nodes102,106or107. It is noted that for purposes of this discussion, the nodes discussed above can be collectively referred to as “nodes102,106and107”, or simply “nodes”.

As can be appreciated by one skilled in the art, the nodes102,106and107are capable of communicating with each other directly, or via one or more other nodes102,106or107operating as a router or routers for packets being sent between nodes, as described in U.S. Pat. Nos. 7,072,650, 6,807,165 and 6,873,839, referenced above.

As shown inFIG. 2, each node102,106and107includes at least one transceiver or modem108, which is coupled to an antenna110and is capable of receiving and transmitting signals, such as packetized signals, to and from the node102,106or107, under the control of a controller112. The packetized data signals can include, for example, voice, data or multimedia information, and packetized control signals, including node update information.

Each node102,106and107further includes a memory114, such as a random access memory (RAM) that is capable of storing, among other things, routing information pertaining to itself and other nodes in the network100. As further shown inFIG. 2, certain nodes, especially mobile nodes102, can include a host116which may consist of any number of devices, such as a notebook computer terminal, mobile telephone unit, mobile data unit, or any other suitable device. Each node102,106and107also includes the appropriate hardware and software to perform Internet Protocol (IP) and Address Resolution Protocol (ARP), the purposes of which can be readily appreciated by one skilled in the art. The appropriate hardware and software to perform transmission control protocol (TCP) and user datagram protocol (UDP) may also be included.

As discussed above, it is desirable for the nodes102,106and107of the network100to be capable of selecting a route in a multihop network that takes into account network congestion and which ensures optimum throughput. As will now be described, an embodiment of the present invention enables one or more nodes to calculate a routing metric that can select the route providing the best throughput, based on one or more parameters including completion rates, data rates, MAC overheard and congestion. It is noted that the routing metric can be calculated by the controller112and its associated hardware and software in the nodes102,106and107.

For a single channel Media Access Control (MAC), the contention time can be measured by the node102,106or107, either via counters, such as network allocation vector (NAV) or clear channel assessment (CCA), or via timestamps. For a multi channel MAC, the node102,106or107can base its measurement on what it is able to monitor while listening to the reservation channel. The premise of the congestion/contention measurement is to enable an node102,106or107to assess the percentage of the channel that is available for transmission at a given time. For example, if no portion of the bandwidth is being used by the node102,106or107or another node102,106or107, then the bandwidth availability is 100% (one hundred percent). If another node102,106or107is using the bandwidth, the availability can be any value between 50% (fifty percent) and close to 100% (one hundred percent). The availability, in this regard, is not lower than 1/N, where N is the number of nodes102,106and107accessing the channel. This ensures that if the bandwidth is currently all being used, the bandwidth can still be shared by multiple users at a later time. Bandwidth does not necessarily have to be distributed equally among nodes102,106or107(although it is in the previous examples). For example, specific nodes102,106or107can be assigned a higher priority status or certain traffic flows can be assigned higher bandwidth requirements.

Assuming that all data rates are equal, all completion rates are 100% (one hundred percent) and ignoring signaling overhead,FIG. 3illustrates a routing decision using congestion as part of the routing metric. It is noted that the source, the destination and the routers shown correspond to any node of the network100, that is, mobile nodes102, fixed routers107, or access points106, for example, as showing inFIG. 1. For purposes of this discussion, we will assume that the source and destination are nodes102-1and102-2, respectively, and the routers are routers107-1,107-2and107-3. In this example, references300,304and308indicate available bandwidth, and references302,306and310indicate unavailable bandwidth. As indicated, node107-1is congestion and has only 25% (twenty five percent) bandwidth available, while nodes107-2and107-3are less congested and each have 60% (sixty percent) available bandwidth.

A routing metric for use in determining routing is generally defined as “the amount of time required to send a unit of information”. It will be appreciated by those of ordinary skill in the art that the routing metric is proportional to the inverse of the effective throughput. In the following examples, a unit of time is in seconds and a reference unit of information is a Gigabit. It will be appreciated that other reference units of information and other units of time can be utilized in accordance with the present invention. If a link with no contention (i.e. availability is one hundred percent (100%)) has a throughput of ten (10) mega bits per second (Mbps), then a gigabit of information takes one hundred (100) seconds to be sent. One hundred (100) is therefore the routing metric for that particular reference link for the exemplary system. If the channel is sixty percent (60%) available, then the maximum throughput is six (6) Mbps, whereas a channel twenty five percent (25%) available will yield two point five (2.5) Mbps of throughput. At six (6) Mbps, it takes one hundred sixty six (166) seconds to send a gigabit of information. At two point five (2.5) Mbps, it takes four hundred (400) seconds to send a gigabit of information. Referring to the example shown inFIG. 3, the route consisting of nodes102-1,107-1and102-2has a cumulative routing metric of eight hundred (800) (since both source node102-1and router107-1share the same medium, it takes eight hundred (800) seconds to send a gigabit of information). The route consisting of nodes102-1,107-2,107-3and102-2has a cumulative routing metric of five hundred (500).

In the previous example shown inFIG. 3, it is not yet determined whether communication in the first hop between nodes102-1and107-2and communication in the third hop between nodes107-3and102-2can occur concurrently. In the event that they can occur concurrently, the routing metric can automatically take this fact into account by allotting more bandwidth to the communication as shown inFIG. 4. In this event, nodes102-1,107-1and107-2collectively are allotted fifty percent (50%) of the available bandwidth, as indicated by400,404and408, while fifty percent (50%) of the bandwidth remains unavailable as indicated by402,406and410. If they cannot communicate concurrently, then the routing metric can reflect this and the amount of data that is transmitted, and thus the throughput, will decrease as shown inFIG. 5. That is, nodes102-1and107-2each are allotted thirty four percent (34%) of the available bandwidth, as indicated by500and508, while sixty six percent (66%) of their bandwidth remains unavailable as indicted by502and510, and node107-1is allocated fifty percent (50%) of the bandwidth as indicated by504while fifty percent (50%) of the bandwidth remains unavailable as indicated by506.

As shown inFIG. 6, each router107-1,107-2and107-3can include a dual-transceiver backhaul600comprising two transceivers108as shown inFIG. 2, for example, allows each router (e.g., routers107-1,107-2and107-3as shown inFIG. 6) to be used as a transmitter and a receiver at the same time, thus doubling the bandwidth of the communication link. This occurs, however, if each router is not in contention with any other router and if no other flows of traffic originate along the route, as further shown as one hundred percent (100%) capacity designated by602and604inFIG. 6. Nevertheless, the routing metric can be used to address both situations successfully. Indeed, if the topology is a linear series of dual-transceiver routers107-1,107-2and107-3, then the link with the smallest contention at each router can be the one that is not being used for the previous hops. Therefore, the route can alternatively use one transceiver and then the other. If there is contention with other routers or traffic sources (e.g., another router107-4) as shown inFIG. 7, the system can ensure that each transceiver is used equally, that is, the amount of bandwidth that is being used (which determines the final routing metric) is the same or substantially the same for each transceiver. In the example ofFIG. 7, a transceiver of each router107-1and107-4uses fifty percent (50%) capacity as indicated by700and702, and each transceiver of router107-2uses fifty percent (50%) capacity as indicated by704and706.

In TDMA MAC's, the percentage of the bandwidth that is made available to a particular link is determined based on the ratio of the allotted time slot size to the total frame size that is being transmitted over that link.

Transmit Time of a Unit of Information:

During the available time described in the previous section, the node may be only capable of transmitting a limited amount of information. The routing metric is defined as the “amount of time required to send a unit of information”, this time is therefore based on the data rate. Other parameters can come into play, such as MAC overhead and number of retries. Indeed, these other parameters can increase the actual time needed to send a unit of information, as shown in the graph800inFIG. 8, which illustrates an example of the amount of time occupied by request-to-send (RTS) and clear-to-send (CTS) messages, headers, data messages (DATA), and acknowledgement (ACK) and non-acknowledgement (NACK) messages.

In this example, the channel availability is one hundred percent (100%), which means there is no other node102,106or107attempting to use the channel. Knowing the raw data rate, the MAC overhead and the completion rate, it is possible to determine the actual throughput and, therefore, the routing metric for a particular link. The data rate can be calculated as described in U.S. Patent Publication No. US20050286440A1, published on Dec. 29, 2005, entitled “System and Method for Adaptive Rate Selection for Wireless Networks.” The MAC overhead can be provided as described in U.S. Patent Publication No. US20060034233A1, published on Feb. 16, 2006, entitled “Software Architecture and Hardware Abstraction Layer for Multi-Radio Routing and Method for Providing the Same.” The completion rate can be calculated as described in U.S. Pat. No. 7,412,241, granted Aug. 12, 2008, entitled “A Method to Provide a Measure of Link Reliability to a Routing Protocol in an Ad Hoc Wireless Network.” The entire contents of each of these three patent applications are incorporated by reference herein.

The following section presents an example routing metric that depends on the effective throughput per link. In particular, packet delay per hop can be approximated according to the following equation:

For example, for a contention based MAC protocol, the channel access time can depend on the neighborhood congestion and channel busy-ness. For a contention free system (e.g. TDMA system), it can depend on the slots allocated for the node/link. tedepends on the average backoff time due to the transmission failure and the neighborhood congestion (assuming that if a packet fails, it can be the first packet to be transmitted next time the channel is available). twdepends on the node's congestion level (e.g. the packets already queued in the node) and neighborhood congestion.

The effective throughput can be approximated as:

The values used to compute G can be measured as a moving average where the window size can be optimized to provide stability. Some of the values may be evaluated by using the measurement actions defined in the Institute of Electrical and Electronic Engineers (IEEE) 802.11 Standards. For example, for an IEEE 802.11 Standard network, tecan be estimated by using clear channel assessment (CCA) and network allocation vector (NAV) busy times as described in the IEEE 802.11h Standard and the IEEE 802.11k Standard, respectively.

The routing metric for each hop is:
M=α/G
where α is a normalization factor. The variable α is selected to obtain a routing metric of “1” for a reference high-speed link, such as 1 Gbps. This ensures that all routing metrics in the network can be represented using integer values with a constrained (e.g. 16-bit) resolution.
Data Rate Dependency and Heterogeneous Transceivers:

The ability to base the routing metric on the amount of time taken to send a unit of information allows the routing protocol to operate with transceivers with a large span of data rates, such as those according to IEEE Standards 802.11a and 802.11g, or with multiple physical layers attaining different data rates (such as Ethernet versus Bluetooth). The only limitations are set by the reference routing metric (which in this example is set to one (1) Gigabit per second) and the metric resolution (28corresponding to a three point nine (3.9) Mbps link and ½16corresponding to fifteen (15) Kilobits per second (Kbps)). With a reference routing metric of one (1) Gigabit per second and a sixteen (16) bit resolution for the routing metric, it is possible to compare multihop throughputs on links as diverse as dial-up modems and Gigabit Ethernet.

Route Request Expiration for Protocols that Require Network Flooding:

If the routing protocol requires the network to be flooded (such as Route Requests in Ad-hoc On-demand Distance Vector (AODV) typically flooding is limited by using a TTL (time to live) limit. This severely limits the number of nodes102,106or107the Route Request can reach without assuring that the high-speed backbone links are being fully used. Typically, a node will perform an expanding ring search if it is not able to find its destination with a small TLL. If the limit is based on the accumulated routing metric (instead of the TTL), then flooding will be interrupted as the Route Requests go through slower links and nodes102,106or107that are congested; flooding will remain active through faster links and nodes102,106or107that have little congestion. This allows for the routing protocol to more efficiently search for routes in a network, by allowing it to perform its route search based on the performance of the nodes102,106or107that are being traversed.

Connectivity/Performance Indicator for Rapid Sensor Network Deployments:

Sensor network deployments require as little manual intervention as possible (no set-up interface) and there is typically no radio frequency (RF) coverage survey. Typical network connectivity indicators show the signal strength to the access point which the nodes102,106or107are associated with. This may not take into account the actual link performance (the maximum data rate may be low) or the number of hops (i.e., the access point might be several hops away from the actual destination). The routing metric described herein may allow for performance comparisons to be made regardless of the number of hops. A visual indicator, for example a numeric indicator using a light emitting diode (LED) screen or a level indicator using multiple LEDs can be used for rapid deployment. That is, the node102,106or107can tell the operator in real time if network performance at a particular location is acceptable or not. As understood in the art, a network100is generally self-configurable and should require only minimal user intervention, such as deploying the nodes (e.g., access points106and wireless router107) and assuring that the deployed nodes106and107have a power source such as line current, a battery, a solar cell, and so on.

The example routing metric can be differentiated if the route request includes the priority level of the flow for which the route is requested. For this purpose, one or more nodes preferably keep track of two types of priority information:1. The Average Priority Levels of the Packets in the Node's Queue for a Given Time Period:Depending on the scheduler (e.g. round robin or packet tagging based scheduler), each priority can be mapped to a queue level that has a certain allocated percentage for transmission attempts. For example, in this case twcan depend on the priority level. For a higher priority flow, twwill be smaller.2. The Average Priority Levels of the Packets in the Node's Neighborhood for a Given Time Period:For example, IEEE Standard 802.11e uses different channel access probabilities for different priority levels. If a node has the information on the priority levels of the packets that are being transmitted in the neighborhood, an estimation on the twand tecan be done according to the relative priority levels of the flow and the neighborhood traffic. If the flow's priority level is much higher than the neighborhood traffic, twand tewill be smaller.
Carrier Sensed Multiple Access with Collision Avoidance (CSMA/CA) Extensions:

The packet completion rate defined in the packet hop delay equation corresponds to the data packet completion rate. In systems using a CSMA/CA medium access controller, some of the contention frames (i.e., RTS and CTS) may also fail to be successfully transmitted. These failures affects the link throughput by increasing te. Using the RTS packet completion rate and making tedependent on this completion rate will improve the accuracy of the routing metric.