Um projeto para melhorar a experiência do usuário da Internet

25/02/2021

A Universidade de Palermo da Argentina leva adiante uma iniciativa para a otimização da latência, facilitando, dessa forma, a experiência do usuário final da Internet.

Por conta da sua inovação técnica, o projeto obteve uma subvenção do Programa FRIDA do LACNIC. Os fundos obtidos serão destinados à incorporação e formação de novos pesquisadores para a equipe de trabalho, aumentando assim a capacidade de exploração de alternativas e de desenvolvimento. O prêmio é uma grande motivação para os participantes, ampliando a visibilidade e o escopo dos resultados”, afirmou Alejandro Popovsky, decano de Engenharia na Universidade de Palermo (Argentina).

Por que é importante otimizar a latência?

Em geral, associa-se a qualidade de um serviço da Internet com a largura da banda que oferece, bem como com o overbooking que realiza o provedor, determinando a probabilidade de que o cliente possa atingir essa largura da banda nominal a maior parte do tempo.

Porém a qualidade de muitos dos serviços que acessam os usuários não dependem da largura da banda disponível. São serviços que não requerem a transmissão de grande quantidade de informação, senão que dependem da rápida resposta à solicitação do usuário. Neste caso a latência é o fator mais importante na qualidade do serviço.

Um exemplo disso é a web. As páginas webs estão compostas por dezenas e às vezes centenas de objetos – como por exemplo: gráficos – que podem baixar-se separadamente, cada um deles é uma transação contra o servidor web, e uma latência alta multiplica-se em razão da quantidade de objetos para gerar um tempo muito longo ao baixar a página por completo.

Em que consiste o projeto da Universidade de Palermo sobre o desenvolvimento de um algoritmo para melhorar a latência?

A latência nas comunicações transacionais possui dois componentes principais, a latência do servidor e a latência da rede. A latência da rede tem por sua vez um componente causado pela velocidade finita de transporte da informação nos cabos, e um componente causado pela espera dos pacotes de dados, nas filas de saída dos dispositivos de rede, no caminho da conexão. Esta espera é comumente chamada de latência de fila ou queuing delay.

Geralmente o queuing delay representa a maior parte da latência da rede, e está causado pelo algoritmo de controle de congestionamento de TCP, que tradicionalmente busca otimizar apenas dois objetivos: diminuir a perda de pacotes e maximizar o throughput.

Tomando apenas esses dois objetivos, o algoritmo de controle de congestionamento de TCP descuida outros dois objetivos que também são muito importantes: a minimização da latência e a distribuição justa da capacidade disponível entre as conexões que compartilham os recursos de rede. O problema que causam os algoritmos de controle de congestionamento tradicionais é chamado muitas vezes bufferbloat, já que enchem de pacotes os buffers de saída dos dispositivos de rede.

O projeto da Universidade de Palermo busca incorporar os dois objetivos de otimização de latência e de distribuição justa aos primeiros dois objetivos de diminuir as perdas e de adquirir a capacidade disponível, representando da melhor forma as necessidades de qualidade dos usuários da Internet.

Qual inovação representa o algoritmo que vocês propõem desenvolver?

Existem outros algoritmos de controle de congestionamento que buscam otimizar latência. Entretanto, geralmente possuem baixa performance quando compartilham o gargalo do caminho de rede com outras conexões tradicionais. No entanto, são utilizados por exemplo em servidores de atualização de aplicativos, porque podem funcionar somente com a capacidade ociosa de rede, e não importa que demorem mais ou menos, mas sim importa que não atinjam o tráfego do usuário que está, ao mesmo tempo, utilizando outros serviços sensíveis à latência.

O algoritmo de controle de congestionamento Palermo é o primeiro embasado na estimativa da quantidade de capacidade disponível utilizada pela conexão.  A maioria dos algoritmos utiliza uma realimentação baseada na detecção de perdas, outros na variação do round trip time e alguns na medição do bit rate atingido. Porém o nosso é o primeiro em estimar a quantidade de capacidade utilizada.

O algoritmo de controle de congestionamento Palermo, busca otimizar a latência e favorecer a distribuição justa da capacidade, mas sem ficar relegado a uma pequena porção ao compartilhar o caminho da rede com conexões malcomportadas que causam bufferboat.

Quem seria beneficiado com a melhora da latência?

A otimização da latência não apenas beneficiará os usuários de computadores que implementem o novo algoritmo, como também os usuários de serviços transacionais de computadores que utilizem algoritmos tradicionais e que compartilhem o gargalo de rede com os primeiros. Visto que, uma vez instalado o bufferbloat nas interfases dos dispositivos de redes, atingirá a todos os usuários que compartilharem o gargalo por igual.