Related subject matter is disclosed in the co-pending, commonly assigned, U.S. patent application of Ahmed et al., entitled “Method And Apparatus For Topology Sensing In Networks With Mobile Nodes” application Ser. No. 09/513,325, filed on Feb. 25, 2000.
This invention relates generally to communications and, more particularly, to wireless systems.
An “ad-hoc” mobile network (ad-hoc network) is a wireless network that comprises a collection of nodes whose positions are continually changing. Unlike a regular wireless network, one can view an ad-hoc network as a network with no fixed infrastructure. For example, all the nodes function as routers and perhaps as base stations; and the mobility of the nodes causes frequent changes in network topology.
It is the varying network topology of an ad-hoc network that causes difficulty in applying routing techniques used in a conventional wireless network. In the latter, the nodes in the network are stationary and the links connecting the nodes go down infrequently. As such, it is possible to maintain the whole network topology at each node by sending topology-related information to all the nodes in the network via, what is known in the art as, “link-state,” updates. Since nodes go down infrequently—link-state updates are infrequent—and this approach works quite well in a conventional wireless network. However, in an ad-hoc network link-state changes are more frequent because of the shifting topology, thus generating many more link-state update messages throughout the ad-hoc network—and consuming valuable bandwidth in the process. Also, construction of consistent routing tables is difficult because of the delay involved in propagating link-state information.
Considering these factors, routing protocols for ad-hoc networks can be classified broadly into two categories: “table-driven” and “source initiated on-demand.” Table-driven routing protocols are similar to the above-mentioned conventional wireless routing approach, i.e., each node attempts to maintain consistent, up-to-date, routing information for all other nodes in the network. Examples of table driven routing protocols are “Destination-Sequenced-Distance-Vector” (DSDV), “Clusterhead Gateway Switch Routing” (CGSR), and the “Wireless Routing Protocol” (WRP) protocols. In contrast, source initiated on-demand routing protocols create routing information only when a source node needs a route to a given destination. Examples of source initiated on-demand routing protocols include “Ad-Hoc On-Demand Distance Vector” (AODV), “Dynamic Source Routing” (DSR), “Temporally Ordered Routing Algorithm” (TORA), and the “Zone Routing Protocol” (ZRP) protocol.
As an illustration of a source initiated on-demand protocol consider ZRP. In ZRP, each node maintains the whole network topology for a local area, or zone, around it. As such, if the node (i.e., the source node) has to send a packet to a destination address in the zone, that routing information is already available. However, if the source node has to send a packet to a destination address outside their zone, then the node initiates a query to all the nodes in the edge of its zone (i.e., edge nodes). If one of these edge nodes has the routing information for the destination address, then that routing information is passed on back to the source node.
We have observed that the above-mentioned forms of ad-hoc network routing protocols generally require a node maintaining accurate information, in one form or another, about how to route to a node in regions that are far away from it. As such, if the number of nodes is large and if there is reasonable mobility of the nodes, getting this information becomes difficult—if not impractical. Therefore, we have devised a geometry-based routing protocol (GRP) in which a source nodes routes a packet to a destination node outside of its local node topology (referred to herein as the local topology) as a function of the distance to the location of a destination node. In accordance with the invention, each node stores location information for nodes of the ad-hoc network and exchanges this location information with adjacent nodes. Thus, location information is gradually propagated throughout the ad-hoc network.
In an embodiment of the invention, each node of an ad-hoc network maintains a location list, which comprises location information for a number of nodes of the ad-hoc network. Periodically, each node transmits to its direct neighbors (i.e., those nodes with which it has a point-to-point link) (a) its location, and (b) its location list. Alternatively, each node periodically transmits its location to all nodes in its local topology and its location list to all of its direct neighbors. Each node that receives a location list from an adjacent node merges the received location list into its own location list such that location information for existing nodes, and/or newly identified nodes, is current.
A portion of an illustrative ad-hoc network embodying the principles of the invention is shown in
For the sake of simplicity it is assumed that all nodes with a transmission radius, r, of node 105 are capable of communicating with node 105.
At this point, the following definitions are made:
It is assumed that each node further comprises global positioning system (GPS) equipment (not shown in
In other words, in the GRP each node knows its local topology for a subset of nodes of the ad-hoc network (connectivity and location) and only location information for other, or distant, nodes of the ad-hoc network (i.e., connectivity is not known for these distant nodes). As will become apparent from the description below, the GRP is capable of implementation using conventional programming techniques, which, as such, will not be described herein.
Illustratively,
As noted, the local topology table of
Although node 105 is capable of communicating with all nodes within the transmission radius r, node 105 only communicates with nodes with which it has established point-to-point links (i.e., its direct neighbors). Similarly, other nodes only communicate with node 105 if node 105 is their direct neighbor. In other words, nodes are preferably connected as point-to-point wireless links that gives rise to a k-neighborhood for a node, which is referred to herein as the local topology for that node. (Also, as noted above, it is possible to use directional antennae and focused beams to communicate between the neighbors in the graph—thereby increasing the capacity of the system.)
Since each node has its own local topology and location information for nodes (including those outside it local topology), the GRA is defined as follows. Let t be the destination address (of a destination, or end, node) of a packet that arrives at a node v, which has a local topology, N(v). In accordance with the GRA, if t≠v, node v determines:
Using the GRA, the packet, in effect, migrates from local topology to local topology until reaching that local topology within which the end node resides.
In the context of
In the application of the GRA within a local topology it is important to ensure that there are no “loops” in the routing. One possible cause of a loop in the GRA routing is the situation where two nodes are the same distance from the destination node. As such, an alternative to equation (2) is equation (3), below:
Also, rather than making routing calculations on-the-fly as packets arrive at a node as illustrated in
As described above, each node has its own local topology. A method for constructing such local topologies is described below.
As noted above, Sk(v) is a k-neighborhood of a node, i.e., the set of nodes that are within k hops of that node. The following additional definition is made:
Note that Rk(v) is constructed as follows. Assume that all nodes are positioned at their respective locations on the plane. Draw a straight line joining node v to some node uεSk(v). Construct the perpendicular bisector of this line. This perpendicular bisector represents a half plane where node v lies in one half space. Let this half space be represented by Pvu. Note that if node wεPvu, then w is closer to v than to u. This process of constructing Pvu is repeated for every uεSk(v), and Rk(v) is the intersection of the half-spaces. It can be shown that there is loopless delivery of packets using GRA if, and only if, there is no node vεV for which there exists a wεV such that wεRk(v). An illustrative example of a k-region for node 105 of
It is assumed that each node of the ad-hoc network performs the method of
In particular, each node uses a topology sensing scheme in step 605. In this topology sensing scheme, each node periodically (or continually) broadcasts an omnidirectional pilot signal modified to additionally convey location information to any node within its transmission radius, r. (As noted above, it is assumed that two dimensional GPS coordinates are provided by each transmitting node and it is these two dimensional GPS coordinates additionally transmitted in the pilot signal.) In the context of step 605, each node listens for pilot signals transmitted by other nodes within hearing distance and recovers the GPS information for each received pilot signal for storage in a table such as the location table of
Construction One:
Construction Two:
Construction Three:
It can be shown that if any of these three constructions is not connected, then no connected network can be formed. Construction One results in a network that is 1-routable. In other words, the network constructed by construction one results in a network where the local neighborhood of any node is the set of nodes that are directly connected to it. If GRA is used to route on this network where the local neighborhood is the 1-neighborhood, then any node can send packets to any other node. Network constructions two and three result in sparser networks (the number of links is lower than construction one). From simulation experiments, it can be shown that these networks are also almost k-routable, e.g., for k=2, or k=4.
After forming links with those nodes within hearing distance that meet one of the above-described criteria, each node through limited flooding propagates its link information (i.e., its direct neighbor table) to enable all nodes to construct their k-neighborhood in step 615. (Again, it is assumed that all nodes use the same value of k.) For example, and referring briefly back to
As noted above, it was assumed that each node knows the location (exact, or approximate) of all other nodes within a transmission radius, r. However, as noted above, it may be the case that a node is outside of the transmission range of a distant node and, therefore, cannot receive location information from that distant node. Although one alternative is simply to drop packets if the location of the distant node is not found, an alternative location update mechanism can also be used. For example, a lazy update mechanism may be used in which position information is periodically updated.
In this lazy update mechanism, each node maintains a list of the locations of all known nodes along with a time stamp as to when that information was generated by those nodes. Let p(i, k) be the position of node k as “seen” by node i and s(i, k) be a “time-stamp” at which the positional information was generated at node k. The time-stamp provides a vehicle for determining the age of the position information. (As can be observed from the discussion above, p(i, k) is a variation of l(v) and is two dimensional GPS information. Illustratively, s(i, k) is an integer value determined as a function of the month, day, year and time-of-day (using a 24 hour clock, e.g., 3:00 PM is 1500 hours).) The location table of
In accordance with the lazy update method, each node periodically transmits its position to its direct neighbors (or, alternatively, to all nodes in its local topology) once every t1 seconds. Further, once every t2 seconds, each node transmits its location list L(i) to its direct neighbors (nodes within one hop). A flow chart of a lazy update method is shown in
If s(i, k)>s(j, k) then s(j, k)=s(i, k) and p(j, k)=p(i, k);
Also, if node j receives from a node a time-stamp associated with a node, k, not on its location list, then, by definition, s(i, k)>s(j, k), and node j adds this new node, k, to its location list. Similarly, node j updates location information for a node, i, already listed on its location list if the received time stamp from a particular location list is more current than the existing time-stamp, i.e., s(i, k)>s(j, k). On the other hand, if node j has more current information for a particular node k, i.e., s(i, k)≦s(j, k), then no change to the location list is performed. Thus, location information is gradually propagated throughout the ad-hoc network by the transmission of location lists from one node to its direct neighbors. This lazy update procedure results in significantly less routing overhead than flooding the entire network with the position information, whenever the position information changes significantly.
As can be observed from the above, there is a certain “warm-up” time for the ad-hoc network when using a lazy update mechanism during which some nodes will not have any information about distant nodes. As noted above, one option for the GRP routing method is to simply discard packets if the location to a distant node is not yet known.
Also, it should be noted that it is possible for a loop to occur using a lazy update mechanism. For example, let t be the destination node for a given packet, and let node v receive this packet from a node u. If node v determines that the next hop for the packet is u, this results in a loop. In order to avoid this, when this situation happens, nodes u and v exchange p(u, t), p(v, t), s(u, t) and s(v, t). The location of node t is resolved in favor of the node that has the more recent information. Both the nodes use this piece of information. With this modification, it can be shown that there can be no infinite loops in the route.
Turning briefly to
As described above, the inventive concept present a simple routing protocol to route packets in ad-hoc networks—large or small. The foregoing merely illustrates the principles of the invention and it will thus be appreciated that those skilled in the art will be able to devise numerous alternative arrangements which, although not explicitly described herein, embody the principles of the invention and are within its spirit and scope. For example, although the GRP identifies the closest node to a distant node, the GRP could be modified to identify any node that is closer to the distant node than the reference node. Also, although described in the context of a wireless application, the GRP could be used in other forms of packet networks such as wired networks, or networks that have combinations of wired and wireless links.
This invention was made with Government support under contract DAAB07-98-C-D009. The Government has certain rights in this invention.
Number | Name | Date | Kind |
---|---|---|---|
5253248 | Dravida et al. | Oct 1993 | A |
5959568 | Woolley | Sep 1999 | A |
5968121 | Logan et al. | Oct 1999 | A |
6456599 | Elliott | Sep 2002 | B1 |