sistemas multimídia distribuídos projeto carlos a. g. ferraz [email protected]
TRANSCRIPT
ProjetoO projeto de SMD requer análise de
infra-estrutura de comunicações e redes gerência de caching compressão/descompressão mecanismos de indexação
Redes e Comunicações
Independência de localização Protocolos de rede e funções de
comunicação Independência de rede
Independência de Localização
Deve ser possível mover uma aplicação para outra localização sem ter que reconfigurar estações ou a rede
Referências para objetos usados pela aplicação devem ser livres da localização física exata do objeto
Independência de localização (cont.)
Independência é conseguida criando-se uma camada de abstração no endereçamento de objetos
Os usuários não devem se preocupar com onde os objetos se localizam, quantas cópias existem, ou se sempre acessam a mesma cópia do objeto
Protocolos e Funções
Padrões bem-definidos são necessários para interfaces da camada de rede, protocolos e funções de comunicação a importância disso se dá pelo fato da existência
de diferentes dispositivos, por exemplo
Independência de Rede Essencial para um sistema multimídia
distribuído de larga escala Muitas aplicações podem executar sobre uma
combinação de redes Ethernet 10/100 Mbps Token Ring 16 Mbps ATM 155/622 Mbps FDDI 100-300 Mbps
Gerência de cache
Área de estágio temporário O tamanho da cache e a duração da
permanência dos dados (ex.: imagens) dependem dos níveis de atividade de uma aplicação
Aplicação de imagens médicas
Cache para as seguintes atividades: scanning indexação e garantia de qualidade apresentação
Exemplo (cont.) Em aplicações onde scanning é realizado como uma função
separada de grande volume, os requisitos de desempenho e armazenamento são os seguintes (exemplo):
10.000 imagens por dia armazenamento por 2 dias para permitir análises sobre imagens recentes
compressão 30:1 armazenamento por imagem comprimida
a 300 dpi - 50 Kbytes a 400 dpi - 80 kbytes
descompressão e apresentação dentro de 3 seg.
O armazenamento precisa de aproximadamente 1,6 Gbytes por 2 dias (2 x 10.000 x 80 Kbytes) - em discos magnéticos de alta velocidade
A cache é uma área que armazena temporariamente as imagens antes que sejam checadas (qualidade), indexadas e arquivadas (em discos óticos)
em alguns casos o controle de qualidade e a indexação são realizados durante a fase de scanning
Exemplo (cont.)
Uso de cache por objetos multimídia
Desempenho de mídia ótica é menor que o de mídia magnética por isso ainda há problemas na apresentação de
mídias contínuas uma cache (em meio magnético) permite prefetching para melhorar o desempenho
A cache é usada para minimizar atrasos percebidos pelo usuário
Caching (cont.) Localização da cache é um aspecto
importante do ponto de vista de desempenho são necessários grandes volumes de discos de
alta velocidade pode-se localizar em um servidor de cache
central ou no nó da captura ou no nó da base de dados
Compressão Uma imagem não comprimida (400 dpi - 3300x4400
(14,96 milhões) pixels ~1,87 Mbytes) pode levar ~10seg para ser transmitida em uma rede Ethernet
Esta mesma imagem comprimida para ~100KB leva menos de 1seg - um desempenho aceitável
os efeitos são ainda melhores quando se considera esquemas de compressão com perda como JPEG e MPEG
Compressão (cont.) A localização do hw/sw de compressão /
descompressão é uma importante decisão no projeto de sistemas multimídia distribuídos normalmente a compressão é feita na entrada dos
dados a compressão pode ser feita durante a captura (“on the
fly”) ou por um servidor de compressão separado
Compressão (cont.) Compressão “on the fly”
o dispositivo de entrada deve esperar que o sistema complete a compressão para iniciar a nova sessão de captura
se o hw de compressão não puder manter a velocidade, pode-se perder informação deixando o fluxo ininteligível
observa-se que este esquema não é apropriado para fluxo de vídeo
Compressão (cont.)
Servidor de compressão armazena grande quantidade de informação não
comprimida (“buffer”) para então comprimi-la atraso inicial como servir bem a vários clientes?
Descompressão
Pode-se dar nos seguintes locais: estação de trabalho com facilidades de
descompressão por hw ou sw servidor de objetos multimídia servidor de descompressão dedicado
Compressão (cont.)Considerações sobre caching e armazenamento
Caching objetos comprimidos x descomprimidos: razões para comprimir:
objetos multimídia podem ser muito grandes objetos podem ficar na cache por mais tempo transmissão não causa impacto na rede
não-comprimidos: desempenho estações clientes podem não ser equipadas com hw e sw de
descompressão
Indexação
Um índice é muito menor do que um objeto e pode ser procurado/encontrado rapidamente
Tipos de indexação: Identificação de objeto Baseada em conteúdo
Indexação por Identificação de Objeto
Localiza um objeto multimídia que pode ser incluído em um documento hipermídia
A identificação pode consistir de um nome de arquivo único
O documento container só precisa ter uma referência para o servidor do objeto e a ID do objeto naquele servidor (como em páginas Web)
Indexação baseada em Conteúdo Marcadores podem ser colocados no início de uma seção
ou para marcar um local de interesse especial Os marcadores são armazenados como uma parte do
objeto multimídia no mesmo objeto ou em um objeto de referência
Vendo os índices (marcadores) o usuário pode recuperar apenas a seção que lhe interessa, e não o objeto como um todo - muito útil para gravações de áudio, voz e vídeo Ex: sistema de anotação
Sincronização de Áudio e Imagem Além dos fluxos de entrada serem
separados, o armazenamento de componentes de som e vídeo pode ser separado para otimizar o playback dos dois tipos de objetos uma justificativa é o fato de que componentes
de som e imagem usam diferentes algoritmos de descompressão e hardware diferentes