Skip to main content
Log in

QoS4IVSaaS: a QoS management framework for intelligent video surveillance as a service

  • Original Article
  • Published:
Personal and Ubiquitous Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. 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

  2. Atrey PK, Cavallaro A, Kankanhalli M (2013) Intelligent multimedia surveillance. Springer, Berlin

    Book  Google Scholar 

  3. Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley, Boston

    Google Scholar 

  4. 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

  5. Gao F (2013) Vsaas model on dragon-lab. Int J Multimed Ubiquitous Eng 8(4):293–302

    Google Scholar 

  6. 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

  7. 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

    Article  Google Scholar 

  8. Huang T (2014) Surveillance video: the biggest big data. Comput Now 7(2):82–91

    Google Scholar 

  9. 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

  10. 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

    Article  Google Scholar 

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. Prati A, Vezzani R, Fornaciari M, Cucchiara R (2013) Intelligent video surveillance as a service. Intelligent multimedia surveillance. Springer, Berlin, pp 1–16

    Chapter  Google Scholar 

  18. 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

  19. 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

  20. 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

    Article  Google Scholar 

  21. Veldema R, Philippsen M (2011) Iterative data-parallel mark&sweep on a gpu. In: ACM SIGPLAN notices, ACM, vol 46, pp 1–10

  22. 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

  23. 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

    Article  Google Scholar 

  24. 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

Download references

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

Authors

Corresponding author

Correspondence to Weishan Zhang.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00779-016-0945-5

Keywords

Navigation