# Load Balancing Routing with Bounded Stretch

- Fan Li
^{1}, - Siyuan Chen
^{2}and - Yu Wang
^{2}Email author

**2010**:623706

https://doi.org/10.1155/2010/623706

© Fan Li et al. 2010

**Received: **27 April 2009

**Accepted: **19 June 2009

**Published: **3 July 2009

## Abstract

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.

## Keywords

## 1. Introduction

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.

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. [6] 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 than*
*compared 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 [7]. 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. Preliminaries

### 2.1. Stereographic Projection

In projective geometry, the *stereographic projection* [8] 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. [9] 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".)

By simple geometric calculations, we can compute the 3D position on the sphere via the reversed projection by the following method.

Method 1

Given a node with position in the 2D plane, the 3D position of its reversed stereographic projection point is , where ; ; .

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.

*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.

*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

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

As in [9], we choose , , thus .

Lemma 1.

Proof.

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

This finishes our proof.

Lemma 2.

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.

Theorem 1.

Proof.

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 .

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.

### 3.3. Simulation

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.

Grid Networks

*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.

Random Networks

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* [10] 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

**then**

7: Forward packet to node with the minimum .

8: **else**

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.

### 4.2. Simulation

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.

## 5. D Circular Sailing Routing

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 .

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 .

### 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.

Theorem 2.

The stretch factor of 3D CSR with Projection Method 1 (3D-CSR-I) is not bounded.

Proof.

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.

Theorem 3.

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.

### 5.4. Simulation

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.

#### 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.

Stretch factor (SF) and delivery ratio of LCSR (various sphere size).

Network Topology | Avg SF | Max SF | Delivery ratio | |||||
---|---|---|---|---|---|---|---|---|

3D-LCSR-I | 3D-LCSR-II | 3D-LCSR-I | 3D-LCSR-II | Greedy | 3D-LCSR-I | 3D-LCSR-II | ||

Grid | 3 | 1.0392 | 1.0308 | 1.5892 | 1.3060 | 1.0000 | 1.0000 | 1.0000 |

5 | 1.0318 | 1.0479 | 1.3060 | 1.3060 | 0.9960 | 1.0000 | ||

15 | 1.0368 | 1.0308 | 1.3060 | 1.3060 | 1.0000 | 1.0000 | ||

Random | 3 | 1.0613 | 1.0592 | 2.9016 | 3.2485 | 0.9835 | 0.9533 | 0.9165 |

5 | 1.0621 | 1.0601 | 2.4369 | 2.4265 | 0.9487 | 0.9529 | ||

15 | 1.0597 | 1.0603 | 2.7630 | 2.4967 | 0.9687 | 0.9863 |

## 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) [1], Load-Balanced Ad hoc Routing (LBAR) [2], and Load-Sensitive Routing (LSR) [3] are some examples of this category. Some load aware routing schemes such as Load aWare Routing [4] and Simple Load-balancing Approach (SLA) [5] 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) [14], 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 [19] 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 [20] inherently supports Multipath routing by allowing caching multiple paths. Multipath Routing Protocol with Load Balancing (MRP-LB) [21] 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, [22] 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 [25] 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 [26] 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 [27], 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. [6] 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.

## 7. Conclusion

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.

## Declarations

### Acknowledgments

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’ Affiliations

## References

- 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.Google Scholar - 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.Google Scholar - Wu K, Harms J: Load-sensitive routing for mobile ad hoc networks.
*Proceedings of the 10th International Conference on Computer Communications and Networks, 2001*540-546.Google Scholar - 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.Google Scholar - 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.View ArticleGoogle Scholar - 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.View ArticleGoogle Scholar - Li F, Wang Y: Circular sailing routing for wireless networks.
*Proceedings of the 27th IEEE Conference on Computer Communications (INFOCOM '08), 2008*2020-2028.Google Scholar - Coxeter HSM:
*Introduction to Geometry*. 2nd edition. John Wiley & Sons, New York, NY, USA; 1969.MATHGoogle Scholar - 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.View ArticleGoogle Scholar - Bose P, Morin P, Stojmenović I, Urrutia J: Routing with guaranteed delivery in ad hoc wireless networks.
*Wireless Networks*2001, 7(6):609-616. 10.1023/A:1012319418150MATHView ArticleGoogle Scholar - 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.View ArticleGoogle Scholar - Akyildiz IF, Pompili D, Melodia T: Underwater acoustic sensor networks: research challenges.
*Ad Hoc Networks*2005, 3(3):257-279. 10.1016/j.adhoc.2005.01.004View ArticleGoogle Scholar - 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.Google Scholar - Lee S-B, Cho J, Campbell AT: A hotspot mitigation protocol for ad hoc networks.
*Ad Hoc Networks*2003, 1(1):87-106. 10.1016/S1570-8705(03)00014-3View ArticleGoogle Scholar - 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.View ArticleGoogle Scholar - Cidon I, Rom R, Shavitt Y: Analysis of multi-path routing.
*IEEE/ACM Transactions on Networking*1999, 7(6):885-896. 10.1109/90.811453View ArticleGoogle Scholar - 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.Google Scholar - 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.Google Scholar - 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.Google Scholar - 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.View ArticleGoogle Scholar - 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.View ArticleGoogle Scholar - 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.Google Scholar - Wang Y, Wang Z: Explicit routing algorithms for internet traffic engineering.
*Proceedings of the International Conference on Computer Communications and Networks (ICCCN '99), 1999*582-588.Google Scholar - Fratta L, Gerla M, Kleinrock L: The flow deviation method: an approach to store-and-forward communication network design.
*Networks*1973, 3(2):97-133. 10.1002/net.3230030202MATHMathSciNetView ArticleGoogle Scholar - Hyytiä E, Virtamo J: On traffic load distribution and load balancing in dense wireless multihop networks.
*EURASIP Journal on Wireless Communications and Networking*2007, 2007(1):21.View ArticleGoogle Scholar - Gao J, Zhang L: Load balanced short path routing in wireless networks.
*Proceedings of 23rd Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '04), 2004*Google Scholar - 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.View ArticleGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.