Edge-distributed stream processing for video analytics in smart city applications - Rocha Neto, Aluízio Ferreira da (2021)
Aplicações emergentes de Internet das Coisas (IoT) baseadas em sensores distribuídos e inteligência, especialmente no contexto de cidades inteligentes, apresentam muitos desafios para a infraestrutura de rede e de processamento. Por exemplo, um único sistema com algumas dezenas de câmeras de monitoramento é suficiente para saturar o backbone da cidade. Além disso, tal sistema gera fluxos massivos de dados para aplicações baseadas em eventos que demandam um rápido processamento visando ações imediatas. A busca por uma pessoa desaparecida usando a tecnologia de reconhecimento facial é uma dessas aplicações que requer ação imediata no local onde essa pessoa se encontra, uma vez que esta localização é uma informação perecível. Uma estratégia promissora para dar suporte à demanda computacional de sistemas amplamente distribuídos geograficamente é a integração da computação de borda com inteligência de máquina com o objetivo de interpretar os dados próximos ao sensor e reduzir a latência de ponta a ponta no processamento dos eventos. No entanto, devido à capacidade limitada e heterogeneidade dos dispositivos de borda, tal processamento distribuído não é trivial, especialmente quando as aplicações têm diferentes requisitos de Qualidade de Serviço (QoS). Este trabalho apresenta um arcabouço de sistema distribuído para análise de vídeos com o processamento na borda da rede. Investigamos pesquisas recentes sobre processamento de fluxos de dados massivos, principalmente com foco na divisão desse processamento em vários tipos de tarefas. Em seguida, propomos uma arquitetura para organizar nós de borda e de nuvem para executarem várias destas tarefas em um esquema de colaboração de processamento de fluxos de dados multimídia. Um método de distribuição de carga de trabalho em nós de borda para o processamento baseado em eventos também é proposto, juntamente com um esquema de reutilização dos nós que realizam tarefas do interesse de várias aplicações, tal como uma tarefa de reconhecimento facial, por exemplo. Também desenvolvemos um algoritmo para alocar nós com capacidade de processamento suficiente para processar a demanda dos fluxos enquanto atende aos requisitos de QoS das aplicações. Por fim, as simulações mostraram que a distribuição do processamento em vários nós de borda reduz a latência e o consumo de energia e ainda melhora a disponibilidade em comparação com o processamento centralizado na nuvem.