Internnet Das Coisas: Middlewares e Outras Coisas: April 2016
Internnet Das Coisas: Middlewares e Outras Coisas: April 2016
Internnet Das Coisas: Middlewares e Outras Coisas: April 2016
net/publication/301298394
CITATIONS READS
0 3,343
1 author:
Alexandre Carissimi
Universidade Federal do Rio Grande do Sul
45 PUBLICATIONS 380 CITATIONS
SEE PROFILE
All content following this page was uploaded by Alexandre Carissimi on 15 April 2016.
Resumo:
1
Alexandre da Silva Carissimi é Doutor em Informática pelo Institut National Polytechnique de Gre-
noble (INPG), França (1999), Mestre em Ciência da Computação pelo Programa de Pós-Graduação em
Computação da UFRGS (1989) e formado em Engenheira Elétrica pela UFRGS (1985). Atua como Pro-
fessor no Departamento de Informática Aplicada da UFRGS desde 1989, tendo sido, no decorrer desse
período, responsável por ministrar diversas disciplinas nas áreas de introdução à informática, arquitetura de
computadores, sistemas operacionais, sistemas distribuídos e redes de computadores. É instrutor da Escola
Superior de Redes (ESR), iniciativa da Rede Nacional de Pesquisa (RNP). É coautor de três livros publica-
dos pela Editora Bookman, dentro da Série Didática da UFRGS: Sistemas Operacionais (vol. 11), Sistemas
operacionais e Programação Concorrente (vol. 14) e Redes de computadores (vol. 20). Já apresentou di-
versos minicursos e palestras em congressos e escolas (ERAD, ERRC, SBRC, WSCAD, CLEI,...), além de
participações em semanas acadêmicas de várias universidades do Rio Grande do Sul. Com relação às áreas
de pesquisa, atua na área de processamento paralelo e distribuído, em especial, no estudo e desenvolvimento
de suportes de execução (runtimes), virtualização, computação em nuvem e middlewares.
2.1. Introdução
Ao longo dos anos, a rede mundial de computadores, a Internet, acabou sendo con-
fundida e virando sinônimo de uma de suas mais importantes aplicações: a World Wide
Web, ou simplesmente, a Web. Enquanto a Internet em si é uma infraestrutura que permite
a interconexão de centenas de milhares de computadores, a Web é um repositório fantás-
tico de informações e do conhecimento humano, que foi evoluindo com o passar dos anos.
Inicialmente, no que alguns autores denominam Web 1.0, o foco era a busca e entrega de
informações às pessoas, ou seja, informações eram disponibilizadas por poucas pessoas
e acessadas por um número significativamente maior de pessoas. Na Web 2.0, as pessoas
passam de consumidoras de informações para serem também fornecedoras de informa-
ções. O foco passou a ser a colaboração e o compartilhamento das informações, onde o
principal fenômeno é a criação e a dissiminação das mais diferentes redes sociais. Nessa
linha evolutiva, o passo seguinte é a Web 3.0, também denominada de Web semântica
[BER 2001], caracterizada, de forma simplificada, pela obtenção e pelo processamento
automático de informações.
Uma forma diferente de analisar essa evolução é através da própria Internet, que
passou de uma rede que interligava computadores, para ser vista como um repositório de
documentos e, na sequência, uma rede de interconexão de pessoas e, agora, mais recen-
temente de objetos (ou coisas). Assim, uma forma de compreender o que é a Internet
das Coisas é imaginar que agora são os mais diversos objetos da vida quotidiana que ge-
ram e consomem informações na Web e, através disso, interagem e oferecem serviços às
pessoas. No entanto, essa visão não é uma novidade. Já em 1991, Mark Weiser, pai da
computação ubíqua, preconizava a existência de objetos inteligentes. Da mesma forma,
o termo Internet of Things foi criado em 1999, por Kevin Ashton, como uma forma de
monitorar a existência de recursos físicos, minimizar desperdícios e, com isso, reduzir
perdas e custos, principalmente, no setor de logística.
A Internet das Coisas, ou IoT, acrônimo do inglês Internet of Things, não possui
uma definição única. A ITU Internet Reports, define a Internet das Coisas como “a capa-
cidade de conectividade a qualquer momento, de qualquer lugar, por qualquer um e por
qualquer coisa”. A Comissão Europeia, por sua vez, define como sendo “objetos de iden-
tidade única operando em espaços inteligentes para conectar e comunicar em contextos
sociais, ambientais e de usuários”. Por fim, a definição da Wikipedia diz “rede de objetos
fisicos com eletrônica, software e sensores embarcados, com capacidade de comunica-
ção que permite a esses objetos coletar e trocar dados... cada objeto é identificado de
forma única... e tem capacidade de operar com a infraestrutura da Internet existente”.
A origem dessas diferentes definições é a forma com se enxerga a Internet das Coisas e a
abstração utilizada: orientada as coisas, orientada a Internet e orientada a conhecimento
[ATZ 2010]. Na visão orientada a coisas, a abordagem é relacionada aos sensores usa-
dos para monitorar e rastrear condições através de objetos ditos de inteligentes. Na visão
orientada a Internet, o foco é a interconexão desses objetos inteligentes, sua integração
e gerenciamento através de middlewares. Por fim, a visão orientada a semântica, onde o
ponto principal é o conhecimento obtido através representação, armazenamento, busca,
organização e uso das informações. Neste capítulo, adota-se a seguinte definição para
Internet das Coisas: “ambiente no qual objetos, e mesmo os seres vivos, tem a habilidade
de interagir e colaborar entre si, usando conectividade em rede, para agregar valor às
informações que possuem”.
O atual crescimento da Internet das Coisas foi impulsionado por uma série de
inovações tecnológicas, do seu barateamento e facilidade de acesso. Por exemplo, os
atuais smartphones possuem vários sensores, onde se destaca o GPS (Global Positioning
System) que permite o desenvolvimento de uma série de aplicativos baseados em geolo-
calização. Apesar da popularização dos objetos inteligentes, ainda há muitos desafios a
serem superados para que a Internet das Coisas seja empregada de forma mais consis-
tente. Um dos mais importantes desafios diz respeito a heterogeneidade dos dispositivos
e dos ambientes IoT, que gera a demanda de que objetos com diferentes capacidades de
processamento, de hardware, de formas de comunicação e de sistemas operacionais (ou
runtimes) se integrem e interoperem nesses ambientes. A maneira tradicional de tratar
a heterogeneidade e a interoperabilidade é o emprego de padrões e protocolos abertos
e middlewares. Com base nisso, uma série de protocolos foram criados, ou adaptados,
para prover a interoperabilidade de objetos da IoT. Da mesma forma, plataformas de mid-
dleware também têm sido propostas. Porém, ainda há uma falta de padronização, o que
faz com que essas soluções não tratem de forma adequada várias funcionalidades impor-
tantes no contexto da IoT, como nomeação, gerenciamento dos dispositivos, segurança,
modelos de programação, etc. Assim, faz-se necessário a definição e adoção de arquitetu-
ras de referência que forneçam uma estrutura de blocos básicos e de suas funcionalidades
para serem empregadas na construção de middlewares IoT. Justamente em função dessa
necessidade, surgiu o projeto europeu IoT-A (Internet of Things Architecture), que ba-
sicamente, foi formado como um consórcio entre vários representantes da academia e
indústria, com o objetivo de definir uma arquitetura de referência para a IoT.
Um outro desafio importante na IoT é a escalabilidade. A consultoria Gartner es-
tima a existência de cerca de 26 bilhões de dispositivos IoT até 2020 [GAR 2013]. Assim,
as plataformas de middleware devem considerar a possibilidade de suportar uma quanti-
dade massiva de dispositivos e de dados. Como essa necessidade de processamento e
armazenamento é, ainda hoje, desconhecida, a computação em nuvem surge como uma
opção, já que os recursos computacionais podem ser alocados e liberados por demanda.
Surge, então, o conceito de Nuvem de Coisas (Cloud of Things) [SOL 2014]. Ainda, com
o aumento do volume de dados decorrente da quantidade potencial de dispositivos conec-
tados, alguns ambientes IoT, principalmente aqueles destinados a sistemas de logística e
marketing, já se preocupam com aspectos típicos de Big Data onde são necessários prover
mecanismos que facilitem a consulta, indexação e a análise desses dados.
Uma área de aplicação da IoT, que remonta aos seus primórdios, é a da com-
putação ubíqua. Aqui, a necessidade é que os dispositivos possam ser integrados a um
ambiente já existente e usufruir dos serviços que esse ambiente disponibiliza. Questões
como descoberta de recursos e de contexto, muito comuns em trabalhos sobre computa-
ção ubíqua nos anos 90 e 2000, ressurgem. Ainda, muitos dos dispositivos IoT coletam
dados privados de usuários como, por exemplo, sua localização, ou últimos locais visi-
tados, e armazenam, ou os transmitem, em meios não confiáveis. Assim, chega-se a um
outro grande desafio, que é a questão da privacidade e da segurança em dispositivos IoT.
Considerando esses aspectos iniciais, este capítulo tem por objetivo introduzir no-
ções básicas sobre a Internet das Coisas, apresentar os principais protocolos e middlewa-
res existentes, assim como introduzir uma discussão sobre os desafios atuais da IoT e
possíveis linhas de pesquisa. Para atingir esses objetivos, este capítulo está organizado
em 9 seções, com esta introdução. Inicialmente, na seção 2.2. são apresentadas algumas
áreas de aplicação da Internet das Coisas com o objetivo de mostrar o potencial dessa
tecnologia. A seção 2.3. descreve o que é um objeto inteligente, sob o ponto de vista da
Internet das Coisas, e quais são os seus principais componentes. A seção 2.4. discute ques-
tões de terminologia, onde aparecem conceitos como telemetria, M2M, Web das Coisas,
além, é claro, de Internet das Coisas. As soluções IoT possuem uma estrutura genérica
similar, a qual é apresentada na seção 2.5. Como dito anteriormente, o uso de protocolos
e de middlewares é a forma clássica de endereçar o problema da heterogeneidade e da in-
teroperabilidade em sistemas distribuídos em geral. Assim, as seções 2.6. e 2.7. abordam,
respectivamente, os principais protocolos e as arquiteturas de referência existentes para
IoT. Na seção 2.8. são discutidos os desafios e as oportunidades de pesquisa na área de
IoT, para, posteriormente, concluir este capítulo na seção 2.9.
A Internet da Coisas pode ser vista como a integração de três grandes camadas:
tecnologia, software e aplicações [GUB 2013]. A camada da tecnologia fornece todos os
mecanismos básicos de hardware para executar sensoriamento, processamento e comuni-
cação com o meio exterior. A camada de software é toda a inteligência necessária para
receber as informações dos dispositivos IoT; completar o tratamento da informação, pois
os dispositivos IoT costumam ser limitados em capacidade de processamento; gerenciar
esses dispositivos e integrá-los em uma infraestrutura de rede - a Internet - e a serviços, ou
aplicações, de mais alto nível. Por fim, a camada de aplicação, que fornece, justamente,
um serviço de valor agregado aos usuários finais. Há uma infinidade de aplicações IoT
e, cada dia, surgem mais. Dessa forma, nesta seção, serão apresentadas algumas pos-
sibilidades de aplicações com a finalidade de ilustrar o potencial de utilização da IoT.
Essas aplicações estão divididas em grandes áreas como logística, transporte, ambiental,
residencial, saúde e cidades inteligentes (smart cities).
Uma das áreas em que a Internet das Coisas vem sendo aplicada, e trazendo mui-
tos benefícios, é a de Transporte e Logística. A tendência atual da indústria automotiva é
incluir em carros, ônibus e caminhões uma variedade de sensores e atuadores, assim como
usar processadores cada vez mais potentes. Mesmo motocicletas e bicicletas seguem essa
tendência. Um sensor particularmente interessante, nesse contexto, é o GPS (Global Po-
sitioning System). Também, em decorrência do uso de transportes rodoviários em geral,
as estradas e ruas, vem sendo equipadas com câmeras e sensores que auxiliam no con-
trole de tráfego com a temporização de semáforos em função do fluxo de carros e com a
determinação de rotas alternativas com menos engarrafamento. Uma outra realidade é o
uso de etiquetas RFID (Radio Frequency IDentification) e de tecnologia NFC (Near Field
Communication) para identificar e monitorar o transporte de bens de consumo em geral.
Tudo isso contribui para uma melhoria dos serviços de transporte e logística.
Na logística, com o uso de etiquetas RFID, é possível acompanhar em tempo real o
deslocamento de bens de consumo durante toda a cadeia produtiva até o destinatário final.
A identificação desses bens dos consumos, e dos insumos necessários para sua produção,
possibilita que os mesmos sejam estocados, encomendados e entregues de acordo com a
demanda. Essas informações são facilmente integradas em soluções ERP (Enterprise Re-
source Planning) para reduzir custos e desperdícios. Associando essas informações com
aquelas fornecidas por GPS , é possível acompanhar em tempo real onde uma mercadoria
se encontra e, em caso de problemas rodoviários, fazer rotas alternativas para garantir pra-
zos de entrega, ou mesmo, em caso de produtos perecíveis, garantir que os mesmos não
sejam prejudicados pelas condições de tráfego. Entre as várias possibilidades, há o que se
chama “cadeia do frio”, onde um produto deve ser transportando respeitando condições
de refrigeração. Nesse caso, sensores de temperatura vão registrando, durante o percurso,
a temperatura interna da embalagem de acondicionamento. No destino final é possível ver
se houve variações sensíveis, o tempo de transporte, e, com isso, determinar se o produto
se deteriorou. Isso é comum em transporte de vacinas e de hemoderivados.
Ainda, na parte de transporte em geral, há o que se chama de “direção assistida”.
Nesse caso, os sensores nos veículos trazem uma série de possibilidades como evitar co-
lisões, mantendo distâncias seguras de veículos próximos; fornecer condições de tráfego
de estradas e ruas; pilotos automáticos; etc. No transporte público, o monitoramento em
tempo real trás uma série de vantagens como, por exemplo, determinação de tempo médio
de espera em pontos de ônibus, indicação da próxima parada, manutenção preventiva, en-
tre outros. Todas essas ações ajudam a reduzir o consumo de combustível, reduzir emissão
de CO2 e prover melhoria na qualidade de vida em geral. Um exemplo bastante comum,
empregado, sem dúvida, por vários entre nós, é o Waze. Ainda na área de transporte, o
uso de passagens eletrônicas na tela do próprio celular, na forma de QR-Codes, é uma
realidade em passagens áreas, o que evita filas de enregistramento e a emissão de papel.
O mesmo já acontece, em algumas cidades do mundo, com passagens de ônibus urbanos.
Uma outra área que é um nicho de mercado importante, e que já encontra várias
soluções, é a telessaúde (healthcare). Novamente, há uma vasta gama de aplicações e um
potencial enorme para inovações. Inicialmente, nos hospitais, é possível com auxílio de
sensores e de mecanismos de identificação, acompanhar um paciente durante todo o seu
período de internação. Esse rastreamento pode, entre outras, auxiliar na preparação de
salas cirúrgicas em função do procedimento a ser feito, no encaminhamento para exames
reduzindo tempo em salas de espera, no controle de administração dos medicamentos
(corretos e horários), etc. A substituição de prontuários em papel, em pranchetas, por ver-
sões eletrônicas permite um melhor acompanhamento pelas equipes médicas, inclusive
com o encaminhamento desse para análise por especialistas em outros locais. O armaze-
namento desse prontuário possibilita, ainda, um acompanhamento da saúde de uma pes-
soa desde o seu nascimento. Dentro da área da saúde, uma outra inovação, e importante
mercado, é o de homecare. Aqui, dado o envelhecimento da população, é cada vez mais
comum o uso de sensores de movimento, de localização e de posição para verificar se pes-
soas idosas não estão passando por algum tipo de mal súbito ou queda em sua residência.
Some-se a isso todo o conjunto de pulseiras que monitoram qualidade do sono, fornecem
batimentos cardíacos, temperatura corporal, etc, e que podem enviar essas informações a
centrais de monitoramento de serviços de saúde.
Os chamados espaços inteligentes (smart spaces) também se tornam uma reali-
dade com o auxílio da IoT. Através de sensores e atuadores,distribuídos em residências e
escritórios, é possível tornar esses ambientes mais confortáveis e melhorar a qualidade de
vida em vários aspectos: controle de climatização em função de preferências pessoais e da
temperatura exterior; controle de intensidade de luz; prevenção de acidentes domésticos
como desligamento de tomadas e equipamentos elétricos deixados ligados por esqueci-
mento; alarmes contra instrusos; etc. Todas essas facilidades são disponibilizadas através
de aplicativos em smartphones ou em páginas Web. Além da automação residencial e
de escritórios, há outras aplicações nessa linha, em ambientes públicos, como museus e
academias de ginástica. No primeiro, é comum com o auxílio de QR-Codes, lidos direta-
mente por aplicativos de celulares, ou usando algum tipo de tecnologia RFID, ou NFC, se
obter descrições e informações sobre obras de artes e peças em exposição. Em academias
de ginástica, os esforços físicos feitos pelas pessoas podem ser monitorados e registrados
com a finalidade de acompanhar evolução física, aprimorar programas de treinamento e,
mesmo, verificar as condições físicas e de saúde durante um exercício. Ainda, a inte-
gração de automação de edifícios, com aplicações de transporte e logística e de outros
sistemas, contribuem para o desenvolvimento das cidades inteligentes (smart cities).
A indústria, já acostumada com um grau de automação através de controladores
lógico programáveis (CLPs) e de mecanismos como SCADA (Supervisory Control And
Data Acquisition) e DCS (Distributed Control management Systems) podem aumentar, e
melhorar seu grau de controle, através de novos sensores e integração dos dados obtidos
por eles em seus sistemas de prevenção de acidentes, manutenção, engenharia e outros
setores da sua linha de produção ou atuação. Um exemplo disso, são os sistemas de
distribuição de energia elétrica inteligentes (smart grids), onde linhas de transmissão são
monitoradas e caminhos alternativos podem ser feitos em decorrência do aumento de
consumo, rompimento de linha ou desligamentos programados para manutenção.
Além de todos esses domínios de aplicações, há ainda muitos outros relacionados
com atividades de lazer (brinquedos, programação de cinemas, jogos eletrônicos com
realidade virtual, etc) e redes sociais. Soma-se a isso, um sem número de aplicações
baseadas em drônes e VANTs (Veículos Aéreos Não Tripulados). Não é por nada que
organismos como Gartner e o IDC fazem previsões de que o mercado da IoT gerará um
movimento de cerca de 2 trilhões de doláres até 2020. Dessa forma, esta seção não esgota
as áreas de aplicações IoT, apenas tenta mostrar quão impactante pode ser seu uso.
A Internet das Coisas, como seu próprio nome diz, é formada por “coisas” e,
um primeiro ponto que vem em mente, é justamente a questão “o que são as coisas que
formam a Internet das coisas”? Genericamente, uma “coisa” é um objeto físico composto
por um identificador único, por um transdutor, por mecanismos de comunicação e por
um processador, que pode variar do mais simples ao mais complexo. Uma característica
fundamental da Internet, tal qual como conhecemos, é que cada elemento que a compõem
possui um endereço IP. O endereço IP nada mais é que um nome que identifica, de forma
única, um elemento na Internet e, como tal, pertence a um sistema de nomes. Um sistema
de nomes é uma maneira de referenciar simbolicamente, de forma inequívoca, objetos
obedecendo a uma determinada sintaxe e semântica. O conjunto de nomes válidos é
denominado de espaço de nomes. São exemplos cotidianos de espaço de nomes, entre
outros, as placas de nossos automóveis, compostas por três letras, seguidas de quatro
dígitos decimais (0-9); os endereços IPv4, ou IPv6; ou, ainda, os nomes de arquivos em
um sistema de arquivos em computadores de uso pessoal.
Um nome identifica um objeto de forma única em um contexto. Esse contexto
pode ser local, como o nome de uma rua em uma cidade (nada impede que outra cidade
tenha uma rua com o mesmo nome), ou global, como os endereços IP na Internet. As
principais características de um nome são unicidade, persistência e longevidade, ou seja,
um nome deve identificar um objeto de forma inequívoca e durar – pelo menos - o mesmo
tempo de vida desse objeto. Na Internet das coisas é comum que os objetos sejam identi-
ficados por etiquetas RFID (Radio Frequency IDentification), por endereços IP ou através
de URIs (Uniform Resource Identifiers).
Uma etiqueta RFID é um microchip com uma antena acoplada que responde a uma
requisição externa fornecendo sua identificação, via sinal de rádio. A fonte de energia em-
pregada pelas etiquetas RFID podem ser externa ou interna a ela e, em função disso, elas
são classificadas como passiva, semi-passiva ou ativa. Uma etiqueta RFID passiva não
possui fonte de energia, o sinal eletromagnético da própria requisição gera uma corrente
elétrica que fornece a energia necessária para o envio da identificação. Por sua vez, as
etiquetas semi-passivas e ativas possuem uma fonte interna (bateria). No primeiro caso,
semi-passiva, a bateria é suficiente apenas para a etiqueta receber o sinal de requisição, a
resposta, como no caso anterior, é enviada com a energia do campo elétrico decorrente da
própria requisição. Já as etiquetas ativas, a bateria possui energia suficiente para receber
o sinal de requisição e para transmitir a identificação.
As etiquetas RFID armazenam um código de 96 bits, o Electronic Product Code
(EPC), que serve como identificador único da etiqueta e segue um padrão aberto (GID-
96). As etiquetas RFID são bastante difundidas, sendo usadas, inclusive, como meca-
nismo antifurto em lojas de departamento e em livrarias. Outros exemplos de códigos
usados para identificar objetos são QR-Codes e códigos de barra.
Normalmente, as etiquetas RFID identificam um objeto dentro de um contexto lo-
cal. Porém, no momento em que se deseja uma identificação em contexto global, torna-se
necessário o uso de algum outro mecanismo. Nesse ponto entram as tecnologias Internet,
como os endereços IP. Um endereço IP, na sua versão 4, é um número de 32 bits que,
teoricamente, fornece até 232 nomes diferentes. No entanto, na prática, essa capacidade é
menor devido a semântica dada a um endereço IPv4 em possuir dois campos, o prefixo e o
sufixo, que servem, respectivamente, para identificar uma rede na Internet e uma interface
de rede dentro dessa. Além disso, o IPv4 já enfrenta há anos o problema de esgotamento
de endereços, o que fez surgir o IPv6. Um endereço IPv6 é um número de 128 bits, ou
seja, fornece cerca de 340 undecilhões de nomes (2128 endereços). Assim como o IPv4,
essa é capacidade bruta, já que também há uma divisão de campos em prefixo e sufixo,
64 bits cada, e que são usados conforme as regras de atribuição de endereços IPv6.
Uma outra forma de identificar objetos é através de URI (Uniform Resource Iden-
tifier). Um URI é um string empregado para identificar o nome de um recurso. Na prá-
tica, um URI fornece informações sobre a localização de um objeto e seu nome em um
sistema distribuído. A sintaxe de um URI é definida no Internet Standard 66 e na RFC
3986 sendo composta, basicamente, por um esquema (scheme), uma parte hierárquica e,
opcionalmente, por uma requisição (query) e um fragmento (fragment). As formas mais
comuns de URI são o Uniform Resource Locator (URL) e o Uniform Resource Name
(URN). Assim, quando o scheme usado for o http, estamos na presença de um URL que é
empregado para localizar e acessar um recurso na Internet, ou seja, o URL informa onde
encontrar um recurso. Se o scheme for urn, estamos identificando um objeto dentro de um
espaço de nome específico. Tipicamente, um URN fornece um identificador de espaço de
nome (Namespace IDentifier – NID ) e um nome válido dentro desse espaço de nome
(Namespace Specific String – NSS) como, por exemplo, urn:isbn:978-85-8143-677-7.
O próximo elemento que compõe um objeto inteligente é um transdutor. Um trans-
dutor é um dispositivo que converte uma forma de energia em outra, como os sensores e
os atuadores. Os sensores são capazes de converter uma fonte de energia como mecânica,
térmica, acústica, ou eletromagnética (inclui luz), entre outras, em corrente ou tensão elé-
trica. Há uma variedade enorme de sensores que são capazes de “sentir” características
de um meio físico, e transformar essa característica em valores de tensão, ou corrente,
que podem ser lidos e convertidos em valores binários através de conversores analógico-
digitais. Um atuador, por sua vez, transforma energia elétrica em movimento para, por
exemplo, acionar o fechamento de válvulas.
Uma das funcionalidades básicas dos objetos inteligentes é a sua capacidade de in-
teração, ou seja, modificar alguma situação no mundo físico ou reportar um estado desse
mundo físico para que ele seja monitorado. Como os objetos que compõem a Internet das
coisas, por questões de praticidade, de custo, e mesmo de projeto, tem capacidades reduzi-
das de processamento e de autonomia (duração de sua bateria), os mesmos se restringem a
observar o meio e enviar as informações para sistemas de maior capacidade para avaliação
dessas informações e tomada de decisões. Surge então a necessidade de conectividade,
ou seja, os objetos devem ter capacidade de comunicação que variam desde barramentos
específicos, interligando os objetos a sistemas de maior capacidade, até as tecnologias de
comunição via rede celular (GSM, LTE,...), de redes locais (WiFi e Ethernet) e de redes
pessoais (Bluetooth, ZigBee, infravermelho, 6LowPAN, RFID, etc).
Por fim, por mais simples que possa ser, os objetos inteligmentes possuem a ne-
cessidade de realizar algum tipo de processamento. Esse processamento, dependendo da
complexidade do objeto e de seu custo, pode variar desde uma lógica de máquina de es-
tados, ou de programas simples executados por um processador dedicado de baixo custo,
como aqueles que atendem a indústria de linha branca (eletrodomésticos); até processa-
dores de maior capacidade como ARM e Intel. Justamente em função de questões relaci-
onadas com consumo de energia, os processadores de baixo consumo tem se tornado uma
opção bastante interessante e são cada vez mais empregados em placas e kits de desenvol-
vimento como Arduíno, Raspberry, Cubieboards, entre outras. Esses kits também contam
com várias interfaces, como portas seriais, paralelas, conversores A/D, de uma gama de
sensores e atuadores e conectividade de rede (WiFi, Ethernet, Bluetooth, ZigBee, infra-
vermelho, etc), se tornando uma plataforma interessante para comporem os elementos
básicos da Internet das Coisas, assim como os nossos smartphones.
Internet das Coisas e Web das Coisas: O surgimento dos termos Internet das Coisas
e Web das Coisas nasceram em analogia ao que já acontece com a Web no tratamento
de seus recursos. A Internet pode ser vista, de forma lógica, como uma rede virtual em
que todos os dispositivos a ela conectada comunicam entre si usando as mesmas regras
(protocolos) e se conhecem através de seus endereços IP. Essa abstração de rede virtual,
e de endereço IP, faz com que cada elemento da Internet possa interagir com outro inde-
pendentemente de seu hardware, da tecnologia de comunicação que emprega para enviar
e receber sinais eletromagnéticos (WiFi, Ethernet, ADSL, etc), e de seu sistema opera-
cional, ou seja, permite que equipamentos heterogêneos interajam entre si. Ainda, os
protocolos Internet são padrões abertos, assim, com sua adoção não há dependência tec-
nológica a um determinado fabricante ou sua solução. Dessa forma, o termo Internet das
Coisas quer ressaltar dois atributos básicos da Internet. Primeiro, que os objetos inteli-
gentes (coisas) são identificados de forma única por seus endereços IP, e, segundo, que
ele se comunicam empregando protocolos abertos. Entretanto, essa abordagem ainda não
fornece um grau de abstração adequado, pois tratar com endereços IP diretamente não é
prático, ainda mais agora com o advento do IPv6. Além disso, os protocolos da camada de
transporte (TCP e UDP) oferecem apenas a noção de uma comunicação fim-a-fim, sendo
necessário definir o que é carregado por eles, ou seja, qual o protocolo da aplicação e o
serviço a ser executado. Nesse ponto é que aparece a analogia com a Web.
Basicamente, a Web é um local onde as pessoas publicam e consultam informações
dos mais variados tipos. Independente do tipo de informação (documento), o acesso e o
tratamento são uniformes. Novamente, são usados abstrações e protocolos para isso. Só
que agora, nesse contexto, os objetos são identificados de forma única através de URLs,
que, além de fornecer nomes simbólicos aos objetos, isso é, não numéricos como endere-
ços IP, auxiliam na sua localização na Web. Os protocolos usados no acesso a documen-
tos Web em geral, tal como o HTTP, ou os protocolos utilizados no desenvolvimento de
Web services como RESTfull, XML, HTML5, entre outros, passam a ser empregados na
identificação, localização e comunicação entre os objetos. Surge então o termo Web das
Coisas.
Pragmaticamente, a Internet das Coisas faz referência a objetos que são identifica-
dos de forma única através de endereços IP e que se comunicam através da infraestrutura
existente da Internet. Já a Web das coisas transforma os objetos em recursos, localizados
por URLs, e tratados com a tecnologia existente para desenvolvimento de aplicações Web.
Uma solução IoT pode ser organizada e analisada a partir de um modelo de quatro
camadas (Figura 2.2): sensor e rede; gateway e rede; middleware; e aplicação. A camada
de sensor e rede é responsável por “sentir” alguma grandeza do meio físico, ou obter
uma informação de um objeto real, e enviá-la para um dispostivo externo para posterior
tratamento. Assim, essa camada obtém informações do meio físico através de leituras
de etiquetas RFID, QR-codes, códigos de barra, ou dos mais variados tipos de sensores
e envia essas informações para outro sistema usando tecnologias de redes locais (WiFi e
Ethernet) ou de redes pessoais (ZigBee, bluetooth, infravermelho, etc). Por consequência,
os dispositivos ou sensores, devem estar conectados através de redes cabeadas ou sem
fio. É possível, ainda, que um sensor esteja ligado a um dispositivo por barramentos
específicos ou por portas paralelas e seriais.
Como visto anteriormente, um dispositivo IoT pode ser extremamente simples
devido ao seu custo, ou por restrições como consumo de energia. Dessa forma sua capa-
cidade de processamento e comunicação é limitada a apenas “sentir” o meio e enviar a
informação para um sistema externo. Esse sistema externo é o que se denomina de ga-
teway. Portanto, o gateway é responsável por receber informações dos dispositivos IoT e
integrá-las a uma infraestrutura maior, seja de rede de interconexão, ou de processamento.
Um gateway, normalmente, é o que se chama de sistema embarcado. É comum alguns
sistemas oferecerem suporte a sensores, o que acaba fusionando a camada de sensores e
rede com a camada gateway e rede. Assim, a função de um gateway é repassar as infor-
mações obtidas do mundo real para o mundo virtual. As tecnologias empregadas para a
comunicação física variam desde aquelas usadas na telefonia celular (GSM, UMTS, LTE,
LTE-A) até às empregadas na Internet (WiFi, Ethernet, banda larga, etc...).
A próxima camada é a de middleware responsável pela configuração e gerencia-
mento dos dispositivos; pelo armazenamento dos dados (persistência); por gerenciar ques-
Figura 2.2: Camadas funcionais de uma solução IoT.
eXtensible Messaging and Presence Protocol (XMPP): O XMPP foi inicialmente de-
senvolvido como um protocolo para mensagem instantânea (IM) para conectar pessoas
através de mensagens de texto. Esse protocolo utiliza XML para suas mensagens e é exe-
cutado sobre o TCP. Um dos pontos chave do XMPP é a utilização de name@domain.com
como esquema de endereçamento, oferecendo um jeito fácil de endereçar um dispositivo
IoT na Internet através da infraestrutura existente de DNS.
(Quality of Service), com as semânticas: no máximo uma vez, pelo menos uma vez e
exatamente uma vez.
Como visto, uma solução baseada em MQTT tem dois componentes: o broker
e os clientes, que publicam e assinam tópicos. Há várias implementações em software
livre para o broker (HiveMQ, ActiveMQ, RabbitMQ, CloudMQTT, Mosca...). Uma das
implementações mais populares de broker MQTT é o Mosquitto2 e, para clientes, o Paho3 .
A Internet das Coisas nada mais é que um sistema distribuído. De acordo com
Coulouris [COU 2011], as propriedades e os problemas do projeto de sistemas distribuí-
dos podem ser identificados e discutidos através de modelos descritivos, a saber: modelo
físico, modelo arquitetural e modelo fundamental. Cada modelo é destinado a fornecer
uma descrição abstrata, mas consistente, de aspectos relevantes de um sistema distribuído.
Em especial, o modelo arquitetural define a estruturação do sistema, em termos de compo-
nentes e suas interrelações, com o objetivo que a estrutura final atenda requisitos atuais,
futuras demandas, de forma confiável, gerenciável, adaptável e rentável. É importante,
ainda, distinguir a diferença entre um modelo e uma arquitetura de referência.
6
https://www.jasper.com/
7
https://xively.com/
8
http://www.libelium.com
9
http://www.cariots.com
10
http://www.ibm.com/internet-of-things
11
http://www.openiot.eu
12
http://www.openhab.eu
2.8. Desafios e oportunidades
A popularização da IoT traz consigo uma série de desafios que variam desde ques-
tões sociais a tecnológicas, passando por aspectos ambientais, e que devem ser tratados
adequadamente. Do ponto de vista social, as principais preocupações estão relacionadas
com a privacidade e a segurança. Por exemplo, aplicativos baseados em geolocalização
dizem muito a respeito de hábitos de consumo, de trajetos usuais, de locais visitados, etc.
Essas informações podem ser usadas para finalidades diversas da original, como envio de
propagandas não desejadas, até ações mais graves como chantagens e violações de segu-
rança física e patrimonial. A questão do armazenamento e sigilo dos dados é essencial.
Os dados da IoT trafegam em infraestruturas públicas de comunicação e, muitas vezes,
são armazenados por terceiros. Assim, quais são as garantias quanto ao acesso a essa
informação ou, ainda, que elas dizem respeito realmente a um determinado usuário? Ima-
gine a divulgação, ou troca, de dôssiers médicos? Muitas das preocupações nesse sentido
iniciam com aspectos de legislação legal que, ainda por cima, variam de país para país.
A proliferação de dispositivos IoT, principalmente devido a vários deles serem de
baixo custo, causa um problema ambiental relacionado ao descarte de lixo eletrônico.
Soma-se a isso, as baterias e pilhas usadas. Outro aspecto fundamental, é que se tornou
necessário manter as pessoas e dispositivos conectados, implicando em infraestruturas de
rede disponíveis todo tempo e com boa capacidade de banda passante. Essa necessidade
se traduz em investimento em backbones, em instalações físicas, em equipamentos, o que
reflete diretamente em consumo de energia e todos os problemas decorrentes do uso de
uma determinada matriz energética como as usinas nucleares, termodinâmicas e hidroelé-
tricas. Isso sem contar com o impacto ambiental provocado pelos sistemas de transmissão
de energia. Assim, há uma série de desafios relacionados com o uso de energia limpa e
com dispositivos de baixo consumo. Não que aspectos sociais e ambientais não sejam
importantes, muito antes pelo contrário, mas no contexto deste capítulo, os aspectos tec-
nológicos assumem um ponto relevante de discussão.
Inicialmente, para que os sistemas baseados em soluções IoT possam funcionar de
maneira eficiente é interessante imaginar novos protocolos de comunicação para a camada
mais inferior, ou seja, a dos dispositivos IoT. Muitos protocolos de controle de acesso ao
meio físico foram desenvolvidos até hoje, como TDMA, FDMA e CSMA, entre outros.
No entanto, nenhum deles é completamente aceito como uma solução definitiva, haja
visto, a quantidade de dispositivos IoT que podem existir. Questões como eficiência ener-
gética, para economia de bateria, encaminhamento e roteamento de dados, escalabilidade
e interferências, são diretamente afetadas em um cenário IoT. Além disso, em vários apli-
cações, os smartphones tem se tornam nodos IoT enviando dados para soluções baseadas
em computação em nuvem. Somente a identificação e endereçamento desses disposi-
tivos já é um problema. Soma-se a isso outros aspectos como definir proprietário dos
dados, privacidade, autenticidade e validade dos dados. Assim, mesmo com o advento do
IPv6, que poderia resolver o problema de identificação e endereçamento, muitos dessas
questões não foram devidamente trabalhadas, o que abre a possibilidade para pesquisas
acadêmicas e o desenvolvimento de novas tecnologias de comunicação.
Uma das aplicações mais promissoras da IoT é a criação de ambientes inteligentes,
mais especificamente, as cidades inteligentes. A implementação desse tipo de aplicação,
exige, tipicamente, a integração de serviços oferecidos por vários, e distintos, fornece-
dores; a capacidade de suportar uma grande quantidade de usuários; operar tanto com
dispositivos wireless como com equipamentos em redes cabeadas; e, ter uma grande dis-
ponibilidade, isso é, “estar no ar” o tempo todo. Uma forma para obter isso é com do uso
da computação em nuvem, pois facilita o atendimento desses requisitos através de seus
datacenters distribuídos e pela oferta de carga computacional por demanda. No entanto,
as soluções em nuvem necessitarão melhorar os tempos para a instanciação de recursos e
prover modelos de serviços (Service as a Service-SaaS) adequados aos dispositivos com
poderes computacionais distintos. Entre os desafios, estão o uso de algoritmos que aten-
dam requisitos de tempo real de algumas aplicações e mecanismos de tolerância a falhas.
A escalabilidade da IoT é outro desafio importante. Além da própria questão de
atender um grande número de clientes, há outra: “qual o padrão e o impacto de tráfego
que a IoT imporá na Internet atual?”. No passado, já assistimos a questões similares com
o surgimento das redes peer-to-peer e com a alteração de padrão de tráfego de e-mail para
HTTP, e, depois, para as redes sociais. O tráfego do IoT ainda tem suas particularidades
como gerar áreas de dados pequenas, ter desconexões em função das capacidades dos
dispositivos, áreas de sombra, etc. Ainda, com o crescimento exponencial dos dispositivos
IoT, há também um aumento no volume de dados gerado. Essa quantidade de informação
precisa ser gerenciada, e surgem vários pontos a serem considerados: Até quando um
dado será útil e deverá ser armazenado? Qual a garantia da veracidade dessa informação?
Que informação relevante pode ser obtida a partir desse volume de dados? Essas questões,
entre outras, podem ser respondidas com o auxílio da área de grande volume de dados
(Bigdata) e devem ser consideradas em soluções IoT.
Por fim, para concluir esta seção, a questão de segurança e privacidade. Aqui vem
todos os desafios já tradicionais relacionados com privacidade, autenticidade e integri-
dade dos dados, além da disponibilidade. No entanto, essas questões são ampliadas em
ambientes IoT. Inicialmente, simplesmente por uma questão de estatística, quanto mais
equipamentos houver na Internet maior a probabilidade que um deles tenha uma vulne-
rabilidade qualquer, seja pela não atualização adequada de seu sistema ou pela falta de
cuidado de um usuário. Além disso, os dispositivos IoT, por serem nós com baixa ca-
pacidade computacional, podem ter dificuldades para executar algoritmos de cifragem e
outros mecanismos de segurança desenvolvidos para sistemas de maior porte. Sabe-se
ainda que a segurança de um sistema como um todo é dado pela fragilidade de seu elo
mais fraco e isso, no mundo IoT, pode vir a ser um grande problema. A possibilidade
de cyber-ataques físicos, como aquele ocorrido com o Jeep Cherokee13 , na metade do
segundo semestre de 2015, expõe um perigo potencial do mundo IoT. Outro ponto, é a
questão de autenticação de usuários para acessar serviços. Isso, em grande parte das ve-
zes, implica na existência de senhas e essas, que foram criadas para dar mais segurança
a um serviço, acabam se tornando um ponto falho. É muito comum se encontrar senhas
fracas, anotadas em papel ou em arquivos em equipamentos não seguros.
Apesar do que foi apresentado neste capítulo a respeito de protocolos e de arqui-
teturas de referência, a padronização ainda resta como um desafio a ser enfrentado. Essas
iniciativas representam, de certa forma, esforços isolados de certas comunidades. Dada a
abrangência de aplicações IoT é necessário ainda que haja convergência entre os vários
padrões existentes para garantir a interoperabilidade dos dispositivos e aplicações. Falta,
ainda, por exemplo, padrões que auxiliem na governança dos dispositivos IoT, ainda mais
que, muito deles, são equipamentos de uso pessoal, como os smartphones. E isso também
traz impactos importantes no aspecto segurança da informação.
13
https://blog.kaspersky.com/blackhat-jeep-cherokee-hack-explained/9493/
2.9. Conclusão
A Internet das Coisas, ou IoT, interconecta pessoas, objetos do mundo real, a apli-
cações e dados, oferecendo uma variada gama de serviços que trazem conforto, qualidade
de vida e oportunidade de negócios. A IoT se tornou um mercado emergente com alto
potencial pois, pode-se imaginar uma série de aplicações, nas mais diversas áreas do co-
nhecimento humano e, principalmente, no quotidiano das pessoas.
O suporte para a implementação de soluções baseadas em IoT inicia pela exis-
tência de objetos inteligentes, pelo desenvolvimento e disponibilidade de uma gama de
sensores e, fundamentalmente, pela expansão e uso da Internet. A medida que se tem,
cada vez mais, objetos inteligentes interconectados há uma geração massiva de informa-
ções que precisa ser armazenada, processada e disponibilizada. As soluções atuais para
tratar essa necessidade apontam para o uso de computação de nuvem, onde os recursos
computacionais podem ser obtidos por demanda, e a disponibilidade dessas informações
é garantida pela infraestrutura redundante dos data centers dos grandes provedores de
solução de nuvem. A análise dos dados, retirando informações relevantes de um grande
volume de dados, nos orienta para o emprego de tecnologias da área de Bigdata.
A proliferação dos dispositivos IoT gera uma série de desafios tecnológicos, de
legislação e comportamentais. Os pontos fundamentais estão relacionados privacidade e
segurança das informações. Da mesma forma, apesar de das diferentes capacidades com-
putacionais dos vários tipos de dispositivos IoT existentes, é desejável que eles interajam
entre si. Surgem então os problemas de heterogeneidade e de disponibilidade que são
tratados com o desenvolvimento de padrões e adoção de middlewares que abstraem uma
série de características físicas. O crescimento exponencial de dispositivos IoT implica,
ainda, em problemas de escalabilidade como aumento do tráfego de dados, armazena-
mento da informação, e processamento de requisições que deêm uma boa experiência de
utilização por parte do usuário final. Muitos desses desafios ainda estão em aberto criando
oportunidades para geração de startups, mercados inovadores e pesquisas acadêmicas.
2.10. Bibliografia
[ATZ 2010] ATZORI, L.; IERA, A.; MORABITO, G. The internet of things: a survey.
Computer networks, v.54, n.15, p.2787–2805, 2010.
[BER 2001] BERNERS-LEE, T.; HENDLER, J. The semantic web. a new form of
web content that is meaningful to computers will unleash a revolution of
new possibilities. Scientific American Magazine, p.34–43, May 2001.
[GUB 2013] GUBBI, J. et al. Internet of things (iot): a vision, architectural elements,
and future directions. Future Generation Computer Systems, v.29, n.7,
p.1645–1660, 2013.
[IOT 2013] IOT-A. Internet of things architecture (iot-a): final architectural refe-
rence model for the iot v3.0. [http://www.iot-a.eu/public (acesso em fev.
2016)].
[MAC 2000] MACKENZIE, C. M. et al. Reference model for service oriented archi-
tecture 1.0. [http://docs.oasis-open.org/soa-rm/v1.0/soa-rm.pdf/ (acesso
em fev. 2016)].
[QIN 2011] QIN, W. et al. Restthing: A restful web service infrastructure for mash-
up physical and web resources. In: IEEE/IFIP 9TH INTERNATIONAL
CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING,
EUC 2011, MELBOURNE, AUSTRALIA, OCTOBER 24-26, 2011,
2011. Anais. . . [S.l.: s.n.], 2011. p.197–204.
[SOL 2014] SOLDATOS, J. et al. Design principles for utility-driven services and
cloud-based computing modelling for the internet of things. Int. J. Web
Grid Serv., Inderscience Publishers, Geneva, SWITZERLAND, v.10,
n.2/3, p.139–167, Apr. 2014.