Processamento de eventos complexos nativo de nuvem para cidades inteligentes

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Scattone, Fernando Freire
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.teses.usp.br/teses/disponiveis/45/45134/tde-24032021-145027/
Resumo: 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.