Advertisement

Complex event recognition in the Big Data era: a survey

  • Nikos GiatrakosEmail author
  • Elias Alevizos
  • Alexander Artikis
  • Antonios Deligiannakis
  • Minos Garofalakis
Special Issue Paper
  • 78 Downloads

Abstract

The concept of event processing is established as a generic computational paradigm in various application fields. Events report on state changes of a system and its environment. Complex event recognition (CER) refers to the identification of composite events of interest, which are collections of simple, derived events that satisfy some pattern, thereby providing the opportunity for reactive and proactive measures. Examples include the recognition of anomalies in maritime surveillance, electronic fraud, cardiac arrhythmias and epidemic spread. This survey elaborates on the whole pipeline from the time CER queries are expressed in the most prominent languages, to algorithmic toolkits for scaling-out CER to clustered and geo-distributed architectural settings. We also highlight future research directions.

Keywords

Big Data Complex event recognition Complex event recognition languages Parallelism Elasticity Distributed processing 

Notes

Acknowledgements

This work has received funding from the EU Horizon 2020 Research and Innovation Program INFORE under Grant Agreement No 825070.

References

  1. 1.
    Apache Flink v. 1.7. https://flink.apache.org/. Accessed 31 March 2019
  2. 2.
  3. 3.
    Apache Flume. https://flume.apache.org/. Accessed 31 March 2019
  4. 4.
    Apache Kafka. https://kafka.apache.org/. Accessed 31 March 2019
  5. 5.
    Apache Spark Streaming. https://spark.apache.org/docs/latest/streaming-programming-guide.html. Accessed 31 March 2019
  6. 6.
    Apache Spark Structured Streaming. https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html. Accessed 31 March 2019
  7. 7.
    Apache Spark v. 2.4.0. https://spark.apache.org/. Accessed 31 March 2019
  8. 8.
    Apache Storm v. 2.0.0. http://storm.apache.org/. Accessed 31 March 2019
  9. 9.
    Bringing complex event processing to spark streaming. https://www.youtube.com/watch?v=naCRk9wAd6g. Accessed 31 March 2019
  10. 10.
    CUDA Zone. https://developer.nvidia.com/cuda-zone. Accessed 31 March 2019
  11. 11.
    Esper. http://www.espertech.com/esper. Accessed 31 March 2019
  12. 12.
    Esperonstorm. https://github.com/tomdz/storm-esper. Accessed 31 March 2019
  13. 13.
    Ibm proactive technology online. https://github.com/ishkin/Proton/tree/master/IBM. Accessed 31 March 2019
  14. 14.
    Ibm proactive technology online on storm. https://github.com/ishkin/Proton/tree/master/IBM. Accessed 31 March 2019
  15. 15.
    Jess, the rule engine for the java platform. https://www.jessrules.com/jess/docs/71/. Accessed 31 March 2019
  16. 16.
    Oracle cep cql language reference. https://docs.oracle.com/cd/E16764_01/doc.1111/e12048/intro.htm. Accessed 31 March 2019
  17. 17.
    Sase source code. https://github.com/haopeng/sase/. Accessed 31 March 2019
  18. 18.
    Siddhi CEP. https://github.com/wso2/siddhi. Accessed 31 March 2019
  19. 19.
  20. 20.
    Stratio Decision. https://github.com/Stratio/Decision. Accessed 31 March 2019
  21. 21.
    Agrawal, J., Diao, Y., Gyllstrom, D., Immerman, N.: Efficient pattern matching over event streams. In: SIGMOD (2008)Google Scholar
  22. 22.
    Aguilera, M.K., Strom, R.E., Sturman, D.C., Astley, M., Chandra, T. D.: Matching events in a content-based subscription system. In: PODC, pp. 53–61 (1999)Google Scholar
  23. 23.
    Ahmad, Y., Çetintemel, U.: Network-aware query processing for stream-based applications. In: VLDB, pp. 456–467 (2004)Google Scholar
  24. 24.
    Akdere, M., Çetintemel, U., Tatbul, N.: Plan-based complex event detection across distributed sources. PVLDB 1(1), 66–77 (2008)Google Scholar
  25. 25.
    Alevizos, E., Artikis, A., Paliouras, G.: Event forecasting with pattern markov chains. In: DEBS, pp. 146–157 (2017)Google Scholar
  26. 26.
    Alevizos, E., Artikis, A., Paliouras, G.: Wayeb: a tool for complex event forecasting. In: LPAR (2018)Google Scholar
  27. 27.
    Alevizos, E., Skarlatidis, A., Artikis, A., Paliouras, G.: Probabilistic complex event recognition: a survey. ACM Comput. Surv. 50(5), 71:1–71:31 (2017)CrossRefGoogle Scholar
  28. 28.
    Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26(11), 832–843 (1983)CrossRefzbMATHGoogle Scholar
  29. 29.
    Allen, J.F.: Towards a general theory of action and time. Artif. Intell. 23(2), 123–154 (1984)CrossRefzbMATHGoogle Scholar
  30. 30.
    Amazon. Cloud Services Pricing—Amazon Web Services (AWS). https://aws.amazon.com/pricing/services/. Accessed 31 March 2019
  31. 31.
    Amini, L., Jain, N., Sehgal, A., Silber, J., Verscheure, O.: Adaptive control of extreme-scale stream processing systems. In: ICDCS, pp. 71–71 (2006)Google Scholar
  32. 32.
    Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. VLDB J. 15(2), 121–142 (2006)CrossRefGoogle Scholar
  33. 33.
    Arasu, A., Cherniack, M., Galvez, E. F., Maier, D., Maskey, A., Ryvkina, E., Stonebraker, M., Tibbetts, R.: Linear road: a stream data management benchmark. In: VLDB, pp. 480–491 (2004)Google Scholar
  34. 34.
    Artikis, A., Margara, A., Ugarte, M., Vansummeren, S., Weidlich, M.: Complex event recognition languages: tutorial. In: DEBS (2017)Google Scholar
  35. 35.
    Artikis, A., Sergot, M.J., Paliouras, G.: An event calculus for event recognition. IEEE Trans. Knowl. Data Eng. 27(4), 895–908 (2015)CrossRefGoogle Scholar
  36. 36.
    Artikis, A., Skarlatidis, A., Portet, F., Paliouras, G.: Logic-based event recognition. Knowl. Eng. Rev. 27(4), 469–506 (2012)CrossRefGoogle Scholar
  37. 37.
    Babu, S., Srivastava, U., Widom, J.: Exploiting k-constraints to reduce memory overhead in continuous queries over data streams. ACM Trans. Database Syst. 29(3), 545–580 (2004)CrossRefGoogle Scholar
  38. 38.
    Balazinska, M., Kwon, Y., Kuchta, N., Lee, D.: Moirae: History-enhanced monitoring. In: CIDR, pp. 375–386 (2007)Google Scholar
  39. 39.
    Balkesen, C., Dindar, N., Wetter, M., Tatbul, N.: RIP: run-based intra-query parallelism for scalable complex event processing. In: DEBS, pp. 3–14 (2013)Google Scholar
  40. 40.
    Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.E.: Quantified event automata: Towards expressive and efficient runtime monitors. In: FM (2012)Google Scholar
  41. 41.
    Benzing, A., Koldehofe, B., Rothermel, K.: Efficient support for multi-resolution queries in global sensor networks. In: COMSWARE, pp. 11:1–11:12 (2011)Google Scholar
  42. 42.
    Boubeta-Puig, J., Díaz, G., Macià, H., Valero, V., Ortiz, G.: Medit4cep-cpn: an approach for complex event processing modeling by prioritized colored petri nets. Inf. Syst. 81, 267–289 (2019)CrossRefGoogle Scholar
  43. 43.
    Brendel, W., Fern, A., Todorovic, S.: Probabilistic event logic for interval-based event recognition. In: CVPR, pp. 3329–3336 (2011)Google Scholar
  44. 44.
    Brenna, L., Gehrke, J., Hong, M., Johansen, D.: Distributed event stream processing with non-deterministic finite automata. In: DEBS (2009)Google Scholar
  45. 45.
    Brito, A., Fetzer, C., Sturzrehm, H., Felber, P.: Speculative out-of-order event processing with software transaction memory. In: DEBS, pp. 265–275 (2008)Google Scholar
  46. 46.
    Cardellini, V., Grassi, V., Lo Presti, F., Nardelli, M.: Optimal operator placement for distributed stream processing applications. In: DEBS, pp. 69–80 (2016)Google Scholar
  47. 47.
    Cardellini, V., Grassi, V., Presti, F.L., Nardelli, M.: Optimal operator replication and placement for distributed stream processing systems. SIGMETRICS Perform. Eval. Rev. 44(4), 11–22 (2017)CrossRefGoogle Scholar
  48. 48.
    Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Trans. Comput. Syst. 19(3), 332–383 (2001)CrossRefGoogle Scholar
  49. 49.
    Cervesato, I., Montanari, A.: A calculus of macro-events: Progress report. In: TIME (2000)Google Scholar
  50. 50.
    Çetintemel, U., Abadi, D.J., Ahmad, Y., Balakrishnan, H., Balazinska, M., Cherniack, M., Hwang, J., Madden, S., Maskey, A., Rasin, A., Ryvkina, E., Stonebraker, M., Tatbul, N., Xing, Y., Zdonik, S.: The aurora and borealis stream processing engines. In: Garofalakis, M., Gehrke, J., Rastogi, R. (eds.) Data Stream Management, Data-Centric Systems and Applications, pp. 337–359. Springer, Berlin (2016)Google Scholar
  51. 51.
    Chandramouli, B., Goldstein, J., Maier, D.: High-performance dynamic pattern matching over disordered streams. PVLDB 3(1), 220–231 (2010)Google Scholar
  52. 52.
    Chandrasekaran, S., Cooper, O., Deshpande, A., Franklin, M.J., Hellerstein, J.M., Hong, W., Krishnamurthy, S., Madden, S., Reiss, F., Shah, M.A.: Telegraphcq: continuous dataflow processing. In: SIGMOD (2003)Google Scholar
  53. 53.
    Chen, F., Rosu, G.: Parametric trace slicing and monitoring. In: TACAS (2009)Google Scholar
  54. 54.
    Chintapalli, S., Dagit, D., Evans, B., Farivar, R., Graves, T., Holderbaugh, M., Liu, Z., Nusbaum, K., Patil, K., Peng, B.J., et al.: Benchmarking streaming computation engines: storm, flink and spark streaming. In: IPDPSW, pp. 1789–1792 (2016)Google Scholar
  55. 55.
    Choppy, C., Bertrand, O., Carle, P.: Coloured petri nets for chronicle recognition. In: 14th Ada-Europe International Conference (2009)Google Scholar
  56. 56.
    Cipriani, N., Eissele, M., Brodt, A., Grossmann, M., Mitschang, B.: Nexusds: a flexible and extensible middleware for distributed stream processing. In: IDEAS, pp. 152–161 (2009)Google Scholar
  57. 57.
    Cormode, G., Korn, F., Tirthapura, S.: Time-decaying aggregates in out-of-order streams. In: PODS (2008)Google Scholar
  58. 58.
    Cugola, G., Margara, A.: TESLA: a formally defined event specification language. In: DEBS (2010)Google Scholar
  59. 59.
    Cugola, G., Margara, A.: Complex event processing with T-REX. J. Syst. Softw. 85(8), 1709–1728 (2012)CrossRefGoogle Scholar
  60. 60.
    Cugola, G., Margara, A.: Low latency complex event processing on parallel hardware. J. Parallel Distrib. Comput. 72(2), 205–218 (2012)CrossRefGoogle Scholar
  61. 61.
    Cugola, G., Margara, A.: Processing flows of information: from data stream to complex event processing. ACM Comput. Surv. 44(3), 15:1–15:62 (2012)CrossRefGoogle Scholar
  62. 62.
    Cugola, G., Margara, A.: Deployment strategies for distributed complex event processing. Computing 95(2), 129–156 (2013)CrossRefGoogle Scholar
  63. 63.
    Cugola, G., Margara, A., Matteucci, M., Tamburrelli, G.: Introducing uncertainty in complex event processing: model, implementation, and validation. Computing 97(2), 103–144 (2015)CrossRefGoogle Scholar
  64. 64.
    D’Antoni, L., Veanes, M.: Extended symbolic finite automata and transducers. Form. Methods Syst. Design 47(1), 93–119 (2015)CrossRefzbMATHGoogle Scholar
  65. 65.
    D’Antoni, L., Veanes, M.: The power of symbolic automata and transducers. In: CAV (2017)Google Scholar
  66. 66.
    Demersd, A.J., Gehrke, J., Hong, M., Riedewald, M., White, W.M.: Towards expressive publish/subscribe systems. In: EDBT (2006)Google Scholar
  67. 67.
    Demers, A.J., Gehrke, J., Panda, B., Riedewald, M., Sharma, V., White, W.M.: Cayuga: a general purpose event monitoring system. In: CIDR (2007)Google Scholar
  68. 68.
    Diao, Y., Immerman, N., Gyllstrom, D.: Sase+: an agile language for kleene closure over event streams. UMass Technical Report (2007)Google Scholar
  69. 69.
    Ding, L., Chen, S., Rundensteiner, E.A., Tatemura, J., Hsiung, W., Candan, K.S.: Runtime semantic query optimization for event stream processing. In: ICDE, pp. 676–685 (2008)Google Scholar
  70. 70.
    Dousson, C.: Extending and unifying chronicle representation with event counters. In: ECAI (2002)Google Scholar
  71. 71.
    Dousson, C., Gaborit, P., Ghallab, M.: Situation recognition: Representation and algorithms. In: IJCAI (1993)Google Scholar
  72. 72.
    Dousson, C., Maigat, P.L.: Chronicle recognition improvement using temporal focusing and hierarchization. In: IJCAI (2007)Google Scholar
  73. 73.
    Etzion, O., Niblett, P.: Event Processing in Action. Manning Publications Company, Shelter Island (2010)Google Scholar
  74. 74.
    Fernandez, R.C., Migliavacca, M., Kalyvianaki, E., Pietzuch, P.R.: Integrating scale out and fault tolerance in stream processing using operator state management. In: SIGMOD (2013)Google Scholar
  75. 75.
    Flouris, I., Manikaki, V., Giatrakos, N., Deligiannakis, A., Garofalakis, M.N., Mock, M., Bothe, S., Skarbovsky, I., Fournier, F., Stajcer, M., Krizan, T., Yom-Tov, J., Curin, T.: FERARI: a prototype for complex event processing over streaming multi-cloud platforms. In: SIGMOD, pp. 2093–2096 (2016)Google Scholar
  76. 76.
    Galton, A., Augusto, J.C.: Two approaches to event definition. In: Database and Expert Systems Applications DEXA (2002)Google Scholar
  77. 77.
    Garofalakis, M.N., Gehrke, J., Rastogi, R. (eds.): Data Stream Management-Processing High-Speed Data Streams (Data-Centric Systems and Applications). Springer, Berlin (2016)Google Scholar
  78. 78.
    Gedik, B., Andrade, H., Wu, K.-L., Yu, P.S., Doo, M.: Spade: the system s declarative stream processing engine. In: SIGMOD, pp. 1123–1134 (2008)Google Scholar
  79. 79.
    Ghallab, M.: On chronicles: representation, on-line recognition and learning. In: KR (1996)Google Scholar
  80. 80.
    Ghezzi, C., Mandrioli, D., Morzenti, A.: TRIO: a logic language for executable specifications of real-time systems. J. Syst. Softw. 12(2), 107–123 (1990)CrossRefGoogle Scholar
  81. 81.
    Giatrakos, N., Artikis, A., Deligiannakis, A., Garofalakis, M.N.: Complex event recognition in the big data era. PVLDB 10(12), 1996–1999 (2017)Google Scholar
  82. 82.
    Gonzalez, J.E., Low, Y., Gu, H., Bickson, D., Guestrin, C.: Powergraph: distributed graph-parallel computation on natural graphs. In: OSDI, pp. 17–30 (2012)Google Scholar
  83. 83.
    Gonzalez, J.E., Xin, R.S., Dave, A., Crankshaw, D., Franklin, M.J., Stoica, I.: Graphx: graph processing in a distributed dataflow framework. In: OSDI, pp. 599–613 (2014)Google Scholar
  84. 84.
    Google: Google Cloud Platform Pricing Calculator. https://cloud.google.com/products/calculator/. Accessed 31 March 2019
  85. 85.
    Grez, A., Riveros, C., Ugarte, M.: A formal framework for complex event processing. In: ICDT (2019)Google Scholar
  86. 86.
    Gulisano, V., Jiménez-Peris, R., Patiño-Martínez, M., Soriente, C., Valduriez, P.: Streamcloud: an elastic and scalable data streaming system. IEEE Trans. Parallel Distrib. Syst. 23(12), 2351–2365 (2012)CrossRefGoogle Scholar
  87. 87.
    Gyllstrom, D., Wu, E., Chae, H., Diao, Y., Stahlberg, P., Anderson, G.: SASE: complex event processing over streams (demo). In: CIDR (2007)Google Scholar
  88. 88.
    Hallé, S.: From complex event processing to simple event processing (2017). CoRR arXiv:1702.08051
  89. 89.
    Hedtstück, U.: Complex Event Processing: Verarbeitung von Ereignismustern in Datenströmen. Springer Vieweg, Berlin (2017)CrossRefGoogle Scholar
  90. 90.
    Heinze, T., Jerzak, Z., Hackenbroich, G., Fetzer, C.: Latency-aware elastic scaling for distributed data stream processing systems. In: DEBS, pp. 13–22 (2014)Google Scholar
  91. 91.
    Heinze, T., Ji, Y., Pan, Y., Grüneberger, F.J., Jerzak, Z., Fetzer, C.: Elastic complex event processing under varying query load. In: BD3@VLDB, volume 1018 of CEUR Workshop Proceedings, pp. 25–30. CEUR-WS.org (2013)Google Scholar
  92. 92.
    Heinze, T., Ji, Y., Roediger, L., Pappalardo, V., Meister, A., Jerzak, Z., Fetzer, C.: FUGU: elastic data stream processing with latency constraints. IEEE Data Eng. Bull. 38(4), 73–81 (2015)Google Scholar
  93. 93.
    Heinze, T., Pappalardo, V., Jerzak, Z., Fetzer, C.: Auto-scaling techniques for elastic data stream processing. In: DEBS, pp. 318–321 (2014)Google Scholar
  94. 94.
    Hirzel, M.: Partition and compose: parallel complex event processing. In: DEBS, pp. 191–200 (2012)Google Scholar
  95. 95.
    Hopcroft, J., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation. Pearson/Addison Wesley, Boston (2007)zbMATHGoogle Scholar
  96. 96.
    Ji, Y., Zhou, H., Jerzak, Z., Nica, A., Hackenbroich, G., Fetzer, C.: Quality-driven processing of sliding window aggregates over out-of-order data streams. In: DEBS, pp. 68–79 (2015)Google Scholar
  97. 97.
    Kalyvianaki, E., Wiesemann, W., Vu, Q.H., Kuhn, D., Pietzuch, P.: Sqpr: stream query planning with reuse. In: ICDE, pp. 840–851 (2011)Google Scholar
  98. 98.
    Kaminski, M., Francez, N.: Finite-memory automata. Theor. Comput. Sci. 134(2), 329–363 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  99. 99.
    Karimov, J., Rabl, T., Katsifodimos, A., Samarev, R., Heiskanen, H., Markl, V.: Benchmarking distributed stream data processing systems. In: ICDE, pp. 1507–1518 (2018)Google Scholar
  100. 100.
    Katzouris, N., Artikis, A., Paliouras, G.: Online learning of event definitions. TPLP 16(5–6), 817–833 (2016)MathSciNetzbMATHGoogle Scholar
  101. 101.
    Katzouris, N., Artikis, A., Paliouras, G.: Parallel online event calculus learning for complex event recognition. Future Gener. Comput. Syst. 94, 468–478 (2019)CrossRefzbMATHGoogle Scholar
  102. 102.
    Kawashima, H., Kitagawa, H., Li, X.L: Complex event processing over uncertain data streams. In: PGCIC, pp. 1–526 (2010)Google Scholar
  103. 103.
    Koch, G.G., Koldehofe, B., Rothermel. K.: Cordies: expressive event correlation in distributed systems. In: EBS (2010)Google Scholar
  104. 104.
    Kolchinsky, I., Sharfman, I., Schuster, A.: Lazy evaluation methods for detecting complex events. In: DEBS (2015)Google Scholar
  105. 105.
    Kowalski, R.A., Sergot, M.J.: A logic-based calculus of events. New Gener. Comput. 4(1), 67–95 (1986)CrossRefzbMATHGoogle Scholar
  106. 106.
    Kumar, V., Cooper, B.F., Schwan, K.: Distributed stream management using utility-driven self-adaptive middleware. In: ICAC, pp. 3–14 (2005)Google Scholar
  107. 107.
    Lee, O., Jung, J.E.: Sequence clustering-based automated rule generation for adaptive complex event processing. Future Gener. Comput. Syst. 66, 100–109 (2017)CrossRefGoogle Scholar
  108. 108.
    Lei, C., Rundensteiner, E.A.: Robust distributed query processing for streaming data. ACM Trans. Database Syst. 39(2), 17:1–17:45 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  109. 109.
    Li, C., Gu, Y., Yu, G., Hong, B.: Aggressive complex event processing with confidence over out-of-order streams. J. Comput. Sci. Technol. 26(4), 685–696 (2011)CrossRefGoogle Scholar
  110. 110.
    Li, G., Jacobsen, H.: Composite subscriptions in content-based publish/subscribe systems. In: Middleware (2005)Google Scholar
  111. 111.
    Li, Z., Ge, T.: History is a mirror to the future: best-effort approximate complex event matching with insufficient resources. PVLDB 10(4), 397–408 (2016)Google Scholar
  112. 112.
    Liu, H., Jacobsen, H.: Modeling uncertainties in publish/subscribe systems. In: ICDE, pp. 510–521 (2004)Google Scholar
  113. 113.
    Liu, M., Li, M., Golovnya, D., Rundensteiner, E.A., Claypool, K.T.: Sequence pattern query processing over out-of-order event streams. In: ICDE (2009)Google Scholar
  114. 114.
    Liu, M., Rundensteiner, E.A., Greenfield, K., Gupta, C., Wang, S., Ari, I., Mehta, A.: E-cube: multi-dimensional event sequence analysis using hierarchical pattern query sharing. In: SIGMOD (2011)Google Scholar
  115. 115.
    Lolos, K., Konstantinou, I., Kantere, V., Koziris, N.: Elastic management of cloud applications using adaptive reinforcement learning. In: Big Data (2017)Google Scholar
  116. 116.
    Lu, R., Wu, G., Xie, B., Hu, J.: Stream bench: Towards benchmarking modern distributed stream computing frameworks. In: UCC, pp. 69–78 (2014)Google Scholar
  117. 117.
    Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley, Boston (2001)Google Scholar
  118. 118.
    Margara, A., Cugola, G., Tamburrelli, G.: Learning from the past: automated rule generation for complex event processing. In: DEBS, pp. 47–58. ACM (2014)Google Scholar
  119. 119.
    Mayer, R., Koldehofe, B., Rothermel, K.: Predictable low-latency event detection with parallel complex event processing. IEEE Internet Things J. 2(4), 274–286 (2015)CrossRefGoogle Scholar
  120. 120.
    Mayer, R., Mayer, C., Tariq, M.A., Rothermel, K.: Graphcep: real-time data analytics using parallel complex event and graph processing. In: DEBS, pp. 309–316 (2016)Google Scholar
  121. 121.
    Mayer, R., Slo, A., Tariq, M.A., Rothermel, K., Gräber, M., Ramachandran, U.: SPECTRE: supporting consumption policies in window-based parallel complex event processing. In: Middleware, pp. 161–173 (2017)Google Scholar
  122. 122.
    Mayer, R., Tariq, M.A., Rothermel, K.: Minimizing communication overhead in window-based parallel complex event processing. In: DEBS, pp. 54–65 (2017)Google Scholar
  123. 123.
    Mei, Y., Madden, S.: Zstream: a cost-based query processor for adaptively detecting composite events. In: SIGMOD (2009)Google Scholar
  124. 124.
    Mendes, M., Bizarro, P., Marques, P.: Towards a standard event processing benchmark. In: Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, pp. 307–310. ACM (2013)Google Scholar
  125. 125.
    Microsoft. Bandwidth Pricing Details. https://azure.microsoft.com/en-us/pricing/details/bandwidth/. Accessed 31 March 2019
  126. 126.
    Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  127. 127.
    Mutschler, C., Philippsen, M.: Adaptive speculative processing of out-of-order event streams. ACM Trans. Internet Technol. 14(1), 4:1–4:24 (2014)CrossRefGoogle Scholar
  128. 128.
    Paschke, A.: Eca-ruleml: an approach combining ECA rules with temporal interval-based KR event/action logics and transactional update logics (2006). CoRR, abs/cs/0610167Google Scholar
  129. 129.
    Paschke, A., Bichler, M.: Knowledge representation concepts for automated SLA management. Decis. Support Syst. 46(1), 187–205 (2008)CrossRefGoogle Scholar
  130. 130.
    Patroumpas, K., Alevizos, E., Artikis, A., Vodas, M., Pelekis, N., Theodoridis, Y.: Online event recognition from moving vessel trajectories. GeoInformatica 21(2), 389–427 (2017)CrossRefGoogle Scholar
  131. 131.
    Pietzuch, P.: How event-based systems took over the world. In: DEBS (2016). https://www.ics.uci.edu/~debs2016/ebs-prp-debs16.pdf. Keynote Speech. Accessed 31 March 2019
  132. 132.
    Pietzuch, P., Ledlie, J., Shneidman, J., Roussopoulos, M., Welsh, M., Seltzer, M.: Network-aware operator placement for stream-processing systems. In: ICDE (2006)Google Scholar
  133. 133.
    Pietzuch, P.R., Shand, B., Bacon, J.: A framework for event composition in distributed systems. In: Middleware (2003)Google Scholar
  134. 134.
    Przymusinski, T.C.: On the declarative semantics of deductive databases and logic programs. In: Minker, J. (ed.) Foundations of Deductive Databases and Logic Programming, pp. 193–216. Morgan Kaufmann, Burlington (1988)CrossRefGoogle Scholar
  135. 135.
    Pu, Q., Ananthanarayanan, G., Bodik, P., Kandula, S., Akella, A., Bahl, P., Stoica, I.: Low latency geo-distributed data analytics. In: SIGCOMM, New York, NY, USA, pp. 421–434 (2015)Google Scholar
  136. 136.
    Rabkin, A., Arye, M., Sen, S., Pai, V.S., Freedman, M.J.: Aggregation and degradation in jetstream: streaming analytics in the wide area. In: NSDI, pp. 275–288 (2014)Google Scholar
  137. 137.
    Ray, M., Lei, C., Rundensteiner, E.A.: Scalable pattern sharing on event streams. In: SIGMOD, pp. 495–510 (2016)Google Scholar
  138. 138.
    Ré, C., Letchner, J., Balazinska, M., Suciu, D.: Event queries on correlated probabilistic streams. In: SIGMOD, pp. 715–728 (2008)Google Scholar
  139. 139.
    Repantis, T., Gu, X., Kalogeraki, V.: Synergy: sharing-aware component composition for distributed stream processing systems. In: Middleware, pp. 322–341 (2006)Google Scholar
  140. 140.
    Rivetti, N., Zacheilas, N., Gal, A., Kalogeraki, V.: Probabilistic management of late arrival of events. In: DEBS (2018)Google Scholar
  141. 141.
    Rizou, S.: Concepts and Algorithms for Efficient Distributed Processing of Data Streams. University of Stuttgart, Stuttgart (2013)Google Scholar
  142. 142.
    Schilling, B., Koldehofe, B., Rothermel, K.: Efficient and distributed rule placement in heavy constraint-driven event systems. In: HPCC, pp. 355–364 (2011)Google Scholar
  143. 143.
    Schultz-Møller, N.P., Migliavacca, M., Pietzuch, P.R.: Distributed complex event processing with query rewriting. In: DEBS (2009)Google Scholar
  144. 144.
    Selman, J., Amer, M.R., Fern, A., Todorovic, S.: PEL-CNF: probabilistic event logic conjunctive normal form for video interpretation. In: ICCVW, pp. 680–687 (2011)Google Scholar
  145. 145.
    Skarlatidis, A., Paliouras, G., Artikis, A., Vouros, G.A.: Probabilistic event calculus for event recognition. ACM Trans. Comput. Log. 16(2), 11:1–11:37 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  146. 146.
    Skarlatidis, A., Paliouras, G., Vouros, G.A., Artikis, A.: Probabilistic event calculus based on markov logic networks. In: RuleML 2011, pp. 155–170 (2011)Google Scholar
  147. 147.
    Veanes, M., de Halleux, P., Tillmann, N.: Rex: symbolic regular expression explorer. In: ICST (2010)Google Scholar
  148. 148.
    Vulimiri, A., Curino, C., Godfrey, P.B., Jungblut, T., Padhye, J., Varghese, G.: Global analytics in the face of bandwidth and regulatory constraints. In: NSDI, pp. 323–336 (2015)Google Scholar
  149. 149.
    Wang, J., Song, S., Zhu, X., Lin, X.: Efficient recovery of missing events. PVLDB 6(10), 841–852 (2013)Google Scholar
  150. 150.
    Wang, Y.H., Cao, K., Zhang, X.M.: Complex event processing over distributed probabilistic event streams. Comput. Math. Appl. 66(10), 1808–1821 (2013)CrossRefzbMATHGoogle Scholar
  151. 151.
    Wasserkrug, S., Gal, A., Etzion, O., Turchin, Y.: Complex event processing over uncertain data. DEBS 332, 253–264 (2008)CrossRefGoogle Scholar
  152. 152.
    Weidlich, M., Ziekow, H., Gal, A., Mendling, J., Weske, M.: Optimizing event pattern matching using business process models. IEEE Trans. Knowl. Data Eng. 26(11), 2759–2773 (2014)CrossRefGoogle Scholar
  153. 153.
    Wilkin, G.A., Eugster, P., Jayaram, K.R.: Decentralized fault-tolerant event correlation. ACM Trans. Internet Technol. 14(1), 5:1–5:27 (2014)CrossRefGoogle Scholar
  154. 154.
    Wolf, J., Bansal, N., Hildrum, K., Parekh, S., Rajan, D., Wagle, R., Wu, K.-L., Fleischer, L.: Soda: an optimizing scheduler for large-scale stream-based distributed computer systems. In: Middleware, pp. 306–325 (2008)Google Scholar
  155. 155.
    Woods, L., Teubner, J., Alonso, G.: Complex event detection at wire speed with FPGAs. PVLDB 3(1), 660–669 (2010)Google Scholar
  156. 156.
    WSO2. Creating a Storm Based Distributed Execution Plan. https://docs.wso2.com/display/CEP410/Creating+a+Storm+Based+Distributed+Execution+Plan. Accessed 31 March 2019
  157. 157.
    Wu, E., Diao, Y., Rizvi, S.: High-performance complex event processing over streams. In: SIGMOD (2006)Google Scholar
  158. 158.
    Zacheilas, N., Kalogeraki, V., Zygouras, N., Panagiotou, N., Gunopulos. D.: Elastic complex event processing exploiting prediction. In: Big Data, pp. 213–222 (2015)Google Scholar
  159. 159.
    Zacheilas, N., Zygouras, N., Panagiotou, N., Kalogeraki, V., Gunopulos, D.: Dynamic load balancing techniques for distributed complex event processing systems. In: DAIS (2016)Google Scholar
  160. 160.
    Zeitler, E., Risch, T.: Massive scale-out of expensive continuous queries. PVLDB 4(11), 1181–1188 (2011)Google Scholar
  161. 161.
    Zhang, H., Diao, Y., Immerman, N.: Recognizing patterns in streams with imprecise timestamps. PVLDB 3(1), 244–255 (2010)Google Scholar
  162. 162.
    Zhang, H., Diao, Y., Immerman, N.: On complexity and optimization of expensive queries in complex event processing. In: SIGMOD, pp. 217–228 (2014)Google Scholar
  163. 163.
    Zimmer, D., Unland, R.: On the semantics of complex events in active database management systems. In: ICDE (1999)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Athena Research and Innovation CenterMarousiGreece
  2. 2.Technical University of CreteChaniaGreece
  3. 3.National and Kapodistrian University of AthensAthensGreece
  4. 4.National Centre for Scientific Research DemokritosAthensGreece
  5. 5.University of PiraeusPiraeusGreece

Personalised recommendations