Autonomic Resource Allocation for Video Streaming
Services in Content Delivery Networks
1
Sungsu Kim, 1Sin-seok Seo, 2Joon-Myung Kang, 3, 4Guy Pujolle, and 1, 3James Won-Ki Hong
1
2
Department of Computer Science and Engineering, POSTECH, {kiss, sesise, jwkhong}@postech.ac.kr
Department of Electrical and Computer Engineering, University of Toronto, joonmyung.kang@utoronto.ca
3
Division of IT Convergence and Engineering, POSTECH
4
LIP6 / UPMC - University of Paris 6, guy.pujolle@lip6.fr
Abstract—Video streaming is currently one of the most popular
online services. In order to improve video the Quality of Service
(QoS) of video streaming, Content Delivery Networks (CDNs)
have been widely adopted. CDNs replicate their content on
distributed servers, meaning that a user can access content from
the nearest CDN server. In order to provide better QoS for video
streaming, it is necessary to understand the current state of
network resources and efficiently allocate them to a service user.
In this paper, we capture the current state of a service by
observing low-level monitoring data using ontological reasoning.
By taking into account both latency and bandwidth utilization, we
propose bandwidth allocation and request routing algorithms to
guarantee Service Level Agreement.
Keywords—Autonomic
Allocation
Network
Management,
Agreement (SLA) to users is of utmost importance from a
service provider’s point of view. We define a utility function
for allocating resources to provide better service quality and
balance the load between servers. We use cognitive approaches
to understand the current state of the network and video
streaming service [3]. Ontological reasoning enables us to
determine the urgency of the current state using defined rules
and relationships between managed elements.
Manager
Distributed
Content
Resource
CP 1
CP 3
Server 1
I.
INTRODUCTION
CP 2
Fig. 1 illustrates a video streaming service provided via a
CDN. Streaming servers are distributed to multiple locations on
the IP network. Content is also distributed to the servers, and
content providers use registered servers for their services. This
is a real service model that is soon to be commercially launched
by Korea Telecom (KT). For example, Content Provider 1
(CP1) uses servers 1 and 6 to provide its content. Because the
servers are distributed all around the country, local content
providers do not need servers far from their target service area.
This paper presents a method for bandwidth allocation and
request routing based on service priorities. In [2], the authors
proposed a bandwidth allocation algorithm based on game
theory. However, their algorithm does not consider priorities
between service classes. Guaranteeing Service Level
CP1
Content
Delivery
Network
Server 6
Due to the growth of the Internet, multimedia networking
applications, such as Video on Demand (VoD) and video
streaming services, have become very popular. Compared to
web and file transfer services, the provision of a guaranteed
Quality of Service (QoS) is more important for multimedia
services because of their delay sensitive nature [1]. Many
service providers distribute servers and content to multiple
locations, known as a Content Delivery Network (CDN), in
order to deliver this content more efficiently. Clients who
subscribe to a particular service connect to the nearest server to
obtain their desired content. This guarantees a better QoS than
the traditional client–server model whereby all the clients
access a single server providing the service.
Server 2
Server 5
Server 3
Server 4
Service Router
IP Network
Figure 1. Example of a CDN-based video streaming service architecture
First, we build an ontological model of video streaming
service elements in order to understand the current state of
service based on observations of low-level monitoring data.
Second, we apply the proposed bandwidth allocation algorithm
based on the determination of the current state. This guarantees
the quality of high priority services under high server loads by
allocating bandwidth based on the priority of each service.
Finally, the proposed request routing algorithm assigns a
request to a server to provide low latency to clients and balance
the load between servers.
The rest of this paper is organized as follow. In section II,
we present autonomic control loops, bandwidth allocation, and
load balancing approaches. Section III describes how we apply
cognitive control loops to recognize the current state and
automatically commit appropriate actions. Section IV presents
the proposed algorithms for bandwidth allocation and server
selection considering the service class priorities. In section V,
the simulation results of the proposed approaches are analyzed,
and, finally, conclusions are drawn in section VI.
II.
RELATED WORK
In this paper, we apply autonomic control loops to
understand the current state of the service and commit
appropriate actions to maintain service in a desired state.
Autonomic control loops are the core idea behind autonomic
network management. IBM defined the Monitor–Analyze–
Plan–Execute (MAPE) control loop in [4]. Sensors and
Effectors obtain data from, and provide commands to, both the
entity being managed and other Autonomic Managers.
Foundation–Observe–Compare–Act–Learn–rEason (FOCALE)
control loops have also been applied [5]. Another similar
solution has been developed by Ginkgo Networks in [6]. The
detailed processes of MAPE, Ginkgo and FOCALE are
different, but their fundamental methodology is the same.
Collecting data from managed resources and analyzing it to
understand the current state of the resources. If the system is not
in the desired state, these systems reconfigure the target
resources to maintain the system in the desired state.
In order to provide a guaranteed level of service to clients,
efficient resource allocation is important, and providing
appropriate bandwidth for media streaming services is even
more important due to its delay-sensitive nature. Chakareski et
al. [7] proposed a bandwidth allocation algorithm to optimize
the rate-distortion performance for media streaming
applications. Their algorithm assumed that clients change
encoding rates based on processing capacity and network
bandwidth. For multi-user multimedia rate allocation, a game
theory-based algorithm was proposed in [2]. The algorithm
focuses on bandwidth allocation with fairness between clients.
However, these bandwidth allocation methods do not take into
account the priorities among different services [8-10].
III.
A COGNITIVE APPROACH FOR VIDEO STREAMING
SERVICES
In order to provide an efficient video streaming service, we
need to recognize the current state of resources and trigger
appropriate actions immediately. We envision a cognitive
system that can reason which actions should be taken and learn
from experience to improve its performance [3].
Learn
C om pare
N o rm alize
Finite State
Machine
Model and
Reasoner
O b serve
Plan
actions should be taken to correct abnormal states. Based on
observations of low-level monitoring information, the system
reasons which services and users are affected. Normally, the
deliberative process is used to infer the current state and
implement actions, which takes an Observe–Normalize–
Compare–Plan–Decide–Act path. A reactive process is used
when the system determines that the current state is urgent and
there is a predefined action for the case. This takes an Observe–
Normalize–Compare–Act path. The reactive process enables
much of the computationally intensive portions of the control
loop to be bypassed. Therefore, problems can be solved faster
with the reactive process.
In this paper, we consider a video streaming service that has
three different service classes: Gold, Silver, and Bronze. First,
the highest priority Gold service, providing HD streaming
videos and 8 Mbps of bandwidth, must be guaranteed 99.9% of
the total service time, as specified in the SLA of Table 1. Silver
and Bronze services provide 5 Mbps and 2 Mbps bandwidths,
respectively. However, users of the Silver and Bronze services
have a lower priority than Gold service users. Under a heavy
load, Silver and Bronze services may not provide enough
bandwidth for video streaming.
Table 1. Example of SLA Specification
Service Class
Resolution
Credit
Gold
1920 × 1080 (8 Mbps)
Silver
Bronze
1280 × 720 (5 Mbps)
720 × 480 (2 Mbps)
Guarantee bitrate
99.9% of service time
N/A
N/A
In the Observe phase of the control loop (Fig. 2),
monitoring data including the volume of traffic sent, bandwidth
utilization, and the number of users for each service are
retrieved continuously from video streaming servers. The
observed data are then normalized to designated units in the
Normalize phase. In the Compare phase, the current state is
analyzed and compared to the desired state. If the current state
is determined to be an urgent case, predefined actions are
committed reactively without entering the Plan and Decide
phases.
To determine the current state during the Compare phase,
we use ontology due to its significant role in the harmonizing of
information models and semantic representation. As shown in
Fig. 3, we build an ontology model to represent the
relationships between network elements and services. Node,
Service, and Equipment are subclasses of Network Element,
and Service uses a Node to provide the service.
Figure 2. Cognitive control loops
Based on the ontology model, we write rules to capture the
state of the service. If the bandwidth utilization of a managed
server is less than 60%, we define that it is in a normal state. If
the bandwidth utilization of a managed server is greater than or
equal to 60% and less than 80%, it is in a high priority state,
which requires administrators to take action manually. If the
bandwidth utilization of a managed server is greater than 80%,
it is in an urgent state. Allowed bandwidths for users should be
configured based on the bandwidth allocation strategy.
Fig. 2 illustrates cognitive control loops. As the processes are
using the finite state machine and reasoner, it can be determined
whether the current status is normal or abnormal, and which
The rule ‘SLAGeHealthy’ determines whether the network
is healthy when the greater than or equal to CompareFunction is
defined in the Service Level Specification (SLS) and the value
Short-Term
Memory
Long-Term
Memory
Environm ent
D ecide
A ct
of the monitored performance information is greater than or
equal to the threshold of the SLS.
When a new request arrives, latency between the client who
sent request and the bandwidth utilization of servers are
examined. The request is allocated to a server with the highest
utility value. The request is allocated to a server with the
highest utility value. Therefore, the utility function for server
selection can be defined as:
U (u i , r ) = α ⋅ f (u i ) + g (l )
Figure 3. Ontology for network elements and services
IV.
RESOURCES ALLOCATION FOR VIDEO STREAMING
SERVICE
In this section, we present a bandwidth allocation and server
load balancing algorithm for video streaming service. The main
objective of the proposed algorithms is allocating network
resources to provide a service based on the priority of services.
A. Bandwidth Allocation
We allocate an explicit bandwidth to a single user based on
the class of service he or she uses. The objective is providing
the guaranteed bandwidth to a Gold service user in a high load.
It means that the bandwidth specified in the SLA should be
provided to Gold service users even if Silver or Bronze service
users get service with a lower bandwidth. The available
bandwidth of each server is bwserver , so a total amount of
allocated bandwidth should not exceed bwserver . As specified in
the SLA, fixed bandwidth bw Gfixed should be allocated to a
Gold service user i. bw Sj is allocated to a Silver service user j
and bw Bk is allocated to Bronze service user k. We use
bandwidth allocation policy that allocates the same amount of
bandwidth to every user subscribing a same class of service.
If the bandwidth utilization of a video streaming server is not
high, Silver and Bronze service users get bandwidth rate bw S
and bw B , respectively. However, if the total requested
bandwidth of Gold, Silver, and Bronze services exceeds
bwserver , the bandwidth for Silver and Bronze services are
degraded.
B. Server Selection
Let us suppose n servers provide video streaming services
and requests from the clients are distributed to the servers. Each
contents provider assigns servers to provide their contents. For
example, a provider A assigns server 1, 2, and 3 for the service
a1. Clients who request service a1 can watch video content of
service a1 via servers 1, 2, or 3. The proposed server selection
algorithm allocates requests based on the observation of
monitoring information. The goal of the algorithm is allocating
the request to a server that has the lower bandwidth utilization
and latency. We used utility function to select a server which
provides fast response time and has low bandwidth utilization.
A high value of U (u i , r ) means that the server i is highly
appropriate for an incoming request. In terms of bandwidth
utilization ui , f (u i ) indicates a decreasing utility as the
bandwidth utilization increases. Utility decreases sharply as u i
exceeds 0.5. g (li ) is utility determined by latency of a server ,
we use Round Trip Time (RTT) from a server i to the client
who sent a request. However, various matrices can be used to
represent latency. The decrease of utility is sharp as the RTT
approaches 2 second because we assume that RTT less than 2
second is acceptable.
f (ui ) = 1 −
g (li ) =
e β1ui
k
e −li + β 2
1 + e − li + β 2
α is a parameter that controls the balance of the utility
function between the bandwidth and latency. The proposed
utility function is used to assign a server to a request. This
parameter can be tuned adaptively using a learning component
of the cognitive control loops. Different requirements may need
a different α value. For example, α is set higher if latency is
more important than load balancing.
V.
EVALUATION
In order to show the effectiveness of the proposed
approaches, a simulation of bandwidth allocation and request
routing was performed. We synthetically generated a number of
requests for Gold, Silver, and Bronze services and show
allocated bandwidths to users and bandwidth utilization of each
server. The proposed algorithms were implemented in Java and
the simulation was run on a Windows machine with Intel
Pentium Dual CPU E2140 running at 1.6 GHz and 2 GB RAM.
First, we demonstrate bandwidth allocation for the video
streaming service. Each server provides video streaming
services, which are classified as Gold, Silver, and Bronze
service. As the number of users is increasing, a current state is
determined as urgent and the proposed bandwidth allocation
algorithm is applied. Fig. 4 shows the number of users for each
service class. In our simulation scenario, the number of users
for Gold service class is increasing gradually and the number of
users for Silver and Bronze service class is stable.
Fig. 5 shows the bandwidth utilization of each class. The
bandwidth utilization of each service class is proportional to the
number of users. From 10 seconds, the total bandwidth
utilization exceeds 80% and the state is determined as an urgent
state and there is service degradation from 20 seconds due to
the exceeding of available bandwidth.
VI.
250
num b er o f users
200
150
G old
silver
100
b ronze
U ser (total)
50
0
0
5
10
15
20
25
30
35
tim e (sec)
Figure 4. Number of users of Gold, Silver, and Bronze Services
CONCLUSIONS
In this paper, we have proposed bandwidth allocation and
request routing algorithms for load balancing to guarantee
quality of video streaming service on CDN. We have designed
an ontological model to capture a current state. Based on the
determined state, we have applied our algorithms for bandwidth
allocation and request routing. We have defined a utility
function for balancing latency and load when a server is
assigned to a request. In the experiment, we have showed that
our algorithm has enabled network resources to be used more
efficiently with a reasonable latency overhead.
For future work, we consider advanced matrices to allocate
network resources more efficiently. In addition, we will validate
the proposed method with real enterprise network traces.
ACKNOWLEDGEMENTS
b an d w id th u tilzatio n (% )
100
80
G o ld
60
Silver
Bronze
20
[1]
0
5
10
15
20
tim e (sec)
25
30
35
Figure 5. Bandwidth utilization of Gold, Silver, and Bronze Services
Fig. 6 shows the bandwidth allocated to each user.
Bandwidths which are enough to provide a service specified in
the SLA are allocated to users till 20 second. As the number of
users is increasing, the bandwidth allocated for each user is
decreasing. Especially, Gold service users cannot use video
streaming service with the bandwidth as specified in the SLA.
The bandwidth allocated to gold class service user degraded to
6.3Mbps. Fig. 6 also shows the bandwidth allocated to users
with the proposed allocation algorithm. 8Mbps of bandwidth is
allocated to each Gold service user consistently. However, the
bandwidths for Silver and Bronze class services are getting less
comparing the case that no action for bandwidth management is
applied.
9
5
Gold (no
action)
Silver (no
action)
Bronze (no
action)
Gold
4
Silver
8
7
bandwidth (Mbps)
REFERENCES
To tal
40
0
6
3
Bronze
2
1
0
0
This research was supported by World Class University
program funded by the Ministry of Education, Science and
Technology through the National Research Foundation of
Korea (R31-10100)
5
10
15
20
25
30
35
time (sec)
Figure 6. Bandwidth allocated to a single user of
Gold, Silver and Bronze Services
A. Katsaggelos, Y. Eisenberg, F. Zhai, R. Berry, and T. Pappas,
“Advances in Efficient Resource Allocation for Packet-Based Real-Time
Video Transmission,” in Proceedings of the IEEE, vol. 93, no. 1, Jan.
2005, pp. 135–147.
[2] Y. Chen, B. Wang, and K. Liu, “A Game-theoretic Framework for MultiUser Multimedia Rate Allocation,” in Proceedings of the 34th IEEE
International Conference on Acoustics, Speech and Signal Processing
(ICASSP 2009), pp. 1997-2000, Apr. 2009.
[3] J. Strassner, J. W. K. Hong, and S. van der Meer, “The Design of an
Autonomic Element for Managing Emerging Networks and Services,” in
Proceedings of International Congress on Ultra Modern
Telecommunications (ICUMT 2009), Oct.12-14, 2009, pp. 1-8.
[4] IBM, “An Architectural Blueprint for Autonomic Computing, v7”,
http://www03.ibm.com/autonomic/pdfs/AC%20Blueprint%20White%20Paper%20
V7.pdf. [Online Available: April 20, 2012]
[5] J. Strassner, N. Agoulmine, and E. Lehtihet, “FOCALE – A Novel
Autonomic Networking Architecture”, ITSSA Journal, vol. 3, no. 1, May
2007, pp 64-79.
[6] [128] I. Fajjari, O. Braham, M. Ayari, G. Pujolle, H. Zimmermann AAVP: An Innovative Autonomic Architecture for Virtual network
Piloting, IJNGC 2(3), March 2011.
[7] J. Chakareski and B. Girod, “Computing Rate-Distortion Optimized
Policies for Streaming Media with Rich Acknowledgements,” in
Proceedings of Data Compression Conference (DCC 2004), Mar. 2004,
pp. 202-211.
[8] Y. Yan, A. El-Atawy, and E. Al-Shaer, “A Game-Theoritic Model for
Capacity-Constrained Fair Bandwidth Allocation,” International Journal
of Network Management, vol. 18, no. 6, Nov. 2008, pp. 485-504.
[9] Y. Yan, A. El-Atawy, and E. Al-Shaer, “Fair Bandwidth Allocation
under User Capacity Constraints,” in Proceedings of the 10th IEEE/IFIP
Network Operations and Management Symposium (NOMS 2006), Apr.
2006, pp. 138-149.
[10] K. Ivesic, M. Matijasevic, and L. Skorin-Kapov, “Simulation Based
Evaluation of Dynamic Resource Allocation for Adaptive Multimedia
Services,” in Proceedings of the 7th International Conference on
Network and Service Management (CNSM 2011), Oct. 2011, pp. 1-4.