You are on page 1of 111

UMA PLATAFORMA PARA GERENCIAMENTO E

APLICAES EM INTERNET DAS COISAS


JOSU BATISTA ANTUNES

UMA PLATAFORMA PARA GERENCIAMENTO E

APLICAES EM INTERNET DAS COISAS

Dissertao apresentada ao Programa de


Ps-Graduao em Cincia da Computao
do Instituto de Cincias Exatas da Univer-
sidade Federal de Minas Gerais como re-
quisito parcial para a obteno do grau de
Mestre em Cincia da Computao.

Orientador: Prof. Dr. Daniel Fernandes Macedo


Coorientador: Prof. Dr. Aldri Luiz dos Santos

Belo Horizonte
Junho de 2016

c 2016, Josu Batista Antunes.
Todos os direitos reservados.

Antunes, Josu Batista

A636p Uma Plataforma para Gerenciamento e Aplicaes


em Internet das Coisas / Josu Batista Antunes.
Belo Horizonte, 2016
xxiii, 87 f. : il. ; 29cm

Dissertao (mestrado) Universidade Federal de


Minas Gerais
Orientador: Prof. Dr. Daniel Fernandes Macedo
Coorientador: Prof. Dr. Aldri Luiz dos Santos

1. Computao - Teses. 2. Internet das coisas.


3. Gerenciamento da internet das coisas. I. Orientador.
II. Coorientador. III. Ttulo.

CDU 519.6*71(043)
Aos meus pais, Batista e Elza, por acreditarem na educao desde o princpio e
minha esposa Gislane Cerqueira pelo apoio e confiana.

vii
Agradecimentos

minha famlia, que sempre dedicou todos os seus recursos para apoiar minhas escolhas
acadmicas e profissionais, em especial aos meus pais, esposa e irmos.
Ao IFNMG campus Araua, em especial aos colegas do Ncleo de Informtica
por atender o meu pedido e permitir o afastamento para capacitao.
Ao meu orientador, professor Daniel Macedo, pela enorme pacincia com as mi-
nhas deficincias. Agradeo pelo apoio e pela dedicao, sempre indicando o melhor
caminho para que este trabalho se concretizasse.
Ao meu coorientador, professor Aldri dos Santos, que atravs da sua extensa
experincia, contribuiu para o desenvolvimento e a escrita deste trabalho.
Ao programa PBQS-IFNMG, pelo apoio financeiro concedido durante o perodo
de capacitao, que foi de suma importncia para alcanar as metas traadas no seu
devido tempo.
Aos colegas e professores do PPGCC-UFMG e do Laboratrio Winet, em especial
aos integrantes do projeto de pesquisa em IoT, Tiago, Marconi e Istvn que tiveram
uma contribuio fundamental no desenvolvimento deste trabalho.
A todos os amigos que fiz durante o tempo que fui Belo Horizontino, ao meu
amigo e colega Carlos Anderson pelo apoio nas primeiras semanas, aos meus amigos
Claudionor e Val pelos momentos de lazer. Enfim, a todos aqueles que no citei aqui,
mas que diretamente ou indiretamente contriburam de alguma forma para a execuo
deste trabalho.
A todos, os meus sinceros agradecimentos.

ix
A tarefa de viver dura, mas fascinante.
(Ariano Suassuna)

xi
Resumo

A Internet das Coisas (Internet of Things - IoT) um paradigma que envolve uma vari-
edade de dispositivos, denominados coisas, com capacidade de se conectarem Internet
e interagirem uns com os outros para atingir objetivos comuns. Tomando como base
essa capacidade de comunicao, podemos criar solues para integrar e gerenciar as
funcionalidades individuais dos dispositivos e fornecer novos servios, como utilizar os
dados de um sensor para configurar a funcionalidade de um atuador. Um dos desafios
da IoT consiste na heterogeneidade dos dispositivos que compem a rede, onde cada
objeto pode possuir diferentes capacidades de processamento ou padro de comunica-
o diferente. Isso demanda um sistema de gerenciamento de configurao dinmico
e ciente de contexto. Contudo, os trabalhos atualmente encontrados na literatura no
apresentam plataformas gerenciais que tratem de modo integrado questes essenciais
IoT, como gerenciamento multinvel, por contexto e a escalabilidade. Logo, elas se
limitam a solucionar problemas de um domnio especfico, e portanto sendo insuficien-
tes. Esta dissertao apresenta uma plataforma para o gerenciamento dos dispositivos
e aplicaes em IoT, chamada ManIoT (Management for Internet of Things), que,
tendo como base os requisitos para a IoT, atua em mbito local e global e considera a
percepo do contexto. A diviso em dois nveis objetiva fornecer servios dentro de
um cenrio (mbito local) e para mltiplos cenrios a partir de diretivas de alto nvel
(mbito global). Essa dissertao aborda ainda o gerenciamento de mltiplas aplica-
es e mltiplos usurios, que prev e trata problemas como conflitos e prioridade de
execuo. Um prottipo da plataforma para monitorar aplicaes e dispositivos foi
implementado. Os experimentos com cenrios distintos mostraram que ManIoT for-
nece a estrutura necessria para a execuo de mltiplas aplicaes e servios, tratando
a integrao entre dispositivos, aplicaes e dispositivos heterogneos. Os resultados
mostraram ainda que ManIoT faz baixo uso de recursos computacionais, podendo,
assim, ser executada em dispositivos residenciais com capacidade de processamento.

Palavras-chave: Internet das Coisas, Plataforma de Gerenciamento, ManIoT.

xiii
Abstract

The Internet of Things (IoT) paradigm encompasses a variety of devices, called things,
with the ability to connect to the Internet and interact with each other to achieve com-
mon goals. Due to this ability to communicate, it is necessary to create solutions to
integrate and manage the individual features of devices and provide new services, such
as making use of data from a sensor to decide on an actuator. One of the challenges of
IoT consists on the heterogeneity of the devices in the network, since each object may
have different processing capabilities and/or communication standards. This requires
a dynamic and context-aware configuration management system. However, the state of
the art lacks management platforms that address the key issues of IoT in an integrated
manner, such as multi-level management, context awareness and scalability. Further-
more, those works are restricted to a specific domain, and are therefore insufficient.
This dissertation presents a platform that manages devices and applications on the
Internet of Things, called ManIoT (Management for Internet of Things). It operates
in local and global levels, and considers the perception of context. The division into
two levels allows local control within a scenario (local level), while high-level policies
are used to control multiple scenarios (global level). This dissertation also deals with
the management of multiple applications and multiple users, treating problems such as
conflicting commands and execution priority. A prototype of the platform was imple-
mented, and experiments with different scenarios have shown that ManIoT supports
applications and services that employ heterogeneous devices. The results indicate that
ManIoT makes minimal use of computing resources and can thus be run in residential
devices with modest processing capacity.

Keywords: Internet of Things, Management Platform, ManIoT.

xv
Lista de Figuras

1.1 Topologia da Plataforma ManIoT . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 Componentes dos sistemas de gerncia de redes, [Kurose & Ross, 2010]. . . 16
2.2 Arquitetura de Referncia para IoT (IoT-A), [Bassi et al., 2013]. . . . . . . 20

3.1 Processo de Autenticao definido por Pereira et al. [2014] . . . . . . . . . 28

4.1 Topologia da Plataforma ManIoT, Destacando os Gerentes Global, Locais


e os Dispositivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Plataforma ManIoT: gerente local. . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Plataforma ManIoT: gerente global. . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Exemplo do Modelo de Informao da Plataforma ManIoT . . . . . . . . . 46
4.5 Relao entre usurios, aplicaes e recursos da plataforma ManIoT. . . . 51

5.1 Gerente Local da Plataforma ManIoT com Destaque para os Componentes


Implementados no Prottipo. . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2 Exemplo do Modelo de Dados da Plataforma ManIoT . . . . . . . . . . . . 59
5.3 Kit - Lmpadas Inteligentes Philips Hue . . . . . . . . . . . . . . . . . . . 60
5.4 Dispositivo Controlador de Tomada WeMo Insight Switch . . . . . . . . . 60
5.5 Dispositivo Plataforma Iris Mote . . . . . . . . . . . . . . . . . . . . . . . 61
5.6 Kit - Dispositivo RFID Alien 9900 . . . . . . . . . . . . . . . . . . . . . . 62
5.7 Dispositivo Tablet Samsung Galaxy Tab 2 7.0 . . . . . . . . . . . . . . . . 62
5.8 Cenrios Implementados no Prottipo ManIoT . . . . . . . . . . . . . . . . 64

6.1 Percentual de consumo de CPU - Cenrio Tecnologia Assistiva (Processo P1). 70


6.2 Percentual de consumo de CPU - Cenrio Tecnologia Assistiva (Processo P2). 71
6.3 Troca de dados entre ManIoT e os dispositivos - Cenrio Tecnologia Assis-
tiva (Processo P1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.4 Troca de dados entre ManIoT e os dispositivos - Cenrio Tecnologia Assis-
tiva (Processo P2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

xvii
6.5 Percentual de consumo de CPU - Cenrio Iluminao Inteligente. . . . . . 74
6.6 Troca de dados entre ManIoT e os dispositivos - Cenrio Iluminao Inte-
ligente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.7 Percentual de consumo de CPU - Cenrio Automao de Tarefas. . . . . . 77
6.8 Troca de dados entre ManIoT e os dispositivos - Cenrio Automao de
Tarefas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

xviii
Lista de Tabelas

3.1 Caractersticas dos trabalhos relacionados e da soluo proposta . . . . . . 32

4.1 Matriz de Permisses (NP - nenhuma permisso; RD - permisso de leitura;


WR - permisso de escrita; CR - permisso de controle) . . . . . . . . . . . 54

5.1 Tabela RECURSO - Banco de Dados ManIoT . . . . . . . . . . . . . . . . 63


5.2 Tabela DADOS - Banco de Dados ManIoT . . . . . . . . . . . . . . . . . . 64

6.1 Tempo de Reao - Iluminao Inteligente . . . . . . . . . . . . . . . . . . 73


6.2 Reao da plataforma - Automao de Tarefas . . . . . . . . . . . . . . . . 76

xix
Sumrio

Agradecimentos ix

Resumo xiii

Abstract xv

Lista de Figuras xvii

Lista de Tabelas xix

1 Introduo 1
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Organizao do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Conceitos Fundamentais 7
2.1 Internet das Coisas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Gerenciamento para Redes Tradicionais . . . . . . . . . . . . . . . . . . 14
2.3 Gerenciamento para IoT . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.1 Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.2 Arquiteturas de Referncia para IoT . . . . . . . . . . . . . . . 19
2.3.3 Aspectos Ligados a Segurana . . . . . . . . . . . . . . . . . . . 20
2.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Arquiteturas e Plataformas de Gerenciamento para Internet das


Coisas 23
3.1 Arquiteturas para Gerenciamento dos Dispositivos e Dados da IoT . . . 24

xxi
3.1.1 Cincia do Contexto . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.2 Segurana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.3 Extensibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Plataformas de Gerenciamento para IoT . . . . . . . . . . . . . . . . . 29
3.3 Principais Caractersticas das Arquiteturas e Plataformas para IoT . . 31
3.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Plataforma ManIoT - Management for the Internet of Things 35


4.1 Requisitos e Terminologia . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Descrio da Plataforma ManIoT . . . . . . . . . . . . . . . . . . . . . 38
4.2.1 Componentes de Software do Gerente Local . . . . . . . . . . . 40
4.2.2 Componentes de Software do Gerente Global . . . . . . . . . . . 43
4.2.3 Comunicao entre Gerente Local e Global . . . . . . . . . . . . 44
4.2.4 Modelo de Informao . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Gerenciamento Multiusurio e Multiaplicao . . . . . . . . . . . . . . 48
4.3.1 Modelo de Autorizao e Gerenciamento de Conflitos . . . . . . 49
4.3.2 Modelagem das Permisses . . . . . . . . . . . . . . . . . . . . . 54
4.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5 Implementao do Prottipo 57
5.1 Descrio da Implementao . . . . . . . . . . . . . . . . . . . . . . . . 57
5.2 Modelo de Dados Para Armazenamento e Comunicao . . . . . . . . . 59
5.3 Dispositivos Utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4 Comunicao entre o Prottipo e os Dispositivos . . . . . . . . . . . . . 62
5.5 Cenrios Implementados . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.6 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6 Avaliao do Prottipo da Plataforma ManIoT 69


6.1 Cenrio 1: Tecnologia Assistiva . . . . . . . . . . . . . . . . . . . . . . 69
6.1.1 Consumo de Recursos: Memria e CPU . . . . . . . . . . . . . . 70
6.1.2 Consumo de Banda . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 Cenrio 2: Iluminao Inteligente . . . . . . . . . . . . . . . . . . . . . 73
6.2.1 Consumo de Recursos: Memria e CPU . . . . . . . . . . . . . . 73
6.2.2 Consumo de Banda . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.3 Cenrio 3: Automao de Tarefas . . . . . . . . . . . . . . . . . . . . . 75
6.3.1 Consumo de Recursos: Memria e CPU . . . . . . . . . . . . . . 76
6.3.2 Consumo de Banda . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4 Discusso dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 77

xxii
6.5 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

7 Concluses 79
7.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Referncias Bibliogrficas 83

xxiii
Captulo 1

Introduo

A Internet das Coisas (IoT - Internet of Things) um paradigma onde uma variedade
de dispositivos, como Tags e leitoras RFID (Radio-Frequency IDentification), ns sen-
sores, telefones celulares, e objetos cotidianos (como lmpadas, geladeiras e outros),
so habilitados para interagir entre si e atingir objetivos comuns [Atzori et al., 2010].
A IoT traz, entre outros benefcios, a coleta de dados dos dispositivos e das suas con-
dies operacionais em tempo real. Com esses dados, podemos automatizar tarefas
domsticas, melhorar as tomadas de decises nas empresas e entender os processos que
ocorrem no ambiente onde as redes IoT esto inseridas.
De acordo com IBSG-Cisco [2011] (Internet Business Solutions Group), em 2010,
mais de 12,5 bilhes de dispositivos estavam conectados Internet. E a previso para
cerca de 50 bilhes de dispositivos conectados at 2020. Diante do grande nmero de
dispositivos conectados Internet, surge a necessidade de criar mecanismos que pro-
veem gerenciamento e controle desses dispositivos. Acreditamos que o gerenciamento
eficiente dos dispositivos poder garantir a continuidade da conexo, melhorar o uso
dos recursos disponveis e contribuir para alcanar uma rede com servios de melhor
qualidade.
Atravs do gerenciamento, podemos usar os recursos oferecidos pela IoT para
fornecer servios que vo atender diversas reas. Entre as mais promissoras esto os
servios de apoio sade, infraestrutura e servios do setor pblico. O monitoramento
remoto em sade, por exemplo, proporciona uma grande diferena na vida de pessoas
com doenas crnicas e, simultaneamente, diminui os custos de cuidados com a sade
desses pacientes. A automao residencial usando IoT permite que dispositivos, tais
como termostatos inteligentes, adequem a temperatura do ambiente e que lmpadas
sejam controladas distncia, em tarefas de segurana e economia de energia. No
entanto, a IoT apresenta muitos desafios no seu gerenciamento at que se propicie

1
2 Captulo 1. Introduo

servios inteligentes e integrados a qualquer momento e em qualquer lugar.


Podemos elencar alguns desafios ligados IoT. O primeiro, e principal, est rela-
cionado heterogeneidade dos dispositivos que compem a IoT. Segundo Atzori et al.
[2010] a IoT utiliza diferentes formatos e tipos de dados para descrever o status das
coisas. Esses tipos de dados variam entre inteiro, caractere, e outros, incluindo dados
semi-estruturados e no estruturados, tais como udio e vdeo. Alm disso, cada objeto
tem uma capacidade de processamento diferente e possui uma forma de comunicao
prpria. Finalmente, fatores como a impreciso dos dados produzidos (sistemas RFID
podem gerar entre 60 e 70% de dados incorretos), o grande conjunto de dados pro-
duzidos em tempo real e a semntica implcita impem desafios na configurao dos
ambientes da IoT [Meng et al., 2013].
O gerenciamento de IoT mais complexo que o gerenciamento de Redes de Sen-
sores Sem Fio (RSSF) ou de redes IP. As redes IP, apesar de tratarem dispositivos com
hardware e software heterogneos, empregam mecanismos de comunicao homogneos
devido ao uso do protocolo IP. As RSSF devem gerenciar as falhas frequentes de comu-
nicao e a baixa segurana dos enlaces sem fio (por exemplo a arquitetura MANNA
[Ruiz et al., 2003]) e este gerenciamento deve ser ciente do contexto. Entretanto, os
dispositivos de uma RSSF, em geral, tendem a ser mais homogneos em configurao
que na IoT. Nas redes IoT, alm dos desafios acima, elas precisam suportar aplicaes
e servios que envolvem: (i) o uso de dispositivos de caractersticas diferentes; (ii) a
interao entre redes IoT, necessitando gerenciamento local (por exemplo o dono da
casa) e global (a concessionria de energia, que procura reduzir a demanda em horas de
pico), ambos cientes do contexto. As arquiteturas (ver Figura 2.2, [Bassi et al., 2013])
e plataformas de gerenciamento em IoT existentes, entretanto, atendem parcialmente
a estes requisitos [Pires et al., 2015].
Neste trabalho desenvolvemos uma plataforma que atua em mbito local (dentro
de uma residncia) e global e faz uso de dispositivos heterogneos, Figura 1.1. No
Captulo 4 detalhamos todos os componentes da plataforma.

1.1 Objetivos
Neste trabalho, propomos um projeto para plataforma para gerenciamento de disposi-
tivos em Internet das Coisas chamada ManIoT (Management for Internet of Things)
e implementamos e avaliamos um prottipo. A plataforma integra e gerencia as funci-
onalidades individuais dos dispositivos em uma rede IoT e permite a criao de novos
servios cientes do contexto. O projeto ManIoT define uma estrutura de gerenciamento
1.1. Objetivos 3

Gerente Data Center


Global

Polticas de Alto Nvel


Residncia

Gerente
ou
Local

Comandos/Leituras

Coisas

Figura 1.1. Topologia da Plataforma ManIoT

em dois escopos: gerenciamento local, onde a aplicao executada no mesmo ambiente


que os dispositivos, e gerenciamento global, onde as aplicaes fornecem indicativos de
operao para as aplicaes locais atravs de diretivas de alto nvel. Para executar o
mdulo local pretendemos utilizar equipamentos comuns em residncias e que tenham
capacidade modestas de processamento, como TVs e roteadores domsticos. O projeto
da plataforma prev ainda servios genricos, tais como descoberta de ns, armazena-
mento de dados e autenticao, que so blocos bsicos para a construo de aplicaes
IoT. Alm disso, a estrutura da plataforma expansvel, permitindo a adio de novos
tipos de dispositivos.
Alm da integrao e controle das funes dos dispositivos, a plataforma proposta
prev o gerenciamento de conflitos, usurios e de aplicaes. Entre os dispositivos que
sero gerenciados pelo prottipo temos lmpadas inteligentes, controladores/sensores
de tomadas, recursos de um smartphone (localizao e sensor de luminosidade), dispo-
sitivos de identificao (RFID) e ns de redes de sensores sem fio.
4 Captulo 1. Introduo

O trabalho foi desenvolvido em fases. Inicialmente, definimos os requisitos e es-


pecificamos as aes que devem ser tomadas no gerenciamento. Detalhamos o que
iremos gerenciar nos dispositivos. Em seguida, criamos os casos de uso e definimos os
detalhes do projeto, como o modelo de camadas da plataforma ManIoT, ferramentas e
protocolos que devem ser utilizados, entre outros. Aps a fase de especificao, imple-
mentamos o prottipo ManIoT e realizamos os testes. Atravs do prottipo, avaliamos
parte das funcionalidades especificadas e do desempenho da plataforma proposta, como
uso de rede, CPU e tempo de reao. Nas avaliaes utilizamos dispositivos e cenrios
reais. Por fim, conclumos a pesquisa com a apresentao da dissertao.
Avaliamos a plataforma proposta atravs de um prottipo que integra dispositivos
com caractersticas diferentes. Os resultados dos testes com cenrios e dispositivos reais
mostraram que a plataforma ManIoT faz uso mnimo de recursos computacionais e de
rede, podendo assim ser executada em equipamentos de baixo poder computacional,
como TV ou Gateway.

1.2 Contribuies
O desenvolvimento da proposta, do prottipo e os respectivos resultados obtidos nos
testes da plataforma ManIoT trazem as seguintes contribuies:

Especificao de uma plataforma para gerenciamento de dispositivos composta


por: (i) um modelo de gerenciamento com dois escopos, (local e global) que
possibilitam o gerenciamento em dois nveis, onde as decises globais (executadas
remotamente) podem sobrescrever as decises locais; (ii) funes modeladas em
camadas; (iii) mecanismos que permitem a expanso de servios oferecidos por
cada dispositivo individualmente.

Modelagem de uma proposta envolvendo o uso de dados de contexto para dina-


mizar os servios oferecidos.

A implementao de um prottipo composto por dispositivos com diferentes ca-


ractersticas.

Avaliao da plataforma proposta utilizando, para isso, cenrios e dispositivos


reais.

Em paralelo com a escrita desta dissertao elaboramos e publicamos um artigo


chamado ManIoT: Uma Plataforma para Gerenciamento de Dispositivos da Internet
1.3. Organizao do Texto 5

das Coisas no XXI Workshop de Gerncia e Operao de Redes e Servios (WGRS)1 .


Alm do artigo, dois alunos de Iniciao Cientifica e um de Monografia Final, ambos
do Departamento de Cincia da Computao da UFMG, desenvolveram seus trabalhos
utilizando como base a proposta da plataforma ManIoT. E, por fim, temos um projeto
de pesquisa aceito (Edital No 01/2016 - IFNMG - Campus Araua), com dois alunos de
iniciao cientifica (Programa PIBIC-Jr do IFNMG), que tambm tem este trabalho
como base.

1.3 Organizao do Texto


A dissertao est organizada em sete captulos. O captulo 2 apresenta os conceitos
fundamentais sobre internet das coisas e gerenciamento de redes. Identificamos os ele-
mentos bsicos, desafios e as reas de aplicao das redes IoT, em seguida, fizemos uma
reviso do gerenciamento para redes tradicionais. Revisamos tambm o gerenciamento
para redes IoT, apresentando as caractersticas e desafios especficos encontrados nessas
redes. Conclumos o captulo fazendo uma relao entre gerenciamento para redes de
sensores sem fio e redes IoT.
No captulo 3, apresentamos as arquiteturas e plataformas encontradas na litera-
tura voltadas para gerenciamento de redes IoT. Relacionamos as arquiteturas que pro-
veem os requisitos de cincia do contexto, segurana e extensibilidade. Diferenciamos,
para contextualizao deste trabalho, as arquiteturas das plataformas e apresentamos
exemplos, destacando as principais caractersticas de cada soluo. Em seguida, con-
clumos o captulo fazendo a observao que as solues analisadas no apresentam de
forma satisfatria um modelo que possa atender todos os requisitos das redes IoT.
No captulo 4, apresentamos a plataforma ManIoT. Destacamos inicialmente os
requisitos e terminologias utilizadas neste trabalho, e logo em seguida, iniciamos a
descrio da plataforma. Descrevemos o projeto do gerente local e gerente global
que se apresenta como uma das principais contribuies deste trabalho. Destacamos
e detalhamos os componentes de software que formam a plataforma e o relaciona-
mento/comunicao entre eles. Criamos, ainda, um modelo de informao da plata-
forma que encapsula as operaes sobre os elementos gerenciados. Em seguida, apre-
sentamos o gerenciamento para mltiplas aplicaes e mltiplos usurios da plataforma
ManIoT. Destacamos a definio de um algoritmo para gerenciamento de conflitos que
deve definir qual usurio ou aplicao tem permisso sobre um dispositivo de forma

1
WGRS 2016 - http://www.sbrc2016.ufba.br/workshop/wgrs/
6 Captulo 1. Introduo

simples e prevendo o uso de dados do contexto. Por fim, sintetizamos e destacamos os


pontos mais relevantes da plataforma desenvolvida.
O captulo 5 descreve a implementao do prottipo da plataforma ManIoT. Re-
lacionamos os equipamentos utilizados, modelo de dados definido para criao do banco
de dados. Em seguida descrevemos a comunicao entre plataforma e os dispositivos,
e caracterizamos os cenrios utilizados para realizao dos testes. Conclumos o cap-
tulo enfatizando que as decises sobre o uso de ferramentas, protocolos, entre outros,
usados na implementao tiveram como embasamento terico os trabalhos descritos no
Captulo 3, alm disso, criamos novas abordagens, como trs cenrios para realizao
dos testes com dispositivos e ambientes reais.
No captulo 6 apresentamos os resultados dos testes. O captulo foi dividido em
trs partes, onde cada parte aborda um cenrio. Em cada cenrio destacamos o con-
sumo de recursos, como memria, CPU e banda de rede, pelo prottipo da plataforma
ManIoT. Apresentamos, ainda, outros parmetros de avaliao de desempenho, como
tempo de resposta. Por fim, conclumos o captulo ressaltando que o prottipo ManIoT
faz uso mnimo de recursos computacionais e poderia ser executado em dispositivos me-
nos potentes, como televisores ou gateways IoT.
O captulo 7 apresenta as concluses obtidas com o trabalho. Destacamos as
contribuies deste trabalho, como a definio de um plataforma genrica e escalvel
e que emprega uma estrutura em dois nveis de gerenciamento e promove a integrao
de vrios dispositivos. Destacamos tambm que ManIoT faz uso dos dados de contexto
e cria possibilidades para expanso dos servios oferecidos pela rede. Na concluso
destacamos ainda o projeto para gerenciamento de mltiplas aplicaes e mltiplos
usurios. Em seguida, enfatizamos que um prottipo da plataforma foi implementado e
experimentos foram realizados considerando um ambiente residencial composto por trs
cenrios. Por fim, para trabalhos futuros propomos a definio de novos componentes
da plataforma e de novos cenrios.
Captulo 2

Conceitos Fundamentais

Uma rede formada por coisas/dispositivos envolve diversos aspectos, a saber, hardware,
software (protocolos), modelos, padres, entre outros. Assim, necessrio definir al-
guns conceitos iniciais, elencar os desafios, e destacar a relao entre IoT e outras redes
similares.
Neste captulo iremos descrever os conceitos bsicos sobre Internet das Coisas,
gerenciamento de redes e gerenciamento para IoT. Na Seo 2.1 apresentamos os con-
ceitos de Internet das Coisas e relacionamos as caractersticas dos dispositivos que
compem essas redes. Na Seo 2.2 descrevemos os conceitos ligados ao gerenciamento
de redes, como formas de autenticao e de controle de acesso. E na Seo 2.3 tratamos
o gerenciamento para Internet das Coisas, destacando os requisitos, as arquiteturas e
plataformas de referncia e os aspectos ligados a segurana.

2.1 Internet das Coisas


A Internet das Coisas (IoT - Internet of Things) um novo paradigma que surgiu e
est rapidamente ganhando terreno no cenrio das telecomunicaes. A ideia bsica
desse conceito a possibilidade de interao, atravs de uma conexo com a Internet,
entre diversos dispositivos chamados de Coisas - como Sensores, Celulares, Etiquetas,
Lmpadas, etc. - para alcanar objetivos comuns [Atzori et al., 2010].
A IoT baseada no sucesso das redes mveis e da Internet. De acordo com a ITU
[2005], as redes IoT do futuro sero capazes de detectar e monitorar em tempo real
as mudanas no estado fsico de dispositivos interligadas em rede. Segundo Miorandi
et al. [2012] a IoT traz a mudana de uma Internet usada para interligar dispositivos de
usurios finais para uma Internet usada para interligar objetos fsicos que comunicam
uns com os outros e/ou com seres humanos para oferecer um dado servio.

7
8 Captulo 2. Conceitos Fundamentais

A IoT trouxe o conceito de dispositivos inteligentes, e esses dispositivos podem


interagir com os componentes de redes existentes, como terminais, roteadores, entre
outros, [Marotta et al., 2013]. Esses dispositivos inteligentes devem possuir algumas
caractersticas bsicas como:

Ter um formato fsico, como tamanho, forma, etc.

Ter um conjunto mnimo de funcionalidades de comunicao, como capacidade


de ser descoberto, aceitar mensagens e responder a elas.

Possuir um identificador nico e responder atravs desse identificador.

Possuir alguma capacidade de computao, que vai desde o envio de resposta


para uma mensagem at a execuo de operaes complexas.

Em alguns casos, meios para detectar fenmenos fsicos, por exemplo, sensores
de temperatura, de iluminao e umidade.

A IoT um paradigma que une componentes fsicos com solues em software.


A prxima seo descreve esses componentes e suas respectivas funes.

2.1.1 Elementos
A Internet das Coisas formada por trs componentes [Gubbi et al., 2013]: pelo Hard-
ware, responsvel pelo processamento e armazenamento das informaes, atravs dos
sensores e atuadores e hardware de comunicao embutidos; pelo Middleware, na de-
manda por armazenamento e ferramentas computacionais para anlise de dados e;
Software de Apresentao, ferramentas para entender, visualizar e interpretar os da-
dos de diversas plataformas projetadas para diferentes aplicaes. Existem algumas
tecnologias facilitadoras que representam os trs componentes acima referidos.
Como exemplo para componente de hardware da IoT temos a tecnologia RFID.
Ela auxilia na identificao automtica de qualquer coisa, agindo como um cdigo
de barras eletrnico. As aplicaes que utilizam RFID podem ser encontradas no
transporte de pessoas(substituindo os bilhetes e registos de automveis) e aplicaes de
controle de acesso. Entre as vrias aplicaes do RFID, a principal est na identificao
de containers porturios para monitoramento de carga [ITU, 2005].
Um dos resultados mais importantes do crescimento da IoT o surgimento de
uma quantidade dados sem precedentes. O armazenamento, a propriedade e a validade
dos dados tornam-se questes crticas. Alm disso, como o dinamismo da IoT novos
algoritmos de fuso de dados precisam ser desenvolvidos para dar sentido aos dados
2.1. Internet das Coisas 9

coletados. Mtodos de aprendizagem de mquina temporais com base em algoritmos


evolutivos, algoritmos genticos, redes neurais e outras tcnicas de inteligncia artificial
so necessrias para alcanar tomadas de decises automatizadas [Gubbi et al., 2013].

A comunicao entre dispositivos da IoT realizada atravs de diversos proto-


colos e essa conexo entre mltiplos dispositivos, segundo ITU [2005], uma tarefa
desafiadora. Os dispositivos podem ser ligados atravs de redes cabeadas (wireline)
ou redes sem fio (wireless). Entretanto, a fixao e manuteno de cabos pode ter
um custo alto alm de demandar muito tempo. Assim, a IoT usa prioritariamente os
protocolos de redes sem fio para ligar os dispositivos.

A IoT faz uso de protocolos de comunicao padronizados e protocolos especfi-


cos para dispositivos restritos. Os protocolos padronizados so aqueles j conhecidos e
usados em outras redes, como as redes de computadores tradicionais, Ad Hoc e RSSF
(redes constitudas por centenas ou milhares de ns sensores e que tm a capacidade de
deteco, processamento e comunicao, usando para isso meios sem fios [Ruiz et al.,
2003]). J os protocolos especficos so adaptados para atender s limitaes dos dis-
positivos conectados. Entre os procolos padres temos o Wi-Fi, Bluetooth1 , Ethernet,
3G, 4G-LTE e HTTP (Hypertext Transfer Protocol ). J no grupo dos protocolos es-
pecficos temos como uma das principais caractersticas a aptido para funcionamento
em dispositivos de baixa capacidade, temos como exemplos o ZigBee2 , Z-Wave3 , NFC4
(Near Field Communication), 6LoWPAN (IPv6 over Low power Wireless Personal
Area Networks) [Mulligan, 2007], RPL (Routing Protocol for Low Power and Lossy
Networks) [Winter, 2012], COAP5 (The Constrained Application Protocol ), RFID, en-
tre outros.

Com os recentes avanos em tecnologias, solues como telas sensveis ao toque,


tornaram-se muito intuitivas. Para que um leigo possa se beneficiar plenamente da
IoT, devem ser criadas formas atraentes de visualizao e compreenso dos dados.
medida que avanamos de telas 2D para 3D, mais informaes podem ser fornecidas
de forma significativa para os consumidores. A extrao de informaes significativas
a partir de dados brutos no trivial. Isto engloba tanto a deteco e visualizao de
eventos quanto a identificao de dados relacionados [Gubbi et al., 2013].

1
Bluetooth - https://www.bluetooth.com/
2
ZigBee - http://www.zigbee.org/
3
Z-Wave - http://www.z-wave.com/
4
NFC - http://nfc-forum.org/
5
COAP - http://coap.technology/
10 Captulo 2. Conceitos Fundamentais

2.1.2 Desafios
A IoT possui alguns desafios que esto sendo tratados pela indstria e comunidade
acadmica em geral. Entre os desafios mais relevantes podemos destacar [Atzori et al.,
2010]:
Definio de Padres: existem diversas propostas de normalizao, mas elas
no esto integradas em um mesmo framework. Cabe destacar aqui duas formas de
padronizao de dados para prover comunicao entre os mdulos de uma soluo de
gerenciamento chamados modelo de dados e modelo de informao.
O Modelo de Informao (IM - Information Model ) uma representao concei-
tual ou abstrata das operaes possveis nos elementos gerenciados, j o Modelo de
Dados (DM - Data Model ) especifica os dados com detalhes suficientes para armaze-
nar e/ou transmitir as informaes. IM e DM tm um papel de modelar e criar uma
interface comum para permitir que o gerente da rede possa extrair suas informaes
e executar seu controle sobre os equipamentos gerenciados. Segundo Pras & Scho-
enwaelder [2003], o principal objetivo de um IM modelar objetos gerenciados em um
nvel conceitual, independente da implementao ou protocolo especfico usado para
transportar os dados. Ainda segundo Pras & Schoenwaelder [2003], o grau de deta-
lhe das abstraes definidas no IM depende das necessidades de modelagem de seus
projetos. Assim, para deixar o projeto claro, um IM deve esconder todos os detalhes
do protocolo e implementao. Outra caracterstica importante de um IM que ele
define as relaes entre objetos gerenciados. IMs podem ser definidos usando uma
linguagem formal ou uma linguagem estruturada semi-formal. Uma das possibilidades
para especificar formalmente um IM utilizar diagramas de classe da UML (Unified
Modeling Language) [Pras & Schoenwaelder, 2003]. J os DMs so definidos em um
nvel mais baixo de abstrao, se comparados com os IMs. O DM deve incluir muitos
detalhes sobre o formato e codificao dos dados. A maioria dos modelos padronizados
em IoT so DMs.
Suporte Mobilidade: existem vrias propostas para gerenciamento de dis-
positivos, mas nenhuma trata ou d apoio mobilidade no cenrio da Internet das
Coisas, onde a escalabilidade e capacidade de adaptao s tecnologias heterogneas
representam problemas cruciais.
Servio de Nomes: uma rede IoT requer um servidor ONS - Object Name
Servers(similar aos servios de DNS - Domain Name System, para redes tradicionais).
Esse servidor necessrio para mapear uma referncia para descrio de um dispositivo
especfico e um identificador relacionado, e vice-versa.
Protocolo de Transporte: os protocolos de transporte existentes, segundo
2.1. Internet das Coisas 11

Atzori et al. [2010], falham nos cenrios da IoT pois seus mecanismos para estabeleci-
mento de conexo e controle de congestionamento podem ser inteis devido a falta de
estabelecimento de conexo, comunicao fim-a-fim e buffer de memria na origem e
destino.
Caracterizao de Trfego e Suporte a QoS - Quality of Service: IoT
gera um trfego de dados com padres significativamente diferentes daqueles observados
na Internet atual. Segundo Atzori et al. [2010] as caractersticas do trfego em redes
de sensores sem fio dependem fortemente do cenrio de aplicao. Consequentemente,
tambm ser necessrio definir novos requisitos de QoS.
Autenticao: a autenticao difcil pois requer infraestrutura apropriada que
no estaro disponveis em cenrios da IoT. Alm disso, os dispositivos tm recursos
escassos quando comparados com dispositivos de comunicao e computao atuais.
Privacidade: diversas de informaes privadas sobre uma pessoa, como locali-
zao, podem ser coletadas pelas aplicaes sem a conscincia dessa pessoa. O controle
sobre a coleta e difuso de todas as informaes, segundo Atzori et al. [2010], impos-
svel com tcnicas atuais.
Esquecimento Digital: as informaes coletadas pela IoT sobre uma pessoa
podem ser mantidas por longo perodo. Tcnicas de minerao de dados tambm
podem ser usadas para recuperar facilmente qualquer informao, mesmo depois de
vrios anos. necessrio ento definir mecanismos para destruir ou proteger esses
dados.
Assim como a quantidade de desafios, o nmero de reas e aplicaes que podem
se beneficiar com as solues da IoT tambm so grandes. Na prxima seo faremos
um levantamento das principais aplicaes para IoT.

2.1.3 Aplicaes
Segundo Miorandi et al. [2012] existem diversas classes/categorias de aplicaes e se-
tores do mercado onde as solues da IoT podem proporcionar vantagens competitivas
sobre as solues atuais. Essas aplicaes abrangem diversos domnios: monitoramento
ambiental, cidades inteligentes, smart business, casas inteligentes, sade, segurana e
vigilncia, entre outros.
Os edifcios ou casas inteligentes podem ser equipados com tecnologias avan-
adas da IoT. A IoT pode ajudar tanto na reduo do consumo de recursos associados
aos edifcios (eletricidade, gua), bem como na melhoria do nvel de satisfao das pes-
soas. O impacto tanto em termos econmicos (na reduo de despesas operacionais),
quanto em termos sociais (com reduo da emisso de carbono). Nessas aplicaes, um
12 Captulo 2. Conceitos Fundamentais

papel chave desempenhado pelos sensores, que so usados para ambos os monitores
de consumos, bem como detectar proativamente as atuais necessidades dos usurios.
Esse cenrio pode integrar um certo nmero de subsistemas diferentes, e, portanto,
exigir um elevado nvel de padronizao para assegurar interoperabilidade.
As cidades inteligentes surgem por meio da implantao de infraestrutura de
comunicao e servios sobre toda a cidade. As tecnologias da IoT podem, por exemplo,
ser usadas para fornecer sistemas de controle de trfego avanados. possvel monito-
rar o trfego de automveis nas grandes cidades ou estradas e implantar servios que
ofeream sugestes de rotas de trfego para evitar congestionamento. Os sistemas de
estacionamento inteligente, baseados em tecnologias RFID e sensores, podem monito-
rar vagas livres e melhorar assim a mobilidade na rea urbana. Alm disso, os sensores
podem monitorar o fluxo de trfego de veculos em rodovias e recuperar informaes
agregadas, como velocidade mdia e nmero de carros. Por fim, os sensores podem ser
utilizados em um ambiente forense, atravs da deteco de violaes e transmitindo os
dados relevantes para as agncias de aplicao da lei, a fim de identificar o infrator.
As solues da IoT podem ser aplicadas para monitoramento ambiental. Nes-
sas solues, um papel fundamental da IoT desempenhado pela capacidade de de-
teco, de forma distribuda e auto-gesto de fenmenos e processos naturais (por
exemplo, temperatura, vento, precipitao, nveis do rios), bem como a capacidade de
integrar esses dados heterogneos em aplicaes remotas/globais. O processamento de
informaes em tempo real, juntamente com a capacidade de um grande nmero de
dispositivos para comunicar entre si, fornecem uma plataforma slida para detectar
e monitorar anomalias que podem implicar riscos para a vida humana e animal. Os
dispositivos da IoT podem atuar no acesso a reas crticas, em que a presena de ope-
radores humanos podem representar um risco (por exemplo, reas vulcnicas, abismos
ocenicos, reas remotas). A segurana ambiental pode se beneficiar da capacidade de
deteco dos dispositivos da IoT atravs da identificao de incndios (por exemplo,
atravs de sensores de temperatura).
A IoT pode fornecer uma srie de aplicaes para cuidados com a sade. Elas
podem ser utilizadas para auxiliar no tratamento de pessoas assistidas. Os pacientes
podem transportar sensores mdicos para monitorar parmetros, tais como, tempera-
tura corporal, presso arterial e atividade de respirao. Outros sensores (por exemplo,
acelermetros, giroscpios e proximidade) podem ser usados para reunir dados e moni-
torar as atividades de pacientes em seus ambientes de vida. As informaes podem ser
agregadas localmente e transmitidas para centros mdicos remotos, que podem realizar
o monitoramento, com respostas rpidas quando necessrias. Outro setor de aplica-
o diz respeito a cuidados de sade personalizados e solues para bem-estar. O uso
2.1. Internet das Coisas 13

de sensores como acessrios, em conjunto com aplicaes adequadas permite que as


pessoas rastreiem suas atividades dirias (quantidade de passos, calorias queimadas,
exerccios realizados, etc.), fornecendo sugestes para melhorar o seu estilo de vida e
prevenir o aparecimento de problemas de sade.

Na gesto e monitoramento de produtos a tecnologia RFID predomina. As


solues baseiam-se na capacidade das tecnologias RFID em identificar e fornecer su-
porte para rastreamento de mercadorias. Normalmente, as etiquetas RFID so ligadas
diretamente nos itens ou nos recipientes que os carregam, enquanto os leitores so
colocados em locais estratgicos. Em aplicaes para o varejo, as tecnologias da IoT
podem ser usadas para monitorar a disponibilidade do produto em tempo real e manter
o inventrio de estoque correto. Eles tambm podem desempenhar um papel no apoio
ao ps-venda, atravs do qual os usurios podem recuperar automaticamente todos os
dados sobre os produtos comprados. Alm disso, tecnologias de identificao podem
ajudar a limitar roubos e auxiliar na luta contra a falsificao, fornecendo produtos com
um identificador nico, incluindo uma descrio completa e confivel do bem em si. Nos
processos de produo, os sensores, em combinao com a tecnologia de RFID, podem
permitir o controle de qualidade do produto final e evitar uma possvel deteriorao
durante a vida de prateleira do produto.

Por fim, na rea de segurana e vigilncia os benefcios oferecidos pela IoT


so diversos. A vigilncia e segurana tornou-se uma necessidade para edifcios corpo-
rativos, shoppings, cho de fbrica, parques de estacionamento e muitos outros locais
pblicos. Tecnologias IoT podem ser usadas para aumentar consideravelmente o desem-
penho das solues atuais, proporcionando alternativas mais baratas e menos invasivas
para a implantao generalizada de cmeras enquanto, ao mesmo tempo, preserva a
privacidade dos usurios. Sensores de ambientes podem ser utilizados para monitorar
a presena de produtos qumicos perigosos. Sensores que monitoram o comportamento
das pessoas podem ser utilizados para avaliar a presena de suspeitos, gerando alertas
eficientes e antecipando os riscos. A identificao pessoal por meios de RFID ou outras
tecnologias semelhantes tambm uma opo.

Portanto, o conjunto de aplicaes para IoT extremamente grande [Miorandi


et al., 2012]. Mas os dispositivos, quando atuam de forma individual, fornecem ca-
pacidades restritas, surge ento a necessidade de integrao e gerenciamento desses
dispositivos. As prximas sees detalham os aspectos relacionados ao gerenciamento
nas redes tradicionais e, em seguida, nas redes envolvendo dispositivos da IoT.
14 Captulo 2. Conceitos Fundamentais

2.2 Gerenciamento para Redes Tradicionais


As redes de computadores so compostas por uma grande variedade de dispositivos.
Elas tm como objetivos fornecer comunicao e compartilhamento de recursos. Em
grande parte, a eficincia dos servios prestados est associada ao bom desempenho
dos sistemas da rede. O gerenciamento das redes de computadores surgiu aps a r-
pida evoluo das tecnologias de redes, aliada a essa evoluo houve tambm grande
reduo de custos dos recursos computacionais. Os servios oferecidos passaram de
simples compartilhamento de recursos para aplicaes bem mais complexas como cor-
reio eletrnico, transferncia de arquivos, aplicaes multimdia, at chegarmos hoje
na Internet das Coisas.
O objetivo da gerncia de redes monitorar e controlar os elementos da rede,
fsicos ou lgicos, assegurando certo nvel de qualidade de servio. Para realizar esta
tarefa, os gerentes de redes so auxiliados por um sistema de gerncia de redes. Um
sistema de gerncia de rede pode ser definido como uma coleo de ferramentas inte-
gradas atendendo algumas funcionalidades com o objetivo de monitorao e controle
da rede. Este sistema oferece uma interface nica, com informaes sobre a rede e pode
oferecer tambm um conjunto poderoso e amigvel de comandos que so usados para
executar quase todas as tarefas da gerncia da rede, [Stallings, 2005].
O gerenciamento em redes de computadores envolve as atividades de adminis-
trao, manuteno e uso eficiente dos equipamentos e sistemas em rede. O modelo
clssico de gerenciamento de redes pode ser sumarizado em trs etapas, [Kurose &
Ross, 2010]:

Coleta de dados: consiste na monitorao dos recursos gerenciados, normalmente,


de forma automtica.

Diagnstico: consiste no tratamento e anlise dos dados monitorados para iden-


tificar o problema e propor uma soluo para o mesmo.

Ao ou controle: uma vez diagnosticado o problema, pode ser realizada uma


ao ou controle sobre o recurso para alterar seu estado ou resolver o problema.

Podemos observar a importncia do gerenciamento de redes quando deparamos


com problemas, em alguns casos crticos, que podem levar indisponibilidade dos servi-
os oferecidos. Segundo Kurose & Ross [2010], uma rede sem mecanismos de gerncia
pode apresentar problemas como interferncia no trfego de dados, falta de integri-
dade dos dados, altas taxas de congestionamento, recursos podem ser mal utilizados
ou sobrecarregados, alm de diversos problemas de segurana.
2.2. Gerenciamento para Redes Tradicionais 15

De acordo com Comer [2009], o gerenciamento de redes pode ser difcil por trs
motivos: (i) na maioria das organizaes, a rede gerenciada heterognea - contm
componentes de hardware e software fabricados por vrias empresas. (ii) a tecnologia
continua a mudar, o que significa que novos servios aparecem constantemente. (iii) a
maioria das redes gerenciadas so grandes, o que significa que algumas partes podem
ser distantes das outras. Diante desses problemas, necessrio definir as reas onde o
gerenciamento deve atuar.
Segundo Kurose & Ross [2010], a ISO (International Organization for Standar-
dization) criou um modelo de gerenciamento de redes onde so definidas cinco reas
funcionais, so elas gerenciamento desempenho, falhas, configurao, contabilizao e
segurana:

Desempenho. Tem como objetivo quantificar, medir, informar, analisar e contro-


lar o desempenho de diferentes componentes da rede. Entre esses componentes
esto dispositivos individuais - por exemplo, roteadores e hospedeiros - bem como
abstraes fim a fim, como uma rota da rede.

Falhas. O objetivo registrar, detectar e reagir s condies de falha da rede. A


diviso entre o gerenciamento de falha e o gerenciamento de desempenho inde-
finida segundo segundo Kurose & Ross [2010]. O gerenciamento de falha pode
ocorrer atravs do tratamento imediato de falhas transitrias da rede - como in-
terrupo de servio em um enlace ou software de roteadores. J o gerenciamento
de desempenho adota uma abordagem a longo prazo.

Configurao. O gerenciamento de configurao permite que um administrador


de rede saiba quais dispositivos fazem parte da rede administrada e quais so suas
configuraes de hardware. Sanchez et al. [2001] apresentam uma viso geral de
gerenciamento e requisitos de configurao para redes IP.

Contabilizao. Tem como objetivo permitir que o administrador da rede especi-


fique, registre e controle o acesso de usurios e dispositivos aos recursos da rede.
As quotas e cobranas de utilizao para acesso privilegiado aos recursos rede
compem o gerenciamento de contabilizao.

Segurana. A meta do gerenciamento de segurana controlar o acesso aos


recursos da rede de acordo com as polticas definidas na organizao.

A arquitetura geral dos sistemas de gerncia de redes, segundo Kurose & Ross
[2010], apresenta quatro componentes bsicos (Figura 2.1): elementos gerenciados,
estaes de gerncia, protocolos de gerncia e informaes de gerncia.
16 Captulo 2. Conceitos Fundamentais

Figura 2.1. Componentes dos sistemas de gerncia de redes, [Kurose & Ross,
2010].

Agente: os elementos gerenciados possuem um software especial chamado agente.


Este software permite que o equipamento seja monitorado e controlado atravs
de uma ou mais estaes de gerncia;

Gerente: chamamos de gerente o software da estao de gerncia que comunica


diretamente com os agentes nos elementos gerenciados, seja com o objetivo de
monitor-los, seja com o objetivo de control-los. A estao de gerncia normal-
mente oferece ainda uma interface atravs da qual usurios autorizados podem
gerenciar a rede;

Protocolo: para que a troca de informaes entre gerente e agentes seja possvel
necessrio que ambos utilizem o mesmo protocolo. Este protocolo permite
operaes de monitoramento (leitura) e controle (escrita);

Informaes de gerncia: gerentes e agentes podem trocar informaes. As infor-


maes de gerncia definem os dados que podem ser referenciados nas operaes
do protocolo de gerncia.

Os equipamentos de um rede (roteadores, comutadores, repetidores, impressoras,


servidores e estaes clientes) podem ter agentes instalados. A estao de gerncia
2.3. Gerenciamento para IoT 17

deve obter informaes de gerncia destes agentes usando, por exemplo, o protocolo
SNMP [Peterson & Davie, 2012].
Devido s caractersticas especficas da IoT, citadas na Seo 2.1, os dispositi-
vos no podem ser gerenciados utilizando apenas as ferramentas de gerenciamento de
tradicionais. A prxima seo descreve o modelo de gerenciamento para IoT.

2.3 Gerenciamento para IoT


A Cisco estima que o nmero de dispositivos que vo compor a IoT pode chegar a
50 bilhes em 2020, enquanto a IDC6 extrapola esse valor com uma previso de 212
bilhes de dispositivos. Nesse contexto, surge a necessidade de solues para prover
um gerenciamento eficiente desses dispositivos. Essas solues devem fornecer intero-
perabilidade, segurana e suportar a crescente variedade de dispositivos associados s
aplicaes, bem como o consumo de dados por parte dos usurios finais.
O gerenciamento para dispositivos da IoT precisa adaptar a topologia dinmica
e, frequentemente, desconhecida dessas redes, fornecendo, por exemplo, informaes de
localizao e estado dos dispositivos. Os servios do gerenciamento devem desconec-
tar dispositivos roubados, modificar configuraes de segurana, localizar dispositivos
perdidos, apagar dados sensveis de dispositivos, entre outros. Segundo Delicato et al.
[2013], o gerenciamento deve considerar ainda a possibilidade de dispositivos serem
integrados ao ambiente e utilizados de maneira oportunista e no previamente plane-
jada. Dessa forma, importante que uma plataforma de gerenciamento possibilite a
descoberta de dispositivos presentes no ambiente em questo, de forma dinmica, a fim
de atender os requisitos das aplicaes.
O gerenciamento de IoT mais complexo que o gerenciamento de redes de sen-
sores sem fio (RSSF) ou de redes IP. As redes IP, apesar de tratarem dispositivos
com hardware e software heterogneos, empregam mecanismos de comunicao homo-
gneos devido ao uso do protocolo IP. As RSSF devem gerenciar as falhas frequentes
de comunicao e a baixa segurana dos enlaces sem fio (por exemplo a arquitetura
MANNA, [Ruiz et al., 2003]), e este gerenciamento deve ser ciente do contexto [Lou-
reiro et al., 2003]. Entretanto, os dispositivos de uma RSSF em geral tendem a ser
mais homogneos em configurao que na IoT.
J as redes MANETs (Mobile Ad hoc Networks), segundo Cordero et al. [2013]
consistem em um conjunto de plataformas mveis, ou simplesmente ns, que tem
como caracterstica a livre mobilidade. Ainda segundo o autor, as MANETs so siste-
6
IDC Analyse the Future - www.idc.com/
18 Captulo 2. Conceitos Fundamentais

mas mveis autnomos que podem operar isoladamente ou ter um gateway para fazer
interface com uma rede fixa. Assim como as RSSF, as MANETs tambm possuem
configuraes homogneas, o que viabiliza o uso de protocolos e solues em escala
global. J na IoT, por exemplo, podemos ter como dispositivos de uma mesma rede
um Sensor de Presena, um Servidor de Rede, uma Agenda Web e um Smartphone.
Assim a principal diferena entre as RSSF, redes Ad Hoc (MANETs) e redes IoT a
caracterstica dos dispositivos que formam essas redes.
Parte das ferramentas desenvolvidas para essas redes (RSSF e Ad Hoc) podem
ser usadas nas redes IoT, mas devemos considerar tambm o fato que a todo momento
surgem novos dispositivos aptos a comporem essas redes. Com isso as plataformas para
gerenciamento em IoT requerem um mdulo de software (driver ) para traduzir as funci-
onalidades do dispositivo para a plataforma (por exemplo, a plataforma SmartThings
faz uso desses drivers, [SmartThings, 2015]). Esse driver deve ser personalizado de
acordo com o tipo de dispositivo (como aqueles citados no pargrafo anterior).

2.3.1 Requisitos
As solues para gerenciamento em IoT devem tratar alguns requisitos [Pires et al.,
2015], como:

Interoperabilidade entre os diversos dispositivos e plataformas disponveis no


ambiente.

Descoberta e gerenciamento de dispositivos presentes no ambiente em ques-


to, realizada dinamicamente a fim de atender os requisitos das aplicaes.

Cincia do contexto, onde as informaes, como localizao e estado dos ob-


jetos da rede, so utilizadas para efetuar aes ou reagir a estmulos.

Escalabilidade para aceitar a expanso e funcionar corretamente mesmo em


situaes de uso intenso.

Segurana e adaptao dinmica a fim de manter a integridade e privacidade


dos dados disponibilizados e garantir a disponibilidade e qualidade das aplicaes
durante a sua execuo.

Alm dos requisitos citados, o gerenciamento para redes IoT deve suportar apli-
caes e servios que envolvem: (i) o uso de dispositivos com caractersticas diferentes;
(ii) a interao entre diferentes redes IoT, necessitando de gerenciamento local (por
exemplo o dono da casa) e global (a concessionria de energia, que procura reduzir a
2.3. Gerenciamento para IoT 19

demanda em horas de pico), ambos cientes do contexto. As plataformas de gerenci-


amento em IoT existentes, entretanto, atendem parcialmente a estes requisitos [Pires
et al., 2015].
Devido falta de padronizao, o gerenciamento dos dispositivos para IoT precisa
definir uma forma de tratar essa lacuna. Para isso necessrio especificar modelos de
dados e de informao, Seo 2.1.2. Esses modelos devem indicar a estrutura dos dados
da rede. Com isso possvel definir um formato para armazenamento e implementao
de outros servios de gerenciamento.
Alm da padronizao, outros aspectos, como segurana, autenticao e autoriza-
o devem ser considerados. Diversos trabalhos buscam solues para esses problemas.
A prxima subseo destaca as caractersticas desejveis nas plataformas para fornecer
servios de qualidade, considerando todas as peculiaridades da IoT.

2.3.2 Arquiteturas de Referncia para IoT


As arquiteturas de referncia podem ser definidas como um tipo de arquitetura abs-
trata que envolve conhecimento e experincias acerca de como projetar sistemas em um
determinado domnio sendo, portanto, capaz de guiar o seu desenvolvimento e evolu-
o. Alm disso, as arquiteturas de referncia podem ser utilizadas como um artefato
de padronizao para permitir interoperabilidade entre sistemas ou componentes de
sistemas [Pires et al., 2015].
Os objetivos de uma arquitetura de referncia so: facilitar o desenvolvimento de
sistemas, promovendo reduo de tempo e custo; padronizar arquiteturas de sistemas
em um domnio; guiar a evoluo de sistemas existentes. Segundo Pires et al. [2015],
assim como em outros domnios, o estabelecimento de arquiteturas de referncia uma
questo importante em IoT. Em primeiro lugar, os direcionamentos providos por uma
arquitetura de referncia so elementos essenciais para guiar e facilitar a construo de
sistemas de IoT, considerando sua crescente escala e complexidade. Mais ainda, por
proverem os blocos de construo fundamentais construo das arquiteturas concretas
de tais sistemas, arquiteturas de referncia permitem construir sistemas capazes de
atender aos requisitos existentes nesse domnio.
Como exemplo, o Modelo de Arquitetura de Referncia (MAR) para IoT IoT
Architectural Reference Model desenvolvido no contexto do projeto europeu Internet of
Things Architecture - IoT-A definida em um alto nvel de abstrao, fornecendo vises
arquiteturais e perspectivas que so relevantes para a construo de vrias arquiteturas
para IoT [Bassi et al., 2013].
A viso funcional definida no MAR do IoT-A, Figura 2.2, possui nove grupos de
20 Captulo 2. Conceitos Fundamentais

Figura 2.2. Arquitetura de Referncia para IoT (IoT-A), [Bassi et al., 2013].

funcionalidades (GFs), a saber: (i) aplicao; (ii) gerenciamento; (iii) organizao de


servio; (iv) gerenciamento de processo de IoT; (v) entidade virtual; (vi) servio IoT;
(vii) segurana; (viii) comunicao, e; (ix) dispositivo. Cada um desses grupos envolve
um ou mais componentes funcionais. Entretanto, apesar da viso funcional descrever
os componentes, ela no especifica as interaes que ocorrem entre esses elementos pelo
fato de tais interaes serem tipicamente dependentes de escolhas de projetos, sendo
portanto realizadas durante o desenvolvimento da arquitetura concreta [Pires et al.,
2015].
Por envolver informaes de usurios, alguns aspectos, como segurana e suas
subreas (controle de acesso, autenticao, etc) merecem destaque no gerenciamento
para IoT. A prxima subseo trata desses aspectos.

2.3.3 Aspectos Ligados a Segurana


No contexto da Internet das Coisas, na maioria das situaes, o papel dos dispositi-
vos/Coisas de coletar dados privados que podem inclusive serem transportados atravs
de redes sem segurana adequada. Por isso, importante que uma plataforma de IoT
fornea estratgias de segurana, a fim de manter a integridade e privacidade dos dados
disponibilizados, alm de proteger tanto os dispositivos envolvidos quanto os recursos
expostos rede. Diversas tcnicas, como preveno modificao maliciosa de dados
ou ofuscao de cdigo podem ser utilizadas para fornecer segurana aos dispositivos,
2.3. Gerenciamento para IoT 21

enquanto os recursos podem ser protegidos atravs de bloqueios de portas abertas e


no usadas, uso de protocolos de segurana, uso de mecanismos para autorizao e
autenticao [Pires et al., 2015].
Segundo Jan et al. [2014], a maior dificuldade para prover segurana acontece
devido ao fato de que cada dispositivo tem suas prprias caractersticas e requisitos.
Jan et al. [2014] destacam ainda que a identidade de cada pessoa, objeto ou sistema
ligado ao IoT deve ser estabelecida, pois na ausncia dessa informao os intrusos
podem ter acesso rede e quebrar a sua segurana. As ameaas podem ser de natureza
diversas, como a desativao de alarme, transmisso de informaes falsas sobre estado
de sade ou falsos alarmes de incndio.
Devido a vulnerabilidades inerentes IoT, questes de segurana e privacidade
devem ser consideradas no projeto de uma plataforma. De acordo com Liu et al. [2012]
esses dois temas so os mais desafiadores para os projetistas. Antes do surgimento da
IoT as violaes dos sistemas computacionais no atingiam o mundo fsico, com a IoT
as falhas de segurana podem influenciar e comprometer o mundo fsico.
Segundo Janak et al. [2012] a maioria das estruturas que fornecem controle de
acesso so baseadas em funes: em um primeiro momento a identidade do usurio
estabelecida - autenticao, e logo depois seus privilgios de acesso so determinados
a partir da funo deste usurio dentro da organizao. Esse modelo utilizado na
maioria dos sistemas existentes, como RADIUS, LDAP, IPSec, Kerberos e SSH. Ainda
segundo Janak et al. [2012] os sistemas de controle de acesso baseados em funes no
so adequados para dispositivos da IoT, pois a identidade do dispositivo pode no ser
conhecida ou no importar. Ento, segundo Janak et al. [2012], o controle de acesso
deve ser baseado em outros critrios como localizao, proximidade, esforo investido,
entre outros. Os autores exemplificam que para gerenciar cenrios relativamente sim-
ples, como controlar a luz em um quarto somente se o usurio estiver localizado dentro
deste mesmo quarto, necessrio um controle de acesso baseado em atributos genri-
cos.
Devido s peculiaridades da IoT, segundo Gusmeroli et al. [2013] o controle de
acesso deve atender algumas caractersticas, so elas:

Deve enfrentar o desafio da escalabilidade da IoT.

Deve ser fcil de gerenciar. Devido quantidade generalizada de dispositivos


na IoT, os usurios esto mais envolvidos com atividades de segurana, como
autorizao, do que no passado.
22 Captulo 2. Conceitos Fundamentais

O sistema de controle de acesso deve apoiar as caractersticas avanadas, por


exemplo, delegao de direitos, prover auditoria, entre outros.

Por ltimo deve ser flexvel para se adaptar a diferentes contextos, adaptar s
comunidades de usurios e suas necessidades.

2.4 Resumo
Este captulo apresentou os conceitos fundamentais para formar o embasamento terico
sobre Internet das Coisas e Gerenciamento. Mostramos que gerenciamento em IoT
diferente do gerenciamento de redes tradicional pois as redes formadas por dispositivos
da IoT precisam se adaptar a topologias dinmicas e, frequentemente, desconhecidas.
Alm da possibilidade de dispositivos serem integrados ao ambiente e utilizados de
maneira oportunista e no previamente planejada.
Discutimos e destacamos ainda neste captulo que o gerenciamento para IoT
mais complexo que o gerenciamento para RSSF. As RSSF devem gerenciar as falhas
frequentes de comunicao e a baixa segurana dos enlaces sem fio, e este gerenciamento
deve ser ciente do contexto. Entretanto, os dispositivos de uma RSSF em geral tendem
a ser mais homogneos em configurao que na IoT. Devemos considerar ainda a falta
de estrutura dos dados capturados pelos dispositivos da IoT.
Definimos tambm neste captulo alguns elementos da IoT, relacionamos os pro-
tocolos de comunicao e apresentamos diversas reas que podem se beneficiar com as
aplicao da IoT. Por fim, tratamos do gerenciamento para os dispositivos da IoT e
apresentamos o conceito e um exemplo de arquitetura de referncia.
No prximo captulo apresentaremos as arquiteturas e plataformas de gerencia-
mento para IoT dando enfoque especial para alguns requisitos, como cincia do con-
texto, escalabilidade, entre outros. Faremos ainda um relao entre as caractersticas
dos trabalhos relacionados com aquelas que so importantes para este trabalho.
Captulo 3

Arquiteturas e Plataformas de
Gerenciamento para Internet das
Coisas

Determinados trabalhos encontrados na literatura tratam arquiteturas e plataformas


de gerenciamento como algo similar; neste trabalho iremos especificar uma plataforma
de gerenciamento. As arquiteturas (ou projetos de arquiteturas) buscam atender todos
os aspectos gerenciais e fornecer servio completo. Stallings caracteriza arquitetura
como atributos de um sistema que so visveis para o programador ou, em outras pa-
lavras, aos atributos que tm impacto direto sobre a execuo lgica de um programa.,
[Stallings et al., 2006]. O J uma plataforma de gerenciamento fornece servios pontu-
ais e, em alguns casos, podem requerer um mdulo complementar para tratar outros
aspectos. Uma plataforma fornece suporte para outros servios. No trabalho de Pires
et al. [2015] os autores utilizam o termo arquitetura para descrever conhecimentos
e experincias acerca de como projetar sistemas em um determinado domnio, sendo,
portanto capaz de guiar o seu desenvolvimento e evoluo. Neste mesmo trabalho o
termo plataforma usado para tratar todas as propostas implementadas.
A seo seguinte relaciona as plataformas de gerenciamento encontradas na li-
teratura. Apesar do conceito Internet das Coisas ser relativamente novo, existem
diversas solues que buscam realizar esse gerenciamento de forma eficiente. Procura-
mos detalhar neste captulo aquelas solues que possuem caractersticas ou elementos
que aproximam da plataforma ManIoT proposta neste trabalho. No restante deste
captulo, iremos apresentar as caractersticas das plataformas criadas para integrar e
gerenciar os dispositivos que compem a IoT. Por fim, na ltima seo, relacionamos
as caractersticas comuns entre ManIoT e as arquiteturas e plataformas revisadas.

23
Captulo 3. Arquiteturas e Plataformas de Gerenciamento para
24 Internet das Coisas

3.1 Arquiteturas para Gerenciamento dos


Dispositivos e Dados da IoT
Os dispositivos da IoT geram grande volume de dados [Atzori et al., 2010]. Por isso,
parte dos trabalhos relacionados esto voltados para construo de modelos para ge-
renciamento desses dados. O gerenciamento dos dispositivos, foco deste trabalho,
tratado por um nmero menor de autores. Nesta seo apresentaremos os trabalhos
que buscam solues para gerenciamento dos dispositivos e dos dados coletados por
esses dispositivos, destacando aspectos importantes como cincia do contexto e segu-
rana.
Os trabalhos de Guiping [2013], Bin et al. [2011], Ning et al. [2007] e Sehgal
et al. [2012] propem solues para interao dos dispositivos de forma segura, sem
falhas e com bom desempenho. Guiping [2013] prope a criao de um protocolo
para gerenciamento de dispositivos chamado TMP - Things Management Protocol.
Segundo o autor, a motivao para criao do TMP veio da necessidade de gerenciar
os dispositivos de forma independente. O TMP um protocolo da camada de aplicao
que deve fazer a ligao entre dispositivos, dispositivos-aplicao ou at mesmo entre
aplicao-aplicao. O TMP inclui diversas operaes - como GetInformationObject e
SetInformationObject, PDU - Protocol Data Unit de operaes, fluxo de processamento
do protocolo emissor e receptor alm da ligao do protocolo TMP com protocolos da
camada de transporte.
Bin et al. [2011] propem um sistema de gesto de equipamentos em edifcios
chamado BEIOT - Building Equipment Internet of Things. Esse sistema, segundo os
autores, deve permitir o acesso aos dados dos equipamentos de um edifcio, como es-
tado do ar condicionado e das lmpadas dos quartos, e enviar comandos para alterar
seus estados. Outras contribuies do BEIOT, segundo Bin et al. [2011], so a possibi-
lidade de localizao de pessoas atravs dos controladores de quarto e a otimizao do
consumo de energia que feita tomando como base a quantidade de pessoas presentes
em determinado ambiente.
Outro trabalho, desenvolvido por Ning et al. [2007], aborda o gerenciamento de
sistemas RFID. Os autores utilizaram o protocolo SNMP (Simple Network Manage-
ment Protocol ) para gerenciar o dispositivo que recebe as informaes das etiquetas e
propem a criao do protocolo RFID-MP (Radio Frequency IDentification - Managing
Protocol ), que controla o subsistema de terminal RFID.
Sehgal et al. [2012] trabalham com a gesto de dispositivos com recursos limita-
dos. Os autores pesquisaram como o gerenciamento de rede baseado em IP (Internet
3.1. Arquiteturas para Gerenciamento dos Dispositivos e Dados da
IoT 25

Protocol ) pode ser implementado em dispositivos com recursos limitados e fizeram uma
comparao entre o SNMP e o NETCONF (Network Configuration Protocol ). Sehgal
et al. [2012] enfatizam que a maioria dos dispositivos desenvolvidos para IoT so con-
cebidos levando em conta as restrio recursos, onde o principal deles o consumo de
energia. Os autores identificaram os recursos mnimos exigidos pelos dispositivos que
faro parte da IoT. Com os resultados obtidos, os autores observaram que SNMP faz
uso mais eficiente dos recursos, chegando a responder um pedido de processamento at
10 vezes mais rpido que NETCONF. Outro fator observado por Sehgal et al. [2012] foi
que as questes de segurana geram um custo alto no processamento e que esse custo
poderia ser reduzido com a implementao do suporte a criptografia em hardware. Os
autores chegaram concluso que os protocolos que utilizam pequenas mensagens da
camada de aplicao e que cabem em um pacote IPv6, so muito mais adequados para
dispositivos com recursos limitados.
A prxima subseo destaca os trabalhos que abordaram o uso de dados do con-
texto. A cincia do contexto um dos principais requisitos para gerenciamento em
IoT, segundo Atzori et al. [2010], ITU [2005] e Pires et al. [2015].

3.1.1 Cincia do Contexto


A cincia do contexto, em linhas gerais, a coleta de entradas capazes de refletir as
condies atuais dos usurios, do ambiente no qual o mesmo se encontra e do prprio
dispositivo computacional utilizado [Loureiro et al., 2009]. Esse paradigma abordado
em algumas solues de gerenciamento. Nessas solues, as informaes, como loca-
lizao e horrio de coleta, so utilizadas para caracterizar os dados levantados. Nos
trabalhos chamados Ubiware [Nagy et al., 2009] e LinkSmart [Lang, 2014] os autores
fizeram uso dos dados de contexto.
A plataforma Ubiware incorpora princpios de sistemas multi-agentes, entidades
computacionais com comportamento autnomo que facilitam o desenvolvimento de
sistemas complexos. Ubiware estruturado no ncleo da plataforma chamado Ubicore.
Esse componente prov a todos os dispositivos conectados a possibilidade de serem
inteligentes ao conect-los a um agente de software. Dessa forma, tais objetos ganham
recursos de comunicao, autocontrole e auto-monitoramento atravs da utilizao do
conhecimento e das funcionalidades previamente adquiridos a partir de eventos prprios
e externos. Sobre a relao com cincia de contexto, o fato de que cada objeto tem um
agente vinculado a ele implica que tal agente tem pleno conhecimento acerca de seu
estado. Dessa forma, tal conhecimento pode ser trocado com outros agentes e utilizado
para melhorar a execuo de outros objetos vinculados plataforma [Nagy et al., 2009].
Captulo 3. Arquiteturas e Plataformas de Gerenciamento para
26 Internet das Coisas

LinkSmart uma plataforma baseada em Arquitetura Orientada a Servios (SOA


Service-Oriented Architecture) para IoT que oferece suporte ao desenvolvimento de
aplicaes formadas por dispositivos fsicos heterogneos que operam com recursos li-
mitados em termos de poder computacional, energia e memria [Pires et al., 2015].
Ela oferece interfaces de servios web para controle de dispositivo fsico e permite
que desenvolvedores incorporem dispositivos fsicos heterogneos em suas aplicaes.
Sua arquitetura possui trs camadas principais, sendo uma delas a camada semntica.
Nessa camada realizado o tratamento de informaes de contexto dos dispositivos
atravs do uso de ontologias de dispositivos. Responsvel por representar todas as
meta-informaes sobre os dispositivos, a ontologia usada baseada na ontologia de
dispositivos FIPA (Foundation for Intelligent Physical Agents) e permite a parame-
trizao semntica para incluir informaes dos dispositivos, como seus recursos de
segurana [Pires et al., 2015].
Em outros trabalhos, como Elkhodr et al. [2016] e Ribeiro & Metrlho [2016], os
autores projetaram solues que tambm procuram fazer uso de dados de contexto. Em
Elkhodr et al. [2016], os autores desenvolveram um projeto para gesto e preservao
da privacidade e localizao dos dispositivos da IoT. Eles desenvolveram um projeto
de middleware que utiliza uma abordagem de contexto adaptativo, que permite aos
usurios realizar o gerenciamento das informaes de localizao divulgadas pelo dis-
positivos com base nos dados de contexto e nas polticas de execuo. Este mecanismo
leva em conta tanto o consentimento informado pelo usurio quanto suas preferncias.
J no trabalho de Ribeiro & Metrlho [2016], os autores desenvolveram uma soluo
que objetiva integrar, gerenciar e utilizar informaes sobre padro e objetos de perso-
nalizao dos usurios. Os objetos podem ser registrados na plataforma e enviar suas
informaes, como identificao do objeto, o tipo de informao que eles representam
e tambm o nvel de acessibilidade s suas informaes. Entretanto nenhum desses
trabalhos apresentaram testes com dispositivos e cenrios reais.
Alm da cincia do contexto, os requisitos segurana e extensibilidade devem ser
tratados ou previstos nas solues para IoT. A prxima subseo descreve trabalhos
que tratam do requisito segurana.

3.1.2 Segurana
O requisito de segurana subdivido em autenticao, controle de acesso, criptografia
de dados, entre outros. Os trabalhos encontrados na literatura, de alguma forma,
fornecem um nvel mnimo de segurana. Relacionamos brevemente alguns trabalhos
que relataram os problemas e solues envolvendo as redes IoT.
3.1. Arquiteturas para Gerenciamento dos Dispositivos e Dados da
IoT 27

Jan et al. [2014] propem um esquema de autenticao que verifica a identidade


dos participantes e servidores em um ambiente utilizando protocolo CoAP (Constrained
Application Protocol ). Neste modelo cada cliente mantm uma chave de sesso com um
servidor que garante para ambas as partes a autenticao. O servidor, ento, notifica
os clientes quando as condies so satisfeitas. Com esse modelo, possvel reduzir o
nmero de transmisses indesejveis e, consequentemente, diminuir o congestionamento
na rede. De acordo com Jan et al. [2014] essa soluo no eficiente contra ataques
Sybil. No ataque Sybil, um nico n malicioso coloca mltiplas identidades para os
dispositivos de comunicao em um dado tempo. Essas identidades so produzidas ou
roubadas desativando os ns legtimos da rede. Assim, um dispositivo fsico nico pode
prejudicar vrios recursos da rede.
J Flood & Schukat [2014] propem um novo mtodo para fornecer autenticao
e criptografia em redes M2M (Machine-to-Machine). O mtodo baseado no protocolo
GMW (Goldreich-Micali-Wigderson) e na troca de chaves Diffie-Hellman. A aborda-
gem, de acordo com Flood & Schukat [2014] estruturalmente semelhante a uma chave
simtrica compartilhada.
Pereira et al. [2014] apresenta um framework baseado em CoAP e prope um
mtodo especifico para autenticao. A autenticao funciona como um primeiro passo
para prover o controle de acesso. Assim, o sistema deve reconhecer o usurio atravs
de uma chave compartilhada ou outro validador e informar ao CoAP-NAS (Network
Access Server CoAP - Figura 3.1) sobre o usurio, permisses, grupo e tempo total da
permisso. A Figura 3.1 apresenta ainda a sequncia temporal desse processo. Podemos
perceber que, se a permisso expirar, o sistema requisitar uma nova autenticao e o
processo se reiniciar.
Segundo Janak et al. [2012] o padro XACML (Extensible Access Control Mark-up
Language) e a ferramenta OAuth tambm podem serem utilizados para descrever regras
de controle de atributo e controle de acesso para aplicativos da IoT, respectivamente.
OAuth requer a identidade dos aplicativos atravs da apresentao de tokens.
O framework OAuth, na sua verso 2.0, definido na RFC 6749 [Hardt, 2012]
utilizado por diversas implementaes, como a plataforma WSO2 [Cavalcante et al.,
2015]. OAuth 2.0 define quatro funes no controle de acesso, so elas:

Proprietrio do recurso: uma entidade capaz de possibilitar o acesso a um recurso


protegido.

Servidor de recursos: dispositivo que hospeda os recursos protegidos. Ele deve


ser capaz de aceitar e responder a solicitaes utilizando permisses de acesso.
Captulo 3. Arquiteturas e Plataformas de Gerenciamento para
28 Internet das Coisas

Figura 3.1. Processo de Autenticao definido por Pereira et al. [2014]

Cliente: um aplicativo que faz solicitaes de recursos protegidos em nome do


proprietrio do recurso e com sua autorizao.

Servidor de Autorizao: dispositivo que emite permisses de acesso para o cliente


aps a autenticao e uma autorizao para utilizar determinado recurso.

XACML, segundo Wu & Periorellis [2005], utiliza XML (Extensible Markup Lan-
guage) para comunicar as polticas de controle de acesso entre os servios. Ele fornece
um esquema para expressar as polticas e regras baseadas nessas polticas. O traba-
lho de Cavalcante et al. [2015] tambm utiliza esse padro. As atualizaes e outros
detalhes do padro podem ser encontradas em OASIS1 .

1
OASIS - Advancing Open Standards for the Information Society, disponvel em http:
www.oasis-open.org
3.2. Plataformas de Gerenciamento para IoT 29

3.1.3 Extensibilidade
A extensibilidade em redes a capacidade de absorver e tratar uma poro crescente
de trabalho ou de fornecer estrutura para receber novos componentes. Alm da cincia
do contexto e segurana, a extensibilidade requisito tratado por alguns trabalhos
existentes na literatura.
O requisito de extensibilidade foi tratado nos trabalhos de Fan & Chen [2010],
Ding et al. [2011] e Jara et al. [2012]. Fan & Chen [2010] pesquisam o gerenciamento
de dados gerado por diferentes dispositivos e utilizam uma abordagem SOA (Service
Oriented Architecture). Essa abordagem justificada pelas vantagens apresentadas
pelo SOA, como reduo do custo de desenvolvimento e o encapsulamento dos detalhes
especficos dentro da lgica do servio. Segundo Fan & Chen [2010], uma das dificul-
dades encontradas a heterogeneidade dos dispositivos. Gerenciar a heterogeneidade
um problema comum em IoT, que dever ser enfrentado tambm pelo nosso trabalho.
Ding et al. [2011] prope uma base para gerenciamento de dados chamado Se-
aCloudDM. Segundo os autores, SeaCloudDM reduz consideravelmente os dados que
precisam ser gerenciados atravs de atribuies de compartilhamento entre a camada
sea-computing, definida no trabalho, e a camada de gerenciamento de dados nas nuvens.
Jara et al. [2012] abordam o gerenciamento de dispositivos mveis voltados para
a rea de sade pessoal e sua integrao com dispositivos clnicos. A soluo proposta,
chamada YOAPY, utiliza RFID para identificao do paciente e 6LoWPAN - (IPv6
over Low Power Wireless Personal Area Networks) para transmisso dos dados. YO-
APY visa otimizar o desempenho da comunicao para objetos de baixa capacidade,
como largura de banda e energia. YOAPY analisa os sinais vitais contnuos do paciente
para detectar anomalias e no sobrecarregar a comunicao.
A prxima seo destaca as plataformas desenvolvidas para gerenciar os dispo-
sitivos da IoT e a capacidade de integrar dispositivos diferentes (interoperabilidade),
que a principal caracterstica dessas solues.

3.2 Plataformas de Gerenciamento para IoT


Na literatura, h diversas plataformas de gerenciamento para IoT. Essas plataformas
so comumente denominadas middleware, pois so camadas de software que ocultam
dos desenvolvedores as complexidades e heterogeneidades referentes ao hardware, aos
protocolos de rede, s plataformas e s dependncias do sistema operacional [Razza-
que et al., 2016]. Elas tambm facilitam o gerenciamento de recursos e aumentam a
Captulo 3. Arquiteturas e Plataformas de Gerenciamento para
30 Internet das Coisas

previsibilidade da execuo de aplicaes. A interoperabilidade entre os dispositivos


o principal requisito para as plataformas de gerenciamento, [Pires et al., 2015].

A interoperabilidade a capacidade de prover comunicao entre dois ou mais


sistemas e/ou dispositivos. A grande maioria das plataformas para IoT fornecem, de
alguma forma, essa interao. As plataformas RestThing [Qin et al., 2011], EcoDiF
[Delicato et al., 2013] e SmartThings [SmartThings, 2015] abstraem a heterogeneidade
dos usurios e aplicaes. A plataforma RestThing visa permitir que desenvolvedores
criem aplicaes usando REST (REpresentational State Transfer ), combinando recur-
sos fsicos e Web, de modo que dispositivos e informaes Web sejam manipulados por
uma interface REST. A plataforma EcoDiF (Ecossistema Web de Dispositivos Fsicos)
integra dispositivos fsicos heterogneos e os conecta Internet, fornecendo funcionali-
dades de controle, visualizao, processamento e armazenamento de dados em tempo
real. A plataforma open source SmartThings permite que os usurios criem aplicati-
vos e os conectem aos dispositivos, s aes e aos servios oferecidos pela plataforma.
SmartThings permite ainda a integrao de novos dispositivos e fornece suporte para os
aplicativos (SmartApps) na comunicao com servios Web externos atravs do envio
de notificaes Push, SMS e da apresentao do seu terminal REST.

Outra plataforma chamada IFTTT (If This, Then That) [IFTTT, 2016], fornece
interoperabilidade entre dispositivos fsicos e servios da rede. IFTTT um servio
que trabalha com sistemas Web, Android e iOS, e permite criar conexes com uma de-
clarao simples do tipo se isso acontecer, ento faa aquilo. Ele combina duas contas
de diferentes sites ou redes sociais para interagir e funcionarem juntas. Os servios so
baseados em trs elementos: o canal de gatilho, o canal de reao e a descrio da ao.
Por exemplo, o gatilho pode ser o GPS do celular e o canal de reao o SMS. A descri-
o seria enviar uma mensagem minha mulher avisando que eu estou chegando em
casa. Em outros exemplos, o IFTTT pode twittar automaticamente o status postado
no Facebook. Alm disso, o usurio pode criar servios personalizados, ligando dois
ou mais eventos. Alm do Twitter e do Facebook, o IFTTT tem a capacidade de atuar
com os servios web, como Instagram, Dropbox, Gmail, YouTube, Google Calendar,
entre outros. O IFTTT pode atuar tambm com dispositivos fsicos como Philips Hue
e WeMo Belkin.

Na prxima seo apresentamos uma relao com as principais caractersticas dos


trabalhos relacionados. Destacamos ainda, entre essas caractersticas, aquelas que so
implementadas ou desejveis para a plataforma ManIoT, proposta neste trabalho.
3.3. Principais Caractersticas das Arquiteturas e Plataformas para
IoT 31

3.3 Principais Caractersticas das Arquiteturas e


Plataformas para IoT
Nesta seo, relacionamos as caractersticas mais importantes dos trabalhos analisados
e destacamos aquelas que foram implementadas (marcaes 3), aquelas que no foram
implementadas (marcaes ) e aquelas desejadas (marcaes O). Essa classificao
(Tabela 3.1) tem como objetivo mostrar de forma clara e resumida os requisitos, como
gerenciamento de contexto e abordagem multi-cenrios, que so tratados ou previstos
pela arquitetura ManIoT e pelos principais trabalhos encontrados na literatura que
fazem reviso sobre IoT, como [Razzaque et al., 2016], [Pires et al., 2015], [Atzori
et al., 2010] e [ITU, 2005].
A heterogeneidade um dos requisitos mais importantes para gerenciamento de
dispositivos da IoT. Essa caracterstica tratada pela maioria das solues relacionadas
e tambm est prevista neste trabalho quando utilizamos diferentes dispositivos como
lmpadas inteligentes, sensores de luminosidade e leitores RFID.
Alm da heterogeneidade, a segurana e a privacidade so requisitos tratados por
grande parte dos trabalhos. No contexto de IoT, muitas vezes o papel dos dispositivos
integrados o de coletar dados privados que podem ser transportados atravs de redes
sem segurana adequada [Pires et al., 2015]. Por essa razo, importante que as solu-
es forneam estratgias de segurana, a fim de manter a integridade e a privacidade
dos dados disponibilizados, alm de proteger tanto os dispositivos envolvidos quanto
os recursos expostos rede.
Diversas organizaes, como Cisco [IBSG-Cisco, 2011], preveem que bilhes de
dispositivos estaro aptos a serem utilizados por aplicaes em curto prazo de tempo.
Dessa forma, as solues para IoT devem dar suporte escalabilidade e confiabilidade.
As solues devem prever um nmero crescente de dispositivos e requisies e funcionar
corretamente, mesmo em situaes de uso intenso. A plataforma ManIoT, ao criar uma
camada que possibilita a incluso de novos drivers para gerenciar novos dispositivos,
prov escalabilidade.
A Tabela 3.1 relaciona tambm os procolos e estilos de projetos (RFID, SNMP,
NETCONF, 6LoWPAN e SOA) citados como caractersticas da IoT pelos autores,
[Atzori et al., 2010], [Cavalcante et al., 2015] e [Delicato et al., 2013]. Podemos observar
que 6LoWPAN e NETCONF no so amplamente adotados pelas solues existentes.
Mas, devido as suas caractersticas, como aptido para trabalhar com dispositivos de
baixa capacidade, esses protocolos so desejveis para a plataforma ManIoT.
A classificao das solues entre aquelas que tratam do gerenciamento dos da-
Captulo 3. Arquiteturas e Plataformas de Gerenciamento para
32 Internet das Coisas

Tabela 3.1. Caractersticas dos trabalhos relacionados e da soluo proposta

Delicato et al. [2013]

SmartThings [2015]
Sehgal et al. [2012]
Fan & Chen [2010]
Ding et al. [2011]

Ning et al. [2007]


Jara et al. [2012]

Qin et al. [2011]


Bin et al. [2011]
Guiping [2013]

ManIoT
IFTTT
Heterogeneidade 3 3 3 3 3 3 3 3 3
Segurana e Privacidade 3 3 3 3 3 3 3
Escalabilidade e Confiabilidade 3 3 3 3 3 3
Aborda RFID 3 3 3 3 3
Utiliza SNMP 3 3
Utiliza NETCONF 3 O
Utiliza 6LoWPAN 3 O
Utiliza SOA 3 3 3 3
Gerenciamento dos Dados 3 3 3
Gerenciamento dos Dispositivos 3 3 3 3 3 3 3 3 3
Aborda outros Cenrios 3 3 3 3 3
Define um Modelo de Infor- 3 3
mao
Define um Modelo de Dados 3 3 3 3 3
Gerenciamento Local 3 3 3 3
Gerenciamento Global 3 3 3 3 3 3 3
Gerenciamento Remoto 3 3 3 3 3 3 3 3 3 3
Gerenciamento por Contexto 3 3 3

dos e aquelas que tratam gerenciamento dos dispositivos da IoT dividem os trabalhos
analisados. Trs entre as onze solues tratam especificamente do gerenciamento dos
dados coletados pelos dispositivos, enquanto as outras nove solues (incluindo este
trabalho) tratam do gerenciamento dos dispositivos (como definio de parmetros de
funcionamento e configurao). Essa diviso entre os tipos de gerenciamento impor-
3.4. Resumo 33

tante para entender as prioridades adotadas pelas solues diante dos outros requisitos.
Por exemplo, no gerenciamento de dados os trabalhos tendem a fornecer solues es-
pecificas de criptografia de dados, tipo de armazenamento (local ou nas nuvens), entre
outros.
Os cenrios so ambientes onde atuam os dispositivos gerenciados. Algumas so-
lues foram desenvolvidas para tratar apenas um cenrio, como gerenciamento predial
ou assistncia a sade. Ao tratar outros cenrios, as solues expandem as possibili-
dades de criao de novos servios e uso de novos dispositivos.
Os modelos de dados e modelos de informao so utilizados por um pequeno
nmero de solues. A definio desses modelos fornecem a estrutura para entender
como os dados so tratados e armazenados pela plataforma. A plataforma ManIoT
cria um modelo de dados, descrito na Seo 5.2, e um modelo de informao, descrito
na Subseo 4.2.4.
O gerenciamento local trata os servios dentro de um cenrio (uma rede local),
gerenciando os dispositivos que compem este cenrio, normalmente, utilizando infor-
maes de contexto. J o gerenciamento global procura uniformizar as aes realizadas
em mltiplos cenrios a partir de diretivas de alto nvel. Por isso, essas duas carac-
tersticas so importantes para as solues de gerenciamento para IoT. A plataforma
ManIoT tem o gerenciamento local e global dos dispositivos como uma das principais
caractersticas. Esse gerenciamento implementado atravs dos mdulos gerente global
e gerente local, descritos nas Subsees 4.2.1 e 4.2.2.
O gerenciamento remoto outra caracterstica das solues analisadas. O gerenci-
amento global realizado de forma remota, mas nem todos os gerenciamentos remotos
so gerenciamentos globais. O gerenciamento global tem a capacidade de unir vrios
cenrios e utilizar os dados de um para prover servios para outros. Por implementar
gerenciamento global, ManIoT tambm implementa gerenciamento remoto.
Por fim, temos o gerenciamento por contexto, provido por solues que de al-
guma forma definem uma maneira de coletar entradas capazes de refletir as condies
atuais do usurio, do ambiente no qual o mesmo se encontra e do prprio dispositivo
computacional utilizado.

3.4 Resumo
Em geral, observamos que o estado da arte trata parcialmente de aspectos como adap-
tao dinmica, cincia de contexto e a interao entre redes IoT [Pires et al., 2015]. As
solues analisadas (arquiteturas e plataformas) no apresentam, de forma satisfatria,
Captulo 3. Arquiteturas e Plataformas de Gerenciamento para
34 Internet das Coisas

um modelo que possa ser expansvel para possibilitar a incluso de novos dispositivos
ou novos ambientes aliado a um gerenciamento remoto/global.
As principais caractersticas da plataforma ManIoT, como suporte a diversos
cenrios e gerenciamento por contexto, foram destacadas na Tabela 3.1 da Seo 3.3.
Podemos observar que apesar dos autores reconhecerem sua importncia (Pires et al.
[2015] e Atzori et al. [2010]), a maioria dos trabalhos relacionados no trata esses
requisitos.
No prximo captulo iremos descrever a plataforma de gerenciamento ManIoT,
suas camadas e funes, o modelo de gerenciamento local (gerente local) e de geren-
ciamento global (gerente global). Apresentaremos ainda o modelo de informao que
guiou a implementao do prottipo da plataforma.
Captulo 4

Plataforma ManIoT - Management


for the Internet of Things

ManIoT uma plataforma para gerenciamento de dispositivos em Internet das Coisas.


A plataforma ManIoT tem como objetivos integrar e gerenciar as funcionalidades in-
dividuais dos dispositivos em uma rede IoT para permitir a criao de novos servios
cientes do contexto, por exemplo, utilizar os dados coletados por sensor de luminosi-
dade para controlar taxa de emisso de luz de uma lmpada ou controlar uma lmpada
atravs da localizao dos usurios de uma casa. A plataforma realiza gerenciamento
local e remoto e expansvel, permitindo a adio de novos tipos de dispositivos. O
projeto da plataforma prev servios genricos, tais como descoberta de ns, armazena-
mento de dados e autenticao, que so blocos bsicos para a construo de aplicaes
IoT.
Neste captulo descreveremos a plataforma ManIoT. Na Seo 4.1 apresentamos
os requisitos para plataforma ManIoT. Na Seo 4.2 definimos os escopos de gerencia-
mento local e global com suas camadas e componentes. Na Subseo 4.2.4 apresentamos
o modelo informao. Por fim, na Seo 4.3 apresentamos uma proposta para gerenci-
amento multiusurio e multiaplicao e detalhamos o modelo para autorizao e para
gerenciamento de conflitos.

4.1 Requisitos e Terminologia


A plataforma ManIoT atende a alguns requisitos j conhecidos em Internet das Coisas,
como a heterogeneidade, alm de outros relacionados aos servios como gerenciamento
local e global. Assim, os principais requisitos para ManIoT so:

35
Captulo 4. Plataforma ManIoT - Management for the Internet of
36 Things

Tratar a Heterogeneidade: ManIoT deve trabalhar com dispositivos de diferentes


capacidades de comunicao e de processamento e diferentes protocolos, como
sensores e notebooks.

Prover Autenticao e Controle de Acesso: as informaes dos dispositivos de-


vem ser protegidas. Assim, a autenticao e controle de acesso das aplicaes e
usurios so dois dos principais pontos de discusso no mbito de Internet das
Coisas e a plataforma ManIoT deve prover esses servios.

Prover Extensibilidade: devido infinidade de dispositivos existentes, um dos


principais requisitos da plataforma ManIoT fornecer suporte para adicionar
novos dispositivos e criar novos cenrios.

Usar Protocolos Conhecidos: desejvel para plataforma ManIoT o uso de tec-


nologias, protocolos e plataformas existentes e reconhecidas na rea de gerencia-
mento em redes de computadores.

Realizar o Gerenciamento dos Dispositivos: o gerenciamento dos dados no fun-


o da plataforma ManIoT. ManIoT deve gerenciar os dispositivos, manipulando
o estado, as configuraes e o modo de operao dos dispositivos que formam a
rede IoT.

Definir um Modelo de Dados: ManIoT deve fazer uso de um modelo de dados bem
definido e que encapsule os dados coletados pelos dispositivos implementados.

Definir um Modelo de Informao: alm do modelo de dados, ManIoT deve prover


um modelo de informao para os dispositivos suportados. Esse modelo facilitar
a programao, pois utilizamos dispositivos de fabricantes diferentes. O modelo
de informao uma representao abstrata/conceitual, enquanto o modelo de
dados especifica os detalhes da informao, como tipo de dados.

Para facilitar a compreenso do restante do captulo, definimos abaixo os princi-


pais termos usados na construo do projeto da plataforma ManIoT.

Ambientes Inteligentes: so locais delimitados no espao, por exemplo, uma casa


ou escritrio. Esses ambientes envolvem um conjunto de dispositivos da IoT.

Cenrios: so domnios de aplicaes controlados por um gerente local, onde um


conjunto de dispositivos (reais ou virtuais) realizam tarefas para os usurios.
Como exemplo de cenrios da plataforma ManIoT temos, Iluminao Inteligente,
Automao de Tarefas e Tecnologia Assistiva.
4.1. Requisitos e Terminologia 37

Tarefas: so atividades realizadas pelas aplicaes. Cada aplicao realiza uma ou


mais tarefas, como verificar localizao, ler o estado dos dispositivos, controlar
luzes da sala.

Aplicaes: fazem uma interface de comunicao entre a plataforma e os usurios.


As aplicaes implementam os cenrios e fornecem um conjunto de tarefas para
os usurios. Exemplos: aplicao para monitoramento de pessoas, aplicao para
gerenciamento de iluminao, entre outras.

Dispositivos: so os ns da rede IoT. Formados por dispositivos fsicos, como Lm-


padas, Smartphones, Notebooks, Sensores, entre outros, e dispositivos virtuais,
como calendrio online, e-mail, agenda online, entre outros.

Recursos: so os servios oferecidos por cada dispositivo. Um dispositivo pode ter


um ou mais recursos. Alm disso, os recursos podem realizar a funo de senso-
riamento ou atuao. Por exemplo, o dispositivo Smartphone com Android pode
ter diversos recursos de sensoriamento (Posio GPS, Sensor de Luminosidade,
Sensor Acelermetro etc.). Em outro exemplo, as lmpadas inteligentes so atu-
adores devido capacidade de alterar a cor e intensidade da iluminao de um
ambiente.

Camadas: so subdivises da plataforma onde definimos um agrupamento de funcio-


nalidades semelhantes. Por exemplo, na camada Aplicao definimos os compo-
nentes de software que fazem a interface entre a plataforma e os usurios.

Servios: so as atividades principais da plataforma. Realizam operaes mais pon-


tuais quando comparadas com as aplicaes. Exemplos de servios: autenticao,
comunicao e gerenciamento de conflitos. Uma aplicao pode utilizar um ou
vrios servios, assim como um servio pode ser utilizado por uma ou mais apli-
caes.

Usurios: so pessoas que usam ou administram o sistema. Eles podem ser usu-
rios comuns ou usurios administradores. Os usurios comuns so pessoas que
utilizam os dispositivos de terceiros atravs da plataforma ManIoT. J os admi-
nistradores so usurios donos e responsveis por um recurso ou dispositivo. Esse
usurio tem controle total e irrestrito sobre seu recurso. Por exemplo, em uma
aplicao que gerencia lmpadas inteligentes em residncias, os usurios podem
ser todos os moradores e possveis visitantes.
Captulo 4. Plataforma ManIoT - Management for the Internet of
38 Things

Aes: um certo recurso pode sofrer aes. Essas aes so baseadas nas restries
impostas. Exemplo ligar/desligar um switch. Alterar a cor de emisso de luz de
uma lmpada. Obter a temperatura atual capturada por um sensor, entre outros.

Permisses: so autorizaes atribudas a determinados usurios para executarem


uma ou mais tarefas. Por exemplo, uma determinada aplicao do usurio s ter
permisso para desligar uma lmpada quando este usurio obtiver essa permisso.

Modo de Operao: define como os recursos sero gerenciados. Por exemplo, no


modo IC - Informao de Contexto da ManIoT, as permisses sero dadas
atravs das regras que utilizam informaes de contexto. J o modo ADM -
Administrador, as permisses sero delegadas diretamente pelo administrador
do recurso.

Restries: definem quais tipos de aes sero possveis em um recurso. As restri-


es so divididas em trs categorias. (1) R - Leitura, ato de ler o estado atual
de um determinado recuso. (2) W - Escrita, ato de gravar uma informao
ou alterar uma configurao/estado de um determinado recurso e (3) C - Con-
trole, ato que permite gerenciar um recurso, atribuindo permisso e alterando o
modo de operao. Ex: Leitura - ler posio do celular android, Escrita - gravar
novo percentual de iluminao em 90%, Escrita - alterar estado da lmpada para
desligado, Controle - dar a permisso de escrita para usurio Andr sobre os re-
cursos do dispositivo WeMo Insight Switch, Controle - alterar modo de operao
da lmpada philips hue para IC.

Conflitos: so situaes onde a plataforma ManIoT, diante de duas ou mais opes,


precisa decidir sobre uma tarefa. Os conflitos aparecem, por exemplo, quando
um usurio deseja apagar uma lmpada do quarto e outro usurio deseja deix-la
acesa.

4.2 Descrio da Plataforma ManIoT


A plataforma ManIoT estabelece dois escopos de gerenciamento, local e global. O
gerente local atua dentro de um cenrio, gerenciando os dispositivos que compem
este cenrio, geralmente, a partir de informaes sobre o contexto. Desta forma, por
exemplo, o gerente local pode controlar os eventos que uma aplicao ou usurio pode
realizar, como ligar ou desligar uma lmpada. J o gerente global procura uniformizar
as aes realizadas em diferentes cenrios a partir de diretivas de alto nvel. Assim,
4.2. Descrio da Plataforma ManIoT 39

uma concessionria de energia atravs do gerente global, por exemplo, poderia definir
cotas mximas de consumo por rea ou residncia em perodos de potenciais blackouts.
A plataforma prev vrios gerentes locais em espaos fsicos diferentes, mas todos
devem se comunicar com apenas um gerente global, conforme apresentado na Figura
4.1. Acreditamos que a separao em dois nveis de gerenciamento traz os seguintes
benefcios: (1) podemos implementar polticas de gerenciamento e tomar decises lo-
cais. Cada gerente local trabalha com as caractersticas de um cenrio especifico sem
preocupar com detalhes de outros cenrios; (2) o gerente global pode tomar as decises
mais importantes atravs de informaes fornecidas por cada gerente local. O gerente
global no dever se preocupar com os detalhes especficos de cada cenrio; (3) atravs
dessa proposta podemos adicionar novos cenrios com novos gerentes locais para ge-
renciar novos dispositivos sem alterar a estrutura e servios existentes - isso ir prover
extensibilidade para a plataforma ManIoT.

Gerente Data Center


Global

Polticas de Alto Nvel


Residncia

Gerente
Local
ou
... ou

Comandos/Leituras Comandos/Leituras

Coisas ... ...

Figura 4.1. Topologia da Plataforma ManIoT, Destacando os Gerentes Global,


Locais e os Dispositivos.
Captulo 4. Plataforma ManIoT - Management for the Internet of
40 Things

A plataforma ManIoT tambm leva em conta a heterogeneidade dos dispositi-


vos ou coisas. Assim, ManIoT no requer modificaes ou instalaes de softwares
adicionais nos dispositivos da rede ou nos dispositivos dos usurios, exceto no uso de
Smartphone, Seo 5.3. No projeto da plataforma ManIoT o acesso s aplicaes
realizado atravs de uma interface Web. O projeto prev ainda que o acesso pelos
usurios deve ser restringido por contas de usurios e por um administrador que define
as aplicaes e recursos dos dispositivos que esses usurios podem acessar, Seo 4.3.
A plataforma especifica um modelo de dados e um modelo de informao com o
objetivo de padronizar o formato dos dados utilizados na comunicao entre aplicaes,
servios e dispositivos. O estado dos dispositivos (ligado/desligado) e o id (identifica-
o do dispositivo) so exemplos de caractersticas utilizadas no modelo de informao.
Ainda, visando a extensibilidade e integrao com outros sistemas, o projeto da pla-
taforma prev o uso de protocolos e padres populares da indstria para modelos de
dados, como o XML (eXtensible Markup Language) e o REST.
Cada gerente local roda em um servidor de rede ou dispositivo embarcado de
maior poder computacional e sempre ligado rede eltrica (por exemplo um roteador
domstico, uma televiso) dentro de um cenrio e comunica com os dispositivos atravs
da troca de comandos. A comunicao entre o gerente local e o gerente global se d
via conexo TCP/IP e uso de polticas de alto nvel, Figura 4.1. O projeto do gerente
local para a plataforma ManIoT uma das principais contribuies deste trabalho. A
prxima subseo detalha os componentes do gerente local.

4.2.1 Componentes de Software do Gerente Local


Os softwares que compem a plataforma ManIoT no gerente local, Figura 4.2, possuem
cinco camadas bem definidas e so detalhadas abaixo.
Camada de aplicao. A primeira camada composta pelas aplicaes. Cada
aplicao usa os dados providos por um ou vrios dispositivos, bem como os servios
da plataforma. Os usurios da rede devem acessar as aplicaes atravs de uma in-
terface web e essas aplicaes, por sua vez, devem interagir com ManIoT utilizando
chamadas de funo. Cada aplicao solicita plataforma a execuo de aes sobre
os dispositivos tendo em vista o cenrio implementado. Por exemplo, uma aplicao
de gerenciamento de energia solicita desligar ou ligar um aparelho de ar condicionado
tendo em vista a reduo do consumo.
Camada de servios. A segunda camada formada pelos servios. Os servios
do suporte s aplicaes e utilizam as abstraes implementadas pelos drivers para
realizar a comunicao com os dispositivos. Entre os itens dessa camada temos:
4.2. Descrio da Plataforma ManIoT 41

Rede
TCP/IP
Interface Web

Alerta Visual Iluminao Automao de


...
Inteligente Tarefas

Eventos Autenticao Descoberta Agendamento


Armazenamento Comunicao ...
Gerenciamento
Gerenciamento
Configuraes de Contexto
de Conflitos

Padronizao dos Dados


Driver Driver Driver Driver ...
Banco de Web
RFID Philips Belkin Huawei
Dados
Padro REST (Web ...
UPnP XMPP
ManIoT Service)

Leitor RFID Google Google


Calendar Talk
Belkin (Adaptador,
Lmpada, Sensor Lmpada Modem ...
de Presena) Philips Huawei (SMS)

Smartphone Android (GPS, Bateria, Acelermetro)

Figura 4.2. Plataforma ManIoT: gerente local.

Armazenamento. Mantm um histrico dos dados coletados, eventos captura-


dos pelos dispositivos e informaes sobre as caractersticas e funcionalidades de
cada dispositivo e de cada cenrio;

Agendamento. Programa aes futuras ou que se repetem periodicamente, tais


como consultas a sensores ou alteraes no estado de um dispositivo;

Autenticao. Realiza a identificao dos usurios (utilizando login e senha) e


dos dispositivos (utilizando um identificador nico);

Descoberta. Realiza a identificao de novos dispositivos (com drivers previa-


mente cadastrados) que foram adicionados a rede IoT, identificando tambm os
servios oferecidos por esses dispositivos;
Captulo 4. Plataforma ManIoT - Management for the Internet of
42 Things

Configuraes. Gerencia as configuraes bsicas de cada dispositivo e fornece


uma interface para as aplicaes acessarem essas configuraes;

Comunicao. controla a comunicao entre os gerentes locais e o gerente


global;

Eventos. Permite que as aplicaes sejam notificadas atravs de eventos dispa-


rados pelos dispositivos, como deteco de movimento pelo sensor de presena,
condies da temperatura ambiente, localizao de um dispositivo, etc;

Gerenciamento de conflitos. Diante de operaes conflitantes entre duas


aplicaes, como desligar e ligar uma lmpada, determina qual usurio ou
aplicao possui prioridade na execuo;

Gerenciamento de contexto. Realiza a percepo de informaes contextu-


ais, como localizao e tempo (data e hora) para prover funes relevantes aos
usurios e outros servios, como agendamento e gesto de conflitos.

Camada de adaptao. A terceira camada divida em duas partes, sendo a


primeira responsvel pela padronizao dos dados e a segunda por tratar as especifici-
dades de cada dispositivo - subcamada driver. Cada driver gerencia um ou uma famlia
de dispositivos compatveis e abstrai as especificidades do acesso aos seus sensores e
atuadores, o que permite o gerenciamento por parte dos servios de forma integrada.
Esta camada e todas as camadas acima utilizam o modelo de informao definido na
Seo 4.2.4 e as camadas abaixo utilizam representaes prprias de cada protocolo ou
dispositivo.
Camada de comunicao. A quarta camada composta pelos diferentes proto-
colos de acesso aos dispositivos. Como mencionado anteriormente, a rede ser composta
por dispositivos que podem utilizar protocolos de aplicao (por exemplo, UPNP ou
um protocolo proprietrio) e de redes (ZigBee, WiFi) diferentes. Por exemplo, o padro
REST utilizado pelo dispositivo Virtual Google Calendar, j dispositivos WeMo In-
sight Switch, fabricados pela Belkin, utilizam UPnP (Universal Plug and Play). Como
a plataforma ManIoT faz uso de protocolos que os prprios dispositivos j usam, no
so necessrias grandes mudanas na maioria dos dispositivos. Os dispositivos que
precisam de mudana so, por exemplo, sensores da plataforma Iris, para definir o
formato das leituras e Smartphone porque no existe uma interface padronizada para
obter dados dos seus sensores.
Camada de coisas/dispositivos. A ltima camada formada pelas Coisas.
Existem dois tipos diferentes de dispositivos, a saber, os dispositivos reais e os disposi-
4.2. Descrio da Plataforma ManIoT 43

tivos virtuais. Os dispositivos reais so sensores e atuadores fsicos, por exemplo, uma
lmpada inteligente (atuador), um sensor de presso (sensor). J os dispositivos virtu-
ais capturam informaes de um servidor conectado a uma rede TCP/IP. Por exemplo,
um servio de calendrio ou de e-mail, ou um servidor de redes sociais.

4.2.2 Componentes de Software do Gerente Global


O Gerente Global possui duas camadas - Aplicao e Servios, como mostra a Figura
4.3.

Interface Web
...
Segurana Controle de
Iluminao
Acesso

Banco de Descoberta Eventos Autenticao Agendamento


Dados ...
Armazenamento Comunicao Gesto de
Gerenciamento de Contexto Conflitos

Rede
TCP/IP

Figura 4.3. Plataforma ManIoT: gerente global.

Os servios implementados no escopo global possuem as mesmas funes daqueles


implementados no escopo local, segunda camada da Figura 4.2 e Figura 4.3 . Os
servios do escopo global tratam conjuntos de dados maiores e fornecem suporte para
aplicaes mais abrangentes. Por exemplo, no contexto do gerenciamento de energia
eltrica o gerente global deve ter a capacidade de gerenciar possveis faltas de energia
em diversas residncias de um bairro. As decises definidas pelos servios globais
so enviadas para os servios do gerente local que, por sua vez, procura a melhor
forma de implement-las, para tanto empregando uma conexo TCP/IP. Por exemplo,
na iminncia de um apago, a companhia que fornece energia eltrica (atravs do
gerente global) pode enviar uma notificao para o gerente local solicitando a reduo
instantnea do consumo e o gerente local deve, por exemplo, desligar temporariamente
aqueles dispositivos que consomem mais energia.
Captulo 4. Plataforma ManIoT - Management for the Internet of
44 Things

4.2.3 Comunicao entre Gerente Local e Global


O gerente global da plataforma ManIoT tem como objetivo controlar dois ou mais
gerentes locais. Para isso definimos nesta subseo a comunicao entre gerente global
e gerente local.
De acordo com as Figuras 4.3 e 4.2, a comunicao utiliza o padro TCP/IP
para interligar os gerentes. Alm disso, a plataforma define a comunicao em alto
nvel atravs de um conjunto de parmetros de gerenciamento. Esses parmetros so
dependentes da aplicao e atravs deles os gerentes locais devem notificar o gerente
global e este, caso seja necessrio, enviar indicativos com novos valores de operao.
Assim, cada gerente local deve definir e publicar os seus parmetros gerenciveis.
Na rotina de operao, a aplicao do gerente local escreve os valores dos seus
parmetros periodicamente ou quando achar relevante e o gerente global verifica esses
valores quando achar necessrio. Aps a verificao, o gerente global pode enviar
indicativos de gerenciamento.
Utilizamos o escopo [<parmetro>, <valor>], onde o parmetro indica o
que deve ser gerenciado, por exemplo consumo_instantaneo_de_energia, e o valor
indica o valor de operao.
Para exemplificar utilizaremos o gerenciamento de gastos com energia eltrica.
O gerente local publica dois parmetros gerenciveis [consumo_instant, <va-
lor>] e [consumo_mensal_medio, <valor>] e atravs desses parmetros o
gerente global pode reunir dados de vrios cenrios (fornecidos pelos respectivos ge-
rentes locais) e indicar o consumo (instantneo e previso mdia mensal) desejado.
Assim, o gerente local informa o gerente global sobre o consumo mensal mdio em
kWh [consumo_mensal_medio, 400] e, caso necessite, o gerente global indica
que gerente local deve reduzir o consumo em 50 kWh, enviando os dados [con-
sumo_mensal_medio, 350]. Portanto, o gerente local dever definir formas para
chegar a este valor. Em outro exemplo, os gerentes locais podem indicar os gastos
instantneos de cada cenrio e, reunindo dados de vrios cenrios, na eminncia de um
blackout, o gerente global indica os valores desejados para serem implementados pelo
gerentes locais.
O gerente global no interfere diretamente nas tarefas desempenhadas pelos geren-
tes locais, mas apenas fornece indicativos baseados nos parmetros fornecidos. Assim a
comunicao entre os gerentes locais e global utiliza um esquema genrico e extensvel
para outras aplicaes e permite assim a escalabilidade.
Portanto, o ideal que os parmetros sejam algo que sumarize as aes do gerente
local. Essa sumarizao importante pelo fato que o gerente local pode tratar de
4.2. Descrio da Plataforma ManIoT 45

muitos dados e que mudam frequentemente, e se o controle de todos esses dados forem
repassados ao gerente global, no conseguimos prover a escalabilidade.
Para guiar a implementao do prottipo da plataforma ManIoT, descrita no
Captulo 5, definimos na prxima subseo o modelo de informao.

4.2.4 Modelo de Informao


Para implementao da plataforma ManIoT foram definidos o modelo de dados e o
modelo de informao. O modelo de informao uma representao conceitual ou
abstrata das operaes possveis nos elementos gerenciados. O modelo de dados, defi-
nido na Seo 5.2, especifica os dados com detalhes para armazenar e/ou transmitir as
informaes [Pras & Schoenwaelder, 2003].
A Figura 4.4 apresenta as classes dos componentes e dos dispositivos utilizados
no modelo de informao. Empregamos uma modelagem baseada em objetos, onde
esses objetos possuem propriedades e mtodos. As propriedades de cada objeto so
manipuladas pela plataforma ManIoT atravs de leituras, no caso dos sensores, ou
leituras e escritas, no caso de atuadores. Utilizamos ainda no modelo o conceito de
herana, onde a classe de um objeto herda as propriedades e mtodos de outra classe,
que por sua vez generaliza diversas outras classes. Como exemplo de herana, na
Figura 4.4 a classe do objeto Sensor de Luminosidade herda o mtodo Ligar() da classe
Dispositivo.
Na plataforma ManIoT todos os dispositivos possuem um nome, um tipo e pro-
priedades especficas, como Latitude e Longitude do objeto Localizao. Essas proprie-
dades so manipuladas atravs de mtodos que definem as principais operaes sobre
cada objeto. Atravs das operaes cada aplicao pode definir e modelar seus eventos.
Os eventos so servios oferecidos pela plataforma ManIoT para as aplicaes.
Os eventos podem ser entendidos como notificaes geradas ou interpretadas pela pla-
taforma. Como exemplo de um evento, sempre que um sensor de luminosidade fizer
uma leitura com diferena de 50 lmens para a ltima leitura, a plataforma deve gerar
um evento notificando as lmpadas para atualizao da luminosidade emitida. Em ou-
tro exemplo, quando um usurio estiver prximo sua residncia (definido atravs da
localizao) a plataforma deve ser notificada (pelo smartphone) e gerar eventos como,
ligar ar condicionado, ligar cafeteira, desligar sensor de presena, entre outros.
As classes Usurio e Aplicao encapsulam os usurios da rede IoT e das aplicaes
que utilizam os servios oferecidos. A classe Usurio possui as propriedades Nome,
Login, Senha e Status que indica a situao do usurio, ativo ou inativo e os mtodos
Cadastrar(), Alterar(), Excluir() e AlterarStatus(). A classe Aplicao possui como
Captulo 4. Plataforma ManIoT - Management for the Internet of
46 Things

propriedades o Nome, Descricao e Status que tambm tem funo de indicar se uma
aplicao est ou no ativa.
A classe Agendamento envolve os usurios, as aplicaes e os dispositivos e agen-
dam operaes para serem executadas em data posterior. A classe possui uma pro-
priedade chamada Data_e_Hora, que indica o tempo que a ao agendada deve ser
executada e Operacao que indica qual tipo de ao deve ser executada. Os mtodos
so Incluir(), Excluir(), Alterar() e Consultar().
A classe Histrico tem funo de encapsular as atividades de leituras realizadas
pelos dispositivos da rede. Assim, as propriedades envolvem Data_e_Hora, Dispositivo
e Operacao. Para exemplificar uma Operacao temos, uma nova leitura realizada pelo
sensor luminosidade, a deteco de nova etiqueta, etc. Os mtodos so similares queles
da classe Agendamento. Em outro exemplo, sempre que usurio solicitar os dados
de status da classe Sensor de Tomada, essas informaes devem ser armazenadas no
Histrico.

Usurio Aplicao Dispositivo Histrico Agendamento


Nome Nome Nome Data_e_Hora Aplicacao
Login Descricao Fabricante Dispositivo Usuario
Senha Status Numero_de_Serie Operacao Data_e_Hora
Status Endereco_de_Rede Dispositivo
CadastrarAplicacao( ) Incluir( )
Recursos_Sensores Operacao
Castrar( ) ExcluirAplicacao( ) Excluir( )
Recursos_Atuadores Alterar( ) Incluir( )
Alterar( ) ConsultarAplicacao( )
Excluir( ) AlterarStatus( ) Ligar( ) Consultar( ) Excluir( )
AlterarStatus( ) Desligar( ) Alterar( )
AtualizarConfig( ) Consultar( )

Sensor Atuador

Sensor de RFID Localizao Sensor de Tomada Lmpada


Luminosidade
TagID Latitude Status Cor
Luminosidade Status Longitude Consumo Intensidade
Tempo Status
Leituras( ) LerTag( ) Leituras( )
LocalizarTag( ) LerStatus( ) AlterarCor( )
Leituras ( ) ZerarLeituras( ) AlterarIntensidade( )
LerStatusTempo( )
LerStatusConsumo( )

Figura 4.4. Exemplo do Modelo de Informao da Plataforma ManIoT


4.2. Descrio da Plataforma ManIoT 47

Os dispositivos so encapsulados pela classe genrica Dispositivo, pelas classes


Sensor e Atuador e por suas respectivas classes. Os dispositivos possuem nome, fa-
bricante, nmero de srie, endereo de rede (IP ou outro), lista de recursos do tipo
sensores e lista de recursos do tipo atuadores. A classe dos dispositivos possui tambm
os mtodos bsicos para ligar, desligar e alterar as configuraes de um dispositivo. As
subclasses genricas Sensor e Atuador no possuem propriedades ou mtodos pois cada
dispositivo tem seus prprios parmetros gerenciveis, alm disso essas duas classes ser-
vem para definir o domnio de atuao de cada dispositivo. O modelo de informao
extensvel, mas para efeito de implementao, o prottipo ManIoT prev 5 dispositivos,
encapsulados pelas classes:

Sensor de Luminosidade, que encapsula os sensores de luminosidade, possui a pro-


priedade Luminosidade, que armazena os lmens lidos em um ambiente. Possui
ainda o mtodo leitura() que trata das operaes de leitura sobre o dispositivo.

RFID, com as propriedades TagID e Status e os mtodos LerTag(), LocalizarTag(),


Leituras() - que trata da leitura simples dos dados.

Localizao, que encapsula os dispositivos para localizao outdoor, como


smartphones. Possui as propriedades Latitude e Longitude e o mtodo Leitura().

Sensor de Tomada, que encapsula dispositivos controladores de tomadas e funes


de ler dados de consumo eltrico, ativar e desativar seu uso. As propriedades so
Status, Consumo e Tempo e os mtodos LerStatus(), ZerarLeituras(), LerStatus-
Tempo() e LerStatusConsumo().

Lmpada, que encapsula as lmpadas inteligentes com capacidade de gerencia-


mento remoto. As propriedades so Cor (para alterar a cor de emisso de luz)
Intensidade (de emisso de luz) e Status. Os mtodos so AlterarCor() e Altera-
rIntensidade().

De forma geral um dispositivo tem (ou pode ter) um conjunto de sensores e atu-
adores que so encapsulados pelas classes genricas sensor e atuador, respectivamente.
Dessa forma, no prottipo temos os sensores de presena, luminosidade, corrente el-
trica, tenso e localizao (indoor e outdoor ). E os atuadores de iluminao, intensi-
dade de luz e corrente eltrica.
Para exemplificar temos o dispositivo Controlador WeMo Insight Switch que faz
uso da classe Sensor de Tomada e atua como sensor e atuador. Esse dispositivo tem
capacidade de ler o consumo dos equipamentos conectados e apresentar informaes,
como tempo de uso e energia gasta. Agindo como atuador o controlador tem capacidade
Captulo 4. Plataforma ManIoT - Management for the Internet of
48 Things

de ligar e desligar a energia dos equipamentos conectados. Todas essas operaes so


encapsuladas pelos mtodos Ler(), LerStatusTempo() e LerStatusConsumo() da classe
especialista Sensor de Tomada.
Devido grande quantidade de dispositivos que compem a IoT, as plataformas
de gerenciamento devem prever a incluso de novos componentes [Pires et al., 2015].
Podemos observar que as caractersticas gerais, como Nome e Tipo e as operaes Ler(),
Ligar() e Desligar() dos dispositivos da IoT so previstas. Alm das operaes temos
as classes de uso geral, como Aplicao e Agendamento que no restringem o modelo
do dispositivo. Portanto o modelo de informao da plataforma ManIoT extensvel,
pois aceita a incluso de novos dispositivos com novas caractersticas e serve de base
para o modelo do banco de dados.
Alm do modelo de informao, uma plataforma para IoT composta por apli-
caes, pelos dispositivos e pelos usurios. Devido pluralidade desses componentes,
podemos dizer que a essncia do IoT ser multi: multiaplicaes, multi-hardware e
multiusurios. Na prxima seo trataremos do projeto para gerenciamento multiu-
surio e multiaplicao.

4.3 Gerenciamento Multiusurio e Multiaplicao


De acordo com IBSG (Internet Business Solutions Group) [IBSG-Cisco, 2011], existe
a previso para cerca 50 bilhes de dispositivos compondo a IoT em 2020. Diante do
grande nmero de dispositivos e respectivos usurios conectados Internet, as plata-
formas para IoT precisam implementar servios para gerenciar as necessidades desses
usurios, principalmente aquelas que geram conflitos. Alm disso, de acordo com Atzori
et al. [2010] os componentes bsicos de uma plataforma para IoT so as aplicaes, os
servios e os objetos (dispositivos). Devido pluralidade desses componentes, podemos
dizer que a essncia do IoT ser multi: multi-hardware, multiusurios e multiaplica-
es. As aplicaes utilizam os dispositivos atravs dos servios disponveis e essas
aplicaes so utilizadas por diversos usurios com necessidades diferentes. Nesta se-
o apresentamos uma proposta desenvolvida para gerenciamento de mltiplos usurios
e mltiplas aplicaes para plataforma ManIoT.
Os conflitos aparecem, por exemplo, quando um usurio deseja apagar uma lm-
pada do quarto e outro usurio deseja deix-la acesa. Utilizando como exemplo as
lmpadas inteligentes, onde podemos executar operaes como ligar/desligar e mu-
dar cor e intensidade remotamente, necessrio definir quem poder executar essas
operaes conflitantes. Em outro exemplo, o conflito aparece quando uma aplicao
4.3. Gerenciamento Multiusurio e Multiaplicao 49

de economia de energia deseja desligar uma lmpada e outra aplicao, de segurana,


deseja deix-la acesa. Nesses exemplos quando a plataforma executar a operao solici-
tada por uma entidade (usurio ou aplicao) ela ir deixar de atender outra, gerando
portanto um conflito. Com isso existe a necessidade de definir quem ter prioridade,
quais regras sero utilizadas para definir essas prioridades e quem ser o intermediador
desses conflitos.
As plataformas encontradas na literatura possuem diversos desafios ainda abertos
e que requerem solues em nvel de hardware e de software. As plataformas existentes
no proveem mecanismos que permitam o uso harmonioso dos dispositivos por mlti-
plos usurios e mltiplas aplicaes. Certas plataformas, como EcoDiF [Delicato et al.,
2013], implementam mdulos que permitem aos usurios realizar o gerenciamento dos
dispositivos conectados, mas restringe o acesso, liberando apenas aqueles dispositivos
criados pelo prprio usurio. Outros modelos de plataformas permitem a realizao de
buscas por dados de dispositivos e aplicaes atravs da interface Web, mas restringem
as operaes que alteram o modo de funcionamento dos dispositivos. Outras solues,
como Xively [LogMeIn, 2015] e Carriots [Carriots, 2015] utilizam servios de nuvem
para gerenciar os dados providos pelos dispositivos. Nesse tipo de plataforma os usu-
rios podem visualizar os dados e seus histricos mas no podem realizar operaes de
controle mais avanadas, como por exemplo, alterar a taxa de leitura de um sensor.
Uma das polticas usadas para gerenciar ambientes com recursos compartilhados
criar uma ordem de prioridade para determinadas tarefas. A ordem de prioridade tem
como objetivo eleger um usurio ou aplicao que dever executar uma operao em
um cenrio onde existam conflitos de interesses, como desligar ou ligar um dispositivo.
importante definir ento quem poder executar determinada ao e qual o momento
de incio e a durao dessa ao. A falta de uma poltica de gerenciamento pode levar
o sistema a situaes de inconsistncia, como desligar um sensor de presena para
economizar energia em um momento de risco iminente.
Na prxima seo relacionamos os requisitos para o gerenciamento proposto neste
captulo. Apresentamos tambm os modelos de autorizao e gerenciamento de confli-
tos criados.

4.3.1 Modelo de Autorizao e Gerenciamento de Conflitos


A plataforma ManIoT fornece servios para usurios atravs de aplicaes que, por sua
vez, utilizam os recursos dos dispositivos da rede. Esses recursos so compartilhados
entre as aplicaes e os respectivos usurios. Devido ao uso compartilhado existe a
necessidade de gerenciar as permisses para executar aes, como ligar ou desligar um
Captulo 4. Plataforma ManIoT - Management for the Internet of
50 Things

servio. Nesse sentido podemos identificar dois domnios que devem ser gerenciados:
usurios e aplicaes.
As aplicaes habilitam um conjunto de tarefas para os usurio. Assim, todos os
usurios da plataforma utilizam uma ou mais aplicaes que por sua vez executam servi-
os e aes programadas, normalmente em monitoramento de ambientes, como sensores
de presena, alarme, iluminao, cmeras para aplicaes de segurana. Como exem-
plo, uma ao programada pode acender uma lmpada quando o sensor de presena
detectar um movimento.
O gerenciamento requer certos requisitos. O primeiro requisito para gerencia-
mento de usurios a criao de um perfil, onde cada usurio deve ter um login e uma
senha. Atravs desse perfil o usurio poder acessar a plataforma de qualquer local, via
interface Web, e executar as aplicaes para as quais possuem permisso. O segundo
requisito que cada usurio deve ter mapeado em seu perfil o tipo de permisso para
cada recurso. Por questes de segurana, o valor padro deve ser sem permisso. O
terceiro requisito diz que, alm da autenticao e controle de acesso, cada usurio ter
uma prioridade na execuo de aes sobre os recursos dos dispositivos. Essa prio-
ridade deve escalonar a execuo e definir a vigncia de cada ao, mais detalhes na
Subseo 4.3.1. Por fim, cada aplicao deve indicar quais aes e privilgios necessita
para executar. Com isso, se determinado usurio no tiver todos os pr-requisitos,
automaticamente ele no ter permisso sobre tal aplicao.
As permisses so autorizaes atribudas a determinados usurios para executa-
rem uma ou mais tarefas. As Leituras so, a principio, operaes permitidas a todos
os usurios da plataforma, mas a revogao dessa permisso pode ser feita a qualquer
momento pelo Administrador do Recurso. Portanto devemos gerenciar os usurios e
suas aplicaes para fazer o uso coordenado e eficiente dos recursos mantidos pela pla-
taforma. A Figura 4.5 apresenta o modelo exemplo, onde um usurio tem permisso de
administrador sobre os quatro recursos enquanto os outros usurios possuem permis-
ses restritas. A marcao e as linhas vermelhas da figura representam as permisses
de administrador do recurso enquanto as linhas verdes representam os usurios com
permisses restritas, ou seja, aqueles que no tem controle sobre os recursos.
Para realizar o gerenciamento de conflitos, cada recurso de um dispositivo possui
um usurio administrador. Os administradores possuem controle total e irrestrito so-
bre seu recurso, podendo delegar permisses a outros usurios de forma permanente,
ou temporria, baseado no contexto (como localizao do usurio). Pensando na im-
plementao, a localizao poderia ser fornecida por dispositivos como leitores RFID,
GPS em smartphones ou sensores de presena. Tomemos como exemplo uma lmpada
inteligente na porta de uma casa: Alice, um usurio comum, no poderia desligar a
4.3. Gerenciamento Multiusurio e Multiaplicao 51

lmpada do quarto de Maria que outro usurio comum, se Maria estiver no seu quarto.
J Joana, a me e administradora da lmpada, poderia desligar ou ligar a lmpada a
qualquer momento, sobrescrevendo as aes de Maria e Alice.

User User User


Root

application

resource resource resource resource

Figura 4.5. Relao entre usurios, aplicaes e recursos da plataforma ManIoT.

Para tratar a restrio mostrada na Figura 4.5 precisamos implementar uma


forma de delegar essas permisses a outros usurios. O administrador do recurso atribui
a permisso de escrita ou leitura do seu recurso a outro usurio utilizando critrios como
localizao ou prioridade. Essa atribuio deve seguir um dos formatos:

TF - Tempo Fixo: (Ex: TF 1, 10, 30 ou 60 ) onde a permisso expira automatica-


mente aps determinado tempo pr-fixado em 1, 10, 30 ou 60 minutos.

TE - Tempo Especificado: (Ex: TE Value) onde, a partir do momento da soli-


citao, o administrador do recurso especifica o tempo total da permisso em
minutos.

TP - Tempo Programado: (Ex: TP Timeline) onde o administrador do recurso


pode criar um cronograma de permisses para um usurio especfico executar de-
terminada ao sobre um recurso. Por exemplo, O usurio Joo poder desligar
o sensor de presena somente aos domingos no perodo da manh.
Captulo 4. Plataforma ManIoT - Management for the Internet of
52 Things

TI - Tempo Indeterminado: (TI) A Permisso no ter um limite e somente o ad-


ministrador poder revog-la.

Alguns dispositivos, como lmpadas, que atuam em pequenos ambientes, como


uma sala ou quarto, podero ser gerenciados atravs das informaes de contexto. Es-
sas informaes so, a princpio, a Localizao e/ou Data/Hora. O administrador do
recurso deve permitir ou definir que seu recurso seja gerenciado atravs das informa-
es de contexto - IC (Informao de Contexto). Portanto um recurso pode estar em
modo IC ou modo ADM - Administrador. As regras para implementao do modo
IC sero especificadas por e para cada aplicao. Por exemplo, O usurio que tiver
mais prximo da lmpada poder ligar/desligar ou alterar sua intensidade. Em outro
exemplo, a regra de contexto pode dar permisso total sobre uma lmpada para um
usurio que utiliza determinada aplicao de segurana quando o horrio estiver entre
00h:00min e 06h:00min.

4.3.1.1 Algoritmo para Gerenciamento de Conflitos

Um aspecto importante em uma rede com mltiplos servios se refere ao gerenciamento


de conflitos. Os conflitos podem ocorrer quando duas ou mais aplicaes tentam alte-
rar a mesma configurao de um recurso. Por exemplo, quando uma aplicao solicita
o desligamento de uma lmpada, e uma segunda aplicao solicita que esta fique li-
gada. Este gerenciamento implementado pelos servios gerenciamento de conflitos e
gerenciamento de contexto.

Algorithm 1 Gerenciamento de operaes conflitantes no ManIoT.


1: procedure Conf lito(Recurso, Operacao, idU suarios[])
2: idU suario 0
3: if Operacao = IC then idU suario BuscarM aisP roximo(idU suarios)
4: return idUsurio
5: else
6: for i 1, n do
7: if idU suarios[i].T ipo = Administrador then
8: idU suario idU suarios[i]
9: return idU suario
10: if idU suario.T ipo 6= Administrador then
11: idU suario BuscarP ermissao(idU suarios, Recurso)
12: return idU suario

O Algoritmo 1 descreve a operao do servio de gerenciamento de conflitos. O


servio recebe a lista de usurios que enviaram comandos ao dispositivo, verifica se
o dispositivo (que contm o recurso) est habilitado para ser gerenciado no modo IC
4.3. Gerenciamento Multiusurio e Multiaplicao 53

e retorna o usurio mais apto (l.3). Se o modo IC no estiver habilitado, a lista de


usurios candidatos dever ser verificada e escolhido aquele que possui permisso de
administrador sobre o recurso (l.7). Por fim, se no existir um administrador entre
os candidatos, cada usurio candidato poder solicitar essa permisso diretamente ao
administrador do recurso (l.11).
A ordem de prioridade sobre os recursos tem o objetivo de definir um nico
usurio para executar a operao de escrita. O administrador do recurso o nico que
tem a permisso de controle, e essa permisso pode delegar e revogar as permisses de
leitura e escrita. Consequentemente o administrador aquele que tem maior prioridade.
O usurio administrador pode alterar ainda seu recurso para o modo de operao IC
e assim as regras preestabelecidas iro controlar as permisses de escrita, podendo
delegar escrita para um usurio que atenda os critrios da aplicao.
As regras que utilizam IC tero, neste caso, o papel de administrador para delegar
e revogar a permisso de escrita. Quando o usurio administrador habilita o modo IC
para determinado recurso, as permisses delegadas sero substitudas pelas regras do
IC, portanto permisses delegadas tem menor prioridade.
Como definio de projeto, a qualquer momento o usurio administrador pode
alterar entre o modo de operao entre IC e ADM. Caso o administrador queira dar
permisso a um determinado usurio e o seu recurso est no modo IC, este deve primeiro
alterar o modo de operao para ADM e logo depois delegar escrita. Portanto, de forma
geral a ordem de prioridade entre os usurio a seguinte:

1. (Maior) - Usurio com Permisso de Controle - Administrador.

2. - Usurio com Permisso Delegada por IC.

3. (Menor) - Usurio com Permisso Delegada por ADM.

O contexto utilizado para autorizar a execuo de determinada aplicao. As


informaes de localizao (indoor - ex: dentro de uma sala, quarto, escritrio; outdoor
- ex: no trabalho, em um bairro, prximo a residncia) indicam se determinado usurio
poder executar uma ao, como desligar um sensor de presena ou ligar uma lmpada.
O gerenciamento de contexto na plataforma ManIoT utiliza a localizao, data
e hora. Atravs de leitores RFID para localizao indoor e coordenadas GPS para
localizao outdoor a plataforma ManIoT define a posio do usurio e pode autorizar
ou no uma determinada ao. As informaes de data e hora so utilizadas para
definir aes agendadas ou aes com horrio de execuo pr-definidos.
O exemplo a seguir ilustra o uso de dados do contexto. Em uma residncia moram
Joo e Maria. Eles possuem em seus respectivos quartos lmpadas inteligentes. Eles
Captulo 4. Plataforma ManIoT - Management for the Internet of
54 Things

so responsveis pelo gerenciamento (como ligar e desligar). Quando Maria no est em


casa Joo recebe a permisso para executar as aes atravs do contexto localizao.
Essas operaes so possveis porque os donos dos recursos (Joo e Maria) habilitaram
o modo de gerenciamento IC.
Na prxima subseo detalhamos modelagem das permisses. Apresentamos
ainda alguns exemplos utilizando usurios.

4.3.2 Modelagem das Permisses


Para chegarmos a um gerenciamento eficiente as regras devem ser claras e todos os
usurios devem conhec-las. Uma das tarefas da modelagem do problema abstrair
certas funcionalidades e apresentar o sistema de forma simples, permitindo visualizar o
papel de cada usurio sem duplo entendimento. Como forma de visualizar as permisses
de Leitura, Escrita e Controle, criamos uma matriz chamada Matriz de Permisses,
onde as constantes NP, RD, WR e CR representam Nenhuma Permisso, Permisso
de Leitura, Permisso de Escrita e Permisso de Controle, respectivamente. Assim
atravs do exemplo mostrado na Tabela 4.1 podemos visualizar quem tem determinadas
permisses e verificar inconsistncias, como dois administradores para o mesmo recurso.

Tabela 4.1. Matriz de Permisses (NP - nenhuma permisso; RD - permisso


de leitura; WR - permisso de escrita; CR - permisso de controle)

Recursos/
Usurios Lmpadas Luminosidade Proximidade Sensor WeMo RFID
Joo RD NP RD CR WR
Ana WR CR RD RD RD
Carlos RD RD CR NP RD
Pedro RD NP NP WR CR

4.4 Resumo
Neste captulo descrevemos a plataforma ManIoT. Na Seo 4.1 definimos os requisitos
para a plataforma ManIoT, como tratar a heterogeneidade, definir um modelo de dados
e de informao e realizar o gerenciamento local e global. Em seguida definimos cada
componente do gerente global e do gerente local. Nos componentes que formam o
gerente local destacamos a camada de Servios e a camada Adaptao que fornece
abstrao entre os dispositivos, servios e aplicaes da plataforma ManIoT.
4.4. Resumo 55

Na Subseo, 4.2.4, definimos o modelo de informao. Criamos, atravs do mo-


delo uma representao abstrata das operaes que podem ser realizadas nos elementos
gerenciados. Alm das operaes o modelo define quais caractersticas e quais dados
dos dispositivos so tratadas pelas aplicaes.
Apresentamos tambm uma proposta desenvolvida para gerenciamento de ml-
tiplos usurios e mltiplas aplicaes. Definimos as terminologias usadas, requisitos
e modelos para autorizao e gerenciamento de conflitos. Relacionamos as formas de
delegar as permisses a outros usurios. E apresentamos um algoritmo para gerencia-
mento de conflitos que prev o uso de dados de contexto.
Por questo de foco e para sintetizar o trabalho, no iremos implementar o geren-
ciamento multiusurio e multiaplicao no prottipo. Mas pretendemos realizar essa
implementao em melhorias futuras da plataforma. Portanto, o contedo da Seo
4.3 ficar no nvel de projeto da plataforma ManIoT.
No prximo captulo iremos discutir a modelagem e implementao do prot-
tipo da plataforma ManIoT. Descreveremos as ferramentas, plataformas e abordagens
utilizadas no desenvolvimento do prottipo alm do modelo de dados, dispositivos e
cenrios utilizados.
Captulo 5

Implementao do Prottipo

O desenvolvimento de um prottipo teve como objetivo final avaliar determinadas fun-


cionalidades da plataforma proposta. O prottipo da plataforma ManIoT permite a
realizao de testes de consumo de memria, CPU e banda da rede alm da disponibi-
lidade e confiabilidade.
Neste captulo iremos descrever a implementao do prottipo da plataforma
ManIoT. A Seo 5.1 descreve as ferramentas, plataformas e abordagens utilizadas no
desenvolvimento do prottipo. Na Seo 5.2 definimos o modelo de dados. Na Seo
5.3 descrevemos os dispositivos utilizados na implementao dos cenrios. Na Seo 5.4
apresentamos a comunicao entre os dispositivos que formam a plataforma ManIoT.
Por fim, na Seo 5.5 detalhamos os cenrios implementados e tratados pelo prottipo.

5.1 Descrio da Implementao


Para avaliar a aplicabilidade dos mecanismos de gerenciamento, implementamos um
prottipo do gerente local da plataforma com alguns estudos de caso e uso de dis-
positivos reais. Devido grande heterogeneidade dos dispositivos em IoT, apenas as
funcionalidades necessrias para os estudos de caso foram implementadas, blocos desta-
cados na Figura 5.1. Junto com o prottipo, implementamos, ainda, as aplicaes para
testar e validar a plataforma ManIoT. Essas aplicaes fornecem servios diretamente
aos usurios. O gerente global dever ser implementado em trabalhos futuros.
Procuramos utilizar ferramentas, linguagens e adotar padres conhecidos na in-
dstria e na academia. Utilizamos o sistema operacional CentOS1 , instalado no labo-
ratrio Winet2 do Departamento de Cincia da Computao da Universidade Federal
1
CentOS - Disponvel em https://www.centos.org/
2
Winet - Wireless Networking - UFMG - www.winet.dcc.ufmg.br/

57
58 Captulo 5. Implementao do Prottipo

de Minas Gerais. Os componentes para comunicao com os dispositivos foram de-


senvolvidos em linguagem Java, bem como as aplicaes e mdulos de padronizao e
armazenagem de dados.

Rede
TCP/IP
Interface Web

Tecnologia Iluminao Automao de


...
Assistiva Inteligente Tarefas

Eventos Autenticao Descoberta Agendamento

Armazenamento Comunicao ...


Gerenciamento de
Gerenciamento de Contexto
Configuraes
Conflitos
Banco
de Padronizao dos Dados
Dados
Driver Driver Driver Driver ...
Web
RFID Philips Belkin Huawei

Padro REST (Web ...


UPnP XMPP
ManIoT Service)

Leitor RFID Google


Google Talk
Calendar
Belkin (Adaptador, ...
Lmpada, Sensor de Lmpada Modem
Presena) Philips Huawei (SMS)

Smartphone Android (GPS, Bateria, Acelermetro)

Figura 5.1. Gerente Local da Plataforma ManIoT com Destaque para os Com-
ponentes Implementados no Prottipo.

No gerente local armazenamos informaes sobre o ambiente, sobre os dispositi-


vos, alm dos dados coletados pelos dispositivos. Utilizamos o banco de dados MySQL3
por ser um dos sistemas de gerenciamento de banco de dados mais usados e pelas se-
guintes caractersticas: (1) alta compatibilidade com diversas linguagens, inclusive com
o Java. (2) baixa exigncia de processamento quando comparado com outros bancos
como PostgreSQL4 . (3) instrues em SQL (Structured Query Language). (4) e por
fim, seu uso gratuito.
3
MySQL - Disponvel em https://www.mysql.com/
4
PostgreSQL - Disponvel em www.postgresql.org/
5.2. Modelo de Dados Para Armazenamento e Comunicao 59

Para o desenvolvimento do prottipo utilizamos a abordagem de programao


baseada em eventos. Analisando as caractersticas dos dispositivos e considerando o
fato que grande parte das aes realizadas pelas aplicaes motivada por eventos que
acontecem em determinado dispositivo, esta abordagem aquela que melhor se adapta.
A comunicao dos drivers com as aplicaes foi realizada atravs do banco de
dados ManIoT. Entre os componentes de um mesmo driver utilizamos chamada de
mtodos das classes Java.

5.2 Modelo de Dados Para Armazenamento e


Comunicao
Alm do modelo de informao, Subseo 4.2.4, definimos o modelo de dados para
implementao da plataforma ManIoT. O modelo de dados especifica os dados com
detalhes suficientes para armazenar e/ou transmitir as informaes [Pras & Schoenwa-
elder, 2003]. Assim, o modelo de dados foi criado atravs de instncias do modelo de
informao, tendo como resultado as tabelas criadas no banco de dados MySQL.
A Figura 5.2 apresenta parte do modelo de dados para os dispositivos Lmpadas
Philips Hue, Sensor de Tomada WeMo Insight Switch e Sensor de Luminosidade na
Plataforma Iris. Assim, possvel modelar e criar uma interface comum para permitir
que as aplicaes da plataforma possam coletar as informaes fornecidas pelos dispo-
sitivos, armazenar essas informaes nas bases de dados e executar o controle sobre os
respectivos dispositivos gerenciados.

Figura 5.2. Exemplo do Modelo de Dados da Plataforma ManIoT

Na prxima seo descrevemos os dispositivos que foram utilizados nos testes do


prottipo.

5.3 Dispositivos Utilizados


O prottipo ManIoT foi implementado em uma mquina desktop rodando um sistema
operacional Linux CentOS 7, processador i3-4160 com 3.60GHz e 16GB de memria
RAM. Foram utilizados ainda cinco dispositivos, so eles:
60 Captulo 5. Implementao do Prottipo

Lmpadas Philips Hue: dispositivos que, atravs de acesso remoto, podem li-
gar/desligar, alterar a intensidade de emisso de luz (lmen) e mudar a cor de
emisso de luz seguindo o padro RGB (Red Green Blue). A Figura 5.3 apresenta
o kit utilizado na implementao. Esse kit composto por trs lmpadas e um
gateway Ethernet que comunica com as lmpadas via ZigBee Light Link.

Figura 5.3. Kit - Lmpadas Inteligentes Philips Hue

Controlador WeMo Insight Switch: dispositivo que, atravs de acesso remoto,


tem a funcionalidade de ligar/desligar e medir o consumo de energia dos dis-
positivos conectados. A Figura 5.4 apresenta o dispositivo utilizado.

Figura 5.4. Dispositivo Controlador de Tomada WeMo Insight Switch


5.3. Dispositivos Utilizados 61

Sensor de Luminosidade na Plataforma Iris: tambm possui a funcionalidade


de medir a iluminao disponvel em um ambiente. A Figura 5.5 apresenta um
n da plataforma Iris Mote. Esse n genrico e possui um barramento onde
possvel acoplar diversos sensores. Neste caso utilizamos a placa sensor de
luminosidade modelo MDA 100.

Figura 5.5. Dispositivo Plataforma Iris Mote

Leitor RFID Alien 9900: dispositivo que identifica as Etiquetas RFID em um de-
terminado cenrio. A Figura 5.6 apresenta um kit com um Leitor, duas Antenas
e algumas etiquetas.

Tablet para Localizao GPS e Sensoriamento de Luminosidade: atravs do


sistema operacional Android, prov funcionalidade de localizar um dispositivo.
J o Sensoriamento de Luminosidade tem a funcionalidade de medir a iluminao
disponvel em um ambiente. A Figura 5.7 apresenta o modelo utilizado, Samsung
Galaxy Tab 2 7.0.

Os dispositivos escolhidos foram selecionados devido s seguintes caractersticas:


popularidade nas implementaes para IoT, como RFID; dispositivos que usam diferen-
tes padres de comunicao, como ZigBee e UPnP; e dispositivo com funes distintas,
como sensoriamento, iluminao e identificao. Assim, acreditamos que esses cinco
dispositivos representam uma ampla classe dos dispositivos que compem a IoT. A
comunicao entre eles e a plataforma ManIoT descrita na prxima seo.
62 Captulo 5. Implementao do Prottipo

Figura 5.6. Kit - Dispositivo RFID Alien 9900

Figura 5.7. Dispositivo Tablet Samsung Galaxy Tab 2 7.0

5.4 Comunicao entre o Prottipo e os


Dispositivos
Os componentes implementados no prottipo foram: os protocolos de comunicao
(REST, UPnP, entre outros); os drivers da camada de adaptao, responsveis pela
5.4. Comunicao entre o Prottipo e os Dispositivos 63

comunicao com os recursos dos dispositivos utilizados; o banco de dados local; e os


servios, como armazenamento e eventos.
A comunicao entre os dispositivos realizada atravs de inseres e consultas
peridicas aos dados no banco de dados ManIoT. Assim, quando o prottipo, atravs
do dispositivo que faz sensoriamento da luminosidade, inserir um novo valor no banco
de dados, outros dispositivos (por exemplo, lmpadas) podem receber esse valor atravs
da plataforma e us-lo para definir seus parmetros de operao.
Cada dispositivo possui um driver especfico que trata a comunicao (envio e
recebimento de dados e informaes de controle). Os drivers dos dispositivos, desenvol-
vidos na linguagem Java, fornecem servios para outras camadas da plataforma. Como
exemplo, o driver do sensor de luminosidade recebe e envia para o servio de armaze-
namento o valor lido em um determinado ambiente e o driver da lmpada inteligente
recebe esse valor e utiliza para gerenciar a intensidade de emisso de luz. Para cada
dispositivo novo, com novas caractersticas, a plataforma requer o desenvolvimento de
um driver especfico. Entre os padres suportados pelos drivers implementados es-
to UPnP e REST. Alm disso, implementamos drivers para protocolos proprietrios,
como o protocolo de comunicao com o dispositivo RFID.
O banco de dados do prottipo ManIoT armazena os dados dos eventos dos
dispositivos. Utilizamos a ferramenta DBDesign5 4 para modelagem. As tabelas pro-
jetadas armazenam informaes sobre Usurios, Aplicaes, Dispositivos, Recursos e
Permisses. As tabelas 5.1 e 5.2 definem os campos para armazenar as informaes dos
dados coletados pelos recursos dos dispositivos. Na Tabela 5.1 o campo idRECURSO
identifica cada recurso de forma nica, os campos idCOISA e idADM identificam os
dispositivos e o administrador do recurso, respectivamente. Temos ainda o campo
nome, que armazena o nome dos respectivos recursos. Os campos idCOISA e idADM
so chaves primrias das suas respectivas tabelas.

RECURSO
idRECURSO idCOISA nome idADM
01 01 GPS 000
02 01 Acelermetro 001
03 02 Tag1 000
Tabela 5.1. Tabela RECURSO - Banco de Dados ManIoT

Como pode ser observado na Tabela 5.2, alm da identificao do recurso (chave
estrangeira), o prottipo armazena os valores dos dados capturados pelos dispositivos
5
DBDesigner - https://dbdesigner.net/
64 Captulo 5. Implementao do Prottipo

e o momento da coleta - time (Data e Hora). Com esse formato qualquer tipo de dado
(texto, inteiro ou real) pode ser armazenado no banco. Nos exemplos apresentados
pelas tabelas temos as informaes sobre os recursos GPS, Acelermetro e Etiqueta e
os valores coletados pelos recursos (01 e 02) com data e hora de coleta.

DADOS
idRECURSO valor time
01 12.002343, 23.456837 01/05/2015 22:45:32
02 8882321123233 10/03/2015 02:45:32
Tabela 5.2. Tabela DADOS - Banco de Dados ManIoT

5.5 Cenrios Implementados


Para realizar os testes com os dispositivos descritos na Seo 5.3, e integrar suas fun-
cionalidades, foram projetados trs cenrios, chamados Tecnologia Assistiva, Ilu-
minao Inteligente e Automao de Tarefas. A Figura 5.8 apresenta os trs
cenrios.

Tecnologia Assistiva Iluminao Inteligente Automao de Tarefas

Lmpadas
Leitor RFID Tablet: Sensor de Lmpadas Sensor/Atuador
Philips. Hue Tablet: GPS
Luminosidade Philips. Hue WeMo

Figura 5.8. Cenrios Implementados no Prottipo ManIoT


5.5. Cenrios Implementados 65

Cenrio 1: Tecnologia Assistiva

A Internet das Coisas pode ajudar as pessoas com dificuldades de locomoo, audio,
viso entre outras. O cenrio Tecnologia Assistiva prov servios para pessoas com
deficincia auditiva e idosos com dificuldade de locomoo. Neste cenrio, os usurios
podem se beneficiar com os seguintes servios: Servio 1 - Alerta sobre presena de
pessoas tocando a campainha de uma casa. Este servio liga uma lmpada para indicar
a presena de uma pessoa. Servio 2 - Monitoramento de pessoas dentro da casa. O
monitoramento controla o deslocamento da pessoa dentro da residncia que pode ser
usado para detectar possveis urgncias, como tempo excessivo dentro do banheiro, e
oferecer servios automticos, como ligar luzes.
A rotina do Servio 1 consiste em utilizar o leitor RFID, modelo Alien 9900,
para a deteco de presena (de pessoas previamente autorizadas) e as Lmpadas para
emitir o alerta luminoso. O Servio 2 utiliza o leitor RFID com leituras recorrentes.
Ao detectar uma etiqueta o leitor iria monitorar o tempo que essa etiqueta se manteve
naquele ambiente (sala, quarto, banheiro) e fornecer os servios, como ligar ou desligar
uma lmpada.
O Algoritmo 2 representa a sequncia simplificada do prottipo para o cenrio
tecnologia assistiva. O execuo inicia com o recebimento dos dados de uma etiqueta,
linha l.1. Logo em seguida a plataforma armazena esse valor no banco de dados, linha
l.2. Na linha l.3 o algoritmo verifica qual a localizao do dispositivo que realizou
leitura da etiqueta, sendo um leitor interno residncia, verificado o quarto, linha
l.4, em seguida, na linha l.5 enviado o comando para ligar uma luz do quarto. Se
a leitura da etiqueta foi realizada na rea externa, linha l.8, o algoritmo requisita a
ligao de uma lmpada especfica, que para um surdo, a luz de certa cor indica uma
presena, como uma campainha para pessoas ouvintes, linha l.9.

Algorithm 2 Algoritmo do Cenrio Tecnologia Assistiva


1: procedure Assistiva(localizacaoT AG)
2: GravaBD(localizacaoT AG)
3: if localizacaoT AG.Leitor = Interno then
4: idQuarto BuscarQuarto(localizacaoT AG)
5: LigarLampada(idQuarto)
6: return 0
7: else
8: if LocalizacaoT AG.Leitor = Externo then
9: EmitirAltertaCampanhia()
10: return 0

Outro servio que pode ser oferecido em implementaes futuras a abertura de


66 Captulo 5. Implementao do Prottipo

portas automaticamente atravs da deteco de presena. Atravs de uma etiqueta


RFID na cadeira de rodas, por exemplo, ao aproximar de uma porta, outro dispositivo
(atuador) iria receber o comando e abrir automaticamente essa porta.

Cenrio 2: Iluminao Inteligente

A economia de energia eltrica uma necessidade nas indstrias, reparties pblicas


e residncias. A IoT pode fornecer servios para ajudar nessa economia. O cenrio
Iluminao Inteligente fornece meios para reduzir os gastos de energia eltrica com
uso de lmpadas inteligentes.
Este cenrio tem o objetivo de controlar a iluminao ligando/desligando e de-
finindo a quantidade de lmens de acordo com a presena de pessoas no recinto e da
iluminao natural disponvel. Assim, o servio oferecido por este cenrio consiste em
controlar as lmpadas (modelo Philips Hue) com os dados coletados pelo sensor de
luminosidade (de um dispositivo Android). O sensor de luminosidade, localizado em
ponto estratgico do ambiente, indica a quantidade de luz natural. Portanto, o con-
trole das lmpadas de uma sala pode ser realizado de forma automtica pela plataforma
ManIoT.
O Algoritmo 3 representa a sequncia simplificada do prottipo para o cenrio
iluminao inteligente. O algoritmo recebe como parmetros os valores de luminosidade
atual e anterior (penltimo valor) capturados pelo sensor do Tablet e a identificao
da lmpada, linha l.1. Na linha l.2 o algoritmo verifica se houve uma variao maior
que 50 lmens na disponibilidade de luz ambiente capturada pelo sensor, e havendo
essa variao o algoritmo: grava a luminosidade capturada no banco de dados, linha
l.3; converte a luminosidade capturada pelo sensor em taxas utilizadas pelas lmpadas,
linha l.4; e altera a taxa de emisso de luz da lmpada passando sua identificao e o
valor da nova luminosidade, linha l.5. Se houver mudana na taxa de emisso de luz o
algoritmo retorna 1, seno retorna 0.

Algorithm 3 Algoritmo do Cenrio Iluminao Inteligente


1: procedure Iluminacao(luminosidadeAtual, lumininosidadeAnterior, idLampada)
2: if (ABS(luminosidadeAtual luminosidadeAnterior) >= 50) then
3: GravaBD(luminosidadeAtual)
4: luminosidadeLamp ConverteLuminosidade(luminosidadeAtual)
5: AlteraT axaEmissao(idLampada, luminosidadeLamp)
6: return 1
7: else
8: return 0
5.5. Cenrios Implementados 67

Cenrio 3: Automao de Tarefas

A IoT pode automatizar tarefas pr-definidas. Neste terceiro cenrio, chamado Au-
tomao de Tarefas, foram projetados servios que proveem algumas facilidades na
realizao de tarefas do usurio tendo como base sua localizao.
A localizao utilizando GPS, implementada no sistema operacional Android, for-
nece a posio do usurio. Classificamos as localizaes pelos seguintes tipos: Casa,
Trabalho ou Outro. Ao detectar a proximidade ou entrada em uma dessas localiza-
es, a plataforma dispara determinada tarefa. O Controlador WeMo Insight Switch
pode, por exemplo, ligar a energia para uma mquina de caf na residncia assim que
o usurio deixar seu local de trabalho ou desligar o alarme de segurana quando este
chegar na residncia.
Utilizamos uma fronteira virtual determinada por um raio. Consideramos como
ponto central a casa ou local de trabalho do usurio. Nos testes utilizamos as coorde-
nadas do centro 8.3591729 e 14.1581481, e um raio de 50 metros. Com isso realizamos
as aes no momento que o usurio cruza essa fronteira virtual (em ambos os sentidos).
O Algoritmo 4 representa a sequncia simplificada do prottipo para o cenrio
automao de tarefas. O algoritmo recebe como parmetros a localizao capturada
pelo dispositivo de GPS do usurio, o ponto de referncia (que neste caso a residncia
do usurio) e o raio, que determina uma fronteira para alterao (ou no) do sensor
de tomada, linha l.1. O algoritmo calcula a distncia entre a localizao e o ponto
de referncia, linha l.2 e utiliza essa distncia para verificar se o usurio est ou no
dentro do raio determinado, linha l.4. Caso esteja dentro do raio, linha l.5, o sensor de
tomada WeMo ativado e caso contrrio o sensor de tomada desativado, linha l.7.

Algorithm 4 Algoritmo do Cenrio Automao de Tarefas.


1: procedure Automacao(localizacaoGP S, pontoRef erencia, raio)
2: distancia = CalculaDistancia(localizacaoGP S, pontoRef erencia)
3: GravaBD(localizacaoGP S)
4: if distancia <= raio then
5: AlteraControladorW emo(Ligado)
6: else
7: AlteraControladorW emo(Desligado)

Considerando o fato que o dispositivo WeMo Insight Switch um controlador de


tomada, este cenrio fornece possibilidades diversas. A princpio, qualquer dispositivo
pode ser ligado ou desligado automaticamente pela plataforma ManIoT.
68 Captulo 5. Implementao do Prottipo

5.6 Resumo
Neste captulo descrevemos os modelos utilizados na implementao do prottipo do
gerente local ManIoT. Fizemos uma descrio geral, justificando as escolhas, como
sistema de gerncia de banco de dados. Mostramos parte do modelo de dados que
serviu de base para a estrutura do banco de dados e descrevemos os dispositivos, a
comunicao e os cenrios desenvolvidos para os testes.
As decises sobre os recursos usados nesse captulo (ferramentas, protocolos, en-
tre outros) tiveram como embasamento terico os trabalhos descritos no Captulo 3.
Criamos ainda novas abordagens, como o modelo de comunicao utilizando banco de
dados e o projeto e implementao dos trs cenrios para realizao dos testes com
dispositivos e ambientes reais. O gerente global ficou definido no escopo de projeto e
ser implementado em trabalhos futuros.
Tomando como base os cenrios descritos na Seo 5.5, no prximo captulo
apresentaremos os resultados obtidos em cada teste e a anlise dos mesmos.
Captulo 6

Avaliao do Prottipo da
Plataforma ManIoT

Aps a implementao do prottipo realizamos os testes seguindo a descrio dos trs


cenrios definidos na Seo 5.5. As aplicaes e cenrios implementados visam criar
facilidades para a vida do usurio em um ambiente residencial. Assim, alm da verifi-
cao funcional, a avaliao consistiu em analisar a capacidade do prottipo. Portanto
avaliamos o desempenho do prottipo atravs dos parmetros, consumo de memria,
processamento e banda. A escolha dessas mtricas ocorreram devido o objetivo futuro
de migrar o prottipo ManIoT para equipamentos domsticos, como TVs e roteadores.
A prxima seo descreve os resultados obtidos no primeiro cenrio (Tecnologia
Assistiva), seguindo pela descrio do cenrio 2 (Iluminao Inteligente) e por fim o
cenrio 3 (Automao de Tarefas) descrito na ltima seo.

6.1 Cenrio 1: Tecnologia Assistiva


Neste cenrio utilizamos o dispositivo RFID para detectar a presena de pessoas e as
lmpadas inteligentes Philips Hue para notificar essa presena. A deteco de presena
deve auxiliar os usurios com determinadas limitaes atravs de trs aplicaes. A
primeira avisa sobre a presena de uma pessoa autorizada (simulando uma campainha
para pessoas ouvintes). A segunda aplicao liga ou desligar uma lmpada automa-
ticamente em ambientes de uma residncia. A terceira e ltima aplicao monitora o
tempo que o usurio permanece em cada ambiente da casa atravs dos dados gravados
(local e momento da gravao). No prottipo testamos a primeira aplicao.
Realizamos os testes inserindo e removendo as etiquetas na rea de cobertura
do leitor e verificando a ativao da lmpada. Os resultados apresentados nesta seo

69
70 Captulo 6. Avaliao do Prottipo da Plataforma ManIoT

descrevem o desempenho dos subsistemas que compem este cenrio.


O prottipo composto por dois subsistemas ambos representados por processos.
O primeiro processo, que chamaremos de P1, responsvel pela comunicao com
o leitor RFID e pela gravao dos dados das etiquetas no banco e o segundo, que
chamaremos de P2, responsvel por ler esses dados gravados no banco e, de acordo
com os dados lidos, controlar as lmpadas. Os processos P1 e P2 foram executados
no Desktop e no Tablet, respectivamente. Ambos os equipamentos foram descritos na
seo Dispositivos Utilizados (Seo 5.3).
O prottipo, processo P1, busca por etiquetas e grava os dados encontrados no
banco a cada segundo. E o prottipo, processo P2, realiza as consultas no banco de
dados e altera o estado da lmpada em intervalos fixos de um segundo. Assim o tempo
entre a deteco de uma etiqueta at a notificao pode variar no intervalo de 0 a 2
segundos. Esse valor define o tempo de reao deste cenrio.

6.1.1 Consumo de Recursos: Memria e CPU


A Figura 6.1 apresenta uma amostra do uso da CPU do processo P1, responsvel pela
comunicao com o leitor RFID. Podemos observar que o valor mximo de uso ficou em
aproximadamente 7%, com mdia de 3.6%. Vale ressaltar que esse teste foi realizado
atravs do comando top (que exibe dados dos processos em execuo nos sistemas
Linux).

8
7
6
Uso da CPU (%)

5
4
3
2
1
0
0 50 100 150 200 250 300 350 400 450
Tempo (s)

Figura 6.1. Percentual de consumo de CPU - Cenrio Tecnologia Assistiva


(Processo P1).

A Figura 6.2 apresenta uma amostra do uso da CPU do processo P2, responsvel
pela busca dos dados das etiquetas no banco e notificao das lmpadas. Podemos
6.1. Cenrio 1: Tecnologia Assistiva 71

verificar que o consumo foi prximo do consumo verificado no processo P1, mas com
valor de consumo mdio menor (igual a 1,8%). Assim podemos concluir que os dois
subsistemas no necessitam de alto poder de processamento.

8
7
6
Uso da CPU (%)

5
4
3
2
1
0
0 10 20 30 40 50
Tempo (s)

Figura 6.2. Percentual de consumo de CPU - Cenrio Tecnologia Assistiva


(Processo P2).

Constatamos que o consumo de memria RAM varia entre 3 e 3.5MB, mantendo


um valor mdio de 3.3MB nos subsistemas implementados. O prottipo opera em
um ciclo, realizando buscas por etiquetas, gravando no banco e lendo esses dados
do banco para configurar as lmpadas. Assim, verificamos que o prottipo realiza o
gerenciamento utilizando poucos dados em memria. Esse fato justifica o baixo uso
desse recurso.

6.1.2 Consumo de Banda


A Figura 6.3 apresenta uma amostra das taxas de troca de dados entre o prottipo
(processo P1) da plataforma ManIoT e o leitor RFID a cada segundo. Os valores de
Download representam as taxas dos dados enviados dos dispositivos para o prottipo e
o Upload so as taxas dos dados enviados da plataforma ManIoT para os dispositivos.
Podemos observar que os dados enviados (upload ) tiveram variao no intervalo de 0 a
2,08kbps e os dados recebidos (download ) variaram entre 0 e 4,37kbps, ou seja, o uso
de banda de rede neste cenrio mnimo.
J a Figura 6.4 apresenta uma amostra das taxas de troca de dados entre o
prottipo da plataforma ManIoT e as lmpadas a cada segundo (processo P2). Os
dados recebidos variam entre 5.38 e 5.52kbps, enquanto os dados enviados variam entre
3.88 e 3.87kbps. Podemos verificar que praticamente no houve grandes alteraes no
72 Captulo 6. Avaliao do Prottipo da Plataforma ManIoT

6
Upload

Ocupao do Link (Kbps)


5 Download

0
0 10 20 30 40 50 60
Tempo (s)

Figura 6.3. Troca de dados entre ManIoT e os dispositivos - Cenrio Tecnologia


Assistiva (Processo P1).

volume dos dados trocados. Observamos que o pequeno aumento nos dados recebidos
(download ) ocorre quando o prottipo faz leituras no banco de dados e, como resposta,
traz informaes tambm da etiqueta lida.
Neste cenrio no possvel determinar o momento da entrada de uma nova eti-
queta na rea monitorada e isso requer uma comunicao permanente entre o prottipo
da plataforma e dispositivos. Vale ressaltar ainda que mesmo mantendo uma comuni-
cao constante, o volume de dados trocados baixo e no compromete outros servios
da rede.

8
Upload
7
Ocupao do Link (Kbps)

Download
6
5
4
3
2
1
0
0 10 20 30 40 50
Tempo (s)

Figura 6.4. Troca de dados entre ManIoT e os dispositivos - Cenrio Tecnologia


Assistiva (Processo P2).
6.2. Cenrio 2: Iluminao Inteligente 73

6.2 Cenrio 2: Iluminao Inteligente


Neste cenrio, a iluminao de um ambiente ajustada de acordo com a presena de
pessoas e com a existncia de luz natural. As lmpadas so ligadas somente quando
h uma pessoa no ambiente. J a intensidade da luz inversamente proporcional
quantidade de luz natural. Empregamos as lmpadas Philips Hue, bem como um tablet.
O tablet fornece, via GPS, a localizao da pessoa, e o seu sensor de luminosidade indica
a quantidade de luz natural no ambiente.
Medimos o tempo de reao entre a deteco da variao de luminosidade e a
atuao da plataforma sobre a intensidade de emisso de luz da lmpada. Como no
possvel inserir cdigo nas lmpadas inteligentes para notificar a modificao da sua
luminosidade, este teste foi feito visualmente, onde tampamos o sensor de luminosidade
do tablet, e verificamos que o ajuste da intensidade da lmpada ocorreu aps menos de
um segundo, o que consideramos aceitvel para a aplicao. Vale ressaltar que o sensor
de luminosidade atualiza seus dados quando ocorre uma diferena de 50 lmens para
mais ou para menos, de acordo com o ltimo valor lido.
A Tabela 6.1 apresenta 10 testes onde houve variao no tempo de resposta, mas
a mdia ficou abaixo de 1 segundo e desvio padro em 0.25. Assim, como a aplicao
no exige execuo em tempo real, para a mudana na intensidade de emisso de luz
esse tempo mdio reao igual a 0.79 satisfatrio.

Tabela 6.1. Tempo de Reao - Iluminao Inteligente


Nmero de Sequncia Tempo de Reao (Segundos)
1 0.69
2 1.23
3 0.77
4 0.85
5 0.66
6 1.25
7 0.98
8 0.49
9 0.80
10 0.71
Mdia 0.79

6.2.1 Consumo de Recursos: Memria e CPU


A Figura 6.5 apresenta uma amostra do uso da CPU no computador rodando o ManIoT.
Esse percentual varivel, se mantendo entre 0 e 6%. Alguns picos de processamento
74 Captulo 6. Avaliao do Prottipo da Plataforma ManIoT

so observados. Eles so causados por solicitaes da plataforma para que a lmpada


modifique a sua intensidade.

5
Uso da CPU (%)

0
0 5 10 15 20 25 30 35 40
Tempo (s)

Figura 6.5. Percentual de consumo de CPU - Cenrio Iluminao Inteligente.

J o uso de memria RAM do gerente local variou entre 3 e 7MB, mantendo a


mdia de 3.5MB. Esses valores so justificados devido pequena quantidade de dados
trocados entre o prottipo do gerente local e os dispositivos, reforando assim o uso
mnimo dos recursos de hardware.

6.2.2 Consumo de Banda

A Figura 6.6 apresenta uma amostra das taxas de troca de dados entre a plataforma
ManIoT e os dispositivos a cada segundo. Os valores de Download so os dados envi-
ados dos dispositivos para a plataforma e o Upload so dados enviados da plataforma
ManIoT para os dispositivos. Os dados recebidos dos sensores variam entre 0 e 50kbps,
enquanto os dados enviados variam entre 0 e 32kbps. As trocas de dados so mais in-
tensas quando o gerente local notifica as lmpadas para uma troca de intensidade lumi-
nosa. Mesmo considerando o uso do UPNP, que extremamente verboso pois emprega
XML-RPC, o volume de dados trocado relativamente baixo. Podemos considerar
ainda o fato que as redes Ethernet e WiFi aceitam 100 e 54mbps, respectivamente,
o prottipo ManIoT consome aproximadamente 0.05% da banda dessas redes no pior
caso.
6.3. Cenrio 3: Automao de Tarefas 75

60 Upload

Ocupao do Link (Kbps)


Download
50

40

30

20

10

0
0 10 20 30 40 50
Tempo (s)

Figura 6.6. Troca de dados entre ManIoT e os dispositivos - Cenrio Iluminao


Inteligente.

6.3 Cenrio 3: Automao de Tarefas


Neste cenrio realizamos a ativao automtica de dispositivos eltricos de acordo com
a localizao do usurio. Realizamos os testes utilizando a funo GPS do tablet. Caso
o usurio esteja em uma regio geogrfica bem definida, ativamos o sensor de tomada
WeMo Insight Switch. Quando o usurio sai dessa regio, a tomada desligada. Este
cenrio pode, por exemplo, ligar uma cafeteira ou alarme de segurana, quando o
usurio chega ou sai da sua casa, respectivamente.
No teste realizado, classificamos a localizao do usurio em trs zonas: Casa,
Trabalho ou Outro. Ao detectar a proximidade ou entrada em uma dessas zonas, a
plataforma dispara determinada tarefa. As zonas so definidas como um ponto central
(a casa ou local de trabalho do usurio) e um raio. Com isso o prottipo dispara as
aes no momento que o usurio cruza essa fronteira virtual. Simulamos a sada ou
chegada de uma pessoa na sua residncia. No momento de sada do usurio, o sensor de
tomada WeMo Insight Switch era ativado (ligando o dispositivo conectado no mesmo),
e na chegada, o sensor era desativado. Para tanto, utilizamos um software chamado
Fake GPS 1 para definir a localizao do usurio.
Medimos o tempo de reao, que o tempo decorrido entre a ultrapassagem da
fronteira virtual e o acionamento do dispositivo conectado ao sensor de tomada. A me-
dio foi realizada atravs da diferena entre os tempos dos logs de envio e recebimento
de uma notificao. A Tabela 6.2 apresenta 8 testes onde houve variao no tempo de
resposta com mdia de 0.158 segundos e desvio padro de 0.045. Este tempo de reao
1
Fake GPS, disponvel em https://play.google.com
76 Captulo 6. Avaliao do Prottipo da Plataforma ManIoT

considera o tempo entre o envio da notificao pelo tablet at a ativao da tomada


WeMo.

Tabela 6.2. Reao da plataforma - Automao de Tarefas


Nmero de Sequncia Tempo de Reao (Segundos)
1 0.141
2 0.179
3 0.149
4 0.125
5 0.219
6 0.125
7 0.227
8 0.101
Mdia 0.158

Outros resultados obtidos nos testes sero descritos nas prximas subsees.

6.3.1 Consumo de Recursos: Memria e CPU


J o consumo de memria RAM se manteve entre 3 e 3.75MB, com mdia de 3.4MB.
Portanto, assim como no cenrio iluminao inteligente, o prottipo faz uso moderado
do recurso memria. Observamos ainda que os valores mdios tambm foram prximos
daqueles encontrados no primeiro cenrio e na comparao com o cenrio Iluminao
Inteligente apresentou uso mximo menor. No uso de CPU, constata-se que o prot-
tipo fez uso moderado. A Figura 6.7 apresenta uma amostra de execuo onde o valor
mximo aproximou-se de 6%, mas a mdia (considerando somente o efetivo processa-
mento) ficou em 3%. Por fim, vale ressaltar que os valores de uso de CPU tambm
foram prximos aos valores percebidos nos cenrios Iluminao Inteligente e Tecnologia
Assistiva.

6.3.2 Consumo de Banda


Mensuramos o consumo de banda para transmisso de dados entre o gerente local e
os dispositivos. A Figura 6.8 apresenta uma amostra dos testes onde percebemos os
valores de 4.5kbps para envio e 1.5 a 2kbps para recebimento de dados. Essa troca de
dados ocorre nos momentos em que o tablet cruza a fronteira virtual. Neste cenrio os
valores apresentados foram ainda menores que no cenrio anterior, chegando a taxas de
10% dos valores percebidos no cenrio iluminao inteligente. Essa diminuio ocorre
devido ao fato do prottipo, neste cenrio, utilizar uma menor quantidade de eventos.
6.4. Discusso dos Resultados 77

Uso da CPU (%) 4

0
0 10 20 30 40 50
Tempo (s)

Figura 6.7. Percentual de consumo de CPU - Cenrio Automao de Tarefas.

5
4.5 Upload
Ocupao do Link (Kbps)

Download
4
3.5
3
2.5
2
1.5
1
0.5
0
0 10 20
Tempo (s)

Figura 6.8. Troca de dados entre ManIoT e os dispositivos - Cenrio Automao


de Tarefas.

6.4 Discusso dos Resultados


Os subsistemas do prottipo ManIoT para o cenrio Tecnologia Assistiva apresentaram
desempenho satisfatrios. Verificamos que a proposta de notificao de presena atravs
de alerta luminoso funcional. Verificamos ainda que durante os testes com o cenrio,
o prottipo no apresentou erros que comprometessem a funcionalidade proposta. Nos
resultados verificamos que os subsistemas fazem baixo uso de recursos de rede, CPU e
memria. Portanto, o prottipo da plataforma ManIoT para fornecer auxlio a pessoas
com dificuldades apresentou resultados satisfatrios e pode ser integrado com outros
cenrios.
78 Captulo 6. Avaliao do Prottipo da Plataforma ManIoT

O bom desempenho do prottipo que trata do cenrio Iluminao Inteligente foi


comprovada com a combinao dos tempos de resposta apresentados e dos recursos
computacionais exigidos. Verificamos ainda, atravs de repeties sucessivas de testes,
que os resultados seguiram o mesmo padro de resposta. Vale ressaltar ainda que
durante os testes com o cenrio, o prottipo no apresentou erros que comprometessem
a funcionalidade proposta pela aplicao. Portanto, assim como o prottipo para o
primeiro cenrio, este tambm apresentou resultados satisfatrios e pode ser integrado
a outros cenrios.
No terceiro e ltimo prottipo, Automao de Tarefas, verificamos que os resul-
tados apresentaram baixo tempo de resposta, e atende as aplicaes propostas para
esse cenrio. Verificamos ainda que o uso de memria RAM ficou dentro do padro
j verificado no cenrio 1 e 2. Alm da memria RAM constatamos que neste cenrio
o prottipo fez menor uso de banda e uso aproximado de CPU quando comparamos
com o cenrio 2. Vale ressaltar tambm que durante os testes com o cenrio, o prot-
tipo no apresentou erros que comprometessem a funcionalidade proposta. Portanto, o
prottipo da plataforma ManIoT para automatizao de tarefas apresentou resultados
satisfatrios e tambm pode ser integrado a outros cenrios.
Ento, partindo dos resultados apresentados pelos prottipos nos trs cenrios,
podemos fazer duas constataes gerais: a primeira que os testes apresentaram o
mesmo padro no consumo de recursos computacionais; e a segunda que esse padro
de consumo baixo, permitindo que os prottipos sejam executados em dispositivos
residenciais com restries de recursos (principalmente banda de rede e memria RAM).

6.5 Resumo
Neste captulo analisamos os resultados obtidos pelos testes do prottipo em trs cen-
rios, Tecnologia Assistiva, Iluminao Inteligente e Automao de Tarefas. Verificamos
parmetros de operao, como Consumo de Memria, CPU, Banda de Rede e Tempo
de Resposta. Alm desses parmetros analisamos tambm a confiabilidade, taxa de
erros, entre outros.
Os resultados dos testes mostraram que o prottipo da plataforma ManIoT nos
trs cenrios reage com bons tempos de resposta e requer baixo poder computacional.
Assim, podemos concluir que o mdulo gerente local da plataforma ManIoT pode ser
implementado em diversos hardware, como roteadores, televisores e at dispositivos
mveis. No prximo captulo conclumos o trabalho e apresentamos as propostas de
trabalhos futuros.
Captulo 7

Concluses

A Internet das Coisas envolve uma variedade de dispositivos, que possuem a capacidade
de interagir uns com os outros e cooperar com seus vizinhos para alcanar objetivos
comuns. O grande nmero de dispositivos decorrentes da IoT naturalmente demanda
por solues de gerenciamento e controle dos diversos servios, e portanto o provimento
de plataformas, que integram esses servios. Atravs do gerenciamento podemos usar
os recursos oferecidos pelos dispositivos da IoT para fornecer servios que vo atender
diversas reas, como automao residencial. Entretanto, as plataformas de gerencia-
mento existentes em IoT atendem parcialmente os requisitos definidos na literatura.
Entre os requisitos no atendidos por uma mesma soluo esto interoperabili-
dade, cincia do contexto, escalabilidade, gerenciamento em diferentes nveis. O requi-
sito interoperabilidade permitiria a integrao entre diferentes dispositivos e platafor-
mas disponveis. O requisito cincia do contexto possibilitaria o uso de informaes,
como localizao e estado dos objetos da rede, para aperfeioar ou automatizar as
aes e reaes dos servios da plataforma. O requisito escalabilidade proporcionaria
a capacidade de expanso e de funcionar corretamente mesmo em situaes de uso in-
tenso, e o requisito gerenciamento em diferentes nveis forneceria escopos com variadas
possibilidades de tomada de deciso.
Este trabalho apresentou o projeto de uma plataforma para o gerenciamento dos
dispositivos em Internet das Coisas, chamada ManIoT, que prev a escalabilidade e
promove a integrao de vrios dispositivos. ManIoT genrica e pode ser utilizada em
vrios cenrios, visto que ela emprega uma estrutura em dois nveis de gerenciamento,
que permite a incluso de novos dispositivos e novos cenrios gerenciveis. Alm disso,
ManIoT faz uso dos dados de contexto e cria possibilidades para expanso dos servios
oferecidos pela rede e a para especificao de novos servios.
Apresentamos ainda o projeto para gerenciamento de conflitos envolvendo mlti-

79
80 Captulo 7. Concluses

plas aplicaes e mltiplos usurios. Definimos um algoritmo para tratar os conflitos,


especificamos a autenticao e as formas de permisso de execuo. E para ilustrar a
proposta, criamos modelos que mostram a relao entre usurios, aplicaes e recursos.
Um prottipo da plataforma foi implementado, e experimentos foram realizados
considerando um ambiente residencial composto por trs cenrios (Tecnologia Assis-
tiva, Iluminao Inteligente e Automao de Tarefas) e por cinco dispositivos (tablet,
lmpadas inteligentes, sensores de luminosidade, sensores/controladores de tomada,
leitores RFID).
Os resultados apresentados pelos testes com o prottipo da plataforma nos trs
cenrios mostraram que ManIoT mantm um padro de consumo de recursos, reage
com bons tempos de resposta e requer baixo poder computacional. Assim, podemos
concluir que o mdulo gerente local da plataforma ManIoT pode ser implementado em
diversos hardware, como roteadores e at dispositivos mveis.

7.1 Trabalhos Futuros


Como trabalhos futuros e melhorias pretendemos:

Implementar outras funcionalidades do nvel de gerncia global. Propomos uma


plataforma completa, mas o prottipo prev apenas o gerente local. Pretende-
mos implementar o gerente global e a comunicao entre este os gerentes locais,
definido na Subseo 4.2.3, e expandir as possibilidades de gerenciamento.

Propor e implementar outros cenrios para plataforma ManIoT. A IoT abran-


gente e existem diversos cenrios que podem ser criados. Iremos definir novos
cenrios e atravs dele habilitar novos servios.

Definir novos componentes para a camada de Servios, Subseo 4.2.1.

Expandir o uso de dados de contexto para envolver dados remotos e virtuais. Exis-
tem outras fontes de dados, como agenda online e previso do tempo/trnsito,
que so teis para o gerenciamento e pretendemos inserir nas melhorias da pla-
taforma ManIoT.

Implementar o gerenciamento ManIoT com mltiplos usurios e mltiplas apli-


caes, modelado na Seo 4.3.

Integrar cenrios distintos. Como foi previsto na plataforma, para um geren-


ciamento completo devemos utilizar informaes de um cenrio para habilitar
7.1. Trabalhos Futuros 81

servios em outros cenrios (integrados). Iremos criar os mecanismos para reali-


zar essa integrao.

Implementar o mecanismo para a execuo paralela de diversos cenrios em um


mesmo gerente local. Como o passo seguinte a integrao iremos habilitar o
gerente local e global para coordenar os servios de cada cenrio e fornecer um
prottipo que oferea a funcionalidade de gerenciar mltiplos cenrios.
Referncias Bibliogrficas

Atzori, L.; Lera, A. & Morabito, G. (2010). The Internet of things: A survey. Computer
Network, pp. 2787--2805.

Bassi, A.; Bauer, M.; Fiedler, M.; Kramp, T.; Kranenburg, R.; Lange, S. & Meissner,
S. (2013). Enabling things to talk: designing IoT solutions with the IoT architectural
reference model. Springer.

Bin, S.; Guiqing, Z.; Shaolin, W. & Dong, W. (2011). The development of management
system for building equipment Internet of things. Em 3rd International Conference
on Communication Software and Networks (ICCSN), 2011, pp. 423427.

Carriots, C. S. (2015). Carriots: Carrying the internet of things. https://www.


carriots.com/. Acessado em: 20-10-2015.

Cavalcante, E.; Alves, M. P.; Batista, T.; Delicato, F. C. & Pires, P. F. (2015). An
analysis of reference architectures for the internet of things. Em Proceedings of the 1st
International Workshop on Exploring Component-based Techniques for Constructing
Reference Architectures, pp. 13--16. ACM.

Comer, D. E. (2009). Computer Network and Internets. Pearson Prentice Hall, 5th
edio.

Cordero, J.; Yi, J.; Clausen, T. & Baccelli, E. (2013). Enabling multihop communica-
tion in spontaneous wireless networks. ACM SIGCOMM, 1:413--457.

Delicato, F. C.; Pires, P. F. & Batista, T. (2013). Middleware solutions for the Internet
of Things. Springer.

Ding, Z.; Yang, Q. & Wu, H. (2011). Massive heterogeneous sensor data management
in the Internet of things. Em IEEE International Conferences on Internet of Things,
and Cyber, Physical and Social Computing (CPSCom), pp. 100108.

83
84 Referncias Bibliogrficas

Elkhodr, M.; Shahrestani, S. & Cheung, H. (2016). A middleware for the internet of
things. International Journal of Computer Networks and Communications (IJCNC).

Fan, T. & Chen, Y. (2010). A scheme of data management in the Internet of things. Em
2nd IEEE International Conference on Network Infrastructure and Digital Content
(IC-NIDC), pp. 110114.

Flood, P. & Schukat, M. (2014). Peer to peer authentication for small embedded
systems: A zero-knowledge-based approach to security for the internet of things.
Em Digital Technologies (DT), 2014 10th International Conference on, pp. 6872.

Gubbi, J.; Buyya, R.; Marusic, S. & Palaniswami, M. (2013). Internet of things (iot):
A vision, architectural elements, and future directions. Future Generation Computer
Systems, 29(7):1645--1660.

Guiping, D. (2013). Design and implementation on a things management protocol for


Internet of things. Em Proceedings of the 32nd Chinese Control Conference (CCC),
pp. 73617364.

Gusmeroli, S.; Piccione, S. & Rotondi, D. (2013). A capability-based security approach


to manage access control in the internet of things. Mathematical and Computer
Modelling, 58:1189 1205.

Hardt, D. (2012). RFC 6749: The OAuth 2.0 Authorization Framework. http://
tools.ietf.org/html/rfc6749. Acesso em: 30 Jun 2015.

IBSG-Cisco (2011). The internet of things. http://share.cisco.com/


internet-of-things.html. Acesso em: 10 Out 2014.

IFTTT (2016). Connect the apps you love. https://ifttt.com/. Acessado em:
03-01-2016.

ITU, I. T. U. (2005). The internet of things. Relatrio tcnico, ITU, http://www.itu.


int/internetofthings. Acesso em: 20 Ago 2014.

Jan, M.; Nanda, P.; He, X.; Tan, Z. & Liu, R. P. (2014). A robust authentication
scheme for observing resources in the internet of things environment. Em Trust,
Security and Privacy in Computing and Communications (TrustCom), 2014 IEEE
13th International Conference on, pp. 205211.

Janak, J.; Nam, H. & Schulzrinne, H. (2012). On access control in the internet of
things. Em IAB Workshop on Smart Object Security, Paris, France.
Referncias Bibliogrficas 85

Jara, J. A.; Zamora, M. A. & Skarmeta, A. F. (2012). Knowledge acquisition and


management architecture for mobile and personal health environments based on the
Internet of things. Em 2012 IEEE 11th International Conference on Trust, Security
and Privacy in Computing and Communications (TrustCom), pp. 18111818.

Kurose, J. F. & Ross, K. W. (2010). Computer Networking: a Top-Down Approach


Featuring the Internet. Pearson, 5th edio.

Lang, J. P. (2014). Linksmart middleware platform portal. https://linksmart.eu/


redmine/. Acessado em: 10-09-2015.

Liu, J.; Xiao, Y. & Chen, C. (2012). Authentication and access control in the internet
of things. Em Distributed Computing Systems Workshops (ICDCSW), 2012 32nd
International Conference on, pp. 588592.

LogMeIn (2015). Xively connected product management. https://xively.com/.


Acessado em: 21-10-2015.

Loureiro, A. A.; Nogueira, J. M. S.; Ruiz, L. B.; Mini, R. A. d. F.; Nakamura, E. F. &
Figueiredo, C. M. S. (2003). Redes de sensores sem fio. Em Simpsio Brasileiro de
Redes de Computadores (SBRC), pp. 179--226. sn.

Loureiro, A. A. F.; Oliveira, R. A. R.; Silva, T.; Jnior, W. R. P.; Oliveira, L. d.;
Moreira, R.; Siqueira, R.; Rocha, B. & Ruiz, L. (2009). Computao ubqua ciente de
contexto: Desafios e tendncias. 27o Simpsio Brasileiro de Redes de Computadores
e Sistemas Distribudos, pp. 99--149.

Marotta, M. A.; Carbone, F. J.; Cardoso de Santanna, J. J. & Rockenbach Tarouco,


L. M. (2013). Through the internet of thingsa management by delegation smart
object aware system (mbdsas). Em Computer Software and Applications Conference
(COMPSAC), 2013 IEEE 37th Annual, pp. 732--741. IEEE.

Meng, M.; Wang, P. & Chao-Hsien, C. (2013). Data management for internet of things:
Challenges, approaches and opportunities. Em IEEE International Conference on
and IEEE Cyber, Physical and Social Computing (CPSCom), pp. 11441151.

Miorandi, D.; Sicari, S.; Pellegrini, F. D. & Chlamtac, L. (2012). Internet of things:
Vision, applications and research challenges. Ad Hoc Networks, pp. 14971516.

Mulligan, G. (2007). The 6lowpan architecture. Em Proceedings of the 4th workshop


on Embedded networked sensors, pp. 78--82. ACM.
86 Referncias Bibliogrficas

Nagy, M.; Katasonov, A.; Szydlowski, M.; Khriyenko, O.; Nikitin, S. & Terziyan, V.
(2009). Challenges of middleware for the internet of things. INTECH Open Access
Publisher.

Ning, H.; Ning, N.; Qu, S.; Zhang, Y. & Yang, H. (2007). Layered structure and mana-
gement in Internet of things. Em Future Generation Communication and Networking
(FGCN 2007), volume 2, pp. 386389.

Pereira, P.; Eliasson, J. & Delsing, J. (2014). An authentication and access control
framework for coap-based internet of things. Em Industrial Electronics Society,
IECON 2014 - 40th Annual Conference of the IEEE, pp. 52935299.

Peterson, L. L. & Davie, B. S. (2012). Computer networks : a systems approach. The


Morgan Kaufmann series in networking.

Pires, P.; Delicato, F.; Batista, T. V.; Avila, T.; Cavalcante, E. & Pitanga, M. (2015).
Captulo 3: Plataformas para a Internet das Coisas. SBRC 2015.

Pras, A. & Schoenwaelder, J. (2003). RFC3444: On the Difference between Information


Models and Data Models. http://tools.ietf.org/html/rfc3444. Acesso em: 13
Set 2014.

Qin, W.; Li, Q.; Sun, L.; Zhu, H. & Liu, Y. (2011). Restthing: A restful web service
infrastructure for mash-up physical and web resources. Em Embedded and Ubiquitous
Computing (EUC), 2011 IFIP 9th International Conference on, pp. 197204.

Razzaque, M. A.; Milojevic-Jevric, M.; Palade, A. & Clarke, S. (2016). Middleware for
internet of things: A survey. IEEE Internet of Things Journal, 3(1):7095.

Ribeiro, F. & Metrlho, J. (2016). An internet of things platform to facilitate the


development of context aware applications. overview, challenges and experiments.

Ruiz, L.; Nogueira, J. & Loureiro, A. (2003). Manna: a management architecture for
wireless sensor networks. Communications Magazine, IEEE, 41(2):116125.

Sanchez, L.; McCloghrie, K. & Saperia, J. (2001). RFC3139: Requirements for


Configuration Management of IP-based Networks. https://tools.ietf.org/html/
rfc3139. Acesso em: 13 Set 2014.

Sehgal, A.; Perelman, V.; Kuryla, S. & Schonwalder, J. (2012). Management of resource
constrained devices in the Internet of things. IEEE Communications Magazine,
50(12):144149.
Referncias Bibliogrficas 87

SmartThings (2015). Developer Documentation: Release 1.0. https://media.


readthedocs.org/pdf/smartthings/latest/smartthings.pdf. Acesso em: 15
Dez. 2015.

Stallings, W. (2005). Data and computer communications. Prentice Hall.

Stallings, W.; de Figueiredo, C. C. & de Figueiredo, L. C. (2006). Arquitetura e


organizao de computadores: projeto para o desempenho. Prentice-Hall.

Winter, T. (2012). Routing protocol for low-power and lossy networks. Relatrio
tcnico, rfc 6550, 6551, 6552. IETF.

Wu, J. & Periorellis, P. (2005). Authorization-Authentication Using XACML and


SAML. University of Newcastle upon Tyne, Computing Science.

You might also like