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.
© Copyright 2026 Paperzz