Abstract
Quality of service (QoS) is critical for real-time intelligent video surveillance as a service (IVSaaS) platform, which is both computation intensive and data intensive by nature. However, there is scarce work on a QoS framework for IVSaaS platform. In this paper, we propose QoS for intelligent video surveillance as a service, a QoS framework to make computing resources highly available. In the framework, multiple metrics such as throughput, loads of CPU/GPU, memory and IO are taken into account with different time series models to enhance the adaptivity of different video services. A model selection algorithm is proposed to choose the model that achieves the best performance under various error indicators. At the same time, a resource abnormality detection algorithm is designed to detect anomalies when a service is underperformed. Evaluation results show that the proposed QoS framework can successfully ensure QoS by dynamically scheduling computing resources.
Similar content being viewed by others
References
Alamri A, Hossain MS, Almogren A, Hassan MM, Alnafjan K, Zakariah M, Seyam L, Alghamdi A (2015) Qos-adaptive service configuration framework for cloud-assisted video surveillance systems. Multimed Tools Appl 74:1–16
Atrey PK, Cavallaro A, Kankanhalli M (2013) Intelligent multimedia surveillance. Springer, Berlin
Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley, Boston
Diamos GF, Yalamanchili S (2008) Harmony: an execution model and runtime for heterogeneous many core systems. In: Proceedings of the 17th international symposium on high performance distributed computing, ACM, pp 197–200
Gao F (2013) Vsaas model on dragon-lab. Int J Multimed Ubiquitous Eng 8(4):293–302
Hassan M, Hossain MA, Al-Qurishi M (2014) Cloud-based mobile iptv terminal for video surveillance. In: Advanced Communication Technology (ICACT), 2014 16th International conference on, IEEE, pp 876–880
Hassan MM, Hossain MA, Abdullah-Al-Wadud M, Al-Mudaihesh T, Alyahya S, Alghamdi A (2015) A scalable and elastic cloud-assisted publish/subscribe model for iptv video surveillance system. Clust Comput 18(4):1539–1548
Huang T (2014) Surveillance video: the biggest big data. Comput Now 7(2):82–91
Kessler C, Dastgeer U, Thibault S, Namyst R, Richards A, Dolinsky U, Benkner S, Träff JL, Pllana S (2012) Programmability and performance portability aspects of heterogeneous multi-/manycore systems. In: IEEE design, automation and test in Europe conference and exhibition (DATE), pp 1403–1408
Kim J, Kim H, Lee JH, Lee J (2011) Achieving a single compute device image in opencl for multiple gpus. ACM SIGPLAN Notices 46(8):277–288
Limna T, Tandayya P (2012) Design for a flexible video surveillance as a service. In: IEEE 5th International congress on image and signal processing (CISP), pp 197–201
Limna T, Tandayya P (2014) A flexible and scalable component-based system architecture for video surveillance as a service, running on infrastructure as a service. Multimed Tools Appl 73:1–27
Limna T, Tandayya P (2015) Video surveillance as a service cost estimation and pricing model. In: IEEE 12th International joint conference on computer science and software engineering (JCSSE), pp 174–179
Linderman MD, Collins JD, Wang H, Meng TH (2008) Merge: a programming model for heterogeneous multi-core systems. In: ACM SIGOPS operating systems review, ACM, vol 42, pp 287–296
Luk CK, Hong S, Kim H (2009) Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping. In: 42nd Annual IEEE/ACM International symposium on microarchitecture MICRO-42, IEEE, pp 45–55
Maas M, Reames P, Morlan J, Asanović K, Joseph AD, Kubiatowicz J (2012) Gpus as an opportunity for offloading garbage collection. In: ACM SIGPLAN notices, ACM, vol 47, pp 25–36
Prati A, Vezzani R, Fornaciari M, Cucchiara R (2013) Intelligent video surveillance as a service. Intelligent multimedia surveillance. Springer, Berlin, pp 1–16
Sharma CM, Kumar H (2014) Architectural framework for implementing visual surveillance as a service. In: IEEE International conference on computing for sustainable global development (INDIACom), pp 296–301
Song B, Tian Y, Zhou B (2014) Design and evaluation of remote video surveillance system on private cloud. In: IEEE International symposium on biometrics and security technologies (ISBAST), pp 256–262
Sun Y, Song H, Jara AJ, Bie R (2016) Internet of things and big data analytics for smart and connected communities. IEEE Access 4:766–773
Veldema R, Philippsen M (2011) Iterative data-parallel mark&sweep on a gpu. In: ACM SIGPLAN notices, ACM, vol 46, pp 1–10
Veldema R, Philippsen M (2012) Parallel memory defragmentation on a gpu. In: Proceedings of the 2012 ACM SIGPLAN workshop on memory systems performance and correctness, ACM, pp 38–47
Zhang W, Xu L, Duan P, Gong W, Lu Q, Yang S (2015) A video cloud platform combing online and offline cloud computing technologies. Pers Ubiquitous Comput 19(7):1099–1110
Zivkovic Z (2004) Improved adaptive gaussian mixture model for background subtraction. In: IEEE proceedings of the 17th International conference on pattern recognition (ICPR), vol 2, pp 28–31
Acknowledgments
The research is supported by the National Natural Science Foundation of China (Grant No. 61309024 and 61402533) and also Natural Science Foundation of Shandong Province (Grant No. ZR2014FM038), “Key Technologies Development Plan of Qingdao Technical Economic Development Area.” Weishan Zhang has been supported by the start-up funds for “Academic Top-Notch Professors in China University of Petroleum.”
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendices
1.1 Metric models
-
Moving average (MA) For a metric time series \(M_t\), MA models the time series with a fixed window size W to give an estimation of the metric \(\hat{M}_{t+1}\) which is generated from
$$\begin{aligned} {\hat{M}}_{t+1}=\frac{\sum _{i=t-(W-1)}^{i=t}M_{i}}{W}. \end{aligned}$$A MA model can be extended to a weighted MA (WMA) model in which a factor \(w_i\) is weighted on each \(M_i\) in the window, and in this paper we set \(w_i=1/W\) for all \(i= 1,2,...,W\).
-
Simple exponential smoothing (SES) SES assigns exponentially decreasing weights as the observations get older. In other words, recent observations are given relatively more weight in forecasting than the older observations. It begins by setting \(\hat{M}_2\) to \(M_1\) and shifts the exponential window by
$$\begin{aligned} {\hat{M}}_t=\alpha M_{t-1}+(1-\alpha )\hat{M}_{t-1} \end{aligned}$$where \(0<\alpha \le 1,\,\,t\ge 3\).
-
Double exponential smoothing (DES) DES is a refinement of SES model, but adds another component which takes into account any trend in the data. SES works best with data where there is no trend or seasonality components to the data. Double exponential smoothing takes into account the increasing or decreasing trend in the data. It begins by setting \(\hat{M}_1\) to \(M_1\) and by setting \(b_1\) to \(M_2-M_1\), and then iterates by
$$\begin{aligned} \hat{M}_t= \,& {} \alpha M_t+(1-\alpha )(\hat{M}_{t-1}+b_{t-1})\\ b_t= \,& {} \gamma (\hat{M}_t-\hat{M}_{t-1})+(1-\gamma )b_{t-1} \end{aligned}$$ -
Linear regression (LR) Assuming that an observed metric \(m_o\) is the sum of a random error \(\varepsilon\) and a real metric \(m_r\), LR model essentially attempts to put a straight line through N metric points, that is, \(m_o^i=m_r^i+\varepsilon ^i\) where \(m_r^i=a+bt^i,~i=1,2,...,N\). The goal is to get the estimation \(\hat{a},~\hat{b}\) of a, b by minimizing
$$\begin{aligned} Q=\sum _{i=1}^{i=N}(\varepsilon ^i)^2=\sum _{i=1}^{i=N}(m_o^i-a-bt^i)^2. \end{aligned}$$Setting the partial derivative of a and b on Q to 0, we can get \(\hat{a}=\overline{m}_o-\hat{b}\overline{t}~,~~~ \hat{b}=l_{tm_o}/l_{tt}\) where \(\overline{m}_o,~\overline{t}\) are the means on the N metric points, respectively, and
$$\begin{aligned} l_{tm_o}=\sum _{i=1}^{i=N}t^im_o^i-N\overline{t}\overline{m}_o\qquad l_{tt}=\sum _{i=1}^{N}(t^i)^2-N\overline{t}^2 \end{aligned}$$ -
Polynomial regression (PR) In the PR model, the relationship between the independent variable t and the dependent variable m is modeled as an nth degree polynomial, which is denoted by
$$\begin{aligned} m_i=\sum _{p=0}^{p=P}a_pt_i^p+\varepsilon _i \end{aligned}$$where P is the order of the model. It can be expressed in matrix form in terms of a design matrix T, a response vector \(\overrightarrow{m}\), a parameter vector \(\overrightarrow{a}\) and a vector \(\overrightarrow{\varepsilon }\) of random errors. Then, the model can be written as a system of linear equations:
$$\begin{aligned} \left[ \begin{matrix} m_1 &{}\\ m_2 &{}\\ m_3 &{}\\ \vdots \\ m_N \end{matrix}\right] = \left[ \begin{matrix} 1 &{} t_1 &{} t_1^2 &{} ... &{} t_1^P\\ 1 &{} t_2 &{} t_2^2 &{} ... &{} t_2^P\\ 1 &{} t_3 &{} t_3^2 &{} ... &{} t_3^P\\ \vdots &{}\vdots &{}\vdots &{} &{}\vdots \\ 1 &{} t_N &{} t_N^2 &{} ... &{} t_N^P \end{matrix}\right] \left[ \begin{matrix} a_0\\ a_1\\ a_2\\ \vdots \\ a_P\\ \end{matrix}\right] + \left[ \begin{matrix} \varepsilon _0\\ \varepsilon _1\\ \varepsilon _2\\ \vdots \\ \varepsilon _N\\ \end{matrix}\right] \end{aligned}$$(1)which when using pure matrix notation is written as \(\overrightarrow{m}=\varvec{T}\overrightarrow{a}+\overrightarrow{\varepsilon }\). The vector of estimated polynomial regression coefficients (using ordinary least squares estimation) is
$$\begin{aligned} \hat{\overrightarrow{a}}=(\varvec{T}^T\varvec{T})^{-1}\varvec{T}^T\overrightarrow{m} \end{aligned}$$
1.2 Error indicators
In the following, N is the number of metric samples, \(m_e^t,~m_o^t\) are the estimation by a model and observation from the IVSaaS, respectively.
-
Akaike information criteria:
$$\begin{aligned} \mathrm{AIC}=N\ln {2\pi }+\ln {\frac{\sum _{t=1}^{N}(m_e^t-m_o^t)^2}{N}}+2(\pi +2) \end{aligned}$$ -
Mean square error:
$$\begin{aligned} \mathrm{MSE}=\frac{\sum _{t=1}^{N}(m_e^t-m_o^t)^2}{N} \end{aligned}$$ -
BIAS:
$$\begin{aligned} \mathrm{BIAS}=\frac{\sum _{t=1}^{N}(m_e^t-m_o^t)}{N} \end{aligned}$$ -
Mean absolute percent error:
$$\begin{aligned} \mathrm{MAPE}=\frac{\sum _{t=1}^{N}|(m_e^t-m_o^t)/m_o^t|}{N} \end{aligned}$$ -
Mean absolute difference:
$$\begin{aligned} \mathrm{MAD}=\frac{\sum _{t=1}^{N}|(m_e^t-m_o^t)|}{N} \end{aligned}$$ -
Sum of absolute error:
$$\begin{aligned} \mathrm{SAE}=\sum _{t=1}^{N}|(m_e^t-m_o^t)| \end{aligned}$$
Rights and permissions
About this article
Cite this article
Zhang, W., Duan, P., Xie, X. et al. QoS4IVSaaS: a QoS management framework for intelligent video surveillance as a service. Pers Ubiquit Comput 20, 795–808 (2016). https://doi.org/10.1007/s00779-016-0945-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00779-016-0945-5