Minimizing Resource Cost for Camera Stream Scheduling in Video

Gao YH, Ma HD, Liu W. Minimizing resource cost for camera stream scheduling in video data center. JOURNAL OF
COMPUTER SCIENCE AND TECHNOLOGY 32(3): 555–570 May 2017. DOI 10.1007/s11390-017-1743-x
Minimizing Resource Cost for Camera Stream Scheduling in Video
Data Center
Yi-Hong Gao, Hua-Dong Ma, Fellow, CCF, and Wu Liu, Member, CCF
Beijing Key Laboratory of Intelligent Telecommunications Software and Multimedia, Beijing University of Posts and
Telecommunications, Beijing 100876, China
E-mail: hii [email protected]; {mhd, liuwu}@bupt.edu.cn
Received May 20, 2016; revised December 3, 2016.
Abstract
Video surveillance service, which receives live streams from IP cameras and forwards the streams to end
users, has become one of the most popular services of video data center. The video data center focuses on minimizing the
resource cost during resource provisioning for the service. However, little of the previous work comprehensively considers the
bandwidth cost optimization of both upload and forwarding streams, and the capacity of the media server. In this paper,
we propose an efficient resource scheduling approach for online multi-camera video forwarding, which tries to optimize the
resource sharing of media servers and the networks together. Firstly, we not only provide a fine-grained resource usage model
for media servers, but also evaluate the bandwidth cost of both upload and forwarding streams. Without loss of generality,
we utilize two resource pricing models with different resource cost functions to evaluate the resource cost: the linear cost
function and the non-linear cost functions. Then, we formulate the cost minimization problem as a constrained integer
programming problem. For the linear resource cost function, the drift-plus-penalty optimization method is exploited in our
approach. For non-linear resource cost functions, the approach employs a heuristic method to reduce both media server cost
and bandwidth cost. The experimental results demonstrate that our approach obviously reduces the total resource costs on
both media servers and networks simultaneously.
Keywords
1
video data center, resource scheduling, video surveillance as a service, multi-camera networking
Introduction
IP video delivery is a hot research topic of distributed multimedia systems[1] . Many video data center (VDC) techniques are proposed to analyze and
deliver large-scale video streams[2-8] . Recently, video
stream forwarding from IP cameras is widely employed
by video data center to provide video surveillance as a
1
service (VSaaS)○
. Different from other video delivery
services, VSaaS requires IP cameras to execute analysis tasks. The media server of the video data center
receives the analyzed video streams from IP cameras,
and then forwards them to end users[4-6] . Usually, one
media server simultaneously serves more than one end
user. Only one network connection is built up between
the media server and each IP camera to receive the
live video stream, which includes original video and its
analytical results for different end users. The media
server must provide the original video with the corresponding analytical result for each end user. Thus,
the media server must provide the resource slot and
builds up the network connection for each end user.
Since one resource slot of a media server only answers
one arrival request each time, the service capacity of
the media server will be fast occupied by the arrival
requests. The service capacity denotes the maximum
Regular Paper
The research is supported by the National Natural Science Foundation of China-Guangdong Joint Fund under Grant No. U1501254,
the National Natural Science Foundation of China under Grant No. 61332005, the Funds for Creative Research Groups of China under
Grant No. 61421061, the Beijing Training Project for the Leading Talents in Science and Technology under Grant No. ljrc 201502, and
the Cosponsored Project of Beijing Committee of Education.
1
○
VSaaS applications have already been employed by people in the real world. For example, IP cameras on the roads can
simultaneously give massive travelers real-time videos of traffic to determine their trip routes. http://qqy.fjii.com/, Dec. 2015.
©2017 Springer Science + Business Media, LLC & Science Press, China
556
number of end users that one media server can simultaneously serve. As the result, the video data center
must provide the resource scalability. When the video
data center provides resources for the end users, it not
only optimizes the distribution of the end user requests
on media servers to reduce the upload bandwidth cost,
but also maximizes the number of the end user requests
on each media server to reduce the media server cost.
Therefore, the objective of the camera stream scheduling is to provide scalability with the minimum total
resource cost including the media server cost as well
as the bandwidth cost on both upload and forwarding
streams.
Video data centers usually provide two types of
video delivery services: the video on demand (VoD)
service and the IPTV service. However, neither of the
two services utilize upload video stream scheduling approach to optimize the upload bandwidth cost. For
the VoD services in [7-15], videos are stored and delivered by the media servers of video data center, and
the VoD services mainly aim at minimizing the media
server cost and the forwarding bandwidth cost on the
networks. However, the VoD services evaluate the media server cost mainly as the storage cost, which makes
the resource scheduling approaches of the VoD service
ignore the service capacity of each media server. For
the IPTV services in [16-21], media servers are employed to forward the live video streams. The resource
scheduling approaches of the IPTV service only focus
on minimizing the media server cost and optimizing the
forwarding bandwidth usage. Moreover, the service capacity of each media server is not properly discussed
either. For example, the authors of [21] presented a
resource sharing approach between VoD and IPTV service to improve the resource utilization. However, it is
not reasonable to assume that one request will just take
up one media server. In conclusion, the upload bandwidth cost and the capacity of each media server are
mentioned in none of the above studies. Nonetheless, it
is very important to schedule the upload video streams
among media servers to reduce the total resource cost.
When the resource cost function is nonlinear (shown in
[11-12, 21]), the problem is more complex and needs
long delay to gain an optimal solution. Therefore, the
existing resource scheduling approaches for the video
delivery services obviously cannot optimize the total
resource cost to support the scalability on the VSaaS.
Clearly, lacking the evaluation of the media server’s
resource utilization and the upload bandwidth cost,
the resource scheduling approach of VSaaS can pro-
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
vide neither high scalability nor low total resource cost.
Since different video data centers utilize different server
and bandwidth charges, the approach must adapt to
different resource pricing models. Finally, the optimal scheduling solutions for VSaaS need to be gained
within an acceptable delay to search the large-scale candidates. Therefore, we can conclude that VSaaS imposes the great challenges to the resource provisioning
of the video data center.
In this paper, to solve the challenges, we firstly introduce a general system framework of video data center to provide VSaaS, which is illustrated in Fig.1. The
framework comprises of a scheduler, media servers, and
IP cameras. In the framework, the scheduler assigns
the end user requests to the media servers with idle resources. Then, the media servers receive the streams
from the IP cameras to serve the arrival end users.
Based on this framework, we propose an efficient and
scalable multi-camera stream scheduling approach to
minimize the total resource cost in the video data center. Compared with the previous work, our approach
takes media server capacity and upload bandwidth cost
into consideration. Moreover, the approach utilizes
different resource cost models, which employ different
resource cost functions to comprehensively evaluate the
cost of the resource usage. The media server and the
bandwidth cost functions can be either linear functions
or non-linear functions. Furthermore, we formulate our
resource cost minimization problem as a constrained
integer programming problem to minimize the total resource cost. Utilizing the drift-plus-penalty method[22] ,
the programming problem can be handled under the
linear cost function. However, the scheduling problem
with the non-linear cost functions usually cannot gain
an optimal resolution within acceptable time for the
surveillance video service. To solve this problem, we
further propose a heuristic scheduling approach in the
resource cost models with the non-linear cost functions.
Compared with the state-of-the-art approaches under
different situations, our approach spends the minimum
resource cost on the upload and forwarding networks
and the media servers. The main contributions of our
work are as follows.
• We employ comprehensive models to evaluate
the resource utilization of the upload and forwarding
bandwidth as well as the media server in the resource
scheduling problem, which can be formulated as a constrained optimization problem.
• To minimize the total resource cost in different
resource cost model, we propose an approach based on
557
Yi-Hong Gao et al.: Minimizing VDC Resource Cost for Camera Stream Scheduling
a drift-plus-penalty method under the linear cost function, and a heuristic approach under the non-linear cost
function.
by the user API. The user API is web-based to communicate with the request monitor, get the media server
address, and provide video streams from the chosen media server.
...
User Group
for Camera 1
Forwarding
Stage
User Group
for Camera 2
Scheduler
User Group
for Camera n
User
API
Request
Monitor
Users
Scheduler
Video Data Center
Forwarding
Address
Server
Scheduler
Media
Servers
...
New Server
VDC
Message Exchange
Media Server Cluster
Server
Upload
Stage
Server
Server
Server
Server
...
IP Camera 1
IP Camera 2
IP Camera n
Fig.1. General VSaaS framework.
Fig.2. Components of the video data center.
• The comprehensive evaluations compared with the
state-of-the-art approaches on a built real-world scenario demonstrate the effectiveness and efficiency of our
approach.
The rest of this paper is organized as follows. In
Section 2, the system framework is designed to provide
VSaaS. In Section 3, we provide the system models,
and further formulate the scheduling problem. Then,
we give our resource scheduling approaches in Section
4. In Section 5, the evaluations of our approaches are
presented. Furthermore, we give related work in Section 6. Finally, we conclude our work in Section 7.
2
System Framework
The components of the video data center, which include a scheduler and a media server cluster, are given
in Fig.2 to provide VSaaS. Moreover, the scheduler includes the request monitor and the server scheduler
to communicate with end users and media servers, respectively. We also provide the user API to help the
end users to get their required video streams on the
web. Finally, the IP cameras, which are set up in
the surveillance environments, dynamically execute the
video analysis tasks based on the end user requirements,
and send the live video streams to the video data center.
2.1
User API
The end users access the video data center to get
their required live videos and the attached analytical
results, which we totally called the live video streams,
2.2
Request Monitor
When the end users require the video streams from
the video data center, they firstly access the request
monitor. The request monitor is a sub-component
of the scheduler, which takes charge of delivering the
end user requests to the server scheduler and gets the
scheduling results, i.e., the media server addresses, from
the server scheduler. Then, the scheduling results are
directly sent to the end users. A light-weight web server
architecture is utilized in the server, which runs the request monitor to deal with the high accessing concurrency of the end users.
2.3
Server Scheduler
To provide cost-efficient resource usage on the video
data center, a server scheduler is designed to manage
both the network and the server resources of the video
data center, and evaluate the resource cost. The server
scheduler periodically communicates with current media servers to receive their status messages, and records
the resource usage of the video data center at each time.
The status message consists of the heartbeat to show it
is still alive, the number of the network connections to
the IP cameras, and the remaining capacities to serve
the end users. When requests arrive at the scheduler,
the scheduler decides which media server to serve the
arrival requests, sends the decisions to the chosen media
servers, and waits for the responses. If new resources
are needed to serve the end user requests, the server
558
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
scheduler immediately opens new media servers, and
builds up new network connections. Any new resource
optimal approach can be added into the scheduler by
using the designed API. The deployed approach must
consider the resource cost on both the networks and the
media servers during resource provisioning.
2.4
Media Server Cluster
Virtual machines (VMs) are employed as the media
servers in the video data center. A broker is deployed on
each media server, which reports the status messages of
the media server to the scheduler and gets the messages
from the scheduler. The media server connects to the
IP cameras to receive the live video streams, and generates the accessing addresses of these streams. When it
successfully receives the live video streams, the media
server combines the original videos with the analytical
results for each end user. Then, the accessing addresses
of the streams are sent to the server scheduler as responses to the arrival requests.
Based on the system framework above, the stream
scheduling process works as follows. The scheduler maintains the resource usage information and dispatches the end user requests to the proper media
servers to get the live video streams. When the chosen
media server firstly connects to the required IP camera
to receive the live video stream, the upload bandwidth
cost is charged. Then, the media servers forward the
live video streams as the output to the end users. When
a media server has already connected with the IP camera, it can forward the live video streams of this IP
camera directly to any other end users. We call the
surveillance video of an IP camera as a channel in this
paper. Each channel has its own media server resources
to deliver its live video stream. To fully specify the resource capacity of the media server, we utilize a finegrained server resource usage model where each media
server consists of resource slots. The resource slot is the
smallest resource unit to forward the live video stream.
The end user arrives at the video data center to occupy the idle resource slot, and leaves the video data
center to release the occupied resource slot. When media server cluster has no idle resource slots, new media
server is added with a media server cost.
3
Problem Formulation
In this section, three models are employed to evaluate the resource utilization of the service at first.
Then, based on these models, we further illustrate the
resource scheduling problem and formulate this problem as a constrained programming problem. The important parameters utilized in this paper are shown in
Table 1.
3.1
System Models
We set up system models to describe the resource
utilization, the arrival request and the resource cost.
The models are based on the video channels to describe
the resource usage of each IP camera’s requests, which
are presented in Fig.3. The end users arrive at the channels to require corresponding video streams. Therefore,
we firstly employ the resource utilization model to denote the resource usage on each video channel which has
media servers to forward live video streams. The arrival
requests take up the resource slots of the media servers
Table 1. Definitions of Important Parameters
Parameter
mj (t)
m
Klj
αj (t)
A(t)
Qj (t)
Cl (·)
Cbout (·)
Cbin (·)
Cb (j, t)
C(t)
sj (t)
rj (t)
′
xjl j
yj (t)
Definition
Number of channel j’s media servers at time t
Total number of the media servers in the video data center
Number of the idle resource slots in the l-th media server of channel j
Number of the channel j’s arrival requests at time t
Total number of the arrival requests of all channels
Number of the end users of channel j on the media servers at time t
Resource cost function of the media servers
Resource cost function of the forwarding bandwidth
Resource cost function of the upload bandwidth
Total bandwidth cost of channel j at time t
Total media server and network bandwidth cost at time t
Number of the added media servers of channel j at time t
Number of the new upload connections of channel j at time t
Denoting whether the scheduler chooses the l-th media server of channel j ′ ’s to serve channel j’s requests
Number of the exchanged resource slots at time t
Yi-Hong Gao et al.: Minimizing VDC Resource Cost for Camera Stream Scheduling
(the shaded parts after the media servers in Fig.3) to
serve the end users. The rest of the idle resource slots
wait for the arrival end users (the blank parts after the
media servers in Fig.3). Note that the media server
can share its resource slots to the end users requiring
different IP cameras for cost savings. Additionally, we
build up the arrival request model to describe the resource requirements. Finally, the resource cost model
is utilized to evaluate the resource cost of both media
servers and bandwidths. In this model, the live video
transmission from an IP camera to the media server
leads to additional upload bandwidth cost. Thus, the
mapping between the end user requests and the media servers deeply influences the final resource cost on
both the media servers and the networks in video data
center.
Channels
Q↼t↽
α↼t↽
Media Servers
m↼t↽
Q↼t↽
α↼t↽
A↼t↽
m↼t↽
Scheduler
Requests
Resource Slot
Qn↼t↽
αn↼t↽
mn↼t↽
Fig.3. Multi-channel system models.
3.1.1 Resource Utilization Model
Assuming that n channels manage the resource slots
of m media servers to forward IP camera streams within
time period T . For any IP camera j (j ∈ {1, 2, . . . , n}),
there is a video channel to deliver j’s live video stream.
Video channel j holds mj (t) media servers at time
P
t ∈ T , and nj=1 mj (t) = m. When there are no requests to occupy the resource slots or some end users
leave the channels, the resource slots are idle and wait
for new arrival requests. Furthermore, we denote the
Pmj (t) j
number of idle resources as l=1
kl for channel j. klj
(l ∈ {1, 2, . . . , mj (t)}) is the number of the idle resource
slots in the l-th media server of channel j. The idle resource slots can be shared with other channels to save
the media server cost. If there are no idle resource slots
in the media server l, klj = 0. If the idle resource slots
in these media servers are insufficient to serve the arrival requests, the idle resource slots belonging to other
channels are utilized, or new media servers are added.
For the network usage, when the required IP camera
is not yet connected to the chosen media server, new
559
network connection between the media server and the
IP camera is built up. The live video stream of this
connection can serve all the following requests for the
same IP camera on the media server until the connection is disconnected. Since the bandwidth utilization of
the networks is considered on the infrastructure of the
video data center[23] , we mainly focus on the resource
utilization of the media servers.
3.1.2 Arrival Request Model
Assuming that A(t) end user requests arrive at the
video data center at time t. Then, we denote the number of channel j’s arrival requests as αj (t) at time t,
Pn
and j=1 αj (t) = A(t). For a cost saving scheme, one
media server, which forwards channel j’s video stream,
can share its idle resource slots with the requests of
other channels. In this situation, the request arrival
rate of channel j on the media server i is denoted as
Pm
α (t), for
αij (t) at time t. We have αj (t) =
i=1
Pnij
any i ∈ {1, 2, . . . , m}. We denote m =
j=1 mj as
the number of media servers to serve the arrival end
users. mj is the number of media servers in channel
Pm
j. We denote βj (t) =
i=1 βij (t) as the number of
the end users leaving from channel j, and βij (t) is the
number of the end users leaving from media server i.
The total number of the end users of channel j is denoted as Qj (t) at time t. At time t + 1, the total number of the end users of channel j can be denoted as
Qj (t + 1) = max(Qj (t) − βj (t), 0) + αj (t).
3.1.3 Resource Cost Model
We employ three different resource cost models to
formulate the resource costs, which employ linear, convex and concave resource cost functions, respectively.
The convex and the concave models are non-linear models. All the resource cost models are widely employed
in the video data centers shown in [11, 21]. The linear
cost function depicts that the resource cost equals that
a fixed price multiplies the amount of the resources.
The convex cost function defines the case where the resource cost smoothly grows initially, and then quickly
increases. The concave cost function describes the tendency that the resource cost quickly increases at the beginning, and flattens out finally. For the media server
cost formulation, we denote Cl (sj (t)) as the rents to
lease sj (t) media servers for channel j. sj (t) is the
number of the channel j’s media servers added at time
t. Cl (·) is the cost function of the media servers. We
utilize the upload and forwarding bandwidth cost to
evaluate the bandwidth cost. To evaluate bandwidth
560
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
cost to forward video streams to the end users, we denote the forwarding bandwidth cost of channel j as
Cbout (Qj (t)). Cbout (·) is the forwarding bandwidth cost
function. Furthermore, the bandwidth cost from the IP
cameras to the video data center is also charged by the
VSaaS providers. Similarly, the upload bandwidth cost
from IP camera j is denoted as Cbin (rj (t)). Cbin (·) is
the upload bandwidth cost function. rj (t) is the total
number of the connections to the IP camera j at time
t. If the requests of certain channel take up too many
sharing media servers, the upload bandwidth cost is obviously increased for adding additional IP camera connections. Then, the total bandwidth cost is denoted as
Cb (j, t), which equals Cbout (Qj (t)) + Cbin (rj (t)) at time
t. Without loss of generality, Cl (·), Cbout (·) and Cbin (·)
can be linear or non-linear cost functions.
3.2
Resource Scheduling Problem
We try to formulate the cost optimization problem.
The resource cost of the service is caused by the resource scalability and the idle resource sharing for live
video forwarding. On one hand, new media server is required when current idle resource slots run out. Adding
new media server needs to pay server rent, and building up a network connection to connect an IP camera
needs to pay upload bandwidth cost. On the other
hand, the channel commonly shares its idle resource
slots with other channels to save the media server cost.
But sharing the idle resource slots increases more additional connections to the required IP cameras. Making
full use of the idle resource slots to minimize the number
of media servers does not always save the total resource
cost. Thus, it is a resource scheduling problem on how
to optimally employ new resources and idle resources
to cut the total resource cost.
To illustrate the scheduling problem, we give an example in Fig.4. Assuming that four end users simultaneously require the live video streams from channel
j. Suppose channel j just has one media server, and
all its resource slots are occupied. At the same time,
there is a neighbour channel j − 1 which has four idle
resource slots distributed in two media servers. The
scheduler has two choices here. One is to utilize the
idle resource slots of the neighbour channel. The other
one is to add a media server to serve all the arrival
end user requests of channel j. If the scheduler chooses
the first method, it saves the media server cost but
spends more bandwidth cost to connect to the camera
j twice (the solid lines in Fig.4). If the scheduler adds
a new media server with four resource slots to serve the
requests, it just needs one IP camera connection (the
dash lines in Fig.4). Although the second method reduces the bandwidth cost, it spends more rents to add a
new media server. To compare the resource cost of the
two choices under different cost functions, the scheduler can take optimal scheduling plan with the minimum
resource cost.
Therefore, we formulate the scheduling problem as
a constrained integer optimization problem. We dePn
fine the total resource cost C(t) =
j=1 (Cl (sj (t)) +
Cb (j, t)). For all the arrival end user requests for the
video streams of the cameras during time T , the resource scheduling problem can be formulated as follows:
4 Stream Requests
Video Data Center
Scheduler
Channel j֓
Media Server 1
Media Server 2
Channel j
Media Server 3
Resource Slot 1
Resource Slot 1
Resource Slot 1
Resource Slot 1
Resource Slot 2
Resource Slot 2
Resource Slot 2
Resource Slot 2
Resource Slot 3
Resource Slot 3
Resource Slot 3
Resource Slot 3
Resource Slot 4
Resource Slot 4
Resource Slot 4
Resource Slot 4
Channel j
Fig.4. Example of the resource scheduling problem.
New Media Server
561
Yi-Hong Gao et al.: Minimizing VDC Resource Cost for Camera Stream Scheduling
min
T −1
1 X
C(t)
T t=0
subject to
mj ′
n X
X
′
′
xjl j klj (t) + sj (t)k ∗ > αj (t).
(1)
j ′ =1 l=1
Zj (t + 1) = max(Zj (t) + yj (t), 0),
Constraint (1) means that the provided resource slots
to the requests of channel j are no lower than the total requests of channel j at each time t. The provided resource slots consist of the idle resource slots
Pn Pmj′ j ′ j j ′
l=1 xl kl (t), and the new added resource
j ′ =1
slots sj (t)k ∗ . k ∗ is the maximum resource slots of each
media server to serve the arrival requests. We denote
′
xlj j = 1, if the scheduler chooses the l-th media server
of channel j ′ to serve channel j’s requests; otherwise,
′
Pn Pn
′
xlj j = 0. Note that j ′ =1 j=1 xjj is no higher than
the number of the media servers mj ′ , which have idle
resource slots of channel j ′ . Furthermore, the assigned
requests to each media server must be less than its idle
resource slots. The idle resource slots are exchanged
from the surplus channel (klj 6 αj (t)) to the overload
channel (klj > αj (t)). The number of the exchanged
resource slots can be denoted as yj (t), and it equals:
=
yj (t)

mj ′
n X

X

′
′


xjl j klj (t) + sj (t)k ∗ ,


j ′ =1 l=1
mj
n X
 X



−


′
n
L(t) =
1X
Zj (t)2 .
2 j=1
Then, we denote the Lyapunov drift as ∆(t) = L(t +
1) − L(t):
∆(t) 6
n
n
X
1X
Zj (t)yj (t).
yj (t)2 +
2 j=1
j=1
Pn
Since 21 j=1 yj (t)2 has the positive constant upper
bound B, then:
mj (t)
if
X
n
X
Zj (t)yj (t).
j=1
klj 6 αj (t),
l=1
′
j
∗
xjj
l kl (t) − bj (t)k , otherwise,
j ′ =1 l=1
Resource Scheduling Approach
In this section, we give the details of our resource
scheduling approach. The approach aims at minimizing
the total resource cost and stabilizes the resource usage
of the media server cluster.
4.1
and we denote that Zj (t) > Qj (t). Therefore, the resource scheduling approach can employ the Lyapunov
optimization to stabilize the queue size and minimize
the total resource cost. Let L(t) be the Lyapunov function to measure the total queue backlog at time t.
∆(t) 6 B +
in which the surplus channel denotes as the channel
with the idle resource slots, and overload channel means
the channel does not have enough resource slots to serve
the arrival requests. bj (t) is the number of the media
servers that are without any requests, and not assigned
to any other channels at time t. Channel j will release
these bj (t) media servers for cost savings.
4
scheduling approach for the linear cost function. To depict the resource slot migration on the media servers,
we define the resource slot usage of each channel as a
virtual queue. We denote Zj (t) as the backlog of the
virtual queue of channel j at time t, and Zj (0) = 0 at
the initial time. Zj (t) evolves as:
Approach for Linear Cost Function
We first analyze the resource usage during the resource scheduling, and then we provide the resource
According to constraint (1), for all t and all possible
Z(t), we have:
n
1X ∗ 2
B > E{
y (t) |Z(t)},
2 j=1 j
(
(αj (t) + k ∗ − 1)2 , if klj 6 αj (t),
∗
2
yj (t) 6
(−Kj (t))2 ,
otherwise,
where Kj (t) is the total idle resource slots of channel
j, and we can conclude that E{yj∗ (t)2 |Z(t)} is no more
than max((αj + k ∗ − 1)2 , (− max[Kj′ ])2 ) in channel j.
Kj′ is the number of the resource slots which need to
be shared with other channels. According to the driftplus-penalty expression, the total resource cost of the
scheduling plan is utilized as the “penalty”, and we set
the weight of the “penalty” to V . To this end, we can
get the following inequality:
∆(t) + V C(t) 6 B + V C(t) +
n
X
Zj (t)yj (t).
j=1
The scheduling approach chooses the control action
Xj (t) = {X1j (t), X2j (t), . . . , Xnj (t)} for channel j.
562
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
Let Xj ′ j (t) be the vector of the chosen idle resource
slots on each media server of the surplus channel j ′ ∈
{1, 2, . . . , n}, which are scheduled to the overload channel j.
According to constraint (1), the minimum number
of the new added media servers smin
(t) equals ⌈(αj (t) −
j
Pn Pmj′ j ′ j
∗
′
Therefore, the resource
j ′ =1
l=1 xi kjl (t))/k ⌉.
in min
cost of the new media servers is Cl smin
(t).
j (t) + Cb sj
For sharing the idle resource slots with any other channels, the upload bandwidth cost to build up new IP
camera connections is Cbin f (Xj ′ j (t)). The idle resource
sharing makes the media server connect with more than
one camera. Therefore, we denote f (·) as the function
to calculate the number of the new connections of certain IP camera. When new connections of the required
IP cameras are built up, the following requests of the
same IP cameras do not need to spend any additional
upload bandwidth cost. The bandwidth cost to deliver
the live video streams to the end users is Cbout , which
P
is only related to the amount of the requests
Qj (t).
Then, we have
∆(t) + V C(t)
n
X
6 B+
Zj (t)yj (t) +
V
j=1
n
X
out
min
(Cl (smin
j (t)) + Cbj + Cb (sj (t)) +
j=1
Cb (f (Xj ′ j (t)))).
(2)
P
P
To minimize nj=1 Zj (t)yj (t) + V nj=1 (Cl (smin
j (t)) +
′ j (t)))) in inequality (2) at each
Cb (smin
(t))
+
C
(f
(X
b
j
j
time t, the scheduler takes the optimal resource scheduling plan with the minimum total resource cost. When
the cost function is linear, the problem can be formulated as a 0-1 integer programming problem, and the
approximate optimal solution can be directly got by the
method shown in Chapter 3 of [22].
4.2
General Approach for Non-Linear Cost
Function
When the cost functions are non-linear (e.g., convex
and concave functions), the functions are too complicated to solve the cost optimal problem within acceptable time[22] (in some situations, it cannot even take an
optimal solution within a polynomial time). The above
approach cannot be utilized in this situation. Therefore, we introduce a heuristic scheduling approach to
minimize the right hand function of inequality (2). Our
scheduling approach periodically collects the resource
usage information from each media server, and tries to
explore the resource slots at a lower cost to serve the
arrival end users. For this purpose, the scheduling approach is divided into several rounds. In each round,
we find out the cheapest scheduling plan for the current
arrival end users.
We provide the selfish scheduling method and the
shared scheduling method in our scheduling approach
to schedule idle resource slots to the end user requests.
Then, new media servers are added to serve the surplus arrival requests. The selfish scheduling means that
each channel only accepts its own requests to occupy
its idle resource slots. The selfish scheduling method
has the lowest resource cost on both the media server
and the network, and does not take up any idle resource slot of other channels. Because the resource slots
are neither shared nor added, we have yj (t) = 0 and
Pn
min
V j=1 (Cl (smin
j (t))+Cb (sj (t))+Cb (f (Xj ′ j (t)))) = 0
in this scheduling method. The shared scheduling
means that the channel accepts the requests from any
other channels to occupy its idle resource slots. The
shared scheduling method consists of the local shared
scheduling and the global shared scheduling. For the
local shared scheduling, the channel only shares its idle
resource slots with the small group of the channels’ reP
quests, which makes yj (t) and V nj=1 (Cl (smin
(t)) +
j
′ j (t)))) equal 0. The small group
Cb (smin
(t))
+
C
(f
(X
b
j
j
of the requests covers the channels that have already occupied the media servers’ resource slots of the current
channel. Thus, the local shared scheduling does not
generate any additional upload bandwidth cost. Moreover, the global shared scheduling allows the channels
to share their idle resource slots with all the other channels, and it allows the media servers to build up new
connections to get the live video streams. Therefore,
the global shared scheduling tries to minimize the value
Pn
Pn
of j=1 Zj (t)yj (t) + V j=1 (Cb (f (Xj ′ j (t)))). Finally,
the rest of the end user requests are assigned to new
media servers, which aim at minimizing the value of
Pn
Pn
min
(t)) + Cb (smin
j (t)).
j=1 Zj (t)yj (t) + V
j=1 (Cl (sj
The heuristic scheduling approach works as follows.
At first, each channel utilizes the selfish scheduling to
dispatch the requests to their own idle resource slots
shown in Algorithm 1. If there are remaining requests
after the selfish scheduling, the scheduler searches for
the idle resource slots among channels. Then, the
shared scheduling is employed in the scheduler shown
in Algorithm 2 to share the idle resource slots with the
requests of the overload channels. For the media servers
already share their idle resource slots with a group of
Yi-Hong Gao et al.: Minimizing VDC Resource Cost for Camera Stream Scheduling
channels, the scheduler utilizes the local shared scheduling to dispatch the remaining requests of the group to
occupy the current idle resource slots. We denote wj
as the weight of overload channel j to occupy the idle
P
resource slots. Let wj equal α′j / Kjj ′ . We denote α′j
as the remaining requests of channel j, and Kjj ′ is the
number of the idle resource slots of the media servers in
channel j ′ that already shares resource slots with channel j. wj evaluates the capacity that the remaining
requests of channel j can be consumed by the current
idle resource slots without additional upload bandwidth
cost. The higher value of wj means the less bandwidth
cost. Therefore, the highest wj always has the priority
to occupy the idle resource slots of the shared channels.
Algorithm 1. Selfish Scheduling
1: for all j ∈ {1, 2, . . . , n} do
2:
if αj > 0 and Kj > 0 then
3:
Dispatch the maximum {α1j , α2j , . . . , αmj }
to
the media servers inP
channel j, so that
Pm
m
i=1 αij (t) 6 αj and
i=1 αij (t) 6 Kj
4:
end if
5: end for
Algorithm 2. Shared Scheduling
1: Start the local shared scheduling:
2: for all αj > 0 and Kj > 0 do
3:
Get the sorted wj list of the channels
4:
for j ∈ {1, 2, . . . , n} do
5:
Dispatch channel j’s requests with
the maximum wj to the idle resource slots
that have already connected to channel j
6:
Adjust αj and Kj
7:
end for
8: end for
9: Start the global shared scheduling:
10: for all αj > 0 and Kj > 0 do
11:
Get the minimum number of the new media
servers snew to contain the current requests
{α1 , α2 , . . . , αn }
12:
for i′ ∈ {1, 2, . . . , snew } do
13:
Dispatch the requests of the server i′ with
the largest kinew
to utilize the current idle
′
resource slots
14:
if Cidle 6 Cnew then
15:
Dispatch the requests to the idle resource slots
16:
Remove the media server i′
17:
end if
18:
end for
19: end for
If there are still requests and idle resource slots after the local shared scheduling, the scheduler further
utilizes the global shared scheduling method to decide
whether to dispatch the current requests to the remaining idle resource slots. The main idea of the global
shared scheduling is to find an equilibrium point, which
563
makes the total resource cost to employ the idle resource slots no higher than that to add new media
servers. We first schedule all the rest of the requests
to the new media servers. The number of the new media servers is denoted as snew . The idle resource slots
in new servers i′ are denoted as kinew
. Furthermore,
′
we choose the largest kinew
in the new media server list
′
each time to put its requests into current idle slots to
i′
calculate the total resource cost Cidle
. Suppose the total resource cost of adding snew media servers is Cnew .
i′
Cidle
and Cnew are calculated by the non-linear cost
i′
functions. If Cidle
6 Cnew , the scheduler removes media server i′ from the new media server list, assigns
these requests to occupy the idle resource slots, and
adjusts the remaining requests and the value of snew .
Then, the scheduler still chooses the largest kinew
for
′
the next comparison. We repeat this operation until all
the new media servers are compared. The global shared
scheduling method can support that the idle resource
slots are fully utilized, and the total resource cost is also
minimized. After the shared scheduling, the remaining
new media servers are added to the cluster. Finally,
we denote the dominant channel as the channel with
the highest number of end user requests on the media
server. To stabilize the media server usage in each channel, the scheduler migrates the media server of channel
j ∈ {1, 2, . . . , n} to its dominant channel, if the current
media server does not have channel j’s requests any
more. When there are idle media servers without any
end user requests, the scheduler will release the media
servers for cost savings. The online heuristic scheduling approach is given by Algorithm 3, which can also
be utilized under the linear cost function. The time
complexity of our approach is O(n2 ) in the worst case.
Algorithm 3. Multi-Camera Resource Scheduling
1: Get the arrival requests {α1 , α2 , . . . , αn }
2: for all i ∈ {1, 2, . . . , m} and j ∈ {1, 2, . . . , n} do
3:
Find out the media server i of channel j that
does not have j’s requests
4:
Move media server i to its dominant channel
5: end for
6: Start the selfish scheduling in Algorithm 1
7: if A(t) 6= 0 and {K1 , K2 , . . . , Kn } 6= {0} then
8:
Start the shared scheduling in Algorithm 2
9: end if
10: if there are still requests then
11:
Add media servers to serve the rest of the requests
in each channel
12: end if
13: if there are media servers without any requests then
14:
Release the idle media servers
15: end if
16: Adjust the resource usage of each channel
564
5
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
Evaluation
In this section, we first introduce the details of the
experimental setting. Then, we compare our approach
with the state-of-the-art approaches. The resource usage and the total resource cost of the approaches are
given to evaluate the performance.
5.1
Experimental Setting
5.1.1 Platform Implementation
We evaluate the performance of our scheduling approach by setting up a platform to provide VSaaS on
the video data center. The platform is implemented
2
as follows. We employ Live555○
to build up the media server to forward the live IP camera streams. A
scheduler is running to manage the resources of the me3
dia server cluster. Netty○
is employed to implement
the distributed communication among the end users,
the scheduler and the media servers. All the end user
requests arrive at the scheduler at first. The scheduler
redirects the requests to the proper media servers to
get the live video streams. RTSP protocol is utilized
on the connections between the media servers and the
IP cameras. The resource configuration of each media
server is 2 CPU cores and 4 GB Memory, which takes
a reference to the “t2.medium” VM in the EC2. The
platform manages 80 IP cameras, which are deployed by
China Telecom. to serve the public in Fuzhou, China.
Each IP camera is assigned to a media server at the initial time. According to our experiments, the bitrates
of HD video stream of the IP camera are around 500
KB/s. To support the high quality of the video stream
forwarding, one media server consists of k ∗ = 50 resource slots in our media server cluster. The scheduler
counts the number of the media servers and the upload
network connections to the IP cameras to evaluate current resource usage. Based on the resource usage, total
resource cost is calculated each time to compare the
three resource scheduling approaches.
5.1.2 Request Arrival Setup
We employ two different end user arrival models to
evaluate our approach performance: the crowded arrival model and the ordinary arrival model, which are
also shown in the performance evaluation of [12]. More
end users arrive at the video data center in the crowded
arrival model. There is more than one end user to require each IP camera each time in this model. For
the ordinary arrival model, there are less end users accessing the video data center. There is no more than
one end user to require each IP camera each time. We
suppose that the end user arrival process is a poisson
process, which is also employed in the experiments of
[12-16]. End user interests to the IP cameras follow a
power law distribution. The end users randomly leave
the channels, and release the occupied resource slots at
each time. We define ∆t as the minimum time unit.
During ∆t, a random number of end user requests arrive at and leave the media servers. In our experiments,
∆t lasts for a few seconds, which is no higher than the
required response time of the service. Therefore, the
time period ∆t is small enough to adapt to the online resource scheduling. Our experiments run 1 000×∆t time
periods. The number of the media servers, the network
connections and the total resource cost are recorded by
every 10 × ∆t time period. We run each approach 20
times, and get the average experimental results.
5.1.3 Scheduling Approach Setup
We compare our approach with the other two approaches: the selfish scheduling approach (SA) and
the open scheduling approach (OA). For the selfish
scheduling approach, the media server of each channel
only serves its own end user requests. It means that
the media server does not share its idle resource slots
with other channels. The selfish scheduling approach
is shown in [16], which just determines the minimum
number of media servers in each channel. For the open
scheduling approach, the media servers not only serve
their own end user requests, but also share the idle resource slots with other channels. The media servers of
each channel firstly accept their own end user requests.
If there are still idle resource slots, the media servers
accept the requests of other channels. The opening
scheduling approach is very common in the traditional
VoD service, and is also employed in the scheduling
method in [21]. Finally, our new scheduling approaches
(NA) with three different cost functions are denoted as
NAL for the linear cost function, NAX for the convex
cost function, and NAC for the concave cost function,
respectively.
2
○
Live555 is a very popular media server application, which can forward liver video streams using RTSP protocol.
http://www.live555.com/, Dec. 2015
3
○
Netty is an open source communication framework, which is mainly written by Java. http://netty.io/, Dec. 2015
565
Yi-Hong Gao et al.: Minimizing VDC Resource Cost for Camera Stream Scheduling
We firstly observe that our approach spends more
time than the other two resource scheduling approaches. Since the three approaches are real-time, all
the approaches provide arrival end users the online resource scheduling service. The total average number
of the arrival and leaving requests under the crowded
arrival model is shown in Fig.5.
10
Number of Requests
800
600
SA
OA
NAL
NAX
NAC
400
200
0
0
10
20
30
40
50
Time
60
70
80
90
100
(a)
Τ105
Arrival
Leaving
8
6
4
2
0
Total Servers at Each Time
1000
Crowded Arrival Model Evaluation
SA
OA
NAL
Approaches
NAX
NAC
Total Connections at Each Time
5.2
(Τ104)
3.5
3.0
SA
OA
NAL
NAX
NAC
2.5
2.0
1.5
1.0
0.5
0
0
10
20
30
40
50
60
70
80
90
100
Time
(b)
Fig.5. Total end user requests in each approach.
5.2.1 Resource Usage
We compare the resource usage results of NAL ,
NAX and NAC with the other two approaches, and
the experimental results are shown in Fig.6. It shows
that NA can obviously reduce both media server resource usage and network usage among the three approaches. At the beginning of the resource scheduling,
both the media servers and the network connections are
sharply increased. The increasing process is not stable,
and the added and removed requests are little different
among the approaches. After running nearly 100∼200
∆t, the resource usage is stable. The results show that
SA has the highest media server usage, because it does
not share the idle resource slots with any other channels shown in Fig.6(a). On the contrary, OA has the
maximum number of IP camera connections, because
it tries to dispatch the arrival requests to all the media
servers shown in Fig.6(b). Although the results of our
approach are different under three different cost functions, all the results of NA approach neither employ
the most number of the media servers, nor build up the
most number of the upload network connections from
the IP cameras.
Fig.6. Total resource usage in each approach. (a) Total media
servers. (b) Total built-up connections.
5.2.2 Total Resource Cost
To evaluate the total resource cost of the three approaches, the expressions of the three cost functions
are given. Firstly, the linear cost function is denoted as
C(x) = αx + β, in which x is the number of the media servers or connections. α and β are two constants.
Since the Amazon Web Services provide the pay-as-yougo pricing model which utilizes a linear cost function,
we choose the Amazon EC2 pricing model to describe
4
media server cost○
, and the Amazon Cloudfront pricing model to describe the bandwidth cost of IP camera
5
connections○
. Note that the bandwidth cost is much
lower than the media server cost. The total resource
cost under the linear cost function is shown in Fig.7(a).
Furthermore, the convex cost function is denoted as
C(x) = αeβx , where C(x) is the convex function, which
is given by the work of [21]. On the contrary, the concave cost function is denoted as C(x) = α ln βx. The
total resource costs under these two cost functions are
shown in Fig.7(b) and Fig.7(c), respectively.
4
○
The Amazon EC2 can dynamically provide new media servers. https://aws.amazon.com/ec2/, Dec. 2015.
5
○
The Amazon Cloudfront is a novel content delivery platform on cloud. https://aws.amazon.com/cloudfront/, Dec. 2015.
566
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
Total Cost (Linear Function)
200
network connections are increased. The total resource
cost of OA is obviously increased, which becomes into
the most expensive scheduling approach. The cost of
our approach grows smoothly compared with the other
two approaches. Most importantly, our approach always maintains lower resource cost due to a comprehensive consideration on both media server cost and
the upload and forwarding bandwidth cost.
150
100
SA
OA
NAL
50
0
0
10
20
30
40
50
60
Time
70
80
90
100
Total Cost (Convex Function)
(a)
SA
OA
NAX
300
200
100
0
0
10
20
30
40
50
60
70
80
90
100
Time
10
5.5
5.0
4.5
4.0
SA
OA
NAC
3.5
0
10
20
30
40
50
Time
60
70
80
90
Number of the Requests
Total Cost (Concave Function)
(b)
3.0
Ordinary Arrival Model Evaluation
The ordinary arrival model is a typical online model,
which has less requests. This model supposes that there
is no more than one request arriving at each channel at
each time. We denote such three approaches as OSA,
OOA and ONA, which represent the ordinary SA, the
ordinary OA and the ordinary NA, respectively. In the
ordinary arrival model, the total average number of the
arrival requests and the number of the leaving requests
are shown in Fig.8.
500
400
5.3
(Τ103)
Arrival
8
6
4
2
0
OSA
OOA
Fig.7. Total resource cost comparison under three different cost
functions. (a) Total resource cost under linear cost function.
(b) Total resource cost under convex cost function. (c) Total
resource cost under concave cost function.
The experimental results show that our approach
has the lowest total resource cost at the most of time under all these three cost functions, because our approach
decreases the number of both the media servers and the
network connections. At the initial time, the total resource cost is not stable because of the unstable changes
of the requests. The unstable changes are due to the
random functions in the simulation of the request arrival and leaving. In Fig.7, there are a few connections
built up initially because of the small number of the
arrival requests. Thus, the server cost is higher at first,
and SA has the highest resource cost in the three approaches. As the requests are accumulated, the upload
ONAL
ONAX
ONAC
Approaches
100
(c)
Leaving
Fig.8. Total end user requests of ordinary arrival model.
5.3.1 Resource Usage
The total arrival and leaving end users of the ordinary arrival model are less than those of the crowded
arrival model. According to the results of our experiments, no more than six end users arrive at the video
data center to require different IP cameras each time.
We also observe that most resource slots are assigned
by the selfish scheduling and the local shared scheduling in the proposed approach ONA. The global shared
scheduling is less utilized in this model compared with
the crowded arrival model. Therefore, the resource usage of ONA under the three different cost functions
is nearly the same. We utilize an average value of the
three experimental results under different cost functions
in Fig.9 to represent the resource usage of ONA. The
number of the media servers of ONA is higher than the
567
Yi-Hong Gao et al.: Minimizing VDC Resource Cost for Camera Stream Scheduling
Total Servers at Each Time
200
180
160
140
OSA
OOA
ONA
120
100
0
100
200
300
400
500
600
700
800
scheduling for the ordinary arrival model. However, our
approach has a more optimal connection management
strategy than OOA. There are fewer upload network
connections built up in ONA, which means less bandwidth cost.
120
Total Cost (Linear Function)
number of OOA, but much less than that of OSA. Furthermore, the number of the IP camera connections of
ONA is higher than the number of OSA, but much less
than that of OOA. It means that ONA can also reduce
the media server usage and network usage among the
three approaches only by the selfish scheduling and the
local shared scheduling.
2000
1500
OSA
OOA
ONA
100
200
300
400
500 600
Time
(b)
700
800
Total Cost (Convex Function)
2500
0
0
90
80
OSA
OOA
ONAL
70
60
50
0
100
200
300
400
5.3.2 Total Resource Cost
The experimental results of the ordinary arrival
model are shown in Fig.10. The total resource costs
of Figs.10(a)∼10(c) are calculated by the linear, convex and concave cost functions, respectively. The resource cost functions of the experiments are shown in
Subsection 5.2.2. We can find that the resource usage contradiction between the media server cost and
the network connection cost still exists in this model.
Our approach handles this problem better in the online
model, which has the lowest total resource cost under
the three cost functions. The changes of the resource
cost of ONA are similar to those of OOA, but the values
are much lower than those of OSA. That is because both
ONA and OOA share their idle resource slots among
channels. Nevertheless, the saved cost of global sharing
scheduling in ONA is not obvious during the resource
700
800
900 1000
6.0
5.5
5.0
4.5
4.0
OSA
OOA
ONAX
3.5
3.0
0
100
200
300
400
500
600
700
800
900 1000
Time
(b)
900 1000
Fig.9. Total resource usage of ordinary arrival model in each
approach. (a) Total media servers. (b) Total built-up connections.
500 600
Time
(a)
Total Cost (Concave Function)
Total Connections at Each Time
(a)
500
100
900 1000
Time
1000
110
58
56
54
52
OSA
OOA
ONAC
50
48
0
100
200
300
400
500
600
700
800
900 1000
Time
(c)
Fig.10. Total resource cost comparison of ordinary arrival model
under three different cost functions. (a) Total resource cost under linear cost function. (b) Total resource cost under convex
cost function. (c) Total resource cost under concave cost function.
As the experimental results shown in Fig.7 and
Fig.10, our approach always maintains lower cost due
to a comprehensive consideration on both the media
server cost and the upload and forwarding bandwidth
cost. Therefore, we can conclude that our heuristic resource scheduling approach can optimize the resource
568
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
usage on both the media servers and the upload and
forwarding networks in the most of the end user arrival
model and the resource pricing model.
6
Related Work
Recently, cloud computing techniques are widely
employed to improve the scalability of the video delivery service on the video data center. There are two
types of video delivery services: the VoD services and
the live video services. Most of the VoD services on
the video data center aim at delivering video files to
the end users. The resource scheduling approaches of
the service mainly reduce the number of the new media servers to minimize the total resource cost in [1015]. For the live video service (e.g., IPTV, video conference and video surveillance), the resource scheduling
approaches in [16-21] deliver the live video streams to
the end users. However, the existing work did not optimize the upload bandwidth cost from the video sources
to the video data center.
The CloudMedia in [10] is a novel VoD service on
private cloud. End user access regularity is employed
in the CloudMedia to predict the resource demands in
future. Based on the expected number of arrival requests, the scheduler of the video data center determines the number of the media servers to deliver video
files. In [11], the resource prices are evaluated during
the resource scheduling. The authors of [11] supposed
that the media content providers (MCP) leased media
servers from the public cloud to deliver video files to the
end users. However, the media server price usually follows a “non-linearly discount” based on the number of
the media servers and the leasing duration. Therefore,
an innovative scheme was proposed to help MCP make
resource leasing decision at each time to save the media server cost. Another resource charging model was
presented in [12], and the resource price was charged
based on the number of the arrival end users. Tang et
al.[12] proposed two end user arrival models: the normal model and the flash crowd model. The two models
have different resource cost, which includes the media
server cost and the video output cost. The scheduler
predicts the type of the end user arrival model at each
time to minimize the total resource cost. All the above
work utilized the selfish scheduling approach to schedule the media servers for the end users. The idle resource sharing problem for different video sources was
proposed in [13]. The authors of [13] supposed that
the end users were divided into several communities by
their geographical locations, the end users usually recommended the interested videos in their communities
and video data centers shared their resources to each
community to store and deliver the videos. Different
video data centers had different video delivery delay
and media server cost. The authors of [13] aimed at
achieving the tradeoff between the media server cost
and the video delivery delay of each community. Finally, an optimal video file deployment plan was given
in [14]. The optimal deployment plan determines how
many file copies are needed to save the file storage cost
of media servers. Furthermore, the work of [15] not
only optimizes the video forwarding QoE for end users,
but also reduces the energy usage and emissions of the
video data center.
For the live video service, the media servers of the
video data center must get the live video streams from
the video sources for live stream forwarding. The resource scheduler in [16] takes the time/region diversities of the end user requests into consideration. That
is to say, the users access and leave from the media
servers at any place and any time. In this system,
there is only one proxy in the video data center to
manage all the videos. The proxy sends the live video
streams to each media server of the video data center.
The proposed resource scheduling approach is a selfish scheduling approach, and only aims at minimizing
the number of media servers which forward live stream
to the end users. Similar to the work of [16], the approach proposed in [17] improves the traditional CDN
system to forward the live video streams. But the proposed approach only focuses on improving the network
performance between the media servers to reduce the
forwarding cost and delay. An interactive IPTV service was proposed in [18] for online video conference
on cloud. This system model extends the single video
source to multiple video sources, which are the cameras
on the terminal equipments of the end users. Nevertheless, the interactive IPTV service did not introduce any
optimal resource scheduling approach. The authors of
[19] and [20] just provided the solutions to optimize the
forwarding network performance across inter-connected
video data centers. Finally, the authors of [21] provided
an idle resource sharing method among different media
servers during the live video delivery. An idle resource
sharing approach was given to share resources between
the VoD service and the IPTV service. The server pricing models utilize three different server cost functions:
maximum, convex and concave functions. Then, the
approximate optimal algorithms were proposed under
Yi-Hong Gao et al.: Minimizing VDC Resource Cost for Camera Stream Scheduling
each cost function to share the idle resources with the
minimum media server cost. Bandwidth cost on both
upload and forwarding streams was not mentioned in
this work.
Bandwidth cost from the video source to the media server is not the main consideration in the above
algorithms. However, the bandwidth cost of the video
stream delivery of the IP camera includes the upload
and forwarding bandwidth cost. The upload bandwidth
cost is the cost for the live video delivery from the IP
camera to the media server. The forwarding bandwidth cost is the cost for live video forwarding from
the media server to the end user. Although the upload
stream scheduling is not mentioned in the above work,
it must be well controlled to reduce the total resource
cost. Furthermore, most of the work did not mention
the capacity of the media server. Usually, the media
server capacity represents that the media server can simultaneously serve more than one end user, and it also
deeply affects the total resource cost. Therefore, the
current work obviously cannot well optimize both the
upload and forwarding bandwidth cost and the media
server cost of the VSaaS on the video data center.
7
References
[1]
Passarella A. A survey on content-centric technologies for
the current Internet: CDN and P2P solutions. Computer
Communications, 2012, 35(1): 1-32.
[2]
Zhu W, Luo C, Wang J et al. Multimedia cloud computing.
IEEE Signal Processing Magazine, 2011, 28(3): 59-69.
[3]
Gao Y, Ma H D, Zhang H et al. Concurrency optimized task
scheduling for workflows in cloud. In Proc. the 6th IEEE
International Conference on Cloud Computing (CLOUD),
June 28-July 3, 2013, pp.709-716.
[4]
Hampapur A, Brown L, Connell J et al. Smart video surveillance: Exploring the concept of multiscale spatiotemporal
tracking. IEEE Signal Processing Magazine, 2005, 22(2):
38-51.
[5]
Bramberger M, Doblander A, Maier A et al. Distributed embedded smart cameras for surveillance applications. IEEE
Computer, 2006, 39(2): 68-75.
[6]
Yang L, Cao J, Yuan Y et al. A framework for partitioning
and execution of data stream applications in mobile cloud
computing. ACM SIGMETRICS Performance Evaluation
Review, 2013, 40(4): 23-32.
[7]
Adhikari V K, Jain S, Chen Y et al. Vivisecting YouTube:
An active measurement study. In Proc. the 31st IEEE
International Conference on Computer Communications
(INFOCOM), March 2012, pp.2521-2525.
[8]
Adhikari V K, Guo Y, Hao F et al. Unreeling Netflix: Understanding and improving multi-CDN movie delivery. In
Proc. the 31st IEEE International Conference on Computer Communications (INFOCOM), March 2012, pp.16201628.
[9]
Ma H D, Shin K. Multicast video-on-demand services.
ACM SIGCOMM Computer Communication Review, 2002,
32(1): 31-43.
Conclusions
In this paper, we presented the resource cost minimization approaches on the video data center to provide
VSaaS. We gave a comprehensive consideration on both
the upload and the forwarding bandwidth cost in resource scheduling process, and provided a fine-grained
resource usage model for media servers. The proposed
approach aims at minimizing the total resource cost on
both media servers and networks. To well evaluate the
resource cost of the media servers and the networks,
we employed different pricing models which contain
linear and non-linear cost functions. We formulated
the cost minimization problem as a constrained integer programming problem under the linear cost function. For the nonlinear cost functions which mainly are
convex and concave cost functions, the proposed programming approach cannot obtain the optimal results
within acceptable time. Therefore, we further gave a
heuristic scheduling approach to minimize the total resource cost in the video data center. The experimental
results showed that our approach could optimize the resource usage on both media servers and networks. Due
to the resource usage optimization, the scheduler could
get the minimum total resource cost under different resource cost functions and request arrival models compared with the state-of-the-art approaches.
569
[10] Wu Y, Wu C, Li B et al. CloudMedia: When cloud on demand meets video on demand. In Proc. the 31st IEEE International Conference on Distributed Computing Systems
(ICDCS), June 2011, pp.268-277.
[11] Alasaad A, Shafiee K, Behairy H et al. Innovative schemes
for resource allocation in the cloud for media streaming applications. IEEE Trans. Parallel and Distributed System,
2015, 26(4): 1021-1033.
[12] Tang J H, Tay W P, Wen Y. Dynamic request redirection
and elastic service scaling in cloud-centric media networks.
IEEE Trans. Multimedia, 2014, 16(5): 1434-1445.
[13] Hu H, Wen Y, Chua T et al. Community based effective social video contents placement in cloud centric CDN network.
In Proc. the IEEE International Conference on Multimedia
and Expo (ICME), July 2014.
[14] Zhao Y, Jiang H, Zhou K et al. Meeting service level agreement cost-effectively for video-on-demand applications in
the cloud. In Proc. the 33rd IEEE International Conference
on Computer Communications (INFOCOM), April 27-May
2, 2014, pp.298-306.
[15] Kong F, Lu X, Xia M et al. Distributed optimal datacenter
bandwidth allocation for dynamic adaptive video streaming. In Proc. the 23rd ACM International Conference on
Multimedia (MM), October 2015, pp.531-540.
570
[16] Wang F, Liu J, Chen M. CALMS: Cloud-assisted live media streaming for globalized demands with time/region diversities. In Proc. the 31st IEEE International Conference
on Computer Communications (INFOCOM), March 2012,
pp.199-207.
[17] Mukerjee M K, Naylor D, Jiang J et al. Practical, realtime, centralized control for CDN-based live video delivery.
In Proc. the ACM Conference on Special Interest Group on
Data Communication (SIGCOMM), August 2015, pp.311324.
[18] Nam Y, Park H J, Cho C H et al. An interactive IPTV
system with community participation in cloud computing
environments. IEEE Systems Journal, 2014, 8(1): 174-183.
[19] Feng Y, Li B, Li B. Airlift: Video conferencing as a
cloud service using inter-datacenter networks. In Proc. the
20th IEEE International Conference on Network Protocols
(ICNP), Oct. 30-Nov. 2, 2012.
[20] Feng Y, Li B, Li B. Jetway: Minimizing costs on interdatacenter video traffic. In Proc. the 20th ACM International Conference on Multimedia (MM), October 2012,
pp.259-268.
[21] Aggarwal V, Gopalakrishnan V, Jana R et al. Optimizing cloud resources for delivering IPTV servers through
virtualization. IEEE Trans. Multimedia, 2014, 15(4): 789801.
[22] Neely M. Stochastic network optimization with application
to communication and queueing system. Synthesis Lectures
on Communication Networks, 2010, 3(1): 1-211.
[23] Lee J, Turner Y, Lee M et al. Application-driven bandwidth guarantees in datacenters. In Proc. the ACM Conference on Special Interest Group on Data Communication
(SIGCOMM), August 2014, pp.467-478.
Yi-Hong Gao is now a Ph.D.
candidate of Beijing Key Laboratory
of Intelligent Telecommunications Software and Multimedia and the School of
Computer Science, Beijing University of
Posts and Telecommunications, Beijing.
His current research mainly focuses on
resource scheduling approach, video
data center, cloud computing. text text text text text text
text text text text
J. Comput. Sci. & Technol., May 2017, Vol.32, No.3
Hua-Dong Ma is a Changjiang
Scholar, professor and director of
Beijing Key Laboratory of Intelligent
Telecommunications
Software
and
Multimedia, and the executive dean of
the School of Computer Science, Beijing
University of Posts and Telecommunications, Beijing. He received his Ph.D. degree in computer
science from Institute of Computing Technology, Chinese
Academy of Sciences, Beijing, in 1995. He was awarded
National Funds for Distinguished Young Scientists in 2009.
His current research focuses on multimedia system and
networking, sensor networks and Internet of Things.
Wu Liu is currently a lecturer in
Beijing Key Laboratory of Intelligent
Telecommunications
Software
and
Multimedia, Beijing University of Post
and Telecommunication, Beijing. He
received his B.E. degree from Shandong
University, Jinan, in 2009, and Ph.D.
degree in computer application technology at the Institute of Computing
Technology, Chinese Academy of Sciences, Beijing, in
2015. His research interests include multimedia information retrieval and computer vision.