Académique Documents
Professionnel Documents
Culture Documents
FORTALEZA - CEAR
2012
THIAGO QUEIROZ DE OLIVEIRA
FORTALEZA - CEAR
2012
A000z Oliveira, Thiago Queiroz.
Melhorando a escolha do servidor de rplica em rede CDN
usando Lgica Fuzzy / Thiago Queiroz de Oliveira. Fortaleza,
2012.
74 p.;il.
Orientador: Prof. Dr. Prof. Dr. Marcial Porto Fernndez
Monografia (Mestrado Acadmico em Cincias da Compu-
tao) - Universidade Estadual do Cear, Centro de Cincias e
Tecnologia.
1. CDN 2. Balanceamento de Carga 3. NS-2 4. Algoritmos
Adaptativos 5. Lgica Fuzzy I. Universidade Estadual do Cear,
Centro de Cincias e Tecnologia.
CDD:000.0
THIAGO QUEIROZ DE OLIVEIRA
BANCA EXAMINADORA
CDN (Content Delivery Network) is a large distributed system of servers deployed in multiple
data centers on the Internet. Its main goal is to service requests from users with high availability
and performance. Thus, reduces the risk of system failure if one or more servers fail, besides,
can provide load balancing between servers, avoiding network bottlenecks and, therefore, en-
suring greater performance and QoE (Quality of Experience) to the user. This paper presents an
analysis of CDN networks, their evolution and existent architectures. One of the critical issues
involving CDN networks is the choices algorithm of the replica server, because this directly
influences the performance and scalability of the network. Several algorithms are available in
literature. In this work, a algorithm for choosing the replica server for serving a request is
proposed. This model is compared with other models proposed in the literature by simulation.
AS Autonomous System
IP Internet Protocol
VoD Video-On-Demand
SUMRIO
1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Contexto e Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Objetivos e contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 FUNDAMENTAO TERICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1 Content Delivery Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.1 Surgimento das Redes CDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.2 Arquitetura de um CDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Roteamento de Requisio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.3.1 Algoritmos de Roteamento de Requisio . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.3.2 Algoritmos Adaptativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.3.3 Algoritmos No-Adaptativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.4 Mecanismos de Roteamento de Requisio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.5 Principais Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Lgica Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 PROPOSTA DE UM ALGORITMO PARA ESCOLHA DE SERVIDOR DE RE-
PLICA USANDO LGICA FUZZY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1 Lgica Fuzzy para Escolha do Servidor de Rplica em Redes CDN . . . . . . . . . . . . . . 32
3.1.1 Fuzzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.2 Processo de Inferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.3 Defuzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 ESTUDO DE CASO: CENRIOS E EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.1 Implementao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Topologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 Detalhes dos Experimentos Realizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 Modelo de Trfego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4.1 Modelo de Trfego na rede GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4.2 Modelo de Trfego na rede Claranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4.3 Modelo de Trfego na rede RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 ANLISE DOS RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.1 Topologia 1 - GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2 Topologia 2 - ClaraNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 Topologia 3 - RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4 Resumo Simulaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6 CONCLUSO E TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
BIBLIOGRAFIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
APNDICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
APNDICE A -- LGICA FUZZY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.1 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
A.2 Relaes Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
A.2.1 Composio Max-Min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
A.2.2 Composio Max-Produto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.3 Sistema de inferncia Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.3.1 Fuzzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.3.2 Inferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
A.3.3 Deffuzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
APNDICE B -- TOPOLOGIAS UTILIZADAS NAS SIMULAES . . . . . . . . . . . . . . . 69
B.1 Topologia Claranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.2 Topologia GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.3 Topologia RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
APNDICE C -- DECLARAO DE REVISO DE TEXTO . . . . . . . . . . . . . . . . . . . . . . . 74
15
1 INTRODUO
CDN (Content Delivery Network), tambm conhecido como Rede de Entrega de Con-
tedo, um grande sistema distribudo de servidores implantados em vrios centros de dados
na Internet, tendo como principal objetivo atender com alta disponibilidade e desempenho s
requisies dos usurios (PALLIS; VAKALI, 2006). CDNs provem performance ao oferecer
servios rpidos, confiveis e com alta disponibilidade por meio da distribuio de contedo
para servidores de rplica (VAKALI; PALLIS, 2003).
O termo CDN sugiu nos anos 90 com a inteno de prover desempenho a servios web,
escalabilidade, performance, replicao e balanceamento de carga (PALLIS; VAKALI, 2006).
Isso porque websites que possuem grande volume de acessos, tais como sites de comrcio
eletrnico, podem apresentar gargalos e lentides quando utilizando um nico servidor.
Pesquisas mostraram que, se o tempo de resposta para uma requisio web supera 8s,
aproximadamente 30% dos usurios abandonam a requisio (DAVISON, 2001). O incremento
do tempo de resposta est diretamente relacionado perda de performance, congestionamentos
e grande nmero de usurios acessando a pgina web (GALLETTA, 2002).
Uma abordagem comum redirecionar o usurio para o servidor mais prximo a ele,
pois, dessa forma, minimiza a largura de banda utilizada e, dependendo da carga e do tipo do
servidor mais prximo, obtem-se tempo de resposta menor (CHEN et al., 2005).
gerenciamento de cache;
balanceamento de carga.
Qual contudo deve ser replicado e em quais servidores deve ser replicado;
Qual estratgia deve ser utilizada para manter o contedo dos servidores de rplica atua-
lizado;
17
Qual mecanismo deve ser utilizado para redirecionar o cliente para o servidor de rplica.
Como citado anteriormente, uma das questes crticas relativas ao CDN diz respeito a
qual servidor de rplica deve ser utilizado. O servidor mais apropriado nem sempre o que est
mais prximo do cliente ou o mais rpido, pois ele pode, por exemplo, est congestionado ou
ter pouca largura de banda disponvel. Ao invs disso, um conjunto de parmetros poderiam ser
levados em considerao nesse processo de escolha, tais como: distncia, velocidade, largura
de banda disponvel e carga do servidor.
Este trabalho prope um algoritmo para escolha do servidor de rplica utilizando lgica
fuzzy. Esse algoritmo utiliza os seguintes parmetros no processo de tomada de deciso:
Tempo de servio: tempo necessrio para atendimento de uma requisio para uma dada
URL no servidor de rplica.
Apesar do grande apelo comercial existente em redes CDN, poucas propostas de al-
goritmos de escolha do servidor de rplica esto disponveis na literatura. Uma das razes a
carncia de ferramentas ou simuladores que permitam avaliar esse tipo de rede (CECE et al.,
2010), outro motivo o custo necessrio em infra-estrutura para testar esses algoritmos em
redes reais.
Este trabalho prope um algoritmo para escolha do servidor de rplica em redes CDN
utilizando lgica fuzzy. O algoritmo proposto utiliza trs parmetros que so representados
pelas seguintes vriaveis lingusticas: carga atual do servidor, tempo de servio e tempo de
resposta dos servidores de rplica.
a lgica fuzzy permite encontrar uma boa soluo com um tempo de resposta aceitvel. Atravs
das simulaes foi provado que o algoritmo proposto reduziu o tempo de resposta mnimo e
mdio para a obteno de uma requisio em relao aos modelos tradicionais, garantindo a
viabilidade da proposta.
Nos algoritmos no adaptativos, a escolha do servidor de rplica pode ser feita utili-
zando heursticas. Tais solues so menos complexas, consomem menos largura de banda,
porm no so to eficientes quanto os algoritmos adaptativos.
1.3 Metodologia
Os testes foram feitos no simulador ns-2 (Network Simulator - verso 2.33) (MC-
CANNE et al., 1997), utilizando o mdulo para CDN (CECE et al., 2010). Os arquivos de
configurao do cenrio e testes no ns-2 foram gerados a partir da linguagem de script OTcl.
(MEENEGHAN; DELANEY, 2004). Foram utilizadas trs topologias de redes reais obtidas
atravs do gerador de topologias topology-zoo (KNIGHT et al., 2011).
2 FUNDAMENTAO TERICA
Uma rede CDN composta por uma coleo de elementos de rede organizados para
entrega de contedo a usurios finais (DOUGLIS; KAASHOEK, 2001). Uma rede CDN pode
assumir vrias formas e topologias, podendo ser centralizada, hierarquizada, infraestruturada
com controle administrativo e descentralizada (VERMA, 2002). As funcionalidades tpicas de
uma rede CDN so:
Uma rede CDN oferece melhor desempenho por meio de caching de contedo ou
replicao sobre servidores espalhados estrategicamente, afim de lidar com o repentino pico de
solicitaes de contedo web, que denominado flash crowd (ARLITT; JIN, 2000) ou SlashDot
effect (ADLER, 1999). Uma estratgia comumente adotada redirecionar a requisio para o
servidor mais prximo do cliente.
Nos ltimos anos, tem-se observado uma grande evoluo nas tecnologias que visam
melhorar a entrega e provisionamento de servios web. As tecnologias que visam melhorar
a entrega de contedo, juntamente com a infraestrutura de rede criam um novo tipo de rede
denominado rede de contedo (DAY et al., 2003).
Redes de contedo utilizam vrias tcnicas para melhorar o desempenho dos servido-
res web. Uma abordagem simples seria melhorar o hardware do servidor, adicionando mais
ncleos de processamento, mais memria e capacidade de armazenamento. Essa soluo no
flexvel, pois o sistema estar limitado as capacidades oferecidas pelo servidor, podendo apre-
sentar congestionamentos na rede nas proximidades do mesmo, alm de possuir um ponto nico
de falha (HOFMANN; BEAUMONT, 2005).
Servidores cache podem ser implantados perto dos usurios e, estes servidores, por
meio de polticas e mecanismos gerenciadores de cache, podem manter seu contedo sempre
atualizado. Os usurios, por sua vez, podem enviar suas requisies diretamente para um servi-
dor de cache ao invs de envi-las ao servidor de origem. Um provedor tambm pode implantar
diferentes nveis de cache em diferentes servidores, podendo incrementar o desempenho, dis-
tribuir o trfego e, com isso, utilizar menos largura de banda, tal soluo denominada cache
hierrquico (BARTOLINI; CASALICCHIO; TUCCI, 2004) (RABINOVICH; SPATSCHECK,
2003). Essa soluo tem a desvantagem de aumentar a complexidade para gerenciar os servi-
dores cache, o que pode demandar utilizao de muitos recursos como largura de banda.
Uma soluo mais escalvel e mais simples de gerenciar a criao de um server farm
(HOFMANN; BEAUMONT, 2005). Um server farm composto por vrios servidores web,
onde, atravs de um switch de camadas 4-7, as requisies so redirecionadas para diferentes
servidores. Um server farm pode utilizar servidor ao invs do switch, conforme explicado na
RFC 3040 (COOPER; MELVE; TOMLINSON, 2001), sendo uma abordagem mais flexvel e
escalvel, pois o redirecionamento no se torna uma funo exclusiva do switch, podendo ser
realizado por qualquer servidor. Como o server farm est associado a um switch que atende
todas as requisies e redireciona para o servidor apropriado, promovendo o balanceamento de
carga, h o risco de congestionamento nas proximidades do switch.
Para resolver essas limitaes surgiu, na dcada de 90, outro tipo de rede de contedo
22
Uma rede CDN oferece melhor desempenho por meio de caching de contedo ou
servidores replicados espalhados na web estrategicamente, a fim de lidar com o repentino pico
de solicitaes de contedo na web, que frequentemente denominado como flash crowd ou
SlashDot effect.
O provedor de CDN comercial mais conhecido atualmente o Akamai (SU et al., 2006)
que surgiu a partir de pesquisas desenvolvidas no MIT (Massachusetts Institute of Technology)
com o intuito de solucionar o problema de flash crowd.
A primeira gerao de CDNs tinha como principal foco atender websites estticos
ou dinmicos (PALLIS; VAKALI, 2006) (LAZAR; TERRILL, 2001). Na gerao de CDNs
seguinte, o foco passou a ser Video-On-Demand (VoD) e streams de adio e vdeo.
Outros rgos como o BSF (BroadBand Services Forum) e o Internet Streaming Me-
dia Alliance tomaram iniciativas para desenvolver padres para entrega de contedo esttico,
dinmico e streams de adio e vdeo.
A demanda por provedores CDN era to grande, que em 2004, havia mais de 3000
empresas oferecendo o servio e movimentando mais de 20 milhes de dlares ao ms. Um
relatrio detalhado sobre as perspectivas de crescimento do setor, oportunidades de mercado e
estratgias pode ser encontrado em (CARLSSON, 2009)
A arquitetura de um CDN pode ser vista por meio de uma diviso em trs camadas,
conforme a Figura 2, so elas: basic fabric, communication and connectivity e camada CDN
23
rplica mais prximo. No entanto, nem sempre o servidor de rplica mais prximo o melhor
para atender uma requisio (CHEN et al., 2005). O ideal levar em considerao outras
variveis para realizar o roteamento como proximidade da rede, latncia do cliente, distncia e
carga do servidor de rplica.
Em (HUFFAKER et al., 2002) foi realizado um estudo que constatou que a correlao
entre a distncia geogrfica e a latncia da rede superior a 75%. A partir disso, pode-se desen-
volver um algoritmo que redirecione o cliente para o servidor mais prximo de sua localizao
geogrfica.
26
Dessa forma, cada n de servio est ciente da localizao e estado dos outros servi-
dores. Os switches agem, portanto, como um servidor DNS inteligente, redirecionando a requi-
sio para diferentes servidores de rplica, dependendo do domnio. Essa abordagem facilita a
localizao do melhor servidor de rplica. No entanto, pode demandar muita largura de banda
27
A reescrita de URL (VAKALI; PALLIS, 2003) comum em servidores CDN que pro-
veem no o contedo completo de um site, mas apenas parte dele como vdeos, imagens, ban-
ners. Dessa forma, o servidor responde uma requisio com parte do contedo e redireciona o
cliente para obter outras partes do contedo em outros servidores. Esse mecanismo pode ser
pr-ativo ou reativo. Na reescrita pr-ativa, as URLs para objetos do site so definidas antes do
contedo ser carregado no servidor de origem, enquanto que na reescrita reativa as URLs so
definidas quando a requisio chega ao servidor.
A principal vantagem dessa tcnica que, para uma determinada requisio, o servidor
pode retornar URLs de diferentes servidores. A desvantagem a possvel demora para montar
28
essa URL dinamicamente, alm de que pode acontecer, de um servidor que contm parte do
contedo responder rapidamente enquanto os demais servidores demorarem para atender a re-
quisio, demorando a carregar por inteiro a pgina solicitada pelo usurio. Alm disso, mais
complexo gerenciar partes do contedo em diferentes servidores web.
Anycasting (PENG, 2004) pode ser dividido em dois tipos: IP Anycasting e Anycas-
ting em nvel de aplicao. Em IP Anycasting (PARTRIDGE; MENDEZ; MILLIKEN, 1993),
assume-se que o mesmo endereo IP atribudo a um conjunto de hosts. Assim, diferentes
roteadores tem diferentes caminhos para diferentes hosts com o mesmo endereo IP. Uma des-
vantagem dessa abordagem o fato de que algumas partes do endereo IP so utilizadas para
endereos anycast.
Se o tempo de resposta para resgatar uma pgina web supera 8s, aproximadamente
30% dos usurios abandonam a requisio (KPSELL, 2006). O incremento do tempo de
resposta est diretamente relacionado perda de desempenho, congestionamentos e grande
nmeros de usurios acessando a pgina web (GALLETTA, 2002).
CDNs proveem desempenho ao oferecer servios rpidos, confiveis e com alta dis-
ponibilidade por meio da distribuio de contedo para servidores de rplica localizados nas
proximidades dos usurios (VAKALI; PALLIS, 2003).
O projeto de uma rede CDN bastante complexo (DAY et al., 2003) (SIVASUBRA-
MANIAN et al., 2004). Para a construo de uma rede CDN, algumas questes estratgias
devem ser definidas (WANG; SHARMAN; RAMESH, 2008), so elas:
29
Quantos servidores de rplica utilizar e onde os mesmos devem estar localizados (LI et
al., 1999) (QIU; PADMANABHAN; VOELKER, 2001);
Qual contedo deve ser replicado e em quais servidores deve ser replicado (KANGASHARJU;
ROBERTS; ROSS, 2002);
Qual estratgia deve ser utilizada para manter o contedo dos servidores de rplica con-
sistente. Pode-se utilizar as seguintes estratgias: time-based consistency, value-based
consistency e order-based consistency (DEOLASEE et al., 2001). A forma de atualiza-
o pode ser: pull-based, push-based e hbrida (DEOLASEE et al., 2001);
Como deve ser escolhido o servidor de rplica e qual mecanismo deve ser utilizado para
redirecionar o cliente para o servidor de rplica. Um algoritmo de roteamento de requi-
sio pode ser adaptativo ou no-adaptativo. Alm disso, pode ser transparente ou no
transparente (CARDELLINI; COLAJANNI; YU, 2003).
Para avaliar o desempenho de uma rede CDN, alguns tipos de mtricas podem ser
utilizadas (SIVASUBRAMANIAN et al., 2004):
Mtricas temporais: esto associados com o tempo que o cliente espera para ter a requi-
sio atendida (OLSHEFSKI; NIEH; AGRAWAL, 2004) (HARCHOL-BALTER et al.,
2003);
Mtricas espaciais: podem ser a distncia geogrfica, distncia estimada pelo RTT ou
nmero de saltos (HUFFAKER et al., 2002);
Mtricas de utilizao da rede: esto associadas aos recursos consumidos da rede. Podem
ser internos, quando a comunicao entre os servidores para manuteno da rede e
atualizao dos servidores e externos quando associado com a comunicao entre clientes
e servidores (SIVASUBRAMANIAN et al., 2004);
Este trabalho prope um algoritmo adaptativo para escolha do servidor de rplica a ser
utilizado. Para efeito de avaliao, so consideradas as seguintes mtricas temporais: tempos
mnimo, mdio e mximo para obteno de uma requisio.
30
O conceito de conjunto fuzzy surgiu em 1965, quando Lotfi A. Zadeh observou que os
recursos tecnolgicos disponveis eram incapazes de solucionar problemas de natureza indus-
trial, pois os recursos tecnolgicos na poca estavam enraizados na lgica booleana, admitindo,
portanto, somente os valores 0 e 1 (ZADEH, 1965).
A lgica fuzzy, tambm conhecida como lgica difusa ou lgica nebulosa, diferente-
mente da lgica clssica ou booleana, capaz de atribuir valores intermedirios entre verdadeiro
e falso.
Trabalhar em uma lgica que permite classificar dados ou informaes subjetivas, im-
precisas e ambguas, abre muitas possibilidades de desenvolver solues para problemas que a
lgica clssica no capaz de resolver.
dores, largura de banda disponvel em cada servidor de rplica, entre outros. No entanto, esse
algoritmo propriedade da Akamai e os detalhes da tecnologia no foram revelados.
CHEN; LIAO (2010) utiliza lgica fuzzy para escolha do servidor de rplica em uma
rede CDN. No entanto, nos experimentos s foi levado em considerao a largura de banda
dos servidores. Alm disso, somente foi avaliada a taxa de perdas de pacotes decorrentes da
sobrecarga dos servidores.
Este trabalho prope um algoritmo adaptativo para escolha do servidor de rplica que
utiliza lgica fuzzy no processo de tomada de deciso. Para isso, so considerados como entrada
as seguintes variveis lingusticas:
Tempo de servio: tempo necessrio para atendimento de uma requisio para uma dada
URL no servidor de rplica;
Como esses parmetros possuem intervalo aberto direita, ou seja, os valores teorica-
mente podem variar de 0 at infinito, necessrio realizar a normalizao dos dados em cada
processo de tomada de deciso. Em PASSOS; GOLDSCHMIDT (2005), so descritos diversos
tipos de normalizao. Segundo esses autores, a normalizao linear consiste em considerar
os valores mnimo e mximo de cada atributo no ajuste da escala, mapeando esse atributo no
intervalo fechado de zero at 1. A equao que define a normalizao linear descrita como:
Xi Xmin
Xn =
Xmax Xmin
Onde:
Xn = valor normalizado
Todo servidor possui uma lista de servidores vizinhos. Os servidores trocam infor-
maes de status periodicamente com seus vizinhos. A partir dessa informaes, um servidor
quando recebe uma requisio, realiza a normalizao dos status dos vizinhos e atravs do
mecanismo de inferncia fuzzy, que ser descrito nas prximas sees, decide qual servidor
atender requisio.
3.1.1 Fuzzificao
Nessa etapa realizado o mapeamento dos valores das variveis de entrada, geral-
mente numricos e precisos, para os conjuntos fuzzy. Para isso, so utilizadas as funes de
pertinncia.
A varivel tamanho da fila tem trs valores lingusticos associados, so eles: fila pe-
quena, fila mdia e fila grande. A Figura 4 mostra graficamente essas funes de pertinncia. O
conjunto domnio para as variveis de entrada variam de MIN at MAX, onde:
MIN: valor mnimo do domnio, que no caso, como normalizado tem valor 0.
= MAX MIN.
A varivel tempo de servio tambm tem trs funes de pertinncia associadas: tempo
de servio baixo, tempo de servio mdio e tempo de servio alto. A Figura 5 mostra grafica-
mente essas funes de pertinncia.
O tempo de resposta tambm possui trs funes de pertinncia (Baixo, Mdio e Alto),
34
conforme a Figura 6.
A definio das regras de inferncia de um controlador fuzzy nem sempre uma tarefa
simples, pois pode produzir resultados incoerentes. Para evitar a criao de regras deste tipo,
utiliza-se o algoritmo de Wang-Mendel (WANG; MENDEL, 1992), que a partir do comporta-
mento desejado cria regras coerentes.
Definio de um grau para cada regra gerada, para eliminar regras conflitantes;
3.1.3 Defuzificao
Para isso, os valores dos parmetros so mapeados para os conjuntos fuzzy de acordo
com suas respectivas funes de pertinncia descritas anteriormente. Aps essa etapa, as regras
de inferncia da Tabela 1 so aplicadas, resultando no conjunto fuzzy da Figura 7. Por fim,
realizada a defuzificao que retorna um valor quantitativo utilizando o mtodo centro de rea.
4.1 Implementao
O simulador utilizado nos experimentos foi o ns-2 (Network Simulator) verso 2.33
(BERKELEY; ISI, 1998). O ns-2 um simulador de cdigo-fonte aberto desenvolvido em
C++, sendo amplamente utilizado no meio acadmico (ISSARIYAKUL; HOSSAIN, 2011). Foi
utilizado o mdulo CDN desenvolvido exclusivamente para esse ambiente de simulao (CECE
et al., 2010).
O desenvolvimento do mdulo CDN para ns-2 foi motivado pelo fato de que apesar de
as redes CDN terem se desenvolvido bastante nos ltimos anos, principalmente no mbito co-
mercial, poucas ferramentas esto disponveis para desenvolvimento de solues e simulaes
para esse tipo de rede (CECE et al., 2010). Nessa seo, sero listadas as principais caracters-
ticas do mdulo CDN para ns-2 e alguns detalhes de implementao.
GET: utilizado pelos clientes para realizar uma requisio para um servidor;
REDIRECT: mensagem utilizada pelo servidor para o cliente, indicando que o cliente
deve solicitar a requisio para outro servidor. Nessa mensagem indicado o servidor de
rplica que dever atender a requisio.
O cliente envia a requisio para o servidor mais prximo que contenha o contedo
requisitado. O mecanismo de escolha do servidor de rplica e redirecionamento descentrali-
zado, ou seja, todo servidor ao receber uma requisio executa o algoritmo ilustrado no captulo
anterior para verificar se atende ou redireciona a requisio. Caso um servidor receba uma requi-
sio redirecionada por outro servidor, ele obrigatoriamente atender a requisio, no havendo
redirecionamento mltiplos de requisies entre os servidores.
39
Todo servidor tem um tempo de servio associado, que corresponde ao tempo de pro-
cessamento necessrio para atender uma dada requisio. Toda requisio recebida inserida
em uma fila, onde, posteriormente, ser decidido se a requisio ser atendida ou redirecio-
nada. O modelo de fila pode ser do tipo D/D/1 ou M/M/1 para distribuio determinstica ou
exponencial, respectivamente.
Todo servidor mantm uma lista de vizinhos como em uma rede P2P. Os servidores
trocam informaes de status periodicamente com seus vizinhos, em intervalos de tempo de-
finidos por meio de configurao. Essas informaes so utilizadas no processo de escolha
do servidor para atender uma dada requisio. O diagrama de sequncia da Figura 8 ilustra a
iterao entre servidores e clientes, de forma a prover o balanceamento de carga.
4.2 Topologias
Para a realizao dos testes, foram utilizadas trs topologias de redes reais, obtidas
atravs do topology-zoo (KNIGHT et al., 2011). Todos os testes so realizados nesses trs
cenrios. As Figuras 9, 10 e 11 apresentam a disposio dos ns em cada uma dessas redes.
A rede Claranet1 , Figura 9, uma rede que cobre alguns pases do continente Europeu.
A rede GridNet2 (MOORE, 1980), Figura 10, uma rede com poucos ns, porm esses ns
so bastante conectados, assemelhando-se a uma rede mesh e fica localizada nos EUA. Por
fim, a RNP3 (Rede Nacional de Ensino e Pesquisa) (HENNING, 1993), Figura 11, uma rede
utilizada no Brasil e que cobre quase toda sua extenso territorial. O Apndice B exibe de forma
1 Rede Claranet : http://noc.eu.clara.net/network.jpg, acessado em 10/05/2012.
2 Rede GridNet : http://www.nthelp.com/images/gridnet.jpg, acessado em 10/05/2012.
3 Backbone RNP : http://www.rnp.br/backbone, acessado em 10/05/2012.
40
mais detalhada cada uma dessas topologias, com informaes de suas coordenadas geogrficas
e largura de banda dos enlaces.
dist(A, B) = Rarccos(sen(Lat.A)sen(Lat.B)+cos(Lat.A)cos(Lat.B)cos(Long.ALong.B))
Onde:
d
a prop = (4.1)
s
i = i (4.2)
1in 1in
Ou seja, o somatrio das requisies que chegam ao sistema igual ao total de requi-
sies que o sistema pode atender. No entanto, alguns servidores podem receber requisies
em uma taxa maior do que sua capacidade de atendimento, ficando sobrecarregados, enquanto
outros podem estar sendo sub-utilizados. Em cada experimento, uma tabela mostra a taxa de
chegada e atendimento de cada servidor.
O tempo que os servidores levam para trocar informaes de status 1s. O trfego
gerado para os servidores do tipo CBR, o pacote enviado do tipo HTTP e o tempo de
simulao para todos experimentos de 300s.
O algoritmo proposto foi comparado com outros trs algoritmos disponveis na lite-
ratura, so eles: round-robin, aleatrio e least-loaded. Os dois primeiros so considerados
algoritmos no-adaptativos e o ltimo classificado como algoritmo adaptativo. O round-robin
sempre escolhe um servidor diferente a cada tomada de deciso, de forma circular. O aleatrio
utiliza um processo estocstico na tomada de deciso e, por fim, o least-loaded sempre escolhe
o servidor que possui menor fila.
Essa seo descreve o modelo de trfego utilizado em cada uma das topologias.
A rede GridNet uma rede composta por nove servidores, localizados na regio sul
dos EUA. Nos experimentos foram utilizados nove clientes para gerao de trfego para os
servidores, sendo um cliente para cada servidor. A Tabela 2 mostra as caractersticas de cada
servidor.
2012b), esse padro de trfego descrito na Tabela 2 representa de forma simplificada uma rede
CDN real.
A rede ClaraNet uma rede composta por quinze servidores, cobrindo parte do conti-
nente europeu. A Tabela 3 mostra as taxas de chegadas e atendimento em cada servidor.
A rede RNP uma rede composta por vinte e sete servidores, interligando parte do
territrio brasileiro. A Tabela 4 mostra a caracterstica do trfego utilizado na simulao.
15 16 17 18 19 20 21 22 23 24 25 26 27
i [req/s] 10 12 10 7 10 13 11 11 14 10 11 10 13
i [req/s] 12 13 14 17 10 11 11 7 10 11 7 10 11
Nos trs modelos anteriores, o efeito de flash-crowd tambm foi simulado, elevando
a taxa de chegada do servidor 7, 7 , at 200 requisies/segundo, entre os instantes de tempo
t0 = 200s e t1 = 250s e, consequentemente, passando de uma situao de saturao da rede para
uma de super-saturao da rede no intervalo mencionado.
44
Este captulo apresenta os resultados dos experimentos realizados. Para efeito de ava-
lizao, foram utilizadas principalmente mtricas temporais. As mtricas utilizadas so: tempo
mnimo de atendimento de uma requisio, tempo mximo, tempo mdio no sistema, tamanho
das filas de requisio por servidor, grau de desbalanceamento da rede e nmero de requisies
atendidas durante a simulao. O grau de desbalanceamento da rede o somatrio do desvio
padro do tamanho das filas de todos os servidores durante a simulao, sendo calculado a cada
20s, portanto, quanto menor o valor do grau de desbalanceamento melhor.
As sees seguintes apresentam os resultados de forma isolada em cada uma das trs
topologias. Por fim, na ltima seo, uma anlise geral dos resultados obtidos realizada.
Por outro lado, o algoritmo fuzzy apresentou o pior tempo mximo para obteno de
uma requisio, sendo que para essa mtrica, os algoritmos adaptativos obtiveram os piores
resultados. Apesar de possuir o menor e o maior tempo para obteno de uma requisio, o
algoritmo baseado em fuzzy possui o menor desvio padro.
tou o melhor resultado, sendo que, para essa topologia de rede, os valores obtidos foram bem
prximos.
A Figura 12 apresenta a evoluo do tamanho das filas dos servidores durante a simu-
lao. Pode-se observar que o crescimento das filas bem acentuado, isso ocorre devido ao
cenrio de saturao dos servidores, onde o nmero de requisies que chega aos servidores
igual ao nmero de requisies que os servidores podem atender. Dessa forma, com o passar
do tempo comea a haver congestionamentos da rede e s filas crescem de forma mais acentu-
ada. Pode-se observar que a partir do instante de tempo 200s, todos as topologias tiveram um
acrscimo acentuado no tamanho das filas, isso ocorreu devido ao efeito de flash-crowd que foi
criado entre os instantes de tempo 200s e 250s. Mesmo aps a normalizao na taxa de requi-
sies, o tamanho das filas dos servidores foi crescente, devido aos congestionamentos da rede.
Essas caractersticas descritas nesse pargrafo ocorreram na simulao das trs topologias.
Ainda em relao a Figura 12, pode-se observar que o tamanho das filas dos servidores
dos algoritmos no-adaptativos mais uniforme, ou seja, so mais prximas do tamanho de fila
mdio. No entanto, nos algoritmos adaptativos, h amplitude das linhas do grfico maior, ou
seja, h servidores com filas bastante pequenas e outros com filas grandes, fazendo com que,
consequentemente, sejam obtidos os menores tempos de resposta, mas, por outro lado, tambm
os maiores tempos de resposta e os maiores graus de desbalanceamento da rede, assim como
foi mostrado na Tabela 6.
Assim como na simulao da topologia anterior, o algoritmo fuzzy teve o maior tempo
de resposta. Quanto ao desbalanceamento, o algoritmo proposto teve o pior grau de desba-
lanceamento e o algoritmo LL teve o melhor resultado, como era esperado, pois o LL leva
em considerao exclusivamente o tamanho da fila dos servidores no processo de tomada de
deciso. Por outro lado, a proposta principal do fuzzy no otimizar o balanceamento entre
servidores, e sim reduzir o tempo de resposta para atendimento de uma requisio.
A Figura 13 exibe a evoluo das filas dos servidores durante a simulao para os
quatro algoritmos. Como se pode notar, o algoritmo fuzzy possui a maior variao no tamanho
das filas, explicando o fato de possuir o menor e o maior tempo para atendimento de uma
requisio. Novamente os algoritmos no-adaptativos obtiveram a menor variao no tamanho
da fila dos servidores. Isso se deve ao fato de os algoritmos adaptativos no tentarem distribuir
47
as requisies de forma igualitria entre os servidores, e sim encontrar o mais apropriado para
atender uma requisio em um dado intervalo de tempo.
os ns nessa topologia terem geralmente apenas um ou dois vizinhos diretos, dessa forma, para
esse tipo de topologia, o overhead existente para a tomada de deciso no algoritmo fuzzy no se
torna vivel.
A Figura 14 mostra o tamanho das filas dos servidores durante a simulao. Essa topo-
logia foi a que apresentou a menor variao em relao ao tempo mdio obtido nas requisies,
como se pode visualizar na Tabela 10, onde os dados esto mais uniformes. Os algoritmos adap-
tativos novamente possuram os servidores com maiores filas durante a simulao, explicando
o fato de terem obtido os maiores tempos para obteno de uma requisio e o maior grau de
desbalanceamento, como pode ser visualizado na Tabela 10.
Da Figura 15 pode-se concluir que o menor tempo mnimo foi obtido no algoritmo
fuzzy. Os outros algoritmos tiveram resultados similares, sendo que o aleatrio foi um pouco
superior nas topologias ClaraNet e RNP. Em contrapartida, de acordo com a Figura 16, o algo-
ritmo fuzzy apresentou o pior tempo mximo nas trs topologias testadas.
Como trabalhos futuros, pode-se analisar outras mtricas para inserir no algoritmo
proposto, como, por exemplo, quantidade de largura de banda disponvel no enlace. Tambm
pode-se testar algoritmos baseados em mquina de aprendizado para escolha do servidor de r-
plica em redes CDN, como redes neurais, redes bayesianas ou SVM (Support Vector Machine).
53
BIBLIOGRAFIA
ADLER, S. The slashdot effect: an analysis of three internet publications. Linux Gazette, v. 38,
p. 2, 1999.
ANDREWS, M. et al. Clustering and server selection using passive monitoring. In: IEEE. IN-
FOCOM 2002. Twenty-First Annual Joint Conference of the IEEE Computer and Communica-
tions Societies. Proceedings. IEEE. [S.l.], 2002. v. 3, p. 17171725.
ARLITT, M.; JIN, T. A workload characterization study of the 1998 world cup web site.
Network, IEEE, IEEE, v. 14, n. 3, p. 3037, 2000.
BAI, Y. et al. An efficient load balancing technology in cdn. In: IEEE. Fuzzy Systems and
Knowledge Discovery, 2009. FSKD09. Sixth International Conference on. [S.l.], 2009. v. 7, p.
510514.
BARBIR, A. et al. An architecture for open pluggable edge services (opes). Internet Enginee-
ring Task Force RFC, v. 3835, 2004.
BARTOLINI, N.; CASALICCHIO, E.; TUCCI, S. A walk through content delivery networks.
Performance Tools and Applications to Networked Systems, Springer, p. 125, 2004.
BATUNER, O. et al. Policy, authorization, and enforcement requirements of the open pluggable
edge services (opes). Policy, 2004.
BERKELEY, UC; ISI, USC. The network simulator ns-2. Part of the VIN T project. Available
from http://www. isi. edu/nsnam/ns, 1998.
BUYYA, R. et al. A case for peering of content delivery networks. Distributed Systems Online,
IEEE, IEEE, v. 7, n. 10, p. 33, 2006.
CARDELLINI, V.; COLAJANNI, M.; YU, P.S. Request redirection algorithms for distributed
web systems. Parallel and Distributed Systems, IEEE Transactions on, IEEE, v. 14, n. 4, p.
355368, 2003.
CARLSSON, J. Services over ip: Delivering new value through next-generation networks. An-
nual review of communications, v. 59, p. 379387, 2009.
CECE, F. et al. An extended ns-2 for validation of load balancing algorithms in content delivery
networks. In: ICST (INSTITUTE FOR COMPUTER SCIENCES, SOCIAL-INFORMATICS
AND TELECOMMUNICATIONS ENGINEERING). Proceedings of the 3rd International
ICST Conference on Simulation Tools and Techniques. [S.l.], 2010. p. 32.
CHEN, C.M. et al. Scalable request routing with next-neighbor load sharing in multi-server en-
vironments. In: IEEE. Advanced Information Networking and Applications, 2005. AINA 2005.
19th International Conference on. [S.l.], 2005. v. 1, p. 441446.
54
CHEN, J.B.; LIAO, S.J. A fuzzy-based decision approach for supporting multimedia content
request routing in cdn. In: IEEE. Parallel and Distributed Processing with Applications (ISPA),
2010 International Symposium on. [S.l.], 2010. p. 4651.
COOPER, I.; MELVE, I.; TOMLINSON, G. Internet web replication and caching taxonomy.
2001.
DAHLIN, M. Interpreting stale load information. Parallel and Distributed Systems, IEEE Tran-
sactions on, IEEE, v. 11, n. 10, p. 10331047, 2000.
DAHLIN, M. Interpreting stale load information. Parallel and Distributed Systems, IEEE Tran-
sactions on, IEEE, v. 11, n. 10, p. 10331047, 2000.
DAVISON, B.D. A web caching primer. Internet Computing, IEEE, IEEE, v. 5, n. 4, p. 3845,
2001.
DAY, M. et al. A model for content internetworking (cdi). Work in Progress, 2003.
DEOLASEE, P. et al. Adaptive push-pull: disseminating dynamic web data. In: ACM. Procee-
dings of the 10th international conference on World Wide Web. [S.l.], 2001. p. 265274.
DOUGLIS, F.; KAASHOEK, M.F. Guest editors introduction: Scalable internet services. IEEE
Internet Computing, IEEE Computer Society, p. 3637, 2001.
FEI, Z.M. et al. A novel server selection technique for improving the response time of a re-
plicated service. In: IEEE. INFOCOM98. Seventeenth Annual Joint Conference of the IEEE
Computer and Communications Societies. Proceedings. IEEE. [S.l.], 1998. v. 2, p. 783791.
GALLETTA, D.F. Web site delays: How tolerant are users? Tese (Doutorado) Citeseer,
2002.
HENNING, P.C. Internet@ rnp. br: um novo recurso de acesso informao. Cincia da Infor-
mao, v. 22, n. 1, 1993.
HOFMANN, M.; BEAUMONT, L.R. Content networking: architecture, protocols, and prac-
tice. [S.l.]: Morgan Kaufmann Pub, 2005.
HUFFAKER, B. et al. Distance metrics in the internet. In: Proc. of IEEE International Tele-
communications Symposium (ITS). [S.l.: s.n.], 2002.
KANGASHARJU, J.; ROBERTS, J.; ROSS, K.W. Object replication strategies in content dis-
tribution networks. Computer Communications, Elsevier, v. 25, n. 4, p. 376383, 2002.
KARGER, D. et al. Web caching with consistent hashing. Computer Networks, Elsevier, v. 31,
n. 11, p. 12031213, 1999.
KNIGHT, S. et al. The internet topology zoo. Selected Areas in Communications, IEEE Journal
on, IEEE, v. 29, n. 9, p. 17651775, 2011.
KPSELL, S. Low latency anonymous communicationhow long are users willing to wait?
Emerging Trends in Information and Communication Security, Springer, p. 221237, 2006.
KRISHNAMURTHY, B.; WILLS, C.; ZHANG, Y. On the use and performance of content
distribution networks. In: ACM. Proceedings of the 1st ACM SIGCOMM Workshop on Internet
Measurement. [S.l.], 2001. p. 169182.
LI, B. et al. On the optimal placement of web proxies in the internet. In: IEEE. INFOCOM99.
Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies.
Proceedings. IEEE. [S.l.], 1999. v. 3, p. 12821290.
LIMA, O.P.; PHILIPS, J.; CORDINI, J. Localizao geodsica da linha de preamar mdia de
1831lmp/1831, com vistas demarcao dos terrenos de marinha e seus acrescidos. In: XXI
Congresso Brasileiro de Cartografia, Belo HorizonteMG. [S.l.: s.n.], 2002. v. 29.
MANFREDI, S.; OLIVIERO, F.; ROMANO, S.P. A distributed control law for load balancing
in content delivery networks. 2012.
MANFREDI, S.; OLIVIERO, F.; ROMANO, S.P. A distributed control law for load balancing
in content delivery networks. 2012.
MAO, Z.M. et al. A precise and efficient evaluation of the proximity between web clients and
their local dns servers. In: USENIX Annual Technical Conference. [S.l.: s.n.], 2002. p. 229242.
MCMANUS, P.R. A passive system for server selection within mirrored resource environments
using as path length heuristics. AppliedTheory Communications, New York, 1999.
MEENEGHAN, P.; DELANEY, D. An introduction to ns, nam and otcl scripting. National
University of Ireland, 2004.
MITZENMACHER, M.D. The power of two choices in randomized load balancing. Tese (Dou-
torado) Citeseer, 1996.
56
MOORE, RT. Gridnet. Interim Report National Bureau of Standards, Washington, DC. Inst. for
Computer Sciences and Technology., v. 1, 1980.
MOTWANI, R.; RAGHAVAN, P. Randomized algorithms. [S.l.]: Chapman & Hall/CRC, 2010.
NAUCK, D.; KLAWONN, F.; KRUSE, R. Foundations of neuro-fuzzy systems. [S.l.]: John
Wiley & Sons, Inc., 1997.
NI, J.; TSANG, D.H.K. Large-scale cooperative caching and application-level multicast in mul-
timedia content delivery networks. Communications Magazine, IEEE, IEEE, v. 43, n. 5, p. 98
105, 2005.
NYGREN, E.; SITARAMAN, R.K.; SUN, J. The akamai network: A platform for high-
performance internet applications. ACM SIGOPS Operating Systems Review, ACM, v. 44, n. 3,
p. 219, 2010.
OLSHEFSKI, D.; NIEH, J.; AGRAWAL, D. Using certes to infer client response time at the
web server. ACM Transactions on Computer Systems (TOCS), ACM, v. 22, n. 1, p. 4993, 2004.
PALLIS, G.; VAKALI, A. Insight and perspectives for content delivery networks. Communica-
tions of the ACM, ACM, v. 49, n. 1, p. 101106, 2006.
PARTRIDGE, C.; MENDEZ, T.; MILLIKEN, W. Host anycasting service. [S.l.], 1993.
PASSOS, E.; GOLDSCHMIDT, R. Data Mining: um guia prtico. [S.l.]: Rio de janeiro: Else-
vier, 2005.
PATHAN, M.; BUYYA, R. A taxonomy of cdns. Content delivery networks, Springer, p. 3377,
2008.
PIERRE, G.; STEEN, M. Van. Globule: a collaborative content delivery network. Communica-
tions Magazine, IEEE, IEEE, v. 44, n. 8, p. 127133, 2006.
QIU, L.; PADMANABHAN, V.N.; VOELKER, G.M. On the placement of web server replicas.
In: IEEE. INFOCOM 2001. Twentieth Annual Joint Conference of the IEEE Computer and
Communications Societies. Proceedings. IEEE. [S.l.], 2001. v. 3, p. 15871596.
RABINOVICH, M.; AGGARWAL, A. Radar: A scalable architecture for a global web hosting
service. Computer Networks, Elsevier, v. 31, n. 11, p. 15451561, 1999.
RABINOVICH, M.; SPATSCHECK, O. Web caching and replication. SIGMOD Record, v. 32,
n. 4, p. 107, 2003.
SIVASUBRAMANIAN, S. et al. Replication for web hosting systems. ACM Computing Surveys
(CSUR), ACM, v. 36, n. 3, p. 291334, 2004.
SU, A.J. et al. Drafting behind akamai (travelocity-based detouring). In: ACM. ACM SIG-
COMM Computer Communication Review. [S.l.], 2006. v. 36, n. 4, p. 435446.
57
VAKALI, A.; PALLIS, G. Content delivery networks: Status and trends. Internet Computing,
IEEE, IEEE, v. 7, n. 6, p. 6874, 2003.
VALLOPPILLIL, V.; ROSS, K.W. Cache array routing protocol v1. 1998.
VERMA, D.C. Content distribution networks. [S.l.]: Wiley Online Library, 2002.
WANG, J.; SHARMAN, R.; RAMESH, R. Shared content management in replicated web sys-
tems: A design framework using problem decomposition, controlled simulation, and feedback
learning. Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions
on, IEEE, v. 38, n. 1, p. 110124, 2008.
WANG, L.X.; MENDEL, J.M. Generating fuzzy rules by learning from examples. Systems,
Man and Cybernetics, IEEE Transactions on, IEEE, v. 22, n. 6, p. 14141427, 1992.
WESSELS, D.; CLAFFY, K. Application of internet cache protocol (icp), version 2. 1997.
XU, Z.; HUANG, R. Performance study of load balancing algorithms in distributed web server
systems. CS213 Parallel and Distributed Processing Project Report, 2009.
ZADEH, L.A. Fuzzy sets. Information and control, Elsevier, v. 8, n. 3, p. 338353, 1965.
ZISAPEL, R.; PELESS, A. Load balancing. [S.l.]: Google Patents, jun. 19 2001. US Patent
6,249,801.
APNDICE
59
A lgica fuzzy uma extenso da lgica booleana que admite valores entre 0 e 1, sendo
possvel avaliar conceitos no quantificveis e imprecisos. Por exemplo, enquanto na lgica
booleana a avaliao de uma temperatura poderia ser entre quente, no-quente, equivalendo aos
valores 0 e 1, na lgica fuzzy, essa avaliao poderia envolver outros estados (muito quente,
quente, morno, mdio, frio, muito frio).
1 se e somente se x A
fA (x) = (A.1)
0 se e somente se x
/A
Na figura 20, pode-se obsevar que a funo de pertinncia baixo tem valor 1 at 1, 50m,
60
sendo a nica presente nesse intevalo. Isso quer dizer que, nesse intervalo, a altura definitiva-
mente baixa.
possvel observar tambm que h alturas onde somente uma funo de pertinncia
tem valor diferente de zero e h alturas que possuem mais de uma funo de pertinncia asso-
ciada.
A.1 Operadores
Assim como na lgica clssica, alguns operadores so definidos para a lgica fuzzy,
aqui so apresentados os principais. Para exemplificar, sero utilizados os conjuntos Baixo e
Mdio, conforme a Figura 21.
A unio de dois conjuntos fuzzy um conjunto fuzzy cuja pertinncia a mxima dos
dois conjuntos, sendo representado por:
A0 (x) = 1 A (x) x X
A = se e somente se A (x) = 0 x X
Dois conjuntos fuzzy so iguais se suas pertinncias forem iguais para todo x:
63
fR (x, z) = fPQ (x, z) = {(x, z), max[min( fP (x, y), fQ (y, z))]} (A.3)
1 0, 4 0 0, 8 0, 9 1
R1 = 0, 5 0, 7 0, 9 e R2 = 0, 6 0, 3 0, 8
0, 2 1 0, 4 0, 1 0, 2 0, 4
Fazendo a primeira linha de R1 com a primeira coluna de R2, tem-se o seguinte cl-
culo:
= [1 0, 8] [0, 4 0, 6] [0 0, 1] = 0, 8 0, 4 0 = 0, 8
64
0, 6 0, 3 0, 8
fR (x, z) = fPQ (x, z) = {(x, z), max[( fP (x, y) fQ (y, z))]} (A.4)
0, 8 0, 9 1
R3 = 0, 42 0, 45 0, 56
0, 6 0, 3 0, 8
A.3.1 Fuzzificao
Essa etapa realiza um mapeamento dos dados de entrada, geralmente nmericos e pre-
cisos, para os conjuntos fuzzy. Para isso, so utilizadas as funes de pertinncia para verificar
o quanto esse dado pertence a uma determinada classificao.
altura, respectivamente, e o resultado das pertinncia dessas funes para a pessoa do exemplo.
Aps calcular a pertinncia para o exemplo, obtm-se trs valores fuzzy. Peso "leve"com
pertinncia 0.5, peso "mdio"com pertinncia 0.25 e altura "mediano"com pertinncia 0.75. Es-
ses valores so o resultado da fase de fuzzificao que sero tratados na prxima fase.
A.3.2 Inferncia
De acordo com a sada da fase de fuzzificao, onde h valores diferentes de zero para
as funes de pertinncia peso leve com 0.5, peso mdio com pertinncia 0.25 e altura mediano
com pertinncia 0.75, ento so escolhidas as regras de nmero 2 e 5.
66
Como o "E"em lgica fuzzy representado como mnimo, ento para a regra 2, onde a
primeira condio tem valor 0.5 e a segunda tem condio 0.75, o resultado 0.5. Para a regra
nmero 5, tem-se como entrada a primeira condio com valor 0.25 e a segunda condio com
valor 0.75, resultando no valor 0.25.
A.3.3 Deffuzificao
Para essa fase, h vrios mtodos de clculo disponveis na literatura, sendo os mais
empregados o mtodo do centride, centro da soma e mdia dos mximos.
A integrao entre sistemas de inferncia fuzzy com redes neurais, originando os sis-
temas neuro-fuzzy, ou com algoritmos genticos tem se mostrado adequada para o ajuste das
funes de pertinncia e at mesmo para criao da base de regras (NAUCK; KLAWONN;
KRUSE, 1997) (LINDEN, 2006).
69