


Proceedings of Engineering and Technology Innovation, vol. 1, 2015, pp. 40 - 44 

40 Cop y right ©  TAETI 

An ACO-based Routing Algorithm for Multimedia CDN Networks 

Jian-Bo Chen 
*
, Yui-Lin Wang 

Department of Information and Telecommunications Engineering, Ming Chuan  University, Taoyuan County, Taiwan . 

Received 19 March 2015; received in revised form 20 April 2015; accept ed 01 May 2015 

 

Abstract 

Multimedia  Content Delivery Networks  is used to 

distribute mu ltimed ia contents from orig in server to many 

replica servers , wh ich can reduce the loads and can im-

prove the availability. The client request must be red i-

rected to the most appropriate one a mong these replica 

servers. In this paper, we  proposed Ant Colony Optimiza -

tion (ACO) based routing algorith m to solve this problem. 

The ants in ACO-based routing algorithm will re lease 

pheromone when they go through the path. The routing 

decision is based on the cumulat ive phero mone of the path. 

The ACO-based routing algorithm not only can find the 

most appropriate path but also can suit for dynamic t o-

pology. When the topology changes frequently, the 

ACO-based routing algorith m will a lways find a opt i-

mized path. The simu lation results show that th e 

ACO-based routing algorithm can achieve higher perfo r-

mance than the other mechanisms . 

Keywor ds : content delivery network, ant colony optimi-

zation 

1. Introduction 

Recently, the streaming mult imed ia contents play an 

important role  in the Internet. The popular  mu ltimed ia web 

sites, such as YouTube, have millions of mu ltimed ia 

contents could be accessible fro m the Internet. These web 

sites usually do not put all the multimedia contents in a 

single server or a single p lace to serve the clients. Instead, 

they distributed these multimedia contents into some rep-

lica  servers in other places around the world. In this kind  of 

network arch itecture, the loading of the single server can 

be shared by other servers. The architecture is also known 

as Content Delivery Networks  (CDN) architecture. The 

CDN arch itecture distributes  the mu ltimed ia contents fro m 

the origin server to many replica servers, which can reduce 

the loading and can improve the  availab ility. When a c lient 

issues a request to specific mu ltimed ia content, the CDN 

architecture will red irect this request to the most appro-

priate replica server. Then this replica  server serves the 

client request instead of the origin server, which can 

achieve better performance in the CDN networks. The 

bandwidth usage can be min imized, the CPU loading of 

servers can be reduced, and the connection number of 

specific link can be decreased. In  other wo rds, the CDN 

architecture is especially suitable  for mu ltimed ia content 

distribution and can reduce the user perceive latency. 

The CDN a rchitecture consists of several parts: origin 

server, replica servers, accounting system, distribution 

system, and request routing system [1-6]. The distribution 

system is used to distribute the mult imedia contents from 

origin  server to other replica servers. The  accounting sys-

tem is in charge  of the usage of mult imedia  contents. In 

this paper, our focus is on the request routing system. The 

request routing system [7] includes two sub-system, server 

location system and request routing system. The server 

location sub-system is used to find the most appropriate 

replica  server. When there are several replica servers 

contain the requested mult imed ia content, how to find the 

most appropriate server is the challenge of server location 

sub-system. Once the most appropriate rep lica  server is 

determined, how to redirect the client request to this re p-

lica server is another challenge of request routing 

sub-system.  

In this paper, we  will use Ant Colony Optimization 

based Routing Algorith m (A RA) to solve the request 

routing problem. In the server location sub -system, the 

most appropriate replica server can be  located according to 

the Pheromone. The more Phero mone the path contains, 

the better replica server can be determined. In the request 

routing sub-system, when the c lient passes through a sp e-

cific path, the Phero mone will be reta ined in this path. All 

the Pheromone will be accu mulated in this path. Based on 

this ARA algorith m, the most appropriate replica server 

will a lways be selected when the path contains more and 

more Pheromone.   

The ARA algorith m not only can find the best path but 

also can adapt with the dynamic  routing environ ment. 

When the network topology changes or the link congests 

frequently, the ARA algorithm can dynamica lly adjust its 

routing policy based on the amount of pheromone. The 

ARA algorith m sends a lot of packets as artific ial ants to 

each replica server and stores the amount of pheromone 

for each path. The routing is decided by the phe romone 

function and a random value to generate a probability 

value. The replica servers send back the artific ial ants with 

their own status. When the artific ial ants go back to the 

origin server, the status information o f each replica server 

will be updated. In the streaming mult imed ia CDN arch i-

tecture, when a client connects to a replica server and 

streams a multimedia content, the bandwidth of the path, 

the loading of the server and the connection number of the 

server will be  changed. If the capacity, such as bandwidth 

availability, cannot afford to the c lient request, the ARA 

algorith m will automatica lly chose another path to find out 

the other appropriate rep lica  server. Therefore , the A RA 

algorith m can enhance the accuracy of server locate and 

can improve the availability of servers. 

This paper is organized as follo ws. We will introduce 

the CDN architecture in Sect ion 2 and introduce the ACO 

in Section 3. The ARA algorith m will be described in 

Section 4. Our proposed method will be introduced in 

Section 5. The simu lation results are shown in Section 6. 

Section 7 is the conclusions . 

*Corresponding aut hor.  Email: jbchen@mail.mcu.edu.tw 



Proceedings of Engineering and Technology Innovation, vol. 1, 2015, pp. 40 - 44 

41 Cop y right ©  TAETI 

2. CDN Architecture 

The CDN network is a content caching mechanism with 

low cost and high reliability. It can increase the efficiency of 

data transmission and reduce the loading of the origin server. 

The CDN can also provide service to clients around the world. 

The client request is served by the closest replica server which 

contains the requested multimedia contents. In general, the 

architecture of CDN consists of several parts, including client, 

replica servers, origin server, accounting system, distribution 

system and request routing system. The system architecture of 

CDN is shown in Fig. 1. 

 
Fig. 1 The CDN system architecture 

The request routing system has two important functions, 

server location and request routing. The function of server 

location is to determine the most appropriate replica server 

after receiving a request from client. The most appropriate 

replica server must have enough ability to serve the client and 

must have the multimedia content the client request. There are 

two mechanisms to obtain the capacity of the server [8]. One is 

server push mechanism [9, 10], which is an active way to col-

lect the capacity of the server. The replica servers send their 

server capacities to the agent that manages all replica servers at 

a regular interval. The agents will summarize all the capacities 

and store them to the database. The other method is agent 

probe [11], which is a passive mechanism that an agent uses to 

query the capacities of servers at regular interval.  

The processes of CDN include several steps. Figure 2 

shows the procedures which is described as follows. 

Step 1: The o rig in server sends an entry of mu ltimed ia 

content information to CDN by request routing 

system. 

Step 2: The origin server t ransfers the mu ltimed ia content 

to distribution system. Then the distribution sys-

tem decides wh ich replica servers will store mu l-

timedia content.  

Step 3: The distribution system transfers the multimed ia 

content to the replica servers. 

Step 4: The c lient sends a request to the request routing 

system.  

Step 5: The request routing system determines the suitable 

replica server, and redirects the request to the 

specific replica server. 

Step 6: The replica server ma kes a connection to the client 

and starts the streaming service. 

The design requirements and design constraints are su m-

marized based on the characteristics of the mechanism. 

2.1. Design Requirements 

(1) It has one degree of freedom, and therefore it has one input. 

(2) It is a planar mechanism with four links or more. 

(3) It has at least one cam pair to generate a non -uniform out-

put speed. 

(4) It has at least one gear pair to change the uniform output 

speed. 

(5) It has a ground link to support or constrain other links. 

(6) It has one output link. 

Request Routing System

Orgin ServerClient
Replica 

Server

Distribution 

System

1
3

236

5
4

 
Fig. 2 The CDN operation processes  

3. ACO Algorithm 

The ACO is a swarm intelligent algorithm [12] that simu-

lates the processes of ants exploring environment and foraging 

for food. It is used to solve the optimization problem of static 

allocation. This algorithm was proposed by M. Dorigo in 

1992[13].  

The ACO uses the pheromone between ants to commun i-

cate with each other. When ants reach a node, this refers to that 

the pheromone level of the node is more than the other node. 

The node contains higher pheromone level; the ants have 

higher probability to select it. The ACO uses the feature of 

positive feedback [14] to solve the optimization problem. It 

also uses a random function to make the result variable. The 

characteristics of ACO algorithm includes: (1) Ants tend to 

choose the path with higher pheromones. (2) For shorter paths, 

the pheromones cumulative speed is  more quickly. (3) Ants 

communicate with each other indirect by release and stack the 

pheromones. 

Nest

1 2 n-1 n

1 2 n-1 n

...

...

1 2 n-1 n

1 2 n-1 n

...

...

. . .

. . .

. . .

Stage 1

Stage 2

. . .

Stage m-1

Stage m

Destination

 
Fig 3. The searching graph of ACO 



Proceedings of Engineering and Technology Innovation, vol. 1, 2015, pp. 40 - 44 

42 Cop y right ©  TAETI Cop y right ©  TAETI Cop y right ©  TAETI Cop y right ©  TAETI Cop y right ©  TAETI 

Figure 3 shows the searching graph of ACO. There are m 

stages from the nest of ants to destination. Each stage will 

choose a value from n values by the pheromone function. The 

pheromone function will refer to the result of previous itera-

tions and a random value to compute a probability value and 

decide the result of stage. After several iterations, the processes 

output a set of results with m values. 

4. ACO Routing Algorithm 

The ant colony optimization routing algorithm (ARA) [15] 

is an enhanced algorithm from the ant colony optimization 

algorithm used for routing process. Assume that the source 

node is treated as the nest of ants, and the destination node is 

treated as the food. 

1

2

3

4

5

 
Fig 4. The example of network topology  

The simple  network topology is shown in  Fig. 4. In this 

e xa mple , we  assume that node 1 is the nest of the ants and 

node 5 is the destination node. The ARA algorith m is the 

processes of how the ants find the path from nest to des-

tination. For instance, when an ant goes from node 1 to 

node 3, the pheromone in this lin k will be updated. If more 

ants pass through the link, then higher pheromone leve l 

will be  accu mulated on this lin k. As a result, more  ants will 

select this link as the most appropriate link. Table 1 shows 

an e xa mple  of the pheromone level for node 3. Each node 

ma intains a table o f phero mone leve l to the destination 

nodes. This is also known as the routing table. In the 

routing table of node 3, if the destination is node 2, there 

are three neighbors which a re node 1, node 4, and node 5. 

The pheromone levels for these three neighbors are 0.4, 

0.5, and 0.3. When the ant wants to select next node, it will 

choose the node with highest pheromone level as the ne xt 

node. In this example, it is node 4. 

Table 1 The pheromone table of node 3 

 Neighbor Node 

D
e
st

in
a
ti

o
n

 

N
o

d
e
 

 1 4 5 

1 0.5 0.3 0.2 

2 0.4 0.5 0.3 

4 0.2 0.5 0.3 

5 0.2 0.3 0.5 

5. Proposed Method 

This paper is focused on the ACO-based routing algo-

rith m for mu ltimed ia CDN network. The majo r objective 

is to enhance the accuracy of server location and to reduce 

the computation time in route decision. This algorith m 

also can solve the redirection fa ilu re proble m when the 

network is congested [16]. In CDN network, the request 

routing system is to select the most appropriate replica 

server and to redirect this client request to the replica 

server. Assume  that the replica  server is chosen, but during 

the redirection process, the client cannot connect to the 

replica  server. We ca ll this kind of situation as the red i-

rection failure. 

We use the positive feedback from A RA algorithm to 

enhance the accuracy of server location calculation, and 

ARA algorithm ma intains the updated data to increase the 

availability of servers. The  process of ARA algorith m 

includes six co mponents [17-19]. Figure 5 shows the flow 

diagra m of our proposed method. The processes are Co n-

struction of the Network Topology, Initia lizat ion, Tour 

Construction, Data response and Pheromone Update . 

Construction of the Network Topology

Initialization

Tour Construction

Data response

Pheromone Update

Reach Server?

No

Yes

StartStart

 
Fig. 5 The Flow Diagram of Propose Method  

The first step is to construct the network topology. 

Before  e xecuting the ARA a lgorith m, the network topo l-

ogy, denote as G (n,e), must be constructed, where n is the 

set of nodes including origin server and replica  servers, 

and  e is the set of links between each node. 

After the step of network topology construction, each 

node must be initialized. That is, setting the initial phero-

mone levels and weights on each node. The initial phero-

mone levels and weights are determined by the management 

policy and corresponding situation. Before this process, the 

ARA algorithm sends lots of ants to construct the tours and 

to cumulate the pheromone level on each node. These ants 

select the forwarding path randomly. The ARA algorith m 

uses the pheromone level and random value to generate a 

probability value. When these ants select the next nodes, 

each node will update its own pheromone table. The 

pheromone table records the pheromone level of each link 

that connects to this node. When these ants pass through a 

node and select a link, the pheromone level of this link will 

be updated and stored into the pheromone table. However, 

the pheromone level will count to infinite, so the pheromone 

levels are decreased over time. When an ant reaches to the 

replica server, the replica server will send back an ant to the 

origin server. The back ant carries the current status info r-

mation of the replica server. The back path is decided by the 

pheromone level so that this  ant passes through the router 

directly, no calculation are needed. When the back ants 

reach to the origin server, the origin server updates the 

information what they carry. To keep the information 

newest, our proposed algorithm will be run every few mi-

nute. 



Proceedings of Engineering and Technology Innovation, vol. 1, 2015, pp. 40 - 44 

43 Cop y right ©  TAETI 

The pheromone is the most important mechanism in 

ant colony optimizat ion algorith m. It allows the ants able 

to communicate with each other wh ile  they arrive in d if-

ferent time. The prior ants store the results in nodes, and 

the posterior ants consult the results to make  decision. In 

the beginning of algorithm e xecut ion, the distribution of 

pheromone is scattered. After some  iterat ion, the better 

path has more phero mone and the pheromone will co n-

tinually increase. When pheromone level in a  path is high 

enough, almost all ants will select this path and this path is 

become prima ry path. In this time , we call that the network 

is converged. Although almost all ants select the primary 

path, there are still some ants selecting the different path 

because the prima ry path cannot be sure that it is always 

being the best. These ants try another path and find other 

feasible path as alternative path. When the primary path is 

more  and more congested, the alternate path will replace 

the prima ry path. If a node or path failed, the pheromone is 

reset to zero  immed iately. This means that no ants can go 

through this path.  Therefore, the ARA  algorith m can 

adapt to topology change in a short time. 

6. Simulation Results 

The network topology used in our simu lation is shown 

in Fig. 6. In this topology, one origin server, five replica 

servers and four routers are included. The replica servers 

contain some mult imed ia contents. In this simulation, we 

duplicate the mult imedia  contents to replica  server ra n-

domly. The bandwidth between routers and replica servers 

is 100Mbps, the bandwidth between routers is 1Gbps, and 

the bandwidth between origin server and router is 

100Mbps. The bit rate and service t ime  for mu ltimed ia 

contents is shown in Table 2. For e xa mp le, the bit  rate 

(transmission rate) of Content2 is 768Kbps and the service 

time (content length) is 700 seconds. The orig in server 

sends 20 ants to each replica server every 5 minutes. The 

update informat ion for each replica  server inc ludes a 

timestamp field. When these ants come  back fro m replica 

server to origin server, the origin server will update the 

newest data by the timestamp fie ld. To avoid routing loop, 

the ant visits all nodes will be dropped. To keep the better 

path with higher phero mone level, and to ensure another 

path with lower pheromone leve l, when an ant passes a 

node, it will increase 2 phero mone levels and decrease 1 

pheromone every 30 second. The client request is distrib-

uted by Erlangs distribution. The 10%  Erlangs means that 

the packet loss is 10%. Each kind of netwo rk load is tested 

10 t imes and the e xecution time  for each test is 10 minutes . 

Origin server

Replica Server 1
Replica Server 4

Replica Server 2
Replica Server 3

Replica Server 5

Content1

Content 2

Content 3

Content1

Content 3

Content 4

Content2

Content 3

Content 5

Content1

Content 4

Content 5

Content2

Content 3

Content 4

Content 5

 
Fig 6. The simulation network topology  

Table 2 The information of multimedia contents  
 Bit Rate (Kbp s) Service Time (Second)  

Content 1 1024 400 

Content 2 768 700 

Content 3 1024 800 

Content 4 512 300 

Content 5 768 200 

We use SMPL simu lation tool in this simu lation.  

SMPL is a set of C language functions. The hit rates of 

redirection with different schemes are co mpared in Fig. 7. 

We compare  our proposed ARA algorith m with other two 

methods, routing table polling and network probing. The 

results show that our proposed ARA algorithm has better 

performance in a congested and dynamic network. 

 
Fig. 7 Comparison of redirection hit rate 

7. Conclusion 

In this paper, we propose an ACO-based routing al-

gorithm for mu ltimed ia CDN network to enhance the 

accuracy of server location and the availability of CDN 

network. In this algorithm, nu merous artific ia l ants are 

sent to replica servers. The status information of replica 

servers is then sent back to the origin server to build a 

database for request routing system. We a lso propose a 

pheromone function for ants to select the next node in each 

decision. The A CO-based routing algorith m also has the 

ability for load ba lancing that will reduce the overall drop 

rate. Our simu lation results show that the algorithm can 

work in a congested network or dynamic network 

References 

[1] Gang Peng, CDN: Content distribution network, Tech-

nical Report TR-125, Experimental Computer Systems 

Lab, Stony Brook University, 2003.  

[2] Novella Bartolini, Emiliano Casalicchio, and Salvatore 

Tucci, “A walk through content delivery networks,” 

Lecture Notes in Co mputer Science, vol. 2965, pp. 1-25, 

2004. 

[3] Turrini E., “An architecture for content dis tribution in-
ternetworking,” Dept. of Computer Science, Univ. of 

Bologna, Italy, March 2004.  

[4] Pathan M. and Buyya R., “A taxonomy and survey of 
content delivery networks,” Univ. of Melbourne, Dept. 

of Computer Science and Software Engineering, Tech-

nical Report GRIDS-TR-2007-4, Australia, February 

2007. 

70
75
80
85
90
95

100

0% 10% 20% 30% 40% 50%T
h

e
 h

it
 r

a
te

 o
f r

e
d

ir
e

ct
io

n
(%

) 

Ne twork Load (Erlangs) 

ARA

Routing Table Polling

Network Probing



Proceedings of Engineering and Technology Innovation, vol. 1, 2015, pp. 40 - 44 

44 Cop y right ©  TAETI Cop y right ©  TAETI Cop y right ©  TAETI Cop y right ©  TAETI Cop y right ©  TAETI 

[5] M. Green, B. Cain, G. Tomlinson, and S. Thomas , 

“CDN peering architectural overview,” Network 

Working Group, Internet-Draft, November 2000. 

[6] M. Day, B. Cain, G. Tomlinson, and P. Rzewski, “A 

model for content internetworking,” Network Working 

Group, Category: Informational, February 2003. 

[7] Md. Humayun Kabir, Eric G. Manning, and Gholamali 

C. Shoja, “Request-routing trends and techniques in 

content distribution network,” Parallel, Networking, 

Distributed Applications Laboratory, Dept. of Com-

puter Science, Univ. of Victoria, Canada, 2008. 

[8] James D. Guyton and Michael F. Schwartz, “Locating 
nearby copies of replicated internet servers,” Proc. of 

Applications, Technologies, Architectures, and Proto-

cols for Computer Communication, pp. 288-298, Au-

gust 1995. 

[9] David R. Boggs, Internet broadcasting, Ph.D. Thesis, 
Technical Report CSL-83-3, Xerox Palo Alto Research 

Center, October 1993.  

[10] Craig Partridge, Trevor Mendez, and Walter Milliken, 
Host Anycasting Service, IETF RFC 1546, November 

1993. 

[11] E. W. M. Wong and S. Chan, “Modeling of vid-
eo-on-demand networks with server selection,” Proc. 

Global Telecommunications, IEEE, Nov. 1998, pp. 

8-12.  

[12] E. Bonabeau, M. Dorigo, and G. Theraulaz, “Swarm 
intelligence – from natural to artificial systems,” Santa 

Fe Institute Studies in the Sciences of Complexity, vol. 

14, pp. 163-164, 2002. 

[13] Dorigo, M. and Ga mbardella L.M., “Ant colony system: 

a cooperative learning approach to the traveling sales-

man problem,” IEEE T rans. Evolutionary Computation, 

vol. 1, pp. 53-66, 1997. 

[14] Dorigo, M., Maniezzo, V. and Colomi, A., “Positive 
feedback as a search strategy,” Technical Report, no. 

91-016, Politecnico di Milano, Italy, 1991. 

[15] Mesut G ünes, Udo Sorges, and Imed Bouazizi, “ARA - 
the ant-colony based routing algorithm for MANETs,” 

Proc. Parallel Processing Workshops, Vancouver, BC, 

Canada, August 2002. 

[16] Gustavo Sousa Pavani and Helio Waldman, “Traffic 
engineering and restoration in optical packet switching 

networks by means of ant colony optimization,” Proc.  

Broadband Communications, Networks and Systems , 

San Jose, California, October 2006. 

[17] Eslam Al Maghayreh, “Salam Abu Al-Haija, Faisal 
Alkhateeb, and Shadi Aljawarneh, bees ants based 

routing algorithm,” Proc. Intelligent Systems, Model-

ling and Simulation, Liverpool, UK, January 2010. 

[18] Dongming Zhao, Liang Luo, and Kai Zhang, “An im-
proved ant colony optimization for the communication 

network routing problem,” Proc. Bio-Inspired Compu-

ting, Beijing, China, October 2009. 

[19] Alireza Abbasy, and Seyed Hamid Hosseini, “Ant col-

ony optimization-based approach to optimal reactive 

power dispatch: a comparison of various ant systems,” 

Proc. IEEE PES PowerAfrica, Johannesburg, South 

Africa, July 2007.