O Android não é multi-tarefa ?

1 de maio de 2010 by

Hilton Garcia Fernandes

A Internet é movida por ondas de informações, algumas nem sempre verdadeiras. Uma delas foi a de que o Android [1] — que equipa celulares — não seria um sistema operacional multi-tarefa; ou seja: não permitiria vários aplicativos operando ao mesmo tempo. Opinião semelhante tem sido lançada sobre o sistema operacional que equipa o iPhone [2].

Estas notícias — não vamos chamá-las ainda de boatos, ou hoax [3] — são importantes, pois se referem a dois equipamentos móveis muito importantes, basicamente no estado-da-arte [4] de sua classe. Por isso, vale a pena analisá-las em mais detalhe.

Visão muito geral sobre Android e sistema operacional do iPhone

Em primeiro lugar o Android pode ser entendido como um sistema operacional Gnu/Linux [5]. Nestes sistemas, a propriedade de ser multi-tarefa [6] é realmente básica, mesmo em suas configurações mais simples. No iPhone, o sistema operacional [7] é derivado do Mac OS X [8], que por sua vez é — grosso modo — um sistema operacional similar ao GNU/Linux.

(Deve-se dizer que a Apple tem conseguido com essa estratégia algo que os sistemas operacionais GNU/Linux conseguiram antes: é basicamente o mesmo sistema operacional que roda desde o menor celular até o maior computador disponível — apenas são inseridos e retirados módulos de acordo com as características de cada ambiente.

O que não é conseguido no caso do Microsoft Windows, quando os ambientes para PC Desktop [9] e servidor [10] são fundamentalmente diferentes daquele para celulares smartphone [11].)

Resumindo, tanto Android quanto o SO do iPhone ambos são intrinsecamente multi-tarefa. Então, será que a afirmação é apenas mais um boato sem fundamento, como muitos que passeiam pela Internet ?

Limites para multi-tarefas em smartphones

Um dos melhores artigos que podem ser encontrados na Internet a esse respeito é [12], de Robert Love [13]. Neste texto, explica-se que existe, sim multi-tarefa verdadeiro no Android e no sistema operacional do iPhone. O que não há é multi-tarefa para aplicações de terceiros, não desenvolvidas pelas equipes que criaram sistemas operacionais.

Quais as razões para isso ? São detalhadas em outro ótimo artigo sobre o tema [14], de Dianne Hackborn [15]. Basicamente, trata-se do problema de desempenho, comum a sistemas embarcados interativos como são os telefones celulares.

Trata-se de um problema de necessidade de resposta rápida, já comentado neste blog a respeito de telefonia, comum ou VoIP, em [16] e [17]: diferente de uma leitura de e-mail, na qual dezenas de segundos não causam nenhum problema, há atividades nas quais demoras adicionais de alguns segundos podem fazer com que o usuário considere todo o aplicativo inútil.

Sendo assim, uma aplicação fortemente interativa como um telefone celular sofisticado, um smartphone, é desenvolvido muito cuidadosamente para que nenhuma aplicação tenha um tempo de resposta maior do que seria razoável para um usuário. Aplicativos de terceiros poderiam, talvez prejudicar esse projeto cuidadoso.

Além disso, um dispositivo móvel tem recursos limitados. Aqueles mais simples têm limites tanto de poder de processamento, quanto de armazenamento e até de bateria. Em [12], o autor é enfático em desmentir as alegações da Apple a respeito de bateria e de poder de processamento do iPhone como razão para que ela impeça que aplicações de terceiros usem a capacidade multi-tarefa disponível no sistema operacional do iPhone.

A principal razão, explica ele, é a questão de um celular do tipo smartphone ter um limite de memória muito baixo para as aplicações atuais E, devido ao fato de seu armazenamento em disco ser também muito limitado, eles não podem contar com o recurso da memória virtual [18] que, no caso dos PCs, permite que aplicações inteiras sejam transferidas para o disco rígido, liberando espaço em memória para outros aplicativos.

O artigo [14] lembra que o recurso de multi-tarefa não é tão crítico em um dispositivo que serve principalmente para atender a um único usuário que terá atenção focada apenas em interagir diretamente com o teclado e o monitor de seu smartphone — na imensa maior parte do tempo.

Recursos para permitir multi-tarefa em smartphones

O que o Android já pode fazer, segundo [12], é permitir que um aplicativo armazene seu estado em uma área limitada, bastante menor do que aquela de um disco rígido. Este processo, chamado de serialização em geral [19], recebe o nome de bundles, ou pacotes, no contexto do Android [20]. Em [12] se explica que mesmo a Apple está desenvolvendo formas de permitir multi-tarefa similares àquelas do Android.

O recurso de serialização garante que, quando um aplicativo for novamente carregado, encontrará em alguma parte do armazenamento toda informação que ele necessita para retornar a seu estado anterior. Infelizmente, neste o processo de carregar novamente uma aplicação é algo mais demorado do que transferir uma aplicação da memória virtual para a memória física.

No uso de memória virtual, tudo já está pronto — basta transferir do disco a memória, no estado já desejado para execução. No caso da serialização, será necessário carregar novamente o aplicativo e fazê-lo executar até chegar ao estado desejado.

Assim, o uso de serialização apenas pode tornar mais demoradas– e portanto com tempo de resposta maior — as aplicações que dela fazem uso.

Conclusão

Portanto, a frase “o Android não é multi-tarefa” é parcialmente verdadeira: há multi-tarefa para aplicativos nativos nos sistemas operacionais do iPhone e Android. Há multi-tarefa limitado para aplicativos de terceiros no Android — chamado de serialização. Infelizmente, os limites da serialização dificultam o uso intenso por aplicativos de terceiros, que terão que ser projetados desde o início para usufruir da serialização, tão diferente daqueles disponíveis em PCs.

Por isso, eventualmente, é que ainda não vê com frequência o comportamento multi-tarefa nos novos aplicativos disponíveis para smartphones.

Os desenvolvedores de aplicativos de terceiros terão de se educar para projetar novos aplicativos. E mesmo a Apple terá de estudar como melhor oferecer sua forma de serialização aos programadores desenvolvendo aplicativos para iPhone.

Referências

[1] Android
https://secure.wikimedia.org/wikipedia/pt/wiki/Android
Visitado em 30/04/2010

[2] iPhone
https://secure.wikimedia.org/wikipedia/pt/wiki/iPhone
Visitado em 30/04/2010

[3] Hoax
https://secure.wikimedia.org/wikipedia/pt/wiki/Hoax
Visitado em 30/04/2010

[4] Estado da arte
https://secure.wikimedia.org/wikipedia/pt/wiki/Estado_da_arte
Visitado em 30/04/2010

[5] GNU/Linux
https://secure.wikimedia.org/wikipedia/pt/wiki/Gnu/linux
Visitado em 30/04/2010

[6] Multi-tarefa
https://secure.wikimedia.org/wikipedia/pt/wiki/Multi-tarefa
Visitado em 30/04/2010

[7] iPhone OS
https://secure.wikimedia.org/wikipedia/en/wiki/IPhone_OS
Visitado em 30/04/2010

[8] Mac OS X
https://secure.wikimedia.org/wikipedia/pt/wiki/Mac_OS_X
Visitado em 30/04/2010

[9] Windows 7
https://secure.wikimedia.org/wikipedia/en/wiki/Windows_7
Visitado em 30/04/2010

[10] Windows Server 2008
https://secure.wikimedia.org/wikipedia/en/wiki/Windows_Server_2008
Visitado em 30/04/2010

[11] Mac OS X
https://secure.wikimedia.org/wikipedia/pt/wiki/Mac_OS_X
Visitado em 30/04/2010

[12] Why don’t the iPad and iPhone support multitasking
http://blog.rlove.org/2010/04/why-ipad-and-iphone-dont-support.html
Visitado em 30/04/2010

[13] Robert Love — A blog on economics, technology, and wolves
http://blog.rlove.org/
Visitado em 30/04/2010

[14] Multitasking the Android Way
http://android-developers.blogspot.com/2010/04/multitasking-android-way.html
Visitado em 30/04/2010

[15] Dianne’s Home Page
http://www.angryredplanet.com/~hackbod/
Visitado em 30/04/2010

[16] Yet Another Asterisk Tutorial
https://tecnologiassemfio.wordpress.com/2010/03/19/yet-another-asterisk-tutorial/
Visitado em 30/04/2010

[17] O que é Traffic shaping, afinal?
https://tecnologiassemfio.wordpress.com/2010/02/26/o-que-e-traffic-shaping-afinal/
Visitado em 30/04/2010

[18] Memória Virtual
https://secure.wikimedia.org/wikipedia/pt/wiki/Mem%C3%B3ria_virtual
Visitado em 30/04/2010

[19] Serialização
https://secure.wikimedia.org/wikipedia/pt/wiki/Serializa%C3%A7%C3%A3o
Visitado em 30/04/2010

[20] Bundle | Android Developers
http://developer.android.com/reference/android/os/Bundle.html
Visitado em 30/04/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

PNBL, lá e cá (Parte 2 de 4)

23 de abril de 2010 by

Hilton Garcia Fernandes

Este é o segundo da série quatro artigos sobre um pequeno panorama de planos nacionais de banda larga. O primeiro foi publicado neste blog em [1]. Será aqui brevemente discutido o planos nacional de banda larga dos EUA. A seguir serão comentados os planos da Malásia e da África do Sul. A conclusão tentará resumir todos os pontos polêmicos vistos aqui.

EUA

O famoso The Wall Street Journal [2] publicou recentemente matéria [3] contestando a necessidade de um plano nacional de banda larga para os EUA. Diz a matéria [3] que é falso afirmar que os EUA ocupem o décimo quinto lugar entre os países do mundo quanto à penetração de banda larga per capita. Depois de argumentações demográficas, a matéria finalmente reposiciona os EUA em… décimo lugar. E este era o país que se orgulhava de ter a melhor educação, os melhores indicadores sociais — tudo sempre usado como demonstração da pujança da nação americana e do próprio capitalismo.

The Wall Street Journal foi recentemente associado a um grupo de polemistas conservadores [4], que a expressividade americana talvez chamasse de spin doctors [5], ou especialistas em ilusão e desinteligência. O autor do artigo [5] não é nenhum esquerdista radical, mas sim o notório Jeffrey Sachs [6].

Mas a revista The Economist, que dificilmente poderia ser chamada de esquerdista tem artigo [7] que retira a discussão do subjetivismo. Para explicar porque tantas cidades americanas se esforçam para receber as redes FFTH [8] do Google, The Economist mostra que todos os países desenvolvidos têm situação de banda muito melhor que aquele dos EUA. E os últimos argumentos que retirariam os EUA de sua má situação são derrubados no debate que promoveram os leitores do artigo [9]. Por exemplo, a densidade populacional dos EUA (32 hab/km2 [10]), apesar de maior do que de alguns países europeus — como a Suécia, com 20,6 hab/km2 [11] — não justifica uma diferença tão grande de oferta de banda larga: diz o artigo da Economist [7] que a Suécia tem banda larga de 100 megabits por segundo a 24 dólares. Ao passo que nos EUA, paga-se 145 dólares por 50 mbps [7]. Um outro ponto triste do artigo é que coloca os EUA não em décimo quinto lugar em penetração de Internet, mas como décimo-nono lugar entre os países da OECD [12].

Assim, um plano nacional de banda larga é estritamente necessário nos EUA, para manter a competitividade do país vis-a-vis outras economias desenvolvidas. E é o que propôs a administração Obama, chamada algumas vezes de não-capitalista por luminares como aqueles que escrevem em The Wall Street Journal [2].

Na página de anúncio do The National Broadband Plan (ou NBP) [13], a divisão do FCC americano, similar à ANATEL brasileira, comenta que o plano propõe um planejamento ousado do futuro dos EUA, visando o crescimento econômico, a geração de empregos e a aceleração das capacidades do país em educação, saúde, segurança e outros.

E, sim, há ousadia no NBP:

  • em 2020, pelo menos 100 milhões de lares dos EUA deverão ter acesso a conexões de banda larga de 100 megabits por segundo.

    Por mais que os números 100 milhões de banda e de alcance sejam de marketing, bandas como esta já estão presentes em países desenvolvidos, a penetração é proporcional à população do país;

  • Os EUA devem liderar na pesquisa de redes sem fio e oferecê-las em número e cobertura maiores do que aquelas de qualquer outra nação.

Outros itens da proposta propõem metas também ousadas a respeito de redes sem fio como forma de aumentar a tolerância a falhas de uma rede nacional e de aumentar a eficiência no consumo de energia [13]. Sem falar, é claro, na redução da exclusão digital através da educação dos americanos para o uso de computadores.

Um ponto importante do NBP é de onde sairá o recurso para financiar a iniciativa privada e atividades governamentais. Na versão atual do plano, comentada pelo portal Convergência Digital [14], na matéria “EUA define o Plano Nacional de Banda Larga” [14], possivelmente do Fundo de Universalização também disponível lá. Os detalhes com certeza serão negociados com o congresso, já que se estima o custo total do projeto em 350 bilhões de dólares, dos quais o governo gastaria cerca de 16, apenas.

Um ponto tocado pela matéria da Economist [7], mas deixado de lado na matéria do Wall Street Journal [3], é a explicação de porque nos EUA a banda larga é tão cara, tem tão pouca penetração e mesmo baixa capacidade.

A explicação talvez surpreenda quem ache o governo Obama realmente socialista — mas não vai surpreender quem saiba que a Economist é verdadeiramente capitalista: trata-se de falta de competição. A velha e boa competição capitalista é que faz com que as empresas façam investimentos e baixem custos.

Nos EUA, em muitos casos há um duopólio. Os comentários dos leitores da Economist a respeito do artigo [9] trazem dados interessantes: a Romênia, recém saída de uma ditatura ao estilo soviético, montou um modelo de privatização das telecomunicações, que, segundo eles, garante que bandas de 20 Mbps possam ser contratadas lá por apenas 9 euros, ou cerca de 12,5 dólares.

Enfim, um ponto importante do NBP é restaurar a concorrência entre companhias de telecomunicação. Como fazer isto é algo que terá que ser negociado com toda a sociedade. E isto inclui a participação das companhias que hoje auferem o duopólio. Talvez elas não achem isso uma boa ideia…

Enfim, haverá muita oposição que o NBP terá de enfrentar.

Referências

[1] PNBL, lá e cá (Parte 2 de 2)
https://tecnologiassemfio.wordpress.com/2010/03/11/pnbl-la-e-ca-parte-1-de-2/
Visitado em 17/03/2010

[2] https://secure.wikimedia.org/wikipedia/en/wiki/Wall_street_journal
https://secure.wikimedia.org/wikipedia/en/wiki/Wall_street_journal
Visitado em 19/03/2010

[3] A ‘National Broadband Plan’
http://online.wsj.com/article/SB10001424052748703652104574652501608376552.html
Visitado em 19/03/2010

[4] Climate sceptics are recycled critics of controls on tobacco and acid rain
http://www.guardian.co.uk/environment/cif-green/2010/feb/19/climate-change-sceptics-science
Visitado em 19/03/2010

[5] Spin (public relations)
https://secure.wikimedia.org/wikipedia/en/wiki/Spin_doctor
Visitado em 19/03/2010

[6] Jeffrey Sachs
https://secure.wikimedia.org/wikipedia/en/wiki/Jeffrey_Sachs
Visitado em 19/03/2010

[7] Googlenet: A cure for America’s lame and costly broadband?
http://www.economist.com/science-technology/displaystory.cfm?story_id=15841658
Visitado em 23/04/2010

[8] Fiber to The X
https://secure.wikimedia.org/wikipedia/en/wiki/Ftth
Visitado em 23/04/2010

[9] Googlenet: A cure for America’s lame and costly broadband? — Readers’ comments
http://www.economist.com/node/15841658/comments
Visitado em 23/04/2010

[10] USA
https://secure.wikimedia.org/wikipedia/en/wiki/USA
Visitado em 23/04/2010

[11] Sweden
https://secure.wikimedia.org/wikipedia/en/wiki/Sweden
Visitado em 23/04/2010

[12] OECD
https://secure.wikimedia.org/wikipedia/en/wiki/Oecd
Visitado em 23/04/2010

[13] The National Broadband Plan
http://www.broadband.gov/plan/
Visitado em 23/04/2010

[14] Convergência Digital
http://convergenciadigital.uol.com.br/
Visitado em 23/04/2010

[15] EUA definem o Plano Nacional de Banda Larga
http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=21996&sid=4
Visitado em 23/04/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Modem 3G Sony Ericsson MD300 USB no Linux

17 de abril de 2010 by

Marcio Barbado Junior
(BDS Labs)

Este é um tutorial prático para instalar no GNU/Linux o modem 3G, modelo MD300, fabricado pela Sony Ericsson para operar em sistemas operacionais proprietários.

Pode-se em certa medida, aproveitar este conteúdo para qualquer combinação entre uma distro e um modem 3G USB, fazendo-se pequenas adaptações nos passos descritos, que são especificamente focados no modem MD300 e em distribuições baseadas em Fedora/Red Hat e Debian.

É possível o utilizar com HSDPA, UMTS, EDGE e GPRS mas o equipamento não oferece suporte para chamadas de voz GSM. Também pode enviar e receber mensagens SMS. Tudo isso é fácil, considerando-se Windows e Mac OS.

Essas situações contudo causam “dores de cabeça” a usuários Linux, e muitos acabam deixando de utilizar o pinguim por não terem seu hardware devidamente reconhecido. Problema recorrente.

O caso é que usuários PJ (ou pessoa jurídica, empresariais) são grandes disseminadores de paradigmas tecnológicos, e o dispositivo da Sony Ericsson representa uma grande barreira à adoção do Linux na medida em que a operadora Claro vem sugerindo a seus clientes “corporativos” a utilização do modem em questão, o que inclusive constitui uma especie de venda casada, já que ao aceitarem a “sugestão”, os clientes se vêem obrigados a possuir/adquirir uma licença paga de modo que possam usufruir do equipamento.

A questão toda se resume à constatação de uma estrategia velada, adotada por grandes players do mercado, que acaba por minar a confiabilidade do Linux.

Assim, as presentes linhas objetivam aliviar o incômodo e o desrespeito causado aos usuários do pinguim, e principalmente perseverar na batalha em prol da transparência de códigos E nessa missão, discorrem principalmente sobre udev e wvdial.

1 Introdução

Utilizou-se para redação destas linhas um sistema Fedora 10 de 64 bits, kernel “2.6.27.5”. As adaptações para Debian são citadas sempre que preciso, e com pequenas alterações, o roteiro poderá resolver problemas de outras distribuições Linux que estiverem utilizando outros modems 3G USB.

Apesar do que afirmam alguns especialistas, versões de kernel posteriores à “2.6.19” podem encontrar dificuldades para entender um modem 3G USB [1].

No Brasil, o MD300 é utilizado principalmente em sistemas operacionais Windows, e nesses, é gerenciado por um software proprietário chamado “Wireless Manager”, que se instala automaticamente, “espetando-se” o modem.

Bem, a historia é diferente no Linux. O pinguim exigirá que se escreva uma regra de udev, e que se configure o wvdial para então aceitar e entender o equipamento.

A regra de udev elimina o problema da detecção automática da memória flash presente no equipamento, e ativa o dispositivo /dev/ACM0 ou seja, o udev permitirá que o MD300 seja devidamente reconhecido pelo sistema. O wvdial é um discador dial-up inteligente que será utilizado para fazer o modem funcionar com PPP (daemon pppd) após ser reconhecido.

É dito “inteligente” pois utiliza algoritmos heurísticos para obter a conexão Algumas vezes, tais algoritmos mais atrapalham do que ajudam.
São mostrados com simplicidade e detalhes, todos os passos necessários para suplantar as barreiras impostas pela Sony Ericsson aos usuários Linux. Tais dificuldades serão combatidas, e a rede da Claro será utilizada sem a necessidade de se conhecer o PIN e/ou o PUK do equipamento. Todavia, faz-se preciso o conhecimento de algumas informações elementares da operadora como o APN e o “número” para o qual ligar por exemplo.

1.1- Medidas preliminares

Caso se esteja utilizando o SELinux — recomenda-se que sim — coloque-o provisoriamente em modo permissivo até que o modem esteja funcionando corretamente. Isso é feito no arquivo /etc/sysconfig/selinux com a linha:

SELINUX=permissive

Outro ponto a se verificar diz respeito às presenças do kppp, gnome-ppp, wvdial e minicom, ferramentas que poderão ser usadas:

$ rpm -q kppp gnome-ppp wvdial minicom

ou:

$ which kppp gnome-ppp wvdial minicom

Caso não estejam presentes, deve-se ao menos realizar a instalação do wvdial embora os comandos abaixo instalem as três, que é a recomendação deste tutorial:

# yum install kppp gnome-ppp wvdial minicom

ou:

# apt-get -y install kppp gnome-ppp wvdial minicom

Uma medida a se tomar após as instalações diz respeito à permissão de escrita que os usuários devem possuir em:

/etc/ppp/pap-secrets

e:

/etc/ppp/chap-secrets

que são arquivos utilizados pelo wvdial.
O próximo passo é permitir que contas de usuário utilizem o wvdial pois o mesmo só pode ser executado pela conta root. Isso pode ser feito com o sudo, lembrando que o wvdial fica costumeiramente em /usr/bin/wvdial.

2- udev rules! [2]

Constitui um percalço comum em distribuições Fedora / Red Hat e RHEL, a situação em que o sistema não consegue disponibilizar o modem automaticamente. Isso pode estar relacionado à memória flash contida no dispositivo, que provavelmente estará sendo detectada e montada automaticamente como uma mídia USB genérica no diretório /media/ (ou /mnt/ para distribuições baseadas em Debian).

O problema existindo, irá interferir na correta detecção do MD300. Pode-se detectar essa falha rapidamente se o sistema utilizar um ambiente gráfico, constatando-se o ícone MD300 no Desktop. E nesses casos basta dizer ao sistema operacional para não detectar a memória flash do modem como uma mídia USB.

Todavia, essa correção NÂO deve ser feita através do gerenciador gráfico de dispositivos USB ou editando-se o arquivo /etc/fstab. A questão é resolvida com o udev!

Sucessor do devfs, o versátil udev é um componente escrito em C, que opera dinamicamente sobre o diretório /dev/, local em que cria arquivos de dispositivos. É comum para dispositivos seriais, a utilização de arquivos do tipo tty*, exemplo:

/dev/ttyS3

ou:

/dev/ttyUSB0

O equipamento Sony Ericsson possui várias funções, capazes de ativar dispositivos no diretório /dev/, exemplo:

FUNÇÃO DISPOSITIVO EXEMPLO
rede /dev/eth[N] /dev/eth2
memória flash /dev/sdb[N] /dev/sdb1
modem /dev/ttyS[N] /dev/ttyS1

A função “memória flash”, quando detectada, impede o correto uncionamento do MD300 mas o mesmo NÃO pode ser dito sobre a função de rede — em geral dispositivo /dev/eth2.
Cabe destacar a existência de uma correspondência aproximada entre os padrões para portas seriais em UNIX e MS-DOS.
Enquanto o padrão de Redmond é COMn, com n iniciado em 1 — por exemplo: COM1 –, o padrão UNIX é ttySn, com n iniciado em 0. No exemplo dado, /dev/ttyS0.
A tabela abaixo apresenta essa correspondência de forma mais detalhada:

/dev/ttys0 (COM1) porta 0x3f8 IRQ 4
/dev/ttys2 (COM3) porta 0x3e8 IRQ 4
/dev/ttys3 (COM4) porta 0x2e8 IRQ 3

Qual (ou quais) dos ttySn corresponde (ou correspondem) ao MD300?

Pois é: nenhum deles. A regra a ser escrita irá inibir o reconhecimento da memória flash e mostrar que para o MD300, o sistema operacional utiliza /dev/ttyACM0.

Faz-se a regra do udev através da criação de um arquivo de texto com sufixo .rules no diretório /etc/udev/rules.d/:

# vim /etc/udev/rules.d/50-md300modem.rules

Copia-se o conteúdo a seguir neste arquivo. Cuidado com as aspas simples e duplas ao copiar e colar. Confira se elas foram transportadas corretamente depois de colar:

ACTION!="add", GOTO="3G_End"
BUS=="usb", SYSFS{idProduct}=="d0cf", SYSFS{idVendor}=="0fce", 
PROGRAM="/bin/sh -c 'echo 3 > /sys/%p/bConfigurationValue'"
LABEL="3G_End"

Os valores de SYSFS{idProduct} e SYSFS{idVendor} devem ser obtidas através do dmesg:

$ dmesg | grep usb

que apresentará em sua saída, tais informações:

usb 3-2: New USB device found, idVendor=0fce, idProduct=d0cf
usb 3-2: Product: Sony Ericsson MD300
usb 3-2: Manufacturer: Sony Ericsson

Criado o arquivo, reinicia-se o sistema operacional.

3- wvdial [3] [4]

Grosso modo, o wvdial (ou Weave Dial) é um discador escrito em C++ por Dave Coombs e Avery Pennarun, e licenciado sob a LGPL, que não é “viral” como a GPL, infelizmente.

O programa, que utiliza o protocolo PPP através do daemon pppd, deve ser utilizado pela conta root a princípio, e automatiza diversas tarefas, tornando desnecessário o conhecimento de PIN e PUK para a conexão.

Utilizado em linha de comando, caso não possua opções, o discador irá ler seu arquivo de configurações globais:

/etc/wvdial.conf

e em seguida, um dos arquivos das contas de usuário, que são:
~/.wvdial.conf

ou:

~/.wvdialrc

eventualmente presentes no diretório home do usuário
Os arquivos de configuração seguem o padrão .ini do Windows. Os nomes das seções estão entre colchetes e seus conteúdos são sequências de linhas no modelo:

variável = valor

Linhas comentadas são iniciadas pelo caractere “ponto e virgula”, ou “;“. Antes mesmo de se usar o wvdial pela primeira vez, é preciso executar como root o programa wvdialconf, que possivelmente identificará a porta serial do modem:

# wvdialconf /etc/wvdial.conf

Caso a ferramenta tenha êxito, o dispositivo referente ao MD300 será detectado e algumas informações básicas de configuração serão carregadas no arquivo global /etc/wvdial.conf, que em seguida deve ser editado com informações especificas:

# vim /etc/wvdial.conf

Utiliza-se o seguinte conteúdo no arquivo — algumas linhas já terão sido preenchidas pelo wvdialconf:

[Dialer Defaults]
Modem = /dev/ttyACM0
Modem Type = USB Modem
Baud = 460800
Init = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br"
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99***1#
Dial Command = ATM1L3DT
Username = claro
Password = claro
Stupid Mode = 1
Auto DNS = on
Check DNS = on
Check Def Route = on
Remote Name = *
Carrier Check = on
Auto Reconnect = on
Abort on No Dialtone = on
Dial Attempts = 3
ISDN = 0

Atenção com as aspas.

O exemplo é especifico para o MD300 e para a Claro. Valores à direita de = e algumas variáveis poderão mudar em acordo com o modem e a operadora utilizada. O comando:

$ man wvdial.conf

fornece mais informações sobre o devido preenchimento do arquivo /etc/wvdial.conf, procedimento este que após ser concluído, deve ser seguido de uma reinicialização do sistema operacional com o modem espetado, e então a conexão pode ser gerenciada pelo kppp e/ou pelo gnome-ppp; e/ou diretamente pelo wvdial:

$ sudo wvdial

e para se desconectar, caso tenha usado o wvdial, pressione Ctrl + c.

4- Soluções de problemas

Caso a conexão fique instável, é possível como root, verificar o que ocorre no sistema em tempo real com o tail, utilizando-se a opção -f (de follow) para seguir os últimos registros:

# tail -f /var/log/audit/audit.log

ou:

# tail -f /var/log/messages

Os registros do arquivo /var/log/audit/audit.log serão úteis caso o SELinux esteja ativado.

As seções a seguir cobrem os problemas mais comuns que podem aparecer com os procedimentos aqui descritos.

4.1- Arquivos de configurações do wvdial [4]

Talvez o leitor tenha optado por editar arquivos do usuário, que são o:

~/.wvdial.conf

e/ou o:

~/.wvdialrc

e o wvdial não o(s) esteja utilizando.

Isso se resolve colando todas as configurações supracitadas no arquivo global, chamado /etc/wvdial.conf.

4.2- Conecta mas o web browser não carrega conteúdo

Cabe salientar que em alguns casos a saída que o wvdial apresenta no terminal leva a crer que os servidores de nomes (DNS) foram devidamente obtidos, exemplo:

--> pppd: =
--> primary DNS address 200.169.119.221
--> pppd: =
--> secondary DNS address 200.169.119.222
--> pppd: =

O sintoma é o navegador reclamando de um endereço qualquer como http://www.google.com ou http://www.bdslabs.com.br. O conteúdo simplesmente não é exibido.
E, ao contrário do que possa parecer, talvez esteja ocorrendo um erro relacionado a DNS.

Isso pode ser verificado da seguinte forma. Caso seja possível pingar um IP (por exemplo, 200.169.119.221) mas não seja possível pingar um nome (por exemplo, http://www.google.com), então o problema é de fato a obtenção dos servidores de nomes, e a solução é adicionar as seguintes linhas no final do arquivo /etc/resolv.conf:

domain bandalarga.claro.com.br
nameserver 200.169.119.221
nameserver 200.169.119.222

Este procedimento corresponde à copia do conteúdo presente em /etc/ppp/resolv.conf no arquivo /etc/resolv.conf.
O arquivo /etc/ppp/resolv.conf possuirá os IPs mostrados na saída do wvdial.

4.3- Não é possível se descobrir a porta serial do modem

Uma opção para essa situação é utilizar o programa minicom [5].

Nativo em muitas distros, ele só pode ser configurado e testado em uma porta serial de cada vez. A configuração começa através do comando:

# minicom -s

que leva ao menu configuration no qual se escolhe a opção Serial port setup. Uma vez lá, modifique Serial Device e retorne ao menu. Escolha então Save setup as dfl e em seguida, Exit from Minicom. Execute o programa novamente:

# minicom

e digite:

AT

é esperada uma resposta OK; caso não se obtenha tal resposta, digite:

ATQ0 V1 EI

novamente, espera-se uma resposta OK. Caso ela não venha mesmo assim, refaça a configuração do minicom utilizando outro dispositivo e repita os testes.

Um programa que pode ajudar o minicom se chama setserial. Este, pode obter e modificar informações das portas seriais. O seguinte comando é um exemplo que obtem informações básicas sobre algumas delas:

# setserial -g -a /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

Uma saída típica do setserial pode ser:

/dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS1, Line 1, UART: unknown, Port: 0x02f8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS3, Line 3, UART: unknown, Port: 0x02e8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal auto_irq

5- Conclusões

Frequentemente se verifica a fabricação de equipamentos USB que funcionam apenas em sistemas proprietários Esta é uma das razões que prejudica a disseminação do Linux.

Particularmente, alguns fabricantes de equipamentos 3G como a Huawei, preocupam-se com sistemas operacionais livres. A Sony Ericsson infelizmente não faz parte desse grupo.

É possível contudo, combater esse desrespeito a usuários Linux através da devida modificação do sistema. E na maioria dos casos, isso se resume a escrever uma regra udev, configurar e utilizar devidamente o wvdial.

Contato

Marcio Barbado Jr. é empresário e ativista do Software Livre, sendo um dos proprietários da BDS Labs, em
http://www.bdslabs.com.br

Marcio possui larga experiência em programação, projeto e integração de sistemas.

E-mail para contato: contato@bdslabs.com.br

6- Referências

[1] LINUX MAGAZINE #63 (FEVEREIRO de 2010) – Pergunte ao Klaus
http://www.linuxmagazine.com.br/article/pergunte_ao_klaus_lm63
Visitado em 16/04/2010

[2] Entendendo o udev – Carlos E. Morimoto
http://www.guiadohardware.net/tutoriais/acessando-dispositivos-usb-escrevendo-regras/entendendo-udev.html
Visitado em 16/04/2010

[3] WvDial | freshmeat.net
http://freshmeat.net/projects/wvdial/
Visitado em 16/04/2010

[4] páginas man (manuais de utilização) wvdial e wvdial.conf

[5] Modem-HOWTO — 18. Troubleshooting
http://tldp.org/HOWTO/Modem-HOWTO-18.html
Visitado em 16/04/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Confiabilidade do projeto SAWiM (parte 1 de 2)

9 de abril de 2010 by

Fábio Damião Barbosa Ricci

Redes Mesh sem fio possuem grandes vantagens comparadas às redes cabeadas, destacando-se principalmente pelo baixo custo, implementação gradual e tolerância a falhas [1]. Elas podem ser tão confiáveis quanto redes cabeadas através do uso adequado de protocolos de comunicação, encriptação, modulação de sinal, uso adequado de antenas, topologia de rede etc. Tais ferramentas foram desenvolvidas e aperfeiçoadas justamente para garantir à comunicação sem-fio as características já inerentes de uma comunicação cabeada.

Baseada nestas premissas o projeto SAWiM [2] busca conciliar esta confiabilidade de comunicação com o desenvolvimento de um novo tipo de controlador semafórico.

Em visita realizada ao estande de empresas fabricantes de controladores semafóricos na feira de infraestrutura de transportes TranspoQuip [3] em 2009, houve certa resistência a um novo conceito de controlador semafórico, já que este é um produto desenvolvido há muito tempo e com muito cuidado para garantir confiabilidade de operação. Com isso, sua tecnologia pouco evoluiu no decorrer de décadas. Devido a esta lenta evolução, pôde-se perceber grande interesse por parte de engenheiros da empresa sobre a nova tecnologia de Rede Mesh, que poderia ser utilizada na interligação dos controladores de tráfego com a central de controle e, com isso, além de garantir a tão consagrada confiabilidade dos controladores eletrônicos de tráfego, garantir também sua controlabilidade a partir de um centro de gerência.

O desenvolvimento do projeto SAWiM deve gerar um produto capaz  de se adequar às especificações das companhias de engenharia de tráfego metropolitanas, que estabelecem as mínimas condições técnicas e funcionais. Tais exigências especificam características técnicas básicas, características funcionais, modos de operação, características gerais de projeto e construção, documentação técnica, ensaios, inspeção e aceitação.

Apesar dos semáforos aparentarem para o usuário serem apenas dispositivos simples que acionam lâmpadas, todas as suas especificações são complexas com parâmetros técnicos e funcionais detalhados, como por exemplo os que especificam sequência de cores, períodos de entreverdes e tempos de segurança, tipos de estágios quanto ao tempo de duração (fixa ou variável) e quanto a ocorrência dentro do ciclo de duração (dispensáveis ou indispensáveis).

Esta e outras normas devem ser seguidas por se tratar de um dispositivo que deve lidar com a vida humana. Sua padronização elétrica e funcional garante a homogeneidade e confiabilidade do sistema semafórico como um todo.

O projeto do controlador SAWiM é composto por 2 módulos interligados por um cabo: um módulo Mesh que possui um sistema Linux embarcado responsável pela programação e comunicação,  e um módulo Atuador. Sua principal diferença com um controlador convencional é o fato de haver um controlador por semáforo e sua comunicação adjacente e programação de ações são feitas pelo software rodando em Linux no módulo Mesh, permitindo, com isso, uma grande maleabilidade de ações e processamento devido à grande flexibilidade operacional de um sistema Linux.  O módulo Atuador se responsabiliza pela realização das ações, medições e sensoriamento, comunicando-se intermitentemente com o módulo Mesh.

A comunicação em Rede Mesh é feita com  semáforos intra-grupo quando é necessária a alteração de sinalização em apenas um grupo semafórico e também pode ser feita inter-grupos,  quando é necessária uma sincronização entre grupos semafóricos, de cruzamentos diferentes.

A ilustração abaixo descreve um exemplo simplificado de comunicação:

Exemplo de comunicação entre controladores SAWiM.

Neste exemplo, temos a comunicação intra-grupo entre o controlador mestre, seu adjacente e seu opositor.  Também há comunicação inter-grupos entre 2 controladores SAWiM mestres. Neste exemplo de comunicação inter-grupos, o controlador mestre A envia uma mensagem de comando ao controlador mestre B para alterar sua sinalização após um período de t segundos, realizando, com isso, a  sincronização sequencial de tempos de verde (onda verde [4]).

Por tudo isso, o projeto SAWiM tem como objetivo quebrar paradigmas de sistemas de controladores semafóricos, desenvolvendo uma nova tecnologia passível de grande confiabilidade, maleabilidade funcional e baixo custo. Apesar disso, por se tratar de um novo produto em desenvolvimento, ainda é impossível compararmos sua confiabilidade com os consagrados controladores atuais.

Referências

[1] Redes mesh e grafos.
https://tecnologiassemfio.wordpress.com/2010/01/22/redes-mesh-e-grafos/

Visitado em 08/04/2010

[2] Trânsito e Redes Mesh
https://tecnologiassemfio.wordpress.com/2010/02/12/transito-e-redes-mesh/

Visitado em 09/04/2010

[3] TranspoQuip.
http://www.transpoquip.com.br/br/index.html

Visitado em 09/04/2010

[4] Onda verde – Instituto Trânsito Brasil.
http://www.transitobrasil.org/anexos/artigos/145.pdf

Visitado em 09/04/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Uso Não-Comercial – Obras Derivadas Proibidas 3.0 Não Adaptada

Banda larga, 3G e contas

2 de abril de 2010 by

Hilton Garcia Fernandes

Em 16 de outubro de 2009, durante a Futurecom 2009 [1], o presidente da Oi [2], Luiz Eduardo Falco deu uma entrevista à Convergência Digital TV [3], que foi publicada no Youtube [4].

Nesta entrevista, Falco faz várias afirmações que valem a pena ser discutidas; algumas bastante polêmicas. Contudo, uma das mais importantes, título do video e apresentada no resumo do video no Youtube, não está contida no video. Pode ser localizada em matérias relacionadas, como [5], de Ethevaldo Siqueira [6]. Seria a afirmativa de que as teles já investiram cerca de R$ 11 bilhões e têm cerca de 200.000 km de rede construída. Muitos a discutem, mas isto não será feito aqui, pois outro é o foco deste texto.

O que será discutido são duas afirmações de Falco, a respeito da possibilidade e oportunidade de banda larga no 3G [7], e uma estimativa de custos apresentada por ele para uma rede desse tipo.

Web 2.0 e transparência

Por uma questão de justiça, deve-se louvar a transparência permitida pela Web 2.0 [8], que permite que conteúdos como o deste vídeo possam ser oferecidos para a população. Antes dela, seria difícil conhecer o pensamento vivo do presidente de uma operadora como a Oi.

Também foi possível que a população se manifestasse a respeito das opiniões do presidente da Oi expressas na entrevista [4]. Em geral de forma bastante agressiva, com palavrões e, num primeiro momento, até mesmo com racismo. Felizmente, a Web 2.0 tem seus mecanismos de ajuste e os ataques racistas foram retirados.

De qualquer modo, o que resta é que a população — e os brasileiros usuários do Youtube são parte importante dela –, está bastante insatisfeita com o padrão de serviços oferecidos pelas teles.

Banda larga 3G

A afirmação de Falco que causou polêmica em [4] foi a que não é possível, e nem desejável que os usuários tenham direito a 3G com banda maior do que 300 kbps.

Segundo o raciocínio de Falco, seria muito caro desenvolver redes para oferecer 30 Mbps, ou megabits por segundo, para a população. E, afinal de contas, com 300 kbps se tem navegação satisfatória, para usuários individuais, segundo ele.

Um ponto muito triste é que as operadoras venderam planos de capacidades muito maiores do que os 300 kbps — na faixa de 1 Mbps. Com certeza elas se resguardaram em cláusulas contratuais de fornecimento garantido, possivelmente de apenas 10% do valor nominal: assim 1 Mbps nominal vira apenas 100 kbps garantidos.

Não é de se surpreender que usuários tenham se manifestado de modo tão agressivo quanto aquele visto nos comentários da entrevista [4].

Sem querer colocar as teles como empresas malévolas, é necessário admitir que, mundialmente, toda comunidade de telecomunicações se surpreendeu com o crescimento, no último ano, do consumo da banda larga móvel. Em termos mundiais, ele foi de cerca de 72% [9]. No Brasil, chegou a ser de incríveis 327% [10].

Duas conclusões:

  1. há uma demanda incrivelmente reprimida no atendimento da Internet, que que leva usuários a procurarem alternativas de atendimento.Claro que o brasileiro é um povo fascinado por novidades, e é claro que há conveniências na banda larga móvel. Mas 327% são 327%;
  2. o modelo concorrencial brasileiro, que analistas ponderados como Cláudio Dascal não hesitam em chamar de “cartel” [11], tem sido muito tolerante com as empresas também quanto à exigência de serviços e planos de investimento.Afinal, mesmo que o erro, humana ou tecnicamente seja inevitável, a correção também deveria sê-lo: se o consumo de banda larga 3G excedeu as expectativas, as agência reguladoras deveriam pressionar as empresas para uma solução que garantisse melhor qualidade de serviço. Mesmo que os contratos, juridicamente, ainda sejam válidos, garantir apenas 10 % do valor nominal é extremamente insatisfatório para empresas e usuários.

Contas para infra-estrutura

Um outro ponto muito interessante na entrevista de Falco [4] é sua afirmativa de que, em uma rede de operadora típica, valem as seguintes proporções aproximadas de custo:

  • o backbone [12] corresponde a 15% do custo global da rede;
  • o backhaul, ou a parte da rede por onde ele trafega [12], custa entre 35 e 50%;
  • o last mile, ou rede de atendimento ao cliente [12], custa cerca de 50%

Em uma entrevista, alguma imprecisão entre valores deve ser tolerada. Sendo assim, se o custo da rede do backhaul varia entre 35% e 50%, é provável que, nesta estimativa, o custo do last-mile (outro grande custo) também deva variar entre estas faixas visando chegar a 100%. Como o custo do backbone é o menor dos três componentes, sua variabilidade aparentemente tem de ser menor.

Seria interessante aplicar as contas ao projeto de rede nacional de banda larga, aventada pelo governo federal [12]. Em primeiro lugar, segue a imagem do mapa de fibra óptica disponível.

Backbone da Eletronet

Pode-se ver que é uma rede muito ampla que cobre mais do que o litoral, chegando ao Tocantins e ao interior do Maranhão. Alguns [13] estimaram a rede da Eletronet em cerca de R$ 600 milhões. Portanto, o total da rede, segundo esses cálculos estaria em em cerca de R$ 4 bilhões. Estes recursos seriam suficientes para cobrir grande parte do território nacional — ou pelo menos a parte onde está grande parte da população.

Simetricamente, as teles têm comentado [5] que seus investimentos chegam a R$ 11 bilhões. Refazendo as contas, tem-se que, destes cerca de R$ 1,6 bilhões seriam o custo de seu backbone. Dividindo esse valor por 4 — pois parece ser este o número das maiores operadoras — ter-se-iam backbones de R$ 400 milhões. Ou cerca de 67% inferiores àqueles da Eletronet, já bastante impressionantes. Seria interessante ver mapas dos backbones das teles para fazer essa comparação de modo justo.

Estas são contas muito simplificadas, que não levam em conta a história de cada companhia: algumas teles receberam parte de seu backbone das estatais que compraram; outras têm grande parte de sua clientela em área relativamente reduzida.

Mas fazem pensar que números da casa de bilhões ou milhões de reais devem ser apresentados com bastante cuidado, maior do que aquele que está sendo praticado no debate do PNBL.

Referências

[1] Futurecom 2009
http://www.futurecom2009.com.br/
Visitado em 25 de março de 2009

[2] Oi (telecomunicações)
https://secure.wikimedia.org/wikipedia/pt/wiki/Oi_(telecomunica%C3%A7%C3%B5es)
Visitado em 25 de março de 2009

[3] Convergência Digital TV
http://www.convergenciadigital.com.br/cgi/cgilua.exe/sys/start.htm?sid=84
Visitado em 25 de março de 2009

[4] Banda Larga: Brasil não pode se dar ao luxo de duplicar infraestrutura
http://www.youtube.com/watch?v=0tMRE1t93NU&feature=related
Visitado em 25 de março de 2009

[5] Teles e especialistas rejeitam estatização – Ethevaldo Siqueira
http://www.ethevaldo.com.br/Generic.aspx?pid=1555
Visitado em 25 de março de 2009

[6] Ethevaldo Siqueira
https://secure.wikimedia.org/wikipedia/pt/wiki/Ethevaldo_siqueira
Visitado em 25 de março de 2009

[7] 3G
https://secure.wikimedia.org/wikipedia/pt/wiki/3g
Visitado em 25 de março de 2009

[8] Web 2.0
https://secure.wikimedia.org/wikipedia/pt/wiki/Web_2.0
Visitado em 25 de março de 2009

[9] Allot MobileTrends: Global Mobile Broadband Traffic Report Shows Significant 72% Growth in Worldwide Mobile Data Bandwidth Usage in H2, 2009
http://bit.ly/boQr46
Visitado em 25 de março de 2009

[10] Banda larga móvel cresce 227%
http://bit.ly/bw5JiY
Visitado em 25 de março de 2009

[11] Mais um competidor em telefonia celular?
Teletime, Ano 13, no. 130, Março 2010

[12] Plano Nacional de Banda Larga: primeiras ideias
https://tecnologiassemfio.wordpress.com/2010/02/19/plano-nacional-de-banda-larga-primeiras-ideias/
Visitado em 25 de março de 2009

[13] Oi negocia compra de dívida da Eletronet por R$ 140 mi
http://insight-laboratoriodeideias.blogspot.com/2010/02/oi-negocia-compra-de-divida-da.html
Visitado em 25 de março de 2009

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Conectividade de redes mesh

26 de março de 2010 by

Ricardo Andrade Dalla Bernardina

Redes mesh podem ser estudadas pela teoria dos grafos [1]. Para seu correto funcionamento é necessário que qualquer AP (Acess Point) tenha comunicação com qualquer outro. Por isso, é natural a relação entre a conectividade entre um AP e todos os outros de uma rede mesh, e o fato do grafo associado a eles ser conexo ou não [2]. Com esta finalidade criou-se o programa connect.g [3] para avaliar se o grafo de uma rede mesh é conexo, utilizando a linguagem gvpr [4]. o programa é mostrado a seguir:

BEGIN {
     graph_t comp;
}
N {
     comp = compOf ($G, $);
     printf ("%s\n", $G.name);
     if (comp.n_nodes < $G.n_nodes) {
          printf("'%s' is not a connected graph.\n", $G.name);
     }
     else{
          printf("'%s' is a connected graph.\n", $G.name);
     }
     exit(0);
}

No passo BEGIN é declarado o grafo comp. Este grafo é usado no passo N para receber o valor da chamada de compOf() do grafo de que se deseja verificar a conectividade. A função compOf() verifica, dado um grafo g e um nó n deste grafo, quais nós de g estão conectados com o nó n. A resposta de uma chamada a compOf() é um subgrafo com os nós que estão ligados a n, sem as arestas em g.

No programa é feita a chamada compOf ($G, $), onde $G significa o grafo sendo atualmente processado, e $ o nó atual no passo N. Como, em um grafo conexo, qualquer nó deve estar ligado com todos os outros nós, o número de nós do resultado do compOf() deve ser igual ao número de nós do grafo original. Por isso, a comparação

if (comp.n_nodes < $G.n_nodes)

Nela é avaliado se o número de nós do resultado de compOf() é menor que o número de nós do grafo original. Se a resposta for positiva, o grafo não é conexo. Então, é exibida na tela a mensagem de não conexão do grafo. Caso a resposta seja negativa, o número de nós do resultado do compOf() é igual ao número de nós do grafo original, pois não há possibilidade de haver maior número de nós no grafo do compOf() em comparação com o grafo original. Desse modo, a tela exibirá mensagem informando que o grafo é conexo.

É feita logo a seguir uma chamada exit(0), para que o programa não exiba a mesma resposta até serem analisados todos os nós — pois se o grafo não for conexo, a chamada a compOf() para qualquer um dos nós gerará um componente conexo com menos vértices do que o grafo original.

Assim, basta testar um único nó — portanto, este é um método bastante eficiente.

Referências

[1] Redes mesh e grafos
https://tecnologiassemfio.wordpress.com/2010/01/22/redes-mesh-e-grafos/
Acessado em 25/03/2010

[2] Teoria dos grafos
https://secure.wikimedia.org/wikipedia/pt/wiki/Teoria_dos_grafos
Acessado em 25/03/2010

[3] connect.g
http://sites.google.com/site/hgfernan/arquivos/connect.g?attredirects=0
Acessado em 25/03/2010

[4] Apresentação do gvpr
https://tecnologiassemfio.wordpress.com/2010/02/05/apresentacao-do-gvpr/
Acessado em 25/03/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Yet Another Asterisk Tutorial

19 de março de 2010 by

Daniel Caraça

Atualmente, a telefonia é um meio de comunicação indispensável. Apesar de existirem muitos outros meios de comunicação, é ainda vencedora a simplicidade e eficácia da telefonia na transmissão de informações. Infelizmente, seu custo pode ser alto, principalmente levando em consideração ligações de longa distância. Uma solução que tem sido a cada dia mais usada é a de unir a telefonia com a internet, criando o VoIP [1], ou “Voz por IP”, que pode fazer ligações de longa distância a preços de ligações locais. Utilizando Softwares Livres [2], a implementação do VoIP se torna muito barata e ainda conta com a vantagem de fácil instalação e manutenção.

Uma conexão de baixa qualidade com a Internet pode trazer problemas para uma ligação VoIP. Quando se faz uma ligação normal, tem-se a sensação de estar falando com uma pessoa logo ao lado, pois a transmissão da voz é instantânea. Mas quando por algum motivo ocorre algum atraso, o usuário sente um certo desconforto e fica falando “Alô, alô?” até que a outra pessoa responda, ou seja, até que o sinal da resposta chegue. Assim para se ter uma comunicação eficaz por VoIP, deve-se dar muita importância a parâmetros como latência (ou a demora em responder) [3] e jitter (ou a irregularidade desse tempo) [4], importantes para se garantir a qualidade de serviço da ligação [5].

Em cidades digitais implementadas com redes mesh [6] há a possibilidade dos dados passarem por mais de um nó antes de chegar ao destino final — cada nó intermediário é chamado de hop. Se o número de hops for muito grande, isto aumentará a latência da comunicação.

A latência da comunicação faz uma comunicação VoIP ser um ótimo teste para uma rede. Pois apesar de números obtidos por benchmarks [7] darem bastante informação, nada melhor do que sentir “na pele”, intuitivamente, a qualidade da rede.

Este tutorial, aparentemente, mais um de tantos outros, tem como objetivo mostrar como pode ser simples fazer uma conexão VoIP entre dois computadores, o que é base até mesmo de sistemas VoIP de grande tamanho, conectando muitos computadores. A abordagem aqui têm ênfase na simplicidade, e apenas o mínimo necessário será explicado. Uma outra diferença importante deste texto é que aqui se ensina como a associar nomes aos ramais, o que não é o tipo de coisa mostrada em qualquer tutorial.

São usados 3 computadores, sendo 1 deles o servidor e os outros 2 os clientes. Nos clientes será usado um softphone; ou seja: um software que simula um telefone. Neste tutorial está sendo usado o Ekiga [8], que já vem instalado no Ubuntu [9], hoje a distribuição Linux mais popular [10]. Contudo, em qualquer outra distribuição o Ekiga funcionará da mesma forma. No servidor será usado o asterisk [11], um servidor VoIP que é Software Livre [2]. Para instalá-lo nas distribuições Debian [12], Ubuntu [9] e outras que possuam apt-get [13], basta digitar o seguinte comando:

# apt-get install asterisk

Caso a distribuição em uso não possua o comando apt-get, há vários tutoriais na internet sobre como instalar o asterisk em outras distribuições através dos comandos correspondentes a elas, como por exemplo, o comando yum [14] do Fedora [15] e o yaST [16] do openSUSE [17]

O asterisk funciona da seguinte forma: quando um usuário se loga no servidor com um programa cliente, o asterisk cria uma rota para se comunicar com o computador dele. Isso significa que o asterisk saberá para onde deve redirecionar a ligação caso alguém ligue para o ramal do usuário. Isso quer dizer também que, caso o usuário não se logue, o asterisk não saberá como chegar a seu computador. As configurações dele são feitas através de arquivos de configuração, onde se adicionam ramais, estabelecem-se as ações para as chamadas etc. Dois arquivos muito usados são o sip.conf e o extensions.conf, os quais serão modificados a seguir:

sip.conf:
– Nesse arquivo estão informações sobre os ramais que utilizarão o protocolo SIP [18] para se comunicar.

1) Há uma linha no arquivo que inicia-se com:

bindaddr=0.0.0.0

Caso se use 0.0.0.0, o asterisk escutará em todas as interfaces, mas parece aconselhável colocar apenas o IP da interface principal do servidor, pois assim não serão bloqueadas portas para VoIP de outras interfaces, como pode ver visto na descrição da chamada de sistema bind [19]

2) As linhas seguintes devem ser adicionadas ao final do arquivo:

[2000]
type=friend
secret=1234
host=dynamic        
context=teste

[2001]
type=friend
secret=4321
host=dynamic
context=teste

3)Explicando:
[] o nome entre as chaves será seu login e o seu ramal para o protocolo SIP

type é o tipo de usuário. Existem 3 tipos: friend, peer e user. Respectivamente eles podem receber e fazer ligações, apenas receber ligações e apenas fazer ligações

secret é a senha se logar no servidor

host é o IP do computador do cliente, ou dynamic caso o IP seja dinâmico

context é o contexto, ou grupo, que o usuário estará no arquivo extensions.conf. Caso ele pertença a um contexto, não poderá ligar para outro ramal pertencente a outro contexto, pelo menos sem redirecionamento de chamada.

Isto cria dois usuários SIP com o mínimo de informações possível.

extensions.conf
— Aqui estarão descritas as ações para os números discados

1) As seguintes linhas devem ser adicionada ao final do arquivo:

[ntsf]
exten => 2000,1,Dial(SIP/2000,20)      
exten => 2000,2,Hangup
exten => joao,1,Dial(SIP/2000,20)
exten => joao,2,Hangup

exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,Hangup
exten => maria,1,Dial(SIP/2001,20)
exten => maria,2,Hangup

2) Explicando:
[] o nome entre as chaves será o nome do contexto, ou grupo, que pertencem essas extensões.

exten => 2000,x,..... significa que quando ligarem para o ramal 2000, serão executados os comandos iniciados por 2000, começando pela prioridade 1, depois 2 e assim por diante…

....,Dial(SIP/2000,20) significa que o asterisk irá chamar durante 20 segundos o computador que se logou como 2000 (ramal definido no arquivo sip.conf).

Hangup significa que irá finalizar a ligação, caso não completada.

– os nomes joao e maria não foram definidos em nenhum outro lugar, mas podemos utilizá-los. Esse é o interessante do arquivo extensions: ele diz ao asterisk o que fazer quando alguém liga para algum ramal. Assim ligar para um numero não significa que só se poderá falar com uma pessoa que usa ramal, pois é possível criar ramais de redirecionamento, ramais de secretária eletrônica, ramais de atendimento etc. Fazendo dois ramais diferentes executarem a mesma ação, é um método fácil de dar aos usuários a escolha entre utilizar números ou nomes.

Com isso já se tem o suficiente para fazer uma ligação utilizando o asterisk. A última coisa que é necessário fazer é carregar esses arquivos no asterisk. Para isso, basta digitar:

# asterisk -r

Assim a CLI [20] do asterisk será aberta. Deve-se agora digitar os dois comandos seguintes:

# sip reload
# dialplan reload

Assim os arquivos sip.conf e extensions.conf serão carregados e o asterisk está pronto para gerenciar as ligações.

Nos clientes, abre-se o Ekiga, clica-se na aba Edit e depois em Accounts. Na tela aberta, clica-se em Accounts e depois em Add a Sip account. Na outra tela que se abrirá, informa-se no registrar o IP da maquina onde esta o asterisk, no user e authentication user coloque o ramal, como por exemplo 2000, e como password a respectiva senha. Como name, coloque qualquer um, pois é um parâmetro apenass para o Ekiga, e no timeout algum valor de tempo em segundos, como por exemplo 60. Agora pressione Ok e pressione close na outra tela. Faça isso para o outro computador e com isso as configurações estão terminadas.

Para fazer a ligação digite, em algum dos clientes, ramal@ip.do.servidor no local onde está sip:. Pressione a tecla Enter ou clique no botão verde e a ligação será feita.

Essas configurações apenas possibilitam fazer ligações entre 2 computadores, mas o asterisk tem um potencial muito maior, permitindo secretária eletrônica, sons, espera, salas de conferências etc. Caso haja interesse por por mais informação, há muitos tutoriais na internet que se aprofundam mais, como o VoIP Wiki [21]

Referências

[1] VoIP
https://secure.wikimedia.org/wikipedia/pt/wiki/VoIP
Visitado em 23/03/2010

[2] Software Livre
https://secure.wikimedia.org/wikipedia/pt/wiki/Software_livre
Visitado em 23/03/2010

[3] Latência
https://secure.wikimedia.org/wikipedia/en/wiki/Latency_(engineering)
Visitado em 23/03/2010

[4] Jitter
https://secure.wikimedia.org/wikipedia/pt/wiki/Jitter
Visitado em 23/03/2010

[5] O que é Traffic shaping, afinal?
https://tecnologiassemfio.wordpress.com/2010/02/26/o-que-e-traffic-shaping-afinal/
Visitado em 23/03/2010

[6] Redes mesh e grafos
https://tecnologiassemfio.wordpress.com/2010/01/22/redes-mesh-e-grafos/
Visitado em 23/03/2010

[7] Benchmark
https://tecnologiassemfio.wordpress.com/2010/01/29/benchmark-distribuidos-para-redes-mesh/
Visitado em 23/03/2010

[8] Ekiga
https://secure.wikimedia.org/wikipedia/pt/wiki/Ekiga
Visitado em 23/03/2010

[9] Ubuntu
https://secure.wikimedia.org/wikipedia/pt/wiki/Ubuntu
Visitado em 23/03/2010

[10] DistroWatch.com
http://distrowatch.com/index.php
Visitado em 23/03/2010

[11] asterisk
https://secure.wikimedia.org/wikipedia/pt/wiki/Asterisk
Visitado em 23/03/2010

[12] Debian
https://secure.wikimedia.org/wikipedia/pt/wiki/Debian
Visitado em 23/03/2010

[13] Advanced Packaging Tool
https://secure.wikimedia.org/wikipedia/pt/wiki/Advanced_Packaging_Tool
Visitado em 23/03/2010

[14] Yum
http://fedoraproject.org/wiki/Tools/yum
Visitado em 23/03/2010

[15] Fedora
http://en.wikipedia.org/wiki/Fedora_(operating_system)
Visitado em 23/03/2010

[16] YaST
http://en.opensuse.org/YaST
Visitado em 23/03/2010

[17] openSUSE
http://en.wikipedia.org/wiki/OpenSUSE
Visitado em 23/03/2010

[18] Session Initiation Protocol
http://en.wikipedia.org/wiki/Session_Initiation_Protocol
Visitado em 23/03/2010

[19] Bind
http://publib.boulder.ibm.com/infocenter/tpfhelp/current/index.jsp?topic=/com.ibm.ztpf-ztpfdf.doc_put.cur/gtpc2/cpp_bind.html
Visitado em 23/03/2010

[20] Command Line Interface
http://en.wikipedia.org/wiki/Command-line_interface
Visitado em 23/03/2010

[21] VoIP Wiki
http://www.voip-info.org/wiki/view/Asterisk
Visitado em 23/03/2010

PNBL, lá e cá (parte 1 de 4)

11 de março de 2010 by

Hilton Garcia Fernandes

O debate sobre o Plano Nacional de Banda Larga, ou PNBL [1], está se aquecendo. Mas já se mostram posições excessivamente ideológicas, o que compromete o debate. Por exemplo, atribuindo a idéia do PNBL a um viés estatista ou até esquerdista do atual e, possivelmente, do próximo governo federal.

Assim, o propósito deste conjunto de textos é contribuir para que a discussão da iniciativa importante do PNBL passe a ocorrer sobre terreno firme. Afinal, além do tema atrair a polêmica entre privatistas e estatistas, este é um ano de eleições — e há mesmo vozes muito equilibradas que afirmam que a atual formulação do PNBL é principalmente eleitoreira [2].

Um ponto importante é admitir que, de fato, ele pode ter impacto nas eleições. E que a atual equipe dirigente, inegavelmente hábil, pode realmente o estar usando com interesses eleitorais.

Contudo, ainda assim, é iniciativa que tem muito mérito e, com certeza, necessidade em um país no qual a banda larga é das mais caras do mundo [1]. Sendo assim, não se deve permitir que o tema tão importante se esgote em discussões que são de saída infrutíferas.

Uma das formas de se atingir uma visão menos parcial — afinal, todos temos uma — é comparar o incipiente PNBL nacional com outras iniciativas em todo mundo. Isto nos vai permitir observar se, de fato, são esquerdistas que promovem PNBL. E, eventualmente, vai nos ajudar a lidar com o complexo que Nelson Rodrigues atribuía a toda nação brasileira [3].

Há vários países que estão planejando nacionalmente suas redes: muitos têm mesmo uma tradição de planejamento: são desde países socialistas, como China, até países que, mesmo sendo inegavelmente capitalistas, têm políticas de planejamento estruturante. Por menos que os mercadistas admitam, entre eles estão os EUA. Sem falar em Alemanha e outros países, que alguns consideram social-democracias e, por isso, menos capitalistas.

Mas também há entre os países que planejam nacionalmente sua oferta de banda larga aqueles que estão entre os países em desenvolvimento e consideram importante estruturar sua oferta de banda larga, estimulando setores sem o desenvolvimento esperado e reativando a concorrência, no melhor sentido da palavra.

Por último, além da necessidade em si de políticas nacionais, há a necessidade premente de se ativar a oferta de banda-larga: ela é causada pelos celulares modernos que devem consumir crescentes quantidades de banda da Internet [4], devido ao 3G [5] que usam, e também ao Wi-Fi [6]. Sem falar, é claro, no esgotamento de endereços IP [7].

Seguem alguns exemplos de políticas públicas sendo propostas para diversos países.

Austrália

A Australia [8], uma democracia liberal, dificilmente poderia ser chamada de um país socialista. Apesar disso, a forma com que decidiu abordar o problema de sua rede nacional de banda larga [9] poderia ser chamado de esquerdista por algumas pessoas ideologicamente mais pró-mercado. A Australia abriu uma licitação (ou bidding) e, apesar de várias companhias terem se inscrito, considerou-se que nenhuma proposta atendia os requisitos do edital (ou RFP) [10].

Por isso, foi constituída uma companhia estatal, a NBN [11], para implantar a rede nacional.

Apesar de ser muito tentador comparar o caso brasileiro com o estatal — a Telebras é estatal, a NBN também –, os termos da comparação são equivocados:

  • lá se fala em FTTH [12], com velocidades de 20 Mbps para 90 % da população, 12 Mbps para o restante [9], aqui falamos em menos de 1 Mbps para cerca de 70% da população, segundo o Ministério das Comunicações [13];
  • lá se procurou o modelo estatal devido à crise financeira mundial [11], aqui a razão para se considerar isso foi a falta de investimento da indústria — não importa a razão que levou a isso: falha do modelo das telecomunicações, excesso de impostos etc.

Um ponto interessante é que os valores aventados para projetos tão diferentes são relativamente próximos: no caso da Australia, cerca de A$ 43 bilhões para cobrir o país [9], ou US$ 39 bilhões [14], com FTTH [12]; no caso do Brasil, fala-se em R$ 75 bilhões [13], ou US$ 42 bilhões [14].

Porém, esta é uma comparação inadequada, de vez que, apesar da área territorial dos países serem semelhantes, a população da Australia (um décimo da brasileira) é principalmente concentrada no litoral. Na verdade, fontes mais afinadas com a equipe que está discutindo o PNBL (infelizmente o Min. das Comunicações não é parte integrante dela), estimam em cerca de R$ 20 bilhões [15], ou US$ 11 bilhões [14], o custo de PNBL brasileira.

Fontes à esquerda criticaram fortemente todas as propostas do Min. das Comunicações [17], como puro lobby das teles que atualmente dominam o mercado. Contudo, o PNBL brasileiro está ainda sob discussão [18].

Nas próximas postagens desta série serão discutidos os planos nacionais dos EUA. Malásia e África do Sul.

Referências

[1] Plano Nacional de Banda Larga: primeiras ideias
https://tecnologiassemfio.wordpress.com/2010/02/19/plano-nacional-de-banda-larga-primeiras-ideias/
Visitado em 06/03/2010

[2] Telebrás, Eletronet e PNBL (170) – Ainda a “Reunião do PNBL” + O “Anãozinho” + Resumo sobre o FUST + A Lei do FUST (íntegra)
http://www.wirelessbrasil.org/bloco/2010/fevereiro/fev_39.html
Visitado em 11/03/2010

[3] Complexo de vira-lata
https://secure.wikimedia.org/wikipedia/pt/wiki/Complexo_de_vira-lata
Visitado em 06/03/2010

[4] BROADCASTING AND THE BROADBAND FUTURE: A PROPOSED FRAMEWORK FOR DISCUSSION
http://www.nab.org/documents/newsRoom/pdfs/122209_SpectrumFramework.pdf
Visitado em 11/03/2010

[5] 3G
https://secure.wikimedia.org/wikipedia/en/wiki/3G
Visitado em 06/03/2010

[6] Wi-Fi
https://secure.wikimedia.org/wikipedia/pt/wiki/Wi-fi
Visitado em 06/03/2010

[7] Agotamiento de las direcciones IPv4
https://secure.wikimedia.org/wikipedia/es/wiki/Agotamiento_de_las_direcciones_IPv4
Visitado em 06/03/2010

[8] Australia
https://secure.wikimedia.org/wikipedia/en/wiki/Australia
Visitado em 11/03/2010

[9] National Broadband Network
https://secure.wikimedia.org/wikipedia/en/wiki/National_Broadband_Network

Visitado em 11/03/2010

[10] EXTRACT FROM THE EVALUATION REPORT FOR THE REQUEST FOR PROPOSALS TO ROLL-OUT AND OPERATE A NATIONAL BROADBAND NETWORK FOR AUSTRALIA
http://www.dbcde.gov.au/__data/assets/pdf_file/0007/110014/Summary_observations_for_website.pdf
Visitado em 10/03/2010

[11] National Broadband Network: 21st century broadband
http://www.dbcde.gov.au/all_funding_programs_and_support/national_broadband_network
Visitado em 10/03/2010

[12] Fiber to the x
https://secure.wikimedia.org/wikipedia/en/wiki/Fiber_to_the_x
Visitado em 11/03/2010

[13] UM PLANO NACIONAL PARA BANDA LARGA: O BRASIL EM ALTA VELOCIDADE
http://www.mc.gov.br/wp-content/uploads/2009/11/o-brasil-em-alta-velocidade1.pdf
Visitado em 11/03/2010

[14] Xe.com: AUD to USD rate: 1.0 AUD = 0.915068 USD
http://www.xe.com/ucc/convert.cgi?Amount=1&From=AUD&To=USD&image.x=52&image.y=9&image=SubmitVisitado em 11/03/2010

[15] Xe.com: BRL to USD rate: 1.0 BRL = 0.564724 USD
http://www.xe.com/ucc/convert.cgi?Amount=1&From=BRL&To=USD&image.x=49&image.y=15&image=Submit
Visitado em 11/03/2010

[16] Telebrás, Eletronet e PNBL (180) – Análise de Clóvis Marques sobre a reativação da Telebrás
http://www.wirelessbrasil.org/bloco/2010/fevereiro/fev_51.html
Visitado em 11/03/2010

[17] “Telebrás no PNBL é a garantia da universalização da banda larga”
http://www.vermelho.org.br/noticia.php?id_secao=6&id_noticia=118549
Visitado em 11/03/2010

[18] “Telebrás, Eletronet e PNBL (211) -“Plano de banda larga pode não sair do papel este ano e Telebrás despenca no pregão” + “Você é acionista e não sabe?” + Msg de Clóvis Marques sobre a audiência pública no Senado”
http://www.wirelessbrasil.org/bloco/2010/marco/mar_33.html
Visitado em 11/03/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

O que é Traffic shaping, afinal?

26 de fevereiro de 2010 by

Rodrigo Filipe Silva Carramate


Traffic shaping [1], ao contrário do que muitos pensam, não é apenas uma forma de os provedores comerciais limitarem taxas de transferência dos chamados heavy users, que transferem muita informação pela Internet. É bem verdade que há inúmeros relatos de usuários que dizem ter sido afetados pelo traffic shaping, sobretudo daqueles adeptos do peer-to-peer (como eMule e BitTorrent) [2], mas esta prática questionável por parte dos provedores está longe de ser a única utilidade do shaping, que, quando bem utilizado, pode tornar as redes muito mais produtivas.

Do inglês shaping (em português, formatar ou modelar), o nome já elucida bastante a finalidade do procedimento, que nada mais é do que modelar a banda da rede, ou ainda atribuir um perfil de controle de banda à rede.

O leitor pode, então, se perguntar porque deveria querer introduzir limites em sua rede, quando, na verdade, quer maximizar sua capacidade. Para responder a esta pergunta devemos nos lembrar que os diferentes tipos de tráfego na rede também têm diferentes prioridades: ninguém ficaria incomodado de enviar um e-mail e este chegar um ou dois segundos mais tarde ao seu destinatário. Por outro lado, se esta pessoa estiver em uma videoconferência com o seu chefe em Miami e tiver que esperar os mesmos dois segundos entre cada palavra que ele diz, a situação tende a ficar bastante desagradável. Os dois casos citados explicam um dos benefícios do uso do traffic shaping: a priorização de tráfego, que tem por objetivo atrasar a transmissão de pacotes menos urgentes a fim de entregar mais rapidamente outros mais prioritários, esta característica do traffic shaping constitui um dos mecanismos de QoS [3], ou a tentativa de garantir diferentes níveis de serviço da rede para diferentes aplicações dela.

Uma outra vantagem do uso do traffic shaping é a quantização de banda por tipo de tráfego. Para explicar a necessidade desta utilização vamos supor que esteja em seu escritório, a poucas horas da entrega daquele relatório essencial para a conclusão do projeto, quando misteriosamente a rede, tão necessária para o término do relatório, demora minutos para carregar uma simples página da Internet. Por outro lado, no computador ao lado seu colega faz download de músicas através de torrents a alta taxa de transferência. Há grandes chances de as conexões criadas pelo seu colega estarem utilizando toda a banda disponível para a Internet na rede do escritório. Obviamente nesta situação exagerada, poderíamos simplesmente bloquear a utilização de torrents na empresa, mas suponhamos que, por alguma razão, seu uso seja necessário.

Desta forma seria necessário limitar a taxa de transferência concedida a esse tipo de tráfego, o que se trata de uma outra utilidade do traffic shaping. Com as taxas para o download e upload de torrents limitadas, a navegação na Web certamente ficaria mais rápida.

Outra face do traffic shaping é o agendamento de perfis, no qual o gerente da rede, por meio de ferramentas adequadas ao seu sistema operacional, implementa o disparo automático de configurações pré-programadas, desta forma podendo adequar as quantidades de banda às necessidades específicas dos vários horários.

No caso de cidades digitais [4] temos uma grande variedade de usos, devido à complexidade das redes. Podemos, por exemplo, imaginar uma cidade em que tenha sido projetada uma rede para atender tanto a repartições da prefeitura quanto à população em geral. Uma regra de traffic shaping apropriada a essa estrutura seria reservar uma quantidade razoável de banda às repartições durante os seus respectivos horários de funcionamento. Esta medida preveniria o uso de todos os recursos pela população, evitando limitações na conectividade da prefeitura. Do mesmo modo, após o horário de funcionamento poderia se estabelecer uma regra onde essa banda fosse novamente disponibilizada à população, promovendo melhora na conexão a ela oferecida.

Podemos, então, entender o traffic shaping como um conjunto de regras planejado a fim de otimizar a rede e moldá-la a necessidades específicas. Infelizmente há quem o utilize para lesar consumidores. Por exemplo, proibindo tráfegos como Peer-to-Peer, ou a telefonia pela Internet, chamada VoIP [5].

Referências


[1] Traffic shaping
Visitado em 26/02/2010

[2] Quality of Service
Visitado em 26/02/2010

[3] Peer_to_peer
Visitado em 26/02/2010


[4] O que é Cidade Digital?
Visitado em 26/02/2010


[5] VoIP

Visitado em 26/02/2010

Saiba Mais

Controle de tráfego

QoS

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Plano Nacional de Banda Larga: primeiras ideias

19 de fevereiro de 2010 by

Hilton Garcia Fernandes

No Brasil, o serviço de acesso à Internet com banda larga não é dos melhores do mundo. Comparado com países similares em desenvolvimento econômico, a banda larga brasileira é mais cara, mais sujeita a falhas e até mesmo tem menor capacidade média do que aquela destes países [1]. Comparações com países europeus ou asiáticos são ainda mais desfavoráveis [2].

A inferioridade brasileira se torna assombrosa à medida que aumenta a distância do eixo Rio-São Paulo [3].

Hoje é fato bem conhecido que a Internet é fator de desenvolvimento econômico e pessoal [4]. Ao ponto de que alguns pesquisadores associam muito fortemente a exclusão digital (dificuldade de usar computadores e Internet) com a exclusão social, a dificuldade de ter acesso ao mercado de trabalho e consumo [5].

Por isso, o Plano Nacional de Banda Larga, ou PNBL [6], é tão importante. Ele é uma iniciativa ampla para reduzir tanto nossa inferioridade (comparada à de outros países), como para reduzir disparidades regionais. Além de sua importância por si, o PNBL interfere em vários pontos do atual modelo de banda larga, o que gera um número infindável de polêmicas [7], sobre o modelo de negócios a ser adotado.

Diante das polêmicas e da importância para o futuro do país, o PNBL merece toda a atenção. Por esta razão, iniciamos com este uma série de entradas, ou posts, no blog Tecnologias sem Fio, para cobrir aspectos relevantes do PNBL.

Como a proposta do PNBL está sendo esperada para o início de março [6], vale aguardar sua formalização e iniciar a sequência pelo lado técnico, o que vai permitir a uniformização dos termos, uma vez que vários dos termos adotados na atual discussão têm significado pouco padronizado, havendo quem os interprete de forma diferente daquela que tem sido usada nas discussões sobre o PNBL.

Em primeiro lugar, vale a pena definir os termos backbone, backhaul e last-mile, pois são chave no desenho das propostas em discussão. Uma forma intuitiva é fazer analogia entre a distribuição de Internet e a distribuição de água tratada. Há grandes adutoras que levam a água de represas, como a Billings a pontos distantes delas. Essas adutoras são tão grandes que sua instalação tende a ser anunciada na imprensa [8].

Para distribuir água até a casa das pessoas, é feita a derivação de adutoras menores. Quem quer que tenha observado escavações nas ruas, terá visto que há adutoras de tamanhos inferiores, que levam a água a prédios. Por sua vez, nos prédios, os canos sofrem outro estreitamento, então chegam à casa das pessoas.

Em termos de terminologia de distribuição de Internet, as grandes adutoras poderiam ser chamadas de core network (ou rede principal), ou backbone [9]. As tubulações que passam pela rua são chamadas de edge network [10], ou “rede periférica”. O movimento de informações que é feito nela é chamado de backhaul [10]. E, por último, os canos mais finos que levam a água até a casa das pessoas são chamados de last mile [11].

Estes são termos muito mais práticos do que teóricos e sua definição não é unânime. Por exemplo, Há quem os defina igualando backhaul à movimentação de dados no backbone [12].

Tanto o backbone quanto as edge networks costumavam ser de uma única companhia. Estes são pontos que o PNBL está tentando mudar, em prol de uma maior concorrência na distribuição de Internet, o que, espera-se, deve diminuir os custos e aumentar a qualidade da Internet brasileira.

No próximo post, ou entrada, do blog Tecnologias sem Fio, será feito um maior detalhamento dos modelos de negócios que a discussão do PNBL está fazendo surgir. E, pari passu [13], será mais detalhado o modelo conceitual, ou a arquitetura, da rede mundial de computadores, a Internet.

Referências


[1] Banda Larga: Brasil perde vez na América Latina

Visitado em 19/02/2009


[2] Banda larga no Brasil é 35ª em ranking com 45 países

Visitado em 19/02/2009


[3] O custo da banda larga

Visitado em 19/02/2009


[4] Federal Communications Commission FCC 09-93 Before the Federal Communications Commission Washington, D.C. 20554 In the Matter of Preserving the Open Internet Broadband Industry Practices

Visitado em 19/02/2009


[5] SILVEIRA, Sérgio Amadeu da. Inclusão digital, software livre e globalização contra-hegemônica.

Visitado em 19/02/2009


[6] Telebrás, Eletronet e PNBL (162) – “Reunião do PNBL”: Análise de Clóvis Marques

Visitado em 19/02/2009


[7] Telebrás, Eletronet e PNBL (170) – Ainda a “Reunião do PNBL” + O “Anãozinho” + Resumo sobre o FUST + A Lei do FUST (íntegra)

Visitado em 19/02/2009


[8] ADUTORAS

Visitado em 19/02/2009


[9] Internet backbone

Visitado em 19/02/2009


[10] Backhaul (telecommunications)

Visitado em 19/02/2009


[11] Last mile

Visitado em 19/02/2009


[12] Appendix 7: Glossary | Report on Commerce Commission’s Local Loop and Fixed PDN Unbundling Investigation

Visitado em 19/02/2009


[13] Pari passu

Visitado em 19/02/2009

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.