|
Qualidade de Serviço em Aplicações Multimídia Distribuídas
Ana Carolina Hermann
Prof ª Dr ª Maria Janilce B. Almeida (Orientadora)
hermann@inf.ufrgs.br
Resumo
Qualidade de serviço (QoS) é um fator importante para o suporte a aplicações multimídia distribuídas. Entretanto, a diversidade dessas aplicações torna difícil estabelecer um padrão de QoS. Além disso, formas de adaptação precisam ser definidas para lidar com mudanças no nível de qualidade. Este trabalho apresenta a definição de QoS feita pela ferramenta de especificação MUSE, bem como uma forma de mapear os parâmetros de qualidade do nível de aplicação para os níveis inferiores. Uma estratégia para permitir a adaptação da aplicação em situações adversas da rede é também apresentada.
1. INTRODUÇÃO
Qualidade de serviço (QoS) pode ser definida como o conjunto de características de um sistema necessário para atingir uma determinada funcionalidade. O processamento de QoS num sistema distribuído começa com o estabelecimento dos parâmetros exigidos pelo usuário. Esses parâmetros são mapeados e negociados entre os componentes do sistema, assegurando que todos podem atingir um nível de QoS aceitável. Recursos são então alocados e monitorados, havendo possibilidade de renegociação caso as condições do sistema se alterem.
Mesmo em redes com suporte a QoS, uma aplicação pode não conseguir o desempenho ideal. A reserva pode ser do tipo otimista, havendo problemas em momentos de pico. Além disso, nem sempre os recursos necessários estão livres para serem alocados. Redes heterogêneas e esquemas de prioridade só os tornam mais difíceis de serem obtidos. Esses fatores justificam a criação de aplicações adaptativas.
Dada a diversidade das aplicações e das mídias utilizadas e a percepção muito subjetiva que o usuário tem de qualidade, torna-se difícil estabelecer um padrão para determinar níveis de QoS. Este artigo descreve a solução implementada no editor MUSE, uma ferramenta de autoria de aplicações multimídia distribuídas [1], para permitir a especificação de QoS, bem como uma forma de mapear o resultado para os níveis inferiores. O MUSE é parte constituinte do projeto ProTeM DAMD (Design de Aplicações Multimídia Distribuídas), que pretende desenvolver uma metodologia que cubra o ciclo completo dessas aplicações.
Na seção 2 deste artigo são discutidas as necessidades dos usuários. A seção 3 apresenta a motivação para aplicações adaptativas. A ferramenta é descrita na seção 4. A seção 5 exemplifica o mapeamento entre aplicação e rede e o comportamento durante a execução. Na seção 6 são apresentadas as conclusões.
2. QOS DEFINIDA PELO USUÁRIO
Sabe-se que o usuário normalmente não tem condições de especificar parâmetros de baixo nível, como largura de banda, ou mesmo propriedades das mídias, como freqüência de amostragem de um áudio. Assim sendo, é necessário que o sistema forneça um nível de abstração para que o usuário possa definir o que ele considera aceitável.
Através de testes, é possível definir faixas que estabelecem o que é considerado bom, aceitável ou ruim, criando-se tabelas que serão usadas pela aplicação. O usuário pode então escolher um valor numa escala que vai de ruim a excelente para definir a qualidade desejada. Pode-se ainda apresentar exemplos de mídias para o usuário antes da execução, de modo que ele possa escolher a amostra que apresenta as características desejáveis. O usuário ainda pode indicar uma opção que seja aceitável quando a primeira não estiver disponível [2]. Isso determina um caminho de degradação de QoS a ser tomado sem que haja necessidade de novas negociações.
É possível descrever as mídias através de suas propriedades de apresentação e de conteúdo, representando respectivamente características com as quais a mídia é apresentada e efetivamente gerada. Exemplos típicos são largura, altura e número de cores de uma imagem ou vídeo, taxa de quadros de um vídeo, taxa de amostragem e tamanho da amostra de um áudio.
Entretanto, as propriedades de uma mídia não são suficientes para definir sua qualidade. O contexto no qual a mídia está inserida também é importante. Por exemplo, a gravação de um discurso pode ser considerada aceitável ou não dependendo da língua nativa do ouvinte. Este trabalho procura fornecer condições para que o usuário especifique a QoS mais adequada dentro de um certo contexto.
3. APLICAÇÕES ADAPTATIVAS
Flutuações no nível de qualidade podem ocorrer por diversas razões, mesmo em redes que forneçam QoS, como ATM ou Internet com protocolos de reserva (RSVP, etc.). É possível que haja problemas num determinado nodo, desalocando os recursos que uma aplicação vinha utilizando e que eles não estejam disponíveis na nova rota, ou que não possam ser reservados por uma questão de prioridade. Já num ambiente heterogêneo como a Internet, não se pode obter garantias de QoS da rede, nem de que os sistemas finais possuam as mesmas capacidades. Daí surge a necessidade de aplicações adaptativas.
O processo é tipicamente iniciado por uma notificação de mudança, que pode partir do usuário, da própria rede, ou de algum componente encarregado de monitorar a QoS. A adaptação também pode ser realizada por vários elementos. Durante um congestionamento a fonte de dados pode reduzir a velocidade de transmissão, ao passo que a rede pode descartar pacotes de baixa prioridade. Além da entidade que se adapta, os sistemas podem diferir em relação a entidade que controla o processo, parâmetros observados e grau de envolvimento do usuário [3].
Aplicações multimídia são particularmente apropriadas para adaptação, uma vez que as mídias podem ser apresentadas de diversas maneiras, acomodando fatores como atraso e vazão. Um vídeo, por exemplo, pode ter diminuída a sua taxa de apresentação de quadros, resolução ou número de cores sem que a perda de qualidade ultrapasse limites aceitáveis. Assim, quando a rede não fornece condições para uma apresentação ideal, aceita-se uma perda de qualidade em relação ao parâmetro considerado menos importante.
4. QOS NA FERRAMENTA MUSE
O editor MUSE é utilizado durante a criação das aplicações multimídia (Figura 1). O autor define a forma como as mídias devem ser mostradas em termos de ordem, sincronização, posição e qualidade, gerando uma especificação que é mais tarde interpretada e o resultado apresentado ao usuário final. Este não tem condições de determinar a qualidade com que cada mídia deve ser mostrada, pois não conhece o conteúdo da apresentação. Já o autor pode definir quais informações são mais importantes e que portanto devem ter uma qualidade maior. Assim sendo, o usuário final pode aproveitar a QoS sugerida pelo autor ou fazer alguma alteração.
A ferramenta é dividida em repositório de mídias e área de especificação. Quando uma mídia local é incorporada à especificação, suas propriedades de conteúdo são automaticamente lidas. Sendo a mídia remota, a busca é disparada mais tarde, quando for conveniente. Ícones representando mídias, entre outros elementos, são inseridos na área de especificação. Quando um ícone é associado a uma mídia, suas propriedades de apresentação são inicializadas com as propriedades de conteúdo equivalentes, como largura e altura de um bitmap.

Figura 1: Esquema do ambiente
A duração da apresentação das mídias pode ser definida de forma automática, baseada nas suas características e na qualidade desejada da apresentação. A duração mínima representa uma situação ideal, como a de um mídia local, sendo portanto equivalente à própria duração desta mídia. A medida que a qualidade da apresentação diminui, devido a um decréscimo da vazão, o tempo necessário para trazer a mídia aumenta. Como um exemplo simples de cálculo, tomemos 10s de vídeo, capturado a 30 fps. Reduzindo a taxa para 15 fps, seriam necessários 20s para passar os 300 quadros.
De forma a simplificar a interface, evitando que o autor precise lidar constantemente com uma série de parâmetros, o programa trabalha com níveis de QoS. A Tabela 1 mostra os níveis e seu significado em termos da aplicação. O autor pode consultar as tabelas de mapeamento e mesmo customizá-las. É possível criar templates para certos tipos de rede ou aplicação, uma vez que o que é bom num contexto pode não ser em outro.
| Qualidade para Áudio |
Freqüência de Amostragem |
Tamanho da Amostra |
Canais |
| Muito Bom |
44 KHz |
16 bits |
Estéreo |
| Bom |
22 KHz |
8 bits |
Mono |
| Aceitável |
11 KHz |
8 bits |
Mono |
| Ruim |
8 KHz |
8 bits |
Mono |
| Qualidade para Vídeo |
Taxa de Apresentação |
Tamanho do Quadro |
Número de Cores |
| Muito Bom |
25 – 30 fps |
320 x 240 |
256 |
| Bom |
15-24 fps |
320 x 240 |
256 |
| Aceitável |
6-14 fps |
160 x 120 |
16 |
| Ruim |
1-5 fps |
160 x 120 |
16 |
Tabela 1 : Exemplos de mapeamento usuário/aplicação
O autor pode especificar uma mídia alternativa que será usada se a mídia principal não puder ser apresentada. Por exemplo, pode-se substituir um áudio por um texto equivalente ou por outro áudio, gravado com menor qualidade (Figura 2a). Isso fornece uma alternativa no caso de falta de recursos, como numa conexão lenta, e também no caso de não haver um dispositivo necessário para apresentar a mídia primária, como uma placa de som. É ainda possível visualizar a cena com as mídias primárias (Figura 2b) ou secundárias (2c).
a) b) c)

Figura 2: a) Propriedades dos ícones, b) visualização de mídias primárias e c) de mídias secundárias
5. EXECUÇÃO
Deve-se notar que a especificação gerada pelo MUSE independe do ambiente sobre o qual a aplicação irá rodar. Aspectos de comunicação são resolvidos pelo interpretador, que faz o mapeamento aplicação/rede.
Em princípio, o único parâmetro de baixo nível sendo considerado é a largura de banda. Tendo em vista a duração das mídias e a suas propriedades, é possível fazer uma estimativa da taxa de transmissão exigida. Por exemplo, para mostrar um texto de 10kb com uma duração de 20s, é necessário transmitir a pelo menos 0,5 kb/s. Já um áudio codificado em PCM, a 11kHz, 8 bits, mono, precisa de 11 kb/s.
Quando o prazo de apresentação de uma mídia não pode ser cumprido, esta é interrompida e se passa para a alternativa. Pode-se tratar as mídias alternativas de dois modos. O primeira é realmente esperar que o prazo se esgote antes de passar para a outra mídia. Por outro lado, se for determinado com antecedência que a mídia primária não pode ser trazida, pode-se passar diretamente para a secundária. Esta é a melhor opção, pois evita-se uma apresentação pela metade ou períodos em que nada é apresentado. Ao contrário da Internet tradicional, onde o estado de uma conexão poder mudar dramaticamente, o uso de um protocolo de reserva torna esse tipo de previsão muito mais acurada, pois a aplicação sabe que largura de banda estará disponível ao longo do tempo.
6. CONCLUSÕES
Este trabalho descreve uma proposta de especificação e mapeamento de QoS e sua implementação dentro do projeto DAMD. O editor MUSE permite que o autor da aplicação especifique a qualidade de apresentação de cada mídia. As propriedades de conteúdo das mídias são utilizadas para o cálculo automático de parâmetros de apresentação. Como a especificação de QoS é bastante flexível, a preferência do usuário é levada em conta e aplicações com diversos objetivos podem ser criadas. A ferramenta permite que mídias alternativas sejam definidas, permitindo a adaptação a ambientes com capacidades diferentes e a flutuações de QoS.
AGRADECIMENTOS
O projeto ProTeM DAMD e Ana Carolina Hermann são apoiados pelo CNPq.
REFERÊNCIAS
[1] Gaspary, Luciano Paschoal. MUSE - An Interactive Networked Multimedia Applications Specification Environment. CAiSE'98 - THE 10TH CONFERENCE ON ADVANCED INFORMATION SYSTEMS ENGINEERING, Pisa, Italy, Junho de 1998
[2] Fischer, Stefan, et al. Application Design for Cooperative QoS Management. Proceedings of the IFIP/IEEE 5th Int. Workshop on Quality of Service, New York City, Maio de 1997, p 191-194.
[3] Gecsei, Jan. Adaptation in Distributed Multimedia Systems. IEEE Multimedia. Vol 4 N. 2, April-June 1997, p 58-66.
[4] Vogel Andreas, et al. Distributed Multimedia and QOS: A Survey. IEEE Multimedia. Vol 2 N. 2, Summer 1995, p10-19.
Mais Informação Sobre VOIP |