An Energy-Aware IoT Gateway with Continuous Processing of Sensor Data Luis Talavera & Markus Endler & Sergio Colcher Departamento de Informática Pontifícia Universidade Católica of Rio de Janeiro (PUC-Rio) LAC Laboratory for Advanced Collaboration Agenda 2 Introdução Tecnologias Utilizadas Mobile Event Processing Agent Experimentos Realizados Trabalhos Relacionados Conclusão Introdução Cada vez mais aparelhos (coisas inteligentes) têm processamento embarcado e possuem capacidade de comunicação sem fio. Muitos só dispõem de conectividade de curto-médio alcance, e necessitam rotear mensagens através de Gateways conectados à Internet. Atualmente, a maioria dos Gateways são fixos e específicos para uma tecnologia sem fio: WiFi, ZigBee, Z-Wave, etc. 3 Introdução Arquitetura de 3 camadas para a Internet das Coisas (IoT) Serviços em nuvem Dispositivos móveis Coisas inteligentes 4 Introdução Por que dispositivos móveis? Smartphones e Tablets cada vez mais baratos e difundidos Possuem bastante recursos (de memória e processamento) e conectividade com a Internet Vários aparelhos dispõem de interfaces wireless de curto alcance e baixo consumo de energia (Bluetooth, NFC, ANT+) Podem descobrir e se conectar de forma ad hoc a coisas inteligentes em seu entorno, e coletar dados de sensores dessas coisas Podem enriquecer esses dados com outras informações obtidas dos próprios sensores (p.ex. Informações espaçotemporais) 5 Introdução Problemas: 1. Energia é um recurso limitado em dispositivos móveis e comunicação via 3G/4G ou WiFi é uma atividade de alto gasto de energia • Consumo de energia depende da frequência de transmissão • Para aplicações de IoT que processam grandes fluxos de dados de sensores a coleta e transmissão de dados é muito frequente 2. Largura de banda disponível pode não ser suficiente 6 Processamento de dados de sensores em IoT Para ser escalável, um sistema de IoT precisa ter um processamento descentralizado • Pré-processamento próximo às fontes de dados de sensores (as coisas inteligentes) Isto evita concentração de todo o processamento na nuvem e sobrecarga da rede com o envio de dados brutos de sensores para os serviços de nuvem Os Gateways são os candidatos naturais para realizar tal préprocessamento Questão: Como o consumo de banda e de energia são afetados por esse processamento em um dispositivo móvel? 7 Tecnologias Utilizadas Mobile Hub (M-Hub) é um middleware móvel (para Android) que faz um dispositivo móvel funcionar como um Gateway IoT • Descobre e se conecta a coisas inteligentes e se subscreve a dados de sensores destes 8 Visualização de dados de sensores Fig.: Dois M-Hubs exibindo dados de sensores próximos 9 Tecnologias Utilizadas Complex Event Processing (CEP) é uma forma de Data Stream Processing que permite a filtragem, agregação, correlação e transformação de fluxos de dados através de consultas contínuas (continuous queries) descritas em uma linguagem similar a SQL Permite especificar padrões de eventos e inferir eventos mais abstratos a partir de eventos mais simples Devido a sua expressividade é adequada ao processamento de fluxos de dados de sensores heterogêneos As consultas são aplicadas aos eventos contidos em uma janela 10 Mobile Event Processing Agent (MEPA) A fim de permitir um pré-processamento no Mobile Hub, desenvolvemos o MEPA, uma engine de processamento CEP para Android um serviço que executa em background; executa as consultas CEP sobre o fluxo de dados brutos de sensores recebidos do serviço S2PA e emite resultados (eventos complexos) pode executar um conjunto arbitrário de consultas CEP internet 11 Mobile Event Processing Agent (MEPA) MEPA permite a implantação dinâmica de consultas CEP Qual é a necessidade? M-Hubs podem ser usados em diferentes ambientes (com um conjunto sensores e requisitos de processamento específicos) Mas só devem executar as consultas CEP que correspondem aos tipos de sensores disponíveis no ambiente. Detecção de presença em novo ambiente através de sinal de um beacon. 12 Experimentos Objetivo: Avaliar quais tipos de processamento CEP valem a pena serem executados na MEPA Quais consultas CEP consomem menos energia e largura de banda? Set-up dos experimentos: Smartphone Motorola MotoX conectado à Internet via rede WiFi (IEEE 802.11bgn) 1, 3 e 6 SensorTags da Texas Instruments (com sensores de temperatura, humidade, acelerômetro, magnetômetro, giroscópio) Bluetooth Low Energy (BLE) como WPAN 13 Experimentos Procedimento adotado: Executamos diferentes tipos de consultas CEP durante 1 hora Medimos o tempo médio que leva para uma redução do nível de bateria em 1% Medimos a quantidade de dados transmitidos Outros parâmetros: Mesmas consultas CEP com os dois tipos de janela: sliding e jumping window Dois tamanhos de janela (10 segundos e 1 minuto) para avaliar o impacto do número de dados de sensores a serem processados Utilizamos dois runtimes Android: Dalvik e ART 14 Experimentos As consultas CEP utilizadas: 15 Teste de largura de banda com 1 SensorTag Tráfego de Dados (KB) 17 Teste de energia com 1 SensorTag 18 Teste de largura de banda com 6 SensorTags Tráfego de Dados (KB) 19 Teste de energia com 6 SensorTags 20 Discussão A natureza do processamento (consulta CEP) influi pouco no consumo de energia e da largura de banda O tipo da janela utilizada na consulta influi bastante (consultas CEP com jumping windows maiores são mais adequadas do que sliding windows, pois geram menos eventos de saida) Consumo de energia está diretamente relacionado com a frequência de transmissões de eventos para a nuvem Consumo de energia depende do runtime utilizado 21 Trabalhos Relacionados Processamento CEP em IoT e seu impacto sobre consumo de energia e largura de banda 23 Conclusão MEPA possibilita que dispositivos móveis executem consultas CEP para pré-processamento de dados de sensores Consultas CEP com a baixa frequência de eventos resultantes são mais adequadas, pois causam menos transmissões para a rede e consomem menos energia A complexidade do processamento CEP parece ter pouco impacto no consumo de energia Trabalhos Futuros Fazer testes com consultas CEP mais complexas Medir o consumo de energia e tráfego de dados para implantação dinâmica de novas consultas CEP 24 Obrigado! Perguntas ? [email protected] 25