• Nenhum resultado encontrado

NET-OPP: UM MIDDLEWARE TRANSPARENTE PARA FORMAÇÃO DE REDES E TROCA DE CONTEÚDOS PARA APLICAÇÕES OPORTUNISTAS

N/A
N/A
Protected

Academic year: 2018

Share "NET-OPP: UM MIDDLEWARE TRANSPARENTE PARA FORMAÇÃO DE REDES E TROCA DE CONTEÚDOS PARA APLICAÇÕES OPORTUNISTAS"

Copied!
113
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE OURO PRETO

INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS

DEPARTAMENTO DE COMPUTAÇÃO

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

NET-OPP: UM MIDDLEWARE

TRANSPARENTE PARA FORMAÇÃO DE

REDES E TROCA DE CONTEÚDOS PARA

APLICAÇÕES OPORTUNISTAS

C

HARLES

T

IM

B

ATISTA

G

ARROCHO

O

RIENTADOR

: P

ROF

. D

R

. R

ICARDO

A

UGUSTO

R

ABELO

O

LIVEIRA

(2)

UNIVERSIDADE FEDERAL DE OURO PRETO

INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS

DEPARTAMENTO DE COMPUTAÇÃO

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

NET-OPP: UM MIDDLEWARE

TRANSPARENTE PARA FORMAÇÃO DE

REDES E TROCA DE CONTEÚDOS PARA

APLICAÇÕES OPORTUNISTAS

C

HARLES

T

IM

B

ATISTA

G

ARROCHO

Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Univer-sidade Federal de Ouro Preto, como parte dos requi-sitos para a obtenção do título de Mestre em Ciência da Computação.

Orientador: Prof. Dr. Ricardo Augusto Rabelo Oli-veira

(3)

Catalogação: www.sisbin.ufop.br

G243n Garrocho, Charles Tim Batista.

Net-Opp [manuscrito]: um middleware transparente para formação de redes e troca de conteúdos para aplicações oportunistas / Charles Tim Batista Garrocho. - 2015.

93f.: il.: color; grafs; tabs.

Orientador: Prof. Dr. Ricardo Augusto Rabelo Oliveira.

Dissertação (Mestrado) - Universidade Federal de Ouro Preto. Instituto de Ciências Exatas e Biológicas. Departamento de Computação. Programa de Pós graduação em Ciências da Computação.

Área de Concentração: Sistemas de Computação.

1. Arquitetura de redes de computador. 2. Computadores - Equipamento de entrada e saída. I. Oliveira, Ricardo Augusto Rabelo. II. Universidade Federal de Ouro Preto. III. Titulo.

(4)
(5)

Dedico este trabalho a meus pais,Téoem memóriaeMaria, ambos exemplos de

(6)

AGRADECIMENTOS

Agradeço primeiramente a Deus, por me proporcionar a vida, os desafios, as dificuldades e a força para superar mais um obstáculo.

Agradeço a minha esposaLourdese meu filhoGabriel, pelo amor, paciência, compreensão e companheirismo de todos esses anos juntos.

Agradeço aos meus paisTeófiloeMaria, e meus irmãosThiagoeGustavo, pelo incentivo, aconchego e por me apoiarem em todos os momentos de minha vida.

Agradeço aosamigosque fiz no mestrado. Em especial aos amigos do Laboratório iMobilis, com os quais desopilei em vários momentos e que contribuíram direta ou indiretamente com ideias valiosas para o desenvolvimento deste trabalho.

Agradeço aos professores, principalmente aoRicardo, pela contribuição substancial para a concretização deste trabalho e orientação recebida.

Agradeço àUniversidade Federal de Ouro Preto (UFOP) e a cidade deOuro Preto, pelos ensinamentos.

Agradeço aoConselho Nacional de Desenvolvimento Científico e Tecnológico(CNPq), pelo apoio financeiro.

Agradeço a todos que me ajudaram direta ou indiretamente neste trabalho.

Agradeço aosesquecidosnão mencionados explicitamente aqui.

(7)

Queria ser o sol para iluminar os quatro cantos da tua cela de prisão...

Queria ser as estrelas para te fazer lembrar das noites da nossa terra...

Queria ser a lua para clarear mais e mais teus sentimentos de liberdade...

Queria ser um pássaro para te levar um cantar de que o amanhã será mais livre...

(8)

R

ESUMO

O avanço e popularização de dispositivos móveis e a integração de novos recursos de co-municação possibilitaram o surgimento das redes oportunistas. Rede oportunista é um tipo de rede que promove uma comunicação entre dois dispositivos móveis mesmo que uma rota para conectá-los não exista. Esse processo é feito através de oportunidades de encontros não programados entre dispositivos móveis que trocam dados entre si até que a mensagem che-gue ao destinatário. Essa comunicação de encontros em redes oportunistas permitiu diversas aplicações, como na redução de tráfego de rede celular, em comunicações em situação de emergência, e no contorno a censura de comunicação. O crescente aumento de dispositivos móveis deve, em tese, promover redes oportunistas, já que com mais dispositivos, maiores possibilidades de encontros será possível. Porém, na prática, as tecnologias atuais para re-des oportunistas não estão disponíveis (Wi-Fi Ad-Hoc) nos dispositivos móveis atuais ou exigem interação indesejada (Bluetooth e Wi-Fi Direct) do usuário para estabelecer conec-tividade. Para superar essas deficiências é apresentado o middleware Net-Opp. Baseado na tecnologia Wi-Fi modo infraestrutura, onde o dispositivo se torna um ponto de acesso, Net-Opp pesquisa e analisa pontos de acesso disponíveis no ambiente, e se encontrar se associa com um ponto. Se nenhum ponto de acesso for encontrado, Net-Opp torna o dispositivo em um ponto de acesso, no modo infraestrutura, para prover uma rede de comunicação para outros dispositivos, possibilitando uma troca transparente de conteúdos entre os dispositi-vos, já que neste modo de operação do Wi-Fi não é exigido pareamento (associação entre dispositivos). Esse processo realizado por Net-Opp é feito automaticamente sem exigir in-teração humana e alin-teração no sistema operacional dos dispositivos móveis. Como prova de conceito e avaliação são apresentadas duas aplicações que empregam o uso da arquitetura desse middleware. As aplicações foram desenvolvidas em cenários de dispositivos móveis pessoais e veiculares. O principal objetivo dessas aplicações é a avaliação do middleware Net-Opp em cenários reais e diferentes e provar que esse processo de alternância entre esca-neamento e ponto de acesso pode promover uma comunicação transparente ao usuário final. Resultados de avaliações nas aplicações demonstraram que o middleware conseguiu criar uma camada de interoperabilidade entre o sistema operacional e as aplicações oportunistas, e abstrair a formação da rede e a troca de conteúdos entre vários dispositivos simultanea-mente de forma transparente nos dois cenários.

(9)

A

BSTRACT

The advancement and popularization of mobile devices and the integration of new commu-nication capabilities made possible the emergence of opportunistic networks. Opportunistic network is a type of network that promotes communication between two mobile devices even if a route to connect them does not exist. This process is done through meetings op-portunities unscheduled between mobile devices that exchange data with each other until the message reaches the recipient. This communication meetings in opportunistic networks allow various applications, such as the reduction of mobile network traffic, communications in emergency situations, and outline the censorship of communication. The increasing num-ber of mobile devices should, in theory, promote opportunistic networks, as more devices, more likely to meetings will be possible. However, in practice, current technologies for op-portunistic networks are not available (Wi-Fi Ad-Hoc) in today’s mobile devices or require unwanted interaction (Bluetooth and Wi-Fi Direct) User to establish connectivity. To over-come these shortcomings is shown the Net-Opp middleware. Based on Wi-Fi technology infrastructure mode, where the device becomes a point of access, Net-Opp research and analyzes access points available in the environment, and meet associates with a point. If no access point is found, Net-Opp makes the device in an access point in infrastructure mode, to provide a communications network to other devices, enabling a transparent exchange of content between devices, since in this operating mode Wi-Fi is not required pairing (as-sociation between devices). This process carried out by Net-Opp is done automatically without requiring human interaction and change in operating system for mobile devices. As proof of concept and evaluation are presented two applications that employ the use of this middleware architecture. The applications were developed in scenarios of personal and vehicular mobile devices. The main purpose of these applications is the evaluation of the Net-Opp middleware in real and different scenarios and prove that this process of switching between scanning and access point can promote transparent communication to the end user. Results of assessments in applications showed that the middleware has managed to create a layer of interoperability between the operating system and opportunistic applications, and abstract the formation of the network and the exchange of content among multiple devices simultaneously transparently in both scenarios.

(10)

LISTA DE

FIGURAS

2.1 Visão geral dos princípios de Computação Pervasiva. Fonte: adaptado de (

SA-LES, 2010). . . 9

2.2 Comunicação dos dispositivos em uma rede oportunista. Fonte: adaptado de (HU, 2015). . . 12

2.3 Alcance das redes sem fio. Fonte: (BORGES; LEMES; ALECRIM, 2007). . . 14

2.4 Modos de operação da tecnologia Wi-Fi. Fonte: (TANENBAUM, 2003). . . 16

2.5 Arquitetura lógica de uma rede 802.11. Fonte: (TELECO, 2015). . . 16

2.6 Exemplo de funcionamento do Wi-Fi Tethering. Fonte: (CONSTANTINESCU, 2014). . . 17

2.7 Funcionamento do Wi-Fi modo infraestrutura e Tethering. Fonte: (BRUN, 2014). 18 2.8 Desafios apresentados pela tecnologia Wi-Fi Tethering. Fonte: adaptado de (TRIFUNOVIC, 2015). . . 18

3.1 Visão geral da arquitetura de Haggle. Fonte: (SU, 2007). . . 21

3.2 Visão geral do sistema MobiClique. Fonte: (PIETILAINEN, 2009). . . 23

3.3 Arquitetura do middleware Shair. Fonte: (DUBOIS, 2013b). . . 24

3.4 Arquitetura de software de CAMEO. Fonte: (ARNABOLDI; CONTI; DELMASTRO, 2014). . . 25

3.5 Diagrama de transição de estados do framework WiFi-Opp. Fonte: ( TRIFUNO-VIC, 2011). . . 27

3.6 Diagrama de transição de estados de WLAN-Opp. Fonte: (TRIFUNOVIC, 2015). 28

(11)

3.8 Exemplo da estrutura rede de comunicação criada pelo framework MA-Fi. Fonte:

(WIRTZ, 2011). . . 30

3.9 Esquema básico de funcionamento do projeto ZebraNet. Fonte: adaptado de (BAZA CUÑADO, 2011). . . 32

3.10 Esquema geral da arquitetura do projeto DakNet. Fonte: (PENTLAND; FLET-CHER; HASSON, 2004). . . 33

3.11 Arquitetura de sistema do projeto CarTel. Fonte: (HULL, 2006). . . 34

3.12 Arquitetura geral do projeto BikeNet. Fonte: (EISENMAN, 2009). . . 35

4.1 Arquitetura do middleware Net-Opp. . . 40

4.2 Diagrama de estados do móduloGerenciador de Rede. . . 41

4.3 Módulos em execução com a rede de comunicação estabelecida. . . 43

5.1 Diagrama de atividades do móduloGerenciador de Rededo middleware Net-Opp. 49 5.2 Imagens da aplicaçãoCrowd Wi-Fi. . . 50

5.3 Imagens da aplicaçãoCrowd Wi-Fi. . . 51

5.4 Organização dos componentes no veículo. . . 52

5.5 Diagrama de atividades do móduloGerenciador de Rededo middleware Net-Opp. 53 5.6 Troca de conteúdos em um possível contato oportunista em uma estrada. . . 55

5.7 Entrega de um conteúdo tolerante a atrasos a uma infraestrutura na via. . . 55

6.1 Vista aérea da região de experimentação. Os números correspondem a cada dispositivo. . . 61

6.2 Vista aérea da região de experimentação. Ponto 1 é a infraestrutura fixa. Ponto 2 é o veículo móvel. . . 62

7.1 Tempo de associação da rede de comunicação. . . 65

7.2 Atraso médio. . . 66

7.3 Taxa de transmissão de pacotes. . . 67

7.4 Tempo de transferência de arquivos. . . 67

7.5 Tempo de associação da rede de comunicação. . . 68

(12)

7.7 Tempo de entrega de arquivos. . . 70

7.8 Média de perda de pacotes. . . 71

7.9 Atraso médio. . . 72

7.10 Taxa de transmissão média. . . 73

B.1 Diagrama de classes do móduloGerenciador de Rede. . . 89

B.2 Diagrama de classes do móduloGerenciador de Informações. . . 91

(13)

LISTA DE

TABELAS

3.1 Quadro comparativo das soluções de middlewares para redes oportunistas. . . . 37

(14)

LISTA DE

C

ÓDIGOS

FONTE

(15)

S

UMÁRIO

CAPÍTULO 1 – INTRODUÇÃO 1

1.1 Problemática . . . 4

1.2 Hipótese . . . 4

1.3 Objetivos . . . 5

1.3.1 Objetivo Geral . . . 5

1.3.2 Objetivos Específicos . . . 5

1.4 Metodologia . . . 6

1.5 Estrutura da Dissertação . . . 7

CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA 8 2.1 Computação Pervasiva . . . 8

2.1.1 Ambientes Pervasivos . . . 9

2.2 Redes Tolerantes a Atrasos e Desconexões . . . 10

2.2.1 Tipos de Contatos . . . 11

2.2.2 Redes Oportunistas . . . 12

2.3 Redes Sem Fio . . . 13

2.3.1 Wi-Fi (IEEE 802.11) . . . 14

2.3.1.1 Modos de Operação do Wi-Fi . . . 15

2.3.2 Tecnologia Wi-Fi Tethering . . . 17

(16)

CAPÍTULO 3 – TRABALHOS RELACIONADOS 20

3.1 Introdução . . . 20

3.2 Middlewares para Redes Oportunistas . . . 21

3.2.1 Haggle . . . 21

3.2.2 MobiClique . . . 22

3.2.3 Shair . . . 23

3.2.4 CAMEO . . . 25

3.3 Frameworks para Comunicações Oportunistas . . . 26

3.3.1 WiFi-Opp . . . 26

3.3.2 WLAN-Opp . . . 27

3.3.3 LISOpp . . . 29

3.3.4 MA-Fi . . . 30

3.4 Aplicações para Redes Tolerantes a Atrasos e Desconexões . . . 31

3.4.1 ZebraNet . . . 32

3.4.2 DakNet . . . 33

3.4.3 CarTel . . . 34

3.4.4 BikeNet . . . 35

3.5 Comparação Entre Net-Opp e os Trabalhos Relacionados . . . 36

CAPÍTULO 4 – O MIDDLEWARE NET-OPP 39 4.1 Introdução . . . 39

4.2 Arquitetura . . . 40

4.3 Funcionamento dos Módulos . . . 41

4.4 Contorno às limitações do modo infraestrutura . . . 44

4.5 Distribuição de Conteúdos . . . 45

4.6 Gerenciamento das Informações da Rede . . . 46

(17)

CAPÍTULO 5 – PROVAS DE CONCEITO 48

5.1 Relevância do Desenvolvimento . . . 48

5.2 Aplicação Crowd Wi-Fi . . . 48

5.2.1 Implementação . . . 49

5.2.2 Funcionamento . . . 50

5.2.3 Avaliação . . . 52

5.3 Aplicação Black Box . . . 52

5.3.1 Organização e Implementação . . . 52

5.3.2 Funcionamento . . . 54

5.3.3 Avaliação . . . 56

CAPÍTULO 6 – METODOLOGIA DE AVALIAÇÃO 57 6.1 Aplicação Crowd Wi-Fi . . . 57

6.1.1 Tempo de Formação Topológica da Rede de Comunicação . . . 58

6.1.2 Tempo de Atraso dos Pacotes . . . 58

6.1.3 Taxa de Transmissão . . . 59

6.1.4 Tempo de Transferência de Arquivos . . . 59

6.2 Aplicação Black Box . . . 59

6.2.1 Comunicação Entre Veículo Para Veículo . . . 60

6.2.1.1 Tempo de Formação Topológica de Rede . . . 60

6.2.1.2 Taxa de Transmissão . . . 60

6.2.1.3 Tempo de Entrega de Arquivo Tolerante a Atrasos e Desco-nexões . . . 61

6.2.2 Comunicação Entre Veículo Para Infraestrutura . . . 62

6.2.2.1 Taxa de Perda de Pacotes . . . 63

6.2.2.2 Atraso na Transmissão . . . 63

(18)

CAPÍTULO 7 – RESULTADOS EXPERIMENTAIS 64

7.1 Aplicação Crowd Wi-Fi . . . 64

7.1.1 Tempo de Formação Topológica da Rede de Comunicação . . . 64

7.1.2 Tempo de Atraso dos Pacotes . . . 65

7.1.3 Taxa de Transmissão . . . 66

7.1.4 Tempo de Transferência de Arquivos . . . 67

7.2 Aplicação Black Box . . . 68

7.2.1 Comunicação Entre Veículo Para Veículo . . . 68

7.2.1.1 Tempo de Formação Topológica da Rede de Comunicação . . 68

7.2.1.2 Taxa de Transmissão . . . 69

7.2.1.3 Tempo de Entrega de Arquivo Tolerante a Atrasos e Desco-nexões . . . 69

7.2.2 Comunicação Entre Veículo Para Infraestrutura . . . 70

7.2.2.1 Taxa de Perda de Pacotes . . . 71

7.2.2.2 Atraso na Transmissão . . . 72

7.2.2.3 Taxa de Transmissão . . . 72

7.3 Observações Finais . . . 73

CAPÍTULO 8 – CONCLUSÕES 74 8.1 Contribuições . . . 75

8.2 Trabalhos Futuros . . . 76

8.3 Produção e Inovação . . . 76

REFERÊNCIAS 77

GLOSSÁRIO 83

(19)

APÊNDICE B – MODELAGEM DA ARQUITETURA DE NET-OPP 87

B.1 Módulo API . . . 87

B.2 Módulo Gerenciador de Rede . . . 89

B.3 Módulo Gerenciador de Informações . . . 90

(20)
(21)

Capítulo 1

INTRODUÇÃO

Hoje em dia, as redes de comunicação sem fio tornaram-se essenciais no cotidiano de toda sociedade (CASTELLS, 2009). As pessoas podem se conectar a redes de dados, acessar e dis-ponibilizar conteúdos em qualquer lugar, por meio de diferentes dispositivos e tecnologias de comunicação (GANTI; YE; LEI, 2011). Diversos dispositivos móveis (por exemplo,

smartpho-nes, tabletse micro-computadores) vêm se popularizando e evoluindo muito nos últimos anos, tornando a cada dia que passa a interação do usuário final com o dispositivo uma experiência menos virtual e mais realista (COTTRILL, 2013).

Esse cenário vem se mostrando propício para a viabilização do paradigma de Computação Pervasiva (SAHA; MUKHERJEE, 2003), no qual dispositivos executam aplicações e integram-se de forma transparente à vida das pessoas, auxiliando-as em suas tarefas. O avanço desse para-digma, motivou o surgimento de um domínio denominado Redes Sociais Móveis (BEN MOKH-TAR; CAPRA, 2009;KAYASTHA, 2011), que estuda a integração desse paradigma com os serviços sociais da web (por exemplo, (HOFFMAN, 2003; ZUCKERBERG, 2004; CHEN; HURLEY; KARIM, 2005;DORSEY; WILLIAMS; STONE, 2006)). Essa integração possibilita aos usuários, que com-partilham interesses e frequentam lugares em comum, interagirem em qualquer lugar, a qualquer momento (CHURCHILL; HALVERSON et al., 2005;HUMPHREYS, 2010).

(22)

1 Introdução 2

Segundo Pelusi, Passarella e Conti (2006), redes oportunistas são uma das evoluções mais interessantes de MANETs, pois neste tipo de rede de comunicação os dispositivos móveis po-dem se comunicar uns com os outros, mesmo se uma rota para conectá-los não existe. Este tipo de abordagem de comunicação é feita através de oportunidades de encontros não programa-dos entre dispositivos móveis que trocam daprograma-dos (através de Bluetooth, Wi-Fi Direct ou Wi-Fi Ad-Hoc) entre si até que a mensagem chegue ao destinatário (BOLDRINI, 2014).

Redes oportunistas podem trazer vários benefícios para as redes baseadas em infraestrutura sem fio (3G e LTE), por exemplo, na utilização eficiente do espectro radioelétrico disponí-vel (VUKADINOVIC; KARLSSON, 2010) ou em reduzir a carga de tráfego celular (HAN, 2010), sendo assim, uma solução para nova geração de telefonia celular, a 5G (Fifth Generation of Mobile Telecommunications Technology) (MUMTAZ, 2014). Além disso, Segundo Martín Cam-pillo (2013), ela é ótima para lidar com falhas de infraestrutura de comunicação, parciais ou totais causadas por desastres naturais (DEKKER; KARSBERG; LAKKA, 2013), censura do governo (HELFT; BARBOZA, 2010) ou por até uma interrupção de Internet (CHEN, 2011).

Redes oportunistas tem sido um tema de pesquisa há anos, produzindo diversas arquiteturas de comunicação (SU, 2007;PIETILAINEN, 2009;DUBOIS, 2013b;ARNABOLDI; CONTI; DELMAS-TRO, 2014). No entanto, uma rede oportunista entre dispositivos móveis depende das capa-cidades de tais dispositivos para estabelecer comunicação entre si. Embora as tecnologias de interface sem fio, Bluetooth, Wi-Fi Direct e Wi-Fi Ad-Hoc oferecem tais capacidades em teo-ria, limitações da especificação do protocolo,chipsets1e sistemas operacionais em dispositivos

móveis tornam essas tecnologias em grande parte não aplicadas na prática.

Dispositivos móveis atuais (por exemplo,smartphones,tabletse micro-computadores) não suportam a tecnologia Wi-Fi Ad-Hoc (GROUP et al., 2007), a não ser com firmwares2 custo-mizados que exigem acessoroot ao SO (Sistema Operacional) do dispositivo, como feito nos trabalhos (DUBOIS, 2013b) e (ARNABOLDI; CONTI; DELMASTRO, 2014). A tecnologia Bluetooth é limitada em termos de alcance de comunicação e largura de banda, bem como descoberta sem interação humana (HAARTSEN, 2000). Além disso, a tecnologia Bluetooth leva muito tempo para parear3 e muitas das tentativas de pareamento não são feitas com sucesso (PIETILAINEN, 2009). Comunicação através da tecnologia Wi-Fi Direct é outra opção, mas requer pareamento, podendo demorar até dois minutos para formação de grupo e ainda requer interação do usuário com o dispositivo (ALLIANCE, 2010).

1Chipsets são um conjunto de circuitos integrados que são responsáveis por fazer com que todos os

componen-tes do dispositivo possam trocar informações e assim realizar as tarefas que exigimos deles.

2Firmwares são um conjunto de instruções operacionais que são programadas diretamente no hardware de

equipamentos eletrônicos.

(23)

1 Introdução 3

Essas características das tecnologias citadas, impedem na prática o desenvolvimento de aplicações que necessitam de comunicação transparente, isto é, formação da rede de comu-nicação e a troca de conteúdos sem a necessidade de interação do usuário com o dispositivo. Para superar essas deficiências é proposto o middleware Net-Opp. Baseado na tecnologia Wi-Fi modo infraestrutura (modo ponto de acesso do Wi-Fi), Net-Opp cria a capacidade de comunica-ção entre os dispositivos de forma transparente, sem que haja pareamento entre os dispositivos. Net-Opp automaticamente analisa pontos de acesso disponíveis no ambiente e se associa com um ponto, se nenhum ponto de acesso for encontrado, Net-Opp habilita o modo infraestrutura Wi-Fi do dispositivo, transformando-o em um ponto de acesso para prover uma rede de comu-nicação para outros dispositivos, viabilizando a troca transparente de conteúdos entre os dispo-sitivos. Todo esse processo é realizado automaticamente sem exigir pareamento e alteração no SO dos dispositivos.

Os principais benefícios do middleware proposto podem ser avaliados sob o ponto de vista dos desenvolvedores de aplicações oportunistas. O sistema oferece uma camada de interope-rabilidade entre as diferentes aplicações e a rede oportunista. O middleware Net-Opp cria a abstração da formação da rede oportunista e da troca de conteúdos, fornecendo serviços para as várias aplicações, facilitando o trabalho do desenvolvedor, liberando-o de se preocupar com a infraestrutura da rede e da troca de conteúdos. O usuário pode escrever sua aplicação e conectá-la sem impacto ao middleware. Essas características tornam o middleware uma abordagem prática para aplicações de redes oportunistas.

O presente trabalho apresenta a arquitetura do middleware proposto e a descrição do seu funcionamento. Além disso, como prova de conceito foram criadas e demonstradas as seguintes aplicações:

• A primeira aplicação,Crowd Wi-Fi, permite o compartilhamento transparente de arquivos de um diretório local do dispositivo para outros dispositivos conectados à rede oportunista provida pelo Net-Opp.

(24)

1.1 Problemática 4

1.1 Problemática

Segundo Wang (2014), existe um pequeno número de middlewares (SU, 2007; PIETILAI-NEN, 2009;DUBOIS, 2013b;ARNABOLDI; CONTI; DELMASTRO, 2014) voltados para o desenvol-vimento de redes oportunistas e cada um deles propõe uma solução diferente. Dessa forma, é possível perceber que os pesquisadores ainda buscam soluções eficientes para problemas de conectividade, escalabilidade e eficiência energética. Dentro desse contexto, as soluções de middlewares na literatura têm apresentado os seguintes problemas:

• Perda de conectividade entre os dispositivos móveis da rede, uma vez que a tecnologia Bluetooth não suporta grande distâncias de comunicação e transmite em baixa velocidade (HAARTSEN, 2000);

• Descoberta e troca de dados com necessidade de interação humana com o dispositivo, uma vez que tecnologias como o Bluetooth ou Wi-Fi Direct necessitam de pareamento para formarem a rede e trocarem conteúdos (ALLIANCE, 2010);

• Tempo consideravelmente alto para parear os dispositivos e muitas das tentativas de pare-amento não são feitas com sucesso, impedindo mobilidade dos dispositivos (PIETILAINEN, 2009);

• Nem todos os dispositivos móveis e SOs móveis suportam a tecnologia Wi-Fi Ad-Hoc (GROUP et al., 2007), e quando suportada a tecnologia nos dispositivos, é necessário alte-ração do SO Móvel para ativa-lá, como foi feito nos trabalhos (DUBOIS, 2013b; ARNA-BOLDI; CONTI; DELMASTRO, 2014).

1.2 Hipótese

Seguindo esse raciocínio, este trabalho se propõe a responder a seguinte questão:

(25)

1.3 Objetivos 5

1.3 Objetivos

Nesta Seção são apresentados os objetivos geral e específicos relacionados a este trabalho.

1.3.1 Objetivo Geral

Este trabalho tem como objetivo geral responder a hipótese definida na Seção 1.2, a partir do desenvolvimento do middleware Net-Opp, um middleware que, por meio da tecnologia Wi-Fi (padrão IEEE 802.11), visa criar um processo de alternância entre escaneamento de redes Wi-Fi e transformar o dispositivo em ponto de acesso (modo infraestrutura) para proporcionar uma rede de comunicação oportunista sem interação humana e sem alteração no SO móvel dos dispositivos.

1.3.2 Objetivos Específicos

Os objetivos específicos desse trabalho são:

• Propor uma nova arquitetura de middleware nomeada de Net-Opp para redes oportunistas baseada em um processo de alternância entre os modos de operação de escaneamento de redes e ponto de acesso do Wi-Fi;

• Como provas de conceito, são propostos a implementação e a avaliação dessa nova arqui-tetura de middleware em dois ambientes reais e diferentes, sendo o primeiro de dispositi-vos móveis pessoais através da plataforma Android, e o segundo de dispositidispositi-vos móveis veiculares através da plataforma Linux;

• Realizar uma revisão bibliográfica na literatura buscando arquiteturas de middlewares, frameworks e aplicações voltadas ao contexto de redes tolerantes a atrasos e desconexões, e redes oportunistas. Trabalhos estes, que se assemelham a arquitetura e objetivos do middleware Net-Opp;

(26)

1.4 Metodologia 6

1.4 Metodologia

Fazendo uso da definição de Appolinário (2007), o qual salienta que pesquisas aplicadas têm o objetivo de “resolver problemas ou necessidades concretas e imediatas”, este trabalho pode ser classificado como de natureza aplicada, uma vez que este trabalho tem como meta o desenvolvimento de um middleware voltado para solucionar problemas relacionados as redes oportunistas.

Para executar este trabalho e alcançar os objetivos propostos na Seção 1.3, foi realizada uma pesquisa exploratória, segundo a abordagem de Wazlawick (2009). Através dessa pesquisa foi realizado um levantamento dos trabalhos no estado da arte na literatura relacionados à mid-dlewares para redes oportunistas, a fim de proporcionar uma maior familiaridade com o objeto de estudo.

Além do levantamento bibliográfico a respeito de middlewares, também foi necessário re-alizar uma pesquisa bibliográfica a respeito das redes tolerantes a atrasos e desconexões, redes oportunistas, aplicações oportunistas, e da tecnologia Wi-Fi e seus modos de operação, já que estes tipos de redes, aplicações e tecnologias são partes fundamentais da arquitetura do mid-dleware Net-Opp.

É importante ressaltar que neste trabalho foi feita uma abordagem híbrida com relação a pesquisa, ou seja, ela foi qualitativa e quantitativa, levando em consideração os conceitos apre-sentados em Moreira (2002). Isso é justificado pelo fato de que este trabalho expõe o detalha-mento do middleware Net-Opp, no que se refere a sua arquitetura e seus principais recursos, e apresentar um comparativo entre ele e as soluções de middleware para redes oportunistas presentes na literatura.

(27)

1.5 Estrutura da Dissertação 7

1.5 Estrutura da Dissertação

Esta dissertação está dividida em oito capítulos. Neste primeiro capítulo foi apresentado uma introdução e o restante dessa dissertação esta organizada em mais sete capítulos citados nos tópicos abaixo. Os tópicos a seguir descrevem resumidamente o conteúdo de cada um destes capítulos:

• No Capítulo 2 é apresentado a fundamentação teórica necessária para o entendimento desse trabalho, onde são abordados conceitos relativos à Computação Pervasiva, redes tolerantes a atrasos e desconexões, redes oportunistas, redes sem fio, e os modos de ope-ração da tecnologia Wi-Fi;

• No Capítulo 3 são apresentados os trabalhos relacionados referentes aos middlewares, frameworks e aplicações para as redes oportunistas, um breve comparativo entre eles e o middleware Net-Opp;

• No Capítulo 4 é apresentado a visão geral da arquitetura do middleware Net-Opp, suas principais características e funcionalidades;

• No Capítulo 5 são apresentadas as provas de conceito que foram desenvolvidos sobre o middleware Net-Opp, sendo que na Subseção 5.2 é apresentado a aplicaçãoCrowd Wi-Fi

para dispositivos móveis pessoais, e na Subseção 5.3 é apresentado a aplicaçãoBlack Box

para dispositivos móveis veiculares;

• No Capítulo 6 é apresentada a metodologia de avaliação do middleware Net-Opp, sendo apresentado os cenários e métricas avaliadas;

• No Capítulo 7 são apresentados os resultados experimentais e as análises realizadas sobre os experimentos;

(28)

Capítulo 2

FUNDAMENTAÇÃO

TEÓRICA

Neste capítulo é apresentado o embasamento teórico que norteia os principais domínios de conhecimentos envolvidos neste trabalho. Inicialmente, será apresentada uma breve des-crição sobre o paradigma de Computação Pervasiva, destacando seus princípios e os fatores necessários para sua viabilização. A segunda parte deste capítulo descreve o domínio das Re-des Tolerantes a Atrasos e Desconexões e sua subárea de ReRe-des Oportunistas. Ao final, são apresentados as Redes Sem Fio e a tecnologia Wi-Fi (padrão IEEE 802.11) e seus modos de operação (por exemplo, estação e infraestrutura).

2.1 Computação Pervasiva

O paradigma de Computação Pervasiva foi definido por Mark Weiser, em 1991, quando publicou o trabalho contendo as bases para esse paradigma (WEISER, 1991). Nesse trabalho foi apresentado um mundo no qual a computação e as aplicações estariam embutidas nos objetos do dia-a-dia, de forma integrada ao ambiente. Esses objetos seriam capazes de interagir uns com os outros de forma transparente, isto é, sem serem notados ou requererem interação dos usuários. Nessa perspectiva, recursos computacionais seriam utilizados sem o conhecimento dos usuários, com o objetivo de realizar ações de acordo com as suas necessidades e preferências e tornar disponíveis informações relevantes para eles, no lugar e momento certo (LOUREIRO, 2008).

(29)

2.1 Computação Pervasiva 9

Figura 2.1: Visão geral dos princípios de Computação Pervasiva. Fonte: adaptado de (SALES, 2010).

Segundo Ma, Zhao e Yuan (2014), nos últimos anos, esse cenário sofreu uma mudança sig-nificativa com a popularização do acesso à Internet, em conjunto com o extraordinário avanço das tecnologias de comunicação sem fio (por exemplo, Bluetooth, Wi-Fi, 3G, Wi-Max, entre outros) e a massificação dos dispositivos móveis no mercado consumidor, principalmente, note-books,smartphonesewearables. Os dois últimos, em especial, estão se tornando cada vez mais baratos, acessíveis e com uma grande gama de recursos disponíveis, tais como câmera digital, vídeo, GPS, bússola digital, acelerômetro, conexões Wi-Fi, 3G, Bluetooth, dentre outros.

Consequentemente, tem-se tornado cada vez mais comum o fato das pessoas estarem sem-pre portando seus dispositivos móveis, assim como, passarem grande parte do tempo conectadas à Internet, em qualquer lugar, a qualquer momento (PEJOVIC; MUSOLESI, 2015). Esse novo ce-nário tem se mostrado propício para a viabilização do paradigma de Computação Pervasiva e para o desenvolvimento de aplicações que possam ser executadas em ambientes pervasivos.

2.1.1 Ambientes Pervasivos

(30)

2.2 Redes Tolerantes a Atrasos e Desconexões 10

mobilidade de tais dispositivos, permitindo que estes possam entrar/sair do ambiente a qualquer momento; capacidade de um dispositivo passar a fornecer ou deixar de fornecer algum serviço.

Segundo Yu (2013), no nível de rede, a mobilidade e a descoberta de usuários são duas características importantes para ambientes pervasivos. A primeira permite que as aplicações movam-se entre as diversas redes existentes em um ambiente pervasivo, sem interromper a execução de um serviço. A segunda característica permite que os dispositivos descubram uns aos outros na rede e que possam trocar informações, compartilhar recursos, ou ainda, executar os serviços disponíveis na rede.

A ideia de dispositivos transparentemente integrados aos seres humanos aliada à necessi-dade de lidar com as características de ambientes pervasivos, requer que as aplicações se adap-tem em adap-tempo de execução às alterações no ambiente e às necessidades dos usuários. Dentro do escopo de Computação Pervasiva, esta adaptabilidade é guiada por dois elementos chave: as noções de contexto e ciência de contexto (PERERA, 2014). Entretanto, como o foco do trabalho está no nível de rede, este assunto não será amplamente discutido.

2.2 Redes Tolerantes a Atrasos e Desconexões

As DTNs (Delay and Disruption Tolerant Networks), ou Redes Tolerantes a Atrasos e Des-conexões, são um tipo de rede com conexão intermitente na qual um caminho fim-a-fim entre os dispositivos móveis que estão comunicando pode nunca existir (VASILAKOS; ZHANG; SPYRO-POULOS, 2011).

Segundo Oliveira (2007), as principais características encontradas em um tipo de rede DTN são as seguintes:

• Atrasos longos e/ou variáveis – uma DTN pode chegar a ter atrasos da ordem de horas e, até mesmo, dias. A variação do atraso também pode chegar a estes valores;

(31)

2.2 Redes Tolerantes a Atrasos e Desconexões 11

Numa tentativa de contornar os problemas de atrasos e desconexões, as redes DTN imple-mentam técnicas de comutação de mensagens e de armazenamento persistente. Uma mensagem é enviada na rede pelo modo armazena e encaminha (store-and-forward), nó a nó, até alcan-çar o nó destino. Por fazer uso desta técnica, as redes DTNs são conhecidas por redes do tipo armazena-e-encaminha. Assim, não há necessidade alguma do nó destino estar ativo no mo-mento que o nó origem envia a mensagem (MCMAHON; FARRELL, 2009).

Segundo Cerf (2007), para utilização da técnica de comutação de mensagens e armazena-mento persistente de dados, foi necessário a criação de uma sobrecamada (overlay) abaixo da camada de aplicação, denominada camada de agregação ouBundle Layer. Nessa camada, todos os nós pertencentes à rede DTN executam um protocolo para agregação, desde a origem até o destino.

Além disso, as redes DTN estabelecem uma nomenclatura diferenciada com a inclusão de diversos conceitos. Um deles é o conceito de região, que consiste em um agrupamento de nós (fixos ou móveis) com características semelhantes. O nó que é responsável pela conexão entre regiões é denominado de nó mensageiro. Esse é um tipo especial de nó, tipicamente móvel, que participa de duas ou mais regiões a fim de proporcionar a conexão e a troca de informações entre as regiões.

2.2.1 Tipos de Contatos

Outro conceito importante definido pelas redes DTN é o contato. Segundo Jain, Fall e Patra (2004), um contato é o momento que dois nós se encontram na rede, uma oportunidade para ocorrer uma transmissão de dados:

• Contato persistente: são contatos que estão sempre disponíveis. O nó pode enviar a mensagem a qualquer momento que houver necessidade;

• Contato sob demanda: esse tipo de contato necessita que em algum momento uma ação seja tomada com o objetivo de instanciar o contato. Depois de estabelecido, se comporta como um contato persistente;

• Contato previsível: nesse tipo de contato os nós fazem previsões acerca do horário e da duração do contato conforme históricos armazenados de contatos passados;

• Contato oportunista: contatos que ocorrem ao acaso, sem que haja prévia programação;

(32)

2.2 Redes Tolerantes a Atrasos e Desconexões 12

2.2.2 Redes Oportunistas

Os contatos oportunistas ocorrem diante de encontros não previamente programados entre os dispositivos móveis. Esse tipo de contato tem como objetivo obter vantagens de contatos realizados totalmente ao acaso para realizar a comunicação com qualquer dispositivo que esteja fora do alcance de um dispositivo origem. Assim, utilizando a capacidade dos dispositivos se comunicarem localmente com os seus vizinhos para criar possibilidades de comunicação com outros dispositivos que estão fora do alcance. Esta é uma característica inédita que não existe similar na Internet convencional (GALATI, 2010).

Segundo Cerf (2007), o conceito de contato oportunista permite comunicação entre dispo-sitivos móveis na qual em nenhum momento existe um caminho inteiramente conectado entre eles, o que inviabiliza a comunicação na Internet convencional. Geralmente, os dispositivos que estabelecem contatos oportunistas desconhecem qualquer informação acerca do estado, da lo-calização ou dos padrões de mobilidade dos outros dispositivos. Além disso, os dispositivos são autônomos, o que significa que cada dispositivo possui um controle independente de si mesmo e de seus movimentos.

Nessa abordagem de comunicação oportunista, os dispositivos móveis utilizam tecnologias de redes sem fio (por exemplo, Bluetooth, Wi-Fi Direct, entre outras) para estabelecerem uma comunicação ponto-a-ponto e assim trocarem conteúdos entre si (CONTI; GIORDANO, 2014). A Figura 2.2 ilustra o funcionamento da abordagem de comunicação das redes oportunistas. Pode-se visualizar na Figura 2.2, que um dispositivo origem se comunica com um dispositivo destino, através do envio de uma mensagem para qualquer dispositivo que estiver próximo. O dispositivo que receber a mensagem pode se locomover e retransmitir a mensagem para outro dispositivo, podendo este ser um dispositivo retransmissor ou o dispositivo destino.

(33)

2.3 Redes Sem Fio 13

A troca de mensagens ou conteúdos nos encontros entre os dispositivos é feita através de tecnologias de redes sem fio (por exemplo, Bluetooth, Wi-Fi Direct, Wi-Fi Ad-Hoc). Apesar de dispositivos terem tecnologia necessária para estabelecer comunicação ponto-a-ponto com dispositivos vizinhos, estas tecnologias de rede sem fio ponto-a-ponto não são amplamente uti-lizadas. Isso por que essas tecnologias apresentam descoberta e troca de dados com necessidade de interação humana com o dispositivo (ALLIANCE, 2010), ou nem todos os dispositivos móveis e SOs móveis tem suporte às novas tecnologias (GROUP et al., 2007).

Segundo Denko (2011), através da exploração da natureza dinâmica – pessoas que se des-locam com os seus dispositivos – de tais redes oportunistas, muitas novas aplicações seriam possíveis:

• Em caso de um desastre natural (por exemplo, um terremoto, tsunami ou furacão), que destrói a infraestrutura de comunicação celular, rede oportunista pode ajudar a manter as comunicações entre dispositivos móveis, e permitir a coordenação das operações de salvamento;

• Em regiões ou locais onde não existe a infraestrutura de comunicação celular, rede oportu-nista poderia conectar os dispositivos dos moradores e ajudá-los a melhorar suas relações sociais;

• Quando a infraestrutura de comunicação celular é desligada (por exemplo, deliberada-mente, de modo a suprimir os movimentos de liberdade de expressão, ou caso esteja sobrecarregada), rede oportunista pode permitir que um conjunto de pessoas se comuni-quem;

• Os jogos multijogadores ou aplicativos de troca de mensagens podem usar redes opor-tunistas para encontrar outros participantes sem a necessidade de acesso à Internet e um servidor intermediário.

2.3 Redes Sem Fio

(34)

2.3 Redes Sem Fio 14

Conforme é ilustrado na Figura 2.3, os padrões propostos pelo IEEE permitem configurar arquiteturas de redes sem fio, como as redes pessoais WPAN (Wireless Personal Area Network), as locais WLAN (Wireless Local Area Network), as metropolitanas WMAN (Wireless Metropo-litan Area Network) e as de longa distância WWAN (Wireless Wide Área Network), oferecendo boa mobilidade aos seus usuários (AKYILDIZ; WANG; WANG, 2005).

Figura 2.3: Alcance das redes sem fio. Fonte: (BORGES; LEMES; ALECRIM, 2007).

Apesar de existirem muitos outros padrões de redes sem fio na literatura, por exemplo, o Bluetooth, o 3G, o LTE, o NFC (Near Field Communication) e o infravermelho, nesta Seção é feito um maior detalhamento na tecnologia que foi utilizada no desenvolvimento do middleware Net-Opp, ou seja, na tecnologia Wi-Fi (padrão IEEE 802.11).

2.3.1 Wi-Fi (IEEE 802.11)

A partir da necessidade de acesso a Internet em locais onde a rede cabeada estivesse inaces-sível, diversos pesquisadores começaram a trabalhar em soluções baseadas em transmissores e receptores de rádio de ondas e na comunicação entre esses equipamentos (PAHLAVAN, 2011).

Segundo Rappaport et al. (1996), dentre os muitos padrões que surgiram na década de 1990 como resultado dessas pesquisas está o protocolo IEEE 802.11, também conhecido como a tec-nologia Wi-Fi, o qual, hoje, está presente em residências, aeroportos e escritórios. A arquitetura IEEE 802.11 (CROW, 1997) é formada por vários componentes e serviços que interagem para proporcionar a mobilidade da estação para as camadas superiores da pilha de rede:

(35)

2.3 Redes Sem Fio 15

smartphone,wearable ou um ponto de acesso (AP). Todas as estações possuem serviços de autenticação, desautenticação, privacidade e entrega de dados.

• BSS (Basic Service Set): uma rede BSS consiste de um simples Access Point (AP) que suporta um ou mais clientes sem fio. Essa rede é também conhecida comoInfrastructure Wireless Network(Rede Infraestrutura). Nessa rede todas as estações se comunicam entre si através de um AP. Esse tipo de rede tem o inconveniente de consumir o dobro da banda, mas um dos grandes benefícios é o armazenamento dos dados enquanto as estações estão em modo de economia de energia (Power Save). O AP provê conectividade entre as estações e fornece funcionalidade de bridge quando uma estação inicia a comunicação com outra estação ou com um nó do sistema de distribuição (Distribution System- DS).

• IBSS (Independent Basic Service Set): uma rede IBSS consiste de pelo menos duas esta-ções, onde não há ponto de acesso que conecte a rede a um sistema de distribuição. Essa rede também é conhecida como uma rede sem fio Ad-hoc.

• ESS (Extended Service Set): uma rede ESS é constituída por dois ou mais APs conectados na mesma rede cabeada que pertencem ao mesmo segmento lógico (subnet), separado por um roteador.

• DS (Distribution Systems): os APs de múltiplos BSSs são interconectados através do DS. Isso provê mobilidade, pois as estações podem mover-se de um BSS para outro BSS. Os APs podem ser interconectados através da rede cabeada ou não. O DS é o componente lógico usado para interconectar BSSs. O DS provê serviços que permitem o roaming

entre as estações e os BSSs.

• SSID (Service Set Identifier): é um rótulo exclusivo que distingue uma WLAN de outro. Assim, todos os APs e STAs tentando tornar-se uma parte de uma WLAN específica devem usar o mesmo SSID. STAs sem fio usam o SSID para estabelecer e manter a conectividade com APs.

2.3.1.1 Modos de Operação do Wi-Fi

(36)

2.3 Redes Sem Fio 16

(a) Com a presença de um AP. (b) Sem a presença de um AP.

Figura 2.4: Modos de operação da tecnologia Wi-Fi. Fonte: (TANENBAUM, 2003).

Segundo Roshan e Leary (2010), a configuração de rede apresentada na Figura 2.4(a) é denominada de LAN com infraestrutura, onde um dispositivo se torna o AP e os demais dis-positivos se conectam ao AP e o usa como ponto de comunicação para se comunicar com os demais. A Figura 2.4(b) ilustra a configuração denominada ad hoc. Segundo Perkins (2008), nesse tipo de organização não existe controle central. A rede é formada por dispositivos próxi-mos uns dos outros que tenham necessidade de se comunicar.

Na configuração de rede sem fio LAN com infraestrutura, o AP e cada estação de trabalho possui um endereço MAC de 6 bytes armazenado na sua placa de interface de rede 802.11. A esse conjunto de AP e estações de trabalho se dá o nome de BSS. Conforme é ilustrado na Figura 2.5, toda a comunicação realizada entre as estações presentes na BSS passa pelo AP. Porém, para ter acesso ao AP a estação deve procurá-lo pelo seu SSID e associar-se a ele. É importante lembrar que o AP deve estar conectado a um dispositivo de interconexão como um hub ou um roteador para prover a ligação entre a BSS e a Internet.

(37)

2.3 Redes Sem Fio 17

2.3.2 Tecnologia Wi-Fi Tethering

A tecnologia Wi-Fi Tethering foi um modo criado para permitir o compartilhamento de acesso à Internet 3G e LTE de umsmartphonea uma gama de dispositivos clientes. Esta tecno-logia é suportada por todos os principais fabricantes de dispositivos e está disponível em todas as principais plataformas de sistemas operacionais, tais como iOS 4.3+ (APPLE, 2015), Android 2.2+ (GOOGLE, 2015) e Windows 7.5+ (MICROSOFT, 2015).

Segundo Constantinescu (2014), além de compartilhar a Internet entre vários dispositivos simultaneamente, conforme é ilustrado na Figura 2.6, a tecnologia Wi-Fi Tethering pode ser usada para comunicações móveis de cliente para cliente e comunicações ponto de acesso para cliente, permitindo assim comunicações oportunistas.

Figura 2.6: Exemplo de funcionamento do Wi-Fi Tethering. Fonte: (CONSTANTINESCU, 2014).

Entre todas as tecnologias móveis existentes, Wi-Fi Tethering é a única opção disponível para compartilhar conexões de dados com outros dispositivos. Algumas outras técnicas de tethe-ring existentes, como gateways de modem, proxies da camada de aplicação ou redirecionamento de portas, fornecem apenas conectividade limitada e não permitem a utilização simultânea de serviços de voz e dados (SCHULZ, 2012).

(38)

2.3 Redes Sem Fio 18

(a) Modo infraestrutura clássico. (b) Modo infraestrutura no Tethe-ring.

Figura 2.7: Funcionamento do Wi-Fi modo infraestrutura e Tethering. Fonte: (BRUN, 2014).

2.3.2.1 Desafios do Wi-Fi Tethering

A tecnologia Wi-Fi Tethering apresenta como principal vantagem a comunicação de vários dispositivos em uma rede WLAN (através do Wi-Fi modo infraestrutura) e a possibilidade de formação de rede sem exigir interação com o usuário, isto é, sem pareamento obrigatório entre os dispositivos. A Figura 2.8 ilustra os modos de operação dessa tecnologia e seus desafios.

(a) Dispositivos em modo esca-neamento não descobrem um ao outro.

(b) Dispositivos em modo tethering não descobrem um ao outro.

(c) Dois grupos de comunica-ção não se comunicacam entre si.

Figura 2.8: Desafios apresentados pela tecnologia Wi-Fi Tethering. Fonte: adaptado de ( TRIFUNO-VIC, 2015).

A pesar de todos esses benefícios apresentados, a tecnologia Wi-Fi Tethering apresenta alguns problemas que, segundo Constantinescu (2014), se tornam desafios a serem superados. Cada problema apresentado pela tecnologia Wi-Fi Tethering é descrito e apresentado nos itens a seguir:

(39)

2.3 Redes Sem Fio 19

• Dispositivos APs não são capazes de procurar por redes e são, portanto, incapazes de detectar um ao outro (Figura 2.8(b)). Dispositivos APs são apenas conscientes dos seus clientes, ou seja, dispositivos que estão associados a eles. Assim, eles podem perder oportunidades para se juntar a outras redes existentes na proximidade levando a redes em um particionado (grupos disjuntos. Figura 2.8(c));

• Finalmente, os clientes associados a diferentes pontos de acesso não conseguem se co-municar um com o outro. Esta é a segunda causa de grupos disjuntos que não são capazes de se comunicar uns com os outros (Figura 2.8(c)).

(40)

Capítulo 3

T

RABALHOS

R

ELACIONADOS

Neste capítulo é feito uma breve introdução e apresentado os trabalhos relacionados re-ferentes aos middlewares para redes oportunistas, aplicações para redes tolerantes a atrasos e desconexões, e frameworks de alternância entre ponto de acesso e escaneamento de redes. Por fim é apresentado um comparativo entre os trabalhos relacionados apresentados com a proposta do middleware Net-Opp.

3.1 Introdução

Recentemente, na área de redes oportunistas, os protocolos de roteamentos foram mais abordados que arquiteturas e aplicações práticas. Segundo Huang, Lan e Tsai (2008), um grande número de algoritmos de encaminhamento, sem infraestruturas foram desenvolvidos. Os auto-res desses trabalhos baseiam-se que os dispositivos móveis possuem a capacidade de troca e encaminhamento de mensagens através de uma rede Wireless Ad-Hoc, utilizando tecnologias sem fio, como o Bluetooth ou Wi-Fi.

Na maioria dos protocolos e algoritmos desenvolvidos a avaliação foi feita de forma si-mulada. Com o surgimento de arquiteturas e aplicações práticas, experimentos demonstraram diversas limitações (necessidade de pareamento e frequentes desconexões) das tecnologias uti-lizadas para as redes oportunistas (PIETILÄINEN; DIOT, 2009). Assim, a seguir, são apresentados trabalhos que discutem e contornam essas limitações.

(41)

3.2 Middlewares para Redes Oportunistas 21

3.2 Middlewares para Redes Oportunistas

Existem na literatura diversas soluções cuja meta é auxiliar no processo de desenvolvimento de aplicações voltadas para o ambiente social móvel (HU, 2015). Essas soluções fazem uso de diferentes arquiteturas, tecnologias de rede, entre outras características. Entretanto, algumas pesquisas recentes demonstram que são poucas as soluções voltadas para as redes oportunistas (WANG, 2014).

Segundo Wang (2014), para um middleware ser considerado de redes oportunistas, ele deve promover uma comunicação oportunista, possibilitando trocas de informações e conteúdos em possíveis encontros entre os dispositivos no cotidiano das pessoas. Sendo assim, nessa seção são apresentados apenas trabalhos cuja proposta é possibilitar uma troca de informações e con-teúdos para redes oportunistas.

3.2.1 Haggle

Projeto Haggle (SCOTT, 2006;SU, 2007) é a primeira arquitetura abrangente de redes autô-nomas e oportunistas, projetado para permitir a comunicação na presença de conectividade de rede intermitente, este sistema possibilita a troca de conteúdos entre os dispositivos em possí-veis encontros. A Figura 3.1 ilustra a arquitetura do middleware Haggle.

(42)

3.2 Middlewares para Redes Oportunistas 22

A arquitetura do middleware Haggle é internamente constituída por seis módulos. Cada módulo é responsável por um componente ou uma estrutura modular de dados (em itálico no diagrama) - esta arquitetura oferece flexibilidade, por exemplo, permitindo a muitos protocolos (por exemplo, SMTP (Simple Mail Transfer Protocol) e HTTP (Hypertext Transfer Protocol)) e conectividades (por exemplo, 802.11 e Bluetooth) serem instanciados de forma simultânea (SCOTT, 2006).

Todos os módulos têm APIs bem definidas, e cada módulo e seus componentes internos podem utilizar a API de qualquer outro módulo para se comunicar. Externamente, a API de camada de aplicação é um subconjunto de interfaces fornecidas pelos módulos individuais (SU, 2007).

Para estabelecer a conexão de rede sem fio e permitir a troca de conteúdos nos possíveis encontros entre os dispositivos móveis, o middleware Haggle utiliza as tecnologias de rede sem fio, Bluetooth ou Wi-Fi, possibilitando assim uma troca de dados descentralizada por ser ponto-a-ponto.

Haggle tem sido uma plataforma escolhida para uma variedade de aplicações baseadas em proximidade (por exemplo, comunicações em possíveis desastres, busca de amigos e localiza-ções, e compartilhamento de imagens entre dispositivos móveis).

3.2.2 MobiClique

O MobiClique (PIETILAINEN, 2009) é um software social móvel que visa dar às pessoas a possibilidade de se corresponderem e estenderem as suas redes sociais. Para alcançar esse objetivo o MobiClique foi desenvolvido de forma descentralizada e faz uso de uma rede ad hoc móvel onde a comunicação é feita via Bluetooth, de modo que conexões oportunísticas sejam criadas entre dispositivos vizinhos.

O MobiClique foi implementado usando C++ e C# e roda apenas na plataforma Windows Mobile. A comunicação oportunística é baseada na arquitetura de rede Haggle, onde os dados entre os dispositivos são trocados em possíveis encontros entre os dispositivos.

(43)

3.2 Middlewares para Redes Oportunistas 23

A Figura 3.2 ilustra a estrutura do middleware MobiClique. Quando uma conexão oportu-nística entre dois usuário é feita, se eles tem os mesmos amigos ou interesses, eles são alertados e a partir daí podem começar a troca de conteúdo, ou seja, links e outros objetos como atuali-zações de status.

Figura 3.2: Visão geral do sistema MobiClique. Fonte: (PIETILAINEN, 2009).

Uma das limitações encontradas nessa solução, refere-se a falta de escalabilidade na quan-tidade de conexões realizadas através do Bluetooth entre os dispositivos móveis. Os testes realizados pelos autores apresentaram um limite de apenas três conexões simultâneas por dis-positivo. Dessa forma, perde-se a oportunidade de criar ou manter mais laços de amizade si-multaneamente.

Esta solução de middleware também apresenta problemas em relação à privacidade das informações dos usuários. Uma vez que, caso o dispositivo móvel não possua conexão com a Internet, este dependerá de outro dispositivo ou computador pessoal que possua tal recurso para obter ou atualizar as informações do perfil do usuário.

3.2.3 Shair

(44)

3.2 Middlewares para Redes Oportunistas 24

A arquitetura de Shair, representada na Figura 3.3, é composta por três partes: Application Logic, Middleware Logic e Device Specific Logic. Todos os componentes de Shair possuem APIs e são acompanhadas de observadores adicionais usados para gerenciar as chamadas de retorno.

Figura 3.3: Arquitetura do middleware Shair. Fonte: (DUBOIS, 2013b).

A Application Logic contém a lógica necessária para comunicação da aplicação para o middleware, onde essa comunicação é possível através de um conjunto de APIs especializadas. AMiddleware Logiccontém toda a estrutura para gerenciamento (adicionar, consultar, notificar, atualizar, excluir, transferir) dos recursos do dispositivo, persistência de dados e tomadas de decisão; ADevice Specific Logiccontém a implementação de APIs de baixo nível para acessar redes (por exemplo, Wi-Fi, LTE, etc.) e dispositivos de armazenamento (por exemplo, memória flash, armazenamento em nuvem, etc.).

(45)

3.2 Middlewares para Redes Oportunistas 25

3.2.4 CAMEO

CAMEO (Context-aware middleware for Opportunistic Mobile Social Networks) ( ARNA-BOLDI; CONTI; DELMASTRO, 2014) é um middleware que foca no gerenciamento e na elaboração de informação baseada no contexto móvel para implementar um conjunto de serviços otimiza-dos para redes oportunistas e para apoiar no desenvolvimento otimizado de aplicativos sensíveis ao contexto.

Conforme é ilustrado na Figura 3.4, o middleware CAMEO é representado por dois fra-meworks, o LRM-Fw (Local Resource Management Framework) e o CA-Fw (Context-Aware Framework).

Figura 3.4: Arquitetura de software de CAMEO. Fonte: (ARNABOLDI; CONTI; DELMASTRO, 2014).

(46)

3.3 Frameworks para Comunicações Oportunistas 26

Para otimizar e facilitar o desenvolvimento de aplicações MSN oportunísticas orientadas a contextos sociais, o middleware CAMEO fornece uma API que permite a interação das apli-cações desenvolvidas com as suas funções internas. A comunicação entre o CAMEO e as aplicações está implementada em uma classe proxy em Java para Android. Além disso, a AIDL (Android Interface Definition Language) é usada para definir a interface de chamada de cada aplicação para notificações de eventos.

Esta solução de middleware também foi instalado em celulares para que turistas pudessem trocar suas experiências. Essa troca de informações entre os dispositivos foi possível através da utilização da tecnologia de rede sem fio Wi-Fi Ad-Hoc, que possibilitou a criação da rede comunicação (KHAN, 2013).

3.3 Frameworks para Comunicações Oportunistas

Diferentemente dos middlewares apresentados na Seção anterior, que criam uma camada de interoperabilidade entre as aplicações e o SO, um framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica (GREENFIELD; SHORT, 2003).

Segundo Wang (2014), existem na literatura algumas soluções de frameworks cuja meta é encontrar uma alternativa de rede para aplicações oportunistas utilizando a tecnologia de rede sem fio Wi-Fi modo infraestrutura. A seguir são apresentados e discutidos alguns desses fra-meworks.

3.3.1 WiFi-Opp

Para superar a falta e inoperância da tecnologia de rede sem fio Wi-Fi Ad-Hoc em dis-positivos móveis como smartphones e tablets, e possibilitar uma comunicação transparente, Trifunovic (2011) desenvolveu o framework WiFi-Opp, que possibilita os dispositivos móveis se comunicarem em possíveis encontros sem a necessidade de pareamento. O framework WiFi-Opp funciona como uma máquina de estados, e é basicamente dividido em dois modos de operação.

(47)

3.3 Frameworks para Comunicações Oportunistas 27

Figura 3.5: Diagrama de transição de estados do framework WiFi-Opp. Fonte: (TRIFUNOVIC,

2011).

O maior desafio encontrado por Trifunovic (2011) em seu trabalho foi o problema de dois dispositivos móveis sempre estarem no mesmo modo de operação (ponto de acesso ou cliente conectado ao ponto de acesso) durante sua execução, não conseguindo estabelecer uma rede de comunicação.

Para superar esse desafio, o trabalho WiFi-Opp define que todos os dispositivos móveis devem a todo instante gerar tempos randômicos para serem utilizados como o tempo de alter-nância entre o estado de ponto de acesso e o estado de escaneamento de redes Wi-Fi. Assim, a probabilidade de dois dispositivos estarem no mesmo estado é bem menor, já que o tempo para entrar nesse estado é gerado de forma aleatória e é diferente dos demais dispositivos móveis que estão no mesmo ambiente.

3.3.2 WLAN-Opp

(48)

3.3 Frameworks para Comunicações Oportunistas 28

Seguindo a ideia inicialmente proposta por (KÄRKKÄINEN; PITKÄNEN; OTT, 2013), WLAN-Opp aproveita qualquer tipo de rede Wi-Fi e tenta se conectar a ela. Diferentemente do trabalho WiFi-Opp que define apenas um tipo de rede para conexão, e esta rede é criada apenas por WiFi-Opp através de configurações definidas nos dispositivos móveis, não aproveitando, por exemplo, de pontos de acessos na cidade.

Segundo Trifunovic (2015), além de criar redes oportunistas como foi feito em WiFi-Opp, a utilização de pontos de acessos públicos em cidades podem aumentar a troca de dados e a capacidade de acesso a internet aos dispositivos a rede de dados.

Figura 3.6: Diagrama de transição de estados de WLAN-Opp. Fonte: (TRIFUNOVIC, 2015).

Conforme é ilustrado na Figura 3.6, WLAN-Opp define uma máquina de estados que rea-liza transições. A seguir é descrito o funcionamento de cada um dos três modos de operação definidos:

• Modo IDLE: O estado IDLE é o estado inicial de um nó de WLAN-Opp. O nó entra nesse estado quando deixa de ser um cliente (STA) ou deixa de ter o papel de ponto de acesso (AP). No estado IDLE, o nó verifica as redes disponíveis.

• Modo STA: Nós IDLE podem, eventualmente, encontrar uma rede disponível e se conec-tar a ela. Conectado a um AP, o dispositivo passa ao modo STA. No modo STA, um nó ainda pode procurar redes e muda para outra rede disponível.

(49)

3.3 Frameworks para Comunicações Oportunistas 29

3.3.3 LISOpp

No framework LISOpp (Lightweight self-organizing reconfiguration of opportunistic in-frastructure mode Wi-Fi networks) (DUBOIS, 2013a) também é proposto a utilização da ideia de (TRIFUNOVIC, 2011, 2015) para alternar o dispositivo no modo de operação de ponto de acesso e modo de operação escaneamento de redes Wi-Fi.

A diferença do LISOpp em relação aos demais frameworks está em sua melhor precisão das decisões para qual estado o dispositivo deve estar, tendo em conta também as frequências e tráfego de rede. Para isso, LISOpp utiliza protocolos e algoritmos para a criação de redes oportunistas nas proximidades.

Assim como em (TRIFUNOVIC, 2011) e (TRIFUNOVIC, 2015), em LISOpp é definido uma máquina de estados (representada na Figura 3.7) em que o dispositivo móvel se mantém cons-tantemente alternando entre os estados de operação de forma a criar e gerenciar as redes opor-tunistas.

(50)

3.3 Frameworks para Comunicações Oportunistas 30

Cada círculo na Figura 3.7 representa um estado específico, que pode ser passivo (um estado para dispositivos que não são clientes e nem pontos de acesso), cliente e ponto de acesso. Setas simples representam um ECA (Event Condition Action), regras para que se desloquem de um estado origem para um estado destino.

Uma regra de ECA somente é ativada quando ocorre um evento: nesse caso, se a condição se mantém, então a ação é executada. Flechas tracejadas representam eventos imprevisíveis que modificam o estado atual de forma determinística (que têm precedência sobre as outras transições).

Conforme é ilustrado na Figura 3.7, as transições são executadas de acordo com intervalos gerados a partir de uma distribuição exponencial. Quando duas transições executam ao mesmo tempo, apenas uma é executada de acordo com, por exemplo, a uma distribuição de probabili-dade uniforme aleatória.

3.3.4 MA-Fi

No framework MA-Fi (Mobile Ad-Hoc Wi-Fi) (WIRTZ, 2011) os autores criaram um pro-cesso de virtualização da interface de rede Wi-Fi nos dispositivos móveis, nesse caso compu-tadores pessoais (notebooks), para permitir que os dispositivos móveis simultaneamente assu-missem os papéis de ponto de acesso e escaneamento de redes Wi-Fi. A Figura 3.8 ilustra um exemplo de funcionamento dessa estrutura de comunicação.

(51)

3.4 Aplicações para Redes Tolerantes a Atrasos e Desconexões 31

Especificamente, no framework MA-Fi (representado na Figura 3.8) foi criado uma hierar-quia de dois níveis de nós roteadores (RONS) que executam funções ad-hoc e nós de estação (Stans) que estão conectados à rede ad-hoc através de um RON. A partir da perspectiva de um STAN, o RON se comporta como um ponto de acesso (Wi-Fi modo infraestrutura) comum que conecta o STAN para a totalidade da rede ad-hoc.

Como nesse processo criado cada dispositivo assume o papel de cliente e ponto e acesso, este tipo de estrutura permite que os dispositivos consigam enviar mensagens em vários saltos, possibilitando assim comunicação multihop. No entanto, a virtualização das interfaces de rede não é suportado em dispositivos móveis, comosmartphonesetablets.

3.4 Aplicações para Redes Tolerantes a Atrasos e

Descone-xões

Uma aplicação ou um programa informático, é uma coleção de instruções que descrevem uma tarefa a ser realizada por um computador (incluindo dispositivos em geral) (LLOYD, 2012). Normalmente uma aplicação é desenvolvida para uma determinada tarefa gerando resultados esperados.

Atualmente existem diversos programas que permitem a simulação de ambientes, por exem-plo, o ambiente de redes DTN (KAUR; MALHOTRA, 2015). Essas simulações podem garantir um menor custo da avaliação de projetos e até mesmo criar ambientes que são impossíveis por falta de tecnologia existente. Apesar desses benefícios, os resultados de experimentos feitos em am-bientes reais continuam tendo maior impacto que amam-bientes simulados (RUTTEN; JOOLINGEN; VEEN, 2012).

Segundo Câmara (2011), por razões técnicas (por exemplo, da mobilidade do dispositivo) ou fatores econômicos (por exemplo, não há infraestrutura fixa), a topologia da rede muda constantemente e caminhos fim-a-fim raramente estão disponíveis em DTNs. Quase todas as aplicações tradicionais não conseguem trabalhar em tais redes.

(52)

3.4 Aplicações para Redes Tolerantes a Atrasos e Desconexões 32

3.4.1 ZebraNet

O sistema ZebraNet (JUANG, 2002), conforme é ilustrado na Figura 3.9, consiste em coleiras de rastreamento transportadas por zebras no âmbito de reservas da África. A estrutura da coleira consiste de um GPS (Global Positioning System), uma memória flash, um receptor sem fios (contendo as tecnologias de rede sem fio Wi-Fi e Bluetooth) e um pequeno processador de baixo consumo.

Os colares operam como forma de conexão oportunista para transmitir dados de volta para os pesquisadores. Isso significa que quando duas zebras se encontram, as coleiras registram as informações de encontro e trocam os dados armazenados em suas memórias locais. Através de oportunidades de encontro intermitentes, informação é gravada e depois difundida a essas zebras que transportam coleiras de rastreamento.

Figura 3.9: Esquema básico de funcionamento do projeto ZebraNet. Fonte: adaptado de (BAZA CUÑADO, 2011).

Pesquisadores da vida selvagem semanalmente atravessam com um veículo a reserva de ani-mais da África, principalmente próximos aos locais onde normalmente ficam as zebras. Dentro do veículo é instalado uma estação base móvel (um computador com uma antena de alto alcance de transmissão). Ao se locomover pela reserva, a estação base do veículo se encontra com as zebras e recolhe todos os dados contidos em suas memórias.

(53)

3.4 Aplicações para Redes Tolerantes a Atrasos e Desconexões 33

3.4.2 DakNet

O sistema DakNet (PENTLAND; FLETCHER; HASSON, 2004) foi um projeto desenvolvido para criação de uma rede Ad-Hoc tolerante a atrasos e desconexões. Este sistema utiliza tecno-logias de redes sem fio para fornecer serviços de conectividade. O DakNet foi desenvolvido por pesquisadores MIT Media Lab1, e foi implantado com sucesso em partes remotas da Índia e do Camboja.

Conforme é ilustrado na Figura 3.10, o sistema DakNet consiste de quiosques com Wi-Fi habilitado em aldeias, e de MAPs (dispositivos portáteis de armazenamento). Quando um MAP se aproxima de um quiosque de uma aldeia, ele detecta automaticamente as conexões sem fio e, em seguida, realiza a transmissão e recebimento de dados com o quiosque. Quando um MAP entra no alcance de comunicação de um ponto de acesso à Internet, ele irá sincronizar automaticamente as mensagens dos quiosques das aldeias com à Internet.

Figura 3.10: Esquema geral da arquitetura do projeto DakNet. Fonte: (PENTLAND; FLETCHER; HASSON, 2004).

O sistema DakNet combina um meio físico de transporte (ônibus, motocicleta, ou mesmo uma bicicleta) com tecnologia de comunicação sem fio para fornecer (não em tempo real) ser-viços de acesso à Internet tolerantes ao atraso.

(54)

3.4 Aplicações para Redes Tolerantes a Atrasos e Desconexões 34

3.4.3 CarTel

Cartel (HULL, 2006) é um sistema de comunicação projetado para coletar, transmitir e vi-sualizar dados a partir de sensores localizados em unidades móveis, como carros.

Conforme e ilustrado na Figura 3.11, a arquitetura de CarTel consiste em um portal, um ICEDB (Intermittently Connected Database), e um CafNet (Carry-and-Forward of Network). O Portal hospeda aplicativos CarTel e funciona como ponto de controle e configuração para o sistema; O ICEDB é um processador de consulta contínuo tolerante à atraso; O CafNet é um sistema de rede tolerante à atraso.

Figura 3.11: Arquitetura de sistema do projeto CarTel. Fonte: (HULL, 2006).

(55)

3.4 Aplicações para Redes Tolerantes a Atrasos e Desconexões 35

3.4.4 BikeNet

BikeNet (EISENMAN, 2009) é um sistema móvel de mapeamento das experiências de ciclis-tas. Ele usa uma série de sensores embarcados em uma bicicleta para coletar dados sobre os passeios de ciclistas.

Conforme é ilustrado na Figura 3.12, BikeNet encontra pontos de acesso sem fio de forma oportunista para troca de conteúdos, e aproveita o canal de dados celular dos ciclistas para comunicação em tempo real, se necessário.

BikeNet também fornece um portal Web para cada ciclista acessar seus dados, e para permi-tir o compartilhamento de dados relacionados com o ciclismo (por exemplo, rotas de ciclismo favoritas) com grupos interessados em ciclismo, e dados de interesse mais geral (por exemplo, dados de poluição) com a comunidade em geral.

Figura 3.12: Arquitetura geral do projeto BikeNet. Fonte: (EISENMAN, 2009).

Os Sensores de BikeNet recolhem dados ambientais ao longo da rota e transmitem esses dados quando os sensores estão dentro do alcance de um SAP(Sensor Access Point) fixo ou através de um SAP móvel ao longo da rota.

Imagem

Figura 2.1: Visão geral dos princípios de Computação Pervasiva. Fonte: adaptado de ( SALES , 2010).
Figura 2.2: Comunicação dos dispositivos em uma rede oportunista. Fonte: adaptado de ( HU , 2015).
Figura 2.5: Arquitetura lógica de uma rede 802.11. Fonte: ( TELECO , 2015).
Figura 3.1: Visão geral da arquitetura de Haggle. Fonte: ( SU , 2007).
+7

Referências

Documentos relacionados

Os instrumentos legais e as orientações quanto aos procedimentos contábeis aplicados e essas entidades tem como referência o contido nas Resoluções do

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

Concordância botânica (C%) entre a lista de espécies arbóreas da Fazenda Água Azul I, no município de Breu Branco, PA., comercializadas pela Izabel Madeiras do Brasil Ltda (IBL), e

Assim, o Framework potencializa uma ação estratégica mais contextualizada, sobretudo com a dinamicidade do ambiente externo, mais atenta às demandas relativas à

idosos: uma revisão. Cadernos de Saúde Pública, Rio de Janeiro, v. Fatores associados com a incapacidade funcional em idosos do Município de Guatambu, Santa Catarina, Brasil.

Let E be a reflezive module, free on the punctured spectrum of R and such that S(E) is an integral domain of codimension three.. We plug all these conditions into

Se cruzarmos o resultado obtido no item 8 do formulário eletrônico (que trata sobre se há LGBTfobia na universidade) com o resultado do item 11, será possível constatar que 17,8%

O objetivo deste estudo foi de avaliar os efeitos alelopáticos de extratos aquosos de folhas de três espécies de plantas medicinais na germinação e desenvolvimento