• Nenhum resultado encontrado

O IoT pode ser visto como um diagrama com in´umeros n´os com diferentes capa- cidades ao n´ıvel de recursos, pelo que a sele¸c˜ao e aprovisionamento dos mesmos tem um forte impacto na qualidade de servi¸co (QoS) da aplica¸c˜ao. Dependendo da

3.2. GEST ˜AO DE RECURSOS 17

Camada de Neg´ocio Diagramas Gr´aficos

Sistema de gest˜ao

Camada de Aplica¸c˜ao Gest˜ao global

Camada de Processamento Base de dados Processamento

Gest˜ao de servi¸cos Camada de Transporte Wi-fi, 4G, LoRa, etc

Seguran¸ca

Camada de Perce¸c˜ao Objetos f´ısicos Sensores

Figura 3.2 – Arquitetura detalhada IoT em 5 camadas. Adaptado de Khan et al.(2012).

situa¸c˜ao, estes recursos, podem significar objetos f´ısicos ou servi¸cos fornecidos pelos mesmos. Esta gest˜ao apresenta uma enorme importˆancia em sistemas distribu´ıdos e tem sido alvo de v´arios estudos. O IoT apresenta-se como um sistema distribu´ıdo em larga escala onde o seus constituintes tˆem um elevado grau de heterogeneidade de hardware e software, para al´em de os contextos de execu¸c˜ao serem extremamente dinˆamicos, o que dificulta ainda mais a sua gest˜ao. Esta, deve ser capaz de descobrir e identificar todos os recursos dispon´ıveis e maximizar a sua utiliza¸c˜ao, que pode ser na forma de custo, energia ou desempenho.

A grande quantidade de dados gerados pelos dispositivos IoT, em aplica¸c˜oes do mundo real, imp˜oe a necessidade de elevado poder de processamento e armaze- namento de forma a transformar os dados recolhidos em informa¸c˜ao ´util. Algumas aplica¸c˜oes s˜ao mais sens´ıveis `a latˆencia enquanto outras requerem um processamento

18 CAP´ITULO 3. INTERNET DAS COISAS

mais complexo.

Segundo Fl´avia C. Delicato(2017), em sistemas distribu´ıdos a aplica¸c˜ao corre sobre infraestruturas dimensionadas para o pior cen´ario, isto ´e, uma situa¸c˜ao em que a utiliza¸c˜ao m´axima do sistema ´e garantida, podendo os recursos estar sobre-utilizados na maioria do tempo. Assim, mecanismos de aloca¸c˜ao de recursos em plataformas IoT aplicam estrat´egias sofisticadas e algoritmos para melhor alocar recursos f´ısicos e virtuais. Durante o tempo de execu¸c˜ao, tais mecanismos de monitoriza¸c˜ao super- visionam o estado da infraestrutura de forma a acomodar exigˆencias imprevistas de forma escal´avel e dinˆamica. Um dos requerimentos do IoT ´e a capacidade de proces- samento em tempo real. Estes sistemas lidam com centenas ou milhares de pedidos paralelos e algumas aplica¸c˜oes exigem uma resposta imediata, enquanto outras tˆem um maior grau de liberdade, desta forma, ´e necess´ario desenvolver estrat´egias de prioriza¸c˜ao para garantir o funcionamento de todas as aplica¸c˜oes.

De forma a poderem ser utilizados os recursos ´e necess´ario aplicar mecanismos de descoberta e monitoriza¸c˜ao que funcionem de forma aut´onoma dadas as dimens˜oes da rede. Tais mecanismos dependem de outros servi¸cos como a gest˜ao, o registo e a comunica¸c˜ao. Isto torna a descoberta de recursos fundamental para o bom funcionamento de uma plataforma de IoT.

De acordo comDatta et al.(2015), os mecanismos cl´assicos de descoberta utilizados baseados web n˜ao s˜ao adequados ao IoT devido aos diferentes requisitos do sistema. Assim, existem diversas frameworks de descoberta baseadas em tecnologias diferen- tes.

3.2.1

Arquitetura centralizada

Este ´e o m´etodo mais simples de fazer a gest˜ao e descoberta de recursos. Os servi¸cos dispon´ıveis de ser utilizados s˜ao registados numa entidade centralizada. Um exemplo de uma framework deste tipo ´e a descrita por Br¨oring et al. (2016).

3.2. GEST ˜AO DE RECURSOS 19

Cliente Diret´orio Recurso

registo

query

resultado

Figura 3.3 – Exemplo de framework de descoberta centralizada. Adaptado deBr¨oring et al.

(2016).

objects de acordo com o seu dom´ınio. Esta solu¸c˜ao utiliza diret´orios como entidade central, estas agregam recursos de dom´ınio semelhante. Exemplos de diret´orios podem ser, sensores de humidade, sensores de temperatura. Cada um destes, armazena os dados sobre os sensores desse tipo, facilitando a procura. Como ´e poss´ıvel ver na Figura 3.3, um recurso quando ´e adicionado `a rede envia uma mensagem de registo ao diret´orio. Esta mensagem ir´a conter os servi¸cos que esse recurso pode disponibilizar e ficar´a armazenada. Quando um cliente pretende en- contrar um recurso, ´e enviada uma query de procura ao diret´orio que responde ao cliente.

3.2.2

Arquitetura distribu´ıda e P2P

Outro m´etodo mais complexo de realizar a procura de recursos ´e a utiliza¸c˜ao de uma arquitetura distribu´ıda. A filosofia por detr´as destes sistemas ´e peer-to-peer (P2P).Paganelli and Parlanti(2012) apresentou uma solu¸c˜ao que adota uma t´ecnica de tabelas de hashing distribu´ıdas. Esta solu¸c˜ao ´e baseada numa rede P2P e apresenta algumas caracter´ısticas, em certos cen´arios vantajosas, em rela¸c˜ao a uma arquitetura centralizada. Permite procuras baseadas em distˆancia e procuras por

20 CAP´ITULO 3. INTERNET DAS COISAS v´arios atributos. Peer Peer Peer Peer Cliente Recurso Cliente Recurso Cliente Recurso Cliente Recurso

Figura 3.4 – Exemplo de framework de descoberta baseada em comunica¸c˜ao P2P. Adaptado deLiu et al.(2013).

Liu et al. (2013) explica de que forma funciona uma solu¸c˜ao de descoberta P2P. O sistema de descoberta de recursos apresentada consiste num n´umero de peers conectados numa configura¸c˜ao P2P. Cada um destes peers ´e respons´avel pelo registo e descoberta de recursos e encontra-se dividido em 3 camadas. A camada superior ´

e um proxy e tem a fun¸c˜ao de comunicar com clientes e recursos. A camada central cont´em o registo de recursos e as suas informa¸c˜oes. A ´ultima camada implementa um protocolo de comunica¸c˜ao P2P.

Documentos relacionados