The present invention relates to routing protocols for use in digital communication networks and more particularly to routing processes for avoiding traffic congestion at advantaged and disadvantaged nodes in mobile ad hoc networks.
The term mobile ad hoc network (MANET) refers to an autonomous digital communications system having multiple nodes in which all nodes may not be fully connected to all other nodes, nodes are autonomous and required to make their own routing decisions, nodes are often mobile, and standard hierarchical addressing (addresses assigned based on the sub-network the node is in) is not used. These networks don't usually use servers and routers in the traditional way and are characterized by dynamic topologies formed through the exchange of information by the nodes themselves. Individual nodes in such systems may have multiple communications interfaces but one IP address is usually used to represent all node interfaces. Typical mobile ad hoc networks include cellular telephone systems, emergency services communications systems and military battlefield communications networks.
Many MANET networks include differentiated services, which allow traffic over the network to be prioritized in accordance with different user determined “code-point” classes. Accordingly, different types of traffic may be transmitted through the network in accordance with different behaviors in order to address different quality of service (QoS) objectives and delivery requirements. Differentiated services are very important in military and emergency communications where certain types of messages must be delivered on a priority basis and certain data must be delivered on a regular schedule.
An advantaged node has features that make the node advantageous for use as a router and communications link by many other nodes in a network system. For example, advantaged nodes may have higher connectivity (perhaps by virtue of high altitude), higher bandwidth, or long haul characteristics (such as HF radio, microwave or satellite links). Advantaged nodes may also comprise nodes with interfaces to other systems that provide special services (such as internet access) or provide interfaces to additional links with significantly better connectivity and/or higher bandwidth. A good example of an advantaged node might be a military aircraft flying over a battlefield on which a large number of military ground vehicles are deployed having network nodes which are actively exchanging information with one another and with the over-flying aircraft. Unfortunately, such advantaged nodes have the potential to attract far too much network traffic causing congestion and routing bottlenecks.
A disadvantaged node has features that render it unstable or unreliable in service. Examples of disadvantaged nodes include helicopters which, by virtue of their mission, may be popping in and out of radio frequency (RF) connectivity, a node switching in and out of radio transmit silence mode (EMCON), a node low on power, or a node that is channel surfing and therefore popping in and out of the network. Disadvantaged nodes maybe of two types: either totally disadvantaged or partially disadvantaged. Partially disadvantaged nodes are usually nodes that are low on power, but they may comprise nodes affected by other disabilities: either by type or degree.
Both advantaged nodes and disadvantaged nodes can cause serious communications problems. In mobile ad hoc networks these problems can be especially acute and can arise in unpredictable ways as mobile nodes move and their network links change. In the past, solutions to this problem have been discussed involving the use of modified route discovery routing algorithms adapted for load balancing and for selecting better routing pathways' as opposed to the shortest pathway. Unfortunately, such solutions are usually difficult to implement, involve a considerable increase in computational overhead, and are likely to be most useful in link state type network routing systems.
The present invention comprises a process for use in conjunction with a communications network routing protocol which automatically adjusts for congestion that may occur due to the presence of advantaged and partially disadvantaged nodes in ad hoc communications networks and especially in MANET networks having large numbers of nodes. Each node in these communications networks includes and maintains a routing table having entries which define communications pathways for routing messages through the network to other destinations (other nodes). Each routing table includes communications metrics, representing the costs or efficiencies for transferring messages along the message pathways defined in the table. In accordance with the present invention, each network node checks and determines if it qualifies as an advantaged node which may experience heavy network traffic, potentially causing network traffic congestion and communications delays. Each node also may check and determine whether it comprises a partially disadvantaged node subject to a disability such as low power. Each advantaged node increases one or more of the metrics of all routing pathways through it as they are entered into the routing table it uses to advertise its routing information over the network. The metrics are increased or incremented by a significant amount selected to discourage network traffic from being routed to the advantaged node and passing through it. Each partially disadvantaged node then increases one or more of the metrics of all routing pathways through it as they are entered into its routing table by a large amount selected to discourage all but essential traffic from being routed through it. The advantaged and disadvantaged nodes advertise these special routing tables with adjusted metrics across the network for the purpose of updating the routing tables of all other nodes so that the pathway and metric information is propagated across the network. As a result a substantial amount of the network traffic normally experienced by advantaged and disadvantaged nodes (without the routing metric adjustments) may be routed around them. Nodes may check to determine if they comprise advantaged nodes by calculating a ratio corresponding to the number of the node's communications neighbors divided by the average number of its neighbors' communications neighbors. Alternatively, the amount of the increase in the communications metrics implemented by advantaged nodes may be made a variable function of a measure of how much traffic which advantaged nodes are experiencing, thereby enabling traffic flow through advantaged nodes to be regulated as a function of their traffic load. In an alternative embodiment comprising a communications network featuring differentiated services, the increase in the communications metrics implemented by advantaged nodes may be a function of code-point levels in order to provide traffic conditioning by allowing high priority traffic preferred access to and through advantaged nodes.
It is an object of the present invention to provide a process for use as part of a routing protocol in ad hoc networks which helps adjust and balance network traffic through advantaged and partially disadvantaged nodes and improves communications efficiency through such networks.
It is another object of the present invention to provide a process for use in conjunction with a routing protocol that identifies advantaged nodes and provides a measure of the degree to which a node is advantaged and may be subject to network traffic congestion.
It is a further object of the present invention to provide a process for use as part of a routing protocol that helps balance network traffic in networks having advantaged nodes and discourage network traffic through such nodes in proportion to the degree to which they may be subject to traffic congestion.
It is yet another object of the present invention to provide a process for use as part of a routing protocol that helps adjust network traffic in networks in accordance with differentiated services requirements.
It is a yet further object of the present invention to provide a process for discouraging the routing of low priority network traffic through advantaged nodes while allowing high priority traffic preferred access to advantaged node as a function of code-point service level.
It is yet another object of the present invention to provide a process for use as part of a routing protocol that helps adjust network traffic in a simple manner without a large amount of computational overhead.
Referring now to
The advantaged node 20 attracts traffic from all over the network 10 since it provides an alternative two-hop communications path for all nodes 21-41 that are otherwise three or more hops away from one another. As a consequence, even in a modest sized network such as the network 10 well over fifty percent of the network traffic may try to flow through the advantaged node 20 causing numerous packet collisions and a large amount of traffic congestion at node 20 resulting in unanticipated communications delays which may even lead to messages being dropped.
Advantaged nodes may be recognized by having each network node periodically exchange information with its immediate neighbors to establish a ratio of the number of its immediate neighbors to the average number of its neighbors' immediate neighbors.
This information may be exchanged in conjunction with the normal exchange of routing table data. This ratio may then be compared at each node to a fixed ratio or number such as 3.0 in order to provide an indication of whether the node is currently in a position to be or operate as an advantaged node. In a further embodiment, this ratio may be compared to several fixed numbers in order to define the extent to which the node is advantaged.
Once a node such as the node 20 is identified as an advantaged node, the number of potential collisions may be reduced and traffic congestion minimized on the network 10 by increasing the communications metrics in the routing tables of the nodes 21-41 for all communications pathways through the node 20. This may be accomplished by having the node 20 advertise routing information having specially adjusted metrics. All pathways leading through the node 20 are shown in the routing tables which this node advertises with communications metrics significantly increased or incremented from their true values.
For example, in a network using the common destination sequence destination vector (DSDV) routing protocol, all hop count metrics to destinations through advantaged nodes may be shown as two hops more than their normal values. This discourages traffic through advantaged nodes except where the destination and source nodes are five or more hop counts apart. Likewise, in networks employing a link state type protocol one of the metrics defining the links with the advantaged nodes such as latency may be increased in value to reduce the flow of traffic through the node.
Referring now to
Referring now to
As entries 1-9 in Table 2 illustrate node H20 is one hop away from all other nodes H11-19 in the network. Accordingly, if the routing tables for nodes H11-H19 were to be updated by a normal routing table advertisement from node H20 (reflecting the metrics shown in Table 2) a large number of pathways through node H20 would be established. As illustrated in Table 3 (hypothetical) for node H18 below entries 1-4 would reflect pathways through node H20. Likewise, the routing tables for nodes H11-H17 and H19 would contain a large number of entries for pathways through node H20 and, assuming a moderate communications load on the network 16, node H20 would have the potential to become a bottleneck and source of traffic congestion and potential communication delays. Further, it should be noted that the network 16 has been kept small in size so the principles of the present invention can be illustrated in a fairly simple fashion. The size of the networks involved might in practice be several hundred nodes or more, and the degree of congestion and the amount of delay might easily become serious problems as large volumes of traffic would be routed through any advantaged nodes in such networks.
However, in accordance with the present invention, node H20 advertises a special routing table as shown in Table 4 whenever it detects that it constitutes an advantaged node. As shown in column four of Table 4, the values for the metrics of all routing entries are all incremented by two hop counts so that the pathways through node H20 look longer to the routing path selection algorithms running on the nodes H11-H19 for selecting best pathway to destination connections.
Accordingly, as shown by example in Table 5 with respect to node H18 when the routing tables for nodes H11-H19 are updated with routing information from the special routing table (advertisement table) with adjusted metrics from node H20 (Table 4), a lesser number of pathways through node H20 are established. As compared with Table 3, in Table 5 only entries 1 and 2 pass through node H20. Entries 3 and 4 have been redirected through other nodes. In effect, routes through H20 are established only if the nodes involved would otherwise be more than five hops apart (or four hops apart depending on the exact workings of the routing algorithms for the nodes H11-H19). Likewise, the routing tables for nodes H11-H17 and H19 would contain a lesser number of entries for pathways through node H20, and as a result, node H20 would be less likely to become a bottleneck and be a source of traffic congestion and cause communication delays. Again, the network 16 has been kept small in size so the principles of the present invention can be illustrated in a simple fashion. In practice, the networks involved might include hundreds or even thousands of nodes and the degree of the problem might become very large. In general, this would also require the metrics for routes through any advantaged nodes such as node H20 to be incremented by a larger amount (e.g. in Table 4—several hops instead of just two) in order to redirect sufficient amounts of traffic away from advantaged nodes:
Referring now to
However, the routing protocol for network 50 also provides differentiated services at three different code-points (QoS levels) in forwarding packets across the network as a function of different user assigned priorities associated with different types of communications traffic. The Flash (FLH) code-point represents the highest level of service for high priority data requiring the fastest possible delivery to destination. Assured Forwarding Class 1 (AF1) code-point represents a normal level of service for data of medium priority requiring prompt delivery to destination. The Assured Forwarding Class 2 (AF2) code-point represents the lowest level of service for lower priority data with respect to which modest delivery delays may be tolerated.
Table 6 below defines a sample routing table (hypothetical) showing normal shortest path entries 1-13 for the node T70 in the network 50 as shown in
As shown in
If the routing tables for nodes T05-T60 were to be updated with information from a routing table from node T70 having normal metrics (Table 6), a large number of routes through node T70 would be established as communications pathways between the various nodes in the network. The node T70 would have the potential to become a bottleneck and source of traffic congestion and potential communication delays. Further, it should be noted that the network 50 has been kept small in size so that the principles of the present invention can be illustrated in a fairly simple fashion. The networks involved might in practice include hundreds or thousands of nodes and the degree of this congestion and amounts of resulting delay might easily become serious as very large volumes of traffic are routed through advantaged nodes.
However, in accordance with the present invention, node T70 advertises a special routing table, as shown in Table 7, whenever it detects that it is an advantaged node. As shown in columns 3-5 of Table 7, the values for the metrics of the routing entries are all incremented by ∞ for AF2 (Assured Forwarding 2) traffic, are incremented by two hops for AF1 (Assured Forwarding 1) traffic, and are not incremented at all for FLH (Flash) traffic so that pathways through node T70 will look longer to the routing path selection algorithms running on the nodes T05-T60 for AF2 and AF1 traffic but not for the high priority FLH traffic.
Accordingly, as shown by example in Table 8 with respect to the routing table for node T50, when the routing tables for nodes T05-T60 are updated with routing information from the advantaged node T70 (Table 7) communications traffic through the node T70 is conditioned with a lesser number of pathways being established. In this case only entries 1 and 3 show routes through node T70 for AF1 code-point traffic and no entries are shown for routes through node T70 for AF2 code-point traffic, while six entries (entries 1-6) are shown through T70 for high priority FLH code-point traffic. In effect, AF1 traffic routes through T70 are established only if the nodes involved would otherwise be five or more hops apart (or four or more hops apart depending on the exact workings of the routing algorithms for the nodes T05-T60). No routes through node T70 are established for AF2 traffic and traffic across the network is routed as if node T70 did not exist. On the other hand, FLH traffic routes are established through node T70 in a normal manner. Likewise, the routing tables for nodes T05-T45 and T55-T60 would contain fewer entries for pathways through node T70. As an overall result node T70 would be much less likely to become a bottleneck and source of traffic congestion and communication delays. Again, the network 50 has been kept small in size so that the principles of the present invention can be illustrated in a simple fashion. In practice, the networks involved might include hundreds or even thousands of nodes and the extent of the advantaged node problem might become very large requiring the metrics for routes through advantaged nodes (such as T70) to be incremented by larger amounts for AF1 traffic (Table 7—several hops instead of just two) to help redirect sufficient amounts of traffic away from advantaged nodes.
Table 8 shows how different routes through networks such as network 50 may be selected and traffic on the network regulated according to QoS objectives by raising the metric costs of routing through selected nodes for certain code-points. This route selection is then based on end-to-end optimization of differentiated services requirements. Raising of the metric costs can be either static or dynamic as a function of operating conditions (such as measures of connectivity, overall traffic or congestion). However, if a dynamic mechanism is used to change the cost of a link for a particular code-point then the changing of the cost metric values should be smoothed to ensure network thrashing does not occur.
Similarly the problems associated with routing through partially disadvantaged nodes (such as nodes low on power) may also be addressed by adjusting the routing table cost metrics which they advertise to other nodes in the network. The cost metric may be raised to infinity for all destinations on routes passing through the node in which case the node will operate as a host to receive traffic only. Alternatively, cost metrics associated with disadvantaged nodes may be raised with the exception of one or two selected differentiated services code-point classes in order to allow access to the node by high priority communications traffic only.
The mechanism that is used to raise the metric cost of routing through selected nodes is independent of the exact type of routing protocol. In the case of link state protocols, the latency metric for links with advantaged nodes may be increased to discourage traffic from being routed through such nodes. Furthermore, load leveling may be accomplished by controlling the metric costs through selected advantaged nodes when multiple paths that meet the requirements of a given code-point are available. This potentially increases the bandwidth provided to the user by using multiple paths more efficiently.
Although the invention has been described with reference to certain embodiments for which many implementation details have been described, it should be recognized that there are other embodiments within the spirit and scope of the claims and the invention is not intended to be limited to the details described with respect to the embodiments disclosed.
Number | Name | Date | Kind |
---|---|---|---|
4504946 | Raychaudhuri | Mar 1985 | A |
4763322 | Eizenhofer | Aug 1988 | A |
5012469 | Sardana | Apr 1991 | A |
5117422 | Hauptschein et al. | May 1992 | A |
5245609 | Ofek et al. | Sep 1993 | A |
5295140 | Crisler et al. | Mar 1994 | A |
5396496 | Ito et al. | Mar 1995 | A |
5420858 | Marshall et al. | May 1995 | A |
5448698 | Wilkes | Sep 1995 | A |
5450394 | Gruber et al. | Sep 1995 | A |
5457681 | Gaddis et al. | Oct 1995 | A |
5502722 | Fulghum | Mar 1996 | A |
5506848 | Drakopolous et al. | Apr 1996 | A |
5568477 | Galand et al. | Oct 1996 | A |
5581548 | Ugland et al. | Dec 1996 | A |
5594720 | Papadopolous et al. | Jan 1997 | A |
5598417 | Crisler et al. | Jan 1997 | A |
5613198 | Ahmadi et al. | Mar 1997 | A |
5625629 | Wenk | Apr 1997 | A |
5644576 | Bauchot et al. | Jul 1997 | A |
5652751 | Sharony | Jul 1997 | A |
5696903 | Mahany | Dec 1997 | A |
5719868 | Young | Feb 1998 | A |
5742593 | Sharony et al. | Apr 1998 | A |
5748362 | Delacourt et al. | May 1998 | A |
5909469 | Frodigh et al. | Jun 1999 | A |
5920703 | Campbell et al. | Jul 1999 | A |
5949760 | Stevens et al. | Sep 1999 | A |
5953344 | Dail et al. | Sep 1999 | A |
5983259 | Campbell et al. | Nov 1999 | A |
6014089 | Tracy et al. | Jan 2000 | A |
6018528 | Gitlin et al. | Jan 2000 | A |
6031827 | Rikkinen et al. | Feb 2000 | A |
6084888 | Watanabe et al. | Jul 2000 | A |
6084889 | Murakami | Jul 2000 | A |
6088659 | Kelley et al. | Jul 2000 | A |
6094425 | Auger et al. | Jul 2000 | A |
6094429 | Blanchette et al. | Jul 2000 | A |
6122293 | Frodigh et al. | Sep 2000 | A |
6140184 | Dupuy | Oct 2000 | A |
6151319 | Dommety et al. | Nov 2000 | A |
6157656 | Lindgren et al. | Dec 2000 | A |
6252868 | Diachina et al. | Jun 2001 | B1 |
6256304 | Vayrynen | Jul 2001 | B1 |
6256477 | Eidson et al. | Jul 2001 | B1 |
6275506 | Fazel et al. | Aug 2001 | B1 |
6304559 | Jacklin et al. | Oct 2001 | B1 |
6310867 | Tat et al. | Oct 2001 | B1 |
6314084 | Kahale et al. | Nov 2001 | B1 |
6317436 | Young et al. | Nov 2001 | B1 |
6324184 | Hou et al. | Nov 2001 | B1 |
6331973 | Young et al. | Dec 2001 | B1 |
6353598 | Baden et al. | Mar 2002 | B1 |
6353605 | Rautanen et al. | Mar 2002 | B1 |
6369719 | Tracy et al. | Apr 2002 | B1 |
6384739 | Roberts, Jr. et al. | May 2002 | B1 |
6389273 | Brandenburg | May 2002 | B1 |
6414955 | Clare et al. | Jul 2002 | B1 |
6442157 | Carter et al. | Aug 2002 | B1 |
6466793 | Wallstedt et al. | Oct 2002 | B1 |
6487186 | Young et al. | Nov 2002 | B1 |
6498667 | Masucci et al. | Dec 2002 | B1 |
6504829 | Young et al. | Jan 2003 | B1 |
6515972 | Gage et al. | Feb 2003 | B1 |
6529443 | Downey et al. | Mar 2003 | B2 |
6553424 | Kranz et al. | Apr 2003 | B1 |
6556899 | Harvey et al. | Apr 2003 | B1 |
6574206 | Young | Jun 2003 | B2 |
6600754 | Young et al. | Jul 2003 | B1 |
6628636 | Young | Sep 2003 | B1 |
6631124 | Koorapaty et al. | Oct 2003 | B1 |
6643322 | Varma et al. | Nov 2003 | B1 |
6711177 | Young et al. | Mar 2004 | B1 |
6771626 | Golubiewski et al. | Aug 2004 | B1 |
6781967 | Young et al. | Aug 2004 | B1 |
6791994 | Young et al. | Sep 2004 | B1 |
6810022 | Young et al. | Oct 2004 | B1 |
7139262 | Elliott | Nov 2006 | B1 |
7177295 | Sholander et al. | Feb 2007 | B1 |
7200116 | Kobayashi | Apr 2007 | B2 |
7200122 | Goringe et al. | Apr 2007 | B2 |
7212490 | Kao et al. | May 2007 | B1 |
7440573 | Lor et al. | Oct 2008 | B2 |
20020001294 | Amouris | Jan 2002 | A1 |
20020046381 | Morris et al. | Apr 2002 | A1 |
20030202574 | Budka et al. | Oct 2003 | A1 |