Routing in wireless networks has been heavily studied in the last decade. Many routing protocols are based on classic shortest path algorithms. However, shortest path-based routing protocols suffer from uneven load distribution in the network, such as crowed center effect where the center nodes have more load than the nodes in the periphery. Aiming to balance the load, we propose a novel routing method, called Circular Sailing Routing (CSR), which can distribute the traffic more evenly in the network. The proposed method first maps the network onto a sphere via a simple stereographic projection, and then the route decision is made by a newly defined "circular distance" on the sphere instead of the Euclidean distance in the plane. We theoretically prove that for a network, the distance traveled by the packets using CSR is no more than a small constant factor of the minimum (the distance of the shortest path). We also extend CSR to a localized version, Localized CSR, by modifying greedy routing without any additional communication overhead. In addition, we investigate how to design CSR routing for 3D networks. For all proposed methods, we conduct extensive simulations to study their performances and compare them with global shortest path routing or greedy routing in 2D and 3D wireless networks.
Recently, wireless networks draw lots of attention due to their potential applications in various areas. They intrinsically have many special characteristics and some unavoidable limitations compared with traditional fixed infrastructure networks. Energy conservation and scalability are probably two most critical issues in designing protocols for large scale wireless networks because wireless devices are usually powered by batteries only with limited computing capability and the number of such devices could be very large.
Routing is one of the key topics in wireless networks and has been well studied. Many routing protocols were proposed for different purposes. For example, there are power efficient routing for better energy efficiency, cluster-based routing for better scalability and geographical routing to reduce the overhead. In this paper, we are interested in designing a load balancing routing for large wireless networks. By spreading the traffic across the wireless network via the elaborate design of the routing algorithm, load balancing routing averages the energy consumption. This extends the lifespan of the whole network by extending the time until the first node is out of energy. Load balancing is also useful for reducing congestion hot spots thus reducing wireless collisions. Notice that there are already several load balancing routing protocols [1–5] in literature. However, most of them try to dynamically adjust the routes to balance the real time traffic load based on the knowledge of current load distribution (or current remaining energy distribution), which is not very scalable for large wireless networks. Here, we assume that individual node does not know the current load and each node may want to talk with all other nodes. We then address how to design load balancing routing for all-to-all communication scenario in a network.
Notice that most of routing protocols are based on shortest path algorithm where the packets are traveled via the shortest path between a source and a destination. Even for the geographical localized routing protocols, such as greedy routing, the packets usually follow the shortest paths when the network is dense and uniformly distributed. In greedy routing, the packet is forwarded to the neighbor which is nearest to the destination. Taking the shortest path can achieve smaller delay or traveled distance, however it can also lead to the uneven distribution of traffic load in a network. For example, nodes in the center of a network will have heavier traffic since most of the shortest routes go through them. This is just like the transportation system around a big city where the downtown area is always the "hot spot." Figure 1 shows a simulation result on this scenario. The network is distributed on a grid, and the network topology is shown in Figure 1(a). Consider an all-to-all communication scenario, that is, each node sends one packet to all other nodes using Shortest Path Routing (SPR) algorithm. Figure 1(b) illustrates the cumulative traffic load (i.e., number of packets passing through) for each node. It is clear that nodes in the center area have much higher traffic load than nodes in other areas, therefore, nodes in the center will run out of their batteries very quickly.
To avoid the uneven load distribution of shortest path routing, we focus on designing routing protocols for wireless networks which can achieve both small traveled distance and evenly distributed load in the network. Inspired from circular sailing (or called globular sailing), which sails on the arc of a great circle to make the shortest distance between two places on the earth, we propose a new routing algorithm called Circular Sailing Routing (CSR). In CSR, wireless nodes in a 2D network are mapped to a sphere using reversed stereographic projection and the routing decision is made based on a newly defined "circular distance" on the sphere instead of the Euclidean distance in 2D plane. By doing so, the traffic from one side to another side of the network area will avoid the center area. Thus, "hot spots" are eliminated and the load is balanced.
However, there is no such thing as a free lunch. While load balancing routing protocol try to even the load distribution, it also uses longer routes than the shortest paths. In general, this means load balancing routing may need more relaying nodes to deliver the packets thus leads to large energy consumption. We treat the increase of path length as the cost of load balancing. We formally define the competitiveness and stretch factor of any routing method compared to SPR. Given a routing method , let be the path found by to connect the source node and the target node . A routing method is called -competitive if for every pair of nodes and , the total length of path is within a constant factor of the length of the shortest path connecting and in the network. The constant factor is called stretch factor (or competitiveness factor) of . Then, we theoretically prove that for any networks, the stretch factor of CSR is bounded by , where is a constant parameter only depends on the ratio between the size of the network and the radius of the sphere used in CSR. In other words, CSR can guarantee the total distance traveled by packets is constant competitive even in the worst case.
Notice that recently Popa et al.  also proposed a similar routing technique, called curveball routing (CBR), which maps the 2D network on a sphere using another stereographic projection method and route the packets based on spherical distances between their virtual coordinates on the sphere. However, the authors did not provide any formal study on the competitiveness of CBR, except claimed that "in the presented simulation, curveball routing increases the average path length by less thancompared to the greedy paths. Similarly, the longest path increases by."
CSR can be easily implemented based on either shortest path routing or greedy routing. The only modification is a simple mapping calculation of the position information and the computational overhead is negligible. There are no changes to the communication protocol and no any additional communication overhead.
The rest of the paper is organized as follows. In Section 2, we first introduce stereographic projection and different distance metrics. Then we present our Circular Sailing Routing (CSR) protocol, prove its bounded stretch, and compare its performance with Shortest Path Routing via simulations in Section 3. In Section 4, we extend CSR to a localized version (LCSR) and compare its performance with greedy routing. In Section 5, we further extend CSR and LCSR to 3D versions for 3D networks. Two mapping methods for 3D CSR are proposed and theoretical analysis of their stretch factor are provided. We review related work in Section 6 and conclude our paper in Section 7. A preliminary conference version of this article appeared in . This version introduces a new definition of circular distance which fixes a bug in the proof of Lemma 2, contains a new 3D projection method and stretch analysis for 3D networks, and provides better overall presentation.
2.1. Stereographic Projection
In projective geometry, the stereographic projection  is a certain mapping (function) that projects a sphere onto a plane. Intuitively, it gives a planar picture of the sphere. The projection is defined on the entire sphere, except at one point—the projection point. Where it is defined, the mapping is smooth and bijective. It is also conformal, meaning that it accurately represents angular relationships (i.e., local angles on a sphere are mapped to the same angles in the projection). On the other hand, it does not accurately represent area, especially near the projection point. Stereographic projection finds usage in many fields including cartography, geology, and crystallography. Sarkar et al.  first applied stereographic projection in wireless networks. They proposed a double rulings scheme for information brokerage in sensor networks where data replica are stored at a curve (a circle on the sphere), and the consumer travels along another curve which is guaranteed to intersect with the producer curve. In this paper, we use a reversed stereographic projection to map wireless nodes in a 2D plane onto a 3D sphere. (When the context is clear, we ignore the word of "reversed".)
Figures 2(a) and 2(b) show two approaches to perform stereographic projection and they place the plane differently. In this paper, we use the first approach. As shown in Figure 2(a), we put a sphere with radius tangent to the plane at the origin . Denote this tangent point as the south pole and its antipodal point as the north pole . A point on the 2D plane is mapped to on the sphere, which is the intersection of the line through and and the sphere. This provides a one-to-one mapping from the 2D projective plane to a 3D sphere. Notice that stereographic projection preserves circles and angles. That is, a circle on the sphere is a circle in the plane and the angle between two lines on the sphere is the same as the angle between their projections in the plane.
By simple geometric calculations, we can compute the 3D position on the sphere via the reversed projection by the following method.
Given a node with position in the 2D plane, the 3D position of its reversed stereographic projection point is , where ; ; .
Figure 3 illustrates examples of reverse stereographic projection of an 81-node grid network ( grid in a square area). We use the position of the center node as the tangent point where the sphere is put. Nodes in the grid network are mapped to nodes on the sphere. Here, we try different sizes of the sphere (with radii , or ). It is clear that the size of the sphere affects the distribution of the mapped nodes on the sphere. With a larger sphere (), the mapped nodes are all nearer to the south pole in the lower half sphere and have similar distribution of the original grid network. With a smaller sphere (), more nodes are mapped to the upper half sphere. With which is near the half of the radius of the grid network, all nodes are mapped to the lower half sphere more evenly.
Actually, there are several one-to-one projections to map points on a sphere to points in the plane. Besides stereographic projections (Figures 2(a) and 2(b)), there are area-preserving map projections, such as the Lambert azimuthal equal-area projection. As shown in Figure 2(c), Lambert azimuthal equal-area projection maps on the sphere to in the plane, such that the distance from to the tangent point is equivalent to the distance from its projection to . This mapping is not conformal, but equal-area. An equal-area projection maintains size at the expense of shape. In this paper, we use stereographic projection in our scheme and remark that other spherical mapping can also be used but the bounded stretch may not hold.
2.2. Distance Metrics
In this paper, we will use three different distances as the route metric in routing algorithm: Euclidean distance, spherical distance and circular distance.
The Euclidean distance between two pints and , denoted by , is the length of the straight line connected and . This distance metric is used by classic shortest path routing and greedy routing.
The spherical distance (also called great circle distance or geodesic shortest distance) between two projection points and on the sphere, denoted by , is the shortest distance between any two points on the surface of a sphere measured along a path on the surface of the sphere. See Figure 4(a) for illustration. The shortest distance of and on the surface is the arc distance along the greatest circle defined by the positions of , and . Given the positions of and , we can easily get the distances of , , and . Then, , and thus, . Notice that . This distance metric is used by curveball routing.
The third distance, circular distance between two projection points and , is a new distance on the sphere introduced by us in this paper. Let the great circle passing , and centered at be . Then its corresponding projection in the 2D plane is also a circle, denoted by , which passes , and is centered at . Here, may be different with the south pole . Let be the arc on which is the projection of the arc of the spherical distance . Let the angle of be denoted by as shown in Figure 4. If , we define the spherical distance as the circular distance, that is, , as shown in Figure 4(a). Otherwise, we use the length of the longer arc on the great circle as the circular distance, as shown in Figure 4(b). In this case, . In summary, the circular distant can be calculated as follows:
3. Circular Sailing Routing
In this section, we first present our Circular Sailing Routing (CSR) based on stereographic projection, and then give both theoretical analysis on the stretch factor of CSR and simulation results of CSR compared with the shortest path routing.
3.1. Routing Algorithm
The stereographic projection maps an infinite plane onto a sphere. For a wireless network, the area in which the wireless nodes lie corresponds to a finite region of the plane. Let this region be called . With the information of the network region, we can place the south pole of a sphere at the center of the network, whose coordinate is . The radius of is an adjustable parameter for our proposed routing method. Here, we assume each node knows the radius of the projection sphere. This can be done via either a pre set before the deployment or a broadcast operation after the deployment. Any point in maps to on the sphere . It is a one-to-one mapping, where for some . Here is the value of the highest projection on the sphere.
The basic idea of circular sailing routing is letting packet follow the circular shortest paths on the sphere instead of the Euclidean shortest paths in 2D plane. Because there is no hot spot on the sphere where most of the circular shortest paths must go through, we expect circular sailing routing can achieve better load balancing than shortest path routing. The detailed routing algorithm is given as Algorithm 1.
Algorithm 1: Circular sailing routing.
1: Mapping: Map each node in the 2D plane to a
node on the sphere (using Method 1).
2: New Metrics: For any existing link between two
nodes and in the network, calculate the shortest
circular distance on the sphere between their projected
nodes and (i.e., ). We use as
the cost of link, and call it circular distance.
3: Routing: Applying general shortest path routing with
circular distance as the routing metric, choose the route
with smallest total circular distance.
3.2. Analysis of Stretch Factor
In this section, we provide theoretical analysis on the stretch factor of CSR. Recall that a routing method is called -competitive or with-bounded stretch if for every pair of nodes and , the total length of path found by is within times of the shortest path connecting and in the network. Hereafter, we call the Stretch Factor (SF).
3.2.1. Relationships among Distance Metrics
Before giving the proof, we need to present some preliminaries for stereographic projection. Assume that the furthest wireless node is of distance from the center (i.e., south pole of the sphere), then the value of the highest projection on the sphere (i.e., the value of ) is
Recall that circles on the sphere map to circles in the plane, thus the projection of a great circle on the sphere is also a circle in the plane. The spherical distance is the distance of the shorter arc from a node to a node along the great circle on the surface of . Let be the distance of an arc between and along the projection of and the great circle in the plane (Figure 5). The circular distance is also the distance of the shorter arc from to on the great circle (i.e., , as shown in Figure 4(a)) when and is the distance of the longer arc from to on the great circle when as shown in Figure 4(b). Let be the distance of an arc in the plane between and along the projection of the arc of as in Figure 4(b). Remember that denotes the Euclidean distance between and in the plane. The following two lemmas show that the relationships among , , and . The major part (relation between and ) of Lemma 1 and its proof are the same with those of [9, Theorem 1]. However, we provide its proof for completeness.
Consider any two nodes and on the sphere with their projections in the plane and , one has
First, since the Euclidean distance of two points is always smaller than the distance along any arc passing them, that is, . Second, the spherical distance on the sphere is always smaller than the circular distance on the sphere, that is, . Thus, we only need to prove .
Notice that it is one-to-one mapping between points on and points on , where is a miniature segment on . Similarly, , where is the projection of in the plane. See Figure 5 for illustration. is a tiny segment on with length , and . The projection of is with the length . Let be the projection of on the line segment . The valued of (or ) is denoted by . Then
When ,, that is, , we can look and as in the same plane (the plane defined by nodes , and ), more specifically, the two arcs pass through and are concentric at north pole . Then,
Because the highest value of is , we have
This finishes our proof.
Consider any two points and on the sphere with their projections on the plane and , one has
Similar to the proof of Lemma 1, assume that is a miniature segment on defined for and is the projection of in the plane. From the proof of Lemma 1, we know . Thus, , and
Figure 6 shows a top view of the arc of in the plane . Arc is a segment between and of a circle centered at with the radius . Notice that is not necessarily the center of the sphere. Then we have and . By the definition of circular distance, the angle of the arc is less or equal to . Therefore,
When , reaches its maximum value, . Thus, . This concludes the proof: .
Notice that the relation in above lemma does not hold for spherical distance, since for spherical distance maybe larger than as shown in Figure 4(b). In other words, could be larger than .
3.2.2. Bounded Stretch Factor of CSR
Now we are ready to prove the main theorem of this paper about the stretch factor of CSR. We want to prove CSR can find a path whose length is within a small constant factor of the minimum even in the worst case scenario.
There are four paths we will use in the proof. Figure 7 illustrates their definitions and the relationship among them. The dotted line in the plane represents the shortest path generated by a shortest path routing connecting the source and the destination , denoted by . The dotted line on the sphere is the surface path connecting all the projections on the sphere of each node along using the circular distance, denoted by . The solid line in the plane represents the path found by CSR protocol, denoted by and the solid line on the sphere is the surface path connecting all the projections of each node along , denoted by . Notice that, in any two points along a path in the plane, the shortest distance is the straight line connecting them, meanwhile the circular distance of its projection on the sphere is a segment (an arc) of a great circle. For a path in the plane, we define as the summation of the Euclidian distance of each link in . For a path on the sphere, we define as the summation of the length of each arc in .
The stretch factor of CSR is bounded by , that is,
Let , where and . Let the projection of on the sphere . Similarly, let , where and . Let the projection of on the sphere , where and . and are the projections of source and destination on the sphere. Notice that may not equal to .
From Lemma 1, we know , therefore, . According to the CSR protocol, since is the shortest path using circular distance metric on the sphere. From Lemma 2, we have . Thus, . Consequently, we have
Theorem 1 gives a theoretical bound of the stretch factor of CSR protocol. It shows that the path length in CSR protocol is not too much different from the shortest path routing. Since , with the adjustable parameter (i.e., the radius of the sphere), we can control the stretch factor.
We now evaluate the performance CSR via simulations for both grid networks and random networks. In both cases, wireless nodes are distributed in a square area. In CSR, the south pole of the sphere is tangent at the center of this area. Nodes in the area are mapped to nodes on the sphere during the calculation of new metric. Here, we try different sizes of the sphere (with radii , or , as shown in Figure 3). It is clear that the size of the sphere affects the distribution of the mapped nodes on the sphere.
We first deploy the nodes on a grid in a square area, and then set the transmission range of all nodes to . The resulted topology is shown in Figure 3(a). We compare the performance of the shortest path routing (SPR) and the circular sailing routing (CSR) under the all-to-all communication scenario. In other words, we assume every pair of nodes in the network has unit message to communicate. Figure 8(a) shows the distributions of each node's traffic load for both SPR and CSR when the radius of the sphere . It is clear that the load of CSR (Figure 8(a) (i)) is more evenly distributed than the load of SPR (Figure 8(a) (ii)). The hot spot problem (center nodes with highest load) is avoided in CSR. Figure 8(b) shows the average (Avg), maximum (Max) traffic load, and standard deviation (STD) of traffic load for all nodes in the network for SPR and CSR with different radii. The average traffic load of CSR are larger than SPR, especially when (i.e., most nodes are mapped to the upper half sphere). This is reasonable because the SPR has the least total traffic load than any other routing algorithms. Remember that SPR uses the shortest path for each pair of nodes. When and , CSR has smaller maximum load and the STD of load is much less than SPR. Thus, CSR can balance the load traffic for each node (s.t., the power consumptions of all nodes are more even). These results meet our design objective well with only a little bit more average traffic load. We also find that when the nodes are mapped to the bottom half sphere (i.e., ), CSR has the best performance compared with other sizes of the sphere. When the radius is very large, the nodes are mapped to the area around the south pole, which has similar distribution with the original network. In such case, simulation results show that CSR's performance is similar to SPR on the original network.
We also study the stretch factor (SF) of CSR. From Theorem 1, the distance traveled by CSR satisfies , where . In our simulation settings, . Thus, when , and , , and , respectively. We measure the SF for each route generated by CSR in our simulation. Table 1 gives the average and maximum stretch factor (Avg SF and Max SF) of CSR with different radii. The simulation results of SFs confirm our theoretical bounds. Actually the practical SFs are much smaller than the bounds, and very close to . In other words, not only CSR has balanced traffic load but also the distance traveled by the packets is almost the same as the minimum (the distance of the shortest path).
We also test the performance of CSR with random networks. nodes are randomly deployed in the field with transmission range set to . We run the simulation for random networks and take the average. Figure 8(c) and the lower half of Table 1 summarize the performance comparison of CSR for random networks. CSR () has the best performance, that is, much smaller maximum load and load STD with little greater average load and the average SF is very close to . CSR () has similar performance with SPR because the mapped positions on the sphere are similar to those in the original network.
4. Localized Circular Sailing Routing
The geometric nature of wireless networks allows the promising idea: localized routing protocols. In localized routing protocols, by assuming each node has position information, the routing decision is made at each node by using only local neighborhood information. It does not need the dissemination of route discovery information, and no routing tables are maintained at each node. The most popular localized routing is greedy routing  where the current node always finds the next relay node such that the distance is the smallest among all neighbors of . Our circular sail routing is easy to be extended to a localized version which can achieve better load balancing than greedy routing.
4.1. Routing Algorithm
Similar to the classical greedy routing, the Localized Circular Sailing Routing (LCSR) just forwards the packet to the neighbor whose projection is closest to the projection of the destination on the sphere. Notice that each node only needs to know its neighbors' positions to make the routing decision. The detailed routing algorithm is given in Algorithm 2.
Algorithm 2: Localized circular sailing routing.
1: For each neighbor , node maintains both a 2D
position of in the plane and a 3D position of its
projection on the sphere . Node also maintains
its own 2D position and its projection's 3D position.
2: While node receives a packet with destination do
3: if, where is the transmission range then
4: Forward the packet to directly and return.
5: Map to its projection (i.e., get its 3D position).
6: if, s.t., its projection satisfies
7: Forward packet to node with the minimum .
9: Simply drop the packet.
If LCSR can find a neighbor to forward the packet at each step, it will guarantee to reach the destination in finite steps. The proof will be similar to the one for greedy routing. However, LCSR cannot always find the forwarding neighbor since it could fail into a local minimum where no such neighbor exists. To solve this problem, we can switch to greedy routing to find a forwarding neighbor who is nearest to destination in 2D plane. If the greedy routing cannot find a forwarding neighbor either, face routing in the plane can be applied to get out of the local minimum as in [10, 11]. If the packet reaches a location whose projection is closer to the projection of the destination than the projection of the position where the previous LCSR has failed, then LCSR is resumed.
We test the performance of LCSR algorithm by using the same grid and random networks which are used in Section 3.3. We also assume all-to-all communication in the networks. Classical greedy routing is used for comparison. For simplicity, in the simulation, we implement LCSR without any recovery mechanisms, that is, LCSR (Algorithm 2) simply drops the packet at the local minimum.
Figures 9(a) and 9(b) show the performance comparison of Greedy Routing and LCSR for the grid networks and random networks, respectively. Here, the data for random networks is the average value of 50 random generated networks. It is clear that LCSR with has the best performance, that is, smallest maximum traffic load and STD load for both gird and random networks. The delivery ratio is and almost for grid and random networks, respectively. For example for the gird network, the of Greedy Routing is while the of LCSR () is , which is reduced about . The is also decreased by about (from to ). The of LCSR () and Greedy Routing are at the same value of . Again, LCSR () has very similar performance with greedy routing, since the larger the sphere, the more alike the distribution on the sphere to the original 2D distribution.
We also measure the Stretch Factor (SF) of CSR. Here, CF is the factor between the distance traveled by the packet in CSR and the distance traveled in greedy routing, if both routing methods can find a path between the source and the destination. In the simulation, we randomly select routes ( source nodes and destination nodes are randomly chosen ) and calculate the SF for each route. Table 2 gives the results for both grid and random networks. Though we do not have any proof of theoretical bounds, the SFs are very small in practice.
5. D Circular Sailing Routing
So far we consider routing in 2D network and how to map the nodes onto a sphere so that routing along the sphere can balance the traffic load. The assumption of 2D network is somewhat justified for applications where wireless devices are deployed on earth surface and where the height of the network is much smaller than the transmission radius of a node. However, 2D assumption may no longer be valid if a wireless network is deployed in space, atmosphere, or ocean, where nodes of a network are distributed over a three-dimensional (3D) space and the difference in the third dimension is too large to be ignored. In fact, recent interest in wireless sensor networks hints at the strong need to design 3D wireless networks. 3D wireless networks can be used in many applications, such as a underwater wireless sensor network  for 3D ocean environment observation or a 3D space network for space explorations . In a 3D network, the problem of uneven load distribution also exists. Figure 10(a) shows a 3D grid network with nodes. Consider an all-to-all communication scenario, that is, each node sends one packet to all other nodes using shortest path routing protocol. Figure 10(b) illustrates the cumulative node traffic (i.e., number of packets passing through) for each node. Clearly, the center nodes of each level have higher load and the two middle levels have much higher load than the top and bottom levels. Therefore, nodes in the center or in the middle levels may run out of their batteries very quickly. To avoid the uneven load distribution of shortest path routing, we are also interested in how to extend the circular sailing routing to 3D wireless networks. To the best of our knowledge, our 3D method (3D-CSR) is the first one to target at the design of load balancing routing in 3D wireless networks.
Fortunately, the idea of circular sailing routing can also be extended to 3D. Instead of mapping a plane to the surface of a sphere, 3D-CSR maps wireless nodes in a 3D region to the surface of a 3D or 4D sphere.
5.1. One-to-One Projection Methods
We propose two projection methods to map the nodes in 3D Euclidean space to a sphere (either a 3D sphere or a 4D sphere).
Projection Method 1: Projection on 3D Sphere
For a 3D wireless network, wireless nodes are distributed in a finite 3D region (e.g., a cube). With the information of the network region, we can place the center of a 3D sphere at the center of the network, whose coordinate is . The radius of the 3D sphere is again an adjustable parameter. Any point in maps to on the 3D sphere. Here is the 3D position of the projection node , and is the Euclidean distance from to the center . As shown in Figure 11(a), is the intersection point of the 3D sphere and line . Sometimes the node is inside the sphere as node in Figure 11(a). It is easy to show that the virtual coordinates of can be computed by the following equations: , , , and . Notice that we need to specially deal with the node to guarantee that the projection is a one-to-one mapping. Here, we force to map it to the north pole with virtual coordinates .
To calculate the circular distance between two projections and , there are two cases as shown in Figures 11(a) and 11(b). If and are in different positions on the sphere (Figure 11(a)), is the shortest surface distance on the sphere, which can be computed by . In the second case, and are at the same point on the sphere (Figure 11(b)), then we calculate as the Euclidean distance between nodes and , that is, .
Projection Method 2: Projection on 4D Sphere
In the second projection method, we still use the stereographic projection to map the nodes in 3D networks to a 4D sphere. Stereographic projection can be extended to high-dimensional space and sphere. Here, we use it to map a 3D region (a 3D hyperplane) onto a 4D sphere. A 4D sphere (also called 3-sphere in math), often written as , is the set of points in -dimensional Euclidean space which are at distance from a fixed point of that space. This fixed point is the center of the 4D sphere. Stereographic projection is conformal in any dimension, that is, it preserves the angles at which curves cross each other and also preserves circles. Therefore, a circle on the sphere is also a circle in the plane (or hyperplane). As shown in Figure 11(c), we put a 4D sphere with radius tangent to the 3D hyperplane at the center of the network. Denote this tangent point as the south pole of the 4D sphere and its antipodal point as the north pole . This 4D sphere can be defined as . A point in the 3D hyperplane is mapped to on the 4D sphere, which is the intersection of the line with the 4D sphere. This provides a one-to-one mapping of the 3D projective hyperplane to a 4D sphere. It is easy to show that the virtual coordinates of can be computed by the following equations: , , , and .
Geodesics are curves on a surface which give the shortest distance between two points. They are generalization of the concept of a straight line in the plane. For all spheres, the geodesics are great circles. For any two nodes and in 3D network, the geodesic of its projection and on the 4D sphere is where . Similar to 2D case, we can then define our circular distance as follows,
where in 3D space.
5.2. Routing Algorithm
All the routing algorithms (3D-CSR or 3D-LCSR) in 3D networks are the same as 2D-CSR and 2D-LCSR (Algorithms 1 and 2), except for the projection method and the definition of circular distance . In 3D CSR, each node uses the above projection method (either method 1 or method 2) to compute the virtual coordinates of itself and its neighbors on the sphere. For any link , 3D-CSR can calculate the circular distance on the sphere between projected nodes and (i.e., ) and use it as the routing metric. For 3D-LCSR, current node chooses the neighbor if is the minimum among all neighbors.
5.3. Analysis of Stretch Factor
Similar to CSR in 2D networks, 3D CSR can balance the load and eliminates the crowed center effect, but at the same time it uses longer path between the source and the destination than the shortest path routing. This may increase the total delay of the packet delivery. Therefore, we now theoretically study the stretch factor of 3D CSR with Projection Method 1 or Projection Method 2.
The stretch factor of 3D CSR with Projection Method 1 (3D-CSR-I) is not bounded.
We prove the theorem by constructing an example where CSR has a arbitrary large SF. See Figure 12 for illustration. The network only has four nodes: , , and with coordinates , , , and respectively. Here, could be an arbitrary small number. The network only has four links: , , , and . From to , there are two paths, and . Applying the first projection method (Projection Method 1), 3D-CSR-I gets the positions of the projected nodes: , , , and . Since , which is smaller than , 3D-CSR-I will chose node to be the relay node for packets between and . The total distance of . However, the length of shortest path . Thus, the stretch factor . When is arbitrary small, can be arbitrary large.
Theorem 2 implies that 3D-CSR-I may use an arbitrary longer path than the shortest path in the worst case. Fortunately, the worst case seldom occurs in a random network. Later, our simulation results show that the SF of 3D-CSR-I is not very large for grid or random networks in practice.
For the stretch factor of CSR with Projection Method 2 (3D-CSR-II), the analysis is very similar to the case of 2D CSR. Recall that stereographic projection is conformal in any dimension. Using the similar proofs (as we did for Lemma 1, Lemma 2, and Theorem 1), we can prove the following theorem.
The stretch factor of 3D CSR with Projection Method 2 (3D-CSR-II) is bounded by , that is,
The only difference in the proofs is in 2D case the nodes in the 2D network plane are projected onto a 3D sphere and in 3D case the nodes in the 3D hyperplane are projected onto a 4D sphere. Theorem 1 shows that the path length of 3D-CSR-II protocol is not too much different from the path length of the shortest path routing.
We now evaluate the performance of 3D-CSR and 3D-LCSR via extensive simulations for both 3D grid networks and 3D random networks in a cubic area. Again, we compare their performance under the all-to-all communication scenario. Hereafter, we use 3D-CSR-I/3D-LCSR-I to denote the routing methods with Projection Method 1 (mapping nodes on a 3D sphere) and 3D-CSR-II/3D-LCSR-II to denote the routing methods with Projection Method 2 (mapping nodes on a 4D sphere).
5.4.1. CSR versus SPR
For grid network, wireless nodes are distributed in grids (see Figure 10(a)). The transmission range (Tr) is set to . For 3D random networks, nodes are randomly distributed in the cube with each node's Tr set to . We run the simulation for random networks and take the average. For both grid and random networks, we try different sizes of the sphere (with radii , and ). The furthest node is of distance from the center of the network cube (or projection sphere). When , the projection sphere is a little bit larger than the network cube.
Figure 13 demonstrates the average (Avg), maximum (Max) traffic load, and standard deviation (Std) of load for SPR, 3D-CSR-I and 3D-CSR-II with different sphere sizes (, and ) for the grid and random networks. The leftmost bar of each sub-graph represents the Shortest Path Routing (SPR) method, the red bars represent 3D-CSR-I and blue bars represent 3D-CSR-II. The average load of 3D-CSR-I is larger than SPR. However, 3D-CSR-II has even smaller average load than SPR especially for random networks. All CSR algorithms have much smaller maximum load and Std of load than SPR, for example, the maximum load of 3D-CSR-II () for grid network has decreased about compared with SPR (from to ); and the Std of 3D-CSR-I () has about deduction compared with SPR (from to ). Thus, our simulation results show that 3D-CSR can achieve better load balancing than SPR.
We also study the stretch factor (SF) of CSR by measuring the SF of each route generated by CSR in our simulation. Table 3 gives the average and maximum stretch factor (Avg SF and Max SF) of CSR with various radii. Remember that 3D-CSR has unbounded SF in theory. As shown in Table 3, Max SFs of 3D-CSR-I ( and ) for grid networks are around which are much larger than the Max SFs of 3D-CSR-II. From Theorem 1, the distance traveled by 3D-CSR-II satisfies , where . In our simulation settings, . Thus, when , and , respectively, SF bounds are , and . The simulation results of SFs confirm our theoretical bounds of 3D-CSR-II. Actually the practical SFs are much smaller than the bounds, and very close to (from to ). In other words, not only 3D CSR has balanced traffic load but also the distance traveled by the packets is almost the same as the minimum.
5.4.2. LCSR versus Greedy
We then study the performance of 3D LCSR via 3D grid and random networks. For grid network, we use a network with nodes in a grids and set Tr to . For random network, we generate random networks with nodes in a cube and set Tr to . For all results, we take the average of these networks.
Figure 14 shows the performance comparison of greedy routing, 3D-LCSR-I and 3D-LCSR-II for the grid and random networks. The leftmost bar of each subgraph represents the greedy routing method, red bars represent 3D-LCSR-I, and blue bars represent 3D-LCSR-II. For the grid network, 3D-LCSR-I has larger maximum load than greedy algorithm for all radii, but 3D-LCSR-II has much better performance than greedy, that is, almost the same average load with much smaller maximum load and Std of load. For example, the Std of load for 3D-LCSR-II () has decreased dramatically from to (about ). In the scenario of random networks, 3D-LCSR-I and 3D-LCSR-II both have similar average load to greedy routing, and their maximum load and Std of load are smaller than greedy routing.
We measure the SFs of 3D LCSR compared with greedy routing method by randomly selecting node pairs and calculating the SF for each successful route. Table 4 provides the results for both grid and random networks. Though we do not have any theoretical bounds for 3D LCSR, the SFs are very small in practice, that is, ranged from to . This table also gives the delivery ratios. The delivery ratios of 3D-LCSR-II and -I are and almost , respectively, for grid network with different radii. For the random networks, the delivery ratios of both 3D-LCSR-II and -I are still very high (more than ).
6. Related Work
Load balancing routing protocols has been studied recently. Most load balancing routing protocols are based on reactive routing and evaluate the routes by weights, which depend on the traffic load information collected by each intermediate nodes. The load state information can be collected from the queue size of each node, the transmission quality of each radio link, or the number of connection held by each node. Based on the collected information, each hop in a route is assigned a corresponding weight and the route with the lowest weight is selected as the default route for the connection. We call this kind of load balancing routing protocols as load aware based routing. Dynamic Load-Aware Routing (DLAR) , Load-Balanced Ad hoc Routing (LBAR) , and Load-Sensitive Routing (LSR)  are some examples of this category. Some load aware routing schemes such as Load aWare Routing  and Simple Load-balancing Approach (SLA)  focus on the route reply phase to prevent unnecessary flooding packet forwarding thus to reduce congestion and interference. They allow each node to drop RREQ packet or give up packet forwarding depending on its own traffic load. If the traffic load is high, node may deliberately give up packet forwarding to save its own energy. In Hotspot Mitigation Protocol (HMP) , mobile nodes independently monitor local buffer occupancy, packet loss, MAC contention and delay conditions, and take local actions in response to the hotspots, such as suppressing new route requests and rate controlling TCP flows. Most of the existing load aware based routing try to dynamically adjust the routes to balance the real time traffic based on the knowledge of current load distribution, which is not very scalable for large wireless networks.
Multipath routing between any source-destination pair of nodes has been studied thoroughly in the context of wired networks. The general understanding is that dividing the traffic flow among a number of paths (instead of using a single path) results in a better balancing of load throughout the network [15–18]. Although research has been covered quite thoroughly in wired networks, similar research for wireless networks is still in the early ages. Wu and Harms  propose an on-demand method to efficiently search for multiple node-disjoint paths and present the correlation factor as the criteria for selecting the multiple paths. Correlation factor of two node-disjoint paths is defined as the number of links connecting the two paths which is used to describe the interference of traffic between two node-disjoint paths. Dynamic Source Routing  inherently supports Multipath routing by allowing caching multiple paths. Multipath Routing Protocol with Load Balancing (MRP-LB)  is an extension of DSR. MRP-LB replies first request packets and the source routes data packets over paths in such a way that the total number of congested packets on each route is equal. However,  showed unless using a very large number of paths the load distribution is almost the same as single path routing. Furthermore, how to discover, maintain and coordinate multiple routing paths is a very complicated issue.
Global load balancing in fixed networks has also been studied [23, 24]. The proposed methods usually define the load balancing routing as flow problems and use integer linear programming to solve them. Even they can optimally handle arbitrary traffic distribution (other than all-to-all unit traffic here), these methods are too complex for wireless systems with small devices (e.g., sensor networks) or large dense networks.
Unlike all the above load balancing routing protocols, the routing protocols in the next category focus on balance the load for the whole network without knowing the current load information. Our circular sailing routing protocol also falls into this category. Hyytiä and Virtamo  studied how to avoid the crowded center problem by analyzing the load probability in a dense network. They proposed a randomized choice between shortest path and routing on inner/ outer radii to level the load. Gao and Zhang  consider a special case when all nodes are located in a narrow strip with width at most times the communication radius. They proposed an algorithm that achieve bounded stretch factor and bounded load-balancing ratio (the constant bounds are and resp.). In , the same authors discussed the tradeoffs between the competitiveness factor and load balancing ratio in routing on certain type of graphs (namely, growth restricted graphs). Recently, Popa et al.  also proposed a similar routing technique with our CSR, called curveball routing, to map the 2D network on a sphere using the stereographic projection method and route the packets based on their virtual coordinates on the sphere. The differences between our CSR and curveball routing are the mapping method is different, CBR uses the projection method as shown in Figure 2(b) while CSR uses the projection method as shown in Figure 2(a); CBR directly uses the spherical distance as the routing metric while CSR uses the circular distance; they did not give any theoretical analysis of the stretch factor of their routing method, while we theoretically proved that CSR has a bounded stretch factor, that is, it can guarantee the total distance traveled by packets is constant competitive even in the worst case compared with shortest path routing; we extend CSR to a localized version by modifying the greedy routing without any additional communication overhead, which is more suitable for wireless networks; we investigate how to design CSR for 3D networks by providing two mapping methods for 3D CSR, that is, wireless nodes in a 3D network are projected on a 3D and 4D sphere and give theoretical proofs of their stretch factors. All the previous work deals with load balancing in 2D networks, to the best of our knowledge, our paper is the first one to target at the design of load balancing routing in 3D wireless networks.
In this paper, we proposed a set of novel routing protocols, called Circular Sailing Routing for multihop wireless networks to avoid the uneven load distribution caused by shortest path routing or greedy routing. By spreading the traffic across a virtual 3D sphere which is mapped from the network and routing packets based on newly defined circular distance, CSR (LCSR) can reduce hot spots in the networks and increase the energy lifetime of the network. CSR can be easily implemented using any existing routing protocols without any major changes or additional overhead. The only modification is a simple mapping calculation of the position information. In this paper, we not only provided a theoretical proof of the bounded stretch factor of CSR, but also conducted extensive simulations to evaluate the proposed protocols. We leave theoretical analysis of (1) the load distribution of CSR and (2) stretch factor of CBR as our future work. Notice that the stretch factor of CBR is still an open problem.
Lee S-J, Gerla M: Dynamic load-aware routing in ad hoc networks. Proceedings of the IEEE International Conference on Communications (ICC '01), June 2001, Helsinki, Finland 10: 3206-3210.
Hassanein H, Zhou A: Routing with load balancing in wireless ad hoc networks. In Proceedings of the 4th ACM International Workshop on Modeling, Analysis and Simulation of Wireless and Mobile Systems (MSWIM '01), 2001. ACM; 89-96.
Yi Y, Kwon TJ, Gerla M: A load aware routing (LWR) based on local information. Proceedings of the 12th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC '01), 2001 2: 65-69.
Yoo Y, Ahn S: A simple load-balancing approach in cheat-proof ad hoc networks. Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM '04), November-December 2004, Dallas, Tex, USA 6: 3573-3577.
Popa L, Rostamizadeh A, Karp R, Papadimitriou C, Stoica I: Balancing traffic load in wireless networks with curveball routing. Proceedings of the 8th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc '07)), September 2007 170-179.
Sarkar R, Zhu X, Gao J: Double rulings for information brokerage in sensor networks. Proceedings of the 12th Annual International Conference on Mobile Computing and Networking (MOBICOM '06), September 2006, Los Angeles, Calif, USA 286-297.
Karp B, Kung HT: GPSR: greedy perimeter stateless routing for wireless networks. In Proceedings of the 6th Annual International Conference on Mobile Computing and Networking (MOBICOM '00), 2000. ACM; 243-254.
Hong X, Gerla M, Bagrodia R, Kwon TJ, Estabrook P, Pei G: The Mars sensor network: efficient, energy aware communications. Proceedings of the IEEE Military Communications Conference (MILCOM '01), 2001 1: 418-422.
Krishnan R, Silvester JA: Choice of allocation granularity in multipath source routing schemes. Proceedings of the 12th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '93), 1993 1: 322-329.
Pearlman MR, Haas ZJ, Sholander P, Tabrizi SS: On the impact of alternate path routing for load balancing in mobile ad hoc networks. In Proceedings of the 1st ACM International Symposium on Mobile Ad Hoc Networking & Computing (MobiHoc '00), 2000, Piscataway, NJ, USA. IEEE Press; 3-10.
Pham PP, Perreau S: Performance analysis of reactive shortest path and multi-path routing mechanism with load balance. Proceedings of the 14th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '03), 2003 1: 251-259.
Wu K, Harms J: Performance study of a multipath routing method for wireless mobile Ad hoc networks. Proceedings of the IEEE International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS '01), 2001 99-107.
Johnson DB, Maltz DA: Dynamic source routing in ad hoc wireless networks. In Mobile Computing. Volume 353. Edited by: Imielinski T, Korth H. Kluwer Academic Publishers, Dordrecht, The Netherlands; 1996:153-181.
Pham P, Perreau S: Multi-path routing protocol with load balancing policy in mobile ad hoc network. Proceedings of the 4th IEEE International Workshop on Mobile and Wireless Communications Network, 2002 48-52.
Ganjali Y, Keshavarzian A: Load balancing in ad hoc networks: single-path routing vs. multi-path routing. Proceedings of the 23rd Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '04), 2004 2: 1120-1125.
Gao J, Zhang L: Tradeoffs between stretch factor and load balancing ratio in routing on growth restricted graphs. In Proceedings of the 23rd Annual ACM Symposium on Principles of Distributed Computing (PODC '04), 2004. ACM; 189-196.
The work of Fan Li was partially supported by the National Science Foundation of China (NSFC) under Grant 60903151, Beijing Key Discipline Program, and funds provided by Beijing Institute of Technology.
Authors and Affiliations
Beijing Laboratory of Intelligent Information Technology, School of Computer Science, Beijing Institute of Technology, Beijing, 100081, China
Department of Computer Science, College of Computing and Informatics, The University of North Carolina at Charlotte, Charlotte, NC, 28223, USA
This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (
), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.