Processamento de eventos complexos nativo de nuvem para cidades inteligentes
Autor(a) principal: | |
---|---|
Data de Publicação: | 2021 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da USP |
Texto Completo: | 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. |
id |
USP_ffbb2391eb219545ff1523b56524690d |
---|---|
oai_identifier_str |
oai:teses.usp.br:tde-24032021-145027 |
network_acronym_str |
USP |
network_name_str |
Biblioteca Digital de Teses e Dissertações da USP |
repository_id_str |
2721 |
spelling |
Processamento de eventos complexos nativo de nuvem para cidades inteligentesCloud-native complex event processing for smart citiesCidades inteligentesCloud-native computingComplex event processingComputação nativa de nuvemMicroservicesMicrosserviçosProcessamento de eventos complexosSmart citiesAo 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.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.Biblioteca Digitais de Teses e Dissertações da USPBraghetto, Kelly RosaScattone, Fernando Freire2021-02-22info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/45/45134/tde-24032021-145027/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2021-04-28T17:16:09Zoai:teses.usp.br:tde-24032021-145027Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212021-04-28T17:16:09Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false |
dc.title.none.fl_str_mv |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes Cloud-native complex event processing for smart cities |
title |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes |
spellingShingle |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes Scattone, Fernando Freire Cidades inteligentes Cloud-native computing Complex event processing Computação nativa de nuvem Microservices Microsserviços Processamento de eventos complexos Smart cities |
title_short |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes |
title_full |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes |
title_fullStr |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes |
title_full_unstemmed |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes |
title_sort |
Processamento de eventos complexos nativo de nuvem para cidades inteligentes |
author |
Scattone, Fernando Freire |
author_facet |
Scattone, Fernando Freire |
author_role |
author |
dc.contributor.none.fl_str_mv |
Braghetto, Kelly Rosa |
dc.contributor.author.fl_str_mv |
Scattone, Fernando Freire |
dc.subject.por.fl_str_mv |
Cidades inteligentes Cloud-native computing Complex event processing Computação nativa de nuvem Microservices Microsserviços Processamento de eventos complexos Smart cities |
topic |
Cidades inteligentes Cloud-native computing Complex event processing Computação nativa de nuvem Microservices Microsserviços Processamento de eventos complexos Smart cities |
description |
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. |
publishDate |
2021 |
dc.date.none.fl_str_mv |
2021-02-22 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.teses.usp.br/teses/disponiveis/45/45134/tde-24032021-145027/ |
url |
https://www.teses.usp.br/teses/disponiveis/45/45134/tde-24032021-145027/ |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
|
dc.rights.driver.fl_str_mv |
Liberar o conteúdo para acesso público. info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Liberar o conteúdo para acesso público. |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.coverage.none.fl_str_mv |
|
dc.publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo (USP) instacron:USP |
instname_str |
Universidade de São Paulo (USP) |
instacron_str |
USP |
institution |
USP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da USP |
collection |
Biblioteca Digital de Teses e Dissertações da USP |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP) |
repository.mail.fl_str_mv |
virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br |
_version_ |
1815257300010532864 |