0% found this document useful (0 votes)
20 views

Simulated Study of QoS Multicast Routing Using Particle Swarm Optimization

The document discusses using particle swarm optimization to solve the quality of service multicast routing problem. It presents the network model, describes the proposed algorithm using PSO and defines the fitness functions used. The algorithm generates initial particles, computes paths and applies the fitness functions to obtain optimal solutions.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Simulated Study of QoS Multicast Routing Using Particle Swarm Optimization

The document discusses using particle swarm optimization to solve the quality of service multicast routing problem. It presents the network model, describes the proposed algorithm using PSO and defines the fitness functions used. The algorithm generates initial particles, computes paths and applies the fitness functions to obtain optimal solutions.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

World Applied Programming, Vol (1), No (3), August 2011.

176-182
ISSN: 2222-2510
2011 WAP journal. www.waprogramming.com

Simulated Study of QoS Multicast Routing


Using Particle Swarm Optimization
Mala C*

Narendran Rajagopalan

Department of Computer Science and Engineering


National Institute of Technology, Tiruchirappalli
Tamil Nadu, India-620015
[email protected]

Department of Computer Science and Engineering


National Institute of Technology, Tiruchirappalli
Tamil Nadu, India-620015
[email protected]

Abstract: In this paper we intend to solve Quality of Service(QoS) multicast routing problem using Particle Swarm
Optimization technique. A fitness function is used to implement the constraints specified by the Quality of Service
conditions. The inclusion of extra parameters in the fitness function resulted in efficient convergence with minimal
computational cost. Multiple groups were implemented and a number of multicast trees were obtained as part of the
solution. The experimental results dealt with relations between the number of nodes in the input graph, number of
particles present in the system and the number of iterations required for convergence. The results also analyze the
performance of the system when multiple groups are present.
Key word: QoS multicast optimization PSO ACO Genetic Algorithm
I. INTRODUCTION
Multicast is a communication technique over the IP infrastructure in a network for one-to-many communication. The
source sends a packet only once, even if it needs to be delivered to a large number of receivers, using the network resources
optimally. The intermediate nodes replicate the packets whenever necessary to address a large receiver population[1]. The
most common protocol to use multicast addressing is User Datagram Protocol(UDP). Multicast routing is used in various
continuous media applications and is employed for streaming media and Internet media applications.
The primary function of QoS[2][6][8][9] is to ensure that all applications are getting the necessary bandwidth to function at
a desired level. QoS uses resource reservation control mechanisms to allow administrators to set a desired level of service for
each traffic type on the network. The goal of QoS is to provide preferential delivery service for the applications that need it
by ensuring sufficient bandwidth, controlling latency and jitter, and reducing data loss. QoS is important as it provides the
following benefits, Gives administrators control over network resources, ensures that time-sensitive and mission-critical
applications have the resources they require, improves user experience, reduces cost by using existing resources efficiently.
QoS is important for real time streaming media applications, since these often require fixed bit rate and are delay sensitive.
In QoS multicast routing, each node or link has some parameters associated with it. These parameters are used to
determine the most efficient path from the source to the destinations. Thus, these network resources must be handled and
shared in such a way that the most optimal solution can be obtained for the QoS multicast routing problem with minimal cost.
This cost is determined by the parameter values associated with each node and link which may be present in a chosen path
from a source to a destination. Generally, heuristics are used to solve this problem. Genetic Algorithms(GA) and Ant Colony
Optimization(ACO)[3][] have also been used to solve this problem.
Partical Swarm Optimization(PSO)[4][5] technique is applied to solve the QoS multicast routing problem in this paper.
PSO is a stochastic, population based evolutionary computer algorithm for problem solving. It is based on sociopsychological principles and involves insights into social behaviour. This concept was introduced into optimization technique
in the year 1995 by J.Kennedy.
PSO simulates social optimization similar to the social behaviour of a flock of birds. Given a problem, a proposed solution
is evaluated using a fitness function. PSO can be easily used to handle a large number of test cases and possible solutions for
a given problem. The memory and processor requirements for PSO are low. Hence it can be used to solve optimization
problems and is computationally inexpensive.

176

Mala C. et al., World Applied Programming, Vol (1), No (3), August 2011.

II. MOTIVATION
Multicast routing is widely used in Internet applications and for live video streaming. Hence we need an efficient
implementation of this routing technique which has low computational cost and good performance. Genetic Algorithms(GA)
and Ant Colony Optimization(ACO) techniques have been used to solve this problem.
However, GA has a tendency to converge towards local optima or even arbitrary points rather than the global optimum of
the problem. Also, GA cannot effectively solve problems for which the only fitness function is right/wrong, as there is no
way to converge on the solution. In these cases, a random search may find a solution as quickly as a GA. For certain
optimization problems, simpler optimization techniques such as PSO may find better solutions than genetic algorithms.
PSO moves towards the global optimal solution by taking into consideration the local solutions of the particles. The
computational cost involved is very low and it is ideally suited for very large input cases. Thus, PSO can be easily used to
solve the Quality of Service Multicast Routing problem and this approach forms the basis of this paper.
III. PROPOSED WORK
The network is represented using a directed acyclic graph[2] G=(V,E), where V represents the set of nodes or vertices and E
represents the set of links or edges present in the graph. |E| denotes the number of edges and |V| denotes the number of
vertices present. The parameters associated with each node are delay, delay jitter and packet loss. The parameters associated
with each edge are delay, delay jitter and bandwidth. Apart from these, queuing delay and buffer capacity were also included
in the improved version of the implementation.
For a given tree, the different parameters are calculated as follows:
Delay(Tree)
= Delay(nodes) +Delay(edges)
DelayJitter(Tree)
= DelayJitter(nodes) +DelayJitter(edges)
PacketLoss(Tree) = PacketLoss(nodes)
Bandwidth(Tree)
= Bandwidth(edges)
QueuingDelay(Tree) = QueuingDelay(nodes)
BufferSize(Tree)
= BufferSize(nodes)
QoS requirements implement the following constraints on any given tree :
1. DelayConstraint
: Delay(Tree) < D
2. DelayJitterContraint
: DelayJitter(Tree) < DJ
3. PacketLossConstraint : PacketLoss(Tree) < P
4. BandwidthConstraint
: QueuingDelay(Tree) > B
5. QueuingDelayConstraint : BufferSize(Tree) < Q
6. BufferSizeConstraint
: BufferSize(Tree) > BS
IV. PROPOSED ALGORITHM
Input

- Directed acyclic graph to represent the network Parameters of nodes and edges.

Output - The most optimal solution determined using the fitness function. A multicast tree representing the optimal solution.
Step 1 : Initializing the system.
Step 2 : Computing all paths from source to all destinations.
Step 3 : FOR i=1 to ITER :
Step 4 : Generating particles.
Step 5 : Applying fitness function.
Step 6 : FOR all particles in the system :
Step 7 : Updating personal best and global best values.
Step 8 : Obtaining new particles from existing particles based on personal best
and global best values.
Step 9 : END FOR

177

Mala C. et al., World Applied Programming, Vol (1), No (3), August 2011.

Step 10 : END FOR


A. Computing paths from source to all destinations:
After obtaining the input graph, we compute all possible paths from the chosen source node to each of the chosen
destination nodes by applying Depth First Search(DFS) recursively. These paths are stored in vectors and used for later
implementation.
B. Generating Particles :
One path is chosen randomly from each node and is used to form a tree, this constitutes a particle[7]. The number of
particles are chosen depending on the size of the input. The effect of number of particles on the performance of the algorithm
is analyzed later in this paper.
C. Fitness Function :
In this method, the fitness function initially used is :
f(x) = w1/tbw * (w2 * tdel + w3 * tdeljit + w4 * tploss)

(1)

where, w1,w2,w3,w4 are constants


tdel is total delay
tdeljit is total delay jitter
tploss is total packet loss
tbw is total bandwidth
Queuing delay and buffer size are also included as parameters and the new fitness function thus obtained is :
f(x) = w1/tbw * w2/tbs * (w3 * tdel + w4 * tdeljit + w5 * tploss + w6 * tqdel)

(2)

here, w5,w6 are constants


tbs is total buffer size
tqdel is total queuing delay
The fitness function used is a minimization function.
The parameters for each tree are computed as shown in the network model description. These values are then substituted in
the fitness function.
D. Updating Personal Best and Global Best values :
Every particle in the system has a personal best value associated with it, pbest. This pbest value represents the best fitness
function value obtained by the particle when applied to the fitness function. Also, a global best value called gbest is used to
store the best fitness function value obtained from among the pbest values of all particles in the system. The personal best of
each particle is compared with the value returned by the fitness function. If the fitness function value is lesser, then the
personal best of the particle is set to the fitness function value. When the personal best value of each particle is computed, the
global best value is updated as the value of all the personal best values.

E. Obtaining new Particles :


From the initial particles, new particles are obtained taking into consideration the personal best and global best values. A
velocity value is associated with each particle, which is calculated as
vnew = w * vold + c1 * rand() * (pbest curr) + c2 * rand() * (gbest curr)

178

(3)

Mala C. et al., World Applied Programming, Vol (1), No (3), August 2011.

where, w,c1,c2 are constants


vold is old value of velocity
rand() generates random value
pbest is personal best of a particle
gbest is global best
curr is current particle value
New particle is computed as,
Xnew = Xold + V

(4)

The process is then applied to these new particles. This process is repeated until all particles converge towards the global best
value. Thus a tree is obtained as the result. This tree represents the most efficient network between the source and given
destinations.
V. SIMULATION AND PERFORMANCE ANALYSIS
To analyze the performance of the proposed algorithm, different sets of input were generated and the algorithm was tested for
varying number of nodes and particles. Also, a comparison between the initial version with 3 parameters and the improved
versions with 4 and 5 parameters was carried out. The results are as below
ORIGINAL - refers to Column in the Table with 3 parameters
NEW_Q - refers to Column in Table with original 3 parameters and queuing delay
NEW_B - refers to Column in Table with original 3 parameters and buffer size
NEW_QB - refers to Column in Table with original 3 parameters, queuing delay and buffer size.
A. Analysis of Different Parameters on Number of Iterations for Varying Number of Nodes :
TABLE I.

ORIGINAL VS NEW_Q VS NEW_B VS NEW_QB

Sl.No

Number of Nodes

ORIGINAL

NEW_Q

NEW_B

NEW_QB

10

10

18

14

15

62

47

41

40

20

80

67

60

52

25

97

86

73

71

30

147

119

94

88

The Table I depicts the relationship between number of nodes and number of iterations for different sets of parameters. The
column ORIGINAL lists the number of iterations required for convergence for three parameters. It can be observed that the
column, NEW_Q representing the number of iterations for convergence with queuing delay as an additional parameter to
ORIGINAL. Similarly, the column, NEW_B indicates the number of iterations required for convergence with buffer size as
an additional parameter to ORIGINAL. Also, the column, NEW_QB indicates the iterations needed for convergence with
both queuing delay and buffer size as additional parameters.

179

Mala C. et al., World Applied Programming, Vol (1), No (3), August 2011.

Figure 1. Comparison of Parameters on Number of Nodes for Convergence

The graph in figure 1 based on the results of Table I, depicts the relationship between number of nodes and number of
iterations for ORIGINAL parameters, original parameters and Queue length represented by NEW_Q, original parameters and
buffer length represented by NEW_B and NEW_QB representing original parameters and buffer length and queue length. It
can be observed that the results improve with addition of new parameters in the fitness function. NEW_Q and NEW_B
performing better than ORIGINAL and NEW_QB performing better than all.OLD vs. NEWBOTH. We can observe that the
improved version requires lesser number of iterations for convergence.
B. Analysis of Different Parameters on Number of Iterations for Varying Number of Particles :
The Table II depicts the relationship between number of Particles and number of iterations for different sets of parameters.
The column ORIGINAL lists the number of iterations required for convergence for three parameters. It can be observed that
the column, NEW_Q representing the number of iterations for convergence with queuing delay as an additional parameter to
ORIGINAL. Similarly, the column, NEW_B indicates the number of iterations required for convergence with buffer size as
an additional parameter to ORIGINAL. Also, the column, NEW_QB indicates the iterations needed for convergence with
both queuing delay and buffer size as additional parameters. It can be observed that NEW_Q requires lesser number of
iterations for convergence with increase in number of particles. This can be attributed to the inclusion of the queuingdelay
parameter in the fitness function. Similarly inclusion of buffer size in the fitness function, NEW_B reduces the number of
iterations for convergence.
TABLE II.

ORIGINAL VS NEW_Q VS NEW_B VS NEW_QB

Sl.No

Number of Particles

ORIGINAL

NEW_Q

NEW_B

NEW_QB

461

358

309

244

388

325

254

217

321

273

209

165

184

177

143

119

142

109

87

82

112

87

72

66

180

Mala C. et al., World Applied Programming, Vol (1), No (3), August 2011.

Figure 2. Comparison of Parameters on Number of Particles for Convergence

The graph in fig. 2 based on the results of Table II, depicts the relationship between number of particles and number of
iterations for ORIGINAL parameters, original parameters and Queue length represented by NEW_Q, original parameters and
buffer length represented by NEW_B and NEW_QB representing original parameters and buffer length and queue length. It
can be observed that the results improve with addition of new parameters in the fitness function. NEW_Q and NEW_B
performing better than ORIGINAL and NEW_QB performing better than all.
VI. CONCLUSION
From the first set of graphs, it can be inferred that the relation between the number of nodes in the graph and the number of
iterations required for the system to converge. It can be seen that,
1. For a constant number of particles, the number of iterations required for convergence increases with increase in the number
of nodes in the input graph.
2. As more parameters are included in the later versions, convergence occurs faster. Thus, the number of parameters in the
fitness function affects the convergence rate.
From the second set of graphs, the effect of number of particles on the convergence rate can be observed. It can be seen that,
1. For a constant number of nodes in the graph, the number of iterations required for convergence decreases with increase in
number of particles. This is because; using more number of particles helps us to explore all possible solutions faster.

REFERENCES
[1] ZiqiangWang, Xia Sun, Dexian Zhang, A PSO Based Multicast Routing Algorithm, IEEE Third International
Conference on
Natural Computation(ICNC), pp. 664-667, 2007.
[2] Liu Jing, Jung Sun,Wenbo Xu, QOS Multicast Routing based on Particle Swarm Optimization, E.Corchado et al.(Eds.): IDEAL
LNCS 4224, pp. 936-943, 2006.
[3] Lenka Lhotska, Martin Macas, Miroslav Bursa, PSO and ACO in Optimization Problems, E.Corchado et al.(Eds.): IDEAL LNCS
4224, pp. 1390-1398, 2006.
[4] J. Kennedy, R.C. Eberhart, Particle Swarm Optimization, Proceeding of the IEEE International Conference Neural Networks, pp.
1942-1948, 1995.
[5] Xing Jin, Lin Bai, Yuefeng Ji, Yongmei Sun, Probability Convergence based Particle Swarm Optimization for Multiple Constrained
QoS Multicast Routing, Proceeding of the IEEE, pp. 412-415, 2008.

181

Mala C. et al., World Applied Programming, Vol (1), No (3), August 2011.

[6] Dragos Ilie, Optimization Algorithms with Applications to Unicast QoS Routing in Overlay Networks, Research Report No.2007:09
ISSN 1103-1581, 2007.
[7] Shinn-Jang Ho, Wen-Yuan Ku, Jun-Wun Jou, Ming-Hao Hung, Shinn-Ying Ho, Intelligent Particle Swarm Optimization in Multiobjective Problems, W.K.Ng, M.Kitsuregawa and J.Li(Eds.), PAKDD 2006, LNAI 3918, pp. 790-800, 2006.
[8] Jun Sun, Jing Liu,Wenbo Xu, QPSO-Based QoS Multicast Routing Algorithm, T.-D. Wamg et al. (EDS.), SEAL 2006, LNCS 4247,
pp261-268, 2006.
[9] Junwei Wang, Xingwei Wang, Min Huang,An intelligent QOS Multicast Routing Algorithm under Inaccurate Information, IEEE
2006,
pp
1073-1077,
2006.

182

You might also like