5.2.3 Avaliação
Com a descrição do funcionamento da aplicação Crowd Wi-Fi é possível avaliar a trans- parência que a aplicação criou para o usuário final. É possível ver que o usuário teve que selecionar a pasta a ser compartilhada na Figura 5.2(a) (processo necessário apenas na primeira execução da aplicação), selecionar o conteúdo desejado na Figura 5.2(b), e selecionar o serviço a executar o conteúdo na Figura 5.3(a) (processo necessário apenas na primeira execução do conteúdo). Assim, Net-Opp conseguiu evitar que o usuário tenha que interagir várias vezes com o dispositivo para a troca de conteúdos e escolha de um dispositivo para o envio.
5.3 Aplicação Black Box
Nesta Seção é apresentado e descrito a implementação, o funcionamento e uma avaliação do segundo exemplo de aplicação oportunista, uma aplicação móvel veicular, a qual foi desen- volvida sobre o middleware Net-Opp.
Esta aplicação realiza o gerenciamento de gravação de vídeos em partes e realiza a entrega tolerante a atrasos e desconexões desses vídeos do veículo para um servidor. Para isso, a apli- cação se comunica com o middleware Net-Opp para que ele realize a distribuição desses vídeos em uma rede oportunista entre veículos.
5.3.1 Organização e Implementação
A Figura 5.4 ilustra a organização dos componentes no veículo. Cada veículo é equipado de uma placa PandaBoardES4e uma câmera que realiza o monitoramento do motorista.
Figura 5.4: Organização dos componentes no veículo.
5.3 Aplicação Black Box 53
Para conseguir compartilhar os conteúdos de forma transparente, a aplicação Black Box foi desenvolvida sobre o middleware Net-Opp. O middleware e a aplicação foram desenvolvi- dos utilizando o SO Ubuntu 14.04, sendo utilizado uma versão totalmente customizada para a placa PandaBoardES, que satisfaça apenas as necessidades para o desenvolvimento da aplicação Black Box.
O middleware Net-Opp foi implementado para executar como um serviço para SO Ubuntu 14.04, sendo assim, ele executa todas as suas funções em segundo plano. Para isso, Net-Opp utiliza o CORBA (Common Object Request Broker Architecture) para estabelecer e simplificar a troca de dados entre o middleware e as aplicações. A aplicação Black Box se comunica com o middleware Net-Opp através da interface de comunicação definida na API do middleware.
Para a definição das interfaces da API do Net-Opp foi utilizado a IDL (Interface Definition Language). Essa linguagem é provida pelo C++ para a especificação de interfaces para o pro- tocolo IPC. A partir das definições de interfaces feitas em IDL, todo código necessário para a comunicação remota entre o cliente e o serviço remoto é gerado automaticamente.
A Figura 5.5 ilustra o diagrama de atividades do módulo Gerenciador de rede do mid- dleware Net-Opp. Neste diagrama podemos visualizar que nessa plataforma, o tempo para escanear redes é gerado de forma aleatória, já que em um veículo o nível de bateria não va- ria tanto quanto um smartphone, como é feito na plataforma Android, apresentado na Seção 5.2. Também é possível visualizar no diagrama de atividades que além de verificar se exis- tem clientes conectados quando o dispositivo se torna um ponto de acesso, foi adicionado uma verificação de arquivos sendo transmitidos entre os veículos.
5.3 Aplicação Black Box 54
O principal objetivo de verificar se ainda existem arquivos a serem transmitidos é para a geração de novas oportunidades de encontros entre os veículos. Como foi descrito na Seção 2.3.2.1, dois dispositivos podem se tornar um ponto de acesso ao mesmo tempo, e assim, duas redes podem ser estabelecidas em um mesmo local com vários dispositivos. Assim, com essa verificação, caso não exista arquivos a serem transmitidos, o dispositivo AP desabilita o ponto de acesso e faz com que todos os dispositivos pesquisem novas redes, de forma a encontrar novos arquivos e difundir os já existentes.
5.3.2 Funcionamento
Quando a aplicação Black Box é executada na inicialização do sistema operacional móvel da placa PandaBoardES instalada no veículo do usuário, é realizada uma operação bind junto ao middleware Net-Opp. Após o middleware Net-Opp e a aplicação Black Box estarem associados, a aplicação Black Box pode se comunicar com o middleware Net-Opp através de métodos da interface da API definida no middleware Net-Opp.
A aplicação Black Box executa diversas tarefas simultaneamente enquanto está em execu- ção, por exemplo, realiza a gravação de vídeos da câmera instalada no veículo, transmite os conteúdos através do middleware Net-Opp, e gerencia o espaço disponível em disco apagando vídeos antigos.
A aplicação é divida em duas Threads5, sendo que a primeira Thread realiza a gravação dos vídeos da câmera do veículo de tempo em tempo em uma pasta do sistema. O intervalo de tempo de gravação dos vídeos é definido em um arquivo de configuração, podendo assim, ser modificado a qualquer momento. O nome de identificação dos vídeos gravados na pasta do sistema é definido através do endereço MAC da placa juntamente com a data e hora atual do sistema, criando assim, uma identificação única.
A segunda Thread realiza o gerenciamento do espaço disponível em disco do sistema, ba- seado em um limite de espaço definido em um arquivo de configuração, sendo possível sua modificação. Para realizar esse gerenciamento, a aplicação Black Box verifica que se caso o limite máximo exceda, o vídeo mais antigo é removido da pasta. Esse processo é executado de minuto em minuto através da ferramenta contrab6, com o objetivo de sempre estar com um espaço disponível no sistema.
5Thread é um pequeno programa que trabalha como um subsistema, sendo uma forma de um processo se
autodividir em duas ou mais tarefas.
6Contrab é um serviço unix que permite que tarefas sejam executadas em modo "background"em intervalos
5.3 Aplicação Black Box 55
Quando o veículo está desligado ou em movimento o sistema permanece ativo, e sistemati- camente tenta trocar conteúdos através de contatos oportunistas. Quando um vídeo é totalmente armazenado em uma pasta do dispositivo, a aplicação Black Box requisita ao Net-Opp a inclusão desse novo conteúdo (vídeo) a rede oportunista. Quando uma rede é estabelecida entre veículos, conforme é ilustrado na Figura 5.6, Net-Opp automaticamente distribui os vídeos entre todos os dispositivos.
Figura 5.6: Troca de conteúdos em um possível contato oportunista em uma estrada.
Com o veículo em movimento o sistema pode continuar a difundir conteúdos através de contatos oportunistas, porém, quando um veículo se encontra com uma infraestrutura, conforme é ilustrado na Figura 5.7, o middleware Net-Opp entrega todos os conteúdos armazenados no dispositivo. Assim, a infraestrutura, com conexão a internet, trata de entregar esses conteúdos ao servidor destino.
5.3 Aplicação Black Box 56
5.3.3 Avaliação
Com a descrição do funcionamento da aplicação Black Box é possível avaliar a transpa- rência que a aplicação criou para o usuário. Com o sistema em funcionamento e o veículo em tráfego em vias, acontece uma difusão de mensagens entre os veículos, e assim, os conteúdos são distribuídos até que cheguem a uma infraestrutura instalada próxima a uma via, que trata de entregar o conteúdo a um servidor através da internet.
Esse tipo de sistema traz como principal vantagem a possibilidade de entrega de conteúdos em locais onde não há uma infraestrutura de rede celular, ou em regiões onde não há acesso a internet. Possibilitando assim, um maior acesso à informação à sociedade.