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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 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 Brasília - DF - Brasil Fone: +55 (6) FAX: +55 (6) {carloleber}@gmail.com.br 2 Programa de Engenharia e Sistemas de Computação - PESC/COPPE Universidade Federal do Rio de Janeiro CEP CxP Rio de Janeiro - RJ - Brasil Fone: +55 (2) FAX: +55 (2) {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-

2 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 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-

3 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 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 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.

4 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 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

5 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

6 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 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

7 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 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

8 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) 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 dedica-se aos experimentos com as estratégias de gerência de buffer SB, CB, UB e PB 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

9 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) Tamanho da unidade de dados ( s) Nr. médio de requisições em T Nr. total de requisições Nr. médio de requisições por sessão Tamanho médio do Segmento L ( s) Desvio padrão de L ( s) Coef. de variação de L Nr. de valores diferentes da v.a. X SB PI-SB PIC-SB 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, ]. 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, 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

10 P[ Banda > ] P[ Banda > ] P[ Banda > ] Carlo K. S. Rodrigues, Luiz J. H. Filho e Rosa M. P[ Banda > ] CT-CB CB P[ Banda > ] CT-CB CB P[ Banda > ] SB CT-SB 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 SB/4%.4 -SB CB/7%.6.5 -CB CB/5%.5.4 -CB 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 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

11 Redução de Banda (%) Redução de Pico (%) 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 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 (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

12 Pico de Banda Carga eteach Pico de Banda Carga MANIC- Pico de Banda Carga MANIC-2 Pico de Banda Carga UOL (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

13 P[Banda > ] Carga eteach () SB PB CB. UB P[Banda > ] Carga MANIC - () SB e PB.6.5 CB UB P[Banda > ] Carga MANIC-2 () SB.5.4 CB.3 PB.2. UB P[Banda > ] Carga UOL () SB.5.4 PB.3 CB.2. UB (d) Figura. Distribuição (CCDF): eteach; MANIC-; MANIC-2; (d) UOL. P[Banda > ] δ.4 Β = %L=.3 %T (CB).2 δ Β = 25%L=..35%T Carga eteach () δ Β > 5% T = 932% L (SB) δ Β =%L= 5.37%T (PB) P[Banda > ] δb = 25%L= 7.4%T δb = %L= %T (CB) Carga MANIC- () δb > 5%L = 4.25%T (SB e PB) P[Banda > ] δ B = %T= %L (CB) Carga eteach () δ B > 932%L = 5%T (SB) δ B = 5%L= 2.69%T δ B =%L = 5.37%T (PB) P[Banda > ] %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) (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 , 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 , 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 , 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 , 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

14 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 , 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 , 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): , February

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

Técnicas para Sistemas de Vídeo sob Demanda Escaláveis Técnicas para Sistemas de Vídeo sob Demanda Escaláveis Carlo Kleber da S. Rodrigues, Rosa Maria Meri Leão Universidade Federal do Rio de Janeiro COPPE/PESC, Rio de Janeiro RJ 294-972, CxP 685, Brazil {leber,rosam}@land.ufrj.br

Leia mais

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

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

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

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

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

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Trabalhos Relacionados 79

Trabalhos Relacionados 79 Trabalhos Relacionados 79 6 Avaliação e Testes Neste capítulo são apresentados alguns testes que foram realizados com o a solução de Gerenciamento de Mobilidade (API SIP User Agent) e com o sistema publish/subscribe

Leia mais

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

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

4 Avaliação Econômica

4 Avaliação Econômica 4 Avaliação Econômica Este capítulo tem o objetivo de descrever a segunda etapa da metodologia, correspondente a avaliação econômica das entidades de reservas. A avaliação econômica é realizada a partir

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

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

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

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

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

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

5 Resultados. 1 Os resultados apresentados foram obtidos com 1 rodada do simulador. 5 Resultados A dificuldade em modelar analiticamente o comportamento de sistemas celulares hierarquizados faz com que grande parte dos estudos de desempenho destes sistemas seja baseada em simulações.

Leia mais

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.

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. Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

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

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

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

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 QUESTÃO: 29 Além da alternativa a estar correta a alternativa e também pode ser compreendida como correta. Segundo a definição de diversos autores, a gerência de falhas, detecta, isola, notifica e corrige

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

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

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Alocação Contígua

Leia mais

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

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto. Discussão sobre Nivelamento Baseado em Fluxo de Caixa. Item aberto na lista E-Plan Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito COMPUTADORES NAS EMPRESAS Prof. Reginaldo Brito Os computadores são essenciais para enfrentar o desafio da concorrência global, na qual as empresas precisam ser eficientes e ágeis e tem de produzir produtos

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação

Leia mais

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

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

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

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

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

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação 36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas

Leia mais

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

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

Leia mais

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

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

Prefixo a ser comparado Interface 1 0 10 1 111 2 Senão 3

Prefixo a ser comparado Interface 1 0 10 1 111 2 Senão 3 PEL/FEN Redes de Computadores 015/1 Segunda Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein 1) Descreva os principais serviços providos pela camada rede. ) Cite as diferenças entre datagrama e circuito

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

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

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

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

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

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

XDOC. Solução otimizada para armazenamento e recuperação de documentos XDOC Solução otimizada para armazenamento e recuperação de documentos ObJetivo Principal O Que você ACHA De ter Disponível Online todos OS Documentos emitidos por SUA empresa em UMA intranet OU Mesmo NA

Leia mais

PRIMAVERA RISK ANALYSIS

PRIMAVERA RISK ANALYSIS PRIMAVERA RISK ANALYSIS PRINCIPAIS RECURSOS Guia de análise de risco Verificação de programação Risco rápido em modelo Assistente de registro de riscos Registro de riscos Análise de riscos PRINCIPAIS BENEFÍCIOS

Leia mais

Gerência de Processador

Gerência de Processador Gerência de Processador Prof. Edwar Saliba Júnior Junho de 2009 Unidade 03-003 Gerência de Processador 1 Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

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

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.

Leia mais

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

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

Plano de Continuidade de Negócios

Plano de Continuidade de Negócios Plano de Continuidade de Negócios Objetivo Contingenciar situações e incidentes de segurança que não puderam ser evitados. Deve ser eficaz como um pára-quedas reserva o é em um momento de falha do principal,

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

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

Visualizando um vídeo através do Servidor de Streaming Visualizando um vídeo através do Servidor de Streaming Função do Servidor de Streaming Quando existem muitos usuários acessando remotamente uma câmera para realizar a visualização ao vivo ou fazer gerenciamento,

Leia mais

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

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

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

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

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

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados

Leia mais

CHECK - LIST - ISO 9001:2000

CHECK - LIST - ISO 9001:2000 REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

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

COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC. Lara Pessanha e Vanessa Saavedra COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC Lara Pessanha e Vanessa Saavedra A utilização de indicadores de desempenho é uma prática benéfica para todo e qualquer tipo

Leia mais

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

Aulas 22 & 23. Controle de Fluxo e de Congestionamento. Eytan Modiano MIT Aulas 22 & 23 Controle de Fluxo e de Congestionamento Eytan Modiano MIT 1 Controle de Fluxo Controle de fluxo: mecanismo fim a fim para controlar o tráfego entre fonte e destinatário. Controle de congestionamento:

Leia mais

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

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

Leia mais

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

Funcionalidades do Sistema de Negociação de Créditos de Carbono. Anexo VIII Anexo VIII Este Manual do Usuário possui caráter informativo e complementar ao Edital do Leilão de Venda de Reduções Certificadas de Emissão nº 001/2012, promovido pela Prefeitura da Cidade de São Paulo

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

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

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004 QSP Informe Reservado Nº 41 Dezembro/2004 Sistemas de Gestão O QUE MUDOU COM A NOVA ISO 14001:2004 Material especialmente preparado para os Associados ao QSP. QSP Informe Reservado Nº 41 Dezembro/2004

Leia mais

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

Associação Paralelo Ativo e Passivo Vantagens e Benefícios Associação Paralelo Ativo e Passivo Vantagens e Benefícios Departamento de Pesquisa e Desenvolvimento - CP Eletrônica S.A. Rua da Várzea 379 CEP:91040-600 - Porto Alegre RS - Brasil Fone: (51)21312407

Leia mais

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE MÓDULO 6 INTRODUÇÃO À PROBBILIDDE Quando estudamos algum fenômeno através do método estatístico, na maior parte das vezes é preciso estabelecer uma distinção entre o modelo matemático que construímos para

Leia mais

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

Simulação Computacional de Sistemas, ou simplesmente Simulação Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.

Leia mais

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

SECRETARIA DE ESTADO DA EDUCAÇÃO SUPERINTENDÊNCIA DE EDUCAÇÃO DIRETORIA DE TECNOLOGIA EDUCACIONAL PORTAL DIA A DIA EDUCAÇÃO Natel Marcos Ferreira SECRETARIA DE ESTADO DA EDUCAÇÃO SUPERINTENDÊNCIA DE EDUCAÇÃO DIRETORIA DE TECNOLOGIA EDUCACIONAL PORTAL DIA A DIA EDUCAÇÃO Natel Marcos Ferreira Movimento 1. Nível de ensino: Ensino Médio 2. Conteúdo

Leia mais

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

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 2: Transmissão de Dados 1.

Leia mais

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

Novas Técnicas de Compartilhamento de Banda para Servidores de Vídeo sob Demanda com Interatividade Novas Técnicas de Compartilhamento de Banda para Servidores de Vídeo sob Demanda com Interatividade Carlo Kleber da S. Rodrigues, Rosa Maria Meri Leão Universidade Federal do Rio de Janeiro, COPPE/PESC

Leia mais

Registro e Acompanhamento de Chamados

Registro e Acompanhamento de Chamados Registro e Acompanhamento de Chamados Contatos da Central de Serviços de TI do TJPE Por telefone: (81) 2123-9500 Pela intranet: no link Central de Serviços de TI Web (www.tjpe.jus.br/intranet) APRESENTAÇÃO

Leia mais

MODELO CLIENTE SERVIDOR

MODELO CLIENTE SERVIDOR SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;

Leia mais

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

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

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Prof. Silvana Rossetto (DCC/IM/UFRJ) 1 13 de julho de 2010 Questões 1. Qual é a diferença fundamental entre um roteador

Leia mais

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.

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. 1 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. Modelo de Resultados Potenciais e Aleatorização (Cap. 2 e 3

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

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

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento Professor Rene - UNIP 1 Revisão... Segmento A unidade de dados trocada entre as entidades de transporte é denominada

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

6 Construção de Cenários

6 Construção de Cenários 6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.

Leia mais

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

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

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

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 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 região de armazenamento formada por bytes ou palavras, cada

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

Subcamada MAC. O Controle de Acesso ao Meio

Subcamada MAC. O Controle de Acesso ao Meio Subcamada MAC O Controle de Acesso ao Meio Métodos de Acesso ao Meio As implementações mais correntes de redes locais utilizam um meio de transmissão que é compartilhado por todos os nós. Quando um nó

Leia mais

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

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS Relatório Nº 03/2013 Porto Alegre, 22 de Agosto de 2013. ANÁLISE DE SOLUÇÕES: # RAID 1: O que é: RAID-1 é o nível de RAID que implementa o espelhamento

Leia mais

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

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

Engenharia de Software II: Definindo Projeto III. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Engenharia de Software II: Definindo Projeto III. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Engenharia de Software II: Definindo Projeto III Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Sumário Explorando as Áreas de Conhecimento de Gerenciamento de Projeto Entendendo como Projetos Acontecem

Leia mais

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

5 Estudo de caso: utilizando o sistema para requisição de material 61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

Balanceamento de Carga

Balanceamento de Carga 40 4. Balanceamento de Carga Pode-se entender por balanceamento de carga uma política a ser adotada para minimizar tanto a ociosidade de utilização de alguns equipamentos quanto a super utilização de outros,

Leia mais

Simulação Transiente

Simulação Transiente Tópicos Avançados em Avaliação de Desempenho de Sistemas Professores: Paulo Maciel Ricardo Massa Alunos: Jackson Nunes Marco Eugênio Araújo Dezembro de 2014 1 Sumário O que é Simulação? Áreas de Aplicação

Leia mais

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

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

Leia mais