• Sonuç bulunamadı

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.

Conforme é ilustrado na Figura 3.5, no framework WiFi-Opp é sugerido dois modos de operação: nós móveis analisam pontos de acesso no ambiente e se associam com um ponto de acesso. Se nenhum ponto de acesso for encontrado, o dispositivo torna-se um ponto de acesso para facilitar a comunicação para outros nós.

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

Enquanto que no trabalho WiFi-Opp é feita uma comparação do consumo de energia em relação a tecnologia Wi-Fi Ad-Hoc e definido o processo de alternância entre escaneamento e ponto de acesso, no trabalho WLAN-Opp (TRIFUNOVIC, 2015) é feito uma extensão de WiFi-

Opp, onde Trifunovic (2015) propõe um protocolo personalizado onde o framework tenta se conectar a qualquer rede Wi-Fi disponível no ambiente (rede de roteadores Wi-Fi de locais públicos e comércio geral).

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.

• Modo AP: Se um nó IDLE não encontrar redes para se conectar, ele torna-se um AP e cria uma rede por si só.

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.

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.

Figura 3.8: Exemplo da estrutura rede de comunicação criada pelo framework MA-Fi. Fonte: (WIRTZ, 2011).