Sessões de comunicações tolerantes a rupturas: uma camada de Socket para aplicações cientes de mobilidade na Internet

Detalhes bibliográficos
Ano de defesa: 2012
Autor(a) principal: Kimura, Bruno Yuji Lino
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-19022013-151520/
Resumo: Com a heterogeneidade de tecnologias de comunicação sem fio presentes na borda de redes de acesso, serviços providos na Internet podem ser acessados de forma quasi ubíqua através de dispositivos móveis ou portáteis. O acesso a esses serviços, contudo, está associado a atrasos e rupturas frequentes na comunicação devido a razões inerentes à mobilidade do dispositivo, como: i) perda de sinal em locais onde há pouca ou nenhuma cobertura de acesso móvel; ii) erros no quadro de dados durante a transmissão e, consequentemente, perdas de pacotes, que podem ser ocasionados por interferência no sinal ou enfraquecimento deste pelo distanciamento do dispositivo em relação à Estação Base; iii) mudanças de endereços IP durante transmissões em andamento causadas pela migração do dispositivo entre diferentes redes. Como consequência, aplicações falham com a ruptura de comunicações orientadas a conexão. Tratar a mobilidade de forma transparente à aplicação é um dos desafios da Computação Móvel e Ubíqua que vem sendo pesquisado ao longo da última década. Soluções foram propostas para operarem desde a Camada de Enlace à Aplicação. Muitas delas, entretanto, exigem modificações na pilha de protocolos TCP/IP e adição de infraestrutura específica de rede no suporte à comunicação fim-a-fim. Além de elevar o custo das etapas de implantação e manutenção, estratégias intrusivas e dependentes de infraestrutura adicional podem não apresentar desempenho satisfatório. Nesse contexto, propomos tratar a mobilidade no nível da própria aplicação através de Sessões de Comunicação que não falham com atrasos e desconexões. Operando somente nos nós-fim e de modo transparente às Camadas adjacentes de Aplicação e Transporte, as sessões não requerem infraestrutura adicional para intermediar ou controlar a comunicação entre pares, tampouco modificações em protocolos legados da pilha TCP/IP. O conceito de Sessões Tolerantes a Rupturas é implementado através de uma API de propósito geral em sistemas Linux que estende a interface de Sockets. A API é, na prática, uma camada transparente sobre o Socket que provê Ciência de Mobilidade à aplicação através de mecanismos para: acompanhar a localização de nós ao longo da duração de uma sessão; detectar rupturas nas transmissões causadas pela mobilidade do nó ou de seu par remoto; suspender e retomar sessões de forma eficiente, segura e confiável. Experimentos conduzidos em ambientes emulados e reais com equipamentos de uso comercial mostram a eficiência das sessões. Além de introduzir baixa degradação na vazão fim-a-fim, rupturas na transmissão podem ser detectadas em microssegundos e sessões suspensas são reabertas em milissegundos. Com um desempenho superior a solução de mobilidade geral da Camada IP, as sessões não necessitam de adaptações de software em equipamentos de rede