Chapter 2 System Model
2.5 Group Handover Scenario
In our group handover scenario, there have many ongoing MTs in a moving vehicle. While the vehicle is driving away from a serving BS of a serving network, the received signal power of all MTs that are served by this serving BS is decreasing.
A handover group will be formed by these MTs. If a MT detects that its received signal power is less than a threshold, the MT will trigger the handover decision by sending the handover trigger message to the serving BS. Due to that MTs are close to each other in the vehicle, which means that the long-term channel condition of each MT is similar. The MTs in the handover group will send the handover trigger message at the same time or nearly simultaneously. After receiving these handover trigger messages, the serving BS is going to make a group handover decision.
We define the handover group set as M. For the MT i, iM, the required mean data rate is ci kbps, the increased load of network j which caused by ci is denoted byi ,j, the communication life time is Xi which is modeled as an exponential distribution with mean E[Xi], the head-of-line (HOL) packet delay is di ms, the packet dropping rate is p , and the average transmission rate is i R kbps. i The handover trigger message sent by MT i includes the candidate network set of MT
21
i, which is denoted by K . The MT i will scan and select one BS with largest pilot i signal power in each network to represent each network. After selecting one BS in each network, the MT i will decide its candidate network set K by satisfying i
* j
j PI
PI (2.24)
where PIj is the pilot signal power of network j, and PI*j is a required pilot signal power of network j. Besides, GSM network (j=1) can only serve the MTs with voice traffic class (h=1). In other words, GSM network cannot be included in the candidate network set of MTs with video, HTTP, and FTP traffic class (h=2, 3, 4). Therefore, the candidate network set of each MT i in the vehicle is given by
. If the serving network decides to let MT i handover to network j, the value of si will be set to j, j=1, 2, 3, 4. If the serving network decides to block the MT i, the value of s will be set to 0. The reason why a MT will be blocked by the i serving network are that, there is no network that can satisfy the QoS requirements of the MT in the handover group, or there is no network that can provide enough loading capacity to accept the MT in the handover group.
22
Chapter 3
Simulated Annealing Based Group Handover Decision (SA-GHOD) Scheme
In this chapter, we propose a simulated annealing based group handover decision (SA-GHOD) scheme to solve the group handover decision problem. The goals of SA-GHOD scheme are to minimize the group handover blocking ratio, improve the load balancing of heterogeneous network, reduce the number of handovers, and provide a good QoS for each MT. The group handover decision problem will be formulated to an optimization equation first. Then we will introduce the simulated annealing (SA) algorithm. Finally, the simulated annealing based group handover decision (SA-GHOD) scheme will be proposed to solve the problem.
3.1 Problem Formulation
In the group handover decision problem, we need to select the appropriate target network for each MT in the handover group. Firstly, we consider the group handover blocking ratio in the handover group. The handover blocking will occur when all the candidate networks of a MT cannot provide enough loading capacity, or all the candidate networks of a MT cannot afford the QoS requirements of this MT. The serving network will calculate the value of group handover blocking ratio before making the group handover decision. If the group handover blocking ratio is high, many MTs in the handover group will be blocked by the serving network.
23
Secondly, we consider the balance of loading between every target networks.
From the view point of one operator who own the four different wireless networks, if a network is overloaded and cannot accept any new MT while other network at the same area is underutilized, it will affect the operator's revenue. Load balancing among networks will improve radio resource availability and provide better quality of service for MTs as well.
Then, frequently performing handover may cause some severe disadvantages in the perspective of single MT. For example, it leads to heavy processing loads, causes more delay in the processing of handover requests, and increases the chance that a call will be denied access by a BS. In order to reduce the circumstance of frequent handover, a BS with large cell range will be considered in the group handover decision.
Finally, we consider that guaranteeing the quality of service (QoS) for each MT.
Because there are four different traffic classes of MTs in the handover group, the group handover decision needs to satisfy the requirements of different kind of MTs.
The serving BS will communicate with the candidate networks of each MT to get the quality of candidate networks, including the average packet delay, the average packet dropping rate, and the average transmission rate. Therefore, the serving BS can select a target network which may provide a better QoS according to these quality parameters.
The group handover decision problem is formulated as follows ),
( min
* arg
s f s
s
(3.1)
subject to the QoS constraints:
24
and the system constraint:
, 1,2,3,4, optimal solution of the group handover decision problem. The s h
d i, , s h
pi, , and s h Ri,
are the average voice/video packet delay, the average voice/video packet dropping rate, and the average HTTP/FTP transmission rate of network s , respectively. The i
si
is the load intensity of network s . During the group handover decision, the i
serving network will communicate with all candidate networks to get the above four information. The d*h is the upper bound of the HOL packet delay of the MT with traffic class h. The p*h is the upper bound of the packet dropping rate of the MT with traffic class h. The Rh* is the minimum required average transmission rate of the MT with traffic class h. The Mj is the handover group subset, where
25
target network needs lower than the delay requirement of the MT (ds,h dh*
i ) and the average packet loss rate of the target network needs lower than the requirement of packet loss rate of the MT (ps ,h p*h
i ). For the MT with HTTP or FTP traffic in the handover group, the joinable network constraint Rs Rh*
i is to assure that the average transmission rate of the target network is larger than the minimum transmission rate requirement of the MT. The network loading constraint illustrates that the load intensity of every network cannot overloaded after the group handover.
3.1.1 Cost Function
For a given s
, it has a corresponding cost function f(s)
which is defined as f(s)B(s)W(s)L(s), (3.2) where B(s)
denotes a group handover blocking factor, W(s)
denotes a dwelling time factor, and L(s)
denotes a load balancing factor. The contents of these three factors will be described below.
(1) Group Handover Blocking Factor
For a given target network decision vector s
, we can get the group handover blocking ratio directly by counting how many MTs in the handover group are decided to be blocked over the total number of MTs in the handover group. Hence, the group handover blocking ratio, denoted by RB(s)
, is defined as
, )
( 0
M
M s RB
(3.3)
where M0 {isi 0,iM}. If the value of RB(s)
is higher than a predefined upper
26
where R is a predefined upper bound for the group handover blocking ratio. Fig. *B 3.1 shows the design concept of B(s)
when R is set to 0.05. When B* RB(s)RB* , we hope that the effect of RB(s)
to the cost function is higher than that of the other maximum value of W(s)
, the dwelling time ratio of MT i, denoted by
si
27 the MT i's communication life time Xi is modeled as an exponential distribution with mean E[Xi]. Considering all MTs in the handover group, the average dwelling time
We hope that MTs in the handover group can handover to a network with large cell range in order to reduce the number of handover. Therefore, the handover group tend to have a large value of (s). In addition, When there has many s dwelling time factor as
W(s)e(s)(s). (3.8)
(3) Load Balancing Factor
Based on a given target network decision vector s, we can find the prospective
28 intensity of all candidate networks, which is denoted by and is given by
Finally, we define the load balancing factor as
.
is between 0 to1. If the value of load balancing factor is close to 0, it means that the loading between candidate networks are very close.
3.2 Simulated Annealing Algorithm
The annealing process is heating the solid until it is melted and then slowly cooling the solid to obtain a strong crystalline structure. In 1953, Metropolis et al.
proposed a method for computing the equilibrium distribution of a set of particles of a solid in a heat bath [18]. Simulated annealing derives from the analogy between the process of annealing a solid and the process of finding minimal solutions for minimization problems, which is linked by Kirkpatrick et al. in 1983 [19].
The simulated annealing algorithm is formed by three parts: the initialization part (line 1 to line 2), the generation and acceptance part (line 5 to line 8), and the cooling schedule part (line 3, line4, and line11).
The initialization part is to set an initial value of the temperature which is
29
denoted by T and generate an initial solution s
by the GenerateInitialSolution() function. The temperature T is a control parameter which will affect the probabilistic decision in the generation and acceptance part. The initial temperature needs to be high enough to accept any new solution which is generated from a old solution. Under the initial temperature, the GenerateInitialSolution() will generate an initial solution which is common to be a random initial solution and let the simulated annealing process improve on that. However, due to the random solution might has a long searching time, it is better to start with a useful solution which can reduce the searching time. For a solution s
, there must be some way of measuring the quality of the solution, which is the cost function f(s)
. If possible, the cost function should be designed so that it can lead the search. One way of achieving this is to avoid cost functions where many states return the same value.
In the generation and acceptance part, first is to generate a new solution which is denoted by s
from the old solution s
by the function Generate(). In order to reduce the time of calculation, it is common that generate a new solution by changing the result of some elements of old solution. After generating a new solution, the function Accept() will calculate the difference of the cost functions between the new solution and the old solution, and determine whether the new solution will be accepted or not. Here we use the common criteria called the Metropolis criteria [18].
If f(s)
is lower or equal to f(s)
, the old solution will be replaced by the new solution. However, if f(s)
is larger than f(s)
, it still may accept the solution with a probability exp{[f(s) f(s)]/T}. The significant advantage of the Metropolis criteria is that any neighbor solution of the old solution can be accepted as a new solution when the temperature is high. It could avoid the new solution trapping in a local minimum solution. For example, it can first generate and accept a worse new solution from an old solution, then generate a best solution by the worse solution
30
because the best solution is the neighbor of the worse solution, but it is not a neighbor of the old solution.
The cooling scheduling part is in charge of deciding the iteration criterion, deciding how to decrease the temperature, and deciding the stopping criterion. The iteration criterion is the number of iterations at each temperature. A common method will be adopted by setting the number of iterations to a constant which is denoted by L. Then the geometric decrement will be used in the function Decrease(), that is, Decrease(T)=T, where 0 1. The way in which we decrease the temperature and decide the value of L are important due to that they decide whether the algorithm can find the minimum solution and how long it will take. We can either doing a large number of iterations at a few temperatures, a small number of iterations at many temperatures or a balance between the two. Therefore, the L and will be tested and decided in simulation. The stopping criterion can either be a suitably low temperature or when the system is "frozen" at the current temperature, i.e., no better or worse moves are being accepted. The pseudo code of the simulated annealing algorithm is shown below.
Simulated Annealing Algorithm
output: sbest
1: set initial temperature T.
2: s GenerateInitialSolution(), 3: sbest s.
4: while stopping criterion do 5: while iteration criterion do 6: sGenerate(s
).
7: s Accept(T s s , , ).
8: if f(s) f(sbest)
then // Record the output solution 9: sbest s
.
10: end if
31
Fig. 3.2: Flow Chart of the SA-GHOD Scheme Initialize T,
receive candidate network set from all MTs
No
32
3.3 SA-GHOD Scheme
Fig. 3.2 shows a flowchart of the SA-GHOD scheme. The scheme includes three parts: initialization, generation and acceptance, and cooling schedule. The initialization is to find a good initial solution which satisfies the joinable network constraints of the optimization equation (3.1). The generation and acceptance shows how to find and accept a new solution in our problem. The cooling schedule is used to let the final solution with minimal value of the cost function. The detail will be described in the next three subsections.
3.3.1 Initialization
The initialization part is going to initialize the initial solution s
and the starting temperature Tmax.
First of all, the serving network will find a joinable network set Gi of MT i from the candidate network set K by satisfying the joinable network constraints i (line 1). The joinable network constraints are calculated by
When a candidate network of MT i satisfies the joinable network constraints, it means that this candidate network can guarantee the QoS for the MT i and afford the increased load of MT i. In addition, it can reduce the searching space of s
.
Then the function GenetateInitialSolution() will generate the initial solution s by repeating the following three steps until all MTs in the handover group match their target networks.
Step 1: Selecting a MT from the handover group by the MT selection strategy (line 2). The MT selection strategy selects a MT i with the smallest required mean
33
data rate c . If there are more than one MT have the same smallest required mean i data rate in the handover group, selecting a MT from these MTs randomly. The reason why selecting the MT with smallest c is that, it tend to let more MTs in the i handover group handover successfully in order to have a minimal value of the group handover blocking ratio B(s)
when the total resource of all joinable networks is not enough.
Step 2: For the selected MT iˆ , deciding its target network siˆ by the network decision strategy (line 9). The network decision strategy selects a network with the smallest value of a price function from the joinable network set of MT iˆ . The price function of MT iˆ is composed by three factors of the cost function (3.2) and is (3.8) will be the dwelling time ratio
si
34
) ( j
Pi will tend to minimize the cost function in the initialization part. The network selection result s of MT i will be i
s argminPi(j),
j i
Gi
(3.17)
Step 3: Updating the load intensity of the selected network in step 2. If there have MT that haven't decide their target network, go back to step 1. However, in the process of generating the initial solution, matching a MT to a network at a time cannot assure that the value of the cost function is minimal. For this reason, the simulated annealing algorithm is used to check whether there have better solutions or not.
In the end of the initialization, One way to set the initial temperature T to be the high value of the cost function (line 4). In addition, two index l and c will be set. The index l is the current number of iterations and is set to 1 initially. The index c is the cumulative number of times that the current solution is not replaced by a new solution and is also set to be zero initially. The pseudo code of this part is described as below.
Initialization input: K i output: l , c, T, s
, sbest
1: Calculate Gi for all MT i by (3.15) 2: s
GenerateInitialSolution() 3: sbest s.
4: Set T= 5, c=0, l=1.
5: end
GenerateInitialSolution() Output: s
1: for a1 to M do // Generate s
; a is a index
35
2: ˆ argmin .
i i
c i
M
// Select a MT with minimum c . i
3: for j 1 to Giˆ do // Update the joinable network set of MT i.
4: if j ˆi,j 1 then 5: Giˆ Giˆ{j}.
6: end if
7: end for
8: if Giˆ then 9: sˆ argminPi(j)
i j
Gi
// MT iˆ Select a network with minimum Piˆ(j).
10: .
ˆ ˆ
ˆ ˆ,
i i
i s is
s
//Update the load intensity of the selected network.
11: else // if MT iˆ has no joinable network.
12: siˆ 0.
// MT iˆ will be blocked 13: end if
14: MM{iˆ}.
15: end for
3.3.2 Generation and Acceptance
In this part, a new solution will be generated from the old solution (initial solution at the first time), compare the value of cost function between the new solution and the old solution, and decide whether to accept the new solution or keep the old solution.
First of all, the function Generate() will generate the new solution s
from the old solution s
by selecting two MTs to exchange their network decision with each other. The detail is shown in the following steps.
Step 1: Selecting a MT i from the handover group set 1 M randomly.
Step 2: Keep selecting another MT i from the rest of MTs in the handover 2 group set (M{i1}) randomly until satisfying
1
2 i
i s
s . Because changing the target network of two MTs with the same target network decision result in the old solution is useless.
Step 3: Calculating a changing index which is denoted by k and is defined as
36
When k1, it means that the two selected MTs can exchange their network selection results. When k0, it means they cannot exchange network selection results. There are three situations that the exchange will happen. Two of the situations are that if one of the two selected MTs is set to be blocked by the serving network ( 0
1
the two selected MTs select different networks in the old solution, they will exchange their network decision if their network decision results is the candidate network of
selected MTs cannot exchange their target network decision results, go back to step 2 to select another MT. If all the MTs in step 2 cannot match the MT which is selected in step 1, go back to step 1 to select another MT.
After that, the function Accept() will calculate the difference of the cost function between the new solution and the old solution, which is denoted by f . Then it will use the Metropolis criteria [18] to determine whether the new solution s
will be
37
accepted or not. That is, the new solution s
will be accepted directly if f 0 and the new solution s
will also be accepted with probability T
f
e
if f 0. If the new solution is accepted, the value of index c will be set to zero. Otherwise, the value of index c will plus 1.
In the end of this part, the output solution sbest
will be set to the new solution if the value of the cost function of the new solution is less than the old solution. On the contrary, the output solution sbest
will keep the old solution if the value of the cost function of the new solution is larger than the old solution. The pseudo code of this part is described as below.
will keep the old solution if the value of the cost function of the new solution is larger than the old solution. The pseudo code of this part is described as below.