XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
50 Anais<br />
Figura 1. Interface do QoS Provi<strong>de</strong>r.<br />
assíncronos aos sistemas distribuídos e o fornecimento <strong>de</strong> informações sobre a QoS<br />
provida a cada canal, informação utilizada por <strong>de</strong>tectores <strong>de</strong> <strong>de</strong>feitos híbridos ao realizar<br />
<strong>de</strong>tecções, as quais po<strong>de</strong>m ser confiáveis se for estiver sendo utilizado um canal<br />
síncrono. Mo<strong>de</strong>los para sistemas distribuídos como o HA [Goren<strong>de</strong>r et al. 2007] e o<br />
Spa [Macêdo and Goren<strong>de</strong>r 2009] são mo<strong>de</strong>los híbridos, baseados na existência <strong>de</strong> canais<br />
<strong>de</strong> comunicação síncronos e assíncronos (no caso do mo<strong>de</strong>lo HA), e canais e processos<br />
síncronos e assíncronos (no caso do mo<strong>de</strong>lo Spa). Para ambos os mo<strong>de</strong>los, uma das<br />
formas <strong>de</strong> se fornecer canais síncronos é através do uso <strong>de</strong> arquiteturas para prover QoS.<br />
O módulo <strong>de</strong> controle <strong>de</strong> admissão <strong>de</strong>senvolvido para o QoS Provi<strong>de</strong>r executa<br />
interagindo com uma implementação da arquitetura DiffServ disponível em roteadores<br />
Cisco. Este módulo foi baseado na abordagem centralizada, e na estratégia <strong>de</strong> controle<br />
<strong>de</strong> admissão baseada em disponibilida<strong>de</strong> <strong>de</strong> recursos. A função do QoS Provi<strong>de</strong>r<br />
que representa o controle <strong>de</strong> admissão é <strong>de</strong>fineQoS(), como apresentada na Figura<br />
1. As <strong>de</strong>mais funções do QoSP são responsáveis por criar canais <strong>de</strong> comunicação<br />
(CreateChannel, verificar o atraso máximo para a transferência <strong>de</strong> mensagens (Delay),<br />
verificar se um canal <strong>de</strong> comunicação é timely ou untimely (QoS) e verificar se um<br />
canal <strong>de</strong> comunicação remoto apresenta tráfego (VerifyChannel). As justificativas e<br />
implementação <strong>de</strong>stas funções está fora do escopo <strong>de</strong>ste trabalho.<br />
O QoSP gerencia e provê dois níveis <strong>de</strong> serviço, fornecendo canais <strong>de</strong><br />
comunicação chamados timely e untimely. Canais timely (síncronos) são atribuídos<br />
ao Serviço Expresso, <strong>de</strong>finido pela arquitetura DiffServ através do PHB Expedited<br />
Forwarding [Davie et al. 1999] enquanto o canais untimely são providos com o<br />
Serviço Melhor Esforço, <strong>de</strong>finido pela arquitetura DiffServ como PHB Default<br />
[Blake et al. 1998].<br />
Cada host do sistema contém um módulo ativo do QoSP, o qual funciona como<br />
um servidor local para as aplicações que estão rodando no mesmo host. Os serviços são<br />
requisitados através do envio <strong>de</strong> mensagens <strong>de</strong> solicitações, utilizando para isto as funções<br />
fornecidas por uma API cliente, a qual tem uma interface <strong>de</strong> comunicação para a troca <strong>de</strong><br />
mensagens com o QoSP. O QoSP, localizado no host dos processos p x e p y , é <strong>de</strong>finido,<br />
respectivamente, como QoSP x e QoSP y .<br />
O QoSP Bandwidth Broker (QoSPBB) foi <strong>de</strong>senvolvido baseado no Bandwidth<br />
Broker [Nahrstedt and Smith 1995], para dar suporte ao Controle <strong>de</strong> Admissão do QoSP.