Escolar Documentos
Profissional Documentos
Cultura Documentos
Dissertao de Mestrado
O48p
2007
Resumo
Redes pessoais sem fio, WPANs (Wireless Personal Area Networks), so redes de curto alcance, em torno de
10 m, cujo centro o usurio. O cenrio de uso geral aquele onde dispositivos dentro da rea de cobertura
da WPAN comunicam-se diretamente entre si ou com recursos do mundo exterior (recursos fora da WPAN)
atravs de pontos de acesso que ofeream esse tipo de encaminhamento de dados.
WPANs vm ganhando ateno nos ltimos anos principalmente devido ao surgimento de novas tecnologias de transmisso sem fio que viabilizam este tipo de rede, particularmente Bluetooth. De fato, o desenvolvimento das WPANs confunde-se com o desenvolvimento do Bluetooth, que tem sido usado como ponto de
partida em diversos estudos e prottipos nesta rea. Sendo a mobilidade de usurios a principal caracterstica
das WPANs, um nmero de questes surge quando se pensa no desenvolvimento de aplicaes direcionadas
para esse novo paradigma. Uma das principais se refere gerncia de handoff. Handoff o processo pelo qual
conexes, rotas de dados, e estados associados proviso de algum servio so transferidos entre pontos de
acesso medida que o usurio se move entre suas reas de cobertura.
Apesar de seu alinhamento com o modelo de rede das WPANs, Bluetooth no possui facilidades para o
gerenciamento de handoffs alm de suas operaes padro para localizao e conexo com dispositivos prximos; inquiry e paging respectivamente. Adicionalmente, o trfego de dados dessas operaes pela interface
Bluetooth possui prioridade sobre o trfego de dados das aplicaes do usurio. Essa caracterstica possui
especial impacto sobre um tipo particular de aplicaes: aquelas que demandam transferncias de dados em
tempo-real, como aplicaes de streaming. Ao tornar o canal sem fio indisponvel para o trfego de dados, seja
pela temporria perda total de conexo com pontos de acesso durante handoffs ou por preempo da interface
para as operaes citadas, aplicaes de tempo-real tm seus desempenhos comprometidos devido quebra de
requisitos temporais associados s suas trocas de dados.
Nesse contexto, neste trabalho proposto um protocolo para gerncia de handoffs em WPANs Bluetooth.
O protocolo apresentado voltado para o uso com aplicaes que demandam transferncias de dados em
tempo-real, sendo demonstrada nesse trabalho sua adequao para esse tipo de aplicao. O protocolo apresentado foi projetado levando-se em considerao as limitaes dos potenciais dispositivos clientes (pequenos
dispositivos mveis com pouco poder de processamento, pouca memria, largura de banda restrita, etc). Assim, so transferidas para os pontos de acesso todas as atividades relativas s transies entre pontos de acesso
dos dispositivos mveis. O protocolo apresentado descarta ainda a necessidade de sinalizaes ou quaisquer
outras trocas de mensagens entre dispositivos mveis e pontos de acesso durante os handoffs. Por utilizar
apenas operaes padronizadas do Bluetooth, viabiliza-se seu uso junto com qualquer dispositivo programvel
equipado com interface Bluetooth de acordo com a especificao, sendo portanto dispensada a necessidade de,
por exemplo, modificar a pilha Bluetooth dos dispositivos.
ii
Abstract
Wireless personal area networks (WPANs), are a mobile short range wireless network, with typical range of
10 meters, where the user is the center. The general usage scenario is where devices within the WPANs range
communicate directly to each other or with resources from the external world (outside the WPAN) through
access points which offer routing service.
WPANs have been gaining attention over the last few years mainly due the emergence and popularization
of novel wireless communication technologies that enable this kind of network, notably Bluetooth. In fact, the
development of WPANs is closely related to the development of Bluetooth, which has been used as starting
point to several studies and prototypes in this field. As the user mobility is the main feature of WPANs,
a number of questions arise when developing applications targeted to this new paradigm. One of the most
important refers to the handoff management. Handoff is the process through which network connections,
routes, and states associated to services in course are seamlessly transferred between access points as the user
moves through their coverage areas.
Despite its alignment with the WPANs network model, Bluetooth has no facilities for aiding the management of handoffs besides its standard operations for querying nearby devices and connect to them, inquiry
and paging respectively. Moreover, the data traffic of these operations has priority over user applications data
traffic. This property has special impact for a particular kind of application: those that require real-time data
transfer, such as streaming applications. When the wireless channel is unavailable for data transfers, with temporary connection loss with access points during handoffs, or interface preemption for the inquiry and paging
operations, real-time applications have their performance compromised in consequence of violation of temporal
requirements.
In this work, a protocol for managing handoffs in Bluetooth-based WPANs is presented. The protocol is
focused on the use of applications that demand real-time data transfers. The adequacy of the protocol to this
kind of application is analyzed through a case study for an audio streaming application. The protocol is designed focusing on the limitations of potential client devices (small portable devices with limited computational
power, memory, bandwidth, battery life, etc). Therefore, all the handoff management operations are transferred
to access points. There is no need of signaling or any other kind of coordination or message exchange between
access points and mobile devices during handoffs. Due to the use of standardized Bluetooth operations, any
programmable device with a standard complaint Bluetooth interface can be used without changes on any underlying software layer, such as the Bluetooth stack. It is also presented a formal modelling and validation of
the protocol to ensure it behaves according to its specification. The formal model is important to understand
the protocol, unanbiguous documentation, and to easy the validation of changes and extension by automatic
simulation and proof of properties.
iii
Agradecimentos
Deus, por me dar a fora necessria para continuar em frente mesmo nos momentos de maior
dificuldade.
Aos meus pais, Evando e Zlia, por todos esforos para me proporcionar uma educao de qualidade. Agradeo a eles por todas as oportunidades dadas, pela compreenso por minhas ausncias
durante o mestrado, pelos ensinamentos, cobranas, incentivo, e confiana.
Aos meus orientadores, Angelo e Leandro, pelo incentivo, apoio, pelas discusses enriquecedoras, pela pacincia diante de minhas dificuldades, pela sabedoria da orientao, e pelos recursos
disponibilizados.
minha namorada, Ana Emlia, por todo seu apoio, suas palavras de incentivo, pela ajuda com
assuntos administrativos aps minha mudana de cidade, por sua compreenso nos momentos difceis
e por dividir comigo as conquistas e momentos felizes. Te agradeo muito por compreender minhas
ausncias durante este longo caminho.
Aos meus colegas de trabalho, e superiores em diferentes momentos, Rmulo, Yuri, e Juliana,
por compreender a minha dificuldade de conduzir um trabalho de mestrado distncia. Os agradeo
por todos os incentivos para que eu pudesse cumprir com minhas obrigaes acadmicas.
todos os amigos que, de alguma forma, me incentivaram ou me deram fora nos momentos
mais problemticos, especialmente os amigos de apartamento Aliandro, Danilo, e toda a turma do
projeto Mercosul na Dataprev.
s pessoas do laboratrio Embedded, em particular a turma da sala do projeto COMPOR,
Glauber, Fred, Milena, Hyggo, Emerson e Leandro Sales, que faziam daquela sala uma das mais
divertidas do laboratrio. Um agradecimento especial para Kyller, por sua valorosa ajuda com a
modelagem em CPN, e a Danilo e Marcus Morais, por todas as suas dicas e palpites sobre meus
problemas e dvidas sobre Bluetooth.
Ao grande guru Odilon, por todas as dicas e lies sobre C++. Dificilmente eu teria conseguido
implementar o prottipo usado nos testes sem a assistncia desse experiente programador e sbio
profissional.
s pessoas que compem a COPIN, em particular Aninha, pessoa espetacular, amiga, compreensiva, atenciosa e prestativa.
iv
Contedo
1
Introduo
1.1
1.2
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Estrutura da Dissertao . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fundamentao Terica
2.1
Computao Pervasiva . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
12
2.2.1
WPANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.3
Gerncia de Handoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.4
Aplicaes de Tempo-Real . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.4.1
Aplicaes de Streaming . . . . . . . . . . . . . . . . . . . . . . .
19
Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.5.1
25
2.5.2
A Operao de Inquiry . . . . . . . . . . . . . . . . . . . . . . . .
25
2.5.3
A Operao de Paging . . . . . . . . . . . . . . . . . . . . . . . .
27
2.5.4
29
2.5
3.2
33
Viso Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.1.1
Estados de um DM . . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.1.2
O Registro de um DM . . . . . . . . . . . . . . . . . . . . . . . .
35
37
CONTEDO
3.2.1
Monitorando DMs . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.2.2
40
3.3
48
3.4
Discusses Adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
Avaliao da Soluo
57
4.1
57
4.1.1
O Ambiente de Testes . . . . . . . . . . . . . . . . . . . . . . . .
58
4.1.2
Cenrios de Testes . . . . . . . . . . . . . . . . . . . . . . . . . .
62
Validao do Protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.2.1
Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.2.2
Validao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
4.2
vi
Consideraes Finais
75
5.1
Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
5.2
Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
5.2.1
78
5.2.2
79
5.2.3
79
5.2.4
80
90
B Aplicaes
96
96
97
B.3 VoIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
98
100
100
102
C.2.1
As Estaes Base . . . . . . . . . . . . . . . . . . . . . . . . . . .
104
CONTEDO
vii
C.2.2
Os Dispositivos Clientes . . . . . . . . . . . . . . . . . . . . . . .
105
C.2.3
As Aplicaes Finais . . . . . . . . . . . . . . . . . . . . . . . . .
106
C.2.4
Controle de Admisso . . . . . . . . . . . . . . . . . . . . . . . .
107
109
C.3.1
Entrando no Sistema . . . . . . . . . . . . . . . . . . . . . . . . .
109
C.3.2
Iniciando Transmisses . . . . . . . . . . . . . . . . . . . . . . . .
111
C.3.3
114
114
Lista de Figuras
2.1
Relacionamento entre a computao pervasiva e as reas de sistemas distribudos e computao mvel (adaptado do trabalho de Mahadev Satyanarayanan em [58]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.2
14
2.3
23
2.4
30
2.5
31
2.6
32
2.7
32
3.1
34
3.2
35
3.3
36
3.4
37
3.5
38
3.6
3.7
41
44
3.8
51
4.1
58
4.2
60
4.3
64
LISTA DE FIGURAS
ix
4.4
Dados sobre a chegada dos pacotes RTP aps ajuste dos parmetros do paging. 65
4.5
4.6
66
67
4.7
69
4.8
72
92
93
94
102
103
104
110
112
113
Lista de Tabelas
2.1
3.1
47
3.2
52
3.3
52
3.4
53
3.5
54
3.6
54
3.7
55
59
A.1 Resumo dos resultados dos testes com diferentes parmetros para o paging.
95
4.1
Lista de Algoritmos
3.1
39
3.2
48
108
109
xi
Captulo 1
Introduo
Em 1991 Mark Weiser exps ao mundo sua viso do que seria a computao no sculo
XXI [74], originalmente chamada de computao ubqua e hoje mais conhecida como computao pervasiva [57]. Weiser vislumbrou um mundo no qual diferentes tecnologias estariam embarcadas em objetos do dia a dia como roupas, eletrodomsticos e automveis,
criando assim ambientes inteligentes onde esses objetos seriam capazes de colaborar entre si
para oferecer servios personalizados s pessoas.
As idias de Weiser eram, entretanto, avanadas demais para a poca na qual foram
inicialmente concebidas, considerando a disponibilidade de hardware e software daquela
poca. Em 1991, os dispositivos computacionais disponveis eram grandes demais, caros
demais e com pouco poder de processamento e armazenamento, se comparados aos dispositivos disponveis atualmente. Estes eram, sem dvida, obstculos realizao da computao
pervasiva. Alm disso, outras restries tecnolgicas tais como a ausncia de redes sem fio,
baterias com baixa autonomia e ausncia de softwares adequados [25], tornavam impossvel
a concretizao das idias de Weiser.
Porm, os avanos tecnolgicos dos ltimos anos proporcionaram a miniaturizao
de componentes eletrnicos, possibilitando o desenvolvimento de dispositivos cada vez
menores, ao mesmo tempo que o poder dos processadores aumenta a cada nova gerao.
O espao de armazenamento dos computadores aumentou de poucos kilobytes em 1991 para
centenas de gigabytes, comuns hoje em dia. Baterias para dispositivos mveis tornaram-se
menores e com maior autonomia. Tecnologias para comunicao sem fio como Wi-Fi [72]
e Bluetooth [64] surgiram e amadureceram, enquanto novas tecnologias como ZigBee [79] e
1
2
WiBree [75], continuam a surgir. Essa evoluo veio acompanhada da gradual reduo dos
custos de desenvolvimento e produo em massa de dispositivos que utilizam essas tecnologias, tornando-os mais acessveis e cada vez mais presentes na sociedade. Graas a essas
novas tecnologias, dispositivos como sensores, telefones celulares, smartphones, notebooks,
Internet Tablets, e PDAs 1 , surgiram e/ou evoluram desde 1991. Esses dispositivos so hoje
as peas centrais para a concretizao da computao pervasiva.
Paralelamente ao desenvolvimento da computao pervasiva, um novo paradigma de
rede, focado na comunicao sem fio de curto alcance, vm atraindo pesquisadores e indstria nos ltimos anos. Redes pessoais sem fio [49], WPANs (Wireless Personal Area
Networks), so redes de curto alcance, em torno de 10 m, cujo centro o usurio. O
cenrio de uso geral aquele onde dispositivos dentro da rea de cobertura da WPAN possam comunicar-se diretamente entre si ou com recursos do mundo exterior (recursos de fora
da WPAN) atravs de dispositivos que ofeream esse encaminhamento de dados. Possveis
aplicaes para WPANs incluem monitorao mdica [29; 28], ambientes inteligentes [45;
12], e entretenimento [33].
A pesquisa em torno de WPANs intercala-se com o desenvolvimento do Bluetooth. De
fato, o Bluetooth tm sido o ponto de partida para diversos estudos e prottipos no contexto de WPANs [27; 26]. Originalmente desenvolvido para substituir cabos na troca de
dados de curto alcance entre dispositivos, o Bluetooth est cada vez mais presente em
dispositivos eletrnicos. Dentre as razes que o tornam, atualmente, a tecnologia ideal
para o desenvolvimento de WPANs pode-se citar seu baixo consumo de energia, baixo
preo, e presena de mercado. Sendo a mobilidade de usurios a principal caracterstica das WPANs, e dadas as caractersticas dos potenciais dispositivos clientes (pequenos
dispositivos mveis com pouca capacidade de processamento, pouca memria, largura
de banda restrita, etc), um nmero de dificuldades so identificadas quando se pensa no
desenvolvimento de aplicaes direcionadas para WPANs [49], como por exemplo [43;
44]:
dispositivos clientes, ainda, com diversas restries computacionais e de usabilidade;
adequao de protocolos e formatos de dados para uso com tais dispositivos;
1
3
ambientes com mudanas constantes na oferta de servios, sejam estas na disponibilidade de algum servio ou na sua qualidade;
intermitncias na conexo entre provedor e consumidor dos servios, devido movimentao dos dispositivos cliente, e a eventual necessidade de aplicaes poderem
lidar com esses perodos de queda de conexo;
para servios mais complexos, transferncia transparente de servios entre diferentes
pontos de acesso sem fio medida que usurios se movem atravs de suas reas de
cobertura (gerncia de handoff );
segurana e privacidade para dados trocados via conexes sem fio e para o acesso/uso
de informaes sobre o perfil dos usurios;
necessidade de adaptar contedo em tempo de execuo devido heterogeneidade de
dispositivos e/ou mudanas que possam impactar na qualidade do servio oferecido;
tirar proveito da alta disponibilidade de recursos das redes cabeadas, como conexes de
rede mais velozes, espao de armazenamento e capacidade computacional, em benefcio dos pequenos dispositivos mveis clientes.
Dispositivos mveis dentro da rea de cobertura da WPAN podem comunicar-se diretamente entre si ou com recursos do mundo exterior (recursos fora da WPAN) atravs de pontos de acesso que ofeream esse tipo de encaminhamento de dados. Para um uso contnuo
e transparente dos servios oferecidos pelos pontos de acesso, ou por provedores acessados
atravs destes, faz-se necessria a adequada gerncia de handoff. Handoff o processo pelo
qual conexes, rotas de dados, e estados associados proviso de algum servio so transferidos entre pontos de acesso medida que o usurio se move entre suas reas de cobertura [78;
63]. Gerenciar handoffs significa prover os meios pelos quais essas trocas de ponto de
acesso so tornadas transparentes para usurios finais e/ou aplicaes mais altas na pilha
de software.
Solues para gerenciamento de handoffs so desenvolvidas a partir de pilares como:
i) caractersticas da tecnologia de rede sem fio utilizada, e ii) caractersticas/requisitos das
aplicaes e casos de uso finais. Ou seja, o projeto de uma soluo para gerncia de handoffs pode ser mais ou menos rduo conforme a prpria tecnologia de rede sem fio oferea
ou no facilidades para o processo de handoff, por exemplo, suporte para medida precisa da
localizao de dispositivos ou reserva antecipada de recursos no novo ponto de acesso. O
projeto de uma soluo para gerenciamento de handoffs fortemente influenciado pelas caractersticas/requisitos das aplicaes finais do sistema. Aplicaes com alguma tolerncia
a eventuais perdas totais de conexo e/ou oscilaes na qualidade da conexo, como e-mail
ou navegao pela web, tendem a no acrescentar muita complexidade soluo final para
gerncia de handoffs. Por outro lado, aplicaes com fortes requisitos quanto disponibilidade de conexo e de sua qualidade trazem complexidade extra ao desenvolvimento da
soluo de handoff. Aplicaes de tempo-real, em especial aquelas que demandam a transferncia de dados via rede em tempo-real (vide Seo 2.4.1), so aplicaes com limites bem
definidos quanto aos intervalos para envios/chegada de dados. Perdas totais de conexo ou
grandes oscilaes na qualidade do canal sem fio tendem a comprometer a eficcia dessas
aplicaes por quebrar requisitos temporais associados s suas trocas de dados. Assim, protocolos bem sucedidos para um determinado cenrio (tecnologia de rede + aplicaes alvo),
podem provar-se inadequados em outros cenrios.
Neste trabalho, o interesse est na gerncia de handoffs entre dispositivos clientes e pontos de acesso em WPANs baseadas em Bluetooth. Mais precisamente, estamos interessados
num protocolo de handoff que viabilize o uso de aplicaes que demandam a troca de dados em tempo-real pelas interfaces Bluetooth. Ao mesmo tempo que esse tipo particular
de aplicao abre caminho para o desenvolvimento de uma srie de novas aplicaes em
ambientes inteligentes, tais quais as descritas no Apndice B, por outro lado aumenta-se
tambm os requisitos sobre a soluo final. Conforme discutido anteriormente, esse trade off
conseqncia das caractersticas desse tipo de aplicao de tempo-real, que demanda o envio/recepo de dados com alguma pontualidade, e so sensveis oscilaes em parmetros
como taxa de perda de dados ou dados fora de tempo.
1.1
Por ser a mobilidade de usurios e dispositivos a principal caracterstica das WPANs, aplicaes desenvolvidas para esse tipo de ambiente devem ser, desde seu projeto, preparadas
para lidar com problemas relacionados com a constante intermitncia na disponibilidade de
1.2 Objetivos
1.2
Objetivos
O objetivo deste trabalho propor um protocolo de handoff para WPANs baseadas em Bluetooth e demonstrar sua adequao para o uso com aplicaes que demandam a troca de dados
via rede em tempo-real. A soluo final deve levar em considerao a escassez de recursos
dos potenciais dispositivos clientes, evitando portanto sobrecarregar esses dispositivos com
tarefas relacionadas gerncia de handoffs. O protocolo deve, por fim, basear-se apenas em
operaes padronizadas pela especificao do Bluetooth, viabilizando assim seu uso com
1.3
Estrutura da Dissertao
Captulo 2
Fundamentao Terica
Neste captulo so introduzidos os principais temas relacionados ao trabalho apresentado
nesta dissertao. Na Seo 2.1 apresentada uma viso geral sobre a computao pervasiva, enquanto na Seo 2.2 so discutidas as principais tecnologias para transmisso sem
fio, com enfoque em WPANs. Os principais conceitos envolvendo handoffs e gerncia de
handoffs so discutidos na Seo 2.3. Aplicaes de tempo-real so introduzidas na Seo
2.4, juntamente com uma discusso sobre aplicaes de streaming devido ao seu particular
alinhamento com o trabalho aqui apresentado. Por fim, na Seo 2.5 feita uma introduo
sobre a tecnologia Bluetooth. So discutidas suas principais caractersticas, funcionamento
das camadas da pilha padro, e as operaes de inquiry e paging (principais funes no
contexto do trabalho apresentado), alm de resultados de experimentos reais que ilustram o
impacto dessas operaes sobre o fluxo de dados em tempo-real.
2.1
Computao Pervasiva
vasivos [58; 24]. Estes ambientes so caracterizados pela interao entre dispositivos embarcados, dispositivos mveis, infra-estrutura cabeada e usurios. A forma mais comum, e
mais simples, para usurios interagirem com ambientes inteligentes atravs de dispositivos
mveis pessoais, como PDAs ou smartphones, que podem carregar informaes sobre seus
perfis. Pequenos subconjuntos destas informaes podem ser passados, sem interveno humana, para provedores de servios em ambientes pervasivos assim que o usurio se aproxima
ou entra no ambiente. De posse dessas informaes, estes provedores podem ento adequar
seus servios aos desejos/necessidades de cada usurio [53]. Alternativamente, o prprio
ambiente pode j conhecer as preferncias dos seus usurios, e apenas consult-las quando a
presena de algum conhecido percebida atravs de sensores [59]. Independente de como
ambientes inteligentes tomam cincia dos perfis dos usurios ou como eles detectam suas
presenas, o princpio bsico da computao pervasiva tornar a computao invisvel
percepo humana, ou pelo menos torn-la pouco evidente. Em outras palavras, usurios
devem se beneficiar de decises tomadas por estes ambientes sem que para isso precisem ser
consultados a todo momento sobre o que eles gostariam, e como gostariam, que o ambiente
fizesse algo por eles [58].
A computao pervasiva possui um forte relacionamento ancestral com, pelo menos,
duas outra reas da computao [57]: sistemas distribudos e computao mvel. Vrios
dos problemas com os quais a computao pervasiva precisa lidar podem ser mapeados em
problemas j identificados e estudados nestas reas. Da rea de sistemas distribudos herdado todo o conhecimento para lidar, por exemplo, com comunicao remota, tolerncia a
falhas, alta disponibilidade de recursos, acesso remoto a informaes e segurana. Da computao mvel aproveitam-se, por exemplo, as experincias em acesso a redes cabeadas via
dispositivos mveis, sistemas projetados para economizar energia de baterias e localizao
de dispositivos mveis.
Entretanto, mesmo aproveitando solues desenvolvidas em anos de pesquisas nestas
reas, pesquisadores da rea de computao pervasiva ainda precisam resolver problemas
inerentes aos objetivos deste novo paradigma. Tornar-se uma tecnologia que desaparece
requer que a computao pervasiva se integre na vida das pessoas de tal maneira que estas
continuem desempenhando suas tarefas corriqueiras, desta vez assistidas por algum sistema
computacional, mas sem alterar a forma como as tarefas eram realizadas antes, sem auxlio
10
computacional. Ou seja, os sistemas computacionais se adaptam s pessoas, e no o contrrio. A partir do momento que movimento parte integral da vida cotidiana das pessoas,
tais sistemas precisam dar suporte mobilidade de seus usurios. Caso contrrio, usurios
vo tomar cincia da tecnologia assim que perceberem sua ausncia ao se moverem de um
cmodo para outro, por exemplo.
Dentre os novos problemas com os quais a computao pervasiva precisa lidar, podem
ser destacados [57]:
Escalabilidade
medida que ambientes inteligentes tornam-se mais sofisticados, a quantidade de
interao entre os dispositivos mveis dos usurios e os ambientes tende a aumentar.
Isto traz diversas implicaes para os projetos de tais sistemas; e.g., largura de banda
limitada, consumo de energia e capacidade de absoro de clientes. O problema tornase mais complicado quando considera-se um nmero cada vez maior de usurios nestes
ambientes.
Heterogeneidade
Dispositivos mveis modernos so extremamente diferentes entre si tanto em termos
de configurao quanto em termos de recursos. Eles podem ter telas de diferentes
tamanhos, com resolues e nmero de cores distintos. Estes dispositivos podem
ainda diferenciar-se pelo tipo de tecnologia sem fio usada, capacidade de processamento, quantidade de memria, mtodo de entrada, sistema operacional e plataforma
de hardware. Criar sistemas capazes de lidar com tamanha heterogeneidade de dispositivos clientes pode ser uma tarefa rdua a depender das caractersticas do servio
anunciado. Por exemplo, provedores de servios que necessitem instalar nos dispositivos mveis alguma aplicao cliente especfica, provavelmente tero que lidar com
diferentes verses da mesma aplicao cliente, como forma de lidar com a heterogeneidade dos clientes em potencial, o que pode tornar proibitiva a implantao de tal
servio [32].
Invisibilidade
No cenrio ideal vislumbrado por Weiser a computao se torna invisvel percepo
11
humana. Na prtica, atualmente, o que se buscam so sistemas que requerem um mnimo de interveno/distrao humana para realizarem seu trabalho. Humanos podem,
eventualmente, intervir em decises tomadas por algum sistema como forma de calibrar o sistema para uma determinada situao/condio. Entretanto o que se procura
so maneiras pouco intrusivas para a disponibilizao e ajuste de servios. Para atender
continuamente s expectativas das pessoas, ambientes e objetos devem ser capazes de
se auto-ajustarem sem a necessidade de exigirem a ateno das pessoas. Auto-ajustes
e auto-aprendizado podem ser implementados em diferentes nveis. Por exemplo, dispositivos com conexo sem fio podem se auto-configurar quando na presena de algum
ponto de acesso. Isso retira do usurio a tarefa maante de buscar pontos de acesso,
definir endereo de rede, mascaras de rede e gateways padro, por exemplo.
Cincia e Gerncia de Informaes sobre o Contexto
Outro requisito bsico da computao pervasiva a necessidade de ambientes inteligentes perceberem informaes contextuais e raciocinarem sobre elas de maneira
proativa. Esta capacidade de percepo, ou cincia de contexto [16], uma caracterstica intrnseca de ambientes inteligentes. Mas implementar esse tipo de percepo
traz uma sria de complicaes, tais como: localizao de dispositivos e usurios,
processamento de informaes em tempo-real, e mesclagem de dados vindos de diferentes fontes (e.g. sensores e perfis). Decises tomadas automaticamente em ambientes inteligentes devem ser precisas e baseadas em dados atuais, caso contrrio os
erros cometidos podem implicar na distrao dos usurios.
Na Figura 2.1 ilustrado o relacionamento entre a computao pervasiva e as reas de
sistemas distribudos e computao mvel. Na figura no expressa a relao temporal entre
as reas, mas sim ligaes lgicas. A computao pervasiva beneficiou-se de diversas experincias previamente adquiridas nos campos da computao mvel e sistemas distribudos. A
computao mvel, por sua vez, tambm aproveitou conhecimentos adquiridos pela pesquisa
em torno de sistemas distribudos. O que o smbolo multiplicador da figura quer dizer que
a complexidade das solues para os mesmos problemas aumenta medida que estas so
adaptadas para novos requisitos, que no existiam quando as solues foram originalmente
aplicadas.
Sistemas
Distribudos
12
Computao
Mvel
Computao
Pervasiva
Escalabilidade
Heterogeneidade
Invisibilidade
Cincia e Gerncia de Contexto
2.2
Existe atualmente uma grande diversidade na oferta de tecnologias para comunicao sem
fio, cada uma com suas prprias caractersticas e limitaes e voltadas para um nicho de
mercado especfico. Tecnologias sem fio vm sendo empregadas para diversas finalidades,
como conectar computadores, monitorao de ambientes, troca oportunstica de dados, e
telefonia, para citar algumas. Devido incessante demanda da sociedade por novos servios,
servios personalizados, melhor desempenho e melhor qualidade na comunicao sem fio,
a pesquisa em tecnologias para troca de dados sem fio atinge novos patamares a cada nova
tecnologia anunciada.
Como os diferentes usos de tecnologias sem fio podem sugerir (telefones sem fio, telefonia celular, redes metropolitanas sem fio, redes sem fio pessoais, etc), cada tecnologia
direcionada para conjuntos bem definidos de aplicaes. Adquirir e implantar uma infraestrutura GPRS 1 , por exemplo, com certeza no a melhor soluo para o usurio domstico
que quer compartilhar acesso Internet entre os computadores de sua residncia. Portanto,
desde seu projeto, cada nova tecnologia foca as necessidades e caractersticas dos cenrios
de uso finais, como aplicaes, ambiente, e requisitos no funcionais. Durante essa fase de
projeto, provavelmente o primeiro aspecto a ser levado em considerao na especificao de
1
13
uma nova tecnologia de rede sua abrangncia. Nesse contexto, as principais tecnologias
para transmisso sem fio podem ser classificadas em trs categorias [72]: redes de longo alcance sem fio (Cellular Systems); redes locais sem fio (WLANs 2 ); e redes pessoais sem fio
(WPANs 3 ). Redes celulares so bem conhecidas do pblico desde o incio de sua popularizao na dcada de 80. Elas lidam, essencialmente, com o trfego de voz e so direcionadas
para telefonia [22]. Antenas de redes celulares podem atender clientes que estejam num raio
de dezenas de quilmetros. WLANs podem ser vistas como extenses das j conhecidas
redes locais, LANs, onde a troca de informaes entre um subconjunto dos nodos da rede
acontece via ondas de rdio, ao invs de cabos. Comumente, o alcance de redes WLAN
gira em torno das dezenas de metros para ambientes internos e centenas de metros para ambientes externos. Por fim, por estarem no foco deste trabalho, as WPANs sero discutidas
separadamente a seguir, na Seo 2.2.1.
2.2.1
WPANs
Redes pessoais sem fio, WPANs [50], so um conceito razoavelmente recente. Apesar de, por
exemplo, o IEEE trabalhar na normatizao de redes WPAN desde 1999 [72], apenas mais
recentemente as discusses sobre esse tema tomaram fora. O principal fator motivador para
essa quebra de inrcia foi a popularizao do Bluetooth em diferentes dispositivos, desde
simples celulares computadores de mesa. Alm disso, o modelo de rede das WPANs
tambm possui uma boa relao com requisitos da computao pervasiva, que tambm vm
atraindo atenes e ganhando espao nos ltimos anos [58].
Redes WPAN so redes de abrangncias ainda menores que redes WLAN, e tm no
usurio o ponto central de uma rea de cobertura de poucos metros (tambm conhecida
como POS, ou Personal Operating Space). medida que o usurio se move, sua rede
WPAN move-se junto com ele (Figura 2.2). A idia geral em torno de WPANs que algum
dispositivo mvel carregado pelo usurio estabelea e desfaa conexes com outros dispositivos dentro de sua POS medida que o usurio se move para mais prximo ou mais distante
destes aparelhos. Tais dispositivos podem incluir tanto dispositivos que estejam fixos no ambiente, como impressoras, cmeras, e computadores de mesa, quanto outros dispositivos que
2
3
14
~10m
~10m
15
Facilidade de uso: Conectar dois dispositivos via Bluetooth precisa ser to simples quando
ligar as extremidades de um mesmo cabo entre eles.
Baixo consumo de energia: Desde seu projeto Bluetooth foi direcionado para uso com dispositivos mveis que possuem autonomia limitada devido o uso de baterias. Assim,
um objetivo fixo no projeto e evoluo de Bluetooth manter baixo o consumo de
energia.
Hardware leve e pequeno: Como Bluetooth foi desde o inicio projetado para ser incorporado em dispositivos mveis, seu hardware foi pensado para ser leve e pequeno. Desta
forma, dificilmente o desenho de algum produto precisar ser alterado devido a incorporao de Bluetooth.
Confiana na transmisso de dados: A camada de enlace do Bluetooth garante entrega
confivel de dados. Conexes sem fio Bluetooth precisam ser to confiveis quanto
os cabos que elas substituem.
Apesar de sua grande presena no mercado, Bluetooth no a nica opo existente
para implementar WPANs. Outras alternativas com fatias menores do mercado de WPANs,
ou ainda em desenvolvimento, incluem ZigBee [79] e WirelessUSB [77]. Mesmo que direcionadas para o mercado de redes sem fio de curto alcance, tanto ZigBee quanto WirelessUSB destacam-se por possuirem caractersticas significativamente mais sofisticadas que
Bluetooth. As principais caractersticas dessas tecnologias so enumeradas na Tabela 2.1.
Freqncia
Largura
Economia
de
de Ener-
Conexes
gia a
Si-
Banda
Mxima
Alcance
Mximo
multneas
Bluetooth 1.1/1.2
2.4 GHz
1 Mbps
??
10 cm - 100 m
Bluetooth 2.0/2.1
2.4 GHz
3 Mbps
??
10 cm - 100 m
ZigBee
2.4 GHz
259 Kbps
?????
at 30 m
65.535
WirelessUSB
480 Mbps
??
at 50 m
127
Tabela 2.1: Resumo das principais caractersticas das principais tecnologias para WPANs.
16
ZigBee, por exemplo, sobressai-se pelo seu consumo de energia extremamente baixo em
relao ao Bluetooth, que por sua vez j uma tecnologia com baixo consumo de energia.
Em compensao possui largura de banda bem inferior largura de banda do Bluetooth.
WirelessUSB, por outro lado, possui ampla largura de banda enquanto mantm consumo
de energia prximo ao consumo do Bluetooth. Em resposta a estes avanos de tecnologias
similares, o Bluetooth SIG
como WirelessUSB, usar a especificao UWB 7 [14] como sua camada de acesso ao meio,
obtendo assim o mesmo desempenho que WirelessUSB. Alm disso, j existem trabalhos
em andamento para a integrao entre Bluetooth e WiBree
o consumo de energia, e largura de banda do Bluetooth para nveis prximos aos nveis
praticados pelo ZigBee.
2.3
Gerncia de Handoff
Bluetooth Special Interest Group - Consrcio de fabricantes responsveis pela especificao do Bluetooth.
Ultra Wide Band. Especificao de camada fsica para comunicao de alta velocidade em curtas distn-
cias.
8
Tecnologia complementar ao Bluetooth que especifica um modo ultra econmico de consumo de energia
comparvel ao consumo do ZigBee.
17
soft handoffs, tambm conhecidos como conectar e depois quebrar, conexes simultneas
com os dois pontos de acesso so mantidas e usadas simultaneamente durante a troca. A
probabilidade de perda de dados em hard handoffs maior que em soft handoffs devido
temporria ausncia total de conexo.
O projeto de infra-estruturas que suportem soft handoffs depende do uso de interfaces
de rede que suportem mltiplas conexes simultneas ou da disponibilidade de dispositivos
multimodais 9 [55]. O impacto da perda temporria de conexo com a rede depende do tipo
de aplicao usada nos dispositivos mveis. Aplicaes onde o atraso nas respostas de requisies no compromete seu funcionamento: e.g., navegao pela Internet, ou aplicaes
com uso espordico da conexo, como e-mail, so tolerantes a perdas temporrias de acesso
rede, desde que em seu projeto seu comportamento tenha sido configurado para situaes
assim (e.g., aguardar algum intervalo antes de tentar acessar a rede novamente ao invs de,
por exemplo, acusar algum erro para o usurio e entrar num modo off line). Por outro lado,
so comuns atualmente aplicaes onde a menor interrupo no trfego de dados pode prejudicar mais seriamente seu desempenho; e.g., aplicaes de streaming (vide Seo 2.4.1).
Outra grande classe para classificao de handoffs diz respeito s tecnologias de rede
usadas nos pontos de acesso de origem e de destino (handoffs horizontais x handoffs verticais). Handoffs onde a mesma tecnologia de rede sem fio usada nos dois pontos de acesso
so ditos horizontais: por exemplo, conexo com os dois pontos de acesso via Bluetooth.
Caso as tecnologias de rede envolvidas sejam diferentes, como ponto de acesso de origem
usando Bluetooth e de destino usando Wi-Fi, ento o handoff dito vertical. Classificaes
para Handoffs incluem ainda handoffs controlados pelo ponto de acesso ou pelo dispositivo
mvel (mobile controlled x network controlled) [63], e handoff intra-clula, inter-clula, e
inter-regies (micromobility x macromobility x global mobility) [56].
Existem atualmente diversas abordagens e estratgias para gerenciamento de handoff em
redes de comunicao de dados. Diferentes trabalhos propem suas prprias infra-estruturas,
desenvolvidas a partir de suposies distintas sobre seus cenrios de uso finais. Algumas
dessas suposies incluem tipo de tecnologia de rede sem fio [13; 52], tipo de aplicao [5;
52], tipo de dispositivo [42; 3], tipo de protocolo usado pelas aplicaes [66; 62], e dife9
Dispositivos equipados com diversas tecnologias sem fio, e.g. GPRS, Bluetooth, e WiFi, e com capacidade
18
rentes padres de movimento [78], dentre outros. A especializao dessas solues de gerenciamento de handoff para cenrios de uso particulares dificulta, ou mesmo inviabiliza, sua
aplicao direta em outros cenrios.
A gerncia de handoff, entretanto, um problema mais amplo, envolvendo diversas camadas de software [63]. A transferncia de conexo fsica entre pontos de acesso apenas
o inicio de uma srie de procedimentos que visam manter virtualmente constante o uso de
algum servio. Aplicaes, ou camadas intermedirias, em algum momento precisam lidar
com os eventos de estabelecimento e/ou perda de conexes com pontos de acesso. Nesse
contexto, existem diversas propostas para executar handoffs no contexto da troca de dados
entre pares numa rede. Estas propostas operam em diferentes camadas da pilha de protocolos de rede. A maioria delas so baseadas em modificaes do Mobile IP [48] e, portanto,
implementadas na camada de rede [40; 47]. Outras propostas para gerncia de handoffs no
nvel de troca de dados incluem estratgias baseadas em SIP 10 [54] (operando na camada de
aplicao) [4; 62] ou em SCTP 11 [67] (operando na camada de transporte) [36].
2.4
Aplicaes de Tempo-Real
12
de um automvel. O
19
chegada dessa resposta. Em sistemas hard real-time, os prazos devem ser cumpridos, sob
pena de um resultado inaceitvel ocorrer. Em sistemas soft real-time, normalmente os prazos
devem ser satisfeitos, mas se um certo nmero de prazos for perdido o sistema ainda pode
ser considerado operacionalmente aceitvel.
Neste trabalho o foco est sobre aplicaes soft real-time cujos requisitos temporais estejam sobre a transmisso e/ou recepo de dados via rede, mais especificamente, pela interface Bluetooth de dispositivos mveis. Provavelmente a classe de aplicaes que melhor
se alinha com o trabalho aqui apresentado a classe de aplicaes baseadas em streaming,
descritas a seguir.
2.4.1
Aplicaes de Streaming
Aplicaes de streaming so aquelas onde contedo, em geral multimdia (udio e/ou vdeo),
transferido e reproduzido em tempo-real entre provedores e consumidores numa rede [34].
Diferente do paradigma tradicional, onde arquivos precisam ser baixados completamente
para os computadores dos clientes para ento serem reproduzidos, contedo multimdia distribudo via streaming reproduzido ao mesmo tempo em que baixado.
Aplicaes multimdia que lidam com a reproduo de udio e vdeo, por exemplo, so
um tipo de aplicao de tempo-real [38]. Como tal, possuem algumas propriedades temporais que precisam ser respeitadas durante sua execuo para que seu papel seja cumprido de
forma adequada. Em aplicaes multimdia como reprodutores de udio e/ou vdeo, a restrio est em manter constante, dentro do software, o fluxo entre o mdulo responsvel por
ler o arquivo com os dados, mdulos intermedirios que decodificam atravs de CODECs
13
a informao lida do arquivo, e o mdulo final, responsvel por desenhar algo na tela ou
tocar algum som nos auto-falantes, por exemplo. Manter o fluxo constante significa controlar a quantidade de informao lida/decodificada por intervalo de tempo. Os dados do
arquivo precisam ser lidos e decodificados na mesma velocidade em que so reproduzidos.
Informao pode ser perdida caso a leitura/decodificao acontea mais rpido que o tempo
necessrio para reproduzi-la (buffer overflow). Perda de informao, nesse contexto, torna-se
13
COders/DECoders. Softwares que implementam diferentes algoritmos para comprimir contedo multim-
dia. CODECs podem implementar algoritmos loss-less, onde nenhum dado perdido durante a compresso,
ou lossy, onde dados so perdidos durante a compresso.
20
perceptvel para o usurio final na forma de rudos no udio sendo tocado ou quadros incompletos e/ou congelamentos no vdeo. De forma anloga, paradas temporrias na reproduo
do udio/vdeo so esperadas caso a taxa de leitura/decodificao seja mais lenta que a taxa
de reproduo (buffer underflow).
Conceber uma aplicao de streaming significa, essencialmente, quebrar a nica aplicao que existia anteriormente para a reproduo de arquivos multimdia locais em duas
aplicaes: uma servidora e outra cliente. Alm disso, novos mdulos precisam ser desenvolvidos e incorporados s cadeias de mdulos das duas aplicaes. Estes novos mdulos
devem prover as funcionalidades de empacotar dados do udio/vdeo lido para envio via
rede e, na outra ponta, ler esses dados a partir da rede e desempacot-los, para ento serem
entregues ao mdulo responsvel pela sua reproduo.
Para o empacotamento dos dados para envio via rede, necessrio dividir a informao
a ser transferida entre diversos pacotes do protocolo de transporte escolhido. Considerado
apenas o uso de redes TCP/IP, as opes atuais de protocolo de transporte so TCP e UDP.
Ambos os protocolos possuem virtudes e problemas que devem ser levados em conta no
momento de sua escolha. A caracterstica comum aos dois que nenhum deles foi projetado
para trabalhar com aplicaes de streaming 14 .
TCP implementa transmisso confivel de dados, garantindo a entrega dos dados na sua
ordem correta. Para cada pacote TCP enviado, o remetente aguarda confirmao de recebimento. Eventuais pacotes perdidos (no confirmados dentro do perodo estipulado) so
re-enviados antes que o prximo pacote da fila de envio seja enviado. Em cada tentativa
frustrada de enviar algum pacote, o TCP aguarda um tempo aleatrio crescente antes de
fazer a prxima tentativa [46]. UDP, por outro lado, implementa entrega no confivel de
dados, o que traz pouca sobrecarga transmisso de dados. Entretanto, no existem garantias nem de que os dados enviados sero, em algum momento, recebidos do outro lado, nem
que esses dados vo chegar na mesma ordem em que foram enviados. Em aplicaes de
streaming, a eventual perda de dados prefervel completa parada da renderizao dos
dados devido atraso no envio de grandes quantidades de informao. Ou seja, se por um
14
Novos protocolos de transporte para a pilha TCP/IP, particularmente DCCP (Datagram Congestion Control
Protocol) e SCTP (Stream Control Transmission Protocol), vm sendo desenvolvidos para atender a demanda
crescente por esse tipo de aplicao.
21
lado a eventual perda de pacotes UDP pode provocar rudos ou quadros incompletos, por
outro lado o atraso de pacotes TCP implica no apenas o atraso de pacotes isolados, mas o
atraso no envio de todos os dados que seguem aquele pacote. Devido s caractersticas dos
dois protocolos, mais as caractersticas de aplicaes de streaming, o UDP freqentemente
escolhido, dentro da pilha TCP/IP, como o protocolo de transporte da aplicao.
Em resumo, numa aplicao de streaming de contedo multimdia, as mesmas restries temporais das aplicaes multimdia convencionais continuam valendo, mas com o
acrscimo de se lidar com a transmisso de dados via redes de melhor esforo
15
, como
Redes baseadas em datagramas e em servios sem conexo onde no existem garantias quanto entrega
de dados.
2.5 Bluetooth
22
cada participante envia periodicamente para os demais participantes relatrios RTCP sobre
as atuais condies de sua recepo do stream. Assim, cada participante de uma sesso RTP
tm informaes suficientes para inferir mtricas de qualidade sobre o trfego de streams
entre o servidor e qualquer participante da sesso. Em geral, o maior interessado nessas
informaes o prprio servidor, que pode us-las para decidir pela reduo da qualidade
do stream em caso congestionamento na rede (revelado pela taxa de perdas relatadas pelos
membros da sesso).
O ltimo protocolo da sute, RTSP [61] (Real-Time Streaming Protocol), pode ser usado
pelos clientes de sesses RTP para controlar o envio de dados. Para isso, o RTSP oferece
funcionalidade semelhante de um controle remoto, onde o cliente pode comandar o incio de uma transmisso, par-la temporariamente e reiniciar em seguida. Freqentemente,
outros protocolos so usados em conjunto com a sute RTP para a implantao de servios
de streaming mais sofisticados. Por exemplo, o SDP [23] (Session Description Protocol)
usado para descrever sesses RTP antes que o cliente inicie o streaming, e.g. descrevendo
CODECs usados, taxas de transmisso das diferentes trilhas, endereos e portas dos servidores, etc. O SIP [54] tambm encontra seu espao nesta combinao de tecnologias. Projetado para o estabelecimento, modificao, e finalizao de sesses multimdia via Internet,
o SIP pode ser usado em substituio ao RTSP. Entretanto, o uso mais comum do SIP em
combinao com os protocolos da sute RTP, para o convite de novos usurios para sesses
RTP previamente existentes e para gerncia de mobilidade de aplicaes e usurios.
2.5
Bluetooth
Bluetooth, tambm referenciado como padro 802.15.1 do IEEE [2], um padro de tecnologia de rede sem fio desenvolvida para servir como alternativa aos cabos usados para troca
de dados entre dispositivos prximos [7]. Suas caractersticas chave so sua robustez para a
transmisso de dados em canais sem fio, pouca complexidade, baixo custo e baixo consumo
de energia.
O Bluetooth opera na faixa de freqncias no licenciadas ISM 16 que vai de 2.400 MHz
a 2.483,5 MHz na maioria dos pases. Para evitar interferncias com dispositivos prximos
16
2.5 Bluetooth
23
17
usado com
RFCOMM
l2cap
HCI
LMP
Baseband
Rdio
2.5 Bluetooth
24
e seleo de pacotes de camada fsica de acordo com as condies do canal sem fio. Existem
definidos diversos tipos de pacotes de camada fsica, onde, para cada tipo, variam parmetros
como carga til suportada, tamanho dos cabealhos, e carga extra de dados para correo de
erros. Alm dos canais fsicos de comunicao que so iniciados e mantidos pela camada
baseband quando usurios solicitam conexo com outros dispositivos, a camada baseband
gerencia tambm por padro cinco outros canais padronizados. Esses canais so usados para,
por exemplo, busca de dispositivos prximos e estabelecimento de conexes.
A organizao bsica para a conexo de dispositivos Bluetooth so as piconets. Uma
piconet um grupo de dispositivos que compartilham um mesmo canal fsico. Em Bluetooth
um canal fsico caracterizado pelas freqncias, e o padro de troca delas, utilizadas para
comunicao entre dispositivos. Cada piconet com m dispositivos possui necessariamente
um dispositivo mestre e m 1 escravos. Piconets podem ter at sete escravos conectados ao
mesmo mestre ao mesmo tempo. Dispositivos numa piconet podem comunicar-se entre si
atravs de conexes ACL ou SCO, intermediadas pelo mestre. O acesso ao canal fsico por
cada escravo coordenado pelo mestre, que de tempos em tempos libera o uso do canal para
cada escravo. Na estrutura de protocolos do Bluetooth, a camada LMP
19
a responsvel
20
encaixados nas cargas teis dos pacotes de camada fsica. PDUs l2cap podem ser de at
64 Kb enquanto pacotes de camada fsica da verso 2.0 do Bluetooth suportam, no mximo, 1023 Bytes [64]. No processo reverso, vrios pacotes de camada fsica recebidos so
guardados at que uma mensagem l2cap completa possa ser lida a partir deles. O protocolo
l2cap permite ainda que alguns parmetros de qualidade de servio sejam definidos, como
largura de banda de pico, atraso no envio de mensagens, e variaes no atraso no envio de
mensagens. O l2cap prov o servio dentro dos requisitos solicitados desde que as atuais
19
20
2.5 Bluetooth
25
2.5.1
O estabelecimento de conexes em Bluetooth acontece em duas etapas: descoberta de dispositivos; e sincronizao. A etapa de descoberta de dispositivos prximos (operao de
inquiry) necessria quando o endereo do dispositivo ao qual se deseja conectar no
conhecido. Comumente esta operao leva em mdia 10,24 s.
Uma vez descoberto o endereo do dispositivo ao qual se deseja conectar, seja via inquiry
ou via outros meios, o prximo passo a conexo entre os dois dispositivos (operao de
paging). Conectar dois dispositivos, no contexto de Bluetooth, significa fazer com que os
dois dispositivos usem o mesmo padro para a troca de freqncias, ou seja, que tenham
sincronia na troca de freqncias. Numa piconet, os escravos devem ajustar seus relgios
internos para bater no mesmo ritmo que o relgio do mestre, alm de usarem o mesmo
padro de troca de freqncias usado pelo mestre. Os tempos de conexo podem variar
conforme os relgios internos dos dispositivos estejam mais ou menos fora de sincronia e de
acordo com o modo usado pelo dispositivo que responde o paging para escutar tentativas de
conexo.
2.5.2
A Operao de Inquiry
O inquiry a operao definida na especificao do Bluetooth para a busca de outros dispositivos Bluetooth nas proximidades. Para a operao de inquiry, um canal dedicado com
32 freqncias usado para troca de pacotes de consulta e resposta. Para que dispositivos
possam ser descobertos pela operao de inquiry, necessrio que estes entrem periodicamente no estado inquiry scan. Nesse estado, dispositivos suspendem a troca de dados das
aplicaes para escutarem por eventuais pacotes de inquiry no canal dedicado.
O processo de inquiry pode ser descrito conforme segue. Sejam BTinquiry o disposi-
2.5 Bluetooth
26
tivo que inicia o inquiry e BTinquiry_scan o nico dispositivo que ir responder consulta
de BTinquiry . Para poder responder consulta de BTinquiry , BTinquiry_scan deve entrar periodicamente no estado inquiry scan. Por padro, dispositivos Bluetooth entram no estado
inquiry scan por 11,25 ms a cada 2,56 s [64]. Para o processo de inquiry, as 32 freqncias
do canal dedicado a inquiries so divididas entre dois trens de 16 freqncias. O inquiry
funciona a partir do envio, por BTinquiry , de pacotes de inquiry no canal dedicado, usando
um padro de mudana de freqncias duas vezes mais rpido que o padro normal do Bluetooth. Assim, num nico slot so enviados pacotes de inquiry em duas freqncias. No slot
seguinte, BTinquiry aguarda possveis respostas dos dois pacotes que acabaram de ser enviados. Por questes de robustez da busca, os envios de pacotes de inquiry em cada freqncia
so repetidos 256 vezes em quatro rodadas. Ao escutar um pacote de inquiry em um de seus
chaveamentos para o estado inquiry scan, BTinquiry_scan aguarda um tempo aleatrio de at
1.023 slots (640 ms) para ento entrar no estado inquiry response. Caso, enquanto no estado
inquiry response, BTinquiry_scan receba outro pacote de inquiry, ento este ser respondido
para BTinquiry , 1 slot depois, com um pacote com as informaes necessrias por BTinquiry
para estabelecer uma conexo com BTinquiry_scan .
De acordo com os procedimentos descritos pela equipe do Bluetooth SIG em [64], o
tempo total de gasto pela operao de inquiry inquiry pode ser deduzido como:
inquiry = ((
slot
32) 256) 4
2
(2.1)
(2.2)
= 10.240.000s
(2.3)
= 10, 24s
(2.4)
O nmero de slots usados Tinquiry pode ser encontrado a partir do tempo total gasto.
Partindo de 2.3 tm-se:
2.5 Bluetooth
27
(2.5)
Tinquiry = 10.240.000s/slot
(2.6)
= 10.240.000s/0, 625s
(2.7)
= 16.384
(2.8)
(2.9)
onde Nbackof f o nmero aleatrio de slots que a interface ir aguardar antes de tentar
responder uma mensagem de inquiry recebida, mais os dois slots necessrios para receber
novo pacote de inquiry e enviar a resposta em seguida. Assim, o custo de se responder
inquiries oscila entre 2 e 1.025 slots. O tempo gasto respondendo inquiries inq_resp pode
ser deduzido a partir do nmero de slots usados conforme equao 2.10. Sendo Tinq_resp
uniformemente distribudo entre 2 e 1.025, tm-se que 1, 25ms inq_resp 640ms.
2.5.3
(2.10)
A Operao de Paging
O paging o processo pelo uma conexo fsica estabelecida entre dois dispositivos Bluetooth. Durante a operao de paging feita a sincronizao dos relgios dos dois disposi-
2.5 Bluetooth
28
tivos, assim como eles passam a trocar as freqncias do canal entre si usando o mesmo
padro pseudo-aleatrio. O procedimento de paging acontece de maneira similar ao procedimento de inquiry. Para estabelecer conexo com outro dispositivo, o dispositivo que inicia
o paging deve transmitir mensagens de page para o dispositivo alvo. Assim como no inquiry, estas mensagens so enviadas usando um padro especial para troca de freqncias,
duas vezes mais rpido que o convencional. Dispositivos para serem conectveis, precisam
tambm, periodicamente, escutar no canal dedicado para pagings por tentativas de conexo
de outros dispositivos. Antes de iniciar o paging, as 32 freqncias do canal dedicado aos
pagings so divididas entre dois trens de 16 freqncias. Diferente do inquiry, no paging
suficiente repetir as transmisses em cada freqncia 128 vezes.
Os chaveamentos da interface para escutar o canal de pagings so regulados por dois
parmetros: page scan interval e page scan window. O primeiro parmetro diz com que
periodicidade a interface ir escutar no canal de pagings. O segundo diz por quanto tempo a
interface permanecer ouvindo no canal de pagings em cada chaveamento. De acordo com
a especificao, o primeiro parmetro pode assumir quaisquer valores entre 18 e 4096 slots,
enquanto o segundo parmetro pode assumir valores entre 17 e 4046 slots, desde que seu
valor seja menor ou igual ao valor do page scan interval.
O processo de paging pode ser descrito da seguinte maneira. Sejam BTpaging o dispositivo que inicia o paging, e BTpage_scan o dispositivo alvo da conexo. Para receber conexes
de outros dispositivos, BTpage_scan periodicamente suspende as transmisses de dados das
aplicaes para escutar o canal dedicado aos pagings. O padro em Bluetooth que dispositivos entrem no estado page scan por 11,25 ms a cada 1,28 s. Enquanto isso, BTpaging
inicia o processo de conexo, transmitindo pacotes de page no canal dedicado e escutando
eventuais respostas no slot seguinte a cada transmisso. Quando BTpage_scan , em um de seus
chaveamentos para o canal de pagings, recebe um pacote de page, o pacote respondido
para BTpaging , seguido de uma troca padronizada de pacotes para a concluso da conexo
entre os dispositivos [7].
O custo em tempo de se fazer um paging depende do quanto sincronizados esto os
dois dispositivos. O nmero de slots necessrios Tpaging para concluir o paging, do lado da
interface que inicia o processo, depende do nmero da tentativa k de envio de mensagem de
paging numa dada freqncia e pode ser calculado segundo 2.11.
2.5 Bluetooth
29
k
Tpaging
= k + 5 , 1 k 4.095
(2.11)
(2.12)
2.5.4
(2.13)
Como discutido anteriormente, as operaes de paging e inquiry, assim como os procedimentos associados aos respectivos estados de resposta, possuem prioridade no uso da interface Bluetooth. Como resultado, aplicaes que necessitem do uso contnuo da interface
tendem a ser prejudicadas devido multiplexao do canal entre os dois trfegos.
Nesse contexto, alguns experimentos foram conduzidos como forma de ilustrar o impacto
das operaes de paging e inquiry sobre o trfego de dados em tempo-real pelas interfaces
Bluetooth. Para obter os resultados a seguir foram usados trs computadores, BT1 , BT2 ,
e BT3 , cada um com uma interface Bluetooth 2.0. Nos grficos a seguir so plotadas as
2.5 Bluetooth
30
larguras de banda instantneas de um fluxo constante de aproximadamente 400 Kbps passando pelas interfaces Bluetooth. As larguras de banda foram medidas no nvel de recepes
de mensagens num socket l2cap. As operaes de Bluetooth avaliadas foram: iniciar um
inquiry, responder um inquiry, iniciar um paging, e responder um paging.
21
canal varia conforme os dois dispositivos estejam fora de sincronia, dependendo tambm das
configuraes usadas no dispositivo alvo para responder pagings. Especificamente no teste
21
O nmero de slots necessrios pela interface que inicia o inquiry constante considerando que o tempo
2.5 Bluetooth
31
retratado na Figura 2.5, perceptvel uma queda no fluxo normal dos dados da aplicao
pouco depois que a operao de paging iniciada.
2.5 Bluetooth
32
Captulo 3
Gerenciando Handoffs para Bluetooth no
Contexto de Aplicaes de Tempo-Real
Neste captulo apresentada a proposta deste trabalho para atender os objetivos levantados
na Seo 1.2. O ponto chave para a definio da soluo foi definir um protocolo para
gerncia de handoff que minimizasse o impacto das operaes de Bluetooth, necessrias
para o handoff, sobre o trfego de dados em tempo-real.
Na soluo proposta so definidas duas entidades principais: estaes base (EBs), e dispositivos mveis (DMs). Seus papis e organizaes fsicas e lgicas so descritas a seguir.
3.1
Viso Geral
Por ser uma tecnologia desenvolvida para substituir cabos, Bluetooth no oferece nenhuma
facilidade para o gerenciamento de handoff [9]. Dessa forma, eventuais protocolos para
gerenciamento de handoff precisam ser implementados acima da pilha padronizada, usando
funes previamente definidas na interface HCI, ou em perfis j existentes, de forma a tornar
transparente a mudana de ponto de acesso. Uma vez feita a troca de ponto de acesso, cabe s
aplicaes (ou camadas intermedirias) implementar os mecanismos para redirecionamento
de trfego e eventuais tratamentos sobre os dados enviados/recebidos (como dados fora de
tempo, replicados, ou perdidos).
No contexto deste trabalho definimos uma infra-estrutura, ilustrada na Figura 3.1, onde
so representadas as entidades fsicas que compem a soluo final. As EBs so os pontos
33
34
de acesso do sistema. Cada EB possui interfaces para ambas as redes cabeada e Bluetooth.
EBs comunicam-se com EBs vizinhas via rede cabeada. Ao posicionar EBs prximas umas
s outras, de forma a sobrepor suas reas de cobertura, aumenta-se o espao fsico contnuo
coberto pelo sistema. rede de todas as EBs que, juntas, cobrem o mesmo espao fsico
contnuo denomina-se domnio de mobilidade. EBs so ditas vizinhas quando existe uma
interseco entre suas reas de cobertura.
Domnio de Mobilidade
EB
EB
DM
EB
3.1.1
Estados de um DM
DMs podem assumir diferentes estados enquanto conectados s EBs do domnio de mobilidade. A principal funo dessa representao de estados servir como base para a deciso
35
das EBs quanto ao disparo do processo de handoff para algum DM em movimento, ou por
sua sada de algum processo de handoff j ativo. Na Figura 3.2 so representados os estados
e transies de estados associados a DMs.
1
CONECTADO
NO_CONECTADO
4
5
SOB_HANDOFF
3.1.2
O Registro de um DM
Para manter controle sobre a movimentao de DMs, as EBs constantemente trocam entre
si informaes sobre DMs monitorados por elas. Estas informaes so usadas por cada
36
EB para gerenciar registros numa base de dados local sobre os DMs ligados diretamente a
elas ou em sua vizinhana, ou seja, monitorados por EBs vizinhas (Figura 3.3). Para dar
suporte deciso de participao ou no em handoffs, trs informaes sobre os DMs so
trocadas entre as EBs: identificador do DM; seu estado no sistema (segundo a EB que envia
a notificao); e EBs em contato com o DM.
Registro DM
Registro DM
Registro DM EB
BD_ADDR
Registro DM EB
BD_ADDR
Id EB
BD_ADDR
Id EB
BD_ADDR
Estado
Id EB
Estado
Id EB
Estado
Id
Estado
Id
3.2
37
Link
Monitor
TCP/IP
MD
Registry
Hardware
Bluetooth
HCI
3.2.1
Monitorando DMs
Cada EB responsvel por monitorar mudanas de estados em DMs em contato direto com
elas e propagar essas informaes para EBs vizinhas. Uma vez conectado a uma EB, o
DM passa a ter sua localizao constantemente monitorada. So dois os objetivos da moni-
38
10m
5m
por Javier Garca Castao em [9]. A deteco de perda de conexo tambm dependente
de implementao, freqentemente sendo usadas heursticas baseadas em ajustes do link supervision timeout [70; ?]. Entretanto, a pesquisa em torno de localizao em Bluetooth
vasta e complexa [6], existindo atualmente diversas propostas de abordagens para localizao de dispositivos Bluetooth [18; 19; 17] onde, em cada soluo, variam parmetros como
complexidade, exatido, e viabilidade tcnica. Dessa maneira, e devido o fato de que neste
trabalho o foco definir um procedimento de handoff, sero abstrados aqui quaisquer detalhes relacionados implementao dos mecanismos para estimativa de distncia entre EBs e
DMs e deteco de perda de conexo. Desta forma, define-se um contrato com um mdulo
externo que implementa o comportamento desejado para localizao dos DMs.
1
39
SE ( e s t a d o A n t e r i o r D M = SOB_HANDOFF) ENTAO
a g u a r d a C o n t a t o D e V i z i n h a O u T i m e o u t ( dadosEB , VERDADEIRO)
SENAO
d e f i n e E s t a d o ( dadosEB , NAO_CONECTADO)
n o t i f i c a E B s V i z i n h a s ( dadosEB )
FIM SE
d e f i n e E s t a d o ( dadosEB , SOB_HANDOFF)
10
n o t i f i c a E B s V i z i n h a s ( dadosEB )
11
d e f i n e E s t a d o ( dadosEB ,CONECTADO)
14
n o t i f i c a E B s V i z i n h a s ( dadosEB )
15 FIM SE
40
3.2.2
41
de acesso ao meio. Numa piconet, todos os escravos tm seus relgios sincronizados com
o relgio do mestre, de forma a viabilizar a tarefa do mestre de arbitrar os acessos ao meio
de cada dispositivo na rede. Dispositivos Bluetooth podem tambm fazer parte de mais de
uma piconet ao mesmo tempo. Quando isso acontece, o dispositivo negocia com os mestres
de cada piconet quando ir participar de cada uma, alternando perodos onde estar sincronizado com o relgio do mestre de cada piconet [64]. Em termos prticos, isso significa
perda de tempo e, conseqentemente, de largura de banda, para o trfego de dados em cada
piconet. Alm disso, a especificao de Bluetooth bastante vaga quando descreve o comportamento de dispositivos que participam de mais de uma piconet. Apenas exigido que
um esquema de TDM 3 seja empregado para alternar perodos de participao do dispositivo
em cada piconet. Como veremos na Seo 4.1.2, essa flexibilidade da especificao permite
que diferentes fabricantes de interfaces criem mecanismos mais ou menos eficientes para
diviso de tempo entre piconets, o que pode viabilizar ou no diferentes tipos de aplicaes
no contexto do trabalho aqui apresentado.
Mestre
Escravo
Mestre
Escravo
Escravo
Mestre
Escravo
Mestre
Figura 3.6: Atribuies dos papis de mestre e escravo (adaptado do trabalho de Aman
Kansal em [30]).
Conforme j discutido por Aman Kansal em [30], existem vantagens e desvantagens em
definir EBs como mestres e DMs como escravos e vice versa (Figura 3.6). Tornar DMs
mestres nas piconets com EBs significa poupar DMs dos desperdcios relacionados com o
chaveamento entre diferentes piconets, alm de, num primeiro momento, ser a soluo mais
escalvel do ponto de vista do nmero de clientes atendidos pela EB, j que no existem
3
42
restries explicitas quanto o nmero de conexes simultneas que um dispositivo pode ter
ativas ao mesmo tempo enquanto escravo. Por outro lado, essa arquitetura transfere para as
EBs o gargalo de desempenho, j que o nmero de DMs conectados ao mesmo tempo numa
EB tende a ser potencialmente maior que o nmero de EBs s quais um DM est conectado
ao mesmo tempo.
Ao definir DMs como escravos nas piconets com EBs, restringe-se o nmero mximo de
clientes conectados ao mesmo tempo s EBs para 7 (restrio j conhecida das piconets) e
transfere-se para os DMs a responsabilidade de chavear seu tempo de escuta entre as EBs
que estiver conectado. Como resultado, DMs precisam chavear seu tempo apenas enquanto
fazem handoff, e entre um nmero reduzido de EBs. Os critrios para diviso de recursos da
EB entre os DMs passam a ser apenas os critrios j conhecidos do Bluetooth, como nmero
de participantes da piconet, tipo de conexo (simtrica ou assimtrica), e tipos de pacotes
escolhidos pela camada fsica [30].
Handoffs sem Inquiries
De acordo com a especificao de Bluetooth, e conforme ilustrado nos experimentos da
Seo 2.5.4, existem custos (de quantidade de slots usados) associados s operaes de
inquiry, paging, e os respectivos estados de resposta. Esses custos podem ser calculados
baseado nas descries destes estados na especificao (conforme as equaes apresentadas
nas Sees 2.5.2 e 2.5.3), apesar de que resultados de experimentos prticos podem diferir
dos resultados esperados ou simulados devido a uma srie de fatores, como condies do
canal sem fio, qualidade das interfaces, interferncia com aparelhos prximos (e.g. fornos
microondas, telefones sem fio, ou pontos de acesso WiFi), etc.
Para o projeto de um protocolo de handoff com baixo impacto sobre o trfego de dados
em tempo-real, necessrio evitar as operaes com alto consumo de slots, particularmente
o inquiry, j que o paging operao obrigatria para a conexo de dispositivos Bluetooth.
No protocolo apresentado na Seo 3.3, o processo de inquiry descartado durante os handoffs. Ao invs disso, EBs trocam entre si, via rede cabeada, a informao sobre o endereo
BD_ADDR do DM sob handoff sendo, ento, necessria apenas a operao de paging, que
iniciada pela EB. Nesse arranjo de responsabilidades a nica tarefa do DM para se manter
conectado ao sistema manter-se no estado page scan, como forma de manter-se conec-
43
44
45
46
47
Funo
HCI_Create_Connection
Estabelece
Contexto
uma
conexo
tivos (paging).
HCI_Write_Page_Scan_Activity
Define os parmetros do
paging.
48
uso finais.
Neste trabalho optou-se por definir uma soluo utilizando apenas operaes padro do
Bluetooth, definidas na camada HCI. O objetivo viabilizar a implantao da soluo aqui
proposta em sistemas embarcados, onde uma atualizao de pilha ou de firmware muito
mais complexa que a instalao de softwares em camada de aplicao.
3.3
Adicionalmente s definies de configuraes e responsabilidades discutidos na seo anterior, nesta seo descrito o protocolo pelo qual DMs so mantidos conectados s EBs
medida que movem-se atravs de suas reas de cobertura. O processo de handoff disparado
e/ou mantido por uma determinada EB mediante duas situaes:
1. quando o estado de algum DM em sua vizinhana muda de CONECTADO para
SOB_HANDOFF;
2. quando algum DM est no estado SOB_HANDOFF e ligado, ao mesmo tempo, a duas
de suas EBs vizinhas.
O processo de handoff para um DM termina quando este volta ao estado CONECTADO
ou perde conexo com o sistema (estado NO_CONECTADO). A nica informao que a
EB tem sobre a movimentao do DM uma estimativa da distncia em linha reta entre si
e o DM. Por isso, as notificaes de mudana de estado de DMs so enviadas para todas
as EBs vizinhas. A deciso de participar do handoff de algum DM, ou ainda de cancelar/
manter participao em handoffs j existentes, tomada localmente por cada EB ao receber
notificaes sobre mudanas de estados de DMs em sua vizinhana. O processo pelo qual
EBs atualizam seus registros locais e tomam essas decises descrito no Algoritmo 3.2.
Algoritmo 3.2: Atualizando registros de DMs
1 SE ( aguardandoEncaminhamentoParaDM ( dadosEB ) ) ENTAO
2
n o t i f i c a E B s V i z i n h a s ( dadosEB )
4 FIM SE
5 SE ( a g u a r d a n d o C o n t a t o D e V i z i n h a ( dadosEB ) ) ENTAO
d e f i n e E s t a d o ( dadosEB , NAO_CONECTADO)
n o t i f i c a E B s V i z i n h a s ( dadosEB )
49
8 FIM SE
9 SE ( r e g i s t r o L o c a l . j a E x i s t e R e g i s t r o ( dadosEB ) ) ENTAO
10
e s t a d o A t u a l DM e s t a d o A t u a l ( dadosEB )
11
e s t a d o A n t e r i o r D M r e g i s t r o L o c a l . e s t a d o A t u a l ( dadosEB )
12
e b R e m e t e n t e e b R e m e t e n t e ( dadosEB )
13
14
r e g i s t r o L o c a l . a t u a l i z a R e g i s t r o ( dadosEB )
15
SE ( ! l i s t a E B s V i z i n h a s . contem ( e b R e m e t e n t e ) ) ENTAO
16
17
e s c a l o n a d o r H a n d o f f s . c a n c e l a P e d i d o H a n d o f f ( dadosDM )
SENAO SE ( e b R e m e t e n t e 6= ESTA) ENTAO
SE ( e s t a d o A t u a l D M 6= e s t a d o A n t e r i o r D M ) ENTAO
18
19
SE ( e s t a d o A t u a l D M = CONECTADO) OU ( e s t a do A t u a l D M = SOB_HANDOFF
) ENTAO
20
SE ( e s t a d o A n t e r i o r D M = CONECTADO) E ( e st a d o A t u al D M =
SOB_HANDOFF) ENTAO
21
e s c a l o n a d o r H a n d o f f s . g e r a P e d i d o H a n d o f f ( dadosDM )
22
SENAO SE ( e s t a d o A n t e r i o r D M = SOB_HANDOFF) E ( e s t a d o A tu a l D M
= CONECTADO) ENTAO
23
e s c a l o n a d o r H a n d o f f s . c a n c e l a P e d i d o H a n d o f f ( dadosDM )
24
FIM SE
25
SENAO / / e s t a d o A t u a l D M = NO_CONECTADO
26
27
/ / tambm c a n c e l a e v e n t u a l h a n d o f f em andamento
28
r e g i s t r o L o c a l . r e m o v e R e g i s t r o ( dadosEB )
29
FIM SE
30
FIM SE
31
SENAO SE ( e s t a d o A t u a l D M = e s t a d o A n t e r i o r D M ) E ( e s t a d o A t u a l D M =
SOB_HANDOFF) ENTAO
32
/ / g e r a um p e d i d o novo ou mantm o j e x i s t e n t e
33
e s c a l o n a d o r H a n d o f f s . g e r a P e d i d o H a n d o f f ( dadosDM )
34
35
FIM SE
FIM SE
36 SENAO
50
r e g i s t r o L o c a l . a d i c i o n a R e g i s t r o ( dadosEB )
38 FIM SE
A distribuio das informaes que ajudaro EBs a decidirem por sua participao ou
no em algum processo de handoff comea quando DMs entram no sistema. Quando isto
acontece, a EB que recebeu o novo cliente comunica s suas vizinhas que est em contato
com um novo DM, e que este se encontra no estado CONECTADO. Enquanto conectados
a alguma EB, DMs tm seus estados constantemente monitorados conforme descrito no Algoritmo 3.1. Quaisquer mudanas de estado verificadas por EBs so atualizadas localmente
e comunicadas para suas vizinhas. Cada EB vizinha, ao receber essa notificao, compara
o estado notificado para aquele DM contra seu ltimo estado conhecido localmente. Caso
verifiquem uma das situaes onde o processo de handoff disparado, um pedido de handoff
enviado para um escalonador local, responsvel por gerenciar os pedidos de handoff executados por aquela EB. Pedidos de handoff j existentes podem ser mantidos ou cancelados,
de acordo com as notificaes recebidas. De forma excepcional, a EB que percebe o inicio
de um handoff para um DM anteriormente conectado a apenas si prpria, encaminhar para
todas as suas vizinhas a primeira notificao que receber sobre contato de alguma vizinha
com o DM sob handoff. O objetivo evitar que algumas EBs continuem indefinidamente
tentando contato com um DM que j foi contactado por outra EB. Assim como o Algoritmo
3.1, o Algoritmo 3.2 no possui laos nem recurses. Portanto, a complexidade do Algoritmo
3.2 O(1), sendo este sempre executado em tempo constante.
Na Figura 3.8 ilustrado o funcionamento do algoritmo descrito no Algoritmo 3.2. Assim que o dispositivo DM1 consegue conexo com EBD , esta envia uma notificao para
EBA , EBB , EBE , EBG , e EBH , indicando sua conexo com DM1 e seu estado CONECTADO (3.8(a)). Os registros locais das EBs do sistema, aps notificao de EBD , so descritos na Tabela 3.2.
Quando EBD percebe que DM1 ultrapassou o ponto a partir do qual o handoff disparado, o estado daquele DM atualizado em EBD para SOB_HANDOFF e enviado para
as demais EBs (3.8(b)). Cada EB vizinha de EBD recebe a notificao e atualiza sua
base de dados local. Ao perceber a mudana de estado de DM1 de CONECTADO para
SOB_HANDOFF, as EBs EBA , EBB , EBE , EBG , e EBH geram pedidos de handoff locais para aquele dispositivo. EBD , por sua vez, no dispara processo de handoff, pois j est
51
CONECTADO.
SOB_HANDOFF.
SOB_HANDOFF
recebida.
SOB_HANDOFF
CONECTADO
52
EB
Registros
Handoff Ativo
EBA
No
EBB
No
EBC
{}
No
EBD
No
EBE
No
EBF
{}
No
EBG
No
EBH
No
EBI
{}
No
Registros
Handoff Ativo
EBA
Sim
EBB
Sim
EBC
{}
No
EBD
No
EBE
Sim
EBF
{}
No
EBG
Sim
EBH
Sim
EBI
{}
No
Tabela 3.3: Registros das EBs aps mudana de estado de DM1 para SOB_HANDOFF.
Ao aproximar-se de EBE , DM1 contactado por aquela EB, que envia para suas vizinhas, EBB , EBC , EBD , EBF , EBH , e EBI notificao de contato com DM1 no estado
SOB_HANDOFF (3.8(c)). Neste momento, as EBs EBA , e EBG continuariam tentando
contato com DM1 , pois no so vizinhas de EBE e, por isso, no receberam a notificao
do contato com DM1 (Tabela 3.4(a)). Entretanto, EBD encaminha para suas vizinhas a
primeira notificao recebida de alguma vizinha sobre seu contato com DM1 , neste caso,
a mensagem de EBE . Somente as EBs que no tm contato direto com EBE processam
essa mensagem encaminhada. Segundo o Algoritmo 3.2, EBB e EBH vo processar a
mesma mensagem duas vezes (uma recebida diretamente de EBE e outra encaminhada por
EBD ), o que no deve provocar mudanas no registro de DM1 em cada uma delas. J
53
as EBs EBA e EBG , quando processarem a mensagem repassada por EBD cancelaro o
handoff em andamento para DM1 . Os estados dos registros das EBs no sistema, antes e
depois do repasse da mensagem de EBE por EBD , so descritos nas Tabelas 3.4(a) e 3.4(b),
respectivamente.
EB
Registros
Handoff
EB
Registros
Ativo
EBA
Handoff
Ativo
Sim
EBA
Sim
Sim
EBC
No
EBC
No
No
No
No
No
EBF
No
EBF
No
EBG
No
No
Sim
EBG
Sim
Sim
EBI
No
EBI
No
Tabela 3.4: Estados dos registros da EBs antes e depois do repasse da mensagem de EBE
por EBD .
Continuando sua trajetria, DM1 move-se em direo a EBB , que consegue contato
com DM1 atravs do pedido de handoff ainda ativo para aquele dispositivo. Quando isso
acontece, EBB envia para EBA , EBC , EBD , e EBE notificao sobre seu contato com
DM1 no estado SOB_HANDOFF. Enquanto DM1 se movia, EBD continuou monitorando
o dispositivo. Ao perceber que perdeu contato com DM1 , EBD no envia ainda a notificao
devida para suas vizinhas. Ao invs disso, aguarda notificao de contato de uma de suas
vizinhas com DM1 . Somente aps receber a notificao de EBB , EBD envia para suas
vizinhas a notificao de que perdeu contato com DM1 (3.8(d)). Os estados dos registros
aps essa transio de EBs podem ser vistos na Tabela 3.5.
Neste momento, DM1 pode continuar movendo-se na direo de EBE ou EBB , onde
teria contato perdido naturalmente com a EB oposta e assumiria estado CONECTADO, ou
ainda pode mover-se em direo a EBC ou EBD , que possuem pedidos ativos de handoff
para DM1 . Assumindo que DM1 mova-se na direo de EBC , esta EB notificar EBB ,
EBE , e EBF sobre seu contato com DM1 no estado SOB_HANDOFF, enquanto EBB
54
Registros
Handoff Ativo
EBA
No
EBB
No
EBC
Sim
EBD
Sim
EBE
No
EBF
No
EBG
{}
No
EBH
No
EBI
No
Tabela 3.5: Registros das EBs aps transio de DM1 de EBD para EBB .
aguardar a primeira mensagem de algum contato com DM1 para ento notificar para EBA ,
EBC , EBD , e EBE sua perda de contato com aquele dispositivo. Os novos estados dos
registros das EBs aps mais essa mudana so descritos na Tabela 3.6. Por fim, DM1 continua sua trajetria em direo a EBC , que percebe sua aproximao e atualiza localmente
o estado local daquele dispositivo para CONECTADO. A mudana ento comunicada s
vizinhas EBB , EBE , e EBF , seguida da notificao de EBE sobre a perda de contato com
DM1 . O resultado a suspenso dos processos de handoff ativos para aquele DM em EBB
e EBF (3.8(f)). Os estados dos registros das EBs do sistema, aps essa ltima mudana, so
descritos na Tabela 3.7.
EB
Registros
Handoff Ativo
EBA
{}
No
EBB
Sim
EBC
No
EBD
No
EBE
No
EBF
Sim
EBG
{}
No
EBH
No
EBI
No
Tabela 3.6: Registros das EBs aps transio de DM1 de EBB para EBC .
55
Registros
Handoff Ativo
EBA
{}
No
EBB
No
EBC
No
EBD
{}
No
EBE
No
EBF
No
EBG
{}
No
EBH
{}
No
EBI
{}
No
Tabela 3.7: Registros das EBs aps mudana de estado de DM1 de SOB_HANDOFF para
CONECTADO.
3.4
Discusses Adicionais
56
Captulo 4
Avaliao da Soluo
Conforme visto no Captulo 3, a apresentao da soluo proposta para a gerncia de handoffs em Bluetooth foi dividida em duas partes: as configuraes e atribuies de responsabilidades entre EBs e DMs para transies diretas de ponto de acesso; e o protocolo pelo
qual EBs disparam/cancelam processos de handoff e mantm DMs conectados ao sistema
enquanto estes se movem.
A avaliao da soluo proposta segue a mesma diviso. Para avaliar a transio direta
entre EBs um prottipo foi implementado, enquanto o funcionamento do protocolo das EBs
foi modelado e verificado utilizando Redes de Petri Coloridas (CPN 1 ). Detalhes da implementao do prottipo e cenrios de testes so descritos na Seo 4.1, enquanto a anlise
sobre o modelo CPN apresentada na Seo 4.2.
4.1
57
58
descrita no Apndice C.
Uma viso geral do ambiente desenvolvido para os testes ilustrada na Figura 4.1. No
ambiente montado, EBs e servidor de streams esto ligados mesma rede local. O servidor
armazena e transmite via streaming contedo multimdia pr-gravado. Junto com o software
para gerncia de handoff rodando em cada EB funciona uma aplicao externa, responsvel
por atuar como consumidora do stream em benefcio do DM (vide Seo 4.1.1 e Apndice
C). Tanto o servidor de streams quanto EBs so computadores de mesa convencionais enquanto um notebook foi utilizado como DM. Um resumo das caractersticas fsicas de cada
uma destas entidades descrito na Tabela 4.1.
Servidor
EB2
DM1
EB1
Aplicao
L2cap
HCI
Servidor
Hardware
Bluetooth
Aplic.
TCP/IP
EB2
HoSP
HoSP
HoSP
Servidor
Streams
Aplic.
TCP/IP
L2cap
L2cap
Hardware
Bluetooth
HCI
EB1
Hardware
Bluetooth
HCI
DM1
4.1.1
O Ambiente de Testes
Dispositivo
Servidor
Computador de mesa
59
Configurao
Notas Adicionais
EBs
Computador de mesa
DM
Notebook
Tabela 4.1: Resumo das caractersticas dos dispositivos usados para testes.
por interagir com o servidor de streams. Esta aplicao uma verso modificada de outra
aplicao exemplo (testMP3Receiver) que acompanha a Live555, alterada para encaminhar
para o HoSP os pacotes RTP recebidos a partir do testMP3Streamer.
Nas EBs, os mdulos Status Update Sender e Status Update Listener so usados para,
respectivamente, enviar e escutar mensagens de mudanas de estados em DMs. O MD Monitor foi implementado conforme Algoritmo 3.1. Para implementar o Link Monitor, a medida de RSSI
60
HoSP
Status
Update
Sender
MD
Monitor
Link
Monitor
L2cap
HCI
Hardware
Bluetooth
Aplicao
Status
Update
Listener
HoSP
Connection
Connection
Connection
Listener
Listener
Listener
Connection
Monitor
Connection
Monitor
MD
Registry
L2CAP
Aplic.
TCP/IP
Hardware
Bluetooth
HCI
testes.
testes.
conexes com EBs. Em sua implementao, o Connection Monitor delega para a ferramenta hcitool, que acompanha o BlueZ, a tarefa de consultar a interface Bluetooth sobre as
conexes atualmente ativas. O Connection Monitor interpreta a sada do hcitool, mantendo
um pequeno histrico de conexes previamente estabelecidas, suficiente para identificar e
lanar eventos de estabelecimento e perda de conexes. O aspecto mais relevante da camada HoSP nos DMs, do ponto de vista dos testes executados, sua capacidade de criar e
destruir Connection Listeners medida que conexes baseband so estabelecidas ou perdidas. Cada Connection Listener escuta dados que chegam pela respectiva conexo baseband,
repassando-os para a aplicao que faz o tratamento apropriado. Por fim, a aplicao final
no implementa nem buffers de recepo nem qualquer mecanismo para renderizao dos
dados recebidos. Os pacotes RTP so processados to logo sejam recebidos, onde o proces-
61
62
o encaminhamento dos dados via enlace sem fio. Do lado do cliente, o Connection Monitor
detecta a presena de nova conexo e reporta o evento para o HoSP, que cria um novo Connection Listener para a nova conexo e passa a receber dados vindos da nova EB. Os dados
so repassados para a aplicao, que os trata da maneira descrita anteriormente.
4.1.2
Cenrios de Testes
63
duzida diretamente a partir do grfico, mas sim da avaliao subjetiva que acompanhou o
teste que gerou os grficos da Figura 4.3, assim como e os demais testes.
Para gerar esses grficos comparativos foram utilizadas tanto no DM quanto na EB interfaces Broadcom modelo USB-200. Os dados recebidos nesse teste foram redirecionados
para o gstreamer, que reproduziu perfeitamente o stream do MP3.
Antes do teste definitivo de handoff, foram feitos alguns experimentos para encontrar
valo-res para o page scan window e page scan interval de forma a manter suave a transmisso do stream e diminuir o tempo de paging durante handoffs. Na Figura 4.4 so ilustrados
os mesmos grficos de chegada de pacotes e de atrasos inter-pacotes, mostrados anteriormente, para os valores escolhidos de page scan window e page scan interval (18 e 256 slots,
respectivamente). Uma relao completa dos testes para determinar os parmetros do paging usados nos testes a seguir pode ser encontrada no Apndice A, junto com uma breve
discusso sobre o critrio usado para a escolha destes valores. Mesmo com o visvel aumento na oscilao nos intervalos entre chegadas de pacotes, a avaliao subjetiva do stream
que originou os grficos da Figura 4.4 revelou uma reproduo suave do udio, sem falhas
perceptveis.
Para o teste de handoff, cada teste aconteceu da seguinte maneira: primeiro o DM
conecta-se primeira EB e inicia a recepo do stream. Um usurio ento move-se junto
com o DM para distante da EB at o ponto onde o handoff era disparado. A primeira EB,
aps notificar para a segunda sobre a mudana de estado do DM, iniciava um temporizador
de 5s para desconecta-la do DM. O usurio conhece o local de sua trajetria onde o handoff disparado, indicado com uma marcao no cho. Uma vez ultrapassado esse ponto, o
usurio mudava sua direo, voltando para prximo da segunda EB.
O resultado do teste mostrado na Figura 4.5. Para esse teste, foram utilizadas interfaces
Broadcom modelo USB-200 tanto nas EBs quanto no DM. Neste teste, o handoff comea
aproximadamente no momento 10s e dura em torno de 5s, quando a conexo com a primeira
EB perdida e o DM permanece conectado apenas segunda EB. Na Figura 4.5(a) so
mostradas as chegadas de cada pacote RTP da seqencia e sua origem (primeira EB ou segunda EB), enquanto na Figura 4.5(b) so mostrados os intervalos entre as chegadas de cada
pacote. Durante o perodo onde o DM est conectado a mais de uma EB, so mostrados tambm na Figura 4.5(a) os pacotes descartados. Conforme os grficos sugerem, se comparados
64
Figura 4.3: Dados de referncia da transmisso do stream de 320 Kbps para o DM, sem
handoff.
com os grficos da Figura 4.4, no houve abalo perceptvel na recepo do stream, mesmo
durante o paging e o perodo de handoff. O fluxo de pacotes manteve-se constante enquanto
o DM estava conectado s duas EBs, e a filtragem de pacotes redundantes no DM cumpriu
com seu papel, descartando pacotes RTP que chegaram em duplicata e/ou atrasados. A avali-
65
(a) Chegada de pacotes RTP usando no DM page scan window = 18, e page scan interval = 256
(b) Intervalos entre as chegadas de pacotes RTP usando no DM page scan window = 18, e page scan interval
= 256
Figura 4.4: Dados sobre a chegada dos pacotes RTP aps ajuste dos parmetros do paging.
ao subjetiva confirmou uma reproduo suave do stream, sem alteraes perceptveis no
udio recebido.
Este mesmo teste foi repetido usando interfaces Broadcom modelo USB-250 e o Internet
Tablet N800 da Nokia. Este ltimo possui interface Bluetooth 2.0 + EDR integrada. Nos
66
Figura 4.5: Dados da transmisso do stream de 320 Kbps para o DM durante handoff.
dois casos, os resultados foram semelhantes aos resultados ilustrados na Figura 4.5. Devido
grande semelhana dos grficos gerados a partir desses testes com os grficos da Figura
4.5, sua exposio neste trabalho foi considerada redundante.
Num segundo teste, a interface Bluetooth do DM foi substituda pela interface CSR 3 . Os
3
67
resultados desse novo teste, usando o mesmo cenrio descrito anteriormente (com exceo
da interface que foi substituda) so mostrados na Figura 4.6.
(a) Chegada dos pacotes RTP no DM durante handoff usando interface CSR.
(b) Intervalos entre as chegadas de cada pacote RTP no DM durante handoff usando interface CSR.
Figura 4.6: Dados da transmisso do stream de 320 Kbps para o DM durante handoff usando
interface CSR.
Neste experimento, a recepo do stream comea de maneira normal, similar aos testes
anteriores. Entretanto, durante o perodo onde o DM est conectado s duas DMs, a recepo
68
de dados alterada por uma reduo na largura de banda de cada conexo. No grfico, a
reduo na largura de banda de recepo do DM revelada pela diminuio da inclinao
da linha do grfico em relao ao eixo das abscissas. Uma linha com menor inclinao
em relao ao eixo x significa que menos pacotes esto sendo recebidos por unidade de
tempo. Durante todo o tempo que o DM esteve conectado a mais de uma EB a largura de
banda de recepo do DM foi reduzida. Esta reduo na largura de banda evidenciada
tambm no segundo grfico, ilustrado na Figura 4.6(b). Nesta figura, os pacotes recebidos
enquanto o DM estava conectado a mais de uma EB apresentam maiores intervalos de interchegadas. Esse aumento ilustrado pelo pico no grfico. A avaliao subjetiva para esse teste
revelou considerveis rudos e pausas na reproduo do udio durante o handoff. A queda na
qualidade das conexes baseband, verificada na Figura 4.6, provavelmente conseqncia
de uma estratgia de TDM fraca implementada na interface CSR, reflexo de uma interface
de m qualidade.
4.2
Validao do Protocolo
4.2.1
Modelagem
http://wiki.daimi.au.dk/cpntools/cpntools.wiki
69
de mais baixo nvel, como a estimao da distncia entre EB e DM, que so abstrados do
modelo. modelado, entretanto, o conceito de estado do dispositivo, que acompanhado
atravs dos registros das EBs. Os estados podem ser OFF (desconectado), CONNECTED
(conectado) e HANDOFF. A mudana de estados percebida pela EB onde o DM est
conectado que, por sua vez, atualiza seu registro e comunica as EBs vizinhas. Portanto, so
tratados no modelo a atualizao dos registros e as mensagens de notificao.
[
1
[
d
,
1
[
(
[
d
1
[
d
2
i
u
1
3
N
[
d
[
d
1
e
e
1
n
i
;
s
h
F
,
s
[
d
[
g
i
1
)
e
i
e
L
i
70
71
nunca finalizar um handoff. Este ltimo caso reflete a possibilidade geral de o dispositivo
se movimentar aleatoriamente na rede, nas reas de sombra das estaes base. Apesar de
no termos dados estatsticos da ocorrncia de determinadas situaes em redes sem fio, o
objetivo do protocolo ser genrico e prover conexo em qualquer circunstncias de movimentao, exceto nos casos em que o prprio dispositivo se desconecta da rede ou em que
no existem mais vagas disponveis para conexo na piconet de uma determinada estao
base.
Na prxima seo so apresentados os cenrios e resultados da anlise usando o modelo
de redes de Petri apresentado nesta seo e ilustrado na Figura 4.7.
4.2.2
Validao
A validao do modelo apresentado na Seo 4.2.1, e conseqentemente do protocolo representado por ele, aconteceu em duas etapas: gerao e anlise de diagramas de seqencia de
mensagens, MSCs 5 , para diversos cenrios de simulao; e verificao formal do modelo
por propriedades de interesse.
Cada MSC gerado a partir de um cenrio de simulao do modelo CPN. Cada transio
no modelo CPN convertido em uma seqencia de mensagens nos MSCs. O cenrio de
simulao escolhido para exemplificar a anlise do modelo CPN via MSC o mesmo cenrio
ilustrado na Seo 3.3. Neste cenrio o dispositivo Dev conecta-se inicialmente EB BSD .
O dispositivo move-se ento em direo a BSE , iniciando o processo de handoff, e continua
movendo-se em direo a BSC mas no em linha reta, mas pela borda da rea de cobertura
de BSE . O cenrio da simulao encerra-se quando o Dev aproxima-se de BSC e assume o
estado CONECTADO nesta EB. Na Figura 4.8 mostrado o MSC gerado para este cenrio
a partir do modelo da Seo 4.2.1.
Primeiro, Dev conecta-se ao sistema na EB BSD , evento ilustrado no MSC pela mensagem Connect enviada de Dev para BSD . Aps a conexo de Dev, BSD notifica seus
vizinhos BSA , BSB , BSE , BSG , e BSH sobre seu contato com Dev e que este se encontra
no estado CONECTADO. No MSC essas mensagens so representadas pelas mensagens Dev
connected. Todas essas mensagens no MSC so resultado do disparo da transio Connect
no modelo ilustrado na Figura 4.7. Dev ento comea a se mover pela rea de cobertura de
5
72
73
BSD , at o momento em que atravessa o ponto limiar para o disparo do handoff. Neste ponto,
BSD notifica suas vizinhas sobre a mudana de estado de Dev, evento representado no MSC
pelas mensagens Dev starting handoff. Estas mensagens so geradas quando a transio Start
Handoff disparada no modelo. Como Dev se move em direo a BSE , esta a primeira
EB a conseguir contato com Dev. Uma conexo entre Dev e BSE estabelecida, evento representado pela mensagem Connect no MSC. Aps o estabelecimento desta conexo, BSE
envia uma notificao para todas as suas vizinhas, avisando do seu contato com Dev no estado SOB_HANDOFF (mensagens Dev connected on handoff no MSC). Neste momento,
Dev est conectado ao mesmo tempo com BSD e BSE .
Quando BSD recebe a notificao de BSE ele a repassa s suas vizinhas, evento representado no MSC pelas mensagens Dev connected to another BS. Esta mensagem serve para
que EBs que no so vizinhas de BSE possam cancelar seus pedidos de handoff para Dev.
Neste momento, apenas as EBs que so vizinhas tanto de BSD quanto de BSE , no caso
BSB e BSH , continuam com pedidos de handoff ativos para Dev. No modelo, todas essas
mensagens so geradas junto com o disparo da transio Connect2 do modelo.
Neste momento, Dev comea a mover-se pela rea de sombra de BSE . Em sua trajetria,
Dev entra na interseco entre as reas de cobertura de BSB e BSE , estabelecendo contato
com BSB . Este evento, e a notificao de BSB sobre seu contato com Dev, so indicados
pelas mensagens Connect e Dev connected on handoff no MSC. Adicionalmente, o contato
entre Dev e BSD perdido. Quando isso acontece, BSD notifica suas vizinhas sobre a
perda de contato com Dev, evento representado pelas mensagens Connection with Dev lost
no MSC. Estes eventos so gerados pelo modelo CPN quando a transio KeepWalking
disparada. Esta transio ser disparada mais uma vez, indicando que Dev se moveu da
interseco das reas de cobertura de BSB e BSE para a interseco das reas de cobertura
de BSC e BSE .
Finalmente, o cenrio de simulao encerra-se com o dispositivo totalmente conectado
EB BSC . Primeiro, baseado na aproximao de Dev, BSC notifica seus vizinhos sobre a
mudana de estado de Dev para CONECTADO enviando as mensagens Dev fully connected
no MSC. Em seguida, BSE notifica seus vizinhos sobre a perda de contato com Dev. O
cenrio acaba com o disparo da transio FinishHO.
Como dito anteriormente, o MSC mostrado na Figura 4.8 foi gerado a partir do modelo
74
CPN ilustrado na Figura 4.7. A gerao de MSCs acontece de forma automtica junto com a
simulao do modelo usando a biblioteca apropriada do CPN Tools. As mensagens so automaticamente geradas baseado nos valores das fichas nos lugares de entrada das transies.
Foram gerados diversos MSCs, com diferentes tamanhos e disposies de EBs, e em todos
os casos o comportamento registrado nos MSCs estava de acordo com o comportamento
esperado pela definio do protocolo.
Alm da gerao e anlise dos MSCs, tambm foram feitas verificaes formais sobre o
modelo em busca de certas propriedades. Mais especificamente, foram adicionadas algumas
transies adicionais para que dispositivos, aps perderem contato com as EBs do sistema,
pudessem se conectar novamente. Aps essa alterao, verificou-se que o modelo no possui
marcaes mortas e que sempre possvel retornar marcao inicial. Em outras palavras,
um dispositivo pode sempre conectar-se e desconectar-se das EBs do domnio de mobilidade
sem interrupes em suas conexes com as EBs devido problemas decorrentes do protocolo
de monitorao de DMs. Obviamente, problemas de descontinuidade nas conexes de DMs
podem acontecer em conseqncia de falhas no mdulo para deteco de mudanas de estado
dos DMs ou ainda devido falta de recursos nas EBs de destino.
Captulo 5
Consideraes Finais
Neste captulo so feitas as consideraes finais sobre o trabalho apresentado. So apresentadas discusses sobre os resultados obtidos, assim como uma discusso relativa a possveis
temas futuros de pesquisa, para dar continuidade ao trabalho apresentado ao longo desse
documento.
5.1
Concluses
Neste trabalho foi apresentado um protocolo para gerncia de handoffs em WPANs Bluetooth
no contexto de aplicaes de tempo-real. A soluo introduzida contempla tanto a alocao
de responsabilidades quanto configuraes relacionados transio direta de DMs entre EBs.
Adicionalmente, tambm foi definido o protocolo pelo qual EBs trocam informaes para
manter o DM conectado medida que este se move atravs de suas reas de cobertura.
O protocolo apresentado voltado para o uso com aplicaes que demandam transferncias de dados em tempo-real, sendo sua adequao para esse tipo de aplicao demonstrada atravs de experimentos com uma aplicao de streaming de udio. Os resultados
descritos no Captulo 4 demonstram a viabilidade e encorajam o desenvolvimento de um
nmero de aplicaes sobre o protocolo introduzido, tais quais as descritas no Apndice B.
Considerando que as taxas de transmisso dos streams usados para os testes naquele captulo so razoavelmente altas, em torno de 320 Kbps, resultados ainda melhores devem ser
obtidos quando streams com taxas de transmisso mais realistas sejam usados. Por exemplo, contedo de udio comumente codificado como MP3 numa taxa de 128 Kbps. Em
75
5.1 Concluses
76
aplicaes de telefonia pela Internet, por exemplo, CODECs modernos, como G.729A [73],
conseguem codificar dados para transmisses de at 8 Kbps mantendo-se a mesma qualidade de CODECs com requisitos de banda maiores [73]. Larguras de banda entre 64 e 384
Kbps so comuns e suficientes para streaming de vdeo para dispositivos mveis usando
MPEG4 [76].
O protocolo apresentado foi projetado focando-se as limitaes dos potenciais dispositivos clientes, ou seja, pequenos dispositivos mveis com pouco poder de processamento,
pouca memria, e largura de banda restrita. Dessa forma, todas as atividades relativas
monitorao de DMs e gerncia de handoffs foram transferidas para as EBs. O protocolo
apresentado descarta ainda a necessidade de coordenao, sinalizaes ou quaisquer outras
trocas de mensagens entre DMs e EBs durante os handoffs. O nico requisito sobre a participao do DM em todo o processo que este mantenha-se conectvel enquanto move-se
pelo domnio de mobilidade. Opcionalmente, DMs podem ainda ajustar os parmetros page
scan window e page scan interval. Com ajustes adequados desses valores reduz-se o nmero
de slots da EB de destino necessrios para a conexo com o DM sob handoff, conseguindo
portanto um contato mais rpido com o DM. Com um gasto menor de slots reduz-se ainda
o impacto do paging sobre outros DMs conectados na EB de destino. Por utilizar apenas
operaes padronizadas do Bluetooth, viabiliza-se o uso do protocolo proposto junto com
qualquer dispositivo programvel equipado com interface Bluetooth de acordo com a especificao, sendo portanto dispensada a necessidade de, por exemplo, alteraes em camadas
inferiores de software, como a pilha Bluetooth.
Aplicaes de tempo-real, particularmente aquelas que envolvem transmisso de dados
via rede, possuem fortes requisitos quanto transmisso/recepo de suas informaes.
Gerenciar handoffs levando-se em conta esse tipo de aplicao significa buscar os meios
pelos quais conexes podem ser estabelecidas e desfeitas com o mnimo de impacto sobre a
disponibilidade do canal de comunicao. A soluo aqui introduzida descarta a operao
de inquiry durante os handoffs e explora a capacidade de Bluetooth de mltiplas conexes
simultneas para gerenciar soft handoffs, evitando assim a perda total de conectividade do
DM enquanto este se move atravs das reas de coberturas de diferentes EBs.
O trabalho aqui apresentado discute ainda outras facetas do relacionamento entre
aplicaes de tempo-real e gerenciamento de handoffs em Bluetooth.
Por exemplo,
5.1 Concluses
77
compreendeu-se o relacionamento entre aplicaes de tempo-real e os constantes chaveamentos da interface para escutar por tentativas de pagings e inquiries, assim como os procedimentos de disparo e resposta dessas operaes. Vimos que o simples ajuste dos parmetros do paging suficiente para reduzir o tempo de conexo para algo em torno de 10 ms
(16 slots). Entretanto, temos que na prtica dificilmente esse desempenho ser alcanado
levando-se em conta o trfego de dados em tempo-real pelas interfaces Bluetooth devido ao
impacto dessa configurao na disponibilidade do canal.
Os resultados obtidos com a interface CSR avaliada mostram que interfaces de menor
qualidade podem no ser adequadas para aplicaes de tempo-real mais exigentes, como
telefonia. Entretanto, essas interfaces podem ser utilizadas em aplicaes similares s tradicionais aplicaes de streaming, onde buffers podem ser empregados pois um atraso de alguns segundos na reproduo do stream, ou eventuais paradas para recarregar o buffer, no
comprometem a aplicao. Neste caso, buffers ocultariam das aplicaes finais a queda na
largura de banda disponvel aplicao durante o handoff.
Infelizmente, nenhum dos trabalhos relacionados conhecidos at o momento da escrita
desse trabalho apresentam dados suficientes sobre sua adequao ou no para o funcionamento com aplicaes de tempo-real [13; 30; 20; 11; 35; 10; 31; 3; 70]. Por isso, no
possvel fazer uma anlise comparativa entre os resultados aqui obtidos e os resultados de
outros trabalhos.
Por fim, a modelagem e anlise serviu para validar o protocolo atravs de simulaes,
mostrando que o protocolo se comporta de acordo com o comportamento especificado na
Seo 3.3 para vrios cenrios. Atravs da verificao formal do modelo criado provaram-se
propriedades importantes, a principal delas que o protocolo cumpre seu papel de manter
DMs que se movem pelo domnio de mobilidade conectados a pelo menos uma EB.
A soluo apresentada delega para o Link Monitor a tarefa de implementar as heursticas
necessrias para a localizao de dispositivos. Devido essa delegao de responsabilidade, a
soluo de gerenciamento de handoffs apresentada pode ser afetada por ms implementaes
do Link Monitor. Ou seja, informaes pouco precisas, ou tardias, sobre a localizao de
dispositivos podem causar desde disparos de procedimentos de handoff no necessrios,
total perda de conectividade de DMs em movimento devido ao no envio de mudanas no
seu estado por parte de sua EB de origem.
5.2
78
Trabalhos Futuros
5.2.1
Como brevemente discutido na Seo 3.4, e mais detalhadamente no Apndice C, escalabilidade uma questo natural num sistema com recursos limitados e onde o nmero de usurios
pode crescer rapidamente. Assim, faz-se necessrio o desenvolvimento do conhecimento sobre como aumentar a disponibilidade de recursos disponveis no sistema, viabilizando um
maior nmero de clientes atendidos de forma simultnea. Ao mesmo tempo, aumenta-se
tambm a disponibilidade de interfaces para atender um nmero maior de handoffs simultneos.
Outra necessidade intrinsicamente ligada questo de escalabilidade consiste no desenvolvimento de mecanismos para controle de admisso nas EBs. Atravs da reduo do
nmero de handoffs simultneos que precisam ser gerenciados por uma EB, solues apropriadas para controle de admisso podem evitar tanto o desperdcio de recursos das EBs
quanto oscilaes na qualidade do servio j em uso por outros DMs. Por exemplo, caso
um DM em handoff para uma determinada EB consuma mais recursos do que os atualmente
disponveis na interface onde ele ser conectado na EB de destino, seu pedido de handoff
alm de consumir tempo para ser processado, prejudicando outros DMs tambm em handoff
para aquela EB, tende a congestionar o enlace sem fio da EB aps a admisso do DM, prejudicando o trfego de dados de todos os demais clientes ligados mesma interface. A idia
ento que dispositivos movendo-se em direo a uma EB que no tem recursos suficientes
para receb-lo devem ter seus pedidos de handoff ignorados, em benefcio de outros DMs
sob handoff para aquela mesma EB.
Nesse contexto, experincias, sucessos, e problemas j conhecidos no trabalho descrito
no Apndice C, podem ser usados como base para a evoluo da atual proposta rumo a um
sistema escalvel.
5.2.2
79
O trabalho aqui apresentado contemplou o processo para a troca de conexo fsica entre EBs,
que apenas o comeo de um problema maior e que envolve vrias camadas de software. Por
exemplo, ao mudar de EB, DMs podem ganhar novo endereo IP, exigindo uma atualizao
nas rotas entre o DM e outros computadores com conexes abertas com aquele dispositivo.
No caso de transferncia de dados em tempo-real, por exemplo, em algum momento o trfego
precisa ser redirecionado de uma EB para outra, assim como dados em trnsito (dados que
foram enviados por algum servidor antes deste ter sido notificado sobre a mudana de estado
do DM) precisam ser, de alguma forma, roteados corretamente para o DM aps sua mudana
de ponto de acesso. Tudo isso precisa acontecer de forma rpida, de forma a no prejudicar o
desempenho das aplicaes em curso. De outra maneira, o handoff torna-se perceptvel para
o usurio, comprometendo o funcionamento de aplicaes (por exemplo, aplicaes com
fortes requisitos temporais, como udio e vdeo) e protocolos (TCP por exemplo, devido o
uso de backoffs exponenciais para lidar com congestionamentos na rede).
A pesquisa em torno de mobilidade de aplicaes j tm longa data e diversos resultados
consolidados, como IP Mvel [48] ou Celular IP [8]. Nesse contexto, um ponto a ser investigado seria a expanso da soluo de handoff j existente em direo a camadas mais altas
da pilha de software. Pode-se investigar a integrao com solues j existentes para mobilidade de aplicaes, como as duas citadas anteriormente, ou solues prprias, voltadas para
aplicaes e cenrios especficos, podem ser desenvolvidas e acopladas ao trabalho atual.
5.2.3
Outro ponto de trabalho futuro consiste em extender o componente para localizao de dispositivos implementado para os testes tendo em vista solues j existentes para localizao
e monitorao de dispositivos Bluetooth. O objetivo conhecer as vantagens e problemas de
cada alternativa, buscando aquela que melhor se encaixe nas necessidades das aplicaes/ambientes alvo. A exemplo do trabalho apresentado por Shantidev Mohanty et al. em [42],
a soluo adotada deve levar em considerao aspectos com velocidade mdia dos DMs,
atrasos envolvidos na deteco e sinalizao de handoffs, e outros parmetros do sistema,
conforme discutido na Seo 5.2.4.
5.2.4
80
Por fim, o ltimo tpico sugerido para investigao futura consiste em definir procedimentos
e modelos para calibrao do sistema. Ou seja, existem parmetros que podem melhorar
o funcionamento do sistema apresentado anteriormente, como reduzir o tempo dos pagings
ou a probabilidade de handoffs mau sucedidos. Como visto na Seo 2.5.3, o tempo da
ope-rao de paging pode ser reduzido ou aumentado conforme ajustes nos parmetros page
scan window e page scan interval. Nesse contexto, pode-se buscar modelos que relacionem
o comportamento da interface Bluetooth, junto com os parmetros do paging, mais as caractersticas da aplicao, de forma a sugerir valores timos, ou prximos disso, para a operao
de paging, sem prejudicar o desempenho do fluxo de dados.
Alm do ajuste dos parmetros do paging, outro atributo para calibrao do sistema consiste na busca de heursticas e/ou metodologias para definir um posicionamento timo das
EBs, assim como do ponto limiar para disparo do handoff. Se, por um lado, menos EBs so
necessrias para cobrir uma mesma rea contnua desde que estas estejam suficientemente
distantes umas das outras, por outro esse posicionamento reduz a rea de sombra entre
as EBs, o que aumenta os requisitos sobre o mdulo de localizao e monitorao de DMs,
que agora tem menos tempo de atraso tolerado para reportar a mudana de estado do DM.
O caso inverso tambm possui perdas e ganhos. Ao posicionar EBs muito prximas umas
s outras aumenta-se a rea de sombra entre as EBs, o que diminui as exigncias sobre o
mdulo de monitorao e localizao de DMs mas, em compensao, aumenta-se a quantidade de handoffs que as EBs precisam atender, alm de diminuir a quantidade de recursos no
sistema, pois sero comuns as situaes onde DMs no necessariamente esto se movendo
entre EBs, mas esto conectados a mais de uma ao mesmo tempo, desperdiando recursos.
Bibliografia
[1] Vivek
sena,
Arora,
and
namically
Larry
Agnes
forming
H.
C.
Chang,
Tow.
Seyhan
Method
multimedia
emulated
Civanlar,
and
local
Vikram
apparatus
area
R.
Sak-
for
dy-
networks.
http://www.google.com/patents/pdf/Method_and_apparatus_for_dynamically_for.pdf,
2007. Acessado em Setembro 2007.
[2] IEEE Standards Association.
BIBLIOGRAFIA
[8] A.
Campbell,
82
J.
Gomez,
C-Y.
Wan,
and
S.
Kim.
Cellular
http://comet.columbia.edu/cellularip/pub/draft-ietf-mobileip-cellularip-00.txt,
IP.
1999.
Corporation.
Ultra-Wideband
http://www.intel.com/technology/comms/uwb/index.htm,
(UWB)
2007.
Technology.
Acessado em
Setembro 2007.
[15] Antonio DeSimone, Joseph Golan, Ashok K. Kuthyar, Bryant Richard Parent, Ram S. Ramamurthy, and David Hilton Shur.
BIBLIOGRAFIA
83
[16] Anind Dey. Understanding and Using Context. Personal and Ubiquitous Computing,
5(1):47, 2001.
[17] Silke Feldmann, Kyandoghere Kyamakya, Ana Zapater, and Zighuo Lue. An Indoor Bluetooth-based Positioning System: Concept, Implementation and Experimental Evaluation. In Proceedings of the International Conference on Wireless Networks
(ICWN 2003), pginas 109113. CSREA Press, 2003.
[18] F. Forno, G. Malnati, and G. Portelli. Design and Implementation of a Bluetooth AdHoc Network for Indoor Positioning. IEE PROCEEDINGS SOFTWARE, 152(5):223
228, 2005.
[19] Alessandro Genco, Salvatore Sorce, and Giuseppe Scelfo. Bluetooth Base Station Minimal Deployment for High Definition Positioning. In Proceedings of the The Second
Annual International Conference on Mobile and Ubiquitous Systems: Networking and
Services (MOBIQUITOUS 2005), pginas 454460. IEEE Computer Society, 2005.
[20] M. L. George, L. J. Kallidukil, and J. M. Chung. Bluetooth handover control for roaming system applications. In Proceedings of the 45th Midwest Symposium on Circuits
and Systems (MWSCAS 2002), pginas I404I407. IEEE Computer Society, 2002.
[21] GStreamer.
GStreamer
Open
Source
Multimedia
Framework.
BIBLIOGRAFIA
84
BIBLIOGRAFIA
85
[35] Won Hee Lee, Yang-Ick Joo, Kyun Hyon Tchah, Yongsuk Kim, and DooSeop Eom.
Handoff Provisioning in Bluetooth Wireless Personal Area Networks. IEEE Transactions on Consumer Electronics, 49(4):10041012, 2003.
[36] M. Li, Y. Fei, V. Leung, and T. Randhawa. A New Method to Support UMTS/WLAN
Vertical Handover Using SCTP. IEEE Wireless Communications, 11(4):4451, 2004.
[37] Yi-Bing Lin and Ai-Chun Pang. Comparing Soft and Hard Handoffs. IEEE Transactions on Vehicular Technology, 49(3):792798, 2000.
[38] Jane W.C. Liu. Real-Time Systems. Prentice Hall, 1 edio, 2000.
[39] Michael R. Macedonia and Donald P. Brutzman. Mbone provides audio and video
across the internet. Computer, 27(4):3036, 1994.
[40] J. McNair and Z. Fang. Vertical Handoffs in Fourth Generation Multinetwork Environments. IEEE Wireless Communications, 11(3):815, 2004.
[41] Live Media. Live555 Streaming Media. http://www.live555.com/liveMedia/, 2007.
Acessado em Setembro 2007.
[42] Shantidev Mohanty and Ian F. Akyildiz. A Cross-Layer (Layer 2 + 3) Handoff Management Protocol for Next-Generation Wireless Systems. IEEE Transactions on Mobile
Computing, 5(10):13471360, 2006.
[43] Loreno Oliveira, Emerson Loureiro, Hyggo Almeida, and Angelo Perkusich. Encyclopedia of Mobile Computing and Commerce, volume 2, chapter Bridging together
Mobile and Service-Oriented Computing, pginas 17. Idea Group Inc., 2006.
[44] Loreno Oliveira, Leandro Sales, Emerson Loureiro, Hyggo Almeida, and Angelo
Perkusich. Filling the Gap Between Mobile and Service-oriented Computing: Issues
for Evolving Mobile Computing Towards Wired Infrastructures and Vice Versa. International Journal on Web and Grid Services, 2(4):355378, 2006.
[45] MIT Project Oxygen. MIT Project Oxygen - Pervasive, Human-centered Computing.
http://oxygen.csail.mit.edu/, 2007. Acessado em Setembro 2007.
BIBLIOGRAFIA
86
[46] Jitendra Padhye, Victor Firoiu, Don Towsley, and Jim Kurose. Modeling TCP Throughput: A Simple Model and its Empirical Validation. ACM SIGCOMM Computer Communication Review, 28(4):303314, 1998.
[47] C. Perkins. Mobile Networking in the Internet. Mobile Networks and Applications,
3(4):319334, 1998.
[48] C. Perkins. IP Mobility Support. http://www.ietf.org/rfc/rfc2002.txt, 2002. Acessado
em Setembro 2007.
[49] Ramjee Prasad and Liljana Gavrilovska. Research Challenges for Wireless Personal
Area Networks. In Proceedings of the 3rd International Conference on Information,
Communications and Signal Processing (ICICS 2001), 2001.
[50] Ramjee Prasad and Luis Munoz. WLANs and WPANs towards 4G Wireless. Artech
House Publishers, 1 edio, 2003.
[51] BlueZ Project. BlueZ - Official Linux Bluetooth Protocol Stack. http://www.bluez.org/,
2007. Acessado em Setembro 2007.
[52] Ishwar Ramani and Stefan Savage. SyncScan: Practical Fast Handof for 802.11 Infrastructure Networks. In Proceedings of the 24th Anual Joint Conference of the IEEE
Computer and Communications Societies (Infocom 2005), pginas 675684. IEEE
Computer Society, 2005.
[53] F. Ramparany, O. Boissier, and H. Brouchoud. Cooperating Autonomous Smart Devices. In Proceedings of the Smart Objects Conference (sOc03), pginas 182185,
2003.
[54] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks,
M. Handley, and E. Schooler.
S.,
E.
Groting
Next
W.,
Pandolfi
Generation
A.,
Multimode
and
HepTerminals.
http://www.roke.co.uk/download/papers/next_generation_multimode_terminals.pdf,
2007. Acessado em Setembro 2007.
BIBLIOGRAFIA
87
SIG.
Bluetooth
Specification
Version
2.0
EDR.
SIG.
Compare
Bluetooth
with
Other
Technologies.
http://www.bluetooth.com/Bluetooth/Learn/Technology/Compare/, 2007.
sado em Setembro 2007.
Aces-
BIBLIOGRAFIA
88
[66] Alex C. Snoeren and Hari Balakrishnan. An End-to-End Approach to Host Mobility. In
Proceedings of the 6th International Conference on Mobile Computing and Networking
(MobiCom 2000), pginas 155166. ACM Press, 2000.
[67] R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, and V. Paxson. Stream Control Transmission Protocol.
http://www.ietf.org/rfc/rfc2960.txt, 2000. Acessado em Setembro 2007.
[68] Bjarne Stroustrup. The C++ Programming Language. Addison-Wesley Professional,
3 edio, 2000.
[69] Jean Tourriles. Bluetooth Roaming Proposals. Relatrio Tcnico, HP Laboratories,
2000.
[70] Jean Tourrilhes. On-Demand Bluetooth: Experience Integrating Bluetooth in Connection Diversity. Relatrio Tcnico HPL-2003-178, HP Laboratories Palo Alto, 2003.
[71] Kenneth
Virgile.
Network
bridge
with
multicast
forwarding
table.
http://www.google.com/patents/pdf/Network_bridge_with_multicast_forwarding.pdf,
2007. Acessado em Setembro 2007.
[72] Bernhard H. Walke, Stefan Mangold, and Lars Berlemann. IEEE 802 Wireless Systems:
Protocols, Multi-hop Mesh/Relaying, Performance and Spectrum Coexistence. John
Wiley & Sons, Ltd, 1 edio, 2007.
[73] Ted Wallingford. Switching to VoIP. OReilly Media, 1 edio, 2005.
[74] Mark Weiser. The Computer for the 21st Century. Scientific American, 265(3):6675,
1991.
[75] WiBree. WiBree. http://www.wibree.com/, 2007. Acessado em Setembro 2007.
[76] Stefan Winkler and Frdric Dufaux. Video quality evaluation for mobile applications.
In Proceedings of the 2003 SPIE Visual Communications and Image Processing Conference, pginas 593603, 2003.
[77] WirelessUSB.
Certified
Wireless
USB
from
the
USB-IF.
BIBLIOGRAFIA
89
[78] Qing-An Zeng and Dharma P. Agrawal. Handbook of wireless networks and mobile
computing, chapter Handoff in wireless mobile networks, pginas 125. John Wiley &
Sons, Inc., 2002.
[79] ZigBee. ZigBee: Wireless Control that Simply Works. http://www.zigbee.org, 2005.
Acessado em Setembro 2007.
Apndice A
Escolhendo Valores para os Parmetros
do Paging
De acordo com a especificao do Bluetooth [64], os parmetros page scan window e page
scan interval podem variar entre 17 e 4096 slots, e entre 18 e 4096 slots, respectivamente.
Ainda de acordo com a especificao, estes valores podem ser definidos livremente dentro
dessas faixas, contanto que o page scan window seja menor ou igual ao page scan interval.
No escopo dos testes executados o objetivo no era encontrar valores timos para esses
parmetros. Como dito anteriormente na Seo 3.2.2, esta uma busca mais complexa, que
envolve diversas variveis e que ainda pode ser influenciada por um componente aleatrio,
no caso, as condies do canal sem fio e as escolhas de pacotes de camada fsica feitas pela
interface mediante essas condies. Ao invs disso, foi buscada apenas uma combinao
de page scan window e page scan interval que reduzisse o tempo de paging, reduzindo
portanto o nmero de slots necessrios pela EB para estabelecer conexo com o DM. Alm
disso, o impacto sobre um fluxo de dados em tempo-real, causado por ajustes dos parmetros
do paging, pode ser ilustrado atravs dos testes feitos para a escolha dos valores desses
parmetros.
Dados os objetivos descritos anteriormente, e para reduzir a quantidade de valores testados para cada parmetro, as combinaes de valores avaliados para os parmetros page scan
window e page scan interval foram escolhidos de acordo com as regras por trs de seu funcionamento (Seo 2.5.3). Conforme descrito por Jennifer Bray e Charles Sturman em [7],
recomendado que o page scan window seja longo o suficiente para que sejam escutadas,
90
91
pelo menos, metade das 32 freqncias disponveis. Assim, a estratgia usada para variar
seu valor foi escolher valores mltiplos de 18. A estratgia para escolher os valores para o
page scan interval consistiu apenas em, partindo do seu valor padro, reduzir seu valor pela
metade.
Nesse contexto, os valores do page scan window escolhidos para avaliao foram 18, 36,
e 54. Estes valores foram combinados com os valores 1024, 512, 256, e 128, escolhidos para
o page scan interval. Para os testes a seguir, assim como na Seo 4.1.2, foi utilizado um
stream de um arquivo MP3 codificado a 320 Kbps. Interfaces Broadcom foram usadas tanto
na EB quanto no DM. Durante esses testes no houve handoff. Em cada teste era alterada
apenas a configurao dos parmetros do paging. Ainda, a qualidade do stream recebido
em cada teste foi verificada via avaliao subjetiva usando o gstreamer, da mesma maneira
descrita na Seo 4.1.1.
Na Figura A.1 so mostrados os grficos da recepo de pacotes e intervalos na chegada
entre pacotes para um page scan window de 18 slots. Nos testes com essa configurao
de page scan window, apenas o experimento com page scan interval de 128 slots (Figuras
A.1(g) e A.1(h)) falhou na avaliao subjetiva. Todos os demais apresentaram reprodues
perfeitas. Mesmo assim, as imperfeies na reproduo do stream desse teste, reveladas pela
avaliao subjetiva, foram muito pequenas e espordicas.
Na Figura A.2 so mostrados os grficos para os testes com ajuste do page scan window
para 36 slots. Nos testes para esse novo valor, os experimentos com page scan interval
de 1024 (Figuras A.2(a) e A.2(b)) mostraram uma reproduo suave do audio, sem falhas
perceptveis. Em compensao, os experimentos com page scan interval de 512 slots (Figuras A.2(c) e A.2(d)), 256 (Figuras A.2(e) e A.2(f)) e 128 slots (Figuras A.2(g) e A.2(h))
falharam. Enquanto as imperfeies ouvidas nos experimentos para os ajustes de 512 e 256
slots eram, assim como o experimento das Figuras A.1(g) e A.1(h), poucas e espordicas, a
avaliao subjetiva do stream com page scan interval de 128 slots revelou uma reproduo
com diversos rudos e curtas interrupes.
Por fim, na Figura A.3 so mostrados os grficos obtidos a partir do ajuste do page
scan window para 54 slots. Todos os experimentos para esse ajuste de page scan window
mostraram falhas na reproduo do audio recebido. Enquanto o experimento com ajuste do
page scan interval para 1024 (Figuras A.3(a) e A.3(b)) slots apresentou apenas pequenas
92
93
94
95
falhas, os experimentos para os ajustes de 512 (Figuras A.3(c) e A.3(d)), 256 (Figuras A.3(e)
e A.3(f)), e principalmente 128 slots (Figuras A.3(g) e A.3(h)), apresentaram muitos rudos
e interrupes durante a reproduo do stream.
Na Tabela A.1 so enumerados os resultados dos testes com os diferentes configuraes
avaliadas para os parmetros do paging. Levando-se em conta o impacto das combinaes
de valores para page scan window e page scan interval avaliados sobre o stream usado, os
valores de 18 e 256 slots, para page scan window e page scan interval respectivamente,
foram escolhidos para os testes da Seo 4.1.2. Usando essa configurao, a EB conseguiu
conexo com o DM em mdia a 258,142 ms (em torno de 413 slots).
page
scan
window
terval
18
1024
721,565
1154
Perfeito
18
512
419,988
672
Perfeito
18
256
258,142
413
Perfeito
18
128
200,419
321
Poucas Falhas
36
1024
736,239
1221
Perfeito
36
512
436,807
699
Poucas Falhas
36
256
282,414
452
Poucas Falhas
36
128
211,516
338
Muitas Falhas
54
1024
733,559
1173
Poucas Falhas
54
512
440,288
704
Muitas Falhas
54
256
285,061
456
Muitas Falhas
54
128
207,727
332
Muitas Falhas
Tabela A.1: Resumo dos resultados dos testes com diferentes parmetros para o paging.
Apndice B
Aplicaes
O enfoque do trabalho apresentado foi a definio de um protocolo de handoff para transio
de conexes fsicas entre pontos de acesso Bluetooth, que viabilizasse o uso de aplicaes
de tempo-real em dispositivos mveis mesmo quando estes se deslocam atravs das reas
de cobertura de diferentes pontos de acesso. Particularmente, as aplicaes de tempo-real
vislumbradas durante o desenvolvimento da soluo so aquelas que precisam transmitir
e/ou receber dados pela rede. Provavelmente a principal classe de aplicaes a se encaixar
nesse requisito so as aplicaes de streaming.
Nesse contexto, nas prximas sees so enumeradas algumas possveis aplicaes futuras do trabalho proposto. Um requisito comum a todos os casos de uso a seguir a necessidade de se manter constante a transmisso dos streams mesmo quando o usurio se move
atravs das reas de cobertura de diferentes pontos de acesso. Ou seja, necessrio fazer a
adequada gerncia de handoff. Idealmente, estas transies entre pontos de acesso devem ser
feitas de forma a no interromper o trnsito dos streams e nem degradar sua qualidade.
B.1
Provavelmente esta seja a aplicao mais direta de uma infra-estrutura de streaming para dispositivos mveis. O cenrio geral aquele onde aplicaes rodando em dispositivos mveis
consomem streams disponibilizados por servidores numa rede cabeada, independente se so
streams pr-gravados ou transmisses ao vivo.
Uma vez conectado a algum ponto de acesso, o usurio informa sua aplicao cliente
96
97
de streaming preferida o identificador do stream que deseja assistir. Em geral, esse identificador ser uma URI 1 com diversas informaes sobre o stream a ser consumido, como
protocolo usado, endereo e porta onde contactar a aplicao servidora de streams, e identificadores extras para indicar qual dos streams previamente armazenados no servidor dever
ser transmitido (e.g. rtsp://200.222.12.43:7743/VideosF1/silverstone2007).
Aplicaes efetivas para essa abordagem incluem, por exemplo, assistir/ouvir cameras/microfones de segurana instalados em algum local remoto, ou apenas assistir TV
ou ouvir rdio via webcast 2 , por exemplo.
B.2
Visitas Guiadas
B.3 VoIP
98
outro ambiente de visitao pblica. Fazendo-se uma mesclagem entre tecnologias de curto
e mdio alcance, possvel ainda criar visitas guiadas para ambientes bem maiores, como
pontos tursticos que ocupem grandes reas, bairros, ou mesmo cidades inteiras.
B.3 VoIP
Nos ltimos anos a tecnologia de telefonia via Internet VoIP vm se firmando como uma alternativa aos servios de telefonia tradicionais, principalmente por causa do seu baixo custo.
Numa viso de longo prazo, quando redes 4G [50] forem predominantes, usurios de smartphones no meio de uma ligao e/ou seo de dados usando uma rede de longo alcance
tarifada podero transferir automaticamente suas sesses de voz e dados para uma infraestrutura de rede local mais barata ou eventualmente gratuita, como Wi-Fi. A idia tirar
proveito das capacidades de dispositivos multimodais [55] e do acesso local a redes sem fio
de baixo custo, e de menor alcance, para economizar dinheiro.
Enquanto este cenrio no se torna realidade, uma opo mais simples e imediata para
o mesmo tipo de economia consiste em usar VoIP, ao invs ligaes via GSM tarifadas, por
exemplo, sempre que este servio estiver disponvel. O cenrio imaginado aquele onde
empresas e residncias, com acesso dedicado Internet, disponibilizem pontos de acesso
sem fio. Usurios poderiam optar, no momento da ligao, usar essas infra-estruturas para
fazer ligaes de baixo custo. reas grandes, obviamente, demandariam mais de um ponto de
acesso para serem totalmente cobertas. Se por um lado tecnologias como Wi-Fi, com alcance
em torno de 100m, reduzem a probabilidade/necessidade de gerenciamento de handoff, por
outro lado elas esgotam mais rapidamente a autonomia dos dispositivos clientes. Tecnologias como Bluetooth, com menor alcance, possuem uma probabilidade/necessidade maior
de gerenciamento de handoff. Em compensao, demandam apenas 20% do consumo de
energia dos seus concorrentes de maior alcance [65].
B.4
Push to Talk
Em aplicaes de Push to Talk (PTT), dispositivos de telefonia, como celulares e smartphones, passam a atuar de forma semelhante aos seus antecessores, os walk talks. Em PTT
99
a comunicao passa a acontecer entre grupos de dispositivos, ao invs de apenas dois como
naturalmente acontece em telefonia. Atualmente, o trafego de chamadas via PTT acontece
via conexes de longa distncia usando a infra-estrutura da operadora, o que implica tarifao pelo uso do servio e custo para o cliente.
Assim como discutido na Seo B.3, usurios poderiam se beneficiar da presena de uma
infra-estrutura local sem fios tambm para a comunicao via PTT. A idia seria estabelecer
conexes com pontos de acesso locais, em residncias e empresas, para a comunicao via
PTT. Apesar de ser uma conexo com uma infra-estrutura local, os participantes de um grupo
PTT podem, assim como o PTT oferecido pelas operadoras, estar geograficamente dispersos.
Basta que as infra-estruturas cabeadas, s quais cada usurio do grupo est ligado via algum
ponto de acesso, estejam ligadas a uma mesma rede em comum, como a Internet, para que
os trfegos sejam adequadamente roteados.
Apndice C
Escalabilidade e Qualidade de Servio
A preocupao com questes de escalabilidade natural quando se pensa, por exemplo, em
aplicaes como as discutidas no Apndice B. Mesmo o melhor dos protocolos de handoff
pode ser intil se sistemas baseados em tal soluo saturam com apenas poucos usurios
simultneos. Alm disso, o fato de se lidar com aplicaes com fortes requisitos para a
transmisso constante e pontual de dados significa que, mais uma vez, eventuais decises de
projeto para um sistema escalvel devem ser conciliadas com as aplicaes fins do sistema.
Ou seja, a soluo final deve ser escalvel ao mesmo tempo que no prejudica a qualidade
de servio de usurios j conectados ao sistema.
Durante o desenvolvimento deste trabalho, questes de escalabilidade e qualidade de
servio foram consideradas em diversos momentos. Entretanto, por uma questo de foco do
trabalho sobre o procedimento de handoff em si, algumas questes marginais mas importantes, como escalabilidade, tolerncia a falhas, e definio de mecanismos para localizao
de dispositivos, tiveram prioridade reduzida. Entretanto, neste Apndice so discutidas possveis solues relacionados escalabilidade e qualidade de servio tomando como base
o protocolo proposto no Captulo 3, assim como o arcabouo de uma infra-estrutura para a
evoluo do protocolo original.
C.1
Os Gargalos de Escalabilidade
101
pedidos de handoff que podem ser atendidos ao mesmo tempo em cada EB. Como o nmero
de clientes simultneos que cada EB consegue comportar conseqncia da capacidade de
sua interface Bluetooth de estar conectada a mais de um dispositivo ao mesmo tempo, temos
que sete o nmero mximo de clientes servidos por cada EB ao mesmo tempo. Atender
handoffs tambm tende a causar problemas de desempenho. Pelo protocolo atual, para cada
pedido de handoff que a EB precisa atender, tentativas de conexo com o DM em questo
so executadas at que o dispositivo seja contactado ou at que alguma outra EB informe
contato com aquele DM (Seo 3.2). O problema surge quando a EB precisa gerenciar
vrios pedidos de handoff ao mesmo tempo. Nesse caso, cada pedido precisa ser atendido
de forma seqencial, o que pode implicar perda de contato com algum DM cujo pedido de
handoff demorou muito tempo para ser executado pela EB.
Uma outra dimenso para o problema de escalabilidade revelada quando so tambm
considerados os recursos limitados do sistema. Ou seja, apesar de cada interface da EB
poder comportar at sete clientes, sua capacidade de banda tambm limitada
e ainda
precisa ser dividida entre cada DM atualmente conectado. Isto significa que a capacidade
de uma EB pode, por exemplo, saturar com apenas um DM. De forma similar, DMs em
handoff para alguma EB podem no encontrar nela uma disponibilidade de banda suficiente
para suas aplicaes em curso. O resultado desta mudana, considerando que o handoff
seja completado, que o novo DM tende a congestionar o canal sem fio da nova EB, tendo
prejudicada a qualidade de suas aplicaes e a qualidade das aplicaes em curso em outros
DMs tambm conectados quela EB.
Tomando como base o protocolo j existente, a soluo direta para a questo de escalabilidade consiste em aumentar a quantidade de interfaces Bluetooth em cada EB do sistema.
Para ter algum controle sobre a qualidade do servio oferecido pelas EBs, necessrio ainda
definir os mecanismos pelos quais recursos so alocados entre DMs e garantidos enquanto
estes estejam conectados ao sistema. Nesse contexto, as organizaes lgica e fsica da EBs
e DMs, apresentadas no Captulo 3, so estendidas a seguir para acomodar as novas necessidades de escalabilidade e qualidade de servio. As especificaes dos novos elementos
lgicos e fsicos so apresentados a partir da prxima seo. Por questo de simplicidade,
sero focadas aqui essencialmente as diferenas em relao ao que j foi colocado no Cap1
Largura de banda bruta de 1 Mbps para interfaces 1.1 e 1.2, e 3 Mbps brutos para interfaces 2.0 e 2.1.
102
tulo 3.
103
Aplicao
L2cap
HCI
Hardware
Bluetooth
Aplic.
TCP/IP
HoSP
HoSP
HoSP
Servidor
Streams
Aplic.
TCP/IP
L2CAP
L2cap
Hardware
Bluetooth
HCI
Hardware
Bluetooth
HCI
C.2.1
104
As Estaes Base
Em sua nova organizao, EBs possuem vrias interfaces Bluetooth, onde distinguem-se
dois tipos de interfaces (Figura C.3): interfaces de proviso de servio (IPSs); e interfaces de
ponto de entrada (IPEs). Cada EB possui, pelo menos, duas interfaces Bluetooth disponveis.
Neste cenrio mnimo, cada interface ir assumir um dos papis anteriores. Cada tipo de
interface possui uma configurao prpria, definida de acordo com seu papel no sistema.
IPE1
IPE2
HUB USB
IPEn
IPS1
IPS2
IPS3
IPSn
Figura C.3: Interfaces de Proviso de Servio (IPSs) e Interfaces de Ponto de Entrada (IPEs).
Desde que no estejam ocupadas atendendo algum pedido de handoff, IPEs so configuradas para responder tanto inquiries quanto pagings e possuem duas funes: servir como
ponto de entrada no sistema para novos dispositivos; e tentar contato com DMs durante
handoffs. Dispositivos externos ao sistema localizam e conectam-se s EBs atravs das IPEs
(Seo C.3.1). Nenhum trfego til realmente transferido por estas interfaces. O segundo
tipo de interface, IPS, responsvel pelo efetivo trfego de dados entre DMs e servidores.
DMs s podem receber/transmitir dados quando conectados a uma IPS. IPEs podem ter
suas configuraes alteradas em tempo de execuo para no responder nem pagings nem
inquiries como forma de aumentar a disponibilidade da interface durante handoffs (Seo
C.3).
Diferente das IPEs, as IPSs so configuradas para no responderem nem inquiries nem
pagings de outros dispositivos. Assim, isola-se o trfego de dados em tempo-real de grande
parte das perturbaes que eles poderiam sofrer por parte de outros dispositivos Bluetooth
105
C.2.2
Os Dispositivos Clientes
Nos DMs, aplicaes finais so desenvolvidas sobre a camada HoSP. Assim como j descrito
na Seo 3.2, toda a monitorao e procedimentos para trocas de EBs so tarefas das EBs.
Continua cabendo aos DMs apenas perceber os estabelecimentos e perdas de conexes
com as EBs e reagir de forma adequada. Considerando ainda o nicho inicial para o qual o
HoSP foi pensado (aplicaes de streaming) e os procedimentos para controle de admisso
(vide Seo C.2.4), temos que o HoSP pode encapsular todo o comportamento comum
gerncia de conexes, trocas de dados no enlace com as EBs, e interao com o controle de
admisso das EBs, deixando para as aplicaes finais apenas o tratamento comum ao trfego
de streaming via redes de melhor esforo (e.g. ordenao de pacotes fora de ordem e descarte
de pacotes muito atrasados ou redundantes) e/ou a gerao de trfego para encaminhamento
na rede cabeada.
Assim, na camada HoSP dos DMs anunciada uma interface, ilustrada abaixo, pela qual
aplicaes especializadas em streaming, e que demandem suporte transparente a handoffs,
podem ser desenvolvidas. Ao construir aplicaes sobre essa interface, aplicaes automaticamente se beneficiam de facilidades codificadas no HoSP quanto troca de dados com
diferentes EBs, e da gerncia de handoffs implementada na rede cabeada.
106
buscarEBs()
abrirConexaoEB( idEstacaoBase )
solicitaRecepcaoStream( idStream, funcaoCallback )
solicitaTransmissaoStream( destinatario, larguraBanda )
envia( idConexao, dados )
Aplicaes clientes usam a funo buscarEBs() para que a camada HoSP faa um inquiry e filtre os resultados, retornando apenas uma lista com os dispositivos prximos que
so estaes base do sistema. A lista retornada por essa funo pode ser iterada pela aplicao, que usa a funo abrirConexaoEB( idEstacaoBase ) para tentar conexo com a EB
escolhida. Uma vez conectados a alguma IPS, DMs podem solicitar streams anunciados por
outros nodos da rede atravs da funo solicitaRecepcaoStream( idStream, funcaoCallback
). Quando invocada, essa funo passa para a camada HoSP da EB o identificador do stream
desejado. Esta, por sua vez, executa os procedimentos necessrios para iniciar ou rejeitar
o stream solicitado pelo DM (vide Seo C.3.2). Caso o stream seja aceito, os dados do
stream so repassados para a camada HoSP do cliente que, para cada pacote recebido, invoca a funo de callback informada quando o stream foi solicitado. Para a transmisso de
streams a partir do DM, as funes solicitaTransmissaoStream( destinatario, larguraBanda
) e envia( idConexao, dados ) so usadas. A aplicao cliente primeiro informaria EB
que quer transmitir algo, informando o consumo estimado de banda. A EB, mais uma vez,
verifica sua disponibilidade de recursos e autorizaria ou no a nova transmisso.
C.2.3
As Aplicaes Finais
107
para a aplicao, que seria responsvel por encaminhar os dados recebidos na rede cabeada.
Como requisito para a implementao do controle de admisso, a poro da aplicao
final que roda na EB deve implementar dois servios, que so usados pelo HoSP: um para
consultar a descrio de streams; e outro para efetivamente iniciar o stream (vide Seo C.3).
C.2.4
Controle de Admisso
Como forma de ter algum controle sobre a qualidade do servio oferecido aos DMs e reduzir
a probabilidade de handoffs mau sucedidos devido atraso em seu atendimento, foi especificado um mecanismo de controle de admisso nas EBs. O controle de admisso decide se
novos DMs podem ou no conectar-se a uma EB, seja este um DM anteriormente externo ao
sistema ou um DM sob handoff.
Quando usada para atender handoffs, cada IPE configurada para no responder nem
pagings nem inquiries de dispositivos prximos. O objetivo priorizar os recursos de cada
IPE para os handoffs, mesmo que isso atrase a entrada de novos DMs no sistema. A principal
funo do controle de admisso rejeitar pedidos de handoff caso no existam recursos
suficientes para acomodar o novo dispositivo na EB de destino. Tentar contato com DMs
que no podem ter seus handoffs completos, devido falta de recursos (vagas nas piconets
das IPSs e/ou largura de banda nas IPSs disponveis pelo critrio anterior) na EB de destino,
significa aumentar, em vo, o tempo de espera de outros pedidos de handoff na fila. Este
tempo extra de espera pode comprometer o sucesso dos handoffs de outros dispositivos,
que eventualmente demandam menos recursos e que poderiam ser alocados na nova EB.
Dessa forma, conforme ilustrado no Algoritmo C.1, cada pedido de handoff escalonado tm
seus requisitos de uso de banda avaliados antes de serem efetivamente executados, assim
como tambm verificada a disponibilidade de slots nas IPSs disponveis. Apenas caso,
no momento do escalonamento do pedido, existam recursos suficientes em uma das IPSs
da EB, a requisio ser atendida. Caso contrrio, a requisio devolvida para a fila de
requisies e uma nova escolha feita. Na seleo de IPS, ilustrada no Algoritmo C.2,
escolhida a interface que possua slots livres em sua piconet e que tenha a menor largura de
banda disponvel que seja maior ou igual ao requisito de banda do DM sob handoff.
108
/ / e s c o l h e uma r e q u i s i o da f i l a , ou b l o q u e i a c a s o a f i l a e s t e j a
vazia
reqHandoff escalonaRequisicaoHandoff ( )
/ / v i d e A l g o r i t m o C.2
IPS_ComMenorLarguraDeBanda s e l e c i o n a I P S ( r e q H a n d o f f . dadosEB )
devolveParaFila ( reqHandoff )
CONTINUE
FIM SE
10
11
r e s u l t a d o T e n t a t i v a t e n t a C o n e x a o ( r e q H a n d o f f . dadosEB , i p e )
12
SE ( r e s u l t a d o T e n t a t i v a = VERDADEIRO) ENTAO
13
IPS_ComMenorLarguraDeBanda s e l e c i o n a I P S ( r e q H a n d o f f . dadosEB )
14
15
/ / d i s c o n e c t a DM da IPE
16
rejeitaDMPorFaltaDeRecurso ( reqHandoff )
17
SENAO
18
/ / d e s c o n e c t a DM da IPE
19
20
d i s p a r a M o n i t o r D M ( r e q H a n d o f f . dadosEB )
21
r e g i s t r o L o c a l . a t u a l i z a R e g i s t r o ( r e q H a n d o f f . dadosEB )
22
n o t i f i c a E B s V i z i n h a s ( r e q H a n d o f f . dadosEB )
23
r e s t a b e l e c e S t r e a m s E n t r a d a ( r e q H a n d o f f . dadosEB . s t r e a m s E n t r a d a )
24
r e s t a b e l e c e S t r e a m s S a i d a ( r e q H a n d o f f . dadosEB . s t r e a m s E n t r a d a )
25
26
27
FIM SE
SENAO
/ / tambm l i b e r a a IPE . Caso s e j a o l t i m o p e d i d o de h a n d o f f
a s s o c i a d o IPE , e l a r e c o n f i g u r a d a p a r a v o l t a r a a c e i t a r
pagins e i n q u i r i e s
28
29
devolveParaFila ( reqHandoff )
FIM SE
30 FIM ENQUANTO
Como no feita a reserva de recursos na IPS antes de iniciar o handoff para um determinado DM, caso seja conseguido contato com o DM o escalonador checa novamente a
109
l a r g u r a D e B a n d a D i s p o n i v e l l a r g u r a D e B a n d a D i s p o n i v e l ( IPS )
/ / d a d o s s o b r e o DM r e c e b i d o s como p a r m e t r o
SE ( l a r g u r a D e B a n d a D i s p o n i v e l m e n o r L a r g u r a D e B a n d a D i s p o n i v e l ) E (
l a r g u r a D e B a n d a D i s p o n i v e l dadosDM . l a r g u r a D e B a n d a U s a d a ) E (
p o s s u i S l o t L i v r e ( IPS ) ) ENTAO
menorLarguraDeBandaDisponivel larguraDeBandaDisponivel
IPS_ComMenorLarguraDeBanda IPS
10
FIM SE
11 FIM FOR
12 RETORNA IPS_ComMenorLarguraDeBanda
C.3.1
Entrando no Sistema
110
111
suas IPEs, verificar se existem recursos disponveis para acomodar mais um cliente. Como
no se sabe qual a largura de banda ser usada pelo DM, a deciso por aceitar ou no o
novo DM consiste, neste momento, na disponibilidade de slots em alguma de suas IPSs.
Caso exista pelo menos uma vaga na piconet em uma das IPSs da EB, checada ento a
distncia estimada entre esse novo dispositivo e a EB. Caso o cliente esteja numa posio
alm de onde o processo de handoff disparado, ento sua conexo rejeitada. Caso o
usurio encontre-se antes do ponto a partir do qual o processo de handoff disparado, a
EB prossegue com a conexo e usa uma estratgia gulosa para decidir qual de suas IPSs
o novo DM ser conectado. Neste segundo momento de checagem de recursos, a EB itera
sobre todas as IPSs com vagas em suas piconets, e escolhe aquela que tm maior largura de
banda disponvel. A largura de banda usada por cada IPS estimada baseado nas descries
dos streams atualmente transferidos por aquela EB. Como a EB no sabe, a priori, qual ser
o consumo de banda do novo DM, a estratgia gulosa consiste em alocar o novo DM na IPS
com maior largura de banda disponvel.
Aps decidir para qual IPS o DM ser alocado, a EB guarda temporariamente o endereo
BD_ADDR do DM (disponvel EB assim que foi aceita a conexo baseband entre DM e
IPE). Estas informaes so usadas para, aps desconectar o DM da IPE, estabelecer uma
nova conexo com o dispositivo cliente a partir da IPS escolhida (callback aguardado pelo
DM).
Ao finalizar a chamada de callback, o DM registrado na EB como estando no estado
CONECTADO e sua distncia em relao EB passa a ser monitorada. Neste estado, o
DM est pronto para requisitar ou transmitir streams. Aps cadastrar o DM em sua tabela
prpria de DMs, a EB atual tambm envia para todas as suas EBs vizinhas uma mensagem,
informando que aquele dispositivo est ligado a ela e seu estado CONECTADO. Cada EB
vizinha, ao receber essa mensagem, inclui uma referncia para aquele DM em seu registro
de DMs.
C.3.2
Iniciando Transmisses
Uma vez no estado CONECTADO, DMs podem solicitar s EBs a recepo de streams
anunciados na rede. O processo de requisio de streams ilustrado na Figura C.5. Primeiro,
a aplicao final no DM passa para a EB o identificador do stream desejado. O identificador,
112
que pode ser, por exemplo, uma URL RTSP ou SIP, passado para a aplicao do lado da
EB para que esta interprete seu contedo e interaja com os servidores daquele recurso.
113
71]. O endereo multicast do stream, seu tipo (neste caso, stream de entrada), e sua estimativa de banda, so notificados para todas as EBs vizinhas. Com a confirmao do aceite do
seu pedido, o DM estabelece uma conexo com a EB para a transferncia de dados e aguarda
sua chegada. Do lado da EB, assim que a aplicao auxiliar comea a receber os pacotes do
stream, estes so passados para o HoSP, que os encaminha para o DM.
A segunda hiptese, onde o DM inicia uma transmisso, ilustrada na Figura C.6. Antes
de iniciar uma transmisso o DM precisa solicitar o recurso em sua EB. Para a solicitao
o DM informa a estimativa de consumo do stream que pretende transmitir. Assim como no
caso anterior, a EB verifica se a IPS na qual o DM est conectado possui recursos suficientes
para acomodar o novo stream. Em caso afirmativo, o pedido do DM aceito, as EBs vizinhas
so notificadas do trfego do novo stream, e os dados do stream vindos do DM so passados
para a aplicao, que se encarrega de encaminhar os dados na rede cabeada. Sempre que um
stream aceito pela EB, essa informao tambm includa no registro local sobre o DM
antes de ser propagada para as EBs vizinhas.
C.3.3
114
C.4
Discusses Adicionais
Neste Apndice foram discutidas algumas idias preliminares para a expanso do protocolo
original deste trabalho em direo a uma infra-estrutura mais madura do ponto de vista de
115