Skip to main content
Log in

Complex event recognition in the Big Data era: a survey

The VLDB Journal Aims and scope Submit manuscript

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.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23

Notes

  1. http://www.espertech.com/esper/esper-faq/#benchmarks.

References

  1. Apache Flink v. 1.7. https://flink.apache.org/. Accessed 31 March 2019

  2. Apache FlinkCEP. https://ci.apache.org/projects/flink/flink-docs-stable/dev/libs/cep.html. Accessed 31 March 2019

  3. Apache Flume. https://flume.apache.org/. Accessed 31 March 2019

  4. Apache Kafka. https://kafka.apache.org/. Accessed 31 March 2019

  5. Apache Spark Streaming. https://spark.apache.org/docs/latest/streaming-programming-guide.html. Accessed 31 March 2019

  6. Apache Spark Structured Streaming. https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html. Accessed 31 March 2019

  7. Apache Spark v. 2.4.0. https://spark.apache.org/. Accessed 31 March 2019

  8. Apache Storm v. 2.0.0. http://storm.apache.org/. Accessed 31 March 2019

  9. Bringing complex event processing to spark streaming. https://www.youtube.com/watch?v=naCRk9wAd6g. Accessed 31 March 2019

  10. CUDA Zone. https://developer.nvidia.com/cuda-zone. Accessed 31 March 2019

  11. Esper. http://www.espertech.com/esper. Accessed 31 March 2019

  12. Esperonstorm. https://github.com/tomdz/storm-esper. Accessed 31 March 2019

  13. Ibm proactive technology online. https://github.com/ishkin/Proton/tree/master/IBM. Accessed 31 March 2019

  14. Ibm proactive technology online on storm. https://github.com/ishkin/Proton/tree/master/IBM. Accessed 31 March 2019

  15. Jess, the rule engine for the java platform. https://www.jessrules.com/jess/docs/71/. Accessed 31 March 2019

  16. Oracle cep cql language reference. https://docs.oracle.com/cd/E16764_01/doc.1111/e12048/intro.htm. Accessed 31 March 2019

  17. Sase source code. https://github.com/haopeng/sase/. Accessed 31 March 2019

  18. Siddhi CEP. https://github.com/wso2/siddhi. Accessed 31 March 2019

  19. Storm compatibility beta. https://ci.apache.org/projects/flink/flink-docs-stable/dev/libs/storm_compatibility.html. Accessed 31 March 2019

  20. Stratio Decision. https://github.com/Stratio/Decision. Accessed 31 March 2019

  21. Agrawal, J., Diao, Y., Gyllstrom, D., Immerman, N.: Efficient pattern matching over event streams. In: SIGMOD (2008)

  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)

  23. Ahmad, Y., Çetintemel, U.: Network-aware query processing for stream-based applications. In: VLDB, pp. 456–467 (2004)

    Google Scholar 

  24. Akdere, M., Çetintemel, U., Tatbul, N.: Plan-based complex event detection across distributed sources. PVLDB 1(1), 66–77 (2008)

    Google Scholar 

  25. Alevizos, E., Artikis, A., Paliouras, G.: Event forecasting with pattern markov chains. In: DEBS, pp. 146–157 (2017)

  26. Alevizos, E., Artikis, A., Paliouras, G.: Wayeb: a tool for complex event forecasting. In: LPAR (2018)

  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)

    Google Scholar 

  28. Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26(11), 832–843 (1983)

    MATH  Google Scholar 

  29. Allen, J.F.: Towards a general theory of action and time. Artif. Intell. 23(2), 123–154 (1984)

    MATH  Google Scholar 

  30. Amazon. Cloud Services Pricing—Amazon Web Services (AWS). https://aws.amazon.com/pricing/services/. Accessed 31 March 2019

  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)

  32. Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. VLDB J. 15(2), 121–142 (2006)

    Google Scholar 

  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. Artikis, A., Margara, A., Ugarte, M., Vansummeren, S., Weidlich, M.: Complex event recognition languages: tutorial. In: DEBS (2017)

  35. Artikis, A., Sergot, M.J., Paliouras, G.: An event calculus for event recognition. IEEE Trans. Knowl. Data Eng. 27(4), 895–908 (2015)

    Google Scholar 

  36. Artikis, A., Skarlatidis, A., Portet, F., Paliouras, G.: Logic-based event recognition. Knowl. Eng. Rev. 27(4), 469–506 (2012)

    Google Scholar 

  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)

    Google Scholar 

  38. Balazinska, M., Kwon, Y., Kuchta, N., Lee, D.: Moirae: History-enhanced monitoring. In: CIDR, pp. 375–386 (2007)

  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)

  40. Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.E.: Quantified event automata: Towards expressive and efficient runtime monitors. In: FM (2012)

  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)

  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)

    Google Scholar 

  43. Brendel, W., Fern, A., Todorovic, S.: Probabilistic event logic for interval-based event recognition. In: CVPR, pp. 3329–3336 (2011)

  44. Brenna, L., Gehrke, J., Hong, M., Johansen, D.: Distributed event stream processing with non-deterministic finite automata. In: DEBS (2009)

  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)

  46. Cardellini, V., Grassi, V., Lo Presti, F., Nardelli, M.: Optimal operator placement for distributed stream processing applications. In: DEBS, pp. 69–80 (2016)

  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)

    Google Scholar 

  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)

    Google Scholar 

  49. Cervesato, I., Montanari, A.: A calculus of macro-events: Progress report. In: TIME (2000)

  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. Chandramouli, B., Goldstein, J., Maier, D.: High-performance dynamic pattern matching over disordered streams. PVLDB 3(1), 220–231 (2010)

    Google Scholar 

  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)

  53. Chen, F., Rosu, G.: Parametric trace slicing and monitoring. In: TACAS (2009)

  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)

  55. Choppy, C., Bertrand, O., Carle, P.: Coloured petri nets for chronicle recognition. In: 14th Ada-Europe International Conference (2009)

  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)

  57. Cormode, G., Korn, F., Tirthapura, S.: Time-decaying aggregates in out-of-order streams. In: PODS (2008)

  58. Cugola, G., Margara, A.: TESLA: a formally defined event specification language. In: DEBS (2010)

  59. Cugola, G., Margara, A.: Complex event processing with T-REX. J. Syst. Softw. 85(8), 1709–1728 (2012)

    Google Scholar 

  60. Cugola, G., Margara, A.: Low latency complex event processing on parallel hardware. J. Parallel Distrib. Comput. 72(2), 205–218 (2012)

    Google Scholar 

  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)

    Google Scholar 

  62. Cugola, G., Margara, A.: Deployment strategies for distributed complex event processing. Computing 95(2), 129–156 (2013)

    Google Scholar 

  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)

    Google Scholar 

  64. D’Antoni, L., Veanes, M.: Extended symbolic finite automata and transducers. Form. Methods Syst. Design 47(1), 93–119 (2015)

    MATH  Google Scholar 

  65. D’Antoni, L., Veanes, M.: The power of symbolic automata and transducers. In: CAV (2017)

    Google Scholar 

  66. Demersd, A.J., Gehrke, J., Hong, M., Riedewald, M., White, W.M.: Towards expressive publish/subscribe systems. In: EDBT (2006)

  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)

  68. Diao, Y., Immerman, N., Gyllstrom, D.: Sase+: an agile language for kleene closure over event streams. UMass Technical Report (2007)

  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)

  70. Dousson, C.: Extending and unifying chronicle representation with event counters. In: ECAI (2002)

  71. Dousson, C., Gaborit, P., Ghallab, M.: Situation recognition: Representation and algorithms. In: IJCAI (1993)

  72. Dousson, C., Maigat, P.L.: Chronicle recognition improvement using temporal focusing and hierarchization. In: IJCAI (2007)

  73. Etzion, O., Niblett, P.: Event Processing in Action. Manning Publications Company, Shelter Island (2010)

    Google Scholar 

  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)

  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)

  76. Galton, A., Augusto, J.C.: Two approaches to event definition. In: Database and Expert Systems Applications DEXA (2002)

    Google Scholar 

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

  79. Ghallab, M.: On chronicles: representation, on-line recognition and learning. In: KR (1996)

  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)

    Google Scholar 

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

  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)

  84. Google: Google Cloud Platform Pricing Calculator. https://cloud.google.com/products/calculator/. Accessed 31 March 2019

  85. Grez, A., Riveros, C., Ugarte, M.: A formal framework for complex event processing. In: ICDT (2019)

  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)

    Google Scholar 

  87. Gyllstrom, D., Wu, E., Chae, H., Diao, Y., Stahlberg, P., Anderson, G.: SASE: complex event processing over streams (demo). In: CIDR (2007)

  88. Hallé, S.: From complex event processing to simple event processing (2017). CoRR arXiv:1702.08051

  89. Hedtstück, U.: Complex Event Processing: Verarbeitung von Ereignismustern in Datenströmen. Springer Vieweg, Berlin (2017)

    Google Scholar 

  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)

  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)

  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. Heinze, T., Pappalardo, V., Jerzak, Z., Fetzer, C.: Auto-scaling techniques for elastic data stream processing. In: DEBS, pp. 318–321 (2014)

  94. Hirzel, M.: Partition and compose: parallel complex event processing. In: DEBS, pp. 191–200 (2012)

  95. Hopcroft, J., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation. Pearson/Addison Wesley, Boston (2007)

    MATH  Google Scholar 

  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)

  97. Kalyvianaki, E., Wiesemann, W., Vu, Q.H., Kuhn, D., Pietzuch, P.: Sqpr: stream query planning with reuse. In: ICDE, pp. 840–851 (2011)

  98. Kaminski, M., Francez, N.: Finite-memory automata. Theor. Comput. Sci. 134(2), 329–363 (1994)

    MathSciNet  MATH  Google Scholar 

  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)

  100. Katzouris, N., Artikis, A., Paliouras, G.: Online learning of event definitions. TPLP 16(5–6), 817–833 (2016)

    MathSciNet  MATH  Google Scholar 

  101. Katzouris, N., Artikis, A., Paliouras, G.: Parallel online event calculus learning for complex event recognition. Future Gener. Comput. Syst. 94, 468–478 (2019)

    MATH  Google Scholar 

  102. Kawashima, H., Kitagawa, H., Li, X.L: Complex event processing over uncertain data streams. In: PGCIC, pp. 1–526 (2010)

  103. Koch, G.G., Koldehofe, B., Rothermel. K.: Cordies: expressive event correlation in distributed systems. In: EBS (2010)

  104. Kolchinsky, I., Sharfman, I., Schuster, A.: Lazy evaluation methods for detecting complex events. In: DEBS (2015)

  105. Kowalski, R.A., Sergot, M.J.: A logic-based calculus of events. New Gener. Comput. 4(1), 67–95 (1986)

    MATH  Google Scholar 

  106. Kumar, V., Cooper, B.F., Schwan, K.: Distributed stream management using utility-driven self-adaptive middleware. In: ICAC, pp. 3–14 (2005)

  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)

    Google Scholar 

  108. Lei, C., Rundensteiner, E.A.: Robust distributed query processing for streaming data. ACM Trans. Database Syst. 39(2), 17:1–17:45 (2014)

    MathSciNet  MATH  Google Scholar 

  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)

    Google Scholar 

  110. Li, G., Jacobsen, H.: Composite subscriptions in content-based publish/subscribe systems. In: Middleware (2005)

  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. Liu, H., Jacobsen, H.: Modeling uncertainties in publish/subscribe systems. In: ICDE, pp. 510–521 (2004)

  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)

  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)

  115. Lolos, K., Konstantinou, I., Kantere, V., Koziris, N.: Elastic management of cloud applications using adaptive reinforcement learning. In: Big Data (2017)

  116. Lu, R., Wu, G., Xie, B., Hu, J.: Stream bench: Towards benchmarking modern distributed stream computing frameworks. In: UCC, pp. 69–78 (2014)

  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. Margara, A., Cugola, G., Tamburrelli, G.: Learning from the past: automated rule generation for complex event processing. In: DEBS, pp. 47–58. ACM (2014)

  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)

    Google Scholar 

  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)

  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)

  122. Mayer, R., Tariq, M.A., Rothermel, K.: Minimizing communication overhead in window-based parallel complex event processing. In: DEBS, pp. 54–65 (2017)

  123. Mei, Y., Madden, S.: Zstream: a cost-based query processor for adaptively detecting composite events. In: SIGMOD (2009)

  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)

  125. Microsoft. Bandwidth Pricing Details. https://azure.microsoft.com/en-us/pricing/details/bandwidth/. Accessed 31 March 2019

  126. Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)

    Google Scholar 

  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)

    Google Scholar 

  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/0610167

  129. Paschke, A., Bichler, M.: Knowledge representation concepts for automated SLA management. Decis. Support Syst. 46(1), 187–205 (2008)

    Google Scholar 

  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)

    Google Scholar 

  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. Pietzuch, P., Ledlie, J., Shneidman, J., Roussopoulos, M., Welsh, M., Seltzer, M.: Network-aware operator placement for stream-processing systems. In: ICDE (2006)

  133. Pietzuch, P.R., Shand, B., Bacon, J.: A framework for event composition in distributed systems. In: Middleware (2003)

  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)

    Google Scholar 

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

  137. Ray, M., Lei, C., Rundensteiner, E.A.: Scalable pattern sharing on event streams. In: SIGMOD, pp. 495–510 (2016)

  138. Ré, C., Letchner, J., Balazinska, M., Suciu, D.: Event queries on correlated probabilistic streams. In: SIGMOD, pp. 715–728 (2008)

  139. Repantis, T., Gu, X., Kalogeraki, V.: Synergy: sharing-aware component composition for distributed stream processing systems. In: Middleware, pp. 322–341 (2006)

  140. Rivetti, N., Zacheilas, N., Gal, A., Kalogeraki, V.: Probabilistic management of late arrival of events. In: DEBS (2018)

  141. Rizou, S.: Concepts and Algorithms for Efficient Distributed Processing of Data Streams. University of Stuttgart, Stuttgart (2013)

    Google Scholar 

  142. Schilling, B., Koldehofe, B., Rothermel, K.: Efficient and distributed rule placement in heavy constraint-driven event systems. In: HPCC, pp. 355–364 (2011)

  143. Schultz-Møller, N.P., Migliavacca, M., Pietzuch, P.R.: Distributed complex event processing with query rewriting. In: DEBS (2009)

  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)

  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)

    MathSciNet  MATH  Google Scholar 

  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. Veanes, M., de Halleux, P., Tillmann, N.: Rex: symbolic regular expression explorer. In: ICST (2010)

  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)

  149. Wang, J., Song, S., Zhu, X., Lin, X.: Efficient recovery of missing events. PVLDB 6(10), 841–852 (2013)

    Google Scholar 

  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)

    MATH  Google Scholar 

  151. Wasserkrug, S., Gal, A., Etzion, O., Turchin, Y.: Complex event processing over uncertain data. DEBS 332, 253–264 (2008)

    Google Scholar 

  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)

    Google Scholar 

  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)

    Google Scholar 

  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. Woods, L., Teubner, J., Alonso, G.: Complex event detection at wire speed with FPGAs. PVLDB 3(1), 660–669 (2010)

    Google Scholar 

  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. Wu, E., Diao, Y., Rizvi, S.: High-performance complex event processing over streams. In: SIGMOD (2006)

  158. Zacheilas, N., Kalogeraki, V., Zygouras, N., Panagiotou, N., Gunopulos. D.: Elastic complex event processing exploiting prediction. In: Big Data, pp. 213–222 (2015)

  159. Zacheilas, N., Zygouras, N., Panagiotou, N., Kalogeraki, V., Gunopulos, D.: Dynamic load balancing techniques for distributed complex event processing systems. In: DAIS (2016)

  160. Zeitler, E., Risch, T.: Massive scale-out of expensive continuous queries. PVLDB 4(11), 1181–1188 (2011)

    Google Scholar 

  161. Zhang, H., Diao, Y., Immerman, N.: Recognizing patterns in streams with imprecise timestamps. PVLDB 3(1), 244–255 (2010)

    Google Scholar 

  162. Zhang, H., Diao, Y., Immerman, N.: On complexity and optimization of expensive queries in complex event processing. In: SIGMOD, pp. 217–228 (2014)

  163. Zimmer, D., Unland, R.: On the semantics of complex events in active database management systems. In: ICDE (1999)

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nikos Giatrakos.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Giatrakos, N., Alevizos, E., Artikis, A. et al. Complex event recognition in the Big Data era: a survey. The VLDB Journal 29, 313–352 (2020). https://doi.org/10.1007/s00778-019-00557-w

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-019-00557-w

Keywords

Navigation