1. Field of the Invention
The present invention relates to a system and method for selecting reliable communication links between nodes in a wireless ad-hoc communication network. More particularly, the present invention relates to a system and method for using bit error rates of transmissions between a mobile or stationary node and its neighboring mobile and stationary nodes in a wireless ad-hoc communication network, to determine with which of those neighboring nodes reliable uni-directional or bi-directional communication links exist.
2. Description of the Related Art
In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed to address the needs of multiple mobile device communication beyond traditional infrastructure coverage. In this type of network, each user terminal (hereinafter “mobile node”) is capable of operating as a base station or router for other mobile nodes within the network, 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 node.
More sophisticated ad-hoc networks are also being developed which, in addition to enabling mobile nodes to communicate with each other as in conventional ad-hoc networks, further enable the mobile nodes to access fixed networks and communicate with other types of user terminals, such as those on the public switched telephone network (PSTN) and 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, 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, 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, the entire content of each being incorporated herein by reference.
In such ad-hoc networks, data flow is from node to node, and relies heavily on optimum route selection. Factors such as transmission power consumption and pipeline delays play a critical role in selecting transmission routes through the network which satisfy minimum requirements. For example, certain service classes such as the transmission of voice data, requires a minimal pipeline delay. However, minimizing pipeline delays often increase transmission power levels, which may overly burden the limited power supply of mobile nodes. Furthermore, the transmission itself requires the establishment and use of reliable communication links between nodes.
The challenge in identifying reliable links in an ad-hoc network lies in the fact that many communication links may be intermittent, unidirectional, or constantly varying in an environment where communication between nodes is sometimes difficult, even during normal operation. One indication of poor communication links between nodes is the detection of a bit error rate (BER) which exceeds allowable limits. The detection and use of bit error rates in wireless communication is discussed in U.S. Pat. No. 5,771,467 to Yukio Sato, which is incorporated herein by reference. As described in the Sato patent, the BER is constantly monitored and compared to a threshold value. The detection of a BER exceeding the threshold value halts communications between devices until the BER falls below the threshold. The Sato patent discloses a mobile station which prevents data communications when circuit quality has degraded below a threshold value, as indicated by a large BER. However, Sato does not address the location of nodes with which communication exceeds minimum BER levels, such nodes being critical to establishing a set of reliable communication links. Accordingly, a need exists for a system and method to determine bit error rates present during communication with area nodes, and creating a list of nodes having reliable links based upon the BER.
An object of the present invention is to provide a system and method for calculating bit error rates between nodes in an ad-hoc communication network to identify reliable links between the nodes.
Another object of the present invention is to provide a system and method for identifying a reliable bi-directional link between two nodes in a wireless ad-hoc communication network based on bit error rates at which routing advertisements exchanged by the nodes are received.
These and other objects are substantially achieved by providing a system and method for determining the reliability of at least one communication link between nodes in an ad-hoc communication network. The system and method perform the operations of receiving at a first node data sent by a second node over a link from the second node to the first node, determining a bit error rate (BER) at which the first node received the data, and identifying the link from the second node to the first node as being reliable when a value determined based on the BER meets a desired condition. The value can be, for example, an aggregate of BERs of data received by the first node from the second node over a period of time. The data sent by the second node can include routing advertisement data indicating at least one node which is a neighboring node of the second node, or can be any suitable regularly expected message. The data also includes information that provides an indication as to the reliability of the link from the first node to the second node. This information could be determined based on an aggregate of measurements of conditions of previous messages that the second node received from the first node over a period of time. For example, the information could be based on the aggregate of the BERs of routing advertisements that the second node received from the first node over a period of time.
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:
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 and 09/815,164, referenced above. Specifically, as shown in
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. The nodes 102, 106 and 107 exchange their 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 its 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, 102-2 and 102-7 are within the RF broadcast range of node 102-6, when node 102-6 broadcasts its routing table information, that information is received by nodes 102-1, 102-2 and 102-7. However, if nodes 102-3, 102-4 and 102-5 through 102-n are out of the broadcast range, none of those nodes will receive the broadcast routing table information from node 102-6.
As further shown in
In an ad-hoc network 100 with the infrastructure described above, a certain number of reliable links must exist within the network infrastructure. A reliable link is defined as a connection between two nodes 102, 106 or 107 within the network 100 that provides bi-directional data exchange capability that does not exceed a specified bit error rate (BER) threshold. Specifically, a minimum number of reliable links must exist within the network 100 in order to seed the network 100 with the multiple paths allowing a communication to reach a destination node 102, 106 or 107 from any originating 102, 106 or 107 within the network 100. Additionally, a number of reliable links are required to provide service in the absence of subscriber routing resources, which would typically act as routers to a destination. Furthermore, a number of reliable links allows the capability to provide a specified quality of service required by the subscriber to deliver data, voice, or video.
However, as can be appreciated by one skilled in the art, links within the network 100 may be intermittent, unidirectional or constantly varying. That is, as discussed above, the infrastructure of the network 100 includes significant routing resources, namely, nodes 102, 106 and 107, which are either permanently mounted or slowly moving. For example, LAPs or fixed routers 107 are generally mounted in stationary positions, such as on buildings, towers, billboards, and so on, while certain mobile nodes 102 may be mounted on slow moving objects, such as cruise ships and so on.
For purposes of this discussion, the flowchart shown in
In step 1000, the controller 112 of node A detects whether a routing advertisement (RA) has been received from node B. It should also be noted that instead of an actual RA, the controller 112 of node A can detect for receipt of any regularly expected transmission from node B, which is not necessarily a routing advertisement. As can be appreciated by one skilled in the art and as discussed above, node B's routing advertisements can include information regarding the node's neighbors (in this example, node B's neighbors), as well as node B's location and the best routes for reaching node B. As node B moves, node B broadcasts routing advertisements to nodes within its broadcast range to update the routing tables of those nodes with this information. Also, as discussed in more detail below, the routing advertisement from node B includes a “good link verification bit” which is either set (e.g., “1”) or unset (e.g., “0”) and indicates whether the link from node A to node B is a reliable link.
If a routing advertisement (or other regularly expected transmission from node B) has not been received from node B within the infrastructure timeout period in step 1010, the controller 112 of node A removes node B from node A's list of neighbors in node A's memory 114 and the processing returns to step 1000. A typical timeout period would be several seconds, for example, 5–10 seconds or even several minutes, but can be any suitable length of time. The length of the timeout period generally depends on how aggressive the network 100 is about deleting nodes from the route table. This is dependant on the inter arrival rate of the routing advertisements, and ideally, node A would need to miss several RAs from node B in a row, for example, at least 5 RAs in a row, for the controller 112 of node A to consider that node B is no longer a neighbor node, due to the fact that broadcast messages in a busy CSMA/CA radio can frequently be missed due to packet collisions. The number of permitted missed RAs (or other regularly expected transmissions) will be higher if the link is not expected to ever quickly degrade due to failure, or other interference, and lower if it is expected to quickly degrade.
However, if a routing advertisement has been received from node B within the infrastructure timeout period, in step 1020, the controller 112 of node A calculates the bit error rate (BER) for the data on the link from node B to node A, and calculates an aggregate value representing an aggregate of the BERs for routing advertisements (or other regularly expected transmissions) over a period of time. The aggregate can include any suitable number of received RAs (or other messages) which is believed to provide a reasonable indication of the quality of the link, and can be set based on how aggressively that a link should be identified as reliable or unreliable. For example, the controller 112 of node A can start calculating the value representing the aggregate BER upon receiving the first message from node B, but it can take around 10 or more messages to determine a reasonable indication of the link quality. For each good message received, the controller 112 adds a fixed amount to the aggregate value, and for each bad message (too many bit errors) subtracts a fixed amount from the aggregate value. A typical suitable BER is at or about 10−4 for a wireless system capable of providing a ‘high’ quality of service. The amount of good and bad messages eventually balances out as an average over time, and this average indicates whether the link quality is acceptable or unacceptable. This history-based or average-based link quality, based on bit errors, can be achieved using any message received from that neighbor (node B) whether that message has been broadcast to all nodes within range of node B, or unicast specifically to node A. The reason one (or even two or three) message from node B is typically not a sufficient indicator of link quality is that bit errors can occur occasionally due to extraneous conditions such as interference, packet collisions, or other causes of errors in a transmission which are not indicative of the overall quality of the link. Nevertheless, for purposes of this embodiment of the invention, the number of received messages used to determine the aggregate value can be any suitable amount from a single message to several tens or more. It should be further noted that this determined value for the given neighbor (i.e., node B) for which the controller 112 of node A is calculating this value is based only on the messages received from that neighbor. However, this process can be simultaneously occurring for any number of neighbors of node A.
During step 1020, the controller 112 of node A also determines whether the RA (or other regularly expected transmission) received from node B includes a message, such as a set “good link verification bit”, indicating that a reliable link exists for sending messages from node A to node B. That is, the bit is “set” (e.g., has a value of “1”) by the controller 112 of node B when the aggregate value representing an aggregate BER of a suitable number of messages, such as RAs, previously sent from node A and received by node B over a link from node A to node B over a period of time, is below the threshold, and is unset (e.g., has a value of “0”) when the aggregate BER is above the threshold. These operations performed by the controller 112 of node B for calculating the aggregate value for messages being received by node B from node A is similar to that described above, and is explained in more detail below.
The processing then proceeds to step 1030 where the controller 112 of node A determines whether the aggregate BER, as represented by the aggregate value for the data (e.g., the RA) and a desired previous amount of data (e.g., previous number of RAs) sent on the link from node B to node A, is below a desired threshold. A typical suitable BER threshold is at or about 10−4 for a wireless system capable of providing a ‘high’ quality of service. In this example, because the controller 112 adds to the aggregate value upon receipt of a “good” message (i.e., message received with acceptable BER) and subtracts from the aggregate value upon receipt of a bad message, the controller 112 compares the aggregate value to a predetermined value. If the aggregate value is at or above the predetermined value, this indicates that the aggregate BER is below the desired threshold BER. However, if the aggregate value is below the predetermined value, this indicates that the aggregate BER is above the desired threshold BER. Naturally, the controller 112 can be configured to use any suitable methodology to examine the BERs of the received messages and to determine whether the aggregate of those BERs meets a suitable BER level indicative of a reliable link.
Also in step 1030, the controller 112 of node A determines whether the “good link verification bit” is “set” in the RA (or other regularly expected message) received by node A from node B. Verifying that the “good link verification bit” is set indicates that as a minimum, step 1050 (discussed below) was performed by node B as discussed in more detail below. If the “good link verification bit” has been set in the received RA and the aggregate BER of the received data and the previously received data is determined to be below the threshold value in the manner described above, the processing proceeds to step 1040 where the controller 112 of node A determines that a reliable bi-directional link exists between nodes A and B. Also in step 1040, the controller 112 of node A will add node B to node A's list of neighbors stored in node A's memory 114, thus indicating that the bi-directional link between nodes A and B has been found to be a reliable infrastructure communication link, providing bi-directional data exchange capabilities that do not exceed a specified bit error rate threshold value.
The processing then proceeds to step 1050 where the controller 112 of node A sets the “good link verification bit” in the routing advertisements sent by node A. Hence, all nodes within node A's broadcast range, including node B, which receive the routing advertisements will recognize that a reliable link exists between node B and node A. The processing then returns to step 1000.
However, if it is determined in step 1030 that either the “good link verification bit” has not been received by node B or the aggregate BER is greater than the threshold value, the processing proceeds to step 1060 where the controller 112 of node A will remove node B from node A's list of neighbor nodes. In step 1070, even though node B is removed from node A's neighbor node list in step 1060 because the “good link verification bit” provided in the RA from node B was not set (thus indication that the link from node A to node B is unacceptable), if the aggregate BER is below the threshold value, the controller 112 of node A recognizes the link from node B to node A to be a reliable unidirectional link. Accordingly, the processing proceeds to step 1050 whether the controller 112 of node A sets the “good link verification bit” in future routing advertisements sent by node A. The processing then returns to step 1000 and is repeated.
However, if it is determined in step 1070 that the aggregate BER is not below the threshold value, the controller 112 of node A does not set or clears the “good link verification bit” in step 1080, and the process returns to step 1000 and repeats.
It should be clarified that the above process is performed independently on all nodes. That is, node B performs the above process with regard to node A and node B's neighboring nodes, and so on. Accordingly, as discussed above, the controller of node B sets the “good link verification bit” in its RA message (i.e., the message received by node A as discussed above) which verifies that the link from node A to node B is a reliable link if the RA node B has previously received from node A has an aggregate BER below the desired threshold.
In other words, the “good link verification bit” is only used to signal back to a transmitting node that an RA was received by a receiving node such that the aggregate BER for that RA (or other messages) and a suitable number of previously received RAs (or those other messages) is below a certain threshold. So a typical scenario can be as follows: Node A sends an RA (or other regularly expected message) to node B, and node B performs the steps shown in
As can be appreciated from the above this entire process for verifying that a suitable bidirectional link exists between nodes A and B requires a minimum of three transmissions between nodes A and B. For example, an RA is from node A to node B, an RA is sent from node B to node A including a set “good link verification bit” indicating that a reliable unidirectional link exists from node A to node B, and another RA is sent from node A to node B indicating that a reliable bi-directional link exists between nodes A and B. However, as a practical matter the number of RAs exchanged between nodes A and B to establish suitable aggregate BERs will require the exchange of a greater amount of messages, for example, several tens of messages or possibly more.
As will be appreciated by one skilled in the art, the embodiment described above provides several advantages over conventional link quality measuring techniques. For instance, reliable links are selected using BER measurement data, which is an absolute indicator of real-time link quality. On the contrary, received signal strength measurements, which are typically used as link quality indicators, may vary significantly from unit to unit due to variations in manufacturing processes and component tolerances. Additionally, unreliable links, which may experience difficulty in exchanging link quality information, may simply be ignored.
Furthermore, since the emphasis in the embodiment shown is on selecting reliable links, link quality data can be readily exchanged between nodes, yielding fast reliable fast link selection. Finally, the acceptable link quality threshold is programmable, in that BER threshold values may be configured at levels which vary for service classes provided.
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.
Number | Name | Date | Kind |
---|---|---|---|
4494192 | Lew et al. | Jan 1985 | A |
4617656 | Kobayashi et al. | Oct 1986 | A |
4736371 | Tejima et al. | Apr 1988 | A |
4742357 | Rackley | May 1988 | A |
4747130 | Ho | May 1988 | A |
4910521 | Mellon | Mar 1990 | A |
5034961 | Adams | Jul 1991 | A |
5068916 | Harrison et al. | Nov 1991 | A |
5231634 | Giles et al. | Jul 1993 | A |
5233604 | Ahmadi et al. | Aug 1993 | A |
5241542 | Natarajan et al. | Aug 1993 | A |
5317566 | Joshi | May 1994 | A |
5392450 | Nossen | Feb 1995 | A |
5412654 | Perkins | May 1995 | A |
5424747 | Chazelas | Jun 1995 | A |
5502722 | Fulghum | Mar 1996 | A |
5517491 | Nanni et al. | May 1996 | A |
5555425 | Zeller et al. | Sep 1996 | A |
5555540 | Radke | Sep 1996 | A |
5572528 | Shuen | Nov 1996 | A |
5615212 | Ruszczyk et al. | Mar 1997 | A |
5618045 | Kagan et al. | Apr 1997 | A |
5621732 | Osawa | Apr 1997 | A |
5623495 | Eng et al. | Apr 1997 | A |
5627976 | McFarland et al. | May 1997 | A |
5631897 | Pacheco et al. | May 1997 | A |
5644576 | Bauchot et al. | Jul 1997 | A |
5652751 | Sharony | Jul 1997 | A |
5680392 | Semaan | Oct 1997 | A |
5684794 | Lopez et al. | Nov 1997 | A |
5687194 | Paneth et al. | Nov 1997 | A |
5696903 | Mahany | Dec 1997 | A |
5701294 | Ward et al. | Dec 1997 | A |
5706428 | Boer et al. | Jan 1998 | A |
5717689 | Ayanoglu | Feb 1998 | A |
5745483 | Nakagawa et al. | Apr 1998 | A |
5771467 | Sato | Jun 1998 | A |
5774876 | Wooley et al. | Jun 1998 | A |
5781540 | Malcolm et al. | Jul 1998 | A |
5787080 | Hulyalkar et al. | Jul 1998 | A |
5794154 | Bar-On et al. | Aug 1998 | A |
5796732 | Mazzola et al. | Aug 1998 | A |
5796741 | Saito et al. | Aug 1998 | A |
5805593 | Busche | Sep 1998 | A |
5805842 | Nagaraj et al. | Sep 1998 | A |
5805977 | Hill et al. | Sep 1998 | A |
5809518 | Lee | Sep 1998 | A |
5822309 | Ayanoglu et al. | Oct 1998 | A |
5844905 | McKay et al. | Dec 1998 | A |
5845097 | Kang et al. | Dec 1998 | A |
5857084 | Klein | Jan 1999 | A |
5870350 | Bertin et al. | Feb 1999 | A |
5877724 | Davis | Mar 1999 | A |
5881095 | Cadd | Mar 1999 | A |
5881246 | Crawley et al. | Mar 1999 | A |
5881372 | Kruys | Mar 1999 | A |
5886992 | Raatikainen et al. | Mar 1999 | A |
5896561 | Schrader et al. | Apr 1999 | A |
5903559 | Acharya et al. | May 1999 | A |
5909651 | Chander et al. | Jun 1999 | A |
5936953 | Simmons | Aug 1999 | A |
5943322 | Mayor et al. | Aug 1999 | A |
5949760 | Stevens et al. | Sep 1999 | A |
5987011 | Toh | Nov 1999 | A |
5987033 | Boer et al. | Nov 1999 | A |
5991279 | Haugli et al. | Nov 1999 | A |
6028853 | Haartsen | Feb 2000 | A |
6029217 | Arimilli et al. | Feb 2000 | A |
6034542 | Ridgeway | Mar 2000 | A |
6044062 | Brownrigg et al. | Mar 2000 | A |
6047330 | Stracke, Jr. | Apr 2000 | A |
6052594 | Chuang et al. | Apr 2000 | A |
6052752 | Kwon | Apr 2000 | A |
6064626 | Stevens | May 2000 | A |
6067291 | Kamerman et al. | May 2000 | A |
6078566 | Kikinis | Jun 2000 | A |
6104712 | Robert et al. | Aug 2000 | A |
6108738 | Chambers et al. | Aug 2000 | A |
6115580 | Chuprun et al. | Sep 2000 | A |
6122690 | Nannetti et al. | Sep 2000 | A |
6130881 | Stiller et al. | Oct 2000 | A |
6132306 | Trompower | Oct 2000 | A |
6147975 | Bowman-Amuah | Nov 2000 | A |
6163699 | Naor et al. | Dec 2000 | A |
6178337 | Spartz et al. | Jan 2001 | B1 |
6192053 | Angelico et al. | Feb 2001 | B1 |
6192230 | van Bokhorst et al. | Feb 2001 | B1 |
6208870 | Lorello et al. | Mar 2001 | B1 |
6222854 | Dove | Apr 2001 | B1 |
6223240 | Odenwald et al. | Apr 2001 | B1 |
6240294 | Hamilton et al. | May 2001 | B1 |
6246875 | Seazholtz et al. | Jun 2001 | B1 |
6249516 | Brownrigg et al. | Jun 2001 | B1 |
6275707 | Reed et al. | Aug 2001 | B1 |
6285892 | Hulyalkar | Sep 2001 | B1 |
6304556 | Haas | Oct 2001 | B1 |
6327300 | Souissi et al. | Dec 2001 | B1 |
6349091 | Li | Feb 2002 | B1 |
6349210 | Li | Feb 2002 | B1 |
6735448 | Krishnamurthy et al. | May 2004 | B1 |
Number | Date | Country |
---|---|---|
2132180 | Mar 1996 | CA |
0513841 | Nov 1992 | EP |
0627827 | Dec 1994 | EP |
0924890 | Jun 1999 | EP |
2683326 | Jul 1993 | FR |
WO 9608884 | Mar 1996 | WO |
WO 9724005 | Jul 1997 | WO |
WO 9839936 | Sep 1998 | WO |
WO 9912302 | Mar 1999 | WO |
WO 0034932 | Jun 2000 | WO |
WO 0110154 | Feb 2001 | WO |
WO 0133770 | May 2001 | WO |
WO 0135567 | May 2001 | WO |
WO 0137481 | May 2001 | WO |
WO 0137482 | May 2001 | WO |
WO 0137483 | May 2001 | WO |
WO 0235253 | May 2002 | WO |