1. Field of the Invention
The present invention relates to a system and method for managing node communications in a wireless ad-hoc network based upon node activity status. More particularly, the present invention relates to a system and method for detecting communication requirements in a network and placing nodes in an inactive state where conditions allow. Detection of increased communication requirements is used to place nodes in various stages of activity and to alter network communication routes based upon node activity levels in the network.
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. For example, certain service classes such as voice data, requires minimal pipeline delays during transmission. However, minimizing pipeline delays often increases transmission power levels, which may overly burden the limited power supply of mobile nodes. One approach to improving mobile node power consumption efficiency includes placing nodes into varying degrees of inactivity, as allowed by communication requirements.
For example, when a node in a network is not active, it can go into a more dormant state where it can send fewer packets, thus reducing its over-the-air bandwidth consumption, and significantly reduce the power drain on its battery and the batteries of other nodes which receive those packets, to achieve maximum useful life for the node batteries. This is especially useful when considering the deployment of remote sensor nodes where long life of node batteries is critical. Sensor nodes are nodes which are capable of performing the node functions described above, but can also monitor, for example, environmental conditions such as temperature, humidity, wind, and so on. Such sensor nodes, or sensors, belong to a class of devices that need to have network capability, but utilize the network sporadically, and are potentially inactive for long periods of time.
As can be appreciated by one skilled in the art, nodes in a network not only transmit, receive and route packets of information from node to node within the network, but also transmit, receive and route packets to and from nodes located beyond the network. Nodes in the ad-hoc network generate these packets, which may be classified as either data packets or control packets. The distinction between data and control packets allows node participation within the network to be modified based on whether or not the node is active at a given point in time. That is, data packets include packets which are generated by the user and perform some activity, such as using streaming video applications. Control packets are created to discover other nodes, build routing tables and share network topology between nodes. Therefore, as among network nodes, sending and receiving control packets with greater frequency results in more accurate and complete knowledge of the network.
A problem with frequent packet transmission, however, is that node transmitters used in packet transmission typically are the largest power consuming component of the node. Therefore, for each instance where node transmitter use may be avoided by not sending messages, significant power consumption savings can be achieved. However data packets, as compared to control packets, may not be avoided to the same extent, as data packets are generated by the user and perform some activity. Control packet transmissions however, may be reduced in situations where the need for node updates are smaller.
Ad-hoc networks typically require a mechanism by which to discover other nodes, build routing tables and share network topology amongst the nodes. This is achieved using messaging that is typically described as overhead messaging, and may contain control packet transmissions. Control packet transmissions are required, for example, to the extent node updates are needed. Therefore, reducing the need for frequent node updates is one approach to reducing transmitter usage in network nodes. Many ad-hoc networks typically have update rates that are in the order of 1 to 5 seconds, based on the presumption of high rates of change and high traffic demand. One approach to reducing node updates has been to design a network where the network nodes are synchronized and all “wake up” at the same time to share information. However, this is not always an effective technique of achieving power savings through reduced node activity. For example, in such an arrangement, because a node cannot transfer data until the “wake up” time, frequent update delays may result. Furthermore, the network nodes cannot always be easily synchronized with one another. Implementing data updates at “wake up” is particularly difficult in a mobile ad-hoc network where nodes join and leave the network arbitrarily and on a regular basis.
Accordingly, a need exists for a system and method to reduce the frequency of control packet transmissions in an ad-hoc network, thereby reducing demand on limited power supplies at mobile nodes.
An object of the present invention is to provide a system and method for placing nodes within an ad-hoc network into various stages of inactivity based upon network communication requirements.
Another object of the present invention is to provide a system and method for calculating required data updates for nodes within an ad-hoc network based upon node activity levels.
Still another object of the present invention is to calculate transmission routes based upon node activity levels.
These and other objects are substantially achieved by providing a system and method for determining communication requirements and placing nodes within an ad-hoc network into various stages of inactivity. The system and method provides an algorithm to detect changes in node activity levels and alter operations, such as update transmissions and route selections, based upon changes detected. In particular, the algorithm determines activity level at a node at each routing update interval based on factors such as a number of new destinations the node can reach, a number of route modifications that the node can implement, a number of routes from the node whose lengths have changed and a number of destinations the node can no longer reach. The node can then increase or decrease the rate that it exchanges its routing information with neighboring nodes based on an increase or decrease in this activity level.
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:
Depending on the type of application or environment in which the network 100 is being used, the mobile nodes 102, as well as the fixed routers 107, can be configured as sensor nodes. Sensor nodes, or sensors, belong to a class of devices that need to have network capability, but utilize the network sporadically, potentially being inactive for long periods of time. Sensor nodes can monitor conditions, for example, environmental data such as temperature, humidity, wind velocity and so on, and can provide that information to a central collection. Typically, a network 100 whose nodes 102 and/or 107 are configured as sensor nodes would not include a fixed network 104 and IAPs 106 as described above. A sensor network will perform the same operations as a traditional network, however a sensor network allows slightly different operational tuning, such as minimum update times. Furthermore, the network 100 typically would not commingle regular mobile nodes 102 and regular fixed routers 107 with mobile nodes 102 and fixed routers 107 that are configured as sensors. In other words, the network 100 would typically include either sensor-type nodes, or regular nodes and routers (and possibly LAPs 106), but not both. However, the scope of the invention is not limited to this restriction, and circumstances may arise in which sensor nodes and “regular” nodes are used in a common network 100.
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 packets being sent between nodes, 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.
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 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 enters the network 100, or when existing nodes in the network 100 move.
As further shown in
As shown in
To date, the deployment of network architectures has been for wide area, highly mobile applications. However, there are scenarios where a mobile ad-hoc network is appropriate, but will exhibit reduced node activity behavior. Knowledge of the activity of network nodes can be used to greatly reduce the amount of information that needs to be distributed in periodic control messages that are exchanged between nodes. An inactive node 102, 106 or 107 can reduce the frequency of its control packet information exchange. Other nodes of the network 100 will not be required to share information about these inactive nodes as frequently with other nodes due to the fact that, while in an inactive state, the inactive node is not being used, and no outside entities are trying to make contact with them.
When a node 102, 106 or 107 becomes active, either due to node movement or node communication activity, the controller 112, for example, of the node becoming active will execute a setup control message exchange bringing the state of that node to active to the key members of the network 100, such as other neighboring nodes 102, 106 or 107, required to effectively route the information between the node and the external entity. At that point, the newly active node's control information will become more widespread through the part of the network 100 local to the node (i.e., the nodes neighbors that are within the nodes broadcast range), to thus assist with the effective and reliable delivery of data payloads.
Typically, when nodes 102, 106 and 107 of network 100 are inactive, the update rates can be as slow as 30 seconds or longer, which can be referred to as the passive refresh rate. While the nodes are simply maintaining basic connectivity, the age of update information is not critical. However once a node 102, 106 or 107 wants to send or receive information, the node needs more accurate network information, so update rates are increased. When each node of network 100 is in a passive listening mode, each is routinely receiving routing and network update messages, at a slow rate, and sending update messages at the same slow rate, until there is a demand for network traffic.
When a node 102, 106 or 107 senses a request to send data, the node increases it's update rate (for example, to a new rate equal to twice the passive refresh rate). If the node, or terminal, is actively involved in the routing of information, as the source, sink or an intermediate router, it will increase its update rate even further (for example, to a new rate equal to four times the passive refresh rate). Once the traffic subsides, the node will slowly reduce the raised update rate back down to the passive rate.
In network 100 of
Also in accordance with an embodiment of the present invention, a “power on” algorithm, in use with nodes 102, 106 and 107 operating at various levels of activity, may be used to determine routing table update intervals. As discussed earlier, updates to the routing table requires control packet transmissions which adversely affect mobile node power consumption levels. In an embodiment of the present invention discussed below, the frequency of required updates is determined, and a maximum interval between updates is calculated. Using a maximum interval between updates, the lowest possible number of transmissions are achieved.
In addition, each node 102, 106 and 107 maintains basic connectivity and continually exchanges updates with other nodes to some extent. When nodes are active, updates may be received with greater frequency. When nodes are inactive, updates may be received with less frequency, and are constantly monitored for the deviations which result in a transition from an inactive to active state. The route interval is based on the rate of change of entries and their routing locations within a routing table.
The routing metric for each node can be computed by, for example, its controller 112 as the sum of deviations from the previous update. For purposes of the following discussion, a node for which a routing metric is being calculated will be referred to as a “subject node” to distinguish it from its neighboring nodes. The deviations are computed as follows:
Sum=new destinations+new next hops+new routing lengths+deleted destinations (1)
Each term of equation (1) has an integer value. The “new destinations” variable represents the number of new destinations that the node can reach, the “new next hops” variable represents the route modifications caused by alternate paths which come about as the changes in neighbor routing tables are incorporated, the “new routing lengths” represents the number of routes that the node can use whose lengths have changed, and the “deleted destinations” represents the number of destinations that the node can no longer reach. The sum produced by equation (1) can be extended to include other routing metrics such as bandwidth utilization, congestion (both nodal and within the neighborhood), battery level, and network fragmentation (strongly connected with multiple alternate routes or weakly connected where each route is important).
It is noted that over a period of time, the sum calculated by equation (1) at each update interval will produce a series of sum values. By plotting these values with respect to time, a function of the trend in the sum values will be created. Hence, the degree by which the rate of exchange of routing information by that node should be increased or decreased can be determined based on the derivative of that function.
For example, when the subject node remains stationary, and all of its neighboring nodes remain stationary, the value of sum calculated by equation (1) above is zero. That is, a network of stationary nodes will not generate any “new destinations”, “new next hops”, “new routing lengths” or “deleted destinations”, as no position changes occur. If the subject node and its neighboring nodes remain constant for several updates, the function of the plot of sum values over time does not increase or decrease. For instance, a constant routing table, such as would be expected in a deployed closed network of static sensors, would yield a derivative of zero. Hence, the derivative of that function (which is a straight horizontal line) taken at any routing update interval is zero. Accordingly, no increase or decrease in the rate of exchange of routing information by the subject node is necessary. Rather, where a derivative of zero is produced, the routing algorithm run by the controller 112 of the subject node directs the use of maximum time intervals between routing updates, where the time intervals may be selectable based upon network requirements or other design factors.
This is likewise the case when the sum values remain at a certain value over a period of time. For example, assuming that the variables of equation (1) result in a value of 5 for several updates, then the function is also a straight horizontal line for that period, and the derivative of the function taken at any of those update intervals is thus zero. Hence, even though movement may be occurring by the subject node or the other nodes in the network, if that movement is such that the sum value does not change from update to update, then the rate at which the subject node exchanges routing information with its neighboring nodes does not change.
On the contrary, if the movement of the subject node and/or the other nodes in the network is such that the sum values change from update to update, the derivative of the function taken at those updates will change from update to update. For example, if the movement of the subject node and/or its neighboring nodes produces a certain sum value from equation (1) at an update interval, and then produces a larger sum value at the next update interval, the function plotted between those intervals will be an increasing line. The derivative of that function will thus be a positive value. If the sum value continues to increase from update interval to update interval, the derivative taken at each interval will be a positive value, and can increase if the increase in the sum value is larger from update interval to update interval.
Accordingly, as the derivative of the sum increases, the rate of routing updates must be increased to respond to increased dynamism within the network and force the network connectivity to a steady state. That is, as the derivative of the algorithm becomes positive, the rate of routing information exchange increases to respond to the change in the routing tables. Once a steady state has been achieved, the rate of routing updates can be reduced again to save battery power.
On the other hand, if the sum values decrease from update interval to update interval, the function plotted between those intervals will be a decreasing line. Accordingly, the derivative taken at any of those intervals will be negative. As the derivative becomes negative, the rate of routing information exchange is slowed to recover the bandwidth which is no longer required due to lack of change in the routing tables.
In the case of an instantaneous positive change, followed by a zero derivative, the rate of exchange is slowed gradually to insure that the algorithm does not lead to an oscillating exchange rate. An example of an instantaneous change that could lead to oscillation is the activation of a new node. In this case, routing information is exchanged at a rate greater than the minimum rate to insure that the locality information of the new node is propagated to destinations which might seek to find it. Without a gradual slowdown, nodes which advertise this new node could cause a rapid reaction to the new next hops and routing lengths which may rise as the network converges to the optimum routes.
Additionally, inactive nodes are better candidates for use as a router in the case where routes are chosen between active nodes and inactive nodes. Using an active node would result in the further decrease of throughput for the active node if it were chosen as a router because it is transmitting its own data as well as the data for the node using the active node as a router. This knowledge is propagated to other nodes by including it in periodic control traffic as a routing metric enabling these informed decisions.
Another benefit of the present invention is the ability to elevate the priority of the active nodes within the network 100, making the assumption that other nodes will be more likely to perform operations involving the active node, and thus can elevate the priority of data involving the active nodes, thus increasing the over-all efficiency of how nodes process data. This priority elevation will also cause the network itself to increase the distribution of the active node's control information to a wider area to give the data stream more routing options through the network increasing the robustness and reliability of that data stream.
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.
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 |
5774876 | Woolley 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 |
5844900 | Hong et al. | Dec 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 |
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 |
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 |
6173323 | Moghe | Jan 2001 | B1 |
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 |
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 |
6480505 | Johansson et al. | Nov 2002 | B1 |
6640268 | Kumar | Oct 2003 | B1 |
6665311 | Kondylis et al. | Dec 2003 | B1 |
6788702 | Garcia-Luna-Aceves et al. | Sep 2004 | B1 |
6816862 | Mulgund et al. | Nov 2004 | B1 |
6973335 | Ganton | Dec 2005 | B1 |
20010053699 | McCrady et al. | Dec 2001 | A1 |
20020013856 | Garcia-Luna-Aceves et al. | Jan 2002 | A1 |
20030033394 | Stine | Feb 2003 | A1 |
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 |
Number | Date | Country | |
---|---|---|---|
20040081166 A1 | Apr 2004 | US |