Device Nimbus Integração de Dispositivos de Cidades Inteligentes ao Armazenamento de Dados na Nuvem Kiev Santos da Gama kiev.gama@cesar.org.br Centro de Estudos e Sistemas Avançados do Recife (CESAR) 01/03/2012
Sumário Introdução... 3 Objetivos... 4 Estado-da-arte... 4 Metodologia... 5 Equipes... 5 Interação e qualificação das parcerias... 6 Plano de trabalho... 6 Resultados esperados... 8 Infraestrutura disponível... 9 Proposta Orçamentária... 9 Fontes de financiamentos adicionais...10 Informações Complementares...10 Referências...10 2
Introdução O crescente aumento populacional urbano tem trazido grandes desafios para os gestores de cidades. Problemas relacionados ao tráfego, segurança, consumo de água e energia, dentre outros, tem sido cada vez mais difíceis de serem administrados. Neste contexto, as tecnologias de informação e comunicação (TICs) podem ter papel importante, podendo auxiliar no monitoramento, controle e tomada de decisões diante de tais problemas. Exemplos de TICs como computação em nuvem (cloud computing), redes de sensores sem fio, redes elétricas inteligentes, sistemas de informação geográficos e dispositivos móveis já são utilizadas neste âmbito. O uso de tecnologia pode vir desde a coleta de dados na rua até níveis mais altos, fornecendo mecanismos que auxiliem no monitoramento da cidade e na tomada de decisões. Cidades que empregam este tipo de gestão inteligente auxiliada por TICs, vem sendo referidas como Cidades Inteligentes, que além do uso de tecnologia também empregam estratégias ligadas a sustentabilidade. Conforme mencionado em [1], redes de sensores sem fio já são utilizadas em diversos cenários ligados às cidades inteligentes, tais como transporte, prédios inteligentes, redes elétricas inteligentes e monitoramento ambiental. Este tipo de tecnologia permearia a cidade com diferentes tipos de sensores que coletariam dados a serem analisados para extrair-se informação sob uma visão mais ampla (ex: inundações, congestionamento no trânsito, padrões de consumo de eletricidade). Em [2], o uso de nuvens computacionais no âmbito de redes elétricas inteligentes é justificado pela escalabilidade e facilidade de integrar dados da rede provenientes de diversas origens, para posterior análise. A computação ubíqua refere-se a um mundo de diversos objetos computacionais (sensores, displays, dispositivos embarcados) que estão interligados e que fazem parte de nosso dia a dia, funcionando de maneira transparente [3]. Hoje, nossa sociedade é permeada por diversos tipos de dispositivos móveis, sensores, displays, não necessariamente conectados, a exemplo de: telefones celulares, tablets, mp3 players, laptops, smart cards. Particularmente, os cada vez mais populares smartphones possuem diversos outros dispositivos integrados como câmeras, acelerômetros, GPS, o que permite a criação de redes ad-hoc para coletar dados continuamente a um baixo custo. Por outro lado, torna-se necessário desenvolver sistemas capazes de lidar com a massa de informação criada, seja através de sistemas complexos para análise dos dados ou através de infraestrutura para interligar esses sistemas. Portanto, o monitoramento e o apoio que pode ser provido às pessoas (usuários) sofre uma revolução: diversos dados podem ser obtidos em momentos variados do dia, como a localização do usuário, dispositivo utilizado, dentre outros. Ao mesmo tempo, outras variáveis podem ser coletadas e interpretadas, como o comportamento do usuário (lugares frequentados, trajetos percorridos, etc) e as condições do ambiente (umidade, temperatura, vento, dentre outras). Neste cenário, uma área de grande relevância para a análise dos dados ubíquos trocados na nuvem é contexto. Contexto é o que está por trás da habilidade de definir o que é ou não relevante em um dado momento, e, neste caso em particular permite que o sistema filtre e dissemine informações mais úteis e adapte seus serviços às necessidades particulares das pessoas, provendo recomendações e, adaptações em interfaces (para que fiquem mais fáceis de usar, para que atendam a uma necessidade particular de um usuário) [4]. Numa alusão aos nimbos, que são as nuvens responsáveis por fenômenos de precipitação, o nome deste projeto refere-se a uma chuva de dados provenientes de diversas redes de sensores conectadas à nuvem computacional, que fornecem dados, continuamente, a partir de diversos dispositivos. Logo, a partir 3
desta massa de dados seria possível gerar informação com valor agregado, com auxílio de técnicas de contexto. Objetivos Tendo em vista um cenário metropolitano onde dispositivos heterogêneos espalhados pela cidade que coletam dados de diversos tipos (temperatura, tráfego, consumo de energia e água, nível de água em rios, etc), enviando-os para um repositório central, o objetivo geral deste projeto é criar uma plataforma para coleta, armazenamento escalonável e análise de dados provenientes de redes de sensores e dispositivos heterogêneos. Os objetivos específicos correspondem a: Projetar uma arquitetura para coleta de dados e integração de redes de sensores e dispositivos heterogêneos; Definir um modelo para armazenar e recuperar dados de forma estruturada na plataforma de computação em nuvem que será utilizada; Especificar API de acesso a dados na nuvem computacional para que seja possível fornecer informações a serem utilizadas pelo mecanismo de inferência de contexto; Desenvolver estratégias e algoritmos para a criação de um engine para suporte a contexto em sistemas, e que irá raciocinar sobre os dados armazenados, gerando informação de alto valor agregado. Estado-da-arte A computação em nuvem (cloud computing) é uma abordagem que permite o acesso sob demanda a um pool de recursos computacionais, tais como processadores, aplicações, serviços, podendo ser rapidamente provisionados [6]. Existem atualmente nuvens com diversos modelos de serviço (software como serviço, plataforma como serviço e infraestrutura como serviço) e de entrega (nuvens privadas, comunitárias, públicas e híbridas) [7]. Com o uso de computação em nuvem, servidores podem ser utilizados de forma transparente através da Internet. Aplicativos, servidores e serviços podem ser acessados de qualquer lugar, geralmente requisitando pouca infraestrutura local para que os usuários possam utilizar serviços hospedados na nuvem. Na maioria dos casos o usuário final dos serviços fará o acesso através de navegadores Web, permitindo, portanto, que praticamente qualquer dispositivo com acesso a Internet possa acessar serviços ou aplicativos hospedados na nuvem. A convergência da microeletrônica com a comunicação sem fio facilitou o desenvolvimento de sensores capazes de comunicar-se entre si, podendo ser interconectados criando uma rede de sensores [8]. Estas possuem uso versátil e podem ser aplicadas em diversos domínios (militar, saúde, monitoramento ambiental, automação doméstica). Por outro lado, diversos objetos dispõem de conectividade nos dias de hoje, dando origens a outras redes de dispositivos que são capazes de comportarem-se como sensores (ex: celulares providos de GPS, acelerômetros, etc). O termo Internet das Coisas (Internet of things-iot) [9] foi inicialmente usado para referir-se a uma rede capaz de localizar diversos objetos identificados por RFID 1. Entretanto esta tecnologia por si só não fornece conectividade. O conceito de IoT evoluiu, e hoje refere-se a uma sociedade de objetos ubíquos, onde diferentes objetos estão conectados, combinando RFID, redes de sensores e tecnologias ubíquas para concretizar esta visão [10]. 1 Radio-frequency Identification 4
Apesar da capacidade de interconexão destes diversos dispositivos, ainda há diversos desafios acerca da heterogeneidade (diferentes objetos, sensores, protocolos e aplicações) e do armazenamento dos dados oriundos de redes de sensores. Trabalhos anteriores [11] mostram abordagens para integração de diferentes tecnologias no âmbito da Internet das Coisas, criando uma cadeia de coleta de dados de sensores. Embora haja trabalhos recentes, como em [12], ilustrando o uso de computação ubíqua no domínio de cidades inteligentes, a literatura é escassa sobre como este conceito especificamente tem sido combinado com cidades inteligentes. Metodologia Na execução de todos os seus projetos, o CESAR segue os princípios fundamentais de gestão de projetos, fortemente baseados no PMBoK [5]. Neste sentido, para o acompanhamento efetivo do projeto, a metodologia de execução prevê o estabelecimento de marcos do projeto, reuniões periódicas de acompanhamento com a equipe, elaboração de relatórios de progresso, reuniões de avaliação do projeto. Estas reuniões além de ter o fim comunicar a gerência da organização sobre status das atividades do projeto, também servirão para receber e avaliar feedback dos envolvidos, determinar pré-condições para o sucesso da próxima etapa, resolver questões do projeto, reafirmar compromissos e reavaliar riscos. Reunião de lançamento do projeto na França, apresentando Plano de Projeto inicial Refinamento do Plano de Projeto, com o detalhamento das tarefas e do cronograma de execução; Detalhamento e tratamento dos possíveis riscos envolvidos no projeto Projeto da solução Implementação dos itens especificados na etapa de projeto Reuniões periódicas de status com a equipe Reuniões (via teleconferência) periódicas com parceiro Equipes Conforme detalhado abaixo, a equipe brasileira deste projeto é composta por colaboradores do CESAR, e de bolsistas financiados por projetos de pesquisa em andamento na instituição: Membro Graduação Cargo Alocação no projeto (%) Kiev Santos da Gama Doutor Eng. de Sistemas 15% (Coordenador do projeto) Eduardo Oliveira Doutorando (UFPE) Eng. de Sistemas 15% Anderson Neves Mestre Eng. de Sistemas 15% Átila Bittencourt Mestre Eng. de Sistemas 15% Bolsista (a definir) Mestrando (CESAR.EDU) Bolsista 100% Bolsista (a definir) Mestrando (CESAR.EDU) Bolsista 100% 5
Do lado francês, a colaboração será feita com a equipe Triskell 2, do grupo de pesquisa IRISA (unidade mista do CNRS, INRIA e Universidade de Rennes). Estarão envolvidos os seguintes membros da equipe: Membro Graduação Cargo Johann Bourcier (Coordenador do projeto) Doutor Professor assistente Olivier Barais Doutor Professor assistente Gerson Sunyé Doutor Professor assistente Iván Darío Páez Anaya Doutorando Bolsista Fabio Buiati Doutor Bolsista de pós-doutorado Interação e qualificação das parcerias O CESAR é uma instituição de referência nacional e internacional na área de Tecnologia da Informação e Comunicação (TIC), com foco em pesquisa e na indústria de software, é um dos principais provedores de soluções para o mercado, atestado pelo número e variedade de projetos de pesquisa, de clientes e parceiros. Com um conceito inovador, o CESAR atua em duas frentes principais de trabalho: execução de projetos onde haja transferência de tecnologia e estímulo à criação de novos negócios em TIC. O CESAR possui frentes de pesquisa em computação em nuvem, e tem expandindo este domínio para o âmbito de cidades inteligentes e contexto. A equipe Triskell, localizada em Rennes-França, possui conhecimentos avançados em arquiteturas dirigidas por modelos, sistemas adaptativos, computação pervasiva, linhas de produto de software, Internet das Coisas e Serviços, entre outros. Além da experiência comprovada em diversos projetos internacionais nestas áreas, os membros desta equipe estão envolvidos na organização dos principais congressos mundiais nestes temas (ex: MODELS, ICSE, ECOOP, SEKE), evidenciando o nível de excelência da equipe. A principal interação desta parceria se dará no âmbito da arquitetura para representação das redes de sensores e dispositivos dentro da plataforma projetada. Assim como o CESAR, equipe Triskell também dispõe de uma infraestrutura de computação em nuvem (projeto Kevoree 3 ), onde também poderão validar a abstração fornecida por esta plataforma de redes de sensores e dispositivos. Perante tal validação, o modelo no nível de aplicação para captura de dados será independente de plataforma e capaz de se apoiar em outras infraestruturas de computação em nuvem. Plano de trabalho O projeto terá duração de 24 meses, com início previsto para 06 de junho de 2012. Para o seu cumprimento foram elaboradas as seguintes atividades: 1. Pesquisa sobre as soluções existentes para cidades inteligentes, áreas de atualização, estudo de casos; 2 http://www.irisa.fr/triskell/ 3 http://www.kevoree.org/ 6
2. Levantamento dos requisitos mínimos necessários para atender a demanda através da identificação das funcionalidades que serão desenvolvidas até o seu término; 3. Elaboração do documento de requisitos do projeto e alinhamento do seu conteúdo com a equipe francesa; 4. Especificação da arquitetura da plataforma Device Nimbus e criação de prova de conceito, esclarecendo como será a integração das tecnologias utilizadas nas redes de sensores, dispositivos e sistemas subjacentes; 5. Especificação do modelo de armazenamento de dados a serem coletados e organizados; 6. Especificação da API de acesso a dados, seguida de projeto e desenvolvimento de prova de conceito. Essa API deverá ser definida de acordo com as necessidades da máquina de inferência de contexto a ser utilizado pelo mecanismo de raciocínio dos dados (atividade 9); 7. Apresentação do conteúdo para a equipe francesa dos artefatos produzidos com o foco em garantir alinhamento dos objetivos das equipes. Essa atividade deve ser um marco para garantir o sucesso das fases seguintes do projeto; 8. Desenvolvimento e testes da plataforma Device Nimbus conforme o documento de requisitos do projeto e especificações utilizando o processo de desenvolvimento de software do CESAR; 9. Desenvolvimento e testes das estratégias e algoritmos para a criação do engine de contexto que irá raciocinar sobre os dados produzidos pelo Device Nimbus; 10. Testes da plataforma e do mecanismo de inferência utilizando dados reais capturados por uma rede simples de sensores instalada nos institutos envolvidos no projeto. Correções devem ser realizadas e verificadas na própria infraestrutura montada; 11. Divulgação de resultados e publicação de artigos relacionados às áreas de conhecimento aplicadas na plataforma Device Nimbus. Para um melhor entendimento sobre a realização das atividades ao longo dos vinte e quatro (24) meses disponíveis para concretização do projeto, seguem abaixo duas tabelas que relacionam as atividades e os meses na qual elas serão executadas. A repetição de algumas atividades ao longo do tempo indicam que elas serão divididas ao longo dos meses para refinamento da documentação e evolução iterativa da plataforma. Atividades 06/12 07/12 08/12 09/12 10/12 11/12 12/12 01/13 02/13 03/13 04/13 05/13 1 X X X X X X 2 X X X 3 X X X 4 X X X 5 X X X 6 X 7 X 8 X X X X X 9 10 11 X X X 7
Atividade 06/13 07/13 08/13 09/13 10/13 11/13 12/13 01/14 02/14 03/14 04/14 05/14 1 X X 2 X 3 X X 4 5 6 X X X 7 X X 8 X X X X X X X X X 9 X X X X X X X 10 X X X X X 11 X X X X X Resultados esperados Abaixo, enumeramos os indicadores de progresso esperados ao final de cada etapa de 6 meses de projeto, até o seu final, medidos através de produção científica de artigos em conjunto com a equipe francesa: Etapa Resultado 06 meses 01 relatório técnico 12 meses 01 relatório técnico 01 artigo científico 18 meses 02 artigos científicos 01 artigo em periódico Final (24 meses) 02 artigos científicos 01 relatório técnico 02 dissertações de mestrado Numa perspectiva de mais alto nível, os principais resultados esperados são: Transferência de conhecimento na área de redes de sensores e engenharia dirigida por modelos aplicada no âmbito de Internet das Coisas Estabelecer parcerias internacionais no contexto de pesquisa onde exista transferência de conhecimento para o CESAR. Alavancar pesquisas ligadas ao domínio de cidades inteligentes. Fortalecer o eixo de pesquisa da instituição pernambucana 8
Dentre os produtos de software, espera-se entregar: Arquitetura para conectar as redes de sensores à infraestrutura de cloud, abstraindo-se da heterogeneidade API para acesso a dados de sensores armazenados no cloud Engine para suporte a contexto Prova de conceito acerca do mecanismo de raciocínio baseado em contexto Infraestrutura disponível A infraestrutura geral do CESAR dispõe de: 200 servidores 550 desktops 200 notebooks 5 impressoras Entretanto, no para o âmbito deste projeto o CESAR já dispõe de infraestrutura de computação em nuvem, desenvolvida nos projetos OpenBio, CTIC/RNP e ustore entre outros. O hardware que hospeda esta infraestrutura é composto de: dois servidores com suporte a 16 maquinas virtualizadas com 4Gb de memória e dois virtual cores, 10Tb de dados para armazenamento e mais 30 servidores dedicados para a execução de tarefas de processamento e uso de bando de dados não SQL. Proposta Orçamentária De acordo com o plano de trabalho, serão necessárias duas (2) viagens Brasil-França-Brasil para reuniões de alinhamento, planejamento e acompanhamento de atividades, além de promover a passagem de conhecimento entre os integrantes das equipes brasileira e francesa. O quadro abaixo apresenta os valores totais das despesas financiáveis e a data planejada para aplicação dos recursos: Item 02 Passagens aéreas Brasil-França-Brasil (1ª. Viagem) Data de Aplicação Valor em Reais (R$) Qtd. Subtotal 16/06/2012 3.500,00 2 7.000,00 Diárias (15 dias x 2) 16/06/2012 400,00 30 (15 x 2) 12.000,00 02 Seguros saúde 16/06/2012 200,00 2 400,00 02 Passagens aéreas Brasil-França-Brasil (2ª. Viagem) 15/06/2013 3.500,00 2 7.000,00 Diárias (15 dias x 2) 15/06/2013 400,00 30 (15 x 2) 12.000,00 02 Seguros saúde 15/06/2013 200,00 2 400,00 Total 38.800,00 A proposta contém duas (2) missões à França, com dois (2) participantes do CESAR, e as despesas com diárias correspondem ao valor na tabela vigente da FACEPE. A primeira viagem está prevista para junho de 9
2012 (kick-off do projeto) e a segunda para junho de 2013. A equipe francesa virá a Pernambuco em duas (2) missões, com aproximadamente 6 meses de diferença das datas das missões Pernambuco-França Fontes de financiamentos adicionais O desenvolvimento deste projeto, do lado brasileiro, se apoiará no projeto U-Store, em execução no CESAR desde 2009, que conta com bolsas de pesquisa do CNPq dentro do contexto do - RHAE Pesquisador na Empresa, OpenBio em parceria com a união europeia, CTIC com a RNP e recursos oriundos de captação do próprio CESAR. Atualmente este projeto conta com 5 bolsistas DTI-B, 2 Bolsistas DTI-C, 2 funcionários do CESAR e dedicação parcial de tempo de pesquisadores, sendo um do próprio CESAR e outro da Universidade Federal de Pernambuco. O projeto de cooperação com a França contará com dois bolsistas em tempo integral para executar as tarefas aqui descritas. Informações Complementares O engine de contexto utilizado neste projeto será uma adaptação do que está sendo desenvolvido pelo pesquisador Eduardo Oliveira, membro do projeto, em sua tese de doutorado no CIn/UFPE. Referências [1] OECD (2010), OECD Information Technology Outlook 2010, OECD Publishing. [2] Simmhan, Y., Giakkoupis, M., Cao, B., Prasanna, V. K. (2010) On Using Cloud Platforms in a Software Architecture for Smart Energy Grids, IEEE International Conference on Cloud Computing. [3] Weiser, M., R. Gold, and J.S. Brown, The Origins of Ubiquitous Computing Research at PARC in the Late 1980s. IBM Systems Journal, 1999. 38(4): pp. 693-696 [4] Vieira, V., Tedesco, P., Salgado, A. C. Modelos e Processos para o Desenvolvimento de Sistemas Sensíveis ao Contexto, em mini-curso do Congresso da Sociedade Brasileira de Computação (SBC), 2009. [5] Project Management Body of Knowledge. http://www.pmi.org/ [6] Sampaio, A., et al. Uni4Cloud Uma Abordagem para Implantação de Aplicações sobre Múltiplas Nuvens de Infra-Estrutura. In: WCGA - VIII Workshop em Clouds, Grids e Aplicações (SBRC-2010), 2010, Gramado. Anais do VIII Workshop em Clouds, Grids e Aplicações (WCGA), 2010. [7] Mell, P. and Grance, T. (2009), "National Institute of Standards and Technology, Information Technology Laboratory (NIST) Working Definition of Cloud ", http://csrc.nist.gov/groups/sns/cloudcomputing/index.html [8] I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, Wireless sensor networks: a survey, Computer Networks 38 (4) (2002) 393 42 [9] Ashton, K. That TInternet of Things thing, RFID Journal (2009). [10] Yan, L., Zhang, Y., Yang, L.T., Ning, H. The Internet of Things: from RFID to the Next- Generation Pervasive Networked Systems, Auerbach Publications, 2008. [11] Gama, K., Touseau, L., Donsez, D. Combining heterogeneous service technologies for building an Internet of Things middleware, Computer Communications, Volume 35, Issue 4, 15 February 2012, Pages 405-417, ISSN 0140-3664 [12] Gil-Castineira F., Costa-Montenegro E., Gonzalez-Castano F.J., Lopez-Bravo C., Ojala T., & Bose R. (2011). Experiences inside the Ubiquitous Oulu Smart City. Computer 44(6):48-5 10