Disertación de Maestría
DOI
https://doi.org/10.11606/D.45.2021.tde-24032021-145027
Documento
Autor
Nombre completo
Fernando Freire Scattone
Dirección Electrónica
Instituto/Escuela/Facultad
Área de Conocimiento
Fecha de Defensa
Publicación
São Paulo, 2021
Director
Tribunal
Braghetto, Kelly Rosa (Presidente)
Fazenda, Alvaro Luiz
Silva, Francisco José da Silva e
Título en portugués
Processamento de eventos complexos nativo de nuvem para cidades inteligentes
Palabras clave en portugués
Cidades inteligentes
Computação nativa de nuvem
Microsserviços
Processamento de eventos complexos
Resumen en portugués
Ao longo dos últimos anos, o conceito de Cidades Inteligentes vem ganhando popularidade, sendo promovido com os propósitos de aumentar a sustentabilidade e melhorar a qualidade de vida para os residentes de centros urbanos. Processamento de Eventos Complexos (CEP - Complex Event Processing) é uma das técnicas mais usadas para processar dados em tempo real em grande volume e velocidade, como os provenientes de Cidades Inteligentes. CEP considera cada novo dado coletado como um evento e permite definir novos tipos de eventos a partir da identificação de padrões de ocorrência específicos de outros eventos. Escalabilidade e tolerância a falhas no ambiente de execução são requisitos não funcionais para o processamento de fluxos de dados que sofrem grande variação de volume ao longo do tempo, como em Cidades Inteligentes. O cumprimento desses requisitos é essencial para manter o sistema em funcionamento com a latência de detecção de eventos em patamares aceitáveis para sistemas de tempo real. O uso de plataformas de nuvem é conveniente para realizar o processamento de eventos de forma distribuída e escalável, pois permite o gerenciamento dinâmico de recursos computacionais. As soluções atuais de software livre de CEP não oferecem suporte nativo para a execução em ambientes de nuvem, ou mesmo distribuídos. Este trabalho apresenta uma arquitetura de microsserviços para CEP distribuído nativa de nuvem, que gerencia dinamicamente os recursos computacionais usados na execução. Nela, o processamento de eventos complexos é dividido entre múltiplas instâncias de um mesmo microsserviço. O estilo arquitetural de coreografia foi usado, no qual a distribuição do processamento é coordenada entre as instâncias e não há um serviço central que comanda todo o sistema. Isso resulta em uma maior tolerância a falhas, pois uma falha em uma única instância não afeta a detecção de eventos nas outras. Um protótipo da arquitetura de microsserviços foi implementado, utilizando somente ferramentas de software livre, de forma integrada à plataforma de cidades inteligentes InterSCity. Para avaliar o desempenho do sistema, um cenário experimental de cidades inteligentes foi criado: a detecção de problemas de tráfego a partir de dados reais de posições de ônibus do transporte público da cidade de São Paulo. Quatro métricas foram analisadas: latência, vazão, número total de eventos detectados e tempo de uso de recursos computacionais. Os resultados do experimento mostraram que o sistema escala automaticamente, aumentando o número de instâncias conforme sua carga de entrada aumenta. Além disso, as latências normalmente ficaram abaixo de cem milissegundos, satisfazendo os requisitos de processamento em tempo real do cenário considerado.
Título en inglés
Cloud-native complex event processing for smart cities
Palabras clave en inglés
Cloud-native computing
Complex event processing
Microservices
Smart cities
Resumen en inglés
Over the last few years, Smart City concepts have gained popularity because of their purposes of increasing sustainability and improving quality of life for large cities' residents. Complex Event Processing is one of the most used techniques to process real-time data, with large volume and velocity, such as the data coming from Smart Cities. In CEP each new piece of data is treated as an event and can be defined by an event type. New event types can be registered by defining a query using CEP operators to detect specific patterns on incoming events from other event types. In order to process real-time data for Smart Cities, scalability and fault tolerance are the main requirements to be fulfilled. Satisfying these requirements is essential to maintain a functioning system with acceptable latency levels for Smart Cities situation detection. Using cloud providers is a convenient method to distribute and scale complex event processing since cloud providers can dynamically manage computational resource usage. Current open-source CEP implementations do not offer official cloud-native execution support, or even official distributed execution support. This work presents a cloud-native microservice architecture for distributed CEP. Event processing is distributed across several instances of the same microservice, which can be dynamically created or destroyed based on resource usage. These instances use a choreography style of communication among each other, where there are no central nodes controlling all other instances. Instead, they must agree on any multi-instance action. This style of communication ensures greater fault tolerance since failures in one instance do not affect event processing in all other instances. A prototype of this architecture was developed, using open source tools, integrated with the InterSCity Smart City Platform. To evaluate the performance of the system, an experimental scenario of Smart Cities was designed: the detection of traffic problems from real data of bus positions of public transport in São Paulo. Four metrics were analyzed: latency, throughput, number of events detected, and resource time usage. Results showed the system achieved self-scalability, creating new CEP nodes as the input load increased while maintaining acceptable levels of latency. Furthermore, latencies were typically below a hundred milliseconds, satisfying real-time processing requirements of the Smart City scenario.
ADVERTENCIA - La consulta de este documento queda condicionada a la aceptación de las siguientes condiciones de uso:
Este documento es únicamente para usos privados enmarcados en actividades de investigación y docencia. No se autoriza su reproducción con finalidades de lucro. Esta reserva de derechos afecta tanto los datos del documento como a sus contenidos. En la utilización o cita de partes del documento es obligado indicar el nombre de la persona autora.
Fecha de Publicación
2021-04-28