Procesamiento de eventos complejos

El procesamiento de eventos es un método para rastrear y analizar (procesar) flujos de información (datos) sobre cosas que suceden (eventos), [1] y derivar una conclusión a partir de ellos. El procesamiento de eventos complejos ( CEP ) consiste en un conjunto de conceptos y técnicas desarrollados a principios de la década de 1990 para procesar eventos en tiempo real y extraer información de flujos de eventos a medida que llegan. El objetivo del procesamiento de eventos complejos es identificar eventos significativos (como oportunidades o amenazas) [2] en situaciones en tiempo real y responder a ellos lo más rápido posible.

Estos eventos pueden estar sucediendo en las distintas capas de una organización, como oportunidades de venta, pedidos o llamadas de servicio al cliente . O pueden ser noticias, [3] mensajes de texto , publicaciones en redes sociales , procesos comerciales (como la cadena de suministro), informes de tráfico , informes meteorológicos u otros tipos de datos. [1] Un evento también puede definirse como un "cambio de estado", cuando una medición excede un umbral predefinido de tiempo, temperatura u otro valor.

Los analistas han sugerido que el CEP brindará a las organizaciones una nueva forma de analizar patrones en tiempo real y ayudará al lado comercial a comunicarse mejor con los departamentos de TI y de servicio. [4] Desde entonces, el CEP se ha convertido en una tecnología habilitadora en muchos sistemas que se utilizan para tomar medidas inmediatas en respuesta a flujos entrantes de eventos. Ahora se pueden encontrar aplicaciones (2018) en muchos sectores comerciales, incluidos los sistemas de negociación del mercado de valores, los dispositivos móviles , las operaciones de Internet, la detección de fraudes , la industria del transporte y la recopilación de inteligencia gubernamental .

La gran cantidad de información disponible sobre eventos a veces se denomina “nube de eventos”. [1]

Descripción conceptual

Entre miles de eventos entrantes, un sistema de monitoreo puede, por ejemplo, recibir los tres siguientes de la misma fuente:

  1. campanas de la iglesia sonando
  2. la aparición de un hombre con un esmoquin y una mujer con un vestido blanco suelto.
  3. Arroz volando por el aire.

A partir de estos eventos, el sistema de monitoreo puede inferir un evento complejo : una boda. El CEP como técnica ayuda a descubrir eventos complejos analizando y correlacionando otros eventos: [5] las campanas, el hombre y la mujer en traje de boda y el arroz volando por el aire.

El CEP se basa en una serie de técnicas, [6] entre las que se incluyen:

Existen aplicaciones comerciales de CEP en una variedad de industrias e incluyen la detección de fraudes con tarjetas de crédito , el monitoreo de la actividad comercial y el monitoreo de seguridad. [7]

Historia

El área CEP tiene raíces en la simulación de eventos discretos , el área de bases de datos activas y algunos lenguajes de programación. La actividad en la industria fue precedida por una ola de proyectos de investigación en la década de 1990. Según [8] el primer proyecto que allanó el camino hacia un lenguaje CEP genérico y un modelo de ejecución fue el proyecto Rapide en la Universidad de Stanford , dirigido por David Luckham . En paralelo ha habido otros dos proyectos de investigación: Infospheres en el Instituto de Tecnología de California , dirigido por K. Mani Chandy , y Apama en la Universidad de Cambridge dirigido por John Bates. Los productos comerciales dependían de los conceptos desarrollados en estos y algunos proyectos de investigación posteriores. Los esfuerzos de la comunidad comenzaron en una serie de simposios de procesamiento de eventos organizados por la Sociedad Técnica de Procesamiento de Eventos , y más tarde por la serie de conferencias ACM DEBS. Uno de los esfuerzos de la comunidad fue producir el manifiesto de procesamiento de eventos. [9]

CEP se utiliza en productos de inteligencia operativa (OI) para proporcionar información sobre las operaciones comerciales mediante la ejecución de análisis de consultas en relación con transmisiones en vivo y datos de eventos. OI recopila datos en tiempo real y los correlaciona con datos históricos para proporcionar información y análisis. Se pueden combinar múltiples fuentes de datos para proporcionar una imagen operativa común que utilice información actual.

En la gestión de redes , sistemas , aplicaciones y servicios , la gente suele referirse a la correlación de eventos . Como motores CEP, los motores de correlación de eventos ( correladores de eventos ) analizan una masa de eventos, identifican los más significativos y desencadenan acciones. Sin embargo, la mayoría de ellos no producen nuevos eventos inferidos. En cambio, relacionan eventos de alto nivel con eventos de bajo nivel. [10]

Los motores de inferencia , por ejemplo, los motores de razonamiento basados ​​en reglas , suelen producir información inferida en inteligencia artificial . Sin embargo, no suelen producir información nueva en forma de eventos complejos (es decir, inferidos).

Ejemplo

Un ejemplo más sistemático de CEP implica un automóvil, algunos sensores y varios eventos y reacciones. Imaginemos que un automóvil tiene varios sensores: uno que mide la presión de los neumáticos, otro que mide la velocidad y otro que detecta si alguien se sienta en un asiento o se levanta de él.

En la primera situación, el coche está en movimiento y la presión de uno de los neumáticos pasa de 45 psi a 41 psi en 15 minutos. A medida que la presión del neumático disminuye, se genera una serie de eventos que contienen la presión del neumático. Además, se genera una serie de eventos que contienen la velocidad del coche. El procesador de eventos del coche puede detectar una situación en la que una pérdida de presión de los neumáticos durante un período de tiempo relativamente largo da como resultado la creación del evento "lossOfTirePressure". Este nuevo evento puede desencadenar un proceso de reacción para anotar la pérdida de presión en el registro de mantenimiento del coche y alertar al conductor a través del portal del coche de que la presión de los neumáticos se ha reducido.

En la segunda situación, el coche está en movimiento y la presión de uno de los neumáticos baja de 45 psi a 20 psi en 5 segundos. Se detecta una situación diferente, tal vez porque la pérdida de presión se produjo en un período de tiempo más corto, o tal vez porque la diferencia de valores entre cada evento fue mayor que un límite predefinido. La situación diferente da como resultado la generación de un nuevo evento "blowOutTire". Este nuevo evento desencadena un proceso de reacción diferente para alertar inmediatamente al conductor e iniciar rutinas de computadora de a bordo para ayudarlo a detener el automóvil sin perder el control por derrapar.

Además, los eventos que representan situaciones detectadas también se pueden combinar con otros eventos para detectar situaciones más complejas. Por ejemplo, en la situación final, el automóvil se mueve con normalidad y sufre un pinchazo de un neumático, lo que hace que el automóvil se salga de la carretera y choque contra un árbol, y el conductor salga despedido del automóvil. Se detectan rápidamente una serie de situaciones diferentes. La combinación de "blowOutTire", "zeroSpeed" y "driverLeftSeat" en un período de tiempo muy corto da como resultado la detección de una nueva situación: "occupantThrownAccident". Aunque no existe una medición directa que pueda determinar de manera concluyente que el conductor salió despedido o que hubo un accidente, la combinación de eventos permite detectar la situación y crear un nuevo evento para indicar la situación detectada. Esta es la esencia de un evento complejo (o compuesto). Es complejo porque no se puede detectar directamente la situación; se debe inferir o deducir que la situación se ha producido a partir de una combinación de otros eventos.

Integración con la gestión de procesos de negocio

Una adaptación natural para CEP ha sido la gestión de procesos de negocio (BPM). [11] BPM se centra en los procesos de negocio de extremo a extremo, con el fin de optimizar y alinear continuamente su entorno operativo.

Sin embargo, la optimización de una empresa no depende únicamente de sus procesos individuales de principio a fin. Procesos aparentemente dispares pueden afectarse entre sí de manera significativa. Considere este escenario: en la industria aeroespacial, es una buena práctica monitorear las averías de los vehículos para buscar tendencias (determinar posibles debilidades en los procesos de fabricación, materiales, etc.). Otro proceso independiente monitorea los ciclos de vida de los vehículos operativos actuales y los desmantela cuando corresponde. Un uso del CEP es vincular estos procesos separados, de modo que en el caso de que el proceso inicial (monitoreo de averías) descubra un mal funcionamiento basado en la fatiga del metal (un evento significativo), se pueda crear una acción para explotar el segundo proceso (ciclo de vida) para emitir un retiro del mercado de los vehículos que utilizan el mismo lote de metal descubierto como defectuoso en el proceso inicial.

La integración de CEP y BPM debe darse en dos niveles, tanto en el nivel de concienciación empresarial (los usuarios deben comprender los posibles beneficios holísticos de sus procesos individuales) como en el nivel tecnológico (debe existir un método mediante el cual CEP pueda interactuar con la implementación de BPM). Para consultar una revisión reciente del estado del arte sobre la integración de CEP con BPM, que con frecuencia se denomina Gestión de procesos empresariales basada en eventos, consulte [12] .

Podría decirse que el rol del CEP orientado a la computación se superpone con el de la tecnología de reglas de negocio.

Por ejemplo, los centros de atención al cliente están utilizando el CEP para el análisis del flujo de clics y la gestión de la experiencia del cliente. El software CEP puede incorporar información en tiempo real sobre millones de eventos (clics u otras interacciones) por segundo en aplicaciones de inteligencia empresarial y otras aplicaciones de apoyo a la toma de decisiones . Estas " aplicaciones de recomendación " ayudan a los agentes a proporcionar un servicio personalizado en función de la experiencia de cada cliente. La aplicación CEP puede recopilar datos sobre lo que están haciendo actualmente los clientes por teléfono o sobre cómo han interactuado recientemente con la empresa en otros canales, como la sucursal o la Web a través de funciones de autoservicio, mensajería instantánea y correo electrónico. A continuación, la aplicación analiza la experiencia total del cliente y recomienda guiones o pasos siguientes que guían al agente por teléfono y, con suerte, mantienen satisfecho al cliente. [13]

Integración con bases de datos de series temporales

Una base de datos de series temporales es un sistema de software optimizado para el manejo de datos organizados por tiempo. Las series temporales son secuencias finitas o infinitas de elementos de datos, donde cada elemento tiene una marca de tiempo asociada y la secuencia de marcas de tiempo no es decreciente. Los elementos de una serie temporal a menudo se denominan ticks. No es necesario que las marcas de tiempo sean ascendentes (simplemente no decrecientes) porque en la práctica la resolución temporal de algunos sistemas, como las fuentes de datos financieros, puede ser bastante baja (milisegundos, microsegundos o incluso nanosegundos), por lo que los eventos consecutivos pueden tener marcas de tiempo iguales.

Los datos de series temporales proporcionan un contexto histórico al análisis que normalmente se asocia con el procesamiento de eventos complejos. Esto puede aplicarse a cualquier industria vertical, como las finanzas [14] y en cooperación con otras tecnologías, como BPM.

El caso ideal para el análisis de CEP es considerar las series temporales históricas y los datos de transmisión en tiempo real como un único continuo temporal. Lo que sucedió ayer, la semana pasada o el mes pasado es simplemente una extensión de lo que está ocurriendo hoy y lo que puede ocurrir en el futuro. Un ejemplo puede implicar comparar los volúmenes actuales del mercado con los volúmenes, precios y volatilidad históricos para la lógica de ejecución de operaciones. O la necesidad de actuar sobre los precios del mercado en vivo puede implicar comparaciones con puntos de referencia que incluyan movimientos sectoriales e índices, cuyas tendencias intradiarias e históricas miden la volatilidad y suavizan los valores atípicos.

Internet de las cosas y sistemas ciberfísicos inteligentes

El procesamiento de eventos complejos es un elemento clave en los entornos de Internet de las cosas (IoT) y también en los sistemas ciberfísicos inteligentes (CPS). Procesar flujos densos y heterogéneos de varios sensores y hacer coincidir patrones con esos flujos es una tarea típica en esos casos. [15] La mayoría de estas técnicas se basan en el hecho de que representar el estado del sistema de IoT y sus cambios es más eficiente en forma de flujo de datos, en lugar de tener un modelo estático y materializado. El razonamiento sobre estos modelos basados ​​en flujos difiere fundamentalmente de las técnicas de razonamiento tradicionales y, por lo general, requiere la combinación de transformaciones de modelos y CEP. [16]

Véase también

Proveedores y productos

  • Apama de Software AG : monitorea flujos de eventos que se mueven rápidamente, detecta y analiza patrones importantes y toma medidas de acuerdo con reglas. [17]
  • Análisis de flujo de Azure
  • Fusión de babas
  • Procesamiento de eventos complejos Esper para Java y C# (GPLv2).
  • Feedzai - Pulso
  • Implementación del motor Microsoft CEP de Microsoft StreamInsight [18]
  • openPDC : un conjunto de aplicaciones para procesar datos de series temporales en tiempo real.
  • Oracle Event Processing : para crear aplicaciones para filtrar, correlacionar y procesar eventos en tiempo real.
  • SAP ESP : una plataforma de desarrollo e implementación rápida y de baja latencia que permite procesar múltiples flujos de datos en tiempo real [19]
  • La plataforma de procesamiento de flujo de SQLstream, s-Server, proporciona una plataforma de computación de flujo relacional para analizar grandes volúmenes de datos de servicios, sensores, máquinas y archivos de registro en tiempo real.
  • TIBCO BusinessEvents & Streambase : plataforma CEP y procesamiento de flujo de eventos de baja latencia y alto rendimiento
  • Eventos empresariales de WebSphere
  • Apache Flink Marco de procesamiento de flujo distribuido de código abierto con una API CEP [20] para Java y Scala.
  • Apache Storm Sistema de computación distribuido en tiempo real, gratuito y de código abierto. Storm procesa flujos ilimitados de datos en tiempo real.

Referencias

  1. ^ abc Luckham, David C. (2012). Procesamiento de eventos para empresas: organización de la empresa en tiempo real. Hoboken, Nueva Jersey: John Wiley & Sons, Inc. p. 3. ISBN 978-0-470-53485-4.
  2. ^ Bates, John (15 de junio de 2011), John Bates de Progress explica cómo funciona el procesamiento de eventos complejos y cómo puede simplificar el uso de algoritmos para encontrar y capturar oportunidades comerciales, Fix Global Trading , consultado el 14 de mayo de 2012
  3. ^ Crosman, Penny (18 de mayo de 2009), Aleri, Ravenpack para alimentar noticias a algoritmos comerciales, Wall Street y tecnología[ enlace muerto permanente ]
  4. ^ McKay, Lauren (13 de agosto de 2009), Forrester da la bienvenida al procesamiento de eventos complejos, Destination CRM
  5. ^ D. Luckham, "El poder de los eventos: una introducción al procesamiento de eventos complejos en sistemas empresariales distribuidos", Addison-Wesley, 2002.
  6. ^ O. Etzion y P. Niblett, "Procesamiento de eventos en acción", Manning Publications, 2010.
  7. ^ Detalles de productos comerciales y casos de uso
  8. ^ Leavit, Neal (abril de 2009), Procesamiento de eventos complejos preparado para el crecimiento, Computer, vol. 42, núm. 4, págs. 17-20 Washington
  9. ^ Chandy, Mani K.; Etzión, Ofer; Ammon, Rainer von (22 de diciembre de 2017). Chandy, K. Mani; Etzión, Ofer; Ammón, Rainer von (eds.). "10201 Resumen ejecutivo y manifiesto: procesamiento de eventos". Drops-Idn/V2/Document/10.4230/Dagsemproc.10201.1 . Actas del seminario Dagstuhl. 10201 . Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Alemania: 1–60. doi : 10.4230/DagSemProc.10201.1 – a través del servidor de publicaciones en línea de Dagstuhl Research.
  10. ^ JP Martin-Flatin, G. Jakobson y L. Lewis, "Correlación de eventos en la gestión integrada: lecciones aprendidas y perspectivas", Journal of Network and Systems Management, vol. 17, n.º 4, diciembre de 2007.
  11. ^ C. Janiesch, M. Matzner y O. Müller: "Un modelo para la gestión de actividades empresariales basada en eventos", Lecture Notes in Computer Science, 2011, volumen 6896/2011, 17-28, doi :10.1007/978-3-642-23059-2_4
  12. ^ J. Krumeich, B. Weis, D. Werth y P. Loos: "Gestión de procesos empresariales basada en eventos: ¿dónde estamos ahora?: Una síntesis y análisis exhaustivos de la literatura", Business Process Management Journal, 2014, volumen 20, 615-633, doi :10.1108/BPMJ-07-2013-0092
  13. ^ Kobielus, James (septiembre de 2008), Realmente feliz en tiempo real, Destination CRM
  14. ^ "Series temporales en finanzas". cs.nyu.edu .
  15. ^ "Balogh, Dávid, Ráth, Varró, Vörös: Monitoreo distribuido y heterogéneo basado en eventos en sistemas ciberfísicos inteligentes, en el 1er Taller sobre Monitoreo y Pruebas de Sistemas Ciberfísicos, Viena, Austria. 2016".
  16. ^ I. Dávid, I. Ráth, D. Varró: Fundamentos para las transformaciones de modelos de transmisión mediante procesamiento de eventos complejos, Revista internacional sobre modelado de software y sistemas, págs. 1-28, 2016. doi :10.1007/s10270-016-0533-1
  17. ^ Descripción general de Apama Real-Time Analytics Archivado el 25 de octubre de 2015 en Wayback Machine . Softwareag.com. Recuperado el 18 de septiembre de 2013.
  18. ^ "Microsoft StreamInsight". technet.microsoft.com . 28 de julio de 2016.
  19. ^ "SAP ESP - Comunidad de desarrolladores". Archivado desde el original el 5 de enero de 2015. Consultado el 17 de julio de 2014 .
  20. ^ "Documentación de Apache Flink 1.2: FlinkCEP - Procesamiento de eventos complejos para Flink". ci.apache.org .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Procesamiento_complejo_de_eventos&oldid=1250236608"