Jianrui Yuan
email: yuan.jianrui@gmail.com

Jintao Meng
email: meng.jintao@gmail.com

A Power Adjusting Algorithm on Mobility Control in Mobile Ad Hoc Networks

Keywords: Mobile ad-hoc networks (MANETs), Power control, Dynamic Source Routing (DSR), Mobility control, Power efficiency

Power saving is one of the key issues in mobile ad-hoc networks (MANET), while previous researches in MAC layer are mostly focused on improving the channel utilization by adopting variable-range transmission power control. In this paper we focus on the power savings in the network layer, and propose a power adjusting algorithm (we term it PAA). In the presence of mobile host's mobility, PAA is designed to conserve energy by adjusting the transmission power to maintain the route's connectivity and restarting the route discovery periodically to find the new better route dynamically. After analyzing the operations of PAA, we find that the length of route discovery restarted period is a critical argument which will affect power saving, so we propose an optimizing model which finds the optimal value of this argument by analyzing the energy consumption of this algorithm. PAA can handle the mobility of MANET by adjusting the transmission power and in the meantime save energy by restarting route discovery periodically to balance the energy consumption on route discovery and packets delivering. It is suggested that PAA can be implemented in the dynamic source routing protocol (DSR). Simulation results are provided, which demonstrate DSR embedded with PAA saves nearly 40% energy compared to DSR without PAA in the presence of high mobility.

Introduction

Mobile ad-hoc network (MANET) is a kind of wireless networks with mobile hosts (MHs), it was deployed without any fixed routers, and all nodes are capable of movement and can be connected dynamically in an arbitrary manner. Two mobile hosts can communicate with each other either directly or indirectly. Nodes of these networks function as routers which discover and maintain routes to other nodes in the network. Representative environments of the mobile ad-hoc network applications are fleets in oceans, natural disasters, and battle fields. Some or all of the nodes in a MANET may rely on batteries or other exhaustible energy resources. As such, one of the most important system design requirements in MANETs is power saving [START_REF] Corson | Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations[END_REF].

Power saving operations in MAC protocol is initially discussed in [START_REF] Wang | p-MANET: Efficient Power Saving Protocol for Multi-Hop Mobile Ad Hoc Networks[END_REF], [START_REF] Zheng | On-demand Power Management for Ad Hoc Networks[END_REF]. By introducing the appropriate distributed active-sleep schedule for each node, the authors of [START_REF] Wang | p-MANET: Efficient Power Saving Protocol for Multi-Hop Mobile Ad Hoc Networks[END_REF] propose an efficient power saving MAC protocol for multi-hop mobile ad hoc networks called p-MANET, which avoids power consumption by activating mobile node during one beacon interval for every n interval, where n is the size of a super frame. The authors of [START_REF] Zheng | On-demand Power Management for Ad Hoc Networks[END_REF] propose an on-demand power management framework for ad hoc networks. In this framework nodes that are not involved into delivering may go to sleep to adapt to the traffic load, which will save energy in the ad-hoc network. These two algorithms are both energy-saving schemes which are adaptive to traffic load. The present paper, however, studies the power saving issue in MANETs from a different perspective. Rather than adaptive to traffic load, our algorithm presented in this paper is adaptive to MHs' mobility, which can be implemented in the existing routing protocols in MANETs to achieve energy efficiency and maintain network connectivity simultaneously. Recent power control developments for MANETs also include the transmission power control mechanisms (e.g. [START_REF] Wu | Intelligent Medium Access for Mobile ad hoc networks with busy tones and power control[END_REF], [START_REF] Gomez | A case for variable-range transmission power control in wireless ad hoc network[END_REF], [START_REF] Monks | A Power Controlled Multiple Access Protocol for Wireless Packet Networks[END_REF]) for increasing channel utilization, and the distributed protocol [START_REF] Zawodniok | A Distributed Transmission Power Control Protocol for Mobile Ad Hoc Networks[END_REF] for interplaying between the MAC and network layers. Motivated by these works, in this paper we introduce a novel power control mechanism into the network layer to control the mobility, which can conserve energy and maintain network connectivity in MANETs. With the aid of this power control method, we are able to design an algorithm which is shown to be promising in conserving energy in both MAC layer and network layer when implemented in the routing protocols.

The recently routing protocols designed for wireless ad hoc network include the notable Dynamic Source Routing (DSR) Protocol [START_REF] Johnson | Dynamic source routing in ad hoe wireless networks[END_REF] and Ad-hoc On Demand Distance Vector Routing (AODV) protocol [START_REF] Perkins | Ad-hoc On Demand Distance Vector (AODV) routing[END_REF]. DSR is a routing protocol for wireless ad hoc networks. This protocol uses source routing, in which all the routing information is maintained and dynamically updated at mobile nodes. It has two major phases, namely Route Discovery and Route Maintenance. These two functions work together to enable any host in the ad hoc network to dynamically discover and maintain a route to any other host in the network. The source broadcasts a Route Request (RREQ) message to find a route, Route Reply (RREP) is then generated if the message has reached the intended destination node. AODV builds routes using a route request & route reply query cycle. When a source node desires a route to a destination for which it does not already have a route, it broadcasts a RREQ packet across the network. A node receiving the RREQ may unicast a RREP back to its source or rebroadcasts the RREQ depending on if it is the destination or not. Nodes keep track of the RREQ's source IP address and broadcast ID. As the RREP propagates back to the source, nodes set up forward pointers to the destination. Once the source node receives the RREP, it may begin to forward data packets to the destination. These routing protocols are usually sensitive to the mobility of MHs. The MH's mobility frequently cause the route to be broken, due to the fact that the receiver frequently moves out of the transmission range of the sender. In DSR, if some active link is broken, the downstream neighbor is currently unreachable. Then the node broadcasts a Route Error (RERR) packet back to the source, indicating that the route topology has changed, the source node must start route discovery by broadcasting the RREQ packet to find a new path in this case. In AODV, some periodic hello messages can be used to ensure symmetric links, as well as to detect link failures [START_REF] Perkins | Ad-hoc On-Demand Distance Vector Routing[END_REF]. Once the next hop becomes unreachable, the node upstream of the break first repair the failed link locally, if it failed then the node propagates an unsolicited RREP to all active upstream nodes. Upon receiving notification of a broken link; source nodes can restart the discovery process if they still require a route to the destination. Even though there is certain mechanism of route maintenance implemented in these protocols to maintain network connectivity in the presence of mobility of MHs, it is still a challenge how to schedule the two schemes, namely route discovery and route maintenance so as to reach a state of global power saving. Therefore, this paper is aimed at designing an algorithm to control mobility and also save energy by balance the energy consumption on route discovery and packets delivering.

We apply power control into the routing protocol design in MANET for long lived flow, e.g. the TCP flow in MANET. We focus on the power saving in both MAC layer and network layer, and propose a power adjusting algorithm (PAA). The main techniques in PAA are 1. Conserving power in the routing protocol, this includes the power consumed on both route discovery and data transmission.

2. Adjusting transmission power in the presence of MHs' mobility to keep the route's connectivity when the packets are transmitting on this route.

3. Restarting the route discovery after an appropriate period to find a new better route for data transmission. Therefore, PAA is essentially a period schedule which introduces the adjustable transmission power control, and periodically restarts the route discovery to balance the energy consumption on route discovery and packets delivering. This algorithm can be implemented within both DSR and AODV. In the simulation DSR is selected to be implemented with PAA for its simple schedule on route maintenance, and the simulation result shows that the DSR with PAA saved nearly 40% energy compared to the DSR without PAA.

The remainder of this paper is organized as follows. In Section 2, the propagation model, mobility model, and network assumptions used in this paper are introduced. Section 3 proposes and describes the power adjusting algorithm (PAA). Section 4 discusses the parameters of the PAA, where we propose an energy model to obtain the desired parameter for PAA in order to minimize the energy consumption. In Section 5, we implement the PAA and perform simulations to analyze and compare the DSR with PAA and DSR without PAA on the power saving performance. Finally, the conclusions are drawn in section 6.

PROPAGATION MODEL, MOBILITY MODEL, AND NETWORK ASSUMPTIONS

We first introduce the propagation model and mobility model used in this paper, and then some network assumptions and notations are listed which will help us simple the problems and models.

Propagation Model

Here we use free space propagation model to forecast the power level of sender and receiver within line of sight. Let P t and Pr be the power level when the packet is transmitted at the sender and received at the receiver respectively, then the power level of the receiver, which is d away from the sender, can be given out by the Friis formula [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF]:

Pr = P t GrG t λ 2 (4π) 2 d 2 L , ( 1
)
where λ is the carrier wavelength, d is the distance between the sender and the receiver, L is the system wastage factor, G t and Gr are the antenna gains at the sender and receiver respectively. Note that λ , L , G t and Gr are constants in this formula.

As in the free space we let the path loss exponent is 2, and then the power consumed on the transmitter side by sending one unit of data is:

P t = ε 11 + ε 2 d 2 ,
(

and the power consumed on the receiver side by receiving one unit of data is

Pr = ε 12 , (3)
here ε 11 is the power to run the transmitter circuitry, ε 12 is the power to run the receiver circuitry, and ε 2 is the power for the transmit amplifier to achieve an acceptable SNR (Signal to Noise Ratio).

Then the power consumed by the network to forward one unit of data can be calculate below:

P f = P t + Pr = ε 1 + ε 2 d 2 , ( 4
)
where we have denoted

ε 1 = ε 11 + ε 12 .
As the power consumption on computation is less than the energy for radio transmission by order of magnitude, we ignore the power consumption on computation in this paper.

Mobility Model

Many mobility model (e.g. random walk model, pursue mobility model, ant mobility model) [START_REF] Camp | A survey of mobility models for ad hoc network research[END_REF] are proposed in recent years, we use the random walk model to simplify our simulation here.

In the random walk model, a MH moves from its current location to a new location by randomly choosing a direction and speed in which to travel. The new speed and direction are both chosen from pre-defined ranges, [0, maxspeed] and [0, 2π] respectively. Each movement in the random walk model occurs in a constant time interval t, at the end of which a new direction and speed are calculated. If a MH which moves according to this model reaches a simulation boundary, it "bounces" off the simulation border with an angle determined by the incoming direction. The MH then continues along this new path. Figure 1 cited from [START_REF] Camp | A survey of mobility models for ad hoc network research[END_REF] shows an example of the movement observed from this 2-D model. The MH begins its movement in the center of the 300m × 600m simulation area or position (150, 300). At each point, the MH randomly chooses a direction between 0 and 2 and a speed between 0 and 10 m/s. The MN is allowed to travel for 60 seconds before changing direction and speed.

Network Assumptions

1. There are N mobile hosts uniformly displayed in an area with radius R. 2. We adapt the random walk mobility model as our mobile host's mobility model. 3. The optimal transmission radius of the mobile host, which minimized the power consumption in the multi-hop ad hoc network, is characteristic distance [START_REF] Bhardwaj | Upper bounds on the lifetime of sensor networks[END_REF], denoted as r char , wherer char = ε 1 /ε 2 .

4. We also make sure that r char and n satisfy πr

2 char ≥ log n+c(n) n
, this condition will keep network being connected [START_REF] Gupta | Critical Power for Asymptotic Connectivity in Wireless Networks[END_REF].

5. The mobile host's max speed is set to be vm m/s in the random walk model. 6. The data rate of the flow through the network is r f packets/s. 7. The length of the message RREQ, RREP, DATA is L RREQ , L RREP , L DAT A , respectively.

8. The main cause to the break of route is the mobility of the mobile host, which means that when the receiver move out of the sender's transmission range, a link break will happen, and this will cause the route break. We ignore the result of host failure, unreliable channel, and network congestion in this paper.

THE POWER ADJUSTING ALGORITHM DESIGN

In this section we will describe the power adjusting algorithm (PAA) which can be embedded in the existing routing protocols such as DSR for power conserving, and then some explications are list to illuminate this algorithm step by step.

Description of PAA

Now for a flow with data rate r f originate from MH s and route to MH d, as PAA construct a periodic schedule on packet transmission, we simply let the time of sending every k packets to be one period T , where T = k r f , then after one period of sending k packets, the old route may not be energy efficient due to the mobility of hosts , then the new route need to be found, so route discovery is restarted to find a new route to the destination to instead the old one, Figure 2 has shown a route from MH 2 to MH 6 constructed by route discovery. Then after a period of T this route become less energy efficient as in Figure 3. At last In Figure 4, we need to find a new more energy efficient route (2, 8, 1, 5, 6) by restarting route discovery.

According to the above discussion, we describe the algorithm of PAA as below:

Step 1. The source of this flow will start route discovery to find a route (n 0 n 1 . . . n l ) to the destination, where n 0 = s, n l = d . In order to save power, we use the characteristic distance r char as the transmission radius of the RREQ, and RREP messages.

Step 2. By analyzing the power level of RREQ and RREP messages received by the host, every host on the route path, will compute out the distance to its adjacent hosts, we denotes the initialed distance between adjacent MHs n i and n j on the route path to be d 0 ij . Step 3. Every 1 r f seconds, one packet will be transmitted along this route, let us say this is the tth (1 ≤ t ≤ k) packet on the fly, we forward it with the transmission radius of (

d t-1 ij + 2 vm r f ) from n i to n j , where d t-1 ij
is the distance which was estimated when the (t -1)th packet passed through the adjacent hosts n i and n j on the route path.

Step 4. If there are no more packets, this flow should be canceled from the network.

Step 5. For every period of T = k r f seconds, after sending every k packets, we restart the route discovery to find a new route (n 0 n 1 . . . n l ) to the destination host, and then go to Step 2 to continue.

Analysis of PAA

In Step 1, the source broadcasts the RREQ messages to find the destination, after receiving the RREQ messages the desination will reply the source by sending a RREP message to construct a route (n 0 n 1 . . . n l ) from the source to the destination. By setting the transmission power to

P t = ε 1 + ε 2 r 2
char , the transmission radius of RREQ and RREP message will be r char . Finally the route (n 0 n 1 . . . n l ) from the source to the destination is constructed by route discovery.

In Step 2, every host i on the route path will calculate the distance d 0 ij to the downstream host j (except the source) by analyzing the power level of the RREQ or RREP message. In formula (1), the distance d 0 ij can be calculated from the transmitted power level P t and received power level Pr. As in Step 1, we set the transmission radius of RREQ and RREP message to be r char , so the Sender's power level will be

P t = ε 1 + ε 2 r 2
char , and Pr can be get from the receiver side locally. Finally the initialed distance d 0 ij between the sender i and the receiver j can be calculate as:

d 0 ij = λ rπ P i t G t Gr P j r L .
In Step 3, k data packets can be delivered to the destination within a period of T = k r f seconds, and every 1 r f seconds one packet will pass through the route. When the t-th packet passes through this route, we can estimate the distance d t ij between hosts n i and n j from the distance d t-1 ij which is the distance when the packet (t -1)-th packet passes through (t ≥ 1), as the max speed the mobile host is vm, so the distance

d t ij satisfies d t-1 ij -2 vm r f ≤ d t ij ≤ d t-1 ij + 2 vm r f , ( 5
)
in order to make sure that the packet t can be successfully delivered to the host n j from host n i , we just let the host n i 's the RF power level cover a transmission distance of d t-1 ij + 2 vm r f . Then after the transmission of packet t, we can estimate the distance d t ij from the transmitted power level P t and the received power level Pr, and this new calculated distance d t ij can be calculated to estimate the transmission range of the packet t + 1. According to Equation (1), we can get d t ij as below:

d t ij = λ rπ P t t G t Gr P t r L , here P t = ε 1 + ε 2 (d t-1 ij + 2 vm r f ) 2
, and Pr is the receiver's power level when the (t -1)-th packet passes through the link (i, j).

In Step 4, when the flow has no packet to send, the network needs to cancel this flow.

In Step 5, when the final packet (packet k) was delivered along this route, the source will restart route discovery to find new route, which will find a new energy efficient route compared to the current one according to the current position of the mobile host in the network. Finally we will further discuss the parameter setting on k in a period in Section 4.

PARAMETERS SETTING OF PAA

The length of a period is vital important in this algorithm, that means, if the period is too short, route discovery are restarted to frequently, which will waste more energy on route discovery, but if the length of period is too long, the link state along the route (eg. the route in Figure 3) will become more and more worse as the MH moves around in the network area, this will also waste much energy on delivering the packet along this energy inefficient route. Now we need to find an appropriate length of period for route discovery, that means when the energy wasted on the current route become unacceptable, the restarted route discovery will find a new better route to save as much energy as possible on delivering the packets. Now before finding the optimal length of the period, we need first analyze the average distance of the MHs displayed in the network, then the energy consumption of the route discovery, and finally the distance variety between adjacent hosts on the route path in the present of MH's mobility.

The average distance of any two MHs

Lemma 1: Two vectors v 1 (r 1 , θ 1 ) ,v 2 (r 2 , θ 2 ) where 0 ≤ r 1 , r 2 ≤ R, 0 ≤ θ 1 , θ 2 ≤ 2π, are uniformly distributed in a circle with radius R, the sum of the two vector

v 1 , v 2 is v , that means v = v 1 + v 2 , then the probability of v locating at (r, θ) (where 0 ≤ r ≤ R, 0 ≤ θ ≤ 2π) is P (r, θ, R) = 1 π 2 R 2 (2 arccos r 2R - r R 1 -( r 2R ) 2 ). ( 6
)
Proof : In Figure 3, a vector v(r, θ) is located in a circle with radius 2R, two small circles with radius R centered at the start point and the end point of the vector v(r, θ) are drawn in Figure 5. Then the sum of the two vectors v 1 (r 1 , θ 1 ), v 2 (r 2 , θ 2 ) with length R will be v(r, θ), and all the possibility position of vector v 1 should located in the overlapping regions of the two small circles. Then the area of the overlapping regions of the two small circles is

A = R 2 (θ -sin(θ)) = R 2 (2 arccos r 2R - r R 1 -( r 2R ) 2 ). ( 7
)
The variable area of the vector v 1 (r 1 , θ 1 ) or v 2 (r 2 , θ 2 ) is πR 2 , so the probability of the sum of two vectors v located at (r, θ) is

P (r, θ, R) = A πR 2 πR 2 = 1 π 2 R 2 (2 arccos r 2R - r R 1 -( r 2R ) 2 ). (8)
Now for any two hosts uniformly displayed in the network with radius R, the location of the two host is v 1 (r 1 , θ 1 ), v 2 (r 2 , θ 2 ) respectively, where 0 ≤ r 1 , r 2 ≤ R, 0 ≤ θ 1 , θ 2 ≤ 2π. This can be seen from Figure 6, then the average distance l of this two MHs will be

E(l) = 2R 0 2π 0 P (r, θ, R)r 2 dθ dr = 128R 45π . ( 9
)
Therefore, for any two hosts which are uniformly located in a network area with radius R, their average distance is 128R 45π .

Energy comsumption on route dicovery

In a network with N MHs, the energy consumption of route discovery is mainly consumed by broadcasting the RREQ messages and unicasting the RREP messages, this means

E restart = E RREQ + E RREP . ( 10
)
The source host broadcasting a RREQ message and this message will flood the whole network, so nearly every host will receive a RREQ message and they will rebroadcast the RREQ message to its neighbors. As the transmission range of the broadcasting is rchar which is suggested in PAA, then the energy consumption on broadcasting the RREQ message can be calculated approximately as follow

E RREQ = N L RREQ (ε 1 + ε 2 r 2 char ). ( 11
)
The destination host will reply a RREP message after received a RREQ message, this RREP message will be unicasted back to the source, all the hosts who relay the RREP message will form a route (n 0 n 1 . . . n l ) from the source to the destination. As the routing protocol selects the route with minimum number of hops to be the final Fig. 7 The movement of two adjacent MHs n i and n j .

Fig. 8 The movement of MHs n j from the view of host n i .

route, so the average number of hops of the active route (n 0 n 1 . . . n l ) will be

L = E(l) r char = 128R 45πr char . ( 12
)
Then the energy consumption of unicasting the RREP message can be calculated approximately as follows

E RREP = LL RREP (ε 1 + ε 2 r 2 char ) = 128R 45πr char L RREP (ε 1 + ε 2 r 2 char ). ( 13
)
Finally the energy consumption of the route discovery is

E RREP == (N L RREQ + 128R 45πr char L RREP )(ε 1 + ε 2 r 2 char ). (14)

The distance variety between adjacent MHs on the routing path

For any two objects randomly moving in the space, the distance between them will become larger and larger, this phenomenon is called diffusion in physics. Here we will estimate the distance variety of two adjacent MHs on the routing path, and this result will be used to build the energy consumption model of PAA in the next subsection, and then the optimal length of the period can be calculate out from this model. The average distance of any two adjacent host n i and n j along the route path (n 0 n 1 . . . n l ) when packet t -1 and packet t comes are set to be d t-1 , d t respectively. We define the distance variety to be ∆d = d 2 t -d 2 t-1 . As the routing protocol selects the route with minimum number of hops to be the final route, the preliminary distance between any two adjacent hosts along the route path just after the route discovery restarted is nearly r char , we just set d 0 = r char for simple.

As we have assumed the flow rate is r f , so the time between any two continuous packets is 1 r f , and the MH's max speed in their random walk mobility model is set to be vm, so the maximum distance that the MHs can move during the interim of two continuous packets is rm = vm r f . The displacement of the two MHs n i and n j during the interim of two packets is denoted as s 1 (r 1 , θ 1 ), s 2 (r 2 , θ 2 ) respectively, where 0 ≤ s 1 , s 2 ≤ rm, 0 ≤ θ 1 , θ 2 ≤ 2π. The movement of the two hosts n i and n j can be seen in figure 7, and from the viewpoint of host n i , the movement of host n j can be seen in figure 8, and in figure 5

(b), the length O 1 O 2 of is d t-1 , the length of O 1 M is d t .
Then we can estimate distance variety ∆d as follows

∆d = d 2 t -d 2 t-1 = 2rm 0 2π 0 P (s, θ, rm)(d 2 t-1 + s 2 + 2d t-1 s cos θ -d 2 t-1 )s ds dθ, ( 15
)
where P (s, θ, rm) is the probability of the final position of the MH n j located at s(r, θ) from the viewpoint of MH n i , here s = -s 1 + s 2 , and

d 2 t-1 + s 2 + 2d t-1 s cos θ
is the length of vector O 1 M , which is the distance of the two host. By some mathematical manipulations the equation ( 15) is reduced to the following equation:

∆d = d 2 t -d 2 t-1 = r 2 m . (16)
The above equation means that the distance variety of two adjacent MHs n i and n j is square of the maximum distance that the MH can move during the interval of two consecutive packets.

Finding the optimal length of the period

In a period T , we let that k packets can be transmitted along the route, then the problem of finding optimal period T is transferred to find optimal number of packets can be transmitted in a period. Note the data rate r f of the flow is assumed to be constant here.

After the route discovery, a route path (n 0 n 1 . . . n l ) from the source to the destination is constructed. As in Step 3 of PAA, the energy of delivering the t-th packet on this route path can be calculated in terms of

E(t) = l t=1 L DAT A (ε 1 + ε 2 d 2 t ) = LL DAT A (ε 1 + ε 2 d 2 t ). ( 17
)
Then the energy of delivering k packet in a period on an active route (n 0 n 1 . . . n l ) should be

Ep = k t=1 E(t) = LL DAT A (kε 1 + ε 2 k t=1 d 2 t ). ( 18
)
Now we need to minimize the average energy consumption on delivering one packet in a period, so this problem can be modeled as follow

M inimize 1 k (Ep + Erestart) (19)
Subjected to d 0 = rchar (20)

d 1 = d 0 + 2vm ( 21
)
d 2 t = d 2 t-1 + v 2 m , 2 ≤ t ≤ k, ( 22
)
where E restart is the energy cost on route discovery, equation ( 19) means that we need to minimize the average energy consumption on delivering one packet. The conditions (21) is derived from step 3 of PAA, and ( 22) is derived from equation ( 16). Now by substituting the conditions (22) into the object function (19) we will get the function below

E(k) = LL DAT A ε 2 r 2 m 2 k + 1 k ( LL DAT A ε 2 r 2 m 2 + E restart ) + LL DAT A (ε 1 + ε 2 (d 0 + 2vm) 2 - 3 2 ε 2 r 2 m . ( 23
)
In order to get the optimal length of period, we need to minimize the energy consumption (23), to make the energy on delivering packet in the period minimized. So we can obtain the first order derivative of function ( 21) and then get the optimal number of packets delivering in a period

k opt = 1 + 2E restart LL DAT A ε 2 r 2 m , (24)
when the parameters are determined, combining with equations ( 10),( 11),( 12),( 14), we can get the optimal number of packet, then the length of the period in this network to restart the route discovery schedule will be T = kopt r f .

SIMULATION RESULTS

In this section, we have implemented the routing protocol DSR embedded with PAA and DSR without PAA. The parameter setting of these simulations is listed in Table I. In the simulation, 100 flows are randomly selected in a mobile ad-hoc network, and every flow needs to deliver 1000 packets through the network. First we verify the optimal number of packets can be sent in a period, then we compare the number of route discovery, the average energy consumption on delivering one packet, and the total energy consumption between the routing protocol DSR with PAA and DSR without PAA by changing the MH's maximum speed in the random walk mobility model. These results shows that the algorithm of PAA balances the energy consumed on route discovery and data delivering, this enable the routing protocol DSR with PAA conserve energy in the present of mobility.

In Figure 9, as the number of packets k changes from 1 to 200, the average energy consumption on delivering one packet is plotted in this figure, here the max speed of the mobile host is set to be 10m/s. From this picture, we get that, when the number of packet k is in the range of [20,60], more energy will be conserved on packet delivering. Table 1 The parameters in the simulation

P arameter V alue N 1000 R 1000m ε 1 180, 000pJ/bit/m 2 ε 2 10pJ/bit/m 2 L RREQ 16byte L RREP 16byte L DAT A 512byte r f 1packet/s
The optimal value that computed from our model is 57, so the value computed from the model, will be acceptable in the algorithm of PAA. By increasing the maximum speed of MHs from 1 m/s to 20 m/s in the mobility model, the number of restarted route discovery per flow, and the average energy consumption on delivering one packet are plotted in Figure 10, and Figure 11 respectively. In figure 6, the number of route discovery restarted is increased greatly in DSR without PAA compared to DSR with PAA. That's because the increasing max speed will enlarge the possibility of link break caused by MH's mobility along the route path in DSR without PAA, whereas this figure increases slowly in the DSR with PAA, that's because the number of route discovery restarted is largely decreased by adjusting the transmission power dynamically to adopt to the mobility of MHs.

Figure 7 demonstrates the route energy state on delivering packets. In this figure, the route energy state of DSR without PAA is always stable at 1.25 × 10 1 0pJ, while the route energy state of DSR with PAA increase as the MH's max speed increase. So the route energy state of DSR without PAA is maintained in good state, and the route energy state of DSR with PAA is becoming worse as the max speed increasing. As it has shown in figure 6, the good route state was maintained by DSR without PAA at the cost of much larger number of restarting route discovery, while PAA is aimed to reach a global balance not only in energy consumption on restarting route discovery but also on maintaining route energy consumption state on packet delivering. Clearly less number of route discovery leads to more energy consumption on packet delivering, here the number of route discovery should be select carefully in PAA to minimize the total energy consumption.

The simulation result about the total energy consumption of the two protocols is plotted in figure 8. From the figure, you can see that 40protocol DSR with PAA when the max speed is becoming high. In the present of mobility of mobile host, the protocol DSR without PAA always restart the route discovery when a link break happens, it is suffering the mobility of MHs. While in the protocol DSR with PAA, the mobility of mobile host was under the control of PAA, and further more with the appropriate setting of the length of restarted period, the route discovery is restart to adjust the route path, which always balance the energy consumed on route discovery and packet delivering to reach a global power saving effect. Simulation results demonstrate that 40% energy was saved by using PAA to control the mobility of mobile host.

CONCLUSIONS

In this paper, we have proposed a power adjusting algorithm (PAA) which can be embedded in the routing protocol (e.g. DSR, AODV) to save power in the network layer. The algorithm of PAA introduced the adjustable transmission power control to control the mobility of MHs. By properly setting the length of period to restart the route discovery, PAA has the capability of balancing the energy consumption on route discovery and packets delivering to save power in network layer. By simulations, we first verified the optimal length of period calculated from our model, and then by analyzing the number of restarted route discovery and the route energy state, we also verified that PAA has indeed balanced the energy consumption on route discovery and packets delivering. Simulation results shows that the routing protocol DSR with PAA saves nearly 40% energy consumption under high speed mobility.

Fig. 1

 1 Fig. 1 Traveling pattern of a MH using the 2-D Random Walk Mobility Model.

Fig

  Fig. A route (2, 3, 4, 5, 6) constructed by route discovery.

Fig.

  Fig. The changing route (2, 3, 4, 5, 6) caused by the mobility of the mobile hosts.

Fig

  Fig. A new better route (2, 8, 1, 5, 6) found by restarting the route discovery

Fig. 5

 5 Fig. 5 Two vectors v 1 (r 1 , θ 1 ), v 2 (r 2 , θ 2 ) and their sum v(r, θ).

Fig. 6

 6 Fig.6Two vectors v 1 (r 1 , θ 1 ), v 2 (r 2 , θ 2 ) and their sum v(r, θ).

Fig. 9

 9 Fig.9Verification of the optimal length of period.

  Fig.10The number of route discovery per flow on delivering 1000 packets.

  Fig. 11 Average consumption on delivering one packet

  Fig.12The total energy consumption on delivering 1000 packets


Xiaofei Liao

Fengjiang Guo

Hai Jin
email: hjin@hust.edu.cn

Service Quality Assurance Mechanisms for P2P SIP VoIP

Keywords: Voice over IP, Service quality, Backup links, Dynamic switching

Recently P2P (Peer-to-Peer) has been proposed to improve the scalability of the traditional VoIP (voice over IP) systems. However, P2P makes VoIP service unreliable because P2P networks probably scale up and the service nodes are very likely to fail or leave the P2P networks when VoIP service is offering. To deal with this issue, we propose a service quality assurance mechanism. The whole proposition includes a relay overlay algorithm and a dynamic relay algorithm. In the scheme, VoIP system can select the successor of the failed relay nodes without adding extra backup nodes. The simulation results demonstrate that our algorithms maintain 70% voice dialogs correctly in the presence of relay nodes failure with the delay remaining below 150ms. The results also show that the system architecture is feasible and scalable.

Introduction

Voice over IP (VoIP) system is gradually replaying traditional PSTN (Public Switched Telephone Network) telephone and becoming the key pattern of voice transportation in NGN (Next Generation Network) due to its low cost, high flexibility and ability of integrating multimedia information. The P2P technology enhances VoIP system performance, but also brings some problems. P2P overlay network is open and extensible, but also has great differences and dynamics. The characteristic makes P2P networks unable to meet the requirements of VoIP system which is a kind of real-time application. When two VoIP nodes communicate in this network, the system often has quality of service problems.

The unreliability of service is a common issue in traditional VoIP systems, and it is mainly due to the breakdown or departure of the service node. Traditional service quality improvement mechanisms use RSVP (Resource Reservation Protocol) in application-layer, and MPLS (Multi-protocol Label Switching) in physical layer for improving service quality. The main disadvantages of those solutions are as follows:

• High costs: the cost of hardware and maintenance is increased, because it is based on the redundant mechanisms. • Poor scalability: the scalability of the system is subject to the constraints of the server capacity, and the increasing number of the user means that the service of the system is needed to be upgraded constantly. • Performance bottleneck: those solutions do not take the property of P2P network into account. The delay of restoration does not meet the requirement of real-time systems. On the other hand, in currently VoIP system, the more popular solution for traversing the firewall is to add a relay node between the users. However, due to property of the relay node, the system often has quality of service problems because the service node may leave the relay overlay. In that case the VoIP call is likely to fail.

The relay overlay consists of relay nodes and relay servers. The relay node is selected by relay server in VoIP system. In our VoIP system, the user applies to relay server for appropriate node before initiating a call. The unreliability of this relay service has extreme impact on the call process, because the call will be forced to be suspended once the failure or departure of caller's relay node.

As mentioned above, how to design an affective mechanism to find a successor of the failed relay node is still a problem. We propose a solution of a dynamic relay algorithm based on ICE (Interactive Connectivity Establishment) protocol. The main idea is that a lightweight redundant mechanism for relay server is adopted. If two users need to relay when communicating, one can use the relay server find the appropriate node to relay. We will explain the relay-node finding mechanism between two relay servers in the paper in detail. Before the call is initialized, the callee does not hold the information of the caller. It will select the relay node for accomplishing ICE process. At the same time, when the VoIP system makes the call with that relay node, it can dynamically switch the relay node which can provide better service. The callee automatically detects the voice quality and sends RE-INVITE (a command in SIP protocol) request. Then the callee is staying on the phone with the caller in the case of poor voice quality. In this case, the callee who holds the caller's information such as the position of its relay server could use a better relay node detecting algorithms.

In this paper we study the framework of P2P-SIP system and relay detecting algorithms. The problem proposed is how to design service quality assurance mechanism for P2P-SIP VoIP system to take full advantage of the properties of relay overlay to achieve high reliability and low investment VoIP system.

The rest of this paper is organized as follows. Section 2 discusses the related work. The detail system architecture is described in section 3. Section 4 describes our simulation and presents the performance evaluation. We conclude this work in section 5.

Related Work

In this section, we give a brief overview of Skype, a real VoIP system, and related technologies including an application-layer relay algorithm.

Skype Relay Calls

Skype is the most popular P2P-based commercial VoIP system, which works around NAT (Network Address Translation) and firewall issues by routing calls through the machine of another Skype user with unrestricted connectivity to the Internet. Skype client (SC) maintains a list of other Skype peers called a host cache (HC) [START_REF] Jennings | REsource LOcation And Discovery (RELOAD)[END_REF]. Other Skype peers list is empty when a SC is running for the first time, and is built during the lifetime of a Skype client. Then, a SC can contact nodes in the host cache (HC). Additionally, a SC has a built-in list of about seven default Skype nodes, which are called bootstrap nodes and are used to help peers join the Skype overlay for the first time after installation.

After joining successfully, a Skype client establishes a TCP connection with another Skype user or a super node (SN). There are two types of nodes in the Skype overlay: super node (SN) and ordinary node. Both SN and ordinary node run the same Skype software. SNs are responsible for detecting online SCs, and transmitting signaling messages between SCs [START_REF] Baset | An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol[END_REF]. To establish a call, a SC searches for the callee machine. If they successfully contact with each other, they can directly exchange media data with the callee machines. We can select a node as a relay node (RN) and the call can be routed. A RN is a SN, which has sufficient bandwidth to relay a voice or a video call.

A key aspect of Skype's robust connectivity is its ability to traverse NAT and firewalls by routing a video or voice call through one or more Skype relays. The network conditions between the caller and callee machines are configured so that they are forced to use a RN.

The success rate of relay calls depends on the network conditions, the presence of a host cache, and caching of the callee's reachable address. From our experiments, we have found that Skype relay mechanism can be further improved. Because the Skype uses private protocol and the most important problem is how to guarantee the relay node steady and dependable.

Application-layer Relay Algorithm

The application-layer relay algorithm is a one-hop relay algorithm. It sets an overall server in relay overlay. This server is called relay server and manages other peers. The peers in the overlay keep the information of other nodes in the network and divide them into some parts. This information of other nodes will be stored in a ring-structure called Meridian [START_REF] Wong | Meridian: A Lightweight Framework for Network Positioning without Virtual Coordinates[END_REF]. It sets the radius of every ring according to the delay. The peers ping each other and get the delay among them, and put the other nodes in its rings. These nodes are used when the system needs a relay call. While one peer wants to join the network, it will ask the relay server for some node lists according to its network environment. After detecting the peers in these lists, the new node can initialize its own rings. It will update their delay information by using timer. The nodes send update packets to some of the peers in their rings. According to the approach, the node can update the peers in their rings.

When users need a relay call, it sends the search packet including the information of another user. The search algorithm will send the result back to the user who requests the relay call. The process is as follows. First, the source peer sends the search packets to some of its neighbors in its inner ring. The packets include IP address of the destination node. The nodes who receive the search packets continue to transfer the packet to the node in its own neighbors until it finds the destination node. By defining survival time of these search packets, it can reach some nodes so that there will be more opportunity to find the relay.

The application-layer relay algorithm is used in our early system which is called as Cutephone. But the relay node plays important role, and its network condition is crucially important for the call completion and service quality. Unfortunately, the relay call is used to solve the problem when users are behind NAT and firewall. The callee does not know the caller's information before initializing a call in most call cases. The relay path it selects may not be the best option.

Design and Architecture

There are two levels in our VoIP system architecture, the signal overlay and the media relay overlay, as shown in Figure 1. The upper level is signal overlay, which consists of super node client (SN-C). The SN-C is responsible for signal transferring. The lower level is media relay overlay, and it consists of relay servers and relay nodes. Their respective functions are described in the following sections. A UE (the VoIP client) could be standard traditional SIP clients or our own P2P-SIP client called Cutephone.

Cutephone is more flexible than tradition SIP clients by adding some functions to support ICE (Interactive Connectivity Establishment).

Design Principle

The system consists of Super Node Client (SN-C), Relay Node Server (RN-S), and Relay Node (RN). They play different roles in the VoIP system. SN-C combines the functions of SIP register server, SIP redirect server, and SIP agent server. Actually SN-C has two layers. One is the tradition SIP layer, called SIP server, and the other is the P2P overlay layer. P2P overlay is maintained by the SN-C mainly for user orientation and user information publishing, the specific algorithm of P2P overlay is Chord protocol.

RN-S manages the peers in relay overlay. It keeps the information of other nodes in the network and divides them into some parts according to the delay among them. This information of other nodes will be kept in a Meridian rings.

RN transfers RTP (Real-time Transport Protocol) packets between UEs if necessary. Besides, RN helps UEs which involves NAT traversal problem. The UEs use ICE to traverse NAT and firewall. The relay node's address is one of the candidate addresses in ICE process. ICE details will be described below.

The service quality assurance mechanisms should meet the following principles:

• The system should backup the relay call link before the call initializing.

Otherwise the delay of the whole relay node switching cannot be ignored.

• The relay detecting algorithm should be divided into two different parts. As mentioned above, the relay node which is selected before may not be the best option. So the relay detecting algorithm must be distinguished before and after first relay call. • The RN-S plays an important role in relay call. Its stability will have influence on the ICE and the relay call procedures. So we should consider the RN-S reliability.

System Architecture Overview

According to the above principle, we adopt redundant communication mechanisms in RN-S management of UEs. The whole architecture of relay overlay is shown in Figure 2.

RN-S Register

As shown in Figure 4, the process that UEs register in the relay overlay network is the same as that UEs register in the P2P network according to a bootstrap node. Specific registration process is as follows: 1) When a UE starts up, it will register in relay overlay with the bootstrap node in the list of bootstrap it maintains. 2) UE sends requests to bootstrap node for its RN-S nodes. Then the bootstrap node returns appropriate RN-S nodes according to UE's geographic information. 3) UE tests the delay between itself and the RN-S nodes returned by bootstrap node. Then it will check if the delay values can meet its requirements. 4) If satisfied, the registration is finished and the lowest delay nodes will be UE's RN-S node. Otherwise, it will serve as bootstrap node and take step 1. The actual UE registration in relay overlay involves more than one bootstrap node. The multi-bootstrap nodes will ensure UE's registration in the relay overlay successfully.

Redundancy Detecting

The process that UEs request its RN-S nodes through relay overlay network is not different from ordinary detecting algorithm if the RN-S response acknowledgement message is available. However, it may be failed because of the unreliable characteristic of the overlay network. In these cases, UE will send request to its duplicate RN-S, and then wait for the returned relay node, as shown in Figure 5. The timer in our mechanism asks the UEs to see if the relay node server is failed or departed.

After sending request message to the RN-S and waiting for the response, the UEs must finish the process of relay detecting. If the UEs work behind the symmetric NAT, the relay call mode is necessary. Moreover, the relay node is important for candidate address collection and connectivity checks in ICE technology.

NAT Traversal

The problem of NAT traversal can be resolved by ICE technology. The IETF (Internet Engineering Task Force) has devised a suite of protocols, namely STUN (Session Traversal Using NAT) [START_REF] Rosenberg | Session Traversal Utilities for NAT[END_REF], TURN (Traversal Using Relay NAT) [START_REF] Behave | Obtaining Relay Addresses from Simple Traversal Underneath NAT[END_REF], and ICE [START_REF] Rosenberg | Interactive Connectivity Establishment (ICE): A Protocol for Network[END_REF], to address the limitations of the currently available NAT traversal solutions. Making a call starts by sending a SIP INVITE message with an SDP describing on which IP address and port the application can receive audio and/or video packets. These addresses and ports are known as candidates. Candidates are obtained from any firewall engine and are inserted into the SDP of a SIP INVITE message, which is sent to the callee. There are 3 types of candidates: local candidate, a local IP address of the client; reflexive or STUN candidates, an IP address of the client's NAT (assuming they are only behind a single NAT); and relay candidate, an address on a relay node that has been allocated by the client.

After gathering the candidates, the caller encodes them in the SIP INVITE message, and sends the message to the callee according to signaling overlay. In response to the SIP INVITE, the callee sends its ICE candidates within the SDP of a SIP provisional response, such as a SIP 183 (Session Progress), to the caller. Once the callee has sent its ICE candidates and the caller receives them, they will start performing ICE connectivity checks. At this time, both parties know about their peer's potential transport candidates. Each possible pair of local and remote candidates is formed. A connectivity check is done by sending STUN messages from the local candidate to the remote candidate for each pair, starting with the highest priority candidate pair first. Both parties exchange STUN messages in this way to determine the best possible candidate pair based on that they can communicate. Once a successful message has been sent both ways on a single candidate pair, the connectivity check may stop and media can be sent/received using that candidate pair.

Dynamic Relay Algorithm

The dynamic relay algorithm is based on the ICE protocol (draft-ietf-mmusic-ice-19) and the relay detecting algorithm. It provides a self-testing and failure restoration mechanism. Due to the breakdown or departure of relay node, the relay call service is unreliable. For that reason, the UEs must dynamically switch relay links. In SIP messages, the re-INVITE can modify the dialog and the parameters of the sessions at the same time. Consequently, we use the re-INVITE message and send it to the callee for new relay link establishment.

The other important procedure is the inquiry for a relay node. As we have said, the relay detecting algorithm can be divided into two parts. Before the call is initialized, we use ICE technology to determine the call link. When UEs are likely to switch the relay links, the process of choosing relay nodes is as follows:

Step 1. UE A requests the relay node corresponding to RN-S A and RN-S B;

Step 2. for each relay Ai in Meridian rings of RN-S A;

For each relay Bi in Meridian rings of RN-S A; if (Ai == Bi) do return relay Ai; Else do Bi+1; Endif; Ai+1;

Step 3. RN-S A returns the relay node Ai to UE A, UE A makes it as relay node. Then UE A makes a call start by sending a SIP re-INVITE message with a SDP describing on relay node's IP address and port the application can receive audio and/or video packets. Algorithm 1. Relay node detecting algorithm before switching

The specific process of dynamic relay algorithm is shown in Figure 6 and the detailed message flow is as follows:

1) SIP-client-A (UE 1) finds the poor quality of audio or video service, according to the parameter such as packet loss ratio and delay. 2) UE 1 requests a new relay node to its relay server (RN-S 1) with the information of UE 2's relay server RN-S 2. According algorithm 1, the RN-S Fig. 6 AAA structure of P2PSIP

Considering the condition that all of the SIP clients are our applications, there may be a problem if they send the re-INVITE message at the same time. UEs must return a 491 error message for the re-INVITE message. The clients who receive a 491 error message will check if it is a caller. Then the caller startup a timer at the average from 2.1 to 4 second, and the callee's timer is from 0 to 2 second.

4

Performance Evaluations

Evaluation Environment

We test our service quality assurance mechanism in the NS-2 (Network Simulation Version 2), which is running on a node of the high performance computing cluster in our lab. The node has two dual-processor Intel Xeon CPU and 8GB memory. We adopt the network model of random connecting of Transit AS with Stub AS, which is similar to the real network. With different sets of delay between, we run the system in different network scales to evaluate the performance. By checking the results of the simulation, we will estimate the re-hit ratio of the relay nodes, the dialog completion ratio, and the latency in our system, which is to test the stability of the relay mechanism.

Re-hit Ratio

The re-hit ratio is an important indicator of efficiency in our algorithm. The re-hit ratio indicates the probability that system switches relay nodes dynamically. According the algorithm described in section 3, the relay node is crucial to service quality assurance mechanism. Higher re-hit ratio brings better reliability of relay sub-system.

From section 3, we can see that a higher percentage of RNs in our relay overlay does not imply that more relay calls are requested. We set the number of RN from 400-2400.The results of re-hit ratio equals to the successful switching relay link ratio are shown in Figure 7. As shown in Figure 7, the average re-hit ratio of the system decreases along with the number of RN. The average re-hit ratio refers to the finding rate of fresh relay nodes when UEs switch the relay links under a certain node scale. The algorithm ensures a high re-hit rate in the low node scale. The average re-hit rate is about 90%. But with the expansion of the RN nodes, the re-hit ratio of the algorithm also decreases, because with the increasing of RN nodes number, the coverage TTL of searching packets will be reduced. But exceeding a certain number of the RN nodes, the hit rate stabilizes at a certain range, which is more than 75%, and proves the stability of the dynamic search algorithm.

Dialog Completion Ratio

The dialog completion ratio is another important indicator of efficiency in system. Dialog completion ratio is defined as the number of successfully completed dialogs in a certain period of time to total dialogs. This value can be used to indicate the quality of VoIP service.

In order to illustrate the unreliability of original VoIP system and the effectiveness of our algorithm, we run simulations for both the original VoIP system and our reliable system, which contains the ICE user software. In our simulation, we uniformly set the disabled nodes among the network and the node disabling time according to the overall simulation time, and we run the overall 1000 sessions with relay call. The results are shown in Figure 8. The average re-hit ratio of the system decreases with the increasing of the number RN. In spite of the relay node could fail in our system, the algorithm maintains around 98% dialogs correctly to provide the reliable SIP service. On the other hand, the dialog completion ratio in the original VoIP system decreases along with the number of RN. The main reason of the low ratio may be the performance of the relay detecting algorithm, which also degrades along with the RN node scale. In our system, if the first relay node fails, the UEs will dynamically switch another relay node.

Figure 9 shows the dialog completion ratio changing with the node failure ratio. In the simulation we change the node failure ratio and keep the number of relay nodes about 500. Then we can find the difference between our system and original VoIP system. As shown in Figure 9, the dialog completion ratio decreases with the growth of the relay node failure ratio. The original VoIP system fails even faster, under 30% when the failure ratio is 50%, while our system is 70% at the same condition.

Latency of Switching Relay Nodes

The latency of switching relay nodes refers to the average delay of changing a relay node between two UEs under certain situation. We will test the latency from the time when the UE detects the poor quality to the time when one relay node has been decided. The feasibility of the strategy also should be still useful with the expansion of the nodes scale. If the delay value is too big or only be limited within a small node scale, this system can not be used. In our simulation, as the shown in Figure 10, when the system switches relay node, the latency remains about 250ms. The delay is not satisfied, and the user can feel conversation interrupts, which comes mainly from the delay of ICE process and relay detecting.

Conclusions

In this paper, we propose a service quality assurance mechanism, which maintains the VoIP servers quality in a relay overlay effectively. Simulation results indicate that the system architecture is feasible and scalable. The whole design includes relay detecting algorithm and dynamic relay algorithm. When the VoIP system builds a call with a relay node, it can dynamically switch the relay node with another one which can provide better service. The callee automatically detects the voice quality and sends re-INVITE request for poor voice quality. Our work provides an initial study on the reliable structure of P2P-SIP VoIP system.

Fig. 1 P2P

 1 Fig.1 P2P VoIP system structure

Fig. 2

 2 Fig. 2 Relay call procedureIn Cutephone, the above relay call process and service quality assurance mechanism are replaced by relay overlay structure. The software is four-layer structure, as shown in Figure3. The top layer is UI (User Interface) module, which analyzes UE's operation command and calls the functions provided by lower layer. The Core API module provides the relay management function which can decide the call modes. There are two kinds of call modes, direct and relay call, respectively. The Media stream module uses codes module to encode and decode the audio/video data. The NAT module uses ICE to traverse NAT and firewall. The RTP and STUN module defines a standardized packet format for delivering audio and video over IP networks and traverse them. The SIP module handles SIP request and response.

Fig. 3

 3 Fig. 3 Cutephone application modules

Fig. 4

 4 Fig. 4 RN-S registration

Fig. 5

 5 Fig. 5 Redundancy detecting

Fig. 7

 7 Fig. 7 Re-hit Ratio

Fig. 8

 8 Fig. 8 Dialog completion ratio

Fig. 9 Fig. 10

 910 Fig. 9 Dialog completion ratio with node failure ratio

  1 and RN-S 2 work together and return the appropriate new relay node to UE 1. 3) UE 1 makes a new call by sending re-INVITE message with a SDP message on new relay node's address and port the application can receive audio and/or video packets. 4) UE 1 transmits STUN packets to new relay node's address and port. On the other hand, UE 2 transmits the RTP packets to the address.

	UE 1	RN-S 1	SN-C	RN(NEW)	RN-S 2	UE 2
			Call established
	Poor quality
	Request new RN
		According to algorithm 1, find a new relay node
	Return new RN
	Re-INVITE(new RN address)		re-INVITE	re-INVITE
		2xx OK		2xx OK
		ACK		ACK
	RTP packets in STUN packets	RTP packets

Acknowledgments

. This work is supported by Program for New Century Excellent Talents in University under grant NCET-08-0218, China National Natural Science Foundation (NSFC) under grant 60973133, FOK YING TUNG Education Foundation under grant No.122007, the National Science and Technology Major Project of the Ministry of Science and Technology of China under grant No.2010ZX-03004-001-03 and the Fundamental Research Funds for the Central Universities under grant No.No.2010QN013.