Tutorial: Bluetooth e Multimidia – Parte 1

On 12 de novembro de 2012 by admin

Introdução

O uso da comunicação sem fio na computação introduziu diversos desafios com relação ao desenvolvimento de aplicações voltadas para essa área. Este novo paradigma proporciona aos usuários uma grande mobilidade, onde estes têm acesso a diversos serviços, independente de sua localização ou mobilidade. Como a interoperabilidade entre estes diversos dispositivos móveis é um ponto importante para a comunicação, surgiram diversos padrões com o objetivo de permitir tal funcionalidade. Das diversas propostas de tecnologias de comunicação sem fio, o Bluetooth[1] tem recebido uma maior atenção.

Criado em 1998, por um consórcio das maiores empresas de telecomunicações e computação do mundo, o Bluetooth é uma proposta de tecnologia de baixo custo para conectividade sem fio. Inicialmente projetado como uma solução para substituição dos fios usados na comunicação de periféricos por comunicação via rádio, ele abrange a conexão entre dispositivos de um modo geral, com o objetivo de fornecer generalização na formação destas conexões, formando redes ad hoc.

Um dos cenários abordados neste artigo é a utilização do Bluetooth em ambientes multimídia, sendo esse seu principal atrativo comercial. Uma aplicação clássica de Multimídia consiste em transmissão de vídeo e som entre um servidor e uma aplicação cliente. Estas aplicações possuem certas peculiaridades que as diferenciam da maioria das aplicações, dentre as principais estão:

  • grande volume de dados
  • dependência temporal
  • sincronização entre dispositivos

Mas estas características são difíceis de serem alcançadas num ambiente de computação móvel, onde existem algumas restrições como um alto índice de perda de pacotes, baixa banda passante, alta latência de acesso aos dados, dispositivos com pouca  capacidade de processamento, armazenamento e energia. Enquanto a Multimídia é caracterizada pelo alto volume de dados e uso de recursos computacionais, o ambiente  sem fio possui uma baixa capacidade de comunicação de dados; entre outras carências  de recursos computacionais, como processamento e memória.

Protocolos de Camada de Enlace


O Bluetooth é um protocolo de comunicação da camada de enlace. No modelo OSI da ISO, ele se encontra no nível 2, onde são feitos os controles de acesso ao meio físico. O funcionamento de protocolos da camada de acesso ao meio em redes sem fio deve considerar alguns fatores que as diferenciam das redes fixas. Abaixo segue uma breve  descrição destes:

  • Operação em Half-duplex: quando um nodo transmite os dados, uma grande  fração da energia do sinal interfere com o sistema de recepção, efeito  denominada auto-interferência. Isto ocorre porque os níveis de energia para  transmissão e recepção diferem em diversas ordens de magnitude. A transmissão do sinal é tipicamente muito maior do que o sinal recebido, impossibilitando  efetuar a recepção do sinal no momento da transmissão. Dessa forma fica  impossível a aplicação do Full Duplex, caso a freqüência se recepção e envio  seja a mesma;
  • Canal variante no tempo: os sinais de rádio propagam de acordo com três  mecanismos: reflexão, difração e dispersão. O sinal recebido pelo nodo é a superposição de diferentes e atenuado do mesmo sinal transmitido. Como resultado, a potência do sinal recebido varia como função do tempo. Este fenômeno é chamado de propagação multipath. Para verificar o canal normalmente é usada uma técnica de handshaking que verifica a qualidade do link. Quando dois nodos querem comunicar entre si, eles trocam pequenas mensagens para testar o canal, e em caso de sucesso, o processo normal de comunicação ocorre;
  • Erros de rajada: Como conseqüência da variação do canal no tempo e da variação da energia do sinal, os erros surgem em rajadas devido ao distanciamento dos nodos, uma vez que a qualidade do canal entre eles decai. A perda de pacotes devido a rajadas de erros pode ser minimizada através do uso das seguintes técnicas:
  1. Pacotes pequenos
  2. Códigos FEC para correção de erros
  3. Métodos de retransmissão: Este último método é o mais usado, através de pacotes de acknowledgments usados para detectar os erros;
  4. Deteção do canal: A sensibilidade do canal de transmissão é uma função da posição do nodo em relação ao transmissor. Essa característica acarreta as seguintes dificuldades no momento da transmissão:
    • Nodos escondidos: É um nodo que se encontra mais próximo do nodo de  destino, mas fora do alcance do nodo de origem. Dessa forma esse terceiro elemento não percebe a transmissão que está ocorrendo e começa a transmitir, interferindo no processo;
    • Nodos expostos: Neste caso o nodo se encontra próximo do nodo transmissor, mas fora do alcance do destino. Assim o terceiro elemento detecta o inicio da transmissão, mas não efetua a sua transmissão, apesar de não atrapalhar na recepção do primeiro. Dessa forma a banda fica subutilizada;
    • Captura: A captura ocorre quando um receptor recebe claramente a transmissão simultânea de dois nodos, e a captura do sinal ocorre no que possuir maior potencia. Os protocolos de camada MAC devem ser ajustados para controlar essa percepção do sinal.

Tipos de protocolos MAC

Os protocolos da camada MAC para redes sem fio foram desenvolvidos visando diferentes tipos de aplicações e dispositivos. Desta forma, cada protocolo possui características próprias que levam em consideração diversos fatores das redes sem fio de maneira diferenciada. Uma primeira caracterização destes protocolos é descrita a seguir:

  • Acesso aleatório: neste caso os nodos fazem a contenção na hora de efetuar o acesso ao meio. Quando apenas um nodo tenta efetuar a transmissão, ela ocorre com sucesso. Mas no momento que mais de um tenta acessar o meio, ocorre uma colisão e os protocolos de acesso aleatório tentam resolver este caso com um conjunto de regras de utilização ordenada do meio;
  • Acesso garantido: neste caso os nodos acessam o meio de maneira ordenada, usualmente em round robin. Existem duas maneiras de efetuar essa transmissão. A primeira é através da configuração mestre-escravo, onde o mestre nomeia os nodos que irão transmitir, e esses retornam os dados necessários. A outra maneira é através de tokens, onde somente a estação que possui o token transmite;
  • Acesso híbrido: neste caso é feita uma mistura das duas técnicas. Um nodo efetua um processo de requisição para transmissão de dados. Este processo é feito de maneira aleatória. Em seguida, o outro analisa as capacidades necessárias vindas na requisição, retornando uma confirmação para iniciar a transmissão de dados. Neste momento, todos os recursos necessários para essa transmissão já foram reservados pelo transmissor, sendo liberados de acordo com padrões pré-determinados de Qualidade de Serviço ou mesmo de maneira aleatória.

O Bluetooth pode ser classificado de duas maneiras: durante o processo de conexão efetua o acesso aleatório, e quando esta é estabelecida efetua o acesso garantido, usando a política de mestre e escravo. Para avaliar o perfil de funcionamento de um protocolo de enlace de acordo com seu objetivo é necessário estabelecer algumas métricas. No caso do suporte a trafego multimídia, é necessário levar em conta:

  • Atraso: O atraso é definido como o tempo médio dispendido por um pacote na fila da camada MAC, a partir do momento entra nela até a transmissão completa. O suporte ao trafego multimídia em tempo real deve minimizar este atraso;
  • Throughput: Usado para medir a fração do canal usada para transmissão de dados. O objetivo do protocolo da camada MAC é maximizar a taxa de transferência enquanto minimiza o atraso do acesso, produzindo um valor de throughput aceitável para as aplicações Se o tamanho médio de uma mensagem é de P bits, o tempo de transmissão de cada pacote é T segundos e C b/s é a capacidade do canal, o throughput é dado por P/TC;
  • Fairness: O protocolo MAC deve apresentar condições de preferência de escolha de canal no momento que mais de um nodo decide transmitir sobre o canal, caso contrário ocorre o mau uso da banda passante. No caso do tráfego multimídia é suportado, ele deve apresentar uma política diferenciada de acesso;
  • Estabilidade: Devido ao overhead no protocolo, o sistema deve ser habilitado para controlar cargas menores que a capacidade de transmissão do canal, minimizando o desperdício de banda passante;
  • Robustez: O meio de comunicação sem fio é muito tendencioso a erros, e o sinal de transmissão é muito variante, de forma que um protocolo da camada MAC deve ter políticas de tratamento destes comportamentos instáveis;
  •  Consumo de energia: Como a maioria dos dispositivos sem fio possui uma bateria limitada, estes protocolos têm o suporte a diferentes métodos de economia de energia, sendo que eles podem influenciar nas características do tráfego gerado;

Assim, para o suporte a multimídia são criados mecanismos que tratam os pacotes de várias aplicações, a partir de restrições associadas ao atraso de transmissão. Duas políticas comuns nestes casos são as prioridades de acesso e o escalonamento. As prioridades de acesso provêem um serviço diferenciado permitindo que certos nodos tenham acesso aos serviços de rede com maior probabilidade do que outros. O escalonamento efetua o controle do acesso ao meio de maneira ordenada, alocando os recursos preferencialmente para os pacotes multimídia.

Bluetooth

O termo Bluetooth se refere a uma tecnologia que permite a comunicação de voz e dados através de um enlace de rádio de baixo alcance. Esta tecnologia foi, inicialmente, desenvolvida para a substituição dos cabos associados a dispositivos periféricos.

A especificação do Bluetooth [2] define um sistema completo a partir da camada de enlace até a camada de aplicação, sendo a pilha de protocolos geralmente implementada parcialmente em hardware e software. O seu núcleo é formado pela Baseband, o Link Manager Protocol (LMP), o Logical Link Control and Adaptation Protocol (L2CAP) e o Ser-vice Discovery Protocol (SDP). A Baseband e o Link Controller controlam o enlace de rádio-freqüência (RF) entre as unidades Bluetooth, permitindo a formação de mini-redes de comunicação conhecidas como piconets. O Link Manager Protocol (LMP) é responsável pela configuração do enlace estabelecido entre os dispositivos Bluetooth como os modos de economia de energia e os estados operacionais dos dispositivos dentro de uma mini-rede. O Logical Link Control and Adaptation Protocol (L2CAP) é responsável pela adaptação dos dados provenientes das camadas superiores da pilha de protocolos de forma que possam ser manipulados pelas camadas inferiores. A Figura 1 mostra como essas camadas estão relacionadas.

Figura 1 – Pilha de protocolos

A estrutura básica de comunicação no Bluetooth é chamada de piconet, e pode ser descrita como uma rede onde um nodo central, denominado mestre, se comunica ativamente com os outros nodos, chamados de escravos, formando uma topologia em estrela. Segundo a especificação, podemos ter no máximo oito elementos ativos dentro de uma piconet, incluindo o mestre. Os dispositivos Bluetooth operam na faixa de freqüência de 2.4 GHz. Esta banda é reservada para uso geral em aplicações industriais, científicas e médicas, e por essa razão recebeu o nome de ISM (Industrial,Scientific and Medical). Como esta faixa é utilizada por muitos tipos de aplicações é comum ocorrerem interferências durante as transmissões. Para evitar estas interferências é utilizada uma técnica de salto de freqüência (Frequency Hopping – FH). No Bluetooth, a taxa de saltos de freqüência é de 1600 hops/seg no modo conectado e 3200 hops/seg no modo de procura /sincronização. Este esquema completo é chamado de Frequency Hoppping Code Division Multiple Access, FHCDMA. Nos sistemas Bluetooth, a banda ISM é dividida em 73 “canais de salto”. Cada um desses canais é usado por 625 μs (um slot), ocorrendo posteriormente um salto para outro canal que é escolhido pseudo-aleatoriamente. Neste novo canal, a transmissão se dará por outros 625 μs, ocorrendo novamente um salto para outra freqüência, processo este que se repete até que a transmissão seja encerrada. Está técnica é conhecida como time-division duplex, TDD. Desta forma, a técnica de saltos de freqüência espalha o tráfego Bluetooth sobre toda a banda disponível, proporcionando ao sistema uma boa proteção contra interferências.

Tipos de Enlace

Dois tipos de enlace foram definidos pela especificação Bluetooth: assíncrono sem conexão Asynchronous Connectionless (ACL) e síncrono orientado à conexão Synchronous Connection Oriented (SCO). Diferentes pares de mestre-escravos na mesma piconet podem utilizar diferentes tipos de enlace, sendo que o tipo de enlace adotado pode ser alterado durante uma sessão.

Os enlaces ACL foram definidos para transmissão de dados em rajadas como, por exemplo, tráfego de pacotes. Eles suportam conexões simétricas e assimétricas, comutadas por pacotes e ponto-a-multiponto, sendo possível o envio de mensagens de broadcast. Pacotes multi-slot utilizam o enlace do tipo ACL e podem alcançar uma taxa de transmissão de 723.2 kbit/s em uma direção e 57,6 kbit/s na direção oposta se nenhuma correção de erro for utilizada.

Apenas um único enlace ACL pode existir entre dois dispositivos durante uma transmissão, embora um mestre possa ter inúmeros enlaces ACL não ativos com diferentes escravos. Sendo assim, o mestre nem sempre transmite informações aos escravos de uma maneira regular. A escolha de qual escravo receberá ou enviará a informação é de responsabilidade do mestre. Um escravo só tem o direito de enviar um pacote ACL após receber previamente um pacote do mestre endereçado a ele. Além disso, a unidade mestre controla a largura de banda do enlace ACL, assim como a simetria do tráfego, e decide quanto da largura de banda total cada escravo da piconet poderá utilizar.

Os enlaces SCO suportam conexões simétricas, comutadas por circuito e ponto- a-ponto sendo, portanto, utilizadas tipicamente para o tráfego de voz. Eles provêm uma largura de banda reservada para o canal de transmissão e troca de dados com periodicidade regular sob a forma de slots reservados.

Um mestre pode suportar até três enlaces SCO para um mesmo escravo ou para escravos diferentes, enquanto um escravo pode suportar até três enlaces SCO para um

mesmo mestre. Um mestre transmite pacotes SCO a um escravo em intervalos regulares, normalmente referenciado como o “intervalo SCO” e é contado em slots.

Gerenciamento de energia

Desenvolvida com o foco em economia de energia, a especificação do Bluetooth define três tipos diferentes de classes de radio, com valores variando de 1mW a 100mW. A titulo de comparação a potência típica de um outro padrão o IEEE802.11b que é em torno de 1000mW.

Outra característica importante do Bluetooth, é que a conexão entre o mestre e um escravo possui diversos modos de funcionamento que possibilitam o gerenciamento de energia. No modo active ocorre a comunicação direta, no modo sniff, o escravo desliga e periodicamente volta a escutar o slot de transmissão por alguma requisição do mestre, no hold o nodo escravo para de comunicar com o mestre por um tempo pré- determinado, voltando à comunicação após o fim deste e no modo parked, o nodo escravo abdica de seu endereço de comunicação ativa com o mestre, assumindo um endereço de parked e se desliga da piconet, mas periodicamente pode voltar a comunicar, sem precisar passar pelos procedimentos de inquiry e paging.

Scatternets

Um dos tipos de conexões previstos no Bluetooth é a conexão inter-piconet, denominada scatternet. A scatternet pode prover uma conectividade entre os dispositivos sobre distâncias ainda maiores que o alcance dos rádios. Os cenários e aplicações de uso do Bluetooth influenciam na formação das scatternets, pois elas configuram a utilização dos componentes inclusos na rede.

Como o Bluetooth mescla o TDD com o FHCDMA, a comunicação inter- piconet trás diversas peculiaridades como a necessidade de sincronização e descobrimento entre as piconets vizinhas. A comunicação inter-piconets é feita utilizando os modos de economia de energia, onde os elementos que pertencem a mais de uma piconet negociam os intervalos de conexão ativa entre as piconets. A formação das scatternet pode ser caracterizada de duas formas: como um evento controlado, onde uma aplicação, utilizando funcionalidades de diversas piconets conhecidas, cria uma scatternet para acessá-las, ou de maneira ad hoc, onde algum tipo de serviço é requerido e não se encontra em nenhuma piconet conhecida. O último caso requer duas funcionalidades: o roteamento, onde os nodos possuem a capacidade de encaminhamento

de pacotes entre diferentes piconets e a descoberta de serviços, onde é necessário verificar as capacidades e funcionalidades dos nodos comunicáveis entre as diferentes piconets. Um dos pontos principais da formação das scatternets são as topologias, uma vez que os dispositivos passam por procedimentos de descoberta e formação de links ponto-a-ponto de maneira explicita.

Em paralelo ao Bluetooth, o grupo de estudos do IEEE, o 802.15, estuda a criação de uma padronização para as Wireless Personal Area Networks, WPANs. Alguns cenários estão sendo avaliados, como a interoperação com o padrão 802.11, redes de grande capacidade de transmissão para trafego multimídia e redes de baixa capacidade energética, como as redes de sensores.

Profiles

Os chamados Profiles do Bluetooth definem o funcionamento de toda a pilha do protocolo de acordo com o dispositivo e a aplicação envolvida. Neste ponto são configurados e estabelecidos todos os perfis de funcionamento. No caso do trafego multimídia, essas configurações definem o uso dos pacotes e o tipo de enlace adequado para a aplicação. No caso de voz, um canal SCO é configurado, e a o som é amostrado e capturado dentro dos slots dedicados do SCO. No caso de transmissão de imagens, um canal ACL, com múltiplos slots é utilizado.

Na segunda parte deste tutorial serão abordados os profiles para uso de multimidia com a tecnologia Bluetooth.

 Bibliografia

[1] Jennifer Bray and Charles Sturman. Bluetoot Connect Without Cables. PrenticeHall, 1 edição, 1999.
[2] Bluetooth Forum. http://www.Bluetooth.com.
[3] IEEE 802.15, Wireless Personal Área Network, HTTP://WWW.IEEE802.ORG/15/, Agosto, 2002

[4] Oliveira, R A. R, Loureiro, A. A., Caracterização de Topologias Dinâmicas no Bluetooth, III Workshop de Comunicação Sem Fio, Recife, 1999.
[5] Oliveira, R A. R, Loureiro, A. A., Metodologia de Verificação Formal de um Protocolo de Comunicação sem fio: Bluetooth, submetido Proceedings of SBRC 2003, Maio.

[6] Couto, R.P., Oliveira, R.A. R., Loureiro, A. A., “Compressão Adaptativa de Arquivos HTML em Ambientes de Comunicação Sem Fio”, aceito Proceedings of SBRC 2003, Maio.

[7] Baatz, Simon, Matthias Frank, Carmen K ̈ uhl, Peter Martini, Christoph Scholz, Bluetooth Scatternets: An Enhanced Adaptive Scheduling Scheme, Proceedings of IEEE Infocom 2002, Junho

[8] Law, Ching, Amar K Mehtam Kai-Yeung Siu. A New Bluetooth Scatternet Formation Protocol. In Proceedings of the ACM Symposium on Mobile Ad Hoc Networking and Computing 2001, Long Beach, California, USA, October 2001.
[9] Projeto Smart-Its, www.inf.ethz.ch/vs/res/proj/smartits.html

[10] Priess, W. R.F.José, Pirmez,L. Carmo, L.F.R.C, Um Mecanismo de Escalonamento Parametrizável para Scatternets Bluetooth, Proceedings of SBRC 2003, Maio

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *