[en] CONTINUOUS SERVICE DISCOVERY IN IOT - FELIPE OLIVEIRA CARVALHO (2017)
[pt] A popularização da Internet das Coisas (IoT, Internet of Things) provocou uma crescente oportunidade para a criação de aplicações em diversas áreas, através da combinação do uso de sensores e/ou atuadores. Em ambientes de IoT, o papel de elementos chamados de gateways consiste em fornecer uma camada de comunicação intermediária entre os dispositivos de IoT e serviços de nuvem. Um fator crucial para a construção de aplicações em larga escala é que os dispositivos de IoT possam ser utilizados de maneira transparente, num paradigma orientado a serviços, onde detalhes de comunicação e configuração destes objetos são tratados pelos gateways. No modelo de serviços, as aplicações devem descobrir as interfaces de alto-nível dos dispositivos e não precisam lidar com detalhes subjacentes, que são tratados pelos gateways. Em cenários de grande dinamismo e mobilidade (com conexões e desconexões de dispositivos acontecendo a todo momento), a descoberta e configuração de objetos deve ocorrer de forma contínua. Os protocolos de descoberta de serviços tradicional, como o Universal Plug and Play (UPnP) ou o Service Location Protocol (SLP), não foram desenvolvidos levando em consideração o alto dinamismo de ambientes IoT. Nesse sentido, introduzimos o processamento de eventos complexos (CEP), que é uma tecnologia para processamento em tempo real de fluxos de eventos heterogêneos, que permite a utilização de consultas em linguagem CQL (Continuous Query Language) para a busca de eventos de interesse. Em um modelo onde os eventos relacionados à descoberta de sensores são enviados para um fluxo CEP, consultas expressivas são escritas para que uma aplicação descubra continuamente serviços de interesse. Este trabalho apresenta a extensão do MHub/CDDL para o suporte à descoberta contínua de serviços em IoT, utilizando CEP. O MHub/CDDL (Mobile Hub / Context Data Distribution Layer) é um middleware para descoberta de serviços e gerenciamento de qualidade de contexto em IoT, desenvolvido numa parceria entre o Laboratory for Advanced Collaboration (LAC) da PUC-Rio e o Laboratório de Sistemas Distribuídos Inteligentes (LSDi) da Universidade Federal do Maranhão (UFMA). A implementação deste trabalho é feita para a plataforma Android (Java) e um estudo de caso no domínio de estacionamentos inteligentes é conduzido e implementado, elucidando o uso do mecanismo de descoberta contínuo.