Técnicas para Sistemas de Vídeo sob Demanda Escaláveis



Documentos relacionados
Técnicas para Sistemas de Vídeo sob Demanda Escaláveis

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Manual SAGe Versão 1.2 (a partir da versão )

2 Atualidade de uma base de dados

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

4 Segmentação Algoritmo proposto

Sistemas Operacionais

Trabalhos Relacionados 79

ISO/IEC 12207: Gerência de Configuração

4 Avaliação Econômica

3 SCS: Sistema de Componentes de Software

4 Arquitetura básica de um analisador de elementos de redes

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

5 Resultados. 1 Os resultados apresentados foram obtidos com 1 rodada do simulador.

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Arquitetura de Rede de Computadores

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Sistemas Distribuídos

5 Mecanismo de seleção de componentes

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

3 Classificação Resumo do algoritmo proposto

Gerenciamento de Memória

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Projeto de Sistemas I

Processos de Desenvolvimento de Software

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito

SISTEMAS DISTRIBUÍDOS

Módulo 4. Construindo uma solução OLAP

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Prefixo a ser comparado Interface Senão 3

Entendendo como funciona o NAT

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Dadas a base e a altura de um triangulo, determinar sua área.

XDOC. Solução otimizada para armazenamento e recuperação de documentos

PRIMAVERA RISK ANALYSIS

Gerência de Processador

Orientação a Objetos

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Plano de Continuidade de Negócios

Engenharia de Software

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Visualizando um vídeo através do Servidor de Streaming

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

PLANEJAMENTO DA MANUFATURA

PARANÁ GOVERNO DO ESTADO

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

CHECK - LIST - ISO 9001:2000

2. Representação Numérica

Introdução ao Modelos de Duas Camadas Cliente Servidor

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC. Lara Pessanha e Vanessa Saavedra

Aulas 22 & 23. Controle de Fluxo e de Congestionamento. Eytan Modiano MIT

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Funcionalidades do Sistema de Negociação de Créditos de Carbono. Anexo VIII

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Associação Paralelo Ativo e Passivo Vantagens e Benefícios

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Simulação Computacional de Sistemas, ou simplesmente Simulação

SECRETARIA DE ESTADO DA EDUCAÇÃO SUPERINTENDÊNCIA DE EDUCAÇÃO DIRETORIA DE TECNOLOGIA EDUCACIONAL PORTAL DIA A DIA EDUCAÇÃO Natel Marcos Ferreira

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

PROJETO DE REDES

Novas Técnicas de Compartilhamento de Banda para Servidores de Vídeo sob Demanda com Interatividade

Registro e Acompanhamento de Chamados

MODELO CLIENTE SERVIDOR

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

Sistemas Operacionais Processos e Threads

Arquitetura de Computadores. Sistemas Operacionais IV

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

1

6 Construção de Cenários

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

Exercícios Teóricos Resolvidos

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Subcamada MAC. O Controle de Acesso ao Meio

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Engenharia de Software II: Definindo Projeto III. Prof. Msc Ricardo Britto DIE-UFPI

5 Estudo de caso: utilizando o sistema para requisição de material

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Balanceamento de Carga

Simulação Transiente

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Transcrição:

Técnicas para Sistemas de Vídeo sob Demanda Carlo K. S. Rodrigues,2, Luiz J. H. Filho 2 & Rosa M. 2 Centro de Desenvolvimento de Sistemas Departamento de Ciência e Tecnologia Exército Brasileiro QGEx - Bloco G - 2 Piso - Ala Norte CEP 763-9 - Brasília - DF - Brasil Fone: +55 (6) 345-68 - FAX: +55 (6) 345-6848 {carloleber}@gmail.com.br 2 Programa de Engenharia e Sistemas de Computação - PESC/COPPE Universidade Federal do Rio de Janeiro CEP 294-972 - CxP 685 - Rio de Janeiro - RJ - Brasil Fone: +55 (2) 2562 8664 - FAX: +55 (2) 2562 8676 {ljhfilho rosam }@land.ufrj.br Abstract This wor introduces the novel bandwidth sharing technique denoted as Merge Interativo (). Additionally, two new policies for exploiting the client s buffering capability are also proposed: Unique Buffer (UB) and Precise Buffer (PB). Throughout trace-driven simulations, using worloads generated from real multimedia servers, we validate our proposals and carry out detailed competitive analyses with other proposals in the literature. Our results show that combining the technique with the buffering policies maes it possible to achieve quite significant overall reductions at average bandwidth, pea bandwidth and system complexity. Keywords: Video on Demand, Multicast, Multimedia, Buffering, Bandwidth sharing Resumo Este trabalho apresenta a nova técnica de compartilhamento de banda chamada Merge Interativo (). Também são propostas duas novas políticas de gerência de buffer: Unique Buffer (UB) e Precise Buffer (PB). Por meio de simulações, usando cargas geradas a partir de servidores de multimídia reais, validamos nossas propostas e realizamos detalhadas análises competitivas com outras propostas da literatura. Os resultados mostram que combinando a técnica com as políticas de gerência de buffer podemos obter otimizações significativas nos Este trabalho é parcialmente financiado pelo CNPq e Faperj. valores de banda média, pico de banda e complexidade do sistema. Palavras-chave: Vídeo sob Demanda, Multicast, Multimídia, Buffering, Compartilhamento de banda. INTRODUÇÃO Os sistemas de vídeo sob demanda (VoD Video on Demand) com interatividade têm recebido crescente atenção nos últimos anos. Idealmente, para implementar esses sistemas, o servidor deve alocar um canal de transmissão de dados exclusivo para cada cliente, permitindo a emulação de ações de interatividade de um aparelho comum de DVD (Digital Video Disc). Entretanto, como a banda do servidor é um recurso limitado, esta implementação é inviável quando muitos usuários simultâneos precisam ser atendidos. Para fins de análise, vemos o aumento da escalabilidade desses sistemas em duas direções: técnicas de compartilhamento de banda [26, 25, 22, 3] e estratégias (políticas) de gerência de buffer [, 2, 2]. Existe uma significativa diversidade de técnicas de compartilhamento de banda na literatura. Os trabalhos de [4,, 3], por exemplo, têm uma implementação bem simples, baseada na localização do canal que transmite a informação (unidade, bloco, etc.) mais próxima àquela de fato solicitada pelo cliente. As técnicas de [7, ] discutem a união de fluxos em andamento no sistema. A idéia é abrir um fluxo para atender a toda ação de intera-

tividade do cliente, e a união de fluxos é conseguida pela escuta concomitante de dois fluxos. A proposta de [2] utiliza uma taxa de transmissão duas vezes maior que a normal para permitir a união de fluxos. Os trabalhos de [8, 2, 22, 24, 25] são mais recentes e baseiam-se nos paradigmas de acesso seqüencial Patching e Hierarchical Stream Merging (HSM) [6, 3]. Estas técnicas diferenciam-se entre si na condição de que a estrutura de união de fluxos tem um determinado número de níveis permitidos. Por exemplo, quando são permitidos três níveis, um dado cliente pode escutar um outro cliente que, por sua vez, escuta um outro cliente do sistema, constituindo assim uma árvore de altura três [5]. Em relação às estratégias de gerência de buffer, as duas abordagens mais utilizadas na literatura são: Simple Buffer (SB) [28, 8, 27] e Complete Buffer (CB) [2, 24, 22, 25, 27]. A primeira tem por principal finalidade permitir a sincronização da escuta de dois fluxos simultâneos que transmitem o mesmo objeto. O tamanho do buffer local do cliente é determinado pelo tempo de escuta simultânea permitido para o cliente, e nunca precisa ser maior que a metade da duração total do objeto [5]. O primeiro fluxo é utilizado para transmitir as informações (unidades de dados) que o cliente precisa visualizar instantaneamente. Já o segundo fluxo transmite unidades de dados que são visualizadas a partir de um instante futuro. As unidades de dados do segundo fluxo são armazenadas em buffer local. No instante em que a unidade de dados do primeiro fluxo alcançar a primeira unidade de dados armazenada em buffer (proveniente do segundo fluxo), o cliente deixa de escutar o primeiro fluxo e passa a ler diretamente de seu buffer. O primeiro fluxo pode então ser extinto, redundando em economia de banda do sistema. O segundo fluxo permanece ativo e tendo suas unidades de dados armazenadas em buffer local. Já a abordagem Complete Buffer (CB) fundamentase na idéia de que o comportamento interativo do cliente o faz naturalmente realizar acessos a unidades de dados anteriormente já visualizadas. Sendo isso verdade, a otimização de banda pode ser conseguida ao se permitir que as unidades de dados transmitidas pelo servidor sejam permanentemente armazenadas em buffer local durante uma mesma sessão, i.e., enquanto o cliente estiver visualizando o objeto em uma mesma sessão, os dados de seu buffer local não são removidos. Quando o cliente realiza uma requisição para uma dada unidade de dados do objeto, primeiramente é verificado se a unidade de dados solicitada já não está em buffer local. Se a resposta for afirmativa, o cliente é atendido localmente, sem abertura de um novo fluxo e sem a tentativa de realizar compartilhamento com qualquer outro fluxo. Nessa estratégia o tamanho do buffer local é igual ao tamanho do objeto. Este trabalho apresenta a nova técnica de compartilhamento de banda Merge Interativo (). Esta técnica é baseada no paradigma de HSM [6, 3]. Também temos a apresentação de duas novas estratégias de gerência de buffer: Unique Buffer (UB) e Precise Buffer (PB). A primeira fundamenta-se na idéia de empregar um único buffer compartilhado por todos os clientes de uma rede local que desejam assistir a um mesmo objeto, e a segunda é baseada na condição de se verificar a quantidade de informação já disponível em buffer local para então decidir sobre abertura e extinção de fluxos no sistema. Por meio de simulações, validamos as nossas propostas e realizamos análises comparativas detalhadas com outros trabalhos da literatura, utilizando diferentes métricas de performance. Dentre outras constatações, os resultados obtidos mostram principalmente que, em comparação com as abordagens mais convencionais, podemos obter otimizações no intervalo de 5% 98% em valores médio de banda, pico de banda e complexidade do sistema. O restante deste trabalho tem a seguinte organização. A Seção 2 revisa as mais recentes propostas de técnicas de compartilhamento de banda baseadas nos paradigmas de Patching e de HSM. A nova técnica Merge Interativo () está na Seção 3. As novas estratégias de gerência de buffer UB e PB estão na Seção 4. A Seção 5 traz os mais importantes resultados de simulação então obtidos. Por último, as conclusões e as propostas para trabalhos futuros constituem a Seção 6. 2. COMPARTILHAMENTO DE BANDA Considere um grupo de clientes recebendo fluxos de dados relativos a um objeto multimídia armazenado em um servidor através de uma rede de comunicação. O objeto é dividido em unidades de dados u de mesmo tamanho e de duração de uma unidade de tempo. A rede tem multicast implementado (camada IP ou camada de aplicação). Os clientes têm acesso não-seqüencial, i.e., podem realizar ações de interatividade. O cliente possui buffer local capaz de armazenar pelo menos metade do objeto requisitado e sua banda corresponde a duas vezes a taxa de exibição desse objeto. Por fim, os fluxos de dados transmitem (individualmente) na mesma taxa de exibição do objeto. Doravante, salvo informado diferentemente, assumimos estas suposições no restante deste texto [5, 2, 22, 8, 5]. A seguir revisamos os algoritmos de operação de quatro das mais recentes técnicas de compartilhamento de banda que consideram o serviço imediato com interatividade: PI [2, 5],, PIC [24] e CT [3]. As três primeiras são baseadas no paradigma de Patching e a última no paradigma de HSM. Estas técnicas são utilizadas no estudo comparativo que realizamos mais adiante e esta decisão deu-se por serem técnicas recentes e assim conseguirem agregar simultaneamente dois aspectos essenci-

ais: máxima eficiência e simplicidade. 2.. TÉCNICA PATCHING INTERATIVO PI Na técnica Patching Interativo (PI) a chegada de uma requisição é o único evento que pode provocar uma união de fluxos no sistema. Seja u W a unidade de dados do objeto correspondente ao tamanho da janela ótima W da técnica Patching original [4, 7], (p. ex., se W = 2 s e o objeto é dividido em unidades de s cada, então u W = 2), e seja S W um fluxo multicast que transmite, no instante da chegada da requisição, uma unidade de dados anterior ou igual à u W. Para efeito de análise, assuma que uma requisição ocorre para uma dada unidade u r do objeto. A tomada de decisões neste algoritmo se dá em função de dois casos: u r = e u r, onde representa a primeira (inicial) unidade do objeto. Caso : u r = Se S W existe e está transmitindo uma unidade de dados posterior à u r, então a requisição é atendida pelo mesmo e as unidades eventualmente perdidas (patch) são enviadas através de um fluxo unicast. Se S W não existe então um novo fluxo multicast é aberto para atender a requisição. Caso 2: u r Neste caso inicialmente é verificado se existe um fluxo multicast S before, i.e., um fluxo transmitindo uma unidade de dados anterior à u r dentro de um limiar de tempo δ before. Se este fluxo existe, então a requisição é atendida pelo mesmo. Caso contrário, é verificado se existe um fluxo multicast S after, i.e., um fluxo transmitindo uma unidade de dados posterior à u r e dentro de um limiar de tempo δ after. Se este fluxo existe então o servidor informa ao cliente para escutar S after e abre um novo fluxo unicast para transmitir as unidades inicialmente perdidas (patch). Por outro lado, se S after não existe, então um novo fluxo multicast S new é aberto para servir a requisição por u r. 2.2. PATCHING INTERATIVO EFICIENTE Semelhante à técnica PI, a chegada de uma requisição também é o único evento que provoca a união de fluxos na técnica Patching Interativo Eficiente (). A seguir descrevemos sua operação. Evento Único: Requisição para unidade u r. Inicialmente busca-se um fluxo multicast S before, i.e., um fluxo transmitindo uma unidade de dados igual ou anterior à u r, dentro de um limiar de tempo δ before. Ou seja, S before pode estar transmitindo desde a unidade u r δ before até a unidade u r. Se S before existe, então a requisição é atendida pelo mesmo. Se S before não existe, é verificado se existe um fluxo multicast S after, i.e., um fluxo transmitindo uma unidade de dados posterior à u r, dentro de um limiar de tempo δ after. Ou seja, S after pode estar transmitindo desde a unidade u r + até a unidade u r + δ after. Se S after existe, o servidor diz ao cliente para escutá-lo e abre um fluxo unicast (i.e., um patch) para transmitir as unidades perdidas inicialmente. Se S after não existe, um novo fluxo multicast S new é aberto para servir a requisição por u r. É ainda verificado se existe um fluxo multicast S merge, i.e., um fluxo transmitindo uma unidade de dados anterior à u r, dentro de um limiar de tempo δ merge. O fluxo S merge não pode possuir patches associados a ele, pois um dos objetivos é manter a estrutura de união de fluxos em no máximo dois níveis. Se S merge existe, então o fluxo S new é o seu alvo e os clientes de S merge devem escutar também o fluxo S new para que, eventualmente, S merge se una ao fluxo S new. Caso S merge não exista, então nada mais precisa ser feito. Note que o algoritmo de é mais elaborado que o de PI por introduzir o conceito do fluxo S merge, o que cria a expectativa de uma maior otimização de banda dado que é uma possibilidade a mais para a união de fluxos. 2.3. PATCHING INTERATIVO COMPLETO PIC A técnica Patching Interativo Completo (PIC) é mais elaborada que PI e por possuir três eventos para união de fluxos, conforme explicamos a seguir. Evento : Requisição para a unidade u r. Nesta situação o algoritmo procede de forma semelhante ao de com a diferença básica de que, em vez de buscar por um único fluxo S merge, busca-se por um conjunto de fluxos desse tipo. Evento 2: Término de um fluxo S j que é o fluxo alvo de um outro fluxo multicast S i. Em outras palavras, S j termina antes de ser alcançado por S i. Os clientes de S i então tornam-se órfãos (i.e., não possuem mais fluxo a alcançar) e os conteúdos respectivamente armazenados em seus buffers, devido à escuta de S j, são descartados. O servidor busca por um outro fluxo que transmite uma unidade de dados posterior àquela atual do fluxo S i e dentro do limiar de tempo δ merge. Seja S subs este fluxo. Se este fluxo existe, então ele torna-se o novo alvo de S i. Caso S subs também termine antes de ser alcançado por S i, o processo de busca por um outro fluxo S subs é repetido. Evento 3: Término de todos os eventuais fluxos de patch associados a um fluxo S source.

Nesta situação o servidor tenta localizar um fluxo S merge que transmite uma unidade de dados posterior àquela do fluxo S source e dentro de um limiar de tempo δ merge. Se este fluxo existe, então ele torna-se alvo de S source. Ou seja, os clientes de S source passam a escutar também o fluxo S merge de tal sorte que S source e S merge possam ser unidos mais à frente. 2.4. TÉCNICA CLOSEST TARGET CT A técnica Closest Target (CT), por ser baseada no paradigma HSM, tem um mecanismo de tentativa de compartilhamento de dados bem exaustivo. São considerados os três eventos descritos a seguir para união de fluxos no sistema. Evento : Requisição para a unidade u r. O servidor abre um novo fluxo multicast S new para atender esta requisição. Simultaneamente, o servidor também tenta localizar um outro fluxo em andamento no sistema que esteja transmitindo uma unidade de dados posterior à u r, sem considerar qualquer limiar de tempo. Seja S t este fluxo. Se S t existe então o cliente de S new também vai escutá-lo de tal sorte que S new e S t possam, eventualmente, ser unidos mais à frente. Evento 2: Término de um fluxo S j que é o fluxo alvo de um outro fluxo S i. Neste caso o tratamento é análogo ao descrito no EVENTO 2 de PIC, sendo que aqui não se utiliza limiar de tempo para busca do substituto de S j. Evento 3: União do fluxo S i e seu alvo S j. Seja S m o fluxo resultante desta união. Os eventuais conteúdos dos buffers dos clientes de S m, que originalmente eram clientes de S j, são descartados e o servidor imediatamente busca no sistema por um fluxo que esteja transmitindo uma unidade de dados posterior àquela do fluxo S m, sem considerar qualquer limiar de tempo. Seja S t este fluxo. Se S t existe então os clientes de S m vão escutá-lo também de tal sorte que S m e S t possam ser unidos mais à frente. Note que na técnica CT sempre buscamos por um fluxo para ser simultaneamente escutado com aquele que está efetivamente servindo a requisição por u r. Além disso, há ainda o fato de não haver qualquer limiar de tempo restritivo para a busca por fluxos no sistema, aumentando as chances de localização de fluxos alvos. Os Eventos e 3 desta técnica dão à árvore de união de fluxos a característica de ter uma altura ilimitada. Por exemplo, um fluxo S, recém aberto para atender a requisição por u r, pode ter como alvo um outro fluxo S 2 que, por sua vez, já pode ter como alvo um outro fluxo S 3, constituindo assim uma estrutura de profundidade três. 3. NOVA TÉCNICA: MERGE INTERA- TIVO Aqui apresentamos a nova técnica Merge Interativo (). Assim como CT, esta nova técnica é baseada no paradigma de HSM e tem sua estrutura de união de fluxos com profundidade ilimitada (i.e., número de níveis ou altura ilimitada). Os três eventos descritos a seguir são considerados para a união de fluxos no sistema. Evento : Requisição para unidade u r do objeto. Imediatamente abre-se um novo fluxo S new para atender esta requisição. Simultaneamente, o servidor busca por um fluxo em andamento no sistema que esteja transmitindo uma unidade de dados posterior à u r. Seja S t este fluxo. Se S t existe, então o cliente de S new também vai escutá-lo de tal sorte que S new e S t possam ser unidos mais à frente. Evento 2: Término de um fluxo S j que é o fluxo alvo de um outro fluxo S i. Nesta situação, S j termina antes de ser alcançado por S i. Os clientes de S i ficam órfãos (i.e., não possuem mais fluxo a alcançar) e os conteúdos armazenados em seus buffers, devido à escuta de S j, são descartados. O servidor busca um outro fluxo que transmite uma unidade de dados posterior àquela atual do fluxo S i. Seja S subs este fluxo. Se S subs existe, ele se torna alvo de S i. Caso S subs termine antes de ser alcançado por S i, a busca por um outro fluxo S subs é repetida. Evento 3: União do fluxo S i e seu alvo S j. Seja S m o fluxo resultante. O servidor imediatamente busca por um fluxo que esteja transmitindo uma unidade de dados posterior àquela do fluxo S m. Seja S t este fluxo. Se S t existe, os clientes de S m, que originalmente pertenciam ao fluxo S i, vão também escutá-lo para eventualmente se unir a ele. Já os clientes de S m, que originalmente pertenciam ao fluxo S j, não são afetados. Caso S t não exista, nada precisa ser feito. A principal diferença entre a técnica e a técnica CT é que em não há a união de grupos de clientes pertencentes a fluxos distintos na ocorrência do Evento 3. A discussão a seguir justifica essa diferença para fins de se tentar obter uma maior otimização de uso da banda do sistema. Suponha que um fluxo S i se una com seu alvo S j. Seja S m o fluxo resultante desta união. Considere que S j já tivesse um fluxo alvo S antes de ser alcançado por S i. Na técnica CT, conforme já explicado, um fluxo alvo para S m é selecionado e toda informação (i.e., unidades de dados do objeto) recebida pelos clientes originalmente 2

pertencentes à S j (enquanto estavam escutando S antes da ocorrência da união) é simplesmente descartada. Para um acesso seqüencial, esta decisão de descarte não aumenta a banda do servidor (embora impacte na banda do cliente), pois esta mesma informação precisa ser retransmitida para atender os clientes originalmente pertencentes ao fluxo S i. Por outro lado, para um acesso nãoseqüencial (i.e., com interatividade), esta decisão pode aumentar a banda do servidor, pois a informação descartada não é mais necessariamente retransmitida conforme explicamos a seguir. Assuma que, logo após a união dos fluxos S i e S j, resultando no fluxo S m, todos os clientes originalmente pertencentes à S i decidam, por exemplo, realizar um salto para trás (ou para frente) do atual ponto em exibição do objeto. Se os clientes originalmente pertencentes à S j descartarem a informação em buffer (recebida de S ), como ocorre na técnica CT, esta mesma informação precisará ser retransmitida novamente, não por causa dos clientes originalmente pertencentes à S i, mas por causa dos clientes originalmente pertencentes à S j. A decisão de descarte nesta situação é então indevida, pois os clientes de S j já tinham esta informação em buffer antes da união. Para resolver isso, na técnica, conforme já explicamos, um fluxo alvo S t é então selecionado e designado exclusivamente para os clientes de S m que originalmente pertenciam à S i, e os clientes que originalmente pertenciam à S j não são afetados, i.e., não fazem descarte de dados e continuam tendo S como fluxo alvo. Note que S t pode ser um fluxo diferente de S, pois os clientes têm um acesso não-seqüencial e assim podem, portanto, abrir fluxos de dados em qualquer instante e em qualquer unidade de dados do objeto que está sendo visualizado. Assim, em temos a possibilidade de um mesmo fluxo com diferentes grupos de clientes associados, cada grupo com um fluxo alvo distinto. No entanto, é preciso dizer que existem duas situações específicas que podem favorecer a técnica CT em relação à técnica. A primeira situação relaciona-se ao fato de que o eventual novo fluxo alvo S t, designado para os clientes de S i depois que S i se une à S j, pode estar relativamente mais próximo ao fluxo S j do que aquele originalmente designado para o próprio S j. Por exemplo, admita que, antes da união de S i com S j, o fluxo alvo de S j, que é o fluxo S, esteja à distância de 2 unidades de dados. Admita que imediatamente antes da união de S i com S j, um novo fluxo S t é aberto no sistema e este está à distância de apenas 3 unidades de S j. Considere que neste instante ocorre a união de S i com S j, resultando no fluxo S m. Considerando este cenário, analisemos a seguir o que ocorre nas técnicas e CT. Na técnica CT, todos os clientes de S m (originalmente pertencentes à S i ou S j ) são beneficiados pelo fato da identificação do novo alvo indicar o fluxo mais próximo S t. Na técnica, os clientes de S m, originalmente pertencentes à S i, são beneficiados pela identificação do fluxo mais próximo S t ; entretanto, os clientes de S m, originalmente pertencentes à S j, permanecem tendo S como fluxo alvo. Nesta situação, CT pode apresentar uma melhor otimização de banda que, pois o fluxo alvo mais próximo atende indistintamente a todos os clientes de S m. Note que uma maior proximidade do fluxo alvo leva a um menor número de fluxos no sistema, pois o fluxo que tenta alcançar o alvo pode ser extinto mais cedo. A segunda situação é descrita a seguir. Na técnica, se os clientes de S j não possuem um fluxo alvo, estes clientes ainda permanecerão sem um fluxo alvo mesmo após a união de S i com S j. Na técnica CT, isso não ocorre, pois o fluxo alvo é escolhido para todos os clientes de S m, independentemente de originalmente pertencerem à S i ou à S j. Contudo, este fato, não traz considerável vantagem para CT. A explicação é que, devido à operação intrínseca do paradigma de HSM (abertura e busca por fluxos de forma exaustiva) e ainda à condição de termos interatividade, a probabilidade de um cliente não ter um fluxo alvo associado é praticamente desprezível. 4. NOVAS GERÊNCIAS DE BUFFER 4.. ESTRATÉGIA UNIQUE BUFFER A proposta Unique Buffer (UB) aproveita o efeito conjunto das requisições para um mesmo objeto devido aos vários clientes existentes no sistema e localizados em uma mesma rede local. O cliente deixa de ter um buffer local exclusivo, passando a existir apenas um buffer único compartilhado localizado em um nó (rede) de acesso para atendimento de todos os clientes que desejam assistir a um mesmo objeto. As solicitações de um cliente no instante t podem então se beneficiar de quaisquer solicitações ocorridas em instantes anteriores a t. Dessa forma, dois efeitos são percebidos: (i) o cliente se beneficia de suas próprias requisições anteriores, assim como na proposta original de CB, e (ii) o cliente se beneficia de requisições anteriores e provenientes de outros clientes. O tamanho do buffer único é igual ao tamanho do objeto. A Figura ilustra um sistema no qual um servidor armazena n objetos de interesse de um total de j clientes (C,..., C j ), localizados remotamente em uma mesma rede local. Este clientes estão conectados à Internet por meio de uma rede (nó) de acesso, que possui um conjunto de buffers únicos (b,..., b ) e tem implementada a estratégia UB. A expectativa é um alto grau de otimização da banda B do servidor. Em geral, para fins de justificativa de projeto, temos que j n. Os valores de n e j estão atrelados a situações reais. O valor de pode ser definido como o número de objetos mais freqüentemente requisitados (i.e., populares) 3

e estimado a partir da distribuição Zipf, que diz que a probabilidade de selecionar o objeto de categoria β é igual a (β α n x= x ), onde α é denominado de α sewfactor da distribuição [8]. Os buffers são alocados dinamicamente segundo as requisições dos clientes. Quando todos os buffers estiverem alocados, as requisições de outros objetos são atendidas por meio de um buffer convencional e local do cliente. A Figura 2 ilustra os segmentos de dados armazenados em um dos buffers devido a escuta de três fluxos distintos, realizadas por três clientes que vêem o mesmo objeto simultaneamente. O fluxo S refere-se ao cliente C, o fluxo S 2 ao cliente C 2, e o fluxo S 3 deve-se ao cliente C 3. As unidades armazenadas no buffer podem ser indistintamente utilizadas por qualquer um dos j clientes do sistema que queiram assistir ao mesmo objeto neste instante de tempo. O compartilhamento eficiente de um buffer único, por todos os clientes de uma rede local que desejam assistir a um mesmo objeto, exige o uso de métodos específicos de acesso ao buffer. Isto porque é provável termos mais de um cliente realizando acesso simultaneamente. Esta questão pode ser modelada como o Problema do Produtor/Consumidor [29]. A princípio, vemos duas abordagens para sua solução. A primeira é uma proposta denominada de Software Transactional Memory [9], a qual baseia-se em conceitos da área de bancos de dados para controle de acesso, criando noções de atomicidade, consistência e isolamento de transações. A segunda, mais comum, relaciona-se à utilização de conceitos como semáforos e/ou travas (locs) para o controle de acesso. Na estratégia UB, o armazenamento de unidades de dados no buffer único é dinâmico, ou seja, é determinado pelo acesso dos clientes às unidades do objeto que está sendo visualizado. Diferentemente de técnicas baseadas no emprego de proxies, na estratégia UB não há necessidade de cópias de partes ou de todo o objeto do servidor multimídia sem que o cliente tenha requisitado, também não há premissa de uso de quaisquer tipos de codificação em camadas (layer-encoded streaming) visando a melhor adaptação de qualidade dos fluxos. Uma análise competitiva mais detalhada com técnicas baseadas em proxies é considerada em trabalhos futuros. 4.2. ESTRATÉGIA PRECISE BUFFER A principal motivação da estratégia PB está na tentativa de evitar que a fragmentação de informação no buffer local do cliente comprometa a otimização do sistema. A fragmentação se dá quando a informação armazenada apresenta-se em pequenos segmentos espaçados entre si, fazendo com que na maioria das vezes o cliente não seja atendido por apenas um único segmento e, assim, necessite entrar em um ciclo de leitura: ora a partir de buffer local, ora a partir de fluxos do sistema. Isso cria uma maior dificuldade para o compartilhamento de dados, pois os fluxos passam a ter uma menor duração [23, 22]. Evitando os malefícios da fragmentação, podemos ainda esperar que haja uma minimização da variabilidade dos requisitos de banda (traffic smoothing []) e do overhead [5, 25] do servidor para o tratamento das mensagens entre clientes e servidor, que se traduz em menor complexidade do sistema e é avaliada nos experimentos adiante. Na proposta PB, a requisição somente é atendida na condição de que o tamanho da informação contígua em buffer (i.e., número de unidades consecutivas), a partir da unidade de dados requisitada, seja suficiente para evitar que o cliente entre no ciclo de leitura descrito no último parágrafo. Seja então δ B a variável que designa esse tamanho. A Figura 2 ilustra esta estratégia para um cliente que requisita a unidade u r, sendo que ele já tem armazenado desde a unidade u r até a unidade u r2. Quando u r2 u r δ B, a informação é utilizada para servir o cliente. Por outro lado, quando u r2 u r < δ B, a informação é ignorada e o cliente deve escutar fluxos de dados do servidor. 5. AVALIAÇÃO DE PERFORMANCE 5.. MÉTRICAS As principais métricas de performance aqui utilizadas são: consumo médio da banda, valor de pico da banda, distribuição da banda, razões competitivas e trabalho médio. Consumo médio e valor de pico da banda são duas métricas bastante freqüentes em experimentos comparativos. Já a distribuição da banda torna-se importante pelo fato de considerarmos em nossos experimentos a interatividade dos clientes. Isto faz com que a banda possa variar significativamente ao longo do tempo. Conseqüentemente, o simples cômputo do valor médio ou do valor de pico não permitem uma análise mais detalhada das técnicas. As razões competitivas [6] aqui utilizadas são assim definidas [24]: RMax = max( P [Banda>]tec P [Banda>] tec2 ) e RMin = min( P [Banda>] tec P [Banda>] tec2 ), para todo inteiro desde que P [Banda > ] 4 (por precisão da simulação), onde Banda é medida em número de canais simultâneos em uso no sistema, e tec refere-se à técnica em relação a qual queremos comparar a técnica tec 2. Note que estas razões representam um meio eficiente de quantificar a diferença entre as respectivas distribuições de banda de duas técnicas tec e tec 2 que desejamos comparar. O trabalho médio é utilizado para analisar a complexidade do sistema e é definido conforme mostrado a seguir [24]. Ele é função do número médio de mensagens recebidas pelo servidor e das operações executadas para o tratamento das mesmas. A operação de maior custo é a 4

Servidor de VoD Repositório com n objetos Interface de Rede Canais (Fluxos S) Internet com multicast Rede (nó) de acesso Unique Buffers b Clientes da rede C Memória Banda B do Servidor b C j Figura. Sistema de vídeo sob demanda. Unique Buffer (UB) Precise Buffer (PB) Fluxo S devido ao cliente C play point u play point δ q δ p u p u p2 Caso () : Buffer do cliente unidade requisitada pelo cliente δ B Fluxo S 2 devido u ur ur 2 ao cliente C 2 play point u u q u q2 Fluxo S 3 devido ao cliente C 3 u δ f u f Caso (2) : unidade requisitada pelo cliente δ B Unique Buffer Buffer do cliente u ur ur 2 δ f δ q δ p Figura 2. Estratégia Unique Buffer; Estratégia Precise Buffer. busca por um fluxo multicast. Faz-se então a análise de pior caso e admite-se que a operação de busca seja executada em tempo O(n), onde n é o número de fluxos multicast em andamento no sistema. O servidor pode receber quatro tipos de mensagens: requisição para uma unidade de dados (DR), requisição para o término de uma união de fluxos (MR), requisição para o término de patch (PR), e requisição para fim de exibição (LR). A Tabela sintetiza as complexidades de tempo relativas às operações devido a cada tipo de mensagem, onde O(C) denota uma complexidade de tempo constante; a Tabela apresenta as equações para calcular o trabalho médio (detalhes em [24]). Os valores de n, E[DR], E[MR], E[P R], e E[LR] são obtidos a partir do modelo de simulação. 5.2. CARGAS Consideramos quatro cargas sintéticas. Cada uma refere-se a um cenário de avaliação distinto no qual um objeto multimídia está sendo transmitido. Estas cargas são obtidas por meio de um gerador proposto no trabalho de [22] e referem-se aos servidores multimídia eteach, MANIC e Universo Online UOL [2, 9]. Os dois primeiros servidores são de ensino a distância e o último é um servidor de conteúdo. O gerador de carga sintética utilizado tem como entrada um trace real de sessões para um dado objeto com uma certa taxa de requisições. Sua saída é um trace sintético com estatísticas semelhantes àquelas do trace original. Sucintamente, descrevemos sua idéia a seguir. O gerador inicialmente constrói um modelo de transição de estado, onde cada estado corresponde a um segmento de 5

Tabela. Complexidade de tempo e trabalho médio do servidor Técnica DR MR PR LR Técnica Fórmulas Patching O(n) O(C) O(C) Patching E[DR] n + E[P R] + E[LR] PI O(n) O(C) O(C) PI E[DR] n + E[P R] + E[LR] O(n) O(C) O(C) O(C) E[DR] n + E[MR] + E[P R] + E[LR] PIC O(2n) O(n) O(n) O(n) PIC E[DR] 2n + (E[MR] + E[P R] + E[LR]) n O(2n) O(n) O(n) E[DR] 2n + (E[MR] + E[LR]) n CT O(2n) O(n) O(n) CT E[DR] 2n + (E[MR] + E[LR]) n Complexidade de tempo Trabalho médio tamanho fixo do objeto. As probabilidades de início de uma sessão em cada segmento, assim como as probabilidades de transição entre os estados, são calculadas a partir do trace real. Um trace de sessões é então produzido assumindo o início de sessão sendo dado por um processo de Poisson [2, 9], e o comportamento do cliente dentro de cada sessão é extraído a partir das características do cenário (trace) real. O cliente pode executar as seguintes ações de interatividade: Play, Stop, Pause/Resume, Jump Forwards e Jump Bacwards. As principais estatísticas das cargas sintéticas estão na Tabela 2. Para garantir um significativo espectro de análise, escolhemos cargas estatisticamente diferentes. Na Carga eteach (Worload ), o número de ações Jump Bacwards é bem razoável, resultando em localidade de acesso, i.e., ocorre um grande número de retornos a unidades de dados anteriormente já visualizadas pelo cliente, o que deve favorecer às estratégias de gerência de buffer onde o cliente armazena todos os dados transmitidos pelo servidor. Outro aspecto interessante é que a maioria das unidades de dados são acessadas como primeira unidade do segmento. Seja X a variável aleatória que representa a primeira unidade acessada pelo cliente quando este faz um movimento, ou seja, quando requisita um novo segmento. Ter uma unidade i como a primeira unidade de um segmento significa que a variável aleatória X assume o valor i. Por último, a distribuição de acesso a unidades é aproximadamente uniforme. Em relação à Carga MANIC- (Worload 2), o nível de interatividade (i.e., nr. de requisições por sessão) é relativamente baixo. Também a distribuição de acesso não é uniforme e apenas 24 unidades são acessadas como a primeira do segmento. Já na Carga MANIC-2 (Worload 3), poucas unidades são efetivamente acessadas como primeiras unidades do segmento. Existe ainda alguma uniformidade na distribuição de acesso. Finalmente, para a Carga UOL (Worload 4) há significativa localidade de acesso e a primeira unidade do objeto é bastante requisitada (popular). 5.3. RESULTADOS E ANÁLISE Os resultados de simulação são obtidos usando a ferramenta Tangram-II [2]. Esta ferramenta constitui-se em um ambiente de modelagem e experimentação de sistemas computacionais/comunicações, desenvolvido na Universidade Federal do Rio de Janeiro (UFRJ), com participação de UCLA/USA, com propósitos de pesquisa e educação. Este ambiente combina uma interface de usuário sofisticada em um paradigma de orientação a objeto e novas técnicas de solução para análise de performance e disponibilidade. O usuário especifica um modelo em termos de objetos que interagem por meio de um mecanismo de troca de mensagens. Um vez que o modelo seja compilado, pode ser resolvido analiticamente, se for Maroviano ou pertencer a uma classe de modelos não Marovianos, ou resolvido via simulação. É possível obter soluções tanto para estado estacionário como para estado transiente. Para facilidade de entendimento organizamos a apresentação dos resultados em duas seções distintas. A Seção 5.3. dedica-se aos resultados provenientes da análise competitiva entre as técnicas de compartilhamento de banda: Patching, PI, CT,, PIC e. A Seção 5.3.2 dedica-se aos experimentos com as estratégias de gerência de buffer SB, CB, UB e PB. 5.3.. Análise das técnicas de compartilhamento: Salvo informado diferentemente, aqui consideramos δ after = δ merge, e fazemos δ before = s. Estas suposições são respaldadas nos resultados obtidos em [24, 25]. Devido a restrições de espaço, não ilustramos todos os experimentos realizados (resultados completos estão em [23]). Inicialmente analisamos as técnicas baseadas em Patching (i.e., PI, e PIC) no intuito de obtermos aquela de melhor performance. Em seguida, de forma análoga, avaliamos as técnicas baseadas em HSM (i.e., CT e ). Finalmente, temos uma análise competitiva considerando a mais eficiente técnica de cada paradigma. Também em nossas análises consideramos apenas os dois tipos mais comuns de gerência de buffer: Simple Buffer (SB) e Complete Buffer (CB). Em todas as cargas consideradas, PI, e PIC apresentam melhor performance que a clássica técnica Patching. Este resultado já era esperado, pois Patching é um esquema para acesso seqüencial e, portanto, não é capaz de lidar eficientemente com a interatividade dos clientes. Esta superioridade em performance é quantificada por 6

P[ Banda > ] Carlo K. S. Rodrigues, Luiz J. H. Filho e Rosa M. Tabela 2. CARGAS SINTÉTICAS Estatística eteach MANIC- MANIC-2 UOL Tamanho do objeto T ( s) 299 475 426 226 Tamanho da unidade de dados ( s) Nr. médio de requisições em T 98 99 97 Nr. total de requisições 546 677 2366 4 Nr. médio de requisições por sessão.29.35 4.73 2.23 Tamanho médio do Segmento L ( s) 8 9 496 34 Desvio padrão de L ( s) 43 84 473 9 Coef. de variação de L.2..95.68 Nr. de valores diferentes da v.a. X 299 24 98 24.9.8.7.6.5.4.3.2. -SB PI-SB PIC-SB 5 5 2 25 Figura 3. CCDF para -SB, PIC-SB e PI-SB em MANIC-. meio das razões competitivas computadas: RM in =. e RM ax [2.2, 3634.9]. As técnicas e PIC têm performances semelhantes em todas as cargas e são ambas, de forma geral, mais eficientes que PI. Esta superioridade em performance é quantificada por meio das razões competitivas computadas: RMin [.5,.] e RMax [.6, 25.8]. Também para ilustrar este fato apresentamos a distribuição (CCDF) da banda para -SB, PIC-SB e PI-SB na Figura 3. Isto favorece enormemente por ter uma implementação bem mais simples que PIC. Nestas avaliações usamos δ after = 5% da janela ótima W de Patching [7, 4], entretanto, enfatizamos que as observações então feitas são válidas independentemente do valor absoluto de δ after no intervalo de % de W ou L. Valores fora deste intervalo se mostram ineficientes. Ao compararmos e CT, notamos que, na maioria dos cenários, é mais eficiente que CT quando usamos a estratégia de gerência buffer CB e, de forma contrária, quando usamos a gerência SB, a técnica CT torna-se mais eficiente que. Este resultado está embasado na diferença de com relação à CT. Em linhas gerais, quando usamos CB, existe uma tendência de termos um menor número de fluxos ativos no sistema e daí uma menor probabilidade de selecionar novos fluxos alvos, em substituição a fluxos alvos originais, que de fato venham a prover economia de banda. Para ilustrar este ponto temos as Figuras 4, 4 e 4. Nas duas primeiras figuras temos a distribuição (CCDF) da banda quando usamos CB nas Cargas UOL e eteach, respectivamente, onde vemos a vantagem de sobre CT. Na última figura temos o caso de emprego da gerência SB na Carga eteach. A performance é justamente contrária: CT é mais eficiente que. Agora, desde que a implementação de CB é relativamente simples e vantajosa, devido à eventual economia de banda que pode ser atingida, decorre como conclusão natural que é uma melhor escolha para a maioria dos cenários examinados. Por fim, comparamos a técnica mais eficiente no paradigma de Patching com a mais eficiente no paradigma de HSM: técnicas e, respectivamente. Em todas as cargas, tem melhor performance que. Este fato é ilustrado nas Figuras 5, 5 e 5. Para efeito de justiça, nesta análise utilizamos os valores ideais (obtidos experimentalmente) do parâmetro δ after, explicitados nas próprias figuras em função do valor percentual da janela ótima W de Patching (a saber: δ before =. s e δ after = δ merge = 7. s, 386.9 s, 27.9 s e 29.3 s para as Cargas eteach, MANIC-, MANIC-2 e UOL, respectivamente. Análises para derivação desses valores estão em [24, 25].) A título de ilustração, as Figuras 6 e 6 trazem as reduções (%) em relação ao consumo médio de banda e aos valores de pico de banda, respectivamente, registrados por e em relação à técnica Patching-SB. As reduções são de fato, como já esperado, bem expressivas, tanto para o consumo médio de banda (3% 68%), como para o valor de pico (8% 62%). A maior eficiência de sobre é, contudo, acompanhada por uma maior complexidade de sistema, avaliada por meio da métrica trabalho médio realizado pelo servidor. Nos experimentos realizados, esta métrica chega a ser mais que uma ordem de grandeza maior para. Resultados semelhantes foram apresentados em [24] para a técnica CT em comparação com a técnica. No entanto, se utilizarmos δ before 3% (3 5%) de T, a técnica -SB (-CB) torna-se bastante competitiva com 7

P[ Banda > ] P[ Banda > ] P[ Banda > ] Carlo K. S. Rodrigues, Luiz J. H. Filho e Rosa M. P[ Banda > ].5.45.4.35.3 CT-CB.25.2.5. -CB.5 5 5 2 25 P[ Banda > ].9.8.7.6 CT-CB.5.4.3.2 -CB. 5 5 2 25 3 35 4 45 P[ Banda > ].9.8.7.6 -SB.5.4.3.2 CT-SB. 5 5 2 25 3 35 4 45 Figura 4. CCDF para -CB e CT-CB em UOL; CCDF para -CB e CT-CB em eteach; CCDF para -SB e CT-SB em eteach..9.8.7.6.5 -SB/4%.4 -SB.3.2. 5 5 2 25 3 35 4 45 5.9.8.7 -CB/7%.6.5 -CB.4.3.2. 5 5 2.9.8.7.6 -CB/5%.5.4 -CB.3.2. 5 5 2 25 3 35 4 45 Figura 5. Distribuição de banda para -SB e -SB em eteach, -CB e -CB em MANIC-, -CB e -CB em MANIC-2. relação a -SB (-CB) em todas as cargas, exceto para UOL. Notamos ainda que, para tornar mais eficiente que, o valor experimental obtido para δ before é sempre maior no caso de uso da gerência de buffer CB do que no caso da gerência SB. Isso é explicado pelo fato de que, quando usamos CB, existe uma tendência de termos um menor número de fluxos no sistema e, portanto, uma maior dificuldade para efetuar o compartilhamento de dados. Esta condição favorece à técnica por ter um mecanismo de busca mais exaustivo que. Por fim, a Figura 6 faz uma síntese gráfica comparativa entre -SB e -SB considerando dois resultados: (i) o trabalho médio em função do nível de interatividade (número médio de requisições por sessão) e (ii) o valor de δ before para o qual temos praticamente a mesma distribuição de banda em ambas as técnicas. Note que, conforme o nível de interatividade aumenta, o trabalho médio de também aumenta enquanto que a descontinuidade introduzida por δ before diminui. Comportamento semelhante é obtido também para o caso de gerência CB. Este resultado geral mostra portanto que, apesar de ser de fato a técnica de melhor performance, pode ser vista como uma técnica competitiva para cargas em que o nível de interatividade é relativamente alto. 5.3.2. Análise das Estratégias de Buffer: Aqui consideramos as estratégias de gerência de buffer SB, CB, UB e PB empregadas em conjunto com as técnicas de compartilhamento de banda e, por serem estas as mais eficientes, conforme observado nos experimentos anteriores. Especialmente em relação à técnica, utilizamos valores ideais (obtidos experimentalmente) para seus respectivos parâmetros δ e já indicados na seção anterior. Para fins de facilidade de entendimento e organização, resolvemos realizar dois conjuntos distintos de experimentos, conforme apresentado a seguir. CONJUNTO : Análise Competitiva entre SB, CB, PB e UB Aqui assumimos δ B = L, onde L é o tamanho médio do segmento do objeto requisitado pelo cliente quando este faz uma requisição ao servidor. O valor de L (Tabela 2) pode ser estimado dinamicamente por medição durante a operação ou a partir de logs de clientes [25, 23, 22, 2, 9]. Valor Médio e Valor de Pico. As Figuras 7 e 8 resumem os resultados obtidos considerando estas métricas. A estratégia UB é notadamente a de melhor desempenho, pois reduz significativamente os requisitos de banda média e valor de pico de banda, comparativamente às outras estratégias. Os requisitos de banda média são inferiores a canal para todas as cargas consideradas. As reduções chegam até 98% em relação à SB. A estratégia SB é a menos eficiente. Ainda notamos alguma equivalência nos resultados provenientes do uso de CB e PB. No que se refere aos valores médios de banda, a diferença entre CB e PB, mantém-se inferior a canal; em relação aos valores de pico, a maior diferença entre CB e PB ocorre na Carga MANIC-2, onde registramos, com a técnica, uma diferença aproximada de oito canais em favor de PB. Já as reduções de CB e/ou PB em relação à SB chegam a até 43,% (valor médio) e a apenas,9% (valor de pico), onde evidencia-se uma menor influência sobre esta última 8

Redução de Banda (%) 8 7 6 5 4 3 2 Redução de Pico (%) 8 7 6 5 4 3 2 trabalho médio de -SB trabalho médio de -SB δbefore (segundos) MANIC- UOL MANIC-2 eteach SIMPLE BUFFER MANIC- UOL MANIC-2 eteach COMPLETE BUFFER MANIC- UOL MANIC-2 eteach MANIC- UOL MANIC-2 eteach SIMPLE BUFFER COMPLETE BUFFER 2 3 4 5 6 7 8 9 Nível de interatividade Figura 6. Otimizações de e em relação à Patching-SB na banda média e no valor de pico; Trabalho para -SB e -SB. Banda Media 2 5 Carga eteach Banda Media 2 5 Carga MANIC- Banda Media 2 5 Carga MANIC-2 Banda Media 2 5 Carga UOL 5 5 5 5 (d) Figura 7. Valor da Banda Média: eteach; MANIC-; MANIC-2; (d) UOL. métrica. Trabalho. Conforme podemos observar na Figura 9, a estratégia UB é aqui também a mais eficiente. As reduções chegam a até duas ordens de grandeza em relação à SB. Considerando CB e PB, podemos observar que, apesar da proximidade dos valores em ordem de grandeza, a estratégia PB mostra-se geralmente mais eficiente que CB, pois apenas na Carga MANIC- não ocorre redução no valor desta métrica. Por exemplo, para MANIC-2 e técnica, o valor obtido por PB é aproximadamente três vezes menor que aquele de CB. As reduções de CB com relação à SB não são expressivas. Há inclusive casos desfavoráveis, onde observamos aumentos. Estes casos são aqueles em que possivelmente ocorre a fragmentação da informação em buffer. Por fim, as reduções de PB em relação à SB são um pouco mais atrativas. Por exemplo, para UOL e técnica, o valor relativo à PB é aproximadamente duas vezes menor que aquele registrado para SB. Distribuição. Os resultados desta métrica também confirmam que UB é a mais eficiente. A distribuição complementar (CCDF) para a estratégia UB aparece sempre bem destacada das demais. A probabilidade do números de canais usados pelo servidor ser maior do que 2 é menor do que. para a grande maioria das cargas, enquanto que, para as outras estratégias de gerência de buffer, esta probabilidade é maior que.7 na maioria dos cenários. Também, a partir das curvas da distribuição, observamos que SB é a estratégia menos eficiente. Para as estratégias CB e PB, os resultados aparecem divididos e não há significativa diferença entre elas. Por exemplo, para a técnica, observamos que na Carga eteach, CB mostra-se mais eficiente; por outro lado, na Carga MANIC-2, PB é mais eficiente. Alguns desses experimentos são ilustrados na Figura. CONJUNTO 2: Análise do Parâmetro δ B de PB Aqui variamos o valor de δ B em função de L e observamos as distribuições complementares da banda do servidor. Também consideramos o valor de δ B em função do tamanho do objeto inteiro T. Observe que, quando δ B, PB torna-se equivalente à CB; por outro lado, quando δ B T, PB torna-se equivalente à SB. O objetivo é então verificar a existência de um valor no intervalo [; T] que otimize a performance de PB e ainda estimar esse valor como função de L. Para efeito de maior clareza e organização da análise, assumimos então dois casos: δ B L e δ B < L. No primeiro, não conseguimos verificar quaisquer otimizações. Isso revela que o tamanho médio do segmento L é possivelmente um valor upper bound para as cargas examinadas. No segundo caso e considerando a maioria das cargas, alguma otimização foi produzida. Inclusive, houve situações em que PB passou a ser mais eficiente que CB. O valor ideal de δ B L estabeleceu-se no intervalo de 25% 5% de L. Isso evidencia a importância da determinação do valor ideal de δ B para o emprego da técnica PB. Alguns resultados destes experimentos são ilustrados na Figura. Em síntese, considerando ambos conjuntos de experimentos, constatamos que: (i) a estratégia UB é a mais eficiente. As otimizações produzidas são bem expressivas, revelando um padrão de comportamento semelhante en- 9

Pico de Banda 5 4 3 Carga eteach Pico de Banda 5 4 3 Carga MANIC- Pico de Banda 5 4 3 Carga MANIC-2 Pico de Banda 5 4 3 Carga UOL 2 2 2 2 (d) Figura 8. Valor de Pico da Banda: eteach; MANIC-; MANIC-2; (d) UOL. Carga eteach Carga MANIC- Carga MANIC-2 Carga UOL Trabalho Trabalho Trabalho Trabalho.... (d) Figura 9. Trabalho (complexidade): eteach; MANIC-; MANIC-2; (d) UOL. tre clientes independentes que assistem a um mesmo objeto; (ii) as estratégias CB e PB apresentam certa semelhança nos resultados obtidos, exceto para a métrica trabalho. Isto significa que PB tem uma menor complexidade de sistema que CB. A complexidade é estimada em função do número de mensagens trocadas entre clientes e servidor e das operações para tratamento das mesmas pelo servidor; (iii) a estratégia PB é possível de ser otimizada determinando-se um valor ideal para o parâmetro δ B, o qual na maioria das cargas utilizadas estabeleceu-se no intervalo de 25% 5% de L; (iv) a estratégia SB é a mais simples, mas também é, em geral, a de performance mais sofrível. Esta desvantagem tende a tornar-se inclusive mais acentuada em cenários com alto nível de interatividade por parte dos clientes; (v) os valores de otimização que registramos enaltecem a importância do uso das estratégias de gerência de buffer. 6. CONCLUSÕES Neste trabalho apresentamos a nova técnica de compartilhamento de banda Merge Interativo (), cuja concepção baseia-se no paradigma de HSM. Também propomos duas novas estratégias de gerência de buffer para sistemas de VoD interativos: Unique Buffer (UB) e Precise Buffer (PB). Por meio de simulações, utilizando cargas sintéticas obtidas de servidores reais, validamos nossas propostas e realizamos análises competitivas com outras propostas da literatura. Os resultados finais, os quais englobaram diferentes métricas de comparação de performance, mostraram principalmente que: () a nova técnica é de fato a de maior eficiência, no entanto, o paradigma de Patching pode tornar-se bastante atrativo com a introdução de pequenas descontinuidades no serviço de atendimento de requisições; (2) a estratégia de gerência de buffer UB é a mais eficiente, porém, pela maior simplicidade, as estratégias PB e CB também são consideradas competitivas. Em relação a outras propostas da literatura, alcançamos otimizações de 5% 98% em valores médio de banda, pico de banda e complexidade do sistema. Como trabalhos futuros, podemos citar: () análise detalhada do desempenho da estratégia UB quando comparada ao uso de um proxy, (2) avaliação das estratégias propostas usando outras cargas sintéticas, (3) desenvolvimento de modelos analíticos para a análise de técnicas de compartilhamento de banda em ambientes com interatividade e, por fim, (4) desenvolvimento de novas técnicas de compartilhamento de banda conjuntamente com estratégias de gerência de buffer obedecendo ao paradigma P2P (Peer-to-Peer), criando um ambiente de transmissão distribuído. Referências [] E. L. Abram-Profeta and K. G. Shin. Providing unrestricted VCR functions in multicast video-ondemand servers. In Proc. of IEEE ICMCS, pages 66 75, Austin, Texas, June 998. [2] J. M. Almeida, J. Krueger, D. L. Eager, and M. K. Vernon. Analysis of educational media server worloads. In Proc. th Int l Worshop Networ and Operating Systems Support for Digital Audio and Video (NOSSDAV ), pages 2 3, June 2. 2

P[Banda > ].9.8.7.6.5.4.3.2 Carga eteach () SB PB CB. UB 5 5 2 25 3 35 4 45 P[Banda > ] Carga MANIC - ().9.8.7 SB e PB.6.5 CB.4.3.2 UB. 5 5 2 25 P[Banda > ] Carga MANIC-2 ().9.8.7.6 SB.5.4 CB.3 PB.2. UB 5 5 2 25 3 35 4 P[Banda > ] Carga UOL ().9.8.7.6 SB.5.4 PB.3 CB.2. UB 5 5 2 25 (d) Figura. Distribuição (CCDF): eteach; MANIC-; MANIC-2; (d) UOL. P[Banda > ].9.8.7.6.5 δ.4 Β = %L=.3 %T (CB).2 δ Β = 25%L=..35%T Carga eteach () δ Β > 5% T = 932% L (SB) δ Β =%L= 5.37%T (PB) 5 5 2 25 3 35 4 45 5 P[Banda > ].9.8.7.6.5.4.3.2. δb = 25%L= 7.4%T δb = %L= %T (CB) Carga MANIC- () δb > 5%L = 4.25%T (SB e PB) 5 5 2 25 P[Banda > ].9.8.7.6.5.4.3.2. δ B = %T= %L (CB) Carga eteach () δ B > 932%L = 5%T (SB) δ B = 5%L= 2.69%T δ B =%L = 5.37%T (PB) 5 5 2 25 3 35 4 45 P[Banda > ].9.8.7.6.5.4.3 %L=.22%T.2. δ B = 5%L= 6%T Carga MANIC-2 () δ B > 46%L= 5%T (SB) δ B = %L = %T (CB) δ B =%L= 2%T (PB) 5 5 2 25 3 35 4 (d) Figura. Distribuição (CCDF): eteach; MANIC-; eteach; (d) MANIC-2. [3] K. C. Almeroth and M. H. Ammar. The use of multicast delivery to provide a scalable and interactive video-on-demand service. IEEE Journal on Selected Areas in Communications, 4(5): 22, August 996. [4] R. O. Baner and et al. Method of providing videoon-demand with VCR-lie functions. U. S. Patent 5357276, 994. [5] A. Bar-Noy, G. Goshi, R. E. Ladner, and K. Tam. Comparison of stream merging algorithms for media-on-demand. In Proc. Multimedia Computing and Networing (MMCN 2), pages 8 25, San Jose, CA, January 22. [6] A. Borodin and R. El-Yaniv. On-line computation and competitive analysis. Cambridge University Press, The Pitt Building, Trumpington Street, Cambridge, United Kingdom, 998. [7] Y. Cai, K. Hua, and K. Vu. Optimizing patching performance. In Proc. S/ACM Conference on Multimedia Computing and Networing, pages 24 25, January 999. [8] S.-H. Gary Chan and Edward Chang. Providing scalable on-demand interactive video service by means of multicast and client buffering. In Proc. IEEE ICC, pages 5, Helsini, June 2. [9] C. Costa, I. Cunha, A. Borges, C. Ramos, M. Rocha, J. M. Almeida, and B. Ribeiro-Neto. Analyzing client interactivity in streaming media. In Proc. 3th ACM Int l World Wide Web Conference, pages 534 543, May 24. [] A. Dan, D. Sitaram, P. Shahabuddin, and D. Towsley. Channel allocation under batching and VCR control in movie-on-demand servers. Journal of Parallel and Distributed Computing, 3(2):68 79, November 995. [] E. de Souza e Silva, R. M., Berthier A. Ribeiro-Neto, and S. V. A. Campos. Performance issues of multimedia applications. In Performance Evaluation of Complex Systems: Techniques and Tools, Performance 22, Tutorial Lectures, pages 374 44, London, UK, 22. Springer-Verlag. [2] E. de Souza e Silva and Rosa M.. The Tangram-II Environment. In Proc.th Int l Conference TOOLS2, pages 366 369, 2. [3] D. Eager, M. Vernon, and J. Zahorjan. Optimal and efficient merging schedules for video-ondemand servers. In Proc. 7th ACM Int l Multimedia Conference (ACM Multimedia 99), pages 99 22, November 999. [4] L. Gao and D. Towsley. Supplying instantaneous video-on-demand services using controlled multicast. In Proc. IEEE Multimedia Computing Systems, pages 7 2, June 999. [5] M. L. Gorza. Uma técnica de compartilhamento de recursos para transmissão de vídeo com alta interatividade e experiemntos. Tese de mestrado, UFF, Departamento de Ciência da Computação, Dezembro 23. [6] K. A. Hua, Y. Cai, and S. Sheu. Patching: A multicast technique for true video-on-demand services. In 2

Proc. 6th ACM Int l Multimedia Conference (ACM MULTIMEDIA 98), pages 9 2, 998. [7] W. Liao and V. O. K. Li. The split and merge protocol for interactive video-on-demand. IEEE Multimedia, 4(4):5 62, Oct 997. [8] Huadong Ma and K. G. Shin. A new scheduling scheme for multicast true VoD service. Lecture Notes in Computer Science, 295:78 75, 2. [9] V. J. Marathe, M. F. Spear, C. Heriot, A. Acharya, D. Eisenstat, W. N. Scherer III, and M. L. Scott. Lowering the overhead of nonblocing software transactional memory. In Worshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT), 26. [27] C. K. S. Rodrigues and R. M.. Buffering para otimização de sistemas interativos de VoD. In XXV Simpósio Brasileiro de Redes de Computadores (SBRC27), pages 94 954, Belém, PA, Brasil, Maio 27. [28] S. Viswanathan and T. Imielinsi. Pyramid broadcasting for video-on-demand service. In Proc. S Multimedia Computing and Networing Conference, pages 66 77, February 995. [29] I. Yang and W. Moloney. Concurrent reading and writing with replicated data objects. In CSC 88: Proceedings of the 988 ACM sixteenth annual conference on Computer science, pages 44 47, New Yor, NY, USA, 988. ACM Press. [2] B. C. M. Netto. Patching interativo: Um novo método de compartilhamento de recursos para transmissão de vídeo com alta interatividade. Tese Mestrado, UFRJ, COPPE/PESC, Fevereiro 24. [2] W. Wing-Fai Poon and Kwo-Tung Lo. Design of multicast delivery for providing VCR functionality in interactive video-on-demand systems. IEEE Transactions on Broadcasting, 45():4 48, March 999. [22] M. Rocha, M. Maia, I. Cunha, J. Almeida, and S. Campos. Scalable Media Streaming to Interactive Users. In MULTIMEDIA 5: Proceedings of the 3th annual ACM international conference on Multimedia, Singapore, November 25. [23] C. K. S. Rodrigues. Mecanismos de compartilhamento de recursos para aplicações de mídia contínua na Internet. Tese de Doutorado, UFRJ, COPPE/PESC, Abril 26. [24] C. K. S. Rodrigues and R. M.. Novas técnicas de compartilhamento de banda para servidores de vídeo sob demanda com interatividade. In XXIII Simpósio Brasileiro de Redes de Computadores (SBRC25), Fortaleza, CE, Brasil, Maio 25. [25] C. K. S. Rodrigues and R. M.. Técnicas para sistemas de vídeo sob demanda escaláveis. In XXIV Simpósio Brasileiro de Redes de Computadores (SBRC26), pages 247 262, Curitiba, PR, Brasil, Maio 26. [26] C. K. S. Rodrigues and R. M.. Bandwidth usage distribution of multimedia servers using patching. Computer Networs, 5(3):569 587, February 27. 22